Jumat, 18 Oktober 2013

Membuat Aplikasi Create, Read, Update, dan Delete Dengan Netbeans Database (Part 1)

Dalam tutorial kali ini akan membahas masalah pembuatan aplikasi dengan studi kasus Aplikasi Pembelian Tiket Bola Stadion Sebelah Ngarep.


Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal
Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.

Tampilan About
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.

Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:

Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.

Analisa Script
Berikut ini script pada jFrame utama:
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase  untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.

Pada jFrame tentang
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).

 
 
Sumber : aimagu.blogspot.com

1 komentar: