PERANCANGANDATABASE SISTEM APA YANG AKAN ANDA PELAJARI DALAM BAB INn 5etelah
mempelaiari
bab ini, anda diharapkan
dapat:
Ii] Ii]
Menggambarkan sifat-sifot danmodeldatabase relosional.
Ii]
Menjelaskan fujuondonnormolisosi dontigobentuknormalpertomo.
Ii]
Membedokon ontoropendekotan sistemfilefrodisionol dengan pendekatan database management system(DBMS).
Membuatdoffardonmenjeloskan longkoh-longkoh yangdiperlukan untukmeloksonokon prosespemncongon database relasional.
162
PERANCANGAN
DATABASE SISTEM
163
PENDAHULUAN Pada bab ini kita membahas rancangan database dengan penekanan pada model database relasional. Pada tahap ini dalam SLOC (lihat Gambar 4.1), kebutuhan pemakai didefinisikan dengan baik. Rancangan rind dari output, input, dan proses didefinisikan dengan baik. Dengan kebutuhan pemakai sebagai input, proses rancangan database yang rind dapat dilaksanakan dengan tingkat kepercayaan yang tinggi sehingga dapat selesai dan berhasil. Mempelajari bahan dalam bab ini tidak membuat anda menjadi ahIi dalam seluruh topik perancangan database. Anda juga tidak akan mampu merancang kebutuhan data yang komprehensif untuk sistem yang besar, walaupun telah mempelajari bab ini secara teliti. Tidak mungkin untuk menyajikan bahan yang cukup untuk mencapai tujuan tersebut dalam sebuah bab tunggal. (Jika anda tertarik pada subyek ini, banyak kursus lengkap yang ditawarkan dalam area struktur. data, model perancangan database, dan sistem manajemen database). Pusat penyimpanan CASE (CASE central repository; juga disebut kamus proyek, basis-pengetahuan, kamus, atau ensiklopedia pusat, tergantung pada sistem CASE apa yang dipakai), memberikan banyak elemen yang membantu perancangan database. Sebagai contoh, sejenis laporan dan layar yang digambarkan sebelumnya akan mempengaruhi rancangan database. Laporan dan layar dipadukan dalam pusat penyimpanan bersama dengan definisi data yang mendasarinya. Juga, diagram entitas relasi (ERD; entity relationship diagram), diagram arus data (DFD; data flow diagram), dan matriks proses/entity elementer akan membantu perancangan database. Model ini mungkin sudah disimpan dalam pusat penyimpanan, dan sudah dicek keakuratannya, kelengkapannya, dan konsistensinya. Dengan demikian, profesial sistem yang mengakses ke pusat penyimpanan CASE benar-benar siap untuk merancang database.
TINJAUANMENCiENAISISTEMMANAJEMENDATABASE Pada bab ini kita mempelajari RANCANGAN DATABASE(database design), yaitu proses untuk menentukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem. Rancangan database terjadi pada dua tingkat, kecuali jika kebutuhan pemakai luar biasa sederhana. Pada tingkat pertama, perencanaan sistem, analisis, dan rancangan umum dilaksanakan untuk menetapkan kebutuhan pemakai. Tingkat rancangan database ini melibatkan tahap front-end, bebas
164
PENGANTAR PERANCANGAN
SISTEM INFORMASI
Pengembangan perangkallunak
dan Implemenlasl slslem
Pemeliharaan slslem
Operasl
Gambar 4.1 Tahap SDLCdan bab-bab yang berhubungan dalam buku ini. Pada Bab 4 kita akan melihat pada perancangan database sistemsecara rind.
dari rancangan database tertentu atau database management system (DBMS). Pada tingkat kedua (yang kita libatkan pada bab ini), rancangan umum, seperti diagram entitas relasi tingkat tinggi, ditransformasikan (atau didekomposisikan) ke dalam rancangan database rinci untuk sebuah DBMS tertentu yang akan digunakan untuk mengimplementasikan sistem total. Tiga model database yang cukup dikenal adalah:
. . .
ModelHierarkikal ModelJaringan ModelRelasional
Pada masa lalu, banyak penjual (vendors)menawarkan DATABASE MANAGEMENT SYSTEMS(DBMSs)yang berdasarkan pada MODELHIERARKIKAL dan MODELJARINGAN.Model-model ini baik untuk penyimpanan data, tetapi memberikan fasilitas pengambilan-kembali yang buruk. Saat ini, MODELRELASIONAL adalah dominan. Karena itu hampir semua penjual perangkat-lunak database menawarkan produk perangkat-lunak RELATIONALDATABASEMANAGEMENT SYSTEMS (RDBMSs).
PERANCANGAN
.t Procedural languages
DATABASE SISTEM
165
Query languages
External Schema
Derived output for users
Conceptual Schema
Normalized tables
Internal Schema Sequential
Direct
Indexed sequential
o o
o
0 0
DO
Physical structure and access methods
Gambar 4.2 Strukturtiga-skemadari sebuah ROBMS.
Dalam bab ini kita menggunakan model database relasional. Kita juga menyajikan pendekatan sistem file tradisional dan membandingkannya dengan pendekatan DBMS, khususnya RDBMS.
166
PENGANTAR PERANCANGAN SISTEM INFORMASI
RDBMS dibuat dengan struktur tiga-skema berikut, seperti yang digambarkan pada Gambar 4.2. Skema tersebut adalah:
.
Eksternal
.
Konseptual
. Internal
Struktur lapisan ini mendefinisikan data perusahaan pada tiga tingkat yang berbeda. Skema eksternal mendefinisikan bagaimana pemakai mengakses dan melihat output dari RDBMS, bebas dari bagaimana data disimpan atau diakses secara fisik. Akses dan manipulasi seperti ini dilaksanakan oleh pemakai dengan mempekerjakan bahasa prosedural, seperti COBOL, atau bahasa query, seperti STRucrumED QUERYlANGUAGE(SQL), bahasa standar yang diakui untuk RDBMS. Dalam beberapa hal, bahasa query mungkin dilekatkan dalam sebuah bahasa prosed ural untuk mempermudah ONUNE TRANSACTION PROCESSING(OLTP) dan aplikasi serupa. Kita akan membahas mengenai bahasa query tersebut nanti dalam bab ini. Skema konseptual, yang mendefinisikan model database relasional, terdiri dari sekumpuIan tabel yang dinormalisasi. Kita membahas tabel-tabel dan normalisasi pada bagian berikutnya. Skema konsepsional adalah rancangan dari database, yang merupakan subyek utama dari bab ini. Skema internal terdiri dari organisasi fisik dari data (mis., sekuensial, indeks sekuensial, langsung) dalam hal struktur fisik data dan metode-metode pengaksesan dari sistem operasi komputer. Skema internal biasa dibahas pada kursus perangkatkeras komputer.
APAKAH DATABASERELASIONALITU? Model relasional berdasarkan pada teori himpunan matematik. Struktur didefinisikan dengan TABEL.Dalam istilah matematika, tabel disebut sebagai RELASI. Profesional sistem sering menggunakan istilah "tabel" dan "relasi" secara bergantian. Sifat dari label Tiap tabel dalam model relasional dikomposisikan dari baris dan kolom. Kolom disebut ATRIBUT. Nilaiuntuk sebuah atribut harus dipilihdari sekelompok nilai yang dinamakan DOMAIN. Karena banyak kolom dalam tabel yang sarna dapat didefinisi-
PERANCANGAN
DATABASESISTEM
167
kan atas domain yang sarna, maka nama atribut didefinisikan untuk tiap kolom. Tiap nama atribut dalam sebuah relasi harus unik. Urutan kiri-ke-kanan dari kolom tidak penting. Urutan dari baris juga tidak penting. Perpotongan dari suatu baris dan kolom berisi sebuah nilai tunggal. Jika terdapat 10,000 mahasiswa yang akan diwakili dalam sebuah database relasional, maka tabel MAHASISWA terse but akan terdiri dari 10,000 baris. Jika diperlukan sebanyak 50 atribut untuk menggambarkan mahasiswa, seperti Nomor_Mahasiswa, Nama_Mahasiswa, Nomor_Jurusan, Klasifikasi, dan seterusnya, maka tabel MAHASISWA akan terdiri dari 50 kolom. Definisi resmi dari sebuah tabel memperkenalkan sifat-sifat dari tabel terse but. Pertama, duplikasi baris tidak diperbolehkan. Untuk melaksanakan sifat ini, harus terdapat paling sedikit satu atribut atau kombinasi beberapa atribut yang mengidentifikasi secara unik tiap baris dari tabel. Atribut atau kombinasi beberapa atribut yang melaksanakan tugas ini disebut KUNCIPRIMER(PK; primary key). Nomor_Mahasiswa, misalnya, adalah kunci primer yang mengidentifikasi tiap mahasiswa secara unik. Karena nilai PK adalah satu-satunya cara bagi pemakai untuk mengalamatkan baris-baris individual dalam sebuah database relasional, sehingga tidak masuk akal jika sebuah PK mempunyai nilai duplikasi atau nilai yang hilang. Bagaimana anda dapat mengetahui bahwa anda telah mengakses mahasiswa yang tepat jika NomocMahasiswa, sebut 434559764, temyata mengakses tiga baris, atau tiga mahasiswa yang berbeda? Dan bagaimana anda dapat menemukan sebuah baris (atau mahasiswa) tertentu tanpa nilai pengenal? Oleh karena itu, sifat kedua dari database relasional adalah nilai PK tidak boleh mempunyai duplikat atau NIL(NULL; yaitu, nilai tidak diketahui). Mahasiswa duplikat tidak masuk akal, demikian juga mahasiswa yang tak dikenal. Sifat ketiga mendefinisikan KETERHUBUNGAN (relationship) antara dua tabel. Jika Tabel R2 mempunyai sebuah KUNCIASING (FK; foreign key) yang cocok dengan kunci primer (PK) dari Tabel R1, maka untuk setiap nilai FK harus terdapat sebuah nilai kecocokan dari PK, atau nilai FK harus nil. Sebagai contoh, asumsikan sebuah atribut NomocJurusan dalam kolom tabel MAHASISWA, Nomor_Jurusan adalah sebuah kunci primer (PK) yang mengidentifikasi baris secara unik. Dalam tabel MAHASISWA, nilai NomocJurusan mewakili mahasiswa yang mengikuti jurusan (mis., Teknik Mesin, Sistem Informasi Komputer, Akunting). Nilai NomocJurusan dalam tabel MAHASISWA menunjuk ke jurusan yang diikuti mahasiswa; yaitu, tiap sebuah nilai dalam tabel MAHASISWA mewakili sebuah baris yang mengidentifikasi jurusan secara unik dalam tabel JURUSAN. Kolom seperti itu, yang nilainya men un-
168
PENGANTAR PERANCANGAN SISTEM INFORMASI
juk ke nilai kunciprimer (PK),adalah kunciasing (FK).Jelas, tiap nilaiFK harus cocok dengan sebuah nilai dalam kolom PK yang bersesuaian. Jika sebaliknya,dapat terjadi operasi yang bukan-bukan, seperti misalnya seorang mahasiswa yang dijuruskanke jurusan yang tidak ada. Dengan demikian, aturannya adalah: nilai FK dapat menunjuk nilai PK yang ada, atau dapat nil. Keterhubungan antara tabel MAHASISWAdan JURUSAN didemonstrasikan dalam Gambar 4.3. Nomor_Jurusan, sebuah kunci asing (FK)dalam MAHASISWA, menunjuk kepada NomocJurusan, sebuah kunci primer (PK) dalam JURUSAN. Smith dan Jones dijuruskan ke CIS (sistem infonnasi komputer); Brown dan Bums dijuruskanke Akunting;Adam dijuruskanke Bahasa Inggris;dan Atkinsdijuruskanke Teknik Mesin. Keterhubungan antara tabel dapat berupa one-to-one (1:1), one-to-many (1:M), atau many-to-many (M:N). Keterhubungan antara JURUSAN dan MAHASISWA adalah one-to-many; yaitu sebuah JURUSAN dapat mempunyai banyak mahasiswa yang dijuruskankepadanya. Sifat terakhir dari sebuah database relasional berurusan dengan manipulasi data. Manipulasidata mendefinisikan sekumpulan perintah yang diperlukan untuk membuat tabel dan domain datanya; pilih, proyek, dan gabung tabel; dan sisip, hapus, dan perbarui data.
Menggunakan StructuresQuery Language SQL adalah bahasa standar database yang digunakan un~ query, manipulasi, dan memperbarui RDBMS.Karena semakin banyak organisasi yang memutuskan untuk mengkonsolidasikan database mereka ke dalam sistem seluas-usaha, pengetahuan mengenai SQL akan menjadi kebutuhan untuk para perancang database. Tabel Sampel Empat tabel sampel disajikan dalam Gambar 4.4 untuk mengilustrasikansifat dari tabel dan aplikasi dari SQL, yang telah disebutkan sebelumnya. Kunci primer (PK) untuk tabel PELANGGANdan ITEMmasing-masingadalah NomocPelanggan dan Nomocitem. Tabel FAKTUR mempunyai sebuah baris untuk tiap faktur yang diidentifikasi oleh Nomor_Faktur, yang merupakan kunci primer (PK). Nomor_Pelanggan dalam tabel FAKTUR adalah sebuah kunci asing (FK), karena ia menunjuk ke PK dalam tabel PELANGGAN.NomocPelanggan memberikan faktur
PERANCANGANDATABASESISTEM
169
MAHASISWA Nomor mahasiswa
,
Nama mahasiswa
Nomor' jlJrusan
Klasifikasi
FK
PK 437891240
Smith
145
tingkat kedua
434559764
Jones
145
tingkat awal
392771428
Brown
174
tingkat akhir
392845210
Adams
136
tingkat awal
422448914
Atkins
149
tingkat awal
444984210
Burns
174
tingkat kedua
JURUSAN Nomor jurusan
Nama jlJrusan
Alamat jurusan
PK 149
Gambar 4.3
Teknik Mesin
Thomas
174
Akunting
Business Building
145
Sistem Informasi Komputer
Business Building
136
Bahasa Inggris
Hogn Building
Building
Referensi FK ke PK.
kepada pelanggan yang diwajibkan membayar. TabellTEM_UNI berisi dua PK: NomocFaktur yang mengidentifikasi faktur, dan Nomor_Item yang mengidentifikasi
170
PENGANTAR PERANCANGAN SISTEM INFORMASI
PELANGGAN Nomo.. pelaoggao
Nama
Kota
106
Nolan
Seattle
150
Smith
Los Angeles
264
Jones
Dallas
180
Adam
Atlanta
120
Brown
New York
190
Norman
Boston
PK
ITEM .
Tipe
Warna
tlarga
10
Topj
Putih
20.00
11
Baiu
Biru
80.00
12
Sepatu Celana
Coklat
50.00
Merah
60.00
Nomor item PK
13 FAKTUR
ITEM_UNI Nomor
Nomor faktur
pelaoggao
PK
FK
1
106
2
Tanggal faktur
Nomor faktur
Nomor item
Kuantitas
PK!FK
PK!FK
4-15-92
2
10
10
106
5-19-92
1
11
5
3
264
5-25-92
2
13
6
4
190
4-15-92
4
13
4
3
10
12
Gambar 4.4 Tabel-tabel sampel.
PERANCANGANDATABASESISTEM
171
FAKTUR Nomor Item:
Untuk: Nolan Seattle Nomor Item
Tipe
10 13
Topi Celana
Tanggal Faktur:
2 5-19-92
Warna
Kuantitas
Harga
Harga total
Putih Merah
10 6
20.00 60.00
200.00 360.00
Total
560.00
Gambar 4.5 Sampel faktur yang merupakan komposisi dari data yang diakses dari empat tabel sam pel
item pada item lini dari faktur. Sebagai contoh, Faktur 2 mungkin terlihat seperti yang diilustrasikandalam Gambar 4.5. Perintah SQL(REAlE Perintah SQL pertama untuk menginstal tabel dan atributnya ke dalam sebuah RDBMS adalah CREATETABLE. Dalam Gambar 4.6, empat tabel sampel dibuat dan didefinisikan dibawah kontrol sebuah RDBMS. (Setelah tabel didefinisikan, beberapa sistem CASE secara otomatis akan membangkitkan perintah SQL CREATE yang tepat). Tabel disiapkan atau dideklarasikanoleh perintah CREATETABLEyang diikuti oleh sebuah nama tabel. Berikutnya datang satu atau lebih suatu nama kolom (atau nama atribut) dan tipe data yang diberi tanda kurung. Tiap atribut setelah yang pertama didahului dengan koma dan dikuti secara opsional dengan NOT NULL. Atribut (atau kolom) terakhir dalam tabel diikutidengan sebuah tanda-kurung penutup. Definisi CREATE TABLE dari American National Standards Institute (ANSI) Database Committee menetapkan bahwa jika sebuah kolom tidak berisi spesifikasi NULL atau NOT NULL, maka diasumsikan NULL. Beberapa penjual RDBMS menetapkan, dengan menggunakan versi SQL mereka, bahwa jika sebuah kolom tidak berisi spesifikasi NULL atau NOT NULL, maka diasumsikan NOT NULL. . Dengan demikian, menspesifikasikanNOT NULLpada kunciprimer (PK),misalnya, tidaklah penting.
172
PENGANTAR PERANCANGAN
SISTEM INFORMASI
CREATETABLE Customer (Customer _Number Name City
CHAR(3) NOT NULL. CHAR ( 10)
.
CHAR( 15) ) ;
CREATE TABLE Item
(Item_Number Type Color Price
CHAR(2) NOT NULL. CHAR( 10) CHAR( 10)
. .
DECIMAL(6.2));
CREATETABLEInvoice (Invoice_Number Customer_Number Invoice_Date
CHAR(2) NOT NULL. CHAR(3) NOT NULL. DATE)) ;
CREATETABLELine_Item (Invoice_Number Item_ Number Quantity
CHAR(2) NOT NULL. CHAR(2) NOT NULL. NUMERIC)) ;
Gambar 4.6 Perintah SQL CREATEdigunakan untuk menyiapkan tabel dalam RDBMS.
Spesifikasi domain dialamatkan hanya dengan definisi dari tipe data yang valid. Berikut ini adalah tipe data yang valid yang didefinisikan oleh ANSI: CHARACTER (atau CHAR) INTEGER (atau INT) DECIMAL (atau DEC) SMALLINT NUMERIC FLOAT REAL DOUBLE PRECISION
Beberapa penjual memberikan tipe data tambahan untuk RDBMSmereka. Contohnya adalah: VARCHAR
Field karakter dengan panjang variabel
TEXT
Kolom printable character dengan panjang variabel
PERANCANGAN
MONEY
DATABASE SISTEM
173
Menyimpan dollar dan cent
DATETIME Menyimpan tanggal dan waktu hari TIMESTAMP Setiap saat sebuah baris yang berisi kolom ini disisipkan atau diperbarui, maka kolom akan diperbarui secara otomatis.
Domain dari DATETIME,misalnya, berisi semua kombinasi tanggal dan waktu yang valid antara tengah-malam January 1, 1753 sampai dengan December 30, 9999. DATETIMEtidak memperbolehkan tanggal dan waktu invalid,seperti February 30, 1992 at 14:70 P.M. Perlntah Query Perintah inti atau pencarian query SQL adalah: SELECT (atribut 1, atribut 2, ..., atribut n) FROM (relasi 1, relasi 2, ..., relasi n) WHERE (predikat)
Beberapa "queryyang khas dan perintah query SQL yang dibutuhkan untuk menjawabnya didemonstrasikan dalam Gambar 4.7. Pembangkit kode CASE akan menghasilkan perintah query SQL secara otomatis. Seorang pemakai dapat memilih nilaidari satu tabel berdasarkan pada nilai dalam tabel yang lain dengan menggunakan sebuah subseleksi, yang selalu tertutup oleh tanda kurung. Sebagai contoh, untuk membuat daftar faktur untuk Nolan, pemakai menulis SELECT Nomor_Faktur, Tanggal_Faktur FROM Faktur WHERE Nomor_Pelanggan IN (Select Nomor_Pelanggan FROM Pelanggan WHERE Nama = 'Nolan');
Answer:
Nomor Faktur 1 2
Query tabel-ganda dibuat dengan sebuah kondisi penggabungan. Jumlah dart kondisi penggabungan selalu lebih sedikit satu dari jumlah tabel. Untuk tiga tabel, hams terdapat dua kondisipenggabungan. Sebagai contoh:
174
PENGANTAR PERANCANGAN SISTEM INFORMASI
Query: Display the colors that begin with SELECT
Color FROM
WHERE Note:
Color
The % symbol
B.
Item LIKE
'B%';
denotes
wild card.
Query: Listthe number, name, and city of all customers. SELECT Customer_Number, FROM Customer:
Name.
City
Query: Give a complete list of items. SELECT * FROM Item; Note: The asterisk accesses all attributes. Query:
List all customers,
ordered
by name.
SELECT Customer_Number. FROM Customer
Name
ORDER by Name; Query:
How many shoes
do we have?
SELECT COUNT * FROM Item WHERE
Type
, Shoes' ;
Gambar 4.7 Contoh perintah query SQL.
SELECT * FROM Pelanggan, Faktur WHERE Pelanggan.Nomor_Pelanggan Faktur.Nomor_Pelanggani
Query ini menghasilkan hasil berikut:
Nomor_Pelanggan 106 164 106 190
Nama Nolan Jones Nolan Norman
Kota. Nomor_Faktur Nomor_Pelanggan Tgl_Faktur 4-15-92 106 1 Seattle 5-19-92 164 3 Dallas 525-92 2 106 Seattle 4-15-92 4 190 Boston
PERANCANGANDATABASESISTEM
175
Tanda asterisk menunjuk ke seluruh kolom dalam tabel referensi, dalam hal ini, tabel PELANGGAN dan FAKTUR. Jika kedua kolom mempunyai nama yang sarna, dalam contoh ini NomocPelanggan, penting sekali untuk merubah nama dengan mendahuluinya dengan nama tabel dan sebuah titik. Umumnya sebuah kondisi gabungan melibatkan sebuah kunci primer (PK) dan sebuah kunci asing (FK).
Perinlah Perbarui SQL menggunakan tiga perintah untuk mengubah baris-barisdalam sebuah database relasional:INSERT,UPDATE,dan DELETE.Pembangkit kode CASEsecara otomatis menghasilkan perintah perbarui. Sebagai contoh, untuk menyisipkan seorang pelanggan baru dalam database, yang harus dilakukan pemakai hanyalah mengetik data variabelnya(yaitu, 144, Kelly,Pitsburgh),seperti berikut: INSERT INTO Pelanggan VALUES (144, 'Kelly',
'Pitsburgh'J;
Perintah ini menambah seorang pelanggan baru ke tabel PELANGGAN.Perhatikan bahwa urutan data untuk pelanggan baru tersebut mengikuti urutan yang sarna dengan atribut-atribut Nomor_Pelanggan, Nama_Pelanggan, dan Kota dalam table PELANGGAN. Perintah di bawah ini menaikkan harga dari Nomocltem 11 Pakaian sebesar 20 persen: UPDATE SET WHERE
Item Harga = Harga * 1.20 Nomor_Item = 11;
Perintah di bawah ini menghapus NomocPelanggan 120 Brown dari tabel PELANGGAN: DELETE FROM Pelanggan WHERE
Nomor_Pelanggan
= 120;
MERAMCAMG SEBUAHDATABASE RELASIONAL Proses perancangan database yang digambarkan selanjutnya dapat dipetakan ke model database relasional. Hal ini dilakukan dengan menggunakan diagram entitas
176
PENGANTAR PERANCANGAN
SISTEM INFORMASI
relasi dan proses pewawancaraan, keduanya telah disajikan pada bab-bab sebelumnya. Inti dari proses pengolahan database adalah untuk menangkap qua berpildr sebuah aplikasi dari kata-kata yang muncul dari pemakai selama wawancara. Cara terbaik untuk menentukan entitas dari sebuah aplikasi adalah membahas aplikasi tersebut dengan orang-orang yang akan mengoperasikan dan menggunakannya.
MemodelkanEntitidan Memetakannyake label ENTITI dapat disamakan dengan kata benda, keterhubungan adalah kata kerja, dan atribut adalah kata sifat, kata keterangan, dan kalimat penghubung. Kata-kata yang diberikan oleh pemakai untuk menggambarkan kebutuhan mereka lalu digunakan untuk menyiapkan sebuah model data logikaldengan menggunakan diagram entitas relasi (Entity Relationship Diagrams; ERD). Ini adalah sebuah cara yang natural dalam menjalankan rancangan proses, karena model yang dihasilkanmencerminkan dengan tepat cara pengelolaan dan pengoperasian usaha tersebut. Proses yang digunakan untuk mengambil dari sebuah deskripsi verbal ke sebuah database itulah yang akan kita bahas saat ini. Pemodelan seluas-usaha yang dilakukan pada Bab 4 memberikan sebuah ERD tingkat-tinggiuntuk petunjuk umum. Penyempumaan lebih lanjutdari model ini dan model-model lain dibuat selama rancangan analisisdan rancangan umum. Beberapa sistem CASE secara otomatis akan menciptakan sebuah rancangan database relasional "potongan pertama" berdasarkan pada ERD tingkat-tinggidan menyempurnakan rancangan database pada saat ERD tingkat-tinggidisempumakan. Lebih jauh lagi, CASE akan menjamin kekonsistenan antara rancangan umum dengan rancangan rinci. Mungkin apa yang pertama kali anda definisikan sebelumnya sebagai entitas sebenamya bukan sebuah entitas tetapi sebuah atribut. Seperti yang telah kita tetapkan, sebuah entitas akan dinyatakan sebagai sebuah kata benda dan sebuah atribut umumnya dinyatakan sebagai sebuah kata sifat. Sebagai contoh, seorang pemakai mungkin berkata: "Nomor pesanan pembelian diterima dari seorang pelanggan." Lalu anda mungkin mendefinisikan "nomor pesanan pembelian" dan "pelanggan" sebagai entitas. Mungkinsaja "pelanggan" adalah sebuah entitas, tetapi tidak mungkin bahwa "nomor pesanan pembelian" adalah entitas. Jauh lebih mungkin bahwa "nomor pesanan pembelian" adalah sebuah atribut dari entitas "pesanan pembelian". Juga mungkin bahwa "nomor pesanan pembelian" akan menjadi kunci primer untuk entitas "pesanan pembelian".
PERANCANGANDATABASESISTEM
177
Gambar 4.8 Model dari entitas yang dipetakan ke tabel.
Tetapi, mari kita asumsikan bahwa anda telah mendefinisikan entitas untuk penanganan pesanan pelanggan dengan menggunakan sebuah ERD. Entitidari ERD ini dipetakan ke dalam tabel yang diperlihatkandalam Gambar 4.8. Sekarang anda telah mempunyai sekumpulan tabel. Tetapi perhatikan bahwa tabel PENJUAL telah dihilangkan dengan menggambarkan tanda X di atasnya. Setelah peninjauan lebih lanjut, ditentukan bahwa entitas ini tidak dalam lingkup sistem yang sedang dikembangkan, yang memusatkan perhatian semata-mata pada penanganan pesanan pelanggan. Walaupun penjual memasok item-item persediaan yang dijual ke pelanggan, entitas PENJUAL tidak dibutuhkan pada aplikasi khusus ~i.
.
MenunjukKunciPrimer Langkah penting berikutnya adalah untuk menunjuk kunci primer yang secara unik mengidentifikasidata dalam tiap tabel. Sebuah kunci primer harus berlaku sebagai pengenal unik dan harus selalu tersedia. Tabel yang didefinisikan pada langkah pertama sekarang berisi PK seperti yang didemonstrasikandalam Gambar 4.9.
178
PENGANTARPERANCANGANSISTEMINFORMASI
PEI.ANGGAN
PESANANPEMBELIAN
Nomor Ianggan
Nomor pesanan l11belian
PK
PK
0001 0002 0003 0004
200 201 202 203
ITEM Npmor item PK 1000 1001 1002 1003
Gambar 4.9 Tabel dengan kunci primer (PK)
Kegunaan dari kunci primer bukanlah hal yang baru. Bisnistelah menggunakan kunci (atau kode) jauh sebelum komputer, untuk mengidentifikasikansesuatu secara unik, seperti pelanggan, gudang, faktur, truk, dan lain-lain.PK dalam tabel contoh diwakili oleh NomocPelanggan, Nomor_Pesanan_Pembelian, dan NomocItem, bersama dengan data sampel. Pada tahap ini, model database tersebut adalah sebuah koleksitabel, masing-masing dengan kolom, kunci primer, dan data sampel. Sebuah tabel telah dihilangkan karena berada di atas lingkup dari aplikasi.Tetapi model database tersebut mungkin belum lengkap. Mungkinada satu atau lebihentitas yang terlewatkan. Pada kasus kita ini, setelah meninjau dan menganalisislebihjauh, para pemakai memutuskan bahwa sebuah entitas "pengantar-pesanan" harus dimasukkan. (Pengantar-pesanan adalah
PERANCANGAN
Gambar 4.10
DATABASE SISTEM
PELANGGAN
PESANANPEMBELIAN
Nomor pelanggan
Nomor pesanan pembelian
PK
PK
0001 0002 0003 0004
200 201 202 203
ITEM
KURIR
Nomor item
Nomor kurir
PK
PK
1000 1001 1002 1003
100 101 102 103
179
Model revisi dari tabel-tabel
perusahaan transportasi yang mengirimkan item yang dibelikepada pelanggan. Lalu model database direvisiuntuk memasukkan sebuah tabel KURIR,NomocPengantarpesanan sebagai PK, dan data sampelnya. Model yang direvisi ditampilkan pada Gambar 4.10. lelasl Model di Anlara label Jika anda merasa sedikit yakin bahwa seluruh entitas untuk sistem yang sedang dikembangkan telah didefinisikandan dipetakan ke dalam tabel beserta PK-nya, anda siap untuk melaluisetiap kombinasitabel yang mungkindan menandakan suatu relasi di antara tabel tersebut. Ingat bahwa relasi adalah kata kerja dari model database
180
PENGANTAR PERANCANGAN
SISTEM INFORMASI
relasional. Sebagai contoh: Pelanggan (kata benda) mengusulkan (kata kerja) pesanan pembelian (kata benda). Setelah anda menentukan bahwa ada sebuah relasi langsung diantara tabel-tabel tersebut, tentukan apakah tipe relasi tersebut. Apakah one-to-one (1:1), one-to-many (l:M), atau many-to-many (M:N)? Anda dapat memutuskannya dengan menanyakan dua buah pertanyaan:
1 2
Dapatkah entitas yang digambarkandalam Tabel A dikaitkan(linked) ke lebih dari satu entitas yang digambarkan dalam Tabel B? Dapatkah entitas yang digambarkan dalam Tabel B dikaitkan dengan lebih dari satu entitas yang digambarkandi Tabel A?
Jika jawaban terhadap kedua pertanyaan tersebut adalah tidak, maka terdapat relasi one-to-one (1: 1). jika jawaban terhadap kedua pertanyaan adalah ya, maka terdapat relasi many-to-many (M:N). Jika jawaban terhadap sebuah pertanyaan adalah ya dan jawaban untuk pertanyaan lain adalah tidak, maka terdapat relasi one-to-many (1:M). Pada contoh kita, terdapat sebuah relasi one-to-many (1:M) antara PElANGGAN dan PESANAN PEMBELIAN, karena satu pelanggan dapat mempunyai banyak pesanan pembelian, tetapi satu pesanan pembelian tidak dapat mempunyai banyak pelanggan. Relasi tersebut ditandai dengan menempatkan sebuah kunci asing (FK) dalam tabel PESANAN PEMBEUAN, seperti digambarkan dalam Gambar 4.11. FK pada tabel PESANAN PEMBELIAN cocok dengan PK dalam tabel PELANGGAN. Kenyataannya, sebuah FK menjalankan fakta bahwa sebuah nilai untuk FK harus cocok dengan sebuah nila! untuk PK dari tabellain. Sebuah relasi one-to-many (l:M) juga terdapat antara PELANGGAN dan KURIR. Untuk relasi.ini, didefinisikan sebuah tabel baru, PELANGGAN/KURIR, yang berisi sebuah PK yang telah dibangun dari kedua FK-nya. Kedua FK ini cocok dengan PK dari tabel PELANGGAN dan KURIR yang dilibatkan dalam relasi many-to-many (M:N). Model Atribut untuk Tabel Atribut adalah sebuah sifat yang diberi nama dari sebuah tabel. Atribut adalah sifat-sifat yang diminati pemakai dalam penjejakan, perbaruan, dan pengaksesan. Mereka ditunjukkan sebagai kolom-kolom tambahan dalam tabel. Seperti yang telah dikatakan sebelumnya, atribut-atribut biasanya akan digambarkan oleh pemakai selama proses wawancara sebagai kata sifat, kata keterangan, atau kalimat penghubung. Dalam Gambar 4.12 kita telah menambahkan atribut yang diperlukan
PERANCANGAN
PELANGGAN
PESANANPEMBELIAN
Nomor pelanggan
Nomor pesanan pembelian
Nomor pelanggan
PK
PK
PK
0001 0002 0003 0004
200 201 202 203
0001 0002 0003 0004
KURIR
ITEM Nomor item
Nomor pesanan pembelian
Nomor kurir
PK
PK
PK
1000 1001 1002 1003
200 201 202 203
100 101 102 103
PELANGGAN!KURIR
Gambar 4.11
DATABASE SISTEM
Nomor pelanggan
Nomor kurir
PK
PK
FK
FK
0001 0002 0003 0004
100 101 102 103
Model dari entitas relasi.
181
182
PENGANTAR PERANCANGAN
PESANANPEMBELIAN
PELANGGAN Nomor pelanggan
SISTEM INFORMASI
Nama
Alamat
Nomor pesanan pembelian
Nomor pelanggan
PK
FK
200 201 202 203
0001 0002 0003 0004
PK 0001 0002 0003 0004
Cole Lear Robbins Cook
Boston Detroit Atlanta Miami
Jumlah dollar
4-12-92 5-16-92 5-17-92 5-24-92
700.00 400.00 505.00 820.00
KURIR
ITEM Nomor item
Tanggal
Nomor pesanan pembelian
PK
FK
1000 1001 1002 1003
200 201 202 203
Kuantitas dalam unit
Nomor kurir
pelanggan
Nomor kurir
PK
PK
FK
FK
0001 0002 0003 0004
100 101 102 103
Gambar 4.12
Nomor telepon
Speedy Overn ight Nationwide Overland
7024944852 6014764444 2019876492 2128844025
PK 20 10 12 16
100 101 102 103
PELANGGAN/KURIR Nomor
Nama
Tanggal pengiriman
5-14-92 5-17-92 5-19-92 6-02-92
Tabel yang didefinisikan secara penuh.
PERANCANGAN
DATABASESISTEM
183
untuk mendefinisikantiap tabel secara lengkap. Atribut ini muncul sebagai sifat yang diberi nama yang ditempatkan dalam kolom dari tabel tersebut. Pemyataan dari pemakai akan berlaku sebagai petunjuk dalam menemukan dan menggambarkan atributj sebagai contoh: . "Kita memerlukan akses yang siap untuk nomor telepon para kurir kita" . .
"Kita membutuhkan nama-nama dari pelanggan kita" "Kita perlu tahu kapan sebuah pesanan dikirimkan".
Dari pemyataan semacam ini, atribut-atribut untuk semua tabel harus dapat didefinisikansecara penuh. Normalisasi Model Database Pada proses rancangan sebelumnya, normalisasi belum dipertimbangkan secara sadar. Sasaran dari proses rancangan yang telah kita jalani adalah untuk penyelesaian dengan tabel yang bebas dari persoalan yang potensial, kadang-kadang disebut keganjilan {anomalies} perbaruan, penyisipan, dan penghapusan. Beberapa sistem CASE memberikan perkakas penormalisasi bersama dengan perkakas perancangan database mereka.
Menyiapkan Sebuah Kamus Data KAMUSDATAadalah sebuah penyimpanan pusat (central repository) data dari suatu usaha. Kebanyakan RDBMS menawarkan kamus data sebagai perkakas otomatisasi perangkat-Iunak. Kebanyakan sistem CASE juga menawarkan sebuah perkakas kamus data yang secara otomatis akan membuat sebuah kamus data yang lengkap dari database relasional-nya. Kamus data mempunyai sejumlah kegunaan, bergantung pada tahap dari SDLe. Porsi-porsi dari kamus data mungkin telah ditangkap selama rancangan pemodelan seluas-usaha, rancangan analisis sistem, dan rancangan umum sistem, atau selama rancangan input, output dan proses. Di sini kita asumsikan bahwa kamus data adalah sebuah arti' otomatis untuk mendefinisikan tabel, atribut, dan relasi dari RDBMS. Kamus data memasukkan karakteristik seperti ukuran, tipe, deskripsi, batas-batas, rentang-rentang, tingkat pengamanan, dan hak pengaksesan dari sebuah atribut. Sebagai contoh, output kamus data untuk sebuah atribut yang diberi nama No-
184
PENGANTARPERANCANGANSISTEMINFORMASI
Nama atribllt Nomor_PesananPembelian
Panjang Min.
Max.
Tipe
3
3
Numerik
Dimana digunakan Pesanan_Pembelian
Deskripsi:Sebuah bilangan yang mengidentifikasitiap pesanan pembelian
Gambar 4.13
Sampel output dari kamus data.
mocPesanan_Pembelian diperlihatkan pada Gambar 4.13. Output ini hanya salah satu dari beberapa eara untuk membentuk output kamus data.
APAKAH NORMALISASIITU NORMAUSASI adalah sebuah teknik untuk mengoptimasi raneangan database relasional dan membebaskan raneangan tersebut dari keganjilan dan persoalan yang potensial. Normalisasi juga dapat diterapkan ke model database lainnya. Seeara sederhana, normalisasi melibatkan pemeeahan data dalam tabel ke dalam tabel yang lebih keeil sampai tiap atribut dalam tiap tabel hanya bergantung pada (beberapa) kunci dalam tabel tersebut. Raneangan database relasionalyang buruk yang tidak dinormalisasiakan menyebabkan persoalan selama database tersebut diinstal. Persoalan yang agak ringan, database menjadi tidak efisienuntuk dijalankandan sulituntuk dipelihara. Sedangkan persoalan yang terberat adalah, setelah database diinstal, pemakai menemukan bahwa database tersebut tidak menghasilkanapa yang dibutuhkan atau memberikan hasil yang tidak akurat. Menggunakan Bentuk Normaluntuk MenganalisisDatabase Model database relasional memberikan sejumlah teknik analitis yang kuat yang menawarkan bantuan berharga dalam meraneang dan mengoptimalkan database
PERANCANGAN
DATABASESISTEM
185
relasional. Teknik ini adalah BENTIJ]{NORMAL,dan proses yang menerapkannya adalah normalisasi. Bentuk normal dalam bab ini adalah: . .
Bentuk normal pertama Bentuk normal kedua
.
Bentuk normal ketiga
Bentuk ini memberikan petunjuk kepada perancang database dan menunjukkan berbagai persoalan atau persoalan yang potensial. Benluk Normal Perlama
BENfUK NORMAL PERTAMA (lNF; first normal form) mengharuskan penghilangan dari atribut-atribut atau kelompok atribut yang berulang dari sebuah relasi. Biasanya, pelanggaran terhadap bentuk normal pertama sangat jelas, sehingga seseorang akan mendeteksinya segera (kecuali pemula). Sebagai contoh, kita akan menggunakan sebuah aplikasi pembelian, yang diperlihatkan dalam Gambar 4.14. relasi PESANAN_PEMBEUAN dan ITEM_PESANAN adalah dalam bentuk normal pertama karena mereka tidak berisi atribut yang berulang. Benluk Normal Kedua
Sebuah rancangan database relasional adalah dalam BENfUK NORMALKEDUA (2NF; second normal form) jika rancangan tersebut sudah berada dalam bentuk normal pertama dan semua atribut non-kunci bergantung pada kunci primemya. Tujuan dari bentuk normal kedua ialah untuk menghilangkan suatu ketergantungan fungsional parsial. Ketergantungan fungsional parsial dapat terjadi dengan kunci TERKONKATENASI(concatenated key; kombinasi dari kunci). Bentuk normal kedua mengharuskan seluruh atribut dalam sebuah tabel tergantung pada keseluruhan ekspresi kunci primer, bukan dengan bagian lain daripadanya. Sebagai contoh, Gambar 4.14 memperlihatkan ITEM_PESANAN dengan sebuah kunci terkonkatenasi yang terbuat dari NomocItem dan NomocPesanan_Pembelian. Dengan melihat pada seluruh sisa atribut dalam ITEM_PESANAN, anda akan melihat bahwa ada dua atribut yang tidak tergantung pada keseluruhan kunci. Dengan mengingat bahwa kunci primer untuk tabel ini terdiri dari Nomer-Item dan Nomor_Pesanan_Pembelian, anda harus mencatat bahwa DeskripsUtem dan Unit..Pengukuran mungkin dapat diidentifikasi secara lengkap oleh Nomor_Item saja.
186
PENGANTAR PERANCANGAN
SISTEM INFORMASI
PURCHASE_ORDER PO number
Order date
Vendor number
Vendor name
Vendor address
Shipping data
Item description
Unit of measure
Quality
Cost
Billing data
Order total
PK
ORDER_ITEM Item number
PO number
PK
PI(
Gambar 4.14
Bentuk normal pertama.
Pikirkan tentang DeskripsUtem. DeskripsUtem untuk aplikasi ini dihubungkan dengan NomocItem. DeskripsUtem tersebut tidak akan berbeda jika NomocPesanan_Pembelian berubah. Dan juga, DeskripsUtem akan berbeda jika Nomocitem berubah. DeskripsUtem bergantung secara fungsional hanya pada NomocItem. Ini berarti bahwa DeskripsUtem hanya bergantung secara parsial terhadap field kunci yang terkonkatenasi. la harus dihilangkan dari tabel ini untuk memperoleh bentuk normal kedua. Kadang-kadang seorang analis harus melakukan sedikit penelitian untuk mengetahui atribut yang mana yang bergantung ke atribut yang lain. Pada kasus ini kita tahu bahwa DeskripsUtem selalu sarna tanpa mempedulikan pesanan pembelian yang mana yang digunakan untuk membeli item tertentu tersebut. Tetapi mungkin kita harus bertanya kepada pemakai akhir apakah itu juga benar untuk atribut UniCPengukuran. Sebagai contoh, jika kita membeli lembaran logam, unit apa yang kita gunakan? Apakah kita selalu membeli lembaran logam per-kaki? Atau apakah kita
PERANCANGANDATABASESISTEM
"
"
it.
pO number
187
Order date
Vendor number
Vendor . name
Quantity
Cost
Vendor address
Shipping data
Billing data
Order total
PK
ORDER..,lTBM
Item nwnber
PO number
PK
FK
-'.
lTSM
l_ n_bet
,
Item description
Unitof measure
PK
Gambar 4.15
Bentuk normal kedua.
kadang-kadang membelinya per-meter?' Jika kita kadang-kadang membelinya perkaki dan pada waktu lain membelinya per-meter, apakahkita perlu mengetahui pesanan pembelian tertentu untuk mengetahui unit pengukurannya? Jika unit pengukuran berbeda, bergantung pada pesanan pembelia,n, atribut UniCPengukuran harus tetap berada dalam ITEM_PESANAN. Jika unit pengukurannya sarna tanpa
188
PENGANTAR PERANCANGAN SISTEM INFORMASI
mempedulikan pesanan pembelian, atribut UniCPengukuran akan dipindahkan ke tabel ITEMyang digarnbarkandalam Garnbar 4.15. Untuk aplikasiini, kita akan mengasumsikanbahwa Unit_Pengukuranselalusarna untuk item tertentu. Dengan asumsi ini, Garnbar 4.15 menghilangkan ketergantungan fungsional parsial dan melukiskan rancangan database relasional dalam bentuk normal kedua. Bentuk Normal Ketiga
Normalisasi ke BENTUKNORMAL KETIGA (3NFj third normal form) melibatkan penghilangan ketergantungan transitif,yaitu, ketergantungan suatu atribut non-kunci terhadap atribut yang lain kecualikunci primer (PK). Sebagai contoh, periksa PESANAN_PEMBEUANyang diperlihatkan dalam Gambar 4.15. Tabel ini berisi atribut-atribut Nomor_Pesanan_Pembelian, Nomor_Penjual, Nama_Penjual, dan AlamaCPenjual, di antara atribut-atribut lainnya. Atribut Narna_Penjual dan AlamaCPenjual tidak bergantung pada kunci primer, Nomor_Pesanan_Pembelian. Tetapi, kedua atribut ini didefinisikansecara unik dan lengkap oleh atribut Nomor_Penjual. Untuk memperoleh bentuk normal ketiga, kedua atribut ini harus dipisahkan dari PESANAN_PEMBEUANdan ditempatkan ke dalarn tabel lain. Gambar 4.16 memperlihatkan bahwa atribut ini dihapuskan dari PESANAN_PEMBEUANdan ditempatkan ke dalam sebuah tabel PENJUAL. Garnbar 4.16 sekarang adalah rancangan database relasional untuk fungsi pembelian dengan data dalam bentuk normal ketiga. Beberapa bentuk normal yang lain yang dapat dipertimbangkan adalah:
. . . .
Bentuknormalkeempat Bentuknormalkelima BentuknormalBoyce-Codd BentuknormalKunci-domain.
Tetapi normalisasi di atas bentuk normal ketiga jarang sekalidiperlukan. Rancangandan Normalisasi Sampel kasus yang disertakan ini memberikan sebuah rangkuman mengenai rancangan dan normalisasi database:
~----------------_.--------
PERANCANGAN
DATABASE SISTEM
PUR.CHASIU>RDBR
PO nlBnber
Order date
Shipping data
Billing data
PK
-
--
ORDERJTEM PO number
Item number
PK
PK/PK
Quantity
ITEM Item number
Item description
Unitof measure
Vendor name
Vendor address
PK
VENDOR Vendor number PK
Gambar 4.16
Bentuk normal ketiga.
Cost
Order total
189
n
190
.___.__.___________.__._______.____.._______._.____..._.___._.__._....__.
PENGANTAR PERANCANGAN SISTEM INFORMASI
Rancangan
Database pada Athena Consulting
Tom Snyder dan Sylvia Webster menamatkan kuliah mereka bersama-sama dari sebuah perguruan tinggi, dan bidang mereka adalah Sistem Informasi Komputer. Keduanya bekerja sebagai analis-sistem untuk sebuah bank yang besar, tetapi mereka menjadi bosan dan memutuskan untuk membentuk sebuah rekanan konsultan sistem dan berhenti atas keinginan sendiri. proyek kewirausahaan mereka dihasilkan dalam sebuah firma konsultan sistem yang diberi nama Athena Consulting. Mereka baru-baru ini mengorganisir firma mereka dan mempersiapkannya untuk calon klien. IIKita perlu mengembangkan sebuah database penagihan-waktu untuk penjejakan jumlah waktu yang terpakai untuk proyek,lI kata Sylvia. IIPendekatan yang saya sukai untuk sebuah sistem manajemen database relasional adalah entitas relasi (entity relasionshipJ,1ITom berkata. IISayajuga," kata Sylvia menyetujui. "Bagi saya, sepertinya tujuan dari penjejakan waktu yang dipekerjakan pad a proyek hanya berarti dua entitas, proyek dan jam, dengan sebuah relasi one-to-many,1I kata Tom. Tom membuat sketsa sebuah ERD.
Jam
EJ
"Saya pikir itu tidak mencukupi,lI kata Sylvia. "Proyek dilaksanakan untuk klien, karena itu be be rap a data dari klien harus disimpan dalam database. Sini, biar saya tambahkan sebuah entitas klien pada ERD'mu."
Jam
M
PERANCANGAN
..-
- - --- - -
--
-
DATABASE SISTEM
191
- - - -- -..-
"Saya mengerti maksudmu," tanggap Tom. "Jika setiap proyek dilaksanakan untuk klien yang berbeda, cukup beralasan untuk menyhnpan data klien dalam entitas proyek, tetapi ini bukan kasus seperti itu. Kita akan melaksanakan beberapa proyek untuk klien yang sama. Dengan rancangan saya, situasi seperti ini akan mengakibatkan redundansi data dengan data klien yang sama terhubung dalam proyek yang berbeda." "Ya, dan kita tidak menginginkan itu terjadi," Sylvia menanggapi." Redundansi seperti itu akan membuang-buang tempat dan juga menciptakan kemungkinan data yang tidak konsisten, jika satu hal dari sebuah data klien diperbarui, sedangkan yang lain tidak." "Ya, normalisasi akan mencegah masalah-masalah seperti itu," Tom menanggapi. "Setelah berpikir lebih jauh, saya kira kita membutuhkan sebuah tabel Status." "Apa kegunaan dari tabel Status?" Sylvia bertanya. ''Tabel Status akan digunakan sebagai tabel keterangan untuk validasi kolom StatusProyek dalam tabel Proyek dan untuk menyimpan sebuah uraian teks yang diperluas mengenai status dari proyek yang akan dipakai dalam laporan kita kepada klien," sahut Tom. "Jadi Status-Proyek adalah sebagai PK dalam tabel Status dan sebagai FKdalam tabel proyek. Setuju Sylvia?" ''Tentu! Sekarang kita siap untuk memetakan rancangan database kita ya.ng telah dinormalisasi ke dalam sistem manajemen database relasional kita yang baru dari System Database," Sylvia berkata dengan bersemangat.
"Kitatelah mendefinisikansemuanya
~
tabel, relasi,kunci, atribut, semua sudah
dinormalisasi dan siap dijalankan," tanggap Tom. Tabel-tabel yang diciptakan Tom dan Sylvia disajikan dalam Gambar 4.17. "Mengapa kita tidak menggunakan NOT NULL untuk kunci primer dan sekunder kita seperti pada atribut-atribut yang lain?lI"tanya Sylvia. "Karena RDBMS-kita mengasumsikan bahwa seluruh atribut NOT NULL kecuali kalau kita katakan sebaliknya," jawab Tom. 'Well, Saya kira kita mempunyai sebuah database yangbaik yang akan rnembantu kita dalarn menjejaki proyek kita," kata Sylvia. "Sekarang yang kita butuhkan adalah beberapa orang klien," kata Tom berharap.
SISTEMUMTUKMEMYIMPAMDAM MEMAMIPULASIDATA Terdapat dua pendekatan rancangan umum untuk menyimpan dan memanipulasi data dalam sebuah sistem informasiyang terkomputerisasi: 1 Pendekatan sistem file tradisional
192
PENGANTAR PERANCANGAN SISTEM INFORMASI
CREATE
TABLEHours
(Project_ Number Project_ Description Start_ Date Hours_ Worked Completion_ Date
CHAR(5) CHAR(20)
.
DATE.
.
DECIMAL(4.2)
DATE);
.
CREATE TABLE Projects (Project_Number Project_Description Project_Status Invoice_Number Invoice_Date Invoice_Amount Check_Date Check_.Amoun
t
Client_Number CREATE TABLE Clients
(Clienc Number Client_Name Address Contact_Person Phone_Number
Gambar 4.17
2
.
CHAR( 5 ) CHAR(20) CHAR( 40 ) CHAR(20) CHAR( 12) ) ;
.
. .
CREATE TABLE Status (Project_Status Status_Description
CHAR ( 5 )
.
.
CHAR( 20) CHAR ( 2 ) NUMERIC (5)
.
.
DATE. MONEY. DATE. MONEY. CHAR( 5 ) ) ;
.
CHAR ( 2 ) CHAR ( 500 ) ) ;
Tabel-tabel yang dibuat untuk sistem manajemen database relasional Athena.
Pendekatan sistem manajemen database (DBMS; database management system)
Sistem File Tradisional PENDEKATAN SISTEMFILETRADISIONAL untuk penyimpanan dan pengaksesan data menggunakan file-file data terpisah untuk tiap sistem aplikasi yang berbeda. Perancang sistem file tradisional mengunakan istilah-istilah seperti "file", "rekord", dan "field". File dapat disamakan dengan tabel (atau relasi). Sebuah file terkomposisi dari rekord-rekord yang serupa dengan baris-baris dalam sebuah tabei. Rekord-rekord terbuat dari field-field, yang serupa dengan atribut dalam sebuah tabei. Salah satu perbedaan utama dari pendekatan sistem file tradisional dengan pendekatan RDBMS adalah, dalam sistem tradisional, data dalam File A tidak terhubung secara logikal ke data dalam File B, sedangkan keistimewaan kunci dari sebuah RDBMS adalah relasi antara tabel dan data dalam tabel tersebut. Dalam sebuah sistem tradisional, data dibuat, diperbarui, dan diakses oleh program individual yang ditulis dalam sebuah bahasa pemrograman prosedural, seperti COBOL, RPG, C, atau PASCAL. Tidak terdapat perangkat-Iunak khusus untuk
PERANCANGAN
DATABASE SISTEM
193
mendukung penyimpanan dan pengaksesan data, seperti yang tersedia pada pendekatan sistem manajemen datab~e. Semua file dibuat dan dipelihara secara terpisah. Semua program ditulisuntuk mengakses file tersebut dengan menggunakan metode pengaksesan filedari sistem operasi dari sebuah arsitektur komputer tertentu untuk membaca dan menulis data. Data yang dikelola oleh sebuah DBMS (atau RDBMS)biasanya disimpan pada PERANGKAT PENYIMPANANAKSES-IANGSUNG (DASD; direct-acces
storage device),
seperti perangkat magnetic disk atau optical disk. Data untuk sistem file tradisional biasanya disimpan pada magnetic tape untuk pengolahan batch sekuensial atau DASD untuk pengaksesan sekuensial-langsungatau -terindeks. Untuk memahami bagaimana sebuah sistem file tradisional berfungsi, mari kita periksa sistem yang digunakan pada sebuah toko penyewaan kaset-video (lihat Gambar 4.18). Beberapa dari data yang diperlukan oleh sebuah toko penyewaan kaset-video termasuk data mengenai dari penjual mana video tersebut dibeli, videovideo dalam persediaan, pelanggan yang menyewa video, dan pegawai toko. Tiap entitas ini digambarkan sebagai sebuah file dalam Gambar 4.18. Dengan menggunakan sistem file tradisional, harus ditulisprogram untuk membuat dan memelihara
Vendor file
Vendor programs
I""~
Inventory programs
"Customer master file
..
... ..
Customew" programs
':,'1:, ,.",,<~-/
Employee file I~~
Empioy~: .~'
Gambar 4.18 Sistemfile tradisionaluntuk toko penyewaan kaset video.
Inquiry , reports, and updates
194
PENGANTAR PERANCANGAN
SISTEM INFORMASI
file dari setiap entitasnya. Program lain juga harus dituIis untuk mengakses data dari file yang terpisah. Program laporan berbasis-printer dan program inquiry berbasislayar mungkin harus juga ditulis. Sistem ini bekerja secara efisien sampai terdapat kebutuhan menggunakan-bersarna (share) data di antara filenya. Anggap bahwa manajer toko ingin mengetahui penjual yang mana yang memproduksi kaset-video yang berkualitas-terbaik dan juga paling sering mengeluarkan kaset-video sewaan. Inquiry ini membutuhkan pengaksesan tiga file yang berbeda. Sebuah program harus dibuat untuk membuka ketiga file, mencari informasi yang dibutuhkan, dan menghasilkan output. Mengapa? Karena data pada file yang berdiri-sendiri tidak terhubung seperti pada sebuah DBMS (atau RDBMS).
Pendekatan Sistem Manajemen Database Gambar 4.19 menggambarkan sistem toko penyewaan kaset-video menggunakan PENDEKATAN SISTEM MANAJEMEN DATABASE (DBMS; database
management
sys-
tem). Sekarang tiap program dihubungkan dengan perangkat-Iunak DBMS, bukan lagi merupakan file yang individual.File data tersebut dirasakan baik oleh pemakai maupun programer sebagai sebuah koleksi data yang saling-berhubungan yang disebut sebagai database. Apa yang Membuat Tiap Pendekatan Berbedat Baik pendekatan sistem file tradisional maupun DBMSmungkin berhasil digunakan untuk menyimpan dan mengakses data untuk sebuah sistem informasi bisnis. Tidak ada pendekatan tunggal yang harus dipakai hanya karena ketersediaan teknologi, atau karena istilahnya kedengaran lebih "up-to-date." Seorang profesional sistem harus mengerti keuntungan dan kerugian dari kedua pendekatan dan harus tahu kapan untuk menggunakan pendekatan tertentu. Keuntungan dari Pendekatan Sistem File Tradisional Keuntungan dari sistem filetradisionaltermasuk: Rancangan Data yang Sederhana Sangat mudah untuk membuat sebuah model data yang temormalisasi untuk mendukung sebuah aplikasi tunggal atau sekelompok kedl aplikasi.
PERANCANGANDATABASESISTEM
..
'aOt
....
.. ...
.....
.. . Videotape inventorydala
. Customer
masterdata . Employee dalta
.
Jny:en
fo----o
Inquiry, reports, and updates
DBMS
..
. Vendor data
195
Customer ..'iI
, Ad hoc inquiry, reports, and updates .. .. ....
Gambar 4.19
SW1Q,ee
..
DBMS untuk toko penyewaan kaset video.
Pengaksesan Data yang Cepat Sistem file tradisional bersandar pada file-file yang diorganisir dengan basis sekuensial, indeks-sekuensial, atau langsung (direct). Program-program mempunyai kendali langsung terhadap akses file dan dapat ditulis untuk mengoptimalkan waktu yang diperlukan untuk mengakses dan memperbarui rekordnya.
Teknologi Pendukung yang Tidak Mahal Metode pengorganisasian file tradisional didukung oleh sebagian besar sistem operasi yang ada dan metode pengaksesan fileyang menyertainya. Mereka tidak membutuhkan pengeluaran untuk perangkat-lunak tambahan.
196
PENGANTAR PERANCANGAN
SISTEM INFORMASI
Kerugiandari Pendekatan Sistem File Tradisional Kerugian dari pendekatan sistem file tradisionaltermasuk: Kurangnya Relasi Data Data dirancang dan diimplementasi untuk sebuah aplikasi tunggal tanpa memperhatikan efek dari sistem yang sudah ada dan sistem yang akan datang. Data Redundansi Jika aplikasi tambahan diimplementasikan, beberapa data yang sarna akan disimpan dalam beberapa file. Sebagai contoh, nama dan alamat pelanggan mungkin disimpan dalam file piutang dan juga dalam file pemasaran. Data redundansi mempunyai potensi untuk menjadi tidak konsisten. Sebagai contoh, jika nama dan alamat pelanggan ditempatkan dalam lebih dari satu file, mungkin saja terjadi bahwa sebuah perubahan dari alamat hanya diterapkan pada salah satu file.
Kurangnya Standart Umumnya, tidak terdapat kumpulan perangkat-Iunak yang terpusat untuk mendukung standar seluas-usaha.Lebih sering dari tidak, sebuah sistem file tradisional tidak mendorong sebuah kamus data yang terpusat dan tidak memaksa programer dan yang laimlya untuk menyesuaikan dengan sekumpulan standart. Nama pelanggan mungkin Nm_Plgn dalam file A dan Nama_Pelanggan dalam file B. Produktifitas dari Aplikasi yang Baru Kurangnya standart dapat mengakibatkan buruknya produktifitas aplikasi. Jika seorang analis-sistem atau programer harus menghabiskan waktunya untuk mencari program yang lama untuk melihat apakah data yang dibutuhkan untuk aplikasi yang baru sudah tersedia dalam file, atau harus mengecek organisasi dari file untuk melihat apakah dapat dipakai ke aplikasi yang baru, maka programer tersebut mungkin akan menghabiskan lebih banyak waktu untuk menemukan jawaban dari pertanyaan tersebut daripada membuat aplikasi yang baru. Keuntungan dari Pendekatan Sistem Manajemen Database (DBMS) Keuntungan dari pendekatan DBMS termasuk:
Meningkatkan Keterpaduan Data Analis tidak hanya merancang kebutuhan data untuk sebuah aplikasi tunggal, tetapi memeriksa sekelompok aplikasi untuk
PERANCANGANDATABASESISTEM
197
mengembangkan rancangan tersebut. Lalu DBMS akan mengembangkan relasi diantara kumpulan-kumpulandata untuk penyimpanan dan pengaksesan. Menambah Aksesibilitas Data Aksesibilitasdata adalah kemampuan pemakai untuk mengambil informasi yang dibutuhkan dari database. DBMS berisi sebuah bahasa query tingkat-tinggiyang memungkinkanseseorang untuk mendapatkan data dari database tanpa harus menuliskan sebuah program aplikasi. Untuk RDBMS, bahasa seperti ini misalnya SQL. Meningkatkan Keutuhan Data Sebuah database berisi sekumpulan file yang utuh. Redundansi data dapat diminimisasikarena sumberdayadata dikendalikanoleh sekumpulan program tunggal. Kamus data membantu untuk melaksanakan sebuah pendekatan standart terhadap pengembangan data. Sebagai hasilnya, terdapat pengurangan besar terhadap kemungkinan ketidak-konsistenandata. Mempermudah Pemeliharaan dan Pengembangan Sistem Aplikasi Penelitian memperlihatkan bahwa sekalidatabase dirancang dan diimplementasikan, seorang programer dapat meng-kode-kan dan men-debug sebuah aplikasi baru paling sedikit dua sampai empat kali lebih cepat dibandingkan pada file-file tradisional. Dengan sebuah DBMS, programer tidak perlu khawatir terhadap struktur, organisasi, dan lokasi nyata dari sebuah file. Menghapuskan kebutuhan ini dari programer-aplikasi berarti mengurangi biaya pengembangan perangkat-lunak. Meningkatkan Fasilitas Pengamanan Data Sebagian besar organisasi membutuhkan beberapa proteksi terhadap pengaksesan data secara tidak sah. Pengamanan data mencegah pengaksesan data secara tidak sah. Karena DBMS dapat mengendalikan akses ke entitas data, fungsi pengamanan menjadi terpusat dan mudah diimplementasikandengan penggunaan DBMS. Kebebasan Data Logikal dan Fisika' DBMS adalah lapisan perangkat-lunak lain yang duduk diantara programer-aplikasi dan/atau pemakai-akhir dan file-file data. Sebagai hasilnya, memungkinkan terjadinya pemisahan antara bagaimana data dirasakan oleh para pemakai terse but dengan bagaimana data disimpan pada perangkat penyimpanan sekunder. Organisasi dapat mengubah struktur data dari database tanpa perlu memodifikasi program aplikasi yang mengakses data tersebut. Fungsi ini mengurangi biaya pengembangan dan pemeliharaan sistem.
198
PENGANTARPERANCANGANSISTEMINFORMASI
Keruglandarl Pendekatan Sistem Manajemen Database (DBMS) Kerugian dari pendekatan sistem manajemen database (DBMS)tennasuk: Rancangan Data yang Kompleks Merancang sebuah model database untuk sistem yang banyak dan terpadu adalah kompleks dan sulit. Profesional sistem yang mampu merancang model database seperti ini adalah orang-orang yang berpengalaman, dan dibayar-mahal. Karena itu, pengeluaran pekerja biasanya jauh lebih tinggi pada perusahaan yang menggooakan pendekatan DBMS dibandingkan dengan perusahaan yang menggunakan pendekatan filetradisional. Lambatnya Pengaksesan Data pada Beberapa Aplikasi Jika seorang pemakai ingin mengakses sebuah rekord tertentu, katakan pelanggan 14569, pendekatan sistem file tradisional biasanya menyediakan pengaksesan yang lebih cepat dibandingkan dengan DBMS. Juga, jika sistem aplikasi perusahaan tersebut dirancang untuk pengolahan batch, sistem file tradisionalumumnya bekerja lebih efisien dibandingkan dengan DBMS. Teknologi Pendukung yang Mahal DBMS adalah sebuah perangkat-Iunak yang mahal. DBMS membutuhkan sekumpulan program yang canggih dan rumit. Sebuah.organisasi mengeluarkan biaya untuk fungsi-fungsiini dalam biaya awal dari sebuah DBMSdan biaya pemeliharaan terus-menerus dari paket tersebut. Kompleksitas dari sebuah DBMS sering membutuhkan penambahan staf untuk mengimplementasikan dan memelihara paket tersebut. DBMS mempennudah penulisan aplikasi, memungkinkan organisasi untuk mengurangi atau paling tidak menjaga staf pemrograman aplikasi agar tetap konstan, tetapi penghematan biaya ini tertutupi oleh kenaikan pada staf pendukung DBMS. Tambahan lagi, perangkat-keras komputer yang dibutuhkan untuk mendukung DBMS hampir selalu lebih banyak dibandingkan untuk sistem file. Kadang-kadangperlu untuk membeli komputer lain untuk mengeksekusi paket-paket DBMS secara efisien. Kerugian DBMS ini dapat dirangkum sebagai berikut: Organisasi akan mengeluarkan biaya lebih besar untuk DBMS dibandingkan dengan untuk sistem filetradisionalpada saat implementasi, dan dapat bertambah besar lagi untuk pemeliharaannya. Faktor Apa yang Mempengaruhl
Pemilihan Sistemt
Analis sistem harus menimbang keuntungan dan kerugian dari kedua pendekatan di atas untuk memilih cara yang optimal untuk menyimpan dan mengakses data. Faktor-faktor tertentu mengenai sebuah organisasi menunjukkan aplikabilitas dari
PERANCANGAN
DATABASESISTEM
199
pendekatan DBMS. Sebuah organisasi harus mempertimbangkan penggunaan DBMSjika:
.
Aplikasi-aplikasiyang dibutuhkan. mengalami perubahan secara konstan. Sebuah organisasi yang mengejar pasar baru, atau yang berfungsi pada sebuah pasar yang tingkat-persaingannya tinggi, atau mengejar merger dengan perusahaan lain akan mempunyai kebutuhan data yang berbeda dibandingkan dengan sebuah organisasi yang relatifstatis. Permintaan informasikhusus dan sekali-sekali(adhoc and intermittent inquiries) adalah sertng terjadi dan normal. Sebuah perusahaan - dengan persentasi terbesar dart pegawainya berpartisipasi dalam komputasi pemakai-akhir - harus melihat apakah sebuah DBMSdan bahasa query seluas-usahadapat dipasang untuk memenuhi kebutuhan informasi. Banyak departemen menggunakan-bersama data yang sarna untuk memenuhi kebutuhan informasimereka.
.
.
.
. .
Terdapat kebutuhan untuk mengurangi waktu-pesan pemrograman dan mengurangi biaya pengembangan program. Terdapat kebutuhan untuk meningkatkan kekonsistenan data.
Tidak semua organisasi harus mengangkat pendekatan DBMS.Sebuah organisasi harus memakai pendekatan sistem filetradisionaljika: . .
. .
Terdapat sedikit sekali kebutuhan untuk penggunaan-bersama data diantara pemakai. Pengeluaran awal dan terus-menerus untuk sebuah DBMS terlalu mahal untuk dijangkau oleh perusahaan. Organisasi beroperasi dalam lingkungan internal dan eksternal yang statis. Sebuah organisasi dengan sedikit atau tidak mengalami perubahan biasanya hanya membutuhkan pengolahan transaksi yang sangat standart (baku).Pengolahan ini paling efisienjika diselesaikandengan sebuah sistem pengolahan file tradisional. Pengaksesan cepat secara online ke rekord tertentu dan pengolahan batch yang efisien merupakan aplikasi yang dominan sehingga dapat membuat biaya umum dart sebuah DBMStidak dapat ditolertr. Faktor-faktorini mengasumsikan bahwa tidak mungkin untuk menambah perangkat-keras sistem untuk mengimbangi kebutuhan tambahan dart DBMS.
200
PENGANTAR PERANCANGAN
.
SISTEM INFORMASI
Untuk suatu alasan, perencanaan data tidak dapat dikoordinasikanmelewati batasan-batasan departemental. Sebuah sistem file tradisionaltidak membutuhkan kerja sarna dari departemen-departemen yang terpisah untuk merencanakan kebutuhan data mereka di masa datang. Jika terdapat kekurangan komunikasi diantara departemen, atau suatu permusuhan yang sangat kuat diantara area-area individu,hampir tidakmungkin untuk menggunakan pendekatan DBMSsecara berhasil.
Tetapi kedua pendekatan tersebut tidaklah saling-asing (mutually exclusive). Mungkin saja untuk mempunyai sebuah organisasi yang ingin mengambil keuntungan dari kedua kekuatan pendekatan tersebut. Sebagai contoh, seorang profesional sistem yang merancang kebutuhan data untuk perusahaan pakaian pesanan-pos dapat memutuskan untuk menggunakan sebuah sistem file tradisional untuk data persediaan-nya agar dapat mengambil keuntungan dari kecepatan pengaksesan file-file organisasi-Iangsung. Aplikasi pengolahan batch, seperti penggajian, dapat juga menggunakan pendekatan sistem file tradisional dengan file-file sekuensial. Tetapi, untuk mencari jejak penjualan pelanggan dan membuat permintaan informasi khusus, seperti: "Pelanggan yang bagaimana yang membeli lebih dari 500 widgets merah pada bulan Juni?", pendekatan DBMS dapat dipakai. Dengan demikian profesional sistem yang bertanggungjawab atas rancangan sistem akan menggunakan kedua pendekatan untuk mengoptimalkan penyimpanan dan pengaksesan data untuk usaha tersebut.
TINJAUANSASARANIELAJARUNTUKIAI INI Tujuan utama dari bab ini adalah untuk memungkinkan tiap mahasiswa memperoleh empat sasaran pelajaran. Sekarang kita akan merangkumkan tanggapan dari sasaran-sasaran pelajaran tersebut.
--
- ---
--
-
-
Sasaranbelaiar 1:
Mengambarkan sifat-sifatdari model database relasional.
L_ _ __ __
_
_ _ _ _ _ __
_ _ ____
----- -
I ..
Sebuah.model database relasional dirasakan oleh pemakai dan perancang database sebagai koleksidari tabel-tabelyang terdiri dari kolom-kolomdan baris-baris.Selama
PERANCANGANDATABASESISTEM
201
rancangan pendahuluan, seperti ketika menggunakan sebuah diagram entitas relasi (ERD;entitas relationshipdiagrams),tabel-tabelinidapat ditunjuksebagai entitas atau relasi. Keterhubungan atau relasi diimplementasikan melalui kolom-kolom biasa dalam dua atau lebih tabel, menggunakan atribut-atributyang dikenal sebagai kunci primer (PK; primary keys) dan kunci asing (FK; foreign keys). Atribut-atributdari sebuah model database relasional diturunkan dari sebuah domain tipe data. Terdapat beberapa cara untuk memanipulasi sebuah database relasional, diantaranya dengan menggunakan sebuah bahasa yang mudah-menyebar yang disebut structure query language (SQL). Sasaranbelaiar2: Membuat daftar dan menjelaskan langkah-Iangkah yang diperlukan untuk melaksanakan proses perancangan database.
Umumnya, ketika profesional sistem memulai proses perancangan database relasional, diasumsikan bahwa tahap perencanaan, analisis, rancangan umum, serta evaluasi dan seleksi dari SOLC telah diselesaikan. Sebagai tambahan, laporan-Iaporan output, formulir-formulir dan transaksi-transaksi input, dan proses-prosesnya telah dirancangan secara rinci. Jika kebutuhan ini sudah dimiliki, langkah-Iangkah berikut ini dapat dilaksanakan dengan pasti:
Langkah Langkah Langkah Langkah Langkah Langkah
1. Modelkanentitas dan memetakan ke tabel. 2. Tunjuk kunci-kunciprimer untuk tiap tabel. 3. Relasimodel di antara tabel-tabel 4. Atribut model dari domain jenis data untuk semua tabel. 5. Normalisasikanmodel database relasional. 6. Siapkan kamus data.
Sasaranbelaiar 3: Menjelaskan tujuan normalisasi dan tiga bentuk normal pertama.
Normalisasi adalah proses untuk:
.
Mengoptimisasi rancangan database
202
PENGANTAR PERANCANGAN
.
.
SISTEM INFORMASI
Mencegahinsert,delete,dan updatepenyimpanan Memberikanstabilitasrancangandatabasesepanjangwaktu
Teknik analitis normalisasidisebut bentuk normal; dengan kata lain, para ahli model database relasionaltelah mengidentifikasipenyimpanan relasidata dalam tiga bentuk normal:
. . .
Bentuk normal pertama (lNF) Bentuk normal kedua (2NF) Bentuk normal ketiga (3NF)
Suatu relasi berada dalam INF jika tidak berisikan grup yang berulang. Dengan kata lain, jika tidak memiliki atribut berulang dan baris duplikat, tiap atribut diberi nama, dan kunci primer (PK)bukan nihil. Suatu relasi berada dalam 2NF jika berada dalam INF dan tidak ada atribut non-kuncisecara fungsionalbergantung pada hanya sebagian dari PK nya. Suatu relasi berada dalam 3NF jika berada dalam 2NF dan tidak mengandung ketergantungan transitif. Kita telah mengidentifikasikantiga bentuk normal. Memang ada bentuk-bentuk normal lain, tetapi INF, 2NF, dan 3NF adalah bentuk yang paling sering dijumpai.
- . - -- - - - - - --.. Sasaranhelaiar4:
Membedakan antara pendekatan sistem. file tradisional dan pendekatan database management system (DBMS)
Profesional sistem menimbang sasaran enterprisewide dan bermacam faktor lain untuk menentukan apakah menggunakan pendekatan sistem file tradisonal atau pendekatan DBMS. Sistem file tradisional adalah pendekatan yang menggunakan metode sistem operasi akses file. Sistem ini mendukung organisasi file standar dalam format sekuensial, sekuensial berindeks, dan langsung. Pendekatan DBMS (atau RDBMS) menambah suatu pelapis (layer) tambahan perangkat lunak pada metode akses file, memberikan standar data tersentralisasi dan metode akses data yang meningkat. Profesional sistem menimbang keuntungan dan kerugian kedua pendekatan untuk mengambil keputusan mengenai mana yang akan digunakan. Selain itu, seorang analis memperhatikan kondisi berikut ini:
PERANCt\NGAN DATABASESISTEM
. . . .
.
203
Besamya fleksibilitasyang diperlukanuntuk sistem baru Metode akses yang diperlukan Banyaknya komunikasiantardepartemen Tipe permintaan informasi(inquiries)yang akan dibuat Jumlah permintaan informasi khusus (ad hoc inquiries) yang dibuat oleh pemakai akhir.
Pada banyak organisasi, kedua pendekatan digunakan untuk mengungkit keuntungan dari masing-masingnya.
DAnAR PERIKSAPERANCANCiAN DATABASE Proses perancangan database melibatkan peng-konversi-ankebutuhan pemakai ke sebuah model database yang akan mendukung kebutuhan-kebutuhanini. Walaupun terdapat beberapa model database yang dapat dipilih, model yang paling populer digunakan saat ini adalah model database relasional. Ada dua pendekatan umum untuk perancangan database: pendekatan sistem file tradisional dan pendekatan DBMS. Walaupun pendekatan sistem file tradisional dapat digunakan secara efektifdan efisienuntuk beberapa macam aplikasi,kita akan mengkonsentrasikan pada pendekatan DBMS, khususnya RDBMS. Berikut ini adalah daftar periksa tentang bagaimana merancang sebuah database relasional untuk sebuah aplikasitertentu. 1 Mengerti sifat-sifatdari model database relasionaldan SQL. 2 Dengan sebagian besar dari kerja front-end SDLC telah dicapai, lakukan langkah-Iangkahperancangan database relasionalberikut ini: Langkah 1 Modelkanentitas dan petakan ke tabel Langkah 1 Tunjuk kunci-kunciprimer Langkah 1 Modelkanketerhubungan (relasi)di antara tabel-tabel Langkah 1 Modelkanatribut-atributdari tabel Langkah 1 Normalisasikanmodel database Langkah 1 Persiapkari sebuah kamus data
PERT ANYAAN TINJAUAN 4.1
Definisikansebuah RDBMSdan gambarkan skemata-nya.
204
PENGANTAR PERANCANGAN SISTEM INFORMASI
4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11
4.12
Buat daftar dan definisikandengan singkat sifat-sifatdari model database relasional. DefinisikanPK dan FK. Nyatakan Apa kegunaan masing-masing. Sebutkan dua bahasa yang dipakai untuk memanipulasi data dalam RDBMS. Sebutkan dan definisikansecara singkat langkah yang diperlukan untuk melaksanakan proses rancangan database relasional. Apa yang disebut tabel? atribut? Bagaimana relasi di antara tabel dibentuk? Apa tujuan umum dari normalisasi? Apa tujuan dari kamus data? Definisikanmengenai INF, 2NF, 3NF. Berikan tiga keuntungan dan kerugian dari pendekatan sistem file tradisional. Lakukan hal yang sarna untuk pendekatan sistem manajemen database (DBMS). Berikan tiga alasan mengapa pendekatan sistem file tradisional harus digunakan. Berikan tiga alasan mengapa pendekatan DBMS (atau RDBMS)harus digunakan.
SOAL SPESIFIK BAB IN I Soal-soal ini membutuhkan jawaban eksak yang langsung didasarkan pada konsepkonsep dan teknik-teknikyang disampaikan dalam teks. 4.13 Heavenly Chocolate Boxes adalah sebuah jaringan toko permen. Berikut ini adalah beberapa catatan yang anda kumpulkandari pemilikHeavenly: "Saya memulainya dengan satu toko kedl empat tahun yang lalu, dan sekarang saya mempunyai 20 toko dan 200pegawai dalam tiga wilayah negara-bagian. Saya mengkhususkan diri pad a berbagai item coklat, dan saya ingin mengetahui item yang mana yang terjual dan tidak terjual di negara-bagian mana."
4.14
Tugas: Modelkantabel, nama tabel, dan kunci primer yang diperlukan untuk memenuhi kebutuhan Heavenly. Dengan menggunakan rancangan database relasional dalarn Garnbar 4.4, lakukan latihan berikut: (a) Tulisquery SQL untuk: "Sebutkannomor item pada fakturnomor 2?" (b) Tuliskanquery SQL untuk menampilkan wama-wama yang diawali dengan huruf B.
_n__U.
u
_u.______._
PERANCANGAN
DATABASE SISTEM
205
(c) Tuliskanquery SQL untuk menampilkan item-item yang telah dipesan oleh Nolan di Seattle.
4.15
(d) Sisipkan data untuk kemeja merah-muda, nomor bagian 16, dengan harga $10.00. (e) Ubah harga topi putih menjadi $30.00. (f) Hapus semua data mengenai sepatu coklat. Kekuatan besar dari SQL terletak pada kemampuannya membuat query yang kompleks dengan perintah yang relatifsedikit. Pemyataan tunggal SQL dapat menggantikan ratusan baris kode program prosedural. Sebagi contoh, analisisperintah SQL berikut ini: SELECT Nama, FROM WHERE Pesanan.
4.16
Pelanggan. Nomor_Pelanggan, Nomor Pesanan Pe,langgan Pesanan Pelanggan.Nomor_Pelanggan Nomor_Pelanggani
=
Tugas: Sebutkan tujuan dari perintah SQL di atas. Berikut ini adalah langkah-Iangkah yang dilakukan untuk mengembangkan model database relasional(tidakberdasarkan urutan tertentu): Modelkanrelasi Normalisasikantabel-tabel Siapkan kamus data (dalambanyak hal, porsi besar dari kamus data telah disiapkan, tetapi di sini kita asumsikanbelum disiapkan) Modelkanatribut-atribut
4.17
Tunjuk kunci-kunciprimer Tugas: Sisipkan nomor langkah yang benar pada spasi kosong yang disediakan. Definisikantiap langkah, clanjelaskan tujuannya. Anda telah memodelkan dua tabel: PESANANdan PELANGGAN.Anda ingin membuat relasi untuk mengidentifikasipesanan yang mana yang dimilikipelanggan yang mana. Tugas: Gambarkan dua tabel tersebut dan sisipkan kunci-kunci yang tepat untuk mengidentifikasirelasi ini. Apa jenis dari relasi itu? (sebuah 1:1, l:M, atau M:N?) Jangan pikirkan mengenai atribut yang dapat dimodelkan untuk tabel-tabel ini. Gunakan hanya kuncinya saja.
206
PENGANTAR PERANCANGAN SISTEM INFORMASI
4.18
4.19
4.20
Sebuah tabel dikatakan dalam bentuk nonnal ketiga (3NF) jika setiap atribut dalam baris-baris dari tabel tersebut semata-mata bergantung pada kunci primemya. Dengan kata lain, data tidak dapat bergantung pada sembarang atribut kecualikunci-primemya. Anda telah mendefinisikanatribut-atributberikut: NomocItem, Wama, Kuantitas_Di_Tangan,NomocGudang, Lokasi_Gudang. Tugas: Modelkandan nonnalisasikantiga tabe!: ITEM,GUDANG,dan sebuah tabel LOKASLITEMyang terkaitdengan dua tabeldi sebelumnya. Nonnalisasi ke bentuk nonnal kedua (2NF)melibatkan tabel-tabel yang mempunyai kunci primer komposit; yaitu kunci primer yang dibangun oleh konkatenasi dari dua atau lebih kunci asing. Bentuk nonnal kedua (2NF) mengharuskan semua atribut dalam tabel seperti itu bergantung seluruhnya pada kunciprimer, bukan pada bagian lainyang ada. Sebagai contoh, NomocBagian dan Nomoc Gudang terkonkatenasi untuk membentuk kunci primer dari tabel PERSEDIAAN.Tetapi, Item_Persediaan hanya bergantung pada Nomor_Bagian, bukan pada konkatenasi dari NomocBagian + Nomor_Gudang. Dengan demikian situasi ini menciptakan sebuah ketergantungan parsial. Tugas: Berikan dua buah contoh dari ketergantungan parsial dan perlihatkan bagaimana menghilangkannya. Nonnalisasi ke bentuk nonnal ketiga (3NF) melibatkan penghilangan ketergantungan transitif, yaitu, ketergantungan suatu atribut non-kunci pada suatu atribut lain kecualikunci primemya. Tugas: Berikan sebuah contoh dari ketergantungan transitifdan bagaimana memperbaikinya.
SOAL UMUM Soal-soal ini lebih memerlukan suatu pendekatan yang masuk akal (feasible), daripada suatu penyelesaian yang tepat. Walaupun soal-soal terse but didasarkan pada bahan dalam bab, bacaan ekstra dan kreativitas mungkin diperlukan untuk mengembangkan penyelesaian yang dapat dikerjakan. 4.21 Atribut-atribut data berikut ini mungkin akan disimpan untuk seorang mahasisa di perguruan tinggi. nomor mahasiswa, nomor kuliah, nama kuliah, nama mahasiswa, alamat mahasiswa, telepon mahasiswa, jumlah kredit untuk kuliah, tingkat dite-
PERANCANGANDATABASESISTEM
4.22
4.23
207
rima dalam kuliah, bidang, nama instruktur, kantor instruktur, jabatan mahasiswa, semester, nama perguruan tinggi, penasehat. Tugas: Rancang sebuah model database relasional dalam bentuk normal ketiga (3NF)untuk atribut-atributdi atas. Model database relasional anda harus memperlihatkan semua tabel, atribut, relasi, serta kunci primer dan kunci asing. Suat sembarang asumsiyang anda anggap perlu untuk menyelesaikanpersoalan. Atribut-atribut berikut ini mungkin akan disimpan untuk pegawai di sistem personalia komersial: nomor pegawai, nama pegawai, alamat, kota, negara-bagian, kode pos, nomor telepon, nomor darurat, nomor departemen, nama departemen, nama penyelia, tingkat gaji,jumlah tanggungan, rencana mengurus anak opsional, rencana pensiun opsional, rencana pembelian stok opsional, tanggal tinjauan terakhir, tingkat pada tinjauan terakhir, nama suami/istri, gelar yang dikumpulkan terakhir, tanggal gelar, peringkat saat ini, peringkat yang lalu. Tugas: rancang sebuah model database relasionaldalam bentuk normal ketiga (3NF)untuk atribut-atributdata di atas. Jawab sendiri pertanyaan yang anda miliki mengenai ketergantungan. Suat sembarang asumsi yang anda anggap perlu untuk menyelesaikanpersoalan tersebut. Starlight Video Rental Company merencanakan untuk memasang sistem informasi pelanggan yang lengkap. Starlight menyewakan kaset-video untuk perorangan. Starlightmempunyai empat toko yang tersebar di tiga kota yang berbeda. Starlightbaru-baru ini menggunakan mikrokomputer stand-alone pada tiap lokasidengan sebuah sistem komputerisasi untuk menangani semua aplikasi akunting dan keuangan seperti utang, penggajian, pengendalian persediaan, buku besar, dan laporan-Iaporan keuangan. Aplikasi-aplikasi ini dikomposisikan dari perangkat-lunak pra-paket dengan menggunakan sebuah sistem filetradisional. Pada saat ini, pegawai toko pada tiap lokasimenjaga rekord pelanggan untuk toko tertentu secara manual. Tiap toko mempunyai sistem yang sarna: Pelanggan masuk ke toko, mengambilsebuah video dari kotak video kosong yang diletakkandi rak, dan menunjukkan kartu penyewaan mereka. Pegawai mengambil video tersebut, mencatat penyewa pada sebuah buku catatan penyewaan, clan mengumpulkan uang dari pelanggan. Nomor persecliaandan tanggal penyewaan adalah fieldkunci untuk buku penyewaan. Pada akhir hari, seorang pegawai mengambil
208
PENGANTAR PERANCANGAN
SISTEM INFORMASI
buku penyewaan dan memindahkan tiap penyewaan ke kartu khusus pelanggan. Nomor telepon pelanggan adalah fieldkuncinya. Tiap pelanggan mempunyai sebuah kartu dalam fileindeks kartu berukuran 3 x 5. Pelanggan juga membelivideo.Pembeliandisimpanpada sebuah buku catatan yang lain, buku pembelian,tetapi pembeliandipindahkanke kartu pelanggan yang sarna yang digunakanuntuk penyewaan pada akhir hari. Pembeliandicatat pada kartu berukuran 3 x 5 dengan tanda (P).Manajemen ingin menggunakan karto pelanggan untuk menentukan (1) filmapa yang lebih populer pada lokasi tertentu, (2) pelanggan yang mana yang menyewa palingbanyak film,(3)apakah sistembonus akan dipasang atau tidak (35 penyewaan dan anda mendapat satu penyewaan gratis),dan (4) jikapelanggan rutintertentu mempunyaipilihanfilmtertentu. Tugas: (a) Identifikasikanatribut data yang diperlukan untuk membuat sistem informasi pelanggan StarlightVideo Rental Company. (b) Buat sebuah model rancangan database relasional dalam bentuk normal ketiga untuk atribut-atributdata yang anda identifikasipada langkah sebelumnya. (c) Apakah anda menyarankan sebuah pendekatan sistem file tradisional atau pendekatan sistem manajemen database untuk Starlight Video Rental Company? Mengapa?
BACAANYANGDISARANKAN Bellomo, Ceccelia. "Relational Database Systems: Data Integrity." Interact, October 1990 Foster, AI. "A New ERAfor Data Modeling." DBMS, November 1990. Gerritson, Rob. "SQL TutoriaL" DBMS, February 1991. Kemm, Tom. "A Practical Guide to Normalization. "DBMS, December 1989. Loomis, Mary E. S. The Database Book. New York: Macmillan, 1991. McFadden, Fred R., and Jeffrey A. Hoffer. Database Management. Menlo Park, Calif.: Benjamin/Cummings, 1990. Pascal, Fabian. "Preventing Corruption." DBMS, September 1989. Peck, Charles. ''Tunning Oracle SQL Statements." DBMS, September 1989. Pratt, Phillip J., and Joseph J. Adamski. Database Systems Management and Design, 2nd ed. Boston: Boyd & Fraser, 1991. Roti, Steve. "Database Design." DBMS, February 1990.
PERANCANGAN
DATABASE SISTEM
209
Vasta, Joseph A. Understanding Database Systems Management anda Design, 2nd ed. Boston, Mass.: Wadsworth, 1991.
KASUS JOCS: Rancangan Database Selama analisis sistem, jake Jacoby dan regu SWAT-nya mengidentifikasi proses yang akan dikomputerisasi dan mendokumentasikan proses-proses tersebut menggunakan diagram arus data dan entitas relasi. Sebuah kamus data sementara disiapkan sebagai perangkat analisis untuk lebih memahami aplikasi JOCS yang sedang ditinjau. Setelah analisis diselesaikan, Jakememilih rancangan keseluruhan yang terbaik untuk aplikasi JOCS dan menugaskan regunya untuk merancang output, proses, dan input. Regu SWAT bekerja dengan calon p~makai dan mengadakan ban yak pertemuan ketika merancang output, proses, dan input lJntuk proyek JOCS. Seperti yang telah kita bicarakan sebelumnya, Jake, sebagai kepala proyek, tetap melihat ke depan dan merencanakan ke depan tugas-tugas perancangan bagi regunya. Ketika regu SWAT mematangkan rancangan input, jake memulai tugas yang berhubungan dengan rancangan database. Sistem JOCS mempunyai input, proses, dan output yang terdefinisi dengan baik. Format laporan, layar tampilan, dan layar input dikenal dan dipahami baik oleh pemakai maupun jake. Gambar 4.20 adalah sebuah salinan dari kertas kerja yang disusun oleh Jake untuk mendaftar atribut-atribut. jake mendaftarkan atribut-atribut segera setelah ia temukan pad a saat memeriksa dokumentasi analisis pendukung. Daftar ini sangat panjang, tetapi tiap atribut tersebut diperlukan untuk mendukung sistem JOCS. Daftar ini juga berisi banyak atribut yang sarna. Jake percaya bahwa lebih baik mendaftarkan semua atribut segera setelah ditemukan, lalu baru menghilangkan duplikasi yang ada, daripada harus mengecek daftar secara berkali-kali untuk melihat apakah ia telah mengulangi beberapa atribut. Untuk menciptakan suatu urutan dalam daftar, Jake mengidentifikasi entitas untuk sistem dan lalu mengelompokkan kembali daftarnya menurut entitas tersebut, dengan menghilangkan atribut duplikat. Gambar 4.21 adalah kertas kerja yang sarna yang memperlihatkan seluruh entitas, atribut, dan relasinya. Selanjutnya, Jake menerapkan proses normalisasi. Gambar 4.21 memberikan pandangan awal dari atribut-atribut yang diorganisir oleh entitas dengan kunci primer dan kunci asing yang diidentifikasi sebelum normalisasi. jake mencari kelompok-kelompok yang berulang dalam atribut-atributnya untuk mengubah daftar kedalam bentuk normal pertama. la perhatikan bahwa dalam entitas PEKERjAAN KESElURUHAN, terjadi pengulangan pada atribut-atribut berikut ini: Operasi/Departemen, Tingkat jam, Waktu Dimulai, Waktu Selesai, Potongan yang Dibuat, Tanggal Operasi, Nomor Item, Kuantitas yang Dipakai, dan Tanggal Digunakan untuk tiap pekerjaan. Pada bagian paling
- - - - - - - ..-.. -- -- - ---
... - .-
210
PENGANTAR PERANCANGAN
SISTEM INFORMASI
Nama Pesanan-Pekerjaan Deskripsi Pekerjaan Nomor Pelanggan Tanggal Terima Tanggal Jatuh Tempo Tanggal Mulai Kuantitas Pesanan Persen Harga Pokok penjualan Nomor Pelanggan Biaya Rata-rata Biaya Terakhir Tingkat Sediaan Tingkat Sediaan
Biaya Standar Kutipan Asli Biaya Perubahan Teknis Tanggal Penagihan Anggaran Jam Rutin Anggaran Jam lembur Anggaran Dollar Pekerja Anggaran
Minimum Maksimum
Tipe Kode Nomor Telepon Pelanggan Nomor Kontak Pelanggan Tanggal Pesanan Terakhir Tanggal Penyelesaian Terakhir Bahan Nyata Jam Rutin Nyata Jam lembur Nyata
Dollar Bahan
Tingkat Biaya Umum Aplikasi Nama Pelanggan Alamat Pelanggan Kota Pelanggan Negara-bagian Pelanggan KodePos Pelanggan Dollar Pekerja Nyata Anggaran Dollar Total Dollar Nyata Total
Tingkat Biaya Umum Aplikasi Nomor Karyawan
Beban Pekerja Saat ini Beban Bahan Saat ini
Operasi/Departemen Tarif per Jam Waktu Mulai
Persen Diselesaikan
Waktu Selesai Jumlah
Dibuat
TanggalOperasi Tingkat Gaji per Jam Standar Kuantitas Dipakai Tanggal Pakai Anggaran Dollar Pekerja Deskripsi Nomor Cacah Siklus Unit Pengukuran Waktu-pesan dalam Hari Kuantitas Pesanan Ekonomis
Gambar 4.20
Kuantitas di Tangan Kuantitas Dipesan Kuantitas Disimpan
Lembar kerja atribut data JOCS
Biaya Total Variansi Jam Rutin Variansi Jam lembur Variansi Dollar Pekerja Variansi Dollar Bahan Tanggal Perbaruan Terakhir Total Tanggal Jatuh-tempo Tingkat Gaji per Jam Standar Anggaran Jam Rutin Anggaran Jam lembur Anggaran Anggaran Anggaran
Gaji Rutin Gaji lembur Dollar Bahan
Tingkat Biaya Umum Aplikasi
PERANCANGAN
PEKERjAAN KESELURUHAN
Anggaran Dollar Bahan Anggaran Jam Total
Nomor Pesanan-Pekerjaan** Deskripsi Pekerjaan
Bahan Nyata Jam Rutin Nyata
Nama Pelanggan Tanggal Terima Tanggal Jatuh-tempo
Jam lembur Nyata Dollar Pekerja Nyata Anggaran Dollar Total Dollar Nyata Total
Tanggal Mulai Kuantitas Pesanan Persen Harga Pokok Penjualan Operasi/Departemen Tarif per Jam Waktu Mulai Waktu Selesai Jumlah Dibuat
DATABASE SISTEM
Beban Pekerja Saat ini Beban Bahan Saat ini Persen Diselesaikan Biaya Total Variansi Jam Rutin Variansi Jam lembur Variansi Dollar Pekerja Variansi Dollar Bahan
Tanggal Operasi Nomor Item
Tanggal Perbaruan Terakhir Total
Kuantitas Dipakai Tanggal Pakai
PERSEDIAAN
STANDAR OPERASI UNTUK SEBUAH PEKERjAAN
Nomor Item** Deskripsi Nomor Cacah Siklus Unit Pengukuran Waktu-pesan dalam Hari Kuantitas Pesanan Ekonomis Kuantitas di Tangan Kuantitas Dipesan Kuantitas Disimpan Biaya Standar Biaya Rata-rata Biaya Terakhir
Nomor Pesanan-Pekerjaan** Nomor Operasi/Departemen** Deskripsi Tanggal Jatuh-tempo Tingkat Gaji per Jam Standar Anggaran Jam Rutin Anggaran Jam lembur Anggaran Gaji Rutin Anggaran Gaji lembur Anggaran Dollar Bahan Tingkat Biaya Umum Aplikasi
Tingkat Sediaan minimum Tingkat Sediaan Maksimum Tipe Kode
IKHTISAR PEKERjAAN Nomor Pesanan-Pekerjaan** Kutipan Asli Biaya Perubahan Teknis Tanggal Penagihan Anggaran Jam Rutin Anggaran Jam lembur Anggaran Dollar Pekerja ** Menunjukkan
Gambar 4.21
PELANGGAN Nomor Pelanggan** Nama Pelanggan Alamat Pelanggan Kota Pelanggan Negara-bagian Pelanggan KodePos Pelanggan Nama Penghubung Pelanggan TanggalPesananTerakhir Tanggal PenyelesaianTerakhir
Kunci Primer
lembar kerja berisi atribut data JOCS yang dikelompokkan berdasarkan entitas.
211
212
PENGANTAR PERANCANGAN
SISTEM INFORMASI
Unnonnalized logical group
Overall job Logical group in first nonnal fonn
Overall job
Material applied
Logical group in second nonnal fonn
Labor applied
Logical group in third nonnal fonn
Gambar4.22 Membuat sebuah model data logikal yang dinormalisasi untuk entitas PEKERJMN KESELURUHAN
PERANCANGAN DATABASE SISTEM
213
atas dari Gambar 4.22, anda dapat melihat kelompok .IogikalPEKERjAAN KESELURUHAN yang belum dinormalisasi. Gambar 4.22 mendemonstrasikan bagaimana jake melangkah ke proses normalisasi untuk membuat model data logikal untuk entitas PEKERjMN KESELURUHAN. jake harus membuat beberapa asumsi untuk menyelesaikan normalisasi secara benar. Beberapa asumsinya termasuk: Kutipan tunggal dibuat untuk sebuah pekerjaan. Tidak akan berubah selama produksi dari pekerjaan tersebut. 2
Dollar Perubahan Teknik akan ditambahkan selama produksi dari sebuah pekerjaan.
3
Hanya sebuah operasi yang dilakukan dalam suatu departemen produksi, seperti pemotongan misalnya.
4
Bahan-bahan dibeli untuk persediaan, bukan untuk sebuah pekerjaan tertentu.
5
Seluruh bahan persediaan.
6
Semua proses untuk sebuah pekerjaan diselesaikan dalam-rumah.
7
Biaya dikumpulkan dan dievaluasi oleh departemen dan pekerjaan.
8
Sistem penggajian pekerja dan sistem pembelian sudah pad a tempatnya.
yang dibutuhkan
untuk sebuah
pekerjaan
tersedia
dalam
Normalisasi umumnya mengharuskan bahwa asumsi mengenai organisasi telah dibuat. Selama tahap analisis SDLC, sebagian besar analis-sistem menjadi sadar sepenuhnya mengenai fungsi-fungsi dari. organisasi. Tetapi, jika se9rang anal is mencapai tahap normalisasi dalam perancangan database, dengan beberapa pertanyaan yang bersisa mengenai fungsi-fungsi ini, analis harus selalu berkonsultasi dengan pemakai yang ditargetkan dari sistem sebelum membuat suatu asumsi umum. jake mengecek asumsinya dengan pemakai untuk meyakinkan kebenaran asumsinya. Sekarang jake harus memilih pendekatan terbaik untuk sistem jOCS. Teknologi saat ini akan mendukung dengan mudah sebuah sistem file tradisional maupun sebuah DBMS. Faktor-faktor yang mempengaruhi keputusannya adalah sebagai berikut: Misi strategis dari sistem informasi adalah untuk membantu dalam mengembalikan perusahaan ke profitabilitas dan untuk meningkatkan saham pasar. 2
Sistem jOCS adalah untuk memberikan informasi yang rinci dan online tanpa mempedulikan status pekerjaan dan biaya saat ini. Sistem adalah untuk memperbolehkan permintaan informasi khusus (ad hoc inquiries) seperti juga laporan-Ia-
-
--
--
-
-
--
..---
214
PENGANTAR PERANCANGAN
SISTEM INFORMASI
- - -poran yang terstandardisasi. penekanannya adalah pada tanggapan yang cepat terhadap berbagai permintaan informasi. 3
Peerless berfungsi dalam sebuah lingkungan bisnis yang kompetitif dan berubahubah.
4
JOCS harus berhubungan dengan sistem akunting, pembelian, dan penggajian.
5
JOCS .harus beroperasi secepat mungkin untuk membantu mencapai sasaran perusahaan.
Sistem file tradisional akan memberikan akses online yang lebih cepat untuk rekord-rekord tertentu dibandingkan DBMS, dan akan memungkinkan antarmuka yang lebih mudah ke sistem yang ada saat ini, karena sistem yang ada saat ini berdasarkan pad a sebuah sistem file tradisional. Sebuah sistem file tradisional juga membutuhkan investasi yang lebih ked I dalam sumberdaya perangkat keras dan perangkat-Iunak. Tetapi, kebutuhan terhildap pelaporan dan pengaksesan khusus terhadap data biaya dan variansi dalam format variabel akan lebih baik jika dilakukan dengan DBMS. DBMS juga dapat diimplementasikan lebih cepat daripada sistem file tradisional. Lingkungan bisnis yang kompetitif dan berubah-ubah di Peerless juga menunjukkan kebutuhan untuk sebuah DBMS. Menimbang setiap faktor tersebut, Jake memilih DBMS. la menyadari bahwa program-program khusus harus ditulis untuk menghubungkan DBMS dengan sistem yang ada, dan ia juga tahu bahwa kebutuhan akan pengaksesan cepat akan mempengaruhi implementasi dari sistem.