Latihan Kode Program Java: Membuat Segitiga Angka

Latihan membuat segitiga angka menjadi salah satu materi algoritma yang cukup sering ditemui. Salah satunya karena perlu pemahaman logika, konsep perulangan bersarang (nested loop), dan menguji logika matematika.

Segitiga angka punya banyak variasi, kali ini kita akan bahas dalam bentuk yang sederhana saja.


Soal Segitiga Angka

Buatlah kode program Java untuk menampilkan gambar segitiga dalam bentuk susunan angka. Agar lebih bervariasi, kita akan buat dalam 3 bentuk angka. Kode program butuh satu inputan yang dipakai untuk menentukan tinggi segitiga.

Berikut variasi deret segitiga angka pertama (soal 1):

Input tinggi segitiga: 6

1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6

Berikut variasi deret segitiga angka kedua (soal 2):

Input tinggi segitiga: 6

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6

Berikut variasi deret segitiga angka kedua (soal 3):

Input tinggi segitiga: 6

  1
  2   3
  4   5   6
  7   8   9  10
 11  12  13  14  15
 16  17  18  19  20  21

Variasi angka di setiap bentuk segitiga sebenarnya hanya perlu sedikit modifikasi. Ini sangat pas untuk menguji logika bagaimana cara menampilkan setiap angka.


Tips Membuat Segitiga 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 segitiga, serta perulangan dalam (inner loop) untuk membuat bentuk segitiga.

Jika anda sudah bisa memahami kode program pembuatan segitiga bintang, tidak akan kesulitan dalam membuat deret segitiga angka ini.


Kode Program Java Membuat Segitiga Angka (1)

Pada soal pertama, deret angka yang 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 SegitigaAngka {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Angka  ##");
    System.out.println("===================================");
    System.out.println();
    
    int tinggi_segitiga,i,j;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i=1; i<=tinggi_segitiga; i++) {
      for(j=1; j<=i; j++) {
        System.out.print(i+" ");
      }
      System.out.println();
    }
    
  }
}
Agar bisa berjalan, silahkan save kode program diatas ke dalam file SegitigaAngka.java, lalu compile dengan perintah javac SegitigaAngka.java, dan jalankan (run) dengan perintah java SegitigaAngka. Panduan lebih lengkap bisa ke Cara Menjalankan kode Program Java (Proses Compile).

Latihan Kode Program Java - Membuat Segitiga Angka

Di baris 15 kode program meminta satu inputan dan disimpan ke dalam variabel tinggi_segitiga. Variabel inilah yang menjadi penentu kondisi akhir dari perulangan for.

Proses menampilkan deret angka dilakukan oleh perulangan for di baris 18 – 23. Perulangan luar, yakni dengan variabel counter i dipakai untuk membuat tinggi segitiga. Ini dimulai dari i = 1 hingga i <= tinggi_segitiga.

Jika pada saat proses input nilai tinggi_segitiga berisi angka 6, maka perulangan luar akan dijalankan sebanyak 6 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. Caranya, cukup tampilkan isi variabel i yang akan menaik dari 1, 2, 3, dst hingga mencapai tinggi_segitiga.

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 Segitiga 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 SegitigaAngka {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Angka  ##");
    System.out.println("===================================");
    System.out.println();
    
    int tinggi_segitiga,i,j;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i=1; i<=tinggi_segitiga; i++) {
      for(j=1; j<=i; j++) {
        System.out.print(j+" ");
      }
      System.out.println();
    }
    
  }
}

Hasil kode program:

##  Program Java Segitiga Angka  ##
===================================

Input tinggi segitiga: 7

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7

Bisakah anda tebak 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 ditampilkan adalah variabel i, sekarang cukup diganti menjadi variabel j.


Kode Program Java Membuat Segitiga Angka (3)

Untuk soal ketiga, deret angka bersambung dari angka pertama hingga angka terakhir. Berikut kode yang diperlukan:

import java.util.Scanner;
  
class SegitigaAngka {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Angka  ##");
    System.out.println("===================================");
    System.out.println();
    
    int tinggi_segitiga,i,j,k = 0;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i=1; i<=tinggi_segitiga; i++) {
      for(j=1; j<=i; j++) {
        k++;
        System.out.print(k+" ");
      }
      System.out.println();
    }
    
  }
}

Hasil kode program:

##  Program Java Segitiga Angka  ##
===================================

Input tinggi segitiga: 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

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 segitiga ini sedikit kurang rapi karena saat sampai ke angka yang terdiri dari 2 digit, besar segitiga terdorong jauh ke kanan.

Solusinya, kita bisa format angka dengan fungsi String.format() seperti contoh berikut:

import java.util.Scanner;
  
class SegitigaAngka {
  public static void main(String args[]){
           
    Scanner input = new Scanner(System.in);
      
    System.out.println("##  Program Java Segitiga Angka  ##");
    System.out.println("===================================");
    System.out.println();
    
    int tinggi_segitiga,i,j,k = 0;
 
    System.out.print("Input tinggi segitiga: ");
    tinggi_segitiga = input.nextInt();
    
    System.out.println();
   
    for(i=1; i<=tinggi_segitiga; i++) {
      for(j=1; j<=i; j++) {
        k++;
        System.out.print(String.format("%3d", k));
      }
      System.out.println();
    }
    
  }
}

Hasil kode program:

Latihan Kode Program Java - Membuat Segitiga Angka Rapi

Perintah String.format("%3d", k) di baris 22 akan men-set lebar setiap angka sebesar 3 karakter. Hasilnya, tampilan segitiga tetap rapi dari angka 1 hingga 55.


Demikian contoh kode program membuat segitiga angka dalam bahasa Java. Semoga bisa bermanfaat.

Add Comment