Upload
dangkien
View
218
Download
0
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1 Pendekatan Basis Data
2.1.1 Pengertian Analisis Sistem
Menurut Laudon (1998, p400), analisis sistem adalah memeriksa sebuah masalah
yang akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi.
Menurut Mcleod (2001, p88), analisis sistem adalah penelitian suatu sistem yang
telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui.
Ada enam tahap menganalisis sistem, yaitu :
1. Mengumumkan penelitian sistem
Ketika perusahaan menerapkan sistem baru, manajemen bekerja sama dengan
pekerja perihal sistem baru tersebut.
2. Mengorganisasikan tim proyek
3. Mendefinisikan kebutuhan informasi
Melalu wawancara perorangan, pengamatan, pencarian catatan dan survey.
4. Mendefinisikan kriteria kinerja sistem
Setelah kebutuhan informasi manajer didefenisikan, langkah selanjutnya adalah
menspesikasi secara tepat apa yang harus dicapai oleh sistem.
5. Menyiapkan usulan rancangan
Analisis sistem memberikan kesempatan bagi para manajer untuk membuat
keputusan terusan atau hentikan untuk kedua kalinya.
7
6. Menyetujui atau menolak rancangan proyek
Analisis sistem memberikan kesempatan bagi para manajer untuk membuat
keputusan terusan atau hentikan untuk kedua kalinya. Manajer dan komite
pengarah sistem informasi manajemen mengevaluasi usulan rancangan dan
menentukan apakah memberi persetujuan atau tidak.
Dari teori-teori di atas, dapat dikatakan bahwa analisis sistem adalah memeriksa,
meneliti sistem yang ada, dan mencari di mana letak kesalahan sistem tersebut untuk
kemudian diperbaiki dan diperbarui atau digunakan untuk merancang sistem yang baru.
2.1.2 Pengertian Perancangan System
Menurut Laudon (1998, p400), perancangan sistem adalah cara bagaimana
sebuah sistem dapat memenuhi kebutuhan informasi yang telah dibutuhkan oleh analisa
sistem.
Menurut Mcleod (2001, p192), perancangan sistem adalah penentuan proses dan
data yang diperlukan oleh sistem baru. Apabila sistem tersebut berbasis komputer,
perancangan dapat menyertakan spesifikasi peralatan peralatan yang akan digunakan.
Dari teori-teori diatas dapat dikatakan bahwa perancangan sistem adalah
penentuan bagaimana sebuah sistem yang akan dibuat sesuai dengan yang diinginkan
oleh analisis sistem, baik penentuan proses maupun datanya.
2.1.3 Pengertian Data
Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah fakta yang telah
diketahui, yang dapat dikumpulkan dan disimpan dalam media komputer.
8
2.1.4 Pengertian Basisdata
Basis data adalah sebuah koleksi data yang dipakai bersama dan terhubung
secara logis dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi
dari sebuah organisasi (Connolly, 2005, p15)
Menurut Gerald V. Post (2005, p2), basis data merupakan kumpulan dari data
yang disimpan dalam format yang telah distandarisasikan, didesign, untuk dibagikan
oleh banyak user.
Jadi dapat disimpulkan bahwa basisdata merupakan kumpulan data-data yang
terdiri dari atribut-atribut, entity-entity, dan relationship dari informasi sebuah
perusahaan yang dirancang untuk memenuhi kebutuhan informasi sebuah organisasi.
2.1.5 Pengertian Sistem Basis Data
Menurut Connolly (2005, p4), sistem basis data pada dasarnya adalah sistem
penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah
menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat
dibutuhkan. Keseluruhan sistem terkomputerisasi tersebut memperbolehkan pengguna
menelususri kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.1.6 Database Management System (DBMS)
2.1.6.1 Pengertian DBMS
DBMS (Database Management System) adalah perangkat lunak khusus
yang digunakan untuk membuat, mengakses, mengontrol dan mengatur sebuah
basisdata (Whitten, 2004, p760)
9
Menurut Gerald V. Post (2005, p2), DBMS (Database Management
System) merupakan software yang mendefenisikan database, menyimpan data,
mendukung query language, menghasilkan report dan membuat data entry
screen.
Sedangkan menurut Connolly (2005, p16), DBMS (Database
Management System) adalah sebuah sistem perangkat lunak yang memungkinkan
user untuk mendefinisikan, membuat, memelihara dan mengendalikan akses ke
dalam basis data.
Jadi, dapat disimpulkan bahwa DBMS (Database Management System)
adalah suatu sistem perangkat lunak (software) yang digunakan untuk
mendefinisikan, membuat, memelihara/mengontrol, serta mengelola akses ke
dalam database yang saling bersangkutan.
Menurut Connolly (2005, p16). DBMS berinteraksi dengan program
aplikasi user dan database dalam menyediakan fasilitas - fasilitas sebagai
berikut:
a. Data Definition Language (DDL)
User dapat mendefinisikan basis data. DDL memungkinkan user
untuk membedakan tipe dan struktur data, serta batasan data yang akan
disimpan dalam basis data.
b. Data Manipulation Language (DML)
User dapat memanipulasi basis data. DML memungkinkan user untuk
melakukan insert, update, delete, dan mengambil data dari basis data.
10
c. Access Control
DBMS menyediakan akses kontrol ke basis data, contoh:
− Security system yang mencegah pengguna luar untuk mengakses basis
data.
− Integrity system yang menjaga konsistensi dari data yang tersimpan.
− Concurrency control system yang mengizinkan pembagian akses
basis data.
− Recovery control system yang dapat me-restore database jika terjadi
gangguan pada hardware atau pada software.
− User-accesible catalog yang berisi deskripsi data di basis data.
2.1.6.2 Tahapan Pemilihan DBMS
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 produk-produk yang
dimungkinkan, semua batasan-batasan dan skala waktu yang dibutuhkan
untuk pembelajaran.
2. Daftar singkat dua atau tiga produk
Kriteria yang dianggap penting dalam keberhasilan impelmentasi
dapat digunakan untuk membuat daftar produk-produk DBMS dalam
11
evaluasi seperti dana yang tersedia, tingkat dukungan vendor, kecocokan
dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada
perangkat keras tertentu.
3. Evaluasi produk
Fitur-fitur yang digunakan dalam evaluasi produk-produk DBMS
dikelompokkan menjadi defenisi data, defenisi fisik, kemampuan akses,
penanganan, 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 rekomendasi
atas produk DBMS tertentu.
2.1.6.3 Komponen DBMS Environment
Menurut Connolly dan Berg (2005, p19-24) DBMS Environment
memiliki komponen antara lain :
1. Perangkat keras (Hardware)
Perangkat keras meliputi:
a. PC sampai dengan jaringan komputer
b. Tempat penyimpat secondary (magnetik disk), I/O device, contohnya:
disk drives, device controller, I/O channels dan lainnya.
c. Hardware processor dan main memory, digunakan untuk mendukung
saat eksekusi sitem software database.
12
2. Perangkat lunak (software)
Perangkat lunak meliputi:
a. DBMS, sistem operasi, network software (jika diperlukan) dan
program aplikasi pendukung lainnya
b. Semua kebutuhan akses oleh pengguna seperti create, insert, delete
dan lain-lain dilaksanakan oleh perangkat lunak
3. Data
Ciri-ciri data didalam basis data :
a. Data disimpan secara terintegrasi (integrated).
Basis data merupakan kumpulan dari berbagai macam file dari
aplikasi-aplikasi yang berbeda, yang disusun dengan cara
menghilangkan bagian-bagian yang rangkap (redundan)
b. Data dapat dipakai secara bersama-sama (shared)
Masing-masing bagian dari basis data dapat diakses oleh pemakai
dalam waktu yang bersamaan, untuk aplikasi yang berbeda.
4. Prosedur
Prosedur merupakan panduan dan aturan dalam membuat dan
menggunakan basis data. Prosedur di dalam basis data dapat berupa:
login ke dalam basis data, penggunaan fasilitas DBMS atau aplikasi
program, cara menjalankan dan menghentikan DBMS, membuat back-up
database, menangani kerusakan hardware atau software, mengubah
struktur tabel, mengumpulkan basis data dari beberapa disks,
meningkatkan kinerja atau membuat arsip data pada secondary storage.
13
5. Pengguna (user)
Pemakai database dibagi atas 3 klasifikasi, yaitu:
1. DA (Data Administrator), seseorang yang berwenang untuk membuat
keputusan strategis dan kebijakkan mengenai data yang ada.
2. DBA (Database Administrator), menyediakan dukungan teknis untuk
implementasi keputusan tersebut, dan bertanggung jawab atas
keseluruhan kontrol sistem pada level teknis.
3. Database Designer (Logical and Physical)
4. Application Programmers, bertanggung jawab untuk membuat
aplikasi database dengan menggunakan bahasa pemrograman yang
ada, seperti: C++, Java, dan lainnya.
5. End Users, siapapun yang berinteraksi dengan sistem secara online
melalui workstation / terminal
2.1.6.4 Komponen DBMS
DBMS mempunyai kompenen yang terdiri dari : (Connolly, 2005, p53-
55)
1. Query Processor, merupakan komponen utama dalam DBMS yang
merubah query ke dalam bahasa instruksi tingkat rendah yang ditujukan
untuk database manager.
2. Database Manager (DM), DM berhadapan dengan program aplikasi dan
query yang diajukan oleh user. DM menerima query dan memeriksa
14
skema eksternal dan konseptual untuk menentukan laporan konseptual
apa yang dapat memenuhi permintaan user.
3. File Manager, memanipulasi file-file dasar yang tersimpan dan mengatur
alokasi tempat penyimpanan.
4. DML Processor, modul ini mengkonversikan pernyataan DML dalam
program aplikasi ke dalam bentuk standard dari bahasa host/
5. DDL Compiler, mengkonversikan pernyataan DDL ke dalam sekumpulan
tabel-tabel yang berisikan data-data. Tabel-tabel ini tersimpan di katalog
sistem dan informasi pengawasannya disimpan pada file header data.
2.1.6.5 Keuntungan DBMS
Menurut Connolly (2005, p26-29), keuntungan dari penggunaan DBMS
antara lain :
1. Penggunaan data bersama (The Data Can Be Shared)
2. Mengurangi kerangkapan data (Redudancy Can Be Used)
3. Menghindari ketidakkonsistenan data (Inconsistency Avoided)
4. Integritas data terpelihara (Integrity Can Be Maintained)
5. Keamanan terjamin (Security Can Be Enforced)
6. Kebutuhan user yang kompleks dapat teratasi (Balanced Conflicting
Requirements)
7. Pelaksanaan standarisasi (Standards Can Be Enforced)
8. Meningkatkan produktifitas (Increased Productivity)
15
9. Layanan back up dan recovery semakin baik (Improved back up and
recovery services)
10. Increased concurrency
11. Improved data accessibility and reponsiveness
2.1.6.6 Kerugian DBMS
Menurut Connolly (2005, p29-30), adapun kerugian dari DBMS meliputi:
1. Kompleksitas
2. Memerlukan ukuran software yang besar
3. Biaya dari suatu DBMS sangat mahal
4. Biaya penambahan perangkat keras
5. Biaya konversi tinggi
6. Performa sistem dapat tidak sesuai dengan keinginan
7. Menimbulkan pengaruh yang besar pada perusahaan jika terjadi
kegagalan pada sistem
2.1.6.7 Fungsi DBMS
Adapun fungsi-fungsi DBMS menurut Connolly (2005, p16) adalah:
1. Penyimpanan, pengambilan dan perubahan data.
DBMS dapat memungkinkan user memiliki kemampuan untuk
menyimpan, restore, dan update data dalam basis data.
2. Katalog yang dapat diakses oleh pengguna
DBMS harus memiliki katalog yang berisikan deskripsi data item dan
16
dapat diakses oleh user.
3. Dukungan transaksi
DBMS memiliki sebuah mekanisme yang menjamin seluruh perubahan
yang berhubungan dengan sebuah transaksi dapat dilakukan ataupun
tidak dapat dilakukan..
4. Layanan kontrol concurrency
DBMS harus memiliki sebuah mekanisme menjamin database dapat di-
update ketika banyak user meng-update database secara bersamaan.
5. Layanan Recovery
DBMS harus memiliki sebuah mekanisme untuk memperbaiki basis data
yang apabila terjadi kesalahan.
6. Layanan kepemilikan (Authorization Services)
DBMS harus memiliki sebuah mekanisme yang menjamin bahwa hanya
user yang memiliki otorisasi yang dapat mengakses database..
7. Dukungan komunikasi data
DBMS harus dapat terintegrritasi dengan piranti lunak komunikasi dan
mendapat akses database dari lokasi yang jauh.
8. Layanan integrasi
DBMS diharuskan memiliki sarana yang menjamin data di dalam
database maupun perubahan terhadap data dan mengikuti aturanaturan
tertentu (constraint).
17
9. Layanan untuk peningkatan indepedensi data
DBMS harus mempunyai fasilitas-fasilitas untuk mendukung
ketidaktergantungan piranti lunak terhadap struktur aktual dari database.
10. Layanan utilitas
DBMS harus menyediakan serangkaian layanan seperti program analisis
statistic, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain.
2.1.7 Structure Query Language (SQL)
Structure Query Language (SQL) adalah bahasa basis data relasional
yang paling populer dan yang memungkinkan para pengguna untuk melakukan
berbagai pencarian rumit dengan perintah yang relatif sederhana. (Turban,
Rainer, Potter, 2005, p637)
Pada dasarnya, sebuah bahasa basis data harus mempunyai karakteristik
sebagai berikut:
- Dapat membuat basis data dan menguraikan struktur relasi.
- Menyajikan data management tasks, seperti insertion, modification, dan
deletion dari relasi data.
- Menyajikan kedua query baik yang sederhana maupun yang kompleks.
SQL merupakan contoh dari transform-oriented language yang dapat
memenuhi kriteria relasi di atas untuk mengubah input menjadi output yang
dibutuhkan dalam basis data (Connoly dan Begg, 2005, p113). Standar dari SQL
memiliki dua komponen utama yaitu: Data Definition Language (DDL) dan
Data Manipulation Language (DML).
18
2.1.7.1 Data Definition Language
Menurut Conolly dan Begg (2005, p40), DDL (Data Definition
Language) adalah bahasa yang memungkinkan DBA (Database Administrator)
atau pengguna untuk mendeskripsikan nama entitas dan hubungan atribut yang
diperlukan untuk aplikasi, bersama-sama dengan yang terkait kendala integrity
dan keamanan.
DDL digunakan untuk mendefinisikan skema dan DDL tidak dapat
digunakan untuk memanipulasi data.
2.1.7.2 Data Manipulation Language
Menurut Conolly dan Begg (2005, p41), DML (Data manipulation
Language) adalah bahasa yang menyediakan seperangkat operasi untuk
mendukung operasi dasar manipulasi data pada database yang digunakan.
Operasi dasar yang dapat dilakukan oleh DML adalah :
1. Memasukkan data baru ke dalam database
2. Modifikasi data yang disimpan dalam database
3. Pengambilan data yang terdapat dalam database
4. Penghapusan data dari database
DML memiliki dua tipe, yaitu :
1. Prosedural
Bahasa yang memungkinkan pengguna untuk memberitahukan sistem
data apa yang diperlukan dan tepat dan bagaimana cara untuk mengambil
data tersebut.
19
2. Non Prosedural
Bahasa yang memungkinkan user untuk menentukan data yang
dibutuhkan dengan menyebutkan spesifikasinya tanpa menspesifikasikan
bagaimana cara mendapatkannya.
2.1.8 Fourth Generation Language (4GL)
Fourth Generation Language merupakan bahasa pemrograman
kelanjutan dari third generation language (3GL), dimana 3GL seperti COBOL
memerlukan ratusan baris dalam menjalankan sebuah operasi. Sedangkan
sekarang hanya memerlukan sedikit baris dalam 4GL.
Dibandingkan dengan 3GL, yang prosedural, 4GL bersifat non-
procedural: user dapat mendefinisikan apa yang mereka kerjakan, bukan
bagaimana. 4GL mencakup beberapa bagian, yaitu: (Connolly dan Begg, 2005,
p42)
- Presentation languages, seperti bahasa query dan report generators;
- Speciality languages, seperti lembar kerja (spreadsheets) dan bahasa
sistem basis data.
- Application generators yang mendefinisikan, insert, update, dan
mengambil data dari database untuk membuat aplikasi.
- Very high-level languages, digunakan untuk menghasilkan kode aplikasi.
20
SQL (Structured Query Language) dan QBE (Query-By-Example),
merupakan contoh dari 4GL. Berikut ini beberapa tipe dari 4GL:
a. Form generators
Merupakan fasilitas interaktif dengan secara cepat untuk membuat data
input dan menampilkan layout pada layar. Form generator memberikan
akses kepada user untuk merancang layar yang diinginkan, apa informasi
yang ingin disajikan, dan dimana layar tersebut akan ditampilkan. Selain
itu, form generator dapat mendefinisikan warna dari elemen layar dan
karaketeristik lain, seperti bold, underline, blinking, reverse, video, dan
lain sebagainya. Kelebihan tipe ini ada pada cara membuat derived
attributes, menggunakan operator aritmatik atau aggregates, dan
spesifikasi dari pengecekan validasi data input.
b. Report generators
Merupakan fasilitas untuk membuat laporan dari data yang disimpan di
dalam database. Hampir sama dengan query language yang
membolehkan user untuk memanipulasi dan memodifikasi database. Tipe
ini lebih menitikberatkan pada bagaimana output laporan yang
diinginkan.
c. Graphic generators
Merupakan fasilitas untuk mengambil data dari database dan
menampilkan data sebagai grafik untuk menunjukkan kecenderungan dan
hubungan antar data. Biasanya, tipe ini membolehkan user untuk
21
membuat diagram batang, pie charts, diagram garis, scatter charts, dan
lain sebagainya.
d. Application generators
Merupakan fasilitas untuk membuat program dengan menggunakan
database. Kegunaan application generator dapat mengurangi waktu
perancangan program dari aplikasi software secara keseluruhan. User
menspesifikasikan apa yang akan program lakukan; application generator
yang menentukan bagaimana cara program bekerja.
22
2.1.9 Database Application Lifecycle
Tahapan penerapan database application lifecycle menurut Connolly (2005,
p283-306):
Gambar 2.1 Siklus Aplikasi Basisn Data
23
Tabel 2.1 Tahapan dan Fungsi Utama Di Setiap Tahapan Siklus Hidup Basis Data
Tahapan Siklus Fungsi utama
Database Planning Merencanakan bagaimana tahapan dalam
siklus hidup basis data dapat dilakukan secara
efektif dan efisien.
System Definition Menspesifikasikan ruang lingkup dan batasan
dari sistem basis data termasuk user views,
user, dan application areas.
Requirements collection and analysis Mengumpulkan analisis dan kebutuhan untuk
sistem basis data yang baru.
Database design Terdiri dari conceptual, logical dan physical
design dari sistem basis data.
DBMS selection (optional) Memilih DBMS yang cocok untuk sistem
basis data.
Application design Merancang antar muka pengguna dan program
aplikasi yang dibutuhkan dalam proses sistem
basis data.
Prototyping (optional) Membuat model kerja dari sistem basis data,
dimana mengijinkan perancang atau pengguna
untuk melihat dan mengevaluasi bagaimana
gambaran dan fungsi sistem akhir yang akan
dibuat.
24
Tahapan Siklus Fungsi utama
Implementation Membuat physical database dan program
aplikasi.
Data conversion and loading Pemuatan data dari sistem yang lama ke
sistem yang baru dan apabila mungkin,
mengkonversi semua aplikasi yang sedang
berjalan untuk diterapkan dalam sistem basis
data yang baru.
Testing Menguji sistem basis data yang baru apakah
bebas dari error dan dicek kembali apakah
sesuai dengan spesifikasi kebutuhan
pengguna.
Operational maintanance Dalam tahap ini, sistem basis data sudah
diimplementasikan secara penuh. Sistem ini
akan terus dipantau dan dipelihara secara
berkelanjutan. Apabila terdapat kebutuhan
yang baru maka dapat kembali ke tahap
sebelumnya untuk membuat sistem basis data
yang baru sesuai kebutuhan pengguna.
25
2.1.9.1 Database Planning
Merupakan aktifitas management yang memungkinkan tahapan dari
database application lifecycle direalisasikan seefektif dan seefisien mungkin.
Perancanaan basis data harus diintegrasikan dengan keseluruhan strategi sistem
informasi dari perusahaan atau organisasi. Terdapat 3 hal penting dalam
menyusun sebuah strategi sistem informasi, yaitu :
a. Identifikasi rencana dan sasaran dari perusahaan termasuk mengenai
sistem informasi yang dibutuhkan
b. Evaluasi dari sistem informasi yang ada untuk menetapkan kelebihan dan
kekurangan yang dimiliki.
c. Penilaian dari kesempatan-kesempatan teknologi informasi yang
mungkin menghasilkan keuntungan yang kompetitif.
Langkah penting dari tahap ini adalah mendefinisikan secara jelas tentang
pernyataan misi untuk proyek basis data. Pernyataan tersebut mendefinisikan
tujuan utama dari aplikasi basis data. Bila pernyataan tersebut selesai maka
langkah selanjutnya adalah mengidentifikasikan sasarannya. Pernyataan dan
sasaran ini perlu didukung oleh informasi-informasi tambahan yang menentukan
pekerjaan apa saja yang harus diselesaikan, sumber-sumber yang
mendukungnya, dan biaya yang harus dikeluarkan.
2.1.9.2 SystemDefinition
Definisi sistem pada lifecylce menjelaskan batasan-batasan dan cakupan
dari aplikasi basis data dan sudut pandang pengguna (user view) yang utama.
26
User view mendefinisikan apa yang diwajibkan dari suatu aplikasi basis data dari
perspektif aturan kerja khusus (seperti manager dan supervisor) atau area
aplikasi perusahaan (seperti marketing, personalia atau stock conrol).
Aplikasi basis data dapat memiliki satu atau lebih user view. Identifikasi
user view, membantu memastikan bahwa tidak ada user utama dari suatu basis
data yang terlupakan ketika pembuatan aplikasi baru yang dibutuhkan. User
view juga dibutuhkan dalam pengembangan aplikasi basis data yang rumit
memungkinkan permintaan-permintaan dipecah ke dalam bagian-bagian yang
lebih sederhana.
2.1.9.3 Requirements Collection and Analysis
Suatu proses pengumpulan dan analisa informasi mengenai bagian
organisasi yang didukung oleh aplikasi basis data, dan menggunakan informasi
tersebut untuk identifikasi kebutuhan user akan sistem baru. Informasi
dikumpulkan untuk setiap user view utama meliputi :
a. Deskripsi data yang digunakan atau dihasilkan.
b. Detail mengenai bagaimana data digunakan/dihasilkan.
c. Beberapa kebutuhan tambahan tuntuk aplikasi basis data yang baru.
Informasi dianalisa untuk identifikasi kebutuhan agar disertakan dalam
aplikasi basis data yang baru. Aktifitas penting lainnya adalah menentukan
bagaimana mengatur aplikasi basis data dengan multiple user view, yaitu :
27
a. Pendekatan terpusat (Centralized approach)
Kebutuhan untuk setiap user view digabungkan menjadi sekumpulan
kebutuhan. Sebuah global data model dibuat berdasarkan atas
penggabungan kebutuhan (dimana merepresentasikan seluruh user view).
b. Pendekatan integrasi view view integration approach)
Kebutuhan untuk setiap user view digabungkan menjadi sekumpulan
data terpisah untuk merepresentasikan user view tersebut. Hasil dari
model data tersebut nantinya digabungkan dalam tahapan rancangan basis
data.
Model data yang merepresentasikan user view tunggal disebut local
data model, dan tersusun atas diagram-diagram dan dokumentasi yang
secara formal menggambarkan kebutuhan user view khusus terhadap
basis data. Kemudian local data model digabungkan untuk menghasilkan
global data model, yang merepresentasikan seluruh user view untuk basis
data.
c. Kombinasi keduanya (Combination of both approaches)
Kebutuhan untuk setiap user view digabungkan menjadi sekumpulan
data terpisah berdasarkan kebutuhannya masing-masing untuk
merepresentasikan user view tersebut.
28
2.1.9.4 Database design
Tahap ini berupa suatu proses pembuatan sebuah rancangan basis data
yang akan mendukung tujuan dan operasi suatu perusahaan. Tujuan utamanya
adalah :
a. Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group.
b. Menyediakan model data yang mendukung segala transaksi yang
diperlukan pada data.
c. Menspesifikasikan desain minimal yang secara tepat disusun untuk
memenuhi kebutuhan performa yang ditetapkan pada sistem (contoh :
respon waktu).
Pendekatan dalam perancangan basis data :
1. Top-down
Diawali dengan pembentukan model data yang berisi beberapa entitas
high-level dan relationship, yang kemudian menggunakan pendekatan
top-down secara berturut-turut untuk mengidentifikasi entitas lower level,
relationship dan atribut lainnya.
2. Bottom-up
Dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan relationship),
dengan analisa dari penggabungan antar atribut, yang dikelompokkan ke
dalam suatu relasi yang merepresentasikan tipe dari entitas dan
relationship antar entitas.
29
3. Inside-Out
Berhubungan dengan pendekatan buttom-up tetapi sedikit berbeda
dengan identifikasi awal entitas utama dan kemudian menyebar ke
entitas, relationship, dan atribut terkait lainnya yang lebih dahulu
diidentifikasi.
4. Mixed
Menggunakan pendekatan buttom-up dan top-down untuk bagian
yang berbeda sebelum pada akhirnya digabungkan.
Data modeling, ada dua kegunaan utama dari data modeling yaitu :
1. Untuk membantu dalam memahamiarti dari data.
2. Untuk memfalisitasi komunikasi mengenai informasi yang
dibutuhkan.
Pembuatan model data menjawab pertanyaan mengenai entitas,
relationship dan atribut, Model data bertujuan agar kita memahami :
a. Setiap user perspektif mengenai data.
b. Sifat dari data itu sendiri, independen terhadap reprentasi fisiknya.
c. Kegunaan data melalui user view.
Kriteria untuk menghasilkan model data yang optimal :
a. Validitas struktural (Structural Validity), harus konsisten dengan
definisi dan informasi perusahaan.
b. Kesederhanaan (Simplicity), mudah dimengerti baik oleh
profesional sistem informasi maupun pengguna non-teknik.
30
c. Ketepatan (Expressibility), kemampuan untuk membedakan
antara data yang berlainan, relationship antar data dan batasan-
batasan.
d. Tidak rangkap (Nonredundancy), pengeluaran informasi yang
tidak berhubungan, dengan kata lain representasi setiap bagian
informasi hanya satu kali.
e. Digunakan bersama (Shareability), tidak ditentukan untuk aplikasi
atau teknologi tertentu dan dapat digunakan oleh banyak
pengguna.
f. Perluasan penggunaan (Extensibility), kemampuan untuk
menyusun dan mendukung kebutuhan baru dengan akibat
sampingan yang minimal terhadap user yang sudah ada.
g. Integritas (Integrity), konsistensi dengan cara yang digunakan
perusahaan dan pengaturan informasi.
h. Representasi diagram (Diagramatic Representation), kemampuan
untuk merepresentasikan model menggunakan notasi diagram
yang mudah dimengerti.
2.1.9.5 DBMS Selection
Pemilihan DBMS yang tepat untuk mendukung aplikasi basis data.
Dapat dilakukan kapanpun sebelum menuju desain logikal asalkan terdapat
cukup informasi mengenai kebutuhan siste. Tahap-tahap utama untuk memilih
DBMS :
31
a. Mendefinisikan terminologi studi referensi.
b. Mendaftar dua atau tiga produk.
c. Evaluasi produk.
d. Rekomendasi pilihan dan laporan produk.
2.1.9.6 Application design
Design interface user dan program aplikasi yang menggunakan dan
memproses basis data. Desain basis data dan aplikasi merupakan aktifitas paralel
yang meliputi dua aktifitas penting, yaitu :
1. Transaction design
Transaksi adalah satu atau serangkaian aksi yang dilakukan oleh
pengguna tunggal atau program aplikasi, yang mengakses atau merubah
isi dari basis data. Kegunaan dari desain transaksi adalah untuk
menetapkan dan keterangan karakteristik high-level dari suatu transaksi
yang dibutuhkan pada basis data, diantaranya :
a. Data yang digunakan oleh transaksi.
b. Karakteristik fungsional dari suatu transaksi
c. Output transaksi.
d. Keuntungannya bagi user.
e. Tingkat kegunaan yang diharapkan.
Terdapat tiga tipe transaksi, yaitu :
a. Retrieval transaction, digunakan untuk pemanggilan (retrieve) data
untuk ditampilkan di layar atau menghasilkan suatu laporan.
32
b. Update transaction, digunakan untuk menambahkan record baru,
menghapus record lama, atau memodifikasi record yang sudah ada di
dalam basis data.
c. Mixed transaction, meliputi pemanggilan dan perubahan data.
2. User interface design
Beberapa aturan pokok dalam pembuatan user interface :
a. Meaningful title, diusahakan pemberian nama suatu form cukup jelas
menerangkan kegunaan dari suatu form/report.
b. Comprehensible instructions, penggunaan terminologi yang familiar
untuk instruksi ke user dan jika informasi tambahan yang dibutuhkan,
maka harus disediakan helpscreen.
c. Logical grouping and sequencing of fields, field yang saling
berhubungan ditempatkan pada form/report yang sama. Urutan field
harus logis dan konsisten.
d. Visually appealing layout of the form/report, tampilan form/report
harus menarik, dan sesuai dengan hard copy agar konsisten.
e. Familiar fields labels, penggunaan label yang familiar
f. Consistenn terminology and abbreviation, terminologi dan singkatan
yang digunakan harus konsisten.
g. Consistent use of color (penggunaan warna yang konsisten)
h. Visible space and boundaries for data-entry fields, jumlah tempat
yang disediakan untuk data entry harus diketahui oleh pengguna.
33
i. Convinient cursor movement, user dapat dengan mudah menjalankan
operasi yang diinginkan dengan menggerakan kursor pada
form/report.
j. Error correction for individual characters and entire fields, user
dapat dengan mudah menjalankan operasi yang diinginkan dan
melakukan perubahan terhadap nilai field.
k. Error messages for unacceptable values
l. Optional fields marked clearly
m. Explanatory messages for fields, ketika user meletakkan kursor pada
suatu field, maka keterangan mengenai field tersebut harus dapat
dilihat.
n. Completion signal, indikator yang menjelaskan bahwa suatu proses
telah selesai dilaksanakan.
2.1.9.7Prototyping
Membuat model kerja suatu aplikasi basis data. Tujuan utama dari
pembuatan prototyping adalah :
a. Untuk mengidentifikasi feature dari sistem yang berjalan dengan baik
atau tidak.
b. Untuk memberikan perbaikan-perbaikan atau penambahan feature baru.
c. Untuk klarifikasi kebutuhan user.
d. Untuk evaluasi feasibilitas (kemungkinan yang akan terjadi) dari desain
sistem khusus.
34
Terdapat dua jenis strategi prototyping yang digunakan saat ini, yaitu :
1. Requirements prototyping, menggunakan prototype untuk menentukan
kebutuhan dari aplikasi basis data yang diinginkan dan ketika kebutuhan
itu terpenuhi maka prototype akan dibuang.
2. Evolutionary prototyping, digunakan untuk tujuan yang sama.
Perbedaannya, prototype tidak dibuang tetapi dengan pengembangan
lanjutan menjadi aplikasi basis data yang digunakan.
2.1.9.8 Implementation
Implementation merupakan realisasi secara fisik dari basis data dan
desain aplikasi. Pada tahap penyelesaian desain (dimana dapat melibatkan
pembuatan prototype atau tidak), kini kita dapat menerapkan basis data dan
program aplikasi yang telah kita buat. Implementasi basis data dengan
menggunakan DDL yang kita pilih dalam melakukan pemilihan DBMS atau
dengan menggunakan Graphical User Interface (GUI), yang menyediakan
fungsional yang sama dengan pernyataan DDL yang low level. Pernyataan DDL
digunakan untuk menciptakan struktur basis data dan mengosongkan file yang
terdapat dalam basis data tersebut. Pandangan pemakain lainnya juga
diimplementasikan dalam tahapan ini. Data Manipulation Language (DML)
digunakan untuk mengimplementasikan transaksi basis data di dalam bagian
aplikasi program dari sasaran DBMS.
35
2.1.9.9 Data converasion and loading
Data conversion and loading adalah mencakup pengambilan data dari
sistem lama untuk dipindahkan ke dalam sistem yang baru. Langkah ini
diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan
sistem yang lama. Sekarang, DBMS yang memiliki kegunaan yang dapat
mengisi file yang ada ke dalam sistem yang baru telah dianggap umum,
kegunaan yang ada umumnya memerlukan spesifikasi sumber file dan target
basis data yang baru. Ketika conversion and loading dibutuhkan, prosesnya
harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan
operasi.
2.1.9.10 Testing
Testing adalah suatu proses melaksanakan program aplikasi dengan
tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis
data harus dilakukan testing terlebih dahulu. Hal ini dicapai dengan penggunaan
secara hati-hati untuk merencanakan suatu tes dan data yang realistis sehingga
keseluruhan proses pengujian sesuai dengan metode yang dilaksanakan sesuai
aturan yang ada.
2.1.9.11 Operational Maintenance
Operational maintenance adalah proses untuk memantau dan memelihara
sistem setelah di install. Pada tahapan sebelumnya, basis data benar-benar diuji
36
dan diimplementasikan. Sekarang sistem beralih ke tahapan pemeliharaan.
Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi :
a. Pengawasan performa sistem, jika performa menurun maka memerlukan
perbaikan atau pengaturan ulang database.
b. Pemeliharaan dan pembaharuan aplikasi database (jika dibutuhkan).
c. Penggabungan kebutuhan baru ke dalam aplikasi database.
2.1.10 Entity-Relationship Modelling (E-R Modelling)
Dalam mendesain basis data, hal yang paling penting adalah dengan
menggunakan Entity Relationship (ER). Karena tanpa ER, bisa dipastikan proses
pembuatan basis data dapat berjalan lama dan tidak teratur. Selain itu, yang perlu
diperhatikan adalah membuat relasi-relasi yang benar diantara tabel. Proses desain basis
data cukup menghasilkan waktu yang lama jika basis datanya besar. Desain basis data
mutlak harus dilakukan dengan baik, agar mudah dalam pengembangan dan perbaikan
nantinya.
E-R Modelling menggunakan sebuah pendekatan Top-Down dalam merancang
basis data yang dimulai dengan mengidentifikasikan data yang penting yang disebut
entity dan relationship antar data harus direpresentasikan dalam model (Connolly, 2005,
p342).
ERD adalah model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri
dari koleksi objek-objek dasar yang disebut entitas (entity) serta hubungan (relationship)
antara entitas-entitas itu. ERD berperan dalam membantu memahami suatu hubungan
37
atau relasi antara beberapa komponen-komponen atau entiti-entiti dalam suatu
perancangan sebuah sistem.
ERD merupakan alat bantu yang digunakan untuk menggambarkan model data
yang didapat dari spesifikasi kebutuhan. Model ER biasanya dinyatakan dalam ERD. Di
dalam ERD terdapat tipe entiti, hubungan, dan atribut.
Skema ERD dibangun dari beberapa komponen utama, yaitu:
• Rectangles, yang mewakili entity.
• Ellipses, yang mewakili atribut.
• Diamonds, yang mewakili hubungan (relationship).
• Lines, garis yang menghubungkan atribut ke entiti dan entiti ke hubungan.
2.1.10.1 Entity Types
Menurut Connolly dan Begg (2005, p343) tipe entiti adalah sekumpulan
objek yang memiliki properties yang sama yang memiliki sebuah
ketidaktergantungan eksistensi yang diidentifikasi oleh perusahaan. Sedangkan
entity occurrence adalah sebuah objek dari satu entity yang dapat
diidentifikasikan secara unik (Connolly, 2005, 345).
Setiap entity dilambangkan dengan sebuah persegi panjang yang diberi
nama dengan entity tersebut. Nama entity biasanya adalah kata benda tunggal.
Huruf pertama dari setiap entity harus menggunakan huruf besar. Representasi
diagram entity terlihat pada gambar 2.2
38
Gambar 2.2 Representasi Diagram dari Tipe entity Pegawai dan Cabang
(Connolly, 2005, p345)
Entity dapat diklarifikasikan menjadi :
• Strong Entity Type : tipe entiti yang keberadaannya tidak
bergantung oleh adanya entiti lain. Biasa disebut dengan parent,
owner dominant.(Connolly, 2005, p354)
• Weak Entity Type : tipe entiti yang keberadaannya bergantung oleh
adanya entiti lain. Biasa disebut dengan child, dependent,
subordinate.(Connolly, 2005, p355)
Gambar 2.3 Representasi Diagram entity Kuat dan entity Lemah
(Connolly, 2005, p355)
Entity Name
Staff Branch
39
2.1.10.2 Relationship Types
Menurut Connoly dan Begg (2005, p346) Relationship adalah suatu
hubungan yang berarti antara satu tipe entity atau lebih tipe entity.
Relationship occurrence, yaitu keterhubungan yang diidentifikasi secara
unik yang meliputi keberadaan tiap tipe entitas yang berpartisipasi.
Contoh : relationship type
Sumber : Buku Database System 4th Edition-Thomas Connoly and Carolyn Begg
Gambar 2.4 A Semantic Net Showing Individual Occurrences of the Has
Relationship Type
Degree of Relationship yaitu jumlah entitas yang berpartisipasi dalam
suatu relationship. Degree of Relationship terdiri dari :
1. Binary Relationship, yaitu keterhubungan antar dua tipe entitas. Contoh
Binary Relationship antara PrivateOwner dengan PropertyForRent yang
disebut Powns
40
’Private owner owns property for rent’
POwns
Gambar 2.5 Binary Relationship Powns
2. Ternary Relationship, yaitu keterhubungan antar tiga tipe entitas. Contoh
Ternary Relationship yang dinamakan Registers. Relasi ini melibatkan
tiga tipe entiti, yaitu Staff, Branch dan Client. Relationship ini
menggambarkan Staff mendaftarkan client pada branch.
’Staff registers a client at a branch’
Gambar 2.6 Ternary Relationship Registers
3. Quaternary Relationship, yaitu keterhubungan antar empat tipe entitas.
Contoh Quaternary Relationship yang dinamakan Arranges. Relasi ini
melibatkan empat entiti yaitu Buyer, Solicitor, Financial Institution, dan
Bid. Relasi ini menggambarkan Buyer, diberi masukkan oleh Solicitor, dan
didukung oleh Financial Institution, melakukan penawaran (Bid).
PrivateOwner PropertyForRent
Staff
Client
Branch Registers
41
’A solicitor arranges a bid on behalf of a
buyer supported by a financial institution’
Gambar 2.7 Quaternary Relationship Arranges
4. Unary Relationship, yaitu keterhubungan antar satu tipe entitas, dimana
tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang
berbeda. Kadang disebut juga recursive relationship. Relationship dapat
diberikan role names untuk mengidentifikasikan keterkaitan tipe entitas
dalam relationship. Contoh entitas Staff yang berperan menjadi Supervisor
dan Staff yang di-supervisor-i.
Buyer
Bid
Financial Institution
Arranges
Solicitor
42
’Staff (Supervisor) supervises staff (Supervisoe)’
Supervises Supervisor
Supervisee
Gambar 2.8 Recursive Relationship Supervises with Role Names
Supervisor and Supervisee
2.1.10.3 Attributes
Merupakan sifat-sifat (property) dari sebuah entity atau relationship type.
Contohnya : sebuah entity Staff digambarkan oleh attribut staffNo, name, position
dan salary. (Connoly dan Begg, 2005, p350)
Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu
atau lebih atribut. Macam-macam atribut :
1. Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal
dengan keberadaan yang independen dan tidak dapat dibagi menjadi
bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute.
2. Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen,
dimana masing-masing komponen memiliki keberadaan yang
Staff
Role Name
Role Name
43
independen. Misalkan atribut Address dapat terdiri dari Street, City,
PostCode.
3. Single-valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk
setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut
branchNo pada setiap kejadian.
4. Multi-valued Attribute, yaitu atribut yang mempunyai beberapa nilai
untuk setiap kejadian. Misal entitas Branch memiliki beberapa nilai untuk
atribut telpNo pada setiap kejadian.
5. Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari
satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu
entitas.
2.1.10.4 Keys
Macam-macam keys adalah sebagai berikut: (Connoly dan Begg, 2005,
p353).
1. Super Key : Atribut unik yang mengidentifikasikan row.
2. Candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah
minimal atribut-atribut yang dapat mengidentifikasikan setiap
kejadian/record secara unik.
3. Primary Key : Atribut unik yang mengidentifikasikan setiap row dalam
table. Candidate Key yang dipilih untuk mengidentifikasikan setiap
kejadian/record dari suatu entitas secara unik.
4. Alternate Key : Candidate Key yang tidak terpilih menjadi Primary Key.
44
5. Composite Key : Candidate Key yang terdiri dari dua atau lebih atribut.
6. Foreign Key : Atribut sebuah tabel yang menggabungkan diri ke tabel
lain.
2.1.10.5 Structural Constraint
Batasan utama pada relationship disebut multiplicity, yaitu jumlah (atau
range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke
satu kejadian dari entitas lain yang berhubungan melalui suatu relationship.
Menurut Connoly dan Begg (2005, p356), jenis batasan multiplicity
terdiri dari:
• One to one relationship
Hubungan ini terjadi apabila satu record di sebuah tabel menunjuk hanya
satu record di tabel lain. Contoh seperti gambar di bawah ini. Dapat
dilihat bahwa satu customer hanya dapat menunjuk ke satu order
demikian juga sebaliknya.
Gambar 2.9 One to one relationship diagram
45
• One to many relationship
Hubungan ini terjadi apabila sebuah record di tabel A menunjuk banyak
record di tabel B, tetapi tabel B hanya dapat ditunjuk oleh sebuah record
dari tabel A. Contoh seperti gambar di bawah ini. Dapat dilihat bahwa
tabel Customer dapat menunjuk beberapa ContactMoment tapi sebuah
ContactMoment hanya dapat ditunjuk oleh sebuah Customer.
Gambar 2.10 One to many relationship diagram
• Many to many relationship
Hubungan ini membutuhkan tabel pembantu untuk membantu hubungan
antara dua tabel yang memiliki hubungan many to many. Dalam
hubungan many to many, tiap tabel dapat menunjuk beberapa record di
tabel lain. Contoh seperti gambar di bawah ini.
46
Gambar 2.11 Many to many relationship diagram
2.1.11 Metodologi Sistem Basis Data
Menurut Connoly dan Begg (2002, p417 – 476), metodologi perancangan sistem
basis data terbagi menjadi 3 tahapan, yaitu :
1. Perancangan Konseptual
2. Perancangan Logical
3. Perancangan Fisikal
2.1.11.1 Perancangan Konseptual
Langkah awal dalam basis data konseptual adalah membuat model data
dari informasi-informasi mengenai perusahaan. Data yang ada dikembangkan
dengan representasi secara konseptual yang mencakup mengidentifikasi entity,
relationship, dan atribut yang secara keseluruhan bebas dari detail implementasi
seperti DBMS yang digunakan, program aplikasi, bahasa pemrograman, platform
untuk hardware, tingkat kinerja, maupun bentuk pertimbangan fisik lainnya.
47
Langkah - langkah dalam membuat model data konseptual :
1.1: Mengidentifikasikan tipe-tipe dari entitas.
Langkah pertama dalam membangun suatu model data local konseptual
adalah untuk mendefinisikan objek utama dimana user memang
membutuhkannya. Salah satu metode untuk mengidentifikasi tipe entitas
adalah dengan mengidentifikasi kata benda atau frase kata benda yang telah
disebutkan oleh pengguna.
1.2: Mengidentifikasikan tipe-tipe dari relationship.
Pada tahap ini dilakukan identifikasi relasi yang penting antara berbagai
tipe entitas yang telah diidentifikasikan. Relasi diidentifikasikan dengan
menggunakan kata kerja atau frase kata kerja. Namun harus diperhatikan
relasi yang kompleks yang melibatkan lebih dari dua entitas dan relasi
recursive yang hanya melibatkan satu entitas.
1.3: Mengidentifikasikan dan menghubungkan atribut dengan tipe-tipe entitas
atau relationship.
Pada langkah ini, atribut dengan entitas atau tipe relasi yang sesuai saling
dihubungkan.
1.4: Menentukan domain dari atribut.
Definisi Domain adalah penampung dari nilai yang dapat ditampung oleh
atribut. Tujuan dari langkah ini adalah untuk menentukan domain dari
atribut yang ada dalam model data lokal konseptual.
48
1.5: Menentukan atribut-atribut, candidate key, dan primary key.
Tujuan dari langkah ini adalah untuk mengidentifikasi candidate key dari
setiap tipe entitas. Jika terdapat lebih dari satu candidate key, pilih salah
satunya menjadi primary key. Acuan dalam memilih suatu primary key di
antara banyak candidate key, antara lain :
a. Merupakan candidate key dengan jumlah set paling sedikit.
b. Merupakan candidate key yang nilainya jarang sekali berubah.
c. Merupakan candidate key dengan jumlah karakter paling sedikit.
d. Merupakan candidate key dengan jumlah paling sedikit dari nilai
maksimumnya (untuk tipe atribut dengan tipe numerik).
e. Merupakan candidate key yang paling mudah digunakan dari sudut
pandang pengguna.
1.6: Pertimbangkan penggunaan konsep enchanced modeling (optional step)
Langkah ini mempunyai sifat optional (pilihan), kita dapat
mempertimbangkan untuk menggunakan enhanced modeling, seperti
specialization, generalization, aggregation, dan composition.
1.7: Periksa model dan redudancy.
Tujuan dari langkah ini adalah untuk mengecek ada atau tidaknya
redudansi dalam model basis data. Apabila ditemukan adanya redudansi
maka redudansi dapat dihilangkan dengan dua langkah berikut:
a. Menguji kembali hubungan one-to-one.
b. Menghilangkan relasi redudansi.
49
1.8: Memvalidasi model konseptual lokal terhadap transaksi pengguna.
Tujuan dari langkah ini adalah untuk memeriksa apakah model konseptual
mendukung transaksi yang dibutuhkan. Pemeriksaan dapat dilakukan
dengan menggunakan dua pendekatan, antara lain:
a. Mendeskripsikan transaksi.
b. Menggunakan alur transaksi.
1.9: Melihat kembali data model konseptual lokal dengan pengguna.
Pada langkah ini dilakukan peninjauan ulang terhadap model data
konseptual termasuk ER bersama pengguna untuk memastikan bahwa
model yang ada sesuai dengan yang diminta. Jika terjadi perbedaan
(anomaly), maka harus dilakukan perubahan.
2.1.11.2 Perancangan Logical
Dalam perancangan basis data logikal dilakukan proses pembentukan
model dari informasi yang digunakan dalam enterprise berdasarkan model data
tertentu (misal : relasional) tetapi independen terhadap DBMS tertentu dan aspek
fisik lainnya.
Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan
dipetakan kedalam model data logikal. Model basis data logical merupakan
sumber informasi dalam merancang basis data fisikal dan sebagai sarana yang
membantu para perancang dalam merancang basis data fisikal.
50
Langkah langkah dalam membuat model data logical :
2.1: Hilangkan fitur-fitur yang tidak kompatibel dengan model relasional
(optional step).
a. Menghilangkan relasi binary many-to-many (*.*).
b. Menghilangkan relasi tipe rekursif many-to-many (*.*).
c. Menghilangkan relesai tipe kompleks.
d. Menghilangkan attribute multivalue.
2.2: Menurunkan relasi-relasi untuk data model logikal lokal.
Tujuan dari langkah ini adalah untuk membuat suatu relasi model data
logikal yang merepresentasikan suatu entitas, relasinya dan juga atribut
yang telah diidentifikasikan.
Langkah ini mendeskripsikan bagaimana relasi diperoleh untuk struktur
yang mungkin terjadi dalam model basis data konseptual seperti :
a. Tipe entitas kuat (Strong entity type).
Tipe entitas yang kuat, yaitu entitas yang mempunyai atribut kunci.
b. Tipe entitas lemah (Weak entity type).
Tipe entitas yang lemah, yaitu entitas yang tidak mempunyai atribut
kunci.
c. One-to-many (1:* ) tipe relasi binary.
Relasi dimana setiap entity yang ada dapat mempunyai satu relasi atau
lebih dari satu entity dengan entity yang lain.
51
Gambar 2.12 Relasi one-to-many
Dari gambar tersebut notasi multiplicity-nya dengan gambar berikut :
Gambar 2.13 Notasi relasi one-to-many
d. One-to-one (1:1) tipe relasi binary.
Gambar 2.14 Relasi one-to-one
52
Dari gambar tersebut notasi multiplicity-nya dengan gambar berikut :
Gambar 2.15 Notasi relasi one-to-one
e. One-to-one (1:1) tipe relasi recursive.
f. Superclass / subclass tipe relasi.
g. Many-to-many tipe relasi binary.
Gambar 2.16 Relasi many-to-many
53
Dari gambar tersebut notasi multiplicity-nya dengan gambar berikut :
Gambar 2.17 Notasi many-to-many
h. Tipe relasi kompleks.
i. Atribut multi-valued.
2.3: Memvalidasikan relasi-relasi menggunakan normalisasi.
Tujuan dari langkah ini adalah untuk memvalidasi relasi dalam model data
logikal dengan menggunakan teknik dari normalisasi.
2.4: Memvalidasikan relasi-relasi terhadap transaksi pengguna.
Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam
model data logikal mendukung transaksi yang dibutuhkan oleh pengguna.
2.5: Menentukan integrity constraint.
Yang dimaksud dengan Integrity Constraint adalah berisi aturan-aturan
atau batasan-batasan untuk terlaksananya integritas data. Dengan demikian,
batasan ini mampu melindungi database dari kerusakan.
Terdapat 6 tipe integrity constraint :
a. Data yang dibutuhkan (Required Data).
b. Batasan domain atribut.
c. Integritas entitas (Intity integrity, primary key tidak boleh null).
54
d. Integritas referensi (Referential integrity, foreign key pada suatu entity
harus sesuai dengan candidate key pada entity lain).
e. Batasan umum (General Constraint, merupakan aturan tambahan yang
dibuat oleh seorang Database Administrator dari basis data tersebut).
2.6 : Melihat kembali data model logikal lokal dengan pengguna.
Tujuan dari langkah ini untuk memastikan bahwa model yang telah dibuat
sesuai dengan representasi pengguna yang sebenarnya mengenai kebutuhan
data perusahaan.
2.7 Menggabungkan model data logical ke dalam model data global.
Dilakukan penggabungan model data logical local secara keseluruhan
menjadi sebuah model data logical global tunggal yang merepresentasikan
semua user view dari basis data.
2.8 Validasi Model Data Logikal Global.
Valisadi relasi yang dihasilkan dari model data logical global dengan
menggunakan teknik normalisasi.
2.9 Memeriksa perkembangan yang akan datang.
Memastikan apakah akan ada perubahan yang signifikan yang dapat
diperkirakan dan apakah model data logikal tersebut dapat mendukung
perubahan tersebut.
2.10 Me-review model data logikal dengan pengguna.
Melakukan review model data logikal global dengan pengguna untuk
memastikan apakah model tersebut menjadi true representation dari data
perusahaan.
55
2.1.11.3 Perancangan Fisikal
Perancangan basis data fisikal merupakan konstruksi penjelasan
implementasi basis data pada secondary storage, menguraikan basis relasi,
organisasi file, merancang index, integrity, dalam peralatan atau mekanisme
security.
Perancangan basis data fisikal merupakan tahap akhir dari proses
perancangan basis data, dimana tahapan ini menjelaskan bagaimana perancangan
secara fisikal dapat diimplementasikan berdasarkan hasil perancangan logikal.
Untuk model relasional, hal ini meliputi:
1. Membuat satu set tabel relasional dan batasan (constraints) dalam
tabel yang didapat dari data model logikal.
2. Mengidentifikasi struktur penyimpanan secara spesifik dan metode
akses data untuk kinerja yang optimal dalam sistem basis data.
3. Merancang proteksi keamanan untuk sistem.
Perancangan basis data konseptual dan logikal untuk sistem yang lebih
besar harus dipisahkan dari perancangan basis data fisikal, dikarenakan beberapa
alasan, yaitu:
1. Berhubungan dengan masalah subjek yang berbeda – ’the what’, not
the ’how’;
2. Dilakukan dengan waktu yang berbeda – the ’what’ must be
understood before the ’how’ dan be determined;
3. Membutuhkan kemampuan (skill) yang berbeda, dimana sering
ditemukan pada orang yang berbeda.
56
Berikut ini merupakan langkah-langkah dalam merancang basis data
fisikal:
3.1: Menterjemahkan model data logikal global untuk sasaran DBMS
Tujuan dari langkah ini adalah untuk menghasilkan skema basis data
relasional untuk model data logikal global yang dapat diimplementasikan
pada sasaran DBMS.
3.2 Merancang relasi dasar (base relations)
Tujuannya adalah untuk memutuskan bagaimana merepresentasikan relasi
dasar yang diidentifikasikan dalam model data logika global pada sasaran
DBMS.
Untuk setiap relasi yang diidentifikasikan dalam model data logika global,
kita memiliki definisi yang terdiri dari :
1. Nama relasi
2. Daftar dari simple attribute dalam tanda kurung
3. Primary key (PK) dan, jika perlu, alternate key (AK) dan
foreign key (FK)
4. Daftar dari setiap atribut yang diperoleh dan bagaimana
dikomputasikan
5. Batasan integritas referensial untuk foreign key yang
diidentifikasikan
Dari kamus data, untuk setiap atribut juga didapatkan :
1. Domain, terdiri dari tipe data, panjang, dan setiap batasan dari
domain
57
2. Pilihan nilai default untuk atribut
3. Apakah atribut boleh berupa null
3.3 Merancang representasi dari data yang diperoleh (derived data)
Tujuannya untuk memutuskan bagaimana merepresentasikan derived data
yang ada dalam model data logikal global pada sasaran DBMS.
Atribut yang nilainya dapat ditemukan dengan menguji nilai dari atribut
yang lain dikenal sebagai derived atau calculated attributes.
3.4 Merancang batasan perusahaan
Tujuannya untuk merancang batasan perusahaan untuk target DBMS.
3.4 Merancang organisasi file dan indexes
Tujuan dari langkah ini adalah untuk menentukan organisasi file yang
optimal untuk menyimpan relasi dasar (base relation) dan index yang
diperlukan untuk mendapatkan kinerja yang dapat diterima, yaitu
bagaimana relasi dan tuples akan disimpan dalam penyimpanan sekunder
(secondary strorage).
3.5 Menganalisa transaksi
Tujuannya adalah untuk memahami kegunaan dari transaksi yang akan
dijalankan pada basis data dan untuk menganalisa transaksi yang penting.
Dalam menganalisa transaksi, kita berusaha untuk mengidentifikasikan
kriteria kinerja, seperti :
1. Transaksi yang sering dilakukan dan akan memiliki pengaruh
yang significant pada kinerja.
2. Transaksi yang kritikal terhadap operasi bisnis
58
3. Waktu selama satu hari/minggu dimana akan ada permintaan
yang tinggi terhadap basis data (dinamakan peak load).
3.6 Memilih organisasi file
Tujuannya untuk menentukan sebuah organisasi file yang efisien untuk
setiap relasi dasar (base relations).
Untuk membantu memahami organisasi file pada setiap relasi, terdapat
petunjuk untuk memilih sebuah organisasi file berdasarkan tipe file berikut:
1. Heap
2. Hash
3. Indexed Sequential Access Method (ISAM)
4. B-tree
5. Clusters
3.7 Memilih index
Tujuannya untuk menentukan apakah menambahkan index akan
meningkatkan kinerja dari sistem.
Pada kasus ini, pilih atribut untuk mengurutkan atau mengelompokkan
tuple sebagai :
1. Atribut yang paling sering digunakan pada operasi join, karena
atribut ini membuat operasi join lebih efisien, atau
2. Atribut yang paling sering digunakan untuk mengakses tuple
dalam sebuah relasi untuk atribut tersebut.
59
3.8 Menghitung kebutuhan disk space
Tujuannya untuk memperkirakan jumlah dari disk space yang akan
diperlukan oleh basis data. Merupakan sebuah kebutuhan bahwa
implementasi basis data dapat ditangani oleh konfigurasi perangkat keras
yang sedang digunakan. Tujuan dari tahapan ini adalah untuk
memperkirakan jumlah dari disk space yang diperlukan untuk mendukung
implementasi basis data pada penyimpanan sekunder.
3.9 Merancang user view
Tujuan dari langkah ini adalah untuk merancang pandangan user yang
diidentifikasikan selama pengumpulan kebutuhan dan menganalisa tahapan
dari siklus hidup aplikasi basis data relasional.
3.10 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan
bagi basis data sebagaimana yang dispesifikasikan oleh user.
Mekanisme keamanan basis data adalah suatu mekanisme yang
memproteksi basis data dari suatu kejadian yang disengaja maupun yang
tidak disengaja (Connolly dan Begg, 2005, p542).
Suatu basis data merupakan sumber dari perusahaan yang penting yang
perlu dilindungi dengan suatu kontrol yang memadai. Beberap issue
keamanan basisdata yang perlu diperhatikan antara lain :
1. Pencurian data (Theft and Fraud)
2. Kehilangan kerahasiaan suatu data (Loss of Confidentiality)
3. Kehilangan hak pribadi (Loss of Privacy)
60
4. Kehilangan integritas (Loss of Integrity)
5. Kehilangan ketersediaan data (Loss of Availability)
Hasil akhir dari perancangan basis data fisikal adalah suatu proses yang
mendeskripsikan suatu implementasi basis data pada media penyimpanan.
Ini menggambarkan suatu relasional dan struktur penyimpanan serta
metodologi pengaksesan data oleh user yang efisien, selama memenuhi
batasan integritas dan mekanisme keamanan.
2.1.12 Normalisasi
2.1.12.1 Pengertian Normalisasi
Normalisasi adalah teknik untuk menghasilkan kumpulan relasi
dengan properti yang diinginkan, sesuai dengan kebutuhan data perusahaan
(Connolly, 2005, p388). Normalisasi merupakan sebuah teknik untuk
memproduksi sejumlah relasi dengan properties yang didapat dari analisis dan
kebutuhan perusahaan.
Tujuan dari pembutatan normalisasi adalah :
1. Mengurangi terjadinya rangkap data (redudancy data)
2. Menghindarkan adanya data yang tidak konsisten terutama bila terjadi
penambahan, penghapusan data sebagai akibat adanya data rangkap
3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua
atribut.
61
2.1.12.2 Bentuk-bentuk Normalisasi
Hubungan diantara bentuk normal (normal form) menurut Connolly
(2005, p401-422) adalah sebagai berikut :
Sumber : Database System 4th Edition-Thomas Connolly and Carolyn Begg
Gambar 2.18 Diagram ilustrasi hubungan di antara normal forms
Di dalam gambar 2.18 ditunjukkan bahwa beberapa relasi dari 1NF
adalah juga memenuhi 2NF dan beberapa relasi dari 2NF juga memenuhi 3NF.
Setiap BCNF merupakan 3NF, tetapi 3NF belum tentu memenuhi BCNF. Kita
memulai proses normalisasi ini dengan mentransfer data secara initial yang
berada di form ke dalam tabel format dengan baris-baris dan kolom-kolom.
Berikut ini merupakan penjelasan dari bentuk-bentuk normal form,
yaitu:
1. Unnormalized Form (UNF)
a. Merupakan suatu tabel yang berisikan satu atau lebih groups yang
berulang (repeating group).
62
b. Membuat tabel unnormalized yaitu dengan memindahkan data dari
sumber informasi kedalam format tabel dengan baris dan kolom.
2. First Normal Form (1NF)
a. Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom
berisikan satu dan hanya satu nilai.
b. UNF ke 1NF
1. Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel
unnormalized.
2. Identifikasikan groups yang berulang dalam tabel unnormalized
yang berulang untuk kunci atribut.
3. Hapus group yang berulang dengan cara :
a. Masukkan data yang semestinya kedalam kolom yang kosong
pada baris yang berisikan data yang berulang (flattening the
table), atau dengan cara
b. Menggantikan data yang ada dengan copy dari kunci atribut
yang sesungguhnya kedalam relasi terpisah.
3. Second Normal Form (2NF)
a. Berdasarkan pada konsep full functional dependency, yaitu A dan B
merupakan atribut dari sebuah relasi, B dikatakan fully dependent
terhadap A jika B functionally dependent pada A tetapi tidak pada
proper subset dari A.
b. 2NF, merupakan sebuah relasi dalam 1NF dan setiap atribut non-
primary-key bersifat fully functionally dependent pada primary key.
63
c. 1NF ke 2NF
1. Identifikasikan primary key untuk relasi 1NF.
2. Identifikasikan functional dependencies dalam relasi.
3. Jika terdapat partial dependencies terhadap primary key, maka
hapus dengan menempatkannya dalam relasi yang baru bersama
dengan salinan determinannya.
4. Third Normal Form (3NF)
a. Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi
dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A
→ B dan B → C, maka C transitively dependent pada A melalui B.
(Jika A tidak functionally dependent pada B atau C).
b. 3NF, adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak
terdapat atribut non-primary-key atribut yang bersifat transitively
dependent pada primary key.
c. 2NF ke 3NF
1. Identifikasikan primary key dalam relasi 2NF.
2. Identifikasikan functional dependencies dalam relasi.
3. Jika terdapat transitive dependencies terhadap primary key, hapus
dengan menempatkannya dalam relasi yang baru bersama dengan
salinan determinannya.
5. Boyce-Codd Normal Form (BCNF)
a. Berdasarkan pada functional dependencies yang dimasukan kedalam
hitungan seluruh candidate key dalam suatu relasi, bagaimanapun
64
BCNF juga memiliki batasan-batasan tambahan disamakan dengan
definisi umum dari 3NF.
b. Suatu relasi dikatakan BCNF, jika dan hanya jika setiap determinan
merupakan candidate key.
c. Perbedaan antara 3NF dan BCNF yaitu untuk functional dependency A
→ B, 3NF memungkinkan dependency ini dalam suatu relasi jika B
adalah atribut primary-key dan A bukan merupakan candidate key.
d. Sedangkan BCNF menetapkan dengan jelas bahwa untuk dependency
ini agar ditetapkan dalam relasi maka A harus merupakan candidate
key.
e. Setiap relasi dalam BCNF juga merupakan 3NF, tetapi relasi dalam
3NF belum tentu termasuk kedalam BCNF.
6. Fourth Normal Form (4NF)
Normalisasi keempat merupakan sebuah relasi dalam BCNF dan
dilakukan untuk menghilangkan multi-valued dependency.
7. Fifth Normal Form (5NF)
Normalisasi kelima merupakan sebuah relasi yang tidak mempunyai
join dependency.
Bentuk normal pertama hingga ketiga merupakan bentuk normal
yang umum dipakai. Artinya, bahwa pada kebanyakan relasi bila ketiga
bentuk normal tersebut telah dipenuhi maka persoalan anomali tidak akan
muncul lagi. Bentuk normal Boyce-Codd merupakan revisi terhadap bentuk
normal ketiga. Bentuk normal 4NF dan 5NF hanya dipakai pada kasus-
65
kasus khusus, yakni pada relasi yang mengandung ketergantungan banyak
nilai.
2.1.13 Internet
2.1.13.1 Pengertian Internet
Internet atau Interconnection Networking adalah jaringan besar yang
menghubungkan jaringan komputer dari bisnis, organisasi, lembaga pemerintah,
dan sekolah di seluruh dunia, dengan cepat, langsung, dan hemat. (Turban,
Rainer dan Potter, 2005, p674)
2.1.13.2 Sejarah Internet
Pada tahun 1957, Uni Soviet berhasil meluncurkan satelit pertama ke
orbit. Hal ini direspon dengan pembentukan Advanced Research Projects Agency
(ARPA) oleh Departemen Pertahanan Amerika Serikat (Department of Defense).
Pada saat itu, Amerika Serikat dan Uni Soviet sedang berlomba - lomba dalam
persenjataan nuklir.
Pada tahun 1962, Paul Baran menulis mengenai jaringan “packet
switching” yang dapat selamat dari serangan nuklir. Tidak seperti jaringan point
to point, sebuah jaringan packet switching akan memiliki banyak rute dari satu
tempat ke tempat lain.
Karena latar belakang perlombaan senjata nuklir, maka pada tahun 1965,
ARPA mensponsori penelitian jaringan komputer packet switching dengan
harapan dapat membangun suatu jaringan komando yang dapat diperintah atau
66
dijalankan dari seluruh penjuru Amerika Serikat. Pada tahun 1969, empat node
ARPANET pertama terbentuk. Departemen Pertahanan merancang jaringan ini
agar dapat terus mentransmisikan data walaupun sebagian jaringan hancur karena
perang nuklir. Empat node ini adalah cikal bakal internet.
Internet kemudian semakin berkembang. E-mail diperkenalkan pada
tahun 1972. Pada tahun 1982, Transmission Control Procotol / Internet Protokol
(TCP/IP) mulai dipakai pada ARPANET. Pada tahun 1984, National Science
Foundation menciptakan NSFnet yang menghubungkan banyak universitas
dengan internet. Proyek World Wide Web mulai diusulkan pada tahun 1989 dan
pada tahun 1990 ARPANET berakhir, NSFnet adalah jaringan utama (backbone)
internet pada saat itu.
Pada tahun 1992, World Wide Web diciptakan. Pada saat itu, terdapat
lebih dari satu juta komputer terhubung ke internet. Pada tahun 1995, World
Wide Web menjadi bagian internet yang paling populer.
2.1.13.3 World Wide Web (WWW)
World Wide Web adalah sistem dengan standar yang diterima secara
universal untuk menyimpan, menelusuri, memformat, dan menampilkan
informasi melalui arsitektur client/server; menggunakan fungsi – fungsi
transport dari internet. (Turban, Rainer dan Potter, 2005, p680)
67
2.1.13.4 Internet Protocol
Protokol yang digunakan pada internet ialah Transmission Control
Protocol / Internet Protocol (TCP/IP). Menurut Suryadi (1997, p24-25) ada dua
komponen yang perlu diketahui dari Internet dengan protokol TCP/IP, yaitu :
1. Nomor IP
Setiap komputer yang terkoneksi ke Internet memiliki nomor identifikasi
yang unik (ID) agar dapat membedakannya dari komputer lain, disebut
nomor IP. Nomor ini terdiri dari empat digit, w.x.y.z di mana w, x, y, z
bervariasi antara 0 dan 225. Dengan nomor IP ini setiap host atau
komputer yang terkoneksi ke Internet dapat teridentifikasi.
2. Nama Domain
Metode Penomoran dengan menggunakan angka tidak begitu disukai,
karena kita sulit mengingatnya. Umumnya orang mudah mengingat nama
dibandingkan angka. Alasan ini yang memotivasi untuk memakai metode
penggunaan nama yang mengingatnya dengan nomor IP, disebut DNS
(Domain Name System). Metode ini dijadikan standar. Nama domain
terdiri dari beberapa bagian yang dipisahkan dengan titik.
Tabel 2.2 Domain yang Umum Dipakai.
Nama Domain Jenis Website / Organisasi
.com Komersial (commercial)
.edu Pendidikan (educational)
68
Nama Domain Jenis Website / Organisasi
.ac Akademis (academic)
.gov / .go Pemerintahan (governmental)
.mil Militer (military)
.net Layanan jaringan (network provider)
.co Perusahaan (corporate)
.org Organisasi lainnya
Nama konversi nama di atas tidak mengikat, karena tetap akan dikaitkan
dengan sebuah nomor IP. Komputer yang bertugas untuk menerjemahkan
kembali nama domain menjadi nomor IP disebut dengan DNS server.
2.1.14 Sistem Berbasis Web
Sistem berbasis web merupakan sistem yang digunakan berupa urutan rangkaian
instruksi dan harus dijalankan berdasarkan jaringan tertentu dalam suatu aplikasi. Web
adalah sistem dengan standar yang diterima secara universal untuk menyimpan,
menelusuri, memformat, dan menampilkan informasi melalui arsitektur klien/server.
Web bisa menerima semua jenis informasi digital, termasuk teks, hypermedia, grafis,
dan suara. Web menggunakan antarmuka pengguna grafis, sehingga mudah digunakan.
(Turban, Rainer dan Potter, 2005, p680-681)
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 yang sama atau yang
69
berbeda. Penawaran informasi melalui web memerlukan adanya home page, yang
merupakan tampilan layar grafis dan teks yang biasanya menyambut pengguna dan
menjelaskan organisasi yang memuat halaman tersebut. Dalam kebanyakan kasus, home
page mengarahkan pengguna ke halaman-halaman lainnya.
Untuk mengakses situs Web, pengguna harus menentukan uniform resource
locator (URL), yag mengarahkan ke alamat dari sumber tertentu di web. Misalnya URL
untuk microsoft 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.
Pengguna umumnya mengakses web melalui aplikasi peranti lunak yang disebut
browser. Browser menyediakan tampilan grafis yang memungkinkan pengguna untuk
menunjuk dan meng-klik bagian yang diinginkanya di web. Proses ini disebut surfing.
Browser web menjadi sarana akses universal karena mengirimkan antarmuka yang sama
pada semua sistem operasi yang dijalankan.
2.1.15 PHP dan MySQL
2.1.15.1 PHP
Menurut Welling (2001, p2), PHP adalah sebuah scripting pada
lingkungan server yang dirancang khusus untuk web. Kode PHP dapat disatukan
dalam page yang berisikan tag-tag HTML dan akan dieksekusi setiap halaman
tersebut diakses. Kode-kode PHP yang telah dibuat akan diinterpretasikan oleh
web server yang kemudian menghasilkan tag-tag HTML atau output lainnya
yang akan dibaca oleh user.
70
Sebuah website yang terbuat dari susunan tag-tag HTML bersidat statis.
Dengan adanya PHP ini dapat dirancang suatu website yang bersifat dinamis
bahkan dapat bersidat interaktif.
Beberapa keunggulan PHP dibandingkan dengan beberapa bahasa
scripting lainnya adalah sebagai berikut :
• PHP mendukung abnyak sistem basis data, seperti MySQL, PostgreSQL,
Oracle, Informix, Interbase dan lain-lain.
• PHP bersifat cross platform, artinya dapat dipakai di hampir semua web
server seperti Apache, AOL Server, dan Microsoft Internet Information
Service. Selain itu, PHP juga dapat dijalankan di berbagai sistem operasi,
seperti LINUX, UNIX, maupun di berbagai versi Microsoft Windows.
• PHP adalaha program yang bersifat open source sehingga siapapun dapat
mengubah maupun menambahkan fungsi-fungsi baru secara bebas. Oleh
karena itu, PHP memiliki siklus hidup yang singkat (selalu up to date)
mengikuti perkembangan teknologi internet.
2.1.15.2 MySQL
MySQL adalah basis data server relasional yang gratis di bawah linsensi
GNU (General Public Licensce). MySQL bersifat open source. MySQL
merupakan basis data server multi user dan multi threaded yang tangguh.
MySQL biasanya menjadi pilihan untuk para pengguna PHP (Utdirartatmo,
2002, p1).
71
MySQL adalah suatu sistem manajemen basis data. Suatu basis data
adalah sebuah kumpulan data yang terstruktur yang disimpan dengan suatu cara
yang memudahkan pengambilan kembali. Untuk menambahkan, mengakses, dan
memproses data yang tersimpan pada suatu basis data komputer diperlukan suatu
sistem manajemen basis data seperti MySQL.
Sistem manajemen basis data memainkan peranan yang penting dalam
komputasi. MySQL adalah suatu sistem manajemen basis data relasional
(RDBMS). Data dalama suatu basis data relasional disimpan dalam tabel-tabel
terpisah di mana semua relasi antara data-datda tersebut direpresentasikan
dengan suatu nilai pada tabel yang berhubungan. Hal ini menyebabkan adanya
kemungkinan penambahan kecepatan dan fleksibilitas. Tabel-tabel tersebut
terhubung dengan suatu relasi yang telah didefinisikan dan memungkinkan
pengkombinasian dari beberapa tabel sesuai dengan permintaan.
Beberapa ciri utama dari MySQL antara lain:
• Full multi-threaded dengan kernel threads, memungkinkan untuk
menggunakan beberapa CPU.
• Beroperasi pada banyak platform yang berbeda.
• Fungsi SQL diimplementasikan melalui kelas pustaka yang dioptimasikan.
• Mampu menangani basis data berukuran besar sekitar 50.000 record dan
60.000 tabel.
72
2.1.16 Eight Golden Rules of Interface Design (8 Aturan Emas Desain Tampilan
Pengguna)
Shneiderman mengemukakan 8 (delapan) aturan yang dapat digunakan sebagai
petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan ini
disebut dengan Eight Golden Rules of Interface Design, yaitu:
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang
digunakan pada prompt, menu, serta layar bantuan.
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan
kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah
tersembunyi, dan fasilitas makro.
3. Memberikan umpan balik yang informative
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan
balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat
diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal
yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul
suatu suara ketika salah menekan tombol pada waktu input data atau muncul
pesan kesalahannya.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan
bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan
73
indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan
kelompok tindakan berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat
melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi
kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah
dipahami untuk penanganan kesalahan.
6. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna
mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak
takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.
7. Mendukung tempat pengendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon
tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem
mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga
pengguna menjadi inisiator daripada responden.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana
atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup
waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.
74
2.2 Terminologi Dalam Bidang Pembelian, Persediaan, dan Penjualan
2.2.1 Pembelian
Menurut Webster dan Wind (2005, p238), pembelian merupakan proses
pengambilan keputusan yang dilakukan oleh organisasi formal untuk menetapkan
kebutuhan akan barang dan jasa yang perlu dibeli serta mengidentifikasi, mengevaluasi,
dan memilih alternatif antarmerek dan pemasok.
Pembelian adalah kegiatan yang digunakan dalam perusahaan untuk pengadaan
barang yang diperlukan oleh perusahaan. (Mulyadi, 2001, p299).
Maka, dapat disimpulkan bahwa pembelian merupakan pertukaran sejumlah atau
setara dengan nilai uang atau alat tukar-menukar lainnya untuk mendapatkan
hasil(barang/jasa) yang merupakan kebutuhan yang diperlukan.
2.2.1.1 Fungsi yang terkait dalam pembelian
Fungsi yang terkait dengan sistem akuntansi pembelian adalah (Mulyadi,
2001, p299-300) :
1. Fungsi Gudang
Dalam sistem akuntansi pembelian, fungsi gudang bertanggung jawab
untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan
yang ada di gudang dan untuk menyimpan barang yang telah diterima
oleh fungsi penerimaan. Untuk barang-barang yang langsung pakai (tidak
diselenggarakan persediaan barang di gudang), permintaan pembelian
diajukan oleh pemakai barang.
75
2. Fungsi Pembelian
Fungsi pembelian bertanggung jawab untuk memperoleh informasi
mengenai harga barang, menentukan pemasok yang dipilih dalam
pengadaan barang, dan mengeluarkan order pembelian kepada pemasok
yang dipilih.
3. Fungsi Penerimaan
Dalam sistem akuntansi pembelian, fungsi ini bertanggung jawab untuk
melakukan pemeriksaan terhadap jenis, mutu, dan kuantitas barang yang
diterima dari pemasok guna menentukan dapat atau tidaknya barang
tersebut diterima oleh perusahaan. Fungsi ini juga bertanggung jawab
untuk menerima barang dari pembeli yang berasal dari transaksi retur
penjualan.
4. Fungsi Akuntansi
Fungsi akuntansi yang terkait dalam transaksi pembelian adalah fungsi
pencatatan persediaan. Dalam sistem akuntansi pembelian, fungsi
pencatat persediaan bertanggung jawab untuk mencatat harga pokok
persediaan barang yang dibeli ke dalam kartu persediaan.
2.2.1.2 Jaringan prosedur yang membentuk sistem pembelian
Prosedur pembelian dilaksanakan melalui beberapa bagian dalam
perusahaan bagian-bagian yang terkait dalam prosedur ini adalah bagian
pembelian, penerimaan barang, hutang, dan gudang. Jaringan prosedur yang
membentuk sistem akuntansi pembelian adalah (Mulyadi, 2001, p301-303) :
76
a. Prosedur permintaan pembelian
Dalam prosedur ini fungsi gudang mengajukan permintaan pembelian
dalam formulir surat permintaan pembelian kepada fungsi pembelian.
Jika barang tidak disimpan di gudang, misalnya untuk barang langsung
pakai, fungsi yang memakai barang mengajukan permintaan pembelian
langsung ke fungsi pembelian dengan menggunakan surat permintaan
pembelian.
b. Prosedur permintaan penawaran harga dan pemilihan pemasok
Dalam prosedur ini fungsi pembelian mengirimkan surat permintaan
penawaran harga kepada pemasok untuk memperoleh informasi
mengenai harga barang dan berbagai syarat pembelian yang lain, untuk
memungkinkan pemilihan pemasok yang akan ditunjuk sebagai pemasok
barang yang diperlukan oleh perusahaan.
c. Prosedur order pembelian
Dalam prosedur ini fungsi pembelian mengirimkan surat order pembelian
kepada pemasok yang dipilih dan memberitahukan kepada unit-unit
organisasi lain dalam perusahaan, mengenai order pembelian yang sudah
dikeluarkan oleh perusahaan.
d. Prosedur penerimaan barang
Dalam prosedur ini fungsi penerimaan melakukan pemeriksaan mengenai
jenis, kualitas dan mutu barang yang diterima dari pemasok, dan
kemudian membuat laporan penerimaan barang untuk menyatakan
penerimaan barang dari pemasok tersebut.
77
e. Prosedur pencatatan hutang
Dalam prosedur ini fungsi akuntansi memeriksa dokumen-dokumen yang
berhubungan dengan pembelian dan menyelenggarakan pencatatan utang
atau mengarsipkan dokumen sumber sebagai catatan utang.
f. Prosedur distribusi pembelian
Prosedur ini meliputi distribusi rekening yang di debit dari transaksi
pembelian untuk kepentingan pembuatan laporan manajemen.
2.2.1.3 Dokumen pada sistem pembelian
Menurut Mulyadi (2001, p303) dokumen yang digunakan dalam sistem
akuntansi pembelian adalah :
1. Surat permintaan pembelian
Dokumen ini merupakan formulir yang diisi oleh fungsi gudang untuk
meminta fungsi pembelian melakukan pembelian barang dengan jenis,
jumlah, dan mutu seperti yang tersebut dalam surat permintaan
pembelian.
2. Surat permintaan penawaran harga
Dokumen ini digunakan untuk meminta penawaran harga bagi barang
yang pengadaannya tidak bersifat berulang kali terjadi (tidak repetitif),
yang menyangkut jumlah rupiah pembelian yang besar.
3. Surat order pembelian
Dokumen ini digunakan untuk memesan barang kepada pemasok yang
telah dipilih.
78
4. Laporan penerimaan barang
Dokumen ini dibuat oleh fungsi penerimaan untuk menunjukkan bahwa
barang yang diterima dari pemasok telah memenuhi jenis, spesifikasi,
mutu dan kuantitas seperti yang tercantum dalam surat order pembelian.
5. Surat perubahan order pembelian
Kadangkala diperlukan perubahan terhadap isi surat order pembelian
yang sebelumnya telah diterbitkan. Perubahan tersebut dapat berupa
perubahan kuantitas, jadwal penyerahan barang, spesifikasi, penggantian
atau hal lain yang bersangkutan dengan perubahan bisnis. Biasanya
perubahan tersebut diberitahukan kepada pemasok secara resmi dengan
menggunakan surat perubahan order pembelian.
6. Bukti kas keluar
Dokumen ini dibuat oleh fungsi akuntansi untuk dasar pencatatan
transaksi pembelian. Dokumen ini juga berfungsi sebagai perintah
pengeluaran kas untuk pembayaran utang kepada pemasok.
2.2.2 Persediaan
Epstein (2004, p208), persediaan merupakan asset (pengadaan barang) didalam
sebuah bisnis, atau yang sedang dalam proses produksi untuk penjualan tertentu, atau
dalam wujud material/pendukung untuk digunakan dalam proses produksi atau
pengembangan jasa.
Dalam perusahaan manufaktur, persediaan terdiri dari: persediaan produk jadi,
persediaan produk dalam proses, persediaan bahan baku, persediaan bahan penolong,
79
persediaan bahan habis pakai pabrik, dan persediaan suku cadang. Sedangkan dalam
perusahaan dagang, persediaan hanya terdiri dari satu golongan yaitu persediaan barang
dagangan, yang merupakan barang yang dibeli untuk tujuan dijual kembali (Dody
Hapsoro, 1993, p542).
Ada dua macam metode pencatatan persediaan (Mulyadi, 2001, p556) :
1. Metode mutasi persediaan (perpetual inventory method). Setiap mutasi persediaan
dicatat dalam kartu persediaan. Metode mutasi persediaan adalah cocok digunakan
dalam penentuan biaya bahan baku dalam perusahaan yang harga pokok produknya
dikumpulkan dengan metode harga pokok pesanan.
2. Metode persediaan fisik (physical inventory method). Hanya tambahan persediaan
dari pembelian saja yang dicatat, sedangkan mutasi berkurangnya persediaan karena
pemakaian tidak dicatat dalam kartu persediaan. Metode persediaan fisik cocok
digunakan dalam penentuan biaya bahan baku dalam perusahaan yang harga pokok
produknya dikumpulkan dengan metode harga pokok proses.
2.2.2.1 Fungsi yang terkait dalam persediaan
Fungsi-fungsi yang terkait dalam sistem persediaan adalah: (Dody
Hapsoro, 1993, p542)
1. Fungsi Perhitungan Fisik Persediaan
Fungsi akuntansi/pencatatan menghitung secara fisik jumlah persediaan
di dalam fungsi gudang guna mendapatkan data yang digunakan dalam
fungsi pembelian dan fungsi penjualan.
2. Fungsi Pencatatan Kartu Persediaan dan Biaya
80
Fungsi pencatatan merekam dokumen berupa kartu persediaan dan biaya
masing-masing produk persediaan. Data ini berguna dalam pembuatan
laporan dan digunakan dalam fungsi pembelian dan fungsi penjualan.
3. Fungsi Gudang
Fungsi gudang memasukkan stok produk ke dalam tempat penyimpanan
guna untuk dipergunakan atau dijual kembali.
2.2.2.2 Jaringan prosedur yang membentuk sistem persediaan
Tipe persediaan, transaksi yang mempengaruhi, sistem dan prosedur yang
berkaitan. (Mulyadi, 2001, p554-555)
Tabel 2.3 Tipe Persediaan, Transaksi yang
Mempengaruhi, Sistem dan Prosedur yang Berkaitan
Tipe persediaan Transaksi Sistem dan prosedur yang
bersangkutan
1. Persediaan produk
jadi
Produk selesai diproduksi
Penjualan
Retur penjualan
Prosedur pencatatan harga
pokok produk jadi
Prosedur pencatatan harga
pokok produk jadi yang
dijual
Prosedur pencatatan harga
81
Tipe persediaan Transaksi Sistem dan prosedur yang
bersangkutan
Perhitungan fisik
persediaan
pokok produk jadi yang
diterima kembali dari
pembeli
Sistem perhitungan fisik
persediaan
2. Persediaan produk
dalam proses
Produk selesai diproduksi
Readjustment
Perhitungan fisik
persediaan
Prosedur pencatatan produk
jadi
Prosedur readjustment
persediaan produk dalam
proses
Sistem perhitungan fisik
persediaan
3. Persediaan bahan
baku
Pembelian
Retur pembelian
Prosedur pencatatan harga
pokok persediaan yang dibeli
Prosedur pencatatan harga
pokok persediaan yang
82
Tipe persediaan Transaksi Sistem dan prosedur yang
bersangkutan
Pemakaian barang gudang
(dicatat sebagai biaya
bahan baku)
Pengembalian barang
gudang
Perhitungan fisik
persediaan
dikembalikan kepada
pemasok
Prosedur permintaan dan
pengeluaran barang gudang
Prosedur pencatatan
tambahan harga pokok
persediaan karena
pengembalian barang gudang
Sistem perhitungan fisik
persediaan
4. Persediaan bahan
penolong
Pembelian
Retur pembelian
Prosedur pencatatan harga
pokok persediaan yang dibeli
Prosedur pencatatan harga
pokok persediaan yang
dikembalikan kepada
pemasok
83
Tipe persediaan Transaksi Sistem dan prosedur yang
bersangkutan
Pemakaian barang gudang
(dicatat sebagai biaya
overhead pabrik
sesungguhnya)
Pengembalian barang
gudang
Perhitungan fisik
persediaan
Prosedur permintaan dan
pengeluaran barang gudang
Prosedur pencatatan
tambahan harga pokok
persediaan karena
pengembalian barang gudang
Sistem perhitungan fisik
persediaan
5. Persediaan bahan
habis pakai pabrik,
persediaan suku
cadang
Pembelian
Retur pembelian
Prosedur pencatatan harga
pokok persediaan yang dibeli
Prosedur pencatatan harga
pokok persediaan yang
dikembalikan kepada
pemasok
84
Tipe persediaan Transaksi Sistem dan prosedur yang
bersangkutan
Pemakaian barang gudang
(dicatat sebagai biaya
overhead pabrik
sesungguhnya, biaya
administrasi dan umum,
biaya pemasaran)
Pengembalian barang
gudang
Perhitungan fisik
persediaan
Prosedur permintaan dan
pengeluaran barang gudang
Prosedur pencatatan
tambahan harga pokok
persediaan karena
pengembalian barang gudang
Sistem perhitungan fisik
persediaan
2.2.2.3 Dokumen pada sistem persediaan
Dokumen yang digunakan dalam sistem perhitungan fisik persediaan
adalah: (Dody Hapsoro, 1993, p543)
1. Kartu perhitungan fisik (inventory tag). Dokumen yang mencatat hasil
jumlah persediaan barang.
85
2. Daftar hasil perhitungan fisik (inventory summary sheet). Dokumen yang
mencatat hasil persediaan barang secara keseluruhan dan rinci.
3. Bukti memorial. Dokumen-dokumen lainnya yang perlu untuk disimpan
dalam kebutuhan data persediaan.
2.2.3 Penjualan
Menurut Hadar (2001, p384), penjualan adalah pemindahan hak milik
atas barang (termasuk surat–surat berharga)/jasa sesuai dengan harga yang
disepakati dan dibayar.
Menurut Barata (2001, p46), penjualan merupakan suatu penyerahan
barang/jasa dengan memperoleh balas jasa berupa sejumlah uang yang
jumlahnya sama dengan harga yang ditetapkan untuk barang/jasa yang
diserahkan.
Jadi, dapat disimpulkan bahwa penjualan merupakan proses pemindahan
hak milik atas barang/jasa yang telah disepakati antara kedua belah pihak dengan
uang atau alat tukar-menukar lainnya sebagai media transaksi penjualan.
2.2.3.1 Fungsi yang terkait dalam penjualan
Fungsi yang terkait dalam sistem penjualan kredit adalah (Mulyadi,
2001, p211-213)
1. Fungsi Penjualan
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk
menerima surat order dari pembeli, mengedit order dari pelanggan untuk
86
menambahkan informasi yang belum ada pada surat order tersebut (
seperti spesifikasi barang dan rute pengiriman), meminta atorisasi kredit,
menentukan tanggal pengiriman dan dari gudang mana barang akan
dikirim, dan mengisi surat order pengiriman. Fungsi ini juga bertanggung
jawab untuk membuat “back order” pada saat diketahui tidak tersedianya
persediaan untuk membeli order dari pelanggan.
2. Fungsi Kredit
Fungsi ini berada di bawah fungsi keuangan dan dalam transaksi
penjualan kredit, bertanggung jawab untuk meneliti status kredit
pelanggan dan memberikan otorisasi pemberian kredit kepada pelanggan.
Karena hampir semua penjualan dalam perusahaan manufaktur
merupakan penjualan kredit, maka sebelum order dari pelanggan
dipenuhi, harus terlebih dahulu diperoleh otorisasi penjualan kredit dari
fungsi kredit. Jika penolakan pemberian kredit sering sekali terjadi,
pengecekan status kredit perlu dilakukan sebelum fungsi penjualan
mengisi surat order penjualan. Untuk mempercepat pelayanan kepada
pelanggan, surat order pengiriman dikirim langsung ke fungsi pengiriman
sebelum fungsi penjualan memperoleh otorisasi kredit dari fungsi kredit.
Namun, tembusan kredit harus dikirimkan ke fungsi kredit untuk
mendapatkan persetujuan kredit dari fungsi tersebut. Dalam hal otorisasi
kredit tidak dapat diberikan, fungsi penjualan memberitahu fungsi
pengiriman untuk membatalkan pengiriman barang kepada pelanggan.
87
3. Fungsi Gudang
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk
menyimpan barang dan menyiapkan barang yang dipesan oleh pelanggan,
serta menyerahkan barang ke fungsi pengiriman.
4. Fungsi Pengiriman
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk
menyerahkan barang atas dasar surat order pengiriman yang di
terimannya dari fungsi penjualan. Fungsi ini bertanggung jawab untuk
menjamin bahwa tidak ada barang yang keluar dari perusahaan tanpa ada
otorisasi dari yang berwenang. Otorisasi ini dapat berupa surat order
pengiriman yang telah ditandatangani oleh fungsi penjualan, memo debit
yang ditandatangani oleh fungsi pembelian untuk barang yang dikirimkan
kembali kepada pemasok (retur pembelian), surat perintah kerja dari
fungsi produksi mengenai penjualan atau pembuangan aktiva tetap yang
sudah tidak dipakai lagi.
5. Fungsi Penagihan
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk
membuat dan mengirimkan faktur penjualan kepada pelanggan, serta
menyediakan copy faktur bagi kepentingan pencacatan transaksi
penjualan oleh fungsi akuntansi.
6. Fungsi Akuntansi
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk
mencatat piutang yang timbul dari transaksi penjualan kredit dan
88
membuat serta mengirimkan pernyataan hutang kepada para debitur, serta
membuat laporan penjualan. Disamping itu, fungsi ini juga bertanggung
jawab untuk mencatat harga pokok persediaan yang dijual ke dalam kartu
persediaan.
2.2.3.2 Jaringan prosedur yang membentuk sistem penjualan
Jaringan prosedur yang membentuk sistem penerimaan kas dari penjualan
adalah :
1. Prosedur Order Penjualan. Prosedur yang dijalankan berdasarkan
permintaan yang diperoleh dari fungsi penjualan.
2. Prosedur Penerimaan Kas. Hasil dari transaksi penjualan diterima dan
dicatat sebagai masukan kas.
3. Prosedur Penyerahan Barang. Barang yang di order dikirim dan diantar
kepada pembeli.
4. Prosedur Pencatatan Penjualan. Fungsi akuntansi mencatat semua
transaksi penjualan yang telah dilakukan.
5. Prosedur Penyetoran Kas ke Bank. Customer membayar produk yang
telah dibeli dari transaksi penjualan. Hasil tersebut disetor ke bank atau
customer dapat langsung mentransfer pembayaran ke bank yang telah
ditentukan.
6. Prosedur Pencatatan Penerimaan Kas. Pencatatan oleh fungsi akuntan
dalam penerimaan seluruh pendapatan yang dimasukkan ke dalam kas.
89
7. Prosedur Pencatatan Harga Pokok Penjualan. Merekam semua proses
perhitungan yang menentukan harga pokok penjualan suatu produk.
2.2.3.3 Dokumen pada sistem penjualan
Dokumen yang digunakan dalam sistem penjualan kredit adalah
(Mulyadi, 2001, p214-216) :
1. Surat order pengiriman dan tembusannya.
2. Faktur dan tembusannya.
3. Rekapitulasi harga pokok penjualan.
4. Bukti memorial.
Dokumen yang digunakan dalam sistem penerimaan kas dari penjualan
tunai adalah:
1. Faktur penjualan tunai.
2. Pita register kas.
3. Bill of lading.
4. Faktur penjualan COD.
5. Bukti setor bank.
6. Rekap harga pokok penjualan.