SlideShare a Scribd company logo
1 of 28
Ir. Budi Hartono, MSc.
Pengantar
Database
mybdhart@solusipintar.com
• Dasar-dasar Database
• Obyek-obyek pada database
• Menyiapkan database
• Membuat tabel dan obyek database
• Operasi pada database
• Membuat laporan
Daftar Isi
• Database adalah data yang disusun secara sistematis
sehingga dapat diakses secara efisien dan efektif.
Terdapat sejumlah aturan untuk merancang database
yang baik.
• Database dikelola oleh sebuah software khusus yang
disebut DBMS (Database Management System)
• Konsep database yang banyak digunakan adalah
relational database dimana database disusun dengan
relasi antar obyek yang ada di dalamnya
• Database banyak digunakan untuk mendukung sistem
informasi manajemen.
• Alasan utama penggunaan : fleksibilitas laporan, volume
data dan kemudahan manipulasi lebih lanjut.
Pengertian
Kaitan dg Dunia Nyata
Problem dalam dunia nyata dimodelkan
dalam sebuah data model yang menjadi
dasar bagi pembuatan skema database.
Implementasi secara fisik dinyatakan
dalam bentuk file-file data yang dapat
diakses melalui database engine pada
sebuah DBMS.
Aplikasi basis data memanfaatkan
database engine untuk mengakses
database sesuai kebutuhan.
• Relasi dalam database direpresentasi dalam bentuk pemakaian
kolom data penghubung antar tabel.
• Keterkaitan antar tabel ditentukan oleh hubungan lojik yang ada
diantaranya.
Relasi dalam Database
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
NIL_REKAP
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
NIM VARCHAR(10)
INDEKS CHAR(2)
NAKHIR FLOAT
N1 FLOAT
N2 FLOAT
N3 FLOAT
N4 FLOAT
N5 FLOAT
N6 FLOAT
N7 FLOAT
N8 FLOAT
N9 FLOAT
N10 FLOAT
MT_KULIAH
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
NAMA_MK VARCHAR(40)
NAMA_SINGKMK VARCHAR(10)
SKS integer unsigned
SM integer unsigned
KET VARCHAR(40)
SYARAT1 VARCHAR(10)
SYARAT2 VARCHAR(10)
• Perangkat lunak khusus yang dibuat untuk
mengakses/mengelola database
• Memanfaatkan database engine dan database untuk
menampilkan informasi yg dibutuhkan
Aplikasi Database
DB-Engine
(bagiandariDBMS)
Aplikasidatabase
Data
Aplikasidatabaseclient-server
Browser
WebServer
ApplicationServer
Data
DBEngine
(bagiandariDBMS)
Aplikasidatabaseweb-based
• Saat ini banyak terdapat Relational DBMS (RDBMS) di pasaran,
baik yang proprietary atau pun free software. Migrasi antar
database dimungkinkan dengan alat/tool tertentu.
• Untuk berbagai kelas yang ada, diantaranya sbb. :
RDBMS
No Nama RDBMS Jenis Keterangan
1 MS Access Proprietary Kelas kecil
2 MS SQL Server Proprietary Kelas besar
3 Borland Interbase Proprietary/Free Kelas menengah
4 Borland Paradox Proprietary Kelas kecil
5 Borland Dbase Proprietary Kelas kecil
6 Oracle SQL Server Proprietary Kelas besar
7 MySQL Free Kelas menengah
8 PostGress Free Kelas menengah
9 IBM DB2 Proprietary Kelas besar
• Tabel : obyek utama,
kombinasi baris dan
kolom data
• View : virtual table,
dapat berupa
kombinasi dari tabel
• Trigger : program
yang aktif saat terjadi
event (tambah/hapus/
ubah)
• Stored Procedure :
program dalam
bahasa SQL di
RDBMS yang
dieksekusi oleh
program lain
• Query : Perintah SQL
untuk seleksi data
Obyek-obyek Database
• Obyek utama dalam database
• Memiliki kolom kunci sebagai pembeda data (key fields)
• Menggunakan berbagai tipe data sesuai kebutuhan (text,
varchar, integer, date, float, timestamp, dll).
Tabel
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
NIL_REKAP
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
NIM VARCHAR(10)
INDEKS CHAR(2)
NAKHIR FLOAT
N1 FLOAT
N2 FLOAT
N3 FLOAT
N4 FLOAT
N5 FLOAT
N6 FLOAT
N7 FLOAT
N8 FLOAT
N9 FLOAT
N10 FLOAT
MT_KULIAH
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
NAMA_MK VARCHAR(40)
NAMA_SINGKMK VARCHAR(10)
SKS integer unsigned
SM integer unsigned
KET VARCHAR(40)
SYARAT1 VARCHAR(10)
SYARAT2 VARCHAR(10)
• Virtual table, yang dapat dihasilkan oleh beberapa tabel
• Digunakan untuk men-seleksi data sesuai kebutuhan
• Data bergantung pada tabel fisik yang menjadi rujukannya
View
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
NIL_REKAP
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
NIM VARCHAR(10)
INDEKS CHAR(2)
NAKHIR FLOAT
N1 FLOAT
N2 FLOAT
N3 FLOAT
N4 FLOAT
N5 FLOAT
N6 FLOAT
N7 FLOAT
N8 FLOAT
N9 FLOAT
N10 FLOAT
V_NILAI
MHS.NIM VARCHAR(10)
MHS.NAMAJUR VARCHAR(30)
NIL_REKAP.THN VARCHAR(10)
NIL_REKAP.PERIODE VARCHAR(10)
NIL_REKAP.KD_KUR VARCHAR(10)
NIL_REKAP.KD_MK VARCHAR(10)
NIL_REKAP.INDEKS CHAR(2)
NIL_REKAP.NAKHIR FLOAT
MHS.NAMA VARCHAR(40)
MHS
NIL_REKAP
• Program pada tabel yang dieksekusi jika terjadi event khusus
(tambah, hapus, edit). Tidak selalu ada pada setiap RDBMS.
• Digunakan untuk menjaga konsistensi data pada tabel-tabel
terkait. Sintaks dapat berbeda untuk tiap RDBMS.
Trigger
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
SET TERM !! ;
CREATE TRIGGER SAVE_NIM FOR MHS
AFTER UPDATE AS
BEGIN
IF (OLD.NIM <> NEW.NIM) THEN
UPDATE NIL_REKAP
SET NIM = NEW.NIM
WHERE NIM = OLD.NIM;
END !!
SET TERM ; !!
• Program pada DBMS untuk melakukan tugas khusus sesuai
kebutuhan. Dieksekusi oleh program lain (query atau aplikasi).
• Digunakan untuk efisiensi proses/overhead pada lingkungan
multiusers. Tidak selalu ada pada setiap RDBMS. Sintaks dapat
berbeda untuk tiap RDBMS.
Stored Procedure
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
SET TERM !!;
CREATE PROCEDURE DELETE_MHS (VNIM INTEGER)
AS
BEGIN
DELETE FROM MHS WHERE NIM = VNIM;
END !!
SET TERM ; !!
EXECUTE PROCEDURE DELETE_MHS(1107865);
• Perintah (dalam bahasa SQL) untuk menseleksi data sesuai
kebutuhan. Dijalankan pada Query Editor di RDBMS.
• Mirip dengan View tetapi tidak disimpan dalam database.
Query
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
NIL_REKAP
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
NIM VARCHAR(10)
INDEKS CHAR(2)
NAKHIR FLOAT
N1 FLOAT
N2 FLOAT
N3 FLOAT
N4 FLOAT
N5 FLOAT
N6 FLOAT
N7 FLOAT
N8 FLOAT
N9 FLOAT
N10 FLOAT
SELECT A.NIM, A.NAMA, B.THN,
B.PERIODE, B.INDEKS, B.NAKHIR
FROM MHS A, NIL_REKAP B
WHERE A.NIM = B.NIM AND
B.TAHUN =
‘2004/2005’ AND
B.PERIODE =
‘GANJIL’;
• Tentukan RDBMS apa
yang akan digunakan
• Rancang dengan baik
tabel-tabel yang akan
digunakan sesuai hasil
analisis
• Perancangan dapat
memakai tools tertentu
(S-Designor, ERWin,
dll. )
Menyiapkan Database
THN = THN
PERIODE = PERIODE
KD_KUR = KD_KUR
KD_MK = KD_MK
NIM = NIM
THN = THN
PERIODE = PERIODE
KD_KUR = KD_KUR
KD_MK = KD_MK
NIM = NIM
KD_KUR = KD_KUR
KD_MK = KD_MK
KD_JUR = KD_JUR
KD_KUR = KD_KUR
KD_MK = KD_MK
KD_JUR = KD_JUR
KD_KUR = KD_KUR
KD_MK = KD_MK
KD_JUR = KD_JUR
NIM = NIM
NIM = NIM
NIM = NIM
NIM = NIM
NIM = NIM
KD_KUR = KD_KUR
KD_KUR = KD_KUR
KD_KUR = KD_KUR
KD_KUR = KD_KUR
KD_JUR = KD_JUR
KD_JUR = KD_JUR
KD_JUR = KD_JUR
KD_EVAL = KD_EVAL
THN = THN
KD_DOSEN = KD_DOSEN
THN = THN
KD_DOSEN = KD_DOSEN
THN = THN
KD_DOSEN = KD_DOSEN
THN = THN
KD_DOSEN = KD_DOSEN
KD_DOSEN = KD_DOSEN
KD_DOSEN = KD_DOSEN
BERITA
ID_BERITA SMALLINT
JUDUL VARCHAR(100)
PENULIS VARCHAR(100)
TANGGAL DATE
ISI_BERITA text
GAMBAR VARCHAR(100)
TGL_UPDATE DATE
ID_USER VARCHAR(20)
STATUS tinyint unsigned
BOBOT
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
KD_DOSEN VARCHAR(10)
NOURUT VARCHAR(10)
KD_EVAL VARCHAR(10)
BOBOTNYA integer unsigned
NOKELAS VARCHAR(10)
DOSEN
KD_DOSEN VARCHAR(10)
NAMA_DOSEN VARCHAR(10)
KELAMIN CHAR(1)
TEMPATLAHIR VARCHAR(30)
TGLLAHIR DATE
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(15)
KDPOS VARCHAR(10)
ASALPT VARCHAR(30)
JUR VARCHAR(30)
LULUSTHN VARCHAR(4)
TKT VARCHAR(5)
STATUS integer unsigned
MK_BINAAN1 VARCHAR(50)
MK_BINAAN2 VARCHAR(50)
MK_BINAAN3 VARCHAR(50)
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
DOSENWALI
THN VARCHAR(10)
KD_DOSEN VARCHAR(10)
NIM VARCHAR(10)
KETERANGAN VARCHAR(30)
EVAL
KD_EVAL VARCHAR(10)
NAMA_EVAL VARCHAR(30)
KETERANGAN VARCHAR(30)
JURUSAN
KD_JUR VARCHAR(10)
NAMAJUR VARCHAR(30)
STATUS VARCHAR(10)
KELAS
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
NOKELAS VARCHAR(10)
NIM VARCHAR(10)
KRS
THN VARCHAR(10)
PERIODE VARCHAR(10)
TGL_KRS DATE
KD_DOSEN VARCHAR(10)
NIM VARCHAR(10)
KD_MK VARCHAR(10)
STATUS integer unsigned
KURIKULUM
KD_KUR VARCHAR(10)
NAMA_KUR VARCHAR(50)
KET VARCHAR(30)
MHS
NIM VARCHAR(10)
NIRM VARCHAR(30)
NAMA VARCHAR(40)
KELAMIN CHAR(1)
TLAHIR VARCHAR(30)
TGLLAHIR DATE
WARGA VARCHAR(10)
KAWIN VARCHAR(10)
NM_ORTU VARCHAR(30)
AGAMA_ORTU VARCHAR(10)
ALAMAT_ORTU VARCHAR(50)
PEKERJAAN_ORTU VARCHAR(30)
TELEPON_ORTU VARCHAR(20)
THNMASUK VARCHAR(4)
NAMAJUR VARCHAR(30)
ALAMAT VARCHAR(40)
TELP VARCHAR(15)
KOTA VARCHAR(30)
KDPOS VARCHAR(10)
KOTA_ASAL VARCHAR(30)
SMA_ASAL VARCHAR(30)
STATUS integer unsigned
FOTO VARCHAR(30)
PASSWORD VARCHAR(10)
TGL_WISUDA DATE
TGL_LULUS DATE
MT_KULIAH
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
NAMA_MK VARCHAR(40)
NAMA_SINGKMK VARCHAR(10)
SKS integer unsigned
SM integer unsigned
KET VARCHAR(40)
SYARAT1 VARCHAR(10)
SYARAT2 VARCHAR(10)
NIL_REKAP
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
NIM VARCHAR(10)
INDEKS CHAR(2)
NAKHIR FLOAT
N1 FLOAT
N2 FLOAT
N3 FLOAT
N4 FLOAT
N5 FLOAT
N6 FLOAT
N7 FLOAT
N8 FLOAT
N9 FLOAT
N10 FLOAT
NILAI_EVAL
THN VARCHAR(10)
PERIODE VARCHAR(10)
KD_KUR VARCHAR(10)
KD_MK VARCHAR(10)
KD_JUR VARCHAR(10)
NOURUT integer unsigned
NIM VARCHAR(10)
NILAI FLOAT
NOKELAS VARCHAR(10)
KD_DOSEN VARCHAR(10)
KETERANGAN VARCHAR(20)
PEMAKAI
LOGIN VARCHAR(10)
PASSWORD VARCHAR(10)
NAMA VARCHAR(30)
KELOMPOK VARCHAR(40)
STATUS integer unsigned
MODULID VARCHAR(10)
POLLING
ID_POLLING SMALLINT
PERTANYAAN VARCHAR(200)
JML_PILIH SMALLINT
PILIH_A VARCHAR(100)
PILIH_B VARCHAR(100)
PILIH_C VARCHAR(100)
PILIH_D VARCHAR(100)
JWB_A INTEGER
JWB_B INTEGER
JWB_C INTEGER
JWB_D INTEGER
TGL_UPDATE DATE
ID_USER VARCHAR(20)
PRS
THN VARCHAR(10)
PERIODE VARCHAR(10)
TGL_PRS DATE
KD_DOSEN VARCHAR(10)
NIM VARCHAR(10)
KD_MK VARCHAR(10)
JENIS integer unsigned
ALASAN VARCHAR(30)
TUGAS
ID INTEGER
THN VARCHAR(4)
PERIODE VARCHAR(10)
KD_MK VARCHAR(10)
NOKELAS VARCHAR(10)
DESKRIPSI VARCHAR(100)
FILE VARCHAR(50)
V_NILAI
MHS.NIM VARCHAR(10)
MHS.NAMAJUR VARCHAR(30)
NIL_REKAP.THN VARCHAR(10)
NIL_REKAP.PERIODE VARCHAR(10)
NIL_REKAP.KD_KUR VARCHAR(10)
NIL_REKAP.KD_MK VARCHAR(10)
NIL_REKAP.INDEKS CHAR(2)
NIL_REKAP.NAKHIR FLOAT
MHS.NAMA VARCHAR(40)
MHS
NIL_REKAP
• Hasil perancangan
dapat berupa
perintah SQL
untuk membuat
database dan
tabel-tabel terkait.
• Perintah SQL
dieksekusi pada
Query Editor
sesuai database
yang digunakan.
• Untuk database
MySQL, Query
Editor dapat
menggunakan
MySQL Front.
Menggunakan MySQL
• Jalankan perintah
SQL create table
di MySQL Front
• Tabel-tabel yang
dibuat
dimunculkan pada
dialog
• Tabel bisa juga
dibuat secara
langsung.
Menyiapkan tabel
• Buka tabel yang
akan diisi dan
masukkan data
sesuai kebutuhan.
• Jalankan perintah
commit and
refresh setiap ada
perubahan data
baru.
• Untuk kemudahan,
umumnya isian
data lewat aplikasi
yang dibangun 
SIMAK-2000i
Mengisi data
• Data Definition : Create Database, Create Table, Create View
• Data Selection : Select
• Data Update : Update, Delete, Insert
Operasi database
• Operasi database (dalam bahasa Structured Query
Language atau SQL) untuk membuat obyek database
• Create Database, Create Table, Create View (MySQL blm
support View !)
Data Definition
CREATE TABLE krs (
THN varchar(10) default NULL,
PERIODE varchar(10) NOT NULL default,
TGL_KRS date default NULL,
KD_DOSEN varchar(10) default NULL,
NIM varchar(10) default NULL,
KD_MK varchar(10) default NULL,
STATUS int(3) unsigned default NULL)
TYPE=MyISAM;
CREATE DATABASE SIMAK; create view vrekap_hadir (noguru,nama,thn,bln,hr)
as
select distinct b.noguru,
c.nama,
extract(year from a.tanggal),
extract(month from a.tanggal),
extract(day from a.tanggal)
from transcan a, scanid b, vguru c
where a.idscan=b.idscan and
b.noguru=c.noguru;
Note : view dalam RDBMS Interbase
DROP DATABASE SIMAK;
DROP TABLE krs;
DROP VIEW vrekap_hadir;
Data Selection
Select THN, PERIODE, NIM, KD_MK
FROM krs
WHERE KD_DOSEN=‘DS-123’;
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT]
[SQL_BUFFER_RESULT] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW |
ALL] select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula}]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT
[offset,] rows] [PROCEDURE procedure_name] ]
SELECT A.NIM, A.NAMA, B.THN,
B.PERIODE, B.INDEKS, B.NAKHIR
FROM MHS A, NIL_REKAP B
WHERE A.NIM = B.NIM AND
B.TAHUN = ‘2004/2005’ AND
B.PERIODE = ‘GANJIL’;
Data Update
UPDATE krs
SET THN= ‘2005/2006’,
PERIODE=‘GANJIL’
WHERE THN=‘2004/2005’;
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1, [col_name2=expr2, ...]
[WHERE where_definition]
[ORDER BY ...] [LIMIT #]
UPDATE mhs
SET NAMA= ‘ANTON SUBONO’,
ALAMAT=‘JL. MATARAM 23 MATARAM’
WHERE NIM=‘123456789’;
Catatan :
Hati-hati melakukan update, perhatikan
klausul WHERE yang akan mengarahkan
proses update pada data tertentu saja sesuai
kebutuhan.
DELETE [LOW_PRIORITY] FROM tbl_name
[WHERE where_definition] [LIMIT rows]
Data Delete
DELETE FROM mhs
WHERE NIM=‘123456789’;
DELETE FROM mhs
WHERE NAMAJUR=‘PARIWISATA’;
Catatan :
Hati-hati melakukan DELETE.
Data yangterhapus tidak bisa
dikembalikan lagi.
Perhatikan klausul WHERE yang
membatasi proses hapus pada
data tertentu saja.
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name
[(col_name,...)] VALUES (expression,...),(...),...
or
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name
[(col_name,...)] SELECT ...
Data Insert
INSERT INTO mhs (NIM,NAMA,ALAMAT)
Values (‘2345678’,’HARUN’,’JL. KEBON
KOPI No 23’ );
INSERT INTO mhs (NIM,NAMA,ALAMAT)
SELECT NIM,NAMA,ALAMAT
FROM TBL_BACKUP;
• Melalui program khusus (PHP atau ASP) database dapat
diakses untuk bisa ditampilkan di internet.
• Membutuhkan software khusus (Browser, WebServer,
DBServer, ApplicationServer)
Akses Data Internet
Browser
WebServer
ApplicationServer
Data
DBEngine
(bagiandariDBMS)
Aplikasidatabaseweb-based
Akses Data Internet
Laporan Database
• Dirancang melalui report builder atau
program khusus
• Menggunakan query sebagai basis
perintah untuk akses data sesuai
kebutuhan
Tips
• Gunakan RDBMS sesuai kebutuhan
• Gunakan aplikasi khusus (dibuat khusus) untuk
mengelola database. Hal ini penting untuk
kemudahan pengelolaan dan pelaporan bagi user.
• Manipulasi database langsung dapat dilakukan
hanya oleh user yang betul-betul memahami
database dan RDBMS tsb.
• Perancangan database dapat lebih mudah
dilakukan dengan menggunakan tools DB Design
seperti ERWin atau S-Designor.
Terima Kasih
Ir. Budi Hartono, MSc.
mybdhart@solusipintar.com

More Related Content

Similar to Pengantar Database

6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...
6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...
6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...Sandy Setiawan
 
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...Sandy Setiawan
 
Modul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQLModul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQLDeka M Wildan
 
Sekilas Tentang MySQL
Sekilas Tentang MySQLSekilas Tentang MySQL
Sekilas Tentang MySQLguestad850e
 
Materi database 1 Pengenalan Dasar Database
Materi database 1   Pengenalan Dasar DatabaseMateri database 1   Pengenalan Dasar Database
Materi database 1 Pengenalan Dasar DatabaseTaufiq Qurahman
 
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...Lintang Kejora
 
Laporan Akhir Sistem Manajemen Basis Data
Laporan Akhir Sistem Manajemen Basis DataLaporan Akhir Sistem Manajemen Basis Data
Laporan Akhir Sistem Manajemen Basis DataGoudy Sulaiman
 
Data warehouse fundamental (Planning & Requirement)
Data warehouse fundamental (Planning & Requirement)Data warehouse fundamental (Planning & Requirement)
Data warehouse fundamental (Planning & Requirement)Ikka Utamy
 
Physical Database Design
Physical Database DesignPhysical Database Design
Physical Database DesignNova ed
 

Similar to Pengantar Database (20)

6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...
6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...
6. SI-PI, Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Bu...
 
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...
SI-PI,Sandy Setiawan, Hapzi Ali, Intelegensi Bisnis, Universitas Mercu Buana,...
 
Modul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQLModul Dbms mysql dan perintah dasar SQL
Modul Dbms mysql dan perintah dasar SQL
 
Basis data 2
Basis data 2Basis data 2
Basis data 2
 
Sekilas Tentang MySQL
Sekilas Tentang MySQLSekilas Tentang MySQL
Sekilas Tentang MySQL
 
Sekilas Tentang MySQL
Sekilas Tentang MySQLSekilas Tentang MySQL
Sekilas Tentang MySQL
 
Materi database 1 Pengenalan Dasar Database
Materi database 1   Pengenalan Dasar DatabaseMateri database 1   Pengenalan Dasar Database
Materi database 1 Pengenalan Dasar Database
 
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...
Sim, lintang kejora, hapzi ali, sistem manajemen database , universitas mercu...
 
Mysql
MysqlMysql
Mysql
 
Jumpa 3
Jumpa 3Jumpa 3
Jumpa 3
 
Nota slide topik 1
Nota slide topik 1Nota slide topik 1
Nota slide topik 1
 
abd_01_2223.pdf
abd_01_2223.pdfabd_01_2223.pdf
abd_01_2223.pdf
 
Apa itu database??
Apa itu database??Apa itu database??
Apa itu database??
 
Materi 3
Materi 3Materi 3
Materi 3
 
Desain database
Desain databaseDesain database
Desain database
 
Laporan Akhir Sistem Manajemen Basis Data
Laporan Akhir Sistem Manajemen Basis DataLaporan Akhir Sistem Manajemen Basis Data
Laporan Akhir Sistem Manajemen Basis Data
 
Data warehouse fundamental (Planning & Requirement)
Data warehouse fundamental (Planning & Requirement)Data warehouse fundamental (Planning & Requirement)
Data warehouse fundamental (Planning & Requirement)
 
Modul 1
Modul 1Modul 1
Modul 1
 
Modul 1
Modul 1Modul 1
Modul 1
 
Physical Database Design
Physical Database DesignPhysical Database Design
Physical Database Design
 

Recently uploaded

Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningSamFChaerul
 
Perlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfPerlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfjeffrisovana999
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANKONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANDevonneDillaElFachri
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksdanzztzy405
 
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Shary Armonitha
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfAuliaAulia63
 

Recently uploaded (8)

Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data mining
 
Perlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfPerlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdf
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANKONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
 
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
 
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdf
 

Pengantar Database

  • 1. Ir. Budi Hartono, MSc. Pengantar Database mybdhart@solusipintar.com
  • 2. • Dasar-dasar Database • Obyek-obyek pada database • Menyiapkan database • Membuat tabel dan obyek database • Operasi pada database • Membuat laporan Daftar Isi
  • 3. • Database adalah data yang disusun secara sistematis sehingga dapat diakses secara efisien dan efektif. Terdapat sejumlah aturan untuk merancang database yang baik. • Database dikelola oleh sebuah software khusus yang disebut DBMS (Database Management System) • Konsep database yang banyak digunakan adalah relational database dimana database disusun dengan relasi antar obyek yang ada di dalamnya • Database banyak digunakan untuk mendukung sistem informasi manajemen. • Alasan utama penggunaan : fleksibilitas laporan, volume data dan kemudahan manipulasi lebih lanjut. Pengertian
  • 4. Kaitan dg Dunia Nyata Problem dalam dunia nyata dimodelkan dalam sebuah data model yang menjadi dasar bagi pembuatan skema database. Implementasi secara fisik dinyatakan dalam bentuk file-file data yang dapat diakses melalui database engine pada sebuah DBMS. Aplikasi basis data memanfaatkan database engine untuk mengakses database sesuai kebutuhan.
  • 5. • Relasi dalam database direpresentasi dalam bentuk pemakaian kolom data penghubung antar tabel. • Keterkaitan antar tabel ditentukan oleh hubungan lojik yang ada diantaranya. Relasi dalam Database MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE NIL_REKAP THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) NIM VARCHAR(10) INDEKS CHAR(2) NAKHIR FLOAT N1 FLOAT N2 FLOAT N3 FLOAT N4 FLOAT N5 FLOAT N6 FLOAT N7 FLOAT N8 FLOAT N9 FLOAT N10 FLOAT MT_KULIAH KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) NAMA_MK VARCHAR(40) NAMA_SINGKMK VARCHAR(10) SKS integer unsigned SM integer unsigned KET VARCHAR(40) SYARAT1 VARCHAR(10) SYARAT2 VARCHAR(10)
  • 6. • Perangkat lunak khusus yang dibuat untuk mengakses/mengelola database • Memanfaatkan database engine dan database untuk menampilkan informasi yg dibutuhkan Aplikasi Database DB-Engine (bagiandariDBMS) Aplikasidatabase Data Aplikasidatabaseclient-server Browser WebServer ApplicationServer Data DBEngine (bagiandariDBMS) Aplikasidatabaseweb-based
  • 7. • Saat ini banyak terdapat Relational DBMS (RDBMS) di pasaran, baik yang proprietary atau pun free software. Migrasi antar database dimungkinkan dengan alat/tool tertentu. • Untuk berbagai kelas yang ada, diantaranya sbb. : RDBMS No Nama RDBMS Jenis Keterangan 1 MS Access Proprietary Kelas kecil 2 MS SQL Server Proprietary Kelas besar 3 Borland Interbase Proprietary/Free Kelas menengah 4 Borland Paradox Proprietary Kelas kecil 5 Borland Dbase Proprietary Kelas kecil 6 Oracle SQL Server Proprietary Kelas besar 7 MySQL Free Kelas menengah 8 PostGress Free Kelas menengah 9 IBM DB2 Proprietary Kelas besar
  • 8. • Tabel : obyek utama, kombinasi baris dan kolom data • View : virtual table, dapat berupa kombinasi dari tabel • Trigger : program yang aktif saat terjadi event (tambah/hapus/ ubah) • Stored Procedure : program dalam bahasa SQL di RDBMS yang dieksekusi oleh program lain • Query : Perintah SQL untuk seleksi data Obyek-obyek Database
  • 9. • Obyek utama dalam database • Memiliki kolom kunci sebagai pembeda data (key fields) • Menggunakan berbagai tipe data sesuai kebutuhan (text, varchar, integer, date, float, timestamp, dll). Tabel MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE NIL_REKAP THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) NIM VARCHAR(10) INDEKS CHAR(2) NAKHIR FLOAT N1 FLOAT N2 FLOAT N3 FLOAT N4 FLOAT N5 FLOAT N6 FLOAT N7 FLOAT N8 FLOAT N9 FLOAT N10 FLOAT MT_KULIAH KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) NAMA_MK VARCHAR(40) NAMA_SINGKMK VARCHAR(10) SKS integer unsigned SM integer unsigned KET VARCHAR(40) SYARAT1 VARCHAR(10) SYARAT2 VARCHAR(10)
  • 10. • Virtual table, yang dapat dihasilkan oleh beberapa tabel • Digunakan untuk men-seleksi data sesuai kebutuhan • Data bergantung pada tabel fisik yang menjadi rujukannya View MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE NIL_REKAP THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) NIM VARCHAR(10) INDEKS CHAR(2) NAKHIR FLOAT N1 FLOAT N2 FLOAT N3 FLOAT N4 FLOAT N5 FLOAT N6 FLOAT N7 FLOAT N8 FLOAT N9 FLOAT N10 FLOAT V_NILAI MHS.NIM VARCHAR(10) MHS.NAMAJUR VARCHAR(30) NIL_REKAP.THN VARCHAR(10) NIL_REKAP.PERIODE VARCHAR(10) NIL_REKAP.KD_KUR VARCHAR(10) NIL_REKAP.KD_MK VARCHAR(10) NIL_REKAP.INDEKS CHAR(2) NIL_REKAP.NAKHIR FLOAT MHS.NAMA VARCHAR(40) MHS NIL_REKAP
  • 11. • Program pada tabel yang dieksekusi jika terjadi event khusus (tambah, hapus, edit). Tidak selalu ada pada setiap RDBMS. • Digunakan untuk menjaga konsistensi data pada tabel-tabel terkait. Sintaks dapat berbeda untuk tiap RDBMS. Trigger MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE SET TERM !! ; CREATE TRIGGER SAVE_NIM FOR MHS AFTER UPDATE AS BEGIN IF (OLD.NIM <> NEW.NIM) THEN UPDATE NIL_REKAP SET NIM = NEW.NIM WHERE NIM = OLD.NIM; END !! SET TERM ; !!
  • 12. • Program pada DBMS untuk melakukan tugas khusus sesuai kebutuhan. Dieksekusi oleh program lain (query atau aplikasi). • Digunakan untuk efisiensi proses/overhead pada lingkungan multiusers. Tidak selalu ada pada setiap RDBMS. Sintaks dapat berbeda untuk tiap RDBMS. Stored Procedure MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE SET TERM !!; CREATE PROCEDURE DELETE_MHS (VNIM INTEGER) AS BEGIN DELETE FROM MHS WHERE NIM = VNIM; END !! SET TERM ; !! EXECUTE PROCEDURE DELETE_MHS(1107865);
  • 13. • Perintah (dalam bahasa SQL) untuk menseleksi data sesuai kebutuhan. Dijalankan pada Query Editor di RDBMS. • Mirip dengan View tetapi tidak disimpan dalam database. Query MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE NIL_REKAP THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) NIM VARCHAR(10) INDEKS CHAR(2) NAKHIR FLOAT N1 FLOAT N2 FLOAT N3 FLOAT N4 FLOAT N5 FLOAT N6 FLOAT N7 FLOAT N8 FLOAT N9 FLOAT N10 FLOAT SELECT A.NIM, A.NAMA, B.THN, B.PERIODE, B.INDEKS, B.NAKHIR FROM MHS A, NIL_REKAP B WHERE A.NIM = B.NIM AND B.TAHUN = ‘2004/2005’ AND B.PERIODE = ‘GANJIL’;
  • 14. • Tentukan RDBMS apa yang akan digunakan • Rancang dengan baik tabel-tabel yang akan digunakan sesuai hasil analisis • Perancangan dapat memakai tools tertentu (S-Designor, ERWin, dll. ) Menyiapkan Database THN = THN PERIODE = PERIODE KD_KUR = KD_KUR KD_MK = KD_MK NIM = NIM THN = THN PERIODE = PERIODE KD_KUR = KD_KUR KD_MK = KD_MK NIM = NIM KD_KUR = KD_KUR KD_MK = KD_MK KD_JUR = KD_JUR KD_KUR = KD_KUR KD_MK = KD_MK KD_JUR = KD_JUR KD_KUR = KD_KUR KD_MK = KD_MK KD_JUR = KD_JUR NIM = NIM NIM = NIM NIM = NIM NIM = NIM NIM = NIM KD_KUR = KD_KUR KD_KUR = KD_KUR KD_KUR = KD_KUR KD_KUR = KD_KUR KD_JUR = KD_JUR KD_JUR = KD_JUR KD_JUR = KD_JUR KD_EVAL = KD_EVAL THN = THN KD_DOSEN = KD_DOSEN THN = THN KD_DOSEN = KD_DOSEN THN = THN KD_DOSEN = KD_DOSEN THN = THN KD_DOSEN = KD_DOSEN KD_DOSEN = KD_DOSEN KD_DOSEN = KD_DOSEN BERITA ID_BERITA SMALLINT JUDUL VARCHAR(100) PENULIS VARCHAR(100) TANGGAL DATE ISI_BERITA text GAMBAR VARCHAR(100) TGL_UPDATE DATE ID_USER VARCHAR(20) STATUS tinyint unsigned BOBOT THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) KD_DOSEN VARCHAR(10) NOURUT VARCHAR(10) KD_EVAL VARCHAR(10) BOBOTNYA integer unsigned NOKELAS VARCHAR(10) DOSEN KD_DOSEN VARCHAR(10) NAMA_DOSEN VARCHAR(10) KELAMIN CHAR(1) TEMPATLAHIR VARCHAR(30) TGLLAHIR DATE ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(15) KDPOS VARCHAR(10) ASALPT VARCHAR(30) JUR VARCHAR(30) LULUSTHN VARCHAR(4) TKT VARCHAR(5) STATUS integer unsigned MK_BINAAN1 VARCHAR(50) MK_BINAAN2 VARCHAR(50) MK_BINAAN3 VARCHAR(50) FOTO VARCHAR(30) PASSWORD VARCHAR(10) DOSENWALI THN VARCHAR(10) KD_DOSEN VARCHAR(10) NIM VARCHAR(10) KETERANGAN VARCHAR(30) EVAL KD_EVAL VARCHAR(10) NAMA_EVAL VARCHAR(30) KETERANGAN VARCHAR(30) JURUSAN KD_JUR VARCHAR(10) NAMAJUR VARCHAR(30) STATUS VARCHAR(10) KELAS THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) NOKELAS VARCHAR(10) NIM VARCHAR(10) KRS THN VARCHAR(10) PERIODE VARCHAR(10) TGL_KRS DATE KD_DOSEN VARCHAR(10) NIM VARCHAR(10) KD_MK VARCHAR(10) STATUS integer unsigned KURIKULUM KD_KUR VARCHAR(10) NAMA_KUR VARCHAR(50) KET VARCHAR(30) MHS NIM VARCHAR(10) NIRM VARCHAR(30) NAMA VARCHAR(40) KELAMIN CHAR(1) TLAHIR VARCHAR(30) TGLLAHIR DATE WARGA VARCHAR(10) KAWIN VARCHAR(10) NM_ORTU VARCHAR(30) AGAMA_ORTU VARCHAR(10) ALAMAT_ORTU VARCHAR(50) PEKERJAAN_ORTU VARCHAR(30) TELEPON_ORTU VARCHAR(20) THNMASUK VARCHAR(4) NAMAJUR VARCHAR(30) ALAMAT VARCHAR(40) TELP VARCHAR(15) KOTA VARCHAR(30) KDPOS VARCHAR(10) KOTA_ASAL VARCHAR(30) SMA_ASAL VARCHAR(30) STATUS integer unsigned FOTO VARCHAR(30) PASSWORD VARCHAR(10) TGL_WISUDA DATE TGL_LULUS DATE MT_KULIAH KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) NAMA_MK VARCHAR(40) NAMA_SINGKMK VARCHAR(10) SKS integer unsigned SM integer unsigned KET VARCHAR(40) SYARAT1 VARCHAR(10) SYARAT2 VARCHAR(10) NIL_REKAP THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) NIM VARCHAR(10) INDEKS CHAR(2) NAKHIR FLOAT N1 FLOAT N2 FLOAT N3 FLOAT N4 FLOAT N5 FLOAT N6 FLOAT N7 FLOAT N8 FLOAT N9 FLOAT N10 FLOAT NILAI_EVAL THN VARCHAR(10) PERIODE VARCHAR(10) KD_KUR VARCHAR(10) KD_MK VARCHAR(10) KD_JUR VARCHAR(10) NOURUT integer unsigned NIM VARCHAR(10) NILAI FLOAT NOKELAS VARCHAR(10) KD_DOSEN VARCHAR(10) KETERANGAN VARCHAR(20) PEMAKAI LOGIN VARCHAR(10) PASSWORD VARCHAR(10) NAMA VARCHAR(30) KELOMPOK VARCHAR(40) STATUS integer unsigned MODULID VARCHAR(10) POLLING ID_POLLING SMALLINT PERTANYAAN VARCHAR(200) JML_PILIH SMALLINT PILIH_A VARCHAR(100) PILIH_B VARCHAR(100) PILIH_C VARCHAR(100) PILIH_D VARCHAR(100) JWB_A INTEGER JWB_B INTEGER JWB_C INTEGER JWB_D INTEGER TGL_UPDATE DATE ID_USER VARCHAR(20) PRS THN VARCHAR(10) PERIODE VARCHAR(10) TGL_PRS DATE KD_DOSEN VARCHAR(10) NIM VARCHAR(10) KD_MK VARCHAR(10) JENIS integer unsigned ALASAN VARCHAR(30) TUGAS ID INTEGER THN VARCHAR(4) PERIODE VARCHAR(10) KD_MK VARCHAR(10) NOKELAS VARCHAR(10) DESKRIPSI VARCHAR(100) FILE VARCHAR(50) V_NILAI MHS.NIM VARCHAR(10) MHS.NAMAJUR VARCHAR(30) NIL_REKAP.THN VARCHAR(10) NIL_REKAP.PERIODE VARCHAR(10) NIL_REKAP.KD_KUR VARCHAR(10) NIL_REKAP.KD_MK VARCHAR(10) NIL_REKAP.INDEKS CHAR(2) NIL_REKAP.NAKHIR FLOAT MHS.NAMA VARCHAR(40) MHS NIL_REKAP
  • 15. • Hasil perancangan dapat berupa perintah SQL untuk membuat database dan tabel-tabel terkait. • Perintah SQL dieksekusi pada Query Editor sesuai database yang digunakan. • Untuk database MySQL, Query Editor dapat menggunakan MySQL Front. Menggunakan MySQL
  • 16. • Jalankan perintah SQL create table di MySQL Front • Tabel-tabel yang dibuat dimunculkan pada dialog • Tabel bisa juga dibuat secara langsung. Menyiapkan tabel
  • 17. • Buka tabel yang akan diisi dan masukkan data sesuai kebutuhan. • Jalankan perintah commit and refresh setiap ada perubahan data baru. • Untuk kemudahan, umumnya isian data lewat aplikasi yang dibangun  SIMAK-2000i Mengisi data
  • 18. • Data Definition : Create Database, Create Table, Create View • Data Selection : Select • Data Update : Update, Delete, Insert Operasi database
  • 19. • Operasi database (dalam bahasa Structured Query Language atau SQL) untuk membuat obyek database • Create Database, Create Table, Create View (MySQL blm support View !) Data Definition CREATE TABLE krs ( THN varchar(10) default NULL, PERIODE varchar(10) NOT NULL default, TGL_KRS date default NULL, KD_DOSEN varchar(10) default NULL, NIM varchar(10) default NULL, KD_MK varchar(10) default NULL, STATUS int(3) unsigned default NULL) TYPE=MyISAM; CREATE DATABASE SIMAK; create view vrekap_hadir (noguru,nama,thn,bln,hr) as select distinct b.noguru, c.nama, extract(year from a.tanggal), extract(month from a.tanggal), extract(day from a.tanggal) from transcan a, scanid b, vguru c where a.idscan=b.idscan and b.noguru=c.noguru; Note : view dalam RDBMS Interbase DROP DATABASE SIMAK; DROP TABLE krs; DROP VIEW vrekap_hadir;
  • 20. Data Selection Select THN, PERIODE, NIM, KD_MK FROM krs WHERE KD_DOSEN=‘DS-123’; SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] select_expression,... [INTO {OUTFILE | DUMPFILE} 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY {unsigned_integer | col_name | formula}] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] rows] [PROCEDURE procedure_name] ] SELECT A.NIM, A.NAMA, B.THN, B.PERIODE, B.INDEKS, B.NAKHIR FROM MHS A, NIL_REKAP B WHERE A.NIM = B.NIM AND B.TAHUN = ‘2004/2005’ AND B.PERIODE = ‘GANJIL’;
  • 21. Data Update UPDATE krs SET THN= ‘2005/2006’, PERIODE=‘GANJIL’ WHERE THN=‘2004/2005’; UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1, [col_name2=expr2, ...] [WHERE where_definition] [ORDER BY ...] [LIMIT #] UPDATE mhs SET NAMA= ‘ANTON SUBONO’, ALAMAT=‘JL. MATARAM 23 MATARAM’ WHERE NIM=‘123456789’; Catatan : Hati-hati melakukan update, perhatikan klausul WHERE yang akan mengarahkan proses update pada data tertentu saja sesuai kebutuhan.
  • 22. DELETE [LOW_PRIORITY] FROM tbl_name [WHERE where_definition] [LIMIT rows] Data Delete DELETE FROM mhs WHERE NIM=‘123456789’; DELETE FROM mhs WHERE NAMAJUR=‘PARIWISATA’; Catatan : Hati-hati melakukan DELETE. Data yangterhapus tidak bisa dikembalikan lagi. Perhatikan klausul WHERE yang membatasi proses hapus pada data tertentu saja.
  • 23. INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),... or INSERT [LOW_PRIORITY | DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... Data Insert INSERT INTO mhs (NIM,NAMA,ALAMAT) Values (‘2345678’,’HARUN’,’JL. KEBON KOPI No 23’ ); INSERT INTO mhs (NIM,NAMA,ALAMAT) SELECT NIM,NAMA,ALAMAT FROM TBL_BACKUP;
  • 24. • Melalui program khusus (PHP atau ASP) database dapat diakses untuk bisa ditampilkan di internet. • Membutuhkan software khusus (Browser, WebServer, DBServer, ApplicationServer) Akses Data Internet Browser WebServer ApplicationServer Data DBEngine (bagiandariDBMS) Aplikasidatabaseweb-based
  • 26. Laporan Database • Dirancang melalui report builder atau program khusus • Menggunakan query sebagai basis perintah untuk akses data sesuai kebutuhan
  • 27. Tips • Gunakan RDBMS sesuai kebutuhan • Gunakan aplikasi khusus (dibuat khusus) untuk mengelola database. Hal ini penting untuk kemudahan pengelolaan dan pelaporan bagi user. • Manipulasi database langsung dapat dilakukan hanya oleh user yang betul-betul memahami database dan RDBMS tsb. • Perancangan database dapat lebih mudah dilakukan dengan menggunakan tools DB Design seperti ERWin atau S-Designor.
  • 28. Terima Kasih Ir. Budi Hartono, MSc. mybdhart@solusipintar.com