LECTURE NOTES
Program Design Methods
Minggu 5
Array Processing
Program Design Methods
LEARNING OUTCOMES
Setelah menyelesaikan pembelajaran ini, mahasiswa akan mampu:
LO1 – Mahasiswa dapat menjelaskan syarat-syarat menulis program.
Outline Materi (Sub-Topic):
1. Array processing
2. Initializing the elements of an array
3. Searching an array
4. Writing out the contents of an array
5. Programming examples using arrays
6. Two-dimensional arrays
Program Design Methods
ISI MATERI
1. Array Processing
Array adalah salah satu alat pemrograman paling kuat yang tersedia. Mereka
menyediakan programmer dengan cara mengatur kumpulan item data homogen
(yaitu, item yang memiliki tipe yang sama dan panjang yang sama) ke dalam
struktur data tunggal. Array juga adalah struktur data yang terdiri dari sejumlah
variabel yang semuanya memiliki tipe data yang sama. Misalnya semua nilai ujian
kelas terdiri dari 30 siswa matematika. Dengan menggunakan array, satu nama
variabel seperti 'skor' dapat dikaitkan dengan semua 30 nilai ujian.
Item data individual yang membentuk array disebut sebagai elemen array.
Elemen dalam array dibedakan satu sama lain dengan menggunakan indeks atau
subskrip, diapit dalam tanda kurung, mengikuti nama array. Misalnya 'skor (3)'.
Subskrip menunjukkan posisi elemen dalam array; jadi, skor (3) Mengacu pada
skor ujian ketiga, atau elemen ketiga dari skor array skor (23) mengacu pada skor
ujian ke-23.
Subskrip atau indeks dapat berupa angka atau variabel, dan kemudian dapat
digunakan untuk mengakses item apa pun dalam batas larik yang valid. Array
adalah struktur data internal; mereka diperlukan hanya selama durasi program di
mana mereka didefinisikan. Array kadang-kadang disebut sebagai tabel.
1) Operasi pada array
Operasi yang paling umum dilakukan pada array adalah:
• Memuat satu set nilai awal ke dalam elemen array
• Memproses elemen array
• Mencari array
• Menggunakan pencarian linier atau biner
• Untuk elemen tertentu
• Menulis isi array ke laporan
Program Design Methods
• Biasanya, elemen array diproses secara berurutan, dimulai dengan elemen
pertama.
2) Algoritma sederhana yang memanipulasi array
Setiap algoritma ditulis menggunakan loop DO. Dalam setiap algoritma, array
diberi nama 'array', subscript diberi nama 'index' dan isi array serta jumlah elemen
telah ditetapkan. Jumlah elemen dalam array disimpan dalam variabel
number_of_elements.
2. Initialising the elements of an array
Nilai awal ini dapat ditetapkan ke elemen array sebagai konstanta (dapat
dibaca array dalam file)
1) Memuat nilai konstan dalam array
Metode ini hanya boleh digunakan bila data dalam larik tidak mungkin
diubah. Misalnya, nama 12 bulan dalam setahun. Untuk menginisialisasi array
seperti itu, buatlah sebuah array yang disebut month_table, yang berisi 12 elemen
dengan ukuran yang sama.
2) Memuat nilai awal ke dalam array dari file input
Mendefinisikan elemen array sebagai konstanta tidak disarankan, dalam
program jika nilainya sering berubah, karena program perlu diubah setiap kali
elemen array berubah. Prosedur umum adalah membaca nilai input ke dalam
elemen array dari file input. Pembacaan serangkaian nilai dari file ke dalam array
dapat diwakili oleh loop DOWHILE sederhana. Loop harus berakhir ketika array
Program Design Methods
penuh atau file input telah mencapai akhir file. Kedua kondisi ini dapat dipenuhi
dalam klausa kondisi dari loop DOWHILE.
Dalam algoritma pseudocode berikut, nilai dibaca dari file input dan
ditetapkan ke elemen array, dimulai dengan elemen pertama, hingga tidak ada lagi
nilai input atau array penuh. Nama array adalah 'array', subscript adalah 'index',
dan jumlah maksimum elemen yang dapat ditampung oleh array adalah
max_num_elements.
3) Array dengan ukuran variabel
Dalam beberapa program, jumlah entri dalam array dapat bervariasi. Dalam
hal ini, nilai sentinel (misalnya, 9999) digunakan untuk menandai elemen terakhir
larik, baik dalam file inisialisasi item data maupun dalam larik itu sendiri. Catatan
sentinel akan menunjukkan akhir catata selama pemrosesan awal dan elemen
terakhir larik dalam pemrosesan lebih lanjut.
4) Array berpasangan
Banyak array dalam aplikasi bisnis dipasangkan; yaitu, ada dua array yang
memiliki jumlah elemen yang sama. Array berpasangan karena elemen dalam
array pertama sesuai dengan elemen di posisi yang sama di array kedua. Misalnya,
larik nomor penjualan dapat dipasangkan dengan larik nama penjualan.
3. Searching an array
Saat mencari array, array diurutkan ke dalam urutan menaik, sehingga, ketika
kesamaan ditemukan, sisa array tidak perlu dicari. Jika Anda menemukan elemen
larik yang sama dengan entri input, kesamaan telah ditemukan dan pencarian
dapat dihentikan. Jika Anda menemukan elemen larik yang lebih besar dari entri
input, tidak ada kecocokan yang ditemukan dan pencarian dapat dihentikan.
Perhatikan bahwa jika entri array yang lebih besar dicari lebih sering daripada
entri yang lebih kecil, lebih baik mengurutkan array ke dalam urutan menurun.
Sebuah array dapat dicari baik menggunakan pencarian linier atau pencarian
biner.
Program Design Methods
1) Pencarian linier dari sebuah array
Pencarian linier melibatkan melihat setiap elemen array, satu per satu, dimulai
dengan elemen pertama. Lanjutkan pencarian sampai Anda menemukan elemen
yang dicari atau Anda mencapai akhir array. Pencarian linier sering digunakan
untuk memvalidasi item data.
Algoritma pseudocode untuk pencarian linier dari sebuah array akan
membutuhkan sebuah flag program bernama element_found. Bendera awalnya
disetel ke false, akan disetel ke true setelah nilai yang dicari ditemukan, yaitu,
ketika elemen array saat ini sama dengan item data yang dicari.
2) Pencarian biner dari sebuah array
Ketika jumlah elemen dalam array melebihi 25, dan elemen diurutkan ke
urutan menaik, metode pencarian array yang lebih efisien adalah pencarian biner.
Pencarian biner menempatkan elemen tengah array terlebih dahulu, dan
menentukan apakah elemen yang dicari ada dibagian pertama atau kedua tabel.
Pencarian kemudian menunjuk ke elemen tengah dari setengah tabel yang relevan,
dan perbandingan ulang. Teknik ini terus-menerus dilanjutkan sampai item data
yang dicari ditemukan, atau ketidakhadirannya terdeteksi. Flag program bernama
element_found digunakan untuk menunjukkan apakah item data yang dicari telah
ditemukan.
Variabel low_element menunjukkan posisi bawah dari bagian tabel yang
sedang dicari, dan high_element menunjukkan posisi teratas. Jumlah maksimum
elemen yang dapat ditampung oleh array ditempatkan dalam variabel max_num_
elemen. Pencarian biner akan berlanjut sampai item data ditemukan, atau tidak
ada lagi operasi separuh (yaitu, low_element tidak kurang dari high_element).
4. Writing out the contents of an array
Elemen array dapat digunakan sebagai akumulator data, untuk ditulis ke
laporan. Menuliskan isi array melibatkan elemen pertama dari array dan berlanjut
sampai semua elemen ditulis. Ini dapat diwakili oleh loop DO sederhana. Dalam
Program Design Methods
algoritma pseudocode, nama array adalah 'array' dan subscriptnya adalah 'indeks'.
Jumlah elemen dalam array diwakili oleh number_of_elements.
5. Array dua dimensi
Larik biaya pengiriman adalah contoh larik dua dimensi, dan merupakan
array dua dimensi karena perhitungan biaya pengiriman untuk mengirimkan
barang tergantung pada dua nilai: berat pengiriman barang, dan area geografis
atau zona tujuan pengiriman, yaitu zona 1, 2, 3 atau 4.
1. Memuat array dua dimensi
Array dua dimensi dimuat dalam kolom dalam urutan baris; semua kolom
untuk baris satu dimuat sebelum pindah ke baris dua dan memuat kolom untuk
baris itu, dan seterusnya. Pembacaan serangkaian nilai dari file ke dalam array dua
dimensi dapat diwakili oleh loop DO dalam loop DOWHILE.
2. Menemukan array dua dimensi
Metode pencarian 1: Mencari array dua dimensi yang telah diinisialisasi
sebelumnya. Metode pencarian 2: Array dicari secara berurutan, menurut kolom
di dalam baris, menggunakan dua loop DOWHILE hingga kecocokan ditemukan.
Jika tidak ditemukan kecocokan, pesan kesalahan akan dicetak.
3. Menuliskan isi array dua dimensi
Untuk menuliskan isi array dua dimensi, tuliskan elemen-elemen dalam kolom
dalam satu baris, sebelum pindah ke baris berikutnya. Ini diwakili dalam
pseudocode oleh loop DO dalam loop DO lain. Dalam algoritma pseudocode,
elemen array dua dimensi dicetak ke laporan, menurut kolom dalam baris,
menggunakan dua subskrip.
Program Design Methods
SIMPULAN
1. Array adalah salah satu alat pemrograman paling kuat yang tersedia.
Mereka menyediakan programmer dengan cara mengatur kumpulan item
data homogen (yaitu, item yang memiliki tipe yang sama dan panjang
yang sama) ke dalam struktur data tunggal. Array juga adalah struktur data
yang terdiri dari sejumlah variabel yang semuanya memiliki tipe data yang
sama.
2. Nilai awal ini dapat ditetapkan ke elemen array sebagai konstanta (dapat
dibaca array dalam file).Saat mencari array, array diurutkan ke dalam
urutan menaik, sehingga, ketika kesamaan ditemukan, sisa array tidak
perlu dicari. Jika Anda menemukan elemen larik yang sama dengan entri
input, kesamaan telah ditemukan dan pencarian dapat dihentikan.
3. Elemen array dapat digunakan sebagai akumulator data, untuk ditulis ke
laporan. Menuliskan isi array melibatkan elemen pertama dari array dan
berlanjut sampai semua elemen ditulis.
4. Larik biaya pengiriman adalah contoh larik dua dimensi, dan merupakan
array dua dimensi karena perhitungan biaya pengiriman untuk
mengirimkan barang tergantung pada dua nilai: berat pengiriman barang,
dan area geografis atau zona tujuan pengiriman, yaitu zona 1, 2, 3 atau 4.
Program Design Methods
DAFTAR PUSTAKA
1. Tony Gaddis. (2021). Starting Out with Programming Logic and Design.
05. Pearson. ISBN: 9780137533381. Chapter 7-9
2. SM05a - Array Processing [Link]
3. SM05b - General Arrays, [Link]
[Link]
Program Design Methods