Anda di halaman 1dari 12

TUGAS KELOMPOK 12

STRUKTUR DATA
SENARAI BERANTAI KEPALA (HEADED LINKED LIST)
SEBAGAI STACK MENGGUNAKAN ARRAY DAN POINTER

Dosen Pengampu :
Junaedy.S.Kom,.M.T

Oleh :

1. Masdiana Arifin – 52013055


2. Hudzaifah – 52018901

PROGRAM STUDY TEKNIK INFORMATIKA


TAHUN AJARAN 2019/2020
STMIK KHARISMA MAKASSAR

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.

Makassar, 25 Oktober 2019

Penulis

2
DAFTAR ISI

KATA PENGANTAR ............................................................................................................................. i


DAFTAR PUSTAKA ............................................................................................................................ ii
BAB I PENDAHULUAN ........................................................................................................................ 1
1.1. LATAR BELAKANG ...................................................................................................... 2
1.2. RUMUSAN MASALAH .................................................................................................. 3
1.3. TUJUAN ........................................................................................................................ 4
BAB II PEMBAHASAN .......................................................................................................................... 5
A. PENGERTIAN SENARAI BERKEPALA ............................................................................... 6
B. PENGERTIAN STACK ........................................................................................................ 7
C. PENGERTIAN ARRAY DAN POINTER ............................................................................... 8
D. OPERASI STACK ................................................................................................................ 9
E. IMPLEMENTASI STACK MENGGUNAKAN ARRAY DAN POINTER .............................. 10
F. DEKLARASI STACK MENGGUNAKAN SENARAI BERKEPALA ........................................ 11
G. TANYA JAWAB .................................................................................................................... 12
BAB III KESIMPULAN .......................................................................................................................... 13

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

A. Apa itu senarai berantai berkepala sebagai stack ?


B. Apa Itu Array Dan Pointer
C. Bagaimana Deklarasi Senarai Berantai Berkepala Sebagai Stack
D. Apa Saja Operasi Yang Ada Pada Stack

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

A. PENGERTIAN SENARAI BERANTAI BERKEPALA


Merupakan satu dari berbagai varian sebuah “Linked list” , sebuah Senarai berkepala (Header
Linked List) memiliki sebuah node khusus yang hadir diawal yang digunakan untuk menyimpan
jumlah node yang ada pada senarai berantai.

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.

C. PENGERTIAN ARRAY DAN POINTER


1. Senarai berantai berkepala sebagai stack menggunakan pointer
Tipe data pointer adalah tipe data yang berisi alamat memory dari sebuah variabel.

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

Operasi yang terdapat pada stack :

- POP (Menambahkan elemen)


Menambahkan elemen baru pada stack, cara kerjanya yaitu dilakukan penambahan elemen
baru kedalam stack yang dimulai dari awal.

- PUSH (Menghapus elemen)


Menghapus elemen yang ada pada stack, cara kerjanya yaitu dilakukan penghapusan mulai
dari elemen puncak stack.

- IsFull (Keadaan stack penuh)

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.

- IsEmpty (Keadaan stack kosong)


Untuk mengecek apakah stack dalam keadaan kosong atau tidak maka kita bisa
menggunakan operasi IsEmpty.

4. DEKLARASI STACK MENGGUNAKAN SENARAI BERKEPALA

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.

7. Sesi tanya Jawab


1. Felycia Wisanto
Kapan Stack digunakan ?
Jawaban kami :
Berdasarkan kondisi dan program seperti apa yang kita ingin buat, sebagai contoh stack
dipakai dalam hal popiks dan impiks pada aritmatika.
2. Farel C Kawilarang
Cara menggunakan push dan pop pada stack ?
Jawaban kami :
- Push digunakan untuk menambah sebuah elemen pada stack dengan cara menambah
elemen dari atas atau awal (setelah senarai berantai berkepala) dan prosedur tersebut
hanya berlaku untuk penambahan elemen dari 1 pintu atau dari awal saja.
- Pop digunakan untuk menghapus data sebuah elemen pada stack dengan cara
mengeluarkan elemen dari atas atau awal (setelah senarai berantai berkepala) dan
prosedur tersebut berlaku untuk pengeluaran elemen dari 1 pintu atau dari awal saja.
3. Anggi
Bagaimana koding underflow
Jawaban kami :
Underflow adalah sebuah kondisi stack dalam keadaan kosong,dengan dengan pernyataan :
Int top = -1;

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

Anda mungkin juga menyukai