BAB 2 LANDASAN TEORI
2.1 Pendekatan Basisdata Pada bab ini akan dijelaskan mengenai teori-teori yang digunakan sebagai dasar dari penelitian ini. Teori-teori tersebut didapat dari sumber-sumber yang terpercaya seperti jurnal, textbook dan internet.
2.1.1 Database (Basisdata) Database merupakan data yang saling terhubung dan deskripsi dari data yang dirancang untuk kebutuhan organisasi (Connolly dan Begg, 2005, p15). Sedangkan menurut Nilkamal Surve (2006, p1-1). database adalah kumpulan dari data yang saling terhubungan. Dari teori-teori tersebut dapat disimpulkan bahwa database adalah sejumlah datayang terorganisasi yang saling terhubung untuk menyediakan informasi yang dibutuhkan oleh perusahaan.
13
14
2.1.2 DBMS (Database Management System) DBMS adalah sebuah sistem perangkat lunak yang mengizinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke database (Connolly danBegg, 2005, p16). Menurut Jeffery, Lonnie dan Kevin (2004, p524), Database Management System (DBMS) adalah perangkat lunak khusus yang digunakan untuk membuat, mengontrol, dan mengelola sebuah database. Menurut Gerald V. Post (2005, p2), Database Management System (DBMS) merupakan software yang mendefinisikan database, menyimpan data, mendukung query language, menghasilkan report, dan membuat data entry screen. Keuntungan DBMS (Connolly dan Begg, 2005, p26) : 1. Kontrol terhadap pengulangan data 2. Konsistensi data 3. Lebih banyak informasi yang didapat dari jumlah data yang sama 4. Data dapat dipakai bersamaan 5. Peningkatan integritas data 6. Peningkatan keamanan 7. Penetapan standardisasi
15
8. Skala Ekonomis 9. Keseimbangan konflik requirment 10. Peningkatan data aksesibilitas dan respon 11. Peningkatan produktivitas 12. Peningkatan maintenance melalui data independence 13. Peningkatan concurrency 14. Peningkatan layanan recovery dan backup Kekurangan DBMS (Connolly dan Begg, 2005, p29): 1. Kompleksitas 2. Ukuran 3. Biaya DBMS 4. Penambahan biaya hardware 5. Biaya konversi 6. Performa 7. Tingkat kegagalan lebih tinggi
2.1.3 Komponen DBMS Komponen DBMS terdiri dari 5 komponen penting (Connolly dan Begg, 2005, p18) :
16
1. Perangkat keras Aplikasi dan DBMS memerlukan perangkat keras untuk berfungsi. Contoh perangkat keras yang digunakan DBMS dan aplikasi antara lain personal computer,mainframe. 2. Perangkat lunak Komponen dari perangkat lunak terdiri dari DBMS dan program aplikasi bersamadengan sistem operasi. Umumnya, program aplikasi ditulis dalam 3GL (bahasa pemrograman generasi ketiga) seperti java, c++, c, atau menggunakan 4GL (bahasa pemrograman generasi keempat), seperti SQL, yang dikombinasikan dengan 3GL. 3. Data Data adalah komponen terpenting dalam lingkungan DBMS. Menurut Connollydan Begg(2004, p20), data bertindak sebagai penghubung antara komponen mesindan pengguna. Database berisi data operasional dan metadata (data tentang data). 4. Prosedur Prosedur berkaitan dengan instruksi dan aturan yang menentukan rancangan dan penggunaan database.
17
Instruksi-instruksi tersebut umumnya berisi : a. Instruksi untuk menjalankan dan menghentikan DBMS. b. Instruksi untuk menggunakan fasilitas tertentu dari DBMS. c. Instruksi untuk membuat salinan backup dari database. d. Instruksi untuk menangani kegagalan perangkat keras atau perangkat lunak. 5. Manusia Komponen terakhir yaitu manusia yang terlibat dengan sistem
2.1.4 Fungsi DBMS Menurut Connolly dan Begg (2005, p48), DBMS memiliki sepuluh fungsi, yaitu: 1. Data storage, retrieval, and update DBMS harus dapat memungkinkan user untuk menyimpan, mengambil, dan mengupdate data di dalam basis data.
18
2. A user-accessible catalog DBMS harus memiliki sebuah katalog yang berisi deskripsi data item dan dapat diakses oleh user. 3. Transaction support DBMS harus memiliki sebuah mekanisme yang dapat menjamin baik seluruh update yang berhubungan dengan sebuah transaksi dapat dilakukan ataupun keseluruhan update tersebut tidak dilakukan. 4. Concurrency control services DBMS harus memiliki sebuah mekanisme untuk menjamin basis data di-update secara benar ketika banyak user meng-update basis data secara bersamaan. 5. Recovery services DBMS harus memiliki sebuah mekanisme untuk pemulihan basis data apabila terjadi bencana. 6. Authorization services DBMS harus memiliki sebuah mekanisme untuk menjamin bahwa hanya user yang memiliki otorisasi yang dapat mengakses basis data.
19
7. Support for data communication DBMS harus dapat terintegrasi dengan piranti lunak komunikasi, dapat mengakses database dari lokasi yang jauh. 8. Integrity services DBMS harus memiliki sarana untuk menjamin baik data di dalam basis data maupun pengubahan terhadap data mengikuti aturan-aturan tertentu (constraint). 9. Services to promote data independence DBMS harus menyertakan fasilitas-fasilitas untuk mendukung ketidaktergantungan piranti lunak terhadap struktur aktual dari basis data. 10. Utility services DBMS harus menyediakan serangkaian layanan kegunaan seperti program analisis statistik, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain.
2.1.5 Entity Relationship Modeling Menurut Connolly dan Begg (2005, p342), ER Modeling adalah sebuah pendekatan top-down untuk merancang basisdata yang dimulai dengan mengindentifikasi data penting yang
20
disebut entitas dan relasi antara data yang harus diwakili dalam model. ER Modeling terdiri dari 2 tipe : 1. Tipe Entitas Menurut Connolly dan Begg (2005, p343), tipe entitas adalah kumpulan dari obyek-obyek dengan sifat atau properti yang sama, yang mana diidentifikasi oleh perusahaan yang mempunyai eksistensi yang independen. Konsep dasar dari bentuk Entity Relationship adalah tipe entitas. Sebuah tipe entitas memiliki keberadaan yang bebas dan bisa menjadi obyek dengan keberadaan fisik atau menjadi obyek dengan keberadaan konseptual. Ini berarti
perancang
mengidentifikasikan
yang entitas
berbeda yang
berbeda.
mungkin Entity
orrurrence adalah obyek yang dapat dikenal/diidentifikasi secara unik dari sebuah tipe entitas. 2. Tipe Relasi Menurut Connolly dan Begg (2005, p346), relationship type adalah kumpulan keterhubungan yang mempunyai arti diantara tipe-tipe entitas. Setiap relasi diberi nama sesuai dengan fungsinya. Relationship occurrence adalah
21
suatu asosiasi/hubungan yang dapat diidentifikasikan secara unik, yang mana memasukkan satu kejadian dari setiap tipe entitas yang berpartisipasi. Contoh:
Gambar 2.1 Relationship Occurrence (Connolly
dan
Begg 2005, p346)
Derajat dari relasi adalah jumlah dari partisipasi tipe entitas dalam sebuah tipe relasi. Entitas yang berhubungan dalam sebuah tipe relasi dikenal sebagai participant dalam relationship dan jumlah participant dalam sebuah tipe relationship disebut sebagai derajat dari relationship. Oleh karena itu, derajat dari sebuah relationship berderajat dua disebut binary, sedangkan relationship berderajat tiga disebut sebagai ternary, dan seterusnya.
22
3. Attribute Menurut Connoly dan Begg (2005, p350-352), atribut adalah
sifat
dari
sebuah entity atau
sebuah
tipe
relationship. Atribut menyimpan nilai dari setiap entity occurrence dan mewakili bagian utama dari data yang disimpan dalam basis data. Attribute domain adalah sejumlah nilai yang diperkenankan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan sama dengan konsep domain pada model relasional. Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas. Simple Attribute tidak bisa dibagi lagi ke dalam komponen yang lebih kecil. Contohnya, posisi
dan
gaji
dari
entity
pegawai.
Sedangkan
Composed attribute adalah sebuah susunan atribut dari banyak komponen dengan sebuah keberadaan yang bebas dari masing-masingnya. Dalam hal ini beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan keberadaan yang bebas dari masingmasingnya.
Contohnya
atribut
alamat
dari
entity
kantor cabang yang mengandung nilai (jalan, kota, kode pos) bisa dipecahkan menjadi simple attribute jalan, kota,
23
dan kode pos. Single value attribute adalah atribut yang hanya menyimpan nilai tunggal untuk suatu sifat dari entity. Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entity. Contohnya atribut telepon pada entity kantor cabang yang bisa memiliki lebih dari satu nomor telepon. Derived attribute (atribut turunan) adalah atribut yang menunjukkan
nilai
yang diperoleh dari atribut yang
berhubungan, tidak terlalu dibutuhkan dalam tipe entity yang sama. Atribut turunan mungkin juga menyangkut hubungan dari atribut pada tipe entity yang berbeda. 4. Kunci (Key) Menurut Connoly dan Begg (2005, p78-79), kunci relasi sangat dibutuhkan untuk mengidentifikasi satu atau lebih atribut yang memiliki nilai unik setiap tuple dalam relasi. Macam-macam kunci relasi : 1. Simple Key Simple Key adalah suatu kunci yang dibentuk oleh satu atribut. 2. Composite Key Composite
Key
adalah
kunci
berdasarkan lebih dari satu atribut.
yang
disusun
24
3. Candidate Key Candidate Key adalah suatu atribut atau satu set minimal
atribut
yang mengidentifikasikan secara
unik suatu kejadian spesifik dari entity. 4. Primary Key Primary Key adalah satu atribut atau satu set minimal
atribut
yang
tidak
hanya
mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity. 5. Alternative Key Alternative Key adalah kunci kandidat yang tidak terpakai sebagai kunci primer. 6. Foreign key Foreign key adalah satu atribut yang melengkapi satu hubungan (relationship) yang menunjukkan ke induknya. 5. Structural Constraint Menurut
Connolly
dan
Begg
(2005,
p356-
357),Constraints seharusnya mencerminkan batasan dari hubungan sebagai suatu tanggapan dalam dunia nyata. Tipe
utama
constraints
dalam
hubungan
disebut
multiplicity. Multiplicity adalah sejumlah kejadian yang
25
mungkin terjadi pada sebuah tipe entity dimana memungkinkan berhubungan dengan satu kejadian lain yang bergantung pada sebuah tipe entity melalui sebuah hubungan yang nyata. Multiplicity membatasi jalan setiap entity-entity yang terhubung. Derajat yang paling umum untuk relationship ialah binary(degree two) Binary relationship pada umumnya mengarah pada : 1. One-to-One (1:1) Relationship Pada One-to-one relationship, satu kejadian entity tunggal hanya dapat berhubungan dengan satu kejadian entity tunggal dari entity yang lain.
Gambar 2.2 Contoh representasi One-to-One Relationship (Connolly dan Begg 2005, p357)
(1:1)
26
Gambar 2.3 Multiply One-to-One (Connolly dan Begg 2005, p358)
(1:1)
Relationship
2. One-to-Many (1:*) Relationship Pada one-to-many relationship, satu kejadian entity tunggal dapat berhubungan dengan lebih dari satu kejadian entity tunggal dari entity yang lain.
Gambar
2.4
Contoh
representasi
One-to-Many
Relationship (Connolly dan Begg 2005, p358)
(1:*)
27
Gambar 2.5 Multiply One-to-Many (1:*) Relationship (Connolly dan Begg 2005, p359)
3. Many-to-Many (*:*) Relationship Pada many-to-many relationship, lebih dari satu kejadian entity tunggal dapat berhubungan dengan lebih dari satu kejadian entity tunggal dari entity yang lain.
28
Gambar 2.6 Contoh representasi Many-to-Many (*:*) Relationship (Connolly dan Begg 2005, p360)
Gambar 2.7 Multiply Many-to-Many (*:*) Relationship (Connolly dan Begg 2005, p360)
29
2.1.6 Database Languages Bahasa dalam basisdata dibedakan menjadi dua bentuk : 1. Data Definition Language (DDL) Menurut Connolly dan Begg (2005, p40), pengertian Data Definition Language adalah memperbolehkan
Database
suatu
bahasa
Administrator (DBA)
yang atau
pengguna untuk mendeskripsikan dan memberi nama suatu entitas, atribut, dan relasi data yang dibutuhkan untuk aplikasi, bersama dengan integritas data yang diasosiasikan dan batasan (constraint) keamanan data. 2. Data Manipulation Language (DML) Menurut Connolly dan Begg (2005, p40), pengertian Data
Manipulation Language adalah suatu bahasa yang
menyediakan
seperangkat
operasi
untuk
mendukung
manipulasi data yang berada pada basis data.Pengoperasian data yang akan dimanipulasi 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 jenis yaitu Procedural dan Nonprocedural. Menurut Connolly dan Begg (2005, p41), pengertian Procedural DML adalah suatu bahasa yang
30
memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan
bagaimana
mendapatkan data tersebut secara tepat, sedangkan Nonprocedural DML adalah
sebuah
bahasa
yang
mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagaimana data diperoleh.
2.1.7 Fourth-Generation Language (4GLs) Menurut Connolly dan Begg (2005, p42), tidak terdapat persetujuan umum tentang bahasa generasi keempat. Berbeda dengan bahasa generasi ketiga yang membutuhkan banyak baris untuk sebuah operasi, generasi keempat ini membutuhkan lebih sedikit baris untuk sebuah operasi dibanding dengan bahasa generasi sebelumnya. Sebuah bahasa generasi keempat sangat diharapkan dapat menjadi tumpuan yang sangat besar untuk komponenkomponen yang levelnya lebih tinggi yang dikenal dengan fourth-generation tools. Bahasa generasi keempat meliputi : 1. Presentation language, seperti query languages dan report generators
31
2. Speciality language, seperti spreadsheets dan database language 3. Application generators yang mendefinisi, melakukan insert, update, delete data dari database ke aplikasi yang sedang dibangun 4. Very
high-level
languages
yang
digunakan
untuk
mengenerate applicationcode
2.1.8 Siklus Hidup Basisdata Karena sistem database adalah komponen fundamental dari sistem informasi organisasi yang lebih besar, siklus perkembangan sistem database sangat erat kaitannya dengan siklus dari sistem informasi. Untuk aplikasi basisdata yang kecil dengan jumlah pengguna yang sedikit, tidak dibutuhkan siklus hidup basisdata yang kompleks. Bagaimanapun,
saat
merancang
aplikasi
basisdata
menengah sampai besar dengan jumlah pemakai puluhan hingga ribuan pemakai, menggunakan ratusan query dan aplikasi program, siklus hidup dapat menjadi sangat kompleks. Berikut ini adalah gambar tahapan – tahapan siklus hidup aplikasi basisdata menurut Conolly dan Begg (2005, p284).
32
Diagram 2.1 Siklus Hidup Aplikasi Basisdata (Connolly dan Begg, 2005, p284)
33
2.1.8.1
Perencanaan Basisdata (Database Planning) Merupakan aktifitas yang merencanakan tahapan dari daur hidup sistem basisdata dapat direalisasikan secara lebih efisien dan efektif. Perencanaan basisdata harus terintegrasi dengan seluruh strategi sistem informasi dari organisasi bersangkutan. Ada tiga permasalahan pokok dalam merumuskan suatu strategi sistem informasi (Connolly dan Begg, 2005, p285), yaitu : a. Identifikasi rencana dan tujuan perusahaan dengan penentuan sistem informasi yang dibutuhkan. b. Evaluasi sistem informasi yang berjalan untuk menentukan kelebihan dan kelemahan sistem yang ada. c. Penilaian terhadap peluang-peluang informasi teknologi
yang
mungkin
mendatangkan
keuntungan yang kompetitif.
2.1.8.2
Definisi Sistem (System Definition) Definisi
sistem
menjelaskan
batasan-
batasan dan ruang lingkup aplikasi basisdata dan
34
sudut pandang mayoritas pengguna (Connoly dan Begg, 2005, p286).
2.1.8.3
Pengumpulan dan Analisis kebutuhan (Requirement Collection and Analysis) Pengumpulan
dan
analisis
kebutuhan
adalah proses pengumpulan dan analisa informasi tentang bagian perusahaan yang didukung yang didukung aplikasi basisdata dan menggunakan informasi
untuk
mengidentifikasi
kebutuhan-
kebutuhan pengguna dari sistem yang baru (Connolly dan Begg, 2005, p288). Terdapat banyak teknik untuk menyatukan informasi yang disebut fact-finding techniques. Informasi yang dikumpulkan untuk tiap user view utama (yaitu job role atau enterprise application area) meliputi: •
Deskripsi data yang digunakan atau dihasilkan
•
Rincian bagaimana data digunakan atau dihasilkan
35
•
Semua kebutuhan-kebutuhan tambahan untuk aplikasi basisdata yang baru.
2.1.8.4
Perancangan Basisdata (Database Design) Perancangan basisdata merupakan proses membuat rancangan basisdata yang mendukung operasi- operasi dan tujuan-tujauan perusahaan (Connolly dan Begg, 2005, p291). Terbagi atas 3 tahap antara lain: ∗
Perancangan Basisdata Konseptual (Conceptual Database Design) Proses membuat penjelasan implementasi database pada penyimpanan sekunder, menggambarkan
hubungan
dasar,
organisasi file, dan indeks yang digunakan untuk
mencapai
akses
yang
efisien
terhadap data, dan setiap ruang lingkup integritas yang terkait dan nilai keamanan.
36
∗
Perancangan Basisdata Logikal (Logical Database Design) Proses pembuatan sebuah model data yang digunakan
dalam
suatu
perusahaan
berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. ∗
Prancangan Basisdata Fisikal (Physical Database Design) Proses membuat penjelasan implementasi database pada penyimpanan sekunder, menggambarkan
hubungan
dasar,
organisasi file, dan indeks yang digunakan untuk
mencapai
akses
yang
efisien
terhadap data, dan setiap ruang lingkup integritas yang terkait dan nilai keamanan.
2.1.8.5
Pemilihan DBMS (DBMS Selection) Pemilihan DBMS adalah pemilihan DBMS yang sesuai untuk mendukung aplikasi basisdata
37
(Connolly dan Begg, 2005, 295). Langkahlangkah utama untuk memilih DBMS adalah: •
Mendefinisikan istilah-istilah yang mengarah pada pembelajaran
•
Daftar pendek dua atau tiga produk
•
Mengevaluasi produk
•
Merekomendasikan pilihan dan membuat laporan
2.1.8.6
Perancangan Aplikasi (Application Design) Perancangan aplikasi adalah perancangan antarmuka
pengguna
dan
program-program
aplikasi yang digunakan dan memproses basisdata.
2.1.8.7
Prototipe (Prototyping) Prototipe adalah pembangunan model kerja aplikasi basisdata (Connolly dan Begg, 2005, p304). Terdapat dua strategi prototipe yang biasa digunakan
sekarang
ini,
yaitu
requirement
prototyping dan evolutionary prototyping.
38
Requirement
prototyping menggunakan
prototipe untuk menentukan kebutuhan-kebutuhan yang diusulkan aplikasi basisdata dan jika kebutuhan -kebutuhan sudah dilengkapi maka prototipe
tidak
dipakai
lagi
atau
dibuang.
Sedangkan evolutionary prototyping digunakan untuk tujuan yang sama, tetapi perbedaannya requirements prototyping adalah prototipe tidak dibuang tetapi dengan perkembangan lebih lanjut menjadi aplikasi kerja basisdata.
2.1.8.8
Implementasi (Implementation) Implementasi adalah realisasi fisik basis data dan perancangan aplikasi (Connolly dan Begg, 2005, p304). Implementasi basisdata dicapai menggunakan DDL (data definition language) dan aplikasi menggunakan 4GL (Fourth generation language).
39
2.1.8.9
Konversi Data dan Muatan Data (Data Conversion and Loading) Konversi data dan muatan data adalah memindahkan semua data yang ada kedalam basisdata yang baru dan mengkonversikan semua aplikasi yang ada untuk digunakan pada basisdata yang baru (Connolly dan Begg, 2005, p305).
2.1.8.10
Pengetesan (Testing) Pengetesan adalah proses mengeksekusi program-program
dengan
tujuan
untuk
menemukan kesalahan-kesalahan (Connolly dan Begg, 2005, p305).
2.1.8.11
Pemeliharaan Operasional (Operational Maintenance) Pemeliharaan operasional adalah proses mengawasi dan memlihara sistem yang meliputi aktifitas mengawasi performa dari sistem dan
40
memelihara dan memperbarui aplikasi basisdata (Connolly dan Begg, 2005, p306).
2.1.9 Methodology Desain Basisdata Sebuah
pendekatan
terstruktur
yang
menggunakan
prosedur, teknik, alat-alat, dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses desain. (Connolly dan Begg, 2005, p306). Rancangan metodologi terdiri dari beberapa fase yang masing-masing berisi sejumlah langkah, yang menjadi acuan perancang menentukan teknik yang tepat pada setiap tahapan proyek. Sebuah rancangan metodologi juga membantu desainer untuk
merencanakan,
mengelola,
mengendalikan,
dan
mengevaluasi pengembangan proyek database. Selain itu, rancangan
ini
merupakan
pendekatan
terstruktur
untuk
menganalisis dan pemodelan persyaratan-persyaratan untuk database dengan cara standar dan terorganisir. Dalam metodologi rancangan database, proses rancangan dibagi menjadi 3 fase:
41
1. Rancangan Basisdata Konseptual Proses pembangunan sebuah model data yang digunakan dalam perusahaan, independen dari semua pertimbangan fisik. Tahap desain konseptual basisdata dimulai dengan penciptaan data model konseptual perusahaan, yang sepenuhnya independen dari rincian implementasi seperti target DBMS, program aplikasi, bahasa pemrograman, platform
perangkat
keras,
masalah
kinerja,
atau
pertimbangan fisik lainnya. Langkah 1 Membangun model konseptual data Tujuan: Untuk membangun sebuah model data konseptual dari kebutuhan data perusahaan. Model data konseptional terdiri dari: tipe entitas, tipe hubungan, atribut dan domain atribut, kunci utama dan alternative, ruang lingkup terintegritasi. Model dta konseptual didukung oleh dokumentasi, termasuk diagram ER dan list data, yang dihasilkan selama perkembangan model ini. Langkah 1.1 Mengidentifikasi jenis entitas Tujuan:
Untuk
dibutuhkan
mengidentifikasi
tipe
entitas
yang
42
Langkah 1.2 Mengidentifikasi jenis hubungan Tujuan: Untuk mengidentifikasi hubungan penting yang ada antara tipe-tipe entitas Langkah 1.3 Mengidentifikasi dan mengasosiasikan atribut dengan tipe entitas atau hubungan Tujuan: Untuk mengasosiasikan atribut dengan tipe entitas atau hubungan yang cocok. Langkah 1.4 Menentukan domain atribut Tujuan: Untuk menentukan domain dari atribut pada model data konseptual. Langkah 1.5 Tentukan atribut calon kunci, primer, dan alternative Tujuan: Untuk mengidentifikasi kandidat kunci untuk setiap jenis entitas dan, jika ada lebih dari satu kandidat kunci, untuk dipilih salah satu untuk menjadi kunci utama dan lainnya sebagai kunci alternatif.
43
Langkah 1.6 Pertimbangkan penggunaan konsep pemodelan enhanced (langkah opsional) Tujuan: Untuk mempertimbangkan penggunaan konsep pemodelan enhanced, seperti spesialisasi /generalisasi, agregasi, dan komposisi. Langkah 1.7 Periksa Redundansi Model Tujuan: Untuk memeriksa keberadaan redudansi pada model Langkah 1.8 Validasi model konseptual terhadap transaksi pengguna Tujuan: Untuk menyakinkan bahwa model konsepsual mendukung transaksi yang dibutuhkan. Langkah 1.9 Review Model data konseptual dengan pengguna Tujuan Untuk meninjau model data konseptual dengan pengguna
untuk
memastikan
bahwa
mereka
mempertimbangkan sebagai representasi yang 'benar' dari data perusahaan yang dibutuhkan.
2. Rancangan Basisdata Logikal
44
Proses pembuatan sebuah model data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. Tahap rancangan database logis memetakan model konseptual ke model logis, yang dipengaruhi oleh model data untuk database target (misalnya, model relasional). Model data logis merupakan sumber informasi untuk fase desain fisik, menyediakan rancangan database fisik dengan sarana untuk membuat pengorbanan yang sangat penting untuk desain database yang efisien. Langkah 2 Membangun dan memvalidasi model data logis Tujuan: Untuk menerjemahkan model data konseptual menjadi model data logis dan kemudian memvalidasi model ini dan memeriksa bahwa model ini benar secara struktural dan mampu mendukung transaksi yang diperlukan.
Langkah 2.1 Membuat hubungan untuk model data logis
45
Tujuan: Untuk menciptakan hubungan antara model data logis untuk mewakili entitas, hubungan, dan atribut yang telah diidentifikasi. Langkah 2.2 Validasi relasi dengan menggunakan normalisasi Tujuan: Untuk memvalidasi hubungan pada data model logical menggunakan normalisasi Langkah 2.3 Validasi relasi terhadap transaksi pengguna Tujuan: Untuk meyakinkan bahwa relasi pada data model logical mensupport transaksi yang diperlukan. Langkah 2.4 Periksa integritas ruang lingkup Tujuan:
Untuk
memeriksa
ruang
lingkup
yang
terintegrasi diwakili oleh data model logikal
Langkah 2.5 Review Model data logis dengan pengguna
46
Tujuan: Untuk meninjau model data logis dengan pengguna untuk memastikan bahwa mereka menganggap model menjadi representasi yang benar dari data perusahaan yang diperlukan. Langkah 2.6 Menggabungkan model data logis ke model global (langkah opsional) Tujuan: Untuk menggabungkan model data logis lokal ke dalam model data logis global tunggal yang mewakili pandangan pengguna semua database. Langkah 2.7 Periksa perkembangan selanjutnya Tujuan: Untuk menentukan apakah ada perubahan yang signifikan dalam kemungkinan mendatang dan untuk menilai apakah model data logis dapat mengakomodasi perubahan ini. 3. Rancangan Database Fisikal Proses membuat penjelasan implementasi database pada penyimpanan sekunder, menggambarkan hubungan dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap ruang lingkup integritas yang terkait dan nilai keamanan.
47
Tahap desain database fisik memungkinkan perancang untuk membuat keputusan tentang bagaimana database diimplementasikan. Oleh karena itu, desain fisik disesuaikan dengan DBMS tertentu. Ada umpan balik antara desain fisik dan desain logis, karena keputusankeputusan yang diambil selama membuat desain fisik untuk meningkatkan kinerja dapat mempengaruhi model data logis. Langkah 3 Terjemahkan logis data model untuk target DBMS Tujuan: Untuk menghasilkan skema database relasional dari model data logis yang dapat diimplementasikan dalam DBMS target. Langkah 3.1 Desain hubungan dasar Tujuan:
Untuk
menentukan
bagaimana
mewakili
hubungan dasar yang diidentifikasi dalam Model data logis pada target DBMS.
Langkah 3,2 Desain representasi asal data
48
Tujuan: Untuk menentukan bagaimana mewakili data yang diturunkan dalam Model data logis pada DBMS target. Langkah 3.3 Desain ruang lingkup umum Tujuan: Untuk merancang ruang lingkup umum untu target DBMS Langkah 4 Desain berkas organisasi dan indeks Tujuan: Untuk menentukan organisasi file yang optimal untuk menyimpan hubungan dasar dan indeks yang diperlukan untuk mencapai kinerja yang dapat diterima, yaitu, cara di mana hubungan dan tupel akan diungkapkan pada penyimpanan sekunder. Langkah 4.1 Menganalisis transaksi Tujuan: Untuk memahami fungsi dari transaksi yang akan berjalan pada database dan untuk menganalisis transaksi yang penting.
Langkah 4.2 Pilih file organisasi
49
Tujuan: Untuk menentukan organisasi file yang efisien untuk tiap hubungan dasar. Langkah 4.3 Pilih indeks Tujuan: Untuk menentukan aakah menambahan indeks akan meningkatkan kemampuan system. Langkah
4,4
Perkirakan
harddisk
space
yang
diperlukan Tujuan: Untuk memperkirakan jumlah space hardisk yang diperlukan untuk database. Langkah 5 Desain user views Tujuan: Untuk merancang pandangan pengguna yang telah
diidentifikasi
selama
perkembangan
siklus
pengumpulan dan analisis tahap sistem database yang dibutuhkan. Langkah 6 Desain mekanisme keamanan Tujuan: Untuk merancang mekanisme keamanan untuk database seperti yang ditentukan oleh pengguna selama perkembangan siklus pengumpulan dan analisis tahap sistem database yang dibutuhkan.
50
Langkah 7 Pertimbangkan pengenalan redundansi terkontrol Tujuan: Untuk menentukan apakah memperkenalkan redundansi secara terkendali oleh aturan normalisasi yang ringan akan meningkatkan kinerja sistem. Langkah 7.1 Menggabungkan hubungan satu-ke-satu (1:1) untuk mengurangi penggabungan Langkah 7.2 Menduplikasi atribut non-key dalam hubungan satu-ke-banyak (1: *) untuk mengurangi penggabungan Langkah 7.3 Menduplikasi atribut kunci asing dalam hubungan satu-ke-banyak (1: *) untuk mengurangi penggabungan
Langkah 7.4 Menduplikasi atribut dalam hubungan banyak-ke-banyak (*: *) untuk mengurangi penggabungan
51
Langkah 7.5 Memperkenalkan kelompok pengulangan untuk meningkatkan perfoma sistem Langkah 7.6 Membuat tabel ekstrak untuk membuat dan mengisi tabel dan memprosesnya saat sistem sedang tidak banyak meloading data. Langkah 7.7 Hubungan Partisi untuk menyimpan dan menganalisis sejumlah data yang besar. Langkah 8 Monitor dan menyempurnakan sistem operasional Tujuan: Untuk memonitor sistem operasional dan meningkatkan
kinerja
sistem
untuk
memperbaiki
keputusan desain yang tidak tepat atau mencerminkan perubahan kebutuhan.
2.1.10 Normalisasi Menurut Connolly dan Begg (2005, p388), normalisasi adalah sebuah teknik untuk menghasilkan satu set relasi dengan atribut-atribut
yang
inginkan,
sesuai
dengan
kebutuhan
52
perusahaan.
Tujuan
dari
normalisasi
adalah
untuk
mengidentifikasi suatu set relasi yang sesuai, yang mendukung permintaan data dari perusahaan. Sedangkan menurut Whitten, Bentley, dan Dittman (2004, p306), normalisasi adalah teknik analisis data yang mengatur atribut data dalam kelompok untuk membentuk entitas yang non-redundan, stabil, fleksibel, dan mudah beradaptasi. Unnormalized (UNF) merupakan keadaan dimana sebuah tabel berisi satu atau lebih grup yang berulang. Grup yang berulang adalah sebuah atribut atau kumpulan atribut, dalam sebuah tabel, yang mempunyai multiple value. Untuk membuat entitas data yang normal, tidak redundan, stabil, dan fleksibel, diperlukan normalisasi.
Tahapan-tahapan Normalisasi menurut Connolly dan Begg (2005, p401):
1. First Normal Form (1 NF) Bentuk normal pertama merupakan sebuah relasi dimana irisan dari baris dan kolom hanya memiliki 1 nilai. Bentuk normal pertama ini dicapai apabila setiap nilai atribut adalah
53
tunggal, tidak ada atribut yang dapat memiliki lebih dari satu nilai untuk contoh entitas tunggal. Untuk mencapai bentuk normal pertama, yang harus dilakukan adalah: •
menghilangkan perulangan
•
menghilangkan perhitungan
•
menentukan primary key
2. Second Normal Form (2NF) Bentuk normal kedua merupakan sebuah relasi dari bentuk normal pertama dimana setiap atribut yang bukan primary key harus bergantung sepenuhnya secara fungsional dengan primary key (fully functional dependency). Untuk mencapai bentuk
normal
kedua,
yang
harus
dilakukan
adalah
menghilangkan ketergantuan parsial dari atribut-atribut nonprimary key.
3. Third Normal Form (3NF)
54
Bentuk normal ketiga merupakan sebuah relasi dari bentuk normal pertama dan kedua dimana tidak ada atribut yang nonprimay key tergantung transitif dengan primay key.
2.2 Tools yang digunakan Dalam penulisan skripsi ini, adapun tools yang digunakan dalam perancangan sistem basisdata dan aplikasi basisdata antara lain menggunakan diagramming tools dan software tools.
2.2.1 Diagramming Tools Dalam merancang dan membuat aplikasi sistem basisdata ini, adapun diagramming tools yang digunakan sebagai berikut: 1. Flowchart Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. (meftahul.com, 2011) Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
55
Tabel 2.1 Simbol Flowchart (meftahul.com, 2011)
2. Data Flow Diagram (DFD) Menurut Jeffery L.Whitten (2007, p317), data flow diagram adalah sebuah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan
56
oleh sistem. Konsep untuk modeling DFD terdiri dari (Jeffery L.Whitten, 2007, p319-322): •
Eksternal Agen Persegi empat menyatakan agen eksternal-batasan sistem
tersebut.
Kedua
model
membedakannya hanya ukurannya
Gambar 2.8 Eksternal Agen (Jeffery L.Whitten, 2007, p319)
sama,
yang
57
•
Data Store Untuk model dari DeMarco/Yourdon persegi panjang dengan kedua ujung terbuka menyatakan data store, terkadang disebut file atau database. Sedangkan model dari Gane dan Sareon ditandai dengan warna hijau disebelah kiri dan terbuka disebelah kanan.
Gambar 2.9 Data Store (Jeffery L.Whitten, 2007, p320)
58
•
Proses Name Persegi panjang bersudut (bentuk Gane dan Sarson) menyatakan nama proses (Process Name) atau bagaimana tugas dikerjakan.
Gambar 2.10 Process Name (Jeffery L.Whitten, 2007, p321)
3. State Transition Diagram (STD) State Transition Diagram (STD) menunjukan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal. Untuk melakukannya, STD menunjukkan berbagai model tingkah laku (disebut state) sistem dan cara di mana transisi dibuat dari state satu ke state lainnya. STD berfungsi sebagai dasar bagi pemodelan tingkah laku. (Pressman, 2001, p302)
59
Notasi yang digunakan dalam State Transition Diagram adalah : − Action (Aksi) Merupakan suatu tindakan yang dilakukan oleh sistem saat terjadi perubahan state atau merupakan suatu reaksi terhadap kondisi. Aksi menghasilkan output seperti pesan pada layar, cetakan pada printer, dan lain - lain. − Condition (kondisi) Merupakan suatu kejadian yang terdapat pada lingkungan eksternal yang dapat dideteksi oleh sistem yang akan mengakibatkan perubahan keadaan. − State Merupakan suatu simbol yang menyatakan suatu keadaan atau kondisi dari sebuah sistem. − Transition State Merupakan suatu simbol yang menyatakan perubahan dari state yang satu ke state yang lain.
60
2.2.2 Software Tools 1. PHP Software ini digunakan untuk melakukan interpretasi data kode PHP menjadi kode HTML sehingga hasilnya dapat ditampilkan di webbrowser (Budi Raharjo, 2011,246) 2. Database Management System (DBMS) Kumpulan program yang digunakan untuk mendefinisikan, mengatur, dan memproses database, sedangkan database itu sendiri esensinya adalah sebuah struktur yang dibangun untuk keperluan penyimpanan data. DBMS merupakan alat atau tool yang berperan untuk membangun struktur tersebut. (Budi Raharjo, 2011,10) 3. MySQL Merupakan software RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user(multiuser), dan dapat melakukan suatu proses secara sinkron atau berbarengan(multi-threaded).
61
2.3 Pemahaman Object Studi Semua penjelasan tentang Object studi yang berkaitan dengan sistem yang berjalan didalam perusahaan dan berguna sebagai penjelasan dalam perancangan sistem basis data yang akan dibuat.
2.3.1 Customer Pelanggan atau Customer merupakan bagian penting dari perencanaan bisnis, tanpa customer maka tidak ada penjualan dan tidak ada perusahaan yang akan bertahan lama. Untuk bertahan perusahaan mengelompokan sesuai dengan dasar kebutuhan, kebiasaan dan atribut lainnya.(Alexander, Yves, 2010, p20). Dapat disimpulkan bahwa customer adalah bagian yang penting untuk memulai sebuah usaha yang kita jalankan.
2.3.2 Produksi Produksi dapat dikatakan sebagai suatu aktivitas dalam perusahaan industri berupa penciptaan nilai tambah dari input menjadi output secara efektif dan efisien sehingga produk sebagai output dari proses penciptaan nilai tambah itu dapat dijual dengan harga yang kompetitif di pasar global (Vincent Gaspersz, 2005:167).
62
2.3.3 Pengangkutan Konunikasi, Distribusi, dan Chanel Pemasaran merupakan bagian dari penampilan sebuah perusahaan ke Customer(Alexander, Yves, 2010, p26). Maka dapat disimpulan Distribusi merupakan bagian yang penting dalam proses binis yang menghubungkan perusahaan dengan customer atau pelanggan.
2.3.4 Supplier Relasi dengan supplier dibuat untuk memaksimalkan alokasi dari barang dan kegiatan perusahaan (Alexander, Yves, 2010, p39). Maka dapat disimpulkan hubungan dengan supplier merupakan bagian penting dari proses binis dalam suatu perusahaan. Dengan adanya relasi dengan supplier dapat memaksimalkan proses alokasi bahan baku dan meninggkatkan produksi ataupun penjualan produk.
2.3.5 Penjualan Penjualan adalah bagaimana menciptakan hubungan jangka panjang dengan pelanggan melalui produk atau jasa dari sebuah perusahaan. Dalam hal ini penjualan adalah bagaimana strategi yang
63
akan digunakan untuk mengintegrasikan perusahaan, pelanggan, dan korelasi antar keduanya (Kertajaya, 2006, p15).
L1