Anda di halaman 1dari 26

Pengertian Mysql dan PHP

Posted on Agustus 20, 2009 by Download Software Freeware MODUL PELATIHAN PHP oleh : m.irwan.hrp 1. PENDAHULUAN PHP adalah salah satu bahasa pemrograman di Internet. PHP bersifat cepat, gratis dan murah ( gratis ), selain itu PHP mendukung penggunaan database seperti MySQL, PostgreSQL, mSQL, Oracle etc. Untuk dapat menjalankan PHP melalui browser, maka anda diharuskan terlebih dahulu menginstall web server ( misalnya Apache, PWS, IIS ) lalu menginstall PHP, sedangkan untuk menjalankan MySQL anda tidak perlu menginstall web server, hanya saja jika ingin dijalankan melalui browser, maka anda harus menginstall web server. Prosedur penginstallan web server, PHP dan MySQL dapat anda baca pada manual masing masing. Adapun manual dan instalan Apache, PHP maupun MySQL dapat anda cari di http://ftpsearch.itb.ac.id . Jika anda tidak ingin direpotkan dengan prosedur penginstallan PHP, anda dapat menjalankan PHP di direktori public_html anda di s.ee.itb.ac.id. Hal itu dapat dilakukan karena PHP bersifat server side artinya script PHP di jalankan di server, bukan di computer client. Jadi semakin banyak client yang menjalankan script PHP di suatu situs, maka beban yang ditanggung oleh server semakin bertambah. Sintaks sintaks dalam PHP banyak yang sama dengan C++, dalam hal ini penulis tidak memberikan penjelasan penggunaan sintaks sintaks tersebut mengingat para cakru telah memperoleh pengajaran tersebut di dalam kuliah maupun praktikum EL 207 Komputer dan Pemrograman. 2. DASAR PHP PHP dijalankan dalam file berekstensi .php, .php3 atau .phtml, itu tergantung dengan settingan PHP anda, tetapi secara umum ekstensi file PHP adalah .php. Kode PHP menyatu dengan tag tag HTML dalam satu file. Kode PHP diawali dengan tag <? atau <?php dan ditutup dengan ?>. Contoh : <? phpinfo(); ?> Struktur penulisan dalam PHP, sama seperti dalam C++, yaitu setiap pernyataan diakhiri oleh semicolon ( ; ) dan bersifat case sensitive untuk penulisan nama variabel. Cara penulisan komentar dalam PHP juga sama dengan C++. Contoh : <? $nama = divisi komputer hme itb; // Huruf kecil semua $NAMA = DIVISI KOMPUTER HME ITB; // Huruf besar semua print $nama variable menggunakan huruf kecil.<br>; variable menggunakan huruf besar.;print $NAMA ?> 3. TIPE DATA PHP mengenal 5 tipe data yaitu integer, floating point, string, array dan object. Penggunaan tipe data tidak secara ekspilisit di deklarasikan seperti dalam C++.

Contoh : <? // Penggunaan tipe data int, float dan string seta type castingnya $var = 2002 ; // var sebagai integer print Sekarang tahun $var.<br>; $var = dua ribu dua; // var sebagai string print Sekarang tahun $var.<br>; $var = 2002.5; // var sebagai bilangan bulat / float print Tahun $var, ada atau nggak ?; ?> <? // Penggunaan tipe data object class himp { var $divisi = Divkom HME ITB; function ubah($str) { $this->divisi = $str; } } $hme = new himp; print $hme->divisi; print <br>; $hme->ubah(Divisi Komputer HME ITB); print $hme->divisi; ?> Penggunaan tipe data array akan di bahas di bagian operasi array. 4. OPERATOR Dalam PHP terdapat operator artimatika, assignment, bitwise, perbandingan, logika , increment / decrement yang kesemuanya sama dengan C++ dalam cara penggunaannya. 5. PERNYATAAN Dalam PHP juga terdapat conditional statement yang cara penggunaannya sama seperti dalam C++. 6. FUNGSI Dalam PHP, tipe data balikan sebuah fungsi tidak di deklarasikan secara eksplisit seperti dalam C++. Dalam PHP, fungsi tidak perlu dideklarasikan, cukup di definisikan saja. Pendefinisian fungsi dapat diletakkan di awal, tengah, akhir maupun di file lain. Contoh : <? print <form action=$PHP_SELF?action=1 method=post>; print Masukkan Nama Anda : <input type=text name=nama size=25>; print <input type=submit value= OK ></form>; if($action==1) { greet($nama); }

function greet($str) { $date = date(G); if($date<11 && $date>=0)printSelamat Pagi $str; else if($date>=11 && $date<15)print Selamat Siang $str; else if($date>=15 && $date<18)print Selamat Sore $str; else printSelamat Malam $str; } ?> 7. OPERASI ARRAY Deklarasi array : 1. $divisi[3] = {Divkom,Elektron,WS}; 2. $divisi = array(Divkom,Elektron,WS); contoh : count($divisi) menghasilkan nilai 3;Menghitung jumlah elemen array menggunakan fungsi count($array) Mengambil potongan elemen dari suatu array, menggunakan array_slice() array_slice(variable_array,parameter_offset, panjang); variable_array adalah nama variable array yang ingin kita potong. Parameter_offset, jika positif menunjukkan elemen awal pemotongan dihitung dari depan, sedangkan jika negatif di hitung dari belakang ( yaitu urutan ke parameter_offset dari belakang ). Panjang yaitu menentukan panjang elemen yang dipotong. Jika panjang tidak diberikan, maka array dipotong mulai dari nilai elemen yang ditentukan oleh parameter_offset sampai elemen terakhir. 8. OPERASI FILE fopen(nama_file, mode_akses);Membuka File Menutup File fclose(file_pointer) fgets(file_pointer, panjang_string)Membaca Isi File Tag HTML tidak diabaikan fgetss(file_pointer, panjang_string) Mengabaikan tag HTML fputs(file_pointer,string)Menulis ke File feof(file_pointer)Memeriksa apakah pointer telah berada di akhir file Gunakan fungsiKet : mode_akes pada PHP sama dengan mode akses pada C++. $file = fopen(coba.txt,r+w). $file disebut sebagai file_pointer 9. PHP DAN MYSQL Bagian ini tidak membahas tentang MySQL, namun bagian ini membahas pengaturan hubungan antara PHP dan MySQL secara general. Mengenai struktur database, table, field mauoun pengertian querinya diberikan pada modul MySQL. Untuk dapat berhubungan dengan MySQL, PHP harus membuka hubungan ke server MySQL, yaitu dengan mysql_connect(nama_host, nama_user, password); Setelah tersambung, maka user memilih database, yaitu dengan mysql_select_db(nama_database);

Untuk mengeksekusi query query yang ada pada MySQL namun tidak dimiliki oleh PHP digunakan fungsi mysql_query(query); Mengenai query query yang ada, dapat anda lihat dalam modul MySQL. Untuk mengambil hasil query yang dilakukan oleh mysql_query() digunakan fungsi mysql_fetch_row(result_id) atau mysql_fetch_array(result_id) Beda antara mysql_fetch_row() dan mysql_fetch_array() adalah pada mysql_fetch_array() hasil yang diperoleh dalam bentuk array assosiatif. Setelah penggunaan database mysql selesai, maka koneksi diputus dengan menggunakan mysql_close(); MODUL PELATIHAN MySQL oleh : m.irwan.hrp 1. PENDAHULUAN Untuk dapat mengakses database, maka seorang user harus login terlebih dahulu # mysql u nama_user p password : ********** Jika berhasil ada Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 3.23.32 Type help; or \h for help. Type \c to clear the buffer Adapun nama_user dan password di buat oleh root mysql dengan perintah mysql > insert into user(host,user,password) values(localhost,nama_user,password(password); Secara default, privileges yang diberikan kepada user biasa adalah N semua. Jika anda ingin memberikan privileges Y kepada user anda, anda dapat melihat field privileges pada table user. NB : Setiap query diakhiri dengan tanda (;). Jika tanda ( ; ) tidak diberikan, maka MySQL Akan menganggap bahwa query anda belum selesai. 2. DATABASE, TABLE DAN FIELD DASAR Dalam MySQL data disusun dalam suatu database, yang didalamnya terdiri dari beberapa table dan didalam table terdapat beberapa field. _______________DATABASE_____________ ||| TABLE1 TABLE2 TABLE3 /\|/\ FIELD1 FIELD2 FIELD3 FIELD4 FIELD5 Didalam Field itulah entri data kita disimpan Untuk melihat semua database: mysql> show databases; ++

| Database | ++ | chat | | db_hnawri | | irwan00 | | mysql | | questionnare | | radio_kampus | | smun39 | | test | | waterbalance | +- + 9 rows in set (0.00 sec) Terlihat ada 9 buah database. Secara default, database hanya ada 2, yaitu mysql dan test. Misalkan saya ingin menambahkan sebuah database baru bernama database divkom, maka mysql> create database divkom; Query OK, 1 row affected (0.11 sec) Untuk melihat apakah database saya sudah ada, gunbakan kembali query show databases; Setelah database divkom berhasil dibuat, maka kita akan akan membuat table table. Sebelum kita membuat table di dalam database divkom maka kita harus memilih database divkom terlebih dahulu dengan query. mysql> use divkom; Database changed Misalkan akan dibuat table table 1. Table kru yang isinya nama , nim , ttgl, alamat_bdg, telpon_bdg, alamat_libur, telp_libur, skill 2. Table cakru yang isinya nama, nim, email, spesialisasi, nilai, absensi Peintahnya mysql> create table kru(nama varchar(75),nim int(9),ttgl varchar(30),alamat_bdg longtext,telp_bdg varchar(15),alamat_libur longtext,telp_libur varchar(15), skill longtext,id int(3) auto_increment primary key); Query OK, 0 rows affected (0.17 sec) mysql> create table cakru(nama varchar(75),nim int(9), email varchar(50), spesia lisasi varchar(15),nilai int(3), absensi int(3), id int(3) auto_increment primary key); Query OK, 0 rows affected (0.00 sec) Untuk melihat table yang telah kita buat mysql> show tables; +-+ | Tables_in_divkom | +-+ | cakru | | kru | +-+ 2 rows in set (0.00 sec)

Terlihat ada dua table, yaitu cakru dan kru. Tapi kemanakah nama, nim dan sebagainya ? Nama, nim, ttgl, email, dst disebut sebagai field. Untuk melihat field fileds di dalam sebuah table digunakan perintah mysql > show fields from nama_table; Misalkan kita ingin melihat fields dari table kru, maka mysql> show fields from kru; +++++- +- + | Field | Type | Null | Key | Default | Extra | ++- + + +-+- + | nama | varchar(75) | YES | | NULL | | | nim | int(9) | YES | | NULL | | | ttgl | varchar(30) | YES | | NULL | | | alamat_bdg | longtext | YES | | NULL | | | telp_bdg | varchar(15) | YES | | NULL | | | alamat_libur | longtext | YES | | NULL | | | telp_libur | varchar(15) | YES | | NULL | | | skill | longtext | YES | | NULL | | | id | int(3) | | PRI | NULL | auto_increment | ++- + + ++- + 9 rows in set (0.07 sec) untuk mengisi table kru gunakan mysql> insert into kru<nama,nim,ttgl,alamat_bdg,alamat_libur,telp_libur,skill) values(Irwan, 13200166,Jakarta 26 Juli 1982,Cisitu Indah,022 2530877 ,Jakarta,021 8726154,PHP, MySQL, JavaScript, C, C++, FreeBSD, Linux, Ms Windows 2000 Professional); Dengan perintah seperti diatas, anda dapat mengisi sebagian fields saja. Untuk melihat seluruh isi field gunakan mysql > select * from kru; Untuk melihat nama dan nim saja gunakan perintah mysql> select nama,nim from kru; Untuk melihat nama dan nim dari kru yang bernama Irwan gunakan perintah mysql> select nama,nim from kru where nama=Irwan; Untuk melihat nama dan nim dari kru yang rumah aslinya di Jakarta, gunakan perintah mysql> select nama,nim from kru where alamat_libur like %Jakarta%; Query like di gunakan untuk mencari kata yang mirip, sedangkan ( % ) analoginya sama dengan tanda * dalam unix atau windows, yaitu sebagai wildchar character. 3. DATABASE, TABLE DAN FIELD LANJUT 3.1.Menghapus database mysql> drop database divkom; 3.2 Menghapus table kru mysql> drop table kru; 3.3 Menghapus field spesialisasi dalam table cakru; mysql> alter table cakru drop spesialisasi;

3.4 Menambah field spesialisasi dalam table cakru mysql> alter table cakru drop spesialisasi varchar(5); 3.5 Ternyata ukuran data spesialisasi terlalu kecil dan ingin diubah menjadi varchar(25) mysql> alter table cakru modify spesialisasi varchar(25); 3.6 Menghapus semua entri dalam field mysql> delete from kru; 3.7 Menghapus entri dalam field ( misalkan entri yang bernama Irwan saja) mysql> delete from kru where nama=Irwan; DIarsipkan di bawah: Education, Silabus dan Materi | Ditandai: Mysql & Php

Pengertian MySQL
Rabu, 17 Februari 2010 20:00 MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael Monty Widenius. MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain : 1. 1. Portability MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 1. 2. Open Source MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma. 1. 3. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 1. 4. Performance tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 1. 5. Column types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 1. 6. Command dan functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query. 1. 7. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. 1. 8. Scalability dan limits MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 1. 9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 1. 10. Localisation MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya. 1. 11. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 1. 12. Clients dan tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online. 1. 13. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle. MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke yang berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo. Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual secara komersial antara lain: MySQL front, Navicat dan EMS SQL Manager for MySQL.

Kelebihan mysql Kelebihan MySQL Sebagai software database dengan konsep database modern, MySQL memiliki banyak kelebihan.

Protability

MySQL dapat digunakan dengan stabil tanpa kendala, berarti pada berbagai sistem operasi diantaranya seperti Windows, Linux, Mac OS X Server, Solaris, Amiga HP-UX dan masih banyak lagi.

Open source MySQL didistribusikan secara open source di bawah lisensi GPL, sehingga dapat memperoleh menggunakannya secara cuma-cuma tanpa dipungut biaya sepeserpun. Multiuser

MySQL dapat digunakan untuk menangani beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. Hal ini akan memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan dalam waktu yang bersamaan pula.

Performance Tuning

MySQL memiliki kecepatan yang cukup menakjubkan dalam menangani query sederhana, serta mampu memproses lebih banyak SQL persatuan waktu.

Column Types

MySQL didukung tipe kolom(tipe data) yang sangat kompleks.

Command dan Functions

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.

Scalability dan Limits

Dalam hal batas kemampuan, MySQL terbukti mampu menangani database dalam skala yang besar dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tabelnya. Interface Sama halnya dengan software database lainnya, MySQL memiliki interface (antarmuka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface).

Struktur tabel

Struktur tabel MySQL cukup baik, serta cukup fleksibel. Misalnya ketika menangani Alter Table, dibandingkan database lainnya semacam ProgresSQL ataupun Oracle. Diposkan oleh Yan Azmi di 02.10

Kelebihan PHP MySQL dibanding Program Lain


Desember 26, 2007 caranibieros Program VB 1. Program hanya dapat running di Windows. Itupun untuk windows lama, untuk windows terbaru seperti Vista, Visual Basic sangat tidak stabil berjalan di platform tersebut, banyak kantor yang dapat menghubungkan laptop pegawai mereka untuk bergabung dalam sistem jaringan kantor. Bagaimana untuk pengguna Macintosh maupun Linux? Program tidak dapat dijalankan di laptop mereka. Walaupun bisa, program harus diinstall terlebih dahulu menggunakan emulator. 2. Tidak praktis apabila diterapkan pada jaringan komputer. Itu dikarenakan VB adalah program yang berdiri sendiri yang berarti harus diinstalasikan pada tiap komputer pada jaringan tersebut. Bayangkan apabila ada puluhan komputer? berapa lama waktu untuk instalasi dan pemeliharaannya? 3. Aplikasi yang rentan terkena virus, Program yang dibuat menggunakanVisual Basic adalah berupa execution program (*.exe) yang dapat terinfeksi virus seperti virus Sality, program menjadi rusak dan tidak dapat dijalankan. Apabila program terinfeksi tersebut di scan oleh antivirus, program akan dihapus dari sistem, sangat tidak aman untuk sebuah program yang menjadi tulang punggung perusahaan. 4. Gampang hang dan crash, program dari VB seringkali menjadi not responding lalu mati tiba-tiba. 5. Tidak multi user, apabila dalam satu jaringan komputer menggunakan program dalam satu waktu, salah satu user harus mengalah sampai user yang lain selesai menggunakan program Program PHP database MySQL 1. Program dapat running di semua OS, PHP MySQL berjalan secara web base, itu artinya semua operating system yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS tentu saja selalu memiliki web browser, Windows dengan internet explorer, Linux dengan Mozilla, Macintosh dengan Safari, dan Handphone dengan Opera Mini. Sangat mobile dan fleksible. 2. Sangat cocok dan mudah diterapkan pada komputer berjaringan, program PHP MySQL cukup diinstall disalahsatu komputer pada jaringan yang dalam hal ini adalah komputer server, pada komputer client, kita tidak usah menginstalasikan program apapun lagi. Pada komputer client kita cukup mengarahkan web browser ke komputer server dan program dapat langsung running, apabila program error (walau kemungkinan sangat kecil sekali) program cukup di maintenance di pihak komputer server yang terinstalasikan program tanpa harus memaintenance komputer client juga. sangat mudah dan simple 3. Tidak ada virus yang menginfeksi program PHP, sampai saat ini, progrm php belum dapat diinfeksi virus, kebanyakan virus menginfeksi file berekstensi *.exe dan *.dll, sangat awet dan aman. 4. Sangat stabil di semua operating sistem, program PHP walaupun dipakai dalam waktu yang sangat lama tidak akan memberatkan sistem dan tidak akan mempengaruhi komputer untuk berjalan sangat lambat, sangat cocok diterapkan pada komputer yang selalu nyala 24 jam 5. Sangat multi user, program php tidak akan bentrok dengan pengguna lain yang sama-sama menggunakan program dalam satu jaringan.

Tentang MySQL .. Posted by TkJ A Comunity and R3Gen3raTion at 1:13:00 PM . 2.19.2009 label database MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 19941995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klienTcX adalah perusahaan pengembang software dan konsultan database. Kala itu Michael Widenius, atau Monty, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau mini SQL (akan kita kunjungi nanti). Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres (juga akan dibahas sesaat lagi). Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughespembuat mSQLdan ternyata mengetahui bahwa David tengah sibuk mengembangkan versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan. Lahirlah MySQL. Nama MySQL (baca: mai s kju l) tidak jelas diambil dari mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama Mykarena Monty memang aslinya seorang Finlandia. Tapi sebetulnya kalau source code MySQL dilirik, prefiks my memang sudah terbubuhi di mana-manaprefiks ini sering menjadi prefiks umum kalau seseorang membuat kode kustom tersendiri untuk sesuatu. Kalau Anda betul-betul penasaran mana yang benar, mungkin bisa bertanya langsung kepada Monty. MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan di bawah lisensi General Public License, melainkan lisensi khusus yang intinya kurang lebih begini: Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL, atau menyertakan MySQL dalam program komersial lain) Anda harus bayar lisensi. Sementara distribusi Windows MySQL sendiri dirilis secara shareware. Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah software bebas berlisensi GPL. Artinya, Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di bawah lisensi yang sama, yaitu GPL. Kini perusahaan MySQL AB, yang beranggotakan sekitar 10 programer dan 10 karyawan lain itu, memperoleh pemasukan terutama dari jasa konsultasi seputar MySQL. Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagian besar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki dan ditambah fitur demi fiturnyatapi tetap dengan fokus utama pengembangan pada kelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fitur yang opsional. Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis. Contohnya, JOIN sederhana sudah ada, tapi tidak ada HAVINGbaru di bulan Desember ditambahkan. Sudah ada tipe data TIMESTAMP dan kolom autoupdate, tapi tidak ada system-generated number (sequence)baru di akhir 1996 juga ditambahkan modifier kolom AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY memiliki keterbatasan. Dan seterusnya. Barulah di versi-versi akhir 3.22sepanjang 19981999MySQL menjadi semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai di

berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetap memberikan dukungan technical support untuk seri ini.

Apa Sih MySql itu ??


MySQL adalah sebuah system manajemen database. Database adalah sekumpulan data yang terstruktur. Data-data itu dapat suatu daftar belanja yang sangat sederhana sampai ke galeri lukisan atau banyaknya jumlah informasi pada jaringan perusahaan. Untuk menambah, mengakses dan memproses data yang tersimpan pada database komputer, kita membutuhkan manajemen database seperti MySQL. MySQL adalah sebuah system manajemen database yang saling berhubungan. Sebuah hubungan databse dari data yang tersimpan pada table yang terpisah daripada menyimpan semua data pada ruang yang sangat besar. Hal ini menambah kecepatan dan fleksibilitas. Table-tabel tersebut dihubungkan oleh hubungan yang sudah didefinisikan mengakibatkan akan memungkinkan untuk mengkombinasikan data dari beberapa table sesuai dengan keperluan. MySQL adalah Open Source Software. Open Source maksudnya program tersebut memungkinkan untuk dipakai dan dimodifikasi oleh siapa saja. Semua orang bisa mendownload MySQL dari Internet dan memakainya tanpa membayar sepeser pun. Seseorang dapat mempelajari Source Code dan dapat mengubahnya sesuai dengan kebutuhan mereka. MySQL menggunakan GPL (GNU General Public License).

Mengapa Menggunakan MySQL ?


MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan mudah dan cepat.

Kelebihan kelebihan MySQL


=> => => Selain karena Open Source program, MySQL juga memiliki kelebihan-kelebihan yang tak kalah bagusnya dengan Database Server lainnya, seperti SQL server, Sybase bahkan Oracle. Kelebihan-kelebihan itu antara lain : Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dll. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python. Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ). Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.

=>

=> =>

=> => =>

=> Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan HostBased Verifikasi.

Sumber : www.master.web.id

Pencipta

tenteng mySQL
{ October 19, 2009 @ 6:40 am } { Uncategorized }

A. SEJARAH MySQL Pada awalnya, para pencipta MySQL mencoba suatu database server yaitu mSQL (mini Structure Query Language ) untuk menghubungkan table-tabel dengan menggunakan fast-low level ( ISAM ) routine mereka sendiri. Bagaimanapun, setelah beberapa test yang mereka lakukan, mereka berkesimpulan bahwa mSQL tidak begitu cepat dan tidak begitu fleksibel bagi kebutuhan mereka. Hal ini membuat mereka untuk dapat membuat suatu interface SQL baru yang sesuai dengan kebutuhan mereka dengan cara menambahkan atau memodifikasi dari mSQL dan mereka namakan MySQL. Adapun alasan mereka menambahkan kata My pada MySQL sebenarnya masih sebuah misteri bagi mereka sendiri tapi hampir semua libraries dan tools pada direktori mereka memiliki awalan My. Juga nama adiknya Monty ( salah satu pencipta MySQL ) diberi nama My. B. Apa itu MySQL ? - MySQL adalah sebuah system manajemen database. Database adalah sekumpulan data yang terstruktur. Data-data itu dapat suatu daftar belanja yang sangat sederhana sampai ke galeri lukisan atau banyaknya jumlah informasi pada jaringan perusahaan. Untuk menambah, mengakses dan memproses data yang tersimpan pada database komputer, kita membutuhkan manajemen database seperti MySQL. - MySQL adalah sebuah system manajemen database yang saling berhubungan. Sebuah hubungan databse dari data yang tersimpan pada table yang terpisah daripada menyimpan semua data pada ruang yang sangat besar. Hal ini menambah kecepatan dan fleksibilitas. Table-tabel tersebut dihubungkan oleh hubungan yang sudah didefinisikan mengakibatkan akan memungkinkan untuk mengkombinasikan data dari beberapa table sesuai dengan keperluan. - MySQL adalah Open Source Software. Open Source maksudnya program tersebut memungkinkan untuk dipakai dan dimodifikasi oleh siapa saja. Semua orang bisa mendownload MySQL dari Internet dan memakainya tanpa membayar sepeser pun. Seseorang dapat mempelajari Source Code dan dapat mengubahnya sesuai dengan kebutuhan mereka. MySQL menggunakan GPL (GNU General Public License). C. Mengapa Menggunakan MySQL ? MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan mudah dan cepat. D. Kelebihan kelebihan MySQL Selain karena Open Source program, MySQL juga memiliki kelebihan-kelebihan yang tak kalah bagusnya dengan Database Server lainnya, seperti SQL server, Sybase bahkan Oracle. Kelebihan-kelebihan itu antara lain : Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dll. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python. Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.

Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ). Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan Host-Based Verifikasi. 1. Tabel MySQL bukanlah array Programmer PHP atau Perl tentu saja familiar dengan array dan hash, yang biasanya dipakai untuk menyimpan sekumpulan data terkait. Sebagian dari mereka yang tidak familiar dengan MySQL akan cenderung menganalogikan tabel database dengan array/hash (tepatnya, array of array atau array 2 dimensi). Tabel dipandang sama seperti sebuah array, hanya saja bisa berukuran besar sekali dan persisten (disimpan di disk). Cara pandang ini tidak sepenuhnya salah, karena toh dalam mengambil record dari tabel biasanya ditampung ke dalam variabel array/hash. Hanya saja, cara pandang ini kadang-kadang membuat programer PHP melakukan sesuatu seperti: $res = mysql_query(SELECT * FROM t1); $rows = array(); while ($row = mysql_fetch_row($res)) $rows[] = $row; echo Jumlah record di tabel t1 = , count($rows); atau membuat tabel seperti: CREATE TABLE t2 ( f0 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, f1 INT UNSIGNED, f2 VARCHAR(5), f3 VARCHAR(200), f4 VARCHAR(200), f5 BLOB ); Apa yang salah dengan kode PHP pertama di atas, yang bertujuan mencari jumlah record dalam sebuah tabel? Si programer, yang terlalu terobsesi menganggap tabel MySQL sebagai sebuah array, mencoba membangun dulu arraynya dengan mengisi satu-persatu elemen dari hasil query agar nantinya bisa menggunakan fungsi array count(). Masalahnya, bagaimana kalau jumlah record ada 100 ribu? 1 juta? 10 juta? Bukan itu saja, selesai di-count() variabel $rows langsung dibuang lagi! Padahal, ada cara yang jauh lebih efisien: SELECT COUNT(*) FROM t1 Hasil querynya hanyalah sebuah record saja, tak peduli berapa pun ukuran tabel t1. Lalu apa yang salah dengan kode SQL kedua? Si programer Perl, dalam hal ini, terobsesi ingin mengambil tiap record di tabel dengan fungsi DBI $sth->fetchrow_array() @row = $sth->fetchrow_array(); print $row[0]; # f0

print $row[1]; # f1 print $row[2]; # f2 # Enak bukan? Elemen ke-0 berisi nilai field f0, elemen ke-1 field f1, dst. Masalahnya, kemudahan ini mengorbankan nama field yang menjadi sangat tidak deskriptif. Belum lagi kalau tabel perlu diubah dengan menyisipkan field-field lain di antara field yang sudah ada. Atau field-field lama perlu dihapus. Semuanya akan menjadi mimpi buruk. Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP dan Perl yang melakukan kedua hal di atas? Percaya deh, ada. Saya pernah harus ketiban getah memaintain tabel dengan nama field kriptik seperti ini. 2. Bahasa SQL dan Fungsi-Fungsi MySQL MySQL adalah database SQL bukan? Sayangnya, programer PHP pemula kadang terbatas sekali pengetahuan SQL-nya. Padahal, untuk menggunakan database MySQL dengan efektif, ia tidak boleh malas mempelajari bahasa kedua, yaitu SQL. Jika tidak belajar SQL, maka ada kemungkinan Anda akan melakukan hal-hal seperti: $res = mysql_query(SELECT * FROM bigtable); while ($row = mysql_fetch_assoc($res)) { if ($row['age'] >= 40) { echo Ditemukan kustomer yang berusia lebih dari 40 tahun!\n; break; } } Apa salah kode di atas? Si programer PHP mencoba mensimulasikan klausa WHERE SQL dengan melakukan pengujian kondisi di kode PHP. Padahal, yang seharusnya dilakukan adalah: SELECT * FROM bigtable WHERE age >= 40 Ini amat mengirit trafik client/server karena tidak semua record harus dikirimkan dari MySQL ke program PHP Anda. Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP yang seperti ini? Percaya deh, ada. SQL sudah menyediakan cara untuk menyortir data, memformat tampilan, mengelompokkan dan memfilter record, dsb. MySQL juga terkenal banyak menyediakan fungsi-fungsi, mulai dari manipulasi tanggal, angka, string, dsb. Kenali SQL dan fungsi-fungsi MySQL; jangan duplikasikan ini semua di PHP sebab akan lebih efisien jika dilakukan di level MySQL. Ini contoh lain programer PHP yang tidak memanfaatkan fasilitas dari MySQL: $res = mysql_query(SELECT * FROM customers); while ($row = mysql_fetch_assoc($res)) { # format semula yyyy-mm-dd preg_match(/(\d\d\d\d)-(\d\d?)-(\d\d?)/, $row[date], $matches); # dan ingin dijadikan dd/mm/yyyy $tanggal = $matches[3]/$matches[2]/$matches[1]; echo Nama=$row[name], Tanggal lahir=$tanggal \n; }

Padahal MySQL sudah menyediakan fungsi pemformatan dan manipulasi tanggal: $res = mysql_query(SELECT name, DATE_FORMAT(date,%d-%m-%Y) as tanggal . FROM customers); while ($row = mysql_fetch_assoc($res)) { # tidak perlu capek-capek manipulasi string lagi echo Nama=$row[name], Tanggal lahir=$row[tanggal] \n; } Poin no. 2 ini kedengarannya klise, tapi, seperti nasihat Inggris bilang: know thy tools. 3. LIMIT, LIMIT, LIMIT Salah satu alasan mengapa MySQL sangat cocok untuk aplikasi Web adalah mendukung klausa LIMIT. Dengan klausa ini, mudah sekali membatasi jumlah record hasil yang diinginkan dalam satu perintah SQL. Tidak perlu bermain kursor atau bersusah payah lewat cara lainnya. Belakangan database lain seperti PostgreSQL dan Firebird pun ikut mendukung fungsionalitas LIMIT (dengan sintaks yang tidak persis sama tentunya). Sayangnya, programer PHP sendiri yang belum mengenal MySQL dengan baik tidak menggunakannya dengan semestinya. $res = mysql_query(SELECT name FROM users ORDER BY date); $rows = array(); for ($i=1; $i nilai tertentu). [Catatan: ada indeks lain yang tidak biasa di MySQL, yaitu FULLTEXT. Tapi ini di luar cakupan artikel kita kali ini.] * Field jenis kelamin mungkin tidak perlu diindeks, kecuali jika perbandingan pria:wanita amat drastis bedanya. Mengapa? Sebab: 1) rentang nilai yang ada hanyalah dua: L (lelaki) dan P (perempuan). Meskipun Anda beri indeks, tidak akan memperbaiki kinerja. 7. Konkurensi, Locking, dan Transaksi Programer web pemula kadang-kadang tidak menyadari bahwa program/skrip yang dibuatnya tidaklah seperti program desktop yang dijalankan oleh satu user. Melainkan, dalam satu waktu bisa saja ada 10 atau 100 user yang menembak skrip Anda di Web. Karena itu, isu locking dan konkurensi penting sekali. Contohnya adalah seperti ini: $res = mysql_query(SELECT value FROM counters WHERE name=counter1); list ($value) = mysql_fetch_row($res); $value++; // do something else first $res = mysql_query(UPDATE counter SET value=$value WHERE name=counter1); Di antara baris pertama (saat kita mengambil nilai record) dan baris keempat (saat kita menaruh kembali nilai dalam record) mungkin saja telah terjadi beberapa kali perubahan terhadap si record. Misalnya, pada baris pertama klien1 memperoleh nilai $value = 100. Di baris 3 $value di-increment menjadi 101. Tapi apa yang terjadi jika selama selang waktu itu nilai record counter1 telah menjadi 103 (karena misalnya klien2, klien3, dan klien4 telah meng-incrementnya)? Oleh si klien1, counter1 direset kembali menjadi 101 dan akibatnya increment oleh klien2, klien3, dan klien4 hilang. Seharusnya nilai counter1 menjadi 104. Untuk kasus di atas, pemecahannya cukup gampang. Lakukan increment secara atomik: // tidak perlu ambil nilai counter dulu

// do something else first $res = mysql_query(UPDATE counter SET value=value+1 WHERE name=counter1); Tapi dalam kasus lain, kadang-kadang kita harus melakukan locking terhadap tabel atau record untuk menjamin bahwa selama kita // do something else klien2, klien3, dan klien4 tidak bisa seenaknya menaikkan nilai counter: mysql_query(LOCK TABLES cuonters); $res = mysql_query(SELECT value FROM counters WHERE name=counter1); list ($value) = mysql_fetch_row($res); // do something else first increase value or something $res = mysql_query(UPDATE counter SET value=$value WHERE name=counter1); mysql_query(UNLOCK TABLES); atau (lebih baik karena kita tidak perlu melock keseluruhan tabel): mysql_query(SELECT GET_LOCK(lock1)); $res = mysql_query(SELECT value FROM counters WHERE name=counter1); list ($value) = mysql_fetch_row($res); // do something else first increase value or something $res = mysql_query(UPDATE counter SET value=$value WHERE name=counter1); mysql_query(SELECT RELEASE_LOCK(lock1)); Ingat, locking dapat berakibat samping yaitu deadlock. Transaksi. Transaksi pun sesuatu yang dipergunakan secara meluas di dunia database, tapi hampir tidak pernah kita jumpai di bahasa pemrograman (ini karena data di bahasa pemrograman ditaruh dalam variabel di memori semua; tidak ada isu disk yang crash/lambat/rusak/harus disinkronkan dengan data di memori). Karena itu Anda perlu memahami konsep ini dari buku-buku tentang database. 8. Jenis Tabel Di MySQL dikenal istilah table handler dan jenis tabel. Saat ini ada 3 jenis tabel utama yang bisa dipakai di MySQL: MyISAM (default), BerkeleyDB, dan InnoDB. Yang perlu diketahui ada tiga hal: 1) tidak semua tabel mendukung transaksi (MyISAM tidak mendukung transaksi, jadi COMMIT dan ROLLBACK tidak melakukan sesuatu yang semestinya jika Anda menerapkan pada tabel MyISAM); 2) tidak semua tabel punya karakteristik performance yang sama (BerkeleyDB misalnya, lambat jika ukuran tabel besar) dan disimpan dengan cara yang sama (tabel MyISAM misalnya disimpan dalam 3 file: .MYI, .MYD, .frm sementara tabeltabel dan database-database InnoDB disimpan bersama dalam daerah disk yang disebut tablespace; 3) distribusi MySQL yang bukan -Max tidak dikompile dengan dukungan terhadap BerkeleyDB dan InnoDB. Nomor 3 penting Anda ketahui karena jika kita menginstruksikan MySQL untuk membuat database dengan jenis tertentu: CREATE TABLE () TYPE=BDB; Dan MySQL tidak dikompile untuk mendukung BerkeleyDB, maka MySQL tidak akan protes dengan error, melainkan membuatkan tabel tersebut untuk kita tapi dengan tipe default yaitu MyISAM. Jadi Anda perlu mengecek dulu menggunakan SHOW TABLE STATUS: mysql> create table t4 (i int) type=innodb; Query OK, 0 rows affected (0.00 sec) mysql> show table status from mydb like t4; +++- | Name | Type |

+++- | t4 | MyISAM | +++-

DBMS MySQL
ANDREY04 APRIL 2010

Database Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) database disebut sistem manajemen database (Database Management System, DBMS). Sistem database dipelajari dalam ilmu informasi. Istilah "database" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai database komputer. Catatan yang mirip dengan database sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari database adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu database, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai model database atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah database mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen database (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah database untuk kedua arti tersebut. DBMS (DataBase Management System)

DBMS adalah sekumpulan program komputer yang mengendalikan pembuatan, perawatan, dan penggunaan sebuah organisasi database dengan menggunakan komputer sebagai platform. DBMS memungkinkan pengembangan database oleh seorang yang disebut sebagai database administrators (DBAs) dan specialis lainnya. DBMS adalah sebuah paket software sistem yang membantu pengelolaan koleksi record data dan file terintegrasi yang disebut sebagai database. DBMS memungkinkan pengguna program aplikasi yang berbeda untuk dengan mudah mengakses database yang sama. DBMS menggunakan berbagai macam model database, seperti network model atau relational model. Dalam sistem yang besar, DBMS bisa digunakan user dan software lain untuk menyimpan dan mengambil data dalam sebuah cara yang terstruktur. Pengguna bisa meminta informasi dengan pertanyaan sederhana dalam sebuah bahasa query, daripada menggunakan program untuk mengekstrak informasi. Oleh karenanya, banyak paket DBMS menyediakan Bahasa Pemrograman Generasi Keempat (Fourth-generation programming language - 4GLs) dan fitur pengembangan aplikasi lain. DBMS membantu menentukan organisasi logis, akses dan penggunaan informasi dalam sebuah database. DBMS menyediakan fasilitas untuk pengendalian akses data, menjaga integritas data, mengelola concurrency terkontrol, dan memulihkan database.

Sistem manajemen database (Bahasa Inggris: database management system, DBMS), atau kadang disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu database dan menjalankan operasi terhadap data yang diminta banyak pengguna. Contoh tipikal SMBD adalah akuntansi, sumber daya manusia, dan sistem pendukung pelanggan, SMBD telah berkembang menjadi bagian standar di bagian pendukung (back office) suatu perusahaan. Contoh SMBD adalah Oracle, SQL server 2000/2003, MS Access, MySQL dan sebagainya. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumah yang besar. DBMS juga dirancang untuk dapat melakukan manipulasi data secara lebih mudah. Sebelum adanya BMS maka data pada umumnya disimpan dalam bentuk flatfile, yaitu file teks yang ada pada sistem operasi. Sampai sekarangpun masih ada aplikasi yang menyimpan data dalam bentuk flat secara langsung. Menyimpan data dalam bentuk flat file mempunyai kelebihan dan kekurangan. Penyimpanan dalam bentuk ini akan mempunyai manfaat yang optimal jika ukuran filenya relatif kecil, seperti file passwd. File password pada umumnya hanya digunakan untuk menyimpan nama yang jumlahnya tidak lebih dari 1000 orang. Selain dalam bentuk flat file, penyimpanan data juga dapat dilakukan dengan menggunakan program bantu seperti spreadsheet. Penggunaan perangkat lunak ini memperbaiki beberapa kelemahan dari flat file, seperti bertambahnya kecepatan dalam pengolahan data. Namun demikian metode ini masih memiliki banyak kelemahan, diantaranya adalah masalah manajemen dan keamanan data yang masih kurang. Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya : 1. Performance yang didapat dengan penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori 2. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redundansi sering terjadi dalam DBMS. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan. 3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS. 4. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. kemudahan di dalam melakukan bagi pakai dengan DBMS dan juga kekonsistenan data yang diakses secara bersama-sama akan lebih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar. 5. Sekuritas. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna. Telah diketahui bahwa secara fisik data dalam bentuk kumpulan bit dan direkam dengan basis track didalam media penyimpan eksternal. Dalam prakteknya, untuk kemudahan dalam mengakses data, data disusun dalam suatu struktur logis yang menjelaskan bahwa: 1. 2. 3. 4. Kumpulan tabel menyusun basis Tabel tersusun atas sejumlah Sebuah record mengandung sejumlah field, Sebuah field disimpan dalam bentuk kumpulan masing-masing istilah diatas adalah seperti data, record, dan bit. berikut:

Pengertian

a. Field (medan) menyatakan data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh field yaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang. b. Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris. c. Tabel menghimpun sejumlah record. Sebagai contoh, data pribadi dari semua pegawai disimpan dalam sebuah tabel. d. Basis data (database) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Sebagai contoh, basis data akademis mengandung tabeltabel yang berhubungan dengan data mahasiswa, data jurusan, data mata kuliah, data pengambilan mata kuliah

pada Keuntungan

suatu

semester, menggunakan

dan DBMS

nilai antara

yang lain

diperoleh sebagai

mahasiswa. berikut :

1. Independensi data DBMS menyediakan pendekatan yang membuat perubahan dalam data tidak membuat program harus diubah. 2. Pengaksesan yang efisien terhadap data DBMS menyediakan berbagai teknik yang canggih sehingga penyimpanan dan pengambilan data dilakukan secara efisien. 3. Keamanan dan integritas data Karena data dikendalikan oleh DBMS, DBMS dapat melakukan kendala integritas terhadap data. Segala sesuatu yang tidak sesuai dengan definisi suatu field dan kekangan yang melekat pada field akan ditolak. Sebagai contoh, jika field Jenis_Kelamin dinyatakan berupa P atau W, maka penyimpanan L ke field tersebut dengan sendirinya akan ditolak oleh DBMS. 4. Administrasi data Jika sejumlah pemakai berbagi data, pemusatan administrasi dapat meningkatkan perbaikan yang sangat berarti. Dengan cara seperti ini, duplikasi atau redudansi data dapat diminimalkan 5. Akses bersamaan dan pemulihan terhadap kegagalan DBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang dalam waktu yang sama. Selain itu, DBMS melindungi pemakai dari efek kegagalan sistem. Jika terjadi kegagalan sistem, DBMS dapat mengembalikan data sebagaimana kondisi saat sebelum terjadi kegagalan. 6. Waktu pengembangan aplikasi terpendek DBMS menawarkan banyak fasilitas yang memudahkan dalam menyusun aplikasi sehingga waktu pengembangan aplikasi dapat diperpendek.

MySQL

MySQL merupakan salah satu jenis software DBMS yang bersifat Open Source. Dengan Open Source ini berarti secara otomatis menyertakan kode sumber yang bisa didapat dengan download secara gratis di internet. MySQL pada awalnya dibuat oleh sebuah perusahaan konsultan bernama TcX yang berlokasi di Swedia, kemudian beralih ke perusahaan MySQL AB. Dari MySQL AB beralih ke Sun Microsystems, yang sejak 27 Januari 2010 telah menjadi perusahaan bagian dari Oracle Corporation berdasarkan perjanjian tanggal 20 April 2009. MySQL dibuat dengan C dan C++. Parser SQL menggunakan yacc dan home-brewed lexer, sql_lex.cc. MySQL berjalan pada banyak platform sistem yang berbeda, termasuk AIX, BSDi, FreeBSD, HP-UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64 dan Microsoft Windows. Ada juga port MySQL untuk membuka OpenVMS. Semua bahasa pemrograman utama dengan API khusus bahasa memasukkan pustaka untuk mengakses database MySQL. Sebagai tambahan sebuah antar muka ODBC, MyODBC membolehkan penambahan bahasa pemrograman yang mendukung antarmuka ODBC untuk berkomunikasi dengan database MySQL, seperti ASP atau ColdFusion. Server MySQL dan pustaka resmi hampir semua diimplementasikan dalam ANSI C / ANSI C++. MySQL 1. 2. sebagai salah satu DBMS cepat Dukungan memiliki keunggulan dan dan fitur-fitur mudah sebagai berikut :

Handal,

digunakan. SQL.

3. Multiplatform dan portable. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 4. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 5. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 6. 'Performance Tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 7. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 8. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 9. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 10. Skalabilitas dan Pembatasan. MySQL mampu menangani database dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 11. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 12. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya. 13. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 14. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi database, dan pada setiap peralatan yang ada disertakan petunjuk online. 15. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.

Kelemahan

MySQL

Kelemahan MySQL dari dulu sampai sekarang itu adalah 'feature-creep', artinya MySQL berusaha kompatibel dengan beberapa standard serta berusaha memenuhinya. Sampai sini terdengar bagus, namun kalau diungkapkan kenyataannya bahwa fitur-fitur itu belum lengkap dan berperilaku sesuai standar.

Diagram

DBMS

MySQL

Kesimpulan DBMS (DataBase Management System) dapat mengendalikan pembuatan, perawatan, dan penggunaan sebuah organisasi database dengan menggunakan komputer sebagai platform. DBMS memungkinkan pengembangan database oleh seorang yang disebut sebagai database administrators (DBAs) dan specialis lainnya.Adapun sistem manajemen database atau kadang disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu database dan menjalankan operasi terhadap data yang diminta banyak pengguna. SMBD telah berkembang menjadi bagian standar di bagian pendukung (back office) suatu perusahaan. Salah satu contohnya yaitu MySQL. MySQL merupakan salah satu jenis software DBMS yang bersifat Open Source. Dengan Open Source ini berarti secara otomatis menyertakan kode sumber yang bisa didapat dengan download secara gratis di internet. MySQL mempunyai kelebihan yaitu handal, cepat dan mudah digunakan selain itu juga Multiplatform dan portable dan banyak lagi kelebihan bagi penggunaan MySQL. Adapun kelemahan MySQL yaitu 'feature-creep', artinya MySQL berusaha kompatibel dengan beberapa standard serta berusaha memenuhinya. Sampai sini terdengar bagus, namun kalau diungkapkan kenyataannya bahwa fitur-fitur itu belum lengkap dan berperilaku sesuai standar.

Referensi: Kadir, Abdul, Tuntunan Praktis: Belajar Database Menggunakan MySQL, Penerbit ANDI, 2008. Simarmata, Janner; Paryudi, Imam, database, Penerbit ANDI, 2006. http://en.wikipedia.org/wiki/Dbms http://id.wikipedia.org/wiki/Sistem_manajemen_basis_data http://id.wikipedia.org/wiki/Basis_data http://www.lautanindonesia.com/forum/pemrograman/tanya-mysql-donk/5/?wap2

[Ask] Apa saja kelemahan MySQL?


Dear senior-senior programmer, ane nubi sedang mengalami kesulitan.. Mohon petunjuknya

ya.. Jadi aku berencana memakai produk Open Source utk project-project freelance pribadi (maklum dompet masih tipis jadi butuh dana tambahan). Dan salah satu pilihan database jatuh ke MySQL.

Untuk development aku rasa ga ada masalah, tapi yang jadi concern ku adalah setelah deployment ke user takutnya Database MySQL ini ada limitasi / batasannya. Bisa tolong share dimari gak? Pengalaman-pengalaman yang sudah pakai MySQL ini, apakah ada batasan seperti maksimum transaksi per hari ataupun maksimum Database file nya (mungkin max 2GB atau gmn gitu)..

Thanks before

Summary: (diambil dari analisa pendapat para master disini.. jika tulisan ane salah,
mohon kritik dan pembetulannya gan..)

MySQL
Link utk MySQL Comm Server : Download Link Link utk MySQL Cluster : Download Link Kelebihan: Free Ringan untuk query sederhana Cepat Populasinya banyak Tidak perlu DBA utk maintain Tidak ada batasan size data growth

Kekurangan: Lambat untuk query yang kompleks seperti LEFT JOIN yang banyak, dan penggunaan SubQuery Belum mendukung Windowing Function (Penjelasan)

PostGre SQL
Link utk PostGre SQL versi 8.4 OS Windows: Download Link Link utk PostGre SQL versi 8.3 OS Linux: Download Link Kelebihan: Free Lebih stabil dari MySQL untuk query kompleks spt LEFT JOIN yg banyak dan subquery Mendukung Windowing Function (Penjelasan) Cepat Mendukung penggunaan bahasa PL SQL yang mirip Oracle Tidak ada batasan size data growth

Kekurangan: Lebih lambat dari MySQL untuk query sederhana

Anda mungkin juga menyukai