STACK (TUMPUKAN)
SESI 4
2
Tujuan Pembelajaran
Materi
Tugas
Kegiatan Pembelajaran
Hal. 3
Hal. 4
Hal. 27
3
Tujuan Pembelajaran
• Mahasiswa mampu memahami terminologi
yang terkait dengan struktur data stack
• Mahasiswa mampu memahami operasi-
operasi yang ada dalam stack
• Mahasiswa mampu mengidentifikasi
permasalahan-permasalahan pemrograman
yang harus diselesaikan dengan
menggunakan stack, sekaligus
menyelesaikannya
4
Stack
• Stack bersifat LIFO (Last In First Out)
• “Benda yang terakhir masuk ke dalam
stack akan menjadi yang pertama
keluar dari stack
TV TV
VCD
Compo
TV
VCD
Compo
TV
VCD
Compo
5
Ilustrasi Stack
• Contohnya, karena kita menumpuk Compo di posisi terakhir,
maka Compo akan menjadi elemen teratas dalam tumpukan.
Sebaliknya, karena kita menumpuk Televisi pada saat pertama
kali, maka elemen Televisi menjadi elemen terbawah dari
tumpukan. Dan jika kita mengambil elemen dari tumpukan,
maka secara otomatis akan terambil elemen teratas, yaitu
Compo.
• Operasi-operasi/fungsi Stack
– Push : digunakan untuk menambah item pada stack pada
tumpukan paling atas
– Pop : digunakan untuk mengambil item pada stack pada
tumpukan paling atas
– Clear : digunakan untuk mengosongkan stack
– IsEmpty : fungsi yang digunakan untuk mengecek apakah
stack sudah kosong
– IsFull : fungsi yang digunakan untuk mengecek apakah
stack sudah penuh
6
Stack dengan Struct Array
• Definisikan Stack dengan menggunakan
struct
• Definisikan konstanta MAX_STACK
untuk menyimpan maksimum isi stack
• Buatlah variabel array data sebagai
implementasi stack
• Deklarasikan operasi-operasi/function di
atas dan buat implemetasinya
7
Program Stack
• Deklarasi MAX_STACK
#define MAX_STACK 10
• Deklarasi STACK dengan struct dan array data
typedef struct STACK{
int top;
char data[10][10];
};
• Deklarasi/buat variabel dari struct
STACK tumpuk;
8
Program Stack (2)
Inisialisasi Stack
• Pada mulanya isi top dengan -1, karena array
dalam C dimulai dari 0, yang berarti stack adalah
KOSONG!
• Top adalah suatu variabel penanda dalam
STACK yang menunjukkan elemen teratas Stack
sekarang. Top Of Stack akan selalu bergerak
hingga mencapai MAX of STACK sehingga
menyebabkan stack PENUH!
9
Program Stack (2)
Ilustrasi Stack pada saat inisialisasi!
10
Program Stack (3)
Fungsi IsFull
• Untuk memeriksa apakah stack sudah
penuh?
• Dengan cara memeriksa top of stack, jika
sudah sama dengan MAX_STACK-1
maka full, jika belum (masih lebih kecil
dari MAX_STACK-1) maka belum full
11
Program Stack (4)
• Ilustrasi Stack pada kondisi Full
12
Program Stack (5)
Fungsi IsEmpty
• Untuk memeriksa apakah stack masih kosong?
• Dengan cara memeriksa top of stack, jika masih -1 maka
berarti stack masih kosong!
13
Program Stack (6)
Fungsi Push
• Untuk memasukkan elemen ke stack, selalu
menjadi elemen teratas stack (yang ditunjuk oleh
TOS)
• Tambah satu (increment) nilai top of stack lebih
dahulu setiap kali ada penambahan elemen stack.
• Asalkan stack masih belum penuh, isikan data baru
ke stack berdasarkan indeks top of stack setelah
diincrement sebelumnya.
14
Program Stack (7)
15
Program Stack (8)
Fungsi Pop
• Untuk mengambil elemen teratas (data yang
ditunjuk oleh TOS) dari stack.
• Ambil dahulu nilai elemen teratas stack
dengan mengakses top of stack, tampilkan
nilai yang akan dipop, baru dilakukan
decrement nilai top of stack sehingga jumlah
elemen stack berkurang
16
Program Stack (9)
17
Program Stack (10)
• Fungsi Print
• Untuk menampilkan semua elemen-
elemen stack
• Dengan cara looping semua nilai array
secara terbalik, karena kita harus
mengakses dari indeks array tertinggi
terlebih dahulu baru ke indeks yang
kecil!
18
Program Stack (11)
19
Studi Kasus Stack
• Pembuatan Kalkulator SCIENTIFIC
– Misalkan operasi: 3 + 2 * 5
– Operasi di atas disebut notasi infiks,
notasi infiks tersebut harus diubah lebih
dahulu menjadi
– notasi postfix 3 + 2 * 5
– notasi postfiksnya adalah 2 5 * 3 +
20
Studi Kasus Stack (2)
• Pop Stack Soal:
• Jika berupa operand, maka masukkan ke Stack Hasil
• Jika berupa operator, maka:
– Pop nilai pertama dari Stack Hasil
– Pop nilai kedua dari Stack Hasil
– Lakukan operasi sesuai dengan operator yang didapat.
21
Studi Kasus Stack (3)
Operator * di pop dari Stack Soal, pop Stack Hasil dua kali,
yaitu 5 dan 2 kemudian, simpan 5 ke dalam variabel misalnya
a, dan 2 ke dalam variabel misalnya b.
Lalu lakukan operasi sesuai dengan operatornya,
b <operator> a
Jadi b * a, yaitu 2 * 5 kemudian hasilnya disimpan lagi ke
dalam StackHasil
22
Studi Kasus Stack (4)
• Kemudian lakukan langkah yang sama, sampai selesai.
• Pada contoh: operator + dipop dari Stack Soal, pop Stack
Hasil dua kali, yaitu 3, disimpan pada variabel a, dan 2,
disimpan pada variabel b. Kemudian lakukan operasi
sesuai dengan operatornya, b <operator> a
• Jadi b + a, yaitu 8 + 3 = 11.
23
Notasi Aritmatik
• Notasi INFIX :
– operand operator operand : A + B
• Notasi PREFIX :
– operator operand operand : + A B
• Notasi POSTFIX :
– operand operand operator : A B +
24
Prioritas Pengerjaan Notasi Aritmatik
1. Tanda kurung : ( )
2. Eksponensial atau pangkat : ^
3. Perkalian, Pembagian : *, /
4. Penjumlahan, Pengurangan : +, -
25
Infix ke Prefix Algorithm
Contoh
(A + B) – (C * D)
Untuk pengerjaan infix, perlu diperhatikan urutan
sebagai berikut:
1. Pengerjaan dalam kurung ke-1: (A+B), prefix-
nya adalah +AB
2. Pengerjaan dalam kurung ke-2: (C*D), prefix-
nya adalah *CD
3. Terakhir adalah operator -, +AB - *CD, prefix-
nya adalah -+AB*CD
26
Infix ke Postfix Algoritma
Contoh
(A + B) – (C * D)
Untuk pengerjaan infix, perlu diperhatikan urutan
sebagai berikut:
1. Pengerjaan dalam kurung ke-1: (A+B), postfix-
nya adalah AB+
2. Pengerjaan dalam kurung ke-2: (C*D), postfix-
nya adalah CD*
3. Terakhir adalah operator -, AB+ - CD*, postfix-
nya adalah AB+CD*-
27
Prefix ke Infix Algoritma
Contoh
+/*ABCD
Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya A
dan B, sehingga infix-nya adalah (A * B)
2. Cari operator ke-2: /, ambil dua operand sebelumnya (A
*B) dan C, sehingga infix-nya adalah ((A * B) / C)
3. Cari operator ke-3: +, ambil dua operand sebelumnya
((A * B)/C) dan C, sehingga infix-nya adalah ((A * B) /
C) + D
28
Prefix ke Postfix Algoritma
Contoh
+/*ABCD
Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya A
dan B, sehingga postfix-nya adalah AB*
2. Cari operator ke-2: /, ambil dua operand sebelumnya
AB* dan C, sehingga postfix-nya adalah AB*C/)
3. Cari operator ke-3: +, ambil dua operand sebelumnya
AB*C/ dan D, sehingga postfix-nya adalah AB*C/D+
29
Postfix ke Infix Algoritma
Contoh
ABCD*/-
Untuk pengerjaan postfix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya C
dan D, sehingga infix-nya adalah (C*D)
2. Cari operator ke-2: /, ambil dua operand sebelumnya B
dan (C*D), sehingga infix-nya adalah (B/(C*D))
3. Cari operator ke-3: -, ambil dua operand sebelumnya A
dan (B/(C*D)), sehingga infix-nya adalah A – (B/(C*D))
30
Postfix ke Prefix Algoritma
Contoh
ABCD*/-
Untuk pengerjaan postfix, mencari operator di mulai dari
operan terkini sebagai berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya C
dan D, sehingga prefix-nya *CD
2. Cari operator ke-2: /, ambil dua operand sebelumnya B
dan *CD, sehingga prefix-nya adalah /B*CD
3. Cari operator ke-3: -, ambil dua operand sebelumnya A
dan /B*CD, sehingga prefix-nya adalah –A/B*CD
31
Tugas
• Buatlah program menghitung dengan Algoritma
– Infix ke Prefix
– Prefix ke Postfix
– Postfix ke Infix
Menggunakan operan berupa angka dan operator (*, /,+,-)
dengan rumus yang diisikan dari keyboard

More Related Content

PPT
Bab 3 stack (tumpukan)
PPT
Bab 4 stack_tumpukan_
PPTX
Stack tumpukan
PPT
TI-struktur_data-stack_n_queue
PPT
Tistrukdat4
PDF
PPT
Fungsi rekursif, queue, stack
PDF
Algoritma dan Struktur Data - tumpukan
Bab 3 stack (tumpukan)
Bab 4 stack_tumpukan_
Stack tumpukan
TI-struktur_data-stack_n_queue
Tistrukdat4
Fungsi rekursif, queue, stack
Algoritma dan Struktur Data - tumpukan

What's hot (19)

PDF
Bab 8-stack-dan-queue
PDF
Stack tumpukan
PDF
Algoritma dan Struktur Data - antrian
PPTX
PDF
Queue antrian
PDF
4 queue2
PDF
Struktur data pertemuan 11
PDF
queue antrian
PPT
Bab 5 queue_antrian_
PPTX
Struktur data
PDF
Algoritma dan Struktur Data - Stack
PPTX
PPTX
Chapter 4b queue
PPT
Materi Struktur data QUEUE
PPTX
PPTX
Chapter 4a stack
PDF
Algoritma dan Struktur Data - Antrian
PPTX
Tugas
PPTX
Chapter 4 stack and queue
Bab 8-stack-dan-queue
Stack tumpukan
Algoritma dan Struktur Data - antrian
Queue antrian
4 queue2
Struktur data pertemuan 11
queue antrian
Bab 5 queue_antrian_
Struktur data
Algoritma dan Struktur Data - Stack
Chapter 4b queue
Materi Struktur data QUEUE
Chapter 4a stack
Algoritma dan Struktur Data - Antrian
Tugas
Chapter 4 stack and queue
Ad

Similar to Bab 4 stack (tumpukan) (20)

PPTX
Stack tumpukan
PDF
Stack_Queue.pdf
PPTX
Perkuliahan Perguruan Tinggi 02 Stack.pptx
PDF
Pertemuan 5 Stack atau Tumpukan
PPTX
Slide minggu 2 pertemuan 2 (struktur data1)
PPTX
STACK.pptx
PPT
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
PDF
Bab viii stack
PPT
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
PPT
Pertemuan 4 ok
PPTX
P4 - STACK - Algoritma dan Struktur Data.pptx
PPTX
Presentasi Stack atau Tumpukan Dalam Pembelajaran Algoritma.pptx
PPTX
05-STRUKDAT-STACK - Dalam struktur data, stack diartikan sebagai sekumpulan d...
DOCX
Laporan praktikum modul viii
PPTX
Ketoprak_PPT ADT Stack dan Queue.pptx
PDF
3 stack2
PPTX
Stack & queue by stanly maarende
PDF
Pertemuan 5 revisijan2013-mhs
PPT
2894065
PPT
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
Stack tumpukan
Stack_Queue.pdf
Perkuliahan Perguruan Tinggi 02 Stack.pptx
Pertemuan 5 Stack atau Tumpukan
Slide minggu 2 pertemuan 2 (struktur data1)
STACK.pptx
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
Bab viii stack
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
Pertemuan 4 ok
P4 - STACK - Algoritma dan Struktur Data.pptx
Presentasi Stack atau Tumpukan Dalam Pembelajaran Algoritma.pptx
05-STRUKDAT-STACK - Dalam struktur data, stack diartikan sebagai sekumpulan d...
Laporan praktikum modul viii
Ketoprak_PPT ADT Stack dan Queue.pptx
3 stack2
Stack & queue by stanly maarende
Pertemuan 5 revisijan2013-mhs
2894065
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
Ad

More from Fahuda E (20)

PPT
Bab 2 sorting array (1)
PPT
Bab 3 searching array (1)
PPTX
Materi 2: komponen game
PPTX
Materi 1: gdlc
PPTX
Materi 5: sprite
PPTX
Materi 4: lod
PPTX
Materi 3 rendering graphic dan game
PPTX
Materi 7 perangkat lunak sistem
PPTX
Materi 6 perangkat lunak aplikasi
PPTX
Materi 5 penyimpanan eksternal
PPTX
Materi 4 peranti keluaran
PPTX
Materi 3 peranti masukan
PPT
Struct
PPT
Rules tugas besar asd
PPT
Pointer
PPT
Bab 5 linked list
PPT
Bab 4 queue (antrian)
PPT
Bab 2 sorting array
PPTX
Array
PPT
Bab 3 searching array
Bab 2 sorting array (1)
Bab 3 searching array (1)
Materi 2: komponen game
Materi 1: gdlc
Materi 5: sprite
Materi 4: lod
Materi 3 rendering graphic dan game
Materi 7 perangkat lunak sistem
Materi 6 perangkat lunak aplikasi
Materi 5 penyimpanan eksternal
Materi 4 peranti keluaran
Materi 3 peranti masukan
Struct
Rules tugas besar asd
Pointer
Bab 5 linked list
Bab 4 queue (antrian)
Bab 2 sorting array
Array
Bab 3 searching array

Recently uploaded (20)

PDF
2. ATP Fase F - PA. Islam (1)-halaman-1-digabungkan.pdf
PDF
Aminullah Assagaf_B34_Statistik Ekonometrika_PLS SPSS.pdf
PPTX
Berpikir_Komputasional_Kelas5_IlustrasiKosong.pptx
PDF
Jurnal Kode Etik Guru Untuk Persyaratan PPG
PDF
Aminullah Assagaf_B34_Statistik Ekonometrika Terapan_22 Agus 2025.pdf
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
PDF
Konsep Dasar Nifas, Neonatus, Bayi, Balita dan Anak Pra Sekolah.pdf
PDF
MRT Tangguh, Indonesia Maju: Mewujudkan Transportasi Publik yang Aman, Nyaman...
PPTX
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx
PDF
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
PDF
Ilmu tentang pengembangan teknologi pembelajaran
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Rekayasa Kelas XII SMA Terbaru 2025
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Rekayasa Kelas 12 Terbaru 2025
PDF
Modul Ajar Deep Learning Seni Rupa Kelas 6 Kurikulum Merdeka
PDF
Modul Ajar Deep Learning Matematika Kelas 6 Kurikulum Merdeka
PDF
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
PDF
BukuKeterampilanMengajar-MNCPublishing2019.pdf
PPTX
Inkuiri_Kolaboratif_Pembelajaran_Mendalam (1).pptx
DOCX
Lembar Kerja 02 analisis studi kasus Inkuiri Kolaboratif.docx
2. ATP Fase F - PA. Islam (1)-halaman-1-digabungkan.pdf
Aminullah Assagaf_B34_Statistik Ekonometrika_PLS SPSS.pdf
Berpikir_Komputasional_Kelas5_IlustrasiKosong.pptx
Jurnal Kode Etik Guru Untuk Persyaratan PPG
Aminullah Assagaf_B34_Statistik Ekonometrika Terapan_22 Agus 2025.pdf
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
Konsep Dasar Nifas, Neonatus, Bayi, Balita dan Anak Pra Sekolah.pdf
MRT Tangguh, Indonesia Maju: Mewujudkan Transportasi Publik yang Aman, Nyaman...
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
Ilmu tentang pengembangan teknologi pembelajaran
Modul Ajar Pembelajaran Mendalam PKWU Rekayasa Kelas XII SMA Terbaru 2025
Modul Ajar Pembelajaran Mendalam PKWU Rekayasa Kelas 12 Terbaru 2025
Modul Ajar Deep Learning Seni Rupa Kelas 6 Kurikulum Merdeka
Modul Ajar Deep Learning Matematika Kelas 6 Kurikulum Merdeka
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
BukuKeterampilanMengajar-MNCPublishing2019.pdf
Inkuiri_Kolaboratif_Pembelajaran_Mendalam (1).pptx
Lembar Kerja 02 analisis studi kasus Inkuiri Kolaboratif.docx

Bab 4 stack (tumpukan)

  • 3. 3 Tujuan Pembelajaran • Mahasiswa mampu memahami terminologi yang terkait dengan struktur data stack • Mahasiswa mampu memahami operasi- operasi yang ada dalam stack • Mahasiswa mampu mengidentifikasi permasalahan-permasalahan pemrograman yang harus diselesaikan dengan menggunakan stack, sekaligus menyelesaikannya
  • 4. 4 Stack • Stack bersifat LIFO (Last In First Out) • “Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack TV TV VCD Compo TV VCD Compo TV VCD Compo
  • 5. 5 Ilustrasi Stack • Contohnya, karena kita menumpuk Compo di posisi terakhir, maka Compo akan menjadi elemen teratas dalam tumpukan. Sebaliknya, karena kita menumpuk Televisi pada saat pertama kali, maka elemen Televisi menjadi elemen terbawah dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen teratas, yaitu Compo. • Operasi-operasi/fungsi Stack – Push : digunakan untuk menambah item pada stack pada tumpukan paling atas – Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas – Clear : digunakan untuk mengosongkan stack – IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong – IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
  • 6. 6 Stack dengan Struct Array • Definisikan Stack dengan menggunakan struct • Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack • Buatlah variabel array data sebagai implementasi stack • Deklarasikan operasi-operasi/function di atas dan buat implemetasinya
  • 7. 7 Program Stack • Deklarasi MAX_STACK #define MAX_STACK 10 • Deklarasi STACK dengan struct dan array data typedef struct STACK{ int top; char data[10][10]; }; • Deklarasi/buat variabel dari struct STACK tumpuk;
  • 8. 8 Program Stack (2) Inisialisasi Stack • Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG! • Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH!
  • 9. 9 Program Stack (2) Ilustrasi Stack pada saat inisialisasi!
  • 10. 10 Program Stack (3) Fungsi IsFull • Untuk memeriksa apakah stack sudah penuh? • Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full
  • 11. 11 Program Stack (4) • Ilustrasi Stack pada kondisi Full
  • 12. 12 Program Stack (5) Fungsi IsEmpty • Untuk memeriksa apakah stack masih kosong? • Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong!
  • 13. 13 Program Stack (6) Fungsi Push • Untuk memasukkan elemen ke stack, selalu menjadi elemen teratas stack (yang ditunjuk oleh TOS) • Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan elemen stack. • Asalkan stack masih belum penuh, isikan data baru ke stack berdasarkan indeks top of stack setelah diincrement sebelumnya.
  • 15. 15 Program Stack (8) Fungsi Pop • Untuk mengambil elemen teratas (data yang ditunjuk oleh TOS) dari stack. • Ambil dahulu nilai elemen teratas stack dengan mengakses top of stack, tampilkan nilai yang akan dipop, baru dilakukan decrement nilai top of stack sehingga jumlah elemen stack berkurang
  • 17. 17 Program Stack (10) • Fungsi Print • Untuk menampilkan semua elemen- elemen stack • Dengan cara looping semua nilai array secara terbalik, karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke indeks yang kecil!
  • 19. 19 Studi Kasus Stack • Pembuatan Kalkulator SCIENTIFIC – Misalkan operasi: 3 + 2 * 5 – Operasi di atas disebut notasi infiks, notasi infiks tersebut harus diubah lebih dahulu menjadi – notasi postfix 3 + 2 * 5 – notasi postfiksnya adalah 2 5 * 3 +
  • 20. 20 Studi Kasus Stack (2) • Pop Stack Soal: • Jika berupa operand, maka masukkan ke Stack Hasil • Jika berupa operator, maka: – Pop nilai pertama dari Stack Hasil – Pop nilai kedua dari Stack Hasil – Lakukan operasi sesuai dengan operator yang didapat.
  • 21. 21 Studi Kasus Stack (3) Operator * di pop dari Stack Soal, pop Stack Hasil dua kali, yaitu 5 dan 2 kemudian, simpan 5 ke dalam variabel misalnya a, dan 2 ke dalam variabel misalnya b. Lalu lakukan operasi sesuai dengan operatornya, b <operator> a Jadi b * a, yaitu 2 * 5 kemudian hasilnya disimpan lagi ke dalam StackHasil
  • 22. 22 Studi Kasus Stack (4) • Kemudian lakukan langkah yang sama, sampai selesai. • Pada contoh: operator + dipop dari Stack Soal, pop Stack Hasil dua kali, yaitu 3, disimpan pada variabel a, dan 2, disimpan pada variabel b. Kemudian lakukan operasi sesuai dengan operatornya, b <operator> a • Jadi b + a, yaitu 8 + 3 = 11.
  • 23. 23 Notasi Aritmatik • Notasi INFIX : – operand operator operand : A + B • Notasi PREFIX : – operator operand operand : + A B • Notasi POSTFIX : – operand operand operator : A B +
  • 24. 24 Prioritas Pengerjaan Notasi Aritmatik 1. Tanda kurung : ( ) 2. Eksponensial atau pangkat : ^ 3. Perkalian, Pembagian : *, / 4. Penjumlahan, Pengurangan : +, -
  • 25. 25 Infix ke Prefix Algorithm Contoh (A + B) – (C * D) Untuk pengerjaan infix, perlu diperhatikan urutan sebagai berikut: 1. Pengerjaan dalam kurung ke-1: (A+B), prefix- nya adalah +AB 2. Pengerjaan dalam kurung ke-2: (C*D), prefix- nya adalah *CD 3. Terakhir adalah operator -, +AB - *CD, prefix- nya adalah -+AB*CD
  • 26. 26 Infix ke Postfix Algoritma Contoh (A + B) – (C * D) Untuk pengerjaan infix, perlu diperhatikan urutan sebagai berikut: 1. Pengerjaan dalam kurung ke-1: (A+B), postfix- nya adalah AB+ 2. Pengerjaan dalam kurung ke-2: (C*D), postfix- nya adalah CD* 3. Terakhir adalah operator -, AB+ - CD*, postfix- nya adalah AB+CD*-
  • 27. 27 Prefix ke Infix Algoritma Contoh +/*ABCD Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai berikut: 1. Cari operator ke-1: *, ambil dua operand sebelumnya A dan B, sehingga infix-nya adalah (A * B) 2. Cari operator ke-2: /, ambil dua operand sebelumnya (A *B) dan C, sehingga infix-nya adalah ((A * B) / C) 3. Cari operator ke-3: +, ambil dua operand sebelumnya ((A * B)/C) dan C, sehingga infix-nya adalah ((A * B) / C) + D
  • 28. 28 Prefix ke Postfix Algoritma Contoh +/*ABCD Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai berikut: 1. Cari operator ke-1: *, ambil dua operand sebelumnya A dan B, sehingga postfix-nya adalah AB* 2. Cari operator ke-2: /, ambil dua operand sebelumnya AB* dan C, sehingga postfix-nya adalah AB*C/) 3. Cari operator ke-3: +, ambil dua operand sebelumnya AB*C/ dan D, sehingga postfix-nya adalah AB*C/D+
  • 29. 29 Postfix ke Infix Algoritma Contoh ABCD*/- Untuk pengerjaan postfix, perlu diperhatikan urutan sebagai berikut: 1. Cari operator ke-1: *, ambil dua operand sebelumnya C dan D, sehingga infix-nya adalah (C*D) 2. Cari operator ke-2: /, ambil dua operand sebelumnya B dan (C*D), sehingga infix-nya adalah (B/(C*D)) 3. Cari operator ke-3: -, ambil dua operand sebelumnya A dan (B/(C*D)), sehingga infix-nya adalah A – (B/(C*D))
  • 30. 30 Postfix ke Prefix Algoritma Contoh ABCD*/- Untuk pengerjaan postfix, mencari operator di mulai dari operan terkini sebagai berikut: 1. Cari operator ke-1: *, ambil dua operand sebelumnya C dan D, sehingga prefix-nya *CD 2. Cari operator ke-2: /, ambil dua operand sebelumnya B dan *CD, sehingga prefix-nya adalah /B*CD 3. Cari operator ke-3: -, ambil dua operand sebelumnya A dan /B*CD, sehingga prefix-nya adalah –A/B*CD
  • 31. 31 Tugas • Buatlah program menghitung dengan Algoritma – Infix ke Prefix – Prefix ke Postfix – Postfix ke Infix Menggunakan operan berupa angka dan operator (*, /,+,-) dengan rumus yang diisikan dari keyboard