7
BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Basis Data 2.1.1.1 Pengertian Basis Data Menurut Connolly (2002, p14), “Basis data adalah suatu kumpulan data yang berhubungan secara logika dan dapat digunakan bersama-sama, serta deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan dari sebuah organisasi”. Kumpulan data yang berhubungan adalah data yang terintegrasi dengan redundansi atau duplikasi seminimum mungkin. Berhubungan secara logika maksudnya adalah hubungan data dibuat berdasarkan data model tertentu tanpa memperhatikan pertimbangan fisik. Data model yang digunakan misalnya pemodelan hubungan entitas / entity-relationship modeling (ERM). Pertimbangan fisik misalnya penggunaan sistem manajemen basis data / Database Management System (DBMS) tertentu. ERM dan DBMS akan dibahas lebih lanjut dalam bab ini. Basis data dapat digunakan bersama-sama oleh banyak departemen dan pengguna sehingga basis data tidak lagi hanya memenuhi kebutuhan departemen melainkan kebutuhan dari sebuah organisasi. Selain menyimpan data-data operasional milik organisasi, basis data juga menyimpan data tentang data-data tersebut, yang sering
8 disebut sistem katalog atau kamus data atau meta-data atau data definition language (DDL). DDL akan dibahas lebih lanjut dalam bab ini. 2.1.1.2 Manfaat Basis Data Menurut Fathansyah (1999, p5), pemanfaatan basis data dapat dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti : •
Kecepatan dan kemudahan (Speed)
•
Efisiensi ruang penyimpanan (Space)
•
Keakuratan (Accuracy)
•
Ketersediaan (Availability)
•
Kelengkapan (Completeness)
•
Keamanan (Security)
•
Kebersamaan pemakai (Sharability)
2.1.2 Database Management System (DBMS) 2.1.2.1 Pengertian DBMS Menurut Connoly (2002, p16), Database Management Sistem (DBMS) didefinisikan sebagai suatu sistem piranti lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, mengelola dan mengendalikan akses ke basis data. Sebuah DBMS menyedakan beberapa fasilitas, yaitu : - Data Definition Language (DDL) Menurut Connoly (2002, p40), DDL (Data Definition Language) adalah suatu bahasa yang memungkinkan Database
9 Administrator atau pengguna untuk mendefinisikan, menerangkan dan memberi nama entiti, atribut dan hubungan yang dibutuhkan untuk aplikasi. DDL berfungsi untuk menjalankan perintah (mengubah suatu data yang dapat berguna bagi pengguna). Menurut Fathansyah (1999, p15), DDL adalah struktur atau skema basis data yang menggambarkan desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). Kamus Data merupakan suatu metadata yaitu data yang mendeskripsikan data yang sesungguhnya. Beberapa statement DDL (Connoloy,2002, p167) : 1. Create Table Untuk membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom. 2. Alter Table Untuk menambah atau membuang kolom dan constrain. 3. Drop Table Untuk membuang atau menghapus tabel beserta semua data yang terkait di dalamnya. 4. Create Index Untuk membuat index pada suatu tabel.
10 5. Drop Index Untuk membuang atau menghapus index yang telah dibuat sebelumnya. - Data Manipulation Language (DML), digunakan untuk menyisipkan, memperbaharui, memanggil data dari basis data. Menurut Connoly (2002, p41), DML (Data Manipulation Language) adalah suatu bahasa yang menyediakan kumpulan operasi yang akan diinginkan untuk mendukung operasi manipulasi data utama pada data yang diperoleh dalam basis data. Menyediakan operasi dasar manipulasi data pada data yang ada dalam basis data, yaitu : • Penyisipan data baru ke dalam basis data (insertion). • Mengubah atau memodifikasi data yang disimpan di dalam basis data (modify). • Pemanggilan data yang ada dalam basis data (retrieve). • Menghapus data dari basis data (delete). Menurut Connoly (2002, p41-42), kita dapat membedakan DML menjadi 2 tipe yang berbeda yaitu : - Prosedural DML Prosedural DML adalah suatu bahasa yang memungkinkan pengguna (umumnya programmer) untuk memberi instruksi ke sistem mengenai data apa yang dibutuhkan dan bagaimana cara pemanggilannya (retrieve). Artinya pengguna harus menjelaskan
11 operasi
pengaksesan
data
yang
akan
digunakan
dengan
menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan. - Non-prosedural DML Non-prosedural DML adalah bahasa yang memungkinkan pengguna untuk menentukan data apa yang dibutuhkan dengan menyebutkan spesifikasinya tanpa menspesifikasikan bagaimana cara mendapatkannya. - Menyediakan akses yang terkontrol ke basis data, misalnya : •
Sistem keamanan
•
Sistem integrasi
•
Keamanan sistem kontrol akses
•
Sistem kontrol perbaikan (recovery control)
•
Katalog user-accessible
2.1.2.2 Keuntungan dan kerugian DBMS Keuntungan dari DBMS, antara lain: 1. Kontrol terhadap pengulangan data 2. Data yang dihasilkan konsisten 3. Data dapat dipakai secara bersama-sama 4. Meningkatkan integritas data 5. Meningkatkan keamanan 6. Penetapan standarisasi 7. Perbandingan skala ekonomi
12 8. Mengatasi konflik kebutuhan 9. Memperbaiki pengaksesan data 10. Meningkatkan produktivitas 11. Memperbaiki pemeliharaan data melalui data yang tidak tergantung dengan data yang lain 12. Memperbaiki pengaksesan data secara bersama-sama 13. Memiliki backup data Kerugian penggunaan DBMS, antara lain: 1. Memiliki sistem yang kompleks 2. Karena sistem yang kompleks mengakibatkan DBMS memiliki ukuran yang semakin besar 3. DBMS memiliki harga yang bervariasi tergantung dari fungsi dan kebutuhan 4. Penambahan biaya untuk perangkat keras yang dibutuhkan 5. Penambahan biaya konversi 6. Karena DBMS dirancang untuk mengakses lebih dari satu aplikasi, maka mengakibatkan performanya menurun 7. Kegagalan DBMS mengakibatkan operasi tidak dapat berjalan 2.1.3 Relational Database Management System ( RDBMS ) Menurut Petroutsos (2000, p40) database relational adalah database yang didasarkan pada hubungan antar data-data yang dikandungnya. Sedangkan menurut Date (2000, p25) RDBMS secara sederhana dapat diartikan sebagai suatu sistem dimana dapat dilihat oleh penggunanya hanya sebagai tabel dan operator yang digunakan oleh pengguna.
13 Berdasarkan pengertian diatas, dapat disimpulkan bahwa relational database adalah sekumpulan data yang saling berhubungan yang selanjutnya dikenal sebagai RDBMS, sebuah sistem manajemen database yang digunakan secara luas pada saat ini karena konsistensinya dalam penyajian data. 2.1.4 Siklus hidup Database Sebelum kita merancang sebuah sistem basisdata, hal yang harus kita perhatikan adalah mengenai Siklus Hidup Aplikasi Basisdata. Menurut Connolly (2002, p271) Sistem basisdata merupakan suatu dasar bagi komponen dari organisasi dengan sistem informasi yang besar. Hal yang perlu diingat adalah setiap bagian pada Siklus Hidup Aplikasi Basisdata memiliki hubungan saling ketergantungan antara satu dengan yang lain. Siklus Hidup Aplikasi Basisdata dapat dilihat pada gambar 2.1:
14 Database Planning
System Definition
Requirement Collection and Analysis
Database Design Conceptual database design DBMS Selection (optional) Logical database design
Application design
Physical database design
Prototyping (optional)
Implementation
Data conversion and loading
Testing
Operational maintenance
Gambar 2.1 Siklus Hidup Aplikasi Basisdata (Connolly 2002, p271)
Berikut ini penjelasan dari aktivitas utama yang ada di setiap langkah dari Siklus Hidup Aplikasi Basisdata, antara lain : a.
Database Planning (Perencanaan Basis Data) Menurut Connolly (2002, p274), perencanaan basis data merupakan aktivitas-aktivitas manajemen yang memungkinkan tahaptahap dalam aplikasi basis data direalisasikan seefisien dan seefektif
15 mungkin.
Perencanaan
basis
data
harus
diintegrasikan
dengan
keseluruhan sistem informasi suatu organisasi. Ada tiga persoalan utama yang terlibat dalam perumusan suatu strategi sistem informasi: •
Identifikasi rencana, sasaran (goals) dan tujuan perusahaan dengan penentuan kebutuhan sistem informasi.
•
Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan yang ada.
•
Penilaian terhadap peluang IT apakah mampu menghasilkan keuntungan yang kompetitif. Tahapan ini bertujuan untuk mendefinisikan mission statement
dan mission objective : a) Mission statement. Mission statement ini menjelaskan tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek basis data, dan menyediakan alur yang lebih jelas dalam pembuatan aplikasi basis data yang dibutuhkan secara efektif dan efisien. b) Mission objectives. Setiap Mission objective akan menjelaskan suatu tugas tertentu yang harus didukung oleh basis data, dengan asumsi jika basis data mendukung mission objective, maka mission statementnya juga akan sesuai.
16 b. System Definition (Definisi Sistem) Langkah ini membatasi ruang lingkup dari aplikasi, pengguna dan cakupan basisdata tersebut. Sebelum mencoba untuk merancang suatu aplikasi basisdata pertama kali kita harus mengidentifikasi batasanbatasan
dari
sistem
yang
kita
selidiki
dan
bagaimana
cara
menghubungkannya dengan bagian lain dari sistem informasi organisasi c.
Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan) Menurut Connolly (2002, p276), pengumpulan dan analisis kebutuhan adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang didukung oleh aplikasi basis data dan yang menggunakan informasi ini untuk mengidentifikasikan kebutuhan – kebutuhan user dari sistem yang baru . Pengumpulan kebutuhan atau fact-finding memiliki 5 jenis teknik yang penggunaannya sesuai kebutuhan : 1) Memeriksa dokumentasi dan formulir Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen – dokumen, formulir, laporan, dan file yang berhubungan dengan sistem yang sedang berjalan. 2) Wawancara Bertujuan untuk mengumpulkan fakta – fakta, memeriksa kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan semangat, melibatkan pengguna akhir, mengidentifikasi kebutuhan – kebutuhan, dan mengumpulkan ide – ide dan pendapat (Connolly,
17 2002, p306). Teknik ini memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang beragam. Keuntungan menggunakan teknik ini menurut Connolly (2002, p306) antara lain : •
Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka
•
Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek
•
Memungkinkan pewawancara untuk menindaklanjuti komentar – komentar menarik yang dibuat oleh orang yang diwawancara
•
Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara
•
Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara
Kerugian teknik ini (Connolly, 2002, p306) yaitu : •
Sangat memakan waktu dan biaya sehingga menjadi tidak praktis
•
Keberhasilannya tergantung pada kemampuan komunikasi pewawancara
•
Keberhasilannya tergantung pada keinginan orang yang diwawancara untuk ikut serta dalam wawancara
18 3) Mengamati Operasional Perusahaan Memungkinkan untuk ikut serta atau mengamati seseorang dalam melakukan kegiatan untuk mempelajari sistem. Salah satu faktor pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut. Keuntungan menggunakan teknik ini antara lain : •
Validasi fakta dan data dapat diperiksa
•
Pengamat dapat melihat dengan jelas apa yang dikerjakan
•
Pengamat juga dapat memperoleh data yang menjelaskan lingkungan fisik dari tugas yang diberikan
•
Pengamat dapat membuat pengukuran kerja
Kerugian teknik ini yaitu : •
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis
•
Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat pengamatan
•
Dapat terlewatkan dalam mengamati tugas – tugas yang melibatkan tingkat kesulitan yang lain
4) Penelitian Jurnal komputer, buku – buku referensi, dan internet merupakan sumber informasi yang baik yang menyediakan informasi bagaimana orang lain memecahkan masalah yang serupa.
19 Keuntungan menggunakan teknik ini antara lain : •
Dapat menghemat waktu jika solusinya telah tersedia
•
Peneliti dapat mengamati cara orang lain memecahkan masalah yang sama atau menemui kebutuhan serupa
•
Membuat para peneliti selalu up-to-date dengan perkembangan baru
Kerugian teknik ini yaitu : •
Membutuhkan akses ke sumber informasi yang tepat
•
Dapat saja tidak membantu memecahkan masalah karena tidak didokumentasikan
5) Kuisioner Kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta – fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly, 2002, p308). Keuntungan menggunakan teknik ini antara lain : •
Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik-baiknya
•
Tidak mahal untuk mengumpulkan data dari banyak orang
•
Responden lebih mudah untuk memberikan jawaban yang benar,
karena
jawaban
yang
diberikan
dapat
kerahasiaannya •
Tanggapan dapat ditabulasikan dan dianalisa dengan cepat
dijaga
20 Kerugian teknik ini yaitu : •
Jumlah responden dapat saja rendah, sekitar 5% sampai 10%
•
Kuesioner dapat saja dikembalikan dengan tidak lengkap
•
Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan
•
Tidak dapat mengamati dan menganalisa bahasa tubuh responden
•
Memakan waktu untuk menyiapkan kuesioner
d. Database Design (Perancangan Basis data) Menurut Connolly (2002, p279), perancangan basis data adalah suatu proses menciptakan perancangan untuk basis data yang akan mendukung keseluruhan operasi dan tujuan – tujuan perusahaan. Terdapat dua pendekatan yang dapat digunakan untuk merancang basis data, yaitu : 1. Bottom up Approach Pendekatan bottom up dimulai dari atribut awal (entity dan relationship) yang dianalisa asosiasi antar atribut, kemudian dibentuk relation yang mewakili tipe dari entity dan relationship antar entity. 2. Top down Approach Pendekatan Top down dimulai dengan pengembangan data model yang terdiri dari sedikit atau banyak entity kemudian
melakukan
perbaikan
top
dan relationship, down
untuk
21 mengidentifikasikan lower-level entity, relationship, dan asosiasi antar atribut. Dalam database design terdapat tiga fase utama, yaitu perancangan konseptual (Conceptual Database Design), perancangan logikal (Logical Database Design), dan perancangan fisik (Physical Database Design).
Perancangan Basisdata Konseptual merupakan proses dalam membangun suatu model informasi yang digunakan di dalam perusahaan, di mana proses tersebut tidak tergantung oleh semua pertimbangan fisikal.
Perancangan
Basisdata
Logikal
merupakan
proses
dalam
membangun suatu model informasi yang digunakan di dalam perusahaan, proses tersebut tidak tergantung oleh suatu DBMS dan pertimbangan fisikal tertentu, tetapi berdasarkan pada model data spesifik yang diperlukan.
Perancangan
Basisdata
menghasilkan
suatu
Fisikal
uraian
merupakan
implementasi
proses
basis
data
dalam pada
penyimpanan sekunder; dimana proses tersebut menguraikan hubungan dasar, organisasi file, dan indeks-indeks yang digunakan untuk mencapai akses data secara efisien. e.
DBMS Selection (optional) Menentukan DBMS mana yang dapat digunakan sesuai dengan aplikasi yang ditentukan. Langkah-langkah utama untuk memilih suatu DBMS:
22 1. Mendefinisikan kriteria berdasarkan spesifikasi kebutuhan pemakai 2. Menentukan beberapa produk DBMS 3. Mengevaluasi produk-produk tersebut 4. Merekomendasikan produk DBMS tertentu f.
Database Application Design Langkah ini melakukan perancangan layar atau tampilan untuk user. Dalam merancang user interface dan program aplikasi, langkah ini menggunakan proses basis data yang mengacu pada petunjuk perancangan user interface seperti pemilihan judul, penulisan instruksiinstruksi menggunakan format yang standar sehingga mudah dipahami, pemakaian warna yang konsisten dan sebagainya.
g.
Prototyping (optional) Pada langkah ini kita mengizinkan perancang dan user untuk memvisualisasikan menyeluruh.
dan
Seperti
mengevaluasi
yang
kita
gambaran
ketahui,
tujuan
sistem
secara
utama
dalam
mengembangkan suatu aplikasi basis data prototype adalah untuk mengizinkan para pemakai menggunakan prototype, sehingga pemakai dapat mengidentifikasi fitur sistem, apakah sistem sudah bekerja dengan baik atau belum. Jika memungkinkan, pemakai dapat memberikan saran untuk mengadakan perbaikan atau bahkan fitur baru dalam aplikasi basis data tersebut. Keuntungan prototype adalah relatif murah dan proses pembuatannya yang cepat.
23 h. Implementation Membuat eksternal, konseptual, dan definisi basis data internal dan program aplikasinya. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang terpilih. Bagian dari program aplikasi ini merupakan transaksi-transaksi basis data yang diimplementasikan menggunakan Data Manipulation Language (DML). i.
Data Conversion and Loading Memindahkan data dari sistem yang lama ke sistem yang baru. Langkah ini dibutuhkan hanya pada waktu sistem basis data yang lama digantikan dengan sistem basis data yang baru. Suatu DBMS mempunyai kegunaan memasukkan file ke dalam basis data yang baru, dan kemudian secara otomatis mengubah data ke dalam format yang diperlukan oleh file basisdata yang baru. Jika bisa diterapkan, pengembang dapat mengubah dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
j.
Testing Langkah ini adalah mengadakan testing terhadap aplikasi basisdata dengan tujuan untuk melihat apakah masih ada kesalahan dan memvalidasi sesuai dengan keinginan user. Pengujian ini dilakukan dengan pengujian yang direncanakan dengan hati-hati berdasarkan data yang realistis.
24 k. Operational Maintenance Setelah aplikasi basis data diimplementasikan dan diuji secara penuh, maka sistem akan terus dimonitor dan dipelihara. Kegiatankegiatan pemeliharaan tersebut dilaksanakan dalam beberapa tahap berikut ini : 1.Memantau performa dari system, dengan catatan apabila sistem bekerja dibawah harapan, akan terjadi perbaikan bahkan perombakan basisdata 2.Mengatur dan meningkatkan kemampuan aplikasi basis data Memelihara dan meningkatkan aplikasi basis data (apabila dibutuhkan). Kebutuhan baru disatukan ke dalam aplikasi basis data melalui tahap-tahap sebelumnya dari siklus hidup. 2.1.5 Entity-Relationship Modeling (ERM) Menurut Connolly (2002, p331), Entity Relation Modelling adalah pendekatan secara top down pada perancangan basis data yang dimulai dengan identifikasi data penting yang disebut entity dan relationship antara data yang harus direpresentasikan pada model. 2.1.5.1 Entity Type Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah Himpunan Entitas (Entity Set). Contoh himpunan entitas : semua Pelanggan atau Pelanggan saja. Dengan entitas Jack, Mike
dan
seterusnya.
Setiap
entitas
memiliki
atribut
mendeskripsikan karakteristik (property) dari entitas tersebut.
yang
25 Menurut Connolly (2002, p342), strong entity type adalah tipe entity yang keberadaannya tidak tergantung pada beberapa tipe entity yang lain. Misalnya, kita dapat mengidentifikasi setiap anggota staff secara unik menggunakan atribut noStaff, yang merupakan primary key untuk tipe entity Staff. Sedangkan weak entity types adalah tipe entity yang keberadaannya bergantung dengan tipe entity lainnya. 2.1.5.2 Relationship Type Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda, Misalnya, entitas seorang mahasiswa dengan NIM = ‘0800765432’ dan nama_mhs = ‘Ayi’ (yang ada di himpunan entitas mahasiswa) mempunyai relasi dengan entitas sebuah mata kuliah dengan kode_matakul = ‘T0016’ dengan nama_matakul = ‘Algoritma’. Kumpulan semua relasi di antara entitas – entitas yang terdapat pada himpunan entitas membentuk Himpunan Relasi (Relationship Sets). Entity – entity dihubungkan dengan garis relasi yang menjelaskan suatu kegiatan. Jenis-jenis relasi menurut multiplicity-nya, meliputi :
26 • One-to-one ( 1 : 1 ) Staff (staffNo)
Branch (branchNo)
Mengelola
y
SG5
y
r1
y
B003
y y
SG37 SL21
y
r2
y
B005
Gambar 2.2 One-to-One
Pada gambar 2.2 kita lihat bahwa staffNo SG5 mengelola branchNo B003 dan staffNo SL21 mengelola branchNo B005, tetapi staffNo SG37 tidak mengelola branch satupun. Seorang anggota staff dapat mengelola satu cabang atau tidak sama sekali dan setiap cabang dikelola oleh seorang anggota staff. Oleh karena ada suatu jumlah maksimum dari suatu cabang untuk setiap anggota staff yang terlibat di dalam hubungan ini dan ada suatu jumlah dari satu anggota staff untuk setiap cabang, hubungan ini disebut one-to-one yang disingkat menjadi 1:1. Staff staffNo
Branch
Mengelola 1..1
0..1
branchNo
Gambar 2.3 Relasi Entitas antara Staff dengan Branch Pada gambar 2.3 tentang pembuatan ER diagram, untuk menggambarkan bahwa seorang anggota staff dapat mengelola zero or
27 one cabang, kita meletakkan ‘0..1’ di sebelah entitas Branch sedangkan untuk menggambarkan bahwa satu cabang selalu punya seorang manager, kita meletakkan ‘1..1’ di sebelah entitas Staff. • One-to-many
(1:*)
Staff (staffNo)
PropertyForRent (propertyNo)
Mengawasi
y
SG5
y
r1
y
PG21
y y
SG37 SA9
y y
r2 r3
y y y
PG36 PA14 PG4
Gambar 2.4 One-to-Many Pada gambar 2.4 kita lihat bahwa StaffNo SG37 mengawasi PropertyNos PG21 dan PG36, dan StaffNo SA9 mengawasi PropertyNo
PA14
tetapi
StaffNo
SG5
tidak
mengawasi
PropertiesForRent manapun dan PropertyNo PG4 tidak diawasi oleh seorang anggota staff pun. Intinya adalah seorang anggota staff dapat mengawasi
zero
or
more
PropertiesForRent
dan
suatu
PropertyForRent diawasi oleh zero or one anggota staff. Tipe hubungan seperti ini disebut one-to-many yang disingkat menjadi 1:*.
28
Staff
PropertyForRent
Mengawasi
staffNo
0..1
0..*
propertyNo
Gambar 2.5 Relasi Entitas antara Staff dengan PropertyForRent Pada gambar 2.5 tentang pembuatan ER diagram, untuk menggambarkan bahwa setiap PropertyForRent diawasi oleh zero or one anggota staff, kita meletakkan ‘0..1’ di sebelah entitas Staff sedangkan untuk menggambarkan bahwa seorang anggota staff dapat mengawasi zero or more properti, kita meletakkan ‘0..*’ di sebelah entitas PropertyForRent. Jika kita mengetahui jumlah minimum dan maksimum secara akurat mengenai keseragamannya, kita dapat mencantumkannya. Sebagai contoh, jika seorang anggota staff mengawasi property for rent dengan jumlah minimum 0 dan dengan jumlah maksimum 100 maka kita dapat mengganti ‘0..*’ dengan ‘0..100’. • Many-to-many
(*:*)
Newspaper (newspaperNam e)
Glasgow Daily
M engiklankan
y y
PropertyForRent (propertyNo)
r1 r2
The West News
y
r3
Aberdeen Express
y
r4
Gambar 2.6 Many to Many
y
PG21
y
PG36
y
PA14
y
PG4
29 Pada gambar 2.6 kita lihat bahwa Glasgow Daily mengiklankan propertyNos PG21 dan PG36, The West News juga mengiklankan propertyNo PG36 dan Aberdeen Express mengiklankan propertyNo PA14. Akan tetapi, PG4 tidak diiklankan di koran manapun. Satu koran mengiklankan satu atau lebih PropertiesForRent dan satu PropertiesForRent diiklankan dalam lebih dari satu koran atau bahkan tidak diiklankan di koran manapun. Oleh karena itu, tipe hubungan seperti ini disebut many-to-many yang disingkat menjadi *:*. Newspaper newspaperName
Mengiklankan 0..*
1..*
PropertyForRent propertyNo
Gambar 2.7 Relasi Entitas Newspaper dengan PropertyForRent Pada gambar 2.7 tentang pembuatan ER diagram, untuk menggambarkan bahwa setiap koran dapat mengiklankan satu atau lebih PropertyForRent , kita meletakkan ‘1..*’ di sebelah entitas PropertyForRent
sedangkan
untuk
menggambarkan
setiap
PropertyForRent dapat diiklankan dalam lebih dari satu koran atau bahkan tidak diiklankan dalam satu koran pun, kita meletakkan ‘0..*’ di sebelah entitas Newspaper. 2.1.6 Normalisasi Normalisasi menurut Connolly (2002, p376) adalah sebuah teknik untuk menghasilkan sebuah relasi dengan menggunakan data yang diberikan yang ada pada perusahaan. Tujuan dari normalisasi adalah sebagai berikut :
30 1. Menghilangkan kumpulan relasi dari update anomali 2. Menghilangkan duplikasi data 3. Membuat model relasional lebih informatif Anomali adalah suatu masalah yang timbul seperti: data ganda, data hilang, pemborosan tempat memori, dan data yang tidak konsisten akibat proses penghapusan data, pemasukkan data, dan penggantian data. Proses normalisasi terbagi menjadi lima tahapan yaitu: bentuk normal pertama, kedua, ketiga, boyce-codd, keempat, dan kelima; dimana biasanya bentuk normal empat dan lima hanya dipakai pada kasus-kasus khusus. Tahapan-tahapan normalisasi tersebut yaitu: •
Bentuk Normal Pertama (1 NF) Menurut Connoly dan Begg (2002, p388), bentuk normal pertama (1NF) adalah suatu relasi dalam bentuk normal pertama jika dan hanya jika semua domain mengandung hanya nilai atomik atau menghilangkan perulangan. Dapat disimpulkan suatu relasi dikatakan sudah mencapai bentuk normal pertama jika:
•
•
Setiap baris dan kolom berisi atribut yang bernilai tunggal.
•
Primary key sudah ditentukan.
Bentuk Normal Kedua (2 NF) Menurut Connolly dan Begg (2002, p392), bentuk normal kedua (2NF) adalah suatu relasi dalam bentuk normal kedua jika dan hanya jika relasi sudah berbentuk normal pertama dan setiap attribute bukan key tergantung fungsional pada primary key atau bentuk ini mempunyai
31 syarat yaitu data harus memenuhi kriteria 1 NF dan setiap data item yang bukan kunci harus dependensi functional pada kunci utamanya. Suatu relasi dikatakan sudah mencapai bentuk normal kedua jika: •
Berada dalam bentuk normal pertama.
•
Semua atribut non-primary key bergantung fungsional sepenuhnya kepada primary key.
• Bentuk Normal Ketiga (3 NF) Menurut Connolly dan Begg (2002, p394), bentuk normal ketiga (3NF) adalah sebuah relasi yang terbentuk hanya jika relasi sudah berbentuk normal kedua dan tidak ada atribut bukan key yang tergantung secara transitif pada primary key atau menghilangkan transitif dependensi. Untuk relasional data model, sangat penting untuk mengetahui bahwa hanya normal pertama saja (1NF) yang secara kritis dapat menciptakan relasi-relasi yang dibutuhkan. Semua normal form yang berurutan selanjutnya seperti normal kedua (2NF), normal ketiga (3NF), dan seterusnya sampai normal kelima (5NF) adalah optional atau pilihan. Bagaimanapun juga semua bertujuan untuk menghindari update anomalies, maka dari itu secara normal disarankan untuk melakukan proses normalisasi paling tidak sampai dengan normal yang ketiga (3NF).
32
Gambar 2.8 Diagram Ilustrasi Hubungan Bentuk Normal (Sumber : Connoly, 2002, p387 ) Di dalam gambar 2.8 ditunjukkan bahwa beberapa relasi dari 1NF adalah juga memenuhi 2NF dan beberapa relasi dari 2NF juga memenuhi 3NF. Setiap BCNF merupakan 3NF, tapi 3NF belum tentu memenuhi BCNF. Kita memulai melakukan proses normalisasi ini dengan mentransfer data secara initial yang berada sebagai form ke dalam format tabel dengan baris-baris dan kolom-kolom. Suatu relasi dikatakan sudah mencapai bentuk normal ketiga jika: •
Berada dalam bentuk normal pertama dan kedua.
•
Setiap atribut non-primary key tidak memiliki ketergantungan transitif kepada primary key.
2.1.7 Delapan Aturan Emas Perancangan Interface Menurut Sneiderman (1998, p74), ada delapan aturan emas dalam perancangan interface. Kedelapan aturan emas itu adalah : 1. Konsistensi Rangkaian tindakan dan konsistensi diperlukan dalam situasi-situasi yang sama, terminology yang mirip harus digunakan pada prompt, menu dan layer help, warna, tampilan, kapitalisasi, font dan sebagainya yang
33 konsisten harus ditetapkan. Pengecualian dalam pembuatan password, tidak boleh berulang. 2. Memungkinkan user sering menggunakan shortcut Bila frekuensi penggunaan meningkat, keinginan user untuk mengurangi jumlah interksidan mempercepat interaksi. Singkatan, tombol-tombol khusus, perintah khusus dan fasilitas makro sangat berguna bagi para pengguna yang sering menggunakan komputer. 3. Memberikan feedback yang informatif Setiap tindakan yang dilakukan oleh user harus memiliki umpan balik. Presentasi visual objek yang diinginkan memberikan perubahan yang berarti secara eksplisit 4. Mendesain dialog untuk menghasilkan keadaan terakhir Rangkaian kegiatan harus dikelompokkan ke dalam kelompok-kelompok dengan awalan, pertengahan, dan akhir. Umpan balik yang informatif pada saat suatu kelompok kegiatan selesai memberikan user kepuasan, perasaan lega, dan tanda bahwa kegiatan tersebut sudah selesai dan siap melanjutkan ke kelompok kegiatan berikutnya. 5. Memberikan pencegahan dan penanganan error Sistem harus dirancang sedemikian rupa sehingga user tidak dapat melakukan error atau kesalahan serius. Bila terdapat kesalahan, sistem harus dapat mendeteksi error tersebut dan memberikan solusi penanganan yang mudah, membangun dan spesifik.
34 6. Mengizinkan pembalikan aksi (undo) dengan mudah Fitur ini mengurangi kecemasan karena user tahu bahwa apabila dia melakukan suatu kesalahan dibuat sehingga mendorong user untuk berani mencoba hal-hal dan pilihan-pilihan yang belum dikenal 7. Mendukung locus control internal Kegiatan sistem yang mengejutkan, rangkaian entry data yang salah, ketidakmampuan
atau
kesulitan
mendapatkan
informasi,
dan
ketidakmampuan melakukan suatu kegiatan dapat mengakibatkan terciptanya rasa cemas dan ketidakpuasan. 8. Mengurangi load memory jangka pendek Keterbatasan kemampuan manusia memproses informasi dalam jangka pendek (seperti dalam aturan ibu jari dimana manusia hanya bisa mengingat) memerlukan display yang mudah diingat, display banyak halaman bisa digabung, frekuensi pergerakan window dikurangi, dan waktu pelatihan yang cukup untuk kode-kode dan rangkaian kegiatan 2.1.8 Data Flow Diagram (DFD) Data flow diagram merupakah salah satu tools yang dapat digunakan untuk
menganalisis
suatu
system.
DFD
dapat
digunakan
untuk
mempresentasikan suatu sitem yang otomatis maupun manual, melalui gambar berbentuk jaringan grafik. Simbol yang digunakan adalah sebagai berikut : Eksternal entity (Entity yang berada di luar system yang memberikan data kepada sistem atau yang menerima informasi dari sistem)
35 Proses (menggambarkan apa yang dilakukan oleh sistem)
Data Flow (menggambarkan aliran data dari satu entity ke entity lainnya) Data Store (tempat penyimpanan data, proses dapat mengambil data dari atau memberikan data ke data store) 2.1.9 State Transition Diagram (STD) Merupakan tools permodelan yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. Simbol –simbol yang digunakan :
State / Keadaan Perubahan state/keadaan Untuk melengkapi STD masih diperlukan 2 hal lagi, yaitu : 1. Condition adalah sebuah sinyal yang menyebabkan perubahan terhadap state dari state satu ke state berikutnya. 2. Action
adalah sebuah aksi yang akan dilakukan sistem bila terjadi
perubahan state (dimana merupakan reaksi terhadap kondisi)
2.2 Teori Khusus Sales Force automation (SFA) Menurut Dyche (2002, p80), SFA membantu para sales representative untuk mengatur account dan track opportunities mereka, juga membangun dan mengawasi alur penjualan mereka, serta mengatur daftar kontak yang mereka miliki. Selain itu,
36 SFA juga membantu para manajer baik pada front maupun back offices, yang selalu berjuang untuk tetap memenuhi permintaan. SFA merupakan salah satu cara agar perusahaan dapat memastikan bahwa data perusahaan terbaru termasuk prediksi penjualan dapat dikomunikasikan dari level paling bawah sampai ke level paling atas dari sebuah organisasi. Dengan demikian SFA memiliki potensi yang besar untuk meningkatkan produktifitas dan menyediakan informasi yang konsisten kepada perusahaan.