BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Data dan Informasi Menurut Connolly (2002,p19) data adalah jembatan yang menghubungi antara komponen manusia dan komponen mesin. Menurut Mc Leod (2001,p15) data terdiri dari fakta-fakta dan angkaangka yang secara relatif tidak berarti bagi pemakai. Menurut Mc Leod (2001,p4) informasi adalah salah satu jenis sumber daya yang tersedia bagi manajer, yang dapat dikelola seperti halnya sumber daya yang lain. Informasi dari komputer dapat digunakan oleh para manajer, non-manajer, serta orang-orang dan organisasi-organisasi dalam lingkungan perusahaan. Sebagai contoh, data dapat berupa jumlah barang yang terjual dalam suatu perusahaan. Saat data ini diproses, ia dapat diubah menjadi informasi. Jika jumlah barang yang terjual dikalikan dengan harga jual barang maka akan menghasilkan pendapatan kotor. Jika angka-angka pendapatan kotor dari semua hasil penjualan dijumlahkan, maka hasil penjumlahan tersebut merupakan total pendapatan kotor bagi perusahaan. Jumlah pendapatan kotor ini dapat menjadi informasi bagi pemilik perusahaan agar dapat diolah lebih lanjut lagi. Dapat dilihat bahwa data merupakan suatu bentuk keterangan-
6
7
keterangan yang belum diolah atau dimanipulasi. Data pada suatu perusahaan umumnya didapatkan dari hasil kegiatan sehari-hari atau hasil dari transaksi.
2.1.2 Sistem Menurut Mulyadi (2001,p2) sistem adalah sekelompok unsur yang erat berhubungan satu dengan lainnya, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. Menurut O’Brien (2002,p8) sistem adalah sekelompok komponenkomponen yang saling berhubungan dan saling bekerjasama untuk mencapai tujuan yang sama dengan menerima input dan memproses output dalam proses perubahan organisasi. Menurut Mc Leod (2001,p11) sistem adalah sekelompok elemen yang berintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Dapat disimpulkan bahwa sistem adalah sekumpulan komponen yang saling bekerjasama untuk mencapai tujuan guna memperbaiki organisasi ke arah yang lebih baik.
2.1.3 Sistem Informasi Menurut O’Brien (2002,p7) sistem informasi dapat diorganisasikan dengan adanya gabungan antara manusia, hardware, software, jaringan komputer, dan sumber data, yang mampu mengumpulkan, mengubah dan menyebarkan informasi dalam suatu organisasi.
8
2.1.4 Sistem Basis Data Menurut Connolly (2002,p14) basis data adalah sekumpulan data yang secara logika saling berhubungan dan dirancang untuk menghasilkan informasi yang diperlukan dalam suatu organisasi. Basis data merupakan pemyimpanan data yang tunggal dan besar yang dapat digunakan secara simultan oleh banyak bagian perusahaan dan pengguna. Basis data merupakan suatu objek kompleks untuk menyimpan informasi terstuktur, yang diorganisir dan disimpan dengan aturan-aturan tertentu sehingga pemakai dapat mengambil informasi tersebut dengan cepat dan efisien. Menurut Date (2000, p5) sistem basis data adalah sistem yang menyimpan record secara komputerisasi, yang secara keseluruhan memiliki tujuan untuk menyimpan informasi dan memperbolehkan pengguna untuk mengambil dan mengubah informasi yang dibutuhkan.
2.1.5 DBMS (Database Management System) Menurut Connolly (2002,p16) DBMS adalah sistem perangkat lunak yang memungkinkan pengguna dapat mendefinisikan, membuat, merawat, dan mengatur akses ke basis data. Adapun keuntungan dan kekurangan dari DBMS adalah : Keuntungan DBMS: 1. Pengawasan data terhadap redudansi data
9
Pendekatan basis data berusaha untuk menghilangkan redudansi dengan mengintegrasikan file-file supaya salinan dari data yang sama tidak disimpan. Suatu data mengalami redudansi, bila data yang sama dengan data tersebut dapat ditemukan pada lebih dari satu tabel di dalam basis data.
2. Konsistensi data Dengan
menghilangkan
atau
mengontrol
redudansi,
akan
memelihara konsistensi data. Jika data disimpan lebih dari sekali dan sistem mengetahuinya maka sistem harus meyakinkan bahwa semua salinan data tetap konsisten.
3. Meningkatkan integritas data Integritas basis data menunjuk pada validitas dan konsistensi data yang tersimpan.
4. Meningkatkan keamanan Keamanan basis data merupakan perlindungan basis data dari pengguna yang tidak berwenang. Hal ini dapat dilakukan dengan membentuk username dan password untuk mengidentifikasi pengguna yang berwenang menggunakan basis data. Akses yang diberikan pada pengguna yang berwenang pada suatu data dapat dibatasi oleh jenis operasi (retrieval, insert, update, delete).
10
5. Meningkatkan produktivitas DBMS
menyediakan
banyak
fungsi
standar
sehingga
memungkinkan programmer berkonsentrasi pada fungsionalitas spesifik yang dibutuhkan oleh pengguna tanpa harus memikirkan tentang rincian implementasi level bawah. Hal ini menghasilkan peningkatan produktivitas programmer dan mengurangi waktu pengembangan.
6. Penggunaan data bersama Basis data dimiliki oleh keseluruhan organisasi dan dapat digunakan bersama oleh pengguna yang berwenang.
7. Meningkatkan pelayanan backup dan recovery Untuk melindungi data dari kegagalan sistem komputer atau program aplikasi maka dilakukan backup terhadap data secara teratur. Apabila setelah dilakukan backup terjadi kegagalan, DBMS menyediakan fasilitas untuk meminimalkan jumlah pemrosesan yang hilang.
Kerugian DBMS: 1. Meningkatkan kompleksitas perangkat lunak Ketentuan dari sebuah fungsionalitas yang baik menjadikan DBMS sebuah perangkat lunak yang sangat kompleks.
11
2. Meningkatkan ukuran dari perangkat lunak Fungsionalitas yang kompleks menjadikan DBMS sebuah perangkat lunak yang membutuhkan media penyimpanan yang sangat besar dan jumlah memori yang besar untuk menjalankan DBMS secara efisien.
3. Meningkatkan biaya untuk tambahan perangkat keras Keperluan media penyimpan untuk DBMS dan basis data membutuhkan pembelian tambahan media penyimpan.
4. Meningkatkan biaya untuk DBMS Biaya untuk suatu DBMS bervariasi tergantung pada lingkungan dan fungsionalitas yang diberikan. Selain itu juga dibutuhkan biaya perawatan.
5. Meningkatkan biaya untuk konversi data Biaya untuk mengubah aplikasi yang telah ada agar berjalan pada DBMS dan perangkat keras yang baru. Selain itu juga meliputi biaya pelatihan pegawai untuk menggunakan sistem yang baru.
Adapun komponen-komponen dari DBMS itu sendiri sebagai berikut: 1. Hardware
12
Dapat berkisar dari sebuah komputer tunggal, suatu jaringan komputer, ataupun suatu mainframe. Untuk menjalankan DBMS memerlukan kecepatan memori dan kapasitas hard disk tertentu.
2. Software Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri, program aplikasi, bersama-sama dengan sistem operasi, dapat juga meliputi perangkat lunak jaringan apabila terhubung dengan jaringan komputer. Program aplikasi dapat ditulis dengan bahasa pemrograman tertentu seperti C, C++, Java, Visual Basic, Cobol, dan lain sebagainya. DBMS itu sendiri antara lain : Microsoft SQL Server, Microsoft Visual FoxPro, Oracle, dan lainlain.
3. Data Data sebagai jembatan antara komponen mesin dengan komponen manusia. Secara umum, data pada basis data terutama pada sistem yang besar mempunyai dua aspek yaitu integrated dan shared. Integrated berarti basis data merupakan penggabungan beberapa file yang berbeda dengan jumlah redudansi seminimal mungkin. Sedangkan shared berarti bagian-bagian data individual pada basis data dapat digunakan bersama-sama antara pengguna yang berbeda.
13
4. Prosedur Prosedur berhubungan dengan instruksi-instruksi dan aturanaturan yang menentukan bagaimana perancangan dan penggunaan dari basis data. Contohnya: a.
Prosedur log on ke dalam Basis data
b.
Prosedur menjalankan dan mematikan Basis data
c.
Prosedur membuat cadangan data dari Basis Data
5. Manusia a. Data dan Database Administrator i.
Data Administrator bertanggung jawab terhadap sumber daya data meliputi perencanaan basis data, pengembangan dan pemeliharaan, prosedur dan aturan, dan perancangan basis data logikal dan konseptual.
ii.
Database
Administrator
bertanggung
jawab
terhadap
realisasi fisik dari basis data meliputi perancangan fisikal basis data dan implementasi, keamanan dan pengawasan integritas, pemeliharaan dari sistem operasional, dan memastikan keputusan pengguna terhadap aplikasi.
14
b. Database Designer Berhubungan dengan identifikasi data., relasi data, batasanbatasan data yang akan disimpan dalam basis data.
c. Application Developers Bertanggung jawab mengimplementasi program aplikasi yang menyediakan fungsionalitas yang diperlukan oleh pengguna.
d. End-user Merupakan pengguna akhir dari basis data yang telah dirancang dan diimplementasikan.
2.1.6 Data Definition Language (DDL) Definisi DDL menurut Connolly (2002,p40) adalah suatu bahasa yang memungkinkan DBA atau pengguna untuk menggambarkan dan memberi nama entiti, atribut, dan relasi yang diperlukan untuk aplikasi. Data Definition Language digunakan untuk mendefinisikan suatu skema atau untuk merubah yang sudah ada, tetapi tidak bisa digunakan untuk memanipulasi data. Hasil dari kompilasi Data Definiton Language adalah berbagai macam tabel yang disimpan secara kolektif dalam suatu file khusus yang disebut data dictionary. Data dictionary diintegrasikan dengan metadata. Metadata adalah
15
data yang mendeskripsikan objek di dalam basis data dan membuat data itu lebih mudah untuk diakses atau dimanipulasi.
2.1.7 Data Manipulation Languange (DML) Menurut Connolly (2002,p41) adalah suatu bahasa yang memungkinkan pengguna untuk memberitahukan sistem, data apa saja yang diperlukan dan bagaimana memperoleh data tersebut.
Operasi untuk manipulasi data biasanya meliputi : a. Penambahan data baru ke dalam basis data b. Modifikasi dari data yang disimpan ke dalam basis data c. Pengambilan data yang disimpan ke dalam basis data d. Penghapusan data dari basis data
Salah satu fungsi utama dari DBMS untuk mendukung Data Manipulation Language dimana pengguna bisa membuat statement yang dapat menyebabkan manipulasi data terjadi. Manipulasi data dapat diaplikasi pada tingkat eksternal, konseptual, dan internal. Akan tetapi pada tingkat internal harus mendefinisikan prosedur low-level yang kompleks yang memungkinkan pengaksesan data yang efisien. Sebaliknya, pada tingkat yang lebih tinggi lebih ditekankan kepada kemudahan dalam penggunaan usaha-usaha yang diarahkan pada efisiensi interaksi pengguna dengan sistem.
16
2.1.8 Entity Relationship Modeling Menurut Connolly (2002,p330), salah satu aspek yang paling sulit dalam perancangan basis data adalah kenyataan dimana perancang, programmer, dan end-user cenderung melihat data dan penggunaannya dengan cara yang berbeda. Akan tetapi, jika tidak mendapat pengertian secara umum yang merefleksikan bagaimana suatu perusahaan beroperasi, maka desain yang kita buat akan tidak memenuhi kebutuhan pengguna. Untuk memastikan bahwa kita mendapat pengertian yang spesifik tentang darimana data itu berasal dan bagaimana digunakan oleh perusahaan tersebut, dibutuhkan suatu model komunikasi yang non-teknikal dan bebas dari ambiguitas. Contohnya adalah Entity-Relationship (ER). Pemodelan ER merupakan pendekatan top-down terhadap perancangan Basis Data yang dimulai dengan mengidentifikasi datadata yang penting yang disebut entities dan relationship antara data-data yang akan direpresentasikan ke dalam model. Kemudian menambahkan detail seperti informasi yang diinginkan tentang entities dan relationship yang disebut atribut dan constraints yang ada pada entities, relationship, atributatribut.
a. Entiti Merupakan sekumpulan objek-objek dengan ciri-ciri yang sama yang diasumsikan oleh perusahaan memiliki keberadaan yang berdiri sendiri.
Didalam
entity
relationship
diagram
(ERD),
entiti
17
digambarkan sebagai sebuah persegi yang diberi label dengan nama entiti tersebut.
b. Relationship(relasi) Relationship adalah sekumpulan asosiasi dari satu atau lebih entiti. Dalam ERD, relasi berderajat dua (binary) digambarkan sebagai sebuah garis yang menghubungkan antara entiti-entiti yang berasosiasi yang diberi label dengan nama relasi tersebut beserta arah relasinya. Sedangkan untuk relasi berderajat tiga (ternary) atau lebih digambarkan berupa belah ketupat. Recursive relationship adalah suatu relasi dimana entiti-entiti yang sama berpartisipasi lebih dari satu kali dengan peran yang berbeda.
c. Atribut Atribut adalah properti dari sebuah entiti atau tipe relasi. Atribut domain adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. 1. Single attribute adalah atribut yang terdiri dari komponen tunggal
dan
dengan
keberadaan
sendiri.
Sedangkan
composite attribute adalah atribut yang terdiri dari banyak komponen dimana masing-masing memiliki keberadaan sendiri.
18
2. Multi-value attribute adalah suatu atribut yang memiliki satu atau lebih nilai untuk setiap entitinya. 3. Derived attribute adalah suatu atribut yang menggambarkan suatu
nilai
yang
didapat
dari
atribut-atribut
yang
berhubungan, tidak selalu dari entiti yang sama. 4. Dalam ERD apabila entiti ingin ditampilkan beserta atributatributnya maka dibentuk sebuah persegi di bawah entiti yang berisi atribut-atribut dari entiti tersebut.
d. Key 1. Candidate key adalah sekumpulan minimal dari atributatribut yang secara unik mengidentifikasi keberadaan dari setiap entiti. 2. Primary key adalah candidate key yang secara unik mengidentifikasi
keberadaan
dari
setiap
entiti
dan
mempunyai karakter yang paling sedikit . 3. Composite key adalah candidate key yang terdiri dari dua atau lebih atribut.
e. Mutliplicity Sejumlah kemungkinan kejadian-kejadian dari sebuah tipe entiti di dalam sebuah hubungan n-ary ketika nilai-nilai yang lain (n-1)
19
ditentukan. Multiplicity biasanya terdiri dari dua batasan terpisah, yaitu: 1. Cardinality: Mendeskripsikan jumlah maksimum dari kemungkinan kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi entiti dalam proses penentuan tipe relationship. 2. Participation: Menentukan apakah semua kejadian-kejadian entiti akan ikut berpartisipasi dalam sebuah relationship atau hanya beberapa yang ikut berpartisipasi.
Jenis-jenis multiplicity menurut Connolly (2002,p345) adalah : 1.
One to One (1:1) relationships
Gambar 2.1 One-to-One Relationships
Pada gambar 2.1, dapat dilihat bahwa A hanya terhubung One-to-one (1:1) dengan C, dan B hanya terhubung One-to-One
20
(1:1) dengan D. Jadi dari gambar tersebut dapat ditulis notasi multiplicity-nya dengan gambar di bawah ini.
Gambar 2.2 Notasi One-to-One relationships
2.
One-to-Many (1:*) Relationships
Gambar 2.3 One-to-Many Relationships
21
Pada gambar 2.3 diatas, dapat dilihat bahwa B terhubung One-to-Many(1:*) dengan D dan E. Jadi dari gambar tersebut, dapat ditulis notasi multiplicity-nya seperti gambar dibawah ini.
Gambar 2.4 Notasi One-to-Many Relationships
3.
Many-to-Many (*:*) Relationships
Gambar 2.5 Many-to-Many Relationships
22
Pada gambar 2.5 diatas,dapat dilihat bahwa A terhubung One-to-Many(1:*) dengan D dan E. Sedangkan E terhubung Oneto-Many(1:*) dengan A dan B. Jadi dari entiti Group 1(value-nya A dari gambar di atas) dan Group 2 (value-nya E dari gambar diatas) terhubung Many-to-Many(*:*). Dari gambar tersebut kita dapat menulis notasi multiplicity-nya dengan gambar dibawah ini.
Gambar 2.6 Notasi Many-to-Many (*:*) Relationships
2.1.9 Normalisasi Menurut Connolly (2002,p376) normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan relasi dengan properti yang diinginkan berdasarkan kebutuhan data sebuah organisasi. Normalisasi sering dilakukan dengan serangkaian pengujian pada sebuah relasi untuk menentukan apakah relasi tersebut memenuhi kebutuhan untuk sebuah bentuk normal yang diberikan. Proses normalisasi merupakan metode formal yang mengidentifikasi relasi berdasarkan primary key atau candidate key dan ketergantungan fungsional diantara atribut-atributnya.
23
Tahapan normalisasi 1. First Normal Form (1 NF) Suatu relasi di mana setiap perpotongan antar kolom dan baris hanya mengandung satu nilai saja. Suatu data dikatakan unnormalized jika di dalamnya mengandung kelompok berulang (Repeating Group), sehingga untuk membentuk normalisasi pertama (1 NF) Repeating Group harus dihilangkan.
2. Second Normal Form (2 NF) Dapat dihasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagian
(partial
dependence). Dalam normalisasi kedua (2 NF) setiap atribut yang tergantung parsial ini harus dipisahkan dengan mengikutsertakan determinannya. Bentuk normal diperoleh bila setiap atribut bukan bagian primary key dari suatu tabel sepenuhnya merupakan fungsi dari primary key tersebut.
3. Third Normal Form (3 NF) Pengujian terhadap 3 NF dilakukan dengan cara melihat apakah terdapat atribut bukan key tergantung fungsional terhadap atribut bukan key yang lain (disebut ketergantungan transitif atau transitive dependence). Dengan cara yang sama, maka setiap ketergantungan
24
transitif dipisahkan. 3 NF sudah cukup bagus dalam arti bahwa anomali sudah minimum (hampir tidak ada).
2.1.10 Siklus Hidup Basis Data Basis data merupakan komponen fundamental
dalam suatu sistem
informasi, penggunaan dan pengembangannya harus dilihat dari perspektif yang lebih luas berdasarkan kebutuhan perusahaan. Maka dari itu siklus hidup sistem informasi dari suatu perusahaan berhubungan erat dengan siklus hidup sistem basis data yang mendukung. Berikut ini dalah gambaran siklus hidup basis data.
25
Gambar 2.7 Tahapan siklus hidup aplikasi basis data
Berikut ini uraian dari masing – masing aktivitas pada siklus hidup basis data: a. Database Planning: perencanaan terhadap tahap-tahap siklus hidup agar dapat direalisasikan secara efesien dan efektif.
26
Perencanaan basis data harus tergabung dalam seluruh strategi sistem informasi perusahaan. Tiga hal penting dalam merumuskan strategi informasi: 1. Mengidentifikasi rencana dan tujuan dari perusahaan berikut menentukan sistem informasi yang diperlukan. 2. Evaluasi kelebihan dan kekurangan sistem informasi yang ada. 3. Penilaian
peluang
penggunaan
teknologi
informasi
yang
menguntungkan.
b. System Definition: mendefinisikan ruang lingkup dan batasan dari aplikasi basis data dan sudut pandang mayoritas pengguna.
c. Requirements Collection and Analysis: proses pengumpulan dan analisis informasi untuk mengidentifikasi kebutuhan sistem yang baru untuk pengguna.
d. Database design proses merancang suatu basis data yang akan mendukung aplikasi basis data.
e. DBMS Selection memilih suatu DBMS yang sesuai untuk mendukung aplikasi basis data.
27
f. Aplication Design perancangan antar muka dan program aplikasi yang menggunakan dan memproses basis data.
g. Prototyping: membangun suatu model kerja aplikasi basis data. Tujuan utama dari proses ini adalah memungkinkan pengguna menggunakan kerangka kerja untuk mengidentifikasi sifat-sifat dari sistem yang sudah bekerja dan jika mungkin memberikan masukan bagi aplikasi basis data.
h. Implementation : realisasi fisik dari basis data dan perancangan aplikasi.
i. Data Conversion and Loading : memindahkan semua data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada agar dapat berjalan sesuai dengan basis data yang baru.
j. Testing : proses menjalankan aplikasi program dengan maksud menemukan berbagai kesalahan.
k. Operational
Maintenance
:
proses-proses
pengawasan
pemeliharaan sistem. Meliputi aktivitas : 1. Mengawasi performasi dari sistem. 2. Memelihara dan meng-upgrade aplikasi basis data.
dan
28
2.1.11 Metodologi Perancangan Basis Data Metodologi perancangan basis data menurut Connolly (2002, p418) adalah pendekatan terstuktur yang menggunakan prosedur, alat bantu dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses perancangan.
Metodologi perancangan basis data dibagi kedalam tiga fase utama, yaitu: a. Perancangan Basis Data Konseptual b.Perancangan Basis Data Logikal c. Perancangan Basis Data Fisikal
Menurut Connolly (2002, p419) perancangan basis data konseptual adalah proses membuat suatu model informasi yang digunakan pada suatu perusahaan, yang terlepas dari semua pertimbangan fisik. Langkah-langkah di dalam perancangan basis data konseptual: Langkah 1 Membangun Model Data Konseptual Lokal untuk setiap view Selama
analis,
diidentifikasi.
sejumlah Beberapa
user user
view view
mungkin
telah
mungkin
telah
dikombinasikan bersama-sama untuk membentuk view yang tergabung, dimana diberikan suatu nama yang tepat.
Adapun langkah-langkah panduan dalam perancangan basis data konseptual sebagai berikut: Langkah 1.1 Identifikasi tipe entiti
29
Mengidentifikasi tipe entiti utama yang diperlukan dari view. Langkah 1.2 Identifikasi tipe relationship Mengidentifikasi relationship penting yang berada di antara tipe entiti yang telah diidentifikasi. Langkah 1.3 Identifikasi dan menghubungkan atribut dengan entiti atau tipe relationship Menghubungkan
atribut
dengan
entiti
atau
tipe
relationship yang tepat. Langkah 1.4 Menentukan atribut domain Menentukan domain bagi atribut dalam model data konseptual lokal. Langkah 1.5 Menentukan atribut candidate dan primary key Mengidentifikasi candidate key(s) untuk setiap tipe entiti dan jika ada lebih dari satu candidate key, maka dipilih satu untuk menjadi primary key. Langkah 1.6 Mempertimbangkan penggunaan enhanced modeling concept (langkah pilihan) Mempertimbangkan penggunaan enhanced modeling concepts seperti
specialization/generalization,
aggregation, dan composition. Langkah 1.7 Memeriksa redudansi dari suatu model
30
Memeriksa keberadaan redudansi dalam model basis data. Bila ditemukan redudansi, redudansi tersebut dihilangkan. Langkah 1.8 Melakukan validasi pada model data konseptual lokal terhadap transaksi pengguna Memastikan model data konseptual lokal mendukung transaksi yang diperlukan. Langkah 1.9 Meninjau ulang model data konseptual dengan pengguna Meninjau ulang model data konseptual dengan pengguna untuk memastikan model yang data yang
dihasilkan
merupakan representasi dari view
2.1.12 Perancangan Basis Data Logikal Menurut Connolly (2002, p419) perancangan basis data logikal adalah proses membuat model informasi yang digunakan dalam perusahaan berdasarkan spesifikasi data model, tetapi terlepas dari DBMS tertentu dan pertimbangan fisikal lainnya. Langkah 2
Membangun dan memvalidasi model data logikal untuk
setiap view Membangun model data logikal lokal dari model data konseptual perusahaan
yang
merepresentasikan
kemudian
memvalidasi
view model
tertentu ini
dari untuk
31
memastikan agar benar secara struktural (penggunaan teknik normalisasi) dan untuk memastikan bahwa model tersebut mendukung transaksi yang dibutuhkan. Langkah 2.1 Menghilangkan fitur-fitur yang tidak sesuai dengan relational model (langkah pilihan) Memperbaiki
model
data
konseptual
menghilangkan fitur-fitur yang tidak
lokal
untuk
sesuai dengan
relational model . Langkah 2.2 Menurunkan relasi untuk model data logikal lokal Membuat relasi untuk model data logikal lokal untuk merepresentasikan entiti-entiti, relationships, dan atributatribut yang sudah diidentifikasi. Langkah 2.3 Memvalidasi
relasi-relasi
dengan
menggunakan
normalisasi Memvalidasi relasi-relasi di dalam model data logikal lokal dengan menggunakan teknik normalisasi. Langkah 2.4 Memvalidasi
relasi-relasi
terhadap
transaksi
pengguna Memastikan bahwa relasi-relasi dalam model data logikal lokal mendukung transaksi yang dibutuhkan view. Langkah 2.5 Mendefinisikan integritas constraints Mendefinisikan integritas constraint yang diberikan di dalam view
32
Langkah 2.6 Meninjau ulang model data logikal lokal dengan pengguna. Memastikan bahwa model data logikal lokal dan dokumen pendukung menjelaskan bahwa model tersebut merupakan representasi yang benar dari view. Langkah 3 Membangun dan memvalidasi model data logikal global Menggabungkan model-model data logikal lokal individu ke dalam sebuah model data logikal global yang mewakili perusahaan tersebut. Langkah 3.1 Menggabungkan model-model data logikal lokal ke dalam model global Menggabungkan model-model data logikal lokal individu ke dalam sebuah model data global
yang
mewakili
perusahaan tersebut. Langkah 3.2 Memvalidasi model data logikal global Memvalidasi relasi-relasi yang dibuat dari model data logikal global dengan menggunakan teknik
normalisasi
dan jika perlu, memastikan bahwa relasi-relasi tersebut mendukung transaksi yang dibutuhkan. Langkah 3.3 Memeriksa kemungkinan pengembangan basis data di masa yang akan datang Menentukan apakah ada perubahan yang signifikan yang akan berubah di masa yang
akan
datang
dan
juga
33
menunjukkan apakah model data logikal global dapat mengakomodasi perubahan tersebut. Langkah 3.4 Meninjau ulang model data logikal global dengan pengguna Memastikan bahwa model data logikal global adalah representasi yang benar dari sebuah perusahaan.
2.1.13 Perancangan Basis Data Fisikal Menurut Connolly (2002,p419) perancangan basis data fisikal adalah proses pembuatan deskripsi dan implementasi basis data pada media penyimpanan
sekunder.
Proses
tersebut
menjelaskan
relasi
dasar,
pengorganisasian file, dan indexes yang digunakan untuk mencapai akses data yang efisien dan integritas constraint yang berhubungan, dan tingkat keamanan. Langkah 4 Menterjemahkan model data logikal global untuk target DBMS Menghasilkan skema relational basis data dari model data logikal global yang bisa diimplementasikan ke target DBMS. Langkah 4.1 mendesain relasi-relasi dasar Memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi di model data logikal global ke target DBMS. Langkah 4.2 Mendesain representasi dari data turunan
34
Memutuskan bagaimana merepresentasikan data turunan yang ada di dalam model data logikal global ke target DBMS. Langkah 4.3 Mendesain batasan-batasan pada perusahaan Mendesain batasan-batasan perusahaan untuk target DBMS. Langkah 5 Mendesain dari representasi fisikal Menentukan file organisasi yang optimal untuk menyimpan relasi-relasi dasar dan indeks-indeks yang dibutuhkan untuk mencapai performa yang dapat diterima, yaitu dengan cara dimana relasi-relasi dan tupples (baris-baris dari sebuah relasi) yang disimpan pada media penyimpanan sekunder. Langkah 5.1 Menganalisa transaksi-transaksi Memahami bahwa fungsionalitas dari transaksi-transaksi yang akan dijalankan dalam basis data dan untuk menganalisa transaksi-transaksi yang penting. Langkah 5.2 Memilih organisasi file Menentukan efisiensi file organisasi untuk setiap relasi dasar. Langkah 5.3 Memilih indeks-indeks Menentukan apakah dengan menambah indeks-indeks akan meningkatkan performa dari
sistem.
Langkah 5.4 Memperkirakan kebutuhan disk space
35
Memperkirakan jumlah disk space yang akan dibutuhkan basis data. Langkah 6 Mendesain user views Mendesain user view yang telah diidentifikasi selama tahap pengumpulan kebutuhan dan tingkat analisis dari siklus hidup aplikasi basis data relational.
2.1.14 State Transition Diagram (STD) Menurut Hoffer. J. A. et al (1996, p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke state yang lain. Ada dua macam simbol yang menggambarkan proses dalam State Transition Diagram(STD), yaitu: 1. Gambar Persegi panjang menunjukkan state dari sistem Mewakili State dalam STD
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian atau kondisi yang menyebabkan transisi yang terjadi. Label yang di bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
36
Mewakili Transisi dalam STD
2.1.15 Data Flow Diagram (DFD) 2.1.15.1 Pengertian Data Flows Menurut
Whitten
(2004,
p357),
Data
Flow
merepresentasikan masukan dari data menuju proses atau output dari data(atau informasi) dari sebuah proses. Proses merespon masukan (input) dan menghasilkan keluaran (output), satu proses minimal mempunyai satu masukan dan satu keluaran.
2.1.15.2 Pengertian Data Flow Diagram Menurut Whitten (2004, p344), Data Flow Diagram(DFD) adalah sebuah alat untuk menggambarkan aliran data dan proses kerjanya yang terjadi di sistem. Diagram
aliran
data
mempunyai
kegunaan
untuk
memperhatikan : a. Informasi yang masuk dan keluar dari sistem b. Apa yang merubah informasi c. Dimana informasi disimpan
2.1.15.3 Merancang Data Flow Diagram Dalam diagram aliran data terdapat levelisasi yang bertujuan untuk menghindari aliran data yang rumit dan kompleks.
37
Levelisasi dimulai dengan tingkatan tertinggi dan kemudian diuraikan ke dalam bentuk yang lebih rinci. Tingkatan tersebut terdiri dari : a. Diagram konteks (Context Diagram) Memperlihatkan karakteristik suatu sistem b. Diagram nol Menggambarkan proses-proses utama yang ada pada suatu sistem c. Diagram rinci Merupakan proses rinci dari proses yang terdapat dari tingkatan sebelumnya.
Simbol-simbol yang digunakan untuk menggambarkan diagram aliran data yaitu :
Tabel 2.1 Perbandingan simbol diagram aliran data De Marco dan Yourdon Process
Data Store
Gane dan Sarson
38
Source / Sink
Data Flow
Berdasarkan De Marco Yourdon dengan Gane dan Sarson terdapat beberapa peraturan yang harus diikuti saat menggambar diagram aliran data (Jeffrey A. Hoffer, 1996, p320) Process : a.
Tidak ada proses yang hanya mempunyai keluaran. Jika sebuah objek hanya mempunyai keluaran maka itu adalah source.
b.
Tidak ada proses yang hanya mempunyai masukan. Jika sebuah objek hanya mempunyai masukan maka itu adalah sink.
c.
Sebuah proses harus dilabeli dengan sebuah kata kerja.
Data Store : a.
Data tidak dapat bergerak dari sebuah data store menuju data store lainnya. Data dapat bergerak melalui proses.
b.
Data tidak dapat bergerak secara langsung dari source menuju data store. Data harus bergerak melalui proses
39
dimana data diterima dari data source dan menempatkan data ke data source. c.
Data tidak dapat bergerak langsung menuju sink dari data source. Data harus bergerak melalui proses.
d.
Sebuah data store harus dilabeli dengan kata benda.
Source / Sink : a.
Data tidak dapat bergerak secara langsung dari source menuju sink. Data harus melalui proses.
b.
Sebuah source / sink harus dilabeli dengan kata benda.
Data Flow : a.
Sebuah data flow hanya mempunyai satu arah diantara simbol.
b.
Sebuah cabang pada data flow berarti beberapa data yang sama menuju dua atau lebih proses yang berbeda.
c.
Sebuah penggabungan pada data flow berarti data yang sama muncul dari dua atau lebih proses menuju sebuah lokasi yang sama.
d.
Sebuah data flow tidak boleh menuju proses yang sama dengan sumber prosesnya (rekursif). Harus ada minimal satu proses yang menangani data flow, menghasilkan
40
data flow, dan mengembalikan data flow menuju proses awal. e.
Sebuah
data
flow
menuju
data
store
berarti
memperbaharui (update atau delete) data. f.
Sebuah data flow dari data store berarti mengambil atau menggunakan data.
g.
Sebuah data flow mempunyai label berupa kata kerja. Bisa lebih dari satu kata kerja yang muncul pada sebuah panah data flow dengan syarat semua aliran / flows pada satu panah bergerak sebagai satu paket.
2.1.16 Perbedaan DFD (Data Flow Diagram) dan UML (Unified Modeling Language) DFD (Data Flow Diagram) merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur. Kelebihan pendekatan aliran data, yaitu : A. Kebebasan dari menjalankan implementasi teknis sistem. B. Pemahaman lebih jauh mengenai keterkaitan satu sama lain dalam sistem dan subsistem. C. Mengkomunikasikan
pengetahuan
sistem
yang
ada
dengan
pengguna melalui diagram aliran data. D. Menganalisis sistem yang diajukan untuk menentukan apakah datadata dan proses yang diperlukan sudah ditetapkan.
41
E. Dapat
digunakan
sebagai
latihan
yang
bermanfaat
bagi
penganalisis, sehingga bisa memahami dengan lebih baik keterkaitan satu sama lain dalam sistem dan subsistem. F. Membedakan sistem dari lingkungannya dengan menempatkan batas-batasnya. G. Dapat digunakan sebagai suatu perangkat untuk berinteraksi dengan pengguna. H. Memungkinkan penganalisis menggambarkan setiap komponen yang digunakan dalam diagram.
Kekurangan pendekatan aliran data, yaitu : A. Memaksa penganalisis berpikir bahwa data flow merupakan satusatunya interaksi. B. Lebih menekankan pada sistem dekomposisi secara fungsional bukan dalam bentuk kelas-kelas obyek dan sebagainya dalam istilah arsitektur. Subsistem, sub subsistem, dan lain-lain cenderung menjadi fungsi dan subfungsi, sehingga hasilnya lebih rendah dari arsitektur yang optimal dalam hal pemahaman, pemakaian kembali, perawatan, dan lain-lain
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar
untuk
memvisualisasi,
menspesifikasikan,
42
membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object Oriented). Kelebihan UML, yaitu : A. Memiliki kemampuan untuk memberikan bahasa yang dapat dipahami dan dikomunikasikan baik oleh user, developer, dan analyst yang terlibat dalam proses pengembangan software. B. Obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan rumit. C. Dapat dipakai untuk pemodelan sistem dinamis dan real time.
Kekurangan UML, yaitu : A. UML di kritik sebagai model yang besar dan rumit karena mempunyai banyak diagram dan konstruksi yang redundan dan jarang dipakai. B. UML memakai banyak garis yang secara tampilan mirip, sehingga menyulitkan dalam membedakan arti yang terdapat di tiap garis. Garis yang sama mempunyai arti yang berlainan di tipe diagram yang berbeda. C. Tidak konsistennya inter-model dalam representasi model UML. D.
UML bukanlah bahasa pemrograman visual, melainkan bahasa pemodelan visual.
Dari hasil analisis kelebihan dan kekurangan dari DFD dan UML, penulis memilih menggunakan DFD karena DFD lebih logis dan alami dari
43
partisi sistem. Sedangkan UML, lebih dipaksakan dan partisi buatan dari sebuah sistem. Dari perbedaan di atas dapat diketahui
bahwa teknik UML akan
mendapatkan hasil yang kurang teliti dari segi analisis fungsional dibandingkan dengan DFD. Terutama dalam skala yang lebih besar. DFD adalah satu–satunya teknik yang memungkinkan pembuatan diagram dengan cara yang mudah, bagaimana proses – proses yang berinteraksi tanpa merujuk kepada bagaimana mereka diimplementasikan.
2.2 Teori Pendukung 2.2.1 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. Fungsi yang terkait dalam sistem pembelian adalah : 1. Fungsi Gudang : bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan. 2. Fungsi Pembelian : bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang
44
dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih. 3. Fungsi Penerimaan : bertanggung jawab untuk memeriksa mutu, jenis, dan kuantitas barang yang diterima dari pemasok guna menentukan dapat tidaknya barang tersebut diterima oleh perusahaan, dan untuk menerima barang dari pembeli yang berasal dari transaksi retur penjualan.
Menurut Mulyadi (2001,p301), jaringan prosedur dalam sistem pembelian adalah 1. Prosedur permintaan pembelian. Dalam prosedur ini, fungsi gudang mengajukan permintaan pembelian dalam formulir surat permintaan pembelian kepada fungsi pembelian. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok. Dalam prosedur ini, fungsi pembelian mengirimkan surat permintaan penawaran harga kepada para pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain, untuk memungkinkan pemilihan pemasok yang akan ditunjuk sebagai pemasok barang yang diperlukan oleh perusahaan. 3. Prosedur order pembelian.
45
Dalam prosedur ini, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan (misalnya fungsi penerimaan, fungsi yang meminta barang, dan fungsi pencatat hutang) mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. 4. Prosedur penerimaan barang. Dalam prosedur ini, fungsi penerimaan melakukan pemeriksaan mengenai jenis, kuantitas, dan mutu barang yang diterima dari pemasok, dan kemudian membuat laporan penerimaan barang untuk menyatakan penerimaan barang dari pemasok tersebut. 5. Prosedur pencatat hutang. Dalam prosedur ini, fungsi akutansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian (surat order pembelian, laporan penerimaan barang, dan faktur dari pemasok) dan menyelenggarakan pencatatan hutang atau mengarsipkan dokumen sumber sebagai catatan hutang. 6. Prosedur distribusi pembelian. Prosedur ini meliputi distribusi rekening yang didebit dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen.
46
Retur Pembelian Menurut Mulyadi (2001,p335), Barang yang sudah diterima dari pemasok adakalanya tidak sesuai dengan barang yang dipesan menurut surat order pembelian. Hal tersebut terjadi kemungkinan karena barang yang diterima tidak cocok dengan spesifikasi yang tercantum dalam surat order pembelian, barang mengalami kerusakan dalam pengiriman, atau barang diterima melewati tanggal pengiriman yang dijanjikan oleh pemasok. Sistem retur pembelian digunakan dalam perusahaan untuk pengembalian barang yang sudah dibeli kepada pemasoknya..
2.2.2 Penjualan Menurut Mulyadi (2001,p202), kegiatan penjualan terdiri dari penjualan barang atau jasa, baik secara kredit maupun tunai. Dalam transaksi penjualan kredit, jika order dari pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan jasa untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Dalam transaksi penjualan secara tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli jika perusahaan telah menerima kas dari pembeli. Fungsi yang terkait dalam sistem penjualan secara kredit adalah : 1. Fungsi Penjualan : bertanggung jawab untuk menerima surat order dari pembeli, mengedit order dari pelanggan untuk menambah informasi yang belum ada pada surat order tersebut (seperti spesifikasi barang dan rute pengiriman), meminta otorisasi kredit,
47
menentukan tanggal pengiriman dan dari gudang mana barang akan dikirim, dan mengisi surat order pengiriman. 2. Fungsi Kredit : bertanggung jawab untuk meneliti status kredit pelanggan dan memberikan otorisasi pemberian kredit kepada pelanggan. 3. Fungsi Gudang : bertanggung jawab untuk menyimpan barang dan menyiapkan
barang
yang
dipesan
oleh
pelanggan,
serta
menyerahkan barang ke fungsi pengiriman. 4. Fungsi Pengiriman : bertanggung jawab untuk menyerahkan barang atas dasar surat order pengiriman yang diterimanya dari fungsi penjualan, dan untuk menjamin bahwa tidak ada barang yang keluar dari perusahaan tanpa ada otorisasi dari yang berwenang. 5. Fungsi Penagihan : bertanggung jawab untuk membuat dan mengirimkan
faktur
penjualan
kepada
pelanggan,
serta
menyediakan copy faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. 6. Fungsi Akuntansi : bertanggung jawab untuk mencatat piutang yang timbul dari transaksi penjualan kredit dan membuat serta mengirimkan pernyataan piutang kepada para debitur, serta membuat laporan penjualan. Di samping itu, juga bertanggung jawab untuk mencatat harga pokok persediaan yang dijual ke dalam kartu persediaan.
48
Menurut Mulyadi (2001, p219), jaringan prosedur yang membentuk sistem penjualan kredit adalah sebagai berikut: 1. Prosedur Order Penjualan : dalam prosedur ini, fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order dari pembeli. Fungsi penjualan kemudian membuat surat order pengiriman dan mengirimkannya kepada berbagai fungsi yang lain untuk memungkinkan fungsi tersebut memberikan kontribusi dalam melayani order dari pembeli. 2. Prosedur Persetujuan Kredit : dalam prosedur ini, fungsi penjualan meminta persetujuan penjualan kredit kepada pembeli tertentu dari fungsi kredit. 3. Prosedur Pengiriman : dalam prosedur ini, fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat order pengiriman yang diterima dari fungsi pengiriman. 4. Prosedur Penagihan : dalam prosedur ini, fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. Dalam metode tertentu faktur penjualan dibuat oleh fungsi penjualan sebagai tembusan pada waktu bagian ini membuat surat order pengiriman. 5. Prosedur Pencatatan Piutang : dalam prosedur ini, fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang atau
49
dalam metode pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang. 6. Prosedur Distribusi Penjualan : dalam prosedur ini, fungsi akuntansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen. 7. Prosedur Pencatatan Harga Pokok Penjualan : dalam prosedur ini, fungsi akuntansi mencatat secara periodik total harga pokok produk yang dijual dalam periode kuntansi tertentu.
Menurut Mulyadi (2001, p462), fungsi yang terkait dalam penerimaan kas dari penjualan tunai adalah 1. Fungsi Penjualan : bertanggung jawab untuk menerima order dari pembeli, mengisi faktur penjualan tunai, dan menyerahkan faktur tersebut kepada pembeli untuk kepentingan pembayaran harga barang ke fungsi kas. 2. Fungsi Kas : bertanggung jawab sebagai penerima kas dari pembeli. 3. Fungsi Gudang : bertanggung jawab untuk menyiapkan barang yang dipesan oleh pembeli serta menyerahkan barang tersebut ke fungsi pengiriman. 4. Fungsi Pengiriman : bertanggung jawab untuk membungkus barang dan menyerahkan barang yang telah dibayar harganya kepada pembeli.
50
5. Fungsi Akuntansi : bertanggung jawab sebagai pencatat transaksi penjualan dan penerimaan kas serta pembuat laporan penjualan.
Menurut Mulyadi (2001, p469), jaringan prosedur yang membentuk sistem penerimaan kas dari penjualan kas dari penjualan tunai adalah 1. Prosedur Order Penjualan : dalam prosedur ini, fungsi penjualan menerima order dari pembeli dan membuat faktur penjualan tunai untuk memungkinkan pembeli melakukan harga barang ke fungsi kas dan memungkinkan fungsi gudang dan fungsi pengiriman menyiapkan barang yang akan diserahkan kepada pembeli. 2. Prosedur Penerimaan Kas : dalam prosedur ini, fungsi kas menerima pembayaran harga barang dari pembeli dan memberikan tanda pembayaran kepada pembeli untuk memungkinkan pembeli tersebut melakukan pengambilan barang yang telah dibelinya dari fungsi pengiriman. 3. Prosedur Penyerahan Barang : dalam prosedur ini, fungsi pengiriman menyerahkan barang kepada pembeli. 4. Prosedur Pencatatan Penjualan Tunai : dalam prosedur ini, fungsi akuntansi melakukan pencatatan transaksi penjualan tunai dalam jurnal penjualan dan jurnal penerimaan kas. 5. Prosedur Penyetoran Kas ke Bank : dalam prosedur ini, fungsi kas menyetorkan kas yang diterima dari penjualan tunai ke bank dalam jumlah penuh.
51
6. Prosedur Pencatatan Penerimaan Kas : dalam prosedur ini, fungsi akuntansi mencatat penerimaan kas ke dalam jurnal penerimaan kas berdasaran bukti setor bank yang diterima dari bank melalui fungsi kas. 7. Prosedur Pencatatan Harga Pokok Penjualan : dalam prosedur ini, fungsi akuntansi membuat rekapitulasi harga pokok penjualan berdasarkan data yang telah dicatat dalam kartu persediaan.
Retur Penjualan Menurut Mulyadi (2001,p226), Transaksi retur penjualan terjadi jika perusahaan menerima pengembalian barang dari pelanggan karena barang yang diterima pelanggan tidak sesuai dengan permintaan. Ketidaksesuaian tersebut terjadi kemungkinan karena barang yang diterima tidak cocok dengan spesifikasi yang tercantum dalam surat order penjualan, barang mengalami kerusakan dalam pengiriman atau barang diterima melewati tanggal pengiriman.