Bab 2
TINJAUAN PUSTAKA
2.1
Teori yang berkaitan dengan Database 2.1.1
Pengertian Database
Menurut Connolly dan Begg (2010 : 65), database merupakan suatu kumpulan data yang terhubung secara logis beserta deskripsinya, dirancang untuk memenuhi kebutuhan informasi di dalam sebuah organisasi. 2.1.2
Database Management System (DBMS)
Menurut Connolly dan Begg (2010 : 66) Database Management system (DBMS) merupakan sistem software yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses data ke dalam suatu database. Beberapa fasilitas yang disediakan dalam DBMS, yaitu : •
DBMS menmungkinkan user untuk menentukan suatu database, biasanya menggunakan Data Definition Language (DDL). DDL memungkinkan user untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam database.
•
DBMS memungkinkan user untuk melakukan insert, update, delete dan retrieve terhadap data-data yang ada di dalam database melalui Data Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language.
•
DBMS menyediakan kontrol terhadap pengaksesan suatu database, misalnya sebuah sistem keamanan mencegah user
yang tidak
berkepentingan dapat mengakses database.
2.1.2.1 Komponen Lingkungan Database Management System
Menurut Connolly dan Begg (2010 : 68), komponen DBMS terdapat 5 komponen penting, yaitu : 7
8
Gambar 2.1 Komponen Lingkungan Database Management System Connolly & Begg (2010 : 68) 1. Hardware Dibutuhkan
untuk
menjalankan
DBMS
dan
aplikasi-
aplikasinya. Hardware meliputi dari PC, mainframe, dan jaringan komputer. 2. Software Meliputi aplikasi, software DBMS, sistem operasi dan juga sistem jaringan jika dalam penggunaannya menggunakan jaringan.
3. Data Merupakan komponen yang terpenting dan juga merupakan penghubung antara komponen mesin (Hardware dan Software) dan komponen human (Procedures dan people)
4. Prosedur Merupakan instruksi dan aturan yang mengatur perancangan dan penggunaan database.
5. People Komponen ini meliputi database administrator, database designers, application developers, dan end users.
2.1.2.2 Keuntungan dan Kerugian Database Management System
Menurut Connolly dan Begg (2010 : 77) keuntungan dari DBMS yaitu : 1. Mengendalikan redudansi data
9 2. Konsistensi data 3. Mendapatkan informasi lebih lanjut dari data yang sama 4. Penggunaan data bersama 5. Meningkatkan integritas data 6. Meningkatkan keamanan 7. Standarisasi 8. Skala ekonomi kecil 9. Menyeimbangkan kebutuhan user 10. Meningkatkan tingkat akses dan respon data 11. Meningkatkan produktifitas 12. Meningkatkan pemeliharaan melalui independensi data 13. Meningkatkan konkurensi 14. Meningkatkan fasilitas backup dan recovery dara
Menurut Connolly dan Begg (2010 : 80) kerugian dari DBMS yaitu : 1. Kompleksitas 2. Ukuran 3. Biaya DBMS 4. Biaya hardware tambahan 5. Biaya konversi 6. Performance 7. Dampak kegagalan yang besar
2.1.3
Daur Hidup Database ( Database Lifecycle )
Tahapan – tahapan perancangan yang digunakan untuk membangun aplikasi database menurut Connolly & Begg disebut daur hidup aplikasi
10 database (The Database Application Lifecycle). Tahapan - tahapan tersebut bisa dijabarkan sebagai berikut:
Gambar 2.2 DatabaseApplication Lifecycle Connolly & Begg (2010 : 314)
1. Database Planning Dalam tahap ini dilakukan perencanaan bagaimana tahapantahapan perancangan sistem database dapat direalisasikan secara efektif
11 dan efisien. Perencanaan database ini harus terintegrasi dengan strategi sistem informasi pada sebuah organisasi. Berikut ini adalah 3 hal utama dalam proses memformulasi sebuah strategi sistem informasi : • Mengidentifikasi rencana dan tujuan perusahaan kemudian menentukan sistem informasi yang dibutuhkan • Mengevaluasi sistem informasi yang sedang digunakan, kemudian menentukan kelebihan dan kekurangan dari sistem informasi tersebut • Melihat
peluang
sistem
apa
yang
mampu
mendapatkan
keuntungan yang kompetitif
2. Definition System Tahap ini menjelaskan ruang lingkup dan batas - batas sistem database dan pengguna. Sebelum melakukan desain terhadap sistem database, pertama – tama kita harus mengidentifikasi batas – batas dari sistem yang kita sedang investigasi dan bagaimana itu dapat berinteraksi dengan bagian lain dari sistem informasi organisasi tersebut.Sangat penting untuk kita untuk tidak hanya melibatkan user dan aplikasi yang sudah ada, tapi juga user dan aplikasi di masa yang akan dating.
3. Requirements Collection and Analysis Pada tahap ini dilakukan proses pengumpulan dan analisis data organisasi
yang
dapat
membantu
dalam
sistem
database
dan
menggunakan informasi tersebut untuk mengidentifikasi kebutuhan untuk sistem baru yang akan dibuat. Untuk mengumpulkan informasi, terdapat berbagai macam teknik yang disebut fact-finding techniques. Menurut Connolly dan Begg (2010 : 344) berikut ini adalah contoh factfinding techniques :
12 •
Pemeriksaan dokumen Mengumpulkan
informasi
dengan
memeriksa dokumen
–
dokumen yang memiliki informasi yang mendukung dalam proses pembuatan sistem database. •
Interview Merupakan
teknik
yang
paling
umum
digunakan
untuk
mengumpulkan data. Teknik ini dijalankan dengan cara bertatap muka dengan orang – orang yang memliki interaksi langsung terhadap sistem dan mencari tahu fakta – fakta yang berguna, mengidentifikasi kebutuhan, dan mengumpulkan ide dan opini. •
Observasi Observasi merupakan teknik fact-finding paling efektif untuk mengerti sebuah sistem.Teknik ini memungkinkan untuk kita untuk melihat secara langsung aktifitas sebuah sistem dan mempelajarinya.
•
Penelitian Merupakan teknik yg cukup berguna untuk meneliti sebuah aplikasi atau permasalahan yang serupa.Pertukaran jurnal, referensi buku, dan internet adalah sumber informasi yang baik. Mereka dapat memberikan informasi yang berguna tentang bagaimana cara orang lain menyelesaikan sebuah permasalahan yang sama.
•
Kuesioner Kuesioner merupakan dokumen dengan tujuan khusus yang digunakan untuk mendapatkan fakta dari orang – orang dengan jumlah yang cukup banyak. Dengan banyaknya informasi yang didapat, maka peneliti akan membuat sebuah kesimpulan secara umum tentang apa yang dihasilkan dari kuesioner tersebut.
4. Database Design Tahap ini menjelaskan tentang proses pembuatan desain yang akan mendukung misi dan tujuan sebuah organisasi untuk sistem
13 database yang diperlukan.
Pada tahap ini dilakukan perancangan
database secara konseptual, logikal dan fisikal.
4.1. Perancangan Konseptual Database Menurut Connolly dan Begg (2010 : 322) Perancangan konseptual database adalah proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik 9 tahapan perancangan konseptual database, yaitu : •
Mengidentifikasi Tipe Entitas Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entitas apa saja yang dibutuhkan.
Langkah pertama
dalam membangun data model konseptual adalah dengan menentukan dan mendefinisikan objek utama yang membuat user tertarik, yaitu tipe entitas.
Gambar 2.3 Contoh : Mengidentifikasi Tipe Entitas. Connolly & Begg (2010 : 373) •
Mengidentifikasi Tipe Relationship. Tujuan dari langkah adalah untuk mengidentifikasi relasi penting yang ada diantara tipe – tipe antitas.Setelah
14 mengidentifikasi
entitas,
langkah
selanjutnya
adalah
mengidentifikasi semua relasi yang ada diantara entitas – entitas tersebut.
Gambar 2.4 Contoh : Mengidentifikasi Tipe Relationship. Connolly & Begg (2010 : 374) •
Mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe relasi Tujuan dari langkah ini adalah untuk menghubungkan atribut dengan entitas atau tipe relasi yang sesuai.
Pada
langkah ini kita akan mengidentifikasi tipe fakta mengenai entitas dan relasi yang telah kita pilih untuk direpresentasi di dalam database. Cara yang digunakan hampir sama dengan cara kita dalam mengidenfikasi entitas. •
Menentukan domain atribut Tujuan dari langkah ini adalah menentukan domain untuk semua atribut yang ada pada model. Menurut Connolly dan Begg (2010 : 478) domain adalah tempat kumpulan nilai dimana satu atau lebih atribut mengambil nilai – nilai mereka.
•
Menentukan candidate, primary, dan alternate key Tujuan dari langkah ini adalah untuk mengidentifikasi candidate key. Apabila terdapat lebih dari satu candidate key, maka harus dipilih salah satu untuk dijadikan primary key dan yang lainnya akan menjadi alternate key.
15
Gambar 2.5 Contoh : Mengidentifikasi dan Menghubungkan Atribut dengan Entitas atau Tipe Relasi. Connolly & Begg (2010 : 374) •
Mempertimbangkan penggunaan konsep permodelan tingkat tinggi (langkah opsional) Tujuan
dari
langkah
ini
adalah
untuk
mempertimbangkan penggunaan konsep permodelan tingkat tinggi
seperti
spesialisasi/generalisasi,
agregasi,
dan
komposisi. •
Memeriksa redundansi Tujuan dari langkah ini adalah untuk mengecek keberadaan banyaknya pengulangan data yang ada di dalam model. Terdapat tiga aktifitas pada tahap ini, yaitu : a. Memeriksa kembali one-to-one relationship b. Menghilangkan relasi yang redundan c. Mempertimbangkan dimensi waktu
16
Gambar 2.6 Contoh : Memeriksa redundansi. Connolly & Begg ( 2010 : 483 ) •
Memvalidasi model data konseptual terhadap transaksi user Tujuan dari langkah ini adalah untuk memastikan bahwa model data konseptual dapat mendukung kebutuhan transaksi. Pada tahap ini kita sudah memiliki model data konseptual
yang
merepresentasikan
kebutuhan
data
perusahaan. Menggunakan model tersebut, kita melakukan operasi secara manual. Apabila kita dapat menyelesaikan semua transaksi, kita dapat memastikan bahwa model data konseptual tersebut dapat mendukung kebutuhan transaksi.
Gambar 2.7 Contoh : Memvalidasi Model Data Konseptual Terhadap Transaksi User. Connolly & Begg ( 2010 : 483 )
17 •
Meninjau kembali model data konseptual dengan user. Tujuan dari langkah ini adalah agar user dapat memastikan bahwa model tersebut adalah representasi nyata dari data yang dibutuhkan oleh perusahaan.
Gambar 2.8 Contoh: Model Data Konseptual Connolly & Begg (2010 : 481)
4.2.
Perancangan logikal Database Menurut Connolly dan Begg (2010 : 323) perancangan
logikal Database adalah proses membangun sebuah model dari penggunaan data dalam suatu perusahaan berdasarkan model data tertentu, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya.
18 7 langkah Tahap perancangan model data logical, yaitu : 1. Menurunkan relasi untuk model data logical Tujuan dari langkah ini adalah membuat relasi bagi model data logical untuk merepresentasikan antitas, relasi, dan atribut yang telah diidentifikasi. 2. Memvalidasikan relasi menggunakan normalisasi Tujuan dari langkah ini adalah untuk memvalidasikan relasi yang ada pada model data logical menggunakan normalisasi. Pada langkah ini kita mengelompokkan atribut – atribut
pada
normalisasi.Tujuan
setiap dari
relasi
menggunakan
normalisasi
ini
adalah
aturan untuk
memastikan bahwa setiap relasi memiliki jumlah atribut minimal untuk mendukung kebutuhan data perusahaan. Relasi juga harus memiliki data redundan yang minimal untuk menghindari anomaly update. 3. Memvalidasi relasi terhadap transaksi user Tujuan dari langkah ini adalah untuk memastikan bahwa relasi pada model data logical mendukung kebutuhan transaksi 4. Memeriksa integrity constraint Tujuan dari langkah ini adalah untuk memeriksa apakah terdapat integrity constraint pada model data logikal.Menurut Connolly dan Begg (2010 : 502), integrity constraint adalah pembatas yang kita ingin paksakan untuk melindungi database menjadi tidak lengkap, tidak akurat, atau tidak konsisten. 5. Meninjau kembali model data logical dengan user Tujuan dari langkah ini adalah meninjau kembali model data logical dengan user untuk memastikan bahwa
19 model data tersebut telah menjadi representasi nyata dari kebutuhan data perusahaan. Pada tahap ini model data logical seharusnya telah selesai, dan telah didokumentasikan secara penuh.Tapi, untuk lebih memastikan bahwa ini sudah merepresentasikan kebutuhan perusahaan, maka userdiminta untuk melakukan review. Apabila user tidak puas dengan model data tersebut, maka harus dilakukan pengulangan kembali dari langkah awal menggunakan metodelogi yang sama. 6. Menggabungkan model data logikal ke dalam model global (langkah opsional) Tujuan dari langkah ini adalah untuk menggabungkan model data logical ke dalam sebuah model data logical global yang mewakili semua sudut pandang user terhadap database Pada langkah ini terdapat beberapa aktifitas, yaitu : a. Menggabungkan model data logical ke dalam model data logical global b. Memvalidasi model data logical global c. Meninjau kembali model data logical global dengan user 7. Memeriksa pertumbuhan di masa depan Tujuan dari langkah ini adalah untuk menentukan apakah ada kemungkinan perubahan yang signifikan dan untuk
menilai
apakah
model
data
logical
dapat
mengakomodasi perubahan tersebut. Dalam perancangan logikal database kita juga harus memikirkan apakah model data logikal mampu untuk diperluas untuk mendukung kemungkinan perkembangan di masa depan.
20 4.3.
Perancangan fisikal database Menurut Connolly dan Begg (2010 : 523), perancangan
fisikal database adalah proses menghasilkan deskripsi dari pengimplementasian database ke dalam tempat penyimpanan sekunder. Proses ini mendeskripsikan relasi dasar, organisasi file, dan index yang digunakan untuk mencapai keefisienan dalam mengakses data, dan setiap integritas data terkait, dan langkah – langkah keamanan. Terdapat beberapa langkah pada tahap perancangan fisikal database, yaitu : •
Menterjemahkan data model logical ke DBMS yang dituju Tujuan dari langkah ini adalah untuk menghasilkan
skema database relasional dari model data logical yang akan diimplementasikan ke dalam DBMS yang dituju. Pada tahap ini terdapat 3 aktifitas, yaitu : a. Perancangan relasi dasar Tujuan
dari
langkah
ini
adalah
untuk
menentukan bagaimana cara untuk merepresentasikan relasi dasar yang telah teridentifikasi yang ada pada model data logikal ke dalam DBMS yang dituju. b. Perancangan representasi dari derived data Tujuan
dari
langkah
ini
adalah
untuk
mengetahui bagaimana cara merepresentasikan derived data apapun yang terdapat di model data logikal ke dalam DBMS yang dituju. c. Perancangan batasan umum Tujuan dari langkah ini adalah merancang batasan umum untuk DBMS yang dituju.
21 •
Perancangan organisasi file dan index Tujuan dari langkah ini adalah menentukan organisasi
file untuk menyimpan relasi dasar dan index yang dibutuhkan untuk mencapai performa yang dapat diterima, ini merupakan cara dimana relasi dan tuples juga akan disimpan di dalam tempat penyimpanan sekunder. Pada langkah ini, terdapat empat aktifitas, yaitu: a. Menganalisa transaksi Tujuan
dari
langkah
ini
adalah
untuk
mengenali fungsi dari transaksi yang berjalan pada database dan untuk menganalisa transaksi apa saja yang penting. Dalam menganalisa transaksi, kita harus melihat beberapa criteria, yaitu : i.
Transaksi tersebut dapat sering berjalan dan akan memberikan dampak yang signifikan dalam performa.
ii.
Transaksi tersebut sangat penting pada operasi bisnis.
iii.
Ada waktu dimana akan terjadi permintaan yang tinggi dibuat dalam database.
b. Memilih organisasi file Tujuan
dari
langkah
ini
adalah
untuk
menentukan organisasi file yang efisien untuk setiap relasi dasar. c. Memilih index Tujuan
dari
langkah
ini
adalah
untuk
memastikan apakah dengan menambah index maka performa sistem juga akan meningkat.
22 d. Memperkirakan ruang disk yang dibutuhkan Tujuan memperkirakan
dari
langkah
jumlah
ini
ruang
adalah
disk
yang
untuk akan
dibutuhkan oleh database. •
Perancangan user views Tujuan dari langkah ini adalah untuk merancang user
views yang telah diperoleh pada waktu pengumpulan kebutuhan dan tahap analisa pada siklus pengembagan sistem database •
Perancangan mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang
mekanisme keamanan untuk database seperti yang diinginkan oleh user pada tahap pengumpulan kebutuhan pada siklus pengembangan system database.
Berikut ini adalah contoh perancangan basis data fisikal: Domain PropertyNumber:
variable length character string, length 5
Domain Street:
variable length character string, length 25
Domain City:
variable length character string, length 15
Domain Postcode:
variable length character string, length 8
Domain PropertyType:
single character, must be one of ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘H’, ‘M’, ‘S’
Domain PropertyRoom:
integer, in the range 1-15
Domain PropertyRent:
monetary value, in the range 0.00-9999.99
Domain OwnerNumber:
variable length character string, length 5
Domain StaffNumber:
variable length character string, length 5
Domain BranchNumber:
fixed length character string, length 4
23 PropertyForRent( propertyNo
PropertyNumber
NOT NULL,
street
Street
NOT NULL,
city
City
NOT NULL,
postcode
Postcode,
type
PropertyType
rooms
PropertyRoom NOT NULL, DEFAULT 4,
rent
PropertyRent
ownerNo
OwnerNumberNOT NULL,
NOT NULL, DEFAUL ‘F’,
NOT NULL, DEFAULT 600,
staffNoStaffNumber, branchNo
BranchNumber,
NOT NULL,
PRIMARY KEY (propertyNo), FOREIGN KEY (staffNo) REFERENCES Staff(staffNo) ON UPDATE CASCADE ON DELETE SET NULL, FOREIGN KEY (ownerNo) REFERENCES PrivateOwner(ownerNo) and BussinessOwner (ownerNo) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (branchNo) REFERENCES Branch (branchNo) ON UPDATE CASCADE ON DELETE NO ACTION);
5. DBMS Selection Pada tahap ini dilakukan pemilihan DBMS yang paling cocok dipilih dengan aplikasi database.Tahap ini hanya merupakan tahap opsional.Apabila tidak terdapat DBMS yang cocok, maka setelah tahap perancangan konseptal langsung menuju perancangan logikal Langkah – langkah dalam memilih DBMS : • Mendefinisikan DBMS yang diinginkan • Memlih 2 atau 3 DBMS • Evaluasi DBMS yang sudah dipilih • Menetapkan DBMS yang sesuai.
24 6. Application Design Pada tahap ini dilakukan perancanan user interface dari sebuah program aplikasi yang digunakan untuk memproses basis data. Sehingga dapat mempermuda user atau pengguna dalam melakukan pencarian data yang di inginkan.
7. Prototyping Tahap ini ditujukan untuk membangun prototype dari aplikasi basis data.Hasil prototype ini memungkinkan perancang atau pengguna untuk
menvisualisasikan
dan
mengevaluasi
bagaimana
bentuk
fungsionalitas sistem akhir.Tujuan dari Prototyping ini adalah agar pengguna dapat mengidentifikasi fitur – fitur yang terdapat dalam sistem dan memberikan saran untuk lebih meningkatkan kinerja sistem atau mungkin dengan menambah fitur baru ke dalam sistem database.
8. Implementation Tahap ini merupakan tahap realisasi fisik dari database dan desain aplikasi.
Tahap
ini
mengimplementasikan
merupakan
waktu
dimana
database
dan
program
kita
akan
aplikasi.
Pengimplementasian database dilakukan dengan menggunakan DDL dari DBMS yang telah dipilih atau dengan GUI yang menyediakan fungsi yang sama ketika menghilangkan DDl statementlevel rendah. Program aplikasi diimplementasi menggunakan bahasa generasi ketiga atau keempat.
9. Data Conversion for Loading Dalam tahap ini dilakukan perpindahan data ke database yang baru dan mengkonversi aplikasi agar dapat berjalan pada database yang baru.Tahap ini hanya dapat dilakukan ketika sistem database yang baru sudah menggantikan sistem database yang lama.
25 10. Testing Aplikasi basis data yang telah selesai akan diuji coba dengan tujuan untuk mencari error pada aplikasi. Selain itu, dilakukan pula validasiaplikasi atas kebutuhan yang telah dispesifikasikan sebelumnya oleh pengguna. Setelah dilakukan uji coba terhadap sistem, maka akan dilakukan evaluasi terhadap sistem. Berikut ini adalah beberapa kriteria dalam melakukan evaluasi sistem : •
Kemudahan untuk dipelajari : berapa lama waktu yang dibutuhkan seseorang untuk menjadi produktif dalam memakai system
•
Performa : seberapa baik system dapat merespon kebutuhan user.
•
Kekuatan system : seberapa kuat system dalam mengatasi user error.
•
Kemudahan untuk pemulihan : seberapa baik system untuk melakukan pemulihan akibat dari user error.
•
Kemampuan beradaptasi : seberapa mampu system dapat beradaptasi dengan beberapa model kerja.
11. Operational Maintenance Pada tahap ini implementasi basis data dilakukan secara sepenuhnya.Sistem diawasi dan dipelihara secara berkelanjutan.Jika diperlukan, kebutuhan - kebutuhan baru dimasukkan dalam aplikasi basis data melalui tahapan basis data terlebih dahulu.
2.2. Entity-Relationship Modelling 2.2.1. Entity Types Menurut Connolly dan Begg (2010 : 372), entity type yaitu sekumpulan objek-objek dengan properti yang sama yang diindentifikasikan dengan keberadaan yang independen di perusahaan. Sebuah enitas mempunyai kumpulan properti dan nilai dari properti tersebut mengidentifikasikan entitas secara unik.
26 Entity terdiri menjadi 2 macam, yaitu : •
Strong Entity, yaitu tipe entitas yang keberadaannya tidak bergantung kepada keberadaan entitas yang lain.
•
Weak Entity, yaitu tipe entitas yang keberadaannya bergantung kepada keberadaan entitas yang lain.
2.2.2. Relationship Types Menurut Connolly dan Begg (2010 : 374) relationship type adalah sebuah relasi yang bermakna antara beberapa jenis entitas. Setiap relationship type diberikan nama yang menjelaskan fungsinya. Adapula relationship occurrence, yaitu sebuah relasi unik yang diidentifikasi mencakup satu kejadian dari setiap entitas yang berpartisipasi. 2.2.2.1. Degree of Relationship Type
Menurut Connolly dan Begg (2010 : 376) degree of relationship type adalah penomoran jumlah tipe entitas yang berpartisipasi di dalam sebuah relasi. Relasi dengan tingkat derajat dua disebut dengan binary. 2.2.2.2. Recursive Relationship
Menurut Connolly dan Begg (2010 : 378) recursive relationship adalah sebuah tipe relasi dimana ada tipe entitas yang sama berpartisipasi lebih dari satu kali dengan peran yang berbeda. 2.2.3. Attributes
Menurut Connolly dan Begg (2010 : 379) attributes adalah sebuah property khusus pada sebuah entitas atau pada tipe relasi. 2.2.3.1. Simple and Composite Attributes
Menurut Connolly dan Begg (2010 : 379) simple attribute adalah sebuah atribut yang terdiri dari sebuah komponen dengan keberadaan yang independen. Menurut Connolly dan Begg (2010 : 380) composite attribute adalah sebuah atribut yang terdiri dari beberapa komponen, dimana setiap komponen tersebut memiliki keberadaan yang independen.
27 2.2.3.2. Single-valued and Multi-valued Attributes
Menurut Connolly dan Begg (2010 : 380), single-valued attributes adalah sebuah atribut yang memiliki sebuah nilai untuk setiap kejadian pada tipe entitas. Menurut Connolly dan Begg (2010 : 380), multi-valued attributes adalah sebuah atribut yang memiliki banyak nilai untuk setiap kejadian pada tipe entitas. 2.2.3.3. Derived Attributes
Menurut Connolly dan Begg (2010 : 380), derived attributes adalah sebuah atribut yang memilili nilai yang berasal dari attribute lain yang berhubungan, dan tidak harus berasal dari satu tipe entitas yang sama. 2.2.4. Keys
Menurut Connolly dan Begg (2010 : 151, 381) keys dibedakan menjadi beberapa key, yaitu : •
Candidate Key Merupakan sebuah kumpulan minimal atribut yang secara unik mengidentifikasi setiap kejadian pada sebuah tipe entitas.
•
Primary Key Merupakan
candidate
key
yang
dipilih
untuk
secara
unik
mengidentifikasi setiap kejadian pada sebuah tipe entitas. •
Composite Key Merupakan sebuah candidate key yang memiliki dua atau lebih atribut.
•
Foreign key Merupakan sebuah atribut atau set atribut, dalam satu relasi yang sesuai dengan candidate key.
2.2.5. Structural Constraint
Menurut Connolly dan Begg (2010 : 385) constraint mungkin diletakkan pada tipe entitas yang berpartisipasi pada sebuah relasi.
Constraint harus
28 mencerminkan batasan – batasan pada relasi seperti yang ada pada “dunia nyata”. Tipe utama sebuah constraint pada sebuah relasi disebut multiplicity. Menurut Connolly dan Begg (2010 : 380) multiplicity adalah sebuah angka atau jarak kejadian yang terjadi pada tipe entitas yang mungkin terhubung kepada sebuah kejadian dari tipe entitas yang terasosiasi melalui relasi khusus. 2.3. Data Flow Diagram (DFD) Menurut Whitten (2004 : 326) DFD adalah sebuah alat yang menggambarkan aliran data melalui sistem atau pengolahan yang dilakukan oleh sistem tersebut. Simbol-simbol yang digunakan dalam DFD antara lain: Gambar
Nama
Process
Keterangan aktifitas yang dilakukan sebagai respons terhadap aliran data masuk atau kondisi. menunjukkan input data ke proses atau outputdata dari proses. Data Flow juga
Data Flow
digunakan untuk menunjukkan pembuatan, pembacaan, penghapusan, atau pembaruan data dalam file atau database. Mendefinisikan orang, unit organisasi,
External entity
sistem, atau organisasi luar yang berinteraksi dengan sistem.
Data Store
penyimpanan data yang ditujukan untuk penggunaan selanjutnya.
Tabel 2.1 Simbol-simbol yang digunakan pada DFD
2.3.1. Diagram Konteks
Merupakan suatu diagram yang Menggambarkan secara detil mengenai semua informasi yang diterima ataupun dihasilkan dari suatu aktivitas.
29
Gambar 2.9 Contoh diagram konteks Nugraha (2009 : 8)
2.3.2.
Diagram Nol
Diagram nol adalah diagram yang menggambarkan proses dari data flow diagram.Diagram nol memberikan pandangan secara menyeluruh mengenai sistem. Diagram nol menggambarkan proses yang ada, aliran data, dan eksternal entity.
Gambar 2.10 Contoh : Diagram Level 0 Nugraha (2009 : 9)
30 2.3.3. Diagram Rinci Diagram rinci merupakan rincian dari diagram nol atau diagram level di atasnya. Pada diagram rinci, nomor proses menunjukkan tingkat kerinciannya.
Gambar 2. 11 Contoh : DFD Level 1 Untuk Proses Memproses Order Langganan Nugraha (2009 : 9)
Gambar 2.12 Contoh : DFD Level 1 Untuk Proses Merekam Transaksi dan Posting
31 Nugraha (2009 : 10)
2.4. State Transition Diagram (STD) Menurut Whitten (2004 : 636), State Transition Diagram (STD) adalah diagram yang digunakan untuk menggambarkan urutan dan variasi screen yang terjadi selama satu sesi pengguna.: Gambar
Nama Persegi Empat (state)
Keterangan melambangkan state sistem yang dapat diobservasi merupakan penanda
Anak panah (Transition state)
transisi atau perubahan dari suatu state ke state lainnya
Tabel 2.2 Simbol-simbol STD Berikut ini adalah contoh state transition diagram
Gambar 2.13 Contoh State Transition Diagram
2.5. Normalisasi Menurut Connolly dan Begg (2010 : 416) normalisasi adalah suatu teknik yang menghasilkan satu set relasi dengan properties yang diinginkan dan memberikan kebutuhan data organisasi.
32 Tujuan dari normalisasi adalah untuk menghilangkan data yang berulang (redudansi) sehingga mengurangi kompleksitas data dan untuk memudahkan modifikasi data.
Gambar 2.14 Normalisasi Connolly & Begg (2010 : 429)
Tahapan-tahapan proses normalisasi: 1. Unnormalized Form (UNF) Suatu data dikatakan unnormalized jika di dalamnya mengandung kelompok berulang (Repeating Group). Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi. 2. Bentuk normal pertama (First Normal Form / 1NF)
33 Setiap relasi dimana setiap baris dan kolom hanya berisi satu nilai.Untuk mengubah bentuk tidak normal menjadi 1NF, diidentifikasikan dan pindahkan grup yang berulang dari dalam tabel.Grup yang berulang itu adalah sebuah atribut atau sekelompok atribut. Ada dua pendekatan yang umum untuk memindahkan grup yang berulang dari tabel yang tidak normal yaitu : •
Pendekatan pertama, pindahkan grup yang berulang dengan memasukkan data yang cocok kedalam kolom yang kosong dari baris yang berisi data yang berulang.
•
Pendekatan kedua, pindahkan grup yang berulang dengan menempatkan data yang berulang, dengan meniru atribut kunci yang asli, dalam relasi yang terpisah. Primary key diidentifikasikan untuk sebuah relasi yang baru.
3. Bentuk normal kedua (Second Normal Form / 2NF) Sebuah relasi yang ada pada 1NF, dan setiap atribut yang bukan primary key ketergantungan fungsional secara penuh pada primary key.Ketergantungan fungsional secara penuh adalah kondisi bila A dan B merupakan atribut dari sebuah relasi, B dikatakan ketergantungan fungsional secara penuh terhadap A jika B ketergantungan fungsional pada A dan bukan pada subset manapun dari A. Normalisasi dari 1NF ke 2NF dengan menghilangkan ketergantungan parsial.Jika ketergantungan parsial eksis, maka pindahkan atribut yang bergantung secara fungsional dari relasi dengan memindahkan ke relasi yang baru beserta dengan salinan determinan. 4. Bentuk normal ketiga (Third Normal Form / 3NF) Sebuah relasi yang ada pada 1NF dan 2NF, dan tidak ada atribut bukan primary key bergantung secara transitif pada primary key. Ketergantungan transitif adalah suatu kondisi dimana A, B, dan C merupakan atribut dari sebuah relasi, maka jika A → B dan B → C, maka C ketergantungan transitif pada A melalui B. Normalisasi dari 2NF ke 3NF dengan menghilangkan ketergantungan transitif.Jika ketergantungan transitif eksis, maka pindahkan atribut yang
34 bergantung secara transitif dari relasi dengan memindahkan atribut ke relasi yang baru beserta dengan salinan determinan.
2.6. Flowchart Flowchart adalah jenis diagram yang merepresentasikan suatu algoritma atau proses,
menunjukkan
langkah-langkahnya
dengan
kotak
yang
beragam,
dan
menyusunnya dengan menghubungkan kotak-kotak tersebut dengan anak panah. Representasi diagram berfungsi untuk memberikan solusi langkah demi langkah untuk suatu masalah. Operasi proses direpresentasikan dalam kotak-kotak, dan panah yang menghubungkan mereka mewakili aliran kontrol. Flowchart digunakan dalam menganalisis, merancang, mendokumentasikan atau mengelola proses atau program di berbagai bidang. Flowchart digunakan dalam merancang dan mendokumentasikan proses kompleks. Seperti diagram lain, flowchart membantu memvisualisasikan apa yang sedang terjadi dan memudahkan dalam memahami proses, dan mungkin juga menemukan kelemahan, error, serta fitur lain yang masih belum sempurna.
2.6.1. Simbol - simbol pada Flowchart Simbol umum yang biasanya digunakan pada flowchart adalah: Gambar
Nama
Titik terminasi
Input/Output
Proses
Penjelasan Awal
atau
akhir
proses/program
Input
atau
output
data yang dihasilkan
Pelaksanaan suatu fungsi
tugas
35
Keputusan
Garis alir
Proses
Proses
Penyeleksian kondisi
Menunjukkan
arus
proses
Menunjukkan proses yang pasti dilakukan
Proses individual
Tabel 2.3 Simbol-simbol pada flowchart Pressman (2010 : 299)
Gambar 2.15 Contoh Flowchart Pressman (2010 : 299)
36 2.7. Internet Menurut Shelly (2004 : 68), internet adalah kumpulan jaringan seluruh dunia yang menghubungkan jutaan bisnis, agensi pemerintah, institusi pendidikan, dan individu. 2.8. World Wide Web Web adalah sistem yang menyebabkan pertukaran data di internet menjadi lebih mudah dan efisien.World wide web adalah sarana informasi berbasis grafik yang terdiri dari ratusan ribu halaman, atau dokumen yang saling berhubungan satu sama lain dan dihubungkan dengan sebuah link dan dapat diakses dengan menggunakan software browser.Contoh dari software browser ini adalah Internet Explorer, Mozila firefox, atau sebagainya. Menurut Reedy (2007 : 17), World Wide Web adalah media untuk merangsang pengembangan inovatif, memperoleh perhatian dari calon pelanggan, mempertahankan hubungann dengan pelanggan lewat survei atau e-mail, meningkatkan memori perusahaan dengan database pelanggan atau calon pelanggan dan karakteristik katalog pembelian seperti kategori produk, pilihan kasus, biaya yang dikeluarkan, peminatan, atau sistem jaringan pendukung. Hal ini menyediakan kecepatan, akurasi, dan kenyamanan bagi pelanggan; keuntungan bagi pemasar mencakup terbentuknya kesetiaan pelanggan, program pemasaran yang tepat pada waktunya, dan efesiensi organisasional yang meningkatkan keuntungan. 2.9. PHP (PHP:Hypertext Preproscessor) Menurut Connolly dan Begg (2010 : 1043) PHP adalah bahasa pemrograman berlisensi terbuka yang didukung oleh banyak web server, termasuk Apache HTTP Server dan Microsofts Internet Information Server, dan juga merupakan bahasa pemrograman utama dalam sistem operasi Linux. Salah satu keuntungan PHP adalah dapat diperpanjang, dan jumlah perpanjangan modul dapat mendukung beberapa hal seperti basis data, konektivitas, mail, dan XML.
37 2.10.
MySQL
MySQL merupakan salah satu jenis database server yang menggunakan SQL sebagai bahasa dasar untuk mengakses basis datanya. Bersifat bebas karena tidak perlu membayar untuk menggunakannya pada berbagai platform (kecuali pada Windows yang bersifat shareware atau perlu membayar setelah melakukan evaluasi
dan
memutuskan untuk digunakan untuk keperluan produksi). MySQL termasuk jenis Relational Database Management. System (RDBMS) sehingga istilah seperti tabel, baris, dan kolom digunakan.
2.11.
Manajemen Proyek
Menurut Nicolas dan Steyrn (2008 : 26), Manajemen Proyek adalah sebuah proyek yang melibatkan tujuan, yang dapat menguraikan masalah dengan baik, dari tahap identifikasi hingga tahap akhir. Setiap proyek unik karena melakukan sesuatu yang berbeda dari yang dilakukan sebelumnya, bahkan dalam sebuah proyek "rutin" seperti konstruksi rumah, variabel seperti medan, akses, undang-undang zonasi, pasar tenaga kerja, dan yang lainnya.Proyek adalah kegiatan satu kali, tidak pernah benar-benar mengulangi lagi.Sebuah proyek adalah proses kerja untuk mencapai tujuan, selama proses tersebut, proyek melewati fase yang berbeda melewati pada beberapa siklus proyek. 2.12.
Perencanaan Proyek
Menurut Diwan (2008 : 27) Perencanaan proyek adalah penentuan rasional, dalam mempertahankan dan mengakhiri penulisan proyek.Sedangkan pada pengertian selanjutnya, perencanaan proyek adalah konsep dasar perencanaan proyek, yaitu pengembangan rencana di tingkat detail yang diperlukan beserta dengan tonggak yang menyertainya, dan penggunaan alat-alat yang tersedia untuk menyiapkan dan memantau perencanaan proyek.