Guru Mapel :
Otong Daroji, S. Kom
NEXT
Kriteria Penilaian:
Kehadiran : 10 %
Tugas : 15 %
Keaktifan: 15 %
NIlai UTS : 30 % (Reg.)
Nilai UAS : 30 % (Reg.)
BACK NEXT
Definisi Basisdata
Beberapa definisi basisdata (database) adalah sbb:
Sekumpulan data store(bisa dalam jumlah besar)
yang tersimpan dalam magnetic disk, optical disk,
dan media penyimpan sekunder lainnya.
Sekumpulan program-program aplikasi umum yang
mengeksekusi dan memproses data secara umum
(hapus,cari,update,dll)
Basisdata terdiri dari data yang di-share bagi banyak
user dan memungkinkan penggunaan data yang
sama pada waktu bersamaan oleh banyak user
Koleksi terpadu dari data-data yang saling berkaitan
dari suatu enterprise.Mis. Basisdata RS akan terdiri
dari data-data seperti pasien, karyawan, dokter,
perawat, dll.
BACK NEXT
Definisi Perancangan Basisdata
Perancangan Database adalah proses untuk
menentukan isi dan pengaturan data yang
dibutuhkan untuk mendukung berbagai
rancangan sistem.
Tujuan Perancangan Database :
• untuk memenuhi informasi yang berisikan
kebutuhan-kebutuhan user secara khusus dan
aplikasi-aplikasinya.
• memudahkan pengertian struktur informasi.
• mendukung kebutuhan-kebutuhan pemrosesan
dan beberapa obyek penampilan (response
time, processing time, dan storage space)
BACK NEXT
Proses Perancangan Database
6 Fase proses perancangan database :
1. Pengumpulan data dan analisis
2. Perancangan database secara konseptual
3. Pemilihan DBMS
4. Perancangan database secara logika (data model
mapping)
5. Perancangan database secara fisik
6. Implementasi Sistem database.
BACK NEXT
Fase 1 :
Pengumpulan data dan analisa
BACK NEXT
Aktifitas-aktifitas pengumpulan data
dan analisa :
BACK NEXT
Fase 2 :
Perancangan database konseptual
BACK NEXT
Aktifitas paralel perancangan database
secara konseptual :
1. Perancangan skema konseptual :
menguji kebutuhan-kebutuhan data dari suatu
database yang merupakan hasil dari fase
1, dan menghasilkan sebuah conceptual
database schema pada DBMS independent
model data tingkat tinggi seperti EER
(enhanced entity relationship) model.
2. Perancangan transaksi :
menguji aplikasi-aplikasi database dimana
kebutuhan-kebutuhannya telah dianalisa pada
fase 1, dan menghasilkan perincian transaksi-
transaksi ini.
BACK NEXT
Fase 3 :
Pemilihan DBMS
Pemilihan database ditentukan oleh beberapa faktor, diantaranya:
1. Struktur data
Jika data yang disimpan dalam database mengikuti struktur
hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.
2. Personal yang telah terbiasa dengan suatu sistem
Jika staf programmer dalam suatu organisasi sudah terbiasa
dengan suatu DBMS, maka hal ini dapat mengurangi biaya
latihan dan waktu belajar.
3. Tersedianya layanan penjual
Keberadaan fasilitas pelayanan penjual sangat dibutuhkan
untuk membantu memecahkan beberapa masalah sistem.
4. Teknik
Keberadaan DBMS dalam menjalankan tugasnya seperti jenis
-jenis DBMS (relational, network, hierarchical, dll), struktur
penyimpanan, dan jalur akses yang mendukung DBMS,
pemakai, dll.
BACK NEXT
Fase 4 :
Perancangan database secara
logika (pemetaan model data)
Fase selanjutnya dari perancangan database adalah
membuat sebuah skema konseptual dan skema eksternal
pada model data dari DBMS yang terpilih. Fase ini
dilakukan oleh pemetaan skema konseptual dan skema
eksternal yang dihasilkan pada fase 2. Pada fase ini,
skema konseptual ditransformasikan dari model data
tingkat tinggi yang digunakan pada fase 2 ke dalam
model data dari DBMS yang dipilih pada fase 3.
BACK NEXT
Pemetaan diproses dalam 2 tingkat :
1. Pemetaan system-independent :
Pemetaan ke dalam model data DBMS dengan tidak
mempertimbangkan karakteristik atau hal-hal yang
khusus yang berlaku pada implementasi DBMS dari
model data tsb.
2. Penyesuaian skema ke DBMS yang spesifik :
mengatur skema yang dihasilkan pada langkah 1
untuk disesuaikan pada implementasi yang khusus di
masa yang akan datang dari suatu model data yang
digunakan pada DBMS yang dipilih.
BACK NEXT
Fase 5 :
Perancangan database fisik
Perancangan database secara fisik merupakan proses
pemilihan struktur-struktur penyimpanan dan jalur-jalur
akses pada file-file database untuk mencapai penampilan
yang terbaik pada bermacam-macam aplikasi.
Selama fase ini, dirancang spesifikasi-spesifikasi untuk
database yang disimpan yang berhubungan dengan
struktur-struktur penyimpanan fisik, penempatan record
dan jalur akses.
BACK NEXT
Petunjuk pemilihan perancangan
database secara fisik :
1. Response time
Waktu yang telah berlalu dari suatu transaksi database yang diajukan
Untuk menjalankan suatu tanggapan. Pengaruh utama pada response
time adalah di bawah pengawasan DBMS yaitu : waktu akses database
untuk data item yang ditunjuk oleh suatu transaksi.
Response time juga dipengaruhi oleh beberapa faktor yang tidak
berada di bawah pengawasan DBMS, seperti penjadwalan sistem
operasi atau penundaan komunikasi.
2. Space Utility
Jumlah ruang penyimpanan yang digunakan oleh file-file database dan
struktur-Struktur jalur akses.
3. Transaction throughput :
Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem
database, dan merupakan parameter kritis dari sistem transaksi (misal,
digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari
fase ini adalah penentual awal dari struktur penyimpanan dan jalur
akses untuk file-file database.
BACK NEXT
Fase 6 :
Implementasi sistem database
Setelah perancangan secara logika dan secara fisik lengkap,
kita dapat melaksanakan sistem database. Perintah-perintah
dalam DDL dan SDL(storage definition language) dari DBMS
yang dipilih, dihimpun dan digunakan untuk membuat skema
database dan file-file database (yang kosong) kemudian
database tsb dimuat (disatukan) dengan datanya.
Jika data harus dirubah dari sistem komputer sebelumnya,
perubahan-perubahan yang rutin mungkin diperlukan untuk
format ulang datanya yang kemudian dimasukkan ke
database yang baru. Transaksi-transaksi database sekarang
harus dilaksanakan oleh para programmmer aplikasi.
BACK NEXT
ALASAN PERANCANGAN
BASIS DATA
Sistem basis data telah menjadi bagian dalam
sistem informasi suatu organisasi
Kebutuhan menyimpan data dl jumlah besar
semakin mendesak
Fungsi-fungsi dalam organisasi semakin
dikomputerisasikan
Semakin kompleks data & aplikasi yg digunakan,
maka relationship antar data harus dimodelisasikan
Dibutuhkannya kemandirian data
KONVERSI & LOADING DATA
Tahap ini dilakukan apabila sistem basis
data yg ada digantikan sistem basis data
baru
Semua data yg ada ditransfer ke basis
data baru & konversi aplikasi yg ada utk
basis data baru
PENGOPERASIAN & PERAWATAN
Pengoperasian basis data setelah
divalidasi
Memonitor kinerja sistem, jika tidak
sesuai perlu reorganisasi basis data
Perawatan & upgrade sistem aplikasi
basis data jika diperlukan.
Model Konseptual Basis Data
Model konseptual merupakan kombinasi beberapa cara untuk
memproses data untuk beberapa aplikasi. Pada perancangan model
konseptual basis data ini penekanan dilakukan pada struktur data dan
relasi antara field.
Pada perancangan model konseptual ini dapat dilakukan dengan
menggunakan model data relasional.
BACK NEXT
Teknik Normalisasi
Proses normalisasi adalah proses pengelompokan data elemen menjadi
tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi
dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat
menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu
Basis data.
Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi
pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum
optimal.
Contoh:
- Tabel usermanager yang dapat dinormalisasi ke beberapa aplikasi.
BACK NEXT
Entity
Entity atau entitas, dalam basis data entity
sama halnya dengan sebuah tabel.
BACK NEXT
Atribut
Atribut, dalam basis data sama halnya
dengan field.
BACK NEXT
Jenis Atribut
Atribut Sederhana
Atribut Komposit
Atribut Bernilai Tunggal
Atribut Bernilai Jamak
Atribut Harus Bernilai
Atribut Bernilai Null
Atribut Turunan
BACK NEXT
Atribut Sederhana
Atribut Sederhana : atribut sederhana merupakan atribut atomik
yang tidak dapat lagi dipecah menjadi atribut lain.
Contoh:
Entitas siswa mempunyai atribut sederhana berupa NISN, Nama
Siswa .
BACK NEXT
Atribut Komposit
Atribut Komposit : atribut komposit merupakan atribut yang masih
dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti
tesendiri.
Contoh:
Entitas siswa mempunyai atribut alamat. Maka alamat disini dapat
dipecah menjadi sub atribut seperti kota, kab, kode_pos.
Entitas dosen mempunyai atribut nama_dosen. Maka nama disini dapat
dipecah menjadi sub atribut lain seperti glr_dpn, nama, glr_blk.
BACK NEXT
Atribut Bernilai Tunggal
Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuk
setiap barisnya.
Contoh:
entitas siswa mempunyai atribut NIM, nama, alamat isi data
dari atribut ini hanya boleh diisi dengan 1 data.
Setiap mahasiswa hanya memiliki 1 NIM, 1 Nama, 1 Alamat.
BACK NEXT
Atribut Bernilai Jamak
Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari
satu nilai untuk setiap barisnya.
Contoh:
entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini
boleh lebih dari 1 data. Siswa Roshita memiliki NISN 04102002
beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,
Nyanyi, Masak dan Nonton TV)
BACK NEXT
Atribut Harus Bernilai (not null)
Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data
untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan
dalam perancangan tabelnya sehingga jika dalam pengisian di kosongi
akan terjadi kesalahan.
Contoh:
entitas siswa mempunyai atribut NISN dan nama_siswa yang harus diisi
datanya, sebab jika tidak diisi akan terjadi kesalahan (error) dalam basis data
BACK NEXT
Atribut Bernilai Null (is null)
Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data
untuk setiap barisnya (0).
Contoh:
entitas siswa mempunyai atribut hobby, nama_pacar yang boleh tidak terisi.
BACK NEXT
Atribut Turunan
Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.
Contoh:
entitas siswa mempunyai atribut Transkrip Nilai yang diperoleh dari
pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NISN
siswa yang sama dan diproses sehingga menghasilkan Transkrip Nilai
untuk siswa yang bersangkutan.
BACK NEXT
QUIZ I:
“Kerjakan Sesuai dengan Analisis Anda Masing-masing”
1. Jelaskan dengan bahasa Anda sendiri, tentang Fase Proses
Perancangan Database!
2. Menurut Pendapat Anda, apakah penggunaan perancangan
database mutlak digunakan dalam proses pembuatan
sistem informasi? Jelaskan Alasannya?
3. Buatlah 5 contoh yang lain tentang:
atribut sederhana
atribut komposit
atribut bernilai tunggal
atribut bernilai jamak
atribut harus bernilai (not null)
atribut bernilai null (is null)
atribut turunan
BACK NEXT
Soal
Buatlah contoh yang lain tentang:
atribut sederhana
atribut komposit
atribut bernilai tunggal
atribut bernilai jamak
atribut harus bernilai (not null)
atribut bernilai null (is null)
atribut turunan
BACK NEXT
Field (Atribut) Kunci
setiap field selalu terdapat kunci berupa field atau satu set field
yang dapat mewakili record.
Misalnya Nomor Induk Siswa (NISN) merupakan
kunci dari tabel siswa suatu Perguruan Tinggi, setiap pencarian
cukup dengan menyebut NISN siswa tersebut maka dapat diketahui
identitas siswa lainnya seperti nama, alamat dan atribut lainnya.
Contoh lain:
Nomor Pegawai (NIDN) bagi data dosen, NIK untuk data karyawan,
Kode_MApel untuk data Mata Pelajaran, dan lain sebagainya.
BACK NEXT
Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau satu set atribut yang
mengidentifikasikan secara unik suatu kejadian spesifik dari entity.
Satu set atribut menyatakan secara tidak langsung dimana anda tidak
dapat membuang beberapa atribut dalam set tanpa merusak
kepemilikan yang unik.
BACK NEXT
Kunci Kandidat (Candidate Key)
Contoh: Kunci kandidat dalam tabel pegawai di disamping
dapat dipilih sbb :
Tabel pegawai berisi field: nik
nik no_ktp
no_ktp nama_pegawai (tidak dapat dipakai karena
sering seseorang punya nama yang
nama_pegawai sama dengan orang lain)
tmp_lahir tmp + tgl Lahir (mungkin bisa dipakai
sebagai kunci karena kemungkinan orang
tgl_lahir
dengan nama yang sama dan tanggal lahir
alamat yang
kota sama cukup kecil)
nama + tmp + tgl_lahir (dapat dipakai
sebagai kunci)
alamat dan kota (bukan kunci)
BACK NEXT
Kunci Kandidat (Candidate Key)
Contoh Kasus:
Tentukan Kunci Kandidat dari tabel tersebut
Tabel mt_kuliah berisi field: Kunci kandidat dalam tabel mt_kuliah di disamping
id_matkul dapat dipilih sbb :
id_matkul
kode_matkul
kode_matkul
nama_matkul nama_matkul (mungkin bisa dipakai sebagai
kurikulum kunci karena kemungkinan nama matkul
dengan yang lain ada perbedaan)
semester kurikulum + semester + sks +
sks nilai_minimum (tidak dapat dipakai karena
sering matkul punya data yang
nilai_minimum
sama dengan matkul lain)
BACK NEXT
Kunci Primer (Primary Key)
Primary key adalah satu atribut atau satu set minimal atribut yang tidak
hanya mengidentifikasi secara unik suatu kejadian spesifik, tetapi juga dapat
mewakili setiap kejadian dari suatu entity.
Catatan:
Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknya
dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang
ada.
BACK NEXT
Kunci Primer (Primary Key)
Contoh :
nik (karena sifatnya yang unik maka tidak mungkin pegawai
mempunyai Nomor Induk Karyawan yang sama).
no_ktp (bisa dipakai misalnya untuk pegawai yang baru belum
mendapatkan nomor pegawai maka bisa digunakan nomor KTP
untuk sementara sebagai kunci primer.
kode_mtkuliah (bisa dipakai untuk data mata kuliah karena kode
mata kuliah bersifat unik untuk tiap mata kuliah)
BACK NEXT
Kunci Primer (Primary Key)
Contoh Kasus:
Tentukan Kunci Primer dari tabel tersebut
Tabel mt_pelajaran berisi field:
id_mapel
kode_ mapel
nama_ mapel
kurikulum
semester
Jml_jam
nilai_minimum
BACK NEXT
Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat yang tidak
dipakai sebagai kunci primer.
Kunci alternatif ini sering digunakan untuk kunci
pengurutan misalnya dalam membuat laporan.
BACK NEXT
Kunci Alternatif (Alternate Key)
Contoh Kasus:
Tentukan Kunci Alternatif dari tabel tersebut
Tabel krs berisi field:
no_krs
id_matkul
nim
nilai_angka
nilai_huruf
lulus
BACK NEXT
Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut atau satu set minimal atribut yang
melengkapi satu hubungan yang menunjukkan ke induknya.
kunci tamu ditempatkan pada entity anak dan sama dengan kunci
primer induk yang direlasikan.
Hubungan antara entity induk dengan anak adalah hubungan
satu lawan banyak (one to many relationship)
BACK NEXT
Kunci Tamu (Foreign Key)
Contoh Kasus:
Tentukan Kunci Tamu dari tabel tersebut
BACK NEXT
Kamus Data
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mahasiswa
Fungsi : menyimpan data mahasiswa
BACK NEXT
Soal
Buatlah contoh kamus data yang lain,
yang bertemakan akademik?.....
Syarat: minim 3 table & 5 field
BACK NEXT
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : dosen
Fungsi : menyimpan data profil dosen
Nama Field Tipe Panjang Keterangan
Karakter
id Integer 3 Primary Key
nidn Varchar 15 Unique
glr_dpn Varchar 15
nama Varchar 20
glr_blk Varchar 15
jab_akademik Varchar 50
telp Varchar 30
email Varchar 30
BACK NEXT
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mt_kuliah
Fungsi : menyimpan data mata kuliah
Nama Field Tipe Panjang Keterangan
Karakter
id Integer 3 Primary Key
mtk_kode Varchar 10
mtk_nama Varchar 30
sks Char 1
semester Char 1
kurikulum Char 9
nilai_min Char 1
BACK NEXT
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mtk_open
Fungsi : menyimpan data mata kuliah yang dibuka
Nama Field Tipe Panjang Keterangan
Karakter
id Integer 10 Primary Key
mtk_id Integer 3
dosen_id Integer 3
thn_ajaran Char 9
aktif Char 1
BACK NEXT
ERD (Entity Relationship Diagram)
ERD merupakan suatu model untuk
menjelaskan hubungan antar data
dalam basis data berdasarkan objek-
objek dasar data yang mempunyai
hubungan antar relasi.
BACK NEXT
ERD (Entity Relationship Diagram)
Symbol
ERD untuk memodelkan struktur data dan hubungan antar data, untuk
menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya
ada tiga simbol yang digunakan, yaitu :
a. Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya
digambarkan dengan persegi panjang.
b. Atribut Setiap entitas pasti mempunyai elemen yang disebut atribut yang
berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari
atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu
dengan yang lain. Gambar atribut diwakili oleh simbol elips.
c. Hubungan / Relasi Hubungan antara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda.
BACK NEXT
ERD (Entity Relationship Diagram)
Relasi
entitas 1 entitas 1
entitas 2 entitas 2
entitas 3 entitas 3
entitas 4 entitas 4
BACK NEXT
ERD (Entity Relationship Diagram)
Relasi
Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, tetapi setiap
entitas pada entitas B dapat berhubungan dengan satu entitas
pada himpunan entitas A.
A B
entitas 1
entitas 1
entitas 2
entitas 2 entitas 3
entitas 3 entitas 4
entitas 5
BACK NEXT
ERD (Entity Relationship Diagram)
Relasi
Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B.
A B
entitas 1 entitas 1
entitas 2 entitas 2
entitas 3 entitas 3
entitas 4 entitas 4
BACK NEXT
ERD (Entity Relationship Diagram)
Symbol
Symbol Arti
Persegi panjang, menyatakan himpunan
E Entitas E.
BACK NEXT
ERD (Entity Relationship Diagram)
Keterangan :
Banyak pegawai bekerja pada satu
departemen.
BACK NEXT
ERD (Entity Relationship Diagram)
Contoh Kasus :
1. Sebuah perusahaan retail memiliki banyak
pelanggan yang telah memesan sejumlah
barang produksi.
Gambarkan diagram ER dari proses transaksi
pembelian tersebut dan buatkan tabel-
tabelnya!
SOLUSI
ER Diagram :
1 N
PELANGGAN Order BARANG
Proses
PENJUALAN
Keterangan:
Satu pelanggan dapat memesan banyak barang.
Banyak barang dapat diproses pada satu kali penjualan.
SOLUSI
Tabel :
Operasi Dasar Basis Data
1. Pembuatan basis data baru (create new database), yang identik dengan pembuatan
lemari arsip yang baru.
2. Penghapusan basis data (drop database), identik dengan perusakan nilai arsip
sekaligus dengan isinya.
3. Pembuatan file/tabel baru ke suatu basis data (create table), identik dengan
penambahan map arsip baru ke dalam lemari arsip yang telah ada.
4. Penghapusan file/tabel dari suatu basis data (drop table), yang identik dengan
perusakan map arsip lama yang ada di dalam lemari arsip.
5. Penambahan atau pengisian data baru ke dalam field/tabel di sebuah basis data
(insert), identik dengan penambahan lembaran arsip ke sebuah map arsip.
6. Pengambilan data dari field/tabel (retrieve/search), yang identik dengan pencarian
lembaran arsip dari sebuah map arsip.
7. Pengubahan data dari sebuah field/tabel (update), identik dengan perbaikan isi
lembaran arsip yang ada di sebuah map arsip.
8. Penghapusan data dari sebuah field/tabel (delete), identik dengan penghapusan
sebuah lembaran arsip yang ada di sebuah map arsip.
BACK NEXT
SQL
Menggunakan Structures Query Language (SQL)
SQL adalah bahasa standar database yang digunakan untuk
query, manipulasi dan memperbarui RDBMS. Karena semakin
banyak organisasi yang memutuskan untuk
mengkonsolidasikan
database mereka ke dalam sistem seluas usaha, pengetahuan
mengenai SQL akan menjadi kebutuhan untuk para
perancang database.
BACK NEXT
Bahasa Basisdata
Sebuah bahasa basisdata (database languange) dapat dipilah
ke dalam 2 bentuk, yaitu :
BACK NEXT
SQL
DDL (Data Definition Language):
CREATE DATABASE data;
CREATE TABLE nama_tabel;
SHOW TABLES;
ALTER TABLE nama_tabel_lama RENAME
nama_tabel_baru;
ALTER TABLE nama_tabel CHANGE
field_lama field_baru type_data
(panjang)
BACK NEXT
Bahasa Basisdata
2. Data Manipulation Language (DML)
Berguna untuk melakukan manipulasi dan pengambilan data
pada suatu basis data. Manipulasi data dapat berupa :
>> Penyisipan/penambahan data baru, penghapusan data
dan pengubahan data.
BACK NEXT
SQL
BACK NEXT
SQL
BACK NEXT
SQL
Command SQL:
Perintah Keterangan
CREATE Membuat tabel atau field
ALTER Mengubah tabel dengan menambah field atau mengubah
definisi field
DROP Men-DROP tabel
SELECT Mendefinisikan recordset, data apa yang akan
ditampilkan dari database
INSERT Menyisipkan recordset
UPDATE Mengubah recordset
DELETE Menghapus recordset
BACK NEXT
SQL
Ketika menggunakan query, Anda dapat menggunakan klausa berikut
untuk diimplementasikan dalam statement SQL.
Klausa SQL:
Klausa Keterangan
FROM Menentukan tabel mana yang datanya akan ditampilkan
WHERE Menentukan kondisi query
GROUP BY Menentukan grup / kelompok dari informasi yang dipilih
HAVING Digunakan bersama GROUP BY untuk menentukan
kondisi untuk tiap grup dalam query
ORDER BY Menentukan urutan (sort) data dari query
BACK NEXT
Loop
Entity = Tabel
Atribut = Field
Recordset = Record = Data = Baris data
BACK NEXT
Resep SQL di MySQL (DDL)
Membuat Database
Sintaks:
CREATE DATABASE ‘nama_database’;
--resep_01
CREATE DATABASE ‘db_akademik’;
Catatan:
Dalam membuat database usahakan jangan gunakan spasi
Gunakan huruf kecil semua, untuk memudahkan mengingat
string database kita dalam berprogramming
BACK NEXT
Resep SQL di MySQL (DDL)
Membuat Table
Sintaks:
CREATE TABLE nama_table (
nama_kolom1 tipe_data [nilai_default] [constraint kolom]
………………….. …………… .…………………. ………………………..
);
--resep_02
CREATE TABLE buku (
isbn char(10) PRIMARY KEY,
judul varchar(50) NOT NULL,
penerbit varchar(50) NOT NULL
);
BACK NEXT
Resep SQL di MySQL (DDL)
Mengetahui Struktur Tabel:
BACK NEXT
Resep SQL di MySQL (DDL)
Contoh latihan CREATE TABLE:
-- contoh_03
-- NOTE: klausa check hny dikenal di MySQL 4.0 ke atas
CREATE TABLE siswa (
id INT PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(128) NOT NULL,
jenis_kel CHAR(1) NOT NULL CHECK (jenis_kel=‘L’ OR
jenis_kel=‘P’),
tmplahir VARCHAR(50) NOT NULL,
tgllahir DATE NOT NULL
) ENGINE=InnoDB;
BACK NEXT
Resep SQL di MySQL (DDL)
Soal: (Tuliskan dengan SQL)
Buatlah database dengan nama ->
db_kemahasiswaan
Buatlah tabel mahasiswa dengan struktur sebagai
berikut:
Nama Field Tipe Data Keterangan
BACK NEXT
Resep SQL di MySQL (DDL)
Manajemen Table
Merubah Field
Sintaks:
ALTER TABLE nama_table CHANGE COLUMN
field_lama field_baru tipe_data kriteria;
BACK NEXT
Resep SQL di MySQL (DDL)
Manajemen Table
Nama Tabel: mahasiswa
Merubah Field, nim -> id_siswa
Sintaks:
ALTER TABLE mahasiswa CHANGE COLUMN nim
id_siswa VARCHAR(8) NOT NULL;
BACK NEXT
Resep SQL di MySQL (DDL)
Soal: (Tuliskan dengan SQL)
Nama Tabel: tbl_pegawai
Merubah Field, nip -> id_pegawai
BACK NEXT
Resep SQL di MySQL (DDL)
Menghapus Data dari Tabel
TRUNCATE nama_tabel;
BACK NEXT
Resep SQL di MySQL (DDL)
Menghapus Tabel
BACK NEXT
DML (Data Manipulation Language)
SELECT nama_field FROM nama_tabel
INSERT INTO nama_tabel (field1,field2,…)
VALUES
(nilai1,nilai2,…)
UPDATE nama_tabel SET field1=nilai1,….
DELETE FROM nama_tabel WHERE
field1=nilai1
BACK NEXT
SQL SELECT / FROM (DML)
State. SELECT / FROM, untuk menampilkan data dari suatu field,
dapat digunakan satu atau lebih tabel.
Sintaks:
BACK NEXT
SQL SELECT / FROM
SELECT nama_field FROM nama_tabel
Nama Tabel: mhs
*) Tampilkan semua data dari field nim dan nama dari tabel mhs?...
BACK NEXT
SQL SELECT / FROM / ORDER
Klausa ORDER, terdiri dari:
ASC -> mengurutkan dari nilai kecil ke
besar
DESC -> mengurutkan dari nilai besar ke
kecil
Sintaks:
SELECT nama_field FROM nama_tabel ORDER BY
nama_field ASC / DESC
BACK NEXT
SQL SELECT / FROM / ORDER
SELECT nama_field FROM nama_tabel ORDER BY
nama_field ASC / DESC
Nama Tabel: mhs
*) Tampilkan data dari field nim dan nama dari tabel mhs dari nim
terbesar ke terkecil?...
BACK NEXT
SQL SELECT / FROM / WHERE
Klausa WHERE digunakan untuk menampilkan
record yang memenuhi kondisi tertentu.
Sintaks:
SELECT nama_field FROM nama_tabel WHERE
kondisi
BACK NEXT
SQL SELECT / FROM / WHERE
Klausa Where menggunakan operator sbb:
OPERATOR PENJELASAN
< Isi field lebih kecil dari suatu nilai
<= Isi field lebih kecil atau sama dengan dari suatu nilai
> Isi field lebih besar dari suatu nilai
>= Isi field lebih besar atau sama dengan dari suatu nilai
= Isi field sama dengan dari suatu nilai
<> Isi field tidak sama dengan dari suatu nilai
BETWEEN Isi field di antara suatu range
LIKE Isi field sesuai dengan pola tertentu
IN Isi field sesuai dengan satu atau dari beberapa kriteria
BACK NEXT
SQL SELECT / FROM / WHERE
SELECT nama_field FROM nama_tabel WHERE kondisi
*) Tampilkan semua data yang mempunyai jenis kelamin =‘P’ dari tabel mhs?...
BACK NEXT
Studi Kasus (SELECT)
Nama Tabel: mhs
nim nama alamat prodi
01 ARI. W SURABAYA SISTEM INFORMASI
02 DEDI .K SIDOARJO SISTEM KOMPUTER
03 ARI. P SURABAYA SISTEM INFORMASI
04 AMINUDIN SURABAYA SISTEM INFORMASI
05 RIZA .F LAMONGAN SISTEM KOMPUTER
Tampilan Data yang Mempunyai NIM=“04”
Tampilkan Data Mahasiswa yang Mempunyai nama “ARI”
Tampilkan Data Mahasiswa yang Mempunyai alamat “SURABAYA”
Tampilkan Data Mahasiswa yang Mempunyai NIM “02” – “04”
Tampilkan Data Mahasiswa yang Selain NIM “01”
Berapa Jumlah Data Mahasiswa yang prodi: “SISTEM INFORMASI”
Berapa Jumlah Data Mahasiswa yang alamat: “SURABAYA”
BACK NEXT
Resep SQL di MySQL
Mengambil Substring
LEFT(str,jml_str)
MID(str,awal_posisi,akhir_posisi)
RIGHT(str,jml_str)
BACK NEXT
Resep SQL di MySQL
Menggabungkan String
Untuk menggabungkan string digunakan operator || atau
or. Sebagai gantinya gunakan fungsi CONCAT(str1,str2,…)
BACK NEXT
Resep SQL di MySQL
Select (UCase & LCase)
UCase -> Mengubah semua teks
menjadi huruf besar
LCase -> Mengubah semua teks
menjadi huruf kecil
BACK NEXT
Resep SQL di MySQL
Pembulatan:
FLOOR(bil) -> pembulatan ke bawah
CEIL(bil) -> pembulatan ke atas
ROUND(bil) -> pembulatan normal
BACK NEXT
Resep SQL di MySQL
Nama Table: angka
x
1.49
1.5
1.7
2.5
-2.5
-203.4777
153.6565
BACK NEXT
Resep SQL di MySQL
mysql> SELECT x, FLOOR(x) as f, CELL(x) as c,
ROUND(x) as r FROM angka;
x f c r
1.49 1 2 1
1.5 1 2 2
1.7 1 2 2
2.5 2 3 3
-2.5 -3 -2 -2
-203.4777 -204 -203 -203
153.6565 153 154 154
BACK NEXT
Resep SQL di MySQL
Menggunakan SELECT sebagai CALCULATOR
mysql> SELECT 1+1;
BACK NEXT
Resep SQL di MySQL
Fungsi Agregat:
SUM() -> Jumlah
AVG() -> Rata - rata
MAX() -> Nilai Terbesar
MIN() -> Nilai Terkecil
i
1
2
1
3
3
BACK NEXT
Resep SQL di MySQL
MAX(), MIN(), COUNT(), SUM(), AVG()
CREATE TABLE angka (i int);
INSERT INTO angka VALUES (1);
INSERT INTO angka VALUES (2);
INSERT INTO angka VALUES (3);
INSERT INTO angka VALUES (4);
INSERT INTO angka VALUES (5);
INSERT INTO angka VALUES (6);
INSERT INTO angka VALUES (7);
BACK NEXT
Resep SQL di MySQL
MAX(), MIN(), COUNT(), SUM(), AVG(),
SOAL?....
menghitung jumlah baris di tabel angka
menghitung jumlah angka yang genap
menghitung total jumlah semua angka
menghitung total jumlah angka yang ganjil
angka terkecil dan terbesar
rata-rata angka
rata-ratakan angka, tetapi jangan masukkan dalam
perhitungan jika angka <> 4
BACK NEXT
Resep SQL di MySQL
MAX(), MIN(), COUNT(), SUM(), AVG()
--menghitung jumlah baris di tabel angka
mysql> SELECT COUNT(i) FROM angka;
--rata-rata angka
mysql> SELECT AVG(i) FROM angka;
--rata-ratakan angka, tetapi jangan masukkan dalam perhitungan jika angka <> 4
mysql> SELECT AVG(i) FROM angka WHERE i <> 4;
BACK NEXT
Resep SQL di MySQL
WITH ROLLUP
GROUP By di MySQL dan beberapa database lain memberi opsi WITH
ROLLUP. Dengan Opsi ini, database akan menambahkan satu baris
berisi total, Contoh:
BACK NEXT
Resep SQL di MySQL
Soal:
Mencari Nilai Kuadrat dari masing-masing id?...
id
1
2
3
4
5
6
BACK NEXT
Resep SQL di MySQL
Soal:
Mencari Nilai Kuadrat dari masing-masing id yang bernilai
ganjil?...
id
BACK NEXT
Resep SQL di MySQL
Soal:
Mencari Nilai Kuadrat dari masing-masing id yang bernilai
genap?...
id
BACK NEXT
Resep SQL di MySQL
Soal:
Kelompokkan Data Karyawan berdasarkan jumlah karyawan
yang mendapatkan nilai gaji yang sama.
NIK NAMA_KAR NILAI_GAJI
01 ABC 700000
02 DEF 800000
03 GHI 700000
04 JKL 800000
05 MNO 700000
06 PQR 850000
BACK NEXT
Resep SQL di MySQL
Menggabungkan 2 Tabel
SELECT nama_tabel1.nama_field,nama_tabel2.nama_field
FROM nama_table
WHERE kondisi relasi tabel1 dengan tabel2
BACK NEXT
Resep SQL di MySQL
Menggabungkan 2 Tabel
INNER JOIN: akan memanggil record yang matching
/cocok dari kedua sisi JOIN.
RIGHT JOIN: jika ingin menampilkan semua record
dari field tabel kedua (kanan) meskipun tidak cocok
dengan nilai pada field tabel pertama (kiri).
LEFT JOIN: kebalikan dari RIGHT JOIN
BACK NEXT
Resep SQL di MySQL
Menggabungkan 2 Tabel
STUDI KASUS
SINKRONISAI ACCESS 2 MySQL
BACK NEXT
Resep SQL di MySQL
INSERT INTO
Perintah SQL INSERT adalah cara utama
diSQL untuk menambahkan baris baru
kedalam tabel.
perintah:
INSERT INTO nama_tabel VALUES (‘nilai1’,’nilai2’,….)
INSERT INTO nama_tabel (field1,field2,…) VALUES
(‘nilai1’,’nilai2’,….)
BACK NEXT
Resep SQL di MySQL
INSERT IGNORE INTO
Opsi IGNORE untuk INSERT diperkenalkan
oleh MySQL dan tidak dikenal pada standar
SQL. Opsi IGNORE akan membatalkan
perintah INSERT yang bersangkutan jika
ternyata penambahan baris melanggar
unique atau Primary Key.
BACK NEXT
Resep SQL di MySQL
INSERT IGNORE INTO
misal:
INSERT INTO t1 (1,’satu’);
akan menghasilkan pesan kesalahan karena
melanggar unique, dikarenakan sudah ada
baris yg nilainya 1. Maka gunakan:
INSERT IGNORE INTO t1 (1,’satu’);
jika sebuah tabel tidak mengandung unique
atau PK, maka INSERT IGNORE menjadi
ekivalen dengan INSERT biasa.
BACK NEXT
Resep SQL di MySQL
REPLACE INTO
REPLACE INTO nama_tabel (field1,field2,….) VALUES
(‘nilai1’,’nilai2’,….)
REPLACE INTO pada dasarnya sama dengan INSERT,
namun memiliki kelakuan jika penambahan baris baru
melanggar unique atau PK, maka baris sebelumnya
akan diganti dengan baris baru.
BACK NEXT
Resep SQL di MySQL
Kesimpulan:
REPLACE INTO sifatnya berlawanan dengan INSERT
IGNORE INTO.
INSERT IGNORE INTO akan membiarkan baris lama
yang sudah ada, REPLACE INTO akan mengganti
dengan baris baru.
BACK NEXT
Resep SQL di MySQL
Contoh latihan:
CREATE TABLE t2 (i INT PRIMARY KEY, s VARCHAR(32) NOT
NULL);
INSERT INTO t2 VALUES (1,’Bandung’);
-- gagal melanggar PK
INSERT INTO t2 VALUES (1,’Jakarta’);
BACK NEXT
Resep SQL di MySQL
INSERT dengan MULTIPLE RECORD
Catatan:
Jumlah field Table Source dan Destination harus sama
BACK NEXT
Resep SQL di MySQL
Menghapus Data dari Tabel
BACK NEXT
QUIZ II
Kerjakan sesuai dengan analisis & kemampuan Anda masing-masing:
A. Buatlah Database, dengan perintah SQL (20)
B. Buatlah Table (beserta atribut key, minim. 3 tabel) yang berelasi, dengan perintah
SQL (20)
C. Dari Table tersebut isikan data minim. 10 record / baris data (10)
D. Kerjakan dengan perintah SQL dari statement berikut:
1. Tampilkan semua data dari tabel master (5)
2. Tampilkan data pada tabel master dengan menggunakan klausa WHERE (5)
3. Tampilkan data pada tabel master dengan menggunakan klausa ORDER BY (5)
4. Tampilkan data pada tabel transaksi dengan menggunakan klausa GROUP BY (5)
5. Tampilkan data pada tabel master dengan menggunakan klausa WHERE & LIKE (5)
6. Tampilkan jumlah baris data pada masing – masing tabel (5)
7. Tampilkan data dari tabel yang berelasi (5)
8. Tambahkan satu record / baris data pada tabel master Anda (5)
9. Ubah data tersebut (5)
10. Hapus data tersebut (5)
BACK NEXT
DAFTAR PUSTAKA
1. Connoly, Thomas; Begg, Carolyn; Strachan, Anne; Database
Systems : A Practical Approach to Design,
Implementation and Management, Addison Wesley, 1996.
2. Date, C.J.; An Introduction to Database System, Addison
Wesley Publishing Company, Vol. 1 & Vol. 2, New York, 1990.
3. Elmasri, Ramez; Navathe, Shamkant B.; Fundamentals of
Database Systems, The Benjamin/Cummings Publishing
Company, Inc., California, 1989.
4. Mc Fadden, F.; Hoffer, Jeffrey A; Database Management,
Benjamin/Publishing Company Inc., Third Edition, California,
1991.
5. Martin, James; Principles of Database Management,
Prentice Hall of India Private Limited, New Delhi, 1992.
6. Fathansyah, Ir., Basis Data, Informatika, Bandung, 1999.
7. Steven Hariyanto, Resep Query, Dian Rakyat, Jakarta, 2005.
END