By Ulpah Barokah
SMK NEGERI 1 KAWALI
C I A M I S
Abou Aboutt the Autho Authorr 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 BAGIAN I : SOFTWARE SOFTWARE............................... ......................................................... ..........................
1
BAB 1 : PERSIAPAN INSTALASI .............. ....... ............... ............... ............... .............. ......
2
1.1 Software yang harus diinstalkan .................................... ...................... ..............
2
1.2 JAR yang disiapkan ............................................. ...................... ................................. ..........
2
BAGIAN II : DATABASE .............. ....... ............... ............... ............... ............... .............. ............ .....
20
BAB 2 : MERANCANG DATABASE PENJUALAN MOTOR ......... ....... ..
21
2.1 Membuat Database ............................................ ..................... .................................. ...........
21
2.2 Langkah – langkah membuat Table ............................... ....................... ........
23
BAGIAN BAGIAN III : PROJECT PROJECT ............................. ......................................................... ............................
27
BAB 3 : MEMBUAT PROJECT ............... ....... ............... .............. ............... ............... ............ .....
28
3.1 Membuat Project Projec t Baru .......................................... ................... ............................... ........
28
3.2 Menyimpan Project Proje ct ........................................... .................... ................................... ............
30
3.3 Membuat Design Form Login ......................................... ..................... ....................
39
3.4 Membuat Design Form Menu Utama .............................. ..................... .........
43
3.5 Menjalankan Project Proje ct ........................................... ..................... ................................ ..........
45
3.6 Membuka Project Projec t............................................ ...................... .................................... ..............
49
BAGIAN 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 Pelangga n.......................... ...................... ....
89
4.3 Membuat Desain Form Data About ................................ ..................... ........... 103 BAB 5 : MEMBUAT MEMBUAT FORM TRANSAKSI .............. ....... .............. ............... ............. ..... 107
5.1 Membuat Desain Form Pembelian Pembeli an Cash.......................... ...................... .... 107 5.2 Membuat Desain Form Pembelian Pembeli an Kredit ........................ .................... .... 123 5.3 Membuat Desain Form Pembayaran Cicilan Cicil an .................... 139 BAB 6 : MEMBUAT MEMBUAT FORM FORM DAFTAR DAFTAR LAPORAN LAPORAN .............. ....... ............... .......... .. 153
6.1 Membuat Desain Laporan BeliCash per Periode .............. .............. 153
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
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 . Dalam beberapa detik, akan muncul kotak dialog berisi lembar persetujuan antara pihak , 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 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 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 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 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
1
Kode_Motor
VARCHAR
30
Primary Key
2
Merk
VARCHAR
30
3
Warna
VARCHAR
30
4
Harga
INT
30
Type
Values
Index Primary Key
2.2.2. Table Pelanggan No
Fields
1
Kode_Cust
VARCHAR
30
2
Nama
VARCHAR
30
3
Alamat
VARCHAR
100
4
Telepon
VARCHAR
30
5
No HP
INT
30
6
No KTP
INT
30
7
KK
INT
30
8
Slip_Gaji
INT
30
9
Keterangan
VARCHAR
150
2.2.3. Table Beli_Cash No 1
Fields Kode_Cash
Type VARCHAR
Values 30
2
Tanggal_Beli
Date
3
Kode_Pelanggan VARCHAR
100
4
Kode_Motor
VARCHAR
30
5
Bayar
INT
30
6
Sisa
INT
30
7
Keterangan
VARCHAR
150
Index Primary Key
Page 25
2013
MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA
2.2.4.Table Beli_Kredit No
Fields
Type
Values
Index
30
Primary Key
1
Kode_Kredit
VARCHAR
2
Tanggal_Kredit
Date
3
Kode_Cust
VARCHAR
100
4
Kode_Motor
VARCHAR
30
5
Uang_Muka
INT
30
6
Bunga
INT
30
7
Lama_Cicilan
INT
30
8
Angsuran_Ke
INT
30
9
Keterangan
VARCHAR
150
Type
Values
Index
30
Primary Key
2.2.5. Table Bayar_Cicilan No
Fields
1
Nomor_Bayar
VARCHAR
2
Tanggal_Bayar
Date
3
Kode_Kredit
VARCHAR
30
4
Jumlah
INT
30
5
Keterangan
VARCHAR
150
Type
Values
Index Primary Key
2.2.6. Table Login No
Fields
1
User Name
VARCHAR
30
2
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
3.2
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.
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
MEMBANGUN APLIKASI PENJUALAN MOTOR DENGAN JAVA
2013
P
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
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, 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 action -> ActionPerformed.
dengan mengklik kanan button Close ->events ->
private void closeActionPerformed(java.awt.event.Act closeActionPerformed(java.awt.event.ActionEvent ionEvent evt) { 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 FrmAbout maka akan tampil seperti s eperti 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, 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 isian package) 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 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; java.awt.Cursor; import javax.swing.*; javax.swing.*; import java.sql.*; import java.sql.Connection; java.sql.Connection; import java.sql.DriverManager; java.sql.DriverManager; import java.sql.ResultSet; java.sql.ResultSet; import javax.swing.table.*; javax.swing.table.*; import java.sql.SQLException; java.sql.SQLException; import java.util.HashMap; java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperCompileM erCompileManager; anager; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperFillMana erFillManager; ger; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperPrint; erPrint; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperReport; erReport; import net.sf.jasperreports.view.Jasp net.sf.jasperreports.view.JasperViewer; erViewer;
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 koneksi=DriverManager.getConnection("j .getConnection("jdbc:mysql: dbc:mysql://localhost:330 //localhost:3306/penjualan_ 6/penjualan_ motor", "root", ""); }catch(ClassNotFoundExcept }catch(ClassNotFoundException ion e){ System.out.println("Error System.out.println("Error #1 : "+ e.getMessage()); System.exit(0); }catch(SQLException }catch(SQLException e){ System.out.println("Error System.out.println("Error #2 : "+ e.getMessage()); System.exit(0); } } /** Creates new form FrmPembelianCa FrmPembelianCash sh */ 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.getConnect DriverManager.getConnection("jdbc:my ion("jdbc:mysql://localhost:33 sql://localhost:3306/penjualan_ 06/penjualan_motor", motor", "root", ""); Statement stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_ UPDATABLE); String sql = "Select "Select Kode_Cash as no from from belicash belicash ORDER by Kode_Cash Kode_Cash desc"; ResultSet res=stt.executeQuery(sql); res=stt.executeQuery(sql); if (res.next()) { String Str = "0000"; String nomer = res.getString("no"); res.getString("no"); int no_t = Integer.parseInt(nomer) Integer.parseInt(nomer) + 1; String str_no = Integer.toString(no_t); txt_KodeCash.setText(Str.substr txt_KodeCash.setText(Str.substring(0,4 ing(0,4 - str_no.length()) str_no.length()) + Integer.toString(no_t)); } else{ int no_t = 1; txt_KodeCash.setText("000" txt_KodeCash.setText("000" + Integer.toString(no_t)); 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 DefaultTableModel tabelnyo = new DefaultTableModel(); 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(); koneksi.createStatement(); String sql = "Select * from belicash order by Kode_Cash asc"; ResultSet rs = stm.executeQuery(sql); while (rs.next()) (rs.next()) { tabelnyo.addRow(new 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.showMessageD JOptionPane.showMessageDialog(null, ialog(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(" DriverManager.getConnection("jdbc:mysql: jdbc:mysql://localhost:330 //localhost:3306/penjualan_m 6/penjualan_motor", otor", "root", ""); Statemenstt=kon.createStatem Statemenstt=kon.createStatement(ResultSet.TYPE ent(ResultSet.TYPE_SCROLL_ _SCROLL_INSENSITIV INSENSITIVE,ResultSet E,ResultSet.CON .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 prs = new HashMap(); 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 prs = new HashMap(); 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 "Select Kode_Kredit as no from beli_kredit beli_kredit ORDER by Kode_Kredit Kode_Kredit desc"; ResultSet res=stt.executeQuery(sql); res=stt.executeQuery(sql); if (res.next()) { String Str = "0000"; String nomer = res.getString("no"); int no_t = Integer.parseInt(nomer) Integer.parseInt(nomer) + 1; String str_no = Integer.toString(no_t); txtKode_Kredit.setText(Str.sub txtKode_Kredit.setText(Str.substring(0,4 string(0,4 - str_no.length()) + Integer.toString(no_t)); } else{ int no_t = 1; txtKode_Kredit.setText("000" 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 DefaultTableModel tabelnyo = new DefaultTableModel(); DefaultTableModel(); tabelnyo.addColumn("No_Bayar"); tabelnyo.addColumn("Tanggal_B tabelnyo.addColumn("Tanggal_Bayar ayar "); tabelnyo.addColumn("Kode_Kredit"); tabelnyo.addColumn("Jumlah"); tabelnyo.addColumn("Keterangan");
try{ stm = koneksi.createStatement(); koneksi.createStatement(); String sql = "Select * from bayar_cicilan order by No_Bayar asc"; ResultSet rs = stm.executeQuery(sql); while (rs.next()) (rs.next()) { tabelnyo.addRow(new tabelnyo.addRow(new Object[]{ rs.getString(1), Page 144
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
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.showMessageD JOptionPane.showMessageDialog(null, ialog(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(" DriverManager.getConnection("jdbc:mysql: jdbc:mysql://localhost:330 //localhost:3306/penjualan_m 6/penjualan_motor", otor", "root", ""); Statement stt=kon.createStatement(R stt=kon.createStatement(ResultSet.TYPE_SCR esultSet.TYPE_SCROLL_INSENS OLL_INSENSITIVE,Res ITIVE,ResultSet.CONC ultSet.CONC UR_UPDATABLE); String SQL="SELECT*FROM SQL="SELECT*FROM beli_kredit"; ResultSet res=stt.executeQuery(SQ res=stt.executeQuery(SQL); L); while(res.next()){ cbo_KodeKredit.addItem(res.getStr cbo_KodeKredit.addItem(res.getString("Kode_Kred ing("Kode_Kredit")); it")); } }catch(SQLException }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(""+(Str txt_Tanggal.setText(""+(String.format("%1 ing.format("%1$tY/%1$tm/%1 $tY/%1$tm/%1$td",tanggal))); $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(); koneksi.createStatement(); String nobayar=txt_NoBayar.getText nobayar=txt_NoBayar.getText(); (); String tgglbayar=txt_Tanggal.getText tgglbayar=txt_Tanggal.getText(); (); String kodekrdt=cbo_KodeKredit.getSelec kodekrdt=cbo_KodeKredit.getSelectedItem().toString tedItem().toString(); (); String jumlah=txt_Jumlah.getTex jumlah=txt_Jumlah.getText(); t(); String keterangan=txt_Keterangan.getTex keterangan=txt_Keterangan.getText(); t(); if (edit==true){ stm.executeUpdate("update stm.executeUpdate("update bayar_cicilan set " + "Tanggal_Bayar='"+tgglbayar+" "Tanggal_Bayar='"+tgglbayar+"'," '," + "Kode_Kredit='"+kodekrdt+"'," "Kode_Kredit='"+kodekrdt+"'," + "Jumlah='"+jumlah+"', " + "Keterangan='"+ " Keterangan='"+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 prs = new HashMap(); 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 Propertis
Pallete jDateChooser1 jDateChooser2 Button1 Button2
Edit Text
Print Close
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 action -> ActionPerformed.
dengan mengklik kanan button Close ->events ->
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 Pe riode 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
Propertis Edit Text
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 action -> ActionPerformed.
dengan mengklik kanan button Close ->events ->
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 Propertis
Pallete jDateChooser1 jDateChooser2 Button1 Button2
Edit Text
Print Close
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 Cetak Laporan Pembelian Cash
Change Variable Name 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 Pe riode
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 Propertis
Pallete Button1 Button2 Button3 Button4 Button5 Button6
Edit Text Cetak Laporan Data Motor Cetak Laporan Data Pelanggan Cetak Laporan Pembelian Cash Cetak Laporan Pembelian Kredit Cetak Laporan Pembayaran Cicilan Close
Change Variable Name motor pelanggan belicash belikredit bayarcicilan 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
2013
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 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 prs = new HashMap(); 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 prs = new HashMap(); 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 prs = new HashMap(); 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 prs = new HashMap(); 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 prs = new HashMap(); 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
Tanggal
LabelDate
Bar3 Item1 Item2 Item3
jLabel1
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
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
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 Name
Value Expression
Parameter 1
Dari Tanggal
Date
Parameter 2
Sampai dengan
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
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 prs = new HashMap(); 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, 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 action -> ActionPerformed.
dengan mengklik kanan button Close ->events ->
private void closeActionPerformed(java.awt.event.Act closeActionPerformed(java.awt.event.ActionEvent ionEvent evt) { 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 FrmAbout maka akan tampil seperti s eperti 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, 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 isian package) 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 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; java.awt.Cursor; import javax.swing.*; javax.swing.*; import java.sql.*; import java.sql.Connection; java.sql.Connection; import java.sql.DriverManager; java.sql.DriverManager; import java.sql.ResultSet; java.sql.ResultSet; import javax.swing.table.*; javax.swing.table.*; import java.sql.SQLException; java.sql.SQLException; import java.util.HashMap; java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperCompileM erCompileManager; anager; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperFillMana erFillManager; ger; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperPrint; erPrint; import net.sf.jasperreports.engine.Jasp net.sf.jasperreports.engine.JasperReport; erReport; import net.sf.jasperreports.view.Jasp net.sf.jasperreports.view.JasperViewer; erViewer;
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 koneksi=DriverManager.getConnection("j .getConnection("jdbc:mysql: dbc:mysql://localhost:330 //localhost:3306/penjualan_ 6/penjualan_ motor", "root", ""); }catch(ClassNotFoundExcept }catch(ClassNotFoundException ion e){ System.out.println("Error System.out.println("Error #1 : "+ e.getMessage()); System.exit(0); }catch(SQLException }catch(SQLException e){ System.out.println("Error System.out.println("Error #2 : "+ e.getMessage()); System.exit(0); } } /** Creates new form FrmPembelianCa FrmPembelianCash sh */ 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.getConnect DriverManager.getConnection("jdbc:my ion("jdbc:mysql://localhost:33 sql://localhost:3306/penjualan_ 06/penjualan_motor", motor", "root", ""); Statement stt=kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_ UPDATABLE); String sql = "Select "Select Kode_Cash as no from from belicash belicash ORDER by Kode_Cash Kode_Cash desc"; ResultSet res=stt.executeQuery(sql); res=stt.executeQuery(sql); if (res.next()) { String Str = "0000"; String nomer = res.getString("no"); res.getString("no"); int no_t = Integer.parseInt(nomer) Integer.parseInt(nomer) + 1; String str_no = Integer.toString(no_t); txt_KodeCash.setText(Str.substr txt_KodeCash.setText(Str.substring(0,4 ing(0,4 - str_no.length()) str_no.length()) + Integer.toString(no_t)); } else{ int no_t = 1; txt_KodeCash.setText("000" txt_KodeCash.setText("000" + Integer.toString(no_t)); 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 DefaultTableModel tabelnyo = new DefaultTableModel(); 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(); koneksi.createStatement(); String sql = "Select * from belicash order by Kode_Cash asc"; ResultSet rs = stm.executeQuery(sql); while (rs.next()) (rs.next()) { tabelnyo.addRow(new 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.showMessageD JOptionPane.showMessageDialog(null, ialog(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(" DriverManager.getConnection("jdbc:mysql: jdbc:mysql://localhost:330 //localhost:3306/penjualan_m 6/penjualan_motor", otor", "root", ""); Statemenstt=kon.createStatem Statemenstt=kon.createStatement(ResultSet.TYPE ent(ResultSet.TYPE_SCROLL_ _SCROLL_INSENSITIV INSENSITIVE,ResultSet E,ResultSet.CON .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 prs = new HashMap(); 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
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 prs = new HashMap(); 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 "Select Kode_Kredit as no from beli_kredit beli_kredit ORDER by Kode_Kredit Kode_Kredit desc"; ResultSet res=stt.executeQuery(sql); res=stt.executeQuery(sql); if (res.next()) { String Str = "0000"; String nomer = res.getString("no"); int no_t = Integer.parseInt(nomer) Integer.parseInt(nomer) + 1; String str_no = Integer.toString(no_t); txtKode_Kredit.setText(Str.sub txtKode_Kredit.setText(Str.substring(0,4 string(0,4 - str_no.length()) + Integer.toString(no_t)); } else{ int no_t = 1; txtKode_Kredit.setText("000" 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 DefaultTableModel tabelnyo = new DefaultTableModel(); DefaultTableModel(); tabelnyo.addColumn("No_Bayar"); tabelnyo.addColumn("Tanggal_B tabelnyo.addColumn("Tanggal_Bayar ayar "); tabelnyo.addColumn("Kode_Kredit"); tabelnyo.addColumn("Jumlah"); tabelnyo.addColumn("Keterangan");
try{ stm = koneksi.createStatement(); koneksi.createStatement(); String sql = "Select * from bayar_cicilan order by No_Bayar asc"; ResultSet rs = stm.executeQuery(sql); while (rs.next()) (rs.next()) { tabelnyo.addRow(new 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.showMessageD JOptionPane.showMessageDialog(null, ialog(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(" DriverManager.getConnection("jdbc:mysql: jdbc:mysql://localhost:330 //localhost:3306/penjualan_m 6/penjualan_motor", otor", "root", ""); Statement stt=kon.createStatement(R stt=kon.createStatement(ResultSet.TYPE_SCR esultSet.TYPE_SCROLL_INSENS OLL_INSENSITIVE,Res ITIVE,ResultSet.CONC ultSet.CONC UR_UPDATABLE); String SQL="SELECT*FROM SQL="SELECT*FROM beli_kredit"; ResultSet res=stt.executeQuery(SQ res=stt.executeQuery(SQL); L); while(res.next()){ cbo_KodeKredit.addItem(res.getStr cbo_KodeKredit.addItem(res.getString("Kode_Kred ing("Kode_Kredit")); it")); } }catch(SQLException }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(""+(Str txt_Tanggal.setText(""+(String.format("%1 ing.format("%1$tY/%1$tm/%1 $tY/%1$tm/%1$td",tanggal))); $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(); koneksi.createStatement(); String nobayar=txt_NoBayar.getText nobayar=txt_NoBayar.getText(); (); String tgglbayar=txt_Tanggal.getText tgglbayar=txt_Tanggal.getText(); (); String kodekrdt=cbo_KodeKredit.getSelec kodekrdt=cbo_KodeKredit.getSelectedItem().toString tedItem().toString(); (); String jumlah=txt_Jumlah.getTex jumlah=txt_Jumlah.getText(); t(); String keterangan=txt_Keterangan.getTex keterangan=txt_Keterangan.getText(); t(); if (edit==true){ stm.executeUpdate("update stm.executeUpdate("update bayar_cicilan set " + "Tanggal_Bayar='"+tgglbayar+" "Tanggal_Bayar='"+tgglbayar+"'," '," + "Kode_Kredit='"+kodekrdt+"'," "Kode_Kredit='"+kodekrdt+"'," + "Jumlah='"+jumlah+"', " + "Keterangan='"+ " Keterangan='"+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 prs = new HashMap(); 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