Tutorial Belajar Pascal: Cara Membuat Segitiga Bintang Bahasa Pemrograman Pascal

Membuat segitiga bintang sudah menjadi hal wajib dalam belajar algoritma. Jika anda pernah mengikuti mata kuliah algoritma dan pemrograman, hampir bisa dipastikan juga pernah dibuat pusing oleh kode program ini.

Dalam tutorial belajar pascal di duniailkom kali ini kita akan mempelajarinya dengan lebih rinci. Kita akan membahas cara membuat segitiga bintang menggunakan bahasa pemrograman Pascal.


Segitiga Bintang Bahasa Pemrograman Pascal

Bagi anda yang belum pernah melihatnya, berikut tampilan dari segitiga bintang yang saya maksud:

Contoh kode program pascal - membuat segitiga bintang

Tugas kita adalah merancang kode program untuk tampilan seperti itu.

Mungkin anda bertanya, untuk apa kita membuat kode program ini? Apa gunanya?

Kode program bintang-bintang seperti diatas memang tidak ada peran apapun dalam aplikasi "dunia nyata". Ini lebih kepada melatih logika berfikir. Logika berfikir inilah skill paling penting yang harus dimiliki oleh (calon) programmer.

Baik, mari kita coba bahas bagaimana cara pembuatannya.


Contoh Kode Program Segitiga Bintang Bahasa Pascal

Syarat pertama, anda tidak boleh membuat tampilan tersebut secara langsung. Cara curangnya bisa dengan membuat 5 baris writeln:

writeln('*');
writeln('**');
writeln('***');
writeln('****');
writeln('*****');

Tentu saja hasilnya akan sama. Tapi disini kita akan menggunakan perulangan. Lebih tepatnya perulangan bersarang (nested loop).

Dengan menggunakan perulangan, jumlah bintang tersebut bisa diatur dari variabel. Misalnya, saya ingin membuat 100 baris bintang, pastinya akan repot jika membuat satu persatu seperti contoh diatas.

Hal pertama yang akan kita buat adalah sebuah perulangan dengan 5 bintang kebawah, seperti kode program berikut ini:

program kode_program_segitiga_bintang;
uses crt;
var
  i: integer;
begin
  clrscr;
  
    for i := 1  to 5 do
      begin
        writeln('*');
      end;

  readln;
end.

Contoh kode program pascal - membuat segitiga bintang

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:

program kode_program_segitiga_bintang;
uses crt;
var
  i,j: integer;
begin
  clrscr;
  
    for i := 1  to 5 do
      begin
      
        for j := 1  to 5 do
          begin
            write('*');
          end;
          
        writeln('*');
      end;

  readln;
end.

Contoh kode program pascal - membuat segitiga bintang

Dalam kode program diatas, perulangan j akan dijalankan sebanyak 5 kali untuk setiap perulangan i.

Sekarang, bagaimana caranya agar pada perulangan i pertama, perulangan j hanya dijalankan 1 kali. Ketika masuk ke perulangan i kedua, perulangan j akan dijalankan 2 kali. Saat perulangan i ketiga, perulangan j akan dijalankan 3 kali, dst.

Dari paragraf saya diatas, kita sudah bisa melihat pola yang harus ditulis. Kuncinya ada di variabel j. Bagaimana cara agar perulangan j bisa menjadi dinamis mengikuti jumlah perulangan ke – i? Caranya, dengan menjadikan nilai variabel i sebagai patokan akhir perulangan j.

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:

Contoh kode program pascal - membuat segitiga bintang

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:

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.

Contoh kode program pascal - membuat segitiga bintang

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:

Contoh kode program pascal - membuat segitiga bintang terbalik

Silahkan anda luangkan waktu beberapa saat dan latihan bagaimana cara membuatnya.

Baik, berikut kode program yang saya gunakan:

program kode_program_segitiga_bintang;
uses crt;
var
  i,j: integer;
begin
  clrscr;

    for i := 1  to 5 do
      begin
    
        for j := 1  to (6-i) do
          begin
            write('*');
          end;
        
        writeln;
      end;

  readln;
end.

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.

Selamat berkreasi dan silahkan asah logika pemrograman dengan program segitiga pascal ini.


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.

65 Comments

  1. Khaerul
    17 Nov 16
  2. Gama Alif Destian
    09 Dec 16
    • Andre
      09 Dec 16
  3. Eyunk
    10 Dec 16
    • Andre
      11 Dec 16
  4. Shiota
    22 Jan 17
    • Shiota
      22 Jan 17
      • McKarlson
        16 Mar 17
      • Andre
        18 Mar 17
  5. fadri
    01 May 17
    • fadri
      01 May 17
      • Andre
        02 May 17
        • Rio
          01 Feb 18
        • Andre
          04 Feb 18
    • dmnfckmily
      03 Jan 18
      • Andre
        19 Jan 18
    • Andre
      19 Jan 18
  6. Dion
    27 Sep 17
  7. ady
    22 Oct 17
    • Andre
      23 Oct 17
  8. Basit
    18 Jan 18
    • Andre
      19 Jan 18
  9. Winda Riani
    23 Jan 18
    • Andre
      25 Jan 18
  10. naoka
    21 May 18
    • Andre
      23 May 18
      • XxKanao
        09 Feb 21
  11. Desti
    17 Sep 18
    • Andre
      18 Sep 18
  12. Kadek Angga
    12 Nov 18
    • Aziz
      13 Mar 19
      • Mr. X
        31 Mar 19
        • Aziz
          01 Apr 19
        • Tukang tanya
          30 Mar 20
  13. rafliansyah
    09 Apr 19
  14. zherly
    08 May 19
  15. Deo Paskah
    09 Sep 19
    • Andre
      10 Sep 19
  16. A. N. Alvian
    01 Oct 19
  17. Anonymous
    19 Oct 19
  18. Fiera
    03 Jun 20
    • Andre
      04 Jun 20
  19. KIKY DWI ADRIAN
    08 Jun 20
  20. Awiny_ahmad
    20 Oct 20
  21. Anonymous
    10 Nov 20
  22. rayra
    24 Nov 20
  23. Anonymous
    30 Nov 20
    • Andre
      30 Nov 20
  24. Jerman
    16 Dec 20
  25. Anonymous
    18 Dec 20
    • Lisaa
      10 Jan 22
  26. rama danil
    03 Jan 21
  27. Fariz
    07 Jan 21
    • Annas
      11 Jan 21
      • Nana Wartana
        13 Jan 21
  28. XxKanao
    09 Feb 21
  29. rohman
    23 Sep 21
    • rohman
      23 Sep 21
      • rohman
        23 Sep 21
    • Anonymous
      28 Mar 22
  30. Rehan
    19 May 22
  31. ogi
    19 Nov 22
  32. DiabloTempesT
    25 Nov 22

Add Comment

Leave a Reply to Aziz Cancel reply