BAB 2 LANDAS AN TEORI
2.1 Teori - Teori Umum Dalam teori umum membahas secara ringkas tentang teori-teori yang berhubungan dengan Jenis-jenis Database Model, Data dan Sistem, Tabel, Basis Data (Database), Sistem Basis Data (Database System), Sistem M anajemen Basis Data (Database M anagement System-DBMS), Bahasa Basis Data (Database Language),
Pemodelan
Hubungan
Entitas
(Entity
Relation
Modelling),
Perancangan Basis Data (Database Design), Normalisasi, dan Siklus Hidup Aplikasi Basis Data (Database Aplication Lifecyle). 2.1.1 Data dan Sistem M enurut M cLeod dan Schell(2004,p9), data terdiri dari fakta – fakta dan simbol – simbol yang secara umum kurang berguna dikarenakan jumlahnya yang besar dan sifatnya yang kasar atau belum diolah sedangkan menurut James A.O’Brien(2002,p13), data adalah fakta – fakta atau observasi yang biasanya mengenai transaksi bisnis. Sistem adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan, dan menyebarkan informasi ke seluruh organisasi(Connolly,2002,p270), dan menurut James A.O'Brien(2002,p8), sistem adalah sekumpulan komponen yang saling berkerja sama untuk mencapai sasaran dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisir.
7
8
2.1.2 Basis Data dan S istem Basis Data M enurut Connolly(2002,p14), basis data yaitu suatu kumpulan data yang dapat di share, yang berhubungan secara logika, dan deskripsi dari data tersebut dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Sistem basis data adalah komputerisasi sistem penyimpanan data yang bertujuan menyimpan dan memelihara informasi serta mengijinkan pengguna untuk melakukan perubahan atau pengambilan data yang dibutuhkan.(Date, 2000,p5) 2.1.3 Database Management System (DBMS ) Definisi Sistem M anajemen Basis Data (Database Management System) menurut Connolly(2002,p16), adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara basis data, dan menyediakan kendali dalam mengakses basis data.
1. Komponen-komponen dalam lingkungan DBMS M enurut Connolly(2002,p18), DBM S memiliki 5 komponen, yaitu: 1. Hardware Aplikasi
DBM S
memerlukan
hardware untuk
menjalankan
prosesnya, hardware tersebut bisa berupa satu unit komputer, satu unit mainframe, hingga satu jaringan komputer. 2. Software Komponen software terdiri dari software itu sendiri dan programprogram aplikasi, bersama–sama dengan sistem operasi, termasuk software jaringan jika DBM S digunakan melalui sebuah jaringan.
9
3. Data Data
berfungsi
menghubungkan
sebagai
sebuah
komponen-komponen
jembatan, mesin
karena
(hardware dan
software) dengan komponen-komponen manusia ( procedure dan people). 4. Procedure Procedure merupakan
instruksi dan
aturan yang digunakan
untuk merancang dan menggunakan suatu database. 5. People User yang terlibat dalam lingkungan DBM S adalah data dan database administrators, databse designers, application developers, dan end users.
2. Fasilitas-fasilitas DBMS M enurut Connolly(2002,p16), fasilitas –fasilitas dalam DBM S adalah sebagai berikut ini : 1. M endefinisikan basis data, biasanya menggunakan suatu Data Definition Languange (DDL) yang berguna untuk memberikan fasilitas kepada pengguna untuk mendeklarasikan tipe data, struktur dan isi data yang disimpan ke dalam basis data tersebut. 2. M emperbolehkan pengguna untuk menambah data, mengubah data, menghapus data, dan menemukan data. Dengan menggunakan suatu Data Manipulation Languange (DM L) biasanya ada suatu fasilitas untuk melayani pengaksesan data yang disebut sebagai Query Languange.
10
Bahasa query yang paling diakui adalah Structured Query Languange (SQL), yang secara de facto merupakan standar bagi DBM S.
3. Data Definition Language (DDL) Definisi
dari
Data
Definition
Language
menurut
Connolly(2002,p40), adalah suatu bahasa yang memperbolehkan Database Administrator (DBA) atau pengguna untuk mendefinisikan entitas, atribut, dan hubungan yang dibutuhkan oleh suatu aplikasi serta menambahkan fungsi-fungsi khusus untuk mempermudah atau meningkatkan keamanan data.
4. Data Manipulation Language (DML) Data Manipulation Language menurut Connolly(2002,p41) adalah suatu bahasa yang melakukan operasi-operasi standar pada data yang ada di dalam basis data. Pengoperasian data yang akan dimanipulasi biasanya meliputi : 1. Penambahan data baru ke dalam basis data. 2. M engubah data yang disimpan ke dalam basis data. 3. Pemanggilan data yang terdapat di dalam basis data. 4. Penghapusan data dari basis data
11
5. Keuntungan dan Kerugian DBMS M enurut Connolly (2005,p26-p30), DBM S memiliki keuntungan dan kerugian sebagai berikut : 5.1 Keuntungan DBMS a. Control terhadap pengulangan data (data redudancy) b. Data yang konsisten c. Pada beberapa data yang sama akan semakin banyak informasi diperoleh d. Data dapat dipakai secara bersama-sama e. M eningkatkan integritas data f. M eningkatkan keamanan data g. Penetapan standarisasi h. Perbandingan skala ekonomi i. M enyeimbangkan konflik kebutuhan j. M emperbaiki pengaksesan data secara bersama-sama k. M eningkatkan produktivitas l. M emperbaiki pemiliharaan data melalui data yang tidak tergantung dari data lain. m. M emiliki backup dan recovery. 5.2 Kerugian DBMS a. Kompleksitas b. Karena sistem yang komleks mengakibatkan DBM S memiliki ukuran yang semakin besar. c. Biaya penambahan perangkat keras
12
d. Penambahan biaya konversi e. Karena DBM S dirancang untuk mengakses lebih dari satu aplikasi sehingga performasinya menurun. g. Kegagalan DBM S mengakibatkan operasi tidak berjalan.
6. Perancangan Basis Data M enurut
Connolly
dan
Begg(2002,p279),
“Database design
adalah proses membuat perancangan database yang mendukung operasi dan objektivitas perusahaan”. Terdapat
dua
pendekatan
yang
dapat
dari
atribut
digunakan
untuk
merancang basis data, yaitu : 1. Bottom up Approach Pendekatan bottom
up
dimulai
awal (entity dan
relationship) yang dianalisa asosiasi antar atribut, kemudian dibentuk relation yang mewakili tipe dari entity dan relationship antar entity. Pendekatan ini sesuai untuk perancangan database yang sederhana dengan jumlah atribut sedikit. 2. Top down Approach Pendekatan Top down dimulai dengan pengembangan data model yang terdiri dari sedikit atau banyak entity dan relationship, kemudian melakukan perbaikan top down untuk mengidentifikasikan lower-level entity, relationship, dan
asosiasi
antar
atribut.
Pendekatan
ini
digambarkan dengan entity relationship (ER) model, yang dimulai dari identifikasi entity dan relationship antar entity.
13
2.1.4 Database Application Lifecycle Database life cycle merupakan komponen yang penting dalam sistem basis data karena aplikasi dari database life cycle berkaitan dengan sistem informasi yang ada.(Connolly,2002,p271) Langkah – langkah dari database life cycle:
Gambar 2.1 Tahapan siklus hidup aplikasi basis data (Sumber Connolly,2002,p272)
14
2.1.4.1 Perancangan Basis Data (Database Planning) Tujuan dari database planning adalah merencanakan tahap-tahap dari aplikasi basis data agar dapat direalisasikan dengan seefektif dan seefisian mungkin. Tahapan ini bertujuan untuk mendefinisikan mission statement dan mission objective dari proyek basis.(Connolly dan Begg, 2002, p274) 2.1.4.2 Definisi Sistem (System Definition) System definition menggambarkan ruang lingkup dan batasan dari aplikasi bas is data dan pandangan pengguna (user view) yang utama.( Connolly dan Begg, 2002, p274) Sebelum merancang aplikasi basis data, maka harus mengidentifikasikan batasan dari sistem dan bagaimana sistem tersebut berinteraksi dengan bagian lain dari informasi perusahaan. User view menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari sudut pandang area aplikasi perusahaan,
seperti pemasaran,
personalia, atau pengawasan persediaan, dalam hubungannya dengan data yang akan disimpan dan transaksi yang akan dijalankan terhadap data itu.( Connolly dan Begg, 2002, p275). 2.1.4.3 Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) Pengumpulan dan analisis kebutuhan adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang didukung oleh aplikasi basis
data dan
yang menggunakan
informasi ini untuk
mengidentifikasikan kebutuhan – kebutuhan user
dari sistem yang
15
baru.(Connolly, 2002, p276). Ada beberapa teknik untuk pengumpulan informasi ini, salah satunya adalah fact – finding techniques. Teknik fact – finding adalah suatu proses resmi dalam menggunakan teknik –teknik seperti wawancara atau kuisioner untuk mengumpulkan fakta – fakta tentang
sistem
dan
kebutuhan
–
kebutuhannya.(Connolly
dan
Begg,2002,p302). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu : 1. Memeriksa dokumentasi dan formulir Pemahaman terhadap jalannya
sistem akan cepat diperoleh
dengan memeriksa dokumen – dokumen, formulir, laporan, dan file yang berhubungan dengan sistem yang sedang berjalan. 2. Wawancara Bertujuan
untuk
mengumpulkan
fakta – fakta, memeriksa
kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan semangat, melibatkan pengguna akhir, mengidentifikasi kebutuhan – kebutuhan, dan mengumpulkan ide – ide dan pendapat (Connolly dan Begg, 2002, p306). Teknik ini memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda – beda. 3. Mengamati operasional perusahaan M emungkinkan untuk ikut serta atau mengamati seseorang dalam
melakukan
kegiatan untuk mempelajari sistem. Salah satu
faktor pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut.
16
4. Penelitian Jurnal komputer, merupakan sumber
buku
informasi
– buku yang
referensi, baik
yang
dan
internet
menyediakan
informasi bagaiman orang lain memecahkan masalah yang serupa. 5. Kuesioner Kuesioner adalah suatu dokumen dengan tujuan khusus yang mengumpulkan fakta-fakta dari orang-orang yang ada (Connolly dan Begg, 2002, p308).
2.1.4.4 Perancangan Basis data (Database Design) Perancangan perancangan untuk
basis basis
data
adalah
suatu
data yang akan
proses
menciptakan
mendukung keseluruhan
operasi dan tujuan – tujuan perusahaan (Connolly dan Begg, 2002, p279). Dalam
database design terdapat tiga fase utama, yaitu perancangan
konseptual (Conceptual Database Design), perancangan logikal (Logical Database Design), dan perancangan fisik (Physical Database Design). 1. Perancangan Basis data Konseptual (Conceptual Database Design) Perancangan basis data konseptual adalah proses membangun sebuah model dari informasi yang digunakan di perusahaan, yang terlepas dari semua pertimbangan – pertimbangan fisik (Connolly dan Begg, 2002, p419).
Tujuan dari perancangan konseptual basis data
adalah untuk membangun representasi konseptual dari basis data, yang meliputi identifikasi dari entity penting, relationship – relationship, dan atribut – atribut (Connolly dan Begg, 2002, p417). Conceptual Database
17
Design secara keseluruhan terbebas dari detil penerapannya,
seperti
Database Management System (DBM S) software, aplikasi program, programming language, hardware platform atau pertimbangan fisik lainnya. Tahapan yang dilakukan dalam conceptual database design adalah membangun model data konseptual lokal untuk setiap view, yang dapat diuraikan sebagai berikut : 1. Menentukan tipe entity Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user. 2. Menentukan tipe relationship M engidentifikasi hubungan–hubungan yang penting antar tipe– tipe entity yang telah diidentifikasikan. 3. Menentukan dan menghubungkan atribut dengan entity M enentukan atribut–atribut apa saja yang terdapat dalam suatu entity. 4. Menentukan atribut domain M enentukan domain pada setiap atribut yang ada di dalam model. 5. Menentukan atribut candidate dan primary key M enentukan candidate key dari suatu entity yang kemudian akan dipilih sebuah primary key dari candidate key yang ada. 6. Mempertimbangkan penggunaan enchanced modeling concepts M empertimbangkan perlu tidaknya menggunakan konsep model specialization atau generalisasi, agregation, dan composition.
18
7. Cek model untuk redudansi M emeriksa model data konseptual lokal dengan spesifikasi objektif dari pengidentifikasi walaupun ada beberapa redudansi dan kemudian menghilangkan redudansi tersebut. 8. Validasi model konseptual lokal dengan transaksi user M emeriksa apakah
model konseptual
lokal
sudah
dapat
memenuhi segala transaksi yang dilakukan user, jika masih ada transaksi yang tidak dapat dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu. 9. Review model data konseptual lokal dengan user M elakukan pemeriksaan ulang dengan user untuk memastikan apakah model konseptual ini sudah sesuai.
2. Perancangan Basis data Logikal (Logical Database Design) Tujuan
perancangan
logikal
basis
data
adalah
untuk
menerjemahkan representasi konseptual ke struktur logikal dari basis data yang meliputi perancangan relasi – relasi (Connolly, 2002, p417). Logical database design adalah suatu proses membangun sebuah model dari informasi yang digunakan di perusahaan berdasarkan sebuah model data spesifik, tapi terlepas dari DBMS dan pertimbangan fisik lain (Connolly, 2002, p441). Tahapan yang dilakukan adalah sebagai berikut:
dalam
logical database design
19
1.
M embangun dan memvalidasi logical data model untuk setiap view, yang dapat diuraikan sebagai berikut: a. M enghapus fitur yang tidak sesuai dengan relational model. M enghapus relasi biner many-to-many, relasi rekursif many-tomany, relasi kompleks, dan atribut multi-valued. b. M enurunkan Relasi untuk M odel Data Logikal Lokal membuat relasi model data logikal lokal untuk menerangkan entity, relationship, dan atribut yang telah diidentifikasi. c. Relasi–relasi menggunakan normalisasi. Normalisasi digunakan untuk suatu resultant model. Resultant model adalah model yang sudah konsistent, redundansinya sudah
minimal dan
stabilitasnya sudah maksimum. d. Relasi–relasi dengan transaksi user memeriksa relasi yang telah
dibuat pada tahap
sebelumnya apakah
mendukung
transaksi ini, untuk memastikan tidak ada kesalahan yang dibuat selama membuat relasi - relasi. e. M endefinisikan integrity constraint adalah constraint yang kita harapkan untuk menjaga agar database tetap konsisten. f. Review logical model data lokal dengan user M emeriksa kembali model logikal dan menyediakan dokumentasi untuk user
20
2.
M embangun dan memvalidasi logical data model global, yang dapat diuraikan sebagai berikut : a. M enggabungkan logical data model lokal ke dalam model global M enggunakan ERD, skema relasional, kamus data, dan dokumentasi perbedaan
yang antara
mendukung model-model,
untuk persamaan dan
dan
membantu untuk
menggabungkan model – model tersebut. b. M emvalidasi logical data model global M emvalidasi relasi yang telah dibuat dari model data logika global dengan menggunakan teknik
normalisasi dan
meyakinkan relasi tersebut mendukung transaksi yang ada. c. Cek untuk perkembangan selanjutnya M elihat apakah akan sering terjadi perubahan yang drastis di masa yang akan datang, dan menilai apakah model data logikal global ini dapat mengakomodasi perubahan yang terjadi. d. Review logical data model global dengan user M elakukan
pengecekan
kembali
kepada
user untuk
menentukan apakah model ini sudah sesuai dengan maksud perusahaan. 3. Perancangan Basis data Fisikal (Physical Database Design) Perancangan
basis
data
fisikal
adalah
proses
untuk
menghasilkan penjelasan dari pengimplementasian suatu basis data pada media penyimpanan kedua, juga menjelaskan base relation,
21
pengaturan file, dan indeks yang digunakan untuk mencapai akses data
yang
efisien, integrity, constraint, serta ukuran keamanan
(Connolly dan Begg, 2002, p282). Tahapan yang dilakukan dalam physical database design adalah sebagai berikut : 1. M enerjemahkan logical data model global untuk target DBM S, yang dapat diuraikan sebagai berikut : a. M erancang relasi – relasi dasar M enentukan bagaimana merepresentasikan relasi dasar yang telah diidentifikasikan di dalam model data logikal global ke dalam DBM S. b. M erancang representasi dari data yang diturunkan M enentukan bagaimana beberapa data yang diturunkan dalam model data logikal global ke dalam DBM S. c. M erancang entreprise constraints 2. M erancang representasi physical, yang dapat diuraikan sebagai berikut : a. M enganalisa transaksi b. M emahami fungsionalitas dari transaksi yang akan berjalan pada database dan untuk menganalisa transaksi – transaksi yang penting. c. M emilih organisasi file M enentukan organisasi file secara efisien untuk setiap relasi dasar.
22
d. M emilih indeks – indeks M enentukan
apakah
penambahan
indeks
– indeks
akan
meningkatkan performa dari sistem. e. M emperkirakan kebutuhan disk space M enentukan jumlah disk space yang dibutuhkan oleh database. f. M erancang user view 3. M erancang user
view yang telah
diidentifikasikan
selama
tahapan pengumpulan dan analisis kebutuhan dari relational database application lifecycle. 4. M erancang mekanisme keamanan M enentukan tingkat keamanan database berdasarkan spesifikasi user. 5. M empertimbangkan pengenalan dari kontrol redundansi, yang dapat diuraikan sebagai berikut : a. M enggabungkan relasi one-to-one (1:1) b. M enduplikasikan
atribut non-key dalam
relasi one-to-
many (1:*) untuk mengurangi join. c. M enduplikasikan atribut foreign key dalam relasi oneto-many (1:*) untuk mengurangi join. d. M enduplikasikan atribut – atribut dalam relasi many-tomany (*:*) untuk mengurangi join. e. M emperkenalkan repeating groups f. M enggabungkan lookup tables dengan base relations. g. M embuat extract tables
23
6. M emonitor dan menjalankan sistem operasional M emonitor
sistem operasional dan
meningkatkan
performa
sistem untuk memperbaiki keputusan rancangan yang tidak sesuai.
2.1.4.5 Pemilihan Sistem Manajemen Basis data (DBMS Selection) Database Management System adalah sebuah software system yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara, dan mengontrol akses ke basis data (Connolly dan Begg, 2002, p16). Sebuah DBMS menyedakan beberapa fasilitas, yaitu : a. Data Definition Language (DDL), digunakan untuk mendefinisikan basis data, menspesifikasikan tipe data, struktur, dan batasan dalam data untuk disimpan dalam basis data. b. Data Manipulation Language (DM L), digunakan untuk menyisipkan, memperbaharui, memanggil data dari basis data. c. M enyediakan akses yang terkontrol ke basis data, misalnya : A. Sistem keamanan B. Sistem integrasi C. Keamanan sistem kontrol akses D. Sistem kontrol perbaikan (recovery control) E. Katalog user-accessible
24
Tahapan utama dalam memilih DBMS antara lain : a. Mendefinisikan syarat – syarat sebagai referensi Dibuat dengan tujuan dan ruang lingkup pembelajaran, tugas – tugas
yang akan
dikerjakan,
penjelasan
kriteria (berdasarkan
spesifikasi kebutuhan pengguna) yang akan digunakan dalam mengevaluasi produk – produk DBMS, daftar produk – produk yang dimungkinkan, semua batasan – batasan dan skala waktu dibutuhkan untuk pembelajaran. b. Daftar singkat dua atau tiga produk Kriteria
yang
dianggap
penting
dalam
keberhasilan
implementasi dapat digunakan untuk membuat daftar produk – produk DBMS dalam evaluasi,
seperti
dana
yang
tersedia,
tingkat
dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalaln pada hardware tertentu. c. Evaluasi produk Fitur – fitur yang digunakan dalam evaluasi produk – produk DBMS
dikelompokkan
menjadi
definisi
data,
definisi
fisik,
kemampuan akses, penanganan keperluan–keperluan, pengembangan, dan fitur – fitur lainnya. d. Merekomendasikan pilihan dan memproduksi laporan Langkah
terakhirdari
pemilihan
mendokumentasikan prosesnya dan
DBMS
membuat pernyataan
penemuan dan rekomndasi atas produk DBMS tertentu.
adalah dalam
25
2.1.4.6 Perancangan Aplikasi (Application Design) Application Design adalah desain dari antarmuka pengguna dan program aplikasi yang menggunakan dan memproses basis data (Connolly dan Begg, 2002, p287). Bertujuan merancang antarmuka pemakai (user interface) dan program aplikasi yang menggunakan dan memproses basis data agar pemakai dapat menggunakan sistem tersebut dengan baik dan mengurangi human error. Dua aspek merancang aplikasi yaitu : a. Perancangan Transaksi (Transaction Design) Transaksi adalah tindakan atau rangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data (Connolly dan Begg, 2002, p288). b. Perancangan Antarmuka Pengguna (User Interface Design) Elemen – elemen dalam merancang suatu antarmuka pengguna (user interface) (Connolly dan Begg, 2002, p289) antara lain penetapan judul yang bermakna, instruksi – instruksi yang dapat dipahami, pengelompokkan logika dan pengurutan kolom, bentuk form yang menarik secara visual, judul kolom yang dikenal, penggunaan istilah dan singkatan yang konsisten, penggunaan warna yang konsisten, ruang dan batasan yang terlihat untuk menginput kolom, pergerakan kursor yang mudah, perbaikan kesalahan untuk satu huruf dan semua kolom, mencegah kesalahan, menampilkan pesan kesalahan terhadap nilai yang tidak sesuai, pemberian tanda terhadap kolom yang berupa pilihan
26
(optional field), pesan – pesan yang bersifat penjelasan untuk suatu kolom, pemberian tanda penyelesaian.
2.1.4.7 Prototipe (Prototyping) Prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data (Connolly dan Begg, 2002, p291). Tujuan prototyping
adalah
untuk
memungkinkan
utama
pengguna menggunakan
prototype untuk mengidentifikasi fitur – fitur yang bekerja dengan baik pada sistem, atau kekurangannya, dan memberikan saran bagi peningkatan kerja sistem atau bahkan memberikan masukan terhadap fitur – fitur ke dalam aplikasi basis data. Ada dua strategi prototyping yang sering digunakan saat ini, yaitu : a. Requirement prototyping M enggunakan sebuah prototype untuk menentukan kebutuhan dari aplikasi basis data yang diusulkan dan ketika kebutuhan – kebutuhannya sudah terpenuhi, prototype tidak digunakan lagi atau dibuang. b. Revolutionari Prototyping Digunakan untuk tujuan yang sama. Tetapi pada prototyping jenis ini, prototypenya tidak dibuang namun untuk selanjutnya dikembangkan menjadi aplikasi basis data yang akan berjalan.
akan
27
2.1.4.8 Implementasi (Implementation) Implementation adalah realisasi fisikal dari desain basis data dan desain aplikasi (Connolly dan Begg, 2002, p292). Dalam tahap ini juga akan diimplementasikan komponen lain dari aplikasi basis data seperti menu layar, pemasukan data, dan security. 2.1.4.9 Konversi dan Pemuatan Data (Data Conversion and Loading) Data Conversion and Loadin adalah suatu proses menstransfer data yang ada ke dalam basis data baru dan mengubah apliasi yang ada untuk dijalankan dalam basis data baru (Connolly dan Begg, 2002, p292). Tahap ini
hanya
dibutuhkan
ketika
sistem
basis
data
baru
menggantikan sistem yang lama. 2.1.4.10 Pengujian (Testing) Testing adalah
suatu
proses
mengeksekusi program aplikasi
dengan tujuan untuk menemukan kesalahan (Connolly dan Begg, 2002, p293). Jika pengujian berhasil, maka dapat menampilkan error dari program aplikasi dan bahwa
basis
data
struktur
basis data. Testing memperlihatkan
dan perogram aplikasi bekerja sesuai dengan
sepesifikasinya dan menampilkan kebutuhan – kebutuhan untuk kerja yang memuaskan. 2.1.4.11 Pemeliharaan Operasional (Operational Maintenance) Operational Maintenance adalah suatu proses memonitor dan memelihara sistem berdasarkan instalasi (Connolly dan Begg, 2002, p293). Tahapan ini terdiri dari aktivitas – aktivitas berikut : a. M emonitor untuk kerja sistem
28
b. M emelihara dan memperbaharui aplikasi basis data (jika diperlukan)
2.1.5 Normalisasi Definisi normalisasi menurut Connolly(2002,p376), adalah cara untuk membuat suatu himpunan yang saling berhubungan dengan sifat-sifat yang memenuhi kebutuhan suatu perusahaan. Tujuan dari normalisasi adalah untuk menghasilkan representasi atau penyusunan yang akurat dari data, hubungan, dan batasan-batasan. Tujuan dilakukannya normalisasi : 1. M encegah kemungkinan terjadinya update anomalies (redundansi data). Update anomalies merupakan suatu bentuk kumpulan data dimana datadata yang sudah ada disimpan secara berulang-ulang sehingga memperumit proses dan sulit untuk dipahami. 2. Untuk memvalidasi apakah kebutuhan bisnis sebenarnya sudah sesuai dengan bentuk relasinya. Salah satu konsep utama yang berhubungan dengan
normalisasi
adalah
ketergantungan
fungsional (Functional
dependency). Ketergantungan fungsional menggambarkan hubungan antara atribut dalam sebuah relasi. Ketergantungan fungsional adalah sebuah sifat dari makna (semantic) pada atribut dalam sebuah relasi. M aknanya (semantic) mengindikasikan bagaimana atribut berelasi antara satu dengan yang lainnya, dengan menentukan ketergantungan fungsional diantara atribut. Jika sebuah ketergantungan fungsional muncul, atribut atau kumpulan atribut pada sebelah kiri anak panah disebut sebagai determinan.
29
Hal penting yang perlu diperhatikan dalam proses normalisasi adalah hanya bentuk normal pertama (First normal form / 1NF) yang menjadi kritis dalam membuat relasi. Semua bentuk normal berikutnya adalah optional. Tetapi untuk menghindarkan update anomalies biasanya dianjurkan sampai tahap ketiga (3NF). Normalisasi yang umum dipakai adalah sampai dengan bentuk normal yang ketiga. Berikut adalah penjelasan bentuk normal pertama sampai ketiga : 1. Bentuk Tidak Normal (Unnormalized Form / UNF) Unnormalized form (UNF) adalah sebuah tabel yang mengandung satu atau lebih bagian yang berulang (repeating group). 2. Bentuk Normal Pertama (First Normal Form / 1NF) Untuk membentuk normalisasi pertama (1NF) repeating groups harus dihilangkan. Untuk mentransfer tabel unnormalized ke table normalisasi pertama kita harus mencari dan memindahkan data-data yang berulang.
Suatu hubungan dikatakan normal pertama jika :
3.
a.
Setiap baris dan kolom berisi atribut yang bernilai tunggal.
b.
Primary key telah ditentukan.
c.
Multi value telah dihilangkan.
Bentuk Normal Kedua (Second Normal Form / 2NF) Normalisasi kedua (2NF) adalah sebuah relasi pada 1NF dan setiap atribut yang non primary key adalah fully functionally dependent dapat diciptakan dengan menghilangkan partial dependency.
30
Suatu hubungan dikatakan normal kedua jika : a. Berada pada normal pertama. b. Atribut non primary key telah dihilangkan atau semua atribut nonprimary key bergantung sepenuhnya kepada primary key. 4.
Bentuk Normal Ketiga (Third Normal Form / 3NF) Normalisasi ketiga (3NF) dilakukan dengan cara melihat apakah terdapat atribut non primary key yang bergantung secara fungsional terhadap atribut non primary key lainnya (Transitive Dependence). Dengan cara yang sama, maka setiap
ketergantungan transitive
dipisahkan. Suatu hubungan dikatakan normal ketiga jika : a. Berada pada normal pertama dan normal kedua. b. Setiap atribut non primary key tidak memiliki dependency transitive terhadap primary key. 5.
Bentuk Boyce Codd Normal Form (BCNF) M enurut Connolly dan Begg (2002, p398), suatu relasi dikatakan BCNF, jika dan hanya jika, setiap determinan adalah candidate key.
6.
Bentuk Normal Keempat (4NF) M enurut Connolly dan Begg (2002, p408), 4NF adalah suatu relasi yang ada dalam BCNF dan tidak berisi depedensi multi nilai trivial.
7.
Bentuk Normal Kelima (5NF) M enurut Connolly dan Begg (2002, p410), 5NF adalah suatu relasi yang tidak memiliki ketergantungan bergabung (join depedency).
31
M enurut Connolly dan Begg (2002, p410), untuk relasi R dengan himpunan bagian dari atribut R dinotasikan sebagai A, B, …, Z, sebuah relasi memenuhi join depedency jika, dan hanya jika setiap nilai R sama untuk bergabung dengan proyeksi pada A, B, …, Z. 2.1.6 Model Entitas Relasional (Entity Relational Modelling) Entity relational modelling merupakan sebuah model data yang didasarkan pada konsep
matematika dari relasi, yang secara fisik
direpresentasikan sebagai tabel. Dalam model relasional, semua data terstruktur secara logis dalam sejumlah relasi. Setiap relasi memiliki nama, dan terdiri dari sejumlah atribut. 1. Tipe Entitas (Entity Types) Tipe entitas adalah sekumpulan objek yang memiliki properti yang sama, didefinisikan oleh perusahaan yang keberadaannya independent. Sebuah tipe entitas memiliki keberadaan yang bebas dan bisa menjadi objek dengan keberadaan fisik (nyata) atau menjadi objek dengan keberadaan konseptual (abstrak). Ini menunjukkan bahwa perancangan yang berbeda akan menghasilkan identifikas i entitas yang berbeda pula. Suatu objek dan tipe entitas yang dapat diidentifikasikan secara unik disebut juga entity occurrence. Sebuah entitas digambarkan dalam bentuk segi empat yang dijelaskan dengan nama dari entitas tersebut, yang biasanya merupakan kata benda tunggal. Dalam UM L, huruf pertama dari entitas adalah huruf kapital.
32
Gambar 2.2 Contoh Tipe Entitas (Sumber Connolly, 2002, p333) 2.
Atribut (Attribute) M enurut Connolly(2002,p338-p342), sifat tertentu dari entitas disebut atribut. Atribut menyimpan nilai dari setiap entity occurrence dan disimpan di dalam basis data. Attributes domain adalah sejumlah nilai yang diperkenankan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain menetapkan nilai potensial sebuah atribut yang bisa disimpan atau sama dengan konsep domain pada model relasional. Simple attribute adalah suatu susunan atribut dari komponen tunggal dengan keberadaan yang bebas (independent exsistence). Simple attribute tidak dapat dibagi ke dalam komponen yang lebih kecil lagi. Sedangkan Composed attribute adalah sebuah susunan atribut dari banyak komponen dengan sebuah keberadaan yang bebas dari masing-masingnya. Dalam hal ini beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi.
33
Single value attribute adalah atribut yang hanya menyimpan nilai tunggal untuk suatu sifat dari entitas. Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entitas. Derived attribute adalah atribut yang menunjukkan nilai, diperoleh dari atribut atau kumpulan atribut yang berhubungan, tidak terlalu dibutuhkan dalam tipe entitas yang sama. 3.
Tipe Relasi (Relationship types) M enurut
Connolly(2002,p334),
relationship
types
adalah
sekumpulan hubungan antara satu atau lebih tipe-tipe entitas. Entitas yang berkaitan dalam sebuah tipe relasi dikenal sebagai participant dalam relasi. Derajat dari relasi adalah jumlah dari partisipasi tipe entitas dalam sebuah tipe relasi tertentu. Sebuah relasi berderajat dua disebut binary, relasi berderajat tiga disebut sebagai ternary, dan relasi berderajat empat disebut sebagai quatenary.
34
Tipe-tipe relasi yaitu : a. One-to-one Relationship
Gambar 2.3 Relationship One-to-one (1:1) (Sumber Connolly, 2002, p345) Gambar di atas menggambarkan relationship one-to-one antara entitas Staff dan entitas Branch, dimana satu orang staff hanya mengontrol satu cabang dan satu cabang hanya dikontrol oleh satu orang staff.
b. One-to-many Relationship
Gambar 2.4 Relationship One-to-many (1:*) (Sumber Connolly, 2002, p346)
35
Gambar 2.4 menggambarkan relationship one-to-many yang sering terjadi antara entitas Staff dengan entitas Properti, dimana dalam relasi ini seorang staff memungkinkan untuk mengurus (oversees) lebih dari satu properti, sedangkan satu properti hanya dapat diurus oleh satu staff.
c. Many-to-many Relationship
Gambar 2.5 Relationship Many-to-many (*:*) (Sumber Connolly, 2002, p348)
Gambar di atas menggambarkan relationship many-to-many yang terjadi diantara entitas Newspaper dengan entitas Property, dimana satu property dapat dipasarkan (advertise) pada lebih dari satu koran, begitu juga satu buah koran dapat memasarkan lebih dari satu property.
4.
Key Super key adalah sekumpulan dari satu atau lebih atribut yang diambil untuk mengidentifikasikan secara unik sebuah entitas dalam sebuah kumpulan entitas.
36
Candidate key adalah sejumlah kecil atribut yang secara unik mengenali setiap occurrence dalam tipe entitas. Primary key adalah candidate key yang digunakan untuk mengenali secara unik setiap occurrance key. Pemilihan primary key untuk sebuah entitas adalah berdasarkan pada pertimbangan panjang atribut, jumlah minimal dari kebutuhan atribut, dan seterusnya. Alternate key adalah candidate key yang tidak terpilih menjadi primary key. Foreign key adalah suatu atribut atau kumpulan atribut di suatu tabel yang digunakan di tabel lainnya sehingga berfungsi sebagai penghubung informasi antara tabel. Composite key adalah candidate key yang terdiri lebih dari satu atribut.
2.1.7 Structu red Query Language (SQL) M enurut Connoly dan Begg(2002,p111), SQL adalah suatu bahasa yang dirancang untuk operasi pengaksesan data pada struktur relational database yang mentransformasikan input menjadi output yang diinginkan pengguna operasi pengaksesan data meliputi penyisipan data (insert), pengubahan data (update), pengambilan data (select), dan penghapusan data (delete). Perintah – perintah di atas dilakukan atas kebutuhan pengguna.
37
2.2 Teori Khusus Berikut ini merupakan teori-teori khusus yang berkaitan dari topik skripsi penulis meliputi teori administrasi, e-application, internet, serta alat bantu (tools) yang digunakan seperti MySQL, PHP, WebSite, Protokol, Web Server, Browser yang secara ringkas akan dijelaskan sebagai berikut :
2.2.1 MySQL M enurut Stendy B. Sakur(2005,p59), MySQL merupakan salah satu sistem database yang sangat handal karena menggunakan sistem SQL. Pada awalnya SQL berfungsi sebagai bahasa penghubung antara program database dengan bahasa pemrograman yang kita gunakan. Dengan adanya SQL maka para pemrogram jaringan dan aplikasi tidak mengalami kesulitan sama sekali di dalam menghubungkan aplikasi yang mereka buat. Setelah itu SQL dikembangkan lagi menjadi sistem database dengan munculnya M ySQL. MySQL merupakan database yang sangat cepat, beberapa user dapat menggunakan secara bersamaan, dan lebih lengkap dari SQL. MySQL merupakan salah satu software gratis yang dapat di-download melalui situsnya. MySQL merupakan sistem manajemen database, relasional sistem database dan software open source. Kalau SQL biasa kita sebut dengan SEQUEL maka untuk MySQL tidak bisa kita sebut dengan dengan M Y-SEQUEL karena pembuatnya menyebutkan MySQL adalah “My Ess Que Ell”. MySQL merupakan open source SQL database yang sangat popular yang disediakan oleh M YSQL AB. MySQL AB merupakan perusahaan komersial yang berdiri untuk memberikan pelayanan seputar MySQL database. MySQL
38
AB berasal dari perusahaan Swedia yang menjalankan aplikasi dasar M ySQL dan merupakan developer utamanya.
2.2.2 PHP a. Sejarah PHP M enurut YB M ulyana(2004,p2), sejarah PHP awalnya hanya untuk keperluan pribadi dari sang pencipta PHP. PHP diciptakan oleh Rasmus Lerdorf pada tahun 1994. Ia mencoba menaruh resume-nya di web. Untuk mengetahui siapa saja yang membaca resume-nya, Lerdorf membuat skrip makro Perl/CGI. Itulah sebabnya kepanjangan PHP pada awalnya adalah Personal Home Page. Tahun 1995, Lerdorf menulis ulang kode PHP dalam bahasa C, dan lahirlah PHP 1.0 yang masih sangat sederhana. Pada waktu itu Lerdorf juga mengembangkan Form Interpreter (FI) yaitu sebuah tool untuk menanamkan SQL dalam halaman Web dan untuk memproses masukan dari form HTM L. Kemudian kode PHP dan FI ditulis ulang dan digabung. Namanya menjadi PHP/FI yang kemudian berkembang menjadi PHP/FI 2.0. Versi inilah yang dirilis Lerdorf ke public dengan pertimbangan dan alas an bahwa Lerdorf percaya, jika PHP bermanfaat bagi dirinya, kemudian bermanfaat bagi orang lain, maka pada akhirnya akan membawa manfaat kembali kepada dirinya, dan hal ini terbukti nyata. Tahun 1996, Lerdorf menulis mod_php, yaitu modul untuk memproses skrip PHP langsung dari Apache Web Server. Di tahun yang sama, PHP/FI mulai mendukung M ySQL setelah sebelumnya hanay mendukung mSQL saja. Waktu
39
itu nama PHP/FI 2.0 kembali jadi PHP 2.0 saja. PHP versi 2.0 ini juga sudah mulai mendukung Windows 32 bit (95/NT), dan mulai banyak dipakai orang. Karena Lerdorf membagikan kode PHP ke public, maka banyak orang yang turut terlibat dalam pengembangan PHP selanjutnya. Zeev Suraski dan Andi Gutmans mengembangkan parser baru untuk PHP. Uniknya, pengembangan parser PHP ini dijadikan tugas akhir mata kuliah pengembangan Web oleh Andi Gutmans yang saat itu masih berstatus mahasiswa S1 di Technion University Israel. Tahun 1997, proyek PHP3 dikerjakan oleh banyak orang dengan menggunakan parser baru sumbangan dari Zeev Suraski dan Andi Gutmans. Tahun 1998 dukungan PHP terhadap database server meluas, waktu itu PHP sudah mendukung database server mSQL, M ySQL, Sybase, PostgreSQL, SQL Server, Adabas, dan Oracle. PHP3 jauh lebih bagus dan handal dibandingkan versi sebelumnya, dan kepanjangan namanya pun diganti menjadi Professional Home Page. Di tahun yang sama, RedHat Linus mulai memasukkan PHP sebagai salah satu paketnya di RedHat 6.2. Tahun 1999 PHP4 versi beta muncul dan Zend Engine 1.0 yang juga dibuat oleh Zeev Suraski dan Andi Gutmans muncul. Kedua orang ini juga mendirikan perusahaan Zend Technologies, Ltd yaitu perusahaan yang menjual produk – produk komersial PHP. Tahun 2000, versi akhir PHP4 diluncurkan. Kepanjangan PHP pun berubah lagi jadi PHP:Hypertext Processor yaitu sebuah kepanjangan rekursif yang saat ini cenderung sering digunakan.
40
b. Pengertian PHP M enurut Adhi R. dan Andy S.(2007,p4), PHP (Personal Home Page) adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memprogram situs web dinamis, walaupun tidak tertutup kemungkinan untuk digunakan untuk keperluan lainnya. Kelebihan PHP dari bahasa pemrograman lain : •
Bahasa pemrograman PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
•
Server web yang mendukung PHP dapat ditemukan dimana – mana, mulai dari IIS sampai dengan apache, dengan konfiguras yang relatif mudah.
•
Dalam sisi pengembangan lebih mudah, karena banyaknya milis – milis dan developer yang siap membantu dalam pengembangan.
•
Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena referensinya banyak. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah – perintah sistem. 2.2.3 Internet a.
Pengertian Internet M enurut Turban, Rainner dan Potter internet adalah jaringan besar yang menghubungkan jaringan computer dan bisnis, organisasi, lembaga pemerintah, dan sekolah di seluruh dunia, dengan cepat, langsung, dan hemat. Contoh-contoh dari jaringan komputer ini mencakup sistem
41
computer universitas, sistem komputer perusahaan, atau sistem komputer rumah sakit. Sistem komputer yang berpartisipasi, yang disebut node, mencakup PC, LAN (local area network), basis data, dan mainframe. Di internet, node dapat mencakup beberapa jaringan dari suatu organisasi, yang mungkin dihubungkan oleh WAN (wide area network). Sebagai satu atau beberapa jaringan, internet memungkinkan orang untuk mengakses dara di organisasi lainnya dan untuk berkomunikasi, bekerja sama, dan bertukar informasi di hampir seluruh dunia. Jadi internet telah menjadi keharusan dalam melaksanakan bisnis modern. b.
Sejarah Internet M enurut Janner Simarmata, sebelum internet ada, ARPAnet (US Defense Advanced
Research
Projetcs Agency) atau Departemen
Pertahanan Amerika pada tahun 1969 membuat jaringan komputer yang tersebar untuk menghindarkan yang terjadinya informasi terpusat, yang apabila terjadi perang dapat mudah dihancurkan. Jadi, bila satu bagian dari sambungan network terganggu oleh serangan musuh, jalur yang melalui sambungan itu secara otomatis dipindahkan ke sambungan lainnya. Setelah itu, internet digunakan oleh kalangan akademis (UCLA) untuk keperluan penelitian dan pengembangan teknologi. Baru setelah ini, pemerintah Amerika Serikat memberikan izin ke arah komersil pada awal tahun 1990. c.
World Wide Web (WWW) M enurut Turban, Rainner dan Potter, World Wide Web (Web, WWW, atau W3) adalah sistem standar yang diterima secara universal
42
untuk meyimpan, menelusuri, menformat, dan menampilkan informasi melalui arsitektur client/server. Web bisa menerima semua jenis informasi digital, termasuk teks, hipermedia, grafis, dan suara. Web menggunakan antarmuka pengguna grafis, sehingga sangat mudah digunakan. Teknologi World Wide Web diciptakan oleh Timothu Berners Lee, yang pada tahun 1989 mengusulkan jaringan global dari dokumen hiperteks yang akan memungkinkan para peneliti fisika bekerja sama. Web didasari oleh bahasa hiperteks standar yang disebut HyperText Markup Language (HTML), yang memformat dokumen dan memadukan link hiperteks dinamis ke dokumen-dokumen lainnya yang disimpan di dalam komputer. Untuk mengakses situ Web, pengguna harus menentukan Uniform Resource Locator (URL), yang mengarahkan ke alamat dari sumber tertentu di Web. M isalnya, URL untuk M icrosoft adalah http://www.microsoft.com. HTTP adalah singkatan dari HyperText Transport Protocol, yang merupakan standar komunikasi yang digunakan untuk mentransfer halaman di bagian WWW di internet. HTTP mendefinisikan bagaimana pesan diformat dan dikirim. d.
Transmission Control Protocol/Internet Protocol (TCP/IP) TCP/IP adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yabg paling
43
banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack. e.
Web S erver Program komputer yang bertanggung jawab untuk menerima permintaan HTTP dari client dan menyediakan respon HTTP beserta data-data tambahannya.
f.
Web Browser M enurut Turban, Rainner dan Potter, Web browser merupakan aplikasi piranti lunak yang umumnya digunakan oleh pengguna untuk mengakses web. Browser menyediakan tampilan grafis yang memungkinkan pengguna untuk menunjuk dan meng-klik bagian yang diinginkan di web. Web browser menjadi sarana akses universal karena mengirimkan antarmuka yang sama pada semua sistem operasi yang dijalankan.
2.2.4 Pengertian Administrasi Secara etimologi, kata administrasi berasal dari bahasa Latin, ad + ministrare. Ad berarti intensif, sedangkan ministrare berarti melayani, membantu, dan memenuhi. Administrare adalah kata kerja, sedangkan kata bendanya adalah administration. Administratio diterjemahkan dalam bahasa Inggris menjadi administration, dalam bahasa Belanda menjadi administratie, dan dalam bahasa Indonesia menjadi administrasi.
44
Jadi, administrare berarti melayani secara intensif. Adminsitrasi sebagai tugas (kewajiban) dalam konteks pendidikan disebut juga administrasi sekolah yang antara lain meliputi empat hal, yaitu: 1. Administrasi peserta didik 2. Administrasi tenaga pendidik dan tenaga kependidikan, serta struktur organisasinya 3. Administrasi keuangan 4. Adminsitrasi sarana prasarana 5. Administrasi hubungan sekolah dengan masyarakat 6. Administrasi layanan khusus (bimbingan konseling, unit kesehatan siswa, unit koperasi sekolah, dan kegiatan ekstra kurikuler). (Husaini Usman:2006). Jadi, dapat disimpulkan bahwa administrasi sekolah adalah pengaturan dan pendayagunaan segenap sumber daya sekolah secara efektif dan efisien dalam penyelenggaraan pendidikan agar tujuan pendidikan di sekolah tercapai secara optimal.