Tulisan ini saya buat saat sedang mengambil mata kuliah PBO II (pemrograman berbasis obyek), di saat ini diajarkan bagaimana cara menghubungkan Java dengan MySql. Sulit? Tentu bukan hal yang sulit, paling tidak bagiku (wuih sombong), ya emang kalau bilang scripting tidak ada yang sulit sih yang ada cuman nggak hafal, kalau sudah urusan logika, lah itu yang sulit.
Banyak temenku yang kebingungan mengikuti mata kuliah ini, sebenarnya bukan karena kesulitan tapi lebih karena tidak hafal script-nya dan juga tidak biasa mengimplementasikan program dalam Java. Coba kalau mata kuliahnya menggunakan Delphi atau VB, pasti lebih cepet dimengerti, tinggal drag & drop tambah sedikit konfigurasi ODBC, udah selesai.
Berawal dari itulah akhirnya saya mencoba membuat class khusus yang mengimplementasikan pengguanan java untuk komunikasi dengan MySql. Yang lebih mudah dihafal dan juga lebih mudah ditulis, mungkin juga lebih mudah untuk mengenalkan diri, karena termuat dalam package fahri.sikel.*.
Alurnya, pertama untuk konstruktor :
public Sikel(String nim){
........
}
public Sikel(String nim,String passwd){
........
}
public Sikel(String host,String user,String passwd,String db){
........
}
mengapa ada tiga overload constructor?
Untuk constructor pertama dan kedua adalah untuk yang tugas yang dikejakan di lab kampus karena hostnya sudah ditentukan jadi tidak perlu dikonfirmasi lagi. Dan lagi di lab sudah di-set antara username MySQL, dan database sama persis yaitu menggunakan NIM masing-masing mahasiswa, jadi cukup satu kali konfirmasi NIM sudah selesai.
Sedangkan constructor kedua adalah untuk mahasiswa yang suka privacy dan memberikan password pada username-nya (termasuk saya). Sedangkan yang ketiga, constructor yang lebih fleksibel buat mereka yang mengerjakan tugas di rumah, kos, komputer temen, dan barang pinjaman, lebih fleksibel tapi juga lebih ribet, yah bagaimana lagi, terserah aku dong, kalau protes buat aja sendiri.
void perintah(String sql){
...........
}
Udah ketahuan dari namanya, ini method untuk memasukkan SQL Command ke dalam Java, tapi terbatas untuk DML itupun masih dibatasi hanya untuk INSERT INTO, UPDATE, dan DELETE, untuk SELECT, nanti ada jatahnya sendiri. Caranya seperti biasa tho tinggal masukkan aja SQL Command ke dalam parameter jalankan, beres deh.
void tutup(){ .............. }
Lah yang ini lebih kentara lagi, method yang gunanya untuk memutuskan hubungan dengan Java, kalau mau koneksi lagi, ya buat object lagi lah yaw, kan fungsi connect-nya udah dimasukkan di constructor.
Ada satu method lagi rencananya mau kayak gini
String [] [] tampil(String tabel,int jmlField,String kondisi){
..............
}
Sebenarnya mudah saja kalau membuat method yang langsung menampilkan dalam JTable, atau langsung dicetak dengan menggunakan Sysout (System.out.println). Tapi saya ingin membuat method tampil yang lebih dinamis dan fleksibel, sebenarnya lebih tepat kalau disebut method getData, tapi saya lebih suka menggunakan kata "tampil" karena lebih familiar di telinga temen-temen yang awam. Method ini hanya akan memasukkan isi dari database dalam sebuah array, kemudian terserah selera pengguna. Mau pake JTable boleh, Sysout juga boleh, bahkan kalau mau ditampilkan dulu di JTextField untuk keperluan konfirmasi update dan delete juga bisa.
Keputusan menggunakan array saya ambil karena class ini hanya ditujukan untuk membantu temen-temen yang kesulitan menghafalkan script koneksi Java untuk mata kuliah PBO II, dan saya yakin tidak mungkin ada mahasiswa yang menginputkan data sampai sekian banyak, paling menthok di hitungan dua puluhan. Kalaupun ada yang melebihi hitungan itu, berarti kemungkinan besar dia lebih pintar dan lebih ulet dari saya jadi saya persilahkan untuk membuat class sendiri, tidak perlu mencontek class sederhana ini.
Namun untuk membuat method yang terakhir ini saya mengalami kesulitan. Proyek Roro Jonggrang, pukul 00.35 saya mulai menulis class dengan menggunakan JCreator LE, sekitar pukul 00.56 method lain sudah jadi plus uji coba sukses, namun untuk method terakhir saya harus bekerja sampai pukul 01 lebih, saya pending untuk tidur dan dilanjutkan setelah sahur. Ternyata sampai 05.15 belum juga mendapat solusi yang baik. Sampai sekarang, masih males untuk mikir lagi, tetep saja terjebak dalam kesalahan yang sama, pada tipe kembalian yang tidak compatible dan SQL Command yang error terus. Mungkin temen yang lain bisa membantu saya menyelesaikan proyek ini, lumayan buat bantu temen yang kurang cepet menangkap materi kuliah.
Seusai prinsip enkapsulasi, listing lengkap tidak saya edarkan secara bebas yang pingin lihat skrip lengkapnya silahkan hubungi saya.
Komentar
My blog; new cellulite treatment
Whenever I take a look at your web site in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping issues.
I simply wanted to provide you with a quick heads up!
Apart from that, fantastic blog!
my blog - cellulite treatment reviews
site are actually awesome for people experience, well, keep up the good work
fellows.
Also visit my blog; new cellulite treatment