Java Database Connectivity (JDBC)


Apa itu JDBC?

JDBC (Java database connectivity) adalah spesifikasi standar dari JavaSoft  API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC API terdiri dari satu set interface dan kelas yang ditulis dalam bahasa pemrograman Java. JDBC API Menggunakan interface standar dan kelas, programmer dapat menulis aplikasi yang terhubung ke database, mengirimkan pertanyaan ditulis SQL (Structured Query Language), dan memproses hasilnya.

JDBC API ini konsisten dengan gaya inti interface Java dan kelas, seperti java.lang dan java.awt. Tabel berikut ini menjelaskan antarmuka, kelas, dan pengecualian (kelas dilempar sebagai pengecualian) yang membentuk API JDBC. Pada tabel, interface milik paket javax.sql adalah ekstensi untuk antarmuka JDBC standar dan yang terkandung dalam Java 2 SDK, Enterprise Edition.

Interface/class/exception

Deskripsi

Interfaces: 

 
 

java.sql.Connection

Interface yang digunakan untuk membuat koneksi ke database. pernyataan SQL dijalankan dalam konteks koneksi. 

 

java.sql.DatabaseMetaData 

Interface yang digunakan untuk mengembalikan informasi tentang database. 

 

java.sql.Driver 

Interface yang digunakan untuk menemukan driver untuk sistem manajemen database tertentu.

 

java.sql.PreparedStatement 

Interface  yang digunakan untuk mengirim kompilasi pernyataan SQL ke server database dan memperoleh hasilnya. 

 

java.sql.ResultSet 

Interface  yang digunakan untuk memproses dan mengembalikan hasil  dari  pernyataan SQL yang di jalankan.

 

java.sql.ResultSetMetaData 

Interface yang digunakan untuk mengembalikan kolom dalam sebuah Object ResultSet. 

 

java.sql.Statement 

Interface  digunakan untuk mengirim laporan statis SQL ke server database dan memperoleh hasilnya.

 

javax.sql.ConnectionEventListener 

Menerima event atau kejadian bahwa obyek PooledConnection digeneralisasi. 

 

javax.sql.ConnectionPoolDataSource 

Pabrik untuk suatu PooledConnection. Sebuah objek ConnectionPoolDataSource biasanya terdaftar dengan layanan JNDI.

 

javax.sql.DataSource 

Sebuah pabrik untuk objek Connection. Sebuah objek DataSource biasanya terdaftar dengan penyedia layanan JNDI. 

 

javax.sql.PooledConnection 

PooledConnection mewakili koneksi fisik ke sumber data.

Classes: 

 
 

java.sql.Date 

Subclass dari java.util.Date digunakan untuk tipe data SQL DATE. 

 

java.lang.DriverManager 

Class yang digunakan untuk mengelola satu set JDBC drivers. 

 

java.sql.DriverPropertyInfo 

Class yang digunakan untuk menutupi dan memasok properti untuk koneksi.

 

java.sql.Time 

Subclass dari java.util.Date digunakan untuk tipedata SQL TIME. 

 

java.sql.TimeStamp 

Subclass dari java.util.Date digunakan untuk tipedata SQL TIMESTAMP. 

 

java.sql.Types 

Class yang digunakan untuk mendefinisikan konstanta yang digunakan untuk mengidentifikasi tipe data standart  SQL seperti CHAR, INTEGER dan DECIMAL.

 

java.sql.String 

Class yang digunakan untuk mengidentifikasi jenis data teks seperti CHAR. 

Exception classes: 

 
 

java.sql.SQLException

Eksepsi yang menyediakan informasi tentang Database error 

 

java.sql.SQLWarning 

Eksepsi yang menyediakan informasi tentang peringatan Database. 

Karena JDBC adalah spesifikasi standar, sebuah program Java yang menggunakan API JDBC dapat terhubung ke sistem manajemen database (DBMS) yang ada driver JDBC-nya.

Apakah driver JDBC?

JDBC API mendefinisikan interface Java dan kelas yang programmer gunakan untuk menghubungkan ke database dan mengirim pertanyaan. Driver JDBC mengimplementasikan interface ini dan kelas untuk vendor DBMS tertentu.

Sebuah program Java yang menggunakan API JDBC driver beban yang ditetapkan untuk sebuah DBMS tertentu sebelum benar-benar terhubung ke database. Kelas JDBC DriverManager kemudian mengirimkan semua panggilan ke API JDBC driver dimuat.

Empat jenis driver JDBC adalah:

JDBC-ODBC bridge plus driver ODBC, juga disebut Tipe 1.

Menerjemahkan JDBC API panggilan menjadi Microsoft Open Database Connectivity (ODBC) panggilan yang kemudian diteruskan ke driver ODBC. Kode ODBC biner harus dimuat pada setiap komputer klien yang menggunakan jenis driver.

Native-API, sebagian Java driver, juga disebut Tipe 2.

Mengubah JDBC API API panggilan menjadi klien DBMS khusus panggilan. Seperti driver jembatan, jenis driver mensyaratkan bahwa beberapa kode biner akan dimuat pada setiap komputer klien.

JDBC-Net, Java driver murni, juga disebut Tipe 3.

JDBC API Mengirim panggilan ke server  tingkat menengah yang menerjemahkan panggilan tersebut dalam protokol jaringan DBMS spesifik. Panggilan yang telah diterjemahkan tersebut kemudian dikirim ke sebuah DBMS tertentu.

Native-protokol, Java Driver murni, juga disebut Tipe 4.

Mengubah JDBC API melalui panggilan langsung ke protokol jaringan DBMS-spesifik tanpa tingkat tengah. Hal ini memungkinkan aplikasi client untuk terhubung langsung ke server database.

The Red Brick Driver JDBC adalah Java murni Tipe-4 driver berdasarkan Versi 2.0 dari API JDBC.

Iklan

Apa itu TUMPUKAN (STACK) ?…


Pengertian Stack

merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix)

Ciri-ciri Stack

  • Elemen TOP (puncak) diketahui
  • Penyisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO ( Last IN First Out)

contoh :

Terdapat dua buah kotak yang ditumpuk, kotak yang satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari N kotak.

Operasi pada Stack

  • Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  • Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  • IsEmpty ()
  • IsFull () dan beberapa selektor yang lain


1. buat stack (stack) – create

membuat sebuah stack baru yang masih kosong

Spesifikasi:

  • tujuan : mendefinisikan stack yang kosong
  • input : stack
  • syarat awal : tidak ada
  • output stack : – (kosong)‏
  • syarat akhir : stack dalam keadaan kosong

2. stack kosong (stack) – empty

fungsi untuk menentukan apakah stack dalam keadaan kosong atau tidak

spesifikasi:

  • tujuan : mengecek apakah stack dalam keadaan kosong
  • input : stack
  • syarat awal : tidak ada
  • output : boolean
  • syarat akhir : stack kosong bernilai true jika stack dalam keadaan kosong

3. stack penuh (stack) – full

fungsi untuk memeriksa apakah stack yang ada sudah penuh

spesifikasi:

  • tujuan : mengecek apakah stack dalam keadaan penuh
  • input : stack
  • syarat awal : tidak ada
  • output : boolean
  • syarat akhir : stack penuh bernilai true jika stack dalam keadaan penuh

4. push (stack, info baru)‏

menambahkan sebuah elemen kedalam stack.

spesifikasi:

  • tujuan : menambahkan elemen, info baru pada stack pada posisi paling atas
  • input : stack dan Info baru
  • syarat awal : stack tidak penuh
  • output : stack
  • syarat akhir : stack bertambah satu elemen

5. pop (stack, info pop)‏

mengambil elemen teratas dari stack

spesifikasi:

  • tujuan : mengeluarkan elemen dari stack yang berada pada posisi paling atas
  • input : stack
  • syarat awal : stack tidak kosong
  • output : stack dalam info pop
  • syarat akhir : stack berkurang satu elemen

Contoh Pemanfaatan Stack

  • Notasi Infix Prefix
  • Notasi Infix Postfix

Pemanfaatan stack antara lain untuk menulis ungkapan dengan menggunakan notasi tertentu.

Contoh :

( A + B ) * ( C – D )‏

Tanda kurung selalu digunakan dalam penulisan ungkapan numeris untuk mengelompokkan bagian mana yang akan dikerjakan terlebih dahulu.

Dari contoh ( A + B ) akan dikerjakan terlebih dahulu, kemudian baru ( C – D ) dan terakhir hasilnya akan dikalikan.

A + B * C – D

B * C akan dikerjakan terlebih dahulu, hasil yang didapat akan berbeda dengan hasil notasi dengan tanda kurung.

Notasi InfixPrefix

Cara penulisan ungkapan yaitu dengan menggunakan notasi infix, yang artinya operator ditulis diantara 2 operator.

Seorang ahli matematika bernama Jan Lukasiewiccz mengembangkan suatu cara penulisan ungkapan numeris yang disebut prefix, yang artinya operator ditulis sebelum kedua operand yang akan disajikan.

Contoh :

Proses konversi

dari infix ke prefix :

= ( A + B ) * ( C – D )‏

= [ + A B ] * [ – C D ]

= * [ + A B ] [ – C D ]

= * + A B – C D

Notasi InfixPostfix

Cara penulisan ungkapan yaitu dengan menggunakan notasi postfix, yang artinya operator ditulis sesudah operand.

Contoh :

Proses konversi

dari infix ke postfix :

= ( 6 – 2 ) * ( 5 + 4 )‏

= [ 6 2 – ] * [ 5 4 + ]

= [ 6 2 – ] [ 5 4 + ] *

= 6 2 – 5 4 + *