BAB 2 TINJAUAN PUSTAKA 2.1. Teori Yang Berkaitan Dengan Basis Data Pada pembahasan berikut ini akan dibahas teori-teori yang terkait dengan perancangan basis data yang akan dilakukan.
2.1.1. Introduction toDatabases Pembahasan ini akan dibahas tentang beberapa komponen dasar yang berkaitan dengan basis data.
2.1.1.1. Database Connolly, T. & Begg, C. (2014: 63), database adalah sekumpulan data yang terhubung secara logikal dan deskripsi dari data tersebut dapat dirancang untuk menghasilkan informasi yang dibutuhkan oleh organisasi.
2.1.1.2. Information System Connolly, T. & Begg, C. (2014: 346), information system adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan, dan menyebarkan informasi ke seluruh organisasi.
2.1.1.3. Database System Connolly, T.&Begg, C. (2014: 52), database system adalah kumpulan dari program aplikasi yang berinteraksi dengan basis data dengan database management system dan database itu sendiri.
2.1.1.4. DBMS (Database Management System) Connolly, T. & Begg, C. (2014: 64), database management system adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses terhadap basis data.
1
Pada umumnya, DBMS menyediakan fasilitas-fasilitas berikut: 1.
DDL (Data Definition Language)
7
Memungkinkan pengguna untuk menspesifikasi tipe-tipe data, struktur , dan constraint data yang akan disimpan dalam basis data. 2.
DML(Data Manipulation Language) Memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari basis data.
3.
DBMS juga menyediakan akses kontrol basis data berikut: a.
A Security System Menghindari pengguna yang tidak memiliki hak untuk mengakses basis data.
b.
An Integrity System Memelihara konsistensi dari penyimpanan data.
c.
A ConcurrencyControl System Memungkinkan akses berbagi terhadap basis data.
d.
A Recovery Control System Mengembalikan basis data pada keadaan sebelumnya yang konsisten saat terjadi kegagalan pada perangkat keras atau perangkat lunak.
e.
A User-Accessible Catalog Berisi tentang deskripsi data dalam basis data.
Connolly, T. &Begg, C. (2014: 66), DBMS memiliki lima komponen utama yaitu: 1.
Hardware Perangkat keras atau hardware diperlukan dalam menjalankan suatu aplikasi dan DBMS, dimana hardware dapat berupa a single personal computer,
single
mainframe, dan jaringan komputer berupa server. Hardware yang digunakan harus sesuai dengan kebutuhan perusahaan dan DBMS yang digunakan. 2.
Software
2
Komponen- komponen software terdiri dari DBMS software itu sendiri maupun program aplikasi, sistem operasi, dan juga software jaringan jika DBMS tersebut menggunakan jaringan seperti LAN. 3.
Data Data merupakan salah satu komponen DBMS yang terpenting khususnya sudut padang end-users mengenai data yang nantinya akan diolah didalam DBMS. Data pada sebuah sistem basis data baik single-users sistem maupun multi-users sistem harus saling berintegrasi secara bersamaan.
4.
Procedures Prosedur merupakan instruksi dan aturan yang mengatur dalam perancangan dan penggunaan database, penggunaan system, dan para
staff
yang mengatur
kebutuhan basis data. Berikut beberapa instruksi prosedur: a.
Bagaimana cara memasuki DBMS?
b.
Bagaimana menggunakan fasilitas DBMS dan program aplikasi tertentu?
c.
Bagaimana memulai dan mengakhiri DBMS?
d.
Bagaimana membuat salinan dari database?
e.
Bagaimana mengatasi kesalahan (error) dari hardware dan software?
f.
Bagaimana mengubah struktur table, mengorganisasi ulang redudansi data dan penyimpanan data pada second storage?
5.
People Pada komponen ini pengguna terlibat langsung dengan sistem, seperti DatabaseAdministrator (DBA), programmer, dan pengguna akhir (End-Users). Database dan DBMS memerlukan sumber daya manusia agar dapat mengatur jalannya mekanisme databasedan DBMS. Ada 4 kategori pengguna dalam sebuah sistem basis data yaitu : a.
Data Administrator (DA) dan Database Administrator (DBA) Ada duaadministrator dalam database yaitu Data Administrator (DA) dan Database Administrator (DBA).Data administrator bertanggung jawab untuk mengatur sumber daya data meliputi perencanaan basis data, pengembangan dan pemeliharaan standar, kebijakan dan prosedur, dan 3
desain
database konseptual/logikal. Database administrator merupakan
orang
yang
bertanggung
jawab
untuk
mendesain,
implementasi,
pemeliharaan, dan perbaikan database. b.
Database Designer Database designer terdiri dari dua tipe yaitu : 1)
Logical Database Designer Merupakan
perancangan
yang
lebih
menekankan
dalam
mengindentifikasi data, hubungan antara data, dan batasan-batasan data sebelum dimasukan ke dalam database. 2)
Physical Database Designer Merupakanperancangan
ini
memutuskan
bagaimana
desain
database logikal dapat direalisaikan secara fisik. c.
Application Developers Application developers merupakan orang yang bertanggung jawab untuk membuatkan suatu aplikasi database yang harus dilaksanakan oleh endusers. Aplikasi
database tersebut menggunakan bahasa pemrograman
seperti C++ , C#, Java, dan sebagainya. d.
End Users End-usersmerupakan pengguna akhir dari basis data
dan memperoleh
informasi dengan cara mengakses basis data. End-users terdiri dari dua tipe yaitu : 1)
Naive Users Merupakan user yang biasanya dilewati begitu saja dari DBMS. Mereka mengakses database melalui program aplikasi yang ditulis khusus yang berusaha untuk membuat operasi sesederhana mungkin.
2)
Sophisticated Users Merupakan user di ujung lain dari spektrum, end-users canggih akrab dengan struktur database dan fasilitas yang ditawarkan oleh DBMS.
4
Connolly, T. & Begg, C. (2014: 97), DBMS memiliki beberapa fungsi sebagai berikut : 1.
Data Storage, Retrieval, andUpdate DBMS harus memiliki kemampuan untuk menyimpan, mengambil, dan mengubah data dalam database. Ini merupakan fungsi fundamental dalam DBMS.
2.
A User-Accessible Catalog DBMS harus mempunyai katalog yang dimana mendekripsikan item data yang disimpan dan diakses oleh pengguna. Sistem katalog dapat menyimpan data tentang skema,
user, aplikasi, dan sebagainya. Sistem katalog dapat disebut
sebagai kamus data yang berarti kumpulan informasi atau deskripsi data dalam database yang dikenal dengan namametadata. Katalog menyimpan data sebagai berikut : a.
Nama, jenis, dan ukuran data.
b.
Nama relationship.
c.
Batasan integritas ada data.
d.
Nama pengguna yang berotoritas yang mempunyai akses pada data.
e.
Skema eksternal, konseptual, internal, dan pemetaan antara skema.
f.
Pengguna statistik, seperti frekuensi dan perhitungan sejumlah akses yang dibuat pada objek dalam basis data.
3.
Transaction Support DBMS harus yakin bahwa setiap mekanisme transaksi dapat di update.Transaksi merupakan sekumpulan aksi yang dilakukan oleh pengguna atau program aplikasi yang dapat mengakses dan mengubah isi dari database.
4.
Concurrency Control Services DBMS harus dapat memastikan bahwa setiap mekanisme database di update secara benar ketika terdapat beberapa pengguna melakukan perubahan database. Salah satu objektif dalam menggunakan DBMS adalah memungkinkan banyak pengguna untuk mengakses data.Akses konkurensi relatif mudah apabila semua pengguna hanya membaca database.
5.
Recovery Services
5
DBMS harus memiliki pemulihan database apabila terdapat kejadian database rusak dalam berbagai kondisi. DBMS harus dapat menyediakan mekanisme untuk mengembalikan database ke keadaan yang konsisten. 6.
Authorization Services DBMS harus memastikan bahwa hanya orang yang berwenang saja yang dapat mengakses database.
7.
Support for Data Communication DBMS harus dapat mendukung integrasi dan berkomunikasi dengan software lainnya.
8.
Integrity Services DBMS harus dapat memberikan sarana untuk memastikan kedua data dalam database dan perubahan pada data berdasarkan aturan tertentu. Ini dapat dijadikan pertimbangan untuk tipe lainya dari sistem proteksi database.
9.
Services to Promote Data Independence DBMS mempunyai fasilitas untuk mendukung kemandirian program dari struktur database yang sebenarnya.
10.
Utility Services DBMS harus menyediakan kumpulan layanan utilitas.Program utilitas dapat membantu untuk membuat database menjadi lebih efisien. Contoh kegiatan utilitas adalah : a.
Import fasilitas, load database dari file flat, dan eksport fasilitas serta tidak load database dari file flat.
b.
Memantau fasilitas, memantau penggunaan database, dan operasi.
c.
Analisis statistik program, mengevaluasi performa dari statistik penggunaan database, dan operasi.
d.
Fasilitas index organisasi, untuk mengatur kembali index, dan overflows.
e.
Alokasi dan relokasi, menghapus physical record dari tempat penyimpanan.
Connolly, T. & Begg, C. (2014: 90), DDL (Data Definition Language) merupakan suatu bahasa yang memperbolehkan seorang DBA untuk mendeskripsikan dan
6
memberi nama suatu entitas, atribut, dan relasi data yang diperlukan oleh aplikasi, bersama dengan integritas dan batasan keamanan datanya. Perintah-perintah DDL yang digunakan diantaranya : 1.
Create Table, digunakan untuk membuat tabel dengan mengidentifikasikan tipe data untuk setiap kolom.
2.
Alter Table, digunakan untuk menambah atau membuang kolom dari konstrain.
3.
Drop Table, digunakan untuk membuang atau menghapus tabel berserta semua data yang terkait didalamnya.
4.
Create Index, digunakan untuk membuat index pada suatu tabel.
5.
Drop Index, digunakan untuk membuang atau menghapus index yang telah dibuat sebelumnya. Connolly, T. & Begg, C. (2014: 90), DML (Data Manipulation Language)
merupakan bahasa yang menyediakan satu set operasi untuk mendukung pengoperasian manipulasi data dasar pada basis data. Pengoperasian data yang akan dimanipulasi pada umumnya meliputi : 1.
Penambahan data baru ke dalam basis data.
2.
Modifikasi data yang disimpan dalam basis data.
3.
Pengembalian data yang terdapat dalam basis data.
4.
Penghapusan data dari basis data.
Perintah-perintah yang ada pada DML diantaranya: 1.
Select, digunakan untuk menampilkan sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel.
2.
Update, digunakan untuk mengubah isi satu atau beberapa atribut dari suatu tabel.
3.
Insert, digunakan untuk menambah satu atau beberapa baris nilai baru ke dalam suatu tabel.
4.
Delete, digunakan untuk menghapus sebagian atau seluruh isi dari suatu tabel.
Connolly, T. & Begg, C. (2014: 75), keuntungan DBMS yaitu : 1.
Mengatur Redudansi Data 7
Salah satu keuntungan menggunaan basis data adalah mengurangi redudansi data atau tingkat duplikasi data. Dengan menggunakan DBMS, tingkat redudansi data dapat diminimalisir sehingga dapat menghemat memori pada media penyimpanan fisikal. 2.
Konsistensi Data Dengan mengurangi tingkat redudansi maka bepengaruh pada tingkat konsistensi data.Semakin sedikit tingkat redudansi data maka semakin akurat juga tingkat konsistensi dari data yang terdapat dalam basis data.
3.
Penggunaan Data Bersama Basis data yang terintegrasi memungkinkan organisasi untuk mengakses data secara bersamaan sehingga mempercepat dalam penyampaian informasi karena mengakses sumber data yang sama. Biasanya data hanya dimiliki oleh bagian atau departemen tertentu saja dalam suatu organisasi, tetapi dengan DBMS hanya dengan memiliki hak akses saja seseorang dapat mengetahui data yang diperlukan tanpa harus meminta datanya kepada bagian atau departemen tertentu.
4.
Integritas Data Dengan adanya constraint atau batasan dari data yang ada dalam basis data, maka tingkat integritas dari data yang berada di dalam basis data lebih terjamin integritasnya.
5.
Meningkatkan Keamanan Dalam DBMS, terdapat fasilitas yang mengatur akses misalnya otorisasi untuk mengakses, menambah, mengubah, dan menghapus. Dengan demikian setiap pengguna DBMS tidak dapat melakkukan sesuatu yang bukan menjadi haknya.
6.
Meningkatkan Standarisasi Agar memudahkan pengguna dalam mengoperasikan DBMS, maka perlu dibuat sebuah standar dan dokumentasi yang jelas. Standarisasi yang dibuat sepert bentuk format data untuk pertukaran data, ketentuan penamaan, standar dokumentasi, prosedur pembaharuan, dan pengaturan akses.
7.
Skala Ekonomi 8
Menggabungkan semua data operasional ke dalam sebuah basis data dan membuat beberapa aplikasi yang mengakses satu sumber data dapat mengurangi jumlah pengeluaran organisasi yang akhirnya dapat meningkatkan skala ekonomi. 8.
Keseimbangan Konflik Kebutuhan Pengguna atau suatu bagian dalam organisasi mungkin memiliki kebutuhan yang tidak sama dengan kebutuhan pengguna lainnya. Dengan adanya DBMS memungkinkan
dibuatnya
keputusan
mengenai
desain
dan
penggunaan
operasional basis data secara keseluruhan. 9.
Meningkatkan Akses Data dan Tanggapan Untuk mendapatkan informasi tertentu dari basis data tidak perlu staf ahli untuk membuat
perangkat
lunak
yang
bertujuan
membaca
informasi
yang
dinginkan.Pengguna dapat mengakses langsung ke basis data hanya dengan menuliskan perintah menggunakan bahasa SQL (Structured Query Language). 10.
Meningkatkan Produktifitas DBMS menyediakan banyak fungsi-fungsi standar yang memungkinkan seorang programmer
dapat menuliskan fungsi tersebut dalam suatu instruksi pada
program aplikasi. Pada tingkatan utama, DBMS menyediakan rutinitas untuk mengendalikan fungsi-fungsi yang membuat seorang pembuat program untuk berkonsentrasi pada fungsi yang lebih spesifik yang dibutuhkan oleh pengguna tanpa harus mengkhawatirkan implementasi pada tingkatan yang lebih rendah.Banyak DBMS yang memberikan lingkungan generasi ke empat yang berisi alat-alat untuk menyederhanakan pengembangan dari aplikasi basis data. Hal ini meningkatkan produktifitas
programmer
dan mengurangi waktu
pengembangan serta penghematan biaya. 11.
Meningkatkan Pemeliharaan DBMS memisahkan deskripsi data dari aplikasi sehingga perubahan yang terjadi pada deskripsi data tidak akan mengubah aplikasi yang telah dibuat. Hal ini dikenal dengan istilah independensi data.
12.
Meningkatkan Concurrency Data Penggunaan DBMS memungkinkan banyak pengguna untuk mengakses basis data secara bersamaan. DBMS mengatur akses data yang dilakukan secara bersamaan 9
dari banyak pengguna yang berbeda agar data yang ditampilkan tetap konsisten dan memiliki integritas ke setiap pengguna yang sedang melakukan akses ke basis data. 13.
Meningkatkan Fungsi Backup dan Recovery Data DBMS meyediakan fasilitas untuk mengurangi kegagalan sistem atau aplikasi program, yaitu fasilitas backup dan restore. Fasilitas ini sangat bermanfaat untuk menjaga isi dari basis data jikalau terjadi kesalahan sistem, kerusakan perangkat keras, dan kerusakan perangkat lunak yang menyebabkan DBMS berhenti beroperasi.
Connolly, T. & Begg, C. (2014: 78), kerugian DBMS yaitu : 1.
Kompleksitas Ketentuan fungsionalitas yang kita harapkan dari sebuah DBMS yang baik membuat DBMS seolah-olah seperti sepotong bagian yang ekstrim dan rumit dari sebuah perangkat lunak.
2.
Ukuran Kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi
software
yang sangatbesar dan membutuhkan ruang disk serta memori substansial untuk menjalankannya secara efesien. 3.
Biaya Tambahan untuk Hardware Untuk mencapai performa yang dibutuhkan, sangat diperlukan membeli mesin besar, mesin yang didedikasikan untuk menjalankan DBMS.
4.
Dampak yang Besar dari Sebuah Kesalahan Sentralisasi sumber daya menambah kerentanan sistem.Setelah semua pengguna dan aplikasi bergantung pada ketersediaan dari DBMS, kesalahan komponen tertentu dapat menyebabkan operasi berhenti.
10
2.1.1.5. Application Program Connolly, T. & Begg, C. (2014: 65), application program adalah sebuah program komputer yang berinteraksi dengan basis data dengan menghasilkan permintaan yang sesuai (biasanya perintah SQL) kepada DBMS.
2.1.2. Relational Model Pembahasan ini akan dibahas tentang terminologi dan konsep struktural dasar dalam model relasional.
2.1.2.1. Relational Data Structure Connolly, T. & Begg, C. (2014: 152), relational data structure terdiri atas: 1.
Relation Sebuah tabel dengan baris-baris dan kolom-kolom.
2.
Attribute Nama kolom dari sebuah relation.
3.
Domain Sekumpulan nilai-nilai yang diperbolehkan untuk satu atau lebih attributes.
4.
Tuple Baris dari sebuah relation.
5.
Degree Jumlah attributes yang berada dalam sebuah relation.
6.
Cardinality Jumlah tuples yang berada dalam sebuah relation.
7.
Relational Database Sekumpulan hubungan normalisasi dengan nama relasi yang berbeda.
2.1.2.2. Relational Keys Connolly, T. & Begg, C. (2014: 158), relational keys terdiri atas: 1.
Super Key
11
Sebuah atau sekumpulan attributes yang secara unik mengidentifikasikan sebuah tuples dalam sebuah relation. 2.
Candidate Key Sebuah superkey yang bukan merupakan bagian dari superkey dalam relation.
3.
Primary Key Candidatekey yang dipilih untuk mengidentifikasikan tuples secara unik dalam relation.
4.
Foreign Key Sebuah atau kumpulan attributes dalam sebuah relation yang cocok dengan candidatekey dari beberapa relation.
2.1.2.3. Integrity Constraint Connolly, T. & Begg, C. (2014: 161), integrity constraint terdiri atas: 1.
Null Menyatakan sebuah nilai untuk sebuah attributes yang tidak diketahui atau tidak digunakan dalam tuples.
2.
EntityIntegrity Attributesprimarykey tidak boleh null dalam relasi dasar.
3.
ReferentialIntegrity Jika
terdapat
foreignkeydalam
suatu
relasi,
maka
nilai
foreignkeyakan
dibandingkan dengan nilai candidatekey dari beberapa tuples relasi itu sendiri atau nilai foreignkey harus null seluruhnya. 4.
GeneralConstraint Aturan
tambahanyang
ditentukan
olehpenggunabasis
data
yang
mendefinisikanataumembatasibeberapa aspekdari perusahaan.
2.1.3.
DSDLC(Database System Development Lifecylce) Connolly, T. & Begg, C. (2014: 347), database system development lifecycle secara
inheren terkait dengan siklus hidup sistem informasi. Harus mengenali bahwa tahapan database system development lifecycle tidak selalu berurutan, tetapi melibatkan beberapa
12
jumlah pengulangan tahap sebelumnya melalui loop-feedback.Contohnya masalah yang dihadapi pada database design mungkin memerlukan analisis dan persyaratan tambahan.
Gambar 2.1Database System Development Lifecycle
2.1.3.1. Database Planning Connolly, T. & Begg, C. (2014: 347), database planning adalah kegiatan-kegiatan manajemen yang memungkinkan tahapan-tahapan dalam siklus hidup pengembangan basis 13
data dapat direalisasikan seefektif dan seefisien mungkin. Perencanaan basis data harus dapat di integrasikan dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat tiga isu utama yang dilibatkan dalam merumuskan sebuah strategi sistem informasi yaitu: 1.
Identifikasi dari rencana dan tujuan perusahaan dengan menentukan kelanjutan kebutuhan sistem informasi yang diperlukan.
2.
Mengevaluasi sistem informasi yang ada saat ini untuk menentukan kekuatankekuatan dan kelemahan-kelemahan yang ada saat ini.
3.
Penilaian terhadap peluang teknologi informasi yang dapat menghasilkan keuntungan yang kompetitif.
Berikut terdapat dua langkah penting dalam perencanaan basis data: 1.
Mission Statement Mendefinisikan tujuan utama dari sistem basis data, membantu menjelaskan tujuan dari basis data, dan menyediakan arah yang lebih jelas terhadap sistem basis data yang efektif dan efisien.
2.
Mission Objective Mengidentifikasikan tugas-tugas khusus yang harus mendukung sistem basis data.
2.1.3.2. System Definition Connolly, T. & Begg, C. (2014: 350), system definition menjelaskan ruang lingkup dan batasan dari aplikasi basis data dan pandangan dari pengguna utama. Sebelum merancang sistem basis data, penting untuk mengidentifikasi batasan dari sistem yang akan dibangun dan bagaimana tampilannya dapat berinteraksi dengan bagian lain dari sistem informasi organisasi. Penentuan batasan dari sistem tidak hanya dari pengguna dan aplikasi saat ini, tetapi juga pengguna dan aplikasi untuk masa mendatang.
2.1.3.3. Requirement Collection and Analysis Connolly, T. & Begg, C. (2014: 350),
requirement collection and analysis
merupakan proses mengumpulkan dan menganalisis informasi tentang bagian dari
14
organisasi yang harus didukung oleh sistem database, dan menggunakan informasi ini untuk mengidentifikasi persyaratan untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna yaitu : 1.
The Centralized Approach Connolly, T. & Begg, C. (2014: 352), the centralized approach kebutuhan untuk tiap pandangan pengguna disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks.
2.
The View Integration Approach Connolly, T. & Begg, C. (2014: 352), the view integration approach kebutuhan untuk tiap pandangan pengguna digunakan untuk membangun sebuah model data terpisah yang merepresentasikan tiap pandangan. Hasil dari data-data model tersebut kemudian disatukan dibagian perancangan basis data.
3.
A Combination of Both Approaches Connolly, T. & Begg, C. (2014: 352), a combination of both approaches adalah kombinasi keduanya.
Connolly, T. & Begg, C. (2014: 378), dalam mengumpulkan data terdapat banyak teknik untuk mengumpulkan informasi. Teknik - teknik ini yang disebut fact-finding techniques. Teknik fact-finding diantaranya : 1.
Examining Documentation Examining documentation berguna untuk memperoleh wawasan mengenai kebutuhan organisasi terhadap basis data, mengidentifikasi bagian dari organisasi yang terkait dengan masalah, dan memahami sistem yang sedang berjalan.
2.
Interviewing Interview adalah teknik fact-finding yang paling populer dan umum digunakan. Teknik ini memungkinkan pengumpulan informasi secara tatap muka.
3.
Observing the Enterprise in Operation Observing the enterprise in operation adalah teknik yang mudah digunakan untuk mengumpulkan data terhadap pertanyaan dan sesuai dengan kebutuhan sistem 15
berdasarkan keterangan pengguna. 4.
Research Research adalah teknik yang digunakan untuk mengkaji masalah. Riset dapat menggunakan informasi terkini seperti internet, buku, dan buku referensi.
5.
Questionnaires Questionnaires adalah teknik pengumpulan data dan informasi yang bisa didapatkan secara cepat dari banyak responden yang dikelola dengan beberapa kontrol melalui pemberian pertanyaan.Ada
dua tipe pertanyaan yaitu format
bebas dan format terikat.
2.1.3.4. Database Design Connolly, T. & Begg, C. (2014: 354), database design merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan tujuan suatu perusahaan. Ada dua pendekatan untuk mendesain sebuah basis data yaitu : 1.
Bottom-Up Approaches Bottom-up approaches dimulai pada tingkat awal dari atribut (properti dari entitas dan
relationship), melalui analisis dari asosiasi antar atribut, dikelompokkan
menjadi hubungan yang merepresentasikan jenis-jenis entitas dan hubungan antar entitas. Pendekatan ini cocok untuk mendesain basis data yang sederhana dengan jumlah atribut yang tidak banyak. 2.
Top-Down Approaches Top-down approaches digunakan pada basis data yang lebih kompleks. Dimulai dengan pengembangan dari model data yang mengandung beberapa entitas dan hubungan tingkat tinggi, kemudian menggunakan perbaikan top-down berturutturut untuk mengidentifikasikan entitas, hubungan dan atribut berkaitan tingkat rendah. Pendekatan ini biasanya digambarkan melalui ER(Entity Relationship).
Connolly, T. & Begg, C. (2014: 504), design methodologyadalah sebuah pendekatan terstruktur yang menggunakan bantuan prosedur, teknik, alat, dan dokumentasi
16
untuk mendukung dan memfasilitasi proses perancangan. Terdapat tiga fase dalam perancangan basis data yaitu: 1.
Conceptual Database Design Connolly, T. & Begg, C. (2014: 505), conceptual database design adalahproses membangun
sebuah
model
data
konseptual
dari
kebutuhan
data
perusahaan.Terdapat beberapa langkah dalam membangun model konseptualyaitu: a.
Mengidentifikasi Tipe-TipeEntity Tujuannyauntuk mengidentifikasi tipe entitas yang diperlukan.
b.
Mengidentifikasi Tipe-TipeRelationship Tujuannyauntuk mengidentifikasi hubungan-hubungan penting yang ada antaratipe-tipe entitas.
c.
Mengidentifikasi dan Mengasosiasikan Atribut-Atribut dengan TipeTipeEntityatau Relationship Tujuannya untukmenghubungkan atribut-atribut dengan tipe entitas atau relationship.
d.
Menentukan Domain Atribut Tujuannya
untukmenentukandomainbagiatribut-atributdalam
model
datakonseptual. e.
Menentukan Atribut-Atribut Candidate Key, Primary Key, dan Alternate Key Tujuannyauntuk mengidentifikasikan candidate key untuk setiap tipe entitas dan jika terdapat lebih dari satu candidate key, memilih salah satu sebagai primary key dan sisanya sebagai alternate key.
f.
Mempertimbangkan Penggunaan Enhanced Modeling Concept (Optional) Tujuannya untuk mempertimbangkan penggunaan konsep enhanced modeling,
seperti
specialization/generalization,
aggregation,
dan
composition. g.
Memeriksa Model untuk Redudansi Tujuannya untuk memeriksa redundasi yang muncul dalam model.
h.
Memvalidasi Model Konseptual Terhadap Transaksi-TransaksiPengguna. 17
Tujuannya
untukmemastikanmodelkonseptualmendukungtransaksi
yangdibutuhkan. i.
Meninjau Kembali Model Data Konseptual denganPengguna Tujuannya untukmeninjau kembali model data konseptual dengan pengguna untuk memastikan bahwa model tersebut merupakan representasi dari keperluan data perusahaan.
2.
Logical Database Design Connolly, T. & Begg, C. (2014: 505), logical database design adalah proses menerjemahkan model data konseptual ke dalam model data logikal dan memvalidasi model ini untuk mengecek bahwa bentuk strukturalnya sudah benar, serta mampu mendukung transaksi yang diperlukan. Terdapat beberapa langkah dalam membangun dan memvalidasi model konseptualyaitu: a.
Menurunkan Relasi untuk Model Data Logikal Tujuannya untuk menciptakan hubungan untuk model data logikal yang mewakili entitas, relasi, dan atribut yang telah diidentifikasi.
b.
Memvalidasi Relasi dengan Menggunakan Normalisasi Tujuannya untuk memvalidasi hubungan dalam model data logikal menggunakan normalisasi.
Connolly, T. & Begg, C. (2014: 452), normalizationadalah sebuah teknikuntuk menghasilkan sekumpulan relasi dengan properti yang diinginkan yang memberikan data yang diperlukan bagi perusahaan. Tujuan dari normalisasi yaitu untuk memastikan bahwa kumpulan dari relasi-relasi memliki jumlah atribut yang cukup untuk mendukung keperluan data perusahaan.Selain itu, relasi-relasi harus memiliki data redundasi yang minimal agar dapat menghindari masalah update anomalies.Update anomalies yaitu kondisi ketika relasi mengandung data yang berulang.
18
Connolly, T. & Begg, C. (2014: 452), the purpose of normalization adalah untuk mengidentifikasi satu set hubungan yang cocok untuk mendukung data perusahaan. Tujuan lainnya yaitu : 1.
Mengidentifikasi hubungan antar atribut.
2.
Mengkombinasikan atribut untuk membentuk relasi.
3.
Mengkombinasikan relasi untuk membentuk database.
4.
Menghindari anomali.
Connolly, T. & Begg, C. (2014: 464), the process of normalization secara umum terbagi atas empat proses yaitu: 1.
Unnormalized Form (UNF) Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang ada dalam suatu form yang ingin kita normalisasi.
2.
First Normal Form (1NF) Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang berulang (repeating group), field hasil perhitungan dihilangkan dan sudah mempunyai primary key.
3.
Second Normal Form (2NF) Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap atribut non key bergantung fungsional penuh kepada primary
key.
Jadi
pada
2NF
kita
akan
menghilangkan
ketergantungan sebagian / partial : ketergantungan field-field tertentu hanya kepada salah satu key yang composit. 4.
Third Normal Form (3NF) Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan tidak ada atribut non key yang tergantung fungsional kepada atribut non key yang lainnya ( transitive dependency ).
c.
Me mvalidasi Relasi dengan User Transaction 19
Tujuannya dari langkah ini yaitu memastikan bahwa relasi-relasi yang berada dalam model data logikal sudah mendukung transaksi yang diperlukan. d.
Memeriksa Integrity Constraints Tujuannya untuk memeriksa integrity constraints yang direpresentasikan dalam model data logikal.
e.
Memeriksa Kembali Model Data Logikal dengan Pengguna Tujuannyauntuk memeriksa ulang model data logikal dengan pengguna untuk memastikan bahwa mereka sudah mempertimbangkan model dengan benar dari data yang diperlukan dalam perusahaan.
f.
Menggabungkan Model Data Logikal ke Dalam Model Global (Optional) Tujuannya untuk menggabungkan model data logikal lokal ke dalam model data logikal global tunggal untuk merepresentasikan semua pandangan pengguna terhadap basis data.
g. Mempertimbangkan Perkembangan Di masa Depan Tujuannya dari langkah ini yaitu menentukan segala perubahan signifikan yang mungkin terjadi pada masa depan dan menaksirkan kemungkinan untuk menangani perubah tersebut.
3.
Physical Database Design Connolly, T. & Begg, C. (2014: 505),physical database designadalah proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder, mendeskripsikan hubungan dasar, files organization, indeks yang digunakan untuk mencapai akses yang efisien terhadap data, integrityconstraints, dan juga pengukuran keamanan. Terdapat beberapa tahapan dalam peracangan basis data fisikalyaitu: a.
Menerjemahkan Model Data Logikal untuk DBMS yang Digunakan Tujuannya untuk menghasilkan sebuah skema basis data relasional dari model data logis yang dapat diimplementasikan dalam DBMS yang dipilih.
b.
Merancang File Organizations dan Indexes tujuannya untuk menentukan file organizations yang optimal untuk 20
menyimpan relasi-relasi dasar dan index yang diperlukan. c.
Merancang User Views Tujuannya
untuk
merancang
pandangan
pengguna
yang
telah
diidentifikasikan selama tahap requirements collection and analysisdari databasesystem development lifecyle. d.
Merancang Mekanisme Keamanan Tujuannya untuk merancang mekanisme keamaman untuk basis data yang ditentukan oleh pengguna selama tahap requirements and collection dari database system development lifecyle.
e.
Mempertimbangkan Pengenalan Redundansi Terkontrol Tujuannyauntuk menentukan apakah memperkenalkan redundasi dengan cara terkontrol dan mengendurkan aturan normalisasi akan meningkatkan kinerja sistem.
f.
Mengawasi dan Mengendalikan Sistem Operasional Tujuannya untuk mengawasi sistem operasional dan meningkatkan performa dari sistem untuk membenarkan keputusan desain yang tidak tepat atau perubahan kebutuhan.
2.1.3.5. DBMS Selection Connolly, T. & Begg, C. (2014: 359), DBMS selection yang sesuai untuk mendukung aplikasi basis data mencakup : 1.
Mendefinisikan Syarat-Syarat Referensi Studi. Menentukan tujuan, batasan masalah dan tugas yang harus dilakukan.
2.
Mendaftar Dua atau Tiga Jenis Produk Membuat daftar barang-barang, misalnya darimana barang didapat, berapa biayanya, serta bagaimana bila ingin mendapatkannya.
3.
Mengevaluasikan Produk. Barang-barang yang ada dalam barang diteliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut.
4.
Merekomendasikan Pilihan dan Membuat Laporan. 21
Langkah terakhir dari DBMS, yaitu mendokumentasikan proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBMS.
2.1.3.6. Application Design Connolly, T. & Begg, C. (2014: 363), application design merupakan desain user interface dan program aplikasi yang digunakan untuk memproses database. Application design dibagi menjadi dua aspek yaitu : 1.
Transaction Design Connolly, T. & Begg, C. (2014: 364), transaction design adalah suatu tindakan, atau serangkaian tindakan yang dilakukan oleh single-users atau program aplikasi, yang mengakses atau merubah isi database. Ada tiga tipe transaksi yaitu : a.
Retrieval Transactions Retrieval transactions digunakan dalam mengambil data untuk ditampilkan pada layar atau dalam menghasilkan suatu laporan.
b.
Update Transactions Update transactions digunakan untuk memasukan catatan baru, menghapus catatan lama, atau memodifikasi catatan yang ada dalam database.
c.
Mixed Transactions Mixed transactions saling bergantungan terhadap retrieval dan updating data. (misalnya, operasi untuk mencari dan menampilkan rincian properti).
2.
User Interface Connolly, T. & Begg, C. (2014: 365), sebelum mengimplementasikan laporan, terdapat beberapa susunan dalam mendesain user interface : a.
Meaningful Title Informasi yang disampaikan oleh judul harus jelas dan mengidentifikasikan dengan jelas tujuan dari form / report.
b.
Comprehensible Instructions Instruksi harus singkat dan ketika informasi tambahan dibutuhkan, maka harus ada help screen.Instruksi harus ditulis dengan baik sesuai dengan 22
standar format yang ada. c.
Logical Grouping and Sequencing of Fields, Fields yang dihubungkan ditempatkan pada form / report. Urutan fields harus logikal dan konsisten.
d.
Visually Appealing Layout of The Form or Report Tampilan yang akan dipresentasikan harus menarik bagi pengguna. Tampilan harus sesuai dengan hardcopy agar konsisten.
e.
Familiar Fields Labels Penggunaan label yang familiar.
f.
Consistent Terminology and Abbreviations Terminologi dan singkatan yang digunakan harus konsisten.
g.
Consistent Use of Colour Penggunaan warna pada kata - kata yang penting dalam form / report.Penggunaan warna juga harus konsisten.
h.
Visible Space and Boundaries for Data Entry Fields Pengguna harus mengetahui jumlah total tempat yang disediakan. Ini memungkinkan pengguna untuk mempertimbangkan format yang sesuai untuk data sebelum memasukkan ke dalam field.
i.
Convenient Cursor Movement Pengguna harus dengan mudah dapat menjalankan operasi yang diinginkan dengan menggerakkan kursor pada form / report.
j.
Error Correction for Individual Character and Entire Fields Pengguna harus dengan mudah dapat menjalankan operasi yang diinginkan untuk membuat perubahan terhadap nilai field.
k.
Error Messages for Unacceptable Values Jika pengguna salah memasukkan data, pesan kesalahan akan muncul pada layar. Pesan yang
muncul harus menginformasikan pengguna letak
kesalahan. l.
Optional Fields Marked Clearly Pembuatan optional harus jelas teridentifikasi untuk pengguna.
m.
Explanatory Messages for Fields 23
Ketika pengguna menggerakkan kursor pada field, maka informasi tentang fieldt ersebut harus muncul pada layar. n.
Completion Signal Menjelaskan bahwa pengguna telah menyelesaikan suatu proses.
2.1.3.7. Prototyping Connolly, T. & Begg, C. (2014: 367), prototyping adalah membangun sebuah model kerja dari aplikasi basis data yang mengizinkan user untuk memvisualisasikan dan mengevaluasi gambaran sistem secara menyeluruh. Tujuan utama
prototyping
adalah memungkinkan pengguna menggunakan
prototype untuk mengidentifikasi fitur sistem, apakah sudah bekerja dengan baik atau belum. Terdapat dua strategi dalam merancang prototype yaitu: 1.
Requirements Prototyping Requirements prototyping menggunakan sebuah prototype untuk menentukan kebutuhan sistem
basis data
yang diusulkan dan ketika sudah terpenuhi,
prototype tidak digunakan lagi. 2.
Evolutionary Prototyping Evolutionary prototyping menggunakan sebuah prototype untuk tujuan yang sama. Namun, jika kebutuhan sudah terpenuhi, prototype tersebut tidak dibuang tetapi untuk selanjutnya akan dikembangkan menjadi aplikasi basis data yang akan berjalan.
2.1.3.8. Implementation Connolly, T. & Begg, C. (2014: 367), implementation adalah realisasi fisik basis data dan rancangan aplikasi. Dalam tahap penyelesaian desain, kita dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan Data Definition Language (DDL) yang kita pilih dalam melakukan pemilihan DBMS atau dengan menggunakan Graphical User Interface (GUI), yang menyediakan fungsional yang sama dengan pernyataan DDL yang low level. Pandangan pengguna lainnya juga diimplementasikan.Data Manipulation Language
24
(DML)
digunakan untuk mengimplementasikan transaksi basis data di dalam bagian aplikasi program dari tujuan DBMS.. 2.1.3.9. Data Conversion and Loading Connolly, T. & Begg, C. (2014: 368), data conversion and loading adalah memindahkan data dari sistem yang lama ke sistem yang baru dan mengkonversi aplikasi yang ada untuk dijalankan di basis data yang baru. Tahapan tersebut terjadi ketika sistem basis data yang lama digantikan dengan sistem basis data yang baru. Pada saat ini, suatu DBMS biasanya memiliki kegunaan untuk memasukkan file kedalam basis data yang baru dengan tujuan agar memungkinkan pengembang dapat mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
2.1.3.10. Testing Connolly, T. & Begg, C. (2014: 368), testing adalah proses menjalankan sistem basis data dengan maksud menemukan masalah. Pengujian juga harus mencakup kegunaan dari sistem basis data.Idealnya, sebuah evaluasi harus dilakukan terhadap spesifikasi kegunaannya. Contoh kriteria yang dapat digunakan untuk melakukan evaluasi meliputi : 1.
Learnability Berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi produktif dengan sistem.
2.
Performance Seberapa baik respon sistem sesuai praktek kerja pengguna.
3.
Robustness Seberapa toleransinya sistem dari kesalahan pengguna.
4.
Recoverability Seberapa baik sistem pulih dari kesalahan pengguna.
5.
Adaptability Seberapa dekat sistem terkait dengan satu model perkerjaan.
25
2.1.3.11. Operational Maintenance Connolly, T. & Begg, C. (2014: 369), operational maintenance adalah proses pemantauan dan pemeliharaan sistem basis data setelah instalasi. Setelah melewati tahap pelaksanaan dan pengujian. Tahap berikutnya adalah pemeliharaan dengan kegiatan – kegiatan berikut: 1.
Pemantauan kinerja sistem. Jika kinerja sistem tidak dapat diterima, penyusunan ulang basis data mungkin diperlukan.
2.
Pemeliharaan dan peningkatan sistem basis data (bila diperlukan). Memasukkan persyaratan baru ke dalam sistem basis data melalui tahap sebelumnya dari siklus hidup.
2.1.4. Entitiy Relational Modeling Pembahasan ini akan dibahas tentang teknik untuk menganalisa informasi yang dikumpulkan mengenai keperluan pengguna terhadap basis data.
2.1.4.1. Pengertian Connolly, T. & Begg, C. (2014: 405), entity relationship modeling
adalah
pendekatan top-down untuk merancang basis data yang di awali dengan mengidentifikasi data penting yang disebut entitas dan relasi antar data yang harus diwakili dalam model tersebut.
2.1.4.2. Entity Types Connolly, T. & Begg, C. (2014: 406),entity types adalah sekumpulan objek dengan properti yang sama yang diidentifikasi oleh perusahaan dengan keberadaan yang independen dan entity occurrence adalah sebuah objek yang diidentifikasikan secara unik dari sebuah entity types.
2.1.4.3. Relationship Types Connolly, T. & Begg, C. (2014: 408), relationship typesadalah sekumpulan asosiasi yang memiliki arti antar tipe entitas dan relationship occurrence adalah sebuah
26
asosiasi yang diidentifikasikan secara unik yang mengandung sebuah kejadian dari setiap tipe entitas yang terlibat.
Connolly, T. & Begg, C. (2014: 410), degree of a relationship type yaitu jumlah partisipasi tipe entitas dalam sebuah relasi. Terdapat beberapa jenis degree of a relationship type:
1.
Binary, hubungan antar dua entitas.
2.
Ternary, hubungan antar tiga entitas.
3.
Quartenary, hubungan antar empat entitas.
4.
Recursive atau unary, sebuah tipe relasi dengan satu tipe entitas yang berpartisipasi lebih dari satu kali dengan peran yang berbeda.
Connolly, T. & Begg, C. (2014: 412), recursive relationship yaitu jenis hubungan di mana jenis entitas yang sama berpartisipasi lebih dari sekali dalam peran yang berbeda.
2.1.4.4. Attributes Connolly, T. & Begg, C. (2014 : 413),attributeadalahproperti darisuatu tipe entitas atau relasi dan attribute domain adalah sekumpulan nilai yang diperbolehkan dalam satu atau lebih atribut. Terdapat beberapa jenis atribut yaitu: 1.
Simple Attributeand Composite Attribute Connolly, T. & Begg, C. (2014: 413), simple attribute adalah sebuah atribut yang terdiri dari komponen tungal dengan keberadaan independen. Composite attribute adalah sbeuah atribut yang terdiri dari beberapa komponen, masing-masing dengan keberadaan independen.
2.
Single-Valued Attribute and Multi-Valued Attribute Connolly, T. & Begg, C. (2014: 414), single-valued attribute adalahsebuah atribut yang memegang nilai tunggal untuk setiap kemunculan suatu entitas . Multi – valued attribute adalah sebuah atribut yang memegang beberapa nilai untuk setiap kemunculan suatu entitas.
27
3.
Derived Attribute Connolly, T. & Begg, C. (2014: 414), derived attribute adalah sebuah atribut mewakili nilai yang diturunkan dari nilai atribut terkait atau sekumpulan atribut, belum tentu dalam tipe entitas yang sama.
4.
Keys Connolly, T. & Begg, C. (2014: 415), keys dibagi menjadi tiga jenis : a.
Candidate Keys Set atribut minimal yang secara unik mengidentifikasi setiap kemunculan dari tipe entitas.
b.
Primary Keys Candidate key yang dipilih untuk mengidenfikasi secara unik, tiap kejadian pada sebuah tipe entitas.
c.
Composite Keys Sebuah candidate key yang terdiri dari dua atau lebih atribut.
2.1.4.5. Strong and Weak Entity Connolly, T. & Begg, C. (2014: 417), dapat dibedakan jenis entitas sebagai tipe yang kuat atau yang lemah. 1.
Strong Entity Type Strong entity typeadalah sebuah tipe entitas yang tidak bergantung pada keberadaan-keberadaan jenis entitas lainnya.
2.
Weak Entity Type Weakentity typeadalah sebuah tipe entitas yang bergantung pada keberadaan beberapa jenis entitas lain.
28
2.1.4.6. Structural Constraints Connolly, T. & Begg, C. (2014: 419), multiplicityadalahjumlah kejadian yang mungkin terjadi pada entitas yang berhubungan dengan sebuah kejadian tunggal dari tipe entitas lain dalam suatu relasi tertentu. 1.
One to One (1:1) Relationships One to one (1:1) relationships adalah kondisi ketika sebuah relasi menggambarkan hubungan antara sebuah entity occurance pada sebuah entitas dengan entity occurance pada entitas yang lainnya dalm relasi tersebut.
2.
One to Many (1:*) Relationships One to many (1:*) relationships adalah kondisi ketika sebuah relasi menggambarkan hubungan antara sebuah entity occurrence pada sebuah entitas dengan satu atau lebih entity occurance pada entitas yang lainnya dalm relasi tersebut.
3.
Many to Many (*:*) Relationships Many to many (*:*) relationships adalah kondisi ketika sebuah relasi menggambarkan hubungan antara satu atau lebih entity occurance pada sebuah entitas dengan satu atau lebih entity occurance pada entitas yang lainnya dalm relasi tersebut.
4.
Multiplicity for Complex Relationships Multiplicity for complex relationships adalah jumlah (range) dari kejadian yang mungkin dari suatu entitas dalam suatu hubungan n ketika yang lain ( n-1 ) nilainya tetap.
5.
Cardinality and Participation Constraints a.
Cardinality Constraints Cardinality constraints menjelaskan jumlah maksimum hubungan kejadian yang mungkin untuk suatu entitas yang berpartisipasi dalam jenis hubungan tertentu.
b.
Participation Constraints Participation constraints menentukan semua atau hanya beberapa kejadian entitas yang berpartisipasi dalam suatu hubungan.
29
2.2. Teori Yang Berkaitan Dengan Aplikasi Pada pembahasan berikut ini akan dibahas teori-teori yang terkait dengan perancangan aplikasi yang akan dilakukan.
2.2.1. Flowchart Romney, Marshall B. & Steinbart, Paul J. (2006: 70),flowchart adalah teknik analitis yang digunakan untuk mendeskripsikan beberapa aspek sistem informasi secara jelas, singkat dan logis.Flowchart menggunakan kumpulan simbol yang umum untuk menggambarkan prosedur proses transaksi yang digunakan suatu perusahaan serta aliran data pada sistem tersebut.
Simbol
Keterangan Document Merepresentasikan dokumen atau laporan yang dapat berupa tertulis tangan atau hasil print komputer.
On-page Connector Mengubungkan aliran proses dalam satu halaman. Off-page Connector Menghubungkan aliran proses dengan halaman lain. Manual Operation Merepresentasikan proses operasi yang dilakukan secara manual.
30
Decision Merepresentasikan tahapan pembuatan keputusan dengan adanya alternatif aliran proses data. Document or Processing Flow Merepresentasikan
arah
aliran
pemrosesan
atau
dokumen.
Terminal Merepresentasikan awal, akhir, atau interupsi.
Tabel 2.1 Notasi pada Flowchart 2.2.2. State Transition Diagram Bentley, Lonnie D.& Whitten, Jeffrey L.(2007: 635),state transition diagram adalah alat yang digunakan untuk menggambarkan urutan dan variasi dari tampilantampilan yang muncul ketika sesi pengguna. Terdapat
dua
jenis
komponen
yang
digunakan
dalam
menggambarkan
statetransitiondiagram, yaitu persegi panjang dan panah. Persegi panjang digunakan untuk mewakili tampilan layar, sedangkan panah digunakan untuk mewakili aliran kontrol layar.
Simbol
Keterangan
31
State Persegi panjang digunakan untuk mewakili tampilan layar.
Transition Panah digunakan untuk mewakili aliran kontrol layar
Tabel 2.2Notasi pada State Transition Diagram
2.2.3. Eight Golden Rules Shneiderman, B. & Plaisant, C. (2010: 32), terdapat delapan aturan yang menjadi prinsip dasar dalam mendesain tampilan, yaitu: a.
Strive for Consistency Aturan ini merupakan aturan yang paling sering dilanggar karena terdapat banyak
bentuk konsisten yang perlu diperhatikan.Konsistensi yang dimaksud yaitu konsistensi terhadap urutan tindakan, perintah, menu, tata letak, font, dan warna yang konsisten. b.
Cater to Universal Usability Mengenali kebutuhan pengguna yang beragam dengan memperhatikan kalangan
yang akan menggunakan website kita dari rentang usia, pemula, dan lain-lain. Hal ini dapat dilakukan dengan menambahkan fitur, seperti penjelasan dan shortcut yang sekaligus dapat memaksimalkan kecepatan interaksi dan memperkaya desain interface website. c.
Offer Informative Feedback Untuk setiap tindakan pengguna, seharusnya terdapat umpan balik dari
sistem.Untuk tindakan yang kecil dan sering digunakan, umpan balik bisa sederhana, tetapi untuk tindakan yang besar dan jarang digunakan, umpan balik harus lebih besar.Umpan balik bisa berupa informasi jika terdapat informasi baru dan terjadi kesalahan perintah.
32
d.
Design Dialogs to Yield Closure Urutan tindakan harus diatur dalam kelompok yang dimulai dari awal, tengah, dan
akhir.Umpan balik yang informative pada penyelesaian sekelompok tindakan memberikan kepuasan, rasa lega, dan sinyal untuk mempersiapkan ke kelompok tindakan berikutnya. e.
Prevent Errors Sistem yang kita rancang seharusnya merupakan sistem yang tidak memungkinkan
pengguna untuk melakukan kesalahan yang serius.Jika pengguna melakukan kesalahan, seharusnya ada mekanisme yang menanganinya, seperti pemberian instruksi yang sederhana untuk pengembalian. f. Permit Easy Reversal of Actions Tindakan dalam sistem seharusnya reversible (bisa kembali ke sebelumnya). Fungsi ini akan mengurangi rasa kecemasan karena pengguna mengetahui bahwa kesalahan bisa dibatalkan sehingga bisa mendorong user untuk mencoba menu-menu yang asing. g.
Support Internal Locus of Control Pengguna yang menjadi pengontrol sistem dan bukan sistem yang mengontrol
pengguna. h.
Reduce Short Term Memory Load Merancang sistem yang memungkinkan pengguna untuk tidak perlu mengingat
banyak perintah.Hal tersebut bisa dilakukan dengan tampilan yang sederhana, tampilan yang digabungkan dari beberapa halaman, urutan tindakan, dan penyediaan informasi yang diperlukan.
2.2.4. PHP Saputra, A. (2011: 1), PHP atau yang memiliki kepanjangan PHP (Personal Home Page Tools): Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untukmembangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnyaadalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangkalayout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanyaPHP tersebut, web akan sangat mudah di-maintenance.PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server SideScripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya webserver.PHP ini bersifat open source 33
sehingga dapat dipakai secara cuma-cuma dan mampulintas platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux. PHPjuga dibangun sebagai modul pada web server apache dan sebagai binary yang dapatberjalan sebagai CGI. Ada beberapa alasan yang menjadi dasar pertimbangan mengapa menggunakanPHP antara lain: 1.
Mudah
dipelajari,
alasan
tersebut
menjadi
salah
satu
alasan
utama
untukmenggunakan PHP, pemula pun akan mampu untuk menjadi web master PHP. 2.
Mampu Lintas Platform, artinya PHP dapat / mudah diaplikasikan ke berbagaiplatform OS(Operating Sytem) dan hampir semua browser juga mendukungPHP.
3.
Free alias Gratis, bersifat Open Source.
4.
PHP memiliki tingkat akses yang cepat.
5.
Didukung oleh beberapa macam web server, PHP mendukung beberapa webserver, seperti Apache, IIS, Lighttpd, Xitami.
6.
Mendukung database, PHP mendukung beberapa database, baik yang gratismaupun yang berbayar, seperti MySQL, PostgreSQL, mSQL, Informix, SQLserver, dan Oracle.
2.2.5. MySQL Kustiyahningsih, Y. &Anamisa, Devie R. (2010: 145), MySQL merupakan suatu database. MySQL dapat juga dikatakan sebagai databaseyang sangat cocok bila dipadukan dengan PHP.Secara umum, database berfungsisebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data secaraprefosional. MySQL bekerja menggunakan SQL Language (Structure Query Language).Itu dapat diartikan bahwa MySQL merupakan standar penggunaan database di duniauntuk pengolahan data.MySQL termasuk jenis RDBMS (Relational Database Management System).Sedangkan RDBMS sendiri akan lebih banyak mengenal istilah seperti tabel, baris, dankolom digunakan dalam perintahperintah di MySQL. MySQL merupakan sebuah basisdata yang mengandung satu atau sejumlah tabel.Tabel terdiri atas sejumlah baris dansetiap baris mengandung satu atau beberapa kolom.Di dalam PHP telah menyediakanfungsi untuk koneksi ke basis data 34
dengan sejumlah fungsi untuk pengaturan baikmenghubungkan maupun memutuskan koneksi dengan server database MySQL sebagaisarana untuk mengumpulkan informasi. Pada umumnya, perintah yang paling sering digunakan dalam mySQL adalah select(mengambil), insert (menambah), update (mengubah), dan delete (menghapus). Selainitu, SQL juga menyediakan perintah untuk membuat database, field, ataupun index gunamenambah atau menghapus data.Alasan yang mengacu menggunakan MySQL adalah MySQL merupakan databaseyang mampu berjalan di semua sistem operasi.Selain itu, sangat mudah sekali untukdipelajari dan sepertinya hosting server juga banyak sekali mengadopsi MySQLsebagai standar database.Dan tentunya juga bersifat gratis atau free. Saat ini MySQL juga tidak hanya gratis, semenjak MySQL dibeli oleh SUN, MySQL tidak lagi menikmati fitur-fitur barunya, karena telah dibatasi penggunanya. Fitu-fitur tersebut hanya bisa didapat jika membeli lisensinya. Berikut beberapakelebihan yang dimiliki oleh MySQL: a.
Bersifat open source, yang memiliki kemampuan untuk dapat dikembangkanlagi.
b.
Menggunakan bahasa SQL(Structure Query Language), yang merupakanstandar bahasa dunia dalam pengolahan data.
c.
Super perfomance dan reliable, tidak bisa diragukan, proses databasenya sangatcepat dan stabil.
d.
Sangat mudah dipelajari.
e.
Memiliki dukungan support (group) pengguna MySQL.
f. Mampu lintas platform, dapat berjalan di berbagai sistem operasi. g.
Multiuser, dimana MySQL dapat digunakan oleh beberapa user dalam waktuyang bersamaan tanpa mengalami konflik.
2.2.6 Data Flow Diagram O’Brien, J. A. and G. M. Marakas.(2010:145), DFD adalah perangkat grafis yang menggambarkan urutan dari proses-proses dan fungsi-fungsi yang terdapat di dalam batasan-batasan pada sistem yang telah dispesifikasikan dan aliran data yang terdapat di dalam sistem. Dalam hierarki DFD terdapat 3 level, yaitu: 35
a. Diagram Level Konteks Diagram level konteks ditujukan untuk mengidentifikasikan batasan pada sistem, yang menyangkut dengan relasi terhadap semua sumber atau entitas yang berinteraksi dengan sistem tersebut. Konteks diagram hanya mengandung satu proses, dan dinamakan oleh nama sistem tersebut. b. Diagram Level-0 DFD Diagram level-0 DFD adalah proses tunggal yang terdapat dalam diagram level konteks dan direpresentasikan ulang secara lebih detail. c. Diagram Level-1 sampai Level-n DFD Setelah diagram level-0 selesai dan dinyatakan keakuratannya sebagai representasi dari sistem, proses penguraian berlanjut pada tahap level-1 sampai level-n. Jelasnya, level-0 diuraikan menjadi level-1, dan jika diperlukan, level-1 diuraikan menjadi level-2, dan seterusnya hingga detail level yang diperlukan dari seluruh proses dan sub proses telah direalisasikan. Simbol
Keterangan Process
Data Flow
External Agent
Data Store
36
Tabel 2.3Notasi pada Data Flow Diagram 2.3. Teori Yang Berkaitan Dengan Tema Penelitian Pada pembahasan berikut ini akan dibahas teori-teori yang terkait dengan tema penelitian untuk perancangan aplikasi basis data yang akan dilakukan.
2.3.1. Penjualan Mulyadi (2008: 455), penjualan tunai dilakukan oleh perusahaan dengan mewajibkan pembeli melakukan pembayaran harga produk terlebih dahulu sebelum produk diserahkan oleh perusahaan kepada pembeli.Setelah uang diterima oleh perusahaan, maka produk kemudian diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan.
Tahapan Siklus Penjualan (Revenue Cycle) Mulyadi (2008: 469), jaringan prosedur yang membentuk sistem penjualan tunai adalah: a. Prosedur Order Penjualan. Pada prosedur ini fungsi penjualan menerima order dari pembeli dan membuat faktur penjualan tunai untuk memungkinkan pembeli melakukan pembayaran harga produk ke fungsi kas dan untuk memungkinkan fungsi Gudang dan fungsi pengiriman menyiapkan produk yang akan diserahkan kepada pembeli. b. Prosedur Penerimaan Kas. Pada prosedur ini fungsi kas menerima pembayaran harga barang dari pembeli dan memberikan tanda pembayaran (berupa pita register kas dan cap “lunas” pada faktur penjualan tunai) kepada pembeli untuk memungkinkan pembeli tersebut melakukan pengambilan produk yang dibelinya dari fungsi pengiriman. c. Prosedur Penyerahan Barang. Pada prosedur ini fungsi pengiriman menyerahkan produk kepada pembeli. d. Prosedur Pecatatan Harga Pokok Penjualan. 37
Pada prosedur ini, fungsi akuntansi membuat rekapitulasi harga pokok penjualan berdasarkan data yang dicatat dalam kartu persediaan. Fungsi yang terkait Mulyadi (2008: 462), fungsi yang terkait dalam penjualan tunai adalah: a. Fungsi Penjualan Fungsi ini bertanggung jawab untuk menerima order dari pembeli, mengisi faktur penjualan tunai dan menyerahka aktur tersebut kepada pembeli untuk kepentingan pembayaran harga produk ke fungsi kas. b. Fungsi Kas Fungsi ini bertanggung jawab sebagai penerima kas dari pembeli. Dalam struktur organisasi c. Fungsi Gudang Fungsi ini bertanggung jawab untuk menyiapkan produk yang dipesan oleh pembeli, serta menyerahkan produk tersebut ke fugsi pengiriman d. Fungsi Pengiriman Fungsi ini bertanggung jawab untuk membungkus produk dan menyerahkan produk yang telah dibayar harganya kepada pembeli. e. Fungsi Akuntansi Fungsi ini bertanggung jawab sebagai pencatat transaksi penjualan dan penerimaan kas dan pembuat laporan penjualan. Dokumen yang terkait Mulyadi (2008: 463), dokumen yang digunakan dalam penjualan tunai adalah sebagai berikut: a. Faktur Penjualan Tunai Dokumen ini digunakan untuk merekam berbagai informasi yang diperlukan oleh manajemen mengenai transaksi penjualan tunai. b. Pita Register Kas
38
Dokumen ini dihasilkan oleh fungsi kas dengan cara mengoperasikan mesin register kas. Pita ini merupakan bukti penerimaan kas yang dikeluarkan oleh fungsi kas dan merupakan dokumen pendukung faktur penjualan tunai yang dicatat dalam jurnal penjualan. Retur Penjualan Mulyadi (2008: 226), transaksi retur penjualan terjadi ketika jika perusahaan menerima pengembalian produk dari pelanggan.Pengembalian produk oleh pelanggan harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi penerimaan.
2.3.2. Produksi Mulyadi (2008: 419), fungsi produksi adalah suatu gabungan dari komponen-komponen yang saling berhubungan dan saling mendukung untuk melaksanakan pengolahan bahan baku atau bahan mentah menjadi barang jadi, dalam suatu perusahaan. Sistem perusahaan manufaktur melakukan konversi bahan mentah menjadi barang jadi sesuai dengan desain produk didasarkan pada keinginan konsumen sehingga terjadi pertambahan nilai yang lebih tinggi. Mulyadi (2008: 419), fungsi yang terkait di dalam prosedur order produksi, yaitu: a. Fungsi Penjualan Perusahaan berproduksi berdasarkan pesanan adalah fungsi penjualan bertanggung jawab atas penerimaan order dari langganan dan meneruskan order tersebut ke fungsi produksi. b. Perusahaan berproduksi berdasarkan massa adalah fungsi penjualan melayani order dari langganan berdasarkan persediaan produk jadi yang ada di gudang. c. Fungsi Perencanaan dan Pengawasan Produksi Berfungsi membantu fungsi produksi dalam merencanakan dan mengawasi kegiatan produksi. d. Fungsi Produksi Bertanggung jawab atas pembuatan perintah produksi bagi fungsi-fungsi yang ada di bawahnya bertanggung jawab atas pelaksanaan proses
39
produksi sesuai dengan surat order produksi,daftar kebutuhan bahan baku, dan daftar kegiatan produksi.
2.3.3. Persediaan Mulyadi (2008: 560), sistem dan prosedur yang bersangkutan dengan sistem akuntansi persediaan menurut adalah: Tipe Persediaan yaitu persediaan produk jadi, prosedur yang bersangkutan; a. Prosedur pencatatan produk jadi Mencatat tambahan kuantitas produk jadi dalam kartu gudang. b. Prosedur permintaan dan pengeluaran barang gudang Dalam prosedur ini dokumen sumber yang digunakan adalah bukti permintaan dan pengeluaran barang.Bukti ini dipakai oleh bagian gudang untuk mencatat pengurangan persediaan karena pemakaian intern. c. Sistem perhitungan fisik persediaan Sistem perhitungan fisik persediaan umumnya digunakan oleh perusahaan untuk menghitung secara fisik persediaan yang disimpan di gudang yang hasilnya digunakan untuk meminta pertanggungjawaban Bagian Gudang mengenai pelaksanaan fungsi penyimpanan, dan pertanggungjawabannya, serta untuk melakukan penyesuaian terhadap catatan persediaan dibagian kartu persediaan.
2.3.4.
Pembelian Mulyadi (2008: 298), pembelian adalah kegiatan pemilihan sumber, pemesanan dan perolehan barang dan jasa sebagai salah satu aktivitas utama operasi bisnis perusahaan. Fungsi yang terkait dalam sistem akuntansi pembelian adalah: 1.
Fungsi Gudang
40
Dalam sistem akuntansi pembelian, fungsi gudang bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan yang ada digudang dan untuk menyimpan barang dagang yang telah diterima oleh fungsi penerimaan. 2.
Fungsi Pembelian Fungsi pembelian bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih.
3.
Fungsi Penerimaan Fungsi penerimaan bertanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu dan kualitas barang yang diterima dari pemasok guna menentukan dapat atau tidaknya barang tersebut diterima oleh perusahaan.
4.
Fungsi Akuntansi Fungsi akuntansi yang berkaitan dalam transaksi pembelian adalah fungsi pencatatan utang dan fungsi pencatatan persediaan. Fungsi pencatatan utang bertanggung jawab untuk mencatat transakasi pembelian ke dalam register bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan utang atau menyelenggarakan kartu utang sebagai buku pembantu utang.
2.4. Hasil Penelitian Sebelumnya
Untuk mendukung kelancaran proses perancangan basis data dan menambah wawasan mengenai informasi-informasi yang lainnya, terdapat hasil penelitian berupa jurnal yang sudah dibaca, dan dipelajari secara saksama. Berikut merupakan hasil ringkasan dari hasilpenelitian sebelumnya yang didapatkan:
Nama Penulis
:
Tahun Penerbit :
Octafian, Tri D. 2011
41
Judul
:
Desain Database Sistem Informasi Penjualan Barang (Studi Kasus : Minimarket “Grace” Palembang)
Kota Terbit
:
Nama Penerbit :
Dalam
Palembang STMIK PalComTech
jurnal
ini
mengatakan
bahwa
dalam
pengolahan
data
secara
terkomputerisasi merupakan sarana yang sangat dibutuhkan dalam era globalisasi seperti sekarang ini.Dengan menggunakan teknologi tersebut dapat membantu penyajian data yang sangat cepat, efektif dan akurat.Juga dapat membantu dalam pengambilan keputusan. Seperti sebuah minimarket yang merupakan suatu usaha yang berorientasi laba, maka dari itu sudah sebaiknya pengolahan dan penyajian datanya sudah tersistematis dan terkomputerisasi karena dapat membantu proses penyetokan barang, control kadaluarsa dsb. Dengan keuntungan-keuntungan yang disebabkan oleh pengolahan data secara terkomputerisasi tersebut, mampu mempermudah si pemilik minimarket dalam menentukan tindakan apa yang harus dilakukan ke depannya nanti,dalam membuat kebijakan-kebijakan untuk memperlancar dan meningkatkan penjualan barang di minimarket-nya. Langkah-langkah yang diterapkan dalam membuat
Desain database sistem
informasi penjualan barang tersebut adalah : 1.
Membuat desain database sistem menggunakan ERD
2.
Membuat pemetaan (mapping) ERD.
3.
Menjelaskan dan menentukan atribut, primary key, dan foreign key.
4.
Membuat hubungan antar tabel. Kesimpulan yang dapat diambil antara lain:
1.
Dari proses bisnis, bisa diterjemahkan ke dalam pembentukan diagram ERD.
42
2.
Organisasi/perusahaan yang bergerak dalam bidang usaha yang sama, belum tentu memiliki diagram ERD yang sama. Tergantung proses bisnis yang berjalan di dalam organisasi tersebut.
43