LINKED LIST
Kelompok : 1 (Satu)
Nama
: 1) Yayang EBM
2) Saka Praja
3) M. Mehmet
4) Riski Megawati
5) Andreas NW

6) Ramadhan Rinaldi
7) Ayu Wandira
8) Iin Tabiin
9) Reza Yunita
• Definisi
• Linked List adalah struktur berupa rangkaian
elemen saling berkait dimana tiap elemen
dihubungkan ke elemen yang lain melalui pointer.
• Linked list adalah sekumpulan elemen bertipe
sama, yang mempunyai keterurutan tertentu, yang
setiap elemennya terdiri dari dua bagian.
• Linked list juga merupakan suatu cara untuk
menyimpan data dengan struktur sehingga dapat
secara otomatis menciptakan suatu tempat baru
untuk menyimpan data yang diperlukan.
• Masing-masing komponen sering disebut dengan
simpul. Setiap simpul pada dasarnya dibagi atas
dua bagian. Bagian pertama disebut dengan
Isiyaitu bagian yang berisi nilai yang disimpan oleh
simpul. Bagian kedua disebut bagian Pointer, yaitu
berisi alamat dari simpul berikutnya dan atau
sebelumnya.

• Linked List dapat disajikan dengan 2 bagian besar
yaitu Singly List dan Doubly List. Baik Singly List
maupun Doubly List dapat juga disajikan secara
melingkar (circular).
SINGLY LINKED LIST
• Merupakan Linked List yang paling sederhana.
Setiap simpul dibagi menjadi dua bagian yaitu
bagian Isi dan bagian Pointer. Bagian Isi merupakan
bagian yang berisi data yang disimpan oleh simpul,
sedangkan bagian Pointer merupakan bagian yang
berisi alamat dari simpul berikutnya
Sebagai ilustrasi simpul dari Singly List dapat dilihat
pada gambar berikut :

Bagian Data

Bagian Pointer

terlihat bahwa simpul pertama dihubungkan ke simpul
kedua melalui bagian Pointer simpul pertama. Bagian
Pointer simpul kedua dihubungkan ke simpul ketiga.
Demikian seterusnya hingga simpul terakhir. Bagian
Pointer simpul terakhir tidak dihubungkan ke simpul
lain yang disebut sebagai NULL.
• Non Circular Singly Linked List

• Circular Singly Linked List
Deklarasi Singly Linked List
Typedef struct node *simpul;
Struct node
{
Type_data Isi;
SimpulNext;
};
Operasi pada Singly Linked List
a. Menambah Simpul
Operasi yang digunakan untuk menyisipkan
simpul di posisi tertentu. Penyisipan simpul
dapat dilakukan di posisi depan, penyisipan
simpul di belakang, penyisipan simpul di antara
dua simpul (simpul tengah).
b. Menghapus Simpul
Maksudnya adalah operasi menghapus suatu
simpul dari suatu Linked List. Dalam melakukan
penghapusan
simpul,
ada
yang
perlu
diperhatikan, bahwa Linked List tidak boleh
kosong dan Linked List tidak boleh terputus.
Sama halnya dengan penyisipan, penghapusan
simpul juga dapat dilakukan terhadap simpul
depan, simpul belakang, dan simpul tengah.
Menghapus simpul
c. Mencetak Isi Simpul
Nilai masing-masing simpul dapat dicetak mulai
dari isi simpul pertama atau simpul depan hingga
simpul belakang dengan fungsi berikut ini.
void Cetak(simpul L)
{
Simpul bantu;
if (L == NULL)
cout << “Linked List Kosong. . . . “ << endl;
else
{
bantu=L;
cout<<”Isi Linked List : “;
while (bantu->Next != NULL)
{
Cout << bantu -> Isi << “-->”;
}
}
}
Doubly Linked List
• Doubly Linked List merupakan Linked List dimana
setiap simpul dibagi menjadi tiga bagian yaitu
bagian isi, bagian pointer kiri, dan bagian pointer
kanan. Bagian isi merupakan bagian yang berisi
data yang disimpan oleh simpul, sedangkan
bagian pointer kiri merupakan bagian yang berisi
alamat dari simpul sebelumnya dan bagian
pointer kanan merupakan bagian yang berisi
alamat dari simpul berikutnya
• Non Circular Doubly Linked List

• Circular Doubly Linked List
Deklarasi Doubly Linked List
typedef struct node *simpul;
struct node
{
char Isi;
simpul kanan;
simpul kiri;
};
Operasi Pada Doubly Linked List
a. Penyisipan Simpul
Penyisipan simpul adalah operasi penyisipan suatu
simpul baru ke dalam suatu Doubly Linked List.
Penyisipan dapat dilakukan di posisi depan, tengah,
dan belakang.
b. Penghapusan Simpul
Operasi menghapus suatu simpul dari suatu Linked
List pada Doubly Linked List hampir sama dengan
penghapusan simpul Singly Linked List, yaitu Linked
List (DL) tidak boleh dalam keadaan kosong.
Penghapusan simpul juga dapat dilakukan terhadap
simpul depan, simpul belakang, dan simpul tengah.
• Gambar Penyisipan/Menambah Simpul
• Gambar Penghapusan Simpul
c. Pencetakan Simpul
void Cetak(simpul DL)
{
if(DL == NULL)
cout << “Linked List Kosong . . . . “ <<endl;
else
{
cout << “Isi Linked List : “;
while (DL != NULL)
{
Cout << DL->Isi<<” “;
DL=DL->kanan;
}
}
}
• Mencetak Linked List Secara Mundur
Mencetak mundur artinya mencetak elemen
Linked List mulai dari elemen simpul belakang ke
depan.
void Cetak_Mundur(simpul DL)
{
if(DL != NULL)
{
Cetak_Mundur(DL->kanan);
cout << DL->Isi<<” “;
}
}
Linked list

Linked list

  • 1.
    LINKED LIST Kelompok :1 (Satu) Nama : 1) Yayang EBM 2) Saka Praja 3) M. Mehmet 4) Riski Megawati 5) Andreas NW 6) Ramadhan Rinaldi 7) Ayu Wandira 8) Iin Tabiin 9) Reza Yunita
  • 2.
    • Definisi • LinkedList adalah struktur berupa rangkaian elemen saling berkait dimana tiap elemen dihubungkan ke elemen yang lain melalui pointer. • Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian. • Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yang diperlukan.
  • 3.
    • Masing-masing komponensering disebut dengan simpul. Setiap simpul pada dasarnya dibagi atas dua bagian. Bagian pertama disebut dengan Isiyaitu bagian yang berisi nilai yang disimpan oleh simpul. Bagian kedua disebut bagian Pointer, yaitu berisi alamat dari simpul berikutnya dan atau sebelumnya. • Linked List dapat disajikan dengan 2 bagian besar yaitu Singly List dan Doubly List. Baik Singly List maupun Doubly List dapat juga disajikan secara melingkar (circular).
  • 4.
    SINGLY LINKED LIST •Merupakan Linked List yang paling sederhana. Setiap simpul dibagi menjadi dua bagian yaitu bagian Isi dan bagian Pointer. Bagian Isi merupakan bagian yang berisi data yang disimpan oleh simpul, sedangkan bagian Pointer merupakan bagian yang berisi alamat dari simpul berikutnya
  • 5.
    Sebagai ilustrasi simpuldari Singly List dapat dilihat pada gambar berikut : Bagian Data Bagian Pointer terlihat bahwa simpul pertama dihubungkan ke simpul kedua melalui bagian Pointer simpul pertama. Bagian Pointer simpul kedua dihubungkan ke simpul ketiga. Demikian seterusnya hingga simpul terakhir. Bagian Pointer simpul terakhir tidak dihubungkan ke simpul lain yang disebut sebagai NULL.
  • 6.
    • Non CircularSingly Linked List • Circular Singly Linked List
  • 7.
    Deklarasi Singly LinkedList Typedef struct node *simpul; Struct node { Type_data Isi; SimpulNext; };
  • 8.
    Operasi pada SinglyLinked List a. Menambah Simpul Operasi yang digunakan untuk menyisipkan simpul di posisi tertentu. Penyisipan simpul dapat dilakukan di posisi depan, penyisipan simpul di belakang, penyisipan simpul di antara dua simpul (simpul tengah).
  • 9.
    b. Menghapus Simpul Maksudnyaadalah operasi menghapus suatu simpul dari suatu Linked List. Dalam melakukan penghapusan simpul, ada yang perlu diperhatikan, bahwa Linked List tidak boleh kosong dan Linked List tidak boleh terputus. Sama halnya dengan penyisipan, penghapusan simpul juga dapat dilakukan terhadap simpul depan, simpul belakang, dan simpul tengah.
  • 10.
  • 11.
    c. Mencetak IsiSimpul Nilai masing-masing simpul dapat dicetak mulai dari isi simpul pertama atau simpul depan hingga simpul belakang dengan fungsi berikut ini. void Cetak(simpul L) { Simpul bantu; if (L == NULL) cout << “Linked List Kosong. . . . “ << endl; else { bantu=L; cout<<”Isi Linked List : “; while (bantu->Next != NULL) { Cout << bantu -> Isi << “-->”; } } }
  • 12.
    Doubly Linked List •Doubly Linked List merupakan Linked List dimana setiap simpul dibagi menjadi tiga bagian yaitu bagian isi, bagian pointer kiri, dan bagian pointer kanan. Bagian isi merupakan bagian yang berisi data yang disimpan oleh simpul, sedangkan bagian pointer kiri merupakan bagian yang berisi alamat dari simpul sebelumnya dan bagian pointer kanan merupakan bagian yang berisi alamat dari simpul berikutnya
  • 13.
    • Non CircularDoubly Linked List • Circular Doubly Linked List
  • 14.
    Deklarasi Doubly LinkedList typedef struct node *simpul; struct node { char Isi; simpul kanan; simpul kiri; };
  • 15.
    Operasi Pada DoublyLinked List a. Penyisipan Simpul Penyisipan simpul adalah operasi penyisipan suatu simpul baru ke dalam suatu Doubly Linked List. Penyisipan dapat dilakukan di posisi depan, tengah, dan belakang. b. Penghapusan Simpul Operasi menghapus suatu simpul dari suatu Linked List pada Doubly Linked List hampir sama dengan penghapusan simpul Singly Linked List, yaitu Linked List (DL) tidak boleh dalam keadaan kosong. Penghapusan simpul juga dapat dilakukan terhadap simpul depan, simpul belakang, dan simpul tengah.
  • 16.
  • 17.
  • 18.
    c. Pencetakan Simpul voidCetak(simpul DL) { if(DL == NULL) cout << “Linked List Kosong . . . . “ <<endl; else { cout << “Isi Linked List : “; while (DL != NULL) { Cout << DL->Isi<<” “; DL=DL->kanan; } } }
  • 19.
    • Mencetak LinkedList Secara Mundur Mencetak mundur artinya mencetak elemen Linked List mulai dari elemen simpul belakang ke depan. void Cetak_Mundur(simpul DL) { if(DL != NULL) { Cetak_Mundur(DL->kanan); cout << DL->Isi<<” “; } }