BAB 2 LANDASAN TEORI
2.1
Analisis dan Perancangan Sistem 2.1.1
Pengertian Sistem Menurut Budi Sutedjo Dharma Oetomo (2002), “Sistem merupakan kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan dalam usaha mencapai suatu tujuan”. Suatu sistem dapat didefinisikan sebagai suatu seri dari bagianbagian pekerjaan yang saling berhubungan untuk membentuk kerjasama dalam usaha mencapai tujuan yang telah ditetapkan bersama. Dari pengertian sistem diatas dapat diambil kesimpulan bahwa sistem merupakan suatu jaringan pekerjaan yang berhubungan dengan prosedur-prosedur yang erat hubungannya satu sama lain untuk melaksanakan sebagian aktifitas perusahaan untuk mencapai tujuan. (http://elib.unikom.ac.id/files/disk1/334/jbptunikompp-gdl-ariefrahma16695-3-document-2.pdf)
2.1.2
Pengertian Informasi Menurut Tata Sutabri (2004), “Informasi adalah data yang telah diklasifikasikan atau diolah untuk digunakan dalam proses pengambilan keputusan”. Adapun definisi lain dari Informasi menurut Dr. Azhar
10
11
Susanto (2004), “Informasi adalah hasil pengolahan data yang memberikan arti dan manfaat”. Definisi lain dari Informasi adalah rangkaian data yang mempunyai sifat sementara, tergantung dengan waktu, mampu memberi kejutan pada penerimanya, intensitas dan lamanya kejutan dari informasi disebut nilai informasi. Manfaat Informasi adalah untuk mengurangi ketidakpastian, hal ini sangat berguna untuk proses pengambilan keputusan. Informasi bersumber pada data. (http://elib.unikom.ac.id/files/disk1/334/jbptunikompp-gdl-ariefrahma16695-3-document-2.pdf)
2.1.3
Pengertian Sistem Informasi Menurut Whitten, Bentley, Dittman (2004, p12), Sistem Informasi (Information System) adalah sekumpulan orang, data, proses dan teknologi informasi yang saling berinteraksi untuk mengumpulkan, memproses, menyimpan dan menyediakan informasi yang dibutuhkan untuk mendukung sebuah organisasi.
2.1.4
Pengertian Analisis Sistem Menurut Laudon (2003, p394), Analisis Sistem adalah memeriksa masalah yang ada dan akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi.
12
2.1.5
Pengertian Perancangan Sistem Menurut Laudon (2003, p394), Perancangan Sistem adalah cara bagaimana sebuah sistem dapat memenuhi kebutuhan informasi yang telah ditentukan oleh penganalisa sistem.
2.2
Pendekatan Database Database saat ini sering digunakan dalam kehidupan sehari-hari. Menurut Connolly (2005, p15), database adalah kumpulan data yang berelasi yang dirancang untuk memenuhi kebutuhan informasi sebuah perusahaan dan menurut Connolly (2005, p16) Database Management System (DBMS) adalah software untuk mengatur dan mengontrol akses ke database. Menurut Connolly (2005, p17), aplikasi database adalah program yang berinteraksi dengan database menggunakan sebuah permintaan sederhana ke DBMS. Sistem basis data adalah kumpulan program aplikasi yang berinteraksi dengan database. Contoh aplikasi database, misalnya berbelanja di supermarket dengan menggunakan bar code untuk mencari harga barang yang terdapat di database barang.
2.2.1
Pengertian Data Menurut Atzeni (2003, p2), data adalah informasi yang disimpan, yang memerlukan terjemahan untuk menghasilkan informasi. Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah fakta yang telah diketahui, yang dapat dikumpulkan dan disimpan dalam media komputer.
13
Data terdiri dari fakta-fakta dan simbol-simbol yang secara umum kurang berguna dikarenakan jumlahnya yang besar dan sifatnya yang kasar atau belum diolah (McLeod dan Schell, 2001, p9).
2.2.2
Pengertian Basis Data Pengertian Basis Data menurut Connolly (2005, p15) adalah kumpulan data yang saling berhubungan secara logikal, deskripsi mengenai data tersebut yang dibuat untuk menemukan informasi yang dibutuhkan oleh sebuah organisasi. Menurut C.J. Date (2000, p10) basis data adalah kumpulan data persistent yang digunakan oleh sistem aplikasi dari perusahaan tertentu. Persistent maksudnya adalah sekali data telah diterima oleh DBMS untuk dimasukkan ke dalam basis data, data tersebut hanya bisa dihapus dari basis data dengan menggunakan permintaan eksplisit ke DBMS. Menurut Post (2005, p2), basis data adalah kumpulan data yang disimpan dalam suatu format yang sudah terstandardisasi yang dirancang agar dapat digunakan oleh banyak pengguna.
2.2.3
Pengertian Sistem Basis Data Menurut Connolly dan Begg (2005, p4), sistem basis data pada dasarnya adalah sistem penyimpanan record yang terkomputerisasi di mana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan
14
sistem terkomputerisasi tersebut memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.2.4
Database Management System (DBMS) Menurut Post (2005, p2), Database Management System adalah perangkat lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung
bahasa
query,
menghasilkan
laporan-laporan,
dan
menciptakan layar entry-data. Menurut Connolly dan Begg (2005, p16), Database Management System (DBMS) adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses menuju basis data.
2.2.4.1 Fungsi DBMS Menurut Connolly (2005, p16), fungsi DBMS terdiri dari : 1.
Memungkinkan pengguna untuk mendefinisikan suatu basis data, biasanya dilakukan melalui Data Definition Language (DDL).
2. Memungkinkan pengguna untuk melakukan insert, update, delete dan mendapatkan kembali data yang terdapat dalam basis data. 3. Dapat mengatur akses ke dalam basis data, diantaranya adalah adanya sistem keamanan, sistem integritas, sistem konkurensi,
15
pemulihan sistem kembali dan katalog yang dapat diakses oleh pengguna.
2.2.4.2 Komponen DBMS
Gambar 2.1 Komponen DBMS
Menurut Connolly (2005, pp18-21), ada lima komponen DBMS, yaitu: 1. Perangkat keras (Hardware) Hal ini berupa komponen tunggal pribadi (PC), mainframe tunggal hingga jaringan komputer. Perangkat keras dapat tergantung pada kebutuhan perusahaan dan DBMS yang digunakan.
2. Perangkat lunak (Software) Perangkat lunak yang terdiri dari perangkat lunak DBMS sendiri, program-program aplikasi, dan sistem operasi termasuk perangkat lunak.
16
3. Data Data merupakan komponen paling penting dalam lingkungan DBMS. Data berperan penting sebagai penghubung antara komponen mesin dengan komponen manusia. Basis data mengandung data operasional dari meta-data. Struktur basis data disebut skema.
4. Prosedur Prosedur dalam DBMS adalah sejumlah instruksi dan pengaturan yang menetukan rancangan dan pengguna dari basis data. Pemakai sistem dan pegawai yang mengelola basis data membutuhkan dokumen prosedur tentang bagaimana menggunakan atau menjalankan sistem. Instruksi-instruksi tersebut dapat berupa : a. Masuk ke DBMS. b. Penggunaan sebagian fasilitas DBMS atau program aplikasi. c. Memulai dan menghentikan DBMS. d. Membuat backup dari basis data. e. Menangani kegagalan perangkat keras atau perangkat lunak. f. Mengubah struktur dari sebuah tabel, mengatur kembali basis data dalam multiple disk, meningkatkan performa, atau membuat arsip data pada penyimpanan sekunder.
17
5. Orang Komponen terakhir adalah orang yang terlibat dalam sistem, termasuk data dan database administrator, perancang basis data, pengembang aplikasi, dan pengguna akhir.
2.2.4.3 Keuntungan dan Kerugian DBMS Menurut Connolly dan Begg (2005, p26) keuntungan DBMS adalah : 1. Mengontrol duplikasi data Basis data dapat mengurangi data yang ada tetapi tidak semua duplikasi data dapat dihilangkan, melainkan hanya dapat dikontrol. Hal ini dikarenakan terkadang duplikasi data tetap dibutuhkan untuk meningkatkan kemampuan suatu DBMS.
2. Data yang konsisten Dengan menghilangkan atau mengurangi duplikasi data, kita mampu mengurangi resiko dari inkonsistensi data.
3. Data yang sama lebih memiliki banyak informasi Dengan
adanya
integrasi
data
operasional
maka
memungkinkan sebuah organisasi mendapatkan informasi tambahan dari data yang sama.
18
4. Penggunaan data bersama-sama Biasanya file dimiliki oleh seseorang atau departemen yang menggunakannya. Sebaliknya, suatu basis data dimiliki oleh organisasi secara keseluruhan dan dapat diakses kepada pengguna yang dimiliki hak akses.
5. Integritas data telah dikembangkan Integritas data memiliki arti dari konsisten dan keabsahan dari data yang disimpan. Integritas biasa menegaskan arti dari kata constraint, yang merupakan aturan yang tidak dapat dilanggar oleh pemakai basis data.
6. Keamanan telah dikembangkan Keamanan basis data akan melindungi dari pengguna yang tidak memiliki hak akses. Hal ini biasanya dilakukan dengan adanya nama pemakai dan password untuk mengidentifikasi hak yang dimiliki oleh masing-masing pengguna.
19
Menurut Connolly dan Begg (2005, p29) kerugian DBMS adalah : 1. Kompleksitas Fungsionalitas yang diharapkan dari DBMS membuat DBMS menjadi piranti lunak yang sangat kompleks. Pengguna DBMS harus memahami dengan baik setiap fungsi DBMS untuk mendapatkan keuntungan maksimum dari DBMS tersebut. Ketidakpahaman atas sistem dapat menyebabkan pengambilan keputusan perancangan yang buruk dan akan mengakibatkan dampak serius bagi organisasi.
2. Ukuran Kompleksitas dan fungsional yang baik membuat DBMS menjadi sebuah piranti lunak yang berukuran sangat besar dan membutuhkan disk space yang sangat besar serta jumlah memory yang besar agar dapat dijalankan seefisien mungkin. Masalah ukuran yang besar kadang memberatkan perusahaan untuk menggunakan DBMS.
3. Harga DBMS Harga DBMS bervariasi tergantung dari lingkungan dan fungsi yang disediakan termasuk biaya pemeliharaan DBMS.
4. Biaya perangkat keras tambahan
20
Kebutuhan penyimpanan untuk DBMS dan basis data menyebabkan kemungkinan untuk membeli penyimpanan tambahan. Selain itu, untuk mendapatkan kemampuan yang diinginkan, dibutuhkan perangkat keras yang cepat dan baik tetapi harganya mahal.
5. Biaya konversi Dalam beberapa situasi, biaya yang dibutuhkan untuk mengubah aplikasi agar dapat berjalan pada DBMS yang baru dapat jauh lebih mahal dari biaya perangkat keras tambahan. Biaya tersebut juga termasuk biaya pelatihan pegawai untuk menggunakan sistem yang baru juga biaya pegawai spesialis untuk membantu konversi dan pelaksanaan sistem yang baru.
2.2.5
Structured Query Language Menurut Connolly dan Begg (2005, p113), Structured Query Language (SQL) adalah bahasa standar untuk mengakses dan memanipulasi basis data. Berikut merupakan tujuan SQL : •
Membuat basis data dan struktur hubungannya.
•
Melakukan pekerjaan dasar manajemen data, seperti memasukkan data, modifikasi dan penghapusan data dari relasi entitas.
•
Melakukan query sederhana maupun kompleks.
21
Sebagai suatu bahasa, standar SQL dibagi menjadi dua komponen utama yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML).
2.2.5.1 Data Definition Language (DDL) Menurut Connolly dan Begg (2005, p168), Data Definition Language (DDL) suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan dan menamai entitas, atribut, dan hubungan yang dibutuhkan untuk aplikasi bersamaan dengan asosiasi integritas dan batasan keamanan lainnya. Menurut Connolly dan Begg (2005, p40), dari hasil kompilasi pernyataan DDL adalah sebuah tabel yang tersimpan dalam file khusus yang dikumpulkan dan dikenal dengan System Catalog. System Catalog mengintegrasikan meta-data dimana data yang mendeskripsikan objek pada basis data dan memudahkannya untuk mengakses dan memanipulasi objek tersebut. Meta-data mengandung definisi dari record data item dan objek lainnya yang menarik bagi pengguna dan dibutuhkan oleh DBMS. Data Dictionary dan Data Directory juga digunakan untuk mendeskripsikan System Catalog walaupun penggunaan Data
22
Dictionary biasanya mengacu pada sistem perangkat lunak secara umum daripada catalog untuk DBMS.
2.2.5.2 Data Manipulation Language (DML) Menurut
Connolly
dan
Begg
(2005,
p41),
Data
Manipulation Language (DML) suatu bahasa yang menyediakan kumpulan operasi untuk mendukung manipulasi dasar dari data yang ada di basis data. Manipulasi yang dimaksud adalah seperti memungkinkan pengguna untuk melakukan insert, update, delete dan mengambil data dari database. DML terbagi ke dalam 2 (dua) jenis, yaitu sebagai berikut : -
Procedural DML Bahasa
yang
memperbolehkan
pengguna
untuk
memberitahukan pengguna mengenai data apa saja yang dibutuhkan dan bagaimana mengambil data tersebut. -
Non-procedural DML Bahasa yang memperbolehkan pengguna untuk menyatakan data apa yang dibutuhkan dibandingkan dengan bagaimana untuk mengambilnya.
23
2.2.6
Siklus Hidup Aplikasi Database Menurut Connolly dan Begg (2005, pp283-310) terdapat beberapa tahapan dalam Database System Development Lifecycle, diantaranya adalah : 1. Perencanaan Database 2. Definisi Sistem 3. Analisis dan Pengumpulan 4. Perancangan Database 5. Pemilihan DBMS 6. Perancangan Aplikasi 7. Prototyping 8. Implementasi 9. Pengubahan dan Pemuatan Data 10. Uji Coba 11. Pemeliharaan Operasional
24
Gambar 2.2 Siklus Aplikasi Database
25
2.2.6.1 Perencanaan Database Aktivitas manajemen yang memungkinkan tahapantahapan dalam pengembangan sistem basis data dapat diwujudkan dengan seefisien dan seefektif mungkin. Perancangan basis data harus terintegrasi dengan semua strategi dari sistem informasi dalam perusahaan. Ada tiga persoalan yang terkandung dalam pembuatan strategi sistem informasi, diantaranya adalah : a. Mengidentifikasi rencana dan tujuan dari perusahaan dengan penentuan kebutuhan informasi yang dibutuhkan oleh sistem informasi. b. Mengevaluasi informasi dari sistem informasi yang ada untuk menentukan kelebihan dan kekurangan yang dimiliki. c. Membuat penilaian peluang dalam bidang informasi dan teknologi yang memungkinkan untuk menjadi keunggulan yang kompetitif.
2.2.6.2 Definisi Sistem Membuat batasan-batasan dan cakupan dari basis data yang meliputi area perancangan aplikasi, kebutuhan utama pengguna dan pengguna itu sendiri yang dibantu oleh basis data. Mengidentifikasi sudut pandang pengguna membantu untuk memastikan tidak ada basis data yang terabaikan ketika mengembangkan kebutuhan-kebutuhan untuk sistem basis data yang baru.
26
2.2.6.3 Analisis dan Pengumpulan Menganalisa dan mengumpulkan kebutuhan-kebutuhan yang diperlukan untuk pembuatan sistem basis data yang baru. Informasi yang dikumpulkan dari masing-masing sudut pandang utama pengguna, termasuk : a. Deskripsi dari data yang digunakan atau yang dihasilkan. b. Detil bagaimana data digunakan atau dihasilkan. c. Kebutuhan-kebutuhan untuk sistem database yang baru.
Ada
tiga
pendekatan
untuk
mengatur
kebutuhan-
kebutuhan dari sistem database dengan banyak pengguna, diantara lain : •
Pendekatan terpusat (Centralized approach).
•
Pendekatan sudut pandang yang terintegrasi (View integration approach).
•
Kombinasi dari keduanya.
2.2.6.4 Perancangan Database Perancangan basis data diperlukan agar memiliki sistem basis data yang efisien dan efektif. Perancangan basis data juga berdampak dalam memenuhi kebutuhan-kebutuhan informasi yang diperlukan. Perancangan database dibagi menjadi tiga
27
tahapan, yaitu Perancangan Basis Data Konseptual, Perancangan Basis Data Logikal, dan Perancangan Basis Data Fisikal.
2.2.6.4.1 Perancangan Basis Data Konseptual Perancangan Basis Data Konseptual (Conceptual Database Design) adalah proses membangun sebuah model dari data yang digunakan dalam perusahaan, terbebas dari semua pertimbangan fisikal. Adapun tahapannya adalah sebagai berikut : a. Mengidentifikasi jenis entitas Tahapan pertama dalam membuat model data konseptual adalah dengan mendefinisikan objek utama yang menarik dari pengguna untuk digunakan. Objekobjek ini akan menjadi jenis-jenis entitas dalam model data konseptual. Salah satu metode untuk mengidentifikasi entitas adalah dengan memeriksa spesifikasi kebutuhan dari pengguna. Dari spesifikasi ini, kita dapat mengidentifikasi kata benda yang sering disebut atau digunakan. Kita juga dapat melihat objek utama seperti orang, tempat atau konsep yang sedang menarik.
b. Mengidentifikasi jenis relasi
28
Setelah
semua
entitas
teridentifikasi,
tahap
selanjutnya adalah menentukan relasi yang ada diantara entitas-entitas tersebut. Umumnya, relasi diindikasikan dengan kata kerja. Di beberapa hal, sebuah relasi biasanya bersifat binary. Dalam kata lain, relasi ada diantara tepat dua entitas. Namun, kita harus berhati-hati dalam melihat relasi kompleks yang melibatkan lebih dari dua entitas dan relasi rekursif yang melibatkan hanya satu entitas. Kita dapat menggunakan sebuah diagram entitas dan relasi untuk memudahkan kita memvisualisasikan sebuah sistem yang kompleks daripada menguraikan deskripsi teks yang panjang dari sebuah spesifikasi kebutuhan pengguna.
c. Mengidentifikasi dan mengasosiasikan atribut dengan jenis entitas atau relasi Tahapan
selanjutnya
adalah
dengan
mengidentifikasikan jenis dari fakta tentang entitas dan relasi yang sudah terpilih untuk direpresentasikan di dalam basis data. Atribut dapat ditemukan sebagai identifier atau karakteristik pada sebuah entitas atau pada sebuah relasi. Sebuah atribut dapat berupa simple atau composite atribut, single atau multi-valued atribut, ataupun derived atribut.
29
d. Menentukan domain atribut Sasaran utama dalam tahap ini adalah menentukan domain dari semua atribut di dalam model. Sebuah domain adalah kumpulan nilai-nilai dari mana satu atau lebih atribut mengambil nilai-nilai tersebut.
e. Menentukan candidate, primary dan alternate key dari atribut Tahap ini adalah bagaimana mengidentifikasikan candidate key lalu memilih salah satunya untuk menjadi primary key. Sebuah candidate key adalah seperangkat minimal atribut dari sebuah entitas yang secara unik mengidentifikasi kemunculan entitas tersebut. Dalam hal ini, kita dapat mengidentifikasi lebih dari satu candidate key, maka dari itu kita harus memilih satu untuk menjadi primary key, candidate key yang tersisa akan disebut alternate key.
f. Pertimbangan kembali apakah akan menggunakan konsep permodelan yang lebih rumit (opsional) Pada tahap ini, kita dapat memilih apakah untuk melanjutkan
pemodelan
entitas
dan
relasi
dengan
menggunakan konsep pemodelan yang lebih maju, dengan
30
mempertimbangkan
apakah
secara
spesialisasi/generalisasi, agregasi ataupun komposisi.
g. Pemeriksaan model dari redundansi Dalam tahap ini kita memeriksa model data konseptual dengan tujuan spesifik yaitu mengidentifikasi apakah terdapat redundansi di dalamnya. Tiga aktivitas yang dilakukan adalah : 1. Memeriksa kembali relasi one-to-one Dalam mengidentifikasi entitas yang redundan, dapat ditemukan jika dua entitas merepresentasikan objek yang sama pada perusahaan. Dalam hal ini, kedua entitas tersebut harus digabungkan. Jika primary keynya berbeda, pilih salah satu untuk menjadi primary key, sedangkan lainnya menjadi alternate key. 2. Menghilangkan relasi yang redundan Sebuah relasi dapat dikatakan redundan apabila informasi yang sama dapat diperoleh dari relasi yang lain. 3. Mempertimbangkan kembali dimensi waktu Penting untuk memeriksa apakah setiap relasi yang ada diantara entitas akan bersifat redundan. Jika sebuah sifat relasi melekat akan menjadi redundan, relasi itu harus dihilangkan. Pada akhir tahap ini, model data
31
konseptual
telah
disederhanakan
dengan
menghilangkan apapun yang bersifat dapat menjadi redundan.
h. Memvalidasikan
model
konseptual
terhadap
proses
transaksi pengguna Model data konseptual kini telah merepresentasikan data-data kebutuhan yang ada pada perusahaan. Tujuan tahap ini adalah memeriksa apakah model dapat membantu
dalam
transaksi
yang
diperlukan
pada
perusahaan. Dengan menggunakan model konseptual tersebut, kita dapat mencoba apakah model konseptual yang sudah dibuat dapat membantu transaksi yang diperlukan. Jika semua transaksi dapat berjalan sampai selesai dengan menggunakan model yang sudah dibuat, maka dapat dipastikan model tersebut dapat membantu transaksi yang ada pada perusahaan. Namun, jika terdapat transaksi yang tidak berjalan hingga selesai, maka harus dilakukan pengecekan kembali pada entitas, hubungan maupun atribut yang ada pada model data.
i. Mengulas kembali model data konseptual dengan pengguna
32
Setelah dilakukan kembali, model data konseptual diulas kembali dengan diagram entitas dan relasi dan semua dokumentasi yang mendukung dalam penggambaran model data tersebut. Jika terdapat keganjilan yang ditemukan di dalam model data, perubahan harus dilakukan jika diperlukan, dimana tahap-tahap sebelumnya akan diulang kembali. Tahap ini akan diulang terus menerus hingga pengguna dapat memastikan bahwa model yang telah dibuat dapat merepresentasikan secara tepat bagian dari perusahaan.
2.2.6.4.2 Perancangan Basis Data Logikal Perancangan
Basis
Data
Logikal
(Logical
Database Design) adalah proses membangun sebuah model dari data yang digunakan dalam perusahaan berdasarkan pada model data yang spesifik tetapi terbebas dari DBMS dan dari semua pertimbangan fisikal. Adapun tahapannya adalah sebagai berikut : a. Menurunkan relasi untuk model data logikal Pada tahap ini, kita menurunkan relasi dari model data logikal untuk merepresentasikan entitas, relasi dan atribut. Penurunan relasi yang dilakukan mungkin juga terdapat pada model data konseptual, yaitu : 1. Entitas kuat
33
Untuk setiap entitas kuat di dalam model data, buatlah sebuah relasi termasuk semua atribut sederhana dari setiap entitas. 2. Entitas lemah Untuk setiap entitas lemah di dalam model data, buatlah
sebuah
relasi
termasuk
semua
atribut
sederhana dari setiap entitas. Primary key dari sebuah entitas lemah adalah sebuah bagian atau penurunan penuh dari setiap pemilik entitas sehingga pengenalan dari primary key dari entitas lemah tidak dapat dilakukan sampai semua relasi dari pemilik entitas telah dipetakan. 3. Relasi binary one-to-many Untuk setiap relasi binary one-to-many, entitas yang bersifat one dirancang sebagai entitas parent dan entitas yang bersifat many dirancang sebagai entitas child. 4. Relasi binary one-to-one Dalam membuat relasi yang merepresentasikan relasi one-to-one lebih kompleks secara kardinalitas tidak dapat digunakan untuk mengidentifikasi entitas parent dan entitas child di dalam relasi tersebut. 5. Relasi rekursif binary one-to-one
34
Sama seperti relasi binary one-to-one, setiap relasi rekursif one-to-one, tidak dapat digunakan untuk mengidentifikasi entitas parent dan entitas child di dalam relasi tersebut. 6. Relasi superclass/subclass Untuk setiap relasi superclass/subclass di dalam model data konseptual, entitas superclass diidentifikasikan sebagai entitas parent dan entitas subclass sebagai entitas child. 7. Relasi binary many-to-many Untuk setiap relasi binary many-to-many dibuat relasi yang merepresentasikan hubungan dan termasuk atribut mana pun yang merupakan bagian dari hubungan tersebut. Atribut-atribut yang berupa primary key dari entitas yang berpartisipasi dalam hubungan ke dalam relasi baru harus dianggap juga sebagai foreign key. Salah satu dari kedua foreign key ini juga akan berupa primary key dari relasi yang baru, dan kemungkinan akan bergabung dengan satu atau lebih atribut. 8. Relasi kompleks Untuk setiap relasi kompleks, dibuat relasi yang merepresentasikan relasi dan termasuk semua atribut yang merupakan bagian dari hubungan tersebut.
35
Atribut-atribut yang berupa primary key dari entitas yang berpartisipasi dalam hubungan ke dalam relasi baru harus dianggap juga sebagai foreign key. Foreign key manapun yang merepresentasikan many dalam hubungan tersebut, secara umum juga akan berperan sebagai primary key dari relasi baru tersebut, dan kemungkinan akan bergabung dengan beberapa atribut lain. 9. Atribut multi-valued Untuk setiap atribut multi-valued di dalam sebuah entitas,
buatlah
sebuah
relasi
baru
yang
merepresentasikan atribut multi-valued dan termasuk primary key-nya ke dalam relasi baru, juga harus dianggap sebagai foreign key. Terkecuali jika atribut multi-valued sendiri itulah alternate key dari entitas, maka primary key dari relasi yang baru adalah gabungan dari atribut multi-valued dan primary key dari entitas tersebut.
b. Memvalidasi relasi dengan menggunakan normalisasi Proses dari normalisasi melibatkan relasi melalui beberapa
langkah
pemeriksaan
apakah
komposisi
atributnya sesuai dengan peraturan bentuk normal. Proses penurunan relasi dari model data konseptual seharusnya
36
sudah memproduksi relasi yang ada pada bentuk normalisasi
tahap
ketiga.
Namun,
jika
ternyata
teridentifikasi adanya relasi yang tidak ditemukan di normalisasi tahap ketiga, dapat diindikasikan bahwa ada beberapa bagian dari model data logikal ataupun konseptual yang salah. Jika diperlukan, perlu dilakukan restrukturisasi ulang terhadap relasi yang menjadi masalah dan pada model data untuk
menjamin
representasi
yang
tepat
terhadap
kebutuhan data dari perusahaan.
c. Memvalidasi relasi terhadap transaksi pengguna Tujuan dari tahap ini adalah memvalidasi model data logikal untuk menjamin bahwa model dapat membantu pada transaksi-transaksi yang diperlukan. Jika semua transaksi
dapat
berjalan
sampai
selesai
dengan
menggunakan model yang sudah dibuat, maka dapat dipastikan model yang sudah dibuat dapat membantu transaksi yang ada pada perusahaan. Namun, jika terdapat transaksi yang tidak berjalan hingga selesai, maka harus dilakukan pengecekan kembali pada entitas, hubungan maupun atribut yang ada pada model data.
37
d. Memeriksa integrity constraints Integrity
constraints
adalah
constraint
yang
diharapkan dapat menentukan dan menjaga basis data menjadi tidak lengkap, tidak akurat dan tidak konsisten. Beberapa jenis integrity constraints yang dipertimbangkan adalah sebagai berikut : 1. Data yang diperlukan 2. Atribut domain constraints 3. Multiplicity 4. Entity integrity 5. Referential integrity 6. General constraints
e. Meninjau kembali model data logikal dengan pengguna Model
data
logikal
sudah
lengkap
dan
didokumentasikan. Namun pengguna diminta untuk meninjau kembali model data logikal untuk menjamin bahwa
model
data
logikal
sudah
sesuai
dengan
representasi yang diinginkan oleh perusahaan. Jika pengguna tidak puas dengan model yang diberikan, maka tahap-tahap sebelumnya mungkin perlu diulang kembali. Namun jika pengguna puas dengan model yang diberikan, maka tahap selanjutnya adalah tergantung
38
berapa jumlah pengguna yang akan berasosiasi dengan basis data, dan bagaimana basis data tersebut akan diatur.
f. Mengubah model data logikal ke dalam model global (opsional) Tahap ini diperlukan untuk perancangan basis data dengan multiple user views yang diatur dengan pendekatan view integration.
Sebuah model data logikal lokal
merepresentasikan satu atau lebih view dari basis data, namun tidak semua view, sedangkan model data logikal global merepresentasikan semua user view dari basis data. Sehingga
dalam
tahap
ini,
bisa
dilakukan
penggabungan dua atau lebih model data logikal lokal menjadi sebuah model data logikal global.
g. Memeriksa untuk pertumbuhan di masa depan Perancangan basis data logikal diakhiri dengan apakah model data logikal mampu diperluas untuk membantu adanya perkembangan di masa depan. Jika model hanya dapat menopang kebutuhan saat ini, maka hidup dari model tersebut relatif pendek dan pengerjaan kembali dari model kemungkinan diperlukan untuk menampung kebutuhan baru.
39
Penting untuk mengembangkan model yang dapat diperluas dan mempunyai kemampuan untuk berevolusi agar dapat menyangga kebutuhan-kebutuhan baru dengan efek samping minimal dengan pengguna saat ini. Akan tetapi, perlu atau tidaknya sebuah model diperiksa atau diubah untuk dapat dipakai masa depan juga tidak lepas dari permintaan pengguna.
2.2.6.4.3 Perancangan Basis Data Fisikal Perancangan
Basis
Data
Fisikal
(Physical
Database Design) adalah proses menghasilkan deskripsi dari implementasi basis data pada penyimpanan sekunder. Perancangan ini menjelaskan hubungan dasar, organisasi file, dan beberapa indeks yang digunakan untuk mencapai pengaksesan data yang efisien dan batasan-batasan integrasi serta mekanisme keamanan. Adapun tahapannya adalah sebagai berikut : a. Menterjemahkan model data logikal untuk DBMS yang digunakan Aktivitas pertama dalam perancangan basis data fisikal adalah melibatkan penerjemahan relasi dalam model data logikal ke dalam bentuk yang dapat
40
diimplementasikan ke target DMBS. Tahapannya meliputi : 1. Perancangan relasi dasar Untuk memulai proses perancangan fisikal, yang utama dilakukan adalah menyatukan dan memahami informasi mengenai relasi yang dihasilkan dari perancangan logikal basis data. Informasi yang diperlukan dapat didapat dari kamus data dan definisi masing-masing relasi yang dideskripsikan dengan menggunakan Database Design Language (DBDL). Untuk merepresentasikan rancangan dari relasi dasar, dapat digunakan DBDL untuk mendefinisikan domain, nilai default dan indikator null. 2. Perancangan representasi dari derived data Atribut yang nilainya dapat ditemukan dengan menguji nilai dari atribut lain dinamakan derived attribute atau calculated. Tujuan dari tahap ini adalah agar dapat menentukan bagaimana sebuah derived data dapat direpresentasikan yang ada di model data di dalam target DBMS. 3. Perancangan general constraints Update terhadap relasi bisa dianggap dibatasi oleh integrity constraints, yang memimpin “dunia nyata” transaksi yang direpresentasikan oleh update. Integrity
41
constraints terdiri dari data yang diperlukan, domain constraints dan entitas dan referential integrity. Tujuan dari tahap ini adalah merancang constraints umum untuk target DBMS.
b. Perancangan indeks dan organisasi file Tujuannya adalah untuk menentukan organisasi file yang optimal untuk menyimpan relasi dasar dan indeksindeks yang diperlukan agar mencapai performa yang dapat diterima, yang dimana, cara relasi dan tuples akan disimpan di penyimpanan sekunder. Aktivitas pada tahap ini dibagi menjadi beberapa, yaitu : 1. Menganalisis transaksi Agar perancangan basis data fisikal berjalan efektif, diperlukan pengetahuan mengenai transaksi atau query yang akan dijalankan di dalam basis data. Hal ini mencakup baik informasi kualitatif maupun informasi kuantitatif. Kriteria performa transaksi yang dianalisis adalah seperti berikut ini : •
Transaksi yang sering berjalan dan akan memiliki pengaruh yang signifikan terhadap performa.
•
Transaksi yang kritikal terhadap operasi bisnis.
42
•
Waktu-waktu tertentu, baik tiap hari maupun tiap minggu, dimana akan ada permintaan yang tinggi yang dihadapi oleh basis data.
2. Memilih organisasi file Salah satu tujuan utama dalam perancangan basis data fisikal adalah untuk menyimpan dan mengakses data dengan cara yang efisien. Pemilihan organisasi file dapat dikategorikan ke dalam tipe-tipe file : •
Heap
•
Hash
•
Indexed Sequential Access Method (ISAM)
•
B*-tree
•
Clusters
Jika target DMBS tidak memperbolehkan adanya pemilihan organisasi file, maka tahap ini dapat dihilangkan. 3. Memilih indeks Salah satu pendekatan dalam memilih organisasi file yang tepat untuk sebuah relasi adalah menjaga unordered tuples dan membuat sebanyak mungkin indeks sekunder jika diperlukan. Pendekatan lainnya adalah dengan menentukan sebuah indeks primary atau clustering.
43
4. Mengestimasi kebutuhan disk space Ada saat dimana konfigurasi hardware menjadi syarat dalam
pengimplementasian
basis
data
fisikal.
Walaupun itu bukan masalah utama, perancang tetap harus memperkirakan jumlah disk space yang akan dipakai untuk menyimpan basis data, jika terdapat hardware baru.
c. Perancangan tampilan untuk pengguna Tahap pertama dari metode perancangan basis data melibatkan hasil produksi dari model data konseptual baik untuk single-user view maupun beberapa gabungan user view
yang
diidentifikasikan
selama
pengumpulan
kebutuhan dan tahap analisis. Tujuan utama dari tahap ini adalah untuk merancang user view yang diidentifikasikan di tahap perancangan sebelumnya.
d. Perancangan mekanisme keamanan Sebuah basis data merupakan sumber daya penting bagi perusahaan sehingga keamanan sangatlah penting. Tujuan utama dari tahap ini adalah untuk merancang mekanisme keamanan untuk basis data sebagaimana telah ditetapkan oleh pengguna selama tahap pengumpulan kebutuhan dari siklus hidup sistem basis data. DBMS
44
menyediakan dua jenis keamanan basis data yaitu keamanan sistem dan keamanan data. Keamanan sistem melindungi akses dan penggunaan basis data pada tingkat sistem, seperti username dan password.
Keamanan
data
melindungi
akses
dan
penggunaan objek basis data, seperti relasi dan views, dan aksi yang dapat dilakukan pengguna terhadap objek-objek tersebut. Perancangan hak akses pun tergantung dari target DBMS, beberapa sistem menyediakan fasilitas lebih dari yang lain untuk merancang hak akses.
e. Pertimbangan kembali dengan redundansi yang sudah terkontrol Normalisasi adalah sebuah teknik untuk menentukan atribut mana yang sesuai dengan relasinya. Perancangan basis data logikal adalah hasil dari normalisasi yang sudah terstruktur secara konsisten dan mempunyai redundansi yang minimal. Namun, terkadang menormalisasikan basis data tidak menyediakan pemrosesan yang efisien dan maksimum. Secara
formal,
perbaikan
denormalisasi
skema
relasi.
berhubungan
Dalam
dengan
beberapa
hal,
denormalisasi dipakai secara spesifik untuk meningkatkan
45
kecepatan proses atau transaksi yang kritikal, yaitu dengan cara : 1. Menggabungkan relasi one-to-one. 2. Menduplikasikan atribut non-key di dalam relasi oneto-many untuk mengurangi joins. 3. Menduplikasikan atribut foreign key di dalam relasi one-to-many untuk mengurangi joins. 4. Menduplikasikan atribut di dalam relasi many-to-many untuk mengurangi joins. 5. Memperkenalkan repeating groups. 6. Membuat extract table. 7. Mempartisi relasi.
f. Memantau dan menyesuaikan sistem operasional Tujuan utama dari tahap ini adalah untuk memantau sistem yang beroperasional dan meningkatkan performa dari sistem untuk memperbaiki rancangan yang tidak tepat terhadap keputusan ataupun perubahan kebutuhan. Ada beberapa faktor yang digunakan untuk mengukur efisiensi : 1. Transaction Throughput. 2. Response Time. 3. Disk Storage.
46
Untuk meningkatkan efisiensi basis data, beberapa DBMS
menyediakan
fasilitas
bagi
Database
Administrator (DBA) untuk melakukan tuning, berikut beberapa keuntungan dari tuning : 1. Tuning dapat menghindari penambahan hardware. 2. Dapat menurunkan konfigurasi hardware, sehingga lebih murah dan menghindari maintenance pada hardware. 3. Sebuah sistem yang sering di-tuning menghasilkan response time lebih cepat dan throughput lebih baik, yang membuat pengguna lebih produktif. 4. Meningkatkan
response
times
membuat
moral
karyawan juga tinggi.
2.2.6.5 Pemilihan DBMS Memilih DBMS yang sesuai untuk sistem basis data yang akan dibuat. Terdapat beberapa tahapan dalam memilih DBMS, yaitu : •
Mendefinisikan waktu pembelajaran.
•
Menuliskan dua atau tiga produk.
•
Mengevaluasi produk.
•
Merekomendasikan hasil dan pemilihan laporan.
47
2.2.6.6 Perancangan Aplikasi Merancang tampilan layar pada aplikasi dan antar muka pengguna yang akan digunakan untuk memproses basis data. Dalam perancangan aplikasi yang perlu diperhatikan adalah rancangan antarmuka untuk pengguna dan rancangan transaksi. Rancangan transaksi adalah sekumpulan tindakan yang dibawa oleh pengguna tunggal atau program aplikasi yang mengakses kandungan dari basis data. Tujuan dari rancangan transaksi
adalah
mendefinisikan
dan
mendokumentasikan
karakteristik tingkat tinggi transaksi yang diperlukan oleh basis data, meliputi : •
Data yang akan digunakan pada transaksi.
•
Karakteristik fungsional dari transaksi.
•
Keluaran dari transaksi.
•
Kepentingan pengguna.
•
Dasar pemakaian yang diharapkan.
Sebelum mengimplementasikan laporan atau faktur, sebaiknya
merancang
dahulu
tampilan
antarmuka
untuk
pengguna. Berikut ini adalah pedoman untuk merancang laporan atau faktur : •
Judul relevan.
•
Instruksi yang mudah untuk dipahami.
48
•
Pengelompokan logikal dan bidang secara berurutan.
•
Gambaran laporan atau faktur.
•
Label bidang yang mudah dikenali.
•
Penggunaan singkatan dan istilah konsisten.
•
Penggunaan warna yang konsisten.
•
Adanya jarak dan batas-batas untuk bidang pengisian data.
•
Pergerakan kursor yang nyaman.
•
Koreksi kesalahan untuk satu karakter dan seluruh bidang.
• Pesan kesalahan untuk nilai-nilai yang tidak dapat diterima. •
Pilihan bidang ditandai dengan jelas.
•
Pesan penjelasan yang jelas untuk bidang-bidang.
•
Adanya penanda penyelesaian.
2.2.6.7 Prototyping Membangun model kerja dari sistem basis data yang dapat memungkinkan
pengguna
untuk
menggambarkan
dan
mengevaluasi bagaimana sistem akhir dapat berfungsi. Ada dua pemodelan strategis yang biasa digunakan, yaitu requirements prototyping dan evolutionary prototyping.
49
2.2.6.8 Implementasi Membuat definisi basis data fisikal dan program aplikasi. Implementasi database menggunakan Data Definition Language (DDL) dari DBMS atau Graphical User Interface (GUI) yang dapat menyembunyikan DDL tingkat rendah secara fungsional.
2.2.6.9 Pengubahan dan Pemuatan Data Memuat data dari sistem lama ke sistem yang baru dan mengkonversi aplikasi yang ada serta menjalankannya pada sistem basis data yang baru. Proses ini harus direncanakan secara matang untuk memastikan perpindahan yang lancar.
2.2.6.10 Uji Coba Sistem basis data diuji untuk mengetahui kesalahankesalahan yang ada dan menyempurnakan sesuai dengan kebutuhan pengguna. Contoh kriteria yang dapat digunakan untuk mengevaluasi, diantaranya: •
Learnability – Seberapa lama pengguna baru menjadi produktif dengan sistem?
•
Performance – Bagaimana sistem menanggapi pekerjaan pengguna secara tepat?
•
Robustness – Bagaimana toleransi sistem terhadap kesalahan pengguna?
50
•
Recoverability – Seberapa baik sistem melakukan recovery terhadap kesalahan-kesalahan pengguna? • Adaptability – Bagaimana sistem mengikat menjadi satu model kerja?
2.2.6.11 Pemeliharaan Operasional Sistem basis data telah diimplementasikan secara penuh. Sistem diawasi dan dipelihara secara berkala. Ketika diperlukan, kebutuhan baru yang diinginkan akan disatukan kedalam sistem basis data melalui proses awal dari Database System Development Lifecycle telah diimplementasikan secara penuh dan telah diuji. Sistem akan dipelihara mengikuti aturan-aturan berikut : •
Mengawasi kinerja sistem. Jika sistem turun drastis dibawah tingkatan yang bisa diterima, maka organisasi database dibutuhkan.
•
Memelihara dan menaikkan tingkatan sistem database ketika dibutuhkan. Kebutuhan baru disatukan kedalam sistem database melalui tingkatan sebelumnya dari siklus.
2.2.7
Pemodelan Entitas dan Relasi Pengidentifikasian entitas direpresentasikan beserta nama entitas, deskripsi entitas dan kejadian yang terjadi pada entitas tersebut.
51
Pengidentifikasian
relasi
direpresentasikan
beserta
nama
entitas,
entitas
adalah
multiplicity dan hubungannya.
2.2.7.1 Entitas Menurut
Connolly
(2005,
p343),
sekumpulan objek yang diidentifikasi oleh sebuah perusahaan atau perorangan yang mempunyai sifat-sifat yang sama dan mempunyai
keberadaan
yang
independen.
Sebuah
entitas
memiliki keberadaannya yang bebas dan bisa menjadi objek dengan fisik atau menjadi objek dengan keberadaan konseptual. Artinya perancang yang berbeda mungkin mengidentifikasikan entitas yang berbeda pula. Sebuah basis data biasanya berisi banyak tipe entitas yang berbeda pula. Dalam Unified Modelling Language (UML), huruf pertama dari entitas diawali dengan huruf kapital. Sedangkan menurut Connolly (2005, p345), entity occurrence adalah sebuah objek unik yang dapat diidentifikasikan dari sebuah tipe entitas. Berikut adalah contoh entitas : karyawan, perusahaan, pemilik.
52
Nama Entitas
Karyawan
Perusahaan
Gambar 2.3 Nama Entitas
2.2.7.2 Relasi Menurut Connolly dan Begg (2005, p346), relasi (relationship) adalah sekumpulan hubungan yang berarti antara satu atau lebih entitas, dimana setiap tipe relationship diberi nama yang menggambarkan fungsinya. Sedangkan relationship occurrence adalah hubungan yang dapat diidentifikasi secara unik, yang termasuk satu kejadian dari setiap entitas yang berpartisipasi.
Nama Hubungan
Karyawan
Mempunyai Perusahaan mempunyai karyawan
Gambar 2.4 Relasi antar Entitas
Perusahaan
53
2.2.7.3 Derajat Relasi Menurut Connolly dan Begg (2005, pp347-349), derajat relasi adalah banyaknya tipe entitas yang terlibat dalam suatu hubungan. Hubungan derajat dua disebut binary. Hubungan binary adalah hubungan antara dua entitas. Contoh dari hubungan binary :
Pemilik memiliki
PemilikPribadi
PropertiYang Disewakan
Gambar 2.5 Hubungan Derajat Dua
Gambar diatas menjelaskan hubungan antara dua entitas yaitu
PemilikPribadi
menjelaskan
dan
PropertiYangDisewakan
bahwa
PemilikPribadi
yang
memiliki
PropertiYangDisewakan. Hubungan
derajat
tiga
disebut
ternary.
Ternary
menghubungkan relasi antar tiga entitas. Berikut adalah contoh dari ternary :
54
Pegawai
Mendaftar
Cabang
Pelanggan
Gambar 2.6 Hubungan Derajat Tiga
Pada gambar tersebut dijelaskan bahwa ada tiga entitas yang saling berhubungan yaitu Pegawai, Cabang dan Pelanggan. Ketiga entitas tersebut berhubungan karena mempunyai satu kegiatan yaitu Mendaftar. Hubungan yang kompleks digunakan untuk menjelaskan derajat yang lebih besar dari binary. Suatu tipe hubungan dimana entitas yang sama ambil bagian lebih dari sekali dalam aturan yang berbeda disebut hubungan rekursif. Sebagai contoh adalah Supervisor yang merupakan bagian dari Pegawai mengawasi Pegawai. Diperlukan adanya aturan untuk menandakan tujuan dari masing-masing entitas. Berikut adalah contoh gambar hubungan rekursif :
55
Aturan
Mengawasi Supervisor Pegawai
Aturan
Pegawai
Gambar 2.7 Hubungan Rekursif
2.2.7.4 Atribut Menurut Connolly dan Begg (2005, p350), atribut adalah sebuah properti atau sifat dari entitas atau tipe hubungan. Sebagai contoh, entitas karyawan mungkin dapat menjelaskan atribut sebagai berikut : noKaryawan, nama, posisi dan gaji. Setiap atribut
menyimpan
nilai
yang
menjelaskan
setiap
entity
occurrence dan menggambarkan bagian utama dari data yang disimpan didalam basis data. Sedangkan domain attribute adalah sekelompok nilai yang diperbolehkan
bagi
satu
atau
lebih
atribut.
Domain
mendefinisikan nilai potensi yang atribut miliki.
2.2.7.5 Keys Menurut Connolly dan Begg (2005, p352), kumpulan atribut minimal yang unik yang menggambarkan masing-masing
56
kejadian dari sebuah tipe entitas dinamakan candidate key. Sedangkan primary key adalah candidate key yang dipilih untuk menggambarkan secara unik masing-masing kejadian dari suatu tipe entitas. Tipe entitas memungkinkan untuk memiliki lebih dari satu candidate key. Composite key adalah candidate key yang terdiri dari atribut dua atau lebih. Suatu entitas biasanya memiiliki composite key dalam menjelaskan atribut-atribut yang dimilikinya. Pada kondisi tertentu, key dari suatu tipe entitas tersusun dari beberapa atribut yang mempunyai nilai bersama yang unik tetapi tidak secara terpisah. Untuk
beberapa
sistem
basis
data
sederhana,
memungkinkan untuk menampilkan semua atribut yang dimiliki dari masing-masing entitas di dalam diagram Entity Relationship (ER). Sedangkan pada sistem basis data yang kompleks, hanya menampilkan atribut atau beberapa atribut.
57
Primary Key
Karyawan
Cabang
Mengelola
noKaryawan {PK}
noCabang {PK}
Memiliki
nama
alamat
jabatan
jalan
gaji
kota
kodepos
Composite Attribute
Gambar 2.8 Keys
2.2.7.6 Entitas Kuat dan Lemah Menurut Connolly (2005, p354), entitas kuat adalah entitas yang keberadaannya tidak bergantung pada beberapa entitas yang lainnya. Karakter dari entitas ini adalah bahwa setiap kejadian entitas teridentifikasi secara unik dengan menggunakan atribut primary key. Sebagai contoh, kita dapat mengidentifikasi secara unik setiap anggota karyawan dengan menggunakan atribut noKaryawan. Sedangkan
entitas
lemah
adalah
entitas
yang
keberadaannya bergantung pada beberapa entitas yang lain.
58
Karateristik dari entitas ini bahwa setiap kejadian entitas tidak dapat teridentifikasi secara unik hanya dengan menggunakan atribut entitas tersebut. Kita hanya dapat mengidentifikasi secara unik entitas melalui hubungan yang dimiliki entitas dengan entitas klien yang secara unik teridentifikasi menggunakan primary key. Berikut adalah contoh gambar untuk menjelaskan entitas kuat dan lemah :
Entitas kuat
Pelanggan noPelanggan (PK) nama namaDepan namaLengkap noTelepon
Entitas lemah
Menyatakan
Pilihan Tipe Pilihan MaxSewa
Gambar 2.9 Entitas Kuat dan Lemah
59
2.2.7.7 Structural Constraints Structural Constraints berisikan pembatasan (restriction) dari relasi entitas di “dunia nyata”. Tipe utama dari constraint di dalam relationship disebut multiplicity. Menurut Connolly (2005, p356), multiplicity adalah jumlah (jangkauan dari kemungkinan kehadiran tunggal dari suatu entity yang berasosiasi melalui relationship tertentu. Multiplicity menentukan cara dimana entity dihubungkan yang merupakan representasi dari aturan bisnis yang diterapkan oleh user di dalam perusahaan.
2.2.8
Normalisasi 2.2.8.1 Pengertian Normalisasi Normalisasi adalah teknik untuk menganalisis hubungan berdasarkan primary key (atau candidate key) dan fungsi yang berketergantungan. Teknik ini melibatkan serangkaian aturan yang dapat digunakan untuk menguji hubungan individu sehingga database dapat dinormalisasi untuk derajat apapun. Bila persyaratan
tidak
terpenuhi,
hubungan
yang
melanggar
persyaratan tersebut harus didekomposisi ke dalam hubungan yang secara individual agar memenuhi persyaratan normalisasi. Diusulkan tiga bentuk normal yang disebut First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Normalisasi sering dieksekusi dalam serangkaian langkah.
60
Setiap langkah sesuai dengan bentuk normal tertentu yang telah dikenal
karakteristiknya
masing-masing.
Dengan
semakin
lanjutnya normalisasi, hubungan menjadi lebih terbatas (lebih kuat) dalam bentuk dan juga lebih kurang rentan untuk diperbaiki jika terdapat penyimpangan atau kelainan. . 2.2.8.2 Redundansi Data Tujuan utama dari database relasional adalah untuk mengelompokkan
atribut
ke
dalam
hubungan
untuk
meminimalkan redundansi data. Jika tujuan ini tercapai, manfaat potensial untuk database yang diimplementasikan meliputi : 1. Pembaruan data yang disimpan dalam database dapat dicapai
dengan
jumlah
minimal
operasi
sehingga
mengurangi kesempatan untuk data yang inkonsisten terjadi di dalam database 2. Pengurangan
ruang
dalam
penyimpanan
file
yang
dibutuhkan oleh relasi dasar sehingga meminimalkan biaya.
61
2.2.8.3 Proses Normalisasi
Gambar 2.10 Proses Normalisasi
Menurut Connolly dan Begg (2005, pp401-402), dalam normalisasi ada tiga bentuk normal yang dianjurkan yaitu First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Seiring dengan berjalannya normalisasi, hubungan menjadi lebih kuat pada bentuk dan juga kurang rentan tehadap keanehan dalam update. Untuk hubungan model data, penting untuk diketahui bahwa hanya 1NF yang menjadi elemen penting dalam membuat sebuah relasi. Untuk mengatasi keanehan update, umumnya dianjurkan untuk memproses sampai ke dalam bentuk 3NF. Kumpulan dari fungsi-fungsi yang bebas diberikan pada masing-masing relasi dan masing-masing relasi mempunyai primary key yang telah ada. Penting untuk diperhatikan bahwa arti
62
dari atribut-atribut dan relasinya harus dapat dimengerti terlebih dahulu sebelum memulai proses normalisasi.
2.2.8.4 Relasi Antar Normal Form 2.2.8.4.1 Unnormalized Form (UNF) Sebuah perulangan
satu
tabel
yang
atau
lebih.
mengandung
kelompok
Sedangkan
pengertian
kelompok perulangan adalah suatu atribut atau kumpulan atribut di dalam tabel yang terdapat beberapa nilai pada satu kejadian yang ditunjuk oleh atribut key dari suatu tabel.
2.2.8.4.2 First Normal Form (1NF) Suatu relasi di mana pada tiap persimpangan setiap baris dan kolom berisi satu dan hanya satu nilai. Ada dua pendekatan
umum
untuk
menghilangkan
kelompok
berulang dari tabel yang belum dinormalisasi : 1. Dengan memasukkan data yang sesuai dalam kolom kosong yang berisi baris data yang berulang. 2. Dengan menempatkan data berulang, bersama dengan salinan dari satu atau banyak original key ke dalam relasi yang terpisah.
63
2.2.8.4.3 Second Normal Form (2NF) Suatu relasi yang ada di dalam First Normal Form dan
setiap
atribut
non-primary-key,
sepenuhnya
tergantung
pada
normalisasi
hubungan-hubungan
primary di
kemampuan key.
1NF
ke
Proses 2NF
melibatkan penghapusan ketergantungan parsial. Jika ketergantungan parsial ada, kita menghapus atribut yang berketergantungan secara parsial dari hubungan dengan menempatkan mereka dalam hubungan baru bersama dengan salinan dari determinan mereka.
2.2.8.4.4 Third Normal Form (3NF) Berupa relasi yang terdapat pada First Normal Form dan Second Normal Form, di mana tidak ada atribut non-primary key yang bergantung transitif pada primary key. Proses normalisasi hubungan-hubungan di 2NF ke 3NF melibatkan penghapusan ketergantungan transitif. Jika ketergantungan transitif ada, kita menghapus atribut yang berketergantungan secara transitif dari hubungan dengan menempatkan atribut dalam hubungan baru bersama dengan salinan determinannya.
64
2.3
Tools yang Digunakan 2.3.1
Analisis dan Perancangan 2.3.1.1 Flowchart Flowchart merupakan penggambaran secara grafik dari langkah-langkah dan urutan prosedur suatu program. Biasanya mempermudah penyelesaian masalah, khususnya yang perlu dipelajari dan dievaluasi lebih lanjut. Flowchart menggunakan serangkaian simbol standar untuk mendeskripsikan melalui gambar
prosedur
pemrosesan
transaksi
yang
digunakan
perusahaan, dan arus data yang melalui sistem. Setiap simbol dalam flowchart menggambarkan input, output, pemrosesan, serta media penyimpanan yang dipergunakan. Flowchart terbagi atas lima jenis, yaitu : •
Flowchart Sistem (System Flowchart).
•
Flowchart
Paperwork/Flowchart
Dokumen
(Document
Flowchart). •
Flowchart Skematik (Schematic Flowchart).
•
Flowchart Program (Program Flowchart).
•
Flowchart Proses (Process Flowchart).
Berikut adalah simbol-simbol yang digunakan dalam pembuatan flowchart :
65
Simbol
Keterangan Merupakan awal atau akhir bagian dari proses Proses komputerisasi
Keputusan atau pilihan
Proses manual
Dokumen atau laporan
Alur data
Penyimpanan data
Konektor antara dua halaman
Konektor antara poin yang berbeda
Dokumen dan file utama
Gambar 2.11 Simbol-Simbol pada Flowchart
66
2.3.1.2 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah sebuah alat yang menggambarkan aliran data sampai sebuat sistem selesai, dan kerja atau proses dilakukan dalam sistem tersebut. Istilah Data Flow Diagram dalam bahasa Indonesia biasa disebut diagram aliran data. Dalam DFD terdapat empat komponen utama, yaitu : 1. External Agents Agen eksternal mendefinisikan orang atau sebuah unit organisasi, sistem lain, atau organisasi yang berada di luar sistem proyek tapi dapat mempengaruhi kerja sistem. 2. Proses Proses adalah penyelenggaraan kerja atau jawaban, datangnya aliran data atau kondisinya. 3. Data Stores Data Stores adalah tempat penyimpanan data. 4. Data Flow Data Flow merepresentasikan sebuah input data ke dalam sebuah proses atau output dari data (atau informasi) pada sebuah proses.
Jenis-jenis DFD adalah sebagai berikut : 1. Level 0 (Diagram Konteks)
67
Level ini merupakan sebuah proses yang berada di posisi pusat. 2. Level 1 (Diagram Nol) Level ini merupakan sebuah proses yang terdapat di level 0 yang dipecahkan menjadi beberapa proses lainnya. Sebaiknya maksimum tujuh proses untuk sebuah diagram konteks. 3. Level 2 (Diagram Rinci) Pada level ini merupakan diagram yang merincikan diagram level satu. Terdapat tanda * yang digunakan jika proses tersebut tidak dapat dirincikan lagi. 2.0* artinya proses level rendah yang tidak dapat dirincikan lagi. Penomoran yang dilakukan adalah berdasarkan urutan proses.
Simbol-simbol yang digunakan pada DFD DeMarco and Yourdan Symbols
Keterangan Source (Kesatuan Luar) Proses
Data Flow (Arus Data)
Gane and Sarson Symbols
68
Data Store (Penyimpanan Data)
Gambar 2.12 Simbol-Simbol pada DFD
2.3.1.3 State Transition Diagram (STD) State Transition Diagram (STD) adalah suatu kondisi yang menunjukkan keadaan tertentu, dimana suatu sistem dapat dinyatakan dengan transisi yang menghasilkan keadaan tertentu yang baru. Biasanya digunakan dalam sistem yang real time. Simbol yang terdapat dalam STD antara lain : • System State Setiap empat persegi panjang menggambarkan satu keadaan sistem dari sistem secara keseluruhan. • Changes of State Merupakan perpindahan proses dari alur kejadian yang perindahan kejadian digambarkan dengan anak panah.
69
Kejadian 1 Kejadian 2
Kejadian 3
Gambar 2.13 Changes of State
•
Conditions dan Actions Conditions dan Actions gambaran jika terdapat suatu kejadian yang merupakan hubungan sebab dan akibat dari suatu proses.
70 Kejadian 1
Condition
Action Kejadian 2
Gambar 2.14 Conditions dan Actions
2.3.2
Programming Tools 2.3.2.1 Microsoft SQL Server Microsoft SQL Server merupakan produk RDBMS (Relational Database Management System) yang dibuat oleh Microsoft. Orang sering menyebutnya dengan SQL Server saja. Microsoft SQL Server juga mendukung SQL sebagai bahasa untuk memproses query ke dalam database. Mirosoft SQL Server banyak digunakan pada dunia bisnis, pendidikan atau juga pemerintahan sebagai solusi database atau penyimpanan data.
2.3.2.2 Visual Basic.NET Visual Basic.NET adalah bahasa pemrograman yang dikembangkan oleh Microsoft. Visual Basic.NET merupakan
71
pengembangan dari versi sebelumnya, yaitu Visual Basic 6.0, yang memiliki karakteristik mudah untuk dipahami., namun handal dalam mengikuti tren perangkat lunak. Perbedaan mendasar
antara
Visual
Basic.NET
dengan
versi-versi
sebelumnya adalah kemampuan Object Oriented Programming (OOP). Saat ini Visual Basic.NET telah dikolaborasikan dengan beberapa jenis aplikasi seperti aplikasi desktop. Visual Basic.NET berorientasi objek artinya program antarmuka terdiri dari objek-objek. Keunggulannya adalah pengelompokan objek yang dibagi menjadi beberapa modul sehingga pengaturan pemrograman difokuskan pada tiap-tiap modulnya. Struktur yang ada dalam Visual Basic.NET terdiri dari : a. Form Form adalah windows atau jendela kerja (worksheet) yang digunakan untuk membuat tampilan yang diinginkan. b. Kontrol Kontrol merupakan tampilan grafis yang dibuat pada form untuk interaksi dengan pemakai. c. Properties Properties adalah nilai atau karakteristik yang dimiliki oleh Visual Basic.NET. d. Metode
72
Metode adalah serangkaian perintah yang sudah tersedia pada suatu objek yang dapat diminta untuk mengerjakan tugas khusus. e. Prosedur Kejadian Prosedur kejadian adalah kode yang berhubungan dengan suatu objek. f. Prosedur Umum Prosedur
umum
adalah
merupakan
kode
yang
tak
berhubungan dengan suatu objek. g. Modul Modul adalah sekumpulan dari prosedur umum dan definisi konstanta yang digunakan oleh aplikasi.
2.4
Pemahaman Objek Studi 2.4.1
Pengertian Persediaan Menurut Agus Ristono (2009), persediaan dapat diartikan sebagai barang-barang yang disimpan untuk digunakan atau dijual pada masa atau periode yang akan datang. Persediaan terdiri dari persediaan bahan baku, persediaan barang setengah jadi, dan persediaan barang jadi. Persediaan barang mempunyai fungsi yang sangat penting bagi perusahaan. Dari berbagai macam persediaan barang yang ada, seperti bahan baku, barang dalam proses, dan barang jadi, perusahaan melakukan penyimpanan atas persediaan barang karena berbagai fungsi, yaitu fungsi
73
yang memungkinkan perusahaan dapat memenuhi permintaan pelanggan, fungsi untuk mempertimbangkan penghematan-penghematan, dan fungsi untuk mengurangi adanya resiko ketidakpastian. (http://elib.unikom.ac.id/download.php?id=91101)
2.4.1.1 Tujuan Persediaan Pengendalian persediaan yang dijalankan adalah untuk menjaga tingkat persediaan pada tingkat yang optimal sehingga diperoleh penghematan-penghematan untuk persediaan tersebut. Beberapa hal yang
menyangkut suatu perusahaan harus
menyelenggarakan persediaan menurut Ahyari (2003) adalah : 1. Bahan yang akan digunakan untuk pelaksanaan proses produksi perusahaan tersebut tidak dapat dibeli atau didatangkan secara satu persatu dalam jumlah unit yang diperlukan perusahaa serta pada saat barang tersebut akan dipergunakan untuk proses produksi perusahaan tersebut. Bahan baku tersebut pada umumnya akan dibeli dalam jumlah tertentu, dimana jumlah tertentu ini akan dipergunakan untuk menunjang pelaksanaan proses produksi perusahaan yang bersangkutan dalam beberapa waktu tertentu pula. Dengan keadaan semacam ini maka bahan baku yang sudah dibeli oleh perusahaan namun belum dipergunakan untuk proses produksi akan masuk sebagai persediaan bahan baku dalam perusahaan tersebut.
74
2. Apabila perusahaan tidak mempunyai persediaan bahan baku, sedangkan bahan baku yang dipesan belum datang maka pelaksanaan proses produksi dalam perusahaan tersebut akan terganggu.
Ketiadaan
bahan
baku
tersebut
akan
mengakibatkan terhentinya pelaksanaan proses produksi pengadaan bahan baku dengan cara tersebut akan membawa konsekuensi bertambah tingginya harga beli bahan baku yang dipergunakan oleh perusahaan. Keadaan tersebut tentunya akan membawa kerugian bagi perusahaan.
3. Untuk menghindari kekurangan bahan baku tersebut, maka suatu perusahaan dapat menyediakan bahan baku dalam jumlah yang banyak. Tetapi persediaan bahan baku dalam jumlah besar tersebut akan mengakibatkan terjadinya biaya persediaan bahan yang semakin besar pula. Besarnya biaya yang semakin besar ini berarti akan mengurangi keuntungan perusahaan. Di samping itu, resiko kerusakan bahan juga akan bertambah besar apabila persediaan bahan bakunya besar. (http://elib.unikom.ac.id/files/disk1/453/jbptunikompp-gdlsukamabins-22618-4-unikom_s-i.pdf)
2.4.1.2 Penggunaan Persediaan Persediaan barang mempunyai fungsi yang sangat penting bagi perusahaan. Dari berbagai macam persediaan yang ada,
75
seperti bahan baku, barang dalam proses, dan barang jadi. Menurut T. Hani Handoko (2000, pp335-336), perusahaan melakukan penyimpanan atas persediaan atas barang karena berbagai fungsi, yaitu: 1. Fungsi Decoupling Fungsi penting persediaan adalah memungkinkan operasi-operasi perusahaan
internal
dan
eksternal
mempunyai
kebebasan
(independensi). Persediaan decouples ini memnungkinkan perusahaan dapat memenuhi permintaan langganan tanpa terganggu pemasok. 2. Fungsi Economic Lot Sizing Melalui penyimpanan persediaan, perusahaan dapat memproduksi dan membeli sumber-sumber daya dalam kuantitas yang dapat mengurangi biaya-biaya per unit. Dengan persediaan lot size ini akan mempertimbangkan penghematan-penghematan. 3. Fungsi Antisipasi Sering perusahaan menghadapi fluktuasi permintaan yang dapat diperkirakan dan diramalkan berdasar pengalaman atau data masa lalu. Disamping itu, perusahaan juga sering dihadapkan pada ketidakpastian jangka waktu pengiriman barang kembali sehingga harus dilakukan antisipasi untuk cara menanggulanginya. (http://elib.unikom.ac.id/download.php?id=91101)
76
2.4.1.3 Prosedur Persediaan Menurut Mulyadi (2001, p569), deskripsi prosedur ini merupakan salah satu prosedur yang membentuk sistem pembelian. Dalam prosedur ini dicatat harga pokok persediaan yang dibeli.
2.4.1.4 Dokumen Persediaan Menurut Mulyadi (2001, p569), dokumen sumber yang digunakan dalam prosedur pencatatan hara pokok persediaan yang dibeli adalah : laporan penerimaan barang dan bukti kas keluar. Laporan penerimaan barang digunakan oleh bagian Gudang sebagai dasar pencatatan tambahan kuantitas barang dari pembelian ke dalam kartu gudang. Bukti kas keluar yang dilampiri dengan laporan penerimaan barang, surat order pembelian dan faktur dari pemasok dipakai sebagai dokumen sumber dalam pencatatan harga pokok persediaan yang dibeli dalam register bukti kas keluar. Bukti kas keluar juga dipakai sebagai dasar pencatatan tambahan kuantitas dan harga pokok persediaan ke dalam kartu persediaan.
2.4.2
Pengertian Pembelian Istilah pembelian (purchasing) menurut Saefudin Azwar (1993), pembelian dapat didefinisikan sebagai “Proses terjadinya pengadaan barang yang tergolong kurang memenuhi kebutuhan yang diperlukan”.
77
Pada intinya pembelian merupakan kegiatan yang menyeluruh dan terfokus pada pengadaan material dan jasa yang dibutuhkan untuk mencapai tujuan organisasi.
Bagian pembelian berfungsi dalam
menentukan kebutuhan memilih pemasok, penerimaan material sesuai waktu, harga, bentuk dan kondisi yang layak, menerbitkan kontrak atau order dan memastikan pengiriman. (http://elib.unikom.ac.id/files/disk1/36/jbptunikompp-gdl-s1-2005mamansurah-1794-1-jurnal.pdf)
2.4.2.1 Tujuan Pembelian Menurut Render (2001, p414), tujuan dari kegiatan pembelian adalah : a.
Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal.
b.
Mengembangkan,
mengevaluasi
dan
menentukan
pemasok, harga dari pengiriman terbaik bagi barang dan jasa tersebut.
Jenis transaksi dalam pembelian dibedakan menjadi dua, yaitu : a. Pembelian tunai adalah proses pembayaran yang dilakukan secara langsung pada saat barang diterima. b. Pembelian non-tunai adalah proses pembayaran yang tidak dilakukan langsung pada saat barang diterima,
78
tetapi pembayaran dilakukan selang beberapa waktu setelah barang diterima sesuai dengan perjanjian kedua belah pihak.
Hal-hal yang harus diperhatikan dalam proses pembelian adalah : a. Kualitas. b. Harga. c. Waktu Proses.
2.4.2.2 Penggunaan Pembelian Pengawasan perlu dilakukan terhadap pelaksanaan proses pembelian, karena pembelian menyangkut investasi dana dalam persediaan dan kelancaran arus barang ke dalam perusahaan. Menurut Mulyadi (2001, p299) fungsi yang terkait dalam sistem pembelian adalah sebagai berikut : a.
Fungsi Gudang Bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang dan mengeluarkan order pembelian kepada pemasok yang dipilih.
b. Fungsi Pembelian Bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang
79
dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih. c. Fungsi Penerimaan Bertanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu dan kualitas bahan yang diterima dari pemasok guna menentukan dapat atau tidaknya barang tersebut diterima oleh perusahaan. d. Fungsi Akuntansi Bertanggung
jawab
dalam
pencatatan
transaksi
pembelian yang menjadi hutang sebagai dokumen bukti kas keluar.
2.4.2.3 Prosedur Pembelian Menurut Mulyadi (2001, pp301-307), terdapat beberapa tahapan prosedur dalam pembelian, yaitu : 1. Prosedur Permintaan Pembelian Pada prosedur permintaan pembelian, fungsi gudang mengajukan permintaan pembelian dalam formulir surat permintaan pembelian kepada fungsi pembelian. Jika barang tidak disimpan di gudang, misalnya untuk barang-barang yang langsung pakai, fungsi yang memakai barang mengajukan permintaan pembelian langsung ke fungsi pembelian dengan menggunakan surat permintaan pembelian.
80
2. Prosedur Permintaan Penawaran Harga dan Pemilihan Pemasok Fungsi pembelian mengirimkan surat permintaan penawaran harga kepada 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 menerima barang dan fungsi pencatat utang) 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 serta kemudian membuat laporan penerimaan barang untuk menyatakan penerimaan barang dari pemasok tersebut.
81
5. Prosedur Pencatatan Hutang Dalam prosedur ini akuntansi memeriksa dokumendokumen yang berhubungan dengan pembelian (surat order pembelian, laporan penerimaan barang, faktur dari pemasok) dan menyelenggarakan pencatatan hutang atau pengarsipan dokumen sumber sebagai catatan hutang.
6. Prosedur Distribusi Pembelian Prosedur ini meliputi distribusi rekening yang didebet dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen.
2.4.2.4 Dokumen Pembelian Menurut Mulyadi (2001, pp301-307), pembagian dokumen pada pembelian diantaranya: 1. Surat Permintaan Pembelian Dokumen ini merupakan formulir yang diisi oleh fungsi gudang atau fungsi pemakai barang untuk meminta fungsi pembelian melakukan pembelian barang dengan jenis, jumlah dan mutu seperti yang tersebut dalam surat tersebut. Surat permintaan pembelian ini biasanya dibuat dua lembar untuk setiap permintaan, satu lembar untuk fungsi pembelian dan tembusannya untuk arsip fungsi yang meminta barang.
82
2. Laporan Penerimaan Barang Dokumen penerimaan barang dibuat oleh fungsi penerimaan untuk menunjukkan bahwa barang yang diterima dari pemasok telah memenuhi jenis, spesifikasi, mutu dan kuantitas seperti yang tercantum dalam surat order pembelian.
3. Surat Order Pembelian Dokumen ini digunakan untuk memesan barang kepada pemasok yang telah dipilih. Surat order pembelian merupakan dokumen yang dikirim sebagai order resmi yang dikeluarkan oleh perusahaan.
2.4.2.5 Retur Pembelian Mengacu Mulyadi (2001), transaksi retur pembelian terjadi jika perusahaan menerima pengembalian barang dari pemasok. Dua dokumen penting yang digunakan dalam transaksi retur pembelian adalah : 1. Memo Kredit Dalam pencatatan transaksi retur pembelian, memo kredit merupakan dokumen sumber (source document) sebagai dasar pencatatan transaksi tersebut dalam kartu piutang dan jurnal umum atau jurnal retur pembelian. Dokumen ini dikeluarkan oleh fungsi pembelian yang
83
memberi perintah kepada fungsi penerimaan untuk menerima barang yang dikembalikan oleh pemasok.
2. Laporan Penerimaan Barang Dalam transaksi retur pembelian, laporan penerimaan barang merupakan dokumen pendukung yang melampiri memo
kredit.
Dokumen
ini
dikeluarkan
oleh
fungsi
penerimaan sebagai laporan telah diterima dan diperiksanya barang yang diterima dari pemasok.