Modul Array Dimensi 1
Modul Array Dimensi 1
Deskripsi Elemen : Meliputi konsep atau sudut pandang pemrograman yang membagi-
bagi program berdasarkan fungsi atau prosedur yang dibutuhkan
program komputer, pengenalan struktur data yang terdiri dari data
statis (array baik dimensi, panjang, tipe data, pengurutan) dan data
dinamis (list, stack), penggunaan tipe data, struktur kontrol
perulangan dan percabangan.
Kelas/Semester : X RPL / 2
Fase : E
C. Kompetensi : Sebelum memulai belajar dengan modul ini peserta didik harus
Awal memahami pemrograman dengan bahasa C++, mulai dari tipe
data, variabel, nilai, operator, percabangan, perulangan dan array.
1. Pengenalan Array
Jasmin adalah salah satu anggota peserta dari kursus bahasa jepang di sebuah lembaga. Dalam
satu minggu (hari senin-sabtu) Jasmin akan melaksanakan test ujian. Setiap harinya Jasmin
akan mendapatkan nilai. Bagaimana caranya jika nilai tersebut ingin Jasmin simpan dalam
sebuah program?
Tentunya dengan menuliskan variabel dan isi dari variabel tersebut. Misalnya hari ke satu
Jasmin mendapatkan nilai 94, maka ditulis dalam program int nilai_hari1 = 94; lalu jika hari
ke dua ia mendapatkan nilai 87, maka ditulis dalam program int nilai_hari2 = 87;. Jika ingin
menyimpan semua nilai dari hari senin sampai sabtu, maka bisa mendeklarasikan sebagai
berikut:
Perhatikan tabel dibawah ini yang merupakan perbedaan penggunaan array dan tidak
menggunakan array:
Menggunakan array Tidak menggunakan array
//menyimpan data //menyimpan data
int[] nilai = new int[5]; int nilai1 = 97;
int nilai2 = 80;
int nilai3 = 85;
int nilai4 = 81;
Ilustrasi diatas sama halnya seperti fungsi array dalam pemrograman, dimana mudah untuk
dicari karena kita bisa mencari berdasarkan jenisnya dan menghemat banyak waktu apabila
kita ingin menyimpan atau mengakses.
Array 1 dimensi -> kumpulan atau sekelompok data yang memiliki nama variabel dan tipe data
yang sama. Array 1 dimensi hanya bisa diakses dengan satu buah indeks.
// cara kedua
String nama [];
• int [] deretNilai= new int [100]; //tipe data berbentuk integer dan memesan
100 alamat
• float [] nilaisiswa = {3.2, 3.6, 2.9, 3.0}; //tipe data berbentuk float
dan memesan 4 alamat, lalu menulis isi array 3.2 berada di indeks ke 0
• char [] namaMhs = {'b','u','d','i'}; //membuat variabel array dengan tipe
data char tetapi disini belum diketahui jumlah indeks yang diinginkan tetapi boleh
mengisi array
Berikut ini adalah contoh pendeklarasian tipe data array (C++) yang salah:
Contoh yang lain adalah Ibu Nindi ingin menyimpan nilai yang isinya adalah bilangan
bulat. Ibu Nindi bisa saja membuat satu variabel dan satu value (seperti tabel dibawah ini kolom
program yang tidak menggunakan array) tetapi jika ibu Nindi memiliki 1000 angka bilangan
bulat apakah tidak lelah membuatnya? Maka dari itu array menjadi solusi tempat penyimpanan
data yang satu jenis. Array yang Ibu Nindi butuhkan dalam hal ini adalah array 1 dimensi.
Perhatikanlah tabel dibawah ini. Kita bisa membandingkan lebih simple yang menggunakan
array dibanding menyimpannya secara satu persatu.
for i ← 0 to 4 do
write(x[i])
end for
Silahkan ikuti dalam komputer/ponsel dan pahami kode penyimpanan array 1 dimensi
berikut ini:
import java.util.Scanner;
menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik
(ascending), yaitu urutan objek yang disusun mulai dari Nilai terkecil hingga terbesar
atau menurun (descending), yaitu urutan objek yang disusun mulai dari Nilai terbesar
hingga terkecil.
Jika N buah objek atau data disimpan di dalam array Nilai, maka pengurutan menaik berarti
menyusun elemen array sedemikian sehingga:
NILAI [0] ≤ NILAI [1] ≤ NILAI [2] ≤ … ≤ NILAI[N-1]
Sedangkan pengurutan menurun berarti menyusun elemen array sedemikian sehingga:
NILAI [0] ≥ NILAI [1] ≥ … ≥ NILAI [N-1]
Data yang diurut dapat berupa data bertipe data dasar atau tipe data bentukan. Jika data bertipe
bentukan (structure), maka harus disebutkan berdasarkan field apa data tersebut akan
diurutkan. Beberapa metode (algoritma) yang dapat digunakan untuk membuat program
pengurutan antara lain:
1. Bubble Sort 6. Shell Sort
2. Selection Sort 7. Radix Sort
3. Quick Sort 8. Tree Sort
4. Merge Sort 9. Maximum Sort
5. Heap Sort 10. Insertion Sort
1. Bubble Sort
Bubble Sort adalah metode yang membandingkan elemen yang sekarang dengan elemen-
elemen berikutnya. Pembandingan elemen dapat dimulai dari awal atau mulai dari paling akhir.
Apabila elemen yang sekarang lebih besar (untuk urut menaik) atau lebih kecil (untuk urut
menaik) dari elemen berikutnya, maka posisinya ditukar, tetapi jika tidak maka posisinya tetap.
Contoh: Misalkan kita mempunyai array 1 dimensi Nilai sebanyak 8 elemen akan diurutkan
secara menaik dengan metode Bubble Sort: 25, 71, 30, 45, 20, 15, 6, 50. Urutan langkah
pengurutannya yang dimulai dari belakang seperti berikut merupakan prosesnya:
2. Selection Sort
Selection sort merupakan kombinasi antara sorting dan searching. Pengertian dari
selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui,
dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Selection Sort
membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen
yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat
posisinya dan kemudian ditukar. Perhatikan proses pengurutan angka dengan menggunakan
selection sort dibawah ini!
Nilai Awal:
Silahkan untuk mengikuti kode program pengurutan dengan algoritma selection sort dibawah:
import java.util.Scanner;
}
}
Daftar Pustaka:
- Kadir, Abdul. (2014). Buku Pertama Belajar Pemrograman Java Untuk Pemula.
Yogyakarta: Mediakom.
- Jando, Paskalis., (2018). Algoritma. & Pemrograman dengan Bahasa Java. Yogyakarta:
Andi (Anggota. KPAI)
- Munir, R. (2011). Algoritma dan Pemrograman dalam Bahasa Pascal dan C. (Edisi
Revisi). Bandung: Informatika Bandung.
- Rosa, A. S. (2018). Logika Algoritma dan Pemrograman Dasar. Bandung: Modula.
- Soetam, Rizky., 2011, Konsep Dasar Rekayasa Perangkat Lunak. Jakarta: Prestasi
Pustaka.