86
BAB VI PENGOLAHAN FIREBIRD 1.5 1. Mengenal Database Basisdata merupakan sekumpulan tabel-tabel data yang terintegrasi yang diorganisasi untuk memenuhi kebutuhan para pemakai di dalam suatu organisasi. Table adalah kumpulan data dalam record-record yang disatukan untuk kepentingan tertentu. Record adalah kumpulan field-field yang disatukan dalam satu baris. Field adalah jenis atau tipe data dari suatu item data berserta batasan nilainya. Diperlukan Database karena : o Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi o Menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. o Mengurangi duplikasi data (data redudancy) o
Hubungan data dapat ditingkatkan (data relatability)
o
Mengurangi pemborosan tempat simpanan luar
2. Bahasa dalam Database Untuk dapat mengola data di dalam database, diperlukan bahasa yang dimerngerti oleh pengguna dan database yang dikelola. SQL adalah kependekan dari Structured Query Language. Disusun pertama kali oleh IBM Research Laboratory di
87 San Jose California sekitar tahun 70-an. Dalam bahasa inggris, SQL biasanya dibaca sebagai SEQUEL. Perintah-perintah SQL dibagi menjadi tiga kelompok yaitu: DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) Statement DDL adalah perintah-perintah yang berkaitan dengan penciptaan, pengubahan atau penghapusan struktur data asli yang berkaitan dengan database, table, dan elemen lain. Statement ini dimulai dengan keyword CREATE, ALTER, dan DROP. Statement DML adalah perintah-perintah yang berkaitan dengan manipulasi data dengan data struktur. Statement ini dimulai dengan keyword INSERT, UPDATE, SELECT dan DELETE. Statement DCL adalah perintah-perintah yang digunakan menangani masalah sekuriti dalam database. Statement ini dimulai dengan keyword GRANT dan REVOKE.
3. DBMS (Database Management Systems) DBMS adalah perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, mangakses, memanipulasi dan memelihara basis data. Fungsi DBMS 1.
Data Definition DBMS harus dapat mengolah pendefinisian data
2.
Data Manipulation DBMS harus dapat menangani permintaan-permintaan dari pemakai untuk mengakses data
88 3.
Data Security & Integrity DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA
4.
Data Recovery & Concurency -
DBMS harus dapat menangani kegagalan-kegagalan pengaksesan database yang dapat disebabkan oleh kesalahan sistem, kerusakan disk, dsb.
5.
DBMS harus dapat mengontrol pengaksesan data yang konkuren .
Data Dictionary DBMS harus menyediakan data dictionary
6.
Performance DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin.
4. Koneksi Pertama Kali ke Server Firebird Sebelum melakukan koneksi ke server firebird, pastikan server firebird sudah aktif. Untuk mengetahui server telah aktif dengan cara buka Control Panel -> Services (NT) atau Control Panel -> Administrative Tools -> Services (2000, XP).
Gambar 1 Services
89 Untuk mengaktifkan server Firebird, dengan cara buka Control Panel -> Firebird 1.5 Server Manager, seperti pada Gambar 2
Gambar 2 Firebird Control
5. Membuat User Untuk dapat masuk ke server firebird diperlukan autorisasi berupa username dan password. Jika server firebird baru pertama kali digunakan setelah instalasi, maka hanya user dengan nama “ISWANTO” dan password “iswanto” yang bias masuk ke dalam server Karena pertimbangan keamanan dan manajemmen, user dalam Firebird seharusnya dibuat user selain user ISWANTO. Hal ini akan mempermudah pengawasan terhadap database server. Untuk membuat User dan password, klick Login to Database. Ketikan nama database dengan C:/Program Files/Firebird/Firebird_1_5/security.fdb pada form Database, host dengan localhost pada form host, Username dengan ISWANTO pada form Username, Password dengan iswanto pada form Password. Kemudian tekan
90 tombol Login. Kemudian klick tab Users. Klick drop down Users, kemudian klick create, seperti yang terlihat pada Gambar 3
Gambar 3 User List
Tulis Username dengan Heri, Password dengan wawan, Password Again dengan wawan, Firstname dengan Heri, Middlename dengan Setyawan. Kemudian klick tab Users, seperti yang terlihat pada Gambar 4
Gambar 4 User baru
91 Untuk membuat menghapus username, klick drop down Select user to delete, kemudian klick Delete, seperti yang terlihat pada Gambar 5
Gambar 5 Menghapus User
Gambar 6 Konfermasi hapus User
Untuk mengubah/ mengedit Username, lick drop down Select user to delete, kemudian klick Modify, seperti Gambar 6 Username dengan Heri, Password dengan
92 wawan, Password Again dengan wawan, Firstname dengan Heri, Middlename dengan Setyawan. Kemudian klick tab Users, seperti yang terlihat pada Gambar 7
Gambar 7 Modify User Heri
6. Tipe Data Firebird Firebird merupakan basis data server yang mendukung berbagai tipe data. Berikut adalah tipe data untuk tipe data numerik dalam Firebird. Spesifikasi Tipe Data Numerik Firebird dapat dilihat pada tabel 1. Tabel 1 Tipe-Tipe Data yang Didukung Firebird Nama tipe data
Ukuran
Range
Deskripsi
BLOB
Variabel
-
Dalam
ukuran
dinamik,
untuk
menyimpan cukup
yang
data
besar
yang seperti
grafik, teks, dan suara dalam bentuk digital
93 CHAR(n)
n karakter
1 sampai 32.767 byte
Digunakan bertipe
untuk
karakter
teks atau
string
DATE
64 bits
1 jan 100 – 29 feb 32768
Juga
menyediakan
informasi waktu
DECIMAL
Variable
Precision
=
1-15
yang Nomer yang mempunyai
menentukan besar digit dari nilai decimal, yang terdiri bilangan
yang
disimpan
dengan
akan dari precision dan scale jumlah
yang tepat. Sedangkan scale = 1-15 yang menentukan besar
digit
untuk
desimalnya
harus
kurang
dari
sama
dengan
atau
precision
DOUBLE
64 bits
1.7 X 10-308 - 1.7 X 10308
PRECISION
FLOAT
Scientific
:
precision
dengan 15 digit
32 bits
3.4 X 10-38 - 3.4 X 1038
Single
Precision
:
precision dengan 7 digit
INTEGER
32 bits
-2.147.483.648 2.147.483.647
sampai Biasanya
digunakan
untuk bilangan bulat yang panjang.
94
NUMERIC
64 bits
Precision
=
1-15
yang Nomer yang mempunyai
menentukan besar digit dari nilai decimal, yang terdiri bilangan
yang
disimpan
dengan
akan dari precision dan scale jumlah
yang tepat. Sedangkan scale = 1-15 yang menentukan besar
digit
untuk
desimalnya
harus
kurang
dari
sama
dengan
atau
precision
SMALLINT
16 bit
-32.768 sampai 32.767
Biasanya
digunakan
untuk bilangan bulat yang pendek.
VARCHAR(n)
n karakter
1 sampai 32.675 byte
Digunakan bertipe string
7. Menggunakan isql Secara umum ke database melalui tiga tahapan: 1. koneksi ke database (persiapan) 2. query/permintaan data (operasi) 3. pemutusan koneksi
untuk
karakter
teks atau
95 Untuk menghubungkan database dengan user menggunakan isql. Salah satu diantaranya untuk memulai isql dengan perintah shell. Perintah untuk masuk ke server Firebird dengan user “ISQL” adalah: 1. Jalankan Dos Prompt 2. Pergi ke bin sub direktori instalasi firebird dan ketik isql untuk windows atau ./isql untuk Linux [# berarti “tekan Enter”]: C:\>cd "Program Files\Firebird\Firebird_1_5\bin"# C:\Program Files\Firebird\Firebird_1_5\bin>isql# Use CONNECT or CREATE DATABASE to specify a database SQL> SQL>QUIT; C:\Program Files\Firebird\Firebird_1_5\bin>
Gambar 8 ISQL
8. Membuat database Sebelum memulai membuat database, buatlah terlebih dahulu sebuah direktori untuk hasil kerja anda, misalnya direktori latihan pada drive D. D:\>mkdir Firebird# Sekarang, kamu dapat membuat database baru yang diberi nama test.fdb dan simpan di direktori Firebird di drive D: SQL> CREATE DATABASE 'D:\Firebird\apotek.fdb' CON> user 'ISWANTO' password 'iswanto';#
96
Untuk membuktikan apakah file database tersebut sudah ada, ketikkan : SQL>CONNECT "D:\Firebird\apotek.fdb"# CON>user 'ISWANTO' password 'iswanto';# DATABASE "D:\Firebird\test.fdb", User: ISWANTO
9. Membuat table Untuk Membuat tabel, anda dapat menggunakan perintah sql:
CREATE TABLE pemasok ( kode_pemasok integer NOT NULL, nama_pemasok varchar(30) NOT NULL, alamat_pemasok varchar(255) NOT NULL, telp_pemasok varchar(30) NOT NULL, PRIMARY KEY
(kode_pemasok)
);
CREATE TABLE obat ( kode_obat integer NOT NULL, nama_obat varchar(30) NOT NULL, fungsi varchar(255) NOT NULL, PRIMARY KEY
(kode_obat)
);
CREATE TABLE beli ( nota_beli integer NOT NULL, kode_pemasok integer NOT NULL, kode_obat integer NOT NULL, tanggal_masuk date NOT NULL,
97 kadaluarsa date NOT NULL, jumlah integer NOT NULL, PRIMARY KEY
(nota_beli, kode_pemasok, kode_obat)
);
10.
Melihat kembali daftar table
Untuk melihat kembali daftar table yang ada di dalam database dapat dilakukan dengan perintah SQL> show tables; BELI
11.
OBAT
PEMASOK
Memasukan data kedalam table
Tabel pemasok yang Anda ciptakan, tentu saja masih dalam keadaan kosong. Untuk memasukan data pada table dapat digunakan perintah INSERT. Aturan penulisannya sebagai berikut: INSERT INTO OBAT VALUES ('11', 'nkasari (tablet hisap)', ' Obat Sariawan '); INSERT INTO OBAT VALUES ('12', 'Fungiderm', ' Obat Kulit '); INSERT INTO OBAT VALUES ('13', 'Mextril', ' Obat Batuk G-N '); INSERT INTO OBAT VALUES ('14', 'Lion Head', ' Obat Gosok Balsem '); INSERT INTO OBAT VALUES ('15', ' Konidin', ' Obat Batuk GN '); commit;
98
KODE_OBAT NAMA_OBAT =========== =======================
FUNGSI ==============
1 Betadine
Obat Luka
2 Hansaplast
Obat Kulit
3 Insto
Obat mata
4 OBP
Obat batuk utk anak
5 Canesten
Obat Kulit
6 Combantrin
Obat Cacing
7 Counterpain
Obat Gosok Balsem
8 Diabetasol
Obat Diabetes
9 Diapet Kapsul
Obat Diare
10 Dulcolax
Obat Diare
Gambar 9 Obat Ditampilkan Via Select
Urutan data pada VALUES sesuai dengan urutan nama kolom dalam pendefinisian struktur table. Untuk contoh diatas anda memasukan sebuah baris dengan kode_obat berupa 11, nama_obat berupa nkasari (tablet hisap), fungsi berupa Obat Sariawan. KODE_OBAT NAMA_OBAT =========== =======================
FUNGSI ==============
1 Betadine
Obat Luka
2 Hansaplast
Obat Kulit
3 Insto
Obat mata
4 OBP
Obat batuk utk anak
5 Canesten
Obat Kulit
6 Combantrin
Obat Cacing
7 Counterpain
Obat Gosok Balsem
8 Diabetasol
Obat Diabetes
9 Diapet Kapsul
Obat Diare
10 Dulcolax
Obat Diare
11 nkasari (tablet hisap)
Obat Sariawan
12 Fungiderm
Obat Kulit
13 Mextril
Obat Batuk G-N
14 Lion Head
Obat Gosok Balsem
15 Konidin
Obat Batuk G-N
Gambar 10 Obat Ditampilkan Via Select
99
12.
Melihat Isi Tabel
Untuk menampilkan isi data dalam table, gunakan perintah SELECT. Aturan penulisannya adalah : SQL> select * from OBAT; Pada pertanyaan ini, * berarti semua kolom dari pemasok yang terletak sesudah kata from menyatakan nama table yang akan diproses. KODE_OBAT NAMA_OBAT =========== ===================
FUNGSI ==============
1 Betadine
Obat Luka
2 Hansaplast
Obat Kulit
3 Insto
Obat mata
4 OBP
Obat batuk utk anak
5 Canesten
Obat Kulit
6 Combantrin
Obat Cacing
7 Counterpain
Obat Gosok Balsem
8 Diabetasol
Obat Diabetes
9 Diapet Kapsul
Obat Diare
10 Dulcolax
Obat Diare
11 nkasari (tablet hisap)
Obat Sariawan
12 Fungiderm
Obat Kulit
13 Mextril
Obat Batuk G-N
14 Lion Head
Obat Gosok Balsem
15 Konidin
Obat Batuk G-N
16 Rhemason
Obat Gosok Balsem
17 Salep Kulit 88
Obat Kulit
18 Salep Kulit Acyclovir
Obat Kulit
19 Salep Walet
Obat Kulit
20 Salonpas Gel
Obat Gosok Balsem
21 Bioplacenton Jelly
Obat Kulit
22 Bodrexin
Obat Penurun Panas
23 Biogesic
Obat Sakit Kepala
24 Actifed plus Expectorant Obat Batuk 25 Afitson
Obat Gosok Balsem
26 Andatol
Obat Kulit
27 Balpirik
Obat Gosok Balsem
28 Aspirin
Obat Sakit Kepala
29 Nutrimoist
Obat Kulit
30 Obat Batuk Putih (OBP)
Obat Batuk
100
Gambar 11 Pemasok Ditampilkan Via Select
Jika Anda ingin menampilkan hanya kolom-kolom tertentu, Anda perlu menyebutkan nama-nama kolom sesudah kata SELECT. SQL> select kode_pemasok,nama_pemasok from pemasok; KODE_PEMASOK NAMA_PEMASOK ============ ============================== 1 Ahmad Husnul Huda Wicaksono 2 Benny C. K 3 Ambar Tri Bawono 4 Andreas Broto Sasongko
Gambar 12 Pemasok Ditampilkan Via Select
Jika Anda ingin menampilkan hanya beris-baris tertentu, Anda perlu menyertakan klausa WHERE pada penyataan SELECT. SQL> select * from obat where fungsi = 'Obat Kulit'; KODE_OBAT NAMA_OBAT =========== ===================
FUNGSI ==============
2 Hansaplast
Obat Kulit
5 Canesten
Obat Kulit
12 Fungiderm
Obat Kulit
17 Salep Kulit 88
Obat Kulit
18 Salep Kulit Acyclovir
Obat Kulit
19 Salep Walet
Obat Kulit
21 Bioplacenton Jelly
Obat Kulit
26 Andatol
Obat Kulit
29 Nutrimoist
Obat Kulit
Gambar 13 Pemasok Ditampilkan Via Select
Bila Anda bermaksud mengurutkan hasil query, Anda bisa menambahkan klausa ORDER BY. Pengurutan dapat dilakukan baik secara ascending(urut naik) maupun descending(urut turun). Bentuk sederhana dari suatu pengurutan hasil adalah
101 didasarkan pada sebuah kolom. Contoh berikut memberikan gambaran pengurutan data menurut nama obat secara ascending. SQL> select * from obat order by nama_obat; Hasilnya seperti berikut: KODE_OBAT NAMA_OBAT =========== ===================
FUNGSI ==============
24 Actifed plus Expectorant Obat Batuk 25 Afitson
Obat Gosok Balsem
26 Andatol
Obat Kulit
28 Aspirin
Obat Sakit Kepala
27 Balpirik
Obat Gosok Balsem
1 Betadine
Obat Luka
23 Biogesic
Obat Sakit Kepala
21 Bioplacenton Jelly
Obat Kulit
22 Bodrexin
Obat Penurun Panas
5 Canesten
Obat Kulit
6 Combantrin
Obat Cacing
7 Counterpain
Obat Gosok Balsem
8 Diabetasol
Obat Diabetes
9 Diapet Kapsul
Obat Diare
10 Dulcolax 12 Fungiderm
Obat Diare Obat Kulit
2 Hansaplast
Obat Kulit
3 Insto
Obat mata
15 Konidin
Obat Batuk G-N
14 Lion Head
Obat Gosok Balsem
13 Mextril
Obat Batuk G-N
29 Nutrimoist
Obat Kulit
4 OBP
Obat batuk utk anak
30 Obat Batuk Putih (OBP)
Obat Batuk
16 Rhemason
Obat Gosok Balsem
17 Salep Kulit 88
Obat Kulit
18 Salep Kulit Acyclovir
Obat Kulit
19 Salep Walet
Obat Kulit
20 Salonpas Gel
Obat Gosok Balsem
11 nkasari (tablet hisap)
Obat Sariawan
Gambar 14 Pemasok Ditampilkan Via Select
102 Jika Anda menginginkan untuk melakukan pengurutan secara descending, Anda cukup menambahkan kata DESC dibelakang nama kolom yang digunakan sebagai pengurutan. SQL> select * from obat order by nama_obat DESC; KODE_OBAT NAMA_OBAT =========== ===================
FUNGSI ==============
11 nkasari (tablet hisap)
Obat Sariawan
20 Salonpas Gel
Obat Gosok Balsem
19 Salep Walet
Obat Kulit
18 Salep Kulit Acyclovir
Obat Kulit
17 Salep Kulit 88
Obat Kulit
16 Rhemason
Obat Gosok Balsem
30 Obat Batuk Putih (OBP)
Obat Batuk
4 OBP
Obat batuk utk anak
29 Nutrimoist
Obat Kulit
13 Mextril
Obat Batuk G-N
14 Lion Head
Obat Gosok Balsem
15 Konidin
Obat Batuk G-N
3 Insto
Obat mata
2 Hansaplast
Obat Kulit
12 Fungiderm
Obat Kulit
10 Dulcolax
Obat Diare
9 Diapet Kapsul
Obat Diare
8 Diabetasol
Obat Diabetes
7 Counterpain
Obat Gosok Balsem
6 Combantrin
Obat Cacing
5 Canesten
Obat Kulit
22 Bodrexin
Obat Penurun Panas
21 Bioplacenton Jelly
Obat Kulit
23 Biogesic
Obat Sakit Kepala
1 Betadine
Obat Luka
27 Balpirik
Obat Gosok Balsem
28 Aspirin
Obat Sakit Kepala
26 Andatol
Obat Kulit
25 Afitson
Obat Gosok Balsem
24 Actifed plus Expectorant
Obat Batuk
Gambar 15 Pemasok Ditampilkan Via Select
103
13.
Mengantikan Struktur Tabel Kadang-kadang Anda perlu mengubah struktur suatu table, entah menambah
menghapus atau mengubah suatu kolom. Untuk mengubahnya, Anda memerlukan perintah SQL ALTER. Contoh berikut merupakan perintah untuk menambahkan sebuah kolom baru bernama sex ke dalam table pemasok: SQL> alter table pemasok add sex char(1); Pada contoh di atas, kolom sex yang bertipe karakter dengan panjang 1 karakter akan ditambahkan ke dalam table pemasok. ALTER TABLE juga bias digunakan untuk menghapus suatu kolom. Contoh berikut menunjukan bentuk ALTER TABLE yang digunakan untuk menghapus sebuah kolom. SQL> alter table pemasok drop kelamin; Pada contoh di atas, kolom kelamin yang bertipe karakter dengan panjang 1 karakter akan dihapus dari dalam table pemasok.
14.
Menghapus Record
Apabila Anda bermaksud menghapus suatu table karena table tidak diperlukan lagi, Anda bias melakukannya dengan memakai pernyataan DROP TABLE. Delete obat where kode_obat = '11'; Delete obat where kode_obat = '12'; Delete obat where kode_obat = '13'; Delete obat where kode_obat = '14'; Delete obat where kode_obat = '15'; commit;
104
KODE_OBAT NAMA_OBAT =========== ===================
FUNGSI ==============
1 Betadine
Obat Luka
2 Hansaplast
Obat Kulit
3 Insto
Obat mata
4 OBP
Obat batuk utk anak
5 Canesten
Obat Kulit
6 Combantrin
Obat Cacing
7 Counterpain
Obat Gosok Balsem
8 Diabetasol
Obat Diabetes
9 Diapet Kapsul
Obat Diare
10 Dulcolax
Obat Diare
Gambar 16 Pemasok Ditampilkan Via Select
15.
Mengubah Record
Untuk mengubah data yang terdapat pada baris tertentu, Anda bias menggunakan pernyataan UPDATE. Contoh pengubahan data sebagai berikut: SQL> update obat set fungsi = 'Obat Gosok Balsem' CON> where nama_obat = 'Counterpain'; SQL> Jika klausa WHERE tidak disertakan, semua baris akan di ubah. Adapun SET digunakan untuk menentukan kolom-kolom yang akan diubah. Selain dapat mengubah beberapa kolom, kita bias mengubah beberapa kolom secara sekaligus. Contoh pengubahan beberapa kolom sebagai berikut: SQL> update obat set nama_obat = 'Benadryl', CON> fungsi = 'Obat Gosok Balsem' CON> where kode_obat = 2; SQL>
105
KODE_OBAT NAMA_OBAT =========== =================== 1 Betadine
FUNGSI ============== Obat Luka
2 Benadryl
Obat Gosok Balsem
3 Insto
Obat mata
4 OBP
Obat batuk utk anak
5 Canesten
Obat Kulit
Gambar 17 Pemasok Ditampilkan Via Select
16.
Menghapus Tabel
Apabila Anda bermaksud menghapus suatu table karena table tersebut tidak Anda perlukan lagi, Anda bias melakukannya dengan memakai pernyataan DROP TABLE. SQL> DROP TABLE pemasok; SQL> show tables; BELI
OBAT