Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

LINK LIST “Suatu cara menyimpan data dengan terstruktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru didalam memori komputer.

Presentasi serupa


Presentasi berjudul: "LINK LIST “Suatu cara menyimpan data dengan terstruktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru didalam memori komputer."— Transcript presentasi:

1 LINK LIST “Suatu cara menyimpan data dengan terstruktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru didalam memori komputer untuk menyimpan data”

2 Ilustrasi Link List

3 LINK LIST Linked list adalah sejumlah node yang dihubungkan secara linier dengan bantuan pointer. Disebut single linked apabila hanya ada satu pointer yang menghubungkan setiap node. Setiap node akan berbentuk struct. Struct memiliki 2 field: Sebuah field data bertipe int/char. Sebuah field penghubung bertipe struct yang sama, yang berfungsi sebagai pointer.

4 Algoritma Link List (1) struct nodeku { int data; struct nodeku *next;
Deklarasi struct untuk node. variabel next sebagai penghubung dengan node di sebelah Inilah yang menyebabkan next harus bertipe struct tnode. struct nodeku { int data; struct nodeku *next; } Data Next

5 Algoritma Link List (2) 2. Deklarasikan beberapa variabel pointer bertipe struct nodeku Deklarasi variable ini akan digunakan untuk : 1. Awal dari linked list, 2. Node aktif dalam linked list, 3. Node sementara Semua variable ini di setting awal NULL struct nodeku *head=NULL, *current=NULL, *tmp=NULL;

6 Algoritma Link List (3) 3. Dengan demikian, kita telah memiliki tiga node : Satu sebagai kepala (head), satu sebagai node aktif dalam linked list (current) satu lagi node sementara (temp). Node yang dibuat pertama akan menjadi head. Node-node yang dibuat setelahnya akan menjadi node-node pengikut.

7 Contoh kasus Buatlah sederetan node yang saling terhubung (ada 4 node)
Node pertama sampai node ke empat berisi nilai 0 s/d 3 Nilai (0..3) diisi secara otomoatis menggunakan perulangan. Dalam membuat node dilakukan dengan fungsi malloc(). Malloc() adalah function untuk mengetahui memory of size. Berikutnya, membuat node dan penghubung. Menguji apakah head bernilai NULL. Kondisi head bernilai NULL hanya terjadi apabila belum memiliki satu node pun. Dengan demikian, node tersebut dapat dijadikan sebagai head. Node aktif (curr), juga nantinya akan didapat dari node tersebut.

8 Contoh Program untuk mengisi nilai ke node
int i; for (i=0; i<3; i++) { node = (struct nodeku *) malloc (sizeof(struct nodeku)); node -> x = i; if (head == NULL) head = node; current= node; } else current -> next = node; current = node; } current->next = null;

9 Kesimpulan Membuat Node-node
Bagaimana kalau head tidak bernilai NULL alias telah memiliki satu atau lebih node? yang pertama dilakukan adalah menghubungkan pointer next dari node aktif (current) ke node yang baru saja dibuat. Dengan demikian, andan sudah membuat penghubung antara rantai lama dengan mata rantai baru Menghubungkan pointer next untuk mata rantai terakhir ke NULL. current -> next = NULL;

10 Contoh Program untuk menampilkan isi node
current = head; while (current != NULL) { cout<<current -> x; current = current -> next; } cout<<“\n”; Pertama, arahkan posisi node aktif (current) ke posisi head. Lakukan perulangan untuk mengunjungi node satu persatu. Lakukan pemindahkan posisi node aktif (current) ke posisi setelahnya. Perulangan tersebut dilakukan apabila node aktif (current) tidak menemui NULL

11 MENGHAPUS LINKLIST Menggunakan fungsi FREE
TAHAP-TAHAP MENGHAPUS LINK LIST Posisikan node saat ini kepada node awal Arahkan pointer head ke NULL Lakukan perulangan untuk menghapus node ( mulai dari depan sampai belakang)

12 Contoh Program current = head->next; head->next = NULL; while (current != NULL) { tmp = current->next; free(current); current = tmp; }

13 Kesimpulan Create Node baru
node = (struct nodeku*) malloc(sizeof(struct nodeku)); memberi Nilai pada node node -> x = 90; Mengarahkan head ke node head = node; Mengarahkan current ke node curr = node; Mengarahkan node ke null node->next = NULL;

14 Silahkan kertas jawaban, diletakkan di ujung barisan anda

15 Tugas Dirumah Buatlah link list TANPA menggunakan perulangan. Isikan data node satu persatu sbb : “adi, ali, ami, ani, aki, asi, ari” Sehingga posisi terahir linklist adalah Head mengarah ke Adi Ari mengarah ke Null Fikirkan sendiri berapa buah variable yang perlu anda deklarasikan Kirimkan hasilnya .cpp ke Terakhir besok sore jam 16

16 Output program Sederetan node yang dirangkai dalam link list Setiap node diberikan alamat memorinya Misalnya : 00ff0122 adi 00ff0143 ali 00ff0174 ami 00ff0123 ani dst


Download ppt "LINK LIST “Suatu cara menyimpan data dengan terstruktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru didalam memori komputer."

Presentasi serupa


Iklan oleh Google