Anda di halaman 1dari 8

Segitiga Bintang Bahasa Pemrograman Pascal

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

Terlihat, sebuah perulangan bintang sudah tampil. Berikutnya bagaimana cara


membuat bintang ke samping? Kita akan membuat 1 perulangan j di dalam
perulangan i (nested loop). Berikut kode programnya:
1 program kode_program_segitiga_bintang;
uses crt;
2
var
3   i,j: integer;
4 begin
5   clrscr;
6    
7     for i := 1  to 5 do
8       begin
9        
10         for j := 1  to 5 do
11
12           begin
13             write('*');
          end;
14
           
15         writeln('*');
16       end;
17  
18   readln;
19 end.
20

Berikut kode program yang saya maksud:

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.

Baik, berikut kode program yang saya gunakan:

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.

CONTOH PROGRAM BERBENTUK BINTANG MENURUN


program bintang_turun;
uses wincrt;
var i,n,j:integer;
begin 

write('jumlah n : '); readln (n);


for i:=1 to n do
begin for j:=1 to n do
begin if (j<i) then
write (' ') else
write ('*');
end;
writeln;
end;
end.
CONTOH PROGRAM BERBENTUK BINTANG MENURUN BEDA ARAH
program bintang_segitiga_beda_arah;
uses wincrt;
var i,n,j:integer;
begin
write('masukkan n= ');readln(n);
for i:=n downto 1 do
begin
for j:=1 to n do
begin
if (j<i) then write (' ')
else
write('*');
write(' ');
end;
writeln(' ');
end;
end.

CONTOH PROGRAM BENTUK BINTANG SELINGAN ANGKA


program seling;
uses wincrt;
var i,j,n:integer;
a:string;         
begin
write ('banyak baris ');
readln (n);
for i:=1 to n do
begin
for j:=1 to i do
begin
if (j mod 2)=1 then
a:='*' else a:='1';
write(a,' ');
end;
writeln;end;
end.
CONTOH PROGRAM BENTUK BINTANG SEGI EMPAT BOLONG
program persegi;
uses winCrt;
procedure gb (brs,kol:integer);
var i,j:integer;
begin
for i:=1 to brs do
    begin
    for j:=1 to kol do
        begin
        if ((i=1)or(i=brs)or(j=1)or(j=kol))then
        write ('*')
        else write(' ');
        end;
        writeln;
        end;                   
    end;
        var x,y:integer;
        begin                 
        write('banyak baris= ');readln(y);
        write('banyak kolom= ');readln(x);
        writeln('bentuknya:');
        gb(y,x);
        end.

Anda mungkin juga menyukai