PROGRAM STUDI SISTEM INFORMASIS 1 MATA KULIAH ALGORITMA

  • Slides: 56
Download presentation
PROGRAM STUDI SISTEM INFORMASI-S 1 MATA KULIAH ALGORITMA DAN PEMROGRAMAN II STACK (Tumpukan )

PROGRAM STUDI SISTEM INFORMASI-S 1 MATA KULIAH ALGORITMA DAN PEMROGRAMAN II STACK (Tumpukan ) -personal branding. Suharnawi, M. Kom. , Lalang Erawan, M. Kom, Setyo Budi, M. kom 2020 <a href='https: //www. freepik. com/free-photos-vectors/background'>Background vector created by freepik - www. freepik. com</a>

PROGRAM STUDI SISTEM INFORMASI Capaian Pembelajaran Mahasiswa dapat memahami proses stack / metode tumpukan

PROGRAM STUDI SISTEM INFORMASI Capaian Pembelajaran Mahasiswa dapat memahami proses stack / metode tumpukan data. Kemampuan Akhir yang Diharapkan 1. Mahasiswa dapat menggunakan stack untuk mengubah notasi infix menjadi postfix. 2. Mahasiswa dapat memahami bagaimana komputer mengolah data berdasarkan notasi. MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Defenisi : �Stack atau tumpukan adalah suatu struktur data yang

PROGRAM STUDI SISTEM INFORMASI Defenisi : �Stack atau tumpukan adalah suatu struktur data yang seolah-olah terlihat seperti data yang tersusun secara ‘menumpuk’, dimana ada data yang terletak di atas data yang lainnya. MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI � Bersifat LIFO (Last In First Out), berarti data yang

PROGRAM STUDI SISTEM INFORMASI � Bersifat LIFO (Last In First Out), berarti data yang masuk terakhir akan keluar pertama. � Operasi pada Stack : �Is. Full : mengecek apakah STACK sudah penuh �Is. Empty : mengecek apakah STACK sudah kosong �Push : menambah data pada STACK �Pop : mengambil data pada STACK �Clear : digunakan untuk mengosongkan stack �Print : Mencetak stack MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Kondisi Single Stack • Kondisi Stack ditentukan oleh posisi atau

PROGRAM STUDI SISTEM INFORMASI Kondisi Single Stack • Kondisi Stack ditentukan oleh posisi atau isi TOP. Kondisi Stack Posisi TOP KOSONG Top = -1 PENUH Top = n-1 BISA DIISI Top < n-1 ADA ISINYA Top > -1 MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Penggunan Stack • History

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Penggunan Stack • History pada web browser. • Undo Log pada text editor. • Pemrosesan struktur bersarang (nested) : loop, rekursi, fungsi, dll. • Algoritma back tracking – Artificial Intelegence

PROGRAM STUDI SISTEM INFORMASI D C B A MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI D C B A MATA KULIAH ALGORITMA DAN PEMROGRAMAN II • Dari gambar disamping kita bisa mengatakan bahwa kotak B ada diatas kotak A dan ada dibawah kotak C. • Gambar di samping menunjukkan bahwa dalam tumpukan, kita hanya bisa menambah atau mengambil sebuah kotak lewat satu ujung, yaitu ujung bagian atas

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI • Gambar dibawah hanya

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI • Gambar dibawah hanya menunjukkan dalam tumpukan hanya bisa menambah atau mengambil sebuah kotak lewat satu ujung, yaitu ujung bagian atas Maximum Deklarasi Struktur Data 4 Isi [5] 3 Isi [4] 2 Isi [3] 1 Isi [2] 0 Isi [1] Stack S Stack = Record Isi : array[1. . n] of Tipe Data Atas : integer End

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Stack with Array of

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Stack with Array of Struct • Definisikan Stack dengan menggunakan suatu struct • Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack • Elemen struct Stack adalah array data dan top untuk menadakan posisi data teratas • Buatlah variabel tumpuk sebagai implementasi dari struct Stack • Deklarasikan operasi-operasi/function di atas dan buat implemetasinya

PROGRAM STUDI SISTEM INFORMASI Program Stack • Contoh deklarasi MAX_STACK #define MAX_STACK 10 •

PROGRAM STUDI SISTEM INFORMASI Program Stack • Contoh deklarasi MAX_STACK #define MAX_STACK 10 • Contoh deklarasi STACK dengan struct dan array data typedef struct STACK{ int top; int data[10]; }; • Deklarasi/buat variabel dari struct STACK tumpuk; MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Program Stack (2) Inisialisasi Stack • Pada mulanya isi top

PROGRAM STUDI SISTEM INFORMASI Program Stack (2) Inisialisasi Stack • Pada mulanya isi top dengan -1, karena array dalam bahasa C dimulai dari 0, yang berarti bahwa data stack adalah KOSONG! • Top adalah suatu variabel penanda dalam Stack yang menunjukkan elemen teratas data Stack sekarang. • Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK yang menyebabkan stack PENUH! MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Inisialisasi stack 9 Max_Stack 8 7 6 5 4 3

PROGRAM STUDI SISTEM INFORMASI Inisialisasi stack 9 Max_Stack 8 7 6 5 4 3 2 1 0 Top = -1 Ilustrasi Stack pada saat inisialisasi! MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Operasi Push adalah menambah elemen ke dalam stack S, dimana

PROGRAM STUDI SISTEM INFORMASI Operasi Push adalah menambah elemen ke dalam stack S, dimana penambahan dapat dilakukan jika stack itu belum penuh. Stack dikatakan penuh Jika posisi Top sudah berada posisi n (If s. top = n then stack penuh) Push( x, s) adalah Memasukkan x kedalam Stack S MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top= s. top+1 s. isi[s. top] = x Else stack sudah penuh Endif top = 0 stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top = s. top + 1 s. isi[s. top] = x Else stack sudah penuh endif top = 1 stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top= s. top+1 s. isi[s. top] = x top = 1 Else stack sudah penuh endif stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top = s. top + 1 top = 2 s. isi[s. top] = x Else stack sudah penuh endif Stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top= s. top+1 top = 2 s. isi[s. top] = k Else stack sudah penuh endif stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) Procedure Push(x : Tipe data, s : stack) If s. top< n then top = 3 s. top = s. top + 1 s. isi[s. top] = x Else stack sudah penuh endif stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) top =

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Push(x, s) top = 5 Procedure Push(x : Tipe data, s : stack) If s. top< n then s. top= s. top+1 s. isi[s. top] = k Else stack sudah penuh Endif stack s

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II POP(s) • Pop(s) adalah

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II POP(s) • Pop(s) adalah menghapus elemen dari stack, elemen yang dihapus adalah elemen terakhir masuk (LIFO=Last In First Out) proses penghapusan dapat dilakukan jika stack tidak dalam keadaan Kosong • If s. top > 0 then stack tidak kosong • Dimana setiap melakukan penghapusan, maka posisi yang paling atas akan berkurang 1 (s. top = s. top -1) Procedure Pop( s: stack) If s. top>0 then Write s. isi[s. top] s. top= s. top – 1 Else stack Kosong endif

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II lanjut • Untuk mengambil

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II lanjut • Untuk mengambil data stack yang terletak paling atas (data yang ditunjuk oleh To. S), tampilkan terlebih dahulu nilai elemen teratas stack dengan mengakses indeksnya sesuai dengan top of stacknya, baru dilakukan di-decrement nilai top of stacknya sehingga jumlah elemen stack berkurang.

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) atas = 5

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) atas = 5 Procedure Pop( s: stack) If s. atas>0 then Write s. isi[s. atas] s. atas= s. atas – 1 Else stack kosong Endif stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) Procedure Pop( s:

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) Procedure Pop( s: stack) If s. atas>0 then Write s. isi[s. atas] s. atas= s. atas – 1 Else stack kosong Endif atas = 4 stack s

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) Procedure Pop( s:

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Pop(s) Procedure Pop( s: stack) If s. atas>0 then Write s. isi[s. atas] s. atas= s. atas – 1 Else stack kosong endif atas = 0 stack s

PROGRAM STUDI SISTEM INFORMASI Fungsi Is. Full • Untuk mengetahui stack sudah penuh •

PROGRAM STUDI SISTEM INFORMASI Fungsi Is. Full • Untuk mengetahui stack sudah penuh • Dengan membaca top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK maka belum full) MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI lanjut Ilustrasi Stack pada kondisi Full 9 HARDISK 8 MOUSE

PROGRAM STUDI SISTEM INFORMASI lanjut Ilustrasi Stack pada kondisi Full 9 HARDISK 8 MOUSE 7 SPEAKER 6 MEJA 5 KEYBOARD 4 LAPTOP 3 PRINTER 2 MONITOR 1 VCD 0 TV Max_Stack Top MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Fungsi Is. Empty •

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Fungsi Is. Empty • Untuk memeriksa apakah data Stack masih kosong • Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong!

PROGRAM STUDI SISTEM INFORMASI lanjut • Data yang diinputkan selalu menjadi elemen teratas Stack

PROGRAM STUDI SISTEM INFORMASI lanjut • Data yang diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk oleh To S) • Jika data belum penuh • Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan ke dalam array data Stack. • Isikan data baru ke stack berdasarkan indeks top of stack yang telah diincrement sebelumnya. • Jika tidak, outputkan “Penuh” MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI lanjut MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI lanjut MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Fungsi Print • Untuk menampilkan semua elemen-elemen data Stack •

PROGRAM STUDI SISTEM INFORMASI Fungsi Print • Untuk menampilkan semua elemen-elemen data Stack • Dengan cara me-loop semua nilai array secara terbalik, karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke indeks yang lebih kecil! MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Fungsi Peek • Digunakan untuk melihat top of stack MATA

PROGRAM STUDI SISTEM INFORMASI Fungsi Peek • Digunakan untuk melihat top of stack MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Ungkapan Aritmatika Prefix, infix,

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI Ungkapan Aritmatika Prefix, infix, postfix Pertemuan berikutnya

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Ungkapan Aritmatika • Prefix

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Ungkapan Aritmatika • Prefix adalah metode penulisan dengan meletakkan operator di depan operand dan tanpa menuliskan tanda kurung. Contoh : +AB, – +ABC, * + AB – CD. • Infix adalah cara penulisan ungkapan dengan meletakkan operator di antara dua operand dalam hal ini pemakaian tanda kurung sangat menentukan hasil operasi. Contoh : A+B, A+B-C, (A+B)*(C-D).

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II • Postfix adalah metode

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II • Postfix adalah metode penulisan dengan menuliskan operator setelah operand dan tanpa menuliskan tanda kurung. Contoh : A B +

PROGRAM STUDI SISTEM INFORMASI Contoh : 1. Infix A + B + C Prefix

PROGRAM STUDI SISTEM INFORMASI Contoh : 1. Infix A + B + C Prefix +AB + C ++ABC Postfix AB+ +C AB+C+ Derajat Operator 2. Infix A+B * C Prefix A+*BC +A*BC Postfix A+ BC* 1. (. . ) 2. ^ 3. * dan / 4. + dan - Operator Logika : 1. NOT 2. AND 3. OR ABC*+ MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Infix A*B + C*D Prefix Postfix *AB + C *

PROGRAM STUDI SISTEM INFORMASI Infix A*B + C*D Prefix Postfix *AB + C * D *AB + *CD +*AB*CD AB* + C*D AB* + CD* AB*CD*+ MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI Infix : A + B * (C – D) /

PROGRAM STUDI SISTEM INFORMASI Infix : A + B * (C – D) / E Prefix A + B * -CD / E A + *B-CD / E A + /*B-CDE +A/*B-CDE Contoh : 1. Infix (A+B)*C^D/E-F+G 2. Infix (A+B*C)*(D+E)/F*G Postfix A + B * CD- / E A + BCD-*E/ ABCD-*E/+ MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Algoritma Mengubah Ekspresi Infix

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Algoritma Mengubah Ekspresi Infix menjadi Postfix • Proses konversi ekspresi infix menjadi bentuk postfix selalu dimulai dari sebelah kiri ekspresi aritmatik. 1. Jika yang ditemukan adalah operand, maka cetak atau simpan 2. Jika yang ditemukan adalah kurung buka maka abaikan. 3. Jika yang ditemukan adalah operator maka push ke dalam stack. 4. Jika yang ditemukan adalah kurung tutup maka pop stack, kemudian cetak atau simpan nilainya. 5. Jika ekspresi telah diperiksa semua tetapi ternyata stack belum kosong, pop semua data dalam stack dan cetak atau simpan nilai yang di pop.

PROGRAM STUDI SISTEM INFORMASI Diketahui ekspresi infix spt dibawah ini 15*((3 -2)*(4+10))/7) 1. Proses

PROGRAM STUDI SISTEM INFORMASI Diketahui ekspresi infix spt dibawah ini 15*((3 -2)*(4+10))/7) 1. Proses dimulai dari sebelah kiri, pertama kali nilai yang ditemukan yaitu angka 15, maka aturan nomor 1 yang dijalankan, adalah nilai dicetak. Dalam contoh ini tidak menyimpan hasil konversi melainkan langsung mencetaknya di layar monitor. MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI 15*(((3 -2)*(4+10))/7) 2. Proses lanjutkan, ditemukan operator * maka aturan

PROGRAM STUDI SISTEM INFORMASI 15*(((3 -2)*(4+10))/7) 2. Proses lanjutkan, ditemukan operator * maka aturan ke 3 dikerjakan, yaitu push operator tersebut ke dalam stack. 3. Selanjutnya kurung buka ( ditemukan, aturan nomor 2 dikerjakan yaitu abaikan tanda kurung buka tersebut. Pengabaian tanda kurung ini dilakukan 3 kali karena di temukan 3 buah tanda kurung buka. MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 4. Selanjutnya

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 4. Selanjutnya ditemukan bilangan 3 (operan) maka aturan nomor 1 harus dikerjakan yaitu mencetak bilangan 3 tersebut ke layar. 5. Proses selanjutnya, dan ditemukan operator - maka aturan ke 3 dikerjakan, yaitu push operator tersebut ke dalam stack.

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 6. Selanjutnya

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 6. Selanjutnya ditemukan angka 2 (operan) maka aturan nomor 1 dikerjakan yaitu mencetak angka 2 ke layar. 7. Kemudian ditemukan tanda kurung tutup ) sehingga aturan ke 4 dikerjakan yaitu pop stack dan cetak data paling atas stack ke layar.

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 8. Proses

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 8. Proses kita lanjutkan, dan ditemukan operator * maka aturan ke 3 dikerjakan, yaitu push operator tersebut ke dalam stack. 9. Kemudian kurung buka ( ditemukan, sehingga abaikan saja. Selanjutnya kita temukan angka 4 (operan) maka aturan nomor 1 dikerjakan yaitu mencetak bilangan 4 tersebut ke layar.

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 10. Proses

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 10. Proses kita lanjutkan, dan ditemukan operator +, maka aturan ke 3 dikerjakan, yaitu push operator tersebut ke dalam stack. 11. Selanjutnya kita temukan bilangan 10 (operan) maka aturan nomor 1 harus dikerjakan yaitu mencetak angka 10 ke layar.

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 12. Kemudian

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 12. Kemudian tanda kurung tutup ) kita temukan sehingga aturan ke 4 harus dikerjakan yaitu pop stack dan cetak data paling atas stack (operator +) ke layar. 13. Satu lagi tanda kurung tutup ) kita temukan, sehingga aturan ke 4 dikerjakan.

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 14. Proses

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 15*(((3 -2)*(4+10))/7) 14. Proses kita lanjutkan, dan kita menemukan operator / maka aturan ke 3 dikerjakan, yaitu push operator tersebut ke dalam stack. 15. Kemudian kita temukan bilangan 7 (operan) maka aturan nomor 1 dikerjakan yaitu mencetak bilangan 7 tersebut ke layar.

PROGRAM STUDI SISTEM INFORMASI 15*(((3 -2)*(4+10))/7) MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 16. Kemudian

PROGRAM STUDI SISTEM INFORMASI 15*(((3 -2)*(4+10))/7) MATA KULIAH ALGORITMA DAN PEMROGRAMAN II 16. Kemudian ditemukan tanda kurung tutup ), maka aturan ke 4 dikerjakan yaitu pop stack dan cetak data paling atas stack ke layar. 17. Karena ekspresi sudah diperiksa semua sementara stack masih belum kosong maka aturan ke 5 harus di kerjakan yaitu pop semua data dalam stack dan cetak ke layar.

PROGRAM STUDI SISTEM INFORMASI Konversi Notasi Infix ke Postfix ( A + B )

PROGRAM STUDI SISTEM INFORMASI Konversi Notasi Infix ke Postfix ( A + B ) / (( C – D ) * E ^ F) Konversi notasi infix menjadi postfix menggunakan tabel stack MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI ( A + B

MATA KULIAH PROGRAM STUDI ALGORITMA DAN PEMROGRAMAN II SISTEM INFORMASI ( A + B ) / (( C – D ) * E ^ F) notasi postfix A B + C D – E F ^ */

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Algoritma Konversi Notasi Infix

PROGRAM STUDI SISTEM INFORMASI MATA KULIAH ALGORITMA DAN PEMROGRAMAN II Algoritma Konversi Notasi Infix ke Postfix 1. Sediakan stack untuk menyimpan operator (tipe : char) 2. Baca setiap karakter notasi infix dari awal 1. Jika operand maka langsung dicetak 2. Jika tanda ‘(‘ PUSH ke stack 3. Jika tanda ‘)’ POP dan cetak semua isi stack sampai TOS = ‘(‘. POP juga tanda ‘(‘ ini, tetapi tidak dicetak 4. Jika operator : jika stack kosong atau derajad operator lebih tinggi dibanding derajad TOS, PUSH operator ke dalam stack. 5. Jika tidak, POP dan cetak; kemudian ulangi pembandingan dengan TOS. Kemudian dipush 3. Jika akhir notasi infix telah tercapai, dan stack masih belum kosong, pop semua isi stack dan cetak hasilnya

PROGRAM STUDI SISTEM INFROMASI RANGKUMAN Stack merupakan bagian penting dalam proses komputer. Stack dapat

PROGRAM STUDI SISTEM INFROMASI RANGKUMAN Stack merupakan bagian penting dalam proses komputer. Stack dapat digunakan untuk prosespeneloaan notasi aritmatika. MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

PROGRAM STUDI SISTEM INFORMASI SUMBER PUSTAKA Guy J. Hall, Richard J. Easton, Applied Data

PROGRAM STUDI SISTEM INFORMASI SUMBER PUSTAKA Guy J. Hall, Richard J. Easton, Applied Data Structure Using Pascal, Toronto : D. C. Heat and Company, 1987 Insap Santosa, I. 1993. Struktur Data. Yogyakarta : Andy Offset Hariyanto, B. 2004. Struktur Data. Bandung : Informatika http: //www. cplus. com/doc/tutorial/ Abdul Kadir. Algoritma & Pemrograman Menggunakan C & C++. Yogyakarta. Andi Leony Lidya, Rinaldi Munir. Algoritma dan pemrograman dalam Bahasa Pascal, C & C++. Bandung. Informatika Sumber gambar: www. freepik. com MATA KULIAH ALGORITMA DAN PEMROGRAMAN II

THANKS ANY QUESTIONS?

THANKS ANY QUESTIONS?