Anda di halaman 1dari 12

MODUL PERKULIAHAN

JDBC & LINQ

Pertemuan-11

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh


Ilmu computer Sistem Informasi Ariyani Wardhana

11

Abstract Kompetensi
EA Framework dengan JDBC Mahasiswa mampu melakukan
dan LINQ pengaolahan database untuk
arsitektur enterprise
Java dan DBMS
Java telah menyediakan berbagai fitur untuk mengembangkan aplikasi database. Sehingga hampir
semua DBMS (Database Management System atau cukup database system saja) popular yang ada
saat ini disuport penuh oleh Java, tak terkecuali MySQL, Microsoft SQL Server, dan Oracle. Banyak
sekali yang bisa digunakan untuk melakukan koneksi dengan database, dan diantara cara tersebut
cara yang paling popular adalah Koneksi melalui JDBC, JDBC-ODBC Bridge (disebut juga via
ODBC), dan XML, tentunya dengan kelebihan dan kekurangan masing-masing terhadap kasus yang
ditangani atau permasalahan yang diselesaikan.

Secara umum langkah-langkah yang dilakukan dalam pemrograman database adalah :


 Melakukan loading database driver
 Membangun koneksi
 Membuat statement
 Mengambil data dengan ResultSet

KONEKSI VIA JDBC

JDBC (Java Database Connectivity) berfungsi untuk melakukan koneksi database dengan apliksi
yang ditulis dengan bahasa pemrograman Java. Bentuk fisik dari JDBC adalah berupa file driver
yang berisi class atau kumpulan class-class (termasuk interface, exception dan juga suatu
spesifikasi baik bagi vendor driver JDBC maupun Driver Manager bagi pengembang aplikasi yang
memanfatkan JDBC) yang digunakan untuk menghubungkan java dengan database tertentu,
sehingga apabila database yang dikoneksikan berbeda, maka file driver yang digunakan juga
berbeda (meskipun jenis koneksinya sama, yaitu JDBC).

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
2 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Arsitektur JDBC
Sebuah spesifikasi yang terbuka, seperti JDBC yang dispesifikasikan oleh Sun Microsystem, harus
dapat bersifat terbuka bagi para vendor lainnya, terutama dalam hal pendefinisian driver JDBC untuk
masig-masing RDBMS. Untuk itu JDBC disusun dalam suatu arsitektur sebagai berikut :

Lapisan vendor spesifik JDBC Driver merupakan driver JJDBC yang dikeluarkan vendor
pengembang RDBMS. Sedangkan JDBC-ODBC bridge berfungsi sebagai perantara untuk
mengakses database melalui ODBC driver. Baik JDBC driver maupun JDBC-ODBC Bridge diatur
dan dapat diakses melalui JDBC driver manager.

Aplikasi yang kita kembangkan untuk mengakses database dengan memanfaatkan JDBC akan
berinteraksi dengan JDBC Driver Manager. Arsitektur ini memudahkan pemrogram untuk
mengakses database.

Java Database Connectivity adalah API yang digunakan Java untuk melakukan koneksi dengan
aplikasi lain atau dengan berbagai macam database. JDBC memungkinkan kita untuk membuat
aplikasi Java yang melakukan tiga hal: konek ke sumber data, mengirimkan query dan statement ke
database, menerima dan mengolah resultset yang diperoleh dari database.
JDBC mempunyai empat komponen :

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
3 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
1. JDBC API
JDBC API menyediakan metode akses yang sederhana ke sumber data relational (RDBMS)
menggunakan pemrograman Java. dengan menggunakan JDBC API, kita bisa membuat
program yang dapat mengeksekusi SQL, menerima hasil ResultSet, dan mengubah data
dalam database. JDBC API juga mempunyai kemampuan untuk berinteraksi dengan
lingkungan terdistribusi dari jenis sumber data yang berbeda-beda.
JDBC API adalah bagian dari Java Platform yang disertakan dalam library JDK maupun JRE.
JDBC API sekarang ini sudah mencapai versi 4.0 yang disertakan dalan JDK 6.0. JDBC API
4.0 dibagi dalam dua package yaitu : java.sql dan javax.sql.
2. JDBC Driver Manager
Class DriverManager dari JDBC bertugas untuk mendefinisikan object-object yang dapat
digunakan untuk melakukan koneksi ke sebuah sumber data. Secara tradisional
DriverManager telah menjadi tulang punggung arsitektur JDBC.
3. JDBC Test Suite
JDBC Test Suite membantu kita untuk mencari driver mana yang cocok digunakan untuk
melakukan sebuah koneksi ke sumber data tertentu. Tes yang dilakukan tidak memerlukan
resource besar ataupun tes yang komprehensif, namun cukup tes-tes sederhana yang
memastikan ftur-ftur penting JDBC dapat berjalan dengan lancar.
4. JDBC-ODBC Bridge
Brige ini menyediakan fasilitas JDBC untuk melakukan koneksi ke sumber data
menggunakan ODBC (Open DataBase Connectivity) driver. Sebagai catatan, anda perlu
meload driver ODBC di setiap komputer client untuk dapat menggunakan bridge ini. Sebagai
konsekuensinya, cara ini hanya cocok dilakukan di lingkungan intranet dimana isu instalasi
tidak menjadi masalah.
Dengan keempat komponen yang dipunyainya, JDBC menjadi tools yang dapat diandalkan
untuk melakukan koneksi, mengambil data dan merubah data dari berbagai macam sumber
data. Modul ini hanya akan membahas dua komponen pertama dari keempat komponen
yang dipunyai oleh JDBC, yaitu JDBC API dan DriverManager. Sumber data yang digunakan
adalah Relational Database.

JDBC memerlukan database driver untuk melakukan koneksi ke suatu sumber data. Database driver
ini bersifat spesifk untuk setiap jenis sumber data. Database driver biasanya dibuat oleh pihak
pembuat sumber datanya, namun tidak jarang juga komunitas atau pihak ketiga menyediakan
2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
4 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
database driver untuk sebuah sumber data tertentu.
Perlu dipahami sekali lagi bahwa database driver bersifat spesifk untuk setiap jenis sumber data.
Misalnya, Database Driver MySql hanya bisa digunakan untuk melakukan koneksi ke database
MySql dan begitu juga database driver untuk Postgre SQL juga hanya bisa digunakan untuk
melakukan koneksi ke database Postgre SQL.
Database driver untuk setiap DBMS pada umumnya dapat didownload dari website pembuat

DBMS tersebut. Beberapa vendor DBMS menyebut Database driver ini dengan sebutan Java
Connector (J/Connector). Database driver biasanya dibungkus dalam fle yang berekstensi jar. Setiap
database driver harus mengimplement interface java.sql.Driver.

LINQ
LINQ singkatan dari Language Integrated Query, LINQ sendiri merupakan fasiltias baru yang
disertakan pada .NET Framework 3.5 dan telah terintegrasi jika kita menginstall Visual Studio 2008.
Lalu apa bedanya sih dengan Query yang selama ini digunakan dalam database? Salah satu
perbedaannya LINQ selain bisa melakukan query pada database juga dapat melakukan query
terhadap data dalam format XML, Entities, Object dan sebagainya.

Secara singkat konsepnya sama dengan ODBC yang menjadi jembatan dalam mengakses database
dalam berbagi format. LINQ disini juga menjadi jembatan perantara dalam mengakses berbagai
format struktur data. Selama format data mendukung IEnumerable Type maka LINQ dapat
melakukan query kedalamnya.

Kalau boleh dianalogikan mungkin akan lebih menyenangkan jika kita memiliki 1 buah kunci untuk
masuk kedalam semua ruangan yang ada, jadi kita tidak perlu repot membawa/mempunyai banyak
kunci untuk masuk kedalam ruangan yang berbeda. Dengan LINQ kita mempunyai sebuah kunci
untuk dapat masuk dan melakukan Query kedalam berbagai format data yang berbeda.
Artikel ini akan membahas pengunaan LINQ untuk melakukan query kedalam berbagai format data
seperti LINQ to XML, LINQ to Object, LINQ to SQL

Teknologi LINQ ini sendiri diperkenalkan pertama kali oleh Anders Hejlsberg dalam

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
5 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Microsoft Profesional Developers Conference (PDC) tahun 2005, tujuannya adalah membuat
standarisasi dan memudahkan pattern proses pengaksesan data. Dengan adanya standart
pengaksesan data maka para developer/programmer dapat melakukan cara yg sama dalam
memproses beberapa format data (Database, XML ataupun Collection data object)
Berikut diagram arsitektur LINQ secara global dalam proses pengaksesan data.

Secara global terlihat LINQ dapat digunakan untuk melakukan query kedalam beberapa format data
berikut :
– LINQ to Object
– LINQ to XML
– LINQ to Database (SQL dan Dataset)
– LINQ to Entity

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
6 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Arsitektur LINQ

Dari gambar di atas, dapat dilihat bahwa LINQ dapat mengakses data source dari berbagai sumber:

LINQ to Objects
LINQ to Objects dapat mengakses sumber data IENumerable atau IEQueryable secara langsung
tanpa membutuhkan LINQ Provider atau API, seperti pada LINQ to SQL atau LINQ to XML.
IENumerable atau IEQueryable collection contohnya adalah array string (string()), array integer
(integer()), bisa pula generic List.

Langsung aja masuk ke contoh, misalkan anda memiliki kumpulan data dalam sebuah array. Untuk
mengakses data pada array, biasanya kita melakukan looping pada array tersebut dan melakukan
iterasi pada setiap data yang sesuai dengan kriteria, misalnya nama sebuah makanan yang dimulai
dengan huruf tertentu.

LINQ to XML
LINQ to XML adalah antarmuka pemrograman XML dengan LINQ yang diaktifkan dalam memori
yang memungkinkan Anda untuk bekerja dengan XML dari dalam bahasa pemrograman .NET
Framework. LINQ ke XML seperti Document Object Model (DOM) yang membawa dokumen XML ke
dalam memori.

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
7 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
LINQ to Dataset
LINQ ke DataSet membuatnya lebih mudah dan lebih cepat untuk query data yang di-cache dalam
objek DataSet. Secara khusus, LINQ ke DataSet menyederhanakan kueri dengan memungkinkan
pengembang untuk menulis kueri dari bahasa pemrograman itu sendiri, bukan dengan
menggunakan bahasa kueri yang terpisah.
LINQ to SQL, sumber data dari IENumerable dan IQueryable dan setiap object yang kita tentukan
sendiri sebagai represent data dari SQL tabel.

LINQ Queries
Basic query

Projection/Selection of fields

Flattening collections returned in a Select query

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
8 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Sorting entities

Filtering entities / Restriction

Local variables

Set functions
Set operator memungkinkan Anda untuk memanipulasi koleksi dan menggunakan operasi set
standar seperti serikat, memotong, dll. Operator set LINQ adalah:

Distinct - digunakan untuk mengekstraksi elemen berbeda dari koleksi,


Union - membuat koleksi yang mewakili penyatuan dua koleksi yang ada,
Concat - menambahkan elemen dari satu koleksi ke koleksi lain,
Intersect - membuat koleksi yang berisi elemen yang ada di kedua koleksi,
Kecuali - membuat koleksi yang berisi elemen yang ada dalam satu, tetapi tidak ada di koleksi lain,
Terbalik - membuat salinan koleksi dengan elemen dalam urutan terbalik,

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
9 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
EquallAll - memeriksa apakah dua koleksi memiliki elemen yang sama dalam urutan yang sama,
Ambil - fungsi ini mengambil sejumlah elemen dari satu koleksi, dan menempatkannya dalam koleksi
baru,
Lewati - fungsi ini melompati sejumlah elemen dalam koleksi,

Advanced queries
Joinning tables

Join operator

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
10 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Grouping operator

Nested Queries

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
11 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id
Daftar Pustaka
1. DR Indrajit Eko Richardus, Electronic Commerce Strategi dan konsep bisnis di dunia maya,
APTIKOM, 2002
2. Scott A. Bernard . (2012).An Introduction to Enterprise Architecture . 03 th Edition.
Authorhouse. Bloomington. ISBN: 978-1-4772-5800-2 .
3. I Putu Agus Eka Pratama, (2015), E-commerce, E-business dan Mobile Commerce,
Informatika
4. Glenn Hostetler, (2009), Web Service and SOA Technologies by Glenn Hostetler,
Practicing Safe Tech
5. Gustavo Alonso, Fabio Casati, et. al, (2004), Web Services: Concepts, Architectures and
Applications, Springer
6. https://s3.amazonaws.com/academia.edu.documents/33034694/_Java__Java_Desktop_-
_Ifnu_Bima.pdf?response-content-
disposition=attachment%3B%20filename%3DPenjelasan_Tentang_Java_Dekstop.pdf&X-
Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-
Credential=AKIAIWOWYYGZ2Y53UL3A%2F20190919%2Fus-east-
1%2Fs3%2Faws4_request&X-Amz-Date=20190919T082358Z&X-Amz-Expires=3600&X-
Amz-SignedHeaders=host&X-Amz-
Signature=fde3c8cbfa47a29c80730715384de594f9f9a3cec3ebb28008f77654bffb05d8
7. https://ilmukomputer.org/wp-content/uploads/2008/04/jerrypeter-linq.pdf
8. https://indradjaya.wordpress.com/2011/12/25/teknologi-konektivitas-database-paket-
j2se/#more-162
9. https://pojokprogrammer.net/content/linq-tuts-part-1-dasar-dasar-linq
10. https://www.codeproject.com/Articles/286255/Using-LINQ-Queries#LINQQueries

2018 Arsitektur Enterprise dan E Business Pusat Bahan Ajar dan eLearning
12 Ariyani Wardhana., S.T., S.Kom., MM http://www.mercubuana.ac.id

Anda mungkin juga menyukai