Linked List 6.3 & 7.3 NESTED LOOP

dokumen-dokumen yang mirip
LIST. Dewi Sartika, M.Kom

SINGLE LINKED LIST (NON CIRCULAR)

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

KONSEP POINTER DAN LINKED LIST

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

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

Review : Sifat Implementasi Linear List dengan Array

Algoritma dan Struktur Data. Ramos Somya

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

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

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

MODUL 6 SINGLE & DOUBLE LINKED LIST

BAB IX LINKED LIST (SENARAI BERANTAI)

ALGORITMA DAN STRUKTUR DATA

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

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

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

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

STRUKTUR DATA. Literatur

(3) BAHAN KAJIAN (materi ajar)

Algoritma dan Struktur Data. Linked List

BAB II Senarai Berantai (Linked List)

04. Single Linked List

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

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

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

STRUKTUR DATA Pertemuan 1 s.d 8

Algoritma Pemrograman & Struktur Data

Single Linked List (1)

STRUKTUR DATA Pertemuan 1 s.d 8

Lab. Teknik Informatika Struktur Data 1

REPRESENTASI FISIK LIST LINEAR

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

LAPORAN PRAKTIKUM IX. Oleh:

Praktikum Algoritma dan Struktur Data

SENARAI BERANTAI (LINK LIST)

Tutorial - Single Linked List

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

Algoritma dan Struktur Data. Pertemuan 7 Linked List

BAB IV Antrian(Queue)

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

A. TUJUAN PEMBELAJARAN

Struktur Data II. Single Linked List - Non circular

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

Algoritma Dan Struktur Data II

Algoritma Pemrograman & Struktur Data

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Praktikum 5. Antrian (Queue)

Pertemuan 7. REVIEW dan QUIS

Array VS Linked List

BAB IX LINKED LIST (SENARAI BERANTAI)

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

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

VARIABEL & TIPE DATA PEMROGRAMAN C++

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

MODUL IV STACK A. TUJUAN

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

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

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Pemrograman Dasar C. Minggu 9

Struct Lanjutan: Studi Kasus

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

A. TUJUAN PEMBELAJARAN

MODUL PRAKTIKUM STRUKTUR DATA

Modul Praktikum Algoritma dan Struktur Data

DIG1G3 Implementasi Struktur Data

Data Structure STRUKTUR DATA QUEUE. Chapter 3. Dahlia Widhyaestoeti, S.Kom

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Variasi List Linier. Nisa ul Hafidhoh, MT

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

P 4 Bab 3 : Dasar Pemrograman C

Search And Insert Problem (Sorted Double Linkedlist Solution)

ARNA FARIZA YULIANA SETIOWATI

DIG1G3 Implementasi Struktur Data

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

MODUL IV Analisis Kasus/Pemilihan

Struktur Data Array. Rijal Fadilah S.Si

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

Achmad Solichin.

STRUKTUR DATA (2) Single Linked List

Algoritma Dan Struktur Data II

01. Review Array, Pointer dan Struktur

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

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

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

05. Double Linked List

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

ASD. Alokasi Memori Dinamis

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

POINTER. Tim Alpro Teknik Informatika

Transkripsi:

Linked List 6.3 & 7.3 NESTED LOOP 1

Linked List ( List yang di-link satu dengan lainnya ) 2

apa itu List? 3

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

int A[5]; biasa diilustrasikan sebagai berikut : 0 1 2 3 4 Kadang-kadang diilustrasikan sebagai berikut : 0 1 2 3 4 5

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

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] ); } Algo-1, jilid 2 hal. 10.03 akan tercetak : 21D8 21DA 21DC 21DE 21E0 Tiap elemen 2 BYTE 7

Apa itu alamat? 8

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

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 10

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

Linked List List yang di-link satu dengan lainnya Yang dimaksud dengan List disini adalah : sekumpulan elemen yang digabung menjadi satu kelompok yang disebut : structure, setiap elemen mempunyai tipe data tersendiri atau Vertex, atau Node, atau Titik, atau Record atau Simpul 12

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 Tipe : integer atau Simpul untuk menyimpan data 13

typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; INFO LINK Tulisan dengan warna biru atau merah, adalah nama yang kita karang sendiri. Sedangkan tulisan dengan warna hitam adalah ketentauan dalam bahasa C 14

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

Proses pembuatan Simpul dan pembuatan Link sampai terbentuk sebuah Linked-List 16

Perhatikan memory berikut ini : Belum ada Linked List 17

Akan dibuat sebuah Simpul Awal (simpul pertama) 18

Simpul pertama (1) sudah dibuat misal alamatnya = H1000 H1000 (1) Bagaimana membuatnya akan diterangkan kemudian 19

Kemudian INFO akan diisi dengan nilai H1000 (1) 20

INFO simpul pertama (1) sudah diisi dengan nilai H1000 (1) Bagaimana cara mengisinya akan diterangkan kemudian 21

Misal akan dibuat sebuah simpul baru (simpul kedua) H1000 (1) 22

Sudah dibuat simpul kedua (2) Misal alamatnya = H0800 H0800 (2) H1000 (1) Alamat simpul baru, tidak mesti lebih besar dari alamat simpul pertama 23

INFO simpul kedua (2) akan diisi dengan 12 H0800 (2) H1000 (1) 24

INFO simpul kedua (2) sudah diisi dengan nilai 12 12 H0800 (2) H1000 (1)

Akan di-link simpul pertama (1) dengan simpul kedua (2) 12 H0800 (2) H1000 (1) 26

Simpul pertama (1) sudah di-link dengan simpul kedua (2) LINK simpul pertama (1) diisi dengan alamat simpul kedua (2) 12 H0800 (2) H1000 0800 (1) Bagaimana mengisi LINK simpul pertama dengan alamat simpul kedua akan diterangkan kemudian 27

12 H0800 (2) H1000 0800 (1) Instruksi untuk meng-link yaitu mengisi alamat simpul (2) kedalam LINK simpul (1) termasuk intruksi atau tugas yang sulit! 28

Kemudian : Akan dibuat simpul (3), dan INFO simpul (3) diisi dengan 17 12 H0800 (2) H1000 0800 (1) 29

Sudah dibuat simpul ketiga (3) Misal alamatnya = H1400 12 H0800 (2) 0800 H1000 (1) H1400 17 (3) 30

Kemudian : Akan di-link simpul kedua (2) dengan simpul ketiga (3) 12 H0800 (2) 0800 H1000 (1) H1400 17 (3) 31

Simpul kedua (2) sudah di-link dengan simpul ketiga (3) 12 1400 H0800 (2) 0800 H1000 (1) H1400 17 (3) 32

Dan seterusnya dibuat simpul (4), INFO simpul (4) diisi 10 dan simpul (3) di-link dengan simpul (4) 12 1400 H0800 (2) H1000 0800 (1) H1400 17 1100 (3) H1100 10 (4) 33

Sekarang sudah tercipta 4 buah simpul, dan sudah ter-link satu dengan lainnya, sehingga membentuk sebuah Linked List 12 1400 H0800 (2) H1000 0800 (1) H1400 17 1100 (3) H1100 10 (4) 34

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 : 35

Sehingga: Link dalam bentuk angka alamat tidak diperlukan lagi 12 1400 H0800 (2) H1000 0800 (1) H1400 17 1100 (3) H1100 10 (4) 36

12 H0800 (2) H1000 (1) H1400 17 (3) H1100 10 (4) 37

Alamat sebuah simpul, sebenarnya, tidak perlu diketahui atau dinyatakan 12 H0800 (2) H1000 (1) H1400 17 (3) H1100 10 (4) 38

Linked List empat buah simpul dapat dinyatakan demikian ini, tanpa memperlihatkan alamat simpul secara fisik 12 (1) (2) 17 (3) 10 (4) 39

INFO LINK INFO LINK INFO LINK INFO LINK Linked List empat buah simpul ini dapat disederhanakan gambarnya menjadi : 12 (1) (2) 17 (3) 10 (4) 40

3. 01 Linked List adalah List yang di link satu dengan yang lainnya. Sedangkan list itu sendiri adalah merupakan gabungan beberapa elemen yang dijadikan satu structure atau record yang dibentuk dengan perintah struct Dalam buku ini akan dibicarakan 4 macam linked list sebagai berikut : 41

3. 01 I. LINEAR SINGLY LINKED LIST II. LINEAR DOUBLY LINKED LIST III. CIRCULAR SINGLY LINKED LIST IV. CIRCULAR DOUBLY LINKED LIST 42

I. LINEAR SINGLY LINKED LIST 3. 01 FIRST LAST 12 17 10 II. LINEAR DOUBLY LINKED LIST FIRST LAST 12 17 10 43

III. CIRCULAR SINGLY LINKED LIST 3. 01 FIRST LAST 12 17 10 IV. CIRCULAR DOUBLY LINKED LIST FIRST LAST 12 17 10 44

3. 02 LINKED LIST LURUS DENGAN POINTER TUNGGAL 45

LINEAR SINGLY LINKED LIST 3. 02 1.1. ILUSTRASI FIRST LAST 12 17 10 (1) (2) (3) (4) atau LAST FIRST 10 17 12 (4) (3) (2) (1) 46

3. 02 FIRST LAST 12 17 10 Urutan insert Urutan delete (1) (2) (3) (4) (1) (2) (3) (4) atau LAST FIRST 10 17 12 Urutan insert Urutan delete (4) (3) (2) (1) (1) (2) (3) (4) 47

3. 02 INSERT : Masuk, Simpan, Tulis DELETE : Keluar, Ambil, Baca atau Hapus 48

FIRST LAST Ilustrasi-1 12 17 10 Urutan insert Urutan delete (1) (2) (3) (4) (1) (2) (3) (4) LAST FIRST Ilustrasi-2 10 17 12 Urutan insert Urutan delete (4) (3) (2) (1) (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 49

1.1. ILUSTRASI FIRST LAST 3. 02 12 17 10 (1) (2) (3) (4) 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 Untuk simpul no (1), Field INFO berisi nilai Field LINK berisi alamat record no (2) Yang diilustrasikan dengan panah yang menunjuk record no (2) 50

3. 02 FIRST LAST 12 17 10 (1) (2) (3) (4) Simpul pertama no (1) ditunjuk oleh pointer FIRST dan simpul terakhir no (4) ditunjuk oleh pointer LAST Dari nama pointer FIRST dan LAST dapat diperkirakan bahwa record no (1) yang pertama kali dibuat dan record no (4) yang terakhir dibuat. Walaupun secra teknis dapat saja bukan demikian. 51

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 52

Ilustrasi sebuah Simpul (Vertex, atau Node, atau Record) 3.03 Simpul dengan 2 elemen atau field Nama field Tipe Nama field : LINK Tipe : pointer Isi : akan diisi dengan alamat record berikutnya : INFO : integer Isi : akan diisi data Tipe data tentunya disesuaikan dengan keperluan. Disini diambil saja contoh yang sederhana dimana data yang akan disimpan adalah bernilai integer. 53

Struktur sebuah Simpul 3.03 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; 54

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 55

typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; 3.03 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 terdiri dari dua field, yaitu : INFO yang bertipe integer (int), dan record, dimana structure tersebut LINK yang bertipe pointer (pakai *) untuk structure tersebut. 56

1.2.1. Pembuatan Simpul ( Baru ) 3. 04 Perhatikan kembali instruksi untuk menyiapkan tipe sebuah simpul sebagai berikut : typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; 57

1.2.1. Pembuatan Simpul ( Baru ) 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 58

3. 04 P = (Simpul *) malloc(sizeof(simpul)); malloc : Maksudnya : memory allocation yaitu mengalokasikan memory sebesar atau seukuran (sizeof) yang diperlukan untuk Simpul 59

3. 04 P = (Simpul *) malloc(sizeof(simpul)); INFO LINK 21C8 H21C8 P Alamat simpul dicatat dalam variabel P (P bertipe Pointer untuk menunjuk Simpul) 60

3. 04 21C8 H21C8 P Ilustrasi fisik dalam memory diatas, dapat digambarkan dengan ilustrasi diagram sebagai berikut : P 61

Contoh (sederhana) program selengkapnya untuk membuat sebuah record atau simpul yang alamat simpul tersebut dicatat dalam pointer P. #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; } 3. 04 62

main() { int X; scanf( %i, &X); p = (Simpul *)alloc(sizeof(simpul)); P->INFO = X; P->LINK = NULL; } Field LINK berisi NULL artinya pointer LINK tidak menunjuk kesuatu alamat tertentu 3. 04 Nilai X (misal hasil input sebelumnya) disimpan dalam elemen INFO Terbentuk sebuah simpul yang alamatnya disimpan dalam pointer P atau disebut simpul yang ditunjuk oleh pointer P P 63

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 64

3. 04 P->LINK = NULL; P->LINK field LINK suatu simpul, yang simpulnya sedang ditunjuk oleh pointer P P \0 0 0 0 0 0 0 0 0 karakter NULL nilai ASCIInya = 0 (nol) 65

P 3. 04 \0 Nilai pointer yang berisi NULL sering diilustrasikan sebagai panah ground sebagai berikut : P 66

Perhatikan kembali LINEAR SINGLY LINKED LIST yang akan dibuat sebagai yang diilustrasikan berikut ini : 3.05 FIRST LAST 12 17 10 (1) (2) (3) (4) 67

1.2.2. Pembuatan Simpul Awal. 3.05 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 12 17 10 (1) (2) (3) (4) Simpul ini yang kita ambil sebagai contoh untuk simpul awal yang ditunjuk oleh pointer FIRST 68

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 P FIRST LAST X Perhatikan : Ada 3 buah pointer : P, FIRST, dan LAST 69

1.2.2. Pembuatan Simpul Awal. 3.05 Fungsi untuk membuat simpul awal 1) 2) 3) 4) 5) void Awal (void) { int X; scanf( %i, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; } Ada 5 intruksi pokok 70

1) 2) 3) 4) 5) P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 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 71

3.05 1000 P FIRST LAST X 1000 P 72

Sebuah simpul yang ditunjuk oleh pointer P ( alamatnya dicatat dalam pointer P ) 3.05 P P P P P P Banyak cara menggambarkan ilustrasi pointer P menunjuk sebuah simpul P 73

Sebuah simpul yang ditunjuk oleh pointer P ( alamatnya dicatat dalam pointer P ) 3.05 P Field ini namanya : P->LINK Field ini namanya : P->INFO 74

1) 2) 3) 4) 5) P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 3.05 2) P->INFO = X; P 75

3.05 1000 P FIRST LAST X 1000 P 76

P 3.05 Field ini namanya : P->LINK Field ini namanya : P->INFO Dengan perintah : printf( %i, P->INFO); Akan tercetak : 77

FIRST LAST 12 17 10 (1) (2) (3) (4) Simpul pertama selalu ditunjuk Oleh pointer FIRST 78

1) 2) 3) 4) 5) P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P P->LINK = NULL; FIRST 3.05 3) FIRST = P; FIRST P P FIRST 79

3.05 1000 P FIRST LAST X 1000 1000 FIRST P 80

FIRST P 3.05 Field ini namanya : P->LINK atau FIRST->LINK Field ini namanya : P->INFO atau FIRST->INFO 81

FIRST LAST 12 17 10 (1) (2) (3) (4) Simpul terakhir selalu ditunjuk Oleh pointer LAST 82

1) 2) 3) 4) 5) P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST FIRST = P; LAST = P; P P->LINK = NULL; LAST 3.05 4) LAST = P; LAST FIRST P FIRST P LAST 83

3.05 1000 P FIRST LAST X 1000 1000 1000 LAST FIRST P 84

LAST 3.05 FIRST P Field ini namanya : Field ini namanya : P->LINK atau FIRST->LINK atau LAST->LINK P->INFO atau FIRST->INFO atau LAST->INFO 85

1) 2) 3) 4) 5) P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; 3.05 5) P->LINK = NULL; LAST FIRST P 86

3.05 1000 P FIRST LAST X 1000 1000 1000 LAST FIRST P Sudah terbentuk sebuah Simpul awal 87

3.05 LATIHAN DI KELAS 88

LAST FIRST P 3.05 Pertanyaan : Ada berapa buah simpul yang terlihat 89

LAST FIRST P 3.05 Jawab : Ada 1 buah simpul 90

LAST FIRST P 3.05 Pertanyaan : Ada berapa buah pointer yang terlihat - Apa nama masing-masing pointer - Apa isi masing-masing pointer 91

LAST FIRST P 3.05 3 2 1 Jawab : Ada 4 buah pointer 4 No Nama Isi Pointer Pointer pointer 1 2 3 4 P FIRST LAST P->LINK atau FIRST->LINK atau LAST->LINK &(1) &(1) &(1) NULL 92

LAST FIRST P 3.05 3 2 1 TRUE atau FALSE Kondisi berikut ini 4 if( P == FIRST ) if( FIRST == LAST ) if( FIRST->LINK == LAST->LINK ) if( FIRST->INFO = ) 93