library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00886-IF... · Web...
Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00886-IF... · Web...
BAB 2
LANDASAN TEORI
2.1 Teori-teori Dasar
2.1.1 Sistem
Menurut Whitten dan Bentley (2007, p6), sistem adalah
sekelompok komponen yang saling terkait yang bekerja sama untuk
mencapai hasil yang diinginkan. Sedangkan menurut Indrajani (2011,
p48), definisi sistem adalah sekelompok komponen yang saling
berhubungan dan bekerja sama untuk mencapai suatu tujuan bersama.
Komponen-komponen tersebut bekerja sama dengan cara menerima input
serta menghasilkan output dalam proses transformasi yang teratur.
Berdasarkan dua pendapat tersebut, dapat disimpulkan bahwa
definisi sistem adalah sekelompok komponen yang saling berhubungan
dan berinteraksi untuk mencapai hasil yang diinginkan.
2.1.2 Data
Menurut Indrajani (2011, p48), data merupakan fakta-fakta
mentah yang harus dikelola untuk menghasilkan suatu informasi yang
memiliki arti bagi suatu organisasi atau perusahaan. Data terdiri atas
fakta-fakta dan angka-angka yang secara relatif tidak berarti bagi
pemakai, atau fakta mentah yang belum diolah.
9
10
2.1.3 Basis Data
Menurut Connolly dan Begg (2010, p65), basis data adalah
sekumpulan data logikal yang saling terkait beserta deskripsinya, yang
dirancang untuk memenuhi kebutuhan informasi suatu perusahaan.
Sedangkan menurut Whitten dan Bentley (2007, p518), basis data
adalah sekumpulan file yang saling terkait yang memungkinkan tiap-tiap
file saling berhubungan. Berdasarkan dua data tersebut dapat disimpulkan
bahwa basis data merupakan kumpulan data yang saling berhubungan
satu sama lain yang dapat memberikan informasi yang diperlukan oleh
pengguna.
Basis data merupakan himpunan data yang besar dan tunggal,
yang dapat digunakan secara bersamaan oleh banyak departemen dan
pengguna. Semua data yang ada di dalam basis data terintegrasi dan
hanya memiliki sedikit duplikasi. Basis data tidak dimiliki oleh satu
departemen saja, tetapi merupakan sumber daya bersama suatu
perusahaan.
Gambar 2.1 Pengolahan basis data
11
Gambar 2.2
2.1.4 Database Management System (DBMS)
Menurut Connolly dan Begg (2010, p66), Database Management
System (DBMS) adalah sebuah perangkat lunak yang memungkinkan
pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol
akses terhadap basis data.
Secara umum, DBMS menyediakan beberapa fasilitas, seperti:
1. Memungkinkan pengguna untuk mendefinisikan basis data
menggunakan Data Definition Language (DDL). DDL
memungkinkan pengguna untuk menentukan tipe dan struktur
data, dan batasan-batasan untuk data yang akan disimpan ke dalam
basis data.
2. Memungkinkan pengguna untuk menyimpan, memperbaharui,
menghapus, dan mengambil data dari dalam basis data
menggunakan Data Manipulation Language (DML). DML
menyediakan fasilitas informasi umum, yang disebut query
language. Query language yang paling umum digunakan adalah
Structured Query Languange (SQL).
3. Menyediakan kontrol akses terhadap basis data, seperti:
Sistem keamanan yang mencegah pengguna yang tidak
mempunyai hak akses untuk mengakses data.
Sistem integrasi yang memelihara konsistensi penyimpanan
data.
12
Sistem kontrol konkurensi yang memungkinkan berbagi hak
akses basis data
Sistem kontrol recovery yang dapat mengembalikan basis data
data pada keadaan sebelumnya apabila terjadi kegagalan pada
perangkat keras ataupun perangkat lunak.
Katalog yang diakses pengguna yang berisi deskripsi data yang
ada di dalam basis data.
2.1.4.1 Fungsi DBMS
Menurut Connolly dan Begg (2010, p99), terdapat sepuluh
layanan yang harus disediakan oleh DBMS, yaitu:
1. Data storage, retrieval, and update
Sebuah DBMS harus menyediakan kemampuan untuk
menyimpan pengembalian, dan pembaharuan data dalam
basis data. Ini merupakan fungsi dasar dari DBMS.
2. User-accessible catalog
Sebuah DBMS harus menyediakan sebuah katalog dimana
deskripsi item data disimpan dan data mana yang dapat
diakses oleh pengguna.
3. Transaction support
Sebuah DBMS harus menyediakan mekanisme yang akan
menjamin semua kegiatan pembaharuan (update) sesuai
dengan transaksi atau tidak.
4. Concurrency control services
13
Sebuah DBMS harus menyediakan mekanisme untuk
memastikan bahwa basis data diperbaharui dengan benar
ketika banyak pengguna memperbaharui basis data secara
bersamaan.
5. Recovery services
Sebuah basis data harus menyediakan mekanisme untuk
memulihkan basis data apabila basis data rusak secara
tidak terduga.
6. Authorization services
Sebuah basis data harus menyediakan mekanisme untuk
memastikan bahwa hanya pengguna yang berwenang yang
dapat mengakses basis data.
7. Support for data communication
Sebuah basis data harus mampu berintegrasi dengan
perangkat lunak komunikasi.
8. Integrity services
Sebuah basis data harus menyediakan sebuah sarana untuk
memastikan bahwa data di dalam basis data dan perubahan
pada data, keduanya mengikuti aturan-aturan tertentu.
9. Services to promote data independence
Sebuah DBMS harus memiliki fasilitas untuk mendukung
independensi program dari struktur yang sebenarnya pada
basis data.
10. Utility services
14
Sebuah basis data harus menyediakan sekumpulan layanan
utilitas.
2.1.4.2 Komponen DBMS
Menurut Connolly dan Begg (2010, p68), terdapat lima
komponen utama dalam Database Management System (DBMS)
environment.
Gambar 2.1 DBMS Environment
Lima komponen utama dalam DBMS environment, yaitu:
1. Perangkat keras (Hardware)
DBMS dan aplikasi membutuhkan perangkat keras untuk
beroperasi. Perangkat keras dapat berkisar antara single
personal computer, single mainframe, hingga jaringan
komputer.
2. Perangkat lunak (Software)
Komponen perangkat lunak terdiri dari perangkat lunak
DBMS itu sendiri dan program aplikasi, aplikasi yang
tergabung dalam sistem operasi (operating system),
termasuk perangkat lunak jaringan apabila DBMS yang
15
digunakan berada dalam sebuah jaringan. Biasanya
aplikasi program ditulis menggunakan bahasa
pemrograman, seperti: C, C++, C#, Java, Visual Basic,
atau Pascal. Contoh perangkat lunak, yaitu: Mozilla
Firefox, Internet Explorer, Microsoft Word, MySQL dan
Microsoft SQL Server.
3. Data
Komponen dari lingkungan DBMS yang paling penting
adalah data. Data dapat berfungsi sebagai jembatan antara
komponen mesin dan komponen manusia.
4. Prosedur
Prosedur merupakan instruksi dan aturan yang mengatur
rancangan dan penggunaan basis data. Pengguna sistem
dan karyawan yang mengatur basis data membutuhkan
dokumentasi prosedur mengenai cara penggunaan sistem.
Berikut ini beberapa instruksi yang biasa
didokumentasikan, seperti: log on ke basis data,
menggunakan fasilitas DBMS atau aplikasi program
tertentu, memulai dan mengakhiri DBMS, membuat
salinan cadangan dari basis data, dan menangani kegagalan
perangkat lunak atau perangkat keras.
16
5. Pengguna
Komponen DBMS yang terakhir adalah semua orang yang
terlibat dengan sistem, seperti: Data Administrator (DA),
Database Administrator (DBA), Database Designer,
Application Developer, dan End-User.
2.1.4.3 Keuntungan dan Kerugian DBMS
Menurut Connolly dan Begg (2010, p77), DBMS memiliki
beberapa keuntungan dan kerugian. Berikut ini adalah
keuntungan-keuntungan dari DBMS, yaitu:
1. Mengontrol redudansi data
Pendekatan basis data tidak menghilangkan seluruh
redudansi, tetapi mengontrol jumlah redudansi yang
melekat di dalam basis data. Terkadang perlu untuk
menduplikasi item data kunci, dengan kata lain sangat
diharapkan untuk menduplikasi beberapa item data untuk
meningkatkan kinerja.
2. Memungkinkan konsistensi data
Jika sebuah item data hanya sekali disimpan ke dalam
basis data, semua pembaharuan nilai pada data hanya bisa
ditampilkan sekali dan nilai yang baru segera tersedia
untuk semua pengguna. Jika sebuah item data disimpan
lebih dari sekali dan sistem menyadarinya, sistem dapat
17
memastikan bahwa semua item akan terjaga tetap
konsisten.
3. Memungkinkan lebih banyak informasi yang didapat dari
sekumpulan data
Dengan adanya integrasi pada data operasional,
memungkinkan perusahaan untuk memperoleh informasi
tambahan dari data yang sama.
4. Memungkinkan pemakaian data bersama
Biasanya file dimiliki secara perseorangan atau dimiliki
oleh departemen tertentu yang menggunakan file tersebut.
5. Meningkatkan integritas data
Integritas basis data berasal dari validitas dan konsistensi
dari data yang disimpan. Integritas biasanya dinyatakan
dalam bentuk batasan-batasan, yang merupakan peraturan
yang konsisten bahwa basis data tidak diperbolehkan untuk
melanggar.
6. Meningkatkan keamanan
Keamanan basis data adalah proteksi basis data dari
pengguna yang tidak berwenang. Sistem keamanan dapat
berupa formulir untuk user names dan password untuk
mengidentifikasi orang yang berwenang untuk
menggunakan basis data.
18
7. Memungkinkan adanya standardisasi
Integrasi memungkinkan Database Administrator (DBA)
untuk menentukan dan Database Management System
(DBMS) untuk memperkuat standar yang dibutuhkan.
8. Meningkatkan skala ekonomi
Melakukan kombinasi antar semua data operasional di
dalam organisasi kedalam satu basis data dan membuat
seperangkat aplikasi yang bekerja pada satu sumber data
dapat menghemat biaya. Sehingga anggaran yang bisanya
dialokasikan untuk setiap departemen untuk
pengembangan dan perawatan sistem berbasis file dapat di
kombinasikan, untuk menghasilkan biaya yang lebih
rendah, yang menuju pada skala ekonomi.
9. Menyeimbangkan konflik kebutuhan
Setiap pengguna atau departemen mempunyai kebutuhan
akan basis data yang dapat menyebabkan konflik dengan
pengguna lain. Untuk mengatasi permasalahan ini
Database Administrator (DBA) dapat membuat keputusan
mengenai rancangan dan penggunaan operasional basis
data yang memungkinkan penggunaan sumber terbaik
untuk perusahaan secara keseluruhan.
10. Meningkatkan akesibilitas dan tingkat ketanggapan data
19
Dengan adanya integrasi, data yang melewati batas-batas
departemen dapat diakses secara langsung oleh end-user.
11. Meningkatkan produktivitas
Database Management System (DBMS) menyediakan
banyak fungsi standar yang biasa programmer tulis dalam
sebuah aplikasi berbasis file. Banyak DBMS juga
menyediakan lingkungan fourth-generation, yang
mengandung perangkat untuk mempermudah
pengembangan dari aplikasi basis data. Sebagai hasilnya
yaitu meningkatkan produktivitas programmer dan
mengurangi waktu pengembangan.
12. Meningkatkan pemeliharaan melalui independensi data
Database Management System (DBMS) memisahkan
deskripsi data dari aplikasi, dengan demikian membuat
aplikasi kebal terhadap perubahan dalam deskripsi data, hal
ini disebut juga dengan independensi data. Sebagai
keuntungan dari independensi data yaitu menyederhanakan
pemeliharaan aplikasi.
13. Meningkatkan konkurensi
Dalam beberapa sistem berbasis file, jika dua atau lebih
pengguna diizinkan untuk mengakses file yang sama secara
bersamaan, dapat membuat akses saling terganggu satu
sama lain, hal ini mengakibatkan kehilangan informasi
bahkan kehilangan integritas. Banyak Database
20
Management System (DBMS) mengelola akses basis data
yang bersamaan dan memastikan masalah tersebut tidak
terjadi.
14. Meningkatkan layanan backup dan recovery
Banyak sistem berbasis file menempatkan tanggung jawab
pada pengguna untuk menyediakan pengukuran untuk
menjaga data dari kegagalan pada sistem komputer atau
aplikasi program. Sebaliknya, Database Management
System (DBMS) yang modern menyediakan fasilitas untuk
mengurangi jumlah proses yang hilang dikarenakan
kegagalan.
Sedangkan, berikut ini beberapa kerugian dari DBMS,
seperti:
1. Kompleksitas
Penyediaan fungsionalitas yang diharapkan dari Database
Management System (DBMS) yang bagus membuat DBMS
menjadi sebuah aplikasi yang sangat kompleks. Kegagalan
dalam memahami sistem dapat menuntun pada
perancangan keputusan yang buruk, sehingga dapat
mengakibatkan konsekuensi yang serius pada perusahaan.
2. Ukuran
Komplesitas dan fungsionalitas yang luas menjadikan
Database Management System (DBMS) sebuah aplikasi
yang sangat besar, menggunakan banyak megabytes pada
21
disk space dan membutuhkan memori yang besar untuk
bekerja secara effisien.
3. Biaya untuk DBMS
Biaya untuk Database Management System (DBMS)
bervariasi secara signifikan, tergantung dari lingkungan
dan fungsionalitas yang disediakan.
4. Biaya tambahan untuk perangkat keras
Kebutuhan akan tempat penyimpanan untuk Database
Management System (DBMS) dan basis data mungkin
memerlukan pembelian tempat penyimpanan tambahan.
Selain itu, untuk mencapai kinerja yang dibutuhkan,
mungkin memerlukan pemeblian mesin yang lebih besar,
bahkan mungkin sebuah mesin yang dikhususkan untuk
menjalankan DBMS. Pembelian perangkat keras tambahan
mengakibatkan pengeluaran tambahan.
5. Biaya untuk melakukan konversi
Biaya untuk mengkonversi aplikasi yang telah ada untuk
dijalankan pada Database Management System (DBMS)
dan perangkat lunak yang baru merupakan alasan utama
mengapa perusahaan merasa terikat pada sistem yang
sudah ada dan tidak dapat berubah ke teknologi basis data
modern.
22
6. Kinerja yang kurang baik pada beberapa aplikasi
Database Management System (DBMS) ditulis untuk
aplikasi yang umum untuk melayani banyak aplikasi bukan
hanya untuk satu aplikasi. Sebagai akibatnya, beberapa
aplikasi tidak dapat berjalan secepat biasanya.
7. Dampak yang lebih besar apabila terjadi kegagalan
Pemusatan sumber data meningkatkan kerentantan sistem.
Karena semua pengguna dan aplikasi bergantung pada
ketersediaan Database Management System (DBMS),
kegagalan pada komponen tertentu dapat mengakibatkan
operasi berhenti.
2.1.5 Aplikasi program
Menurut Connolly dan Begg (2010, p67), pengertian dari aplikasi
program adalah sebuah program komputer yang berinteraksi dengan basis
data dengan mengeluarkan sebuah permintaan yang tepat.
2.1.6 Database Language
Menurut Connolly dan Begg (2010, p91), data sublanguages
adalah bahasa yang tidak mengandung konstruksi untuk untuk semua
kebutuhan komputer, seperti pernyataan yang bersyarat atau berulang-
ulang, yang disediakan oleh bahasa pemrograman tingkat tinggi. Sebuah
bahasa pemrograman mengandung dua bagian: Data Definition Language
23
(DDL) dan Data Manipulation Language (DML). DDL digunakan untuk
menentukan skema basis data dan DML digunakan untuk membaca dan
memperbaharui basis data.
2.1.6.1 Data Definition Language (DDL)
Menurut Connolly dan Begg (2010, p92), pengertian
Data Definition Language (DDL) adalah bahasa yang
memungkinkan Database Administrator (DA) atau pengguna
untuk mendeskripsikan dan member nama suatu entitas, atribut,
dan relasi yang dibutuhkan oleh aplikasi, beserta setiap integritas
terkait dan batasan keamanan data.
Kompilasi pernyataan DDL akan menghasilkan
seperangkat tabel yang disimpan dalam file khusus secara
kolektif yang dinamakan system catalog. System catalog
mengintegrasikan metadata. Metadata merupakan data yang
menjelaskan objek di dalam basis data dan mempermudah untuk
mengakses dan memanipulasi objek.
Contoh Data Definition Language (DDL):
CREATE TABLE Table_Name (Attribute_Name1
Data_Type1, Attribute_Name2 Data_Type2)
2.1.6.2 Data Manipulation Language (DML)
Menurut Connolly dan Begg (2010, p92), pengertian
Data Manipulation Language (DML) adalah bahasa yang
24
menyediakan seperangkat operasi pada data yang dimiliki oleh
basis data.
Operasi manipulasi data biasanya meliputi:
1. Penambahan (insertion) data baru ke dalam basis data.
2. Modifikasi (modifikasi) data yang tersimpan di dalam
basis data
3. Pengambilan (retrieval) data yang terdapat di dalam basis
data.
4. Penghapusan (deletion) data dari basis data.
Contoh Data Manipulation Language (DML):
INSERT INTO Table_Name VALUES (Field_Value1,
Field_Value2)
2.1.7 Database System Development Lifecycle
Menurut Connolly dan Begg (2010, p313), sistem basis data
merupakan komponen dasar dari sistem informasi organisasi yang lebih
besar, database system development lifecycle secara temurun berasosiasi
dengan siklus hidup dari sistem informasi. Tahapan dalam database
system development lifecycle tidak benar-benar berurutan, tapi melibatkan
beberapa perulangan pada tahapan sebelumnya melalui feedback loops.
26
Gambar 2.2
2.1.7.2 Database Planning
Menurut Connolly dan Begg (2010, p313), database
planning merupakan kegiatan manajemen yang memungkinkan
tahapan dalam database system development lifecycle dapat
direalisasikan seefisien dan seefektif mungkin.
Langkah-langkah penting dalam database planning,
yaitu:
1. Menetapkan mission statement
Mission statement adalah mendefinisikan tujuan utama
dari sistem basis data. Mission statement membantu
menjelaskan tujuan dari sistem basis data dan
menyediakan alur yang lebih jelas untuk mencapai hasil
yang efektif dan efisien dari pembuatan sistem basis data
yang dibutuhkan.
2. Menetapkan mission objectives
Setelah mendefinisikan mission statement, maka langkah
selanjutnya adalah mendefinisikan mission objectives.
Setiap mission objectives harus mengidentifikasi tugas
khusus yang harus didukung oleh basis data. Dengan
asumsi, apabila basis data mendukung mission objectives,
maka mission statement dapat dipenuhi.
27
2.1.7.3 System Definition
Menurut Connolly dan Begg (2010, p316), system
definition adalah mendeskripsikan ruang lingkup dan batasan
dari sistem basis data dan sudut pandang utama bagi pengguna.
Sebelum memulai merancang basis data, penting untuk
menentukan batasan-batasan sistem yang sedang kita selidiki dan
bagaimana sistem tersebut berinteraksi dengan sistem informasi
lain pada perusahaan tersebut. Pada tahap ini, penting untuk
mengikutsertakan kedalam batasan-batasan sistem tidak hanya
untuk aplikasi dan pengguna sekarang., tetapi juga pengguna dan
aplikasi yang akan datang.
2.1.7.4 Requirements Collection and Analysis
Menurut Connolly dan Begg (2010, p316), requirement
collection and analysis adalah proses mengumpulkan dan
menganalisa informasi mengenai bagian-bagian dari perusahaan
yang akan didukung oleh sistem basis data, dan menggunakan
informasi tersebut untuk mengidentifikasi kebutuhan-kebutuhan
untuk sistem yang baru. Terdapat banyak teknik untuk
memperoleh informasi yang disebut dengan fact-finding
techniques, yaitu:
1. Memeriksa dokumen terkait.
2. Wawancara.
28
3. Mengamati proses yang sedang berjalan pada perusahaan
(observasi).
4. Penelitian.
5. Kuisioner
Informasi yang perlu dikumpulkan pada tahap ini
mencakup:
1. Deskripsi dari data yang digunakan atau dihasilkan.
2. Keterangan mengenai bagaimana data digunakan atau
dihasilkan.
3. Kebutuhan tambahan lainnya untuk sistem basis data
yang baru.
2.1.7.5 Database Design
Menurut Connolly dan Begg (2010, p320), database
design merupakan proses pembuatan rancangan basis data yang
akan mendukung mission statement dan mission objectives untuk
sistem basis data yang diperlukan oleh perusahaan.
Terdapat dua pendekatan utama dalam database design,
yaitu:
1. Pendekatan bottom-up
Pendekatan bottom-up dimulai dari level mendasar pada
atribut-atribut (property dari entity dan relationship),
kemudian dilakukan analisa pada hubungan antar atribut,
setelah itu melakukan pengelompokan kedalam relasi
29
yang menunjukkan tipe entity dan relationship antar
entity. Pendekatan ini lebih cocok untuk perancangan
basis data yang sederhana dengan jumlah atribut yang
relatif kecil.
2. Pendekatan top-down
Pendekatan ini dimulai dengan pengembangan model
data yang mengandung entity dan relationship tingkat
tinggi, kemudian menerapkan perbaikan top-down yang
berturut-turut untuk mengidentifikasi entity, relationship,
dan atribut yang berhubungan dalam tingkat yang lebih
rendah. Pendekatan ini diilustrasikan melalui konsep
Entity Relationshop (ER) model.
Database design dibagi ke dalam tiga tahapan utama,
yaitu:
1. Conceptual Database Design
Conceptual database design merupakan proses
membangun model dari data yang digunakan pada sebuah
perusahaan. Tahap ini tidak terkait dengan semua
pertimbangan physical, seperti target perangkat lunak
DBMS, program aplikasi, bahasa pemrograman, sarana
perangkat keras, atau pertimbangan physical lainnya.
2. Logical Database Design
Logical databse design merupakan proses membangun
model data yang digunakan perusahaan berdasarkan pada
30
model data spesifik. Pada tahap ini, model data yang
dibuat pada conceptual database design diperkaya dan
dipetakan ke dalam model data logical. Sama seperti
conceptual database design, tahap ini tidak terkait
dengan semua pertimbangan physical, seperti target
perangkat lunak DBMS, program aplikasi, bahasa
pemrograman, sarana perangkat keras, ataupun
pertimbangan physical lainnya.
3. Physical Database Design
Physical database design adalah tahapan ketiga dan
terakhir dalam perancangan basis data. Tahap ini
merupakan proses untuk menghasilkan deskripsi pada
implementasi basis data dalam penyimpanan cadangan.
Pada tahap ini, dideskripsikan hubungan dasar, organisasi
file, dan index yang digunakan untuk mendapatkan akses
yang efisien pada data, serta batasan-batasan integritas
dan tindakan pengamanan terkait lainnya.
2.1.7.6 DBMS Selection
Menurut Connolly dan Begg (2010, p325), DBMS
selection merupakan proses memilih Database Management
System (DBMS) yang sesuai untuk mendukung sistem basis data.
Pendekatan sederhana dalam pemilihan DBMS adalah dengan
memeriksa apakah fitur yang terdapat pada DBMS mampu
31
memenuhi permintaan kebutuhan. Dalam pemilihan produk
DBMS yang baru terdapat kesempatan untuk memastikan bahwa
proses pemilihan berjalan sesuai rencana, dan sistem
memberikan keuntungan nyata pada perusahaan.
Terdapat beberapa tahap utama dalam melakukan
pemilihan sebuah DBMS, yaitu:
1. Menentukan kerangka referensi studi.
2. Membuat daftar pendek dari dua atau tiga produk.
3. Mengevaluasi produk.
4. Merekomendasikan pilihan dan membuat laporan.
Pemilihan DBMS yang baik bertujuan untuk memenuhi
sistem yang sesuai dengan kebutuhan sekarang dan yang akan
datang pada perusahaan, menyeimbangkan pengeluaran yang
terjadi karena pembelian produk DBMS, mengantisipasi biaya
tambahan perangkat keras dan perangkat lunak yang dibutuhkan
untuk mendukung basis data, dan biaya pergantian serta
pelatihan staff.
2.1.7.7 Application Design
Menurut Connolly dan Begg (2010, p329), application
design merupakan tahapan perancangan pada user interface dan
aplikasi program yang menggunakan dan memproses basis data.
Dalam banyak kasus, tidak mungkin menyelesaikan rancangan
aplikasi sampai rancangan basis data itu sendiri telah selesai. Di
32
lain pihak, basis data ada untuk mendukung aplikasi.
Berdasarkan hal tersebut, terdapat arus informasi antara
rancangan aplikasi dan rancangan basis data.
Harus dipastikan bahwa semua fungsionalitas yang
diutarakan pada spesifikasi kebutuhan pengguna terdapat dalam
rancangan aplikasi untuk sistem basis data. Hal ini termasuk
merancang program aplikasi yang mengakses basis data dan
merancang transaksi. Sebagai tambahan dalam merancang agar
fungsionalitas yang dibutuhkan tercapai, rancangan user
interface harus sesuai dengan sistem basis data yang ada. User
interface ini menyediakan informasi yang dibutuhkan dengan
cara yang user-friendly.
User interface merupakan salah satu komponen penting
dalam sebuah sistem. Apabila user interface mudah dipelajari,
mudah digunakan, lugas dan mudah melakukan pengembalian,
pengguna akan cenderung menggunakan dengan baik informasi
yang disajikan.
Terdapat dua aspek dalam membuat perancangan
aplikasi, yaitu:
1. Transaction design
Melakukan perancangan langkah atau serangkaian
langkah yang dilakukan oelh pengguna atau program
aplikasi yang mengakses atau mengubah isi dari basis
data. Tujuan dari transaction design adalah untuk
33
menentukan dan mendokumentasikan karakteristik
tingkat tinggi pada transaksi yang dibutuhkan pada basis
data.
2. User interface design
Sebelum melakukan implementasi sebuah formulir atau
laporan, penting untuk merancang layout yang baik. User
interface yang baik harus memiliki judul yang berarti,
instruksi yang mudah dipahami, pengelompokan logical
dan pengelompokan field, layout formulir atau laporan
yang menarik secara visual, field label yang lazim, istilah
dan singkatan yang konsisten, penggunaan warna yang
konsisten, ruang yang mudah terlihat dan batasan-batasan
untuk field entri data, pergerakan kursor yang nyaman,
koreksi kesalahan untuk karakter individual dan seluruh
field, pesan kesalahan untuk nilai yang tidak bisa
diterima, field tambahan ditandai dengan jelas, pesan
penjelasan untuk field, dan sinyal penyelesaian.
2.1.7.8 Prototyping
Menurut Connolly dan Begg (2010, p333), prototyping
merupakan sebuah model kerja yang memiliki fitur yang
dibutuhkan atau menyediakan semua fungsionalitas dari sistem
akhir, akan tetapi fitur atau fungsionalitas tersebut belum bekerja
secara sempurna. Tujuan utama dari pembuatan prototype sistem
34
basis data adalah memungkinkan pengguna untuk menggunakan
prototype untuk mengidentifikasi fitur-fitur pada sistem yang
bekerja dengan baik atau tidak memadai, dan untuk
menyarankan peningkatan atau bahkan fitur baru pada basis data.
Terdapat dua strategi prototyping yang sering digunakan,
yaitu:
1. Requirements prototyping
Prototyping ini menggunakan prototype untuk
menentukan kebutuhan dari sistem basis data yang
disusulkan, dan ketika kebutuhan sudah terlengkapi,
prototype tersebut dibuang.
2. Evolutionary prototyping
Prototyping ini digunakan untuk tujuan yang sama.
Perbedaan penting pada prototyping ini adalah prototype
tidak dibuang, tapi dengan pengembangan lebih lanjut
menjadi sistem basis data yang dapat bekerja.
2.1.7.9 Implementation
Menurut Connolly dan Begg (2010, p333),
implementation merupakan realisasi fisik dari basis data dan
perancangan aplikasi. Implementasi basis data didapat
menggunakan Data Definition Language (DDL) dari Database
Management System (DBMS) yang dipilih atau Graphical User
Interface (GUI), yang menyediakan fungsinalitas yang sama
35
ketika menyembunyikan statement DDL tingkat rendah.
Statement DDL digunakan untuk membuat struktur basis data
dan file basis data yang kosong. Pada tahap ini juga
diimplementasikan beberapa user view tertentu.
2.1.7.10 Data Conversion and Loading
Menurut Connolly dan Begg (2010, p334), data
conversion and loading merupakan tahapan pemindahan semua
data yang ada ke dalam basis data baru dan mengkonversi semua
aplikasi yang ada agar berjalan pada basis data yang baru. Tahap
ini dibutuhkan hanya ketika sebuah sistem basis data yang baru
menggantikan sistem yang lama. Setiap kali data conversion and
loading dibutuhkan, proses tersebut harus direncanakan dengan
benar untuk menjamin peralihan yang mulus untuk operasi yang
lengkap.
2.1.7.11 Testing
Menurut Connolly dan Begg (2010, p334), testing
merupakan proses menjalankan basis data dengan maksud
menemukan kesalahan (error).Tahap testing ini harus dilakukan
dengan strategi testing yang direncanakan dengan baik dan
menggunakan data yang realistis, sehingga seluruh proses testing
dapat dilakukan secara sistematis dan ketat.
36
Dengan dilakukannya testing akan didapat dua
keuntungan, yaitu:
1. Jika testing sukses dilakukan, maka hal tersebut dapat
mengungkap error dengan program aplikasi dan bila
mungkin struktur basis data.
2. Testing mendemonstrasikan bahwa basis data dan
program aplikasi tampak berkerja berdasarkan
spesifikasinya dan kebutuhan performa tampak
memuaskan.
2.1.7.12 Operational Maintenance
Menurut Connolly dan Begg (2010, p335), operational
maintenance merupakan proses untuk memantau dan
memelihara sistem basis data yang terinstalasi. Tahapan ini
melibatkan dua aktivitas berupa:
1. Melakukan pemantauan pada performa sistem. Jika
performa turun hingga di bawah tingkatan yang bisa
diterima, maka diperlukan penyetelan atau reorganisasi
pada basis data.
2. Melakukan pemeliharaan dan meningkatkan mutu sistem
basis data (apabila diperlukan). Kebutuhan baru
tergabung dalam sistem basis data melalui tahapan
terdahulu pada lifecycle.
37
2.1.8 Data Flow Diagram (DFD)
Menurut Indrajani (2011, p11), Data Flow Diagram (DFD) atau
diagram aliran data adalah sebuah alat yang menggambarkan aliran data
sampai sebuah sistem selesai, dan kerja atau proses dilakukan dalam
sistem tersebut.
2.1.8.1 Komponen Utama DFD
Dalam Data Flow Diagram (DFD) terdapat empat
komponen utama, yaitu:
1. External Agents
External agent mendefinisikan orang atau sebuah unit
organisasi, sistem lain, atau organisasi yang berada di
luar sistem proyek tapi dapat mempengaruhi kerja sistem.
2. Process
Process adalah penyelenggaraan kerja atau jawaban,
datangnya aliran data atau kondisinya.
3. Data Stores
Data stores adalah penyimpanan data.
4. Data Flow
Data flow merepresentasikan sebuah input data ke dalam
sebuah proses atau output data (atau informasi) pada
sebuah proses.
38
Berikut ini merupakan tabel komponen Data Flow
Diagram (DFD) menurut De Marco dan Yourdan:
Tabel 2.1 Komponen Data Flow Diagram (DFD)
Gambar Komponen Keterangan
External Agents
Proses
Data Stores
Data Flow
2.1.8.2 Jenis-jenis DFD
Jenis-jenis Data Flow Diagram (DFD) adalah sebagai
berikut:
1. Level 0 (Diagram Konteks)
Level ini merupakan sebuah proses yang berada di posisi
pusat.
2. Level 1 (Diagram Nol)
Level ini merupakan sebuah proses yang terdapat pada
level 0 yang dipecah menjadi beberapa proses lainnya.
39
Sebaiknya terdapat maksimum 7 proses untuk sebuah
diagram konteks.
3. Level 2 (Diagram Rinci)
Level ini merupakan diargram yang merincikan diagram
level 1. Tanda * digunakan hanya jika proses tersebut
tidak dapat dirincikan lagi. 2.0* artinya proses level
rendah yang tidk dapat dirincikan lagi. Penomoran yang
dilakukan berdasarkan urutan proses.
2.1.9 State Transition Diagram (STD)
Menurut Indrajani (2011, p17), State Transition Diagram (STD)
adalah suatu kondisi yang menunjukkan keadaan tertentu, dimana suatu
sistem dapat ada dan transisi menghasilkan keadaan tertentu yang baru.
Hal-hal yang terdapat dalam STD, antara lain:
1. System State
2. Change of State
3. Conditions and Actions
2.1.10 Entity Relationship Diagram (ERD)
Menurut Indrajani (2010, p18), Entitiy Relationship Diagram
(ERD) merupakan sebuah pendekatan dalam perancangan basis data yang
dimulai dengan mengidentifikasikan data-data terpenting yang disebut
dengan entitas dan hubungan antara entitas-entitas tersebut yang
digambarkan dalam suatu model.
40
2.1.11 Normalisasi
Menurut Connolly dan Begg (2010, p415), normalisasi adalah
sebuah teknik perancangan basis data yang dimulai dengan memeriksa
hubungan (relationship) antar atribut. Normalisasi menggunakan
serangkaian tes untuk membantu menentukan pengelompokan yang
optimal untuk atribut-atribut tersebut untuk pada akhirnya menentukan
serangkaian hubungan yang sesuai yang mendukung kebutuhan data pada
perusahaan.
Berikut ini tujuan dari pembuatan normalisasi, yaitu:
1. Membuat seminimal mungkin terjadinya data rangkap.
2. Menghindarkan adanya data yang tidak konsisten terutama bila
terjadi penambahan dan penghapusan data sebagai akibat adanya
data rangkap.
3. Menjamin bahwa identitas tabel secara tunggal sebagai
determinasi semua atribut.
2.1.11.1 Proses Normalisasi
Terdapat tiga normal forms yang umunya digunakan, yaitu
First Normal Form (1NF), Second Normal Form (2NF), dan
Third Normal Form (3NF).
41
Gambar 2.1 Proses Normalisasi
1. Unnormalized Form (UNF)
Menurut Connolly dan Begg (2010, p430), Unnormalized
Form (UNF) adalah sebuah tabel yang mengandung satu
atau lebih kelompok perulangan. Tabel UNF ini dibuat
dengan mentransformasi data dari sumber informasi ke
dalam tabel berbentuk baris dan kolom.
2. First Normal Form (1NF)
Menurut Connolly dan Begg (2010, p430), yang dimaksud
dengan First Normal Form (1NF) adalah suatu relasi
42
dimana setiap sel (perpotongan pada baris dan kolom)
memiliki satu atau hanya satu nilai.
3. Second Normal Form (2NF)
Menurut Connolly dan Begg (2010, p434), Second Normal
Form (2NF) merupakan sebuah hubungan yang telah
melewati tahapan First Normal Form (1NF) dan setiap
atribut non-primary key secara fungsional bergantung
sepenuhnya pada primary key.
4. Third Normal Form (3NF)
Menurut Connolly dan Begg (2010, p436), Third Normal
Form (3NF) adalah sebuah hubungan yang telah melewati
tahapan First Normal Form (1NF) dan Second Normal
Form (2NF), serta tidak ada atribut non-primary key yang
bergantung secara transitif pada primary key.
2.2 Teori-teori Khusus
2.1.12 Sistem Manajemen Terintegrasi
Menurut Arifin, Aiyub, Awang, Jahi dan Iteng (2009, p189),
metode integrasi adalah salah satu saluran untuk menggabungkan tiga
sistem manajemen menjadi satu. Dengan metode ini, organisasi akan
menggabungkan semua bagian dan sub-bagian yang setiap sistem
manajemen dan menciptakan suatu sistem manajemen terpadu yang baru.
Dengan adanya integrasi pada beberapa sistem, memungkinkan
perusahaan menentukan standar dalam setiap kegiatan yang mendukung
43
proses bisnis sehingga dapat mengurangi beban kerja, menghemat waktu
dan mengurangi dokumentasi.
2.1.13 Penjualan
Kegiatan penjualan terdiri dari atas penjualan barang dan jasa,
baik secara kredit maupun secara tunai. Dalam Transaksi penjualan
kredit, jika pesanan dari pelanggan telah dipenuhi dengan pengiriman
barang atau penyerahan jasa, untuk jangka waktu tertentu perusahaan
memiliki piutang kepada pelanggannya. Dalam sistem penjualan secara
tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli
jika perusahaan telah menerima kas dari pembeli (Indrajani, 2011, p68).
2.1.14 After Sales
After sales merupakan suatu usaha yang dilakukan perusahaan
untuk mempertahankan loyalitas pelanggan dengan cara memberikan
kepuasan kepada pelanggan. Layanan after sales pada perusahaan dapat
dilakukan dengan penyediaan suku cadang dan pelayanan perbaikan.
Dalam pelaksanaan layanan after sales, pelayanan perbaikan
diperlukan apabila terjadi kerusakan atas produk selama masa perbaikan.
Pelayanan perbaikan biasanya berkaitan erat dengan penyediaan suku
cadang. Maka dari itu, penyediaan suku cadang menjadi hal yang sangat
penting, sebab tanpa adanya suku cadang produk yang rusak
komponennya tidak dapat berfungsi dengan baik, bahkan tidak dapat
dipakai lagi.
44
2.1.15 Pembelian
Menurut Indrajani (2011, p71), pembelian adalah suatu usaha
yang digunakan dalam perusahaan untuk pengadaan barang yang
diperlukan oleh perusahaan. Fungsi pembelian bertanggung jawab untuk
memperoleh informasi mengenai harga barang, menentukan pemasok
yang dipilih dalam pengadaan barang, dan mengeluarkan pesanan
pembelian kepada pemasok yang dipilih.
2.1.16 Logistik
Logistik menangani pengiriman barang dari perusahaan kepada
pelanggan dan persediaan barang yang ada pada perusahaan. Pertama,
barang yang sudah dipesan oleh perusahaan berdasarkan pesanan
pelanggan akan dikirimkan oleh pemasok ke perusahaan akan diterima
oleh perusahaan pada departemen logistic. Setelah barang yang dipesan
oleh pelanggan tersedia, maka barang tersebut akan segera dikirim oleh
pihak logistik.
2.1.17 Keuangan
Kegiatan keuangan meliputi pembayaran barang dari pelanggan
kepada perusahaan. Setelah pelanggan melakukan pembelian dari
perusahaan, maka pelanggan wajib membayar barang baik secara tunai
maupun secara kredit.
45
Pembayaran dapat dibedakan menjadi dua cara, yaitu:
1. Pembayaran tunai, yaitu pembayaran yang dilaksanakan oleh
perusahaan dengan cara mewajibkan pembeli melakukan
pembayaran harga barang terlebih dahulu sebelum barang
diserahkan kepada pembeli.
2. Pembayaran kredit, yaitu pembayaran yang dilaksanakan oleh
perusahaan dengan cara memenuhi pelanggan dengan
mengirimkan barang, dan untuk jangka waktu tertentu perusahaan
memiliki piutang kepada pelanggannya.
2.1.18 PHP
Menurut Welling dan Thomson (2009, p2), PHP merupakan
server-side scripting yang dirancang khusus untuk web. Sedangkan
menurut Atkinson (2004, p8), PHP adalah sebuah bahasa pemrograman
yang memungkinkan developer untuk melekatkan kode terstruktur ke
dalam tag HTML. Berdasarkan dua pendapat tersebut dapat disimpulkan
bahwa PHP merupakan server-side scripting yang memungkinkan
developer untuk melekatkan kode terstruktur ke dalam tag HTML pada
sebuah web.
PHP script dapat mengurai data yang diberikan oleh formulir
HTML, berkomunikasi dengan basis data, dan membuat mempermudah
perhitungan yang rumit. PHP sangat cepat karena source code yang
tersedia gratis dikompilasikan ke dalam Apache Web server. PHP script
46
dieksekusi sebagai bagian dari proses Web server dan tidak membutuhkan
percabangan.
2.1.19 Structured Query Language (SQL)
Menurut Conolly dan Begg (2010, p183), Structured Query
Language (SQL) merupakan bahasa tertentu yang muncul dari
pengembangan relational model. Beberapa tahun terakhir, SQL telah
menjadi standar bahasa basis data relasional. Lebih dari seribu Database
Management System (DBMS) mendukung SQL, berjalan pada berbagai
perangkat keras mulai dari Personal Computer (PC) hingga mainframe.
2.1.20 MySQL
Menurut Welling dan Thomson (2009, p3), MySQL adalah
Relational Database Management System (RDBMS) yang sangat cepat
dan kuat dalam melakukan aktifitas basis data diantaranya
memungkinkan menyimpan, mencari, mengurutkan, dan menerima data
secara efisien. MySQL server mengontrol akses ke dalam data untuk
menjamin bahwa banyak pengguna dapat bekerja menggunakan MySQL
secara bersama-sama, menyediakan akses yang cepat ke dalamnya, dan
menjamin bahwa hanya pengguna yang berwenang yang dapat
memperoleh akses. Oleh karena itu, MySQL adalah multi-user, multi-
threaded server. MySQL menggunakan Structured Query Languange
(SQL), yang merupakan bahasa database query resmi yang mendunia.
47
2.1.21 Framework
Menurut Pratama (2010, p10), framework secara umum berarti
rangka, kerangka. Sedangkan istilah tersebut dalam dunia pemrograman
merupakan kumpulan kelas (class) dan fungsi (function) yang disusun
secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk
mempermudah pembuatan atau pengembangan suatu aplikasi. Manfaat
yang didapat dari penggunaan framework salah satunya adalah
menawarkan penghematan waktu kerja dalam penulisan kode dan
pengaturan berkas-berkas kode. Berkas kode dapat disusun secara
sistematis sesuai dengan struktur yang ditawarkan framework.
2.1.22 CodeIgnitier
Menurut Pratama (2010, p12), CodeIgniter merupakan sebuah
aplikasi open source yang berupa framework dengan model MVC
(Model, View, Controller) untuk membangun website yang dinamis
dengan menggunakan bahasa pemrogramman PHP. CodeIgniter
memudahkan developer untuk membangun atau membuat aplikasi web
dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.
Gambaran penerapan arsitektur MVC dalam CodeIgniter adalah
sebagai berikut:
1. Model bertanggung jawab untuk melakukan pengelolaan data
dalam basis data. Didalamnya biasa dituliskan perintah untuk
menggambil, mengubah, menghapus, dan menambahkan data.
48
2. View merupakan “tempat” untuk meletakkan apa yang akan di
tampilkan di halaman browser. Sebuah berkas view umumnya
berisi kode bahasa pemrograman klien (client-side scripting).
3. Controller merupakan pengatur utama hubungan antar model,
view, dan juga sumber daya lain yang tersedia. Sumber daya ini
diperoleh dari kelompok atau tipe kelas yang disebut juga dengan
elemen framework CodeIgnitier.