BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST
Definisi Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 2 Linked List adalah sejumlah objek (sering disebut simpul) yang dihubungkan satu dengan lainnya sehingga membentuk rangkaian. Objek : structure atau record. Untuk menghubungkan objek satu dg lainnya digunakan pointer.
Ilustrasi Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 3 Linked List yang terdiri dari 4 objek / simpul. Objek / simpul dibuat satu per satu bukan sekaligus. X X X X (1) (2) (3) (4) H1000 H800 H1400 H1100
Struktur Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 4 Ada 4 macam struktur Linked List : 1. Linear Singly-Linked List 2. Linear Doubly-Linked List 3. Circular Singly-Linked List 4. Circular Doubly-Linked List
Linear Singly-Linked List Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 5 Merupakan Linked List lurus dengan pointer tunggal. Ilustrasi : First Last (1) (2)(3) (4)
Simpul Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 6 Ilustrasi sebuah simpul dg 2 elemen / field : INFO LINK Nama field : LINK Tipe : pointer Isi : alamat simpul / record berikutnya Nama field : INFO Tipe : integer/char/real Isi : data
Membuat Struktur Simpul Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 7 Instruksi : struct simpul { int Info; struct simpul *Link; }; simpul *First, * Last;
Proses Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 8 Ada 4 proses dasar dalam Linked List : 1. Inisialisasi 2. Membuat simpul baru. 3. Membuat simpul awal. 4. Menambahkan simpul baru ke dalam Linked List (INSERT) 5. Menghapus sebuah simpul dari Linked List (DELETE)
Inisialisasi Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 9 Proses awal menyatakan Linked List belum ada. Algoritma : Ilustrasi Proses : First = Null; Last = Null; \0 First \0 Last
Membuat Simpul Baru Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis Instruksi : Algoritma : P = (simpul *) malloc(sizeof(simpul)); void Buat_Simpul(int x) { P = (simpul *) malloc(sizeof(simpul)); if (P != NULL) {P -> Info = x; } else cout<<“Simpul gagal dibuat ”; }
Membuat Simpul Awal Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis Algoritma : void Awal() { First = P; Last = P; P -> Link = NULL; } Syarat : 1. Linked List belum ada. 2. Sudah ada simpul yang akan dijadikan simpul awal.
Insert Simpul ke Linked List Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis INSERT : 1. KANAN/AKHIR 2. KIRI/AWAL 3. TENGAH Syarat : 1. Linked List sudah ada. 2. Sudah ada simpul yang akan ditambahkan ke Linked List.
Insert Simpul ke Linked List -1 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis INSERT KANAN/AKHIR Algoritma : void Ins_Akhir() { Last -> Link = P; Last = P; P -> Link = NULL; }
Insert Simpul ke Linked List -2 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis INSERT KIRI/AWAL Algoritma : void Ins_Awal() { P -> Link = First; First = P; }
Insert Simpul ke Linked List -3 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis INSERT TENGAH Algoritma : void Ins_Tengah() { P -> Link = Q ->Link; Q -> Link = P; }
Delete Simpul dari Linked List Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis DELETE : 1. KANAN/AKHIR 2. KIRI/AWAL 3. TENGAH Syarat : 1. Linked List sudah ada.
Delete Simpul dari Linked List -1 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis DELETE KANAN/AKHIR Algoritma : void Del_Akhir() { free(Last); Last = Q; Last -> Link = NULL; }
Delete Simpul dari Linked List -2 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis DELETE KIRI/AWAL Algoritma : void Del_Awal() { Q = First; First = Q -> Link; free(Q); }
Delete Simpul dari Linked List -3 Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis DELETE TENGAH Algoritma : void Del_Tengah() { R = Q->Link ; Q->Link = R->Link; free(R); }