Disusun dan diajukan sebagai salah satu syarat melengkapi tugas mata kuliah
Struktur Data
Dosen Pengampu : Sundari Retno Andani
Disusun Oleh:
Kelompok 3
BRAM ALESSANDRO PANJAITAN (2202091)
BETRAN ROI VALDO SITINJAK (2202090)
SURYANI ROSA GITA SIMANGUNGSONG (2202121)
YULVA INDAH RIZKY SIMBOLON (2202127)
Kami menyadari bahwa penulisan makalah ini tidak terlepas dari bantuan
banyak pihak yang dengan tulus memberikan doa. saran dan kritik sehingga
makalah ini dapat terselesaikan.
Kami menyadari sepenuhnya bahwa makalah ini masih jauh dari sempurna
dikarenakan terbatasnya pengalaman dan pengetahuan yang kami miliki Oleh
karena itu. kami mengharapkan segala bentuk saran serta masukan bahkan
kritik yang membangundari berbagai pihak. Akhirnya kami berharap semoga
makalah ini dapat memberikan manfaat bagi perkembangan dunia pendidikan.
2
DAFTAR ISI
KATA PENGANTAR............................................................................................................2
DAFTAR ISI……………………………………………………………………………………………………………………3
PENDAHULUAN................................................................................................................4
A.Latar Belakang .............................................................................................................4
B. Rumusan Masalah .......................................................................................................4
C. Tujuan Penulisan .........................................................................................................4
PEMBAHASAN .................................................................................................................5
1. PENGERTIAN ARRAY DAN RECORD...........................................................................5
A. NOTASI BIG O...............................................................................................................5
B.PEMETAAN ARRAY KE STORAGE...................................................................................7
C. TRIANGULAR ARRAY (ARRAY SEGITIGA).......................................................................9
3
PENDAHULUAN
A.Latar Belakang
Dalam mata kuliah Struktur Data! terdapat materi Array yang menuntut mahasiswa
agar dapat memahami array itu sendiri yang nantinya menjadi bekal awal dalam perkuliahan
Struktur Data. Array merupakan komponen yang sangat penting dipelajari bagi mahasiswa SI.
karena array merupakan materi dasar yang harus dimiliki seorang programmer nantinya.
Merupakan pengetahuan dasar yangharus dimiliki untuk memahami pengaplikasian Sistem
informasi itu sendiri. Oleh karena itu maka disusunnya makalah ini untuk membantu
mahasiswa dalam memahami Array.
B. Rumusan Masalah
Berdasarkan latar belakang diatas dapat disimpulkan masalah sebagai berikut.
1. Pengertian Array
2. Notasi Big Oh
3. Pemetaan array ke storage
4. Triangular array (array segitiga)
C. Tujuan Penulisan
1. Memahami defenisi Array
2. Memahami penggunaan array dalam program yang di buat dalam Struktur Data.
3. Memahami penerapan secara benar dalam penguasaan materi array.
4
PEMBAHASAN
Dari diagram diatas dapat kita lihat beberapa notasi yang kerap muncul, yaitu: O(1), O(log n),
O(n), O(n2) atau O(nn). Untuk membahasnya, mari kita berandai-andai membangun sebuah
aplikasi travel. Dan kita diminta untuk membuat fitur baru yang menampilkan daftar kisaran
harga dari hotel-hotel yang berada di area tertentu.
Dan berikut versi sederhana dari representasi data yang akan kita gunakan. Kita akan
menggunakan JavaScript sebagai contoh. Dapat juga diaplikasikan ke bahasa pemrograman
lain.
const hotels = [
{ price: 180, brand: "Hotel Tugu Lombok" },
5
{ price: 78, brand: "Sheraton Senggigi Beach Resort" },
...
...
{ price: 317, brand: "The Oberio" }
]
Dalam contoh ini, program hanya mencetak nilai variabel x yang diberikan, jadi
kompleksitasnya adalah O(1).
2. O(n) – Linear
Dalam contoh ini, program mencetak nilai i dari 0 hingga n-1, jadi kompleksitasnya adalah
O(n).
6
3. O(n^2) – Kuadratik
Dalam contoh ini, program mencetak pasangan nilai i dan j untuk setiap kombinasi nilai i dan
j, jadi kompleksitasnya adalah O(n^2).
4. O(log n) – Logaritmik
Dalam contoh ini, program mencetak nilai i dari n hingga 1 dengan setiap iterasi mengurangi
i menjadi setengahnya, jadi kompleksitasnya adalah O(log n).
Dalam contoh ini, program mencetak pasangan nilai i dan j untuk setiap kombinasi nilai i dan
setiap nilai j yang setengahnya diambil pada setiap iterasi, jadi kompleksitasnya adalah O(n
log n).
Contoh: Untuk menyimpan array bilangan bulat, kita dapat menggunakan tipe data int dan
menentukan ukuran array dengan menghitung jumlah elemen array yang akan disimpan.
7
b. Menggunakan fungsi atau metode untuk menyimpan array ke dalam file
Setelah menentukan tipe data dan ukuran array, kita dapat menggunakan fungsi atau
metode yang tersedia pada bahasa pemrograman untuk menyimpan array ke dalam file.
Contoh (Python):
Pada contoh di atas, kita menggunakan modul pickle untuk menyimpan array ke dalam file
dengan format pickle.
Sama seperti pada metode pertama, kita perlu menentukan tipe data dan ukuran array
sebelum menyimpan array ke dalam database.
Contoh: Untuk menyimpan array bilangan bulat ke dalam database MySQL, kita dapat
menggunakan tipe data mediumint atau json.
Setelah menentukan tipe data dan ukuran array, kita dapat menggunakan query SQL yang
tersedia pada database yang digunakan untuk menyimpan array ke dalam database.
Contoh (MySQL):
8
Pada contoh di atas, kita menggunakan tipe data json untuk menyimpan array ke dalam
database MySQL.
Sama seperti pada metode sebelumnya, kita perlu menentukan tipe data dan ukuran array
sebelum menyimpan array ke dalam memori.
Contoh: Untuk menyimpan array bilangan bulat ke dalam memori, kita dapat menggunakan
tipe data int dan menentukan ukuran array dengan menghitung jumlah elemen array yang
akan disimpan.
Setelah menentukan tipe data dan ukuran array, kita dapat menggunakan variabel atau
pointer pada bahasa pemrograman yang digunakan untuk menyimpan array ke dalam
memori.
Contoh (C):
Array segitiga adalah jenis array dua dimensi yang memiliki pola segitiga. Pola segitiga pada
array ini dihasilkan dengan mengisi nilai-nilai dalam array sesuai dengan urutan segitiga dari
kiri ke kanan, mulai dari atas dan mengisi baris-baris berikutnya secara berturut-turut hingga
mengisi seluruh elemen pada array.
Sebagai contoh, kita dapat membuat array segitiga berukuran 4x4 seperti ini:
9
Untuk membuat array segitiga, langkah-langkahnya adalah sebagai berikut:
1. Tentukan ukuran array yang diinginkan. Pada contoh di atas, kita ingin membuat array
segitiga berukuran 4x4.
2. Buat sebuah array dua dimensi dengan ukuran yang telah ditentukan.
3. Lakukan pengisian nilai-nilai pada array dengan pola segitiga dari kiri ke kanan dan dari atas
ke bawah. Mulailah dengan mengisi elemen pada baris pertama dari kiri ke kanan.
Kemudian, pada baris kedua, isi dua elemen pada sisi kiri array dengan nilai berturut-turut,
dan seterusnya. Teruslah mengisi elemen pada baris-baris berikutnya secara berturut-turut
hingga mengisi seluruh elemen pada array.
Dalam membuat array segitiga, diperlukan penghitungan indeks elemen-elemen array yang
diisi. Indeks ini dihitung dengan menggunakan rumus matematika. Jika ukuran array segitiga
yang ingin dibuat adalah n x n, maka indeks elemen pada baris ke-i dan kolom ke-j adalah:
Dalam rumus ini, i dan j mewakili indeks baris dan kolom pada array segitiga, sedangkan n
adalah ukuran array segitiga.
Untuk membuat array segitiga, dapat dilakukan dengan menggunakan berbagai teknik
pemrograman, seperti pengulangan (looping) atau rekursi. Berikut ini adalah beberapa
contoh teknik yang dapat digunakan:
Contoh kode untuk membuat array segitiga dengan ukuran 4x4 menggunakan teknik looping
dengan dua variabel adalah sebagai berikut:
10
2. Looping dengan satu variable
Teknik ini hanya menggunakan satu variabel sebagai indeks, yaitu indeks untuk elemen
pada array. Indeks ini dihitung berdasarkan rumus yang telah dijelaskan sebelumnya.
Dalam setiap iterasi, variabel indeks ini bertambah satu, dan nilai pada array diisi dengan
nilai indeks yang baru dihitung.
Contoh kode untuk membuat array segitiga dengan ukuran 4x4 menggunakan teknik looping
dengan satu variabel adalah sebagai berikut:
3.Rekursi
Teknik ini menggunakan fungsi rekursif untuk mengisi nilai pada array segitiga. Fungsi
rekursif ini memerlukan beberapa parameter, yaitu indeks baris dan kolom pada array,
ukuran array segitiga, dan nilai indeks untuk elemen pada array. Fungsi ini akan memanggil
dirinya sendiri dengan parameter yang berbeda untuk mengisi nilai pada elemen pada array
segitiga.
Contoh kode untuk membuat array segitiga dengan ukuran 4x4 menggunakan teknik rekursi
adalah sebagai berikut:
11
Dalam membuat array segitiga, teknik apa yang digunakan tergantung pada preferensi
masing-masing programmer dan juga pada bahasa pemrograman yang digunakan. Namun,
teknik looping dengan dua variabel seringkali dianggap sebagai teknik yang lebih sederhana
dan mudah dipahami
12