2 Juli 2010
PENDAHULUAN
mySQL adalah database server yang sangat ideal untuk data segala ukuran. Dengan
kemampuannya yang dapat bekerja di lingkungan Unix maupun Win32 dan sifatnya yang bersifat
Open Source Freeware (dibawah lisensi GNU, General Public License; lihat di
http://www.gnu.org/licenses/), mySQL menjadi pilihan yang tepat bagi pengembangan aplikasi kelas
menengah kebawah dan kelas korporat.
Kemampuan paling menonjol mySQL Server adalah dalam hal kecepatannya yang sangat
tinggi dalam melakukan proses data, multi-threaded, multi-user, dan sangat mudah dalam melakukan
query dibandingkan SQL server yang lain. Hal ini sudah dibuktikan dari hasil Benchmark yang dapat
anda lihat di http://www.mysql.com/ information/benchmarks.html. Berikut adalah sebagian hasil
Benchmark mySQL dengan SQL Server yang lain (dijalankan di mesin NT 4.0 yang sama) :
Tabel 1.
Hasil Benchmark
Reading 2.000.000 rows by index
Mysql
mysql_odbc
db2_odbc
Informix_odbc
ms-sql_odbc
oracle_odbc
solid_odbc
sybase_odbc
Seconds
367
464
1206
121126
1634
20800
877
17614
Tabel 2
Hasil Benchmark
Inserting (350768) rows
Mysql
mysql_odbc
db2_odbc
Informix_odbc
ms-sql_odbc
Jurnal Ilmiah Rekam Medis dan Informatika Kesehatan
Seconds
381
619
3460
2692
4012
1
oracle_odbc
solid_odbc
sybase_odbc
11291
1801
4802
Dalam tes diatas, MySQL dijalankan dengan index cache sebesar 8 M. Test diatas
dijalankan dengan mySQL versi 3.23. Tentu hasil tersebut mungkin saja sudah berubah
dengan
perkembangan
SQL
Server
saat
ini.
Dalam pembahasan kali ini, platform yang akan kita gunakan adalah Win32, yaitu Win9x,
W2K, dan WinXP.
INSTALASI mySQL
Setelah mendapatkan mySQL Server (disarankan versi 3.23 karena paling stabil dan
free, dapat di download di http//:www.mysql.com/download), jalankan Setup.exe-nya.
Setelah proses instalasi selesai, jalankan shortcutnya atau jalankan secara manual di (biasanya
mySQL
akan
diinstallkan
di
root
folder,
misalnya
di
"C:\MYSQL\folder_instalasi_mysql\bin\winmysqladmin.exe".
Winmysqladmin
adalah
interface mySQL Server yang mempermudah proses monitoring server. Seperti pada gambar
1 di bawah ini:
Gambar 1.
Jendela Winmysqladmin ver 1.4
Apabila belum pernah menginstallkan mySQL Server ke dalam mesin komputer,
diharuskan memasukkan nama user dan password terlebih dahulu. Masukkan sesuai dengan
keinginan, tetapi disarankan :
Username
: root
Password
: terserah anda
Setelah itu, jendela tersebut akan ke tray secara otomatis. dan. mySQL Server ready
for your service.
KONFIGURASI mySQL
Pada dasarnya, tidak dibutuhkan konfigurasi ulang dengan mySQL Server. Akan
tetapi, jika akan mengkonfiurasi secara manual klik (satu kali saja) di tray (pada ikon
winmysqladmin), lalu pilih "Show Me". Maka jendela seperti Gambar 1 akan muncul
kembali. Kali ini pilih pada tab "my .INI setup" seperti gambar 2.
Gambar 2.
Jendela.INI.Setup
Jika menjalankan mySQL di mesin berbasis NT, maka disarankan pilih (walaupun
biasanya sudah terpilih secara otomatis) "mysqd-nt" pada pilihan server sebelah kiri. Jika
anda menggunakan kelas 9x (95,98, Me) pilih yang "mysqld". Berikut adalah beberapa
keterangan yang ada dalam "my.INI" :
#This File was made using the WinMySQLAdmin 1.4 Tool
#7/12/2003 5:09:49 AM
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=C:/MYSQL
#bind-address=127.0.0.1
datadir=C:/MYSQL/data
#language=C:/MYSQL/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/MYSQL/bin/mysqld-nt.exe
user=root
password
Semua baris yang diawali dengan tanda pagar (#) adalah komentar dan tidak akan
diproses. Perhatikan pada baris terakhir :
user=root
password
Nilai tersebut bervariasi sesuai dengan nilai yang dimasukkan saat diminta untuk
memasukkan username dan password saat pertama kali mySQL dijalankan. Penganturan ini
akan
mengubah
sesuai
yang
diinginkan
pada
baris
tersebut.
Catatan: "root" adalah user default mySQL. Jika menggunakan username tersebut untuk
aplikasi dengan data yang TIDAK PUBLIC, sebaiknya ganti username tersebut dengan nama
lainnya, misalnya "wong_solo" dan berikan passwordnya, lalu pilih Save Modification
untuk menyimpan pengaturan.
SEKILAS TENTANG ODBC
OpenDatabase Connecti- vity (ODBC) adalah antar muka (interface) pemrograman
yang memungkinkan sebuah aplikasi untuk mengakses suatu database dengan sistem
manajemen yang menggunakan Structured Query Language (SQL) untuk mengakses database
tersebut.
Untuk menampilkan daftar ODBC apa saja yang terinstal di mesin komputer adalah
dengan memilih pada "Start Menu" >> Setting, Control Panel, ODBC Drivers untuk Windows
9x dan Setting, Control Panel, Administrative Tools, ODBC Drivers pada mesin NT Family
(W2K, XP, W2003).
INSTALASI ODBC DRIVERS
ODBC
Driver
untuk
mySQL
Server
dapat
didownloads
di
http://www.mysql.com/downloads. Proses instalasi ODBC Driver tersebut sangatlah mudah,
hanya klik Yes dan Next megikuti langkah wizard hingga finish.
Jurnal Ilmiah Rekam Medis dan Informatika Kesehatan
Gambar 3.
Jendela Connection to MySQL
Masukkan
nilai-nilai
berikut
dalam
seting
koneksi
mySQL-Front.
Hostname / IP : localhost (jika server terinstall di mesin, isikan nilai tersebut, jika tidak;
misalnya
ada
di
mesin
lain,
masukkan
IP-nya
misalnya
192.168.0.1).
User : root (username mySQL Server; saat menginstall mySQL untuk pertama kali)
Password : (password mySQL Server). Setelah itu pilih "Connect". Jika pemasukkan nilainilai tersebut dengan benar, pasti jendela interface akan terbuka.
Untuk membuat databasenya dengan cara: klik kanan pada jendela sebelah kiri (daftar
database), lalu klik kanan pada sembarang tempat, maka akan muncul menu popup. Pilih
"Create Database" dan namai sesuka anda. misalnya "proyekmysql" (perhatikan
penggunaan nama dalam mySQL, harus diperhatikan CASE yang dipakai. Memang dalam
Windows "ProyekmySQL" dan "proyekmysql" diartikan sama, akan tetapi dalam lingkungan
unix/linux "ProyekmySQL" dan "proyekmysql" akan diartikan dua hal yang berbeda. Jadi
sebaiknya biasakan menggunakan lowercase saja).
Sekarang pastikan database yang sudah terpilih (USE), pilih tab "Query" lalu copy
script berikut dan paste ke jendela "Query" mySQL-Front.
# mulai copy disini
CREATE TABLE anggota (
kdangg int(11) NOT NULL auto_increment,
nama varchar(50) default NULL,
Jurnal Ilmiah Rekam Medis dan Informatika Kesehatan
alamat mediumtext,
notelp varchar(50) default NULL,
PRIMARY KEY (kdangg)
) TYPE=MyISAM;
# Isi data tabel 'anggota'
INSERT INTO anggota (kdangg, nama, alamat, notelp) VALUES("1", "nobody", "diantara
runput ilalang", "54654654654");
INSERT INTO anggota (kdangg, nama, alamat, notelp) VALUES("2", "somebody",
"somewhere", "84555245");
CREATE TABLE fitur (
kdfitur int(11) NOT NULL auto_increment,
nama varchar(50) default NULL,
ket mediumtext,
kdangg int(11) default NULL,
PRIMARY KEY (kdfitur)
) TYPE=MyISAM;
#selesai script
Pilih tab "Database" lalu klik kanan dan pilih "Refresh". Sekarang Tabel "anggota" dan tabel
"fitur" sudah terbuat.
DASAR PROSES DATA
Pada dasarnya, query pada SQL Server (seperti mySQL, MSSQL, ORACLE dll) tidak
selalu sama. Query yang diproses oleh fungsi SQLEXEC(namakoneksi,"query yang
dilakukan","namacursor") tidak diproses oleh VFP. Jadi untuk query-query yang lebih
lengkap dapat anda dapatkan di Help masing-masing SQL server. Untuk mySQL Server bisa
didapatkan di http://www.mysql.com/documentation.
Berikut sebagian kecil query yang dapat digunakan secara umum (berlaku untuk
masing-masing SQL Server diatas):
1. SELECT namafield FROM namatabel
Syntax ini berfungsi untuk mengambil data dari server dan disimpan kedalam CURSOR
FoxPro. Contoh dalam VFP:
SQLEXEC namakoneksi,"SELECT field1, field2, field3 FROM tabel1", namacursor")
Kalo kamu bermaksud menampilkan data dari tabel (pada kasus diatas bernama "tabel1")
kedalam grid atau listbox misalnya, maka sumber data dari grid atau listbox tersebut adalah
"namacursor". Lihat listing contoh dibawah:
* menampilkan data dari tabel tabel1 kedalam grid
* Procedure cmdTampil.CLICK()
xnama=ALLTRIM(THISFORM.txtnama.VALUE)
THISFORM.grid1.RECORDSOURCE=""
SQLEXEC(kon,"SELECT field1, field2, field3 FROM tabel1 WHERE
field1=?xnama","cursor1")
THISFORM.grid1.RECORDSOURCE="cursor1"
Dalam contoh diatas, data dari tabel1 diambil dan disimpan kedalam tabel sementara atau
CURSOR bernama cursor1. Pengambilan data tersebut di "FILTER" oleh field1 dimana isi
field1 tersebut sesuai dengan textbox yang bernama txtnama.
... FROM tabel1 WHERE field1=?xnama","cursor1")
Jika ingin menampilkan semua datanya, syntax WHERE dihilangkan saja.
Gambar 4
Desain Form
Kode program yang ditambahkan dalam form tersebut adalah :
*Procedure formLoad()
PUBLIC kon1
kon1=SQLCONNECT("kon")
*Procedure formActivate()
thisform.grid1.RecordSource =""
SQLEXEC(kon1,"SELECT nim,nama from tbmhs","cursor1")
thisform.grid1.RecordSource ="cursor1"
thisform.tampil
*Procedure cmdSaveClick()
xnim=ALLTRIM(THISFORM.text1.VALUE)
xnama=ALLTRIM(THISFORM.text2.VALUE)
SQLEXEC(kon1,"INSERT INTO tbmhs(nim,nama) VALUES(?xnim,?xnama)")
thisform.grid1.RecordSource =""
SQLEXEC(kon1,"SELECT nim,nama from tbmhs","cursor1")
thisform.grid1.RecordSource ="cursor1"
*Procedure cmdUpadateClick()
SQLEXEC(kon1,"UPDATE tbmhs SET nama= ?ALLTRIM(thisform.text2.value)
WHERE nim=?ALLTRIM(thisform.text1.value)")
thisform.grid1.RecordSource =""
SQLEXEC(kon1,"SELECT nim,nama from tbmhs","cursor1")
thisform.grid1.RecordSource ="cursor1"
Jurnal Ilmiah Rekam Medis dan Informatika Kesehatan
*Procedure cmdDeleteClick()
SQLEXEC(kon1,"DELETE FROM tbmhs WHERE
nim=?ALLTRIM(thisform.text1.value)")
thisform.grid1.RecordSource =""
SQLEXEC(kon1,"SELECT nim,nama from tbmhs","cursor1")
thisform.grid1.RecordSource ="cursor1"
*Procedure cmdDeleteClick()
SQLEXEC(kon1,"DELETE FROM tbmhs WHERE
nim=?ALLTRIM(thisform.text1.value)")
thisform.grid1.RecordSource =""
SQLEXEC(kon1,"SELECT nim,nama from tbmhs","cursor1")
thisform.grid1.RecordSource ="cursor1"
*Procedure cmdCloseClick()
thisform.Release
*Procedure FormTampil()
SELECT cursor1
thisform.text1.Value=nim
thisform.text2.Value=nama
*Procedure GridAfterRowColChange()
LPARAMETERS nColIndex
thisform.tampil
Hasil program setelah di run adalah seperti gambar berikut ini :
Gambar 5.
Form Dijalankan
Dari contoh sederhana diatas dapat dilihat bahwa sebagian besar kode program masih
menggunakan kode program asli visual foxpro dan beberapa kode program bahasa SQL.
KESIMPULAN
Dari uraian diatas dapat disimpulkan bahwa database mySQL sangatlah mudah untuk
dikoneksikan dengan beberapa platform bahasa pemrograman, salah satunya adalah Microsoft
Visual Foxpro. Hanya dengan memahami bahasa berbasis Struktur Query Language
programmer dapat membuat aplikasi client-server (multi user) yang efektif dan efisien.
Efektif dikarenakan dengan mySQL, akses data lebih cepat tanpa perlu pengaturan sharing
data dalam program seperti jika memakai database Foxpro. Dan efisien dikarenakan Sofware
mySQL, driver dan interface pendukung lainnya bisa didapatkan freeware dari download di
internet.