Bab VIII Basisdata Mysql Tugas
Bab VIII Basisdata Mysql Tugas
190
beberapa kolom. Didalam PHP telah menyediakan fungsi untuk
koneksi ke basis data dengan sejumlah fungsi untuk pengaturan
baik menghubungkan maupun memutuskan koneksi dengan
server database MySQL sebagai sarana untuk mengumpulkan
informasi.
8.1.1. Pengertian
Database MYSQL merupakan sistem manajemen basis data
SQL yang sangat terkenal dan bersifat Open Source. MySQL
dibangun, didistribusikan dan didukung oleh MYSQL AB.
MYSQL AB merupakan perusahaan komersial yang dibiayai oleh
pengembang MYSQL.
Sebenarnya software MYSQL mempunyai dua macam
lisensi. Lisensi pertama bersifat open source dengan
menggunakan GNU General Public Lisensi dan lisensi kedua
berupa lisensi komersial standar (standard commercial license)
yang dapat dibeli dari MYSQL AB.
MYSQL dapat didefinisikan sebagai sistem manajemen
database. Database sendiri merupakan struktur penyimpanan data.
Untuk menambah, mengakses dan memproses data yang
disimpan dalam sebuah database komputer, diperlukan sistem
manajemen database seperti MYSQL Server. Selain itu MYSQL
dapat dikatakan sebagai basis data terhubung (RDBMS).
191
Database terhubung menyimpan data pada tabel-tabel terpisah.
Hal tersebut akan menambah kecepatan dan fleksibilitasnya.
Server database MYSQL mempunyai kecepatan akses
tinggi, mudah digunakan dan andal. MYSQL dikembangkan
untuk menangani database yang besar secara cepat dan telah
sukses digunakan selama bertahun-tahun sehiingga membuat
server MYSQL cocok untuk mengakses database diinternet. Dan
MYSQL juga merupakan sistem client-server yang terdiri atas
multithread SQL Server yang mendukung software client dan
library yang berbeda.
Fitur utama MYSQL adalah ditulis dalam bahasa C dan C+
+, bekerja dalam berbagai platform, menyediakan mesin
penyimpan transaksi dan nontransaksi, mempunyai library yang
dapat ditempelkan pada aplikasi yang berdiri sendiri sehingga
aplikasi tersebut dapat digunakan pada komputer yang tidak
mempunyai jaringan dan mempunyai sistem password yang
fleksibel dan aman, dapat menangani basis data dalam skala
besar.
192
memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa tipe
data field yaitu :
193
String adalah rangkaian karakter. Tipe-tipe data yang
termasuk dalam tipe data string dapat dilihat pada tabel 8.2
berikut:
194
Tabel 8.3 Letak Perbedaan Jumlah Memori
Nilai Char(4) Memori Varchar Memori
Penyimpanan (4) Penyimpanan
’’ ’’ 4 bytes ’’ 1 byte
’ab’ ’ab’ 4 bytes ’ab’ 3 bytes
’abcd’ ’abcd’ 4 bytes ’abcd’ 5 bytes
’abcdefgh’ ’abcd’ 4 bytes ’abcd’ 5 bytes
195
12-31
TIMESTAMP 1970-01-01 00:00:00 4 byte
sampai 2037
TIME -839:59:59 sampai 3 byte
838:59:59
YEAR 1901 sampai 2155 1 byte
196
Operator Pembandingan
Suatu ekspresi yang dapat digunakan pada klausa WHERE
dan mempunyai sintax sebagai berikut: WHERE expr
operator value. Tabel 8.6 menunjukan operator pembanding
pada MYSQL berikut ini:
Operator Logika
Operator ini digunakan untuk membandingkan dua nilai
variabel yang bertipe boolean. Tabel 8.7 berikut menunjukkan
operator logika pada MYSQL:
197
OR Atau
NOT Tidak
Contoh:
Operator Karakter
Operator untuk membentuk pencarian string yang sesuai
dengan nilai yang mencantumkan pada kondisi. Kondisi
pencarian dapat berisi karakter , ada 3 symbol khusus berikut
ini dapat dilihat pada tabel 8.8 berikut ini:
Tabel 8.8 Tabel Operator Karakter
Operator Keterangan
% Sembarang karakter berapapun
jumlahnya
_ Sembarang satu karakter
[] Sembarang karakter yang terletak dalam
kurung siku
Contoh:
Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada
dalam list (tanda kurung) dan dapat juga untuk menampilkan
198
baris berdasarkan suatu jangkauan (range) nilai. Ada 2
symbol tersebut dapat dilihat pada tabel 8.9 berikut ini:
Contoh:
Fungsi Agregat
Fungsi agregat (kadangkala disebut fungsi grup atau fungsi
ringkasan) adalah fungsi yang disedikan oleh SQL untuk
menghasilkan sebuah nilai berdasarkan sejumlah data. Fungsi
sendiri adalah seuatu kumpulan instruksi yang menghasilkan
sebuah nilai jika dipanggil. Fungsi ini juga digunakan pada
data numeric untuk menghitung nilai baik rata-rata dan
jumlah dari sekumpulan data maupun pencarian jumlah baris
dalam tabel. Untuk lebih jelasnyadapat dilihat dalam tabel
8.10 berikut ini:
199
COUNT Menghitung jumlah baris suatu field
SUM Menjumlahkan data-data numerik pada
suatu tabel
AVG Menghitung rata-rata suatu field
MAX Menghitung nilai maksimum suatu field
MIN Menghitung nilai minimum suatu field
Contoh:
200
Bahasa SQL dapat digolongkan bahasa generasi ke-4 yang
tidak berupa bahasa yang berstruktur dan beraturan seperti C dan
Pascal (golongan bahasa generasi ke-3). Oleh karena itu bahasa
SQL mudah dipelajari. Pernyataan (statement) SQL dapat
digolongan atas tiga golongan yaitu:
201
- GRANT
- REVOKE
202
8.2.2. Create Tabel
Dengan menggunakan SQL, maka bisa membuat tabel.
Pernyataan yang digunakan berupa CREATE TABLE.
Syntaxnya:
CREATE TABLE nama_tabel (
nama kolom 1 tipe data ([ukuran]),
nama kolom 2 tipe data ([ukuran]),
......
nama kolom n tipe data ([ukuran]));
Contoh:
203
Sebuah pernyataan pada SQL berupa perintah yang
meminta sesuatu tindakan DBMS. Sebuah pernyataan diakhiri
dengan tanda titik koma (;). Seperti:
- PERINTAH SELECT:
SELECT adalah pernyataan yang berguna untuk
memperoleh data dari sebuah atau beberapa table. Dengan
dukungan berbagai klausa seperti WHERE dan GROUP
BY, SELECT dapat digunakan untuk memperoleh data
dalam bentuk yang sederhana hingga bentuk yang
kompleks seperti untuk memperoleh ringkasan data.
Contoh:
- PERINTAH INSERT:
Pernyataan INSERT digunakan untuk menambah data.
Perintah INSERT dalam SQL adalah:
INSERT INTO nama table [(nama kolom 1, nama kolom 2,
….., nama kolom n)] VALUE ( Ekspresi [.Ekspresi]….) |
Query);
Contoh :
204
- PERINTAH DELETE:
Perintah DELETE digunakan untuk menghapus data pada
table. Bentuk umum pernyataan DELETE :
DELETE FROM nama table [WHERE kondisi];
Contoh:
- PERINTAH UPDATE:
Pernyataan UPDATE berguna untuk mengubah data.
Bentuk umum perintah UPDATE :
UPDATE nama table SET kolom 1 = nilai baru 1, kolom 2
= nilai baru 2, …., kolom n = nilai baru n [WHERE
kondisi];
Contoh :
- PERINTAH ALTER:
205
Perintah ini digunakan untuk mengubah (modify) table
yang telah dibuat, seperti: menambah kolom baru,
mengubah ukuran kolom, dan mengubah aturan-aturan
yang berlaku untuk suatu kolom. Syntaxnya yang dapat
dipakai sebagai berikut:
ALTER TABLE nama table [ADD (nama kolom) MODIFY
(nama kolom) DROP nama constraint ];
Contoh:
- PERINTAH DROP:
Apabila bermaksud untuk menghapus suatu table karena
table tersebut tidak diperlukan maka bisa melakukannya
dengan memakai pernyataan DROP TABLE. Dengan
syntaxnya:
DROP TABLE nama table [CASCADE CONSTRAINTS];
Contoh:
206
1. LIKE dan NOT LIKE
- LIKE digunakan untuk mendapatkan record yang
memenuhi sebagian kriteria pencarian yaitu mencari data
yang menyerupai atau seperti. Perintah LIKE sering
dikombinasikan dengan tanda “persen” (%) dan
“underscore” (_). “%” digunakan di awal atau akhir
teks kriteria sedangkan “_” dimanapun diinginkan.
Syntax dasar dari SELECT yang melibatkan LIKE
adalah:
select kolom1, kolom2, […] FROM NAMA_TABEL
WHERE kolom_tabel LIKE %string%;
2. BETWEEN
Digunakan untuk menyeleksi nilai-nilai yang berada dalam
kisaran (range), misalnya menampilkan “student” yang
mempunyai IPK antara 3,00 sampai 3,50. Sintaks
perintah SELECT dengan BETWEEN adalah
select kolom1, kolom2, […] FROM NAMA_TABEL
WHERE nama_kolom BETWEEN nilai1 and nilai2;
207
3. LIMIT
Memungkinkan pembatasan jumlah record yang diambil dari
database. Sintaks:
select kolom1, kolom2, […] FROM NAMA_TABEL LIMIT
jumlah_limit;
4. INNER JOIN
JOIN digunakan bersama SELECT untuk mengkombinasikan
kolom dari satu tabel dengan kolom pada tabel lain. Proses
utama yang dilakukan oleh JOIN adalah mencocokkan nilai
pada field kunci pada kedua table. INNER JOIN
mengembalikan semua baris sebagai hasil yang memenuhi
suatu kondisi
5. LEFT JOIN
Suatu LEFT JOIN mengembalikan semua baris sisi kiri
kondisional bahkan jika tidak ada sisi kanan yang memenuhi
sekalipun
6. RIGHT JOIN
Suatu RIGHT JOIN akan menampilkan baris-baris sisi kanan
kondisional yang memenuhi atau tidak memenuhi kondisi.
7. UNION
208
Untuk menggabung dua tabel, menempatkan dua query
terpisah secara bersama membentuk satu table. UNION
akan memberikan hasil terbaik saat menggunakan dua
tabel dengan kolom serupa karena setiap kolom harus
mempunyai tipe data sama. Sintaks dasar:
select kolom1, kolom2 FROM NAMA_TABEL
UNION
select kolom1, kolom2 FROM NAMA_TABEL;
8. UNION ALL
Memilih semua baris dari setiap tabel dan
mengkombinasikannya ke dalam satu tabel. Perbedaan antara
UNION dan UNION ALL yaitu UNION ALL tidak akan
menghapus (mengeliminir) baris-baris yang sama (duplicate
rows) – hanya mengambil semua baris dari semua tabel sesuai
query yang dikirim ke server database.
9. Sub-Query
Merupakan query SELECT yang ditempatkan di dalam suatu
pernyataan SQL lain. Dapat diletakkan sebagai bagian dari
query utama : SELECT, INSERT, UPDATE, DELETE,
SET, DO. Sintaks:
select kolom1, kolom2, kolom3 […] FROM
209
NAMA_TABEL
WHERE kolom_tabel = (select kolom1, kolom2, kolom3
[…] FROM NAME_TABEL_LAIN);
1. mysql_connect(host,user,password)
Fungsi ini digunakan untuk membuka koneksi dengan
server MySQL. Parameter yang digunakan sebagai berikut:
Host: nama server dengan server local dapat dengan
menggunakan localhost.
User: user yang terdaftar dalam MySQL yang digunakan untuk
login ke server.
Password: password dari user yang melakukan koneksi.
Contoh:
210
2. mysql_select_db(nama_database,nama_koneksi)
Fungsi ini digunakn untuk memilih database yang
akan digunakan. Contoh:
3. mysql_query(perintah_query,nama_koneksi)
Perintah ini digunakan untuk mengirimkan query ke
server database melalui link nama koneksi. Fungsi ini
mengembalikan nilai FALSE baik CREATE, UPDATE,
DELETE, DROP, dll. Contoh:
4. mysql_fetch_array(hasil_query)
Fungsi ini digunakan untuk melakukan pembacaan record
hasil query yang dilakukan. Pembacaan ini dilakukan mulai dari
record pertama sampai nilai terakhir. Tiap record dibaca, dibentuk
menjadi array dengan index numeric dari 0 sampai dengan n-1
dan index assosiatif dengan index adalah nama field dari table.
5. mysql_fetch_row(hasil_query)
Fungsi ini mempunyai hampir sama dengan
mysql_fetch_array tetapi array hasil pembacaan data hanya
211
menggunakan index numeris saja yang dimulai dari 0 untuk
kolom pertama samapai n-1 untuk kolom terakhir hasil query.
6. mysql_result(hasil_query, no_record,nama_field),
Fungsi ini berguna untuk mengambil langsung nilai hasil
query pada suatu baris dan kolom tertentu (satu sel) dengan
menyebutkan parameter variabel hasil proses query, no_record,
untuk nomor baris (dimulai dari 0) dan nama field.
7. mysql_num_field(hasil_query)
Fungsi berguna untuk mendapatkan jumlah field dari hasil
query.
Contoh:
8. mysql_num_rows(hasil_query)
Fungsi ini berguna untuk mendapatkan jumlah baris dari
hasil query. Menghasilkan suatu array yang berisi seluruh kolom
dari sebuah baris pada suatu himpunan hasil. Mengambil data
secara baris per baris. Data yang diambil dalam bentuk array
(elemen dari array adalah field-field dari tabel data). Contoh:
212
8.5. Kesimpulan
MYSQL termasuk jenis RDBMS (Relasional Database
Management System). Database MYSQL merupakan sistem
manajemen basis data SQL yang sangat terkenal dan bersifat
Open Source. MYSQL mengenal beberapa tipe data field
yaitu : Tipe data numerik, Tipe data string, Tipe data char()
dan varchar() serta Tipe data tanggal. MYSQL mendukung
penggunaan operator-operator dan fungsi-fungsi diantaranya:
Operator Aritmetika, Operator Pembandingan, Operator
Logika, Operator Karakter, Operator Lain-lain seperti: IN,
BETWEEN dan Fungsi Agregat.
Dengan menggunakan query, maka dapat melihat, mengubah
dan menganalisis data dengan berbagai titik pandang yang
dikehendaki. Yang dimaksud dengan query pada MYSQL
adalah query yang diciptakan dengan pernyataan-pernyataan
SQL. SQL (Structured Query Language) adalah bahasa
pemrograman yang digunakan untuk mengakses basis data
relasional. Pernyataan (statement) SQL dapat digolongan atas
tiga golongan yaitu: Data Definition Language (DDL), Data
Manipulation Language (DML) dan Data Control Language
(DCL). Predikat diletakkan setelah klausa WHERE untuk
pencarian record database agar mendapatkan string, karakter
atau range tertentu. Seperti : LIKE dan Not Like, Between,
Limit, Inner Join, Left Join, Right Join, Union dan lain
213
sebagainya. PHP juga menyediakan fungsi untuk koneksi ke
database dengan sejumlah fungsi untuk pengaturan baik
menghubungkan maupun memutuskan koneksi dengan server
database MySQL.
Fungsi koneksi ke server database mengunakan pola yang
sama yaitu server, port, user, password. Fungsi-fungsi
tersebut adalah: mysql_connect (host, user, password),
mysql_select_db (nama_database, nama_koneksi), mysql
_query(perintah_query, nama_kondisi), mysql_fetch_array
(hasil_query), mysql mysql_fetch_row(hasil_query) dan lain
sebagainya.
214
FROM pegawai;
4. Buatlah query untuk menampilkan nama dan gaji dari
pegawai yang memiliki gaji lebih dari 2000000.
5. Tampilkan nama dan gaji untuk semua pegawai yang
memiliki gaji yang tidak berada dalam range antara 1000000
sampai 3000000.
215