1 / 16

STACK Kuliah Struktur Data Pascal

STACK Kuliah Struktur Data Pascal. Definisi. Adalah tumpukan data yang seolah-olah ada data di atas data lain. data yang terakhir terakhir kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix)

don
Télécharger la présentation

STACK Kuliah Struktur Data Pascal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STACKKuliah Struktur Data Pascal

  2. Definisi • Adalah tumpukan data yang seolah-olah ada data di atas data lain. • data yang terakhir terakhir kali dimasukkan akan pertama kali keluar dari stack tersebut. • Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix) • Ciri-Ciri Stack : 1.Elemen TOP (puncak) diketahui 2.penyisipan dan penghapusan elemen selalu dilakukan di TOP 3. LIFO ( Last In First Out) Contoh : 5. Guntur, 4. aditya, 3.Tyas, 2.Hendra, 1.Dyah • Data nomor 1 datang/masuk duluan, data nomor 5 yang paling atas yang keluar terlebih dahulu. • Suatu metode untuk Input dan hapus di dalam memori komputer

  3. LIFO • Jika ingin mengambil 90, maka harus melakukan POP untuk 37 dan 12 terlebih dahulu kemudian POP untuk 90

  4. Pemanfaatan Stack : • Perhitungan ekspresi aritmatika (posfix) • algoritma back traking (runut balik) • algoritma rekursif

  5. Algoritma • Input/tambah data Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan. • Pengambilan data Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya tempat Dan posisi tumpukann yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.

  6. Operasi pada STACK • CREATE • Membuat stack baru yang masih kosong. Procedure create; Begin Stack.top:=0; End; • FULL Untuk memeriksa apakah stack sudah penuh atau belum. Fuction full:bolean; Begin Stack.top:=max; End;

  7. PUSH Menambah sebuah elemen ( data ) kedalam stack (Syarat: tidak bisa dilakukan jika stack sudah penuh) Stack.data:=input; End; End; Procedure push ( input:string ); Begin If not full then Begin Stack.top:=stack.top;

  8. POP Mengambil elemen teratas dari stack. Syarat: Stack tidak boleh kosong. Procedure Pop ( elemen:string ); Begin If not empty then Begin Elemen:=stack.data; Stack.top:=top – 1; End; End;

  9. Awal Program • Memastikan posisi tumpukan kosong • Element yang terambil belum ada Inputan • Dipastikan tumpukan belum penuh • Menginput satu persatu Pengambilan • Dipastikan tumpukan tidak kosong • Pengambilan satu persatu atau lebih dari satu (optional)

  10. PENGGUNAAN/APLIKASI STACK • Logika stack digunakan untuk menyelesaikan berbagai macam masalah. Antara lain digunakan pada compiler, operating system dan dalam program-program aplikasi lain • Berikut ini tiga buah contoh aplikasi stack, yaitu MATCHING PARENTHESES NOTASI POSTFIX PROSES REKURSIF

  11. MATCHING PARENTHESES • Proses ini dilakukan compiler untuk memeriksa kelengkapan tanda kurung yang terdapat pada suatu ekspresi aritmetik • Sedangkan stack di sini digunakan sebagai tempat prosesnya

  12. NOTASI POSTFIX • mengubah suatu ekspresi aritmatik (string) ke dalam notasi postfix • Notasi postfix ini digunakan oleh compiler untuk menyatakan suatu ekspresi aritmatik dalam bahasa tingkat tinggi (high level language) • Stack digunakan oleh compiler untuk mentransformasikan ekspresi aritmatik menjadi suatu ekspresi dalam bentuk/notasi postfix

  13. Contoh : diberikan ekspresi aritmatik : A + B Maka bentuknya dalam notasi postfix menjadi : AB+ Urutan (prioritas) dari operator adalah 1. Perpangkatan (^) 2. Perkalian (*) atau Pembagian (/) 3. Penjumlahan (+) atau Pengurangan (-)

  14. PROSES REKURSIF • Rekursi mempunyai arti suatu proses yang bias memanggil dirinya sendiri. Dalam sebuah rekursi sebenarnya tekandung pengertian sebuah prosedur atau fungsi • Perbedaannya dengan prosedur adalah bahwa rekursi bisa memanggil dirinya sendiri, kalau prosedur atau fungsi harus diipanggil melalui pemanggil prosedur atau fungsi

More Related