Anda di halaman 1dari 37

Pengolahan Data dengan SQL

SQL
⚫ Structured Query Language
⚫ Merupakan bahasa yang digunakan untuk mengirim perintah ke
DBMS
⚫ SQL adalah bahasa yang mudah karena hanya berisi instruksi
untuk menyimpan, mengubah, menghapus atau mengambil data
melalui DBMS
⚫ Secara garis besar, semua perintah SQL di Relational Database
itu hampir sama, namun biasanya tiap DBMS ada improvement
yang membedakan hal-hal kecil dalam perintah SQL, namun
secara garis besar perintahnya tetap sama
Kenapa harus belajar SQL?

Kunjungi menti.com ya
Kenapa harus belajar SQL?
⚫ Mudah dipelajari
⚫ Terstandardisasi
⚫ Melatih kemampuan analisis
⚫ Dapat digunakan untuk membantu
dalam pengolahan data yang besar
TIPE DATA
TIPE DATA NUMBER
Tipe Data Number
⚫ Secara garis besar, tipe data number di MySQL
ada dua jenis;
⚫ Integer, atau tipe number bilangan bulat
⚫ Floating Point, atau tipe data number pecahan
Tipe Data Integer
Tipe Data Floating Point
DECIMAL
⚫ Selain Integer dan Floating Point, di MySQL terdapat tipe
data DECIMAL
⚫ Ini tipe data number khusus yang bisa ditentukan jumlah
precision dan scale nya

DECIMAL Min Max

DECIMAL(5, 2) -999.99 999.99

DECIMAL(5, 0) -99999 99999

DECIMAL(3, 1) -99.9 999

DECIMAL(3) -999 999


TIPE DATA STRING
Tipe Data String
⚫ Selain number, biasanya kita sering menyimpan data di
dalam tabel dalam bentuk tulisan
⚫ Tipe data ini namanya tipe data String atau Text
⚫ Ada banyak tipe data String di MySQL
CHAR dan VARCHAR
⚫ Pertama, tipe data String di MySQL adalah CHAR dan VARCHAR
⚫ Kita bisa menentukan jumlah panjang maksimal karakter yang
bisa ditampung oleh CHAR dan VARCHAR dengan menggunakan
kurung buka lalu masukan jumlah maksimal karakter dan diakhiri
kurung tutup
⚫ Misal, CHAR(10) atau VARCHAR(10) artinya tipe data String
dengan maksimal jumlah karakternya adalah 10 karakter
⚫ Maksimum ukuran CHAR atau VARCHAR adalah 65535 karakter
Perbedaan CHAR dan VARCHAR
TEXT
⚫ Selain CHAR dan VARCHAR, tipe data String yang lainnya
adalah TEXT
⚫ Berbeda dengan CHAR dan VARCHAR yang kita bisa tentukan
panjang maksimum nya, TEXT tidak bisa kita tentukan
maksimum panjang nya
⚫ Terdapat 4 tipe data TEXT
⚫ TINYTEXT dengan maksimum 255 karakter (~256 bytes)
⚫ TEXT dengan maksimum 65535 karakter ( ~64 kb)
⚫ MEDIUMTEXT dengan maksimum 16777215 karakter (~16MB)
⚫ LONGTEXT dengan maksimum 4294967295 karakter (~4GB)
TIPE DATA DATE AND TIME
Tipe Data Date dan Time
⚫ Selain tipe data Number dan String, biasanya
kadang kita sering menyimpan data waktu atau
tanggal

Tipe Data Date dan Time Format Contoh

DATE YYYY-MM-DD 2020-10-10

DATETIME YYYY-MM-DD HH:MM:SS 2020-10-10 10:10:10

TIMESTAMP YYYY-MM-DD HH:MM:SS 2020-10-10 10:10:10

TIME HH:MM:SS 10:10:10

YEAR YYYY 2020


TABEL
Tabel
⚫ Data biasanya disimpan di dalam tabel di MySQL,
Suatu table tersusun dalam kolom (attribute) dan baris (row
/record)
⚫ Tiap tabel biasanya menyimpan satu jenis data
⚫ Sebelum bisa menyimpan data, tabel perlu dibentuk
terlebih dahulu
⚫ Untuk membentuk sebuah tabel, terlebih dahulu
tentukan kolom-kolom, kemudian tentukan tipe data
tiap kolom
Tabel
⚫ Contoh Tampilan sebuah tabel
NIP NAMA ALAMAT
960212100 SABENI JAKARTA
Baris
960212101 KARTOLO SURABAYA
960212102 GARENG JOGYAKARTA
960212103 BUTET MEDAN

Kolom
Tabel
⚫ Pada suatu table bisa terdapat 3 jenis key
1) Primary Key = sebuah atau beberapa kolom yang dikelompokkan
dan secara unik mengidentifikasi row di dalam table. Tidak boleh
bernilai Null
2) Unique Key = kolom yang digunakan sebagai unik di dalam table .
Unique key bisa memiliki nilai NULL.
3) Foreign Key = kolom dalam sebuah table , yang dapat dipakai
dalam membuat relasi antara satu table dengan table lainnya.
Foreign key bukanlah primary key table tersebut, namun menjadi
primary key bagi table lainnya
Tabel
⚫ Relasi Tabel
Table WP
NPWP NAMA_WP KPP_ADMINISTRASI
123456789001000 PANTANG MUNDUR 051 Foreign Key
987654321302001 MAJU SENDIRI 605
012345678051000 MILIK BANGSA 012
876543210108002 KARYA BERSAMA 302

Tabel KPP
Primary Key
KPP NAMAKPP ALAMAT
001 KPP PRATAMA JAKARTA MATRAMAN JAKARTA
003 KPP PRATAMA JAKARTA PULOGADUNG JAKARTA
302 KPP PRATAMA BATURAJA BATURAJA
051 KPP WAJIB PAJAK BESAR TIGA JAKARTA
108 KPP PRATAMA ACEH BESAR BANDA ACEH

Primary Key
Tabel
⚫ Contoh Perintah Create Tabel di MySQL :
⚫ Template Standar Perintah
⚫ Create Tabel [Nama Tabel] (Nama Kolom Tipe Kolom)
⚫ Create table sakila.masterfile_lokakarya (
⚫ npwp varchar(15) not null,
⚫ kppadm varchar(3),
⚫ nama_wp varchar(30),
⚫ alamat_wp varchar(50),
⚫ Primary key (npwp)
⚫ );
⚫ Perintah create table juga dapat digunakan diikuti dengan perintah select dari tabel
lain, yang artinya, tabel baru yang akan dibentuk akan mengambil data dari tabel
lain yang sudah tersedia.
Tabel, lanjutan...
⚫ Apakah kita hanya bisa meng-create tabel di
MySQL ? Bisakah kita menghapus tabel?
Bisakah kita merubah kolom?
◼ Alter
◼ Drop
◼ Rename
◼ Modify
◼ Drop dan Truncate
Tabel, lanjutan...
⚫ Alter
⚫ ADD – Contoh = “Alter Table sakila.masterfile_lokakarya add
column tgl_daftar timestamp;”
⚫ ADD- Setelah kolom tertentu = “Alter Table
masterfile_lokakarya add column tgl_lahir timestamp after
nama_wp;”
⚫ ADD – Multiple Columns = “Alter Table masterfile_lokakarya
add column (kd_klu char(5), id_jns_wp tinyint);”
⚫ ADD – Multiple Columns (After)= “Alter Table
masterfile_lokakarya add column kd_klu_after char(5) after
kd_klu, add column id_jns_wp_after tinyint after id_jns_wp;”
Tabel, lanjutan...
⚫ Drop
⚫ Single Column Drop = Alter table masterfile_lokakarya drop
kd_klu_after;
⚫ Multiple Columns Drop = Alter table masterfile_lokakarya drop
kolom_awal_baru, drop id_jns_wp_after;
⚫ Rename
⚫ Rename column = Alter table masterfile_lokakarya change
column npwp npwp15 varchar(15) ;
⚫ Renama table = Alter table masterfile_lokakarya rename to
mf_lokakarya;
Tabel, lanjutan...
⚫ Modify :
⚫ Single Column = Alter table mf_lokakarya modify npwp15 char(15)
null;
⚫ Multiple Columns = Alter table mf_lokakarya modify npwp15
varchar(15) not null, modify kppadm varchar(3) null;
Tabel, lanjutan...
⚫ Drop :
⚫ Secara sederhana, peirnta drop digunakan untuk menghapus sebuah tabel
secara keseluruhan.
⚫ Contoh = Drop Table Pegawai ;

⚫ Truncate : / Delete
⚫ Perintah truncate digunakan untuk menghapus seluruh record/row/tupple
di dalam sebuah tabel dengan tetap mempertahankan struktur dari tabel
tersebut:
⚫ Contoh = Truncate table pegawai :
⚫ Delete from pegawai where
VIEW
⚫ Secara sederhana dapat diartikan sebagai “Stored Query”
⚫ Untuk membentuk View perintah yang digunakan adalah
“Create View”
⚫ Untuk mengakses view, digunakan perintah “Select”
⚫ View dapat membantu dalam menyederhanakan query
yang berulang dan kompleks
⚫ View juga membantu dalam menjaga konsistensi logika
bisnis
VIEW
⚫ Contoh Perintah :
⚫ create view v_mpn2017_kontribusibesar as
⚫ create view sakila.payment_kontribusibesar as
⚫ select * from sakila.payment where amount > 5
INDEX
⚫ Index membantu dalam mempercepat pencarian row
dengan nilai yang spesifik
⚫ Tanpa adanya Index, DBMS harus men-scan keseluruhan
tabel untuk mendapatkan row yang diinginkan
⚫ Contoh Perintah :
⚫ create index index_payment on
⚫ Sakila.payment (customer_id,
⚫ Staff_id,
⚫ Rental_id);
Primary Key

⚫ Jika primary key hanya terdiri dari satu kolom unik maka
CREATE TABLE sakila.Persons (

ID int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Age int,

PRIMARY KEY (ID)

);

Bisa juga menggunakan perintah alter

ALTER TABLE sakila.Persons


ADD PRIMARY KEY (ID);
Primary Key
⚫ Jika primary key hanya terdiri dari dua kolom unik maka
CREATE TABLE Persons (

ID int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Age int,

CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)

);

--constraint menandakan peraturan tambahan bahwa primary key tidak hanya satu kolom

Bisa juga menggunakan perintah alter

ALTER TABLE Persons


ADD PRIMARY KEY (ID);
Foreign Key
⚫ Jika primary key hanya terdiri dari dua kolom unik maka
CREATE TABLE sakila .Orders (

OrderID int NOT NULL,

OrderNumber int NOT NULL,

PersonID int,

PRIMARY KEY (OrderID),

FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)

);

Bisa juga menggunakan perintah alter

ALTER TABLE

Sakila.Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
Membuat Skema

⚫ Pada Mysql database ekuivalen dengan


skema

⚫ Klik kanan kemudian pilih create new


database

⚫ Buatlah database baru dengan nama


‘Latihan’
Notes

⚫ Setelah melakukan perintah DDL, jangan lupa untuk


commit serta refresh pada skema
Latihan 1

• → →

Anda mungkin juga menyukai