SlideShare a Scribd company logo
1 of 28
STACK (TUMPUKAN)
Amidatus Sholihat
2
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
3
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
4
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
5
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;
6
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!
7
Program Stack (2)
Ilustrasi Stack pada saat inisialisasi!
8
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
9
Program Stack (4)
• Ilustrasi Stack pada kondisi Full
10
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!
11
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.
12
Program Stack (7)
13
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
14
Program Stack (9)
15
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!
16
Program Stack (11)
17
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 +
18
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.
19
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
20
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.
21
Notasi Aritmatik
• Notasi INFIX :
– operand operator operand : A + B
• Notasi PREFIX :
– operator operand operand : + A B
• Notasi POSTFIX :
– operand operand operator : A B +
22
Prioritas Pengerjaan Notasi Aritmatik
1. Tanda kurung : ( )
2. Eksponensial atau pangkat : ^
3. Perkalian, Pembagian : *, /
4. Penjumlahan, Pengurangan : +, -
23
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
24
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*-
25
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
26
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+
27
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))
28
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

More Related Content

What's hot

MS EXCEL VLOOKUP DAN HLOOKUP.pptx
MS EXCEL VLOOKUP DAN HLOOKUP.pptxMS EXCEL VLOOKUP DAN HLOOKUP.pptx
MS EXCEL VLOOKUP DAN HLOOKUP.pptxNenengNurazizah1
 
Bab 6 adder
Bab 6 adderBab 6 adder
Bab 6 adderpersonal
 
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)STRosidah
 
sistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahsistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahDhiah Febri
 
Gerbang logika
Gerbang logikaGerbang logika
Gerbang logikaptsumaye
 
Evolusi dan kinerja komputer
Evolusi dan kinerja komputerEvolusi dan kinerja komputer
Evolusi dan kinerja komputerAnzhor Muhajir
 
Gerbang logika
Gerbang logikaGerbang logika
Gerbang logikaIPA 2014
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedFrance Rhezhek
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)Kelinci Coklat
 
Bab 7 rankaian kombinasional data transmisi
Bab 7 rankaian kombinasional data transmisiBab 7 rankaian kombinasional data transmisi
Bab 7 rankaian kombinasional data transmisipersonal
 
Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Lusiana Diyan
 
Operasi arithmatika dan logika
Operasi arithmatika dan logikaOperasi arithmatika dan logika
Operasi arithmatika dan logikaHata Netral
 
Perangkat input dan output.ppt 2
Perangkat input dan output.ppt 2Perangkat input dan output.ppt 2
Perangkat input dan output.ppt 2Rahmat Sholeh
 

What's hot (20)

MS EXCEL VLOOKUP DAN HLOOKUP.pptx
MS EXCEL VLOOKUP DAN HLOOKUP.pptxMS EXCEL VLOOKUP DAN HLOOKUP.pptx
MS EXCEL VLOOKUP DAN HLOOKUP.pptx
 
Bab 3 pohon (tree)
Bab 3   pohon (tree)Bab 3   pohon (tree)
Bab 3 pohon (tree)
 
Tipe data dan variabel
Tipe data dan variabelTipe data dan variabel
Tipe data dan variabel
 
Bab 6 adder
Bab 6 adderBab 6 adder
Bab 6 adder
 
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
Makalah teori antrian (SISTEM ANTRIAN MM TAK HINGGA)
 
sistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahsistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlah
 
Gerbang logika
Gerbang logikaGerbang logika
Gerbang logika
 
Evolusi dan kinerja komputer
Evolusi dan kinerja komputerEvolusi dan kinerja komputer
Evolusi dan kinerja komputer
 
Gerbang logika
Gerbang logikaGerbang logika
Gerbang logika
 
Pertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau TumpukanPertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau Tumpukan
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embedded
 
Data mining 1 pengantar
Data mining 1   pengantarData mining 1   pengantar
Data mining 1 pengantar
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)
 
Bab 7 rankaian kombinasional data transmisi
Bab 7 rankaian kombinasional data transmisiBab 7 rankaian kombinasional data transmisi
Bab 7 rankaian kombinasional data transmisi
 
Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)
 
Operasi arithmatika dan logika
Operasi arithmatika dan logikaOperasi arithmatika dan logika
Operasi arithmatika dan logika
 
Perangkat input dan output.ppt 2
Perangkat input dan output.ppt 2Perangkat input dan output.ppt 2
Perangkat input dan output.ppt 2
 
Bab 2 gerbang logika
Bab 2   gerbang logikaBab 2   gerbang logika
Bab 2 gerbang logika
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 

Viewers also liked

โครงงานคอมฯ
โครงงานคอมฯโครงงานคอมฯ
โครงงานคอมฯsensitive_area
 
7+ tips for better intranet search
7+ tips for better intranet search7+ tips for better intranet search
7+ tips for better intranet searchIntranätverk
 
Roma & Il Vaticano
Roma & Il VaticanoRoma & Il Vaticano
Roma & Il Vaticanodschmickle
 
2014 cwc 10 steps to editing final
2014 cwc   10 steps to editing final2014 cwc   10 steps to editing final
2014 cwc 10 steps to editing finalIola Goulton
 
Мастер-группа "Три ключика к сердцу ребенка"
Мастер-группа "Три ключика к сердцу ребенка"Мастер-группа "Три ключика к сердцу ребенка"
Мастер-группа "Три ключика к сердцу ребенка"Олег Николаевич Сюрин
 
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranät
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranätUtmaningarna med att införa ett uppgifts- och medarbetarstyrt intranät
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranätIntranätverk
 
презентация Microsoft power point (3)
презентация Microsoft power point (3)презентация Microsoft power point (3)
презентация Microsoft power point (3)Maxibonko
 
Så gör du intranätet tillgängligt för alla
Så gör du intranätet tillgängligt för allaSå gör du intranätet tillgängligt för alla
Så gör du intranätet tillgängligt för allaIntranätverk
 
Cusco the imperial city
Cusco  the imperial cityCusco  the imperial city
Cusco the imperial cityDonna6760
 
How to: Recommendation Letters for Grad School Abroad (and beyond...)
How to: Recommendation Letters for Grad School Abroad (and beyond...) How to: Recommendation Letters for Grad School Abroad (and beyond...)
How to: Recommendation Letters for Grad School Abroad (and beyond...) Jacob Bacon
 
One group intranet at Castellum
One group intranet at CastellumOne group intranet at Castellum
One group intranet at CastellumIntranätverk
 
Non linear powerpoint byron lowe
Non linear powerpoint byron loweNon linear powerpoint byron lowe
Non linear powerpoint byron lowebyronlowe2323
 
Diving in Deeper with Twitter
Diving in Deeper with TwitterDiving in Deeper with Twitter
Diving in Deeper with TwitterLucy Martin
 
Final report pharmacy clinical intervention
Final report   pharmacy clinical interventionFinal report   pharmacy clinical intervention
Final report pharmacy clinical interventionamanda8984
 
7 tips för bättre intranätsök
7 tips för bättre intranätsök7 tips för bättre intranätsök
7 tips för bättre intranätsökIntranätverk
 

Viewers also liked (20)

โครงงานคอมฯ
โครงงานคอมฯโครงงานคอมฯ
โครงงานคอมฯ
 
7+ tips for better intranet search
7+ tips for better intranet search7+ tips for better intranet search
7+ tips for better intranet search
 
Roma & Il Vaticano
Roma & Il VaticanoRoma & Il Vaticano
Roma & Il Vaticano
 
Infographic - Modern CX
Infographic - Modern CXInfographic - Modern CX
Infographic - Modern CX
 
2014 cwc 10 steps to editing final
2014 cwc   10 steps to editing final2014 cwc   10 steps to editing final
2014 cwc 10 steps to editing final
 
Мастер-группа "Три ключика к сердцу ребенка"
Мастер-группа "Три ключика к сердцу ребенка"Мастер-группа "Три ключика к сердцу ребенка"
Мастер-группа "Три ключика к сердцу ребенка"
 
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranät
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranätUtmaningarna med att införa ett uppgifts- och medarbetarstyrt intranät
Utmaningarna med att införa ett uppgifts- och medarbetarstyrt intranät
 
презентация Microsoft power point (3)
презентация Microsoft power point (3)презентация Microsoft power point (3)
презентация Microsoft power point (3)
 
Dresden #6
Dresden #6Dresden #6
Dresden #6
 
Så gör du intranätet tillgängligt för alla
Så gör du intranätet tillgängligt för allaSå gör du intranätet tillgängligt för alla
Så gör du intranätet tillgängligt för alla
 
Cusco the imperial city
Cusco  the imperial cityCusco  the imperial city
Cusco the imperial city
 
Kharkiv #4
Kharkiv #4Kharkiv #4
Kharkiv #4
 
How to: Recommendation Letters for Grad School Abroad (and beyond...)
How to: Recommendation Letters for Grad School Abroad (and beyond...) How to: Recommendation Letters for Grad School Abroad (and beyond...)
How to: Recommendation Letters for Grad School Abroad (and beyond...)
 
One group intranet at Castellum
One group intranet at CastellumOne group intranet at Castellum
One group intranet at Castellum
 
Non linear powerpoint byron lowe
Non linear powerpoint byron loweNon linear powerpoint byron lowe
Non linear powerpoint byron lowe
 
Diving in Deeper with Twitter
Diving in Deeper with TwitterDiving in Deeper with Twitter
Diving in Deeper with Twitter
 
Ii matter
Ii matter Ii matter
Ii matter
 
Final report pharmacy clinical intervention
Final report   pharmacy clinical interventionFinal report   pharmacy clinical intervention
Final report pharmacy clinical intervention
 
7 tips för bättre intranätsök
7 tips för bättre intranätsök7 tips för bättre intranätsök
7 tips för bättre intranätsök
 
Com
ComCom
Com
 

Similar to STACK DAN NOTASI ARITMATIK

Similar to STACK DAN NOTASI ARITMATIK (20)

Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
 
Bab 4 stack_tumpukan_
Bab 4 stack_tumpukan_Bab 4 stack_tumpukan_
Bab 4 stack_tumpukan_
 
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
 
5 STACK
5 STACK5 STACK
5 STACK
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Tugas
TugasTugas
Tugas
 
Tugas
TugasTugas
Tugas
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
STACK.pptx
STACK.pptxSTACK.pptx
STACK.pptx
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukan
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
4 queue2
4 queue24 queue2
4 queue2
 
Pertemuan 4 ok
Pertemuan 4 okPertemuan 4 ok
Pertemuan 4 ok
 
3 stack2
3 stack23 stack2
3 stack2
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 
Stack
StackStack
Stack
 
Pertemuan 5 revisijan2013-mhs
Pertemuan 5 revisijan2013-mhsPertemuan 5 revisijan2013-mhs
Pertemuan 5 revisijan2013-mhs
 

More from muissyahril

Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2muissyahril
 
Sd pertemuan 3 & 4
Sd   pertemuan 3 & 4Sd   pertemuan 3 & 4
Sd pertemuan 3 & 4muissyahril
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6muissyahril
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6muissyahril
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)muissyahril
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)muissyahril
 
Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2muissyahril
 

More from muissyahril (9)

Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2
 
Sd pertemuan 3 & 4
Sd   pertemuan 3 & 4Sd   pertemuan 3 & 4
Sd pertemuan 3 & 4
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Sd pertemuan 1 & 2
Sd   pertemuan 1 & 2Sd   pertemuan 1 & 2
Sd pertemuan 1 & 2
 

Recently uploaded

MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptx
MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptxMANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptx
MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptxnugrohoaditya12334
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Surveikustiyantidew94
 
kesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxkesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxAhmadSyajili
 
PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxnursariheldaseptiana
 
menghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalmenghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalHendriKurniawanP
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiCristianoRonaldo185977
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 
415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompokelmalinda2
 
Dasar Telekomunikasi Pengenalan dasar telekomunikasi
Dasar Telekomunikasi Pengenalan dasar  telekomunikasiDasar Telekomunikasi Pengenalan dasar  telekomunikasi
Dasar Telekomunikasi Pengenalan dasar telekomunikasidadan50
 
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanVULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanBungaCitraNazwaAtin
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxrikosyahputra0173
 
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanamalaguswan1
 
manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1YudiPradipta
 
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehSKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehBISMIAULIA
 

Recently uploaded (14)

MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptx
MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptxMANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptx
MANAJEMEN ASET DAN PENGADAAN BARANG_KEL 4_PEMANFAATAN BMN.pptx
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Survei
 
kesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxkesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptx
 
PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptx
 
menghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalmenghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normal
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 
415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok
 
Dasar Telekomunikasi Pengenalan dasar telekomunikasi
Dasar Telekomunikasi Pengenalan dasar  telekomunikasiDasar Telekomunikasi Pengenalan dasar  telekomunikasi
Dasar Telekomunikasi Pengenalan dasar telekomunikasi
 
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanVULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
 
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
 
manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1
 
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehSKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
 

STACK DAN NOTASI ARITMATIK

  • 2. 2 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
  • 3. 3 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
  • 4. 4 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
  • 5. 5 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;
  • 6. 6 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!
  • 7. 7 Program Stack (2) Ilustrasi Stack pada saat inisialisasi!
  • 8. 8 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
  • 9. 9 Program Stack (4) • Ilustrasi Stack pada kondisi Full
  • 10. 10 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!
  • 11. 11 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.
  • 13. 13 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
  • 15. 15 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!
  • 17. 17 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 +
  • 18. 18 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.
  • 19. 19 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
  • 20. 20 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.
  • 21. 21 Notasi Aritmatik • Notasi INFIX : – operand operator operand : A + B • Notasi PREFIX : – operator operand operand : + A B • Notasi POSTFIX : – operand operand operator : A B +
  • 22. 22 Prioritas Pengerjaan Notasi Aritmatik 1. Tanda kurung : ( ) 2. Eksponensial atau pangkat : ^ 3. Perkalian, Pembagian : *, / 4. Penjumlahan, Pengurangan : +, -
  • 23. 23 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
  • 24. 24 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*-
  • 25. 25 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
  • 26. 26 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+
  • 27. 27 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))
  • 28. 28 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