Anda di halaman 1dari 66

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 (self-

describing 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 masing-

masing 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 kadang-

kadang 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 di-

access 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 masing-

masing 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 produk-

produk 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 ke-

empat (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 bersama-

sama (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 cek otorisasi atau

kewenangan dan validasi.


23

• Memonitor penampilan (performance) dan

memberikan respon terhadap 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 lain-

lain. 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, file-

file 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 kekuatan dan kelemahan yang ada.

3. Penilaian 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 (Examining Documentation),

bermanfaat untuk 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 orang-

orang 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 juga memperoleh data dengan

mendeskripsikan lingkungan-lingkungan 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 di-

restore 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 kebutuhan-

kebutuhan yang diusulkan aplikasi basis data dan jika kebutuhan-

kebutuhan 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 mempertimbangkan

penggunaan enhanced modeling concepts.


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 recursive relationship. Recursive

relationship adalah hubungan 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 tuple-

tuple child yang berhubungan secara otomatis

disamakan nilainya dengan default-nya.

¾ NO CHECK, ketika tuple parent dihapus, maka kita

jangan melakukan apa-apa untuk menjamin

referential integrity tetap terjaga.


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 memutuskan bagaimana merepresentasikan

derived 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 relasi-

relasi 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
NL_index_rows_per_page ( 8096 ) / ( NL_index_row_size + 2 )
Index_row_size Cindex_row_size + fixed_keys_size + variable_key_size
+ index_null_bitmap + 1
Index_row_per_page ( 8096 ) / ( Index_row_size + 2 )
Num_pages_level_n Jumlah halaman level ke-n
Nonclustered_index_size 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 barang-

barang 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 barang-

barang 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 masing-

masing 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.

Anda mungkin juga menyukai