7 BAB 2 TINJAUAN PUSTAKA 2.1. Pendekatan Basis Data 2.1.1

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1. Pendekatan Basis Data
2.1.1. Pengertian Basis Data
Menurut Silberschatz, Korth, dan Sudarshan (2011, p1), basis data adalah
kumpulan data yang berisi informasi yang relevan dengan suatu perusahaan.
Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan
data yang saling berhubungan secara logis dan deskripsi data tersebut dirancang
untuk memenuhi kebutuhan informasi dalam suatu organisasi.
Berdasarkan beberapa pengertian diatas, penulis menyimpulkan bahwa
basis data merupakan kumpulan data yang terintegrasi dan saling berhubungan
secara logis dan dapat digunakan untuk memenuhi kebutuhan suatu organisasi.
2.1.2 Sistem Manajemen Basis Data
Menurut Silberschatz, Korth, dan Sudarshan (2011, p1), Database
Management System (DBMS) adalah kumpulan data yang saling berhubungan
dan suatu set program untuk mengakses data tersebut.
Menurut Connolly dan Begg (2010, p66), Database Management System
(DBMS) adalah sistem yang memungkinkan pengguna untuk mendefinisikan,
membuat, memelihara dan mengendalikan hak ases ke basis data. Fasilitas yang
dapat diberikan oleh sistem manajemen basis data kepada pengguna :
1.
Data Defenition Language (DDL)
Data Defenition Language, memungkinkan pengguna untuk menentukan
tipe data, struktur data dan constraints pada data untuk disimpan ke dalam
basis data.
2.
Data Manipulation Language (DML)
Data
Manipulation
Language,
memungkinkan
pengguna
untuk
melakukan manipulasi data pada basis data, seperti insert, update, delete dan
retrieve data.
3.
Akses yang diberikan Sistem Manajemen Basis Data
a. Sistem keamanan, menjaga basis data dari pengguna yang tidak memiliki
hak ases untuk menggunakannya.
b. Sistem integritas, memelihara konsistensi data yang tersimpan.
7
8
c. Sistem kontrol konkurensi, dapat memberikan hak akses kepada
pengguna lain untuk menggunakan basis data.
d. Sistem kontrol perbaikan, berfungsi untuk memperbaiki basis data ke
kondisi sebelumnya jika terjadi kerusakan pada hardware dan software.
e. Katalog yang dapat diakses pengguna, mendeskripsikan data yang ada
pada basis data.
2.1.3. Relational Data Structure
Menurut Connolly dan Begg (2010, p144), pengertian relasi adalah
sebuah tabel yang memiliki baris dan kolom. Bagian dari relasi data model
mencakup :
1.
Record merupakan setiap baris pada tabel.
2.
Attribute merupakan kolom pada tabel.
3.
Domain merupakan himpunan nilai yang diijinkan untuk satu atau lebih
atribut.
4.
Tuple didefinisikan sebagai baris dalam sebuah tabel.
5.
Degree of relation (Derajat dari suatu relasi) adalah banyaknya atribut
pada suatu relasi dalam basis data.
6.
Cardinality adalah banyaknya tuple atau baris dalam suatu relasi basis
data.
2.1.4. Structure Query Language (SQL)
Menurut Connoly dan Begg, idealnya dari database language atau Query
memugkinkan pengguna untuk:
1.
Membuat basis data dan relasi basis data
2.
Menampilkan perintah management basis data seperti insert, update,
delete data dari sebuah relasi
3.
Menampilkan Query yang complex dan sederhana.
Structure Query Language (SQL) merupakan salah satu contoh
transform-oriented language, atau bahasa yang di design untuk menggunakan
relasi, yang mengubah input menjadi output yang dibutuhkan. Standard SQL
terdapat 2 komponen yaitu :
9
2.1.4.1 Data Manipulation Language (DML)
Menurut Silberschatz, Korth, dan Sudarshan (2011, p13), Data
Manipulation
Language
(DML)
merupakan
suatu
bahasa
yang
memungkinkan pengguna untuk mengakses atau memanipulasi data yang
telah terorganisir oleh model data yang tepat.
Menurut Connolly dan Begg (2010, p92), Data Manipulation Language
(DML) adalah sebuah bahasa yang menyediakan sekumpulan operasi, untuk
mendukung operasi dasar manipulasi data pada basis data.
Operasi manipulasi data terdiri dari (Connolly dan Begg, 2010, p92) :
1. Memasukkan data baru ke dalam basis data
2. Modifikasi data yang tersimpan dalam basis data
3. Menampilkan kembali data di dalam basis data
4. Menghapus data dari basis data
2.1.4.2 Data Definition Language (DDL)
Menurut Silberschatz, Korth, dan Sudarshan (2011, p14), Data Definition
Language (DDL) adalah sebuah bahasa yang memungkinkan seseorang untuk
menentukan tabel, kendala integritas dan pernyataan.
Menurut Connolly dan Begg (2010, p92), Data Definition Language
(DDL) adalah sebuah bahasa yang memungkinkan DBA (Database
Administrator) atau pengguna untuk menggambarkan struktur basis data dan
kontrol akses data ke dalam database.
2.1.5. Fourth Generation Language (4GL)
Fourth Generation Language (4GL) adalah bahasa pemrograman yang
tidak memiliki prosedural, dimana pengguna menyatakan apa yang harus
diselesaikan, bukan menyatakan bagaimana cara menyelesaikannya. Kedua
pernyataan tersebut memiliki pola pikir yang berbeda. Telah dibuktikan bahwa
4GL (Fourth Generation Language) dapat meningkatkan produktivitas.
(Connolly dan Begg, 2010, p94).
4GL mencakup (Connolly dan Begg, 2010, p94) :
1. Presentation languages, seperti query languages dan report generators.
2. Speciality languages, seperti spreadsheets dan database languages.
10
3. Application generators yang mendefinisikan, memasukkan, memperbarui,
dan menerima data dari basis data untuk membangun aplikasi.
4. Bahasa tingkat tinggi yang digunakan untuk menghasilkan kode aplikasi.
2.1.6. Tahapan Database System Development Lifecycle
Menurut Connoly dan Begg (2010, p313) Pada tahapan Database System
Development Lifecyle, merancang database dengan tahapan-tahapannya berikut
diagramnya:
Gambar 2.1. The stages of the database system development lifecycle
2.1.6.1. Database Planning
Menurut Connolly dan Begg (2010, p313), Database planning merupakan
kegiatan
manajemen
yang
memungkinkan
tahapan
siklus
hidup
pengembangan sistem basis data untuk direalisasikan seefisien dan seefektif
mungkin.
Ada 3 permasalahan pokok yang muncul dalam merumuskan suatu
strategi sistem informasi, yaitu :
1. Identifikasi rencana dan tujuan perusahaan dengan penentuan sistem
informasi yang dibutuhkan.
11
2. Evaluasi sistem informasi yang berjalan untuk menentukan kelebihan dan
kekurangan yang ada.
3. Penilaian terhadap peluang-peluang teknologi informasi yang mungkin
mendatangkan keuntungan yang kompetitif.
2.1.6.2. System Definition
Menurut Connolly dan Begg (2010, p316), System definition menjelaskan
batasan-batasan dan ruang lingkup aplikasi basis data dan user view utama.
2.1.6.3.Requirement Collection and Analysis
Menurut Connolly dan Begg (2010, p316), proses pengumpulan dan
analisis informasi merupakan bagian untuk membantu sistem basis data, dan
menggunakan informasi untuk mengidentifikasi kebutuhan sistem yang baru.
Informasi yang dikumpulkan untuk setiap user view utama terdiri dari :
1. Deskripsi data yang digunakan atau dihasilkan
2. Rincian bagaimana data digunakan atau dihasilkan
3. Beberapa kebutuhan tambahan untuk sistem basis data yang baru.
2.1.6.4. Database Design
Menurut Connolly dan Begg (2010, p320), Database design merupakan
proses membuat rancangan yang akan mendukung mission statement dan
mission objectives untuk sistem basis data yang dibutuhkan.
Terdapat tiga fase utama dalam merancang basis data, yaitu :
1. Perancangan basis data konseptual
Merupakan suatu proses pembuatan model dari informasi yang
digunakan dalam perusahaan, independen dari keseluruhan aspek fisik.
Model data dibangun dengan menggunakan informasi dalam spesifikasi
kebutuhan pengguna.
2. Perancangan basis data logikal
Merupakan suatu proses pembuatan model dari informasi yang
digunakan dalam perusahaan berdasarkan model data tertentu, tetapi
independen terhadap DBMS tertentu dan aspek fisik lainnya.
12
3. Perancangan basis data fisikal
Merupakan suatu proses menghasilkan deskripsi implementasi basis
data pada penyimpanan sekunder. Menggambarkan struktur penyimpanan
dan metode akses yang digunakan untuk mencapai akses yang efisien
terhadap data.
2.1.6.5. DBMS Selection
Menurut Connolly dan Begg (2010, p325), DBMS selection merupakan
pemilihan DBMS yang sesuai untuk mendukung sistem basis data.
Langkah-langkah utama untuk memilih sebuah DBMS, yaitu :
1. Mendefinisikan jangka waktu untuk penggunaanya
2. Membuat daftar pendek dua atau tiga produk
3. Mengevaluasi produk
4. Merekomendasikan pilihan dan membuat laporan
2.1.6.6. Application Design
Menurut Connolly dan Begg (2010, p329), Application design merupakan
rancangan user interface dan program aplikasi yang menggunakan dan
mengolah basis data.
2.1.6.7. Prototyping
Menurut Connolly dan Begg (2010, p333), Prototyping merupakan
pembangunan sebuah model kerja sistem basis data.
2.1.6.8. Implementation
Menurut Connolly dan Begg (2010, p333),Implementation merupakan
realisasi fisik basis data dan perancangan aplikasi.
2.1.6.9. Data Conversion and Loading
Menurut Connolly dan Begg (2010, p334), Data Conversion and Loading
merupakan pemindahan semua data yang ada ke dalam basis data baru dan
mengubah semua aplikasi yang ada untuk dijalankan pada basis data baru.
13
2.1.6.10. Testing
Menurut Connolly dan Begg (2010, p334), Testing merupakan proses
menjalankan sistem basis data dengan tujuan untuk menemukan kesalahan.
Pengujian juga diharuskan mencakup kegunaan dari sistem basis data.
Idealnya, sebuah evaluasi harus dilakukan terhadap spesifikasi kegunaan.
Contoh kriteria yang dapat digunakan untuk melakukan evalusi antar lain:
1. Mudah untuk dipelajari atau berapa lama pengguna baru menjadi
produktif dengan sistemyang baru ?
2. Performa seberapa baik sistem tersebut merespon sesuai dengan praktik
kerja pengguna ?
3. Kekuatan seberapa tolerankah sistem dapat bertahan dari kesalahan
pengguna?
4. Kemampuan pemulihan seberapa baik sistem saat pemulihan dari
kesalahan pengguna?
5. Kemampuan beradaptasi seberapa dekat sistem terkait dengan model yang
dikerjakan ?
2.1.6.11. Operational Maintenance
Menurut Connolly dan Begg (2010, p335),Operational Maintenance
merupakan proses mengawasi dan memelihara sistem basis data setelah
proses instalasi.
2.1.7. Entity Relationship Modeling
Menurut Connolly dan Begg (2010, p371), entity relationship modeling
merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat
terhadap data dan penggunaannya di dalam suatu perusahaan. Model
inimenggunakan pendekatan top-down dalam perancangan basis datayang
dimulai dengan mengidentifikasikan data-data terpenting yang disebut dengan
entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam
suatu model.
14
2.1.7.1. Entity Types
Menurut Connolly dan Begg (2010, p372), entitas adalah sekumpulan
objek dengan sifat yang sama, yang diidentifikasi di dalam organisasi karena
keberadaannya yang bebas (independen). Setiap entitas dilambangkan dengan
sebuah persegi panjang yang diberi nama dari entitas tersebut. Nama entitas
biasanya adalah kata benda tunggal.
Gambar 2.2. Entity Types
2.1.7.2 Relationship Types
Tipe relasi adalah sekumpulan asosiasi antara tipe-tipe entitas yang ada
dan mempunyai arti. (Connolly dan Begg, 2010, p374).
Relationship occurence
merupakan
suatu
gabungan
yang dapat
diidentifikasikan secara unik, yang meliputi satu kejadian dari setiap entitas
yang berpartisipasi. (Connoly dan Begg, 2010, p375).
Recursive relationship adalah sebuah tipe hubungan dimana tipe entitas
yang sama dapat berpartisipasi lebih dari sekali pada peran yang berbeda.
(Connolly dan Begg, 2010, p378).
Derajat dari tipe relasi adalah jumlah dari partisipasi tipe entitas dalam
sebuah tipe relasi tertentu. Entitas yang berkaitan dalam sebuah tipe relasi
terkenal sebagai participant dalam relationship. Jumlah dari participant
dalam relationship adalah derajat dari relationship. Oleh karena itu, derajat
dari relationship yang berderajat dua disebut binary, sedangkan relationship
yang berderajat tiga disebut ternary. (Connoly dan Begg, 2010, p376).
Terdapat beberapa macam derajat relasi, yaitu :
1. Binary relationship, yaitu keterhubungan antara dua tipe entitas.
Gambar 2.3. Binary Relationship
15
2. Ternary relationship, yaitu keterhubungan antara tiga tipe entitas.
Gambar 2.4. Ternary Relationship
3. Quaternary relationship, yaitu keterhubungan antara empat tipe entitas.
Gambar 2.5. Quaternary Relationship
4. Relasi rekursif adalah sebuah tipe relasi dimana tipe entitas yang sama
berpartisipasi lebih dari satu kali dalam peranan yang berbeda.
Gambar 2.6. Relasi Rekursif
16
2.1.7.3 Attributes
Attribute merupakan sifat-sifat atau properti dari sebuah tipe entitas atau
tipe relationship. (Connolly dan Begg, 2010, p379).
Domain attribute adalah kumpulan nilai yang diperbolehkan untuk satu
atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai
disebut domain.
Domain akan mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan
fungsi domain di sini sama dengan konsep domain pada model relasional.
Macam-macam atribut yang ada yaitu :
1. Simple / Composite Attribute
Simple Attribute adalah atribut yang terdiri dari satu komponen
tunggal (single) dan keberadaannya independent.
2. Composite Attribute
Composite Attribute adalah atribut yang terdiri dari beberapa
komponen yang keberadaannya independent. (Connolly dan Begg, 2010,
p380).
3. Single-Valued and Multi-Valued Attributes
Single-valued attributed adalah atribut yang menampung nilai tunggal
untuk tiap-tiap kejadian dari suatu tipe entitas. Sebagian besar atribut
adalah bernilai tunggal.
4. Multi-valued attributed
Multi-valued attributed adalah atribut yang dapat menampung banyak
nilai untuk setiap kejadian dari suatu tipe entitas. (Connolly dan Begg,
2010, p380).
5. Derrived Attributes
Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa
atribut lainnya dan tidak harus berasal dari entitas yang sama. (Connolly
dan Begg, 2010, p380).
2.1.7.4. Keys
Tidak boleh ada duplikat yang terjadi pada tuples atau baris disebuah
relasi, sehingga kita perlu mengidentifikasi satu atau lebih atribut yang di
sebut relational keys. Beberapa macam relational keys terdiri dari (Connolly
dan Begg, 2010, p150):
17
1. Super Key merupakan sebuah atau set atribut yang unik dan dapat
mengidentifikasi baris dalam suatu relasi
2. Candidate Key merupakan sejumlah kecil atribut dari entitas yang
mengidentifikasikan setiap kejadian dari entitas tersebut secara unik.
3. Primary
Key
merupakan
candidate
key
yang
dipilih
untuk
mengidentifikasikan setiap kejadian dari entitas secara unik.
4. Alternate Key merupakan kumpulan candidate key yang tidak terpilih
menjadi primary key.
5. Composite Key merupakan candidate key yang terdiri dari dua atau lebih
atribut.
6. Foreign Key sebuah atribut atau sekumpulan atribut pada suatu relasi
yang sama dengan candidate key dari beberapa relasi lainnya.
2.1.7.5 Structural Constraint
Multiplicity adalah jumlah occurence (kejadian) yang mungkin terjadi
pada sebuah tipe entity yang berhubungan ke sebuah occurence dari tipe
entity lain pada suatu relationship. (Connolly dan Begg, 2010, p385).
Tiga macam hubungan binari secara umum yaitu :
1. Derajat hubungan one to one (1:1)
Derajat hubungan 1:1 terjadi bila tiap anggota suatu entitas hanya
boleh berpasangan dengan satu anggota dari entitas yang lain. Dan begitu
juga sebaliknya. Anggota dari entitas yang lain hanya boleh mempunyai
satu anggota dari entitas tersebut.
18
Gambar 2.7. Derajat hubungan One-to-One
2. Derajat hubugan one to many (1:*)
Derajat hubungan 1:* terjadi bila tiap anggota suatu entitas memilik
lebih dari satu anggota dari entitas lain. Dan sebaliknya, entitas yang lain
hanya boleh berpasangan dengan satu anggota dari entitas tersebut.
Gambar 2.8. Derajat hubungan One-to-Many
3. Derajat hubungan many to many (*:*)
Derajat hubungan *:* terjadi apabila tiap anggota suatu entitas
memiliki lebih dari satu anggota dari entitas lain, juga entitas lain
memiliki lebih dari satu anggota dari entitas tersebut.
19
Gambar 2.9. Derajat hubungan Many-to-Many
Multiplicity terdiri dari dua batasan yang terpisah pada sebuah relasi,
yaitu :
1. Cardinality
Mendeskripsikan jumlah maksimum dari kejadian relasi yang
mungkin untuk suatu entitas yang berpartisipasi di dalam suatu tipe
relasi tertentu.
2. Participation
Menentukan
apakah
semua
atau
hanya
sebagian
entitas
berpartisipasi di dalam suatu relasi.
Gambar 2.10. Cardinality and Participation
2.1.8 Metodologi Perancangan Basisdata
Metodologi
desain
adalah
sebuah
pendekatan
terstruktur
yang
menggunakan prosedur, teknik, perangkat dan dokumentasi yang mendukung
dan memfasilitasi proses desain tersebut (Connolly dan Begg . 2011,p66)
2.1.8.1 Perancangan Konseptual
Perancangan Konseptual adalah proses membangun sebuah model data
yang digunakan dalam sebuah perusahaan, yang tidak bergantung pada semua
pertimbangan fisikal .
20
Perancangan konseptual merupakan tahap pertama dimana secara objektif
dilakukan untuk membangun sebuah model data konseptual dari kebutuhan
data sebuah perusahaan.
Langkah –langkah untuk membangun model data konseptual, yaitu :
1. Mengidentifikasi tipe entitas
Tujuannya
adalah
untuk
mengidentifikasi
tipe
entitas
yang
dibutuhkan.
2. Mengidentifikasi tipe relasi
Tujuannya adalah untuk mengidentifikasi relasi penting yang ada
diantara tipe entitas.
3. Mengidentifikasi dan mengasosiasi atribut dengan tipe entitas atau relasi
Tujuannya adalah untuk mengasosiasi atribut dengan tipe entitas atau
tipe relasi yang sesuai.
4. Menentukan domain atribut
Tujuannya adalah untuk menentukan domain untuk atribut pada
model data lokal konseptual.
5. Menentukan atribut candidate key, primary key, dan alternate key
Tujuannya adalah untuk mengidentifikasi candidate key untuk setiap
tipe entitas, dan jika ada lebih dari satu candidate key, maka dipilih satu
untuk menjadi primary key dan yang lain sebagai alternate key.
6. Mempertimbangkan penggunaan konsep enhanced modeling (langkah
optional)
Tujuannya adalah untuk mempertimbangkan penggunaan konsep
enhanced modeling, seperti specialization/generalization, aggregation,
dan composition.
7. Memeriksa model untuk redundansi
Tujuannya adalah untuk memeriksa adanya redundansi/data berulang
pada model.
8. Validasi model konseptual dengan transaksi pengguna
Tujuannya adalah untuk memastikan bahwa model konseptual
mendukung transaksi yang dibutuhkan.
21
9. Meninjau kembali model data konseptual dengan pengguna
Tujuannya adalah untuk meninjau kembali model data konseptual
dengan pengguna untuk memastikan bahwa model tersebut sudah sesuai
dengan representasi yang sebenarnya dari kebutuhan data perusahaan.
2.1.8.2 Perancangan Logikal
Perancangan logikal adalah proses membangun sebuah model data yang
digunakan dalam sebuah perusahaan berdasarkan model data spesifik , tetapi
tidak bergantung pada DBMS tertentu dan pertimbangan fisikal lainnya .
Perancangan ini merupakan tahap kedua dimana secara objektifdilakukan
untuk menerjemahkan model data konseptual menjadi model data logikal dan
kemudian memvalidasi model ini untuk melakakuan pemeriksaaan bahwa
model tersebut sudah benar secara struktur dan mampu mendukung transaksi
yang dibutuhkan .
Langkah-langkah untuk membangun model data logikal, yaitu :
1. Penurunan relasi untuk model data logikal
Tujuannya adalah untuk membuat relasi untuk model data logikal
untuk merepresentasikan entitas, relasi, dan atribut yang telah
diidentifikasi.
2. Validasi relasi menggunakan normalisasi
Tujuannya adalah untuk memvalidasi relasi pada model data logikal
menggunakan normalisasi.
3. Validasi relasi terhadap transaksi pengguna
Tujuannya adalah untuk memastikan bahwa relasi pada model data
logikal mendukung transaksi yang dibutuhkan.
4. Memeriksa integrity constraints
Tujuannya adalah untuk memeriksa integrity constraints yang
direpresentasikan pada model data logikal.
5. Meninjau kembali model data logikal dengan pengguna
Tujuannya adalah untuk meninjau kembali model data logikal dengan
pengguna untuk memastikan bahwa model tersebut sesuai dengan
representasi yang sebenarnya dari kebutuhan data perusahaan.
22
6. Menggabungkan model data logikal menjadi model global (langkah
optional)
Tujuannya adalah untuk menggabungkan model data lokal logikal
menjadi sebuah model data logikal global yang merepresentasikan semua
pandangan pengguna basis data.
7. Memeriksa perkembangan di masa mendatang
Tujuannya adalah untuk menentukan apakah ada perubahan signifikan
yang memungkinkan di masa mendatang dan untuk menilai apakah model
data logikal dapat mengakomodasi perubahan.
2.1.8.3 Perancangan Fisikal
Perancangan fisikal adalah proses yang menghasilkan sebuah deskripsi
implementasi basis data pada secondary storage. Menjelaskan relasi dasar,
organisasi file dan indeks yang digunakan untuk mendapatkan akses yang
efisien terhadap data, dan integrity constraints terkait serta langkah-langkah
keamanan.
Terdapat beberapa tahap untuk membangun model data fisikal, yaitu :
a. Tahap ketiga : Menerjemahkan model data logikal untuk DBMS yang
dituju. Secara objektif dilakukan untuk menghasilkan sebuah skema relasi
basis data dari model data logikal yang bisa diimplementasikan pada
DBMS yang dituju. Tahap ini terdiri dari 3 langkah, yaitu :
1. Merancang relasi dasar
Tujuannya adalah menentukan bagaimana merepresentasikan
relasi dasar yang telah diidentifikasi dalam model data logikal pada
DBMS yang dituju.
2. Merancang representasi dari derived data
Tujuannya adalah menentukan bagaimana merepresentasikan
berbagai derived data yang terdapat dalam model data logikal pada
DBMS yang dituju.
3. Merancang batasan umum
Tujuannya adalah merancang batasan umum pada DBMS yang
dituju.
23
b. Tahap keempat : Merancang organisasi file dan indeks. Secara
objektif dilakukan untuk menentukan organisasi file yang optimal
untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk
mencapai kinerja yang dapat diterima, yaitu keadaan dimana relasi
dan tupel akan disimpan pada secondary storage. Tahap ini terdiri
dari 4 langkah, yaitu :
1. Menganalisa transaksi
Tujuannya adalah untuk mengetahui fungsi dari transaksi yang
akan berjalan pada basis data dan untuk menganalisa transaksi yang
penting.
2. Memilih organisasi file
Tujuannya adalah untuk menentukan organisasi file yang yang
efisien untuk setiap relasi dasar.
3. Memilih indeks
Tujuannya adalah untuk menentukan apakah menambah
indeks akan meningkatkan kinerja sistem.
4. Memperkirakan besarnya tempat penyimpanan yang dibutuhkan
Tujuannya
adalah
untuk memperkirakan besar tempat
penyimpanan yang akan dibutuhkan oleh basis data.
c. Tahap kelima : Merancang user views. Secara objektif dilakukan
untuk merancang user views yang teridentifikasi selama tahap
pengumpulan dan analisa kebutuhan dari siklus pengembangan sistem
basis data.
d. Tahap keenam : Merancang mekanisme keamanan. Secara objektif
dilakukan untuk merancang mekanisme keamanan untuk basis data
yang ditentukan oleh pengguna selama tahap
pengumpulan
kebutuhan dari siklus pengembangan sistem basis data.
e. Tahap
ketujuh
:
Mempertimbangkan
penggunaan
redundansi
terkontrol. Secara objektif dilakukan untuk menentukan apakah
menggunakan redundansi secara terkendali dengan aturan normalisasi
akan meningkatkan kinerja sistem. Tahap ini terdiri dari 7 langkah,
yaitu :
24
1. Menggabungkan relasi one-to-one (1:1)
2. Menduplikasi atribut non-key pada relasi one-to-many (1:*) untuk
mengurangi join
3. Menduplikasi atribut foreign key pada relasi one-to-many (1:*)
untuk mengurangi join
4. Menduplikasi atribut-atribut pada relasi many-to-many (*:*) untuk
mengurangi join
5. Memperkenalkan repeating groups
6. Membuat extract tables
7. Mempartisi relasi-relasi
f. Tahap kedelapan : Mengawasi dan menyempurnakan sistem
operasional. Secara objektif dilakukan untuk mengawasi sistem
operasional dan meningkatkan kinerja sistem untuk memperbaiki
rancangan yang tidak sesuai atau mempertimbangkan adanya
perubahan kebutuhan.
2.1.9 Normalisasi
Menurut Connolly dan Begg (2010, p416), normalisasi adalah sebuah teknik
untuk menghasilkan sekumpulan relasi dengan properti yang diinginkan, yang
akan memberikan kebutuhan data bagi perusahaan. Relasi adalah sebuah tabel
dengan kolom dan baris.
Proses-proses normalisasi terdiri dari (Connolly dan Begg, 2010, p430) :
1. Unnormalized Form (UNF)
Sebuah tabel yang terdiri dari satu atau lebih kelompok yang berulang.
UNF merupakan bentuk awal tabel yang belum di normalisasi. Proses
normalisasi UNF menjadi 1NF melibatkan penghilangan repeating groups.
2. First Normal Form (1NF)
Sebuah relasi dimana titik temu dari setiap baris dan kolom mengandung
satu dan hanya satu nilai saja. Proses normalisasi 1NF menjadi 2NF
melibatkan penghilangan partial dependencies.
25
3. Second Normal Form (2NF)
Sebuah relasi yang telah memenuhi 1NF dan setiap atribut yang bukan
primary key sepenuhnya bergantung secara fungsional pada primary key.
Proses normalisasi 2NF menjadi 3NF melibatkan penghilangan transitive
dependencies.
4. Third Normal Form (3NF)
Sebuah relasi yang telah memenuhi 1NF dan 2NF dan dimana tidak ada
lagi atribut yang bukan primary key bergantung secara transitif pada primary
key.
2.2. Pemahaman Obyek Studi
2.2.1. Sistem Pembelian
Menurut Mulyadi (2001, p299) sistem akuntansi pembelian digunakan
dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan.
Transaksi pembelian dapat 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.
2.2.1.1. Fungsi yang terkait dalam pembelian
Berikut ini fungsi–fungsi yang terkait dalam sistem akuntansi pembelian,
yaitu:
1. Fungsi Gudang
Dalam sistem akuntansi pembelian, fungsi gudang bertanggung jawab
untuk mengajukan permintaan pembelian sesuai dengan posisi persediaan
yang ada digudang dan untuk menyimpan barang dagang yang telah
diterima oleh fungsi penerimaan.
2. Fungsi pembelian
Fungsi pembelian bertanggung jawab untuk memperoleh informasi
mengenai harga barang, menentukan pemasok yang dipilih dalam
pengadaan barang dan mengeluarkan order pembelian kepada pemasok
yang telah dipilih.
26
3. Fungsi penerimaan
Fungsi penerimaan bertanggung jawab untuk melakukan pemeriksaan
terhadap jenis, mutu, dan kuantitas barang yang diterima dari pemasok
berdasarkan pesanan pembelian dan faktur pembelian dari pemasok.
4. Fungsi akuntansi
Fungsi akuntansi yang terkait dalam transaksi pembelian adalah
fungsi pencatat persediaan. Fungsi pencatat persediaan bertanggung
jawab untuk mencatat harga pokok persediaan barang yang dibeli ke
dalam data persediaan.
Sedangkan fungsi pencatatan persediaan bertanggungjawab untuk
mencatat harga pokok persediaan barang dagang yang dibeli ke dalam
kartu persediaan.
2.2.1.2. Jaringan prosedur yang membentuk sistem pembelian
Menurut Mulyadi (2001, p301) jaringan prosedur yang membentuk sistem
akuntansi pembelian adalah :
1. Prosedur permintaan pembelian
Dalam prosedur ini fungsi gudang mengajukan permintaan pembelian
dalam formulir surat perrnintaan pembelian kepada fungsi pembelian.
Jika barang tidak disimpan di gudang, misalnya untuk barang langsung
pakai, fungsi yang memakai barang mengajukan permintaan pembelian
langsung ke fungsi pembelian dengan menggunakan surat permintaan
pembelian.
2. Prosedur permintaan penawaran harga dan pemilihan pemasok
Dalam prosedur ini fungsi pembelian mengirimkan surat permintaan
penawaran harga kepada pemasok untuk memperoleh informasi mengenai
harga
barang dan berbagai syarat pembelian yang lai, untuk
memungkinkan pemilihan pemasok yang akan ditunjuk sebagai pemasok
barang yang diperlukan oleh perusahaan
27
3. Prosedur order pembelian
Dalam prosedur ini fungsi pembelian mengirimkan surat order
pembelian kepada pemasok yang dipilih dan memberitahukan kepada
unit-unit organisasi lain dalam perusahaan, mengenai order pembelian
yang sudah dikeluarkan oleh perusahaan.
4. Prosedur penerimaan barang
Dalam prosedur ini fungsi penerimaan melakukan pemeriksaan
mengenai jenis, kualitas dan mutu barang yang diterima dari pemasok,
dan kemudian membuat laporan penerimaan barang untuk menyatakan
penerimaan barang dari pemasok tersebut.
5. Prosedur pencatatan utang
Dalam prosedur ini fungsi akuntansi memeriksa dokumen-dokumen
yang berhubungan dengan pembelian (surat order pembelian, laporan
penerimaan barang, dan faktur dari pemasok) dan menyelenggarakan
pencatatan utang atau mengarsipkan dokumen sumber sebagai catatan
utang.
2.2.1.3. Dokumen pada sistem pembelian
Menurut Mulyadi (2001, p303) dokumen merupakan bukti untuk merekam
terjadinya transaksi yang dilakukan oleh perusahaan. Adapun dokumen yang
digunakan dalam sistem akuntansi pembelian, antara lain:
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.
2. Surat penawaran harga.
Dokumen ini digunakan untuk meminta penawaran harga bagi barang
yang
pengadaannya
tidak
bersifat
berulang
kali
terjadi
(tidak
repetitif),yang menyangkut jumlah rupiah pembelian pembelian yang
besar.
28
3. Surat order pembelian.
Dokumen ini digunakan untuk memesan barang kepada pemasok
yang telah dipilih dan juga merupakan lembar pertama surat order
pembelian yang dikirim kepada pemasok sebagai order resmi yang
dikeluarkan oleh perusahaan.
4. Laporan penerimaan barang
Dokumen ini dibuat oleh fungsi penerimaan untuk menunjukkan
bahwa
barang
yag
diterima
dari
pemasok
telah
memnuhi
jenis,spesifikasi,mutu,dan kuantitas seperti yang tercantum dalam surat
order pembelian.
5. Surat perubahan order
Kadangkala diperlukan perubahan terhadap isi surat orde pembelian
yang pembelian yang sebelumnya telah diterbitkan. Perubahan tersebut
dapat berupa perubahan kuantitas, jadwal penyerahan barang, spesifikasi,
penggantian (substitusi) atau hal lain yang bersangkutan dengan
perubahan desain atau bisnis
6. Bukti kas keluar
Dokumen ini dibuat oleh fungsi akuntansi untuk dasar pencatatan
transaksi pembelian. Dokumen ini juga berfungsi sebagai perintah
pengeluaran kas untuk pembayaran utang kepada pemasok dan yang
sekaligus berfungsi sebagai surat pemberitahuan kepada kreditur
mengenai maksud pembayaran (berfungsi sebagai remmitance advice).
2.2.2. Sistem Penjualan
Penjualan merupakan sasaran akhir dari kegiatan pemasaran, karena pada
bagian ini ada penetapan harga, diadakan perundingan dan perjanjian serah
terima barang, maupun perjanjian cara pembayaran yang disepakati oleh kedua
belah pihak, sehingga tercapai suatu titik kepuasan (Mulyadi, 2001, P.192).
29
Dalam transaksi penjualan, barang atau jasa baru diserahkan oleh perusahaan
kepada pelanggan apabila perusahaan telah menerima pembayaran tunai dari
pelanggan.
2.2.2.1. Fungsi yang terkait dalam penjualan
Menurut Mulyadi (2001) fungsi yang terkait dalam sistem penjualan kredit,
antara lain:
1. Fungsi penjualan
a. Fungsi penjualan bertanggung jawab melayani kebutuhan pesanan
pelanggan.
b. Fungsi pengiriman
c. Fungsi pengiriman bertanggung jawab untuk menyerahkan pesanan
yang sesuai dengan permintaan pelanggan.
2. Fungsi akuntansi
Fungsi akuntansi bertanggung jawab untuk mencatat transaksi
penjualan di dalam data penjualan.
2.2.2.2. Jaringan prosedur yang membentuk sistem penjualan
Menurut Mulyadi (2001, p219-220) jaringan prosedur yang membentuk
sistem dalam penjualan kredit adalah :
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.
30
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 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 akuntansi tertentu.
2.2.2.3. Dokumen pada sistem penjualan
Dokumen yang digunakan untuk melaksanakan sistem penjualan :
1. Faktur penjualan makanan
Dokumen ini digunakan untuk merekam transaksi penjualan kredit
dengan kartu kredit. Lembar ke-1 dan ke-2 berfungsi sebagai dasar
pembuatan surat tagihan yang secara periodik dibuat oleh fungsi
penagihan dan dikirimkan ke pelanggan. Oleh karena itu, fungsi
pengiriman harus mendapatkan tanda tangan di atas faktur penjualan
kartu kredit lembar ke-1 dan ke-2 pada saat fungsi tersebut menyerahkan
31
barang kepada pelanggan. Lembar ke-3 berfungsi sebagai perintah
kepada gudang untuk menyiapkan barang yang dibutuhkan oleh
pelanggan, dan lembar ke-4 berfungsi sebagai perintah pengiriman
barang kepada fungsi pengiriman. Lembar ke-2 dokumen ini tetap
disimpan di dalam arsip fungsi akuntansi, dan lembar
ke-1 dilampirkan pada surat tagihan yang dikirimkan secara periodik
kepada pelanggan.
2. Surat tagihan
Surat tagihan ini merupakan turnaround document yang isinya dibagi
menjadi dua bagian : bagian atas merupakan dokumen yang harus
disobek dan dikembalikan bersama cek oleh pelanggan ke perusahaan,
sedangkan bagian bawah berisi rincian transaksi pembelian yang
dilakukan pelanggan dalam periode tertentu.
2.3. Tools yang Digunakan
2.3.1 Diagraming Tools
2.3.1.1. Data Flow Diagram (DFD)
Menurut McLeod dan Schell (2007, p167) Data Flow Diagram adalah
representasi grafis suatu sistem yang menggunakan empat bentuk simbol
untuk menggambarkan bagaimana data mengalir melalui proses yang saling
berhubungan.
Simbol merupakan unsur-unsur lingkungan yaitu sistem interface, proses,
aliran data dan penyimpanan data. Diagram yang mendokumentasikan sistem
dengan lebih ringkas disebut dengan diagram konteks dan diagram yang
menyediakan lebih detail disebut diagram gambar n.
Menurut pendapat McLeod dan Schell (2007, p167) terdapat elemenelemen DFD, diantaranya:
1. Environmental elements
Unsur lingkungan yang ada di luar batas sistem. Unsur-unsur ini
menyediakan sistem dengan input data dan menerima output sistem data.
Dalam DFD tidak ada perbedaan dibuat antara data dan informasi. Semua
aliran dianggap sebagai data. Nama entitas sering digunakan untuk
menggambarkan unsur-unsur lingkungan karena mereka menandai titik
32
dimana sistem berakhir. Sebuah entitas direpresentasikan dalam DFD
dengan persegi atau persegi panjang dan diberi label dengan nama unsur
lingkungan.
2. Processes
Proses merupakan sesuatu yang mengubah input menjadi output. Hal
ini dapat diilustrasikan dengan lingkaran, persegi panjang horisontal atau
persegi panjang tegak dengan sudut dibulatkan. Setiap simbol proses
diidentifikasikan dengan label.
3. Data Flows
Sebuah aliran data terdiri dari sekelompok elemen data logis terkait
dengan perjalanan dari satu point atau proses menuju ke proses yang lain.
Panah simbolis digunakan untuk menggambarkan aliran dan dapat ditarik
dengan garis lurus atau garis melengkung.
4. Data Storage
Data storage adalah gudang data.
Gambar 2.11. Notasi Data Flow Diagram (DFD)
33
2.3.1.2. Entity Relationship Diagram (ERD)
Menurut Valacich, George, & Hoffer (2011, p197), Entity relationship
diagram adalah representasi data dari suatu organisasi secara detail, masuk
akal, dan digambarkan dalam grafik.ERD adalah sebuah model yang berasal
dari entitas dalam suatu elemen bisnis, relasi antara entitas dan atribut atau
properti dari entitas dengan relasinya.
ERD memiliki beberapa elemen untuk dalam bentuk notasi dan simbol.
Terdapat tiga elemen yang umum digunakan, yaitu :
1. Entitas
Entitas adalah sebuah obyek yang memiliki sesuatu yang nyata yang
dapat dibedakan antar satu entitas dengan yang lain. Simbol yang umum
digunakan digambarkan dengan persegi panjang.
Karyawan
Gambar 2.12. Simbol Entitas dalam ERD
2. Atribut
Atribut berfungsi untuk mendeskripsikan karakteristik dari entitasentitas yang ada. Isi dari atribut memiliki sesuatu yang dapat
mengidentifikasikan isi tiap elemen. Di dalam entitas minimal memiliki
satu atribut unik, yang disebut primary key.
Karyawan
NIP (PK)
Nama
Alamat
No.Telp
Gambar 2.13. Bentuk Entitas Beserta Atribut
3. Relasi
Relasi merupakan hubungan antara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda. Terdapat beberapa jenis relasi yang
umum digunakan dalam ERD, yaitu:
34
a. One to one
Merupakan derajat hubungan antara entitas 1:1 terjadi bila tiap
anggota suatu entitas hanya boleh berpasangan dengan satu anggota
dari entitas yang lain.
Pasien
1
1
Kendaraan
Ditempatkan
Gambar 2.14. Relasi one to one
b. One to many
Merupakan derajat hubungan yang terjadi bila tiap anggota suatu
entitas boleh berpasangan dengan lebih dari satu entitas yang lain.
Sebaliknya, tiap anggota entitas yang lain hanya boleh berpasangan
dengan satu anggota dari entitas tersebut.
Pegawai
1
M
Proyek
Bekerja
Gambar 2.15.Relasi one to many
c. Many to many
Merupakan derajat hubungan antar entitas yang terjadi bila tiap
anggota suatu entitas boleh berpasangan dengan lebih dari satu
anggota dari entitas lain.
Pegawai
M
M
Bekerja
Gambar 2.16. Relasi many to many
Proyek
35
2.3.1.3. State Transation Diagram
Menurut Whitten (2007, p635) State Transation Diagram merupakan
diagram yang menggambarkan urutan dan variasi layar yang dapat muncul
ketika pengguna menjalankan sistem.
2.3.1.4 Document Flowchart
Menurut Mulyadi (2008, p60) Document Flowchart merupakan diagram
yang menggambarkan sistem akuntansi. Berikut ini beberapa simbol yang
digunakan dalam diagram tersebut.
Gambar 2.17.Simbol Pembuatan Bagan Alir Dokumen
2.3.2. Software Tools
Mengenai software tools O’Brien (2010, p160) membahas bahasa
pemrograman
memungkinkan
pemrogram
untuk
mengembangkan
serangkaian perintah yang membentuk program komputer. Banyak bahasa
pemrograman yang berbeda telah dikembangkan dengan masing-masing
memiliki kosakata, tata bahasa dan penggunaan yang berbeda-beda.
Dalam penyusunan ini, penulis menggunakan beberapa Software Tools,
diantaranya yaitu :
36
1. Database Management System
MySQL
Menurut Paul DuBois (2014) Salah satu bagian dari menggunakan
MySQL adalah memahami bagaimana berkomunikasi dengan server,
bagaimana menggunakan SQL, dan bahasa querynya. Tampilan
antarmuka pemrograman MySQL tersedia untuk banyak bahasa, termasuk
C, C ++, Java, dan PHP
2. Services
Web Server Apache
Apache merupakan web server yang paling banyak digunakan di
internet. Program ini pertama kali di desain untuk sistem operasi UNIX.
Namun,
pada
beberapa
versi
berikutnya
Apache
mengeluarkan
programnya yang dapat dijalankan di Windows NT. Berikut beberapa
program program pendukung Apache :
a. Kontrol Akses
Kontrol ini berjalan berdasarkan nama host atau nomor IP.
b. Common Gateway Interface (CGI)
Practical Extraction and Report Language (perl) merupakan yang
paling banyak digunakan pada CGI, didukung oleh Apache dengan
menempatkannya sebagai modul (mod_perl).
c. Personal Home Page/PHP Hypertext Processor (PHP)
Program ini memiliki metode sejenis CGI, yang memproses teks
dan bekerja di server. PHP didukung oleh Apache dengan
menempatkannya sebagai salah satu modulnya (mod_php).
d. Server Slide Interface (SSI)
Web Server Apache mempunyai kelebihan dari pertimbangan diatas,
yaitu :
1. Apache termasuk dalam kategori freeware.
2. Mudah dalam proses instalasi.
3. Mampu beroperasi pada berbagai platform sistem operasi.
4. Mudah mengatur konfigurasi.
5. Apache menyediakan fitur untuk multihomed dan virtual server.
37
6. Server Apache dapat secara otomatis
berkomunikasi dengan
client browsernya untuk menampilkan tampilan terbaik pada
client broser tersebut.
7. Web Server Apache memiliki beberapa level-level keamanan.
8. Mendukung transaksi yang aman menggunakan SSL (secure
socket layer)
9. Mempunyai kompatibilitas platform yang tinggi.
3. Programming Language
Menurut Andrew Troelsen (2007,p7), C# merupakan bahasa
pemrograman yang serupa tapi tak sama dengan syntax di Java. C# dan
Java pada dasarnya di bangun dari C++. Pada dasarnya ketiga bahasa
pemrograman tersebut memiliki jenis yang sama.
4. Diagram Tools
Microsoft Visio
Microsoft visio atau visio sebuah program aplikasi komputer yang
sering digunakan untuk membuat diagram, diagram alir (flowchart),
brainstorm, dan skema. Jaringan ini menggunakan grafik vektor untuk
membuat diagram-diagramnya.
5. Crystal Report
Definisi crystal report menurut David McAmis (2002, p10), Crystal
Report merupakan desain laporan yang memberikan akses untuk dapat
membuat laporan yang memiliki format dan hasil dari database. Crystal
Report memiliki formula untuk membuat perhitungan data agar dapat
digunakan pada presentasi.
38
2.4 Hasil Rancangan Sistem Basis Data yang Serupa
2.4.1 Analisis dan Perancangan Sistem Basis Data Pembelian, Penjualan
dan Persediaan Pada Restoran Celio Bistro
Hasil
penelitian
pertama
berdasarkan
jurnal
“Analisis
dan
Perancangan Sistem Basis Data Pembelian, Penjualan dan Persediaan
Pada Restoran Celio Bistro” yang disusun pada tahun 2013 oleh
mahasiswa dari Binus University.
Andry, Ernalia Dewi, Amelia Materina (2013) pada penulisan jurnal
ini membatasi ruang lingkup pembahasan pada Restoran Celio Bistro
yang meliputi:
1. Menganalisis informasi yang dibutuhkan dan menunjang dalam
proses operasional pembeliaan, penjualan dan persediaan pada
Celio Bistro.
2. Merancang sistem basis data untuk pembelian, penjualan dan
persediaan pada Celio Bistro.
3. Membuat aplikasi pembelian, penjualan dan persediaan pada
Celio Bistro.
Gambar 2.18 Diagram Konteks Restoran Celio Bistro
39
2.4.2 Analisa dan Perancangan Sistem Manajemen Restoran Pada
Restoran Coto Makassar Marannu
Hasil penelitian jurnal kedua berdasarkan jurnal “Analisa dan
Perancangan Sistem Manajemen Restoran Pada Restoran Coto Makassar
Marannu” yang disusun pada tahun 2013 oleh mahasiswa dari Binus
University.
Zulkifli (2013) pada penulisan jurnal ini membatasi ruang lingkup
pembahasan pada Restoran
Coto Makassar Marannu yang meliputi
bagian :
1. Perancangan sistem pemesanan
2. Perancangan sistem pembayaran
3. Perancangan sistem laporan keuangan
4. Perancangan sistem data restoran
5. Perancangan sistem stok menu
6. Perancangan sistem tampilan pesanan
Gambar 2.19 Diagram Konteks Restoran Coto Makassar Marannu
Download