Delphi 7 - Kondisi Percabangan (If Then Else)

Pada postingan sebelumnya saya telah menjelaskan bahasa pemrograman Visual Basic (VB) yaitu mengenai kondisi percabangan, perulangan dan database. Sekarang saya akan menjelaskan bahasa pemrogramaan yang mirip dengan Visual Basic yaitu bahasa pemrograman Delphi 7. Delphi adalah bahasa pemrograman yang menggunakan visualisasi seperti bahasa pemrograman Visual Basic (VB), namun Delphi menggunakan bahasa yang hampir sama dengan Pascal (Object Pascal). Kali ini saya akan membuat aplikasi dari Delphi yaitu program percabangan.
Berikut adalah desain tampilan programnya :


Pada desain form1 diatas terdapat 3 buah label yaitu Login, Username, dan Password. Selanjutnya, terdapat 2 buah Edit yang berfungsi sebagai tempat inputan user untuk mengetikan username dan password yang sesuai agar dapat login dan masuk ke form2, lalu yang terakhir ada 2 buah Button yaitu Login dan Cancel.



Pada desain form2 diatas terdapat 5 buah label yaitu Perhitungan Nilai, Nilai UTS, Nilai UAS, Nilai Anda, dan Grade. Selanjutnya terdapat 4 buah Edit dan 3 buah Button yaitu reset, hitung, dan exit. Berikut adalah kode program / sintaks yang terdapat pada program tersebut :

pada UNIT1 :


procedure TForm1.Button1Click(Sender: TObject);
begin
if (edit1.text = 'ivan') and (edit2.text = '123') then
begin
  Form1.Hide;
  Form2.Show;
  application.MessageBox('Selamat Datang','Welcome');
end
  Else If (Edit1.Text = '') And (Edit2.Text = '') Then
  begin
    application.MessageBox
    ('Masukkan Username Dan Password Anda','Warning');
  end
    Else If Edit1.Text = '' Then
    begin
      application.MessageBox
      ('Masukkan Username Anda','Warning');
    end
      Else If Edit2.Text = '' Then
      begin
        application.MessageBox
        ('Masukkan Password Anda','Warning');
      end
    Else
      label4.Caption := 'Maaf, Username dan Password Tidak Valid' ;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Application.Terminate;
end;

end.

Penjelasan sintaks : (UNIT 1)
1. Button1 (Login)

procedure TForm1.Button1Click(Sender: TObject);
begin
if (edit1.text = 'ivan') and (edit2.text = '123') then
begin
  Form1.Hide;
  Form2.Show;
  application.MessageBox('Selamat Datang','Welcome’);
end
  Else If (Edit1.Text = '') And (Edit2.Text = '') Then
  begin
    application.MessageBox
('Masukkan Username Dan Password Anda','Warning');
  end
    Else If Edit1.Text = '' Then
    begin
      application.MessageBox
('Masukkan Username Anda','Warning');
    end
      Else If Edit2.Text = '' Then
      begin
        application.MessageBox
('Masukkan Password Anda','Warning');
      end
    Else
      label4.Caption := 'Maaf, Username dan Password Tidak Valid' ;
end;

begin
karena delphi menggunakan bahasa yang mirip dengan pascal, maka untuk memulai suatu sintaks harus dimulai dengan begin.

Sintaks diatas adalah bentuk percabangan pada delphi
If (Edit1.Text = 'ivan') AND (Edit2.Text = '123') Then
berfungsi untuk menentukan kondisi percabangan If..Then..else yaitu jika pada Edit1 oleh user diketikan ‘ivan’ dan pada Edit2 diketikan ‘123’ maka akan menjalankan
begin
  Form1.Hide;
  Form2.Show;
  application.MessageBox('Selamat Datang','Warning');
end
yaitu menyembunyikan Form1 dan menampilkan Form2. Jika kedua kondisi diatas tidak dipenuhi maka program akan menjalankan kondisi else if dibawahnya
  Else If (Edit1.Text = '') And (Edit2.Text = '') Then
  begin
    application.MessageBox
('Masukkan Username Dan Password Anda','Warning');
  End
Kondisi diatas akan dijalankan jika user tidak mengisi pada bagian Edit1 dan Edit2, maka akan tampil pesan melalui MessageBox

    Else If Edit1.Text = '' Then
    begin
      application.MessageBox
('Masukkan Username Anda','Warning');
    End
Kondisi diatas akan dijalankan jika user tidak mengisi pada bagian Edit1 walaupun pada field Edit2 sudah terisi, maka akan tampil pesan melalui MessageBox
      Else If Edit2.Text = '' Then
      begin
        application.MessageBox
('Masukkan Password Anda','Warning');
      end
Kondisi diatas akan dijalankan jika user tidak mengisi pada bagian Edit2 walaupun pada field Edit1 sudah terisi, maka akan tampil pesan melalui MessageBox

jika semua kondisi else if tidak terpenuhi maka program akan menjalankan statement dibawah else
    Else
      label4.Caption := 'Maaf, Username dan Password Tidak Valid' ;
yaitu mencetak output pada  label4 yang berisi ‘Maaf, Username dan Password salah’.

Lalu yang terakhir ditutup dengan end; yang berfungsi mengakhiri sintaks pada bagian Button1 (Login)

2. Button2 (Cancel)

begin
Application.Terminate;
end;

Awal sintaks pada bagian Button2 diawali dengan begin dan dibawahya terdapat perintah Application.Terminate; yang berfungsi unutk menutup program dan diakhir ditutup dengan end; sebagai akhir dari sintaks pada bagian Button2 (Cancel).
Yang terakhir end. Berfungsi untuk menutup secara keseluruhan pada bagian Form1.

Untuk mengubah inputan yang keluar pada Edit2 (Password) menjadi symbol “*” pada bagian propertis Edit2 > PasswordChar diubah dengan “*”


Pada UNIT 2 :


procedure TForm2.Button1Click(Sender: TObject);
var
UTS,UAS,nilai : real;
Ket : String;

begin
  UTS := strToInt (Edit1.text);
  UAS := strToInt (Edit2.text);
  nilai := (UTS+UAS)/2;
  Edit3.text := floatToStr (nilai);

if (nilai >=75) and (nilai<=100) then
  begin
    Ket := 'Selamat! Anda LULUS' ;
  end
else
  begin
    Ket := 'Maaf, Anda Tidak Lulus' ;
  end;
Edit4.Text := ket;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit1.SetFocus;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
if application.MessageBox
('Yakin akan Keluar dari Program','Konfirmasi Ulang',MB_YesNo)=ID_Yes then
Application.Terminate;
end;

procedure TForm2.Edit1Change(Sender: TObject);
begin
Edit1.MaxLength := 2;
end;

procedure TForm2.Edit2Change(Sender: TObject);
begin
Edit2.MaxLength := 2;
end;

procedure TForm2.editAngkaKeyPress(Sender: TObject; var Key: Char);
begin
If Not (Key in['0'..'9',#8,#13]) Then
  Key:= #0;
end;

procedure TForm2.editnomerKeyPress(Sender: TObject; var Key: Char);
begin
If Not (Key in['0'..'9',#8,#13]) Then
  Key:= #0;
end;

end.

Penjelasan sintaks : (UNIT 2)
1. Button 1 (Hitung)

Pada bagian Unit2 yaitu untuk bagian Form2 dan Button1 (Hitung) terdapat sintaks :
var
UTS,UAS,nilai : real;
Ket : String;

Yang berfungsi untuk membuat serta mendeklarasikan variabel. Pada sintaks diatas dibuat variabel UTS, UAS, nilai dengan jenisnya sebagai real atau sebagai angka desimal dan Ket sebagai String atau jenisnya berupa kalimat atau kata. Untuk membuat dan mendeklarasikan jenis tipe data pada variabel harus di tulis diatas begin dan tidak perlu diawali dengan begin dan diakhiri end.

begin
  UTS := strToInt (Edit1.text);
  UAS := strToInt (Edit2.text);
  nilai := (UTS+UAS)/2;
  Edit3.text := floatToStr (nilai);

Lalu pada sintaks selanjutnya diwalai dengan begin untuk memulai suatu badan sintaks
UTS := strToInt (Edit1.text);
UAS := strToInt (Edit2.text);
berfungsi untuk mengubah data dari string menjadi integer dan ditampung didalam Edit1 dan Edit2.

nilai := (UTS+UAS)/2;
berfungsi untuk melalukan perhitungan nilai akhir yang didapat dengan menambahakan data UTS dan UAS dibagi dengan 2.

Edit3.text := floatToStr (nilai);
Berfungsi untuk mencetak output (nilai) pada Edit3 dengan mengubah data dari float menjadi string.

if (nilai >=75) and (nilai<=100) then
  begin
    Ket := 'Selamat! Anda LULUS' ;
  end
else
  begin
    Ket := 'Maaf, Anda Tidak Lulus' ;
  end;
Edit4.Text := ket;
end;

Didalam bagian Button1 (Hitung) juga terdapat kondisi percabangan If..then..else untuk menentukan lulus atau tidaknya melalui nilai yang diperoleh.

if (nilai >=75) and (nilai<=100) then berfungsi untuk memberi kondisi percabangan yaitu jika nilai lebih dari samadengan 75 dan kurang dari samadengan 100
  begin
    Ket := 'Selamat! Anda LULUS' ;
  end
maka pada variabel Ket akan tercetak kalimat 'Selamat! Anda LULUS'
else
  begin
    Ket := 'Maaf, Anda Tidak Lulus' ;
  end;
jika kedua kondisi tidak terpenuhi maka program akan melakukan statement dibawah else yaitu mencetak kalimat 'Maaf, Anda Tidak Lulus' pada variabel Ket.

Edit4.Text := ket;
Berfungsi untuk melakukan pencetakan nilai pada variabel ket pada Edit4

Lalu yang terakhir ditutup dengan end; yang berfungsi mengakhiri sintaks pada bagian Button1 (Hitung).

2. Lalu pada bagian Button2 (Reset) terdapat sintaks

begin
Berfungsi untuk memulai sintaks pada bagian Button2 (Reset)

Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Yang berfungsi untuk mengkosongkan field yang terdapat pada Edit1, Edit2, Edit3, dan Edit4

Edit1.SetFocus;
Berfungsi untuk menempatkan kursor pada Edit1 setelah user mengklik Button2 (Reset)

end;
yang berfungsi untuk mengakhiri sintaks yang terdapat pada Button2 (Reset)


3. Pada bagian Button3 (Exit) terdapat sintaks

begin
if application.MessageBox
('Yakin akan Keluar dari Program?','Konfirmasi Ulang',MB_YesNo)=ID_Yes then
Application.Terminate;
end;

Berfungsi untuk menampilkan sebuah MessageBox untuk meyakinkan kembali user apakah ingin benar keluar dari program atau tidak dengan kondisi percabangan if..then dan terdapat pilihan Yes atau No, Jika user mengklik ‘Yes’ maka statement dibawah then akan dijalankan yaitu Application.Terminate; Yang berfungsi untuk keluar dari jendela program. Tak lupa pada awal terdapat begin dan diakhir ditutup dengan end;


begin
Edit1.MaxLength := 2;
end;
Sintaks diatas diketikan pada bagian Edit1 (UTS) yang berfungsi untuk memberi batasan user dalam memasukan atau mengiput nilai yaitu hanya 2 digit angka.

begin
Edit2.MaxLength := 2;
end;
Sintaks diatas diketikan pada bagian Edit2 (UAS) yang berfungsi untuk memberi batasan user dalam memasukan atau mengiput nilai yaitu hanya 2 digit angka.

Berikut adalah tampilan Outputnya :





Saya kira sudah cukup jelas penjelasan mengenai program percabangan (If Then Else) pada Delphi, semoga postingan ini bermanfaat dan menambah pengetahuan bagi kita dalam memahami bahasa pemrograman Delphi. Untuk postingan selanjutnya saya akan menjelaskan tentang contoh program kondisi perulangan bahasa pemrograman Delphi.

Komentar

  1. menambah ilmu tentang pemrograman Delphi 7, thanks for the information. Please visit

    Visit us

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Delphi 7 - Database (Microsoft Access)

Visual Basic - Kondisi Perulangan (Do While..Loop)