Database dan JDBC - Solusi Bahasa Pemrograman Java

advertisement
Database dan JDBC
Apa itu Database
Database adalah sekumpulan file data yang satu sama lainnya saling
berhubungan yang diorganisasi sedemikian rupa sehingga memudahkan untuk
mendapatkan dan memproses data tersebut. Lingkungan sistem database
menekankan pada data yang tidak tergantung (idenpendent) pada aplikasi yang
akan menggunakan data tersebut. Data adalah kumpulan kumpulan fakta
dasar (mentah) yang terpisah. Data menggambarkan suatu organisasi.
Sebuah database harus dibuat dengan rapi agar setiap data yang dimasukkan
sesuai dengan tempatnya. Sebagai contoh di sebuah Perpustakaan
penyimpanan buku dilakukan berdasarkan atas jenis atau kategori-kategori
tertentu dari buku-buku tersebut, misalnya kategori buku komputer, buku
pertanian, dan lain-lain. Kemudian dikelompokkan lagi berdasarkan abjad dari
judul-judul buku. Ini dilakukan agar setiap pengunjung dapat dengan mudah
mencari dan mendapatkan buku yang dimaksud. Bisa dibayangkan jika bukubuku tersebut tidak dikelompokkan berdasarkan kategori-kategori yang
ditentukan, maka seorang pengunjung akan sulit untuk mencari dan
mendapatkan buku yang dimaksud.
Untuk itu sebuah database yang baik harus memiliki kategori-kategori yang
digunakan sebagai pengelompokan data-data. Penggunaan database pada
komputer dilakukan dengan menggunakan tabel-tabel. Pada tabel-tabel
tersebut masih dikelompokkan lagi menjadi beberapa bagian untuk
membedakan data yang satu dengan data yang lain. Pada sebuah tabel
database harus memiliki satu kategori data yang digunakan sebagai kunci
untuk membedakan data-data yang ada didalam satu tabel. Data kunci
tersebut tidak boleh sama antara satu data dengan data yang lain. Data kunci
sering disebut dengan Primary Key.
Gambar 1.1 Contoh Tabel Database
Kolom pada tabel mengidentifikasikan kategori-kategori data dari tiap-tiap
baris. Pada contoh di atas kolom dengan kategori kode digunakan sebagai data
kunci, sehingga data yang terdapat pada kolom kode tidak boleh sama,
sedangkan data untuk kolom-kolom lainnya boleh sama. Ini bisa dilihat pada
baris ke 1 dan ke 3 pada kolom ALAMAT memiliki data yang sama yaitu
“Perum PGRI Blok K-60 Klipang Semarang”, begitu juga dengan baris ke 2, 7
dan 8 pada kolom No Tlp.
Data kunci ini digunakan untuk mempermudah pencarian sebuah data.
Dengan data kunci, setiap data yang terdapat pada sebuah tabel dapat
dibedakan sehingga dalam pengolahan data tidak tejadi tumpang-tindih antara
satu data dengan data yang lain.
Konsep Relasional Database
Relational Database Management System (RDBMS) Merupakan sekumpulan
data yang disimpan sedemikian rupa sehingga mudah diambil informasinya
bagi pengguna, dan data tersebut saling berhubungan. RDBMS merupakan
suatu paket perangkat lunak yang kompleks digunakan untuk memanipulasi
database.
Ada tiga prinsip dalam RDBMS :
 Data definition

Mendefinisikan jenis data yang akan dibuat (dapat berupa angka atau
huruf), cara relasi data, validasi data dan lainnya.
Data Manipulation

Data yang telah dibuat dan didefinisikan tersebut akan dilakukan
beberapa pengerjaan, seperti menyaring data, melakukan proses query,
dan sebagainya.
Data Control
Bagian ini berkenaan dengan cara mengendalikan data, seperti siapa
saja yang bisa melihat isi data, bagaimana data bisa digunakan oleh
banyak user, dan sebagainya. Semua operasi input dan output yang
berhubungan dengan database harus menggunakan DBMS. Bila
pemakai akan mengakses database, DBMS menyediakan penghubung
(interface) antara pemakai dengan database.
Hubungan pemakai dengan database dapat dilakukan dengan dua cara :
1. Secara interaktif menggunakan bahasa pertanyaan (query language).
2. Dengan menggunakan program aplikasi.
Jenjang Data
Dalam database terdapat jenjang atau urutan data mulai dari kumpulan yang
terkecil sampai yang terbesar. Jenjang data dapat Anda lihat pada gambar di
bawah ini.
Gambar 1.2 Jenjang Data


Characters : merupakan bagian data yang terkecil, dapat berupa karakter
numerik, huruf ataupun karakter-karakter khusus (special characters)
yang membentuk suatu item data / field.
Field : merepresentasikan suatu atribut dari record yang menunjukkan
suatu item dari data, seperti misalnya nama, alamat dan lain
sebagainya. Kumpulan dari field membentuk suatu record. field name:
harus diberi nama untuk membedakan field yang satu dengan lainnya
field representation: tipe field (karakter, teks, tanggal, angka, dsb), lebar



field (ruang maksimum yang dapat diisi dengan karakter-karakter data).
field value: isi dari field untuk masing-masing record.
Record : Kumpulan dari field membentuk suatu record. Record
menggambarkan suatu unit data individu yang tertentu. Kumpulan dari
record membentuk suatu file. Misalnya file personalia, tiap-tiap record
dapat mewakili data tiap-tiap karyawan.
File: File terdiri dari record-record yang menggambarkan satu kesatuan
data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua
mata pelajaran yang ada.
Database : Kumpulan dari file / tabel membentuk suatu database
Apa itu JDBC
JDBC API adalah kelas Java API untuk mengakses segala data berupa tabel.
JDBC adalah sebuah nama merek dagang atau trademark dari Sun
Microsystem (bukan sebuah singkatan, meskipun demikian JDBC sering
disebut sebagai “Java Database Connectivity”) yang merupakan bagian dari
teknologi Java yang diperuntukkan untuk pengolahan Database. JDBC juga
memiliki library atau API yang dapat digunakan untuk kebutuhan database
baik itu koneksi maupun pengolahan data.
JDBC API memudahkan untuk mengirim perintah SQL ke sistem database
relasionel dan mendukung bermacam-macam dialek SQL. JDBC API pertama
kali dirilis dengan nama JDBC API 2.0 pada tahun 1997 yang memiliki fasilitas
dan kemampuan yang sederhana, selanjutnya beberapa tahun kemudian dirilis
kembali JBDC API versi 2.0 yang memiliki kemampuan lebih baik dari versi
sebelumnya diantaranya fasilitas batch update dan scrollable cursor. JDBC API
versi 2.0 ini belum terdistribusi langsung di dalam J2SDK masih berupa
package tambahan yang bernama javax.sql. JDBC API 2.0 memiliki kemampuan
yang bagus seperti connection pooling, interface rowset, dan transaksi
terdistribusi.
JDBC API versi 3.0 telah terdistribusi secara langsung di dalam paket yang
terdapat pada J2SDK versi 1.4. yaitu pada package java.sql dan javax.sql.
Kemampuan-kemampuan yang terdapat pada versi 3.0 diantaranya transaction
savepoint, manajemen connection pooling yang lebih mendetail, dan dukungan
lebih lengkap terhadap SQL99.
Tipe-Tipe JDBC Driver
JDBC API terdiri dari dua interface utama yaitu JDBC API untuk penulis
aplikasi, dan JDBC Driver API lower-level untuk penulis driver. Teknologi JDBC
Driver dikelompokkan ke dalam 4 kategori.
Gambar di bawah ini menggambarkan konektivitas JDBC menggunakan ODBC
Driver dan library database client yang ada.
Tipe 1
Tipe 2
Gambar 1.3. JDBC Driver tipe 1 dan tipe 2 (Sun Microsystems)

Tipe 1 : JDBC-ODBC Bridge plus ODBC Driver

Tipe Driver ini menyediakan akses JDBC melalui ODBC Driver. JDBCODBC bridge telah diikutkan pada distribusi JDK sejak versi 1.2, dan
menjadi gateway ke ODBC API. Driver tipe ini akan kita gunakan dalam
pembuatan program JDBC pada buku ini dengan menggunakan
database server Microsoft Access.
Type 2 : A native API partly Java technology-enabled driver
Tipe Driver ini mengkonversi pemanggilan JDBC ke dalam pemanggilan
klien API untuk Oracle, Sybase, Infomix, BD2, atau DBMS yang lainnya.
Tipe driver ini juga memerlukan kode binary yang spesifik terhadap
system operasi yang di-load ke dalam masing-masing mesin klien. Tipe
ini memerlukan software tertentu yang diinstall pada mesin klien.
Aplikasi dan applet dapat mengakses database melalui JDBC API dengan
menggunakan program Java murni, seperti yang terlihat pada gambar di bawah
ini.
Tipe 4
Tipe 3
Gambar 1.4. JDBC Driver tipe 3 dan tipe 4 (Sun Microsystems)

Type 3 : Pure Java Driver for Database Middleware
Tipe driver ini menterjemahkan pemanggilan JDBC ke dalam middleware
protokol verdor, yang kemudian diterjemahkan ke dalah protokol DBMS
oleh server middleware. Middleware menyediakan konektivitas bagi
banyak database yang berbeda. Tipe driver ini sangat fleksibel, karena

tidak memerlukan kode yang terinstall di mesin klien dan sebuah driver
dapat menyediakan akses ke berbagai database.
Type 4: Direct-to-Database Pure Java Driver
Tipe driver ini mengkonversi JDBC secara langsung ke dalam protokol
jaringan yang digunakan oleh DBMS, memungkinkan suatu panggilan
langsung dari mesin klien kepada DBMS server, dan meyediakan suatu
solusi praktis untuk akses internet. Driver-driver dari tipe ini dibangun
menggunakan teknologi Java murni sehingga memberikan portabilitas
tinggi. Driver tipe ini akan kita gunakan dalam pembuatan program
JDBC pada buku ini dengan menggunakan database server MySQL.
Komponen Utama JDBC
JDBC API memiliki beberapa komponen utama yang berhubungan dengan
mekanisme pengolahan data baik itu untuk berkomunikasi dengan database
server, melakukan koneksi, mengirim perintah SQL, mendapatkan data,
menutup koneksi, serta penanganan error yang mungkin terjadi dalam
pengolahan data.
 Driver adalah komponen untuk menangani komunikasi dengan database
server.
 DriverManager adalah komponen untuk menangani objek Driver dimana
objek DriverManager juga mengabstraksi detail dari proses kerja objek
Driver.
 Connection adalah komponen untuk merepresentasikan koneksi secara
fisik ke database
 Statement adalah komponen untuk mengirim perintah-perintah SQL ke
database.
 ResultSet adalah komponen untuk menyimpan data yang didapat dari
database setelah perintah SQL dijalankan dengan menggunakan
komponen Statement.
 SQLException adalah komponen untuk menangangi kesalahankesalahan (error) yang mengkin terjadi dalam pengolahan database.
Keunggulan Teknologi JDBC
Ada beberapa keunggulan dari teknologi JDBC dalam pembuatan aplikasi
berbasis database dibandingkan dengan teknologi lainnya.
MEMPERTAHANKAN DATA YANG TELAH ADA
Dengan teknologi JDBC, aplikasi bisnis dan perusahaan tidak terpaku pada
arsitektur tertentu, dan dapat menggunakan database yang telah ada
sebelumnya tanpa harus merubah atau mengganti isi dari database yang telah
dibuat sebelumnya.
MENYEDERHANAKAN PEMBUATAN APLIKASI
Kombinasi antara Java API dengan JDBC API menjadikan pembuatan aplikasi
lebih mudah, sederhana, dan hemat dari segi ekonomis. JDBC
menyembunyikan tugas-tugas akses data sehingga pada programmer tidak
perlu mengetahui apa yang terjadi di belakang layar. Disamping itu juga, JDBC
API sangat mudah untuk dipelajari, dan sangat murah dalam pemeliharaannya.
TIDAK PERLU MELAKUKAN KONFIGURASI PADA JARINGAN KOMPUTER
Dengan JDBC API, sudah tidak perlu lagi melakukan konfigurasi sistem pada
komputer klien. Dengan driver yang dituliskan dalam program Java, semua
informasi yang diperlukan untuk melakukan koneksi dengan database telah
didefinisikan oleh JDBC URL atau dengan objek DataSource yang didaftarkan
dengan Java Naming and Directory Interface (JNDI).
AKSES PENUH KE METADATA
JDBC API menyediakan akses metadata sehingga memungkinkan untuk
mengembangkan sebuah aplikasi yang lebih canggih dan kemampuan
melakukan koneksi database yang lebih baik.
TIDAK PERLU DIINSTALL
JDBC driver yang murni bawaan dari Java misalnya JDBC-ODBC bridge, tidak
perlu diinstall lagi karena secara otomatis sudah terpasang pada mesin klien.
KONEKSI DATABASE MENGGUNAKAN URL
Teknologi JDBC memanfaatkan keunggulan dari standar Internet yaitu Uniform
Resource Locator (URL) untuk mengidentifikasi koneksi database. JBDC API
juga menyediakan cara lain yang lebih baik untuk identifikasi dan koneksi
database ke sumber data yaitu dengan menggunakan objek DataSource, dan
membuat kode lebih mudah untuk dipindahkan ke platform lain serta lebih
mudah dalam pemeliharaan.
Sebagai tambahan, objek DataSource juga menyediakan connection pooling dan
distributed transactions, yang merupakan seuatu yang penting dalam aplikasi
database.
Download