SlideShare a Scribd company logo
1 of 62
M O D U L P R A K T I K U M
BASIS DATA
HAIRUL ANWAR , S.ST
SMK MUKHTAR SYAFA’AT BANYUWANGI
JL. KH. Syafa’at Karangdoro Blokagung Kec. Tegalsari
Banyuwangi
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 1
Modul 1
Pengantar MySQL
1.1 Basis Data
Basis data (database), merupakan suatu kumpulan informasi yang disimpan di
dalam komputer secara sistematik sehingga dapat diakses menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang
digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem
manajemen basis data (database management system, DBMS).
1.2 MySQL
MySQL merupakan salah satu DBMS multithread, multi-user yang cukup
peopuler dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License
(GPL), dan 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.
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
optimalisasi cara kerjanya dalam memproses perintah-perintah SQL yang dibuat oleh user
maupun program-program aplikasinya. Beberapa keistimewaan MySQL antara lain :
a. Portability, MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan sebagainya.
b. Open Source, MySQL didistribusikan secara open source (gratis), dibawah lisensi
GPL sehingga dapat digunakan secara cuma-cuma.
c. Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik yang fatal.
1.3. Instalasi MYSQL-5.0.51b-win32.exe :
1. Jalankan file setup mysql, yaitu mysql-5.0.51b-win32.exe, maka akan muncul dialog
instalasi sebagai berikut :
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 2
2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut :
3. Pilih Typical, kemudian pilih tombol Next.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 3
4. Pilih tombol Install, maka proses instalasi dimulai.
5. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut :
6. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut :
7. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang
diinginkan pada kota isian New root password dan Confirm berikut ini untuk
sekuritas, misalnya informatika. Klik tombol Next.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 4
8. Klik tombol Execute sebagai tahap akhir.
9. Klik Finish.
1.4. Menjalankan Client MySQL
1. Dari menu Start  All Program  MySQL Server 5.0  MySQL Command Line
Client. Perhatikan gambar berikut:
Gambar 1.1 Menjalankan MySQL Client dari Start Menu
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 5
2. Selanjutnya dihadapkan pada jendela MySQL Command Line Client yang di
dalamnya muncul kolom memasukan Password seperti tampilan berikut
Gambar 1.2 Tampilan MySQL Client saat Login
3. Anda dapat memasukkan password root yang telah dibuat saat penyetingan
instalasi. Apabila pada saat konfigurasi tidak memasukkan password, anda dapat
mengosongkan passwordnya dan tekan tombol Enter.
4. Jika berhasil login, anda akan mendapatkan halaman utama MySQL Prompt seperti
gambar berikut:
Gambar 1.3 Tampilan utama MySQL Prompt
1.5. Mengetahui Letak Penyimpanan Database
Secara default, MySQL memiliki sub direktori yang bernama data untuk
menyimpan semua database dan tabel yang terbentuk. Susunan direktori yang dihasilkan
MySQL, apabila diakses Windows Explorer akan terlihat seperti direktori biasa, di
dalamnya terdapat beberapa tabel dalam bentuk file seperti berikut.
Gambar 1.8 Direktori penyimpanan database pada MySQL
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 6
Modul 2
Data Definition Language (DDL)
2.1.Bahasa SQL
SQL memiliki kepanjangan Structured Query Language, digunakan sebagai
antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif untuk basis
data sehingga dibuat standar bahasa SQL oleh ANSI (American National Standard
Institute) dan ISO (International Standard Organizatioan). Di dalamnya terdapat
perintah untuk pendefinisian data, melakukan query dan update terhadap data. Perintah
tersebut dikelompokan dalam 2 istilah: DDL (Data Definition Language) untuk
pendefinisian data dan DML (Data Manipulation Language) untuk melakukan update
dan query.
2.2. Tipe Data
A. Tipe Data Numerik
Tipe Keterangan Range Nilai
TINYINT Nilai integer yang sangat kecil Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
SMALLINT Nilai integer yang kecil Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
MEDIUMINT Integer dengan nilai medium Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
Tipe Keterangan Range Nilai
INT Integer dengan nilai standar Signed : -2147483648 s.d. 2147483647
Unsigned : 0 s.d. 4294967295
BIGINT Integer dengan nilai besar Signed : -9223372036854775808 s.d.
9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
FLOAT Bilangan desimal dengan single-
precission
minimum ± 1.175494351e-38
maksimum ± 3.402823466e+38
DOUBLE Bilangan desimal dengan double-
precission
minimum ± 2.2205738585072014e-308
maksimum ± 1.7976931348623457e+308
DECIMAL(M,D) Bilangan float (desimal) yang
dinyatakan sebagai string. M adalah
jumlah digit yang disimpan dalam
suatu kolom, N adalah jumlah digit
dibelakang koma
Tergantung pada nilai M dan D
Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik
- Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan
positif.
- Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0).
Tipe data float tidak dapat dinyatakan dengan unsigned.
B. Tipe Data String :
Tipe Keterangan Ukuran Maksimum
CHAR(n) String karakter dengan panjang yang tetap, yaitu n 1 M byte
VARCHAR(n) String karakter dengan panjang yang tidak tetap, maks n 1 M byte
TINYBLOB BLOB (Binary Large Object) yang sangat kecil 28
-1 byte
BLOB BLOB berukuran kecil 216
-1 byte
MEDIUMBLOB BLOB berukuran sedang 224
-1 byte
LONGBLOB BLOB berukuran besar 232
-1 byte
TINYTEXT String teks yang sangat kecil 28
-1 byte
TEXT String teks berukuran kecil 216
-1 byte
MEDIUMTEXT String teks berukuran medium(sedang) 224
-1 byte
LONGTEXT String teks berukuran besar 232
-1 byte
ENUM Enumerasi, kolom dapat disi dengan 1 member enumerasi 65535 anggota
SET Himpunan, kolom dapat diisi dengan beberapa nilai
anggota himpunan
64 anggota himpunan
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 7
Tipe data tanggal dan jam :
Tipe Range Format
DATE “1000-01-01” s.d. “9999-12-31” “0000-00-00”
TIME “-832:59:59” s.d. “838:59:59” “00:00:00”
DATETIME “1000-01-01 00:00:00” s.d. “9999-12-
31 23:59:59”
“0000-00-00 00:00:00”
2.3. Perintah DDL (Data Definition Language)
DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-
atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut,
serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah
CREATE, ALTER, dan DROP.
a. Membuat Database
Perintah: CREATE DATABASE namadatabase;
namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama
yang sama antar database. Berikut ini perintah untuk membuat database dengan
nama akademik :
mysql> create database akademik;
Perintah tambahan : untuk menampilkan daftar nama database yang ada pada mysql
menggunakan perintah : SHOW DATABASES;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| akademik |
| mysql |
| test |
+--------------------+
4 rows in set (0.11 sec)
b. Menghapus Database
Perintah : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama akademik ;
mysql> drop database akademik;
c. Membuat Tabel
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan
menggunakan perintah : USE namadatabase;
Berikut ini perintah untuk menggunakan database dengan nama akademik :
mysql> use akademik;
Database Changed
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 8
Perintah membuat table :
create table namatabel
(
Field1 TipeData1,
Field2 TipeData2
);
namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1
merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin
membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data
sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel
dengan nama mahasiswa :
mysql> create table mahasiswa(
-> npm char(9) not null,
-> nama varchar(20) not null,
-> alamat varchar(30) null,
-> jns_kelamin char(1) not null,
-> gol_darah varchar(2) null,
-> primary key (npm));
Keterangan : null yaitu field tesebut dapat tidak berisi nilai sedangkan not null
yaitu field harus berisi nilai atau tidak boleh kosong. Primary key untuk
mendefinisikan kata kunci dalam sebuah tabel.
Perintah tambahan :
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database akademik) : SHOW TABLES;
mysql> show tables;
+--------------------+
| Tables_in_akademik |
+--------------------+
| mahasiswa |
+--------------------+
Untuk menampilkan deskripsi tabel (dalam hal ini mahasiswa) perintahnya
adalah :
DESC namatabel atau DESCRIBE namatabel;
mysql> describe mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm | char(9) | NO | PRI | NULL | |
| nama | varchar(20) | NO | | NULL | |
| alamat | varchar(30) | YES | | NULL | |
| jns_kelamin | char(1) | NO | | NULL | |
| gol_darah | varchar(2) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 9
d. Menghapus Tabel
Perintah : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama mahasiswa :
mysql> drop table mahasiswa;
e. Membuat Kolom Auto Untuk Penambahan Data Otomatis
Parameter yang digunakan untuk membuat kolom bentuk AUTO adalah AUTO
INCREMENT. Dengan menggunakan tipe kolom ini, data akan bertambah secara
otomatis. Yang perlu diingat, syarat kolom AUTO harus menggunakan tipe data
angka (INT, TINIINT, …) . Bentuk perintahnya sebagai berikut:
CREATE TABLE [IF NOT EXISTS] nama_tabel (
kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT,
kolom_b tipe(panjang) [NOT NULL | NULL], ...,
PRIMARY KEY(kolom_kunci) )
Coba dalam pembuatan tabel selanjutnya.
f. Menghapus Primary Key Pada Tabel
ALTER TABLE namatabel DROP PRIMARY KEY;
Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel
mahasiswa :
mysql> alter table mahasiswa drop primary key;
g. Menambah Kolom/Field Baru Pada Tabel
ALTER TABLE namatabel ADD fieldbaru tipe;
namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah
nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan
ditambahkan. Berikut ini perintah untuk menambah kolom tgl_lahir dengan tipe
data date :
mysql> alter table mahasiswa add tgl_lahir date;
Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.
h. Menambah Kolom Kunci/primary key Pada Tabel
Pada saat pembuatan tabel, Anda lupa mendefinisikan kunci primernya. Dengan
menggunakan perintah ALTER, Anda dapat melakukan perubahan sebuah kolom
menjadi kunci. Bentuk sintaksnya sebagai berikut:
ALTER TABLE nama_tbl ADD PRIMARY KEY(kolom)
Dengan menggunakan aturan seperti sintaks di atas, Anda dapat langsung
menyebutkan nama kolom yang akan dibuat sebagai kunci.
Sebagai latihan, Anda dapat menghapus tabel dosen terlebih dahulu. Setelah itu
buat kembali tabel dosen dengan tidak mendefinisikan primay key-nya.
mysql> alter table dosen
-> add primary key(nip);
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 10
i. Mengubah Tipe Data atau Lebar Kolom Pada Tabel
ALTER TABLE namatabel MODIFY COLUMN field tipe;
namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe
data baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini perintah
untuk mengubah tipe data untuk kolom nama dengan varchar(25) :
mysql> alter table mahasiswa modify column nama varchar(25);
Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.
j. Mengubah Nama Kolom
ALTER TABLE namatabel CHANGE COLUMN namalamakolom
namabarukolom tipedatanya;
namatabel adalah nama tabel yang akan diubah nama kolomnya,
namalamakolom adalah kolom yang akan diganti namanya, namabarukolom
adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut.
Berikut ini perintah untuk mengubah nama kolom nama menjadi nama_lengkap :
mysql> alter table mahasiswa change column nama nama_lengkap
varchar(20);
Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.
k. Mengubah Nama Tabel
Jika nama tabel yang ada tidak sesuai dengan data, Anda dapat mengubahnya
dengan cara mengganti nama tabel tersebut. Caranya, dengan menggunakan
parameter RENAME. Perintahnya sebagai berikut:
ALTER TABLE nama_lama RENAME [TO] nama_baru
Pada perintah di atas, Anda bebas untuk tidak menggunakan parameter TO, karena
sifatnya hanya optional (pilihan) saja.
Sebagai latihan, bagaimana jika tabel ambil kita ganti namanya menjadi
mengambil. Sebelum diganti, Anda dapat melihat kondisi awal terlebih dahulu di
dalam database.
Untuk mengganti nama tabel dari ambil menjadi mengambil, Anda dapat
menjalankan perintah seperti berikut:
mysql> alter table jenis_barang rename to data_jenis;
l. Menghapus Kolom Pada Tabel
ALTER TABLE namatabel DROP COLUMN namakolom;
Berikut ini perintah untuk menghapus kolom tgl_lahir pada tabel mahasiswa :
mysql> alter table mahasiswa drop tgl_lahir;
Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 11
m. Mendefinisikan Foreign Key Pada Tabel (Kunci Tamu)
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY
(namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE
CASCADE ON DELETE NO ACTION;
Berikut perintah untuk membuat foreign key nip pada tabel mengajar dari tabel
induk dosen :
mysql> alter table mengajar add constraint fk foreign key (nip)
references dosen(nip) on update cascade on delete no action;
Lakukan perintah decs ambil(lihat tabel),amati perubahannya.
n. Menghapus Foreign Key
ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
Berikut ini perintah untuk menghapus foreign key pada tabel mengajar :
mysql> alter table mengajar drop foreign key fk;
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 12
Modul 3
Data Manipulation Language (DML)
Perintah DML (Data Manipulation Language)
DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam
basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data.
Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE
dan SELECT.
a. INSERT
Perintah INSERT digunakan untuk menambahkan baris baru pada suatu tabel.
Terdapat dua cara untuk menambah baris, yaitu :
Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES
(nilai1,nilai2,nilai-n);
Berikut ini perintah untuk menambahkan baris pada tabel mahasiswa :
Cara 1 :
mysql> insert into mahasiswa values('087006111','Wawan
Setiawan','Manonjaya','L','O');
Cara 2 :
mysql> insert into mahasiswa (npm,nama_lengkap,jns_kelamin) values
('087006222','Ahmad Kurniawan','L');
Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka
pemberian nilainya diapit dengan tanda petik tunggal („horor‟) atau petik ganda
(“horor”). Jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak
diapit tanda petik tunggal maupun ganda. Cara 2 bisa di dilakukan apabila field
yang akan diisikan data harus null.
b. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi
tertentu atau seluruh baris.
Perintah: DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan
suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel
mahasiswa dengan data sebagai berikut :
mysql> select * from mahasiswa;
+-----------+-----------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+-----------------+-----------+-------------+-----------+
| 087006111 | Wawan Setiawan | Manonjaya | L | O |
| 087006222 | Ahmad Kurniawan | NULL | L | NULL |
+-----------+-----------------+-----------+-------------+-----------+
Contoh 1 : jika ingin menghapus seluruh baris/data pada tabel mahasiswa :
mysql> delete from mahasiswa;
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 13
Contoh 2 : jika ingin menghapus baris yang memiliki nilai 087006222 pada kolom
npm pada tabel mahasiswa maka perintahnya sebagai berikut :
mysql> delete from mahasiswa where npm=087006222;
Contoh 3 : jika ingin menghapus baris yang memiliki nilai L pada kolom
jns_kelamin pada tabel mahasiswa maka perintahnya sebagai berikut :
mysql> delete from mahasiswa where jns_kelamin=’L’;
c. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa
kolom pada suatu tabel.
Perintah: UPDATE namatabel SET kolom1 = nilai1, kolom2 =
nilai2 [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu
kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel mahasiswa
dengan data sebagai berikut :
Contoh 1 : mengubah semua nilai pada kolom alamat menjadi manonjaya :
mysql> update mahasiswa set alamat='manonjaya';
Contoh 2 : mengubah nilai pada kolom gol_darah menjadi AB dimana nilai pada
kolom npm adalah 087006111 :
mysql> update mahasiswa set gol_darah='AB' where npm=087006111;
d. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan tabel yang lainnya. Menampilkan data untuk semua kolom
menggunakan asterisk (*)
Perintah: SELECT * FROM namatabel;
Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa :
mysql> select * from mahasiswa;
+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O |
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+----------------+---------------------------+-------------+-----------+
Menampilkan data untuk kolom tertentu
Perintah: SELECT kolom1,kolom2,kolom-n FROM namatabel;
Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dengan kolom
yang ditampilkan adalah kolom nama_lengkap :
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 14
mysql> select nama_lengkap from mahasiswa;
+----------------+
| nama_lengkap |
+----------------+
| Wawan Setiawan |
| Ferry Setiawan |
| Eva Suharti |
| Andina Novita |
| Agus Ramdani |
| Abdul Kodir |
+----------------+
Menampilkan data dengan kondisi data tertentu dengan klausa WHERE
Perintah: SELECT * FROM namatabel WHERE kondisi;
Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dimana nilai
pada kolom npm adalah 087006222 :
mysql> select * from mahasiswa where npm=087006222;
+-----------+--------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+--------------+-----------+-------------+-----------+
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+--------------+-----------+-------------+-----------+
Memberikan nama lain pada kolom
Perintah: SELECT namakolomlama AS namakolombaru FROM
namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jns_kelamin menjadi
jenis_kelamin pada tabel mahasiswa :
mysql> select jns_kelamin as jenis_kelamin from mahasiswa;
+---------------+
| jenis_kelamin |
+---------------+
| L |
| L |
| P |
| P |
| L |
| L |
+---------------+
Menggunakan alias untuk nama tabel
Perintah: SELECT nmalias.npm, nmalias.nama_lengkap FROM
namatabel nmalias;
Berikut ini perintah untuk memberikan alias pada tabel mahasiswa :
mysql> select k.npm, k.nama_lengkap from mahasiswa k;
+-----------+----------------+
| npm | nama_lengkap |
+-----------+----------------+
| 087006111 | Wawan Setiawan |
| 087006112 | Ferry Setiawan |
| 087006113 | Eva Suharti |
| 087006118 | Andina Novita |
| 087006122 | Agus Ramdani |
| 087006222 | Abdul Kodir |
+-----------+----------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 15
Menampilkan data lebih dari dua tabel
Perintah: SELECT * from namatabel1,namatabel2,namatabel-
n;
Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa dan
ambil :
mysql> select * from mahasiswa,ambil;
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah | npm | kode_mk | nilai_mutu | nilai |
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006111 | TI1313 | 75 | B |
| 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006112 | TI1203 | 87 | A |
| 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006113 | TI1303 | 65 | C |
| 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006118 | TI1304 | 70 | C |
| 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006122 | TI1206 | 90 | A |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006111 | TI1313 | 75 | B |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006112 | TI1203 | 87 | A |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006113 | TI1303 | 65 | C |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006118 | TI1304 | 70 | C |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006122 | TI1206 | 90 | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006111 | TI1313 | 75 | B |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006112 | TI1203 | 87 | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006113 | TI1303 | 65 | C |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006118 | TI1304 | 70 | C |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006122 | TI1206 | 90 | A |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006111 | TI1313 | 75 | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006112 | TI1203 | 87 | A |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006113 | TI1303 | 65 | C |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006118 | TI1304 | 70 | C |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006122 | TI1206 | 90 | A |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006111 | TI1313 | 75 | B |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006112 | TI1203 | 87 | A |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006113 | TI1303 | 65 | C |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006118 | TI1304 | 70 | C |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006122 | TI1206 | 90 | A |
| 087006222 | Abdul Kodir | manonjaya | L | AB | 087006111 | TI1313 | 75 | B |
| 087006222 | Abdul Kodir | manonjaya | L | AB | 087006112 | TI1203 | 87 | A |
| 087006222 | Abdul Kodir | manonjaya | L | AB | 087006113 | TI1303 | 65 | C |
| 087006222 | Abdul Kodir | manonjaya | L | AB | 087006118 | TI1304 | 70 | C |
| 087006222 | Abdul Kodir | manonjaya | L | AB | 087006122 | TI1206 | 90 | A |
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 16
Modul 4
Seleksi Menggunakan Operator Dasar
Menggunakan Operator Pembanding
Pada bagian ini, kita akan belajar menggunakan beberapa operator dasar yang
digunakan untuk membandingkan dua nilai atau lebih dari data yang berbeda. Untuk
melakukan perbandingan, nilai hasil yang dikembalikan hanya ada dua kemungkinan, yaitu
TRUE dan FALSE. Bila dinyatakan dengan bilangan, hasil TRUE sama dengan 1, dan
FALSE sama dengan 0.
a. Seleksi Menggunakan Operator =
Operator “=” (equal), akan menghasilkan nilai TRUE atau bernilai 1 apabila
memiliki nilai pembanding sama dengan data yang dibandingkan.
 Jika bernilai TRUE, maka data yang dibandingkan akan ditampilkan dalam
layar.
mysql> select 0=1;
+-----+
| 0=1 |
+-----+
| 0 |
+-----+
 Dalam MySQL, penulisan bilangan dapat ditulis menggunakan tanda petik
ataupun tidak. Jadi, angka 1 = „1‟ adalah benar
mysql> select 1='1';
+-------+
| 1='1' |
+-------+
| 1 |
+-------+
mysql> select '0.01'=1;
+----------+
| '0.01'=1 |
+----------+
| 0 |
+----------+
 Dalam MySQL, penulisan bilangan pecahan juga dapat menggunakan tanda petik
maupun tidak. Misalnya:
mysql> select '0.05'='.05';
+--------------+
| '0.05'='.05' |
+--------------+
| 0 |
+--------------+
mysql> select 0.05='.05';
+------------+
| 0.05='.05' |
+------------+
| 1 |
+------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 17
 Penggunaan operator sama dengan “=” di atas, apabila diterapkan dalam
database dapat ditulis seperti ini.
mysql> select * from mahasiswa where npm=087006222;
+-----------+--------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+--------------+-----------+-------------+-----------+
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+--------------+-----------+-------------+-----------+
b. Seleksi Menggunakan Operator !=
Operator “!=” memiliki arti tidak sama dengan (not equal) atau kecuali. Nilai yang
dihasilkan berlawanan dengan operator sama dengan. Dalam penulisannya,
operator ini juga dapat diganti dengan parameter <>. Baik menggunakan parameter
!= maupun <>, operator tidak sama dengan (not equal) ini memiliki fungsi dan
hasil yang sama.
Contoh : perintah untuk menampilkan data pada tabel mahasiswa dimana nilai
pada kolom jns_kelamin tidak sama dengan L :
mysql> select * from mahasiswa where jns_kelamin<>'L';
+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+---------------+---------------------------+-------------+-----------+
c. Seleksi Menggunakan Operator >
Operator “>” artinya lebih dari. Operator ini digunakan untuk mengambil data yang
nilainya lebih dari bilangan pembanding. Perhatikan perintah berikut:
mysql> select 2>3;
+-----+
| 2>3 |
+-----+
| 0 |
+-----+
mysql> select * from mata_kuliah where sks>2;
+---------+-------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------+-----+----------+
| TI1201 | Struktur Data | 3 | 3 |
| TI1206 | Basis Data | 3 | 3 |
| TI1303 | Sistem Basis Data | 3 | 4 |
| TI1304 | Kecerdasan Buatan | 3 | 5 |
| TI1313 | Sistem Informasi | 3 | 5 |
+---------+-------------------+-----+----------+
d. Seleksi Menggunakan Operator >=
Jika menggunakan operator “>”, hasil dari seleksi tidak menampilkan nilai yang
menjadi pembanding. Jika nilai pembanding ingin ditampilkan, gunakan operator
“>=” (dibaca lebih dari sama dengan).
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 18
mysql> select * from mata_kuliah where sks>=2;
+---------+--------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+--------------------+-----+----------+
| TI1116 | Logika Informatika | 2 | 2 |
| TI1201 | Struktur Data | 3 | 3 |
| TI1206 | Basis Data | 3 | 3 |
| TI1303 | Sistem Basis Data | 3 | 4 |
| TI1304 | Kecerdasan Buatan | 3 | 5 |
| TI1313 | Sistem Informasi | 3 | 5 |
+---------+--------------------+-----+----------+
e. Seleksi Menggunakan Operator <
Operator “<” artinya kurang dari. Digunakan untuk mengambil sejumlah data yang
nilainya kurang dari bilangan pembanding.
mysql> select * from mata_kuliah where sks<2;
+---------+-------------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------------+-----+----------+
| TI1203 | Praktikum Struktur Data | 1 | 3 |
+---------+-------------------------+-----+----------+
f. Seleksi Menggunakan Operator <=
Operator “<=” juga akan mengambil data yang jumlahnya kurang dari nilai
pembanding. Bedanya, pada operator ini, nilai pembanding ditampilkan.
mysql> select * from mata_kuliah where sks<=2;
+---------+-------------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------------+-----+----------+
| TI1116 | Logika Informatika | 2 | 2 |
| TI1203 | Praktikum Struktur Data | 1 | 3 |
+---------+-------------------------+-----+----------+
Menggunakan Operator Logika
a. Dua Kondisi Bernilai Benar dengan Operator AND
Operator AND digunakan untuk mengambil data dari satu atau beberapa tabel
menggunakan dua syarat atau lebih. Data akan ditampilkan apabila dua syarat
terpenuhi, sedangkan apabila salah satu syarat saja atau tidak ada syarat yang
dipenuhi, maka perintah tidak akan mendapatkan hasil. Untuk lebih memahaminya,
perhatikanlah tabel berikut:
Tabel Kebenaran Operator AND
Nilai A Nilai B Hasil A AND B
TRUE TRUE TRUE
FALSE TRUE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE
Tidak diketahui Tidak diketahui Tidak Ada hasil
Tidak diketahui TRUE Tidak Ada hasil
Tidak diketahui FALSE FALSE
TRUE Tidak diketahui Tidak ada hasil
FALSE Tidak diketahui FALSE
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 19
Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm berkisar
dari 087006111 hingga 087006113 :
mysql> select * from mahasiswa where npm>=087006111 and
npm<=087006113;
+-----------+----------------+-------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+-------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
+-----------+----------------+-------------------+-------------+-----------+
b. Salah Satu Bernilai Benar dengan Operator OR
Berbeda dengan operator sebelumnya, operator OR digunakan untuk mengambil
data dari beberapa tabel, tetapi memiliki syarat tidak harus keduanya bernilai benar.
Jika salah satu bernilai benar, database akan tetap menampilkan hasil sesuai dengan
permintaannya. Jika kondisi tidak ada yang benar (semua salah), nilainya akan
salah. Anda dapat melihat tabel kebenaran berikut:
Tabel Kebenaran Operator OR
Nilai A Nilai B Hasil A OR B
TRUE TRUE TRUE
FALSE TRUE TRUE
TRUE FALSE TRUE
FALSE FALSE FALSE
Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama
dengan 087006111 atau 087006118 :
mysql> select * from mahasiswa where npm=087006111 or npm=087006118;
+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+----------------+---------------------------+-------------+-----------+
c. Nilai Balik dengan Operator NOT
Berbeda dengan kedua operator sebelumnya (OR dan AND), operator NOT akan
membalik semua kondisi yang ada. Jika memiliki nilai TRUE (benar),
menggunakan perintah NOT akan menghasilkan nilai FALSE (salah), begitu juga
sebaliknya. Anda dapat melihat tabel kebenaran berikut ini:
Tabel Kebenaran Operator NOT
Nilai A Hasil NOT A
1 Tidak ada hasil
0 Ada hasil
Dari tabel di atas, nilai 1 berarti TRUE dan 0 berarti FALSE. Sedangkan parameter
tidak ada hasil berarti bernilai FALSE dan parameter ada hasil berarti bernilai
TRUE. Dalam penggunaannya, parameter NOT bisa diganti dengan tanda seru (!).
mysql> select not 1, !1;
+-------+----+
| not 1 | !1 |
+-------+----+
| 0 | 0 |
+-------+----+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 20
Kebalikan dari perintah di atas:
mysql> select not 0, !0;
+-------+----+
| not 0 | !0 |
+-------+----+
| 1 | 1 |
+-------+----+
mysql> select * from mahasiswa where not jns_kelamin='L';
+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+---------------+---------------------------+-------------+-----------+
d. Operator IN
Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama
dengan 087006111 atau 087006118 :
mysql> select * from mahasiswa where npm in (087006111,087006118);
+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+----------------+---------------------------+-------------+-----------+
e. Operator Like
Perintah untuk menampilkan data pada tabel mahasiswa dimana data pada kolom
tertentu diawali dengan nilai tertentu, misalnya pada kolom nama_lengkap dimana
diawali dengan karakter „A‟ :
mysql> select * from mahasiswa where nama_lengkap like 'A%';
+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O |
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+---------------+---------------------------+-------------+-----------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 21
Modul 5
Seleksi Menggunakan Fungsi Pengelompokan
Persiapan Database
Pertama-tama kita buatlah database Data_Pegawai, yang di dalamnya terdapat
tabel pegawai. Buat dan aktifkan database Data_Pegawai, dengan perintah berikut,
kemudian isi:
CREATE DATABASE data_pegawai;
USE data_pegawai;
CREATE TABLE pegawai (
nip char(6) NOT NULL,
nama varchar(60) NOT NULL,
umur int(2) NOT NULL,
tinggi int(2) NOT NULL,
berat int(2) NOT NULL,
PRIMARY KEY (nip));
Tabel Daftar Data Pribadi Pegawai
nip Nama umur tinggi berat
006001 Dadang Darojat 40 170 61
006002 Agus Sehabudin 42 168 63
006003 Susan Bahtiar 30 165 60
006004 Doni Aja 37 175 66
006005 Lucas Leiva 28 173 67
006006 Arief Najmudin 25 177 70
a. Menghitung Jumlah Record dengan COUNT
Fungsi COUNT() digunakan untuk mendapatkan jumlah record atau baris data di
dalam suatu tabel. Dengan fungsi ini, berapapun data dalam tabel atau hasil seleksi
relasi akan dihitung dengan cepat.
Perintah: SELECT COUNT(*) AS alias
SELECT COUNT(nama_kolom) AS alias
Dari bentuk Perintah di atas, sekarang kita akan mencoba menghitung
jumlah record yang ada pada tabel pegawai.
 Hasil Tanpa Alias
mysql> select count(*) from pegawai;
+----------+
| count(*) |
+----------+
| 6 |
+----------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 22
 Hasil Menggunakan Alias
mysql> select count(*) as rekaman from pegawai;
+---------+
| rekaman |
+---------+
| 6 |
+---------+
 Dengan Menyebutkan Kolom
mysql> select count(nip) as rekaman from pegawai;
+---------+
| rekaman |
+---------+
| 6 |
+---------+
b. Menjumlah Suatu Bilangan dengan SUM
Fungsi SUM() digunakan untuk menjumlahkan nilai pada kolom yang berbentuk
angka atau data numerik. Dengan fungsi ini, berapapun nilai data pada setiap
record, dapat dijumlahkan secara cepat dan tepat.
Perintah: SELECT SUM(nama_kolom) AS alias
Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung
jumlah nilai data pada salah satu kolom dari tabel pegawai.
 Menghitung Rata Umur Secara Manual
mysql> select sum(umur)/6 as umurrata from pegawai;
+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
 Menghitung Rata Umur Tanpa Mengetahui Jumlah Record
mysql> select sum(umur)/count(*) as umurrata from pegawai;
+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
c. Mencari Nilai Rata-Rata dengan AVG
Fungsi AVG() digunakan untuk menghitung nilai rata-rata dari semua nilai
yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini, berapa
pun nilai data pada setiap record, dapat dihitung nilai rata-ratanya secara cepat dan
tepat.
Perintah: SELECT AVG(nama_kolom) AS alias
Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung
jumlah rata-rata data pada salah satu kolom dari tabel pegawai
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 23
 Menghitung Umur Rata-rata
mysql> select avg(umur) as umurrata from pegawai;
+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
 Menghitung Berat Rata-rata
mysql> select avg(berat) as beratrata from pegawai;
+-----------+
| beratrata |
+-----------+
| 64.5000 |
+-----------+
 Menghitung Tinggi Rata-rata
mysql> select avg(tinggi) as tinggirata from pegawai;
+--------------+
| tinggirata |
+--------------+
| 171.3333 |
+--------------+
d. Mencari Nilai Minimal dengan MIN
Fungsi MIN() digunakan untuk mendapatkan nilai terkecil dari semua nilai
yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini, berapa
pun nilai data pada setiap record, dapat dihitung nilai terkecilnya secara cepat dan
tepat.
Perintah: SELECT MIN(nama_kolom) AS alias
Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung nilai terkecil
atau nilai minimal data pada salah satu kolom dari tabel pegawai.
 Menghitung Umur Pegawai Paling Muda
mysql> select min(umur) as termuda from pegawai;
+---------+
| termuda |
+---------+
| 25 |
+---------+
 Menghitung Berat Pegawai Paling Kecil
mysql> select min(berat) as terkurus from pegawai;
+----------+
| terkurus |
+----------+
| 60 |
+----------+
 Menghitung Tinggi Pegawai Paling Pendek
mysql> select min(tinggi) as terpendek from pegawai;
+-----------+
| terpendek |
+-----------+
| 165 |
+-----------+
e. Mencari Nilai Maximal dengan MAX
Fungsi MAX() digunakan untuk mendapatkan nilai terbesar dari semua
nilai yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini,
berapapun nilai data pada setiap record, dapat dihitung nilai terkecilnya secara
cepat dan tepat.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 24
Perintah: SELECT MAX(nama_kolom) AS alias
Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung nilai
terbesar atau nilai maksimal data pada salah satu kolom dari tabel pegawai.
 Menghitung Umur Pegawai Paling Tua
mysql> select max(umur) as tertua from pegawai;
+--------+
| tertua |
+--------+
| 42 |
+--------+
 Menghitung Berat Pegawai Paling Berat
mysql> select max(berat) as terberat from pegawai;
+----------+
| terberat |
+----------+
| 70 |
+----------+
 Menghitung Nilai Maksimal Tinggi Badan
mysql> select max(tinggi) as tertinggi from pegawai;
+-----------+
| tertinggi |
+-----------+
| 177 |
+-----------+
f. Mencari Nilai Minimal dan Maximal
Dengan menggunakan fungsi MIN() dan MAX(), kita dapat mencari nilai
maksimal dan minimal secara bersamaan.
 Menghitung Berat Minimal dan Maksimal Sekaligus
mysql> select min(berat) as minimal, max(berat) as maximal from
pegawai;
+---------+---------+
| minimal | maximal |
+---------+---------+
| 60 | 70 |
+---------+---------+
 Menghitung Tinggi Minimal dan Maksimal Sekaligus
mysql> select min(tinggi) as minimal, max(tinggi) as maximal from
pegawai;
+---------+---------+
| minimal | maximal |
+---------+---------+
| 165 | 177 |
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 25
+---------+---------+
g. Seleksi Data dengan Range Nilai
Masih menggunakan data yang ada dalam tabel pegawai, kita akan
melakukan seleksi data berdasarkan range nilai. Untuk mendapatkan nilai data
seperti ini, kita dapat menggunakan operator pembanding BETWEEN.
 Menggunakan Operator Pembanding
Tampilkan data pegawai yang umurnya antara 30 sampai dengan 35 tahun,
Sehingga hasilnya seperti pada tabel dibawah ini.
mysql> select * from pegawai where (umur>=30) and (umur<=35);
+--------+---------------+------+--------+-------+
| nip | nama | umur | tinggi | berat |
+--------+---------------+------+--------+-------+
| 006003 | Susan Bahtiar | 30 | 165 | 60 |
+--------+---------------+------+--------+-------+
Lakukan hal yang sama untuk menampilkan data pegawai yang berat badannya antara 50
sampai dengan 60 kg menggunakan operator pembanding.
 Menggunakan Parameter BETWEEN
Menggunakan parameter BETWEEN merupakan cara terbaik untuk
mendapatkan nilai range atau nilai. Pada praktiknya, saat membuat laporan,
parameter ini biasa digunakan untuk mendapatkan laporan data per periode dan
range nilai.
Perintah: SELECT [* | kolom,[kolom]] FROM nama_tabel
WHERE kolom BETWEEN rangea AND rangeb
Dari bentuk perintah di atas, sekarang kita akan menampilkan data pegawai
berdasarkan renge nilai yang ditentukan.
mysql> select * from pegawai where umur between 30 and 35;
+--------+---------------+------+--------+-------+
| nip | nama | umur | tinggi | berat |
+--------+---------------+------+--------+-------+
| 006003 | Susan Bahtiar | 30 | 165 | 60 |
+--------+---------------+------+--------+-------+
Lakukan hal yang sama untuk menampilkan data pegawai yang berat badannya antara 50
sampai dengan 60 kg menggunakan parameter between.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 26
Modul 6
Operator dan Fungsi
6.1. Menggunakan Operator Aritmatika
Semua database yang mendukung perintah SQL juga mendukung operator
aritmatika. Beberapa operator yang biasa digunakan adalah “*”, “/”, “%”, “+” dan “-“.
Berikut keterangan lengkapnya:
Tabel Prioritas Penggunaan Operator Aritmatika
Operator Keterangan Prioritas
* Perkalian Pertama
/ Pembagian Kedua
% Sisa bagi Ketiga
+ - Penjumlahan, Pengurangan Keempat
a. Operasi Perkalian dengan *
Operator yang digunakan untuk operasi perkalian adalah tanda asterix (*).
Dengan menggunakan operator ini, kita dapat mengalikan dua nilai atau lebih
yang berbeda. Contoh:
mysql> select 10 * 5;
+--------+
| 10 * 5 |
+--------+
| 50 |
+--------+
mysql> select 2.5 * 5;
+---------+
| 2.5 * 5 |
+---------+
| 12.5 |
+---------+
mysql> select -2 * 5;
+--------+
| -2 * 5 |
+--------+
| -10 |
+--------+
b. Operasi Pembagian dengan /
Operator yang digunakan untuk operasi pembagian adalah (/). Dengan
menggunakan operator ini, Anda dapat membagi suatu bilangan dengan bilangan
yang lain. Contoh:
mysql> select 10 / 5;
+--------+
| 10 / 5 |
+--------+
| 2.0000 |
+--------+
mysql> select (9 / 3) * 2;
+-------------+
| (9 / 3) * 2 |
+-------------+
| 6.0000 |
+-------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 27
mysql> select 10 / 0.5, 10 / 2.5;
+----------+----------+
| 10 / 0.5 | 10 / 2.5 |
+----------+----------+
| 20.0000 | 4.0000 |
+----------+----------+
c. Operasi Penjumlahan dengan +
Operator yang digunakan untuk operasi penjumlahan atau penambahan adalah (+).
Dengan menggunakan operator ini, Anda dapat menjumlah dua bilangan atau
lebih. Contoh :
mysql> select 5 + 7;
+-------+
| 5 + 7 |
+-------+
| 12 |
+-------+
mysql> select 4 + 2 * 2,(2 + 4) * 2 ;
+-----------+-------------+
| 4 + 2 * 2 | (2 + 4) * 2 |
+-----------+-------------+
| 8 | 12 |
+-----------+-------------+
d. Operasi Pengurangan dengan –
Operator yang digunakan untuk operasi pengurangan adalah (-). Dengan
menggunakan operator ini, Anda dapat mengurangi suatu bilangan dengan
bilangan lain. Contoh :
mysql> select 8 - 4;
+-------+
| 8 - 4 |
+-------+
| 4 |
+-------+
mysql> select 6 - 2 + 8,(6 - 2) + 8;
+-----------+-------------+
| 6 - 2 + 8 | (6 - 2) + 8 |
+-----------+-------------+
| 12 | 12 |
+-----------+-------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 28
e. Mencari Sisa Pembagian dengan %
Operator yang digunakan untuk mencari sisa pembagian adalah (%). Dengan
menggunakan operator ini, Anda dapat mengetahui berapa sisa pembagian dari
suatu operasi pembagian. Contoh :
mysql> select 5 % 2;
+-------+
| 5 % 2 |
+-------+
| 1 |
+-------+
mysql> select 7 % 2, 7 % 3;
+-------+-------+
| 7 % 2 | 7 % 3 |
+-------+-------+
| 1 | 1 |
+-------+-------+
6.2. Menggunakan Fungsi Trigonometri
a. Menghitung Nilai RADIANS
Dalam menghitung nilai trigonometri dari suatu sudut, besar sudut tersebut harus
dalam bentuk radian. Fungsi yang digunakan untuk mencari nilai radian adalah
RADIANS. Berikut contohnya:
mysql> select radians(30);
+-----------------+
| radians(30) |
+-----------------+
| 0.5235987755983 |
+-----------------+
mysql> select radians(30),radians(45);
+-----------------+------------------+
| radians(30) | radians(45) |
+-----------------+------------------+
| 0.5235987755983 | 0.78539816339745 |
+-----------------+------------------+
b. Mendapatkan Derajat Sudut
Fungsi DEGREES dapat kita gunakan untuk mengembalikan nilai radian ke
dalam bentuk derajat. Contohnya sebagai berikut:
mysql> select radians(30),degrees(0.5235987755983);
+-----------------+--------------------------+
| radians(30) | degrees(0.5235987755983) |
+-----------------+--------------------------+
| 0.5235987755983 | 30 |
+-----------------+--------------------------+
c. Menghitung Nilai Cosinus
Jika kita ingin menghitung nilai cosinus dari suatu derajat, fungsi yang digunakan
adalah COS. Contohnya sebagai berikut:
mysql> select cos(radians(30)),cos(radians(90));
+------------------+----------------------+
| cos(radians(30)) | cos(radians(90)) |
+------------------+----------------------+
| 0.86602540378444 | 6.1230317691119e-017 |
+------------------+----------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 29
d. Menghitung Nilai Sinus dengan SIN
Jika kita ingin menghitung nilai sinus dari suatu derajat, fungsi yang digunakan adalah
SIN. Contonya sebagai berikut:
mysql> select sin(radians(45)),sin(radians(60));
+------------------+------------------+
| sin(radians(45)) | sin(radians(60)) |
+------------------+------------------+
| 0.70710678118655 | 0.86602540378444 |
+------------------+------------------+
e. Menghitung Nilai Tangen
Jika kita akan menghitung nilai tangen dari suatu derajat, fungsi yang digunakan adalah
TAN. Contohnya sebagai berikut:
mysql> select sin(radians(30)),sin(radians(60));
+------------------+------------------+
| sin(radians(30)) | sin(radians(60)) |
+------------------+------------------+
| 0.5 | 0.86602540378444 |
+------------------+------------------+
6.3. Menggunakan Fungsi Matematika
a. Membulatkan Suatu Bilangan Pecah dengan ROUND
Fungsi ROUND digunakan untuk membulatkan bilangan desimal menjadi satu nilai di
atasnya ataupun nilai di bawahnya. Hal ini dapat dilakukan sesuai dengan kondisi nilai
desimal yang ada di belakangnya. Contohnya sebagai berikut:
mysql> select round(2.45),round(2.55);
+-------------+-------------+
| round(2.45) | round(2.55) |
+-------------+-------------+
| 2 | 3 |
+-------------+-------------+
Pada contoh dibawah hasil dari pembulatan nilai desimalnya yang dipakai hanya 1
digit. Berikut contoh dan hasilnya:
mysql> select round(2.250, 1),round(2.252,2);
+-----------------+----------------+
| round(2.250, 1) | round(2.252,2) |
+-----------------+----------------+
| 2.3 | 2.25 |
+-----------------+----------------+
b. Pembualatan Pecahan Ke Atas dengan CEILING
Fungsi CEILING dapat digunakan untuk membulatkan suatu bilangan desimal
menjadi satu nilai di atasnya. Contohnya sebagai berikut:
mysql> select ceiling(2.23),ceiling(-2.55);
+---------------+----------------+
| ceiling(2.23) | ceiling(-2.55) |
+---------------+----------------+
| 3 | -2 |
+---------------+----------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 30
c. Pembulatan Pecahan Ke Bawah dengan FLOOR
Berbeda dengan fungsi sebelumnya, fungsi FLOOR digunakan untuk membulatkan
suatu bilangan desimal menjadi satu nilai di bawahnya. Contohnya sebagai berikut:
mysql> select floor(2.01),floor(2.80),floor(-2.45),floor(-2.75);
+-------------+-------------+--------------+--------------+
| floor(2.01) | floor(2.80) | floor(-2.45) | floor(-2.75) |
+-------------+-------------+--------------+--------------+
| 2 | 2 | -3 | -3 |
+-------------+-------------+--------------+--------------+
d. Mencari Nilai Pembagian dengan DIV
Fungsi DIV digunakan untuk mendapatkan nilai hasil pembagian dari dua buah
bilangan. Nilai yang dihasilkan dari fungsi ini bebentuk bilangan asli tanpa pecahan.
Contohnya sebagai berikut:
mysql> select 5 div 2, 5 / 2;
+---------+--------+
| 5 div 2 | 5 / 2 |
+---------+--------+
| 2 | 2.5000 |
+---------+--------+
e. Mendapatkan Sisa Pembagian dengan MOD
Fungsi MOD digunakan untuk mendapatkan modulus atau sisa pembagian dari operasi
pembagian. Jika pada fungsi DIV hasil dari sisa pembagiannya diabaikan, maka pada
fungsi ini malah yang menjadi hasilnya. Contohnya sebagai berikut:
mysql> select 9 mod 2;
+---------+
| 9 mod 2 |
+---------+
| 1 |
+---------+
f. Mendapatkan Nilai Terkecil dengan LEAST
Fungsi LEAST digunakan untuk mendapatkan nilai terkecil dari sederetan
bilangan atau data yang ada. contohnya sebagai berikut:
mysql> select least(1, 2, 3, 4, 5, 6, 7, 8, 9);
+----------------------------------+
| least(1, 2, 3, 4, 5, 6, 7, 8, 9) |
+----------------------------------+
| 1 |
+----------------------------------+
g. Mendapatkan Nilai Terbesar dengan GREATEST
Berbeda dengan fungsi sebelumnya, fungsi GREATEST digunakan untuk
mendapatkan nilai terbesar dari sederetan data yang ada. Contohnya sebagai
berikut:
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 31
mysql> select greatest(1, 2, 3, 4, 5, 6, 7, 8, 9);
+-------------------------------------+
| greatest(1, 2, 3, 4, 5, 6, 7, 8, 9) |
+-------------------------------------+
| 9 |
+-------------------------------------+
h. Operasi Perpangkatan dengan POW
Fungsi POW digunakan untuk mencari nilai pangkat dari suatu bilangan. Anda pasti sudah
paham, bahwa pangkat merupakan operasi perkalian suatu nilai dengan dirinya sendiri sebanyak
jumlah pemangkatnya. Perintahnya sebagai berikut:
POW(bilangan, pemangkat)
Pada praktiknya, penggunaan fungsi POW dapat digantikan dengan POWER,
kedua fungsi ini menghasilkan nilai yang sama. Perhatikan contoh berikut:
mysql> SELECT POW(2, 3),
-> POWER(2, 4),
-> POW(4, 2);
+----------+------------+----------+
| pow(2,3) | power(2,4) | pow(4,2) |
+----------+------------+----------+
| 8 | 16 | 16 |
+----------+------------+----------+
i. Mengacak Susunan Angka dengan RAND
Fungsi RAND digunakan untuk menghasilkan susunan angka yang bersifat acak. Perintahnya
sebagai berikut:
RAND([jumlah])
Pada sintaks di atas, Anda juga diizinkan tidak mendefinisikan jumlah
bilangannya, karena sifatnya hanya pilihan. Misalnya:
mysql> SELECT RAND();
mysql> SELECT RAND(2),
-> RAND(10),
-> RAND(20);
+--------------------+--------------------+---------------------+
| rand(2) | rand(10) | rand(20) |
+--------------------+--------------------+---------------------+
| 0.6555866465490187 | 0.6570515219653505 | 0.15888261251047497 |
+--------------------+--------------------+---------------------+
j. Mencari Nilai Akar dai Suatu Bilangan dengan SQRT
Fungsi SQRT dapat digunakan untuk mencari akar kuadrat dari suatu bilangan. Anda tentu masih
ingat dengan akar kuadrat, bukan? Jika belum jelas, Anda dapat melihat analogi berikut:
Jadi, akar merupakan perkalian dua bilangan yang sama sehingga menghasilkan
suatu bilangan hasil. Perintahnya sebagai berikut:
SQRT(bilangan)
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 32
Untuk dapat lebih mudah memahami perintah di atas, silahakn mempraktikkan
beberapa perintah berikut:
Berikut adalah perintah yang digunakan untuk menghitung nilai akar kuadrat dari
81. Lihat dan praktikkan perintah berikut.
mysql> SELECT SQRT(81);
+----------+
| sqrt(81) |
+----------+
| 9 |
+----------+
k. Mendapatkan Nilai PI
Fungsi PI dalam MySQL digunakan untuk mendapatkan nilai PI (3,14).
Perintahnya sebagai berikut:
mysql> SELECT PI();
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
l. Mengambil Panjang Desimal dari Bilangan dengan TRUNCATE
Fungsi TRUNCATE digunakan untuk mengambil jumlah digit bilangan desimal
sebanyak yang kita mau, dan tidak mengubah nilai dari bilangan primanya.
Misalnya:
mysql> SELECT TRUNCATE(1.245, 2),
-> TRUNCATE(5.23, 1);
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
m. Menggunakan Fungsi Logaritma
a. Mengenal Logaritma
Logaritma merupakan jumlah perpangkatan dari suatu bilangan. Logaritma basis
2
Log2 merupakan nilai pangkat dari bilangan 2. Sedangkan logaritma basis 10
merupakan nilai pangkat dari bilangan 10. Untuk lebih memahaminya, perhatikan
ilustrasi berikut:
Begitu juga dengan logaritma basis 10, perhatikan ilustrasi berikut:
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 33
b. Nilai Logaritma Basis 2 dengan LOG
Untuk mencari nilai logaritma basis 2, Anda dapat menggunakan fungsi LOG2.
Perintahnya sebagai berikut:
mysql> SELECT POWER(2, 4),
-> LOG2(16);
+------------+-----------+
| power(2,4) | log2(128) |
+------------+-----------+
| 16 | 7 |
+------------+-----------+
c. Nilai Logaritma Basis 10 dengan LOG10
Untuk mencari nilai logaritma basis 10, Anda dapat menggunakan fungsi LOG 10.
Perintahnya sebagai berikut:
mysql> SELECT POWER(10, 4),
-> LOG10(10000);
+-------------+--------------+
| power(10,4) | log10(10000) |
+-------------+--------------+
| 10000 | 4 |
+-------------+--------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 34
Modul 7
Fungsi String
a. Konversi String Menjadi Huruf Kecil
Apapun bentuk huruf dari karakter yang ada, dapat dikonversi ke dalam format huruf
kecil, menggunakan fungsi LCASE. Perintahnya sebagai berikut:
LCASE( string )
Selain LCASE, pada MySQL juga terdapat perintah LOWER. Berikut contoh
penggunanya.
mysql > SELECT LCASE('TEKNIK INFORMATIKA');
+-----------------------------+
| LCASE('TEKNIK INFORMATIKA') |
+-----------------------------+
| teknik informatika |
+-----------------------------+
mysql> SELECT LOWER('Teknik Informatika');
+-----------------------------+
| lower('TEKNIK INFORMATIKA') |
+-----------------------------+
| teknik informatika |
+-----------------------------+
b. Konversi String Menjadi Huruf Besar
Kebalikan dari fungsi LCASE adalah UCASE. Dengan menggunakan fungsi ini, anda
dapat mengkonversi string dengan format huruf kecil menjadi huruf besar. Perintahnya
sebagai berikut:
UCASE(string)
Selain fungsi UCASE, kita juga dapat menggantinya dengan fungsi UPPER. Untuk
lebih jelasnya, Anda dapat mencoba latihan berikut:
mysql > SELECT UCASE('teknik informatika');
+-----------------------------+
| UCASE('teknik informatika') |
+-----------------------------+
| TEKNIK INFORMATIKA |
+-----------------------------+
mysql> SELECT UPPER('Teknik Informatika');
+-----------------------------+
| upper('teknik informatika') |
+-----------------------------+
| TEKNIK INFORMATIKA |
+-----------------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 35
c. Mengambil Bagian String Tertentu dengan SUBSTRING
Dengan menggunakan fungsi SUBSTRING, kita dapat mengambil bagian tertentu
dari suatu string, baik digit karakter yang ada di tengah, pinggir, ataupun di tempat
lain. Alias dari fungsi di atas adalah SUBSTR. Perintahnya sebagai berikut:
SUBSTRING(string, int_mulai [, int_jumlah])
Keterangan:
String : string atau karakter tujuan yang akan diambil sebagai digit
karakternya.
Int_mulai : nomor urut dari karakter penyusun string tersebut, digit
pertama akan dianggap nomor urut 1, sedangkan pada digit paling akhir akan
dianggap dengan nomor urut –1.
Int_jumlah : jumlah karakter yang akan diambil dari suatu string,
jumlahnya terhitung dari karakter mulai. Jika bernilai minus, maka data ini akan
menjadi batas, tetapi syaratnya harus lebih besar dari data int_mulai.
Untuk mempermudah memahami keterangan diatas perhatikan gambar dibawah ini.
1. Gambaran dasar penggunaan dari fungsi SUBSTRING atau SUBSTR.
Menggunakan satu nilai dalam mengambil karakter
Untuk lebih jelasnya, Anda dapat mencoba perintah sederhana berikut.
mysql > SELECT SUBSTRING('Teknik Informatika', 6);
+-----------------------------------+
| substring('Teknik Informatika',6) |
+-----------------------------------+
| k Informatika |
+-----------------------------------+
mysql> SELECT SUBSTR('KOMPUTER',3);
+----------------------+
| substr('KOMPUTER',3) |
+----------------------+
| MPUTER |
+----------------------+
2. Pada contoh di atas, nilai positif yang ada akan dianggap sebagai nilai start (nilai awal)
dari pengambilan digit karakter. Sedangkan jika menggunakan dua nilai, maka angka
pertama sebagai nilai awal dan angka kedua dibaca sebagai jumlah pengambilan.
Perhatikan bentuk berikut:
Menggunakan nilai awal dan jumlah pengambilan dengan nilai positif
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 36
mysql > SELECT SUBSTRING('Teknik Informatika', 5, 6);
+-------------------------------------+
| substring('Teknik Informatika',5,6) |
+-------------------------------------+
| ik Inf |
+-------------------------------------+
3. Jika ingin mengambil sebagian data sampai karakter terakhir, maka kita harus
mengetahui berapa jumlah maksimal digit dari total karakter, dimulai dari digit awal
sampai terakhir. Perhatikan penggambaran berikut:
Mengambil sebagian data
Seperti pada gambar di atas, jika kita hanya ingin mengambil karakter “Informatika”
saja, maka perintah yang digunakan sebagai berikut:
mysql > SELECT SUBSTRING('Tehnik Informatika', 8, 11);
+--------------------------------------+
| substring('Teknik Informatika',8,11) |
+--------------------------------------+
| Informatika |
+--------------------------------------+
4. Jika kita menggunakan nilai negatif pada bagian int_mulai, Urutan karakter penyusun
dari string tersebut akan dibaca secara terbalik, yaitu dihitung dari karakter paling
akhir. Untuk lebih jelasnya, Anda dapat melihat penggambaran berikut:
Mengambil data dengan nilai negatif
Jadi, karakter terakhir akan dianggap bernilai –1, kemudian diikuti dengan digit kedua
dengan nilai –2 sampai digit pertama. Dengan cara seperti gambar di atas, Anda dapat
mencoba perintah berikut:
mysql > SELECT SUBSTRING('Teknik Informatika', -11, 4);
+---------------------------------------+
| substring('Teknik Informatika',-11,4) |
+---------------------------------------+
| Info |
+---------------------------------------+
Contoh lain jika kita akan mengambil 18 karakter yang dimulai dari urutan karakter ke –18.
Caranya:
mysql > SELECT SUBSTRING('Teknik Informatika', -18, 18);
+----------------------------------------+
| substring('Teknik Informatika',-18,18) |
+----------------------------------------+
| Teknik Informatika |
+----------------------------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 37
d. Mengambil String Bagian Kiri dengan LEFT
Fungsi LEFT digunakan untuk mengambil sebagian string dimulai dari arah kiri
string. Fungsi ini dapat diterapkan pada semua database yang mendukung perintah
SQL, termasuk MySQL. Perintahnya sebagai berikut:
LEFT(string, int_jumlah)
Teknik pengambilannya akan dimulai dari karakter pertama dari suatu string,
kemudian dihitung sebanyak jumlah yang akan diambil. Penggunaan dari fungsi ini
dapat dilihat pada gambar berikut:
Pengambilan sebagian string sebelah kiri
Pada gambar di atas, kita akan mengambil 6 karakter mulai dari sebelah kiri string,
sehingga hasilnya adalah “Tehnik”. Anda dapat mencoba perintah berikut:
mysql > SELECT LEFT('Teknik Informatika', 6);
+------------------------------+
| left('Teknik Informatika',6) |
+------------------------------+
| Teknik |
+------------------------------+
e. Mengambil String Bagian Kanan dengan RIGHT
Fungsi RIGHT digunakan untuk mengambil beberapa digit karakter dimulai dari sebelah
kanan string. Karakter tarakhir penyusun string akan dianggap memiliki nomor urut 1,
kemudian diurutkan secara terbalik. Perintahnya sebagai berikut:
RIGHT(string, int_jumlah)
Dari sintaks di atas, dapat kami perjelas teknik pengambilan datanya seperti pada gambar
berikut:
Pengambilan bagian kanan string
Pada gambar di atas, kita mengambil 11 digit karakter dari sebelah kanan, sehingga
hasilnya adalah “Informatika”. Untuk lebih jelasnya, Anda dapat mencoba seperti
perintah berikut:
mysql > SELECT RIGHT('Teknik Informatika', 11);
+--------------------------------+
| right('Teknik Informatika',11) |
+--------------------------------+
| Informatika |
+--------------------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 38
f. Konversi Bilangan Ke dalam Bentuk ASCII
Kita dapat mengetahui kode ASCII dari suatu huruf dengan menggunakan fungsi ASCII.
Selain itu, kita juga dapat menggunakan fungsi ORD untuk mendapatkan bilangan ASCII.
Perintahnya sebagai berikut:
ASCII(‘karakter’)
ORD(‘karakter’)
Dari sintaks di atas, anda dapat mencoba beberapa perintah berikut:
mysql> SELECT ASCII('5');
+------------+
| ascii('A') |
+------------+
| 65 |
+------------+
mysql> SELECT ASCII('A'), ASCII('a');
+------------+------------+
| ascii('A') | ascii('a') |
+------------+------------+
| 65 | 97 |
+------------+------------+
mysql> SELECT ORD('A'), ORD('a');
+----------+----------+
| ord('A') | ord('a') |
+----------+----------+
| 65 | 97 |
+----------+----------+
g. Konversi Bentuk Heksadesimal
Dengan menggunakan fungsi HEX, kita dapat mencari bilangan HEXADESIMAL
dari suatu karakter (angka dan huruf). Sintaks dasar perintah tersebut adalah:
HEX(‘karakter’)
Dengan melihat sintaks di atas, Anda dapat mencoba perintah berikut:
mysql> SELECT HEX(225);
+----------+
| hex(225) |
+----------+
| E1 |
+----------+
mysql> SELECT HEX('ABC');
+------------+
| hex('ABC') |
+------------+
| 414243 |
+------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 39
h. Konversi Bentuk Desimal ke dalam Bentuk Karakter
Kita dapat mengembalikan hasil konversi dari fungsi ORD atau HEX dengan
menggunakan fungsi CHAR. Perintahnya sebagai berikut:
CHAR(‘desimal’)
Untuk lebih jelasnya, Anda dapat mencoba perintah berikut:
mysql> SELECT CHAR(66);
+----------+
| char(66) |
+----------+
| B |
+----------+
mysql> SELECT CHAR(85, 78, 83, 73, 76);
+----------------------+
| char(85,78,83,73,76) |
+----------------------+
| UNSIL |
+----------------------+
i. Mendapatkan Bilangan Biner
Bilangan biner merupakan susunan dari angka 0 dan 1 sebanyak 4 digit atau
kelipatannya. Perintahnya sebagai berikut:
BIN(desimal)
Untuk lebih jelasnya, Anda dapat melihat contoh berikut:
mysql> SELECT BIN(8);
+--------+
| bin(8) |
+--------+
| 1000 |
+--------+
mysql> SELECT BIN(3);
+--------+
| bin(3) |
+--------+
| 11 |
+--------+
j. Menyisipkan Karakter Tertentu Pada String
Fungsi INSERT digunakan untuk menyisipkan suatu karakter pada suatu string
dengan menggunakan alamat tertentu. Perintahnya sebagai berikut:
INSERT(string, int_mulai [, int_jumlah], str_baru)
Pada sintaks di atas, teknik penempatan karakter baru (str_baru) menggunakan alamat
urutan digit seperti pada saat menggunakan fungsi SUBSTR (jika belum jelas Anda
dapat membaca pembahasan sebelumnya). Misalnya:
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 40
mysql> SELECT INSERT('TekInformatika',3,1,'nik ');
+------------------------------------+
| insert('tekinformatika',3,1,'nik') |
+------------------------------------+
| tenikinformatika |
+------------------------------------+
Pada contoh di atas, kita memiliki string yang berbunyi “TekInformatika”, kemudian
pada karakter ke-3 sebanyak 1 digit ke depan atau “k” kita ganti dengan “nik”.
k. Menghitung Panjang String
Dengan menggunakan fungsi LENGTH atau CHAR_LENGTH, kita dapat
memperoleh informasi berapa panjang suatu string. Perintahnya sebagai berikut:
LENGT(string);
CHAR_LENGT(string);
Untuk lebih jelasnya, Anda dapat mencoba perintah berikut:
mysql> SELECT LENGTH('Teknik Informatika');
+------------------------------+
| length('Teknik Informatika') |
+------------------------------+
| 18 |
+------------------------------+
l. Menemukan Posisi Suatu Karakter Pada String
Dengan menggunakan fungsi LOCATE, Anda dapat memperoleh informasi letak
suatu substring (bagian string) dari string yang ada. Fungsi alias dari LOCATE adalah
INSTR. Perintahnya sebagai berikut:
LOCATE(substring, string)
Untuk lebih jelasnya, Anda dapat mencoba perintah berikut:
mysql> SELECT LOCATE('format', 'Teknik Informatika');
+---------------------------------------+
| locate('format','Teknik Informatika') |
+---------------------------------------+
| 10 |
+---------------------------------------+
m. Menghilangkan Spasi Kosong Pada Kalimat
Suatu ketika, pasti kita akan memiliki data yang di dalamnya terdapat spasi kosong
yang tidak diperlukan, misalnya spasi ganda. Jika hal ini menjadi masalah, kita dapat
menghilangkan spasi-spasi kosong yang tidak diperlukan dengan menggunakan fungsi
TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai
berikut:
 RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian
kanan (Right) string.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 41
 LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian
kiri (LEFT) string.
 TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian
kiri, kanan, maupun tengah string.
Perintah ketiga fungsi di atas sama, yaitu:
RTRIM(string)
LTRIM(string)
TRIM(string)
Untuk lebih memahami bentuk sintaks di atas, Anda dapat mencoba ketiga perintah
berikut:
1. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kiri
kalimat.
mysql> SELECT LTRIM(' Teknik Informatika');
+-----------------------------------+
| ltrim(' Teknik Informatika') |
+-----------------------------------+
| Teknik Informatika |
+-----------------------------------+
2. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kanan
kalimat.
mysql> SELECT RTRIM('Teknik Informatika ');
+----------------------------------+
| rtrim('Teknik Informatika ') |
+----------------------------------+
| Teknik Informatika |
+----------------------------------+
3. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kiri
dan kanan kalimat.
mysql> SELECT TRIM(' Teknik Informatika ');
+----------------------------------------+
| trim(' Teknik Informatika ') |
+----------------------------------------+
| Teknik Informatika |
+----------------------------------------+
n. Membuat Spasi Kosong dengan SPACE
Jika fungsi TRIM digunakan untuk membuang spasi kosong yang ada pada suatu
string, dengan menggunakan SPACE, kita dapat membuat spasi kosong sebanyak
yang disebutkan. Perintahnya sebagai berikut:
SPACE(int_jumlah)
Pada sintaks di atas, parameter int_jumlah adalah jumlah spasi kosong yang akan dibuat.
Misalnya:
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 42
mysql> SELECT SPACE(15);
+-----------------+
| space(15) |
+-----------------+
| |
+-----------------+
o. Mencari Suatu Karakter dan Mengganti dengan Karakter Lain
Dengan menggunakan fungsi REPLACE, Anda dapat mencari suatu substring atau
karakter dari suatu string. Kemudian, setelah ditemukan dapat diganti dengan string
yang lain. Perintahnya sebagai berikut:
REPLACE (string, str_asal, str_pengganti)
Dengan menggunakan fungsi di atas, semua karakter yang ditemukan akan diganti
dengan karakter baru sebagai pengganti. Misalnya, kita akan mengganti setiap tanda
titik (.) menjadi „dot‟:
mysql> SELECT REPLACE ('www.tasikmalaya.go.id','.', ' dot ');
+--------------------------------------------+
| replace('www.tasikmalaya.go.id','.','dot') |
+--------------------------------------------+
| wwwdottasikmalayadotgodotid |
+--------------------------------------------+
p. Mengulangi Suatu String Sebanyak Jumlah Tertentu
Fungsi REPEAT digunakan untuk membuat data berulang sebanyak jumlah angka
yang kita sebutkan. Perintahnya sebagai berikut:
REPEAT (string, jumlah)
Misalnya, kita akan menampilkan kata „MySQL‟ sebanyak 5 kali.
mysql> SELECT REPEAT('MySQL', 5);
+---------------------------+
| repeat('MySQL',5) |
+---------------------------+
| MySQLMySQLMySQLMySQLMySQL |
+---------------------------+
q. Membalik Susunan Karakter pada Suatu String
Dengan menggunakan fungsi REVERSE, kita dapat membalik susunan karakter dari
suatu string . Berikut sintaks dasarnya:
REVERSE(string)
Misalnya, jika kita memiliki string dengan ejaan “ABCDEFGHIJK”, maka hasilnya
adalah “KJIHGFEDCBA”. Perhatikan contoh berikut:
mysql> SELECT REVERSE('ABCDEFHTIJK');
+----------------------+
| reverse('ABCDEFIJK') |
+----------------------+
| KJIFEDCBA |
+----------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 43
r. Memberikan Tanda Back Slahs pada Tanda Petik Satu
Pada suatu ketika, pasti kita akan menemukan suatu kalimat yang di dalamnya
terdapat tanda petik tunggal maupun petik ganda. Supaya data tersebut dapat
ditampilkan, kita harus menggunakan fungsi QUOTE untuk mematikannya.
Perintahnya sebagai berikut:
QUOTE(string)
Misalnya, jika kita memiliki kata yang di dalamnya terdapat tanda petik tunggal
seperti “Jum‟at” dan “Do‟a”, perintahnya sebagai berikut:
mysql> SELECT QUOTE("Sekarang hari jum'at");
+-------------------------------+
| quote("sekarang hari jum'at") |
+-------------------------------+
| 'sekarang hari jum'at' |
+-------------------------------+
s. Menambahkan Beberapa Karakter Pada String
Kita dapat menambahkan atau menggabungkan suatu karakter ke dalam string
sebanyak jumlah maksimal bilangan yang disebutkan.
Untuk menambahkan karakter pada sebelah kanan, kita dapat menggunakan fungsi
RPAD, sedangkan jika akan menambahkan karakter pada sebelah kiri, kita dapat
menggunakan fungsi LPAD. Perintahnya sebagai berikut:
RPAD(string, jumlah, str_tambahan)
LPAD(string, jumlah, str_tambahan)
Untuk lebih jelasnya, Anda dapat melihat contoh berikut:
mysql> SELECT LPAD('TI', 5, '++');
+-------------------+
| lpad('TI',5,'++') |
+-------------------+
| +++TI |
+-------------------+
Pada contoh di atas, awalnya kita memiliki string bernama “TI”, kemudian jumlah
maksimalnya adalah 5 digit. Jadi, Untuk menambahkan karakter “++” pada sebelah
kiri, supaya jumlah maksimalnya 5, maka kita hanya diperbolehkan menambah 3 digit.
Sehingga hasilnya “+++TI”. Begitu juga dengan penambahan karakter pada sebelah
kanan, misalnya:
mysql> SELECT RPAD('TI', 8, '++');
+-------------------+
| rpad('TI',8,'++') |
+-------------------+
| TI++++++ |
+-------------------+
t. Mengambil String dari Sederetan String
Jika kita memiliki sederetan string dan akan mengambil hanya sebagian string yang
ditunjuk saja, maka fungsi yang dapat digunakan adalah ELT. Perintahnya sebagai
berikut:
ELT (N, str1, str2, str3, str4, ,.., strn)
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 44
Dari sintaks di atas, jika parameter N bernilai 1, maka string yang didapat adalah str1.
Sedangkan jika N=2, maka yang didapat adalah str2, dan seterusnya. Untuk lebih
jelasnya, lihatlah contoh perintah berikut:
mysql> SELECT ELT(1, 'TI','TK','SI','MI','KA');
+---------------------------------+
| elt(1,'TI','TK','SI','MI','KA') |
+---------------------------------+
| TI |
+---------------------------------+
Pada contoh di atas, nilai N adalah 1, sehingga yang didapatkan dari perintah di atas
adalah TI. Karena karakter “TI” merupakan string urutan ke-1. Jika akan mengambil
karakter “TK”, maka nilai N-nya harus bernilai 2. Untuk mengambil karakter “SI”,
maka nilai N-nya harus bernilai 3. Untuk mengambil karakter “MI”, maka nilai N-nya
harus bernilai 4 dan untuk mengambil karakter “KA” nilai N-nya harus bernilai 5.
Untuk membuktikannya, sekarang coba gunakan nilai N=4.
mysql> SELECT ELT(4, 'TI','TK','SI','MI','KA');
+---------------------------------+
| elt(4,'TI','TK','SI','MI','KA') |
+---------------------------------+
| MI |
+---------------------------------+
u. Mencari Posisi Suatu String pada Sederetan String yang Ada
Jika kita akan mencari posisi suatu string dari sederetan string yang ada, maka fungsi
yang digunakan adalah FIELD. Perintahnya sebagai berikut:
FIELD(string, str1, str2, str3, str4, ..., strn)
Pada sintaks di atas, parameter string merupakan karakter yang akan dicari posisinya,
apakah terletak pada str1, str2, atau str3, dan seterusnya. Nilai balik dari fungsi di atas
adalah bilangan real. Misalnya:
mysql> SELECT FIELD('TI', 'TI','TK','SI','MI','KA');
+--------------------------------------+
| field('TI','TI','TK','SI','MI','KA') |
+--------------------------------------+
| 1 |
+--------------------------------------+
Pada contoh di atas, kita mencari letak karakter “TI”, ternyata ditemukan pada string
pertama (str1). Selanjutnya, jika akan mencari letak karakter “MI”, kita dapat
menuliskan perintah berikut:
mysql> SELECT FIELD('MI', 'TI','TK','SI','MI','KA');
+--------------------------------------+
| field('MI','TI','TK','SI','MI','KA') |
+--------------------------------------+
| 4 |
+--------------------------------------+
v. Mencari Posisi Suatu String Pada Sederetan String Bertumpuk
Fungsi FIND_IN_SET hampir mirip dengan fungsi sebelumnya, yang membedakan
hanyalah bentuk deretan string yang tidak dipisahkan menjadi string tersendiri,
melainkan string bertumpuk. Perintahnya sebagai berikut:
FIND_IN_SET (string, str_daftar)
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 45
Untuk lebih jelasnya, Anda dapat mencoba perintah berikut:
mysql> SELECT FIND_IN_SET('TK', 'TI,TK,SI,MI,KA');
+------------------------------------+
| find_in_set('TK','TI,TK,SI,MI,KA') |
+------------------------------------+
| 2 |
+------------------------------------+
mysql> SELECT FIND_IN_SET('KA', 'TI,TK,SI,MI,KA');
+------------------------------------+
| find_in_set('KA','TI,TK,SI,MI,KA') |
+------------------------------------+
| 5 |
+------------------------------------+
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 46
Modul 8
Fungsi Tanggal dan Waktu
a. Mendapatkan Tanggal dan Waktu Sekarang
NOW merupakan fungsi MySQL untuk mendapatkan informasi tanggal dan jam yang
berjalan saat ini. Perintahnya sebagai berikut:
mysql> SELECT NOW();
Dalam menuliskan tanggal, MySQL memiliki format “Y-m-d” atau “Year-Month-
Date”. Jadi, jika Anda memiliki data “25 November 2008”, maka di dalam MySQL
ditulis “2008-11-25”.
b. Mendapatkan Tanggal Sekarang
CURDATE() digunakan untuk mendapatkan informasi tanggal saja. Perintahnya
sebagai berikut:
mysql> SELECT CURDATE();
c. Mendapatkan Data Tanggal dari Ekspresi
Fungsi DATE(date time) digunakan untuk mendapatkan nilai tanggal secara lengkap.
Perintahnya sebagai berikut:
mysql> SELECT DATE('2008-11-26 04:02:03');
d. Mendapatkan Nilai Tanggal
Fungsi DAY(date) atau DAYOFMONTH(date) digunakan untuk mendapatkan
informasi tanggal saja, dengan format “Y-m-d”. Berikut adalah dua contoh
perintahnya:
mysql> SELECT DAYOFMONTH('2007-11-25');
mysql> SELECT DAYOFMONTH(NOW()) AS 'Tanggal';
e. Mendapatkan Nilai Bulan
Dari data tanggal lengkap (Y-M-D), jika kita hanya ingin mendapatkan informasi
bulannya saja, perintahnya adalah MONTH(date). Berikut adalah contoh perintahnya:
mysql> SELECT MONTH('2007-11-25');
mysql> SELECT MONTH(NOW()) AS 'BULAN';
f. Mendapatkan Nilai Tahun
Dari data tanggal lengkap (Y-M-D), jika kita hanya ingin mendapatkan informasi
tahunnya saja, perintahnya adalah YEAR(date). Berikut adalah dua contoh
perintahnya:
mysql> SELECT YEAR('2007-11-25');
mysql> SELECT YEAR(NOW()) AS 'TAHUN';
g. Mendapatkan Nama Hari
Dari data tanggal lengkap (Y-M-D), jika kita ingin mendapatkan informasi nama hari
yang sesuai dengan tanggal tertentu, perintahnya adalah DAYNAME(date).
Perintahnya sebagai berikut:
mysql> SELECT DAYNAME('2007-11-25');
mysql> SELECT DAYNAME(NOW()) AS 'HARI';
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 47
h. Mendapatkan Nama Bulan
Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi nama bulan
yang sesuai dengan tanggal tertentu, fungsi yang digunakan adalah
MONTHNAME(date). Berikut adalah contoh perintahnya:
mysql> SELECT MONTHNAME('2007-11-25');
mysql> SELECT MONTHNAME(NOW()) AS 'BULAN';
i. Mendapatkan Urutan Hari Dalam Seminggu
Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan hari
yang dihitung dalam seminggu, perintahnya adalah DAYOFWEEK(date). Dari fungsi
tersebut, hasil yang ditampilkan adalah indeks urutan dalam seminggu (1 = Sunday, 2
= Monday, ..., 7 = Saturday). Berikut adalah dua contoh perintahnya:
mysql> SELECT DAYOFWEEK('2007-11-25');
mysql> SELECT DAYOFWEEK(NOW()) AS 'HARI KE';
j. Mendapatkan Nama Hari Dalam Bentuk Angka
Berbeda dengan fungsi sebelumnya, kita dapat memperoleh informasi nama hari
dalam bentuk angka, dengan syarat (0 = Monday, 1 = Tuesday,... 6 = Sunday). Fungsi
yang digunakan adalah WEEKDAY(date). Berikut adalah dua contoh termasuk
perbedaannya:
mysql> SELECT WEEKDAY('2008-01-12');
mysql> SELECT DAYOFWEEK('2008-01-12');
Jadi, jika data tanggal untuk hari Senin/Monday, nilainya adalah 0, Selasa/Tuesday
bernilai 1, dan seterusnya sampai Minggu/Sunday bernilai 6.
k. Mendapatkan Urutan Hari Dalam Setahun
Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan hari
yang dihitung dalam satu tahun, perintahnya adalah DAYOFYEAR(date). Dari fungsi
tersebut, hasil yang ditampilkan adalah indeks urutan hari dalam satu tahun, mulai dari
1 sampai dengan 365 hari. Berikut adalah dua contoh perintahnya:
mysql> SELECT DAYOFYEAR('2007-02-25');
mysql> SELECT DAYOFYEAR(NOW()) AS 'HARI KE';
l. Mendapatkan Urutan Minggu Dalam Setahun
Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan
minggu yang dihitung dalam satu tahun, maka fungsi yang digunakan adalah
WEEKOFYEAR(date). Dari fungsi tersebut, hasil yang ditampilkan adalah indeks
urutan minggu dalam satu tahun, mulai dari 1 sampai dengan 52 minggu. Berikut
adalah dua contoh perintahnya:
mysql> SELECT WEEKOFYEAR('2007-01-05');
mysql> SELECT WEEKOFYEAR('2007-12-30');
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 48
m. Mendapatkan Informasi Tanggal Terakhir
Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi tanggal
terakhir pada bulan yang berjalan atau pada suatu waktu yang kita tentukan,
perintahnya adalah LAST_DAY(date). Berikut adalah dua contoh perintahnya:
mysql> SELECT LAST_DAY('2007-11-01');
Hasil dari perintah LAST_DAY sama, selama tanggal yang disebutkan masih masuk
pada bulan yang ditunjuk.
mysql> SELECT LAST_DAY('2007-11-30');
Dengan perintah di atas, jika tanggal yang disebutkan salah atau tidak ada pada bulan
tersebut, maka hasilnya adalah NULL atau tanpa nilai.
n. Membuat Tanggal dari Urutan Hari
Jika kita memiliki data urutan hari dalam satu tahun, kita dapat menampilkan data
tanggal secara lengkap, dengan cara menyebutkan tahun berapa tanggal akan dibentuk.
Fungsi yang digunakan MAKEDATE(year, dayofyear), di mana parameter year
adalah nilai tahun yang akan dibentuk dan dayofyear adalah urutan hari dalam satu
tahun.
mysql> SELECT MAKEDATE(2008,31), MAKEDATE(2008,32);
mysql> SELECT MAKEDATE(2007,365), MAKEDATE(2008,365);
o. Informasi Tanggal Beberapa Hari Kemudian
Jika kita memiliki data tanggal dan ingin mengetahui tanggal berapa yang berjalan
setelah n hari kemudian, kita dapat menggunakan fungsi ADDDATE untuk
menghitungnya. Berikut adalah sintaks dasar kedua fungsi tersebut:
ADDDATE(date,days)
Pada sintaks di atas, parameter days merupakan jumlah hari yang akan ditambahkan
dari data tanggal yang telah disebutkan pada parameter date. Misalnya:
mysql> SELECT ADDDATE('2008-01-02', 31);
mysql> SELECT ADDDATE('2007-12-02', 31);
p. Mendapatkan Waktu Sekarang
Sebelumnya telah dipelajari, bahwa untuk mendapatkan informasi tanggal dan jam
atau waktu dapat dilakukan dengan fungsi NOW(). Sekarang, jika kita hanya ingin
mendapatkan informasi waktu atau jam saja, perintahnya adalah CURTIME.
Misalnya:
mysql> SELECT CURTIME();
mysql> SELECT CURTIME() AS hasil1,
-> CURTIME() + 0 AS hasil2,
-> CURTIME() + 1 AS hasil3,
-> CURTIME() + 6 AS hasil4;
q. Mendapatkan Data Waktu dari Ekspresi
Jika kita memiliki ekspresi data tanggal dan waktu, untuk mendapatkan nilai waktu
secara lengkap, dapat dilakukan menggunakan fungsi TIME. Berikut adalah dua
contoh perintahnya:
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 49
mysql> SELECT TIME('2007-11-24 19:49:44');
mysql> SELECT TIME('2007-11-24 19:49:44') AS hasil;
r. Mendapatkan Nilai Detik
Jika kita hanya ingin mendapatkan informasi tanggalnya saja, maka fungsi yang
digunakan adalah SECOND(time), di mana time adalah data waktu dalam format “H-
i-s”. Berikut adalah dua contoh perintahnya:
mysql> SELECT SECOND('19:05:03');
mysql> SELECT SECOND(CURTIME());
s. Mendapatkan Nilai Menit
Dari data waktu yang lengkap (H-i-s), jika kita hanya ingin mendapatkan informasi
nilai menit saja, perintahnya adalah MINUTE(time). Berikut adalah dua contoh
perintahnya:
mysql> SELECT MINUTE('19:05:03');
mysql> SELECT MINUTE('2007-11-24 19:05:03');
t. Mendapatkan Nilai Jam
Dari data waktu yang lengkap (H-i-s), jika kita hanya ingin mendapatkan informasi
nilai jamnya saja, perintahnya adalah HOUR(time). Berikut adalah dua contoh
perintahnya:
mysql> SELECT HOUR('19:05:03');
mysql> SELECT HOUR('2007-11-24 19:05:03');
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 50
Modul 9
Relasi Antar Tabel
Membuat Database Relasional
Sebelum membuat database, kita harus merancang relasi (hubungan) antar tabel.
Dari tabel-tabel yang akan dibuat. Pada contoh kali ini, kita akan membuat database relasi
untuk kasus jual beli dimana terdapat 3 tabel master dan 2 tabel transaksi seperti pada
gambar dibawah ini.
Relasional database penjualan barang
Penulisan script SQL secara lengkap untuk rancangan database diatas, dapat dilihat pada
tampilan berikut:
CREATE DATABASE npm_jualbeli;
USE npm_jualbeli;
CREATE TABLE barang_jenis (
kd_jenis char(4) NOT NULL,
nm_jenis varchar(60) NOT NULL,
PRIMARY KEY (kd_jenis));
CREATE TABLE barang (
kd_barang char(4) NOT NULL,
nm_barang varchar(60) NOT NULL,
kd_jenis char(3) NOT NULL,
harga int(11) NOT NULL,
PRIMARY KEY (kd_barang));
CREATE TABLE pelanggan (
kd_plg char(5) NOT NULL,
nama varchar(60) NOT NULL,
alamat varchar(100) NOT NULL,
PRIMARY KEY (kd_plg));
CREATE TABLE penjualan (
no_transaksi char(6) NOT NULL,
kd_plg char(5) NOT NULL,
tanggal date NOT NULL,
PRIMARY KEY (no_transaksi));
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 51
CREATE TABLE penjualan_detail (
id_jual int(4) NOT NULL AUTO_INCREMENT,
no_transaksi char(6) NOT NULL,
kd_barang char(4) NOT NULL,
jumlah int(2) NOT NULL default '1',
PRIMARY KEY (id_jual)) ;
Untuk mengisi tabel tersebut, masukkan data seperti tabel di Kasus 2
a. Operasi Relasi Pada Dua Tabel
Untuk mempermudah pemahaman, pada bagian ini terlebih dahulu akan dijelaskan
teknik dasar membuat query data dari 2 tabel yang berhubungan. Misalnya, data pada tabel
barang dan barang_jenis.
Gambar Relasi antara tabel barang dan jenis
Gambar diatas merupakan salah satu contoh relasi One to Many, yaitu hubungan
data dari satu ke banyak. Artinya, satu jenis barang terdiri dari lebih dari satu barang
(banyak barang). Misalnya jenis barang hardisk, terdiri dari Seageate 40 GB, Seageate 60
GB, WDC 40 GB, dan lain sebagainya. Jadi, satu jenis barang bisa memiliki anggota
banyak barang.
b. Teori Pengambilan Kolom Tabel Relasi
Teknik yang paling mudah dengan menghubungkan antara nama tabel dan kolom
dengan tanda titik (.). Cara penulisan query untuk tabel barang_jenis, lihat gambar di
bawah ini.
Analogi pengambilan kolom tabel barang_jenis
c. Teknik Dasar Relasi Dua Tabel
Sebagai dasar, kita akan menggunakan tabel barang dan barang_jenis. Untuk
mendapatkan data barang dengan informasi lengkap (termasuk jenisnya) dengan query,
maka kita harus mengambil informasi data dari tabel yang terkait.
Perintah : SELECT tabelA.kolom1, tabelB.kolom1, tabelA.kolom2
FROM tabelA, tabelB
WHERE tabelA.kunciA = tabelB.kunciA
Keterangan:
 tabelA.kolom1 : perintah untuk mengambil data di kolom1 pada tabelA.
 tabelA.kolom2 : perintah untuk mengambil data di kolom2 pada tabelA.
 tabelB.kolom1 : perintah untuk mengambil data di kolom1 pada tabelB.
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 52
 tabelA.kunciA : nama kolom yang menjadi kunci utama (primer) pada tabelA.
 tabelB.kunciA : nama kolom tamu yang berasal dari tabelA, kolom ini menjadi
tamu pada tabelB karena adanya relasi.
Dari penjelasan di atas, karena adanya relasi dari kedua tabel, maka di dalam
parameter WHERE kita gunakan tanda sama dengan (=), jadi tabelA.kunciA =
tabelB.kunciA. Kembali ke objek relasi yang kita buat. Kita memiliki dua tabel yang
berelasi, yaitu tabel barang dan barang_jenis. Dari tabel tersebut, garis penunjuk relasi
mengarah pada kolom kd_jenis yang dimiliki oleh tabel barang_jenis. Jadi, untuk
membuat perintah SQL dengan gambar relasi di atas, sebagai berikut:
SELECT barang.kd_barang, barang_jenis.nm_jenis, barang.nm_barang
FROM barang_jenis, barang
WHERE barang_jenis.kd_jenis = barang.kd_jenis;
Contoh : Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis.
Data yang ditampilkan adalah kode barang, nama jenis , nama barang dan harga.
Daftar data hasil query relasi dari tabel barang dan barang_jenis
KD_BARANG NM_JENIS NM_BARANG HARGA
B001 Hardisk SAMSUNG 80 GB7200 P-ATA 406000
B002 Hardisk SAMSUNG 80 GB7200 S-ATA 415000
B003 Hardisk WDC 80GB 7200 S-ATA 415000
B004 Hardisk SEAGATE 40GB 5400 433000
B005 Processor AMD Athlon X2 4000 638000
B006 Processor AMD Sempron 2800+ 365000
B007 Casing POWERLOGIC FUTURA 220 219000
B008 Casing MENTARI 450 WAT 150000
Contoh : Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis.
Data yang ditampilkan adalah kode barang, nama jenis , nama barang dan harga,
dengan syarat data yang ditampilkan hanya harddisk saja.
Daftar data hasil query khusus untuk data jenis hardisk
KD_BARANG NM_JENIS NM_BARANG HARGA
B001 Hardisk SAMSUNG 80 GB7200 P-ATA 406000
B002 Hardisk SAMSUNG 80 GB7200 S-ATA 415000
B003 Hardisk WDC 80GB 7200 S-ATA 415000
B004 Hardisk SEAGATE 40GB 5400 433000
Contoh: Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis.
Data yang ditampilkan adalah kode barang, nama barang dan harga, dengan syarat
data yang ditampilkan hanya monitor saja.
Hasil query khusus untuk data jenis monitor
KD_BARANG NM_BARANG HARGA
B001 SAMSUNG 80 GB7200 P-ATA 406000
B002 SAMSUNG 80 GB7200 S-ATA 415000
B003 WDC 80GB 7200 S-ATA 415000
B004 SEAGATE 40GB 5400 433000
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 53
Modul 10
Backup dan Restore
Dalam MySQL terdapat beberapa cara yang dapat digunakan untuk melakukan proses
backup dan restore, diantaranya adalah sebagai berikut:
1. Untuk proses Backup
a. Menggunakan perintah BACKUP
b. Menggunakan statemen SELECT INTO
c. Menggunakan tool MYSQLDUMP
d. Menggunakan tool MYSQLHOTCOPY
e. Melakukan penyalinan file secara langsung
2. Untuk proses Restore
a. Menggunakan perintah RESTORE
b. Menggunakan statemen LOAD DATA INFILE
Sebelum melakukan proses backup dan restore kita akan mempelajari fasilitas lainnya.
MySQL menyediakan fasilitas lain untuk memudahkan mendokumentasikan perintah-
perintah yang digunakan untuk membuat database dan tabel-tabel yang ada di dalamnya.
Untuk mengatasi permasalahan penulisan perintah SQL pada prompt MySQL, maka
tuliskan ke dalam file teks semua script SQL dan simpan dengan format *.sql. Contoh buat
file teks simpan dengan nama latihdb.sql, tuliskan semua script dibawah ini.
#membuat database latihdb
create database latihdb;
#menggunakan database latihdb
use latihdb;
#membuat tabel jabatan
create table jabatan (
kode_jabatan char(4) not null,
nama_jabatan varchar(25) not null,
constraint pk_jabatan primary key(kode_jabatan));
#membuat tabel pegawai
create table pegawai (
nip char(6) not null,
nama varchar(25) not null,
kode_jabatan char(4),
constraint pk_pegawai primary key(nip),
constraint fk_pegawai_jabatan foreign key(kode_jabatan)
references jabatan(kode_jabatan));
#mengisi tabel jabatan
insert into jabatan values('J-01', 'Manager');
insert into jabatan values('J-02', 'Sales Marketing');
insert into jabatan values('J-03', 'Pimpinan Proyek');
insert into jabatan values('J-04', 'Analis Sistem');
insert into jabatan values('J-05', 'Programmer');
#mengisi table pegawai
insert into pegawai values('000001','Imam','J-01');
insert into pegawai values('000002','Dewi','J-02');
insert into pegawai values('000003','Arif','J-03');
insert into pegawai values('000004','Camelia','J-04');
insert into pegawai values('000005','Made','J-05');
insert into pegawai values('000006','Tatang','J-05');
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 54
Setelah selesai, kemudian tempatkan di C: kemudian masuk prompt mysql :
mysql> source C:latihdb.sql
Jika tidak terdapat kesalahan maka sekarang akan terbentuk database latihdb yang
terdiri dari tabel jabatan dan pegawai lengkap dengan beberapa record di dalamnya.
10.1 Proses Backup menggunakan SELECT INTO
Setelah database dan tabel dibuat lengkap dengan record didalamnya sekarang kita akan
mencoba untuk melakukan backup terhadap data-data tersebut. Yang perlu diperhatikan di
sini adalah bahwa perintah ini hanya berlaku untuk melakukan backup per tabel. Berikut
ini sintak umum dari penggunaan statemen SELECT INTO.
SELECT daftar_kolom FROM nama_tabel INTO OUTFILE nama_file;
Berikut ini contoh yang akan menunjukkan bagaimana cara melakukan backup terhadap
tabel JABATAN.
mysql> select * from pegawai into outfile "c:back1.dat";
Query OK, 5 rows affected (0.03 sec)
Perintah di atas akan membentuk sebuah file baru dengan nama back.dat di dalam
direktori C:, yang merupakan file hasil dari proses backup.
10.2 Proses Restore
Setelah mengetahui cara melakukan proses backup, maka sekarang akan dijelaskan
memasukkan kembali data-data yang terdapat pada file backup ke dalam database. Proses
seperti ini dikenal dengan istilah restore.
mysql> load data infile "c:back1.dat" into table pegawai;
Query OK, 6 rows affected (0.06 sec)
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 55
Modul 11
Koneksi MySQL – Visual Basic 6.0
8.1. Koneksi Database MySQL dengan ODBC Connector
Untuk menghubungkan database MySQL pengajaran dengan ODBC Windows, dapat kita
lakukan dengan cara sebagai berikut :
1. Masuk kedalam Control Panel
2. Pilih Administrative Tools – Data Source (ODBC), sehingga pada monitor akan
ditampilkan seperti pada gambar berikut :
3. Klik tombol Add, sehingga akan ditampilkan kotak dialog berikut :
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 56
4. Pilih MySQL ODBC 5.1 Driver, Klik Finish. Pada kotak dialog akan muncul seperti
pada gambar berikut dan isikan konfigurasi datanya.
5. Kemudian Pilih OK, sehingga pada jendela kotak dialog Data Source, telah
ditambahkan sebuah datasource dengan nama elektronik, seperti pada gambar berikut :
6. Klik Ok, selesai.
8.2. Pemrogramman Visual Basic 6.0
Pada pemrograman Visual Basic 6.0, terdapat beberapa perintah khusus (method)
yang dimiliki beberapa komponen untuk melakukan akses data kedalam database
(MySQL). Sebagai contoh, jika kita menggunakan komponen Adodc untuk koneksi ke
database, terdapat beberapa method yang sering digunakan dalam pengaksesan database,
antara lain :
Perintah Fungsi
<Adodc>.Recordset..MoveFirst Berpindah ke record pertama
<Adodc>.Recordset..MovePrevious Berpindah ke record sebelumnya
<Adodc>.Recordset..MoveNext Berpindah ke record berikutnya
<Adodc>.Recordset..MoveLast Berpindah ke record terakhir
<Adodc>.Recordset..AddNew Menambahkan record baru
<Adodc>.Recordset..Update Menyimpan perubahan/penambahan data
<Adodc>.Recordset..Cancel Membatalkan perubahan/penambahan data
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 57
<Adodc>.Recordset..Delete Menghapus Data
<Adodc>.Recordset..Field(“NamaField”) Mengakses field tertentu dalam tabel
<Adodc>.Recordset..Field!NamaField Mengakses field tertentu dalam tabel
<Adodc>.Refresh Menampilkan ulang data dalam tabel.
a. Program Tipe Data
Buatlah sebuah project dan form baru pada Visual Basic 6.0, desain tampilan formnya
seperti pada gambar dibawah ini.
b. Pengaturan Property :
KOMPONEN PROPERTY NILAI
Form1 (name)
caption
frmtipebarang
Data Elektronik
Adodc1 ( )
(Name)
Caption
Adotipedata
Data
Label1
Caption Kode Elektronik
Label2 Caption Nama Barang
Label3 Caption Kode Jenis
Label4 Caption Ukuran
Label5 Caption Harga
Label6 Caption Fasilitas
Textbox1
(Name)
Text
txtKode
(kosongkan)
Textbox2 (Name)
Text
txtNama
(kosongkan)
Textbox3 (Name)
Text
txtJenis
(kosongkan)
Textbox4 (Name)
Text
txtUkuran
(kosongkan)
Textbox5 (Name)
Text
txtHarga
(kosongkan)
Textbox6 (Name)
Text
txtFasilitas
(kosongkan)
Datagrid1
DataSource Adotipedata
Modul Praktikum Basis Data - MySQL
Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 58
Command1
(Name)
Caption
Cmdpertama
Pertama
Command2 (Name)
Caption
Cmdsebelum
Sebelum
Command3 (Name)
Caption
Cmdberikut
Berikut
Command4 (Name)
Caption
Cmdterakhir
Terakhir
Command5 (Name)
Caption
Cmdtambah
&Tambah
Command6 (Name)
Caption
Cmdedit
&Edit
Command7 (Name)
Caption
Cmdsimpan
&Simpan
Command8 (Name)
Caption
Cmdbatal
&Batal
Command9 (Name)
Caption
Cmdhapus
&Hapus
Command10 (Name)
Caption
Cmdkeluar
&Keluar
Listing Program :
Private Sub Form_Load()
adotipebarang.ConnectionString = "DSN=elektronik"
adotipebarang.RecordSource = "tipe_barang"
adotipebarang.Refresh
adotipebarang.Recordset.Sort = "kd_elektronik"
Baru = False
End Sub
Public Baru As Boolean
Private Sub cmdbatal_Click()
Tombol True, True, False, False, True
adotipebarang.Recordset.Cancel
Kosong
End Sub
Private Sub cmdberikut_Click()
'Menuju ke record berikutnya
adotipebarang.Recordset.MoveNext
'Jika berada di record terakhir menuju ke record terakhir
If adotipebarang.Recordset.EOF Then
adotipebarang.Recordset.MoveLast
End If
End Sub
Private Sub cmdedit_Click()
Tombol False, False, True, True, False
With adotipebarang.Recordset
txtKode.Text = !kd_elektronik
txtNama.Text = !nm_elektronik
txtJenis.Text = !kd_jenis
txtUkuran.Text = !ukuran
txtHarga.Text = !harga
txtFasilitas.Text = !fasilitas
End With
txtKode.SetFocus
Baru = False
End Sub
Private Sub cmdhapus_Click()
On Error Resume Next
Modul praktikum basis data
Modul praktikum basis data
Modul praktikum basis data

More Related Content

What's hot

Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Devi Apriansyah
 
My sql dari pemula hingga mahir
My sql dari pemula hingga mahirMy sql dari pemula hingga mahir
My sql dari pemula hingga mahirDenny Yahya
 
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)Achmad Solichin
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataShofura Kamal
 
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsrohmat arief
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASERäjù GùÑáwàn
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)dhini eka
 
Kp.2 pembuatan database
Kp.2 pembuatan databaseKp.2 pembuatan database
Kp.2 pembuatan databaseDesty Yani
 
Kp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananKp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananDesty Yani
 
Belajar framework code igniter xii rpl
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rplDenny Yahya
 
Kp.5 obyek premier database
Kp.5 obyek premier databaseKp.5 obyek premier database
Kp.5 obyek premier databaseDesty Yani
 
My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)FaRid Adwa
 

What's hot (20)

Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)
 
My sql dari pemula hingga mahir
My sql dari pemula hingga mahirMy sql dari pemula hingga mahir
My sql dari pemula hingga mahir
 
Database dan MySQL
Database dan MySQLDatabase dan MySQL
Database dan MySQL
 
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)
MySql 5 Dari Pemula Hingga Mahir (Achmad Solichin, Achmatim Net)
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
 
Laporan modul 5 basisdata
Laporan modul 5 basisdataLaporan modul 5 basisdata
Laporan modul 5 basisdata
 
Kd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbmsKd15 menganalisis struktur penyimpanan pada rdbms
Kd15 menganalisis struktur penyimpanan pada rdbms
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
 
Kp.2 pembuatan database
Kp.2 pembuatan databaseKp.2 pembuatan database
Kp.2 pembuatan database
 
Kp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananKp. 4 struktur penyimpanan
Kp. 4 struktur penyimpanan
 
P webfb
P webfbP webfb
P webfb
 
Konsep dasar sistem basis data
Konsep dasar sistem basis dataKonsep dasar sistem basis data
Konsep dasar sistem basis data
 
Makalah simbad
Makalah simbadMakalah simbad
Makalah simbad
 
Belajar framework code igniter xii rpl
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rpl
 
Kp.5 obyek premier database
Kp.5 obyek premier databaseKp.5 obyek premier database
Kp.5 obyek premier database
 
My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)My sql dari Pemula hingga Mahir (achmad solichin)
My sql dari Pemula hingga Mahir (achmad solichin)
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
 
Perangkat lunak basis data
Perangkat lunak basis dataPerangkat lunak basis data
Perangkat lunak basis data
 
Modul 5
Modul 5Modul 5
Modul 5
 

Similar to Modul praktikum basis data

Bab12 backup dan restore basis data
Bab12 backup dan restore basis dataBab12 backup dan restore basis data
Bab12 backup dan restore basis dataAgung Sakepris
 
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdfkusariwati pauntu
 
Ws 01-install appserv+xampp+konfigurasi file
Ws 01-install appserv+xampp+konfigurasi fileWs 01-install appserv+xampp+konfigurasi file
Ws 01-install appserv+xampp+konfigurasi fileWahiduna ElQudsy
 
Pengenalan MySQL data base yang akan dijelaskan
Pengenalan MySQL data base yang akan dijelaskanPengenalan MySQL data base yang akan dijelaskan
Pengenalan MySQL data base yang akan dijelaskanDera62
 
Zulkifli 201613012_tugas 5
Zulkifli 201613012_tugas 5Zulkifli 201613012_tugas 5
Zulkifli 201613012_tugas 5zulk ifli
 
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...AdistyaDesmyana
 
Pembuatan tabel dalam database
Pembuatan tabel dalam databasePembuatan tabel dalam database
Pembuatan tabel dalam databaseShityNurjannah
 
Kelebihan dan kekurangan database engine
Kelebihan dan kekurangan database engineKelebihan dan kekurangan database engine
Kelebihan dan kekurangan database engineroji muhidin
 
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - fahreza yozi
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...TheodoraTerdunGintin
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Wahyu Widodo
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Maulana Rocky
 

Similar to Modul praktikum basis data (20)

Bab12 backup dan restore basis data
Bab12 backup dan restore basis dataBab12 backup dan restore basis data
Bab12 backup dan restore basis data
 
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf1. Modul Praktikum SI0044 Basis Data Dasar.pdf
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
 
Ws 01-install appserv+xampp+konfigurasi file
Ws 01-install appserv+xampp+konfigurasi fileWs 01-install appserv+xampp+konfigurasi file
Ws 01-install appserv+xampp+konfigurasi file
 
Ajar mysql5 1
Ajar mysql5 1Ajar mysql5 1
Ajar mysql5 1
 
Pengenalan MySQL data base yang akan dijelaskan
Pengenalan MySQL data base yang akan dijelaskanPengenalan MySQL data base yang akan dijelaskan
Pengenalan MySQL data base yang akan dijelaskan
 
Mysql 1
Mysql 1Mysql 1
Mysql 1
 
Konsep basis data pengantar my sql
Konsep basis data pengantar  my sqlKonsep basis data pengantar  my sql
Konsep basis data pengantar my sql
 
Zulkifli 201613012_tugas 5
Zulkifli 201613012_tugas 5Zulkifli 201613012_tugas 5
Zulkifli 201613012_tugas 5
 
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
 
Pembuatan tabel dalam database
Pembuatan tabel dalam databasePembuatan tabel dalam database
Pembuatan tabel dalam database
 
Mysql rahmat
Mysql rahmatMysql rahmat
Mysql rahmat
 
DBMS (Database Management System)
DBMS (Database Management System)DBMS (Database Management System)
DBMS (Database Management System)
 
Pel myswl
Pel myswlPel myswl
Pel myswl
 
Kelebihan dan kekurangan database engine
Kelebihan dan kekurangan database engineKelebihan dan kekurangan database engine
Kelebihan dan kekurangan database engine
 
Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 - Tugas 4 0317-fahreza yozi-1612510832 -
Tugas 4 0317-fahreza yozi-1612510832 -
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. dbms (d...
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data
 
1
11
1
 
Bab. 1
Bab. 1Bab. 1
Bab. 1
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4
 

Recently uploaded

Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxc9fhbm7gzj
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfIndri117648
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASreskosatrio1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 

Recently uploaded (20)

Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptx
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdf
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 

Modul praktikum basis data

  • 1. M O D U L P R A K T I K U M BASIS DATA HAIRUL ANWAR , S.ST SMK MUKHTAR SYAFA’AT BANYUWANGI JL. KH. Syafa’at Karangdoro Blokagung Kec. Tegalsari Banyuwangi
  • 2. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 1 Modul 1 Pengantar MySQL 1.1 Basis Data Basis data (database), merupakan suatu kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diakses menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). 1.2 MySQL MySQL merupakan salah satu DBMS multithread, multi-user yang cukup peopuler dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), dan 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. 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 optimalisasi cara kerjanya dalam memproses perintah-perintah SQL yang dibuat oleh user maupun program-program aplikasinya. Beberapa keistimewaan MySQL antara lain : a. Portability, MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan sebagainya. b. Open Source, MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma. c. Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik yang fatal. 1.3. Instalasi MYSQL-5.0.51b-win32.exe : 1. Jalankan file setup mysql, yaitu mysql-5.0.51b-win32.exe, maka akan muncul dialog instalasi sebagai berikut :
  • 3. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 2 2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut : 3. Pilih Typical, kemudian pilih tombol Next.
  • 4. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 3 4. Pilih tombol Install, maka proses instalasi dimulai. 5. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut : 6. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut : 7. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New root password dan Confirm berikut ini untuk sekuritas, misalnya informatika. Klik tombol Next.
  • 5. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 4 8. Klik tombol Execute sebagai tahap akhir. 9. Klik Finish. 1.4. Menjalankan Client MySQL 1. Dari menu Start  All Program  MySQL Server 5.0  MySQL Command Line Client. Perhatikan gambar berikut: Gambar 1.1 Menjalankan MySQL Client dari Start Menu
  • 6. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 5 2. Selanjutnya dihadapkan pada jendela MySQL Command Line Client yang di dalamnya muncul kolom memasukan Password seperti tampilan berikut Gambar 1.2 Tampilan MySQL Client saat Login 3. Anda dapat memasukkan password root yang telah dibuat saat penyetingan instalasi. Apabila pada saat konfigurasi tidak memasukkan password, anda dapat mengosongkan passwordnya dan tekan tombol Enter. 4. Jika berhasil login, anda akan mendapatkan halaman utama MySQL Prompt seperti gambar berikut: Gambar 1.3 Tampilan utama MySQL Prompt 1.5. Mengetahui Letak Penyimpanan Database Secara default, MySQL memiliki sub direktori yang bernama data untuk menyimpan semua database dan tabel yang terbentuk. Susunan direktori yang dihasilkan MySQL, apabila diakses Windows Explorer akan terlihat seperti direktori biasa, di dalamnya terdapat beberapa tabel dalam bentuk file seperti berikut. Gambar 1.8 Direktori penyimpanan database pada MySQL
  • 7. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 6 Modul 2 Data Definition Language (DDL) 2.1.Bahasa SQL SQL memiliki kepanjangan Structured Query Language, digunakan sebagai antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif untuk basis data sehingga dibuat standar bahasa SQL oleh ANSI (American National Standard Institute) dan ISO (International Standard Organizatioan). Di dalamnya terdapat perintah untuk pendefinisian data, melakukan query dan update terhadap data. Perintah tersebut dikelompokan dalam 2 istilah: DDL (Data Definition Language) untuk pendefinisian data dan DML (Data Manipulation Language) untuk melakukan update dan query. 2.2. Tipe Data A. Tipe Data Numerik Tipe Keterangan Range Nilai TINYINT Nilai integer yang sangat kecil Signed : -128 s.d. 127 Unsigned : 0 s.d. 255 SMALLINT Nilai integer yang kecil Signed : -32768 s.d. 32767 Unsigned : 0 s.d. 65535 MEDIUMINT Integer dengan nilai medium Signed : -8388608 s.d. 8388607 Unsigned : 0 s.d. 16777215 Tipe Keterangan Range Nilai INT Integer dengan nilai standar Signed : -2147483648 s.d. 2147483647 Unsigned : 0 s.d. 4294967295 BIGINT Integer dengan nilai besar Signed : -9223372036854775808 s.d. 9223372036854775807 Unsigned : 0 s.d. 18446744073709551615 FLOAT Bilangan desimal dengan single- precission minimum ± 1.175494351e-38 maksimum ± 3.402823466e+38 DOUBLE Bilangan desimal dengan double- precission minimum ± 2.2205738585072014e-308 maksimum ± 1.7976931348623457e+308 DECIMAL(M,D) Bilangan float (desimal) yang dinyatakan sebagai string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah jumlah digit dibelakang koma Tergantung pada nilai M dan D Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik - Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan positif. - Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data float tidak dapat dinyatakan dengan unsigned. B. Tipe Data String : Tipe Keterangan Ukuran Maksimum CHAR(n) String karakter dengan panjang yang tetap, yaitu n 1 M byte VARCHAR(n) String karakter dengan panjang yang tidak tetap, maks n 1 M byte TINYBLOB BLOB (Binary Large Object) yang sangat kecil 28 -1 byte BLOB BLOB berukuran kecil 216 -1 byte MEDIUMBLOB BLOB berukuran sedang 224 -1 byte LONGBLOB BLOB berukuran besar 232 -1 byte TINYTEXT String teks yang sangat kecil 28 -1 byte TEXT String teks berukuran kecil 216 -1 byte MEDIUMTEXT String teks berukuran medium(sedang) 224 -1 byte LONGTEXT String teks berukuran besar 232 -1 byte ENUM Enumerasi, kolom dapat disi dengan 1 member enumerasi 65535 anggota SET Himpunan, kolom dapat diisi dengan beberapa nilai anggota himpunan 64 anggota himpunan
  • 8. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 7 Tipe data tanggal dan jam : Tipe Range Format DATE “1000-01-01” s.d. “9999-12-31” “0000-00-00” TIME “-832:59:59” s.d. “838:59:59” “00:00:00” DATETIME “1000-01-01 00:00:00” s.d. “9999-12- 31 23:59:59” “0000-00-00 00:00:00” 2.3. Perintah DDL (Data Definition Language) DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut- atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. a. Membuat Database Perintah: CREATE DATABASE namadatabase; namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. Berikut ini perintah untuk membuat database dengan nama akademik : mysql> create database akademik; Perintah tambahan : untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATABASES; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | akademik | | mysql | | test | +--------------------+ 4 rows in set (0.11 sec) b. Menghapus Database Perintah : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama akademik ; mysql> drop database akademik; c. Membuat Tabel Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan perintah : USE namadatabase; Berikut ini perintah untuk menggunakan database dengan nama akademik : mysql> use akademik; Database Changed
  • 9. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 8 Perintah membuat table : create table namatabel ( Field1 TipeData1, Field2 TipeData2 ); namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel dengan nama mahasiswa : mysql> create table mahasiswa( -> npm char(9) not null, -> nama varchar(20) not null, -> alamat varchar(30) null, -> jns_kelamin char(1) not null, -> gol_darah varchar(2) null, -> primary key (npm)); Keterangan : null yaitu field tesebut dapat tidak berisi nilai sedangkan not null yaitu field harus berisi nilai atau tidak boleh kosong. Primary key untuk mendefinisikan kata kunci dalam sebuah tabel. Perintah tambahan : Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database akademik) : SHOW TABLES; mysql> show tables; +--------------------+ | Tables_in_akademik | +--------------------+ | mahasiswa | +--------------------+ Untuk menampilkan deskripsi tabel (dalam hal ini mahasiswa) perintahnya adalah : DESC namatabel atau DESCRIBE namatabel; mysql> describe mahasiswa; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | npm | char(9) | NO | PRI | NULL | | | nama | varchar(20) | NO | | NULL | | | alamat | varchar(30) | YES | | NULL | | | jns_kelamin | char(1) | NO | | NULL | | | gol_darah | varchar(2) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+
  • 10. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 9 d. Menghapus Tabel Perintah : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama mahasiswa : mysql> drop table mahasiswa; e. Membuat Kolom Auto Untuk Penambahan Data Otomatis Parameter yang digunakan untuk membuat kolom bentuk AUTO adalah AUTO INCREMENT. Dengan menggunakan tipe kolom ini, data akan bertambah secara otomatis. Yang perlu diingat, syarat kolom AUTO harus menggunakan tipe data angka (INT, TINIINT, …) . Bentuk perintahnya sebagai berikut: CREATE TABLE [IF NOT EXISTS] nama_tabel ( kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT, kolom_b tipe(panjang) [NOT NULL | NULL], ..., PRIMARY KEY(kolom_kunci) ) Coba dalam pembuatan tabel selanjutnya. f. Menghapus Primary Key Pada Tabel ALTER TABLE namatabel DROP PRIMARY KEY; Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel mahasiswa : mysql> alter table mahasiswa drop primary key; g. Menambah Kolom/Field Baru Pada Tabel ALTER TABLE namatabel ADD fieldbaru tipe; namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. Berikut ini perintah untuk menambah kolom tgl_lahir dengan tipe data date : mysql> alter table mahasiswa add tgl_lahir date; Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya. h. Menambah Kolom Kunci/primary key Pada Tabel Pada saat pembuatan tabel, Anda lupa mendefinisikan kunci primernya. Dengan menggunakan perintah ALTER, Anda dapat melakukan perubahan sebuah kolom menjadi kunci. Bentuk sintaksnya sebagai berikut: ALTER TABLE nama_tbl ADD PRIMARY KEY(kolom) Dengan menggunakan aturan seperti sintaks di atas, Anda dapat langsung menyebutkan nama kolom yang akan dibuat sebagai kunci. Sebagai latihan, Anda dapat menghapus tabel dosen terlebih dahulu. Setelah itu buat kembali tabel dosen dengan tidak mendefinisikan primay key-nya. mysql> alter table dosen -> add primary key(nip);
  • 11. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 10 i. Mengubah Tipe Data atau Lebar Kolom Pada Tabel ALTER TABLE namatabel MODIFY COLUMN field tipe; namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data untuk kolom nama dengan varchar(25) : mysql> alter table mahasiswa modify column nama varchar(25); Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya. j. Mengubah Nama Kolom ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatanya; namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolom nama menjadi nama_lengkap : mysql> alter table mahasiswa change column nama nama_lengkap varchar(20); Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya. k. Mengubah Nama Tabel Jika nama tabel yang ada tidak sesuai dengan data, Anda dapat mengubahnya dengan cara mengganti nama tabel tersebut. Caranya, dengan menggunakan parameter RENAME. Perintahnya sebagai berikut: ALTER TABLE nama_lama RENAME [TO] nama_baru Pada perintah di atas, Anda bebas untuk tidak menggunakan parameter TO, karena sifatnya hanya optional (pilihan) saja. Sebagai latihan, bagaimana jika tabel ambil kita ganti namanya menjadi mengambil. Sebelum diganti, Anda dapat melihat kondisi awal terlebih dahulu di dalam database. Untuk mengganti nama tabel dari ambil menjadi mengambil, Anda dapat menjalankan perintah seperti berikut: mysql> alter table jenis_barang rename to data_jenis; l. Menghapus Kolom Pada Tabel ALTER TABLE namatabel DROP COLUMN namakolom; Berikut ini perintah untuk menghapus kolom tgl_lahir pada tabel mahasiswa : mysql> alter table mahasiswa drop tgl_lahir; Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.
  • 12. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 11 m. Mendefinisikan Foreign Key Pada Tabel (Kunci Tamu) ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION; Berikut perintah untuk membuat foreign key nip pada tabel mengajar dari tabel induk dosen : mysql> alter table mengajar add constraint fk foreign key (nip) references dosen(nip) on update cascade on delete no action; Lakukan perintah decs ambil(lihat tabel),amati perubahannya. n. Menghapus Foreign Key ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint; Berikut ini perintah untuk menghapus foreign key pada tabel mengajar : mysql> alter table mengajar drop foreign key fk;
  • 13. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 12 Modul 3 Data Manipulation Language (DML) Perintah DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT. a. INSERT Perintah INSERT digunakan untuk menambahkan baris baru pada suatu tabel. Terdapat dua cara untuk menambah baris, yaitu : Cara 1 : Menambah baris dengan mengisi data pada setiap kolom : INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n); Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu : INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n); Berikut ini perintah untuk menambahkan baris pada tabel mahasiswa : Cara 1 : mysql> insert into mahasiswa values('087006111','Wawan Setiawan','Manonjaya','L','O'); Cara 2 : mysql> insert into mahasiswa (npm,nama_lengkap,jns_kelamin) values ('087006222','Ahmad Kurniawan','L'); Keterangan : Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal („horor‟) atau petik ganda (“horor”). Jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda. Cara 2 bisa di dilakukan apabila field yang akan diisikan data harus null. b. DELETE Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris. Perintah: DELETE FROM namatabel [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel mahasiswa dengan data sebagai berikut : mysql> select * from mahasiswa; +-----------+-----------------+-----------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+-----------------+-----------+-------------+-----------+ | 087006111 | Wawan Setiawan | Manonjaya | L | O | | 087006222 | Ahmad Kurniawan | NULL | L | NULL | +-----------+-----------------+-----------+-------------+-----------+ Contoh 1 : jika ingin menghapus seluruh baris/data pada tabel mahasiswa : mysql> delete from mahasiswa;
  • 14. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 13 Contoh 2 : jika ingin menghapus baris yang memiliki nilai 087006222 pada kolom npm pada tabel mahasiswa maka perintahnya sebagai berikut : mysql> delete from mahasiswa where npm=087006222; Contoh 3 : jika ingin menghapus baris yang memiliki nilai L pada kolom jns_kelamin pada tabel mahasiswa maka perintahnya sebagai berikut : mysql> delete from mahasiswa where jns_kelamin=’L’; c. UPDATE Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel. Perintah: UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel mahasiswa dengan data sebagai berikut : Contoh 1 : mengubah semua nilai pada kolom alamat menjadi manonjaya : mysql> update mahasiswa set alamat='manonjaya'; Contoh 2 : mengubah nilai pada kolom gol_darah menjadi AB dimana nilai pada kolom npm adalah 087006111 : mysql> update mahasiswa set gol_darah='AB' where npm=087006111; d. SELECT Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya. Menampilkan data untuk semua kolom menggunakan asterisk (*) Perintah: SELECT * FROM namatabel; Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa : mysql> select * from mahasiswa; +-----------+----------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+----------------+---------------------------+-------------+-----------+ | 087006111 | Wawan Setiawan | manonjaya | L | AB | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | | 087006222 | Abdul Kodir | manonjaya | L | AB | +-----------+----------------+---------------------------+-------------+-----------+ Menampilkan data untuk kolom tertentu Perintah: SELECT kolom1,kolom2,kolom-n FROM namatabel; Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dengan kolom yang ditampilkan adalah kolom nama_lengkap :
  • 15. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 14 mysql> select nama_lengkap from mahasiswa; +----------------+ | nama_lengkap | +----------------+ | Wawan Setiawan | | Ferry Setiawan | | Eva Suharti | | Andina Novita | | Agus Ramdani | | Abdul Kodir | +----------------+ Menampilkan data dengan kondisi data tertentu dengan klausa WHERE Perintah: SELECT * FROM namatabel WHERE kondisi; Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dimana nilai pada kolom npm adalah 087006222 : mysql> select * from mahasiswa where npm=087006222; +-----------+--------------+-----------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+--------------+-----------+-------------+-----------+ | 087006222 | Abdul Kodir | manonjaya | L | AB | +-----------+--------------+-----------+-------------+-----------+ Memberikan nama lain pada kolom Perintah: SELECT namakolomlama AS namakolombaru FROM namatabel; Berikut ini perintah untuk memberikan nama lain pada kolom jns_kelamin menjadi jenis_kelamin pada tabel mahasiswa : mysql> select jns_kelamin as jenis_kelamin from mahasiswa; +---------------+ | jenis_kelamin | +---------------+ | L | | L | | P | | P | | L | | L | +---------------+ Menggunakan alias untuk nama tabel Perintah: SELECT nmalias.npm, nmalias.nama_lengkap FROM namatabel nmalias; Berikut ini perintah untuk memberikan alias pada tabel mahasiswa : mysql> select k.npm, k.nama_lengkap from mahasiswa k; +-----------+----------------+ | npm | nama_lengkap | +-----------+----------------+ | 087006111 | Wawan Setiawan | | 087006112 | Ferry Setiawan | | 087006113 | Eva Suharti | | 087006118 | Andina Novita | | 087006122 | Agus Ramdani | | 087006222 | Abdul Kodir | +-----------+----------------+
  • 16. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 15 Menampilkan data lebih dari dua tabel Perintah: SELECT * from namatabel1,namatabel2,namatabel- n; Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa dan ambil : mysql> select * from mahasiswa,ambil; +-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | npm | kode_mk | nilai_mutu | nilai | +-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+ | 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006111 | TI1313 | 75 | B | | 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006112 | TI1203 | 87 | A | | 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006113 | TI1303 | 65 | C | | 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006118 | TI1304 | 70 | C | | 087006111 | Wawan Setiawan | manonjaya | L | AB | 087006122 | TI1206 | 90 | A | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006111 | TI1313 | 75 | B | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006112 | TI1203 | 87 | A | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006113 | TI1303 | 65 | C | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006118 | TI1304 | 70 | C | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | 087006122 | TI1206 | 90 | A | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006111 | TI1313 | 75 | B | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006112 | TI1203 | 87 | A | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006113 | TI1303 | 65 | C | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006118 | TI1304 | 70 | C | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | 087006122 | TI1206 | 90 | A | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006111 | TI1313 | 75 | B | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006112 | TI1203 | 87 | A | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006113 | TI1303 | 65 | C | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006118 | TI1304 | 70 | C | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | 087006122 | TI1206 | 90 | A | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006111 | TI1313 | 75 | B | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006112 | TI1203 | 87 | A | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006113 | TI1303 | 65 | C | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006118 | TI1304 | 70 | C | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | 087006122 | TI1206 | 90 | A | | 087006222 | Abdul Kodir | manonjaya | L | AB | 087006111 | TI1313 | 75 | B | | 087006222 | Abdul Kodir | manonjaya | L | AB | 087006112 | TI1203 | 87 | A | | 087006222 | Abdul Kodir | manonjaya | L | AB | 087006113 | TI1303 | 65 | C | | 087006222 | Abdul Kodir | manonjaya | L | AB | 087006118 | TI1304 | 70 | C | | 087006222 | Abdul Kodir | manonjaya | L | AB | 087006122 | TI1206 | 90 | A | +-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
  • 17. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 16 Modul 4 Seleksi Menggunakan Operator Dasar Menggunakan Operator Pembanding Pada bagian ini, kita akan belajar menggunakan beberapa operator dasar yang digunakan untuk membandingkan dua nilai atau lebih dari data yang berbeda. Untuk melakukan perbandingan, nilai hasil yang dikembalikan hanya ada dua kemungkinan, yaitu TRUE dan FALSE. Bila dinyatakan dengan bilangan, hasil TRUE sama dengan 1, dan FALSE sama dengan 0. a. Seleksi Menggunakan Operator = Operator “=” (equal), akan menghasilkan nilai TRUE atau bernilai 1 apabila memiliki nilai pembanding sama dengan data yang dibandingkan.  Jika bernilai TRUE, maka data yang dibandingkan akan ditampilkan dalam layar. mysql> select 0=1; +-----+ | 0=1 | +-----+ | 0 | +-----+  Dalam MySQL, penulisan bilangan dapat ditulis menggunakan tanda petik ataupun tidak. Jadi, angka 1 = „1‟ adalah benar mysql> select 1='1'; +-------+ | 1='1' | +-------+ | 1 | +-------+ mysql> select '0.01'=1; +----------+ | '0.01'=1 | +----------+ | 0 | +----------+  Dalam MySQL, penulisan bilangan pecahan juga dapat menggunakan tanda petik maupun tidak. Misalnya: mysql> select '0.05'='.05'; +--------------+ | '0.05'='.05' | +--------------+ | 0 | +--------------+ mysql> select 0.05='.05'; +------------+ | 0.05='.05' | +------------+ | 1 | +------------+
  • 18. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 17  Penggunaan operator sama dengan “=” di atas, apabila diterapkan dalam database dapat ditulis seperti ini. mysql> select * from mahasiswa where npm=087006222; +-----------+--------------+-----------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+--------------+-----------+-------------+-----------+ | 087006222 | Abdul Kodir | manonjaya | L | AB | +-----------+--------------+-----------+-------------+-----------+ b. Seleksi Menggunakan Operator != Operator “!=” memiliki arti tidak sama dengan (not equal) atau kecuali. Nilai yang dihasilkan berlawanan dengan operator sama dengan. Dalam penulisannya, operator ini juga dapat diganti dengan parameter <>. Baik menggunakan parameter != maupun <>, operator tidak sama dengan (not equal) ini memiliki fungsi dan hasil yang sama. Contoh : perintah untuk menampilkan data pada tabel mahasiswa dimana nilai pada kolom jns_kelamin tidak sama dengan L : mysql> select * from mahasiswa where jns_kelamin<>'L'; +-----------+---------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+---------------+---------------------------+-------------+-----------+ | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | +-----------+---------------+---------------------------+-------------+-----------+ c. Seleksi Menggunakan Operator > Operator “>” artinya lebih dari. Operator ini digunakan untuk mengambil data yang nilainya lebih dari bilangan pembanding. Perhatikan perintah berikut: mysql> select 2>3; +-----+ | 2>3 | +-----+ | 0 | +-----+ mysql> select * from mata_kuliah where sks>2; +---------+-------------------+-----+----------+ | kode_mk | nama_mk | sks | semester | +---------+-------------------+-----+----------+ | TI1201 | Struktur Data | 3 | 3 | | TI1206 | Basis Data | 3 | 3 | | TI1303 | Sistem Basis Data | 3 | 4 | | TI1304 | Kecerdasan Buatan | 3 | 5 | | TI1313 | Sistem Informasi | 3 | 5 | +---------+-------------------+-----+----------+ d. Seleksi Menggunakan Operator >= Jika menggunakan operator “>”, hasil dari seleksi tidak menampilkan nilai yang menjadi pembanding. Jika nilai pembanding ingin ditampilkan, gunakan operator “>=” (dibaca lebih dari sama dengan).
  • 19. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 18 mysql> select * from mata_kuliah where sks>=2; +---------+--------------------+-----+----------+ | kode_mk | nama_mk | sks | semester | +---------+--------------------+-----+----------+ | TI1116 | Logika Informatika | 2 | 2 | | TI1201 | Struktur Data | 3 | 3 | | TI1206 | Basis Data | 3 | 3 | | TI1303 | Sistem Basis Data | 3 | 4 | | TI1304 | Kecerdasan Buatan | 3 | 5 | | TI1313 | Sistem Informasi | 3 | 5 | +---------+--------------------+-----+----------+ e. Seleksi Menggunakan Operator < Operator “<” artinya kurang dari. Digunakan untuk mengambil sejumlah data yang nilainya kurang dari bilangan pembanding. mysql> select * from mata_kuliah where sks<2; +---------+-------------------------+-----+----------+ | kode_mk | nama_mk | sks | semester | +---------+-------------------------+-----+----------+ | TI1203 | Praktikum Struktur Data | 1 | 3 | +---------+-------------------------+-----+----------+ f. Seleksi Menggunakan Operator <= Operator “<=” juga akan mengambil data yang jumlahnya kurang dari nilai pembanding. Bedanya, pada operator ini, nilai pembanding ditampilkan. mysql> select * from mata_kuliah where sks<=2; +---------+-------------------------+-----+----------+ | kode_mk | nama_mk | sks | semester | +---------+-------------------------+-----+----------+ | TI1116 | Logika Informatika | 2 | 2 | | TI1203 | Praktikum Struktur Data | 1 | 3 | +---------+-------------------------+-----+----------+ Menggunakan Operator Logika a. Dua Kondisi Bernilai Benar dengan Operator AND Operator AND digunakan untuk mengambil data dari satu atau beberapa tabel menggunakan dua syarat atau lebih. Data akan ditampilkan apabila dua syarat terpenuhi, sedangkan apabila salah satu syarat saja atau tidak ada syarat yang dipenuhi, maka perintah tidak akan mendapatkan hasil. Untuk lebih memahaminya, perhatikanlah tabel berikut: Tabel Kebenaran Operator AND Nilai A Nilai B Hasil A AND B TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE Tidak diketahui Tidak diketahui Tidak Ada hasil Tidak diketahui TRUE Tidak Ada hasil Tidak diketahui FALSE FALSE TRUE Tidak diketahui Tidak ada hasil FALSE Tidak diketahui FALSE
  • 20. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 19 Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm berkisar dari 087006111 hingga 087006113 : mysql> select * from mahasiswa where npm>=087006111 and npm<=087006113; +-----------+----------------+-------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+----------------+-------------------+-------------+-----------+ | 087006111 | Wawan Setiawan | manonjaya | L | AB | | 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A | | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | +-----------+----------------+-------------------+-------------+-----------+ b. Salah Satu Bernilai Benar dengan Operator OR Berbeda dengan operator sebelumnya, operator OR digunakan untuk mengambil data dari beberapa tabel, tetapi memiliki syarat tidak harus keduanya bernilai benar. Jika salah satu bernilai benar, database akan tetap menampilkan hasil sesuai dengan permintaannya. Jika kondisi tidak ada yang benar (semua salah), nilainya akan salah. Anda dapat melihat tabel kebenaran berikut: Tabel Kebenaran Operator OR Nilai A Nilai B Hasil A OR B TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama dengan 087006111 atau 087006118 : mysql> select * from mahasiswa where npm=087006111 or npm=087006118; +-----------+----------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+----------------+---------------------------+-------------+-----------+ | 087006111 | Wawan Setiawan | manonjaya | L | AB | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | +-----------+----------------+---------------------------+-------------+-----------+ c. Nilai Balik dengan Operator NOT Berbeda dengan kedua operator sebelumnya (OR dan AND), operator NOT akan membalik semua kondisi yang ada. Jika memiliki nilai TRUE (benar), menggunakan perintah NOT akan menghasilkan nilai FALSE (salah), begitu juga sebaliknya. Anda dapat melihat tabel kebenaran berikut ini: Tabel Kebenaran Operator NOT Nilai A Hasil NOT A 1 Tidak ada hasil 0 Ada hasil Dari tabel di atas, nilai 1 berarti TRUE dan 0 berarti FALSE. Sedangkan parameter tidak ada hasil berarti bernilai FALSE dan parameter ada hasil berarti bernilai TRUE. Dalam penggunaannya, parameter NOT bisa diganti dengan tanda seru (!). mysql> select not 1, !1; +-------+----+ | not 1 | !1 | +-------+----+ | 0 | 0 | +-------+----+
  • 21. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 20 Kebalikan dari perintah di atas: mysql> select not 0, !0; +-------+----+ | not 0 | !0 | +-------+----+ | 1 | 1 | +-------+----+ mysql> select * from mahasiswa where not jns_kelamin='L'; +-----------+---------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+---------------+---------------------------+-------------+-----------+ | 087006113 | Eva Suharti | Batu Indah NO.111 | P | B | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | +-----------+---------------+---------------------------+-------------+-----------+ d. Operator IN Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama dengan 087006111 atau 087006118 : mysql> select * from mahasiswa where npm in (087006111,087006118); +-----------+----------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+----------------+---------------------------+-------------+-----------+ | 087006111 | Wawan Setiawan | manonjaya | L | AB | | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | +-----------+----------------+---------------------------+-------------+-----------+ e. Operator Like Perintah untuk menampilkan data pada tabel mahasiswa dimana data pada kolom tertentu diawali dengan nilai tertentu, misalnya pada kolom nama_lengkap dimana diawali dengan karakter „A‟ : mysql> select * from mahasiswa where nama_lengkap like 'A%'; +-----------+---------------+---------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+---------------+---------------------------+-------------+-----------+ | 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A | | 087006122 | Agus Ramdani | Kawalu No.10 | L | O | | 087006222 | Abdul Kodir | manonjaya | L | AB | +-----------+---------------+---------------------------+-------------+-----------+
  • 22. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 21 Modul 5 Seleksi Menggunakan Fungsi Pengelompokan Persiapan Database Pertama-tama kita buatlah database Data_Pegawai, yang di dalamnya terdapat tabel pegawai. Buat dan aktifkan database Data_Pegawai, dengan perintah berikut, kemudian isi: CREATE DATABASE data_pegawai; USE data_pegawai; CREATE TABLE pegawai ( nip char(6) NOT NULL, nama varchar(60) NOT NULL, umur int(2) NOT NULL, tinggi int(2) NOT NULL, berat int(2) NOT NULL, PRIMARY KEY (nip)); Tabel Daftar Data Pribadi Pegawai nip Nama umur tinggi berat 006001 Dadang Darojat 40 170 61 006002 Agus Sehabudin 42 168 63 006003 Susan Bahtiar 30 165 60 006004 Doni Aja 37 175 66 006005 Lucas Leiva 28 173 67 006006 Arief Najmudin 25 177 70 a. Menghitung Jumlah Record dengan COUNT Fungsi COUNT() digunakan untuk mendapatkan jumlah record atau baris data di dalam suatu tabel. Dengan fungsi ini, berapapun data dalam tabel atau hasil seleksi relasi akan dihitung dengan cepat. Perintah: SELECT COUNT(*) AS alias SELECT COUNT(nama_kolom) AS alias Dari bentuk Perintah di atas, sekarang kita akan mencoba menghitung jumlah record yang ada pada tabel pegawai.  Hasil Tanpa Alias mysql> select count(*) from pegawai; +----------+ | count(*) | +----------+ | 6 | +----------+
  • 23. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 22  Hasil Menggunakan Alias mysql> select count(*) as rekaman from pegawai; +---------+ | rekaman | +---------+ | 6 | +---------+  Dengan Menyebutkan Kolom mysql> select count(nip) as rekaman from pegawai; +---------+ | rekaman | +---------+ | 6 | +---------+ b. Menjumlah Suatu Bilangan dengan SUM Fungsi SUM() digunakan untuk menjumlahkan nilai pada kolom yang berbentuk angka atau data numerik. Dengan fungsi ini, berapapun nilai data pada setiap record, dapat dijumlahkan secara cepat dan tepat. Perintah: SELECT SUM(nama_kolom) AS alias Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung jumlah nilai data pada salah satu kolom dari tabel pegawai.  Menghitung Rata Umur Secara Manual mysql> select sum(umur)/6 as umurrata from pegawai; +----------+ | umurrata | +----------+ | 33.6667 | +----------+  Menghitung Rata Umur Tanpa Mengetahui Jumlah Record mysql> select sum(umur)/count(*) as umurrata from pegawai; +----------+ | umurrata | +----------+ | 33.6667 | +----------+ c. Mencari Nilai Rata-Rata dengan AVG Fungsi AVG() digunakan untuk menghitung nilai rata-rata dari semua nilai yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini, berapa pun nilai data pada setiap record, dapat dihitung nilai rata-ratanya secara cepat dan tepat. Perintah: SELECT AVG(nama_kolom) AS alias Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung jumlah rata-rata data pada salah satu kolom dari tabel pegawai
  • 24. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 23  Menghitung Umur Rata-rata mysql> select avg(umur) as umurrata from pegawai; +----------+ | umurrata | +----------+ | 33.6667 | +----------+  Menghitung Berat Rata-rata mysql> select avg(berat) as beratrata from pegawai; +-----------+ | beratrata | +-----------+ | 64.5000 | +-----------+  Menghitung Tinggi Rata-rata mysql> select avg(tinggi) as tinggirata from pegawai; +--------------+ | tinggirata | +--------------+ | 171.3333 | +--------------+ d. Mencari Nilai Minimal dengan MIN Fungsi MIN() digunakan untuk mendapatkan nilai terkecil dari semua nilai yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini, berapa pun nilai data pada setiap record, dapat dihitung nilai terkecilnya secara cepat dan tepat. Perintah: SELECT MIN(nama_kolom) AS alias Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung nilai terkecil atau nilai minimal data pada salah satu kolom dari tabel pegawai.  Menghitung Umur Pegawai Paling Muda mysql> select min(umur) as termuda from pegawai; +---------+ | termuda | +---------+ | 25 | +---------+  Menghitung Berat Pegawai Paling Kecil mysql> select min(berat) as terkurus from pegawai; +----------+ | terkurus | +----------+ | 60 | +----------+  Menghitung Tinggi Pegawai Paling Pendek mysql> select min(tinggi) as terpendek from pegawai; +-----------+ | terpendek | +-----------+ | 165 | +-----------+ e. Mencari Nilai Maximal dengan MAX Fungsi MAX() digunakan untuk mendapatkan nilai terbesar dari semua nilai yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini, berapapun nilai data pada setiap record, dapat dihitung nilai terkecilnya secara cepat dan tepat.
  • 25. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 24 Perintah: SELECT MAX(nama_kolom) AS alias Dari bentuk perintah di atas, sekarang kita akan mencoba menghitung nilai terbesar atau nilai maksimal data pada salah satu kolom dari tabel pegawai.  Menghitung Umur Pegawai Paling Tua mysql> select max(umur) as tertua from pegawai; +--------+ | tertua | +--------+ | 42 | +--------+  Menghitung Berat Pegawai Paling Berat mysql> select max(berat) as terberat from pegawai; +----------+ | terberat | +----------+ | 70 | +----------+  Menghitung Nilai Maksimal Tinggi Badan mysql> select max(tinggi) as tertinggi from pegawai; +-----------+ | tertinggi | +-----------+ | 177 | +-----------+ f. Mencari Nilai Minimal dan Maximal Dengan menggunakan fungsi MIN() dan MAX(), kita dapat mencari nilai maksimal dan minimal secara bersamaan.  Menghitung Berat Minimal dan Maksimal Sekaligus mysql> select min(berat) as minimal, max(berat) as maximal from pegawai; +---------+---------+ | minimal | maximal | +---------+---------+ | 60 | 70 | +---------+---------+  Menghitung Tinggi Minimal dan Maksimal Sekaligus mysql> select min(tinggi) as minimal, max(tinggi) as maximal from pegawai; +---------+---------+ | minimal | maximal | +---------+---------+ | 165 | 177 |
  • 26. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 25 +---------+---------+ g. Seleksi Data dengan Range Nilai Masih menggunakan data yang ada dalam tabel pegawai, kita akan melakukan seleksi data berdasarkan range nilai. Untuk mendapatkan nilai data seperti ini, kita dapat menggunakan operator pembanding BETWEEN.  Menggunakan Operator Pembanding Tampilkan data pegawai yang umurnya antara 30 sampai dengan 35 tahun, Sehingga hasilnya seperti pada tabel dibawah ini. mysql> select * from pegawai where (umur>=30) and (umur<=35); +--------+---------------+------+--------+-------+ | nip | nama | umur | tinggi | berat | +--------+---------------+------+--------+-------+ | 006003 | Susan Bahtiar | 30 | 165 | 60 | +--------+---------------+------+--------+-------+ Lakukan hal yang sama untuk menampilkan data pegawai yang berat badannya antara 50 sampai dengan 60 kg menggunakan operator pembanding.  Menggunakan Parameter BETWEEN Menggunakan parameter BETWEEN merupakan cara terbaik untuk mendapatkan nilai range atau nilai. Pada praktiknya, saat membuat laporan, parameter ini biasa digunakan untuk mendapatkan laporan data per periode dan range nilai. Perintah: SELECT [* | kolom,[kolom]] FROM nama_tabel WHERE kolom BETWEEN rangea AND rangeb Dari bentuk perintah di atas, sekarang kita akan menampilkan data pegawai berdasarkan renge nilai yang ditentukan. mysql> select * from pegawai where umur between 30 and 35; +--------+---------------+------+--------+-------+ | nip | nama | umur | tinggi | berat | +--------+---------------+------+--------+-------+ | 006003 | Susan Bahtiar | 30 | 165 | 60 | +--------+---------------+------+--------+-------+ Lakukan hal yang sama untuk menampilkan data pegawai yang berat badannya antara 50 sampai dengan 60 kg menggunakan parameter between.
  • 27. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 26 Modul 6 Operator dan Fungsi 6.1. Menggunakan Operator Aritmatika Semua database yang mendukung perintah SQL juga mendukung operator aritmatika. Beberapa operator yang biasa digunakan adalah “*”, “/”, “%”, “+” dan “-“. Berikut keterangan lengkapnya: Tabel Prioritas Penggunaan Operator Aritmatika Operator Keterangan Prioritas * Perkalian Pertama / Pembagian Kedua % Sisa bagi Ketiga + - Penjumlahan, Pengurangan Keempat a. Operasi Perkalian dengan * Operator yang digunakan untuk operasi perkalian adalah tanda asterix (*). Dengan menggunakan operator ini, kita dapat mengalikan dua nilai atau lebih yang berbeda. Contoh: mysql> select 10 * 5; +--------+ | 10 * 5 | +--------+ | 50 | +--------+ mysql> select 2.5 * 5; +---------+ | 2.5 * 5 | +---------+ | 12.5 | +---------+ mysql> select -2 * 5; +--------+ | -2 * 5 | +--------+ | -10 | +--------+ b. Operasi Pembagian dengan / Operator yang digunakan untuk operasi pembagian adalah (/). Dengan menggunakan operator ini, Anda dapat membagi suatu bilangan dengan bilangan yang lain. Contoh: mysql> select 10 / 5; +--------+ | 10 / 5 | +--------+ | 2.0000 | +--------+ mysql> select (9 / 3) * 2; +-------------+ | (9 / 3) * 2 | +-------------+ | 6.0000 | +-------------+
  • 28. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 27 mysql> select 10 / 0.5, 10 / 2.5; +----------+----------+ | 10 / 0.5 | 10 / 2.5 | +----------+----------+ | 20.0000 | 4.0000 | +----------+----------+ c. Operasi Penjumlahan dengan + Operator yang digunakan untuk operasi penjumlahan atau penambahan adalah (+). Dengan menggunakan operator ini, Anda dapat menjumlah dua bilangan atau lebih. Contoh : mysql> select 5 + 7; +-------+ | 5 + 7 | +-------+ | 12 | +-------+ mysql> select 4 + 2 * 2,(2 + 4) * 2 ; +-----------+-------------+ | 4 + 2 * 2 | (2 + 4) * 2 | +-----------+-------------+ | 8 | 12 | +-----------+-------------+ d. Operasi Pengurangan dengan – Operator yang digunakan untuk operasi pengurangan adalah (-). Dengan menggunakan operator ini, Anda dapat mengurangi suatu bilangan dengan bilangan lain. Contoh : mysql> select 8 - 4; +-------+ | 8 - 4 | +-------+ | 4 | +-------+ mysql> select 6 - 2 + 8,(6 - 2) + 8; +-----------+-------------+ | 6 - 2 + 8 | (6 - 2) + 8 | +-----------+-------------+ | 12 | 12 | +-----------+-------------+
  • 29. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 28 e. Mencari Sisa Pembagian dengan % Operator yang digunakan untuk mencari sisa pembagian adalah (%). Dengan menggunakan operator ini, Anda dapat mengetahui berapa sisa pembagian dari suatu operasi pembagian. Contoh : mysql> select 5 % 2; +-------+ | 5 % 2 | +-------+ | 1 | +-------+ mysql> select 7 % 2, 7 % 3; +-------+-------+ | 7 % 2 | 7 % 3 | +-------+-------+ | 1 | 1 | +-------+-------+ 6.2. Menggunakan Fungsi Trigonometri a. Menghitung Nilai RADIANS Dalam menghitung nilai trigonometri dari suatu sudut, besar sudut tersebut harus dalam bentuk radian. Fungsi yang digunakan untuk mencari nilai radian adalah RADIANS. Berikut contohnya: mysql> select radians(30); +-----------------+ | radians(30) | +-----------------+ | 0.5235987755983 | +-----------------+ mysql> select radians(30),radians(45); +-----------------+------------------+ | radians(30) | radians(45) | +-----------------+------------------+ | 0.5235987755983 | 0.78539816339745 | +-----------------+------------------+ b. Mendapatkan Derajat Sudut Fungsi DEGREES dapat kita gunakan untuk mengembalikan nilai radian ke dalam bentuk derajat. Contohnya sebagai berikut: mysql> select radians(30),degrees(0.5235987755983); +-----------------+--------------------------+ | radians(30) | degrees(0.5235987755983) | +-----------------+--------------------------+ | 0.5235987755983 | 30 | +-----------------+--------------------------+ c. Menghitung Nilai Cosinus Jika kita ingin menghitung nilai cosinus dari suatu derajat, fungsi yang digunakan adalah COS. Contohnya sebagai berikut: mysql> select cos(radians(30)),cos(radians(90)); +------------------+----------------------+ | cos(radians(30)) | cos(radians(90)) | +------------------+----------------------+ | 0.86602540378444 | 6.1230317691119e-017 | +------------------+----------------------+
  • 30. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 29 d. Menghitung Nilai Sinus dengan SIN Jika kita ingin menghitung nilai sinus dari suatu derajat, fungsi yang digunakan adalah SIN. Contonya sebagai berikut: mysql> select sin(radians(45)),sin(radians(60)); +------------------+------------------+ | sin(radians(45)) | sin(radians(60)) | +------------------+------------------+ | 0.70710678118655 | 0.86602540378444 | +------------------+------------------+ e. Menghitung Nilai Tangen Jika kita akan menghitung nilai tangen dari suatu derajat, fungsi yang digunakan adalah TAN. Contohnya sebagai berikut: mysql> select sin(radians(30)),sin(radians(60)); +------------------+------------------+ | sin(radians(30)) | sin(radians(60)) | +------------------+------------------+ | 0.5 | 0.86602540378444 | +------------------+------------------+ 6.3. Menggunakan Fungsi Matematika a. Membulatkan Suatu Bilangan Pecah dengan ROUND Fungsi ROUND digunakan untuk membulatkan bilangan desimal menjadi satu nilai di atasnya ataupun nilai di bawahnya. Hal ini dapat dilakukan sesuai dengan kondisi nilai desimal yang ada di belakangnya. Contohnya sebagai berikut: mysql> select round(2.45),round(2.55); +-------------+-------------+ | round(2.45) | round(2.55) | +-------------+-------------+ | 2 | 3 | +-------------+-------------+ Pada contoh dibawah hasil dari pembulatan nilai desimalnya yang dipakai hanya 1 digit. Berikut contoh dan hasilnya: mysql> select round(2.250, 1),round(2.252,2); +-----------------+----------------+ | round(2.250, 1) | round(2.252,2) | +-----------------+----------------+ | 2.3 | 2.25 | +-----------------+----------------+ b. Pembualatan Pecahan Ke Atas dengan CEILING Fungsi CEILING dapat digunakan untuk membulatkan suatu bilangan desimal menjadi satu nilai di atasnya. Contohnya sebagai berikut: mysql> select ceiling(2.23),ceiling(-2.55); +---------------+----------------+ | ceiling(2.23) | ceiling(-2.55) | +---------------+----------------+ | 3 | -2 | +---------------+----------------+
  • 31. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 30 c. Pembulatan Pecahan Ke Bawah dengan FLOOR Berbeda dengan fungsi sebelumnya, fungsi FLOOR digunakan untuk membulatkan suatu bilangan desimal menjadi satu nilai di bawahnya. Contohnya sebagai berikut: mysql> select floor(2.01),floor(2.80),floor(-2.45),floor(-2.75); +-------------+-------------+--------------+--------------+ | floor(2.01) | floor(2.80) | floor(-2.45) | floor(-2.75) | +-------------+-------------+--------------+--------------+ | 2 | 2 | -3 | -3 | +-------------+-------------+--------------+--------------+ d. Mencari Nilai Pembagian dengan DIV Fungsi DIV digunakan untuk mendapatkan nilai hasil pembagian dari dua buah bilangan. Nilai yang dihasilkan dari fungsi ini bebentuk bilangan asli tanpa pecahan. Contohnya sebagai berikut: mysql> select 5 div 2, 5 / 2; +---------+--------+ | 5 div 2 | 5 / 2 | +---------+--------+ | 2 | 2.5000 | +---------+--------+ e. Mendapatkan Sisa Pembagian dengan MOD Fungsi MOD digunakan untuk mendapatkan modulus atau sisa pembagian dari operasi pembagian. Jika pada fungsi DIV hasil dari sisa pembagiannya diabaikan, maka pada fungsi ini malah yang menjadi hasilnya. Contohnya sebagai berikut: mysql> select 9 mod 2; +---------+ | 9 mod 2 | +---------+ | 1 | +---------+ f. Mendapatkan Nilai Terkecil dengan LEAST Fungsi LEAST digunakan untuk mendapatkan nilai terkecil dari sederetan bilangan atau data yang ada. contohnya sebagai berikut: mysql> select least(1, 2, 3, 4, 5, 6, 7, 8, 9); +----------------------------------+ | least(1, 2, 3, 4, 5, 6, 7, 8, 9) | +----------------------------------+ | 1 | +----------------------------------+ g. Mendapatkan Nilai Terbesar dengan GREATEST Berbeda dengan fungsi sebelumnya, fungsi GREATEST digunakan untuk mendapatkan nilai terbesar dari sederetan data yang ada. Contohnya sebagai berikut:
  • 32. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 31 mysql> select greatest(1, 2, 3, 4, 5, 6, 7, 8, 9); +-------------------------------------+ | greatest(1, 2, 3, 4, 5, 6, 7, 8, 9) | +-------------------------------------+ | 9 | +-------------------------------------+ h. Operasi Perpangkatan dengan POW Fungsi POW digunakan untuk mencari nilai pangkat dari suatu bilangan. Anda pasti sudah paham, bahwa pangkat merupakan operasi perkalian suatu nilai dengan dirinya sendiri sebanyak jumlah pemangkatnya. Perintahnya sebagai berikut: POW(bilangan, pemangkat) Pada praktiknya, penggunaan fungsi POW dapat digantikan dengan POWER, kedua fungsi ini menghasilkan nilai yang sama. Perhatikan contoh berikut: mysql> SELECT POW(2, 3), -> POWER(2, 4), -> POW(4, 2); +----------+------------+----------+ | pow(2,3) | power(2,4) | pow(4,2) | +----------+------------+----------+ | 8 | 16 | 16 | +----------+------------+----------+ i. Mengacak Susunan Angka dengan RAND Fungsi RAND digunakan untuk menghasilkan susunan angka yang bersifat acak. Perintahnya sebagai berikut: RAND([jumlah]) Pada sintaks di atas, Anda juga diizinkan tidak mendefinisikan jumlah bilangannya, karena sifatnya hanya pilihan. Misalnya: mysql> SELECT RAND(); mysql> SELECT RAND(2), -> RAND(10), -> RAND(20); +--------------------+--------------------+---------------------+ | rand(2) | rand(10) | rand(20) | +--------------------+--------------------+---------------------+ | 0.6555866465490187 | 0.6570515219653505 | 0.15888261251047497 | +--------------------+--------------------+---------------------+ j. Mencari Nilai Akar dai Suatu Bilangan dengan SQRT Fungsi SQRT dapat digunakan untuk mencari akar kuadrat dari suatu bilangan. Anda tentu masih ingat dengan akar kuadrat, bukan? Jika belum jelas, Anda dapat melihat analogi berikut: Jadi, akar merupakan perkalian dua bilangan yang sama sehingga menghasilkan suatu bilangan hasil. Perintahnya sebagai berikut: SQRT(bilangan)
  • 33. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 32 Untuk dapat lebih mudah memahami perintah di atas, silahakn mempraktikkan beberapa perintah berikut: Berikut adalah perintah yang digunakan untuk menghitung nilai akar kuadrat dari 81. Lihat dan praktikkan perintah berikut. mysql> SELECT SQRT(81); +----------+ | sqrt(81) | +----------+ | 9 | +----------+ k. Mendapatkan Nilai PI Fungsi PI dalam MySQL digunakan untuk mendapatkan nilai PI (3,14). Perintahnya sebagai berikut: mysql> SELECT PI(); +----------+ | pi() | +----------+ | 3.141593 | +----------+ l. Mengambil Panjang Desimal dari Bilangan dengan TRUNCATE Fungsi TRUNCATE digunakan untuk mengambil jumlah digit bilangan desimal sebanyak yang kita mau, dan tidak mengubah nilai dari bilangan primanya. Misalnya: mysql> SELECT TRUNCATE(1.245, 2), -> TRUNCATE(5.23, 1); +----------+ | pi() | +----------+ | 3.141593 | +----------+ m. Menggunakan Fungsi Logaritma a. Mengenal Logaritma Logaritma merupakan jumlah perpangkatan dari suatu bilangan. Logaritma basis 2 Log2 merupakan nilai pangkat dari bilangan 2. Sedangkan logaritma basis 10 merupakan nilai pangkat dari bilangan 10. Untuk lebih memahaminya, perhatikan ilustrasi berikut: Begitu juga dengan logaritma basis 10, perhatikan ilustrasi berikut:
  • 34. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 33 b. Nilai Logaritma Basis 2 dengan LOG Untuk mencari nilai logaritma basis 2, Anda dapat menggunakan fungsi LOG2. Perintahnya sebagai berikut: mysql> SELECT POWER(2, 4), -> LOG2(16); +------------+-----------+ | power(2,4) | log2(128) | +------------+-----------+ | 16 | 7 | +------------+-----------+ c. Nilai Logaritma Basis 10 dengan LOG10 Untuk mencari nilai logaritma basis 10, Anda dapat menggunakan fungsi LOG 10. Perintahnya sebagai berikut: mysql> SELECT POWER(10, 4), -> LOG10(10000); +-------------+--------------+ | power(10,4) | log10(10000) | +-------------+--------------+ | 10000 | 4 | +-------------+--------------+
  • 35. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 34 Modul 7 Fungsi String a. Konversi String Menjadi Huruf Kecil Apapun bentuk huruf dari karakter yang ada, dapat dikonversi ke dalam format huruf kecil, menggunakan fungsi LCASE. Perintahnya sebagai berikut: LCASE( string ) Selain LCASE, pada MySQL juga terdapat perintah LOWER. Berikut contoh penggunanya. mysql > SELECT LCASE('TEKNIK INFORMATIKA'); +-----------------------------+ | LCASE('TEKNIK INFORMATIKA') | +-----------------------------+ | teknik informatika | +-----------------------------+ mysql> SELECT LOWER('Teknik Informatika'); +-----------------------------+ | lower('TEKNIK INFORMATIKA') | +-----------------------------+ | teknik informatika | +-----------------------------+ b. Konversi String Menjadi Huruf Besar Kebalikan dari fungsi LCASE adalah UCASE. Dengan menggunakan fungsi ini, anda dapat mengkonversi string dengan format huruf kecil menjadi huruf besar. Perintahnya sebagai berikut: UCASE(string) Selain fungsi UCASE, kita juga dapat menggantinya dengan fungsi UPPER. Untuk lebih jelasnya, Anda dapat mencoba latihan berikut: mysql > SELECT UCASE('teknik informatika'); +-----------------------------+ | UCASE('teknik informatika') | +-----------------------------+ | TEKNIK INFORMATIKA | +-----------------------------+ mysql> SELECT UPPER('Teknik Informatika'); +-----------------------------+ | upper('teknik informatika') | +-----------------------------+ | TEKNIK INFORMATIKA | +-----------------------------+
  • 36. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 35 c. Mengambil Bagian String Tertentu dengan SUBSTRING Dengan menggunakan fungsi SUBSTRING, kita dapat mengambil bagian tertentu dari suatu string, baik digit karakter yang ada di tengah, pinggir, ataupun di tempat lain. Alias dari fungsi di atas adalah SUBSTR. Perintahnya sebagai berikut: SUBSTRING(string, int_mulai [, int_jumlah]) Keterangan: String : string atau karakter tujuan yang akan diambil sebagai digit karakternya. Int_mulai : nomor urut dari karakter penyusun string tersebut, digit pertama akan dianggap nomor urut 1, sedangkan pada digit paling akhir akan dianggap dengan nomor urut –1. Int_jumlah : jumlah karakter yang akan diambil dari suatu string, jumlahnya terhitung dari karakter mulai. Jika bernilai minus, maka data ini akan menjadi batas, tetapi syaratnya harus lebih besar dari data int_mulai. Untuk mempermudah memahami keterangan diatas perhatikan gambar dibawah ini. 1. Gambaran dasar penggunaan dari fungsi SUBSTRING atau SUBSTR. Menggunakan satu nilai dalam mengambil karakter Untuk lebih jelasnya, Anda dapat mencoba perintah sederhana berikut. mysql > SELECT SUBSTRING('Teknik Informatika', 6); +-----------------------------------+ | substring('Teknik Informatika',6) | +-----------------------------------+ | k Informatika | +-----------------------------------+ mysql> SELECT SUBSTR('KOMPUTER',3); +----------------------+ | substr('KOMPUTER',3) | +----------------------+ | MPUTER | +----------------------+ 2. Pada contoh di atas, nilai positif yang ada akan dianggap sebagai nilai start (nilai awal) dari pengambilan digit karakter. Sedangkan jika menggunakan dua nilai, maka angka pertama sebagai nilai awal dan angka kedua dibaca sebagai jumlah pengambilan. Perhatikan bentuk berikut: Menggunakan nilai awal dan jumlah pengambilan dengan nilai positif
  • 37. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 36 mysql > SELECT SUBSTRING('Teknik Informatika', 5, 6); +-------------------------------------+ | substring('Teknik Informatika',5,6) | +-------------------------------------+ | ik Inf | +-------------------------------------+ 3. Jika ingin mengambil sebagian data sampai karakter terakhir, maka kita harus mengetahui berapa jumlah maksimal digit dari total karakter, dimulai dari digit awal sampai terakhir. Perhatikan penggambaran berikut: Mengambil sebagian data Seperti pada gambar di atas, jika kita hanya ingin mengambil karakter “Informatika” saja, maka perintah yang digunakan sebagai berikut: mysql > SELECT SUBSTRING('Tehnik Informatika', 8, 11); +--------------------------------------+ | substring('Teknik Informatika',8,11) | +--------------------------------------+ | Informatika | +--------------------------------------+ 4. Jika kita menggunakan nilai negatif pada bagian int_mulai, Urutan karakter penyusun dari string tersebut akan dibaca secara terbalik, yaitu dihitung dari karakter paling akhir. Untuk lebih jelasnya, Anda dapat melihat penggambaran berikut: Mengambil data dengan nilai negatif Jadi, karakter terakhir akan dianggap bernilai –1, kemudian diikuti dengan digit kedua dengan nilai –2 sampai digit pertama. Dengan cara seperti gambar di atas, Anda dapat mencoba perintah berikut: mysql > SELECT SUBSTRING('Teknik Informatika', -11, 4); +---------------------------------------+ | substring('Teknik Informatika',-11,4) | +---------------------------------------+ | Info | +---------------------------------------+ Contoh lain jika kita akan mengambil 18 karakter yang dimulai dari urutan karakter ke –18. Caranya: mysql > SELECT SUBSTRING('Teknik Informatika', -18, 18); +----------------------------------------+ | substring('Teknik Informatika',-18,18) | +----------------------------------------+ | Teknik Informatika | +----------------------------------------+
  • 38. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 37 d. Mengambil String Bagian Kiri dengan LEFT Fungsi LEFT digunakan untuk mengambil sebagian string dimulai dari arah kiri string. Fungsi ini dapat diterapkan pada semua database yang mendukung perintah SQL, termasuk MySQL. Perintahnya sebagai berikut: LEFT(string, int_jumlah) Teknik pengambilannya akan dimulai dari karakter pertama dari suatu string, kemudian dihitung sebanyak jumlah yang akan diambil. Penggunaan dari fungsi ini dapat dilihat pada gambar berikut: Pengambilan sebagian string sebelah kiri Pada gambar di atas, kita akan mengambil 6 karakter mulai dari sebelah kiri string, sehingga hasilnya adalah “Tehnik”. Anda dapat mencoba perintah berikut: mysql > SELECT LEFT('Teknik Informatika', 6); +------------------------------+ | left('Teknik Informatika',6) | +------------------------------+ | Teknik | +------------------------------+ e. Mengambil String Bagian Kanan dengan RIGHT Fungsi RIGHT digunakan untuk mengambil beberapa digit karakter dimulai dari sebelah kanan string. Karakter tarakhir penyusun string akan dianggap memiliki nomor urut 1, kemudian diurutkan secara terbalik. Perintahnya sebagai berikut: RIGHT(string, int_jumlah) Dari sintaks di atas, dapat kami perjelas teknik pengambilan datanya seperti pada gambar berikut: Pengambilan bagian kanan string Pada gambar di atas, kita mengambil 11 digit karakter dari sebelah kanan, sehingga hasilnya adalah “Informatika”. Untuk lebih jelasnya, Anda dapat mencoba seperti perintah berikut: mysql > SELECT RIGHT('Teknik Informatika', 11); +--------------------------------+ | right('Teknik Informatika',11) | +--------------------------------+ | Informatika | +--------------------------------+
  • 39. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 38 f. Konversi Bilangan Ke dalam Bentuk ASCII Kita dapat mengetahui kode ASCII dari suatu huruf dengan menggunakan fungsi ASCII. Selain itu, kita juga dapat menggunakan fungsi ORD untuk mendapatkan bilangan ASCII. Perintahnya sebagai berikut: ASCII(‘karakter’) ORD(‘karakter’) Dari sintaks di atas, anda dapat mencoba beberapa perintah berikut: mysql> SELECT ASCII('5'); +------------+ | ascii('A') | +------------+ | 65 | +------------+ mysql> SELECT ASCII('A'), ASCII('a'); +------------+------------+ | ascii('A') | ascii('a') | +------------+------------+ | 65 | 97 | +------------+------------+ mysql> SELECT ORD('A'), ORD('a'); +----------+----------+ | ord('A') | ord('a') | +----------+----------+ | 65 | 97 | +----------+----------+ g. Konversi Bentuk Heksadesimal Dengan menggunakan fungsi HEX, kita dapat mencari bilangan HEXADESIMAL dari suatu karakter (angka dan huruf). Sintaks dasar perintah tersebut adalah: HEX(‘karakter’) Dengan melihat sintaks di atas, Anda dapat mencoba perintah berikut: mysql> SELECT HEX(225); +----------+ | hex(225) | +----------+ | E1 | +----------+ mysql> SELECT HEX('ABC'); +------------+ | hex('ABC') | +------------+ | 414243 | +------------+
  • 40. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 39 h. Konversi Bentuk Desimal ke dalam Bentuk Karakter Kita dapat mengembalikan hasil konversi dari fungsi ORD atau HEX dengan menggunakan fungsi CHAR. Perintahnya sebagai berikut: CHAR(‘desimal’) Untuk lebih jelasnya, Anda dapat mencoba perintah berikut: mysql> SELECT CHAR(66); +----------+ | char(66) | +----------+ | B | +----------+ mysql> SELECT CHAR(85, 78, 83, 73, 76); +----------------------+ | char(85,78,83,73,76) | +----------------------+ | UNSIL | +----------------------+ i. Mendapatkan Bilangan Biner Bilangan biner merupakan susunan dari angka 0 dan 1 sebanyak 4 digit atau kelipatannya. Perintahnya sebagai berikut: BIN(desimal) Untuk lebih jelasnya, Anda dapat melihat contoh berikut: mysql> SELECT BIN(8); +--------+ | bin(8) | +--------+ | 1000 | +--------+ mysql> SELECT BIN(3); +--------+ | bin(3) | +--------+ | 11 | +--------+ j. Menyisipkan Karakter Tertentu Pada String Fungsi INSERT digunakan untuk menyisipkan suatu karakter pada suatu string dengan menggunakan alamat tertentu. Perintahnya sebagai berikut: INSERT(string, int_mulai [, int_jumlah], str_baru) Pada sintaks di atas, teknik penempatan karakter baru (str_baru) menggunakan alamat urutan digit seperti pada saat menggunakan fungsi SUBSTR (jika belum jelas Anda dapat membaca pembahasan sebelumnya). Misalnya:
  • 41. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 40 mysql> SELECT INSERT('TekInformatika',3,1,'nik '); +------------------------------------+ | insert('tekinformatika',3,1,'nik') | +------------------------------------+ | tenikinformatika | +------------------------------------+ Pada contoh di atas, kita memiliki string yang berbunyi “TekInformatika”, kemudian pada karakter ke-3 sebanyak 1 digit ke depan atau “k” kita ganti dengan “nik”. k. Menghitung Panjang String Dengan menggunakan fungsi LENGTH atau CHAR_LENGTH, kita dapat memperoleh informasi berapa panjang suatu string. Perintahnya sebagai berikut: LENGT(string); CHAR_LENGT(string); Untuk lebih jelasnya, Anda dapat mencoba perintah berikut: mysql> SELECT LENGTH('Teknik Informatika'); +------------------------------+ | length('Teknik Informatika') | +------------------------------+ | 18 | +------------------------------+ l. Menemukan Posisi Suatu Karakter Pada String Dengan menggunakan fungsi LOCATE, Anda dapat memperoleh informasi letak suatu substring (bagian string) dari string yang ada. Fungsi alias dari LOCATE adalah INSTR. Perintahnya sebagai berikut: LOCATE(substring, string) Untuk lebih jelasnya, Anda dapat mencoba perintah berikut: mysql> SELECT LOCATE('format', 'Teknik Informatika'); +---------------------------------------+ | locate('format','Teknik Informatika') | +---------------------------------------+ | 10 | +---------------------------------------+ m. Menghilangkan Spasi Kosong Pada Kalimat Suatu ketika, pasti kita akan memiliki data yang di dalamnya terdapat spasi kosong yang tidak diperlukan, misalnya spasi ganda. Jika hal ini menjadi masalah, kita dapat menghilangkan spasi-spasi kosong yang tidak diperlukan dengan menggunakan fungsi TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai berikut:  RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kanan (Right) string.
  • 42. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 41  LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (LEFT) string.  TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun tengah string. Perintah ketiga fungsi di atas sama, yaitu: RTRIM(string) LTRIM(string) TRIM(string) Untuk lebih memahami bentuk sintaks di atas, Anda dapat mencoba ketiga perintah berikut: 1. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kiri kalimat. mysql> SELECT LTRIM(' Teknik Informatika'); +-----------------------------------+ | ltrim(' Teknik Informatika') | +-----------------------------------+ | Teknik Informatika | +-----------------------------------+ 2. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kanan kalimat. mysql> SELECT RTRIM('Teknik Informatika '); +----------------------------------+ | rtrim('Teknik Informatika ') | +----------------------------------+ | Teknik Informatika | +----------------------------------+ 3. Berikut adalah contoh perintah menghilangkan spasi kosong yang ada pada bagian kiri dan kanan kalimat. mysql> SELECT TRIM(' Teknik Informatika '); +----------------------------------------+ | trim(' Teknik Informatika ') | +----------------------------------------+ | Teknik Informatika | +----------------------------------------+ n. Membuat Spasi Kosong dengan SPACE Jika fungsi TRIM digunakan untuk membuang spasi kosong yang ada pada suatu string, dengan menggunakan SPACE, kita dapat membuat spasi kosong sebanyak yang disebutkan. Perintahnya sebagai berikut: SPACE(int_jumlah) Pada sintaks di atas, parameter int_jumlah adalah jumlah spasi kosong yang akan dibuat. Misalnya:
  • 43. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 42 mysql> SELECT SPACE(15); +-----------------+ | space(15) | +-----------------+ | | +-----------------+ o. Mencari Suatu Karakter dan Mengganti dengan Karakter Lain Dengan menggunakan fungsi REPLACE, Anda dapat mencari suatu substring atau karakter dari suatu string. Kemudian, setelah ditemukan dapat diganti dengan string yang lain. Perintahnya sebagai berikut: REPLACE (string, str_asal, str_pengganti) Dengan menggunakan fungsi di atas, semua karakter yang ditemukan akan diganti dengan karakter baru sebagai pengganti. Misalnya, kita akan mengganti setiap tanda titik (.) menjadi „dot‟: mysql> SELECT REPLACE ('www.tasikmalaya.go.id','.', ' dot '); +--------------------------------------------+ | replace('www.tasikmalaya.go.id','.','dot') | +--------------------------------------------+ | wwwdottasikmalayadotgodotid | +--------------------------------------------+ p. Mengulangi Suatu String Sebanyak Jumlah Tertentu Fungsi REPEAT digunakan untuk membuat data berulang sebanyak jumlah angka yang kita sebutkan. Perintahnya sebagai berikut: REPEAT (string, jumlah) Misalnya, kita akan menampilkan kata „MySQL‟ sebanyak 5 kali. mysql> SELECT REPEAT('MySQL', 5); +---------------------------+ | repeat('MySQL',5) | +---------------------------+ | MySQLMySQLMySQLMySQLMySQL | +---------------------------+ q. Membalik Susunan Karakter pada Suatu String Dengan menggunakan fungsi REVERSE, kita dapat membalik susunan karakter dari suatu string . Berikut sintaks dasarnya: REVERSE(string) Misalnya, jika kita memiliki string dengan ejaan “ABCDEFGHIJK”, maka hasilnya adalah “KJIHGFEDCBA”. Perhatikan contoh berikut: mysql> SELECT REVERSE('ABCDEFHTIJK'); +----------------------+ | reverse('ABCDEFIJK') | +----------------------+ | KJIFEDCBA | +----------------------+
  • 44. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 43 r. Memberikan Tanda Back Slahs pada Tanda Petik Satu Pada suatu ketika, pasti kita akan menemukan suatu kalimat yang di dalamnya terdapat tanda petik tunggal maupun petik ganda. Supaya data tersebut dapat ditampilkan, kita harus menggunakan fungsi QUOTE untuk mematikannya. Perintahnya sebagai berikut: QUOTE(string) Misalnya, jika kita memiliki kata yang di dalamnya terdapat tanda petik tunggal seperti “Jum‟at” dan “Do‟a”, perintahnya sebagai berikut: mysql> SELECT QUOTE("Sekarang hari jum'at"); +-------------------------------+ | quote("sekarang hari jum'at") | +-------------------------------+ | 'sekarang hari jum'at' | +-------------------------------+ s. Menambahkan Beberapa Karakter Pada String Kita dapat menambahkan atau menggabungkan suatu karakter ke dalam string sebanyak jumlah maksimal bilangan yang disebutkan. Untuk menambahkan karakter pada sebelah kanan, kita dapat menggunakan fungsi RPAD, sedangkan jika akan menambahkan karakter pada sebelah kiri, kita dapat menggunakan fungsi LPAD. Perintahnya sebagai berikut: RPAD(string, jumlah, str_tambahan) LPAD(string, jumlah, str_tambahan) Untuk lebih jelasnya, Anda dapat melihat contoh berikut: mysql> SELECT LPAD('TI', 5, '++'); +-------------------+ | lpad('TI',5,'++') | +-------------------+ | +++TI | +-------------------+ Pada contoh di atas, awalnya kita memiliki string bernama “TI”, kemudian jumlah maksimalnya adalah 5 digit. Jadi, Untuk menambahkan karakter “++” pada sebelah kiri, supaya jumlah maksimalnya 5, maka kita hanya diperbolehkan menambah 3 digit. Sehingga hasilnya “+++TI”. Begitu juga dengan penambahan karakter pada sebelah kanan, misalnya: mysql> SELECT RPAD('TI', 8, '++'); +-------------------+ | rpad('TI',8,'++') | +-------------------+ | TI++++++ | +-------------------+ t. Mengambil String dari Sederetan String Jika kita memiliki sederetan string dan akan mengambil hanya sebagian string yang ditunjuk saja, maka fungsi yang dapat digunakan adalah ELT. Perintahnya sebagai berikut: ELT (N, str1, str2, str3, str4, ,.., strn)
  • 45. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 44 Dari sintaks di atas, jika parameter N bernilai 1, maka string yang didapat adalah str1. Sedangkan jika N=2, maka yang didapat adalah str2, dan seterusnya. Untuk lebih jelasnya, lihatlah contoh perintah berikut: mysql> SELECT ELT(1, 'TI','TK','SI','MI','KA'); +---------------------------------+ | elt(1,'TI','TK','SI','MI','KA') | +---------------------------------+ | TI | +---------------------------------+ Pada contoh di atas, nilai N adalah 1, sehingga yang didapatkan dari perintah di atas adalah TI. Karena karakter “TI” merupakan string urutan ke-1. Jika akan mengambil karakter “TK”, maka nilai N-nya harus bernilai 2. Untuk mengambil karakter “SI”, maka nilai N-nya harus bernilai 3. Untuk mengambil karakter “MI”, maka nilai N-nya harus bernilai 4 dan untuk mengambil karakter “KA” nilai N-nya harus bernilai 5. Untuk membuktikannya, sekarang coba gunakan nilai N=4. mysql> SELECT ELT(4, 'TI','TK','SI','MI','KA'); +---------------------------------+ | elt(4,'TI','TK','SI','MI','KA') | +---------------------------------+ | MI | +---------------------------------+ u. Mencari Posisi Suatu String pada Sederetan String yang Ada Jika kita akan mencari posisi suatu string dari sederetan string yang ada, maka fungsi yang digunakan adalah FIELD. Perintahnya sebagai berikut: FIELD(string, str1, str2, str3, str4, ..., strn) Pada sintaks di atas, parameter string merupakan karakter yang akan dicari posisinya, apakah terletak pada str1, str2, atau str3, dan seterusnya. Nilai balik dari fungsi di atas adalah bilangan real. Misalnya: mysql> SELECT FIELD('TI', 'TI','TK','SI','MI','KA'); +--------------------------------------+ | field('TI','TI','TK','SI','MI','KA') | +--------------------------------------+ | 1 | +--------------------------------------+ Pada contoh di atas, kita mencari letak karakter “TI”, ternyata ditemukan pada string pertama (str1). Selanjutnya, jika akan mencari letak karakter “MI”, kita dapat menuliskan perintah berikut: mysql> SELECT FIELD('MI', 'TI','TK','SI','MI','KA'); +--------------------------------------+ | field('MI','TI','TK','SI','MI','KA') | +--------------------------------------+ | 4 | +--------------------------------------+ v. Mencari Posisi Suatu String Pada Sederetan String Bertumpuk Fungsi FIND_IN_SET hampir mirip dengan fungsi sebelumnya, yang membedakan hanyalah bentuk deretan string yang tidak dipisahkan menjadi string tersendiri, melainkan string bertumpuk. Perintahnya sebagai berikut: FIND_IN_SET (string, str_daftar)
  • 46. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 45 Untuk lebih jelasnya, Anda dapat mencoba perintah berikut: mysql> SELECT FIND_IN_SET('TK', 'TI,TK,SI,MI,KA'); +------------------------------------+ | find_in_set('TK','TI,TK,SI,MI,KA') | +------------------------------------+ | 2 | +------------------------------------+ mysql> SELECT FIND_IN_SET('KA', 'TI,TK,SI,MI,KA'); +------------------------------------+ | find_in_set('KA','TI,TK,SI,MI,KA') | +------------------------------------+ | 5 | +------------------------------------+
  • 47. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 46 Modul 8 Fungsi Tanggal dan Waktu a. Mendapatkan Tanggal dan Waktu Sekarang NOW merupakan fungsi MySQL untuk mendapatkan informasi tanggal dan jam yang berjalan saat ini. Perintahnya sebagai berikut: mysql> SELECT NOW(); Dalam menuliskan tanggal, MySQL memiliki format “Y-m-d” atau “Year-Month- Date”. Jadi, jika Anda memiliki data “25 November 2008”, maka di dalam MySQL ditulis “2008-11-25”. b. Mendapatkan Tanggal Sekarang CURDATE() digunakan untuk mendapatkan informasi tanggal saja. Perintahnya sebagai berikut: mysql> SELECT CURDATE(); c. Mendapatkan Data Tanggal dari Ekspresi Fungsi DATE(date time) digunakan untuk mendapatkan nilai tanggal secara lengkap. Perintahnya sebagai berikut: mysql> SELECT DATE('2008-11-26 04:02:03'); d. Mendapatkan Nilai Tanggal Fungsi DAY(date) atau DAYOFMONTH(date) digunakan untuk mendapatkan informasi tanggal saja, dengan format “Y-m-d”. Berikut adalah dua contoh perintahnya: mysql> SELECT DAYOFMONTH('2007-11-25'); mysql> SELECT DAYOFMONTH(NOW()) AS 'Tanggal'; e. Mendapatkan Nilai Bulan Dari data tanggal lengkap (Y-M-D), jika kita hanya ingin mendapatkan informasi bulannya saja, perintahnya adalah MONTH(date). Berikut adalah contoh perintahnya: mysql> SELECT MONTH('2007-11-25'); mysql> SELECT MONTH(NOW()) AS 'BULAN'; f. Mendapatkan Nilai Tahun Dari data tanggal lengkap (Y-M-D), jika kita hanya ingin mendapatkan informasi tahunnya saja, perintahnya adalah YEAR(date). Berikut adalah dua contoh perintahnya: mysql> SELECT YEAR('2007-11-25'); mysql> SELECT YEAR(NOW()) AS 'TAHUN'; g. Mendapatkan Nama Hari Dari data tanggal lengkap (Y-M-D), jika kita ingin mendapatkan informasi nama hari yang sesuai dengan tanggal tertentu, perintahnya adalah DAYNAME(date). Perintahnya sebagai berikut: mysql> SELECT DAYNAME('2007-11-25'); mysql> SELECT DAYNAME(NOW()) AS 'HARI';
  • 48. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 47 h. Mendapatkan Nama Bulan Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi nama bulan yang sesuai dengan tanggal tertentu, fungsi yang digunakan adalah MONTHNAME(date). Berikut adalah contoh perintahnya: mysql> SELECT MONTHNAME('2007-11-25'); mysql> SELECT MONTHNAME(NOW()) AS 'BULAN'; i. Mendapatkan Urutan Hari Dalam Seminggu Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan hari yang dihitung dalam seminggu, perintahnya adalah DAYOFWEEK(date). Dari fungsi tersebut, hasil yang ditampilkan adalah indeks urutan dalam seminggu (1 = Sunday, 2 = Monday, ..., 7 = Saturday). Berikut adalah dua contoh perintahnya: mysql> SELECT DAYOFWEEK('2007-11-25'); mysql> SELECT DAYOFWEEK(NOW()) AS 'HARI KE'; j. Mendapatkan Nama Hari Dalam Bentuk Angka Berbeda dengan fungsi sebelumnya, kita dapat memperoleh informasi nama hari dalam bentuk angka, dengan syarat (0 = Monday, 1 = Tuesday,... 6 = Sunday). Fungsi yang digunakan adalah WEEKDAY(date). Berikut adalah dua contoh termasuk perbedaannya: mysql> SELECT WEEKDAY('2008-01-12'); mysql> SELECT DAYOFWEEK('2008-01-12'); Jadi, jika data tanggal untuk hari Senin/Monday, nilainya adalah 0, Selasa/Tuesday bernilai 1, dan seterusnya sampai Minggu/Sunday bernilai 6. k. Mendapatkan Urutan Hari Dalam Setahun Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan hari yang dihitung dalam satu tahun, perintahnya adalah DAYOFYEAR(date). Dari fungsi tersebut, hasil yang ditampilkan adalah indeks urutan hari dalam satu tahun, mulai dari 1 sampai dengan 365 hari. Berikut adalah dua contoh perintahnya: mysql> SELECT DAYOFYEAR('2007-02-25'); mysql> SELECT DAYOFYEAR(NOW()) AS 'HARI KE'; l. Mendapatkan Urutan Minggu Dalam Setahun Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi urutan minggu yang dihitung dalam satu tahun, maka fungsi yang digunakan adalah WEEKOFYEAR(date). Dari fungsi tersebut, hasil yang ditampilkan adalah indeks urutan minggu dalam satu tahun, mulai dari 1 sampai dengan 52 minggu. Berikut adalah dua contoh perintahnya: mysql> SELECT WEEKOFYEAR('2007-01-05'); mysql> SELECT WEEKOFYEAR('2007-12-30');
  • 49. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 48 m. Mendapatkan Informasi Tanggal Terakhir Dari data tanggal lengkap (Y-m-d), jika kita ingin mendapatkan informasi tanggal terakhir pada bulan yang berjalan atau pada suatu waktu yang kita tentukan, perintahnya adalah LAST_DAY(date). Berikut adalah dua contoh perintahnya: mysql> SELECT LAST_DAY('2007-11-01'); Hasil dari perintah LAST_DAY sama, selama tanggal yang disebutkan masih masuk pada bulan yang ditunjuk. mysql> SELECT LAST_DAY('2007-11-30'); Dengan perintah di atas, jika tanggal yang disebutkan salah atau tidak ada pada bulan tersebut, maka hasilnya adalah NULL atau tanpa nilai. n. Membuat Tanggal dari Urutan Hari Jika kita memiliki data urutan hari dalam satu tahun, kita dapat menampilkan data tanggal secara lengkap, dengan cara menyebutkan tahun berapa tanggal akan dibentuk. Fungsi yang digunakan MAKEDATE(year, dayofyear), di mana parameter year adalah nilai tahun yang akan dibentuk dan dayofyear adalah urutan hari dalam satu tahun. mysql> SELECT MAKEDATE(2008,31), MAKEDATE(2008,32); mysql> SELECT MAKEDATE(2007,365), MAKEDATE(2008,365); o. Informasi Tanggal Beberapa Hari Kemudian Jika kita memiliki data tanggal dan ingin mengetahui tanggal berapa yang berjalan setelah n hari kemudian, kita dapat menggunakan fungsi ADDDATE untuk menghitungnya. Berikut adalah sintaks dasar kedua fungsi tersebut: ADDDATE(date,days) Pada sintaks di atas, parameter days merupakan jumlah hari yang akan ditambahkan dari data tanggal yang telah disebutkan pada parameter date. Misalnya: mysql> SELECT ADDDATE('2008-01-02', 31); mysql> SELECT ADDDATE('2007-12-02', 31); p. Mendapatkan Waktu Sekarang Sebelumnya telah dipelajari, bahwa untuk mendapatkan informasi tanggal dan jam atau waktu dapat dilakukan dengan fungsi NOW(). Sekarang, jika kita hanya ingin mendapatkan informasi waktu atau jam saja, perintahnya adalah CURTIME. Misalnya: mysql> SELECT CURTIME(); mysql> SELECT CURTIME() AS hasil1, -> CURTIME() + 0 AS hasil2, -> CURTIME() + 1 AS hasil3, -> CURTIME() + 6 AS hasil4; q. Mendapatkan Data Waktu dari Ekspresi Jika kita memiliki ekspresi data tanggal dan waktu, untuk mendapatkan nilai waktu secara lengkap, dapat dilakukan menggunakan fungsi TIME. Berikut adalah dua contoh perintahnya:
  • 50. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 49 mysql> SELECT TIME('2007-11-24 19:49:44'); mysql> SELECT TIME('2007-11-24 19:49:44') AS hasil; r. Mendapatkan Nilai Detik Jika kita hanya ingin mendapatkan informasi tanggalnya saja, maka fungsi yang digunakan adalah SECOND(time), di mana time adalah data waktu dalam format “H- i-s”. Berikut adalah dua contoh perintahnya: mysql> SELECT SECOND('19:05:03'); mysql> SELECT SECOND(CURTIME()); s. Mendapatkan Nilai Menit Dari data waktu yang lengkap (H-i-s), jika kita hanya ingin mendapatkan informasi nilai menit saja, perintahnya adalah MINUTE(time). Berikut adalah dua contoh perintahnya: mysql> SELECT MINUTE('19:05:03'); mysql> SELECT MINUTE('2007-11-24 19:05:03'); t. Mendapatkan Nilai Jam Dari data waktu yang lengkap (H-i-s), jika kita hanya ingin mendapatkan informasi nilai jamnya saja, perintahnya adalah HOUR(time). Berikut adalah dua contoh perintahnya: mysql> SELECT HOUR('19:05:03'); mysql> SELECT HOUR('2007-11-24 19:05:03');
  • 51. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 50 Modul 9 Relasi Antar Tabel Membuat Database Relasional Sebelum membuat database, kita harus merancang relasi (hubungan) antar tabel. Dari tabel-tabel yang akan dibuat. Pada contoh kali ini, kita akan membuat database relasi untuk kasus jual beli dimana terdapat 3 tabel master dan 2 tabel transaksi seperti pada gambar dibawah ini. Relasional database penjualan barang Penulisan script SQL secara lengkap untuk rancangan database diatas, dapat dilihat pada tampilan berikut: CREATE DATABASE npm_jualbeli; USE npm_jualbeli; CREATE TABLE barang_jenis ( kd_jenis char(4) NOT NULL, nm_jenis varchar(60) NOT NULL, PRIMARY KEY (kd_jenis)); CREATE TABLE barang ( kd_barang char(4) NOT NULL, nm_barang varchar(60) NOT NULL, kd_jenis char(3) NOT NULL, harga int(11) NOT NULL, PRIMARY KEY (kd_barang)); CREATE TABLE pelanggan ( kd_plg char(5) NOT NULL, nama varchar(60) NOT NULL, alamat varchar(100) NOT NULL, PRIMARY KEY (kd_plg)); CREATE TABLE penjualan ( no_transaksi char(6) NOT NULL, kd_plg char(5) NOT NULL, tanggal date NOT NULL, PRIMARY KEY (no_transaksi));
  • 52. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 51 CREATE TABLE penjualan_detail ( id_jual int(4) NOT NULL AUTO_INCREMENT, no_transaksi char(6) NOT NULL, kd_barang char(4) NOT NULL, jumlah int(2) NOT NULL default '1', PRIMARY KEY (id_jual)) ; Untuk mengisi tabel tersebut, masukkan data seperti tabel di Kasus 2 a. Operasi Relasi Pada Dua Tabel Untuk mempermudah pemahaman, pada bagian ini terlebih dahulu akan dijelaskan teknik dasar membuat query data dari 2 tabel yang berhubungan. Misalnya, data pada tabel barang dan barang_jenis. Gambar Relasi antara tabel barang dan jenis Gambar diatas merupakan salah satu contoh relasi One to Many, yaitu hubungan data dari satu ke banyak. Artinya, satu jenis barang terdiri dari lebih dari satu barang (banyak barang). Misalnya jenis barang hardisk, terdiri dari Seageate 40 GB, Seageate 60 GB, WDC 40 GB, dan lain sebagainya. Jadi, satu jenis barang bisa memiliki anggota banyak barang. b. Teori Pengambilan Kolom Tabel Relasi Teknik yang paling mudah dengan menghubungkan antara nama tabel dan kolom dengan tanda titik (.). Cara penulisan query untuk tabel barang_jenis, lihat gambar di bawah ini. Analogi pengambilan kolom tabel barang_jenis c. Teknik Dasar Relasi Dua Tabel Sebagai dasar, kita akan menggunakan tabel barang dan barang_jenis. Untuk mendapatkan data barang dengan informasi lengkap (termasuk jenisnya) dengan query, maka kita harus mengambil informasi data dari tabel yang terkait. Perintah : SELECT tabelA.kolom1, tabelB.kolom1, tabelA.kolom2 FROM tabelA, tabelB WHERE tabelA.kunciA = tabelB.kunciA Keterangan:  tabelA.kolom1 : perintah untuk mengambil data di kolom1 pada tabelA.  tabelA.kolom2 : perintah untuk mengambil data di kolom2 pada tabelA.  tabelB.kolom1 : perintah untuk mengambil data di kolom1 pada tabelB.
  • 53. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 52  tabelA.kunciA : nama kolom yang menjadi kunci utama (primer) pada tabelA.  tabelB.kunciA : nama kolom tamu yang berasal dari tabelA, kolom ini menjadi tamu pada tabelB karena adanya relasi. Dari penjelasan di atas, karena adanya relasi dari kedua tabel, maka di dalam parameter WHERE kita gunakan tanda sama dengan (=), jadi tabelA.kunciA = tabelB.kunciA. Kembali ke objek relasi yang kita buat. Kita memiliki dua tabel yang berelasi, yaitu tabel barang dan barang_jenis. Dari tabel tersebut, garis penunjuk relasi mengarah pada kolom kd_jenis yang dimiliki oleh tabel barang_jenis. Jadi, untuk membuat perintah SQL dengan gambar relasi di atas, sebagai berikut: SELECT barang.kd_barang, barang_jenis.nm_jenis, barang.nm_barang FROM barang_jenis, barang WHERE barang_jenis.kd_jenis = barang.kd_jenis; Contoh : Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama jenis , nama barang dan harga. Daftar data hasil query relasi dari tabel barang dan barang_jenis KD_BARANG NM_JENIS NM_BARANG HARGA B001 Hardisk SAMSUNG 80 GB7200 P-ATA 406000 B002 Hardisk SAMSUNG 80 GB7200 S-ATA 415000 B003 Hardisk WDC 80GB 7200 S-ATA 415000 B004 Hardisk SEAGATE 40GB 5400 433000 B005 Processor AMD Athlon X2 4000 638000 B006 Processor AMD Sempron 2800+ 365000 B007 Casing POWERLOGIC FUTURA 220 219000 B008 Casing MENTARI 450 WAT 150000 Contoh : Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama jenis , nama barang dan harga, dengan syarat data yang ditampilkan hanya harddisk saja. Daftar data hasil query khusus untuk data jenis hardisk KD_BARANG NM_JENIS NM_BARANG HARGA B001 Hardisk SAMSUNG 80 GB7200 P-ATA 406000 B002 Hardisk SAMSUNG 80 GB7200 S-ATA 415000 B003 Hardisk WDC 80GB 7200 S-ATA 415000 B004 Hardisk SEAGATE 40GB 5400 433000 Contoh: Tuliskan SQL untuk menampilkan data tabel master barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama barang dan harga, dengan syarat data yang ditampilkan hanya monitor saja. Hasil query khusus untuk data jenis monitor KD_BARANG NM_BARANG HARGA B001 SAMSUNG 80 GB7200 P-ATA 406000 B002 SAMSUNG 80 GB7200 S-ATA 415000 B003 WDC 80GB 7200 S-ATA 415000 B004 SEAGATE 40GB 5400 433000
  • 54. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 53 Modul 10 Backup dan Restore Dalam MySQL terdapat beberapa cara yang dapat digunakan untuk melakukan proses backup dan restore, diantaranya adalah sebagai berikut: 1. Untuk proses Backup a. Menggunakan perintah BACKUP b. Menggunakan statemen SELECT INTO c. Menggunakan tool MYSQLDUMP d. Menggunakan tool MYSQLHOTCOPY e. Melakukan penyalinan file secara langsung 2. Untuk proses Restore a. Menggunakan perintah RESTORE b. Menggunakan statemen LOAD DATA INFILE Sebelum melakukan proses backup dan restore kita akan mempelajari fasilitas lainnya. MySQL menyediakan fasilitas lain untuk memudahkan mendokumentasikan perintah- perintah yang digunakan untuk membuat database dan tabel-tabel yang ada di dalamnya. Untuk mengatasi permasalahan penulisan perintah SQL pada prompt MySQL, maka tuliskan ke dalam file teks semua script SQL dan simpan dengan format *.sql. Contoh buat file teks simpan dengan nama latihdb.sql, tuliskan semua script dibawah ini. #membuat database latihdb create database latihdb; #menggunakan database latihdb use latihdb; #membuat tabel jabatan create table jabatan ( kode_jabatan char(4) not null, nama_jabatan varchar(25) not null, constraint pk_jabatan primary key(kode_jabatan)); #membuat tabel pegawai create table pegawai ( nip char(6) not null, nama varchar(25) not null, kode_jabatan char(4), constraint pk_pegawai primary key(nip), constraint fk_pegawai_jabatan foreign key(kode_jabatan) references jabatan(kode_jabatan)); #mengisi tabel jabatan insert into jabatan values('J-01', 'Manager'); insert into jabatan values('J-02', 'Sales Marketing'); insert into jabatan values('J-03', 'Pimpinan Proyek'); insert into jabatan values('J-04', 'Analis Sistem'); insert into jabatan values('J-05', 'Programmer'); #mengisi table pegawai insert into pegawai values('000001','Imam','J-01'); insert into pegawai values('000002','Dewi','J-02'); insert into pegawai values('000003','Arif','J-03'); insert into pegawai values('000004','Camelia','J-04'); insert into pegawai values('000005','Made','J-05'); insert into pegawai values('000006','Tatang','J-05');
  • 55. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 54 Setelah selesai, kemudian tempatkan di C: kemudian masuk prompt mysql : mysql> source C:latihdb.sql Jika tidak terdapat kesalahan maka sekarang akan terbentuk database latihdb yang terdiri dari tabel jabatan dan pegawai lengkap dengan beberapa record di dalamnya. 10.1 Proses Backup menggunakan SELECT INTO Setelah database dan tabel dibuat lengkap dengan record didalamnya sekarang kita akan mencoba untuk melakukan backup terhadap data-data tersebut. Yang perlu diperhatikan di sini adalah bahwa perintah ini hanya berlaku untuk melakukan backup per tabel. Berikut ini sintak umum dari penggunaan statemen SELECT INTO. SELECT daftar_kolom FROM nama_tabel INTO OUTFILE nama_file; Berikut ini contoh yang akan menunjukkan bagaimana cara melakukan backup terhadap tabel JABATAN. mysql> select * from pegawai into outfile "c:back1.dat"; Query OK, 5 rows affected (0.03 sec) Perintah di atas akan membentuk sebuah file baru dengan nama back.dat di dalam direktori C:, yang merupakan file hasil dari proses backup. 10.2 Proses Restore Setelah mengetahui cara melakukan proses backup, maka sekarang akan dijelaskan memasukkan kembali data-data yang terdapat pada file backup ke dalam database. Proses seperti ini dikenal dengan istilah restore. mysql> load data infile "c:back1.dat" into table pegawai; Query OK, 6 rows affected (0.06 sec) Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
  • 56. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 55 Modul 11 Koneksi MySQL – Visual Basic 6.0 8.1. Koneksi Database MySQL dengan ODBC Connector Untuk menghubungkan database MySQL pengajaran dengan ODBC Windows, dapat kita lakukan dengan cara sebagai berikut : 1. Masuk kedalam Control Panel 2. Pilih Administrative Tools – Data Source (ODBC), sehingga pada monitor akan ditampilkan seperti pada gambar berikut : 3. Klik tombol Add, sehingga akan ditampilkan kotak dialog berikut :
  • 57. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 56 4. Pilih MySQL ODBC 5.1 Driver, Klik Finish. Pada kotak dialog akan muncul seperti pada gambar berikut dan isikan konfigurasi datanya. 5. Kemudian Pilih OK, sehingga pada jendela kotak dialog Data Source, telah ditambahkan sebuah datasource dengan nama elektronik, seperti pada gambar berikut : 6. Klik Ok, selesai. 8.2. Pemrogramman Visual Basic 6.0 Pada pemrograman Visual Basic 6.0, terdapat beberapa perintah khusus (method) yang dimiliki beberapa komponen untuk melakukan akses data kedalam database (MySQL). Sebagai contoh, jika kita menggunakan komponen Adodc untuk koneksi ke database, terdapat beberapa method yang sering digunakan dalam pengaksesan database, antara lain : Perintah Fungsi <Adodc>.Recordset..MoveFirst Berpindah ke record pertama <Adodc>.Recordset..MovePrevious Berpindah ke record sebelumnya <Adodc>.Recordset..MoveNext Berpindah ke record berikutnya <Adodc>.Recordset..MoveLast Berpindah ke record terakhir <Adodc>.Recordset..AddNew Menambahkan record baru <Adodc>.Recordset..Update Menyimpan perubahan/penambahan data <Adodc>.Recordset..Cancel Membatalkan perubahan/penambahan data
  • 58. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 57 <Adodc>.Recordset..Delete Menghapus Data <Adodc>.Recordset..Field(“NamaField”) Mengakses field tertentu dalam tabel <Adodc>.Recordset..Field!NamaField Mengakses field tertentu dalam tabel <Adodc>.Refresh Menampilkan ulang data dalam tabel. a. Program Tipe Data Buatlah sebuah project dan form baru pada Visual Basic 6.0, desain tampilan formnya seperti pada gambar dibawah ini. b. Pengaturan Property : KOMPONEN PROPERTY NILAI Form1 (name) caption frmtipebarang Data Elektronik Adodc1 ( ) (Name) Caption Adotipedata Data Label1 Caption Kode Elektronik Label2 Caption Nama Barang Label3 Caption Kode Jenis Label4 Caption Ukuran Label5 Caption Harga Label6 Caption Fasilitas Textbox1 (Name) Text txtKode (kosongkan) Textbox2 (Name) Text txtNama (kosongkan) Textbox3 (Name) Text txtJenis (kosongkan) Textbox4 (Name) Text txtUkuran (kosongkan) Textbox5 (Name) Text txtHarga (kosongkan) Textbox6 (Name) Text txtFasilitas (kosongkan) Datagrid1 DataSource Adotipedata
  • 59. Modul Praktikum Basis Data - MySQL Rekayasa perangkat lunak –SMK Mukhtar Syafa’at 58 Command1 (Name) Caption Cmdpertama Pertama Command2 (Name) Caption Cmdsebelum Sebelum Command3 (Name) Caption Cmdberikut Berikut Command4 (Name) Caption Cmdterakhir Terakhir Command5 (Name) Caption Cmdtambah &Tambah Command6 (Name) Caption Cmdedit &Edit Command7 (Name) Caption Cmdsimpan &Simpan Command8 (Name) Caption Cmdbatal &Batal Command9 (Name) Caption Cmdhapus &Hapus Command10 (Name) Caption Cmdkeluar &Keluar Listing Program : Private Sub Form_Load() adotipebarang.ConnectionString = "DSN=elektronik" adotipebarang.RecordSource = "tipe_barang" adotipebarang.Refresh adotipebarang.Recordset.Sort = "kd_elektronik" Baru = False End Sub Public Baru As Boolean Private Sub cmdbatal_Click() Tombol True, True, False, False, True adotipebarang.Recordset.Cancel Kosong End Sub Private Sub cmdberikut_Click() 'Menuju ke record berikutnya adotipebarang.Recordset.MoveNext 'Jika berada di record terakhir menuju ke record terakhir If adotipebarang.Recordset.EOF Then adotipebarang.Recordset.MoveLast End If End Sub Private Sub cmdedit_Click() Tombol False, False, True, True, False With adotipebarang.Recordset txtKode.Text = !kd_elektronik txtNama.Text = !nm_elektronik txtJenis.Text = !kd_jenis txtUkuran.Text = !ukuran txtHarga.Text = !harga txtFasilitas.Text = !fasilitas End With txtKode.SetFocus Baru = False End Sub Private Sub cmdhapus_Click() On Error Resume Next