Pages

Selasa, 13 November 2012

membuat program data entri di neatbeans


Membuat Program Data 


Entry di Netbeans (Part 1 


of 3)

Tak dapat dipungkiri, sudah banyak tutorial-tutorial tentang pembuatan program data entry.  Di sini saya hanya akan sekedar share ilmu yang saya dapat setelah beberapa bulan yang lalu, saya dan teman saya mengerjakan project program data entry. Tulisan ini dibuat agar saya tidak lupa dan mungkin bisa bermanfaat bagi teman-teman yang nyasar ke blog ini.
Selama proses pembuatan program tersebut, kami banyak dibantu oleh berbagai pihak. Dari kakak tingkat (terima kasih atas source code program data entry tahun lalu hehe), mas eko (thanks for video Swing MVC-nya),  stackoverflow  (for the answer of how to fix error in our program), Tanya Java (utk saran data binding-nya), dan lain-lain.
Ok cukup basa-basinya. Dalam tutorial ini terdiri dari beberapa bagian yaitu,
  1. Buat Database
  2. Buat Koneksi database dgn JDBC
  3. Buat Model
  4. Buat DAO + implementasinya
  5. Buat View  + binding dengan Model
  6. Buat Controller + Test
Biar ada gambaran nantinya program jadinya seperti apa, saya kasih screenshoot-nya.
   
Jika ada yang tanya, kok cuma gitu doank sih? Ya memang gitu doank, di sini saya tidak akan membahas program data entry yg kami buat. Design GUI ini saya ambil dari latihan mata kuliah OOP praktek dengan sedikit perubahan. Aplikasi sederhana ini, hanya terdiri dari dua form, Form utk logindan form untuk entry data.

Langkah ke-1: Buat Database

Ok langsung aja kita masuk ke bagian pertama, buat database. Di sini saya akan memakai MySqlsebagai DBMS. Untuk pembuatan Data Definition Language (DDL) saya akan buat di netbeans.
Sebenarnya untuk membuat database ini, bisa juga dilakukan lewat MySQL administration yang lain seperti, phpMyAdmin, MySQL Query Browser, atau langsung lewat MySQL Command Line  Client. Silahkan langsung menuju langkah ke-2 jika Anda sudah membuat database lewat tool-tool tersebut. (Saya sendiri lebih senang pakai phpMyAdmin :-) )
Jika ingin mencoba membuat database di netbeans silahkan ikuti langkah berikut ini.
Masuk ke Services Window, klik kanan Menu Databases > Register MySQL Server…
Kemudian akan muncul dialog MySQL Server Properties. Isikan sesuai dengan konfigurasi MySQL Anda. Misal: seperti di bawah ini.
Setelah muncul node MySQL Server di Service Window, klik kanan > Start untuk menjalankan mysql server.  Jika MySQL server sudah berhasil dijalankan, kita buat databasenya, Klik kanan node MySQL serverCreate Database… Beri nama database “data_entry_mahasiswa” > OK.
Maka akan terbentuk database baru dengan nama “data_entry_mahasiswa”. Klik kanan pada database tersebut > Connect.
Setelah membuat databasenya, kita buat table-tabelnya. Terdapat dua table, yaitu table user_logindan mahasiswa. Berikut langkah untuk membuatnya.
Pada node connection “jdbc:mysql://localhost:3306/data_entry_mahasiswa [root on Default schema]”  Pilih database yang kita buat, Tables > Execute Command
 
Isikan SQL command seperti di bawah ini
01-- tabel user login
02CREATE TABLE user_login (
03     username VARCHAR(30) NOT NULL,
04     password VARCHAR(32) NOT NULL,
05     PRIMARY KEY (username)
06)ENGINE=INNODB;
07 
08-- tabel mahasiswa
09CREATE TABLE mahasiswa (
10     nim CHAR(7) NOT NULL,
11     nama VARCHAR(30) NOT NULL,
12     jenis_kelamin ENUM("Laki-laki""Perempuan"),
13     alamat VARCHAR(50),
14     kelas VARCHAR(4),
15     status ENUM("Ikatan Dinas""Tugas Belajar"),
16     PRIMARY KEY (nim)
17)ENGINE=INNODB;
18 
19-- asumsi: yang bisa masuk hanya admin
20-- password dienkrip menggunakan MD5
21INSERT INTO user_login VALUES("admin", MD5("admin"));
Klik Run SQL seperti yang ditunjukkan pada gambar di atas. Akhirnya kita telah berhasil  membuat database program data entry ini. Sekali lagi untuk membuat database ini, bisa juga dilakukan lewatMySQL administration yang lain seperti, phpMyAdmin, MySQL Query Browser, atau langsung lewatMySQL Command Line  Client.

Langkah ke-2: Buat Koneksi database dgn JDBC

Buat Project baru di Netbeans (Java Application), terserah namanya apa.
Karena kita mau pake MySQL, maka kita harus menambahkan driver MySQL JDBC ke project kita. Klik kanan > Folder Libraries > Add Library > MySQL JDBC Driver.
      
Setelah itu buat class DatabaseUtility, code-nya seperti di bawah ini.
01/**
02 *  For more information
03 *  my blog  http://erenha.wordpress.com
04 *  my email rn.hindarwan@programmer.net
05 */
06package com.wordpress.erenha.java.desktop.entry.utility;
07 
08import java.sql.Connection;
09import java.sql.DriverManager;
10import java.sql.SQLException;
11 
12/**
13 * DatabaseUtility.java
14 * Class yang digunakan untuk membuat koneksi ke database
15 * @author Hindarwan
16 */
17public class DatabaseUtility {
18 
19    private static Connection connection;
20    //driver mysql
21    private static final String DB_DRIVER = "com.mysql.jdbc.Driver";
22    //mysql url pattern = jdbc:mysql://nama_db_server:db_port/nama_db
23    private static final String DB_URL = "jdbc:mysql://localhost:3306/data_entry_mahasiswa";
24    //database user default 'root'
25    private static final String USER = "root";
26    //no password
27    private static final String PASSWORD = "";
28 
29    /**
30     * Membuat koneksi ke database sesuai dengan nilai dari
31     * final atribut class ini e.g. USER = "root"
32     * @return koneksi yang berhasil dibuat
33     * @throws SQLException jika koneksi gagal dibuat
34     */
35    public static Connection getConnection() throws SQLException {
36        if (connection == null) {
37            try {
38                //load driver
39                Class.forName(DB_DRIVER).newInstance();
40                //koneksi ke database
41                connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);
42            catch (InstantiationException ex) {
43                System.out.println(ex.getMessage());
44            catch (IllegalAccessException ex) {
45                System.out.println(ex.getMessage());
46            catch (ClassNotFoundException ex) {
47                System.out.println(ex.getMessage());
48            }
49        }
50        return connection;
51    }
52}
Selesai sudah pembuatan database + koneksinya dengan JDBC.
by :leo