6 BAB 2 LANDASAN TEORI 2.1 Teori

advertisement
BAB 2
LANDASAN TEORI
2.1
Teori-teori Database
2.1.1
Pengertian Data
Data adalah fakta, atau bagian dari fakta yang mengandung arti,
yang dihubungkan dengan kenyataan, simbol-simbol, gambar-gambar,
kata-kata,
angka-angka,
huruf-huruf,
atau
simbol-simbol
yang
menunjukkan suatu ide, objek, kondisi, atau situasi dan lain-lain. Data itu
sendiri merupakan bentuk jamak dari datum yang berarti informasi
(Febrian, 2002, p126).
Data adalah representasi objek yang disimpan dan kejadiankejadian yang memiliki maksud dan penting bagi user (Hoffer, 2005, p5).
2.1.2
Pengertian Basis Data
Pengertian basis data adalah kumpulan data yang terhubung satu
sama lain secara logikal, dan deskripsi data itu dirancang untuk
memenuhi kebutuhan informasi dari sebuah organisasi. Basis data
digunakan sebagai tempat penyimpanan data yang secara simultan
digunakan oleh banyak departemen dan pengguna. Semua data
terintegrasi dengan jumlah duplikasi yang minimum. Basis data ini tidak
hanya dipunyai oleh satu departemen saja tetapi di-share oleh beberapa
sumber lainnya (Connolly, 2005, p15).
6
7
Basis data adalah kumpulan data-data yang digunakan oleh sistem
aplikasi dari perusahaan (Date, 2000, p10).
Basis data adalah kumpulan data-data yang disimpan dalam suatu
format yang telah distandarisasi, dirancang untuk dibagikan kepada
banyak user (Post, 2005, p2).
Basis data adalah seperangkat file yang terinterelasi dan
terkoordinasi secara terpusat (Romney, 2003, p82).
Basis data diperlukan karena (www.ilmukomputer.com):
•
Salah satu komponen penting dalam sistem informasi, karena
merupakan dasar dalam menyediakan informasi
•
Menentukan kualitas informasi : akurat, tepat pada waktunya dan
relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih
efektif dibandingkan dengan biaya mendapatkannya.
2.1.3
•
Mengurangi duplikasi data (data redundancy)
•
Hubungan data dapat ditingkatkan (data reliability)
•
Mengurangi pemborosan tempat simpanan luar
Database Management System
Database Management System (DBMS) adalah sebuah sistem
software yang memperbolehkan pengguna untuk menggambarkan,
membuat, menjaga, dan mengontrol akses ke basis data (Connolly, 2005,
p16).
8
Database Management Sytem (DBMS) adalah suatu kumpulan
data yang terinterelasi dan seperangkat program untuk mengakses datadata tersebut (Silberschatz, 2002, p1).
Database Management System (DBMS) merupakan suatu
kumpulan program yang informasinya dapat disimpan, dimodifikasi, dan
diekstrak dari suatu basis data (www.webopedia.com).
Fasilitas yang disediakan DBMS antara lain (Connolly, 2005,
p16) :
● Memperbolehkan pengguna untuk menggambarkan basis data,
biasanya melalui Data Definition Language (DDL). DDL
memberikan fasilitas kepada pengguna untuk menspesifikasikan
tipe data dan struktur serta constraint pada data yang akan
disimpan pada basis data.
● Constraint adalah peraturan konsistensi nilai pada basis data yang
tidak dapat dilanggar.
● Memperbolehkan
menghapus,
dan
pengguna
untuk
mengambil
data
memasukkan,
dari
basis
update,
data
yang
menggunakan Data Manipulation Language (DML). Bahasa yang
umum digunakan adalah Structured Query Language (SQL).
● Menyediakan kontrol akses ke basis data :
¾ Sistem keamanan (security system), dimana mencegah
pengguna yang tidak mempunyai hak akses agar tidak
mengakses basis data.
9
¾ Sistem integritas (integrity system), dimana menjaga
konsistensi data yang disimpan.
¾ Sistem kontrol pada saat yang bersamaan (concurrency
control), dimana memperbolehkan akses berbagi terhadap
basis data.
¾ Sistem kontrol perbaikan (recovery control system),
dimana mengembalikan basis data ke kondisi sebelum
yang konsisten pada saat terjadi kegagalan pada perangkat
keras dan perangkat lunak.
¾ Katalog pengguna yang dapat diakses (user-accessible
catalog), yang berisi tentang deskripsi data pada basis
data.
Database Application Program adalah suatu program komputer
yang berinteraksi dengan database sesuai dengan permintaan ke DBMS
(Connolly, 2005, p17).
Fasilitas DBMS lainnya yang dikenal dengan mekanisme view,
dimana memperbolehkan setiap pengguna untuk mempunyai tampilan
basis datanya sendiri-sendiri sesuai dengan kebutuhan (Connolly, 2005,
p17). Keuntungan view antara lain :
● View menyediakan tingkatan keamanan. View dapat mengatur
data apa saja yang dapat dilihat oleh pengguna tertentu
● View menyediakan mekanisme untuk penyesuaian tampilan basis
data.
10
● View dapat merepresentasi gambaran struktur basis data yang
konsisten, walaupun basis data diubah.
Komponen lingkungan DBMS antara lain (Connolly, 2005, p18) :
1. Perangkat keras (hardware)
Perangkat keras dapat berupa komputer tunggal personal,
mainframe tunggal, hingga jaringan komputer. Perangkat keras
dapat tergantung pada kebutuhan perusahaan dan DBMS yang
digunakan.
2. Perangkat lunak (software)
Program aplikasi yang digunakan biasanya adalah 3rd GL (third
generation language), seperti C, C++, Java, Visual Basic,
COBOL, Fortran, Ada, Pascal, atau bahkan 4th GL (fourth
generation language) seperti SQL yang digabungkan pada 3rd GL.
3. Data (data)
Data merupakan komponen yang paling penting dari lingkungan
DBMS. Data berperan sebagai penghubung antara komponen
mesin dengan komponen manusia. Database mengandung data
operasional dan meta-data. Struktur basis data disebut dengan
schema.
4. Prosedur (procedure)
Prosedur mengandung instruksi dan peraturan yang mengatur
rancangan dan kegunaan basis data.
11
5. Orang-orang (people)
Komponen terakhir adalah orang-orang yang terlibat dengan
sistem.
Gambar 2.1 Lingkungan DBMS
(Sumber : Connolly, 2005, p19)
Fungsi DBMS terdiri atas (Connolly, 2005, p48) :
1. Penyimpanan data, pengambilan, dan update.
Sebuah DBMS harus melengkapi pengguna dengan kemampuan
untuk menyimpan, restore, dan update data di dalam basis data.
2. Katalog yang dapat diakses oleh pengguna.
Sebuah DBMS harus melengkapi sebuah katalog dimana deskripsi
data disimpan dan dapat diakses oleh pengguna.
3. Pendukung transaksi.
Sebuah DBMS harus melengkapi dengan sebuah mekanisme
dimana akan memastikan bahwa semua update yang dibuat oleh
transaksi telah dibuat.
4. Layanan kontrol concurrency.
Sebuah DBMS harus melengkapi dengan sebuah mekanisme
untuk memastikan bahwa basis data di-update secara benar ketika
12
banyak pengguna telah meng-update basis data pada saat yang
bersamaan.
5. Layanan perbaikan.
Sebuah DBMS harus melengkapi dengan sebuah mekanisme
untuk memperbaiki basis data yang bilamana dalam sebuah
kejadian rusak dengan berbagai cara.
6. Layanan autorisasi.
Sebuah DBMS harus melengkapi dengan sebuah mekanisme
untuk memastikan bahwa hanya pengguna yang memiliki ijin
yang dapat mengakses basis data.
7. Pendukung komunikasi data.
Sebuah DBMS harus mampu berintegrasi dengan perangkat lunak
komunikasi.
8. Layanan integritas.
Sebuah DBMS harus dilengkapi dengan pengertian untuk
memastikan bahwa kedua data dalam basis data dan perubahan
terhadap data mengikuti peraturan yang ada.
9. Layanan untuk independensi data.
Sebuah DBMS harus meliputi fasilitas untuk mendukung
independensi program dari struktur yang sebenarnya dari basis
data.
13
10. Layanan kegunaan.
Sebuah
DBMS
harus
menyediakan
sekumpulan
layanan
kegunaan, seperti :
● Fasilitas impor, untuk load database dari file flat dan
fasilitas ekspor, untuk unload database ke file flat.
● Fasilitas
monitoring,
untuk
memonitor
penggunaan
database dan operasi.
● Program analisis statistik, untuk menguji performance dan
statistik penggunaan.
● Fasilitas reorganisasi indeks, mengatur ulang indeks dan
overflow indeks.
● Garbage collection dan realokasi, untuk memindahkan
rekord yang telah dihapus dari tempat penyimpanan.
Keuntungan DBMS antara lain (Connolly, 2005, p26) :
● Kontrol redudansi data
Pendekatan basis data berusaha menghapus redundansi dengan
menggabungkan file sehingga data yang sama tidak akan
disimpan kembali. Bagaimanapun, pendekatan basis data tidak
menghapus redudansi secara keseluruhan, tetapi mengontrol
jumlah redundansi yang terdapat pada database. Pada waktu yang
berbeda,
beberapa
data
meningkatkan performance.
yang
duplikat
diperlukan
untuk
14
● Konsistensi data
Dengan menghapus atau mengontrol redundansi, maka akan
mengurangi resiko ketidakkonsistensian yang akan muncul. Jika
sebuah data disimpan hanya satu kali pada basis data, update
apapun terhadap nilai data tersebut hanya dilakukan satu kali dan
nilai baru tersedia untuk user.
● Semakin banyak informasi yang didapat dari data yang sama
Dengan integrasi dari data opersional, maka memungkinkan bagi
perusahaan untuk menurunkan informasi tambahan dari data yang
sama.
● Data yang berbagi
File biasanya dimiliki oleh orang atau departemen yang
menggunakannya. Di sisi lain, basis data adalah milik keseluruhan
orgranisasi dan dapat dibagi-bagi kepada user dengan hak
aksesnya.
● Meningkatkan integritas data
Integritas data mewakili validitas dan konsistensi data yang
disimpan.
Integritas
biasanya
digambarkan
dalam
bentuk
constraint, yang merupakan peraturan yang konsisten pada
database yang tidak diijinkan untuk dilanggar.
● Meningkatkan keamanan
Keamanan basis data adalah perlindungan basis data dari user
yang tidak memiliki hak akses. Akses yang diperbolehkan oleh
15
user yang memiliki hak akses dibatasi oleh tipe operasi yaitu
pengambilan, memasukkan, meng-update, dan menghapus data.
● Meningkatkan akses data dan hasilnya
Sebagai hasil integrasi, data yang bersilangan dengan batasan
departemen akan secara langsung diakses oleh pengguna akhir.
Proses ini menyediakan sistem dengan fungsionalitas yang lebih
bagus.
● Meningkatkan maintenance melalui independensi data
Pada sistem berbasiskan file, deskripsi data dan logika untuk
mengakses data dibangun ke dalam setiap program aplikasi,
membuat
program
bergantung
pada
data.
Pada
DBMS,
memisahkan deskripsi data dari aplikasi sehingga membuat
aplikasi terpisah dari perubahan deksripsi data. Ini disebut dengan
independensi data.
● Meningkatkan concurrency
Pada sistem berbasiskan file, jika terdapat dua atau lebih user
diperbolehkan untuk mengakses file yang sama secara simultan,
maka pengaksesan akan saling mengganggu satu sama lain yang
menghasilkan kehilangan informasi atau bahkan kehilangan
integritas. DBMS mengatur akses basis data pada saat yang
bersamaan dan memastikan masalah seperti di atas tidak muncul.
16
Kerugian DBMS antara lain (Connolly, 2005, p29):
● Kompleksitas
Perancang dan pengembang basis data, data dan database
administrator, serta pengguna akhir harus memahami keseluruhan
fungsionalitas
DBMS
yang
kompleks.
Kegagalan
untuk
memahami sistem dapat membawa ke keputusan rancangan yang
buruk dimana akan terdapat konsekuensi yang serius untuk
perusahaan.
● Ukuran
Kompleksitas dan kedalaman fungsionalitas membuat DBMS
sebagai sebuah potongan perangkat lunak yang besar, memakan
banyak megabyte dari tempat penyimpanan dan membutuhkan
jumlah memori yang cukup untuk menjalankan.
● Biaya DBMS
Biaya DBMS sangat bervariasi, tergantung pada lingkungan dan
fungsionalitas yang dibutuhkan.
● Biaya tambahan perangkat keras
Kebutuhan tempat penyimpanan untuk DBMS dan basis data
membutuhkan
pembelian
tempat
penyimpanan
tambahan.
Selanjutnya, untuk mendapatkan performance yang diinginkan,
maka diperlukan untuk membeli mesin yang lebih besar, bahkan
mesin
yang
diperuntukkan
untuk
menjalankan
DBMS.
17
Penambahan
perangkat
keras
baru
akan
menghasilkan
pengeluaran biaya.
● Biaya konversi
Pada beberapa situasi, biaya DBMS dan perangkat keras
tambahan menjadi tidak signifikan jika dibandingkan dengan
biaya konversi aplikasi yang telah ada untuk dijalankan pada
DBMS dan perangkat keras baru. Biaya tambahan juga termasuk
biaya pelatihan staff untuk menggunakan sistem baru dan
mungkin mempekerjakan staff ahli untuk membantu melakukan
konversi dan menjalankan sistem. Biaya-biaya inilah yang
menjadi alasan utama mengapa beberapa perusahaan merasa tidak
perlu berpindah ke teknologi basis data modern dan tetap
menjalankan yang sudah ada.
● Performance
Biasanya, sistem berbasis file ditulis untuk aplikasi tertentu,
seperti faktur. Sebagai hasilnya, performace secara umum bagus.
Bagaimanapun, DBMS ditulis lebih umum. Efeknya adalah
beberapa aplikasi mungkin tidak dapat berjalan dengan cepat
seperti biasanya.
2.1.4
Data Definition Language
Data Definition Language (DDL) adalah sebuah bahasa yang
memberikan fasilitas kepada DBA (Database Administrator) atau
18
pengguna untuk menjelaskan dan menamakan entity, attribute, dan
relationship yang dibutuhkan untuk aplikasi, bersama dengan integritas
yang
berhubungan
dan
batasan-batasan
keamanan.
Database
Administrator adalah seseorang yang bertanggung jawab terhadap
realisasi fisikal basis data, termasuk rancangan fisik basis data dan
implementasi, keamanan dan kontrol integritas, maintenance sistem
operasional, dan memastikan kepuasan performance aplikasi kepada user
(Connolly, 2005, p40).
Data Definition Language (DDL) adalah perintah-perintah yang
digunakan untuk mendefinisikan sebuah database, termasuk membuat,
mengubah, dan menghapus tabel dan memberikan batasan-batasannya
(Hoffer, 2005, p291).
Data Definition Language (DDL) adalah sebuah bahasa yang
digunakan oleh DBMS untuk mendefinisikan sebuah database atau
pandangan dari sisi database (Whitten, 2004, p555).
Data Definition Language (DDL) adalah suatu bahasa komputer
yang digunakan untuk mendefinisikan data (http://en.wikipedia.org).
2.1.5
Data Manipulation Language
Data Manipulation Language (DML) adalah sebuah bahasa yang
menyediakan sekumpulan operasi untuk mendukung operasi manipulasi
data utama pada data di dalam basis data (Connolly, 2005, p40).
19
Data Manipulation Language (DML) adalah suatu bahasa yang
memungkinkan user untuk mengakses dan memanipulasi data yang telah
diorganisasikan oleh model data yang tepat (Silberschatz, 2002, p12).
Data Manipulation Language (DML) adalah suatu bahasa DBMS
yang digunakan untuk membuat, membaca, mengubah, dan menghapus
records (Whitten, 2004, p555).
Data Manipulation Language (DML) adalah bahasa komputer
yang digunakan oleh program-program komputer atau database user
untuk mendapatkan, memasukkan, menghapus, dan mengubah data di
dalam basis data (http://en.wikipedia.org).
Operasi manipulasi data antara lain (Connolly, 2005, p41) :
● Mengentri data baru ke dalam basis data.
● Modifikasi data yang disimpan dalam basis data.
● Menampilkan kembali data di dalam basis data.
● Menghapus data dari basis data
Terdapat dua tipe DML, yaitu (Connolly, 2005, p41) :
1. Procedural DML, yaitu sebuah bahasa yang memberikan fasilitas
kepada pengguna untuk memberitahukan kepada sistem, data apa
yang diperlukan dan bagaimana seharusnya data tersebut diambil.
2. Non-precedural DML, yaitu sebuah bahasa yang memberikan
fasilitas kepada pengguna untuk menyatakan data apa yang
diperlukan daripada tentang bagimana cara data tersebut diambil.
20
2.1.6
Normalisasi
Normalisasi
adalah
sebuah
teknik
untuk
menghasilkan
sekumpulan relasi dengan properti yang diinginkan, yang akan
memberikan kebutuhan data bagi perusahaan. Relasi adalah sebuah tabel
dengan kolom dan baris (Connolly, 2005, p388).
Tujuan normalisasi adalah sebagai berikut (Connolly, 2005,
p388):
● Menghilangkan kumpulan relasi dari inserting, updating, dan
delete dependency yang tidak diharapkan
● Mengurangi kebutuhan restrukturisasi kumpulan relasi dan
meningkatkan life spam program aplikasi
● Membuat model relasional yang lebih informatif
Proses normalisasi (Connolly, 2005, p401) :
1. First Normal Form (1NF)
Sebelum memasuki tahap 1NF, status sebelum 1NF disebut
dengan Unormalized Form (UNF), yaitu sebuah tabel yang
mengandung satu atau lebih kelompok yang berulang.
First Normal Form (1NF) adalah sebuah relasi dimana
persimpangan dari setiap baris dan kolom yang mengandung satu
dan hanya satu nilai saja.
2. Second Normal Form (2NF)
Second Normal Form (2NF) adalah sebuah relasi dimana pada
bentuk normal pertama dan setiap attribute yang bukan primary
21
key adalah secara fungsional tergantung dengan primary key.
Primary
key
adalah
kandidat
key
yang
dipilih
untuk
mengidentifikasi tuple secara unik pada sebuah relasi. Sedangkan
tuple adalah baris pada sebuah relasi.
Proses normalisasi 1NF ke 2NF melibatkan penghilangan partial
dependencies. Jika terdapat partial dependencies, maka atribut
functionally dependent dari relasi akan dihilangkan dengan
menempatkannya pada sebuah relasi baru bersama dengan copy
determinant mereka.
Full functional dependency adalah suatu keadaan dimana jika A
dan B adalah atribut, B secara fungsional sangat tergantung pada
A dan jika B secara fungsional bergantung pada A, tetapi bukan
subset dari A.
3. Third Normal Form (3NF)
Third Normal Form (3NF) adalah sebuah relasi dimana bentuk
normal pertama dan kedua, dan dimana tidak ada attribute yang
bukan primary key secara transitif bergantung pada primary key.
Transitive dependency adalah sebuah kondisi dimana A, B dan C
adalah atribut dari relasi dimana A → B dan B → C, maka C
adalah transitive dependency pada A melalui B.
22
4. Boyce-Codd Normal Form (BCNF)
Boyce-Codd Normal Form (BCNF) adalah sebuah relasi di dalam
BCNF, jika dan hanya jika, setiap deteminan adalah candidate
key.
Candidate key adalah superkey yang bukan merupakan subset
adalah superkey dalam relasi. Superkey adalah sebuah atribut, atau
sekumpulan atribut yang secara unik mengidentifikasi sebuah
tuple dalam sebuah relasi.
5. Fourth Normal Form (4NF)
Fourth Normal Form (4NF) adalah sebuah relasi dimana normal
BCNF dan tidak mengandung ketergantungan nontrivial multivalued.
Multivalued
dependecy
menggambarkan
sebuah
ketergantungan antara atribut ( sebagai contoh A, B, dan C )
dalam sebuah relasi. Nilai A adalah kumpulan nilai untuk B dan
kumpulan nilai untuk C. Tetapi kumpulan nilai untuk B dan C
tidak saling bergantung satu sama lain.
6. Fifth Normal Form (5NF)
Fifth Normal Form (5NF) adalah sebuah relasi dimana tidak ada
ketergantungan join.
2.1.7
4th GL ( Generation Language )
4th
GL
merupakan
non-procedural,
dimana
pengguna
menjelaskan apa yang perlu dilakukan dan bukan bagaimana yang perlu
23
dilakukan. Pengguna tidak perlu menjelaskan langkah-langkah program
yang harus dilakukan, tetapi hanya memberikan parameter untuk tool lalu
menggunakan tool tersebut untuk menghasilkan sebuah program aplikasi
(Connolly, 2005, p42).
Bahasa generasi ke-empat meliputi (Connolly, 2005, p42) :
● Bahasa presentasi seperti query language dan penghasil laporan
● Bahasa tertentu, seperti spreadsheet dan bahasa basis data.
● Bahasa aplikasi yang menjelaskan insert, update, dan mengambil
data dari basis data untuk membuat aplikasi.
● Bahasa tingkat tinggi digunakan untuk menghasilkan kode
aplikasi.
Salah contoh 4th GL adalah SQL (Structured Query Language)
(Connolly, 2005, p42). SQL adalah sebuah bahasa yang dirancang
menggunakan relasi untuk mengubah input kedalam output yang
diinginkan. SQL memiliki dua komponen utama yaitu : Data Definition
Language dan Data Manipulation Language (Connolly, 2005, p113).
Alasan SQL mudah dipelajari (Connolly, 2005, p114) :
● Bukan merupakan bahasa prosedural.
● SQL merupakan suatu bahasa berformat bebas dimana bagian dari
perintahnya tidak harus diketikkan pada lokasi tertentu di layar.
● Struktur perintahnya terdiri atas standard kata-kata dalam bahasa
Inggris seperti CREATE TABLE, INSERT, SELECT, dll.
24
● SQl dapat digunakan oleh user dalam berbagai tingkat, termasuk
Database
Administrator
(DBA),
management
personnel,
application developers, dan pengguna akhir lainnya.
Beberapa perintah SQL DML adalah (Connolly, 2005, p117) :
● SELECT – untuk query data pada basis data
● INSERT – untuk memasukkan data ke dalam tabel
● UPDATE – untuk update data dalam tabel
● DELETE – untuk menghapus data dalam tabel
2.1.8
Siklus Hidup Aplikasi Database
Pengertian sistem informasi adalah sumber-sumber mengenai
koleksi, manajemen, kontrol dan penyebaran informasi perusahaan
(Connolly, 2005, p282).
Sebuah sistem basis data adalah komponen pokok dari sebuah
sistem informasi, dan perkembangan serta penggunaannya harus dilihat
dari sudut pandang kebutuhan perusahaan yang lebih besar. Tahapan
dalam daur hidup aplikasi basis data tidaklah harus berurutan, tetapi
melibatkan beberapa perulangan dari tahapan sebelumnya melalui
perulangan feedback (Connolly, 2005, p283).
25
Tahapan daur hidup aplikasi database :
Gambar 2.2 Daur Hidup Aplikasi Basis Data
(Sumber : Connolly, 2005, p284)
26
Berikut ini adalah keterangan dari tahapan-tahapan di atas
(Connolly, 2005, p285) :
● Database Planning
Database Planning adalah aktivitas manajemen dari aplikasi basis
data untuk merencanakan bagaimana tahapan dari daur hidup
dapat dijalankan secara efisien dan efektif. Tiga permasalahan
dalam merencanakan strategi sistem informasi antara lain :
¾ Identifikasi rencana dan tujuan perusahaan dengan
kebutuhan sistem yang mencukupi.
¾ Evaluasi sistem informasi yang sedang berjalan untuk
menentukan kekuatan dan kelemahannya yang ada.
¾ Penilaian kesempatan IT yang menjadi lahan untuk
mendapatkan keuntungan yang kompetitif.
● System Definition
System Definition menjelaskan cakupan dan batasan dari aplikasi
basis data, para penggunanya dan area aplikasi.
● Requirement Collection and Analysis
Requirement
Collection
and
Analysis
merupakan
proses
mengumpulkan dan menganalisa informasi yang mendukung
aplikasi basis data dan menggunakan informasi ini untuk
mengidentifikasi kebutuhan pengguna terhadap sistem baru.
27
● Database Design
Database Design adalah proses membuat rancangan untuk basis
data yang akan mendukung operasi perusahaan dan tujuantujuannya.
Dua pendekatan perancangan basis data :
™ Pendekatan bottom-up
Pendekatan bottom-up dimulai dengan level atribut dasar
dimana melalui analisis atribut yang berhubungan, yang
dikelompokkan kedalam relasi yang merepresentasikan
tipe entiti dan relasi antar entiti.
™ Pendekatan top-down
Pendekatan top-down dimulai dengan perkembangan
model data yang mengandung beberapa entiti level tinggi
dan relasi dan lalu turun untuk mengidentifikasi entiti level
rendah, relasi dan atribut yang berhubungan.
Kriteria untuk menghasilkan sebuah model data yang optimal :
™ Validitas
struktural,
yaitu
konsisten
dengan
cara
perusahaan menggambarkan dan mengatur informasi.
™ Kesederhanaan, yaitu kemudahan untuk dipahami oleh
profesional IS dan pengguna non teknis.
™ Expressibility, yaitu kemampuan untuk membedakan
antara data yang berbeda, hubungan antar data, dan
batasan.
28
™ Non redudansi, yaitu mengurangi data yang duplikat atau
menampilkan data tepat hanya satu.
™ Kemampuan berbagi, yaitu tidak terlalu spesifik kepada
aplikasi atau teknologi tertentu dan dapat digunakan
bersama.
™ Extensibility,
yaitu
kemampuan
untuk
mendukung
kebutuhan baru dengan efek minimal pada pengguna yang
sudah ada.
™ Integritas, yaitu konsistensi dengan cara perusahaan
menggunakan dan mengatur informasi.
™ Representasi
diagram,
yaitu
kemampuan
untuk
merepresentasikan sebuah model menggunakan sebuah
diagram yang mudah dimengerti.
● DBMS Selection (optional)
DBMS Selection adalah seleksi terhadap penggunaan DBMS yang
sesuai untuk mendukung aplikasi basis data.
● Application Design
Application Design adalah rancangan tampilan pengguna dan
program aplikasi yang menggunakan dan memproses basis data.
● Prototyping (optional)
Prototyping adalah membangun sebuah model aplikasi basis data
yang sudah dapat bekerja.
29
● Implementation
Implementation adalah realisasi secara fisik dari basis data dan
rancangan aplikasi.
● Data conversion and Loading
Data conversion and Loading merupakan sebuah proses untuk
mengirim data yang telah ada ke dalam basis data yang baru dan
mengkonversi aplikasi yang telah ada untuk dapat berjalan pada
basis data yang baru.
● Testing
Testing merupakan
proses mengeksekusi program aplikasi
dengan tujuan untuk mencari error.
● Operational Maintenance
Operational Maintenance adalah proses memantau dan menjaga
sistem termasuk instalasi. Data Administration (DA) adalah
manajemen sumber data dimana termasuk perencanaan basis data,
pengembangan dan maintenance standar, kebijakan dan prosedur,
dan rancangan basis data konseptual dan logikal. Database
Administration (DBA) adalah manajemen realisasi fisik dari
sebuah aplikasi basis data, dimana termasuk rancangan basis data
fisikal dan implementasi, pengaturan kontrol keamanan dan
integritas, performance monitoring sistem, dan pengaturan basis
data.
30
2.1.9
Desain Konseptual, Logikal dan Fisikal Database
Metodologi desain adalah sebuah pendekatan terstruktur yang
menggunakan prosedur, teknik, tool, dan dokumentasi yang mendukung
dan memfasilitasi proses desain (Connolly, 2005, p438).
Dalam metodologi desain, proses desain dibagi ke dalam tiga fase
utama, yaitu (Connolly, 2005, p439) :
1. Conceptual database design, yaitu sebuah proses pembuatan
sebuah model dari suatu informasi yang digunakan dalam sebuah
perusahaan yang bebas dari pertimbangan fisik.
2. Logical database design, yaitu proses pembuatan sebuah model
dari suatu informasi yang digunakan dalam sebuah perusahaan
yang berdasarkan pada model data spesifik, tetapi bebas dari
DBMS tertentu dan pertimbangan fisik lainnya.
3. Physical database design, yaitu sebuah proses yang menghasilkan
deskripsi implementasi basis data pada tempat penyimpanan
kedua; menjelaskan relasi dasar (base relation), file organisasi,
dan indeks yang digunakan untuk mendapatkan akses ke data
yang efisien, dan integrity constraint yang berhubungan serta
pengukuran keamanan.
Faktor sukses yang kritis di dalam rancangan basis data
(Connolly, 2005, p438) :
● Bekerja secara interaktif dengan pengguna sesering mungkin.
31
● Mengikuti metodologi yang terstruktur melalui proses data
modelling.
● Menggunakan pendekatan bagaimana data didapatkan.
● Menggabungkan pertimbangan struktural dan integritas ke dalam
model data.
● Menggabungkan konseptualisasi, normalisasi, dan teknik validasi
transaksi ke dalam metodologi data modelling.
● Menggunakan diagram untuk menggambarkan model data
sebanyak mungkin.
● Menggunakan
database
design
language
(DBDL)
untuk
menggambarkan semantic data tambahan yang tidak mudah
digambarkan dengan diagram.
● Membangun kamus data untuk melengkapi model diagram data
dan DBDL.
● Mengulangi langkah-langkah di atas.
2.1.9.1 Conceptual Database Design
Langkah 1. Membangun model data konseptual lokal
untuk setiap view (Connolly, 2005, p422).
Tujuannya adalah membangun model data konseptual lokal dari
sebuah perusahaan untuk setiap view yang spesifik.
1.1.
Mengidentifkasi entity type
32
Tujuannya adalah untuk mengidentifikasi tipe entity utama
yang dibutuhkan oleh view.
Hasilnya adalah dokumentasi tipe entity.
1.2.
Mengidentifikasi tipe relasi / relationship
Tujuannya adalah untuk mengidentifikasi relationship
yang penting yang ada di antara entity type yang telah
diidentifikasi. Hal yang perlu diperhatikan adalah bahwa
semua relationship baik secara eksplisit maupun implisit
harus terdeteksi; dengan cara menggunakan ERD,
menentukan multiplicity contraint dari relationship types,
mengecek fan dan chasm trap serta mengecek setiap entity
yang berpartisipasi setidaknya pada satu relationship.
Hasilnya adalah dokumentasi tipe relationship
1.3.
Mengidentifikasi dan mengasosiasikan atribut dengan
entity dan tipe relationship.
Tujuannya adalah untuk menghubungkan atribut dengan
entity atau tipe relationship yang sesuai.
1.4.
Menentukan domain atribut
Tujuannya adalah menentukan domain untuk atribut pada
model data konseptual lokal. Domain adalah nilai dimana
satu atau banyak atribut berdasarkan nilai tersebut.
Hasilnya adalah dokumentasi atribut domain
33
1.5.
Menentukan candidate key dan atribut primary key
Tujuannya adalah mengidentifikasi candidate key untuk
setiap tipe entiti dan jika ada lebih dari satu candidate key
maka harus memilih satu untuk menjadi primary key.
Candidate key adalah minimal set atribut dari tipe entiti
yang untuk yang mengidentifikasi setiap occurance entity.
Hasilnya adalah dokumentasi primary dan alternate key di
data dictionary.
1.6.
Mempertimbangkan
penggunaan
konsep
enhanced
modeling (langkah pilihan)
Tujuannya adalah mempertimbangkan penggunaan konsep
modeling
enhanced
seperti
spesialisasi/generalisasi,
agregasi, dan komposisi.
1.7.
Mengecek model untuk redudansi
Tujuannya adalah untuk mengecek adanya redudansi di
dalam model dengan cara :
● memeriksa ulang relasi one-to-one (1:1)
● menghilangkan relationship yang berulang
1.8.
Validasi model konseptual lokal terhadap transaksi user.
Tujuannya adalah memastikan model konseptual lokal
mendukung transaksi yang dibutuhkan view.
1.9.
Review model data konseptual lokal dengan user.
34
Untuk me-review model data konseptual data dengan
pengguna untuk memastikan bahwa model tersebut adalah
benar merepresentasikan view.
2.1.9.2 Logical Database Design untuk Model Relational
Langkah 2. Membangun dan validasi model data logikal
lokal untuk setiap view (Connolly, 2005, p462).
Tujuannya adalah membangun model data logikal lokal dari
sebuah model konseptual lokal yang mewakili sudut pandang
tertentu
dari
perusahaan
dan
memvalidasi
model
untuk
memastikan bahwa struktur tersebut benar (menggunakan teknik
normalisasi)
dan
memastikan
model
tersebut
mendukung
transaksi yang diperlukan.
2.1.
Menurunkan relation untuk model data logikal lokal
Tujuannya adalah membuat relasi untuk model data
logikal lokal untuk mewakili entiti, relationship, dan
atribut yang telah diidentifikasi.
2.2.
Validasi relation menggunakan normalisasi.
Tujuannya adalah untuk mevalidasi relation pada model
data logikal lokal menggunakan teknik normalisasi.
2.3.
Validasi relation terhadap transaksi pengguna
35
Tujuannya adalah untuk memastikan relation pada model
data logikal lokal yang mendukung transaksi yang
dibutuhkan oleh view.
2.4.
Menentukan integrity contraint
Tujuannya adalah untuk menentukan integrity constraint
yang diberikan pada view. Integrity constraint adalah
constraint yang digunakan untuk memproteksi database
dari menjadi tidak konsisten.
Tipe intergrity constraint :
● data yang dibutuhkan, haruslah mengandung nilai
valid (tidak boleh null).
● atribut domain constraint (setiap atribut mempunyai
domain)
● entity integrity (primary key tidak boleh null)
● referential integrity (foreign key yang berhubungan
dengan setiap tuple pada relasi child terhadap parent
relation mengandung nilai candidate yang cocok)
Referential integrity terdiri atas :
¾ NO ACTION (mencegah parent dihapus)
¾ CASCADE (jika parent dihapus maka child juga
akan dihapus secara otomatis)
¾ SET NULL (jika parent dihapus, foreign key pada
semua child akan di-set null)
36
¾ SET DEFAULT (jika parent dihapus, foreign key
pada semua child akan di-set default)
¾ NO CHECK (jika parent dihapus, maka tidak akan
melakukan apa-apa untuk memastikan referential
integrity dijaga)
● enterprise constraint (sama dengan peraturan bisnis)
2.5.
Review model data logikal lokal dengan pengguna.
Tujuannya adalah untuk memastikan bahwa model data
logikal
lokal
dan
mendukung
dokumentasi
yang
menjelaskan model tersebut adalah benar mewakili
pengguna.
2.6.
Menggabungkan model data logikal lokal ke dalam model
global (langkah pilihan)
Tujuannya adalah untuk menggabungkan model data
logikal lokal ke dalam sebuah model data logikal global
suatu perusahaan.
Tugas-tugasnya antara lain :
● review nama dan isi entiti/relation serta candidate key
● review nama dan isi relationship/foreign key
● menggabungkan entiti/relation dari model data lokal
● memasukkan entiti/relation unik ke setiap model lokal
data
37
● menggabungkan relationship/foreign key dari model
data lokal
● memasukkan relationship/foreign key unik ke setiap
model data lokal
● cek
terhadap
kehilangan
entiti/relation
dan
relationship/foreign key
● cek foreign key
● cek intergrity constraint
● gambar ER/relation diagram global
● meng-update dokumentasi
2.7.
Cek untuk pertumbuhan di masa mendatang
Tujuannya adalah untuk menentukan apakah terdapat
perubahan yang signifikan pada masa mendatang dan
apakah
akses
model
data
logikal
global
dapat
mengakomodasi perubahan tersebut.
2.1.9.3 Physical Database Design untuk Database Relational
Langkah 3. Menerjemahkan model data logikal global
untuk target DBMS (Connoly, 2005, p496).
Tujuannya adalah untuk menghasilkan relational database
schema
dari
model
data
diimplementasikan target DBMS
3.1.
Merancang base relation
logikal
global
yang
dapat
38
Tujuannya
adalah
untuk
menentukan
bagaimana
menampilkan base relation yang diidentifikasi pada model
data logikal global pada target DBMS.
Hasilnya adalah dokumentasi design base relation.
3.2.
Merancang representasi dari data yang diturunkan
Tujuannya
adalah
memilih
bagaimana
untuk
merepresentasikan derived data yang muncul di dalam
model data logikal global pada DBMS.
Hasilnya adalah dokumentasi desain derived data.
3.3.
Merancang enetrprise constraint.
Tujuannya adalah untuk merancang enterprise constraint
untuk DBMS.
Hasilnya adalah dokumentasi desain enterprise constraint
Langkah 4. Merancang organisasi dan indeks file
(Connolly, 2005, p501)
Tujuannya adalah untuk menentukan organisasi file yang optimal
untuk menyimpan base relation dan indeks yang dibutuhkan
untuk mencapai performance yang dapat diterima, yaitu cara
dimana
relation
dan
penyimpanan kedua.
tuple
yang
akan
digunakan
pada
39
4.1.
Menganalisa transaksi
Tujuannya
adalah
untuk
memahami
fungsionalitas
transaksi yang akan dijalankan pada database dan untuk
menganalisis transaksi yang penting.
4.2.
Memilih organisasi file
Tujuannya adalah untuk menentukan organisasi file yang
efisien untuk setiap base relation.
Hasilnya adalah dokumentasi pilihan file organisasi.
4.3.
Memilih indeks
Tujuannya adalah untuk menentukan apakah dengan
menambah indeks dapat meningkatkan performa sistem.
4.4.
Memperkirakan kebutuhan disk space
Tujuannya adalah untuk memperkirakan jumlah tempat
penyimpanan yang akan dibutuhkan basis data.
Langkah 5. Merancang user view (Connolly, 2005, p515)
Tujuannya adalah untuk merancang user view yang diidentifikasi
selama pengumpulan kebutuhan dan tahap analisis dari siklus
aplikasi basis data relational.
Hasilnya adalah dokumentasi desain dari view pengguna.
Langkah 6. Merancang mekanisme keamanan (Connolly,
2005, p516)
Tujuannya adalah merancang perhitungan keamanan untuk basis
data pengguna.
40
Langkah 7. Mempertimbangkan redudansi yang terkontrol
(Connolly, 2005, p519)
Tujuannya adalah untuk menentukan apakah memperkenalkan
redudansi dalam pelonggaran aturan normalisasi yang terkontrol
dapat meningkatkan performa sistem.
7.1.
Mengkombinasikan hubungan 1:1
7.2.
Menduplikasi atribut non-key dalam hubungan 1:*
untuk mengurangi join
7.3.
Menduplikasi atribut foreign key dalam hubungan 1:*
untuk mengurangi join
7.4.
Menduplikasikan atribut dalam hubungan *:* untuk
mengurangi join
7.5.
Memperkenalkan kelompok yang berulang
7.6.
Membuat tabel ekstrak
7.7.
Hubungan partisi
Langkah 8. Memantau dan tuning sistem operasi
(Connolly, 2005, p532)
Tujuannya
adalah
untuk
memantau
sistem
operasi
dan
meningkatkan performance sistem untuk memperbaiki keputusan
rancangan yang tidak sesuai atau merepresentasikan terhadap
perubahan kebutuhan.
Ukuran efisiensi merancang database fisikal dalam menyimpan
data antara lain :
41
● Transaction throughput (jumlah transaksi yang dapat diproses
dalam jangka waktu tertentu)
● Waktu respon (waktu yang melengkapi transaksi tunggal)
● Tempat penyimpanan (jumlah tempat penyimpanan yang
dibutuhkan untuk menyimpan file database)
2.2
Teori-teori Pembelian, Persediaan dan Penjualan
2.2.1
Pembelian
2.2.1.1 Pengertian Pembelian
Pembelian berarti perolehan barang dan jasa. (Render,
2001, p414).
Tujuan dari kegiatan pembelian adalah (Render, 2001,
p414) :
1. Membantu identifikasi produk dan jasa yang dapat
diperoleh secara eksternal.
2. Mengembangkan,
mengevaluasi,
dan
menentukan
pemasok, harga, dan pengiriman yang terbaik bagi barang
dan jasa tersebut.
Sistem pembelian digunakan dalam perusahaan untuk
pengadaan barang yang diperlukan oleh perusahaan (Mulyadi,
2001, p299).
42
2.2.1.2 Jenis-jenis Pembelian
Transaksi pembelian dapat digolongkan menjadi dua
(Mulyadi, 2001, p299) :
1. Pembelian lokal
Pembelian lokal adalah pembelian dari pemasok dalam negeri.
2. Pembelian impor
Pembelian impor adalah pembelian dari pemasok luar negeri.
Berdasarkan jenis transaksi pembayaran, pembelian dapat
dibedakan menjadi dua, yaitu :
1. Pembelian tunai
Pembelian
tunai
adalah
pembelian
dimana
transaksi
pembayarannya langsung dilakukan pada saat penerimaan
barang.
2. Pembelian kredit
Pembelian
kredit
pembayarannya
adalah
tidak
pembelian
langsung
dimana
dilakukan
transaksi
pada
saat
penerimaan barang tetapi dilakukan dalam batas yang tertentu
sesuai dengan perjanjian yang disepakati.
2.2.1.3 Fungsi yang Terkait dalam Pembelian
Fungsi yang terkait dalam sistem akuntansi pembelian
adalah (Mulyadi, 2001, p299) :
43
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.
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.
4. Fungsi akuntansi
Fungsi akuntansi yang terkait dalam transaksi pembelian
adalah fungsi pencatat uang dan fungsi pencatat persediaan.
44
2.2.2
Persediaan
2.2.2.1 Pengertian Persediaan
Pengertian dari persediaan adalah sebagai suatu aktiva
yang meliputi barang-barang milik perusahaan dengan maksud
untuk dijual dalam suatu periode usaha yang normal, atau
persediaan barang-barang yang masih dalam pengerjaan/proses
produksi, ataupun persediaan bahan baku yang menunggu
penggunaannya dalam suatu proses produksi (Mulyadi, 2001,
p299).
2.2.2.2 Jenis-jenis Persediaan
Jenis-jenis persediaan dapat dibedakan menjadi 4 (Render,
2001, p314) :
1. Persediaan bahan mentah
Persediaan bahan mentah telah dibeli, namun belum diproses.
Bahan mentahnya dapat digunakan dari proses produksi untuk
pemasok yang berbeda-beda.
2. Persediaan barang-dalam-proses (Work-in-process -- WIP)
Persediaan barang-dalam-proses telah mengalami beberapa
perubahan, tetapi belum selesai. WIP ini ada karena untuk
membuat produk diperlukan waktu (disebut waktu silkus).
3. Persediaan
MRO
pemeliharaan/perbaikan/operasi)
(Perlengkapan
45
MRO merupakan persediaan yang dikhususkan untuk
perlengkapan pemeliharaan/perbaikan/operasi. MRO ini ada
karena waktu dan kebutuhan untuk pemeliharaan dan
perbaikan dari beberapa peralatan tidak dapat diketahui.
4. Persediaan barang jadi
Persediaan barang jadi selesai dan menunggu untuk
dikirimkan. Barang jadi dimasukkan ke dalam persediaan
karena permintaan konsumen untuk jangka waktu tertentu
mungkin tidak diketahui.
2.2.2.3 Fungsi yang Terkait dalam Persediaan
Fungsi yang terkait dalam sistem perhitungan fisik
persediaan adalah (Mulyadi, 2001, p579):
1. Panitia perhitungan fisik persediaan
Fungsi ini berfungsi untuk melaksanakan perhitungan fisik
persediaan dan meyerahkan hasil perhitungan tersebut kepada
bagian kartu persediaan untuk digunakan sebagai dasar
adjustment
terhadap
catatan
persediaan
dalam
kartu
persediaan.
2. Fungsi akuntansi
Dalam sistem perhitungan fisik persediaan, fungsi ini
bertanggung jawab untuk :
46
•
Mencantumkan harga pokok satuan persediaan yang
dihitung ke dalam daftar hasil perhitungan fisik.
•
Mengalihkan kuantitas dan harga pokok persatuan yang
tercantum dalam daftar hasil perhitungan fisik.
•
Mencantumkan harga pokok total dalam daftar hasil
perhitungan fisik.
•
Melakukan adjustment terhadap kartu persediaan berdasar
data hasil perhitungan fisik persediaan.
•
Membuat bukti memorial untuk mencatat adjustment data
persediaan dalam jurnal umum berdasarkan hitungan fisik
persediaan.
3. Fungsi gudang
Dalam sistem perhitungan fisik persediaan, fungsi gudang
bertanggung
jawab
untuk
melakukan
adjustment
data
kuantitas persediaan yang dicatat dalam kartu gudang
berdasarkan hasil perhitungan fisik persediaan.
2.2.3
Penjualan
2.2.3.1 Pengertian Penjualan
Kegiatan penjualan terdiri dari transaksi penjualan barang
atau jasa, baik secara kredit maupun secara tunai. Dalam transaksi
penjualan kredit, jika order dari pelanggan telah dipenuhi dengan
pengiriman barang atau penyerahan jasa, untuk jangka waktu
47
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 baru diserahkan oleh perusahaan kepada pembeli
jika perusahaan telah menerima kas dari pembeli. Kegiatan
penjualan secara tunai ini ditangani oleh perusahaan melalui
sistem penjualan tunai (Mulyadi, 2001, p202).
2.2.3.2 Fungsi yang Terkait dalam Penjualan
Fungsi yang terkait dalam sistem penjualan kredit adalah
(Mulyadi, 2001, p211) :
1. Fungsi penjualan
Dalam transaksi penjualan kredit, fungsi ini bertanggung
jawab untuk menerima surat order dari pembeli, meng-edit
order dari pelanggan untuk menambahkan informasi yang
belum ada pada surat order tersebut, meminta otorisasi kredit,
menentukan tanggal pengiriman dan dari gudang mana barang
akan dikirim, dan mengisi surat order pengiriman.
2. Fungsi kredit
Fungsi ini berada di bawah fungsi keuangan yang dalam
transaksi penjualan kredit, bertanggung jawab untuk meneliti
status kredit pelanggan dan memberikan otorisasi pemberian
kredit kepada pelanggan.
48
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 diterimanya dari fungsi penjualan.
5. Fungsi penagihan
Dalam transaksi penjualan kredit, fungsi ini bertanggung
jawab untuk mencatat piutang yang timbul dari transaksi
penjualan kredit dan membuat serta mengirimkan pernyataan
piutang kepada para debitur, serta membuat laporan penjualan.
Di samping itu, fungsi ini juga bertanggung jawab untuk
mencatat harga pokok persediaan yang dijual ke dalam kartu
persediaan.
6. Fungsi akuntansi
Dalam transaksi penjualan kredit, fungsi ini bertanggung
jawab untuk membuat dan megirimkan faktur penjualan
kepada pelanggan, serta menyediakan copy faktur bagi
kepentingan pencatatan transaksi penjualan oleh fungsi
akuntansi.
Download