STRUKTUR DATA
PERTEMUAN – 8
Disusun Oleh :
NAMA : ANNISA SALSABILA
NIM : 185410070
JURUSAN : TEKNIK INFORMATIKA
STMIK AKAKOM
YOGYAKARTA
2019
PEMBAHASAN
PRAKTIK 1
Tambahkanlah pada program utama (pada bagian yang dititik-titik) perintah-perintah berikut
ini :
tambahDepan();
tambahDepan();
tambahDepan();
Dengan mengisikan sembarang data mahasiswa. Catatlah urutan data yang anda entri.
Kemudian tambahkanlah di bawahnya perintah untuk mencetak senarai berikut :
cetakSenarai();
Jalankanlah program dan amati apa yang terjadi pada hasil runningnya? Deretan nama siapa
sajakah yang muncul lebih dahulu dan yang terkemudian? Bandingkan dengan urutan data
yang anda entri sebelumnya. Samakah urutannya? Catatlah dan simpulkan dalam laporan
anda.
Pembahasan :
Pada praktikum diatas merupakan program dalam pengelolaan data menggunakan Single
LinkedList yaitu contoh operasi menambah data di depan dan mencetak (menampilkan)
semua data. Adapun pengertian Single LinkedList (Senarai Berantai Tunggal) adalah
kumpulan heap/ obyek/ simpul/ node yang saling terhubung satu sama lain (linked) yang
dimanfaatkan untuk menyimpan sederet data (list) dimana pada setiap heap yang ada terdapat
satu buah pointer anggota (single) yang bertugas sebagai pointer pengait yang digunakan
untuk mengkaitkan diri dengan simpul sejenis yang ada di sebelah kanannya.
Pada program diatas yaitu program pertama dengan nama kelas simpul itu merupakan
perintah untuk mendeklarasikan struktur record yang mempunyai tipe data String dengan
nama variable nama dan alamat, tipe data integer dengan nama variable umur, dan tipe data
character dengan nama variable jekel.
Lalu, pada program kedua dibawahnya (baris 13 – selesai) merupakan program dengan nama
kelas singleLinkedList. Pada bagiian ini terdapat perintah untuk menambahkan data didepan
dengan menggunakan metode single LinkedList, lalu terdapat bagian untuk menciptakan dan
mengisi simpul baru, bagian mencangkokkan simpul baru ke dalam simpul lama, dan terdapat
perintah untuk mencetak semua data. Dan pada baris ke 171itu merupakan perintah utama di
program utama tersebut. Pada baris ke 175 sampai dengan baris ke 177 merupakan method
dengan nama method tambahDepan (untuk penambahan data di depan) dan terdapat juga
method cetakSenarai yang digunakan untuk mencetak semua data yang nantinya akan
diinputkan oleh user sendiri. Pada program diatas terdapat 3 method tambahDepan sehingga
user akan menginputkan 3 data.
Outputnya seperti diatas. Dapat kita lihat bahwa user menginputkan data dengan urutan awal
ANNISA, ADINDA, dan ALLEA. Karena data yang ditambah di depann maka outputnya
yaitu data ANNISA posisinya berada di paling bawah urutan.
PRAKTIK 2
Tambahkanlah perintah berikut ini dan letakkanlah tepat setelah perintah untuk mencetak
senarai di atas.
tambahBelakang();
tambahBelakang();
tambahBelakang();
tambahBelakang();
Lalu tambahkanlah lagi di bawahnya perintah untuk mencetak senarai sebagai berikut :
cetakSenarai();
Kemudian jalankan program dan amati apa yang terjadi pada hasil runningnya? Deretan nama
siapa sajakah yang muncul? Catatlah dan simpulkan dalam laporan anda.
Pembahasan :
Pada praktikum diatas merupakan program dalam pengelolaan data menggunakan Single LinkedList
yaitu contoh operasi menambah data di depan, menambah data di belakang, dan mencetak
(menampilkan) semua data. Adapun pengertian Single LinkedList (Senarai Berantai Tunggal)
adalah kumpulan heap/ obyek/ simpul/ node yang saling terhubung satu sama lain (linked) yang
dimanfaatkan untuk menyimpan sederet data (list) dimana pada setiap heap yang ada terdapat satu
buah pointer anggota (single) yang bertugas sebagai pointer pengait yang digunakan untuk
mengkaitkan diri dengan simpul sejenis yang ada di sebelah kanannya.
Pada program diatas yaitu program pertama dengan nama kelas simpul itu merupakan perintah untuk
mendeklarasikan struktur record yang mempunyai tipe data String dengan nama variable nama dan
alamat, tipe data integer dengan nama variable umur, dan tipe data character dengan nama variable
jekel.
Lalu, pada program kedua dibawahnya (baris 13 – selesai) merupakan program dengan nama kelas
ingleLinkedList. Pada bagiian ini terdapat perintah untuk menambahkan data didepan dengan
menggunakan metode single LinkedList, lalu terdapat bagian untuk menciptakan dan mengisi simpul
baru, bagian mencangkokkan simpul baru ke dalam simpul lama, dan terdapat perintah untuk
mencetak semua data. Pada baris ke 83 merupakan perintah untuk menambah data di Belakang. Dan
pada baris ke 171 itu merupakan perintah utama di program utama tersebut. Pada baris ke 175 sampai
dengan baris ke 177 merupakan method dengan nama method tambahDepan (untuk penambahan
data di depan. Pada baris ke 178 sampai dengan 181 merupakan method tambahBelakang (untuk
penambahan data di belakang) ) dan pada baris ke 182 terdapat juga method cetakSenarai yang
digunakan untuk mencetak semua data yang nantinya akan diinputkan oleh user sendiri. Pada program
diatas terdapat 3 method tambahDepan sehingga user akan menginputkan 3 data dan 4 method
tambahBelakang sehingga user juga akan menginputkan 4 data lainnya.
Outputnya seperti diatas. Dapat kita lihat bahwa user menginputkan data dengan urutan data pertama
yaitu ANNISA, ADINDA, ALLEA, Karena data yang ditambah di depann maka outputnya
yaitu data ANNISA posisinya berada di paling bawah urutan, data baru yang ditambahkan
menjadi posisi paling atas. Dan pada bagian tambah data di belakang posisi data yang
diinputkan yaitu TINDI, ALKINDI, PUTRA, RESTU posisinya terdapat di bawah data
ANNISA, itu dikarenakan data paling bawah yaitu data ANNISA, sehingga ketika terdapat
penambahan data di belakang, maka data yang ditambahkan akan masuk ke posisi keempat di
bawah data ANNISA, dengan urutan yang sama dengan inputan user.
KESIMPULAN
Pada praktikum kali ini yaitu mempelajari tentang Single Linked List, dimana Linked
list (daftar yang terhubung) atau disebut juga Senarai Berantai, adalah pengalokasian memori
secara dinamis agar dapat digunakan untuk menyimpan deretan data (list). Mengapa disebut
dinamis? Karena alokasi memori ini dilakukan dengan membuat simpul (heap) di memori.
Jika pada larik/ array kita hanya dapat menyimpan data hanya dalam jumlah tertentu saja dan
tidak dapat diubah (statis), maka pada linked list kita dapat menyimpan data secara lebih
dinamis karena pengalokasian simpul baru di memori baru akan dilakukan pada saat
diperlukan.
Single Linked List (Senarai Berantai Tunggal) adalah kumpulan heap/ obyek/
simpul/ node yang saling terhubung satu sama lain (linked) yang dimanfaatkan untuk
menyimpan sederet data (list) dimana pada setiap heap yang ada terdapat satu buah pointer
anggota (single) yang bertugas sebagai pointer pengait yang digunakan untuk mengkaitkan
diri dengan simpul sejenis yang ada di sebelah kanannya. Kebanyakan orang menyingkat
Single Linked List (Senarai Berantai Tunggal) hanya dengan sebutan Linked List (Senarai
Berantai).
Di dalam konsep Single Linked List ada 3 unsur pendukung yang penting, yaitu :
1. Penunjuk (disebut juga dengan pointer)
2. Simpul (disebut juga dengan list atau node atau heap)
3. Senarai Berantai Tunggal atau Single Linked List.