Langsung ke konten utama

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

Postingan populer dari blog ini

Super Mudah Memahami Kesebangunan Trapesium (part 1) #MathMate

Copy-Paste - Pada bab kesebangunan ada beberapa bangun datar yang umum digunakan, di antaranya kesebangunan segitiga dan jajargenjang. Bisa dikatakan kesebangunan segitiga dan jajargenjang cukup mudah dibandingkan kesebangunan pada trapesium. Ada dua trapesium yang akan diulas di blog ini yaitu trapesium siku-siku dan trapesium sembarang. Trapesium Siku-Siku Bagaimana perbandingan sisi-sisi pada trapesium siku-siku? Biasanya yang diketahui adalah salah satu panjang ruas garis CD atau EF atau AB dan diketahui perbandingan sisi DE dan EA atau perbandingan sisi CF dan FB. Kita bisa gunakan kesebangunan segitiga pada masalah ini. Tambahkan beberapa garis seperti pada gambar di bawah. Sekarang, bisa kita lihat bahwa AQCD membetukmepersegi panjang, akibatnya CD = PE = QA.  Selain itu, segitiga CPF sebangun dengan segitiga CQB. Artinya, kita punya perbandingan sebagai berikut: Jadi, didapatkan persamaan sebagai berikut: atau Bagaimana? Cukup mudah bukan? Contoh soal

Permainan Sistem Persamaan Linear Dua Variabel #MathMate

Copy-Paste - Suasana kelas belakangan ini sangat lesu, anak-anak tidak terlalu memperhatikan penjelasan dan malas-malasan mengerjakan tugas. Dalam keadaan seperti ini, saya dituntut untuk membangkitkan semangat mereka lagi. Sudah berhari-hari puter otak mencari ide, di kepala, di internet, hasilnya nihil. Eh, suatu malam saat sedang nutor online ada siswa bertanya soal dalam bentuk teka-teki yang cukup menarik. Wah, ilham datang dari mana saja yaa. Ya sudah saya eksekusi, bikin lembar kerja kelompok dalam bentuk teka-teki untuk latihan soal materi sistem persamaan linear dua variabel. Di soal yang siswa saya tanya ada beberapa SPLDV yang tidak tepat jawabannya saya utak-atik sedikit dulu deh.  Begini hasil utak-atik dan ketik ulang teka tekinya. Bisa dibilang levelnya mudah ya.  Bagaimana reaksi siswa saat diberikan tugas ini? Alhamdulillah bersemangat. Karena kegiatannya mandiri dan berkelompok saya persilahkan siswa untuk mengerjakan di luar kelas. Belum saya jelaskan c

Ternyata Matematika Ada dalam Hadits Rasulullah #MathMate

Copy-Paste - Jika kalian berpikir bahwa matematika itu hanya ada di buku maka kalian keliru. Matematika sangat dekat dengan kita dalam kehidupan. Setelah mempelajari matematika ternyata kita dapat 'melihat' matematika dalam berbagai hal di sekitar kita salah satunya pada Hadits Rasulullah صلى الله عليه وسلم mengenai orang yang bangkrut. Sebuah hadits yang diriwayatkan oleh Muslim menceritakan tentang definisi orang bangkrut menurut Islam. Hadits itu berbunyi: أَتَدْرُوْنَ مَا الْمُفْلِسُ؟ قَالُوْا: الْمُفْلِسُ فِيْنَا مَنْ لاَ دِرْهَمَ لَهُ وَلاَ مَتَاعَ. فَقَالَ: إِنَّ الْمُفْلِسَ مِنْ أُمَّتِي مَنْ يَأْتِي يَوْمَ الْقِيَامَةِ بِصَلاَةٍ وَصِيَامٍ وَزَكَاةٍ، وَيَأْتِي قَدْ شَتَمَ هَذَا وَقَذَفَ هَذَا وَأَكَلَ مَالَ هَذَا وَسَفَكَ دَمَ هَذَا وَضَرَبَ هَذَا، فَيُعْطَى هَذَا مِنْ حَسَنَاتِهِ وَهذَا مِنْ حَسَنَاتِهِ. فَإِنْ فَنِيَتْ حَسَنَاتُهُ قَبْلَ أَنْ يُقْضَى مَا عَلَيْهِ، أُخِذَ مِنْ خَطَايَاهُمْ فَطُرِحَتْ عَلَيْهِ ثُمَّ طُرِحَ فِي النَّارِ "Tahukah kalian sia