Kamis, 28 Maret 2013

Delphi Tugas 1


Soal
  1. 1.       Buat 1 form master yang digunkan untuk mengolah data pelanggan. Berikut nama tabel dan field-fieldnya.

Nama Tabel  = Pelanggan
Primary Key   = kd_pelanggan

  • Buka localhost di browser
  • Buat tabel pelanggan


  • Buat DNS untuk menghubungkan delphi dengan database MYSQL.


    • Buka Control Panel , Administrative Tools, Data Sources (ODBC) , user dns ,  







KOMPONEN-KOMPONEN

Komponen
Propertis
Nilai
FROM
CAPTION
MUHAMMAD IQBAL
LABEL

NAMA
LBL1
CAPTION
PEELANGGAN
NAMA
LBL2
CAPTION
KODE PELANGGAN
NAMA
LBL3
CAPTION
XXXX
NAMA
LBL4
CAPTION
NAMA
NAMA
LBL5
CAPTION
ALAMAT
NAMA
LBL6
CAPTION
NO HP
NAMA
LBL7
CAPTION
CARI DATA BERDASARKAN


BUTTON
NAMA
BTN1
CAPTION
SIMPAN
NAMA
BTN2
CAPTION
UBAH
NAMA
BTN3
CAPTION
HAPUS
NAMA
BTN4
CAPTION
KELUAR
NAMA
BTN5
CAPTION
CARI
NAMA
BTN6
CAPTION
BATAL
EDIT


NAMA
EDT1 (UNTUK NAMA)
NAMA
EDT2 (UNTUK  NO HP)
NAMA
EDT3 (UNTUK  CARI)
*BGRID
NAMA
DBGRD1
COMBOBOX
NAMA
ITEMS
CBB1
NAMA
KODE PELANGGAN
MEMO
NAMA
MMO1


Buat data modul



Komponen
Propertis
Nilai
DATA MODUL
CAPTION
NAMA
DM
DM
ADO KONEKSION
NAMA
CON1
ADO QUERY
NAMA
QRY1
ADO QUERY
NAMA
QRY2
DATA SOURCE
NAMA
DS1


 

CodinG program


unit Unit3;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls;
type
  TForm3 = class(TForm)
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    edt1: TEdit;
    mmo1: TMemo;
    edt2: TEdit;
    dbgrd1: TDBGrid;
    btn1: TButton;
    btn2: TButton;
    btn3: TButton;
    btn4: TButton;
    lbl7: TLabel;
    cbb1: TComboBox;
    edt3: TEdit;
    btn5: TButton;
    btn6: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure mmo1KeyPress(Sender: TObject; var Key: Char);
    procedure btn4Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure dbgrd1CellClick(Column: TColumn);
    procedure btn6Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn5Click(Sender: TObject);
    procedure cbb1Change(Sender: TObject);
    procedure edt3Change(Sender: TObject);
    procedure cbb1KeyPress(Sender: TObject; var Key: Char);

1.       DEKLARASIKAN PROCEDURE


1.       DEKLARASIKAN PENGGUNAAN DATA MODUL


1.       CODING UNTUK PROCEDURE





1.       CODING PADA FROM1
1.       CODING PADA MEMO




1.       CODING BUTTON SAVE

1.       CODING MENGIRIM NILAI YANG DKLIK PADA DBGRID KE IMPUTAN

1.       CODING BUTTON BATAL

1.       CODING BUTTON UBAH

1.       CODING BUTTON DELETE

1.       CODING BUTTON CARI






1.       CODING PADA COMBOBOK DAN  PADA IMPUTAN PENCARIAN





















Rabu, 13 Maret 2013

LATIHAN 1 PROGRAM DATABASE SEDERHANA



Nama    : Muhammad Iqbal
Kelas     : IV F

1.       Dengan BDE komponen
Tampilan from

Atur komponen SBB:
KOMPONEN
NAME
CAPTION
FORM1
FORM1
BDE KOMPONEN
EDIT1-EDIT5
EDIT1-EDIT5
KOSONGKAN
BUTTON1
BUTTON1
TAMBAH
BUTTON2
BUTTON2
SIMPAN
BUTTON3
BUTTON3
BATAL
BUTTON4
BUTTON4
EXIT
BUTTON5
BTN1
EDIT
BUTTON7
BTN2
UPDATE
BUTTON8
BTN3
HAPUS
TABEL
TABEL1
-
DATASOURCE
DATASOURCE1
-

-          Tulis SCRIP Procedure berikut

public
  procedure tampil ;
  procedure kosong ;
  procedure mati ;
  procedure hidup ;
  procedure cari;

procedure   .cari ;
    if Button2.Enabled = True then
    begin
          if Edit1.Text ='' then
          ShowMessage('Tidak Boleh Kosong')
          else if Table1.FindKey([Edit1.Text]) then
          begin
          ShowMessage('Data Sudah Ada');
          Exit;
          end
          else
          begin
            hidup;
            Edit1.Enabled := False ;
            Form1.ActiveControl := Edit2;
          end
    end
    else
    begin
          if not Table1.FindKey([Edit1.Text]) then
          begin
          ShowMessage('Data Belum Ada');
          Exit;
          end
          else
          begin
            hidup;
            tampil;
            Edit1.Enabled := False ;
            Form1.ActiveControl := Edit2;
          end
    end
end;
procedure   .tampil ;
      edit1.Text := table1['kode_barang'];
      edit2.Text := table1['nama_barang'];
      edit3.Text := floattostr( table1['harga_beli']);
      edit4.Text := floattostr( table1['harga_jual']);
      edit5.Text := floattostr( table1['stok']);
procedure   .mati ;
       edit1.enabled := false;
       edit2.enabled := false;
       edit3.enabled := false;
       edit4.enabled := false;
       edit5.enabled := false;
procedure   .hidup ;
       edit1.enabled := true;
       edit2.enabled := true;
       edit3.enabled := true;
       edit4.enabled := true;
       edit5.enabled := true;
procedure   .kosong ;
      edit1.Text := '';
      edit2.Text := '';
      edit3.Text := '';
      edit4.Text := '';
      edit5.Text := '';

-          Tulis SCRIP pada edit1. KEYPRESSS
     if Key = #13 then
      begin
       cari;
-          Tulis SCRIP pada button tambah
   mati;
    Edit1.Enabled := True ;
    Button2.Enabled := True ;
    Form1.ActiveControl := Edit1 ;
    kosong;

-          Tulis SCRIP pada button batal
      kosong;
      Table1.First ;
      tampil ;
      mati;
      Button2.Enabled := False ;
      btn2.Enabled := False ;
      BTN3.Enabled := False ;

-          Tulis SCRIP pada button simpan
     Table1.Append ;
     Table1['kode_barang'] := Edit1.Text ;
     Table1['nama_barang'] := Edit2.Text ;
     Table1['harga_beli'] := StrToFloat(Edit3.Text)  ;
     Table1['harga_jual'] := StrToFloat(Edit4.Text)  ;
     Table1['stok'] := StrToFloat(Edit5.Text)  ;
     Table1.Post;
     mati;
-          Tulis SCRIP pada button exit
    Table1.Close;
    close;
-          Tulis SCRIP pada button edit
      Button2.Enabled := false ;
      Edit1.Enabled := True ;
      btn2.Enabled := True ;
      btn3.Enabled := True ;
      Form1.ActiveControl := Edit1 ;
      KOSONG;
-          Tulis SCRIP pada button update
     Table1.Edit  ;
     Table1['kode_barang'] := Edit1.Text ;
     Table1['nama_barang'] := Edit2.Text ;
     Table1['harga_beli'] := StrToFloat(Edit3.Text)  ;
     Table1['harga_jual'] := StrToFloat(Edit4.Text)  ;
     Table1['stok'] := StrToFloat(Edit5.Text)  ;
     Table1.Post;
     mati;
-          Tulis SCRIP pada button hapus
     Table1.Delete ;
     MATI;
     Table1.First ;


2.       Dengan ADO komponen
Tampilan From


 
Atur komponen SBB:
KOMPONEN
NAME
CAPTION
FORM2
FORM2
ADO KOMPONEN
EDIT1-EDIT5
EDT1-EDT5
KOSONGKAN
BUTTON1
BTN4
TAMBAH
BUTTON2
BTN5
SIMPAN
BUTTON3
BTN6
BATAL
BUTTON4
BTN7
EXIT
BUTTON5
BTN1
EDIT
BUTTON7
BTN2
UPDATE
BUTTON8
BTN3
HAPUS
ADO CONNECTION
CON1
-
DATASOURCE
DS1
-
QUERY1-QUERY3
QRY12-QRY3
-

-          Tulis SCRIP Procedure berikut

public
    procedure kosong ;
    procedure mati ;
    procedure hidup ;
    procedure cari;
    procedure tampil ;
    procedure sqry1;
    procedure con;

procedure  .con ;
      con1.ConnectionString  := 'Provider=MSDASQL.1;Persist Security Info=False;Data Source=IQbalDb2';
      con1.LoginPrompt := False ;
      con1.Connected := True;

      qry1.Connection := con1;
      qry1.SQL.Add('select *from barang');
      qry1.Active := True;

      qry2.Connection := con1;
      qry2.SQL.Add('select *from barang');
      qry2.Active := True;

      qry3.Connection := con1;
      qry3.SQL.Add('select *from barang');
      qry3.Active := True;

      ds1.DataSet :=qry2;
      dbgrd1.DataSource :=ds1;
procedure   .sqry1;
     with qry1 do
      begin
      SQL.Clear;
      SQL.Add('select * from barang where kode_barang="'+edt1.Text+'"');
      Open;
        if not eof then
        begin
        edt1.Text := fieldvalues['kode_barang'];
        edt2.Text := fieldvalues['nama_barang'];
        edt3.Text := fieldvalues['harga_beli'];
        edt4.Text := fieldvalues['harga_jual'];
        edt5.Text := fieldvalues['stok'];
        end;
      end;

procedure   .cari ;
    sqry1;

    if btn5.Enabled = True then
    begin
          if edt1.Text ='' then
          ShowMessage('Kode Barang Tidak Boleh Kosong')
          else if edt1.Text = qry1.fieldvalues['kode_barang']  then
          begin
          ShowMessage('Data Sudah Ada');
          Exit;
          end
          else
          begin
            hidup;
              edt2.Text := '';
              edt3.Text := '';
              edt4.Text := '';
              edt5.Text := '';
            edt1.Enabled := False ;
            Form2.ActiveControl := edt2;
          end
    end
    else
    begin
          if edt1.Text ='' then
          ShowMessage('Kode Barang Tidak Boleh Kosong')
          else if qry1.fieldvalues['kode_barang'] = edt1.Text then
          begin
            hidup;
            btn2.Enabled := True ;

            edt1.Enabled := False ;
            Form2.ActiveControl := edt2;
          end
          else
          begin
            ShowMessage('Data Belum Ada');
            Exit;
          end
    end;
procedure   .mati ;
       edt1.enabled := false;
       edt2.enabled := false;
       edt3.enabled := false;
       edt4.enabled := false;
       edt5.enabled := false;;

procedure   .hidup ;
       edt1.enabled := true;
       edt2.enabled := true;
       edt3.enabled := true;
       edt4.enabled := true;
       edt5.enabled := true;

procedure   .kosong ;
      edt1.Text := '';
      edt2.Text := '';
      edt3.Text := '';
      edt4.Text := '';
      edt5.Text := '';

procedure   .tampil ;
      with qry3 do
      begin
      SQL.Clear;
      SQL.Add('select * from barang');
      Open;
        if not eof then
        begin
        edt1.Text := fieldvalues['kode_barang'];
        edt2.Text := fieldvalues['nama_barang'];
        edt3.Text := fieldvalues['harga_beli'];
        edt4.Text := fieldvalues['harga_jual'];
        edt5.Text := fieldvalues['stok'];
        end;
      end


-          Tulis SCRIP pada edit1.KEYPRESSS
if Key = #13 then
      begin
       cari;
      end;
-          Tulis SCRIP pada button tambah
    mati;
    edt1.Enabled := True ;
    btn5.Enabled := True ;
    Form2.ActiveControl := edt1 ;
    kosong;
-          Tulis SCRIP pada button batal
      kosong;
      qry3.First ;
      tampil ;
      mati;
      btn5.Enabled := False ;
      btn2.Enabled := False ;
      BTN3.Enabled := False ;
-          Tulis SCRIP pada button simpan
       with qry1 do
        begin
          sql.Clear;
          sql.Add('insert into barang values ("'+ edt1.Text +'","' +edt2.Text + '", "' +edt3.Text +'", "' +edt4.Text +'", "' +edt5.Text +'")');
          ExecSQL;
        end;
      qry2.Close;
      qry2.open;
      ds1.DataSet := qry2;
    mati;
-          Tulis SCRIP pada button exit
qry1.Close;
      qry2.Close;
      qry3.Close;
      close;
-          Tulis SCRIP pada button edit
      btn5.Enabled := false ;
      edt1.Enabled := True ;
       btn3.Enabled := True ;
      Form2.ActiveControl := edt1 ;
      KOSONG;



-          Tulis SCRIP pada button update
       with qry1 do
        begin
          sql.Clear;
          sql.Add('update  barang set (nama_barang="' +edt2.Text + '",harga_beli= "' +edt3.Text +'",harga_jual= "' +edt4.Text +'",stok= "' +edt5.Text +'" where kode_barang = "'+ edt1.Text +'",)');
          ExecSQL;
        end;
      qry2.Close;
      qry2.open;
      ds1.DataSet := qry2;
    mati;
-          Tulis SCRIP pada button hapus
tampil;
     qry3.Delete ;
     MATI;
     qry3.First ;
     tampil;
      qry2.Close;
      qry2.open;
      ds1.DataSet := qry2;