Anda di halaman 1dari 13

LAPORAN

PRAKTIKUM

DECEMBER 3

Nama: Fathan Hidayatullah


NIM: 20520241020

1
MODUL 02

2
Komponen SQL

A. Kompetensi
Mengenal dan memahami fungsi dari komponen-komponen SQL.

B. Sub Kompetensi
Dapat menggunakan komponen-komponen SQL dan cara pemakaiannya.

C. Dasar Teori
SQL (Structured Query Language) adalah suatu bahasa yang digunakan untuk
mengakses data pada basis data relational. Komponen SQL terdiri dari tiga bagian,
yaitu DDL (Data Definition Language), DML (Data Manipulation Language), dan DCL
(Data Control Language).
1. DDL
a) Creating Table
CREATE TABLE <nama_tabel> (<nama_kolom_1>
<tipe_data>(<panjang_data>) [UNIQUE] [NOT NULL] [PRIMARY KEY]
[DEFAULT <nilai_default>] [referential_constraint_definition] [INDEX],
<nama_kolom_2> <tipe_data>(<panjang_data>) [UNIQUE] [NOT NULL]
[PRIMARY KEY] [DEFAULT <nilai_default>]
[referential_constraint_definition] [INDEX], ….);
Contoh:
1) CREATE TABLE Suplier (KodeSuplier Integer Primary Key, NamaSuplier
Char(20) NOT NULL, Alamat Char(30) NOT NULL DEFAULT ‘Jl. Gejayan
No. 1’, Telpon Char(15));
2) CREATE TABLE Suplier (KodeSuplier Integer, NamaSuplier Char(20) NOT
NULL, Alamat Char(30) NOT NULL DEFAULT ‘Jl. Gejayan No. 1’, Telpon
Char(15), Primary Key (KodeSuplier));
b) Creating Index
CREATE INDEX <nama_index> ON <nama_tabel>(<nama_kolom>);
Contoh :
CREATE INDEX Suplier_my ON Suplier(NamaSuplier);

3
c) Altering
ALTER TABLE <nama_tabel> [ADD <nama_kolom_1>
<tipe_data>(<panjang_data>), <nama_kolom_2>
<tipe_data>(<panjang_data>), ….;] [ADD CONSTRAINT <nama_constraint>
UNIQUE (<nama_kolom>);] [DROP <nama_kolom_1>,…;] [FIRST | AFTER
<nama_kolom>]

Merubah nama kolom


ALTER TABLE <nama_tabel> CHANGE <nama_kolom_lama>
<nama_kolom_baru> <tipe_data>(<panjang_data>) [FIRST | AFTER
<nama_kolom>];
Contoh :
- ALTER TABLE Suplier CHANGE telpon telepon Char(15);
- ALTER TABLE Suplier CHANGE telepon phone Char(15) AFTER
NamaSuplier;
- ALTER TABLE Suplier CHANGE phone telpon Char(15) FIRST;
- ALTER TABLE Suplier CHANGE telpon telepon Char(30) AFTER
NamaSuplier;

Menambah dan menghapus kolom


ALTER TABLE <nama_tabel> ADD <nama_kolom_baru>
<tipe_data>(<panjang_data>) [FIRST | AFTER <nama_kolom>];
Contoh :
- ALTER TABLE Suplier ADD Kota Char(15);
- ALTER TABLE Suplier ADD Kota Char(15) AFTER alamat; (AFTER bisa
diganti dengan FIRST)
- ALTER TABLE Suplier DROP Kota;

Merubah nama tabel


ALTER TABLE <nama_tabel> RENAME TO <nama_tabel_baru>;
Contoh :
- ALTER TABLE Suplier RENAME TO Supliyer;
- ALTER TABLE Suplier RENAME Supliyer;

4
Menghapus Primary Key
ALTER TABLE <nama_tabel> DROP PRIMARY KEY;
Contoh :
- ALTER TABLE Suplier DROP Primary Key;

Menambah dan menghapus batasan (constraint)


ALTER TABLE <nama_tabel> ADD CONSTRAINT <nama_constraint> UNIQUE
<nama_kolom>;
Contoh :
- ALTER TABLE Suplier ADD CONSTRAINT NamaSupl UNIQUE
(NamaSuplier);
- ALTER TABLE Suplier ADD CONSTRAINT NamaPrim PRIMARY KEY
(NamaSuplier);
- ALTER TABLE Suplier DROP INDEX NamaSupl;

Melihat nama constraint


1) Masuk / gunakan database information_schema.
2) SELECT table_name,constraint_name FROM TABLE_CONSTRAINTS
where table_name='suplier';
d) Dropping
DROP TABLE <nama_table>;
Contoh :
DROP TABLE Suplier;
2. DML
a) Inserting
INSERT INTO <nama_tabel> [(<nama_kolom_1>, <nama_kolom_2>, …)]
VALUES (<nilai_kolom_1>, <nilai_kolom_2>, …);
Contoh :
INSERT INTO Suplier (NamaSuplier, KodeSuplier, Alamat, Kota, Telpon,
Email) VALUES (’Asmara Djati’, 212,’Jl. Gejayan 1’, ’Yogyakarta’,’0274-
557689’, ’asmara@yahoo.com’);

5
b) Updating
UPDATE <nama_tabel> SET <nama_kolom_1 = nilai_kolom_1>,
<nama_kolom_2 = nilai_kolom_2>, …., <nama_kolom_N = nilai_kolom_N>
[WHERE <kondisi>];
Contoh :
UPDATE Suplier SET Alamat = ‘Jl. Sudirman 100’, Kota=’Jakarta’,
Telpon=’021-78654579’ WHERE NamaSuplier=’Pungkas Mandiri’;
c) Deletion
DELETE FROM <nama_tabel> WHERE <kondisi>;
Contoh :
DELETE FROM Suplier WHERE NamaSuplier=’Asmara Djati’;
d) Selection
SELECT <nama_kolom_1, nama_kolom_2,…, nama_kolom_N> FROM
<nama_tabel> WHERE <kondisi>;
Contoh :
- SELECT * FROM Suplier;
- SELECT NamaSuplier,Telpon FROM Suplier;
- SELECT NamaSuplier,Telpon FROM Suplier WHERE Alamat=’Yogyakarta’;
e) Creating View
CREATE VIEW <name> AS <SELECT statement>;
Contoh :
CREATE VIEW siswa_yogya AS SELECT * FROM sisaw WHERE
kota=‘Yogyakarta’;
3. DCL
Untuk Administrator Database. Perintah-perintahnya antara lain :
- CREATE DATABASE
- CREATE USER
- DROP USER
- GRANT PRIVILEGE
- REVOKE PRIVILEGE

D. Alat/Bahan/Instrument
1. Komputer dengan sistem operasi Windows

6
2. Perangkat lunak RDBMS MySQL Server

E. Keselamatan Kerja
Sesuai SOP

F. Langkah Kerja
1. Pastikan MySQL Server sudah terinstall di komputer.
2. Klik Start → Run dan ketik cmd lalu tekan OK untuk masuk ke MS DOS Prompt.
3. Masuk ke direktori dimana MySQL Server diinstall, misal C:\mysql\bin

G. Bahan Diskusi dan Hasil Percobaan


Dengan menggunakan perintah SQL :
1. Tambah kolom baru pada tabel Suplier untuk data tgl_lahir, kota, dan email.

Menambah kolom baru pada table Suplier

2. Hapus kolom tgl_lahir.

7
Menghapus kolom tgl_lahir

3. Pastikan Primary Key pada tabel Suplier adalah kolom Kode Suplier dan untuk
Nama Suplier mempunyai Batasan UNIQUE kemudian masukkan data suplier
berikut ini :
Kode Suplier : 222
Nama Suplier : Sejahtera Terus
Alamat : Jl. Soekarno-Hatta No. 31
Kota : Bandung
Telepon : 022-445573

8
Email :

Memberi Constraint pada kolom kode_suplier

Memasukkan data pada table Suplier

4. Isi data email untuk data Suplier di atas.

Mengupdate email pada data yang memiliki kode_suplier ‘222’

5. Tambah data Suplier anda dengan beberapa data Suplier (data bebas) minimal
lima Suplier.

Memasukkan data pada table Suplier sebanyak 5 kali

Data berhasil ditambahkan

9
6. Hapus data Suplier “Sejahtera Terus”.

Menghapus data yang memiliki kode_suplier 222 pada table Suplier

7. Tampilkan semua data Suplier.

Menampilkan data pada table Suplier

8. Tampilkan semua data Suplier yang beralamat di kota Bandung.

Menampilkan data yang memiliki kota ‘Bandung’ pada table Suplier

9. Periksalah data email pada tabel Suplier. Bisakah Suplier mempunyai data email
yang sama dengan email Suplier lain?

Mencoba memasukkan data dengan email yang sudah ada pada table Suplier

Ternyata bisa menambahkan data dengan email yang sudah ada

10
10. Jika data Suplier ternyata dapat mempunyai data email yang sama, bagaimana
caranya jika diinginkan data email untuk setiap Suplier tidak boleh sama?

Memberikan Constraint UNIQUE pada kolom email, namun gagal karena masih ada data dengan email
yang sama. Oleh karena itu, perlu menghapus salah satu data dengan email yang sama dahulu.

Pemberian Constraint UNIQUE pada kolom email berhasil karena sudah tidak ada data dengan email yang
sama

Mencoba menambahkan data dengan email yang sudah ada pada table Suplier, namun gagal.

H. Pembahasan
1. Penambahan kolom pada table dapat dilakukan satu-satu atau 3 sekaligus
dengan query ALTER TABLE suplier ADD(tgl_lahir date, kota varchar(50), email
varchar(50));
Untuk mempermudah pemahaman :
kota  nama kolom
varchar  tipe data
(50)  maksimal

2. Penghapusan kolom pada table dapat dilakukan dengan query ALTER table
nama_table DROP nama_kolom;
Pastikan nama kolom table yang ingin dihapus besar kecilnya sesuai.

3. Penambahan Constraint Primary Key dapat dilakukan dengan query ALTER


TABLE nama_table ADD CONSTRAINT nama_constraint PRIMARY KEY
(nama_kolom); Fungsi Primary Key sendiri adalah sebagai identifikasi suatu
baris dalam tabel. Sedangkan penambahan Constraint UNIQUE dapat dilakukan
dengan query yang sama namun merubah PRIMARY KEY menjadi UNIQUE.
Fungsi UNIQUE adalah agar tidak ada data yang sama pada kolom tersebut.

11
4. Pengupdate-an data dapat dilakukan dengan query UPDATE nama_tabel SET
nama_kolom = nilai_kolom WHERE kondisi; Pada kasus ini, kondisi
menggunakan kode_suplier karena kolom tersebut merupaka primary key.

5. Memasukkan data dapat dilakukan dengan query INSERT INTO nama_tabel


(<nama_kolom_1>, <nama_kolom_2>, …) VALUES (<nilai_kolom_1>,
<nilai_kolom_2>, …);

6. Penghapusan baris/record dapat dilakukan dengan query DELETE FROM


nama_tabel WHERE kondisi; Pada kasus ini, kondisi menggunakan kode_suplier
karena kolom tersebut merupaka primary key.

7. Menampilkan seluruh data pada suatu tabel dapat dilakukan dengan query
SELECT * FROM nama_tabel;

8. Menampilkan data spesifik pada suatu tabel dapat dilakukan dengan query
SELECT * FROM nama_tabel where nama_kolom = ‘value’; Value di sini berarti
data yang ditampilkan hanya yang memiliki data yang sama dengan value
tersebut.

9. Suplier dapat memiliki email yang sama dikarenakan kolom email belum
memiliki Constraint UNIQUE.
10. Dengan penambahan Constraint UNIQUE pada kolom email, suplier tidak dapat
memiliki email yang sama. Pada praktik kali ini saya menemukan masalah di
mana apabila masih memiliki data Suplier dengan email yang sama maka kolom
email tidak dapat diberi Constraint UNIQUE. Unuk memecahkan masalah
tersebut harus memastikan tidak ada Suplier dengan email yang sama.

I. Daftar Pustaka
https://besmart.uny.ac.id/v2/mod/resource/view.php?id=641941

12
13

Anda mungkin juga menyukai