Anda di halaman 1dari 12

BAB I

PENDAHULUAN

1.1 Latar Belakang

Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam
media penyimpanan komputer sehingga data tersebut dapat digunakan secara
efisien.Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau
keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam
bentuk tulisan, suara, gambar, sinyal atau symbol. Struktur data diperlukan dalam
perencanaan Algoritma dan penyusunan program sebagai dasar teknik dari Database.
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan
lebih efesien dan sederhana. Struktur data yang standar yang biasanya digunakan
dibidang informatika adalah :

a. List linier (Linked List) dan variasinya Multilist


b. Stack (Tumpukan)
c. Queue (Antrian)
d. Tree ( Pohon )
e. Graph ( Graf )

Pada makalah ini saya tidak akan membahas semua struktur data tersebut disini saya
akan khusus membahas tentang List.

1
1.2 Rumusan Masalah
a. Apakah yang dimaksud dengan list?
b. Apa itu Single linked list , Apa saja metodenya serta Bagaimana operasi
didalamnya?
c. Apa itu Double linked list , Bagaimana operasi didalamnya?
d. Apa itu Circular linked list ,Bagaimana operasi didalamnya?
e. Bagaimana cara penerapan Struktur data List ini dalam suatu Bahasa
pemrograman?
1.3 Tujuan dan Manfaat Penulisan

Tujuan dibuatnya makalah ini adalah diantaranya memenuhi salah satu


tugas mata kuliah Struktur Data serta agar kita lebih mengetahui apa itu List,apa
saja macam-macam List, metode dan operasinya serta cara penerapannya pada
suatu Bahasa Pemrograman .Manfaat yang diharapkan yaitu dapat lebih mengerti
apakah sebenarnya struktur data list itu,apa sajakah macamnya,bagaimana
metode dan operasinya serta bagaimana cara penerapannya dalam suatu Bahasa
Pemrograman.

2
BAB II

PEMBAHASAN

2.1 Linked List


Linked List adalah salah satu bentuk struktur data, berisi kumpulan data
(node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan
terbatas.

a. Linked List sering disebut juga Senarai Berantai


b. Linked List saling terhubung dengan bantuan variabel pointer
c. Masing-masing data dalam Linked List disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct yang
terdiri dari beberapa field.
2.2 Single Linked List
Apabila setiap kita ingin menambahkan data, kita selalu menggunakan variabel
pointer yang baru, kita akan membutuhkan banyak sekali pointer. Oleh karena itu,
ada baiknya jika kita hanya menggunakan satu variabel pointer saja untuk
menyimpan banyak data dengan metode yang kita sebut Linked List. Jika
diterjemahkan, ini berarti satu daftar isi yang saling berhubungan. Untuk lebih
jelasnya, perhatikan gambar di bawah ini:

3
Pada gambar di atas tampak bahwa sebuah data terletak pada sebuah lokasi
memori area. Tempat yang disediakan pada satu area memori tertentu untuk
menyimpan data dikenal dengan sebutan node/simpul. Setiap node memiliki pointer
yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, degan
demikian hanya diperlukan sebuah variabel pointer. Susunan berupa untaian
semacam ini disebut Single Linked List (NULL memilik nilai khusus yang artinya
tidak menunjuk ke mana-mana. Biasanya Linked List pada titik akhirnya akan
menunjuk ke NULL).

Pembuatan Single Linked List dapat menggunakan 2 metode:

a. LIFO (Last In First Out), aplikasinya : Stack (Tumpukan)


b. FIFO (First In First Out), aplikasinya : Queue (Antrean)
1) LIFO ( Last In First Out)

Lifo adalah suatu metode pembuatan Linked List di mana data yang masuk
paling akhir adalah data yang keluar paling awal. Hal ini dapat di analogikan
(dalam kehidupan sehari-hari) dengan saat Anda menumpuk barang seperti
digambarkan dibawah ini. Pembuatan sebuah simpul dalam suatu linked list
seperti digambarkan dibawah ii, disebutkan istilah INSERT, Jika linked list
dibuat dengan metode LIFO, terjadi penambahan / Insert simpul di belakang.

Gambar. Ilustrasi Single Linked List dengan metode LIFO

4
2) FIFO (Fisrt In Fisrt Out)

FIFO adalah suatu metode pembuatan Linked List di mana data yang masuk
paling awal adalah data yang keluar paling awal juga. Hal ini dapat di analogikan
(dalam kehidupan sehari-hari), misalnya saat sekelompok orang yang datang
(ENQUEUE) mengantri hendak membeli tiket di loket. Jika linked list dibuat
dengan metode FIFO, terjadi penambahan / Insert simpul

didepan.

3) Operasi Pada Single Linked List Insert

Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
Selain fungsi insert di atas, pada linked list juga terdapat fungsi-fungsi lainnya. Di
bawah ini diberikan fungsi-fungsi umum dalam aplikasi linked list.

a) Konstruktor
Fungsi ini membuat sebuah linked list yang baru dan masih kosong.
b) IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.
c) Find First
Fungsi ini mencari elemen pertama dari linked list
d) Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now.
e) Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut
lalu dikembalikan oleh fungsi.
f) Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu.
g) Delete Now

5
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus
adalah elemen pertama dari linked list (head), head akan berpindah ke
elemen berikut.
h) Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke
elemen sesudahnya.
i) Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan
bila anda ingin mengakhiri program yang menggunakan linked list. Jika
anda melakukannya,data-data uang dialokasikan ke memori pada
program sebelumnya akan tetap tertiinggal di dalam memori.

2.3 Double Linked List

Salah satu kelemahan single linked list adalah pointer (penunjuk) hanya dapat
bergerak satu arah saja, maju/ mundur, atau kanan/kiri sehingga pencarian data
pada single linked list hanya dapat bergerak dalam satu arah saja. Untuk
mengatasi kelemahan tersebut, anda dapat menggunakan metode double linked
list. Linked list ini dikenal dengan nama Linked list berpointer Ganda atau
Double Linked List.

6
Operasi –operasi pada Double Linked List Insert Tail

Fungsi insert tail berguna untuk menambah simpul di belakang (sebelah kanan)
pada sebuah linked list.

a. Insert Head
Sesuai dengan namanya, fungsi Insert Head berguna untuk menambah
simpul di depan (sebelah kiri). Fungsi ini tidak berada jauh dengan fungsi
Insert Tail yang telah dijelaskan sebelumnya.
b. Delete Tail
Fungsi Delete Tail berguna untuk menghapus simpul dari belakang. Fungsi
ini merupakan kebalikan dari fungsi Insert Tail yang menambah simpul
dibelakang. Fungsi Delete Tail akan mengarahkan Now kepada Tail dan
kemudian memanggil fungsi Delete Now.
c. Delete Head
Fungsi Delete Head merupakan kebalikan dari fungsi Delete Tail yang
menghapus simpul dari belakang, sedangkan Delete Head akan menghapus
simpul dari depan (sebelah kiri). Fungsi Delete Head akan mengarahkan
Now kepada Head dan kemudianm memanggil fungsi Delete Now.
d. Delete Now
Fungsi Delete Now berguna untuk menghapus simpul pada posisi yang
sedang ditunjuk oleh Now.

7
2.4 Circular Double Linked List

Ini adalah double linked list yang simpul terakhirnya menunjuk ke


simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir
sehingga membentuk suatu lingkaran.

Operasi-operasi pada Circular Double Linked List Insert Tail

Fungsi insert Tail berguna untuk menambah simpul di belakang (sebelah


kanan) pada sebuah circular double linked list.

a. Insert Head
Sesuai dengan namanya, fungsi Insert Head berguna untuk menambah
simpul di depan (sebelah kiri). Fungsi ini tidak berbeda jauh dengan fungsi
Insert tail yang telah dijelaskan sebelumnya.
b. Delete Tail
Fungsi Delete Tail berguna untuk menghapus simpul dari belakang. Fungsi
ini kebalikan dari fungsi Insert Tail yang menambah simpul dibelakang.
c. Delete Head
Fungsi Delete Head merupakan kebalikan dari fungsi Delete Tail yang
menghapus simbul dari belakang. Delete Head akan menghapus simpul dari
depan (sebelah kiri).
d. Delete Now
Fungsi Delete Now, sesuai dengan namanya, berguna untuk menghapus
simpul pada posisi yang diinginkan.

8
2.5 Contoh penerapan List dalam suatu Bahasa Pemrograman

Disini saya akan memperlihatkan contoh program List pada Bahasa


pemrograman python 3

a. Kode Program Cara membuat List


list1 = ["kimia", "fisika", 1993,2017]
list2 = [1,2,3,4,5]
list3 = ["a","b","c","d"]
print("List1:",list1)
print("List3:",list3[1:4])
print("List3:",list3[2:])
print("List3:",list3[:5])

b. Kode program Menambah data list


list2.append(6)#Perintah
list2[4]=9#Perintah
c. Kode Program menghapus data List
del list2[4] #Perintah
d. Kode Program Menggabungkan data List
list2+list3 #Perintah
e. Kode Program Menggandakan data list
list1 * 4 #Perintah

9
f. Kode Program Menentukan data list
6 in list2 #Perintah
3 in list2 #Perintah
g. Kode program Menghitung dari belakang data list
list2[-2] #Perintah

10
BAB III

PENUTUP

3.1 Kesimpulan

Struktur data adalah cara menyimpan atau merepresentasikan data didalam


komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari
fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam
atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data
(node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis
dan terbatas.Ada 3 macam jenis linked list yaitu Single Linked List, Double
Linked List dan Circular double Linked List metodenya ada LIFO maupun FIFO
dan terdapat berbagai macam operasi yang bisa dilakukan didalam List.

3.2 Saran

a. Bagi pembaca di harapkan dapat bermanfaat dan dapat mengamalkan ilmu


yang di dapat setelah membaca makalah ini.
b. Dan jika makalah yang saya buat ini ada kata – kata yang tidak berkenan di
hati saya minta maaf.

11
DAFTAR PUSTAKA

Alya Raisa Nadya. MAKALAH TIK STRUKTUR DATA.

https://www.academia.edu/12988871/MAKALAH_TIK_STRUKTUR_DATA

(Akses 8 Desmber 2019)

Sudarsono Sihatang.2011.Makalah struktur data.

http://wwwpemograman-hotang.blogspot.com/2011/05/makalah-struktur-

data.html(Akses 8 Desmber 2019)

Septialutfi.2014.Makalah struktur data.

http://strukturdata-septialutfi-2113r0677.blogspot.com/2014/03/makalah-struktur-

data_2213.html(Akses 8 Desmber 2019)

Nur Santoso.Makalah struktur data .

https://www.academia.edu/7122481/Makalah_Struktur_Data(Akses 8 Desmber 2019)

Petani kode.2017.Belajar Python: Mengenal Struktur Data List.

https://www.petanikode.com/python-list/(Akses 8 Desmber 2019)

12

Anda mungkin juga menyukai