Jumat, 14 Desember 2012

Membuat Deret Bilangan Fibonacci di Pascal

Dalam Catatan kali ini saya akan mencoba membahas tentang bagaimana menampilkan deret bilangan fibonacci tanpa menggunakan array melainkan menggunakan perulangan (looping) For - to - Do, dengan menambahkan sedikit tampilan yang berbeda. Namun sebelum dibahas lebih lanjut ada baiknya kita mengetahui apa itu deret bilangan fibonacci. Deret fibonacci adalah suatu deret matematika yang berasal dari hasil penjumlahan dua bilangan sebelumnya, atau untuk lebih jelasnya silahkan kunjungi Sumber Wikipedia (Fibonacci).

Mari kita langsung ke pokok pembahasan. Berikut source code pembuatan deret bilangan Fibonacci.

Program Bil_Fibonacci;
Uses Crt;
Label x;
Var
  a,b,i : Integer;
  sumbu : Real;
  temp : Longint;
  n : byte;
  y : Char;
  txt1,txt2,judul : string;
Begin
Clrscr;
  judul:='=== DERET BILANGAN FOBONACCI DI PASCAL ===';
x:Begin
  TextBackground(10);
  Clrscr;
  a:= 1;
  b:= 0;
  txt1:='TUNGGU SETELAH NADA';
  TextColor(blue);
  for i:=0 to length(judul)-1 do
    begin
    gotoxy(60-length(judul)+i,1);
    write('-')
    end;
  for i:=0 to length(judul)-1 do
    begin
    gotoxy(60-length(judul)+i,3);
    write('-');
    end;
  Gotoxy(60-length(judul),2);
  Writeln(judul);
  Gotoxy(2,4);
  Write('Berapa Banyak Deret (Min 3 / Max 27) : ');
  readln(n);
  if (n < 3) or (n > 27) then
     goto x;

  Gotoxy(2,6);
  write('Deretnya adalah : ');
  gotoxy(40-length(txt1),15);
  textcolor(lightcyan);
  for i:=1 to length(txt1) do
    begin
      txt2:=copy(txt1,i,1);
      delay(500);
      write(txt2,' ');
    end;
    delay(100);
  delline;
  Gotoxy(20,6);
  Sound(500);
  Delay(10);
  NoSound;
  TextColor(Yellow);
  Write(a,' ');
  Delay(500);
  Write(b,' ');
  n:= n-2;
  For i:= 1 to n do
    Begin
      temp := a+b;
      a:= b;
      b:= temp ;
      Delay(500);
      TextColor(Yellow);
      Write(temp,' ');
    End;
  Gotoxy(2,15);
  TextColor(Blue);
  Write('Ulang atau Tidak (Y/T) : ');
  Readln(y);
  if (y = 'y') or (y = 'Y') then
     Goto x
  Else
    if (y = 't') or (y = 'T') then
       exit
    else
       Begin
       TextBackground(10+128);
       Clrscr;
       txt1:='TOLOL';
       txt2:='Program Error';
       repeat
       window(15,4,75,100);
       clrscr;
       i:=1;
       b:=1;
       while a <= 20 do
         Begin
         Delay(100);
         i:= 1;
         a:= a + 1;
         Gotoxy(a,b);
         textcolor(a);
         Writeln(txt1);
         b:= b + 1;
         end;
       while a >= 1 do
         Begin
         delay(100);
         gotoxy(b,a);
         textcolor(a);
         Writeln(txt2);
         a:= a - 1;
         b:= b + 1;
         end;
       Delay(200);
       until 1 = 0;
       end;
end;
  Readkey;
end.


Program tersebut juga dilengkapi dengan variasi output yang berwarna dan bersuara, tinggal langsung di copy paste di Free Pascal, program sudah siap untuk dijalankan. Untuk menghasilkan tampilan yang lebih menarik silahkan kembangkan sendiri sesuai selera.

Selamat mencoba dan semoga sukses

Tidak ada komentar:

Poskan Komentar