Top Banner
BAHASA PEMROGRAMAN 3 PERTEMUAN KE 5 NETBEANS DATABASE BY : TITO SUGIHARTO
32

BAHASA PEMROGRAMAN 3

Feb 08, 2016

Download

Documents

Emil

BAHASA PEMROGRAMAN 3. PERTEMUAN KE 5 NETBEANS DATABASE BY : TITO SUGIHARTO. Pembahasan. Sistem Database Pengantar teknologi JDBC Sejarah JDBC Desain JDBC JDBC Driver Arsitektur aplikasi JDBC Petunjuk langkah penggunaan JDBC Retrieve data dari ResultSet. Pendahuluan. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAHASA PEMROGRAMAN 3

BAHASA PEMROGRAMAN 3

PERTEMUAN KE 5

NETBEANS DATABASEBY : TITO SUGIHARTO

Page 2: BAHASA PEMROGRAMAN 3

PembahasanSistem DatabasePengantar teknologi JDBCSejarah JDBCDesain JDBCJDBC DriverArsitektur aplikasi JDBCPetunjuk langkah penggunaan

JDBCRetrieve data dari ResultSet

Page 3: BAHASA PEMROGRAMAN 3

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

Page 4: BAHASA PEMROGRAMAN 3

Sistem DatabaseBerbagai macam jenis sistem

database :◦High performance commercial

databases – eg. Oracle, DB2, Informix, Microsoft SQL server

◦Open-source – eg. PostgreSQL, MySQL and Interbase

◦Lightweight Java databases – eg. Cloudscape, InstantDB and Pointbase.

◦Desktop databases – eg. Paradox and Access.

Need to choose and install database first.

Page 5: BAHASA PEMROGRAMAN 3

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

Page 6: BAHASA PEMROGRAMAN 3

JDBC Architecture

Page 7: BAHASA PEMROGRAMAN 3

Tipe 1 : JDBC-ODBC Bridge plus ODBC Driver

Tipe Driver ini menyediakan akses JDBC melalui ODBC Driver. JDBC-ODBC 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 dengan menggunakan database server Microsoft Access.

Page 8: BAHASA PEMROGRAMAN 3

Type 1: JDBC-ODBC Bridge and ODBC Driver

Sebelum JDBC ODBC sudah ada.

Bisakah pakai ODBC dari Java untuk koneksi JDBC? bisa yaitu dengan bantuan JDBC API yang berupa JDBC-ODBC bridge

Sun menyediakan sebuah driver JDBC-ODBC bridge, yang cocok untuk keperluan eksperimental dan untuk situasi-situasi dimana tidak ada driver yang sesuai.

Tipe driver ini juga paling cocok untuk jaringan korporat dimana instalasi klien bukan masalah besar, atau untuk aplikasi server yang ditulis dalam bahasa Java dalam arsitektur 3-tier.

Page 9: BAHASA PEMROGRAMAN 3

Karakteristik JDBC - ODBC?

ODBC tidak cocok untuk dipakai langsung dari bahasa pemrograman

Java karena ODBC menggunakan bahasa C. Pemanggilan dari Java ke

kode native C memiliki beberapa masalah dalam sekuritas, implementasi,

robustness, dan portabilitas aplikasi.

Penerjemahan secara literal dari ODBC C API kedalam Java API

bukanlah hal yang baik. Contoh: Java tidak memiliki pointer.

ODBC sulit untuk dipelajari. ODBC memiliki option-option yang

kompleks walaupun untuk query-query sederhana. Sebaliknya JDBC

didesain tetap sederhana meski mengerjakan hal-hal kompleks.

Jika menggunakan ODBC, driver manager harus diinstall secara manual

pada tiap mesin klien. Jika menggunakan JDBC driver, kode JDBC secara

otomatis diinstall.

Page 10: BAHASA PEMROGRAMAN 3

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.

Page 11: BAHASA PEMROGRAMAN 3

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.

Page 12: BAHASA PEMROGRAMAN 3

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.

Page 13: BAHASA PEMROGRAMAN 3

Komponen Utama JDBCDriver 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

Page 14: BAHASA PEMROGRAMAN 3

Komponen Utama JDBCStatement 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 kesalahan-kesalahan (error) yang mengkin terjadi dalam pengolahan database.

Page 15: BAHASA PEMROGRAMAN 3

Application Architectures

Page 16: BAHASA PEMROGRAMAN 3

Contoh Two-Tier Architecture

Page 17: BAHASA PEMROGRAMAN 3

Arsitektur 3-tier

Page 18: BAHASA PEMROGRAMAN 3

Contoh Three-tier Architecture

klien

Server

Middleware

(ASP, JSP, PHP, dsb)

Database (Access, Oracle,

dsb)

Web Server

(Apache, IIS, Glasfish, dsb)

Internet

Browser (Internet Explorer,

Netscape,dsb)

Permintaan Tanggapan

Page 19: BAHASA PEMROGRAMAN 3

Beberapa Keuntungan Arsitektur Three-TierKeluwesan teknologi

◦ Mudah untuk mengubah DBMS engine◦ Memungkinkan pula middle tier ke

platform yang berbedaBiaya jangka panjang yang rendah

◦ Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan

Keunggulan kompetitif◦ Kekampuan untuk bereaksi thd perubahan

bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi

Page 20: BAHASA PEMROGRAMAN 3

Langkah Penggunaan JDBC1. Meload driver JDBC2. Mendefinisikan URL database3. Membuat dan melakukan

koneksi4. Membuat obyek statement5. Mengeksekusi query6. Memproses result7. Menutup koneksi

Page 21: BAHASA PEMROGRAMAN 3

1. JDBC : Load DriverDriver :

◦library yang digunakan untuk berkomunikasi dengan database server

◦Dengan menggunakan driver, program Java yang menggunakan API JDBC dapat berinteraksi dan dapat dimengerti oleh database server.

Untuk database yang berbeda dibutuhkan driver yang berbeda.

Page 22: BAHASA PEMROGRAMAN 3

.......try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con=DriverManager.getConnection(dbname,"","");if (con==null)status = "gagal";elsestatus = "berhasil";}catch(ClassNotFoundException ex) {status = "Driver Error";}catch(SQLException ex) {status = "gagal";}con.close();

Page 23: BAHASA PEMROGRAMAN 3

Jenis Driver DatabaseNama Driver database: JDBC-ODBC :

sun.jdbc.odbc.JdbcOdbcDriver Oracle :

oracle.jdbc.driver.OracleDriver Sybase :

com.sybase.jdbc.SybDriver MySQL:

com.mysql.jdbc.Driver PostgreSQL:

org.postgresql.Driver Microsoft SQLServer 2000 :

com.microsoft.jdbc.sqlserver.SQLServerDriver

Page 24: BAHASA PEMROGRAMAN 3

2. Mendefinisikan Koneksi URL

Menspesifikasikan lokasi database server. Untuk mendefinisikan URL bisa menggunakan dokumentasi driver. Berikut ini contoh mendefinisikan url:

Connection con=null;String dbname="jdbc:odbc:DSFilm";String status="";

Page 25: BAHASA PEMROGRAMAN 3

Jenis URLNama URL database: JDBC-ODBC :

jdbc:odbc:nama_database Oracle :

jdbc:oracle:thin:@nama_host:1521:namaDB MySQL:

jdbc:mysql://nama_host:3306/namaDB PostgreSQL:

jdbc:postgresql://nama_host:5432/namaDB Microsoft SQLServer 2000 :

jdbc:microsoft:sqlserver://nama_host:1433;DatabaseName=namaDB

Page 26: BAHASA PEMROGRAMAN 3

3. JDBC : Membuat Koneksi Cara : memanggil method getConnection dari class

DriverManager dengan melewatkan URL (hasil langkah dua) sebagai argumen.

getConnection akan melempar SQLException Contoh:

Connection con=null;

String dbname="jdbc:odbc:DSFilm";

String status="";

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection(dbname,"","");

Page 27: BAHASA PEMROGRAMAN 3

4. JDBC : Membuat Obyek Statement

Object Statement digunakan untuk mengirim query dan perintah ke database.

Object Statement dibuat dengan cara bekerjasama dengan class Connection.

Cara: memangil method createStatement() dari obyek Connection.

Contoh:Statement statement = connection.createStatement();

Page 28: BAHASA PEMROGRAMAN 3

5. JDBC : Mengeksekusi Query Memanfaatkan object Statement untuk memproses

query. Cara: memanggil method executeQuery() dari

object Statement. memberikan return value bertipe ResulSet

String kueri = "INSERT INTO FILM(ID, JUDUL, JUMLAH) VALUES ('"+id+"','"+judul+"',"+jumlah+")";

ResultSet rs=statement.executeQuery(kueri);int isiTabel = st.executeUpdate(kueri); Note : Untuk memodifikasi database, gunakan

statement.executeUpdate(sql); yang mendukung string sql UPDATE, INSERT INTO, DELETE

Page 29: BAHASA PEMROGRAMAN 3

ResultSet ResultSet memberikan bermacam2 method getXxx

dengan parameter indek kolom atau nama kolom dan mengembalikan data.

Method lain object ResultSet:◦ findColumn()

mendapatkan index (integer value) berdasarkan nama kolom. Kolom pertama mempunyai index 1 bukan 0.◦ getMetaData() retrieve informasi mengenai ResultSet, returns object ResultSetMetaData.◦ wasNull() Mengetahui apakah getXxx() menghasilkan SQL null.

Page 30: BAHASA PEMROGRAMAN 3

6. JDBC : Memproses result Dengan menggunakan method next() pada object

ResultSet mendapatkan results per satu baris. Contoh:

String nrp; String nama;

while (rs.next()){nrp=rs.getString(1);nama=rs.getString(2);System.out.println("NRP : " +nrp);System.out.println("NAMA : " +nama);System.out.println("-------------");

} Kolom pertama mempunyai index 1 bukan 0. Object ResultSet otomatis akan ditutup bila ada object

ResultSet baru.

Page 31: BAHASA PEMROGRAMAN 3

7. JDBC : Menutup KoneksiHarus didefinisikan secara

eksplisit.connection.close();

Karena membuka koneksi adalah mahal, maka penundaan langkah terakhir ini hanya jika masih ada operasi database yang dilakukan.

Page 32: BAHASA PEMROGRAMAN 3

TUGAS PRAKTIKUM

KIRIM KE::[email protected] SUBJEK[LAPORAN1] [NAMA] [KELAS]