STRUKTUR DATA
SENARAI BERANTAI KEPALA (HEADED LINKED LIST)
SEBAGAI STACK MENGGUNAKAN ARRAY DAN POINTER
Dosen Pengampu :
Junaedy.S.Kom,.M.T
Oleh :
1
KATA PENGANTAR
Puji syukur kami panjatkan kepada Allah SWT Tuhan Yang Maha Esa yang telah melimpahkan berkah
dan rahmat-Nya sehingga kami dapat menyelesaikan tugas mata kuliah Struktur Data dengan judul
pembahasan “Senarai Berantai Berkepala Sebagai Stack Menggunakan Array dan Pointer”. Adapun
tujuan dari penyusunan dalam tugas makalah ini yaitu sebagai persyaratan untuk menyelesaikan tugas
mata kuliah Struktur Data yang sedang kami jalani. Harapan kami, semoga makalah ini dapat
bermanfaat bagi kita semua, khususnya bagi kami kelompok 12 dan untuk para pembaca sekalian. Serta
dapat berfungsi sebagaimana mestinya.
Penulis
2
DAFTAR ISI
3
BAB I
PENDAHULUAN
1. Latar Belakang
Senarai berantai (bahasa Inggris: linked list) atau kadang-kadang disebut dengan senarai
bertaut atau daftar bertaut dalam ilmu komputer merupakan sebuah struktur data yang
digunakan untuk menyimpan sejumlah objek data biasanya secara terurut sehingga
memungkinkan penambahan, pengurangan, dan pencarian atas elemen data yang tersimpan
dalam senarai dilakukan secara lebih efektif. Pada praktiknya sebuah struktur data memiliki
elemen yang digunakan untuk saling menyimpan rujukan antara satu dengan lainnya sehingga
membentuk sebuah senarai abstrak, tiap-tiap elemen yang terdapat pada senarai abstrak ini
seringkali disebut sebagai node. karena mekanisme rujukan yang saling terkait inilah disebut
sebagai senarai berantai.
Sebuah senarai berantai dengan tiap-tiap node yang terdiri atas dua elemen, data integer, dan
elemen rujukan ke node berikutnya
Senarai berantai merupakan bentuk struktur data paling umum dan sederhana yang banyak
digunakan untuk mengimplementasikan model struktur data lainnya, termasuk antrian, stack,
ataupun larik assosiatif.
2. RUMUSAN MASALAH
4
3. TUJUAN
1. Mengetahui Pengertian Dan Cara Kerja Senarai Berantai Berkepala Sebagai Stack
2. Mengetahui Pengertian Tipe Data Array Dan Pointer
3. Mengetahui Dan Dapat Mendeklarasikan Senarai Berantai Sebagai Stack
4. Mengetahui Dan Dapat Melakukan Operasi Yang Ada Pada Stack
5
BAB II
PEMBAHASAN
B. PENGERTIAN STACK
Stack (tumpukan) sebenarnya secara mudah dapat diartikan sebagai list (urutan) dimana
penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top
(puncak) dari stack.Dengan melihat definisi tersebut maka jelas bahwa pada stack berlaku
aturan LIFO (Last In First Out), yaitu elemen yang terakhir masuk akan pertama kali diambil
atau dilayani. Salah satu analogi yang dapat dikemukakan di sini adalah tumpukan piring atau
barang lain.
6
2. Senarai berantai berkepala sebagai stack menggunakan array
Array merupakan variabel yang terdiri dari sekumpulan data yang mempunyai tipe data yang
sama dan disimpan pada alamat memori yang berbeda-beda dan hanya bisa diakses
melalui nilai indeks sesuai urutan.
3. OPERASI STACK
7
jika Kondisi stack penuh maka hal tersebut dikatakan ful, dan untuk mengetahui apakah
stack dalam keadaan penuh maka kita bias menggunakan operasi isfull untuk mengecek
apakah full dalam keadaan penuh atau kosong.
8
5. Prosedur Menambah, Menghapus, menampilkan dan mencari data pada senarai berantai
berkepala sebagai stack menggunakan array atau pointer
9
10
6. Perbedaan implementasi antara senarai berantai sebagai stack menggunakan array dan yang
menggunakan pointer.
Implementasi stack menggunakan array memiliki kapasitas penyimpanan elemen data yang
terbatas (diberikan Batasan oleh tipe data array) dan hanya bisa diakses melalui indeks. Sedangkan
menggunakan pointer kita tidak memiliki batas penyimpanan data, atau dengan kata lain dapat
menyimpan elemen data hingga tak terhingga.
11
BAB III
KESIMPULAN
Perbedaan implementasi antara senarai berantai berkepala sebagai stack menggunakan array dan yang
menggunakan pointer terletak pada kapasitas penyimpanan data, dimana senarai berantai berkepala
sebagai stack menggunakan array selalu memiliki batas kapasitas penyimpanan elemen data yang
dibatasi oleh array itu sendiri, sedangkan menggunakan pointer tidak memiliki batas penyimpanan,
karena pointer memungkinkan kita untuk menyimpan banyak elemen data hingga tak terhingga.
12