Anda di halaman 1dari 15

TUGAS STRUKTUR DATA

“Array, Fungsi Rekrusif, Dan Linked List”

OLEH
 M Riswan Hardi
(2201010018)
 Komang Parisya Rabani
(2201010712)
 I Putu Semara Darma
(2201010111)

INSTITUT BISNIS DAN TEKNOLOGI INDONESIA


FAKULTAS TEKNIK INFORMATIKA
2022/2023
KATA PENGANTAR

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.

Kami juga meminta maaf  yang sebesar-besarnya apabila ada kekurangan,


kesalahan bahkan kata-kata yang tidak berkenan di hati dan disisi lain kami
sangat mengharapkan ada masukan baik kritik maupun saran dari saudara.
Sehingga penyusun dapat memperbaiki apa yang jadi kekurangan kami karena
tidak ada manusia yang sempurna kecuali Tuhan Yang Maha Esa.

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

Struktur Data, meliputi:


       Struktur data sederhana, misalnya array dan record.

        Struktur data majemuk, yang terdiri dari:

a)      Linier : Stack, Queue, sertaList dan Multilist


b)      Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih
efisien dan sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
  List linier (Linked List) dan variasinya
  Multilist
  Stack (Tumpukan)
  Queue (Antrian)
  Tree ( Pohon)
  Graph ( Graf )

B.   PEMBUATAN STRUKTUR DATA


Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap objek
data, yaitu :
  Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data.
  Menunjukan mekanisme kerja operasi-operasi. Objek data integer ditambah operasi (+ , - ,
* , / , mod ,cell , floor , < , >) dan operasi-operasi lain yang memanipuasi objek data integer
menyatakan struktur data. Struktur data = Objek data + { Operasi manipulasi }.
Tahap pembuatan struktur data adalah :
  Tahap pertama : Spesifikasi
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat dilakukan
struktur data, bukan cara penerapannya. Spesifikasi dapat dilakukan dengan dua cara,
yaitu :
         Spesifikasi secara formal
         Spesifikasi secara informal
  Tahap kedua : Implementasi

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.

Cara Mendefinisikan Sebuah Array


Untuk mendefinisikan sebuah array di python bisa menggunakan keyword
nama_array = [jumlah_elemen].
Contoh mendefinisikan suatu array:

#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

KELEBIHAN DAN KEKURANGAN ARRAY


a. KELEBIHAN
Kelebihan yang pertama dari array adalah kemampuannya menyimpan beragam data serupa
dengan satu variable
b. KEKURANGAN
array hanya bisa menyimpan data dengan tipe serupa. Jadi, data-data yang tidak memiliki
kesamaan nilai tidak bisa disimpan dalam satu larik array.

9|Page
FUNGSI REKURSIF

Pengertian Fungsi Rekursif

Di dalam dunia pemrograman, fungsi rekursif merupakan sebuah metode perulangan yang


bersifat non-iterasi.

Sebenarnya fungsi rekursif hanyalah sebuah fungsi biasa seperti fungsi def pada umumnya.


Dia bisa dipanggil, bisa menerima parameter, bisa mengembalikan nilai, dan lain sebagainya.

Hanya saja, sesuai namanya, fungsi rekursif itu bersifat rekursi.

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

Ilustrasi Fungsi Rekursif

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.

Atau… untuk contoh dalam negeri.

Kita bisa dapati efek rekursif pada sampul buku BSE yang sempat viral.

Begini bentuk sampul yang menyebar:

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.

operasi dasar pada linked list:


• Traversal - mengakses setiap elemen dari linked list
• Insertion - menambahkan elemen baru ke linked list
• Deletion - menghapus elemen yang ada
• Searching - menemukan simpul pada linked list
• Sorting - mengurutkan simpul dari struktur linked list

fungsi dan kegunaan linked list adalah sebagai berikut:


• digunakan untuk mengimplementasikan struktur data lain seperti stack, queue, graf,
dll.
• Digunakan untuk melakukan operasi aritmatika pada bilangan long integer
• Dipakai untuk representasi matriks rongga.
• Digunakan dalam alokasi file yang ditautkan.
• Membantu dalam manajemen memori.

keunggulan menggunakan linked list:


1. Struktur data dinamis
2. Tidak boros memori
3. Gampang di implementasi
4. Operasi penyisipan dan penghapus yang mudah dan efisien

kelemahan menggunakan linked list :


1. Penggunaan memori yang cukup banyak
2. Banyak memakan waktu contoh dalam traversal (proses melakukan kunjungan
pada setiap node pada suatu binary tree tepat satu kali).
3. Akses acak tidak dapat di lakukan karna lokasi memory yang dinamis.
4. Reverse traversing( tidak di mungkinkan karena berisi pointer ke node yang
terhubung sebelumnya dengan setiap node.

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

Anda mungkin juga menyukai