Tampilkan postingan dengan label Pemograman Berorientasi Obyek XII. Tampilkan semua postingan
Tampilkan postingan dengan label Pemograman Berorientasi Obyek XII. Tampilkan semua postingan

Sabtu, 12 Januari 2019

PENGEMBANGAN BERORIENTASI OBYEK




Apa itu Pengembangan Berorientasi Obyek?

Pengembangan berorientasi objek yaitu cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunakan bahasa pemrograman, berorientasi objek atau tidak.

Metodologi Berorientasi Objek

Metodologi merupakan sekumpulan aturan/panduan penerapan dan sekumpulan heuristic untuk menentukan kapan suatu tahapan dianggap lengkap. Dalam MBO terdapat istilah tahapan yang merupakan batas fase perkembangan pada siklus hidup perangkat lunak. Tahapan awal pengembangan suatu perangkat lunak hendaknya mencerminkan persoalan-persoalan nyata, dan tahapan akhir mencerminkan hasil/produk. Suatu metode dianggap baik apabila menyediakan produk terdefinisi untuk setiap tahapan (chart, diagram checklist) dan menggunakannya sebagai tool yang benar.
Suatu proses dalam suatu metodologi dianggap baik apabila :
  • Menyediakan mekanisme semi-otomatis dalam pencarian konsep persoalan yang akan dipecahkan.
  • Menyajikan mekanisme pengujian di setiap tahapan proses.

Struktur Obyek

Struktur Objek dan Hirarki Kelas

  • Struktur kelas dibagi dua macam, yaitu Whole-Part Structure dan Gen-Spec Structure.
1. Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sub objek. Contohnya, kelas Mobil adalah Whole dan komponennya Mesin, Rangka, dan lain-lain, merupakan Part1, Part 2, …, Part n.

Notasi untuk whole-part structure
2. Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi dari kelas di atasnya. Kelas yang mempunyai sifat umum disebut Generalization, Superclass atau Topclass, sedangkan kelas yang mempunyai sifat khusus disebut Specialization.

Notasi untuk gen-spec structure

Contohnya, kelas Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dan lain-lain merupakan Specizlization1, Specialization2, …, Specialization n, yaitu kelas yang mempunyai sifat khusus.
  • Atribut
Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.
Notasi untuk atribut

  • Metode

Metode (method) disebut juga service atau operator adalah prosedur atau fungsi seperti yang terdapat dalam bahasa Pascal pada umumnya, tetapi cara kerjanya agak berlainan. Metode adalah subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut.

Notasi untuk metode

  •  Pesan (Message)
Message merupakan cara untuk berhubungan antara satu objek dengan objek lain. Suatu pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan dengan anak panah.

Notasi untuk message

Object Oriented Analysis

OOA (Object Oriented Analysis)

OOA mempelajari permasalahan dengan menspesifikasikannya atau mengobservasi permasalahn tersebut dengan menggunakan metode berorientasi objek. Biasanya analisa sistem dimulai dengan adanya dokumen permintaan (requirement) yang diperoleh dari semua pihak yang berkepentingan. (Misal: klien,developer, pakar, dan lain-lain).

Dokumen permintaan memiliki 2 fungsi yaitu : memformulasikan kebutuhan klien dan membuat suatu daftar tugas. Analisis berorientasi obyek (OOA) melihat pada domain masalah, dengan tujuan untuk memproduksi sebuah model konseptual informasi yang ada di daerah yang sedang dianalisis. Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan apapun yang mungkin ada, seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun. Kendala pelaksanaan ditangani selama desain berorientasi objek (OOD).

Sumber-sumber untuk analisis dapat persyaratan tertulis pernyataan, dokumen visi yang formal, wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang diminati, masing-masing dianalisis secara terpisah.

Hasil analisis berorientasi objek adalah deskripsi dari apa sistem secara fungsional diperlukan untuk melakukan, dalam bentuk sebuah model konseptual. Itu biasanya akan disajikan sebagai seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram interaksi. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan model yang menggambarkan perangkat lunak komputer karena bekerja untuk memenuhi seperangkat persyaratan yang ditentukan pelanggan.

UML (Unified Modeling Language) 

adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Unified Model Language (UML) adalah bahasa universal untuk :
memvisualisasikan grafis model yang tepat.
menetapkan model yang tepat, lengkap, dan tidak ambigu untuk mengampil semua keputusan penting dalam analisis, desain dan implementasi.
membangun model yang dapat dihubungkan langsung dengan bahasa pemrograman.
mendokumentasikan semua informasi yang dikumpulkan oleh tim sehingga memungkinkan untuk berbagi informasi.

Object Oriented Design

OOD (Object Oriented Design)

OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap non-fungsional – teknologi atau lingkungan – kendala, seperti transaksi throughput, response time, run – waktu platform, lingkungan pengembangan, atau bahasa pemrograman.

Desain model berdasarkan model analisa tetapi berisi detail implementasi. Fokus dari object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama.
Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :
  1. Nama (dan stereotype)
  2. Atribut
  3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

  1. Private , tidak dapat dipanggil dari luar class yang bersangkutan
  2. Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  3. Public , dapat dipanggil oleh siapa saja

Class dapat merupakan implementasi dari sebuah interface , yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time .

Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package . Kita juga dapat membuat diagram yang terdiri atas package.


Hubungan Antar Class

  1. Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class Panah navigability m enunjukkan arah query antar class .
  2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  3. Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  4. Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di- passing dari satu class kepada class Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.

Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display , dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men- trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity .

Sekian dan terimakasih. semoga bermanfat.


Graphic User Interface (GUI)




A. Pengertian GUI Pada JAVA 

Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text.

Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.

B. Jenis-Jenis Gui

Diantara jenis-jenis gui di java adalah:

a) AWT (Abstract Window Toolkit)

AWT (Abstract Window Toolkit) adalah GUI Toolkit pertama pada bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ) Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar.

b) SWT (Standart Widget Tookit)

SWT (Standart Widget Toolkit) adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem. SWT terdapat pada package java.swt. package java.swt berisis komponen-komponen GUI yang bersifat platform sistem operasi.

Tampilan dari java.swt menyesuaikan dengan sistem operasi sehingga mengakibatkan dependensi sistem. Namun performa dari SWT ini sama dengan swing. Yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface).

c) SWING

Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.

LANGKAH-LANGKAH PRAKTIKUM

cthAWT1.java
import java.awt.*;
public class cthAWT1 {
public static void main(String[] args) {
Frame myFrame = new Frame(“Contoh program AWT”);
Label myLabel = new Label(“Selamat belajar JAVA”);
myFrame.add(myLabel);
myFrame.setSize(200,150);
myFrame.show();
}
}
CthAWT2.java
import java.awt.*;
class frameTurunan extends Frame {
Label myLabel = new Label (“Selamat Belajar JAVA!”);
public frameTurunan(String judul) {
setTitle (judul);
setSize(200,200);
add(myLabel);
show();
}
}
public class chtAWT2 {
public static void main(String[] args) {
frameTurunan f = new frameTurunan(“Ini FrameTurunan”);
}
}
CthSWING1.java
import javax.swing.*;
public class cthSwing1 {
public static void main(String[] args) {
JFrame myFrame= new JFrame(“Contoh program Swing”);
Jlabel myLabel= new JLabel(“Selamat belajar JAVA”);
myFrame.add(myLabel);
myFrame.setSize(200,150);
myFrame.setVisible(true);
myFrame.SetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
cthSWING2.java
import javax.swing.*;
class frameTurunan extend JFrame {
JLabel myLabel= new JLabel(“Selamat Belajar JAVA!”);
public frameTurunan(String judul) {
setTitle(judul);
setSize(200,200);
add(myLabel);
setVisible(true);
}
}
public class cthSwing2 {
public static void main(String[] args) {
frameTurunan f = new frameTurunan(“Ini FrameTurunan”);
}
}
Dip

Komunikasi Dengan Database

Komunikasi Dengan Database




JAVA DATABASE CONECTIVITY (JDBC)

Sistem Basis Data pada Java

Database merupakan salah satu bagian inti dari Sistem Informasi yang menyimpan data untuk proses pengolahan nantinya. Agar aplikasi bisa mengakses data dari suatu database engine, maka diperlukan suatu mekanisme koneksi antara aplikasi dan database tersebut. Pada bahasa pemrograman java terdapat kumpulan kelas yang digunakan khusus untuk koneksi database.

Komponen database pada java mengikuti standar SQL (Structured Query Language), sehingga libraryfungsinya dapat ditemukan dalam package java.sql.* dan javax.sql.*.

Terdapat 3 langkah utama untuk melakukan koneksi ke database : (1) membuat koneksi sengan server database. (2) Membuat perintah dan mengirimkannya ke server database. (3) menerima dan mengolah hasil.

Untuk mendapatkan koneksi database, diperlukan 3 langkah, yaitu :
  1.  Menginstalasi driver database yang digunakan
  2.  menciptakan instance object dari server
  3.  melakukan registrasi koneksi ke database

Setelah berhasil dilakukan, maka kita hanya perlu melakukan registrasi koneksi, dan menciptakan koneksi melalui interface Connection berdasarkan URL disertai dengan username dan password database

PENGERTIAN

JDBC (Java database connectivity) adalah spesifikasi standar dari JavaSoft API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC menyediakan methods untuk melakukan query dan modifikasi data pada RDBMS seperti Oracle, SQL Server, MySQL, dll menggunakan Driver Manager. JDBC mirip dengan ODBC (Open Database Connectivity), hanya saja JDBC spesifik digunakan untuk program Java. ODBC bersifat language independent.

JDBC memiliki beberapa kegunaan, yaitu membantu programmer untuk koneksi dengan data source, membantu mengirimkan query dan update statements ke database, dan menerima serta memroses hasil yang didapatkan dari database sesuai dengan query yang diberikan.Untuk melakukan koneksi ke suatu sumber data, diperlukan database driver yang akan menjadi jembatan antara Aplikasi dengan Database. Database driver ini bersifat spesifik untuk setiap sumber data. Misalnya, Database Driver MySQL hanya bisa digunakan untuk melakukan koneksi ke database MySQL, begitu juga dengan Database Driver PostgreSQL hanya untuk PostgreSQL.

Komponen utama JDBC

  1. Driver adalah komponen untuk menangani masalah komunikasi dengan server database.
  2. DriverManager adalah komponen untuk menangani objek driver.
  3. Connection adalah komponen yang menyimpan koneksi ke database.
  4. Statement adalah komponen yang menangani perintah SQL ke database.
  5. ResultSet adalah komponen yang menyimpan data hasil perintah ke database.
  6. SQLException adalah komponen untuk menangani kesalahan-kesalahan yang mungkin terjadi saat pengolahan database.


Memanggil Driver JDBC

Untuk menghubungkan database MySQL dengan Java, perlu dilakukan pemanggilan driver JDBC. Driver adalah sebuah library yang berisi perintah-perintah untuk berkomunikasi dengan server database.

Sebelum mulai menulis program, import terlebih dahulu package java.sql.*. karena di dalam library ini terdapat kelas-kelas seperti DriverManager, Connection, dan ResultSet.

import java.sql.*

Untuk memanggil driver JDBC bisa menggunakan

Class.forName(namaDriver);


atau

Class.forName(namaDriver).newInstance();

Keduanya bertujuan untuk registrasi Class Driver. Perintah tersebut dapat menghasilkan error bila driver tidak ditemukan, sehingga perlu dilakukan penanganan, menggunakan ClassNotFoundException.

try {

// perintah pemanggilan driver

} catch (ClassNotFoundException exc) {

// penanganan kesalahan

}


Membangun Koneksi

Setelah berhasil melakukan pemanggilan driver, maka dilanjutkan dengan membangun koneksi. Untuk membuat koneksi tidak perlu dengan menciptakan object baru. Karena pembuatan object telah dienkapsulasi pada kelas DriverManager. Jadi, untuk mendapatkan object hanya dengan syntax :

DriverManager.getConnection(url, username, password);
Sama seperti pemanggilan driver, perintah kali ini dapat menyebabkan error. Untuk itu, diperlukan penanganan. Namun, kali ini menggunakan SQLException, karena kesalahan yang mungkin terjadi ada di dalam database engine.

try {

Connection conn = DriverManager.getConnection(URL, username, password);

} catch (SQLException exc) {

// penanganan kesalahan

}


URL bisa dibuat dengan format : Jdbc:<DBServer>://[host]:[port]/<NamaDB>

Username : user pada server database

Password : password untuk user diatas


Membuat Object Statement

Statement merupakan objek interface yang diciptakan dari method Connection.createStatement().Objek Statement digunakan untuk penerimaan statement SQL tanpa parameter.

Perintah Statement :

Statement stat = Connection.createStatement();

Melakukan Eksekusi

Sekarang, objek statement telah dibuat dan sudah bisa digunakan untuk mengirim perintah SQL, kemudian mengeksekusinya. Untuk melakukan eksekusi, dibagi menjadi 2 bagian.
  1. Pertama, menggunakan method executeQuery(). Method ini dipakai untuk perintah SELECT,sehingga akan memberikan nilai kembalian dalam bentuk ResultSet.
  2. Kedua, menggunakan method executeUpdate(). Method ini dipakai pada perintah INSERT, UPDATE, dan DELETE. Untuk melakukan perintah DELETE :

PreparedStatement stat = conn.prepareStatement(perintah/query delete);

stat.executeUpdate();

Menerima hasil dan memprosesnya

Hasil statement akan memberikan hasil, jikaperintah yang digunakan adalah SELECT. Hasil kembalian berupa ResultSet.

ResultSet rs = stat.executeQuery(perintah SQL);

If( rs.next() ) {

// ambil nilai dan masukan ke dalam variabel

}


langkah-langkah diatas merupakan cara yang paling sederhana untuk melakukan akses database pada bahasa pemrograman Java.

EMPAT KOMPONEN PENTING DARI JDBC :

1. JDBC-API

JDBC-API menyediakan fasilitas untuk mengakses database relasional dari program berbahasa Java. Melalui komponen ini user dapat melakukan proses query dan perubahan data dalam database. JDBC-API memiliki package utama yang tersedia pada java.sql dan javax.sql.

2. JDBC Driver Manager

Merupakan komponen kelas utama yang mendefinisikan object yang mengkoneksikan aplikasi Java ke JDBC driver. Komponen ini berfungsi untuk mengatur beberapa tipe JDBC database driver yang berbeda. JDBC Driver Manager memilih driver mana yang sesuai untuk koneksi ke suatu database.

3. JDBC Test Suite

Komponen ketiga ini memastikan JDBC driver dapat menjalankan program user dan sangat berguna dalam melakukan testing sebuah aplikasi yang menggunakan teknologi JDBC.

4. JDBC-ODBC Bridge

Adalah database driver yang menggunakan ODBC driver untuk koneksi ke database serta memiliki fungsi utama untuk translasi dari JDBC method calls ke ODBC function calls dan mengimplementasikan JDBC untuk semua driver yang didukung oleh ODBC. Komponen ini dapat diimplementasikan dalam package sun.jdbc.odbc.

   JDBC MEMILIKI 10 ARSITEKTUR, YAITU :
  1. Database connections
  2. SQL Statements
  3. Result set
  4. Database metadata
  5. Prepared Statement
  6. Binary Large Objects (BLOBs)
  7. Character Large Objects (CLOBs)
  8. Callable statements
  9. Database Driver
  10. Driver Manager

Tipe 1 – JDBC-ODBC Bridge

Fungsi

  • Translasi query dari JDBC ke ODBC query
  • Client à JDBC Driver à ODBC Driver à Database

Keunggulan

  • Semua database yang didukung oleh ODBC dapat diakses

Kelemahan

  • Performance overhead 
  • ODBC driver harus diinstal di semua client
  • Dibutuhkan client-side software

Tipe 2 – Java to Native API

Fungsi

  • Konversi JDBC calls ke client API untuk database
  • Client à JDBC driver à Vendor Client DB Library à Database

Keunggulan

  •  Performa lebih baik daripada tipe 1

Kelemahan

  •  Vendor client library harus diinstal di client.
  • Tidak dapat digunakan di internet karena membutuhkan client-side software.
  • Tidak semua database memberikan client-side library.


Tipe 3 – Java to Network Protocol or All-Java Driver

Fungsi


  • Menggunakan pendekatan three-tier communication
  • Vendor independent
  • Client à JDBC Driver à Middleware-Net Server à Any database


Keunggulan

  •  Tidak membutuhkan instalasi pada client-side
  • Middleware server dapat memberikan fungsi tambahan dalam hal caching, load balancing, logging, auditing, dll.
  • Dapat digunakan di internet


Kelemahan


  •  Membutuhkan program yang bersifat database-specific untuk middle tier.
  • Extra layer dapat menyebabkan time-bottleneck.


Tipe 4 – Java to Database Protocol

Fungsi


  • Melakukan komunikasi langsung dengan database melalui koneksi socket.
  • Driver berfungsi mengubah JDBC call ke database protocol langsung.
  •  Diimplementasikan sepenuhnya dalam Java.
  • Client Machine à Native Protocol JDBC Driver à Database Server. Contoh: Oracle Thin Driver


Keunggulan

  • Performa cenderung meningkat à Tidak melakukan translasi ke ODBC, tidak menggunakan client API, tidak menggunakan middleware layer

Kelemahan

  • Pada sisi client, driver untuk masing-masing database harus terinstal.

BEBERAPA KONSEP PENTING DI DALAM JDBC :

Transactions

  • Secara default, semua transaksi pada JDBC bersifat auto-commit

Logging

  • Digunakan untuk mengatur apakah dilakukan logging kejadian selama transaksi dilakukan.


Concurrency

  • Memastikan transaksi terjadi sesuai urutan kronologis.
  • Berhubungan dengan kemungkinan terjadinya multikoneksi yang mengakses data yang sama.

JDBC MASIH MEMILIKI KOMPONEN PENTING LAIN, YAITU :

  1. Package java.sql : Berisi beberapa class, interface yang digunakan dalam transaksi.
  2. DriverManager : Menangani segala sesuatu yang berkaitan dengan driver yang dipakai.
  3. DataSource : Alternatif dari DriverManager untuk melakukan koneksi database.

JDBC Connection Object

Object untuk melakukan koneksi dengan database
Membuat Statement, PreparedStatement, dan CallableStatement untuk eksekusi SQL.
Melakukan commit dan rollback transaksi


KOMPONEN UTAMA JDBC API


JDBC API memiliki beberapa komponen utama yang berhubungan dengan mekanisme pengolahan data baik itu untuk berkomunikasi dengan database server, melakukan koneksi, mengirim perintah SQL, mendapatkan data, menutup koneksi, serta penanganan error yang mungkin terjadi dalam pengolahan data.
  1. Driver adalah komponen untuk menangani komunikasi dengan database server.
  2. DriverManager adalah komponen untuk menangani objek Driver dimana objek DriverManager juga mengabstraksi detail dari proses kerja objek Driver.
  3. Connection adalah komponen untuk merepresentasikan koneksi secara fisik ke database
  4. Statement adalah komponen untuk mengirim perintah-perintah SQL ke database.
  5. ResultSet adalah komponen untuk menyimpan data yang didapat dari database setelah perintah SQL dijalankan dengan menggunakan komponen Statement.
  6. SQLException adalah komponen untuk menangangi kesalahan-kesalahan (error) yang mengkin terjadi dalam pengolahan database