Koneksi Java ke Basis Data
A. Pengenalan JDBC
Basis data adalah kumpulan informasi terstruktur yang disimpan secara elekronik dalam sistem komputer. Basis data biasanya dikendalikan oleh sistem manajemen basis data atau Database Management System (DBMS). Kaitan antara data, DBMS, dan aplikasi disebut dengan basis data. Umumnya saat ini, basis data dioperasikan dalam bahasa Structured Query Language (SQL) yang dapat dikoneksikan dengan bahasa pemrograman lainnya, sesuai dengan kebutuhan dari program yang dikembangkan. Untuk mengoneksikan DBMS dan program Java, diperlukan tools pendukung bernama JDBC.
JDBC adalah akronim untuk Java Database Connectivity. JDBC merupakan salah satu pengembangan lanjutan dari Open Database Connectivity (ODBC), JDBC adalah bagian dari Application Programming Interface (API) yang dikembangkan untuk memindahkan data dari front end ke back end. API terdiri atas class dan interface yang ditulis dalam bahasa pemrograman Java.
Pada dasarnya, API bertindak sebagai interface atau saluran antara program Java dan basis data. Interface berfungsi membangun tautan antara Java ke basis data sehingga seorang programmer dapat mengirim data dari kode Java dan menyimpannya dalam basis data.
Sebagai driver basis data, JDBC memiliki fungsi sebagai berikut.
1. Membuat koneksi ke basis data.
2. Membuat pernyataan SQL atau MySQL.
3. Menjalankan query SQL atau MySQL dalam basis data.
4. Melihat dan memodifikasi catatan atau record yang dihasilkan.
Di dalam JDBC, terdapat bagian-bagian yang menyediakan komponen, antara lain sebagai berikut.
1. DriverManager
Class DriverManager digunakan untuk mengelola daftar driver basis data. DriverManager bertugas mencocokkan permintaan koneksi dari aplikasi Java dengan driver basis data yang tepat menggunakan subprotocol komunikasi. Driver pertama yang mengenali subprotocol tertentu di bawah JDBC akan digunakan untuk membuat koneksi basis data.
2. Driver
Interface Driver berfungsi menangani komunikasi dengan server basis data. Programmer dan pengguna dapat berinteraksi secara langsung dengan objek Driver, sebagai penghubungnya adalah objek DriverManager.
3. Connection
Interface Connection terdiri atas method-method untuk menghubungkan program dengan basis data, sebagai contoh method untuk transaction management, seperti commit() dan rollback().
4. Statement
Programmer menggunakan objek yang dibuat dari interface Statement untuk mengirimkan pernyataan SQL ke basis data. Beberapa interface turunan menerima parameter tambahan untuk menjalankan stored procedures.
5. ResultSet
Objek ResultSet menyimpan data yang diambil dari basis data setelah query SQL dieksekusi oleh program.
6. SQLException
Class SQLException menangani kesalahan yang terjadi dalam aplikasi basis data.
B. Penyedia Server Basis Data
Software basis data yang akan digunakan dapat disesuaikan Software dengan kebutuhan dan keinginan dari programmer. Berikut adalah beberapa software basis data yang populer digunakan.
1. MySQL DB
MySQL DB adalah sebuah aplikasi manajemen basis data open source yang dikembangkan oleh Oracle. Setiap pengguna dapat secara gratis menggunakan MySQL dengan men-download pada situs resmi MySQL DB. Aplikasi ini mendukung operasi basis data transaksional dan non-transaksional serta memiliki unjuk kerja yang unggul dibandingkan aplikasi manajemen basis data lainnya.
2. PostgreSQL DB
PostgreSQL DB dapat di-download secara gratis pada situs resmi PostgreSQL DB karena sifat dari software ini adalah open source, sama seperti MySQL DB. Software ini didukung dengan tool aplikasi berbasis GUI yang disebut dengan pgAdminll. JDBC driver secara otomatis akan terinstal pada Windows jika PostgreSQL DB telah terpasang pada komputer.
3. Oracle DB
Oracle DB adalah sebuah server basis data berbayar yang dikembangkan oleh Oracle. Aplikasi basis data ini digunakan untuk membuat sebuah aplikasi basis data skala besar dan profesional. Oracle dilengkapi dengan fasilitas tool aplikasi yang disebut dengan Enterprise Manager. JDBC driver akan terpasang setelah aplikasi Oracle DB terinstal pada komputer.
C. Pengaturan dan Instalasi JDBC
Untuk mulai mengembangkan aplikasi basis data dengan U JDBC, programmer harus mengatur lingkungan (environment) atau melakukan setting JDBC dengan mengikuti langkah-langkah yang akan ditunjukkan sebagai berikut.
1. Instalasi Java Development Kit (JDK)
Langkah-langkah instalasi JDK adalah sebagai berikut.
a. Download aplikasi Java atau Java Development Kit (JDK) pada situs resmi Oracle https://www.oracle.com/technetwork/ java/javase/downloads atau situs lainnya yang menyediakan file JDK.
b. Install J2SE Development Kit 5.0 (JDK 5.0) atau versi yang lebih tinggi dari situs resmi Java.
C. Double click pada file JDK tersebut, sebagai contoh JDK yang digunakan adalah jdk-8u202-windows-x64.exe.
d. Klik tombol Next untuk melanjutkan ke bagian Custom Setup.
e. Pada bagian Custom Setup, dapat diubah direktori penyimpanan dari file JDK yang akan diinstal, dengan klik pada bagian Change.
f. Pada form Gambar 3.7, file JDK akan diinstal pada direktori C:\Program Files\Java\jdk1.8.0_202, direktori folder tersebut dapat diubah sesuai keinginan Anda. Setelah menentukan direktori instalasi, klik OK.
g. Setelah itu, Anda akan diarahkan kembali ke kotak dialog Custom Setup. Klik Next, kemudian akan terjadi proses instalasi beberapa file yang dibutuhkan untuk menjalankan aplikasi Java. Instalasi file tersebut berjalan secara otomatis.
h. Setelah proses instalasi beberapa file pendukung selesai, akan ditampilkan kotak dialog Complete. Pada tampilan tersebut, dijelaskan bahwa instalasi telah berhasil dilakukan. Anda juga dapat melihat tutorial akses, dokumentasi API, panduan developer, release notes, dan informasi lainnya dengan mengeklik tombol Next Steps. Untuk menutup kotak dialog, klik Finish.
2. Instalasi JDBC untuk MySQL Database Server
Langkah-langkah instalasi JDBC untuk MySQL Database Server adalah sebagai berikut.
a. Untuk melakukan instalasi JDBC, diperlukan file mysql-connector-java-5.0.8.jar atau versi yang terbaru yang dapat di-download pada situs https://dev.mysql.com/ downloads/connector/j/.
b. Setelah file ter-download, letakkan file tersebut pada folder Java yang telah di-setting sebelumnya, yaitu C:\ProgramFiles\ Java\jdk1.8.0_202.
c. Selanjutnya, lakukan konfigurasi ClassPath di Windows. Anda dapat melihat langkah-langkah konfigurasi ClassPath yang lebih rinci pada buku Pemrograman Berorientasi Objek Kelas XI. Berikut adalah langkah-langkah melakukan konfigurasi ClassPath.
1) Setting ClassPath.
2) Klik Start Control Panel System Properties.
3) Pilih tab Advanced Environment Variable.
4) Pada kotak dialog Environment Variable yang muncul, pilih System Variables.
5) Isi Nama Variabel dengan "CLASSPATH"
6) Isi Nilai Variabel dengan "C:\Program Files\Java\ jdk1.8.0_202 mysql-connector-java-5.0.8-rc-bin.jar".
7) Klik OK dan restart komputer.
3. Instalasi JDBC untuk Oracle Database Server Langkah-langkah instalasi JDBC untuk Oracle Database Server adalah sebagai berikut.
a. Download file ojdbc6.jar pada situs http://www.oracle.com/ technetwork/database/enterprise-edition/jdbc-112010-090769. html.
b. Copy dan paste file tersebut pada folder C:\Java\jdk1.8.0_202\\lib\.
C. Restart komputer.
D Mempelajari Syntax SQL JDBC
Structured Query Language (SQL) adalah bahasa pemrograman Str yang memungkinkan programmer untuk melakukan operasi pada basis data, seperti membuat entri, membaca konten, memperbarui konten, dan menghapus entri, SQL didukung oleh hampir semua basis data yang kemungkinan akan digunakan oleh programmer. SQL juga memungkinkan programmer untuk menulis kode basis data secara independen dari basis data yang mendasarinya.
Pada bagian ini, Anda akan diberikan gambaran umum tentang SQL, yang merupakan prasyarat untuk memahami Sumber: shutterstock.com konsep JDBC. SQL memiliki beberapa pernyataan yang umum digunakan untuk mengelola dan memanipulasi data di basis data (DML). Beberapa pernyataan tersebut, antara lain sebagai berikut.
1. SELECT, pernyataan ini digunakan untuk mengambil data dari basis data.
2. FROM, pernyataan ini digunakan untuk memilih tabel di basis data yang menjadi sumber data yang akan ditampilkan.
3. WHERE, pernyataan ini digunakan untuk menentukan kriteria data yang akan dimanipulasi.
4. ORDER BY, pernyataan ini digunakan untuk menentukan kriteria pengurutan dari data yang akan ditampilkan.
5. GROUP BY, pernyataan ini digunakan untuk menentukan kolom yang digunakan sebagai pengelompokan data.
Setelah Anda mengetahui pernyataan-pernyataan utama dalam SQL, Anda akan dijelaskan mengenai beberapa teknik untuk mendefinisikan data dalam basis data dengan SQL (DDL). Setelah melewati bab ini, Anda diharapkan dapat membuat, membaca, memperbarui, dan menghapus data dari basis data. Berikut beberapa teknik untuk mendefinisikan data dalam basis data dengan syntax SQL.
1. Create Database Create Database adalah statement untuk membuat sebuah basis data baru di server basis data. Syntax untuk melakukannya adalah sebagai berikut. SQL> CREATE DATABASE DATABASE NAME:
Berikut contoh penggunaan syntax tersebut. SQL> CREATE DATABASE Latih;
2. Drop Database Drop Database adalah statement yang digunakan untuk menghapus basis data yang telah ada. Syntax untuk melakukannya adalah sebagai berikut.
SQL> DROP DATABASE DATABASE NAME: Berikut
contoh penggunaan syntax tersebut.
SQL> DROP DATABASE Latih;
3. Create Table
Create Table adalah statement yang digunakan untuk membuat tabel baru dalam sebuah basis data. Syntax untuk melakukannya adalah sebagai berikut.
SQL> CREATE TABLE table_name
(
column name column_data_type,
column_name column_data_type,
column_name column_data_type
...
);
Berikut contoh penggunaan syntax tersebut.
SQL> CREATE TABLE Karyawan
(
id INT NOT NULL,
age INT NOT NULL,
first VARCHAR(255),
last VARCHAR(255),
PRIMARY KEY ( id )
);
4. Drop Table
Drop Table adalah statement yang digunakan untuk menghapus tabel yang ada dalam basis data. Syntax untuk melakukannya adalah sebagai berikut.
SQL> DROP TABLE table name;
Berikut contoh penggunaan syntax tersebut.
SQL> DROP TABLE Karyawan:
5. Insert Data
Insert Data digunakan untuk menambahkan sebaris data pada kolom-kolom dalam sebuah tabel. Syntax untuk melakukannya adalah sebagai berikut.
SQL> INSERT INTO table name VALUES (column1, column2,...)
Berikut contoh penggunaan syntax tersebut.
SQL> INSERT INTO Karyawan VALUES (100, 18, 'Zara', 'Ali');
6. Select Data
Pernyataan SELECT digunakan untuk mengambil data dari basis data. Syntax untuk melakukannya adalah sebagai berikut.
SQL> SELECT column_name, column_name, ...
FROM table name
WHERE conditions;
Tabel di basis data yang menjadi sumber data yang ditampilkan diatur pada klausa FROM. Adapun kriteria dari data yang dimanipulasi diatur pada klausa WHERE. Klausa WHERE dapat menggunakan operator perbandingan seperti =, !=, <, >, <=, dan >=, sama seperti pada operator BETWEEN dan LIKE.
Berikut adalah contoh pernyataan SQL yang akan menampilkan usia serta nama di kolom pertama dan terakhir dari tabel Karyawan, dengan kolom id adalah 100.
SQL> SELECT first, last, age
FROM Karyawan
WHERE id = 100;
Pernyataan SQL berikut memilih usia, kolom pertama dan terakhir dari tabel Karyawan dengan kolom pertama mengandung kata Zara.
SQL> SELECT first, last, age
FROM Karyawan
WHERE first LIKE 'Zara';
7. Update Data Update data digunakan untuk melakukan penyimpanan perubahan data. Syntax untuk melakukannya adalah sebagai berikut.
SQL> UPDATE table name
SET column name value, value, column name value, ...
WHERE conditions;
Berikut adalah contoh pernyataan SQL UPDATE yang akan mengubah kolom usia karyawan yang id-nya adalah 100.
SQL> UPDATE Karyawan SET age 20 WHERE id=100;
8. Delete Data
Statement DELETE digunakan untuk menghapus data dari sebuah tabel. Syntax untuk melakukannya adalah sebagai berikut.
SQL> DELETE FROM table name WHERE conditions;
Berikut adalah contoh pernyataan SQL DELETE yang akan menghapus catatan karyawan yang id-nya 100.
SQL> DELETE FROM Karyawan WHERE id=100;
E. Memahami Langkah Koneksi Java ke Basis Data
Pada ada subbab ini, akan dijelaskan mengenai cara mengimplementasikan query untuk mengoneksikan Java ke basis data SQL sehingga dapat digunakan dalam pemrograman Java. Beberapa hal yang wajib diketahui dan dipahami oleh programmer dalam melakukan koneksi basis data ke Java adalah membuat basis data dan tabel, melakukan import dan registrasi library java.sql.*, serta mengimplementasikan query dalam pemrograman Java.
Berikut adalah implementasi query dalam pemrograman Java.
1. Membuat sebuah basis data pada server basis data. Aplikasi server basis data yang akan digunakan pada materi ini adalah MySQL DB, dengan urutan langkah sebagai berikut.
a. Membuka aplikasi MySQL DB.
C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>
b. Login ke dalam server basis data.
C:\Program Files\MySQL\bin>mysql -u root -p
Enter password:********
mysql>
C. Membuat sebuah basis data pada MySQL.
mysql> Create Database Karyawan;
atau
C:\Program Files\MySQL\bin> mysqladmin create Latih -u root -p
d. Membuat sebuah tabel dengan nama Karyawan.
mysql> use Latih:
mysql> create table Karyawan
-> id int not null,
-> age int not null,
-> first varchar (255),
-> last varchar (255)
-> );
Query OK, 0 rows affected (0.08 sec) mysql>
e. Memasukkan data ke dalam record Karyawan.
mysql> INSERT INTO Karyawan VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO Karyawan VALUES (101, 25, 'Teguh', 'Yusuf');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Karyawan VALUES (102, 30, 'Andri', 'Susi'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO Karyawan VALUES (103, 28, Sumi', 'Mita'); Query OK, 1 row affected (0.00 sec)
mysql>
f. Import libray java.sql. dan lakukan registrası komponen basis data, langkahnya adalah sebagai
1) Import packages
Langkah ini dimaksudkan untuk meng-import atau memanggil library Java yang digunakan untuk menghubungkan antara Java dan server basis data. Biasanya digunakan perintah import java. sq1. * yang dituliskan pada awal program. Perhatikan kode program berikut.
//Meng-import package yang diperlukan import java.sql.*;
2) Membuat koneksi
Selanjutnya, dilakukan proses membuat koneksi basis data. Dalam proses ini, perlu dideskripsikan nama driver, alamat driver, serta user dan password dari basis data tersebut.
Perhatikan kode program berikut.
//STEP 1: Meng-import package yang di- perlukan
import java.sql.*;
public class JDBCExample {
//Nama JDBC driver dan URL basis data
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL =
"jdbc:mysql://localhost/Latih";
//User dan password basis data
static final String USER = "root";
static final String PASS = "";
Pada kode program tersebut digunakan driver JDBC yang terhubung ke server basis data MySQL, serta nama dari basis data adalah Latih, dengan user adalah root dan password kosong.
Implementasi koneksi URL dapat menggunakan tiga cara, yaitu sebagai berikut.
a) Menggunakan URL basis data dengan username dan password.
String URL = "jdbc:oracle:thin:@ amrood:1521:EMP";
String USER = "root";
String PASS "root";
Connection conn = DriverManager.
getConnection (URL, USER, PASS);
b) Hanya mengunakan URL basis data.
String URL =
"jdbc:oracle:thinrusername/password amrood:1521:EMP";
Connection conn DriverManager.
getConnection (URL):
c) Menggunakan URL basis data dan property object.
import java.util.*;
String URL = "jdbc:oracle:thin:@
amrood:1521:EMP":
Properties info new Properties();
info.put("user", "username");
info.put("password", "password");
Connection conn = getConnection DriverManager.( Url, info);
2. Register JDBC driver dan membuka koneksi
Bagian ini merupakan proses inisialisasi driver Java yang akan menghubungan antara Java dan basis data.
Perhatikan kode program berikut.
try {
//STEP 2: Register driver JDBC
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Membuka koneksi
System.out.println("Connecting to a
selected database...");
conn = DriverManager.getConnection (DB_URL, URL, PASS);
System.out.println("Connected database successfully...");
Proses mendaftarkan driver dapat dilakukan dengan dua cara, yaitu sebagai berikut.
1) Class.forName()
Pendekatan yang paling umum untuk mendaftarkan driver adalah dengan menggunakan class Java Class.forName (). Metode ini secara dinamis memuat file class driver ke memori, serta memungkinkan driver dapat dikonfigurasi secara portable dalam program.
Berikut contoh penggunaan Class.forName()
try {
Class.forName("oracle.jdbc.driver. OracleDriver");
}
2) Method DriverManager.registerDriver()
Pendekatan kedua yang dapat Anda gunakan untuk mendaftarkan driver adalah dengan menggunakan method DriverManager. registerDriver().
Berikut contoh penggunaan DriverManager.registerDriv ()
try {
Driver myDriver = new oracle. jdbc.driver.OracleDriver(); DriverManager.registerDriver(
myDriver);
3. Mengeksekusi query dan mengambil data hasil operasi
Bagian ini berisi kumpulan perintah query yang akan dieksekusi oleh program serta penggunaan method ResultSet.getXXX () untuk mengambil data hasil operasi data.
//STEP 4: Mengeksekusi query System.out.println("Creating statement..."); stmt conn.createStatement();
String sql = "SELECT id, first, last, age, FROM karyawan";
ResultSet rs stmt.executeQuery(sql);
4. Menampilkan semua data dan menutup sumber data Bagian ini digunakan untuk menampilkan semua data yang telah dioperasikan, kemudian menutup sumber data tersebut.
Perhatikan kode program berikut.
while (rs.next()) {
//Menampilkan data berdasarkan kolom
int id rs.getInt("id");
int agers.getInt("age");
String first = rs.getString("first");
String last rs.getString("last");
//Menampilkan nilai
System.out.println("ID: " + id); System.out.println(", Age: " + age); System.out.println(", First: " + first); System.out.println((", Last: " + last));
}
//Menutup sumber data
rs.close();
F Implementasi Operasi Data pada Java Database
Pada subbab ini, akan dijelaskan cara membuat basis data menggunakan aplikasi JDBC dengan server basis data MySQL. Langkah-langkah untuk melakukannya adalah sebagai berikut.
1. Membuat Koneksi Java ke Server Basis Data
Untuk mengoneksikan program Java ke server basis data perlu dideskripsikan nama driver, alamat driver, serta user dan password dari basis data tersebut. Selanjutnya, dilakukan registrasi JDBC dan pembukaan koneksi ke basis data. Berikut adalah kode program untuk membuat koneksi Java ke server basis data.
1 //STEP 1. Import required packages
2 import java.sql.
3
4 public cians create database {
5 // JDBC driver name and database URL
6 static final String JDBC DRIVER "com.mysql.jdbc.Driver";
7 static final String DB URL "jdbc:mysql://localhost/";
8
9 // Database credentials
10 static final String USER "root":
11 static final String PASS";
12
13 public static void main(String[] arga) {
14 Connection conn nuilz
15 Statement stmt nulls
16 try
17 // STEP 2: Register JDBC driver
18 Class.forName("com.mysql.jdbc.Driver");
19
20 / STEP 3: open a connection
21 System.out.println("Connecting to database...");
22 conn DriverManager.getConnection(DB URL, USER, PASS);
23
24 // STEP 4: Execute a query
25 System.out.println("Creating database...");
26 stmt conn.createlitatement();
27
28 String sql = "CREATE DATABASE PELAJAR";
29 stmt.executeUpdate(sql);
30 System.out.println("Database created successfully..."
31 catch (SQLException se)
32 // Handle errors for Jрас
33 se.printStackTrace():
34 catch (Exception e) {
35 // Handle errors for Class.forName
36 e.printStackTrace();
37) finally {
38 // finally block used to close resources
39 try {
40 if (stmt != null)
41 stmt.close();
42 catch (SQLException se2) () // nothing we can do
43 try
44 if (conn = null)
45 conn.close();
46) catch (SQLException se) {
47 se.printStackTrace();
48// end finally try
49) // end try
50 System.out.println("Goodbye!");
51// end main
52 // end JDBCExample
Hasil kode program tersebut dari buku paket adalah sebagai berikut:
Hasil kodingan dari aplikasi J studio:
2. Membuat Tabel Basis Data
Pada bagian ini, akan dicontohkan cara membuat tabel REGISTRATION dalam basis data Pelajar. Struktur tabel Registration adalah sebagai berikut.
"CREATE TABLE REGISTRATION "
"(id INTEGER not NULL, "
"first VARCHAR(255), " +
"last VARCHAR(255), " +
" age INTEGER, + PRIMARY KEY (id))";
Perhatikan kode program berikut:
//STEP 1.Javimport required packages
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String DEBORDRIVER "com.mysql.jdbc.Driver";
static final DB_URL =
"jdbc:mysql://localhost/Pelajar":
// Database credentials
static final String USER = "root";
static final String PASS = "";
public static void main(String[] args{
Connection conn = null;
Statement stmt = null;
try
// STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// STEP 3: Open a connection
System.out.println("Connecting to a selected
database...");
conn = DriverManager.getConnection (DB URL, USER, PASS);
System.out.println("Connected database successfully...");
// STEP 4: Execute a query
System.out.println("Creating table in given database...");
stmt conn.createStatement();
String sqi "CREATE TABLE REGISTRATION
"(id INTEGER not NULL, "+"first VARCHAR(255),
last VARCHAR (255), "+"age INTEGER,"
PRIMARY KEY (id))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
catch (SQLException se) !
// Handle errors for JDBC
se.printStackTrace():
catch (Exception e) I
// Handle errors for Class.forName
e.printStackTrace();
} finally {
// finally block used to close resources
4try {
if (stmt != null
conn.close();
catch (SQLException se) () // do nothing
try
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
} // end finally try
} // end try
System.out.println("Goodbye!");
// end main
// end JDBCExample
Hasil kompilasi kode program tersebut dari buku paket adalah:
Hasil kode program dari aplikasi J studio:
Tidak ada komentar:
Posting Komentar