360 likes | 614 Views
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.
E N D
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 Database 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.
Sistem Database • Berbagai 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.
JDBC JDBC 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.
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.
Type 1: JDBC-ODBC Bridge and ODBC Driver • Sebelum JDBC ODBC sudahada. • Bisakahpakai ODBC dari Java untukkoneksi JDBC? bisayaitudenganbantuan JDBC API yang berupa JDBC-ODBC bridge • Sun menyediakansebuah driver JDBC-ODBC bridge, yang cocokuntukkeperluaneksperimentaldanuntuksituasi-situasidimanatidakada driver yang sesuai. • Tipe driver inijuga paling cocokuntukjaringankorporatdimanainstalasiklienbukanmasalahbesar, atauuntukaplikasi server yang ditulisdalambahasa Java dalamarsitektur 3-tier.
Karakteristik JDBC - ODBC? • ODBC tidakcocokuntukdipakailangsungdaribahasapemrograman Java karena ODBC menggunakanbahasa C. Pemanggilandari Java kekode native C memilikibeberapamasalahdalamsekuritas, implementasi, robustness, danportabilitasaplikasi. • Penerjemahansecara literal dari ODBC C API kedalam Java API bukanlahhal yang baik. Contoh: Java tidakmemiliki pointer. • ODBC sulituntukdipelajari. ODBC memiliki option-option yang komplekswalaupununtuk query-query sederhana. Sebaliknya JDBC didesaintetapsederhanameskimengerjakanhal-halkompleks. • Jikamenggunakan ODBC, driver manager harusdiinstallsecara manual padatiapmesinklien. Jikamenggunakan JDBC driver, kode JDBC secaraotomatisdiinstall.
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.
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.
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.
Komponen Utama JDBC • Driver 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
Komponen Utama JDBC • Statement 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.
Beberapa Keuntungan Arsitektur Three-Tier • Keluwesan teknologi • Mudah untuk mengubah DBMS engine • Memungkinkan pula middle tier ke platform yang berbeda • Biaya 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
Langkah Penggunaan JDBC • Meload driver JDBC • Mendefinisikan URL database • Membuatdanmelakukankoneksi • Membuatobyek statement • Mengeksekusi query • Memproses result • Menutupkoneksi
1. JDBC : Load Driver • Driver : • library yang digunakanuntukberkomunikasidengan database server • Denganmenggunakan driver, program Java yang menggunakan API JDBC dapatberinteraksidandapatdimengertioleh database server. • Untuk database yang berbedadibutuhkan driver yang berbeda.
....... try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection(dbname,"",""); if (con==null) status = "gagal"; else status = "berhasil"; }catch(ClassNotFoundException ex) { status = "Driver Error"; }catch(SQLException ex) { status = "gagal"; } con.close();
Jenis Driver Database Nama 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
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="";
Jenis URL Nama 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
3. JDBC : Membuat Koneksi • Cara : memanggil method getConnectiondari class DriverManagerdenganmelewatkan URL (hasillangkahdua) sebagaiargumen. • getConnectionakanmelemparSQLException • Contoh: Connection con=null; String dbname="jdbc:odbc:DSFilm"; String status=""; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection(dbname,"","");
4. JDBC : MembuatObyek Statement • Object Statement digunakanuntukmengirim query danperintahke database. • Object Statement dibuatdengancarabekerjasamadengan class Connection. • Cara: memangil method createStatement() dariobyek Connection. • Contoh: Statement statement = connection.createStatement();
5. JDBC : Mengeksekusi Query • Memanfaatkan object Statement untukmemproses query. • Cara: memanggil method executeQuery() dari object Statement. memberikan return value bertipeResulSet String kueri = "INSERT INTO FILM(ID, JUDUL, JUMLAH) VALUES ('"+id+"','"+judul+"',"+jumlah+")"; ResultSetrs=statement.executeQuery(kueri); intisiTabel = st.executeUpdate(kueri); • Note : Untukmemodifikasi database, gunakanstatement.executeUpdate(sql); yang mendukung string sql UPDATE, INSERT INTO, DELETE
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.
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.
7. JDBC : Menutup Koneksi • Harus didefinisikan secara eksplisit. connection.close(); • Karena membuka koneksi adalah mahal, maka penundaan langkah terakhir ini hanya jika masih ada operasi database yang dilakukan.
TUGAS PRAKTIKUM KIRIM KE:: tito.smart@yahoo.com FORMAT SUBJEK [LAPORAN1] [NAMA] [KELAS]