7 BAB 2 LANDASAN TEORI 2.1. Pendekatan Basis Data Pada bab

advertisement
7
BAB 2
LANDASAN TEORI
2.1. Pendekatan Basis Data
Pada bab ini, akan diuraikan beberapa teori yang menjadi landasan untuk
membahas dan menganalisa masalah yang berkaitan dengan pendekatan basis data dan
pendekatan persediaan dan penjualan.
2.1.1. Pengertian Data
Data menurut (Connolly dan Begg, 2005, p20) adalah komponen yang paling
penting dalam DBMS. Data juga dapat didefisinikan sebagai jembatan antara
komponen mesin dan komponen manusia.
Menurut (Yuhefizard, 2008, p2), data adalah fakta baik berupa sebuah objek,
orang dan lain-lain yang dapat dinyatakan dalam suatu nilai tertentu.
Menurut (Whitten et al, 2004, p27, p522), data merupakan fakta mentah
tentang orang, tempat, kejadian dan apapun yang penting bagi perusahaan dimana data
itu sendiri tidak memiliki arti. Data adalah sebuah sumber yang harus dikontrol dan
dikelola.
Jadi dapat disimpulkan data adalah fakta-fakta mentah baik berupa objek, orang
dan lain-lain yang harus dikelola untuk menghasilkan suatu informasi yang memiliki
arti penting bagi perusahaan sebagai jembatan antara komponen mesin dan komponen
manusia.
8
2.1.2. Pengertian Basis Data
Basis data menurut (Connolly dan Begg, 2005, p15), yaitu sekumpulan data
yang berhubungan secara logikal dan deskripsi mengenai data itu sendiri yang
dirancang untuk memenuhi kebutuhan informasi organisasi
Basis data tidak lagi dimiliki oleh satu departemen tetapi telah menjadi sumber
daya perusahaan bersama. Basis data tidak memegang peranan sebagai data
operasional organisasi tetapi juga deskripsi dari data. Oleh karena itu, basis data juga
disebut sebagai a self-describing collection of integrated records. Deskripsi data
tersebut dikenal sebagai system catalog (atau kamus data atau metadata–‘data
mengenai data’). Hal tersebut merupakan sifat dasar basis data yang menyediakan
program-data independence.
Penggunaan
basis
data
ditujukan
untuk
menyimpan,
mencari,
mengelompokkan, dan bagi pakai (share) informasi. Penggunaan basis data juga
diharapkan dapat mempermudah dan menjadikan efektif hal-hal tersebut.
2.1.3. Database Management System (DBMS)
Menurut (Connolly dan Begg, 2005, p16), Database Management System
(DBMS) adalah sistem perangkat lunak yang memungkinkan user untuk
mendefinisikan (define), membuat (create), memelihara (maintain) dan mengontrol
(control) dalam mengakses basis data. Pada umunya DBMS menyediakan fasilitas–
fasilitas berikut ini :
9
a. Data Definition Language (DDL)
Data Definition Language adalah suatu bahasa yang mengijinkan pemakai
untuk menspesifikasikan tipe data, struktur dan batasan-batasan terhadap data
untuk disimpan dalam basis data.
b. Data Manipulation Language (DML)
Data Manipulation Language adalah bahasa yang mengijinkan user untuk :
1) Menambah data baru ke dalam basis data.
2) Mengubah data yang disimpan ke dalam basis data.
3) Menghapus data dari basis data.
4) Mengambil data yang terdapat di dalam basis data.
Data Manipulation Language (DML) sebagai pusat penyimpanan untuk semua
data dan deskripsi data, DML menyediakan fasilitas kamus umum untuk data,
yang disebut query language. Query language yang paling umum adalah
Structured Query Language (SQL).
c. Controlled access
Menyediakan akses kontrol untuk basis data. Sebagai contoh, DBMS
menyediakan :
1) Sistem keamanan, mencegah pengguna yang tidak berwenang mengakses
basis data.
2) Sistem integritas, menjaga konsistensi dari data yang tersimpan.
3) Sistem kontrol concurrency, mengijinkan akses bersama dari basis data.
4) Pemulihan sistem kontrol, mengembalikan basis data ke tahap sebelumnya
karena kegagalan software atau hardware.
10
5) Katalog yang dapat diakses oleh pengguna, mengandung deskripsi dari data
dalam basis data.
2.1.3.1. Komponen-Komponen DBMS
Menurut (Connolly dan Begg, 2005, p18), ada lima komponen penting
dalam lingkungan DBMS :
a. Perangkat keras (hardware)
Dalam menjalankan aplikasi DBMS diperlukan perangkat keras. Perangkat
keras dapat berupa a single particular computer, a single mainframe, a
network of computers.
b. Perangkat lunak (software)
Komponen perangkat lunak meliputi DBMS software dan program aplikasi
beserta Sistem Operasi (OS), termasuk perangkat lunak tentang jaringan jika
DBMS digunakan dalam jaringan LAN.
c. Data
Data merupakan komponen terpenting dari DBMS khususnya dari sudut
pandang end user mengenai data.
d. Prosedur (procedures)
Prosedur berupa panduan dan instruksi dalam membuat desain dan
menggunakan basis data. Pengguna dari sistem dan staf dalam mengelola
basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola
basis data itu sendiri. Demikian prosedur di dalam basis data dapat berupa :
11
1) Login di dalam basis data
2) Penggunaan sebagian fasilitas DBMS
3) Cara menjalankan dan memberhentikan DBMS
4) Membuat salinan back up database
5) Memeriksa hardware dan software yang sedang berjalan
6) Mengubah struktur basis data, meningkatkan kinerja, atau membuat arsip
data pada secondary storage.
e. Manusia (people)
Ada empat tipe jabatan yang berpartisipasi dalam lingkungan pengelolaan
sistem basis data yaitu :
1) Data dan Database Administrator
Bertanggung jawab untuk mengatur manajemen sumber daya data yang
meliputi perancangan basis data, pengembangan dan pemeliharaan, aturan
dan prosedur, dan rancangan basis data konseptual atau logikal.
2) Database Designer
Seseorang atau sekelompok orang yang menjadi tenaga ahli komputer
yang berfungsi untuk mengembangkan program–program aplikasi yang
diperlukan dalam DBMS.
3) Application Developer
Orang yang merancang, menentukan dan meneliti penampilan dan fungsi
program aplikasi.
12
4) End-User
Yang termasuk dalam kategori pengguana akhir adalah pemilik sistem,
para manajer, operator dan sebagainya yang terlibat langsung dalam
pengguanaan basis data.
2.1.3.2. Keuntungan DBMS
Beberapa keuntungan dari DBMS :
a. Mengurangi redundansi data
Data yang sama pada beberapa aplikasi cukup disimpan sekali saja.
b. Menghindarkan inkonsistensi
Karena redundansi berkurang, sehingga umumnya update data hanya sekali
saja.
c. Terpeliharanya integritas data
Data tersimpan secara akurat.
d. Data dapat dipakai bersama-sama
Data yang sama dapat diakses oleh beberapa user pada saat bersamaan.
e. Memudahkan penerapan standarisasi
Menyangkut keseragaman penyajian data.
f. Jaminan security
Data hanya dapat diakses oleh yang berhak.
g. Menyeimbangkan kebutuhan
Dapat ditentukan prioritas suatu operasi, misalnya antara update (mengubah
data) dengan retrieval (menampilkan data) didahulukan update.
13
2.1.3.3. Kekurangan DBMS
Beberapa kerugian dari DBMS (Connolly dan Begg, 2005, p29-30) :
a. Rumit;
b. Membutuhkan tempat penyimpanan yang besar di memori;
c. Biaya DBMS yang bervariasi;
d. Biaya tambahan perangkat keras;
e. Biaya konversi;
f. Kinerja aplikasi tidak berjalan cepat seperti seharusnya karena adanya
DMBS;
g. Kerusakan pada bagian sistem menyebabkan operasi terhenti.
2.1.3.4. Fungsi DBMS
Menurut (Connolly dan Begg, 2005, p48), fungsi-fungsi DBMS sebagai
berikut :
a. Data storage, terrieval dan update
Menyediakan fasilitas kepada pengguna untuk menyimpan, mengambil dan
meng-update data di sebuah basis data.
b. Catalog User-accessible
Menyediakan katalog yang berisi penjelasan dari data items yang tersimpan
pada basis data.
c. Transaction support
Menyediakan mekanisme yang memastikan bahwa update pada suatu
transaksi terjadi seluruhnya atau tidak terjadi sama sekali.
14
d. Concurrency control service
Menyediakan mekanisme yang memastikan basis data di update secara benar
ketika multiple user meng-update basis data secara bersamaan.
e. Recovery service
Mengembalikan suatu kasus data keadaan dimana basis data belum terjadi
kerusakan.
f. Authorization service
Mekanisme dimana hanya pengguna tertentu yang memiliki otorisasi yang
dapat mengakses basis data.
Metode yang bisa digunakan untuk melakukan user authorization adalah
sebagai berikut :
1) Metode one-time authorization, yang memberikan seluruh hak dari user
hanya dengan satu kali proses authorization.
2) Metode per service authorization, yang membuat user harus diotorisasi
berkali-kali ketika ingin menggunakan servis tertentu. Authorization juga
bisa dibuat per user berdasarkan list yang ada di server security atau bila
protokolnya mendukung otorisasi bisa diberlakukan per group user.
g. Support for data communication
Kemampuan BDMS berintegrasi dengan perangkat lunak komunikasi dan
dapat mengakses basis data dari lokasi yang jauh.
h. Intergrity service
Menyediakan aturan bahwa data dalam basis data dan perubahannya harus
mengikuti aturan tertentu.
15
i. Service to promote data independence
DBMS harus mengikutsertakan fasilitas untuk mendukung program
independen dari struktur basis data.
j. Utility service
DBMS harus menyediakan layanan utilitis lainnya, contohnya adalah
fasilitas impor, monitoring, analisis statistik, indexing, serta gerbage
collection dan reallocation.
2.1.4. Structured Query Language (SQL)
Menurut (Abdul Kadir, 2001, p101), SQL merupakan bahasa query standar
yang digunakan untuk mengakses basis data relasional. SQL tidak hanya disebut
sebagai bahasa query, karena kemampuan SQL tidak terbatas hanya untuk query
(memperoleh data), tetapi juga mencakup kemampuan lain seperti :
a. Pendefinisian struktur data
b. Pengubahan data
c. Pengaturan sekuritas
Beberapa perintah dasar SQL :
Pernyataan
Keterangan
ALTER
Mengubah struktur tabel
COMMIT
Mengakhiri sebuah eksekusi transaksi
CREATE
Menciptakan tabel, indeks dan pandangan
16
DELETE
Menghapus baris pada tabel
DROP
Menghapus tabel, indeks atau pandangan
GRANT
Menugaskan hak terhadap basis data kepada pengguna atau grup
pengguna
2.1.4.1. Data Definition Language (DDL)
DDL
merupakan
kelompok
perintah
yang
berfungsi
untuk
mendefinisikan atribut-atribut basis data, tabel, atribut (kolom), batasan-batasan
terhadap suatu atribut, serta hubungan antar tabel.
Yang termasuk dalam kelompok DDL ini adalah :
a. CREATE
b. ALTER
c. DROP
2.1.4.2. Data Manipulation Language (DML)
DML adalah kelompok perintah yang berfungsi untuk memanipulasi data
dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan
penghapusan data. Perintah yang termasuk kategori DML adalah :
a. SELECT
b. INSERT
c. DELETE
d. UPDATE
17
2.1.5. Siklus Hidup Aplikasi Sistem Basis Data
Menurut (Connolly dan Begg, 2005, p282), sistem basis data adalah komponen
pokok dari sebuah sistem informasi, dan perkembangan serta penggunaannya harus
dilihat dari sudut pandang kebutuhan perusahaan yang lebih besar. Pengertian sisitem
informasi adalah sumber-sumber mengenai koleksi, manajemen, kontrol dan
diseminasi informasi perusahaan.
18
Tahapan siklus daur hidup aplikasi database dapat dilihat pada Gambar 2.1..
Gambar 2.1. Siklus Daur Hidup Aplikasi Basis Data
(Sumber : Connolly dan Begg, 2005, p284)
19
Berikut ini adalah keterangan dari tahapan-tahapan di atas (Connolly dan Begg,
2005, p285-306) :
a. Perencanaan Basis Data (Database Planning)
Dalam
tahap
ini
dilakukan
perencanaan
bagaimana
tahapan-tahapan
perencanaan berikutnya dapat direalisasikan.
b. Pendefinisian Sistem (System Definition)
Tahap ini mendefinisikan ruang lingkup dari sistem basis data, pengguna dan
aplikasinya.
c. Pengumpulan dan Analisa Kebutuhan (Requirement Collection and Analysis)
Pada tahap ini dilakukan pengumpulan dan analisis kebutuhan pengguna dan
lingkungan aplikasi.
d. Perancangan Basis Data (Database Design)
Pada tahap ini dilakukan perancangan basis data yang terdiri dari tiga fase
utama :
1) Perancangan basis data konseptual, yaitu proses pembuatan sebuah model
dari suatu informasi yang digunakan dalam sebuah perusahaan yang bebas
dari pertimbangan fisik.
2) Perancangan basis data logikal, yaitu proses pembuatan sebuah model dari
suatu informasi yang digunakan dalam sebuah perusahaan yang berdasarkan
pada model data spesifik, tetapi bebas dari DBMS tertentu dan
pertimbangan fisik lainnya.
3) Perancangan basis data fisikal, yaitu proses yang menghasilkan deskripsi
implementasi basis data tempat penyimpanan kedua, menjelaskan relasi
20
dasar (base relation), file organisasi, dan indeks yang digunakan untuk
mendapatkan akses ke data yang efisien, dan intergrity constraint yang
berhubungan serta pengukuran keamanan.
e. Pemilihan DBMS (Opsional)
Pada tahap ini dilakukan pemilihan DBMS yang tepat untuk mendukung
aplikasi basis data.
f. Perancangan Aplikasi (Application Design)
Tahap ini dilakukan untuk merancang interface bagi pengguna dan program
aplikasi yang menggunakan dan memproses basis data.
g. Prototyping (Opsional)
Tahap ini dilakukan untuk membangun model aplikasi basis data yang sudah
dapat bekerja, yang membolehkan perancang atau user untuk mengevaluasi
hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimilikinya.
h. Implementasi (Implementation)
Tahap ini merupakan realisasi fisik dari perancangan basis data dan aplikasi.
Implementasi basis data dicapai dengan menggunakan Data Definition
Language (DDL) dari DBMS yang dipilih atau Graphical User Interface
(GUI).
i. Loading dan Konversi data (Data conversion and Loading)
Tahap ini merupakan proses untuk transfer data yang telah ada ke dalam basis
data yang baru dan mengkonversi aplikasi yang telah ada untuk dapat berjalan
pada basis data yang baru.
21
j. Pengujian (Testing)
Pengujian merupakan proses mengeksekusi program aplikasi denagn tujuan
untuk mencari error.
k. Operasi pemeliharaan (Operational Maintenance)
Operasi pemeliharaan berfungsi untuk memonitor aplikasi sistem yang sudah di
implementasikan.
2.1.6. Entity-Relationship Modeling
Menurut (Connolly dan Begg, 2005, p342), Entity–Relationship Modeling
adalah model konseptual yang menjabarkan hubungan antara penyimpanan dan
hubungan data. ER modeling merupakan sebuah pendekatan top-down pada desain
basis data yang dimulai dengan mengidentifikasi entitas dan relationship antara data
yang harus direpresentasikan dalam model.
2.1.6.1. Tipe Entiti (Entity Type)
Menurut (Silberscahatz, 2002, p8), entiti pada basis data di gambarkan
sebagai kumpulan dari atribut. Contoh : loan-number dan amount terdapat pada
sebuah account pada bank dan termasuk dalam entiti loan. Dan customer, id
customer, alamat customer dan kota customer termasuk dalam entiti customer.
Entiti sendiri terbagi menjadi dua :
22
a. Strong entity
Adalah entiti yang bisa berdiri sendiri tanpa bergantung pada entiti lainnya
dan bisa muncul dengan sendirinya.
Contoh : entiti produk, karyawan dan lain sebagainya.
b. Weak entity
Adalah entiti yang keberadaannya bergantung pada entiti lain.
Contoh : entiti-entiti yang berhubungan dengan detail.
2.1.6.2. Tipe Relasi (Relationship Type)
Tipe relasi merupakan sekumpulan relasi antar tipe entiti yang memiliki
arti. Relationship Occurrence adalah sebuah relasi yang dapat diidentifikasikan
secara unik, yang meliputi sebuah kejadian dari setiap tipe entiti didalam
realtionship. Seperti terlihat pada Gambar 2.2..
Gambar 2.2. Contoh Representasi Diagram dari Tipe Relasi
(Sumber : Connolly dan Begg, 2005, p347)
23
Derajat dari relasi adalah jumlah entitas yang berpartisipasi dalam suatu relasi.
terdiri dari :
a. Binary relationship
Adalah relasi yang berderajat dua. Seperti contoh pada Gambar 2.3..
Gambar 2.3. Contoh Binary Relationship
(Sumber : Connolly dan Begg, 2005, p348)
b. Ternary relationship
Adalah relasi yang berderajat tiga. Seperti contoh pada Gambar 2.4..
Gambar 2.4. Contoh Ternary Relationship
(Sumber : Connolly dan Begg, 2005, p348)
24
c. Quarternary relationship
Adalah relasi yang berderajat empat. Seperti contoh pada Gambar 2.5..
Gambar 2.5. Contoh Quarternary Relationship
(Sumber : Connolly dan Begg, 2005, p349)
d. Unary relatinship atau Recursive relationship
Adalah sebuah tipe relasi dimana entiti yang sama berpartisipasi lebih dari
satu peran yang berbeda. Seperti contoh pada Gambar 2.6..
25
Gambar 2.6. Contoh Unary Relationship
(Sumber : Connolly dan Begg, 2005, p349)
2.1.6.3. Atribut (Attribute) dan Key
Atribut adalah properti dari sebuah entitas atau tipe relasi (Connolly dan
Begg, 2005, p350).
Macam-macam atribut yaitu (Connolly dan Begg, 2005, p351-352) :
a. Simple and composite attribute
Komponen tunggal dengan keberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecil lagi. Sedangkan composite attribute
yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing
komponen memiliki keberadaan yang independen.
b. Single-valued and multi-valued attribute
Single-valued attribute yaitu atribut yang mempunyai nilai tunggal untuk
setiap kejadian. Sedangkan multi-valued attribute yaitu atribut yang
mempunyai beberapa nilai untuk setiap kejadian.
26
c. Derived attribute
Derived attribute yaitu atribut yang memiliki nilai yang dihasilkan dari satu
atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas.
Key Menurut (Connolly dan Begg, 2005, p352-353), ada tiga jenis key yaitu :
a. Candidate key
Candidate key yaitu jumlah minimal atribut-atribut yang secara unik
mengidentifikasikan setiap kejadian dari tipe entitas.
b. Primary key
Primary key yaitu candidate key yang dipilih untuk mengidentifikasikan
setiap kejadian dari suatu tipe entitas secara unik.
c. Composite key
Composite key yaitu candidate key yang terdiri dari dua atau lebih atribut.
2.1.6.4. Structural Constraints
Menurut (Connolly dan Begg, 2005, p356), batasan utama pada relasi
disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin terjadi
pada suatu entitas yang terhubung kesatu kejadian dari entitas lain yang
berhubungan melalui suatu relasi.
27
Relasi yang paling umum adalah binary relationship. Macam-macam
binary relationship yaitu :
a. Relasi One-to-One (1:1)
Relasi yang terjadi jika suatu entiti tunggal berelasi dengan entiti tunggal
lainnya.
b. Relasi One-to-Many (1:*)
Relasi yang terjadi jika suatu entiti tunggal berelasi dengan lebih dari satu
entiti tunggal.
c. Relasi Many-to-Many (*:*)
Relasi yang terjadi jika banyak entiti berelasi dengan banyak entiti lainnya.
d. Cardinality
Cardinality menjelaskan jumlah maksimal dari kejadian relasi yang
diperbolehkan untuk satu entitas yang berpartisipasi dalam satu tipe relasi.
e. Participation
Menentukan apakah seluruh atau sebagian entitas yang berpartisipasi dalam
suatu relasi.
2.1.7. Metodologi Perancangan Basis Data
Perancangan basis data dibagi menjadi tiga tahapan utama yaitu Perancangan
Basis Data Konseptual (Conceptual Database Design), Perancangan Basis Data
Logikal (Logical Database Design) dan Perancangan Basis Data Fisikal (Physical
Database Design).
28
2.1.7.1. Perancangan Basis Data Konseptual
Perancangan basis data konseptual, yaitu proses pembuatan sebuah model
dari suatu informasi yang digunakan dalam sebuah perusahaan yang bebas dari
pertimbangan fisik.
Langkah-langkah perancangan basis data konseptual adalah sebagai
berikut :
Membangun model data lokal konseptual untuk setiap view
a. Identifikasi tipe entiti
Tujuannya untuk mengidentifikasi entiti-entiti untuk model yang akan
dibangun.
b. Identifikasi tipe relasi
Tujuannya untuk mengidentifikasi relasi yang terjadi antar entiti.
c. Identifikasi dan asosiasi atribut dengan tipe entiti dan relasi
Tujuannya untuk mengidentifikasi atribut-atribut yang dimiliki oleh entiti
maupun relasi.
d. Menentukan domain atribut
Tujuannya untuk menentukan batasan nilai yang valid bagi atribut-atribut.
e. Menentukan candidate key dan primary key
Tujuannya untuk mengidentifikasi candidate key untuk setiap entiti, dan
kemudian menentukan primary key.
f. Mempertimbangkan penggunaan konsep enhanced modelling (Opsional)
Tujuannya untuk mempertimbangkan penggunaan konsep-konsep seperti
specialization / generalization, aggregation, ataupun composition.
29
g. Memeriksa model terhadap redudansi
Tujuannya adalah untuk mengecek adanya redudansi pada model dengan
cara :
1) Memeriksa ulang relasi one-to-one (1:1)
2) Menghilangkan relasi yang berulang
3) Mempertimbangkan dimensi waktu
h. Validasi model konseptual terhadap transaksi user
Tujuannya adalah memastikan model konseptual mendukung transaksi–
transaksi yang dibutuhkan.
i. Review model data konseptual dengan user
Meninjau model yang telah dibangun guna memastikan bahwa model
tersebut merupakan representasi yang sesuai.
2.1.7.2. Perancangan Basis Data Logikal
Perancangan Basis Data Logikal, yaitu proses membangun model
informasi yang digunakan perusahaan berdasarkan pada model data spesifik,
terlepas dari DBMS tertentu dan perimbangan fisik lainnya.
Langkah-langkah perancangan basis data konseptual adalah sebagai
berikut :
Membangun dan memvalidasi model data logikal untuk setiap view
a. Menghilangkan fitur yang tidak kompatibel dengan model relational
Tujuan utama langkah ini adalah :
30
1) Menghilangkan relasi many-to-many (*:*)
2) Menghilangkan relasi many-to-many (*:*) recursive
3) Menghilangkan tipe relasi yang kompleks
4) Menghilangkan atribut multi-valued
b. Menurunkan relasi untuk data model logikal
Tujuannya adalah membuat relasi untuk model data logikal untuk
merepresentasikan entitas, relasi dan atribut yang telah diidentifikasi.
Tahapan-tahapan yang dilakukan :
1) Tentukan strong entity (entiti yang keberadaanya tidak tergantung pada
entiti lain).
2) Tentukan weak entity (entiti yang keberadaannya bergantung kepada
entiti lain).
3) One-to-Many (1:*) binary relationship types
4) One-to-One (1:1) binary relationship types
5) One-to-One (1:1) recursive relationship types
6) Superclass/subclass relationship types adalah relasi dimana superclass
entiti merupakan parent dari subclass entiti sebagai child.
7) Many-to-Many (*:*) binary relationship types relasi dimana setiap entiti
dapat mempunyai lebih dari satu relasi dengan entiti lainnya.
8) Complex relationship types
9) Atribut multi-valued
31
c. Memvalidasi relasi dengan normalisasi
Tujuannya adalah untuk memvalidasi relasi pada model data logikal dengan
menggunakan teknik normalisasi.
d. Memvalidasi relasi terhadap transaksi yang dilakukan user
Tujuannya adalah untuk memastikan bahwa relasi dalam model data logikal
mendukung transaksi-transaksi yang diperlukan oleh view.
e. Memeriksa integrity constraint
Tujuannya adalah untuk memeriksa integrity constraint yang dipresentasikan
pada model data logikal. integrity constraint adalah batasan-batasan yang
digunakan agar kelengkapan, keakuratan dan kekonsistensian sistem basis
data terjaga dengan baik.
f. Review model data logikal dengan user
Tujuannya adalah meninjau kembali model data logikal yang telah dibangun
untuk memastikan bahwa model tersebut sesuai dengan representasi yang
sebenarnya dari persyaratan data yang dibutuhkan oleh perusahaan.
g. Menggabungkan model-model data logikal yang ada kedalam model global
(langkah pilihan)
Tujuannya adalah untuk menggabungkan model-model data logikal kedalam
model data logikal global yang merepresentasikan view sistem basis data
kepada semua user.
32
h. Memeriksa perkembangan dimasa yang akan datang
Tujuannya adalah memperkirakan apakah akan terjadi perubahan yang
signifikan pada masa mendatang dan untuk menilai apakah model data
logikal yang ada sekarang dapat mengikuti perubahan tersebut.
2.1.7.3. Perancangan Basis Data Fisikal
Perancangan basis data fisikal, yaitu proses yang menghasilkan deskripsi
implementasi basis data tempat penyimpanan kedua, menjelaskan relasi dasar
(base relation), file organisasi, dan indeks yang digunakan untuk mendapatkan
akses kedata yang efisien, dan intergrity constraint yang berhubungan serta
pengukuran keamanan.
Langkah-langkah perancangan basis data fisikal sebagai berikut :
a. Menerjemahkan model data logikal global terhadap DBMS yang telah
ditentukan
Tujuannya adalah untuk menghasilkan skema relasional sistem basis data
dari model data logikal sehingga dapat diimplementasikan pada DBMS yang
dituju.
1) Desain relasi dasar
Tujuannya adalah untuk menentukan bagaimana relasi dasar akan
direpresentasikan pada DBMS target.
2) Merancangkan representasi derived data
Tujuannya adalah untuk memutuskan bagaimana merepresentasikan data
turunan dalam model data logikal untuk DBMS.
33
3) Desain kendala perusahaan
Tujuannya adalah untuk merancang general constraints pada DBMS
yang dituju.
b. Merancang organisasi file dan indeks
Tujuannya adalah untuk menentukan organisasi file yang optimal untuk
menyimpan relasi dasar dan indeks
yang dibutuhkan untuk mencapai
performa yang dapat diterima, yaitu cara dimana relasi dan tuple disimpan
dalam secondary storage.
1) Analisa transaksi
Tujuannya adalah untuk mengetahui fungsi-fungsi transaksi yang akan
dijalankan pada basis data dan untuk menganalisa transaksi yang penting.
2) Memilih organisasi file
Tujuannya adalah untuk memastikan organisasi file yang efisien untuk
relasi dasar.
3) Memilih indeks
Tujuannya adalah untuk memastikan apakah penambahan indeks akan
meningkatkan performa sistem.
4) Memperkirakan besarnya tempat penyimpanan yang dibutuhkan
Tujuannya adalah untuk memperkirakan besarnya tempat penyimpanan
yang akan dibutuhkan oleh sistem basis data.
34
c. Merancang user view
Tujuannya adalah untuk merancang user view yang teridentifikasi selama
tahap pengumpulan kebutuhan dan analisis pada daur hidup aplikasi basis
data.
d. Merancang mekanisme keamanan
Tujuannya adalah untuk merancang mekanisme keamanan sistem basis data.
Dalam DBMS relational umumnya memiliki dua tipe database security :
1) Sistem keamanan (System security), mencakup akses dan menggunakan
basis data level sistem, seperti username dan password.
2) Keamanan data (Data security), mencakup akses dan menggunakan objek
basis data (seperti relation dan view) .
e. Mempertimbangkan penggunaan dari redudansi yang terkontrol
Tujuannya adalah menentukan apakah penggunaan redudansi terkontrol
yang telah ternormalisasi yang akan dapat meningkatkan performa sistem.
f. Melakukan pengawasan dan pemeliharaan terhadap sistem operasi
Tujuannya adalah untuk mengawasi sistem operasi dan meningkatkan
performa dari sistem untuk memperbaiki rancangan-rancangan yang kurang
sesuai atau sebagai refleksi adanya perubahan kebutuhan.
35
2.1.8. Rancangan User Interface
Perancangan user interface ini menggunakan delapan aturan ini disebut dengan
Eight Golden Rules of Interface Design, yaitu:
a. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang
digunakan pada prompt, menu, serta layar bantuan.
b. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan
interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi,
dan fasilitas makro.
c. Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik.
Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan
umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang
penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu
suara ketika salah menekan tombol pada waktu input data atau muncul pesan
kesalahannya.
d. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian
awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi
bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok
tindakan berikutnya.
36
e. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan
kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan
dengan cepat dan memberikan mekanisme yang sederhana dan mudah
dipahami untuk penanganan kesalahan.
f. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui
kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut
untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.
g. Mendukung tempat pengendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan
yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol
pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna
menjadi inisiator daripada responden.
h. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau
banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup
waktu pelatihan untuk kode dan urutan tindakan.
37
2.1.9. Normalisasi
Menurut (Ema dan Sukrisno, 2005, p73), normalisasi adalah proses untuk
membuat data yang tidak normal menjadi data yang normal.
Menurut (Kusrini, 2007, p40), normalisasi merupakan cara pendekatan dalam
membangun desain logika basis data relasional yang tidak secara langsung berkaitan
dengan model data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar
untuk menghasilkan struktur tabel yang normal.
Dalam perspektif normalisasi sebuah basis data dikatakan baik jika setiap tabel
yang membentuk basis data sudah berada dalam keadaan normal.
Tujuan dari pembuatan normalisasi adalah :
a. Mengurangi redudansi data;
b. Menghindarkan adanya data yang tidak konsisten terutama bila terjadi
penambahan dan penghapusan data sebagai akibat adanya redudansi data;
c. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua
atribut;
d. Membuat model relasional yang lebih informatif.
Berikut adalah proses nornalisasi :
a. Unnormalized Form (UNF)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan
mengikuti format tertentu, dapat saja tidak lengkap dan terduplikasi. Data
dikumpulkan apa adanya sesuai keadaannya.
38
b. Firt Normal Form (1NF)
Suatu tabel dikatakan dalam keadaan First Normal Form (1NF) jika :
1) Tidak ada perulangan record data dalam tabel.
2) Setiap sel memiliki satu nilai saja. Artinya tidak ada perulangan group dan
array.
3) Data yang diinputkan memiliki tipe data yang sama dengan tipe data kolom
dalam tabel.
c. Second Normal Form (2NF)
Suatu tabel dikatakan dalam keadaan Second Normal Form (2NF) jika tabel
tersebut sudah dalam keadaan First Normal Form (1NF) dan jika semua atribut
yang bukan kunci tabel, baik primary key maupun foreign key tergantung pada
semua kunci dalam tabel.
d. Third Normal Form (3NF)
Suatu tabel dikatakan Third Normal Form (3NF) jika tabel tersebut sudah
dalam keadaan Second Normal Form (2NF) dan jika tidak terdapat
ketergantungan yang transitif. Artinya data-data yang mungkin diisi berulangulang dapat dibuat sebuah tabel baru.
e. Boyce Codd Normal Form (BCNF)
Menurut (Connolly dan Begg, 2005,p419), aturan boyce codd adalah sebuah
relasi jika dan hanya jika determinan adalah candidate key.
Pengujian terhadap BCNF dilakukan dengan cara mendefinisikan semua
determinan dan memastikan bahwa semuanya adalah candidate key.
39
Determinan adalah sebuah kelompok atribut dimana beberapa atribut lain
bergantung terhadapnya.
2.2. Beberapa Pengertian dalam Bidang Persediaan dan Penjualan
Pendekatan yang berhubungan dengan topik yang akan dibahas dalam skripsi ini.
2.2.1. Definisi Persediaan
Menurut (Warren, Reeve, Fess, 2005, p355), persediaan adalah untuk
mengindikasikan bahan yang terdapat dalam proses produksi atau yang disimpan
untuk tujuan tersebut dan barang dagang yang disimpan untuk kemudian dijual dalam
operasi normal perusahaan. Dalam hal ini permintaan sumber daya dapat berasal dari
internal dan eksternal.
Menurut (Mulyadi, 2001, p553), sistem persediaan bertujuan untuk mencatat
mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini berkaitan erat
dengan sistem pembelian, sistem retur pembelian, dan sistem akuntansi biaya
produksi. Dalam perusahaan manufaktur, persediaan terdiri dari : persediaan produk
dalam proses, persediaan barang, persediaan penolong, persediaan bahan habis pakai
pabrik, dan persediaan suku cadang.
Ada dua macam metode pencatatan persediaan yaitu :
a. Metode mutasi persediaan (perpetual inventory method)
Setiap mutasi persediaan dicatat dalam kartu persediaan.
40
b. Metode persediaan fisik (physical inventory method).
Dalam metode mutasi hanya tambahan persediaan dari pembelian saja yang
dicatat sedangkan mutasi berkurangnya persedian karena pemakaian tidak
dicatat dalam kartu persediaan.
Menurut (Mulyadi, 2001, p560), sistem dan prosedur yang bersangkutan dengan
sistem persediaan adalah :
a. Prosedur pencatatan produk jadi.
Prosedur ini merupakan salah satu prosedur dalam sistem akuntansi biaya
produksi. Dalam prosedur ini dicatat harga pokok produksi jadi yang di
debitkan ke dalam rekening persediaan produk jadi dan dikreditkan ke dalam
rekening barang dalam proses. Datatan akuntansi yang digunakan adalah kartu
gudang, kartu persediaan, dan jurnal umum.
b. Prosedur pencatatan harga pokok produk jadi yang dijual.
Prosedur ini merupakan salah satu prosedur dalam sistem penjualan disamping
prosedur lainnya seperti prosedur order penjualan, prosedur persetujuan kredit,
prosedur pengiriman barang, prosedur penagihan, prosedur pencatatan piutang.
Catatan akuntansi yang digunakan adalah kartu gudang, kartu persediaan,
jurnal umum.
c. Prosedur pencatatan harga pokok produk jadi yang diterima kembali dari
pembeli.
Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur
penjualan. Jika produk jadi yang telah dijual dikembalikan oleh pembeli, maka
41
transaksi retur penjualan ini akan mempengaruhi persediaan produk jadi.
Catatan akuntansi yang digunakan adalah : kartu gudang, kartu persediaan, dan
jurnal umum atau jurnal retur persediaan, jika perusahaan menggunakan jurnal
khusus.
d. Prosedur pencatatan tambahan dan penyesuaian kembali harga pokok
persediaan produk dalam proses. Pencatatan persediaan produk dalam proses
umumnya dilakukan oleh perusahaan pada akhir periode, pada saat dibuat
laporan keuangan bulanan dan laporan keuangan tahunan.
e. Prosedur pencatatan harga pokok persediaan yang dibeli.
Prosedur ini merupakan salah satu prosedur yang membentuk sisem pembelian.
Dalam prosedur ini dicatat harga pokok persediaan yang dibeli.
f. Prosedur pencatatan harga pokok persediaan yang dikembalikan kepada
pemasok.
Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur
pembelian. Jika persediaan yang telah dibeli dikembalikan kepada pemasok.
g. Prosedur permintaan dan pengeluaran barang gudang
Proses ini merupakan salah satu prosedur yang membentuk system akuntansi
biaya produksi. Dalam prosedur ini dicatat harga pokok bahan baku, bahan
penolong, bahan habis pakai pabrik, dan suku cadang yang dipakai dalam
kegiatan produksi dan nonproduksi.
h. Prosedur pengembalian barang gudang
Prosedur ini melakukan transaksi pengembalian barang gudang mengurangi
biaya dan menambah persediaan barang di gudang.
42
i. Sistem perhitungan fisik persediaan
Sistem perhitungan fisik persedian umumnya digunakan oleh perusahaan untuk
menghitung secara fisik persediaan yang disimpan di gudang yang hasilnya
digunakan untuk meminta pertanggungjawaban bagian gudang mengenai
pelaksanaan fungsi penyimpanan, dan bertanggungjawab bagian kartu
persediaan mengenai keandalan catatan persediaan yang diselenggarakan, serta
untuk melakukan penyesuaian terhadap catatan persediaan di bagian kartu
persediaan.
2.2.2. Definisi Penjualan
Menurut (Mulyadi, 2001, p204), kegiatan penjualan terdiri dari transaksi
penjualan barang atau jasa baik secara kredit aupun tunai. Penjualan menutur cara
bayarnya dapat dibedakan sebagai berikut :
a. Penjualan tunai, yaitu penjualan yang dilaksanakn oleh perusahaan dengan cara
mewajibkan pembeli dengan melakukan pembayaran harga barang terlebih
dahulu sebelum barang diserahkan kepada pembeli.
b. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order
dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk
jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
43
2.2.2.1. Fungsi yang Terkait Dengan Penjualan Tunai
Menurut (Mulyadi,2001,p462) fungsi-fungsi yang terkait dalam sistem
penerimaan kas dari penjualan tunai adalah :
a. Fungi 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.
b. Fungsi kas
Bertanggung jawab sebagai penerima kas dari pembeli.
c. Fungsi gudang
Bertanggung jawab untuk menyiapkan barang yang dipesan oleh pembeli,
serta menyertakan barang tersebut ke fungsi pengiriman.
d. Fungsi pengiriman
Bertanggung jawab untuk membungkus barangdan menyerahkan barang
yang telah di bayar harganya kepada pembeli.
e. Fungsi akuntansi
Bertanggung jawab sebagai pencatat transaksi penjualan dan penerimaan kas
dan pembuat laporan penjualan.
44
2.2.2.2. Dokumen yang Digunakan Dalam Penjualan
Dokumen yang digunakan menurut (Mulyadi, 2001, p214), adalah
sebagai berikut :
a. Surat order pengiriman dan tembusannya
b. Faktur dan tembusan
c. Rekapitulasi harga pokok penjualan
d. Bukti memorial
2.2.2.3. Retur Penjualan
Transaksi retur penjualan terjadi jika perusahaan menerima pengembalian
barang dari pelanggan, karena barang tidak sesuai dengan permintaan.
Ketidaksesuaian tersebut terjadi kemungkinan karena barang yang diterima tidak
cocok dengan spesifikasi yang tercantum dalam surat barang order. Barang
mengalami kerusakan dalam pengiriman atau barang diterima melewati tanggal
pengiriman.
2.2.2.4. Pencatatan Penjualan Barang
Menurut Weygandt, pencatatan penjualan dilakukan pada setiap
taransaksi penjualan yang terjadi untuk memberikan fakta-fakta telah terjadi
penjualan. Secara
umum penjualan terjadi saat barang-barang berpindah dari
penjual ke pembeli. Saat penjualan terjadi, pihak penjual mengeluarkan dokumen
penjualan dalam bentuk invoice penjualan.
45
2.2.2.5. Pengembalian Penjualan
Menurut Weygandt, jika terjadi pengembalian barang karena kerusakan
barang maka harus dilakukan penyesuaian inventori atas barang tersebut dan
biayanya. Hal ini akan menyebabkan contra revenue account atas penjualan.
Pengembalian barang menyebabkan kekurangannya kas.
2.3. Tools
Berikut adalah berbagai macam tools yang digunakan :
2.3.1. Data Flow Diagram
Menurut (whitten, Bentley, dan Dittman, 2004, p362), Data Flow Diagram
(DFD) merupakan model proses yang digunakan untuk menggambarkan aliran data
melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Simbolsimbol yang digunakan pada DFD, yaitu :
a. Entitas eksternal (terminal)
Entitas yang memberikan data kepada sistem (source) atau yang menerima
informasi dari sistem (sink), berada di luar sistem. Simbol yang digunakan :
b. Data flow
Menunjukan aliran data dari satu entitas ke antitas lainnya. Panah
menggambarkan aliran data yang bisa terjadi antara dua proses yang berurutan,
dari data store ke proses atau sebaliknya dari proses ke sink.
46
Simbol yang digunakan :
c. Data store
Data store berfungsi sebagai tempat penyimpanan data. Suatu proses dapat
mengambil data atau memberikan data ke data store. Simbol yang digunakan :
d. Proses
Menggambarkan yang dilakukan oleh sistem. Proses berfungsi untuk
mengubah satu atau beberapa input/ data masukan menjadi output/ data
keluaran sesuai dengan yang diinginkan. Setiap proses memiliki satu atau
beberapa data masukan serta menghasilkan satu atau beberapa data keluaran.
Simbol yang digunakan :
2.3.2. Flowchart
Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program.
Flowchart atau diagram alir memiliki bagan-bagan yang melambangkan fungsi
tertentu. Berikut adalah bagan, nama dan fungsinya yang disajikan pada table berikut :
47
Tabel 2.1. Bagan Flowcart
NO.
NAMA
FUNGSI
1.
TERMINATOR
Awal atau akhir program
2.
FLOW
Arah aliran program
3.
PREPARATION
4.
PROCES
5.
BAGAN
INPUT/OUTPUT
DATA
nilai awal
Proses/pengolahan data
Input/ output data
6.
SUB PROGRAM
Sub program
7.
DECISION
Seleksi atau kondisi
8.
9.
10.
ON PAGE
CONNECTOR
OFF PAGE
CONNECTOR
COMMENT
Inisialisasi/pemberian
Penghubung bagianbagian flowchart pada
halaman yang sama
Penghubung bagianbagian flowchart pada
halaman yang berbeda
Tempat komentar tentang
suatu proses
48
2.3.1. State Transition Diagram
State Transition Diagram adalah suatu diagaram yang menunjukan/
menggambarkan
kejadian
pembentukan
atau
pemberian
sebuah
class,
menggambarkan suatu kejadian transisi dan perubahan keadaaan (dari satu state ke
state lainnya) suatu objek pada sistem sebagai akibat stimulasi yang diterimanya.
State Transition Diagram diciptakan untuk objek-objek yang secara signifikan
mempunyai sifat/ behavior dinamis. Satu class dapat memiliki lebih dari satu state
diagram.
Download