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 :
- Program menggunakan Array([]) untuk menyimpan bilangan
- Karena nilai awal(dari angka mulainya perulangan) dan nilai akhir(akhir perulangan) ditentukan oleh user, maka kita perlu mengimport class java util.Scanner
- Untuk menyimpan nilai array dapat menggunakan perulangan agar lebih efisien
- buatkan perulangan jika nilai awal yang dimasukkan user lebih kecil dari nilai akhir (kecil ke besar)
- buatka perulangna jika nilai awal yang dimasukkan user lebih besar dari nilai akhir (besar ke kecil)
- Untuk menampilkan nilai array dapat menggunakan perulangan agar lebih efesien dan dinamis
- buatkan kondisi jika nilai awal dan nilai akhir yang dimasukkan user adalah sama dan keduanya merupakan angka genap
- buatkan perulangan dalam kondisi jika nilai awal lebih kecil dari nilai akhir
- buatkan perulangan dalam kondisi jika nilai akhir lebih besar dari nilai awal
- Untuk menentukan angka ganjil dapat menggunakan operator modulus(%)
- Untuk menampilkan kuadrat dari masing-masing angka dapat menggunakan operator perkalian(*).
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 = 441Semoga bermanfaat :)
Kasus sebelumnya :
Makasih, sangat membantu ku :)
ReplyDeletesama2. terimakasih juga karena sudah berkunjung :)
Delete