HELLOOO !!!

Please read, comment, then follow my blog :)

Jumat, 21 Desember 2012

CLIENT SERVER

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
run.jpgSetelah  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.. :
ODBC_data resource.jpg




lalu pilih provider nya, pilih MySQL ODBC 3.51 Driver
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaLCSxOd_ySt5729nii5ey0Ph-tUYtKSdZn7_QsNE-nVJ_ozs2FxIyX8CiEKJodAliQ_tCeVbuwqO86Rwrajx4B9Sg2eM30YJsUSGmofOlDBnaDcOJyZO4ccZtMJbkzKKG4B4Nic-qU2TY/s1600/provider.gif





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
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8SeL1t_2ruUgcl2Q9_fnszHHXkCjWXMUOu9iY01rhwYeP53Ww6TfxeizQhDIRnRVJ4K2EeSLZPo_PLkQRDSqo4BUgzELVloQer3o97_WvMhWGr9GAXWuawA74LO9XZ6A_LCSQu6RuH3XK/s320/con-odbc.gif











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
3.      isikan di module sebagai berikut:
project1.jpg





4.      desain form seperti dibawah ini:
project1_form3.jpg



project1_form3(code).jpg5. isikan listing seperti dibawah ini:






form3.jpg6. 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