Latihan Kode Program Pascal: Membuat Pola Segitiga Angka Terbalik

Latihan kode program bahasa Pascal kali ini akan membahas cara membuat segitiga angka terbalik. Soal ini menjadi salah satu materi algoritma yang cukup sering ditemui karena menguji pemahaman logika serta konsep perulangan bersarang (nested loop).

Segitiga angka terbalik punya banyak variasi, kita akan bahas beberapa diantaranya.


Soal Pola Segitiga Angka Terbalik

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

Berikut variasi deret segitiga angka pertama (soal 1):

##  Program Pascal Segitiga Angka Terbalik  ##
==============================================

Input tinggi segitiga: 8

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

Berikut variasi deret segitiga angka kedua (soal 2):

## Program Bahasa Pascal Segitiga Angka Terbalik ##
============================================

Input tinggi segitiga: 8

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

Berikut variasi deret segitiga angka kedua (soal 3):

##  Program Pascal Segitiga Angka Terbalik  ##
==============================================

Input tinggi segitiga: 8

  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

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 Terbalik

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 terbalik, tidak akan kesulitan dalam membuat deret segitiga angka ini.


Kode Program Bahasa Pascal Segitiga Angka Terbalik (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:

program segitiga_angka_terbalik;
uses crt;
var
  tinggi_segitiga,i,j: integer;
begin
  clrscr;
  writeln('##  Program Pascal Segitiga Angka Terbalik  ##');
  writeln('==============================================');
  writeln;
 
  write('Input tinggi segitiga: ');
  readln(tinggi_segitiga);
  writeln;
   
  for i := 1 to tinggi_segitiga do
  begin
    for j := 1 to tinggi_segitiga-i+1 do
    begin
      write(i,' ');
    end;
  writeln;
  end;

  readln;
end.

Hasil kode program:

Latihan Kode Program Pascal - Membuat Pola Segitiga Angka Terbalik (1)

Kode program meminta satu inputan yang disimpan ke dalam variabel tinggi_segitiga. Variabel inilah yang menjadi penentu akhir dari perulangan for.

Proses menampilkan deret angka dilakukan oleh perulangan for di baris 15-22. Perulangan luar 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 8, maka perulangan luar akan dijalankan sebanyak 8 kali.

Dalam setiap iterasi, jalankan perulangan dalam serta sebuah perintah writeln di baris 21. Perintah ini dipakai untuk proses pindah baris.

Perulangan dalam dengan variabel counter j dipakai untuk membuat deret. Karena kita membuat segitiga terbalik, maka jumlah perulangan harus dibuat menurun mulai dari tinggi_segitiga yang secara bertahap terus dikurangi.

Jika tinggi_segitiga berisi angka 7, maka perulangan j haruslah mulai dari 7, 6, 5, 4, 3, 2, 1. Proses membuat perulangan menurun ini dilakukan mulai dari j = 1 hingga j <= tinggi_segitiga-i+1.

Dalam setiap iterasi, jalankan perintah write(i,' '). Tanda spasi setelah variabel i dipakai agar angka tidak berdempet satu sama lain.


Kode Program Bahasa Pascal Segitiga Angka Terbalik (2)

Pada soal kedua, deret angka akan berulang di setiap baris. Untuk membuatnya kita perlu memodifikasi sedikit angka yang ditampilkan:

program segitiga_angka_terbalik;
uses crt;
var
  tinggi_segitiga,i,j: integer;
begin
  clrscr;
  writeln('##  Program Pascal Segitiga Angka Terbalik  ##');
  writeln('==============================================');
  writeln;
 
  write('Input tinggi segitiga: ');
  readln(tinggi_segitiga);
  writeln;
   
  for i := 1 to tinggi_segitiga do
  begin
    for j := 1 to tinggi_segitiga-i+1 do
    begin
      write(j,' ');
    end;
  writeln;
  end;

  readln;
end.

Hasil kode program:

Latihan Kode Program Pascal - Membuat Pola Segitiga Angka Terbalik (2)

Bisakah anda tebak letak perbedaan kode program ini dengan kode kita sebelumnya? Yup, hanya 1 karakter saja, yakni perintah write(j,' '); di baris 19. Sebelumnya yang ditampilkan adalah variabel i, sekarang cukup diganti menjadi variabel j.


Kode Program Bahasa Pascal Segitiga Angka Terbalik (3)

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

program segitiga_angka_terbalik;
uses crt;
var
  tinggi_segitiga,i,j,k: integer;
begin
  clrscr;
  writeln('##  Program Pascal Segitiga Angka Terbalik  ##');
  writeln('==============================================');
  writeln;
 
  write('Input tinggi segitiga: ');
  readln(tinggi_segitiga);
  writeln;
   
  for i := 1 to tinggi_segitiga do
  begin
    for j := 1 to tinggi_segitiga-i+1 do
    begin
      k:= k+1;
      write(k,' ');
    end;
  writeln;
  end;

  readln;
end.

Hasil kode program:

Latihan Kode Program Pascal - Membuat Pola Segitiga Angka Terbalik (3)

Modifikasi dari kode sebelumnya berupa penambahan satu variabel baru, yakni k.

Variabel k akan dinaikkan (di-increment) dalam inner loop dengan perintah k:= k+1 di baris 19. Setelah itu tampilkan dengan perintah write(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.

Agar tampilan segitiga lebih rapi, kita bisa set padding karakter angka:

program segitiga_angka_terbalik;
uses crt;
var
  tinggi_segitiga,i,j,k: integer;
begin
  clrscr;
  writeln('##  Program Pascal Segitiga Angka Terbalik  ##');
  writeln('==============================================');
  writeln;
 
  write('Input tinggi segitiga: ');
  readln(tinggi_segitiga);
  writeln;
   
  for i := 1 to tinggi_segitiga do
  begin
    for j := 1 to tinggi_segitiga-i+1 do
    begin
      k:= k+1;
      write(k:3,' ');
    end;
  writeln;
  end;

  readln;
end.

Latihan Kode Program Pascal - Membuat Pola Segitiga Angka Terbalik (4)

Perintah write(k:3,' '); di baris 20 dipakai untuk men-set lebar setiap angka sebesar 3 karakter. Hasilnya, tampilan persegi tetap rapi dari angka 1 hingga 36.


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


eBook Pascal Uncover Duniailkom
Apabila anda serius ingin mempelajari Pascal dan butuh materi Pascal yang jauh lebih lengkap, Duniailkom telah menerbitkan eBook Pascal Uncover yang membahas bahasa pemrograman Pascal dari dasar hingga procedure, function dan contoh kasus. Penjelasan lebih lanjut bisa ke eBook Pascal Uncover Duniailkom.

2 Comments

  1. Dico
    30 Dec 22
    • Andre
      05 Jan 23

Add Comment