7
LANDASAN TEORI
2.1. Definisi Data
Menurut Hoffer, Prescott dan McFadden (2005,p5), data merupakan gambaran objek dan peristiwa yang mempunyai arti dan penting di lingkungan pemakai. Sedangkan informasi merupakan data yang telah diproses dengan cara meningkatkan pengetahuan seseorang yang menggunakan data tersebut.
Menurut Indrajani (2009,p2), data adalah :
• Data adalah fakta atau obervasi mentah yang biasanya mengenai
fenomena fisik atau transaksi bisnis.
• Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik)
dari entitas seperti orang, tempat, benda, atau kejadian.
• Representasi fakta yang mewakili suatu objek seperti pelanggan,
karyawan, mahasiswa dan lain-lain, yang disimpan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, dan kombinasinya.
2.2. Defini Basis data
Menurut Indrajani (2009,p2), data adalah :
• Kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis
data mengkonsolidasi banyak catatan yang sebelumnya disimpan dalam file terpisah.
• Merupakan suatu kumpulan data yang berhubungan secara logis dan
deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat penyimpanan data besar yang dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen, tetapi menjadi sumber daya perusahaan yang dapat digunakan bersama.
Menurut Connoly dan Begg (2005,p15) basis data merupakan suatu kumpulan logikal data yang terhubung satu dengan yang lainnya dan deskripsi dari suatu data yang dirancang sebagai informasi yang dibutuhkan.
Menurut Hoffer, Prescott dan McFadden(2005,p4), basis data adalah sebuah kumpulan terorganisir dari data-data yang berhubungan secara logikal. Basis data biasanya dirancang untuk memenuhi kebutuhan-kebutuhan informasi dari multiple user dalam sebuah organisasi.
2.3. DBMS
Menurut Hoffer, Prescott dan McFadden(2005,p7) DBMS merupakan sebuah sistem piranti lunak yang digunakan untuk membuat, memelihara dan menyediakan akses kontrol kepada pengguna basis data. Sebuah DBMS menyediakan metode yang sistematis untuk menciptakan, memperbaharui, menyimpan dan mengambil kembali data di dalam basis data.
Menurut Connolly dan Begg (2005,p16) DBMS merupakan sistem piranti lunak dimana pemakainya dapat mendefinisikan, menciptakan, memelihara dan mengontrol akses ke basis data. DBMS menyediakan beberapa fasilitas :
1. Mengijinkan pengguna untuk menentukan basis data, biasanya melalui Data Definition Languange (DDL). DDL menyediakan fasilitas bagi Basis data Administrator (DBA) dan pemakai untuk menentukan tipe data, entitas, atribut dan relasi yang diperlukan aplikasi serta batasan integritas dan keamanan yang bisa disimpan di basis data.
2. Mengijinkan pengguna untuk melakukan pengoperasian data seperti memasukkan, memperbaharui, menghapus dan mengambil data dari basis data.
3. DBMS juga menyediakan akses kontrol terhadap basis data. Contoh akses kontrol yang disediakan :
a. Security System, yang dapat mencegah pengguna yang belum
b. Integrity System, memelihara konsistensi dalam penyimpanan data.
c. Concurrency and Control System, yang memungkinkan
pembagian akses basis data.
d. Recovery Control System, yang dapat mengembalikan basis data
ke keadaaan awal apabila terjadi kesalahan pada piranti lunak ataupun keras.
e. User Accessible Catalog, yang berisi deskripsi data yang terdapat dalam basis data.
2.3.1 Komponen-Komponen DBMS
Menurut Connoly dan Begg (2005,p18) DBMS memiliki lima komponen penting yaitu :
• Hardware (perangkat keras)
Suatu DBMS dan aplikasi yang menggunakan hardware untuk menjalankan aplikasinya. Hardware dapat disusun dari suatu komputer tunggal, suatu mainframe tunggal, suatu jaringan komputer.
• Software (perangkat lunak)
Komponen perangkat lunak terdiri dari DBMS software dan aplikasi program beserta sistem operasi (OS), termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan. • Data
Data merupakan komponen terpenting dalam DBMS khususnya sudut pandang dari end user mengenai data, dimana data berfungsi sebagai jembatan antara komponen mesin dengan komponen manusia.
• Prosedur
Prosedur merupakan instruksi dan aturan-aturan dalam membuat rancangan dan menggunakan basis data. Pengguna sistem dan staff yang mengatur kebutuhan basis data didokumentasikan dalam prosedur yang berupa petunjuk pengguna sistem atau petunjuk menjalankan sistem. Berikut ini terdiri dari :
a) Log on ke DBMS.
b) Menggunakan sebagian fasilitas DBMS atau aplikasi program.
c) Menjalankan dan menghentikan DBMS. d) Membuat duplikat backup basis data.
f) Mengubah struktur suatu tabel, mengatur ulang basis data melewati multiple disks, meningkatkan kinerja, atau menyimpan data ke secondary storage.
• People (manusia)
Komponen terakhir yaitu manusia yang terlibat dalam sistem tersebut.
a. Application Programmer, bertanggung jawab untuk
membuat aplikasi basis data dengan menggunakan bahasa pemrograman seperti VB, Java, dan lain-lain.
b. End-User, orang yang berinteraksi dengan sistem melalui
workstation atau terminal.
c. DA (Data Administrator), seorang yang berwenang untuk
membuat keputusan strategis dan kebijakan mengenai data yang ada, DBA (Basis data Admistrator), menyediakan dukungan teknis untuk implementasi keputusan tersebut, dan bertanggung jawab atas keseluruhan kontrol sistem pada tingkatan teknis.
d. Basis data Designer
Dalam sebuah proyek basis data yang besar, seharusnya terdapat dua tipe designer yaitu logical basis data designer dan physical basis data designer. Dimana, Logical Basis data Designer bertugas untuk mengidentifikasi data (entitas dan atribut), hubungan antar data dan hambatan penyimpanan data ke dalam basis data. Sedangkan Physical Basis data Designer menentukan bagaimana basis data logikal untuk difisikkan.
2.3.2 Keuntungan dan Kerugian DBMS
Menurut Connoly dan Begg (2005,p26), keuntungan DBMS adalah sebagai berikut :
1. Kontrol terhadap pengulangan data (data redundancy). 2. Data yang konsisten.
3. Semakin banyak informasi yang didapatkan data yang sama. 4. Data yang dibagikan (sharing data).
5. Menambah integritas data. 6. Menambah keamanan data. 7. Penetapan standarisasi. 8. Pengurangan biaya.
9. Mempermudah pengoperasian data.
10.Memperbaiki pengaksesan data dan hasilnya. 11.Menambah produktivitas.
12.Memperbaiki pemeliharaan data melalui independensi data. 13.Memperbaiki pengaksesan data secara bersama-sama.
Menurut Connoly dan Begg (2005,p26), kerugian dari DBMS adalah sebagai berikut :
1. Memiliki sistem yang kompleks.
2. Karena sistem yang kompleks mengakibatkan DBMS memiliki ukuran yang semakin besar.
3. DBMS memiliki harga yang bervariasi tergantung fungsi dan kebutuhan.
4. Penambahan biaya untuk perangkat keras yang dibutuhkan. 5. Penambahan biaya konversi.
6. Karena DBMS dirancang untuk mengakses lebih dari satu aplikasi sehingga performanya menurun.
7. Kegagalan dalam DBMS mengakibatkan operasi tidak dapat berjalan.
2.4. Arsitektur Basis Data
Tiga tingkat arsitektur terdiri dari :
1. Tingkat Eksternal
Tingkat dimana terdapat tampilan basis data untuk pengguna. Tingkat ini menjelaskan bahwa ada bagian dari database yang relevan ke setiap pengguna. Pada tampilan ini terdapat :
• Lebih dari satu entity. • Lebih dari satu attribute. • Lebih dari satu relationship.
2. Tingkat Konseptual
Tingkat dimana terdapat tampilan basis data untuk komunitas. Tingkat ini menjelaskan data apa yang disimpan di basis data dan juga menjelaskan relationship antar data. Tingkat ini mewakili :
• Semua entity, attribute dari entity tersebut, dan relationship-nya. • Kendala yang ada pada data.
• Informasi semantik tentang data. • Security dan integrity information.
3. Tingkat Internal
Tingkat dimana representasi fisik dari basis data dalam komputer. Tingkat ini menjelaskan bagaimana data disimpan dalam basis data. Tingkat internal ini berkaitan dengan beberapa hal dibawah ini :
• Alokasi ruang penyimpanan untuk data dan indeks. • Pencatatan data untuk penyimpanan.
• Komparasi data dan teknik enkripsi data. • Penempatan pencatatan.
Dibawah tingkat internal terdapat tingkat fisik yang mengatur sistem operasi di bawah arahan dari DBMS. Fungsi dari DBMS dari sistem operasi pada tingkat ini tidak jelas dan berbeda dari sistem ke sistem.
Sasaran dari Tiga Tingkat Arsitektur ini adalah memisahkan setiap tampilan pengguna terhadap basis data dengan cara basis data tersebut direpresentasikan secara fisik. Berikut adalah beberapa alasan mengapa pemisahan ini diperlukan :
• Semua pengguna dapat mengakses data yang sama, tetapi
memiliki tampilan yang berbeda disesuaikan dengan data. Setiap pengguna harus mengubah cara pandangnya terhadap data, dan perubahan ini tidak dapat mempengaruhi pengguna lainnya.
• Para pengguna tidak perlu lagi berhubungan langsung dengan
Dengan kata lain, interaksi pengguna dengan basis data harus berdiri sendiri terhadap pertimbangan penyimpanan.
• Basis data Administrator (DBA) harus mengubah struktur
penyimpanan basis data tanpa mempengaruhi tampilan pengguna. • Struktur internal dari basis data harus tidak terpengaruh dengan
perubahan ke aspek fisik penyimpanan, seperti perubahan besar ke perangkat yang baru.
• Basis data Administrator (DBA) harus mengubah struktur
konseptual dari basis data tanpa memperngaruhi semua pengguna.
(Connolly,2005,p35-37)
2.5. Data Independence
Sasaran utama dari tiga-tingkat arsitektur adalah untuk menyediakan data independence atau kemandirian data, dalam arti tingkat atas tidak akan berubah dengan perubahan ke tingkat bawah. Terdapat dua tipe dari kemandirian data :
• Logis
Merujuk kepada imunitas dari skema eksternal untuk perubahan dalam skema konseptual.
• Fisik
Merujuk kepada imunitas dari skema konseptual untuk perubahan dalam skema internal.
(Connolly,2005,p38-39)
2.6. Basis data Language
2.6.1 DDL (Data Definition Languange)
Menurut Connolly (2005,p40), DDL adalah sebuah bahasa yang mengijinkan DBA (Basis data Administrator) atau pengguna untuk menggambarkan dan menamai entitas, attribut dan hubungan yang dibutuhkan oleh aplikasi bersamaan dengan asosiasi yang terintegrasi dan batasan keamanan.
Beberapa statement DDL :
a. Create Table untuk membuat tabel dengan mengidentifikasikan
tipe data tiap kolom.
b. Alter Table untuk membuang atau menambah kolom dan
constraint.
c. Drop Table untuk menghapus table beserta semua data yang
terkait di dalamnya.
d. Create Index untuk membuat index pada suatu tabel.
e. Drop Index untuk membuang atau menghapus index yang telah
2.6.2 DML (Data Manipulation Language)
Suatu bahasa yang menyediakan suatu paket operasi untuk mendukung manipulasi data yang tersimpan dalam basis data. Operasi memanipulasi data umumnya meliputi beberapa hal berikut :
a. Memasukkan data baru ke dalam basis data.
b. Memodifikasi data yang sudah tersimpan dalam basis data. c. Membaca data yang sudah tersimpan dalam basis data. d. Menghapus data yang ada dalam basis data.
(Connolly,2005,p40-41)
DML dibedakan menjadi dua tipe, yaitu :
1. Prosedural
Suatu bahasa yang mengizinkan pengguna untuk memberitahu sistem, data apa yang dibutuhkan dan bagaimana mengambil data tersebut (Connolly,2005,p41).
2. Non-Prosedural
Suatu bahasa yang mengizinkan pengguna untuk menyatakan data apa yang dibutuhkan daripada bagaimana data itu diambil (Connolly,2005,p41).
2.7. The Database System Development Lifecycle
Sebagai sistem basis data komponen mendasar bagi perusahaan besar yang memiliki sistem informasi yang luas, sistem basis data mengembangkan siklus hidup yang secara lazim terkait dengan siklus hidup dari sistem informasi. Penting untuk mengetahui tahapan-tahapan dari pengembangan siklus hidup sistem basis data tersebut. Berikut tahapan-tahapannya :
• Perencanaan Basis data
Perencanaan Basis Data (Basis data Planning) merupakan aktivitas manajemen yang memperkenankan tahapan database application lifecycle direlakasikan seefisien dan seefektif mungkin. Perencanaan basis data harus diintegrasikan dengan semua strategi sistem informasi organisasi. Ada tiga isu pokok yang terlibat dalam perumusan strategi sistem informasi, diantaranya :
o Identifikasi rencana dan tujuan perusahaan, kemudian menentukan kebutuhan sisten informasi.
o Evaluasi sistem informasi yang ada untuk menentukan kelebihan dan kelemahan yang ada.
o Penafsiran kesempatan teknologi informasi yang dapat menghasilkan kekuatan kompetitif.
(Connolly,2005,p285). • Pendefinisian Sistem
Mendeskripsikan lingkup dan batasan-batasan dari aplikasi basis data dan pandangan pengguna utama. Pandangan pengguna adalah apa saja yang termasuk dalam sistem basis data dari perspektif peran kerja tertentu seperti manajer atau supervisor, atau area aplikasi perusahaan seperti personal marketing atau kontrol saham (Connolly,2005,p286).
• Pengumpulan dan Analisis Data
Proses pengumpulan dan analisa data tentang bagian dari organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan data ini untuk mengidentifikasi persyaratan-persyaratan pengguna dari sistem yang baru (Connolly,2005,p288).
• Perancangan Basis data
Proses menciptakan rancangan untuk suatu basis data yang akan mendukung operasi dan sasaran perusahaan (Connolly,2005,p291). Terdapat dua pendekatan perancangan basis data yaitu :
o Bottom-up
Pendekatan ini sesuai untuk rancangan basis data yang sederhana dengan jumlah attribute yang relatif sedikit (Connolly,2005,p291).
o Top-down
Pendekatan ini lebih sesuai untuk strategi rancangan basis data yang rumit (Connolly,2005,p292).
Perancangan basis data terdiri dari tiga tahap, yaitu :
o Perancangan Basis data Konseptual
Proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan, independen dari semua
pertimbangan fisik (Connolly,2005,p293). Berikut langkah dalam perancangan basis data konseptual :
Langkah 1 Membangun model data konseptual :
a. Identifikasi tipe entity.
b. Identifikasi tipe relationship.
c. Identifikasi dan mengumpulkan attribute dengan tipe entity atau tipe relationship.
d. Menentukan domain attribute.
e. Menentukan attribute candidate key, primary key, dan alternate key.
f. Mempertimbangkan penggunaan konsep model enhanced (pilihan).
g. Memeriksa redudansi dari model.
h. Memvalidasi model data konseptual terhadap transaksi pengguna.
i. Meninjau kembali model data konseptual terhadap pengguna.
o Perancangan Basis data Logikal
Proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen terhadap DBMS tertentu dan pertimbangan fisik lainnya (Connolly,2005,p294).
Langkah 2 Membangun dan memvalidasi model data logika :
a. Derivasi relationship untuk model data logika.
b. Validasi relationship dengan normalisasi.
c. Validasi relationship terhadap relationship transaksi.
d. Memeriksa integrity constraint.
e. Meninjau model data logika dengan pengguna.
f. Menggabungkan model data logika kedalam model global (pilihan).
g. Meninjau untuk perkembangan di masa yang akan datang.
(Connolly,2005,p440)
o Perancangan Basis data Fisikal
Proses memproduksi sebuah deskripsi dari implementasi basis data dalam tempat penyimpanan kedua, hal itu menjelaskan
relationship dasar berkas organisasi, dan indeks yang digunakan untuk mencapai keefisienan akses ke data, dan apapun integrity constraint yang terkait dan langkah-langkah security (Connolly,2005,p294).
Langkah 3 Menerjemahkan model data logika untuk target DBMS:
a. Merancang relationship dasar.
b. Merancang representasi dari data derivasi.
c. Merancang general constraint.
Langkah 4 Merancang berkas organisasi dan indeks :
a. Menganalisa transaksi.
b. Memilih berkas organisasi.
c. Memilih indeks.
d. Estimasi kapasitas disk yang dibutuhkan.
e. Merancang views pengguna.
f. Merancang mekanisme security.
h. Memonitor dan mengaktifkan sistem operasional.
• Pemilihan DBMS
Pemilihan dari suatu DBMS yang sesuai untuk mendukung aplikasi basis data (Connolly,2005,p295).
Langkah-langkah dalam pemilihan DBMS :
o Mendefinisikan syarat-syarat sebagai referensi.
o Daftar singkat dua atau tiga produk.
o Evaluasi produk.
o Merekomendasikan pilihan dan menghasilkan laporan.
• Perancangan Aplikasi
Menurut Connolly (2005, p299), perancangan aplikasi (application design) adalah perancangan antarmuka pengguna dan program aplikasi yang menggunakan dan memproses basis data.
Ada dua aspek penting dalam perancangan aplikasi, yaitu :
o Transaction Design (Perancangan Transaksi)
Transaksi merupakan satu atau serangkaian transaksi yang dilakukan oleh pengguna atau program
aplikasi yang mengakses atau mengubah isi dari basis data.
Tujuan dari perancangan transaksi adalah menetapkan dan mendokumentasikan karakteristik tingkat tinggi dan transaksi yang dibutuhkan pada basis data, diantaranya :
a. Data yang digunakan dalam transaksi.
b. Karakteristik fungsional dari transaksi.
c. Keluaran (output) dari transaksi.
d. Kepentingan pengguna.
e. Nilai yang diharapkan dari pengguna.
Ada tiga jenis transaksi :
a. Retrieval Transaction
Digunakan untuk mendapatkan kembali data untuk ditampilkan dalam laporan.
b. Update Transaction
Digunakan untuk menambah data, menghapus data lama, atau mengubah data yang sudah ada dalam basis data.
c. Mixed Transaction
Merupakan kombinasi antara Retrieval Transaction dan Update Transaction.
o User Interface Design (Perancangan Antarmuka)
Sebelum mengimplementasikan sebuah form atau laporan, perlu dirancang tampilannya terlebih dahulu. Ada beberapa pedomanan dalam perancangan pelaporan, yaitu :
a. Judul yang bermakna.
b. Instruksi yang mudah dipahami.
c. Pengelompokkan yang logis dan kolom yang berurutan.
d. Visualisasi tata letak yang menarik dari laporan.
e. Nama field yang akrab.
f. Terminologi dan singkatan yang konsisten.
g. Warna yang digunakan konsisten.
h. Ruang dan batas-batas untuk field memasukkan data jelas.
j. Perbaikan kesalahan untuk karakter individu dan seluruh field.
k. Pesan kesalahan untuk nilai yang tidak dapat diterima.
l. Field pilihan ditandai dengan jelas.
m. Pesan yang jelas untuk field.
n. Adanya sinyal selesai, ketika pengguna selesai mengisi field dari suatu formulir.
(Connolly,2005,p299)
• Prototipe
Membangun suatu model kerja dari suatu aplikasi basis data.
Tujuan utama dari pengembangan prototype aplikasi basis data adalah untuk memungkinkan pengguna memakai prototype tersebut dalam mengidentifikasi kelebihan atau kekurangan sistem, dan memungkinkan perancang untuk memperbaiki atau melengkapi fitur-fitur aplikasi basis data yang baru.
Ada dua strategi prototyping yang umum digunakan, yaitu :
o Requirement Prototyping
Menggunakan prototype untuk menetapkan tujuan dari aplikasi basis data dan ketika tujuan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang.
o Evolutionary Prototyping
Digunakan untuk tujuan yang sama. Perbedaannya adalah prototype yang sudah dipakai tidak dibuang, tetapi dikembangkan lebih jauh menjadi aplikasis basis data yang baru.
(Connolly,2005,p303-304).
• Implementasi
Realisasi secara fisik dari basis data dan perancangan aplikasi. Implementasi basis data dapat dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI).
• Konversi Data dan Pemuatan
Menurut Connolly (2005, p305), data conversion and loading adalah memindahkan data yang sudah ada ke dalam basis data yang baru dan mengubah aplikasi yang sudah ada ke dalam basis data yang baru dan mengubah aplikasi yang sudah ada untuk dijalankan pada basis data yang baru.
Tahapan ini diperlukan ketika sistem basis data yang baru akan menggantikan sistem basis data yang lama. Pada masa sekarang, DBMS umumnya memiliki fungsi untuk memasukkan file ke dalam basis data yang baru. Fungsi ini memungkinkan pengembang untuk mengkonversi dan menggunakan program aplikasi yang lama dalam sistem yang baru.
• Pengujian
Proses melaksanakan program aplikasi dengan tujuan untuk menemukan kesalahan. Berikut adalah contoh kriteria yang dapat digunakan untuk melaksanakan evaluasi :
o Learnability
Berapa lama waktu yang diperlukan untuk seorang pengguna baru menjadi produktif dengan sistem? (Connolly,2005,p305).
o Performance
Seberapa baik sistem dalam menanggapi kesesuaian praktek kerja pengguna? (Connolly,2005,p305).
o Robustness
Setoleransi apa sistem pada kesalahan pengguna? (Connolly,2005,p305).
o Recoverability
Seberapa baik sistem saat pemulihan kesalahan pengguna? (Connolly,2005,p306).
o Adaptibility
Seberapa dekat sistem terkait ke satu model kerja? (Connolly,2005,p306).
• Operasional dan pemeliharaan
Proses pemantauan dan memelihara sistem dengan mengikuti instalasi. Tahap ini melibatkan dua kegiatan, yakni :
o Memelihara dan memperbaharui sistem basis data (jika diperlukan) (Connolly,2005,p306).
2.8. Normalisasi
Normalisasi adalah sebuah teknik untuk menghasilkan suatu paket relationship dengan properti yang diinginkan, dan memberikan persyaratan data dari sebuah perusahaan (Connolly,2005,p388).
2.8.1 Redudansi Data dan Update Anomalies
Tujuan utama dari desain basis data relasi adalah untuk mengelompokkan attribute kedalam relationship untuk meminimalisasi data yang redundan. Jika tujuan ini tercapai, keuntungan potensial bagi implementasi basis data mencakup beberapa hal, yaitu :
o Pembaruan data yang tersimpan dalam basis data yang dicapai dengan minimal jumlah operasi dengan demikian akan mengurangi kesempatan dalam ketidakkonsistenan data yang terjadi dalam basis data (Connolly,2005,p390).
o Pengurangan kapasitas di berkas penyimpanan diperlukan oleh relationship dasar dengan demikian dapat meminimalisasi biaya (Connolly,2005,p390).
Relationship yang berulang memungkinkan memiliki beberapa masalah
sebagai insertion, deletion atau modification anomalies (Connolly,2005,p391).
2.8.2 Functional Dependencies
Menjelaskan relationship antara attribute dalam setiap
relationship. Sebagai contoh, jika A dan B adalah attribute dari
relationship R, fungsi B tergantung dari A (ditandai A-->B), jika setiap nilai dari A berasosiasi dengan nilai dari B. (A dan B masing-masing terdiri dari satu atau lebih attribute) (Connolly,2005,p392).
2.8.3 Proses Normalisasi
1. Unnormalized Form (UNF)
Suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group). Repeating group adalah sebuah attribute atau himpunan attribute di dalam tabel yang mnemiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut (Connolly,2005,p403).
2. First Normal Form (1NF)
Sebuah relationship dimana titik semu antara baris dan kolomnya mengandung hanya satu nilai. Sebuah relationship akan berada dalam 1NF jika repeating group tersebut telah hilang. Ada dua
pendekatan umum untuk menghilangkan repeating group dari tabel yang tidak normal, yaitu :
o Memasukkan data yang tepat di kolom yang kosong dari baris yang mengandung data berulang.
o Menempatkan data berulang bersama salinan attribute kunci pada relationship yang terpisah. Sebuah primary key diidentifikasikan ke relationship yang baru.
(Connolly,2005,p403).
3. Second Normal Form (2NF)
Sebuah relationship yang berada pada 1NF dan setiap attribute yang bukan primary key berfungsi secara penuh bergantung pada primary key-nya (Connolly,2005,p407).
4. Third Normal Form (3NF)
Sebuah relationship yang berada pada 1NF dan 2NF, dan tidak
ada attribute yang bukan primary key yang secara langsung
2.9. ER Model (Entity-Relationship Model)
Entity-Relationship Model merupakan salah satu model yang dapat memastikan pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu organisasi (Connolly,2005,p342).
Model ini menggunakan pendekatan Top-Down dalam merancang basis data, dimulai dengan mengidentifikasikan data penting yang disebut entity dan
relationship antara data harus direpresentasikan ke dalam model, kemudian
ditambahkan beberapa attribute dan constraint pada entity, attribute dan relationship.
2.9.1 Tipe Entity
Tipe entity adalah sekumpulan objek dengan properti yang sama, yang diidentifikasikan di dalam perusahaan karena keberadaannya yang mandiri. Sedangkan kejadian entity adalah sebuah objek dari satu tipe
entity yang dapat diidentifikasi secara unik (Connolly,2005,p343).
Keberadaan objek-objeknya secara nyata, seperti PTN dan KOPERTIS, atau secara abstrak seperti penjualan. Tipe entity dapat dikelompokkan menjadi :
o Tipe Entity Kuat
Tipe entity kuat adalah tipe entity yang keberadaannya tidak bergantung pada tipe entity lainnya (Connolly,2005,p354).
o Tipe Entity Lemah
Tipe entity lemah adalah tipe entity yang keberadaannya bergantung pada tipe entity lainnya (Connolly,2005,p355).
2.9.2 Tipe Relationship
Tipe relationship adalah gabungan antara tipe entity. Setiap jenis
relationship diberikan mana yang menjelaskan fungsinya. Sedangkan
kejadian relationship adalah sebuah hubungan yang dapat diidentifikasikan secara unik, yang meliputi sebuah kejadian dari setiap tipe entity di dalam relationship (Connolly,2005,p346).
o Derajat dari Tipe Relationship
Derajat dari tipe relationship adalah banyaknya tipe entity yang berpartisipasi dalam sebuah relationship (Connolly,2005,p347). Tipe relationship kompleks adalah sebuah relationship antara tiga atau lebih tipe entity (Connolly,2005,p348).
o Recursive Relationship
Relationship recursive adalah sebuah tipe relationship dimana ada
entity yang sama yang diikutsertakan lebih dari satu fungsi
2.9.3 Attribute
Attribute adalah properti dari sebuah entity atau relationship (Connolly,2005,p350). Attribute juga diartikan sebagai properti deskriptif atau karakteristik dari sebuah entity. Attribute menampung nilai yang menjelaskan setiap kejadian entity dan menggambarkan bagian utama dari data yang disimpan dalam basis data (Whitten,2004,p295).
• Attribute Domain
Attribute domain adalah sejumlah nilai yang diijinkan untuk nilai lebih untuk satu atau lebih attribute. Domain menetapkan bahwa sebuah attribute mungkin menahan dan serupa dengan konsep domain pada model relationship (Connolly,2005,p350).
• Attribute Simpel
Sebuah attribute yang disusun dari komponen tunggal dengan keberadaan yang mandiri. Attribute simpel tidak bisa dibagi lebih jauh lagi ke komponen yang lebih kecil. Seperti contoh posisi entity dan gaji karyawan. Attribute simpel dapat disebut juga atomic attribute (Connolly,2005,p351).
• Attribute Komposit
Sebuah attribute yang disusun dari komponen berlipat ganda, masing-masing dengan sebuah keberadaan yang bebas. Beberapa
attribute dapat dibagi lebih jauh lagi ke hasil komponen yang
lebih kecil dengan keberadaan mandiri yang dimiliki attribute itu sendiri (Connolly,2005,p351).
• Attribute Single-Valued
Attribute yang mempunyai nilai tunggal untuk setiap kejadian pada sebuah tipe entity (Connolly,2005,p351).
• Attribute Multi-Valued
Attribute yang mempunyai beberapa nilai untuk setiap kejadian
pada sebuah entity (Connolly,2005,p352).
• Attribute Derivasi
Sebuah attribute yang mewakili sebuah nilai yang dapat diturunkan dari attribute lain yang berhubungan atau kumpulan dari beberapa attribute, dan tidak harus berasal dari entity yang sama (Connolly,2005,p352).
2.9.4 Keys
• Candidate Key
Sejumlah kecil attribute yang secara unik mengidentifikasikan setiap kejadian dari setiap tipe entity (Connolly,2005,p352).
• Primary Key
Candidate key yang terpilih untuk mendefinisikan secara unik pada setiap kejadian dari sebuah entity (Connolly,2005,p353).
• Composite Key
Sebuah candidate key yang terdiri dari dua atau banyak attribute (Connolly,2005,p353).
• Foreign Key
Himpunan attribute dalam suatu relationship yang cocok dengan
candidate key dari beberapa relationship lainnya
(Connolly,2005,p79).
• Alternate Key
Candidate key yang tidak terpilih menjadi primary key, atau biasa disebut secondary key (Whitten,2004,p298).
2.10. Cardinality and Participation Constrains
Multiplicity sebenarnya terdiri atas dua batasan yang berbeda, yaitu : • Cardinality
Cardinality adalah nilai maksimum dari kejadian relationship yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship (Connolly,2005,p363).
• Participation
Participation menentukan apakah semua atau hanya beberapa kejadian entity yang ikut serta dalam sebuah rekationship (Connolly,2005,p363).
Participation constraint dibagi menjadi :
o Mandatory Participation
Participation mandatory melibatkan semua kejadian entity pada relationship tertentu (Connolly,2005,p351).
o Optional Participation
Optional Participation melibatkan beberapa kejadian entity pada relationship tertentu (Connolly,2005,p351).
2.11. Structural Constraints
Constraint harus menggambarkan pembatasan di dalam relationship
seperti halnya di ‘dunia nyata’. Jenis utama dari constraint pada suatu dinamakan multiplicity.
Multiplicity adalah banyaknya kejadian yang mungkin pada suatu tipe
entity yang mungkin hubungan dengan suatu kejadian dari tipe entity lain pada suatu relationship (Connolly,2005,p356).
Derajat yang paling umum pada suatu relationship adalah biner. Relationship biner terdiri dari :
• One-to-one Relationship (1:1)
Gambar 2.4 One-to-one Relationship
Pada gambar 2.4 bisa dilihat bahwa A hanya terhubung one-to-one (1:1) dengan C, dan B hanya terhubung one-to-one-to-one-to-one (1:1) dengan D. Berdasarkan gambar diatas dapat ditulis multiplicity-nya seperti gambar di bawah ini (Connolly,2005,p357).
Gambar 2.5 Notasi One-to-one Relationship
• One-to-many Relationship (1:*)
Gambar 2.6 One-to-many Relationship
Pada gambar 2.6 bisa dilihat bahwa B terhubung one-to-many (1:*) dengan D dan E. Berdasarkan dari gambar di atas dapat ditulis multiplicity-nya seperti gambar di bawah ini (Connolly,2005,p358).
Gambar 2.7 Notasi One-to-many Relationship
• Many-to-many Relationship (*:*)
Gambar 2.8 Many-to-many Relationship
Pada gambar 2.8 dapat dilihat bahwa A terhubung one-to-many (1:*) dengan D dan E. Sedangkan E terhubung one-to-many (1:*) dengan A dan B. Maka entity Group 1 (dengan value A dari gambar di atas) dan Group 2 (dengan value E dari gambar di atas) terhubung many-to-many (*:*). Berdasarkan gambar di atas dapat ditulis multiplicity-nya seperti gambar di bawah ini (Connolly,2005,p358).
Gambar 2.9 Notasi Many-to-many Relationship
2.12. Enhanced Entity-Relationship Model (EER Model)
Model EER memiliki tiga konsep tambahan yang sangat berguna dan penting yaitu spesialisasi/generalisasi, agregasi, dan komposisi.
2.12.1 Spesialisasi/Generalisasi
Spesialisasi merupakan suatu proses memaksimalkan perbedaan-perbedaan antara anggota sebuah entity dengan cara mengidentifikasi karakteristik yang membedakan entity tersebut (Connolly,2005,p374).
Sedangkan, generalisasi merupakan suatu proses yang meminimalkan perbedaan-perbedaan antara entity dengan cara mengidentifikasi sifat umum entity (Connolly,2005,p375).
2.12.2 Agregasi
Agregasi menggambarkan relationship ‘mempunyai sebuah’ atau ‘bagian dari’ antara tipe entity dimana salah satunya mewakili ‘seluruh’ dan salah satunya lagi mewakili ‘bagian’ (Connolly,2005,p383).
2.12.3 Komposisi
Komposisi adalah sebuah bentuk spesifik dari agregasi yang merepresentasikan sebuah kumpulan antar entity. Dimana terdapat sebuah kepemilikan yang kuat dan kebetulan antara ‘seluruh’ dan ‘bagian’ (Connolly,2005,p384).
2.13. Teori-Teori Khusus 2.13.1 Internet
Suatu koleksi yang meliputi jaringan komputer seluruh dunia yang saling terhubung. Internet terdiri dari banyak jaringan terpisah tetapi saling berhubungan. Internet dapat digunakan untuk keperluan komersil, bidang pendidikan dan organisasi-organisasi pemerintah, dan Internet Service Providers. Jasa yang ditawarkan di internet antara lain adalah
e-mail (electronic mail), konferensi, dan bercakap-cakap dan juga
mempunyai kemampuan untuk mengontrol komputer secara remote, dan mengirim serta menerima berkas (Connolly,2005,p994).
2.13.2 Pendekatan Web Basis data
Web basis data berasal dari dua kata, yaitu web dan basis data. Web (disebut juga world wide web, www atau W3) adalah ruang informasi di internet tempat dokumen-dokumen hypermedia disimpan
dan dapat diambil melalui suatu skema alamat yang unik (McLeod, 2001, jilid 1, p75).
Menurut Eaglestone (2001, p31), web basis data adalah suatu sistem yang membawa kemampuan dari teknologi basis data dan web. Sistem web basis data dilihat dari 2 sudut pandang : bagaimana menggunakan DBMS dalam mengelola dan meningkatkan performa aplikasi web dan bagaimana koneksi ke web bisa mengelola sistem basis data.
Web aplikasi adalah web yang secara umum mempertimbangkan mekanisme dalam menyimpan dan menyediakan akses ke dokumen.
Internet dan web dapat memperluas kemampuan sistem basis data dalam 2 bagian :
1. Akses yang luas : dengan menyambungkan sistem ke internet, maka populasi user dapat bertambah.
2. Banyak pelayanan : Internet dapat menghubungkan dan menggabungkan sistem basis data yang berbeda untuk menyediakan layanan baru.
2.13.3 World Wide Web (WWW)
Suatu sistem yang berbasis hipermedia yang menyediakan suatu simple ‘poin’ dan ‘klik’ artinya adalah menelusuri informasi melalui internet menggunakan hyperlinks (Connolly,2005,p998).
2.13.4 Hypertext Transfer Protocol (HTTP)
Protokol yang digunakan untuk memindahkan halaman web melalui internet. HTTP menggambarkan bagaimana klien dan server berkomunikasi. HTTP adalah suatu orientasi objek yang umum, protokol yang tidak menetap untuk memancarkan informasi antara server dan klien.
HTTP berdasarkan paradigma request-response. Transaksi HTTP meliputi tahapan dibawah ini :
o Koneksi
Klien membuat sebuah koneksi dengan Web server.
o Request
Klien mengirim pesan request kepada Web server.
o Response
o Close
Koneksi ditutup oleh Web server.
(Connolly,2005,p999).
2.13.5 Hypertext Markup Language (HTML)
HTML adalah dokumen yang mengatur bahasa-bahasa yang digunakan untuk mendesain kebanyakan halaman web. HTML adalah suatu sistem untuk marking-up, tagging, sehingga dokumen tersebut dapat dipublikasikan ke web (Connolly,2005,p1001).
2.13.6 PHP (PHP Hypertext Preprocessor)
PHP adalah bahasa pemrograman open source yang menempel pada HTML yang didukung oleh banyak web servers termasuk Apache
HTTP Server dan Microsoft’s Internet Information Server, dan pilihan
bahasa pemrograman Linux Web. Salah satu keuntungan dari PHP adalah dapat diperpanjang, dan nomor modul perpanjangnya sudah menyediakan dukungan seperti koneksi basis data, mail, dan XML (Connolly,2005,p1014).
2.13.7 Interaksi Manusia dan Komputer (IMK)
Menurut Shneiderman (2005,p74-75), sebuah sistem berbasis komputer selalu mempunyai elemen manusia yang terkait di dalamnya. Elemen manusia ini berinteraksi langsung dengan perangkat keras dan perangkat lunak melalui sebuah antarmuka (interface).
Penggunaan delapan aturan emas berasal dari prinsip-prinsip yang didapatkan dari pengalaman-pengalaman, dan direvisi selama lebih dari 2 dekade. Delapan aturan emas tersebut adalah :
1. Berusaha untuk konsisten
Urutan aksis yang konsisten diperlukan pada situasi yang sama. Konsistensi juga harus digunakan pada prompt, menu, layar bantu. Warna tampilan, kapitalisasi, huruf dan sebagainya juga harus konsisten.
2. Memungkinkan penggunaan shortcut
Menambahkan feature untuk pemakai yang sudah ahli bisa memperkaya design interface dan meningkatkan kualitas sistem. 3. Memberikan umpan balik yang informatif
Untuk setiap tindakan yang dilakukan pemakai, diharapkan adanya respon dari sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi, respon yang ada bisa dibuat secara sederhana, sedangkan tindakan yang jarang dilakukan dan membutuhkan banyak aksi harus lebih ditonjolkan.
4. Merancang dialog yang memberikan penutupan (keadaan akhir) Urutan aksi harus disusun ke dalam kelompok awal, tengah dan akhir. Suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan telah selesai dan siap untuk melanjutkan ke aksi berikutnya.
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana
Sebisa mungkin dibuat sistem yang tidak akan menghasilkan kesalahan yang serius jika digunakan oleh pemakai. Jika pemakai membuat kesalahan, sistem tersebut harus dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik untuk perbaikan.
6. Memungkinkan pembalikan aksi yang mudah
Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan awal.
7. Mendukung pusat kendali internal (internal locus of control) Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang yang merespon aksi.
8. Mengurangi beban ingatan jangka pendek
Karena keterbatasan manusia dalam pemrosesan informasi pada ingatan jangka pendek, sebaiknya tampilan dibuat sederhana, beberapa halaman dijadikan satu, frekuensi pergerakan window dikurangi, dan harus ada waktu yang cukup untuk mempelajari
kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaiknya juga tersedia.
2.13.8 MySQL
Menurut Nugroho (2004,p29), MySQL adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja boleh menggunakannya dan tidak akan dicekal. MySQL juga merupakan program pengaksesan database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multi users (banyak penguna). Kelebihan lainnya dari MySQL adalah bahasa query standar yang dimiliki SQL (Structure Query Language).
2.13.9 Penjualan
Menurut Mulyadi (2001,p202), kegiatan penjualan terdiri dari penjualan barang dan jasa, baik secara kredit maupun secara tunai. Dalam transaksi penjualan kredit, jika order dari pelanggan telah dipenuhi dengan permintaan barang yang atas penyerahan jasa, untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Dalam sistem penjualan secara tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli jika perusahan telah menerima kas dari pembeli.
2.13.10 Pembelian
Menurut Render (2001, p414), pembelian adalah perolehan barang dan jasa. Secara umum, definisi pembelian adalah suatu usaha pengadaan barang dan jasa dengan tujuan yang akan digunakan sendiri, untuk kepentingan proses produksi maupun untuk dijual kembali.
Menurut Render (2001, p414), tujuan dari kegiatan pembelian adalah:
a. Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal.
b. Mengembangkan, mengevaluasi dan menentukan pemasok, harga dan pengiriman yang terbaik bagi barang dan jasa tersebut.
Jenis transaksi dalam pembelian dibedakan menjadi dua, yaitu :
a. Pembelian tunai adalah proses pembayaran yang dilakukan secara langsung pada saat barang diterima.
b. Pembelian kredit adalah proses pembayaran yang tidak dilakukan langsung pada saat barang diterima, tetapi pembayaran dilakukan selang beberapa waktu setelah barang diterima sesuai dengan perjanjian kedua belah pihak.
Hal-hal yang harus diperhatikan dalam proses pembelian adalah :
a. Kualitas
b. Harga