SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

dokumen-dokumen yang mirip
SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

BAHAN AJAR. Mata Kuliah Struktur Data. Disusun oleh: Eva Yulianti, S.Kom.,M.Cs

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

4. STACK / TUMPUKAN TEORI PENUNJANG

STACK/TUMPUKAN. R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU

BAB II LANDASAN TEORI

Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.

BAB II STACK (TUMPUKAN)

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

BAB II STACK Atau TUMPUKAN

BAB 3 STACK (TUMPUKAN)

S T A C K ( T U M P U K A N )

BAB III METODE PENELITIAN / PERANCANGAN SISTEM. perancangan dan pembuatan program ini meliputi : dengan konversi notasi infix, prefix, dan postfix.

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack

ALGORITMA DAN STRUKTUR DATA

Algoritma dan Struktur Data STACK

S TA C K Sunu Wibirama

BAB III QUEUE (ANTRIAN)

Praktikum 4. Tumpukan (Stack)

A. TUJUAN PEMBELAJARAN

MODUL PRAKTIKUM STRUKTUR DATA

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

Gambar 1. Ilustrasi Stack

LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom

SATUAN ACARA PERKULIAHAN MATA KULIAH : STRUKTUR DATA KODE / SKS : IK410 / 2 SKS

Pertemuan VI ANTRIAN (Queue)

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

STACK (TUMPUKAN) & QUEUE (ANTRIAN) Altien Jonathan Rindengan, S.Si., M.Kom.

RENCANA PEMBELAJARAN

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

SATUAN ACARA PERKULIAHAN (SAP) AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER (AMIK) LEMBAH DEMPO

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

STRUKTUR DATA. Deskripsi Mata Kuliah

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

Materi 8 : STACK (TUMPUKAN) Dosen:

BAB III STACK ATAU TUMPUKAN

Praktikum Stuktur Data [MODUL]

Algoritma Dan Struktur Data II

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Lab. Teknik Informatika Struktur Data 1

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

Gambar 2.1 Ilustrasi Stack

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

ARNA FARIZA YULIANA SETIOWATI

Pendahuluan Struktur Data. Nisa ul Hafidhoh

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

Algoritma Pemrograman & Struktur Data

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

Struktur Data. Pertemuan 2

Algoritma Dan Struktur Data II

Algoritma Pemrograman

Bab 4 Pointer dan Struktur Data Dinamik 16 BAB IV POINTER DAN STRUKTUR DATA DINAMIK TUJUAN PRAKTIKUM TEORI PENUNJANG

KONTRAK PRAKTIKUM. Gambaran Umum : Alur bagi peserta praktikum :

PETA KOMPETENSI MATAKULIAH ALGORITMA DAN STRUKTUR DATA TKE PRODI TEKNIK ELEKTRO

Struktur Data Array. Rijal Fadilah S.Si

Sesi/Perkuliahan ke: I

STRUKTUR DATA Pertemuan 4

B A H A N A J A R STRUKTUR DATA Disusun Oleh:

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

PROJECT UJIAN AKHIR SEMESTER MATA KULIAH STRUKTUR DATA Program Kalkulator Scientific Sederhana

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

Stack. Gambar 1.1 Stack

INFIX, PREFIX DAN POSTFIX

Sesi/Perkuliahan ke: V

1. Kompetensi Mengenal dan memahami struktur data Stack (tumpukan) dan Queue (antrian).

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Modul Praktikum Algoritma dan Struktur Data

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

Teori Algoritma. Struktur Algoritma

Algoritma Pemrograman

Kuliah Online : TEKKOM [2013/VI]

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

SILABUS : DASAR-DASAR PEMROGRAMAN. : Made Windu Antara Kesiman, S.T., M.Sc NIP : : PENDIDIKAN KIMIA

Algoritma Pemrograman

Program Studi Teknik Mesin S1

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

MODUL IV STACK A. TUJUAN

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Transkripsi:

A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 Mahasiswa dapat memahami tentang konsep pemrograman menggunakan struktur tumpukan. 2. Pendukung Mahasiswa dapat mengetahui contoh pemanfaatan tumpukan. B. Pokok Bahasan Tumpukan C. Sub Pokok Bahasan o Pengertian Tumpukan o Penyajian Tumpukan o Operasi Pada Tumpukan o Penulisan Ungkapan Numeris D. Kegiatan Belajar Mengajar Tahapan Kegiatan Pendahuluan Penyajian Kegiatan Pengajaran 1. Menjelaskan perkuliahan yang akan dijalani dalam satu semester 2. Menjelaskan materi-materi perkuliahan dan buku-buku acuan yang akan dipergunakan dalam semester ini 1. Menjelaskan tentang pengertian tumpukan 2. Menjelaskan tentang cara penyajian Kegiatan Mahasiswa Mendengarkan dan memberikan komentar Memperhatikan, mencatat, dan memberikan Media & Alat Peraga Notebook, LCD, Papan Tulis Notebook, LCD, Papan Tulis Struktur Data / Eva Yulianti, S.Kom.,M.Cs 28

tumpukan dalam program 3. Menjelaskan tentang operasioperasi pada tumpukan 4. Menjelaskan tentang cara penulisan ungkapan numeris Penutup 1. Mengajukan pertanyaan kepada mahasiswa. 2. Memberikan kesimpulan. 3. Mengingatkan akan kewajiban untuk pertemuan selanjutnya. komentar. Mengajukan pertanyaan. Memberikan komentar. Mengajukan menjawab pertanyaan dan Notebook, LCD, Papan Tulis E. Evaluasi Evaluasi dilakukan dengan cara memberikan pertanyaan langsung dan tidak langsung kepada mahasiswa. F. Daftar Referensi 1. P. Insap Santosa, Struktur Data Menggunakan Turbo Pascal 6.0, Andi Offset, Yogyakarta, 2001 2. Wirth Niklaus, Algorithms and Data Structure, Prentice Hall Int. Inc, 1986 3. Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000 4. Dwi Sanjaya, Bertualang dengan Struktur Data di Planet Pascal, J&J Learning Yogyakarta, 2001 5. Materi Materi dari Internet. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 29

RENCANA KEGIATAN BELAJAR MINGGUAN (RKBM) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 Minggu Ke- Topik (Pokok Bahasan) Metode Pembelajaran Estimasi Waktu (Menit) Media 1 2 3 4 5 3.1 Pengertian Tumpukan 4 3.2 Penyajian Tumpukan Ceramah, 1 x 3 x 50 3.3 Operasi Pada Tumpukan Diskusi Kelas 3.3.1 Operasi Push 3.3.2 Operasi Pop Notebook, LCD, Papan Tulis 5 3.4 Penulisan Ungkapan Numeris Ceramah, Diskusi Kelas 1 x 3 x 50 Notebook, LCD, Papan Tulis Struktur Data / Eva Yulianti, S.Kom.,M.Cs 30

BAB III TUMPUKAN 3.1 PENGERTIAN TUMPUKAN Tumpukan (stack) bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakkan diatas data yang lain. Dimana kita dapat menambah (menyisip) data dan mengambil (menghapus) data lewat ujung yang sama, yang disebut sebagai ujung atas tumpukan (top of stack). Secara sederhana, sebuah tumpukan dapat diilustrasikan seperti Gambar 3.1 dibawah ini. F Atas E D C B A Gambar 3.1 Tumpukan 6 buah kotak Dari gambar terlihat bahwa kotak F adalah bagian atas tumpukan, jika ada kotak lain yang akan disisipkan maka akan diletakkan diatas kotak F, dan jika ada kotak yang akan diambil maka kotak F yang akan diambil pertama kali. Dengan memperhatikan ilustrasi diatas maka bisa dilihat bahwa tumpukan merupakan suatu senarai (list) yang mempunyai watak masuk terakhir keluar pertama (Last In First Out LIFO). 3.2 PENYAJIAN TUMPUKAN Ada beberapa cara untuk menyajikan tumpukan dalam bahasa pemrograman. Cara paling sederhana adalah menggunakan larik (array). Dimana elemen tumpukan tidak melebihi maksimum elemen larik, karena jumlah elemen larik sudah tertentu (statis). Struktur Data / Eva Yulianti, S.Kom.,M.Cs 31

Cara lain, tumpukan bisa disajikan menggunakan rekaman (record). Dengan demikian, tumpukan bisa dideklarasikan sebagai berikut : const MaxElemen = 255; type Tumpukan = record Isi : array [ 1.. MaxElemen ] of integer; Atas : 0.. MaxElemen end; var T : Tumpukan; Dengan deklarasi diatas dianggap bahwa elemen tumpukan T, yang tersimpan dalam larik T.Isi, adalah bertipe integer dan banyaknya elemen tumpukan maksimum adalah sebesar MaxElemen, dalam hal ini 255 elemen. 3.3 OPERASI PADA TUMPUKAN Ada dua operasi dasar yang bisa dilakukan pada sebuah tumpukan, yaitu operasi menyisipkan data (push), operasi menghapus data (pop). Karena kedalam tumpukan bisa mempush data, maka tumpukan sering disebut dengan pushdown list. 3.3.1 Operasi Push Operasi Push adalah operasi untuk menambah (menyisip) elemen pada sebuah tumpukan. Prosedur untuk operasi push adalah sebagai berikut : procedure PUSH (var T : Tumpukan; X : integer); begin if T.Atas = MaxElemen then writeln ( TUMPUKAN SUDAH PENUH ) else begin T.Atas := T.Atas + 1; T.Isi [T.Atas] := X end end; 3.3.2 Operasi Pop Operasi pop adalah operasi untuk menghapus elemen yang terletak pada posisi paling atas dari sebuah tumpukan. Prosedur untuk operasi pop adalah sebagai berikut : procedure POP (var T : Tumpukan); begin if T.Atas = 0 then Struktur Data / Eva Yulianti, S.Kom.,M.Cs 32

writeln ( TUMPUKAN SUDAH KOSONG ) else T.Atas := T.Atas 1 end; 3.4 PENULISAN UNGKAPAN NUMERIS Salah satu pemanfaatan tumpukan adalah untuk menulis ungkapan menggunakan notasi tertentu. Dalam penulisan ungkapan khususnya ungkapan numeris, kita selalu menggunakan tanda kurung untuk mengelompokkan bagian mana yang harus dikerjakan lebih dulu. Contoh : 1. (A + B) * (C D) Suku (A + B) akan dikerjakan lebih dahulu, kemudian suku (C D) dan terakhir mengalikan hasil yang diperoleh dari dua suku ini. 2. A + B * C D Maka B * C akan dikerjakan lebih dahulu, diikuti yang lain. Dalam hal ini pemakaian tanda kurung akan sangat mempengaruhi hasil akhir. Cara penulisan ungkapan sering disebut dengan Notasi Infix, yang artinya adalah operator ditulis diantara dua operand. Seorang ahli matematika yang bernama Jan Lukasiewicz kemudian mengembangkan satu cara penulisan ungkapan numeris yang disebut Notasi Polish atau Notasi Prefix, yang artinya operator ditulis sebelum kedua operand yang akan disajikan. Berikut disajikan beberapa contoh notasi prefix dari notasi infix. Infix Prefix A + B + A B (A + B) * (C D) * + A B C D Secara sederhana, proses konversi dari infix menjadi prefix adalah sebagai berikut : 1. Ungkapan yang akan dikonversikan adalah (A + B) * (C D) 2. Dengan menggunakan tanda kurung bantuan, ungkapan diatas dirubah menjadi: [ + A B ] * [ - C D ] Struktur Data / Eva Yulianti, S.Kom.,M.Cs 33

3. Jika [ + A B ] dimisalkan P, dan [ - C D ] dimisalkan Q, maka ungkapan diatas bisa ditulis menjadi : P * Q 4. Selanjutnya notasi infix diatas dirubah menjadi notasi prefix : * P Q 5. Dengan mengembalikan P dan Q pada notasi semula dan menghapus tanda kurung bantuan, diperoleh notasi prefix dari persamaan (A + B) * (C D) yaitu: * + A B C D Dalam hal ini urutan penulisan operator akan menentukan operasi mana yang harus dikerjakan lebih dahulu. Berikut adalah algoritma untuk mengubah Notasi Infix menjadi Notasi Prefix : Algoritma INFIX KE PREFIX Langkah 0 : Baca ungkapan dalam notasi infix, misalnya S; Tentukan panjang ungkapan tersebut, misalnya N; Siapkan sebuah tumpukan kosong; Siapkan derajat masing-masing operator, misalnya : $ berderajat 3, * dan / berderajat 2, + dan berderajat 1 dan ) berderajat 0. Langkah 1 : Dimulai dari I = 1 sampai N, kerjakan langkah-langkah berikut : a. R = S(I) b. Test Nilai R, jika R adalah : Operand : Langsung ditulis Kurung Buka : Pop dan tulis semua isi tumpukan sampai ), pop juga tanda ini tetapi tidak usah ditulis Kurung Tutup : Push kedalam tumpukan Operator : Jika tumpukan kosong, atau derajat R lebih tinggi dibanding derajat ujung tumpukan, Push operator kedalam tumpukan. Jika tidak pop ujung tumpukan dan tulis. Kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di Push. Catt : Kurung tutup didalam tumpukan dianggap mempunyai derajat yang lebih rendah dibanding R. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 34

Langkah 2 : Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya. Notasi lain yang merupakan kebalikan notasi prefix adalah Notasi Postfix atau notasi suffix, atau lebih dikenal dengan Notasi Polish Terbalik (Reverse Polish Notation RPN). Dalam hal ini operator ditulis sesudah operand. Sama halnya dengan notasi prefix, disini juga diperlukan tanda kurung pengelompokan. Proses konversi dari notasi infix ke notasi postfix adalah : 1. Ungkapan yang akan dikonversikan adalah (A + B) * (C D) 2. Dengan menggunakan tanda kurung bantuan, ungkapan diatas dirubah menjadi : [ A B + ] * [ C D - ] 3. Jika [A B +] dimisalkan P, dan [ C D - ] dimisalkan Q, maka ungkapan diatas bisa ditulis menjadi : P * Q 4. Selanjutnya notasi infix diatas dirubah menjadi notasi postfix : P Q * 5. Dengan mengembalikan P dan Q pada notasi semula dan menghapus tanda kurung bantuan, diperoleh notasi prefix dari persamaan (A + B) * (C D) yaitu: A B + C D - * Dalam hal inipun urutan penulisan operator juga menentukan operasi mana yang harus dikerjakan lebih dahulu. Berikut disajikan beberapa contoh konversi notasi infix menjadi notasi postfix : Infix Postfix A + B - C A B + C - (A + B) * (C D) A B + C D - * Berikut adalah algoritma untuk mengubah Notasi Infix menjadi Notasi Postfix : Algoritma INFIX KE POSTFIX Langkah 0 : Baca ungkapan dalam notasi infix, misalnya S; Tentukan panjang ungkapan tersebut, misalnya N; Siapkan sebuah tumpukan kosong; Struktur Data / Eva Yulianti, S.Kom.,M.Cs 35

Siapkan derajat masing-masing operator, misalnya : $ berderajat 3, * dan / berderajat 2, + dan berderajat 1 dan ( berderajat 0. Langkah 1 : Dimulai dari I = 1 sampai N, kerjakan langkah-langkah berikut : a. R = S(I) b. Test Nilai R, jika R adalah : Operand : Langsung ditulis Kurung Buka : Push kedalam tumpukan Kurung Tutup : Pop dan tulis semua isi tumpukan sampai (, pop juga tanda ini tetapi tidak usah ditulis Operator : Jika tumpukan kosong, atau derajat R lebih tinggi dibanding derajat ujung tumpukan, Push operator kedalam tumpukan. Jika tidak pop ujung tumpukan dan tulis. Kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di Push. Catt : Kurung buka didalam tumpukan dianggap mempunyai derajat yang lebih rendah dibanding R. Langkah 2 : Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya. --ooooooo-- Struktur Data / Eva Yulianti, S.Kom.,M.Cs 36

Soal & Pembahasan : Soal : 1. Apakah yang dimaksud dengan tumpukan (stack). 2. Sebutkan operasi pada tumpukan. Pembahasan : 1. Tumpukan (stack) adalah suatu kumpulan data yang seolah-olah ada data yang diletakkan diatas data yang lain. 2. Operasi pada tumpukan : Operasi Push : operasi untuk menambah (menyisip) elemen pada sebuah tumpukan. Operasi Pop : operasi untuk menghapus elemen yang terletak pada posisi paling atas dari sebuah tumpukan. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 37