pert 6
TRANSCRIPT
STACK
STACK adalah teknik mengambil data ke dan dari memori.
Prinsip stack yaitu LIFO ( Last in First Out )
Cara kerja Stack
Misal : Memasukkan data berturut-turut “R”, “O”, “M”, “A” kedalam stack.Langkah :1. Pembuatan Create stack 2. Pemasukan elemen data kedalam
stack (PUSH)3. Mengeluarkan data dari dalam stack
Misalkan untuk 4 lokasi memori :CREATE(S)
1003
1002
1001
1000
S Alamat
1003
1002
1001
R 1000
Alamat
Push (“R”, S)
1003
1002
O 1001
R 1000
S Alamat
1003
M 1002
O 1001
R 1000
Alamat
Push (“O”, S)
Push (“M”, S)
S
A 1003
M 1002
O 1001
R 1000
S Alamat
Push (“A”, S)
Masukkan N kedalam stack.Push (“N”, S)Karena lokasi memori yang disiapkan 4, maka pemasukan elemen N tidak dapat dilaksanakan. Kesalahan ini disebut overflow error
Kita akan mengeluarkan isi stack tersebut, cara kerjanya :
1003
M 1002
O 1001
R 1000
Alamat
Keluarkan satu stack Pop (S).Hasil “A”
S
1003
1002
O 1001
R 1000
Alamat
Keluarkan satu stack Pop (S).Hasil “A”, “M”
S
1003
1002
1001
R 1000
Alamat
Keluarkan satu stack Pop (S).Hasil “A”, “M”, “O”
S
1003
1002
1001
1000
Alamat
Keluarkan satu stack Pop (S).Hasil “A”, “M”, “O”, “R”
S
Operasi ini tidak dapat dilaksanakan karena stack dalam keadaan kosong.Kesalahan ini dinamakan underflow error
Keluarkan isi stack POP(S)
Operasi : A + B * CDinamakan notasi infix, dimana operator berada diantara operand.Operator +, *, -, /Operand nilai data atau variabel penampung data
Notasi postfix : operatornya dibelakang operand.
Aplikasi stack
Ekspresi Infix Ekspresi PostfixA + B AB +
A + B * C ABC * +(A + B) * C AB + C *A * B + C AB * C +
Contoh :
CATATAN : NOTASI POSTFIX TIDAK ADA TANDA KURUNG
Yaitu Pengulangan proses yang sama selama kondisi belum terpenuhi.Contoh :Elemen yang akan dimasukkan adalah “ + “ sedangkan didalam stack sudah ada (berturut-turut dari TOP) “ ^ * - “, maka seluruh isi stack akan dikeluarkan sebelum “+” dimasukkan kedalam stack.
Rekursif
1. Rubahlah ekspresi infix : 10 + 5 * 4 – 14/7 ke notasi postfix.
2. Buatlah program atau algoritma untuk merubah notasi infix A + B * C / D ^ E – F ke notasi postfix
Tugas :