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

Ukuran: px
Mulai penontonan dengan halaman:

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

Transkripsi

1 MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1) Deskripsi Singkat Struktur data array memang sederhana namun unsur-unsur pada array terkait rapat sehingga proses menggeser data di dalam array memerlukan waktu yang lebih lama. Selain itu array juga terbatas ukuran, sehingga jika ukuran diset terlalu besar namun yang dipakai sedikit akan mubazir space. Sebaliknya jika data yang dimasukkan terlalu banyak, maka bisa saja melebihi ukuran. Oleh karena itu terdapat struktur data yang fleksibel dari segi ukuran dan kaitan antar item, yaitu linked list. Linked list ini terdiri dari node yang saling terhubung. Node merupakan tipe khusus objek yang mewakili suatu elemen simpanan pada list. Setiap node pasti akan ada data dan reference ke node berikutnya. Pada single linked list, node yang digunakan hanya memiliki satu reference. Sedangkan pada double linked list, node yang digunakan memiliki dua reference ke node lain. Tujuan 1. Memahami konsep linear single linked list dan linear double linked list 2. Memahami konsep circular single linked list dan circular double linked list 3. Menggunakan konsep linear single linked list dan linear double linked list pada program sederhana 4. Menggunakan konsep circular single linked list dan circular double linked list pada program sederhana Materi 1 : Linear Single Linked List Linear single linked list terdiri dari node yang dihubungkan oleh satu reference link menunjuk ke node yang lain secara satu arah. Linear single linked list memiliki 2 atribut yaitu node first dan node last. Elemen awal diakses oleh node first dan elemen akhir diakses oleh node last. Ilustrasinya seperti gambar di bawah. Sebelum kita membuat linked list, maka terlebih dahulu kita membuat class Node. Berikut ini class Node tersebut. public class Node protected int data;

2 protected Node link; /* Constructor */ public Node() link = null; data = 0; /* Constructor */ public Node(int d,node n) data = d; link = n; /* Function to set link to next Node */ public void setlink(node n) link = n; /* Function to set data to current Node */ public void setdata(int d) data = d; /* Function to get link to next node */ public Node getlink() return link; /* Function to get data from current Node */ public int getdata() return data; Setelah kita membuat class Node, barulah kita buat class SinglyLinkedList, berikut ini kode programnya. Class ini juga menambahkan method main untuk menguji class tersebut. public class SinglyLinkedList protected Node first; protected Node last; public int size; /* Constructor */ public SinglyLinkedList() first = null;

3 last = null; size = 0; //method untuk mengecek apakah linked list kosong atau tidak public boolean isempty() return first == null; //method untuk mengembalikan ukuran linked list sekarang public int getsize() return size; //method untuk memasukkan node di awal linked list public void insertawal(int val) //buat satu node baru Node nptr = new Node(val, null); if(first == null) //jika linked list masih kosong last = first; nptr.setlink(first); //tambah ukuran linked list size++; //method untuk memasukkan node di akhir linked list public void insertakhir(int val) //buat satu node baru Node nptr = new Node(val, null); if(first == null) //jika linked list masih kosong last = first; last.setlink(nptr); last = nptr;

4 //tambah ukuran linked list size++; //method untuk memasukkan node di posisi tertentu public void insertatpos(int val, int pos) //buat satu node baru Node nptr = new Node(val, null); if(pos > size) System.out.println("Posisi melebihi batas linked list"); if(pos == 1) insertawal(val); if(pos == size) insertakhir(val); Node ptr = first; pos = pos - 1; for(int i=1; i<size; i++) if(i == pos) //ketemu posisi Node tmp = ptr.getlink(); ptr.setlink(nptr); nptr.setlink(tmp); break; ptr = ptr.getlink(); //tambah ukuran linked list size++; //method untuk menghapus node di awal linked list public void deleteawal() first = first.getlink(); size--; //kurangi ukuran linked list //method untuk menghapus node di akhir linked list public void deleteakhir() Node temp = first;

5 for(int i=1; i<size-1; i++) temp = temp.getlink(); last = temp; last.setlink(null); size--; //kurangi ukuran linked list //method untuk menghapus node pada posisi tertentu public void deleteatpos(int pos) if(pos > size) System.out.println("Posisi node melebihi ukuran"); if(pos == 1) this.deleteawal(); if(pos == size) this.deleteakhir(); Node ptr = first; pos--; for(int i=1; i<=pos; i++) if(i == pos) Node temp = ptr.getlink(); temp = temp.getlink(); ptr.setlink(temp); break; ptr = ptr.getlink(); size--; //method untuk menampilkan semua unsur dalam linked list public void display() Node ptr = first; while(true) if(ptr == null) break; System.out.print(ptr.getData() + "->"); ptr = ptr.getlink();

6 System.out.println(); public static void main(string[] ar) SinglyLinkedList lk = new SinglyLinkedList(); lk.insertawal(10); lk.insertawal(20); lk.insertakhir(30); lk.insertawal(40); lk.insertatpos(50, 2); lk.insertakhir(60); lk.display(); //lk.deleteawal(); //lk.deleteakhir(); lk.deleteatpos(2); lk.display(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan delete? Materi 2 : Linear Double Linked List Linear double linked list terdiri dari node yang dihubungkan oleh dua reference link menunjuk ke node sebelumnya dan node sesudahnya. Linear double linked list memiliki 2 atribut yaitu node start dan node end. Elemen awal diakses oleh node start dan elemen akhir diakses oleh node end. Ilustrasinya seperti gambar di bawah. Sebelum kita membuat linked list, maka terlebih dahulu kita membuat class Node. Class Node pada double linked list tidak sama dengan single linked list karena nodenya memiliki 3 atribuat yaitu data node next dan node prev. Berikut ini class Node tersebut. public class NodeDoubly protected int data; protected NodeDoubly next, prev; /* Constructor */

7 public NodeDoubly() next = null; prev = null; data = 0; /* Constructor */ public NodeDoubly(int d, NodeDoubly n, NodeDoubly p) data = d; next = n; prev = p; /* Function to set link to next node */ public void setlinknext(nodedoubly n) next = n; /* Function to set link to previous node */ public void setlinkprev(nodedoubly p) prev = p; /* Funtion to get link to next node */ public NodeDoubly getlinknext() return next; /* Function to get link to previous node */ public NodeDoubly getlinkprev() return prev; /* Function to set data to node */ public void setdata(int d) data = d; /* Function to get data from node */ public int getdata() return data; Setelah kita membuat class Node, barulah kita buat class DoublyLinkedList, berikut ini kode programnya. Class ini juga menambahkan method main untuk menguji class tersebut. public class DoublyLinkedList

8 protected NodeDoubly first; protected NodeDoubly last; public int size; /* Constructor */ public DoublyLinkedList() first = null; last = null; size = 0; //method untuk mengecek apakah linked list kosong public boolean isempty() return first == null; //method untuk mengembalikan ukuran linked list public int getsize() return size; //method untuk menambah elemen di awal linked list public void insertawal(int val) NodeDoubly nptr = new NodeDoubly(val, null, null); if(first == null) last = first; first.setlinkprev(nptr); nptr.setlinknext(first); size++; //method untuk menambah elemen di akhir linked list public void insertakhir(int val) NodeDoubly nptr = new NodeDoubly(val, null, null); if(first == null) last = first;

9 nptr.setlinkprev(last); last.setlinknext(nptr); last = nptr; size++; //method untuk menambah elemen di sekitar tengah public void insertatpos(int val, int pos) NodeDoubly nptr = new NodeDoubly(val, null, null); if (pos > size) System.out.println("Posisi melebihi batas linked list"); if (pos == 1) insertawal(val); if (pos == size) insertakhir(val); NodeDoubly ptr = first; for (int i = 2; i <= size; i++) if (i == pos) NodeDoubly tmp = ptr.getlinknext(); ptr.setlinknext(nptr); nptr.setlinkprev(ptr); nptr.setlinknext(tmp); tmp.setlinkprev(nptr); ptr = ptr.getlinknext(); size++ ; //method untuk menghapus node di awal linked list public void deleteawal() if(size == 1) //jika hanya ada 1 node first = null; last = null; size = 0; first = first.getlinknext(); first.setlinkprev(null); size--;

10 //method untuk menghapus node di akhir linked list public void deleteakhir() last = last.getlinkprev(); last.setlinknext(null); size--; //method untuk menghapus node di posisi tertentu public void deleteatpos(int pos) if(pos > size) System.out.println("Posisi node melebihi ukuran"); if(pos == 1) this.deleteawal(); if(pos == size) this.deleteakhir(); NodeDoubly ptr = first.getlinknext(); for(int i=2; i<=size; i++) if(i == pos) NodeDoubly p = ptr.getlinkprev(); NodeDoubly n = ptr.getlinknext(); p.setlinknext(n); n.setlinkprev(p); size--; ptr = ptr.getlinknext(); //method untuk menampilkan semua unsur dalam linked list public void display() NodeDoubly ptr = first; while(true) if(ptr == null) break; System.out.print(ptr.getData() + "->"); ptr = ptr.getlinknext(); System.out.println();

11 public static void main(string[] ar) DoublyLinkedList dl = new DoublyLinkedList(); dl.insertawal(10); dl.insertawal(20); dl.insertakhir(30); dl.insertatpos(40, 3); dl.insertatpos(50, 3); dl.display(); dl.deleteawal(); dl.deleteakhir(); dl.deleteatpos(2); dl.display(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan delete? Materi 3 : Circular Single Linked List Circular single linked list mirip seperti linear single linked list. Bedanya jika node last pada linear menunjuk ke null, namun pada circular node last akan selalu menunjuk ke first. Sehingga linked list seakan-akan menjadi bentuk circular/lingkaran. Kondisi lainnya tidak berbeda jauh dengan linked list yang linear single. Ilustrasinya seperti gambar di bawah. Node yang digunakan untuk circular single linked list sama seperti node linear single linked list. Jadi kita langsung lanjutkan dengan membuat kode program CircularSinglyLinkedList. public class CircularSinglyLinkedList protected Node first; protected Node last; public int size; /* Constructor */

12 public CircularSinglyLinkedList() first = null; last = null; size = 0; //method untuk mengecek apakah linked list kosong atau tidak public boolean isempty() return first == null; //method untuk mengembalikan ukuran linked list sekarang public int getsize() return size; //method untuk memasukkan node di awal linked list public void insertawal(int val) //buat satu node baru Node nptr = new Node(val, null); nptr.setlink(first); if(first == null) //jika linked list masih kosong nptr.setlink(first); last = first; last.setlink(nptr); //tambah ukuran linked list size++; //method untuk memasukkan node di akhir linked list public void insertakhir(int val) //buat satu node baru Node nptr = new Node(val, null); nptr.setlink(first); if(first == null) //jika linked list masih kosong

13 nptr.setlink(first); last = first; last.setlink(nptr); last = nptr; //tambah ukuran linked list size++; //method untuk memasukkan node di posisi tertentu public void insertatpos(int val, int pos) //buat satu node baru Node nptr = new Node(val, null); if(pos > size) System.out.println("Posisi melebihi batas linked list"); if(pos == 1) insertawal(val); if(pos == size) insertakhir(val); Node ptr = first; pos = pos - 1; for(int i=1; i<size; i++) if(i == pos) //ketemu posisi Node tmp = ptr.getlink(); ptr.setlink(nptr); nptr.setlink(tmp); break; ptr = ptr.getlink(); //tambah ukuran linked list size++; //method untuk menghapus node di awal linked list public void deleteawal() if(size == 1)

14 first = null; last = null; size = 0; first = first.getlink(); last.setlink(first); size--; //kurangi ukuran linked list //method untuk menghapus node di akhir linked list public void deleteakhir() Node temp = first; for(int i=1; i<size-1; i++) temp = temp.getlink(); last = temp; last.setlink(first); size--; //kurangi ukuran linked list //method untuk menghapus node pada posisi tertentu public void deleteatpos(int pos) if(pos > size) System.out.println("Posisi node melebihi ukuran"); if(pos == 1) this.deleteawal(); if(pos == size) this.deleteakhir(); Node ptr = first; pos--; for(int i=1; i<=pos; i++) if(i == pos) Node temp = ptr.getlink(); temp = temp.getlink(); ptr.setlink(temp); break; ptr = ptr.getlink(); size--;

15 //method untuk menampilkan semua unsur dalam linked list public void display() Node ptr = first; while(true) System.out.print(ptr.getData() + "->"); if(ptr == last) break; ptr = ptr.getlink(); System.out.println(); public static void main(string[] ar) CircularSinglyLinkedList lk = new CircularSinglyLinkedList(); lk.insertawal(10); lk.insertawal(20); lk.insertakhir(30); lk.insertawal(40); lk.insertatpos(50, 2); lk.insertakhir(60); lk.insertakhir(70); lk.display(); lk.deleteawal(); lk.deleteakhir(); lk.deleteatpos(2); lk.display(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan delete? Materi 4 : Circular Double Linked List Circular double linked list mirip seperti linear double linked list. Bedanya jika node last pada linear menunjuk ke null, namun pada circular node last akan selalu menunjuk ke first. Sehingga linked list seakan-akan menjadi bentuk circular/lingkaran. Kondisi lainnya tidak berbeda jauh dengan linked list yang linear double. Ilustrasinya seperti gambar di bawah.

16 Node yang digunakan untuk circular double linked list sama seperti node linear double linked list yaitu class NodeDoubly. Jadi kita langsung lanjutkan dengan membuat kode program CircularDoublyLinkedList. public class CircularDoublyLinkedList protected NodeDoubly first; protected NodeDoubly last; public int size; /* Constructor */ public CircularDoublyLinkedList() first = null; last = null; size = 0; //method untuk mengecek apakah linked list kosong public boolean isempty() return first == null; //method untuk mengembalikan ukuran linked list public int getsize() return size; //method untuk menambah elemen di awal linked list public void insertawal(int val) NodeDoubly nptr = new NodeDoubly(val, null, null); if(first == null) nptr.setlinknext(nptr); nptr.setlinkprev(nptr); last = first; nptr.setlinkprev(last); last.setlinknext(nptr);

17 first.setlinkprev(nptr); nptr.setlinknext(first); size++; //method untuk menambah elemen di akhir linked list public void insertakhir(int val) NodeDoubly nptr = new NodeDoubly(val, null, null); if(first == null) nptr.setlinknext(nptr); nptr.setlinkprev(nptr); last = first; nptr.setlinkprev(last); last.setlinknext(nptr); first.setlinkprev(nptr); nptr.setlinknext(first); last = nptr; size++; //method untuk menambah elemen di sekitar tengah public void insertatpos(int val, int pos) NodeDoubly nptr = new NodeDoubly(val, null, null); if (pos > size) System.out.println("Posisi melebihi batas linked list"); if (pos == 1) insertawal(val); if (pos == size) insertakhir(val); NodeDoubly ptr = first; for (int i = 2; i <= size; i++) if (i == pos) NodeDoubly tmp = ptr.getlinknext(); ptr.setlinknext(nptr); nptr.setlinkprev(ptr); nptr.setlinknext(tmp); tmp.setlinkprev(nptr);

18 ptr = ptr.getlinknext(); size++ ; //method untuk menghapus node di awal linked list public void deleteawal() if(size == 1) //jika hanya ada 1 node first = null; last = null; size = 0; first = first.getlinknext(); first.setlinkprev(last); last.setlinknext(first); size--; //method untuk menghapus node di akhir linked list public void deleteakhir() last = last.getlinkprev(); last.setlinknext(first); first.setlinkprev(last); size--; //method untuk menghapus node di posisi tertentu public void deleteatpos(int pos) if(pos > size) System.out.println("Posisi node melebihi ukuran"); if(pos == 1) this.deleteawal(); if(pos == size) this.deleteakhir(); NodeDoubly ptr = first.getlinknext(); for(int i=2; i<=size; i++) if(i == pos) NodeDoubly p = ptr.getlinkprev(); NodeDoubly n = ptr.getlinknext();

19 p.setlinknext(n); n.setlinkprev(p); size--; ptr = ptr.getlinknext(); //method untuk menampilkan semua unsur dalam linked list public void display() NodeDoubly ptr = first; while(true) System.out.print(ptr.getData() + "->"); if(ptr == last) break; ptr = ptr.getlinknext(); System.out.println(); public static void main(string[] ar) CircularDoublyLinkedList dl = new CircularDoublyLinkedList(); dl.insertawal(10); dl.insertawal(20); dl.insertakhir(30); dl.insertatpos(40, 3); dl.insertatpos(50, 3); dl.display(); dl.deleteawal(); dl.deleteakhir(); dl.deleteatpos(2); dl.display(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan delete?

20 LATIHAN 1 Buat semua class-class yang ada dalam praktikum ini. Apakah yang dapat anda simpulkan? SOAL-SOAL 1.

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2) MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2) Deskripsi Singkat Struktur data linked list telah kita pelajari pada praktikum sebelumnya. Praktikum ini akan memanfaatkan linked list

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE Deskripsi Singkat merupakan bentuk struktur data seperti antrian yang memiliki konsep First In First Out (FIFO). Bermakna data yang pertama masuk merupakan

Lebih terperinci

MODUL III ARRAYLIST TUGAS PENDAHULUAN

MODUL III ARRAYLIST TUGAS PENDAHULUAN MODUL III ARRAYLIST TUGAS PENDAHULUAN 1. Jelaskan pengertian ArrayList? 2. Jelaskan perbedaan Array dan ArrayList? 3. Tuliskan contoh sintak ArrayList! 1. TUJUAN Mahasiswa dapat memahami konsep ArrayList

Lebih terperinci

Algoritma Pemrograman & Struktur Data

Algoritma Pemrograman & Struktur Data MODUL PERKULIAHAN Algoritma Pemrograman & Struktur Data Stack Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Informatika Komputer 04 87042 Abstract Penjelasan mengenai stack dan penggunaannya

Lebih terperinci

Algoritma dan Struktur Data. Queue

Algoritma dan Struktur Data. Queue Algoritma dan Struktur Data Queue Teknik Informatika Universitas Muhammadiyah Malang 2016 Tujuan Instruksional Mahasiswa mampu : Memahami struktur data queue Memahami cara pengoperasian struktur data queue

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Modul Praktikum Algoritma dan Struktur Data Double Linked List Tenia Wahyuningrum, S.Kom., MT Sisilia Thya Safitri, ST., MT ST3 Telkom Purwokerto Jl. DI Panjaitan 128 Purwokerto * Untuk kalangan sendiri

Lebih terperinci

MODUL 6 SINGLE & DOUBLE LINKED LIST

MODUL 6 SINGLE & DOUBLE LINKED LIST MODUL 6 SINGLE & DOUBLE LINKED LIST 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan analisis

Lebih terperinci

Gambar 1. Single Linked List

Gambar 1. Single Linked List PRAKTIKUM 16 ITERATOR PADA SINGLE LINKED LIST A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep Iterator pada SingleLinkedList 2. Mengimplementasikan konsep Iterator pada SingleLinkedList

Lebih terperinci

KUM 3 IMPLEMENTASI LIST

KUM 3 IMPLEMENTASI LIST PRAKTIKUM KUM 3 IMPLEMENTASI LIST TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data LIST menggunakan array. 2. Menggunakan interface untuk mendefinisikan sekumpulan method generik dan dapat diimplementasikan

Lebih terperinci

Gambar 1. Single Linked List

Gambar 1. Single Linked List PRAKTIKUM 16 SINGLE LINKED LIST 2 A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep SingleLinkedList untuk menghapus sebuah node 2. Memahami konsep SingleLinkedList untuk mencari index

Lebih terperinci

Gambar 1. Single Linked List

Gambar 1. Single Linked List PRAKTIKUM 15-16 SINGLE LINKED LIST A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep Linked List 2. Memahami dan mampu membedakan Linked list dengan array 3. Memahami operasi yang

Lebih terperinci

LAPORAN PRAKTIKUM IX. Oleh:

LAPORAN PRAKTIKUM IX. Oleh: LAPORAN PRAKTIKUM IX LINKED LIST Disusun untuk Memenuhi Matakuliah Praktikum Algoritma Struktur Data Dibimbing oleh Ibu Annisa Puspa Kirana, S. Kom, M. Kom Oleh: Dwitha Fajri Ramadhani 160533611410 Ika

Lebih terperinci

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

List Linear (Linked List) Farah Zakiyah Rahmanti 2014 List Linear (Linked List) Farah Zakiyah Rahmanti 2014 Overview Single Linked List Double Linked List Circular List SINGLE LINKED LIST Deskripsi Single linked list atau biasa disebut dengan linked list

Lebih terperinci

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU Deskripsi Singkat MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU Praktikum struktur data dan algoritma adalah praktikum yang mendukung mata kuliah struktur data dan algoritma.

Lebih terperinci

Linked List dan Implementasinya dalam Bahasa Java

Linked List dan Implementasinya dalam Bahasa Java Linked List dan Implementasinya dalam Bahasa Java tutorialpemrograman.wordpress.com - 2009 1 Single Linked List : ~ Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya dan

Lebih terperinci

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta Data structure :Metode LINK LIST Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta Pengelolaan Memori : Konsep Dasar Secara Statis, sebagai Contoh penggunaan tipe array menempati lokasi memory yang tetap(

Lebih terperinci

LIST. Dewi Sartika, M.Kom

LIST. Dewi Sartika, M.Kom LIST PENDAHULUAN Linked List adalah sejumlah objek yang dihubungkan (linked) satu dengan yang lainnya membentuk suatu list. Objek adalah gabungan dari beberapa data (variable) yang dijadikan satu kelompok

Lebih terperinci

KUM 5 IMPLEMENTASI QUEUE

KUM 5 IMPLEMENTASI QUEUE PRAKTIKUM KUM 5 IMPLEMENTASI QUEUE TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data Queue menggunakan array. 2. Mampu mengimplementasikan struktur data Queue dengan Linked List 3. Mampu memanfaatkan

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

Algoritma Dan Struktur Data II

Algoritma Dan Struktur Data II Algoritma Dan Struktur Data II List, Stack Putuputraastawa@gmail.com putuastawa.wordpress.com Beberapa Jenis Struktur Data 1. Array 1. Linear List 2. Stack 3. Queue 1. Apa? 2. Bagaimana cara implementasinya?

Lebih terperinci

Praktikum Algoritma dan Struktur Data

Praktikum Algoritma dan Struktur Data BAB 7 DOUBLE LINKED LIST (SENARAI BERKAIT GANDA) 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan

Lebih terperinci

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

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015 I. TUJUAN II. Mahasiswa mampu

Lebih terperinci

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR TUJUAN 1. Mahasiswa memahami dan mengerti mengenai double linked list circular dalam C++ 2. Mahasiswa mampu membuat program dengan menggunakan

Lebih terperinci

Algoritma Pemrograman & Struktur Data

Algoritma Pemrograman & Struktur Data MODUL PERKULIAHAN Algoritma Pemrograman & Struktur Data Linked List Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Informatika Komputer 03 87042 Abstract Penjelasan mengenai linked

Lebih terperinci

Gambar 1. Single Linked List

Gambar 1. Single Linked List PRAKTIKUM 15 SINGLE LINKED LIST 1 A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep SingleLinkedList untuk menambahkan node baru di awal, diakhir dan di index tertentu dan mengimplementasikan.

Lebih terperinci

Gambar 17.1Representasi Sebuah Node di Double Linked List. Gambar 17.2 Double Linked List

Gambar 17.1Representasi Sebuah Node di Double Linked List. Gambar 17.2 Double Linked List A. TUJUAN PEMBELAJARAN 1. Memahami konsep Double Linked List. PRAKTIKUM 17 DOUBLE LINKED LIST 1 2. Mengetahui cara membuat sebuah Node pada Double Linked List. 3. Mampu membuat Double Linked List sendiri.

Lebih terperinci

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi. Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

Double Linked List mempunyai reference front untuk menandai awal node dan reference back untuk menandai akhir list

Double Linked List mempunyai reference front untuk menandai awal node dan reference back untuk menandai akhir list PRAKTIKUM 18 DOUBLE LINKED LIST 2 A. TUJUAN PEMBELAJARAN 1. Memahami konsep Double Linked List. 2. Mengetahui cara membuat sebuah Node pada Double Linked List. 3. Mampu membuat Double Linked List sendiri.

Lebih terperinci

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based IX. Implementasi ADT : Stacks & Queues STRUKTUR DATA 1 Outline ADT Stacks Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based ADT Queues Operasi dasar Contoh kegunaan Implementasi

Lebih terperinci

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Media Informatika Vol. 15 No.3 (2016) IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Rachmat Selamet Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

Lebih terperinci

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail Pertemuan 4 Single Linked List non Circular Menggunakan Head dan Tail Dibutuhkan dua variabel pointer : head dan tail Head selalu menunjuk pada node pertama, sedangkan tail selalu menunjuk pada node terakhir.

Lebih terperinci

STRUKTUR DATA. Literatur

STRUKTUR DATA. Literatur STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS Literatur Sjukani Moh, (2007), Struktur Data (Algoritma & Struktur Data 2) dengan C, C++, Mitra Wacana Media Utami Ema dkk, (2007), Struktur Data (Konsep

Lebih terperinci

Struktur Data dan Algoritma

Struktur Data dan Algoritma Struktur Data dan Algoritma Implementasi ADT: Stacks & Queues Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil

Lebih terperinci

Double Linked List. Double Linked List

Double Linked List. Double Linked List Double Linked List Arna Fariza Yuliana Setiowati Double Linked List Sama seperti single linked list, double linked list mempunyai struktur sequential. Double Linked List terdiri dari dua reference yang

Lebih terperinci

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka LINKed LIST PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahkan saat dibutuhkan, tidak dialokasikan dengan

Lebih terperinci

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

1. Traversing Untuk algoritma traversing sama seperti pada single Link List SENARAI BERANTAI DUA ARAH (DOUBLE LINKED LIST) Senarai Berantai Dua Arah (Double Linked List) merupakan bentuk pengembangan Senarai Berantai (Link List) yang tidak hanya memiliki pointer yang menunjuk

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 4 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

Bagian I. Studi Kasus [82] Tanda tangan:

Bagian I. Studi Kasus [82] Tanda tangan: UJIAN TENGAH SEMESTER GANJIL NIM: 2010/2011 dan Struktur Data / CS2014 Nama : HARI : Kamis, 30 Oktober 2009 WAKTU : 110 menit DOSEN : TIM SIFAT : Tutup Buku, No Electronic Device Tanda tangan: Petunjuk:

Lebih terperinci

(3) BAHAN KAJIAN (materi ajar)

(3) BAHAN KAJIAN (materi ajar) FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL RENCANA PEMBELAJARAN Matakuliah : Konsep Struktur Data Semester : Genap Kode : 08010305 SKS : 2 Jurusan : Manajemen Informatika Dosen

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS DOUBLE LINKED LIST Danang Wahyu Utomo danang.wu@dsn.dinus.ac.id +6285 740 955 623 RENCANA KEGIATAN PERKULIAHAN SEMESTER W Pokok Bahasan 1 ADT Stack 2 ADT Queue 3 List Linear 4 List Linear 5 List Linear

Lebih terperinci

List: Pokok Bahasan dan TIK

List: Pokok Bahasan dan TIK LIST B U D I S List: Pokok Bahasan dan TIK Pokok Bahasan Definisi list, TDA list, implementasi list dengan array, linked list dan doubly linked list Tujuan Instruksional Khusus Mahasiswa mampu mengembangkan

Lebih terperinci

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar. QUEUE (ANTREAN) ANTREAN (Queue) Suatu bentuk khusus dari linear list, dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut REAR, dan operasi penghapusan (deletion)

Lebih terperinci

Lab. Teknik Informatika Struktur Data 1

Lab. Teknik Informatika Struktur Data 1 2. POINTER dan SINGLE LINK LIST TUJUAN PRAKTIKUM 1. Praktikan mengetahui tipe struktur data baru yaitu tipe data Pointer. 2. Praktikan menggunakan pointer didalam pembuatan program dan dapat menerapkannya

Lebih terperinci

STRUKTUR DATA (2) Single Linked List

STRUKTUR DATA (2) Single Linked List STRUKTUR DATA (2) Single Linked List Linked List Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan

Lebih terperinci

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

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list Universitas Muhammadiyah Sukabumi Artikel Struktur Data Oleh : fahmi fauzi Masukan Judul... 1. STACK DAN QUEUE DENGAN LINKED LIST Pengertian Linked list : sekumpulan elemen bertipe sama, yang mempunyai

Lebih terperinci

Variasi List Linier. Nisa ul Hafidhoh, MT

Variasi List Linier. Nisa ul Hafidhoh, MT Variasi List Linier Nisa ul Hafidhoh, MT nisa@dsn.dinus.ac.id Variasi Variasi List dengan Dummy Circular List Double Linked list Variasi List dengan Dummy Elemen fiktif / elemen dummy : elemen yang sengaja

Lebih terperinci

Struktur Data dan Algoritma

Struktur Data dan Algoritma Struktur Data dan Algoritma Implementasi ADT: Linked - List Suryana Setiawan, Ruli Manurung & Ade Azurat ( Denny (acknowledgments: Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil

Lebih terperinci

Single Linked List. Single Linked List

Single Linked List. Single Linked List Single Linked List Single Linked List Single linked list atau linked list Tiap elemen terdiri dari dua bagian, yaitu sebuah data dan sebuah pointer/link yang disebut dengan link next. 1 Single Linked List

Lebih terperinci

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

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT TUGAS 1 Oleh : Andri Heryandi, M.T. TUGAS Buatlah class untuk struktur data Stack dan Queue Oleh : Andri Heryandi, M.T. 2 SPESIFIKASI STACK Kegunaan : Class ini digunakan untuk

Lebih terperinci

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List Algoritma dan Struktur Data Pertemuan 9 Circular Linked List Struktur Circular Linked List plist A B C Node (elemen) circular linked list saling berkait melalui pointer. Bagian next sebuah node menunjuk

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA Modul ke: 03 Fitrianingsih, Fakultas FASILKOM ALGORITMA DAN STRUKTUR DATA OLEH : Skom., MMSI Program Studi Sistem Informasi Bagian Isi POINTER POINTER DAN ADDRESS POINTER DAN FUNCTION LINKED LIST ALGORITMA

Lebih terperinci

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Algoritma dan Struktur Data. Pertemuan 7 Linked List Algoritma dan Struktur Data Pertemuan 7 Linked List Definitions Linked List Struktur data yang terdiri atas sekumpulan data bertipe sama Memperhatikan urutan Array Struktur data yang terdiri atas sekumpulan

Lebih terperinci

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 29 Juni 2015

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 29 Juni 2015 JULIO ADISANTOSO Departemen Ilmu Komputer IPB Pertemuan 3 : 29 Juni 2015 SLL using Standard Template Library SLL using Mengapa? = ST L (L huruf ke-12). Jadi ST L = ST 12 ;) Mengapa menggunakan? Reduce

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT Deskripsi Singkat MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT Pada praktikum ke-1, kita telah mempelajari cara untuk menghitung interval waktu untuk 2 metode

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya Politeknik Elektronika Negeri Surabaya PRAKTIKUM 28 BINARY SEARCH TREE 2 A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep menghapus node pada Binary Search Tree. Node yang dihapus adalah node

Lebih terperinci

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree PRAKTIKUM 27 BINARY SEARCH TREE A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree B. DASAR TEORI Binary search tree adalah salah satu

Lebih terperinci

BAB II Senarai Berantai (Linked List)

BAB II Senarai Berantai (Linked List) BAB II Senarai Berantai (Linked List) Tujuan 1. Memahami pengertian linked list, gunanya dan dapat mengimplementasikan dalam pemrograman 2. Dapat mengidentifikasi permasalahan-permasalahan pemrograman

Lebih terperinci

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1 LABORATORIUM KOMPUTER DASAR PROGRAM STUDI SISTEM INFORMASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA PRAKTIKUM PEMROGRAMAN LANJUT SEMESTER :GENAP TAHUN : 2013/2014 MODUL 1 Judul

Lebih terperinci

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

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List. PRAKTIKUM 21 STACK A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List. B. DASAR TEORI Salah satu konsep yang efektif

Lebih terperinci

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai

Lebih terperinci

INTERAKSI ANTAR OBJECT

INTERAKSI ANTAR OBJECT INTERAKSI ANTAR OBJECT Farah Zakiyah Rahmanti, M.T 2015 Overview Constructor Overloading Constructor Hak Akses (public, protected, private) Contoh Static Class Constructor (konstruktor) Constructor adalah

Lebih terperinci

Struktur Data II. Single Linked List - Non circular

Struktur Data II. Single Linked List - Non circular Struktur Data II Single Linked List - Non circular Linked List?(1) Struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial. Saling sambung-menyambung, dinamis dan terbatas. Linked List

Lebih terperinci

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 27 Juni 2016

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 27 Juni 2016 JULIO ADISANTOSO Departemen Ilmu Komputer IPB Pertemuan 3 : 27 Juni 2016 SLL using Standard Template Library SLL using Mengapa? = ST L (L huruf ke-12). Jadi ST L = ST 12 ;) Mengapa menggunakan? Reduce

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 3 Queue (Antrian) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami stuktur data yang digunakan pada antrian baik yang berupa array maupun

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs. Algoritma dan Struktur Data Ramos Somya, S.Kom., M.Cs. Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat

Lebih terperinci

Stack. Gambar 1.1 Stack

Stack. Gambar 1.1 Stack Stack Stack adalah struktur data yang memiliki sifat last in first out. Struktur dari stack yang dapat kita lihat sehari-hari adalah : tumpukan (lihat gambar 1.1) Gambar 1.1 Stack Terdapat 2 (dua) operasi

Lebih terperinci

Array Multidimensi. Pemrograman Dasar. Java

Array Multidimensi. Pemrograman Dasar. Java Array Multidimensi Pemrograman Dasar Java Array 0 1 2 3 4 banyaknya elemen: 5 index elemen dari 0 s.d array.length-1 Deklarasi dan Pembuatan Array Menggunakan operator new new Type [panjangarray ] Ukuran

Lebih terperinci

05. Double Linked List

05. Double Linked List 0. Double Linked List ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep double linked list dan operasi pada single linked list. 2. Mahasiswa dapat mengimplementasikan double

Lebih terperinci

LAPORAN PRAKTIKUM RESMI QUEUE

LAPORAN PRAKTIKUM RESMI QUEUE LAPORAN PRAKTIKUM RESMI QUEUE Disusun oleh : Amin Setyaningrum 201301052 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO

Lebih terperinci

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1) PRAKTIKUM 9-10 ALGORITMA PENGURUTAN (INSERTION DAN SELECTION) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan insertion sort dan selection sort. 2. Mampu mengimplementasikan algoritma

Lebih terperinci

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan) PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan) inslls_05@yahoo.co.id A. Pembahasan Stack Algoritma stack merupakan struktur data yang mengimplementasi dari aturan LIFO (Last In First Out).

Lebih terperinci

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM 5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM 1. Praktikan mengenal salah satu lagi tipe khusus dari link list yaitu queue/ antrian beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan

Lebih terperinci

Algoritma dan Struktur Data. Linked List

Algoritma dan Struktur Data. Linked List Algoritma dan Struktur Data Linked List Syntax: struct nama_struct { tipe_data_1 nama_var_1; tipe_data_2 nama_var_2; tipe_data_3 nama_var_3; }; 2 KONSEP ALOKASI MEMORY DINAMIS 1. Deklarasikan pointer yang

Lebih terperinci

Praktikum Exception Handling

Praktikum Exception Handling Praktikum Exception Handling. Jelaskan mengenai definisi Exception!. Semua exception yang berasal dari java.lang.runtimeexception adalah unchecked exceptions, sedangkan exception lainnya yang tidak berasal

Lebih terperinci

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006 Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006 Bagian A (total 75 point) Petunjuk: Jawablah ke 25 pertanyaan berikut ini dan isikan jawaban

Lebih terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : PENGENALAN OBJECT ORIENTED PROGRAMMING NAMA : ABDUL LATIF NIM : 0000 TANGGAL : 0/09/06 ASISTEN : - AFIFUR

Lebih terperinci

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail Tugas Studi Kasus Linked List SLLNC dengan Head & Tail Diajukan Untuk Memenuhi Salah Satu Tugas Mata Kuliah Algoritma 2 Disusun Oleh : Kelas IS-8 Andrian Ramadhan F. (10512318) M.Tryawan C.N. (10512324)

Lebih terperinci

Konsep Lanjut Pemrograman Objek

Konsep Lanjut Pemrograman Objek Constructor Konsep Lanjut Pemrograman Objek Restyandito e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito Constructor merupakan metode khusus yang memiliki nama sama dengan kelasnya.

Lebih terperinci

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree) PRAKTIKUM 25 BINARY TREE A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep dari BinaryTree 2. Memahami cara membangun Binary Tree secara manual 3. Memahami konsep dan implementasi dari menghitung

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya

Algoritma dan Struktur Data. Ramos Somya Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,

Lebih terperinci

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

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception. PRAKTIKUM 18 MELEMPAR EXCEPTION DAN MEMBUAT EXCEPTION SENDIRI A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception.. Mengetahui cara membuat sendiri class exception.

Lebih terperinci

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK Prepared by: Ardianto Satriawan (02-2015) Pengenalan Pengertian Stack Pada Tugas Pendahuluan praktikum kali ini, anda tidak diminta

Lebih terperinci

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1 3. DOUBLE LINK LIST TUJUAN PRAKTIKUM Setelah mengenal tipe data single link list maka : 1. Praktikan diharapkan dapat menggunakan double link list. 2. Praktikan diharapkan mengerti perbedaan antara single

Lebih terperinci

Array VS Linked List

Array VS Linked List Linked List Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (disebut node atau simpul) biasanya dalam bentuk struct, yang tersusun secara sekuensial dan saling menyambung. Linked

Lebih terperinci

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN) Pertemuan 5 STACK atau TUMPUKAN STACK (TUMPUKAN) Merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top)

Lebih terperinci

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit Soal No. 1 Berikut ini adalah program sirkular linked list terurut, lengkapilah bagian titik-titik dengan jawaban yang anda anggap benar. #include #include // enable malloc() and free()

Lebih terperinci

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri Senarai berantai linked list Pertemuan keenam Struktur data st3telkom.ac.id by : tenia wahyuningrum & Sisilia Thya Safitri Senarai berantai Dalam pemakaian sehari-hari istilah senarai berantai (list) adalah

Lebih terperinci

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan. Panduan dalam mengimplementasikan Stack dan Queue. Silakan Anda membuat kode implementasi dari latihan ini, dan hasilnya simpan sebagai library program Anda. Jika Anda ingin bisa/sukses dalam kuliah SDA

Lebih terperinci

SINGLE LINKED LIST (NON CIRCULAR)

SINGLE LINKED LIST (NON CIRCULAR) SINGLE LINKED LIST (NON CIRCULAR) KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu

Lebih terperinci

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

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs. Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs. Array pada Java adalah objek yang dapat digunakan untuk menyimpan data-data dengan tipe yang sama. Tipe dari data yang disimpan

Lebih terperinci

BAB IV Antrian(Queue)

BAB IV Antrian(Queue) BAB IV Antrian(Queue) Tujuan 1. Memahami berbagai cara untuk merepresentasikan queue secara sekuensial maupun dengan menggunakan linked list 2. Memahami implementasi queue dalam menyelesaikan sebuah permasalahan

Lebih terperinci

Modul 4: Iteratif & Rekursif, Binary Tree

Modul 4: Iteratif & Rekursif, Binary Tree Modul 4: Iteratif & Rekursif, Binary Tree Tujuan Instruksi Khusus: Mahasiswa dapat memahami algoritma Iteratif dan Rekursif Mahasiswa dapat memahami struktur Binary Tree Teori Efektifitas pemilihan algoritma

Lebih terperinci

KUM 6 IMPLEMENTASI BINARY TREE

KUM 6 IMPLEMENTASI BINARY TREE PRAKTIKUM KUM 6 IMPLEMENTASI BINARY TREE TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data Binary Tree menggunakan linked list. 2. Mampu mengimplementasikan beragam operasi pada struktur data binary

Lebih terperinci

Modul Praktikum 3 Pemograman Berorientasi Objek

Modul Praktikum 3 Pemograman Berorientasi Objek Modul Praktikum 3 Pemograman Berorientasi Objek 1. Judul : Kontrol Keputusan dan Pengulangan 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menggunakan struktur kontrol keputusan

Lebih terperinci

Array dan Vector Linked List STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2 : 23 Juni 2015

Array dan Vector Linked List STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2 : 23 Juni 2015 JULIO ADISANTOSO Departemen Ilmu Komputer IPB Pertemuan 2 : 23 Juni 2015 Array Vector Struct Array Array Array Vector Struct Struktur data linier yang dapat menyimpan lebih dari satu buah nilai, umumnya

Lebih terperinci