Modul_Pemrograman_Delphi

Document Sample
Modul_Pemrograman_Delphi Powered By Docstoc
					                                                                                     1


BAB I
Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat
program / aplikasi komputer berbasis windows. Delphi merupakan bahasa
pemograman berbasis objek, artinya semua komponen yang ada merupakan objek-
objek. Ciri sebuah objek adalah memiliki nama, properti dan method/procedure.
Delphi disebut juga visual programming artinya komponen-komponen yang ada tidak
hanya berupa teks (yang sebenarnya program kecil) tetapi muncul berupa gambar-
gambar.
1.1. Membuat Sebuah Form
Saat anda pertama kali masuk ke Delphi, anda akan diperhadapkan pada sebuah form
kosong yang akan dibuat secara otomatis. Form tersebut diberi nama Form1. Form ini
merupakan tempat bekerja untuk membuat antarmuka pengguna.




1.2. Mengganti Nama Form dan Menambahkan Judul
Biasakan sebelum menjalankan program, sebaiknya ganti nama form dan beri judul
sesuai program yang kita buat. Delphi akan secara otomatis memberi nama form1,
form2, form3, dst. Nama form tersebut kurang mengandung arti dan akan
menyulitkan bila form yang dibuat cukup banyak. Saat membuka Delphi pertama kali,
nampak sebuah jendela Object Inspector. Jika tidak muncul pilih menu View | Object
Inspector atau tekan tombol F11. Pada Object Inspector ada dua buah halaman (tab)
yaitu Properties dan Events. Properties digunakan untuk mengganti properti



Pemrograman II (Delphi 07)                                   By: Dadang Priyanto, M.Kom
                                                                                                    2

(kepemilikan) sebuah objek/komponen. Sedangkan Events digunakan untuk membuat
procedure yang diaktifkan (trigered) lewat sebuah event.




Semua properti diurutkan berdasarkan alpabetik, dan dapat juga diurutkan
berdasarkan kategori. Gantilah judul form dengan Hello melalui properti Caption,
sedangkan nama form dengan nama frmHello melalui properti Name. Caption
digunakan untuk menyimpan keterangan yang dimunculkan pada form, sedangkan
Name digunakan sebagai Nama dari objek tersebut.


       Isi dari properti Name harus diawali alpabet dan tidak menggunakan spasi atau tanda baca


Anda sekarang sudah membuat aplikasi form kosong dengan tombol standar window :
Minimize, Maximize, dan Close. Anda dapat mengubah ukuran form dengan menarik
pada bingkai form menggunakan mouse (drag=klik tombol kiri mouse, tahan tombol


Pemrograman II (Delphi 07)                                                  By: Dadang Priyanto, M.Kom
                                                                                            3

tersebut lalu geser ke kiri/kanan atau atas/bawah). Anda dapat memindahkan form
dengan meletakkan kursor pada form kemudian
menggesernya (drag).



1.3. Menyimpan Form
Pada Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).
1) *.dpr adalah file proyek yang dibuat berisi program kecil untuk :
           • mendefinisikan Unit yang ada dalam file proyek
           • menginisialisasi data
           • membangun form
           • menjalankan aplikasi
2) *.pas adalah unit-unit (pascal code file), bisa terdiri satu atau banyak file
3) *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satu atau
banyak file
Pilih submenu Save Project atau Save Project As pada menu File, dan Delphi akan
menanyakan nama file source code untuk unit (*.pas) dan nama file proyeknya (*.dpr).


1.4. Forms, Dialog Boxes, Messages
Menampilkan Form atau Window
 Anda dapat bekerja dengan beberapa form pada sebuah project.                      Saat anda
 berada di Form1 untuk menampilkan form yang lain misal Form2 sbb :
 Form2.Show;
 Membuka (Shows) Form2 (tetapi user diijinkan untuk dapat mengklik Form1)
 Form2.ShowModal;
 Membuka (Shows) Form2 (tetapi user TIDAK DIIJINKAN                 mengklik Form1)
Atau menggunakan :           <NamaForm>. Visible := True; (Non aktif False)


Menampilkan Pesan (Message)
 ShowMessage('Ini kotak pesan);
 Tampilan sederhana sebuah baris/teks; User dapat menekan tombol OK untuk
 keluar dari kotak pesan
 (message window).
Pemrograman II (Delphi 07)                                          By: Dadang Priyanto, M.Kom
                                                                                                              4


 MessageDlg('Msg',mtConfirmation,[mbYes],0);
        Mirip ShowMessage tapi dapat lebih dari satu tombol pilihan.
 if MessageDlg('Please say YES or NO',mtConfirmation,[mbYes,mbNo],0)=mrYES
 then
 begin
    Label1.Text:='Tekan tombol YES';
 end;

 TMsgDlgType = mtWarning, mtError, mtInformation, mtConfirmation, mtCustom


 TMsgDlgBtn
 =    mbYes,      mbNo,      mbOK,      mbCancel,       mbAbort,    mbRetry,   mbIgnore,     mbAll,   mbHelp


 Return values
 =      mrNone,    mrYes,       mrNo,      mrOk,        mrCancel,        mrAbort,    mrRetry,     mrIgnore,
 m
 rAll



 Meminta Masukan (Input Box)
 InputBox(...);
    var
     InputString: string;
   begin
     InputString:= InputBox('Masukkan Nama', 'Please Enter your Name','');
   end;


 3.      PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN
Pada beberapa kasus terkadang kita menginginkan komputer melakukan suatu aksi tertentu bila
suatu kondisi terpenuhi. Keberadaan perintah bersyarat pada suatu program memberikan
pencabangan proses seperti ditunjukkan oleh Error! Not a valid link.. Bahasa Pascal
menyediakan dua cara penyajian perintah bersyarat, yaitu If…Then…Else dan Case…of.




                                            Kondisi-1              Kondisi-2


                                              Aksi-1           Aksi-2



                                     Gambar 3.1 Pencabangan pada program


 Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian :
 Pemilihan 1 pilihan/kasus. Gunakan perintah IF – THEN
 Pemilihan 2 pilihan/kasus. Gunakan perintah IF – THEN – ELSE
 Pemilihan N pilihan/kasus.          Gunakan Case – of (Catatan sebenarnya dapat menggunakan if—
 then – else bersarang)

 3.1. IF … THEN           : Pemilihan 1 kasus
 Perintah bersyarat If – then        digunakan hanya melakukan 1 aksi bila          kondisi dipenuhi. Bentuk
Pemrograman II (Delphi 07)                                                          By: Dadang Priyanto, M.Kom
                                                                                                   5

 sintaks dari perintah bersyarat ini adalah:
            If <kondisi_pencabangan> then
              Begin
                    ... {aksi-1}
              end;


 3.2. IF … THEN … ELSE : Pemilihan 2 kasus
 Perintah bersyarat If umumnya digunakan untuk melakukan pencabangan sederhana (antara 2 atau
 3 cabang). Atau untuk pencabangan yang banyak, dimana kondisi yang menjadi
 prasyaratnya melibatkan lebih dari satu parameter. Bentuk sintaks dari perintah bersyarat ini adalah:


            If <kondisi_pencabangan> then
              Begin
                    ... {aksi-1}
              end
            else
              Begin
                    ... {aksi-2}
              end;


 3.3. IF … THEN … ELSE : Pemilihan N kasus
            If <kondisi_pencabangan1> then
              Begin
                    ... {aksi-1}
              end
            else
                  If <kondisi_pencabangan2> then
              Begin
                    ... {aksi-2}
              end
              else
              Begin
                    ... {aksi-3}
              End;




 3.4.     CASE … OF …           : Pemilihan N kasus
 Perintah bersyarat Case umumnya digunakan untuk kondisi dengan banyak pencabangan.
Pemrograman II (Delphi 07)                                                 By: Dadang Priyanto, M.Kom
                                                                                               6

 Syarat pencabangan pada bentuk ini hanya boleh melibatkan satu buah parameter dengan tipe
 data bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi
 samadengan (=). Dengan demikian bila parameter bernilai tertentu maka dilakukan suatu aksi
 terkait, bila bernilai lain maka dilakukan aksi yang lain juga, demikian seterusnya.

            Case <Parameter> Of
              <nilai_1>   :   <aksi_1> ;
              <nilai_2>   :   <aksi_2> ;
              ...
              <nilai_n>   :   <aksi_n> ;
              Else        <aksi_n+1> ;
            End;




 4.     STRUKTUR PENGULANGAN

 Dalam menyelesaikan masalah, terkadang kita harus melaku suatu proses yang
 sama lebih dari satu kali. Untuk itu perlu dibuat suatu algoritma pengulangan.
 Pascal memberikan tiga alternatif pengulangan, yaitu dengan For, While, atau
 Repeat. Masing-masing memiliki karakteristik, yang akan dipelajari pada modul
 ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan,
 yaitu:
               Inisialisasi awal.

               Nilai akhir pengulangan atau kondisi berhenti.



 4.1. FOR – TO - DO
 Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan
 dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam suatu
 range tertentu. Sintaks untuk perintah ini adalah:

              For <variable_kendali> := <nilai_awal> to <nilai_akhir> do

              Begin

                  …       {aksi}

              End ;

 atau

              For <variable_kendali> := <nilai_awal> downto <nilai_akhir> do

              Begin

                  … {aksi}

              End ;
 Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to:

Pemrograman II (Delphi 07)                                             By: Dadang Priyanto, M.Kom
                                                                                           7

 nilai awal lebih kecil dari nilai akhir, sedangkan pada downto nilai awal lebih
 besar dari nilai akhir. Perlu diingat, bahwa variable kendali harus dideklarasikan
 dengan tipe data integer.

 Contoh program pengulangan menggunakan For-to-do
 procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
 var I : integer;
 begin
    lbxHasil.Items.Clear;
    For I := 1 to 5 do
    Begin
        lbxHasil.Items.Add(inttoStr(i));
    End;


         Hasilnya adalah : 1, 2, 3, 4, 5

 Contoh program yang sama jika tanpa perintah pengulangan
 procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
 begin
    lbxHasil.Items.Clear;


        lbxHasil.Items.Add(inttoStr(1));
        lbxHasil.Items.Add(inttoStr(2));
        lbxHasil.Items.Add(inttoStr(3));
        lbxHasil.Items.Add(inttoStr(4));
        lbxHasil.Items.Add(inttoStr(5));
    End;


         Hasilnya adalah : 1, 2, 3, 4, 5


 4.2.       WHILE - DO

 Pada metoda pengulangan ini aksi hanya akan diproses bila kondisi pengulangan
 terpenuhi, bentuk sintaks dari pengulangan ini adalah:

              While <kondisi_ pengulangan> do

              Begin

                  …      {aksi}

              End ;

 Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan, dan baru
 akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi
 pengulangan diperiksa pada bagian awal, maka ada kemungkinan aksi tidak pernah
 dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.



 Contoh program pengulangan menggunakan While-do
 procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                                                 8


 var I : integer;
 begin
    lbxHasil.Items.Clear;


    I := 1;
    While I<=5 DO
    Begin
         lbxHasil.Items.Add(inttoStr(i));
         I := I + 1;
    End;
 End;


 4.3. REPEAT - UNTIL

Metoda pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan
kondisi pengulangan. Hanya saja natur dari pengulangan ini adalah sistem seakan-
akan memaksa untuk melakukan pengulangan, sampai di ketahui adanya kondisi
berhenti. Bentuk sintaks dari pengulangan ini adalah:

                Repeat

                    …        {aksi}

                Until <kondisi_ berhenti>

Berlawanan          dengan            While,   yang   akan   memproses     aksi     hanya      bila
kondisi_pengulangan bernilai true, pada pengulangan Repeat, sistem akan
memproses aksi selama kondisi_berhenti bernilai false. Dengan demikian aksi pasti
akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi
terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah
bernilai true.


 Contoh program pengulangan menggunakan Repeat- Until
 procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
 var I : integer;
 begin
    lbxHasil.Items.Clear;


    I := 1;
    Repeat
         lbxHasil.Items.Add(inttoStr(i));
         I := I + 1;
    Until I > 5;
 End;



Latihan;

Pemrograman II (Delphi 07)                                               By: Dadang Priyanto, M.Kom
                                                                                    9


Modul 1 : diharapkan mahasiswa bisa mengenal, komponen-komponen Delphi, dan
belajar mulai dari dasar, bagaimana mengetikkan kode program dalam sebuah latihan
sederhana.
Buat form dengan tampilan dan ketentuan sebagai berikut :


       No     Nama Komponen      Nama Properties       Keterangan
       1      Button1            Tampil                TAMPILKAN
       2      Button2            Keluar                KELUAR
       3      Edit               Dittampilan           Kosongkan
       4      Label              Label1                Program
                                                       Menampilkan
                                                       Kalimat




Ketikkan kode program sebagai berikut : dengan cara Klik dua kali pada tombol
TAMPILKAN, kemudian ketik prosedur dibawah ini :
     procedure Ttampilkal.tampilClick(Sender: TObject);
     begin
     EDITTAMPILAN.TEXT:='MARI BELAJAR DELPHI YOO... DELPHI
     NGGAK SUSAH KOK';
     end;
Pada tombol Keluar, klik dua kali, kemudain ketikkan kode program dibawah ini:
      procedure Ttampilkal.keluarClick(Sender: TObject);
      begin
      CLOSE;
      end;

       end.

Sesudah disimpan, jalankan program dengan menekan tombol F9 atau pilih menu Run
| Run.
Modul 2 : diharapkan mahasiswa dapat membuat tombol-tombol, menampilkan text
kedalam komponen edit, menghapus text, dan membuat label.
Pemrograman II (Delphi 07)                                  By: Dadang Priyanto, M.Kom
                                                                                 10

a)
         No     Nama Komponen    Nama Properties     Keterangan
         1      Button1          tTekan              TAMPILKAN
         2      Button2          tHapus              HAPUS
         3      Button3          tSelesai            SELESAI
         4      Edit1            EditMasukan         Kosongkan
         5      Label1           Label1              Program Input Data
         6      Label2           Label2              Masukkan
         7      Edit2            editTampilan        Kosongkan

Buat rancangan Form sebagai berikut:




Pada tombol TAMPILKAN Klik dua kali dan ketikkan kode berikut :
        procedure TForm1.TtekanClick(Sender: TObject);
        begin
        edittampilan.text:=editmasukan.Text;
        end;
Pada tombol HAPUS Klik dua kali dan ketikkan kode berikut :
        procedure TForm1.thapusClick(Sender: TObject);
        begin
        edittampilan.text:='';
        editmasukan.Text:='';
        end;
Pada tombol SELESAI Klik dua kali dan ketikkan kode berikut :
        procedure TForm1.tselesaiClick(Sender: TObject);
        begin
        application.Terminate;
        end;
        end.

b). Mahasiswa diharapkan bisa mengembangkan dari contoh latihan a), menjadi
bentuk lain.
Pemrograman II (Delphi 07)                                By: Dadang Priyanto, M.Kom
                                                                                    11



Soal : Kembangkan dari contoh a) diatas menjadi, program untuk input text, dan
ditampilkan kedalam komponen label. (input menggunakan komponen EDIT,
Keluarannya kedalam komponen LABEL).

Tampilannya menjadi seperti berikut :
                                                      Komponen Label




Modul 3 :

Modul 3 ini, merupakan latihan untuk menghitung deret bilangan, diharapkan
mahasiswa dapat menerapkan type-type data di Delphi, serta bisa melakukan konversi
nilai dari satu type data ke type data lain.


Buat form baru dengan disain seperti di bawah ini, kemudian ketikkan kode program,
pada fungsi tombol hitung.




Pemrograman II (Delphi 07)                                   By: Dadang Priyanto, M.Kom
                                                                                    12




Kode Programnya adalah :
unit mod_3;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
  Label1: TLabel;
  Editn: TEdit;
  Lderet: TLabel;
  Button1: TButton;
  Button2: TButton;
  Lhasil: TLabel;
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;

Pemrograman II (Delphi 07)                                   By: Dadang Priyanto, M.Kom
                                                                         13

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,n,j : integer;
    hasil,deret:string;
begin
  j:= 0;
  n:= Strtoint (editn.Text);
    for i := 1 to n do
     begin
      j:=j+1;
       {menmpilkan hitung deret}
       deret := deret + Inttostr(i)+' + ' ;
       hasil := hasil + Inttostr (j)+' ';
end;
 Lderet.caption := deret;
 Lhasil.caption := hasil;
 end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.




Pemrograman II (Delphi 07)                        By: Dadang Priyanto, M.Kom
                                                                                  14


Soal :

         Dari contoh modul 3 diatas, kembangkan menjadi bentuk lain sehingga
program bisa untuk menjumlahkan hasil Deret Bilangan. Bentuk tampilanya menjadi
seperti berikut :




Pemrograman II (Delphi 07)                                 By: Dadang Priyanto, M.Kom
                                                                                  15


Modul 4 :
Modul 4 ini untuk mengenalkan pada mahasiswa bagaimana untuk konversi type data,
dan operasi perkalian dan penjumlahan.




Tuliskan prosedur di tombol Tambah dan Kali (dengan cara klik 2 x pada tombol
tersebut) sebagai berikut :

procedure TForm1.Button1Click(Sender: TObject);
var
 x,y,z : integer;
begin
 x:= StrtoInt (Edit1.Text);
 y:= StrtoInt (Edit2.Text);
 z:= x+y;
 Edit3.Text := IntToStr (z);
 z:= x*y;
 Edit4.Text := IntToStr (z);
end;
Tuliskan pada tombol Keluar sebagai berikut :
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.




Pemrograman II (Delphi 07)                                 By: Dadang Priyanto, M.Kom
                                                                                       16


Soal :

         Dari contoh modul 4 diatas, kembangkan programnya sehingga menjadi
sebuah kalkulator sederhana, ada operasi Penjumlahan, Perkalian, Pengurangan, dan
Pembagian.


Catatan : Buat tombol Penjumlahan, Perkalian, Pengurangan, dan Pembagian.
Sebagai tombol sendiri-sendiri. Dekalrasikan nilai X, Y, Z sebagai deklarasi Global.


Sehingga tampilan programnya seperti berikut :




Pemrograman II (Delphi 07)                                      By: Dadang Priyanto, M.Kom
                                                                                          17


Modul 5 :
Modul 5 ini, bertujuan mengenalkan pada mahasiswa untuk menggunakan statemen
IF-THEN-ELSE ( Penyeleksian/Kondisi). Program dibawah untuk melakukan
konversi nialai mata uang, dari dolar ke rupiah atau sebaliknya.




unit mod4;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, jpeg;
type
 TForm1 = class(TForm)
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   niluang: TEdit;
   nilaitukar: TEdit;
   Edithasil: TEdit;
   RadioGroup1: TRadioGroup;
   RdRpKeDolar: TRadioButton;
   RdDolarkeRP: TRadioButton;
   Button1: TButton;
Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                            18

  Button2: TButton;
  Image1: TImage;
  Image2: TImage;
  Image3: TImage;
  Image4: TImage;
  Image5: TImage;
  Image6: TImage;
  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);
var nilai : integer;
  nilTukar : Integer;
  HasilNilaiTukar : Real;
begin
   Nilai := StrToInt (NilUang.Text);
   NilTukar:= StrToInt(NilaiTukar.Text);
   If RdRpkeDolar.Checked then
     HasilNilaiTukar := Nilai/NilTukar
   Else If RdDolarkeRp.Checked then
          HasilNilaiTukar := Nilai*NilTukar;
     EditHasil.Text := FloatToStr(HasilNilaiTukar)
end;

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

end.




Pemrograman II (Delphi 07)                           By: Dadang Priyanto, M.Kom
                                                                                  19


Soal :

         Dari contoh modul 5 diatas, kembangkan programnya sehingga menjadi
program konversi mata uang dari rupiah ke Dolar AS, Dolar Australia, dan Ringgit
Malaysia.


Catatan : Dolar AS rumus diubah menjadi pembagian 9.200,-, Doalar Australia
7.500,-, Ringgit Malaysia 5.000,-
Sehingga tampilan programnya seperti berikut :




Pemrograman II (Delphi 07)                                 By: Dadang Priyanto, M.Kom
                                                                            20


Modul 6 :
Modul ini mengenalkan pada mahasiswa untuk menggunakan statemen
IF – then – else dan Case – of, serta penggunaan komponen Radio Button,
menampilkan form lain. Program ini akan menentukan pilihan jenis kelamin
dan pilihan agama yang dianut.
Buat form seperti tampak dibawah ini : beri nama form “Formmasukandata”,
gunakan radiobutton untuk membuat penentuan jenis kelamin, dan pemilihan
agama




Buat form baru dan beri nama “Formtampilkan”




Pemrograman II (Delphi 07)                           By: Dadang Priyanto, M.Kom
                                                                                          21


Ketikkan Kode Program seperti berikut ini :
unit mod5;


interface


uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls;


type
 TFormmasukandata = class(TForm)
  Label1: TLabel;
  Label2: TLabel;
  Edit1: TEdit;
  Edit2: TEdit;
  Button1: TButton;
  Button2: TButton;
  RadioGroupagama: TRadioGroup;
  RadioGroup1: TRadioGroup;
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;


var
 Formmasukandata: TFormmasukandata;


implementation


uses tampilkan;




{$R *.dfm}


procedure TFormmasukandata.Button1Click(Sender: TObject);
begin
formtampilkan.Editnama.Text:=edit1.Text;
Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                                   22

formtampilkan.Editalamat.Text:=edit2.Text;


if FormMasukanData.RadioGroup1.ItemIndex = 0 then
  FormTampilkan.Editkelamin.Text := 'Pria'
Else
  FormTampilkan.Editkelamin.Text := 'Wanita';


Case RadioGroupAgama.ItemIndex of
 0: formTampilkan.editAgama.Text := 'Islam';
 1: FormTampilkan.editAgama.Text := 'Kristen';
 2: formTampilkan.editAgama.Text := 'Khatolik';
 3: FormTampilkan.editAgama.Text := 'Hindu';
else
 formTampilkan.editAgama.Text := 'Budha';
end;
 FormMasukanData.Visible := false;
 FormTampilkan.Visible := True;
end;
procedure TFormmasukandata.Button2Click(Sender: TObject);
begin
close;
end;


end.




Pemrograman II (Delphi 07)                                  By: Dadang Priyanto, M.Kom
                                                                                     23


MODUL 7 :                    Aplikasi Rumah Makan Fast Food




Pemrograman II (Delphi 07)                                    By: Dadang Priyanto, M.Kom
                                                                                      24


                 Component Pallete                         Objek Inspectpr
Tab                 Nama Object                   Properties      Keterangan
                    Panel1                        Caption         Kosongi
                    Panel2                        Caption         Kosongi
                    Edit1                         Name            EdNo Transaksi
                    Button1                       Name            BtBaru
                                                  Caption         &baru
    Standard          Button2                     Name            btBatal
                                                  Caption         &batal
                      Button3                     Name            BtKeluar
                                                  Caption         &Keluar
                      Button4                     Name            BtHitung
                                                  Caption         &Hitung
                      Static Text1                Name            StTanggal
                                                  Autosize        FALSE
                                                  borderStyle     sbsSunken
                      Static Text6                Name            Stpajak
   Additional                                     Autosize        FALSE
                                                  borderStyle     sbsSunken
                      Static Text7                Name            Sttotal
                                                  Autosize        FALSE
                                                  borderStyle     sbsSunken
                                      Buat 2      Name            OcMenu
                      PageControl1    Halaman     Hottrack        TRUE
      Win32                                       Style           tsButtons
                                      TabSheet1   Caption         Paket hemat
                                      TabSheet2   Caption         Menu Biasa
                      Panel3                      Caption         Kosongi
                                                  Name            RgPaket
                                                  Caption         JenisPaket
    Standar
                      RadioGroup                  Items           Paket A
                                                                  Paket B
                                                                  Paket C
                      Statictext2                 Name            StMakanan1
                                                  AutoSize        FALSE
                                                  BorderStyle     sbsSunken
                      Statictext3                 Name            StMakanan2
                                                  Autosize        FALSE
                                                  BorderStyle     sbsSunken
   Additional
                      Statictext4                 Name            StMinimum
                                                  Autosize        FALSE
                                                  BorderStyle     sbsSunken
                      Statictext5                 Name            StHargaPaket
                                                  Autosize        FALSE
                                                  BorderStyle     sbsSunken
                      Objek dibawah
                      ini untuk
                      Tabsheet2
Pemrograman II (Delphi 07)                                     By: Dadang Priyanto, M.Kom
                                                                         25


                      Panel4        Caption          Kosongi
                      ComboBox1     Name             CmbMakanan
                                    Items            Nasi
                                                     Kentang
                                                     Sayap Ayam
                                                     Paha Ayam
                                                     Dada Ayam
                                                     Burger Keju
                                                     Burger Ayam
                      ComboBox1     Name             CmbMinuman
                                    Items            Teh Kotak
    Standard
                                                     Teh Botol
                                                     Kopi
                                                     Kopi Susu
                                                     Softdrink
                                                     Cappucino
                                                     Es Buah
                      ListBox1      Name             Lst Daftar
                      ListBox2      Name             LstHarga
                      Button5       Name             BtHapus
                                    Caption          Hapus Dari Daftar
                      StaticText8   Name             StBayarBiasa
   Additional                       AutoSize         FALSE
                                    BorderStyle      sbsSunken




Pemrograman II (Delphi 07)                        By: Dadang Priyanto, M.Kom
                                                                                          26


Kode Program untuk masing-masing fungsi tombol :
Untuk menuluskan kode program pada masing-masing fungsi tombol dengan cara klik
2 kali pada disain tombol atau menu, kemudian tuliskan kode programnya dibawah ini.
Ctt : usahakan penamaan menu/tombol sama dengan nama prosedurnya.


unit restoran;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
   Panel1: TPanel;
   btbaru: TButton;
   Button2: TButton;
   Button4: TButton;
   bthitung: TButton;
   Panel2: TPanel;
   Label1: TLabel;
   Label2: TLabel;
   EdnoTransaksi: TEdit;
   Sttanggal: TStaticText;
   ocmenu: TPageControl;
   Panel3: TPanel;
   Label3: TLabel;
   Label4: TLabel;
   Stpajak: TStaticText;
   Sttotal: TStaticText;
   TabSheet1: TTabSheet;
   TabSheet2: TTabSheet;
   Label5: TLabel;
   Label6: TLabel;
   Cmbmakanan: TComboBox;
   Cmbminuman: TComboBox;
   Label7: TLabel;
   Label8: TLabel;
   Label9: TLabel;
   Label10: TLabel;
   Label11: TLabel;
   lstdaftar: TListBox;
   Lstharga: TListBox;
   bthapusdaftar: TButton;
   Sttbayarbiasa: TStaticText;
   rgpaket: TRadioGroup;
   Panel4: TPanel;
   Label12: TLabel;
   Label13: TLabel;
   Label14: TLabel;
   Label15: TLabel;
   Stmkn1: TStaticText;
   Stmkn2: TStaticText;
   stminuman: TStaticText;
   Sthrgpaket: TStaticText;
   Bevel1: TBevel;
   Bevel2: TBevel;
Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                                          27

  procedure Button2Click(Sender: TObject);
  procedure btbaruClick(Sender: TObject);
  procedure bthapusdaftarClick(Sender: TObject);
  procedure CmbmakananChange(Sender: TObject);
  procedure lstdaftarClick(Sender: TObject);
  procedure LsthargaClick(Sender: TObject);
  procedure CmbminumanChange(Sender: TObject);
  procedure Button4Click(Sender: TObject);
  procedure rgpaketClick(Sender: TObject);
  procedure bthitungClick(Sender: TObject);
  procedure hitungbayarbiasa;
  procedure ocmenuChange(Sender: TObject);
  procedure FormCreate(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;

var
 Form1: TForm1;
 i,n:integer;
 jbaru:boolean;
implementation
{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
if application.MessageBox('Yakin Mau Keluar??','Konfirmasi',MB_iconquestion or
MB_YesNo)=idYes Then
halt
else
exit;
end;

procedure TForm1.btbaruClick(Sender: TObject);
begin
 Jbaru:=True;
 btbaru.enabled:=False;
 EdnoTransaksi.Enabled:=true;
 EdnoTransaksi.Color:=clwindow;
 sttanggal.caption:=Datetostr(date);
 rgpaket.enabled:=true;
 cmbMakanan.enabled:=true;
 cmbminuman.enabled:=true;
 cmbMakanan.color:=clwindow;
 cmbminuman.color:=clwindow;
 lstdaftar.enabled:=true;
 Lstharga.enabled:=true;
 lstdaftar.color:=clwindow;
 lstharga.color:=clwindow;
 bthapusdaftar.enabled:=true;
 bthitung.enabled:=true;
 ednotransaksi.setfocus;
end;

procedure TForm1.bthapusdaftarClick(Sender: TObject);
var hargaM, TotHarga, hasil:real;
z:integer;
begin
Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                             28

 z:=lstharga.ItemIndex;
 hargaM:=strtofloat(lstharga.Items[z]);
 totharga:=strtofloat(sttbayarbiasa.caption);
 hasil:=totharga-hargaM;
 sttbayarbiasa.caption:=floattostr(hasil);
 lstdaftar.deleteselected;
 lstharga.deleteselected;
end;

procedure TForm1.CmbmakananChange(Sender: TObject);
var x :integer;
begin
 x:=cmbmakanan.ItemIndex;
 lstdaftar.Items.Add(cmbmakanan.Items.Strings[x]);
 case x of
 0:lstharga.Items.Append('1000');
 1:lstharga.Items.Append('700');
 2:lstharga.Items.Append('900');
 3:lstharga.Items.Append('2500');
 4:lstharga.Items.Append('3000');
 5:lstharga.Items.Append('1500');
 6:lstharga.Items.Append('1000');
 else
 exit;
 end;
  hitungbayarbiasa;
end;

procedure TForm1.lstdaftarClick(Sender: TObject);
begin
 lstharga.ItemIndex:=lstdaftar.ItemIndex;
end;

procedure TForm1.LsthargaClick(Sender: TObject);
begin
  lstdaftar.ItemIndex:=lstharga.ItemIndex;
end;

procedure TForm1.CmbminumanChange(Sender: TObject);
var y :integer;
begin
 y:=cmbminuman.ItemIndex;
 lstdaftar.Items.Add(cmbminuman.Items.Strings[y]);
 case y of
 0:lstharga.Items.Append('700');
 1:lstharga.Items.Append('700');
 2:lstharga.Items.Append('500');
 3:lstharga.Items.Append('1000');
 4:lstharga.Items.Append('1500');
 5:lstharga.Items.Append('800');
 6:lstharga.Items.Append('700');
 else
 exit;
 end;
  hitungbayarbiasa;
 end;
procedure TForm1.Button4Click(Sender: TObject);
begin
  jbaru:=false;
  btbaru.Enabled:=true;
Pemrograman II (Delphi 07)                            By: Dadang Priyanto, M.Kom
                                                                             29

 ednotransaksi.Text:='';
 ednotransaksi.Enabled:=false;
 ednotransaksi.Color:=clbtnface;
 sttanggal.Caption:='';
 rgpaket.Enabled:=false;
 stmkn1.Caption:='';
 stmkn2.Caption:='';
 stminuman.Caption:='';
 sthrgpaket.caption:='';
 cmbmakanan.Text:='';
 cmbminuman.Text:='';
 cmbmakanan.Enabled:=false;
 cmbminuman.Enabled:=false;
 cmbmakanan.color:=clbtnface;
 cmbminuman.Color:=clbtnface;
 lstdaftar.clear;
 lstharga.Clear;
 lstdaftar.Enabled:=false;
 lstharga.Enabled:=false;
 lstdaftar.Color:=clbtnface;
 lstharga.Color:=clbtnface;
 sttbayarbiasa.caption:='';
 bthapusdaftar.Enabled:=false;
 bthitung.Enabled:=false;
 stpajak.caption:='';
 sttotal.caption:='';
end;

procedure TForm1.hitungbayarbiasa;
var harga,jbayar:real;
begin
 jbayar:=0;
 harga:=0;
   for i:=0 to (lstharga.Items.Count-1) do
    begin
      harga:=strtofloat(lstharga.Items.Strings[i]);
      jbayar:=jbayar+harga;
end;
  sttbayarbiasa.caption:=floattostr(jbayar);
end;
procedure TForm1.rgpaketClick(Sender: TObject);
var makanan1, makanan2,minuman:string;
hargaP:string;
begin
 case rgpaket.ItemIndex of
 0:begin
    makanan1:='2 kentang goreng';
    makanan2:='sayap ayam, paha ayam';
    minuman:='softDrink';
    hargap:='4500';
    end;
 1:begin
    makanan1:='nasi, kentang goreng';
    makanan2:='2 paha ayam';
    minuman:='softDrink';
    hargap:='5500';
    end
 else
 begin
    makanan1:='burger ayam';
Pemrograman II (Delphi 07)                            By: Dadang Priyanto, M.Kom
                                                                                            30

    makanan2:='kentang goreng';
    minuman:='es teh';
    hargap:='5000';
    end;
end;
stmkn1.caption:=makanan1;
stmkn2.caption:=makanan2;
stminuman.Caption:=minuman;
sthrgpaket.caption:=hargaP;
stpajak.caption:='';
sttotal.caption:='';
end;
procedure TForm1.bthitungClick(Sender: TObject);
var tbayar,pajak,total:real;
begin
 case ocmenu.activepageindex of
 0:tbayar:=strtofloat(sthrgpaket.caption);
 1:tbayar:=strtofloat(sttbayarbiasa.caption);
end;
 pajak:=(5/100)*tbayar;
 total:=tbayar + pajak;
 stpajak.caption:=floattostr(pajak);
 sttotal.caption:=floattostr(total);
 end;

procedure TForm1.ocmenuChange(Sender: TObject);
begin
if jbaru=true then
  begin
    if application.MessageBox('anda mau membatalkan
transaksi...','konfirmasi',Mb_iconquestion or mb_yesNo)=idyes then
    begin
      stpajak.caption:='';
      sttotal.Caption:='';
      case ocmenu.ActivePageIndex of
      0: begin
        cmbmakanan.Text:='';
        cmbminuman.Text:='';
        lstdaftar.clear;
        lstharga.clear;
        sttbayarbiasa.caption:='';
        end;
      1:begin
        stmkn1.Caption:='';
        stmkn2.Caption:='';
        stminuman.caption:='';
        sthrgpaket.Caption:='';
        end;
        end;
      end
      else
     exit;
    end;
  end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  jbaru:=false;
end;
end.

Pemrograman II (Delphi 07)                                           By: Dadang Priyanto, M.Kom
                                                                                      31


BAB 2
                              Dasar Database Delphi

Suatu database terdiri beberapa object, diantaranya tabel, view, domain, stored
procedure, dan triger. Obyek-obyek database menyimpan semua informasi mengenai
struktur database dan data.
Istilah-istilah dalam Database diantaranya :
Entitas Adalah suatu objek, yang mana data akan disimpan, diorganisasikan dan
dimanipulasi. Segala informasi, yang ingin kita ketahui adalah Entitas, misalnya
orang, tempat, atau benda. Contoh suatu Entitas misalnya Pelanggan Toko dan data
Inventori Toko.
Attribut Informasi atau data tunggal berkenaan terhadap suatu Entitas. Bila kita
menganggap Inventori Toko sebagai suatu Entitas, maka Keterangan Produk, Harga
Produk, dan Ketersediaan (Stok) Produk adalah Atribut .
Setiap entitas Direpresentasikan sebagai suatu Tabel. Suatu tabel berisi field-field
(kolom-kolom) yang saling berhubungan (field adalah bagian atau potongan
informasi). Contoh: Dalam Tabel Inventori akan berisi field-field (kolom-kolom)
seperti Kode Produk, Keterangan Produk, Ketersediaan Produk, Harga Produk, dan
lain-lain..
Setiap atribut Direpresentasikan sebagai suatu field (kolom). kumpulan dari atribut-
atribut yang saling berhubungan adalah record (baris). Suatu DBMS (Database
Management System) merupakan perantara pemakai dengan database dalam media
penyimpan (storage). contoh DBMS : Interbase, MS SQL Server, MySQL, Oracle,
Access, Paradox dan PostGreSQL. Sebagian besar DBMS digunakan untuk mengolah
database relational sehingga sering disebut sebagai RDBMS.
Tabel Database
Database relational menyimpan semua datanya dalam tabel-tabel. Tabel adalah
sebuah struktur data yang terdiri dari kumpulan baris dan kolom.
Contoh sebuah tabel database :




Pemrograman II (Delphi 07)                                     By: Dadang Priyanto, M.Kom
                                                                                                  32


KOMPONEN DATABASE
Dalam pengembangan aplikasi database Delphi diperlukan 3 kelompok komponen
utama, yaitu DATA SET, DATASOURCE, dan DATA-CONTROL. Ketiga
komponen ini saling berkaitan satu sama lainnya.




     Data Set                                                              Data-Control
   (Data-access)                        Data-Source                        (Data-aware)


         Table Query                  Data-Source                     DBNavigator, DBGrid,
         StorageProc.                                                  DBEdit, DBText, dll



                                      Non Visual                           Visual




Komponen Data Access adalah komponen non visual yang secara langsung
berhubungan dengan database (file secara fisik). Komponen                      data access hanya
melakukan akses dengan database, seperti membuka tabel. menutup tabel.
membeuat record baru, menghapus record, membaca record. mengubah record, dan
sebagainya.

Komponen Data Access

          Komponen                                      Keguanaan
   TDAtaSource               Sebagai penghubung antara data access component dengan data-
                             aware visual control.
   Ttable                    Sebagai data source yang mengakses record dari Tabel
   Tquery                    Sebagai data source yang mengakses record dari tabel berdasarkan
                             perintah SQL query.
   TstoredProc               Bertindak sebagai Datasource yang mengakses record berdasarkan
                             perintah store procedure untuk database server.
   Tdatabase                 Menciptakan client sever connection dengan sebuah database dalam
                             sebuah session session.
   Dll                       Dll




Pemrograman II (Delphi 07)                                                 By: Dadang Priyanto, M.Kom
                                                                                                  33


KOMPONEN DATA CONTROL

Adalah komponen visual yang juga merupakan komponen data-aware atau disebut
juga visual controls. Dengan komponen ini kita dapat menysusun tampilan untuk
pemakai. Misalnya menampilkan record, menampilkan image, dll.

Komponen Data control

         Komponen                                          Kegunaan
   TDBGrid                        Display dan edit dataset seperti dengan format Tabular.
   TDBNavigator                   Mengontrol kursor (posisi) record seperti Previous
                                  Record, Next Record. First record dll.
   TDBText                        Display sebuah field sebagai sebuah Tabel
   TDBEdit                        Display dan Edit sebuah field dalam edit box.
   TDBImage                       Display dan edit sebuah field image atau binary blok
                                  data.
   TDBListBox                     Display sejumlah pilihan untuk mengisi sebuah field.
   TDBRadioGroup.                 Display sejumlah pilihan dalam bentuk radio button
                                  group.



KOMPONEN DATA SET

Yang termasuk dalam komponen Tdataset adalah Ttable, Tquery, dan TstoredProc.
Setiap      Dataset          berhubungan    dengan      sebuah     komponen         DataSource,
sedangkan sebuah DataSource akan berhubungan langsung dengan komponen data
control. Daftar state Dataset

           Value                 State                           Penjelasan
        Dslnactive              Inactive     DataSet tertutup, sehingga data tidak dapat di
                                             access.
         dsBrowse               Browse       Dataset terbuka, data dapat diview, tetapi tidak
                                             dapat diubah. Kondisi ini adalah kondisi
                                             pertama kali Dataset dibuka
           dsEdit                 Edit       Dataset terbuka dan record Dapat diubah.
Pemrograman II (Delphi 07)                                                 By: Dadang Priyanto, M.Kom
                                                                                           34

          dslnsert            Insert     Dataset terbuka dan siap menerima sebuah
                                         record yang baru.
         dsSetKey             SetKey     Hanya berlaku untuk Ttable. Data set terbuka
       dsCalcFields          CalcField   Dataset terbuka. State ini menyatakan bahwa
                                         event OnCalcFields     sedang berlangsung untuk
                                         menghindari    perubahan pada field yang tidak
                                         dihitung.
          dsFilter             Filter    Dataset terbuka Menyatatakan proses filter sedang
                                         berlangsung, dalam state ini dataset hanya dapat
                                         diview




Pemrograman II (Delphi 07)                                          By: Dadang Priyanto, M.Kom
                                                                                    35


                                   Tabel Penjualan

  Kode Barang                Merek Monitor   Jumlah Unit   Nilai Penjualan
      M1                       samsung           13        Rp1.560.000,00
      M2                          LG              2        Rp600.000,00
      M4                         Sony            10        Rp5.000.000,00
      M2                          LG              5        Rp1.500.000,00
      M6                       Polytron          3         Rp600.000,00
      M5                         Akari           6         Rp600.000,00

DATABASE DESKTOP
         Database Desktop (DBD) adalah software yang disertakan bersama dengan
Delphi yang dapat digunakan untuk membuat database, biasanya standalone. Format
database yang banyak dibuat oleh DBD adalah Paradox, dan dBase, format Paradox
lebih disukai oleh programmer. Di dalam Delphi, database (berisi tabel-tabel) yang
dibuat dengan Database Desktop, diakses melalui borland Database Engine (BDE),
komponen khusus yang bertanggung jawab terhadap koneksi database.
MENJALANKAN DATABASE DESKTOP
    1. Klik menu Start Windows
    2. Pilih Programs, pilih Borland Delphi 7
    3. Klik Database Desktop.




MEMBUAT TABEL
Pemrograman II (Delphi 07)                                   By: Dadang Priyanto, M.Kom
                                                                                          36

         Setelah DBD dijalankan maka kita bisa langsung            membuat tabel, yaitu
dengan cara :
    1. Klik Menu File, pilih New, Pilih Table.
    2. Setelah muncul tampilan berukut, pilih driver database yang diinginkan. Untuk
         latihan pilih Paradox, dan klik OK.




    3. Setelah muncul kotak dialog Create Paradox 7 Table, berarti kita siap
         merancang struktur tabel.




- Field Name = Nama field
- Type            = Tipe data field
- Size            = Ukuran berdasarkan tipe data
- Key             = Apakah field ini dijadikan kunci atau tidak.




Untuk latihan buat tabel berikut :

Pemrograman II (Delphi 07)                                         By: Dadang Priyanto, M.Kom
                                                                                            37


               Field                      Tipe Data                       Ukuran
 KD_Barang                                     A                             5
 NM_Barang                                     A                             15
 Harga                                         N                             8
 Jumlah                                        N                             8
Ctt. Untuk berpindah dari pengisian yang satu dengan yang lainnya gunakan tombol TAB


    4. Simpan Tabel dengan menekan tombol Save.


MEMBUAT ALIAS
    1. Klik menu tools | Alias Manager..
    2. Tampilan jendela Alias Manager seperti berikut ini :




    3. Klik New
    4. Pada Kotak Database alias beri nama database alias. Misal Dbku1.
    5. Tentukan jenis dirver database pada kotak isian Driver type. Misal
         STANDARD.
    6. Pada bagian Path isikan nama direktori dimana tabel-tabel database anda
         disimpan. Misal D:\Delphi\Data. Atau gunakan tombol BROWSE...
    7. Klik OK jika konfigurasi alias telah selesai.


Pemrograman II (Delphi 07)                                           By: Dadang Priyanto, M.Kom
                                                                                      38

    8. Jendela Public Alias Have Change ditampilkan, Klik YES, agar konfigurasi
         alias anda akan segera disimpan ke dalam konfigurasi BDE.


MEMASUKKAN DATA.
Setelah membuat struktur database, sekarang saatnya memasukkan data, yaitu dengan
cara :
    1. Buka Tabel dengan mengklik menu FILE | OPEN | TABEL..
    2. Jendela Open Tabel




    3. Pada bagian alias pilih alias yang digunakan untuk menampung tabel yang
         telah dibuat.
    4. setelah Tabel ditampilkan klik open.
    5. untuk memasukkan data pilih toolbar EDIT DATA.




Pemrograman II (Delphi 07)                                     By: Dadang Priyanto, M.Kom
                                                                                             39


                             BEKERJA DENGAN TABEL
Buat Aplikasi baru dengan cara :
Pilih menu File | New Application
    1. Klik Tab BDE (Borland Database Engine). Tempatkan sebuah komponen
         Table pada form. (secara otomatis akan diberi nama Table1.
    2. Klik Tab DataAccess dan Tempatkan sebuah komponen DataSource. (secara
         otomatis akan diberi nama DataSource1.
    3. Klik Tab DataControls dan Tempatkan komponen DBGrid pada form.
    4. Klik Tab DataControls dan Tempatkan komponen DBNavigator
    5. Klik Tab DataControls dan Tempatkan DBEdit.
    6. Tempatkan 3 buah tombol di Form, dan ganti captionnya dengan berturut-turut
         dengan Buka Tabel, Tutup Tabel, dan Keluar Form.
    7. Program ini kalau dijalankan belum ada isinya, oleh sebab itu lanjutkan
         langkah-langkah berikut :
    8. klik Table1, pada object inspector ubah property DatabaseName dengan
         Database DBDEMOS
    9. Klik Table Name dan isi dengan table BIOLIFE.Db (pada langkah ini berarti
         kita telah mengaktifkan table yang ada di database alias).
    10. Klik Datasource1, pada object Inspector ubah property Dataset dengan Table1.
    11. Klik DBNavigator, pada object Inspector ubahlah property DataSource dengan
         DataSource1.
    12. Klik DBEdit, ubah property DataSource dengan DataSource1, property
         DataField diisi dengan NamaField yang akan dimunculkan, missal “Nama”.
    13. Klik ganda pada tombol Buka Tabel, isi dengan prosedur berikut ini :
                                Begin
                                        Table1.Open;
                            End;
    14. Klik ganda pada tombol Tutup Tabel dan isi dengan prosedur berikut:
                            Begin
                                   Tabel1.Close;
                            End;
    15. Klik ganda pada tombol Keluar Form dan isi dengan prosedur berikut ini:
                            Begin
                                   Close;
                            End;
        Jalankan Program dengan menekan tombol F9


Pemrograman II (Delphi 07)                                            By: Dadang Priyanto, M.Kom
                                                                                   40


                                      MEMBUAT MENU

    1. BAGAIMANA MEMBUAT MENU POP-UP ?
    2. BAGAIMANA MEMBUAT FORM ISIAN YANG MENGANDUNG
       KOMPONEN COMBOBOX, TEDIT DLL ?
    3. BAGAIMANA MEMBUAT TABEL DATA BASE ? DAN MERELASIKAN
       DENGAN FIELD ISIAN FORM ?
    4. PROSEDUR PENYIMPANAN.
    5. PROSEDUR PENGOSONGAN Tedit.
    6. PROSEDUR KELUAR DARI FORM DAN APLIKASI.
    7. PENGHAPUSAN RECORD
    8. PENCARIAN RECORD

    LATIHAN
    BUAT MENU POP-UP SEPERTI BERIKUT :




    CARA MEMBUAT
    1. Pada Komponen Standard pilih icon MAIN MENU, dan letakkan pada
       form rancangan anda.
    2. untuk membuat menu pilihan ; klik 2 x pada icon MAIN MENU
    3. ketikkan judul menu dan sub menu dibawahnya.
    4. untuk membuat sub menu pada menu yang ada ; klik kanan mouse
       anda dan pilih create sub menu. Lakukan untuk hal yang sama
       membuat sub-sub menu berikutnya.
    5. Jalankan dan lihat hasilnya dengan menekan tombol F9.
    6. tambahkan dengan prosedur dibawah ini pada form anda;
    7.    var
    8.     y:longint;
    9.     rect:trect;
    10.   begin
    11.    rect.Left := 0;
    12.    rect.Right:= width;
    13.    for y:= 0 to 255 do
    14.    begin
    15.      canvas.Brush.Color :=tcolor(rgb (50,150,y));
    16.      rect.top := y * height div 256;
    17.      rect.bottom := (y + 1) * height div 256;
    18.      canvas.fillrect(rect);
    19.   end;
    20.     end;
    21.   end.

    Jalankan dan lihat hasilnya.

Pemrograman II (Delphi 07)                                  By: Dadang Priyanto, M.Kom
                                                                                41


    BUAT FORM DENGAN TAMPILAN SEBGAI BERIKUT ;




    CARA MEMBUAT
    1. Pilih komponen standar, dan klik icon Tedit, dan atur sesuai kemauan.
    2. untuk menampilkan tanggal sistem, pilih komponen Win32 dan pilih
       ikon DateTime Picker.
    3. Untuk membuat combobox pilih komponen standar dan klik
       ComboBox.
    4. pada properti Item isikan data sesuai kebutuhan.
    5. pada sorted, pilih True.
    6. buat tombol Simpan dan Keluar.
    7. Pada tombol simpan beri kode program sebagi berikut;
    8.    table1.insert;
    9.    table1['nodaf']:= edit1.text;
    10.   table1['nama']:= edit2.text;
    11.   table1['alamat']:= edit3.text;
    12.   table1['tml']:= edit7.text;
    13.   table1['tgl']:= edit6.text;
    14.   table1['agama']:= COMBOBOX1.TEXT;
    15.   table1['aslsma']:= edit9.text;
    16.   table1['jursma']:= edit10.TEXT;
    17.   table1['nosttb']:= edit12.text;
    18.   table1['thSTTB']:= COMBOBOX2.TEXT;
    19.   table1['NILSTTB']:= edit13.text;
    20.   table1['piljur']:= COMBOBOX3.TEXT;
    21.
    22.   table1.post;
    23.
    24.   EDIT1.Text:='';
    25.   EDIT2.Text:='';
    26.   EDIT3.Text:='';
    27.   {EDIT4.Text:=''; }
    28.   EDIT6.Text:='';
    29.   EDIT7.Text:='' ;
    30.   EDIT12.Text:='' ;
    31.   EDIT13.Text:='' ;
Pemrograman II (Delphi 07)                               By: Dadang Priyanto, M.Kom
                                                                                        42

    32.   COMBOBOX1.TEXT:='';
    33.   COMBOBOX2.TEXT:='' ;
    34.   COMBOBOX3.TEXT:='' ;
    35.   TABLE1.REFRESH;
    36.   end;

    Untuk mencoban jalankan program dengan menekan tombol F9
    37. pada tombol keluar berikan prosedur sebgai berikut :
    38. var i:integer;
    39. begin
    40. i:=messagedlg('anda yakin akan keluar form ini ??..!',
    41.       mtconfirmation, [mbyes]+ [mbcancel],0);
    42.       if i = 6 then daf.close;




Pemrograman II (Delphi 07)                                       By: Dadang Priyanto, M.Kom
                                                                                       43


BAB 3
             MEMBUAT LAPORAN DENGAN RAVE REPORT
Report Authoring Visual Environment (RAVE), merupakan aplikasi pembuatan
laporan secara visual. Komponen-komponen yang digunakan tergabung dalam Rave
Component Palette.
Cara membuat laporan dengan RAVE report :
    1. Jalankan Delphi untuk membuat sebuah aplikasi database.
    2. Buat database alias dengan nama “Stok” dan table barang dengan struktur
         sebagai berikut :
             Nama Filed          Lebar              Type Data
               KD_BRG              4                    N
              NM_BRG               15                   A
                Jumlah             5                    N
                 Harga             6                    N
                 Total             6                    N


    3. Letakkan sebuah komponen table, DBGrid di atas form. Komponen ini hanya
         untuk menampilkan data pada aplikasi Delphi.
    4. Klik control Table1, pilih Stok pada property DataBaseName, Barang.db
         untuk property TableName dan True untuk property Active.
    5. Hubungkan control Datasource1 ke Table1 melalui property Dataset,
         hubungkan pula control DBGrid1 ke DataSource1 melalui property
         DataSource.
    6. Letakkan sebuah komponen TRvDataSetConnection1 ke atas form dan akan
         otomatis bernama RvDataSetConnection1. Pada property DataSet pilih
         komponen DataSet yang digunakan, dalam hal ini adalah Table1.
    7. Letakkan sebuah komponen TRvProject ke atas form, otomatis bernama
         RvProject1.
    8. Klik dua kali control RvProject1 untuk menjalankan tool Rave Visual
         Designer.
    9. Pada jendela Rave Visual Designer, pilih menu File | New Data Object untuk
         membuka jendela DataConnections. Pilih Direct Data View dan klik tombol

Pemrograman II (Delphi 07)                                      By: Dadang Priyanto, M.Kom
                                                                                       44

         Next. Pada kotak Active klik tombol Finish. Langkah-langkah ini dilakukan
         untuk membangun sebuah DataView yang selanjutnya digunakan untuk
         menampilkan data pada table barang.db dalam bentuk Report.




                             Gambar : Jendela Rave Report
    10. Perhatikan tampilan jendela Rave Report diatas, sebelah kanan menunjukkan
         RaveProject,; yaitu mempunayai 2 cabang Report Library dan Data View
         Dictionary. Report Library berisi nama-nama report yang terdapat dalam suatu
         proyek. Kita bisa mengganti nama report ini, (defaultnya Report1). Yang
         kedua DataView, yaitu berisi data-data yang mewakili filed yang terdapat pada

Pemrograman II (Delphi 07)                                      By: Dadang Priyanto, M.Kom
                                                                                        45

         table Barang.db. Field-field ini yang akan ditampilkan pada laporan. Kita bisa
         melakukan perubahan pada field ini.
    11. Pada posisi sebelah kiri jendela Rave Report merupakan property-properti
         yang dapat diatur seperti pada saat kita mendisain form. Secara fungsi sama
         dengan property Object Inspector.
    12. Langkah selanjutnya adalah membuat laporan; cara yang paling mudah dengan
         memanfaatkan fasilitas Wizard. Yaitu pilih menu TOOLS | Report Wizards |
         Simple Table. Kita dapat memilih Tools | Report Wizards | Master/Detail
         Report untuk membuat report dari data yang tersimpan pada lebih satu table.
    13. Pada Jendela Simple Table, pilih DataView yang akan digunakan, DataView1.
         Klik tombol Next.
    14. Pilih semua field yang dimunculkan dengan meng-klik tombol All. Kemudian
         klik tombol Next.
    15. Atur urutan field-field yang akan ditampilkan pada laporan. Klik tombol Next.
    16. Atur Layout tampilan report mencakup judul report dan batas kertas (Margin).
         Klik Next.
    17. Anda dapat mengtaur jenis huruf dan ukurannya. Kemudian Klik Generate.
    18. Maka jadilah tampilan laporan yang dibuat dengan Aplikasi RAVE REPORT.
         Tampilan laporan tersebut masih kurang bagus, harus diatur kembali posisinya
         supaya mendapatkan tampilan laporan sesuai yang diinginkan.


MENCETAK LAPORAN

Untuk mencetak laporan dapat dilakukan dengan cara :
    1. Tekan tombol F9, atau Pilih menu File | Execute Report.
    2. Tentukan tujuan keluarannya, apakah cetak ke Printer, Preview, atau File.
    3. Klik tombol OK.




Pemrograman II (Delphi 07)                                       By: Dadang Priyanto, M.Kom
                                                                                    46




MENAMPILKAN LAPORAN
Laporan yang sudah dibuat sebelumnya dapat ditampilkan melalui desain form kita.
Yaitu dengan cara memberikan perintah :
                       RvProject1.ExecuteReport(‘Nama Laporan’);
Contoh :
    1. Buat tombol button pada disain form anda, dan beri Caption “Tampil
         Laporan”.
    2. Berikan komponen RvProject pada form anda.
    3. Pada control RvProject1, pada property ProjectFile Klik tanda … dan cari
         nama file report yang akan ditangani.
    4. Berikan           statemen   pada   tombol       “Tampil      Laporan”         :
         RvProject1.ExecuteReport(‘ LaporanBarang’);
    5. Jalankan, tekan F9.




Pemrograman II (Delphi 07)                                   By: Dadang Priyanto, M.Kom
                                                                                        47


            MEMBUAT LAPORAN DENGAN QUICK REPORT

Membuat Laporan Berdasar Nama Per Group

Gunakan database DBDEMOS, dan table gunakan VENDORS.DB.
Contoh berikut akan mencetak daftar nama seperti contoh sebelumnya, tetapi akan
dikelompokkan berdasarkan huruf pertama nama tersebut. Setiap kali terjadi
perubahan maka sebuah band (QRGroup) akan dicetak yang berisi huruf awal daftar
nama selanjutnya.
Langkah pembuatan laporan :
    1. Buat komponen Quick Report yang baru. Pilih menu File | New, lanjutkan
         dengan memilih Report, dan klik OK. Delphi akan membuat sebuah report
         yang diberi nama Quick Report1.
    2. Ubah property Name Quick Report1 menjadi qrvendorbygroup.
    3. Tempatkan sebuah komponen Query. Ubah property databasename dengan
         DBDEMOS dan ganti property Name menjadi quvendor. Setelah itu ubahlah
         property SQL seperti berikut ini :          SELECT * FROM VENDORS
                                       ORDER BY VENDORNAME
    4.
          (Digunakan perintah ORDER untuk membuat group)
    5. aktifkan query dengan mengubah property active menjadi True.
    6. untuk memberitahu Qreport bahwa Dataset yang akan digunakan adalah
         quVendor, kliklah report. Pada object Inspector ubah property Dataset menjadi
         quVendor.
    7. pada object Isnpector, klik ganda property Bands sehingga muncul property
         band lainnya. Isi True untuk band Hasdetail dan HasPageHeader.
    8. tempatkan sebuah komponen QRGroup (tidak dapat dilakukan melalui Obejct
         Inspector). Secara otomatis band ini akan diletakkan diatas band Detail yang
         disebut juga sebagai band Group Header.
    9. tempatkan sebuah QRLabel pada band PageHeader. Ubah property Capiton
         menjadi List of Vendor by Group. Ubah ukuran font menjadi 16 dan style
         menjadi bold. Atur posisi label sehingga berada ditengah-tengah.




Pemrograman II (Delphi 07)                                       By: Dadang Priyanto, M.Kom
                                                                                        48

    10. tempatkan sebuah komponen QRDBText pada band Group Header. Ubah
         Property Dataset menjadi quVendor dan property DataField menjadi
         vendorNo.
    11. tempatkan pula tiga buah komponen QRDBText di band Group Header dan
         ubah semua property Dataset menjadi quVendor. Sedangkan property
         DataField secara berturut-turut diubah menjadi VendorName, Address dan
         City. Sekarang kita telah membuat sebuah report dan hamper jadi. Untuk
         melihat hasilnya klik kananan mouse dan pilih Preview. Kemudian lanjutkan
         dengan langkah berikut :
    12. beri judul pada masing-masing kolom, tempatkan empat buah komponen
         QRLabel (bukan QRDBText) tepat di atas masing-masing kolom di band
         Group Header. Ubah property Caption secara berurutan yakni Vendor No,
         Vendor Name, Address dan City.
    13. untuk memberi garis bawah Group Header band pada property Frame ubahlah
         DrawBottom menjadi True.
    14. untuk membuat group, klik band Group. Band ini memiliki sebuah property
         dengan Expression. Fungsi dari rumus ini untuk memeriksa terjadinya
         perubahan group dari record saat itu denan record sebelumnya.
    15. Untuk membuat rumus, klik ganda pada property tersebut sehingga muncul
         kotak dialog Expression Builder. Untuk membuat rumus lakukan langkah
         berikut :
              •   Pilih rumus COPY dari kotak Available Box. Fungsi akan tampil diatas
                  kotak parameter dan terlihat COPY (Expr)
              •   Untuk mengisi parameter VendorName, Klik field vendorName di
                  Field Box. Lanjutkan dengan mengklik tombol ADD yang berada
                  dikotak DataField lalu klik tombol OK. Sekarang hasilnya menjadi
                  COPY (quVendor. VendorName, <Expr>)
              •   Untuk menambah parameter 1 (satu), isi Edit Box Constant dengan 1.
                  klik tombol ADD yang ada di Constant Box, kemudian klik tombol
                  OK. Sekarang hasilnya menjadi COPY (quVendor.VendorName,
                  1,<Expr>.




Pemrograman II (Delphi 07)                                       By: Dadang Priyanto, M.Kom
                                                                                        49


              •   Untuk menambah parameter 1 (satu), isi Edit Box Constant dengan 1.
                  klik tombol ADD yang ada di Constant Box. Kemudian klik tombol
                  OK. Sekarang hasilnya menjadi Copy (quVendor.VendorName, 1,1).
              •   Selesailah membuat rumus untuk memeriksa perubahan record pada
                  band Group Header. Klik tombol OK. Untuk melihat hasilnya pilih
                  Preview.


    16. agar laporan dapat dipilih pada saat dijalankan kembalilah pada Forkm1. ubah
         event Onklik tombol buVendorByGroup dengan prosedur berikut :
                  begin
                             qrVendorbyGroup.Preview;
                  end;
    17. letakkan sebuah komponen QRLabel, pada band Group Header ubah property
         Name menjadi lbHurufPertama.
    18. Ubah property font milik Group Header ini dengan style bold. Jika dijalankan
         di Group Header masih menampilkan QRLabel5.
    19. untuk mengisi property caption komponen lbhurufPertama, lakukan pada
         event OnBeforePrint band Group Header. Klik bandGroup Header, pada
         Object Inspector klik ganda event On-BeforePrint, kemudian ubah procedur
         seperti berikut :
                  var printBand : Boolean;
                  begin
                             lbhurufpertama.Caption := Copy (quVendor[`VendorName`],
                  1,1);
                  end;
         Event ini juga bisa untuk melakukan perhitungan yang lain.
    20. Jalankan dengan menekan tombol F9.




Pemrograman II (Delphi 07)                                       By: Dadang Priyanto, M.Kom

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:240
posted:7/22/2012
language:Indonesian
pages:49