PERCOBAAN
4
MEMBUAT
KALKULATOR
1. Tujuan
: Agar Bamasis mampu membuat aplikasi sederhana kalkulator.
2. Alat
dan bahan.
a. Laptop/PC.
b. Aplikasi Delphi.
c. Tool Edit.
d. Button.
e. Label.
f. Shape.
g. Uses Math.
h. Strtoint.
i. Floattostr.
3. Landasan
teori.
a. Flowchart Decision atau Flowchart
Keputusan adalah simbol yang digunakan dalam flowchart untuk menunjukkan titik
keputusan dalam alur kerja atau proses. Simbol ini biasanya berbentuk belah
ketupat dan digunakan untuk menggambarkan perbandingan atau penyeleksian data
yang memberikan pilihan untuk langkah selanjutnya dalam proses.
Fungsi Simbol Decision
· Menunjukkan
Kondisi: Simbol Decision
digunakan untuk menunjukkan kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban, yaitu "ya" dan "tidak"
atau "benar" dan "salah" dalam konteks tertentu.
· Menggambarkan
Pilihan: Simbol
ini menggambarkan pilihan yang harus diambil berdasarkan
hasil evaluasi atau perbandingan. Pilihan ini kemudian akan mempengaruhi arah
aliran proses selanjutnya.
· Menghubungkan
Langkah: Simbol Decision
digunakan untuk menghubungkan antara langkah-langkah yang berbeda dalam
flowchart, sehingga memudahkan dalam memahami bagaimana
proses akan berlanjut berdasarkan hasil keputusan
b. Pada Delphi, Edit adalah komponen yang
digunakan untuk memasukkan dan menampilkan teks. Fungsi komponen edit:
· Memasukkan
Data: Komponen Edit digunakan
untuk memasukkan data teks yang akan diproses oleh aplikasi. Data ini dapat
berupa nama, alamat, tanggal lahir, dan lain-lain, tergantung pada kebutuhan
aplikasi.
· Mengatur
Properti: Properti Edit dapat
diatur untuk menentukan ukuran, jenis font, warna font, dan gaya font.
Misalnya, Anda dapat mengatur ukuran font menjadi 14, jenis font menjadi
Calibri, dan warna font menjadi clWindowText.
· Menghubungkan
dengan Event: Komponen Edit dapat
dihubungkan dengan event tertentu, seperti ketika tombol Enter ditekan atau
ketika fokus keluar dari komponen tersebut. Contoh penggunaan event OnExit untuk
menangkap penekanan tombol Enter dan melakukan aksi tertentu.
c. ShellExecute
pada Delphi adalah sebuah fungsi Windows API yang digunakan untuk melakukan
berbagai operasi terkait manipulasi file atau interaksi sistem dengan
meluncurkan atau menjalankan file atau operasi yang terkait dengan aksi default
untuk file atau aplikasi yang ditentukan. Fungsi ShellExecute ini memungkinkan
pengguna untuk membuka file, folder, dan URL, serta melakukan berbagai aksi
yang terkait dengan file, seperti membuka, mengedit, mencetak, dan menjelajahi
(membuka folder untuk melihat isiannya), di antara lainnya.
d.
StrtoInt. StrToInt adalah sebuah fungsi yang digunakan untuk mengonversi
sebuah string yang berisi representasi angka menjadi tipe data integer. Fungsi
ini akan mengambil string sebagai input dan mengembalikan nilai integer yang
sesuai dengan angka yang direpresentasikan oleh string tersebut. Perlu diingat
bahwa jika string yang diberikan kepada StrToInt tidak valid sebagai
representasi angka, seperti jika string berisi karakter non-angka, maka fungsi
ini akan menghasilkan error.
e. InttoStr.
IntToStr adalah sebuah fungsi yang digunakan untuk mengonversi nilai tipe data
integer ke dalam bentuk string. Fungsi ini akan mengambil nilai integer sebagai
input dan mengembalikan string yang merepresentasikan nilai integer tersebut.
Dalam Delphi, IntToStr adalah alat yang berguna untuk mengonversi nilai integer
ke dalam bentuk string.
f. StrtoFloat.
Dalam Delphi, StrToFloat adalah fungsi yang digunakan untuk mengonversi sebuah
string yang berisi representasi angka floating-point menjadi tipe data
floating-point, seperti Single atau Double. Jika string yang diberikan kepada
StrToFloat tidak valid sebagai representasi angka floating-point, maka fungsi
ini akan menghasilkan error.
g. InttoFloat.
IntToFloat adalah sebuah fungsi yang digunakan untuk mengonversi nilai tipe
data integer ke dalam bentuk Float. Fungsi ini akan mengambil nilai integer
sebagai input dan mengembalikan Float yang merepresentasikan nilai tersebut.
4. Langkah-langkah
percobaan.
a. Buat flowchart Program.
b. Coding yang digunakan pada percobaan
kali ini.
1) Coding tampilan awal.
unit
Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Winapi.ShellAPI;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R
*.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
begin
if
(Edit1.Text='ALIF') AND (Edit2.Text='18') then
begin
Shellexecute(Handle, 'open',
'D:\POLTEKAD\MATERI KULIAH\SEMESTER 3\PRAKTIK BAHASA PEMROGRAMAN\PERCOBAAN
KOM8\DIRBINDIKJAR\PERCOBAAN 4\Win32\Debug\Project1.exe', nil, nil,
SW_SHOWNORMAL);
label3.Visible:=true;
label4.Visible:=false;
end;
if
(Edit1.Text<>'ALIF') AND (Edit2.Text<>'18') then
begin
label4.Visible:=true;
end;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
Label3.Visible:=false;
Label4.Visible:=false;
Edit1.Text:='';
Edit2.Text:='';
end;
end.
2) Coding kalkulator
unit
Unit1;
interface
uses
Winapi.Windows, Winapi.Messages,
System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls, math, Vcl.ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Shape1: TShape;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R
*.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=A+B;
Edit3.Text:=
floattostr(C);
Label5.Caption:=
'+';
Label5.Visible:=
true;
end;
procedure
TForm1.Button2Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=A-B;
Edit3.Text:=
floattostr(C);
Label5.Caption:=
'-';
Label5.Visible:=
true;
end;
procedure
TForm1.Button3Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=A*B;
Edit3.Text:=
floattostr(C);
Label5.Caption:=
'x';
Label5.Visible:=
true;
end;
procedure
TForm1.Button4Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=A/B;
Edit3.Text:=floattostr(C);
Label5.Caption:=
':';
Label5.Visible:=
true;
end;
procedure
TForm1.Button5Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=power
(A,B);
Edit3.Text:=floattostr(C);
Label5.Caption:=
'^';
end;
procedure
TForm1.Button6Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=Power(A,
(1/B));
Edit3.Text:=floattostr(C);
Label5.Caption:=
'√';
Label5.Visible:=
true;
end;
procedure
TForm1.Button7Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=sin(B*pi/180);
Edit3.Text:=floattostr(C);
Label5.Caption:=
'sin';
Label5.Visible:=
true;
end;
procedure
TForm1.Button8Click(Sender: TObject);
VAR
A,B,C
: real;
begin
A:=strtofloat(Edit1.Text);
B:=strtofloat(Edit2.Text);
C:=cos(B*pi/180);
Edit3.Text:=floattostr(C);
Label5.Caption:=
'sin';
Label5.Visible:=
true;
end;
end.
5. Hasil
dan pembahasan.
a. Program yang sudah dibuat/Run Penjumlahan :
b. Program yang sudah dibuat/Run Pengurangan :
d. Program yang sudah dibuat/Run Pembagian :
e. Aplikasi penampil username dan password merupakan aplikasi yang dibuat untuk menampilkan tampilan untuk memasukkan username dan password untuk memulai suatu aplikasi. Aplikasi ini dibuat dengan menggunakan aplikasi Delphi. Aplikasi penampil ini terdiri dari beberapa komponen, yaitu label, tool edit, shape, dan button.
Setelah komponen-komponen tersebut disusun dan ditata,
masukkan coding yang telah dibuat. Pada percobaan kali ini, username yang
dibuat adalah “ALIF” dan password yang dibuat adalah 202308038-E. Apabila
diinput dengan username dan password yang benar maka ketika diklik button
“LOGIN” akan muncul pop up tampilan aplikasi penampil biodata seperti pada
Percbaan 1, namun apabila username dan password diisi selain username dan
password yang ditetapkan, maka akan muncul pop up “BUKAN BAMASIS KOM 8”. Untuk
mengganti karakter password dengan karakter lain dapat mengganti properties
pada PasswordChar. Pada Properti PasswordChar ganti karakter dengan menggunakan
(*) sehingga ketika password diinput tidak akan terlihat dan akan muncul ikon
(●) .
Setelah berhasil terdapat button “HAPUS” yang berguna untuk
menghapus username dan password serta menghilangkan pop up label “BETUL BAMASIS
KOM 8” atau “BUKAN BAMASIS KOM 8”.
Pada percobaan kali ini, percobaan yang sudah dilakukan dikombinasikan
dengan memunculkan aplikasi kalkulator yang mana ketika kita berhasil login dengan menggunakan username
dan pssword, maka yang akan muncul adalah pop up window kalkulator. Proses ini
menggunakan shellexecute yang sudah dipraktikan pada percobaan 3. Setelah
muncul kalkulator, masukan angka 1 dan 2 dan lakukan operasi hitung yang
diinginkan.
6. Kesimpulan.
Aplikasi penampil animasi ini dapat dibuat dengan aplikasi Delphi untuk membantu pengguna meningkatkan keamanan sebelum/masuk ke dalam suatu aplikasi. Aplikasi penampil username dan password ini sangat direkomendasikan untuk para pengguna sebelum memulai aplikasi atau masuk ke dalam suatu aplilkasi serta pengaksesan data rahasia.