Bab 3 pelajaran Pemrograman Berorientasi Objek Kls XII RPL



 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".

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.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 kosong18 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:



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 

        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 JDBCExamp

Hasil komplikasi kode program tersebut adalah sbg brkt:


Hasil codingan di javastudio

3. Memasukkan Data ke dalam Tabel Pada bagian ini, akan dicontohkan cara memasukkan data ke dalam tabel. Data yang akan dimasukkan ke dalam tabel Registration sejumlah empat record. Perhatikan kode program berikut.

1. //STEP 1. Import required packages

2 import java.sql.*; 


4 public class insert data {

5 // JDBC driver name and database URL

6 static final String JDBC DRIVER 

7 com.mysql.jdbc.Driver": static final String DE URL = "jdbc:mysql://localhost/Pelajar"


9 // Database credentials

 10 static final String USER 

11 static final String PASS";

 12

 13 public static void main(String[] args) {

14 Connection conn = null; 

15 Statement stmt null;

 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 a selected database... ") ;

22 conn = DriverManager.getConnection (DB URL, USER, PASS) ;

23 System.out.println("Connected database successfully...");

24 

25 // STEP 4: Execute a query

 26 System.out.println("Inserting records into the table...");

 27 stmt conn.createStatement() ;

28 

29 String sql "INSERT INTO Registration 

30 "VALUES (100, 'Zara', 'Ali', 18)"; 

31 stmt.executeUpdate(sql);

 32 sql "INSERT INTO Registration" ;

33 "VALUES (101, 'Teguh', 'Yusuf, 25)";

 34 stmt.executeUpdate(sql); 

35 sql = "INSERT INTO Registration"+ 

36 "VALUES (102, 'Andri', 'Susi', 30)"; 

37 stmt.executeUpdate(sql);

 38 sql = "INSERT INTO Registration 

39 "VALUES (103, 'Sumi', 'Mita', 28)"; 

40 stmt.executeUpdate(sql); 

41 System.out.println("Inserted records into the table..."); 

42

 43 } catch (SQLException se) { 

44 // Handle errors for JDBC 

45 se.printStackTrace(); 

46 } catch (Exception e) { 

47 // Handle errors for Class.forName 

48 e.printStackTrace(); 

49 } finally { 

50// finally block used to close resources 

51 try ( 52 if (stmt != null) 

53 conn.close(); 

54} catch (SQLException se) () // do nothing

55 try {

 56 if (conn != null) 

57 conn.close(); 

58} catch (SQLException se) { 

59 se.printStackTrace(); 

60 } // end finally try 

61 } // end try 

62 System.out.println("Goodbye!");

 63 } // end main 

64 } // end JDBCExample
Syntax program berikut digunakan untuk memasukkan data ke dalam record. 

stmt = conn.createStatement();

   String sql = "INSERT INTO Registration" +

                             "VALUES (100, 'Zara', 'Ali', 18)";  

stmt.executeUpdate(sql);

sql = "INSERT INTO Registration" +

                      "VALUES (101, 'Teguh', 'Yusuf', 25)";

 stmt.executeUpdate(sql); 

sql "INSERT INTO Registration "+

                       "VALUES (102, 'Andri', 'Susi', 30)";

stmt.executeUpdate(sql); 

sql  = "INSERT INTO Registration"+

                        "VALUES (103, Sumi', 'Mita', 28)"; stmt.executeUpdate(sql);

 System.out.println("Inserted records into the table..."); 

      Syntax SQL tersebut diwujudkan dalam sebuah variabel string yang selanjutnya dieksekusi oleh program melalui sebuah statement dengan nama stmt. Statement tersebut dieksekusi empat kali, sesuai dengan jumlah data yang akan dimasukkan ke dalam record.
Hasil kompilasi kode program tersebut adalah sebagai berikut.


Komentar

Postingan populer dari blog ini

Membuat jam digital dengan arduino R3

Manajemen dan pengembangan usaha