proyek algoritma kalkulator
TRANSCRIPT
-
7/23/2019 proyek algoritma kalkulator
1/6
Membuat Program Kalkulator
1 Ilustration
Kalkulator biasanya berbentuk persegi panjang, terdiri dari tombol-tombol angka dan tombol-tombol
untuk perhitungan serta sebuah layar pada sebelah atasnya. Dengan adanya kalkulator ini, kita akan sangat
terbantu terutama dalam hal hitung-menghitung. Sebenarnya, kita bisa membuat kalkulator tersebut dengan
mudah, namun dalam versi digital tentunya. Sebab, Delphi memungkinkan kita untuk membuat program
kalkulator dengan cepat dan menyenangkan asalkan Anda tahu konsep dasar tentang cara kerja kalkulator.
Di bawah ini salah satu contoh program kalkulator bawaan windows yang bernama calculator, Anda
bisa mengaksesnya melalui Start | All rograms | Accessories.
GambarInterface program kalkulator buatan windows
!erikut ini saya akan mencoba menjelaskan tentang langkah-langkah pembuatannya.
2 Screenshoot
GambarTampilan Interface program yang akan kita buat
-
7/23/2019 proyek algoritma kalkulator
2/6
Logical
rogram terdiri dari sebuah "orm yang didesain mirip dengan kalkulator, berisi tombol-tombol dan
sebuah layar. #ara menggunakannya sama kalkulator pada umumnya, Anda tinggal mengklik pada tombol-
tombol tersebut maka hasilnya akan tampil di layar kalkulator.
rinsip dasar kerja kalkulator hampir sama dengan prinsip memori pada komputer, yaitu menggunakan
media penyimpan sementara. Dalam tutorial ini saya menggunakan empat media penyimpan, banyaknya
media penyimpan pada dasarnya hanya untuk memudahkan kita dalam proses pembuatan program ini. $edia
penyimpan disini berupa empat buah variable, variable pertama %memori operator& ber"ungsi meyimpan
operator aritmetik, variable kedua %memori angka& ber"ungsi menyimpan angka, variable ketiga %memori
logic& ber"ungsi menyimpan nilai ' atau (, dan variabel keempat %memori simpan& ber"ungsi menyimpan
angka yang disimpan.
$isalnya kita akan menghitung nilai dari )*+%'*&, maka langkah pertama adalah menghitung nilai
dari '* lalu nilainya disimpan, baru kemudian )* dibagi dengan nilai simpanan.
Algoritma kerja kalkulator secara sederhana adalah sebagai berikut :
'. ada saat play .$aka nilai dari memori akan menjadi
- memori operator nilainya dikosongkan
- memori angka nilainya ( %nol&
- memori logic nilainya ( %nol&.
. ombol ' ditekan, sehingga pada layar kalkulator muncul angka '. $aka nilai dari memori akan
berubah menjadi /
- memori operator nilainya tetap kosong
- memori angka nilainya (
- memori logic nilainya ' % nilai satu artinya jika tombol salah satu angka ditekan lagi maka
maka layar kalkulator tidak hanya menampilkan angka yang ditekan tapi akan menampilkan
angka sebelumnya dan angka yang ditekan kemudian&). ombol ditekan, sehingga pada layar kalkulator menjadi angka '. $aka nilai dari memori tidak
berubah
0. ombol ditekan, sehingga pada layar kalkulator tetap menampilkan angka '. $aka nilai dari
memori akan menjadi /
- memori operator nilainya
- memori angka nilainya ' %nilai pada layar dicopy ke memori angka&
- memori logic nilainya ( %nol&. % nilai nol artinya jika tombol salah satu angka ditekan lagi
maka maka layar kalkulator hanya menampilkan angka yang ditekan sedangkan angka
sebelumnya tidak ditampilkan lagi&
1. ombol * ditekan, sehingga pada layar kalkulator hanya menampilkan angka *. $aka nilai dari
memori menjadi /
- memori operator nilainya - memori angka nilainya '.
- memori logic nilainya '.
*. ombol 2 ditekan, sehingga pada layar kalkulator akan menampilkan hasil penjumlahan yaitu angka
'3. $aka nilai dari memori menjadi /
- memori operator nilainya
- memori angka nilainya '3.
- memori logic nilainya (.
4. Selesai.
Demikianlah alur kerja dari program kalkulator yang akan kita buat.
-
7/23/2019 proyek algoritma kalkulator
3/6
Comlete Source code
Agar tidak terjadi kesalahan, di bawah ini saya berikan listing program secara lengkap pada unit',
tanpa disertai komentar program.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ialogs, StdCtrls,Math;
type
!Form1 " class#!Form$
%tn&ng'a1( !)utton;
Memo1( !Memo;
%tn&ng'a*( !)utton;
%tn&ng'a+( !)utton;
%tn&ng'a( !)utton;
%tn&ng'a-( !)utton;
%tn&ng'a.( !)utton;
%tn&ng'a/( !)utton;
%tn&ng'a0( !)utton;
%tn&ng'a( !)utton;
%tn&ng'a2( !)utton;
%tn3itung( !)utton;
%tn4perator!am%ah( !)utton;
%tn4perator5urang( !)utton;
%tn4perator5ali( !)utton;
%tn4perator)agi( !)utton;
%tn4peratorClear( !)utton;
procedure &ssign&ng'a#&n'( string$;
procedure &ssign4perator#4p( string$;
procedure FormCreate#Sender( !4%6ect$;
procedure %tn3itungClic'#Sender( !4%6ect$;
procedure %tn4perator!am%ahClic'#Sender( !4%6ect$;
procedure %tn4perator5urangClic'#Sender( !4%6ect$;
procedure %tn4perator5aliClic'#Sender( !4%6ect$;
procedure %tn4perator)agiClic'#Sender( !4%6ect$;
procedure %tn&ng'a1Clic'#Sender( !4%6ect$;
procedure %tn&ng'a*Clic'#Sender( !4%6ect$;
procedure %tn&ng'a+Clic'#Sender( !4%6ect$;
procedure %tn&ng'aClic'#Sender( !4%6ect$;
procedure %tn&ng'a-Clic'#Sender( !4%6ect$; procedure %tn&ng'a.Clic'#Sender( !4%6ect$;
procedure %tn&ng'a/Clic'#Sender( !4%6ect$;
procedure %tn&ng'a0Clic'#Sender( !4%6ect$;
procedure %tn&ng'aClic'#Sender( !4%6ect$;
procedure %tn&ng'a2Clic'#Sender( !4%6ect$;
procedure %tn4peratorClearClic'#Sender( !4%6ect$;
pri7ate
8 9ri7ate declarations :
pu%lic
8 9u%lic declarations :
end;
7ar Form1( !Form1;
4perator(String;
-
7/23/2019 proyek algoritma kalkulator
4/6
&ng'a ( array 1 B
>eset (" false;
end
else %egin
memo1
end;
end;
procedure !Form1
end;
procedure !Form1
-
7/23/2019 proyek algoritma kalkulator
5/6
end;
procedure !Form1
-
7/23/2019 proyek algoritma kalkulator
6/6
procedure !Form1