0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan133 halaman

Modul Praktik Basis Data

Diunggah oleh

ija
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan133 halaman

Modul Praktik Basis Data

Diunggah oleh

ija
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 133

Praktik Basis Data

Politeknik PalComTech

MULAI MATERI
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.
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 you agree for this license click Next 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 at check box.
- Apache HTTP Server is a Web Server.
- MySQL Database is a Database Server.
- PHP Hypertext Preprocessor is a PHP Programming processor.
- phpMyAdmin is 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 specify Apache configure.
Server Name You must specify Server Name e.g. www.appservnetwork.com.

Admin Email You must specify Admin Email e.g. [email protected]

HTTP Port You 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 for this password is root .
Character Sets Specify for data storage language and collations.
Old Password If you have problem when you coding PHP code with
Old MySQL API.
And found error Client does not supportauthentication
protocol requested by server;
consider upgrading MySQL client
You must check this option to avoid 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 to end this setup and AppServ prompt to use.

Copyright © by AppServNetwork All Right Reserved.


Published on: 2006-10-10 (37140 reads)
PERTEMUAN 2
DASAR MYSQL,
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 tabel yang telah


dibuat:
desc nama_tabel;
PERINTAH ALTER
• Perintah untuk menambah kolom:
alter table nama_table add nama_field tipe_data not null;

• Perintah untuk menambah kolom dengan menggunakan frasa 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;
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’,’P
oint_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-7
OPERATOR, INHERITANCE 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 operator pembanding:


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 Nilai B Hasil A AND B


TRUE TRUE TRUE
FALSE TRUE FALSE
TRUE FALSE FALSE
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 9
FUNGSI PADA MYSQL
-FUNGSI AGREGAT, NUMERIC
-FUNGSI STRING
Fungsi Agregat
• Fungsi Agregat dalam MySQL adalah 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’);
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’);
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 10
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 11-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 (password/dikosongkan) [nama_database] >
[nama_database_dibackup];
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).
PERTEMUAN 14 - 15
• STUDI KASUS

Anda mungkin juga menyukai