BAB 2 LANDASAN TEORI
2.1 Sistem Basis Data Basis data dan sistem basis data telah menjadi komponen yang penting dari kehidupan sehari-hari pada masyarakat modern. Sering ditemukan beberapa kegiatan melibatkan transaksi dengan basis data.
2.1.1 Basis Data Menurut Connolly dan Begg (2002,p14). “Database adalah suatu kumpulan data yang berhubungan secara logika, dan gambaran dari data ini dirancang untuk memenuhi kebutuhan dari sebuah organisasi”. Menurut W. H Inmon (2002,p3), “Database adalah suatu koleksi dari penyimpanan data yang terhubung yang sering digunakan dan mengurangi redudansi (perulangan) menurut skemanya. Sebuah database dapat digunakan pada aplikasi tunggal atau jamak”. Basis data adalah sekumpulan data yang biasanya menggambarkan kegiatan satu atau lebih organisasi yang saling berhubungan (Ramakrishnan dan Gehrke, 2003, p4). Sebagai contoh basis data suatu universitas dapat berisi beberapa informasi, seperti : entiti (mahasiswa, fakultas, mata kuliah, dan ruang kelas) dan relasi antar entiti (mahasiswa memiliki mata kuliah). Jadi basis data atau database merupakan sekumpulan file – file dengan format tertentu yang saling berhubungan dan hubungan tersebtu biasanya dapat ditunjukan dengan kunci dari setiap file yang ada. Satu database menunjukan 6
7 satu kumpulan data yang digunakan dalam suatu lingkup instansi atau perusahaan.
2.1.2 Model Relasional Menurut Atzeni et al. (1999, p15), “Relational model berdasarkan pada dua konsep, relasi dan tabel, dimana memiliki sifat yang berbeda tetapi memiliki keterkaitan yang tinggi”. Menurut Silberschatz, Korth, dan Sudarshan (2002, p9), “Relational model menggunakan koleksi dari tabel – tabel untuk merepresentasikan kedua data dan hubungan disekitar data tersebut. Setiap tabel memiliki banyak kolom, dan setiap kolom memiliki nama yang unik.” Relation adalah sebuah tabel yang memiliki beberapa kolom dan baris, dimana kolom dari suatau relation disebut attribute sedangkan baris dari suatu relation disebut tuple. Jumlah attribute dalam sebuah relation disebut degree dan jumlah baris dalam suatu relation disebut cardinality. Di dalam suatu relation tidak boleh terjadi duplikasi terhadap tuple, oleh karena itu diperlukan satu atau beberapa attribute yang secara unik membedakan tuple di dalam sebuah relation. Berikut ini merupakan terminologi yang digunakan dalam relational keys:
Super key Suatu
attribute,
atau
kupulan
attribute,
yang
dengan
uniknya
mengidentifikasi suatu tuple di dalam suatu relation.
Candidate key Suatu super key yang sedemikian rupa dimana tidak ada subset yang sesuai untuk menjadi superkey di dalam relation.
8
Primary key Candidate key yang terpilih untuk mengidentifikasi tuple dengan uniknya di dalam relation. Candidate key yang tidak dipilih menjadi primary key dinamakan alternate key.
Foreign key Suatu attribute, atau kumpulan attribute, di dalam suatu relation yang memenuhi candidate key dari beberapa (mungkin yang sama) relation.
2.1.3 Integrity Data yang disimpan ke dalam sebuah database haruslah valid dan konsisten. Integrity biasanya diekspresikan sebagai constraint, dimana constraint merupakan aturan yang tidak boleh dilanggar oleh database. 1. Domain Constraint Domain Constraint adalah aturan yang menentukan format nilai apa yang diperbolehkan untuk disimpan dalam attribute dari suatu relation 2. Entity Integrity Dalam base relation, attribute yang menjadi primary key dari suatu tabel tidak boleh berisi nilai null. 3. Referential Integrity Jika terdapat foreign key maka nilai foreign key harus mengacu pada relasi tabel utamanya.
9 2.1.4 Concurrency Concurrency merupakan sebuah kondisi dimana dua atau lebih proses transaksi pada database dilakukan pada waktu yang bersamaan. Proses yang bersamaan ini dapat menyebabkan data kehilngan integritasnya. Oleh karena itu diperlukan concurrency control yang dapat mencegah data kehilangan integritasnya pada saat ada lebih dari dua poses yang mengakses dan melakukan perubahan pada database pada waktu yang bersamaan. Terdapat dua teknik utama dalam concurrency control yang digunakan agar 2 atau lebih transaksi yang dilakukan pada database dalam waktu yang bersamaan dapat dilakukan dengan aman tanpa menghilangkan integritas datanya, teknik tersebut adalah : 1. Locking Pada saat satu transaksi sedang mengakses database, sebuah lock dapat diberikan untuk menolak akses dari transaksi lainnya untuk mencegah hasil proses yang tidak sesuai. Terdapat aturan dasar dalam teknik locking, yaitu:
Shared Lock Jika sebuah transaksi memiliki shared lock terhadap data item-nya, maka transaksi lainnya hanya dapat membaca data item tersebut dan tidak dapat melakukan proses update.
Exclusive Lock Jika sebuah transaksi memiliki exclusive lock terhadapa data item-nya, maka transaksi lainnya tidak dapat membaca dan melakukan proses update terhadap data item tersebut.
10 2. Time Stamping Timestamp merupakan pengenal unik yang diberikan oleh DBMS untuk memberitahukan awal waktu dari setiap transaksi. Dalam teknik timestamping transaksi diurutkan berdasarkan timestamp yang diberikan oleh DBMS, transaksi yang memiliki timestamp terkecil akan mendapatkan prioritas utama pada saat terjadi konflik.
2.1.5 Basis Data Relasional Menurut Gerald V. Post (2005,p16), “Relational database adalah data yang disimpan dalam kumpulan data yang terpisah, tabel-tabel tidak terkoneksi secara fisikal, melainkan data dihubungkan di antara kolom-kolom”. Menurut Connolly dan Begg (2002, p74), “Relational database adalah suatu koleksi tabel yang telah dinormalisasi dengan nama relasi yang berbeda”. Menurut Connolly dan Begg (2002, p386), “Normalisasi adalah suatu teknik untuk menciptakan kumpulan relation dengan kumpulan properti yang diinginkan, dan kebutuhan data yang diinginkan oleh perusahaan”. Proses normalisasi pertama kali dikembangkan oleh E.F.Codd (1972). Normalisasi biasa dilakukan sebagai serangkaian tes pada relation untuk menentukan apakah itu sesuai atau melanggar kebutuhan pada normal form. Terdapat beberapa tahapan yang harus dilakukan dalam normalisasi (Connolly dan Begg, 2002, p387), yaitu: 1. Unnormalized Form (UNF)
11 Unnormalized adalah sebuah relation yang mengandung satu atau lebih repeating groups. Ada dua pendekatan yang dapat digunakan untuk menghilangkan repeating groups dari UNF, yaitu:
Repeating groups dihilangkan dengan memasukkan data yang sesuai dalam kolom yang kosong dari baris yang mengandung perulangan data. Dengan pendekatan ini redundancy akan muncul, yang kemudian akan dihilangkan selama proses normalisasi.
Repeating groups dihilangkan dengan menempatkan data yang berulang bersamaan dengan salinan dari attribute key aslinya dalam relation yang terpisah. Terkadang UNF dapat mengandung lebih dari satu repeating groups, atau repeating group dalam repeating group. Dalam kasus seperti ini, pendekatan ini dilakukan berulang – ulang sampai tidak ada repeating group yang tersisa.
2. First Normal Form (1NF) Sebuah relation dimana hubungan antara tiap baris dan kolom terdiri dari hanya satu nilai. Semua kumpulan data yang berulang harus diidentifikasi dan dibuang atau dipindahkan. 3. Second Normal Form (2NF) Sebuah relation yang sudah menjadi bentuk 1NF, dimana setiap atribut non primary key mempunyai ketergantungan functionally dependency pada primary key.
12 4. Third Normal Form (3NF) Sebuah relation yang sudah menjadi bentuk 1NF dan 2NF, dimana tidak ada atribut non primary key yang mempunyai ketergantungan transitif pada primary key. 5. Boyce-Codd Normal Form (BCNF) Sebuah relation dikatakan BCNF, jika dan hanya jika, setiap determinatnya adalah candidate key. Jika sebuah skema relasi ada di dalam BCNF, maka yang menjadi satu – satunya non trivial function dependencies adalah key constraint. Sedangkan jika sebuah relation ada di dalam 3NF, maka semua yang menjadi non trivial function dependencies adalah key constraint atau sebelah kanannya merupakan bagian dari candidate key. Karena hal ini maka setiap relation yang ada di dalam BCNF juga ada di dalam 3NF, namun tidak berlaku hal sebaliknya. Sebuah relasi berpotensi menyalahi aturan BCNF bila :
Memiliki 2 atau lebih composite candidate key
Candidate key overlap
6. Fourth Normal Form (4NF) Sebuah relation yang berada pada tahap BCNF dan tidak memiliki non trivial multi valued dependencies. 7. Fifth Normal Form (5NF) Sebuah relation yang tidak memiliki join dependencies.
13 2.1.6 Database Management System (DBMS) Menurut Connolly dan Begg (2002, p16), “DBMS adalah suatu sistem piranti lunak yang memungkinkan user dapat mengidentifikasi, membuat, memelihara, dan mengatur akses dari database”. Menurut Gerald V.Post (2005,p2), “DBMS adalah suatu sistem piranti lunak yang menetapkan database, menyimpan data, mendukung query language, menghasilkan laporan, dan membuat layar data entry”. DBMS terdiri dari 5 komponen utama (Connolly, 2002,p18), yaitu : 1. Hardware Aplikasi DBMS 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 program – program aplikasi, bersama – sama dengan sistem operasi, termasuk software jaringan jika DBMS digunakan melalui sebuah jaringan. 3. Data Data berfungsi sebagai sebuah jembatan, karena menghubungkan komponen-komponen mesin (hardware dan software) dengan komponenkomponen manusia ( procedure dan people). 4. Procedure Procedure merupakan instruksi dan aturan yang digunakan untuk merancang dan menggunakan suatu database.
14 5. People User yang terlibat dalam lingkungan DBMS adalah data dan database administrators, databse designers, application developers, dan end users.
2.1.7 Relational Database Management System (RDBMS) Menurut Connolly dan Begg (2002, p69),
“RDBMS adalah
sekumpulan data yang tersruktur secara logikal dalam relasi – relasi (tabel – tabel), setiap relasi memiliki sebuah nama dan yang terbentuk dari nama sebuah atribut (kolom) dari sebuah data. Setiap tuple (baris) berisi satu nilai per atribut”. Menurut Blaha dan Premerlani (1998, p182), “RDBMS adalah DBMS yang mengatur tabel dari data dan menghubungkan struktur – struktur yang berhubungan sehingga meningkatkan fungsionalitas dan performa dari tabel”. RDBMS memiliki tiga aspek utama, yaitu:
Data yang ditampilkan sebagai tabel.
Operator untuk memanipulasi tabel.
Constraint. Menurut Blaha dan Premerlani (1998, p184), RDBMS memiliki
beberapa keuntungan, diantaranya :
Teori dan standarisasi RDBMS menguntungkan dari segi teori dan menggunakan SQL sebagai standarnya.
15
Ketersediaan yang luas RDBMS sudah tersebar secara luas dan banyak organisasi yang memiliki ijin dan staf yang terlatih.
Much extensibility Terdapat keleluasaan dalam mengubah skema database tanpa mempengaruhi program aplikasi yang sudah ada.
Akses ke data secara declarative Statement declarative lebih responsif dalam optimalisasi compiler.
Kamus data RDBMS sudah terintegrasi dengan kamus data yang dapat diakses oleh user.
Cepat dalam query Jika database sudah terindeks dengan benar maka RDBMS dapat mengakses data sesuai query dengan cepat.
Security yang handal Perintah grant dan view dapat digunakan dalam meningkatkan security.
2.2 Perancangan Basis Data Menurut Connolly dan Begg (2002, p279), “Database design adalah proses membuat perancangan database yang mendukung operasi dan objektivitas perusahaan”. Terdapat dua pendekatan yang dapat digunakan untuk merancang basis data, yaitu :
16 1. Bottom up Approach Pendekatan bottom up dimulai dari atribut 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 dataase 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. 2.2.1 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:
17
Gambar 2.1 Tahapan siklus hidup aplikasi basis data
1. Database Planning (Perancangan database) 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 data (Connolly dan Begg, 2002, p274).
18 Tahap perencanaan basis data juga harus menjelaskan :
Mission statement. Mission statement ini menjelaskan tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek basis data, dan menyediakan alur yang lebih jelas dalam pembuatan aplikasi basis data yang dibutuhkan secara efektif dan efisien (Connolly dan Begg, 2002, p274).
Mission objectives. Setiap Mission objective akan menjelaskan suatu tugas tertentu yang harus didukung oleh basis data, dengan asumsi jika basis data mendukung mission objective, maka mission statementnya juga akan sesuai (Connolly dan Begg, 2002, p274). 2. System Definition (Definisi sistem) System definition menggambarkan ruang lingkup dan batasan dari aplikasi basis 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).
19 3. Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan) Pengumpulan dan analisis kebutuhan adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang didukung oleh aplikasi basis data dan yang menggunakan informasi ini utnuk mengidentifikasikan kebutuhan – kebutuhan user dari sistem yang 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 kuesioner untuk mengumpulkan fakta – fakta tentang sistem dan kebutuhan – kebutuhannya (Connolly dan Begg, 2002, p302). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu : 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. 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
20 yang baik untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda – beda. Keuntungan menggunakan teknik ini menurut Connolly dan Begg (2002, p306) antara lain :
Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka
Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek
Memungkinkan pewawancara untuk menindaklanjuti komentar – komentar menarik yang dibuat oleh orang yang diwawancara
Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara
Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara
Kerugian teknik ini (Connolly dan Begg, 2002, p306) yaitu :
Sangat memakan waktu dan biaya sehingga menjadi tidak praktis
Keberhasilannya
tergantung
pada
kemampuan
tergantung
pada
keinginan
komunikasi
pewawancara
Keberhasilannya
orang
yang
diwawancara untuk ikut serta dalam wawancara Mengamati operasional perusahaan Memungkinkan untuk ikut serta atau mengamati seseorang dalam melakukan kegiatan untuk mempelajari sistem. Salah satu faktor
21 pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut. Keuntungan menggunakan teknik ini antara lain :
Validasi fakta dan data dapat diperiksa
Pengamat dapat melihat dengan jelas apa yang dikerjakan
Pengamat
juga dapat
memperoleh data
yang
menjelaskan
lingkungan fisik dari tugas yang diberikan
Pengamat dapat membuat pengukuran kerja
Kerugian teknik ini yaitu :
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis
Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat pengamatan
Dapat terlewatkan dalam mengamati tugas – tugas yang melibatkan tingkat kesulitan yang lain
Penelitian Jurnal komputer, buku – buku referensi, dan internet merupakan sumber informasi yang baik yang menyediakan informasi bagaiman orang lain memecahkan masalah yang serupa. Keuntungan menggunakan teknik ini antara lain :
Dapat menghemat waktu jika solusinya telah tersedia
Peneliti dapat mengamati cara orang lain memecahakan masalah yang sama atau menemui kebutuhan serupa
22
Membuat para peneliti selalu up-to-date dengan perkembangan baru
Kerugian teknik ini yaitu :
Membutuhkan akses ke sumber informasi yang tepat
Dapat saja tidak membantu memecahkan masalah karena tidak didokumentasikan
Kuesioner Kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta – fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly dan Begg, 2002, p308). Keuntungan menggunakan teknik ini antara lain :
Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik-baiknya
Tidak mahal untuk mengumpulkan data dari banyak orang
Responden lebih mudah untuk memberikan jawaban yang benar, karena jawaban yang diberikan dapat dijaga kerahasiaannya
Tanggapan dapat ditabulasikan dan dianalisa dengan cepat
Kerugian teknik ini yaitu :
Jumlah responden dapat saja rendah, sekitar 5% sampai 10%
Kuesioner dapat saja dikembalikan dengan tidak lengkap
Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan
Tidak dapat mengamati dan menganalisa bahasa tubuh responden
23
Memakan waktu untuk menyiapkan kuesioner
4. Database Design (Perancangan Basis data) Perancangan basis data adalah suatu proses menciptakan perancangan untuk basis data yang akan 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). 4.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 Design secara keseluruhan terbebas dari detil penerapannya,
seperti
Database
Management
System (DBMS)
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 :
Menentukan tipe entity Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user.
24
Menentukan tipe relationship Mengidentifikasi hubungan – hubungan yang penting antar tipe – tipe entity yang telah diidentifikasikan.
Menentukan
dan
menghubungkan
atribut
dengan
entity
(relationship) Menentukan atribut – atribut apa saja yang terdapat dalam suatu entity.
Menentukan atribut domain Menentukan domain pada setiap atribut yang ada di dalam model.
Menentukan atribut candidate dan primary key Menentukan candidate key dari suatu entity yang kemudian akan dipilih sebuah primary key dari candidate key yang ada.
Mempertimbangkan penggunaan enchanced modeling concepts Mempertimbangkan perlu tidaknya menggunakan konsep model specialization atau generalisasi, agregation, dan composition.
Cek model untuk redudansi Memeriksa model data konseptual lokal dengan spesifikasi objektif dari pengidentifikasi walaupun ada beberapa redudansi dan kemudian menghilangkan redudansi tersebut.
Validasi model konseptual lokal dengan transaksi user Memeriksa apakah model konseptual lokal sudah dapat memenuhi segala transaksi yang dilakukan user, jika masih ada transaksi yang
25 tidak dapat dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu.
Review model data konseptual lokal dengan user Melakukan pemeriksaan ulang dengan user untuk memastikan apakah model konseptual ini sudah sesuai.
4.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 dalam logical database design adalah sebagai berikut:
Membangun dan memvalidasi logical data model untuk setiap view, yang dapat diuraikan sebagai berikut: Menghapus fitur yang tidak sesuai dengan relational model Menghilangkan relasi biner many-to-many, relasi rekursif manyto-many, relasi kompleks, dan atribut multi-valued. Menurunkan Relasi untuk Model Data Logikal Lokal Membuat
relasi
model
data
logikal
lokal
untuk
merepresentasikan entity, relationship, dan atribut yang telah diidentifikasi.
26 Validasi relasi – relasi menggunakan normalisasi Normalisasi digunakan untuk meyakinkan suatu resultant model. Resultant model adalah model yang sudah konsistent, redundansinya
sudah
minimal
dan
stabilitasnya
sudah
maksimum. Validasi 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. Mendefinisikan integrity constraint Adalah constraint yang kita harapkan untuk menjaga agar database tetap konsisten. Review logical model data lokal dengan user Memeriksa
kembali
model
logikal
dan
menyediakan
dokumentasi untuk user
Membangun dan memvalidasi logical data model global, yang dapat diuraikan sebagai berikut :
Menggabungkan logical data model lokal ke dalam model global Menggunakan ERD, skema relasional, kamus data, dan dokumentasi
yang
mendukung
untuk
mengidentifikasi
persamaan dan perbedaan antara model-model, dan membantu untuk menggabungkan model – model tersebut.
Memvalidasi logical data model global
27 Memvalidasi relasi yang telah dibuat dari model data logika global menggunakan teknik normalisasi dan meyakinkan relasi tersebut mendukung kebutuhan transaksi yang ada.
Cek untuk perkembangan selanjutnya Menentukan 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.
Review logical data model global dengan user Melakukan
pemeriksaan
kembali
dengan
user
untuk
menentukan apakah model ini sudah sesuai dengan representasi perusahaan. 4.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 realtion, 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 :
Menerjemahkan logical data model global untuk target DBMS, yang dapat diuraikan sebagai berikut : Merancang relasi – relasi dasar
28 Menentukan bagaimana merepresentasikan relasi dasar yang telah diidentifikasikan di dalam model data logikal global ke dalam DBMS. Merancang representasi dari data yang diturunkan Menentukan bagaimana merepresentasikan beberapa data yang diturunkan dalam model data logikal global ke dalam DBMS. Merancang entreprise constraints
Merancang representasi physical, yang dapat diuraikan sebagai berikut : Menganalisa transaksi Memahami fungsionalitas dari transaksi yang akan berjalan pada database dan untuk menganalisa transaksi – transaksi yang penting. Memilih organisasi file Menentukan organisasi file secara efisien untuk setiap relasi dasar. Memilih indeks – indeks Menentukan
apakah
penambahan
indeks –
indeks
akan
meningkatkan performa dari sistem. Memperkirakan kebutuhan disk space Menentukan jumlah disk space yang dibutuhkan oleh database.
Merancang user view
29 Merancang user view yang telah diidentifikasikan selama tahapan pengumpulan dan analisis kebutuhan dari relational database application lifecycle.
Merancang mekanisme keamanan Menentukan tingkat keamanan database berdasarkan spesifikasi user.
Mempertimbangkan pengenalan dari kontrol redundansi, yang dapat diuraikan sebagai berikut : Menggabungkan relasi one-to-one (1:1) Menduplikasikan atribut non-key dalam relasi one-to-many (1:*) untuk mengurangi join. Menduplikasikan atribut foreign key dalam relasi one-to-many (1:*) untuk mengurangi join. Menduplikasikan atribut – atribut dalam relasi many-to-many (*:*) untuk mengurangi join. Memperkenalkan repeating groups Menggabungkan lookup tables dengan base relations. Membuat extract tables
Memonitor dan menjalankan sistem operasional Memonitor sistem operasional dan meningkatkan performa sistem untuk memperbaiki keputusan rancangan yang tidak sesuai.
5. DBMS Selection (Pemilihan Sistem Manajemen Basis data) Database Management System adalah sebuah software system yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara,
30 dan mengontrol akses ke basis data (Connolly dan Begg, 2002, p16). Sebuah DBMS menyedakan beberapa fasilitas, yaitu : -
Data Definition Language (DDL), digunakan untuk mendefinisikan basis data, menspesifikasikan tipe data, struktur, dan batasan dalam data untuk disimpan dalam basis data.
-
Data Manipulation Language (DML), digunakan untuk menyisipkan, memperbaharui, memanggil data dari basis data.
-
Menyediakan akses yang terkontrol ke basis data, misalnya :
Sistem keamanan
Sistem integrasi
Keamanan sistem kontrol akses
Sistem kontrol perbaikan (recovery control)
Katalog user-accessible
Tahapan utama dalam memilih DBMS antara lain : 1. Mendefinisikan syarat – syarat sebagai referensi Dibuat dengan menyatakan 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 protudk – produk yang dimungkinkan, semua batasan – batasan dan skala waktu dibutuhkan untuk pembelajaran.
31 2. 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 perangkat keras tertentu. 3. 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. 4. Merekomendasikan pilihan dan memproduksi laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomndasi atas produk DBMS tertentu. 6. Application Design (Perancangan Aplikasi) 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 :
32 a. Perancangan Transaksi (Transaction Design) Transaksi adalah aksi atau rangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data ( Connolly dan Begg, 2002, p288). Ada tiga jenis transaksi yaitu:
Retrivial transaction : digunakan untuk mendapatkan data untuk ditampilkan pada layar atau pada pembuatan laporan.
Update transaction : digunakan utnuk memasukkan data baru, menghapus data lama atau memodifikasi data yang ada dalam basis data.
Mixed transaction : mencakup pengambilan dan pengubahan data.
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
33 (optioanal field), pesan – pesan yang bersifat penjelasan untuk suatu kolom, pemberian tanda penyelesaian. 7. Prototyping (Prototipe) Prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data (Connolly dan Begg, 2002, p291). Tujuan utama prototyping adalah untuk memungkinkan 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 :
Requirement prototyping Menggunakan sebuah prototype untuk menentukan kebutuhan dari aplikasi basis data yang diusulkan dan ketika kebutuhan – kebutuhannya sudah terpenuhi, prototype tidak digunakan lagi atau dibuang.
Evoutionari prototyping Digunakan untuk tujuan yang sama. Tetapi pada prototyping jenis ini, prototypenya tidak dibuang namun untuk selanjutnya akan dikembangkan menjadi aplikasi basis data yang akan berjalan.
8. Implementation (Implementasi) Implementation adalah realisasi fisikal dari desain basis data dan desain aplikasi (Connolly dan Begg, 2002, p292). Dalam tahap ini juga akan
34 diimplementasikan komponen lain dari aplikasi basis data seperti menu layar, pemasukan data, security dan kontrol integritas. 9. Data Conversion and Loading (Konversi dan Pemuatan Data) 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. 10. Testing (Pengujian) 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 struktur basis data. Testing memperlihatkan bahwa basis data dan perogram aplikasi bekerja sesuai dengan sepesifikasinya dan menampilkan kebutuhan – kebutuhan untuk kerja yang memuaskan. 11. Operational Maintenance (Pemeliharaan Operasional) Operational Maintenance adalah suatu proses memonitor dan memelihara sistem berdasarkan instalasi (Connolly dan Begg, 2002, p293). Tahapan ini terdiri dari aktivitas – aktivitas berikut :
Memonitor untuk kerja sistem
Memelihara dan memperbaharui aplikasi basis data (jika diperlukan)
35 2.3 Database Security Menurut Connolly dan Begg (2002, p522), “Database security adalah mekanisme untuk memproteksi database melawan ancaman dari luar maupun dalam”. Database security mencakup hardware, software, user, dan data. Untuk menjalankan sistem keamanan secara efektif, diperlukan beberapa kontrol yang sesuai, yang didefinisikan pada mission objektifitas spesifik dari sistem. Database security termasuk dalam situasi sebagai berikut:
Pencurian dan memanipulasi data
Kehilangan kerahasiaan data
Kehilangan privacy
Kehilangan integrity
Kehilangan availability Dalam database security terdapat mekanisme keamanan yang disebut dengan
authorization dan authentification. Authorization adalah pemberian hak akses apa saja yang dapat dilakukan oleh user kepada suatu sistem, sedangkan authentification adalah suatu mekanisme yang menentukan user manakah yang boleh masuk ke dalam sistem.
36 2.4 Data Flow Diagram (DFD) Menurut Whitten (2001, p308), Data Flow Diagram adalah alat yang menggambarkan aliran data yang melewati sistem beserta hasil yang diperoleh dari sistem tersebut. Menurut McLeod (2001, p401), Data Flow Diagram adalah suatu gambaran grafis dari suatu yang menggunakan sejumlah bentuk. Bentuk simbol untuk menggambarkan bagaimana data mengalir melalui suatu proses yang saling berkaitan. Walau nama diagram ini menekankan pada data, situasi justru sebaliknya, penekanannya ada pada proses.
Tabel 2.1 Tabel simbol DFD Simbol
Keterangan Proses adalah sesuatu untuk mengubah input dan output. Tiap simbolproses diidentifikasikan dengan tabel. Teknik pempuatan tabel yang paling umum adalah dengan menggunakan kata kerja atau obyek, tetapi dapat juga menggunakan sistem atau program komputer. Arus data terdiri dari sekelompok elemen data yang dapat digambarkan sebagai garis lurus atau lengkung. Penyimpanan data ( data store ) adalah suatu tempat penampungan data. Proses dapat memasukkan atau mengambil data dari data store.
Terminator ( external entities ) digunakan untuk menggambarkan elemen - elemen lingkungan yang berada di luar sistem, yang menandai titik -
37 titik berakhirnya sistem. Dapat berupa sistem lain, orang atau organisasi.
2.5 Diagram Aliran Dokumen Menurut Mulyadi (1993, p60), diagram aliran dokumen adalah simbol - simbol standar yang digunakan oleh bagian analisis sitem untuk membuat bagan alir dokumen yang menggambarkan sistem tertentu. Sebenarnya banyak cara untuk mengembangkan bagan alir dokumen suatu sistem, namun bagan alir dokumen merupakan alat yang digunakan secara luas oleh para penulis untuk menggambarkan aliran dokuman suatu sistem. Adapun simbol yang digunakan dalam bagan alir dokumen, yaitu : 1. Simbol proses Menunjukkan kegiatan proses dari operasi program komputer.
2. Simbol dokumen Menunjukkan dokumen input dan output, baik untuk proses manual, mekanik, maupun komputer.
3. Simbol kegiatan manual Menunjukkan kegiatan manual.
4. Simbol penghubung Menunjukkan penghubung ke halaman yang sama dan ke halaman yang lain.
5. Simbol catatan
38 Menunjukkan catatan data yang direkam sebelumnya di dalam dokumen.
6. Simbol arsip permanen Menunjukkan temapat penyimpanan dokumen yang tidak akan diproses lagi.
7. Simbol garis alur Menunjukkan arus di proses.
8. Simbol terminal Menunjukkan sumber atau tujuan dari dokumen atau laporan.
2.6 State Transition Diagram (STD) State Transition Diagram (STD) merupakan suatu tools pemodelan yang menggambarkan sifat ketergantungan pada waktu dari suatu sitem. Adapun Simbol yang digunakan : State / keadaan Perubahaan State / keadaan Untuk melengkapi STD masih diperlukan dua hal lagi, yaitu Condition (kondisi), adalah sebuah sinyal yang menyebabkan perubahan terhadap state dari state satu ke state berikutnya. Action (aksi), adalah yang dilakukan sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi.
39 2.7 Entity Relationship Modelling Menurut Connolly (2005, p342), Entity Relation Modelling adalah pendekatan secara top down pada perancangan basisdata yang dimulai dengan identifikasi data penting yang disebut entity dan relationship antara data
yang harus
direpresentasikan pada model. 2.7.1 Entity Type Menurut Connolly (2005, p343), entity type adalah kumpulan dari objek yang mempunyai properties sama, yang diidentifikasi oleh perusahaan karena memiliki keberadaan yang bebas. Entity Occurrence, menurut Connolly (2005, p345) merupakan objek unik yang dapat diidentifikasi pada tipe entity. Menurut Silberschatz, Korth & Sudarshan (2004, p27), entity adalah sesuatu atau objek di dalam dunia nyata yang dapat dibedakan dari objek yang lain. Berdasarkan definisi di atas dapat disimpulkan bahwa entity adalah objek di dalam dunia nyata yang dapat dibedakan dari objek lain yang mempunyai properties sama dan diidentifikasi oleh perusahaan karena memiliki keberadaan yang bebas.
Gambar 2.2 Representasi Diagram dari entity type Staff dan Branch (Sumber : Connolly, 2005, p345)
40 2.7.2 Relationship Type Menurut Connolly (2005, p346), relationship type adalah kumpulan dari asosiasi yang memiliki arti di antara tipe entity, sedangkan relationship occurence adalah suatu asosiasi unik yang dapat diidentifikasikan, di mana mengandung satu occurence dari masing-masing tipe entity yang berpartisipasi.
Gambar 2.3 Representasi diagram dari relationship type Cabang 2.7.3 Attributes Menurut Connoly (2005, p350), attributes adalah property atau sifat dari suatu entity atau tipe relationship. Attributes Domain adalah kumpulan dari nilai yang diperbolehkan untuk satu atau lebih atribut. 2.7.3.1 Simple and Composite Attributes
Simple Attributes Menurut Connolly (2005, p351), simple attributes merupakan atribut yang terdiri dari komponen tunggal dengan keberadaan yang bebas.
Composite Attributes Menurut Connolly (2005, p351), composite attributes merupakan atribut yang terdiri adri banyak komponen, masing-masing dengan keberadaan yang bebas.
41
2.7.3.2 Single-Valued and Multi-Valued Attributes
Single-Valued Attributes Menurut Connolly (2005, p351), single-valued attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian pada tipe entity.
Multi-Valued Attributes Menurut Connolly (2005, p352), multi-valued attribute adalah atribut yang mempunyai banyak nilai untuk setiap kejadian pada tipe entity.
2.7.3.3 Derived Attributes Menurut Connolly (2005, p352), derived attributes adalah atribut yang mempresentasikan nilai yang dapat diturunkan dari suatu atribut yang berelasi atau kumpulan dari atribut, yang tidak perlu pada entity yang sama. 2.7.4 Key Menurut Connolly (2005, p352), key terdiri dari : -
Candidate Key : Sekumpulan kecil attribute yang secara unik mengidentifikasikan setiap occurence dari suatu entity type.
-
Primary Key Candidate key yang terpilih secara unik untuk mengidentifikasi setiap occurence dari suatu entity type.
-
Composite Key Candidate key yang terdiri dari dua atau lebih attributes.
42 2.7.5 Strong and Weak Entity Menurut Connolly (2005, p354), strong entity type adalah tipe entity yang keberadaannya tidak tergantung pada beberapa tipe entity yang lain. Misalnya, kita dapat mengidentifikasi setiap anggota staff secara unik menggunakan atribut noStaff, yang merupakan primary key untuk tipe entity Staff. Sedangkan weak entity types adalah tipe entity yang keberadaannya bergantung dengan tipe entity lainnya. 2.7.6 Structural Constraints Constraint harus mencerminkan pembatasan (restriction) pada relationship sebagai perhatian (preceived) di dalam dunia nyata. Tipe utama dari constraint di dalam relationship disebut multiplicity. Menurut Connolly (2005, p356), multiplicity adalah jumlah (jangkauan) dari kemungkinan occurence tunggal dari sebuah entity yang bisa menghubungkan sebuah occurence tunggal dari tipe entity yang berasosiasi melalui relationship tertentu. Multiplicity menentukan cara dimana entity dihubungkan. Ini adalah sebuah representasi dari aturan bisnis yang ditetapkan oleh user atau perusahaan. Seperti yang disebutkan sebelumnya bahwa relationship berderajat dua yang disebut dengan binary, umumnya binary relationship bisa ditunjukkan sebagai hubungan one:to:one (1:1), onet:to:many (1:*), atau many:to:many (*:*). Multiplicity sesungguhnya mengandung dua constraint yang dipisahkan, yang dikenal sebagai cardinality dan participation.
Cardinality menggambarkan jumlah maksimum kemungkinan relationship occurence untuk sebuah entity pengikutsertaan (participating entity) dalam relationship yang diberikan.
43
Participation adalah menetapkan semua atau beberapa occurence yang diikutsertakan dalam sebuah tipe relationship. Sebuah participation constraint yang menunjukkan semua entity occurence terkait dalam relationship tertentu disebut sebagai mandatory participation. Sedangkan yang menunjukkan hanya bebrapa disebut sebagai optional participation.
2.8 Pengertian Persediaan, Pembelian, Penjualan, dan Retur 2.8.1 Persediaan Persediaan merupakan aktiva yang penting untuk kebanyakan bisnis dan biasanya berupa aktiva lancara terbesar dari perusahaan manufaktur dan pengecer (retail)(Dykman, dukes, dan Davis, 2000, p376). Persediaan dapat diklasifikasikan sebagai berikut (Dyckman, Dukes, dan Davis, 2000, p378) :
Persediaan barang dagang (marchandise inventory) adalah barang yang ada di gudang dibeli oleh pengecer datau perusahaan perdagangan seperti importir atau eksportir untuk dijual kembali. Barang – barang tersebut dapat berupa barang yang sudah jadi dan barang yang belum sepenuhnya jadi dan harus dirakit terlebih dahulu.
Persediaan manufaktur (manufacturing inventory) adalah persediaan gabungan dari entity manufaktur, yang terdiri dari : a. Persediaan bahan baku adalah barang berwujud dibeli atau diperoleh dengan cara lain (misalnya dengan menambang) dan disimpan untuk penggunaan langsung dalam membuat barang untuk dijual kembali.
44 b. Persediaan barang dalam proses adalah barang – barang yang membutuhkan pemrosesan lebih lanjut sebelum penyelesaian dan penjualan. c. Persediaan barang jadi adalah barang – barang manufaktur yang telah diselesaikan dan disimpan untuk dijual. d. Persediaan perlengkapan manufaktur adalah barang – barang seperti minyak pelumas untuk mesin – mesin, bahan pembersih, dan barang lainnya yang merupakan bagian yang kurang penting dari produk jadi.
Persediaan rupa – rupa adalah barang – barang seperti perlengkapan kantor, kebersihan, dan pengiriman.
Terdapat dua metode pencatatan persediaan (Dyckman, Dukes, dan Davis, 2000, p381), yaitu :
Sistem persediaan periodik
Dalam sistem persediaan periodik, perhitungan fisik aktual atas barang – barang yang ada di tangan diadakan pada akhir setiap periode akuntansi ketika menyiapkan laporan keuangan.
Sistem persediaan perpetual Catatan persediaan prepetual dibuat untuk setiap item persediaan, dan akun pengendali persediaan dibuat dalam buku besar atas dasar lancar.
2.8.2 Pembelian Sistem akuntansi pembelian digunakan dalam perusahaan untuk pangadaan barang yang diperlukan oleh perusahaan (Mulyadi, 2001, p299). Transaksi pembelian dapat digolongkan menjadi dua :
45 -
Transaksi pembelian lokal adalah pembelian dari pemasok dalam negeri.
-
Transaksi pembelian impor adalah pembelian dari pemasok luar negeri.
2.8.3 Penjualan Kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa, baik secara kredit maupun secara tunai. Dalam transaksi penjualan kredit, jika pesanan dari pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan jasa, untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Kegiatan penjualan secara kredit ini ditangani oleh perusahaan melalui sistem penjualan kredit. Dalam transaksi penjualan tunai, barang atau jasa diserahkan oleh perusahaan kepada pembeli. Kegiatan penjualan secara tunai ini ditangani oleh perusahaan melalui sistem penjualan tunai (Mulyadi, 2001. p202). 2.8.4 Retur Transaksi retur penjulaan terjadi jika perusahaan menerima pengembalian barang oleh pelanggan (Mulyadi, 1997, p555). Pengembalian barang oleh pelanggan harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi penerimaan. Sebagai tambahan, pembeli dapat diberikan pengurangan dari harga yang seharusnya dimana barang yang dijual tersebut mengalami kerusakan atau disebabkan oleh alasan lainnya. 2.9 Intranet Intranet adalah sebuah jaringan khusus yang menggunakan perangkat lunak internet dan TCP/IP protocol. Utamanya, sebuah intranet adalah sebuah jaringan khusus, atau sebuah kelompok dari segmen – segmen khusus dari jaringan internet, yang dipesan untuk digunakan oleh orang yang telah diberikan kuasa atau hak
46 akses untuk menggunakan jaringan terserbut (Turban, 2001, p222). Intranet adalah penggunaan internet untuk komunikasi di dalam perusahaan serta antara perusahaan dan antar organisasi dan perorangan yang berbisnis dengannya (McLeod, 2001, p293).
2.10 Interaksi Manusia dan Komputer IMK adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sitem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena - fenomena besar yang berhubungan dengannya. ( Schneiderman, 1998, p8 ). Menurut Schneiderman ( 1998, p74 - 75 ), Delapan aturan emas dalam perancangan antar muka sistem adalah sebagai berikut : 1. Berusaha untuk konsisten. 2. Memungkinkan frequent users menggunakan shortcut. 3. Memberikan umpan balik yang informatif. 4. Merancang dialog yang memberikan penutupan ( keadaan akhir ). 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana. 6. Mengijinkan pembalikan aksi ( undo ) dengan mudah. 7. Mendukung pusat kendali internal ( internal locus of control ) 8. Mengurangi beban ingatan jangka panjang.
47 2.11 Alat Bantu Pemrograman 2.11.1 Personal Homepage (PHP) Menurut Chaudhury (2002, p296-297) PHP diciptakan oleh Rasmus Lerdrof. Selama lima tahun terakhir, PHP telah menarik minat dari kelompok tertentu dan kontributor baru. Keuntungan dari bahasa pemrograman ini adalah kestabilannya, kemudahan penggunaan, dan fakta bahwa PHP dapat melakukan tugas yang lebih sulit dari program CGI (Common Gateway Interface). Kelebihan lainnya adalah kemampuan untuk diintegrasikan dengan beberapa jenis basis data. PHP merupakan salah satu bahasa pemrograman web yang paling disukai dan tercepat dalam perkembangan server. Selain itu, PHP dapat dipergunakan secara gratis dan merupakan open source project (pengguna dapan men-download baik source code maupun seksekusi untuk PHP serta di-install untuk dapat digunakan). Berikut contoh script PHP:
PHP pertama ”; ?>
48 2.11.2 Java Script Java script adalah suatu bahasa yang dikembangkan oleh Netscape yang memungkinkan pembuat situs mendesain situs yang interaktif dan dapat digunakan seseorang tanpa harus membeli lisensi. Walaupun sering dianggap berhubungan dengan bahasa Java, Javascript secara umum tidak mempunyai banyak persamaan dengan java. Walaupun berbagi sebagian filosofi dan struktur dengan bahasa java, javascript dikembangkan secara terpisah dan murni merupakan sebuah bahasa terjemahan. Kodenya di-embed dan dapat saling berhubungan dengan program HTML, memungkinkan pembuat situs untuk menghidupkan situs mereka dengan isi yang dinamis. (Chaudry, 2002, p294-295). 2.11.3 Hypertext MarkUp Language (HTML) Merupakan suatu bahasa yang digunakan untuk membuat halaman – halaman hypertext ( hypertext page ) pada internet. Dengan adanya konsep hypertext ini, anda tidak harus membaca suatu dokumen secara urut, baris demi baris, atau halaman demi halaman. Tetapi anda dapat dengan mudah melompat dari topik satu ke topik lainnya yang anda sukai, seperti halnya jika anda melakukan pada online help dari suatu aplikasi Windows. HTML dirancang untuk digunakan tanpa tergantung pada suatu platform tertentu. 2.11.4 MySQL MySQL adalah perangkat lunak pengolah basis data yang sangat popular, terutama di kalangan pengguna sistem operasi berbasis Unix. Badan yang membuat MySQL adalah MySQL AB. Sebagai informasi, MySQL dieja dengan mai-es-kiu-el. (Kurniawan, 2002, p143)
49 MySQL merupakan perangkat lunak yang bersifat open source. Sesuai dengan namanya, bahasa standar yang digunakan oleh MySQL adalah SQL. SQL adalah singkatan dari Structured Query Language dan sering disebut sequel saja. SQL merupakan bahasa standar untuk pengolahan database. SQL mulai dikembangkan pada akhir tahun 70-an di laboratorium IBM, San Jose, California. 2.11.5 Apache Apache adalah sebuah HTTP server yang sebenarnya dirancang untuk sistem Unix. Sejarah Apache berawal dari sebuah proyek web server NCSA HTTP yang dikembangkan oleh sebuah grup, di National Center for Super Computing Activities (NCSA) di Universitas of Illnois ar Urbana Champaign (UIUC). Pada awalnya source code
ini terbengkalai dan tidak terurus,
sehingga orang – orang yang bekerja didalamnya mengembangkannya sendiri. Serta menambahkan fitur – fitur baru didalamnya. Tahun 1995, Brian Beh Lendorf dan Cliff Shulnick memfasilitasi dengan membentk sebuah grup pengembang yang mengumpulkan, memodifikasi souce code pada satu tempat dan memproduksi sebuah produk gabungan. Apache dirilis pada April 1995, tidak lama setelah dirilis yang pertama. Thai mendesain sebuah arsitektur baru yang lebih lengkap. Beberapa kelebihan Apache dibandingkan web server yang lain :
Open souce.
Lebih mudah dikonfigurasi dan dikelola
50
Apache bisa dijalankan di beberapa platform sistem seperti Windows, Unix, OS2, Network 5x.
Lebih stabil dibandingkan web server yang lain.
2.11.6 Macromedia Dreamweaver MX Adalah suatu HTML editor profesional untuk mendesain secara visual dan mengelola situs web. Dreamweaver membuatnya jadi lebih mudah dengan menyediakan tool - tool yang sangat berguna dalam meningkatkan kemampuan dan pengalaman membuat web. Dreamweaver juga mengikutsertakan banyak tool untuk kode - kode dalam hal web beserta fasilitas - fasilitasnya, antara lain : referensi HTML, CSS, JavaScript debugger dan code editor yang mengijinkan pengeditan kode JavaScript XML, dan dokumen text lain secara langsung dalam Dreamweaver.