55

Java Database Connectivity dan Studi Kasus Online BookShop

Embed Size (px)

DESCRIPTION

Java Database Connectivity dan Studi Kasus Online BookShop. Pertemuan 4-6. TIB13 – Pemrograman Java 2 – 4-6. Materi. MyODBC MySQL Connector/J Driver Connection Statement ResultSet PrepareStatement Advanced ResultSet Penerapan Operasi CRUD - PowerPoint PPT Presentation

Citation preview

Page 1: Java Database Connectivity  dan Studi Kasus  Online  BookShop
Page 2: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MateriMyODBCMySQL Connector/JDriverConnectionStatementResultSetPrepareStatementAdvanced ResultSetPenerapan Operasi CRUDStudi kasus Online BookShop

Page 3: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Tujuan Instruksional KhususMahasiswa dapat membangun koneksi

aplikasi Java dengan sumber data yang digunakan untuk melakukan operasi CRUD.

Page 4: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Java Database ConnectivityJDBC (Java Database Connectivity)

merupakan library yang digunakan untuk mengkoneksikan program Java dengan DBMS (Database Management System).

Melalui JDBC Anda dapat mengakses data-data pada DBMS seperti MySQL, Oracle, Microsoft ODBC dan DBMS lainnya.

Pembahasan pada materi ini menggunakan DBMS MySQL.

Page 5: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MyODBCConnector/ODBC is a standardized database

driver Windows, Linux, Mac OS X, and Unix platforms.

MyODBC merupakan driver untuk menghubungkan atau sebagai jembatan/penerjemah antara aplikasi dengan database engine (MySQL), sehingga aplikasi tersebut dapat mengakses sebuah database.

Dapat di download pada URL : http://www.mysql.com/downloads/connector/odbc/

Page 6: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MySQL Connector/JStandardized database driver for Java

platforms and development.Untuk menghubungkan antara Java dan

MySQL membutuhkan sebuah library yang bernama MySQLConnector/J.

Dapat di download pada URL : http://www.mysql.com/downloads/connector/j/

Page 7: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MySQL Connector/JUntuk memudahkan pengembangan aplikasi-

aplikasi Java, sebaiknya menggunakan IDE untuk Java seperti NetBeans atau Eclipse.

Untuk memasukkan library MySQLConnector/J ke sebuah project pada NetBeans, adalah dengan cara mengklik kanan pada paket Libraries, lalu pilih Add Library …

Page 8: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MySQL Connector/J

Pilih MySQL JDBC Driver

Lalu tekan tombol Add

Library

Page 9: Java Database Connectivity  dan Studi Kasus  Online  BookShop

MySQL Connector/JHasilnya sbb :

Library MySQL JDBC Driver

sudah ditambahkan

Page 10: Java Database Connectivity  dan Studi Kasus  Online  BookShop

DriverUntuk membuat koneksi dari Java ke MySQL

memerlukan class yang bernama Driver. Setiap connector (yang digunakan

MySQLConnectorJava) memiliki Driver masing-masing yang selalu mengimplementasi class Driver yang terdapat pada paket “java.sql”.

Untuk mengecek keberadaan Driver dalam MySQLConnectorJava gunakan perintah seperti ini :

Class.forName(“nama driver").newInstance();

Page 11: Java Database Connectivity  dan Studi Kasus  Online  BookShop

DriverBerikut adalah program untuk mendeteksi

Driver yang digunakan :

OUTPUT

Page 12: Java Database Connectivity  dan Studi Kasus  Online  BookShop

ConnectionUntuk menghubungkan Java dan MySQL Anda

harus membuat koneksi melalui class Connection yang terdapat dalam paket “java.sql”.

Dan untuk membuat koneksi, perlu diketahui nama host, port, nama database, username dan password yang akan digunakan untuk koneksi MySQL.

Cara membuat koneksi :Connection koneksi = DriverManager.getConnection(

"jdbc:mysql://host:port/database", "username",

"password");

Page 13: Java Database Connectivity  dan Studi Kasus  Online  BookShop
Page 14: Java Database Connectivity  dan Studi Kasus  Online  BookShop

StatementStatement digunakan untuk mengeksekusi

perintah-perintah SQL seperti seperti INSERT, UPDATE, SELECT dan DELETE.

Statement merupakan class yang terdapat dalam paket “java.sql” .

Untuk membuat Statement Anda dapat melakukan koneksi terlebih dahulu menggunakan class Connection :

Connection kon = DriverManager.getConnection(.....);

Statement statement = kon.createStatement();

Page 15: Java Database Connectivity  dan Studi Kasus  Online  BookShop

OUTPUT

Page 16: Java Database Connectivity  dan Studi Kasus  Online  BookShop

StatementUntuk lebih memahami penggunaan Statement

dalam program maka siapkan terlebih dahulu tabel dan form seperti berikut ini :

Catatan : DBMS yang digunakan adalah MySQL dan IDE yang digunakan adalah NetBeans 7.0

tUser

cmdSimpan

txtUserID

txtPassword

cmdClosecmdHapuscmdUpdate

Page 17: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Statement - InsertMelalui Statement Anda dapat melakukan

proses Insert. Lihat potongan kode program berikut ini:

Page 18: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Statement - DeleteMelalui Statement Anda dapat melakukan

proses Delete. Lihat potongan kode program berikut ini:

Page 19: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Statement - UpdateMelalui Statement Anda dapat melakukan

proses Update. Lihat potongan kode program berikut ini:

Page 20: Java Database Connectivity  dan Studi Kasus  Online  BookShop

ResultSetSELECT merupakan perintah yang

menghasilkan kumpulan data dalam tabel yang ada dalam database.

Untuk mendapatkannya maka dibutuhkan bantuan class yang bernama ResultSet yang terdapat pada paket java.sql.

Untuk mendapatkan record dalam ResultSet Anda dapat menggunakan metode next() untuk mengecek apakah ada record lagi setelah record ini dan prev() untuk mengecek apakah ada record sebelum record yang saat ini terseleksi.

Page 21: Java Database Connectivity  dan Studi Kasus  Online  BookShop

ResultSetPerhatikan potongan kode berikut:

Koneksi objKoneksi = new Koneksi();

Connection kon = objKoneksi.bukaKoneksi();

Statement stat = kon.createStatement();

String query = "Select * from tUser";

ResultSet data = stat.executeQuery(query);

boolean ketemu = false;

while(data.next()) {

//Proses}

Page 22: Java Database Connectivity  dan Studi Kasus  Online  BookShop

PrepareStatement Selain Statement dalam JDBC kita juga

mengenal PrepareStatement yang gunanya hampir sama dengan Statement, namun perbedaannya PrepareStatement memiliki fasilitas untuk mempermudah proses INSERT, UPDATE, DELETE. Untuk membuat PrepareStatement kita bisa membuatnya lewat Connection :

Connection koneksi = DriverManager.getConnection(...);

PreparedStatement prepare =

koneksi.prepareStatement("PERINTAH SQL...");

Page 23: Java Database Connectivity  dan Studi Kasus  Online  BookShop

PrepareStatement (lanjutan)Berbeda dengan Statement, pada

PrepareStatement kita harus menuliskan perintah SQL dengan ‘?’ jika kita akan mengubah data tersebut :

Connection koneksi = DriverManager.getConnection(...);

PreparedStatement prepare = koneksi

.prepareStatement(" INSERT INTO tUser "

+ " (UserID, Password) VALUES (?, ?)");

Page 24: Java Database Connectivity  dan Studi Kasus  Online  BookShop

PrepareStatement (lanjutan)Selanjutnya Anda dapat mengubahnya

dengan menset tanda ‘?’ dalam perintah tersebut sesuai dengan tipe datanya menggunakan metode set[TipeData](int index, TipeData nilai).

Kemudian gunakan metode executeUpdate() untuk mengeksekusi seluruh perintahnya.

Contoh tabel tPenulis:

Page 25: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Insert Data

Page 26: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Update Data

Page 27: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Delete Data

Page 28: Java Database Connectivity  dan Studi Kasus  Online  BookShop

View Data

Page 29: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Advanced ResultSetSelain Statement dan PrepareStatement,

ternyata ResultSet juga bisa kita gunakan untuk menambah data, namun untuk membuat sebuah ResultSet yang dapat mengubah data kita harus membuat Statement yang berbeda dari Biasanya :

Connection koneksi = DriverManager.getConnection(...);

Statement statement = koneksi.createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE);

ResultSet result = statement.executeQuery("SELECT ...");

Page 30: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Advanced ResultSet (lanjutan)Sebelum menambahkan data Anda perlu

memanggil metode moveToInsertRow(), dan untuk menambah atau mengubah data Anda bisa menggunakan metode update[TipeData](int indexAtribut, TipeData nilai) dan setelah proses berakhir gunakan metode insertRow() untuk memasukkan data yang tadi dimasukkan.

Page 31: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Insert Data

Page 32: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Update DataBerbeda dengan Statement dan PrepareStatement,

dalam ResultSet, Anda harus tahu lokasi baris / record yang akan kita ubah.

Untuk mengubah data Anda harus menentukan dulu record yang akan kita ubah dengan metode absolute(int indexRecord) milik ResultSet.

Seperti proses INSERT untuk proses UPDATE Anda juga menggunakan metode update[TipeData](int indexAtribut, TipeData nilai) dan harus diakhiri dengan metode updateRow().

Page 33: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Update Data

Page 34: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Delete Data

Page 35: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Studi Kasus BookShopBuat database dengan nama dbBookShopDesain tabel-tabel seperti berikut :

1. Tabel untuk menampung kategori buku : tKategori

2. Tabel Penulis Buku : tBuku3. Tabel untuk Penerbit Buku : tPenerbit4. Tabel Buku : tBuku5. Tabel Order Buku : tOrder6. Tabel Order Detail : tOrdetail

Page 36: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Studi Kasus BookShop

Tabel tKategori :

Tabel tPenulis :

Page 37: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Studi Kasus BookShop

Tabel tPenerbit :

Tabel tBuku :

Page 38: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Studi Kasus BookShop

Tabel tOrder :

Tabel tOrdetail :

Page 39: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Desain User InterfaceDesain User Interfase sesuai dengan tabel-

tabel di atas Sebagai contoh desain UI untuk

menginputkan data Penulis Buku seperti berikut ini :

JTextArea

JButton

JTextField

JRadioButton

Page 40: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Variable Name

txtEmail

txtNama

txtKode

txtAlamat

male female

cmdSimpan

cmdUpdate

cmdHapus cmdClose

Page 41: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Agar lebih jelas perhatikan pada bagian

Member View (NetBeans)

yang menunjukkan variable name dari masing-

masing komponen UI

Page 42: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Methods

Method-method dan

Handler Object pada class

FormPenulis

Page 43: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Cara kerja Program

Form Pertama kali di jalankan Setelah data di inputkan

Page 44: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Cara kerja Program

Setelah menekan tombol Simpan

Kembali seperti semula setelah menekan tombol OK pada kotak dialog Message

Page 45: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Data tersimpan ke tabel tPenulis

Catatan: Untuk menyederhanakan program maka alamat, kota dan kode pos

digabung pada field alamat

Page 46: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Simpan Data

Page 47: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Update Data

Page 48: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Hapus Data

Page 49: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Update Data

Page 50: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Cari Data

Page 51: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Cari Data

Page 52: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Methods

Page 53: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Tabel Transaksi

Form Input data buku melibatkan tabel :tKategoritPenulistPenerbit

Page 54: Java Database Connectivity  dan Studi Kasus  Online  BookShop

Tabel Transaksi

Nama-nama penulis yang di ambil dari tabel

tPenulis

Page 55: Java Database Connectivity  dan Studi Kasus  Online  BookShop

KodeProgram – Menampilkan data dari tabel tPenulis