bab 2 landasan teori 2.1. pendekatan basis...
TRANSCRIPT
10
BAB 2
LANDASAN TEORI
2.1. Pendekatan Basis data
2.1.1. Pengertian Basis data
Menurut Connolly (2005,p15), basis data adalah kumpulan data
yang dihubungkan secara bersama-sama, dan gambaran dari data yang
dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.
Berbeda dengan sistem file yang menyimpan data secara terpisah, pada
basis data, data tersimpan secara terintegrasi. Basis data bukan menjadi
milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang
dapat digunakan bersama.
Menurut Date (2004,11), basis data adalah kumpulan data yang
yang digunakan oleh sistem aplikasi tertentu. Sedangkan sistem basisdata
adalah sistem penyimpanan data yang terkomputerisasi dengan kata lain,
merupakan sistem terkomputerisasi yang bertujuan untuk menyimpan
informasi dan mengijinkan pengguna untuk mengambil dan mengubah
informasi tersebut sesuai kebutuhan.
Menurut O'Brien (2003, p145), basis data adalah sebuah
kumpulan yang terintegrasi dari elemen data yang terhubung secara
logikal. Elemen data mendeskripsikan entitas entitas dan hubungan antar
entitas.
11
Menurut Mannino (2004, p7), database adalah bahasa dan alat-alat
grafis untuk mendefinisikan entity-entity, hubungannya, integrity
constraints, dan hak otorisasi.
2.1.2. Sistem Manajemen Basis data
Definisi Database Management System (DBMS) menurut
Connolly (2005, p16) adalah suatu sistem perangkat lunak yang
memungkinkan user untuk mendefinisikan (define), membuat (create),
memelihara (maintain) database, dan menyediakan kendali (control)
dalam mengakses database.
Menurut Connolly (2005, p16), Fasilitas - fasilitas DBMS
menyediakan fasilitas-fasilitas berikut:
a. Mendefinisikan database, biasanya menggunakan suatu Data
Definition Language (DDL) yang berguna untuk memberikan
fasilitas kepada user untuk mendeklarasikan tipe data, struktur
dan isi data yang disimpan ke dalam database tersebut.
b. Memperbolehkan user untuk menambah data (insert),
mengubah data (update), menghapus data (delete), dan
menemukan data (retrieve). Biasanya dengan menggunakan
suatu Data Manipulation Language (DML). Biasanya ada
suatu fasilitas untuk melayani pengaksesan data yang disebut
sebagai Query Language. Bahasa query yang paling diakui
12
adalah Structured Query Language (SQL), yang secara de
facto merupakan standar bagi DBMS.
c. Selain itu terdapat juga fungsi-fungsi untuk pengendalian
database. Contohnya :
1) Sistem keamanan (Security system), untuk mencegah user
yang tidak berwenang untuk mengakses file-file yang
bukan haknya.
2) Sistem terintegrasi (Integrity system), untuk menjaga
konsistensi data.
3) Sistem kontrol (Concurrency control system), untuk
mengijinkan data dapat dipakai bersama-sama oleh user-
user lainnya.
4) Sistem kontrol pengembalian (Recovery control system),
untuk memperbaiki data-data jika sebelumnya terjadi
kerusakan-kerusakan pada perangkat keras atau perangkat
lunak.
5) Katalog yang dapat diakses user (User accessible
catalog), suatu catatan dari deskripsi data-data dalam
database.
Menurut Connolly (2005, p18), DBMS memiliki 5 komponen
utama, yaitu:
Perangkat keras (Hardware)
13
DBMS membutuhkan perangkat keras untuk menjalankannya.
Contoh : single personal computer, single mainframe
Perangkat lunak (Software)
Karena seluruh kendali DBMS akan dilakukan oleh program
aplikasi maka DBMS harus dapat dihubungkan ke program-
program aplikasinya.
Data
Data yang digunakan oleh suatu organisasi harus didesain
sedemikian rupa sehingga mudah untuk digunakan.
Prosedur (procedures)
Perintah-perintah yang harus dilakukan untuk menjalankan
DBMS ini.
Faktor manusia (People)
Komponen terakhir adalah pengguna(user) yang berkaitan dengan
sistem. Faktor manusia yang terlibat dengan sistem, termasuk
dalamnya adalah : database administrator, perancang database,
pengembang aplikasi dan pemakai akhir.
Komponen-komponen dalam lingkungan DBMS dapat
digambarkan sebagai berikut :
14
Gambar 2.1 Komponen-komponen dalam lingkungan DBMS
(Sumber : Connolly (2005, p19))
Menurut Connolly (2005, p26), DBMS memiliki berbagai
keuntungan, sayangnya penggunaan DBMS masih memiliki kelemahan.
Penyimpanan data dalam bentuk DBMS mempunyai banyak
manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk
flat file atau spreadsheet, di antaranya :
1. Dapat menghindari data-data sama yang disimpan berulang
kali (Control of data redundancy).
2. Data menjadi lebih konsisten (Data consistency).
3. Bisa didapat informasi yang lebih banyak dari kumpulan data-
data yang sama, dengan permasalahan tertentu(More
information from the same amount of data).
4. Data-data yang sama dapat digunakan bersama-sama oleh
user-user yang berbeda-beda (Sharing of data).
5. Meningkatkan keterkaitan antar data (Improved data
integrity).
6. Meningkatkan keamanan (Improved security).
15
7. Membuat suatu standar (Enforcement of standards).
8. Meningkatkan efisiensi kebutuhan (Economy of scale).
9. Kebutuhan-kebutuhan yang berbeda-beda dapat dipenuhi
dengan mudah (Balance of conflicting requirements).
10. Meningkatkan kemampuan akses data dan kecepatan
prosesnya (Improved data accessibility and responsiveness).
11. Meningkatkan produktivitas (Increased productivity).
12. Memudahkan perawatan data (Improved maintenance through
data independence).
13. Meningkatkan keamanan pada data yang dipakai bersama-
sama (Increased concurrency).
14. Mempermudah fungsi back-up dan recovery (Improved
backup and recovery services).
Selain keuntungan juga terdapat kelemahan dari DBMS
dibanding File Based System :
1. Proses di dalamnya lebih rumit (Complexity).
2. Mempunyai kapasitas yang lebih besar jika dibandingkan oleh
masing-masing file pada File Based System (Size).
3. Harganya lebih mahal (Cost of DBMS).
4. Membutuhkan biaya tambahan untuk perangkat keras jika
DBMS yang digunakan menuntut penggunaan jenis perangkat
keras tertentu (Additional hardware costs).
16
5. Membutuhkan proses-proses tambahan jika ingin mengubah
format-format data dari suatu jenis DBMS ke DBMS jenis
lain (Cost of conversion).
6. Kinerja aplikasi tidak berjalan cepat seperti seharusnya karena
adanya DBMS (Performance).
7. Dampak yang lebih berat jika terjadi kesalahan (Higher
impact of a failure).
2.1.3. Structure Query Language
Menurut Connoly (2005,p113), Structure Query Language (SQL)
adalah contoh dari transform oriented language, atau sebuah bahasa yang
didesai untuk menggunakan hubungan untuk mentransformasikan input
menjadi outuput yang dibutuhkan. Sebagai sebuah bahasa, standar ISO
SQL mempunyai dua komponen utama yaitu :
1. DDL - Data Definition Language
Merupakan kumpulan perintah SQL yang digunakan untuk
membuat, mengubah dan menghapus struktur dan definisi
metadata dari objek-objek database.
2. DML - Data Manipulation Language
Merupakan kumpulan perintah SQL yang digunakan untuk
pengolahan isi data di dalam tabel seperti memasukkan,
merubah dan menghapus isi data dan tidak terkait dengan
perubahan struktur dan definisi tipe data dari objek database.
17
2.1.3.1. Data Definition Language
Menurut Connolly (2005, p40), DDL adalah suatu bahasa
yang memperbolehkan Database Administrator (DBA) atau user
untuk mendefinisikan entity, attribute, dan relationship yang
dibutuhkan oleh suatu aplikasi serta menambahkan fungsi-fungsi
khusus tertentu untuk mempermudah atau meningkatkan
keamanan datanya.
DDL adalah kumpulan perintah SQL yang digunakan
untuk membuat (create), mengubah (alter) dan menghapus (drop)
struktur dan definisi tipe data dari objek-objek database.
Hasil kompilasi dari DDL adalah seperangkat tabel yang
disimpan dalam file spesial yang dinamakan sistem katalog.
Sistem katalog ini mengintegrasikan meta-data, data yang
menggambarkan objek dalam basisdata dan membuatnya lebih
mudah untuk diakses.
2.1.3.2. Data Manipulation Language
Menurut Connolly (2005, p40), DML adalah suatu bahasa
yang melakukan operasi-operasi standar pada data yang ada di
dalam database.
Pengoperasian data yang akan dimanipulasi biasanya
meliputi :
1. Penambahan data baru ke dalam database
18
2. Mengubah data yang disimpan ke dalam database
3. Pemanggilan data yang terdapat di dalam database
4. Penghapusan data dari database.
DML sendiri adalah kumpulan perintah SQL yang
berhubungan dengan pekerjaan mengolah data di dalam table dan
tidak terkait dengan perubahan struktur dan definisi tipe data dari
objek database seperti table, column, dan sebagainya.
DML dibedakan menjadi dua tipe yaitu:
1. DML prosedural adalah bahasa yang
memungkinkan pengguna untuk memberi instruksi
ke sistem mengenai data yang dibutuhkan dan cara
pengambilan data.
2. DML non prosedural adalah bahasa yang
memungkinkan pengguna untuk menentukan data
apa yang dibutuhkan daripada bagaimana data
tersebut diambil.
2.1.4. Siklus Hidup Aplikasi Basis data
Basis data merupakan komponen dasar dari sebuah sistem
informasi dan pengembangan serta penggunaannya sebaiknya dipandang
dari perspektif kebutuhan-kebutuhan organisasi yang besar. Oleh karena
itu siklus hidup sebuah sistem informasi organisasi berhubungan dengan
siklus hidup sistem basis data yang mendukungnya. Oleh karena itu
19
perancangan basis data sangat penting untuk mendukung objektifitas dan
operasi-operasi perusahaan.
Siklus hidup aplikasi basis data menurut conolly terdiri dari 11
langkah yaitu Database planning, System Definition, Requirements
collection and analysis, Database design, DBMS selection (optional),
Application design, Prototyping (optional), Implementation, Data
conversion and loading, Testing, dan Operational maintenance
Berikut adalah gambar Siklus Hidup Aplikasi Basis Data.
Gambar 2.2 Siklus Hidup Aplikasi Basis Data. (Sumber: Connolly (2005,p284))
20
2.1.4.1. Database planning
Tahapan ini merencanakan bagaimana langkah-langkah
dalam daur hidup basis data agar dapat diwujudkan seefisien dan
seefektif mungkin. Langkah pertama yang paling penting dalam
perencanaan basis data adalah menggambarkan dengan jelas
mission statement dari proyek basis data, kemudian menentukan
mission objectives di mana tiap-tiap mission objectives dapat
mengidentifikasi tugas-tugas tertentu yang didukung oleh basis
data. Perencanaan basis data harus dapat diintegrasikan dengan
keseluruhan strategi sistem informasi suatu organisasi.
2.1.4.2. System definition
Definisi sistem adalah mendeskripsikan jangkauan dan
batasan dari aplikasi basis data dan pandangan-pandangan utama
para pengguna aplikasi. Sebelum mendesain suatu aplikasi basis
data, terlebih dahulu mengindentifikasikan batasan-batasan dari
sistem yang sedang diteliti dan bagaimana kaitannya dengan
bagian lain dari sistem informasi perusahaan. Hal tersebut
dilakukan untuk memastikan bahwa tidak ada pengguna utama
basis data yang terlupakan ketika dilakukan pengembangan
aplikasi.
21
2.1.4.3. Requirement collection and analysis
Analisis dan pengumpulan kebutuhan merupakan
proses pengumpulan dan analisis informasi tentang bagian
perusahaan yang akan didukung oleh aplikasi basis data,
dan menggunakan informasi ini untuk
mengindentifikasikan kebutuhan pengguna aplikasi
terhadap sistem baru.
Informasi yang dikumpulkan diantaranya :
1. Penjabaran dari data yang digunakan.
2. Detail mengenai bagaimana data digunakan.
3. Kebutuhan tambahan apapun untuk aplikasi
basis data yang baru.
Informasi ini kemudian dianalisis untuk
mengindentifikasikan kebutuhan yang dimasukkan untuk
aplikasi basis data yang baru. Ada 3 macam pendekatan
untuk mengatur kebutuhan dari sebuah aplikasi basis data
dengan berbagai cara pandang pengguna, yaitu :
a. Pendekatan Centralized, kebutuhan untuk tiap
pandangan pengguna disatukan menjadi satu set
kebutuhan untuk aplikasi basis data. Umumnya
pendekatan ini dipakai jika basis datanya tidak
terlalu kompleks.
22
b. Pendekatan View Integration, kebutuhan untuk
tiap pandangan pengguna digunakan untuk
membangun sebuah model data terpisah yang
merepresentasikan tiap pandangan. Hasil dari data
model tersebut kemudian disatukan di bagian
desain basis data.
c. Kombinasi keduanya.
2.1.4.4. Database design
Menurut Connolly (2005, p285), perancangan basis data
merupakan proses pembuatan desain untuk basis data yang akan
mendukung operasional dan sasaran suatu perusahaan.
Ada 2 pendekatan untuk mendesain sebuah basis data,
yaitu :
a. Pendekatan bottom-up, dimulai pada tingkat awal dari atribut
(properti dari entitas dan relasi), melalui analisis dari asosiasi
antar atribut, dikelompokkan menjadi hubungan yang
merepresentasikan jenis-jenis entitas dan hubungan antar
entitas. Pendekatan ini cocok untuk mendesain basis data
yang sederhana dengan jumlah atribut yang tidak banyak.
b. Pendekatan top-down, digunakan pada basis data yang lebih
kompleks. Dimulai dengan pengembangan dari model data
yang mengandung beberapa entitas dan hubungan tingkat
23
tinggi, kemudian menggunakan perbaikan top-down berturut-
turut untuk mengindentifikasikan entitas, hubungan dan
atribut relational tingkat rendah. Pendekatan ini biasanya
digambarkan melalui ER (Entity Relationship).
Pada tahap ini ada bagian yang disebut data modeling,
digunakan untuk membantu pemahaman dari data dan untuk
memudahkan komunikasi tentang kebutuhan informasi.
Kriteria untuk model data, yaitu :
1. Structural validity, konsistensi dengan cara yang
didefinisikan perusahaan dalam menyusun informasi.
2. Simplicity, kemudahan untuk pemahaman baik bagi yang
profesional di bidang sistem informasi maupun pengguna
yang non teknis.
3. Expressibility, kemampuan untuk membedakan antara
data yang berbeda dan hubungan antar data.
4. Non redundancy, pembuangan informasi yang tak ada
hubungannya khususnya, representasi dari tiap potongan
informasi tepatnya hanya sekali.
5. Share ability, tidak spesifik untuk aplikasi dan teknologi
khusus apapun sehingga dapat digunakan oleh banyak
orang.
24
6. Extensibility, kemampuan pengembangan untuk
mendukung kebutuhan baru dengan efek yang minimal
bagi pengguna yang ada.
7. Integrity, konsistensi terhadap cara yang digunakan
perusahaan dalam mengatur informasi.
8. Diagrammatic representation, kemampuan untuk
merepresentasikan sebuah model menggunakan notasi
diagram yang dapat dipahami dengan mudah.
2.1.4.5. DBMS Selection
Menurut Connolly (2005, p295), pemilihan DBMS
merupakan pemilihan DBMS yang sesuai untuk mendukung
aplikasi basis data.
Sesuai dengan Connolly (2005, p296), DBMS Selection
mencakup 4 hal yaitu :
1. Mendefinisikan syarat-syarat referensi studi.
2. Mendaftar 2 atau 3 jenis produk.
3. Mengevaluasikan produk.
4. Merekomendasikan pilihan dan membuat laporan.
2.1.4.6. Application Design
Menurut Connolly dan Begg (2005, 299), perancangan
aplikasi adalah merancang antarmuka pengguna (user interface)
25
dan program aplikasi, yang akan memproses basis data. Dalam
perancangan aplikasi harus memastikan semua pernyataan
fungsional dari spesifikasi kebutuhan pengguna (user requirement
specification) yang menyangkut perancangan aplikasi program
yang mengakses basis data dan merancang transaksi yaitu cara
akses ke basis data dan perubahan terhadap isi basis data
(retrieve, update dan kegiatan keduanya). Antarmuka yang
dirancang harus memberikan informasi yang dibutuhkan,
sehingga pengguna aplikasi mudah mempelajari dan mudah
menggunakannya.
2.1.4.7. Prototyping
Menurut Connolly dan Begg (2005, p304), prototyping
merupakan pembuatan model kerja dari aplikasi basis data, yang
membolehkan perancang atau user untuk mengevaluasi hasil
akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki
sistem.
Tujuan utama dari prototyping yaitu :
1. Menuntun user menggunakan prototype untuk
mengidentifikasikan fitur-fitur agar sistem berjalan dengan
baik.
2. Sebagai sarana pengembangan atau mungkin menambah fitur
baru pada aplikasi basis data.
26
Ada 2 strategi prototyping yang umum digunakan
sekarang yaitu :
1. Requirement prototyping, menggunakan prototype untuk
menetapkan kebutuhan dari tujuan aplikasi basis data. Ketika
kebutuhan sudah terpenuhi, prototype tidak digunakan lagi
atau dibuang (discard).
2. Evolutionary prototype, menggunakan prototype untuk
menetapkan kebutuhan yang selanjutnya dikembangkan
menjadi aplikasi basis data yang bekerja.
2.1.4.8. Implementation
Menurut Connolly dan Begg (2005, p304), pengertian
implementasi yaitu membuat definisi basis data secara eksternal,
konseptual, dan internal termasuk program aplikasi. Implementasi
merupakan realisasi dari basis data dan perancangan aplikasi.
Implementasi basis data dicapai menggunakan Data Definition
Language (DDL) dari DBMS yang dipilih atau Graphical User
Interface (GUI). Pandangan pengguna (userview) lainnya juga
diimplementasikan dalam tahapan ini. Bagian lain aplikasi
program adalah transaksi basis data yang diimplementasikan
dengan meggunakan Data Manipulation Language (DML) dari
sasaran DBMS.
27
2.1.4.9. Data conversion and loading
Menurut Connolly dan Begg (2005, 305), konversi data
dan pemuatan mencakup pengambilan data dari sistem yang lama
untuk dipindahkan ke dalam sistem yang baru. Tahapan ini
memungkinkan pengembang (developer) untuk mengkonversi
dan meggunakan aplikasi program lama untuk digunakan pada
sistem baru. Ketika conversion and loading dibutuhkan,
prosesnya harus direncanakan untuk memastikan kelancaran
transaksi untuk keseluruhan operasi.
2.1.4.10. Testing
Menurut Connolly dan Begg (2005, p305), testing adalah
proses menjalankan aplikasi untuk menemukan kesalahan-
kesalahan. Sebelum digunakan, aplikasi basis data yang baru
dikembangkan harus diuji secara menyeluruh. Dalam kenyataan
testing tidak luput dari kesalahan. Di dalam merancang basis data,
user dari sistem baru seharusnya terlibat di dalam proses testing.
Jika data yang asli digunakan, perlu backup untuk mengantisipasi
kesalahan. Setelah testing selesai, sistem aplikasi siap digunakan
oleh pengguna.
28
2.1.4.11. Operational Maintenance
Menurut Connolly dan Begg (2005, 306), operational
maintenance adalah proses memantau dan memelihara sistem
setelah diinstall. Pada tahap ini sistem beralih ke tahapan
pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan
diantaranya :
1. Memantau kinerja dari sistem.
2. Pemeliharaan dan upgrade aplikasi basis datanya (jika
diperlukan).
2.1.5. Entity-Relationship Modelling
Entity-Relationship Modelling merupakan salah satu model yang
dapat memastikan pemahaman yang tepat terhadap data dan bagaimana
penggunaannya di dalam suatu organisasi (Connolly dan Begg, 2005,
p342). ER Modeling merupakan pendekatan top-down pada perancangan
basis data yang dimulai dengan identifikasi entitas dan relasi antar data
yang harus direpresentasikan di dalam model, dan kemudian
ditambahkan atribut dan setiap constraint pada entitas, relasi, dan
atributnya.
Secara umum simbol yang digunakan untuk ER diagram adalah
sebagai berikut :
- Persegi panjang mewakili himpunan entitas.
- Ellips mewakili atribut.
29
- Jajaran genjang mewakili relasi antar entitas.
- Garis penghubung antara entitas dengan relasi, maupun antara relasi
dengan himpunan atributnya.
2.1.5.1. Entity types
Menurut Connoly (2005,p343), konsep dasar dari model
ER adalah entity types yaitu kumpulan dari objek-objek dengan
sifat (property) yang sama, yang diidentifikasi oleh enterprise
karena keberadaannya yang bebas (independent existence).
Keberadaan objek-objeknya dapat berupa fisik, seperti entity
pegawai, rumah dan pelanggan, maupun berupa abstrak, seperti
entity penjualan, pembelian dan peminjaman. Entity occurences,
yaitu pengidentifikasian objek yang unik dari sebuah tipe entitas.
entity types adalah kumpulan objek yang mempunyai karakteristik
yang sama, dimana telah diidentifikasi oleh perusahaan.
Menurut Silberschatz (2002,p28), entity types adalah
kumpulan dari entity yang memiliki tipe dan karakteristik yang
sama.
Menurut Connoly (2005,p354), Entity dapat
diklasifikasikan menjadi dua yaitu :
1. Strong Entity : entity yang keberadaannya tidak
tergantung kepada entity lain.
30
2. Weak entity : entity yang keberadaannya tergantung dari
entity lain .
Contohnya adalah entitas penjualan dan barang. Di mana
barang merupakan strong entity dan penjualan merupakan weak
entity karena keberadaan entitas penjualan tergantung dari entitas
barang.
2.1.5.2. Relationship types
Menurut Connoly (2005,p346), Relationship types adalah
kumpulan keterhubungan yang mempunyai arti antara tipe entity
yang ada. Relationship occurencess, yaitu keterhubungan yang
diidentifikasikan secara unik yang meliputi keberadaan tiap tipe
entity yang berpartisipasi.
Menurut Connoly (2005,p346), Degree of Relationship
yaitu jumlah tipe entitas yang ada dalam suatu relationship.
Derajat relasi terdiri dari :
1. Binary Relationship
Keterhubungan antar dua tipe entitas.
2. Ternary Relationship
Keterhubungan antar tiga tipe entitas.
3. Quaternary Relationship
Keterhubungan antar empat tipe entitas.
31
4. Recursive Relationship
Keterhubungan antar satu tipe entitas, dimana tipe entitas
tersebut berpartisipasi lebih dari satu kali dengan peran
yang berbeda. Kadang disebut juga unary relationship.
2.1.5.3. Attributes
Menurut Connoly (2005,p350), atribut merupakan sifat-
sifat (property) dari sebuah entity atau tipe relationship. Atribut
domain adalah himpunan nilai yang diperbolehkan untuk satu
atau lebih atribut.
Macam-macam atribut :
1. Simple attribute, yaitu atribut yang terdiri dari satu
komponen tunggal dengan keberadaan yang independen
dan tidak dapat dibagi menjadi yang lebih kecil lagi.
Dikenal juga dengan nama atomic attribute.
2. Composite attribute, yaitu atribut yang terdiri dari
beberapa komponen, dimana masing-masing komponen
memiliki keberadaan yang independen.
3. Single-value attribute, yaitu atribut yang mempunyai nilai
tunggal untuk setiap kejadian dari tipe entity.
4. Multi-value attribute, yaitu atribut yang mempunyai
beberapa nilai untuk setiap kejadian dari tipe entity.
32
5. Derived attribute, yaitu atribut yang memiliki nilai yang
dihasilkan dari satu atau beberapa atribut lainnya yang
berhubungan, dan tidak harus berasal dari tipe entitas yang
sama.
2.1.5.4. Keys
Menurut Connoly (2005,p352), penentuan kunci (key)
merupakan hal yang paling esensial pada basis data relasional.
Kunci bukan hanya sebagai alat untuk mengakses suatu baris
tertentu, tetapi sekaligus juga menjadi pengenal unik dalam suatu
tabel. Akan tetapi perlu juga diketahui bahwa tidak semua kunci
dapat menjadi pengenal yang unik karena terdapat beberapa
istilah kunci. Kunci dapat berupa sebuah atribut atau gabungan
dari beberapa atribut.
Berikut ini adalah penjelasan jenis-jenis kunci yang
digunakan:
1. Candidate key, yaitu jumlah minimal atribut-atribut yang
dapat mengidentifikasi setiap kejadian/record dari tipe
entity secara unik.
2. Primary key, yaitu candidate key yang dipilih untuk
mengidentifikasikan setiap kejadian/record dari suatu tipe
entity secara unik.
33
3. Composite key, yaitu candidate key yang terdiri dari dua
atau lebih atribut.
4. Alternate key, adalah setiap candidate key yang tidak
terpilih menjadi primary key atau biasa disebut dengan
secondary key.
5. Foreign key, adalah sebuah primary key pada sebuah
entity yang digunakan pada entity lainnya untuk
mengidentifikasi sebuah relationship.
2.1.5.5. Structural Constraint
Menurut Connoly (2005,p356), batasan utama pada
relationship disebut multiplicity, yaitu jumlah dari kejadian yang
mungkin terjadi pada suatu tipe entity yang terhubung ke satu
kejadian dari tipe entity lain yang berhubungan melalui suatu
relationship. Relationship yang paling umum adalah binary
relationship.
Macam-macam binary relationship yaitu :
1. One-to-one (1:1)
2. One-to-many (1:*)
3. Many-to-many (*:*)
Menurut Connoly (2005,p363), multiplicity dibentuk dari
dua macam batasan pada relationship yaitu : untuk complex
relationship:
34
• Cardinality adalah nilai maksimum dari
relationship occurences yang mungkin terjadi untuk
sebuah entitas yang ikut serta pada suatu tipe relasi.
• Participation, menentukan apakah semua
atau beberapa entity occurrence yang ikut serta dalam
sebuah relasi.
Participation constraint dibagi menjadi :
1. Mandatory participation, melibatkan semua entity
occurence pada relasi tertentu.
2. Optional participation, melibatkan beberapa entity
occurence pada relasi tertentu.
2.1.6. Metodologi Perancangan Basis data
Perancangan basis data merupakan proses menciptakan
perancangan untuk basis data yang akan mendukung operasi dan tujuan
perusahaan (Connolly,2005,p285)..
Perancangan basis data dibagi dalam 3 tahap yaitu:
1. Perancangan Konseptual / Conceptual database design
2. Perancangan Logikal / Logical Database Design
3. Perancangan Fisikal / Physical Database Design
35
2.1.6.1. Perancangan Konseptual / Conceptual Database Design
Menurut Connolly (2005, p293), perancangan konseptual
adalah proses membangun suatu model berdasarkan informasi
yang digunakan oleh perusahaan atau organisasi, tanpa
pertimbangan perencanaan fisik.
Langkah 1 : Membuat Model Data Konseptual
Bertujuan untuk membangun sebuah model data
konseptual lokal dari sebuah perusahaan untuk setiap view
yang spesifik. Data model konseptual mencakup :
- Entity
- Relationship
- Attribute dan attribute domain
- Primary key dan Alternate key
- Integrity Constraints
Pembuatan conceptual database design untuk setiap view
terdiri dari 9 langkah.
Menurut Connoly (2005,p1327), ada 9 langkah pada
pembuatan model data konseptual:
Langkah 1.1. Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama
yang dibutuhkan. Menentukan entity dapat dilakukan
dengan memeriksa user’s requirement specification.
36
Setelah terdefinisi, entitas diberikan nama yang tepat dan
jelas seperti mahasiswa, dosen, mata_kuliah.
Langkah 1.2. Mengidentifikasikan relationship types
Bertujuan untuk mengidentifikasi suatu relasi yang
penting yang ada antar entitas yang telah diidentifikasi.
Nama dari suatu relasi menggunakan kata kerja seperti
mempelajari, memiliki mempunyai dan lain-lain.
Langkah 1.3. Mengidentifikasi dan menghubungkan attribute
dengan entity atau relationship types
Bertujuan untuk menghubungkan atribut dengan
entitas atau relasi yang tepat. Dalam langkah ini juga
dilakukan indentifikasi simple/composite attribute,
single/multi-valued attribute dan derived attribute.
Langkah 1.4. Menentukan attribute domain
Bertujuan untuk menentukan domain atribut dalam
model data konseptual. Domain adalah sekumpulan nilai
dari satu atau lebih atribut yang menggambarkan nilainya.
Contohnya yaitu menentukan nilai atribut jenis_kelamin
pada entitas mahasiswa dangan ‘M’ atau ‘F’ atau nilai
atribut sks pada entity mata_kuliah dengan ‘1’, ’2’, ‘3’
dan ‘4’.
37
Langkah 1.5. Menentukan atribut candidate, primary key.
Bertujuan untuk mengidentifikasi candidate key
pada setiap entity dan memilih primary key jika ada lebih
dari satu candidate key. Pemilihan primary key didasari
pada panjang dari atribut dan keunikan key di masa
datang.
Langkah 1.6. Mempertimbangkan penggunaan enhance
modeling concepts (optional)
Pada langkah ini bertujuan untuk menentukan
specialization, generalization, aggregation, composition.
Di mana masing-masing pendekatan dapat dilakukan
sesuai dengan kebutuhan yang ada.
Specialization dan generalization adalah proses
dalam mengelompokan beberapa entitas dan
menghasilkan entitas yang baru. Beda dari keduanya
adalah cara pendekatannya, di mana spesialisasi
menggunakan pendekatan top-down dan generalisasi
menggunakan pendekatan bottom-up.
Specialization adalah proses memaksimalkan
perbedaan antar anggota entitas dengan mengidentifikasi
sifat - sifat yang membedakan satu sama lain.
38
Generalization adalah proses meminimalkan
perbedaan antar anggota entitas dengan mengidentifikasi
sifat - sifat yang sama satu dengan yang lain.
Aggregation menggambarkan relasi ‘memiliki’
atau ‘bagian-dari’ antar tipe entitas dimana suatu relasi
hanya akan ada jika telah ada relasi lainnya.
Composition adalah suatu bentuk aggregation
yang spesifik yang mewakili asosiasi antar entitas dimana
ada kepemilikan yang kuat dan ada hubungan – hubungan
antara ‘keseluruhan’ dan ‘bagian’nya
Langkah 1.7. Mengecek redundansi
Bertujuan untuk memeriksa conceptual model
untuk menghindari dari adanya informasi yang redundan.
Yang dilakukan pada langkah ini adalah :
• Memeriksa kembali one-to-one relationship.
Setelah entitas diidentifikasikan maka
kemungkinan ada dua entitas yang mewakili satu
objek. Untuk itu dua entitas tersebut harus di-
merger bersama. Dan jika primary key-nya
berbeda maka harus dipilih salah satu dan lainnya
dijadikan alternate key.
• Menghilangkan relasi yang redundan.
39
Untuk menekan jumlah model data, maka
relasi data yang redundan harus dihilangkan.
Langkah 1.8. Validasi conceptual model terhadap transaksi.
Bertujuan untuk menjamin bahwa conceptual data
model mendukung kebutuhan transaksi pengguna. Dengan
menggunakan model yang telah divalidasi tersebut, dapat
digunakan untuk melaksanakan operasi secara manual.
Ada dua pendekatan yang mungkin untuk menjamin
bahwa local conceptual data model mendukung
kebutuhan transaksi yaitu :
• Mendeskripsikan transaksi secara detail
Memeriksa seluruh informasi (entitas,
relasi, dan atribut) yang diperlukan pada setiap
transaksi yang disediakan oleh model dengan
mendokumentasikan penggambaran dari tiap
kebutuhan transaksi.
• Mengunakan transaktion pathways
Pendekatan ini untuk validasi model data
terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh
setiap transaksi langsung pada diagram ER.
40
Langkah 1.9. Review conceptual data model dengan pengguna.
Bertujuan untuk melihat kembali model data
konseptual dan memastikan bahwa data model tersebut
sudah benar.
2.1.6.2. Perancangan Logikal / Logical Database Design
Logical database design adalah proses pembuatan suatu
model informasi yang digunakan pada perusahan berdasarkan
pada model data yang spesifik, tetapi tidak tergantung dari
Database Management System (DBMS) yang khusus dan
pertimbangan fisik yang lain (Connolly,2005,p294).
Logical database design terdiri dari 2 langkah, yaitu:
1. Pembuatan dan validasi local logical data model untuk
view.
2. Pembuatan dan validasi global logical data model.
Langkah 2 : Membuat dan validasi model data logikal
Bertujuan untuk membuat local logical data model dari
local conceptual data model yang mempresentasikan pandangan
khusus dari perusahaan dan memvalidasi model tersebut untuk
menjamin kebenaran strukturnya (dengan menggunakan teknik
normalisasi) dan menjamin bahwa model tersebut mendukung
41
kebutuhan transaksi. Pembuatan dan validasi local logical data
model untuk view terdiri dari 6 langkah.
Menurut Connoly (2005,p1328), ada 7 langkah pada tahap
pembuatan dan validasi model data logikal:
Langkah 2.1 Penurunan Relasi untuk Model Data Logikal
Membuat relasi dari model data konseptual, untuk
merepresentasikan entitas, relasi, dan atribut yang telah
ditentukan. Tabel di bawah ini menunjukkan bagaimana
memetakan entitas, relasi, dan atribut sebuah relasi
Gambar 2.3 Summary of how to map entities and relationships to relations.
(Sumber : Connolly (2005, p1328))
42
Gambar 2.4 Guidelines for the representation of a superclass/subclass
relationship based on the participation and disjoint constraints
. (Sumber : Connolly (2005, p1329))
Langkah 2.2 Validasi Relasi Menggunakan Normalisasi
Validasikan relasi pada model data logikal menggunakan
teknik normalisasi. Teknik normalisasi akan dibahas lebih lanjut
pada poin 2.1.7. Tujuan langkah ini adalah untuk memastikan
tiap-tiap relasi setidaknya berada dalam bentuk 3NF (Third
Normal Form).
Dengan menggunakan normalisasi, maka model yang
dihasilkan mendekati model dari kebutuhan perusahaan, konsisten
dan memiliki sedikit redundansi dan stabilitas yang maksimum
43
Langkah 2.3 Validasi Relasi Terhadap Transaksi User
Memastikan relasi dalam model data logikal telah
mendukung transaksi yang dibutuhkan. Bertujuan untuk
menjamin bahwa relasi dalam model logikal tersebut mendukung
user’s requirements specification secara detail. Selain itu juga
untuk meyakinkan bahwa tidak ada kesalahan yang muncul
sewaktu membuat suatu relasi.
Langkah 2.4 Memeriksa integrity constraints
Menentukan integrity constraints, di mana mencakup
pemeriksaan kelengkapan Required data, Attribute domain
constraints, Multiplicity, Entity integrity, Referential
integrity,General Constraints.
Langkah 2.5 Mereview logical data model dengan user
Pastikan user menyetujui model data logikal merupakan
representasi nyata terhadap persyaratan data perusahaan.
Langkah 2.6 Mempertimbangkan Perkembangan di masa
depan
Menentukan apakah ada kemungkinan terjadi perubahan
yang besar di masa depan, dan menilai apakah model data logikal
dapat menyesuaikan dengan perubahan tersebut.
44
Langkah 2.7 Melakukan pemilihan DBMS
Menurut Connolly (2005, p295), pemilihan DBMS
merupakan pemilihan DBMS yang sesuai untuk mendukung
aplikasi basis data.
Sesuai dengan Connolly (2005, p296), DBMS Selection
mencakup 4 hal yaitu :
1. Mendefinisikan syarat-syarat referensi studi.
2. Mendaftar 2 atau 3 jenis produk.
3. Mengevaluasikan produk.
4. Merekomendasikan pilihan dan membuat laporan.
2.1.6.3. Perancangan Fisikal / Physical Database Design
Physical database design adalah suatu proses untuk
menghasilkan gambaran dari implementasi basis data pada tempat
penyimpanan, menjelaskan dasar dari relasi, organisasi file dan
indeks yang digunakan untuk efisiensi data dan menghubungkan
beberapa integrity constraints dan tindakan keamanan
(Connolly,2005,p294).
Physical database design terdiri dari 6 langkah(yang akan
menjadi langkah 3-8), yaitu:
1. Menerjemahkan global logical data model untuk target
DBMS.
2. Merancang representasi physical.
45
3. Merancang pandangan pengguna.
4. Merancang keamanan.
5. Mempertimbangkan pengenalan dan redundansi kontrol.
6. Memonitor dan memasang sistem operasi.
Langkah 3 : Menerjemahkan global logical data model untuk
target DBMS.
Bertujuan untuk menghasilkan skema basis data relasional
dalam global logical data model yang dapat diimplemetasikan ke
DBMS. Penerjemahan global logical data model untuk target
DBMS terdiri dari 3 langkah.
Pada tahap penerjemahan global logical data model untuk
target DBMS, langkah-langkah yang dilakukan adalah sebagai
berikut :
Langkah 3.1. Merancang basis relasional (relasi dasar)
Dalam memulai merancang physical design,
diperlukan untuk mengumpulkan dan memahami
informasi tentang relasi yang dihasilkan dari logical
database design. Informasi yang penting bisa didapatkan
dari kamus data dan DDL.
Langkah 3.2. Merancang representasi dari data yang ada
Bertujuan untuk menentukan bagaimana setiap data yang
diperoleh mewakili global logical data model ke dalam DBMS.
46
Langkah 3.3. Merancang General constraints
Bertujuan untuk merancang batasan-batasan
constraints untuk DBMS tujuan.
Langkah 4 : Merancang representasi fisikal.
Bertujuan untuk menentukan organisasi file yang optimal
untuk penyimpanan dan menentukan indeks yang dibutuhkan
untuk meningkatkan performa. Perancangan representasi fisikal
terdiri dari 4 langkah:
Langkah 4.1. Menganalisis transaksi
Bertujuan untuk mengerti fungsi dari transaksi
yang dijalankan pada basis data dan menganalisa transaksi
yang penting. Kriteria kemampuan yang harus
diidentifikasikan dalam menganalisa transaksi adalah :
• Transaksi dapat berjalan secara sering dan akan
mempunyai dampak yang signifikan pada
performa.
• Transaksi yang kritis pada operasi dan bisnis.
• Waktu selama sehari atau seminggu ketika akan
ada permintaan yang tinggi pada saat basis data
dibuat.
47
Langkah 4.2. Memilih organisasi file
Bertujuan untuk menyimpan data secara tepat ke
tempat penyimpanan data. Ada beberapa pilihan struktur
penyimpanan (Silberschatz,2002,p423), yaitu :
- Heap
- Hash
- Sekuensial berindeks
- Clusters
Langkah 4.3. Memilih indeks
Bertujuan untuk meningkatkan performa dalam
suatu sistem basis data. Salah satu pendekatan untuk
memilih organisasi file yang cocok untuk relasi adalah
untuk menyimpan tuples yang tidak disimpan dan dibuat
sebanyak secondary indexes sebagaimana diperlukan.
Oleh karena itu, atribut yang digunakan adalah:
• Atribut yang sering digunakan untuk join
operations untuk membuat lebih efisien.
• Atribut yang sering dipesan untuk mengakses
tuples pada suatu relasi didalam urutan yang
menunjukkan atribut.
48
Langkah 4.4. Memperkirakan kebutuhan ruang
penyimpanan
Bertujuan untuk memperkirakan jumlah ruang
penyimpanan yang akan diperlukan dalam basis data.
Perkiraannya didasari pada ukuran setiap tabel dalam
suatu relasi. Contohnya dalam lima tahun mendatang
berapa kapasitas hard disk yang dibutuhkan untuk
menampung data.
Langkah 5 : Merancang pandangan pengguna.
Bertujuan untuk merancang pandangan pengguna yang
telah diidentifikasi selama mengumpulkan kebutuhan dan
menganalisis langkah dari relasional Database Application
Lifecycle. Contohnya pada branch terdiri dari direktur dan
manajer pandangan.
Langkah 6 : Merancang keamanan.
Dalam sebuah sistem basis data, keamanan adalah elemen
yang sangat penting mengingat isi dari basis data berupa
informasi yang sangat penting.
Menurut Silberschatz (2002,p240) ukuran keamanan yang
dapat diambil untuk melindungi basis data antara lain dari segi :
49
• Sistem basis data : ada beberapa pengguna berwenang
yang dizinkan untuk mengakses bagian basis data tertentu
dan ada para pengguna yang lain hanya diizinkan untuk
membaca data yang diinginkannya, tetapi tidak punya hak
untuk mengubahnya. Kewajiban dari sistem basis data ini
adalah menjaga batasan seperti di atas tetap terjaga.
• Sistem operasi : tidak peduli betapa aman sistem basis
datanya, apabila terjadi kelemahan dalam sistem operasi.
Hal ini sama artinya dengan adanya akses yang tidak
diinginkan dalam basis data. Jadi tingkat keamanan
perangkat lunak dalam sistem operasi sangatlah penting
seperti halnya keamanan yang dilakukan secara fisik.
• Jaringan : seluruh sistem basis data memperbolehkan
untuk mengakses lewat terminal atau jaringan, keamanan
software-level dalam software jaringan sangat penting
sebagai keamanan fisik, keduanya dibutuhkan dalam
internet dan jaringan pribadi.
• Fisik : situs yang mengandung sistem komputer harus
secara fisik aman dari entri secara diam-diam dan bahaya
oleh para penyelundup.
• Manusia : otorisasi pada pengguna harus dilakukan secara
hati-hati untuk mengurangi adanya kejadian dimana
50
pengguna yang berwenang memberikan akses kepada
orang lain dengan imbalan suap atau lainnya.
Langkah 7 : Mempertimbangkan pengenalan dan redundansi
kontrol.
Pada langkah physical database design ini
mempertimbangkan denormalisasi skema relational untuk
meningkatkan performa. Hasil dari normalisasi adalah
perancangan basis data logikal secara structural, konsisten, dan
menekan jumlah redudansi.
Faktor yang perlu dipertimbangkan adalah :
• Denormalisasi membuat implementasi lebih kompleks
• Denormalisasi selalu mengorbankan fleksibilitas
• Denormalisasi akan membuat cepat dalam retrieve data
tetapi lambat dalam update.
Ukuran performa dari suatu perancangan basis data dapat dilihat
dari sudut pandang tertentu yaitu melalui pendekatan efisiensi
data (Normalisasi) atau pendekatan efisiensi proses
(Denormalisasi). Efisiensi data dimaksudkan untuk
meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan
untuk mempercepat proses saat retrieve data dari basis data.
51
Langkah 8 : Memonitor dan memasang sistem operasi.
Bertujuan untuk memonitor sistem operasi, meningkatkan
performa dan menentukan perancangan sistem yang tepat atau
menggambarkan perubahan kebutuhan.
2.1.7. Normalisasi
Menurut Conolly (2005,p388), normalisasi merupakan suatu
teknik untuk menghasilkan suatu relasi yang sangat diperlukan sesuai
dengan kebutuhan data perusahaan.
Tujuan:
1. Meminimasi pengulangan informasi
2. Memudahkan indentifikasi entiti / obyek
3. Mempermudah pemodifikasian data
Proses Normalisasi
1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis
berdasarkan persyaratan tertentu ke beberapa tingkat.
2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu
maka tabel tersebut perlu dipecah menjadi beberapa tabel yang
lebih sederhana sampai memenuhi bentuk yang optimal.
Dalam proses normalisasi membutuhkan beberapa tahap untuk
dapat diimplementasikan. Tahap-tahap normalisasi menurut
(Conolly,2005,p401) adalah :
52
1. Bentuk tidak normal (UNF)
Merupakan bentuk normalisasi dimana terdapat tabel yang
memiliki satu atau lebih data yang berulang.
2. Bentuk normal pertama (1NF)
Merupakan bentuk normalisasi dimana data yang dikumpulkan
menjadi satu field yang sifatnya tidak akan berulang dan tiap field
mempunyai satu nilai. Aturan bentuk normal pertama adalah
suatu bentuk tabel dimana baris dan kolom yang bersilangan
terdiri dari satu data saja.
Langkah-langkahnya :
a. Memisahkan data-data tersebut menjadi perbaris sehingga
pada suatu baris dan kolom yang bersilangan hanya
terdapat 1 data saja.
b. Mengelompokkan data-data yang tidak berhubungan ke
tabel tersendiri.
3. Bentuk normal kedua (2NF)
Merupakan bentuk normalisasi yang menghilangkan perulangan
yang terdapat dalam bentuk normal pertama. Caranya adalah
memecahkan tabel 1NF menurut keterkaitan fungsinya. Dimana
field yang bukan kunci tergantung secara fungsi pada suatu
primary key. Suatu relasi dikatakan sudah memenuhi bentuk
normal kedua bila relasi tersebut sudah memenuhi bentuk normal
53
kesatu dan atribut yang bukan key sudah tergantung penuh
terhadap key-nya.
4. Bentuk normal ketiga (3NF)
Merupakan bentuk normalisasi untuk menormalisasikan transitive
dependency. Memecah tabel dari kolom-kolom yang tidak
tergantung secara langsung dengan primary key suatu tabel.
Sehingga tidak ada field yang bukan primary key tergantung
transitive kepada primary key. Suatu relasi dikatakan sudah
memenuhi bentuk normal ketiga bila relasi tersebut sudah
memenuhi bentuk normal kedua dan atribut yang bukan key tidak
tergantung transitif terhadap key-nya.
5. Bentuk BCNF (Boyce-Codd Normal Form)
Merupakan bentuk normalisasi di mana jika dan hanya jika setiap
determinant adalah candidate key.
2.1.8 Tools yang digunakan
2.1.8.1. ERD
ERD merupakan suatu model untuk menjelaskan
hubungan antar data dalam basis data berdasarkan objek-objek
dasar data yang mempunyai hubungan antar relasi.
Menurut Whitten (2004, p295), ERD atau Entity
Relationship Diagram merupakan sebuah data model yang
menggunakan beberapa notasi untuk menjelaskan hubungan data.
54
Notasi yang dimaksud adalah entitas dan relasinya yang
digambarkan oleh data tersebut. Entitas adalah sebuah class dari
orang, tempat, obyek, kejadian, atau konsep yang dipakai untuk
sebuah data. Atribut merupakan deskripsi properti atau
karakteristik dari entitas, sering disebut sebagai elemen, properti,
field. Cardinality adalah jumlah minimum atau maksimum dari
satu entitas yang berelasi kepada entitas lain. Untuk lebih
lengkapnya, dapat dilihat pada sub bab 2.1.5.
2.1.8.2. DFD
Data Flow Diagram (DFD) adalah alat pembuatan model
yang memungkinkan profesional sistem untuk menggambarkan
sistem sebagai suatu jaringan proses fungsional yang
dihubungkan satu sama lain dengan alur data, baik secara manual
maupun komputerisasi. DFD ini sering disebut juga dengan nama
Bubble chart, Bubble diagram, model proses, diagram alur kerja,
atau model fungsi.
DFD ini adalah salah satu alat pembuatan model yang
sering digunakan, khususnya bila fungsi-fungsi sistem merupakan
bagian yang lebih penting dan kompleks dari pada data yang
dimanipulasi oleh sistem.
Dengan kata lain, DFD adalah alat pembuatan model yang
memberikan penekanan hanya pada fungsi sistem. DFD ini
55
merupakan alat perancangan sistem yang berorientasi pada alur
data dengan konsep dekomposisi dapat digunakan untuk
penggambaran analisa maupun rancangan sistem yang mudah
dikomunikasikan oleh profesional sistem kepada pemakai
maupun pembuat program.
2.1.8.3. Flow Chart
Flow Chart adalah bagan-bagan yang mempunyai arus
yang menggambarkan langkah-langkah penyelesaian suatu
masalah. Flow chart merupakan cara penyajian dari suatu
algoritma.
Pembuatan Flow chart bertujuan untuk menggambarkan
suatu tahapan penyelesaian masalah secara sederhana, terurai,
rapi dan jelas dengan menggunakan simbol - simbol standar.
Flow chart sendiri dibagi menjadi Sistem Flow chart dan
program Flow chart.
Sistem Flow chart menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses pengolahan data serta
hubungan antar peralatan tersebut. Sistem Flow chart tidak
digunakan untuk menggambarkan urutan langkah untuk
memecahkan masalah, melainkan hanya untuk menggambarkan
prosedur dalam sistem yang dibentuk.
56
Contoh penggunaan system flow chart:
Gambar 2.5 Contoh sistem Flowchart
Program Flow chart menggambarkan urutan logika dari
suatu prosedur pemecahan masalah.
Dua jenis metode penggambaran program flow chart :
• Conceptual flow chart, menggambarkan alur pemecahan
masalah secara global
• Detail flowchart, menggambarkan alur pemecahan masalah
secara rinci
untuk lebih jelasnya, kami lampirkan contoh Conceptual flow
chart dan Detail flow chart:
57
Gambar 2.6 Conceptual flowchart
Gambar 2.7 Detail flowchart
58
Simbol yang ada dibagi menjadi tiga kelompok :
1. Flow direction symbols
• Digunakan untuk menghubungkan simbol satu dengan
yang lain
• Disebut juga connecting line
2. Processing symbols
• Menunjukan jenis operasi pengolahan dalam suatu proses
/ prosedur
3. Input / Output symbols
• Menunjukkan jenis peralatan yang digunakan sebagai
media input atau output
Gambar 2.8 Contoh sistem Flowchart 2
59
Tabel 2.1 Flow Direction Symbols
Simbol arus / flow
Fungsi: Menyatakan jalannya arus suatu proses
Simbol communication link
Fungsi: Menyatakan transmisi data dari satu lokasi ke lokasi lain
Simbol connector
Fungsi: Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama
Simbol offline connector
Fungsi: Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang berbeda
60
Tabel 2.2 Processing Symbols
Simbol process
Fungsi: Menyatakan suatu tindakan (proses) yang dilakukan
oleh komputer
Simbol manual
Fungsi: Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer
Simbol decision
Fungsi: Menujukkan suatu kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban : ya / tidak
Simbol predefined process
Fungsi: Menyatakan penyediaan tempat penyimpanan suatu
pengolahan untuk memberi harga awal
Simbol terminal
Fungsi: Menyatakan permulaan atau akhir suatu program
Simbol keying operation
Fungsi: Menyatakan segala jenis operasi yang diproses
dengan menggunakan suatu mesin yang mempunyai
keyboard
Simbol offline-storage
Fungsi: Menunjukkan bahwa data dalam simbol ini akan
disimpan ke suatu media tertentu
61
Simbol manual input
Fungsi: Memasukkan data secara manual dengan
menggunakan online keyboard
62
Tabel 2.3 Input / Output Symbols
Simbol input/output
Fungsi: Menyatakan proses input atau output tanpa tergantung
jenis peralatannya
Simbol punched card
Fungsi: Menyatakan input berasal dari kartu atau output ditulis
ke kartu
Simbol magnetic tape
Fungsi: Menyatakan input berasal dari pita magnetis atau
output disimpan ke pita magnetis
Simbol disk storage
Fungsi: Menyatakan input berasal dari dari disk atau output
disimpan ke disk
Simbol document
Fungsi: Mencetak keluaran dalam bentuk dokumen (melalui
printer)
Simbol display
Fungsi: Mencetak keluaran dalam layar monitor
63
Kaidah Pembuatan Flow chart
Gambar 2.9 Kaidah Pembuatan Flow chart.
Gambar 2.10 Pengolahan data.
64
Menghitung luas persegi panjang
Gambar 2.11 Contoh Proses Menghitung luas persegi panjang.
2.2. Objek Studi
Teori yang berhubungan dengan objek studi yang dibahas dalam skripsi ini,
yaitu:
2.2.1. Persediaan
Persediaan dalam suatu perusahaan adalah faktor pendukung penting
dalam menjalankan operasi perusahaan. Berikut pendapat para ahli tentang
persediaan:
• Menurut Assauri ( 2004, p219 ), persediaan adalah sejumlah bahan -
bahan, parts - parts yang disediakan dan bahan-bahan dalam proses yang
terdapat dalam perusahaan untuk proses produksi, serta barang-barang jadi atau
produk yang dsediakan untuk memenuhi permintaan dari konsumen atau
langganan setiap waktu.
65
• Menurut Handoko ( 2001, p333 ), persediaan adalah suatu istilah umum
yang menunjukan segala sesuatu atau sumber daya organisasi yang disimpan
dalam antisipasinya terhadap pemenuhan permintaan. Permintaan adalah sumber
daya internal maupun eksternal ini, meliputi persediaan bahan mentah, barang
dalam proses, barang jadi atau produk akhir, bahan-bahan pembantu atau
pelengkap, dan komponen – komponen lain yang menjadi bagian keluaran
produk perusahaan.
• Menurut Mulyadi (2001,p553), sistem persediaan bertujuan untuk
mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini
berkaitan erat dengan sistem penjualan, sistem retur penjualan, sistem
pembelian, sistem retur pembelian, dan sistem akuntansi biaya produksi. Dalam
perusahaan manufaktur, persediaan terdiri dari persediaan barang jadi, persedian
produk dalam proses, persediaan bahan baku, persediaan bahan penolong,
persediaan suku cadang. Dalam perusahaan dagang, persediaan hanya terdiri dari
satu golongan, yaitu persediaan barang dagangan yang merupakan barang yang
akan dibeli dengan tujuan untuk dijual kembali.
Dari definisi persediaan diatas maka dapat disimpulkan bahwa
persediaan adalah aset yang sangat penting karena persediaan merupakan barang
yang tersedia untuk dijual (barang dagangan / barang jadi), barang yang masih
dalam proses produksi untuk diselesaikan dan dijual (barang dalam proses
pengolahan) dan barang yang akan dipergunakan untuk produksi barang jadi
yang akan dijual (bahan baku dan bahan pembantu) dalam kegiatan usaha
normal perusahaan.
66
Persediaan meliputi persediaan bahan mentah, barang dalam proses,
barang jadi (produk akhir), bahan pembantu, komponen-komponen lain yang
menjadi bagian keluaran produk perusahaan dan bahan-bahan onderdil yang
dibutuhkan dalam proses produksi.
Menurut Assauri (2004,p214), pada dasarnya terdapat lima catatan yang
paling penting atau utama dalam sistem pengawasan persediaan :
1. Permintaan untuk dibeli (purchase requisition). Dokumen
permintaan pembelian bahan-bahan atau barang-barang dalam
jumlah tertentu yang ditujukan kepada bagian pembelian.
Permintaan tersebut diadakan dengan tujuan untuk menjamin
tersedianya persediaan yang cukup dari bahan-bahan atau barang-
barang tersebut atau mengisi kembali persediaan bila persediaan
bahan-bahan tertentu yang ada akan mendekati titik yang
terendah atau minimum yang telah ditentukan terlebih dahulu.
2. Laporan penerimaan (receiving report). Dokumen yang
memberikan informasi mengenai penerimaan atas barang yang
telah dipesan.
3. Catatan persediaan (balance of stores record). Informasi yang
terdapat dalam dokumen ini berbeda-beda tergantung dari
perusahaan pabrik yang menggunakannya.
4. Daftar permintaan bahan (material requesting form). Formulir
yang dibuat oleh petugas gudang untuk dipergunakan oleh bagi
67
pembelian dalam mengadakan pemesanan bahan-bahan yang
perlu dibeli kembali.
5. Perkiraan pengawasan (control accounting). Catatan yang
digunakan oleh bagian akuntansi untuk mengawasi setiap
pencatatan mutasi persediaan yang dilakukan oleh bagian gudang.
Semua pembelian akan didebit dan semua pemakaian akan
dikredit dalam perkiraan ini. Saldo perkiraan pengawasan harus
sama dengan saldo yang terdapat pada “perpetual inventory
card”. Jika terjadi ketidaksesuaian saldo antara keduanya maka
mengharuskan diadakannya penyelidikan selanjutnya.
Menurut Mulyadi (2001, p556), ada dua macam metode pencatatan
persediaan:
1. Metode mutasi persediaan (Perpetual Inventory Method). Setiap
mutasi persediaan dicatat dalam kartu persediaan.
2. Metode persediaan fisik (Physical Inventory Method). Hanya
tambahan persediaan dari pembelian saja yang dicatat sedangkan
mutasi berkurangnya persediaan karena pemakaian tidak dicatat
dalam kartu persediaan.
68
Menurut Mulyadi (2001, p579), fungsi yang terkait dalam sistem
perhitungan fisik persediaan, yaitu :
1. Panitia perhitungan fisik persediaan berfungsi untuk
melaksanakan perhitungan fisik persediaan dan menyerahkan
hasil perhitungan tersebut kepada bagian kartu persediaan untuk
digunakan sebagai dasar penyesuaian terhadap catatan
persediaan dalam kartu persediaan.
2. Fungsi akuntansi bertanggung jawab untuk :
a. Mencantumkan harga pokok sistem persediaan yang
dihitung dalam daftar hasil perhitungan fisik.
b. Mengalikan kuantitas dan harga pokok persatuan yang
tercantum dalam hasil perhitungan fisik.
c. Mencantumkan harga pokok total dalam daftar hasil
perhitungan fisik.
d. Melakukan penyesuaian terhadap kartu persediaan
berdasarkan data hasil perhitungan fisik persediaan.
e. Membuat bukti memorial untuk mencatat penyesuaian
data persediaan dalam jurnal umum berdasarkan hasil
perhitungan fisik persediaan.
3. Fungsi gudang bertanggung jawab untuk melakukan penyesuaian
data kuantitas persediaan yang dicatat dalam kartu gudang
berdasarkan hasil perhitungan fisik persediaan.
69
Menurut Mulyadi (2001, p559), sistem dan prosedur yang
bersangkutan dengan sistem persediaan adalah :
1. Prosedur pencatatan produk jadi. Prosedur ini merupakan salah
satu prosedur dalam sistem akuntansi biaya produksi. Dalam
prosedur ini dicatat harga pokok produk jadi yang didebitkan
kedalam rekening persedian produk jadi dan dikreditkan ke
dalam rekening barang dalam proses.
2. Prosedur pencatatan harga pokok produk yang dijual. Prosedur
ini merupakan salah satu prosedur dalam sistem penjualan di
samping prosedur lainnya seperti prosedur order penjualan,
prosedur persetujuan kredit, prosedur pengiriman barang,
prosedur penagihan, prosedur pencatatan piutang.
3. Prosedur pencatatan harga yang diterima kembali dari
pembeli.Prosedur ini merupakan salah satu prosedur yang
membentuk sistem retur barang. Jika produk jadi yang telah
dijual dikembalikan oleh pembeli, maka transaksi retur
penjualan ini akan mempengaruhi persediaan produk jadi.
4. Pencatatan persediaan produk dalam proses biasanya dilakukan
oleh perusahaan pada akhir periode, pada saat dibuat laporan
keuangan bulanan dan laporan keuangan tahunan.
5. Prosedur pencatatan harga pokok persediaan yang dibeli.
Prosedur ini merupakan salah satu prosedur yang membentuk
sistem pembelian. Dalam prosedur ini dicatat harga pokok
70
persediaan yang dibeli.
6. 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, maka transaksi retur
pembelian ini akan mempengaruhi persediaan yang bersangkutan.
7. Prosedur permintaan dan pengeluaran barang gudang. Prosedur
ini merupakan salah satu prosedur yang membentuk sistem
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 non produksi.
8. Prosedur pengembalian barang gudang. Prosedur ini melakukan
transaksi pengembalian barang gudang mengurangi biaya dan
menambah persediaan barang di gudang.
9. Sistem perhitungan fisik persediaan. Sistem perhitungan fisik
persediaan 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
pertanggungjawaban bagian kartu persediaan mengenai keandalan
catatan persediaan yang diselenggarakan, serta untuk melakukan
penyesuaian terhadap catatan persediaan di bagian kartu
persediaan.
71
2.2.2 Pembelian
Menurut Mulyadi (2001, p299), pembelian adalah suatu usaha
yang digunakan dalam perusahaan untuk pengadaan barang yang
diperlukan oleh perusahaan. Transaksi pembelian dapat digolongkan
menjadi dua yaitu :
1. Pembelian lokal
Pembelian lokal adalah pembelian dari pemasok dalam negeri.
2. Pembelian impor
Pembelian impor adalah pembelian dari pemasok luar negeri.
Menurut Mulyadi (2001, p301), jaringan prosedur yang membentuk
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.
3. Prosedur order pembelian
Dalam prosedur ini fungsi pembelian mengirim surat order
pembelian kepada pemasok yang dipilih dan memberitahukan
72
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, kuantitas, 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 dan menyelenggarakan
pencatatan utang atau mengarsipkan dokumen sumber sebagai catatan
utang.
6. Prosedur distribusi pembelian
Prosedur ini meliputi distribusi rekening yang didebit dari transaksi
pembelian untuk kepentingan pembuatan laporan manajemen.
Menurut Mulyadi (2001, p299), fungsi yang terkait dalam sistem
pembelian adalah:
1. Fungsi gudang
Dalam sistem akuntansi pembelian, 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.
73
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 dipilih.
3. Fungsi penerimaan
Dalam sistem akuntansi pembelian, fungsi ini bertanggung jawab
untuk melakukan pemeriksaan terhadap jenis, mutu, dan kuantitas
barang yang diterima dari pemasok guna menentukan dapat atau
tidaknya barang tersebut diterima oleh perusahaan.
4. Fungsi akuntansi
Fungsi akuntansi yang terkait dalam transaksi pembelian adalah
fungsi pencatat utang dan fungsi pencatat persediaan. Dalam sistem
akuntansi pembelian, fungsi pencatat utang bertanggung jawab
untuk mencatat transaksi pembelian ke dalam register bukti kas
keluar dan untuk menyelenggarakan arsip dokumen sumber yang
berfungsi sebagai catatan utang atau menyelenggarakan kartu utang
sebagai buku pembantu utang. Dalam sistem akuntansi pembelian,
fungsi pencatat persediaan bertanggung jawab untuk mencatat
harga pokok persediaan barang yang dibeli ke dalam kartu
persediaan.
74
Menurut Mulyadi (2001, p303), beberapa dokumen yang digunakan
dalam sistem pembelian yaitu :
1. Surat permintaan pembelian
2. Surat permintaan penawaran harga
3. Surat order pembelian
4. Laporan penerimaan barang
5. Surat perubahan order pembelian
6. Bukti kas keluar
2.2.3. Penjualan
Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari :
1 Transaksi penjualan barang atau jasa secara kredit.
Dalam transaksi penjualan kredit, jika order dari pelanggan
telah dipenuhi dengan pengiriman barang atau penyerahan jasa,
untuk jangka waktu tertentu perusahan memiliki piutang kepada
pelanggannya. Kegiatan penjualan secara kredit ini ditangani oleh
perusahaan melalui sistem penjualan kredit.
2 Transaksi penjualan barang atau jasa secara tunai.
Dalam transaksi penjualan tunai, barang atau jasa baru
diserahkan oleh perusahaan kepada pembeli jika perusahaan
telah menerima kas dari pembeli. Kegiatan penjualan secara tunai
ini ditangani oleh perusahaan melalui sistem penjualan tunai.
75
Menurut Mulyadi (2001, p210), sistem penjualan kredit adalah penjualan
kredit dilaksanakan oleh perusahaan dengan cara mengirimkan barang sesuai
dengan order yang diterima dari pembeli dan untuk jangka waktu tertentu
perusahaan mempunyai tagiahan kepada pembeli tersebut.
Menurut Mulyadi (2001, p211), fungsi yang terkait dalam sistem
penjualan kredit ini adalah sebagai berikut :
• Fungsi penjualan
Fungsi ini bertanggung jawab untuk menerima surat order dari pembeli,
mengedit order dari pelanggan untuk menambahkan informasi yang
belum ada pada surat order tersebut, meminta otorisasi kredit,
menentukan
tanggal pengiriman dan dari gudang mana barang akan dikirim, dan mengisi
surat order pengiriman.
• Fungsi kredit
Fungsi ini berada di bawah fungsi keuangan yang dalam transaksi
penjualan kredit, bertanggung jawab untuk meneliti status kredit
pelanggan dan memberikan otorisasi pemberian kredit kepada pelanggan.
• Fungsi gudang
Fungsi ini bertanggung jawab untuk menyimpan barang dan
menyiapkan barang yang dipesan oleh pelanggan, serta menyerahkan
barang ke fungsi pengiriman.
• Fungsi pengiriman
Fungsi ini bertanggung jawab untuk menyerahkan barang atas dasar
76
surat order pengiriman yang diterimanya dari fungsi penjualan.
• Fungsi penagihan
Fungsi ini bertanggung jawab untuk membuat dan mengirimkan faktur
penjualan kepada pelanggan, serta menyediakan copy faktur bagi
kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi.
• Fungsi akuntansi
Fungsi ini bertanggung jawab untuk mencatat piutang yang timbul
dari transaksi penjualan kredit dan membuat serta mengirimkan
pernyataan piutang kepada para debitur, serta membuat laporan
penjualan.
Menurut Mulyadi (2001, p219), jaringan prosedur yang membentuk
sistem dalam sistem penjualan kredit ini adalah sebagai berikut :
• Prosedur order penjualan
Dalam prosedur ini, fungsi penjualan menerima order dari pembeli
dan menambahkan informasi penting pada surat order dari pembeli.
• Prosedur persetujuan kredit
Dalam prosedur ini, fungsi penjualan meminta persetujuan penjualan
kredit kepada pembeli tertentu dari fungsi kredit.
• 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.
77
• Prosedur penagihan
Dalam prosedur ini, fungsi penagihan membuat faktur penjualan dan
mengirimkannya kepada pembeli.
• 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.
• Prosedur distribusi penjualan
Dalam prosedur ini, fungsi akuntansi mendistribusikan data penjualan
menurut informasi yang diperlukan oleh manajemen.
• Prosedur pencatatan harga pokok penjualan
Dalam prosedur ini, fungsi akuntansi mencatat secara periodik total
harga pokok produk yang dijual dalam periode akuntansi tertentu.
Menurut Mulyadi (2001, p214), beberapa dokumen yang digunakan
dalam sistem penjualan secara kredit yaitu :
• Surat order pengiriman dan tembusannya
• Faktur dan tembusannya
• Rekapitulasi harga pokok penjualan
• Bukti memorial