Tulisan kali ini akan membahas tentang soal-soal serta pembahasan tentang pemrograman java khususnya pada materi tentang Array. Kita sepakati bahwa array merupakan struktur data linier dimana elemen datanya disusun dalam satu dimensi dan terdiri dari satu data bertipe sejenis. Berikut ini adalah beberapa soal dan pembahasan tentang array pada bahasa pemrograman java.
1. Menghitung total angka genap
Soal pertama tentang menghitung total angka genap dari sederet angka random dengan tipe bilangan bulat (integer), yaitu 10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9. Dari data-data tersebut, berapakah total penjumlahan dari angka genap saja? Untuk menjawabnya, kita perlu pahami bahwa kita memerlukan sebuah variabel untuk menampung nilai total, selain itu untuk membaca setiap datanya akan kita gunakan perulangan for.
Di tiap perulangan kita harus memastikan apakah data yang dibaca merupakan angka genap dengan menggunakan operator modulus (sisa bagi / simbol %). Jika sisa pembagiannya 0, maka dapat dipastikan angka tersebut adalah angka genap. Dan jika angka genap maka lakukan penjumlahan dengan variabel total.
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel total int total = 0; // baca data dari array for(int i=0; i<angka.length; i++) { // lakukan pengecekan apakah angka pada indeks ke-i dibagi 2 sisa baginya sama dengan 0 (genap) if(angka[i] % 2 == 0) { // jika true, lakukan penjumlahan total += angka[i]; } } // tampilkan total penjumlahannya System.out.print("Total penjumlahan angka genap: "+ total); } }
2. Menghitung Rata-rata Angka Genap dari Array
Jika sebelumnya sudah berhasil mendapatkan total penjumlahan angka genapnya, kali ini kita akan mencari rata-rata angka genap dari array tersebut. Untuk mencari nilai rata-rata dapat menggunakan rumus: rerata = total penjumlahan data / banyaknya data (rerata didapat dari total penjumlahan data dibagi dengan banyaknya data).
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel total int total = 0; // siapkan variabel genap untuk menghitung angka genap (digunakan sebagai pembagi total) int genap = 0; // baca data dari array for(int i=0; i<angka.length; i++) { // lakukan pengecekan apakah angka pada indeks ke-i dibagi 2 sisa baginya sama dengan 0 (genap) if(angka[i] % 2 == 0) { // jika true, lakukan penjumlahan total += angka[i]; // lakukan counter pada variabel genap genap++; } } // tampilkan rata-ratanya System.out.print("Rata-rata angka genap: "+ (double) total / (double) genap); } }
3. Menghitung Total Penjumlahan 3 Angka Genap Pertama
Selanjutnya kita akan belajar menghitung total penjumlahan 3 angka genap pertama saja. Jadi meskipun pada array terdapat 5 angka genap, tetapi yang akan dihitung hanya 3 angka genap pertama saja. Cara menjawabnya hampir sama dengan soal di atas, hanya saja pada saat nilai variabel genap sudah mencapai angka 3, maka hentikan perulangan.
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel total int total = 0; // siapkan variabel genap untuk menghitung angka genap int genap = 0; // baca data dari array for(int i=0; i<angka.length; i++) { // lakukan pengecekan apakah angka pada indeks ke-i dibagi 2 sisa baginya sama dengan 0 (genap) if(angka[i] % 2 == 0) { // jika true, lakukan penjumlahan total += angka[i]; // lakukan counter pada variabel genap genap++; // periksa apakah angka genap sudah sama dengan 3 if (genap == 3) break; } } // tampilkan total penjumlahan 3 angka genap System.out.print("Total penjumlahan 3 angka genap pertama: "+ total); } }
4. Menampilkan Angka Genap Terbesar dari Array
Untuk menjawabnya, kita perlu siapkan sebuah variabel terbesar yang akan menampung data terbesar. Mula-mula kita beri nilai 0. Kemudian pada saat pembacaan data menggunakan perulangan, kita akan lakukan pengkondisian apakah angka yang sedang dibaca merupakan angka genap. Dan jika ternyata angka genap, maka apakah angka tersebut lebih besar dari terbesar? Jika kondisi ini terpenuhi, maka atur agar variabel terbesar menyimpan data pada indeks ini (data yang sedang dibaca).
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel terbesar untuk menampung angka genap terbesar int terbesar = 0; // baca setiap data menggunakan perulangan for(int i=0; i<angka.length; i++) { // pastikan bahwa angka pada indeks ke-i adalah genap if(angka[i] % 2 == 0) { // jika true, dan jika angka ini lebih besar dari terbesar if(angka[i] > terbesar) { // tukar nilai terbesar dengan angka pada indeks ke-i terbesar = angka[i]; } } } // Tampilkan angka terbesarnya System.out.println("Angka genap terbesar: "+ terbesar); } }
5. Total Penjumlahan pada Range Indeks Tertentu
Untuk melakukan penjumlahan pada range indeks tertentu pada array, tentu saja kita perlu melooping dari indeks batas bawah sampai indeks batas atas. Pada contoh berikut, kita akan lakukan penjumlahan data angka pada indeks ke-2 sampai data pada indeks ke-5. Khusus soal ini akan dijawab menggunakan 2 jawaban.
5.a. Looping semua data
Pada saat dilakukan looping semua data dari awal (indeks ke-0) sampai indeks terakhir, kita harus lakukan pengkondisian supaya hanya data pada indeks ke-2 dan ke-5 saja yang akan dijumlahkan.
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel total untuk menampung total penjumlahan int total = 0; // baca data dari awal (indeks ke-0) sampai akhir for(int i=0; i<angka.length; i++) { // jumlahkan datanya jika indeks ke-2 sampai indeks ke-5 saja if((i >= 2) && (i <= 5)) { // proses penjumlahan total += angka[i]; } } // tampilkan jumlah datanya System.out.println("Total penjumlahan data indeks-2 sampai ke-5: "+ total); } }
5.b. Looping pada indeks ke-2 sampai ke-5
Sedangkan pada cara kedua ini khusus melakukan perulangan (looping) data dari indeks ke-2 sampai ke-5 saja. Cara kedua ini lebih simpel dan lebih baik jika dibandingkan cara pertama.
class Main { public static void main(String[] args) { int[] angka = {10, 5, 8, 7, 12, 2, 4, 11, 15, 27, 9}; // siapkan variabel total untuk menampung total penjumlahan int total = 0; // baca data dari indeks ke-2 sampai ke-5 saja for(int i=2; i<=5; i++) { // proses penjumlahan total += angka[i]; } // tampilkan jumlah datanya System.out.println("Total penjumlahan data indeks-2 sampai ke-5: "+ total); } }