SlideShare a Scribd company logo
1 of 117
PERANCANGAN BASIS DATA
Dosen :
Achmad Zakki Falani, S.Kom
Fakultas Ilmu Komputer
Universitas Narotama Surabaya
NEXT
Kriteria Penilaian:
 Kehadiran : 10 %
 Tugas : 15 %
 Keaktifan : 15 %
 NIlai UTS : 30 % (Reg.)
 Nilai UAS : 30 % (Reg.)
 Nilai UAS : 60 % (Ins.)
NEXT
BACK
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.
NEXT
BACK
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)
NEXT
BACK
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.
6 fase di atas tidak harus diproses berurutan. Pada beberapa hal,
rancangan tsb dapat dimodifikasi dari yang pertama dan
sementara itu mengerjakan fase yang terakhir (feedback loop
antara fase) dan feedback loop dalam fase sering terjadi selama
proses perancangan.
NEXT
BACK
Fase 1 :
Pengumpulan data dan analisa
Proses identifikasi dan analisa kebutuhan-kebutuhan data
disebut pengumpulan data dan analisa. Untuk menentukan
kebutuhan-kebutuhan suatu sistem database,pertama-tama
harus mengenal bagian-bagian lain dari sistem informasi
yang akan berinteraksi dengan sistem database, termasuk
para pemakai yang ada dan para pemakai yang baru serta
aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para
pemakai dan aplikasi-aplikasi inilah yang kemudian
dikumpulkan dan dianalisa.
NEXT
BACK
Aktifitas-aktifitas pengumpulan data
dan analisa :
1. Menentukan kelompok pemakai dan
bidang-bidang aplikasinya.
2. Peninjauan dokumentasi yang ada.
3. Analisa lingkungan operasi dan
pemrosesan data.
4. Daftar pertanyaan dan wawancara.
NEXT
BACK
Fase 2 :
Perancangan database konseptual
Tujuan dari fase ini adalah menghasilkan conceptual
schema untuk database yang tergantung pada
sebuah DBMS yang spesifik. Sering menggunakan
sebuah high-level data model seperti ER/EER model
selama fase ini. Dalam conceptual schema, kita
harus merinci aplikasi-aplikasi database yang
diketahui dan transaksi-transaksi yang mungkin.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
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.
NEXT
BACK
Entity
Entity atau entitas, dalam basis data entity
sama halnya dengan sebuah tabel.
NEXT
BACK
Atribut
Atribut, dalam basis data sama halnya
dengan field.
NEXT
BACK
Jenis Atribut
 Atribut Sederhana
 Atribut Komposit
 Atribut Bernilai Tunggal
 Atribut Bernilai Jamak
 Atribut Harus Bernilai
 Atribut Bernilai Null
 Atribut Turunan
NEXT
BACK
Atribut Sederhana
Atribut Sederhana : atribut sederhana merupakan atribut atomik
yang tidak dapat lagi dipecah menjadi atribut lain.
Contoh:
Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama
Mahasiswa .
NEXT
BACK
Atribut Komposit
Atribut Komposit : atribut komposit merupakan atribut yang masih
dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti
tesendiri.
Contoh:
Entitas mahasiswa 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.
NEXT
BACK
Atribut Bernilai Tunggal
Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuk
setiap barisnya.
Contoh:
entitas mahasiswa 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.
NEXT
BACK
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. Mahasiswa Roshita memiliki NIM 04102002
beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,
Nyanyi, Masak dan Nonton TV)
NEXT
BACK
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 mahasiswa mempunyai atribut NIM dan nama_mahasiswa yang harus diisi
datanya, sebab jika tidak diisi akan terjadi kesalahan (error) dalam basis data
NEXT
BACK
Atribut Bernilai Null (is null)
Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data
untuk setiap barisnya.
Contoh:
entitas mahasiswa mempunyai atribut hobby, nama_pacar yang boleh tidak terisi.
NEXT
BACK
Atribut Turunan
Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.
Contoh:
entitas mahasiswa mempunyai atribut IPK yang diperoleh dari
pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM
mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk
mahasiswa yang bersangkutan.
NEXT
BACK
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
NEXT
BACK
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
NEXT
BACK
Field (Atribut) Kunci
setiap field selalu terdapat kunci berupa field atau satu set field
yang dapat mewakili record.
Misalnya Nomor Induk Mahasiswa (NIM) merupakan
kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian
cukup dengan menyebut NIM mahasiswa tersebut maka dapat diketahui
identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.
Contoh lain:
Nomor Pegawai (NIDN) bagi data dosen, NIK untuk data karyawan,
Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.
NEXT
BACK
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.
NEXT
BACK
Kunci Kandidat (Candidate Key)
Contoh:
Tabel pegawai berisi field:
 nik
 no_ktp
 nama_pegawai
 tmp_lahir
 tgl_lahir
 alamat
 kota
Kunci kandidat dalam tabel pegawai di disamping
dapat dipilih sbb :
 nik
 no_ktp
 nama_pegawai (tidak dapat dipakai karena
sering seseorang punya nama yang
sama dengan orang lain)
 tmp + tgl Lahir (mungkin bisa dipakai
sebagai kunci karena kemungkinan orang
dengan nama yang sama dan tanggal lahir
yang
sama cukup kecil)
 nama + tmp + tgl_lahir (dapat dipakai
sebagai kunci)
 alamat dan kota (bukan kunci)
NEXT
BACK
Kunci Kandidat (Candidate Key)
Contoh Kasus:
Tentukan Kunci Kandidat dari tabel tersebut
Tabel mt_kuliah berisi field:
 id_matkul
 kode_matkul
 nama_matkul
 kurikulum
 semester
 sks
 nilai_minimum
NEXT
BACK
Kunci kandidat dalam tabel mt_kuliah di disamping
dapat dipilih sbb :
 id_matkul
 kode_matkul
 nama_matkul (mungkin bisa dipakai sebagai
kunci karena kemungkinan nama matkul
dengan yang lain ada perbedaan)
 kurikulum + semester + sks +
nilai_minimum (tidak dapat dipakai karena
sering matkul punya data yang
sama dengan matkul lain)
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.
NEXT
BACK
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)
NEXT
BACK
Kunci Primer (Primary Key)
Contoh Kasus:
Tentukan Kunci Primer dari tabel tersebut
Tabel mt_kuliah berisi field:
 id_matkul
 kode_matkul
 nama_matkul
 kurikulum
 semester
 sks
 nilai_minimum
NEXT
BACK
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.
NEXT
BACK
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
NEXT
BACK
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)
NEXT
BACK
Kunci Tamu (Foreign Key)
Contoh Kasus:
Tentukan Kunci Tamu dari tabel tersebut
NEXT
BACK
Kamus Data
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mahasiswa
Fungsi : menyimpan data mahasiswa
NEXT
BACK
Soal
 Buatlah contoh kamus data yang lain,
yang bertemakan akademik?.....
 Syarat: minim 3 table & 5 field
NEXT
BACK
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : dosen
Fungsi : menyimpan data profil dosen
Nama Field Tipe Panjang
Karakter
Keterangan
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
NEXT
BACK
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mt_kuliah
Fungsi : menyimpan data mata kuliah
Nama Field Tipe Panjang
Karakter
Keterangan
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
NEXT
BACK
Bahasa Basisdata
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mtk_open
Fungsi : menyimpan data mata kuliah yang dibuka
Nama Field Tipe Panjang
Karakter
Keterangan
id Integer 10 Primary Key
mtk_id Integer 3
dosen_id Integer 3
thn_ajaran Char 9
aktif Char 1
NEXT
BACK
ERD (Entity Relationship Diagram)
NEXT
BACK
 ERD merupakan suatu model untuk
menjelaskan hubungan antar data
dalam basis data berdasarkan objek-
objek dasar data yang mempunyai
hubungan antar relasi.
ERD (Entity Relationship Diagram)
Symbol
NEXT
BACK
 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.
ERD (Entity Relationship Diagram)
Relasi
NEXT
BACK
Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada
himpunan entitas A berhubungan paling banyak dengan satu
entitas pada himpunan entitas B
entitas 1
entitas 2
entitas 3
entitas 4
A
entitas 1
entitas 2
entitas 3
entitas 4
B
ERD (Entity Relationship Diagram)
Relasi
NEXT
BACK
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.
entitas 1
entitas 2
entitas 3
entitas 5
A
entitas 1
entitas 2
entitas 3
entitas 4
B
ERD (Entity Relationship Diagram)
Relasi
NEXT
BACK
Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B.
entitas 1
entitas 2
entitas 3
entitas 4
A
entitas 1
entitas 2
entitas 3
entitas 4
B
ERD (Entity Relationship Diagram)
Symbol
NEXT
BACK
Symbol Arti
Persegi panjang, menyatakan himpunan
Entitas E.
Lingkaran/Elips, menyatakan Atribut
(atribut yang berfungsi sebagai key
digarisbawahi), atribut a sebagai key.
Belah ketupat, menyatakan himpunan
Relasi
Garis, sebagai penghubung antara
Himpunan relasi dengan himpunan
entitas dan himpunan entitas dengan
atributnya.
E
a
R
ERD (Entity Relationship Diagram)
NEXT
BACK
Keterangan :
Banyak pegawai bekerja pada satu
departemen.
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 :
Keterangan:
Satu pelanggan dapat memesan banyak barang.
Banyak barang dapat diproses pada satu kali penjualan.
PELANGGAN Order
PENJUALAN
BARANG
Proses
1
1
N
N
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.
NEXT
BACK
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.
NEXT
BACK
Bahasa Basisdata
Sebuah bahasa basisdata (database languange) dapat dipilah
ke dalam 2 bentuk, yaitu :
1. Data Definition Language (DDL)
Dengan bahasa inilah kita dapat membuat tabel baru,membuat
indexs, mengubah tabel, menentukan struktur penyimpanan
tabel, dll. Hasil kompilasi perintah DDL adalah kumpulan tabel
yang disimpan dalam file khusus yang disebut Kamus Data
(Data Dictionary). Kamus Data merupakan suatu metadata
yaitu data yang mendeskripsikan data sesungguhnya. Kamus
Data ini selalu diakses ke suatu operasi basis data sebelum file
data yang sesungguhnya diakses.
NEXT
BACK
SQL
NEXT
BACK
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)
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.
Ada 2 Jenis DML, yaitu :
Prosedural, yang mensyaratkan agar pemakai menentukan,
data apa yang diinginkan serta bagaimana cara
mendapatkannya.
Contoh: dBaseIII, FoxBase
Non-Prosedural, yang membuat pemakai dapat menentukan
data apa yang diinginkan tanpa menyebutkan bagaimana cara
mendapatkannya.
Contoh : SQL
NEXT
BACK
SQL
NEXT
BACK
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
SQL
NEXT
BACK
Aturan Penulisan SQL:
 Semua Keywords dari statement SQL diketik dengan
menggunakan huruf besar.
 Informasi bertipe string yang terletak di antara pernyataan
SQL dapat diapit dengan kutip ganda (“) atau kutip tunggal
(‘).
 Pada waktu menampilkan data (recordset), SQL mendukung
penggunaan wildcards dengan lambang asterisk (*).
 Jika nama field atau tabel memiliki spasi di tengahnya, maka
nama tersebut harus diapit dengan lambang ([]).
contoh: [nama pegawai]
 Untuk menunjuk field khusus pada tabel khusus dalam
pernyataan SQL digunakan notasi dot (.)
-> namatabel.namafield
SQL
Command SQL:
NEXT
BACK
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
SQL
Ketika menggunakan query, Anda dapat menggunakan klausa berikut
untuk diimplementasikan dalam statement SQL.
Klausa SQL:
NEXT
BACK
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
Loop
 Entity = Tabel
 Atribut = Field
 Recordset = Record = Data = Baris data
NEXT
BACK
Resep SQL di MySQL (DDL)
NEXT
BACK
 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
Resep SQL di MySQL (DDL)
NEXT
BACK
 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
);
Resep SQL di MySQL (DDL)
NEXT
BACK
 Mengetahui Struktur Tabel:
 Untuk menampilkan struktur tabel dalam bentuk
tabular, gunakan:
DESCRIBE nama_table;
 Untuk menampilkan perintah struktur tabel dalam
bentuk perintah, gunakan:
SHOW CREATE TABLE nama_table;
Resep SQL di MySQL (DDL)
NEXT
BACK
 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;
Resep SQL di MySQL (DDL)
Soal: (Tuliskan dengan SQL)
 Buatlah database dengan nama ->
db_kemahasiswaan
 Buatlah tabel mahasiswa dengan struktur sebagai
berikut:
NEXT
BACK
Nama Field Tipe Data Keterangan
nim Varchar(8) Primary Key
nama Varchar(20) Not Null
jenis_kelamin Char(1) Not Null, L / P
aktif Char(1) Not Null, 1 / 0, Default 1
Resep SQL di MySQL (DDL)
Manajemen Table
 Merubah Field
 Sintaks:
ALTER TABLE nama_table CHANGE COLUMN
field_lama field_baru tipe_data kriteria;
NEXT
BACK
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;
NEXT
BACK
Resep SQL di MySQL (DDL)
Soal: (Tuliskan dengan SQL)
 Nama Tabel: tbl_pegawai
 Merubah Field, nip -> id_pegawai
NEXT
BACK
Resep SQL di MySQL (DDL)
NEXT
BACK
 Menghapus Data dari Tabel
TRUNCATE nama_tabel;
Perintah tersebut guna menghapus baris pada tabel,
alias mengosongkan tabel.
Resep SQL di MySQL (DDL)
NEXT
BACK
 Menghapus Tabel
DROP TABLE nama_table;
DML (Data Manipulation Language)
NEXT
BACK
 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
SQL SELECT / FROM (DML)
State. SELECT / FROM, untuk menampilkan data dari suatu field,
dapat digunakan satu atau lebih tabel.
Sintaks:
SELECT nama_field FROM nama_tabel
NEXT
BACK
SQL SELECT / FROM
SELECT nama_field FROM nama_tabel
Nama Tabel: mhs
NEXT
BACK
*) Tampilkan semua data dari tabel mhs?...
SQL SELECT / FROM
SELECT nama_field FROM nama_tabel
Nama Tabel: mhs
NEXT
BACK
*) Tampilkan semua data dari field nim dan nama dari tabel mhs?...
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
NEXT
BACK
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?...
NEXT
BACK
SQL SELECT / FROM / WHERE
Klausa WHERE digunakan untuk menampilkan
record yang memenuhi kondisi tertentu.
Sintaks:
SELECT nama_field FROM nama_tabel WHERE
kondisi
NEXT
BACK
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
NEXT
BACK
SQL SELECT / FROM / WHERE
SELECT nama_field FROM nama_tabel WHERE kondisi
Nama Tabel: mhs
*) Tampilkan semua data yang mempunyai jenis kelamin =‘P’ dari tabel mhs?...
NEXT
BACK
Studi Kasus (SELECT)
 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”
NEXT
BACK
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
Nama Tabel: mhs
Resep SQL di MySQL
NEXT
BACK
Mengambil Substring
 LEFT(str,jml_str)
 MID(str,awal_posisi,akhir_posisi)
 RIGHT(str,jml_str)
 SELECT * FROM nama_tabel
WHERE LEFT/RIGHT(nama_field,jml_str)=‘’
 SELECT MID(nama_field,awal_posisi,akhir_posisi)
as variabel FROM nama_tabel
Resep SQL di MySQL
NEXT
BACK
 Menggabungkan String
Untuk menggabungkan string digunakan operator || atau
or. Sebagai gantinya gunakan fungsi CONCAT(str1,str2,…)
mysql> SELECT CONCAT(‘a’,’b’,’c’);
-> abc
Resep SQL di MySQL
Select (UCase & LCase)
 UCase -> Mengubah semua teks
menjadi huruf besar
 LCase -> Mengubah semua teks
menjadi huruf kecil
 SELECT UCase(nama_field) as alias,
LCase(nama_field) as alias from
NAMA_TABLE
NEXT
BACK
Resep SQL di MySQL
NEXT
BACK
Pembulatan:
 FLOOR(bil) -> pembulatan ke bawah
 CEIL(bil) -> pembulatan ke atas
 ROUND(bil) -> pembulatan normal
Resep SQL di MySQL
NEXT
BACK
x
1.49
1.5
1.7
2.5
-2.5
-203.4777
153.6565
Nama Table: angka
Resep SQL di MySQL
NEXT
BACK
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
Resep SQL di MySQL
NEXT
BACK
 Menggunakan SELECT sebagai CALCULATOR
mysql> SELECT 1+1;
mysql> SELECT SIN(RADIANS(30));
Resep SQL di MySQL
Fungsi Agregat:
 SUM() -> Jumlah
 AVG() -> Rata - rata
 MAX() -> Nilai Terbesar
 MIN() -> Nilai Terkecil
NEXT
BACK
i
1
2
1
3
3
Resep SQL di MySQL
NEXT
BACK
 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);
Resep SQL di MySQL
NEXT
BACK
 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
Resep SQL di MySQL
NEXT
BACK
 MAX(), MIN(), COUNT(), SUM(), AVG()
--menghitung jumlah baris di tabel angka
mysql> SELECT COUNT(i) FROM angka;
--menghitung jumlah angka yang genap
mysql> SELECT COUNT(i) FROM angka WHERE i % 2 = 0;
--menghitung total jumlah semua angka
mysql> SELECT SUM(i) FROM angka;
--menghitung total jumlah angka yang ganjil
mysql> SELECT SUM(i) FROM angka WHERE i % 2 = 1;
--angka terkecil dan terbesar
mysql> SELECT MIN(i), MAX(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;
Resep SQL di MySQL
NEXT
BACK
 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:
mysql> SELECT field1, COUNT(field1) FROM nama_table
GROUP BY field1 WITH ROLLUP;
Resep SQL di MySQL
 Soal:
Mencari Nilai Kuadrat dari masing-masing id?...
NEXT
BACK
id
1
2
3
4
5
6
Resep SQL di MySQL
 Soal:
Mencari Nilai Kuadrat dari masing-masing id yang bernilai
ganjil?...
NEXT
BACK
id
1
2
3
4
5
6
Resep SQL di MySQL
 Soal:
Mencari Nilai Kuadrat dari masing-masing id yang bernilai
genap?...
NEXT
BACK
id
1
2
3
4
5
6
Resep SQL di MySQL
 Soal:
Kelompokkan Data Karyawan berdasarkan jumlah karyawan
yang mendapatkan nilai gaji yang sama.
NEXT
BACK
NIK NAMA_KAR NILAI_GAJI
01 ABC 700000
02 DEF 800000
03 GHI 700000
04 JKL 800000
05 MNO 700000
06 PQR 850000
Resep SQL di MySQL
NEXT
BACK
 Menggabungkan 2 Tabel
SELECT nama_tabel1.nama_field,nama_tabel2.nama_field
FROM nama_table
WHERE kondisi relasi tabel1 dengan tabel2
Resep SQL di MySQL
NEXT
BACK
 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
Resep SQL di MySQL
NEXT
BACK
 Menggabungkan 2 Tabel
 STUDI KASUS
SINKRONISAI ACCESS 2 MySQL
Resep SQL di MySQL
NEXT
BACK
 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’,….)
Resep SQL di MySQL
NEXT
BACK
 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.
Resep SQL di MySQL
NEXT
BACK
 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.
Resep SQL di MySQL
NEXT
BACK
 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.
Resep SQL di MySQL
NEXT
BACK
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.
Resep SQL di MySQL
NEXT
BACK
 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’);
-- tidak akan melakukan apa-apa,
-- tabel tetap terisi (1,’Bandung’)
INSERT IGNORE INTO t2 VALUES (1,’Jakarta’);
-- tabel kini akan berisi (1,’Jakarta’)
REPLACE INTO t2 VALUES (1,’Jakarta’);
Resep SQL di MySQL
NEXT
BACK
 INSERT dengan MULTIPLE RECORD
INSERT INTO (field1,field2,field3)
SELECT field1,field2,field3 from NAMA_TABLE
Catatan:
Jumlah field Table Source dan Destination harus sama
Resep SQL di MySQL
NEXT
BACK
 Menghapus Data dari Tabel
DELETE FROM nama_table WHERE kondisi;
QUIZ II
NEXT
BACK
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)
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.
DAFTAR PUSTAKA
END

More Related Content

Similar to OPTIMASI_BASIS_DATA

03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis DataAinul Yaqin
 
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.pptBab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.pptsuliantojo
 
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...Pratiwi Rosantry
 
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...Jiantari Marthen
 
Konsep basis data relasional
Konsep basis data relasionalKonsep basis data relasional
Konsep basis data relasionalrian rian
 
penggunaan condition pada C++ (devc++) dan penjelasannya
penggunaan condition pada C++ (devc++) dan penjelasannyapenggunaan condition pada C++ (devc++) dan penjelasannya
penggunaan condition pada C++ (devc++) dan penjelasannyaAngga Joe Amstrong
 
Tugas 9 sia aplikasi basis data relasional rizkyta salsabila 33219010014-co...
Tugas 9 sia aplikasi basis data relasional   rizkyta salsabila 33219010014-co...Tugas 9 sia aplikasi basis data relasional   rizkyta salsabila 33219010014-co...
Tugas 9 sia aplikasi basis data relasional rizkyta salsabila 33219010014-co...RizkytaSalsabila
 
Bab 2. Aplikasi Basis Data
Bab 2. Aplikasi Basis DataBab 2. Aplikasi Basis Data
Bab 2. Aplikasi Basis DataZaenal Abidin
 
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017Nilam Rosfalina
 
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMA
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMANilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMA
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMANilam Rosfalina
 
Sim, aviani safitri, hapzi ali, sistem manajemen database, universitas mercu...
Sim, aviani safitri, hapzi ali,  sistem manajemen database, universitas mercu...Sim, aviani safitri, hapzi ali,  sistem manajemen database, universitas mercu...
Sim, aviani safitri, hapzi ali, sistem manajemen database, universitas mercu...Aviani safitri
 
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018dechavns
 
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Tisa Widyastuti
 
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...SeptiHendarwati
 

Similar to OPTIMASI_BASIS_DATA (20)

03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data
 
Desain database
Desain databaseDesain database
Desain database
 
M1 dbms
M1   dbmsM1   dbms
M1 dbms
 
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.pptBab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
 
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
 
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...
Makalah sistem informasi akuntansi (sistem manajemen database perpustakaan un...
 
Konsep basis data relasional
Konsep basis data relasionalKonsep basis data relasional
Konsep basis data relasional
 
penggunaan condition pada C++ (devc++) dan penjelasannya
penggunaan condition pada C++ (devc++) dan penjelasannyapenggunaan condition pada C++ (devc++) dan penjelasannya
penggunaan condition pada C++ (devc++) dan penjelasannya
 
Tugas 9 sia aplikasi basis data relasional rizkyta salsabila 33219010014-co...
Tugas 9 sia aplikasi basis data relasional   rizkyta salsabila 33219010014-co...Tugas 9 sia aplikasi basis data relasional   rizkyta salsabila 33219010014-co...
Tugas 9 sia aplikasi basis data relasional rizkyta salsabila 33219010014-co...
 
Bab 2. Aplikasi Basis Data
Bab 2. Aplikasi Basis DataBab 2. Aplikasi Basis Data
Bab 2. Aplikasi Basis Data
 
Pertemuan tiga
Pertemuan tigaPertemuan tiga
Pertemuan tiga
 
Makalah basis data
Makalah basis dataMakalah basis data
Makalah basis data
 
Ryanproject11
Ryanproject11Ryanproject11
Ryanproject11
 
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017
Sim5, nilam rosfalina, hapzi ali, database, universitas mercu buana, 2017
 
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMA
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMANilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMA
Nilam rosfalina 5 43216110050 Database Prof Dr Ir Hapzi Ali MM CMA
 
1._Konsep_Basis_Data.pptx
1._Konsep_Basis_Data.pptx1._Konsep_Basis_Data.pptx
1._Konsep_Basis_Data.pptx
 
Sim, aviani safitri, hapzi ali, sistem manajemen database, universitas mercu...
Sim, aviani safitri, hapzi ali,  sistem manajemen database, universitas mercu...Sim, aviani safitri, hapzi ali,  sistem manajemen database, universitas mercu...
Sim, aviani safitri, hapzi ali, sistem manajemen database, universitas mercu...
 
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018
Tugas sim, decha vinesha, yananto mihadi, sistem basis data, 2018
 
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
 
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...
06, sistem informasi manajemen, sistem manajemen bassis data, septi hendarwat...
 

More from merisipahutar

More from merisipahutar (15)

pert 6 7.ppt
pert 6 7.pptpert 6 7.ppt
pert 6 7.ppt
 
pert 2.pptx
pert 2.pptxpert 2.pptx
pert 2.pptx
 
Materi 4.pptx
Materi 4.pptxMateri 4.pptx
Materi 4.pptx
 
Slide-INF205-INF205-Slide-13.pptx
Slide-INF205-INF205-Slide-13.pptxSlide-INF205-INF205-Slide-13.pptx
Slide-INF205-INF205-Slide-13.pptx
 
Lanjutan Pert 2.pptx
Lanjutan Pert 2.pptxLanjutan Pert 2.pptx
Lanjutan Pert 2.pptx
 
pert 4.pptx
pert 4.pptxpert 4.pptx
pert 4.pptx
 
materi 2..pptx
materi 2..pptxmateri 2..pptx
materi 2..pptx
 
materi 1 & 2.pptx
materi 1 & 2.pptxmateri 1 & 2.pptx
materi 1 & 2.pptx
 
materi 3.pptx
materi 3.pptxmateri 3.pptx
materi 3.pptx
 
Awal.pptx
Awal.pptxAwal.pptx
Awal.pptx
 
pertemuan1.pptx
pertemuan1.pptxpertemuan1.pptx
pertemuan1.pptx
 
pert4.pptx
pert4.pptxpert4.pptx
pert4.pptx
 
TEK6255 Manajemen Data Base 2sksTeori_sem5_K19.pdf
TEK6255 Manajemen Data Base 2sksTeori_sem5_K19.pdfTEK6255 Manajemen Data Base 2sksTeori_sem5_K19.pdf
TEK6255 Manajemen Data Base 2sksTeori_sem5_K19.pdf
 
RPS SI SEM 6.pdf
RPS SI SEM 6.pdfRPS SI SEM 6.pdf
RPS SI SEM 6.pdf
 
rps sem4.pdf
rps sem4.pdfrps sem4.pdf
rps sem4.pdf
 

Recently uploaded

PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7IwanSumantri7
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 

Recently uploaded (20)

PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 

OPTIMASI_BASIS_DATA

  • 1. PERANCANGAN BASIS DATA Dosen : Achmad Zakki Falani, S.Kom Fakultas Ilmu Komputer Universitas Narotama Surabaya NEXT
  • 2. Kriteria Penilaian:  Kehadiran : 10 %  Tugas : 15 %  Keaktifan : 15 %  NIlai UTS : 30 % (Reg.)  Nilai UAS : 30 % (Reg.)  Nilai UAS : 60 % (Ins.) NEXT BACK
  • 3. 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. NEXT BACK
  • 4. 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) NEXT BACK
  • 5. 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. 6 fase di atas tidak harus diproses berurutan. Pada beberapa hal, rancangan tsb dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir (feedback loop antara fase) dan feedback loop dalam fase sering terjadi selama proses perancangan. NEXT BACK
  • 6. Fase 1 : Pengumpulan data dan analisa Proses identifikasi dan analisa kebutuhan-kebutuhan data disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem database,pertama-tama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database, termasuk para pemakai yang ada dan para pemakai yang baru serta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi-aplikasi inilah yang kemudian dikumpulkan dan dianalisa. NEXT BACK
  • 7. Aktifitas-aktifitas pengumpulan data dan analisa : 1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya. 2. Peninjauan dokumentasi yang ada. 3. Analisa lingkungan operasi dan pemrosesan data. 4. Daftar pertanyaan dan wawancara. NEXT BACK
  • 8. Fase 2 : Perancangan database konseptual Tujuan dari fase ini adalah menghasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ER/EER model selama fase ini. Dalam conceptual schema, kita harus merinci aplikasi-aplikasi database yang diketahui dan transaksi-transaksi yang mungkin. NEXT BACK
  • 9. 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. NEXT BACK
  • 10. 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. NEXT BACK
  • 11. 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. NEXT BACK
  • 12. 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. NEXT BACK
  • 13. 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. NEXT BACK
  • 14. 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. NEXT BACK
  • 15. 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. NEXT BACK
  • 16. 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
  • 17. 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
  • 18. 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.
  • 19. 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. NEXT BACK
  • 20. 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. NEXT BACK
  • 21. Entity Entity atau entitas, dalam basis data entity sama halnya dengan sebuah tabel. NEXT BACK
  • 22. Atribut Atribut, dalam basis data sama halnya dengan field. NEXT BACK
  • 23. Jenis Atribut  Atribut Sederhana  Atribut Komposit  Atribut Bernilai Tunggal  Atribut Bernilai Jamak  Atribut Harus Bernilai  Atribut Bernilai Null  Atribut Turunan NEXT BACK
  • 24. Atribut Sederhana Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak dapat lagi dipecah menjadi atribut lain. Contoh: Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama Mahasiswa . NEXT BACK
  • 25. Atribut Komposit Atribut Komposit : atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri. Contoh: Entitas mahasiswa 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. NEXT BACK
  • 26. Atribut Bernilai Tunggal Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuk setiap barisnya. Contoh: entitas mahasiswa 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. NEXT BACK
  • 27. 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. Mahasiswa Roshita memiliki NIM 04102002 beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga, Nyanyi, Masak dan Nonton TV) NEXT BACK
  • 28. 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 mahasiswa mempunyai atribut NIM dan nama_mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan terjadi kesalahan (error) dalam basis data NEXT BACK
  • 29. Atribut Bernilai Null (is null) Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data untuk setiap barisnya. Contoh: entitas mahasiswa mempunyai atribut hobby, nama_pacar yang boleh tidak terisi. NEXT BACK
  • 30. Atribut Turunan Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut lain yang berkaitan. Contoh: entitas mahasiswa mempunyai atribut IPK yang diperoleh dari pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk mahasiswa yang bersangkutan. NEXT BACK
  • 31. 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 NEXT BACK
  • 32. 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 NEXT BACK
  • 33. Field (Atribut) Kunci setiap field selalu terdapat kunci berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Induk Mahasiswa (NIM) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut NIM mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya. Contoh lain: Nomor Pegawai (NIDN) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya. NEXT BACK
  • 34. 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. NEXT BACK
  • 35. Kunci Kandidat (Candidate Key) Contoh: Tabel pegawai berisi field:  nik  no_ktp  nama_pegawai  tmp_lahir  tgl_lahir  alamat  kota Kunci kandidat dalam tabel pegawai di disamping dapat dipilih sbb :  nik  no_ktp  nama_pegawai (tidak dapat dipakai karena sering seseorang punya nama yang sama dengan orang lain)  tmp + tgl Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang sama cukup kecil)  nama + tmp + tgl_lahir (dapat dipakai sebagai kunci)  alamat dan kota (bukan kunci) NEXT BACK
  • 36. Kunci Kandidat (Candidate Key) Contoh Kasus: Tentukan Kunci Kandidat dari tabel tersebut Tabel mt_kuliah berisi field:  id_matkul  kode_matkul  nama_matkul  kurikulum  semester  sks  nilai_minimum NEXT BACK Kunci kandidat dalam tabel mt_kuliah di disamping dapat dipilih sbb :  id_matkul  kode_matkul  nama_matkul (mungkin bisa dipakai sebagai kunci karena kemungkinan nama matkul dengan yang lain ada perbedaan)  kurikulum + semester + sks + nilai_minimum (tidak dapat dipakai karena sering matkul punya data yang sama dengan matkul lain)
  • 37. 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. NEXT BACK
  • 38. 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) NEXT BACK
  • 39. Kunci Primer (Primary Key) Contoh Kasus: Tentukan Kunci Primer dari tabel tersebut Tabel mt_kuliah berisi field:  id_matkul  kode_matkul  nama_matkul  kurikulum  semester  sks  nilai_minimum NEXT BACK
  • 40. 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. NEXT BACK
  • 41. 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 NEXT BACK
  • 42. 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) NEXT BACK
  • 43. Kunci Tamu (Foreign Key) Contoh Kasus: Tentukan Kunci Tamu dari tabel tersebut NEXT BACK
  • 44. Kamus Data Contoh Kamus Data : Nama Database : akademik Nama Tabel : mahasiswa Fungsi : menyimpan data mahasiswa NEXT BACK
  • 45. Soal  Buatlah contoh kamus data yang lain, yang bertemakan akademik?.....  Syarat: minim 3 table & 5 field NEXT BACK
  • 46. Bahasa Basisdata Contoh Kamus Data : Nama Database : akademik Nama Tabel : dosen Fungsi : menyimpan data profil dosen Nama Field Tipe Panjang Karakter Keterangan 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 NEXT BACK
  • 47. Bahasa Basisdata Contoh Kamus Data : Nama Database : akademik Nama Tabel : mt_kuliah Fungsi : menyimpan data mata kuliah Nama Field Tipe Panjang Karakter Keterangan 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 NEXT BACK
  • 48. Bahasa Basisdata Contoh Kamus Data : Nama Database : akademik Nama Tabel : mtk_open Fungsi : menyimpan data mata kuliah yang dibuka Nama Field Tipe Panjang Karakter Keterangan id Integer 10 Primary Key mtk_id Integer 3 dosen_id Integer 3 thn_ajaran Char 9 aktif Char 1 NEXT BACK
  • 49. ERD (Entity Relationship Diagram) NEXT BACK  ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek- objek dasar data yang mempunyai hubungan antar relasi.
  • 50. ERD (Entity Relationship Diagram) Symbol NEXT BACK  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.
  • 51. ERD (Entity Relationship Diagram) Relasi NEXT BACK Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B entitas 1 entitas 2 entitas 3 entitas 4 A entitas 1 entitas 2 entitas 3 entitas 4 B
  • 52. ERD (Entity Relationship Diagram) Relasi NEXT BACK 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. entitas 1 entitas 2 entitas 3 entitas 5 A entitas 1 entitas 2 entitas 3 entitas 4 B
  • 53. ERD (Entity Relationship Diagram) Relasi NEXT BACK Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. entitas 1 entitas 2 entitas 3 entitas 4 A entitas 1 entitas 2 entitas 3 entitas 4 B
  • 54. ERD (Entity Relationship Diagram) Symbol NEXT BACK Symbol Arti Persegi panjang, menyatakan himpunan Entitas E. Lingkaran/Elips, menyatakan Atribut (atribut yang berfungsi sebagai key digarisbawahi), atribut a sebagai key. Belah ketupat, menyatakan himpunan Relasi Garis, sebagai penghubung antara Himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya. E a R
  • 55. ERD (Entity Relationship Diagram) NEXT BACK Keterangan : Banyak pegawai bekerja pada satu departemen.
  • 56. 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!
  • 57. SOLUSI ER Diagram : Keterangan: Satu pelanggan dapat memesan banyak barang. Banyak barang dapat diproses pada satu kali penjualan. PELANGGAN Order PENJUALAN BARANG Proses 1 1 N N
  • 59. 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. NEXT BACK
  • 60. 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. NEXT BACK
  • 61. Bahasa Basisdata Sebuah bahasa basisdata (database languange) dapat dipilah ke dalam 2 bentuk, yaitu : 1. Data Definition Language (DDL) Dengan bahasa inilah kita dapat membuat tabel baru,membuat indexs, mengubah tabel, menentukan struktur penyimpanan tabel, dll. Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). Kamus Data merupakan suatu metadata yaitu data yang mendeskripsikan data sesungguhnya. Kamus Data ini selalu diakses ke suatu operasi basis data sebelum file data yang sesungguhnya diakses. NEXT BACK
  • 62. SQL NEXT BACK 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)
  • 63. 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. Ada 2 Jenis DML, yaitu : Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. Contoh: dBaseIII, FoxBase Non-Prosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Contoh : SQL NEXT BACK
  • 64. SQL NEXT BACK 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
  • 65. SQL NEXT BACK Aturan Penulisan SQL:  Semua Keywords dari statement SQL diketik dengan menggunakan huruf besar.  Informasi bertipe string yang terletak di antara pernyataan SQL dapat diapit dengan kutip ganda (“) atau kutip tunggal (‘).  Pada waktu menampilkan data (recordset), SQL mendukung penggunaan wildcards dengan lambang asterisk (*).  Jika nama field atau tabel memiliki spasi di tengahnya, maka nama tersebut harus diapit dengan lambang ([]). contoh: [nama pegawai]  Untuk menunjuk field khusus pada tabel khusus dalam pernyataan SQL digunakan notasi dot (.) -> namatabel.namafield
  • 66. SQL Command SQL: NEXT BACK 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
  • 67. SQL Ketika menggunakan query, Anda dapat menggunakan klausa berikut untuk diimplementasikan dalam statement SQL. Klausa SQL: NEXT BACK 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
  • 68. Loop  Entity = Tabel  Atribut = Field  Recordset = Record = Data = Baris data NEXT BACK
  • 69. Resep SQL di MySQL (DDL) NEXT BACK  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
  • 70. Resep SQL di MySQL (DDL) NEXT BACK  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 );
  • 71. Resep SQL di MySQL (DDL) NEXT BACK  Mengetahui Struktur Tabel:  Untuk menampilkan struktur tabel dalam bentuk tabular, gunakan: DESCRIBE nama_table;  Untuk menampilkan perintah struktur tabel dalam bentuk perintah, gunakan: SHOW CREATE TABLE nama_table;
  • 72. Resep SQL di MySQL (DDL) NEXT BACK  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;
  • 73. Resep SQL di MySQL (DDL) Soal: (Tuliskan dengan SQL)  Buatlah database dengan nama -> db_kemahasiswaan  Buatlah tabel mahasiswa dengan struktur sebagai berikut: NEXT BACK Nama Field Tipe Data Keterangan nim Varchar(8) Primary Key nama Varchar(20) Not Null jenis_kelamin Char(1) Not Null, L / P aktif Char(1) Not Null, 1 / 0, Default 1
  • 74. Resep SQL di MySQL (DDL) Manajemen Table  Merubah Field  Sintaks: ALTER TABLE nama_table CHANGE COLUMN field_lama field_baru tipe_data kriteria; NEXT BACK
  • 75. 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; NEXT BACK
  • 76. Resep SQL di MySQL (DDL) Soal: (Tuliskan dengan SQL)  Nama Tabel: tbl_pegawai  Merubah Field, nip -> id_pegawai NEXT BACK
  • 77. Resep SQL di MySQL (DDL) NEXT BACK  Menghapus Data dari Tabel TRUNCATE nama_tabel; Perintah tersebut guna menghapus baris pada tabel, alias mengosongkan tabel.
  • 78. Resep SQL di MySQL (DDL) NEXT BACK  Menghapus Tabel DROP TABLE nama_table;
  • 79. DML (Data Manipulation Language) NEXT BACK  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
  • 80. SQL SELECT / FROM (DML) State. SELECT / FROM, untuk menampilkan data dari suatu field, dapat digunakan satu atau lebih tabel. Sintaks: SELECT nama_field FROM nama_tabel NEXT BACK
  • 81. SQL SELECT / FROM SELECT nama_field FROM nama_tabel Nama Tabel: mhs NEXT BACK *) Tampilkan semua data dari tabel mhs?...
  • 82. SQL SELECT / FROM SELECT nama_field FROM nama_tabel Nama Tabel: mhs NEXT BACK *) Tampilkan semua data dari field nim dan nama dari tabel mhs?...
  • 83. 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 NEXT BACK
  • 84. 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?... NEXT BACK
  • 85. SQL SELECT / FROM / WHERE Klausa WHERE digunakan untuk menampilkan record yang memenuhi kondisi tertentu. Sintaks: SELECT nama_field FROM nama_tabel WHERE kondisi NEXT BACK
  • 86. 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 NEXT BACK
  • 87. SQL SELECT / FROM / WHERE SELECT nama_field FROM nama_tabel WHERE kondisi Nama Tabel: mhs *) Tampilkan semua data yang mempunyai jenis kelamin =‘P’ dari tabel mhs?... NEXT BACK
  • 88. Studi Kasus (SELECT)  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” NEXT BACK 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 Nama Tabel: mhs
  • 89. Resep SQL di MySQL NEXT BACK Mengambil Substring  LEFT(str,jml_str)  MID(str,awal_posisi,akhir_posisi)  RIGHT(str,jml_str)  SELECT * FROM nama_tabel WHERE LEFT/RIGHT(nama_field,jml_str)=‘’  SELECT MID(nama_field,awal_posisi,akhir_posisi) as variabel FROM nama_tabel
  • 90. Resep SQL di MySQL NEXT BACK  Menggabungkan String Untuk menggabungkan string digunakan operator || atau or. Sebagai gantinya gunakan fungsi CONCAT(str1,str2,…) mysql> SELECT CONCAT(‘a’,’b’,’c’); -> abc
  • 91. Resep SQL di MySQL Select (UCase & LCase)  UCase -> Mengubah semua teks menjadi huruf besar  LCase -> Mengubah semua teks menjadi huruf kecil  SELECT UCase(nama_field) as alias, LCase(nama_field) as alias from NAMA_TABLE NEXT BACK
  • 92. Resep SQL di MySQL NEXT BACK Pembulatan:  FLOOR(bil) -> pembulatan ke bawah  CEIL(bil) -> pembulatan ke atas  ROUND(bil) -> pembulatan normal
  • 93. Resep SQL di MySQL NEXT BACK x 1.49 1.5 1.7 2.5 -2.5 -203.4777 153.6565 Nama Table: angka
  • 94. Resep SQL di MySQL NEXT BACK 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
  • 95. Resep SQL di MySQL NEXT BACK  Menggunakan SELECT sebagai CALCULATOR mysql> SELECT 1+1; mysql> SELECT SIN(RADIANS(30));
  • 96. Resep SQL di MySQL Fungsi Agregat:  SUM() -> Jumlah  AVG() -> Rata - rata  MAX() -> Nilai Terbesar  MIN() -> Nilai Terkecil NEXT BACK i 1 2 1 3 3
  • 97. Resep SQL di MySQL NEXT BACK  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);
  • 98. Resep SQL di MySQL NEXT BACK  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
  • 99. Resep SQL di MySQL NEXT BACK  MAX(), MIN(), COUNT(), SUM(), AVG() --menghitung jumlah baris di tabel angka mysql> SELECT COUNT(i) FROM angka; --menghitung jumlah angka yang genap mysql> SELECT COUNT(i) FROM angka WHERE i % 2 = 0; --menghitung total jumlah semua angka mysql> SELECT SUM(i) FROM angka; --menghitung total jumlah angka yang ganjil mysql> SELECT SUM(i) FROM angka WHERE i % 2 = 1; --angka terkecil dan terbesar mysql> SELECT MIN(i), MAX(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;
  • 100. Resep SQL di MySQL NEXT BACK  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: mysql> SELECT field1, COUNT(field1) FROM nama_table GROUP BY field1 WITH ROLLUP;
  • 101. Resep SQL di MySQL  Soal: Mencari Nilai Kuadrat dari masing-masing id?... NEXT BACK id 1 2 3 4 5 6
  • 102. Resep SQL di MySQL  Soal: Mencari Nilai Kuadrat dari masing-masing id yang bernilai ganjil?... NEXT BACK id 1 2 3 4 5 6
  • 103. Resep SQL di MySQL  Soal: Mencari Nilai Kuadrat dari masing-masing id yang bernilai genap?... NEXT BACK id 1 2 3 4 5 6
  • 104. Resep SQL di MySQL  Soal: Kelompokkan Data Karyawan berdasarkan jumlah karyawan yang mendapatkan nilai gaji yang sama. NEXT BACK NIK NAMA_KAR NILAI_GAJI 01 ABC 700000 02 DEF 800000 03 GHI 700000 04 JKL 800000 05 MNO 700000 06 PQR 850000
  • 105. Resep SQL di MySQL NEXT BACK  Menggabungkan 2 Tabel SELECT nama_tabel1.nama_field,nama_tabel2.nama_field FROM nama_table WHERE kondisi relasi tabel1 dengan tabel2
  • 106. Resep SQL di MySQL NEXT BACK  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
  • 107. Resep SQL di MySQL NEXT BACK  Menggabungkan 2 Tabel  STUDI KASUS SINKRONISAI ACCESS 2 MySQL
  • 108. Resep SQL di MySQL NEXT BACK  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’,….)
  • 109. Resep SQL di MySQL NEXT BACK  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.
  • 110. Resep SQL di MySQL NEXT BACK  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.
  • 111. Resep SQL di MySQL NEXT BACK  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.
  • 112. Resep SQL di MySQL NEXT BACK 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.
  • 113. Resep SQL di MySQL NEXT BACK  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’); -- tidak akan melakukan apa-apa, -- tabel tetap terisi (1,’Bandung’) INSERT IGNORE INTO t2 VALUES (1,’Jakarta’); -- tabel kini akan berisi (1,’Jakarta’) REPLACE INTO t2 VALUES (1,’Jakarta’);
  • 114. Resep SQL di MySQL NEXT BACK  INSERT dengan MULTIPLE RECORD INSERT INTO (field1,field2,field3) SELECT field1,field2,field3 from NAMA_TABLE Catatan: Jumlah field Table Source dan Destination harus sama
  • 115. Resep SQL di MySQL NEXT BACK  Menghapus Data dari Tabel DELETE FROM nama_table WHERE kondisi;
  • 116. QUIZ II NEXT BACK 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)
  • 117. 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. DAFTAR PUSTAKA END