Contoh soal membuat persegi angka dalam bahasa Java cukup sering ditemui. Latihan ini menguji pemahaman logika dasar serta konsep perulangan bersarang (nested loop).
Soal Persegi Angka
Buatlah kode program Java untuk menampilkan gambar persegi dalam bentuk susunan angka. Agar lebih bervariasi, kita akan buat dalam 3 bentuk angka. Kode program butuh satu inputan yang dipakai untuk menentukan besar persegi.
Berikut variasi deret persegi angka pertama (soal 1):
Input besar persegi: 6 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6
Berikut variasi deret persegi angka kedua (soal 2):
Input besar persegi: 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Berikut variasi deret persegi angka ketiga (soal 3):
Input besar persegi: 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
Variasi angka di setiap bentuk persegi sebenarnya hanya perlu sedikit modifikasi. Ini sangat pas untuk menguji logika bagaimana cara menampilkan setiap angka.
Tips Membuat persegi Angka
Soal ini melatih pemahaman terkait perulangan bersarang (nested loop) serta logika dasar programming. Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian dan Cara Penulisan Variabel Bahasa Java
- Tipe Data Integer Bahasa Pemrograman Java
- Perulangan FOR Bahasa Java
- Latihan Kode Program Java: Persegi Bintang
- Latihan Kode Program Java: Segitiga Angka
Kita perlu perulangan bersarang atau nested loop untuk memecahkan soal ini. Perulangan luar (outer loop) dipakai untuk menentukan tinggi persegi, serta perulangan dalam (inner loop) untuk membuat lebar persegi.
Jika anda sudah bisa memahami kode program pembuatan segitiga angka, tidak akan kesulitan dalam membuat deret persegi angka ini.
Kode Program Java Membuat Persegi Angka (1)
Pada soal pertama, deret angka dibuat bersambung pada setiap baris, akan tetapi di baris tersebut angka yang tampil tetap sama. Berikut salah satu solusi untuk membuatnya:
import java.util.Scanner; class PersegiAngka { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Persegi Angka ##"); System.out.println("=================================="); System.out.println(); int besar_persegi,i,j; System.out.print("Input besar persegi: "); besar_persegi = input.nextInt(); System.out.println(); for(i=1; i<=besar_persegi; i++) { for(j=1; j<=besar_persegi; j++) { System.out.print(i + " "); } System.out.println(); } } }
Kode program ini meminta satu inputan yang disimpan ke dalam variabel besar_persegi. Variabel inilah yang menjadi penentu kondisi akhir dari perulangan for.
Proses menampilkan deret angka dilakukan oleh perulangan for di baris 19 – 24. Perulangan luar, yakni dengan variabel counter i dipakai untuk membuat tinggi persegi. Ini dimulai dari i = 1
 hingga i <= besar_persegi
.
Jika pada saat proses input nilai besar_persegi
berisi angka 5, maka perulangan luar akan dijalankan sebanyak 5 kali.
Dalam setiap iterasi, jalankan perulangan dalam serta sebuah perintah System.out.println()
di baris 23. Perintah ini dipakai untuk proses pindah baris.
Perulangan dalam dengan variabel counter j dipakai untuk membuat deret. Dalam setiap iterasi, jalankan perintah System.out.print(i + " ")
. Tanda spasi setelah variabel i dipakai agar angka tidak berdempet satu sama lain.
Kode Program Java Membuat Persegi Angka (2)
Pada soal kedua, deret angka akan berulang di setiap baris. Untuk membuatnya kita perlu memodifikasi sedikit angka yang ditampilkan:
import java.util.Scanner; class PersegiAngka { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Persegi Angka ##"); System.out.println("=================================="); System.out.println(); int besar_persegi,i,j; System.out.print("Input besar persegi: "); besar_persegi = input.nextInt(); System.out.println(); for(i=1; i<=besar_persegi; i++) { for(j=1; j<=besar_persegi; j++) { System.out.print(j + " "); } System.out.println(); } } }
Hasil kode program:
## Program Java Persegi Angka ## ================================== Input besar persegi: 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
Bisakah anda menebak letak perbedaan kode program ini dengan kode kita sebelumnya? Yup, hanya 1 karakter saja, yakni perintah System.out.print(j + " ")Â
di baris 21. Sebelumnya yang tampil adalah variabel i, sekarang cukup diganti menjadi variabel j.
Kode Program Java Membuat Persegi Angka (3)
Untuk soal ketiga, deret angka bersambung dari angka pertama hingga angka terakhir. Berikut kode yang diperlukan:
import java.util.Scanner; class PersegiAngka { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Persegi Angka ##"); System.out.println("=================================="); System.out.println(); int besar_persegi,i,j,k = 0; System.out.print("Input besar persegi: "); besar_persegi = input.nextInt(); System.out.println(); for(i=1; i<=besar_persegi; i++) { for(j=1; j<=besar_persegi; j++) { k++; System.out.print(k+ " "); } System.out.println(); } } }
Hasil kode program:
## Program Java Persegi Angka ## ================================== Input besar persegi: 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Modifikasi dari kode sebelumnya berupa penambahan satu variabel baru, yakni k.
Variabel k akan dinaikkan (di-increment) dalam inner loop dengan perintah k++ di baris 21. Setelah itu tampilkan dengan perintah System.out.print(k+ " ")
. Hasilnya, isi variabel k akan selalu bersambung dalam setiap iterasi.
Sebagai tambahan, bentuk persegi ini sedikit kurang rapi karena saat sampai ke angka yang terdiri dari 2 digit, besar persegi terdorong jauh ke kanan.
Solusinya, kita bisa format angka dengan fungsi String.format()
seperti contoh berikut:
import java.util.Scanner; class PersegiAngka { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Persegi Angka ##"); System.out.println("=================================="); System.out.println(); int besar_persegi,i,j,k = 0; System.out.print("Input besar persegi: "); besar_persegi = input.nextInt(); System.out.println(); for(i=1; i<=besar_persegi; i++) { for(j=1; j<=besar_persegi; j++) { k++; System.out.print(String.format("%3d", k)); } System.out.println(); } } }
Perintah String.format("%3d", k)
di baris 22 akan men-set lebar setiap angka sebesar 3 karakter. Hasilnya, tampilan persegi tetap rapi dari angka 1 hingga 81. Jika butuh jarak yang lebih besar, bisa diganti formatnya menjadi "%4d"
atau "%5d".
Demikian contoh kode program membuat persegi angka dalam bahasa Java. Semoga bisa bermanfaat.