Kamis, 28 Mei 2015

Pertemuan 8 - Database (JDBC & ODBC)


DATABASE (JDBC & ODBC)

1.   JDBC (Java database connectivity)
     Adalah spesifikasi standar dari JavaSoft  API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC menyediakan methods untuk melakukan query dan modifikasi data pada RDBMS seperti Oracle, SQL Server, MySQL, dll menggunakan Driver Manager. JDBC mirip dengan ODBC (Open Database Connectivity), hanya saja JDBC spesifik digunakan untuk program Java.


Komponen Utama Pada JDBC
-       Driver 
Komponen untuk menangani komunikasi dengan database server
-       DriverManager 
Komponen untuk menangani objek Driver dimana objek DriverManager juga mengabstraksi detail dari proses kerja objek Driver
-       Connection 
Komponen untuk merepresentasikan koneksi secara fisik ke database
-       Statement 
Komponen untuk mengirim perintah-perintah SQL ke database
-       ResultSet 
Komponen untuk menyimpan data yang didapat dari database setelah perintah SQL dijalankan dengan menggunakan komponen Statement
-       SQLException 
Komponen untuk menangangi kesalahan-kesalahan (error) yang mungkin terjadi dalam pengolahan database


Empat Komponen Penting JDBC

1.    JDBC-API
     JDBC-API menyediakan fasilitas untuk mengakses database relasional dari program berbahasa Java. Melalui komponen ini user dapat melakukan proses query dan perubahan data dalam database. JDBC-API memiliki package utama yang tersedia pada java.sql dan javax.sql.

2.    JDBC Driver Manager
Merupakan komponen kelas utama yang mendefinisikan object yang mengkoneksikan aplikasi Java ke JDBC driver. Komponen ini berfungsi untuk mengatur beberapa tipe JDBC database driver yang berbeda. JDBC Driver Manager memilih driver mana yang sesuai untuk koneksi ke suatu database.

3.  JDBC Test Suite
     Komponen ketiga ini memastikan JDBC driver dapat menjalankan program user dan sangat
     berguna dalam melakukan testing sebuah aplikasi yang menggunakan teknologi JDBC.

4. JDBC-ODBC Bridge
Adalah database driver yang menggunakan ODBC driver untuk koneksi ke database serta memiliki fungsi utama untuk translasi dari JDBC method calls ke ODBC function calls dan mengimplementasikan JDBC untuk semua driver yang didukung oleh ODBC. Komponen ini dapat diimplementasikan dalam package sun.jdbc.odbc.




Langkah Penggunaan JDBC :

1.       Load driver JDBC
Driver :
-            library yang digunakan untuk berkomunikasi dengan database server
-            Dengan menggunakan driver, program Java yang menggunakan API JDBC dapat berinteraksi dan dapat dimengerti oleh database server.
Untuk database yang berbeda dibutuhkan driver yang berbeda.


Contoh di atas jika yang kita gunakan adalah JDBC-ODBC driver.
Dokumentasi driver anda akan memberikan nama class yang digunakan.

Nama Driver database

JDBC-ODBC : sun.jdbc.odbc.JdbcOdbcDriver
Oracle : oracle.jdbc.driver.OracleDriver
Sybase : com.sybase.jdbc.SybDriver
MySQL: com.mysql.jdbc.Driver
PostgreSQL: org.postgresql.Driver
Microsoft SQLServer 2000 : com.microsoft.jdbc.sqlserver.SQLServerDriver

2.       Definisikan URL database
Menspesifikasikan lokasi database server. menggunakan dokumentasi driver. Untuk penggunaan JDBC di applet digunakan :
-            database server harus berada pada node yang sama dengan letak applet.
-            Menggunakan proxy server yang me “reroute” request database ke actual server.
Contoh:


Nama URL database

JDBC-ODBC : jdbc:odbc:nama_database
Oracle : jdbc:oracle:thin:@nama_host:1521:namaDB
MySQL: jdbc:mysql://nama_host:3306/namaDB
PostgreSQL: jdbc:postgresql://nama_host:5432/namaDB
Microsoft SQLServer 2000 : jdbc:microsoft:sqlserver://nama_host:1433;DatabaseName=namaDB
 
3.       Membuat dan melakukan koneksi
Cara memanggil method getConnection dari class DriverManager dengan melewatkan URL (hasil langkah dua) sebagai argumen. getConnection akan melempar SQLException 
Contoh:


4.       Membuat obyek statement
Object Statement digunakan untuk mengirim query dan perintah ke database. Object Statement dibuat dengan cara bekerjasama dengan class Connection. Cara: memangil method createStatement() dari obyek Connection.
Contoh : Statement statement = connection.createStatement();

5.       Mengeksekusi query
Memanfaatkan object Statement untuk memproses query. Cara memanggil method executeQuery() dari object Statement. à memberikan return value bertipe ResulSet
Returns: ResulSet.

String sql=“select col1, col2, col3 from sometable”;
ResultSet rs=statement.executeQuery(sql);

Untuk memodifikasi database, gunakan statement.executeUpdate(sql); yang mendukung string sql UPDATE, INSERT INTO, DELETE

6.       Memproses result

ResultSet
ResultSet memberikan bermacam2 method getXxx dengan parameter indek kolom atau nama kolom dan mengembalikan data. Method lain object ResultSet :
-            findColumn() : mendapatkan index (integer value) berdasarkan  nama kolom. Kolom pertama mempunyai index 1 bukan 0.
-            getMetaData() : retrieve informasi mengenai ResultSet, returns object  ResultSetMetaData.
-            wasNull() : Mengetahui apakah getXxx() menghasilkan SQL null.

Dengan menggunakan method next() pada object ResultSet à mendapatkan results per satu baris.
Contoh:
String nrp;
String nama;
while (rs.next()){
nrp=rs.getString(1);
nama=rs.getString(2);
System.out.println("NRP : " +nrp);
System.out.println("NAMA : " +nama);
System.out.println("-------------");
}

Kolom pertama mempunyai index 1 bukan 0.
Object ResultSet otomatis akan ditutup bila ada object ResultSet baru.

7.       Menutup koneksi
Harus didefinisikan secara eksplisit : connection.close();
Karena membuka koneksi adalah mahal, maka penundaan langkah terakhir ini hanya jika masih ada operasi database yang dilakukan.

 


JDBC memiliki 10 arsitektur
1. Database connections
2. SQL Statements
3. Result set
4. Database metadata
5. Prepared Statement
6. Binary Large Objects (BLOBs)
7. Character Large Objects (CLOBs)
8. Callable statements
9. Database Driver
10.Driver Manager



JDBC – ODBC Bridge
Fungsi
– Translasi query dari JDBC ke ODBC query
– Client à JDBC Driver à ODBC Driver à Database
Keunggulan
– Semua database yang didukung oleh ODBC dapat diakses
Kelemahan
– Performance overhead
– ODBC driver harus diinstal di semua client
– Dibutuhkan client-side software 

Java to Native API
Fungsi
– Konversi JDBC calls ke client API untuk database
– Client à JDBC driver à Vendor Client DB Library à Database
Keunggulan
– Performa lebih baik daripada tipe 1
Kelemahan
– Vendor client library harus diinstal di client.
– Tidak dapat digunakan di internet karena membutuhkan client-side software.
– Tidak semua database memberikan client-side library 

Java to Network Protocol or All-Java Driver
Fungsi
– Menggunakan pendekatan three-tier communication
– Vendor independent
– Client à JDBC Driver à Middleware-Net Server à Any database
Keunggulan
– Tidak membutuhkan instalasi pada client-side
– Middleware server dapat memberikan fungsi tambahan dalam hal caching, load balancing, logging, auditing, dll.
– Dapat digunakan di internet
Kelemahan
– Membutuhkan program yang bersifat database-specific untuk middle tier
– Extra layer dapat menyebabkan time-bottleneck. 

Java to Database Protocol
Fungsi
– Melakukan komunikasi langsung dengan database melalui koneksi socket.
– Driver berfungsi mengubah JDBC call ke database protocol langsung
– Diimplementasikan sepenuhnya dalam Java.
– Client Machine à Native Protocol JDBC Driver à Database Server. Contoh: Oracle Thin Driver
Keunggulan
– Performa cenderung meningkat à Tidak melakukan translasi ke ODBC, tidak menggunakan client API, tidak menggunakan middleware layer
Kelemahan
– Pada sisi client, driver untuk masing-masing database harus terinstal. 


ODBC (Open Database Connectivity) adalah spesifikasi standar dari JavaSoft  API (Aplication Programming Interface) yang menggunakan interface database, yang disediakan untuk windows. Dapat menggambil data dari : Microsoft Access, SQL, Oracle, Microsoft Excel. Dalam penggunaan ODBC, semua harus berbasis windows. 

Komponen pada ODBC
1.    ODBC API 
Sekumpulan function call, error code, syntax SQL yang mendefinisikan bagaimana data dalam DBMS diakses
2.    ODBC Driver Manager
Dynamic Link Library yang mengatur function call driver database ODBC untuk DBMS tertentu
3.    ODBC Database Driver
Memuat driver ODBC database yang dibutuhkan aplikasi
4.    ODBC Cursor Library (ODBCCR32.DLL)
Terletak diantara ODBC driver dengan ODBC Driver manager yang mengatur pembaca data
5.    ODBC Administrator
Digunakan untuk mengkonfigurasi DMBS sehingga dapat digunakan untuk sumber data aplikasi


JDBC & ODBC
-       JDBC & ODBC tidak sama dengan Driver / Database
-       JDBC & ODBC merupakan middle layer atau sebagai perantara Aplikasi dan Database
-       ODBC : berhubungan atau digunakan untuk windows. Terletak pada SysWOW. Dapat mengambil data dari Microsodt Access, Microsoft Excel, SQL, Oracle.
-       JDBC : berhubungan atau digunakan untuk Java yang dapat menambahkan langsung Driver pada library yaitu SQL.
-       Jika gagal dalam menghubungkan, maka terdapat kesalahan saat penginstalan atau ada yang kurang saat proses penginstalan, yaitu : jdbc-odbc bridge
-       JDBC dibuat dengan driver MySQL dan terhubung ke odbc.
-       Servlet merupakan teknologi java
-       Langkah-langkah koneksi database ke servlet sama dengan langkah-langkah koneksi JDBC, karena sama-sama berasal dari Java



1 komentar:

  1. Merkur Safety Razors & Futur - CASINO
    Merkur Progress Adjustable Safety Razor The Merkur Progress has a classic design and an adjustable blade 메리트카지노 head. 바카라 Merkur งานออนไลน์ Safety Razor Chrome

    BalasHapus