Anda di halaman 1dari 135

Praktik Basis Data

STMIK-Politeknik PalComTech

MULAI MATERI

Kesepakatan Kelas

Introduction
Pengenalan Materi
Mengenalkan SQL(Structured Query Language) dalam
mengelola database
Mengenalkan fungsi-fungsi pada MySQL untuk manipulasi data
Mengenalkan join atau relasi antar tabel
Mengenalkan trigger dan view dalam manipulasi data
Mengenalkan function dan store procedure
Mengenalkan laporan dan backup database

PERTEMUAN 1
PENGENALAN MY SQL

Database Server MySQL


MySQL merupakan database server yang
awalnya hanya berjalan pada sistem Unix
dan Linux. Seiring berjalannya waktu dan
banyaknya peminat yang menggunakan
database ini, MySQL merilis versi yang
dapat diinstal pada hampir semua
platform, termasuk windows.

KELEBIHAN MYSQL
Berlisensi GPL dan Multi Platform.
Dapat diintegrasikan dengan beberapa bahasa Pemrograman
seperti .Net, Java, Python, Perl yang merupakan bahasa
pemrograman yang paling dominan di kalangan programmer.
Bisa dijalankan pada spesifikasi hardware yang rendah karena
lebih hemat resource memory (dibandingkan database lain)
sehingga mudah digunakan untuk bahan pembelajaran.
MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari 20 bahasa meskipun bahasa
indonesia belum termasuk didalamnya.

Software Yang Digunakan


AppServ
Aplikasi yang memiliki fungsi untuk menginstal beberapa
program yaitu Apache, PHP, MySQL dengan singkat.
Banyak sekali user memiliki masalah saat Install Apache,
PHP, dan MySQL karena membutuhkan waktu yang cukup
lama untuk mengkonfigurasinya. Dengan adanya Appserv
dimana beberapa Fitur Appserv adalah Apache, PHP,
MySQL, dan phpMyAdmin sehingga dapat mempermudah
user dalam membuat sebuah database. AppServ dapat
berjalan di sistem operasi Windows dan Linux.

Instalasi dan Konfigurasi AppServ


1. Siapkan software appserv versi terbaru.

Instalasi dan Konfigurasi AppServ


2. License Agreement : AppServ berada dibawah lisensi GNU/GPL. Anda harus
membaca persetujuan ini sebelum install. If youagree for this license
clickNext to go to next step. If you not agree click Cancel to cancel install.

Instalasi dan Konfigurasi AppServ


3. Choose Install Location: AppServ default location is C:AppServ. If you need
to change destination click Browse botton to change your destination for
AppServ program and then click Next to go to next step.

Instalasi dan Konfigurasi AppServ


4. Select Components : AppServ default package components it's checked all
package.
If you need to choose some package to install. You can click atcheck box.
- Apache HTTP Serverisa WebServer.
- MySQL Databaseis aDatabase Server.
- PHP Hypertext Preprocessoris a PHP Programming processor.
-phpMyAdminis a MySQL Database control via WWW. If you complete
choosing it click Next
to go next step.

Instalasi dan Konfigurasi AppServ


5.

Apache Configuration :This screen for specifyApache configure.


Server NameYou must specify Server Name e.g. www.appservnetwork.com.
Admin EmailYou must specify Admin Email e.g. root@appservnetwork.com
HTTP PortYou must specify HTTP port for Apache Web Server.

Instalasi dan Konfigurasi AppServ


6. MySQL Configuration :
Root Password
You must enger root password for MySQL Database.

Default user forthis password isroot .


Character Sets Specify for data storage language and collations.
Old Password If you have problem when you coding PHPcode
with
OldMySQL API.
And founderrorClient does not supportauthentication
protocol requested by server;
consider upgrading MySQL client
You must checkthis option toavoid error.
Enable InnoDB If you use InnoDB must check this option.

Instalasi dan Konfigurasi AppServ

Instalasi dan Konfigurasi AppServ


7.Complete AppServ setup : Setup ask for start Apache and
MySQL immediately. Click Finish toend this setup and
AppServ prompt to use.

Copyright by AppServNetwork All Right


Reserved.

PERTEMUAN 2
SQL DATA DEFINITION LANGUAGE (DDL)

Definisi DDL(Data Definition Language)


Data Definition Language(DDL) merupakan
sub
bahasa
SQL
yang
berfungsi
mendefenisikan database dan tabel.
Perintah yang digunakan diantaranya:
1. CREATE
2. ALTER
3. DROP

PERINTAH DDL(Data Definition Language)


CREATE: Perintah ini digunakan untuk membuat,
termasuk diantaranya membuat database baru, tabel
baru, view baru, dan kolom.
ALTER: Perintah ini digunakan untuk mengubah
struktur tabel yang telah dibuat. Pekerjaanya
mencakup mengganti nama tabel, menambah kolom,
maupun memberikan atribut pada kolom.
DROP: Perintah ini digunakan untuk menghapus
database dan tabel.

PERINTAH CREATE

Membuat database:
create database nama_database;

Mengaktifkan database:
use nama_database;

Membuat Tabel:
create table nama_table(
field1 tipe_data(scale)not null,
field2 tipe_data(scale)not null,
field3 tipe_data(scale),
...
field tipe_data(scale),
PRIMARY KEY(field_key)
);

Menampilkan tabel yang telah dibuat:


show tables;
Menampilkan deskripsi
telah dibuat:
desc nama_tabel;

tabel

yang

PERINTAH ALTER

Perintah untuk menambah kolom:


alter table nama_table add nama_field tipe_data not null;

Perintah untuk menambah kolom dengan menggunakan


first(Menambah kolom diawal kolom tabel):
alter table nama_table add nama_field tipe_data first;

Perintah untuk menambah kolom dengan menggunakan frasa


AFTER(Setelah kolom):
alter table nama_table add nama_field tipe_data after nama_field;

Perintah untuk menghapus kolom:


alter table nama_table drop nama_field;

frasa

PERINTAH ALTER

Memberi nama baru pada kolom:


alter table nama_table change nama_field nama_field_baru
tipe_data(scale);

Mengubah Tipe Kolom Tanpa Mengubah Nama:


alter table nama_table modify nama_field
tipe_data(scale);

Memberi nama baru pada table:


alter table nama_table rename nama_table_baru;

PERINTAH ALTER

Menambahkan indeks primary key pada tabel yang belum memiliki


dengan memakai perintah ini :
alter table nama_table add primary key(nama_field);

Menghapus Primary Key di dalam table:


alter table nama_table drop primary key;

PERINTAH DROP
Menghapus Databases:
drop database nama_database;
Menghapus tabel:
drop table nama_table;
Menghapus tabel menggunakan perintah TRUNCATE:
TRUNCATE TABLE table_name;

PERTEMUAN 3-4
SQL DATA MANIPULATION LANGUAGE
(DML)

DEFINISI DATA MANIPULATION LANGUAGE(DML)


Data Manipulation Language(DML) merupakan
sub bahasa SQL yang digunakan untuk
memanipulasi data dalam database yang telah
dibuat.
Perintah yang digunakan diantaranya:
1. INSERT
2. SELECT
3. UPDATE
4. DELETE

PERINTAH DML(Data Manipulation


Language)

INSERT: Perintah ini digunakan untuk menyisipkan atau memasukkan data baru
ke dalam tabel. Penggunaanya setelah database dan tabel selesai dibuat.
SELECT: Perintah ini digunakan untuk mengambil data atau menampilkan data
dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita
tampilkan dalam layar prompt MYSQL secara langsung maupun ditampilkan pada
tampilan aplikasi.
UPDATE: Perintah ini digunakan untuk memperbarui data lama menjadi data
terkini. Jika anda memiliki data yang salah atau kurang up to date dengan kondisi
sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE.
DELETE: Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data
yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat
menghapus data, perintah yang telah dijalankan tidak dapat digagalkan,
sehingga data yang telah hilang tidak dapat dikembalikan.

PERINTAH INSERT
Menambah Record Dengan Perintah
Insert:
INSERT INTO nama_tabel VALUES(nilai1,nilai2,...);

PERINTAH SELECT

Menampilkan Record dengan SELECT


SELECT [field | *] FROM nama_tabel [WHERE kondisi];
SELECT field, field FROM nama_tabel;

Nama Alias dan Notasi Dot


Select nama_field1 as nama_alias, nama_field2 as
nama_alias from nama_table;

PERINTAH UPDATE
Bentuk umum perintah SQL untuk mengedit
suatu record atau data dari suatu tabel adalah
sebagai berikut:
UPDATE nama_tabel SET field1=nilaibaru[WHERE kondisi];

PERINTAH DELETE
Menghapus Record Dengan
Delete
DELETE FROM nama_tabel [WHERE kondisi];

PERTEMUAN 5
DATA CONTROL LANGUAGE (DCL)

Definisi Data Control Language (DCL)


Data Control Language (DCL) merupakan perintah-perintah yang dapat
digunakan untuk menjaga keamanan basis data. Perintah tersebut dapat
dipakai untuk menentukan akses basis data hanya dapat dilakukan oleh
orang-orang tertentu dan dengan macam akses yang dibatasi pula.
Berikut perintah-perintah DCL:
1. GRAND: Printah ini digunakan untuk memberikan hak/izin akses oleh
administrator(pemilik utama) server kepada user(pengguna biasa). Hak
akses tersebut berupa hak membuat (CREATE), mengambil SELECT,
menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan
dengan sistem databasenya.
2. REVOKE: Perintah ini memiliki kegunaan terbalik dengan GRAND yaitu
untuk menghilangkan atau mencabut hak hak akses yang telah diberikan
kepada user oleh administrator.

Tabel USER dari database MySQL


Tabel user adalah tabel yang ada dalam database
MySQL. Tabel user hanya diperuntukkan bagi
seorang Administrator (root). Tabel user bersifat
global, apapun perubahan yang terjadi pada tabel
ini akan mempengaruhi jalannya keseluruhan
system MySQL.

Sintaks umum:
1. Mengaktifkan database MySQL
use mysql;
2. Menampilkan data pada kolom host, user dan password saja
SELECT host, user, password FROM user;
3. Menghapus semua user tanpa identitas
DELETE FROM user WHERE user=;
4. Mengganti password
UPDATE user SET password=password(xxxxxxxxxx)
WHERE user=root;

5. Menambah USER dan PASSWORD


insert into user (User,Password) values(Febe,4567);
6. Menampilkan semua isi dari tabel user
Select * from user
7. Perintah FLUSH.
FLUSH PRIVILEGES;
Perintah FLUSH PRIVILEGES adalah suatu perintah untuk mengaktifkan
perubahan-perubahan yang terjadi pada user, seperti hak akses,
penggantian password pada user, dsb. Perintah FLUSH PRIVILEGES ini
hukumnya wajib dilaksanakan setelah
Anda melakukan perubahan
(apapun juga) secara langsung ke dalam tabel user atau ke dalam
database mysql.

Tabel Privileges
Tabel_priv berfungsi mengatur tabel apa saja yang
dapat diakses oleh seorang user, berikut jenis izin
aksesnya. Tingkat akses hanya untuk tabel. Pada
prinsipnya hanya bekerja seperti db table, kalau
tidak digunakan untuk tabel sebagai ganti database.
Sintaks Umum :
SELECT, INSERT, UPDATE, DELETE, CREATE,
DROP, GRANT, REFERENCES, INDEX, ALTER,
CREATE VIEW, SHOW VIEW.

Contoh Penggunaan

Insert into
tables_priv(User,table_name,table_priv)values(Febe,Elfrida,Point_
Of_Sales.jenis,select);

Insert into tables_priv(User,table_name,table_priv)


values(Winda,Point_Of_Sales.jenis,select,insert);
Insert into tables_priv(User,table_name,table_priv)
values(Elfrida,Point_Of_Sales.item,select,insert,update);
Insert into tables_priv (User,Table_name,Table_priv) values
(Admin,Point_Of_Sales.user , Point_Of_Sales.Jenis,
Point_Of_Sales.item, Point_Of_Sales.JualGlobal,,
Point_Of_Sales.JualDetail, SELECT, INSERT, UPDATE, DELETE, CREATE,
DROP, GRANT, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW);

Contoh Penggunaan

Insert into tables_priv


(User,Table_name,Table_priv)values(kasir,Point_Of_Sales.jualDeta
il,select,insert,show view);
Insert into tables_priv (User,Table_name,Table_priv)
values(Cewek,Point_Of_Sales.jenis, Point_Of_Sales.item,
Point_Of_Sales.jualGlobal, Point_Of_Sales.jualDetail,
select,insert,update,show view);

update tables_priv set host=localhost where user=Admin;


update tables_priv set host=192.168.10.2 where user=Cewek;
update tables_priv set grantor =root@localhost where
user=Admin;
delete from tables_priv where user=cewek;

PERINTAH GRANT
Sintak Umum :
GRANT hak_akses ON nama_tabel TO pemakai;
GRANT ALL PRIVILEGES ON database_name.* TO
myuser IDENTIFIED BY mypassword;

Contoh GRANT

GRANT SELECT ON Point_Of_Sales.jenis TO Febe;


GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
SHOW GRANTS FOR root@localhost;
SHOW GRANTS FOR Admin;
GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO
kasir;
GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO
Elfrida;
GRANT UPDATE(kodeItem,NmItem,kategori,Harga) ON
Point_Of_Sales.item TO Elfrida;

Perintah REVOKE
Penulisan perintah REVOKE : HakAkses(field): kita harus memberikan sedikitnya
satu hak akses.Untuk setiap hak akses yang diberikan, dapat juga diberikan
daftar field yang diletakkan dalam kurung, dan dipisahkan dengantanda koma.
Contoh : REVOKE select (nim, nama), update, insert(nim), ...
NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut. Harus ada
sedikitnya satu nama tabel. Dapat menggunakan simbol asterik (*) untuk
mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga
diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda
titik. Menggunakan simbol *.* berarti semua database dan semua tabel yang
dikenai hak akses tersebut. 40 namaAccount@namaHost :jika nama account
tidak ada, tidak pernah diberikan hak akses dengan perintah GRANT
sebelumnya maka akan terjadi error.
NamaAccount@namaHost: jika nama account tidak ada, tidak pernah diberikan
hak akses dengan perintah GRANT sebelumnya maka akan terjadi error.

Perintah REVOKE
Sintak umum:
REVOKE
hak_akses
ON
nama_tabel
FROM
namaAccount@namaHost;
1. Menghapus batasan hak akses untuk database & tabel :
REVOKE hak_akses ON nama_database.nama_tabel
FROM user;
2. Menghapus batasan hak akses untuk kolom tertentu :
REVOKE hak_akses(field1,field2, field3,...) ON
nama_database.nama_tabel FROM user;

Contoh REVOKE

REVOKE SELECT ON Point_Of_Sales.jenis FROM Febe;


REVOKE ALL PRIVILEGES ON Point_Of_Sales.user FROM Admin;
REVOKE ALL ON Point_Of_Sales.jualDetail FROM Admin;
REVOKE SELECT,INSERT ON Point_Of_Sales.jualDetail FROM kasir;
REVOKE SELECT(Kode,Nama) ON Point_Of_Sales.jenis FROM
Elfrida;
REVOKE UPDATE(kodeItem,NmItem,kategori,Harga) ON
Point_Of_Sales.item FROM Elfrida;
REVOKE INSERT ON Point_Of_Sales.jenis FROM Winda;
REVOKE ALL ON Point_Of_Sales.item FROM PUBLIC;

PERTEMUAN 6
OPERATOR DAN FUNGSI AGREGAT

Definisi Operator
Operator
yaitu
Element
yang
digunakan untuk mengekpresikan
suatu kondisi dalam pencarian data.
Operator
tersebut
dapat
anda
gunakan untuk memanipulasi data.

Macam-macam Operator
1. Operator Aritmatik
Digunakan untuk melakukan proses perhitungan
2. Operator Logika
Digunakan untuk mengambil data dengan kondisi lebih dari satu.
3. Operator Pembanding
Digunakan untuk membandingkan dua nilai atau lebih dari
data yang berbeda. Untuk melakukan perbandingan, nilai hasil
yang dikembalikan hanya ada dua, yaitu TRUE dan FALSE. Di
dalam bilangan, hasil TRUE sama dengan 1, dan FALSE sama
dengan 0.

1. Operator Aritmatik
Operator Aritmatik dan Prioritas
Penggunaannya:

Operasi Perkalian
Operator yang digunakan untuk operasi perkalian adalah
tanda asterix (*).
Contoh:
1. Untuk menghitung hasil perkalian bilangan bulat:
select 10 * 2;
2. Untuk menghitung hasil perkalian bilangan pecahan:
select 2.5 * 10;
3. Untuk menghitung hasil perkalian bilangan negatif:
Select -5 * 10;

Operasi Pembagian
Operator yang digunakan untuk operasi pembagian adalah
tanda (/).
Contoh:
1. Untuk menghitung hasil pembagian:
select 10 / 2;
2. Untuk menghitung hasil pembagian dan perkalian:
select ( 9 / 3 )* 10;
3. Untuk menghitung hasil dua operasi pembagian:
select 10 / 0.5,
-> 10 / 2.5;

Operasi Penjumlahan
Operator yang digunakan untuk operasi penjumlahan atau
penambahan (+):
Contoh:
1. Untuk menghitung hasil penjumlahan:
select 10 + 2;
2. Untuk menghitung hasil penjumlahan dan perkalian:
select ( 9 + 3 )* 10;
3. Untuk menghitung hasil tiga operasi penjumlahan dan perkalian:
Select 10 + 5 * 3 + 2,
-> ( 2 + 5 ) * 3 + 2,
-> ( 2 + 5 ) * ( 3 + 2 );

Operasi Pengurangan
Operator yang digunakan untuk operasi pengurangan (-):
Contoh:
1. Untuk menghitung hasil pengurangan:
select 10 - 2;
2. Untuk menghitung hasil penjumlahan dan perkalian:
select 9 - 3 + 10,
-> ( 6 2 ) + 8,
-> 6 ( 2 + 8 );

Mencari Sisa Pembagian


Operator yang digunakan untuk operasi pengurangan
(%).
Contoh:
1. Untuk menghitung hasil modulus:
select 5 % 2;
2. Untuk menghitung 4 hasil modulus secara bersama:
Select 7 % 2, 7 % 3,
-> 7 % 4, 7 % 5;

Contoh Menggunakan Operator Aritmatik Di dalam Tabel

Menampilkan total beli dan total jual dari tabel data barang
diatas:
select stock*harga_beli as total_beli,stock*harga_jual
as total_jual from data_barang;

Contoh Menggunakan Operator Aritmatik Di dalam


Tabel

Hasilnya:

2. Operator Pembanding
Macam-macam
pembanding:

operator

Seleksi Menggunakan Operator =

Operator =(equal), akan menghasilkan nilai TRUE atau bernilai 1 apabila memiliki
nilai pembanding sama dengan data yang dibandingkan.
Jika bernilai FALSE, maka hasilnya adalah 0.

Contoh Penerapan Operator =

Menampilkan data tipe motor dengan tahun garansi hanya 1 tahun dari tabel
diatas.
select*from data_tipemotor where thn_garansi=1;

Hasilnya:

Seleksi Menggunakan Operator != atau <>

Memiliki arti tidak sama dengan


(not equal) atau kecuali. Nilai
yang
dihasilkan
berlawanan
dengan operator sama dengan.

Contoh Penerapan Operator != atau <>

Menampilkan data tipe motor dengan tahun garansi kecuali


1 tahun.

Seleksi Menggunakan Operator >

Digunakan untuk mengambil


data yang nilainya lebih dari
bilangan pembanding.

Contoh Penerapan Operator >


Menampilkan data tipe motor dengan stock lebih
dari 15 unit.
select*from data_tipemotor where stock > 15;

Seleksi Menggunakan Operator <

Operator < artinya kurang dari.


Operator
ini
digunakan
untuk
mengambil sejumlah data yang
nilainya
kurang
dari
bilangan
pembanding.

Contoh Penerapan Operator <

Menampilkan data tipe motor dengan stock kurang dari 15 unit.


select*from data_tipemotor where stock < 15;

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 dan sama dengan).

Contoh Penerapan Operator >=

Menampilkan data tipe motor dengan stock lebih dari dan sama
dengan 16 unit.
select*from data_tipemotor where stock >= 16;

Seleksi Menggunakan Operator <=

Hampir sama dengan operator


sebelumnya, operator <= juga
akan
mengambil
data
yang
jumlahnya
kurang
dari
nilai
pembanding, bedanya pada operator
ini, nilainya ditampilkan.

Contoh Penerapan Operator <=

Menampilkan data tipe motor dengan stock kurang dari dan sama
dengan 16 unit.
select*from data_tipemotor where stock <= 16;

3. Operator Logika
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 terpenuhi, maka
perintah tidak akan mendapatkan hasil.

Tabel kebenaran Operator AND

Nilai A
TRUE
FALSE
TRUE
FALSE

Nilai B
TRUE
TRUE
FALSE
FALSE

Hasil A AND
B
TRUE
FALSE
FALSE
FALSE

Dari tabel kebenaran, kita akan coba menggunakan angka


0 sebagai nilai FALSE, dan angka 1 sebagai nilai TRUE.
Gunakan perintah berikut:

Contoh Penerapan Operator Logika AND

Menampilkan data motor yang harganya antara Rp.10 Juta sampai


dengan Rp.15 Juta dari tabel data tipe motor diatas:
select nm_tipe,harga,thn_garansi,stock from data_tipemotor
where harga >= 10000000 and harga <= 15000000;

Contoh Penerapan Operator Logika AND

Hasilnya:

Operator Logika
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
permintaanya. Jika kondisi tidak ada yang
benar(semua salah), nilainya akan salah

Tabel kebenaran Operator OR

Nilai A

Nilai B

Hasil A OR B

TRUE

TRUE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

Dari tabel kebenaran, kita akan coba menggunakan angka 0


sebagai nilai FALSE, dan angka 1 sebagai nilai TRUE. Gunakan
perintah berikut:

Contoh Penerapan Operator Logika OR

Menampilkan data motor yang garansinya lebih dari 2 Tahun atau


harganya kurang dari Rp. 10 Juta dari tabel diatas.
select nm_tipe,harga,thn_garansi,stock from data_tipemotor
where thn_garansi > 2 OR harga < 10000000;

Contoh Penerapan Operator Logika OR

Hasilnya:

PERTEMUAN 8
FUNGSI PADA MYSQL
-FUNGSI AGREGAT
-FUNGSI STRING

Fungsi Agregat
Fungsi Agregat dalam MySQLadalah
fungsi yang menerima koleksi nilai
dan mengembalikan nilai tunggal
sebagai hasilnya, seperti: jumlah
data, nilai minimun, nilai maximum
dan nilai rata-rata.

Jenis-jenis Fungsi Agregat


Standar ISO mendefinisikan lima jenis fungsi agregat, yaitu:
1. SUM digunakan untuk menghitung total nilai dari kolom
tertentu.
2. COUNT digunakan untuk menghitung jumlah record.
3. AVG digunakan untuk menampikan nilai rata-rata dari suatu
kolom.
4. MAX digunakan untuk menampikan nilai tertinggi dari suatu
kolom.
5. MIN digunakan untuk menampikan nilai terendah dari suatu
kolom.

SELEKSI PENGELOMPOKAN
Menjumlahkan suatu bilangan dengan
SUM
Sintaks:
SELECT SUM(nama_kolom) AS Nama_Alias
FROM nama_table;
Contoh:
Select SUM(harga) AS Total Harga
from barang;

SELEKSI PENGELOMPOKAN

Menghitung Jumlah Record Dengan COUNT


Sintaks:
SELECT COUNT(nama_kolom) AS Nama Alias FROM
nama_table;
atau
SELECT COUNT(*) AS Nama Alias FROM nama_table;
Contoh:
Select COUNT(NPM) AS Jumlah Mahasiswa from
mahasiswa;
atau
Select COUNT(*) AS Jumlah Mahasiswa from mahasiswa;

SELEKSI PENGELOMPOKAN
Mencari Nilai Rata-rata Dengan AVG
Sintaks:
SELECT AVG(nama_kolom) AS Nama_Alias FROM
nama_table;
Contoh:
Select AVG(nilai) AS Nilai Rata-rata
Mahasiswa from nilai_mahasiswa;

SELEKSI PENGELOMPOKAN
Mencari Nilai Minimum Dengan MIN
Sintaks:
SELECT MIN(nama_kolom) AS
Nama_Alias FROM nama_table;
Contoh:
Select MIN(nilai) AS Nilai
Terendah from nilai_mahasiswa;

SELEKSI PENGELOMPOKAN
Mencari Nilai Minimum Dengan MAX
Sintaks:
SELECT MAX(nama_kolom) AS
Nama_Alias FROM nama_table;
Contoh:
Select MAX(nilai) AS Nilai
Tertinggi from nilai_mahasiswa;

FUNGSI STRING
Fungsi
yang
digunakan
untuk
mengonversi bentuk huruf, misalnya:
dari huruf besar menjadi huruf kecil
atau sebaliknya.

Mengkonversi Format String


1. Mengkonversi Format String menjadi huruf kecil
Sintaks:
SELECT LCASE (String) atau LOWER(String);
Contoh:
SELECT LCASE(TEKNIK INFORMATIKA);
2. Mengkonversi String menjadi huruf besar
Sintaks:
SELECT UCASE(String) atau UPPER(String);
Contoh:
SELECT UCASE(Teknik Informatika);

Mengambil Sebagian String


1. Mengambil bagian string tertentu dengan
SUBSTRING
Sintaks:
SELECT SUBSTRING(string, int_mulai,int_jumlah);

Contoh:
SELECT SUBSTRING(Teknik Informatika,6);
Hasilnya Akan Tampil:
k Informatika

Mengambil Sebagian String


2. Mengambil String bagian kiri dengan LEFT
Sintaks:
SELECT LEFT(string, int_jumlah);
Contoh:
SELECT LEFT(Teknik Informatika,6);
Hasilnya Akan Tampil:
Teknik

Mengambil Sebagian String


3. Mengambil String bagian kanan dengan RIGHT
Sintaks:
SELECT RIGHT(string, int_jumlah);
Contoh:
SELECT RIGHT(Teknik Informatika,6);
Hasilnya Akan Tampil:
Informatika

Mengonversi Tipe Data


1. Mengonversi bilangan ke dalam bentuk ASCII
Sintaks:
SELECT ASCII(karakter);
Contoh:
select ASCII(A);
Hasil:
65
SELECT ORD(A);
Hasil:
65
2. Mengonversi bentuk hexadesimal
Sintaks:
SELECT HEX(karakter);
Contoh:
select hex(225);
Hasilnya:
E1

Mengonversi Tipe Data


3. Mengkonversi bentuk desimal ke dalam bentuk karakter
Sintaks:
SELECT CHAR(desimal);
Contoh:
select CHAR(66);
Hasil:
B
4. Mendapatkan bilangan biner
Sintaks:
SELECT BIN(desimal);
Contoh:
select BIN(8);
Hasil:
1000

Lebih Lanjut Dengan Fungsi String


1. Menghitung Panjang String
Sintaks:
SELECT LENGTH(string);
SELECT CHAR_LENGHT(string);
2. Menemukan posisi suatu karakter pada string
Sintaks:
SELECT LOCATE(substring,string);

Lebih Lanjut Dengan Fungsi String


3. Menghilangkan spasi kosong pada kalimat
Sintaks:
SELECT RTRIM(string);
SELECT LTRIM(string);
SELECT TRIM(string);
4. Mencari suatu karakter dan mengganti dengan
karakter lain
Sintaks:
SELECT REPLACE(string,str_asal,str_pengganti);

Lebih Lanjut Dengan Fungsi String


5. Mengulangi suatu string sebanyak jumlah tertentu
Sintaks:
SELECT REPEAT(string,jumlah);
6. Membalikkan susunan string sebanyak jumlah tertentu
Sintaks:
SELECT REVERSE(string);
7. Memberikan tanda back slash pada tanda petik satu
Sintaks:
SELECT QUOTE(string);

Lebih Lanjut Dengan Fungsi String


8. Menambahkan beberapa karakter pada string hingga
jumlahnya memenuhi
Sintaks:
SELECT LPAD(string,jumlah,str_tambahan);
SELECT RPAD(string,jumlah,str_tambahan);
9. Mengambil string dari sederetan string dengan
menunjuk urutannya
Sintaks:
SELECT ELT(Nilai, str1,str2, .. , strN);

PERTEMUAN 9
FUNGSI PADA MYSQL
-FUNGSI TANGGAL DAN WAKTU

Macam-macam Sintaks Tanggal dan Waktu


NOW() digunakan untuk mendapatkan informasi tanggal dan jam yang
berjalan saat ini.
CURDATE() digunakan untuk mendapatkan informasi tanggal saja.
DATE(Data Time) digunakan untuk mendapatkan nilai tanggal secara
lengkap.
DAY(date) atau DAYOFMONTH(date) digunakan untuk mendapatkan
informasi tanggal saja yaitu dengan format y-m-d.
MONTH(date) digunakan untuk mendapatkan informasi bulannya saja.
YEAR(date) digunakan untuk mendapatkan informasi tahunnya saja.
DAYNAME(date) digunakan untuk mendapatkan informasi nama hari
yang sesuai dengan tanggal tertentu.

Macam-macam Sintaks Tanggal dan Waktu


MONTHNAME digunakan untuk mendapatkan informasi nama bulan yang
sesuai dengan tanggal tertentu.
DAYOFWEEK(date) digunakan untuk mendapatkan informasi urutan hari
yang dihitung dalam seminggu.
WEEKDAY(date) digunakan untuk mendapatkan informasi nama hari dalam
bentuk angka.
DAYOFYEAR(date) digunakan untuk mendapatkan informasi urutan hari
yang dihitung dalam satu tahun.
WEEKOFYEAR digunakan untuk mendapatkan informasi urutan minggu yang
dihitung dalam satu tahun.
LAST_DAY(date) diguanakan untuk mendapatkan informasi tanggal terakhir
pada bulan yang berjalan atau pada suatu waktu yang kita tentukan.

Contoh Penggunaan Sintaks


1. Mendapatkan Tanggal danWaktu Sekarang
Sintaks:
Select now();
2. Mendapatkan Tanggal Sekarang
Sintaks:
Select curdate();
3. Mendapatkan Data Tanggal dari Ekspresi
Sintaks:
Select Date(2007-11-26 04:02:03);

Contoh Penggunaan Sintaks


4. Mendapatkan Nilai Tanggal
Sintaks:
Select dayofmonth(2007-11-25);
Select dyofmonth(now()) as Tanggal;
5. Mendapatkan Nilai Bulan
Sintaks:
Select month(2007-11-25);
Select month (now()) as bulan;

Contoh Penggunaan Sintaks


6. Mendapatkan Nilai Tahun
Sintaks:
Select year(2007-11-25);
Select year(now())as tahun;
7. Mendapatkan Nama Hari
Sintaks:
Select dayname(2007-11-25);
Select dayname(now())as Hari;

Contoh Penggunaan Sintaks


8. Mendapatkan Nama Bulan
Sintaks:
Select monthname(2007-11-25);
Select monthname(now()) as bulan;
9. Mendapatkan urutan hari dalam seminggu
Sintaks:
Select dayofweek(2007-11-25);
Select dayofweek(now())as Hari ke;
10. Mendapatkan Nama Hari Dalam Bentuk Angka
Sintaks:
Select weekday(2008-01-12);

Contoh Penggunaan Sintaks


11. Mendapatkan Urutan Hari Dalam Setahun
Sintaks:
Select dayofyear(2007-11-25);
Select dayofyear(now())as Hari Ke;
12. Mendapatkan UrutanMinggu Dalam Setahun
Sintaks:
Select weekofyear(2007-01-05);
13. Mendapatkan Informasi Tanggal terakhir
Sintaks:
Select lastday(2007-11-01);

PERTEMUAN 10
JOIN TABLE

Definisi Join Table


Perintah join dalam SQL digunakan untuk
menampilkan data pada table yang saling
berhubungan atau berelasi.
Jenis-jenis join table:
1. Inner Join
2. Outer Join
3. Cross Join

Inner Join
Inner Join digunakan untuk mengambil semua row dari table
asal dan table tujuan dengan kondisi nilai key yang terkait
saja - jika ada, dan jika tidak maka row tersebut tidak akan
muncul.
Sintaks:
select nama_table1.nama_field1,
nama_table2.nama_field2
from nama_table1 INNER JOIN nama_table2
ON nama_table1.PK=nama_table2.FK;

Inner Join
Pada gambar disamping terdapat
ERD(Entity Relationalship Diagram)
dimana terdapat 2 entitas yaitu
entitas jenis barang dan barang yang
saling berelasi, disebut dengan relasi
1 to many dimana 1 jenis barang
memiliki banyak nama barang.

Inner Join
Pada gambar disamping terdapat
dua table yaitu table jenis barang
dan table barang dengan field-field
sesuai
dengan
gambar
ERD
sebelumnya dimana kedua table
tersebut saling berelasi.

Contoh Relasi Menggunakan Inner Join

Contoh menggunakan relasi inner join dari table jenis barang dan table
barang.
1. Menampilkan nama jenis dari tabel jenis barang, dan nama barang dari
table barang menggunakan relasi inner join.
select jenis_barang.nm_jenis,barang.nm_barang from jenis_barang
INNER JOIN barang ON jenis_barang.kd_jenis=barang.kd_jenis;

Contoh Relasi Menggunakan Inner Join


2. Menampilkan data berdasarkan nama jenis
tertentu:
select barang.kd_barang,jenis_barang.nm_jenis,barang.nm_barang,barang.harga from
jenis_barang INNER JOIN barang ON jenis_barang.kd_jenis=barang.kd_jenis where
jenis_barang.nm_jenis=HARDISK;

Outer Join
OUTER JOIN merupakan tipe join yang mencari referensi data
dari suatu table sumber ke table lain dengan tidak menghilangkan
data sumber apabila referensi tidak diketemukan.
Untuk menggunakan tipe OUTER JOIN maka perlu
memperhatikan beberapa hal berikut :
1. Perlu dibedakan antara table sumber dan table referensi, ini
ditentukan dengan cara menspesifikasikan kedudukan table
sumber apakah di kiri (LEFT) atau di kanan (RIGHT).
2. Jika tidak ada data dari table referensi yang cocok dengan kondisi
join maka hanya data dari table sumber yang ditampilkan tetapi
kolom-kolom table referensi akan berisi null.

LEFT JOIN
Sintaks:
select nama_table1.nama_field1,
nama_table2.nama_field2
from nama_table1 LEFT JOIN
nama_table2
ON nama_table1.PK=nama_table2.FK;

RIGHT JOIN
Sintaks:
select nama_table1.nama_field1,
nama_table2.nama_field2
from nama_table1 RIGHT JOIN
nama_table2
ON nama_table1.PK=nama_table2.FK;

Contoh Relasi Menggunakan Left Join

SELECT jenis_barang.nm_jenis,barang.nm_barang FROM


jenis_barang LEFT JOIN barang ON
jenis_barang.kd_jenis=barang.kd_jenis;

Contoh Relasi Menggunakan Right Join

SELECT jenis_barang.nm_jenis,barang.nm_barang FROM


jenis_barang RIGHT JOIN barang ON
jenis_barang.kd_jenis=barang.kd_jenis;

PERTEMUAN 11
TRIGGER

Definisi Trigger
Trigger adalah suatu objek database
yang merupakan aksi atau prosedur
yang dilakukan jika terjadi perubahan
pada row data suatu table. Trigger
tidak dapat menjadi bagian dari
temporary table atau view.

Fungsi Trigger
Trigger sering digunakan, antara lain untuk:
Melakukan update data otomatis jika terjadi perubahan.
Contohnya adalah dalam sistem penjualan, jika dientri
barang baru maka stock akan bertambah secara otomatis.
Trigger dapat digunakan untuk mengimplementasikan
suatu sistem log. Setiap terjadi perubahan, secara
otomatis akan menyimpan ke tabel log.
Trigger dapat digunakan untuk melakukan validasi dan
verifikasi data sebelum data tersebut disimpan.

Bentuk Umum Trigger

BEFORE | AFTER digunakan untuk menentukan kapan proses secara


otomatis akan dieksekusi, sebelum atau sesudah proses.

INSERT | UPDATE | DELETE digunakan untuk menentukan event yang


dijadikan trigger untuk menjalankan perintah-perintah di dalam triggers.
Statement atau perintah dalam trigger dapat berupa satu perintah saja, dan
dapat juga beberapa perintah sekaligus. Jika terdapat beberapa perintah
dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan
mengakhiri perintah.

Bentuk Umum Trigger


Di dalam statement trigger, kita dapat
mengakses record tabel sebelum atau
sesudah proses dengan menggunakan NEW
dan
OLD.
NEW
digunakan
untuk
mengambil record yang akan diproses
(insert atau update), sedangkan OLD
digunakan untuk mengakses record yang
sudah diproses (update atau delete).

Contoh Membuat Trigger Hapus


1. Membuat table penampung log_hapus_pelanggan sebelum membuat Trigger
create table log_hapus_pelanggan like pelanggan;
2. Membuat TRIGGER hapus
DELIMITER $$
CREATE TRIGGER hapus_pelanggan AFTER DELETE
ON pelanggan FOR EACH ROW
BEGIN
INSERT INTO log_hapus_pelanggan
VALUES (OLD.kd_pelanggan,
OLD.nama,
OLD.alamat);
END;
$$

PERTEMUAN 12
FUNCTION DAN STORE PROCEDURE

Definisi Function dan Stored Procedure


Function
dan
Stored
Procedure
merupakan suatu kumpulan perintah
atau statement yang disimpan dan
dieksekusi
di
server
database
MySQL.

Definisi Function dan Stored Procedure


Stored Procedure dari segi bentuk dan
sifatnya terbagi menjadi 2 (dua), yaitu
FUNCTION dan PROCEDURE. Perbedaan
utama antara function dan procedure adalah
terletak pada nilai yang dikembalikannya
(di-return). Function memiliki suatu nilai
yang dikembalikan (di-return), sedangkan
procedure tidak.

Contoh Procedure

Sebagai contoh sederhana, kita akan membuat suatu SP yang


akan menampilkan string Hello World! di layar hasil. Berikut ini
perintah query untuk membuat SP tersebut:

Untuk memanggil procedure tersebut, gunakanlah CALL.

Contoh Function

Berikut ini contoh function hitungUmur() untuk menghitung


umur seseorang saat ini berdasarkan tahun kelahiran yang
diberikan.

PERTEMUAN 13
LAPORAN DAN BACKUP DI MYSQL

Definisi BackUp
BackUp adalah proses memindahkan data
dari satu tempat / kondisi ke tempat / kondisi
lain.
Pada pemrograman database, proses backup
ini sangat penting sekali untuk menjamin
data pada database tidak hilang karena
sesuatu yang tidak terencana.

Proses BackUp Database


Proses backup database mysql
Menggunakan tool mysqldump client
utility.
Sintaks:
mysqldump u (username) p
[nama_database_dibackup];

(password/dikosongkan)

[nama_database]

>

Proses BackUp Database


Gunakan Command Prompt(CMD).

Dengan keterangan :
mysqldump merupakan perintah untuk membackup
database.
-u (username) disini akses menggunakan root
-p password dari user itu sendiri.

Hasil BackUp

Proses Restore Database


Kembali Menggunakan Command
Prompt(CMD).

Anda mungkin juga menyukai