Hal pertama yang akan kita buat adalah sebuah perulangan dengan 5 bintang kebawah, seperti kode
program berikut ini:
1
2 program kode_program_segitiga_bintang;
uses crt;
3 var
4 i: integer;
5 begin
6 clrscr;
7
8 for i := 1 to 5 do
9 begin
writeln('*');
10 end;
11
12 readln;
13 end.
14
program kode_program_segitiga_bintang;
uses crt;
var
i,j: integer;
begin
clrscr;
for i := 1 to 5 do
begin
for j := 1 to i do
begin
write('*');
end;
writeln('*');
end;
readln;
end.
Perhatikan bagian for j := 1 to i do. Inilah yang bisa membuat perulangan j menjadi
dinamis dan menaik dalam setiap perulangan i.
Baik, mari kita jalankan:
Tunggu dulu, kenapa ada dua bintang di baris pertama? Bintang pertama berasal
dari perulangan i, yakni kode writeln(‘*’). Untuk memperbaikinya, kita cukup
menghapus string (‘*’) karena tidak diperlukan lagi.
Namun perintah writeln; tetap dibutuhkan agar bintang bisa pindah ke baris baru:
1
2 program kode_program_segitiga_bintang;
3 uses crt;
var
4
i,j: integer;
5 begin
6 clrscr;
7
8 for i := 1 to 5 do
9 begin
10
11 for j := 1 to i do
12 begin
13 write('*');
end;
14
15 writeln;
16 end;
17
18 readln;
19 end.
20
Done! Kode program kita untuk membuat segitiga bintang sudah selesai. Kunci dari
proses pembuatan kode program ini ada di logika dan cara berfikir kita untuk
menyelesaikan masalah.
Sebagai latihan, saya tantang anda untuk membuat segitiga bintang yang sama,
namun dalam posisi terbalik. Seperti tampilan berikut:
Silahkan anda luangkan waktu beberapa saat dan latihan bagaimana cara
membuatnya.
1 program kode_program_segitiga_bintang;
uses crt;
2
3
4 var
i,j: integer;
5
begin
6 clrscr;
7
8 for i := 1 to 5 do
9 begin
10
11 for j := 1 to (6-i) do
12 begin
13 write('*');
14 end;
15
writeln;
16 end;
17
18 readln;
19 end.
20
Hanya perlu tambahan 2 karakter, tepatnya di bagian for j := 1 to (6-i) do. Inilah
yang membuat perulangan terdalam (j) akan menurun dari 5 bintang, 4 bintang, 3
bintang, 2 bintang dan 1 bintang.
Dengan mengutak-atik variabel i dan j, kita bisa membuat berbagai bentuk segitiga,
misalnya bagamana jika kedua segitiga ini disatukan (menjadi bentuk setengah
belah ketupat). Atau anda bisa juga menambahkan perintah readln agar jumlah
baris segitiga bisa diinput dari user.
CONTOH PROGRAM BERBENTUK BINTANG
program bintang_segitiga;
uses wincrt;
var
a,b,c: integer;
begin
readln(a);
for b:=a downto 1 do
begin
for c:=1 to a do
write('*');
writeln;
a:=a-1;
end;
end.