BAB 2 LANDASAN TEORI
2.1. Pendekatan Sistem Basisdata 2.1.1. Pengertian Sistem Menurut Turban (2001,p34), Sistem adalah sekumpulan objek yang terdiri dari orang, sumber daya, konsep dan prosedur yang berinteraksi dalam menjalankan fungsi untuk mencapai suatu tujuan. Pendapat lain mengenai Sistem oleh McLeod (1996,p13) adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Berdasarkan definisi tersebut, maka dapat disimpulkan bahwa Sistem adalah sekumpulan objek dan sumber daya yang terintegrasi dan menjalankan fungsi yang sama untuk mencapai suatu tujuan.
2.1.2. Pengertian Informasi Menurut McLeod (1996, p18), Informasi adalah data yang telah diproses atau memiliki arti. Menurut Jogiyanto (1995, p8), Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerima. Sehingga dapat disimpulkan bahwa Informasi diperoleh dari data yang telah didapat dan kemudian diproses agar menjadi berguna untuk menambah pengetahuan pembaca atau penerima informasi.
9
10 2.1.3. Pengertian Sistem Informasi Whitten (2001,p45), Sistem informasi adalah gabungan orang, data, proses dan antar muka yang berinteraksi untuk mendukung dan memperbaiki operasi dalam bisnis serta membantu pemecahan masalah pemakai Loudon (2000,p7), Sistem informasi didefinisikan secara teknis sebagai sekumpulan komponen saling terhubung yang mengumpulkan, memproses, menyimpan dan mendistribusikan informasi untuk membantu manager dalam mengambil keputusan, pengontrolan, menganalisa masalah, dan memvisualisasikan masalah yang kompleks dalam suatu organisasi. Jogiyanto (1995, p11), Sistem Informasi asalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat managerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan – laporan. Sehingga dapat disimpulkan bahwa Sistem Informasi adalah sekumpulan sistem atau komponen yang terintegrasi yang berfungsi mengolah dan mendistribusikan informasi.
2.1.4. Pengertian Data Connolly
(2002,p19)
menyatakan
bahwa
data
adalah
jembatan
yang
menghubungi antara komponen mesin dan komponen manusia. Sedangkan pendapat lain juga disampaikan oleh Alter (1999,p48), Data merupakan fakta, gambar, atau suara yang berhubungan atau tidak dan bermanfaat bagi tugas tertentu. Data tersebut merupakan suatu bentuk keterangan – keterangan yang
11 belum diolah atau dimanipulasi yang didapatkan oleh suatu perusahaan umumnya dari hasil transaksi kegiatan sehari – hari. Berdasarkan definisi tersebut maka dapat disimpulkan bahwa Data adalah suatu fakta yang mempunyai makna tertentu yang didapat dari pencatatan kegiatan sehari-hari.
2.1.5. Pengertian Basis Data Ada beberapa definisi tentang basis data yang disampaikan oleh beberapa pakar antara lain: •
Basis Data menurut Connolly (2002,p14) adalah sekumpulan data yang saling berhubungan dan dirancang untuk menghasilkan informasi yang diperlukan dalam suatu organisasi.
•
Basis Data menurut Elmasri dan Navthe (2000, p4), sebuah basis data adalah kumpulan dari relasi-relasi data. Dengan data, kita dapatmengetahui fakta yang dapat direcord dan memiliki artilengkap. Di dalam basis data semua data diintegrasikan dengan menghindari duplikasi data.
Dari Definisi tersebut dapat disimpulkan bahwa Basis Data adalah sekumpulan data yang saling berhubungan yang diperlukan oleh suatu organisasi.
2.1.6. Pengertian Sistem Basis Data Menurut Connolly (2002,p4), Sistem Basis Data adalah kumpulan dari program aplikasi yang berupa sistem penyimpanan yang berinteraksi dengan basis data. Sedangkan menurut Date (2002,p2), Sistem Basis Data adalah sisem penyimpanan record yang terkomputerisasi.
12
Dari definisi tersebut dapat disimpulkan bahwa Sistem Basis Data merupakan kumpulan program aplikasi yang dipergunakan untuk penyimpanan data yang terkomputerisasi.
2.1.7. Keuntungan dan Kerugian Sistem Basis Data Keuntungan : •
Mengurangi redundansi data : data yang sama cukup disimpan sekali.
•
Menghindari inkonsistensi : redundansi berkurang sehingga update hanya sekali.
•
Share data beberapa user pada saat bersamaan.
•
Standarisasi : keseragaman penyajian data.
•
Jaminan keamanan : pengaturan hak akses terhadap data.
•
Integritas : data tersimpan secara akurat.
•
Compactness : mengurangi penyimpanan secara manual (kertas).
•
Speed : Komputer dalam melakukan pengambilan dan pengeditan data lebih cepat dari manusia.
•
Less drudgery : mengurangi pemeliharaan data dengan tangan tugas mekanis dilakukan dengan mesin jauh lebih baik.
•
Currency : lebih akurat dan informasi yang didapatkan up-to-date.
13 Kerugian : •
Kompleksitas sistem
•
Biaya yang besar
2.1.8. Database Management System (DBMS) DBMS menurut Connolly (2002,p16) adalah sistem perangkat lunak yang memungkinkan user dapat mendefenisikan, membuat, merawat dan mengatur akses ke basis data.
2.1.8.1. Keuntungan dan Kerugian DBMS Keuntungan DBMS : •
Mengontrol data berulang
•
Konsistensi data
•
Lebih banyak informasi yang didapat dari jumlah data yang sama.
•
Adanya pembagian data.
•
Meningkatkan integritas data.
•
Meningkatkan keamanan.
•
Fault Tolerant
Kerugian DBMS : •
Kompleksitas.
•
Ukuran.
•
Biaya DBMS.
•
Biaya tambahan hardware dan software.
14 2.1.8.2. Komponen-komponen DBMS Menurut Connolly (2002,p18) komponen – komponen DBMS terdiri dari : 1. Hardware Untuk menjalankan DBMS dan aplikasi. Berupa personal computer (PC), mainframe dan jaringan komputer. Untuk menjalankan DBMS memerlukan kecepatan memory dan kapasitas hardisk tertentu. 2. Software Software mencakup DBMS, program aplikasi dan sistem operasi. 3. Data Penghubung antara komponen – komponen mesin ( hardware dan software ) dengan komponen manusia ( Brainware ). 4. Prosedur Instruksi dan aturan yang mengatur perancangan dan penggunaan basis data. 5. Orang Semua orang yang terlibat dalam sistem, antara lain : -
Database Administrator (DBA)
-
Network Administrator
-
IT Security Officer
-
Application Developer
-
End Users
15 2.1.9. Structure Query Language (SQL) Structure Query Language atau biasa disebut SQL adalah bahasa yang di pergunakan untuk operasi pada database, SQL terdiri dari: 2.1.9.1. Data Definition Language (DDL) Connolly (2002,p40), Data Definition Language (DDL) merupakan suatu bahasa yang memungkinkan Database Administrator (DBA) untuk mendefinisikan dan memberi nama suatu entitas, atribut dan relationship yang dibutuhkan dengan kesatuan integritas dan batasan keamanan data. Operasi – operasi DDL : -
Create
: membuat suatu objek di database
-
Alter
: mengubah objek yang ada di dalam database
-
Drop
: menghapus objek yang ada di dalam database
-
Grant
: memberikan hak akses suatu data/objek database
-
Revoke
: mencabut hak akses suatu data/objek database
2.1.9.2. Data Manipulation Language (DML) Connolly (2002,p41), Data Manipulation Language (DML) merupakan bahasa yang menyediakan operasi – operasi yang digunakan untuk memanipulasi data di dalam basis data. Operasi – operasi DML : -
Insert
: memasukkan data baru ke dalam database
-
Update
: mengubah data yang ada di dalam database
-
Retrieve
: mengambil data dari database
-
Delete
: menghapus data dari database
16 2.1.10. Database Application Lifecycle Gambar dibawah ini merupakan diagram tahap-tahap siklus hidup aplikasi basis data. Database Planning
System definition
Requirement collection and analysis Database Design Conceptual database design DBMS selection (optional) Logical database design
Application design
Phisical database design
Prototyping (optional)
Implementasi
Data conversion and loading
Testing
Operasional maintanance
Gambar 2.1. Database Application Lifecycle
17 2.1.10.1. Perencanaan Basis Data (Database Planning) Merencanakan bagaimana tahapan dari siklus hidup bisa direalisasikan secara efektif dan efisien. Tahapan perencanaan basis data (Connolly, 2002, p273) adalah : •
Mengidentifikasikan rencana dan tujuan dari pembuatan aplikasi basis data untuk menetapkan kebutuhan dari sistem informasi.
•
Evaluasi sistem yang sudah ada untuk menentukan kelebihan dan kekurangannya.
•
Menaksir kesempatan bagi teknologi informasi untuk menghasilkan keuntungan yang kompetitif
2.1.10.2. Pendefinisian Sistem (System Definition) Menspesifikasikan ruang lingkup dan batasan dari aplikasi basis data, penggunaan dan area aplikasi. Ruang lingkup yang dispesifikasikan bukan hanya ruang lingkup dari user sekarang ini tapi juga dari user yang mungkin ada pada masa yang akan datang. Selain itu pada tahap ini perlu diidentifikasikan user view yang terdapat dalam aplikasi basis data. User views mendefinisikan apa yang diperlukan dari aplikasi basis data dari peran jabatan tertentu seperti manajer atau supervisor ataupun keseluruhan area aplikasi (Marketing, Customer Service, dan Product Development).
2.1.10.3. Pengumpulan dan Analisis Kebutuhan (Requirement Collection & Analysis) Mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang harus didukung oleh aplikasi basis data dan menggunakan informasi itu untuk
18 mengidentifikasikan kebutuhan user dari sistem basis data baru. Informasi yang dikumpulkan mencakup: •
Gambaran dari data yang digunakan dan diolah.
•
Rincian mengenai bagaimana data akan digunakan dan diolah.
•
Kebutuhan tambahan untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisa untuk mengidentifikasikan kebutuhan informasi
aplikasi basis data yang baru. Terdapat lima teknik fact-finding yang umum digunakan dalam pengumpulan data-data yang terkait dalam pembuatan basis data, yaitu : 1. Document Evaluation 2. Interview 3. Observasi terhadap kegiatan kerja yang sedang berjalan di perusahaan 4. Research 5. Questioner
2.1.10.4. Perancangan Basis Data 2.1.10.4.1. Perancangan Basis Data Konseptual (Conceptual Database Design) Rancangan konseptual basis data adalah proses membangun sebuah model dari informasi yang digunakan di dalam perusahaan, dan tidak tergantung pada semua aspek fisik. Seperti target DBMS, program aplikasi, bahasa program, hardware, performance, atau dari model fisik yang lain.
19 Langkah awal yang dilakukan pada tahap perancangan konseptual basis data adalah tahap awal untuk membangun model data konseptual local untuk setiap view, yang dijabarkan sebagai berikut :
Tahap 1 Membuat model data konseptual lokal untuk setiap view. Tahap 1.1 Menentukan tipe entitas Tujuan : mengidentifikasi tipe entity utama yang dibutuhkan oleh view. Entitas biasanya berupa kata benda dan dapat diidentifikasi dengan menganalisa kebutuhan user. Di tahap ini diidentifikasi obyek-obyek utama. Sedangkan kata benda yang berupa attribute dari suatu objek tidak diidentifikasi sebagai object tersendiri. Atribut yang teridentifikasi dari spesifikasi user, dapat membantu menentukan objek utama. Hasil analisa terhadap entitas harus mudah dimengerti dan menggambarkan object yang sesungguhnya bagi user. Occurrence : hubungan dengan obyek lain. Tabel 2.1 Tabel kamus data Nama entitas
Deskripsi
Alias /nama lain
Occurance
Tahap 1.2 Mengidentifikasi tipe relationship Tujuan : mengidentifikasikan relasi penting yang ada di antara tipe-tipe entitas yang telah diidentifikasi.
20 Hal-hal yang perlu dilakukan dalam tahap ini : 1. Menggambarkan entiti-entiti yang telah ditentukan di tahap sebelumnya dan menentukan hubungan antar entity dengan menggunakan diagram ER (Entity Relationship) 2. Menentukan batasan multiplicity dari tipe relationship. Multiplicity adalah angka yang menggambarkan batasan jumlah object yang memiliki hubungan dengan object lain yang terjadi dalam suatu relationship. Batasan jumlah yang menentukan jumlah objek yang terlibat dalam tiap entitas setidaknya suatu relationship , akan menjadi batasan untuk menentukan apakah penyimpanan dan manipulasi data dalam basis data ada atau tidak. Multiplicity digunakan untuk memeriksa dan memelihara kualitas data. 3. Memeriksa dan menghilangkan fan traps Fan straps adalah keadaan di mana sebuah model mempresentasikan hubungan antara tipe entity, yang menimbulkan kerancuan hubungan antar entity tertentu. Fan traps dapat diatasi dengan mengatur hubungan antar entity. 4. Memeriksa apakah tiap entitas setidaknya terhubung dalam satu relationship 5. Mendokumentasikan tipe relationship. Tahap 1.3 Mengidentifikasikan dan menghubungkan attribute dengan tipe entitas atau relationship. Tujuan dari tahap ini adalah menghubungkan attribute dengan type entity atau relasi yang sesuai. Kita juga harus menentukan apakah attributes yang digunakan tersebut merupakan simple or multi-valued attributes atau derived attribute. Setelah diidentifikasikan, informasi attribute yang berupa nama, deskripsi, tipe data, panjang data, alias, jenis attribute, dan nilai default-nya didokumentasikan.
21 Tahap 1.4 Menentukan domain attribute Domain merupakan batasan nilai dari suatu attributes. Contoh attribute kode karyawan batasannya adalah panjangnya 5 digit, di mana 2 digit pertama berupa huruf dan 3 digit yang lainnya berupa angka dari 1999. Tahap 1.5 Menentukan atribut primary dan candidate key. Tujuan : mengidentifikasikan candidate key dari setiap tipe entity. Jika ada lebih dari satu candidate key. Dipilih salah satu menjadi primary key. Tahap 1.6 Mempertimbangkan penggunaan konsep pemodelan yang lebih baik Tujuan : mengidentifikasikan candidate key dari setiap tipe entiti. Tahap 1.7 Memeriksa ada tidaknya redundancy pada model Pada tahap ini kita memeriksa apakah ada redundansi pada model data, jika ada maka harus dihilangkan. Dua langkah yang harus dilakukan : •
Memeriksa kembali hubungan one-to-one (1:1) Jika pada tahap pengidentifikasian entitas ditemukan dua entitas yang mewakili objek yang sama, maka kedua entitas itu harus digabung.
•
Menghilangkan hubungan yang redundansi.
Tahap 1.8 Memvalidasi model konseptual lokal terhadap transaksi user Tujuan dari tahap ini adalah untuk memastikan apakah model data tersebut : •
Mendeskripsikan transaksi-transaksi Memeriksa apakah semua informasi (entity, atribut, dan relationship) yang ada di dalam suatu transaksi telah didokumentasikan oleh data model.
•
Menggunakan alur transaksi
22 Memeriksa alur transaksi dalam model data (diagram E-R) sehingga dapat diketahui bagian-bagian dari model yang kritis terhadap transaksi, bagian yang perlu ditambahkan atau diperbaiki entity, atribut maupun relasinya. Tahap 1.9 Mengkaji ulang model data konseptual lokal dengan user Pada tahap ini dilakukan review terhadap model data konseptual lokal. Proses ini diulang sampai user memastikan bahwa model tersebut benar.
2.1.10.4.2. Perancangan Basis Data Logis (Logical Database Design) Proses pembuatan model dari informasi yang digunakan dalam perusahaan berdasarkan data model yang spesifik. Tahap 1 Membuat dan memvalidasi data logikal lokal Pada langkah kedua ini bertujuan membuat dan memvalidasi data logikal lokal dari model data konseptual, yang terbagi dalam beberapa tahap, yaitu: Tahap 1.1 Menghilangkan karakteristik yang tidak sesuai dengan model relational Tujuan dari tahap ini : •
Menghilangkan many to many binary relationship
•
Menghilangkan many to many recursive relationship Recursive relationship adalah hubungan suatu entitas dengan entitas itu sendiri.
•
Menghilangkan tipe relationship yang kompleks
•
Menghilangkan atribut multi-value
23 Tahap 1.2 Mendapatkan relasi-relasi untuk model data logikal lokal Pada tahap ini, dibuat relasi untuk model data logikal lokal untuk merepresentasikan entitas, hubungan dan attribute yang telah diidentifikasi. Tahap 1.3 Memvalidasi relasi menggunakan normalisasi Pada tahap ini, dilakukan validasi relasi dari model data logikal lokal dengan menggunakan teknik normalisasi. Tahap 1.4 Memvalidasi relasi terhadap transaksi user Pada tahap ini, kita memastikan bahwa relasi pada model data logikal lokal yang dibuat mendukung proses transaksi yang dibutuhkan pemakai. Tahap 1.5 Mendefinisikan batasan integritas Mendefinisikan batasan integritas yang ada di dalam view. Ada lima jenis batasan integritas yaitu : 1. Required data Beberapa atribut harus mempunyai nilai yang valid (not NULL). 2. Attribute domains constraints Batasan nilai diperbolehkan. Contoh : attribute kelamin hanya bisa diisi oleh huruf P dan W. 3. Entity integrity Primary key tidak boleh NULL. 4. Referential integrity Referential integrity berarti apabila foreign key mempunyai nilai, nilainya harus ada pada record ditabel parent.
24 Enam kondisi yang terdapat pada referential integrity : a) Insert baris pada table child Untuk memastikan referential integrity, lakukan pengecekan apakah foreign key tersebut di set ke null atau merujuk ke suatu nilai pada table parent. b) Delete baris dari table child Tidak mempengaruhi referential integrity. c) Update foreign key dari table child Untuk memastikan referential integrity, lakukan pengecekan apakah foreign key tersebut di set ke null atau merujuk ke suatu nilai pada table parent. d) Insert baris ke table parent Untuk memastikan referential integrity, lakukan pengecekan apakah foreign key tersebut di set ke null atau merujuk ke suatu nilai pada table parent. e) Delete baris dari table parent Ada beberapa strategi yang dapat diambil : •
NO ACTION : menghindari penghapusan record dari table parent jika ada relasi ke table child.
•
CASCADE
: jika record pada table parent dihapus maka secara
otomatis record table child yang merujuk pada table parent yang recordnya dihapus. •
SET NULL
: jika record pada table parent dihapus maka secara
otomatis record table child akan di set ke nilai default-nya. •
NO CHECK
: jika record pada table parent dihapus tidak dilakukan
apapun untuk memastikan referential integrity terjaga.
25 f) Update primary key dari table parent Jika record pada table parent di-update maka secara otomatis foreign key pada table child juga di-update. g) Enterprise constraint Batasan pada basis data yang disesuaikan dengan peraturan bisnis yang berlaku pada perusahaan. h) Document all integrity constraint Mendokumentasikan semua integrity constraint ke dalam kamus data untuk dipertimbangkan pada saat tahap perancangan fiscal.
Tahap 1.6 Mengkaji ulang model data logikal local dengan user Untuk menyelesaikan langkah kedua ini kita harus mengkaji ulang model data logikal dengan pemakai, sehingga kita bisa mengetahui apakah model data yang dibuat sesuai dengan keinginan user.
Tahap 2 Membuat dan memvalidasi model data logikal global Pada langkah ketiga ini bertujuan menggabungkan tiap model data logikal ke dalam satu model data logikal global yang menggambarkan keseluruhan perusahaan. Model data global : gambaran dari data-data yang diperlukan user di perusahaan secara keseluruhan. Tahap 2.1 Menggabungkan model data logikal lokal menjadi model global Aktivitas-aktivitas dalam tahap ini : 1. mengkaji ulang isi dan nama dari entity atau relasi dan candidate key-nya. 2. mengkaji ulang nama dan isi dari relationship atau foreign key.
26 3. menggabungkan entity atau relasi dari model data lokal. 4. menyertakan (tanpa menggabungkan) key yang unik ke tiap model data lokal. 5. menggabungkan relationship atau foreign key dari model-model data lokal. 6. menyertakan (tanpa menggabungkan) key yang unik ke tiap model data lokal. 7. memeriksa entity atau relasi dan relationship atau foreign key yang hilang. 8. memeriksa foreign key. 9. memeriksa batasan integrity. 10. menggambarkan diagram E-R global. 11. meng-update dokumentasi. Tahap 2.2 Memvalidasi model data logikal global Tujuan : untuk menvalidasi relasi yang terbentuk dari model data logikal global menggunakan teknik normalisasi, dan untuk memastikan relasi tersebut mendukung transaksi yang diperlukan. Tahap 2.3 Memeriksa pengembangan di masa yang akan datang Tujuan : memastikan apakah ada perubahan signifikan pada waktu yang mendatang dan apakah model data logikal global bisa menangani perubahan tersebut. Tahap 2.4 Mengkaji ulang model data logikal global dengan user Tujuan : memastikan bahwa model logikal global yang sudah dibuat bisa menggambarkan keseluruhan perusahaan.
27 2.1.10.4.3. Perancangan Basis Data Fisik (Physical Database Design) Proses yang menghasilkan deskripsi implementasi basis data di tempat penyimpanan sekunder, yang menggambarkan relasi dasar, organisasi file-file dan indeks yang digunakan untuk mengakses data secara efisien, memenuhi batasan integritas dan faktor keamanan. Tahap 1 Menterjemahkan model data logikal global untuk target DBMS. Pada langkah keempat ini bertujuan membuat skema basis data relasional dari model data logikal global yang dapat diimplementasikan dalam DBMS. Tahap 1.1 Merancang relasi dasar (Desain tabel) Tujuan : menentukan bagaimana mempresentasikan relasi dasar yang diidentifikasikan dalam model data logikal global dengan target DBMS. Tahap 1.2 Merancang representasi dari derived data Tujuan : menentukan bagaimana derived data itu ditampilkan dalam model data logical global dengan target DBMS. Tahap 1.3 Merancang Enterprise Constraint Tujuan : menentukan batasan perusahaan untuk target DBMS.
Tahap 2 Merancang representasi fisik Pada langkah ke lima ini bertujuan menentukan pengorganisasian file yang optimal dalam menyimpan relasi dasar dan indeks yang dibutuhkan untuk mencapai kinerja yang diinginkan. Beberapa faktor yang dipakai untuk mengukur efisiensi :
28 •
Throughput transaksi : Jumlah transaksi yang bias diproses selama interval waktu yang ditentukan.
•
Waktu proses : waktu yang diperlukan untuk menyelesaikan sebuah transaksi.
•
Penyimpanan disk : besar kapasitas disk yang diperlukan untuk menyimpan file basis data Tahap 2.1 Menganalisa Transaksi Tujuan : memahami fungsionalitas dari transaksi yang akan dioperasikan dalam
basis data dan menganalisa transaksi-transaksi yang penting. Tahap 2.2 Memilih Organisasi File Tujuan : menentukan pengorganisasian file yang efisien untuk tiap relasi dasar Tahap 2.3 Memilih indeks Tujuan : menentukan apakah penambahan indeks akan meningkatkan kinerja dari sistem.
Tahap 3 Merancang user view Pada langkah keenam ini bertujuan merancang user view yang diidentifikasikan selama pengumpulan kebutuhan-kebutuhan dan tahap analisis dari siklus aplikasi relational basis data
Tahap 4 Merancang mekanisme keamanan Pada langkah ketujuh ini bertujuan merancang batasan sekuriti dari basis data yang dispesifikasikan oleh user. Ada dua tipe keamanan, yaitu : •
Keamanan sistem : meliputi akses dan kegunaan basis data tingkat sistem.
29 Contoh : username dan password •
Keamanan data : meliputi akses dan penggunaan objek basis data (relasi, views) dan aksi yang bisa dilakukan pemakai pada objek
Tahap 5 Mempertimbangkan Pemakaian Kontrol Redundancy Pada langkah kedelapan ini bertujuan menentukan apakah redundansi dalam batasan yang terkontrol dengan cara melonggarkan aturan normalisasi akan meningkatkan kinerja sistem.
Tahap 6 Memonitor dan Menyesuaikan Sistem Operasi Pada langkah kesembilan ini bertujuan memonitor operasional sistem dan meningkatkan kinerja dari sistem untuk memperbaiki keputusan rancangan yang tidak sesuai atau merefleksikan perubahan-perubahan.
2.1.10.5. Pemilihan DBMS (DBMS Selection) Proses penyelesaian DBMS yang cocok untuk mendukung aplikasi basis data. Langkah-langkah dalam pemilihan DBMS, adalah : •
Menetapkan arti dari penelitian : pada langkah ini ditentukan tujuan dari penelitian dan tugas-tugas yang harus bisa dilakukan DBMS
•
Menyeleksi dua atau tiga produk : Menentukan beberapa DBMS yang masuk kriteria yang dibutuhkan. Kriterianya bisa berupa harga, perangkat keras yang didukung, platform yang didukung, dan lain sebagainya.
30 •
Evaluasi produk : membandingkan kinerja dari beberapa DBMS yang sudah diseleksi, bisa berdasarkan feature yang tersedia atau kinerjanya.
•
Memilih produk DBMS yang terbaik yang membuat dokumentasi dari tahapan pemilihan tersebut.
2.1.10.6. Perancangan Aplikasi (Application Design) Merancang user interface dan program aplikasi yang digunakan dan mengolah basis data. Dua aspek perancangan aplikasi : 1) Perancangan transaksi a. Retrieval transaction Transaksi pengambilan data dari basis data utnuk ditampilkan di layar maupun untuk pembuatan laporan b. Update transaction Transaksi yang mencakup penambahan record baru, menghapus record lama, dan memodifikasi record dalam basis data c. Mixed transaction Transaksi yang melibatkan pengambilan dan pengupdatean data 2) Pedoman perancangan user interface Perancangan dari user inreface terdapat beberapa aturan, diantaranya sebagai berikut: a. Judul yang berarti b. Instruksi yang dapat dimengerti c. Pengelompokan dan pengurutan field
31 d. Layout dari form atau laporan yang konsisten e. Label field yang familiar f. Istilah dan singkatan yang konsisten g. Ruang dan batasan yang jelas untuk field penginputan data h. Penggerakkan kursor yang nyaman i. Pengeditan kesalahan karakter dan nilai yang tidak sesuai j. Field opsional ditandai dengan jelas k. Pesan penjelasan untuk fields yang ada l. Tanda penyelesaian suatu transaksi
2.1.10.7. Prototyping Membangun model aplikasi basis data dimana user dan pembuat aplikasi dapat melihat dan mengevaluasi bagaimana fungsi-fungsinya dioperasikan. Prototyping digunakan agar user dapat mengetahui feature dalam aplikasi basis data, mengevaluasi kemudahan dalam pengunaan dan jika memungkinkan memberikan pendapat masukan terhadap aplikasi basis data.
2.1.10.8. Implementasi Penerapan dan perwujudan fisikal dari basis data dan perancangan aplikasi. Implementasi basis data didapat dari penerapan Data Definition Language (DDL) dan Graphicl User Interface (GUI). Program aplikasi yang biasa digunakan merupakan third generation language (3GL) atau fourth generation language (4GL). Bahasa program yang biasa digunakan, antara lain : Visual Basic, Delphi, C++, Java, Pascal, Cobol, VB.NET, C# .NET.
32 Keamanan dan integrity juga diimplementasikan pada tahap ini. Biasanya digunakan program yang mendukung Structure Query Language (SQL), seperti MySQL, SQL Server, PostgreSQL, Firebird, Sybase, IBM DB2 dan Oracle.
2.1.10.9. Konversi Data dan Loading (Data conversion & loading) Kegiatan ini merupakan transfer atau transformasi data yang sudah ada ke dalam basis data yang baru dan melakukan konversi aplikasi yang sudah ada untuk dijalankan di basis data baru.
2.1.10.10.
Pengujian (Testing)
Proses mengeksekusi program aplikasi dengan tugas mencari kesalahan. Dengan pengujian maka kita dapat mengetahui apakah basis data dan program aplikasinya bekerja sesuai dengan spesifikasi dan harapan kita. Situasi yang ideal dalam pengujian juga harus melibatkan user.
2.1.10.11.
Perawatan Operasional (Operational Maintenance)
Proses memonitor dan merawat sistem setelah instalasi. Proses perawatan meliputi aktivitas, sebagai berikut : •
Mengawasi kinerja sistem. Apabila kinerja sistem menurun dibawah tingkat yang diharuskan, maka perbaikan atau pengorganisasian basis data diperlukan.
•
Mengupgrade basis data apabila diperlukan.
33 2.1.11. Diagram Arus Data (DFD) Menurut Hall (2001,p69), diagram arus data adalah pencerminan proses, sumbersumber data, dan arus data dalam sebuah sistem dengan menggunakan simbol-simbol. Tabel 2.2 Tabel Simbol DFD Keterangan
Simbol
Suatu proses yang dipicu atau didukung oleh data
Suatu alat penyimpanan seperti file transaksi, file induk atau file referensi
Sumber input atau tujuan output data
Arah arus data
2.1.12. State Transition Diagram (STD) State Transition Diagram merupakan suatu diagram yang mempresentasikan langkah-langkah perubahan keadaan (state), dari awal hingga akhir dengan memperlihatkan adanya ketergantungan terhadap waktu (Pohan, 1997, p59). Komponen yang digunakan dalam state transition diagram, yaitu : 1. Keadaan (state) Merupakan kumpulan atribut yang menggambarkan suatu kondisi pada suatu saat. Keadaan dapat berarti menunggu sesuatu dari lingkungan luar atau menunggu aktivitas yang sedang berlangsung berubah menjadi aktivitas lain.
34 2. Panah (arrow) Panah digunakan untuk menghubungkan perubahan dari suatu keadaan. Panah awal digunakan untuk menunjukkan suatu keadaan awal, sedangkan kondisi akhir digambarkan dengan panah yang menuju satu keadaan akhir dari suatu diagram atau aksi. Hal yang terpenting dalam state transition diagram, yaitu suatu kondisi penyebab perubahan keadaan dan aksi yang harus dilakukan ketika akan berubah keadaan.
State 2 Kondisi Aksi State 1
Gambar 2.2. Kondisi dan Aksi pada State Transition Diagram
2.1.13. Entity Relationship Diagram (ERD) E-R diagram merupakan alat Bantu yang digunakan untuk menggambarkan model data yang didapat dari spesifikasi kebutuhan. Model E-R biasanya dinyatakan sebagai Entity-Relationship Diagram (ERD). Bagian yang membangun model E-R adalah entity types, relationship, dan attributes.
35 2.1.13.1.
Tipe Entitas (Entity Type)
Tipe Entitas menurut Connolly (2002,p331), merupakan sekumpulan objek yang memiliki properties yang sama didalam sebuah aplikasi. Kejadian entitas (Entity Occurrence) adalah objek yang teridentifikasi didalam tipe entitas. Entitas yang bisa didefinisikan antara lain : person, place, ataupun concept. Beberapa contoh dari masing-masing tipe-tipe entitas adalah : •
Person
: EMPLOYEE, STUDENT
•
Place
: BRANCH, REGION, COUNTRY
•
Concept of interest
: BID
Tipe entity terbagi dalam 2 jenis, yaitu : 1. Strong Entity Type Entity type yang keberadaannya tidak bergantung oleh adanya entity yang lain. 2. Weak Entity Type Entity type yang keberadaannya bergantung oleh adanya entity lain. Menurut
Mannino
(2001,p216),
entity
adalah
sekelompok
data
yang
menggambarkan mengenai orang, benda dan kejadian yang dapat diakses. Sebuah entity memiliki beberapa atribut dimana nilai-nilai dari atribut secara unik tersebut mengidentifikasikan entity.
2.1.13.2.
Hubungan (Relationship)
Relationship menurut Connolly (2002,p334), adalah suatu hubungan yang berarti antar satu atau lebih tipe entity.
36 Didalam suatu relationship terdapat batasan-batasan yang kita sebut dangan multiplicity. Multiplicity adalah nilai atau jangkauan nilai dari suatu kejadian tipe entity yang mungkin berhubungan dengan kejadian tipe entity lain melalui hubungan yang bersangkutan. Jenis batasan multiplicity terdiri dari : •
One-to-one (1:1) Relationships
•
One-to-many (1:*) Relationships
•
Many-to-many (*:*) Relationships
•
Relationship kompleks : nilai dimana kejadian yang mungkin pada tipe entity dalam relationship (n-ary) ketika nilai lain (n-1) tetap. Multiplicity memiliki 2 jenis batasan, yaitu : 1. Cardinality Menggambarkan jumlah maksimum dari kejadian suatu tipe entity dalam tipe relationship yang bersangkutan. 2. participation menetapkan apakah semua atau sebagian dari kejadian entity ikut ambil bagian didalam relationship. Batasan participation memiliki 2 tipe, yaitu : a. mandatory
: seluruh entity ikut ambil bagian dalam relationship.
b. optional
: hanya sebagian entity yang ikut dalam relationship.
Jika hubungan berbentuk 0..1, maka 0 adalah participation dan 1 adalah cardinality.
37 2.1.13.3. Attribute Simple attribute adalah atribut yang terdiri dari komponen tunggal dan tidak bergantung Attribute menurut Connolly (2002,p338) adalah property atau karakter dari tipe entity atau relationship. Setiap tipe entity mempunyai satu set attribute. Dibawah ini adalah tipe entity umum dan attribute-nya. •
STUDENT
•
EMPLOYEE : EMPLOYEE NO, NAME, ADDRESS, SKILL
: STUDENT NO, NAME, ADDRESS, PHONE NO
Attribute Domain adalah nilai yang boleh diperbolehkan dari satu atau lebih attribute. Attribute bisa diklasifikasikan menjadi : •
Simple and Composite pada attribute lain juga tidak bisa dibagi lagi. Contohnya adalah gaji pada entity staff. Composite attribute adalah atribut yang terdiri dari komponen majemuk tapi bergantung pada atribut lain dan bisa dibagi-bagi lagi. Contohnya adalah alamat, yang bisa dibagi menjadi nama jalan, kota.
•
Single-value and Multi-valued Attributes. Single-value attribute adalah atribut yang memiliki nilai tunggal dari tiap kejadian tipe entity. Contohnya adalah branch no dari entity branch. Multi-value attribute adalah atribut yang memiliki nilai majemuk dari tiap kejadian tipe entity. Contohnya adalah telepon, dimana sebuah kantor bisa memiliki lebih dari 1 telepon.
•
Derived attributes adalah atribut yang nilainya diperoleh dari nilai dari atribut yang berhubungan dan tidak harus berada didalam satu tipe entity yang sama. Contohnya adalah attribute durasi, yang dihitung dari attribute waktu awal dan waktu akhir.
38 2.1.13.4. Keys Candidate key adalah beberapa attribute yang secara unik mengidentifikasikan setiap entitas. Primary key adalah candidate key yang terpilih untuk mengidentifikasi secara unik setiap entitas. Alternate key adalah candidate key yang tidak terpilih menjadi Primary key. Composite key adalah candidate key yang terdiri dari dua attribute atau lebih. Beberapa entitas mungkin punya lebih dari satu candidate key, tetapi perancang harus memilih salah satu dari candidate key untuk dijadikan primary key.
2.1.14. Normalisasi Normalisasi menurut Connolly (2002,p376) adalah teknik untuk menghasilkan sekumpulan relasi dengan property yang diinginkan, berdasarkan kebutuhan data dari perusahaan
2.1.14.1. Bentuk Normalisasi 1. Bentuk normal pertama (1NF) Bentuk normal pertama biasanya dikenakan pada table yang belum ternormalisasi. Table yang belum ternormalisasi adalah table yang memiliki atrbut yang berulang. Suatu atribut dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris. 2. Bentuk normal kedua (2NF) Sebuah relasi dimana sudah dalam bentuk normal pertama dan setiap attribute yang bukan merupakan primary key bergantung penuh secara fungsional pada primary key-nya.
39 3. Bentuk normal ketiga (3NF) Sebuah relasi dimana sudah dalam bentuk normal pertama dan kedua, serta attribute yang bukan non-primary key bergantung secara transitif pada primary key. 3NF sudah cukup bagus, karena anomali yang dikandungnya sudah minimum (hampir tidak ada) 4. Bentuk normal Boyce-Codd (BCNF) Sebuah relasi disebut memenuhi bentuk normal BCNF jika dan hanya jika semua penentu (determinan) adalah candidate key. BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF karena bentuk normal ketiga berkemungkinan masih memiliki anomali sehingga perlu di normalisasi lebih jauh. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. 5. Bentuk normal keempat (4NF) Sebuah relasi memenuhi bentuk normal keempat jika •
Telah berada pada BCNF, dan
•
Tidak mengandung 2 atribut atau lebih yang bernilai banyak
6. Bentuk normal kelima (5NF) Sebuah relasi dikatakan berada dalam bentuk normal kelima jika data yang ada padanya tidak dapat lagi didekomposisi menjadi relasi-relasi yang lebih kecil dengan candidate key.
40 2.1.14.2. Anomali Kadir (2000,p64) mengemukakan bahwa anomali adalah efek samping yang tidak diharapkan (misalnya menyebabkan inconsistency (tidak konsisten) data atau membuat suatu data menjadi hilang saat data lain dihapus) yang mucul dalam suatu proses perancangan basis data.
2.2. Pengertian Internet dan CRM 2.2.1. Internet Menurut Matthew V. dan Jill H. Ellsworth (1997,p3), internet adalah jaringan besar yang dibentuk oleh interkoneksi jaringan komputer dan komputer tunggal di seluruh dunia, melalui saluran telepon, satelit, dan sistem telekomunikasi lainnya. Dengan kata lain internet adalah jaringan komputer yang saling berhubungan secara global. Internet dapat menghubungkan berbagai jaringan berbeda dengan fasilitas yang disediakan oleh Internet Service Provider (ISP). Kemampuan yang ditawarkan dapat meliputi e-mail, chatting, teleconference, videoconference, mengakses komputer lain ( remote desktop ), mengirim dan menerima file.
2.2.2. CRM (Customer Relationship Management) Menurut Kalakota dan Robinson (1999, p111), CRM didefinisikan sebagai suatu penjualan, pemasaran dan strategi pelayanan yang terintegrasi yang menghindarkan kepemimpinan tunggal dan yang bergantung pada tindakan perusahaan yang terkoordinasi secara luas.
41 Sedangkan menurut Tourniarie (2003, p4), CRM merupakan sekumpulan proses dan fungsi yang berorientasi pada pelanggan didalam suatu organisasi, seperti sales, marketing dan support, yang dibantu oleh suatu tools. Sehingga dapat disimpulkan bahwa CRM itu adalah suatu sistem yang terintegrasi dan berhubungan langsung dengan pelanggan.
Tourniarie (2003, p5) membagi aplikasi pendukung CRM kedalam beberapa elemen, yaitu: •
Sales Force Automation, Elemen ini merupakan elemen terpenting didalam CRM. Didalam elemen ini, dapat diketahui dan ditelusuri prospect, contact dan aktivitas kegiatan marketing, yang memungkinkan manager untuk melakukan perkiraan pendapatan perusahaan yang mungkin akan dihasilkan serta dapat memngkinkan untuk menagkap terjadinya kegitan yang berulang dan bottleneck.
•
Telemarketing/Telesales Tracking, Elemen ini biasanya berupa IVR (Interactive Voice Response), SMS Gateway, dan teknologi lainnya yang menjadi pendukung kegiatan pada Call Center yang terintegrasi dengan software CRM.
•
Marketing Automation, Elemen ini biasanya berupa campaign management.Elemen ini memungkinkan untuk melakukan desain, eksekusi dan melakukan pengaturan terhadap marketing campaign.
•
Support Tracking, Elemen ini juga merupakan elemen terpenting dalam CRM. Pada dasarnya fitur pada elemen ini adalah dapat melakukan penelusuran terhadap kegiatan support dimulai dari pelaporan masalah sampai ke resolusi.
42 Salah satu hal terpenting juga pada elemen ini adlah terintegrasinya contract tracking. •
Knowledge Base, Elemen ini terbagi dalam dua area, yang pertama adalah kemampuan untuk menjadi knowledge base bagi pengguna dengan menggunakan kemampuan pencarian yang canggih, dan yang lainnya adalah kemampuan untuk mendukung pembuatan, dan pemeliharaan dokumen.
•
Customer Portal, Elemen ini merupakan bagian dari aplikasi CRM yang berabasiskan web yang dapat diakses oleh pelanggan.
•
Analytics, Salah satu dari keuntungan CRM adalah kemampuan untuk melihat dan melakukan analisis terhadap aktifitas terkait dari pelanggan dengan perusahaan.