STMIK DIPANEGARA MAKASSAR Modul Praktikum Basis Data
Jun 27, 2015
STMIK DIPANEGARA
MAKASSAR
Modul Praktikum
Basis Data
Daftar ISI
CHAPTER1. MENGENAL BASIS DATA
1.1 Perancangan Basis Data1. Entitas 2. Atribut 3. Normalisasi
CHAPTER 2. IMPLEMENTASI PERANCANGAN BASIS DATA
2.1 Membuat Basis Data di Access
2.2 Membuat dan Mendesain Tabel di AccessMerancang Tabel dengan Fasilitas Create Table in Design View Merancang Tabel dengan Fasilitas Create Table by Entering Data
2.3 Membuat Relasi 1. One-to-many relationship (relasi satu ke banyak) 2. Many-to-many relationship (relasi banyak ke banyak)3. One-to-one relationship (relasi satu ke satu)
2.4 Mengedit Struktur TabelMenentukan dan Mengubah Primary Key Mengatur Field pada Tabel
CHAPTER 3. STRUCTURE QUERY LANGUAGE (SQL)
3.1 Membuat Tabel
3.2 Merubah Struktur Tabel1. Menambah field atau kolom2. Mengganti nama field atau kolom 3. Menghapus field atau kolom
3.3 Menghapus Tabel
3.4 Relasi Antar Tabel
3.5 Menampilkan Data
3.6 Menampilkan Isi Tabel
3.7 Mengubah Data
3.8 Menghapus Data
CHAPTER 4. ERANCANGAN BASISDATA DI MYSQL
4.1 Membuat Database
1
1124
7
7
101212
13131314
141515
17
17
17171818
18
19
20
20
21
21
22
22
- DAFTAR ISI - I
4.2 Melihat Database
4.3 Membuat Database
4.4 Menghapus Database
4.5 Tabel 1. Membuat Tabel2. Melihat Struktur Tabel3. Mengubah Sruktur Tabel4. Mengganti Nama Tabel5. Menghapus Tabel
4.6 Relasi1. Membuat tabel baru dan langsung di relasikan. 2. Membuat relasi pada tabel lama.
CHAPTER 5. PEMBUATAN BASIS DATA DI INTERBASE
5.1 Membuat Database
5.2 Tabel 1. Membuat Tabel2. Merubah Struktur Tabel3. Menghapus Tabel
5.3 Relasi
5.4 Stored Procedures 1. Membuat Select procedure sederhana 2. Membuat executable procedure sederhana
5.5 View
5.6 Trigger
CHAPTER 6. MENAMPILKAN ISI TABEL
6.1 Inner Join
6.2 Straight Join
6.3 Left (Outer) Join
6.4 Right (Outer) Join
6.5 Natural (Right | Left (Outer)) Join
22
23
23
232325262727
282828
29
29
31323233
33
343435
35
37
41
41
41
41
42
42
- DAFTAR ISI - II
Chapter
1 MengenalBasisData
Basis Data terdiri dari dua kata, yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau
gudang yaitu tempat bersarang/berkumpul. Sedangkan Data adalah representasi fakta dunia nyata
yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan
sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Beberapa definisi tentang basis data :
1. Basis data merupakan himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan
tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan
elektronis.
Prinsip utama basis data adalah pengaturan data/arsip. Sedangkan tujuan utamanya adalah
kemudahan dan kecepatan dalam pengambilan kembali data/arsip. Satu hal yang juga harus
diperhatikan, bahwa basis data bukan hanya sekedar penyimpanan data secara elektronis (dengan
bantuan komputer). Artinya, tidak semua bentuk penyimpanan data secara elektronis bisa disebut
basis data. Kita dapat menyimpan dokumen berisi data dalam file teks (dengan program pengolah
kata), file spread sheet, dan lain-lain, tetapi tidak bisa disebut sebagai basis data karena di dalamnya
tidak ada pemilihan dan pengelompokan data sesuai jenis/fungsi data, sehingga akan menyulitkan
pencarian data kelak. Dalam sebuah basis data yang sangat ditonjolkan adalah
pengaturan/pemilihan/pengelompokkan/pengorganisasian data yang akan kita simpan sesuai dengan
fungsi/jenisnya.
1.1 Perancangan Basis Data
Untuk merancang basis data kita perlu mengetahui terlebih dahulu komponen-komponen basis data
tersebut. Komponen yang paling penting adalah entitas dan atribut.
1. Entitas
Entitas digunakan untuk menerapkan integritas pada tingkat Entity (Tabel), agar setiap Instances
(Record/Baris) pada suatu Entity bersifat Unique yang disebut sebagai Primary Key sehingga dapat
dibedakan antara yang satu dengan yang lainnya.
CHAPTER 1 - MENGENAL BASIS DATA - 1
Contohnya :
- Semua Pelanggan, atau Pelanggan saja
dengan entitas Ani, Budi, Amin dan seterusnya
- Semua Mobil, atau Mobil apa saja
dengan entitas mobil Kijang, Starlett dan lain-lain
- Semua Mahasiswa, atau Mahasiswa saja
dengan entitas Eti, Ahmad, dll.
2. Atribut
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik dari Entitas tersebut.
penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya
dalam pembentukan model data. Penetapan atribut bagi sebuah entitas umumnya memang
didasarkan pada fakta yang ada. Tetapi tidak selalu seperti itu. Istilah atribut sebenarnya identik
dengan pemakaian kolom data.
Macam-macam atribut :
1. Atribut Deskriptif
adalah atribut-atribut yang tidak menjadi atau merupakan anggota dari Key Primer.
Contoh : atribut-atribut nama_mhs, alamat_mhs, dan tgl_lahir.
2. Atribut Sederhana dan Atribut Komposit
Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lagi. Sedangkan Atribut Komposit
adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing
memiliki makna.
Contoh atribut sederhana : atribut nama_mhs
Contoh atribut komposit : stribut alamat_mhs dimana alamat masih dapat diurai lagi menjadi
alamat, nama kota, kode pos yang masing-masing memiliki makna.
…………
nim nama_mhsAsniBertrand……
alamat_mhsJl. Beringin V No.4Jl. Mawar No. 9……
tgl_lahir….….….…
dapat diuraikan menjadi
3 aribut
Alamat kota kode_pos
Jl. Beringin V No.4Jl. Mawar No. 9
YogyaYogya
881432881265
3. Atribut Bernilai Tunggal dan Atribut Bernilai Banyak
Atribut yang bernilai tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai
untuk setiap basis data.
CHAPTER 1 - MENGENAL BASIS DATA - 2
Contoh aribut bernilai tunggal : nim, nama_mhs, alamat_mhs dan tgl_lahir karena atribut-atribut
tersebut hanya dapat berisi satu niali.
Contoh atribut bernilai banyak : atribut hobi karena bisa diisi dengan banyak nilai. Seseorang bisa
mempunyai hobi lebih dari satu.
Atribut Bernilai Tunggal Atribut Bernilai Ganda
nim456842 ….
587542 ….
458645 ….
nama….
….….
alamat tgl_lahir….
….….
hobimemasak,membacamenarimenyanyihunting foto
4. Atribut Harus Bernilai
Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus berisi data. Jadi nilainya tidak
boleh kosong (Mandatory Atribut).
Contoh : nim, nama_mhs karena setiap mahasiswa yang ingin datanya disimpan di tabel tersebut
paling tidak aharus diketahui nama dan nimmnya.
Mandatory Atribut Non Mandatory Attribut
nim456842 ….
587542 ….
458645 ….
nama….
….….
alamat tgl_lahir….
….….
hobimemasak,membacamenari
hunting foto154625 Eko
bersisi data baru
naik gunung
berisi Null, karena datanya berisi Null
belum siap/masih meragukan karena memang
tidak punya hobi
5. Attribut Turunan
Attribut turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan
dari attribut atau tabel lain yang berhubungan.
Contoh : penambahan atribut angkatan dan ip seperti gambar di bawah
CHAPTER 1 - MENGENAL BASIS DATA - 3
….….
nim456842 ….
….…
587542 ….458645 ….
nama….……….….
alamat tgl_lahir….….….….….
Merupakan atribut turunan
angkatan ip1998 3,41998 2,8
…. ….1999 2,91999 3,1
154625 Eko
3. Normalisasi
…. …. …. …
Dalam perancangan sebuah basis data perlu dilakukan secara cermat agar dihasilkan basis data yang
kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah
dalam manipulasi data. Salah satu cara yang dapat dilakukan dalam merancang basis data seperti ini
adalah dengan melakukan normalisasi.
Normalisasi adalah proses penyusunan tabel-tabel yantg tidak redundan (dobel), yang dapat
menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah, ubah dan hapus.
Anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya
menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain
dihapus).
Sebuah tabel dapat dikategorikan efisien atau normal jika telajh memenuhi tiga kriteria, yaitu :
1. Jika ada dekomposisi tabel dimana dekomposisinya dijamin aman (Lossless Join Decompotition).
Dekomposisi adalah proses pemisahan satu tabel menjadi dua atau lebih tabel baru.
2. Trepeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Codd Normal Form (BCNF).
Tahap-tahap normalisasi :
1. Membawa suatu relasi tak ternormalisasi ke bentuk normal kesatu (1NF) dengan cara menghapus
semua pegulangan group dan mungkin diperlukan pemecahan relasi menjadi 2 atau lebih. Pada
langkah ini diperlukan pula penentuan kunci primer (primary key). Suatu relasi dikatakan berada
dalam bentuk normal kesatu (1NF) bila tidak terjadi pengulangan group atau semua data bersifat
atomik.
CHAPTER 1 - MENGENAL BASIS DATA - 4
Tabel mahasiswanimnama_mhsalamat_jalannama_kotakode-postgl_lahir dekomposisi menjadi 2 tabel
Tabel Mahasiswanimnama_mhsalamat_jalannama_kotatgl_lahir
Tabel Alamatalamat_jalannama_kotakode_pos
2. Menghilangkan ketergantungan parsial atribut yaitu merubah/memecah relasi sehingga semua
atribut bergantung fungsi kepada kunci primer. Ini disebut bentuk normal kedua (2NF).
kode-kul nim nama-mhs indeks_nilaiMMA-1MMA-2MMA-3PDS-1PDS-2
584254123489451264354216125647
SatriaDianSariYuni
Agung
Tabel 1
AB
BC
kode-kul nim indeks_nilai nim nama-mhsMMA-1MMA-2MMA-3PDS-1PDS-2
584254123489451264354216125647
AB
BC
Tabel 2
584254123489451264354216125647
SatriaDianSariYuni
Agung
Dari tabel1 dapat dilihat bahwa terdapat lebih dari satu ketergantungan fungsional terhadap kunci
primernya, yaitu atribut indeks_nilai yang bergantung penuh kepada atribut kode-kul dan nim
sebagai kunci primernya, sedangkan atribut nama-mhs juga bergantung penuh terhadap atribut
nim (padahal atribut nim hanya bagian dari kunci primer), jadi tabel1 dikatakan tidak memenuhi
syarat 2NF.
Pada tabel 2, tabel1 dipecah menjadi 2 tabel sehingga bentuknya menjadi 2NF.
3. Mengeliminasi ketergantungan transitif yaitu merubah/memecah sebagai relasi sehingga semua
atribut yang bukan kunci tergantung fungsi secara penuh kepada kunci primer/tidak ada
CHAPTER 1 - MENGENAL BASIS DATA - 5
ketergantungan parsial yaitu ketergantungan atribut kepada atribut yang bukan kunci. Ini disebut
bentuk normal ketiga (3NF).
nim nama alamat_jalan nama_kota kode_pos584254123489
Satria Jl. MawarDian Jl. Kenanga
YogyaSemarang
4409855192
451264354216
SariYuni
Jl. Kebon Jeruk YogyaJl. Beringin Raya Solo
4412341547
125647 Agung Jl. Beruang Semarang 55194
nim nama alamat_jalan
Tabel 1
kode_pos nama_kota584254 Satria123489 Dian451264 Sari354216 Yuni125647 Agung
Jl. MawarJl. KenangaJl. Kebon JerukJl. Beringin RayaJl. Beruang
Tabel 2
44098 Yogya55192 Semarang44123 Yogya41547 Solo55194 Semarang
Pada tabel1 alamat mahasiswa di pecah menjadi beberapa atribut yaitu alamat_jalan, nama_kota dan
kode_pos dan pada tabel ini yang bertindak sebagai kunci primernya adalah nim, tetapi pada tabel1 ini
ada atribut lain yang bukan kunci primer yang saling tergantung yaitu atribut nama_kota bergantung
pada atribut kode pos, sehingga tabel1 dikatakan tidak normal karena tidak memenuhi bentuk 3NF.
Agar tabel1 dapat dikatakan bentuk normal maka tabel1 dipecah menjadi 2 tabel yang terlihat pada
tabel2, atribut nama dan atribut alamat_jalan bergantung dengan kunci primernya yaitu atribut nim,
sedangkan pada tabel selanjutnya atribut nama_kota bergantung kepada kunci primernya yaitu atribut
kode_pos.
CHAPTER 1 - MENGENAL BASIS DATA - 6
Chapter
2 ImplementasiPerancanganBasisData
Microsoft Access versi 2000 yang selanjutnya akan disebut dengan Access 2000 merupakan salah
satu program aplikasi basis data (database) yang lengkap. Dengan Access 2000 kita dapat
merancang, membuat dan mengelola database dengan mudah.
Database pada Access 2000 dapat terdiri atas satu atau beberapa tabel, query, form, report, page,
makro, dan modul yang semuanya berhubungan atau saling tekait.
• Tables, berupa tabel kumpulan data yang merupakan komponen utama dari sebuah
database.
• Queries, digunakan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari
satu tabel atau lebih.
• Forms, dipergunakan untuk menampilkan data, mengisi data dan engubah data yang ada di
dalam tabel.
• Reports, dipergunakan untuk menampilkan laporan hasil analisa data.
• Pages, dipergunakan untuk membuat halaman Web (page) berupa data access page.
• Macros, untuk mengotomatisasi perintah-perintah yang sering digunakan dalam mengolah
data.
• Modules, digunakan untuk perancangan berbagai modul.
2.1 Membuat Basis Data di Access
Database pada Access 2000 disimpan ke dalam sebuah file yang berekstensi mdb. Untuk membuat
database baru yang masih kosong ada beberapa cara :
Cara I :
1. Jalankan atau aktifkan program Aplikasi Access 2000. Kotak dialog Microsoft Access Start Up
akan ditampilkan.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 7
2. Pada kotak dialog tersebut, beri tanda atau klik tombol pilihan Blank Access Database. Kemudian
klik OK. Kotak dialog File New Database akan ditampilkan.
3. Pada tombol daftar pilihan Save in, pilih drive dan folder tempat untuk menyimpan file tersebut.
4. Pada kotak isian File name, ketikkan nama file yang diinginkan. Misal pada gambar di atas nama
filenya db1.
5. Klik tombol perintah Create. Tunggu sampai database baru yang masih kosong terbentuk.
Cara II :
1. Pada jendela program aplikasi Access 2000, pilih dan klik menu File, New (Ctrl+N) atau klik tombol
toolbar New. Kotak dialog New akan ditampilkan.
2. Pada tab General, pilih dn klik icon Database. Kemudian klik OK. Kotak dialog File New Database
akan ditampilkan.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 8
3. Pada kotak dialog tersebut, lakukan pemilihan nama drive/folde dan ketikkan nama file database
yang diinginkan. Kemudian pilih dan klik tombol perintah Create. Tunggu sampai database baru
yang masih kosong terbentuk.
Cara III :
Menggunakan Tombol Toolbar:
New Database yaitu tombol untuk membuat database baru yang masih kosong.
Cara IV:
Membuat database dengan fasilitas database wizard. Access 2000 menyediakan pula fasilitas
Database Wizard, yang akan membantu dan memandu untuk membuat database baru. Langkah-
langkahnya :
1. Aktifkan program aplikasi Access 2000. Kotak dialog Microsoft Access Startup akan ditampilkan.
2. Pada kotak dialog tersebut, beri tanda atau klik tombol pilihan Access database wizards, pages,
and projects. Kemudian klik OK. Kotak dialog New akan ditampilkan.
3. Pada kotak dialog tersebut pilih dan klik icon file database yang paling sesuai. Kemudian klik OK.
Kotak dialog File New Database akan ditampilkan.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 9
4. Pad atombol daftar pilihan Save in, pilih drive dan folder tempat file akan disimpan.
5. Pada kotak isian File name, ketikkan nama file yang diinginkan.
6. Klik tombol perintah Create. Tunggu sampai kotak dialog Database Wizard yang pertama
ditampilkan.
7. Pada kotak dialog Database Wizard tersebut akan ditampilkan berbagai keterangan dari database
yang akan dibentuk, bila sudah dibaca klik tombol perintah Next.
8. Pada kotak dialog tersebut lakukan pemilihan nama Field yang akan digunakan pada setiap tabel
yang akan dibentuk. Kemudian klik tombol Next.
9. Pada kotak dialog tersebut, pilih dan klik gaya tampilan di layar. Kemudian klik Next
10. Setelah itu pilih dan klik gaya tampilan repotr untuk pencetakan ke printer. Kemudian klik Next.
11. Ketikkan judul databasenya.
2.2 Membuat dan Mendesain Tabel di Access
Setelah selesai membuat database baru yang masih kosong, langkah berikutnya yaitu merancang dan
membuat tabel pada database tersebut.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 10
Tabel adalah kumpulan data yang berhubungan dengan topik tertentu. Dengan menggunakan tabel-
tabel yang terpisah untuk tiap topik tertentu dapat membuat database menjadi lebih efisien dan
mengurangi kesalahan pemasukan data. Tabel mengorganisasikan data ke dalam kolom-kolom
(dinamakan field) dan baris-baris (dinamakan record).
Sebelum merancang dan membuat tabel baru, ada baiknya mengenal terlebih dahulu berbagai jenis
data yang akan ditempakan pada setiap field.
1. Text
Dapat menerima huruf, angka, spasi dan atnda baca. Text menampung hingga 255 karakter, atau
sebanyak lebar yang dibutuhkan dan ditentukan dalam properti FieldSize.
2. Memo
Dapat menerima teks apa saja sebagai catatan atau keterangan dengan panjang maksimal 65535
karakter.
3. Number
Berisi data bilangan yang digunakan untuk perhitungan matematis. Ukurannya tergantung dari
properti FieldSize yan diinginkan.
Setting Jangkauan Ketelitian Ukuran
Byte
Ineteger
Long Integer
Single
0-255
-32768 s.d 32767
-2147483648 s.d
2147483647
-3.402823E38 s.d –
1.401298E-45 untuk nilai negatif
1.401298E-45 s.d 3.402823E38 untuk
nilai positif
-
-
-
1 byte
2 byte
4 byte
Double -1.79769313486231E308 s.d
-4.94065645841247E-324 untuk nilai
negatif.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 11
Replication Id
1.79769313486231E308 s.d
4.94065645841247E-324 untuk nilai
positif.
-
15 8 byte
- 16 byte
4. Date/TimeHanya dapat menerima tanggal/waktu.
5. Currency, berisi nilai uang dan data bilangan yang digunakan dalam perhitungan matematis
termasuk data dengan 1 sampai 4 angka di belakang tanda desimal.
6. Auto Number, berisi bilangan yang berurutan atau bilangan acak yang unik.
7. Yes/No, berisi nilai Yes atau No.
8. OLE Object, berisi obyek yang dikaitkan ke atau disisipkan ke dalam Tabel.
9. Hyperlink, dapat diisi dengan alamat hyperlink.
10. Lookup Wizzard, memungkinkan untuk memilih nilai dari tabel lain.
Merancang Tabel dengan Fasilitas Create Table in Design View
1. Buka file database, klik Tables yang ada di bawah Object.
2. Pada jendela kerja database dengan pilihan obyek tables tersebut, lik dua kali Create table in
Design View.
3. Lakukan pendefinisian struktur tabel dengan cara mengisi nama field, jenis data dan keterangan.
Pada saat akan mengisi field name, tentukan juga mana field name yang akan jadi Primary Key-nya.
4. Isi juga field propertynya jika perlu.
Merancang Tabel dengan Fasilitas Create Table by Entering Data
1. Buka file database, klik Tables yang ada di bawah Objects.
2. Pilh Create Table by Using Entering Data.
3. Ubah nama field dengan cara memilih kolom yang akan diubah nama fieldnya kemudian pilih dan
klik menu Format, Rename Column atau klik dua kali pada nama fieldnya.
4. Ubah lebar kolom dengan cra mengarahkan penunjuk mouse pada batas kanan nama kolom.
5. Setelah merancang tabel, simpan tabel tersebut dengan memilih File, Save.
6. Pada kotak isian Table Name, ketik nama untuk tabel tersebut.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 12
2.3 Membuat Relasi
Relasi antar tabel bekerja dengan mencocokkan data dalam field kunci, biasanya berupa field yang
memiliki nama yang sama pada kedua tabel yang memiliki relasi. Pada umumnya field-fied yang
bersesuaian ini adalah primary key pada tabel yang satu, yang memberikan identitas unik bagi tiap
recod dalam tabel tersebut dan foreign key paad tabel yang lainnya.
Jenis-Jenis relasi Antar Tabel :
1. One-to-many relationship (relasi satu ke banyak)
Relasi satu ke banyak adalah jenis relasi yang paling umum. Dalam relasi satu ke banyak, sebuah
record dalam tabel A dapat emiliki banyak record yang bersesuain dalam tabel B. Tetapi sebuah
record dalam tabel B hanya memiliki sebuah record yang bersesuain dalam tabel A.
Contoh :
Keterangan : Pada relasi tabel di atas, satu mahasiswa dapat mengambil lebih dari satu mata kuliah.
2. Many-to-many relationship (relasi banyak ke banyak)
Dlam relasi banyak ke banyak, sebuah record dalam tabel A dapat memiliki banyak record yang
bersesuaian dalam tabel B, dan sebuah record dalam tabel B dapat memiliki banyak record yang
bersesuain dalam tabel A. Jens relasi ini hanya dimungkinkan juka kita mendefinisikan tabel baru
sebagai perantara. Relasi banyak ke banyak sebenarnya merupakan dua buah relasi satu ke
banyak terhadap tabel perantara.
Contoh :
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 13
Keterangan :Dari relasi tabel di atas, satu mahasiswa dapat memiliki banyak dosen pengajar
3. One-to-one relationship (relasi satu ke satu)
Dalam relasi satu ke satu, setiap record dalam tabel A hanya dapat memiliki satu record yang
bersesuaian dalam tabel B, dan sebaliknya. Jenis relasi ini tidak umum, karena sebenarnya tabel
A dan tabel B dapat digabungkan menjadi satu tabel. Relasi ini dapat digunakan untuk membagi
tabel yang memiliki field yang banyak, untuk mengisolasi sebagian tabel dengan alasan keamanan
data.
Contoh :
Keterangan : Pada relasi tabel di atas, satu mahasiswa hanya diperbolehkan mendapat satu jenis beasiswa
saja.
2.4 Mengedit Struktur Tabel
Perubahan struktur tabel dapat dilakukan dengan cara memilih menu View, Design View.
Dapat dilihat sepeti pada gambar di bawah :
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 14
Menentukan dan Mengubah Primary Key
Untuk menentukan dan mengubah primary key pada suatu field, langkah-langkahnya adalah sebagai
berikut :
1. Pilih dan klik tabel yang diinginkan untuk diubah primary key-nya.
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Pilih dan klik nam field yang ingin dijadikan primary key
4. Pilih dan klik menu Edit, Primary Key atau klik tombol toolbar Primary Key
Mengatur Field pada Tabel
1. Mengubah Posisi Field
Untuk mengubah posisi field tertentu pada suatu tabel, langkah-langkahnya adalah sebagai
berikut :
1. Pilih dan klik tabel yang di nginkan untuk diubah posisi fieldnya
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Arahkan penunjuk mouse ke sebelah kiri nama field yang ingin dipindahkan (sampai terlihat
tanda panah hitam), kemudian klik satu kali dengan langkah ini baris field yang dipilih akan
tersorot hitam.
Catatan : Bila ingin memilih beberapa field, lakukan pemilihan sambil menekan tombol Ctrl.
4. Geser (drag) tanda segitiga putih yang ada di sebelah kiri nama field tersebut ke posisi baru
yang diinginkan.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 15
2. Menghapus Field
Untuk menghapus field tertentu yang tidak dibutuhkan lagi, ikuti langkah berikut :
1. Pilih dan klik tabel yang di nginkan untuk diubah posisi fieldnya
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Arahkan penunjuk mouse ke sebelah kiri nama field yang ingin dihapus (sampai terlihat tada
panah hitam), kemudian klik satu kali dengan langkah ini baris field yang dipilih akan tersorot
hitam.
Catatan : Bila ingin memilih beberapa field, lakukan pemilihan sambil menekan Ctrl.
4. Pilih dan klik menu Edit, Delete Rows atau klik tombol toolbar Delete Rows. Kotak dialog yang
mengkonfirmasi penghapusan akan ditampilkan.
5. Apabila benar bermaksud menghapus field tersebut berikut dengan seluruh data yang ada di
dalamnya klik tombol perintah Yes.
3. Menyisipkan Field Baru
Untuk menyisipkan field baru pada posisi tertentu, ikuti langkah berikut :
1. Pilih dan klik tabel yang akan disisipi field baru
2. Klik tombol toolbar Design. Jendela design struktur tabel akan ditampilkan
3. Pilih posisi field yang diinginkan. Kemudian pilih dan klik menu Insert, Rows atau klik tombol
toolbar Insert Rows. Dengan langkah ini baris baru yang masih kosong akan ditempatkan
4. Pada baris kosong tersebut, definisikan field baru yang diinginkan.
4. Menghapus Tabel dari Database
Untuk menghapus tabel dari database langkahnya adalah sebagai berikut :
1. Buka file database yang diinginkan, kemudian pada jendela kerja database, klik Tables yang
ada di bawah Objects atau pilih dan klik menu View, Database Objects, Tables.
2. Pilih dan klik nama tabel yang ingin dihapus, kemudian pilih dan klik menu Edit, Delete (Del)
atau tekan tombol toolbar Delete. Kotak dialog yang mengkonfirmasi penghapusan akan
ditampilkan.
3. Apabila benar ingin menghapus tabel tersebut, klik tombol perintah Yes pada kotak dialog
konfirmasi tersebut.
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 16
Chapter
3 StructureQueryLanguage(SQL)
SQL adalah bahasa yang berisi perintah-perintah untuk memanipulasi basis data, seperti menghapus,
mengubah, memilih, menggabungkan data. Standar SQL telah ada sejak 1986 dan terus diperbaharui
menjadi standard pada tahun 1989, 1992, 1997, dan terakhir 1999. Pada saat ini SQL banyak di
gunakan pada aplikasi-aplikasi basis data karena bahasa yang efisien dan mudah dipelajari.
3.1 Membuat Tabel
Untuk membuat tabel baru dengan SQL yaitu dengan perintah create.
Syntax :
Create table <nama table>
(<field1> <type data>(size),
<field2> <type data>(size),
<field3> <type data>(size),
.
.
<fieldn> <type data>(size));
Contoh :
Membuat tabel mahasiswa dengan record nim, nama, dan tanggal lahir
Create table mahasiwa,
Nim text(20),
Nama text(25),
Tanggal_lahir text(20);
3.2 Merubah Struktur Tabel
Untuk merubah struktur table dalam SQL digunakan perintah Alter.
1. Menambah field atau kolom
Digunakan untuk menambah satu atau lebih kolom baru ke dalam sebuah table. Untuk menambah
field dalam table dengan SQL yaitu dengan perintah Add
Syntax :
Alter table <nama table>
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 17
Add <nama field> <type data>;
Contoh :
Menambahkan field alamat pada table mahasiswa
Alter table mahasiswa
Add Alamat text(50);
2. Mengganti nama field atau kolom
Digunakan untuk merubah nama kolom lama dengan nama kolom yang baru. Untuk merubah nama
kolom dalam SQL yaitu dengan perintah to.
Syntax :
Alter <table>
Alter <nama field lama> to <nama field baru>;
Contoh :
Merubah nama field alamat pada tabel mahasiswa dengan nama field baru yaitu alamatasal.
Alter mahasiswa
Alter alamat to alamatasal;
3. Menghapus field atau kolom
Penghapusan kolom yang tidak digunakan dimaksudkan untuk menghemat memori database. Untuk
menghapus kolom dalam sebuah tabel dalam SQL yaitu dengan perintah drop
Syntax :
Alter table <nama tabel> drop <nama field>;
Contoh :
Menghapus kolom alamatasal pada tabel mahasiswa
Alter table mahasiswa drop alamatasal;
3.3 Menghapus Tabel
Untuk penghematan memori, maka tabel-tabel yang sudah tidak digunakan lagi dapat dihapus. Dalam
SQL penghapusan sebuah tabel dapat dilakukan dengan perintah drop
Syntax :
Drop table <nama tabel>;
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 18
Contoh
Menghapus tabel mahasiswa dari basis data.
Drop table mahasiswa;
3.4 Relasi Antar Tabel
Relasi dalam Access 2000 sama seperti relasi dalam basis data yang lainnya yaitu untuk
menghubungkan beberapa tabel sehingga data-data yang disimpan di dalamnya tetap terjaga. Dalam
Access 2000 pembuatan relasi dapat menggunakan pernyataan SQL sebagai berikut :
Membuat 2 buah tabel baru dan direlasikan :
Tabel 1 yaitu tabel mahasiswa dengan field-fieldnya nama, nim, dimana nim sebagai primary key-
nya.
Syntax:
Create <nama tabel>
(<field yang akan jadi PK> int not null,
<field> <type data>,
primary key (<field yang jadi PK>));
Contoh:
Create table mahasiswa
(nim int not null,
nama text(30),
primary key (nim));
Tabel 2 yaitu tabel krs dengan field-fieldnya id dan nim. Kedua table ini akan direlasikan pada field
nim.
Syntax:
Create table <nama tabel>
(<field> <type data>, <field yang mana pada table induk adalah PK-
nya>,
foreign key (<field yang dapat direlasikan dengan table induk>
references <table induk> (<field PK pada table induk>));
Contoh:
Create table krs
(id int, nim int,
foreign key (nim) references mahasiswa (nim));
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 19
3.5 Menampilkan Data
Untuk menampilkan data field pada suatu table dengan SQL yaitu dengan menggunakan perintahSelect.
Syntax :Select <field> from table <nama table>
Contoh :Untuk menampilkan field nama pada table mahasiswa
Select nama from table mahasiswa
Outputnya :
Query1nama
ida
siti
3.6 Menampilkan Isi Tabel
Syntax :Select * from <nama tabel1> inner join <nama tabel2> on <nama tabel1>.<fieldA> = <nama tabel2>.<fieldA>
Contoh :
Menggabungkan field-field dari tabel mahasiswa (nama,nim,kode) dan tabel jurusanjurusan):
(kode,
Select * from mahasiswa inner join jurusan on mahasiswa.kode = jurusan.kode
Output :
Query1
121nim nama mahasiswa.kode jurusan.kode
ida 001 001jurusan
matematika
122
123
ema
bagus
002
003
002
003
fisika
komputer
Keterangan : Tanda * setelah perintah select digunakan untuk mengambil seluruh field pada tabel.
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 20
3.7 Mengubah Data
Untuk mengubah data dalam SQL yaitu dengan perintah update.Syntax :
Update nama_tebel set namafield1 = isi_baru_1, namafield2 = isi_baru_2,...........namafieldn = isi_baru_n where kriteria;
Contoh :Mengubah nama mahasiswa pada tabel mahasiswa menjadi indri sugiarti untuk mahasiswa yang memiliki nama indri :
Update mahasiswa set nama = ‘indri sugiarti’ where nama = ‘indri’
3.8 Menghapus Data
Untuk menghapus data dalam SQL yaitu dengan perintah delete.Syntax :
Delete from <nama table> where <criteria>
Contoh :Menghapus data pada tabel mahasiswa yang memiliki nim 125.
Delete from mahasiswa where nim = 125
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 21
Chapter
4 PerancanganBasisdatadiMySQL
MySQL adalah sebuah sistem manajemen database relasi (relational database management system)
yang bersifat “terbuka” (open source). Terbuka maksudnya adalah MySQL boleh di download oleh
siapa saja, baik versi kode program aslinya (source code program) maupun versi binernya (executable
program ) dan bisa digunakan secara (relatif) gratis baik untuk dimodifikasi sesuai dengan kebutuhan
seseorang maupun sebagai suatu program aplikasi komputer. Bila anda seorang pengembang
perangkat lunak (programer) dan ikut berpartisipasi dalam memodifikasi program asli MySQL untuk
keprluan pribadi atau perusahaan sendiri.
MySQL merupakan hasil ciptaan dari Michael “Monty” Widenius, David Axmark, dan Allan Larson pada
tahun 1995. Mereka lalu mendirikan perusahaan bernama MySQlL AB di Swedia. Tujuan awal
diciptakannya MySQL yaitu untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu
klien MySQL AB.
4.1 Membuat Database
Dalam membuat database, yang yang sangat penting untuk diperhatikan adalah penulisan nama
database tidak boleh menggunakan spasi dan karakter nonstandar. Bentuk penulisan untuk membuat
database adalah :
Createdatabasenama_database;
Sebagai contoh untuk membuat seuah database dengan menggunakan nama rekam_medis,
syntaxnya sebagai berikut :
mysql> create database dbmahasiswa;
Catatan :
• Dalam penulisan nama database tidak diperbolehkan menggunakan spasi atau karakter
khusus lainnya.
• Nama sebuah database tidak boleh diawali angka.
4.2 Melihat Database
Untuk melihat database yang baru saja dibuat atau database lain yang ada dalam server, dapat
menggunakan perintah show. Sebagai contoh :
mysql> show database;
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 22
4.3 Membuat Database
Setelah database dibuat, untuk dapat menggunakannya diperlukan perintah use. Perintah ini selalu
digunakan setiap user / pengguna akan mengakses table – table yang ada di dalamnya. Struktur
penulisannya dalah sebagai berikut :
usenama_database;
sebagai contoh :
mysql> use dbmahasiswa;
perintah diatas menyatakan pemanggilan terhadap database rekam_medis. Jika database ditemukan
di dalam server maka akan muncul pemberitahuan bahwa database tersebut siap untuk digunakan,
namun sebaliknya jika database tidak ditemukan akan muncul pemberitahuan atau pesan gagal.
4.4 Menghapus Database
Untuk menghapus database yang tidak dipakai atau database yang rusak. Pengguna dapat
menggunakan perintah drop. Struktur penulisan untuk menghapus database sebagai berikut :
drop databasenama_database;
Sebagai contoh :
mysql> drop database dbmahasiswa;
4.5 Tabel
1. Membuat Tabel
Perlu diperhatikan dalam pembuatan tabel, apakah database sudah dipanggil sebelumnya? Jika
belum, panggil database tersebut atau buat database baru jika belum tersedia. Hal ini dilakukan agar
tabel yang akan buat mempunyai tempat dalam database. Tabel, sebagai tempat penampungan data,
mempunyai dua bagian utama, yaitu nama dan tipe data. Tipe data yang bisa digunakan dalam
MySQL dapat dilihat dalam dibawah ini.
TIPE DATA
Ukuran terkecil dari integer
KETERANGAN
TINYINT
SMALLINT
MEDIUMINT
Signed range : -128 s.d 127
Unsigned range : 0 s.d 255
Ukuran kecil dan integer
Signed range: -32768 s.d. 32767.
Unsigned range: 0 s.d. 65535.
Ukuran menengah dan integer
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 23
INT, INTEGER
BIGINT
FLOAT
DOUBLE, DOUBLE
PRECISION, REAL
Signed range: -8388608 s.d. 8388607.
Unsigned range: 0 s.d. 16777215.
Integer
Signed range: -2147483648 s.d. 2147483647.
Unsigned range: 0 s.d. 4294967295.
Ukuran terbear dan integer
Signed range: -9223372036854775808 s.d. 9223372036854775807.
Unsigned range: 0 s.d. 18446744073709551615.
Presisi tunggal
Range: -3.402823466E+38 s.d. -1.175494351 E38,
0, 1.175494351E-38 s.d. 3.402823466E+38
Presisi ganda
Range: -1 .7976931348623157E+308 s.d. -2.2250738585072014E-
308, 0, dan
2.2250738585072014E-308 s.d. 1.79769313486231 57E+308
DECIMAL, NUMERIC Pecahan dengan range seperti tipe data DOUBLE
DATE
DATETIME
TIME
YEAR
CHAR
NCHAR, NATIONAL
CHAR
VARCHAR
Tanggal, Format: YVYY-MM-DD
Kombinasi tanggal dan jam.
Range: ‘1000-01-01 00:00:00’ s.d. ‘9999-12-31
23:59:59. Format: YYYY-MM-DD HH:MM:SS
Jam
Range: -838:59:59 s.d. ‘838:59:59’
Format: ‘HH:MM:SS’
Tahun
Range: 1901 s.d. 2155 (4 digit), 1970-2069(2digit)
Format: ‘YYYY’
Karakter dengan panjang tetap sesuai saat pembuatan tabel, dengan
karakter spasi dihilangkan pada saat penyimpanan Range :1 s.d. 255
characters
Karakten dengan panjang tetap sesuai saat pembuatan tabel, namun
karakter spasi tidak dihilangkan pada saat penyimpanan Range: 1 s.d.
255 characters
Karakter dengan panjang sesuai saat panjang karakter yang ditulis,
dengan karakter spasi dihilangkan pada saat penyimpanan. Range: 1
s.d. 255 characters
TINYBLOB TINITEXT TEXT/BLOB dengan panjang maksimal 255 karakter.
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 24
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
ENUM(’valuel,’val
ue2’,...)
SET (‘valuel
,‘value2’,...)
Struktur penulisan:
65535
16777215
Obyek string yang hanya boleh diisi dan daftar pilihan value yang
diberikan, NULL, atau error value, Maksimum value: 65535
Obyek string yang hanya boleh diisi dan daftar pilihan value yang
dibenikan, NULL atau error value.
Maksimum value: 64
create table namatabel (nama.jield type, ...);
Contoh:
create table mhs (nim varchar(15), nama varchar(25), kode_mkul
varchar(5));
create table mkul (kode_mkul varchar(5), nama_mkul varchar(25));
Pemberian nilai default Pada suatu filed dalam table dapat dilakukan jika suatu field/kolom di dalam
tabel tidak selalu diisi saat proses insert, dapat dilakukan dengan :
Create table mkul (kode_mkul varchar(5)not null primary key,
nama_mkul varchar(25) default ‘-‘ );
Hasilnya adalah tabel harga dengan dua fleld/kolom. Kolom pertama, yaitu kode_mkul, mempunyai
spesifikasi tipe data varchar(5), harus diisi (not nul ), dan merupakan field kunci (primary key).
Sedangkan untuk nama_mkul mempunyai spesifikasi tipe data varchar(25) dan jika tidak diisi, secara
otomatis (default) diisi dengan angka “-“. Berikut ini susunan dan tabel produk yang berhasil dibuat:
+-----------+------------+-------+--------+-----------+-------+
|Field | Type | Null | Key | Default | Extra |
+-----------+------------+-------+--------+-----------+-------+
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25)| YES | | - | |
+-----------+------------+-------+--------+-----------+-------+
2. Melihat Struktur Tabel
Perintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telah dibuat. Namun
sebelumnya, pastikan sudah berada pada database yang mempunyai tabel tersebut. Perhatikan
contoh di bawah ini :
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 25
describe mkul;
+-----------+------------+-------+--------+-----------+-------+
|Field | Type | Null | Key | Default | Extra |
+-----------+------------+-------+--------+-----------+-------+
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25)| YES | | - | |
+-----------+------------+-------+--------+-----------+-------+
2 rows in set (0.01 sec)
3. Mengubah Sruktur Tabel
Jika struktur tabel yang buat terjadi kesalahan atau menginginkan penggantian, dapat
mengunakan perintah alter untuk mengubahnya. Ada empat macam perubahan dalam struktur tabel,
yaitu:
• Perubahan nama field / kolom.
Perubahan yang terjadi hanya sebatas pada nama field / kolom saja. Nama field / kolom yang
lama diganti dengan nama field / kolom yang baru.
Struktur penulisan :
Alter table nama_tabel change nama_field_lama nama_field_baru tipe_data;
Contoh :
alter table mkul change kode nama_mkul varchar(35);
Hasilnya sebagai berikut :
+-----------+------------+-------+--------+-----------+-------+
|Field | Type | Null | Key | Default | Extra |
+-----------+------------+-------+--------+-----------+-------+
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(35)| YES | | - | |
+-----------+------------+-------+--------+-----------+-------+
Semula, nama field yang paling atas adalah kolom kodebarang. Akibat perintah pada contoh
di atas, berubah menjadi kolom kodebarang.
• Perubahan tipe data.
Perubahan yang terjadi hanya terbatas pada tipe data yang digunakan oleh field/kolom
tertentu. Tipe data yang baru Iangsung disebutkan di belakang nama field kolom, tanpa harus
menyebutkan tipe data yang lama. Struktur penulisan:
alter table namatabel modify nama_field tipe_data_baru;
Contoh :
alter table mkul modify mkul text;
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 26
Hasilnya sebagai berikut :
+-----------+------------+-------+--------+-----------+-------+
|Field | Type | Null | Key | Default | Extra |
+-----------+------------+-------+--------+-----------+-------+
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | text )| YES | | - | |
+-----------+------------+-------+--------+-----------+-------+
Akibat perintah pada contoh di atas, tipe data nama_mkul berubah menjadi text.
• Penambahan field.
Struktur tabel akan tambah dengan bertambahnya field/kolom baru di dalamnya.
Struktur penulisan:
alter table nama_tabel add nama_fleld tipe_data_baru;
Contoh:
alter table harga add sks smallint(6);
+-----------+------------+-------+--------+-----------+-------+
|Field | Type | Null | Key | Default | Extra |
+-----------+------------+-------+--------+-----------+-------+
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25)| YES | | - | |
|sks | smallint(6)| YES | | | |
+-----------+------------+-------+--------+-----------+-------+
Semula, hanya terdapat dua kolom saja di dalam tabel. Akibat perintah pada contoh di atas,
bertambah menjadi tiga kolom. Tambahan kolom tersebut adalah field sks.
• Penghapusan
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu.
Struktur penulisan:
alter table nama_tabel drop column namafield;
Contoh :
alter table mkul drop column sks;
4. Mengganti Nama Tabel
Seringkali, penggantian tabel juga meliputi nama tabel itu sendiri. Struktur penulisan:
alter table nama_table_lama rename nama_table_baru
Contohnya:
Mysql> alter table harga rename daftarharga;
5. Menghapus Tabel
Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi, atau terjadi kesalahan. Perintah
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 27
untuk menghapus tabel adalah drop table. Struktur penulisan :
drop table nama_tabel;
Contoh :
Mysql> drop table mkul;
4.6 Relasi
Relasi dalam basis data digunakan untuk menghubungkan beberapa tabel, sehingga data –
data yang disimpan dalam tabel tetap normal. Dalam mySQL relasi antar tabel dapat dibuat jika tipe
tabel tersebut innoDB. Secara otomatis saat membuat tabel baru, tipe tabel tersebut adalah MyISAM
untuk merubah ke tipe innoDB dapat menggunakan perintah SQL sebagai berikut
Struktur penulisan :
alter table nama_tabel type = type_tabel;
Contoh :
mysql> alter table daftarharga type = innoDB;
Sebagai contoh pembuatan relasi dalam mySQL adalah sebagai berikut :
1. Membuat tabel baru dan langsung di relasikan.
mysql> create table mahasiswa (nim varchar(15) not null, primary key
(nim), nama varchar(25)) type=innoDB;
mysql> create table kuliah(nim varchar(15), kode_mkul varchar(15), INDEX
nim (nim), FOREIGN KEY (nim) REFERENCES mahasiswa(nim))
TYPE=INNODB;
Perintah SQL diatas dimasukan untuk membuat tabel mahasiswa dan tabel kuliah, kedua tabel
tersebut dihubungkan / direlasikan pada field nim.
2. Membuat relasi pada tabel lama.
Jika telah mempunyai tabel dalam database dan ingin direlasikan dengan tabel lain. Struktur
penulisannya adalah sebagai berikut :
Alter table nama_table add foreign key (nama_field) references
tabel_master(nama_field);
Contoh :
mysql> Alter table kuliah add foreign key (nim) references
mahasiswa(nim);
CHAPTER 4 – PERANCANGAN BASISDATA DI MYSQL - 28
Chapter
5 PembuatanBasisDatadiInterbase
Interbase merupakan software yang berguna untuk memanipulasi data-data pada basis data.
Interbase ini merupakan produk dari bahasa pemrograman Borland Delphi yang mengolah Basis data
yang berbasiskan Client/Server. Interbase sifatnya open source. Perusahaan Borland berkedudukan di
Scott Valley, California. Borland setelah melebur dengan Visigenic berganti nama menjadi Inspirise
Coorporation pada pertengahan tahun 1998. Interbase merupakan software yang berguna untuk
memanipulasi data-data pada basis data. Interbase ini merupakan produk dari bahasa pemrograman
Borland Delphi yang mengolah Basis data yang berbasiskan Client/Server. Interbase sifatnya open
source. Perusahaan Borland berkedudukan di Scott Valley, California. Borland setelah melebur
dengan Visigenic berganti nama menjadi Inspirise Coorporation pada pertengahan tahun 1998. Karena
software Interbase tidak terpisah/tidak berdiri sendiri (masih satu kesatuan dalam Borland Delphi)
maka secara otomatis penyebaran interbase ini sama dengan penyebaran Borland Delphi. Interbase
banyak digunakan untuk mengolah basis data dengan kapasitas yang sangat besar dan berbasiskan
Client/Server. Biasanya Interbase ini digunakan pada instansi atau perkantoran yang membutuhkan
pengolahan Basis data dengan kapasitas yang sangat besar dan berbasis jaringan. Interbase akan
melakukan penyimpanan dan pemrosesan data-data yang diperlukan sehingga bila memerlukan suatu
informasi maka akan dengan mudah mendapatkannya dengan menggunakan fasilitas searching, SQL
dan sebagainya yang disediakan dalam komponen Basis data.
5.1 Membuat Database
IBConsole merupakan program client yang menyertai Interbase. Superusernya bernama sysdba
dengan password masterkey. Untuk membuat database di interbase dapat mengikuti langkah –
langkah sebagai berikut :
1. Jalankan atau aktifkan IBConsole.
2. Klik kanan pada local server dan pilih login.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 29
3. Masukan sysdba dalam user name dan masterkey dalam password.
4. Klik kanan pada database kemudian pilih create database…
5. Semisal akan dibuat database dengan nama dbmahasiswa dan alias databasemahasiswa. Maka
isikan databasemahasiswa pada kota alias dan dbcoba pada kolom filename(s). klik OK untuk
membuat database atau Cancel untuk membatalkannya.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 30
6. Jika database berhasil dibuat akan muncul dalam IBConsole sebagai berikut :
5.2 Tabel
Untuk membuat tabel dalam interbase penggunakaan SQL mirip atau sama struktur
penulisannya dalam mySQL. Untuk menuliskan SQL menggunakan Interactive SQL yang dibuka
dengan cara meng-klik tombol / icon SQL dalam IBConsole. Bentuk Interactive SQL adalah sebagai
berikut :
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 31
1. Membuat Tabel
Pembuatan tabel terkait erat dengan sistem dan aplikasi yang akan dibuat. Jadi
misalnya kita akan membuat data mahasiswa di sebuah universitas, maka struktur
tabelnya setidaknya memiliki dua field berikut:
• Nim.
• Nama.
Dalam perintah SQL, pembuatan tabelnya seperti ini
CREATE TABLE MAHASISWA
( NIM VARCHAR(25), NAMA VARCHAR(30));
Dalam standar SQL, penulisan perintah tidak memperdulikan huruf besar atau pun kecil.
Titik koma diakhir perintah diperlukan untuk memberitahukan program client bahwa
perintah berakhir dan siap dijalankan (execute). Setelah SQL dijalankan maka di
IBConsole akan muncul tabel mahasiswa di folder tabel. Klik kanan dinama tabelnya dan
pilih properties untuk melihat struktur atau isi tabel yang dibuat.
2. Merubah Struktur Tabel
• Menambah field atau kolom
Digunakan untuk menambah satu atau lebih kolom baru ke dalam table.
Struktur penulisan:
alter table nama_tabel add nama_fleld tipe_data_baru;
Contoh:
ALTER TABLE MAHASISWA ADD ALAMAT VARCHAR(25);
• Mengganti nama field atau kolom
Mengganti nama kolom dimaksudkan untuk merubah nama kolom yang lama menjadi
nama kolom baru, penggantian nama kolom ini dimungkinkan karena nama kolom yang
lama salah waktu pembuatan atau nama kolom yang lama tidak sesuai dengan table.
Struktur penulisannya :
Alter table nama_tabel alter nama_field_lama to nama_field_baru;
Contoh :
ALTER TABLE MAHASISWA ALTER ALAMAT TO ALAMATASAL;
Akibat perintah SQL diatas akan merubah kolomalamat di table mahasiswa menjadi
alamatasal.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 32
• Menghapus field atau kolom
Menghapus kolom dimungkinkan jika kolom tersebut rusak atau tidak dipakai lagi,
penghapusan kolom yang tidak digunakan dimaksudkan untuk menghemat memori
database. Struktur penulisannya :
alter table nama_tabel drop namafield;
Contoh :
ALTER TABLE MAHASISWA DROP ALAMAT;
3. Menghapus Tabel
Dalam pembuatan basis data terkadang ada beberapa table yang sengaja dibuat untuk
keperluan ujicoba dan tidak akan dipakai lagi setelah basis data tersebut jadi secara keseluruhan.
Ukuran basis data akan lebih kecil dan efisien jika table – table yang tidak digunakan dihapus. Struktur
penulisan untuk mengahapus table adalah :
tableDropnama_tabel;
Contoh
DROP TABLE MAHASISWA;
5.3 Relasi
Seperti telah dibahas disub bab sebelumnya, relasi digunakan untuk menghubungkan beberapa
table sehingga data – data yang disimpan didalamnya tetap terjaga. Dalam interbase pembuatan relasi
dapat menggunakan statement SQL sebagai berikut :
1. Membuat tabel baru dan langsung di relasikan.
CREATE TABLE MAHASISWA (NIM INT NOT NULL, NAMA VARCHAR(25),
PRIMARY KEY NIM);
CREATE TABLE KRS(id INT, NIM INT, FOREIGN KEY (NIM) REFERENCES
MAHASISWA(NIM));
Perintah SQL diatas dimaksudkan untuk membuat tabel Mahasiswa dan tabel KRS,
kedua tabel tersebut dihubungkan / direlasikan pada field nim..
2. Membuat relasi pada tabel lama.
Struktur penulisannya adalah sebagai berikut :
Alter table nama_table add foreign key (nama_field) references
tabel_master(nama_field);
Contoh :
ALTER TABLE MATAKULIAH ADD FOREIGN KEY (KODEMK) REFERENCES
KRS(KODEMK);
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 33
5.4 Stored Procedures
Stored procedures adalah program disimpan dengan suatu metadata database yang dijalankan
di server. Aplikasi dapat memanggil Stored procedures untuk melaksanakan tugas, dan user dapat
juga menggunakan Stored procedures di didalam Interbase Windows ISQL.
Ada dua jenis Stored procedures :
• Select procedures
Suatu aplikasi dapat menggunakan sebagai pengganti suatu tabel atau view di dalam suatu
statemen SELECT. Suatu Select procedures harus didefinisikan nilai – nilai atau kesalahan
yang akan dihasilkan . Karena nilai dari Select procedures dapat lebih dari satu baris, mereka
nampak sebagai tabel atau view dalam suatu pemanggilan program.
• Executable procedures
• Merupakan suatu aplikasi dapat digunakan secara langsung dengan Executable procedures.
Prosedur Executable dapat melaksanakan berbagai tugas.
Syntax sederhana yang dapat digunakan untuk menciptakan sebuah stored procedures sebagai
berikut :
CREATE PROCEDURE procedure_name
[( input_var1 datatype[ , input_var2 datatype …])]
[RETURNS ( output_var1 datatype[, output_var2 datatype …])]
AS
BEGIN
Statements procedure dalam
END
Seperti mendefinisikan trigger, definisi stored procedures dalam script SQL command-line isql
harus didahului oleh seperangkat masukan yang menetapkan terminator kepada sesuatu selain dari
suatu titik koma. Ketika semua statemen prosedur telah dimasukkan, statemen SET TERM harus
digunakan lagi untuk menetapkan terminator kembali ke suatu titik koma.
1. Membuat Select procedure sederhana
CREATE PROCEDURE identitas mhs (kodejur varchar(5))
RETURNS (namamhs CHAR(25))
AS
BEGIN
FOR SELECT
FROM
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 34
WHERE kode = :kodejur
INTO
DO
SUSPEND;
END
Contoh diatas adalah suatu select procedure yang mengambil nama mahasiswa di dalam tabel
mhs yang mempunyai kode jurusan sama dengan kode masukan (kodejur).Untuk memanggil select
procedure tersebut menggunakan perintah SQL yaitu SELECT, sebagai contoh :
SELECT * FROM identitasmhs(‘001’)
Perintah SQL tersebut memeriksa dalam database seolah – olah ada tabel dengan nama
identitasmhs. Dari prosedur tersebut akan didapat atau ditampilkan hasil sebagai berikut :
+-------------------------+
| namamhs |
+-------------------------+
| indri
| kukuh sw
|
|
+-------------------------+
2. Membuat executable procedure sederhana
CREATE PROCEDURE tambahmhs (nimmhs varchar(5), namamhs CHAR(25),
kodejur(5))
AS
BEGIN
INSERT INTO mhs (nim, nama, kode)
VALUES (:nimmhs, : namamhs, : kodejur);
END
Contoh diatas adalah suatu executable procedure yang digunakan untuk menambah data
mahasiswa di dalam tabel mhs.Untuk memanggil select procedure tersebut menggunakan perintah
SQL yaitu SELECT, sebagai contoh :
EXECUTE tambahmhs (‘378’,’mulyadi’,’001’)
5.5 View
View adalah table virtual yang berisi kolom dan baris berdasarkan kondisi tertentu dari satu atau
lebih tabel. Interbase hanya menyimpan definisi suatu view. Ketika anda membuat suatu view, anda
tidak menyalin data dari tabel ke sumber view, tapi anda sedang melihat pada data yang sebenarnya
seperti pada tabel sumber.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 35
Sintaks :
CREATE VIEW V [(A1 [, A2 . . . ,An])]
AS <SELECT> [WITH CHECK OPTION]
Dimana :
• V merupakan nama view, harus merupakan nama yang unik antara view, tabel, dan
prosedur di dalam suatu database.
• A1, A2, . . ., An merupakan nama-nama kolom yang digunakan dalam suatu view.
• SELECT digunakan untuk menentukan suatu criteria pemilihan baris-baris yang
disertakan di dalam suatu view.
• WITH CHECK OPTION digunakan untuk mencegah operasi-operasi INSERT atau
UPDATE pada view jika operasi INSERT atau UPDATE melanggar kondisi pencarian
yang ditentukan didalam klausa WHERE pada pernyataan SELECT view.
Contoh :
Membuat view data NIM, NAMA dan ALAMAT yang memiliki AGAMA Islam di dalam tabel
TBLBIODATAMHS. Pada window InteractiveSQL ketikkan:
CREATE VIEW DATA_MHS
(NIM,NAMA,ALAMAT)
AS
SELECT NIM,NAMA,ALAMAT
FROM TBLBIODATAMHS
WHERE AGAMA = ‘Islam’
Contoh SQL diatas digunakan untuk membuat view DATA_MHS (Gambar12).
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 36
Gambar 12. Membuat View
Untuk menguji prosedur lihat_data_by_nama masukan pernyataan SELECT berikut ke dalam
InteractiveSQL :
Select * from DATA_MHS
Hasilnya akan nampak pada area output SQL (Gambar 13).
Gambar 13. Menjalankan View
5.6 Trigger
Trigger berisi program yang dihubungkan dengan suatu tabel atau view yang secra otomatis
melakukan suatu tindakan ketika suatu baris di dalam tabel atau view dikenai operasi INSERT,
UPDATE atau DELETE.
Sintaks :
CREATE TRIGGER N FOR T
[ACTIVE | INACTIVE]
{BEFORE | AFTER}
{DELETE | INSERT | UPDATE}
[POSITION number]
< AS
Dimana :
• N merupakan nama trigger, harus berupa nama yang unik dalam database.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 37
• T merupakan nama tabel atau view yang menyebabkan trigger ditembakkan atau
diaktifkan ketika operasi tertentu terjadi pada suatu tabel atau view.
• ACTIVE/INACTIVE menentukan tindakan trigger saat transaksi berakhir. Option ini
bersifat optional dan ACTIVE merupakan nilai default.
• BEFORE/AFTER menentukan kapan suatu trigger dijalankan. Salah satu keyword
BEFORE/AFTER harus disertakan.
o BEFORE
Sebelum trigger dihubungkan dengan suatu operasi.
o AFTER
Setelah trigger dihubungkan dengan suatu operasi
Operasi yang dihubungkan dengan suatu trigger meliputi DELETE, INSERT dan UPDATE
• DELETE | INSERT | UPDATE
Menentukan jenis operasi tabel yang menyebabkan trigger di jalankan.
• POSITION number
Menentukan urutan pengaktifan trigger sebelum tindakan yang sama atau setelah
tindakan yang sama dilakukan, number harus berupa bilangan integer antara 0 sampai
32.767. Nilai 0 merupakan nilai default yang merupakan urutan pertama pengaktifan
trigger.
• TRIGGER_BODY
Pernyataan tunggal dalam bahasa prosedur dan trigger interbase. Masing-masing
pernyataan, kecuali BEGIN dan END, harus diakhiri dengan tanda titik koma.
• Terminator
Terminator didefinisiakan dengan pernyataan SET TERM yang menandakan akhir dari
suatu trigger.
Contoh :
SET TERM ? ;
CREATE TRIGGER UPDATE_INDEKS_NILAI FOR TBLNILAI
AFTER INSERT
AS
BEGIN
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 38
IF (NEW.NILAI > 75) THEN
UPDATE TBLNILAI
SET NILAI_MUTU= 'A'
WHERE NIM = NEW.NIMAND KODEMK= NEW.KODEMK;
ELSE IF (NEW.NILAI > 65 AND NEW.NILAI <=75) THEN
UPDATE TBLNILAI
SET NILAI_MUTU= 'B'
WHERE NIM = NEW.NIMAND KODEMK= NEW.KODEMK;
ELSE IF (NEW.NILAI > 55 AND NEW.NILAI <=65) THEN
UPDATE TBLNILAI
SET NILAI_MUTU= 'C'
WHERE NIM = NEW.NIMAND KODEMK= NEW.KODEMK;
ELSE IF (NEW.NILAI > 45 AND NEW.NILAI <=55) THEN
UPDATE TBLNILAI
SET NILAI_MUTU= 'D'
WHERE NIM = NEW.NIMAND KODEMK= NEW.KODEMK;
ELSE
UPDATE TBLNILAI
SET NILAI_MUTU= 'E'
WHERE NIM = NEW.NIMAND KODEMK= NEW.KODEMK;
END ?
SET TERM ;?
Contoh SQL diatas digunakan untuk membuat trigger UPDATE_INDEKS_NILAI digunakan
untuk mengisi field nilai_mutu di dalam tabel TBLBIODATAMHS secara otomatis sesuai dengan input
NILAI yang dimasukkan. Apabila NILAI yang dimasukkan diatas 75 maka NILAI_MUTU akan otomatis
berisi huruf A, apabila NILAI yang dimasukkan lebih besar dari 65 sampai dengan 75 maka
NILAI_MUTU akan otomatis berisi huruf B, apabila NILAI yang dimasukkan lebih besar dari 55 sampai
dengan 65 maka NILAI_MUTU akan otomatis berisi huruf C, apabila NILAI yang dimasukkan lebih
besar dari 45 sampai dengan 55 maka NILAI_MUTU akan otomatis berisi huruf D, dan apabila NILAI
yang dimasukkan lebih kecil atau sama dengan 45 maka NILAI_MUTU akan otomatis berisi huruf E.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 39
Untuk menguji trigger update_indeks_nilai, masukkan pernyataan insert berikut ke dalam area
InteractiveSQL :
INSERT INTO TBLNILAI (NIM, KODEMK, NILAI) VALUES ('EPA00055',
'MMS2071', 75)
Nanti pada field NILAI_MUTU akan berisi huruf B.
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 40
Chapter
6 MenampilkanIsiTabel
6.1 Inner Join
Hampir sama dengan sebelumnya. namun penggunaan on (kondisi] diharuskan dalam
penulisan Inner join. Jika on (kondisi) tidak dituliskan akan menyebabkan perintah tidak menampilkan
data apapun karena error.
Select * from mahasiswa inner join jurusan on mahasiswa.kode = jurusan.kode
+------+-----------+----+----+---------------+
| nim | nama |kode|kode| jurusan |
+------+-----------+----+----+---------------+
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+------+-----------+----+----+---------------+
6.2 Straight Join
Straight Join identik dengan join. Namun. path straight join tidak dikenal klause where untuk
menyatakan kondisi yang ingin ditampilkan.
Select * from mahasiswa straight join jurusan
+------+-----------+----+----+---------------+
| nim | nama |kode|kode| jurusan |
+------+-----------+----+----+---------------+
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+------+-----------+----+----+---------------+
6.3 Left (Outer) Join
Berbeda dengan lainnya, left outer join akan menampilkan tabel di sebelah kanannya (dalam hal
ini tahel jurusan) dengan NULL jika tidak terdapat hubungan antara tabel di sebelah kiri (dalam hal ini
tabel mahasiswa)
Select * from mahasiswa left join jurusan on
mahasiswa.kode = jurusan.kode
CHAPTER 6 - MENAMPILKAN ISI TABEL - 41
+------+-----------+----+----+---------------+
| nim | nama |kode|kode| jurusan |
+------+-----------+----+----+---------------+
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+------+-----------+----+----+---------------+
6.4 Right (Outer) Join
Kebalikan dengan left outer join. jika data di sebelah kanan label tidak dapat menemukan
hubungannya dengan tabel di sebelah kiri, akan ditampilkan NULL. Untuk melihat perbedaan yang
jelas, tambahkan lebih dahulu satu data di dalam tabel mahasiswa, yang tidakmempunyai hubungan
dengan tabel jurusan.
Select * from mahasiswa right join jurusan on mahasiswa.kode = jurusan.kode
+------+-----------+----+----+---------------+
| nim | nama |kode|kode| jurusan |
+------+-----------+----+----+---------------+
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+------+-----------+----+----+---------------+
6.5 Natural (Right | Left (Outer)) Join
Penggunaan natural right outer join sama halnya dengan menuliskan right join tanpa pernyataan
kondisi. Karena pernyataan tcrsebut. secara otomatis menganggap bahwa kondisi yang dipakai adalah
kedua tabel terdapat persamaan.
Select * from mahasiswa natural left outer join
+------+-----------+----+----+---------------+
| nim | nama |kode|kode| jurusan |
+------+-----------+----+----+---------------+
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+------+-----------+----+----+---------------+
SARAN, USULAN, KRITIK DAN PERBAIKAN --------- [email protected] Sigit Priyanta
CHAPTER 6 - MENAMPILKAN ISI TABEL - 42