Latihan Kode Program Java: Membuat Persegi Angka

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:

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();
    }
    
  }
}
Agar bisa berjalan, silahkan save kode program diatas ke dalam file PersegiAngka.java, lalu compile dengan perintah javac PersegiAngka.java, dan jalankan (run) dengan perintah java PersegiAngka. Panduan lebih lengkap bisa ke Cara Menjalankan kode Program Java (Proses Compile).

Latihan Kode Program Java - Membuat Persegi Angka

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

Latihan Kode Program Java - Membuat Persegi Angka Rapi

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.

Add Comment