2.4. Membuat Form Anggota dengan Menggunakan NetBeans

1. Membuat Tabel Anggota pada Database Perpustakaan

C:\Documents and Settings\Toshiba>cd\
C:\>cd wamp\mysql\bin\
C:\wamp\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.21-community-nt

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
Membuat database
mysql> use perpustakaan;
Database changed
Membuat table
mysql> create table anggota(Noang varchar(5), namang varchar(25),
-> tmplhr varchar(15), tgllhr varchar(8), jenisk varchar(10),
-> agama varchar(10), alamat varchar(25), kota varchar(25));
Query OK, 0 rows affected (0.55 sec)

mysql> insert into anggota values (“00001″,”Ahmad”,”Padang”,”12/12/2010″,”Laki-L
aki”,”Islam”,”Pegambiran”,”Padang”);
Query OK, 1 row affected, 1 warning (0.41 sec)
2. Membuat Form Anggota
Nama Class : fromAnggota
Edit sehingga membentuk form berikut ini :

3. Menambah koding pada kelas PrjMhsView, untuk mengatur apabila diklik menu Input dan Klik ANggota maka formAnggota akan ditampilkan.
Caranya :
Masuk pada tab Design , klik Input, Klik kanan pada Anggota, klik Events, klik Action dan klik actionPerformance. Lalu ketikkan koding berikut yang cetak tebal
private void anggotaMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formAnggota FAng = new formAnggota();
jDesktopPane1.add(FAng, javax.swing.JLayeredPane.DEFAULT_LAYER);
FAng.show();
}

4. Menambah Skrip Program pada FormAnggota
a. Import file
package prjtrans;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

b. Mendefinsikan Variabel
public class LoginForm extends javax.swing.JDialog {
String data[] = new String[4];
Database dbsetting;
//Query DBQ;
String driver, dtbase, user,pass,userLogin;

c. Membuat pemodelan table dan membuat koding untuuk membaca file Database.ini, dibawah iniComponents seperti berikut :
public LoginForm(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
dbsetting = new Database();
driver = dbsetting.SettingPanel(“DBDriver”);
dtbase = dbsetting.SettingPanel(“DBDatabase”);
user = dbsetting.SettingPanel(“DBUsername”);
pass = dbsetting.SettingPanel(“DBPassword”);
this.setSize(600,400);
this.setSize(450,480);

jTable1.setModel(tblModel);
Tabel(jTable1, new int[] {100,130,120});
setDefaultTable();
}
d. Membuat object
private javax.swing.table.DefaultTableModel tblModel= getDefaultTabelModel();

e. Membuat function Tabel
private void Tabel(javax.swing.JTable tb, int lebar[]){
tb.setAutoResizeMode(jTable2.AUTO_RESIZE_OFF);
int kolom = tb.getColumnCount();
for (int i=0; i<kolom; i++){
javax.swing.table.TableColumn tbc = tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}

f. Membuat method getDefaultTableModel()
private javax.swing.table.DefaultTableModel getDefaultTabelModel(){
return new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[] {“No Ang”,”Nama”,”Jenis”}
){
boolean[] canEdit = new boolean[]{
false,false,false
};
public boolean isCellEditable(int rowIndext, int columnIndex){
return canEdit[columnIndex];
}
};
}
g. Membuat function setDefaultTable
public void setDefaultTable(){
try{
Class.forName(driver);
Connection kon = DriverManager.getConnection(Databs,user,”");
Statement stt = kon.createStatement();
String SQL = “Select * from Anggota”;
ResultSet res= stt.executeQuery(SQL);
while (res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
tblModel.addRow(data);
}
res.close();
stt.close();
kon.close();
}
catch(Exception exc){
System.err.println(exc.getMessage());
}
}
h. Menampilkan data pada table
private DefaultTableModel tableModel(String[] colNames, ResultSet rs) throws SQLException {
int row = 0;
while (rs.next()) {
row = rs.getRow();
}
rs.beforeFirst();
String[][] data1 = new String[row][colNames.length];
for (int i = 0; i < row; i++) {
rs.next();
for (int j = 0; j < colNames.length; j++) {
data1[i][j] = rs.getString(j + 1);
}
}
return new DefaultTableModel(data1, colNames);
}

i. Jalankan program dengan cara menekan tombol F6.

j. Membuat koding pada table sehingga pada saat di double klik data akan dipindahkan dari table ke form adapun langkah-langkahnya adalah : klik Kanan pada table di form, lalu klik events, mouse, mousecliked dan ketikkan listing berikut :
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if (evt.getClickCount()==1)
Tampil();
}
k. Membuat function Tampil() yang akand igunakan untuk memindahkan data dari table ke form. Adapun kodingnya adalah :
public void Tampil(){
row = jTable1.getSelectedRow();
jTextField1.setText(dataModel.getValueAt(row, 0).toString());
jTextField2.setText(dataModel.getValueAt(row, 1).toString());
jTextField3.setText(dataModel.getValueAt(row, 2).toString());
jFormattedTextField1.setText(dataModel.getValueAt(row, 3).toString());
if (dataModel.getValueAt(row, 4).toString().equals(“Laki-Laki”))
jRadioButton1.setSelected(true);
else
jRadioButton1.setSelected(false);
jComboBox1.setSelectedItem(dataModel.getValueAt(row, 5).toString());
}
l. Membuat koding pada tombol Add untuk menyimpan data
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String jenisk=”";
if (jRadioButton1.isSelected())
jenisk=”Laki-Laki”;
else
jenisk=”Perempuan”;
try{
Class.forName(driver);
Connection kon = DriverManager.getConnection(Databs,user,”");
Statement stt = kon.createStatement();

String SQL = “insert into anggota values(‘”+ jTextField1.getText()+”‘,’”+jTextField2.getText()+”‘,’”+jTextField3.getText()+”‘,’”+jFormattedTextField1.getText()+”‘,’”+ jenisk +”‘,’”+jComboBox1.getSelectedItem().toString() +”‘,’”+jTextField4.getText()+”‘,’” +jTextField5.getText()+”‘)”;
stt.executeUpdate(SQL);
data[0] =jTextField1.getText();
data[1]=jTextField2.getText();
data[2]=jTextField3.getText();
tblModel.insertRow(0,data);
stt.close();
kon.close();
}catch(Exception exc){
System.err.println(exc.getMessage());
}
}
m. Membuat koding pada tombol Edit
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String jenisk=”";
if (jRadioButton1.isSelected())
jenisk=”Laki-Laki”;
else
jenisk=”Perempuan”;
try{
Class.forName(driver);
Connection kon = DriverManager.getConnection(Databs,user,”");
Statement stt = kon.createStatement();

String SQL = “update anggota set namang =’”+ jTextField1.getText() +”’, ….”;
stt.executeUpdate(SQL);

data[0] =jTextField1.getText();
data[1]=jTextField2.getText();
data[2]=jTextField3.getText();
tblModel.removeRow(row);
tblModel.insertRow(0,data);
stt.close();
kon.close();
}catch(Exception exc){
System.err.println(exc.getMessage());
}
}
n. Membuat koding pada tombol hapus

try{
Class.forName(driver);
Connection kon = DriverManager.getConnection(Databs,user,”");
Statement stt = kon.createStatement();

String SQL = “delete from anggota wher noang =’”+ jTextField1.getText() +”’”;
stt.executeUpdate(SQL);

tblModel.removeRow(row);
stt.close();
kon.close();
}catch(Exception exc){
System.err.println(exc.getMessage());
}
}

o. Membuat koding pada tombol Exit.
this.dispose();

p. Uji Program….

Bimbingan Olimpiade Komputer : Pembahasan 3. OSK 2007

Soal 39. OSK 2007
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008

function apaitu(a:integer; b:integer):integer;
var count : integer;
begin

count :=count + 1;
writeln(count);
if (a > b) then
   apaitu := apaitu(b,a)
else if (a = 0) then
     apaitu :=b
else
    apaitu := apaitu(b mod a,a);
end;

begin
writeln(apaitu(1001,1331));
readln;
end.

Pembahasan :
Pemanggilan writeln(apaitu(1001,1331)) akan menghasilkan 11

A = 1001
B = 1331

if (a>b)  apaitu(a,b) if(a = 0)  apaitu := b apaitu(b mod a, a)
(1001>1331)tidak
                      if(1001=0)tidak     apaitu(1331 mod 1001,1001)
                                               apaitu(330,1001)

(1001>330)ya
            apaitu(330,1001)
(330>1001)tidak
                      if(330=0)tidak    apaitu(1001 mod 330,330)
                                             apaitu(11,330)

(330 > 11) ya
            apaitu(11,330)
(11 > 330) tidak
                      if(11=0) tidak    apaitu(330 mod 11,11)
                                            apaitu(0,11)

(11 > 0) ya
                apaitu(0,11)
(0 > 11) ya
                        if(0=0) yA ---> PROSES SELESAI	      
NILAI A = 11


Link Yang berhubungan :

Bimbingan Olimpiade Komputer : Pembahasan 2. OSK 2007

Soal 37 (OSK 2007)
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008

function apaini(a:integer; b: integer):integer;
var
x,y,r : integer;
begin
     x := a;
     y := b;
     while (y <> 0) do
     begin
          r := x mod y;
          x := y;
          y := r;
     end;
     apaini:=x;
end;

begin
writeln(apaini(414,662));
readln;
end.

Hasilnya adalah 2

Langkah-langkah penyelesaiannya :

while (y <> 0)         r = x mod y           x = y         y = r
        (662 <> 0)     r = 414 mod 662     x = 662      y = 414
                           r = 414
        (414 <> 0)     r = 662 mod 414     x = 414      y = 248
                           r = 248
        (248 <> 0)     r = 414 mod 248     x = 248      y = 166
                           r = 166
        ........
        ........
        (2 <> 0)        r = 81 mod 2          x = 2          y = 0
                           r = 0
        (0 <> 0)        Perulangan while berhenti...

Sehingga mendapatkan nilai x = 2

Link Yang berhubungan :

Bimbingan Olimpiade Komputer : Pembahasan 1. OSK 2007

Soal No. 32 (OSK 2007)
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008

const
xmin = -10;
xmax = 10;
ymin = -10;
ymax = 10;

function code(x:integer;y : integer):byte;
var c:byte;
begin
     c:=0;
     if (x < xmin) then          c:= c or 8
     else if (x > xmax) then   c:= c or 1;
     if (y < ymin) then          c:= c or 4
     else if (y > ymax) then   c:= c or 2;
     code :=c;
end ;

begin
writeln(code(-12,-12) or code(20,5));
readln;
end.

Jawaban:
Dari Soal diatas apabila progam dijalankan maka akan menghasilkan 0

Langkah-langkah penyelesaiannya :

Pemanggilan Code(-12,-12)
X = -12
Y = -12
C = 0
if (x < xmin) then  c = c or 8
Jika (-12 < -10) maka c = 0 or 8 = 8

if (y < ymin) then c := c or 4
Jika (-12 < -10)maka c := 8 or 4 = 12
Code = c;
Code = 12

Pemanggilan Code(20,5)
X = 20
Y = 5
C = 0
if (x < xmin) then c = c or 8
Jika (20 < -10) maka tidak terpenuhi
	Else if (x > xmax) then  c = c or 1 
	Else Jika (20 > 10) maka c = 0 or 1 = 1
if (x < xmin) then …
Jika (5 < -10) maka tidak terpenuhi
	Else if (y > ymax) then …
Else jika (5 > 10) maka tidak terpenuhi
Karena tidak ada yang terpenuhi maka Code = c
Code  = 0

Dari proses di atas :
Pemanggilan code(-12,-12) menghasilkan 12
Pemanggilan code(20,5) menghasilkan 1
Sehingga (code(-12,-12) and code (20,5)) = 12 and 1 = 0

Link Yang berhubungan :

Pemrograman Delphi . Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

Langkah-langkahnya adalah :

1. Buatlah Form serperti di atas

2.Koneksikan ke dalam database dan isi adoquery

3. Membuat laporan dengan menggunakan Rave

Untuk nomor 1, 2 dan 3 diatas silahkan baca kembali modul berikut : <a href=”http://ahmadrizal.wordpress.com/2011/01/25/pemrograman-delphi-9-pembuatan-laporan-trasaksi-pembelian-barang-dengan-menggunakan-rave-masterdetail/”> Pembuatan Report dengan Rave </a>

4. Kembali kedalam Form Laporan di Delphi lalu Double klik pada RadioGroup untuk jenis report dan ketikkan listing berikut :


procedure TForm9.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
Jenis :='PT'
else
Jenis :='PP';
end;

5. Kembali ke Form, double Klik Tombol Cetak dan ketikkan koding berikut :


procedure TForm9.CetakClick(Sender: TObject);
begin
if jenis='PT' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli and tgl_faktur = #' + formatdatetime('mm/dd/yyyy',datetimepicker1.date) + '#');
adoquery1.Open;
if not adoquery1.eof then
begin
adoquery1.Active :=true;
RvProject1.Execute;
rvproject1.ExecuteReport('Transaksi.rav');
end
else
Application.Messagebox('yee datanya kagak ada...','Cek Input',mb_iconstop);
end;

if jenis='PP' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli and tgl_faktur >= #' + formatdatetime('mm/dd/yyyy',datetimepicker1.date) + '# and tgl_faktur <= #' + formatdatetime('mm/dd/yyyy',datetimepicker2.date) + '#');
adoquery1.Open;
if not adoquery1.eof then
begin
adoquery1.Active :=true;
RvProject1.Execute;
rvproject1.ExecuteReport('Transaksi.rav');
end
else
Application.Messagebox('yee datanya kagak ada...','Cek Input',mb_iconstop);
end;
if jenis='' then
Application.Messagebox('maaf Pilih Dulu Jenis Laporannya...','Cek Input',mb_iconstop);
end;

Selamat Mencoba…. moga sukses

Related Post :
1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

Pemrograman Delphi 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)

  • Langkah-langkah pembuatan laporan dengan menggunakan Rave adalah :
    1. Menambahkan form baru pada projek yang telah dibuat sebelumnya.
    2. Tambahkan komponen :
    1 buah Ado connection, 2 buah ADoQuery dan Dataset
    dan tambahkan juga 2 buah button, Button1 untuk cetak dan Button2 untuk CancelUntuk membuat laporan kita menggunakan dua komponen pallete RAVE yaitu : 1 buah RVProject dan 2 buah RVDataSetConnectionD
    3. Mengkoneksikan Database dengan Adoconnection : 

    • Klik ADOConnencti pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
    • Dan klik next, pada data source ketikkan : D:\Transaksi\transaksi.accdb, dan yang terakhir klik test connection. Apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmCetakanggota.

    4. Mengaktifkan Adoquery 1 untuk tabel Transaksi
    Klik Adoquery1, klik SQL pada properties, lalu ketikkan :

    select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli

    perintah ini dijadikan sebagai master yang akan digunakan untuk menampilkan data transaksi dan beralasi dengan tabel pelanggan

    Dan Klik Active pada properties ganti false menjadi true.

    5. Mengaktifkan Adoquery 2 untuk tabel Djual

    select * , harga * jumlah as jumlahharga from djual, barang where djual.kode_barang = barang.kode_barang

    perintah ini dijadikan sebagai Detail yang akan digunakan untuk menampilkan data Detail dari transaksi dan berelasi dengan tabel barang disertai dengan proses untuk menghitung jumlahharga yang didapat diari perkalian harga * jumlah

    6.Mengkoneksikan RVDataSetConnection 1 ke Adoquery 1, sebaiknya nama RVDatasetConnection 1 diganti dengan RVTransaksi pada properties dengan dataset, dengan cara klik RVDataSetConnection/RVtransaksi, pada properties klik Dataset, lalu pilih AdoQuery1.

    7. Mengkoneksikan RVDataSetConnection 2 ke Adoquery 2, sebaiknya nama RVDatasetConnection 2 juga diganti dengan RVDetail pada properties, dengan cara klik RVDataSetConnection/RVDetail, pada properties klik Dataset, lalu pilih AdoQuery2.

    8. Menjalankan Rave
    langkah-langkahnya adalah :

    DataView untuk Master

    • Double klik pada Rave Project atau Klik menu Tools pada delphi, klik RAVE designer
    • Klik File, Klik New Data Object
    • Klik Direct Data view
    • Klik RVTransaksi (DT), lalu klik Finish

    Data View untuk Detail

    • Klik File, Klik New Data Object
    • Klik Direct Data view
    • Klik RVTransaksi (DT), lalu klik Finish

    Dengan cara tersebut maka disudut kanan atas akan terbuat 2 buah Dataview yaitu Dataview 1 (untuk master) dan DataView 2 (untuk Detail)

    9. Desain Report Master/Detail secara Manual
    Klik Report pada Tab report setelah itu klik Region Component, gerak kursur kearah lembar kerja dan drag sehing lembar kerja tertutup semua dengan Region Component :

    Klik Band Component pada tab Report lalu letakkan pada region, Klik Tab Standar lalu klik Text component, pada properties sebelah kiri, ganti text menjadi “Form Laporan Transaksi Pembelian” ini digunakan untuk judul dari laporan yang dibuat.

    Klik Tab Report dan klik Data Band Component gerakkan kearah region lalu klik, maka akan terbuat Data Band 1, ini akan digunakan sebagai master table header, selanjutnya atur pada properties :
    untuk data band pertama rubah

    • Klik Bandstyle lalu klik master (body Header), lalu OK
    • Klik DataView pada properties isi dengan DataView1 (Master)
    • Klik Detail Key isi dengan NO_faktur
    • Klik start New Page isi dengan True

    Jika sudah selesai lanjutkan dengan mengisi Text Component yang ada pada tab Standar, lalu isikan ke dalam Data View satu sebanyak empat buah text masing-masing untuk : no transaksi, tanggal transaksi, id pelanggan dan nama pelanggan.
    Klik Tab Report, lalu klik Data Text Component dan letak pada Dataview 1 atau tepatnya pada Data Band 1, sebanyak empat buah masing-masing ganti pada propertiesnya : Dataview diisi dengan Dataview 1, dan DataField disesuaikan dentan texnya lanjutkan dengan Data text yang lain sehingga membentuk gambar berikut

    uji Rave dengan cara klik File lalu Execute dan klik OK

    Klik Tab Report kembali, lalu klik Data Band Component lalu klik pada region ini digunakan untuk menampilkan field detail, setelah itu atur pada properties dengan cara :

    • Klik BandStyle, lalu klik detail, lalu OK
    • Klik dataviewnya isi dengan dataview2
    • Klik Detail key lalu isi dengan No_faktur
    • Klik ControllerBand isi dengan DataBand1
    • klik MasterDataView isi dengan Dataview1
    • Klik MasterKey isi dengan NO_Faktur

    langkahselanjutnya adalah klik Tab Report lalu klik DataText Component, dan letakkan pada Databand 2, sebanyak 5 buah untuk kode barang, nama barang, harga barang, jumlah, dan total, atur masing-masing data text component pada properties untuk Dataview isi dengan dataview 2 dan Data Fieldnya sesuai dengan data yang akan ditampilkan.

    Tambahkan satu buah Databand dengan cara klik Tab Report dan klik Data Band Componen ini digunakan untuk menjumlah total setelah itu atur pada propertiesnya :

    • Klik BandStyle, lalu klik row Footer(), lalu OK
    • Klik dataviewnya isi dengan dataview2
    • Klik Detail key lalu isi dengan No_faktur
    • Klik ControllerBand isi dengan DataBand1
    • klik MasterDataView isi dengan Dataview1
    • Klik MasterKey isi dengan NO_Faktur

    Klik Tab Report lalu klik Calc Text Component, letakkan pada Databand 3, lalu antur pada propertiesnya untuk Dataview isi dengan Dataview1, dan Data Field isi dengan jumlahharga dan untuk Controllernya isi dengan Dataview 2.

    Uji Program… dengan cara klik File Klik Execute lalu klik OK

    jika sudah selesai setting pada rave simpan file rave dengan cara klik File Klik Save as lalu tentukan Folder dimana project delphi dibuat beri nama Prjlaporantransaksi.rav.

    Kembali ke Delphi,
    Double klik Tombol Cetak lalu ketik listing program berikut :

    adoquery1.SQL.Clear;
    adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli');
    adoquery1.Open;
    adoquery1.Active :=true;
    RvProject1.Execute;
    rvproject1.ExecuteReport('Prjlaporantransaksi.rav');
    

    eit jangan lupa klik RvProjectnya lalu klik pada properties dibagian Project File yang titik tiga, lalu buka file Prjlaporantransaksi.rav ….
    selesai… deh….
    selamat mencoba….
    Ahmad Rizal Abidin, M.Kom….

  • Related Post :
    1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
    2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
    3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
    4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
    5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
    6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
    7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
    8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
    9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
    10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

    Pemrograman Delphi 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave


    Related Post :
    1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
    2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
    3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
    4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
    5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
    6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
    7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
    8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
    9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
    10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

    Pemrograman Delphi 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave


    Related Post :
    1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
    2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
    3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
    4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
    5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
    6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
    7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
    8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
    9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
    10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

    Pemrograman Delphi 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)


     

     

     

     

     

     

     

     

     

     

     

    Kodingnya adalah :

    Double klik Tombol Update lalu ketikkan listing koding berikut :

    
    procedure TForm2.Button6Click(Sender: TObject);
    var jumlah : integer;
    stock:integer;
    begin
    adoquery5.SQL.Clear;
    adoquery5.SQL.Add('Select * from djual WHERE no_faktur = "'+ edit1.Text +'" and kode_barang ="'+ DBLookupComboBox2.KeyValue+'" ');
    adoquery5.Open;
    if not adoquery5.Eof then
    begin
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from barang where kode_barang="'+DBLookupComboBox2.KeyValue+'"');
    adoquery1.open;
    jumlah := adoquery5.Fields[3].AsInteger + adoquery1.Fields[3].AsInteger;
    stock := jumlah - strtoint(edit2.Text);
    
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('update barang set stock="'+inttostr(stock)+'" where kode_barang="'+DBLookupComboBox2.KeyValue+'"');
    adoquery1.ExecSQL;
    
    adoquery5.SQL.Clear;
    adoquery5.SQL.Add('update penjualan set tgl_faktur="'+datetostr(DateTimePicker1.Date)+'", id_pembeli="'+ DBLookupComboBox1.KeyValue +'" where no_Faktur="'+edit1.Text+'"');
    adoquery5.ExecSQL;
    
    adoquery4.sql.Clear;
    adoquery4.SQL.add('update djual set jumlah="'+ edit2.Text +
    '", harga ="'+ edit3.Text +'" where no_Faktur="'+ edit1.Text +'" and kode_barang="'+ DBLookupComboBox2.KeyValue +'"');
    adoquery4.ExecSQL;
    
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from barang');
    adoquery1.open;
    end
    else
    begin
    adoquery4.SQL.Clear;
    adoquery4.SQL.Add('insert into Djual(no_faktur,kode_barang,jumlah,harga)values("'+edit1.text+'","'+DBLookupComboBox2.KeyValue+'","'+ edit2.Text +'","'+edit3.Text+'")');
    adoquery4.ExecSQL;
    tampildb();
    end;
    tampildb();
    kosongbarang();
    end;
    

    2. Buatlah Procedure TAmpildb dan kosongbarang;

    <strong>a. Procedure Tampil Database</strong>

    
    procedure TForm2.tampildb();
    begin
    adoquery4.Close;
    adoquery4.SQL.Clear;
    adoquery4.SQL.Add('select no_Faktur,kode_barang,harga,jumlah, (harga*jumlah) as total from djual where no_Faktur = "'+ edit1.text +'"');
    adoquery4.Open;
    datasource4.DataSet := adoquery4;
    dbgrid1.DataSource := datasource4;
    
    adoquery5.Close;
    adoquery5.SQL.clear;
    adoquery5.SQL.add('select sum(harga*jumlah) from djual where no_Faktur = "'+ edit1.text +'"');
    adoquery5.Open;
    edit4.Text := adoquery5.Fields[0].AsString;
    end;
    
    

    a. Procedure Kosong

    procedure TForm2.kosongbarang();
    begin
    DBLookupComboBox2.KeyValue:='';
    dbedit3.Text:='';
    dbedit4.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    End;
    
    

    3. Double Klik Pada Edit2 (Jumlah), lalu  rubah pada event di properties menjadi On KeyPress, selanjutnya ketik listing berikut :

    
    procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char);
    VAR SISA:INTEGER;
    begin
    IF KEY=#13 THEN
    BEGIN
     IF (ADOQUERY1.Fields[3].AsInteger < sTRTOINT(eDIT2.Text)) then
     BEGIN
     Application.MessageBox('DATA TIDAK CUKUP','cONTROL',MB_ICONSTOP);
     END;
    
     EDIT3.Text := INTTOSTR(STRTOINT(DBEDIT4.Text) * STRTOINT(EDIT2.TEXT));
     SISA:= ADOQUERY1.Fields[3].AsInteger - STRTOINT(EDIT2.Text);
    
     ADOQUERY6.Close;
     ADOQUERY6.SQL.CLEAR;
     ADOQUERY6.SQL.Add('UPDATE BARANG SET STOCK = "'+ inttostr(SISA) +'" WHERE KODE_BARANG = "'+ ADOQUERY1.Fields[0].ASSTRING +'"');
     ADOQUERY6.ExecSQL;
    END;
    
    

    4. Double klik Tombol Save, lalu ketikkan listing berikut :

    
    procedure TForm2.Button3Click(Sender: TObject);
    var i : integer;
    begin
    adoquery3.SQL.Clear;
    adoquery3.SQL.add('insert into Penjualan(no_faktur,id_pembeli,tgl_faktur)values("'+ edit1.Text +'","'+DBLookupCombobox1.Text+'","'+DateToStr(DateTimePicker1.Date)+'")');
    adoquery3.ExecSQL;
    
    for i := 1 to SG.RowCount-1 do
    begin
    adoquery4.SQL.Clear;
    adoquery4.SQL.Add('insert into Djual(no_faktur,kode_barang,jumlah,harga)values("'+edit1.text+'","'+ sg.Cells[1,i] +'","'+ edit2.Text +'","'+edit3.Text+'")');
    adoquery4.ExecSQL;
    end;
    end;
    

    Related Post :
    1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
    2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
    3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
    4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
    5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
    6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
    7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
    8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
    9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
    10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

    Pemrograman Delphi 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)


    :
    Kodingnya :

    Related Post :
    1. Delphi Programming 1. Transaction Processing Application Programs Sales of Goods
    2. Delphi Programming 2. Product Sales Transaction Processing Application (Form Product)
    3. Delphi Programming 3. Product Sales Transaction Processing Application (Form Costumer)
    4. Delphi Programming 4.Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi)
    5. Delphi Programming 5. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Distributor)
    6. Delphi Programming 6. Aplikasi Pengolahan Transaksi Penjualan Barang (Form Transaksi Pembelian Barang)
    7. Delphi Programming 7. Pembuatan Laporan Daftar Barang dengan menggunakan Rave
    8. Delphi Programming 8. Pembuatan Laporan Daftar Pelanggan dengan menggunakan Rave
    9. Delphi Programming 9. Pembuatan Laporan Transaksi Pembelian Barang dengan menggunakan Rave (Master/Detail)
    10. Delphi Programming 10. Pembuatan Laporan Transaksi PerTanggal dan PerPeriode dengan Menggunakan Rave (Tanggal + datetimePicker)

    Follow

    Get every new post delivered to your Inbox.