Membuat Piramid Bintang


Program piramid bintang dengan pascal kiriman Saipul Bahrie

program bintang_piramid;
uses wincrt;

var c,a,b,n : integer;
begin
  write ('masukkan angka : ');readln(n);
  writeln;
  if n mod 2 = 0 then
    for a := 1 to (n div 2) do begin
      for b := 1 to (n div 2)-a do
      write (' ');
      for c := 1 to (a*2) do
        write ('*');
      writeln;
    end
  else
    for a := 1 to (n div 2)+1 do begin
      for b := 1 to (n div 2)+(1-a) do
      write (' ');
      for c := 1 to (a*2)-1 do
        write ('*');
      writeln;
    end;
end.

keluaran:
masukkan jumlah bintang terbawah : 9

*
***
*****
*******
*********

masukkan jumlah bintang terbawah : 8

**
****
******
********

saya membuatnya disertai dengan percabangan karena bila jumlah bintang terbawah yang dimasukkan genap maka yang paling atas juga akan genap dan jika yang dimasukkan ganjil maka yang paling atas juga akan ganjil

logika.

pertama masukkan jumlah bintang terbawah yang diinginkan contoh yang dimasukan adalah 8.
8 div 2 = 0 maka
baris yang yang ada pada piramid adalah setengah dari bintang yang dimasukkan kecuali bila bintang yang paling bawah adalah ganjil, maka tinggi atau barisnya adalah ½ alas+1,kerena bintang piramid berbentuk segitiga samakaki.

jadi pertama kita membuat perulangan untuk membuat baris dengan menggunakan perulangan for a :1 to (n div 2) do, karena saya menggunakan (n/2)tidak mau,jadi saya menggunakan n div 2 karena variabel n yang saya masukkan adalah integer. dan hasil n div 2 pasti integer.

setelah kita membuat perulangan untuk baris,selanjutnya kita membuat perulangan untuk baris kanan yang tidak terisi dan perulangan untuk bintang yang akan dimunculkan.

yaitu dengan cara begin for b: 1 to (n div 2)-a do write (‘ ‘);

for c: 1 to (a*2) do write (‘*’); writeln;

perulangan untuk baris, sebanyak (n div 2) yaitu 8 div 2 = 4. jadi akan ada 4 perulangan untuk baris

Perulangan untuk baris yang pertama adalah.

n =8
a =1
=(n div 2)-a
=(8 div 2)-1
= 4-1
= 3
b =1 to (n div 2)-a = 1 to 3 do write (‘ ‘)

jadi tampil sepasi 3x atau sepasi tigakali,setelah itu

c= 1 to (1*2)=1 to 2 do write (‘*’)

jadi disampingnya 3 sepasi tadi terdapat dua bitang berjejeran,yang berarti puncak dari piramid tersebut adalah dua bintang. setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke2 adalah .

n =8

a =2

= (n div 2)-a

= (8 div 2)-2

= 4-2

= 2

b =1 to (n div 2)-a = 1 to 2 do write (‘ ‘)

jadi tampil sepasi 2x, setelah itu

c = 1 to (2*2)= 1 to 4 do write (‘*’)

jadi disamping 2 sepasi terdapat 4 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke3 adalah.

n =8

a =3

= (n div 2)-a

= (8 div 2)-3

= 4-3

= 1

b =1 to (n div 2)-a = 1 to 1 do write (‘ ‘) jadi tampil sepasi 1x, setelah itu

c = 1 to (3*2)= 1 to 6 do write (‘*’)

jadi disamping 1 sepasi terdapat 6 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

perulangan untuk baris ke4 adalah.

n =8

a =3

= (n div 2)-a

= (8 div 2)-4

= 4-4

= 0

b =1 to (n div 2)-a = 1 to 0 do write (‘ ‘)

jadi tidak ada sepasi, setelah itu

c = 1 to (4*2)= 1 to 8 do write (‘*’)

jadi terdapat 8 bintang berjejeran,setelah itu program membaca writeln yang berarti ganti baris.

karena dalam perulangan cuma sampai (n div 2) atau 4, jadi perulangan akan berhenti dan didapatkan tampilan seperti ini

**
****
******
********

yang ganjilpun sama logikanya. tinggal memasukkan angka didalam variabel-variabel yang sudah saya buat. Silahkan dicoba sendiri untuk pembuktian jumlah bintang ganjil.
Demikian program piramid yang saya buat. mungkin masih ada cara lain, tapi ini program yang saya logika sendiri. dan saya tunggu saran dan kritiknya di @mail. [email protected]

sumber : latihan soal Algoritma dan Pemrograman penerbit Andi.


24 responses to “Membuat Piramid Bintang”

  1. bos mau tanya isa cara bikin berbagai macam “*” sama “x” kayak contohnya nich
    \ /
    \ /
    +
    / \
    / \ caranya tau ndk bos

    *
    ++
    ***
    ++++
    ***** sama ini tau ndk bos?? email aq ya kalo tau bos thx

  2. tolong kasih tau codingnya untuk keluaran

    (ini kalau batasnya 10).

    **********
    * *
    * *
    * *
    **********
    * *
    * *
    * *
    * *
    **********

    Please bantu secepatnya buat tugas….
    sebenarnnya disuru angka 1-9 tapi ntar saya coba kembangkan sendiri.
    kirim ke email [email protected]

  3. kalau bwt segitiga sama sisi gmn ya???
    trs kl bwt segitiga yang spt ini gmn jg,

    ***** 1 3 1
    **** 12 32 21
    *** 123 321 321
    **
    *

    mohon dibantu ya.
    terima kasih

  4. gw dapet tugas bikin segitiga sama lingkaran juga bintang pake delphi nih,, gimana codingnya yah,, bisa bantu ga? bingung….

    kirim ke emailku aja yah kalo bisa, makasih sebelumnya yah ka… GBU :)

  5. tolong bantuin saya dong buat listing program pascal untuk membuat tampilan seperti ini:
    a) 1 2 3 4 5
    2 4
    3 3
    4 2
    5 4 3 2 1

    b) 1 1
    2 2 2
    3 3 3
    4 4 4
    5 5

    c) * * 1 * *
    * * 2 * *
    * * 3 * *
    * * 4 * *
    * * 5 * *

  6. *********/
    ********/*
    *******/**
    ******/***
    *****/****
    ****/*****
    ***/******
    **/*******
    */********
    /*********

    Bantuin untuk buat yang seperti ini donk,.,,+ kasih penjelasannya yaa di tiap baris…
    Pake Iostream boleh pake stdio.h juga boleh,.,
    Onegai shimasu,.. Sabtu aku UAS lagi :'(

Leave a Reply