Vous êtes sur la page 1sur 218

MEMBANGUN APLIKASI

PENJUALAN MOTOR
DENGAN JAVA

By Ulpah Barokah

SMK NEGERI 1 KAWALI

CIAMIS

About the Author


Ulpah Barokah adalah seorang Siswa di SMK Negeri
1 Kawali, Jurusan RPL (Rekayasa Perangkat Lunak )
Kelas XII Memahami Konsep Basis Data, Networking
(Windows & Linux), Programming : Microsoft Access,
Visual Basic, Java, PHP, MySQL, Tinggal di Kawali
Ciamis. Berharap dapat membuat buku buku yang
lebih bagus lagi.

Dedication
To Hubby and Family.

Author s Acknowledgments
Saya mengucapkan banyak terima kasih kepada Ibu Bapak Guru yang
telah membimbing terus buat belajar terutama Bapak Kiki Supendi, ST.,
MOS yang telah memberikan semangat yang begitu besar kepada saya
agar dapat menyelesaikan buku ini walaupun dalam waktu yang sangat
singkat, Google yang selalu membantu saya untuk terus mencari Ilmu,
buku-buku pendukung yang selalu menemani. Dan, tentu saja, seluruh
teman teman yang tidak dapat saya sebutkan seluruhnya yang
mendukung agar buku ini bisa terbit.

DAFTAR ISI
About The Author
BAGIAN I : SOFTWARE.........................................................

BAB 1 : PERSIAPAN INSTALASI ...........................................

1.1 Software yang harus diinstalkan ....................................

1.2 JAR yang disiapkan .......................................................

BAGIAN II : DATABASE ........................................................

20

BAB 2 : MERANCANG DATABASE PENJUALAN MOTOR .........

21

2.1 Membuat Database.......................................................

21

2.2 Langkah langkah membuat Table ...............................

23

BAGIAN III : PROJECT .........................................................

27

BAB 3 : MEMBUAT PROJECT .................................................

28

3.1 Membuat Project Baru ..................................................

28

3.2 Menyimpan Project .......................................................

30

3.3 Membuat Design Form Login .........................................

39

3.4 Membuat Design Form Menu Utama ..............................

43

3.5 Menjalankan Project .....................................................

45

3.6 Membuka Project..........................................................

49

BAGIAN IV : FORM ...............................................................

50

BAB 4 : MEMBUAT FORM MASTER ........................................

51

4.1 Membuat Desain Form Data Motor ................................

51

4.2 Membuat Desain Form Data Pelanggan..........................

89

4.3 Membuat Desain Form Data About ................................ 103


BAB 5 : MEMBUAT FORM TRANSAKSI .................................. 107
5.1 Membuat Desain Form Pembelian Cash.......................... 107
5.2 Membuat Desain Form Pembelian Kredit ........................ 123
5.3 Membuat Desain Form Pembayaran Cicilan .................... 139
BAB 6 : MEMBUAT FORM DAFTAR LAPORAN ........................ 153
6.1 Membuat Desain Laporan BeliCash per Periode .............. 153
v

6.2 Membuat Desain Laporan Pembelian Kredit per Periode .. 160


6.3 Membuat Desain Laporan Bayar Cicilan per Periode ........ 164
6.4 Membuat Desain Daftar Report per Periode.................... 169
6.5 Membuat Desain Daftar Report Keseluruhan .................. 173
6.6 Melanjutkan Design Form Menu Utama .......................... 181
BAGIAN V : JASPERREPORT ................................................. 193
BAB 7 : MEMBUAT LAPORAN DENGAN JASPERREPORT ....... 194
7.1 Membuat Laporan Keseluruhan ..................................... 194
7.1.1 Membuat koneksi ke Database............................. 194
7.1.2 Membuat Laporan ............................................... ` 196
7.2 Membuat Laporan per Periode....................................... 203
7.3 Menjalan Aplikasi yang telah Beres ................................ 213
DAFTAR PUSTAKA ................................................................ 217

vi

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAGIAN KE I :
SOFTWARE

Page 1

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 1
INSTALASI SOFTWARE
1.1.

Persiapan Instalasi
1.1.1 Software yang harus diinstallkan
SDK
Neatbeans 6.8 (boleh versi yang lainnya)
JasperReport
PhpMyAdmin
1.1.2 JAR yang disiapkan
Mysql-connector-java-5.1.7-bin.jar
jcalendar-1.3.2.jar
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-logging-1.1.jar
jasperreports-4.0.0.jar
iReport.jar
com-Jaspersoft-iReport.jar
iText-2.1.7.js1.jar
jasperreport-extensions-3.5.3.jar
jcommon-1.0.15.jar
groovy-all-1.7.5.jar
1.1.3 Plugin yang harus disiapkan
iReport-4.5.0.nbm
jasperreports-components-plugin-4.5.0.nbm
jasperreports-extensions-plugin-4.5.0.nbm
jasperserver-plugin-4.5.0.nbm

1.2.

Instalasi Software
Sebelum menginstal Neatbeans 6.0 (ke atas) anda harus menginstal JDK terlebih dahulu.
Lihat cara cara penginstalan berikut ini :

Page 2

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

1.2.1 Cara Instalasi SDK


Bukalah folder tempat anda menyimpan file - file instalasi Java SDK. Dalam
contoh ini, saya menyimpannya di drive D, sehingga saya membuka drive D pada
My Computer seperti berikut ini :

Gambar 1.2.1.1 Memilih file JDK yang akan diinstall


Double Click file instalasi Java SDK untuk mengeksekusi instalasi. Dalam contoh
ini, file yang dieksekusi bernama lengkap jdk-6u18-w indow s-i586.exe .
Dalam beberapa detik, akan muncul kotak dialog berisi lembar persetujuan
antara pihak Sun M icrosystems , I nc. sebagai pembuat software dan pihak
anda sebagai pengguna software sebagai berikut ini :

Gambar 1.2.1.2 Melanjutkan proses Instalasi


Bacalah semua point persetujuan ini lalu klik Accept
menyetujuinya maka akan tampil gambar seperti berikut :

sebagai

tanda

Page 3

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 1.2.1.3 Melanjutkan proses Instalasi


Klik Next untuk melanjutkan proses Instalasi, dan Instalasi Java SDK sedang
berproses yang ditandai dengan progress-bar yang menunjukkan status
instalasi seperti berikut :

Gambar 1.2.1.4 Proses Instalasi


Setelah progress-bar mendekati 100%, akan dimunculkan pilihan lokasi untuk
instalasi JRE6 atau Java R untime Environment versi 6. JRE6 ini diperlukan
Page 4

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

pada PC yang hendak menjalankan aplikasi yang dibuat dengan kode Java seperti
berikut :

Gambar 1.2.1.5 Menentukan lokasi penyimpanan Instalasi


Klik Next, Installer Java SDK akan menolak melanjutkan jika anda terlihat sedang
membuka browser Internet Explorer atau browser lain yang menggunakan
teknologi Java (karena instalasi ini akan memodifikasi file-file yang berkaitan
dengan Java di PC). Tutuplah browser lalu klik Close Brow sers and Continue
untuk melanjutkan instalasi seperti berikut :

Gambar 1.2.1.6 Melanjutkan Proses Instalasi

Page 5

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Installer Java SDK memperingatkan anda untuk menyimpan pekerjaan anda


(mungkin maksudnya pekerjaan yang menggunakan browser), lalu setelah
tombol OK diklik, instalasi akan kembali berlanjut

Gambar 1.2.1.7 Melanjutkan Proses Instalasi


Instalasi akan berjalan selama beberapa menit, tergantung pada sumber daya PC
anda (makin tinggi spesifikasi PC anda, makin cepat instalasi berlangsung).

Gambar 1.2.1.8 Proses Instalasi


Saat instalasi selesai, muncul kotak dialog yang memberitakan bahwa instalasi
Java SDK telah selesai. Ada pilihan untuk membuka informasi registrasi produk,
atau bisa anda lewatkan dengan mengklik tombol Finish seperti berikut :

Page 6

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 1.2.1.9 Proses Instalasi


Browser internet anda akan membuka dengan sendirinya untuk menampilkan
ucapan terimakasih atas kesediaan anda menginstal Java SDK dan menawarkan
registrasi produk yang baru saja anda install seperti berikut :

Gambar 1.2.1.10 Tampilan Browser Internet

Page 7

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

1.2.2 Cara Instalasi Neatbeans


Bukalah folder tempat anda menyimpan file - file instalasi Neatbeans. Dalam
contoh ini saya menyimpannya di drive D, sehingga saya membuka drive D pada
My Computer seperti berikut ini :

Gambar 1.2.2.1 Memilih file neatbeans yang akan diinstal


Installer akan membutuhkan waktu beberapa detik untuk mengkonfigurasi dirinya
sendiri seperti berikut :

Gambar 1.2.2.2 Proses Instalasi


setelah itu akan menampilkan selamat datang dan siap melanjutkan instalasi
NetBeans seperti berikut :

Gambar 1.2.2.3 Tampilan Neatbeans IDE


Page 8

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Seperti halnya pada instalasi Java SDK atau produk-produk berlisensi lain,
installer NetBeans akan menampilkan halaman persetujuan antara pembuat
software dan anda sebagai pemakai.

Gambar 1.2.2.4 Persetujuan Instalasi Software


Centanglah pada check-box berlabel I accept the terms in the license
agreement sebagai tanda bahwa anda menyetujui dan berniat melanjutkan
instalasi, lalu klik tombol Next seperti berikut :

Gambar 1.2.2.5 Lokasi Penyimpanan Instalasi


Page 9

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Pilihlah lokasi di mana file-file NetBeans akan diinstal seperti berikut :

Gambar 1.2.2.6 Lokasi Penyimpanan Instalasi


klik Install agar instalasi segera dieksekusi, Proses instalasi akan berjalan dalam
beberapa menit. Makin tinggi spesifikasi PC anda, akan makin cepat proses
instalasinya berlangsung seperti berikut :

Gambar 1.2.2.7 Proses instalasi


Page 10

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Installer akan memberitahu anda saat instalasi selesai. Ada dua informasi yang
bisa anda pilih, yang pertama adalah ikut berkontribusi tidak langsung dengan
mengijinkan PC anda mengirim data untuk statistik penggunaan NetBeans ke
situs NetBeans.org (ini jika anda care pada NetBeans), dan penawaran kedua
adalah mendaftarkan NetBeans yang baru saja diinstal agar bisa mendapatkan
fasilitas dari NetBeans (registrasinya gratis) seperti berikut :

Gambar 1.2.2.8 Proses Instalasi


Centanglah penawaran yang anda suka, atau jika tidak pun tombol Finish tetap
dapat diklik untuk menutup kotak dialog instalasi yang sudah selesai. Instalasi
NetBeans sudah selesai. Anda bisa memeriksa hasil instalasinya atau langsung
saja mulai menggunakannya. Defaultnya, NetBeans bisa dibuka dengan mengklik
Start pada Windows XP, lalu pilih Programs, pilih kelompok menu
NetBeans, lalu klik NetBeans IDE seperti berikut :

Gambar 1.2.2.9 Masuk program Neatbeans

Page 11

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Maka tampil NetBeans sedang dalam proses membuka modul-modul yang


diperlukan untuk membuat aplikasi seperti berikut :

Gambar 1.2.2.10 Proses membuka neatbeans


Anda bisa memulai membuat aplikasi-aplikasi Java, atau sebagai referensi, bisa
juga dicoba membuka-buka sampel atau contoh yang disediakan oleh installer
NetBeans.

Gambar 1.2.2.11 Tampilan Neatbeans IDE 6.8

Page 12

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

1.2.3 Memasang Plugin JasperReport padaNeatbeans


Klik Menu Bar Tools lalu pilih Plugin-> Downloaded seperti berikut :

Gambar 1.2.3.1 Tampilan Plugins


Klik Add Plugins, lalu masukan nbm jasperreports yang tersimpan di folder
plugin seperti berikut :

Gambar 1.2.3.2 Tampilan Add Plugins


Page 13

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik Open -> Install -> Next -> I Agree -> Next -> Next maka akan
muncul tampilan JasperReport seperti berikut :

Gambar 1.2.3.3 Tampilan Jasper Report pada Neatbeans


1.2.4 Cara Instalasi XAMPP-Win-32-1.7.4
Bukalah folder tempat anda menyimpan file - file instalasi Xampp Win-321.7.4. dan double klik Dalam contoh ini saya menyimpannya di drive D, sehingga
saya membuka drive D pada My Computer seperti berikut ini :

Gambar 1.2.4.1 Memilih file xampp yang akan di install


Setelah terbuka maka tampilan yang pertama kali muncul yaitu pemilihan bahasa
(saran saya gunakan bahasa inggris). Klik OK untuk melanjutkan.

Gambar 1.2.4.2 Memilih bahasa yang digunakan


Page 14

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Setelah itu akan tampil seperti dibawah ini, Kemudian klik Next untuk
melanjutkan.

Gambar 1.2.4.3 Melanjutkan proses Instalasi


Tampilan selanjutnya yaitu menunjukkan tempat penyimpanan hasil installasi
software ini. (Saya sarankan hasilnya jangan di simpan di drive C), karena
apabila windows mengalami masalah, server yang telah kita buat dapat mudah
kita selamatkan. Klik Next untuk melanjutkan.

Gambar 1.2.4.4 Lokasi penyimpanan Instalasi


Kemudian kita diberi pilihan apa sajakah yang akan kita install. Pilih sesuai
kebutuhan anda, kita juga dapat menambah icon pada desktop dan menambah
Page 15

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

installasi software ini di start menu. Klik Install untuk memulai proses
Installasi.

Gambar 1.2.4.5 Lokasi penyimpanan Instalasi


Tunggu beberapa saat sampai proses instalasi selesai.

Gambar 1.2.4.6 Lokasi penyimpanan Instalasi

Page 16

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Proses instalasi selesai, kemudian klik finish.

Gambar 1.2.4.7 Proses Instalasi


Sampai tahap ini, berarti kita sudah menginstal XAMPP. Itu berarti kita sudah
selesai menginstall PHP, APACHE dan MYSQL. Langkah selanjutnya adalah
menjalankan service-nya dengan menuju ke control panel XAMPP. Pilih Yes
seperti berikut :

Gambar 1.2.4.8 Menjalankan service dengan control panel


Jalankan Aplikasi XAMPP Control Panel. Atau anda juga dapat
menjalankan XAMPP Control Panel dari desktop atau menu Start -> All
Programs -> apachefriends -> xampp -> xampp control panel.

Page 17

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 1.2.4.9 Menjalankan Aplikasi Xampp


Jalankan Apache dan Mysql dengan mengklik tombol Start seperti berikut :

Gambar 1.2.4.10 Megaktifkan Apache dan MySql


Untuk melihat bahwa XAMPP sudah dapat digunakan caranya adalah :
Buka Browser (Mozilla, Google Crome, Internet Explorer atau Browser lain), ketik
localhost maka akan tampil seperti dibawah ini :

Page 18

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 1.2.4.11 Mengaktifkan Apache dan MySql

Page 19

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAGIAN KE II :
DATABASE

Page 20

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

BAB 2
MERANCANG DATABASE PENJUALAN MOTOR
2.1.

Membuat Database
Langkah Membuat Database :
Buka XAMPP Control Panel, lalu klik Start pada Apache dan Mysql
seperti berikut :

Gambar 2.1.1 Tampilan XAMPP Control Panel Application


Ketikan
localhost/xampp pada
Mozila Firefox atau
Internet Explorer lalu
tekan tombol enter ,maka
akan tampil seperti
berikut :

Gambar 2.1.2 Tampilan XAMPP For


Windows
Klik phpMyAdmin sehingga muncul gambar seperti berikut :

Page 21

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 2.1.3 Tampilan phpMyAdmin


Pada kotak isian Create new database isikan nama database anda,
contohnya penjualan_motor seperti berikut :

Gambar 2.1.4 Pengisian nama database

Page 22

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Tekan Tombol Create sehingga tampil seperti berikut :

Gambar 2.1.5 Tampilan Database

2.2.

Langkah langkah Membuat Table


Ketikan nama table anda pada bagian Create new table on database dan
number of field-nya,contohnya anda akan membuat tabel motor dan
number of fieldnya 4 seperti berikut :

Gambar 2.2.1 Pengisian nama tabel

Page 23

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik Go maka akan tampil seperti berikut :

Gambar 2.2.2 Tampilan untuk pengisian tabel


Lalu isi tabel berikut sesuai dengan keterangan yang telah di tentukan
selanjutnya klik Save maka akan tampil seperti berikut :

Gambar 2.2.3 Tampilan Tabel


Untuk membuat tabel tabel yang lainnya lakukan cara yang sama seperti
membuat tabel motor diatas.

Page 24

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2.2.1. Table Motor


No

Fields

Type

Values

Index

Kode_Motor

VARCHAR

30

Primary Key

Merk

VARCHAR

30

Warna

VARCHAR

30

Harga

INT

30

Type

Values

Index
Primary Key

2.2.2. Table Pelanggan


No

Fields

Kode_Cust

VARCHAR

30

Nama

VARCHAR

30

Alamat

VARCHAR

100

Telepon

VARCHAR

30

No HP

INT

30

No KTP

INT

30

KK

INT

30

Slip_Gaji

INT

30

Keterangan

VARCHAR

150

Type
VARCHAR
Date
VARCHAR
VARCHAR
INT
INT
VARCHAR

Values
30

2.2.3. Table Beli_Cash


No
1
2
3
4
5
6
7

Fields
Kode_Cash
Tanggal_Beli
Kode_Pelanggan
Kode_Motor
Bayar
Sisa
Keterangan

Index
Primary Key

100
30
30
30
150

Page 25

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2.2.4.Table Beli_Kredit
No

Fields

Type

Values

Index

30

Primary Key

Kode_Kredit

VARCHAR

Tanggal_Kredit

Date

Kode_Cust

VARCHAR

100

Kode_Motor

VARCHAR

30

Uang_Muka

INT

30

Bunga

INT

30

Lama_Cicilan

INT

30

Angsuran_Ke

INT

30

Keterangan

VARCHAR

150

2.2.5. Table Bayar_Cicilan


No

Fields

Type

Values

Index

30

Primary Key

Nomor_Bayar

VARCHAR

Tanggal_Bayar

Date

Kode_Kredit

VARCHAR

30

Jumlah

INT

30

Keterangan

VARCHAR

150

2.2.6. Table Login


No

Fields

Type

Values

Index
Primary Key

User Name

VARCHAR

30

Password

VARCHAR

30

Page 26

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAGIAN KE III :
PROJECT

Page 27

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 3
MEMBUAT PROJECT
3.1

Membuat Project Baru


Langkah langkah membuat project baru :
Bukalah editor Netbeans, lalu buat project beru melalui menu File > New
Project, sehingga muncul sebuah jendela New Project.
Pada kolom Categories pilih Java. Selanjutnya pada kolom projects pilih Java
Application, kemudian tekan tombol Next untuk melanjutkan.

Gambar 3.1.1 Jendela New Project


Isilah Project Name (sebagai nama proyek), Project Location (folder atau
lokasi program, Application Class (nama file atau kelas), dan nama kelas
utama seperti berikutini :

Page 28

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.1.2 Penambahan File Project


Klik Finish maka akan tampil seperti berikut :

Gambar 3.1.3 Tampilan class Main


Page 29

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Isikan Kode Program pada Main class seperti berikut :

Gambar 3.1.4 Tampilan class Main


Maka pada bagian Launch ProgressBar dan Login ada tanda merah karena
kita belum membuat form LaunchProgressBar, Login dan Menu Utama.
Selanjutnya kita buat dulu Form LaunchProgressBar, Login dan Menu Utama
seperti dibawah ini.
3.2

Membuat Desain Form Launch ProgressBar


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> Other -> Swing GUI Forms -> JDialog
Form....

Page 30

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.2.1 Membuat Object baru


Pada jendela New JDialog Form, isikan Launch Progress Bar pada kotak isian
Class Name, dan Package pilih ulpah (nama package sesuai yang anda
inginkan, apabila ingin memakai package baru bisa langsung di ketikan di bagian
kotak isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 3.2.2 Menentukan Nama Form JDialog Form


Page 31

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.2.3 Desain Form Baru


Desainlah form LaunchProgressBar ini sesuai dengan keinginan anda contohnya
sebagai berikut :

Gambar 3.2.4 Desain Form Launch ProgressBar

Page 32

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Keterangan :
Daftar Properties yang digunakan :
Properties

Pallete

Edit Text

Change Variable Name

jPanel1

SplashPanel

jProgressBar1

ProgressBar

Sebelum mengisi kode program pada form LanchProgressBar anda harus


memasukan dulu image pada project anda dengan cara sebagai berikut :

Klik kanan pada project anda lalu pilih Java Package maka akan
tampil seperti berikut :

Gambar 3.2.5 Menentukan nama package

Pada kotak isian Package Name ada tulisan ulpah.newpackage, ganti


newpackage dengan kata image, kemudian Click Finish maka akan
tampil seperti berikut :

Page 33

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 3.2.6 Folder image

Copykan file image anda dengan cara masuk ke drive C ->


AplikasiPenjualanMotor -> image -> paste pada folder image, maka
file image sudah ada pada project anda seperti berikut :

Gambar 3.2.7 File image pada project


Penyimpanan image sudah anda lakukan, Selanjutnya
LaunchProgressBar lalu pilih resource seperti berikut :

buka

Form

Page 34

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 3.2.8 Tampilan source LaunchProgressBar


Pada bagian package tambahkan kode sebagai berikut :

Gambar 3.2.9 Kode Program LaunchProgressBar


Pada bagian bagian bawah public class LaunchProgressBar extends
javax.swing.JDialog { ada code program seperti berikut :

Page 35

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.2.10 Kode Program LaunchProgressBar


Hapus kode yang dikotak merah maka hasilnya seperti berikut :

Gambar 3.2.11 Kode Program LaunchProgressBar


Tambahkan kode program di bagian atas initComponents(); seperti berikut :

Gambar 3.2.12 Kode Program LaunchProgressBar


Hapus semua kode program berikut yang terletak pada bagaian bawah
@SuppressWarnings("unchecked")

Gambar 3.2.13 Kode Program LaunchProgressBar yang harus dihapus

Page 36

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Dibagian paling bawah tambahkan kode seperti berikut :


class BgSplash extends PanelUI {
ImageIcon background = new
ImageIcon(getClass().getResource("/ulpah/image/f.png"));
@Override
public void paint(Graphics g, JComponent c) {
g.drawImage(background.getImage(), 0, 0, null);
}
}

Gambar 3.2.14 Kode Program LaunchProgressBar


Hati hati lokasi code program buat lokasi penyimpanan image nya salah karena
jika salah, project anda tidak akan bisa di jalankan, Untuk melengkapi kode
program tersebut ketikan kode program di bagian bawah initComponents();
seperti berikut :

Page 37

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.2.15 Kode Program LaunchProgressBar


Maka kode program untuk form LaunchProgressBar sudah selesai hasilnya seperti
berikut :

Gambar 3.2.16 Kode Program LaunchProgressBar


Page 38

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

3.3

2013

Membuat Desain Form Login


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 3.3.1 Membuat Object baru


Pada jendela New JFrame Form, isikan Login pada kotak isian Class Name,
dan Package pilih ulpah (nama package sesuai yang anda inginkan, apabila
ingin memakai package baru bisa langsung di ketikan di bagian kotak isian
package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 3.3.2 Menentukan Nama Form JFrame Form


Page 39

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 3.3.3 Menentukan Nama Form JFrame Form


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 3.3.4 Desain Form Login


Keterangan :
Daftar Propertis yang digunakan

Pallete
Label1

Propertiis
Edit Text
User Name

Change Variable Name


jLabel1

Page 40

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Label2

Password

jLabel2

TextField1

txtname

Password Field

txtpass

Button1

Ok

ok

Button2

Cancel

cancel

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import javax.swing.JOptionPane;
import java.sql.*;
import javax.swing.*;
2. Pada bagian public class Login extends javax.swing.JFrame {
tambahkan kode berikut :
public class Login extends javax.swing.JFrame {
public Connection conn;
public Statement cn;
/** Creates new form Login */
public Login(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
this.setLocationRelativeTo(null);
this.setTitle("Login");
this.setAlwaysOnTop(true);
}
public void koneksi(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor","root","");
cn = conn.createStatement();
}catch (Exception e){
JOptionPane.showMessageDialog(null,"koneksi gagal..");
Page 41

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

System.out.println(e.getMessage());
}
}
public void cariuser(){
try{
koneksi();
String sql = "Select * from login where User_Name='"+txtname.getText()+"' and
Password='" + txtpass.getText() + "'";
ResultSet rs = cn.executeQuery(sql);
if (rs.next())
{
JOptionPane.showMessageDialog(null, "Selamat Login Anda Sukses.....!");
new FrmMenuUtama().show();
this.dispose();
}
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
}
3. Buatlah kode program Ok dengan mengklik kanan button Ok ->events -> action > ActionPerformed.
private void okActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cariuser();
}
4. Buatlah kode program Cancel dengan mengklik kanan button Cancel ->events ->
action -> ActionPerformed.
private void cancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Apakah anda yakin mau
membatalkan Login, \n jika anda menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

Page 42

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

5. Jalankan Program kemudian klik FrmLogin maka akan tampil seperti berikut:

Gambar 3.3.5 Tampilan Form Login

3.4

Membuat Desain Form Menu Utama


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 3.4.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmMenuUtama pada kotak isian Class
Name, dan Package pilih ulpah (nama package sesuai yang anda inginkan,
apabila ingin memakai package baru bisa langsung di ketikan di bagian kotak
isian package) lalu tekan tombol Finish untuk mengakhiri.

Page 43

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.4.2 Menentukan Nama Form JFrame Fom

Gambar 3.4.3 Tampilan JFrame Form


Karena Form Master dan Form Transaksi belum dibuat maka pembuatan Form
Menu Utama sampai disini dulu.

Page 44

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

3.5

2013

Menjalankan Project
Langkah selanjutnya anda buka class Main maka kode program tersebut tidak
ada yang eror lagi seperti berikut :

Gambar 3.5.1 Kode program Main Class


Save Project anda dengan cara File -> Save, lalu Klik kanan pada project dan
pilih Clean and Build, setelah itu klik tanda
maka akan tampil Progress
Bar seperti berikut :

Gambar 3.5.2 Tampilan ProgressBar

Page 45

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 3.5.3 Tampilan Login


Anda tidak akan pernah bisa masuk jika belum mengisikan databasenya pada
tabel login di phpMyAdmin dan memasang file JAR pada Library caranya
sebagai berikut :
a. Mengisi database pada tabel Login
Buka phpMyAdmin -> penjualan_motor -> login -> pada menu SQL
ketikan seperti berikut inser into login values(ulpah,java)

Gambar 3.5.4 Mengisi Database

Klik Go maka jika tampil gambar seperti di bawah berarti data sudah tersimpan.

Gambar 3.5.5 Database tabel Login


Page 46

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

b. Memasang file JAR pada Library


Buatlah Folder lib pada folder C:\AplikasiPenjualanMotor\kemudian copy file
semua file jar yang sudah di siapkan sebelumnya.
Langkah selanjutnya masukan jar yang sudah di simpan di folder lib pada
Libraries dengan cara klik kanan Libraries -> Add JAR/Folder ->
masukan semua connector yang ada di folder lib seperti berikut :

Gambar 3.5.6 Memasang file JAR


Klik Open maka file jar sudah terpasang pada Library anda sebagai
berikut :

Page 47

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.5.7 Tampilan connector pada Libraries


Jalankan kembali Project anda lalu pada tampilan login isi User Name dan
Password sama dengan yang anda isi pada database di phpMyAdmin seperti
berikut :

Gambar 3.5.8 Tampilan Login


Klik tombol Ok maka akan tampil perintah seperti berikut :

Page 48

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 3.5.9 Tampilan jika login anda sukses


Klik Ok maka akan tampil Form Menu Utama seperti berikut :

Gambar 3.5.10 Tampilan Form Menu Utama


Karena Form Menu Utama belum anda design maka tampilannya kosong
seperti gambar di atas.
3.6

Membuka Project
Untuk Membuka project yang sudah dibuat dengan cara File -> Open Project >cari project di folder tempat penyimpanan project anda->Klik Open
Project.
Page 49

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAGIAN KE IV :
FORM

Page 50

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 4
MEMBUAT FORM MASTER
4.1.

Membuat Desain Form Data Motor


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 4.1.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmMotor pada kotak isian Class
Name, dan Package pilih ulpah (nama package sesuai yang anda inginkan,
apabila ingin memakai package baru bisa langsung di ketikan di bagian kotak
isian package) lalu tekan tombol Finish untuk mengakhiri.

Page 51

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 4.1.2 Menentukan Nama Form JFrame Form

Gambar 4.1.3 Desain Form Baru


Untuk membuat desain form pada neatbeans anda perlu menggunakan palette
dengan cara pilih menu windows dan pilih palette seperti berikut :

Page 52

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 4.1.4 Menampilkan palette dari menu Windows


Klik menu Pelette tersebut maka akan tampil seperti berikut :

Gambar 4.1.5 Tampilan palette


Drag Internal Frame yang ada pada Palette ke form anda

Page 53

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 4.1.6 Memilih Internal Frame pada palette

Gambar 4.1.7 Tampilan Internal Frame pada Form


Perbesar Internal Frame anda sesuai dengan kebutuhan sebagai contoh lihat
gambar seperti berikut :

Gambar 4.1.8 Memanggil palette dari windows

Page 54

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Setelah itu anda buat menu close, minimize dan maximize juga title/judul
dengan cara klik kanan Internal Prame tersebut dan pilih Properties maka
akan tampil properties seperti berikut :

Gambar 4.1.9 Tampilan properties Internal Frame


Ceklis closable, iconifable, maximizable, resizable dan pada title anda
ketikan Data motor seperti berikut :

Page 55

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 4.1.10 Mengaktifkan menu close, minimize, maximize pada


Internal Frame
Klik tombol close maka form anda berubah seperti berikut :

Gambar 4.1.11 Tampilan Internal Frame setelah di edit


Page 56

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Drag Panel pada palette, lalu kasih warna sesuai dengan keinginan anda seperti
berikut :
Langkah 1

Langkah 2

Langkah 3

Gambar 4.1.12 Memilih warna pada background

Page 57

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Langkah 4

2013

Langkah 5

Perbesar panel sampai pas dengan internal frame seperti berikut :

Gambar 4.1.13 Tampilan panel pada Form

Page 60

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Drag panel kembali kemudian berikan warna yang anda inginkan, kemudian
masuk ke properties -> border -> Titled Border -> pada bagian bawah
terdapat title, anda isikan Detail Data Motor. -> Ok Langkah langkahnya
seperti berikut :
Langkah 1

Gambar 4.1.14 Tampilan panel pada panel


Langkah 2

Gambar 4.1.15 Memilih border pada panel


Page 61

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 3

Gambar 4.1.16 Mengisi judul pada panel


Langkah 4

Gambar 4.1.17 Tampilan panel pada panel


Page 62

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Drag 4 buah Label dari Palette ke dalam panel -> kemudian Edit label
tersebut dengan cara Klik kanan -> Edit Text -> Edit text tersebut sesuai
dengan keterangan yang telah di tentukan seperti berikut
Langkah 1

Gambar 4.1.18 Tampilan panel pada Form


Langkah 2

Gambar 4.1.19 Tampilan Label pada Form


Page 63

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 3

Gambar 4.1.20 Tampilan Label pada panel


Drag 2 TextField dan 2 Combo Box ke ke dalam panel -> kemudian Edit
textfield tersebut dengan cara Klik kanan -> Change Variable Name ->
Edit text tersebut sesuai dengan keterangan yang telah di tentukan. Langkah
langkahnya seperti berikut :
Langkah 1

Gambar 4.1.21 Memilih Combo Box pada panel


Page 64

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 2

Gambar 4.1.22 Tampilan TextField pada panel


Langkah 3

Gambar 4.1.23 Cara Menghapus text pada TextField


Page 65

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 4

Gambar 4.1.24 Menghapus text pada TextField


Langkah 5

Gambar 4.1.25 Hasil textfield setelah dihapus

Page 66

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 6

Gambar 4.1.26 Cara mengisi Combo pada properties


Langkah 7

Gambar 4.1.27 Mengisi ComboBox

Page 67

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 8

Gambar 4.1.28 Tampilan TextField setelah di edit

Langkah 9

Langkah 10

Page 68

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Langkah 11

2013

Langkah 12

Drag panel kembali kemudian berikan warna yang anda inginkan, kemudian
masuk ke properties -> border -> Titled Border -> pada bagian bawah
terdapat title, anda isikan Tombol. -> Ok Langkah langkahnya sama dengan
membuat panel yang sebelumnya dan hasilnya seperti berikut :

Gambar 4.1.29 Tampilan panel


Page 69

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Drag 7 buah Button dari Palette ke dalam panel -> kemudian Edit button
tersebut dengan cara Klik kanan -> Change Variable Name -> Edit text
tersebut sesuai dengan keterangan yang telah di tentukan. Langkah- langkahnya
seperti berikut:
Langkah 1

Gambar 4.1.30 Tampilan button pada panel


Langkah 2

Gambar 4.1.31 Mengubah text pada button


Page 70

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 3

Gambar 4.1.32 Cara Rename button


Lakukan cara yang sama untuk mengubah button yang lainnya, sehingga seperti
gambar berikut :

Gambar 4.1.33 Tampilan button setelah di edit


Page 71

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Agar tombol tersebut terlihat lebih menarik, Anda harus menambahkan icon pada
button tersebut dengan cara klik salah satu button tersebut pilih properties ->
icon -> pilih icon yang anda pilih di folder image anda. Langkahlangkahnya seperti berikut :
Langkah 1

Gambar 4.1.34 Menambahkan icon pada button


Langkah 2

Gambar 4.1.35 Memilih lokasi tempat penyimpanan icon


Page 72

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 3

Gambar 4.1.36 Memilih image


Langkah 4

Gambar 4.1.37 Memilih image icon


Page 73

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 5

Gambar 4.1.38 Tampilan button setelah diedit


Lakukan cara yang sama untuk mengubah icon button yang lainnya, sehingga
seperti gambar berikut :

Gambar 4.1.39 Tampilan button setelah diedit


Page 74

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Agar form anda terlihat lebih menarik lagi, tambahkan judul dan keterangan
seperti gambar berikut :

Gambar 4.1.40 Tampilan Form setelah memakai judul


Tambahkan tabel di bagian bawah dengan cara pilih tabel pada palette lalu drag
pada form anda. Langkah langkahnya seperti berikut :

Page 75

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 1

Gambar 4.1.41 Menambahkan tabel pada Form


Langkah 2

Gambar 4.1.42 Mengubah nama tabel


Page 76

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Pilih Properties -> model -> ubah nama title tersebut -> Ok. Langkah
langkahnya seperti berikut :
Langkah 1

Gambar 4.1.43 Mengubah model tabel


Langkah 2

Gambar 4.1.44 Mengubah nama Title pada tabel


Page 77

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Langkah 3

Gambar 4.1.45 Tampilan tabel setelah diedit


tambahkan sebuah label di bagian bawah untuk menempatkan identitas pembuat
program,kemudian klik kanan,pilih edit teks,andi ketikan nama anda dan tahun
pembuatan contoh : created by Ulfah@2013

Gambar 4.1.46 Menambahkan identitas pembuat program


Page 78

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Pembuatan form motor sudah selesai, dan hasilnya seperti berikut :

Gambar 4.1.47 Desain Form Motor


Keterangan :
Daftar Propertis yang digunakan
Pallete
Label1
Label2
Label3
Label4
Text Field1
Text Field2
Text Field3
Text Field4
Button1
Button2
Button3
Button4
Button5
Button6
Button7
Table

Edit Text
Kode Motor
Merk Motor
Warna
Harga

New
Save
Cancel
Edit
View Report
Delete
Close

Propertiis
Change Variable Name
jLabel1
jLabel2
jLabel3
jLabel4
txtKode_Motor
cbo_Merk
cbo_Warna
txtHarga
NEW
SAVE
CANCEL
EDIT
PRINT
DELETE
EXIT
tbl_Motor
Page 79

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.table.*;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
2. Pada bagian public class FrmMotor extends javax.swing.JFrame tambahkan kode
berikut :
public class FrmMotor extends javax.swing.JFrame {
Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
public void buka_db(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_moto
r",
"root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
Page 80

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

System.exit(0);
}
}
/** Creates new form FrmMotor */
public FrmMotor() {
initComponents();
this.setLocationRelativeTo(getRootPane());
buka_db();
tampildata();
}
3. Buatlah kode program untuk menampilkan nomor secara otomatis letakkan disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void buatnomor(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_
UPDATABLE);
String sql = "Select Kode_Motor as no from motor ORDER by Kode_Motor desc";
ResultSet res=stt.executeQuery(sql);
if (res.next())
{
String Str = "0000";
String nomer = res.getString("no");
int no_t = Integer.parseInt(nomer) + 1;
String str_no = Integer.toString(no_t);
txtKode_Motor.setText(Str.substring(0,4 - str_no.length()) +
Integer.toString(no_t));
}
else{
int no_t = 1;
txtKode_Motor.setText("000" + Integer.toString(no_t));
}
res.close();
}catch (Exception e){
}
}
Page 81

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database,
letakkan disembarang tempat yang memiliki space kosong seperti berikut ini:
public void tampildata(){
DefaultTableModel tabelnyo = new DefaultTableModel();
tabelnyo.addColumn("Kode_Motor");
tabelnyo.addColumn("Merk ");
tabelnyo.addColumn("Warna");
tabelnyo.addColumn("Harga");
try{
stm = koneksi.createStatement();
String sql = "Select * from motor order by Kode_Motor asc";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
tabelnyo.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
});
}
tbl_Motor.setModel(tabelnyo);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
}
5. Buatlah perintah BersihData,SetEditOff, SetEditON , SetAktif , dan SetInAktif
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
txtKode_Motor.setText("");
cbo_Merk.setSelectedItem("");
cbo_Warna.setSelectedItem("");
txtHarga.setText("");
}
public void SetEditOff(){
txtKode_Motor.setEnabled(false);
cbo_Merk.setEnabled(false);
Page 82

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

cbo_Warna.setEnabled(false);
txtHarga.setEnabled(false);
}
public void SetEditOn(){
txtKode_Motor.setEnabled(true);
cbo_Merk.setEnabled(true);
cbo_Warna.setEnabled(true);
txtHarga.setEnabled(true);
}
public void SetAktif(){
NEW.setEnabled(false);
SAVE.setEnabled(true);
CANCEL.setEnabled(true);
DELETE.setEnabled(false);
UPDATE.setEnabled(true);
EXIT.setEnabled(false);
}
public void SetInAktif(){
NEW.setEnabled(true);
SAVE.setEnabled(false);
CANCEL.setEnabled(false);
DELETE.setEnabled(true);
UPDATE.setEnabled(false);
EXIT.setEnabled(true);
}
6. Buatlah kode program New dengan mengklik kanan button New ->events -> action
-> ActionPerformed.
private void NEWActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buatnomor();
BersihData();
txtKode_Motor.requestFocus();
buatnomor();
SetAktif();
SetEditOn();
}
Page 83

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

7. Buatlah kode program Save dengan mengklik kanan button SAVE ->events -> action
-> ActionPerformed.
private void SAVEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
stm = koneksi.createStatement();
String KodeMtr=txtKode_Motor.getText();
String ComboMerk=cbo_Merk.getSelectedItem().toString();
String ComboWarna=cbo_Warna.getSelectedItem().toString();
String Hrga=txtHarga.getText();
if (edit==true){
stm.executeUpdate("update motor set "
+ "Merk='"+ComboMerk+"',"
+ "Warna='"+ComboWarna+"',"
+ "Harga='"+Hrga+"' "
+ " where Kode_Motor='" + KodeMtr + "'");
}else{
stm.executeUpdate("INSERT into motor VALUES('"+KodeMtr+"',"
+ "'"+ComboMerk+"','"+ComboWarna+"','"+Hrga+"')");
}
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, "Data telah berhasil disimpan");
}catch (Exception e){
JOptionPane.showMessageDialog(null,"Proses penyimpanan gagal/koneksi
gagal..");
System.out.println(e.getMessage());
}
tampildata();
BersihData();
SetInAktif();
SetEditOff();
}
8. Buatlah kode program Cancel dengan mengklik kanan button CANCEL ->events ->
action -> ActionPerformed.
private void CANCELActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
Page 84

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

BersihData();
SetInAktif();
SetEditOff();
}
9. Buatlah kode program Update dengan mengklik kanan button UPDATE ->events ->
action -> ActionPerformed.
private void UPDATEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
cbo_Merk.requestFocus();
SetAktif();
SetEditOn();
edit=true;
txtKode_Motor.setEnabled(false);
}
10. Buatlah kode program View Report dengan mengklik kanan button PRINT ->events
-> action -> ActionPerformed.
private void PRINTActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
{PRINT.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/LaporanMotor.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);

Page 85

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
PRINT.setCursor(Cursor.getDefaultCursor());
}
}

11. Buatlah kode program Delete dengan mengklik kanan button DELETE ->events ->
action -> ActionPerformed.
private void DELETEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KodeMtr=txtKode_Motor.getText();
String ComboMerk=cbo_Merk.getSelectedItem().toString();
String ComboWarna=cbo_Warna.getSelectedItem().toString();
String Hrga=txtHarga.getText();
if((KodeMtr.isEmpty())|(ComboMerk.isEmpty())|(ComboWarna.isEmpty())|(Hrga.i
sEmpty())){
JOptionPane.showMessageDialog(null,"data tidak boleh kosong silahkan
lengkapi");
txtKode_Motor.requestFocus();
}else{
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor", "root", "");
stm = koneksi.createStatement();
String SQL="Delete From motor Where
Kode_Motor='"+txtKode_Motor.getText().toString()+"'";
Page 86

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

stm.executeUpdate(SQL);
String a=txtKode_Motor.getText();
String b=cbo_Merk.getSelectedItem().toString();
String c=cbo_Warna.getSelectedItem().toString();
String d=txtHarga.getText();
tampildata();
stm.close();
koneksi.close();
BersihData();
SAVE.setEnabled(false);
SetEditOff();
buka_db();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
12. Buatlah kode program Close
action -> ActionPerformed.

dengan mengklik kanan button EXIT ->events ->

private void EXITActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika anda
menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

13. Untuk menonaktifkan button saat program dijalankan buatlah kode program dengan
cara klik kanan pada windows form ->events -> Window -> WindowOpened.
Page 87

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

private void formWindowOpened(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
this.setTitle(".::. Entry Data Motor .::.");
SetInAktif();
SetEditOff();
}
14. Buatlah kode program untuk menampilkan data pada tabel dengan cara klik kanan
tabel motor ->events -> Mouse -> MouseClicked.
private void tbl_MotorMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int table = tbl_Motor.getSelectedRow();
String a = tbl_Motor.getValueAt(table, 0).toString();
String b = tbl_Motor.getValueAt(table, 1).toString();
String c = tbl_Motor.getValueAt(table, 2).toString();
String d = tbl_Motor.getValueAt(table, 3).toString();
txtKode_Motor.setText(a);
cbo_Merk.setSelectedItem(b);
cbo_Warna.setSelectedItem(c);
txtHarga.setText(d);
UPDATE.requestFocus();
txtKode_Motor.setEnabled(false);
}

Page 88

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

15. Jalankan Program kemudian klik FrmMotor maka akan tampil seperti berikut:

Gambar 4.1.5 Tampilan Program Data Motor


4.2.

Membuat Desain Form Data Pelanggan


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 4.2.1 Membuat Object baru


Page 89

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Pada jendela New JFrame Form, isikan FrmPelanggan pada kotak isian Class
Name, dan Package pilih ulpah (nama package sesuai yang anda inginkan,
apabila ingin memakai package baru bisa langsung di ketikan di bagian kotak
isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 4.2.2 Menentukan Nama Form JFrame Form

Gambar 4.2.3 Menentukan Nama Form JFrame Form


Page 90

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 4.2.4 Desain Form Data Pelanggan


Keterangan :
Daftar Properties yang digunakan
Pallete
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Label8
Label9
Text Field1
Text Field2
Text Field3

Edit Text
Kode Customer
Nama
Alamat
Telepon
No HP
KK
No KTP
Slip Gaji
Keterangan

Properties
Change Variable Name
jLabel1
jLabel2
jLabel3
jLabel4
jLabel5
jLabel6
jLabel7
jLabel8
jLabel9
txtKode_Customer
cbo_Warna
txt_Alamat
Page 91

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Text Field4
Text Field5
Text Field6
Text Field7
Text Field8
Text Field9
Button1
Button2
Button3
Button4
Button5
Button6
Button7
Table

New
Save
Cancel
Edit
View Report
Delete
Close

txt_Telepon
txt_Nohp
txt_KK
txt_NoKTP
txt_SlipGaji
txt_Keterangan
NEW
SAVE
CANCEL
EDIT
PRINT
DELETE
EXIT
tbl_Pelanggan

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah seperti kode berikut:
package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;
import javax.swing.table.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

2. Pada bagian public class FrmPelanggan extends javax.swing.JFrame tambahkan


kode berikut :

Page 92

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

public class FrmPelanggan extends javax.swing.JFrame {


Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
public void buka_db(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_m
otor", "root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
System.exit(0);
}
}
/** Creates new form FrmPelanggan */
public FrmPelanggan() {
initComponents();
this.setLocationRelativeTo(getRootPane());
buka_db();
tampildata();
}
3. Buatlah kode program untuk menampilkan nomor secara otomatis letakkan disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void buatnomor(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_
UPDATABLE);
Page 93

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

String sql = "Select Kode_Cust as no from pelanggan ORDER by Kode_Cust desc";


ResultSet res=stt.executeQuery(sql);
if (res.next())
{
String Str = "0000";
String nomer = res.getString("no");
int no_t = Integer.parseInt(nomer) + 1;
String str_no = Integer.toString(no_t);
txtKode_Cust.setText(Str.substring(0,4 - str_no.length()) +
Integer.toString(no_t));
}
else{
int no_t = 1;
txtKode_Cust.setText("000" + Integer.toString(no_t));
}
res.close();
}catch (Exception e){
}
}
4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database,
letakkan disembarang tempat yang memiliki space kosong seperti berikut ini:
public void tampildata(){
DefaultTableModel tabelnyo = new DefaultTableModel();
tabelnyo.addColumn("Kode_Cust");
tabelnyo.addColumn("Nama ");
tabelnyo.addColumn("Alamat");
tabelnyo.addColumn("Telepon");
tabelnyo.addColumn("HP");
tabelnyo.addColumn("No_KTP ");
tabelnyo.addColumn("KK");
tabelnyo.addColumn("Slip_Gaji ");
tabelnyo.addColumn("Keterangan");
try{
stm = koneksi.createStatement();
String sql = "Select * from pelanggan order by Kode_Cust asc";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
Page 94

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

tabelnyo.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5),
rs.getString(6),
rs.getString(7),
rs.getString(8),
rs.getString(9),
});
}
tbl_Pelanggan.setModel(tabelnyo);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
buka_db();
}
5. Buatlah perintah BersihData,SetEditOff, SetEditON , SetAktif , dan SetInAktif
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
txtKode_Customer.setText("");
txtNama.setText("");
txt_Alamat.setText("");
txt_Telepon.setText("");
txt_Nohp.setText("");
txt_NoKTP.setText("");
txt_KK.setText("");
txt_SlipGaji.setText("");
txt_Keterangan.setText("");
}
public void SetEditOff(){
txtKode_Customer.setEnabled(false);
txtNama.setEnabled(false);
txt_Alamat.setEnabled(false);
txt_Telepon.setEnabled(false);
txt_Nohp.setEnabled(false);
txt_NoKTP.setEnabled(false);
Page 95

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

txt_KK.setEnabled(false);
txt_SlipGaji.setEnabled(false);
txt_Keterangan.setEnabled(false);
}
public void SetEditOn(){
txtKode_Customer.setEnabled(true);
txtNama.setEnabled(true);
txt_Alamat.setEnabled(true);
txt_Telepon.setEnabled(true);
txt_Nohp.setEnabled(true);
txt_NoKTP.setEnabled(true);
txt_KK.setEnabled(true);
txt_SlipGaji.setEnabled(true);
txt_Keterangan.setEnabled(true);
}
public void SetAktif(){
NEW.setEnabled(false);
SAVE.setEnabled(true);
UPDATE.setEnabled(true);
DELETE.setEnabled(false);
CANCEL.setEnabled(true);
EXIT.setEnabled(false);
}
public void SetInAktif(){
NEW.setEnabled(true);
SAVE.setEnabled(false);
UPDATE.setEnabled(false);
DELETE.setEnabled(true);
CANCEL.setEnabled(false);
EXIT.setEnabled(true);
}
6. Buatlah kode program New dengan mengklik kanan button New ->events -> action
-> ActionPerformed.
private void NEWActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
txtNama.requestFocus();
Page 96

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

buatnomor();
SetAktif();
SetEditOn();
}
7. Buatlah kode program Save dengan mengklik kanan button SAVE ->events -> action
-> ActionPerformed.
private void SAVEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
stm = koneksi.createStatement();
String kdcst=txtKode_Customer.getText();
String nama=txtNama.getText();
String alamat=txt_Alamat.getText();
String telepon=txt_Telepon.getText();
String nohp=txt_Nohp.getText();
String noktp=txt_NoKTP.getText();
String kk=txt_KK.getText();
String sgaji=txt_SlipGaji.getText();
String keterangan=txt_Keterangan.getText();
if (edit==true){
stm.executeUpdate("update pelanggan set "
+ "Nama='"+nama+"',"
+ "Alamat='"+alamat+"',"
+ "Telepon='"+telepon+"',"
+ "No_HP='"+nohp+"',"
+ "No_KTP='"+noktp+"',"
+ "KK='"+kk+"',"
+ "Slip_Gaji='"+sgaji+"',"
+ "Keterangan='"+keterangan+"',"
+ " where Kode_Cust='" + kdcst + "'");
}else{
stm.executeUpdate("insert into pelanggan values('"+kdcst+"',"
+
"'"+nama+"','"+alamat+"','"+telepon+"','"+nohp+"','"+noktp+"','"+kk+"','"+sgaji
+"','"+keterangan+"')");
}
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
Page 97

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

}
tampildata();
BersihData();
SetInAktif();
SetEditOff();
}
8. Buatlah kode program Cancel dengan mengklik kanan button CANCEL ->events ->
action -> ActionPerformed.
private void CANCELActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
BersihData();
SetInAktif();
SetEditOff();
}
9. Buatlah kode program Update dengan mengklik kanan button UPDATE ->events ->
action -> ActionPerformed.
private void UPDATEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
txtNama.requestFocus();
SetAktif();
SetEditOn();
edit=true;
txtKode_Customer.setEnabled(false);
}
10. Buatlah kode program View Report dengan mengklik kanan button PRINT ->events
-> action -> ActionPerformed.
private void PRINTActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
{PRINT.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;

Page 98

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/LaporanPelanggan.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
PRINT.setCursor(Cursor.getDefaultCursor());
}
}

11. Buatlah kode program Delete dengan mengklik kanan button DELETE ->events ->
action -> ActionPerformed.
private void DELETEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String kdcst=txtKode_Customer.getText();
String nama=txtNama.getText();
String alamat=txt_Alamat.getText();
Page 99

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

String telepon=txt_Telepon.getText();
String nohp=txt_Nohp.getText();
String noktp=txt_NoKTP.getText();
String kk=txt_KK.getText();
String sgaji=txt_SlipGaji.getText();
String keterangan=txt_Keterangan.getText();
if((kdcst.isEmpty())|(nama.isEmpty())|(alamat.isEmpty())|(telepon.isEmpty())|(no
hp.isEmpty())|(noktp.isEmpty())|(kk.isEmpty())|(sgaji.isEmpty())|(keterangan.isE
mpty())){
JOptionPane.showMessageDialog(null,"data tidak boleh kosong silahkan
lengkapi");
txtKode_Customer.requestFocus();
}else{
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor",
"root", "");
stm = koneksi.createStatement();
String SQL="Delete From pelanggan Where
Kode_Cust='"+txtKode_Customer.getText().toString()+"'";
stm.executeUpdate(SQL);
String a=txtKode_Customer.getText();
String b=txtNama.getText();
String c=txt_Alamat.getText();
String d=txt_Telepon.getText();
String e=txt_Nohp.getText();
String f=txt_NoKTP.getText();
String g=txt_KK.getText();
String h=txt_SlipGaji.getText();
String i=txt_Keterangan.getText();
tampildata();
stm.close();
koneksi.close();
BersihData();
SAVE.setEnabled(false);
SetEditOff();
Page 100

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

buka_db();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
12. Buatlah kode program Close
action -> ActionPerformed.

dengan mengklik kanan button EXIT ->events ->

private void EXITActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika anda
menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

13. Untuk menonaktifkan button saat program dijalankan buatlah kode program dengan
cara klik kanan pada windows form ->events -> Window -> WindowOpened.
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setTitle(".::. Pencatatan Data Pelanggan .::.");
SetInAktif();
SetEditOff();
}
14. Buatlah kode program untuk menampilkan data pada tabel dengan cara klik kanan
tabel pelanggan ->events -> Mouse -> MouseClicked.

Page 101

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

private void tbl_PelangganMouseClicked(java.awt.event.MouseEvent


evt) {
// TODO add your handling code here:
int table = tbl_Pelanggan.getSelectedRow();
String a = tbl_Pelanggan.getValueAt(table, 0).toString();
String b = tbl_Pelanggan.getValueAt(table, 1).toString();
String c = tbl_Pelanggan.getValueAt(table, 2).toString();
String d = tbl_Pelanggan.getValueAt(table, 3).toString();
String e = tbl_Pelanggan.getValueAt(table, 4).toString();
String f = tbl_Pelanggan.getValueAt(table, 5).toString();
String g = tbl_Pelanggan.getValueAt(table, 6).toString();
String h = tbl_Pelanggan.getValueAt(table, 7).toString();
String i = tbl_Pelanggan.getValueAt(table, 8).toString();
txtKode_Customer.setText(a);
txtNama.setText(b);
txt_Alamat.setText(c);
txt_Telepon.setText(d);
txt_Nohp.setText(e);
txt_NoKTP.setText(f);
txt_KK.setText(g);
txt_SlipGaji.setText(h);
txt_Keterangan.setText(i);
txtKode_Customer.setEnabled(false);
UPDATE.requestFocus();
}

15. Jalankan Program kemudian klik FrmPelanggan maka akan tampil seperti berikut:

Page 102

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 4.2.5 Tampilan Form Pelanggan


4.3

Membuat Desain Form About


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 4.3.1 Membuat Object baru

Page 103

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Pada jendela New JFrame Form, isikan About pada kotak isian Class Name,
dan Package pilih anggoro (nama package sesuai yang anda inginkan, apabila
ingin memakai package baru bias langsung di ketikan di bagian kotak isian
package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 4.3.2 Menentukan Nama Form JFrame Form

Gambar 4.3.3 Desain Form Baru

Page 104

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Desainlah form About ini sesuai dengan keinginan anda contohnya sebagai
berikut :

Gambar 4.3.4 Desain Form About


Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import javax.swing.JOptionPane;

2. Buatlah kode program Close dengan mengklik kanan button Close ->events ->
action -> ActionPerformed.
private void closeActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n
Klik OK untuk keluar",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
Page 105

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

this.dispose();
}
3. Jalankan Program kemudian klik FrmAbout maka akan tampil seperti berikut:

Gambar 4.3.5 Tampilan Form About

Page 106

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 5
MEMBUAT FORM TRANSAKSI
5.1

Membuat Desain Form Pembelian Cash


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 5.1.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmPembelianCash pada kotak isian
Class Name, dan Package pilih ulpah (nama package sesuai yang anda
inginkan, apabila ingin memakai package baru bisa langsung di ketikan di bagian
kotak isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 5.1.2 Menentukan Nama Form JFrame Form

Page 107

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 5.1.3 Desain Form Baru


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 5.1.4 Desain Form Pembelian Cash

Page 108

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Keterangan :
Daftar Propertis yang digunakan
Pallete
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Text Field1
Text Field2
ComboBox1
ComboBox2
Text Field3
Text Field4
Text Field5
Button1
Button2
Button3
Button4
Button5
Button6
Button7
Button8
Table
Syntax Program

Edit Text
Kode Cash
Tanggal
Kode Pelanggan
Kode Motor
Bayar
Sisa
Keterangan

Hitung
New
Save
Cancel
Edit
View Report
Delete
Close

Propertiis
Change Variable Name
jLabel1
jLabel2
jLabel3
jLabel4
jLabel5
jLabel6
jLabel7
txt_KodeCash
txt_Tanggal
cbo_KodePelanggan
cbo_KodeMotor
txt_Bayar
txt_Sisa
txt_Keterangan
Hitung
NEW
SAVE
CANCEL
EDIT
PRINT
DELETE
EXIT
tblBeliCash

1. Pada bagian import tambahkan dibawah baris package ulpah seperti kode berikut:

Page 109

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.table.*;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
2. Pada bagian public class FrmPembelianCash extends javax.swing.JFrame
tambahkan kode berikut :
public class FrmPembelianCash extends javax.swing.JFrame {
Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
public void buka_db(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor", "root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
System.exit(0);
}
}
/** Creates new form FrmPembelianCash */
Page 110

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

public FrmPembelianCash() {
initComponents();
this.setLocationRelativeTo(getRootPane());
buka_db();
tampildata();
}
3. Buatlah kode program untuk menampilkan nomor secara otomatis letakkan
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void buatnomor(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_
UPDATABLE);
String sql = "Select Kode_Cash as no from belicash ORDER by Kode_Cash desc";
ResultSet res=stt.executeQuery(sql);
if (res.next())
{
String Str = "0000";
String nomer = res.getString("no");
int no_t = Integer.parseInt(nomer) + 1;
String str_no = Integer.toString(no_t);
txt_KodeCash.setText(Str.substring(0,4 - str_no.length()) +
Integer.toString(no_t));
}
else{
int no_t = 1;
txt_KodeCash.setText("000" + Integer.toString(no_t));
}
res.close();
}catch (Exception e){
}
}
4. Buatlah kode program untuk menampilkan data dari tabel ke database disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void tampildata(){
Page 111

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

DefaultTableModel tabelnyo = new DefaultTableModel();


tabelnyo.addColumn("Kode_Cash");
tabelnyo.addColumn("Tanggal_Beli");
tabelnyo.addColumn("Kode_Pelanggan");
tabelnyo.addColumn("Kode_Motor");
tabelnyo.addColumn("Bayar");
tabelnyo.addColumn("Sisa");
tabelnyo.addColumn("Keterangan");
try{
stm = koneksi.createStatement();
String sql = "Select * from belicash order by Kode_Cash asc";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
tabelnyo.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5),
rs.getString(6),
rs.getString(7),
});
}
tblBeliCash.setModel(tabelnyo);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
buka_db();
}
5. Buatlah kode program tambahan untuk menampilkan data pada ComboBox Kode
Motor dengan membuat private baru seperti berikut :
public void Tampil(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statemenstt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CON
CUR_UPDATABLE);
Page 112

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

String SQL="SELECT*FROM motor";


ResultSet res=stt.executeQuery(SQL);
while(res.next()){
cbo_KodeMotor.addItem(res.getString("Kode_Motor"));
}
}catch(SQLException ex){
}
}
6. Butlah kode program tambahan untuk menampilkan data pada ComboBox Kode
Pelanggan dengan membuat private baru seperti berikut.
public void Tampil1(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL="SELECT*FROM pelanggan";
ResultSet res=stt.executeQuery(SQL);
while(res.next()){
cbo_KodePelanggan.addItem(res.getString("Kode_Cust"));}
}catch(SQLException ex){
}
}
7. Buatlah kode program untuk menampilkan tanggal secara otomatis saat program
dijalankan ketikan disembarang tempat yang memiliki space kosong seperti berikut
ini:
public void Tanggal(){
Date tanggal=new Date();
txt_Tanggal.setText(""+(String.format("%1$tY/%1$tm/%1$td",tanggal)));
}
8. Buatlah perintah BersihData,SetEditOff, SetEditON , SetAktif , dan SetInAktif
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
txt_KodeCash.setText("");
txt_Tanggal.setText("");
Page 113

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

cbo_KodePelanggan.setSelectedItem("");
txt_Nama.setText("");
txt_Alamat.setText("");
txt_NoKTP.setText("");
cbo_KodeMotor.setSelectedItem("");
txt_Merk.setText("");
txt_Warna.setText("");
txt_Harga.setText("");
txt_Bayar.setText("");
txt_Sisa.setText("");
txt_Keterangan.setText("");
}
public void SetEditOff(){
txt_KodeCash.setEnabled(false);
txt_Tanggal.setEnabled(false);
cbo_KodePelanggan.setEnabled(false);
txt_Nama.setEnabled(false);
txt_Alamat.setEnabled(false);
txt_NoKTP.setEnabled(false);
cbo_KodeMotor.setEnabled(false);
txt_Merk.setEnabled(false);
txt_Warna.setEnabled(false);
txt_Harga.setEnabled(false);
txt_Bayar.setEnabled(false);
txt_Sisa.setEnabled(false);
txt_Keterangan.setEnabled(false);
}
public void SetEditOn(){
txt_KodeCash.setEnabled(true);
txt_Tanggal.setEnabled(true);
cbo_KodePelanggan.setEnabled(true);
txt_Nama.setEnabled(true);
txt_Alamat.setEnabled(true);
txt_NoKTP.setEnabled(true);
cbo_KodeMotor.setEnabled(true);
txt_Merk.setEnabled(true);
txt_Warna.setEnabled(true);
txt_Harga.setEnabled(true);
txt_Bayar.setEnabled(true);
txt_Sisa.setEnabled(true);
Page 114

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

txt_Keterangan.setEnabled(true);
}
public void SetAktif(){
NEW.setEnabled(false);
SAVE.setEnabled(true);
CANCEL.setEnabled(true);
DELETE.setEnabled(false);
UPDATE.setEnabled(true);
EXIT.setEnabled(false);
}
public void SetInAktif(){
NEW.setEnabled(true);
SAVE.setEnabled(false);
CANCEL.setEnabled(false);
DELETE.setEnabled(true);
UPDATE.setEnabled(false);
EXIT.setEnabled(true);
}
9. Buatlah kode program New dengan mengklik kanan button New ->events ->
action -> ActionPerformed.

private void NEWActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
buatnomor();
BersihData();
Tanggal();
buatnomor();
txt_KodeCash.requestFocus();
SetAktif();
SetEditOn();
}
10. Buatlah kode program Save dengan mengklik kanan button SAVE ->events ->
action -> ActionPerformed.
private void SAVEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Page 115

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

try{
stm = koneksi.createStatement();
String kdcsh=txt_KodeCash.getText();
String tgl=txt_Tanggal.getText();
String kodeplg=cbo_KodePelanggan.getSelectedItem().toString();
String nama=txt_Nama.getText();
String alamat=txt_Alamat.getText();
String noktp=txt_NoKTP.getText();
String kdmtr=cbo_KodeMotor.getSelectedItem().toString();
String merk=txt_Merk.getText();
String warna=txt_Warna.getText();
String harga=txt_Harga.getText();
String bayar=txt_Bayar.getText();
String sisa=txt_Sisa.getText();
String keterangan=txt_Keterangan.getText();
if (edit==true){
stm.executeUpdate("update belicash set "
+ "Tanggal_Beli='"+tgl+"',"
+ "Kode_Pelanggan='"+kodeplg+"',"
+ "Kode_Motor='"+kdmtr+"' "
+ "Bayar='"+bayar+"',"
+ "Sisa='"+sisa+"', "
+ "Keterangan='"+keterangan+"' "
+ " where Kode_Cash='" + kdcsh + "'");
}else{
stm.executeUpdate("insert into belicash values('"+kdcsh+"',"
+ "'"+tgl+"','"+kodeplg+"',
'"+kdmtr+"','"+bayar+"','"+sisa+"','"+keterangan+"')");
}
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
tampildata();
BersihData();
SetInAktif();
SetEditOff();
}
11. Buatlah kode program Cancel dengan mengklik kanan button CANCEL ->events > action -> ActionPerformed.
Page 116

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

private void CANCELActionPerformed(java.awt.event.ActionEvent evt)


{
// TODO add your handling code here:
BersihData();
SetInAktif();
SetEditOff();
}
12. Buatlah kode program Update dengan mengklik kanan button UPDATE ->events > action -> ActionPerformed.
private void UPDATEActionPerformed(java.awt.event.ActionEvent evt){
// TODO add your handling code here:
txt_Tanggal.requestFocus();
SetAktif();
SetEditOn();
edit=true;
txt_KodeCash.setEnabled(false);
}
13. Buatlah kode program View Report dengan mengklik kanan button PRINT >events -> action -> ActionPerformed.
private void PRINTActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
{PRINT.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/Laporanbelicash.jrxml");
Page 117

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);


JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
PRINT.setCursor(Cursor.getDefaultCursor());
}
}

14. Buatlah kode program Delete dengan mengklik kanan button DELETE ->events ->
action -> ActionPerformed.
private void DELETEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
String kdcsh=txt_KodeCash.getText();
String tgl=txt_Tanggal.getText();
String kodeplg=cbo_KodePelanggan.getSelectedItem().toString();
String kdmtr=cbo_KodeMotor.getSelectedItem().toString();
String bayar=txt_Bayar.getText();
String sisa=txt_Sisa.getText();
String keterangan=txt_Keterangan.getText();
if((kdcsh.isEmpty())|(tgl.isEmpty())|(kodeplg.isEmpty())|(kdmtr.isEmpty())|(baya
r.isEmpty())|(sisa.isEmpty())|(keterangan.isEmpty())){
JOptionPane.showMessageDialog(null,"data tidak boleh kosong silahkan
lengkapi");
txt_KodeCash.requestFocus();
}else{
try{
Page 118

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor","root", "");
stm = koneksi.createStatement();
String SQL="Delete From belicash Where
Kode_Cash='"+txt_KodeCash.getText().toString()+"'";
stm.executeUpdate(SQL);
String a=txt_KodeCash.getText();
String b=txt_Tanggal.getText();
String c=cbo_KodePelanggan.getSelectedItem().toString();
String d=cbo_KodeMotor.getSelectedItem().toString();
String e=txt_Bayar.getText();
String f=txt_Sisa.getText();
String g=txt_Keterangan.getText();
tampildata();
stm.close();
koneksi.close();
BersihData();
SAVE.setEnabled(false);
SetEditOff();
buka_db();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
15. Buatlah kode program Close dengan mengklik kanan button EXIT ->events ->
action -> ActionPerformed.
private void EXITActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika anda
menekan tombol OK",

Page 119

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
16. Untuk menonaktifkan button saat program dijalankan buatlah kode program dengan
cara klik kanan pada windows form ->events -> Window -> WindowOpened.
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setTitle(".::. Pencatatan Pembelian Cash .::.");
Tanggal();
Tampil();
Tampil1();
SetInAktif();
SetEditOff();
}
17. Buatlah kode program untuk menampilkan data pada tabel dengan cara klik kanan
tabel belicash ->events -> Mouse -> MouseClicked.
private void tblBeliCashMouseClicked(java.awt.event.MouseEvent evt)
{
// TODO add your handling code here:
int table = tblBeliCash.getSelectedRow();
String a = tblBeliCash.getValueAt(table, 0).toString();
String b = tblBeliCash.getValueAt(table, 1).toString();
String c = tblBeliCash.getValueAt(table, 2).toString();
String d = tblBeliCash.getValueAt(table, 3).toString();
String e = tblBeliCash.getValueAt(table, 4).toString();
String f = tblBeliCash.getValueAt(table, 5).toString();
String g = tblBeliCash.getValueAt(table, 6).toString();
txt_KodeCash.setText(a);
txt_Tanggal.setText(b);
cbo_KodePelanggan.setSelectedItem(c);
cbo_KodeMotor.setSelectedItem(d);
txt_Bayar.setText(e);
txt_Sisa.setText(f);
txt_Keterangan.setText(g);
Page 120

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

txt_KodeCash.setEnabled(false);
UPDATE.requestFocus();
}
18. Buatlah perintah untuk menampilkan data pada ComboBox Kode Motor dengan
mengklik kanan ComboBox Kode Motor -> events -> item ->
itemStateChange.
private void
cbo_KodeMotorItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CON
CUR_UPDATABLE);
String SQL="SELECT*FROM motor where
Kode_Motor='"+cbo_KodeMotor.getSelectedItem().toString()+"'";
ResultSet res=stt.executeQuery(SQL);
res.absolute(1);
txt_Harga.setText(res.getString("Harga"));
txt_Merk.setText(res.getString("Merk"));
txt_Warna.setText(res.getString("Warna"));
}catch(SQLException ex){
}
}
19. Buatlah perintah untuk menampilkan data pada ComboBox Kode Pelanggan dengan
mengklik kanan ComboBox Kode Pelanggan -> events -> item ->
itemStateChange.

private void
cbo_KodePelangganItemStateChanged(java.awt.event.ItemEvent
evt) {
// TODO add your handling code here:
try{
Page 121

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor
", "root", "");
Statement stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL="SELECT*FROM pelanggan where
Kode_Cust='"+cbo_KodePelanggan.getSelectedItem().toString()+"'";
ResultSet res=stt.executeQuery(SQL);
res.absolute(1);
txt_Nama.setText(res.getString("Nama"));
txt_Alamat.setText(res.getString("Alamat"));
txt_NoKTP.setText(res.getString("No_KTP"));
}catch(SQLException ex){
}
}
20. Buatlah kode program untuk menampilkan perhitungan sisa dengan mengkilik button
hitung -> events -> action -> ActionPerformed.
private void HitungActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
int a;
int b;
double c;
a = Integer.parseInt(txt_Harga.getText());
b = Integer.parseInt(txt_Bayar.getText());
c=a-b;
txt_Sisa.setText(String.valueOf(c));
}
21. Jalankan Program kemudian klik FrmPembelianCash maka akan tampil seperti
berikut:

Page 122

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 5.1.5 Tampilan Form Pembelian Cash


5.2

Membuat Desain Form Pembelian Kredit


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 5.2.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmBeliKredit pada kotak isian Class
Name, dan Package pilih ulpah (nama package sesuai yang anda inginkan,
Page 123

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

apabila ingin memakai package baru bisa langsung di ketikan di bagian kotak
isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 5.2.2 Menentukan Nama Form JFrame Form

Gambar 5.2.3 Desain Form Baru

Page 124

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 5.2.4 Desain Form Pembelian Kredit


Keterangan :
Daftar Properties yang digunakan
Pallete
Label1
Label2
ComboBox1
ComboBox2
Label3
Label4
Label5
Label6
Label7
Text Field1
Text Field2
ComboBox1
ComboBox2
Text Field3
Text Field4
ComboBox3
ComboBox4

Edit Text
Kode Kredit
Tanggal
Kode Customer
Kode Motor
Uang Muka
Bunga
Lama Cicilan
Angsuran Ke
Keterangan

Properties
Change Variable Name
jLabel1
jLabel2
jComboBox1
jComboBox2
jLabel3
jLabel4
jLabel5
jLabel6
jLabel7
txt_KodeKredit
txt_Tanggal
cbo_KodeCust
cbo_KodeMotor
txt_UangMuka
txt_Bunga
cbo_LamaCicilan
cbo_Angsuran
Page 125

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Text Field5
Button2
Button3
Button4
Button5
Button6
Button7
Button8
Table

New
Save
Cancel
Edit
View Report
Delete
Close

2013

txt_Keterangan
NEW
SAVE
CANCEL
EDIT
PRINT
DELETE
EXIT
tbl_Kredit

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah seperti kode berikut:
package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.table.*;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
2. Pada bagian public class FrmBeliKredit extends javax.swing.JFrame tambahkan
kode berikut :

public class FrmBeliKredit extends javax.swing.JFrame {


Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
Page 126

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

public void buka_db(){


try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor", "root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
System.exit(0);
}
}
/** Creates new form FrmBeliKredit */
public FrmBeliKredit() {
initComponents();
this.setLocationRelativeTo(getRootPane());
buka_db();
tampildata();
Tanggal();
}
3. Buatlah kode program untuk menampilkan nomor secara otomatis letakkan disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void buatnomor(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_U
PDATABLE);
String sql = "Select Kode_Kredit as no from beli_kredit ORDER by Kode_Kredit
desc";
ResultSet res=stt.executeQuery(sql);
if (res.next())
{
String Str = "0000";
String nomer = res.getString("no");
Page 127

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

int no_t = Integer.parseInt(nomer) + 1;


String str_no = Integer.toString(no_t);
txt_KodeKredit.setText(Str.substring(0,4 - str_no.length()) +
Integer.toString(no_t));
}
else{
int no_t = 1;
txt_KodeKredit.setText("000" + Integer.toString(no_t));
}
res.close();
}catch (Exception e){
}
}
4. Buatlah kode program untuk menampilkan data dari tabel ke database disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void tampildata(){
DefaultTableModel tabelnyo = new DefaultTableModel();
tabelnyo.addColumn("Kode_Kredit");
tabelnyo.addColumn("Tanggal_Kredit");
tabelnyo.addColumn("Kode_Cust");
tabelnyo.addColumn("Kode_Motor");
tabelnyo.addColumn("Uang_Muka");
tabelnyo.addColumn("Bunga");
tabelnyo.addColumn("Lama_Cicilan");
tabelnyo.addColumn("Angsuran_Ke");
tabelnyo.addColumn("Keterangan");
try{
stm = koneksi.createStatement();
String sql = "Select * from beli_kredit order by Kode_Kredit asc";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
tabelnyo.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5),
rs.getString(6),
rs.getString(7),
Page 128

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

rs.getString(8),
rs.getString(9),
});
}
tbl_Kredit.setModel(tabelnyo);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
}
5. Butlah kode program tambahan untuk menampilkan data pada ComboBox Kode
Motor dengan membuat private baru seperti berikut.
public void Tampil(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONC
UR_UPDATABLE);
String SQL="SELECT*FROM motor";
ResultSet res=stt.executeQuery(SQL);
while(res.next()){
cbo_KodeMotor.addItem(res.getString("Kode_Motor"));
}
}catch(SQLException ex){
}
}
6. Butlah kode program tambahan untuk menampilkan data pada ComboBox Kode Cash
dengan membuat private baru seperti berikut.
public void TampilKodeCustomer(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL="SELECT*FROM belicash";
ResultSet res=stt.executeQuery(SQL);
Page 129

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

while(res.next()){
cbo_KodeCust.addItem(res.getString("Kode_Cash"));
}
}catch(SQLException ex){
}
}
7. Buatlah kode program untuk menampilkan tanggal secara otomatis saat program
dijalankan ketikan disembarang tempat yang memiliki space kosong seperti berikut ini:
public void Tanggal(){
Date tanggal=new Date();
txt_Tanggal.setText(""+(String.format("%1$tY/%1$tm/%1$td",tanggal)));
}
8. Buatlah perintah BersihData,SetEditOff, SetEditON , SetAktif , dan SetInAktif
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
txt_KodeKredit.setText("");
txt_Tanggal.setText("");
cbo_KodeCust.setSelectedItem("");
cbo_KodeMotor.setSelectedItem("");
txt_Harga.setText("");
txt_UangMuka.setText("");
txt_Bunga.setText("");
cbo_LamaCicilan.setSelectedItem("");
cbo_Angsuran.setSelectedItem("");
txt_TelahBayar.setText("");
txt_Sisa.setText("");
txt_Keterangan.setText("");
}
public void SetEditOff(){
txt_KodeKredit.setEnabled(false);
txt_Tanggal.setEnabled(false);
cbo_KodeCust.setEnabled(false);
cbo_KodeMotor.setEnabled(false);
txt_Harga.setEnabled(false);
txt_UangMuka.setEnabled(false);
Page 130

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

txt_Bunga.setEnabled(false);
cbo_LamaCicilan.setEnabled(false);
cbo_Angsuran.setEnabled(false);
txt_TelahBayar.setEnabled(false);
txt_Sisa.setEnabled(false);
txt_Keterangan.setEnabled(false);
}
public void SetEditOn(){
txt_KodeKredit.setEnabled(true);
txt_Tanggal.setEnabled(true);
cbo_KodeCust.setEnabled(true);
cbo_KodeMotor.setEnabled(true);
txt_Harga.setEnabled(true);
txt_UangMuka.setEnabled(true);
txt_Bunga.setEnabled(true);
cbo_LamaCicilan.setEnabled(true);
cbo_Angsuran.setEnabled(true);
txt_TelahBayar.setEnabled(true);
txt_Sisa.setEnabled(true);
txt_Keterangan.setEnabled(true);
}
public void SetAktif(){
NEW.setEnabled(false);
SAVE.setEnabled(true);
CANCEL.setEnabled(true);
DELETE.setEnabled(false);
UPDATE.setEnabled(true);
EXIT.setEnabled(false);
}
public void SetInAktif(){
NEW.setEnabled(true);
SAVE.setEnabled(false);
CANCEL.setEnabled(false);
DELETE.setEnabled(true);
UPDATE.setEnabled(false);
EXIT.setEnabled(true);
}

Page 131

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

9. Buatlah kode program New dengan mengklik kanan button New ->events -> action
-> ActionPerformed.
private void NEWActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buatnomor();
BersihData();
Tanggal();
buatnomor();
txt_KodeKredit.requestFocus();
SetAktif();
SetEditOn();
}
10. Buatlah kode program Save dengan mengklik kanan button SAVE ->events -> action
-> ActionPerformed.
private void SAVEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
stm = koneksi.createStatement();
String kodekrdt=txt_KodeKredit.getText();
String tglkrdt=txt_Tanggal.getText();
String kdcst=cbo_KodeCust.getSelectedItem().toString();
String kdmtr=cbo_KodeMotor.getSelectedItem().toString();
String uangmuka=txt_UangMuka.getText();
String bunga=txt_Bunga.getText();
String lamacicilan=cbo_LamaCicilan.getSelectedItem().toString();
String angsuran=cbo_Angsuran.getSelectedItem().toString();
String keterangan=txt_Keterangan.getText();
if (edit==true){
stm.executeUpdate("update beli_kredit set "
+ "Tanggal_Kredit='"+tglkrdt+"',"
+ "Kode_Cust='"+kdcst+"',"
+ "Kode_Motor='"+kdmtr+"' "
+ "Uang_Muka='"+uangmuka+"',"
+ "Bunga='"+bunga+"' "
+ "Lama_Cicilan='"+lamacicilan+"',"
+ "Angsuran_Ke='"+angsuran+"',"
+ "Keterangan='"+keterangan+"' "
+ " where Kode_Kredit='" + kodekrdt + "'");
Page 132

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

}else{
stm.executeUpdate("insert into beli_kredit values('"+kodekrdt+"',"
+
"'"+tglkrdt+"','"+kdcst+"','"+kdmtr+"','"+uangmuka+"','"+bunga+"','"+lamacicil
an+"','"+angsuran+"','"+keterangan+"')");
}
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
tampildata();
BersihData();
SetInAktif();
SetEditOff();
}
11. Buatlah kode program Cancel dengan mengklik kanan button CANCEL ->events ->
action -> ActionPerformed.
private void CANCELActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
BersihData();
SetInAktif();
SetEditOff();
}
12. Buatlah kode program Update dengan mengklik kanan button UPDATE ->events ->
action -> ActionPerformed.
private void UPDATEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
txtTanggal.requestFocus();
SetAktif();
SetEditOn();
edit=true;
txtKodeKredit.setEnabled(false);
}
13. Buatlah kode program View Report dengan mengklik kanan button PRINT ->events
-> action -> ActionPerformed.
Page 133

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

private void PRINTActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
{PRINT.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/Laporanbelikredit.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
PRINT.setCursor(Cursor.getDefaultCursor());
}
}

14. Buatlah kode program Delete dengan mengklik kanan button DELETE ->evens ->
action -> ActionPerformed.
Page 134

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

private void DELETEActionPerformed(java.awt.event.ActionEvent evt)


{
// TODO add your handling code here:
String kodekrdt=txt_KodeKredit.getText();
String tglkrdt=txt_Tanggal.getText();
String kdcst=cbo_KodeCust.getSelectedItem().toString();
String kdmtr=cbo_KodeMotor.getSelectedItem().toString();
String uangmuka=txt_UangMuka.getText();
String bunga=txt_Bunga.getText();
String lamacicilan=cbo_LamaCicilan.getSelectedItem().toString();
String angsuran=cbo_Angsuran.getSelectedItem().toString();
String keterangan=txt_Keterangan.getText();
if((kodekrdt.isEmpty())|(tglkrdt.isEmpty())|(kdcst.isEmpty())|(kdmtr.isEmpty())|
(uangmuka.isEmpty())|(bunga.isEmpty())|(lamacicilan.isEmpty())|(angsuran.isE
mpty())| (keterangan.isEmpty())){
JOptionPane.showMessageDialog(null,"data tidak boleh kosong silahkan
lengkapi");
txt_KodeKredit.requestFocus();
}else{
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor",
"root", "");
stm = koneksi.createStatement();
String SQL="Delete From beli_kredit Where
Kode_Kredit='"+txt_KodeKredit.getText().toString()+"'";
stm.executeUpdate(SQL);
String a=txt_KodeKredit.getText();
String b=txt_Tanggal.getText();
String c=cbo_KodeCust.getSelectedItem().toString();
String d=cbo_KodeMotor.getSelectedItem().toString();
String e=txt_UangMuka.getText();
String f=txt_Bunga.getText();
String g=cbo_LamaCicilan.getSelectedItem().toString();
String h=cbo_Angsuran.getSelectedItem().toString();
String i=txt_Keterangan.getText();
tampildata();
Page 135

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

stm.close();
koneksi.close();
BersihData();
SAVE.setEnabled(false);
SetEditOff();
buka_db();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
15. Buatlah kode program Close
action -> ActionPerformed.

dengan mengklik kanan button EXIT ->events ->

private void EXITActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika anda
menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

16. Untuk menonaktifkan button saat program dijalankan buatlah kode program dengan
cara klik kanan pada windows form ->events -> Window -> WindowOpened.
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setTitle(".::. Pencatatan Pembelian Kredit .::.");
Tanggal();
int a=1;
while (a<=100){
cbo_LamaCicilan.addItem(a);
Page 136

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

a++;
}
TampilKodeCustomer();
Tampil();
SetInAktif();
SetEditOff();
}
17. Buatlah kode program untuk menampilkan data pada tabel dengan cara klik kanan
tabel belikredit ->events -> Mouse -> MouseClicked.
private void tbl_KreditMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int table = tbl_Kredit.getSelectedRow();
String a = tbl_Kredit.getValueAt(table, 0).toString();
String b = tbl_Kredit.getValueAt(table, 1).toString();
String c = tbl_Kredit.getValueAt(table, 2).toString();
String d = tbl_Kredit.getValueAt(table, 3).toString();
String e = tbl_Kredit.getValueAt(table, 4).toString();
String f = tbl_Kredit.getValueAt(table, 5).toString();
String g = tbl_Kredit.getValueAt(table, 6).toString();
String h = tbl_Kredit.getValueAt(table, 7).toString();
String i = tbl_Kredit.getValueAt(table, 8).toString();
txt_KodeKredit.setText(a);
txt_Tanggal.setText(b);
cbo_KodeCust.setSelectedItem(c);
cbo_KodeMotor.setSelectedItem(d);
txt_UangMuka.setText(e);
txt_Bunga.setText(f);
cbo_LamaCicilan.setSelectedItem(g);
cbo_Angsuran.setSelectedItem(h);
txt_Keterangan.setText(i);
txt_KodeKredit.setEnabled(false);
UPDATE.requestFocus();
}

Page 137

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

18. Buatlah perintah untuk menampilkan data pada ComboBox Kode Motor dengan mengklik
kanan ComboBox Kode Motor -> events -> item -> itemStateChange.
private void
cbo_KodeMotorItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONC
UR_UPDATABLE);
String SQL="SELECT*FROM motor where
Kode_Motor='"+cbo_KodeMotor.getSelectedItem().toString()+"'";
ResultSet res=stt.executeQuery(SQL);
res.absolute(1);
txt_Harga.setText(res.getString("Harga"));
}catch(SQLException ex){
}
}
19. Buatlah perintah untuk menampilkan data pada ComboBox Kode Customer dengan
mengklik kanan ComboBox Kode Customer -> events -> item ->
itemStateChange.
private void
cbo_KodeCustItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CON
CUR_UPDATABLE);
String SQL="SELECT*FROM belicash where
Kode_Cash='"+cbo_KodeCust.getSelectedItem().toString()+"'";
ResultSet res=stt.executeQuery(SQL);
res.absolute(1);
Page 138

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

txt_TelahBayar.setText(res.getString("Bayar"));
txt_Sisa.setText(res.getString("Sisa"));
}catch(SQLException ex){
}
}

20. Jalankan Program kemudian klik FrmBeliKredit maka akan tampil seperti berikut:

Gambar 5.2.5 Tampilan Form Pembelian Kredit


5.3.

Membumbuat Desain Form Bayar Cicilan


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Page 139

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 5.3.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmBayarCicilan pada kotak isian
Class Name, dan Package pilih ulpah (nama package sesuai yang anda
inginkan, apabila ingin memakai package baru bias langsung di ketikan di bagian
kotak isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 5.3.2 Menentukan Nama Form JFrame Form

Page 140

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 5.3.3 Desain Form Baru

1. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 5.3.4 Desain Form Pembayar Cicilan


Keterangan :
Daftar Properties yang digunakan
Page 141

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Pallete
Label1
Label2
ComboBox1
Label3
Label4
Text Field1
Text Field2
ComboBox1
Text Field5
Text Field6
Button2
Button3
Button4
Button5
Button6
Button7
Button8
Table

Edit Text
No Bayar
Tanggal
Kode Kredit
Jumlah
Keterangan

New
Save
Cancel
Edit
View Report
Delete
Close

2013

Properties
Change Variable Name
jLabel1
jLabel2
jComboBox1
jLabel3
jLabel4
txt_NoBayar
txt_Tanggal
cbo_KodeKredit
txt_Jumlah
txt_Keterangan
NEW
SAVE
CANCEL
EDIT
PRINT
DELETE
EXIT
tblBayarCicilan

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.table.*;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
Page 142

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

2. Pada bagian public class FrmBayarCicilan extends javax.swing tambahkan kode


berikut :
public class FrmBayarCicilan extends javax.swing.JFrame {
Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
public void buka_db(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penju
alan_motor",
"root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
System.exit(0);
}
}
/** Creates new form FrmBayarCicilan */
public FrmBayarCicilan() {
initComponents();
this.setLocationRelativeTo(getRootPane());
buka_db();
tampildata();
}
3. Buatlah kode program untuk menampilkan nomor secara otomatis letakkan disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void buatnomor(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
Statement
Page 143

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_
UPDATABLE);
String sql = "Select Kode_Kredit as no from beli_kredit ORDER by Kode_Kredit
desc";
ResultSet res=stt.executeQuery(sql);
if (res.next())
{
String Str = "0000";
String nomer = res.getString("no");
int no_t = Integer.parseInt(nomer) + 1;
String str_no = Integer.toString(no_t);
txtKode_Kredit.setText(Str.substring(0,4 - str_no.length()) +
Integer.toString(no_t));
}
else{
int no_t = 1;
txtKode_Kredit.setText("000" + Integer.toString(no_t));
}
res.close();
}catch (Exception e){
}
}
4. Buatlah kode program untuk menampilkan data dari tabel ke database disembarang
tempat yang memiliki space kosong seperti berikut ini:
public void tampildata(){
DefaultTableModel tabelnyo = new DefaultTableModel();
tabelnyo.addColumn("No_Bayar");
tabelnyo.addColumn("Tanggal_Bayar ");
tabelnyo.addColumn("Kode_Kredit");
tabelnyo.addColumn("Jumlah");
tabelnyo.addColumn("Keterangan");
try{
stm = koneksi.createStatement();
String sql = "Select * from bayar_cicilan order by No_Bayar asc";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
tabelnyo.addRow(new Object[]{
rs.getString(1),
Page 144

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5),
});
}
tblBayarCicilan.setModel(tabelnyo);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
buka_db();
}

5. Butlah kode program tambahan untuk menampilkan data pada ComboBox Kode
Kredit dengan membuat private baru seperti berikut.
public void Tampil(){
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONC
UR_UPDATABLE);
String SQL="SELECT*FROM beli_kredit";
ResultSet res=stt.executeQuery(SQL);
while(res.next()){
cbo_KodeKredit.addItem(res.getString("Kode_Kredit"));
}
}catch(SQLException ex){
}
}
6. Buatlah kode program untuk menampilkan tanggal secara otomatis saat program
dijalankan ketikan disembarang tempat yang memiliki space kosong seperti berikut ini:
public void Tanggal(){
Date tanggal=new Date();
txt_Tanggal.setText(""+(String.format("%1$tY/%1$tm/%1$td",tanggal)));
Page 145

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

}
7. Buatlah perintah BersihData,SetEditOff, SetEditON , SetAktif , dan SetInAktif
disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
txt_NoBayar.setText("");
txt_Tanggal.setText("");
cbo_KodeKredit.setSelectedItem("");
txt_Jumlah.setText("");
txt_Sisa.setText("");
txt_Cicilan.setText("");
txt_Keterangan.setText("");
}
public void SetEditOff(){
txt_NoBayar.setEnabled(false);
txt_Tanggal.setEnabled(false);
cbo_KodeKredit.setEnabled(false);
txt_Jumlah.setEnabled(false);
txt_Sisa.setEnabled(false);
txt_Cicilan.setEnabled(false);
txt_Keterangan.setEnabled(false);
}
public void SetEditOn(){
txt_NoBayar.setEnabled(true);
txt_Tanggal.setEnabled(true);
cbo_KodeKredit.setEnabled(true);
txt_Jumlah.setEnabled(true);
txt_Sisa.setEnabled(true);
txt_Cicilan.setEnabled(true);
txt_Keterangan.setEnabled(true);
}
public void SetAktif(){
NEW.setEnabled(false);
SAVE.setEnabled(true);
CANCEL.setEnabled(true);
DELETE.setEnabled(false);
UPDATE.setEnabled(true);
EXIT.setEnabled(false);
}
public void SetInAktif(){
NEW.setEnabled(true);
Page 146

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

SAVE.setEnabled(false);
CANCEL.setEnabled(false);
DELETE.setEnabled(true);
UPDATE.setEnabled(false);
EXIT.setEnabled(true);
}
8. Buatlah kode program New dengan mengklik kanan button New ->events -> action
-> ActionPerformed.
private void NEWActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
Tanggal();
buatnomor();
txt_NoBayar.requestFocus();
SetAktif();
SetEditOn();
}
9. Buatlah kode program Save dengan mengklik kanan button SAVE ->events -> action
-> ActionPerformed.
private void SAVEActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
stm = koneksi.createStatement();
String nobayar=txt_NoBayar.getText();
String tgglbayar=txt_Tanggal.getText();
String kodekrdt=cbo_KodeKredit.getSelectedItem().toString();
String jumlah=txt_Jumlah.getText();
String keterangan=txt_Keterangan.getText();
if (edit==true){
stm.executeUpdate("update bayar_cicilan set "
+ "Tanggal_Bayar='"+tgglbayar+"',"
+ "Kode_Kredit='"+kodekrdt+"',"
+ "Jumlah='"+jumlah+"', "
+ "Keterangan='"+keterangan+"' ,"
+ "where No_Bayar='" + nobayar + "'");
}else{
Page 147

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

stm.executeUpdate("insert into bayar_cicilan values('"+nobayar+"',"


+
"'"+tgglbayar+"','"+kodekrdt+"','"+jumlah+"','"+sisa+"','"+cicilan+"','"+keterang
an+"')");
}
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
tampildata();
BersihData();
SetInAktif();
SetEditOff();
}
10. Buatlah kode program Cancel dengan mengklik kanan button CANCEL ->events ->
action -> ActionPerformed.
private void CANCELActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
BersihData();
SetInAktif();
SetEditOff();
}
11. Buatlah kode program Update dengan mengklik kanan button UPDATE ->events ->
action -> ActionPerformed.
private void UPDATEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
txtTanggal.requestFocus();
SetAktif();
SetEditOn();
edit=true;
txt_NoBayar.setEnabled(false);
}
12. Buatlah kode program View Report dengan mengklik kanan button PRINT ->evens
-> action -> ActionPerformed.
private void PRINTActionPerformed(java.awt.event.ActionEvent evt) {
Page 148

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

// TODO add your handling code here:


{PRINT.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/Laporanbayarcicilan.jrxml")
;
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
PRINT.setCursor(Cursor.getDefaultCursor());
}
}
13. Buatlah kode program Delete dengan mengklik kanan button DELETE ->events ->
action -> ActionPerformed.
private void DELETEActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
String nobayar=txt_NoBayar.getText();
String tgglbayar=txt_Tanggal.getText();
String kodekrdt=cbo_KodeKredit.getSelectedItem().toString();
String jumlah=txt_Jumlah.getText();
String keterangan=txt_Keterangan.getText();
if((nobayar.isEmpty())|(tgglbayar.isEmpty())|(kodekrdt.isEmpty())|(jumlah.isEmp
ty())|(keterangan.isEmpty())){
JOptionPane.showMessageDialog(null,"data tidak boleh kosong silahkan
lengkapi");
txt_NoBayar.requestFocus();
Page 149

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

}else{
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_
motor", "root", "");
stm = koneksi.createStatement();
String SQL="Delete From bayar_cicilan Where
No_Bayar='"+txt_NoBayar.getText().toString()+"'";
stm.executeUpdate(SQL);
String a=txt_NoBayar.getText();
String b=txt_Tanggal.getText();
String c=cbo_KodeKredit.getSelectedItem().toString();
String d=txt_Jumlah.getText();
String e=txt_Keterangan.getText();
tampildata();
stm.close();
koneksi.close();
BersihData();
SAVE.setEnabled(false);
SetEditOff();
buka_db();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
14. Buatlah kode program Close
action -> ActionPerformed.

dengan mengklik kanan button EXIT ->events ->

private void EXITActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika anda
menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
Page 150

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
15. Untuk menonaktifkan button saat program dijalankan buatlah kode program dengan
cara klik kanan pada windows form ->events -> Window -> WindowOpened.
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setTitle(".::. Pencatatan Pembayaran Cicilan .::.");
Tampil();
SetInAktif();
SetEditOff();
}
16. Buatlah kode program untuk menampilkan data pada tabel dengan cara klik kanan
tabel bayarcicilan ->events -> Mouse -> MouseClicked.
private void tblBayarCicilanMouseClicked(java.awt.event.MouseEvent
evt) {
// TODO add your handling code here:
int table = tblBayarCicilan.getSelectedRow();
String a = tblBayarCicilan.getValueAt(table, 0).toString();
String b = tblBayarCicilan.getValueAt(table, 1).toString();
String c = tblBayarCicilan.getValueAt(table, 2).toString();
String d = tblBayarCicilan.getValueAt(table, 3).toString();
String e = tblBayarCicilan.getValueAt(table, 4).toString();
txt_NoBayar.setText(a);
txt_Tanggal.setText(b);
cbo_KodeKredit.setSelectedItem(c);
txt_Jumlah.setText(d);
txt_Keterangan.setText(e);
txt_NoBayar.setEnabled(false);
txt_Tanggal.requestFocus();
SAVE.setEnabled(true);
}
17. Buatlah perintah untuk menampilkan data pada ComboBox Kode Kredit dengan
mengklik kanan ComboBox Kode Kredit -> events -> item -> itemStateChange.
private void
Page 151

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

cbo_KodeKreditItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try{
Connection kon=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
Statement
stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONC
UR_UPDATABLE);
String SQL="SELECT*FROM beli_kredit where
Kode_Kredit='"+cbo_KodeKredit.getSelectedItem().toString()+"'";
ResultSet res=stt.executeQuery(SQL);
res.absolute(1);
txt_Sisa.setText(res.getString("Sisa"));
txt_Cicilan.setText(res.getString("Lama_Cicilan"));
}catch(SQLException ex){
}
}
18. Jalankan Program kemudian klik FrmBayarCicilan maka akan tampil seperti berikut:

Gambar 5.3.5 Tampilan Form Pembayaran Cicilan


Page 152

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 6
MEMBUAT FORM DAFTAR LAPORAN
6.1

Membuat Desain Form Laporan BeliCash per Periode


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 6.1.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmLaporanBeliCashperTanggal
pada kotak isian Class Name, dan Package pilih ulpah (nama package sesuai
yang anda inginkan, apabila ingin memakai package baru bisa langsung di
ketikan di bagian kotak isian package) lalu tekan tombol Finish untuk
mengakhiri.

Page 153

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.1.2 Menentukan Nama Form JFrame Form

Gambar 6.1.3 Desain Form Baru


Sebelum mulai mendesign form laporan Beli Cash per Periode kita harus install
dulu pallete jDateChooser melalui connector jCalender. Langkah langkah
memasukan jDateChooser ke pallete :
A. Pilih Menu Bar Tools -> Pallete -> Swing/AWT Components maka akan
tampil seperti berikut :

Page 154

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.1.4 Tampilan Pallete Manager


B. Klik Add from JAR pilih connector jCalender di folder lib lalu Next dan pilih
jDateChooser seperti berikut :

Gambar 6.1.5 Tampilan Components Pallete

Page 155

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

C. Pilih Swing Controls sebagai tempat penyimpanan pallete jDateChooser


seperti berikut :

Gambar 6.1.6 Tempat penyimpanan Pallete


D. Klik Finish -> Close, maka jDateChooser ada pada bagian menu pallete
Swing Controls seperti berikut :

Gambar 6.1.7 Tampilan Pallete


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:
Page 156

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 6.1.8 Desain Form Laporan Beli Cash per Periode


Keterangan :
Daftar Propertis yang digunakan
Pallete
jDateChooser1
jDateChooser2
Button1
Button2

Edit Text

Print
Close

Propertis
Change Variable Name
jDateChooser1
jDateChooser2
print
close

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah seperti kode berikut:
package ulpah;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
//import javax.swing.table.*;
import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.engine.*;
Page 157

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2. Pada
bagian
public
class
FrmLaporanBeliCashperTanggal
javax.swing.JFrame { tambahkan kode berikut :

extends

public class FrmLaporanBeliCashperTanggal extends


javax.swing.JFrame {
/** Creates new form FrmLaporanBeliCashperTanggal */
public FrmLaporanBeliCashperTanggal() {
initComponents();
this.setLocationRelativeTo(null);
this.setTitle(".::. Laporan Beli Cash per Periode .::.");
} private SimpleDateFormat frmttgl = new SimpleDateFormat("yyyy-MM-dd");
3. Buatlah kode program Cetak laporan dengan mengklik kanan button Print ->events
-> action -> ActionPerformed.
private void cmdcetakActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Connection koneksi;
try {
String nmFile = "src/Lapbelicash.jasper";
HashMap periode = new HashMap();
periode.put("periode1", frmttgl.format(jDateChooser1.getDate()));
periode.put("periode2", frmttgl.format(jDateChooser2.getDate()));
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
File reportFile = new File(nmFile);
JasperReport jReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
JasperPrint jPrint =JasperFillManager.fillReport(jReport, periode, koneksi);
JasperViewer.viewReport(jPrint, false);
Page 158

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

JasperViewer.setDefaultLookAndFeelDecorated(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Laporan Tidak Dapat di Cetak" +
e.getMessage(),"Catak Laporan",JOptionPane.ERROR_MESSAGE);
}
}
4. Buatlah kode program Close dengan mengklik kanan button Close ->events ->
action -> ActionPerformed.
private void closeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n Klik OK
untuk keluar",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
5. Jalankan Program kemudian klik FrmLaporanBeliCashperTanggal maka akan tampil
seperti berikut:

Gambar 6.1.9Tampilan Beli cash per Periode

Page 159

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

6.2.

2013

Membuat Desain Form Laporan Pembelian Kredit per Periode


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 6.2.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmLaporanbelikreditperTanggal
pada kotak isian Class Name, dan Package pilih ulpah (nama package sesuai
yang anda inginkan, apabila ingin memakai package baru bisa langsung di
ketikan di bagian kotak isian package) lalu tekan tombol Finish untuk
mengakhiri.

Gambar 6.2.2 Menentukan Nama Form JFrame Form

Page 160

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.2.3 Desain Form Baru


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 6.2.4 Desain Laporan Beli kredit per Periode


Keterangan :

Daftar Propertis yang digunakan


Pallete
jDateChooser1

Edit Text

Propertis
Change Variable Name
jDateChooser1
Page 161

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

jDateChooser2
Button1
Button2

Print
Close

jDateChooser2
print
close

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.text.SimpleDateFormat;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.engine.*;
2. Pada bagian public class LaporanPembelianKredit extends javax.swing.JFrame
{ tambahkan kode berikut :
public class LaporanPembelianKredit extends javax.swing.JFrame {
/** Creates new form LaporanPembelianKredit */
public LaporanPembelianKredit() {
initComponents();
this.setLocationRelativeTo(null);
this.setTitle(".::. Laporan Beli Kredit per Periode .::.");
}
private SimpleDateFormat frmttgl = new SimpleDateFormat("yyyy-MM-dd");
3. Buatlah kode program Cetak laporan dengan mengklik kanan button Print ->events
-> action -> ActionPerformed.
private void cmdcetakActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Connection koneksi;
try {
String nmFile = "src/Lapkredit.jasper";
Page 162

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

HashMap periode = new HashMap();


periode.put("periode1", frmttgl.format(jDateChooser1.getDate()));
periode.put("periode2", frmttgl.format(jDateChooser2.getDate()));
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
File reportFile = new File(nmFile);
JasperReport jReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
JasperPrint jPrint =JasperFillManager.fillReport(jReport, periode, koneksi);
JasperViewer.viewReport(jPrint, false);
JasperViewer.setDefaultLookAndFeelDecorated(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Laporan Tidak Dapat di Cetak" +
e.getMessage(),"Catak Laporan",JOptionPane.ERROR_MESSAGE);
}
}
4. Buatlah kode program Close dengan mengklik kanan button Close ->events ->
action -> ActionPerformed.
private void closeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n Klik OK
untuk keluar",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

Page 163

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

5. Jalankan Program kemudian klik FrmLaporanBeliKreditperTanggal maka akan


tampil seperti berikut:

Gambar 6.2.5 Tampilan Laporan Beli kredit per Periode


6.3.

Membuat Desain Form Laporan Bayar Cicilan per Periode


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 6.3.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmLaporanbayarcicilanperTanggal
pada kotak isian Class Name, dan Package pilih ulpah (nama package sesuai
yang anda inginkan, apabila ingin memakai package baru bias langsung di
ketikan di bagian kotak isian package) lalu tekan tombol Finish untuk
mengakhiri.

Page 164

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.3.2 Menentukan Nama Form JFrame Form

Gambar 6.3.3 Desain Form Baru


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Page 165

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 6.3.4 Desain Laporan Bayar cicilan per Periode


Keterangan :
Daftar Propertis yang digunakan
Pallete
jDateChooser1
jDateChooser2
Button1
Button2

Edit Text

Print
Close

Propertis
Change Variable Name
jDateChooser1
jDateChooser2
print
close

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
//import javax.swing.table.*;
import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.engine.*;
Page 166

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2. Pada
bagian
public
class
LaporanPembayaranCicilan
javax.swing.JFrame { tambahkan kode berikut :

extends

public class LaporanPembayaranCicilan extends


javax.swing.JFrame {
/** Creates new form LaporanPembayaranCicilan */
public LaporanPembayaranCicilan () {
initComponents();
this.setLocationRelativeTo(null);
this.setTitle(".::. Laporan Bayar Cicilan per Periode .::.");
}
private SimpleDateFormat frmttgl = new SimpleDateFormat("yyyy-MM-dd");
3. Buatlah kode program Cetak laporan dengan mengklik kanan button Print >events -> action -> ActionPerformed.
private void PrintActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Connection koneksi;
try {
String nmFile = "src/LapCicilan.jasper";
HashMap periode = new HashMap();
periode.put("periode1", frmttgl.format(jDateChooser1.getDate()));
periode.put("periode2", frmttgl.format(jDateChooser2.getDate()));
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
File reportFile = new File(nmFile);
JasperReport jReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
JasperPrint jPrint =JasperFillManager.fillReport(jReport, periode, koneksi);
JasperViewer.viewReport(jPrint, false);

Page 167

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

JasperViewer.setDefaultLookAndFeelDecorated(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Laporan Tidak Dapat di Cetak" +
e.getMessage(),"Catak Laporan",JOptionPane.ERROR_MESSAGE);
}
}
4. Buatlah kode program Close dengan mengklik kanan button Close ->events ->
action -> ActionPerformed.
private void closeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n Klik OK
untuk keluar",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
5. Jalankan Program kemudian klik FrmLaporanBayarCicilanTanggal maka akan tampil
seperti berikut:

Gambar 6.3.5 Tampilan Laporan Bayar cicilan per Periode

Page 168

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

6.4.

2013

Membuat Desain Daftar Report per Periode


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 6.4.1 Membuat Object baru


Pada jendela New JFrame Form, isikan FrmDaftarReportperTanggal pada
kotak isian Class Name, dan Package pilih ulpah (nama package sesuai yang
anda inginkan, apabila ingin memakai package baru bias langsung di ketikan di
bagian kotak isian package) lalu tekan tombol Finish untuk mengakhiri.

Gambar 6.4.2 Menentukan Nama Form JFrame Form

Page 169

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.4.3 Desain Form Baru


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Gambar 6.4.4 Desain Form Daftar Report per Periode


Keterangan :
Daftar Properties yang digunakan
Pallete
Button1

Properties
Edit Text
Change Variable Name
Cetak Laporan Pembelian Cash
belicash
Page 170

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Button2

Cetak Laporan Pembelian Kredit


Cetak Laporan Pembayaran
Cicilan
Close

Button3
Button4

belikredit
bayarcicilan
close

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import javax.swing.JOptionPane;

2. Pada
bagian
public
class
FrmDaftarReportperTanggal
javax.swing.JFrame { tambahkan kode berikut :

extends

public class FrmDaftarReportperTanggal extends


javax.swing.JFrame {
/** Creates new form FrmDaftarReportperTanggal */
public FrmDaftarReportperTanggal() {
initComponents();
this.setLocationRelativeTo(null);
this.setTitle(".::. Laporan Daftar Report per Periode .::.");
}
3. Buatlah kode program untuk menampilkan form Cetak Laporan Pembelian Cash
dengan mengklik kanan button Cetak Laporan Pembelian Cash ->events ->
action -> ActionPerformed.
private void
belicashActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FrmLaporanBeliCashperTanggal().setVisible(true);
}
4. Buatlah kode program untuk menampilkan form Cetak Laporan Pembelian Kredit
dengan mengklik kanan button Cetak Laporan Pembelian Kredit ->events ->
action -> ActionPerformed.
private void
belikreditActionPerformed(java.awt.event.ActionEvent evt) {
Page 171

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

// TODO add your handling code here:


new FrmLaporanbelikreditperTanggal().setVisible(true);
}
5. Buatlah kode program untuk menampilkan form Cetak Laporan Pembayaran
Cicilan dengan mengklik kanan button Cetak Laporan Pembayaran Cicilan >events -> action -> ActionPerformed.
private void
bayarcicilanActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
new FrmLaporanbayarcicilanperTanggal().setVisible(true);
}
6. Buatlah kode program Close dengan mengklik kanan button Close
action -> ActionPerformed.

->events ->

private void
EXITActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup
\n jika anda menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
7. Jalankan Program kemudian klik FrmDaftarLaporanperTanggal maka akan tampil
seperti berikut:

Page 172

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.4.5 Tampilan Form Daftar Report per Periode


6.5.

Membuat Desain Daftar Report Keseluruhan


Lakukan beberapa langkah berikut ini:
Buatlah file baru dalam AplikasiPenjualanMotor, dengan cara klik kanan
AplikasiPenjualanMotor, Pilih New -> JFrame Form....

Gambar 6.5.1 Membuat Object bar


Pada jendela New JFrame Form, isikan FrmDaftarReportKeseluruhan pada
kotak isian Class Name, dan Package pilih ulpah (nama package sesuai yang
anda inginkan, apabila ingin memakai package baru bias langsung di ketikan di
bagian kotak isian package) lalu tekan tombol Finish untuk mengakhiri.
Page 173

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.5.2 Menentukan Nama Form JFrame Form

Gambar 6.5.3 Desain Form Baru


Desainlah form yang baru anda ciptakan seperti gambar dibawah ini atau sesuai
dengan keinginan anda:

Page 174

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 6.5.4 Desain Form Daftar Report Keseluruhan

Keterangan :
Daftar Propertis yang digunakan
Pallete
Button1
Button2
Button3
Button4
Button5
Button6

Propertis
Edit Text
Change Variable Name
Cetak Laporan Data Motor
motor
Cetak Laporan Data Pelanggan
pelanggan
Cetak Laporan Pembelian Cash
belicash
Cetak Laporan Pembelian Kredit
belikredit
Cetak Laporan Pembayaran
Cicilan
bayarcicilan
Close
close

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.awt.Cursor;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
Page 175

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

import
import
import
import
import
import
import
import
import
import
import

2013

java.sql.DriverManager;
java.sql.ResultSet;
javax.swing.table.*;
java.sql.SQLException;
java.util.HashMap;
java.util.Map;
net.sf.jasperreports.engine.JasperCompileManager;
net.sf.jasperreports.engine.JasperFillManager;
net.sf.jasperreports.engine.JasperPrint;
net.sf.jasperreports.engine.JasperReport;
net.sf.jasperreports.view.JasperViewer;

2. Pada
bagian
public
class
FrmDaftarReportKeseluruhan
javax.swing.JFrame { tambahkan kode berikut :

extends

public class FrmDaftarReportKeseluruhan extends


javax.swing.JFrame {
Connection koneksi;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
Boolean edit = false;
public void buka_db(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan
_motor", "root", "");
}catch(ClassNotFoundException e){
System.out.println("Error #1 : "+ e.getMessage());
System.exit(0);
}catch(SQLException e){
System.out.println("Error #2 : "+ e.getMessage());
System.exit(0);
}
}
/** Creates new form FrmDaftarReportKeseluruhan */
public FrmDaftarReportKeseluruhan() {
initComponents();
this.setLocationRelativeTo(null);
this.setTitle(".::. Laporan Daftar Report Keseluruhan .::.");
}
Page 176

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

3. Buatlah kode program Cetak Laporan Data Motor dengan mengklik kanan button
Cetak Laporan Data Motor ->events -> action -> ActionPerformed.
private void motorActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
{motor.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/LaporanMotor.jrx
ml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
motor.setCursor(Cursor.getDefaultCursor());
}
}
4. Buatlah kode program Cetak Laporan Data Pelanggan dengan mengklik kanan
button Cetak Laporan Data Pelanggan ->events -> action ->
ActionPerformed.
private void pelangganActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
{pelanggan.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
Page 177

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

"root", "");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/LaporanPelangga
n.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
pelanggan.setCursor(Cursor.getDefaultCursor());
}
}
5. Buatlah kode program Cetak Laporan Pembelian Cash dengan mengklik kanan
button Cetak Laporan Pembelian Cash
->events -> action ->
ActionPerformed.
private void belicashActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
{belicash.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor"
, "root", "");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/Laporanbelicash.
jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
Page 178

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

}
} catch (Exception e) {
System.out.println(e);
}
belicash.setCursor(Cursor.getDefaultCursor());
}
}
6. Buatlah kode program Cetak Laporan Pembelian Kredit dengan mengklik kanan
button Cetak Laporan Pembelian Kredit
->events -> action ->
ActionPerformed.
private void belicashActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
{belicash.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_motor",
"root", "");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpah/Splash/src/Laporanbelicash.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
belicash.setCursor(Cursor.getDefaultCursor());
}
}
7. Buatlah kode program Cetak Laporan Pembayaran Cicilan dengan mengklik
kanan button Cetak Laporan Pembayaran Cicilan ->events -> action ->
ActionPerformed.
Page 179

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

private void bayarcicilanActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
{bayarcicilan.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = koneksi;
try {
Connection koneksi=
DriverManager.getConnection("jdbc:mysql://localhost:3306/pesawat", "root",
"");
stm = koneksi.createStatement();
try {
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("F:/ulpahh/Splash/src/Laporanbayarcicil
an.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
bayarcicilan.setCursor(Cursor.getDefaultCursor());
}
}
8. Buatlah kode program Close dengan mengklik kanan button Close ->events ->
action -> ActionPerformed.
private void EXITActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n jika
anda menekan tombol OK",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
9. Jalankan Program kemudian klik FrmDaftarLaporanKeseluruhan maka akan tampil
seperti berikut:

Page 180

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.5.5 Tampilan Form Daftar Report Keseluruhan


6.6.

Melanjutkan Desain Form Menu Utama


Buka Form Menu utama yang sudah dibuat sebelumnya seperti berikut :

Gambar 6.6.1 Tampilan Form Menu Utama


Untuk membuat menu anda pilih Pallete pilih Swing Menus ->MenuBar
kemudian anda drag kedalam form yang sudah anda persiapkan.

Page 181

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Gambar 6.6.2 Tampilan Palette

Gambar 6.6.3 Tampilan Menu Bar yang sudah diletakkan di dalam form
Pada Swing Menus pilihlah MenuItem kemudian anda drag ke dalam Menu
Bar File

Page 182

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.6.4 Tampilan Menu Item setelah diletakan pada file


Ubahlah pada menu edit menjadi Master dengan cara klik kanan pada menu edit
lalu pilih Edit text seperti berikut :

Gambar 6.6.5 Tampilan Menu Item setelah di edit


Lakukan yang sama untuk membuat menu menu yang lainnya seperti berikut :

Page 183

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Menu File

Gambar 6.6.6 Tampilan Menu File


Menu Master

Gambar 6.6.7 Tampilan Menu Master

Menu Transaksi

Gambar 6.6.8 Tampilan Menu Transaksi

Page 184

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Menu Report

Gambar 6.6.9 Tampilan Menu Report


Menu Help

Gambar 6.6.10 Tampilan Menu About


Desain Form Menu Utama sesuai yang anda inginkan dan tambahkan Label di
bagian paling bawah atau dimana saja, agar pada saat form menu utama di
jalankan maka akan tampil tanggal hari ini secara otomatis seperti berikut :

Gambar 4.6.13 Desain Form Menu Utama


Page 185

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Keterangan :
Daftar Properties yang digunakan
Pallete

Edit Text

Properties
Change Variable Name
jMenu1
logout
exit

Menu Bar1
Menu Item1
Menu Item2

File
LogOut
Exit

Menu Bar2
Menu Item1
Menu Item2

Master
Entry Data Motor
Entry Data Pelanggan

jMenu2
datamotor
datapelanggan

Menu
Menu
Menu
Menu

Transaksi
Pencatatan Pembelian Cash
Pencatatan Pembelian Kredit
Pencatatan Pembayaran Cicilan

jMenu3
belicash
belikredit
bayarcicilan

Menu Bar4
Menu Item1
Menu Item2

Report
Daftar Report Keseluruhan
Daftar Report Per Tanggal

jMenu4
datakeseluruhan
datapertanggal

Menu Bar5
Menu Item1

Help
About

jMenu5
about

jLabel1

Tanggal

LabelDate

Bar3
Item1
Item2
Item3

Syntax Program
1. Pada bagian import tambahkan dibawah baris package ulpah sepeti kode berikut:
package ulpah;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JOptionPane;
2. Pada bagian public class FrmMenuUtama extends javax.swing.JFrame {
tambahkan kode berikut :
Page 186

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

public class FrmMenuUtama extends javax.swing.JFrame {


/** Creates new form FrmMenuUtama */
public FrmMenuUtama() {
initComponents();
SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMMM yyyy");
Date date = new Date();
LabelDate.setText(df.format(date)+" ");
}
3. Buatlah kode program untuk sub menu LogOut dengan cara klik kanan sub menu
LogOut ->events ->Action -> ActionPerformed.
private void loguotActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
}
4. Buatlah kode program untuk sub menu Exit dengan cara klik kanan sub menu Exit >events ->Action -> ActionPerformed.
private void exitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null, "Aplikasi ini akan di tutup \n Klik OK
untuk keluar",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
5. Buatlah kode program untuk sub menu Entry Data Motor dengan cara klik kanan
sub menu Entry Data Motor ->events ->Action -> ActionPerformed.
private void datamotorActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
new FrmMotor().setVisible(true);
}
6. Buatlah kode program untuk sub menu Entry Data Pelanggan dengan cara klik
kanan sub menu Entry Data Pelanggan ->events ->Action ->
ActionPerformed.
Page 187

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

private void
datapelangganActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FrmPelanggan().setVisible(true);
}
7. Buatlah kode program untuk sub menu Pencatatan Pembelian Cash dengan cara
klik kanan sub menu Pencatatan Pembelian Cash ->events ->Action ->
ActionPerformed.
private void belicashActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
new FrmPembelianCash().setVisible(true);
}
8. Buatlah kode program untuk sub menu Pencatatan Pembelian Kredit dengan cara
klik kanan sub menu Pencatatan Pembelian Kredit ->events ->Action ->
ActionPerformed.
private void belikreditActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
new FrmBeliKredit().setVisible(true);
}
9. Buatlah kode program untuk sub menu Pencatatan Pembayaran Cicilan dengan cara
klik kanan sub menu Pencatatan Pembayaran Cicilan ->events ->Action ->
ActionPerformed.
private void bayarcicilanActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
new FrmBayarCicilan().setVisible(true);
}
10. Buatlah kode program untuk sub menu Daftar Report keseluruhan dengan cara klik
kanan sub menu Daftar Report keseluruhan ->events ->Action ->
ActionPerformed.

Page 188

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

private void
laporankeseluruhanActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
new FrmDaftarReportKeseluruhan ().setVisible(true);
}
11. Buatlah kode program untuk sub menu Daftar Report per Periode dengan cara klik
kanan sub menu Daftar Report per Periode ->events ->Action ->
ActionPerformed.
private void
LaporanpertanggalActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
new FrmDaftarReportperTanggal ().setVisible(true);
}
12. Buatlah kode program untuk sub menu About dengan cara klik kanan sub menu
About ->events ->Action -> ActionPerformed.
private void aboutActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FrmAbout().setVisible(true);
}
13. Jalankan Program kemudian klik FrmMenuUtama maka akan tampil seperti berikut:

Page 189

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 6.6.11 Tampilan Menu Utama

Page 190

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAGIAN KE V :
JASPERREPORT

Page 193

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

BAB 7
MEMBUAT LAPORAN DENGAN JASPERREPORT
7.1.

Membuat Laporan Keseluruhan


7.1.1. Membuat Koneksi Ke database
Langkah awal membuat report kita harus membuat koneksi ke database dulu
dengan cara pilih Step 1 Create a database connection or setup a data
source maka muncul tampilan sebagai berikut :

Gambar 7.1.1.1 Tampilan DataSource


Pilih Database JDBC connection -> Next lalu pada bagian Name, JDBC
Driver, JDBC URL, User Name dan Password isikan sebagai berikut :

Page 194

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 7.1.1.2 Tampilan pengisian koneksi database


Untuk memastikan hasil dari koneksi database yang sudah dibuat klik tombol
Test jika benar maka akan tampil seperti gambar dibawah:

Gambar 7.1.1.3 Pengetesan koneksi ke Database


Page 195

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Jika muncul Connection test succespul seperti gambar di atas berarti sudah
terkoneksike database lalu klik Ok -> Save.
7.1.2. Membuat Laporan
Setelah anda selesai membuat koneksi database langkah selanjutnya silahkan anda
membuat laporan seperti berikut :
Pilih Step 2 Click a new Report maka muncul tampilan seperti berikut :

Gambar 7.1.2.1 Membuat File Report Baru


Pilih jenis tampilan report yang anda suka contohnya Blank A4 -> Launch
Report Wizard, Ubahlah Report Name dan Location untuk menentukan
dimana anda akan meletakkan laporan.

Page 196

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 7.1.2.2 Pengisian Nama Report Baru


Kemudian Klik tombol Next untuk melanjutkan perintah seperti gambar dibawah:

Gambar 7.1.2.3 Tampilan DataSource

Page 197

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Ubahlah Connection / Data Source sesuai dengan koneksi yang anda buat ,
kemudian silahkan anda isi Query seperti gambar dibawah ini:

Gambar 7.1.2.4 Pemilihan nama Query


Klik tombol Next maka akan tampil seperti gambar dibawah ini:

Gambar 7.1.2.5 Pemilihan nama Fields yang akan ditampilkan

Page 198

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik tombol >> seperti gambar berikut :

Gambar 7.1.2.6 Hasil nama Fields yang akan ditampilkan


Klik tombol Next -> Next -> Finish maka akan tampil seperti berikut :

Gambar 7.1.2.7 Tampilan Blank Report


Tahap selanjutnya adalah membuat design laporan sesuai yang anda inginkan
dengan langkah langkah sebagai berikut :

Page 199

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

1. Drag Static Text ke dalam Title di bagian Pallete untuk membuat label
dan double klik lalu ubah sesuai dengan Judul laporan yang anda buat
seperti berikut :

Gambar 7.1.2.8 Pembuatan Judul Laporan


Pada bagian Report Inspector ada bagian Field seperti berikut :

Gambar 7.1.2.9 Tampilan Report Inspector

Page 200

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Drag dari mulai kode motor sampai dengan merk ke bagian Detail seperti
berikut:

Gambar 7.1.2.10 Tampilan Fields yang akan di tampilkan


Drag Current Date di bagian pallete ke Page Header agar muncul tanggal
secara otomatis pas laporan di jalankan seperti berikut :

Gambar 7.1.2.11 Pemilihan jenis tampilan tanggal


Page 201

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Lalu pilih tampilan tanggal sesuai yang anda inginkan dan klik Apply, lalu
desainlah laporan sesuai yang anda inginkan seperti berikut :

Gambar 7.1.2.12 Desain Report


sesudah itu untuk melihat hasilnya tekan Preview maka akan tampil seperti
berikut :

Gambar 7.1.2.13 Hasil Laporan Data Motor

Page 202

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

7.2

2013

Membuat Laporan Per Periode


Klik Menu bar File -> New -> Report Wizard seperti berikut :

Gambar 7.2.1 Report Wizard


Ubahlah Report Name dan Location untuk menentukan dimana anda akan
meletakkan laporan sebagai berikut :

Gambar 7.2.2 Pengisian penempatan laporan


Klik Design Query untuk mendesain field dan table mana saja yang akan
digunakan untuk membuat laporan sebagai berikut :
Page 203

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 7.2.3 Design Query

Gambar 7.2.4 Pemilihan Query

Page 204

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik Ok -> Next maka muncul tampilan seperti berikut :

Gambar 7.2.5 Tampilan Fields yang akan di tampilkan


Tekan tanda >> dan Klik Next, pada Grouf pilih Tanggal beli yaitu untuk
menampilkan laporan per tanggal seperti berikut :

Gambar 7.2.6 Pemilihan Group yang akan ditampilkan


Page 205

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik Next -> Finish, Desainlah Laporan sesuai dengan kebutuhan

Gambar 7.2.7 Desain Laporan


Untuk membuat laporan perperiode kita harus menambahkan parameternya,
dengan cara Klik kanan pada laporanbelicash di bagian Report Inspector lalu
pilih Edit Query seperti berikut :

Gambar 7.2.8 Pembuatan Parameter

Page 206

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 7.2.9 Tampilan Query


Klik New Parameter maka akan tampil seperti berikut :

Gambar 7.2.10 Pembuatan Parameter

Page 207

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Buatlah 2 Parameters dengan ketentuan sebagai berikut :


Parameter
Parameter 1
Parameter 2

Parameter Name
Dari Tanggal
Sampai dengan

Value Expression
Date
Date

Langkah 1

Gambar 7.2.11 Mengisi nama parameter


Langkah 2

Gambar 7.2.12 Mengisi nama parameter


Page 208

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Selanjutnya tambahkan Query seperti berikut di bagian paling bawah :


WHERE
belicash.`Tanggal_Beli` BETWEEN

Gambar 7.2.13 Menambahkan query


Drag parameter Dari Tanggal ke dalam Report Query -> tekan spasi
kemudian anda ketikan and -> ketik spasi kembali -> kemuuian Drag
parameter sampai dengan -> Ok. Langkah langkahnya seperti berikut :

Page 209

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Langkah 1

Gambar 7.2.14 Drag parameter Dari Tanggal pada report query


Langkah 2

Gambar 7.2.15 Menambahkan and pada report query

Page 210

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

Langkah 3

Gambar 7.2.16 Drag parameter Sampai Dengan pada report query


Selanjutnya kita drag parameters yang sebelumnya sudah di buat tadi ke
dalam halaman report dan di letakan sesuai yang anda inginkan seperti berikut :

Gambar 7.2.17 Desain Laporan memakai Parameter


Page 211

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Klik Preview / compile report, kemudian isikan dengan parameter yang telah
diisikan sebelumnya seperti berikut :

Gambar 7.2.18 Parameter Dari Tanggal

Gambar 7.2.19 Parameter Sampai Dengan

Klik Ok maka akan tampil laporan berdasarkan parameter yang di input-kan


seperti berikut :

Page 212

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

Gambar 7.2.20 Hasil Laporan Pembelian Cash


7.3

Menjalankan Aplikasi Yang Telah Beres


Pembuatan Aplikasi Penjualan motor telah selesai, berikutnya kita akan mencoba
menjalankan aplikasinya mulai dari awal seperti berikut :
Klik kanan Nama project AplikasiPenjualanMotor lalu RUN,
1. Saat program pertama kali di jalankan maka akan tampil gambar seperti berikut ini :

Page 213

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

2. Setelah ProgressBar selesai maka akan langsung Login dan isi di bagian User Name
dan Password nya lalu klik Ok

3. Setelah kita isi User name dan Fassword anda.

Page 214

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

4. Tekan Tombol OK Maka akan tampil seperti berikut :

5. Tekan tombol Ok maka akan tampil Form Menu Utama seperti berikut :

6. Klik Menu Bar Master lalu pilih Entry data motor maka Form data motor akan tampil
seperti berikut :
Page 215

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

2013

7. Lakukan cara yang sama untuk menampilkan Form yang lainnya sesuai yang kita
inginkan

Page 216

2013

MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA

DAFTAR PUSTAKA
1. Advanced Java Programming with Database Application, Centre for Information
Technology and Engineering, Manonaniam Sundaranar
Universitywww.komputerjava.blogspot.com
2. Database Programming with JDBC and Java, Second Edition, Copyright 2000 O'Reilly
& Associates, Inc.
3. JasperReports Server User Guide, Copyright 2011 Jaspersoft Corporation
4. Java Database Programming with JDBC, Pratik Patel, Coriolis, The Coriolis Group, 96
5. MySQL 5 Dari Pemula Hingga Mahir, Achmad Solichin
6. www.google.com

Page 217

Vous aimerez peut-être aussi