Followers

Saturday, March 30, 2019

Contoh program menggunakan array untuk menyimpan angka JAVA

Contoh program menggunakan array, untuk menyimpan angka dan menampilkan angka yang ganjil serta kuadrat dari angka tersebut.

Kasus 2:
Buatlah program dengan array untuk menampilkan bilangan  ganjil dari angka awal dan akhir dimasukkan oleh user, dengan hasil kuadrat dari masing-masing bilangan, dimana bilangan ganjil ditentukan dari hasil modulo.


Jawab:
Dari kasus diatas dapat disimpulkan :
  1. Program menggunakan Array([]) untuk menyimpan bilangan
  2. Karena nilai awal(dari angka mulainya perulangan) dan nilai akhir(akhir perulangan) ditentukan oleh user, maka kita perlu mengimport class java util.Scanner
  3. Untuk menyimpan nilai array dapat menggunakan perulangan agar lebih efisien
    1. buatkan perulangan jika nilai awal yang dimasukkan user lebih kecil dari nilai akhir (kecil ke besar)
    2. buatka perulangna jika nilai awal yang dimasukkan user lebih besar dari nilai akhir (besar ke kecil)
  4. Untuk menampilkan nilai array dapat menggunakan perulangan agar lebih efesien dan dinamis
    1. buatkan kondisi jika nilai awal dan nilai akhir yang dimasukkan user adalah sama dan keduanya merupakan angka genap
    2. buatkan perulangan dalam kondisi jika nilai awal lebih kecil dari nilai akhir
    3. buatkan perulangan dalam kondisi jika nilai akhir lebih besar dari nilai awal
  5. Untuk menentukan angka ganjil dapat menggunakan operator modulus(%)
  6. Untuk menampilkan kuadrat dari masing-masing angka dapat menggunakan operator perkalian(*).
Langkah-langkah:
1. Mengimport kelas Scanner

import java.util.Scanner;

2. Membuat objek Scanner, Mendefiniskan Array, dan Membuat variabel kuadrat

Scanner input = new Scanner(System.in);
        int[] bilangan;
        int kuadrat;
3. Buatkan variabel untuk menyimpan nilai awal dan akhir dari user

System.out.print("Masukkan nilai awal :");
        int awal = input.nextInt();
        System.out.print("Masukkan nilai akhir :");
        int akhir = input.nextInt();

4. Menentukan panjang array

bilangan = new int[awal + akhir + 1];

mengapa panjangnya nilai awal ditambah nilai akhir ?
- jika kita menggunakan nilai awal saja, maka akan error ketika nilai awal lebih kecil dari akhir
- jika kita menggunakan nilai akhir saja, maka akan error ketika nilai akhir lebih kecil dari nilai awal
- jika kita menggunakan nilai awal+nilai akhir, maka akan error ketika nilai awal adalah sama dengan dengan 0 kemudian nilai akhir lebih besar dari 0 atau nilai akhir sama dengan 0 kemudian nilai awal lebih dari 0, ini dikarenakan nilai yang akan disimpan lebih banyak dari panjang elemen yang disiapkan.
- maka kita menambahkan panjang elemen menjadi agar tidak kurang dari nilai yang dimasukkan.

5. Menyimpan angka, jika yang nilai awal yang dimasukkan user lebih kecil dari nilai akhir

for (int i = awal; i <= akhir; i++) { //ketika awal <= akhir
            bilangan[i] = i;
        }

6. Menyimpan angka, jika yang nilai awal yang dimasukkan user lebih besar dari nilai akhir

for (int i = awal; i >= akhir; i--) {//ketika awal >= akhir
            bilangan[i] = i;
        }
7. Membuat kodisi jika yang dimasukkan user adalah angka yang sama dan sama-sama angka genap

if (awal == akhir && (awal % 2 == 0 || akhir % 2 == 0)) { //definisi tidak ada ganjil
            System.out.println("Tidak ditemukan angka ganjil");
        }

8. menampilkan angka ganjil

else if (awal < akhir) { //jika nilai awal lebih kecil dari nilai akhir
            for (int i = 0; i < bilangan.length; i++) {//mengulangi semua isi bilangan[]
                kuadrat = bilangan[i] * bilangan[i];
                if (bilangan[i] % 2 != 0) { //kondisi mendefinisikan ganjil
                    System.out.println(bilangan[i] + " kuadrat = " + kuadrat);
                }
            }
        } else {//jika nilai awal lebih besar dari dari nilai awal
            for (int i = bilangan.length - 1; i > 0; i--) {//mengulangi semua isi bilangan[]
                kuadrat = bilangan[i] * bilangan[i];
                if (bilangan[i] % 2 != 0) {//mendefinisikan ganjil
                    System.out.println(bilangan[i] + " kuadrat = " + kuadrat);
                }
            }


FullCode:
import java.util.Scanner;

public class Tugas1Nomor2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] bilangan;
        int kuadrat;
        System.out.print("Masukkan nilai awal :");
        int awal = input.nextInt();
        System.out.print("Masukkan nilai akhir :");
        int akhir = input.nextInt();
        bilangan = new int[awal + akhir + 1];
        for (int i = awal; i <= akhir; i++) { //ketika awal <= akhir
            bilangan[i] = i;
        }
        for (int i = awal; i >= akhir; i--) {//ketika awal >= akhir
            bilangan[i] = i;
        }
        if (awal == akhir && (awal % 2 == 0 || akhir % 2 == 0)) { //definisi tidak ada ganjil
            System.out.println("Tidak ditemukan angka ganjil");
        } else if (awal < akhir) {//jika nilai awal lebih kecil dari nilai akhir
            for (int i = 0; i < bilangan.length; i++) {//mengulangi semua isi bilangan[]
                kuadrat = bilangan[i] * bilangan[i];
                if (bilangan[i] % 2 != 0) { //kondisi mendefinisikan ganjil
                    System.out.println(bilangan[i] + " kuadrat = " + kuadrat);
                }
            }
        } else {//jika nilai awal lebih besar dari dari nilai awal
            for (int i = bilangan.length - 1; i > 0; i--) {//mengulangi semua isi bilangan[]
                kuadrat = bilangan[i] * bilangan[i];
                if (bilangan[i] % 2 != 0) {//mendefinisikan ganjil
                    System.out.println(bilangan[i] + " kuadrat = " + kuadrat);
                }
            }
        }

    }
}

Output:
Masukkan nilai awal :12
Masukkan nilai akhir :21
13 kuadrat = 169
15 kuadrat = 225
17 kuadrat = 289
19 kuadrat = 361
21 kuadrat = 441

Semoga bermanfaat :)

Kasus sebelumnya :

2 comments: