Contoh Client/Server dengan
Mengkoneksikan MySQL dan Visual Basic
dengan ODBC
Oleh : Garnis Dara Utami
ABSRTRAKSI
Sistem
client/server biasanya berjalan pada setidaknya dua system computer yang
berbeda. Satu computer bertindak sebagai client dan yang lainnya sebagai
server. Tetapi client dan server juga bisa berada pada satu system computer.
Biasanya sebuah server melayani beberapa computer client, walaupun mungkin ada
juga yang hanya melayani satu client saja. Fungsi server ini biasanya dilakukan
oleh file server, kecuali apabila dibutuhkan kinerja yang maksimal maka
digunakanlah server yang khusus. Client biasanya berupa komputer desktop yang
terhubung dalam jaringan. Apabila pemakai ingin mengambil atau menyimpan
informasi, bagian aplikasi client akan mengeluarkan permintaan, yang akan
dikirimkannya kepada server. Server kemudian menjalankan permintaan dan
mengirimkan informasi kembali ke client. Sebuah database tidak dapat
menggantikan system client/server, walaupun system client/server sering menggunakan
database untuk melakukan aktifitas server. Aplikasi yang dirancang untuk
menggunakan Access, Microsoft FoxPro, Paradox, atau program database lainnya
bukanlah system client/server. Semuanya adalah contoh-contoh aplikasi database
jaringan karena semua pemrosesan dilakukan oleh client.
Kata
Kunci : client/server , ODBC , MySQL
I. PENDAHULUAN
Saat
ini makin banyak pembuatan aplikasi yang menggunakan arsitektur client/server
dalam pengaksesan database. Hal ini karena masih banyak pengguna aplikasi
menuntut untuk dapat memperoleh informasi aktual dari bagian lain didalam satu
perusahaan yang akan digunakan untuk proses pengambilan keputusan di bagian
lainnya. ODBC adalah satu komponen utama pada semua pembuatan aplikasi
client/server yang diciptakan untuk mempermudah koneksi database mysql ke semua
pemrograman berbasis Windows. ODBC banyak dipilih sebagai alternatif pilihan
koneksi database mysql dalam pemrograman client/server.
MySQL
merupakan salah satu database relasional yang mendukung pemakaian Stuctured Query Language (SQL) dan
dirancang untuk penggunaan aplikasi dengan arsitektur client/server. Selain
MySQL, beberapa produk sejenis yang sudah ada di pasaran antara lain adalah
Oracle, Sybase, PostgreSQL, Informix, dan Microsoft SQL Server. Semua produk
tersebut memungkinkan pengguna untuk mengolah data mereka didalam database
tersentral pada computer pusat yang disebut sebagai server. Sedangkan informasi yang dihasilkan dapat digunakan
bersama-sama oleh beberapa user didalam komputer lokalnya yang disebut sebagai client. Data yang diberikan oleh server
dapat disesuaikan dengan tingkat kepentingan pengguna. Sehingga data yang
dikirim dapat berupa sebagian dari keseluruhan isi data, sesuai dengan
permintaan user.
II. CLIENT SERVER
Client
server merupakan model konektivitas yang membedakan fungsi komputer apakah
sebagai client atau sebagai server. Sebagai server, computer bertugas
memberikan layanan kepada terminal-terminal lain (client) yang terhubung dalam
system jaringan itu. Selain itu, server juga bertugas memberikan layanan
berbagi pakai berkas (file server), printer (printer server), jalur komunikasi
(server komunikasi).
Pada
model ini, client tidak dapat berfungsi sebagai server, tetapi server dapat
berfungsi sebagai client. Prinsip kerja client server sangat sederhana. Server
akan menunggu permintaan dari client, kemudian memproses dan memberikan
hasilnya kepada client. Sedangkan client akan mengirimkan permintaan ke server,
kemudian menunggu proses dan menerima kembali hasil prosesnya yang akan
dikirimkan oleh server.
Komponen Dasar Client Server
a.
Client
Client
adalah system yang melakukan permintaan layanan yang dibutuhkan kepada server.
Terminal client dapat berupa PC, ponsel, komunikator, televisi, dan peralatan
lain yang membutuhkan komunikasi.
b.
Middleware
Middleware
adalah perantara yang menghubungkan antara client dan server. Dengan adanya
middleware, client dapat mengirimkan permintaan kepada server, menerjemahkan
pesan dari client agar dimengerti oleh server, menerjemahkan hasil proses dari
server agar dapat dipahami oleh client dan mengirimkan hasil proses yang telah
diterjemahkan kembali ke client. Middleware dapat berupa Transaction Monitor
(TP) atau Object Request Broker (ORB).
c.
Server
Server
adalah penyedia layanan yang diminta oleh client. Server dapat berupa basis
data SQL, Monitor TP, server groupware, server objek, ataupun web.
Berdasarkan
tipe layanan yang diberikan server kepada client, jaringan Client Server dapat
dibagi kedalam beberapa tipe:
1.
System
jaringan server basis data
Adalah
system jaringan dimana layanan yang diberikan oleh server berupa hasil proses
dari perintah terstruktur yang diberikan client.
2.
System
jaringan server transaksi
Adalah
system jaringan dimana layanan yang diberikan server berupa hasil proses dari
sekelompok perintah terstruktur yang diberikan client.
3.
Sistem
jaringan groupware server
Adalah
system jaringan dimana layanan yang diberikan server berupa fasilitas pemakaian
bersama informasi semi-terstruktur antarpengguna jaringan.
4.
System
jaringan server objek
Adalah
system jaringan dimana layanan yang diberikan server berbentuk objek.
5.
System
jaringan web server
Adalah
system jaringan dimana layanan yang diberikan server berupa pengelolaan dan
pemakaian bersama dokumen-dokumen yang saling terhubung.
Manajemen Client Server
Manajemen
client server meliputi proses-proses pengaturan dan pemeliharaan keakuratan
data. Manajemen client server dapat dilakukan dengan menggunakan sistem
konkurensi berupa Multitasking, MultiThreading, dan Sinkronisasi.
Sistem Konkuresi
Sistem
konkurensi adalah system yang aktivitasnya dapat berjalana bersamaan, artinya
suatu proses dapat aktif berjalan tanpa harus menunggu proses lainnya selesai
terlebih dahulu. Pada system yang tidak konkurens, suatu proses akan dijalankan
hanya jika proses yang mendahului telah selesai dikerjakan. Implementasi system
konkurensi pada single prosesor dengan menggunakan prinsip interleave proses,
sedangkan pada system multiprosesor, proses-proses yang aktif di-interleave dan
di-overlap.
Multitasking
Multitasking
adalah sistem yang mampu menjalankan banyak proses, yang dilakukan oleh satu
computer secara simultan dan tanpa mengganggu satu dengan yang lain. Sistem
multitasking pada umumnya berkaitan dengan system operasi.
Multithreading
Multithreading adalah sistem operasi yang telah dikembangkan
agar memungkinkan menjalankanbanyak proses
secara bersamaan. Multithreading dibedakan menjadi tiga, yaitu:
·
Model many-to-one
Model
ini memetakan beberapa tingkatan thread pengguna hanya ke satu buah kernel
thread. Manajemen proses thread dilakukan oleh pengguna sehingga menjadi lebih
efisien. Akan tetapi, apabila sebuah thread melakukan pemblockingan terhadapa
system maka seluruh proses akan tberhenti (blocked).
Kelemahan
model ini adalah multithread tidak dapat berjalan secara paralel dalam
multiprosesor karena hanya dalam satu thread saja dapat mengakses kernel dalam
satu waktu.
·
Model one-to-one
Model
ini memetakan setiap thread pengguna ke dalam satu kernel thread sehingga model
ini lebih sinkron daripada model many-to-one ketika sebuah thread melakukan
pemblockingan terhadap system pemanggilan. Pemetaan ini juga mengizinkan multiple
thread berjalan secara paralel dalam multiprosesor. Kelemahan model ini adalah
dalam pembuatan thread pengguna, dibutuhkan pembuatan korespondensi thread
pengguna karena dalam proses pembuatan kernel threaddapat mempengaruhi kinerja
aplikasi maka kebanyakan implementasi model ini membatasi jumlah thread yang
didukung system. Model one-to-one diimplementasikan oleh Windows NT dan OS/2.
·
Model many-to-many
Thread
pengguna dapat menggunakan kernel thread yang jumlahnya lebih kecil atau sama
dengan jumlah thread pengguna. Jumlah kernel thread dapat ditentukan oleh
beberapa aplikasi dan beberapa mesin (suatu aplikasi dapat mengalokasikan lebih
dari beberapa kernel thread dalam
multiprosesor daripada dalam uniprosesor) dimana model many-to-one mengizinkan
pembuatan thread pengguna sebanyak mungkin. Konkurensi tidak dapat terjadi jika
hanya ada satu thread yang dapat dijadwalkan oleh kernel dalam satu waktu. Model
one-to-one memiliki tingkat konkurensi yang lebih tinggi, tetapi pengembang
harus membatasi jumlah thread yang dibuat.
Sinkronisasi
Sinkronisasi
adalah mekanisme koordinasi proses-proses konkuren yang saling mempengaruhi
satu sama lain agar pemakaian resource secara bersama dapat terjamin
validitasnya. Ada 2 hal yang melatarbelakangi penggunaan sinkronisasi, yaitu:
a. Pengaksesan
yang dilakukan secara bersama-sama ke data yang sama sehingga data menjadi
tidak konsisten.
b. Race
condition yaitu situasi dimana beberapa proses mengakses dan memanipulasi data
secara bersamaan. Nilai akhir data tergantung dari proses mana yang selesai
terakhir. Cara menghindari race condition adalah dengan menjaga bagian critical
section.
III. Cara Koneksi MySQL dan Visual
Basic dengan ODBC
Setelah berhasil menginstal Visual Basic dan ODBC,
langkah berikutnya adalah mengkoneksikan ODBC nya. Pertama buat satu database
terlebih dahulu. Kemudian buka ODBC Data Source. Caranya ketikan di run
odbcad32, seperti gambar berikut:
atau
masuk ke control panel > administrative tools > data
sources (ODBC)
maka
akan muncul tampilan sebagai berikut,
lalu pilih tombol Add.. :
lalu pilih provider nya, pilih MySQL ODBC 3.51 Driver
akan
muncul jendela sebagai berikut, isikan dengan:
data
source name = isikan yang berhubungan dengan database
yg dibuat
description = boleh diisikan boleh dikosongkan
server = localhost
user =
root
password =
( password pd saat pembuatan database)
database = pilih database yg telah dibuat sebelumnya
klik tombol test, maka akan muncul pesan sebagai berikut, kemudian klik ok
jika
sudah muncul kotak dialog sukses , berarti koneksi ODBC nya sudah
berhasil. Langkah berikutnya masuk ke Visul Basic.
Pertama
tambahkan module terlebih dahulu
1.
project
> add module
2.
aktifkan
untuk ADODBnya, klik project > references >centang
Microsoft ActiveX Data Objects 2.0 Library
Microsoft ActiveX Data Objects 2.0 Library
3.
isikan
di module sebagai berikut:
4.
desain
form seperti dibawah ini:
5. isikan listing seperti dibawah
ini:
6. lalu run programnya dengan
menekan ( F5 )
IV. PENUTUP
Arsitektur
database client/server merupakan aplikasi yang banyak digunakan. Penyajian data
yang akurat, efisien, dan aktual merupakan keistimewaan utama aplikasi database
client/server. Banyak web database menggunakan MySQL sebagai databasenya. Untuk
itu dibutuhkan ODBC sebagai satu komponen utama pada semua pembuatan aplikasi
client/server untuk mempermudah koneksi database mysql ke semua pemrograman
berbasis Windows termasuk Microsoft Visual Basic. ODBC banyak dipilih sebagai
alternatif pilihan koneksi database
mysql dalam pemrograman client/server.
V. REFERENSI
1. Konsep
dan Aplikasi Pemrograman Client Server dan Sistem Terdistribusi. Budi Sutedjo
Dharma Oetomo,S.Kom.,MM . Penerbit ANDI Yogyakarta. 2006.
2. Pemrograman
Client/Server dengan Microsoft Visual Basic. Kenneth L.Specer dan Ken Miller.
Penerbit PT Elex Media Komputindo. Penerjemah Adi Kurniadi. 1997.
3. Pemrograman
Client/Server dengan MySQL VB API. Yoni Eza Ikhmawan, ST.p. dan Ridwan Sanjaya,
S.E., S.Kom. Penerbit PT Elex Media Komputindo. 2003.
Tidak ada komentar:
Posting Komentar