Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

Presentasi serupa


Presentasi berjudul: "Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta..."— Transcript presentasi:

1 Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

2 Definisi Kumpulan data yang seolaholah diletakkan di atas data yang lain. Operasi penambahan (penyisipan) dan pengambilan (penghapusan) prinsip pengolahannya adalah last-in first-out (LIFO). Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

3 Ilustrasi Tumpukan Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

4 OPERASI PADA TUMPUKAN Ada 2 operasi dasar tumpukan
Menyisipkan data (push) Menghapus data (pop) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

5 Operasi Push Perintah push digunakan untuk memasukkan data ke dalam tumpukan. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

6 Operasi Pop Operasi pop adalah operasi untuk menghapus elemen
Terletak pada posisi paling atas dari sebuah tumpukan Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

7 OPERASI PADA STACK – Cont.
1. buat stack (stack) - create membuat sebuah stack baru yang masih kosong spesifikasi: tujuan : mendefinisikan stack yang kosong input : stack syarat awal : tidak ada output stack : - (kosong) syarat akhir : stack dalam keadaan kosong Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

8 OPERASI PADA STACK – Cont.
2. stack kosong (stack) - empty fungsi untuk menentukan apakah stack dalam keadaan kosong atau tidak spesifikasi: tujuan : mengecek apakah stack dalam keadaan kosong input : stack syarat awal : tidak ada output : boolean syarat akhir : stack kosong bernilai true jika stack dalam keadaan kosong Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

9 OPERASI PADA STACK – Cont.
3. stack penuh (stack) - full fungsi untuk memeriksa apakah stack yang ada sudah penuh spesifikasi: tujuan : mengecek apakah stack dalam keadaan penuh input : stack syarat awal : tidak ada output : boolean syarat akhir : stack penuh bernilai true jika stack dalam keadaan penuh Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

10 OPERASI PADA STACK – Cont.
4. push (stack, info baru) menambahkan sebuah elemen kedalam stack. spesifikasi: tujuan : menambahkan elemen, info baru pada stack pada posisi paling atas input : stack dan Info baru syarat awal : stack tidak penuh output : stack syarat akhir : stack bertambah satu elemen Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

11 OPERASI PADA STACK – Cont.
5. pop (stack, info pop) mengambil elemen teratas dari stack spesifikasi: tujuan : mengeluarkan elemen dari stack yang berada pada posisi paling atas input : stack syarat awal : stack tidak kosong output : stack dalam info pop syarat akhir : stack berkurang satu elemen Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

12 CONTOH PEMANFAATAN STACK
Notasi Infix Prefix Notasi Infix Postfix Pemanfaatan stack antara lain untuk menulis ungkapan dengan menggunakan notasi tertentu. Contoh : ( A + B ) * ( C – D ) Tanda kurung selalu digunakan dalam penulisan ungkapan numeris untuk mengelompokkan bagian mana yang akan dikerjakan terlebih dahulu. Dari contoh ( A + B ) akan dikerjakan terlebih dahulu, kemudian baru ( C – D ) dan terakhir hasilnya akan dikalikan. A + B * C – D B * C akan dikerjakan terlebih dahulu, hasil yang didapat akan berbeda dengan hasil notasi dengan tanda kurung. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

13 Notasi Prefix Cara penulisan ungkapan numeris.
“ Notasi Polish “ atau “ Notasi Prefix” artinya : Operator ditulis sebelum kedua operand yang akan disajikan. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

14 Algoritma Infix Ke Prefix :
Langkah 0: Baca ungkapan dalam notasi infix, misalnya S; Tentukan panjang ungkapan tersebut, misalnya N; Siapkan sebuah tumpukan kosong dan siapkan derajat masing – masing operator. Misalnya : * dan / berderajat 2, + dan – berderajat 1 dan ( berderajat 0 ). Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

15 Langkah 1: Dimulai dari I : N sampai 1, kerjakan langkah – langkah berikut : R = S ( I ) Test nilai R . Jika R adalah : Operand : Langsung ditulis Kurung buka : Pop dan tulis semua isi tumpukan sampai ujung tumpukan = ‘)‘, pop juga tanda ini tetapi tidak perlu ditulis . Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

16 Kurung tutup : Push kedalam tumpukan
Operator : Jika tumpukan kosong, atau derajat R lebih tinggi dibanding derajat ujung tumpukan, push operator kedalam tumpukan. Jika tidak pop ujung tumpukan dan tulis, kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di push. Langkah 2: Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

17 Notasi Infix Prefix Contoh : Proses konversi dari infix ke prefix :
= ( A + B ) * ( C – D ) = [ + A B ] * [ - C D ] = * [ + A B ] [ - C D ] = * + A B - C D Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

18 Contoh notasi prefix dari notasi infix : Infix Prefix A + B + A B
A + B – C A B C ( A + B ) * ( C – D ) * + A B – C D Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

19 Notasi Postfix Kebalikan notasi prefix
Lebih dikenal dengan Notasi Polish Terbalik ( Reverse Polish Notation atau RPN). Dalam hal ini operator ditulis sesudah operand. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

20 Algoritma Infix Ke Postfix :
Langkah 0: Baca ungkapan dalam notasi infix, misalnya S; Tentukan panjang ungkapan tersebut, misalnya N; Siapkan sebuah tumpukan kosong dan siapkan derajat masing – masing operator. Misalnya : * dan / berderajat 2, + dan – berderajat 1 dan ( berderajat 0 ). Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

21 Langkah 1: Dimulai dari I : 1 sampai N, kerjakan langkah –langkah berikut : R = S ( I ) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

22 Test nilai R . Jika R adalah :
Operand : Langsung ditulis Kurung buka : Push kedalam tumpukan Kurung tutup : Pop dan tulis semua isi tumpukan sampai ‘(‘, pop juga tanda ini tetapi tidak perlu ditulis Operator : Jika tumpukan kosong, atau derajat R lebih tinggi dibanding derajat ujung tumpukan, push operator kedalam tumpukan. Jika tidak pop ujung tumpukan dan tulis, kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di push. Langkah 2: Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya. Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

23 Notasi Infix Postfix Contoh : Proses konversi dari infix ke postfix :
= ( ) * ( ) = [ ] * [ ] = [ ] [ ] * = * Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

24 Contoh : Ubah ekspresi A+B. C+(D+E)
Contoh : Ubah ekspresi A+B*C+(D+E)*F ke dalam notasi postfix dengan menggunakan algoritma Dijkstra Masukan Keluaran STACK A+B*C+(D+E)*F +B*C+(D+E)*F B*C+(D+E)*F *C+(D+E)*F C+(D+E)*F +(D+E)*F (D+E)*F D+E)*F +E)*F E)*F )*F *F F kosong A AB ABC ABC*+ ABC*+D ABC*+DE ABC*+DE+ ABC*+DE+F ABC*+DE+F*+ + +* +( +(+ Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...

25 Contoh : Penggunaan notasi postfix dalam stack, misal :
* = 80 Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...


Download ppt "Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta..."

Presentasi serupa


Iklan oleh Google