Modul Prakt Basis Data
Modul Prakt Basis Data
Modul Prakt Basis Data
ya
MySQL merupakan salah satu DBMS yang bersifat freeware, sehingga menjadi popular
dikalangan pengguna database. Selain karena Free MySQL juga merupakan DBMS yang
relatif ringan dan mudah digunakan. Ada beberapa software yang bisa digunakan untuk
ja
menjalankan service MySQL, diantaranya WAMP, PhpTriad dan XAMPP. Namun XAMPP
merupakan yang paling popular saat ini karena masih terus dilakukan update pada software
nya.
XAMPP merupakan program paket yang didalamnya terdapat beberapa software yang
Son
digabungkan menjadi satu. Dalam XAMPP sendiri didalamnya terdapat 5 software yang
berbeda (MySql, Apache, FileZilla,Mercury, Tomcat). Jadi ketika menginstall XAMPP kita
tidak perlu lagi menginstall Apache dan MySQL secara terpisah.
ya
Direktori mysql
Semua proses yang berjalan untuk bekerja dalam MySQL terdapat dalam direktori
mysql. Ada beberapa direktori yang perlu diketahui dalam direltori mysql :
ja
Son
a. Bin
Direktori bin berisi service-service yang bisa dijalankan untuk mengakses mysql.
b. Data
Direktori ini berisi database dan tabel yang sudah dibuat.
3. Menggunakan MySQL
a. Nyalakan (START) Service MySQL
n
Iwa
ya
Contoh :
Sintaks :
cd : c\xampp\xampp\mysql\bin\
ja
Contoh dalam CMD :
Son
Tuliskan sintaks sebagai berikut :
mysql.exe –user=(user) –password=(password) atau
mysql -u user password
contoh untuk user = root dan password = (kosong) :
mysql.exe –user=root –password= atau
mysql –u root
ya
1. SHOW
Berfungsi untuk melihat list/daftar dari database atau tabel yang sudah dibuat.
a. Melihat daftar database
onja
Untuk melihat daftar database yang sudah dibuat.
Query : SHOW databases;
b. Melihat daftar tabel
Untuk melihat daftar database yang ada digunakan fungsi show tables.
Query : SHOW tables;
2. USE
Perintah USE digunakan untuk memilih database yang ingin digunakan.
Query : USE nama_database;
3. Create
nS
Berfungsi untuk membuat database atau tabel baru.
a. Membuat database
CREATE DATABASE nama_database;
b. Membuat tabel
CREATE TABLE nama_tabel (
Field1 TipeData1,
Field2 TipeData2,
Iwa
………………
FieldN TipeDataN
);
4. Desc
Digunakan untuk melihat struktur (metadata) sebuah tabel.
DESC nama_tabel;
ya
2. Buat dua buah tabel siswa dan dosen di dalam database mahasiswa
CREATE TABLE siswa (
Nim int not null,
Nama char(20),
Wali int
onja
);
Tugas
1. Buat satu buah database
nS
2. Buat dua buah tabel pada database yang telah dibuat sebelumnya
Iwa
ya
1. Insert
Berfungsi untuk mengisikan data kedalam sebuah tabel.
Query :
INSERT INTO nama_tabel VALUES (‘nilaiField1’, ‘nilaiField2’, ………,
onja
‘nilaiFieldN’);
2. Select
Digunakan untuk menampilkan isi tabel. Untuk menampilkan sebuah tabel ada beberapa
kondisi yang bisa digunakan, antara lain :
a. SELECT ALL
Kondisi ini digunakan untuk menampilkan semua record dan semua field nya dalam
sebuah tabel.
Query : SELECT * FROM nama_tabel;
nS
b. SELECT FIELD
Kondisi ini digunakan untuk menampilkan remua record yang ada, tetapi hanya field
tertentu saja.
Query : SELECT field1,field2,… FROM nama_tabel;
c. SELECT RECORD (WHERE)
Kondisi ini digunakan untuk menampilkan isi dari record tertentu saja. WHERE bisa
digunakan untuk SELECT ALL maupun SELECT FIELD.
Iwa
Latihan
1. Isikan data kedalam tabel siswa dan dosen yang telah dibuat sebelumnya
a. Mengisi data pada tabel siswa
INSERT INTO siswa VALUES (‘123040203’, ‘WAWAN ADI’, ‘19721201’);
INSERT INTO siswa VALUES (‘123040204’, ‘INDRA KUSUMA’, ‘19721204’);
INSERT INTO siswa VALUES (‘123040205’, ‘DIANA FITRIA’, ‘19721203’);
INSERT INTO siswa VALUES (‘123040206’, ‘BAYU PUTRA’, ‘19721201’);
INSERT INTO siswa VALUES (‘123040207’, ‘ADRIANTI’, ‘19721202’);
INSERT INTO siswa VALUES (‘123040208’, ‘AHMAD AFANDI’, ‘19721204’);
ya
INSERT INTO wali VALUES (‘19721203’, ‘DIANA FITRIA’, ‘19721201’);
INSERT INTO wali VALUES (‘19721204’, ‘BAYU PUTRA’, ‘19721201’);
onja
SELECT * FROM siswa;
b. Menampilkan isi tabel dosen
SELECT * FROM dosen;
c. Menampilkan nip dan nama dari tabel wali
SELECT nip, nama FROM wali
d. Menampilkan record dengan nim = 123040208 dari tabel siswa
SELECT * FROM siswa WHERE nim = ‘123040208’;
e. Menampilkan nim dan wali dengan nim = 123040208 dari tabel siswa
SELECT nim, wali FROM siswa WHERE nim = ‘123040208’;
nS
Tugas
1. Tampilkan record dengan nim = 123040204 atau wali = 19721204.
2. Isikan data pada tabel yang telah dibuat pada tugas sebelumnya.
3. Tampilkan isi data pada tabel yang telah dibuat pada tugas sebelumnya.
Iwa
ya
Kondisi yang dibentuk pada perintah-perintah SQL dapat dalam kriteria yang sifatnya
pembandingan dengan menggunakan tanda ‘=’ untuk mencari suatu record maupun tidak.
Beberapa kondisi dalam SQL :
onja
1. LIKE
Menampilkan isi record dengan menggunakan sebagian dari isi sebuah data. Secara fungsi
LIKE berfungsi sama seperti WHERE (=).
Query : SELECT * FROM nama_tabel WHERE nama_field LIKE ‘kondisi’;
Ada terdapat 3 kondisi di dalam like :
a. %data%
Persen didepan dibelakang menunjukan bahwa record yang ingin ditampilkan adalah
semua record yang mengandung “data” pada sebuah field. “data” bisa berada diawal,
tengah ataupun akhir.
nS
b. %data
Persen didepan menunjukan bahwa record yang ingin ditampilkan adalah semua record
yang mengandung “data” pada sebuah field dan “data” harus berada diawal.
c. data%
Persen dibelakang menunjukan bahwa record yang ingin ditampilkan adalah semua
record yang mengandung “data” pada sebuah field dan “data” harus berada akhir.
Iwa
2. ORDER BY
Jika sebuat SELECT tidak memiliki ORDER BY, maka record akan ditampilkan sesuai
dengan urutan penginputan datanya. ORDER BY memungkinkan menampilkan hasil
SELECT sesuai dengan urutan yang diinginkan.
Query : SELECT * FROM nama_tabel ORDER BY nama_field;
3. ASC/DESC
Dalam mengurutkan terdapat dua kondisi : Mengurutkan data dengan terurut naik
(ASCENDING) atau terurut menurun (DESCENDING).
ya
Query : SELECT * FROM nama_tabel ORDER BY nama_field;
Latihan
Database : penjualan
onja
Tabel : pelanggan
field type
kode int
nama char
alamat char
kota char
notelp char
tipe char
ya
2. Tampilkan record dengan kode 128 & 134.
3. Tampilkan record dengan nomor rumah 12, urutkan berdasarkan tipe desc.
4. Tampilkan record dengan kode 132, 134, 135, 137. Urutkan berdaskan nama asc.
5. Tampilkan record dengan kode 127, 128, 134. Urutkan berdasarkan alamat.
onja
nS
Iwa
ya
1. UPDATE
Fungsi UPDATE digunakan untuk merubah isi data field dari sebuah record.
Query :
UPDATE nama_tabel SET nama_field = ‘value’ WHERE nama_field = ‘value’
ja
2. DELETE
Fungsi DELETE digunakan untuk menghapus sebuah record dalam sebuah database.
Query : DELETE nama_tabel WHERE nama_field = ‘value’
Son
3. ALTER
Perintah ALTER berfungsi untuk mengubah struktur dari sebuah tabel. Bisa berarti
menambahkan field baru, merubah field yang sudah ada, maupun menghapus field yang
sudah ada.
Query :
ALTER TABLE nama_tabel ADD new_field tipedata
ALTER TABLE nama_tabel CHANGE field_lama field_baru tipedata
ALTER TABLE nama_tabel DROP nama_field
4. DROP
n
ya
Field Tipedata
ID CHAR (PK)
NAMA_BARANG CHAR
JENIS_BARANG CHAR
HARGA_BELI INT
HARGA_JUAL INT
ja
STOK INT
ya
3. Ubah harga jual dan harga beli untuk SHAMPO PANTENE
4. Tambahkan sebuah kolom PRODUKSI bertipe CHAR
5. Ubah tipe data kolom PRODUKSI menjadi INT
6. Buat satu buah database : COBA_DROP
ja
7. Buat satu buah tabel : COBA_DROP ( coba int)
8. Hapus tabel COBA_DROP
9. Hapus database COBA_DROP
TUGAS
Son
Gunakan data pada tugas sebelumnya :
1. Lakukan UPDATE isi sebuah kolom pada sebuah record.
2. Lakukan UPDATE isi 2 buah kolom pada sebuah record.
3. Hapus salah satu record
4. Tambahkan satu buah kolom baru pada tabel yang sudah ada
5. Isikan data pada kolom yang dibuat pada no.4
6. Buat satu buah database dan satu buah tabel di dalamnya
7. Lakukan penghapusa tabel dan database yang sudah dibuat pada no.6
n
Iwa
ya
Fungsi merupakan suatu rutin khusus yg disediakan oleh MySQL untuk melakukan
manipulasi suatu data.
Bentuk Umum :
nama_fungsi([argumen1[, argumen2[, …]]])
ja
Argumen1, argumen2, ... Adalah argumen/ parameter yang dibutuhkan oleh fungsi.
Fungsi digunakan sebagai bagian dari perintah select.
SELECT fungsi(ekspresi) [FROM namatabel];
FROM namatabel tidak harus diisi.
Son
1. Fungsi STRING
ASCII(x)
Menghasilkan kode ASCII untuk karakter pertama dalam suatu string x.
Contoh :
CHAR(x,y,z,…)
n
LENGTH(X)
Untuk mendapatkan panjang sebuah string X
Contoh :
CONCAT()
ya
INSERT(X,Y,Z,J)
ja
Menghasilkan string X yang telah diganti isinya dengan string J mulai dari posisi ke Y
sebayak Z.
Contoh :
Son
INSTR(X,Y)
Menghasilkan nilai posisi Y di dalam string X
Contoh :
LOCATE(X,Y,Z)
Memberikan posisi string X di dalam string Y mulai posisi ke Z.
n
Contoh :
Iwa
LEFT(X,Y)
Mengambil sejumlah Y karakter dari string X, mulai posisi pertama.
Contoh :
ya
MID(X,Y,Z)
Mengambil data string X sejumlah Z karakter mulai dari posisi ke Y.
Contoh :
LTRIM(X)
ja
Son
Membuang spasi di sebelah kiri string X.
Contoh :
RTRIM(X)
Membuang spasi disebelah kanan string X.
Contoh :
REVERSE(X)
Membalik urutan penulisan sebuah string X.
Contoh :
n
Iwa
2. Fungsi Tanggal
Format tanggal dalam MySQL :
yyyy-mm-dd HH:ii:ss
yyyy : Tahun
mm : Bulan
dd : Tanggal
HH : Jam
ii : Menit
ss : Detik
CURTIME()
Menampilkan waktu sekarang dari sistem.
Contoh :
Iwa
CURRENT_TIMESTAMP() / NOW()
Menampilkan waktu saat ini, tanggal dan jam.
Contoh :
ya
DAY_NAME(X)
Menampilkan nama hari dari tanggal yang menjadi argumen dalam X.
ja
Contoh :
DAYOFMONTH(DATE)
Son
Menampilkan nomor hari dari tanggal yang menjadi argumen.
Contoh :
MONTH(DATE)
Menampilkan bagian bulan dari tanggal yang menjadi argumen.
n
YEAR(DATE)
Iwa
HOUR(TIME)
Menghasilkan bagian jam dari waktu yang menjadi argumen.
Contoh :
ya
SECOND(TIME)
Menghasilkan bagian detik dari waktu yang menjadi argumen.
ja
Contoh :
3. Fungsi Agregat
Son
SUM (nama_field)
Mendapatkan nilai total dari suatu kolom dalam sebuah tabel atau ekspresi.
AVG (nama_field)
Untuk mendapatkan nilai rata-rata sebuah kolom pada tabel atau ekspresi.
n
Iwa
MAX (nama_field)
Untuk mendapatkan nilai maksimum dari sebuah kolom dalam tabel atau ekspresi.
ya
COUNT (X)
Untuk menghitung jumlah record dari suatu kolom atau tabel X.
ja
Son
4. Fungsi Aritmatika
PENJUMLAHAN (+)
Untuk menjumlahkan dua buah data numerik.
n
Pengurangan ( - )
Untuk mengurangkan dua buah data numerik.
Perkalian (x)
Iwa
CONTOH :
ya
Menampilkan info data terakhir yang digenerate oleh MySQL pada kolom bertipe
AUTO INCREMENT (AI).
SESSION_USER
Menampilkan informasi pemakai yang sedang melakukan akses ke database.
LATIHAN
Pemrog". onja
1. Tampilkan string "Praktikum Pemrograman" yang telah diubah menjadi string "Prakt
ya
Dalam basis data relasional dimungkinkan untuk mengakses satu atau lebih tabel
dalam waktu yang bersamaan. Penggunaan dua tabel atau lebih dalam satu buah baris query
biasa disebut dengan JOIN.
Query :
SELECT <tabel1.field1>,<tabel2.field2> FROM <tabel1>, <tabel2> WHERE
onja
<key.tabel1> = <key.tabel2>
LATIHAN
Database : KULIAH
Tabel : MAHASISWA, DOSEN
Tabel MAHASISWA
Field Tipedata
NIM CHAR (PK)
NAMA CHAR
nS
ALAMAT CHAR
IPK FLOAT (10,2)
ID_DOSEN CHAR
ya
JABATAN CHAR
NOTELP CHAR
onja
12343 PAULUS INSAP, Phd JL RINGROAD NO 89 LEKTOR 08123456787
12344 NOVRIDO, MT JL ADI SUCIPTO NO 8 LEKTOR 08123456786
12345 AGUS SASMITO, ST JL MERAPI NO 23 ASS AHLI 08123456785
Menampilkan isi tabel DOSEN dan MAHASISWA yang memiliki ID_DOSEN yang
sama.
SELECT b.nim, b.nama, a.id_dosen, a.nama FROM dosen a, mahasiswa b WHERE
a.id_dosen = b.id_dosen;
nS
Menampilkan isi tabel DOSEN dan MAHASISWA yang memiliki ID_DOSEN yang sama
= ‘12344’.
SELECT b.nim, b.nama, a.id_dosen, a.nama, FROM dosen a, mahasiswa b
WHERE a.id_dosen = b.id_dosen AND a.id_dosen = ‘12344’;
Iwa
Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang
ya
saling berhubungan. Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan
perintah join pada perintah SQL.
Gambaran hasil join :
ja
Son
1. INNER JOIN
Inner join merupakan jenis join yang paling umum yang dapat digunakan pada semua
database. Jenis ini dapat digunakan bila ingin merelasikan dua set data yang ada di tabel,
letak relasinya setelah pada perintah ON pada join. Hasil dari inner join adalah gabungan
kedua tabel yang memiliki data join yang sama.
Query :
n
2. OUTER JOIN
Outer join merupakan join yang sedikit berbeda dengan inner join. Outer join akan
Iwa
menghasilkan record-record yang ada baik ada pasangan nya pada tabel lain atau tidak.
Outer join dibedakan menjadi 2 jenis, yaitu :
a. Left Outer Join
Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set
A, terlepas dari apakah nilai kunci ada dalam data set B.
Query :
ya
Latihan
Dengan menggunakan data yang sama pada bab sebelumnya :
Menampilkan isi tabel DOSEN melalui tabel MAHASISWA.
ja
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a INNER
JOIN dosen b ON a.id_dosen = b.id_dosen;
ya
1. Cross Join
Cross join kadangkala disebut juga sebagai Cartesian Product. Bila menggunakan
cross join, maka hasil dari cross join akan menciptakan hasil yang didasarkan pada semua
kemungkinan kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang
ja
dikembalikan adalah N ✕ M , dimana N adalah jumlah baris dalam kumpulan data A dan
M jumlah baris dalam kumpulan data B. Jelas, jumlah baris dalam cross join dapat
menjadi sampah.
Query :
Son
2. Union Join
Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat
menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query
menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat
bingung, sebagai gantinya digunakan perintah UNION. Union dapat dikatakan sebagai
perintah untuk menggabungkan hasil query sql yang fungsinya sama dengan perintah OR.
n
Query :
(SELECT <tabel1.field1>,<tabel2.field2> FROM <tabel1> JOIN <tabel2> ON
<key.tabel1> = <key.tabel2> WHERE key1 = ‘Value1’) UNION
Iwa
ya
Menampilkan tabel mahasiswa dan dosen dengan menggunakan UNION JOIN
Cara 1:
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN
dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen='12341' OR
a.id_dosen ='12343';
onja
UNION :
(SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN
dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen='12341') UNION
(SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN
dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen='12343');
nS
Iwa