bab 2 landasan teori 2.1 pengertian basis...
TRANSCRIPT
9
BAB 2
LANDASAN TEORI
2.1 Pengertian Basis Data
Menurut Connolly dan Begg (2010: p15), basis data adalah kumpulan
data yang terbagi dan terhubung secara logikal dan deskripsi dari data yang
dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut
C.J Date (2009: p9), Basis Data terdiri dari beberapa kumpulan dari data tetap
yang digunakan oleh sistem aplikasi untuk diberikan kepada perusahaan. Dari
kutipan di atas, dapat disimpulkan bahwa basis data adalah sekumpulan data
yang saling berhubungan dan dirancang untuk memenuhi kebutuhan
informasi dari suatu organisasi. Menurut Indrajani (2011: p48), Sebuah
kumpulan data yang saling berhubungan secara logis, dan merupakan sebuah
penjelasan dari data tersebut, yang didesain untuk menemukan data yang
dibutuhkan oleh organisasi.
2.2 Database Management System (DBMS)
Menurut Connolly dan Begg (2010: p17), Database Management
System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan
pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses
ke basis data.
Biasanya DBMS memiliki fasilitas-fasilitas sebagai berikut:
1. Fasilitas mendefinisikan basis data, biasanya menggunakan Data
Definition Language (DDL). DDL mengizinkan pengguna untuk
memspesifikasikan tipe, struktur, dan batasan aturan mengenai data
yang bisa disimpan ke dalam basis data.
10
2. Fasilitas untuk mengizinkan pengguna utuk menambah, mengedit,
menghapus dan mendapatkan kembali data dari basis data, biasanya
menggunakan Data Manipulation Language (DML). Ada pula suatu
fasilitas yang melayani pengaksesan data yang disebut query language.
Bahasa yang diakui adalah Structured Query Language (SQL), yang
merupakan standard dari DBMS.
3. Fasilitas untuk mengontrol ke basis data (DCL). Contoh :
a. Sistem keamanan yang mencegah user yang tidak punya
autoritas untuk akses data.
b. Suatu sistem terintegasi yang memelihara konsistensi
penyimpanan data.
c. Suatu Sistem kontrol pengembalian data yang mana dapat
mengembalikan data ke keadaan sebenarnya apabila terjadi
kegagalan perangkat keras atau perangkat lunak.
d. Terdapat suatu katalog yang dapat di akses oleh pengguna,
yang menjelaskan data didalam basis data tersebut.
Menurut Connoly dan Begg (2010: p18), Komponen DBMS terbagi
menjadi lima yaitu :
1. Hardware (perangkat keras)
Hardware dapat berkisar dari komputer tunggal,
mainframe tunggal, hingga jaringan komputer. Hardware yang
dipakai tergantung pada kebutuhan organisasi dan Database
Management System (DBMS) yang digunakan. Sebuah DBMS
memerlukan jumlah minimum memori dan hardisk untuk
11
bekerja, tetapi konfigurasi yang minimum tidak memberikan
performa yang handal.
2. Software (perankat lunak)
Komponen perangkat lunak terdiri dari perankat lunak
DBMS dan program aplikasi beserta sistem operasi (OS),
termasuk jaringan perangkat lunak jika DBMS digunakan
melalui jaringan.
3. Data
Data merupakan data terpenting dalam DBMS
khususnya sudut pandang dari end user mengenai data, dimana
data berfungsi sebagai jembatan antara komponen mesin
dengan komponen manusia.
4. Procedures
Prosedur merupakan panduan dan aturan dalam
membuat dan menggunakan basis data. Prosedur didalam basis
data berupa : login ke dalam basis data, penggunaan fasilitas
DBMS atau aplikasi program, cara menjalankan dan
menghentikan DBMS, membuat backup database, menangani
kerusakan hardware atau software, mengubah struktur table,
mengumpulkan basis data dari beberapa disk, meningkatkan
kinerja atau membuat arsip data pada secondary storage.
5. People (manusia)
Komponen terakhir yaitu manusia yang terlibat dengan
sistem tersebut.
12
2.2.1 Fungsi DBMS
Keuntungan DBMS adalah sebagai berikut :
1. Kontrol atas redudansi atau pengulangan data.
2. Konsistensi data.
3. Informasi yang diperoleh dari data yang sama lebih banyak.
4. Data dapat dibagikan.
5. Meningkatkan intergasi data.
6. Meningkatkan keamanan data.
7. Penetapan standarisasi pelaksanaan.
8. Skala ekonomi.
9. Kesimbangan dari kebutuhan yang saling bertentangan.
10. Meningkatkan aksesbilitas danrespon data.
11. Meningkatkan produktivitas.
12. Meningkatkan Concurrency.
13. Meningkatkan layanan backup dan recovery.
2.2.2 Kerugian DBMS
Kerugian DBMS sebagai berikut :
1. Kompleksitas.
2. Ukuran.
3. Biaya dari penggunaan DBMS.
4. Biaya konversi.
5. Kinerja.
6. Dampak yang tinggi dari kegagalan.
13
2.3 Database Language
Menurut Connolly dan Begg (2010: p92), Database Language terbagi
atsa dua bagian, yaitu Data Definition Language dan Data Manipulation
Language.
2.3.1 Data Definition language (DDL)
Menurut Connolly dan Begg (2010: p92), Data Definition
language (DDL) adalah sebuah bahasa yang mengizinkan DBA atau
user untuk mendiskripsikan dan nama entitas, atribut dan hubungan
yang diperlukan aplikasi beserta intergrity yang berhubungan dan
batasan keamanan.
2.3.2 Data Manipulation Language (DML)
Menurut Connolly dan Begg (2010: p92), Data Manipulation
Language (DML) 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.
Data Manipulation Language (DML) dibagi menjadi 2 jenis
yaitu Procedural DML dan Non-Procedural DML. Procedural DML
adalah suatu bahasa yang memperbolehkan pengguna untuk
mendiskripsikan ke sistem data apa yang dibutuhkan dan bagaimana
mendapatkan data tersebut secara tepat, sedangkan Non-procedural
DML adalah sebuah bahasa yang mengizinkan pengguna untuk
14
menentukan data apa yang dibutuhkan tanpa memperhatikan
bagaimana data diperoleh.
2.4 Database Application Lifecyle (DBLC)
Menurut Connolly dan Begg (2010: p93), untuk merancang aplikasi
sistem basis data diperlukan tahapan-tahapan yang dinamakan dengan siklus
hidup aplikasi basis data (database application lifecycle). Tahapan-tahapan
dari DBLC yaitu :
− Database planning
− System definition
− Requirements collection and analysis
− Database design
• Conceptual database design
• Logical database design
• Physical database design
− DBMS Selection (optional)
− Applicaton design
− Prototyping (optional)
− Implementation
− Data conversion and loading
− Testing
− Operational maintenance
2.4.1 Database Planning
Tahapan ini merencanakan bagaimana langkah-langkah dalam
daur hidup basis data agar dapat diwujudkan se-efisien dan se-efektif
mungkin. Langkah pertama yang paling penting dalam perencanaan
15
basis data adalah menggambarkan dengan jelas mission statement dari
proyek basis data, kemudian mentukan mission objectives dimana
tiap-tiap mission objectives dapat mengidentifikasi tugas-tugas
tertentu yang didukung oleh basis data.
Perencanaan basis data harus dapat diintegrasikan dengan
keseluruhan strategi sistem informasi suatu organisasi. Terdapat tiga
isu utama dalam merumuskan strategi sistem informasi, diantaranya:
1. Identifikasi rencana dan sasaran perusahaan dengan menetukan
kebutuhan sistem informasi yang diperlukan.
2. Evaluasi sistem informasi yang ada sekarang untuk menentukan
kekuatan-kekuatan dan kelemahan-kelamahan yang ada.
3. Penilaian terhadap peluang teknologi informasi yang dapat
menghasilkan keuntungan yang kompetitif
2.4.2 System Definiton
System definiton adalah mendeskripsikan jangakauan dan
batasan dari aplikasi basis data dan pandangan-pandangan utama para
pengguna aplikasi. Sebelum mendesain suatu aplikasi basis data,
terlebih dahulu mengindentifikasikan batasan - batasan dari sistem
yang sedang diteliti dan bagaimana kaitannya dengan bagian lain
dari sistem informasi perusahaan. Hal tersebut dilakukan untuk
memastikan bahwa tidak ada pengguna utama basis data yang
terlupakan ketika dilakukan pengembangan aplikasi.
2.4.3 Requirement Collection and Analysis
Requirement Collection and Analysis merupakan proses
pengumpulan dan analisis informasi tentang bagian perusahaan yang
16
akan didukung oleh aplikasi basis data, dan menggunakan informasi
ini untuk mengindentifikasikan kebutuhan pengguna aplikasi terhadap
sistem baru.
Informasi yang dikumpulkan diantaranya:
1. Penjabaran dari data yang digunakan
2. Detail mengenai bagaimana data digunakan
3. Kebutuhan tambahan apapun untuk aplikasi basis data yang
baru.
Informasi ini kemudian dianalisis untuk mengidentifikasi
kebutuhan yang dimasukkan untuk aplikasi basis data yang baru.
Ada macam pendekatan untuk mengatur kebutuhan dari
sebuah aplikasi basis data dengan berbagai cara pandang pengguna,
yaitu :
1. Pendekatan Centralied
Kebutuhan untuk tiap pandangan pengguna disatukan
menjadi satu set kebutuhan untuk aplikasi basis data.
Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu
kompleks.
2. Pendekatan View Integration
Kebutuhan untuk tiap pandangan pengguna digunakan
untuk membangun sebuah model data terpisah yang
merepresentasikan tiap pandangan. Hasil dari data-data model
tersebut kemudian disatukan dibagian perancangan basis data.
3. Kombinasi keduanya
17
2.4.4 Database Design
Database design merupakan proses pembuatan suatu
desain untuk sebuah basis data yang akan mendukung
operasional dan sasaran suatu perusahaan.
Ada 2 pendekatan untuk mendesain sebuah basis data, yaitu :
1. Pendekatan bottom-up
Dimulai pada tingkat awal dari atribut yaitu properti dari
entitas dan relationship, melalui analisis dari asosiasi antar
atribut, dikelompokkan menjadi hubungan yang
merepresantisikan jenis-jenis entitas dan hubungan antar
entitas. Pendekatan ini cocok untuk mendesain basis data yang
sederhana dengan jumlah atribut yang tidak banyak.
2. Pendekatan top-down
Digunakan pada basis data yang lebih kompleks. Dimulai
dengan pengembangan dari model data yang mengandung
beberapa entitas dan hubungan tingkat tinggi, kemudian
menggunakan perbaikan top-down beruturut - turut untuk
mengidentifikasi entitas, hubungan dan atribut berkaitan
tingkat rendah. Pendekatan ini biasanya digambarkan melalui
ER (Entity Relationship.
Pada tahap ini ada bagian yang disebut data modeling.
Data modeling digunakan digunakan untuk membantu
pemahaman dari kata dan untuk memudahkan komunikasi
tentang kebutuhan informasi.
18
Kriteria untuk model data (Data Modelling), yaitu :
1. Structural validity, konsistensi dengan cara yang
didefinisikan perusahaan dalam menyusun informasi
2. Simplicity, kemudahan untuk pemahaman baik bagi
yang profesional dibidang sistem informasi maupun pengguna
yang non teknis.
3. Expressibility, kemampuan untuk membedakan antara
data yang berbeda dan hubungan antar data.
4. Nonredudancy, pembuangan informasi yang tak ada
hubungannya, khususnya representasi dari tiap potongan
informasi tepatnya hanya sekali.
5. Shareability, tidak spesifik untuk aplikasi dan
teknologi khusus apapun sehingga dapat digunakan oleh
banyak orang.
6. Extensibility, kemampuan pengembangan untuk
mendukung kebutuhan baru dengan efek yang minimal bagi
pengguna yang ada.
7. Integrity, konsistensi terhadap cara yang digunakan
perusahaan dalam mengatur informasi.
8. Diagramatic representation, kemampuan untuk
merepresentasikan sebuah model menggunakan notasi
diagaram yang dapat dipahami dengan mudah.
19
Ada 3 fase dalam membuat database design yaitu :
1. Conceptual database design
Merupakan suatu proses membangun model informasi
yang digunakan didalam perusahaan, bebas dari semua
pertimbangan fisikal.
2. Logical database design
Merupakan suatu proses membangun model informasi
yang digunakan perusahaan berdasarkan, dari beberapa model
atau yang spesifik, tetapi bebas dari fakta DBMS dan
pertimbangan fisikal lainnyaaa.
3. Physical database design
Merupakan proses yang menghasilkan sebuah deskripsi
mengenai implementasi dari simpulan kedua database,
mendeskripsikan relasi dasar, organisasi file, dan index yang
digunakan untuk pengaksesan data yang efisien dan
penggabungan beberapa batasan dan sistem keamanan.
2.4.5 DBMS Selection (optional)
Seleksi DBMS adalah kegiatan memilih DBMS yang
akan digunakan dalam pembuatan basis data. Pemilihan
DBMS yang tepat sangat mendukung aplikasi basis data.
Langkah utama dalam pemilihan DBMS :
1. Mendefinisikan waktu untuk melakukan studi referensi
2. Mencatat 2 atau 3 jenis produk yang akan dievaluasi
untuk digunakan
20
3. Mengevaluasikan produk tersebut
4. Merekomendasikan produk yang dipilih dan buat
laporan yang mendukungnya
2.4.6 Application Design
Application Design adalah proses merancang user
interface atau antarmuka pengguna dan program aplikasi yang
menggunakan dan memproses database. Terdapat dua aspek
dalam perancangan aplikasi, yaitu :
1. Perancangan Transaksi
Tujuan utama dari perancangan transaksi adalah untuk
menetapkan dan mendokumentasikan karakteristik tingkat
tinggi dari transaksi yang dibutuhkan pada database, meliputi :
a. Data yang digunakan dalam transaksi
b. Karakteristik fungsional dari transaksi
c. Keluaran (output) dari transaksi
d. Kepentingan pengguna
e. Rata-rata pengguna yang diharapkan
Ada tiga tipe transaksi :
a. Retrieval transactions digunakan untuk mengambil
data untuk ditampilkan dilayar dan untuk pembuatan laporan.
b. Update transactions digunakan untuk memasukkan
data baru, menghapus data lama, atau memodifikasi data yang
ada pada database.
c. Mixed transacations merupakan penggabungan antara
retrieval transactions dan update transactions.
21
2. Perancangan User Inferface
Beberapa langkah dalam membuat rancangan
antarmuka yang baik bagi aplikasi database yaitu :
a. Judul berarti
b. Instruksi yang komprehensif
c. Rancangan laporan
d. Labelfield yang dikenal
e. Singkatan dan istilah yang konsisten
f. Penggunakan warna yang konsisten
g. Batasan dan ruang yang terlihat bagi field data-entry
h. Pergerakan kursor yang baik
i. Perbaikan kesalahan bagi karakter individu dan
keseluruhan field
j. Pesan kesalahan bagi nilai yang tidak sesuai
k. Penandaan field opsional yang jelas
l. Pesan penjelasan bagi field
m. Sinyal penyelesaian
2.4.7 Prototyping (optional)
Prototyping merupakan pembuatan model kerja dari
aplikasi basis data, yang membolehkan perancang atau user
untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan
maupun fungsi yang dimiliki sistem.
Tujuan utama dari prototyping yaitu :
1. Menuntun user menggunakan fitur-fitur agar sistem
berjalan dengan baik.
22
2. Sebagai saran pengembangan atau mungkin menambah
fitur baru pada aplikasi basis data
Ada 2 strategi protoyping yang umum digunakan yaitu :
1. Requirement prototyping, menggunakan prototype
untuk menetapkan kebutuhan dari tujuan aplikasi basisdata.
Ketika kebutuhan sudah terpenuhi, prototype tidak digunakan
lagi atau dibuang.
2. Evolutionary prototype, menggunakan prototype untuk
menetapkan kebutuhan yang selanjutnya dikembangkan
menjadi aplikasi basis data yang bekerja.
2.4.8 Impelementation
Pengertian implementasi yaitu membuat definisi basis
data secara eksternal, konseptual, dan internal termasuk
program aplikasi. Implementasi merupakan realisasi dari basis
data dan perancangan aplikasi. Implementasi basis data dicapai
menggunakan Data Definiton Language (DDL) dari DBMS
yang dipilih atau Graphical User Interface (GUI). Pandangan
pengguna ( userview ) lainnya juga diimplementasikan dalam
tahapan ini. Bagian lain aplikasi program adalah transaksi
basis data yang diimplementasikan dengan menggunakan Data
Manipulation Language dari sasaran DBMS.
2.4.9 Data Conversion and Loading ( Pengubahan dan
Pemuatan Data )
Menurut Connolly dan Begg (2010: p334), Data
Conversion and Loading adalah mentrasnfer beberapa data
23
yang ada ke dalam database baru dan mengkonversikannya ke
beberapa aplikasi yang ada untuk menjalankan pada database
baru tersebut.
2.4.10 Testing ( Uji Coba )
Menurut Connolly dan Begg (2010: p344), Testing
adalah proses menjalankan sistem basis data dengan maksud
menemukan masalah. Pengujian juga harus mencakup
kegunaan dari sistem basis data. Idealnya, sebuah evaluasi
harus dilakukan terhadap spesifikasi kegunaannya. Contoh
kriteria yang dapat digunakan untuk melakukan evaluasi
meliputi :
1. Learnability, berapa lama waktu yang dibutuhkan
pengguna baru untuk menjadi produktif dengan sistem.
2. Performance, seberapa baik respon sistem sesuai
praktek kerja pengguna.
3. Robustness, seberapa toleransinya sistem dari
kesalahan pengguna.
4. Recoverability, seberapa baik sistem pulih dari
kesalahan pengguna.
5. Adaptability, seberapa dekat sistem terkait dengan satu
model perkerjaan.
Setelah pengujian selesai, sistem basis data siapuntuk
“ditandatangani” dan diserahkan pada pengguna.
24
2.4.11 Operasional Maintenance ( Perawatan Operasional )
Menurut Connolly dan Beg (2010: p335), Operational
Maintenance adalah proses pemantauan dan pemeliharaan
instalasi sistem basis data berikut. Tahap pemeliharaan ini
melibatkan dua kegiatan kerja yaitu :
1. Pemantauan kinerja sistem. Jika kinerja turun ke
bawah tingkat yang dapat diterima, tuning atau reorganisasi
basis data mungkin diperlukan.
2. Memelihara dan meningkatkan sistem basis data
melalui tahap tahap sebelumnya dari siklus hidup.
2.5 Teori Entity-Relational Modelling ( ER Model )
Menurut Connolly dan Beg (2010: p371), ER Model adalah
pendekatan Top-Down untuk merancang basis data yang di awali dengan
mengidentifikasi data penting yang disebut entitas dan relasi antar data yang
harus diwakili dalam model tersebut.
1. Entity Type ( Jenis Entitas )
Menurut Connolly dan Begg (2010: p372), Sekelompok objek dengan sifat
yang sama, yang diidentifikasi oleh perusahaan memiliki eksistensi yang
independen. Konsep dasar dari ER model adalah tipe entitas,yang mewakili
sekelompok ‘benda’ di ‘dunia nyata’ dengan sifat yang sama. Entity
Occurance adalah sebuah objek diindentifikasikan secara unik suatu entitas.
Tipe objek yang diidentifikasi secara unik dari sebuah tipe entitas merujuk
pada kesederhaan sebuah Entity Occurrence.
25
2. Relationship Types ( Tipe Relasi )
Menurut Connolly dan Beg (2010: p374), Sebuah set asosiasi yang bermakna
antar jenis entitas. Sebuah tipe relasi adalah set asosiasi antara satu atau lebih
pertisipasi tipe-tipe entitas. Seperti tipe-tipe entitas dan entitas-entitas, perlu
untuk membedakan antara istilah ‘Relationship Type’ dan ‘Relationship
Occurrence’.
Sebuah Relationship Occurrence menunujukan hubungan entitas tertentu
yang terkait. Pertimbangkan jenis relasi yang disebut Has. Yang merupakan
hubungan antara entitas Branch dan Staff, yang memiliki Branch has Staff.
Kita dapat memeriksa contoh kejadian individual dari relasi Has
menggunakan sebuah semantic net. Semantic net adalah sebuah model tingkat
objek, yang menggunakan simbol • untuk merepresentasikan entitas-entitas
dan simbol ◊ untuk merepresentasikan relasi.
3. Atribut
Menurut Connolly dan Begg (2010: p379), sebuah properti dari entitas atau
tipe relasi. Atribut dapat diklasifikasi menjadi :
i. Simple and Composite Attributes
Menurut Connolly dan Begg (2010: p379), sebuah atribut yang terdiri dari
komponen tungal dengan keberadaan independen. Composite attributes
adalah sbeuah atribut yang terdiri dari beberapa komponen, masing-masing
dengan keberadaan independen.
ii. Single- Valued And Multi – Valued Attributes
Menurut Connolly dan Begg (2010: p380), sebuah atribut yang memegang
nilai tunggal untuk setiap kemunculan suatu entitas . Multi – Valued
26
attributes adalah sebuah atribut yang memegang beberapa nilai untuk setiap
kemunculan suatu entitas.
iii. Derrived Attributes
Menurut Connolly dan Begg (2010: p380), sebuah atribut mewakili nilai yang
diturunkan dari nilai atribut terkait atau sekumpulan atribut, belum tentu
dalam tipe entitas yang sama.
iv. Keys
Menurut Connolly dan Begg (2010: p381), keys dibagi menjadi lima jenis :
a. Candidate Keys
Set atribut minimal yang secara unik mengidentifikasi setiap kemunculan dari
tipe entitas
b. Primary Keys
Sebuah candidate key yang dipilih untuk mengidenfikasi secara unik, tiap
kejadian pada sebuah tipe entitas
c. Composite Keys
Sebuah candidate key yang terdiri dari dua atau lebih atribut.
d. Alternate Keys
Candidate key yang tidak terpilih menjadi primary key, atau biasa disebut
secondary key
e. Foreign Keys
Himpunan atribut dalam suatu relasi yang cocok dengan candidate key dari
beberapa relasi lainnya.
4. Strong and Weak Entity Types
Menurut Connolly dan Begg (2010: p383), dapat dibedakan jenis entitas
sebagai tipe yang kuat atau yang lemah.
27
a. Strong Entity Type, adalah sebuah tipe entitas yang tidak bergantung
pada keberadaan-keberadaan jenis entitas lainnya
b. Weak Entity Type, adalah sebuah tipe entitas yang bergantung pada
keberadaan beberapa jenis entitas lain.
Gambar 2.1 Strong and Weak Entity Types
5. Structural Constraints
Menurut Connolly dan Begg (2010: p385), hambatan yang harus
mencerminkan pembatasan pada hubungan seperti yang dirasakan di dunia
nyata. Tipe utama dari constraint pada relasi disebut multiplicity. Multiplicity
adalah jumlah (atau batas) dari kejadian yang mungkin dari suatu entitas yang
berelasi dengan suatu kejadian tunggal sebuah entitas dan terkait suatu relasi
tertentu. Derajat binary adalah yang paling sering digunakan dalam
menentukan relasi. Relasi biner secara umum merujuk pada one to one ( 1:1 ),
one-to-many ( 1:* ), atau many-to-many ( *:* ).
6. Multiciplicity for Complex Relationships
Jumlah ( atau range ) dari kejadian yang mungkin dari suatu entitas dalam
suatu hubungan n ketika yang lain ( n-1 ) nilainya tetap.
28
a. Cardinality
Menurut Connolly dan Begg (2010: p289), menjelaskan jumlah maksimum
hubungan kejadian yang mungkin untuk suatu entitas yang berpartisipasi
dalam jenis hubungan tertentu.
b. Menurut Connolly dan Begg (2010: p391), menentukan semua atau
hanya beberapa kejadian entitas yang berpartisipasi dalam suatu hubungan.
Kendala paertisipasi mewakili apakah semua kejadian entitas yang terlibat
dalam suatu hubungan tertentu ( merujuk sebagai partisipasi mandatory ) atau
hanya beberapa ( merujuk sebagai partisipasi optional ).
Multiplicity dibagi menjadi tiga jenis, yaitu :
1) One-to-one (1 . . 1) relationship
Gambar 2.2 One-to-one relationship
2) One-to-many (1 . . *) relationship
Gambar 2.3 One-to-Many relationship
3) Many-to-many (* . . *) relationship
Gambar 2.4 Many-to-Many relationsip
29
2.6 Teori Normalisasi
2.6.1 Proses Normalisasi
Menurut Connolly dan Beg (2010: p428), tiga bentuk
normasilisasi pada awalnya yang diusulkan disebut First Normal
Form(INF), Second Normal Form (2NF), Third Normal Form (3NF).
Proses normalisasi :
1.Unnormalized Form (UNF)
Menurut Connolly dan Beg (2010: p430), suatu tabel yang terdiri dari
satu atau lebih kelompok yang berulang (Repeating Group).
Repeating Group adalah sebuah atribut atau himpunan atribut di
dalam tabel yang memiliki lebih dari satu nilai (Multiple Value) untuk
sebuah Primary Key tabel tersebut.
2. First Normal Form (1NF)
Menurut Connolly dan Beg (2010: p430), sebuah relasi dimana titik
temu antara baris dan kolomnya mengandung hanya satu nilai. Ada
dua pendekatan umum untuk menghilangkan repeating group dari
tabel yang tidak normal, yaitu :
a. Menenpatkan data berulang bersama salinan atribut kunci pada
relasi yang berulang.
b. Menempatkan data berulang bersama salinan atribut kunci pada
relasi yang terpisah. Sebuah primary key diindentifikasi ke dalam
relasai.
30
3. Second Normal Form (2NF)
Menurut Connolly dan Beg (2010: p434), sebuah relasi yang berada
pada 1NF dan setiap atribut yang bukan primary key berfungsi secara
penuh bergantung pada primary key-nya.
4. Third Normal Form (3NF)
Menurut Connolly dan Beg (2010: p436), Sebuah relasi yang berada
pada 1NF dan 2NF, dan tidak ada atribut yang bukan primary key
yang secara langsung bergantung kepada primary key-nya.
5. Boyce-Codd Normal Form (BCNF)
Menurut Connolly dan Beg (2010: p447), BCNF berdasarkan pada
fungctional dependencies yang mempertimbangkan semua candidate
key dalam sebuah relasi. Sebuah relasi dalam BCNF jika dan hanya
jika setiap determinant adalah sebuah candidate key.
6. Fourth Normal Form (4NF)
Menurut Connolly dan Beg (2010: p457), sebuah relasi yang jika dan
hanya jika setiap nontrivial multivalued dependency A >> B, dimana
A adalah candidate key dari relasi.
7. Fifth Normal Form (5NF)
Menurut Connolly dan Beg (2010: p458), sebuah relasi jika dan hanya
jika setiap join dependency (R1, R2, ... Rn) di dalam relasi R, setiap
proyeksi mencakup candidate key dari relasi asli.
2.7 Teori Activity Diagram
Definisi activity diagram menurut Satzinger, Jackson, dan Burd (2009:
p141), adalah diagram alur kerja yang menggambarkan berbagai kegiatan
31
pengguna atau sistem, orang yang melakukan setiap kegiatan, dan aliran
sekuensial dari kegiatan ini.
Gambar 2.5 Notasi Activity Diagram (Satzinger : 2009)
Notasi – notasi dalam activity diagram antara lain:
1. Oval mewakili kegiatan individu dalam sebuah alur kerja.
2. Connecting Arrow mewakili urutan antara kegiatan.
3. Black Circles digunakan untuk menunjukkan awal dan akhir dari alur kerja.
4. Diamond merupakan titik keputusan dimana aliran proses tersebut akan
mengikuti satu jalur atau jalur lain.
5. Synchronization Bar merupakan garis padat yang membagi satu jalur ke
beberapa jalur atau menggabungkan jalur secara bersamaan.
6. Swimline membagi kegiatan – kegiatan pada alur kerja menjadi kelompok –
kelompok yang menunjukkan agen – agen yang melakukan aktivitas – aktivitas.
2.8 Teori State Transition Diagram (STD)
Menurut Whitten, Bentley, dan Dittman (2004: p673), State Transition
Diagram adalah alat yang digunakan untuk menggambarkan urutan dan variasi
32
layar yang dapat muncil ketika pengguna sistem mengunjungi terminal. Ada
beberapa hal yang perlu diketahui dalam pembuatan State Transition Diagram,
yaitu :
a. State
Adalah sebuah kondisi dari keadaan, atau form, yang dapat digunakan oleh
komponen suatu sistem. Ada dua macam state, yaitu :
i. Current State
ii. Final State
b. Transition
Merupakan simbol yang menyatakan suatu perubahan dari suatu keadaan ke
keadaan yang lain.
c. Event
Adalah suatu kejadian pada lingkungan eksternal yang dapat dideteksi oleh
sistem. Kejadian tersebut dapat menyebabkan perubahaan dari satu state ke state
lainnya.
d. Action
Saat event muncul, terjadi transaksi sehingga komponen sistem menerima
perubahan, state. Untuk itu dibutuhkan sebuah aksi untuk berpindah state. Aksi
disini akan menghasilkan sebuah output atau tampilan.
e. Output
Merupakan hasil keluaran dari kalkulasi dan lain sebagainya.
2.9 Integrity Constraints
Menurut Connolly dan Beg (2010: p577), Integrity Constraints juga
berkontribusi mempertahankan sistem basis data yang aman dengan mencegah
data dari yang tidak valid, dan hasil yang tidak benar.
33
Menurut Connolly dan Beg (2010: p153), Integrity Constraints dibagi
menjadi empat jenis yaitu :
1. Nulls, merepresentasi yang sebuah nulai untuk sebuah atribut yang tidak
diketahui dengan jelas atau tidak berlaku untuk tuple ini.
2. Entity Integrity, hubungan dasar, tidak ada atribut dari primary key yang bisa
null.
3. Referential, jika foreign key ada dalam relasi, baik nilai foreign key harus
sesuai dengan nilai candidate key dari beberapa tuple dalam home relation atau
foreign key harus sepenuhnya null.
4. General Constraints, tambahan aturan yang ditetapkan oleh pengguna atau
administrator basis data dari basis data yang mendefinisikan atau membatasi
beberapa aspek dari perusahaan
2.10 Database Security
Menurut Connolly dan Beg (2010: p577), Database Security adalah
mekanisme yang melindungin basis data terhadap ancaman disengaja atau
tidak disengaja. Keamanan basis data bertujuan untuk meminimalkan
kerugian yang disebabkan oleh peristiwa diantisipasi dengan cara yang hemat
biaya tanpa terlalu membatasi pengguna. Salah satu jenis keamanan untuk
basis data yaitu menghindari threats yaitu setiap situasi atau kejadian, baik
disengaja atau tidak disengaja, yang dapat merugikan sistem dan berakibat
pada organisasi.
2.11 Backup and Recovery
Menurut Connolly dan Beg (2010: p577), Backup adalah proses
periodik yang menyalin dari file basis data dan log (program) ke media
penyimpanan offline. Dalam hal kegagalan yang membuat database tidak dapat
34
digunakan, salinan cadangan dengan rincian ditangkap dalam file log yang
digunakan untuk mengembalikan database ke Tahapan terbaru yang
kemungkinan konsisten. Keuntungan dari journal adalah bahwa dalam hal
kegagalan, database dapat dikembalikan ke keadaan terakhir yang konsisten
dikenal dengan menggunakan salinan cadangan dari database dan informasi
yang terdapat dalam file log. Jika journal tidak diaktifkan pada sistem gagal,
satu-satunya alat pemulihan adalah untuk mengembalukan database
menggunakan versi terbaru dari database. Namun, tanpa file log, setiap
perubahan yang dilakukan setelah last backup ke database akan hilang.
2.12 Teori Khusus
Mencakup teori-teori khusus yang berhubungan dengan perancangan basis
data.
2.12.1 Pengertian Pemasaran
Menurut Frank Jefkins (1995: p4), Proses manajemen yang
bertanggung jawab terhadap identifikasi, antisipasi, serta pemenuhan
kebutuhan konsumen, dan dalam waktu bersamaan, menciptakan
keuntungan bagi perusahaan.
2.12.2 Pengertian Manajemen Pemasaran
Kotler dan Amstrong (2001: p18), mendefinisikan,
“Manajemen Pemasaran sebagai analisis, perencanaan, implementasi
dan pengendalian dari program-program yang dirancang untuk
menciptakan, membangun dan memelihara pertukaran yang
menguntungkan dengan pembeli sasaran untuk mencapai tujuan
perusahaan.”
35
Filosofi manajemen pemasaran berpegangan pada pencapaian
tujuan organisasi yang tergantung pada penentuan kebutuhan atau
keinginan dari pasar sasaran dan menyampaikan kepuasan yang
diinginkan dengan lebih efektif dibanding dengan pesaing.
Sedangkan menurut Kotler (1997: p7), istilah manajemen
pemasaran adalah kegiatan menganalisa, merencanakan,
mengimplementasi dan mengawasi segala kegiatan, guna mencapai
tingkat pemasaran sesuai dengan tujuan yang telah ditetapkan oleh
perusahaan. Kegiatan utamanya terletak pada merancang penawaran
yang dilakukan oleh perusahaan agar dapat memenuhi keinginan dan
kebutuhan pasar dengan menggunakan politik harga, cara -cara
komunikasi, dan cara distribusi, menyajikan informasi, memotivasi
dan melayani pasar.
2.1.2.3 Pengertian Periklanan
Menurut Frank Jefkins (1995 : p5), Periklanan merupakan
pesan-pesan penjualan yang paling persuasif yang diarahkan kepada
calon pembeli yang paling potensial atas produk barang atau jasa
tertentu dengan biaya yang semurah-murahnya.
2.1.2.4 Microsoft Visual Studio
Microsoft Visual Studio merupakan sebuah perangkat lunak
lengkap (suite) yang dapat digunakan untuk melakukan
pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal,
ataupun komponen aplikasinya, dalam bentuk aplikasi console,
aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup
kompiler, SDK, Integrated Development Environment (IDE), dan
36
dokumentasi (umumnya berupa MSDN Library). Kompiler yang
dimasukkan ke dalam paket Visual Studio antara lain Visual C++,
Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual
J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk
mengembangkan aplikasi dalam native code (dalam bentuk bahasa
mesin yang berjalan di atas Windows) ataupun managed code (dalam
bentuk Microsoft Intermediate Language di atas .NET Framework).
Selain itu, Visual Studio juga dapat digunakan untuk
mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang
berjalan diatas .NET Compact Framework).
Visual Studio kini telah menginjak versi Visual Studio
9.0.21022.08, atau dikenal dengan sebutan Microsoft Visual Studio
2008 yang diluncurkan pada 19 November 2007, yang ditujukan untuk
platform Microsoft .NET Framework 3.5. Versi sebelumnya, Visual
Studio 2005 ditujukan untuk platform .NET Framework 2.0 dan 3.0.
Visual Studio 2003 ditujukan untuk. NET Framework 1.1, dan
Visual Studio 2002 ditujukan untuk .NET Framework 1.0. Versi-
versi tersebut di atas kini dikenal dengan sebutan Visual Studio .NET,
karena memang membutuhkan Microsoft .NET Framework.
Sementara itu, sebelum muncul Visual Studio .NET, terdapat
Microsoft Visual Studio 6.0
37
2.1.2.5 C#
C# (dibaca : C Sharp) merupakan sebuah bahasa pemrograman
yang berorientasi objek yang dikembangkan oleh Microsoft sebagai
bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman
ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek
– aspek ataupun fitur bahasa yang terdapat pada bahasa – bahasa
pemrograman lainnya (seperti Java, Delphi, Visual Basic, dan lain lain)
dengan beberapa penyederhanaan.
Standar European Computer Maufacturer Association (ECMA)
mendatarkan beberapa tujuan desain dari bahasa pemrograman C#,
sebagai berikut :
� Bahasa pemrograman C# dibuat sebagai bahasa pemrograman
yang bersifat bahasa pemrograman general – purpose (untuk tujuan
jamak), beror ientasi objek, modern, dan sederhana.
� Bahasa pemrograman C# ditujukan untuk digunakan dalam
mengembangkan komponen perangkat lunak yang mampu mengambil
keuntungan dari lingkungan terdistribusi.
� Portabilitas programmer sangatlah penting, khususnya bagi
programmer yang telah lama menggunakan bahasa pemrogaman C
dan C++.
� Dukungan untuk internasionalisasi (multi- language) juga
sangat penting.
� C# ditujukan agar cocok digunakan untuk menulis program
aplikasi baik dalam sistem klien-server (hosted system) maupun sistem
38
embedded (embedded system), mulai dari perangkat lunak yang sangat
besar yang menggunakan sistem operasi yang canggih hingga kepada
perangkat lunak yang sangat kecil yang memiliki fungsi-fungsi
terdedikasi.