struktur data

Download Struktur data

Post on 14-Jun-2015

859 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

  • 1. STRUKTUR DATASILABUS : Pengenalan struktur data Stack Rekursif : - Bilangan Faktorial - Perkalian bilangan asli - Bilangan Fibonanci - Permutasi Pemrograman pascal : - Struktur bahasa - Tipe data - Fungsi dan Prosedur Antrian Senarai Pohon 1

2. Penulisan Ungkapan Numeris:Salah satu pernyataan tumpukanadalah untuk menulis ungkapanmenggunakan notasi tertentu.Bahwa penulisan ungkapan numerisdigunakan tandakurung untukmengelompokkan bagian mana yangharus dikerjakan terlebih dahulu.Sebagai contoh : (A+B)*(C-D)2 3. Berbeda cara menyelesaikannya jika tidakdiberi tanda kurung. Seperti A+B*C-D.Cara penulisan ungkapan sering disebutdengan notasi infix yang artinya adalahbahwa operator ditulis diantara duaoperand. Seorang ahli matematika JanInkasiewicz menuliskan perkembanganungkapan numeris :1. Infix yaitu operator ditulis diantara 2 buahoperand. Contoh : x + y2. Prefix yaitu operator ditulis mendahului 2buah operand. Contoh : +xy3. Postfix yaitu operator ditulis setelah 2operand. Contoh : xy +3 4. Untuk melakukan konversi dari infix kepostfix perlu diperhatikan level darioperatornya yang ada pada pernyataaninfix tersebut. Operator yang memilikilevel tertinggi akan diproses terlebihdahulu dan terhadap operator yangselevel maka yang akan diproses lebihdahulu adalah operator yang pertamaditemukan. Level operator :1. ^ atau $ (pangkat)2. * dan / (kali dan bagi) 4 5. Contoh contoh :I. Konversi infix ke prefix ? infix prefix x+y+xy A=P+Q*R maka : Q*R = *QR..1 P + 1 = +P1 = +P*QR5 6. B = P+Q-R C= (P+Q)*R Z = A-B*(C^D-E*G)/(M-P^Q)^R A = M*N-P+Q*R/S^T/U*V N = (X+Y)-Z^W P = A+B/C-D^W X = A^B/C-D*E+F^G6 7. II. Konversikan infix kepostfix? A = P+Q*R Q*R = QR*..1 P + 1 = P1+..2 = PQR*+ B = P+Q*(R-S) C= ( (P*Q)-R+S)*(V-W+Z*(M*T) ) D= (X^Y-Z)*(M-N*(O^P)*(Q-R/S))+V 7 8. II. Konversikan infix kepostfix? A = P+Q*R Q*R = QR*..1 P + 1 = P1+..2 = PQR*+ B = P+Q*(R-S) C= ( (P*Q)-R+S)*(V-W+Z*(M*T) ) D= (X^Y-Z)*(M-N*(O^P)*(Q-R/S))+V 8 9. Algoritma Logic ke PostfixMenggunakan StackUntuk melakukan konversi dari infix kepostfix dalam algoritmanya diperlukansebuah stack yang berisikan operator,dimana setiap operator dimasukkankedalamstack harusdiperhatikanhirarki/level dari operatornya denganketentuan :1. Jika ada pada stack operator + atau kemudian diikuti oleh operator yang lebih tinggi level hirarkinya maka operator tersebut dimasukkan kedalam stack. Misal = P+Q*R 9 10. 2.Jika operatornya selevel maka operator pertama yang berada dalam stack dieksekusi terlebiha dahulu dan operator kedua dipush kedalam stack.Misal : P*Q/R 10 11. 3. Jika didalam stack level opratornya lebih tinggi dari oprator yang akan masuk maka langsung eksekusi operator pertama dan push operator kedua dalam stack. Misal : P*Q+R 11 12. Algoritma Infix ke PostfixLangkah I :Baca ungkapan dalam notasi infixLangkah II :Dimulai dari I sampai N, kerjakan langkah-langkah berikut :a. R = S [ I ]b. Test nilai R jika R adalah :1. Operand : langsung ditulis2. Kurung buka : push kedalam stack3. Kurung tutup : pop dan tulis semuaisi tumpukan sampai ujung stack (TOS),POP juga tanda ( tapi tidak ditulis. 12 13. 4. Operator Jika stack kosong atau level R lebih tinggidibanding level operator pada TOS, push R(operator kedalam stack) Jika tidak POP ujung stack dan tuliskemudian ulangi pembandingan R denganTOS kemudian R di PUSH. Kurung bukadalam stack dianggab mempunyai levellebih rendah diabnding R.Langkah III : Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong POP semua isi stack dan tulis hasilnya.13 14. Contoh : A + ( B C )Hasil : ABC-+ 14 15. Kerjakan Latihan Berikut :S=P+Q/RS+TT=(X*Y)Z^WN=A+B/CD^WB=P+Q*(RS) 15