Jumat, 03 April 2015

BASIS DATA


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.

Berikut adalah contoh perintah DDL



Tipe Data

Tipe Data Bilangan

Tipe data tanggal, jam dan hari



Tipe data lainnya


Akses MySql

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



Lalu tekan Enter hingga keluar tampilan seperti :



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


Misal :


 






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.
Contoh :




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.


Contoh :


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 





Referensi :

Modul Basdat 2013, 2014 dan 2015 Tim Asisten Dosen Praktikum Basis Data UNIVERSITAS PENDIDIKAN INDONESIA