Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Linked List PowerPoint Presentation
Download Presentation
Linked List

Linked List

244 Views Download Presentation
Download Presentation

Linked List

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Linked List Bab 4 Buku : halaman 88

  2. Linked List

  3. Linked List ( Obyek yang di-Link satu dengan lainnya )

  4. apa itu List ?

  5. Contoh sebuah LIST 0 1 2 3 4 int A[5]; Array satu dimensi Array satu dimensi Disebut juga : Vector Kadang-kadang disebut juga : List

  6. int A[5]; biasa diilustrasikan sebagai berikut : 0 1 2 3 4 Kadang-kadang diilustrasikan sebagai berikut : Untuk daftar Untuk Stack 0 4 1 3 2 2 3 1 4 0

  7. int A[5]; List dengan 5 elemen 0 1 2 3 4 A[1] A[4] A[0] secara umum : A[ I ]

  8. int A[5]; List dengan 5 elemen, dengan alamat CONTIGUOUS 0 1 2 3 4 H21D8 H21DE H21DA 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

  9. Apa itu alamat ?

  10. Alamat atau Address adalah nomor Byte 0 1 2 3 4 RAM 64 MB 64*1024*1024-1

  11. 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

  12. 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).

  13. Linked List Obyekyang 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

  14. INFO LINK Linked List Contoh pembuatan struktur sebuah Simpul yang dinyatakan dengan: typedef struct Node { int INFO; struct Node *LINK; }; typedef struct NodeSimpul; Simpul dengan 2 elemen, INFO dan LINK tipe : pointer,pointer untuk menunjuk node atau Simpul Tipe : integer untuk menyimpan data

  15. Apa yang dimaksud dengan Pointer

  16. Perhatikan instruksi berikut ini : int A; A = 25; printf(“%i”, A); Tercetak : 25

  17. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Nama : A Tipe : integer Dibuat sebuah variabel dengan : Variabel adalah suatu area didalam memory yang isinya dapat diubah-ubah A

  18. int A; A = 25; printf(“%i”, A); Tercetak : 25 Disiapkan sebuah variabel : int A; Nama : A Tipe : integer int Sebuah variabel dengan tipe integer, dalam memory menempati area sebanyak : A . . . . .Byte

  19. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Sebuah variabel dengan tipe integer, dalam memory menempati area sebanyak : A 2 . . . . .Byte

  20. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Dapat menampung nilai dalam batas ( kisaran / range) : A …………………………… Sampai dengan ……………………….

  21. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Dapat menampung nilai dalam batas ( kisaran / range) : A 32767 -32768 …………………………… Sampai dengan ……………………….

  22. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Pertanyaan : Apakah variabel ini ada isinya ? J a w a b : ………………………… A

  23. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Pertanyaan : Apakah variabel ini ada isinya ? A D A J a w a b : ………………………… A

  24. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Pertanyaan : Apa / berapa isinya ? J a w a b : ………………………... A

  25. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; int Pertanyaan : Apa / berapa isinya ? J a w a b : TIDAK DIKETAHUI ………………………... A

  26. int A; A = 25; printf(“%i”, A); Tercetak : 25

  27. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; A = 25; int 25 Isinya jelas = 25 A

  28. int A; A = 25; printf(“%i”, A); Tercetak : 25 int A; A = 25; printf(“%i”, A); Yang dicetak ISI variabel A int Dicetak dengan menggunakan format integer 25 A

  29. perhatikan program berikut ini

  30. int A; A = 25; printf(“%i”, A); int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak : 25 int Tercetak :25 25 A int *int 25 21C8 A P H21C8

  31. int A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int A

  32. int A; int *P; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int A P

  33. int A; int *P; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int P adalah variabel bertipe : Pointer Integer Hanya dapat diisi dengan alamat, Alamat variabel yang bertipeint(integer). Tidak dapat diisi dengan nilai seperti nilai ujian, jumlah barang, umur dan sebagainya A P

  34. int A; int *P; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int A P

  35. int A; int *P; A = 25; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int 25 A P

  36. int A; int *P; A = 25; P = &A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int 25 21C8 A P

  37. int A; int *P; A = 25; P = &A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Pointer P diisi dengan alamat variabel A Tercetak :25 int *int 25 21C8 A P Misal alamat variabel A berada pada Hexa 21C8 H21C8

  38. int A; int *P; A = 25; P = &A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Pointer P diisi dengan alamat variabel A Tercetak :25 Tanda & menyatakan alamat int *int 25 21C8 A P Misal alamat variabel A berada pada Hexa 21C8 H21C8

  39. int A; int *P; A = 25; P = &A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Pointer P diisi dengan alamat variabel A Tercetak :25 Tanda & menyatakan alamat int *int 25 21C8 Alamat variabel A misal : 21C8 , dalam notasi Hexa Decimal A P Misal alamat variabel A berada pada Hexa 21C8 H21C8

  40. H21C8 = D ………………… (21C8)16 = ( …………… )10 Bilangan Hexa : x x x x . x x 4096 256 16 1 1/16 1/256 2 1 C 8 8 x 1 = 8 12 x 16 = 192 1 x 256 = 256 2 x 4096 = 8192 + 8648

  41. H21C8 = D ………………… 1 / 2 1 / 4 1 / 8 1 / 16 1 / 32 1 / 64 1 / 128 1 / 256 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 = = = = = = = = (21C8)16 = ( …………… )10 Bilangan Hexa : x x x x . x x 4096 256 16 1 1/16 1/256 2 1 C 8 8 x 1 = 8 12 x 16 = 192 1 x 256 = 256 2 x 4096 = 8192 + 8648

  42. int A; int *P; A = 25; P = &A; int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 int *int 25 21C8 A P H21C8

  43. int A; int *P; A = 25; P = &A; printf(“%i”, *P); int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak :25 Tercetak : 25 Mencetak isi variabel yang alamatnya disimpan dalam Pointer P int *int 25 21C8 A P H21C8

  44. int A; int *P; A = 25; P = &A; printf(“%i”, *P); Tercetak : 25 int *int 25 21C8 A P H21C8

  45. typedef struct Node { int INFO; struct Node *LINK; }; typedef struct NodeSimpul; Tulisan dengan warna biruatau merah, adalah nama yang kita karang sendiri. Sedangkan tulisan dengan warna hitam adalah ketentuan dalam bahasa C INFO LINK

  46. Contoh 4 buah simpul Linked List dalam memory tanda panah mengilustrasikan link 12 (2) 10 25 (4) (1) 17 (3)

  47. Proses pembuatan Simpul dan pembuatan Link sampai terbentuk sebuah Linked-List

  48. Perhatikan memory berikut ini : Belum ada Linked List

  49. Akan dibuat sebuah Simpul Awal (simpul pertama)