Soal dan Pembahasan Pemrograman Java

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);
    }
}

Scroll to Top