BAB 2 LANDASAN TEORI
2.1
Teori Dasar Sistem Basis Data
2.1.1
Data Menurut Everest (1986, p3), data adalah “fakta” yang dipresentasikan dengan nilai berupa angka, karakter string, atau symbol yang memiliki arti dalam beberapa konteks. Menurut Turban (2005, p38), data merupakan kumpulan fakta atau deskripsi dasar dari sesuatu, kejadian, aktifitas, dan transaksi, yang diambil, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur untuk menyatakan suatu arti tertentu. Menurut Whitten (2004, p27, p553), data adalah fakta mentah mengenai orang, tempat, kejadian, dan apapun yang penting bagi perusahaan. Dimana setiap fakta sebenarnya, jika berdiri sendiri, relatif tidak memiliki arti. Data merupakan sebuah sumber daya yang harus dikendalikan dan dikelola. Jadi, dapat disimpulkan bahwa data adalah fakta yang dipresentasikan dengan nilai mengenai sesuatu, kejadian, aktifitas, dan transaksi yang perlu dikontrol dan dikelola sehingga dapat berguna bagi suatu pihak/organisasi.
7
8
2.1.2
Basis Data Menurut Turban (2005, p37), basis data merupakan kumpulan file, tabel, relations, dan lain-lain yang saling berhubungan, yang menyimpan data dan asosiasi-asosiasi diantaranya. Menurut Whitten (2004, p548), basis data adalah koleksi dari file yang saling berhubungan. Menurut Connolly dan Begg (2005, p15), basis data adalah sekumpulan data yang saling berhubungan dimana dirancang untuk mencapai informasi yang diperlukan dalam suatu organisasi. Artinya basis data adalah tempat penyimpanan data yang besar dimana bisa digunakan secara simultan atau secara bersamaan oleh banyak departemen dan pemakai lainnya (user). Di dalam basis data semua item data diintegrasikan untuk menghindarkan duplikasi data (redudancy). Basis data tidak hanya mengandung data operasional organisasi, tetapi juga deskripsi dari data tersebut (meta-data). Sehingga dapat disimpulkan bahwa basis data merupakan suatu kumpulan data yang saling berhubungan antara satu dengan yang lainnya, yang dapat digunakan secara simultan atau secara bersamaan oleh banyak user, dan item data pada basis data diintegrasikan untuk menghindarkan duplikasi data.
2.1.2.1 Karakteristik Basis Data Menurut Mannino (2004, p4), basis data memiliki beberapa karakteristik, yaitu :
9
a) Persistent, artinya data berada pada tempat penyimpanan yang stabil seperti pada magnetic disk. Variabel pada computer tidak bersifat persistent karena berada pada memori utama dan akan menghilang seiring ditutupnya program. Persistent juga bukan berarti data akan selamanya ada. Ketika data sudah tidak lagi relevan maka data tersebut akan dibuang atau diarsipkan. b) Shared, artinya basis data dapat mempunyai banyak kegunaan dan banyak user. Basis data menyediakan memori yang umum untuk beragam fungsi dalam suatu organisasi. Kecuali jika dua users mencoba untuk merubah suatu bagian yang sama pada basis data pada saat yang bersamaan, mereka dapat langsung melakukannya tanpa harus menunggu yang lain. c) Interrelated, artinya data tersimpan dalam unit yang terpisah-pisah, tapi dapat dihubungkan untuk menyediakan data yang dibutuhkan.
2.1.3
Sistem Basis Data Menurut Date (2000, p5), pada dasarnya sistem basis data adalah sistem penyimpanan yang telah terkomputerisasi yang secara keseluruhan bertujuan untuk menyimpan informasi dan memungkinkan penggunanya mengambil dan mengubah informasi tersebut pada saat yang dibutuhkan. Komponen-komponen penting dalam sistem basis data yaitu :
10
1. Data Data dalam basis data dapat merupakan data yang single user (hanya satu pengguna yang beroperasi pada basis data) atau multi user, dimana satu atau lebih user beroperasi secara bersama-sama ke dalam basis data. Sehingga data dalam basis data terutama untuk sistem yang besar, harus terintegrasi dan dapat dipakai secara bersamaan. 2. Perangkat Keras (Hardware) Untuk manajemen basis data hanya dibutuhkan mesin standard, namun yang harus diperhatikan adalah kapasitas penyimpanan karena basis data akan membutuhkan kapasitas yang besar. 3. Perangkat Lunak (Software) Piranti lunak untuk sistem basis data disebut DBMS (Database Management System). 4. Pengguna (User) Pengguna yang terlibat dalam komponen DBMS yaitu : a) Database Administrator Bertanggung jawab untuk mengatur manajemen sumber daya data yang meliputi perencanaan basis data, pengembangan dan pemeliharaan standardnya, aturan dan prosedur, dan rancangan basis data konseptual atau logikal. b) Programmer Programmer adalah seseorang atau sekelompok orang yang menjadi
tenaga
ahli
komputer
yang
berfungsi
untuk
11
mengembangkan program-program aplikasi yang diperlukan dalam DBMS. c) End-user (Pengguna Akhir) Yang termasuk dalam kategori pengguna akhir adalah pemilik sistem, para manajer, operator dan sebagainya yang terlibat langsung dalam penggunaan sistem basis data.
2.2
Database Management System (DBMS) Definisi Database Management System (DBMS) menurut Whitten (2004, p554) adalah perangkat lunak khusus yang digunakan untuk membuat, mengakses, mengendalikan, dan mengelola sebuah basis data. Menurut Connolly dan Begg (2005, p16), Database Management System (DBMS) adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, me-maintain, dan mengontrol akses ke basis data. Fasilitas-fasilitas yang pada umumnya disediakan oleh DBMS adalah sebagai berikut (Connolly dan Begg, 2005, p16-17) : a) Pendefinisian basis data menggunakan Data Definition Language (DDL). b) Insert, update, delete dan mengambil data dari basis data yang biasanya menggunakan Data Manipulation Language (DML). c) Penyediaan akses yang terkontrol ke basis data seperti :
12
•
Sistem keamanan (security system), mencegah pengguna yang tidak berhak mengakses basis data.
•
Sistem integritas (integrity system), memelihara konsistensi data yang disimpan.
•
Sistem kontrol akses yang bersamaan (concurrency control system), mengijinkan akses basis data secara bersamaan.
•
Sistem kontrol perbaikan (recovery control system), mengembalikan basis data ke kondisi konsisten sebelumnya setelah terjadi kegagalan perangkat keras atau perangkat lunak.
•
Katalog pengguna (user-accessible catalog), berisi deskripsi data dalam basis data.
2.2.1
Keuntungan dari DBMS Menurut Connolly dan Begg (2005, p26), keuntungan dari DBMS meliputi : a) Mengontrol duplikasi data. b) Konsistensi data. c) Informasi lebih dari jumlah data yang sama. d) Penggunaan data secara bersamaan. e) Meningkatkan integritas data. f) Meningkatkan keamanan.
13
g) Pelaksanaan standardisasi. h) Skala ekonomi tertentu. i) Skala ekonomi. j) Keseimbangan antara persyaratan yang saling bertentangan. k) Meningkatkan aksesibilitas data dan responsibilitas data. l) Meningkatkan produktivitas. m) Meningkatkan pemeliharaan melalui data yang bebas. n) Meningkatkan konkurensi. o) Meningkatkan backup dan recovery service.
2.2.2
Kerugian dari DBMS Menurut Connolly dan Begg (2005, p29), kerugian dari DBMS meliputi : a) Kompleksitas. b) Memerlukan disk space dan memory yang tidak sedikit. c) Harga dari DBMS yang pada umumnya cukup mahal. d) Biaya hardware tambahan. e) Biaya konversi. f) Performa. g) Dampak yang lebih hebat jika terjadi kegagalan.
14
2.2.3
Structured Query Language (SQL) Menurut Connolly dan Begg (2005, p113), Structured Query Language (SQL) merupakan sebuah contoh dari transform-oriented language, atau sebuah bahasa yang didesain untuk menggunakan relasi untuk mentransformasikan inputs ke output yang dibutuhkan. Sebagai sebuah bahasa, standar ISO SQL memiliki dua komponen utama yaitu :
2.2.4
•
Data Definition Language (DDL)
•
Data Manipulation Language (DML)
Data Definition Language (DDL) Menurut Connolly dan Begg (2005, p40), Data Definition Language (DDL) adalah sebuah bahasa yang memungkinkan DBA atau user untuk mendeskripsikan dan memberi nama entitas, atribut, dan hubungan yang dibutuhkan
untuk
aplikasi,
termasuk
batasan-batasan
keamanan
dan
integritasnya. Hasil kompilasi dari Data Definition Language (DDL) adalah seperangkat tabel yang disimpan dalam file spesial yang dinamakan katalog sistem.
Katalog
sistem
ini
mengintegrasikan
meta-data,
data
yang
menggambarkan objek dalam basis data dan membuatnya menjadi lebih mudah untuk diakses. Statement standar DDL yang utama pada umumnya adalah sebagai berikut (Connolly dan Begg, 2005, p168) :
15
a) CREATE SCHEMA b) CREATE DOMAIN c) CREATE TABLE d) CREATE VIEW e) ALTER DOMAIN f) ALTER TABLE g) DROP SCHEMA h) DROP DOMAIN i) DROP TABLE j) DROP VIEW
2.2.5
Data Manipulation Language (DML) Menurut Connolly dan Begg (2005, p40), Data Manipulation Language (DML) adalah sebuah bahasa yang menyediakan seperangkat operasi untuk mendukung operasi dasar manipulasi data pada data dalam basis data. Operasi manipulasi data biasanya mencakup berikut ini : a) Memasukkan data baru ke dalam basis data (insert). b) Memodifikasi data yang ada di dalam basis data (update). c) Mengambil data yang disimpan di dalam basis data (select). d) Menghapus data yang terdapat di dalam basis data (delete). Data Manipulation Language (DML) dapat dibedakan menjadi dua tipe, yaitu :
16
a) Procedural DML Procedural DML adalah sebuah bahasa yang memungkinkan user untuk memberitahukan kepada sistem akan data yang dibutuhkan dan bagaimana tepatnya data tersebut diambil. Procedural DML tertanam dalam bahasa pemrograman tingkat tinggi dimana menyediakan fasilitas untuk iterasi dan menangani navigasi logika. b) Non-procedural DML Non-procedural
DML
adalah
sebuah
bahasa
yang
memungkinkan user untuk menyampaikan data apa yang diperlukan tanpa perlu menyampaikan bagaimana data tersebut diambil. Pada umumnya, non-procedural DML lebih mudah untuk dipelajari dan digunakan daripada procedural DML.
2.2.6
Fourth Generation Language (4th GL) Menurut Connolly dan Begg (2005, p42), dibandingkan dengan 3rd GL yang procedural, 4th GL adalah non-procedural yaitu pengguna lebih ditekankan pada pendefinisian apa yang akan dikerjakan, daripada bagaimana mengerjakannya. Contoh 4th GL meliputi : a) Forms generators Merupakan fasilitas interaktif untuk membuat form input data dan tampilannya. Mendefinisikan desain tampilan, informasi apa
17
yang akan disajikan, komponen warna pada layar dan karakteristik lainnya. b) Report generators Membuat laporan yang datanya diambil dari basis data. Memungkinkan
pengguna
untuk
mengambil
data
yang
diperlukan untuk laporan. Lebih menekankan kepada rancangan output, yaitu bagaimana suatu laporan akan disajikan. c) Graphic generators Digunakan untuk mengambil data dari basis data, dan menampilkannya dalam bentuk grafik, seperti bar chart, pie chart, dan lain-lain. d) Application generators Fasilitas untuk menghasilkan program yang berhubungan dengan data, menentukan bagaimana menampilkan fungsi-fungsi.
2.3
Database System Development Lifecycle Siklus hidup pengembangan sistem basis data atau dikenal juga dengan database system development lifecycle (DSDLC) merupakan suatu pendekatan terstruktur untuk mengembangkan sistem basis data. Karena sistem basis data merupakan komponen yang penting dalam sistem informasi suatu perusahaan besar, siklus hidup pengembangan sistem basis data berkaitan erat dengan siklus hidup sistem informasi. (Connolly dan Begg, 2005, p282-p283)
18
Adalah penting untuk mengetahui bahwa tahapan siklus hidup pengembangan sistem basis data tidaklah harus berurutan, tetapi melibatkan sejumlah pengulangan tahapan sebelumnya melalui feed-back loops. Berikut ini akan ditunjukkan tahapan database system development lifecycle (DSDLC) pada gambar di bawah ini :
Gambar 2.1 Tahap-tahap database system development lifecycle. (Connolly dan Begg, 2005, p284)
19
2.3.1
Database Planning (Perencanaan Basis Data) Database planning (perencanaan basis data) merupakan aktivitasaktivitas manajemen yang memungkinkan tahap-tahap dalam database system development lifecycle direalisasikan seefisien dan seefektif mungkin (Connolly dan Begg, 2005, p285). Perencanaan basis data harus diintegrasikan dengan keseluruhan sistem informasi suatu organisasi. Ada tiga persoalan pokok yang terlibat dalam perumusan suatu strategi sistem informasi : a) Identifikasi rencana, sasaran dan tujuan perusahaan dengan penetuan kebutuhan sistem informasi. b) Evaluasi
sistem infromasi
yang
sedang
berjalan
untuk
menentukan kelebihan dan kekurangan yang ada. c) Penilaian terhadap peluang IT (Information Technology) apakah mampu menghasilkan keuntungan yang kompetitif. Tahapan dalam perencanaan basis data juga harus menjelaskan : a) Mission statement dari proyek basis data. Mission statement ini menjelaskan tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek basis data, dan menyediakan maksud yang lebih jelas dalam pembuatan aplikasi basis data secara efektif dan efisien (Connolly dan Begg, 2005, p286). Dengan merumuskan apa sebenarnya yang menjadi tujuan dari proyek basis data ini maka diharapkan dapat lebih memfokuskan pekerjaan pada tahap selanjutnya.
20
b) Mission objectives. Selain merumuskan tujuan dari sebuah proyek basis data, harus diperhatikan juga mengenai tugas apa saja yang harus didukung oleh basis data tersebut. Setiap mission objective akan menjelaskan tugas tertentu yang harus didukung oleh basis data, dengan asumsi jika basis data mendukung mission objective, maka mission statement juga akan sesuai (Connolly dan Begg, 2005, p286). Di dalam perencanaan basis data juga meliputi perkembangan standar yang akan menentukan bagaimana suatu data akan dikumpulkan, bagaimana format yang harus ditetapkan, lalu dokumentasi apa saja yang akan dibutuhkan, serta bagaimana desain dan implementasi harus dikerjakan nantinya.
2.3.2
System Definition (Pendefinisian Sistem) System definition (pendefinisian sistem) menjelaskan bidang dan batasan aplikasi basis data serta pandangan pengguna (user view) secara umum (Connolly dan Begg, 2005, p286). Hal ini sangat penting dilakukan dalam suatu proses perancangan basis data agar dapat melakukan proses identifikasi mengenai batasan sistem yang akan dirancang, serta bagaimana sistem tersebut akan berhubungan dengan bagian sistem informasi pada organisasi yang lain. Selain itu batasan sistem sebaiknya tidak hanya sesuai dengan bidang dan batasan aplikasi serta pandangan pengguna yang telah ada saja pada saat ini, namun harus sesuai juga dengan kebutuhan pada masa yang akan datang.
21
Pandangan pengguna sangat diperlukan untuk mengidentifikasi informasi-informasi yang dibutuhkan oleh pengguna (user). Pandangan pengguna menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia, atau pengawasan persediaan, dalam hubungannya dengan data yang akan disimpan dan transaksi yang akan dijalankan terhadap data itu (Connolly dan Begg, 2005, p287).
2.3.3
Requirements Collection and Analysis (Pengumpulan Kebutuhan dan Analisis) Pada tahap ini dilakukan proses pengumpulan dan analisa informasi mengenai bagian organisasi yang harus didukung oleh aplikasi basis data, dan penggunaan informasi ini berguna untuk mengidentifikasi persyaratan pengguna terhadap sistem yang baru (Connolly dan Begg, 2005, p288). Tahap ini meliputi pengumpulan dan analisis informasi mengenai bagian perusahaan yang harus dilayani oleh basis data. Ada tiga pendekatan utama untuk pengaturan kebutuhan aplikasi basis data dengan multiple user views, yakni : a) Pendekatan centralized Kebutuhan-kebutuhan untuk setiap user view digabung dalam suatu kumpulan kebutuhan tunggal untuk aplikasi basis data baru.
22
b) Pendekatan view intergration Kebutuhan-kebutuhan untuk setiap user view digunakan untuk membangun
sebuah
model
data
yang
terpisah
untuk
merepresentasikan pengguna itu sendiri. Hasil dari model data akan digabung pada tahap perancangan basis data. c) Kombinasi antara centralized dan view integration.
Suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya dinamakan dengan teknik fact-finding (Connolly dan Begg, 2005, p314). Ada lima kegiatan yang dapat dipakai dalam teknik ini, yaitu : 1) Memeriksa dokumentasi Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen-dokumen, formulir, laporan, dan berkas yang terkait dengan sistem yang sedang berjalan pada perusahaan.
Dengan
pemeriksaan
ini
diharapkan
dapat
mengetahui data-data apa saja yang akan disimpan di dalam basis data (Connolly dan Begg, 2005, p317). 2) Wawancara Wawancara
bertujuan
untuk
mengumpulkan
fakta-fakta,
memeriksa kebenaran fakta yang ada dan mengklarifikasinya, menimbulkan
antusiasme,
melibatkan
pengguna
akhir,
23
mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ideide dan pendapat (Connolly dan Begg, 2005, p317). Teknik ini memerlukan
kemampuan
komunikasi
yang
baik
untuk
menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda-beda. 3) Observasi Pengamatan ini memungkinkan untuk ikut serta atau mengamati seseorang melakukan kegiatan untuk mempelajari sistem. Salah satu faktor pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut (Connolly dan Begg, 2005, p319). 4) Penelitian Selain melakukan penelitian yang berasal dari dalam organisasi itu sendiri, dapat juga dilakukan pengumpulan informasi yang berasal dari luar organisasi tersebut. Beberapa contoh sumber informasi tersebut antara lain jurnal komputer, buku-buku referensi, dan internet. Sumber informasi tersebut juga dapat digunakan untuk memecahkan masalah serupa (Connolly dan Begg, 2005, p319). 5) Kuesioner Teknik lain yang dapat digunakan untuk mengumpulkan informasi yang dibutuhkan adalah dengan menggunakan
24
kuesioner. Kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta-fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly dan Begg, 2005, p320).
2.3.4
Database Design (Perancangan Basis Data) Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan (Connolly dan Begg, 2005, p291). Terdapat dua pendekatan dalam perancangan basis data (Connolly dan Begg, 2005, p291), yaitu : a) Bottom-up Pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni properti dari entity dan hubungan relasional) dimana melalui analisis gabungan antara atribut-atribut, dikelompokkan ke dalam relasi-relasi yang merepresentasikan tipe-tipe entity dan hubungan antara entity. Pendekatan ini lebih cocok untuk perancangan basis data yang sederhana dengan jumlah atribut yang relatif kecil. b) Top-down Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa hubungan relasional dan entity tingkat tinggi.
25
Perancangan basis data terdiri dari tiga tahap utama (Connolly dan Begg, 2005, p293), yaitu : 1. Conceptual Database Desain (Perancangan Basis Data Konseptual) Perancangan basis data konseptual adalah proses membangun suatu model informasi yang digunakan oleh perusahaan atau organisasi yang tidak tergantung dari pertimbangan fisik (Connolly dan Begg, 2005, p293). 2. Logical Database Design (Perancangan Basis Data Logikal) Perancangan basis data logikal adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik lain (Connolly dan Begg, 2005, p294). 3. Physical Database Design (Perancangan Basis Data Fisikal) Perancangan basis data fisikal adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly dan Begg, 2005, p294)
26
2.3.5
DBMS Selection (Pemilihan DBMS) Tahapan ini bertujuan untuk memilih DBMS yang tepat untuk mendukung aplikasi basis data, dimana dibutuhkan tambahan beberapa software dan hardware. Berikut ini adalah tahapan utama untuk memilih basis data, yaitu : 1. Define terms of reference of study, cakupan penelitian mengenai pemilihan DBMS menyatakan tujuan dan ruang lingkup penelitian serta tugas-tugas yang harus dilakukan, meliputi deskripsi kriteria (berdasarkan spesifikasi kebutuhan pengguna) untuk mengevaluasi produk DBMS, daftar DBMS yang tersedia dan batasan-batasan serta jadwal waktu untuk penelitiannya. 2. Shortlist two or three products, kriteria-kriteria yang dianggap kritis untuk keberhasilan implementasi yang dapat digunakan untuk evaluasi daftar DBMS yang tersedia. 3. Evaluate products, ada banyak fitur yang dapat digunakan untuk mengevaluasi sebuah produk DBMS, semua bobot nilai dari fitur-fitur tersebut dijumlahkan untuk mendapatkan nilai sebuah produk DBMS tertentu yang akan dibandingkan dengan nilai produk DBMS lainnya. Produk DBMS yang dipilih adalah produk dengan nilai tertinggi. 4. Recommend selection and produce report, tahap akhir dari pemilihan DBMS adalah untuk mendokumentasikan proses dan
27
untuk menyediakan laporan dan rekomendasi mengenai produk DBMS tertentu.
2.3.6
Application Design (Perancangan Aplikasi) Merupakan perancangan user interface dan program aplikasi yang menggunakan dan memproses basis data. Ada dua aspek penting dalam perancangan aplikasi, yakni : a) Transaction Design (Perancangan Transaksi) Transaksi merupakan sebuah aksi, atau serangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data. Tujuan
dari
perancangan
dan
transaksi
adalah
untuk
menetapkan
mendokumentasikan karakteristik tingkat tinggi dari transaksi yang dibutuhkan pada basis data, yang termasuk : •
Data yang digunakan dalam transaksi.
•
Karateristik fungsional dari transaksi.
•
Output dari transaksi.
•
Kepentingan pengguna.
•
Nilai yang diharapkan dari pemakaian.
Perancangan ini harus dilakukan lebih awal dalam proses perancangan untuk memastikan bahwa basis data yang
28
diimplementasikan mampu mendukung semua transaksi yang dibutuhkan. Ada tiga jenis transaksi, yaitu : •
Retrieval transactions, digunakan untuk mendapatkan kembali data untuk ditampilkan di layar atau dalam laporan.
•
Update transactions, digunakan untuk menambah data baru, menghapus data lama, atau memodifikasi data yang ada di dalam basis data.
•
Mixed Transactions, melibatkan retrieval (pemanggilan) dan update (perubahan) data atau kombinasi antara keduanya.
b) User Interface Design (Perancangan antarmuka) Sebelum mengimplementasikan suatu form atau laporan, ada perlunya merancang tampilan terlebih dahulu.
2.3.7
Prototyping Merupakan pembuatan suatu model kerja dari aplikasi basis data (Connolly dan Begg, 2005, p304). Suatu prototype adalah model yang bekerja yang tidak mempunyai semua fitur-fitur yang diperlukan atau menyediakan semua fungsionalitas dari sistem terakhir. Tujuan utama dari pengembangan suatu aplikasi basis data prototype adalah memungkinkan pengguna menggunakan prototype tersebut untuk menentukan fitur-fitur dari sistem yang
29
bekerja dengan baik, dan jika mungkin mengusulkan peningkatan atau bahkan fitur-fitur baru pada aplikasi basis data. Ada dua strategi prototyping yang umum digunakan, yaitu : 1) Requirement prototyping, menggunakan suatu prototype untuk menentukan kebutuhan-kebutuhan dari aplikasi basis data yang diusulkan dan ketika kebutuhan tersebut telah lengkap, prototype tersebut disingkirkan. 2) Evolutionary prototyping, digunakan untuk tujuan yang sama, perbedaan yang penting adalah bahwa prototype tidak dibuang tetapi dengan perkembangan yang lebih jauh menjadi aplikasi basis data yang digunakan.
2.3.8
Implementation (Implementasi) Implementasi merupakan realisasi fisik dari rancangan basis data dan rancangan aplikasi (Connolly dan Begg, 2005, p304). Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih, atau dengan menggunakan Graphical User Interface (GUI), yang menyediakan fungsionalitas yang sama dengan saat menyembunyikan pernyataan low-level DDL. Kemudian bagian dari program aplikasi adalah transaksi basis data, yang diimplementasikan dengan menggunakan Data Manipulation Language (DML), yang biasanya sudah terdapat dalam bahasa pemrograman.
30
2.3.9
Data Conversion and Loading Merupakan pemindahan data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk beroperasi pada basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data baru menimpa sistem yang lama.
2.3.10 Testing Merupakan proses pengeksekusian program aplikasi dengan maksud pencarian kesalahan-kesalahan. Sebelum ditunjukkan secara langsung, aplikasi basis data yang baru dikembangkan seharusnya diuji sepenuhnya. Beberapa keuntungan melakukan testing : •
Menemukan error pada aplikasi dan mungkin juga error pada struktur basis data.
•
Testing mendemonstrasikan apakah basis data dan aplikasi dapat berjalan sesuai dengan kebutuhan performa dan spesifikasi yang diinginkan atau tidak.
2.3.11 Operational Maintenance (Perawatan Operasional) Merupakan proses pengawasan dan pertahanan sistem berikut instalasi. Pada langkah sebelumnya, aplikasi basis data telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem memasuki langkah perawatan, yang melibatkan aktivitas-aktivitas berikut :
31
a) Mengawasi kinerja sistem. b) Mempertahankan dan meng-upgrade aplikasi basis data (ketika dibutuhkan).
2.4
Entity Relationship (ER) Modelling ER
Modelling
merupakan
suatu
pendekatan
top-down
dalam
perancangan basis data yang dimulai dengan mengidentifikasi data penting yang disebut entitas (entities) dan relasi/hubungan (relationship) antara data tersebut harus direpresentasikan dalam model (Connolly dan Begg, 2005, p342).
2.4.1
Entity Type Entity type adalah sekumpulan objek yang memiliki properti yang sama, yang didefinisikan oleh perusahaan sebagai keberadaan yang independen (Connolly dan Begg, 2005, p343). Setiap object yang unik dari sebuah entity type dapat disebut sebagai sebuah entity occurrence (Connolly dan Begg, 2005, p345). Entity type dapat diklasifikasikan sebagai strong (kuat) atau weak (lemah) sebagai berikut : a) Strong
entity
type
merupakan
suatu
entity
type
yang
keberadaannya tidak tergantung kepada entity type yang lain. b) Weak
entity
type
merupakan
suatu
entity
type
keberadaannya tergantung kepada entity type yang lain.
yang
32 Nama Entity
Staff
Cabang
Gambar 2.2 Representasi diagram entity type Staff dan Cabang
2.4.2
Relationship Type Relationship type adalah sekumpulan entity yang mempunyai hubungan dan memiliki arti (Connolly dan Begg, 2005, p346).
Nama Relationship
Staff
Å Memiliki
Cabang
Gambar 2.3 Representasi diagram ‘Cabang memiliki Staff’ relationship type
33
2.4.2.1 Degree of Relationship Type Degree of relationship type merupakan jumlah entity type yang ikut serta dalam sebuah relationship (Connolly dan Begg, 2005, p347). Beberapa degree of relationship type adalah : a) Binary relationship merupakan hubungan yang terjadi di antara dua entity type. ‘PrivateOwner memiliki PropertyForRent’
PrivateOwner
POwns Æ
PropertyForRent
Gambar 2.4 Contoh binary relationship b) Ternary relationship merupakan hubungan yang terjada di antara tiga entity type. ‘Staff meregistrasi seorang client pada sebuah branch’
Staff
Register
Branch
Client
Gambar 2.5 Contoh ternary relationship c) Quaternary relationship merupakan hubungan yang terjadi antara empat entity type.
34 ‘Seorang solicitor mengurus sebuah bid mewakili seorang buyer dan didukung oleh sebuah financial instution’
Solicitor
Financial Institution
Register
Buyer
Bid
Gambar 2.6 Contoh quaternary relationship
2.4.2.2 Recursive Relationship Recursive relationship merupakan sebuah relationship type dimana entity type yang sama ikut berpartisipasi lebih dari sekali dengan peran yang berbeda (Connolly dan Begg, 2005, p349). ‘Staff [Supervisor] mengawasi (supervises) staff lainnya [Supervisee]’
Peran
Å Supervises Supervisor
Peran Supervisee
Staff
Gambar 2.7 Contoh recursive relationship
35
2.4.3
Attributes Atribut adalah sebuah properti dari suatu entity type atau relationship type (Connolly dan Begg, 2005, p350). Attribute domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau lebih attributes. Atribut dapat diklasifikasikan sebagai : a) Simple and Composite Attribute Simple attribute adalah sebuah atribut yang tersusun dari sebuah komponen dengan keberadaan yang independen. Simple attribute tidak dapat dipecah lagi menjadi atribut yang lebih kecil, biasanya disebut dengan atomic attribute. Composite attribute adalah attribute yang tersusun dari banyak komponen, dimana setiap komponennya memiliki keberadaan yang independen. Composite attribute dapat dipecah lagi menjadi komponen-komponen idependen yang lebih kecil. b) Single-Valued and Multi-Valued Attributes Single-valued attribute merupakan suatu atribut yang memiliki sebuah nilai untuk setiap keberadaan sebuah entity type. Multi-valued attribute merupakan suatu atribut yang memiliki banyak nilai untuk setiap keberadaan sebuah entity type. c) Derived Attributes Derived
attribute
merupakan
suatu
atribut
yang
merepresentasikan suatu nilai yang bisa didapat dari nilai sebuah
36
atau kumpulan attribute yang berhubungan, tetapi tidak harus dalam entity type yang sama.
2.4.4
Keys
Candidate key adalah himpunan atribut yang minimal yang secara unik mengidentifikasikan setiap occurrence dari sebuah tipe entitas (Connolly dan Begg, 2005, p352). Primary key adalah candidate key yang terpilih untuk mengidentifikasikan secara unik setiap occurrence dari sebuah tipe entitas (Connolly dan Begg, 2005, p353). Composite key adalah sebuah candidate key yang terdiri atas dua atau lebih atribut (Connolly dan Begg, 2005, p353). Pada sebuah tipe entitas biasanya terdapat lebih dari satu candidate key yang salah satunya harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut yang diperlukan, dan keunikannya. Alternate key adalah setiap candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key (Whitten, 2004, p298). Foreign key adalah sebuah primary key
pada sebuah entitas yang
digunakan pada entitas lainnya untuk mengidentifikasikan sebuah relationship (Whitten, 2004, p301).
2.4.5
Structural Constraints Multiplicity merupakan jumlah kemunculan yang mungkin dari sebuah entity type yang mungkin berhubungan dengan kemunculan tunggal dari sebuah
37
entity type-entity type yang berhubungan melalui relasi tertentu (Connolly dan Begg, 2005, p356). Beberapa jenis relasi berdasarkan multiplicity yang dimiliki, yaitu : 1. Relasi one-to-one (1:1) Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah satu-satu dan dapat pula member entitas yang satu ada yang tidak berhubungan dengan member dari entitas yang berelasi dengannya dan entitas tersebut juga berelasi maksimal satu.
Gambar 2.8 Notasi relasi one-to-one 2. Relasi one-to-many (1:*) Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah satu-banyak. Dimana sebuah member dari entitas dapat berhubungan dengan satu atau banyak member dari entitas yang lain dan member dari entitas yang lainnya berhubungan (bisa dari 0) sampai maksimal satu.
Gambar 2.9 Notasi relasi one-to-many
38
3. Relasi many-to-many (*:*) Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah banyak-banyak. Member dari sebuah entitas dapat berelasi dengan entitas yang lain dengan maksimal multiplicity banyak (*) dan sebaliknya dengan relasi entitas yang berhubungan tersebut.
Gambar 2.10 Notasi relasi many-to-many
2.4.6
Crow’s Foot Data Model Dari beberapa pilihan yang tesedia untuk menggambarkan cardinality, notasi crow’s foot merupakan yang paling diminati. Crow’s foot menunjukkan baik cardinality minimum dan maksimum dalam suatu format grafik yang jelas. Simbol multiplicity-nya intuitif dan mudah dimengerti oleh pembaca non-teknis. Notasi crow’s foot sebaiknya digunakan dalam seluruh diagram model data konseptual yang akan ditinjau oleh pengguna bisnis. Notasi ini juga cocok untuk digunakan dalam model desain basis data fisikal (Stewart, 2008). Pada pengerjaan penulisan ini akan digunakan model data Crow’s Foot pada Entity Relationship Diagram yang akan dibuat.
39
Gambar 2.11 Contoh Crow’s foot data model
Berikut merupakan representasi cardinality pada Crow’s Foot data model :
Gambar 2.12 Cardinality pada Crow’s foot data model
2.5
Perancangan Basis Data Menurut Connolly dan Begg (2005, p438), metodologi perancangan basis data merupakan pendekatan terstruktur yang menggunakan bantuan prosedur,
teknik,
alat-alat,
dan
dokumentasi
untuk
mendukung
dan
memfasilitasi proses perancangan basis data. Metodologi perancangan basis data terbagi atas tiga tahap perancangan, yaitu perancangan konseptual, perancangan logikal, dan perancangan fisikal. Meskipun langkah-langkah dalam metodologi digambarkan secara proses yang
40
berurutan, perlu ditekankan bahwa tidak berarti metodologi tersebut harus dibuat secara berurutan. Seringkali pengetahuan yang didapat pada suatu tahap mempengaruhi keputusan yang telah diambil di tahap sebelumnya.
2.5.1
Perancangan Konseptual (Conceptual Design) Conceptual database design adalah proses membangun model informasi yang digunakan organisasi, bebas dari semua pertimbangan fisik (Connolly dan Begg, 2005, p439). Pertimbangan fisik yang dimaksud meliputi DBMS yang akan digunakan, program aplikasi, bahasa pemrograman, platform perangkat keras, performa, dan pertimbangan fisik lainnya. Langkah-langkah dalam metodologi conceptual database design adalah : Langkah 1
Membangun Model Data Konseptual
Bertujuan untuk memecah rancangan menjadi tugas-tugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam organisasi (Connolly dan Begg, 2005, p442). Hasil dari langkah ini berupa pembuatan satu atau lebih local conceptual data model yang merupakan penggambaran yang tepat dan lengkap dari suatu organisasi dilihat dari para pengguna yang berbeda. Tugas-tugas yang dilakukan pada langkah ini terdiri dari : Langkah 1.1 Mengidentifikasi entity types Entity type dapat dikenali dengan mengidentifikasikan kata benda atau frase kata benda pada spesifikasi kebutuhan pengguna, objek
41
besar seperti orang, tempat, benda atau konsep. Alternatif lain adalah dengan mencari objek yang keberadaannya bebas.
Langkah 1.2 Mengidentifikasi relationship type Bertujuan untuk mengidentifikasi relationship yang penting yang ada antara entity types yang telah diidentifikasi sebelumnya. Relationship type diidentifikasikan dengan mencari kata kerja atau suatu kata yang berhubungan dengan kata kerja.
Langkah 1.3 Mengidentifikasi
dan
menghubungkan
attributes
dengan entity atau relationship types Tujuannya adalah untuk menghubungkan atribut dengan entity dan relationship types yang tepat. Dalam tahap ini juga dilakukan identifikasi composite attributes, single-valued/multi-valued attributes, dan derived attributes.
Langkah 1.4 Menentukan attribute domains Menentukan domain atribut dalam model data konseptual. Domain adalah sekumpulan nilai-nilai dari satu atau lebih atribut yang menggambarkan nilainya. Sebagai contoh nilai yang mungkin untuk atribut jenis kelamin dari entitas karyawan adalah ‘L’ atau ‘W’.
42
Langkah 1.5 Menentukan candidate, primary, dan alternate key attribute Tujuannya untuk mengidentifikasi candidate key untuk tiap-tiap tipe entitas dan jika ada lebih dari satu candidate key maka pilih satu untuk menjadi primary key dan sisanya dapat dijadikan alternate key.
Langkah 1.6 Mempertimbangkan penggunaan enchance modelling concepts (langkah opsional) Langkah
ini
bertujuan
untuk
menentukan
penggunaan
specialization, generalization, aggregation, dan composition. Specialization
merupakan
suatu
proses
memaksimalkan
perbedaan-perbedaan antara anggota-anggota sebuah entitas dengan cara mengidentifikasi karakteristik yang membedakan entitas tersebut (Connolly dan Begg, 2005, p374). Generalization
merupakan
suatu
proses
meminimalkan
perbedaan-perbedaan antara entitas-entitas dengan cara mengidentifikasi sifat umum pada entitas-entitas tersebut (Connolly dan Begg, 2005, p374). Aggregation menggambarkan relationship ‘has-a’ atau ‘is-partof’ antara tipe entitas dimana yang satunya mewakili ‘whole’ dan yang satunya lagi mewakili ‘part’ (Connolly dan Begg, 2005, p383).
43
Composition digunakan untuk merepresentasikan penggabungan antara tipe-tipe entitas yang memiliki kepemilikan yang kuat dan hubungan yang penting antara ‘whole’ dan ’part’.
Langkah 1.7 Memeriksa model akan adanya redudansi Bertujuan memeriksa conceptual model untuk menghindari adanya redudansi atau pengulangan data dalam model. Ada dua kegiatan yang dapat dilakukan pada tahap ini : a) Memeriksa kembali one-to-one relationship (1:1) Kemungkinan ada lebih dari satu entitas yang menggambarkan objek yang sama dalam organisasi. Oleh karena itu, entitasentitas tersebut harus digabungkan. b) Menghilangkan relasi yang redundan Suatu relationship menjadi redundan jika informasi yang sama dihasilkan
melalui
relationship
yang
lainnya.
Untuk
meminimalkan data model maka relationship yang redundan harus dihilangkan. c) Mempertimbangkan dimensi waktu Dimensi waktu dalam relationships penting saat mengukur adanya redudansi. Yang dimaksud disini adalah hubungan antar entitas yang mungkin saja terjadi pada waktu yang berbeda.
44
Langkah 1.8 Memvalidasi
model
konseptual
terhadap
user
transactions Memastikan model konseptual telah mendukung transaksitransaksi yang dibutuhkan. Tahap ini dapat dilakukan dengan dua cara, yaitu : a) Mendeskripsikan transaksi Dengan pendekatan ini berarti akan diperiksa semua informasi (entitas, relationship, dan atribut) yang dibutuhkan oleh setiap transaksi apakah telah disediakan dalam model, dengan mendokumentasikan setiap kebutuhan transaksi. b) Menggunakan transaction pathways Pendekatan ini untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada ER diagram.
Langkah 1.9 Review model data konseptual dengan user Mengadakan review model data konseptual dengan pengguna sistem
untuk
memastikan
model
data
tersebut
secara
tepat
menggambarkan transaksi dan kebutuhan data secara nyata dalam perusahaan.
45
2.5.2
Perancangan Logikal (Logical Design) Desain basis data logikal adalah proses membangun model informasi yang digunakan organisasi berdasarkan model data tertentu, tetapi tidak tergantung dari Database Management System (DBMS) dan pertimbangan fisik lainnya (Connolly dan Begg, 2005, p439). Langkah-langkah dalam metodologi logical database design yaitu : Langkah 2
Membangun dan validasi logical data model
Tujuannya adalah untuk membangun sebuah logical data model dari sebuah conceptual data model yang mewakili pandangan tertentu dari organisasi dan kemudian memvalidasi model ini untuk memastikan bahwa strukturnya benar (dengan menggunakan teknik normalisasi) dan untuk memastikan dukungannya terhadap transaksi-transaksi yang dibutuhkan. Kegiatan yang dilakukan pada langkah ini meliputi : Langkah 2.1 Membentuk relasi untuk logical data model Bertujuan untuk menyaring conceptual data model sehingga fitur-fitur yang tidak sesuai dengan model relasional dihilangkan. Langkah tersebut antara lain dilakukan terhadap : 1) Strong entity types Untuk semua entitas dengan jenis kuat, buatlah sebuah relationship yang memiliki semua atribut sederhana yang dimilikinya. Untuk composite attribute, hanya sertakan atribut pokoknya saja.
46
2) Weak entity types Untuk setiap entitas dengan jenis lemah, buatlah sebuah relationship yang memiliki semua atribut sederhana yang dimilikinya. Primary key dari entitas ini belum dapat ditentukan sampai relationship-nya dengan entitas kuat ditentukan. 3) One-to-many (1:*) binary relationship types Pada relationship jenis ini, entitas pada ‘one side’ kita anggap sebagai entitas induk sedangkan entitas pada ‘many side’
dianggap
sebagai
entitas
anak.
Untuk
merepresentasikan hubungan ini, kita kirimkan primary key dari entitas induk sebagai foreign key pada entitas anak. 4) One-to-one (1:1) binary relationship types Relasi 1:1 lebih sulit ditentukan hubungannya karena cardinality
dan
participation
constraints
juga
akan
menentukan dalam mengidentifikasi entitas induk dan anak dalam relationship ini. i.
Mandatory participation pada kedua sisi Pada kasus ini, kita harus menggabungkan kedua entitas yang memiliki relationship jenis ini dan memilih salah satu dari kedua primary key sebagai primary key yang baru.
47
ii.
Mandatory participation pada satu sisi Pada kasus ini, kita bisa mengidentifikasikan entitas yang berada pada sisi optional participation sebagai entitas induk, sedangkan yang berada pada sisi mandatory participation sebagai entitas anak. Seperti pada langkah sebelumnya, kita kirimkan primary key dari entitas induk sebagai foreign key pada entitas anak.
iii.
Optional participation pada kedua sisi Pada kasus ini, pemilihan induk dan anak bisa berubah-ubah. Untuk bisa menentukan, maka kita harus mencari sisi optional participation mana yang lebih mendekati sebagai mandatory participation. Pemecahan untuk relasi ini sangat tergantung dengan kondisi data yang ada.
5) One-to-one (1:1) recursive relationship Untuk pemecahan hubungan ini, dapat digunakan cara yang sama dengan yang telah diterapkan pada 1:1 relationship. 6) Superclass/subclass relationship Untuk setiap superclass/subclass relationship dalam data model
konseptual,
kita
mengidentifikasikan
entitas
superclass sebagai entitas parent dan entitas subclass sebagai entitas child. Terdapat banyak pilihan dalam
48
merepresentasikan relationship sebagai salah satu atau lebih relationships. Pilihan yang paling sesuai tergantung dari sejumlah faktor seperti disjointness dan participation constraint pada superclass/subclass relationship apakah subclass terlihat dalam distinct relatonship dan jumlah participant dalam superclass/subclass relationship. 7) Many-to-many (*:*) binary relationship types Dengan memecah relationship yang mengandung many-tomany (*:*) untuk mengidentifikasikan sebuah entitas tengah (intermediate entity) sehingga relationship ini digantikan dengan dua buah one-to-many (1:*) relationship, dengan entitas tengah berada di antara dua buah entitas yang lama. 8) Complex relationship types Complex relationship types dihilangkan dengan memecah relationship tersebut untuk mengidentifikasikan entitas tengah (intermediate entity). Kemudian complex relationship ini akan digantikan dengan beberapa one-to-many (1:*) binary relationship. 9) Multi-valued attributes Multi-valued attributes dapat dihilangkan dengan memecah atribut tersebut untuk mengidentifikasikan sebuah entitas. Setelah itu, kirimkan primary key pada entitas induk sebagai foreign key pada entitas anak.
49
Langkah 2.2 Validasi relasi dengan meggunakan normalisasi Normalisasi merupakan suatu teknik untuk menghasilkan sekumpulan relasi dengan properti yang diinginkan, sesuai dengan kebutuhan data dari suatu perusahaan (Connolly dan Begg, 2005, p388). Tujuan dari normalisasi adalah untuk meminimalkan redudansi data dan update anomalies, menciptakan representasi data, hubungan antar data dan constraint yang akurat, serta meningkatkan stabilitas. Untuk mencapai tujuan tersebut maka harus dilakukan identifikasi dengan benar atas relasi yang ada. Pada dasarnya, proses normalisasi dilakukan untuk meminimalkan redudansi data dan update anomalies. Menurut Connolly dan Begg (2005, p391), update anomalies dapat dibagi menjadi tiga jenis yaitu : a) Insert anomaly merupakan kejanggalan yang terjadi terhadap sebuah table pada saat dilakukan penambahan suatu record, yaitu berupa pelanggaran terhadap integrity constraint. b) Delete anomaly merupakan kejanggalan yang terjadi terhadap suatu tabel pada saat dilakukan penghapusan suatu record, penghapusan bermaksud untuk menghapus suatu data tertentu tetapi menyebabkan kehilangan data lain dari tabel tersebut. c) Modification anomaly merupakan kejanggalan yang terjadi terhadap suatu tabel pada saat dilakukan pengubahan suatu record, pengubahan terhadap suatu nilai tertentu harus dilakukan lebih dari sekali.
50
Tiga tingkatan normalisasi yang dijadikan acuan penulisan skripsi ini yaitu : 1) First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2005, p403). 2) Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung penuh (fully
functionally
dependent)
terhadap
primary
key
(Connolly dan Begg, 2005, p407). Functional dependency terjadi jika A dan B adalah atribut dari sebuah relasi , B dikatakan functionally dependent terhadap A (A Æ B), jika setiap nilai dari A diasosiasikan dengan tepat satu nilai dari B. Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, B dikatakan full functional dependent terhadap A jika B functionally dependent terhadap A, tetapi bukan merupakan subset dari A. 3) Third normal form (3NF) Relasi dikatakan 3NF jika relasi tersebut dalam bentuk 1NF dan 2NF, dan tidak ada atribut bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2005, p409). Transitive
51
dependency merupakan sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika AÆB dan BÆC maka C disebut bergantung secara transitif terhadap A melalui B (Connolly dan Begg, 2005, p397).
Langkah 2.3 Validasi relasi terhadap user transactions Memastikan relasi dalam model data logikal telah mendukung transaksi yang diperlukan. Pada tahap ini, akan dilakukan pengecekan terhadap relasi yang sudah terbentuk sebelumnya, apakah sudah dapat memproses transaksi tersebut dan pastikan tidak ada kesalahan pada saat membuat relasi.
Langkah 2.4 Menentukan integrity constraint Integrity
constraint
adalah
batasan-batasan
yang
harus
ditentukan untuk melindungi basis data agar tetap konsisten (Connolly dan Begg, 2005, p474). Berikut merupakan tipe dari integrity constraints : a) Required data ( Data yang diperlukan ) Beberapa atribut harus selalu berisi nilai yang benar, tidak dapat bernilai null. b) Attribute domain constraint Setiap atribut memiliki domain, yaitu himpunan nilai yang dibolehkan (Connolly dan Begg, 2005, p475).
52
c) Multiplicity Multiplicity merepresentasikan batasan jumlah yang ada antara data yang ada di basis data. d) Entity integrity Primary key dari sebuah entitas tidak boleh bernilai null. e) Referential integrity Jika sebuah foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent’. f) General constraint Kegiatan update entitas dibatasi oleh peraturan atau kebijakan
organisasi
yang
mengatur
transaksi
yang
diwakilkan oleh update yang dilakukan.
Langkah 2.5 Meninjau kembali local logical data model dengan user Memastikan bahwa logical data model dan dokumentasi pendukung yang menggambarkan model merupakan perwakilan yang benar dari pandangan pengguna.
53
Langkah 2.6 Menggabungkan logical data model menjadi global model (langkah opsional) Menggabungkan local logical data models menjadi satu global logical data model yang merepresentasikan seluruh user views dari basis data. Langkah ini hanya perlu dilakukan apabila saat desain dilakukan dengan user views yang terpisah berdasarkan masing-masing user.
Langkah 2.7 Memeriksa untuk perkembangan mendatang Bertujuan untuk menentukan apakah akan ada perubahan yang signifikan pada masa mendatang dan memperkirakan apakah logical data model yang sekarang dapat mengakomodasi perubahan tersebut.
2.5.3
Perancangan Fisikal (Physical Design) Perancangan basis data fisikal merupakan proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan relasi dasar, organisasi file, dan indeks yang digunakan untuk mendapatkan akses data yang efisien, serta setiap integrity constraint yang saling berhubungan dan juga pengukuran keamanan (Connolly dan Begg, 2005, p294).
54
Langkah 3
Menterjemahkan Logical Data Model untuk DBMS Sasaran
Langkah ini bertujuan untuk menghasilkan skema basis data relasional bagi global logical data model yang dapat diimplementasikan pada DBMS sasaran. Langkah 3.1 Membuat base relations Memutuskan bagaimana merepresentasikan relasi-relasi yang telah diidentifikasikan pada logical data model pada DBMS yang akan dipakai.
Langkah 3.2 Merancang representasi dari data yang diperoleh Memutuskan bagaimana merepresentasikan derived data yang ada dalam logical data model pada DBMS yang akan dipakai.
Langkah 3.3 Merancang general constraints Merancang
batasan-batasan umum untuk DBMS yang akan
digunakan.
Langkah 4
Merancang file organizations dan indexes
Menentukan organisasi file optimal untuk menyimpan relasi dasar dan indeks yang diperlukan untuk mencapai performa yang dapat diterima, yaitu cara dimana relasi dan entitas akan dilaksanakan di secondary storage.
55
Langkah 4.1 Analisis transaksi Memahami fungsi-fungsi dari transaksi yang akan dijalankan pada basis data dan menganalisis transaksi yang penting. Dalam menganalisis transaksi, kita mencoba mengidentifikasikan kriteria performa, seperti : •
Transaksi yang akan berjalan secara terus-menerus dan yang akan mempengaruhi secara signifikan pada performa.
•
Transaksi yang penting bagi operasi bisnis.
•
Waktu selama sehari/seminggu ketika akan terjadi permintaan yang tinggi dibuat dalam basis data (disebut peak load).
Langkah 4.2 Memilih file organizations Tujuan langkah ini adalah menetukan organisasi file yang efisien untuk tiap-tiap relasi dasar jika diperbolehkan oleh DBMS yang akan digunakan. Beberapa tipe organisasi file adalah : •
Heap
•
Hash
•
ISAM
•
B+-Tree
•
Cluster
56
Langkah 4.3 Memilih index Memutuskan
apakah
dengan
menambahkan
index
akan
meningkatkan performa dari sistem.
Langkah 4.4 Memperkirakan disk space yang diperlukan Memperkirakan jumlah disk space yang diperlukan basis data. Estimasi pemakaian disk tergantung pada DBMS dan perangkat keras yang digunakan untuk mendukung basis data.
Langkah 5
Merancang user views
Merancang
view
pengguna
yang
telah
diidentifikasi
selama
pengumpulan persyaratan dan tahap analisis dari database system development lifecycle.
Langkah 6
Merancang mekanisme keamanan
Merancang mekanisme keamanan untuk basis data yang ditentukan user selama tahap requirements dan collections pada database systems development lifecycle.
Langkah 7
Mempertimbangkan pengenalan redudansi terkontrol
Menentukan apakah dengan adanya redudansi yang terkontrol dengan melonggarkan aturan normalisasi akan meningkatkan kinerja sistem. Misalnya,
57
mempertimbangkan duplikasi atribut atau join relasi bersama. Dokumentasi adanya redudansi.
Langkah 8
Mengawasi dan melakukan setting terhadap sistem operasi
Mengawasi sistem operasi dan meningkatkan kinerja sistem dalam membenarkan keputusan perancangan yang kurang tepat atau dalam mengatasi kemungkinan adanya perubahan.
2.6
Document Flowchart Document flowchart digunakan untuk merepresentasikan elemenelemen dari dari suatu sistem manual dalam gambar, contohnya meliputi : catatan akutansi, departemen yang terlibat dalam proses, dan aktivitas yang dilakukan pada departemen tersebut (Hall, 2008, p61). Document flowchart adalah bagan yang menggambarkan aliran dokumen dalam suatu sistem informasi. Berikut ini adalah simbol-simbol standar dengan maknanya masing-masing untuk melukiskan document flowchart suatu sistem (Mulyadi, 2001, p64) :
58
Table 2.1 Simbol document flowcchart Simbo ol
N Nama
Pen njelasan
Dookumen
Simbol ini digunakan d u untuk mengggambarkan seemua jenis dokuumen, yang merupakann formulir yang digunakan untuk mereekam data terjadinya suatu transaksi. Nama N dokum men dicantuumkan di teengah simbol
Dokkumen dan
Simbol inni digunakaan untuk menggambaarkan
tembbusannya
dokumen asli a dan tem mbusannya. Nomor lembar dokumen diicantumkan di sudut kannan atas.
Berbagai
Simbol inni digunakaan untuk menggambaarkan
dookumen
berbagai jennis dokumenn yang digabbungkan berrsama di dalam saatu paket. Nama N dokum men dituliskaan di dalam massing-masing simbol dann nomor lembar dokumen dicantumkan d di sudut kaanan atas simbol dokumen yaang bersangkutan
Pennghubung
Simbol pennghubung untuk u memuungkinkan aliran a
padaa halaman
dokumen berhenti b di suatu lokassi pada halaaman
yanng sama
tertentu dann kembali berjalan b di lokasi lain pada
(oon-page connnector)
halaman yaang sama.
59
Akhir arus
Akhir arus dokumen dan mengarahkan pembaca ke
dokumen
simbol penghubung halaman yang sama yang bernomor seperti yang tercantum di dalam simbol tersebut.
Awal arus
Awal arus dokumen yang berasal dari simbol
dokumen
penghubung halaman yang sama, yang bernomor seperti yang tercantum di dalam simbol tersebut.
Penghubung
Jika untuk menggambarkan bagan alir suatu sistem
pada halaman
diperlukan lebih dari satu halaman, simbol ini harus
yang berbeda
digunakan
(off-page connector)
untuk
menunjukkan
kemana
dan
bagaimana bagan alir terkait satu dengan lainnya. Nomor
yang
tercantum
di
dalam
simbol
penghubung menunjukkan bagaimana bagan alir yang tercantum pada halaman tertentu terkait dengan bagan alir yang tercantum pada halaman yang lain. Kegiatan
Simbol ini digunakan untuk menggambarkan
manual
kegiatan manual, seperti: menerima order dari pembeli,
mengisi
formulir,
membandingkan,
memeriksa dan berbagai jenis kegiatan klerikal yang
lain.
Uraian
singkat
dicantumkan di dalam simbol ini.
kegiatan
manual
60
Arsip
Simbol ini digunakan untuk menunjukkan tempat
sementara
penyimpanan dokumen, seperti almari arsip dan kotak arsip. Terdapat dua tipe arsip dokumen: arsip sementara dan arsip permanen. Arsip sementara adalah
tempat
penyimpanan
dokumen
yang
dokumennya akan diambil kembali dari arsip tersebut di masa yang akan datang untuk keperluan pengolahan lebih lanjut terhadap dokumen tersebut. Untuk menunjukkan urutan pengarsipan dokumen digunakan simbol berikut ini: A = menurut abjad N = menurut nomor urut T = kronologis, menurut tanggal Arsip
Simbol ini digunakan untuk menggambarkan arsip
permanen
permanen yang merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem yang bersangkutan.
Keputusan
Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis di dalam simbol.
Garis alir
Simbol ini menggambarkan arah proses pengolahan
(flowline)
data. Anak panah tidak digambarkan jika arus dokumen mengarah ke bawah dan ke kanan. Jika
61
arus dokumen mengalir ke atas atau ke kiri, anak panah perlu dicantumkan. Mulai/berakhir Simbol ini untuk menggambarkan awal dan akhir (terminal)
2.7
suatu sistem.
Data Flow Diagram (DFD) Menurut Whitten (2004, p344), Data Flow Diagram adalah sebuah alat pemodelan yang digunakan untuk menggambarkan aliran data pada suatu sistem dan pekerjaan atau proses yang dilakukan oleh sistem. Sinonim dari data flow diagram adalah bubble chart, transformation graph, dan process model. Decomposition diagram, juga dikenal dengan hierarchy chart, adalah alat
yang
digunakan
untuk
menggambarkan
dekomposisi
sistem.
Decomposition diagram pada dasarnya adalah alat perencanaan untuk model proses yang lebih detail, yang disebut diagram aliran data. Context diagram adalah model proses yang menggambarkan hubungan dari sistem ke dunia bisnis dan dunia luar, termasuk sistem informasi yang lainnya. Notasi simbol pada data flow diagram pada umumnya terbagi menjadi dua notasi, yaitu : Yourdon/DeMarco DFD dan Gane&Sarson DFD. Berikut merupakan simbol-simbol yang terdapat pada Data Flow Diagram : a. Proses Proses adalah proses atau pekerjaan yang dilakukan oleh sistem sebagai respon terhadap aliran data masuk atau kondisi. Proses menggambarkan bagian dari sistem yang mengolah masukan
62
menjadi keluaran. Proses digambarkan dengan sebuah lingkaran pada
notasi
Yourdon/DeMarco
DFD,
sedangkan
proses
digambarkan dengan sebuah sistem persegi panjang bersudut tumpul pada notasi Gane&Sarson DFD.
Gambar 2.13 Simbol proses b. Aliran data Aliran menggambarkan perpindahan informasi (input dan output), ke dan dari proses tersebut. Aliran digambarkan dengan sebuah tanda panah. Awal panah menggambarkan asal data sedangkan arah panah menggambarkan tujuan.
Gambar 2.14 Simbol aliran data c. Penyimpanan data (Data store) Data store adalah penyimpanan data yang ditujukan untuk penggunaan selanjutnya. Sinonimnya adalah file dan database. Data store digambarkan dengan sebuah kotak dengan ujung terbuka.
Gambar 2.15 Simbol penyimpanan data
63
d. Agen eksternal Agen eksternal adalah orang, unit organisasi, atau organisasi luar yang berinteraksi dengan sistem. Disebut juga entitas eksternal. Agen eksternal digambarkan dengan sebuah persegi empat.
Gambar 2.16 Simbol agen eksternal
2.8
State Transition Diagram (STD) State transition diagram (STD) adalah suatu alat yang digunakan untuk menggambarkan urutan dan variasi dari layar yang dapat terjadi selama suatu sesi pengguna (Whitten, 2004, p673). Notasi yang digunakan dalam STD adalah : •
Kotak digunakan untuk menggambarkan layar tampilan.
•
Anak panah menggambarkan aliran dari kontrol dan kejadian yang memicu layar menjadi aktif atau menerima focus.
Suatu STD dapat menjadi cukup besar, terutama ketika semua input, output, help, dan layar-layar lainnya dimasukkan ke dalam diagram. Maka dari itu, umumnya diagram dipisah menjadi beberapa diagram yang lebih sederhana dan lebih mudah dibaca (Whitten, 2004, p674).
64
2.9
Teori Khusus
2.9.1
Defisini Penjualan Menurut Mulyadi (2001, p204), kegiatan penjualan terdiri dari penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara bayarnya dapat dibedakan sebagai berikut : 1) Penjualan tunai adalah penjualan yang dilaksanakan oleh perusahaan dengan cara mewajibkan pembeli dengan melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli. 2) Penjualan kredit adalah penjualan yang dilakukan dengan cara memenuhi pesanan dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
2.9.2
Defisini Pembelian Menurut Mulyadi (2001, p299), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Transaksi pembelian digolongkan menjadi dua yaitu pembelian lokal dan impor. Pembelian lokal adalah pembelian dari pemasok dalam negeri sedangkan pembelian impor adalah pembelian dari pemasok luar negeri.
65
2.9.3
Definisi Persediaan Menurut Mulyadi (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 akutansi biaya produksi. Dalam perusahaan manufaktur, persediaan terdiri dari : persediaan produk jadi, persediaan produk dalam proses, persediaan barang, persediaan bahan penolong, persediaan bahan habis pakai pabrik, dan persediaan suku cadang.