2.5. Membuat Laporan dengan Menggunakan Ireport 4.6.0-windows

1. Instalasi Ireport
Ireport dapat didownload pada alamat http://www.softpedia.com/progDownload/iReport-Download-73085.html
Setelah selesai mengdownload langkah selanjutnya adalah menginstal file ireport-4.6.0-windows-installer.exe

2. Membuat Database dengan menggunakan Mysql
TabelKategori (idKategori, nmKategori)
TabelBarang(idBarang,nmBarang,satuan,Stock)
TabelPelanggan(idPelanggan,nmPelanggan,almPelanggan)
TabelTransaksiBeli(idBeli,TglBeli,idPelanggan)
TabelDetailTransaksiBeli(idBeli,IdBarang,Qty,hrgBeli)

3. Membuat Laporan dengan Ireport
Langkah-langkah membuat Laporan dapat dilakukan dengan cara :
a. Aktifkan Ireport dengan cara klik Start, Program File, JasperSoft, Ireport-4.6.0, Ireport-4.6.0
Buatlah New Report dengan cara Klik File, Klik New, Klik Blank A4, lalu klik Launch Report Wizard, maka akan tampil gambar berikut :

Dari gambar diatas buatlah Report name dengan nama DaftarBarang dan klik Browse untuk menentukan lokasi file akan disimpan(buat folder Report pada file project). Selanjutnya Klik Next
b. Pada windows query klik tombol NEW, pada Databasource klik Database JDBC connection, isikan nama koneksi pada Name dengan nama DBConnect, pada JDBC Driver ganti dengan MYSQL (com…..) dan pada JDBC Url ganti DatabaseName dengan nama database yang kita miliki disini diketik dbtrans, lalu pada username ketik root dan klik test untuk menguji apakah koneksi sukses atau enggak… lalu klik Save
c. Dari langkah diatas, akan kembali pada windows query dan ketikkan pada query(SQL) perintah SQL :
Select * from Barang
Lalu klik next.

d. Setelah klik tombol next pada windows query, maka akan masuk ke windows field, disini kita dapat mengklik timbol >> untuk memindahkan field yang akan ditampilkan pada report. Lalu klik next, klik next dan klik Finish
e. Setelah form desain dari report ditampilkan maka selanjutnya adalah mendesain report sesuai dengan yang kita inginkan.

f. Untuk mendesain report yang pertama kali memberi judul laporan yaitu dapat menggunakan static text (label) caranya klik dan drag (geser) kearah Title pada desain.
g. Untuk memasukkan field-field yang akan ditampilkan pada report dapat mengklik Field yang ada pada Report Inspector, lalu klik Field yang kita inginkan dan drag (geser) kerah desain menu pada bagian Detail.
h. Untuk memberi garis dapat menggunakan line atau rectangle yang ada pada pallete langkahnya sama klik drag kearah desain.
i. Jika sudah selesai klik Save, untuk melihat hasilnya dapat diklik tombol Preview

4. Membuat Koding Pada Netbeans
Aktifkan Netbeans dan tambahkan satu buah Form dengan JInternalFrame Form berinama FormDaftarPelanggan seperti gambar berikut :

Setelah itu pada library tambahkan beberapa library yang dibutuhkan yaitu dengan cara klik kanan pada libraries, lalu klik Add Library, Klik Create, Klik New Library, ketikkan Ireport460library pada Library Name, lalu klik OK.
Klik tombol Add Jar/Folder, lalu menuju ke folder ext yang ada pada folder Ireport, selengkapnya ada pada folder berikut :
C:\Program Files\Jaspersoft\iReport-3.7.6\ireport\modules\ext
Pilih satu persatu libarrynya seperti berikut lalu klik tombol Add Jar/Folder
1. commons-beanutils-1.8.2.jar
2. commons-collections-3.2.1.jar
3. commons-logging-1.1.jar
4. commons-digester-1.7.jar
5. groovy-all-1.7.5.jar
6. jasperreports-4.6.0.jar
7. jdt-compiler-3.1.1.jar
Jika sudah selesai atau semuanya sudah diklik langkah selanjutnya adalah lalu klik tombol Ok dan Klik Tombol Add Library.

Kembali ke JinternalFrameForm (FormDaftarPelanggan), lalu lengkapi koding sebagai berikut :

/*
* FormDaftarBarang.java
*
* Created on June 4, 2011, 12:58 AM
*/

package prjtransaksi;
import java.io.File;
import java.sql.*;
import java.util.HashMap;
// Paket JasperReports
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

/**
*
* @author Arya
*/
public class FormDaftarBarang extends javax.swing.JInternalFrame {

/** Creates new form FormDaftarBarang */
public FormDaftarBarang() {
initComponents();

}

5. Tambahkan koding pada tombol Cetak seperti berikut :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
HashMap parameter=new HashMap();
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbtrans?user=root&password=”);
File report_file=new File(“Report/DaftarBarang.jasper”);
JasperReport jasperReport=(JasperReport)JRLoader.loadObject(report_file.getPath());
JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport, parameter,con);
JasperViewer.viewReport(jasperPrint,false);
JasperViewer.setDefaultLookAndFeelDecorated(true);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, “Data tidak dapat dicetak!”+”\n”+e.getMessage(),”Cetak Data”,JOptionPane.ERROR_MESSAGE);
}
}

6. Buka File Menu jangan lupa JinternalFrame form hanya dapat dijalankan dari menu…

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/”&gt; 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)

    Follow

    Get every new post delivered to your Inbox.