net/publication/317210979
CITATIONS READS
4 1,045
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Didik Dwi Prasetya on 10 May 2020.
1
membantu. Selain itu juga tersedia mailing list dan homepage khusus
yang memberikan tutorial serta dokumentasi lengkap.
2
Open Source
MySQL di distribusikan secara open source (gratis), di bawah lisensi
GPL sehingga Anda dapat menggunakannya secara cuma-cuma
tanpa dipungut biaya sepeser pun.
Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik. Hal ini
memungkinkan sebuah database server MySQL dapat di akses client
secara bersamaan.
Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani
query sederhana, dengan kata lain dapat memroses lebih banyak
SQL per satuan waktu.
Column Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed/unsigned integer, float, double, char, varchar, text, blob,
date, time, datetime, timestamp, year, set serta enum.
Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah SELECT dan WHERE dalam query.
Security
MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama host, dan izin akses user dengan sistem
perizinan yang mendetail serta password terenkripsi.
Scalability dan Limits
MySQL mampu menangani database dalam skala besar, dengan
jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar
baris. Selain itu, batas indeks yang dapat ditampung mencapai 32
indeks pada tiap tabelnya.
Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan
protokol TCP/IP, Unix soket (Unix), atau Named Pipes (NT).
3
Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada client
dengan menggunakan lebih dari dua puluh bahasa. Meski demikian,
bahasa Indonesia belum termasuk di dalamnya.
Interface
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi
dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programing Interface).
Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan
untuk administrasi database, dan pada setiap tool yang ada
disertakan petunjuk online.
Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan database lainnya semacam
PostgreSQL ataupun Oracle.
4
Seiring dengan perkembangannya, MySQL mulai banyak di lirik
pengguna database non-web. Apa sebabnya? Karena selain handal di
platform web, MySQL juga telah memenuhi syarat sebagai database
desktop. Terbukti banyaknya pengguna database seperti Yahoo! Finance,
perusahaan sekuritas Jepang Aizawa bahkan Badan Antariksa Amerika
Serikat, NASA menggunakan MySQL untuk mengelola data keuangan dan
transaksi bisnisnya. Lebih lengkapnya, Anda dapat mengunjungi
http://www.mysql.com untuk menyimak perkembangan terakhir
produk dan profil pengguna MySQL.
Full Join
Penambahan fitur pada versi 4.1
Full Join adalah pengambilan data pada lebih dari satu tabel yang saling
berhubungan tanpa menggunakan index. Normalnya untuk
mendapatkan join dengan cepat maka memerlukan suatu index.
Stored Procedure
Penambahan fitur pada versi 5.0
Stored Procedure merupakan sekumpulan pernyataan SQL yang
ditempatkan pada server untuk di eksekusi. Dengan menggunakan
stored procedure akan dapat meningkatkan kecepatan, karena database
5
server terlebih dahulu akan melakukan perhitungan yang paling efisien
sebelum menjalankan stored procedure.
View
Penambahan fitur pada versi 5.0
View merupakan objek database seperti tabel namun secara fisik tidak
memiliki data. Oleh karena itu view juga disebut sebagai virtual table
atau tabel palsu. Meski demikian view juga dapat di SELECT
sebagaimana layaknya sebuah tabel.
Cursor
Penambahan fitur pada versi 4.1
Cursor memungkinkan query select menjadi nama dan individual untuk
mendapatkan kembali hasil baris yang dibutuhkan oleh client.
Trigger
Penambahan fitur pada versi 5.0
Trigger berfungsi untuk memeriksa nilai dalam suatu record sebelum
record tersebut disimpan dalam tabel, dengan kata lain trigger
memanggil suatu fungsi pada saat setiap record mengalami perubahan.
6
konfigurasi kedua sistem operasi tersebut akan dibahas secara rinci
nantinya.
Buku ini tidak membahas mengenai konsep-konsep database secara
mendalam, akan tetapi lebih memfokuskan pada pengelolaan atau
administrasi database. Sehingga bagi Anda yang masih pemula dan
awam dengan database, dapat mencari referensi dari buku-buku lain.
Jika Anda benar-benar ingin mematangkan konsep-konsep database.
Selain itu, jika Anda baru belajar MySQL, disarankan untuk mempelajari
buku ini dari bab awal, karena bab-bab selanjutnya sangat berkaitan.
Dengan demikian, Anda akan merasa mudah dalam memahami isi buku
ini.
Bagi Anda yang sudah paham dengan dasar-dasar MySQL, Anda dapat
langsung mempelajari materi yang lebih spesifik tentang administrasi
user, backup dan recovery, performance tuning dan security database.
Pada bagian terakhir, yaitu Bab Lampiran, Anda akan dituntun cara
melakukan administrasi database MySQL menggunakan phpMyAdmin
serta MySQL-Front. Kedua tool tersebut tidak akan disertakan ketika
Anda menginstal MySQL, sehingga Anda perlu melakukan instalasi serta
konfigurasi sendiri.
7
BAB
2 Instalasi dan Konfigurasi
Pada bab ini akan kita bahas secara lengkap urutan instalasi MySQL baik
pada sistem operasi Linux maupun yang sudah di porting pada Windows.
Untuk pembahasan pada buku ini, penulis menggunakan Windows 2000
Professional dan Linux Redhat 7.2. Tetapi bagi Anda yang masih setia
menggunakan keluarga Windows 9x tidak perlu cemas, karena Anda juga
bisa menggunakan Windows 95/98/Me untuk menginstal MySQL.
Selain itu juga akan dibahas langkah-langkah yang harus dilakukan
setelah proses instalasi berjalan dengan baik. Pembahasan itu meliputi
konfigurasi dan cara mengakses MySQL Server pada kedua sistem
operasi tersebut.
8
Jika Anda berada dalam lingkungan Windows, Anda dapat menggunakan
paket installer dalam bentuk zip. Sedangkan pada Linux paket aplikasi
ini lebih mudah didapatkan, karena telah disertakan pada CD installer
Linux, meski juga tersedia aplikasi dari source code-nya.
Paket aplikasi yang Anda perlukan untuk instalasi pada Linux adalah:
mysql-3.23.41-1
mysql-devel-3.23.41-1
mysql-server-3.23.41-1
mysqlclient9-3.23.22-6
9
Gambar 2.1 Tampilan saat setup.exe dijalankan
10
Gambar 2.3 Tampilan kotak dialog Information
11
5. Selanjutnya akan muncul kotak dialog Setup Type seperti Gambar
2.5, pilih Typical, kemudian klik Next.
12
7. Setelah proses instalasi selesai, akan muncul kotak dialog konfirmasi
Setup Complete seperti Gambar 2.7. Hal itu menandakan bahwa
proses instalasi telah berhasil dengan baik. Klik Finish untuk
mengakhiri MySQL Servers and Clients 4.0.0-alpha Setup.
13
Berikut langkah-langkah menginstal MySQL pada Linux:
1. Masukkan CD kedua Linux Redhat pada CD-ROM, dan akan di mount
secara otomatis oleh Redhat.
2. Jalankan GnoRPM dengan menekan logo GNOME pada pojok kiri
bawah, lalu pilih System > GnoRPM. Kemudian akan muncul
tampilan seperti Gambar 2.8.
3. Kemudian klik tombol Install, dan akan muncul kotak dialog Install
seperti Gambar 2.9.
14
Gambar 2.9 Tampilan kotak dialog Install
15
2.3 Konfigurasi MySQL Server
Konfigurasi ini sangat diperlukan ketika Anda ingin melakukan
administrasi seperti backup database, mengoptimalkan kerja server
serta mengaktifkan tool-tool MySQL. Konfigurasi utama MySQL terletak
pada dua buah file, yaitu my.ini dan my.cnf.
Normalnya, Anda hanya perlu memilih salah satu dari kedua file tersebut
di atas. Jadi ketika Anda telah melakukan konfigurasi pada my.ini, Anda
tidak perlu lagi melakukan konfigurasi yang sama pada my.cnf. Hanya
saja, di sini kita akan menggunakan my.cnf untuk konfigurasi nantinya,
karena pada file tersebut sudah ada contoh-contoh konfigurasi yang
diperlukan.
[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=test
password=terserah
16
File my.ini, berisi informasi direktori utama MySQL, direktori data, jenis
server yang digunakan dan nama user beserta password ketika MySQL
pertama kali dijalankan. Misalnya ketika Anda melakukan perubahan
pada jenis server, maka perubahan tersebut akan langsung di simpan
dalam file ini. Anda cukup memahami fungsi file ini terlebih dahulu,
mengenai cara perubahan MySQL Server akan dijelaskan nanti pada Bab
10.
17
menjalankan file ini sekali saja, karena untuk selanjutnya MySQL akan
dijalankan secara otomatis begitu Anda masuk pada Windows.
Jika Anda baru pertama kali menginstal MySQL, setelah Anda
menjalankan file aplikasi ini, akan muncul tampilan WinMySQLadmin
Quick Setup seperti Gambar 2.11.
Anda wajib mengisikan User name dan Password di atas, untuk proses
pembuatan file my.ini. Jika Anda mengabaikannya maka konfigurasi
my.ini tidak akan mendeteksi direktori utama dan direktori database
MySQL. Walaupun sebenarnya pengisian user name dan password di
atas hanya sebuah syarat untuk membuat file my.ini.
Pada pengisian form tersebut, Anda boleh sembarang mengisi karena
tidak akan dipakai untuk seterusnya. Perlu Anda ketahui, administrasi
user MySQL terletak pada user root dan akan kita bahas nanti pada Bab
4. Seperti terlihat pada tampilan di atas, misalnya kita memberikan user
name test dengan password terserah, lalu klik OK.
Sampai di sini Anda sudah berhasil menjalankan MySQL server, dengan
di tandai munculnya ikon mirip lampu traffic pada pojok kanan bawah
yang menyala hijau.
18
Untuk menguji konfigurasi, lakukan tes koneksi pada MySQL Server
dengan langkah-langkah seperti berikut:
19
1. Buka Start Menu > Settings > Control Panel > Administrative
Tools, lalu klik dua kali pada Services. Sehingga akan muncul
tampilan seperti Gambar 2.12.
20
Gambar 2.13 Tampilan konfigurasi MySql Properties
21
2.4.2 Mengakses MySQL pada Linux
Pada sistem operasi Linux, setelah Anda selesai melakukan instalasi
MySQL, maka akan dimasukkan file eksekusi bernama mysqld pada
direktori /etc/rc.d/init.d. File eksekusi atau daemon ini berfungsi untuk
menjalankan, menghentikan dan merestart MySQL Server.
Anda tidak perlu cemas, pesan di atas menandakan MySQL Server tidak
dapat melakukan koneksi, karena Anda belum menjalankan servernya.
Untuk menjalankan MySQL Server pada Linux, lakukan langkah-langkah
berikut:
1. Cari daemon mysqld dengan masuk pada direktori
/etc/rc.d/init.d, seperti perintah berikut:
22
[root@localhost init.d]# mysql
23
Agar MySQL Server dapat dijalankan secara otomatis, sehingga setiap
Anda menghidupkan komputer, daemon mysqld juga ikut di-boot secara
otomatis, Anda perlu melakukan konfigurasi pada program ntsysv.
Untuk itu lakukan langkah-langkah seperti berikut:
1. Masuk pada shell atau terminal dengan login sebagai root,
seperti perintah berikut:
[root@localhost didik]#
24
5. Kemudian pilih daemon mysqld, yang merupakan daemon
MySQL Server. Untuk menjalankan layanan ini secara otomatis,
berikan tanda bintang dengan menekan spasi.
6. Setelah itu, klik Ok untuk menutup program ntsysv.
25
BAB
3 Perintah Dasar SQL
26
Memasukkan atau menambahkan record baru kedalam
database.
Mengeksekusi query database.
Mengambil data dari database.
Mengubah record pada database.
Menghapus record pada database.
Setelah database aktif, kemudian buat sebuah tabel dengan nama sobat,
perhatikan contoh berikut:
27
Perintah di atas akan membuat sebuah tabel dengan nama sobat, yang
berisi kolom id dengan tipe integer dengan panjang 2 karakter, nama
tipe char dengan panjang 30 karakter, alamat tipe char panjang 20
karakter dan usia tipe integer panjang 2 karakter.
Kemudian isikan data-data berikut ke dalam tabel sobat, gunakan
perintah seperti berikut:
Jika semua perintah di atas selesai Anda kerjakan, maka dalam tabel
sobat telah terisi enam buah record.
28
Menampilkan Semua Kolom
Anda dapat menampilkan seluruh data yang ada pada tabel sobat dengan
menggunakan perintah berikut:
29
Perintah di atas hanya akan menampilkan data pada kolom nama dan
alamat yang ada pada tabel sobat.
DISTINCT
DISTINCT dipergunakan untuk menghindari pengulangan (redundant)
data pada kolom yang di inginkan. Perintah ini tidak akan menampilkan
lagi data-data yang memiliki nilai sama. Perhatikan contoh berikut:
Pada contoh di atas, terlihat data dalam kolom alamat yang ditampilkan
menggunakan perintah DISTINCT. Meskipun sebenarnya ada beberapa
data yang memiliki nilai sama, akan tetapi hanya ditampilkan sekali saja.
LIMIT
Apabila Anda memiliki data dalam jumlah banyak, Anda dapat
menggunakan LIMIT untuk membatasi data yang ditampilkan. Klausa ini
memudahkan Anda dalam melihat data yang berjumlah banyak, dan
dengan batas tertentu yang Anda sukai.
Untuk memperjelas pemahaman Anda, lakukan perintah seperti contoh
berikut ini:
30
Perintah di atas akan menampilkan data yang di mulai dari baris
pertama sampai baris ketiga. Kemudian untuk menampilkan data
selanjutnya, lakukan perintah berikut:
31
Sedangkan untuk menampilkan data secara descending, perhatikan
contoh berikut:
32
Pada kedua contoh di atas, terlihat data yang ditampilkan hanyalah data
yang sesuai dengan kriteria yang ditentukan saja.
Operator Logika
Operator logika digunakan untuk menggabungkan beberapa kondisi
dalam perintah query. Untuk lebih jelasnya, perhatikan contoh-contoh
seperti berikut:
BEETWEEN
BETWEEN digunakan untuk memberikan batas data pada suatu kolom di
dalam tabel. Perhatikan contoh berikut:
33
Hasil query di atas, akan menampilkan data dengan usia yang memenuhi
batas yang ditentukan.
LIKE
LIKE digunakan untuk mencari data dengan kriteria tertentu. Untuk
lebih jelasnya, perhatikan contoh berikut:
34
3.3 Fungsi Agregate
Fungsi agregate merupakan suatu fungsi untuk menghitung sejumlah
nilai dalam suatu tabel. Berikut ini adalah fungsi-fungsi agregate yang
dapat Anda gunakan:
Fungsi SUM( )
Anda dapat mengetahui jumlah nilai pada suatu kolom dengan
menggunakan fungsi ini. Misalnya Anda ingin mengetahui jumlah
keseluruhan usia pada tabel sobat. Untuk itu, lakukan perintah seperti
contoh berikut:
35
Fungsi AVG( )
Anda dapat menghitung nilai rata-rata dari kolom usia dengan
menggunakan fungsi ini. Perhatikan contoh berikut:
Fungsi MAX()
Fungsi ini digunakan untuk mencari nilai maksimal pada suatu kolom.
Misalnya kita ingin mencari nilai maksimal dari kolom usia, perhatikan
contoh perintah berikut:
Fungsi MIN()
Sedangkan untuk mengetahui nilai minimal, Anda dapat menggunakan
perintah berikut ini:
36
Fungsi COUNT(*)
Fungsi ini dapat digunakan untuk menghitung jumlah record atau baris
yang tidak bernilai kosong pada suatu tabel. Perhatikan contoh berikut:
Selain itu, Anda juga dapat mengetahui record yang sama maupun yang
tidak sama, serta berapa jumlah record-nya. Untuk itu lakukan perintah
seperti berikut:
GROUP BY
GROUP BY merupakan salah satu fungsi agregate yang berguna untuk
mengelompokkan data. Klausa ini juga dapat digabung dengan fungsi
agregate lainnya. Perhatikan contoh berikut:
37
Pada contoh di atas, kita menggunakan fungsi GROUP BY untuk
mengelompokkan data dalam tabel sobat berdasarkan kolom nama dan
menggabungkannya dengan fungsi AVG.
Parenthesis
Parenthesis adalah penggunaan tanda kurung untuk mendapatkan hasil
operator suatu bilangan. Perhatikan contoh berikut:
38
Hasil di atas akan berbeda dengan jika Anda memberikan operator
Parenthesis seperti berikut:
Comparison
Operator ini akan mengembalikan nilai 1 jika hasilnya benar (TRUE) dan
sebaliknya bernilai 0 jika salah (FALSE). Perhatikan contoh berikut:
Logical
Operasi yang digunakan pada operator ini adalah NOT (!), OR (||) dan
AND (&&). Seperti halnya pada COMPARISON, operator ini juga bernilai
1 jika benar dan sebaliknya bernilai 0 jika salah. Perhatikan contoh
berikut:
39
3.4.2 Fungsi String
Fungsi ini akan menghasilkan nilai NULL atau kosong apabila panjang
hasil akhir melebihi parameter server, dan memiliki banyak operator.
Kita akan membahas beberapa operator saja, misalnya untuk meng-
konversi bilangan atau mengubah huruf.
Misalnya, Anda ingin meng-konversi bilangan desimal ke bilangan biner.
Lakukan perintah seperti berikut:
Selain itu, Anda juga dapat mengubah huruf kapital dalam suatu kalimat
menjadi huruf kecil. Untuk itu perhatikan contoh berikut:
40
3.4.3 Fungsi Numerik
Fungsi Numerik dapat digunakan untuk menghitung operasi Aritmetik
dan Matematika. Mengingat banyaknya fungsi yang ada, kita akan
membahas beberapa fungsi yang sering digunakan saja.
Aritmetika
Operasi ini meliputi penjumlahan, pengurangan, perkalian dan
pembagian bilangan. Contoh penggunaannya mirip dengan Comparison
pada fungsi string. Lebih jelasnya perhatikan contoh berikut:
Matematika
Kita dapat mencari hasil perhitungan matematika dengan mudah
menggunakan fungsi ini. Operasi-operasi matematika yang disediakan
cukup banyak sekali. .
Misalnya Anda ingin mencari nilai sinus atau tangen dari suatu bilangan,
berikut ini contoh perintah yang dapat Anda gunakan:
41
3.4.4 Fungsi Date dan Time
Fungsi ini memiliki fasilitas yang banyak sekali untuk menampilkan dan
melakukan manipulasi date/time. Perlu Anda ketahui, format default
date/time pada MySQL adalah ‘yyyy-mm’dd’. Sehingga ketika Anda
memasukkan suatu tanggal ke dalam tabel, maka harus menyesuaikan
dengan format tersebut.
Untuk mengetahui nama hari pada tanggal tertentu, Anda dapat
menggunakan contoh perintah berikut:
42
Untuk mengetahui lebih jelas lagi fungsi-fungsi diatas, Anda dapat
melihat dokumentasi manual yang disertakan setelah Anda menginstal
MySQL.
43