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
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.
PERTEMUAN 2
SQL DATA DEFINITION LANGUAGE (DDL)
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)
);
tabel
yang
PERINTAH ALTER
frasa
PERINTAH ALTER
PERINTAH ALTER
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)
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
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)
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;
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);
Contoh Penggunaan
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
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
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 );
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;
Hasilnya:
2. Operator Pembanding
Macam-macam
pembanding:
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.
Menampilkan data tipe motor dengan tahun garansi hanya 1 tahun dari tabel
diatas.
select*from data_tipemotor where thn_garansi=1;
Hasilnya:
Menampilkan data tipe motor dengan stock lebih dari dan sama
dengan 16 unit.
select*from data_tipemotor where stock >= 16;
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.
Nilai A
TRUE
FALSE
TRUE
FALSE
Nilai B
TRUE
TRUE
FALSE
FALSE
Hasil A AND
B
TRUE
FALSE
FALSE
FALSE
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
Nilai A
Nilai B
Hasil A OR B
TRUE
TRUE
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
FALSE
FALSE
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.
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
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.
Contoh:
SELECT SUBSTRING(Teknik Informatika,6);
Hasilnya Akan Tampil:
k Informatika
PERTEMUAN 9
FUNGSI PADA MYSQL
-FUNGSI TANGGAL DAN WAKTU
PERTEMUAN 10
JOIN TABLE
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 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;
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;
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.
PERTEMUAN 12
FUNCTION DAN STORE PROCEDURE
Contoh Procedure
Contoh Function
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.
(password/dikosongkan)
[nama_database]
>
Dengan keterangan :
mysqldump merupakan perintah untuk membackup
database.
-u (username) disini akses menggunakan root
-p password dari user itu sendiri.
Hasil BackUp