SlideShare a Scribd company logo
STRUKTUR DATA
SILABUS :
• 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
Penulisan Ungkapan Numeris
:
Salah satu pernyataan tumpukan
adalah untuk menulis ungkapan
menggunakan notasi tertentu.
Bahwa penulisan ungkapan numeris
digunakan tanda        kurung untuk
mengelompokkan bagian mana yang
harus dikerjakan terlebih dahulu.
Sebagai contoh : (A+B)*(C-D)


                                      2
Berbeda cara menyelesaikannya jika tidak
  diberi tanda kurung. Seperti A+B*C-D.
  Cara penulisan ungkapan sering disebut
  dengan notasi infix yang artinya adalah
  bahwa operator ditulis diantara dua
  operand. Seorang ahli matematika Jan
  Inkasiewicz menuliskan perkembangan
  ungkapan numeris :
1. Infix yaitu operator ditulis diantara 2 buah
    operand. Contoh : x + y
2. Prefix yaitu operator ditulis mendahului 2
    buah operand. Contoh : +xy
3. Postfix yaitu operator ditulis setelah 2
    operand. Contoh : xy +
                                              3
Untuk melakukan konversi dari infix ke
  postfix perlu diperhatikan level dari
  operatornya yang ada pada pernyataan
  infix tersebut. Operator yang memiliki
  level tertinggi akan diproses terlebih
  dahulu dan terhadap operator yang
  selevel maka yang akan diproses lebih
  dahulu adalah operator yang pertama
  ditemukan.
   Level operator :
1. ^ atau $ (pangkat)
2. * dan / (kali dan bagi)
                                       4
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*QR


                                5
   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^G
                            6
II. Konversikan infix ke
postfix?
 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
II. Konversikan infix ke
postfix?
 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
Algoritma Logic ke Postfix
          Menggunakan Stack
  Untuk melakukan konversi dari infix ke
  postfix dalam algoritmanya diperlukan
  sebuah stack yang berisikan operator,
  dimana       setiap operator dimasukkan
  kedalam      stack   harus    diperhatikan
  hirarki/level dari operatornya dengan
  ketentuan :
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
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
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
Algoritma Infix ke Postfix
Langkah I :
Baca ungkapan dalam notasi infix
Langkah II :
Dimulai dari I sampai N, kerjakan langkah-
  langkah berikut :
a. R = S [ I ]
b. Test nilai R jika R adalah :
    1. Operand : langsung ditulis
    2. Kurung buka : push kedalam stack
    3. Kurung tutup : pop dan tulis semua
      isi tumpukan sampai ujung stack (TOS),
      POP juga tanda ( tapi tidak ditulis.

                                               12
4. Operator
 Jika stack kosong atau level R lebih tinggi
  dibanding level operator pada TOS, push R
  (operator kedalam stack)
 Jika tidak POP ujung stack dan tulis
  kemudian ulangi pembandingan R dengan
  TOS kemudian R di PUSH. Kurung buka
  dalam stack dianggab mempunyai level
  lebih rendah diabnding R.

Langkah III :
 Jika akhir notasi infix telah tercapai dan
 tumpukan masih belum kosong POP
 semua isi stack dan tulis hasilnya.
                                            13
Contoh : A + ( B – C )




Hasil : ABC-+
                         14
Kerjakan Latihan Berikut :
S=P+Q/R–S+T
T=(X*Y)–Z^W
N=A+B/C–D^W
B=P+Q*(R–S)




                             15

More Related Content

PDF
Push Down Automata (PDA)
PPTX
PPTX
Pushdown Automata
PPTX
Logika algoritma
PPT
Bab 4 stack (tumpukan)
DOCX
File header adalah sebuah file yang digunakan untuk mendefinisikan beberapa f...
PPTX
PPTX
Bab 8 struktur rekursif
Push Down Automata (PDA)
Pushdown Automata
Logika algoritma
Bab 4 stack (tumpukan)
File header adalah sebuah file yang digunakan untuk mendefinisikan beberapa f...
Bab 8 struktur rekursif

What's hot (20)

PPT
Pertemuan 1 : Algoritma & Pemrograman
PDF
Teori bahasa-dan-otomata
PDF
Algoritma dan Struktur Data - Antrian
PPTX
Context Free Grammar 1 - Materi 6 - TBO
PPT
Pertemuan 2 : Algoritma & Pemrograman
PPT
Project akhir asd
PDF
Lingkaran, konversi suhu, bilangan ganjil, diskriminan
PPTX
CFG dan PARSING - P 5 - Teknik Kompilasi
PPTX
Latihan latihan logika algoritma
DOCX
Tugas algoritma
PDF
Tugas algoritma
PPT
Bab 8 rekursif
PPTX
Pert.6 stack
PDF
Tugas algoritma arif
PPT
Pertemuan 3 : Algoritma & Pemrograman
PPTX
Intermediate code kode antara
PPTX
4 rekursi
PPT
Dasar c++ input, proses, output
PPT
Tistrukdat9
PPT
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & Pemrograman
Teori bahasa-dan-otomata
Algoritma dan Struktur Data - Antrian
Context Free Grammar 1 - Materi 6 - TBO
Pertemuan 2 : Algoritma & Pemrograman
Project akhir asd
Lingkaran, konversi suhu, bilangan ganjil, diskriminan
CFG dan PARSING - P 5 - Teknik Kompilasi
Latihan latihan logika algoritma
Tugas algoritma
Tugas algoritma
Bab 8 rekursif
Pert.6 stack
Tugas algoritma arif
Pertemuan 3 : Algoritma & Pemrograman
Intermediate code kode antara
4 rekursi
Dasar c++ input, proses, output
Tistrukdat9
Pertemuan 6 : Algoritma & Pemrograman
Ad

Similar to Struktur data (20)

PPT
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
PPTX
Perkuliahan Perguruan Tinggi 02 Stack.pptx
PPT
Fungsi rekursif, queue, stack
PPT
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
PPTX
Slide minggu 2 pertemuan 2 (struktur data1)
PDF
Bab viii stack
PPT
Bab 3 stack (tumpukan)
PPTX
Stack tumpukan
PPTX
Stack tumpukan
DOCX
Laporan praktikum modul viii
PPTX
DK-A-207038026-Nur Amalia Nasution.pptx
PPT
TI-struktur_data-stack_n_queue
PPT
Tistrukdat4
PPTX
Pengenalan bahasa c++
PPTX
Pengenalan bahasa c++
PPTX
Algoritma&Pemrograman C++ Pertemuan 3
PPT
Bab 2-intro-python
PPTX
Stack atau tumpukan
PDF
Algoritma pemrograman
PPTX
Tugas
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
Perkuliahan Perguruan Tinggi 02 Stack.pptx
Fungsi rekursif, queue, stack
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
Slide minggu 2 pertemuan 2 (struktur data1)
Bab viii stack
Bab 3 stack (tumpukan)
Stack tumpukan
Stack tumpukan
Laporan praktikum modul viii
DK-A-207038026-Nur Amalia Nasution.pptx
TI-struktur_data-stack_n_queue
Tistrukdat4
Pengenalan bahasa c++
Pengenalan bahasa c++
Algoritma&Pemrograman C++ Pertemuan 3
Bab 2-intro-python
Stack atau tumpukan
Algoritma pemrograman
Tugas
Ad

Struktur data

  • 1. STRUKTUR DATA SILABUS : • 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 tumpukan adalah untuk menulis ungkapan menggunakan notasi tertentu. Bahwa penulisan ungkapan numeris digunakan tanda kurung untuk mengelompokkan bagian mana yang harus dikerjakan terlebih dahulu. Sebagai contoh : (A+B)*(C-D) 2
  • 3. Berbeda cara menyelesaikannya jika tidak diberi tanda kurung. Seperti A+B*C-D. Cara penulisan ungkapan sering disebut dengan notasi infix yang artinya adalah bahwa operator ditulis diantara dua operand. Seorang ahli matematika Jan Inkasiewicz menuliskan perkembangan ungkapan numeris : 1. Infix yaitu operator ditulis diantara 2 buah operand. Contoh : x + y 2. Prefix yaitu operator ditulis mendahului 2 buah operand. Contoh : +xy 3. Postfix yaitu operator ditulis setelah 2 operand. Contoh : xy + 3
  • 4. Untuk melakukan konversi dari infix ke postfix perlu diperhatikan level dari operatornya yang ada pada pernyataan infix tersebut. Operator yang memiliki level tertinggi akan diproses terlebih dahulu dan terhadap operator yang selevel maka yang akan diproses lebih dahulu adalah operator yang pertama ditemukan. 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*QR 5
  • 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^G 6
  • 7. II. Konversikan infix ke postfix? 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 ke postfix? 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 Postfix Menggunakan Stack Untuk melakukan konversi dari infix ke postfix dalam algoritmanya diperlukan sebuah stack yang berisikan operator, dimana setiap operator dimasukkan kedalam stack harus diperhatikan hirarki/level dari operatornya dengan ketentuan : 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 Postfix Langkah I : Baca ungkapan dalam notasi infix Langkah II : Dimulai dari I sampai N, kerjakan langkah- langkah berikut : a. R = S [ I ] b. Test nilai R jika R adalah : 1. Operand : langsung ditulis 2. Kurung buka : push kedalam stack 3. Kurung tutup : pop dan tulis semua isi tumpukan sampai ujung stack (TOS), POP juga tanda ( tapi tidak ditulis. 12
  • 13. 4. Operator  Jika stack kosong atau level R lebih tinggi dibanding level operator pada TOS, push R (operator kedalam stack)  Jika tidak POP ujung stack dan tulis kemudian ulangi pembandingan R dengan TOS kemudian R di PUSH. Kurung buka dalam stack dianggab mempunyai level lebih 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/R–S+T T=(X*Y)–Z^W N=A+B/C–D^W B=P+Q*(R–S) 15