Modul 3: Tipe Data Abstrak Dinamis List, LinkList dan Model Antrian Stack & Queue

dokumen-dokumen yang mirip
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

Praktikum STRUKTUR DATA

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Modul 4: Iteratif & Rekursif, Binary Tree

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

LAPORAN PRAKTIKUM IX. Oleh:

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Gambar 1. Single Linked List

Algoritma Pemrograman & Struktur Data

Algoritma Dan Struktur Data II

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

Algoritma dan Struktur Data. Queue

IF PEMROGRAMAN LANJUT GENERIC. Oleh : Andri Heryandi, M.T.

Algoritma dan Struktur Data STACK

Gambar 1. Single Linked List

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Modul Praktikum 4 Pemograman Berorientasi Objek

Pemrograman Berorientasi. Array dan Collections

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

Gambar 1. Single Linked List

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Gambar 1. Ilustrasi Stack

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

KOLEKSI OBJECT. Farah Zakiyah Rahmanti, M.T Universitas Dian Nuswantoro

INTERAKSI ANTAR OBJECT

Modul Praktikum Bahasa Pemrograman 1

Oleh : Rahmady Liyantanto

Bahasa Pemrograman :: Object Oriented Programming

Konsep Lanjut Pemrograman Objek

KUM 5 IMPLEMENTASI QUEUE

Praktikum Exception Handling

Gambar 1. Single Linked List

LAPORAN PRAKTIKUM RESMI QUEUE

Arrays, Collections and Generics. Sisilia Thya Safitri, MT Agus Priyanto, MKom

MODUL IV STACK A. TUJUAN

LAPORAN RESMI INHERITANCE

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Politeknik Elektronika Negeri Surabaya

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Modul Praktikum Algoritma dan Struktur Data

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Belajar ArrayList di Java

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

(3) BAHAN KAJIAN (materi ajar)

Array Multidimensi. Pemrograman Dasar. Java

Single Linked List (1)

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Algoritma Pemrograman [BS204]

A. TEORI ARRAY 1 DIMENSI

Array 1 Dimensi pada Java

PEMROGRAMAN JAVA : ARRAY

MATERI PRAKTIKUM STRUKTUR DATA

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

B. DASAR TEORI AlGORITMA TRAVERSAL GRAPH Terdapat beberapa perbedaan Tree dan Graph dijelaskan pada tabel Tabel 31.1 Perbedaan Tree dan Graph

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

MINGGU X : COLLECTIONS

Pemrograman Berorientasi. Class dan Obyek 2

DASAR PEMROGRAMAN JAVA. Astrid Lestari Tungadi, S.Kom., M.TI.

Array Sebagai Parameter Method

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

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

subclass class manapun private default protected public package yang sama

Praktikum KPLBO Class dan Object I

A. TEORI ARRAY 1 DIMENSI

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

Buku Ajar & Panduan Praktikum

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Beberapa Contoh Penggunaan Array

Grouping Object. Viska Mutiawani, M.Sc

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

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Dasar Pemrograman Java

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

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

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

ARNA FARIZA YULIANA SETIOWATI

A. Judul Percobaan/praktikum Tipe Data, Keyword, Variabel, Operator dan Teknik Konfersi

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Transkripsi:

Modul 3: Tipe Data Abstrak Dinamis List, LinkList dan Model Antrian Stack & Queue Tujuan Instruksi Khusus: Mahasiswa dapat memahami implementasi tipe data abstrak List dan LinkList Mahasiswa dapat memahami pemodelan antrian Stack & Queue. Teori Efektifitas pemilihan ADT sangat berpengaruh pada kinerja program, dengan menggunakan struktur data yang tepat maka kinerja program sesuai dengan ketentuan. Pada pembahasan modul ini dilakukan pengujian penggunan List dan Linklist untuk operasional antrian Stack dan Queue. List List merupakan tipe data koleksi yang memiliki indeks kontinyu dan dapat dioperasikan secara dinamis tanpa dibatasi jumlah indeks ataupun tipe data dasarnya. Operasional koleksi list mengikuti standar antrian Queue dimana setiap data masukan akan selalu ditempatkan pada indeks berikutnya. Sebuah ilustrasi jika terdapat koleksi data A... Z, maka list memiliki struktur data sebagaimana ditunjukkan pada Gambar 1 1

Gambar 1, Indeks masukan data didalam List Jika terdapat penghapusan data maka indeks yang lebih kecil misalkan indeks ke-0 maka indeks berikutnya yang lebih besar indeks ke-1 akan menggantikannya, Gambar 2, Indeks penghapusan data didalam List Untuk menguji operasi memasukkan dan menghapus data didalam List ditunjukkan pada listing program Gambar 1. 2

Class MyListTest{ public static void main(string[] args) { List l = new ArrayList(); l.add("a"); l.add("b"); l.add("c"); l.add("d"); l.remove(0); System.out.println("List Java"); for(object queuelist : l){ System.out.println(queueList+ -> ); B->C->D Gambar 3, Listing program memasukkan dan menghapus data didalam List Dari listing program pada Gambar 3 menunjukkan bahwasanya data yang masuk pertama kali adalah data yang terdapat pada indeks terkecil, dan apabila dilakukan penghapusan indeks terkecil akan digantikan oleh indeks yang berikutnya, pola operasional seperti ini mengikuti pola First in First Out atau Queue. Gambar antrian queue ditunjukkan pada Gambar 4. 3

Gambar 4, Operasional antrian Queue LinkList LinkList adalah tipe data koleksi seperti List tetapi memiliki indeks yang diskontinyu. Indeks data LinkList tidak terkait secara fisik, namun indek data terkoneksi melalui link. Ilustrasi LinkList ditunjukkan pada Gambar 5. Gambar 5, Ilustrasi LinkList Dengan menggunakan struktur data yang diskontinyu, LinkList memiliki operasional yang sangat dinamis baik untuk memasukkan data ataupun menghapus data. Data didalam linklist dapat dimasukkan pada indeks yang paling kecil ataupun paling besar ataupun disisipkan diantara indeks yang ada, sebagaimana ditunjukkan pada Gambar 6. 4

Gambar 6. Operasional memasukkan data kedalam LinkList Contoh dengan menggunakan operasional LinkList java kita bisa memasukkan data pada indeks yang terkecil dengan menggunakan operasi addfirst ataupun pula pada indeks yang terbesar sebagaimana ditunjukkan pada Listing program Gambar 7. 5

Class JavaLinkListTest{ public static void main(string[] args) { LinkedList llist = new LinkedList(); llist.add("a"); llist.addfirst("b"); llist.addfirst("c"); llist.addfirst("d"); llist.addfirst("e"); llist.addfirst("f"); llist.addfirst("g"); llist.addlast("i"); llist.add(3, "X"); llist.remove(0); for(object stacklist : llist){ System.out.print(stackList+"->"); G->F->E->X->D->C->B->A->I-> Gambar 7, Operasional LinkList didalam java berikut: Ilustrasi memasukkan data didalam LinkList ditunjukkan pada Gambar 8 6

G F 0 1 E D C B A 6 G 0 G Hapus Indeks F E D C B A 1 X 6 3 F E X D C B ke-0 A Gambar 8, Operasional LinkList 7

Dari operasional memasukkan dan menghapus data menunjukkan bahwasanya indeks terkecil dari LinkList adalah indeks yang terakhir kali dimasukkan, ini menunjukkan bahwa LinkList menggunakan pola antrian Last In First Out (LIFO) atau Stack. Ilustrasi operasional antrian Stack ditunjukkan pada Gambar 9. Gambar 9, Operasional LIFO atau Stack. Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, dan lakukan pengujian kode program untuk mengerti pembahasan terkait dan implementasi pemrogramannya Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait tipe data List: Bagaimana menurut anda efektivitas penggunaan tipe data koleksi List untuk operasional Stack...? 8

jelaskan cara yang bisa dilakukan untuk operasional Stack didalam List...? Bisakah anda menyisipkan data didalam List...? jelaskan caranya...! 2. Jawablah Pertanyaan berikut terkait tipe data LinkList Bagaimana menurut anda efektivitas penggunaan tipe data koleksi LinkList untuk operasional Queue dan Stack...? Bisakah anda menyisipkan data didalam LinkList...? jelaskan caranya...! 3. Jelaskan perbedaan kelebihan dan kekurangan antara List dan LinkList...? Tugas Praktikum, 1. Jika kita membangun ADT LinkList sendiri dengan inisialisasi obyek sebagaimana ditunjukkan pada Gambar 10, buatlah program untuk LinkList dengan oerasional: Memasukkan data dengan operasional Stack, Queue serta Sisip. Mencari, mengubah dan menghapus data berdasarkan kata kunci pencarian tertentu. Obyek Node didalam LinkList 9

class Node { public Object data; public Node nextlink; //Link constructor public Node(Object d) { data = d; //Print Link data public String tostring() { return(data+"->"); Gambar 10, Obyek Node data didalam ADT LinkList 2. Buatlah program mengelolah data mahasiswa yang memiliki nama, nim, dan alamat dengan menggunakan ADT LinkList sendiri, dimana program dapat mencari, memasukkan, menghapus dan mengubah data didalam LinkList. Obyek Node Mahasiswa didalam LinkList 10

class Mahasiswa { public String nama; public int nim; public String alamat; public Mahasiswa nextlink; //Link constructor public Mahasiswa(String pnama, int pnim, String palamat) { nama = pnama; nim = pnim; alamat = palamat; //Print Link data public String tostring(){ return (nama+" "+nim+" "+alamat); Gambar 11, Obyek Node mahasiswa didalam ADT LinkList 11