Skip to main content

AppQuery: Akses Java ke semua jenis Database



Sistem baru, dimulai dengan menyelesaikan ini.
Sebenarnya banyak hal yang ingin dituliskan dan dijelaskan, karena agak kompleksnya aplikasi ini, tapi malah bingung. Jadi ingat apa yang dikatakan Budi Rahardjo, kalo penulisan orang teknik Indonesia tidak menarik, lebih mirip laporan praktikum daripada sebuah karya ilmiah, dengan hal teknis tapi dengan bahasa mirip bahasa mesin, cuma berisi beberapa kata tentang fungsinya, setelah itu disambung dengan kodenya. Padahal 50% dari pengerjaan proyek seharusnya digunakan untuk pembuatan dokumentasi dan help yang menarik dan mudah dimengerti. Dan konsultan luar negeri dibayar mahal karena penulisan mereka yang rapi disesuikan dengan target pembacanya, orang teknis, konsumen pemakai, atau investor. Satu lagi, kalo membuat blog, yang penting kuantitas, baru kulaitas. Buat tulisan yang banyak dulu, baru memikirkan kualitasnya. Blog ini juga begitu, sering update, kalo perlu sehari dua kali, sebulan sampai puluhan, sekarang baru mulai agak serius, dan efeknya langsung terasa. Trafik dari google langsung meningkat, seperti untuk pembahasan ozeki. Tapi biarkan saja, namanya juga belajar.

Mulai aja deh.
Ini cuma sebuah program pribadi yang tadinya cuma untuk mengetes koneksi java dengan sql server pada saat beberapa tahun lalu (Siapa aja ya, yang dulu minta, kayaknya banyak yang ngaku deh.....), akhirnya ditambahkan dengan beberapa keunikan. Aplikasi ini bisa digunakan untuk mengambil data dari berbagai macam database dengan cara yang mudah dan terstandardisasi, karena prinsipnya yang sama....
+ Driver SQL Server 2000 dan Driver mysql
Berbasis driver, sehingga cuma perlu tahu user dan password di database tanpa perlu ada konfigurasi tambahan. Bahkan drivernya sendiri sudah ada dalam bentuk class di aplikasi ini. Tinggal masukkan username, password, ketik nama database-nya, klik update database. Kalo koneksi berhasil, langsung ada pilihan tabel yang akan dilihat dari combobox dan perintah query yang bisa dijalankan.
sqlServerDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sqlServerUrl="jdbc:microsoft:sqlserver:"; //jdbc:microsoft:sqlserver://localhost;DatabaseName="+db;

mySqlDriver="com.mysql.jdbc.Driver";
mySqlUrl="jdbc:mysql:";//jdbc:mysql://localhost/dbme

+ ODBC
Menggunakan fasilitas dari windows Data source yang bisa digunakan untuk menghubungkan berbagai jenis database, dari oracle sampai file teks biasa. Yang harus dilakukan adalah membuat datasource dari Administrative tools di control panel, pilih jenis database yang akan dikoneksikan, lakukan konfigurasi sampai selesai. Setelah itu masukkan nama Datasource-nya di aplikasi ini, langsung update database. Apabila koneksi berhasil, pilihan tabel yang bisa dipilih langsung keluar.
odbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";
odbcUrl="jdbc:odbc:"; //jdbc:odbc:sqlKuliah


+ koneksi lainnya.
Bisa dengan mengubah setting yang disediakan, atau dengan driver yang bernar-benar baru. Misalkan, untuk koneksi mysql tapi dengan server di komputer yang berbeda, bukan di localhost, atau dengan port yang berbeda. Bisa juga misalkan dengan menambahkan driver oracle dengan setting path-nya, kemudian mengetikkan setting koneksi, database url, username dan password, di aplikasi ini.

Khusus untuk pembelajaran, aplikasi untuk membuat saya belajar tentang banyak hal, diantaranya:
+ koneksi ke odbc
Bisa melakukan koneksi ke odbc dengan berbagai macam jenis database yang berbeda, dengan kelemahan harus menambahkan datasource di setiap komputer untuk koneksi database. Selain itu juga lebih lambat dari driver biasa, karena adanya bantuan sistem operasi sebagai penghubung ke database.
+ koneksi ke driver database
Aplikasi ini membuktikan koneksi java ke database apapun, memiliki cara pemanggilan yang sama persis, dengan driver yang dibuat oleh vendor yang berbeda sesuai kebutuhan aplikasi. Jadi bisa saja Sebuah aplikasi java tidak dikhususkan untuk database tertentu, dengan konfigurasi berasal dari file teks atau registry, dan bisa di-setting secara runtime.
melakukan operasi database
Disediakan sebuah teksboks untuk mencoba perintah query berjenis execute query, bukan update query. yaitu perintah query yang menghasilkan record untuk ditampilkan di jtable, dengan perintah select dan variasinya.
+ manipulasi JTabel
Sekali lagi, sangat mudah. Untuk membuat object dari JTable dan melakukan manipulasi bentuk dan isinya secara runtime. Untuk aplikasi ini, JTable bisa menyesuaikan dengan kebutuhan query, berapapun kolom dari tabel dan record yang akan ditampilkan, bisa langsung ditampilkan.
+ copy data ke clipboard sistem operasi
Cuma sebuah contoh paling sederhana dari copy-paste. Dengan mengkopikan data di JTable yang dipilih untuk kemudian bisa dipastekan di aplikasi yang lain misalkan notepad. Sebenarnya di Java bisa saja data yang dikopikan berupa obyek dengan tipe data lain misalkan gambar untuk dipastekan di mspaint.Untuk kebutuhan aplikasi ini cuma perlu tipe data string saja karena berupa teks biasa.
Clipboard c = this.getToolkit( ).getSystemClipboard( );
c.setContents(new copyData((String)tabel.getValueAt(tabel.getSelectedRow(),tabel.getSelectedColumn())),
new ClipboardOwner( ) { public void lostOwnership(Clipboard c,Transferable t){}

dari kelas copyData:
class copyData implements Transferable {
DataFlavor FLAVOR= new DataFlavor("application/x-java-serialized-object; class=java.lang.String","String");
DataFlavor[ ] FLAVORS = new DataFlavor[ ] { FLAVOR };
String str;
public copyData(String str) {
this.str = str;
}
public DataFlavor[ ] getTransferDataFlavors( ) { return FLAVORS; }
public boolean isDataFlavorSupported(DataFlavor f){return f.equals(FLAVOR);}
public Object getTransferData(DataFlavor f)
throws UnsupportedFlavorException {
if (!f.equals(FLAVOR)) throw new UnsupportedFlavorException(f);
return str;
}
}


+ Aplikasi yang bersifat portable, bebas sistem operasi
Bukan jamannya lagi aplikasi portable yang jalan dari flashdisk, tapi cuma jalan di os tertentu (xixixixi, sebenarnya malah sangat tergantung di aplikasi seperti ini). Untuk java, apabila sudah dibentuk dalam bentuk jar, maka bisa dijalankan dimanapun yang tersedia JRE, Windows, Linux, Mac OS. Khusus untuk aplikasi ini, karena di-compile dengan JDK versi lama, 1.4.2, maka bisa dijalankan di semua versi JDK terbaru. Selain itu semua library dan driver SQL Server dan My SQL sudah ada dalam satu paket tanpa perlu setting path segala macam. Jadi, dengan syarat JRE yang beres beserta konfigurasi asosiasi file dengan tipe jar yang benar, maka tinggal diklik dua kali, langsung jalan dan siap bekerja, tanpa setting apapun, tanpa melihat sistem operasi dia berjalan. Dengan cuma satu buah file jar, selain itu ada versi exe untuk windows, maka file java bisa langsung dijalankan tanpa masalah. Karena class java cuma tergantung pada JRE, bukan sistem operasi maupun hardware komputer.

Susunan file utama di jar:
File name Ext
------------------------------------------------------------------------------------------
appQuery jarContent
lihatTabel class
lihatTabel form
lihatTabel java
lihatTabel$copyData class
com\
com\microsoft\
com\microsoft\jdbc\
com\microsoft\jdbc\sqlserver\
SQLServerDriver class
com\mysql\
com\mysql\jdbc\
Driver class
org\
org\gjt\
org\gjt\mm\
org\gjt\mm\mysql\
Driver class

versi jar, didalamnya sudah termasuk sourcecode java dan form netbeans, driver mysql dan sql server, bisa dibongkar dengan 7zip dan sejenisnya, karena kompresi yang mirip antara jar dan zip. selain itu bisa jalan dengan berbagai os.

versi exe, bisa langsung dijalankan di windows, dibuat dengan j2exe.

Sedangkan untuk source codenya, ada di posting selanjutnya.....

Comments

  1. om-om,,source code aplikasi AppQuery ada yg project netbeannya nggak,, kalo ada boleh minta ngga?

    emang dulu bikinnya pake apa?? kalo pake netbean kan enak ada GUInya..


    thanks

    ery

    eryaryasa@yahoo.co.id

    ReplyDelete
  2. Program ini dikembangkan dengan Netbeans versi 3.6 yang berbasis folder, bukan berbasis project seperti versi diatas 4.0
    Untuk source code, kita kembangkan sedikit imajinasi. Dibagian download jar sudah ada keterangannya. Tinggal download, buka/ ekstrak dengan winrar dan sejenisnya

    ReplyDelete
  3. ok deh om thanks banget,, programnya oke punya,, ngebantu kerjaan saya,,

    thanks banget yach..

    ReplyDelete
  4. om, gimana om buka forum ja biar kita2 yang new be bisa lebih luas konsultasinya,..hehehe...hanya ususaln...om, bisa diajarin ga' cara mengatur tabel di java, soalnya tampilannya brantakan om, kalo panjang tulisan di tabel-nya, cuma di tampilin pake titik2,....makasih om

    ReplyDelete
  5. @ halo
    Saya bukan orang yang bisa bertahan lama dalam satu hal secara konsisten. Jadi, kalo untuk forum sepertinya tidak bisa diwujudkan.
    Coba gunakan perintah
    tabel.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    sehingga kalo melebar dia akan membuat scrollbar, sehingga tidak terlalu sempit lagi yang menyebabkan cuma menampilkan titik-titik.

    ReplyDelete
  6. link nya ga bisa di download, minta update lagi om

    ReplyDelete

Post a Comment

Popular posts from this blog

Java-MySql: Aplikasi Database dengan Data Gambar (Updated)

Untuk update metode simpan gambar lihat di appGambar 2.0 Bagaimana caranya menyimpan data yang membutuhkan penyimpanan data gambar? Misalkan data pegawai yang membutuhkan penyimpanan gambar dari setiap pegawai. Alternatifnya ada dua, dengan kelebihan dan kekurangan masing-masing. Cara yang pertama adalah dengan membuat field dengan tipe data binary, kemudian menyimpan gambar yang dibutuhkan dalam field di database tersebut. Cara ini membutuhkan manajemen program yang lebih rumit, tapi data gambar akan terjamin, karena tersimpan didalam database yang terintegrasi dengan data lainnya. Kekurangan lainnya adalah ukuran database yang akan membesar dan lambat. Bayangkan saja, sebuah field membutuhkan gambar dengan format jpeg, 200kB. Apabila ada 200 juta record, maka ukuran field yang diperuntukan khusus untuk gambar dengan perhitungan kasar adalah 0.2 MB x 200M = 40 x 10^12 = 40 TB. Belum ditambah dengan ukuran data dari field lainnya, kalau misalkan untuk menyimpan data penduduk Indonesia.

PHP: Kalkulator

Pada intinya, kalkulator berbasis web ini menggunakan tiga dasar, yaitu CSS, PHP, dan HTML. CSS (Cascading Style Sheets) agar mudah mengatur tampilan, PHP (PHP Hypertext Prepocessor) untuk operasi perhitungan, dan HTML (Hypertext Markup Language) untuk pembuatan form kalkulator. Kesemuanya dalam bentuk dasar dengan logika perhitungan sederhana untuk melakukan perhitungan. Sedangkan array diatas digunakan untuk debugger dan memahami jalannya algoritma. <html> <head> </head> <body> <style type="text/css"> .Hasil { color: #fcc; background-color: blue; font-size: 4em; border: 1px solid #660; padding: 4px; } .Operator { color: #fcc; background-color: #900; font-size: 1.5em; border: 1px solid #660; width: 100px; padding: 4px; } .Angka { color: white; background-color: #660; font-size: 1.5em; border: 1px solid #660; padding: 4px; width: 100px; } </style> <?php function Hitung($b1,$b2,$o){ switch($o){ case '+': return $b1

Pembuatan PDF di PHP dengan FPDF dan HTML2FPDF

Untuk membuat pdf dengan menggunakan php, kita bisa menggunakan fpdf yang berbasis class. Sedangkan html2fpdf digunakan untuk mengubah html menjadi pdf. Dengan hanya menggunakan fpdf, kita harus menentukan semua hal yang mengatur tampilannya berbasis code sesuai dengan aturan dan fungsi yang disediakan class tersebut. Dengan menggunakan html2fpdf, kita cuma perlu membuat sebuah file html dan tampilannya langsung diubah menjadi sebuah file pdf, tentu dengan beberapa keterbatasan dan perubahan tampilan. Saat ini, fpdf terbaru pada versi 1.6 sedangkan html2fpdf versi 3. Instalasi: + Ekstrak file fpdf dan html2fpdf. Sebenarnya html2fpdf merupakan inheritance dari class fpdf, tapi class di fpdf yang disdertakan di paket html2fpdf telah dimodifikasi dari aslinya sesuai dengan kebutuhan konversi tersebut. Class original dari fpdf akan kita pakai untuk pembuatan pdf secara manual, bukan dari html. + Ganti nama file fpdf.php misalkan menjadi fpdf16.php. Karena untuk bebrapa versi instalasi php