MOBILE SYSTEM & SOFTWARE LABORATORY Computer System Engineering Diponegoro University Semarang JL. Prof.Sudharto, SH – Tembalang Semarang Jawa Tengah BAB II DATA DEFINITION LANGUANGE (DDL), DATA MANIPULATION LANGUANGE (DML), DAN DATA CONTROL LANGUANGE (DCL) 2.1. Tujuan 1. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam perintah dasar dari DDL (Data Definition Language). 2. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam perintah dasar dari DML (Data Manipulation Language) 3. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam perintah dasar dari DCL ( Data Control Language) 4. Praktikan dapat memahami penggunaan AppServer untuk pembuatan database
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
BAB II
DATA DEFINITION LANGUANGE (DDL), DATA
MANIPULATION LANGUANGE (DML), DAN DATA
CONTROL LANGUANGE (DCL)
2.1. Tujuan
1. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam
perintah dasar dari DDL (Data Definition Language).
2. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam
perintah dasar dari DML (Data Manipulation Language)
3. Praktikan mampu mendeskripsikan dan menerapkan berbagai macam
perintah dasar dari DCL ( Data Control Language)
4. Praktikan dapat memahami penggunaan AppServer untuk pembuatan
database
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
2.2. Alat dan Bahan
2.1. Personal Computer (PC) / Laptop
2.2. Operating system (Windows, Linux, Mac Os)
2.3. Aplikasi DBMS seperti Appserv-win32-2.5.10, XAMPP for Windows atau LAMPP for Linux
2.3. Dasar Teori
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
2.3.1. MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis
data SQL (bahasa Inggris: database management system) atau DBMS
yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh
dunia. MySQL AB membuat MySQL tersedia sebagai perangkat
lunak gratis dibawah lisensi GNU General Public License (GPL),
tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-
kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Gambar 2.1. Logo MySQL
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara
kerja pengoptimasi-nya dalam melakukan proses perintah-perintah
SQL yang dibuat oleh pengguna maupun program-program aplikasi
yang memanfaatkannya. Sebagai peladen basis data, MySQL
mendukung operasi basisdata transaksional maupun operasi basisdata
non-transaksional. Pada modus operasi non-transaksional, MySQL
dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat
lunak peladen basisdata kompetitor lainnya.
2.3.2. Data Definition Language (DDL)
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Data Definition Language adalah bahasa dalam DBMS yang
digunakan untuk membuat atau mendefenisikan obyek-obyek di dalam
database. Secara umum digunakan untuk membuat obyek table dan
view. DDL digunakan untuk mendefensikan, mengubah, serta
menghapus basis data dan obyek-obyek yang diperlukan dalam basis
data, misalnya tabel, view, user, dan sebagainya.
2.3.3. Data Manipulation Language (DML)
Data Manipulation Language (DML) adalah sub bahasa SQL yang
berfungsi memanipulasi data yang ada dalam basis data atau database.
Perintah yang termasuk di dalam DML adalah INSERT, SELECT,
UPDATE, dan DELETE. Dari keempat perintah tersebut dapat
digunakan setelah sistem database dan tabel terbentuk. Perintah-
perintah tersebut hanya digunakan untuk mengelola data saja,
sedangkan untuk membangun database dan strukturnya diperlukan
perintah DDL.
2.3.4. Data Control Language (DCL)
Data Control Language 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.
2.3.5. Perbedaan Appserv dengan XAMPP
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Tabel 2.1 Tabel perbedaan Appserv dengan XAMPP
AppServ XAMPP
1. Melayani dan
memfungsikan situs web.
2. Fitur-fitur canggih
3. Pesan kesalahan yang dapat
dikonfigur, autentikasi
berbasis basis data dan lain-
lain.
4. Protokol yang digunakan
untuk melayani fasilitas
web/www ini menggunakan
1. Berfungsi sebagai serveryang
berdiri sendiri (localhost).
2. Mendukung banyak sistem
operasi, merupakan kompilasi
dari beberapa program.
3. Mudah digunakan
4. Dapat melayani tampilan halaman
web yang dinamis.
2.3.6. Kelebihan dan Kekurangan MySQL
Tabel 2.2 Tabel kelebihan dan kekurangan MySQL
Kelebihan Kekurangan
1. Portabilitas. MySQL dapat
berjalan stabil pada
berbagai sistem operasi
seperti Windows, Linux,
FreeBSD, Mac Os X
Server, Solaris, Amiga,
dan masih banyak lagi.
2. Perangkat lunak sumber
terbuka. MySQL didis-
tribusikan sebagai
perangkat lunak sumber
terbuka, dibawah lisensi
GPL sehingga dapat digu-
1. Untuk koneksi ke bahasa
pemrograman visual seperti VB,
Delphi, dan Foxpro, fitur pada
MySQL kurang mendukung, karena
koneksi ini menyebabkan field yang
dibaca harus sesuai dengan koneksi
dari program visual tersebut, dan ini
yang menyebabkan mysql jarang
dipakai dalam program Visual.
2. Data yang ditangani belum begitu
besar
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Alter table Mahasiswa add ipk varchar (5) after nim;
Gambar 2.8. Sintaks Alter Table
7. Mengubah Struktur Tabel
Perintah ALTER juga dapat digunakan untuk mengubah struktur
tabel. Berikut merupakan sintaknya:
ALTER TABLE nama_table Change nama_kolom_lama
nama_kolom_baru tipe_data_kolom_lama (ukuran baru atau lama);
Contoh penggunaannya:
Alter table mahasiswa
Change name nama char (25);
Gambar 2.9. Sintaks Mengubah Struktur Table
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
8. Memasukkan Data
Perintah INSERT berfungsi untuk memasukkan data. Berikut
sintaksnya:
INSERT INTO nama_tabel SET
Kolom_a = ‘data_kolom_a’,
Kolom_b = ‘data_kolom_b’,
Kolom_n = ‘data_kolom_n’;
Contoh penggunaannya:
INSERT INTO mahasiswa SET
nama = ‘rosyid’,
nim = ‘21120110141056,
ipk = ‘3.8’,
kdw = ‘2990’,
alamat = ’griya tembalang no 28’;
Gambar 2.10. Sintaks Insert Data
Setelah kita melakukan perintah insert into mahasiswa,
kemudian kita check lagi dengan menggunaka perintah select*
from mahasiswa;
Terlihat pada tampilan bahwa data telah berubah sesuai dengan yang
kita inginkan.
9. Memasukkan Data Kedua
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Untuk memasukkan data kedua juga digunakan perintah
INSERT.namun sedikit berbeda dengan cara yang pertama. Sintaks
dan contoh penggunaannya :
Insert into
mahasiswa(nama,nim,ipk,kdw,alamat)
Values(‘rama,’
21120110141060’,’3.6’,’2990’,’griya makmur
asri’);
. Gambar 2.11. Sintaks Insert Data Kedua
Setelah kita menambahkan data seperti pada syntax di atas,
selanjutnya kita mengechek apakah data yang kita inginkan telah
terbentuk dengan perintah select* from mahasiswa;
Setelah perintah select* from mahasiswa dijalankan
ternyata data yang kita inginkan telah terbentuk.
10. Memasukkan data ketiga
Untuk memasukkan data kedua juga digunakan perintah
INSERT.namun sedikit berbeda dengan cara yang pertama. Sintaks
dan contoh penggunaannya:
Insert into mahasiswa
values(
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
‘andika’,’21120110141046’,’3.4’,’2950’,’pondo
k indah’);
Gambar 2.12. Sintaks Insert Data Kedua
Setelah kita menambahkan data seperti pada syntax di atas,
selanjutnya kita mengechek apakah data yang kita inginkan telah
terbentuk dengan perintah select* from mahasiswa;
Setelah perintah select* from mahasiswa dijalankan
ternyata data yang kita inginkan telah terbentuk.
2.4.3. Perintah DML (Data Manipulation Languange)
1. Memasukkan Data Hanya pada Sebagian Kolom
Untuk memasukkan data pada sebagian kolom juga digunakan
perintah INSERT. Berikut merupakan contoh penggunaannya:
INSERT INTO Mahasiswa (nama, nim,ipk)
VALUES (‘laura‘,’21120110141090’,‘3.2’);
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Gambar 2.13. Sintaks Insert Data Hanya pada Sebagian Kolom
Kenapa tertera null karena kdw dan alamat tidak diisi atau tidak
ada.
Bisa dilihat hanya kolom nama, nim dan ipk saja yang
terisi, yang lain diisi dengan NULL.
2. Memperbaharui Data
Perintah yang digunakan untuk memperbaharui data adalah perintah
UPDATE. Sintaksnya:
UPDATE nama_tabel SET
Kolom_a = ‘data_kolom_a’,
Kolom_b = ‘data_kolom_b’,
.........................................
WHERE kondisi
Contoh penggunaannya:
Update Mahasiswa set
Ipk = ‘3.2’,
Alamat = ‘griya tembalang no 28’
Where nama = ‘rosyid’;
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Gambar 2.14. Sintaks Update Data
3. Menghapus Data
Untuk menghapus data dapat digunakan perintah DELETE. Sintaks
perintah DELETE:
DELETE FROM nama_tabel WHERE kondisi;
Contoh penggunaannya:
Delete from mahasiswa where nama = ‘rosyid’;
Gambar 2.15. Sintaks Delete Data
2.4.4. Perintah DCL (Data Control Languange)
1. Membuat User dan login
Untuk membuat User dapat menggunakan perintah CREATE
USER. Sintaksnya:
CREATE USER ‘nama_user_yang_ingin_dibuat’ IDENTIFIED BY
‘password_yang_ingin_dibuat’;
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Perintah IDENTIFIED BY digunakan untuk memberi password
untuk user, password tersebut digunakan untuk login pada user
yang baru saja dibuat.
Contoh penggunaannya:
Create user ‘bimbim’ identified by ‘12345’;
Ada beberapa kasus ketika kita login dengan account kita pada
mysql ditolak oleh DBMS tersebut. Itu disebabkan Karena
pengaturan di mysql yang tidak membolehkan beberapa user untuk
masuk ke mysql di luar localhost. Seperti gambar di bawah
Gambar 2.16 error yang terjadi ketika masuk mysql
Solusinya adalah dengan merubah syntax dalam membuat user
menjadi :
Create user ‘bimbim’@localhost identified by ‘12345’;
Gambar 2.17 create user with @localhost
Setelah kita membuat user baru, maka kita harus mengecheck
apakah user yang kita inginkan sudah terbuat. Dengan menggunakan
syntax
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Select user from user;
Dan ternyata pada tampilan telah terlihat nama user yang telah kita
buat yaitu bimbim.
Perintah yang digunakan untuk login sama seperti perintah memulai
MySQL melalui cmd dengan root, yang membedakannya adalah
user yang digunakan untuk login ke MySQL. Pada kasus ini
digunakan user yang baru dibuat untuk login.
Sintaksnya:
Mysql –u nama_user_yang_baru-dibuat –p
Kemudian masukkan password dari user yang baru dibuat tadi
Contoh penggunaannya:
Mysql –u aussi@localhost –p
Masukkan password user, tekan enter
Gambar 2.18 Sintaks login to mysql with new account
2. Memberi Akses User
Memberi akses kepada user dapat menggunakan perintah GRANT.
Perintah ini hanya bisa dilakukan oleh administrator atau root.
Berikut merupakan sintaksnya:
GRANT hak_akses1, hak_akses2,....., hak_akses,
SHOW VIEW ON nama_database.nama_tabel TO ‘user’;
Contoh penggunaannya:
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Grant
Select,
Insert,
Update,
on *.* to ‘aussi@localhost’;
Gambar 2.19 Sintaks Grant
3. Mencabut Hak Akses User
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Perintah ini merupakan perintah yang memiliki kegunaan terbalik
dengan perintah GRANT. Untuk mencabut hak akses user dapat
menggunakan perintah REVOKE.
Contoh penggunaannya:
Revoke all privileges on *.* from ‘bimbim@localhost’;
Gambar 2.20 Sintaks Revoke
2.5. Tugas Praktikum
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
2.5.1. Buat user baru dengan nama = “nama_kelompok” dan password= “siskomjaya”
Gambar 2.21. Tugas 1
Ketika kita akan membuat user baru, kita harus masuk dengan user
root terlebih dahulu. Karena root yang memiliki hak akses tertinggi
sehingga dialah yang bisa membuat user baru. Jangan lupa gunakan
database mysql untuk membuat user baru dengan syntax use
mysql;
2.5.2. Beri hak akses select,insert,update,delete,create pada user yang telah dibuat tadi
Gambar 2.22 Tugas 2
Untuk memberi hak akses pada user tertentu, yang perlu diperhatikan adalah ketika syntax terakhir dari privileges jangan diakhiri dengan tanda “,” (koma). Karena jika memakai koma di akhir privileges yang kita berikan, maka akan terjadi error.
2.5.3. Login dengan user yang dibuat tadi
Kelompok56@localhost identified by ‘siskomjaya’;
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Gambar 2.23 Tugas 3
Setelah kita membuat user baru, selanjutnya kita login dengan user yang kita buat tadi dengan syntax mysql -u kelompok56@localhost –p
2.5.4. Buat database dengan nama “buah buahan”
Gambar 2.24. Tugas 4
Langkah membuat database, seperti biasa dengan menggunakan perintah create database nama_database; . dalam tugas praktikum kali ini adalah dengan menggunakan syntax create database buahbuahan;
Setelah database dibuat, kita periksa dengan perintah show databases; . dan terlihat database buahbuahan telah terbentuk.
Kelompok56@localhost -p
Kelompok56 -p
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
2.5.5. Buat tabel dengan nama “buah” dengan kriteria Nama varchar(20)
Warna varchar(20)
Rasa varchar(20)
Harga int(5)
Gambar 2.25. Tugas 5
Untuk memasukan column nama, warna, rasa dan harga, pada tabel buah digunakan perintah create table buah ( nama varchar(20), warna varchar(20), rasa varchar(20), harga
int(5)); Dan kita periksa kembali dengan perintah desc buah; . Dan ternyata column dari tabel yang kita inginkan telah terbentuk.
2.5.6. Buat tabel seperti ini
Nama Rasa Warna Harga
Mangga Asem Hijau 6000
Apel Manis Merah 10000
Pisang Manis Kuning 8000
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Gambar 2.26 Tugas 6
untuk membuat tabel seperti yang kita inginkan, digunakan perintah insert into buah valuses (‘pisang’, ‘manis’, ‘kuning’, ‘8000’);
dan syntax buah yang lain sama seperti syntax sebelumnya.
2.5.7. Lakukan pencarian dimana “rasa = asem”
Gambar 2.27 Tugas 7
Untuk mencari suatu data yang bernama rasa=asem, maka digunakan perintah select* from buah where rasa like ‘a%’;
2.5.8. Ganti nama “apel” menjadi “strawberry”
Gambar 2.28 Tugas 8
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Untuk mengupdate nama apel menjadi strawberry, digunakan perintah update buah set name =’strawberry’, where nama =’apel’;
2.5.9. Urutkan harga mulai dari terkecil – terbesar
Gambar 2.29Tugas 9
Untuk mengurutkan harga mulai dari terkecil sampai terbesar
digunakan perintah select* from buah order by harga asc;
2.5.10. Cabut hak akses insert dan update pada user nama_kelompok tadi
Gambar 2.30 Tugas 10
Disini kita mencabut hak akses yang telah diberikan dengan
menggunakan syntax “revoke”
2.5.11. Lakukan perintah insert pada tabel buah
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
Nama = Nanas
Rasa = manis
Warna = kuning
Harga = 15000
Gambar 2.31. Tugas 11
Disini kita menambahkan satu baris data dengan ketentuan : Nama =
nanas, rasa = manis, warna = kuning, harga = 15000
2.5.12. Update “mangga” menjadi pepaya
Disini kita mengubah nama buah mangga menjadi pepaya.
Gambar 2.32. Tugas 12
2.6 Kesimpulan
MOBILE SYSTEM & SOFTWARE LABORATORYComputer System Engineering
Diponegoro University SemarangJL. Prof.Sudharto, SH – Tembalang Semarang
Jawa Tengah
1. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang
multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia.
2. Data Definition Language adalah bahasa dalam DBMS yang digunakan
untuk membuat atau mendefenisikan obyek-obyek di dalam database.
3. Data Manipulation Language (DML) adalah sub bahasa SQL yang
berfungsi memanipulasi data yang ada dalam basis data atau database.
Perintah yang termasuk di dalam DML adalah INSERT, SELECT,
UPDATE, dan DELETE. Dari keempat perintah tersebut dapat digunakan
setelah sistem database dan tabel terbentuk.
4. Data Control Language 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.
5. Salah satu kelebihan yang dimiliki oleh MySQL adalah Portabilitas.
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih
banyak lagi.
6. Salah satu kekurangan MySQL adalah Untuk koneksi ke bahasa
pemrograman visual seperti VB, Delphi, dan Foxpro, fitur pada MySQL
kurang mendukung, karena koneksi ini menyebabkan field yang dibaca
harus sesuai dengan koneksi dari program visual tersebut, dan ini yang
menyebabkan mysql jarang dipakai dalam program Visual.
7. CREATE, SHOW, USE, DESC, dan SHOW adalah beberapa perintah dari
Data Definition Languange (DDL).
8. INSERT, SELECT, UPDATE, dan DELETE termasuk ke dalam perintah
Data Manipulation Languange (DML).
9. GRANT, dan REVOKE ialah perintah DCL (Data Control Languange).
10. Perintah “mysql –u ‘user’ -p” ialah perintah untuk login ke MySQL.