Archive

Archive for the ‘contoh’ Category

Membuat laporan master detail sederhana

January 13, 2012 Comments off

Dalam pembuatan aplikasi database. Pembuatan laporan merupakan hal yang sering menjadi kendala terutama bagi pemula, karena beragamnya jenis laporan yang di inginkan.
kali ini kita akan mencoba membuat sebuah laporan sederhana,menggunakan konsep master detail.
dengan konsep ini didapatkan laporan yang teratur dalam menampilkan informasi karena data ditampilkan berkelompok berdasarkan header yang diinginkan. adapun contoh laporannya sebagai berikut :

dari contoh laporan di atas, terlihat bahwa ada hubungan master detail antara dua tabel yang dihubungkan dengan field tanggal.

Langkah-langkahnya sbb :

  1. tambahkan 2 komponen adoquery, sebuah datasource, 2 komponen DateTimePicker dan sebuah button pada form design.
  2. pada property connection string, isi sesuai dengan path database anda (disini kita gunakan database sample delphi 7)
  3. pada adoquery1 isi pada property sql sbb :
    select saledate from orders where saledate>=:a and saledate<=:b group by saledate
  4. pada adoquery2 isi pada property sql sbb :
    select * from orders where saledate=:saledate
  5. property dataset pada datasouce digunakan adoquery1
  6. property datasource pada adoquery2 diisi dengan datasource1
  7. tampilan form designnya kira-kira sebagai berikut.
  8. isikan kode program berikut pada button
    adoquery2.close;
    adoquery1.close;
    adoquery1.Parameters[0].Value:=datetostr(DateTimePicker1.Date);
    adoquery1.Parameters[1].Value:=datetostr(DateTimePicker2.Date);
    adoquery1.Open;
    ADOQuery2.Open;
    QuickRep1.PreviewModal;
  9. selesai..
  10. download source lengkapnya

—————-Selamat Mencoba—————-

Categories: contoh, Report

input Data

January 2, 2012 Comments off

kali ini kita akan membuat inputan data sederhana,dengan menggunakan komponen adotable.
untuk lebih jelasnya silakan bwt form seperti berikut :


tambahkan variable query : TADOQuery; pada variable global pada form1.

perintah pada :

procedure cek(sql:string);
begin
query:=TADOQuery.Create(nil);
query.ConnectionString:=form1.ADOTable1.ConnectionString;
query.SQL.Clear;
query.SQL.Add(sql);
query.Open;
end;

form create :

procedure TForm1.FormCreate(Sender: TObject);
begin

adotable1.ConnectionString:=’Provider=Microsoft.Jet.OLEDB.4.0;’+
‘Data   Source=’+ExtractFilePath(Application.ExeName)+’Penjualan.mdb;Persist Security Info=False';
adotable1.Open;

end;

button tambah :

procedure TForm1.tambahClick(Sender: TObject);
begin
adotable1.Append;
dbedit1.SetFocus;
end;

button simpan :

procedure TForm1.simpanClick(Sender: TObject);
var
a : integer;
begin

cek(‘select kodekaryawan from karyawan where               kodekaryawan=’+QuotedStr(dbedit1.Text));
if ADOTable1.State in [dsinsert] then
begin

if query.RecordCount > 0 then
begin
showmessage(‘Kode karyawan tersebut sudah digunakan’);
DBEdit1.SetFocus;
exit;
end;
for a:=0 to ComponentCount – 1 do
begin
if (Components[a] is TDBEdit) and (length(Tdbedit(Components[a]).Text) = 0) then
begin
showmessage(Components[a].Name+’ tidak boleh kosong ‘);
Tdbedit(Components[a]).SetFocus;
exit;
end;
end;
end;
ADOTable1.Post;
end;

Button batal :

procedure TForm1.batalClick(Sender: TObject);
begin
adotable1.Cancel;
end;

Button ubah :

procedure TForm1.ubahClick(Sender: TObject);
begin
adotable1.Edit;
end;

Button Hapus :

procedure TForm1.hapusClick(Sender: TObject);
begin
if MessageDlgPos(‘Yakin akan menghapus karyawan dengan kode ‘+adotable1[‘kodekaryawan’],mtConfirmation, mbOKCancel, 0, 300, 300) = 1 then
adotable1.Delete;

end;

button keluar :

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adotable1.Close;
end;

perintah pada adotable :

procedure TForm1.ADOTable1BeforeInsert(DataSet: TDataSet);
begin
tambah.Enabled:=false;  simpan.Enabled:=true;
ubah.Enabled:=false;  batal.Enabled:=true;
Hapus.Enabled:=false;  keluar.Enabled:=false;
if adotable1.State in [dsinsert] then
dbedit1.ReadOnly:=true
else
begin
dbedit1.ReadOnly:=false;
dbedit2.SetFocus;
end;
dbgrid1.Enabled:=false;
end;

procedure TForm1.ADOTable1AfterPost(DataSet: TDataSet);
begin
tambah.Enabled:=True;   simpan.Enabled:=false;
ubah.Enabled:=true;  batal.Enabled:=false;
Hapus.Enabled:=true;  keluar.Enabled:=true;
if adotable1.State in [dsinsert] then
dbedit1.ReadOnly:=true
else
dbedit1.ReadOnly:=false;
dbgrid1.Enabled:=true;
end;

Categories: contoh, input data Tags:

contoh pencarian data

January 2, 2012 Comments off

menampilkan kembali data,mungkin itu bahasa sederhananya.
dalam pencarian data ini menggunakan perintah select <Field> from <namatable> where <Field> like ‘%'<parameter>’%’.

untuk lebih jelasnya ikutin langkah berikut :

Letakan komponen adoquery,datasource,Dbgrid dan Radiogroup

klik pada komponen radiogroup, kemudian isi properties items sesuai dengan gambar berikut :

klik pada event edit1onchange dan ketikkan perintah berikut ini :


Download source code

Categories: Pencarian data Tags:

Contoh penggunaan perulangan while do

December 19, 2011 Comments off

Untuk melakukan perulangan pada Delphi dibutuhkan variable yang digunakan untuk perbandingan.

Pertama dibuat sebuah form dan ditambahkan sebuah edit tempat mengisi jumlah perulangan yang diinginkan dan sebuah memo tempat melihat hasil perulangan yang telah dieksekusi.

Pada form1 events oncreate isi kodingnya sbb :

procedure TForm1.FormCreate(Sender: TObject);

begin

edit1.Text:=’ ‘;

memo1.Lines.Clear;

end;

disini maksudnya untuk membersihkan nilai yang ada pada edit1 dan memo1 ketika form pertama kali dijalanan.

Kemudian doubleclick pada button1 dan isi seperti ini :

procedure TForm1.Button1Click(Sender: TObject);

var i,k:integer;

begin

k:=1;

i:=strtoint(edit1.Text);

while  k<=i do

        begin

        memo1.Lines.Add(inttostr(k));

        k:=k+1;

        end;

end;

maksud dari script di atas adalah :

var i,k:integer;                    // mendeklarasikan variabel i dan k yang nantinya akan dibandingkan

k:=1;                                       // memberi nilai k=1

i:=strtoint(edit1.Text); // nilai I diambil dari edit1.text yang kita berikan melalui form 1

while  k<=i do                  // selama nilai k lebih kecil atau sama dengan I maka akan dilakukan perulangan

  begin

     memo1.Lines.Add(inttostr(k));        // pada memo1 ditambahkan nilai yaitu variable k

     k:=k+1;                                                      //variabel k ditambah nilainya….

  end

 

ketika program dijalankan akan tampil sebagai berikut :

Listing program lebih lengkapnya adalah sebagai berikut :

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
edit1.Text:=”;
memo1.Lines.Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i , k : integer;
begin
k:=1;
i:=strtoint(edit1.Text);
while  k<=i do
begin
memo1.Lines.Add(inttostr(k));
k:=k+1;
end;
end;

end.

___________________Selamat_Mencoba___________________

Categories: While do Tags:

Kendali Program

December 17, 2011 Comments off

Pengendalian pada alur program, dengan menggunakan pernyataan percabangan memungkinkan program dibaca tidak harus dari atas, dapat dari baris lain.

Percabangan bersyarat :

Digunakan untuk memeriksa satu pernyataan (satu block pernyataan), yaitu bagian dari program yang fungsinya untuk melakukan pemilihan di mana proses pemilihan tersebut adalah memilih salah satu dari beberapa pilihan berdasarkan suatu kondisi atau kriteria.

Contoh perintah yang di gunakan untuk proses percabangan antara lain :

PEMILIHAN dengan IF THEN ELSE

Yaitu proses pemilihan yang sudah pasti, dalam arti pilihannya merupakan nilai yang sudah ditentukan.

aturan penulisan :

if <ekspresi> then

     <statement>

else

      <statement>

PEMILIHAN dengan CASE OF

aturan penulisan :

case <id> of
     case_1 : < statement>;

       case_2 : <statement>;

       else         <statement>;

end

PENGULANGAN dengan FOR DO

Perintah For Do adalah perintah yang digunakan untuk melakukan proses pengulangan yang jumlah pengulangannya sudah pasti, karena dalam perintah For Do, nilai awal dan nilai akhirnya telah ditentukan.

Aturan penulisan :

For <var> := <start>  To <stop> Do

begin

          <statement>

end

PENGULANGAN dengan WHILE DO dan REPEAT UNTIL

perintah While Do dan Repeat Until, jumlah pengulangan yang dilakukan tidak terbatas, karena dalam perintah tersebut, pengulangan akan terhenti jika memenuhi suatu kondisi tertentu.

aturan penulisan :

while do :

WHILE <boolean_ekspresi> Do

begin

             <statement>;

end

repeat until

Repeat

            <statement>

Until <boolean_ekspresi>

implementasi  “while do,For Do dan repeat until “  pada program  aplikasi :

sebelumnya tambahkan empat button dan satu listbox pada form, ubah properties caption pada masing-masing button seperti pada gambar ini :

pada masing-masing button,ketikkan coding berikut :
button For To do

procedure TForm1.Button2Click(Sender: TObject);
var
        a : integer;
begin
        for a:=0 to 5 do
        begin
                  listbox1.Items.Add(inttostr(a));
         end;
end;

button While Do

procedure TForm1.Button1Click(Sender: TObject);
var
      a : integer;
begin
      a:=0; 
      while a < 5 do
      begin
                listbox1.Items.Add(inttostr(a));
               a:=a+1;
       end;
end;

button Repeat Until

procedure TForm1.Button3Click(Sender: TObject);
var
         a : integer;
begin
         a:=0;
         repeat
                  listbox1.Items.Add(inttostr(a));
                  inc(a);
         until a >= 5

end;

button Clear

procedure TForm1.Button4Click(Sender: TObject);
begin
          listbox1.Clear;
end;

kemudian jalankan program :

____________Selamat Mencoba__________

Categories: Delphi, Kendali Program