OLEH
M Riswan Hardi
(2201010018)
Komang Parisya Rabani
(2201010712)
I Putu Semara Darma
(2201010111)
Dengan mengucapkan puji syukurkepada Tuhan Yang Maha Esa, yang telah
melimpahkan segala rahmat dan hidayah-Nya, sehingga kami dapat
mengerjakan makalah “Array, Fungsi Rekrusif, Dan Linked List” ini dengan
baik dan lancar. Kami berharap makalah ini dapat memberikan motivasi kepada
para mahasiswa-mahasiswi INSTIKI untuk lebih giat mempelajarinya.
Akhir kata kami mengharapkan makalah ini banyak manfaatnya bagi saya
sendiri khususnya maupun semua pihak pada umumnya.
1|Page
DAFTAR ISI
KATA PENGANTAR.....................................................................................................................................1
DAFTAR ISI..................................................................................................................................................2
PENDAHULUAN.........................................................................................................................................3
Latar Belakang....................................................................................................................................3
Rumusan Masalah..............................................................................................................................3
Tujuan..................................................................................................................................................3
Manfaat................................................................................................................................................3
PEMBAHASAN............................................................................................................................................4
Pengertian Struktur Data....................................................................................................................4
Pembuatan Struktur Data...................................................................................................................5
ARRAY...........................................................................................................................................................7
cara mendefinisikan sebuah array.....................................................................................................7
beberapa fungsi yang berkaitan dengan array di python..................................................................7
kelebihan dan kekurangan array........................................................................................................8
FUNGSI REKRUSIF....................................................................................................................................9
pengertian fungsi rekrusif...................................................................................................................9
illustrasi fungsi rekrusif......................................................................................................................9
sub program rekrusif...........................................................................................................................11
LINKED LIST...............................................................................................................................................12
pengertian linked list...........................................................................................................................12
operasi dasar pada linked list..............................................................................................................12
fungsi dan kegunaan linked list..........................................................................................................12
keunggulan menggunakan linked list................................................................................................12
kelemahan menggunakan linked list..................................................................................................12
PENUTUP.....................................................................................................................................................13
kesimpulan...........................................................................................................................................13
saran.....................................................................................................................................................13
2|Page
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pemograman dalam struktur data ada beberapa macam. Salah satunya adalah
pemograman Python. Dalam pemograman ini biasanya menggunakan variable Array, Fungsi
Rekursif dan Linked List
Makalah ini membahas tentang 3 variabel tersebut dimana ketiga variable mempunyai ciri
dan umum yang berbeda sesuai dengan tipe file yang di gunakan pembaca.
1.2 Rumusan Masalah
a. Pengertian Array dan contoh-contoh programnya pada penggunaan program Python
b. Pengertian Fungsi Rekursif dan contoh-contoh programnya pada penggunaan program
Python
c. Pengertian Linked List dan contoh-contoh programnya pada penggunaan program
Python
1.3 Tujuan
a. Untuk memenuhi tugas dari dosen pada pada kuliah Struktur Data
b. Bisa menggunakan/menjalankan program Python terutama pada Array, Fungsi Rekursif
dan Linked List.
1.4 Manfaat
a. Supaya kita mengerti atau mengetahui apa yang di maksud dengan Array dan beberapa
contoh programnya, sehingga kita dapat menjalankan programnya dengan baik dan benar.
b. Supaya kita mengerti atau mengetahui apa yang di maksud dengan Fungsi Rekursif dan
beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan
benar.
c. Supaya kita mengerti atau mengetahui apa yang di maksud dengan Linked List dan
beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan
benar.
3|Page
BAB II
PEMBAHASAN
A. PENGERTIAN STRUKTUR DATA
Dalam istilah ilmu komputer, sebuah 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 simbol.
Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam
program untuk menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung.
Ada empat istilah data, yaitu:
1. Tipe data adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman.
2. Objek data mengacu kumpulan elemen, D (domain).
3. Representasi data : Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’
(d===e) misal bolean di representasikan dalam 0 dan 1.
4. Struktur data biasa dipakai untuk mengelompokan beberapa informasi yang terkait menjadi
sebuah kesatuan.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom
data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya
digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.Setiap baris dari
kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat
berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan
dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur
data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan)
atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh
struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data
(database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas
dengan teknik tertentu yang memanfaatkan struktur data.
Secara garis besar type data dapat dikategorikan menjadi:
Type data sederhana.
Type data sederhana tunggal, misalnya Integer, real, boolean dan
karakter.
4|Page
Type data sederhana majemuk, misalnya String
5|Page
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang
telah ada.Implementasi struktur data adalah proses pendefinisian tipe data abstrak
sehingga semua operasi dapat dieksekusi computer. Implementasi struktur
penyinpanan item-item data serta algoritma-algoritma untuk implementasi operasi-
operasi sehingga menjamin terpenuhinya karakteristik struktur data, relasi item-item
data atau invariant pada struktur data itu.
Tahap ketiga : Pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa
pemrograman tertentu. Prosesnya terdiri dari :
Deklarasi yang mendefinisikan objek-objek data dan hubungannya…
Pembuatan prosedur / rutin untuk operasi-operasi dasar yang menjaga
invariant pada struktur data itu.
Sesuai dengan relasi yang didefinisikan di spesifikasi perancangan harus memilih tipe-tipe
data yang telah ada untuk merepresentasikan struktur data
Struktur data di bangun menggunakan fasilitas pembentukan atau pembuatan struktur data
yang disediakan bahasa seperti array, record, dan sebagainya atau yang telah di buat seperti
stack, queue, atau himpunan menggunakan linked list.
Pembuatan struktur data adalah pembentukan tipe data lengkap yang mempunyai empat
property berikut :
1. Nama : Identifier tipe data
2. Domain : Domain / himpunan semesta nilai di tipe data
3. Konstanta (penyebutan anggota-anggotanya) : Cara penyebutan anggota-anggota tipe
data
4. Operasi-operasi terhadap tipe data itu (operator) : Daftar operasi
terhadap anggota tipe data sehingga kelakuan objek data sesuai spesifikasi.
6|Page
7|Page
C. Array
Array merupakan sekumpulan variabel yang memiliki tipe data yang sama dan mampu
menyimpan beberapa nilai dalam satu variabel. Array merupakan tipe data terstruktur dalam
pemrograman, array memungkinkan untuk menyimpan data maupun referensi objek dalam
jumlah banyak dan terindeks. Sehingga sejumlah variabel dapat menggunakan nama yang
sama.
#importing "array"
import array
>>> #inisialisasi variabel berformat array
>>> Angka = [ 1, 2, 3 ,4 ]
>>> Nama = ["Dono", "Kasino", "indro"]
>>> print Nama
>>> print Angka
Output:
['Dono', 'Kasino', 'indro']
[ 1, 2, 3 ,4 ]
Beberapa Fungsi yang Berkaitan dengan Array di Python
Indeks : Fungsi ini digunakan untuk mengembalikan indeks kemunculan
pertama yang nilainya disebutkan dalam argument. Ini digunakan jika ada kesalahan
Append : Fungsi ini digunakan untuk menambahkan nilai di akhir daftar.
Insert : Fungsi ini digunakan untuk menyisipkan suatu nilai pada posisi
tertentu. Argumen pertama adalah indeks dari elemen sebelumnya yang dimasukkan.
Remove : Fungsi ini digunakan untuk menghapus nilai pertama dari daftar.
Pop : Fungsi ini digunakan untuk menghapus item pada posisi tertentu
dalam daftar, dan mengembalikannya. Jika tidak ada indeks yang ditentukan, a.pop ()
menghapus dan mengembalikan item terakhir dalam daftar.
Count : Fungsi ini digunakan untuk mengembalikan jumlah item dengan
nilai yang ditentukan.
Sort : Fungsi ini digunakan untuk mengurutkan item dari daftar.
Reverse : Fungsi ini digunakan untuk mengembalikan urutan daftar.
8|Page
Extend : Fungsi ini digunakan untuk memperpanjang daftar dengan
menambahkan semua item dalam daftar yang diberikan.
Len : Fungsi ini digunakan untuk digunakan untuk mengembalikan nilai berupa
jumlah item di daft
9|Page
FUNGSI REKURSIF
Kenapa?
Karena ia memanggil dirinya sendiri sehingga menimbulkan efek perulangan. Perulangan ini
bisa berhenti ketika kondisi tertentu tercapai, atau bisa juga bersifat tak terbatas, atau
mungkin bahkan bisa menimbulkan error karena pemanggilan fungsi yang tak ada habisnya
Ilustrasinya mungkin seperti 2 cermin yang saling memantulkan satu sama lain. Seperti foto
yang diunggah di twitter berikut:
10 | P a g e
Cermin-cermin tersebut saling memantulkan satu sama lain, sehingga hasil pantulan satu
cermin akan dipantulkan lagi dan lagi secara terus menerus. Akhirnya hal tersebut
menimbulkan efek cermin di dalam cermin di dalam cermin di dalam cermin di dalam cermin
dan seterusnya.
Kita bisa dapati efek rekursif pada sampul buku BSE yang sempat viral.
Salah seorang netizen di Facebook mencoba memperbesar gambar tersebut, lalu apa yang
terjadi? Ternyata salah seorang siswa di sampul tersebut memegang buku BSE yang sama
yang mana di dalam sampulnya juga terdapat seorang siswa tadi yang juga memegang buku
BSE yang sama
11 | P a g e
Sub Program Rekursif
Sub Program Rekursif adalah subprogram yang memanggil dirinya sendiri selama kondisi
pemanggilan dipenuhi. Dengan melihat sifat sub program rekursif di atas maka sub program
rekursif harus memiliki :
1. Kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau
special condition)
2. Pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub program rekursif memiliki statemen kondisional:
12 | P a g e
LINKED LIST
Linked list adalah strukur data linier berbentuk rantai simpul di mana setiap simpul
menyimpan 2 item, yaitu nilai data dan pointer ke simpul elemen berikutnya. Berbeda
dengan array, elemen linked list tidak ditempatkan dalam alamat memori yang berdekatan
melainkan elemen ditautkan menggunakan pointer.
13 | P a g e
BAB III
PENUTUP
Kesimpulan
Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian
struktur data yang tepat di dalam proses pemrograman, akan menghasilkan algoritma yang
jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana.
Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data
sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara pada
komputer.
Fungsi Rekursif merupakan sebuah metode perulangan yang bersifat non-iterasi.
Karena ia memanggil dirinya sendiri sehingga menimbulkan efek perulangan. Perulangan ini
bisa berhenti ketika kondisi tertentu tercapai, atau bisa juga bersifat tak terbatas, atau
mungkin bahkan bisa menimbulkan error karena pemanggilan fungsi yang tak ada habisnya.
Linked list adalah strukur data linier berbentuk rantai simpul di mana setiap simpul
menyimpan 2 item, yaitu nilai data dan pointer ke simpul elemen berikutnya. Berbeda dengan
array, elemen linked list tidak ditempatkan dalam alamat memori yang berdekatan melainkan
elemen ditautkan menggunakan pointer.
Saran
Bagi pembaca di harapkan mengamalkan ilmu yang di dapat setelah membaca makalah ini.
Dan jika makalah saya ada kata – kata yang tidak berkenan di hati anda saya minta maaf
14 | P a g e