BAB 2 LANDASAN TEORI
2.1 Teori-teori dasar / umum Pada teori dasar atau umum ini kami akan menjelaskan teori yang digunakan sebagai penunjang dalam membuat skripsi kami. 2.1.1 Pengertian Basis Data Menurut Connolly dan Begg (2010, p65), Basis Data adalah kumpulan relasi-relasi logis dari data (dan deskripsi data) yang dapat digunakan bersama dan dibuat untuk memperoleh informasi yang di butuhkan oleh perusahaan. Database adalah relasi data logis yang terdiri dari entity-entity, attribute-attribute, dan relationship dari informasi organisasi/perusahaan. Kegunaan dari database adalah : 1.
Menghilangkan redundancy data.
2.
Keterbatasan akses data.
3.
Meningkatkan keamanan.
4.
Multiple User.
5.
Independensi data (kebebasan data). Menurut Kusrini (2010, p2), pengertian Basis Data adalah kumpulan
data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau symbol).
9
10
Basis data dapat didefinisikan dalam berbagai susut pandang seperti berikut: 1. Himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi kebutuhan. 3. Kumpulan
file/tabel/arsip
yang
saling
berhubungan
yang
disimpan dalam media penyimpan elektronik. Menurut James A.Hall (2010, p18), Basis Data merupakan tempat penyimpanan fisik data keuangan dan nonkeuangan. Menurut C.J. Date (2010, p10),
Basis Data adalah sekumpulan
data persisten yang digunakan oleh system aplikasi dari suatu perusahaan. System basis data pada dasarnya merupakan suatu system penyimpanan record atau data yang terkomputerisasi.
2.1.2 Database Management System (DBMS) Menurut Conolly dan Begg (2010: 66), Database Management System (DBMS) adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke database. DBMS berinteraksi dengan program aplikasi user dan database. Menurut Conolly dan Begg (2010: 66), DBMS menyediakan fungsi-fungsi sebagai berikut:
11
1. Memungkinkan user untuk mendefinisikan basis data, biasanya dari Data Definition Language(DDL), DDL memungkinkan user untuk membedakan tipe dan struktur data, dan batasan data yang akan disimpan dalam basis data. 2. Memungkinkan user untuk menyisipkan, meng-update, menghapus dan menerima data dari basis data, biasanya dari Data Manipulation Language(DML). 3. Menyediakan kontrol akses ke basis data dengan menyediakan : a.
Sistem keamanan yang menengah akses ilegal ke dalam basis data,
b.
Sistem integrasi yang memelihara arah akurasi data,
c.
Sistem pembagian hak akses ke basis data,
d.
Sistem pengendalian untuk memulihkan basis data ke keadaan sebelumnya, yang dikarenakan oleh kegagalan software atau hardware,
e.
Katalog pengaksesan user yang berisi penjelasan data.
Menurut Laudon (2010, 376) Database Management System (DBMS ) Peranti lunak khusus untuk membuat dan memelihara basis data dan memungkinkan aplikasi bisnis individu mengambil data yang dibutuhkan tanpa harus membuat basis data berbeda atau definisi data terpisah dalam program komputernya. Menurut McLeod (2010, p532), pengertian Database Management System (DBMS) adalah sebuah aplikasi peranti lunak yang menyimpan
12
struktur basis data, data itu sendiri, hubungan antar data di dalam basis data, serta formulir dan laporan yang berkaitan dengan basis data.
2.1.2.1 Komponen DBMS DBMS memiliki lima komponen penting yaitu: 1.
Hardware (Perangkat Keras) DBMS dan aplikasi membutuhkan perangkat keras dalam menjalankannya. Perangkat keras dapat mencakup komputer pribadi, sebuah mainframe, sebuah jaringan komputer. Perangkat keras yang dipakai tergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS yang berjalan pada perangkat keras atau sistem operasi tertentu, sementara DBMS yang lain dapat berjalan pada beragam perangkat keras atau sistem operasi.
2.
Software (Perangkat Lunak) Komponen perangkat lunak terdiri dari pernagkat lunak DBMS dan program aplikasi beserta Sistem Operasi (OS), termasuk jaringan perangkat lunak jika DBMS digunakan melalui jaringan.
3.
Data Data merupakan komponen terpenting dalam DBMS khususnya sudut pandang dari end user mengenai data, di mana data berfungsi sebagai jembatan antara komponen mesin dengan komponen manusia.
13
4.
Procedures (Tata Cara) Procedures merupakan panduan dan aturan dalam membuat dan menggunakan basis data. Procedures di dalam basis data dapat berupa: login ke dalam basis data, penggunaan fasilitas DBMS atau aplikasi program, cara menjalankan dan menghentikan DBMS, membuat backup database, menangani kerusakan hardware
atau software,
mengubah struktur tabel, mengumpulkan basis data dari beberapa disks, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5.
People (Manusia) Komponen terakhir yaitu manusia yang terlibat dengan system tersebut. Menurut
Connoly
dan
Begg
(2010,
p128-p129),
komponen-komponen DBMS meliputi: a.
Querry Processor: Merupakan komponen DBMS yang utama yang mengubah query ke dalam seperangkat instruksi tingkat rendah langsung ke database. Manager
b.
Database Manager : DM mengantarmukakan dengan program aplikasi user-submitted dan query. DM menerima query dan memeriksa skema eksternal dan konseptual untuk menentukan record konseptual apa yang diperlukan untuk memuaskan permintaan.
14
c.
File
Manager
penyimpananfile
: dasn
File
manager
mengatur
memanipulasi
penempatan
ruang
penyimpanan dalam disk. Komponen ini mendirikan dan memelihara daftar struktur dan index yang didefinisikan dalam skema internal. d.
DML Processor: Modul ini mengubah pernyataan DML yang tertanam dalam program aplikasi ke dalam panggilan fungsi standart dalam host language. Komponen ini harus berinteraksi dengan query processor untuk membuat kode yang sesuai.
e.
DDL Complier: Modul ini mengubah pernyataan DDL ke dalam seperangkat tabel berisi meta data. Tabel ini kemudian disimpan dalam katalog system sementara itu informasi kendali disimpan dalam header file data.
f.
Catalog Manager: Catalog manager mengatur akses ked an memelihara katalog system. Katalog system diakses oleh sebagian besar komponen DBMS.
2.1.2.2 Kerugian DBMS Kerugian DBMS adalah sebagai berikut : 1. Kompleksitas 2. Ukuran 3. Biaya dari penggunaan DBMS 4. Biaya konversi
15
5. Kinerja 6. Dampak yang tinggi dari kegagalan Menurut Connoly dan Begg (2010, p127-p131), DBMS memiliki kerugian sebagai berikut: a. Kompleksitas Ketentuan dari fungsi yang kita harapkan dari DBMS yang baik membuat DBMS menjadi sebuah software yang sangat kompleks, perancang dan pengembang database, DA, dan DBA, serta pengguna akhir harus memahami fungsi tersebut untuk mendapatkan banyak keuntungan dari DBMS ini. b. Ukuran Fungsi yang kompleks dan luas membuat DBMS menjadi software yang sangat besar, memerlukan banuak ruang hardisk dan jumlah memori yang besar untuk berjalan dengan efisien. c. Biaya dari suatu DBMS Biaya DBMS bervariasi tergantung pada lingkungan dan fungsi yang disediakan. Disitu juga terdapat biaya pemeliharaan tahunan yang juga dimasukkan dalam daftar harga DBMS. d. Biaya penambahan perangkat keras. Kebutuhan tempat penyimpanan bagi DBMS dan database amat memerlukan pembelian tempat penyimpanan tambahan, lebih lanjut, untuk mencapai performa yang diperlukan, mungkin diperlukan untuk membeli mesin yang lebih besar dan sebagainya. Hal ini tentu memerlukan tambahan biaya yang
16
tidak sedikit. Tergantung pada spesifikasi perangkat keras yang diperlukan.
2.1.3 Database Language Menurut Connolly dan Begg (2010, p92), sebuah sub-bahasa data terdiri dari dua bagian: Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL di gunakan untuk menentukan skema database dan DML di gunakan untuk kedua membaca dan update database. Bahasa-bahasa ini disebut sub-language data karena mereka tidak termasuk konstruksi untuk semua kebutuhan komputasi tingkat, seperti pernyataan kondisional atau iteratif, yang di sediakan oleh bahasa pemrograman tingkat tinggi. 2.1.3.1 Data Definition Language (DDL) Menurut Connolly dan Begg (2010, p92), Data Definition Language (DDL) adalah sebuah bahasa yang mengizinkan Database Administrator (DBA) atau user untuk mendeskripsikan dan memberi nama entitas, atribut, dan hubungan yang diperlukan aplikasi beserta intergrity yang berhubungan dan batasan keamanan. Menurut Ema Utami (2009, p89), Data Definition Language merupakan subbahasa SQL mengenai data definition, yang seperti arti harafiahnyaberkaitan erat dengan definisi suatu data yang pada model relasional direpresentasikan dalam suatu tabel.
17
Menurut Ir. Harianto Kristanto (2010, p12), Data Definition Language merupakan paket bahasa dalmDBMS dibagi menjadi beberapa definisi. Pola/skema database di spesifikasikan dengan satu set definisi yang dieskpresikan dengan satu bahasa khusus disebut DDL (Data Definition Language). Hasil kompilasi dari perintah DDL adalah satu set dari tabel yang disimpan dalam file khusus disebut Data Dictionary/Directory.
2.1.3.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2010, p92), pengertian Data Manipulation Language adalah suatu bahasa yang menyediakan seperangkat operasi untuk mendukung manipulasi data yang berada pada basis data. Pengoperasian data yang akan di manipulasi biasanya meliputi : 1. Penambahan data baru ke dalam basis data. 2. Modifikasi data yang disimpan ke dalam basis data. 3. Pengembalian data yang terdapat di dalam basis data. 4. Penghapusan data dari basis data. DML dibagi menjadi 2 (dua) jenis yaitu Procedural dan Nonprocedural.
Procedural
DML
adalah
suatu
bahasa
yang
memperbolehkan pengguna untuk mendesprikpsikan ke sistem data apa yang di butuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkan Non-procedural DML adalah sebuah
18
bahasa yang mengizinkan pengguna untuk menentukan data apa yang di butuhkan tanpa memperhatikan bagaimana data diperoleh. Menurut Laudon (2010, p376), pengertian Data Manipulation Language adalah bahasa yang berhubungan dengan system manajemen basis data. Pengguna akhir dan programr menggunakan bahasa ini untuk memanipulasi data dalam basis data. Menurut Ir. Harianto Kristanto (2010, p12), pengertian Data Manipulation Language adalah bahasa yang memperbolehkan pemakai untuk akses atau manipulasi data sebagai yang telah diorganisasiakn sebelumnya dalam model data yang tepat.
2.1.4 Database Application Lifecycle (DBLC) Menurut Connolly dan Begg (2010, p313), untuk merancang aplikasi sistem basis data di perlukan tahapan tahapan yang di namakan dengan Database Application Lifecycle (DBLC). Tahapan-tahapan tersebut terdapat pada gambar 2.1.
19
Gambar 2.1 Database Application Lifecycle Menurut Connolly dan Begg (2005, p284), siklus hidup aplikasi basis data adalah sebagai berikut: 1.
Perencanaan Basis Data (Database Planning)
2.
Definisi Sistem (System Definition)
3.
Pengumpulan dan Analisis Kebutuhan (Requirement Collection and
Analysis) 4.
Perancangan Basis Data (Database Design)
5.
Pemilihan DBMS (DBMS Selection)
20
6.
Perancangan Aplikasi (Application Design)
7.
Prototyping
8.
Implementasi (Implementation)
9.
Data Conversion and Loading
10. Pengujian (Testing) 11. Operational Maintenance 2.1.4.1 Database Planning Menurut Connolly dan Begg (2010, p313), Database Planning merupakan merencanakan bagaimana setiap tahapan dari siklus dapat direalisasikan menjadi lebih efisien dan efektif. Perencanaan basis data harus dapat terintegrasi dengan sistem informasi perusahaan secara umum. Beberapa hal yang terlibat dalam formula adalah strategi sistem informasi, yaitu : 1.
Identifikasi dari rencana dan tujuan perusahaan dengan
menentukan kebutuhan sistem informasi. 2.
Evaluasi sistem informasi yang sedang berjalan untuk
menentukan kelebihan dan kekurangan. 3.
Penilaian dari keuntungan teknologi informasi yang dapat
member keuntungan kompetitif. Menurut Connolly dan Begg (2005, p286), database planning merupakan tahapan untuk merencanakan bagaimana langkahlangkah dalam siklus hidup basis data agar dapat direalisasikan
21
seefisien dan seefektif mungkin. Perencanaan basis data harus dapat diintegrasikan dengan keseluruhan strategi sistem informasi suatu organisasi. Terdapat tiga isu utama dalam merumuskan strategi sistem informasi, diantaranya: 1.
Identifikasi dari rencana dan tujuan perusahaan dengan
menentukan kebutuhan sistem informasi yang diperlukan. 2.
Mengevaluasi sistem informasi yang ada sekarang ini untuk
menentukan kekuatan-kekuatan dan kelemahan-kelemahan yang ada. 3.
Penilaian terhadap peluang teknologi informasi yang dapat
menghasilkan keuntungan yang kompetitif. Langkah pertama yang paling penting dalam perencanaan basis data adalah menggambarkan dengan jelas mission statement dari proyek basis data, kemudian menentukan mission objectives di mana tiap-tiap mission objectives dapat mengidentifikasi tugastugas tertentu yang didukung oleh basis data.
2.1.4.2 System Definition Menurut Connolly dan Begg (2010, p316), System Definition adalah Mendeskripsikan cakupan dan batasan dari aplikasi basis data, baik pengguna dan area aplikasi tersebut. Sebelum mencoba untuk merancang aplikasi basis data, pertama-tama harus
22
mengidentifikasi batasan dari sistem yang akan kita investigasi dan bagaimana membuat antarmuka dengan sistem informasi tiap bagian dari organisasi. Dalam mendefinisikan sistem, harus di tentukan oleh user view, yaitu mendefinisikan apa yang di butuhkan oleh aplikasi basis data berdasarkan pandangan dari tiap bagian tugas (misalnya manager atau supervisor) atau area aplikasi perusahaan (misalnya marketing, personnel, atau stock control). Menurut Connolly dan Begg (2005, p286), definisi system (system definition) adalah mendeskripsikan jangkauan dan batasan dari aplikasi basis data dan pandangan-pandangan utama para pengguna. Sebelum mendesain suatu aplikasi basis data, terlebih dahulu mengindentifikasikan batasan-batasan dari sistem yang sedang diteliti dan bagaimana kaitannya dengan bagian lain dari sistem informasi perusahaan. Hal tersebut dilakukan untuk memastikan bahwa tidak ada pengguna utama basis data yang terlupakan ketika dilakukan pengembangan aplikasi. 2.1.4.3 Requirements Collection and Analysis Menurut Connolly and Begg (2010, p316), Requirements Collection and Analysis adalah proses mengumpulkan dan analisis informasi tentang bagian dari organisasi yang dapat di dukung oleh aplikasi basis data, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan pengguna dari sistem baru. Banyak teknik yang dapat dilakukan untuk mengumpulkan informasi
23
tersebut, disebut teknik fact finding. Informasi yang dikumpulkan untuk setiap user view, mencakup : 1.
Deskripsi data yang digunakan.
2.
Rincian mengenai bagaimana data dapat digunakan atau
dihasilkan. 3.
Kebutuhan tambahan lainnya untuk aplikasi basis data yang
baru. Informasi ini selanjutnya dianalisis untuk mengidentifikasi kebutuhan yang dapat dimasukkan ke dalam aplikasi basis data baru. Kebutuhan ini di deskripsikan ke dalam dokumen bersama sebagai requirements specifications untuk aplikasi basis data baru. Ada 3 (tiga) pendekatan untuk mengelola kebutuhan dari aplikasi basis data dengan banyak user views, yaitu: 1.
The centralized approach : kebutuhan dari setiap user view
digabung menjadi sebuah set kebutuhan dari aplikasi basis data. 2.
The view integration approach : kebutuhan dari setiap user
view digunakan
untuk membangun model data secara terpisah
untuk merepresentasikan user view tersebut. Model data yang di hasilkan tersebut nantinya akan di gabungkan pada tahapan database. 3.
Kombinasi dari dua pendekatan di atas. Menurut Connolly dan Begg (2005, p288), Analisis dan
pengumpulan kebutuhan (requirement collection and analysis)
24
merupakan proses pengumpulan dan analisis informasi tentang pengguna aplikasi terhadap sistem baru. Informasi yang dikumpulkan diantaranya : 1.
Penjabaran dari data yang digunakan.
2.
Detail mengenai bagaimana data digunakan.
3.
Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisis untuk mengindentifikasikan
kebutuhan yang dimasukkan untuk aplikasi basis data yang baru. Ada bagian perusahaan yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengindentifikasikan kebutuhan
2.1.4.4 Application Design Menurut Connolly dan Begg (2010, p329), Application Design adalah merancang antarmuka pemakai (user interface) dan program aplikasi, yang akan memproses basis data. Dalam merancang aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Artinya bagaimana fungsi yang di butuhkan dengan cara untuk menciptakan user friendly.
25
Menurut Connolly dan Begg (2005, p298-300), perancangan aplikasi (application design) adalah merancang antarmuka pengguna (user interface) dan program aplikasi, yang akan menggunakan dan memproses basis data. Dalam perancangan aplikasi harus memastikan semua kebutuhan-kebutuhan dari spesifikasi kebutuhan pengguna (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya).
Antarmuka
yang
dirancang
harus
memberikan
informasi yang dibutuhkan, sehingga pengguna aplikasi mudah mempelajari dan mudah menggunakannya.
2.1.4.5 DBMS Selection (optional) Menurut Connolly dan Begg (2010, p325), DBMS Selection yang sesuai untuk mendukung aplikasi basis data yang mencakup : 1.
Mendefinisikan syarat-syarat referensi studi Menentukan sasaran, batasan masalah dan tugas yang harus
dilakukan. 2.
Mendaftar 2 (dua) atau 3 (tiga) jenis barang Membuat daftar barang-barang, misalkan dari mana barang ini
didapat,
berapa
biayanya
mendapatkannya. 3.
Mengevaluasi barang
serta
bagaimana
bila
ingin
26
Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut. 4.
Merekomendasikan pilihan dan membuat laporan Merupakan
langkah
terakhir
dari
DBMS
yaitu
mendokumentasikan proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBMS. Menurut Connolly dan Begg (2005, p295), pemilihan DBMS 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. Langkah terakhir dari DBMS, yaitu mendokumentasikan
proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBMS.
27
2.1.4.6 Database Design Menurut Connolly dan Begg (2010, p320), Database Design adalah Proses membuat perancangan basis data yang dapat mendukung pekerjaan dan tugas perusahaan. Menurut Connolly dan Begg (2010, p322), Perancangan basis data ini memiliki tiga tahapan, yaitu : 1.
Perancangan basis data konseptual, yaitu proses membangun
sebuah model informasi yang digunakan di sebuah perusahaan, terbebas dari segala pertimbangan fisik. 2.
Perancangan basis data logis, yaitu proses membangun sebuah
model informasi yang di gunakan di sebuah perusahaan berdasarkan pada sebuah mode data yang spesifik, tetapi terbatas dari DBMS tertentu dan pertimbangan – pertimbangan fisikal lainnya. 3.
Perancangan basis data fisikal, yaitu proses menghasilkan
sebuah deskripsi dari pengimplementasian basis data pada media penyimpanan sekunder, yang mendeskripsikan hubungan dasar, pengorganisasian
file,
dan
indeks
yang
digunakan
untuk
memperoleh akses data secara efisien serta segala batasan integritas dan ukuran-ukuran keamanan yang berhubungan. Menurut Connoly dan Begg (2010. P321), ada 4 (empat) pendekatan dalam desain basis data yaitu : 1.
Top-Down
28
Di awali dengan pembentukan model data yang berisi beberapa entitas high-level dan relationship, yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entitas lower level, relasi dan atribut lainnya. 2.
Bottom-up
Di mulai dari atribut dasar (yaitu, sifat-sifat entitas dan relasi), dengan
analisis
dari
penggabungan
antar
atribut,
yang
dikelompokan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relasi antar entitas. 3.
Inside-out
Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relasi, dan atribut terkait lainnya yang lebih dulu di identifikasi. 4.
Mixed
Mengunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Menurut Connolly dan Begg (2005, p291), perancangan basis data (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.
Pendekatan bottom-up, dimulai pada tingkat awal dari atribut
(properti dari entitas dan relationship), melalui analisis dari
29
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.
Pendekatan top-down, 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 berturut-turut untuk mengindentifikasikan entitas, hubungan dan atribut berkaitan tingkat rendah. Pendekatan ini biasanya digambarkan melalui ER (Entity Relationship).
2.1.4.7 Prototyping Menurut Connolly dan Begg (2010, p333), pengertian Prototyping adalah membuat model kerja dari aplikasi basis data, yang membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuan utama dari mengembangkan suatu prototype adalah mengizinkan
user
untuk
menggunakan
prototype
guna
mengidentifikasikan corak sistem apakah bekerja dengan baik dan jika mungkin meningkatkan corak baru kepada aplikasi database. Dengan cara ini, kebutuhan dari pemakai dan pengembang sistem dalam mengevaluasi kelayakan desain sistem akan semakin jelas sehingga kelebihan atau kekurangan sistem dapat ditangani dengan
30
baik. Strategi prototyping yang umum di gunakan sekarang ada dua, yaitu requirement dan evolutionary prototyping. Requirement prototyping adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak di gunakan lagi atau dibuang. Sedangkan evolutionary prototype menggunakan tujuan yang sama, tetapi perbedaaan pentingnya adalah prototype tetap di gunakan untuk selanjutnya di kembangkan menjadi aplikasi basis data yang lengkap. Menurut McLeod (2010, p532), pengertian Prototyping adalah versi dari suatu calon system yang memberikan gambarana kepada pengembang dan calon pengguna mengenai bagaimana system dalam bentuk lengkapnya akan bekerja.
2.1.4.8 Implementation Menurut Connolly dan Begg (2010, p333), Implementation merupakan realisasi secara fisik dari database dan desain aplikasi. Pada tahap penyelesaian desain, kini kita dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan 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. Pernyataan DDL digunakan untuk menciptakan struktur basis data dan mengosongkan file yang
31
terdapat dalam basis data tersebut. Pandangan pemakai lainnya juga diimplementasikan dalam tahapan ini. Data Manipulation Language (DML) di gunakan untuk mengimplementasikan transaksi basis data di dalam bagian aplikasi program dari sasaran DBMS, mungkin termasuk host programming language seperti, Visual basic, Delphi, C, C++, Java, COBOL, dan Pascal.
2.1.4.9 Data Conversion and Loading Menurut Connolly dan Begg (2010, p 334), Data Conversion and Loading adalah mencakup pengambilan data dari sistem lama untuk dipindahkan kedalam system yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan sistem yang lama. Sekarang, DBMS yang memiliki kegunaan yang dapat mengisi file yang ada kedalam sistem yang baru telah dianggap umum, kegunaan yang ada umumnya memerlukan spesifikasi sumber file dan target basis data yang baru. Ketika conversion and loading dibutuhkan, prosesnya barus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi.
32
2.1.4.10 Testing Menurut Connolly dan Begg (2010, p334), Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. Hal ini dicapai dengan penggunaan secara hati-hati untuk merencanakan suatu test dan data yang realistis sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuati aturan yang ada.
2.1.4.11 Operation Maintenance Menurut Connolly dan Begg (2010, p335), Operational Maintenancne adalah proses memantau dan memelihara sistem setelah di-install. Pada tahapan sebelumnya, basis data benar-benar diuji dan diimplementasikan. Sekarang sistem beralih ke tahapan pemeliharaan. Aktifitas dari tahapan ini adalah sebagai berikut : 1.
Memantau kinerja dari sistem. Jika kinerjanya menurun
dibawah level yang dapat diterima, mungkin basis data perlu diorganisasi 2.
Pemeliharaan dan upgrade aplikasi basis data (jika di perlukan
ketika
basis
memastikan
data
sepenuhnya
kinerjanya
dapat
bekerja, berada
pemantauan
dalam
tingkat
harus yang
diterima.Sebuah DBMS biasanya menyediakan berbagai kegunaan (utilities) untuk membantu administrasi basis data termasuk
33
kegunaan untuk mengisi data kedalam basis data dan untuk memberikan informasi seperti pemakaian basis data dan strategi eksekusi query Database administrasi dapat
menggunakan
informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik. 2.1.5 Entity – Relationship Modelling Menurut Connolly (2010, p371), Entity Relationship Modeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan penggunaannya di dalam suatu perusahaan. Model ini menggunakan pendekatan top-down dalam perancangan basis data yang di mulai dengan mengidentifikasikan data penting yang disebut entity dan relasi antar data yang akan direpresentasikan ke dalam model. Kemudian di tambahkan detail-detail lebih seperti informasi yang akan dicari mengenai entities dan relationship yang disebut dengan atribut dan constraints pada entity, atribut dan relationship.
2.1.5.1 Entity Type Menurut Connolly (2010, p372), Entity Type merupakan sekumpulan objek di dunia yang memiliki property yang sama. Entity di representasikan dalam bentuk diagram beruba persiegi panjang berlabel nama dari entity.
34
Nama Entity
Karyawan
Cabang
Gambar 2.2 Representasi Diagram dari entity Menurut Connolly (2010, p372), Entity Type dapat diklasifikasikan menjadi 2 (dua), yaitu : 1.
Tipe Entitas kuat, yaitu entitas yang keberadaannya tidak
tergantung pada tipe entitas lainnya. 2.
Tipe Entitas lemah, yaitu tipe entitas yang keberadaannya
tergantung pada tipe entitas lainnya.
2.1.5.2 Relationship Types Menurut
Connolly
(2010,
p374),
Relationship
Types
merupakan suatu hubungan antar entity types. Relationship Types direpresentasikan dalam bentuk diagram berubah garis lurus yang menghubungkan dua buat entity types, ditandai dengan nama dari relasi tersebut. Pada umumnya, relasi dinamai dengan kata kerja.
35
Nama Entity
Memiliki
Karyawan
Cabang
Gambar 2.3 Representasi Diagram dari Relationship
Menurut Connoly dan Begg (2010, p376), dalam Relationship Types terdapat degree of relationship type.Degree of relationship type
merupakan
jumlah
tipe
entitas
yang
terkait
dalam
relationship.Entitas yang terkait dalam relationship disebut dengan participants. Jadi, degree dari suatu relationship menunjukkan banyak nya entitas yang tergabung dalam suatu relationship. Terdapat 3 (tiga) jenis degree of relationship, yaitu: a.
Binary Relationship
Binary Relationship merupakan relationship yang mempunya dua degree.
Karyawan
Memiliki ->
Cabang
Gambar 2.4 Binary Relationship
36
b.
Ternary Relationship
Ternary Relationship merupakan relationship yang mempunyai tiga degree.
Karyawan
memiliki
Cabang
Perusahaan Gambar 2.5 Ternary Relationship
c. Quertanary Relationship Quertanary Relationship merupakan relationship yang mempunyai empat degree
Produksi
Karyawan
memiliki
Perusahaan Gambar 2.6 Quaternary Relationship
Cabang
37
2.1.5.3 Attribute Menurut Connolly dan Begg (2010, p379), Attribute adalah properti suatu entitas atau jenis relasi. Menurut Connolly dan Begg (2010, p378), Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan menjadi lima yaitu : 1.
Simple Attribute
Simple Attribute adalah sebuah atribut yang terdiri dari komponen tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil di kenal dengan nama Atomic Attribute. 2.
Composite Attribute
Composite Attribute adalah atribut yang teridir dari beberapa komponen, di mana masing-masing komponen mempunyai keberadaan yang bebas. 3.
Single-valued Attribute
Single–valued Attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian dari tipe entity. 4.
Multi-valued Attribute
Multi-valued Attribute adalah atribut yang mempuanyai beberapa nilai untuk setiap kejadian dari tipe entity. 5.
Derived Attribute
38
Atribut yang memiliki nilai yang dihasilkan dari satu atau sekelompok atribut yang berhubungan, dan tidak harus berasal dari satu entitas.
2.1.5.4 Key Menurut Connolly dan Begg (2010, p381-382), Key adalah sebuah field yang digunakan untuk mengidentifikasi satu atribut atau lebih secara unik mengidentifikasi setiap record. Keys yang sering digunakan yaitu : 1.
Candidate Key
Candidate key merupakan kumpulan minimal dari atribut-atribut yang secara unik mengidentifikasikan suatu entity. 2.
Primary Key
Primary key merupakan candidate key yang dipilih untuk secara unik mengidentifikasikan suatu entity. 3.
Composite Key
Composite key merupakan candidate key yang terdiri atas dua atau lebih atribut 4.
Alternate Key
Alternate key merupakan candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key. 5.
Foreign Key
39
Foreign key merupakan sebuah primary key pada sebuah entitas yang digunakan pada entitas lainnya untuk mengidentifikasi sebuah entity.
2.1.5.5 Structural Constraints Menurut Connoly dan Begg (2010, p396) Structural Constraints memeriksa batasan tipe entitas yang mempunyai kesamaan dalam relasi. Multiplicity adalah jumlah atau range dari terjadinya yang mungkin dari suatu entity yang mungkin berhubungan dengan kejadian tunggal dari jenis entitas yang terkait melalui suatu hubungan tertentu. Hubungan Structural Constraints dibagi menjadi 3 (tiga) jenis, yaitu: 1.
Hubungan One-to-One (1:1)
Hubungan antara entitas yang satu dengan entitas lain mempunyai relasi hubungan satu entitas. 2.
Hubungan One-to-Many (1:*)
Hubungan antara entitas pertama yang mempunyai banyak relasi dengan entitas kedua yang mempunyai relasi satu entitas. 3.
Hubungan Many-to-Many (*:*)
Hubungan antara entitas pertama yang mempunyai relasi banyak dengan entitas kedua Cardinality adalah menjelaskan jumlah maksimum hubungan terjadinya yang mungkin untuk suatu entitas yang berpartisipasi dalam jenis hubungan tertentu. Participation
40
adalah menentukan semua atau hanya beberapa terjadinya entitas berpartisipasi dalam hubungan.
2.1.6 Normalization (Normalisasi) Menurut Connolly dan Begg (2010, p416), Normalization adalah sebuah teknik untuk menghasilkan sekelompok relasi atau hubungan dengan properti-properti yang diinginkan, yang memberikan kebutuhan data dari suatu perusahaan suatu desain database harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari penempatan atribut tertentu dari suatu objek data. Untuk membedakan satu record dengan yang lainnya maka perlu di pilih atribut atau kombinasi atribut sebagai kunci primer (primary key). Tujuan pembuatan normalisasi adalah: 1.
Membuat seminim mungkin terjadinya data rangkap.
2.
Menghindarkan adanya data yang tidak konsisten terutama bila terjadi
penambahan, penghapusan data sebagai akibat adanya data rangkap. 3.
Menjamin bahwa identitas tabel secara tunggal sebagai determinan
semua atribut.
2.1.6.1 First Normal Form ( 1NF ) First Normal Form (1NF) dapat di artikan bahwa sebuah relasi di mana setiap baris dan kolom hanya berisi satu nilai suatu data dikatakan Unnormalized (UNF), jika di dalamnya mengandung kelompok yang berulang (redundancy group), sehingga untuk
41
membentuk
normalisasi
pertama
repeating
group
harus
dihilangkan. Nilai dari setiap atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (redundancy data). Namun ada kondisi pertama ini kemungkinan masih terjadi adanya data rangkap.
2.1.6.2 Second Normal Form (2NF) Second Normal Form (2NF) dapat di artikan bahwa sebuah relasi dalam bentuk normal pertama dan atribut bukan primary key yang tergantung secara fungsional kepada primary key. Pengujian bentuk normal kedua dapat di hasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagian primary key.
2.1.6.3 Third Normal Form (3NF) Third Normal Form (3NF) adalah sebuah relasi dalam bentuk normal pertama dan kedua dan setiap atribut yang bukan primary key yang bergantung secara transitif kepada primary key. Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat atribut yang bukan key terganrtung fungsional terhadap atribut bukan key lainnya. Dengan cara yang sama, maka setiap ketergantungan transitif di pisahkan. 3NF sudah cukup baik
42
dalam arti anomali yang di kandungnya sudah sedemikian minimum.
2.1.6.4 Boyce Codd Normal Form (BCNF) Boyce Codd Normal Form suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key. Untuk normalisasi ke bentuk BCNF, maka tabel 3NF di dekomposis menjadi beberapa tabel yang masing-masing memenuhi BCNF. Tujuan membentuk BCNF : 1.
Semantik multiple candidate key menjadi lebih eksplisit (FD
hanya pada candidate key). 2.
Menghindari update anomali yang masih mungkin terjadi pada
3NF. Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya.
2.1.6.5 Diagram Aliran Data Menurut Whitten (2004: 334) diagram aliran data adalah suatu bagan yang menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Diagram Arus Data ini mempunyai simbol-simbol yang dapat mengungkapkan komponen-komponen dasar dari proses dan aliran sistem. Beberapa pengertian simbol (lihat daftar simbol) yang digunakan di dalam diagram arus data, adalah:
43
1. Kesatuan Data (External Entity) Merupakan kesatuan di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya, yang memberikan input (masukkan) atau menerima output (keluaran) dari sistem.
Gambar 2.7 External Entity
2. Arus Data Arus data mengalir di antara proses, simpanan data dan kesatuan luar. Arus data menunjukkan arus data yang masukan untuk sistem ataupun keluaran dari sistem dan input yang masuk kedalam proses yang harus menghasilkan output yang berbeda. Arus data secara fisik antara lain dapat berupa formulir, laporan tercetak, surat dan sebagainya.
Gambar 2.8 Arus Data
44
3. Proses Kegiatan atau kerja yang dilakukan oleh orang, mesin ataupun komputer untuk mengolah masukkan dan menghasilkan keluaran dari proses.
Gambar 2.9 Proses 4. Simpanan Data Merupakan suatu penampungan data yang dapat berupa suatu file, arsip, tabel dan sebagainya. Selain itu untuk menjelaskan aliran data yang mengalir di sistem. Analisa sistem dapat mengidentifikasikan data dengan kamus data.
Gambar 2.10 Simpanan Data
45
2.2 Teori-teori khusus Teori khusus merupakan teori pendukung yang dibuat untuk memenuhi kriteria dari batasan pengolahan dan perancangan masalah yang dihadapi.
2.2.1 Monitoring Menurut Nikolaos Bourbakis, Konstantina S. Nikita and Ming Yang (2013) Monitoring adalah melakukan kegiatan monitoring untuk program atau kinerja suatu kelompok dalam organisasi. Menurut Avraham Mayevsky, Efrat Barbiro-Michaely (2013) Monitoring adalah proses untuk melihat dan mencari informasi dalam semua aspek dalam suatu objek. Menurut George R. Tery (2009, p395) mengartikan Monitoring sebagai mendeterminasi apa yang telah dilaksanakan, maksudnya mengevaluasi prestasi kerja dan apabila perlu, menerapkan tindakantindakan korektif sehingga hasil pekerjaan sesuai dengan rencana yang telah diterapkan. Menurut Schwalbe (2007, p111), Monitoring adalah proses mengukur kemajuan menuju tujuan proyek, pemantauan deviasi dari rencana, dan mengambil tindakan perbaikan untuk kemajuan sesuai dengan rencana. -
Monitoring Produk Menurut Nikolaos Bourbakis, Konstantina S. Nikita and Ming Yang (2013) Monitoring Produk adalah melakukan kegiatan untuk melihat proses produk dalam organisasi.
46
Menurut Avraham Mayevsky, Efrat Barbiro-Michaely (2013) Monitoring Produk adalah proses untuk melihat dan mencari informasi tentang produk dalam semua aspek. Menurut Schwalbe (2007, p111), Monitoring Produk adalah proses mengukur kemajuan suatu produk, apakah sudah sesuai dengan rencana. -
Monitoring Proyek Menurut Dr. Harry Hikma (2011, p121) Monitoring Proyek
adalah proses pengumpulan dan analisis informasi tentang proyek secara sistematis. Menurut
George
R.
Tery
(2009,
p395)
mengartikan
Monitoring Proyek adalah mengevaluasi apa yang sedang dikerjakan dalam suatu proyek dan apabila perlu, menerapkan tindakan-tindakan korektif sehingga hasil pekerjaan sesuai dengan rencana yang telah diterapkan. Menurut Sukaryadi (2010, p67) Monitoring Proyek adalah penilaian yang terus menerus terhadap fungsi kegiatan-kegiatan proyek di dalam konteks.
47
2.2.2 Penjualan Penjualan secara umum memiliki pengertian kegiatan yang dilakukan oleh suatu perusahaan yangmengajak orang lain untuk membeli barang dan jasa yang ditawarkan oleh suatu perusahaan yang mengajak orang lain untuk membeli barang dan jasa yang ditaawarkan yang dapat menghasilkan pendapatan bagi perusahaan. Banyak para ahli yang berbeda-beda dalam mendefinisikan pengertian dari penjualan namun semuanya memiliki arti yang sama. Beberapa diantaranya adalah menurut Swasta (1991), “Penjualan merupakan suatu ilmu dan seni untuk mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia membeli barang atau jasa yang ditawarkan. “ (h.8). Sedangkan menurut Mulyadi (2011), “Kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa, baik kredit maupun tunai.” (h.2). Pengertian Penjualan menurut Henry Simamora dalam buku Akuntansi Basis Pengambilan Keputusan Bisnis menyatakan bahwa : “ Penjualan adalaha pendapatan lazim dalam perusahaan dan merupakan jumlah kotor yang dibebankan kepada pelanggan atas barang dan jasa. Dari kedua pengertian penjualan diatas maka penulis dapat menyimpulkan bahwa penjualan adalah ilmu dan seni mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia memberi barang atau jasa yang ditawarkan, penjualan adalah pendapatan lazim dalam perusahaan dan merupakan jumlah kotor yang dibebankan kepada pelanggan atas barang dan jasa.
48
2.3 Kerangka Pikir Pemecahan Masalah
Definisi Ruang Lingkup Masalah
Analisis Masalah
Analisis Kebutuhan
Desain Konseptual Model
Konstruksi dan Pengujian
Desain Fisikal Model
Gambar 2.11 Kerangka Pikir
Desain Logikal Model