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
merepresentasikan
representation, sebuah
model
kemampuan
untuk
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.