Deplhi 7 Tutorial: Membuat Program Kalkulator Sederhana (1)

Copy-Paste - Salah satu materi awal yang saya pelajari dalam mata kuliah Program Komputer adalah membuat kalkulator sederhana dengan Delphi 7. Dikatakan sederhana karena memang pilihan operasi yang dapat dilakukan sangat terbatas dengan nilai bilangan yang terbatas juga. Nilai bilangan terbatas disini maksudnya adalah dalam beberapa operasi hasil perhitungan yang dilakukan salah karena besarnya nilai tersebut, bisa dicek setelah program kita rampung. Operasi yang terdapat dalam kalkulator ini adalah operasi tambah (+), kurang (-), perkalian (*), perpangkatan (^) dan faktorial (!).
Sumber gambar: belajarcodings.com


Jadi, bagaimana cara membuat program kalkulator sederhana pada Delphi?

Bagian-bagian dalam program ini adalah: 2 kolom input yang saya beri nama "edit1" dan "edit2" dimana nilai yang diinput dalam edit1 disebut sebagai "x" dan yang diinput dalam edit2 disebut "y"; kemudian untuk output terdapat 8 kolom dimana edit3 untuk keluaran hasil perhitungan x+y, edit4 untuk keluaran hasil perhitungan x-y, edit5 untuk keluaran hasil perhitungan x*y, edit6 untuk x/y, edit7 untuk x^y, edit8 untuk y^x, edit9 untuk x!, dan edit10 untuk y!; 3 button dimana seluruh operasi perhitungan dijalankan dengan 1 button yaitu button1, untuk menghapus seluruh kolom input dan output dengan button2, dan untuk keluar dari program dengan button3.

Keseluruhan bahasa pemrograman yang diketikkan untuk button1 adalah sebagai berikut. 

procedure TKalkulator.Button1Click(Sender: TObject);
{kalkulator + - * : ^ !}

var
 x, y, tambah, kurang, kali, p, pangkat, p2, pangkat2, f, f2 : integer;
 bagi, p22, p1, faktorial, faktorial2 : real;

begin
 x := StrToInt (edit1.text);
 y := StrToInt (edit2.text);

{tambah}
tambah := (x+y);
edit3.text := IntToStr (tambah);

{kurang}
kurang := (x-y);
edit4.text := IntToStr (kurang);

{kali}
kali := (x*y);
edit5.text := IntToStr (kali);

{bagi}
If (x=0) and (y=0) then
  begin
  edit6.text := 'Tak Tentu';
  end
else
  begin
    If (y>0) or (y<0) then
      begin
      bagi := (x/y);
      edit6.text := FloatToStr (bagi);
      end
    else
      edit6.text := 'Tidak terdefinisi';
  end;

{x pangkat y}
If (y>(-1)) then
  begin
  p := 1;
    for pangkat := 1 to y do
      begin
      p := (p*x);
      end;
  edit7.text := IntToStr (p);
  end
else
If (y<0) then
  begin
  p := 1;
    for pangkat := 1 to (-1)*y do
      begin
      p := (p*x);
      end;
  p1 := 1/p;
  edit7.text := FloatToStr (p1);
  end;

{y pangkat x}
If (x>(-1)) then
  begin
  p2 := 1;
    for pangkat2 := 1 to x do
      begin
      p2 := (p2*y);
      end;
  edit10.text := IntToStr (p2);
  end
else If (x<0) then
  begin
  p2 := 1;
    for pangkat2 := 1 to (-1)*x do
      begin
      p2 := (p2*y);
      end;
  p22 := (1/p2);
  edit10.text := FloatToStr (p22);
  end;

{x faktorial}
If (x>(-1)) then
  begin
    faktorial := 1;
    for f := 1 to x do
      begin
      faktorial := (faktorial * f);
      end;
    edit8.text := FloatToStr (faktorial);
  end
else
    begin
    edit8.text := 'Tidak ada';
    end;

{y faktorial}
If (y>(-1)) then
  begin
    faktorial2 := 1;
    for f2 := 1 to y do
      begin
      faktorial2 := (faktorial2 * f2);
      end;
    edit9.text := FloatToStr (faktorial2);
  end
else
    begin
    edit9.text := 'Tidak ada';
    end;

end;

Selanjutnya akan kita bahas satu per satu.

Variabel: variabel yang dibutuhkan disini adalah

- x dan y  yang kita kategorikan sebagai "integer" atau bilangan bulat.

- Kemudian untuk hasil perhitungan diberikan masing-masing 1 variabel yang berbeda yaitu "tambah", "kurang", "kali", "pangkat" untuk x^y, "pangkat2" untuk y^x dimana kelima variabel tersebut kita kategorikan "integer" atau bilangan bulat karena x dan y yang akan kita hitung juga adalah bilangan bulat.

- Bagaimana dengan "p", "p2", "f", "f2", "p22, "p1" ? keseluruhan variabel tersebut dibutuhkan untuk inisialisasi perhitungan yang akan dibahas dalam bagiannya masing-masing. 

- Selanjutnya ada variabel "bagi" yang jelas termasuk kategori "real", "faktorial" untuk x! dan "faktorial2" untuk y! yang dikategorikan sebagai "real" karena dengan hasil percobaan sebelumnya untuk beberapa angka yang besar akan terjadi kesalahan perhitungan jika "faktorial" dan "faktorial2" dikategorikan "integer".

Jadi, variabel-variabel yang kita definisikan diawal adalah:

  var
   x, y, tambah, kurang, kali, p, pangkat, p2, pangkat2, f, f2 : integer;
   bagi, p22, p1, faktorial, faktorial2 : real;

Membaca nilai bilangan yang kita inputSelanjutnya, untuk dapat membaca nilai x dan y yang kita input pada edit1 dan edit2, maka sebelum memulai operasi apapun kita harus mengubah nilai yang kita input sesuai dengan kategorinya. Karena, perlu diketahui bahwa semua inputan dalam Delphi akan dibaca sebagai string. Jadi, ketikkan bahasa pemrograman dibawah ini:

   begin
     x := StrToInt (edit1.text);
     y := StrToInt (edit2.text);

Yang berarti input pada edit1 akan dibaca sebagai variabel x dan kategorinya diubah dari Str (string) menjadi Int (integer), begitupun dengan y.

Pembahasan selanjutnya silahkan baca di "Delphi 7 Tutorial: Membuat Program Kalkulator Sederhana (2)".

Thanks for visiting!

Adinda Kamilah

Komentar