BAB II LANDASAN TEORI 2.1. Sistem Basis Data 2.1.1 Pengertian

advertisement
6
BAB II
LANDASAN TEORI
2.1. Sistem Basis Data
2.1.1 Pengertian Sistem Basis Data
Sistem basis data adalah merupakan suatu kumpulan data-data yang
berhubungan secara logis, dan deskripsi dari data-data tersebut serta dirancang
untuk memenuhi informasi yang dibutuhkan oleh sebuah organisasi. Ini arti
sistem basis data menurut Connolly dan Begg. Artinya basis data merupakan
penyimpanan data yang tunggal dan besar yang dapat digunakan secara
simultan oleh banyak bagian departemen dan pemakai (user). Di dalam basis
data semua item diintegrasikan dengan jumlah duplikasi data yang minimum.
Basis data tidak lagi dimiliki oleh suatu departemen, melainkan resource
perusahaan yang dapat dishare. Basis data tidak hanya mengandung data
operasional organisasi, tetapi juga deskripsi dari data tersebut. Untuk itu, sebuah
basis data juga mendefinisikan integrasi record dari basis data itu sendiri (selfdescribing of integrated record). Deskripsi dari data dikenal sebagai sistem
catalog (data dictionary-meta data). Deskripsi ini menciptakan kebebasan dari
program aplikasi (program data independence). Pendekatan dengan sistem basis
data, dimana definisi dari data adalah dipisahkan dari program aplikasi.
Pemakai dalam melihat sebuah objek hanya pada definisi eksternal dan tidak
mengetahui bagaimana objek didefinisikan dan objek bisa berfungsi.
Pendekatan ini dikenal sebagai abstraksi data (data abstraction), di mana
7
perubahan definisi internal dari sebuah objek tanpa mempengaruhi pemakai
(user) atau tidak mempengaruhi definisi eksternal. Dalam arti lainnya,
pendekatan basis data memisahkan struktur dari pada data dari program aplikasi
dan meyimpannya ke dalam basis data. Jika ada penambahan struktur data atau
perubahan struktur data yang ada maka tidak akan mempengaruhi program
aplikasi, sehingga tidak perlu bergantung langsung dengan apa yang telah
dirubah.
Arti lain dari basis data menurut Faried Irmansyah (2003) adalah
kumpulan dari item-item data yang saling berhubungan satu dengan yang
lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu,
tersimpan di perangkat keras komputer dan dimanipulasi dengan piranti lunak
agar bisa digunakan sesuai dengan keinginan user.
Tetapi menurut Petrousos (Arte,1980,p12), basis data adalah sebuah
objek untuk menyimpan informasi terstruktur yang kompleks, yang diorganisir
dan disimpan dalam satu cara yang mengijinkan pemakainya dapat mengambil
informasi secara cepat dan efisien. Informasi dipecah ke dalam bagian-bagian
kecil agar bisa dikelola dengan mudah. Basis data adalah suatu record
terkomputasi yang memiliki tujuan untuk memberikan informasi yang
dibutuhkan (Date,2000,p4). Pemakai dapat melakukan berbagai hal di dalam
sistem basis data seperti manipulasi data dan operasi file, dimulai dari memuat
file baru ke dalam basis data, memasukkan data, mengambil data, dan lain-lain
sebagainya.
8
Dalam skripsi kami, kami menggunakan teori basis data yang di
kemukakan oleh Thomas Connolly dalam buku nya yang berjudul Database
System. Basis data merupakan sekumpulan file-file yang saling berhubungan
dan hubungan tersebut biasanya dapat ditunjukkan dengan kunci dari setiap file
yang ada. Satu basis data menunjukkan satu kumpulan data yang digunakan
dalam suatu lingkup instansi atau perusahaan. Berikut ini kegunaan basis data
dalam mengatasi masalah penyusunan data :
a. Redudansi dan inkosistensi data.
b.
Multiple user.
c. Kesulitan pengaksesan data.
d. Security (keamanan).
e. Kebebasan data.
Pada umumnya data dalam basis data bersifat integrated dan shared. Integrated
artinya adalah basis data merupakan gabungan dari beberapa file data yang
saling berbeda satu dengan yang lainnya dengan membatasi pengulangan baik
keseluruhan file atau sebagian. Shared maksudnya adalah data individual dalam
basis data dapat digunakan secara bersama-samaan antara beberapa pengguna
yang berbeda.
Data adalah merupakan kumpulan fakta yang dapat diolah menjadi informasi
yang bermanfaat, sehingga data yang ada dapat dintegrasi dan di-sharing dalam
penggunaan basis data. Data juga merupakan nilai atau value yang turut
mempresentasikan deskripsi dari suatu objek atau kejadian.
9
2.1.2
Pengertian Basisdata Terdistribusi
2.1.2.1
Definisi Basisdata Terdistribusi
Basis data terdistribusi dapat diartikan juga sebagai basis data
terintegrasi, sesuai dengan perkembangan teknologi informasi dewasa
ini, secara umum merupakan bentuk implementasi dari konsep
pengolahan terdistribuasi. Suatu basis data terdistribusi mempunyai
implikasi pengertian bahwa suatu aplikasi dapat saja secara transparan
beroperasi pada data yang penyimpanannya berada pada beberapa
lokasi (basis data), menggunakan berbagai produk perangkat lunak
DBMS, bekerja pada komputer yang berbeda, dan pada sistem operasi
yang berbeda pula, serta dihubungkan satu sama lain yang
dihubungkan melalui berbagai media jaringan komunikasi.
Pengertian transparan diatas mengandung arti bahwa dengan berbagai
bentuk fisik basisdata tersebut. Secara logikal dirasakan oleh pengguna
basisdata sebagai layaknya sebuah basis data yang dioperasikan pada
sebuah komputer.
Definisi basis data terdistribusi dapat dituliskan sebagai berikut:
Sistem basisdata terdistribusi adalah basisdata yang terdiri dari
kumpulan site (instalasi), dihubungkan satu dengan yang lainnya
menggunakan jaringan komunikasi, dimana:
1. Setiap site adalah merupakan basis data sendiri, atau masingmasing site merupakan betul-betul satu basisdata yang memiliki
sendiri DBMS maupun perangkat lunak management transaksi
10
(termasuk locking local, logging, dan prosedur recovery), serta
perangkat lunak komunikasi data.
2. Semua site setuju bekerja sama (bila perlu), sehingga pengguna
pada site yang mana saja dapat mengakses tersebut berada pada
lokasi pengguna itu sendiri.
Secara umum suatu basis data terdistribusi dapat dilihat pada
gambar 4.1 Pada gambar tersebut dapat saja antara satu lokasi
basisdata dengan basisdata yang lain terpisah dengan jarak yang
sangat jauh, tetapi dapat terjadi pula bahwa dua atau lebih basis
data berada pada lokasi gedung yang sama bahkan pada mesin
yang sama misalnya pada aplikasi jaringan area lokal (LAN)
yang menggunakan multi basis data.
Disebutkan, bahwa berbagai site tersebut menggunakan DBMS
yang
berbeda,
namun
untuk
memudahkan
pembahasan
selanjutnya maka kita asumsikan bahwa berbagai site yang
terlibat dalam jaringan basisdata terdiri dari sistem-sistem yang
homogen. Mengapa diperlukan basis data terdistribusi? Jawaban
mendasar dari pertanyaan ini adalah pada umumnya enterprise
sendiri pada umumnya secara fisik sudah terdidtribusi misalnya
dengan kontor pusat dan kantor-kantor cabangnya, atau secara
structural
terdiri
dari
divisi-divisi
(pemasaran,
personil,
pembelian, penjualan dan lain-lain) dari bentuk seperti ini saja
11
sudah bisa kita bayangkan bahwa datanya pasti terdistribusi,
karena setiap bagian dan cabang akan secara logical mengelola
datanya sendiri untuk kepentingan operasinya. Data lokal dapat
dikelola pasa masing-masing site, namun bila diperlukan suatu
site dapat mengakses data yang lain, tentunya dengan pengaturan
batasan wewenang akses yang berlaku. Salah satu keuntungan
yang
jelas
dari
model
basis
data
terdistribusi
adalah
memungkinkan dibuat struktur yang merupakan model dari
enterprise itu sendiri. Namun perlu dilihat salah satu kerugian
utama dengan sistem basis data terdistribusi adalah rumit dari
aspek teknis. Memang seharusnya kompleksitas tersebut hanya
muncul dari sisi implementer, bukan dari sisi pengguna, namun
pada kenyataannya kerumitan terjadi juga tidak terhindarkan bagi
pengguna. Biasanya dari berbagai produk DBMS yang sudah
ada, bila akan mengimplementasikan produknya dilingkungan
aplikasi yang terdistribusi maka secara khusus akan menerbitkan
produk perangkat lunak khusus yang ditempelkan pada produk
yang ada.seperti misalnya R* (dibaca R star) yang merupakan
versi terdistribusi dari System R yang dibuat oleh IBM (1980),
Distributed ingress dari ingress (1980), DB2 Version 2 Release 2
dari IBM dan lain-lain. Yang jelas dari semua produk baru di
atas menggunakan teknologi relasional sebagai basis desainnya.
12
2.1.2.2
Prinsip-prinsip dasar
Pada dasar, bagi pengguna, sistem yang terdistribusi harus
dirasakan sebagai sistem yang non terdistribusi. Atau dengan kata lain,
bahwa pengguna pada sistem yang terdistribusi harus berperilaku
seperti halnya pengguna pada sistem yang tidak terdistribusi. Semua
permasalahan yang ada pada sistem terdistribusi harus dipecahkan
secara internal, bukan permasalahan eksternal atau tingkat pengguna
yang didalam operasi terhadap basisdata menggunakan bahasa
manipulasi
data (DML) seperti SELECT, INSERT, UPDATE, dan
DELETE, yang secara logikal haruslah tidak berubah. Mungkin bahasa
definisi (DDL) mengalami beberapa perkembangan , misalnya saja
bila suatu tabel dibuat di site A, maka pembuat dapat menentukan
misalnya datanya disimpan di site B. Kita namakan prinsip tersebut
sebagai “ Kaidah Nol” dari sistem terdidtribusi .
Prinsip-prinsip dasar
dari basis data terdistribusi adalah suatu hal
sangat penting agar dapat dibedakan antara basisdata terdistribusi
dengan apa yang disebut akses data secata remote (yang kadangkadang disebut sistem pengolahan terdistribusi atau sistem jaringan)
pada sistem ini user dapat beroperasi pada data yang letaknya
berjauhan atau bahkan pada data di beberapa site secara simultan.
13
Kaidah-kaidah dari sistem terdistribusi:
1.
Otonomi Lokal
Suatu site dalam sistem terdistribusi harus memiliki
otonomi. Otonomi lokal mempunyai arti bahwa semua operasi
yang
dilaksanakan
pada
suatu
site
yang
sepenuhnya
dikendalikan oleh site tersebut, tidak ada site yang tergantung
pada site lain ataupun suatu site lokal tergantung (down) maka
site yang lain masih beroperasi dengan normal. Otonomi lokal
mempunyai implikasi bahwa data lokal dimiliki dan dikelola ,
secara lokal. Semua data benar-benar dimiliki oleh basis data
lokal bersangkutan meskipun dapat diakses dari site remote.
Berbagai aspek seperti keamanan, integritas dan representasi
penyimpanan data lokal tetap dalam pengendalian site
bersangkutan.
2.
Tidak tergantung pada site pusat
Otonomi lokal juga mempunyai implikasi bahwa semua
site harus diperlakukan setingkat, tidak ada ketergantungan
pada site induk pusat untuk mendapatkan berbagai dukungan,
seperti misalnya pengolahan query terpusat atau manajemen
transaksi terpusat, sehingga seluruh sistem tergantung pada site
pusat. Ketergantungan pada site pusat sangat tidak diharapkan
karena dua alasan berikut:
14
a. Site pusat dapat menjadi “bottleneck”
b. Sistem akan menjadi sangat rawan (“vulnerable”) yaitu
bila site pusat mati, maka seluruh sistem juga mati.
3.
Operasi yang berlanjut
Pada sistem terdistribusi seperti halnya pada sistem yang
non distribusi, secara ideal tentunya sistem tidak pernah
dimatikan dalam kondisi apapun.
4.
Transparan Lokasi (Independensi Lokasi)
Pengertian dasar dari transparan lokasi adalah
bahwa
pengguna tidak perlu mengetahui dimana data tersimpan secara
fisik, sebaliknya pengguna harus dapat berlaku secara logikal
seakan data berada di site sendiri meskipun secara fisik dapat
berada dimana saja. Transparan lokal sangat diperlukan, untuk
menyederhanakan program-program pengguna dan kegiatan di
terminal. Secara khusus memungkinkan adanya migrasi data
dari site ke site yang lain tanpa harus merubah program
ataupun kegiatan tersebut. Migrasi kadang-kadang sangat
diperlukan dalam rangka menyesuaikan terhadap kebutuhan
unjuk kerja yang lebih baik
15
5.
Transparan Fragmentasi
Sistem terdistribusi
melaksanakan fragmentasi data,
dimana suatu tabel dapat dipecah menjadi bagian bagian atau
fregmentasi dan disimpan terspisah secara fisik. Fragmentasi
ini biasanya diperlukan untuk meningkatkan unjuk kerja. Data
dapat disimpan pada lokasi dimana paling sering dipergunakan
sehingga dengan demikian operasi terhadap data dapat
dilakukan secara lokal dan mengurangi trafik jaringan. Pada
dasarnya ada dua macam bentuk fragmentasi , horisontal dan
vertikal yang berarti fragmentasi berdasarkan pada pengertian
operasi aljabar relasional restriksi dan proyeksi. Namun secara
umum, fragmentasi dapat merupakan berbagai bentuk subrelasi
yang diturunkan dari operasi restriksi dikombinasikan dengan
operasi proyeksi ( khususnya untuk proyeksi harus tetap
memperhatikan peranan primary key dalam bentuk tabel asli).
Rekonstruksi tabel asli, dapat di lakukan dengan operasi join
dan union (join untuk fragmentasi vertikal,sedang union untuk
fragmentasi horisontal dapat di catat di sini bahwa, fragmentasi
yang mudah dan rekontruksi yang
mudah pula merupakan
alasan utama mengapa sistem terdistribusi haruslah relasional,
karena model relasional menunjang operasi–operasi tersebut
secara tepat.
16
Sistem yang mendukung fragmentasi data harus juga
mempunyai
kemapuan
untuk
mendukung
transparansi
fragmentasi sehingga pengguna dapat berlaku seolah data tidak
difragmentasi paling tidak secara logikal. Transparansi
fragmentasi diperlukan untuk memudahkan program dan
kegiatan access data di terminal. Dengan cara tersebut juga
memungkinkan refragmentasi tanpa harus merubah program
atau kegiatan terminal, misalnya dalam mencari unjuk kerja
yang lebih baik.
6.
Transparan Replikasi
Sistem terdistribusi juga mempunyai kemampuan
menggunakan bentuk replikasi data. Replikasi data diperlukan
dengan alasan utama :
•
Merupakan suatu cara meningkatkan unjuk kerja
(aplikasi dapat beroperasi pada copy yang ada di site
sehingga mengurangi beban trafik jaringan).
•
Merupakan
suatu
cara
untuk
meningkatkan
ketersediaan data (availability) artinya object yang diaccess selalu tersedia sepanjang terdapat minimum satu
copy.
Namun replikasi mempunyai kerugian terutama bila kita
memutakhirkan suatu fragment tabel, maka semua copy dari
17
objek tersebut harus dimutakhirkan, masalah propagasi,
kesulitan juga akan muncul bila site yang menyimpan copy
obyek bersangkutan tidak bisa ditemukan, misalnya karena
tiba-tiba ada kerusakan di dalam jaringan pada saat terjadi
replikasi.
7.
Pengolahan Query terdistribusi
Tujuan untuk meminimumkan trafik jaringan mempunyai
implikasi proses optimasi query-nya harus didistribusikan,
demikian pula proses eksekusi query-nya sendiri.
Dengan
demikian proses biasanya akan terdiri langkah optimisasi
global, kemudian diikuti langkah optimasi lokal pada masingmasing site yang terlibat
8.
Manajemen Transaksi Terdistribusi
Dengan manajemen konkurensi, dalam sistem terdistribusi
akan sangat tergantung pada mekanisme locking, sama halnya
dalam sistem yang non distribusi. Namun pada sistem
terdistribusi permintaan tes , men-set , dan pelepasan “lock”
menjadi pesan.
18
9.
Transparansi Perangkat Keras
Perangkat keras merupakan kebutuhan dalam sistem
terdistribusi dan mempunyai peran yang sama untuk dapat
mengintegrasikan dalam sistem–sistem dan menyajikan pada
pengguna sebagi suatu sistem. Sama halnya dengan sistem
operasi sebagai platform yang berbeda pula. Maka secara jelas
sistem
tersebut
harus
bekerja
pada
berbagai
jaringan
komunikasi.
10.
Transparansi Sistem Operasi
Sasaran merupakan keterkaitan yang erat dengan
transparansi (independensi) perangkat keras diatas sangat jelas,
dengan menggunakan perangkat keras yang berbeda, tentunya
juga menggunakan sistem operasi sebagai platform yang
berbeda pula. Jika tidak saja kita harus dapat menjalankan
DBMS pada mesin yang berbeda, tetapi juga pada sistem
Operasi yang berbeda pula , misalnya pada Sistem Operasi
UNIX, PC DOS, dan lain sebagainya.
11.
Transparansi Jaringan
Jika suatu sistem dapat bekerja pada banyak site yang
terpisah–pisah lokasinya, dengan berbagai perangkat keras
yang berbeda , dan dengan sistem operasi yang berbeda pula ,
19
maka secara jelas sistem tersebut harus dapat bekerja pada
berbagai jaringan komunikasi
12.
Transparansi DBMS
Berdasarkan kaidah ini, maka kita berharap bahwa
lingkungan sistem terdistribusi seharusnya dapat dilaksanakan
dengan kondisi yang lebih heterogen, menggunkan produkproduk DBMS yang berbeda. Hal ini agak sulit bisa
dilaksanakan, mengingat satu produk DBMS dengan produk
DBMS yang lain biasanya memiliki struktur perangkat lunak
yang sangat berbeda, meskipun menggunkan bahasa-bahasa
kueri yang standar. Namun dengan berbagai teknik interface
ternyata dapat dibuktikan bahwa hal ini dimungkinkan untuk
dilaksanakan sehingga pada lingkungan yang multi DBMS
seorang pengguna pada satu DBMS yang lain seperti layaknya
menggunakan DBMS yang pertama.
2.1.3
Komponen-komponen dari DBMS
Kita dapat mengidentifikasi 5 komponen-komponen utama dalam
DBMS, yaitu antara lain adalah:
•
Hardware, DBMS dan aplikasi membutuhkan hardware
agar dapat beroperasi. Ada beberapa DBMS yang hanya
20
dapat beroperasi pada perangkat keras ataupun sistem
operasi tertentu.
Perangkat keras yang dibutuhkan untuk management basis
data biasanya masih berupa mesin standard yang ada,
dalam arti tidak ada kekhususan tertentu. Akan tetapi
karena sifatnya dalam access data yang lebih sangat
bervariasi (yang tentunya cenderung lebih banyak direct
access) maka suatu manajemen basis data akan lebih
banyak membutuhkan media penyimpanan (hardisk).
•
Software, merupakan komponen dari DBMS itu sendiri dan
program aplikasi termasuk sistem operasi. Program aplikasi
ada yang ditulis dengan bahasa pemrograman ke-tiga
(3GL) seperti C, C++, Java, Visual Basic, COBOL, Fortran
dan ada juga yang ditulis dengan bahasa pemrograman keempat (4GL) seperti SQL.
Antara fisik basis data
(tempat di mana sesungguhnya
suatu basis data dapat tersimpan dalam media) dengan
pengguna terdapat suatu piranti lunak yang disebut sistem
manajemen basis data atau juga disebut DBMS. Semua
kebutuhan akses oleh pengguna seperti pembentukan file,
penambahan
data,
penghapusan
data
dan
lain-lain
dilakukan oleh DBMS. Satu hal lagi, bahwa DBMS juga
21
berfungsi untuk memberikan suatu batas agar sesama
pengguna basis data tidak perlu memikirkan berbagai hal
yang berkaitan dengan detil pada level perangkat keras
(misalnya metoda akses).
•
Data, merupakan komponen yang penting dari basis data.
Data merupakan penghubung antara mesin dan manusia.
Basis data terdiri dari operational data dan metadata.
Data dalam basis data merupakan data yang single user
(hanya satu pengguna yang beroperasi terhadap basis data)
tau multi user di mana satu atau lebih pengguna beroperasi
secara bersamaan ke dalam basis data. Sehingga data dalam
basis data terutama untuk sistem yang besar harus
terintegrasi (integrated) dan dapat dipakai secara bersamasama (shared).
•
Procedur,
merupakan
instruksi
dan
aturan
yang
menentukan pembuatan dan penggunaan dari basis data.
User membutuhkan prosedur untuk menjalankan dan
menggunakan sistem.
22
•
Brainware, terdiri dari empat jenis, yaitu data dan database
administrator, database designer, application developer
dan end user.
Sebagai pengguna basis data secara umum dapat dibagi
dalam tiga kelompok besar pengguna, yaitu :
1. Database Administrator
Database Administrator adalah orang atau kelompok
orang yang merupakan penanggung jawab pada
penyelenggaraan basis data. Basis data administrator
mempunyai fungsi yang meliputi berbagai kegiatan
seperti tempat pengaturan data, pengamanan data,
recovery procedur, backup procedur. Jadi secara lebih
jelas dapat dikatakan bahwa database administrator
adalah seorang atau group personil pengolahan data
yang bertanggung jawab terhadap kontrol keseluruhan
basis data. Berikut merupakan berbagai kegiatan
pengendalian basis data:
•
Menentukan isi informasi basis data.
•
Penghubung antar pengguna.
•
Menentukan struktur penyimpanan.
•
Menentukan
prosedur
kewenangan dan validasi.
cek
otorisasi
atau
23
•
Memonitor
penampilan
memberikan
respon
(performance)
terhadap
dan
permintaan
perubahan oleh pengguna.
•
Menentukan strategi backup dan recovery.
2. Programmer
Programmer merupakan tenaga ahli komputer yang
berfungsi untuk mengembangkan program-program
aplikasi yang diperlukan dalam manajemen basis data.
Seringkali suatu aplikasi basis data memang perlu
disiapkan dalam bentuk program, misalnya untuk
bentuk tampilan layar dalam proses penyiapan dan
pemuktahiran data, pembuatan laporan-laporan baik
yang melalui printer ataupun layar monitor dan lainlain. Program aplikasi basis data dapat dikembangkan
dengan menggunakan bahasa pemrograman SQL.
Program aplikasi yang dikembangkan dapat juga
ditempelkan pada layar web pada aplikasi internet,
sehingga bagi pengguna akhir akan menjadi sangat
mudah melakukan akses ke dalam basis data.
24
3. End User ( Pengguna Akhir )
Yang termasuk dalam kategori pengguna akhir adalah
pemilik
sistem
atau
enterprise,
para
manager,
supervisor, operator, pelanggan dan sebagainya yang
terlibat
langsung
dalam
pengunaan
basis
data.
Pengguna melakukan akses ke dalam basis data
menggunakan alat bantu yang dikembangkan oleh
programmer, analis ataupun browser.
2.1.4
Alasan penggunaan dari DBMS
Ada beberapa keuntungan dan kerugian dalam penggunaan
basis data yang diperoleh dari hasil penerapan menajemen basis
data pada suatu perusahaan.
Keuntungan dari Database Management system
Keuntungan dari DBMS antara lain :
•
Kontrol terhadap redudansi data. Dengan basis data, filefile diintegrasikan sehingga data-data yang sama dapat
dikontrol.
•
Konsistensi data, dengan terkontrolnya redudansi data,
maka data menjadi konsisten.
•
Sharing data, dengan DBMS user dapat melakukan sharing
data dengan user lainnya.
25
•
Meningkatkan integritas data, integritas dari suatu basis
data adalah validitas dan konsistensi dari data pada basis
data tersebut. Dengan DBMS dapat diterapkan sejumlah
batasan agar integritas data dapat terjaga.
•
Meningkatkan keamanan, data dapat diproteksi dari user
yang tidak memiliki autoritas terhadap data tersebut.
•
Meningkatkan backup dan recovery, untuk mencegah
terjadinya kerusakan atau kehilangan data, dapat dilakukan
proses backup dan recovery.
Kerugian dari Data Base Management Sistem
Kerugian dari DBMS antara lain adalah:
•
Kompleksitas, keharusan untuk menghasilkan suatu DBMS
yang baik membuat software DBMS menjadi semakin
kompleks. Perancang dan pengembangan basis data,
administrator data, dan pengguna akhir harus mengerti
fungsi-fungsi dari DBMS supaya dapat memperoleh
keuntungan secara maksimal. Kesalahan pemahaman dari
sistem dapat menghasilkan keputusan yang salah. Karena
sistem yang kompleks mengakibatkan DBMS memiliki
ukuran yang semakin besar, dan berakibat banyaknya ruang
disk yang dibutuhkan dan juga membutuhkan memori yang
besar supaya program dapat berjalan secara efisien.
26
Kompleks, karena kemampuan perangkat lunak yang lebih
besar menjadi terlihat lebih rumit dan penguasaan yang
lebih
tinggi,
antara
lain
untuk
kebutuhan
sistem
administrasi, prosedur recovery, prosedur backup, penataan
keamanan data dan penataan dalam rangka proses yang
konkuren.
•
Biaya DBMS, harga dari DBMS bervariasi tergantung dari
fungsi dan kebutuhan. Kebutuhan penyimpanan untuk
DBMS mengharuskan pembelian ruangan penyimpanan
tambahan. Selanjutnya untuk mencapai performance yang
diperlukan, mungkin perlu membeli mesin yang lebih
besar, sehingga pengadaan perangkat keras tambahan
mengakibatkan pembelanjaan lebih lanjut. Dalam beberapa
situasi, biaya DBMS dan ekstra hardware mungkin tidak
penting dibandingkan dengan biaya untuk mengkonversi
aplikasi yang ada untuk dijalankan pada DBMS dan
hardware yang baru. Biaya ini juga termasuk biaya untuk
melatih staff untuk menggunakan sistem yang baru ini dan
mungkin juga biaya untuk memperkerjakan staff spesialis
untuk membantu mengkonversi dan menjalankan sistem
baru. Biaya ini yang menjadi alasan utama kenapa beberapa
27
organisasi puas dengan sistem yang sekarang dan tidak
ingin beralih ke sistem yang modern.
•
Performance, secara khusus sebuah sistem file-based
ditulis untuk sebuah aplikasi spesifik seperti invoicing.
Hasilnya,
performance
secara
umum
lebih
baik.
Bagaimanapun DBMS harus ditulis menjadi lebih umum
lagi untuk menyediakan beberapa aplikasi sekaligus, tetapi
akibatnya beberapa aplikasi tidak berjalan secara cepat
seperti biasanya.
• Dampak kegagalan dari DBMS, pemusatan dari sumber
daya dapat meningkatkan kemudahan rusak dari sebuah
sistem. Karena semua pemakai dan aplikasi tergantung
pada ketersediaan dari DBMS, kegagalan beberapa
komponen bisa membuat operasi berhenti.
2.2
Database Application Life Cycle
Database life cycle merupakan komponen yang penting dalam sistem
basis data karena aplikasi dari database life cycle berkaitan dengan informasi
yang ada. Langkah-langkah dari database life cycle dapat dilihat pada gambar di
bawah ini :
28
Database planning
System definition
Requirement collection
and analysis
Database design
Conceptual database design
DBMS selection (optional)
Application design
Logical database design
Physical database design
Implementation
Prototyping (optional)
Data conversion & loading
Testing
Operational maintenance
Gambar 2.1 ( Connolly, 2002, p27 )
2.2.1
Database Planning
Merencanakan bagaimana tahapan dari life cycle dapat dijalankan
dalam sistem basis data secara efektif dan efisien. Perencanaan basis data (
Database Planning ) harus terintegrasi dengan keseluruhan strategi sistem
informasi dari organisasi. Ada tiga masalah pokok dalam merumuskan
suatu strategi sistem informasi, yaitu :
29
1. Identifikasi rencana dan tujuan perusahaan dengan penentuan
kebutuhan sistem informasi berikutnya.
2. Mengevaluasi sistem informasi yang ada sekarang untuk
menentukan
3. Penilaian
kekuatan dan kelemahan yang ada.
kesempatan
peluang
teknologi
informasi
yang
menghasilkan keuntungan yang kompetitif.
Perencanaan basis data perlu juga meliputi pengembangan standard yang
mengontrol bagaimana data akan dikumpulkan, bagaimana format harus
diterapkan, dokumentasi apa saja yang diperlukan, dan bagaimana
rancangan dan implementasi dapat diproses. Dalam merancang suatu
standard yang baik harus menyediakan suatu basis untuk staff pelatihan
dan mengukur pengendalian mutu, dan dapat memastikan bahwa
pekerjaan yang ada menyesuaikan diri kepada suatu pola teladan, tanpa
tergantung dengan ketrampilan dan pengalaman staff.
2.2.2
System Definition
Adalah menentukan ruang lingkup dari aplikasi basis data yang
akan dibuat termasuk pengguna dan tempat di mana aplikasi basis data
tersebut diterapkan. Sebelum mencoba untuk merancang suatu aplikasi
basis
data,
sangatlah
penting
bahwa
pertama
kali
kita
harus
mengidentifikasi batasan-batasan sistem yang ada dan bagaimana sistem
tersebut dapat menghubungkan dengan bagian lain yang terdapat dalam
sistem informasi organisasi / perusahaan. Dan juga sangatlah penting
30
bahwa kita harus menentukan batasan-batasan sistem tidak hanya area
aplikasi dan para pemakai yang sekarang, tetapi juga aplikasi para
pemakai masa depan.
Suatu aplikasi basis data mungkin punya satu atau lebih user views dan
mengidentifikasi user views adalah suatu hal yang penting dalam
mengembangkan suatu aplikasi basis data, sebab dapat membantu untuk
memastikan bahwa tidak ada pengguna utama dalam basis data tersebut
terlupakan ketika mengembangkan kebutuhan untuk aplikasi basis data
yang baru. User views sangat membantu dalam pengembangan aplikasi
basis data yang relatif kompleks karena user views dapat membuat basis
data tersebut dipecah ke dalam bagian-bagian yang dapat dikendalikan.
User views menggambarkan apa yang diperlukan suatu aplikasi basis data
dalam kaitan dengan data yang disimpan dan transaksi untuk dilakukan
atas data tersebut. Kebutuhan user views mungkin beda dengan view yang
bersangkutan atau tumpang tindih dengan view yang lain.
2.2.3
Requirement Collection and Analysis
Pengumpulan kebutuhan dan analisis informasi tentang bagian dari
organisasi / perusahaan yang didukung oleh aplikasi basis data dan
menggunakan informasi ini untuk mengidentifikasi kebutuhan user dari
sistem yang baru. Pengumpulan kebutuhan dan analisis dapat dilakukan
dengan cara :
31
1.
Mempelajari
dokumentasi
bermanfaat untuk
(Examining
Documentation),
memperoleh beberapa pengetahuan, seperti
bagaimana kebutuhan akan suatu basis data yang ada. Selain itu
juga dapat membantu menyediakan informasi pada bagian
perusahaan yang dihubungkan dengan masalah. Jika masalah
berhubungan dengan sistem yang sedang berjalan, maka pasti ada
dokumentasi yang dihubungkan dengan sistem tersebut. Dengan
mempelajari dokumen-dokumen, laporan dan file yang berkaitan
dengan sistem yang ada maka dapat dengan cepat memperoleh
beberapa pemahaman tentang sistem.
2.
Wawancara (Interview), yaitu teknik yang paling sering
digunakan. Dengan wawancara dapat memperoleh informasi dari
individu dengan cara bertatap muka. Ada beberapa tujuan dalam
menggunakan interview, antara lain seperti menemukan fakta,
verifikasi, klarifikasi, menampilkan antusiasme, melibatkan
pengguna akhir, identifikasi kebutuhan dan memperoleh ide atau
opini. Dengan mengggunakan teknik interview membutuhkan
kemampuan dan komunikasi yang baik untuk menghadapi orangorang yang mempunyai pandangan yang berbeda dalam hal
prioritas pendapat, motivasi dan kepribadian.
Keuntungan dari interview antara lain :
32
•
Memungkinkan orang yang diwawancarai untuk menjadi
bagian dari proyek.
•
Memungkinkan orang yang diwawancarai untuk merespon
secara bebas dan terbuka terhadap suatu pertanyaan.
•
Memungkinkan pewawancara untuk mengamati gerak
tubuh dari orang yang diwawancarai.
•
Memungkinkan pewawancara untuk mengadaptasi atau
menyusun ulang pertanyaan selama proses interview.
Kekurangan dari wawancara antara lain yaitu :
•
Banyak menghabiskan waktu dan biaya.
•
Kesuksesan dapat bergantung kepada kemauan dari orang
yang diwawancara untuk berpartisipasi dalam interview.
•
Kesuksesan tergantung pada kemampuan komunikasi dari
si pewawancara.
3.
Penelitian ( Research ), berfungsi untuk meneliti aplikasi dan
masalah. Majalah-majalah komputer , buku-buku petunjuk dan
internet merupakan sumber informasi yang baik.
Keuntungan dari Penelitian adalah :
•
Dapat menghemat waktu jika solusinya ada.
•
Peneliti dapat memperoleh informasi yang up to date.
33
•
Peneliti dapat melihat orang lain dalam menyelesaikan
masalah yang serupa.
Kekurangan dari penelitian adalah :
•
Menghabiskan waktu.
•
Mungkin tidak dapat membantu dalam menyelesaikan
masalah sebab masalahnya tidak didokumentasi.
•
Membutuhkan akses ke sumber informasi yang dibutuhkan.
4. Kuisioner ( Questionnaires ) adalah dokumen-dokumen yang
mempunyai tujuan tertentu yang mengumpulkan fakta-fakta
dari sejumlah orang ketika mempertahankan beberapa kontrol
atas respon-respon mereka. Ada dua tipe dari jenis pertanyaan
kuisioner, yaitu :
a.
Fix format questions,
Membutuhkan jawaban yang lebih spesifik dari
responden. Setiap pertanyaan yang diberikan sudah
ada pilihan jawaban, sehingga jawaban dari respon
lebih terkontrol.
b.
Free format questions,
Membutuhkan jawaban yang lebih bebas dan lebih
luas dari para responden.
34
Keuntungan dari kuisioner antara lain :
•
Tanggapan
dapat
dikumpulkan
dan
dianalisa
dengan cepat.
•
Orang-orang dapat mengisi dan mengembalikan
kuisioner sesuai dengan keinginan mereka.
•
Secara relative merupakan cara yang murah
memperoleh data
dari orang banyak.
Kekurangan dari kuisioner adalah :
•
Mungkin dapat dikembalikan dengan jawaban yang
tidak lengkap.
•
Dapat memakan waktu menyiapkan kuisioner.
•
Jumlah respon mungkin rendah.
•
Mungkin tidak menyediakan kesempatan untuk
beradaptasi atau merubah pertanyaan yang salah
ditafsirkan.
5. Mengamati ( Observasi ) adalah merupekan teknik fact-finding
untuk mengerti sebuah sistem, teknik ini memungkinkan untuk
berpartisipasi atau mengawasi seseorang melakukan aktivitas
untuk mempelajari tentang sistem.
Keuntungan dari mengamati adalah :
•
Relatif tidak mahal.
35
•
Pengamat dapat melihat secara langsung apa saja yang
dilakukan.
•
Pengamat
dapat
mendeskripsikan
juga
memperoleh
data
lingkungan-lingkungan
dengan
fisik
dari
suatu pekerjaan.
•
Memungkinkan pengecekan valid tidaknya dari suatu
fakta dan data.
Kekurangan dari mengamati antara lain :
•
Adanya kemungkinan kehilangan tugas pengamatan
tergantung dari tingkat kesulitan yang berbeda.
•
Kurang praktis.
•
Seseorang dapat berubah dalam bekerja ketika tahu
sedang diamati.
•
Beberapa tugas mungkin tidak selalu dilakukan ketika
sedang perlu diamati.
2.2.4
Database Design
Salah satu aplikasi yang umum dikenal dalam aplikasi basis data
adalah perancangan basis data ( database design ). Perancangan basis data
dimulai ketika analisis terhadap suatu kebutuhan perusahaan telah
dilakukan. Di dalam perancangan basis data terdapat suatu metodologi
yang membantu dalam membuat suatu basis data. Yang dimaksud dengan
36
metodologi perancangan basis data adalah sebuah pendekatan struktur
yang mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi untuk
mendukung dan memberi sarana dalam proses perancangan basis data
terdiri dari tahap-tahap yang membantu para perancang dengan teknik
yang tepat dalam setiap merancang basis data. Metodologi perancangan
basis data juga membantu perancang untuk merancanakan, mengatur dan
mengevaluasi pengembangan dari proyek pembuatan basis data tersebut.
Dalam metodologi perancangan basis data, proses perancangan dibagi
menjadi 3 bagian yaitu Conceptual Database Design, Logial Database
Design, dan Physical Database Design.
•
Conceptual Database Design, yaitu proses membangun suatu model
informasi yang digunakan dalam perusahaan yang tidak bergantung
pada pertimbangan fisik. Conceptual Database Design meliputi
pembuatan sebuah konseptual data model sebagai bagian dari
perusahaan. Data model dibangun menggunakan informasi yang
didokumentasi dari user requirement. Conceptual Database Design
secara keseluruhan terbebas dari detil penerapannya, seperti DBMS
software, aplikasi program, programming language, hardware
platform atau pertimbangan fisik lainnya.
•
Logical Database Design adalah proses membangun suatu model
informasi yang digunakan dalam perusahaan yang berdasarkan pada
sebuah model data yang spesifik, tetapi tidak bergantung pada sebuah
37
DBMS tertentu dan pertimbangan fisik lainnya. Konseptual data
model yang dibuat pada tahap sebelumnya disempurnakan dan
dipetakan menjadi sebuah logikal data model.
•
Physical Database Design dilakukan untuk memutuskan struktur logic
secara fisik yang diimplementasikan ke dalam tujuan DBMS, para
perancang juga harus membuat keputusan mengenai bagaimana basis
data tersebut dapat diimplementasikan / diterapkan dalam perusahaan.
Oleh karena itu, Physical Database Design untuk meningkatkan
kinerja dari basis data tersebut dapat mempengaruhi logikal data
model.
Ada beberapa faktor-faktor penting dalam merancang suatu basis data
antara lain yaitu :
1. Mengadakan pertemuan dengan user sesering mungkin untuk
membicarakan rancangan basis data yang akan di buat.
2. Mengikuti langkah-langkah yang terdapat dalam metodologi
perancangan basis data.
3. Melakukan pendekatan terhadap data-data yang akan digunakan.
4. Menggabungkan pertimbangan integrity dan struktural ke dalam
model data.
5. Menggabungkan konseptual, normalisasi, dan validasi transaksi ke
dalam metodologi model data.
6. Gunakan diagram untuk menjelaskan model data tersebut.
38
7. Gunakan Database Design Language ( DBDL ) untuk menjelaskan
tambahan data yang tidak bisa dijelaskan dengan menggunakan
diagram.
8. Buat kamus data untuk mendukung diagram dari model data dan
DBDL.
9. Ulangi langkah-langkah tersebut.
2.2.5
DBMS Selection ( Optional )
Pemilihan DBMS dilakukan untuk memilih DBMS yang cocok
atau sesuai dengan aplikasi basis data yang dibuat. Bagaimanapun
pemilihan DBMS bisa dilakukan pada setiap waktu sebelum melakukan
logical design yang menyajikan informasi cukup mengenai kebutuhan
sistem seperti performance, security, dan integrity constrain. Walaupun
pemilihan DBMS mungkin jarang, tetapi ketika kebutuhan perusahaan
sedang diperluas atau sistem yang berjalan digantikan, mungkin menjadi
perlu kadang-kadang untuk mengevaluasi produk DBMS yang baru. Suatu
pendekatan
sederhana
dalam
melakukan
DBMS
adalah
dengan
mencocokan DMS dengan kebutuhan. Secara khusus DBMS menyediakan
fasilitas-fasilitas seperti :
•
Mengijinkan user untuk menentukan basis data, biasanya melalui Data
Definition Language ( DDL ). DDL mengijinkan user untuk
memspesifikasi tipe data dan struktur dan batasan-batasan data yang
bisa disimpan di basis data.
39
•
Mengijinkan user untuk insert, update, delete, dan retrieve data dari
basis data, biasanya melalui Data Manipulation Language ( DML )
•
DBMS menyediakan akses kontrol ke basis data.
Contohnya antara lain :
a.
Security System, di mana mencegah user autorisasi untuk
mengakses basis data.
b.
Integrity
System,
di
mana
menangani
konsistensi
penyimpanan data.
c.
Concurrency Control System, di mana mengijinkan basis
data untuk diakses secara share.
d.
Recovery Control System, di mana basis data bisa direstore pada
saat
terjadi
kesalahan
pada
hardware
ataupun software.
e.
User-Acessible Catalog, di mana berisi deskripsi data di
dalam basis data.
Berikut langkah-langkah utama dalam memilih DBMS :
1. Menggambarkan
cakupan
tugas
berdasarkan
kebutuhan
perusahaan.
2. Membuat perbandingan mengenai dua atau tiga produk DBMS.
3. Mengevaluasi produk-produk DBMS tersebut.
4. Merekomendasi pemilihan DBMS dan membuat laporan hasil
dari evaluasi produk DBMS tersebut.
40
2.2.6
Application Design
Perancangan
user
menghubungkan
program
aplikasi
yang
menggunakan dan memproses basis data tersebut. Mengamati desain
aplikasi dan basis data itu adalah aktivitas paralel pada aplikasi basis data
life cycle. Dalam banyak kasus, tidaklah mungkin untuk melengkapi atau
menyudahi desain aplikasi itu sampai perancangan basis data terhadap
dirinya sendiri yang sedang berlangsung. Pada sisi lain, basis data ada
untuk mendukung aplikasi tersebut, dan demikian harus ada suatu
informasi antar desain aplikasi dan desain basis data.
Kita harus memastikan bahwa semua kemampuan menyatakan
spesifikasi kebutuhan pemakai ada di dalam desain aplikasi untuk aplikasi
basis data. Ini melibatkan program aplikasi mengakses basis data akan
merancang transaksi tersebut ke dalam akses basis data.
Sebagai tambahan terhadap perancangan bagaimana kemampuan yang
diperlukan atau diharapkan untuk dapat tercapai, maka kita harus
mendesain seorang user yang sesuai untuk menghubungkan ke aplikasi
basis data tersebut. Alat penghubung ini menyajikan informasi yang
diperlukan sehingga mudah dioperasikan. Bagaimanapun, haruslah
dikenali bahwa alat penghubung mungkin adalah salah satu dari
komponen yang paling utama dari sistem itu. Pada sisi lain jika alat
penghubung tidak mempunyai satupun karakteristik maka sistem akan
menyebabkan permasalahan.
41
2.2.7
Prototyping
Prototype adalah merupakan suatu model aplikasi basis data yang
mempunyai semua corak yang diperlukan dan menyediakan semua
kemampuan sistem. Tujuan utama untuk mengembangkan suatu aplikasi
prototype database adalah agar user dapat mengidentifikasi fitur sistem
menjadi bekerja dengan baik. Jika memungkinkan, pemakai dapat
memberikan saran untuk mengadakan perbaikan atau bahkan fitur baru
dalam aplikasi basis data tersebut. Keuntungan prototype adalah relatif
murah dan cepat dalam proses pembuatannya.
Ada dua strategi prototyping, yaitu requirements prototyping dan
evolutionary prototyping.
Requirements Prototyping adalah prototype yang menentukan kebutuhankebutuhan yang diusulkan aplikasi basis data dan jika kebutuhankebutuhan sudah dilengkapi maka prototype tidak dipakai atau dibuang.
Sedangkan Evolutionary Prototyping, adalah prototype yang sama dengan
requirements prototyping, tetapi perbedaannya bisa digunakan untuk
perkembangan lebih lanjut menjadi aplikasi kerja basis data.
2.2.8
Implementation
Implementasi merupakan perwujudan fisik dari basis data dan
desain aplikasi. Pada tahap penyelesaian desain kita dapat menerapkan
basis data dan program aplikasi yang telah kita buat. Implementasi basis
data dicapai dengan menggunakan Data Definition Language ( DDL )
42
yang telah kita pilih dalam melakukan DBMS atau dengan menggunakan
Graphical User Interface ( GUI ) yang menyediakan fungsional yang
sama dengan pernyataan DDL yang digunakan untuk menciptakan struktur
basis data tersebut. User Views juga diterapkan pada langkah
implementasi.
Program aplikasi diterapkan dengan menggunakan bahasa generasi
keempat atau ketiga yang lebih disukai. Bagian dari program aplikasi ini
adalah transaksi basis data, yang diterapkan dengan menggunakan Data
Manipualtion Language ( DML ). Transaksi basis data juga dapat dibuat
dalam bahasa pemrograman seperti Visual Basic, Delphi, C, C++, Java,
COBOL, Fortran, Ada, atau Pascal. Kita juga menerapkan komponen lain
dari desain aplikasi seperti layar menu, format masukkan data dan laporan.
Pengendalian keamanan dan integritas untuk aplikasi juga telah
diterapkan.
Sebagian
dari
kendali
ini
telah
diterapkan
dengan
menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di
luar dari DDL. Sebagai contoh kegunaan yang disediakan DBMS kendali
sistem operasi.
2.2.9
Data Conversion and Loading
Pemindahan data yang ada ke dalam basis data yang baru dan
mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis
data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis
data lama digantikan dengan sistem basis data yang baru. Sekarang ini
43
suatu DBMS mempunyai kegunaan memasukkan file ke dalam basis data
yang baru, dan kemudian secara otomatis mengubah data ke dalam format
yang diperlukan oleh file basis data yang baru. Jika bisa diterapkan,
pengembang dapat mengubah dan menggunakan program aplikasi dari
sistem yang lama untuk digunakan oleh sistem yang baru.
2.2.10 Testing
Testing adalah proses melaksanakan program aplikasi dengan
tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem,
basis data harus dilakukan pengujian atau testing terlebih dahulu. Dalam
hal ini kita harus hati-hati dalam perencanaan strategi test dan data harus
realistis sedemikian sehingga keseluruhan proses pengujian sesuai dengan
metodenya dan dengan kaku dilaksanakan. Sesungguhnya, pengujian tidak
bisa menunjukkan tidak adanya kesalahan, hal tersebut dapat dilakukan
apabila dengan menggunakan suatu perangkat lunak. Jika pengujian
diselenggarakan dengan sukses, maka akan membongkar kesalahan pada
program aplikasi dan mungkin struktur basis data. Sebagai manfaat
sekunder, pengujian mempertunjukkan bahwa basis data dan program
aplikasi nampak seperti bekerja menurut spesifikasi mereka dan kebutuhan
nampak seperti dicukupi.
Seperti saat merancang suatu basis data, maka dalam melakukan testing
para pemakai sistem yang baru harus dilibatkan untuk menguji proses
aplikasi dan basis data tersebut. Situasi yang ideal untuk pengujian sistem
44
adalah mempunyai suatu test basis data pada suatu sistem perangkat keras,
tetapi ini sering tidak tersedia. Jika data real diharapkan untuk digunakan,
maka penting untuk mempunyai backup. Setelah pengujian diselesaikan,
maka sistem aplikasi basis data ini telah siap untuk digunakan.
2.2.11 Operational Maintenance
Dalam langkah-langkah sebelumnya, aplikasi basis data telah
secara penuh diterapkan dan diuji. Sistem sekarang pindah ke suatu
langkah pemeliharaan yang melibatkan aktivitas berikut ini :
•
Monitoring Performance dari sistem. Jika performance jatuh di
bawah suatu tingkatan yang bisa diterima, maka penyetelan atau
reorganisasi basis data mungkin diperlukan.
•
Maintaining dan meningkatkan aplikasi basis data. Kebutuhan
harus disatukan ke dalam aplikasi basis data melalui tahap-tahap
sebelumnya yang terdapat dalam database life cycle.
Ketika aplikasi basis data sedang beroperasi, perlu dilakukan monitoring
secara dekat untuk memastikan bahwa performance dalam tingkatan yang
bisa diterima. Suatu DBMS secara normal menyediakan berbagai
kegunaan untuk membantu administrasi basis data yang mencakup
kegunaan untuk mengisi data ke dalam suatu basis data dan untuk
memonitor
sistem
tersebut.
Kegunaan
yang
mengijinkan
sistem
melakukan monitoring secara berdampingan atau berhadapan informasi
sebagai contoh, pemakaian basis data untuk efisiensi dan query strategi
45
pelaksanaan. Database Administrator (DBA) dapat menggunakan
informasi ini untuk men-setting sistem dan untuk memberi performance
yang lebih baik, sebagai contoh, dengan menciptakan index tambahan
untuk mempercepat query, dengan mengubah struktur basis data, atau
dengan melakukan kombinasi terhadap tabel yang ada.
Monitoring proses akan terus berlanjut sepanjang seluruh hidup suatu
aplikasi basis data tersebut dan pada waktu tertentu boleh melakukan
reorganisasi basis data untuk mencukupi kebutuhan sistem. Peubahan ini
menyediakan informasi pada evolusi sistem dan sumber daya yang pada
masa yang akan datang mungkin diperlukan. Hal ini memungkinkan DBA
untuk terlibat dalam perencanaan kapasitas dan untuk melakukan
penyesuaian rencana. Jika DBMS kekurangan kegunaan tertentu, DBA
dapat mengembangkan kegunaan yang diperlukan atau membeli tools
tambahan, jika tersedia.
2.3
Normalisasi
Suatu desain basis data harus memenuhi kondisi untuk tidak mengandung
anomali, yaitu suatu kejanggalan dari suatu penempatan atribut dari suatu obyek
data. Untuk membedakan satu record dengan yang lainnya maka perlu dipilih
atribut atau kombinasi atribut sebagai primary key.
Syarat primary key adalah harus unik, jumlah kombinasi atribut minimum, dan
tidak boleh mengandung nilai kosong (null).
46
Tujuan dari normalisasi antara lain :
•
Menghilangkan kumpulan relasi dari insertion, update, dan delete
dependency yang tidak diharapkan.
•
Mengurangi kebutuhan restrukturisasi kumpulan relasi.
•
Membuat model relasional lebih informatif.
Langkah-langkah normalisasi :
a. Normalisasi Pertama ( 1NF )
Suatu data dikatakan un-normalized, jika didalamnya mengandung
kelompok berulang (repeating group), sehingga untuk membentuk
normalisasi pertama (1NF) repeating group harus dihilangkan. Untuk
menjadi 1st NF maka group yang berulang dihilangkan dengan mengisi
pada bagian yang kosong dengan yang seharusnya pada suatu bentuk
record.
b. Normalisasi Kedua ( 2NF )
Dapat dihasilkan dengan melihat apakah ada atribut bukan primary key
yang merupakan fungsi dari sebagian primary key (partial dependence).
Dalam normalisasi kedua ( 2NF ) setiap atribut yang tergantung parsial ini
harus dipisahkan dengan mengikut sertakan determinannya. Bentuk
normal diperoleh bila setiap atribut bukan bagian primary key dari suatu
tabel sepenuhnya merupakan fungsi (fungsional dependence) dari primary
key tersebut.
47
c. Normalisasi Ketiga ( 3NF )
Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat
atribut bukan key tergantung fungsional terhadap atribut bukan key yang
lain (disebut ketergantungan transitif atau transitive dependence). Dengan
cara yang sama, maka setiap ketergantungan transitif dipisahkan. 3NF
sudah cukup bagus dalam arti bahwa anomali yang dikandungnya sudah
sedemikian minimum (hampir tidak ada).
d. Normalisasi Keempat Boyce-Codd Normal Form ( 4 NF / BCNF )
Suatu relasi dikatakan BCNF bila di dalamnya berisi atribut yang
berfungsi sebagai candidate key sehingga salah satu dari candidate key
tersebut menjadi primary key.
2.4
Metodologi Perancangan Basisdata
Perancangan basis data terdiri dari :
1. Perancangan Basisdata Konseptual
2. Perancangan Basisdata Logikal
3. Perancangan Basisdata Fisikal
2.4.1
Perancangan Basisdata Konseptual
Tahap-tahap perancangan basis data konseptual antara lain :
Tahap 1, yaitu membangun atau membuat model data konseptual untuk
setiap bagian dari perusahaan untuk setiap view yang spesifik. Di dalam
perancangan basis data konseptual kita perlu melakukan antara lain:
48
•
Mengidentifikasikan tipe-tipe entitas utama yang dibutuhkan
oleh view. Entity adalah elemen dari model yang mewakili apa
yang ingin disimpan informasinya. Misalnya bila kita ingin
membuat model aplikasi sumber daya manusia, karyawan,
departemen, dan gaji adalah tiga contoh entit yang diperlukan
dalam model.
•
Mengidentifikasikan tipe relationship atau obyek, tujuannya
mengidentifikasikan relasi penting yang ada di antara tipe-tipe
entitas yang telah diidentifikasi.
•
Mengidentifikasi dan menghubungkan atribut dengan tipe-tipe
entity tipe-tipe relationship yang sesuai.
•
Menentukan atribut domain dalam data model konseptual,
tujuannya adalah untuk menentukan domain-domain untuk
atribut-atribut dalam local conceptual data model.
•
Menentukan atribut primary key dan candidate primary key,
tujuannya adalah untuk mengidentifikasi candidate key untuk
untuk tiap tipe entitas dan jika terdapat lebih dari satu
candidate key, maka pilih salah satu untuk menjadi primary
key.
•
Mempertimbangkan penggunaan konsep enhanced modeling
(pilihan),
tujuannya
adalah
untuk
penggunaan enhanced modeling concepts.
mempertimbangkan
49
2.4.2
Perancangan Basisdata Logikal
Tahap 2, membangun dan memvalidasi model data logical local untuk
setiap view. Membangun sebuah local logical data model dari local
conceptual data model yang merepresentasikan sebuah view perusahaan
tertentu dan kemudian memvalidasi model ini untuk menjamin bahwa
model ini secara struktur benar untuk menjamin model mendukung
transaksi-transaksi yang disyaratkan.
•
Menghilangkan fitur-fitur yang tidak kompatibel dengan model
relational untuk menyaring model data conceptual local.
Langkah ini bertujuan antara lain untuk :
a. Menghilangkan tipe many to many ( *:* ) binary
relationship.
b. Menghilangkan
relationship
recursive
adalah
relationship.
hubungan
Recursive
suatu
entitas
dengan entitas itu sendiri.
c. Menghilangkan tipe complex relationship.
d. Menghilangkan atribut multi value.
•
Mendapatkan relasi model data logical local, tujuannya
menciptakan relasi-relasi untuk model data logical untuk
merepresentasikan entiti, relationship, dan atribut yang telah
didefinisikan.
50
•
Validasikan relasi dengan menggunakan normalisasi, tujuannya
adalah untuk memvalidasi relasi dalam local logical data
model yang menggunakan teknik normalisasi.
•
Memvalidasi relasi dengan transaksi user, tujuannya adalah
untuk menjamin bahwa relasi pada model data logical local
mendukung transaksi yang diperlukan view.
•
Me-review model data logical local dengan user. Tujuannya
untuk memastikan model data logical local dan mendukung
dokumentasi dan menjelaskan model adalah representasi yang
sebenarnya dari view.
•
Mendefinisikan batasan integritas, tujuannya adalah untuk
mnedefinisikan batasan integritas yang diberikan oleh view.
Ada lima tipe batasan untuk integritas yaitu :
1. Data yang dibutuhkan, beberapa atribut harus selalu
mempunyai nilai yang valid ( tidak boleh null ). Contohnya
setiap staff memiliki jabatan. Batasan ini masuk ke dalam
kamus data.
2. Batasan atribut domain, tiap atribut mempunyai domain
yaitu kumpulan nilai-nilai yang legal. Contohnya jenis
kelamin staff dilambangkan dengan ‘F’ atau ‘M’.
3. Integritas entity, primary key tidak boleh null. Contoh
setiap tuple dari relasi staff harus memiliki atribut primary
key yaitu Staff No.
51
4. Integritas referential, jika foreign key memiliki nilai maka
nilai tersebut harus menunjuk pada tuple yang ada pada
relasi parent.
Ada lima strategi untuk mempertahankan referential
integrity pada saat penghapusan tuple pada relasi parent,
yaitu :
¾ NO ACTION, yaitu mencegah penghapusan dari
relasi parent jika terdapat tuple-tuple child yang
direferensi atau ditunjuk.
¾ CASCADE, yaitu ketika tuple parent dihapus,
secara otomatis juga dihapus tuple-tuple child yang
direferensi atau ditunjuk.
¾ SET NULL, ketika tuple parent dihapus, maka nilai
foreign key dalam semua tuple-tuple child yang
berhubungan secara
otomatis dijadikan null.
¾ SET DEFAULT, ketika tuple parent dihapus
dihapus, maka nilai foreign key dalam semua tupletuple child yang berhubungan secara otomatis
disamakan nilainya dengan default-nya.
¾ NO CHECK, ketika tuple parent dihapus, maka kita
jangan melakukan
apa-apa
referential integrity tetap
untuk
terjaga.
menjamin
52
5. Batasan perusahaan atau enterprise, disebut juga peraturan
bisnis. Contoh
Dream Home memiliki peraturan untuk
mencegah anggota staff memimpin lebih dari 100 properti
pada waktu yang sama.
Tahap 3, adalah membangun dan memvalidasi model data logical global
dan menggabungkan individual model data logical local ke dalam sebuah
single model data logical
local yang menggambarkan keseluruhan
perusahaan. Yang antara lain adalah :
•
Menggabungkan model data logical ke dalam model global,
tujuannya adalah untuk menggabungkan local logical data model
individual ke dalam sebuah single model data logical global dari
perusahaan.
•
Memvalidasi model data logical global, tujuannya untuk
memvalidasi relasi yang diciptakan dari model data logical global
dengan menggunakan teknik normalisasi dan menjamin mereka
untuk mendukung transaksi yang dibutuhkan jika diperlukan.
•
Memeriksa untuk perkembangan di masa depan, tujuannya untuk
menentukan apakah ada perubahan signifikan seperti dalam masa
depan dapat diketahui dari sekarang dan menilai jika model data
logical global dapat menyesuaikan perubahan-perubahan.
53
•
Me-review model data logical global dengan user, tujuannya
menjamin bahwa model data logical global adalah representasi
yang sebenarnya dari perusahaan.
2.4.3
Perancangan Basisdata Fisikal
Tahap 4, yang digolongkan dalam perancangan basis data fisikal adalah
bertujuan untuk menghasilkan sebuah skema basis data relational dari
model logical global yang dapat diimplementasikan dalam target DBMS.
Yang antara lain adalah :
•
Merancang relasi-relasi dasar
Tujuannya untuk memutuskan bagaimana memrepresentasikan
relasi- relasi dasar yang diidentifikasikan dalam model data
logical global dalam target DBMS.
•
Merancang representasi dari derived data.
Tujuannya untuk
derived
memutuskan bagaimana merepresentasikan
data yang ada pada data model logical global ke
dalam target DBMS.
•
Merancang batasan perusahaan.
Tujuannya tergantung pada DBMS. Ada yang menyediakan
fasilitas untuk mendefinisi batasan perusahaan dan ada yang tidak.
Jika tidak ada maka harus merancang batasan ke dalam aplikasi.
54
Tahap 5, adalah merancang representasi fisik.
Tujuan menentukan organisasi file yang optimal untuk menyimpan relasirelasi dan indeks yang diinginkan agar mencapai performance yang bisa
diterima, untuk itu aka ditentukan relasi dan tuple mana yang akan ada
pada secondary storage. Langkah-langkahnya adalah :
•
Menganalisis transaksi, tujuannya untuk memahami fungsi dari
suatu transaksi yang akan dijalankan pada basis data untuk
menganalisis transaksi penting.
•
Memilih organisasi file, tujuannya untuk memilih organisasi file
yang
•
efisien untuk setiap relasi dasar.
Memperkirakan
kebutuhan
disk-space,
tujuannya
untuk
memperkirakan ukuran disk-space yang dibutuhkan oleh basis
data.
Berikut ini adalah perhitungan kapasitas penyimpanan disk
menurut SQL :
55
Menghitung penyimpanan data tiap table
Tabel 2.1 Pengertian Penyimpanan Data
Label
Pengertian
Num_rows
Banyak record dalam satu tabel
Num_cols
Jumlah kolom dalam satu tabel
Fix_data_size
Ukuran tipe data yang tetap
Num_variabel_cols
Jumlah kolom tipe data variable
Max_var_size
Jumlah ukuran maksimum tipe data variabel
Null_bitmap
Menangani kemungkinan ada kolom yang kosong
Variabel_data _size
Menentukan banyaknya space untuk menyimpan kolom per
baris
Row_size
Mengukur ukuran baris
Row_per_page
Menghitung baris per halaman
Free_row_per_page
Menghitung baris kosong per halaman
Num_pages
Menghitung jumlah halaman
Table_size
Mendapatkan total ukuran tabel
Rumus Penyimpanan Data
Tabel 2.2 Rumus Penyimpanan Data
Label
Rumus
Null_bitmap
2 + (( Num_cols + 7 ) / 8 )
Variabel_data_size
2 + ( Num_variabel_cols x 2 ) + Max_var_size
Row_size
Fixed_data_size + Variabel_data_size + Null_bitmap + 4
Rows_per_page
( 8096 ) / ( Row_size + 2 )
Free_row_per_page
8096 x (( 100-fill factor ) / 100 ) /
( Row_size + 2 )
Num_pages
Num_rows/(rows_per_page–ree_rows_per_page )
Table_size
8192 x Num_pages
56
Menghitung kapasitas data menggunakan clustered indeks
Tabel 2.3 Pengertian Clustered Indeks
Label
Pengertian
Num_ckey_cols
Jumlah kolom key indeks
Fixed_ckey_size
Indeks key yang ukuran datanya tetap
Num_variabel_ckey_cols
Banyak kolom variabel indeks key
Max_var_ckey_size
Jumlah ukuran variabel indeks key
C index_null_bitmap
Menangani kemungkinan ada kolom indeks yang kosong
Variabel_ckey_size
Total jumlah kolom variabel indeks key
C index_row_size
Total ukuran indeks per baris
C index_rows_per_page
Total ukuran indeks per halaman
Num_pages_clevel_n
Jumlah halaman level ke-n
Clustered_index_size
Ukuran indeks cluster
Tabel 2.4 Rumus Clustered Indeks
Label
Rumus
Cindex_null_bitmap
2 + (( Num_c key_cols + 7 ) / 8 )
Variabel_ckey_size
2 + ( Num_variabel_ckey_cols x 2 ) + Max_var_ckey_size
Cindex_row_size
Fixed_ckey_size + Variabel_ckey_size + C
index_row_size + 2
Cindex_rows_per_page
( 8096 ) / ( C index_row_size + 2)
Num_pages_clevel_n
( Data_space_used / 8192 ) / Cindex_rows_per_page +
Num_pages_clevel_0 / Cindex_row_per_page
Clustered_index_size
8192 x Num_Cindex_pages
57
Menghitung kapasitas data menggunakan nonclustered indeks
Tabel 2.5 Pengertian Nonclustered Indeks
Label
Pengertian
Num_key_cols
Jumlah kolom key indeks
Fixed_key_size
Jumlah key yang ukuran datanya tetap
Num_variabel_key_cols
Banyaknya kolom varibel indeks key
Max_var_key_size
Jumlah ukuran variable indeks key
Index_null_bitmap
Menangani kemungkinan ada kolom indeks yang kosong
Variable_key_size
Total jumlah kolom variabel indeks key
NL_index_row_size
Jumlah baris indeks non-leaf
NL_index_row_per_page
Jumlah baris indeks non-leaf per halaman
Index_row_size
Total ukuran indeks per baris
Index_rows_per_page
Total ukuran indeks per halaman
Free_index_rows_per_page
Menangani kemungkinan ada kolom indeks yang kosong
Num_pages_level_n
Jumlah halaman level ke-n
Nonclustered_index_size
Ukuran indeks non clustered
Tabel 2.6 Rumus Nonclustered Indeks
Label
Rumus
Index_null_bitmap
2 + (( Num_key_cols + 7 ) / 8 )
Variable_key_size
2 + ( Num_variabel_key_cols x 2 ) + Max_var_key_size
NL_index_row_size
Fixed_key_size + variable_key_size +
index_null_bitmap + 1 + 8
( 8096 ) / ( NL_index_row_size + 2 )
NL_index_rows_per_page
Index_row_size
Index_row_per_page
Cindex_row_size + fixed_keys_size + variable_key_size
+ index_null_bitmap + 1
( 8096 ) / ( Index_row_size + 2 )
Num_pages_level_n
Nonclustered_index_size
Jumlah halaman level ke-n
8192 x Num_index_pages
58
Tahap 6, adalah merancang user view.
Tujuan untuk merancang user view yang diidentifikasikan selama
pengumpulan kebutuhan - kebutuhan dan tahap analisis dari daur hidup
aplikasi basis data relational.
Tahap 7, yaitu merancang mekanisme keamanan yang mempunyai tujuan
merancang mekanisme keamanan untuk basis data yang telah dispesifikasi
user.
Tahap 8, adalah mempertimbangkan adanya pengontrolan redudansi.
Tujuan menentukan apakah redudansi dalam batasan yang terkontrol
dengan cara melonggarkan aturan normalisasi akan meningkatkan kinerja
sistem.
Tahap 9, adalah memonitor dan menyesuaikan sistem operasional.
Tujuannya untuk memonitor operasional sistem dan meningkatkan
performance dari sistem untuk memperbaiki keputusan rancangan yang
tidak sesuai atau merefleksikan perubahan-perubahan.
2.5
Pengertian Kamus Data
Menurut Mc. Leod Jr. (2001,p582) kamus data adalah suatu penjelasan
tertulis mengenai data yang berada di dalam basis data. Menurut Silberschatz dan
Sudarshan (2002,p17) mengatakan bahwa “ Data dictionary, which stores
59
metadata about the structure of the database, in particular the schema of the
database.”, yang diartikan Kamus data di mana terdapat
meta data tentang
struktur dari basis data, dalam hubungan skema dari basis data.
2.6
Fase Pengembangan Piranti Lunak
Menurut Roger Pressman (2002,p30), dalam usaha untuk mengembangkan
piranti lunak, terbagi dalam tiga fase umum dengan tanpa mempedulikan area
aplikasi, ukuran, proyek, atau kompleksitasnya.
Berikut ini adalah fase-fase dalam pengembangan piranti lunak :
•
Fase definisi (Definiton Phase), pada tahap ini pengembang harus
mengidentifikasikan informasi yang akan diproses, fungsi dan unjuk
kerja yang dibutuhkan, tingakah laku sistem yang diharapkan bentuk
interface yang diharapkan, batasan desain yang ada serta criteria
validasi yang dibutuhkan.
•
Fase pengembangan (Development Phase), pada tahap ini pengembang
harus mendefinisikan konstruksi dari data, mengimplementasikan
fungsi-fungsi serta detail prosedur sebagai sebuah arsitektur perangkat
lunak,
merancang
interface
(tampilan
antar
muka
pemakai),
menterjemahkan rancangan ke dalam bahasa pemrograman, dan
melakukan pengujian.
•
Fase pemeliharaan (Maintenance Phase), tahap ini berfokus pada
perubahan,
perubahan
setelah
melakukan
koreksi
kesalahan,
60
penyesuaian yang dibutuhkan ketika perangkat lunak berkembang,
serta perubahan karena perubahan kebutuhan.
2.7
Teori-Teori Pembelian, Penjualan dan Persediaan
2.7.1 Pembelian
Menurut Mulyadi (2001,p299), pembelian merupakan proses yang
digunakan dalam perusahaan untuk pengadaan barang yang diperlukan
oleh perusahaan. Transaksi pembelian dapat digolongkan menjadi dua,
yaitu pembelian lokal dan pembelian import. Pembelian lokal adalah
pembelian pembelian dari pemasok dalam negeri, sedangkan pembelian
import adalah pembelian dari pemasok luar negeri.
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.
2.7.2
Penjualan
Menurut Futrell (1993.p6), penjualan adalah kegiatan yang
membujuk pelanggan untuk membeli sesuatu seperti barang, jasa, ide atau
gagasan yang bisa memuaskan kebutuhan individu.
Penjualan digolongkan menjadi dua yaitu penjualan tunai dan penjualan
kredit.
61
•
Penjualan Tunai, yaitu penjualan yang dilakukan oleh perusahaan
yang
bersangkutan
dengan
cara
mewajibkan
pelanggan
melakukan pembayaran harga barang terlebih dahulu sebelum
barang tersebut diserahkan kepada pelanggan. Setelah barang
diserahkan kepada pelanggan maka transaksi penjualan tunai akan
dicatat oleh perusahaan.
•
Penjualan kredit, yaitu penjualan yang pembayarannya dilakukan
beberapa waktu kemudian setelah pelanggan menerima barang
yang
dipesannya. Pembayaran dilakukan dalam jangka waktu
yang telah disepakati oleh kedua belah pihak.
Fungsi-fungsi yang berkaitan dengan sistem penjualan kredit
antara lain adalah sebagai berikut :
1. Fungsi penjualan, fungsi ini bertanggung jawab untuk
menerima surat order dari pelanggan. Mengedit order dari
pelanggan untuk menambahkan informasi yang belum ada
pada surat order tersebut, meminta otoritas kredit,
menentukan tanggal pengiriman dan dari gudang mana
barang akan dikirim dan mengisi surat order pengiriman.
Fungsi ini juga bertanggung jawab untuk memenuhi order
dari pelanggan
62
2. Fungsi kredit, fungsi ini bertanggung jawab untuk meneliti
status kredit pelanggan dan pemberian kredit kepada
pelanggan.
3. Fungsi gudang, fungsi ini bertanggung jawab untuk
menyimpan barang dan menyiapkan barang yang dipesan
untuk pelanggan serta menyerahkan barang ke fungsi
pengiriman.
4. Fungsi pengiriman, fungsi ini bertanggung jawab untuk
menyerahkan barang atas dasar surat order pengiriman
yang diterimanya dari fungsi penjualan dan menjamin
bahwa tidak ada barang yang keluar dari perusahaan tanpa
ada otoritas yang berwenang.
5. Fungsi penagihan, fungsi ini bertanggung jawab untuk
membuat dan mengirimkan faktur penjualan kepada
pelanggan serta menyediakan copy faktur bagi kepentingan
pencatatan transaksi penjualan oleh fungsi akutansi.
6. Fungsi akutansi, fungsi ini bertanggung jawab untuk
mencatat piutang yang timbul dari transaksi penjualan
kredit dan membuat laporan penjualan dan mencatat harga
pokok persediaan yang dijual ke dalam kartu persediaan
Tujuan dari penjualan adalah :
•
Untuk mencapai volume penjualan maksimal.
63
•
Untuk mendapatkan laba maksimal.
•
Untuk mendukung pertumbuhan perusahaan
Agar semua tujuan di atas dapat terwujud dengan baik
maka perlu adanya kerjasama antara bagian-bagian yang
terkait.
2.7.3
Persediaan
Menurut Rangkuti (1995,p7), persediaan adalah merupakan salah
satu unsur yang paling aktif dalam operasi perusahaan yang secara
berkesinambungan diperoleh, diubah dan kemudian dijual kembali. Dalam
perusahaan dagang, persediaan hanya terdiri dari satu golongan, yaitu
persediaan barang dagangan yang merupakan barang yang dibeli untuk
tujuan dijual kembali.
Jenis-jenis persediaan menurut fungsinya dapat dibedakan sebagai berikut
a. Fluctuation Stock, yaitu persediaan yang diadakan untuk
menghadapi fluktuasi permintaan konsumen yang tidak dapat
diprediksi.
b. Batch Stock / Lot Size Inventor, yaitu persediaan yang diadakan
karena kita membeli atau membuat bahan-bahan atau barangbarang dalam jumlah yang lebih besar dari jumlah yang
dibutuhkan saat itu.
c. Antipation
Stock,
yaitu
persediaan
yang
diadakan
untuk
menghadapi fluktuasi permintaan yang diprediksi berdasarkan pola
64
maksimum yang terdapat dalam satu tahun dan untuk menghadapi
penggunaan, penjualan atau permintaan yang meningkat.
Sedangkan menurut jenis dan posisi barang, persediaan dapat dibedakan
menjadi empat jenis yang antara lain yaitu :
a. Persediaan bahan baku, yaitu persediaan barang-barang wujud
seperti besi, kayu, serta komponen-komponen lainnya yang
digunakan dalam produksi.
b. Persediaan bagian produk / komponen yang dibeli, yaitu
persediaan barang-barang yang terdiri dari komponen-komponen
yang diperoleh dari perusahaan lain di mana secara langsung dapat
dirakit menjadi suatu produk.
c. Persediaan bahan-bahan pembantu, yaitu persediaan barang-barang
yang diperlukan dalam proses produksi tetapi tidak merupakan
bagian atau komponen barang jadi.
d. Persediaan barang-barang setengah jadi, yaitu persediaan barangbarang yang merupakan keluaran dari tiap-tiap bagian dalam
proses produksi atau yang telah diolah menjadi suatu bentuk tetapi
masih perlu diproses atau diolah dalam pabrik dan siap untuk
dijual.
65
2.8
Pengertian Syarat Penyerahan Barang
Menurut buku pelajaran ekonomi, hubungan ekspor-impor merupakan
hubungan dagang yang akan menghasilkan devisa bagi kedua belah pihak dan
hubungan ini sering disebut juga perdagangan luar negeri.
Syarat-syarat penyerahan barang ada dua macam yaitu sebagai berikut :
•
Franko Gudang Penjual, yaitu barang yang diperjual belikan menjadi milik
pelanggan pada saat barang sudah keluar dari gudang penjual. Segala
resiko selama dalam perjalanan ditanggung pelanggan, dan ongkos
pengiriman menjadi tanggung jawab pelanggan.
•
Franko Gudang Pembeli, yaitu barang yang diperjual belikan menjadi
milik pelanggan saat barang sampai di tempat pelanggan. Segala resiko
selama dalam perjalanan menjadi tanggung jawab penjual, dan ongkos
pengiriman menjadi tanggung jawab penjual.
2.9
Sistem Keamanan
Untuk menjaga keamanan data, maka sebelum login ke site, maka setiap
sistem akan meminta user name dan password yang hanya di miliki oleh setiap
pegawai, sehingga membantu mencegah orang yang tidak berhak untuk masuk ke
dalam sistem. User level security, membatasi akses pada level tertentu, bahwa
user dapat membaca atau mengupdate.
Sistem keamanan yang di terapkan adalah menggunakan firewall. Ada beberapa
tipe teknik firewall :
66
2.9.1
Proxy Server
Dari beberapa teknik firewall kami meninjau keamanan melalui alat dan
teknologi yang dapat melihat lebih dalam ke sebuah TCP packet. Disini
kami akan menjelaskan bagaimana proxy dan Application Level
Protection.
Stateful packet inspection firewall adalah versi penyaringan paket yang
telah diperbaharui. Piranti yang digunakan disini menyediakan perbaikan
tambahan dengan menganalisa paket pada layer aplikasi. Beberapa tipe
atau teknologi dapat digunakan untuk mengimplementasikan proteksi ini,
dan mereka dikenal dengan beberapa nama yang berbeda.
Applikasi level firewall menyediakan tipe koneksi data yang paling aman
karena dapat menyelidiki tiap layer pada model proses komunikasi
TCP/IP. Untuk mencapai level proteksi ini, firewall-firewall ini yang juga
dikenal dengan proxies menghubungkan dan mengontrol koneksi dengan
menahan dan memeriksa tiap koneksi. Jika proxy menentukan bahwa
koneksi ini diizinkan , maka akan membuka koneksi kedua server sesudah
dia mengoneksi host semula.
Bagian data dari masing-masing paket dibagi, diselidiki, dibangun kembali
dan
dikirim kembali ke koneksi kedua. Tipe–tipe firewall dapat
digunakan untuk mengerjakan hal tersebut yaitu,
•
Standard Proxy Firewall, firewall proxy tidak me-route-kan paket
dia biasanya meneruskan paket-paket dan mengoperasikannya di
layer aplikasi model TCP/IP. Secara fungsional, firewall proxy
67
menerima paket dari sebuah interface, memeriksa paket menurut
perangkat rule yang telah ditetapkan dan melewatkan paket ke
inteface lain jika diizinkan.
•
Dinamic proxy firewall, sebenarnya dikembangkan dari konsep
yang diuraikan untuk firewall proxy standard, firewall proxy
dinamis didesain untuk memberikan faedah pada standar proxy dan
menambah faedah pada penyaringan paket. Firewall proxy
memiliki fisibilitas yang bagus pada layer aplikasi model TCP/IP,
untuk dapat melihat bagian-bagian data yang lebih spesifik
daripada semua tipe teknologi lain .
2.9.2
Packet Filter ( Penyaringan Paket)
Semua informasi yang ada menggunakan TCP/IP dan selanjutnya
informasi itu dikirim sebagai bagian–bagian kecil yang di sebut packet.
Penyaringan paket sering digunakan sebagai pertahanan pertama pada
sistem keamanan perusahaan dengan mengkombinasikan
dengan
teknologi firewall lain.
Penyaring paket adalah salah satu tipe teknologi pengawasan paket yang
paling umum dan paling lama. Memulai dengan memeriksa isi paket dan
mengaplikasikan aturan untuk menentukan apakah paket itu ditolak atau
diizinkan. Meskipun beberapa karakteristik mungkin menggunakan
header dari TCP/IP paket (yaitu protocol, port, dan sebagainya ).
68
Pembahasan ini merujuk pada penyaringan berdasarkan alamat IP sumber
atau tujuan.
Penyaringan paket memeriksa masing-masing paket data secara tersendiri,
menyelidiki alamat IP sumber dan tujuan dan port. Hanya attribut masingmasing data yang paling mendasar yang diselidiki untuk alasan ini, maka
dapat memutuskan aliran paket secara cepat.
Rancangan keamanan ini untuk mengidentifikasi paket, untuk memenuhi
beberapa peran dalam dunia jaringan , meskipun penyaringan paket tidak
terlalu aman (jika sendirian), ini merupakan salah satu teknik yang akan
meningkatkan kualitas keamanan jaringan yang mana dengan menerapkan
sistem keamanan secara terdistribusi juga.
Gambar 2.2 dibawah ini akan menunjukkan penempatan penyaringan
paket.
PC Pengguna
Packet
Internet
Router
Firewall
LAN Swicth
Server
Menempatkan Penyaringan paket masuk
ditempat terdekat dengan entry Jaringan
Gambar 2.2 Penempatan Penyaringan Paket
69
2.9.3
Pengendalian Konkurensi
Seperti disebutkan sebelumnya, pengendalian konkurensi pada
hampir semua sistem terdistribusi adalah berdasarkan pada mekanisme
locking, seperti halnya sistem yang non-terdistribusi. Namun pada sistem
terdistribusi permintaan tes, men-set, dan pelepasan “lock’ menjadi pesan
(dengan asumsi bahwa obyek yang dicari berada pada site remote), dan
pesan (message) berarti beban. Sebagai contoh , suatu transaksi yang akan
memutakhirkan suatu obyek yang mempunyai replikasi pada site remote
yang berada di Jakarta. Apabila semua remote bertanggung jawab atas
mekanisme locking untuk setiap obyek yang disimpannya (sesuai dengan
asumsi kaidah otonomi lokal), maka implementasi paling tidak yaitu
permintaan lock, pemberian lock, pesan pemutakhiran, pemberitahuan,
permintaan melepaskan lock.
Total waktu yang dibutuhkan untuk memutakhirkan akan sangat
meningkat dibandingkan sistem yang terpusat.
Solusi yang biasanya
dilakukan terdapat permasalahan ini adalah dengan cara mengadopsi
strategi copy primer seperti pada propagasi update. Namun juga dapat
diperhatikan bahwa solusi tersebut tetap menimbulkan pelanggaran kaidah
otonomi lokal-transaksi akan gagal bila copy primer tidak bisa didapat,
meskipun transaksi yang dilakukan hanya baca dan copy lokal obyek.
permasalahan lain dengan locking dalam sistem terdistribusi adalah dapat
terjadinya deadlock global.
70
Deadlock global adalah deadlock yang melibatkan lebih dari dua site.
Permasalahan dengan deadlock seperti ini adalah bahwa dengan informasi
yang internal di site lain maka tidak ada satu sitepun dapat mendeteksinya.
Dengan kata lain untuk dapat mendeteksi adanya deadlock global maka
dapat melibatkan komunikasi dengan site-site yang lain.
2.10
Kerangka berpikir menyelesaikan masalah
Dalam melakukan perancangan basis data pada PT Sukanda Djaya
ini, kami menerapkan beberapa teori, dimulai dari :
•
Fact finding yang berguna untuk mencari data-data yang dibutuhkan,
dilakukan dengan membaca buku / studi kepustakaan yang berkaitan
dengan apa yang akan kami analisis dan kami rancang, survey
langsung ke perusahaan untuk mencari tahu kelemahan sistem yang
ada sehingga didapat solusinya, dan untuk mengidentifikasi
kebutuhan informasi yang dibutuhkan oleh sistem yang baru.
•
Pengumpulan data-data tentang perusahaan dengan wawancara
langsung dengan pimpinan atau staff yang berwenang diperusahaan
tersebut dan kemudian mempelajari data-data yang diberikan
•
Setelah data-data yang dibutuhkan terkumpul, maka dapat dimulai
perancangan basis data dengan menggunakan metoda Database Life
Cycle (DBLC). Perancangan ini dimulai dengan perencanaan yang
bertujuan untuk menyesuaikan basis data dengan tujuan perusahaan,
setelah itu menentukan ruang lingkup dari sistem yang akan dibuat
71
dan
mengumpulkan
data-data
yang
dibutuhkan.
Kemudian
mendisain basis data yang terdiri dari tiga tahap yaitu konseptual,
logikal, dan fisikal yang dilanjutkan dengan pemilihan DBMS yang
sesuai dengan apa yang telah kita rancang. Setelah semua
perancangan selesai maka dimulailah pengimplementasian sistem
dari sistem yang lama ke sistem yang baru, lalu dilakukan testing
untuk menguji apakah sudah terintegrasi dengan baik atau belum.
Download