Linked List 6.3 & 7.3 NESTED LOOP
Linked List ( Obyek yang di-Link satu dengan lainnya )
apa itu List ?
Kadang-kadang disebut juga : List Contoh sebuah LIST 0 1 2 3 4 int A[5]; Array satu dimensi Disebut juga : Vector Kadang-kadang disebut juga : List
biasa diilustrasikan sebagai berikut : int A[5]; biasa diilustrasikan sebagai berikut : 0 1 2 3 4 Kadang-kadang diilustrasikan sebagai berikut : Untuk Stack 4 1 3 2 2 3 1 4
int A[5]; List dengan 5 elemen A[1] A[4] A[0] secara umum : A[ I ] 0 1 2 3 4 A[1] A[4] A[0] secara umum : A[ I ]
int A[5]; List dengan 5 elemen, dengan alamat CONTIGUOUS 0 1 2 3 4 H21D8 H21DA H21DE H21E0 H21DC #include<stdio.h> void main() { int A[5]; int I; for (I=0; I<=4; I++ ) printf( “\n%X”, &A[I] ); } akan tercetak : 21D8 21DA 21DC 21DE 21E0 Tiap elemen 2 BYTE Algo-1, jilid 2 hal. 10.03
Apa itu alamat ?
Alamat atau Address adalah nomor Byte 1 2 3 4 RAM 64 MB 64*1024*1024-1
MSB = Most Significant Byte dengan: int A; terbentuk sebuah variabel (Elemen) sebesar 2 Byte 2 BYTE Nomor BYTE pertama (paling kiri) - sering disebut MSB - yang dipakai sebagai alamat MSB = Most Significant Byte
bukan List yang di-link satu dengan yang lainnya int A[5]; List dengan 5 elemen 0 1 2 3 4 ini bukan Linked List bukan List yang di-link satu dengan yang lainnya tapi List yang bersisian atau bergandengan atau berurutan (contiguous) satu dengan lainnya, sedemikian rupa sehingga alamat tiap elemen bersambung satu dengan yang lainnya (contiguous).
Obyek yang di-link satu dengan lainnya sehingga Linked List Obyek yang di-link satu dengan lainnya sehingga menjadi suatu List Yang dimaksud dengan Obyek disini adalah : sekumpulan elemen yang digabung menjadi satu kelompok yang disebut : setiap elemen mempunyai tipe data tersendiri structure, atau Vertex, atau Node, atau Titik, atau Record atau Simpul
Linked List Contoh sebuah Simpul yang dinyatakan dengan: typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; INFO LINK Simpul dengan 2 elemen, INFO dan LINK tipe : pointer, pointer untuk menunjuk node atau Simpul Tipe : integer untuk menyimpan data
typedef struct Node Simpul; int INFO; struct Node *LINK; }; typedef struct Node Simpul; Tulisan dengan warna biru atau merah, adalah nama yang kita karang sendiri. Sedangkan tulisan dengan warna hitam adalah ketentauan dalam bahasa C INFO LINK
Contoh 4 buah simpul Linked List dalam memory tanda panah mengilustrasikan link 12 (2) 10 25 (4) (1) 17 (3)
Proses pembuatan Simpul dan pembuatan Link sampai terbentuk sebuah Linked-List
Perhatikan memory berikut ini : Belum ada Linked List
Akan dibuat sebuah Simpul Awal (simpul pertama)
Simpul pertama (1) sudah dibuat misal alamatnya = H1000 INFO LINK (1) H1000 Bagaimana membuatnya akan diterangkan kemudian
Kemudian INFO akan diisi dengan nilai 25 LINK (1) H1000
25 INFO simpul pertama (1) sudah diisi dengan nilai 25 (1) LINK 25 (1) H1000 Bagaimana cara mengisinya akan diterangkan kemudian
sebuah simpul baru (simpul kedua) Misal akan dibuat sebuah simpul baru (simpul kedua) INFO LINK 25 (1) H1000
25 Sudah dibuat simpul kedua (2) Misal alamatnya = H0800 (2) (1) INFO LINK (2) H0800 INFO LINK 25 (1) H1000 Alamat simpul baru, tidak mesti lebih besar dari alamat simpul pertama
25 INFO simpul kedua (2) akan diisi dengan 12 (2) (1) H0800 H1000 INFO LINK (2) H0800 INFO LINK 25 (1) H1000
12 25 INFO simpul kedua (2) sudah diisi dengan nilai 12 (2) (1) H0800 LINK 12 (2) H0800 INFO LINK 25 (1) H1000
Akan di-link simpul pertama (1) dengan simpul kedua (2) INFO LINK 12 (2) H0800 INFO LINK 25 (1) H1000
12 25 Simpul pertama (1) sudah di-link dengan simpul kedua (2) LINK simpul pertama (1) diisi dengan alamat simpul kedua (2) Simpul pertama (1) sudah di-link dengan simpul kedua (2) INFO LINK 12 (2) H0800 INFO LINK 25 0800 (1) H1000 Bagaimana mengisi LINK simpul pertama dengan alamat simpul kedua akan diterangkan kemudian
INFO LINK 12 (2) H0800 INFO LINK 25 0800 Instruksi untuk meng-link yaitu mengisi alamat simpul (2) kedalam LINK simpul (1) termasuk intruksi atau tugas yang sulit (1) H1000 !
12 25 Kemudian : Akan dibuat simpul (3), dan INFO simpul (3) diisi dengan 17 INFO LINK 12 (2) H0800 INFO LINK 25 0800 (1) H1000
12 25 17 Sudah dibuat simpul ketiga (3) Misal alamatnya = H1400 (2) INFO LINK 12 (2) H0800 INFO LINK 25 0800 INFO LINK (1) 17 H1000 (3) H1400
12 25 17 Akan di-link simpul kedua (2) Kemudian : dengan simpul ketiga (3) INFO LINK 12 (2) H0800 INFO LINK 25 0800 INFO LINK (1) 17 H1000 (3) H1400
12 25 17 Simpul kedua (2) sudah di-link dengan simpul ketiga (3) (2) INFO LINK 12 1400 (2) H0800 INFO LINK 25 0800 INFO LINK (1) 17 H1000 (3) H1400
12 10 25 17 Dan seterusnya dibuat simpul (4), INFO simpul (4) diisi 10 dan simpul (3) di-link dengan simpul (4) INFO LINK 12 1400 (2) H0800 INFO LINK 10 INFO LINK 25 0800 (4) INFO LINK (1) H1100 17 1100 H1000 (3) H1400
12 10 25 17 Sekarang sudah tercipta 4 buah simpul, dan sudah ter-link satu dengan lainnya, sehingga membentuk sebuah Linked List INFO LINK 12 1400 (2) H0800 INFO LINK 10 INFO LINK 25 0800 (4) INFO LINK (1) H1100 17 1100 H1000 (3) H1400
Untuk memudahkan melihat hubungan (link) antara satu simpul dengan simpul lainnya, maka semua isi LINK (yang berbentuk angka ) diganti atau direpresentasikan dengan tanda panah sehingga ilustrasinya menjadi sebagai berikut :
Semua alamat dalam LINK dinyatakan dengan tanda panah. INFO LINK 12 1400 (2) H0800 INFO LINK 10 INFO LINK 25 0800 (4) INFO LINK (1) H1100 17 1100 H1000 (3) H1400
12 10 25 17 Sehingga: Link dalam bentuk angka alamat tidak diperlukan lagi INFO LINK 12 (2) H0800 INFO LINK 10 INFO LINK 25 (4) INFO LINK (1) H1100 17 H1000 (3) H1400
Alamat tiap-tiap simpul juga tidak perlu diketahui,> Yang perlu diketahui adalah link antar simpul sehingga membentuk sebuah Linked List. INFO LINK 12 H0800 INFO LINK 10 INFO LINK 25 INFO LINK H1100 17 H1000 H1400
12 10 25 17 Linked List empat buah simpul dapat dinyatakan demikian ini, tanpa memperlihatkan alamat simpul secara fisik INFO LINK 12 INFO LINK 10 INFO LINK 25 INFO LINK 17
25 12 10 17 Linked List empat buah simpul ini dapat disederhanakan gambarnya menjadi : INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (3) (4)
Dalam buku ini akan dibicarakan 4 macam linked list sebagai berikut : 3. 01 BAB 3 LINKED LIST Linked List adalah obyek yang di link satu dengan yang lainnya sehingga menjadi suatu list. Sedangkan obyek itu sendiri adalah merupakan kumpulan elemen-elemen yang digabung menjadi satu structure atau record yang dibentuk dengan perintah struct Dalam buku ini akan dibicarakan 4 macam linked list sebagai berikut :
LINEAR SINGLY LINKED LIST 3. 01 LINEAR SINGLY LINKED LIST I. II. LINEAR DOUBLY LINKED LIST III. CIRCULAR SINGLY LINKED LIST IV. CIRCULAR DOUBLY LINKED LIST
LINEAR SINGLY LINKED LIST 3. 01 I. LINEAR SINGLY LINKED LIST FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 II. LINEAR DOUBLY LINKED LIST FIRST LAST INFO RIGHT RIGHT LEFT LEFT INFO RIGHT RIGHT LEFT INFO LEFT INFO 25 12 17 10
CIRCULAR SINGLY LINKED LIST 3. 01 III. CIRCULAR SINGLY LINKED LIST FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 IV. CIRCULAR DOUBLY LINKED LIST FIRST LAST INFO RIGHT RIGHT LEFT LEFT INFO RIGHT RIGHT LEFT INFO LEFT INFO 25 12 17 10
1. LINEAR SINGLY LINKED LIST DENGAN POINTER TUNGGAL 3. 02 1. LINEAR SINGLY LINKED LIST LINKED LIST LURUS DENGAN POINTER TUNGGAL
LINEAR SINGLY LINKED LIST 3. 02 1.1. ILUSTRASI FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (3) (4) atau LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK 10 17 12 25 (4) (3) (2) (1)
Urutan insert Urutan delete atau Urutan insert Urutan delete 3. 02 (1) FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 Urutan insert (1) (2) (3) (4) Urutan delete (1) (2) (3) (4) atau LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK 10 17 12 25 Urutan insert (4) (3) (2) (1) Urutan delete (1) (2) (3) (4)
Keluar, Ambil, Baca atau Hapus 3. 02 INSERT : Masuk, Simpan, Tulis DELETE : Keluar, Ambil, Baca atau Hapus
Mana yang mengikuti prinsip STACK, dan FIRST LAST Ilustrasi-1 INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 Urutan insert (1) (2) (3) (4) Urutan delete (1) (2) (3) (4) LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK Ilustrasi-2 10 17 12 25 Urutan insert (4) (3) (2) (1) Urutan delete (1) (2) (3) (4) Pertanyaan : Mana yang mengikuti prinsip STACK, dan mana yang mengikuti prinsip QUEUE, Linked List ilustrasi-1 atau Linked List ilustrasi-2
3. 02 Untuk selanjutnya Linked List yang akan diterangkan adalah Linked List yang diilustrasikan sebagai berikut : FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (4) (3)
Keterangan : Dari ilustrasi diatas, dapat diterangkan sebagai berikut: 3. 02 FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (4) (3) Keterangan : Dari ilustrasi diatas, dapat diterangkan sebagai berikut: Ada 4 simpul, simpul no (1) sampai dengan no (4) Setiap simpul (record) terdiri dari dua elemen (field) yaitu : Field INFO misal bertipe integer. Field LINK bertipe pointer Yang diilustrasikan dengan panah Untuk simpul no (1), Field INFO berisi nilai 25 Field LINK berisi alamat simpul no (2)
Untuk Linked List yang akan dipelajari : 3. 02 FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (4) (1) (2) (3) Untuk Linked List yang akan dipelajari : Simpul pertama no (1) berada diujung paling kiri, dan ditunjuk oleh pointer FIRST. Simpul terakhir no (4) berada diujung paling kanan,dan ditunjuk oleh pointer LAST. LINK dari simpul terakhir diisi dengan NULL.
Pembuatan Record Awal (inisialisasi) Insert Kanan (Insert Akhir) 1.2 PROSES 2a. 2b. 2c. 2d. 2e. 2f. 2g. Pembuatan Record Awal (inisialisasi) Insert Kanan (Insert Akhir) Insert Kiri (Insert Awal) Insert Tengah Delete Kanan Delete Kiri Delete Tengah
Ilustrasi sebuah Simpul (Vertex, atau Node, atau Record) 3.03 Ilustrasi sebuah Simpul (Vertex, atau Node, atau Record) INFO LINK Simpul dengan 2 elemen atau field Nama field Tipe Isi : LINK : pointer : akan diisi dengan alamat record berikutnya Nama field Tipe Isi : INFO : integer : akan diisi data Tipe data tentunya disesuaikan dengan keperluan. Disini diambil saja contoh yang sederhana dimana data yang akan disimpan adalah bernilai integer.
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; 3.03 Struktur sebuah Simpul INFO LINK Untuk ‘memberitahukan komputer ‘ bahwa kita memerlukan suatu Simpul atau record dengan tipe strukur demikian ini, perlu ditulis intruksi-instruksi sebagai berikut : typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST;
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; 3.03 typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; Masih banyak cara penulisan lain untuk maksud yang sama. Disini diambil suatu cara yang dianggap paling sederhana. Disiapkan 3 buah variabel pointer, yaitu : P, FIRST dan LAST yang kesemuanya berkaitan dengan simpul atau record atau node yang bertipe Simpul
Simpul typedef struct Node { int INFO; struct Node *LINK; }; 3.03 typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; Disini : Simpul Adalah nama tipe sebagaimana nama tipe yang telah disediakan oleh Bahasa C seperti : int, long int, float, dan sebagainya. Bila int adalah nama tipe suatu variable, maka Simpul disini adalah nama tipe dari suatu structure atau record, dimana structure tersebut terdiri dari dua field, yaitu : INFO yang bertipe integer (int), dan LINK yang bertipe pointer (pakai *) untuk structure tersebut.
1.2.1. Pembuatan Sebuah Simpul ( Baru ) 3. 04 1.2.1. Pembuatan Sebuah Simpul ( Baru ) Perhatikan kembali instruksi untuk menyiapkan tipe (struktur) sebuah simpul sebagai berikut : typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST;
P 1.2.1. Pembuatan Simpul ( Baru ) Instruksi untuk membuat 3. 04 Instruksi untuk membuat sebuah record baru : P = (Simpul *) malloc(sizeof(Simpul)); Terbentuk sebuah simpul yang alamatnya disimpan dalam pointer P atau disebut : “simpul yang ditunjuk oleh pointer P” yang dapat diilustrasikan sebagai berikut : P INFO LINK
P = (Simpul *) malloc(sizeof(Simpul)); 3. 04 P = (Simpul *) malloc(sizeof(Simpul)); malloc : Maksudnya : memory allocation yaitu mengalokasikan memory sebesar atau seukuran (sizeof) yang diperlukan untuk Simpul
P = (Simpul *) malloc(sizeof(Simpul)); 3. 04 P = (Simpul *) malloc(sizeof(Simpul)); INFO LINK H21C8 21C8 P Alamat simpul dicatat dalam variabel P (P bertipe Pointer untuk menunjuk Simpul)
P H21C8 21C8 P Ilustrasi fisik dalam memory diatas, 3. 04 INFO LINK H21C8 21C8 P Ilustrasi fisik dalam memory diatas, dapat digambarkan dengan ilustrasi diagram sebagai berikut : P INFO LINK
#include <stdio.h> #include <stdlib.h> Contoh (sederhana) program selengkapnya untuk membuat sebuah record atau simpul yang alamat simpul tersebut dicatat dalam pointer P. 3. 04 #include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; main() { int X; scanf(“%i”, &X); p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; }
P 25 void main() { int X; scanf(“%i”, &X); p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; } 3. 04 Nilai X (misal 25 hasil input sebelumnya) disimpan dalam elemen INFO Field LINK berisi NULL artinya pointer LINK tidak menunjuk kesuatu alamat tertentu Terbentuk sebuah simpul yang alamatnya disimpan dalam pointer P atau disebut simpul yang ditunjuk oleh pointer P P INFO LINK 25
P P->INFO = X; P->INFO 25 maksudnya : Field INFO suatu simpul, p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; 3. 04 P->INFO = X; P->INFO maksudnya : Field INFO suatu simpul, yang simpulnya sedang ditunjuk oleh pointer P dalam bahasa C, ditulis dengan dua karakter yaitu tanda - (minus) dan tanda > (tanda lebih besar) P INFO LINK 25
P P->LINK 25 P->LINK = NULL; p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; 3. 04 P->LINK = NULL; P->LINK field LINK suatu simpul, yang simpulnya sedang ditunjuk oleh pointer P P INFO LINK 25 \0 0 0 0 0 0 0 0 0 karakter NULL nilai ASCIInya = 0 (nol)
P P 25 25 \0 Nilai pointer yang berisi NULL 3. 04 P INFO LINK 25 \0 Nilai pointer yang berisi NULL sering diilustrasikan sebagai panah ‘ground’ sebagai berikut : P INFO LINK 25
Perhatikan kembali LINEAR SINGLY LINKED LIST 3.05 Perhatikan kembali LINEAR SINGLY LINKED LIST yang akan dibuat sebagai yang diilustrasikan berikut ini : FIRST LAST LINK LINK LINK LINK INFO INFO INFO INFO 25 12 17 10 (1) (2) (3) (4)
3.05 1.2.2. Pembuatan Simpul Awal. Simpul awal, maksudnya adalah simpul yang pertama kali dibuat. Setelah itu simpul baru dapat ditambahkan baik disebelah kanan, maupun disebelah kiri simpul simpul yang sudah ada. FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (4) (3) Misal, (untuk mudahnya) : Simpul ini yang kita ambil sebagai contoh untuk simpul awal yang ditunjuk oleh pointer FIRST
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; int X; Perhatikan kembali struktur sebuah simpul, dan variabel-variabel yang diperlukan 3.05 typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; int X; Menyatakan struktur Simpul dan menyiapkan variabel Dalam memory Perhatikan : Ada 3 buah pointer : P , FIRST, dan LAST P FIRST LAST X
Pembuatan Simpul Awal. Fungsi untuk membuat simpul awal 3.05 Fungsi untuk membuat simpul awal void Awal (void) { int X; scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; } 1) 2) 3) 4) 5) Ada 5 intruksi pokok
P 1) P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 1) 2) 3) 4) 5) 3.05 Ada 5 instruksi pokok yang perlu kita perhatikan : 1) P = (Simpul *) malloc(sizeof(Simpul)); Terbentuk sebuah simpul yang ditunjuk oleh pointer P yang dapat diilustrasikan dengan gambar sebagai berikut : P INFO LINK
3.05 INFO LINK 1000 P FIRST LAST X 1000 P INFO LINK
P Sebuah simpul yang ditunjuk oleh pointer P ( alamatnya dicatat dalam pointer P ) 3.05 P P INFO INFO LINK LINK P INFO LINK P INFO LINK INFO LINK P P Banyak cara menggambarkan ilustrasi pointer P menunjuk sebuah simpul INFO LINK INFO LINK P
P Sebuah simpul yang ditunjuk oleh pointer P ( alamatnya dicatat dalam pointer P ) 3.05 P INFO LINK Field ini namanya : P->LINK Field ini namanya : P->INFO
P 2) P->INFO = X; 25 P=(Simpul*)malloc(sizeof(Simpul)); FIRST = P; LAST = P; P->LINK = NULL; 1) 2) 3) 4) 5) 3.05 2) P->INFO = X; P INFO LINK 25
3.05 INFO LINK 25 1000 P FIRST LAST X 1000 P INFO LINK 25
P 25 P->LINK P->INFO Field ini namanya : Field ini namanya : 3.05 INFO LINK 25 Field ini namanya : P->LINK Field ini namanya : P->INFO Dengan perintah : printf(“%i”, P->INFO); Akan tercetak : 25
Simpul pertama selalu ditunjuk Oleh pointer FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (4) (3) Simpul pertama selalu ditunjuk Oleh pointer FIRST
P P 3) FIRST = P; P 25 P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 1) 2) 3) 4) 5) 3.05 FIRST P INFO LINK 25 3) FIRST = P; P FIRST INFO LINK P 25 INFO LINK 25 FIRST
3.05 INFO LINK 25 1000 P FIRST LAST X 1000 1000 FIRST P INFO LINK 25
25 P P->LINK FIRST->LINK P->INFO atau FIRST->INFO FIRST 3.05 P INFO LINK 25 Field ini namanya : P->LINK atau FIRST->LINK Field ini namanya : P->INFO atau FIRST->INFO
Simpul terakhir selalu ditunjuk Oleh pointer LAST FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (4) (3) Simpul terakhir selalu ditunjuk Oleh pointer LAST
P P 4) LAST = P; P 25 P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 1) 2) 3) 4) 5) 3.05 FIRST LAST P INFO LINK 25 4) LAST = P; FIRST LAST FIRST P INFO P LINK 25 INFO LINK 25 LAST
25 25 P X 1000 FIRST LAST 1000 1000 1000 3.05 INFO LINK LAST FIRST
25 P P->LINK FIRST->LINK LAST->LINK P->INFO atau 3.05 FIRST P INFO LINK 25 Field ini namanya : P->LINK atau FIRST->LINK LAST->LINK Field ini namanya : P->INFO atau FIRST->INFO LAST->INFO
P 5) P->LINK = NULL; 25 P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 1) 2) 3) 4) 5) 3.05 5) P->LINK = NULL; LAST FIRST P INFO LINK 25
25 25 \0 P X Sudah terbentuk sebuah Simpul awal 1000 FIRST LAST 1000 3.05 INFO LINK 25 \0 1000 P FIRST LAST X 1000 1000 1000 LAST FIRST Sudah terbentuk sebuah Simpul awal P INFO LINK 25
3.05 LATIHAN DI KELAS
P 25 Ada berapa buah simpul yang terlihat Pertanyaan : LAST FIRST INFO 3.05 FIRST P INFO LINK 25 Ada berapa buah simpul yang terlihat Pertanyaan :
LAST 3.05 FIRST P INFO LINK 25 Jawab : Ada 1 buah simpul
P 25 Ada berapa buah pointer yang terlihat Pertanyaan : LAST 3.05 FIRST P INFO LINK 25 Ada berapa buah pointer yang terlihat - Apa nama masing-masing pointer - Apa isi masing-masing pointer Pertanyaan :
P 25 Jawab : Ada 4 buah pointer LAST FIRST INFO LINK P &(1) FIRST &(1) 3.05 FIRST P INFO LINK 3 2 1 25 Jawab : Ada 4 buah pointer 4 No Nama Isi Pointer Pointer pointer 1 P &(1) FIRST &(1) 2 3 LAST &(1) 4 P->LINK atau FIRST->LINK atau LAST->LINK NULL
P 25 LAST FIRST INFO LINK TRUE atau FALSE Kondisi berikut ini 3.05 FIRST P INFO LINK TRUE atau FALSE Kondisi berikut ini 3 2 1 25 4 if( P == FIRST ) if( FIRST == LAST ) if( FIRST->LINK == LAST->LINK ) if( FIRST->INFO = 25 )