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

dokumen-dokumen yang mirip
STRUKTUR DATA (2) Single Linked List

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Struktur Data II. Single Linked List - Non circular

KONSEP POINTER DAN LINKED LIST

Praktikum Algoritma dan Struktur Data

MODUL 6 SINGLE & DOUBLE LINKED LIST

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

KONSEP POINTER DAN LINKED LIST

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

Array VS Linked List

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

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

STRUKTUR DATA single linked list non circular

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

SINGLE LINKED LIST (NON CIRCULAR)

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

DIKTAT PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

LAPORAN PRAKTIKUM IX. Oleh:

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

Algoritma dan Struktur Data

LIST. Dewi Sartika, M.Kom

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

Algoritma dan Struktur Data. Ramos Somya

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Single Linked List (1)

Modul Praktikum Algoritma dan Struktur Data

05. Double Linked List

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

Review : Sifat Implementasi Linear List dengan Array

Tutorial - Single Linked List

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

BAB IX LINKED LIST (SENARAI BERANTAI)

SENARAI BERANTAI (LINK LIST)

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

Algoritma dan Struktur Data. Linked List

BAB II Senarai Berantai (Linked List)

Algoritma dan Struktur Data. Pertemuan 7 Linked List

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

Algoritma Pemrograman & Struktur Data

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

MODUL PRAKTIKUM STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS ESA UNGGUL

ALGORITMA & PEMROGRAMAN

Linked List dan Implementasinya dalam Bahasa Java

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Pertemuan 7. REVIEW dan QUIS

ALGORITMA DAN STRUKTUR DATA

LAPORAN PRAKTIKUM RESMI QUEUE

04. Single Linked List

Praktikum Algoritma dan Struktur Data 2010

Linked List 6.3 & 7.3 NESTED LOOP

A. TUJUAN PEMBELAJARAN

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

Lab. Teknik Informatika Struktur Data 1

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Double linked list. Gambar 1. Double linket list dengan empat simpul Deklarasi Double Linked List di dalam Pascal :

DIG1G3 Implementasi Struktur Data

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

Struct Lanjutan: Studi Kasus

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

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

LIST BERKAIT(LINKED LIST)

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

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

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

Algoritma Pemrograman & Struktur Data

Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.

STRUKTUR DATA. Literatur

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

REPRESENTASI FISIK LIST LINEAR

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Algoritma Dan Struktur Data II

DOUBLY LINKED LIST PROGRAM : DOUBLY LINKED LIST (TAMBAH SIMPUL DI BELAKANG)

Linked List. Bandung 2013

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

// Created by Andri Andriyan // Linked List. #include <stdlib.h> #include <conio2.h> #include <stdio.h>

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

BAB IV Antrian(Queue)

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

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

BAB IX LINKED LIST (SENARAI BERANTAI)

List Berkait(Linked List) Overview. Tujuan Instruksional

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

A. TUJUAN PEMBELAJARAN

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

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

DIG1G3 Implementasi Struktur Data

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

Penambahan Simpul (Node)

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

POINTER. Tim Alpro Teknik Informatika

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Transkripsi:

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( fixed size) sehingga tidakdapat dikembangkan. Secara Dinamis, Menempati alokasi memori yang dapat dikembangkan, misalnya penggunaan tipe Pointer. Salah satu proses penggunaan tipe pointer yaitu dengan metode Link List.

Definisi Link List Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung menyambung, dinamis dan terbatas. Linked List saling terhubung dengan bantuan variabel pointer Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field. Contoh Ilustrasi Link List

MACAM LINK LIST SINGLE LINK LIST NON CIRCULAR SINGLE LINK LIST CIRCULAR DOUBLE LINK LIST CIRCULAR DOUBLE LINK LIST NON CIRCULAR

Circular single & Double Linked List

Linier Single Link List Non Circular Pendeklarasian Node: typedef struct TNode{ char data; TNode *next; ; Pembuatan struct bernama TNode yang berisi 2 field, yaitu field data bertipe integer dan field next yang bertipe pointer dari TNode Setelah pembuatan struct, buat variabel haed yang bertipe pointer dari TNode yang berguna sebagai kepala linked list.

Operasi Head Single Link List Pembentukan node baru: Digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta alokasi memorinya, kemudian node tersebut diisi data dan pointer nextnya ditunjuk ke NULL. TNode *baru; baru = new TNode; baru->data = databaru; baru->next = NULL; Fungsi Inisialisasi Single LinkedList : void init(){ head = NULL;

Function untuk mengetahui kosong tidaknya Single LinkedList: Jika pointer head tidak menunjuk pada suatu node maka kosong int isempty() { if(head == NULL) return 1 else return 0;

PENAMBAHAN DATA Penambahan data di depan: Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan dengan cara head ditunjukkan ke node baru tersebut. void insertdepan(int databaru){ TNode *baru; baru = new TNode; baru->data = databaru; baru->next = NULL; if(isempty()==1){ head=baru; head->next = NULL; else { baru->next = head; head = baru; cout<< Data masuk\n ;

Ilustrasi Tambah Depan

PENAMBAHAN DATA Penambahan data di Belakang: Penambahan data dilakukan di belakang, namun pada saat pertama kali, node langsung ditunjuk oleh head. Penambahan di belakang kita membutuhkan pointer bantu untuk mengetahui node terbelakang. void insertbelakang (int databaru){ TNode *baru,*bantu; baru = new TNode; baru->data = databaru; baru->next = NULL; if(isempty()==1) { head=baru; head->next = NULL; else { bantu=head; while (bantu->next!=null) {bantu=bantu->next; bantu->next = baru; cout<<"data masuk\n";

Ilustrasi Tambah Belakang

void tampil(){ TNode *bantu; bantu = head; if(isempty()==0) { while(bantu!=null) { cout<<bantu->data<<" "; bantu=bantu->next; cout<<endl; else cout<<"masih kosong\n"; MENAMPILKAN DATA

PENGHAPUSAN DATA Penghapusan data Depan: void hapusdepan (){ TNode *hapus; int d; if (isempty()==0){ if(head->next!= NULL){ hapus = head; d = hapus->data; head = head->next; delete hapus; else { d = head->data; head = NULL; cout<<d<<" terhapus\n"; else cout<<"masih kosong\n";

PENGHAPUSAN DATA Penghapusan data Belakang: void hapusbelakang(){ TNode *hapus,*bantu; int d; if (isempty()==0){ if(head->next!= NULL){ bantu = head; while(bantu->next->next!=null){ bantu = bantu->next; hapus = bantu->next; d = hapus->data; bantu->next = NULL; delete hapus; else { d = head->data; head = NULL; cout<<d<<" terhapus\n"; else cout<<"masih kosong\n";

Keterangan: - Membutuhkan pointer bantu dan hapus. - Pointer hapus digunakan untuk menunjuk node yang akan dihapus, dan pointer bantu digunakan untuk menunjuk node sebelum node yang dihapus yang kemudian selanjutnya akan menjadi node terakhir. - Pointer bantu akan digunakan untuk menunjuk ke nilai NULL. - Pointer bantu akan selalu bergerak sampai sebelum node yang akan dihapus, baru kemudian pointer hapus diletakkan setelah pointer bantu.

Ilustrasi Hapus Belakang

Function untuk menghapus semua elemen Linked List void clear(){ TNode *bantu,*hapus; bantu = head; while(bantu!=null) { hapus = bantu; bantu = bantu->next; delete hapus; head = NULL;

DEMO