Nama : Muthia Primayunita
NIM : 1406794
Jurursan : Pendidikan Ilmu Komputer
Kelas : B
Apa sih basis data itu
?
Basis data terdiri dari 2 kata yaitu:
Basis, bisa diartikan sebagai markas,
gudang/tempat berkumpul.
Data, fakta yang mewakili suatu objek
seperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam
dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasinya.
Jadi Basis Data adalah kumpulan data yang saling
berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/
penumpukan (redudansi), untuk memenuhi berbagai kebutuhan.
MYSQL dan SQL
MySQL adalah perangkat lunak sistem manajemen basis
data relasional atau Relational Database Management System (RDBMS). Singkatnya
MySQL adalah alat/software untuk me-manage/mengatur database. Sedangkan SQL
(Structured Query Language) adalah bahasa/sintaks-sintaks perintah tertentu
untuk mengatur database. Jadi MySQL adalah software-nya, dan SQL
adalah sintaks perintahnya.
DDL dan DML
DDL adalah, Data Definition Language, merupakan
kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus
struktur dan definisi metadata dari objek-objek database.
DML adalah Data Manipulation Language, merupakan kumpulan
perintah SQL yang digunakan untuk proses pengolahan isi data di dalam
table seperti memasukkan, merubah dan menghapus isi data - dan tidak
terkait dengan perubahan struktur dan definisi tipe data dari objek database.
DDL (Data Definition Language)
Seperti definisi yang dijelakan diatas, DDL adalah kumpulan
perintah sql yang digunakan untuk membuat(create), mengubah(alter) dan
menghapus(drop) struktur dan definisi tipe dari objek-objek database.
Tipe Data
Tipe Data Bilangan
Sebenarnya ada 2 cara yaitu lewat command prompt dan
lewat php myadmins, tapi kit muali dengan command prompt ya :3
·
Instalasi XAMPP terlebih dahulu.
·
Buka control panel XAMPP, kemudian
klik start pada pada Apache dan MySQL.
·
Sekarang masuk ke command prompt,
caranya masuk ke run, lalu ketikan cmd kemudian enter atau bisa dengan menekan
secara bersamaan windows + R kemudian ketik cmd dan enter(klik ok).
Ketikan cd c:\xampp\mysql\bin
Kemudian mysq –u root
Perintah-perintah pada DDL
1. Create
Contoh:
Untuk membuat database:
CREATE DATABASE
[nama_database];
Contoh :
Untuk menggunakan database yang telah dibuat:
USE [nama_database];
Contoh :
Untuk membuat table:
CREATE TABLE [nama_tabel] (
nama_field1, tipe data,
nama_field2, tipe data,
..........................
);
Contoh :
Ada 3 kata penting
yang sering digunakan pada saat membuat tabel
PRIMARY KEY : Menjadikan sebuah
field kunci utama dalam data. Nilai pada primary key adalah unik agar dapat
dibedakan dengan field yang lain.
AUTO_INCREMENT : Suatu tipe field
integer yang secara otomatis akan bertambah nilainya jika terjadi penambahan
row pada table dimana field tersebut berada
NOT NULL : Field tidak boleh kosong/NULL
2. DROP
Drop berfungsi unutuk
menghapus sebuah tabel atau database yang dikehendaki.
- Menghapus Database
DROP DATABASE [nama
database];
Contoh :
- Menghapus Tabel
DROP TABLE [nama tabel];
Contoh :
3. ALTER
Alter digunakan
untuk mengubah sebuah data dalam tabel seperti mengubah nama tabel hingga tipe
data dalam tabel tersebut
SQL yang digunakan :
ALTER TABLE [nama_tabel]
ADD COLUMN/DROP COLUMN/RENAME/MODIFY
[kondisi];
Contoh :
- Menambah kolom
- Menghapus kolom
- Mengganti nama tabel
- Mengganti tipe data
dari kolom
ERD (ENTITAS
RELATIONSHIP DIAGRAM)
Entitas Relationship
adalah suatu cara memodelkan suatu data ditingkat konseprual dalam perancangan
basis data. Model Entity-Relationship merupakan alat modeling data yang populer
dan banyak digunakan oleh para perancang basis data.
Tujuan dari
pemodelan data adalah untuk menyajikan data dan menjadikan data mudah
dimengerti, sehingga mempermudah perancangan dan pengaksesan database.
ERD merupakan suatu
model untuk menjelaskan hubungan antar data dalam basis data berdasarkan
objek-objek dasar data yang mempunyai hubungan antar relasi.
Komponen ERD :
1.
Entitas
Entity merupakan objek yang
dapat dibedakan dengan yang lain dalam dunia nyata . Dalam entity ada yang
disebut sebagai Entity set yaitu kumpulan dari entity yang sejenis.
Contoh: tempat (ruangan ,
kantor, rumah, dll),kendaraan (mobi, motor, becak, dll) Entitas baisa
direpresentasikan dalam bentuk persegi panjang.
Misal :
- Entitas Mobil
2.
Atribut
Atribut adalah
karakteristik dari entity atau relationship, yang menyediakan penjelasan detail
tentang entiy atau relationship tersebut . atribut dalam ERD digambarkan dalam
bentuk oval.
Jenis Key :
-
Super Key
-
Candidat Key
-
Primary Key
3.
Relasi
Relasi adalah hubungan yang
terjadi antara satu atau lebih entity Relasi pada ERD biasa digambarkan dalam
bentuk belah ketupat
4.
Kardinailtas
Kardinalitas relasi
menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada
himpunan entitas lain.
-
Hubungan
Kardinalitas dengan transformasi ERD ke tabel serta foreign key
·
Foreign Key
Foreign Key adalah Sebuah kumpulan field dalam satu relasi yang digunakan
untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain
(harus berkorespondensi dengan primary key pada relasi yang kedua).
Foreign Key Akan terjadi
pada suatu relasi yang memiliki kardinalitas one to many atau many to many
§ Transformasi ERD ke Tabel
Model Entity Relationship
(ER) yang disajikan dengan Diagram ER (biasa disebut dengan ERD) bukanlah
sebuah basis data relasional. Karena itu, maka diperlukan proses transformasi
dari sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel
(atau relasi). Rancangan basis data relasional hasil transformasi sendiri
bergantung kepada desain awal ERD yang telah dibuat. Pada ERD terdapat 3
jenis kardinalitas, yaitu One To One, One To Many, dan Many To Many.
a.
One to one
Relasi tabel one-to-one (satu-satu) adalah relasi 2 tabel dengan
primary key (pk) dan foreign key(fk). Ini dilakukan dengan meletakkan kolom
one-to-one ke tabel baru. Sebetulnya relasi ini jarang digunakan.
Maka apabila di
transformasikan ke dalam tabel sebagai berikut :
Dosen : id_dosen,
id_matkul,kode_dosen, nama_dosen
MataKuliah : id_matkul, id_dosen,
kode_matkul, nama_matkul Keterangan : Tambahkan primary key pada setiap
entitas ke setiap pasangan.
b.
One to many
Relasi One to Many (satu ke banyak) terjadi apabila sebuah data
yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua.
Pada relasi ini hanya diizinkan sebuah data pada tabel pertama dan tabel kedua
boleh memiliki beberapa data yang sama dengan tabel pertama.
Contoh :
Maka, apabila
ditransformasi ke tabel menjadi :
Mahasiswa : id_pegawaai, nama ,
jabatan
Nilai : plat_nomor, jenis,
merk ,warna
Keterangan :
Primary key pada tabel One
(Pegawai) akan menjadi foreign key pada tabel Many (Mobil).
Foreign key adalah sebuah
kumpulan field dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke
suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan
primary key pada relasi yang kedua).
c.
Many to many
Relasi many to many (banyak
ke banyak) terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa
data yang sama pada tabel kedua, dan sebuah data yang ada pada tabel kedua juga
memiliki beberapa data yang sama pada tabel pertama. Pada relasi ini, tabel
pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua tabel
tersebut.
Maka, apabila
ditransformasikan pada tabel adalah sebagai berikut :
Mahasiswa : id_mahasiswa, nim,
nama
Mata_Kuliah: id_matkul,kode_matkul,
nama_matkul, kode_dosen
Mengambil : id_mahasiswa,
id_matkul Keterangan :
Pada relasi Many To Many
ini tabel relasi akan dibuat menjadi tabel dan atributnya adalah primary key
dari masing-masing tabel yang berelasi. Primary key pada tabel relasi akan
menjadi foreign key.
Contoh SQL (DDL)
dengan Foreign key :
DML - Data
Manipulation Language
Merupakan kumpulan perintah
SQL yang digunakan untuk proses
pengolahan isi data di
dalam tabel seperti memasukkan, merubah dan
menghapus isi data dan tidak
terkait dengan perubahan struktur dan
definisi tipe data dari
objek database.
Beberapa manfaat atau
kegunaan dari DML diantaranya adalah sebagai
berikut :
a. Pengambilan informasi
yang disimpan dalam basis data (Select)
b. Penyisipan informasi
baru ke basis data (Insert)
c. Penghapusan informasi
dari basis data (Delete)
d. Modifikasi informasi
yang disimpan dalam basis data (Update)
fungsi DML :
1. INSERT
Insert merupakan perintah
yang berfungsi untuk menyisipkan,
memasukkan dan
menyimpan data dari luar sistem ke dalam database.
Perintah insert memiliki 2
bentuk dasar yaitu :
a.
Cara langsung
Maksud cara langsung disini
yaitu kita tinggal memasukkan
data-data yang akan
dimasukkan, tanpa menyebutkan nama field
yang akan diisinya.
Contoh :
Penting :
Kalau kita memasukkan data
dengan cara seperti ini, maka harus tau betul
susunan field nya.
b.
Cara tak langsung
Maksud cara tak langsung,
jadi kita menyebutkan nama fieldnya
dahulu, baru memasukkan
datanya.
Contoh :
Cara ini lebih baik
dibandingkan dengan yang cara langsung, karena
kita dengan pasti menyusun
nama fieldnya dahulu baru
memasukkan datanya,
sehingga kita bisa dengan tepat
memasukkan datanya.
2. SELECT
Berfungsi untuk melakukan
pengambilan sejumlah data yang
ada di dalam table untuk ditampilkan ataupun
dimanipulasi.
SQL yang digunakan :
SELECT *from nama_tabel;
a.
Menampilkan seluruh isi
table
Select * from nama_tabel;
Contoh :
b. Menampilkan dengan
klausa where
SQL yang digunakan :
SELECT *from nama_tabel
where kondisi;
Contoh :
c. Menampilkan field
tertentu
SQL yang digunakan :
SELECT nama_field1, nama_field2,
...............from nama_tabel;
Contoh :
d. Menampilkan data dari
beberapa tabel
Perintah SELECT dapat
digunakan untuk menggabungkan
data dari 2 tabel yang
berbeda.
SQL yang digunakan :
SELECT tabel1.field,
tabel2.field, .....
FROM tabel1, tabel2,
.....
WHERE kondisi;
e. Penggunaan operator AND dan OR
Untuk menyaring data
tertentu dengan syarat lebih
dari satu dengan ketentuan
apabila semua syarat bernilai
benar barulah hasilnya
benar. Bentuk penggunaan :
SELECT * FROM nama_tabel WHERE kondisi1 AND kondisi2 AND kondisi3..;
SELECT * FROM nama_tabel WHERE kondisi1 OR kondisi2 OR kondisi3...;
Contoh :
f. Penggunaan oprator BETWEEN dan NOT BETWEEN
Digunakan untuk menyaring
data dengan rentang tertentu.
SQL yang digunakan :
SELECT * FROM nama_tabel WHERE field NOT BETWEEN batas_bawah AND
batas_atas ;
Contoh :
g. Penggunaan operator LIKE dan NOT LIKE
Untuk menseleksi data
dengan kriteria mengandung kata atau
klausa yang didefinisikan
oleh LIKE.
SELECT * FROM nama_tabel WHERE field LIKE ‘%....’;
SELECT * FROM nama_tabel WHERE field LIKE ‘....%’;
SELECT * FROM nama_tabel WHERE field LIKE ‘%....%’;
SELECT * FROM nama_tabel WHERE field NOT LIKE ‘%....’;
SELECT * FROM nama_tabel WHERE field NOT LIKE ‘....%’;
SELECT * FROM nama_tabel WHERE field NOT LIKE ‘%....%’;
Contoh :
h. Penggunaan order by
Digunakan untuk mengurutkan
data.
SELECT * FROM nama_tabel ORDER BY namafield;
Contoh :
i.Penggunaan operator ASC dan DESC
Untuk mengurutkan data yang
ditampilkan secara menaik atau menurun.
SELECT * FROM nama_tabel ORDER BY namafield ASC;
SELECT * FROM nama_tabel ORDER BY namafield DESC;
contoh :
3. UPDATE
Perintah ini digunakan
untuk memperbarui data lama menjadi data
terbaru. Disini perlu diingat
perintah update ini harus dikuti dengan
perintah WHERE sebagai
kondisi untuk menentukan data mana yang
akan diperbarui.
UPDATE nama_tabel SET
field1=nilai_baru, field2=nilai_baru, …..
WHERE kondisi;
Contoh :
4. DELETE
Perintah ini digunakan untuk
menghapus atau menghilangkan baris
data(record) dari table.
Penggunaan perintah ini juga harus
menggunakan WHERE sebagai
kondisi untuk menentukan data
mana yang akan dihapus.
DELETE FROM nama_tabel
WHERE kondisi;
Contoh :
AGGREGASI & GROUPING
Masih penasaran
dengan basis data dan sintak-sintak SQL? Bahkan mungkin sudah
ada yang mulai jatuh
cinta dengan bahasa-bahasa indah SQL. :D Tenang, kita masih akan
banyak belajar
beberapa hal terkait basis data. Setelah minggu lalu kita belajar perintah
DDL dan DML, pada
praktikum kali ini kita akan belajar tentang Aggregasi dan
Grouping, Pasti udah
gak sabar untuk mempelajarinya. Ok cekidot
AGGREGASI
Fungsi aggregsi
adalah fungsi matematika sederhana dalam SQL. Biasanya fungsi
aggregasi ini
digunakan pada bagian SELECT untuk melakukan perhitungan dengan
melibatkan
sekumpulan data atau nilai. Untuk lebih memahaminya, kita langsung kupas
satu persatu, Ada
beberapa fungsi aggregasi dalam MYSQL, diantaranya:
1. AVG()
Menghasilkan nilai
rata-rata sekelompok nilai dari sebuah kolom (field)
numerik.
Perintah umum: SELECT
AVG(nama_field) FROM nama_tabel;
Contoh:
2. COUNT()
Menghasilkan nilai
jumlah data (baris/record) dari sekelompok data tabel
maupun view.
Perintah umum: SELECT
COUNT(nama_field) FROM nama_tabel;
Contoh:
3. MAX()
Menghasilkan nilai
tertinggi sekelompok nilai dari sebuah kolom (field)
numerik.
Perintah umum: SELECT
MAX(nama_field) FROM nama_tabel;
Contoh:
4. MIN()
Menghasilkan nilai
terendah sekelompok nilai dari sebuah kolom (field)
numerik.
Perintah umum: SELECT
MIN(nama_field) FROM nama_tabel;
Contoh:
5. SUM()
Menghasilkan nilai
total jumlah sekelompok nilai dari sebuah kolom (field)
numerik.
Perintah umum: SELECT
SUM(nama_field) FROM nama_tabel;
Contoh:
6. STDDEV_POP()
Menghasilkan nilai
standart deviasi populasi dari expr.
Perintah umum: SELECT
STDDEV_POP(nama_field) FROM nama_tabel;
Contoh:
7. VAR_POP()
Menghasilkan nilai
standart varian populasi dari expr.
Perintah umum: SELECT
VAR_POP(nama_field) FROM nama_tabel;
Contoh:
6. ROUND()
Fungsi ini digunakan
untuk melengkapi bidang numerik dengan jumlah desimal yang
ditentukan.
Perintah: SELECT
ROUND(nama_field,jumlah_decimal) From nama_tabel
Contoh :
GROUPING
Ada beberapa jenis
grouping yaitu order by, group by, having, dan view.
1. Order by
Order by adalah
perintah yang digunakan untuk menampilkan data secara terurut
berdasarkan nilai
tertentu. Order by dikelompok menjadi 2 jeni yaitu ascending
(data diurutkan dari
yang terkecil ke terbesar) dan descending(data diurutkan dari
yang terbesar ke
terkecil)
Perintah umum:
SELECT *FROM
nama_tabel ORDER BY atribut ASC/DESC
Contoh:
2. Group by
Group by merupakan perinth
yang digunakan untuk mengelompokan beberapa data pada
perintah SELECT;
Perintah umum: SELECT *FROM nama_tabel
GROUP BY atribut
Contoh:
3. Having
Fungsi Having terkait
dengan GROUP BY dan AGREGASI. Biasanya digunakan untuk
menentukan kondisi tertentu
pada group by dan kondisi tersebut berkaitan dengan fungsi
agrgasi. Fungsi HAVING
sebenarnya memiliki kemiripan dengan WHERE dalam
penggunaannya. HAVING
digunakan dalam SQL karena WHERE tidak dapat digunakan
dengan fungsi agregasi.
Perintah Umum:
SELECT atribut FROM
nama_tabel GROUP BY atribut HAVING
fungsi_agregasi:
Contoh:
4. VIEW
View dapat disebut sebagai
sebuah table semu/bayangan. Data-data pada table view dapat
merupakan gabungan dari
data pada tabe-tabel lain. View dapat digunakan untuk
membatasi pengaksesan atas
sebuah table tertentu, jadi user hanya boleh melihat table
yang berisi data-data
secara spesifik.
Perintah umum:
CREATE VIEW
NAMA_VIEW AS<QUERY>
Contoh:
Terimakasih telah
mampir di blog muti J semoga dapat
bermanfaat bagi teman-teman sekalian yang memiliki kesulitan dalam materi DDL, DML, ERD, Agregasi dan Grouping J
Referensi :
Modul Basdat 2013, 2014
dan 2015 Tim Asisten Dosen Praktikum Basis Data UNIVERSITAS PENDIDIKAN INDONESIA