Pages

LAPORAN PRAKTIKUM DESAIN BASIS DATA IX (KONEKSI DATABASE)




Bahasan
-          Pada bab kali ini bab kali ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java.
-          Selain hal itu akan dibahas juga mengenai kode pemrograman untuk manipulasi data.

Tujuan
1.      Mahasiswa memahami dalam penggunaan Database PostgreSQL dan Bahasa pemrograman Java untuk membuat suatu program aplikasi.


Manfaat
1.      Mampu memahami dalam penggunaan Database PostgreSQL dan Bahasa pemrograman Java untuk membuat suatu program aplikasi.

BAB I
Landasan Teori

Untuk mengakses database dengan Java cukup mudah. API Java yang perlu dipelajari ada dalam paket java.sql. Class-class yang berhubungan dengan mengakses database antara lain Connection, Statement, PreparedStatement dan ResultSet. Teknologi Java untuk mengakses database disebut JDBC. Dengan JDBC kita dapat menciptakan koneksi ke database, mengirimkan perintah-perintah sql dan memproses hasil eksekusi sql.

Hal lain yang dibutuhkan untuk mengakses database adalah JDBC Driver. JDBC Driver berbeda untuk setiap database yang ada. Misalnya JDBC Driver untuk PGSQL/MySQL akan berbeda dengan JDBC Driver untuk SQL Server atau Oracle.
Aplikasi database yang dikembangkan menggunakan teknologi Java tidak akan terikat dengan database yang digunakan. Maksudnya adalah kita dapat bergonta-ganti database engine dari yang satu ke database engine yang lain tanpa harus mengubah source program kita secara signifikan. Yang perlu diganti hanyalah JDBC Driver yang digunakan.[1]

Langkah-langkah Koneksi database

Terdapat beberapa langkah yang secara umum harus dilakukan sehingga aplikasi yang berbasis Java dapat berinteraksi dengan database server. Langkah-langkah tersebut sebagai berikut :
1. Impor package java.sql
2. Memanggil Driver JDBC
3. Membangun Koneksi
4. Membuat Statement
5. Melakukan Query
6. Menutup Koneksi

1.      Import Package java.sqll
java.sql = Java Database Connectivity (JDBC) untuk mengakses database[2]
Adapun listing untuk mengimpor package java.sql adalah sebagai berikut :
Import java.sql.*;

2.      Memanggil Driver JDBC
Langkah pertama untuk melakukan koneksi dengan database server adalah dengan memanggil JDBC Driver dari database server yang kita gunakan. Driver adalah library yang digunakan untuk berkomunikasi dengan database server. Driver dari setiap database server berbeda-beda, sehingga Anda harus menyesuaikan Driver JDBC sesuai dengan database server yang Anda gunakan.Berikut ini adalah listing program untuk memanggil driver JDBC.
Class.forName(namaDriver); 
atau Class.forName(namaDriver).newInstance();
Kedua cara di atas memiliki fungsi yang sama yaitu melakukan registrasi class driver dan melakukan intansiasi. Apabila driver yang dimaksud tidak ditemukan, maka program akan menghasilkan exception berupa ClassNotFoundException. Untuk menghasilkan exception apabila driver tidak ditemukan, maka diperlukan penambahan try-catch. Adapun cara menambahkan try-catch untuk penanganan error apabila driver tidak ditemukan, sebagai berikut :
Try {
Class.forName(namaDriver);
} catch (ClassNotFoundException e) {
... Penanganan Error ClassNotFoundException
}
Contoh listing memanggil driver menggunakan MySQL adalah :
try {
Class.forName(“org.postgresql.Driver”);
} catch (ClassNotFoundException e) {
System.out.println(“Pesan Error : “ + e)
}
Berikut ini adalah daftar nama-nama driver dari beberapa database server yang sering digunakan.

3. Membangun Koneksi
Setelah melakukan pemanggilan terhadap driver JDBC, langkah selanjutnya adalah membangun koneksi dengan menggunakan interface Connection. Object Connection yang dibuat untuk membangun koneksi dengan database server tidak dengan cara membuat object baru dari interface Connection melainkan dari class DriverManager dengan menggunakan methode getConnection().
Connection koneksi = DriverManager.getConnection(<argumen>);
Untuk menangani error yang mungkin terjadi pada proses melakukan koneksi dengan database maka ditambahkan try-catch. Exception yang akan dihasilkan pada proses ini adalah berupa SQLException. Adapun cara penulisan listingnya adalah sebagai berikut :
try {
... koneksi database
} catch (SQLException sqle){
... penanganan error koneksi
}
Ada beberapa macam argumen yang berbeda dari methode getConnection() yang dipanggil dari DriverManager, yaitu :
getConnection(String url)
Pada methode diatas hanya memerlukan argumen URL, sedangkan untuk data user dan password sudah diikutkan secara langsung. Adapun penulisan nilai sebagai berikut :
jdbc:<DBServer>://[Host][:Port]/<namaDB>?<user=User>&<password=Pasword>
Berikut ini contoh penggunaan methode ini didalam program :
try {
String url = “jdbc: postgresql://localhost:3306/Dbase? User = adi & password= pas”;
Connection koneksi = DriverManager.getConnection(url);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal dilakukan”);
}
getConnection(String url, Properties info)
Pada methode ini memerlukan URL dan sebuah object Properties. Sebelum menggunakan methode ini, Anda harus melakukan import package berupa java.util.*, ini dikarenakan object Properties terdapat pada package tersebut. Object Properties berisikan spesifikasi dari setiap parameter database misalnya user name, password, autocommit, dan sebagainya. Berikut ini contoh penggunaan methode ini didalam program :
try {
String url = “jdbc: postgresql://localhost:5432/praktikumdbd”;
Properties prop = new java.util.Properties(); // tidak mengimpor kelas
prop.put(“user”,”NamaUser”);
prop.put(“password”,”datapassword”);
Connection koneksi = DriverManager.getConnection(url, prop);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal dilakukan”);
}
getConnection(String url, String user, String password)
Pada methode ini memerlukan argumen berupa URL, user name, dan password. Methode ini secara langsung mendefinisikan nilai URL, user name dan password. Berikut ini contoh penggunaan methode ini didalam program :
try {
String url = “jdbc: postgresql://localhost:5432/ praktikumdbd”;
String user = “adi”
String password “ternate”
Connection koneksi = DriverManager.getConnection(url, user, password);
System.out.prinln(“Proses apabila koneksi sukses”);
} catch (SQLException sqle) {
System.out.println(“Proses apabila koneksi gagal dilakukan”);
}
Berikut ini adalah daftar penulisan URL dari beberapa database server yang sering digunakan.
Database Server Nama URL Contoh penggunaan
JDBC-ODBC jdbc:odbc:<NamaDatabase> jdbc:odbc:Dbase
MySQL
jdbc:mysql://<nmHost>:<port>/<nmDB> jdbc:mysql://localhost:3306/Dbase
PostgreSQL
jdbc:postgresql://<nmHost>:<port>/<nmDB> jdbc:postgresql://localhost:5432/Dbase

4. Membuat Statement
JDBC API menyediakan interface yang berfungsi untuk melakukan proses pengiriman statement SQL yang terdapat pada package java.sql. Statement yang ada secara umum digunakan terdiri dari berikut :
Statement
Interface ini dibuat oleh methode Connection.createStatement(). Object Statement digunakan untuk pengiriman statement SQL tanpa parameter serta Setiap SQL statement yang dieksekusi dikirim secara utuh ke database.
Statement stat = Connection.createStatement();

PreparedStatement
Interface ini dibuat oleh methode Connection.prepareStatement(). Object PreparedStatement digunakan untuk pengiriman statement SQL dengan atau tanpa parameter. Interface ini memiliki performa lebih baik dibandingkan dengan interface Statement karena dapat menjalankan beberapa proses dalam sekali pengiriman perintah SQL, pengiriman selanjutnya hanya parametered querynta saja.
PreparedStatement stat = Connection.prepareStatement();

5. Melakukan Query
Setelah kita memiliki object statement, kita dapat menggunakannya untuk melakukan pengiriman perintah SQL dan mengeksekusinya. Methode eksekusi yang digunakan untuk perintah SQL terbagi menjadi dua bagian yaitu untuk perintah SELECT methode eksekusi yang digunakan adalah executeQery() dengan nilai kembaliannya adalah ResultSet, dan untuk perintah INSERT, UPDATE, DELETE
methode eksekusi yang digunakan adalah executeUpdate().
Berikut ini adalah contoh melakukan eksekusi perintah SQL dan mengambil hasilnya (ResultSet) dengan menggunakan perintah SELECT :
String sql = “SELECT kode, nama, alamat, kelas FROM dataSiswa”;
ResultSet set = stat.executeQuery(sql);
while (set.next()) {
String kode = set.getString("kode");
String nama = set.getString("nama");
String alamat = set.getString("alamat");
String kelas = set.getString("kelas");
}
Berikut ini adalah contoh melakukan eksekusi perintah SQL dengan menggunakan perintah DELETE.
String sql = "DELETE FROM data_siswa WHERE kode = “1234”;
PreparedStatement stat = konek.prepareStatement(sql);
stat.executeUpdate();

6. Menutup Koneksi
Penutupan terhadap koneksi database perlu dilakukan agar sumber daya yang digunakan oleh object Connection dapat digunakan lagi oleh proses atau program yang lain. Sebelum kita menutup koneksi database, kita perlu melepas object Statement dengan kode sebagai berikut :
statement.close();

Untuk menutup koneksi dengan database server dapat kita lakukan dengan kode sebagai berikut :
connection.close();

Praktek Langkah-langkah Koneksi database dengan java di Netbeans
Materi kali ini akan sedikit membubuhkan tutorial untuk pengkoneksian dan penyampaian contohnya. Seperti berikut langkah-langkahnya :
1. buatlah project baru pada netbeans
2. pada project tersebut, klik kanan – properties
3. pilih Libraries pada list Properties
4. add Library
5. add JAR/Folder
6. browse file konektor PostgreSQL
7. ambil file konektor, semisal :postgresql-9.0-801.jdbc4.jar atau versi yang lain.
8. kemudian open
9. Klik OK   





[1] http://sinau-java.blogspot.com/2008_05_01_archive.html

[2] http://darkzone7.blogspot.com/2013/10/package-pada-java-pengertian-joptionpane.html


                                                                                 



BAB II
HASIL PRAKTIKUM

SOAL PRAKTIKUM

1.      Buatlah koneksi seperti contoh listing kode diatas dengan database kalian masing2 !

Jawab :

Database yang akan digunakan untuk proses koneksi adalah database fitri13650022. Yang didalamnya terdapat tabel mahasiswa. Dengan demikian saya membuat class pada Java Netbeans. yang didalamnya terdapat sebuah class yang berisi method bernama koneksi() yang berfungsi untuk mengkoneksikan program yang dibuat dengan database. Code dalam method koneksi sebagai berikut.
Dimana Jika sourcecode, database, serta keaktifan database dalam keadaan benar, maka akan muncul “BERHASIL KONEKSI”, kalo dalam keadaan salah maka yang muncul “TIDAK ADA KONEKSI” atau bahkan tidak ada output

2.      Buatlah form pada netbeans dan buatlah tombol insert, update, delete, tampil dan pencarian !
Jawab :
Ya, mengenang masalalau :D tapi ga mengenang juga sih, soalnya di semester 3 masih berkutat menggunakan netbean
Berikut adalah form keseluruhan yang telah saya buat melalui GUI builder dengan insert update delete tampil dan pencarian.
3.      Buat Event tiap tombol seperti contoh listing diatas dengan catatan memakai database praktikan sendiri dan menggunakan tabel mahasiswa. Untuk tampil, data munculkan pada jtabel atau text area.

Penyelesaian :
Berikut ini adalah event untuk masing-masing tombol,

a.       Event Tombol Simpan


b.      Event Tombol Edit


c.       Event Tombol Tampil












d.      Event Tombol Hapus


e.       Event Tombol Reset


f.       Event Tombol Cari


4.      Buatlah seperti nomor 2. Dengan aturan terdapat kelas koneksi sendiri sehingga tidak menulis ulang pemanggilan driver jdbc, url, dan conektion nya pada saat insert, update, delete dan tampil data.



5.      Bagaimana perbedaan penggunaan statement dan PrepareStatement, buatlah program untuk pembuktian dari perbedaan tersebut.
a.      Membuat Perintah Select dengan PrepareStatement
b. Membuat Perintah SQL dengan Statement Biasa

Memiliki Output yang sama, namun kualitas PrepareStatement Lebih baik karena menangkal SQL Injection.

Oiya, kali ini tidak ada perbedaan antara PGSQL dan MYSQL yaa.. kata pak aziz, pake postgresql aja, soalnya perbedaannya cuma terletak di koneksinya aja :)

KESIMPULAN
Ada beberapa langkah yang harus diperhatikan dalam mengoneksikan database ke netbean, terutama pada import package nya dan metode eksekusinya 

SARAN DAN MANFAAT
Semoga praktikan menggunakan semua materi yang telah didapat diberbagai tempat dan pengaplikasiannya pada kebutuhan sehari-hari

DAFTAR PUSTAKA
Musthofa, Aziz. 2013. Modul Praktikum Desain Basis Data

http://sinau-java.blogspot.com/2008_05_01_archive.html

http://darkzone7.blogspot.com/2013/10/package-pada-java-pengertian-joptionpane.html

fitri

YOU MIGHT ALSO LIKE

Tidak ada komentar:

Posting Komentar

Pengunjung

Instagram