modul stack (1)

27
Modul ke: Fakultas Program Studi ALGORITMA DAN STRUKTUR DATA OLEH : Desi Ramayanti, S.Kom, MT 0 4 FASILKOM Teknik Informatika Click icon to add picture

Upload: windumardhio

Post on 05-Nov-2015

222 views

Category:

Documents


6 download

DESCRIPTION

algoritma dan struktur data

TRANSCRIPT

Slide 1

ALGORITMA DAN STRUKTUR DATAOLEH :Desi Ramayanti, S.Kom, MT04FASILKOMTeknik InformatikaModul ke:FakultasProgram StudiSTACK (TUMPUKAN)DefinisiStack Struktur DataSekumpulan data yang strukturnya bersifat tumpukanMasuk & Keluar dari ujung yang sama PUNCAK / TOPALGORITMA LIFO (LAST IN FIRST OUT)ABCINPUSHTOPOUTPOP-1 KOSONG3DefinisiStack array 1 DStack Linear Singly Linked List2 jenisSingle StackDouble Stack4Single StackStack TunggalStack yang terdiri dari 1 kumpulanEx. Array 1 D012345678925121715-1S[]n=10TOP315TOPXNama Array : S[]Definisi#define n 10----int S[n];int Top, X;TOP Nomor elemen paling atasX data 5KONSEP SINGLE STACKProses Single StackKonsep LIFO3 prosesAWALInisialisasiPUSHInsertMasukSimpanTulisPOPDeleteKeluarAmbilBaca/HapusProses AWAL (Inisialisasi)Menyiapkan indeks penunjuk stack pertama kaliTOP = -10123456789-1S[]TOP-1TOPXKondisi saat iniStack kosongOperasi PUSHProses PUSHAlgoritmaPeriksa Stack penuh / tidakif (Top < n-1)Jika TRUE isi stack Operasi PUSHTop = Top + 1;S[Top]=X;Proses PUSHCONTOHIsi X = 25 di PUSH ke Stack0123456789-1S[]TOP-1TOPXKondisi AwalStack bisa diisi?if (TOP= operator baru POP terus menerus dan cetak sampai ditemui ( atau operator nilainya lebih rendah dari operator baru atau isi stack habisPUSH Operator Baru

23STEPJika nilai operator baru > operator stack PUSH ke stackJika isi stack ) POP isi stack satu persatu, sampai ditemui isi stack ( keluarkan ( dari stack.Demikian seterusnya sampai isi array = \0

24Contoh A+(B+C)*D

A+(B+C)*D\0\0\0\0\0\0NoKar dibacaKeteranganIsi StackHasil Cetak0AOperand A dicetakMasih kosongA1+PUSH stack kosong+A2(( PUSH+(A3BOperand B dicetak+(AB4++ PUSH+(+AB5COperand C dicetak+(+ABC6)Cetak isi stack terbuag )+ABC+7** PUSH * > ++*ABC+8DOperand D dicetak+*ABC+D9\0POP dan cetak semua isi stackKosongABC+D*+ContohA-B+C*(D^E/(F-G)+H)-I\0\0\0\0NoKar dibacaKeteranganIsi StackHasil Cetak0AOperand A dicetakMasih kosongA1-PUSH stack kosong-A2BOperand B cetak-AB3+Periksa :- ++*AB-C6(( PUSH+*(AB-C7DOperand D cetak+*(AB-CD8^^ PUSH, karena S[TOP] = (+*(^AB-CDDesi Ramayanti, S.Kom, MTTerima Kasih