BAB 2 LANDAS AN TEORI 2.1 Pendekatan Basisdata 2.1.1 Pengertian Basisdata M enurut Connolly (2005, p14), Basis data adalah sekumpulan data yang terhubung secara logikal, dan deskripsi dari data tersebut, yang dapat digunakan oleh banyak user, dan dibentuk untuk dapat menghasilkan informasi yang dibutuhkan oleh organisasi. Semua data terintegrasi dengan jumlah duplikasi yang minimum. Basis data juga merupakan tempat penyimpanan data yang berukuran besar dan dapat digunakan secara bersama-sama oleh banyak departemen dan user. Basis data tidak hanya berisi data operasional organisasi, namun juga berisi deskripsi dari data yang disebut sebagai sistem katalog atau kamus data atau meta-data (Connolly, 2005, p15).
2.1.2 Konsep Basisdata Database model relasional adalah kumpulan dari relations yang telah mengalami proses normalisasi dan memiliki nama relation yang berbeda (Connolly, 2005, p74). Relation adalah sebuah tabel yang terdiri atas kolom-kolom dan baris-baris. Attribute adalah kolom yang terdapat dalam sebuah tabel. Tuple adalah sebuah sebuah baris atau record dalam sebuah tabel. Domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau banyak atribut. Degree adalah jumlah atribut yang terdapat dalam sebuah tabel. Cardinality adalah jumlah record yang terdapat dalam sebuah tabel (Connolly, 2005, p72).
6
7
Super key adalah atribut atau sekumpulan atribut yang mengidentifikasikan sebuah baris secara unik di dalam sebuah tabel. Namun super key dapat berisi atribut yang mungkin saja tidak dibutuhkan untuk mengidentifikasi sebuah baris secara unik (Conolly, 2005, p78). Dalam terminologi model relasional, relation dapat juga disebut sebagai table atau file. Tuple dapat juga disebut sebagai row atau baris. Attribute dapat juga disebut sebagai column atau field (Connolly, 2005, p74).
2.1.3 Basisdata Basisdata adalah sekumpulan data yang terhubung secara logikal, dan deskripsi dari data tersebut, yang dapat digunakan oleh banyak user dan dibentuk untuk dapat menghasilkan informasi yang dibutuhkan oleh organisasi (Connolly, 2005, p15). Database merupakan tempat penyimpanan data yang berukuran besar dan dapat digunakan secara bersama-sama oleh banyak departemen dan user. Sebagai pengganti file-file yang tidak terhubung dan memiliki banyak duplikasi, data-data pada database dibuat terintegrasi dengan jumlah duplikasi yang lebih minimum. Database tidak hanya berisi data operasional organisasi, namun juga berisi deskripsi data yang disebut system catalog atau data dictionary atau meta data(data tentang data) (Connolly,2005,p15).
2.1.4 Pengelolaan sistem basisdata Pengelolaan sistem basisdata
adalah sebuah sistem perangkat lunak yang
memungkinkan pengguna untuk mendefinisikan (define), membuat (create), memelihara (maintain), dan mengontrol (control) akses ke basis data (Connolly, 2005, p16).
8
Pengelolaan sistem basisdata merupakan perangkat lunak yang berinteraksi dengan program aplikasi user dan database. Umumnya, sebuah Pengelolaan sistem basisdata menyediakan fasilitas sebagai berikut : • M engijinkan user untuk mendefinisikan database(Data Definition Language (DDL)). • M engijinkan user untuk memasukkan, mengubah , menghapus, dan mengambil data dari basis data (Data Manipulation Language (DM L)). • M enyediakan pengendali(control) akses ke basis data yang menyediakan : Sistem keamanan (security system) Sistem integritas (integrity system) Sistem kendali (concurrency control) Sistem pemulihan (recovery control) Katalog yang bisa diakses oleh pengguna (user-accessible catalog) (Connolly, 2005, p16).
2.1.5 Komponen Pengelolaan Sistem Basisdata M enurut (Connoly, 2005, p18), ada 5 komponen Pengelolaan sistem basisdata : perangkat keras, perangkat lunak, data, prosedur, dan manusia.
Gambar 2.1 Komponen-komponen dalam lingkungan Pengelolaan sistem basisdata Sumber : Connolly, 2005, p19
9
•
Perangkat keras (Hardware) Perangkat keras menjangkau mulai dari komputer personal, mainframe tunggal dan sebuah jaringan komputer.
•
Perangkat lunak (Software) Komponen perangkat lunak merupakan
perangkat lunak Pengelolaan sistem
basisdata itu sendiri dan program aplikasi, tergabung
dengan sistem operasi,
termasuk perangkat lunak jaringan apabila Pengelolaan sistem basisdata digunakan dalam jaringan. •
Data Data bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data mencakup data operasional dan metadata, ‘data mengenai data’.
•
Prosedur Prosedur merupakan instruksi dan aturan-aturan yang mengatur perancangan dan penggunaan dari basis data.
•
Manusia Komponen terakhir dalam lingkungan Pengelolaan sistem basisdata adalah manusia. Kita bisa mengidentifikasikan empat tipe Manusia yang berpartisipasi dalam lingkungan Pengelolaan sistem basisdata yaitu :
Data and Database Administrators
Database Designers
Application Developers
End-Users
10
2.1.6 Siklus Hidup Aplikasi Database M enurut Connolly (2005, 271), sebuah sistem basisdata adalah komponen pokok dari sebuah sistem informasi, dan perkembangan serta penggunaannya harus dilihat dari sudut pandang kebutuhan perusahaan yang lebih besar. Pengertian sistem informasi adalah sumber-sumber mengenai koleksi, manajemen, kontrol dan diseminasi informasi perusahaan. Tahapan daur hidup aplikasi database : Database Planning
System Definition
Reguir ement Collection and Analysis Database Design Conseptual Database Design DBMS Selection (Optional) Logical Database Design
Application Design
Physical Database Design
Prototyping ( Optional)
Implementation
Data Conversion and Loading
Testing
Operational Maintenance
Gambar 2.2 Tingkatan dari Database Application Lifecycle (Sumber : Connolly, 2005, p19)
11
Berikut ini adalah keterangan dari tahapan-tahapan di atas : •
Database Planning ( Perencanaan Basisdata ) Perencanaan basis data adalah aktivitas yang memungkinkan tahapan terealisasikannya aplikasi basis data dengan seefisien dan seefektif mungkin (Connolly, 2005, p273). Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi, di mana 3 hal utama yang berkaitan dengan strategi informasi tersebut adalah : •
Identifikasi rencana dan tujuan organisasi termasuk mengenai sistem informasi yang dibutuhkan.
•
Evaluasi sistem informasi yang ada untuk menentukan kelebihan dan kekurangan yang ada.
•
Penafsiran kesempatan teknologi informasi yang mungkin memberikan keuntungan kompetitif (Connolly, 2005, p273).
•
System Definition (Pendefinisian Sistem) Definisi sistem menjelaskan batasan dan ruang lingkup aplikasi basis data dan user view yang utama (Connolly, 2005, p274). User views mendefinisikan apa saja yang dibutuhkan sebuah aplikasi basis data mulai dari pengambil keputusan (seperti manajer atau supervisor) sampai lingkungan aplikasi (seperti personal, kontrol stok). User views juga membantu dalam pengembangan aplikasi basis data yang kompleks dengan memungkinkan kebutuhan dipecah-pecah menjadi bagian-bagian yang lebih dapat dimanajemen (Connolly, 2005, p275).
12
Gambar 2.3 Representasi Basisdata dengan M ultiple User Views Sumber : Connolly, 2005, p287
•
Requirement
Collection
and
Analysis
(Pengumpulan
dan
Analisa
Kebutuhan) Requirement Collection and Analysis merupakan proses mengumpulkan dan
menganalisa
informasi
yang
mendukung
aplikasi
basisdata
dan
menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna terhadap sistem baru. Dalam hal ini ada beberapa teknik untuk mendapatkan informasi yang disebut dengan fact-finding technique. Yang dimaksud dengan fact-finding technique adalah teknik atau cara yang digunakan untuk mengidentifikasi
kebutuhan
seperti
mempelajari
dokumen,
wawancara,
pengamatan operasi perusahaan, penelitian dan menggunakan kuisioner.
13
4. Database Design (Perancangan Basisdata) Database Design adalah proses membuat rancangan untuk basisdata yang akan mendukung operasi perusahaan dan tujuan-tujuannya. Dalam metodologi design, proses design dibagi ke dalam tiga fase utama, yaitu : 1. Conceptual database design, yaitu proses pembuatan sebuah model dari suatu informasi yang digunakan dalam sebuah perusahaan yang bebas dari pertimbangan fisik. 2. Logical database design, yaitu proses pembuatan sebuah model dari suatu informasi yang digunakan dalam sebuah perusahaan yang berdasarkan pada model data spesifik, tetapi bebas dari DBM S tertentu dan pertimbangan fisik lainnya. 3. Physical database design, yaitu proses yang menghasilkan deskripsi implementasi basisdata pada tempat penyimpanan kedua, menjelaskan relasi dasar (base relation), file organisasi, dan indeks yang digunakan untuk mendapatkan akses ke data yang efisien, dan integrity constraint yang berhubungan serta pengukuran keamanan. Ada beberapa pendekatan yang dapat digunakan dalam merancang basis data, yaitu sebagai berikut : •
Pendekatan bottom-up
•
Pendekatan top-down
•
Pendekatan inside-out
•
Pendekatan mixed strategy .
14
•
DBMS Selection (optional) DBMS Selection adalah seleksi terhadap penggunaan DBM S yang sesuai untuk mendukung aplikasi basisdata. Tujuannya adalah untuk kebutuhan sekarang dan kebutuhan masa mendatang pada perusahaan, mengimbangkan biaya termasuk pembelian produk DBM S, perangkat lunak/perangkat keras lainnya untuk mendukung aplikasi basisdata, biaya yang berhubungan dengan perubahan dan pelatihan pegawai.
a) Application Design ( Perancangan Aplikasi ) Application Design adalah rancangan tampilan pengguna dan program aplikasi yang menggunakan dan memproses basisdata. Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai yang menyangkut perancangan aplikasi program yang mengakses basisdata dan merancang transaksi yaitu cara akses ke basisdata dan perubahan terhadap isi basisdata (retrieve, update dan kegiatan keduanya). •
Prototyping (optional) Prototyping adalah membangun sebuah model aplikasi basisdata yang sudah dapat bekerja., yang membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimilikinya. Tujuan dari
pengembangan
prototype
adalah
untuk
memungkinkan
pemakai
menggunakan prototype untuk mengidentifikasi keistimewaan sistem atau kekurangannya, dan memungkinkan perancang untuk memperbaiki atau melengkapi keistimewaan (feature) dari aplikasi basisdata baru.
15
•
Implementation M enurut Connolly dan Begg (2005,p292), implementasi adalah membuat definisi basisdata secara eksternal, konseptual, dan internal dari program aplikasi. Implementasi basisdata dicapai dengan menggunakan Data Definition Language (DDL) dari DBM S yang dipilih atau graphical user interface (GUI).
a) Data conversion and Loading Data conversion and Loading merupakan sebuah proses untuk transfer data yang telah ada ke dalam basisdata yang baru dan mengkonversi aplikasi yang telah ada untuk dapat berjalan pada basisdata yang baru. •
Testing Testing merupakan proses mengeksekusi program aplikasi dengan tujuan untuk mencari error. Aplikasi basisdata yang baru dikembangkan, harus diuji secara menyeluruh. Dalam merancang basisdata, users dari sistem baru seharusnya terlibat dalam proses pengujian. Situasi yang ideal untuk melakukan uji sistem adalah menguji basisdata pada perangkat keras yang berbeda, tetapi hal ini sering tidak dilakukan.
•
Operational Maintenance Operational Maintenance adalah proses memantau dan menjaga sistem termasuk instalasi. Data Administration (DA) adalah manajemen sumber data dimana termasuk perencanaan basisdata, pengembangan dan maintenance standar, kebijakan dan prosedur, dan rancangan basisdata konseptual dan logikal. Database Administration (DBA) adalah manajemen realisasi fisik dari sebuah aplikasi basisdata,
dimana termasuk
rancangan
basisdata fisikal dan
16
implementasi, pengaturan kontrol keamanan dan integritas, performance monitoring sistem, dan pengaturan basisdata. Yang termasuk aktivitas dari tahapan pemeliharaan adalah sebagai berikut : 1.
M emantau kinerja dari sistem. Jika kinerjanya menurun dibawah level yang dapat diterima, perbaikan atau reorganisasi dari basisdata mungkin diperlukan.
2. Pemeliharaan dan upgrade aplikasi basisdatanya (jika diperlukan). Sebuah DBM S biasanya menyediakan berbagai utilities untuk membantu administrasi basisdata termasuk kegunaan untuk mengisi data kedalam basisdata dan untuk memantau sistem. Kegunaan ini memperboleh sistem pemantauan untuk memberikan informasi seperti tentang pemakaian basisdata dan strategi eksekusi query. Database Administrator dapat menggunakan
informasi ini untuk memperbaiki sistem agar
dapat
memberikan kinerja yang lebih baik.
2.1.7 Tahap-Tahap Perancangan Basisdata M enurut Connolly (2005,p418), metodologi design adalah sebuah pendekatan terstruktur yang menggunakan prosedur, teknik, tool, dan dokumentasi yang mendukung dan memfasilitasi proses design. Perancangan basisdata dibagi menjadi tiga tahapan utama yang dinamakan perancangan basisdata konseptual (conceptual database design), perancangan basisdata logikal (logical database design) dan perancangan basisdata fisikal (physical database design)
17
Conceptual Database Design Perancangan basisdata konseptual adalah proses membangun sebuah model data dari informasi yang diperoleh dalam sebuah organisasi, tetapi bebas dari semua pertimbangan fisik. Adapun tahapan perancangan basisdata konseptual adalah sebagai berikut: Langkah 1. Membangun model data konseptual lokal untuk setiap view. Tujuannya adalah membangun model data konseptual lokal dari sebuah perusahaan untuk setiap view yang spesifik 1.1 M enentukan tipe entiti Tujuannya adalah mengidentifikasi tipe entiti utama yang diperlukan. Tipe entiti merupakan kelompok obyek yang mempunyai properti-properti yang sama. Entity occurrence merupakan obyek yang secara unik mengidentifikasi tipe entiti. Klasifikasi entiti ada dua yaitu fisikal dan konseptual. Hasilnya adalah dokumentasi tipe entiti. 1.2 M enentukan tipe relationship Tujuannya adalah menentukan hubungan penting yang terjadi di antara tipe entiti yang telah ditentukan. Tipe relationship merupakan suatu konsep hubungan yang terjadi antar entiti. Relationship occurrence merupakan konsep hubungan yang secara unik mengidentifikasi tipe relationship. 1.3 M engidentifikasi dan mengasosiasikan atribut dengan entiti atau tipe relationship Tujuannya adalah untuk menghubungkan atribut dengan entiti atau tipe relationship yang sesuai.
18
1.4 M enentukan domain atribut Tujuannya adalah menentukan domain untuk atribut pada model data konseptual lokal. Domain adalah nilai dimana satu atau banyak atribut berdasarkan nilai tersebut. Hasilnya adalah dokumentasi atribut domain. 1.5 M enentukan candidate key dan primary key Tujuannya adalah mengidentifikasi candidate key untuk setiap tipe entiti dan jika ada lebih dari satu candidate key maka harus memilih satu untuk menjadi primary key. Candidate key adalah minimal set atribut dari tipe entiti untuk mengidentifikasi setiap occurance entity. Hasilnya adalah dokumentasi primary dan alternate key di data dictionary. 1.6 M empertimbangkan penggunaan konsep enhanced modelling (langkah pilihan) Tujuannya adalah mempertimbangkan penggunaan model enhanced, seperti specialization/generalization, aggregation, dan composition. Pada tahap ini, kita menggunakan
proses
specialization/generalization.
Proses
specialization
merupakan proses pembeda maximizing antara anggota entiti dengan identifikasi karakter khusus. Proses generalization merupakan proses pembeda minimizing antara anggota entiti dengan identifikasi karakter umum. 1.7 M emeriksa model untuk redundansi Tujuannya adalah untuk mengecek adanya redundansi di dalam model dengan cara : z memeriksa ulang relasi one-to-one (1:1) z menghilangkan relationship yang berulang
19
1.8 Validasi model konseptual lokal terhadap transaksi user. Tujuannya adalah memastikan model konseptual lokal mendukung transaksi yang dibutuhkan view. 1.9 Review model data konseptual lokal dengan user. M e-review model konseptual data lokal mendukung transaksi yang diperlukan. Ada dua pendekatan yaitu menentukan transaksi dan menggunakan jalur transaksi. M odel data dibuat dengan menggunakan dokumen dari spesifikasi kebutuhan pemakai. Perancangan basisdata konseptual adalah bebas dari segala rincian implementasi seperti mengenai sasaran piranti lunak DBM S, program aplikasi, bahasa pemrograman, platform perangkat keras dan pertimbangan fisik lainnya. Keseluruhan proses dari pengembangan model data adalah diuji dan disahkan dari kebutuhan pemakai. M odel data konseptual dari organisasi adalah sebuah sumber informasi untuk tahapan selanjutnya yang dinamakan perancangan basisdata logikal. Hasil akhir dari perancangan basisdata konseptual berupa identifikasi tipe entiti, identifikasi tipe relationship, identifikasi dan hubungan atribut dengan tipe entiti atau tipe relationship, menentukan atribut domain, dan menentukan candidate key dan primary key yang kesemuanya didasarkan pada spesifikasi kebutuhan.
20
Supervises 0..1
Supervisor
0..1 0 BusinessOwn er
Regi ster Staff 1..1
Supervisee
0..1
0..1 Ma nages
BOwns
0..*
0..100
1..*
View s PropertyForRent
1..*
C lient 0..*
0..*
1..1
POwns
1..1
1..1
Ho ld
State
Assosia tedWith 0..1 0..* Priva teOwner
Le ase
0..*
1..1 Preference
Gambar 2.4 Contoh ERD pada tahapan Konseptual Database Design (Sumber : Connolly dan Begg, 2005, p426)
Logical database design Perancangan basisdata logikal adalah proses pembuatan sebuah model dari suatu informasi yang digunakan dalam sebuah perusahaan yang berdasarkan pada model data spesifik, tetapi bebas dari DBM S tertentu dan pertimbangan fisik lainnya. Tahapan-tahapan perancangan basisdata logikal adalah sebagai berikut: Langkah 2. Membangun dan memvalidasi model data logikal lokal. Tujuannya adalah membangun model data logikal lokal dari sebuah model konseptual lokal yang mewakili sudut pandang tertentu dari perusahaan dan memvalidasi model untuk memastikan bahwa struktur tersebut benar (menggunakan teknik normalisasi) dan memastikan model tersebut mendukung transaksi yang diperlukan. 2.1 M enghilangkan fitur yang tidak kompatibel dengan model relational M emperbaiki model konseptual data lokal dengan menghilangkan fitur yang tidak kompatibel. Fitur yang tidak kompatibel :
21
Tujuan utama langkah ini adalah : 4. menghilangkan relasi many-to-many (*:*) binary relationship types 5. menghilangkan relasi many-to-many (*:*) tipe relationship rekursif 6. menghilangkan tipe relationship yang kompleks 7. menghilangkan atribut multi-valued 2.2 M enentukan relationship untuk model data logikal lokal M embuat hubungan untuk model data logikal lokal untuk mewakili entiti, relationship dan atribut yang telah ditentukan. Hal yang perlu dilakukan: • Tentukan strong entity (entiti yang keberadaannya tidak bergantung pada entiti lain). • Tentukan weak entity (entiti yang keberadaannya bergantung pada entiti lain). • Relasi biner 1:* • Relasi biner 1:1 • Relasi rekursif 1:1 • Superclass/subclass • Relasi biner *:* • Relasi kompleks • Atribut multi-valued 2.3 M emvalidasi relasi dengan normalisasi Tujuannya adalah untuk mevalidasi relation pada model data logikal lokal menggunakan teknik normalisasi.
22
2.4 M emvalidasi dengan transaksi M emastikan bahwa relasi dalam model data logikal lokal mendukung transaksi yang diperlukan. 2.5 M enentukan integrity constraint Tujuannya adalah untuk menentukan integrity constraint yang diberikan pada view. Integrity constraint adalah constraint yang digunakan untuk memproteksi database dari menjadi tidak konsisten. Tipe integrity constraint : •
data yang dibutuhkan, haruslah mengandung nilai valid (tidak boleh null).
•
atribut domain constraint (setiap atribut mempunyai domain)
•
entity integrity (primary key tidak boleh null)
•
referential integrity (foreign key yang berhubungan dengan setiap tuple pada relasi child terhadap parent relation mengandung nilai candidate yang cocok) Referential integrity terdiri atas :
NO ACTION (mencegah parent dihapus)
CASCADE (jika parent dihapus maka child juga akan dihapus secara otomatis)
SET NULL (jika parent dihapus, foreign key pada semua child akan di-set null)
SET DEFAULT (jika parent dihapus, foreign key pada semua child akan di-set default)
23
NO CHECK (jika parent dihapus, maka tidak akan melakukan apa-apa untuk memastikan referential integrity dijaga)
•
enterprise constraint (sama dengan peraturan bisnis)
2.6 Review model data logikal Tujuannya adalah untuk memastikan bahwa model data logikal lokal dan mendukung dokumentasi yang menjelaskan model tersebut adalah benar mewakili pengguna.
Langkah 3. Membangun dan memvalidasi model data logikal global. Tujuannya adalah untuk menggabungkan model data logikal lokal individual ke dalam sebuah model data logikal global tunggal yang mewakili perusahaan. 3.1 M enggabungkan modal data logikal lokal kedalam model global. Tujuannya adalah untuk menggabungkan model data logikal lokal ke dalam sebuah model data logikal global suatu perusahaan. Tugas-tugasnya antara lain : •
review nama dan isi entiti/relation serta candidate key
•
review nama dan isi relationship/foreign key
•
menggabungkan entiti/relation dari model data lokal
•
memasukkan entiti/relation unik ke setiap model lokal data
•
menggabungkan relationship/foreign key dari model data lokal
•
memasukkan relationship/foreign key unik ke setiap model data lokal
•
cek terhadap kehilangan entiti/relation dan relationship/foreign key
•
cek foreign key
24
•
cek integrity constraint
•
gambar ER/relation diagram global
•
mengupdate dokumentasi
3.2 Validasi model data logikal global Tujuannya adalah untuk mevalidasi relasi yang dibentuk dari model data logikal menggunakan teknik normalisasi dan memastikan model mendukung transaksi yang diperlukan, jika dibutuhkan. 3.3 Periksa untuk keperluan lebih lanjut Tujuannya adalah untuk menentukan apakah terdapat perubahan yang signifikan pada masa mendatang dan apakah akses model data logikal global dapat mengakomodasi perubahan tersebut.Review model data logikal global 3.4 Review model data logikal global dengan pengguna. Tujuannya adalah untuk memastikan bahwa model data logikal adalah benar mewakili enterprise. Pada tahapan ini, model data konseptual yang dibangun pada tahap sebelumnya diperhalus dan dipetakan pada model data logikal. Keseluruhan proses dari pengembangan model data logikal adalah diuji dan disahkan pada kebutuhan pemakai. Teknik dari normalisasi digunakan untuk menguji kebenaran dari model data logikal, dimana normalisasi memastikan hubungan yang diperoleh dari model data tidak memperlihatkan kelebihan atau perulangan (redundancy),
yang
bisa
menyebabkan
penyimpangan
update
ketika
diimplementasikan. M odel data logikal merupakan sumber informasi untuk tahapan selanjutnya yang dinamakan perancangan basisdata fisikal.
25
Hasil akhir dari tahapan ini berupa sebuah kamus data yang berisi semua atribut beserta key-nya (primary key, alternate key dan foreign key) dan ERD keseluruhan (relasi global) dengan semua atribut key-nya.
Physical Database Design untuk database relational M erupakan proses pembuatan deskripsi dari suatu implementasi basisdata pada penyimpanan sekunder, hal ini mendeskripsikan relasi dasar, organisasi file, dan indeks yang digunakan untuk mencapai efisiensi akses kedalam data, dan segala ukuran keamanan dan batasan integritas yang berhubungan. Adapun tahapan-tahapan dalam merancang fisikal basisdata antara lain: Langkah 4. Mewujudkan model data logikal global untuk DBMS Tujuannya adalah untuk menghasilkan relational database schema dari model data logikal global yang dapat diimplementasikan target DBM S 1.1 Desain relasi dasar Tujuannya adalah untuk menentukan bagaimana menampilkan base relation yang diidentifikasi pada model data logikal global pada target DBM S. Hasilnya adalah dokumentasi design base relation. 1.2 M erancang representasi dari data yang diturunkan Tujuannya untuk memutuskan bagaimana merepresentasikan data turunan dalam model data logikal global untuk DBM S. Hasilnya adalah dokumentasi desian derived data. 1.3 Desain kendala perusahaan Tujuannya adalah untuk merancang enterprise constraint untuk DBM S. Hasilnya adalah dokumentasi desian enterprise constraint
26
Langkah 5. Desain representasi fisikal Tujuannya adalah untuk menentukan organisasi file yang optimal untuk menyimpan base relation dan indeks yang dibutuhkan untuk mencapai performance yang dapat diterima, yaitu relation dan tuple yang akan digunakan pada penyimpanan kedua. Ukuran efisiensi merancang basisdata fisikal dalam menyimpan data antara lain : ● transaction throughput (jumlah transaksi yang dapat diproses dalam jangka waktu tertentu) ● waktu respon (waktu yang melengkapi transaksi tunggal) ● tempat penyimpanan (jumlah tempat penyimpanan yang dibutuhkan untuk menyimpan file basisdata) 1.1 Analisa transaksi Tujuannya adalah untuk memahami fungsionalitas transaksi yang akan dijalankan pada basisdata dan untuk menganalisis transaksi yang penting. 1.2 M emilih organisasi file M emastikan organisasi file yang efisien untuk tiap relasi dasar. Hasilnya adalah dokumentasi pilihan organisasi file. 1.3 M emilih indeks M emastikan apakah penambahan indeks akan meningkatkan performa sistem. 1.4 M emperkirakan kebutuhan sistem Tujuannya adalah untuk memperkirakan jumlah tempat penyimpanan yang akan dibutuhkan basisdata. Langkah 6.Merancang user view Tujuannya adalah untuk merancang user view yang diidentifikasi selama pengumpulan kebutuhan dan tahap analisis dari siklus aplikasi basis data relational.
27
Hasilnya adalah dokumentasi design dari user view. Langkah 7. Merancang mekanisme keamanan M erancang mekanisme keamanan untuk basisdata bagi user secara spesifik. Langkah 8. Mempertimbangkan redundansi yang terkontrol M enentukan apakah perkenalan pengulangan terkontrol akan meningkatkan performa sistem.
M enggabungkan relasi 1:1
M enduplikasi atribut dalam relasi 1:1
M enduplikasi atribut foreign key dalam hubungan 1:1
M enduplikasi atribut dalam relasi *:*
M emperkenalkan kelompok berulang
M enggabung tabel dengan hubungan dasar
M embangun tabel ekstrak
Langkah 9. Memonitor sistem operasi M emonitor sistem operasi dan meningkatkan pelaksanaan sistem untuk memperbaiki keputusan rancangan yang tidak sesuai.Tujuan utamanya adalah untuk mendeskripsikan bagaimana perancang bermaksud untuk mengimplementasikan secara fisik dari perancangan basisdata logikal.
2.1.8. Entity Relationship Modelling ER Model adalah model konseptual yang menjabarkan hubungan antara penyimpan dan hubungan data (Conolly, 2005,p342). ER modeling merupakan sebuah pendekatan top-down pada desain basis data yang dimulai dengan mengidentifikasi entitas dan relationship antara data yang harus direpresentasikan dalam model.
28
2.1.8.1 Tipe Entiti (Entity Type) Entity type adalah kumpulan dari objek-objek dengan sifat ( property ) yang sama, yang diidentifikasi oleh enterprise sebagai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak. Entity Occurrence yaitu pengidentifikasian objek yang unik dari sebuah entity type. Setiap entitas diidentifikasi dan disertakan property-nya. Nama Entiti
Staff
Branch
Gambar 2.5 Contoh Tipe Entity (Sumber Connolly dan Begg, 2005,p345)
2.1.8.2 Tipe Relasi (Relationship Types) Relationship Type merupakan sebuah set asosiasi yang mempunyai arti antar entity. Relationship Occurrence adalah keterhubungan yang diidentifikasi secara unik yang meliputi keberadaan tiap entity type yang berpartisipasi.
Gambar 2.6 Representasi Diagram dari Tipe Relationship Sumber : Connolly, 2005, p347
29
Degree of a relationship type adalah jumlah entitas yang berpartisipasi dalam suatu relationship, terdiri dari : a) Binary relationship
Gambar 2.7 Contoh Binary Relationship Sumber : Connolly, 2005, p348 b) Ternary relationship
Gambar 2.8 Contoh Ternary Relationship Sumber : Connolly, 2005, p348 c) Quaternary relationship
Gambar 2.9 Contoh Quaternary Relationship Sumber : Connolly, 2005, p349
30
d) Unary relationship
Gambar 2.10 Contoh Hubungan Rekursif Sumber : Connolly, 2005, p349
2.1.8.3. Atribut (Attribute) dan Key M erupakan sifat ( property ) dari sebuah entitas atau relationship. Atribut-atribut tersebut
mempunyai
nilai
yang
menggambarkan
entity
occurrence
dan
merepresentasikan bagian penting dari data yang tersimpan dalam basis data. Atribut Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut.
Gambar 2.11 Contoh Entitas yang Terhubung M elalui Dua Jalur Sumber : Connolly, 2005, p350
31
Candidate
Key
adalah
jumlah
minimal
atribut-atribut
yang
dapat
mengidentifikasikan setiap kejadian/record secara unik. Primary Key adalah Candidate Key yang dipilih untuk mengidentifikasikan setiap kejadian/record dari suatu entitas secara unik. Alternate key adalah candidate key yang tidak terpilih menjadi primary key. Foreign key adalah sebuah atribut atau sekumpulan atribut di dalam sebuah tabel yang terhubung dengan candidate key pada tabel lain. Composite Key adalah Candidate Key yang terdiri dari dua atau lebih atribut.
2.1.8.4. S tructural Constraints Constraints harus merefleksikan kendala relasi seperti anggapan ‘real word’. Contohnya seperti constraints yang menyertakan kebutuhan PropertyForRent yang harus mempunyai owner dan tiap branch harus mempunyai staff. Jenis constraint utama pada relasi disebut multiplicity. Batasan utama pada relationship disebut multiplicity, yaitu jumlah ( atau range ) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. M acam-macam binary relationship : e) One to One
Gambar 2.12 Contoh One to One Relationship Sumber : Connolly, 2005, p358
32
f) One to Many / Many to One
Gambar 2.13 Contoh One to M any Relationship Sumber : Connolly, 2005, p359 g) Many to Many
Gambar 2.2 Contoh M any to M any Relationship Sumber : Connolly, 2005, p360 h) Cardinality Cardinality menjelaskan
jumlah maksimal ocurrence relationship yang
diperbolehkan untuk satu entitas yang berpartisipasi dalam satu tipe relasi. i) Participation Participation menentukan apakah seluruh atau sebagian entity ocurrence yang berpartisipasi dalam suatu relasi.
2.1.9. Normalisasi Normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan relasi dengan properti-properti yang sesuai dengan persyaratan data yang diberikan sebuah perusahaan (Connolly, 2005, p388).
33
Tujuan normalisasi adalah sebagai berikut : 3. M enghilangkan kumpulan relasi dari inserting, updating, dan delete dependency yang tidak diharapkan 4. M engurangi kebutuhan restrukturisasi kumpulan relasi dan meningkatkan life spam program aplikasi 5. M embuat model relasional yang lebih informative 6. M embuat sekecil mungkin terjadinya data rangkap 7. M enghidarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap. 8. M enjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut. Berikut ini adalah proses normalisasi : •
Unnormalized Form (UNF) Unnormalized Form adalah sebuah tabel yang mengandung satu atau lebih repeating groups.
•
First Normal Form (1NF) First Normal Form adalah sebuah relasi di dalam mana titik potong setiap baris dan kolom mengandung satu dan hanya satu nilai. Untuk mengubah unnormalized table menjadi first normal form ( 1NF ), kita harus mengidentifikasi dan menghilangkan repeating groups dari tabel serta kolom yang dapat dihitung.
34
•
Second Normal Form (2NF) Second Normal Form (2NF) dibuat berdasarkan konsep full fuctional dependency. Second Normal Form (2NF) adalah sebuah relasi yang berada dalam first normal form
dan setiap atribut non-primary-key secara penuh
bergantung secara fungsional pada primary key. •
Third Normal Form (3NF) Third Normal Form ( 3NF ) adalah sebuah relasi dalam bentuk 1NF dan 2NF dimana tidak ada atribut non-primary-key yang bergantung secara transitif terhadap primary key. Proses normalisasi dari relasi 2NF ke 3NF melibatkan penghapusan ketergantungan transitif. Jika terdapat ketergantungan transitif, kita menghilangkan atribut yang bergantung secara transitif dari relasi dengan menggantikan atribut dalam relasi yang baru bersamaan dengan duplikasi dari determinannya.
•
Fourth Normal Form (4NF) Fourth Normal Form ( 4NF ) adalah sebuah relasi di mana relasi tersebut berada pada bentuk Boyce-Codd Normal Form (BNCF) dan tidak terdapat dua atau lebih atribut yang memiliki ketergantungan nilai banyak (multi valued depedency). M eskipun Boyce-Codd Normal Form telah membuang beberapa anomaly tetapi tidak menutup kemungkinan bahwa hasil dari Boyce-Codd Normal Form tersebut akan memiliki dua atau lebih atribut yang bernilai banyak (multi valued).
35
2.2. Teori-Teori Khusus 2.2.1 Pembelian M enurut M ulyadi (2001, p299), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Fungsi yang terkait dalam sistem pembelian adalah : 1. Fungsi Gudang: bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan. 2. Fungsi Pembelian: bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, mendapatkan informasi mengenai permintaan pembelian dari gudang dan mengeluarkan order pembelian kepada pemasok yang dipilih. 3. Fungsi Penerimaan: bertanggung jawab untuk memeriksa kualitas, jenis dan kuantitas barang yang diterima dari pemasok dengan tujuan untuk menentukan dapat tidaknya barang tersebut diterima oleh perusahaan yang akan digunakan untuk proses produksi. 4. Fungsi Akuntansi: fungsi yang terkait dalam transaksi pembelian adalah fungsi pencatat hutang dan fungsi pencatat persediaan. Fungsi pencatat hutang bertanggung jawab untuk mencatat transaksi pembelian ke dalam register bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagai buku pembantu hutang. Fungsi pencatat persediaan bertanggung jawab untuk mencatat harga pokok persediaan barang yang dibeli ke dalam kartu persediaan.
36
M enurut M ulyadi (2001, p301), jaringan prosedur dalam sistem pembelian adalah: 1. Prosedur permintaan pembelian. Dalam prosedur ini, fungsi gudang mengajukan permintaan pembelian dalam formulir surat permintaan pembelian kepada fungsi pembelian. Surat tersebut berisi sejumlah jenis barang-barang yang akan dibeli. Surat tersebut akan dibuat dalam beberapa rangkap. Permintaan pembelian tersebut akan dipenuhi tergantung dari keputusan manager perusahaan yang bersangkutan. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok. Dalam prosedur ini, fungsi pembelian mengirimkan surat permintaan penawaran harga kepada para pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain, untuk memungkinkan pemilihan pemasok yang akan ditunjuk sebagai pemasok barang yang diperlukan oleh perusahaan. 3. Prosedur order pembelian. Dalam prosedur ini, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan (misalnya fungsi penerimaan, fungsi yang meminta barang, dan fungsi pencatat hutang) mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. 4. Prosedur penerimaan barang. Dalam prosedur ini, fungsi penerimaan melakukan pemeriksaan mengenai jenis, kuantitas, dan mutu barang yang diterima dari pemasok, dan kemudian membuat laporan penerimaan barang untuk menyatakan penerimaan barang dari pemasok
37
tersebut. Pada saat barang tersebut diterima maka bagian akuntasi dan bagian persediaan akan berpengaruh. 5. Prosedur pencatat hutang. Dalam prosedur ini, fungsi akuntansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian (surat order pembelian, laporan penerimaan barang, dan faktur dari pemasok) dan menyelenggarakan pencatatan hutang atau mengarsipkan dokumen sumber sebagai catatan hutang. 6. Prosedur distribusi pembelian. Prosedur ini meliputi distribusi rekening yang didebit dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen.
2.2.2 Persediaan M enurut M ulyadi (2001, p553), sistem persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini berkaitan erat dengan sistem pembelian, sistem retur pembelian, dan sistem akuntansi biaya produksi. Dalam perusahaan manufaktur, persediaan terdiri dari persediaan produk jadi, persediaan produk dalam proses, persediaan bahan baku, persediaan bahan penolong, persediaan bahan habis pakai pabrik, dan persediaan suku cadang. Ada dua macam metode pencatatan persediaan yaitu metode mutasi persediaan (perpetual inventory method) dan metode persediaan fisik (physical inventory method). Dalam metode mutasi persediaan, setiap mutasi persediaan dicatat dalam kartu persediaan. Dalam metode persediaan fisik, hanya tambahan
38
persediaan dari pembelian saja yang dicatat, sedangkan mutasi berkurangnya persediaan karena pemakaian tidak dicatat dalam kartu persediaan. M enurut M ulyadi (2001, p560), sistem dan prosedur yang bersangkutan dengan sistem persediaan adalah : 1. Prosedur pencatatan produk jadi. Prosedur ini merupakan salah satu prosedur dalam sistem akuntansi biaya produksi. Dalam prosedur ini dicatat harga pokok produk jadi yang didebitkan ke dalam rekening persediaan produk jadi dan dikreditkan ke dalam rekening barang dalam proses. Catatan akuntansi yang digunakan adalah kartu gudang, kartu persediaan, dan jurnal umum. 2. Prosedur pencatatan harga pokok produk jadi yang dijual. Prosedur ini merupakan salah satu prosedur dalam sistem penjualan disamping prosedur lainnya seperti prosedur order penjualan, prosedur persetujuan kredit, prosedur pengiriman barang, prosedur penagihan, prosedur pencatatan piutang. Catatan akuntansi yang digunakan adalah kartu gudang, kartu persediaan, jurnal umum. 3. Prosedur pencatatan harga pokok produk jadi yang diterima kembali dari pembeli. Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur penjualan. Jika produk jadi yang telah dijual dikembalikan oleh pembeli, maka transaksi retur penjualan ini akan mempengaruhi persediaan produk jadi. Catatan akuntansi yang digunakan adalah : kartu gudang, kartu persediaan, dan jurnal umum atau jurnal retur persediaan, jika perusahaan menggunakan jurnal khusus.
39
4. Prosedur pencatatan tambahan dan penyesuaian kembali harga pokok persediaan produk dalam proses.Pencatatan persediaan produk dalam proses umumnya dilakukan oleh perusahaan pada akhir periode, pada saat dibuat laporan keuangan bulanan dan laporan keuangan tahunan. 5. Prosedur pencatatan harga pokok persediaan yang dibeli. Prosedur ini merupakan salah satu prosedur yang membentuk sistem pembelian. Dalam prosedur ini dicatat harga pokok persediaan yang dibeli. 6. Prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok. Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur pembelian. Jika persediaan yang telah dibeli dikembalikan kepada pemasok, maka transaksi retur pembelian ini akan mempengaruhi persediaan yang bersangkutan. 7. Prosedur permintaan dan pengeluaran barang gudang. Prosedur ini merupakan salah satu prosedur yang membentuk sistem akuntansi biaya produksi. Dalam prosedur ini dicatat harga pokok persediaan bahan baku, bahan penolong, bahan habis pakai pabrik, dan suku cadang yang dipakai dalam kegiatan produksi dan kegiatan non produksi. 8. Prosedur pencatatan tambahan harga pokok persediaan karena pengembalian barang gudang. Dalam prosedur ini, transaksi pengembalian barang gudang mengurangi biaya dan menambah persediaan barang di gudang. Jurnal yang dibuat untuk mencatat transaksi tersebut adalah jurnal umum.
40
9. Sistem perhitungan fisik persediaan. Sistem penghitungan fisik persediaan umumnya digunakan oleh perusahaan untuk menghitung secara fisik persediaan yang disimpan di gudang, yang hasilnya digunakan untuk meminta pertanggungjawaban Bagian Gudang mengenai pelaksanaan fungsi penyimpanan, dan pertanggungjawaban Bagian Kartu
Persediaan
mengenai
keandalan
catatan
persediaan
yang
diselenggarakannya, serta untuk melakukan penyesuaian terhadap catatan persediaan di Bagian Kartu Persediaan. Catatan akuntansi yang digunakan adalah kartu persediaan, kartu gudang, dan jurnal umum. M enurut M ulyadi (2001, p579), fungsi yang terkait dalam sistem perhitungan fisik persediaan adalah : 1. Panitia penghitungan fisik persediaan, berfungsi untuk melaksanakan penghitungan fisik persediaan dan menyerahkan hasil penghitungan tersebut kepada bagian kartu persediaan untuk digunakan sebagai dasar adjustment terhadap catatan persediaan dalam kartu persediaan. 2. Fungsi Akuntansi bertanggung jawab untuk: a. M encantumkan harga pokok satuan persediaan yang dihitung ke dalam daftar hasil penghitungan fisik. b. M engalikan kuantitas dan harga pokok per satuan yang tercantum dalam daftar hasil penghitungan fisik. c. M encantumkan harga pokok total dalam daftar hasil penghitungan fisik. d. M elakukan adjustment terhadap kartu persediaan berdasar data hasil penghitungan fisik persediaan.
41
e. M embuat bukti memorial untuk mencatat adjustment data persediaan dalam jurnal umum berdasarkan hasil penghitungan fisik persediaan. 3. Fungsi Gudang bertanggung jawab untuk melakukan adjustment data kuantitas persediaan yang dicatat dalam kartu gudang berdasarkan hasil penghitungan fisik persediaan.
2.2.3 Penjualan M enurut M ulyadi(2001, p202) Penjualan mempunyai peranan terpenting dalam perusahaan karena penjualan merupakan sumber kelangsungan hidup suatu perusahaan. Semakin besar jumlah penjualan semakin besar pula laba yang diperoleh. Penjualan terjadi apabila pihak yang satu (penjual) menyerahkan hak milik suatu barang, sedangkan pihak lain(pembeli) membayar barang baik secara tunai maupun kredit sebagai imbalan dari perolehan hak milik tersebut. Kegiatan penjualan
terdiri dari transaksi penjualan barang atau jasa, baik secara tunai
maupun kredit. Fungsi penjualan antara lain: a. Fungsi Penjualan Dalam transaksi penjualan kredit, fungsi penjualan bertanggung jawab untuk menerima surat order dari pembeli, mengedit order dari pelanggan untuk menambahkan informasi yang belum ada pada surat order tersebut( seperti spesifikasi barang dan rute pengiriman) , meminta otoritas kredit, menentukan tanggal pengiriman dan lokasi gudang dimana barang akan dikirim, serta mengisi surat order pengiriman. Fungsi ini juga bertanggung jawab untuk membuat back order pada saat diketahui tidak tersedianya persediaan untuk memenuhi order dari pelanggan.
42
b. Fungsi Kredit Fungsi ini berada dibawah fungsi keuangan yang dalam transaksi penjualan kredit bertanggung jawab untuk meneliti status kredit pelanggan
dalam memberikan
otoritas pembelian
kredit
kepada
pelanggan c. Fungsi Gudang Dalam transaksi penjuala n kredit fungsi ini bertanggung jawab untuk menyimpan barang dan menyiapkan barang yang dipesan oleh pelanggan, serta menyerahkan barang ke fungsi pengiriman. d. Fungsi Pengiriman Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk menyerahkan barang atas dasar surat order pengiriman yang diterimanya dari fungsi penjualan. Fungsi ini bertanggung jawab untuk menjamin bahwa tidak ada barang yang keluar dari perusahaan tanpa ada otoritas dari orang yang berwenang. Otoritas ini dapat berupa surat order pengiriman yang telah ditanda tangani oleh fungsi penjualan, memo debit yang ditangani oleh fungsi pembelian untuk barang dikirimkan kembali kepada pemasok (retur pembelian), surat perintah kerja dari fungsi produksi mengenai penjualan atau pembuangan aktiva tetap yang sudah tidak dipakai lagi. e. Fungsi Penagihan Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk membuat dan mengirimkan
faktur penjualan kepada pelanggan, serta
43
menyediakan copy faktur demi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. f. Fungsi Akuntansi Dalam Transaksi penjualan kredit, fungsi ini bertanggung jawab untuk mencatat piutang yang timbul melalui transaksi penjualan kredit dan membuat serta mengirimkan pernyataan piutang kepada debitur, serta membuat laporan penjualan. Disamping itu, fungsi ini juga bertanggung jawab untuk mencatat harga pokok persediaan yang dicatat kedalam kartu persediaan.
2.2.4 Manufaktur M anufaktur merupakan suatu aktivitas manusia yang meliputi seluruh tahap kehidupan manusia. Kata manufaktur diperoleh dari bahasa Latin, manus (tangan) dan factus (yang dibuat), dan didefinisikan kamus sebagai proses pembuatan barang-barang dan artikel dengan tangan, terutama dengan mesin, dalam skala besar dan dengan pembagian kerja. M enurut Singh (2000, p5), “Manufacturing is a series of interrelated activities and operations involving design, material selection, planning, production, quality assurance, management and marketing of discrete consumer and durable goods”, yang artinya manufaktur adalah suatu rangkaian aktivitas yang saling berhubungan dan operasi-operasi yang meliputi desain, pemilihan material, perencanaan, produksi, jaminan kualitas, manajemen dan pemasaran pada konsumen yang terpisah dan barang yang tahan lama.