Tutorial - Single Linked List

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

SINGLE LINKED LIST (NON CIRCULAR)

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

STRUKTUR DATA single linked list non circular

STRUKTUR DATA (2) Single Linked List

Struktur Data II. Single Linked List - Non circular

Array VS Linked List

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

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

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

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

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

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

Algoritma dan Struktur Data. Ramos Somya

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

MODUL 6 SINGLE & DOUBLE LINKED LIST

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Algoritma dan Struktur Data

LIST. Dewi Sartika, M.Kom

Praktikum Algoritma dan Struktur Data

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

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

Linked List dan Implementasinya dalam Bahasa Java

Lab. Teknik Informatika Struktur Data 1

SENARAI BERANTAI (LINK LIST)

BAB IV Antrian(Queue)

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB II Senarai Berantai (Linked List)

Linked List 6.3 & 7.3 NESTED LOOP

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Single Linked List (1)

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Algoritma dan Struktur Data. Linked List

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

REPRESENTASI FISIK LIST LINEAR

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

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

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

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

05. Double Linked List

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

DIG1G3 Implementasi Struktur Data

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

04. Single Linked List

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Review : Sifat Implementasi Linear List dengan Array

LAPORAN PRAKTIKUM IX. Oleh:

Struktur. Bab 4: Linked LIst 4/8/2015

Apakah Anda sering kesulitan untuk

Struktur. Bab 4: Linked LIst 4/8/2015

Pertemuan 7. REVIEW dan QUIS

ALGORITMA DAN STRUKTUR DATA

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

BAB VI LINKED LIST. Struktur data dinamis sederhana dapat dibagi menjadi empat jenis, yaitu : 1. Linked list 2. Stack 3. Queue 4.

STRUKTUR DATA. Literatur

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

ALGORITMA & PEMROGRAMAN

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

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

A. TUJUAN PEMBELAJARAN

03 LINKED LIST. Slide 0 voice. Slide 1 voice. Slide 2 voice. Thompson Susabda Ngoen 1 P a g e

Algoritma Dan Struktur Data II

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

Praktikum 5. Antrian (Queue)

Praktikum Algoritma dan Struktur Data 2010

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

BAB VIII QUEUE (ANTRIAN)

Stack. Gambar 1.1 Stack

A. TUJUAN PEMBELAJARAN

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

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

ARNA FARIZA YULIANA SETIOWATI

Algoritma Pemrograman & Struktur Data

KERUGIAN DAN KEUNTUNGAN LINKED LIST

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

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

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

BAB IX LINKED LIST (SENARAI BERANTAI)

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

QUEUE (ANTRIAN) Depan=1 Belakang=

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

Dinamik Linked List. hari bulan tahun

Struktur Data Array. Rijal Fadilah S.Si

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

KUM 3 IMPLEMENTASI LIST

LINKED LIST. Double Linked List adalah :

Penambahan Simpul (Node)

MODUL PEMROGRAMAN 2. Queue (Antrian)

STRUKTUR DATA Pertemuan 1 s.d 8

Gambar 1. Single Linked List

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Transkripsi:

Tutorial - Single Linked List Oleh: (:) Linked List atau Senarai Berantai merupakan salah satu struktur data. Link List memiliki sekumpulan node / data yang tersusun secara sekuensial, saling menyambung dan dinamis. Sekumpulan Node tersebut dihubungkan dengan pointer. Oleh karena itu anda harus mengerti benar tentang pointer terlebih dahulu. Keunggulan linked list yaitu dapat menggunakan memory sesuai kebutuhan d... Linked List atau Senarai Berantai merupakan salah satu struktur data. Link List memiliki sekumpulan node / data yang tersusun secara sekuensial, saling menyambung dan dinamis. Sekumpulan Node tersebut dihubungkan dengan pointer. Oleh karena itu anda harus mengerti benar tentang pointer terlebih dahulu. Keunggulan linked list yaitu dapat menggunakan memory sesuai kebutuhan dan tidak dapat overflow kecuali jika memory komputer habis. Beda halnya dengan jika kita mendeklarasikan sebuah array, pada array memory baik kita gunakan atau tidak sejumlah blok yang telah dipesan melalui deklarasi tersebut tidak dapat digunakan, dan jika data yang kita masukkan lebih besar dari jumlah data yang di deklarasikan akan terjadi overflow (runningtime error). Terdapat 3 implementasi penggunaan linked list: 1. Singly linked list 2. Doubly linked list 3. Circular linked list Namun kali ini saya hanya membahas singly linked list sbb: Singly Linked List Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada akhir node, pointernya menunjuk NULL Linked List : artinya node-node tersebut saling terhubung satu sama lain. Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data. Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list.

Pointer pokok yang digunakan yaitu head (menunjuk pada node awal) dan tail (menunjuk pada node terakhir) *pointer head menunjuk pada node berisi data 12 dan tail menunjuk pada node berisi data 37 Di dalam linked list terdapat properties yang umum yaitu: insert node dan delete node. Untuk memulai deklarasikan terlebih dahulu struct anda. typedef struct node { int data; struct node *next; node; dan pada main int main(){ node *head=null; node *tail=null;. ins_h(&head,&tail,data); //insert head ins_t(&head,&tail,data);//insert tail ins_s(&head,&tail,data,posisi);//insert sembarang node del_h(&head,&tail,data);//delete head del_t(&head,&tail,data);//delete tail delh_s(&head,&tail,data,posisi);//delete sembarang node return 0; Insert node Pada Insert node terdapat 3 metode dalam memasukkan data yaitu 1. sebelum Head (LIFO, prinsip Stack) 2. setelah Tail (FIFO, prinsip Queue) 3. sembarang Node (sesuai input) fungsi InsertHead void ins_h(node **head, node **tail, int data){ node *temp=(node*)malloc(sizeof(node)); //alokasi memori if(*head==null){ //jika data masih kosong, head==null else{ temp->next=*head; //jika tidak maka diletakan di depan *head=temp;

fungsi Insert Tail void ins_t(node **head, node **tail,int data){ node *temp=(node *)malloc(sizeof(node)); if(*head==null){ else{ (*tail)->next = temp; //menempatkan pada posisi akhir *tail=temp; fungsi insert sembarang node void ins_s(node **head,node **tail, int data, int posisi){ node *temp=(node*)malloc(sizeof(node)); node *cari=*head; if(*head==null){ else{ while (posisi && cari->next!=null) cari=cari->next; //mencari posisi sesuai input temp->next=cari->next; cari->next=temp; if(cari==*tail) *tail=cari->next; //jika posisi == tail maka tail perlu diatur delete node properti pada delete node juga sama dengan insert. bedanya kalau delete berarti menghapus fungsi hapus head: void del_h(node **head, node**tail){ node *temp=*head; if(*head==*tail){ //delete jika hanya ada 1 node else{ //delete jika lebih dari 1 node *head=temp->next; //memindah pointer head

fungsi hapus tail: void del_t(node **head, node**tail){ node *temp=*tail; node *bantu=*head; if(*head==*tail){ else{ while(bantu->next!=*tail) bantu=bantu->next; //untuk mencari letak tail bantu->next=null; *tail=bantu; //memindahkan tail ke node sebelumnya fungsi hapus sembarang node: void del_t(node **head, node**tail,int posisi){ node *temp, *bantu=*head; if(*head==*tail){ else{ while(bantu->next!=null && posisi ) { //untuk mencari posisi tetapi juga jika posisi tidak melebihi jumlah data temp=bantu; bantu=bantu->next; temp->next=bantu->next; if(bantu==*tail) *tail=temp; //jika data sama dengan tail, tail perlu dipindahkan free(bantu); Nah Diatas merupakan source code dan penjelasannya. Untuk pertanyaan lebih lanjut silakan komentar dibawah ini. terima kasih :D Tentang Penulis (:) no comment