73
STMIK DIPANEGARA MAKASSAR Modul Praktikum Basis Data

Basis Data Dan Penerapannya

Embed Size (px)

Citation preview

Page 1: Basis Data Dan Penerapannya

STMIK DIPANEGARA

MAKASSAR

Modul Praktikum

Basis Data

Page 2: Basis Data Dan Penerapannya

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

Page 3: Basis Data Dan Penerapannya

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

Page 4: Basis Data Dan Penerapannya

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

Page 5: Basis Data Dan Penerapannya

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

Page 6: Basis Data Dan Penerapannya

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

Page 7: Basis Data Dan Penerapannya

….….

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

Page 8: Basis Data Dan Penerapannya

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

Page 9: Basis Data Dan Penerapannya

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

Page 10: Basis Data Dan Penerapannya

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

Page 11: Basis Data Dan Penerapannya

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

Page 12: Basis Data Dan Penerapannya

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

Page 13: Basis Data Dan Penerapannya

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

Page 14: Basis Data Dan Penerapannya

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

Page 15: Basis Data Dan Penerapannya

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

Page 16: Basis Data Dan Penerapannya

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

Page 17: Basis Data Dan Penerapannya

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

Page 18: Basis Data Dan Penerapannya

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

Page 19: Basis Data Dan Penerapannya

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

Page 20: Basis Data Dan Penerapannya

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

Page 21: Basis Data Dan Penerapannya

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

Page 22: Basis Data Dan Penerapannya

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

Page 23: Basis Data Dan Penerapannya

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

Page 24: Basis Data Dan Penerapannya

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

Page 25: Basis Data Dan Penerapannya

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

Page 26: Basis Data Dan Penerapannya

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

Page 27: Basis Data Dan Penerapannya

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

Page 28: Basis Data Dan Penerapannya

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

Page 29: Basis Data Dan Penerapannya

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

Page 30: Basis Data Dan Penerapannya

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

Page 31: Basis Data Dan Penerapannya

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

Page 32: Basis Data Dan Penerapannya

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

Page 33: Basis Data Dan Penerapannya

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

Page 34: Basis Data Dan Penerapannya

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

Page 35: Basis Data Dan Penerapannya

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

Page 36: Basis Data Dan Penerapannya

• 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

Page 37: Basis Data Dan Penerapannya

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

Page 38: Basis Data Dan Penerapannya

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

Page 39: Basis Data Dan Penerapannya

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

Page 40: Basis Data Dan Penerapannya

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

Page 41: Basis Data Dan Penerapannya

• 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

Page 42: Basis Data Dan Penerapannya

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

Page 43: Basis Data Dan Penerapannya

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

Page 44: Basis Data Dan Penerapannya

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

Page 45: Basis Data Dan Penerapannya

+------+-----------+----+----+---------------+

| 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