BAB 2 LANDASAN TEORI 2.1
Teori Umum Di dalam subbab ini akan dipaparkan beberapa teori umum yang akan disertai dengan sumber yang berkaitan, yang akan digunakan penulis sebagai landasan teori dalam penulisan maupun analisis untuk skripsi ini. 2.1.1 Sistem Menurut Satzinger, Jackson, dan Burd (2010, p. 6) dalam bukunya yang menyatakan bahwa, sistem adalah sekumpulan komponen yang saling terkait yang berfungsi bersama-sama untuk mencapai hasil tertentu. Pernyataan tersebut diperkuat Gelinas dan Dull (2008, p. 11) yang mengungkapkan definisi sistem sebagai berikut,Sistem adalah seperangkat elemen saling tergantung yang bersama-sama mencapai tujuan tertentu. Dengan begitu dapat disimpulkan bahwa sebuah sistem dapat di definisikan sebagai sebuah kesatuan yang berupa komponen dan elemen yang saling berhubungan, berinteraksi, saling terkait, dan berkerja secara bersamaan dan memiliki tujuan tertentu. 2.1.2 Informasi Menurut Brian K. Williams dan Sawyer (2007, p. 12) informasi adalahdata yang telah diringkas atau dimanipulasi untuk digunakan dalam pengambilan keputusan. Diperkuat oleh O’brien dan Marakas (2010, p. 34) informasi adalah data yang telah dikonfersi ke dalam konteks yang bermakna dan berguna bagi pengguna akhir. Dapat ditarik kesimpulan bahwa Informasi merupakan kumpulan dari data yang telah di saring sedemikian rupa hingga menjadi data bersih dan dikumpulkan menjadi satu dan membentuk sebuah kesatuan. 2.1.3 Sistem Informasi Dengan majunya teknologi informasi dewasa ini banyak perusahaan menengah keatas maupun perusahaan besar dunia mengadopsi sistem informasi untuk melengkapi keunggulannya dengan lawan-lawan bisnisnya
7
8
Menurut Satzinger, Jackson, dan Burd(2010, p. 6)sistem informasi terkait
didefinisikan sebagai kumpulan komponen yang saling
yang
mengumpulkan,
memproses,
menyimpan,
dan
menyediakan sebagai output informasi yang diperlukan untuk menyelesaikan tugas-tugas bisnis. Hal tersebut diperkuat oleh Gelinas dan Dull (2008, p. 13) dan didefinisikan sebagai berikutadalah sistem buatan manusia yang umumnya terdiri dari serangkaian terpadu komponen berbasis komputer dan komponen pengguna didirikan untuk mengumpulkan, menyimpan, mengelola data dan memberikan informasi output ke pengguna.
2.1.4 Fact Finding Data merupakan suatu fakta untuk mengumpulkan fakta tersebut, tentunya ada beberapa teknik yang digunakan agar fakta tersebut dapat diperoleh dengan tepat. Ada beberapa definisi Fact Finding Technique seperti yang dikemukakan oleh Bennett, McRobb, & Farmer (-1502010: 42) yang membagi teknik tersebut menjadi lima teknik utama dalam fact finding technique yang digunakan oleh para analis untuk meneliti kebutuhan, yaitu : 1. Background Reading Jika seorang analis dipekerjakan dalam organisasi yang menjadi subjek dari pelaksanaan dalam pengumpulan fakta, maka kemungkinan bahwa mereka akan memiliki pemahaman yang baik tentang organisasi dan tujuan usahanya. Namun jika mereka sebagai konsultan dari luar, maka salah satu tugas pertamanya adalah mencoba untuk memperoleh pemahaman tentang organisasi. Background reading atau penelitian merupakan bagian dari proses tersebut. Jenis dokumen yang cocok untuk sumber informasi tersebut adalah : a. Laporan perusahaan b. Struktur organisasi c. Kebijakan pengguna d. Uraian pekerjaan e. Laporan f. Dokumentasi sistem yang ada 2. Interviewing Wawancara mungkin merupakan teknik pencarian fakta yang paling banyak digunakan, namum juga salah satu yang memerlukan keterampilan yang paling sensitif.
9
3. Observation Observasi merupakan teknik pengumpulan fakta yang dilakukan dengan terjun langsung ke lapangan. Observasi atau pengamatan juga memungkinkan seorang analis untuk dapat melihat apa yang orang lakukan dengan menggunakan informasi untuk melaksanakan pekerjaan mereka. 4. Document Sampling Document sampling dapat digunakan dengan dua cara yang berbeda. Pertama analisis akan mengumpulkan salinan dokumen dan diselesaikan selama wawancara dan sesi obeservasi. Kedua, analis dapat melakukan analisis dokumen statistik dalam rangka untuk mengetahui tentang pola data. 5. Questionnaires Kuesioner merupakan suatu instrumen penelitian yang dapat diterapkan untuk mencari fakta dalam proyek pengembangan sistem. Pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 341) yang mendefinisikan Fact finding Techiques sebagai “proses formal yang menggunakan beberapa cara seperti wawancara dan kuisioner untuk mengumpulkan fakta tentang sistem, kebutuhan dan preferensi”. Lima teknik umum yang digunakan adalah : a. Examining documentation Examining documentation sangat berguna ketika mencoba untuk mendapatkan keuntungan dari beberapa wawasan seperti bagaimana mendapatkan kemunculan suatu database. b. Interviewing Teknik interview merupakan teknik yang paling sering digunakan dan cara paling bisa digunakan untuk fact finding. c. Observing the enterprise in operation Merupakan satu dari banyak teknik fact-finding teknik untuk memahami sistem. Teknik ini memungkinkan untuk salah satu partisipan atau melihat aktifitas performa seseorang untuk mempelajari sistem tersebut. d. Research Teknik Fact finding yang berguna untuk mencari aplikasi dan problem. e. Quisioner Teknik fact finding untuk melakukan survey dengan melalui kuesioner. Dari definisi diatas dapat disimpulkan bahwa teknik fact-finding tersebut merupakan suatu teknik untuk mengumpulkan data, data tersebut digabungkan sehingga memberikan sebuah informasi yang dibutuhkan oleh para bisnis.
10
2.1.5 Basis data Sistem informasi yang baik dalam sebuah perusahaan akan lebih baik jika ditunjang dengan adanya database. Menurut Connolly dan Begg (2010, p. 15), basis data adalah sebuah kumpulan data yang saling berhubungan secara logis, dan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan data yang dibutuhkan organisasi. Menurut Satzinger, Jackson, dan Burd (2010, p. 488) database adalah koleksiterpadudaridata yang tersimpanyangdikelola secara terpusatdan dikendalikan. Data-data yang tersimpan dalam database akan di atur dengan database manajement system. Diperkuat oleh O’brien and Marakas (2010, p. 173)database merupakan kumpulan terpadu dari element data logis yang saling berhubungan.
Sehingga
dapat
disimpulkan
Database
dapat
didefinisikan sebagai tempat untuk menyimpan kumpulan dari record data lengkap berserta secara terorganisir melalui metode tertentu dan saling berhubungan. Basis data dapat berisi/memiliki sejumlah objek basis data, yang antara lain yaitu: 1. Field Field adalah sekumpulan. Kecil dari kata atau sebuah deretan angkaangka. 2. Record Record adalah kumpulann dari field yang berelasi secara secara logis. Contoh: nama, alamat, nomor telepon, dan sebagainya. 3. File File atau berkas adalah kumpulan record yang berelasi secara logis. 4. Entity Entity adalah orang, tempat, benda, atau kejadian yang berkaitan dengan informasi yang disimpan. Contoh: pelanggan, pekerja, dan sebagainya. 5. Attribute Attribute adalah setiap karakteristik yang menjelaskan suatu entity. Contoh nama, pelanggan, umur pekerja, dan sebagainya.
11
6. Primary Key Primary key adalah sebuah field yang nilainya unik yang tidak sama antara satu record dan record lain. Primary key digunakan sebagai tanda pengenal suatu field. 7. Foreign Key Foreign Key adalah sebuah field yang nilainya berguna untuk menghubungkan primary key lain yang berada pada tabel yang berbeda.
2.1.3.1 Siklus Hidup Basis Data Menurut Connolly dan Begg (2005, p. 284), sebuah basis data dianalisis dan dirancang berdasarkan siklus hidup yang tergambar pada Gambar 2.1 berikut:
Sumber: Connolly dan Begg (2005: 284) Gambar 2.1 Basis Data Development Lifecycle Diagram
Penjelasan dari Gambar 2.1 diatas adalah sebagai berikut: 1. Basis data Planning Pada tahap ini melakukan perencanaan sehingga tahapantahapan perancangan berikutnya dapat direalisasikan secara efektif dan efisien.
12
2. Sistem Definition Pada tahap ini menentukan ruang lingkup dan batasan aplikasi yang akan dibuat, seperti penggunanya dan lingkungan tempat aplikasi akan diimplementasikan. 3. Requirement Collection and Analysis merupakan suatu tahap mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang akan didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan sistem baru. Tahap ini juga biasa disebut dengan Fact Finding techniques. Ada beberapa cara atau teknik dalam penygumpulan data, diantaranya :
a. Mempelajari Dokumentasi Mempelajari
dokumentasi
berguna
untuk
memperoleh
wawasan mengenai bagaimana kebutuhan basis data dati organisasi atau perusahaan, dengan mempelajari dokumentasi analis dapat mengidentifikasi bagian dari organisasi yang terkait masalah dan memahami sistem yang berjalan. b. Wawancara Teknik fact finding ini sangat populer dan umum digunakan. Teknik ini memungkinkan pengumpulan informasi secara individual secara tatap muka. c. Observasi merupakan teknik yang efektif untuk mengerti sistem. Ketika melakukan
observasi,
pengamat
dimungkinkan
untuk
berpartisipasi atau menonton kegiatan tiap orang dalam menggunakan sistem. Teknik ini biasanya dikolaborasikan dengan teknik wawancara. d. Penelitian Teknik ini mudah digunakan untuk mengkaji masalah dan penerapan. analis dapat menggunakan informasi terkini seperti jurnal komputer, buku referensi, dan internet. Selain itu, dapat juga
menggunakan
informasi
bagaimana
orang
lain
memecahkan masalah yang sama dengan yang tengah dihadapi.
13
4. Basic data Design Pada tahap ini dilakukan perancangan basis data secara konseptual, logikal dan fisikal. 5. DBMS Selection (Optional) Memilih DBMS yang cocok untuk digunakan bersama dengan aplikasi yang akan dibuat. 6. Application Design Tahap ini dilakukan untuk merancang tampilan bagi pengguna, kemudian merancang program aplikasi yang akan digunakan untuk memroses basis data. 7. Prototyping (Optional) Tahap ini bertujuan untuk membuat prototype dari aplikasi basis data. Hasil prototype ini memungkinkan perancang atau pengguna untuk memvisualisasikan serta mengevaluasi bentuk akhir sistem. 8. Implementation Dalam tahap ini dilakukan implementasi basis data fisikal dan rancangan aplikasinya. 9. Data Conversion and Loading Melakukan konversi atau peralihan data dari sistem lama ke system baru. 10. Testing Melakukan uji coba untuk mencari kesalahan pada aplikasi. Selain itu, dilakukan validasi atas kebutuhan yang telah dispesifikasikan oleh pengguna. 11. Operational Maintenance Sistem diimplementasi secara penuh dimana sistem diawasi dan dipelihara secara berkala. Jika diperlukan kebutuhankebutuhan baru, dapat dikerjakan setelah melalui tahapan perancangan basis data.
14
2.2
Teori Khusus 2.2.1 Database Management System (DBMS) Menurut Connolly dan Begg ( 2010 , p. 66 ), Database Management System (DBMS) merupakan suatu sistem piranti lunak yang membuat pengguna dapat mendefinisikan, menciptakan, mengatur, dan mengontrol akses kedalam basisdata. Menurut Post, Gerald V. ( 2005 , p. 2 ), DBMS adalah piranti lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung bahasa query, membuat laporan dan menciptakan layar masukan data. Dapat kita ambil kesimpulan bahwa DBMS adalah sebuah piranti lunak yang digunakan oleh user untuk mendefinisikan sebuah basisdata, menyipan data yang ada, dan juga memanipulasi data yang ada. DBMS sebagai atas yang membantu user dalam pekerjaannya mengatur basis data menyediakan beberapa fasilitas sebagai berikut :
1. Data Definition Language (DDL) DDL memperbolehkan pengguna untuk membuat spesifikasi tipe data, mendefinisikan basisdata, struktur data dan batasan data untuk disimpan dalam basisdata. Pengertian DDL adalah suatu bahasa yang memperbolehkan DBA
(Basis
data
Administrator)
atau
pengguna
untuk
mendeskripsikan dan memberi nama suatu entitas, atribut, dan relasi data yang dibutuhkan untuk aplikasi, bersama dengan integritas data yang diasosiasikan dan batasan (constrain) keamanan data. Perintah bahasa tersebut secara umum antara lain: •
CREATE, digunakan untuk membuat suatu objek basis data yang baru.
•
ALTER, digunakan untuk mengubah atribut-atribut dari objek basis data yang sudah terdapat pada basis data.
•
DROP, digunakan untuk menghapus objek tertentu.
15
2. Data Manipulation Language (DML) DML
memperbolehkan
pengguna
untuk
memasukkan,
memperbaharui, menghapus, dan mengirim atau mengambil data dari basisdata. DML dibagi menjadi dua jenis yaitu Procedural dan NonProcedural. Menurut Connolly dan Begg (2005, p. 41), pengertian procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang akan dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkat Non-procedural DML adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan apa yang dibutuhkan tanpa memperhatikan bagaimana data tersebut diperoleh, Perintahperintah dalam DML antara lain: •
SELECT, digunakan untuk melakukan query
•
INSERT, digunakan untuk memasukkan data ke tabel.
•
UPDATE, digunakan untuk memperbaharui data pada tabel
•
DELETE, digunakan untuk menghapus data dari tabel.
•
FROM, digunakan untuk menentukan tabel yang ingin digunakan selam proses pengeksekusian query.
•
WHERE, digunakan untuk melakukan filtrasi data pada tabel yang dilakukan query berdasarkan kondisi tertentu.
3. Menyediakan kontrol akses ke basisdata. Seperti : Sistem keamanan, Sistem integritas, Concurrency control system, Recovery control system, User-accessible catalog
2.2.1.1 Komponen-Komponen DBMS Menurut Connolly dan Begg (2010, p. 68), terdapat lima komponen penting DBMS, yaitu: 1. Data Merupakan komponen terpenting yang menghubungkan antara komponen mesin (hardware dan software) dan komponen manusia (procedures dan people).
16
2. Software Meliputi aplikasi software, DBMS, dan sistem operasi. Jika dalam penggunaannya menggunakan jaringan, maka sistem jaringan juga termasuk. 3. Hardware Untuk menjalankan DBMS dan aplikasi-aplikasinya, dibutuhkan hardware yang meliputi PC (Personal Computer), mainframe, dan jaringan komputer. 4. Procedures Prosedur adalah instruksi dan aturan yang mengatur perancangan dan penggunaan basis data. 5. People Komponen ini meliputi basis data administrators, basis data designers, application developers, dan end users.
2.2.1.2 Fungsi DBMS Menurut Connolly dan Begg (2010, p. 99) fungsi dari DBMS yaitu menspesifikasi tipe data, struktur dan konstrain data, menyimpan data, manipulasi basis data seperti query basis data, update basis data, dan membuat laporan dari data yang tersimpan dalam basis data. Menurut Connolly dan Begg (2005: 48), DBMS seharusnya memiliki fungsi-fungsi sebagai berikut: 1. Data Storage, Retrieval, dan Update DBMS memungkinkan pengguna untuk menyimpan, mengambil, dan mengubah data. 2. A User-Accessible Catalog Katalog yang berisikan deskripsi data item dan dapat diakses oleh pengguna. 3. Transaction Support Mekanisme yang akan menjamin seluruh perubahan data yang berhubungan dengan transaksi yang sudah ada maupun yang akan dibuat.
17
4. Concurrency Control Services Mekanisme yang menjamin perubahan data secara benar ketika beberapa pengguna melakukan perubahan terhadap data yang sama secara bersama-sama. 5. Recovery Services Mekanisme untuk pemulihan basis data ke keadaan semula ketika terjadi kerusakan atau kesalahan pada suatu basis data. 6. Authorization Services Mekanisme yang menjamin bahwa hanya pengguna yang terotorisasi yang dapat mengakses basis data. 7. Support for Data Communication Terintegrasi dengan sofware komunikasi sehingga basis data dapat diakses dari lokasi yang jauh. 8. Integrity Services Memiliki sarana yang menjamin semua data di dalam basis data maupun perubahan-perubahan terhadap data tersebut mengikuti aturan-aturan yang berlaku (constraint). 9. Services to Promote Data Independent Mendukung kemandirian data sehingga software tidak terpengaruh terhadap struktur aktual dari basis data. 10. Utility Services Menyediakan berbagai program, seperti program analisis statistik, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain.
2.2.2 Database Design Menurut Connolly dan Begg (2010 , p. 291), Database design adalah suatu proses yang membuat suatu rancangan untuk basisdata yang akan mendukung kegiatan operasional dan tujuan dari perusahaan. Pada bagian ini dibagi menjadi tiga tahap.
2.2.2.1 Conceptual database design Dalam bukunya Connolly dan Begg (2010 , p. 439), mengemukakan tahap konseptual ini bertujuan untuk membuat representasi konseptual dari basis data, termasuk identifikasi entitas,
18
relationship, dan atribut. Conceptual database design ini dibagi menjadi beberapa langkah, yaitu : Langkah 1
Membangun Conceptual Data Model
Tujuannya adalah untuk membangun local conceptual data model dari perusahaan untuk tiap view yang spesifik. Tiap local conceptual data model terdiri dari entity type, relation type, atribut - atribut, domain – domain atribut, primary key, alternate key, dan integrity constraint. Hal-hal yang perlu dilakukan untuk membangun conceptual data model adalah 1.
Identifikasikan Tipe Entitas Tujuan mengidentifikasi tipe entitas adalah untuk mengenali tipe – tipe entitas utama yang dibutuhkan oleh user sebagai view.
2.
Identifikasikan Tipe Relationship Bertujuan untuk mengenali relationship – relationship penting yang ada diantara tipe – tipe entitas yang telah diidentifikasi terlebih dahulu. Untuk dapat mengerti relationship, pertama-tama harus memahami multiplicity. Multiplicity adalah jumlah dari kejadian – kejadian yang mungkin dari sebuah tipe entitas yang terhubung pada kejadian tunggal dari tipe entitas yang berhubungan melalui relationship penting.
Jenis-jenis multiplicity menurut Connolly dan Begg (2005, p. 356) adalah: •
One-to-One (1:1) Relationship Hubungan yang terjadi diantara dua entitas yang saling terlibat
adalah satu-satu dan dapat pula member entitas yang satu ada yang tidak berhubungan dengan member dari entitas yang berelasi dengannya dan entitas tersebut juga berelasi maksimal 1. Berikut ini merupakan contoh relationship dari one-to-one yang dapat dilihat pada gambar.
19
Gambar 2.2 Relationship One-to-One Pada Gambar 2.2, dapat terlihat bahwa A hanya terhubung one-to-one (1:1) dengan C, dan B hanya terhubung one-to-one (1:1) dengan D. Jadi dari Gambar 2.2 dapat dituliskan notasi multiplicity– nya seperti pada gambar dibawah ini.
Gambar 2.3 One-to-One Relationship Nation •
One-to-Many (1:*) Relationship Hubungan yang terjadi diantara dua entitas yang saling terlibat
adalah satu-banyak. Dimana sebuah member dari entitas dapat berhubungan dengan satu atau banyak member dari entitas yang lain dan member dari entitas yang lainnya berhubungan (bisa dari 0) sampai maksimal 1. Berikut ini merupakan contoh relationship dari one-to-many yang dapat dilihat pada Gambar dibawah.
20
Gambar 2.4 Relationship One-to-Many Pada Gambar 2.4, dapat terlihat bahwa B terhubung one-tomany (1:*) dengan D dan E. Jadi dari Gambar 2.4 dapat dituliskan notasi multiplicity-nya seperti yang terlihat pada gambar di bawah.
Gambar 2.5 One-to-Many Relationship Nation •
Many-to-Many (*:*) Relationship Hubungan yang terjadi diantara dua entitas yang saling terlibat
adalah banyak-banyak. Member dari sebuah entitas dapat berelasi dengan entitas yang lain dengan maksimal multiplicity banyak (*) dan sebaliknya dengan relasi entitas yang berhubungan tersebutBerikut ini merupakan contoh relationship dari many-to-many yang terlihat pada gambar dibawah.
Gambar 2.6 Relationship Many-to-Many Pada Gambar 2.6, dapat terlihat bahwa A terhubung one-tomany (1:*) dengan D dan E, sedangkan E terhubung one-to-many (1:*) dengan A dan B. Jadi dari entitas Group 1 (nilainya A dari Gambar 2.12) dan Group 2 (nilainya E dari Gambar 2.8) terhubung many-to-many (*:*). Jadi dari Gambar 2.6 dapat dituliskan notasi multiplicity-nya seperti yang terlihat pada gambar dibawah.
21
Gambar 2.7 Many-to-Many Relationship Nation 3.
Identifikasikan dan Asiosiasikan Atribut dengan Tipe Entitas dan Tipe Relationship Tujuannya adalah untuk menghubungkan atribut – atribut yang ada dengan entitas atau relationship type yang sesuai.
4.
Menentukan Domain Atribut Bertujuan untuk menentukan domain – domain untuk atribut – atribut dalam local conceptual data model. Menurut Connolly dan Begg (2010 , p. 450), Domain atribut merupakan kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Domain merupakan sifat yang sangat kuat dalam model relational. Setiap atribut di dalam relasi ditetapkan dalam domain. Domain mungkin berbeda untuk tiap atribut, atau dua atau lebih atribut mungkin ditetapkan dalam domain yang sama.
5.
Penentuan Atribut Candidate Key, Primary Key, dan Alternate Key Bertujuan untuk mengidentifikasikan candidate – candidate key untuk tiap tipe entitas, dan jika terdapat lebih dari satu candidate key, maka pilih salah satu untuk dijadikan primary key. Menurut Connolly dan Begg (2010 , p. 451), ketika memilih primary key diantara candidate key, kita dapat menggunakan panduan berikut untuk membantu pemilihan primary key, yaitu : • Candidate key dengan kumpulan atribut yang minimal • Candidate key yang nilainya jarang berubah • Candidate key dengan karakter – karakter yang paling sedikit (untuk yang memiliki textual attributes) • Candidate key dengan nilai maksimum paling rendah (untuk yang memiliki numerical attributes)
22
• Candidate key yang paling mudah digunakan dari sudut pandang user 6.
Mempertimbangkan penggunaan enhanced modeling concept (optional) bertujuan untuk mempertimbangkan penggunaan enhanced modeling
concepts, seperti specialization / generalization, aggregation, dan composition. 7.
Memeriksa model dari redundancy Bertujuan untuk memeriksa apakah terdapat redundancy dalam
model. Dua kegiatan dalam langkah ini adalah : memeriksa kembali oneto-one relationship dan menghilangkan redundant relationships. Dalam menghilangkan redundant dalam basis data ada sebuah tehnik yang dinamakan normalisasi, Menurut Connolly dan Begg (2010 , p. 401), normalisasi adalah teknik formal untuk mnganalisa relasi berdasarkan pada primary key (atau candidate key) dan functional dependencies. 8.
Validasi Model Konseptual dengan User Transaction Bertujuan untuk menjamin bahwa model konseptual mendukung
transaksi – transaksi yang dibutuhkan oleh view. 9.
Meninjau local conceptual data model dengan pengguna Bertujuan untuk meninjau local conceptual data model dengan user untuk menjamin bahwa model tersebut adalah representasi yang sebenarnya dari data yang dibutuhkan oleh perusahaan.
Langkah 2
Membangun Logical database design perancangan logikal basisdata adalah suatu proses pembangunan model data dan pemetaan model konseptual ke model logikal yang dipengaruhi oleh model data yang menjadi tujuan dari basisdata. Dalam perancangan model logikal, model data yang telah diperoleh dalam basisdata konseptual diubah dalam bentuk dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basisdata. Hal-hal yang perlu dilakukan untuk membangun logical data model adalah :
1.
Menentukan Relasi – Relasi untuk Model Data Logikal
23
Bertujuan untuk menciptakan relasi – relasi untuk model data logikal untuk merepresentasikan entitas – entitas, relationship – relationship, dan atribut – atribut yang telah diidentifikasikan. Relationship yang dapat muncul pada model data konseptual diantaranya adalah : •
Strong Entity Type dan Weak Entity Type Menurut Connolly dan Begg (2010 , p. 354), strong entity type adalah tipe entitas yang keberadaannya tidak bergantung (independent) pada beberapa tipe entitas lainnya. Karakteristik dari strong entity type adalah tiap entity occurrence dapat diidentifikasi secara unik menggunakan atribut primary key dari tipe entitas. Strong entity type sering juga disebut parent atau owner atau dominant entities. weak entity type adalah tipe entitas yang keberadaannya bergantung (dependent) pada beberapa tipe entitas lainnya. Weak entity type juga disebut child, dependent, atau subordinate entities.
•
Superclass/subclass relationship types Menurut Connolly dan Begg (2010 , p. 467),untuk tiap superclass / subclass relationship dalam data konseptual,
kita
mengidentifikasikan
entitas
model
superclass
sebagai entitas parent dan entitas subclass sebagai entitas child. Terdapat banyak pilihan dalam merepresentasikan relationship sebagai salah satu atau lebih relasi – relasi. Pilihan yang paling sesuai tergantung dari sejumlah faktor seperti
disjointnese
dan
participation
constraint
pada
superclass / subclass relationship apakah subclass – subclass terlibat dalam distinct relationship dan jumlah participant – participant dalam superclass / subclass relationship. •
Complex relationship types Menutur Connolly dan Begg (2010 , p. 470), untuk setiap complex relationship menciptakan sebuah relasi untuk merepresentasikan relationship dan termasuk semua atribut yang merupakan bagian dari relationship tersebut. Kita
24
menyalin salinan primary key dari entitas yang berhubungan dalam complex relationship kedalam relasi baru, untuk berlaku sebagai foreign key. •
Multi-valued attributes Menurut
Connolly
dan
Begg
(2010
,
p471),
menciptakan relasi yang merepresentasikan atribut – atribut multi-valued dan menyalin salinan primary key dari entitas owner kedalam relasi baru untuk menjadi foreign key. 2.
Validasi Model dengan Normalisasi Bertujuan untuk untuk memvalidasi relasi – relasi dalam model data konseptual menggunakan teknik normalisasi. Tujuan dari normalisasi
ini
adalah
untuk
meminimalkan
redudansi
data
(perulangan data) dan update anomalies, menciptakan representasi data, hubungan antar data dan contraint yang akurat, serta meningkatkan stabilitas. Untuk mencapai tujuan tersebut maka harus dilakukan identifikasi dengan benar atas relasi – relasi yang ada. Pada dasarnya, proses normalisasi ini dilakukan karena terjadinya redundansi data atau kejanggalan pengubahan (update anomaly). Menurut Connolly dan Begg (2010 , p. 391), update anomaly ada tiga jenis
yaitu insert anomaly,
delete
anomaly,
dan
modification/update anomaly. Insert anomaly adalah kejanggalan yang terjadi terhadap sebuah table pada saat dilakukan penambahan suatu record, yaitu berupa pelanggaran terhadap integrity constraint. Delete anomaly adalah kejanggalan yang terjadi terhadap suatu tabel pada saat dilakukan penghapusan suatu record, penghapusan bermaksud untuk menghapus suatu data tertentu tetapi menyebabkan kehilangan informasi lain dari tabel tersebut. Modification/update anomaly adalah kejanggalan yang terjadi terhadap suatu tabel pada saat dilakukan pengubahan suatu record, pengubahan terhadap suatu nilai tertentu harus dilakukan lebih dari sekali. Hal ini amat memungkinkan terjadinya inkonsistensi data. Berikut ini adalah tahapan- tahapan dari Normalisasi : •
UNF (Un-Normal Form)
25
Proses normalisasi dimulai dari bentuk UNF (UnNormal Form), yaitu tabel yang masih mengandung repeating group. Tabel UNF ini dibuat dengan mentransformasi data dari sumber informasi seperti formulir atau bon-bon ke dalam tabel berbentuk baris dan kolom. •
1NF (First Normal Form) Pada bentuk normal pertama (First Normal Form– 1NF), sebuah relasi dimana pada setiap sel atau perpotongan baris dan kolom, jika dan hanya jika mengandung satu nilai, setiap sel mengandung nilai atomik (single value). Untuk menjadikan bentuk tidak normal menjadi normal pertama dengan mengidentifikasikan dan menghilangkan repeating groups (sebuah atau sekumpulan atribut dalam tabel yang memiliki multiple values untuk single occurrence dari atribut key yang terpilih untuk tabel tersebut) yang ada di dalam tabel.
•
2NF (Second Normal Form) Sebuah tabel disebut berada pada bentuk normal kedua ( 2NF ) jika dan hanya jika setiap atribut bukan primary key ( PK ) tergantung sepenuhnya pada PK. Untuk mengetahui apakah 1NF telah berada pada 2NF maka tentukan PK dan funtional dependency.
•
3NF (Third Normal Form) Sebuah tabel disebut berada pada bentuk normal ketiga jika dan hanya jika tidak ada atribut bukan primary key yang bergantung kepada atribut bukan primary key lainnya. Sebuah tabel yang mengandung atribut bukan PK yang tergantung pada atribut PK lainnya disebut transitive dependency. Dengan kata lain sebuah tabel disebut berada pada 3NF jika dan hanya jika tidak mengandung transitive dependency.
•
BCNF (Boyce-Codd Normal Form) Suatu relasi dianggap sebagai bentuk normal BCNF jika dan hanya jika setiap determinant adalah candidate key. Untuk mengetahui apakah suatu tabel sudah berada pada
26
bentuk normal BCNF maka harus dilakukan analisa atas functional dependency dari sebuah tabel. 3.
Memvalidasi Relasi dengan User Transaction Bertujuan untuk menjamin bahwa relasi – relasi dalam model data logikal mendukung transaksi – transaksi yang dibutuhkan oleh view.
4.
Mendefinisikan Kendala Integrity tujuannya
adalah
memeriksa
integrity
constraint
yang
direpresentasikan dalam model data logical. Integrity constraint terdiri dari 5 jenis, yaitu : data yang dibutuhkan, attribute domain constraint, entity integrity, referential integrity, dan general constraint. •
Data yang dibutuhkan Menurut Connolly dan Begg (2010 , p. 475), beberapa atribut harus selalu memiliki nilai yang valid. Dengan kata lain, atribut tersebut tidak boleh bernilai null.
•
Attribute domain constraint Menurut Connolly dan Begg (2010 , p. 475), tiap atribut mempunyai domain, yaitu kumpulan nilai – nilai yang legal. Misalnya, ada 2 jenis kelamin yaitu ‘M’ atau ‘F’, jadi domain untuk atribut jenis kelamin adalah karakter string tunggal yang terdiri dari ‘M; atau ‘F’. Batasan ini harus diidentifikasikan ketika kita memilih domain atribut untuk model data.
•
Multiplicity Dalam bukunya dan Begg (2010 , p. 475), multiplicity merepresentasikan batasan yang diletakkan pada relationship antara data di dalam basisdata.
•
Entity integrity Dalam bukunya Connolly dan Begg (2010 , p. 475) menyatakan, primary key dari entitas tidak boleh bernilai null.
27
Batasan ini harus betul – betul dipertimbangkan ketika kita mengidentifikasikan primary key untuk tiap tipe entitas. •
Referential integrity Dalam bukunya Connolly dan Begg (2010 , p. 475) menyatakan, foreign key menghubungkan tiap tuple dalam relasi child ke tuple dalam relasi parent yang meliputi nilai candidate key yang sesuai. Referential integrity berarti bahwa jika foreign key memiliki nilai, maka nilai tersebut harus menunjuk pada tuple yang ada pada relasi parent. Dalam bukunya Connolly dan Begg ( 2010 , p. 476 ), terdapat 5 strategi untuk mempertahankan referential integrity pada saat penghapusan tuple pada relasi parent, yaitu : - NO ACTION Mencegah penghapusan dari relasi parent jika terdapat tuple–tuple child yang ditunjuk. - CASCADE Ketika tuple parent dihapus, secara otomatis juga dihapus tuple-tuple child yang ditunjuk - SET NULL Ketika tuple parent dihapus, nilai foreign key dalam semua tuple – tuple child yang berhubungan secara otomastis diubah menjadi null. - SET DEFAULT etika tuple parent dihapus, nilai foreign key dalam semua tuple – tuple child yang berhubungan secara otomatis diubah menjadi nilai default-nya. - NO CHECK Ketika tuple parent dihapus, tidak melakukan apa – apa untuk menjamin referential integrity tetap terjaga.
•
General constraints
28
Pengubahan – pengubahan pada entitas – entitas mungkin diatur oleh batasan – batasan yang memerintah transaksi ’real world’ yang direpresentasikan oleh pengubahan tersebut 5.
Me-review logical data model dengan User Bertujuan untuk menjamin bahwa pengguna mempertimbangkan model data logikal menjadi representasi yang sebenarnya dari kebutuhan data perusahaan.
6.
Menggabungkan Logical Data Model ke dalam Global Model (optional) Bertujuan untuk merepresentasikan semua user views dari basisdata.
7.
Memeriksa untuk perkembangan lebih lanjut Bertujuan
untuk
menentukan
apakah
terdapat
perubahan
signifikan pada masa depan yang dapat diramalkan dan untuk menilai apakah model data logikal dapat mengakomodasi perubahan tersebut. Langkah 3
Membangun Physical Database Design perancangan fisik basisdata adalah proses membuat deskripsi dari implementasi basisdata pada secondary storage, mendeskripsikan relasi dasar, file organization, dan index yang digunakan untuk mendapatkan akses efisien pada data dan semua integrity constraint yang berhubungan dan security measures. Tujuannya adalah untuk memutuskan bagaimana struktur logikal diimplementasikan (sebagai relasi dasar) secara fisik dalam DBMS yang dipilih. Hal-hal yang perlu dilakukan untuk membangun logical data model adalah :
1.
Menerjemahkan logical data model untuk DBMS yang dipilih Bertujuan untuk menghasilkan relational database schema dari data model logikal yang dapat diimplementasikan dalam DBMS yang dipilih. 3 aktifitas ini : •
Merancang relasi – relasi dasar
•
Merancang Representasi untuk Data Turunan
•
Merancang General Constraint
29
Langkah 4
Membuat File Organization dan Indexes Bertujuan untuk menentukan file organisasi yang optimal untuk menyimpan relasi–relasi dasar dan indeks– indeks yang dibutuhkan untuk mencapai performansi yang dapat diterima, dengan begitu, relasi dan tuple akan disimpan pada secondary storage. Hal-hal yang perlu dilakukan untuk membangun Membuat File Organization dan Indexes adalah :
1.
Menganalisa Transaksi Bertujuan untuk mengerti fungsi dari transaksi yang akan diterapkan pada basisdata dan untuk menganalisa transaksi – transaksi yang penting.
2.
Memilih Organisasi file Bertujuan untuk menentukan organisasi file yang efisien untuk tiap relasi dasar.
3.
Memillih index – index Bertujuan
untuk
mempertimbangkan
apakah
dengan
menambahkan index akan meningkatkan performansi dari sistem. 4.
Memperkirakan kebutuhan disk space Bertujuan untuk memperkirakan jumlah disk space yang dibutuhkan oleh basisdata, dalam menyimpan data dan semua index – index nonclustered dasar dalam tabel yang tidak mempunyai clustered index maka kita dapat menggunakan beberapa langkah berikut : •
Menghitung space yang digunakan untuk menyimpan data
•
Menghitung space yang digunakan untuk menyimpan tiap indexindex nonclustered dasar.
• Langkah 5
Menjumlahkan nilai–nilai yang telah dikalkulasikan. Merancang user view Bertujuan
untuk
merancang
user
view
yang
diidentifikasikan selama pengumpulan kebutuhan dan tahap analisis dari system development lifecycle.
Langkah 6
Merancang mekanisme keamanan
30
Bertujuan untuk merancang mekanisme keamanan untuk basisdata seperti yang ditentukan oleh user pada waktu tahap pengumpulan kebutuhan dari system development lifecycle.
Mekanisme
kemanan
yang
dirancang
dalam
basisdata yaitu mekanisme keamanan sistem dan mekanisme keamanan data. Langkah 7
Mempertimbangkan pengenalan redudancy control Bertujuan untuk menentukan apakah pengenalan redundancy yang dikontrol dengan atura –aturan normalisasi akan meningkatkan performansi sistem.
Langkah 8
Mengawasi dan mengendalikan sistem operasional Bertujuan untuk mengawasi sistem operasional dan meningkatkan performansi dari sistem untuk memperbaiki keputusan perancangan yang tidak sesuai atau merefleksikan perubahan kebutuhan
2.2.3 Tools atau diagram yang digunakan 2.2.3.1 Data Flow Diagram Menurut Hall ( 2001 , p. 69 ), DFD yang juga disebut dengan Diagram Arus Data, adalah diagram yang menyajikan rangkaian simbol - simbol untuk mencerminkan proses, sumber-sumber data, arus data, dan entitas dalam sebuah sistem pada tingkatan rinci yang berbeda. DFD pertama kali diperkenalkan sebagai modeling tools Gane dan Sarson ( 1979 ) dengan menggunakan pendekatan metode analisis sistem terstrukstur (structured system analysis method). DFD juga dapat digunakan untuk merepresentasikan suatu sistem yang otomatis maupun manual dengan menggunakan gambar yang berbentuk jaringan grafik. Tingkatan Diagram Pada DFD : 1. Diagram Konteks
31
•
Merupakan level tertinggi pada DFD yang menggambarkan seluruh output atau input ke sistem
•
Memberikan gambaran tentang keseluruhan sistem
•
Terminal yang memberikan masukan kepada sistem disebut source, sedangkan yang menerima keluaran dari sistem disebut sink
•
Hanya ada satu proses didalam diagram konteks
•
Tidak boleh ada proses penyimpanan data (data store)
2. Diagram Nol •
Memperlihatkan proses penyimpanan data (data store) yang digunakan
•
Untuk proses yang tidak rinci lagi pada level selanjutnya, tambahkan tanda * pada akhir nomor proses
•
Keseimbangan antara input dan output pada diagram nol dan diagram konteks harus terpelihara
Simbol-simbol dalam DFD adalah : External entity atau terminal
Proses
Penyimpanan data atau data storage
32
Aliran data atau Data Flow
Tabel 2.1 Tabel Simbol DFD 2.2.3.2 Document FlowChart Document FlowChart digunakan untuk menggambarkan bagan alir dokumen suatu sistem. Menurut Anharku(2009, p. 1) Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Berikut ini adalah simbol – simbol standar beserta keterangannya untuk mengambarkan bagan alir dokumen :
33
34
35
Tabel 2.2 Tabel Simbol Document FlowChart
36
2.2.4 ER Modeling 1.
Entity Type Menurut Connolly dan Begg ( 2010 , p. 343 ), entity type adalah kelompok objek dengan properties yang sama, yang didefinisikan untuk perusahaan selama mempunyai keadaan yang independent. Entity type mempunyai keadaan yang independent dan dapat berupa objek – objek dengan keberadaan fisik atau objek – objek dengan keberadaan konseptual.
2.
Entity Occurrence Menurut Connolly dan Begg ( 2010 , p. 345 ), entity occurrence adalah objek dari entity type yang dapat diidentifikasi secara unik.
3.
Relationship Type Menurut Connolly dan Begg ( 2010 , p. 346 ), relationship type adalah sekelompok penyatuan yang memiliki arti antar entity types atau sekelompok penyatuan antara satu atau lebih participating entity type.
4.
Relationship Occurrence Menurut Connolly dan Begg ( 2010 , p. 346 ), relationship
occurrence
adalah
penyatuan
yang
dapat
diidentifikasikan secara unik, yang terdiri dari 1 occurrence dari tiap participating entity type. 5.
Atribut Menurut Connolly dan Begg ( 2010 , p. 350 ), atribut adalah property dari entitas atau relationship type. Atribut domain adalah sekumpulan nilai – nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan menjadi simple atau composite; single-valued atau multivalued; atau derived. Simple attribute adalah atribut yang terdiri dari komponen tunggal dengan keadaan independent. Sedangkan composite attribute adalah atribut yang terdiri dari beberapa komponen, dimana setiap komponen dengan keadaan independent.
37
Single-valued attribute adalah atribut yang memiliki nilai tunggal untuk setiap occurrence dari entity type. Sedangkan multi-valued attribute adalah atribut yang memiliki beberapa nilai untuk setiap occurrence dari entity type. Derived attribute adalah atribut yang merepresentasikan nilai yang diperoleh (derived) dari satu atau lebih atribut yang berhubungan. 6.
Key Menurut Connolly dan Begg ( 2010 , p. 352 ), candidate key adalah sekelompok atribut yang minimal dan secara unik mengidentifikasikan tiap occurrence dari entity type. Menurut Connolly dan Begg ( 2010 , p. 353 ), primary key adalah key yang dipilih untuk mengidentifikasikan secara unik tiap occurrence dari entity type. Menurut Connolly dan Begg ( 2010 , p. 353 ), composite key adalah candidate key yang terdiri dari dua atau lebih atribut.
7.
Structural constraint Tipe utama dari constraint dari relationship disebut multiplicity. Multiplicity adalah jumlah dari kejadian – kejadian yang mungkin dari sebuah tipe entitas yang terhubung pada kejadian tunggal dari tipe entitas yang berhubungan melalui relationship khusus.
2.2.5 Perancangan Web Database Menurut Eaglestone (2001, p. 262)pada bagian ini kita menggambarkan sebuah metode untuk merancang sistem web database. Sistem web database adalah sistem dimana dipadukannya teknologi web dan tekonologi database. Pertama yang harus kita lakukan adalah menggambarkan tahap desain database konvensional, namun terdapat dua hal yang harus ditambahkan, yaitu : 1.
Web Page Design, hal ini meliputi : •
Menampilkan web data (Web data representation) yaitu mengambil data dari database atau data yang di input user.
38
•
Kumpulan web data (Web data association) yaitu rancangan yang dibuat sedemikian rupa untuk digunakan sebagai petunjuk didalam maupun antara halaman web.
•
Desain web antarmuka (Web interface design) yaitu fitur-fitur yang ada dihalaman web, termasuk didalamnya penggunaan grafik dan animasi.
2.
Perancangan hubungan antara Web Pages dan database •
Web database logical mapping. Definisi antara mapping dengan data yang ditampilkan dalam halaman web dan data yang disimpan di dalam basis data.
•
Web database physical mapping. Merupakan implementasi dari mekanisme dimana data melewati halaman web dan database. Web database design method merupakan serangkaian model
yang menampilkan data yang disimpan kedalam halaman web dengan menambahkan data ke dalam database dengan tujuan untuk menyediakan cara yang sistematis untuk merancang data. Berikut ini merupakan gambar dari web database design method.
39
Gambar 2. 8 Contoh Web Database Design (Eaglestone and Ridley, 2001, p264) Tahapan-tahapan dalam web database design yaitu : 1. Requirement Analysis Merupakan proses mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang didukung oleh database yang terintegrasi dengan baik dan informasi ini digunakan untuk mengidentifikasi syarat-syarat untuk sistem baru. 2. Data Analysis Merupakan proses yang menggambarkan kegiatan organisasi yang dalam kaitannya dengan kejadian yang dapat di representasikan dan yang harus disimpan dalam database. 3. Web Data Analysis Merupakan proses mendefinisikan model konseptual dari informasi yang digambarkan didalam halaman web yang berasal dari database, Tujuan dari web data analysis adalah sebagai berikut : •
Untuk mapping antara informasi yang digambarkan di
halaman web dan disimpan ke dalam database. •
Untuk memeriksa valid atau tidaknya database.
•
Untuk
memverifikasi
kedetailan
suatu
design
dan
implementasi. •
Untuk menghindari kompleksitas suatu data.
4. Logical database design Merupakan proses untuk mentranslasikan atau mendefinisikan model data logikal dan mengimplementasikannya ke dalam model konseptual database. 5. Logical Web Database Design Merupakan proses untuk mendefinisikan struktur data dari halaman web yang aktual, termasuk link didalam suatu halaman web ke halaman yang lain.
40
6. Physical Database Design. Merupakan fase yang ada didalam proses design, dimana desainer dapat memutuskan bagaimana database dapat disimpan kedalam database management system (DBMS). 7. Physical Web Database design. Merupakan proses pengimplementasian halaman web dan menghubungkannya ke dalam database.
2.2.6 Pembelian Sebuah bisnis yang bergerak dibidang penyaluran barang di dalam proses bisnisnya pembelian barang merupakan sesuatu yang umum di lakukan. Pembelian menurut
Mulyadi (2008, p.
316)menyebutkan pembelian adalah serangkaian tindakan untuk mendapatkan barang dan jasa melalui pertukaran, dengan maksud digunakan sendiri atau dijual kembali. Pembelian adalah sebuah proses bisnis dalam memilih sumber daya dalam kuantitas tertentu, pemesanan dan perolehan barang atau jasa. Pembelian juga adalah suatu upaya dari pelaku usaha untuk menjamin persediaan barangnnya, agar proses penjualan terus dapat dilakukan.
2.2.7 Penjualan Menurut Reeve (2009, p. 255), p enjualan adalah total biay a y ang dibebankan
kep ada
customer
untuk
barang y ang diju al
termasuk p enjualan tunai maupun penjualan kredit. Menurut Mulyadi (2008, p. 248), penjualan barang dan jasa dapat di golongkan menjadi dua, yaitu: 1)
Penjualan Tunai Penjualan
tunai
mewajibkan
pembeli
melakukan
pembayaran sesuai dengan harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli oleh perusahaan. Setelah pembayaran dilakukan, barang diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan.
41
2)
Penjualan Kredit Penjualan kredit memberi kesempatan kepada para pembeli membelanjakan penghasilan yang akan diterima mereka di masa yang akan datang. Dalam sistem penjualan kredit, perusahaan menyeleksi pelanggan yang secara keuangan dapat diberi hak untuk melakukan pembelian secara kredit kepada perusahaan. Pembelian yang dlakukan oleh pelanggan selama jangka waktu tertentu dicatat sebagai piutang. Pada waktu yang ditentukan bagi pelanggan untuk membayar, perusahaan akan menagih kepada pelanggan yang bersangkutan secara kredit dapat menanamkan kesetiaan pelanggan terhadap perusahaan.
2.2.8 Persediaan Menurut Reeve (2005, p. 355)persediaan
digun akan
untuk
menunjukkan (1) barang dagangan yang dimiliki untuk dijual dalam kegiatan usaha normal. (2) Bah an dalam p roses produksi atau y ang dimiliki bagian p roduksi. Menurut Mulyadi (2008, p. 556), persediaan adalah bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Menurut Render (2010, p. 314) terdapat empat jenis persediaan: 1) Persediaan bahan mentah Bahan mentah telah dibeli, namun belum diproses. 2) Persediaan barang dalam proses Barang telah mengalami beberapa perubahan, tetapi belum selesai. 3) Persediaan MRO (Maintenance Repair Orientation) Persediaan yang dikhususkan untuk perlengkapan pemeliharaan atau perbaikan atau operasi. 4) Persediaan barang jadi Barang sudah selesai dan menunggu untuk dikirimkan, barang jadi dimasukkan ke dalam persediaan karena permintaan konsumen untuk jangka waktu tertentu yang mungkin tidak diketahui.