STRUKTUR DATA PERTEMUAN 5 vandawaa@yahoo.com.

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA Struktur Data - Gerlan A. Manu, ST.,MKom 1.
Advertisements

BAB V TUMPUKAN (STACK) Tertia Avini, S. Kom tertiaavini. wordpress
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Rahmat Deddy Rianto Dako, ST, M.Eng
STRUKTUR DATA.
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
STRUKTUR DATA PERTEMUAN 6
STACK (TUMPUKAN).
Struktur Organisasi Data 2
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
STACK.
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Algoritma dan Pemrograman
Struktur Data Stack.
Stack (Tumpukan).
STACK.
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
STRUKTUR DATA (4) array stack dan queue
Tenia Wahyuningrum, SKom, MT. Deskripsi singkat Larik (array) adalah deretan rinci data yang mempunyai tipe sejenis. Setiap rinci data disebut dengan.
BAB 3 STACK (TUMPUKAN).
STACK.
Stack Pertemuan 11.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Stack.
Stack Stack adalah salah satu bentuk list dimana penghapusan dan pemasukan elemen hanya dapat dilakukan pada satu posisi yaitu di posisi akhir list. Posisi.
Chapt 04 : Stack Oleh : Yuli Praptomo PHS, S.Kom
Notasi Algoritma & Tipe Data
STACK ( TUMPUKAN ) Fajrizal.
Sapta Candra Miarsa,S.T.,M.T.
STRUKTUR DATA IMPLEMENTASI STACK.
STRUKTUR DATA IMPLEMENTASI STACK.
Dasar-Dasar Pemrograman
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Tumpukan dalam struktur data
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
STACK Denny Agustiawan,M.pd
SUBRUTIN.
STRUKTUR DATA : STACK Sri marini.st.
STRUKTUR DATA IMPLEMENTASI STACK.
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
LINGKUNGAN TURBO PASCAL
Algoritma & Pemrograman 1
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
SEMANTIKS Pertemuan Ke-3.
TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Data
Algoritma dan Pemrograman
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
Rahmat Deddy Rianto Dako, ST, M.Eng
Tumpukan Dengan Array Ika Menarianti.
SEMANTIKS 2.
STACK Rohimah, S.Kom..
STACK Yohana Nugraheni.
STRUKTUR DATA IMPLEMENTASI STACK.
STRUKTUR DATA TUMPukAN (STACK).
STRUKTUR DATA IMPLEMENTASI STACK.
Algoritma & Pemrograman 1
STACK HARJANTO SUTEDJO.
STACK Kuliah Struktur Data Pascal
STRUKTUR DATA IMPLEMENTASI STACK.
STRUKTUR DATA PERTEMUAN 4
STRUKTUR DATA IMPLEMENTASI STACK.
STACK Rohimah, S.Kom..
Dasar-Dasar Pemrograman
STACK.
STRUKTUR DATA (3) STACK.
Contoh Implementasi Stack 1
BAB 3 STACK (TUMPUKAN).
STACK (Tumpukan) Tumpukan Koin.
Transcript presentasi:

STRUKTUR DATA PERTEMUAN 5 vandawaa@yahoo.com

ARRAY (LARIK) STACK / TUMPUKAN Contoh penggunaan STACK salah satunya adalah pada program konversi aritmatik mengubah bentuk INFIX ke POSTFIX ataupun INFIX ke PREFIX. Bentuk ini adalah bentuk aritmatik yang digunakan oleh komputer. Bentuk INFIX yang ditulis dalam bahasa pemrograman, akan dikompilasi menjadi bentuk POSTFIX atau PREFIX oleh compiler.

ARRAY (LARIK) A + B * C STACK / TUMPUKAN OPERAND dan OPERATOR DERAJAT OPERATOR PANGKAT $ KALI & BAGI * / TAMBAH & KURANG + - KURUNG BUKA & TUTUP ( )

ARRAY (LARIK) STACK / TUMPUKAN INFIX POSTFIX PREFIX A + B AB + + AB A + B * C ABC *+ *+ ABC INFIX = bentuk aritmatik yang Operatornya ada diantara (di dalam) dua buah Operand. POSTFIX = bentuk aritmatik yang Operatornya ada sesudah dua Operand. PREFIX = bentuk aritmatik yang Operatornya ada sebelum dua Operand.

ARRAY (LARIK) STACK / TUMPUKAN Saat dikompilasi, bahasa pemrograman tidak menggunakan tanda kurung buka ataupun kurung tutup lagi. Urutan pelaksanaan dilakukan tergantung dari letak Operator dan Operandnya, bukan bergantung dari derajat nilai / kekuatan Operator.

ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Hanya OPERATOR yang disimpan ke Stack Bila isi variabelnya OPERAND, maka langsung cetak variabel Operator kurung buka dan kurung tutup bisa disimpan ke Stack, namun tidak ditulis ke layar Bila isi variabelnya Kurung Buka ‘(‘, maka simpan (PUSH) Kurung Buka ke Stack. Bila isi variabelnya OPERATOR maka periksa : Bila Stack kosong, maka simpan Operator sekarang ke Stack Bila Stack paling atas berisi Operator selain tanda kurung, maka bandingkan derajat di Stack dengan variabel sekarang. Bila lebih rendah di Stack, maka variabel langsung di-PUSH Bila lebih tinggi di Stack, maka Stack paling atas di-POP / dicetak, kemudian variabel sekarang masuk/ di-PUSH.

ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Bila Stack paling atas isinya kurung buka ‘(’, maka variabel sekarang langsung di-PUSH/ disimpan ke Stack. Bila variabel sekarang isinya kurung tutup ‘)‘, maka cetak semua Operator di Stack hingga bertemu tanda kurung buka ‘(’. Bila variabel yang ada telah habis diproses dan Stack masih berisi, maka cetak semua Operator yang ada di dalam Stack hingga Stack kosong melomponk

+ - STACK / TUMPUKAN POSTFIX INFIX A - B + C A B - C + $ * / + - ( ) 4 3 2 1 PANGKAT $ KALI & BAGI * / TAMBAH & KURANG + - KURUNG BUKA & TUTUP ( ) T.Atas := 1 T.Atas := 0

STACK / TUMPUKAN A + (B / C) Contoh : Ubahlah notasi INFIX berikut ke notasi POSTFIX. A + (B / C) KARAKTER TUMPUKAN CETAK A + ( + ( B A B / + ( / C A B C ) + ( / ) A B C / A B C / +

ARRAY (LARIK) STACK / TUMPUKAN INFIX A + B – C A + B * C (A + B) * C A + B – C * D A + (B - C) * D (A + B) * (C - D) A – B / (C * D $ E) POSTFIX A B + C - A B C * + A B + C * A B + C D * - A B C - D * + A B + C D - * A B C D E $ * / -

ARRAY (LARIK) STACK / TUMPUKAN (A + B * C (D - E)) / ((F + G) / H) A – B + C * (D $ E / (F - G) + H) - I A B – C D E $ F G - / H + * + I -

ARRAY (LARIK) STACK / TUMPUKAN DEKLARASI AWAL STACK const MaxElemen = 255; type StringKata = string[MaxElemen]; Tumpukan = record Isi : StringKata; Atas : 0..MaxElemen; end; var Infix = StringKata; {*untuk menyimpan masukan*}

ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Penentuan Derajat Nilai dari Operator : {* Fungsi untuk mengembalikan nilai derajat dari operator *} function DERAJAT(Tanda_Op : char) : integer; begin case Tanda_Op of ‘$’ : DERAJAT := 3; {* Pangkat *} ‘*’ , ‘/’ : DERAJAT := 2; {* Kali & Bagi *} ‘+’ , ‘-’ : DERAJAT := 1; {* Tambah & Kurang *} ‘(’ : DERAJAT := 0; {* Kurung Buka *} end end;

ARRAY (LARIK) STACK / TUMPUKAN {* Prosedur PUSH *} procedure PUSH (var T : Tumpukan; Elemen = char); Begin T.Atas := T.Atas + 1; T.Isi[T.Atas] := Elemen; end; {* Fungsi POP -> untuk mengembalikan nilai POP *} function POP (var T : Tumpukan) : char; begin POP := T.Isi[T.Atas]; T.Atas := T.Atas - 1; end;

Prosedure INFIX ke POSTFIX : ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Prosedure INFIX ke POSTFIX : procedure KONVERSI_POSTFIX(Infix : StringKata); var I : integer Operator : set of char; Temp, Kar : char; T : Tumpukan; begin {* Deklarasikan Operator yang diijinkan *} Operator := [‘$’] + [‘*’] + [‘/’] + [‘+’] + [‘-’]; for I:=1 to length(Infix) do Kar := Infix(I);

Prosedure INFIX ke POSTFIX : ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Prosedure INFIX ke POSTFIX : {* Jika variabel adalah tanda ‘(’, maka PUSH ke Stack*} if Kar = ‘(’ then PUSH(T,Kar) {* Jika variabel adalah tanda ‘)’, maka POP dan tulis *} {* semua isi Stack hingga ketemu tanda ‘(’ *} else if Kar = ‘)’ then begin while T.Isi[T.Atas] <> ‘(’ do write(POP(T) : 2); Temp := POP(T) end

Prosedure INFIX ke POSTFIX : ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Prosedure INFIX ke POSTFIX : {*Jika variabel adalah tanda Operator selain tanda kurung} {*maka bandingkan operator di Stack dengan variabel *} else if Kar in Operator then begin while (T.Atas] <> 0) and (DERAJAT(Kar) <= DERAJAT(T.Isi[T.Atas])) do write(POP(T) : 2); PUSH(T,Kar) end {*Jika Operand, maka langsung di cetak} else if Kar <> ‘ ‘ then write(Kar : 2) end; {* Akhir dari perulangan FOR *}

Prosedure INFIX ke POSTFIX : ARRAY (LARIK) STACK / TUMPUKAN INFIX ke POSTFIX Prosedure INFIX ke POSTFIX : {*Jika Stack masih isi, POP / cetak semua isinya *} If T.Atas <> 0 then repeat write(POP(T) : 2) until T.Atas = 0; end; {* Akhir dari Procedure KONVERSI_POSTFIX *}

Tugas 4 (70 * 20) / (15 * 3) B $ 2 – (4 * A) * C Ubahlah notasi INFIX berikut ke notasi POSTFIX. (70 * 20) / (15 * 3) B $ 2 – (4 * A) * C (A – B / C + E) / (A + B) W + (5 * 30 + P / (5 $ 8))

Tugas 4 Contoh : Ubahlah notasi INFIX berikut ke notasi POSTFIX. (A + B) / C KARAKTER TUMPUKAN CETAK ( A + ( + B A B ) ( + ) A B + / C A B + C A B + C /

THE END OF THIS DAY KANGGOANG Biin NAAAHHH,,,,!!!! DEAL??? DEEEAAALLLL,,,,,