6
BAB 2
LANDASAN TEORI
2.1 Teori-teori Database
2.1.1 Pengertian Basisdata
Connolly dan Begg (2002, p.14) mendefinisikan basisdata sebagai “a
shared collection of logically related data, and a description of this data,
designed to meet the information needs of an organization”, yang berarti
sekumpulan data yang terhubung secara logis yang digunakan secara bersama,
dan sebuah penjelasan dari data ini, yang dirancang untuk memenuhi
kebutuhan informasi dari sebuah organisasi.
Menurut Greg Riccardi (2001, p.18) basisdata adalah bagian dari sistem
basisdata yang terfokus pada pembuatan dan penyimpanan dari isi informasi.
Definisi basisdata menurut Jeffrey A. Hofter, Mary B. Prescott, Fred R.
McFadden (2005, p.4) adalah “ an organized collection of logically related
data ” , yang berarti sekumpulan data yang berhubungan secara logikal yang
terkoordinasi.
2.1.2 Database Management System
2.1.2.1 Pengertian DBMS
Connolly dan Begg (2002, p.16) mendefinisikan Database
Management System (DBMS) sebagai “ a software system that enables
users to define, create, maintain, and control access to the database”,
yang berarti sistem perangkat lunak yang membantu pengguna untuk
7
mendefinisikan, menciptakan, memelihara, dan kontrol akses terhadap
basisdata.
Menurut Greg Riccardi (2001, p.18) DBMS adalah kombinasi
dari perangkat lunak dan penyimpanan data yang mampu membuat dan
memelihara sistem basisdata.
Jeffrey A. Hofter, Mary B. Prescott, Fred R. McFadden (2005,
p.7) mendefinisikan DBMS sebagai “ software system that is used to
create, maintain, and provide controlled access to user databases ”
yang berarti sistem perangkat lunak yang digunakan untuk membuat,
memelihara, dan menyediakan kontrol akses pada pengguna basisdata.
2.1.2.2 Karakteristik DBMS
Menurut Atzeni, Ceri, Paraboschi, dan Torlone (1999, p.4),
karakteristik DBMS antara lain:
• Tahan Uji
Kapasitas sistem untuk menjaga isi dari basisdata (atau setidaknya
memungkinkan rekonstruksi) apabila terjadi kerusakan perangkat
keras atau perangkat lunak. Untuk memenuhi hal ini, DBMS
menyediakan fungsi spesifik untuk backup dan recovery.
• Privasi Data
Setiap pemakai, yang dikenal melalui username yang spesifik
terhadap akses pemakai tersebut pada DBMS, hanya berhak untuk
melakukan sejumlah operasi tertentu terhadap data, melalui
mekanisme otorisasi.
8
• Efisiensi
Kapasitas untuk melakukan operasi menggunakan sejumlah
sumber daya (waktu dan ruang) yang diperlukan bagi tiap
pemakai. Karakteristik ini tergantung pada teknik yang digunakan
dalam implementasi DBMS, dan pada sebaik apa produk
dirancang. Perlu ditekankan bahwa DBMS menyediakan
kombinasi fitur yang luas yang memerlukan banyak sumber daya,
sehingga seringkali menempatkan persyaratan yang berat pada
sumber daya yang disediakan oleh lingkungan operasional.
• Efektifitas
Kapasitas DBMS untuk membuat aktifitas pemakainya produktif
dalam setiap segi. Hal ini jelas merupakan defisini umum dan
tidak berhubungan dengan fungsi spesifik, dimana DBMS
menyediakan berbagai pelayanan dan fungsi bagi tiap pemakai
yang berbeda. Tugas merancang basisdata dan aplikasi yang
menggunakannya ditujukan untuk memastikan sistem yang baik
dan secara keseluruhan efektif.
2.1.2.3 Komponen Lingkungan DBMS
Menurut Connolly dan Begg (2002, p.18) terdapat 5 komponen utama
dalam lingkungan DBMS yaitu :
1. Perangkat Keras
DBMS dan aplikasi membutuhkan perangkat keras untuk bekerja.
Perangkat keras dapat mencakup dari sebuah komputer personal
9
tunggal, single mainframe, sampai sebuah jaringan komputer.
Perangkat keras pada umumnya tergantung pada kebutuhan
organisasi dan penggunaan DBMS. Beberapa DBMS berjalan hanya
pada perangkat keras atau sistem operasi tertentu ketika DBMS
yang lain bekerja pada banyak perangkat keras dan sistem operasi
lainnya. Sebuah DBMS membutuhkan jumlah memori utama dan
disk space yang minimum untuk bekerja
2. Perangkat Lunak
Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu
sendiri dan program aplikasi serta sistem operasi, termasuk
perangkat lunak jaringan jika DBMS digunakan pada jaringan. Pada
umumnya, program aplikasi ditulis dalam third-generation
language (3GL) seperti ‘C’, C++, Java, Visual Basic, Cobol,
Fortran, Ada, atau Pascal, atau menggunakan fourth-generation
language (4GL) seperti SQL, yang terdapat dalam third-generation
language.
3. Data
Komponen lingkungan DBMS yang paling penting dari sudut
pandang end user adalah data. Data bertindak sebagai jembatan
antara komponen mesin dan komponen manusia. Basisdata terdiri
dari data operasional dan metadata. Struktur dari basisdata disebut
skema.
4. Prosedur
10
Prosedur menunjuk pada instruksi dan aturan yang meregulasi
desain dan penggunaan basisdata. Pengguna dari sistem dan staf
yang mengatur basisdata membutuhkan prosedur yang
didokumentasikan yang menjelaskan cara menggunakan atau
menjalankan sistem. Prosedur berisi instruksi bagaimana cara
untuk:
• Membukukan DBMS
• Menggunakan fasilitas DBMS tertentu atau program
aplikasi.
• Memulai dan memberhentikan DBMS.
• Membuat kopian atau backup basisdata.
• Mengendalikan kegagalan perangkat lunak atau perangkat
keras.
• Mengubah struktur tabel, mengorganisasi basisdata pada
banyak disk, meningkatkan hasil kerja dan penyimpanan
data arsip pada penyimpanan sekunder.
5. Manusia
Komponen akhir adalah manusia yang dilibatkan dengan sistem.
2.1.2.4 Pemeran dalam lingkungan DBMS
Menurut Connolly dan Begg (2002, p.21) orang-orang yang berperan
dalam lingkungan DBMS yaitu :
11
1. Data Administrators dan Database Administrators
Data Administrator bertanggung jawab terhadap pengaturan sumber
data termasuk perencanaan basisdata, pengembangan, dan
pemeliharaan, kebijakan dan prosedur, serta desain basisdata secara
logika atau konseptual.
Database Administrator bertanggung jawab terhadap realisasi fisik
dari basisdata, termasuk rancangan fisik basisdata dan
penerapannya, keamanan dan kontrol integritas, pemeliharaan
sistem operasional, dan memastikan penampilan aplikasi untuk
pengguna.
2. Database Designers
Ada dua tipe database designer, yaitu:
• Logical database designer
Logical database designer terfokus untuk mengidentifikasi atau
mengenal data (entity dan atribut), hubungan antara data, dan
batasan data yang disimpan dalam basisdata.
• Physical database designer
Physical database designer memutuskan bagaimana rancangan
logika basisdata direalisasikan secara fisik. Physical database
designer harus mengerti tentang pemetaan rancangan logika
basisdata ke dalam sekumpulan tabel dan batasan integritas,
memilih stuktur penyimpanan yang spesifik dan metode akses data
untuk mencapai tampilan yang baik, dan merancang ukuran
keamanan yang diperlukan data.
12
3. Application Developers
Application developer bertanggung jawab untuk
mengimplementasikan program aplikasi yang dibutuhkan End-
Users ketika basisdata sudah diimplementasikan.
4. End-Users
End-User adalah klien dalam basisdata,yang mana telah dirancang,
diterapkan, dan dipelihara untuk menyediakan informasi yang
mereka butuhkan.
2.1.2.5 Keuntungan dan Kerugian DBMS
Menurut Connolly dan Begg (2002, p25), keuntungan DBMS adalah:
• Mengontrol redudansi data
Pendekatan basisdata tidak dapat mengurangi redudansi secara
keseluruhan, tetapi dapat mengontrol jumlah redudansi dalam
basisdata.
• Konsistensi data
Dengan mengurangi dan mengontrol redudansi, maka akan
mengurangi resiko terjadinya data yang tidak konsisten.
• Mendapat informasi yang lebih banyak dari sejumlah data
Dengan integrasi dari data operasional, hal tersebut memungkinkan
organisasi memperoleh informasi tambahan dari data yang sama.
• Penggunaan data bersama
13
Basisdata milik organisasi dapat dibagi kepada semua pengguna
yang berhak.
• Meningkatkan integritas data
Integritas basisdata menunjuk validasi dan konsitensi data yang
disimpan. Integritas basisdata biasanya diperlihatkan dalam
constraints yang merupakan aturan konsistensi yang tidak boleh
dilanggar.
• Meningkatkan keamanan
Keamanan basisdata adalah proteksi basisdata dari pengguna yang
tidak memiliki hak akses.
• Standar pelaksanaan
Integrasi mengijinkan DBA untuk mendefinisikan dan melakukan
standar-standar yang dibutuhkan.
• Skala ekonomi
Mengkombinasikan semua data operasional perusahaan menjadi
satu basisdata, dan membuat sekumpulan aplikasi yang dapat
bekerja pada satu sumber data, dapat menghasilkan penghematan
data.
• Keseimbangan kebutuhan yang berbeda
Setiap pengguna atau departemen memiliki kebutuhan yang
mungkin bertentangan dengan pengguna yang lain. Sejak basisdata
dikontrol oleh seorang DBA, maka DBA dapat membuat keputusan
mengenai rancangan dan penggunaan operasional basisdata
14
sehingga akan menyediakan daya guna yang optimal untuk aplikasi
yang penting.
• Meningkatkan akses dan respon terhadap data
Banyak DBMS menyediakan query language atau penulis laporan
yang memungkinkan pengguna untuk menanyakan pertanyaan ad
hoc dan untuk mendapat informasi yang dibutuhkan langsung tanpa
harus memerlukan seorang programmer untuk menulis perangkat
lunak untuk menyaring informasi tersebut dari basisdata.
• Meningkatkan produktivitas
Banyak DBMS menyediakan lingkungan fourth-generation yang
terdiri dari alat-alat untuk menyederhanakan pengembangan dari
aplikasi basisdata.
• Meningkatkan pemeliharaan melalui data yang independent
DBMS memisahkan deskripsi data dari aplikasi, sehingga membuat
aplikasi tidak terganggu ketika terjadi perubahan pada deskripsi
data.
• Meningkatkan konkurensi
DBMS mengatur akses basisdata bersama-sama dan memastikan
tidak ada gangguan.
• Meningkatkan layanan perbaikan dan backup
Sistem berbasis file menempatkan tanggung jawab pada pengguna
untuk menyediakan ukuran untuk melindungi data dari kegagalan
system computer atau program aplikasi. Sebaliknya, modern DBMS
15
menyediakan fasilitas untuk meminimalkan jumlah proses yang
hilang karena kegagalan.
Menurut Connolly dan Begg (2002, p29), kerugian DBMS adalah:
• Kompleksitas
Ketetapan dari fungsionalitas yang kita harapkan dari sebuah
DBMS yang baik akan membuta DBMS tersebut menjadi sebuah
perangkat lunak yang sangat kompleks
• Ukuran
Kompleksitas dan fungsionalitas yang luas menyebabkan DBMS
menjadi sebuah bagian yang sangat besar dari perangkat lunak,
menempati banyak ruang hard disk dan membutuhkan memory
tambahan agar dapat berjalan dengan efisien.
• Biaya DBMS
Harga dari DBMS beragam, tergantung pada lingkungan dan
fungsionalitas yang diberikan.
• Biaya hardware tambahan
Kebutuhan penyimpanan data untuk DBMS dan basisdata akan
memerlukan tambahan ruang penyimpanan.
• Biaya konversi
Dalam beberapa situasi, biaya DBMS dan perangkat keras
tambahan tidak sesuai dibandingkan dengan biaya untuk merubah
aplikasi yang sudah ada untuk berjalan pada DBMS yang baru.
• Daya Guna
16
Biasanya, sebuah sistem berbasis file ditulis untuk aplikasi yang
spesifik dan menghasilkan daya guna yang tinggi. Bagaimanapun
juga, DBMS ditulis agar lebih luas, untuk memenuhi banyak
aplikasi. Efeknya, beberapa aplikasi tidak berjalan secepat biasanya.
• Dampak kesalahan yang lebih tinggi
Sentralisasi sumber meningkatkan kelemahan-kelemahan sistem.
Selama semua pengguna dan aplikasi tergantung pada kehadiran
DBMS, kegagalan beberapa komponen dapat menyebabkan
terhentinya operasi.
2.1.3 Data Definiton Language
Connolly dan Begg (2002, p40) mendeskripsikan Data Definition
Language sebagai sebuah bahasa yang mengijinkan DBA atau pengguna untuk
mendeskripsikan dan menamai entity, atribut, dan hubungan yang dibutuhkan
oleh aplikasi, bersama dengan aturan integritas dan keamanan yang
berhubungan. SQL Data Definition Language (DDL) mengijinkan objek
basisdata seperti schemas, domains,tables, views, dan indexes dibuat dan
dihapus.
Beberapa contoh DDL menurut Martina (2003, p.58) yaitu:
1. Create table
Perintah CREATE TABLE digunakan untuk membuat tabel dengan
mendefinisikan tipe data untuk tiap kolom.
Bentuk umum:
CREATE TABLE Table_name
17
(Column_name dataType [NULL|NOTNULL],
Column_name dataType [NULL|NOTNULL] …)
2. Alter table
Perintah ALTER TABLE digunakan untuk menambah atau mengurangi
kolom dan batasan.
Bentuk umum:
ALTER TABLE Table_name
[ADD Column_name dataType [NULL|NOTNULL]]
[DROP Column_name dataType [RESTRICT|CASCADE]]
[ADD Contrain_name]
[DROP Constrain_name [RESTRICT|CASCADE]]
3. Drop Table
Perintah DROP TABLE digunakan untuk membuang atau menghapus
tabel dengan semua data di dalamnya.
Bentuk umum:
DROP TABLE Table_name;
4. Create index
Perintah CREATE INDEX digunakan untuk memberi indeks pada tabel.
Bentuk umum:
CREATE [UNIQUE] INDEX Index_name
ON Table_name
(Column_name [,Column_name] …)
5. Drop index
18
Perintah DROP INDEX digunakan untuk membuang atau menghapus
indeks yang dibuat sebelumnya.
Bentuk umum:
DROP INDEX Index_name
2.1.4 Data Manipulation Language
Connolly dan Begg (2002, p40) mendeskripsikan Data Manipulation
Language sebagai sebuah bahasa yang menyediakan sekumpulan operasi untuk
mendukung operasi dasar dari manipulasi data yang terjadi dalam basisdata.
Operasi dalam manipulasi data, biasanya meliputi memasukkan data baru
ke dalam basisdata, memodifikasi data yang tersimpan di dalam basisdata,
membaca data yang ada di dalam basisdata. menghapus data dari basisdata.
DML dibedakan menjadi dua tipe, yaitu:
• Procedural DML
Procedural DML adalah sebuah bahasa yang mengijinkan para
penggunanya untuk memberitahu sistem tentang data apa yang dibutuhkan
dan bagaimana untuk membaca data secara tepat.
• Non-Procedural DML
Non-Procedural DML adalah sebuah bahasa yang mengijinkan para
penggunanya untuk menyatakan data apa yang dibutuhkan dibandingkan
untuk menyatakan bagaimana data tersebut dibaca.
Beberapa contoh DML menurut Martina (2003, p.60) yaitu:
1. Select
19
Perintah SELECT digunakan untuk menampilkan sebagian atau seluruh
isi dari sebuah tabel dan menampilkan kombinasi isi dari beberapa tabel.
Bentuk umum:
SELECT Column_name
FROM Table_name
WHERE Condition
2. Update
Perintah UPDATE digunakan untuk mengubah isi satu atau beberapa
atribut dari suatu tabel.
Bentuk umum:
UPDATE Table_name
SET Column1=Value1, Column2=Value2,…
WHERE Condition
3. Insert
Perintah INSERT digunakan untuk menambah satu atay beberapa baris
nilai baru ke dalam tabel.
Bentuk umum:
INSERT INTO Table_name (Column list) VALUES (value list)
4. Delete
Perintah DELETE digunakan untuk menghapus sebagian atau seluruh isi
tabel.
Bentuk umum:
DELETE FROM Table_name
WHERE Condition
20
2.1.5 Normalisasi
Menurut Connolly dan Begg (2002,p379), normalisasi adalah teknik untuk
mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan
pemakai di dalam sebuah organisasi.
Tujuan dari normalisasi adalah untuk menghilangkan kerangkapan data,
untuk mengurangi kompleksitas dan untuk mempermudah modifikasi data.
Secara umumnya normalisasi dibagi menjadi tiga tingkatan, yaitu bentuk
normal pertama (1NF) berdasarkan penghilangan repeating group, bentuk
normal kedua (2NF) berdasarkan pada ketergantungan fungsional, bentuk
normal ketiga (3NF) yang berdasarkan pada ketergantungan transitif.
BCNF (Boycode-Codd Normal Form) yang merupakan penguatan bentuk
normal ketiga, bentuk normal keempat yang berdasarkan ketergantungan nilai
jamak (multi-value dependency), dan bentuk normal kelima yang juga disebut
project-join normal form (PJNF).
1. 1NF
UNF adalah sebuah tabel yang mengandung lebih dari satu bagian yang
berulang (repeating group). Bentuk normal pertama adalah sebuah
hubungan dimana irisan (intersection) dari setiap baris dan kolom hanya
mengandung satu nilai. Untuk mengubah tabel UNF ke dalam bentuk
normal pertama (1NF) harus mengidentifikasi dan menghilangkan bagian
yang berulang (repeating group) pada tabel. Sebuah repeating group
adalah sebuah atribut atau kumpulan atribut pada sebuah tabel yang
21
terdapat lebih dari satu nilai (multiple) untuk sebuah occurance tunggal dari
kunci (key) atributnya yang ditunjuk dalam tabel.
Ada dua pendekatan umum untuk menghilangkan repeating group pada
tabel UNF, antara lain:
a. pendekatan pertama dengan menghilangkan repeating group dengan
memasukkan data yang berlebihan ke dalam kolom dan baris kosong.
Sehingga hasil dari tabel nantinya hanya mengandung nilai atomic
(tunggal).
b. pendekatan kedua, menghilangkan repeating group dengan
menempatkan data yang berlebihan, selanjutnya dengan meng-copy
atribut kuncinya yang asli dalam sebuah relasi yang dipisahkan.
Kedua pendekatan ini benar. Tetapi, pendekatan kedua awalnya
menghasilkan relasi paling sedikit pada 1NF dengan mengurangi redudansi.
Jika menggunakan pendekatan pertama, relasi dari 1NF adalah buruk,
selanjutnya selama langkah normalisasi berikutnya akan menghasilkan
relasi yang sama yang dihasilkan oleh pendekatan kedua. Akan tetapi hasil
dari normalisasi bentuk pertama masih bisa mnyebabkan update anomalies,
sehingga diperlukan normalisasi ke tahapan selanjutnya yang dinamakan
bentuk normal kedua (2NF).
2. 2 NF
Bentuk normal kedua adalah berdasarkan konsep ketergantungan
fungsional penuh (full functional dependency). Full functional dependency
dinyatakan dengan jika A dan B adalah atribut dari suatu relasi. B adalah
secara fungsional bergantung pada A, tetapi bukan merupakan himpunan
22
bagian dari A. Jelasnya bentuk normal kedua adalah sebuah relasi di dalam
bentuk normal pertama dan setiap atribut yang bukan primary key (non
primary key) adalah secara fungsional tergantung pada primary key. Proses
normalisasi dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian
yang ketergantungan.
3. 3NF
Bentuk normal ketiga adalah berdasarkan pada konsep peralihan
ketergantungan (transitive dependency). Transitive dependency adalah
sebuah kondisi dimana A, B, dan C adalah atribut dari sebuah relasi bahwa
jika A→B dan B→C, maka C adalah secara transitif bergantung pada A
melewati B (menyatakan bahwa A tidak secara fungsional tergantung pada
B dan C). pada bentuk normal ketiga, sebuah relasi pada bentuk normal
pertama dan kedua dan dimana tidak ada atribut non-primary key secara
transitif bergantung (transitively dependent) pada primary key. Proses
normaliasasi dari relasi 2NF ke 3NF melibatkan penghilangan dari
ketergantungan transitif. Jika sebuah ketergantungan transitif muncul, maka
dihilangkan ketergantungan transitif antara atributnya dengan
menempatkan atribut tersebut ke dalam relasi baru, selanjutnya dengan
sebuah salinan dari determinannya.
4. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)
Aturan bentuk normal Boyce-Codd (BCNF) adalah sebuah relasi disebut
BCNF, jika dan hanya jika setiap deteminannya adalah sebuah candidate
key. Untuk menguji apakah sebuah relasi sudah dalam BCNF, dilakukan
identifikasi semua deteminan dan memastikan bahwa determinan tersebut
23
adalah candidate key. Determinan adalah sebuah atribut, atau kumpulan
atribut, dimana beberapa atribut yang lain masih bergantung secara
fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan
BCNF dalam hal functional dependency. A→B, 3NF mengijinkan
ketergantungan ini dalam sebuah relasi jika B adalah atribut primary key
dan A bukan candidate key. Sedangkan dalam BCNF ketergantungan ini
tetap ada di dalam sebuah relasi, dimana A harus sebuah candidate key.
5. 4 NF
Aturan bentuk normal keempat (4NF) adalah sebuah relasi dalam Boyce-
Codd Normal Form (BCNF) dan tidak mengandung ketergantungan multi-
valued nontrivial (nontrivial multi-valued dependencies).
Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari
BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued
dependency dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi
pemindahan multi-valued dependency dari relasi dengan menempatkan
atribut dalam sebuah relasi baru bersama dengan determinan. Multi-valued
dependency menggambarkan ketergantungan antara atribut-atribut dalam
suatu relasi.
6. 5 NF
Aturan bentuk normal kelima (5NF) adalah sebuah relasi yang tidak
mempunyai ketergantungan gabungan (join dependency). Join dependency
menggambarkan sebuah tipe ketergantungan.
Sebagai contoh, untuk sebuah relasi R dengan subset-subset stribut dari R
yang dimisalkan dengan A, B,…Z, sebuah relasi R menunjukkan join
24
dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan
dari proyeksi-proyeksinya pada A, B,…Z.
2.1.6 Entity Relationship Modelling
Menurut Budiharto (2002, p4), merancang basisdata merupakan hal yang
sangat penting dalam membuat basisdata, dan Entity Relationship (ER)
digunakan untuk merancangnya. ER merupakan sebuah permodelan untuk
merancang basisdata yang baik. Karena tanpa ER ini, bisa dipastikan proses
pembuatan basisdata berjalan lama dan tidak teratur. Pada saat merancang
basisdata yang perlu diperhatikan ialah membuat relasi-relasi yang benar di
antara tabel. Proses merancang basisdata cukup memakan waktu yang lama
jika basisdatanya besar. Pendokumentasian merancang basisdata mutlak harus
dilakukan dengan baik agar mudah di dalam pengembangan dan perbaikan
nantinya.
2.1.6.1 Entity Type
Menurut Connolly dan Begg (2002, p330), entity type adalah sebuah
kumpulan dari objek dengan sifat sama, dimana diidentifikasikan oleh
perusahaan yang keberadaannya tidak tergantung (independent
existence). Konsep dasar dari bentuk ER adalah tipe entiti, dimana yang
mempresentasikan kumpulan dari objek di dalam kenyataannya dengan
sifat yang sama.
2.1.6.2 Relationship Type
Menurut Connolly dan Begg (2002, p334), relationship type adalah
sekumpulan hubungan antara satu atau lebih tipe-tipe entitas. Derajat
25
relationship adalah partisipasi tipe entitas dalam sebuah tipe
relationship tertentu. Entitas yang berkaitan dalam sebuah tipe
relationship dikenal sebagai participant dalam relationship dan jumlah
participant dalam relationship menunjukkan jumlah dari entitas yang
terkait dalam relationship. Sebuah relationship berderajat dua disebut
binary, relationship berderajat tiga disebut ternary, dan relationship
berderajat empat disebut sebagai quartenar.
2.1.6.3 Atribut
Menurut Connolly dan Begg (2002,p338-342), attribute adalah sifat
sebuah entitas atau tipe relationship. Sifat tertentu dari entitas disebut
sebagai atributte. Atribut menyimpan nilai dari setiap entity occurance
dan disimpan di dalam basisdata.
Attribute domain adalah sejumlah nilai yang diperkenankan oleh satu
atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah
nilai disebut domain.
Simple attribute adalah sebuah susunan atribut dari komponen tunggal
(single component) dengan keberadaan yang bebas (independent
existence). Contohnya, posisi dan gaji dari entitas pegawai.
Composed attribute adalah sebuah susunan atribut dari banyak
komponen dengan sebuah keberadaan yang bebas dari masing-
masingnya. Dalam hal ini beberapa atribut dapat dipisahkan menjadi
komponen yang lebih kecil lagi dengan keberadaan yang bebas dari
masing-masingnya. Contohnya : atribut alamat dari entitas kantor
26
cabang yang mengandung nilai (jalan, kota, kode pos) bisa dipecahkan
menjadi simple attribute jalan, kota, dan kode pos.
Single value attribute adalah atribut yang hanya menyimpan nilai
tunggal untuk suatu sifat dari entitas.
Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih
dari satu untuk suatu sifat dari entitas. Contohnya atribut telepon dari
entitas kantor cabang yang bisa memiliki lebih dari satu nomor telepon.
Derived attribute (atribut turunan) adalah atribut yang menunjukkan
nilai yang diperoleh dari atribut yang berhubungan atau kumpulan
atribut yang berhubungan, tidak terlalu dibutuhkan dengan tipe entitas
yang sama.
2.1.6.4 Kunci (Key)
Menurut Budiharto (2002, p9), key adalah suatu property yang
menentukan apakah suatu kolom pada tabel sangat penting atau tidak.
Terdiri dari candidate key, primary key, alternate key, dan composite
key.
Candidate key adalah sebuah atribut atau lebih secara unik
mengidentifikasi sebuah baris. Atribut ini mempunyai nilai yang unik
hampir tiap barisnya. Fungsi dari candidate key adalah sebagai calon
primary key.
Primary key adalah candidate key yang telah dipilih untuk
mengidentifikasi tiap baris secara unik. Primary key harus merupakan
field yang benar-benar unik dan tidak boleh ada nilai NULL.
27
Alternate key adalah candidate key yang tidak dipilih sebagai primary
key.
Composite key merupakan suatu kondisi dimana sebuah atribut yang
tidak dapat digunakan untuk mengidentifikasi baris secara unik dan
membutuhkan kolom lain untuk digunakan sebagai primary key.
Foreign key berfungsi sebagai penghubung antar tabel, dimana suatu
primary key terhubung ke tabel lain.
2.1.7 4th GL (Generation Language)
4th GL adalah generasi bahasa tingkat 4 yang merupakan bahasa
pemograman yang diminimalisasi. Suatu operasi yang biasanya membutuhkan
ratusan baris di bahasa pemograman 3th GL seperti COBOL, maka pada 4th GL
hanya membutuhkan baris pemograman yang lebih sedikit. Contoh dari 4th GL
adalah SQL.
4th GL dapat menambahkan produktivitas berkali-kali lipat, penanganan
masalah yang lebih banyak. Menurut Connolly dan Begg (2002, p42), 4th GL
memiliki kemampuan sebagai berikut:
• Bahasa presentasi seperti Query Language, dan report generator
• Bahasa khusus seperti spreadsheet dan database language
• Aplikasi generator yang dapat didefinisikan, menyisipkan,
memperbaruhi, dan membuka kembali data dari suatu basisdata untuk
membuat suatu aplikasi.
28
• Bahasa tingkat tinggi yang biasa digunakan untuk membuat suatu kode
aplikasi
2.1.8 Siklus Hidup Aplikasi Database
Siklus hidup aplikasi basisdata merupakan tahapan dalam merancang suatu
sistem basisdata.
29
Gambar 2.1 Siklus hidup aplikasi basisdata
• Database planning
Database planning
System definition
Requirement collection and
analysis
DBMS selection (optional)
Conceptual database design
Logical database design
Physical database design
Application design
Prototyping (optional)
Implementation
Data conversion and loading
Testing
Operational maintenance
Database design
30
Merencanakan bagaimana tingkatan dari siklus hidup agar menjadi lebih
efektif dan efisien.
• System definition
Menspesifikasikan ruang lingkup dan batasan dari aplikasi basisdata,
pengguna, dan cakupan dari aplikasi tersebut.
• Requirements Collection and Analysis
Mengumpulkan dan menganalisa kebutuhan dari pengguna dan cakupan
dari aplikasi basisdata.
• Database Design
Perancangan konseptual, logikal, dan fisikal dari suatu basisdata.
• DBMS Selection (optional)
Memilih DBMS yang sesuai untuk aplikasi basisdata.
• Application Design
Merancang antarmuka pengguna dan program aplikasi yang
menggunakan dan memproses basisdata.
• Prototyping (optional)
Membangun model kerja dari aplikasi basisdata, dimana mengijinkan
perancang atau pengguna untuk memvisualisasikan dan mengevaluasi
bagaimana tampilan dan fungsi sistem pada akhirnya.
• Implementation
Membuat definisi basisdata eksternal, konseptual, internal, dan program
aplikasi.
• Data Conversion and Loading
31
Pemuatan data dari sistem yang lama ke sistem yang baru.
• Testing
Aplikasi basisdata dites untuk mengecek apakah terdapat kesalahan dan
validasi yang dilakukan sudah memenuhi permintaan dari pengguna.
• Operational Maintenance
Aplikasi basisdata sudah diimplementasikan secara keseluruhan. Tetapi
sistem terus dikontrol dan dipelihara secara teratur.
2.1.9 Metodologi Desain dalam Database
2.1.9.1 Pengertian Metodologi Desain
Metodologi desain adalah pendekatan terstruktur. Pendekatan
terstruktur yang menggunakan prosedur-prosedur, teknik-teknik, alat-
alat, dokumentasi tambahan untuk mendukung dan memberi fasilitas
dari desain tersebut. Ada 3 fase utama dalam metodologi desain
database, yaitu: conceptual database design, logical database design
dan physical database design.
Faktor kesuksesan yang penting dalam mendesain basisdata
adalah sebagai berikut:
• Bekerjalah seinteraktif mungkin dengan pengguna sebanyak
mungkin.
• Ikutilah metodologi yang terstruktur pada seluruh proses data
modeling.
• Gunakan pendekatan data-driven.
32
• Gabungkanlah pertimbangan struktural dan integritas ke model
data.
• Kombinasikan konseptualisasi, normalisasi, dan teknik validasi
transaksi ke metodologi pemodelan data.
• Gunakanlah diagram untuk merepresentasikan model data sebanyak
mungkin.
• Gunakanlah DBDL (Database Design Language) untuk
merepresentasikan semantik data tambahan.
• Buatlah kamus data untuk menambahkan diagram model data.
• Berkemauan untuk mengulangi langkah-langkah diatas.
2.1.9.2 Conceptual Database Design
Merupakan proses pembuatan sebuah model dari informasi yang
digunakan pada sebuah perusahan, tidak bergantung pada semua
pertimbangan fisikal.
Langkah-langkah untuk membuat model data Konseptual dapat
digambarkan sebagai berikut :
1. Mengidentifikasi tipe entity
Langkah pertama dalam membangun sebuah local conceptual
model adalah menentukan obyek-obyek yang diinginkan oleh
pengguna, yaitu jenis entity yang diperlukan dalam view. Dalam
menentukan jenis entity yang diperlukan, biasanya berdasarkan kata
benda atau frase kata benda yang disebutkan.
33
2. Mengidentifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada
antara tipe entity yang telah diidentifikasikan.
Langkah-langkah identifikasi tipe relasi :
• Gunakan Entity Relationship Diagram (ERD)
Penggunaan Entiti – Relationship (ER) Diagram untuk
merepresentasikan entiti dan bagaimana relasi antar entiti.
• Cari batasan multiplicity dari tipe relationship
Jika memang ada suatu nilai yang spesifik dari suatu multiplicity
maka akan lebih baik apabila didokumentasikan.
• Periksa fan dan chasm traps
Fan Trap adalah suatu model yang merepresentasikan suatu
relasi antara entiti, tetapi alur relasinya memperlihatkan
ambiguitas. Chasm Trap adalah suatu model dimana ada
hubungan antara entiti yang satu dengan yang lain, tetapi tidak
ada relasi antara kedua entiti utama.
• Periksa bahwa masing-masing entity ikut serta setidaknya dalam
satu relationship
Pada saat pembuatan Entiti Relationship Diagram, setiap entiti
mempunyai minimal satu relasi dengan entiti yang lain.
• Dokumentasikan tipe relationship
34
Tipe relationship diidentifikasikan, memberikan nama yang
berarti dan jelas bagi pengguna. Juga mencatat deskripsi
relationship dan batasan multiplicity dalam data dictionary.
3. Mengidentifikasi dan menghubungkan atribut dengan entiti atau
tipe hubungan
Tujuannya untuk menghubungkan atribut dengan entiti atau tipe
hubungan yang sesuai dan mendokumentasikan detil dari setiap
atribut. Atribut dapat dibagi menjadi tiga, yaitu:
• Simple or composite attribute
Composite attribute disusun dari simple attribute. Sebagai
contoh, atribut alamat bisa dibuat sederhana dan menyimpang
beberapa detil dari alamat sebagai suatu nilai. Contoh : 45 Jl.
Veteran, Palembang, 30125. Bagaimanapun Composite attribute
yang terdiri dari beberapa detail yang mempunyai nilai terpisah
dalam atribut alamat(‘45 Jl. Veteran”), kota( “Palembang”),
kode pos (“30125”). Atribut alamat dapat dijadikan simple
attribute atau composite attribute tergantung dengan kebutuhan
pengguna.
• Single or multi value attribute
Atribut dapat mempunyai satu atau lebih nilai. Contoh : Atribut
nomor telepon. Seseorang yang memiliki nomor telepon lebih
dari satu, maka dapat disebut atribut Multi-Valued. Tetapi jika
atribut tersebut hanya mempunyai suatu nilai maka disebut
sebagai single attribute.
35
• Derived attribute
Adalah atribut yang nilainya tergantung pada nilai atribut yang
lain.
Contoh : umur dari seorang karyawan.
4. Menetapkan domain attribute
Tujuannya untuk menetapkan domain atribut dalam model data
konseptual lokal dan mendokumentasikan setiap detil dari domain.
Domain merupakan sekumpulan nilai-nilai dari satu atau lebih
atribut yang menggambarkan nilainya. Model data yang dibuat
menspesifikasikan domain untuk setiap atribut dengan
menyertakan:
• Nilai yang diijinkan untuk atribut
• Ukuran dan format atribut
5. Menetapkan primary dan candidate key
Tujuannya untuk menghubungkan atribut dengan entity dan jika
terdapat lebih dari satu candidate key, maka pilih satu sebagai
primary key.
6. Mempertimbangkan kegunaan dari konsep Enhanced Modeling
(optional)
Dalam langkah ini, kita mempunyai pilihan untuk mengembangkan
ER model dengan menggunakan konsep enhanced modeling, seperti
spesialisasi, generalisasi, agregasi, dan komposisi.
7. Memeriksa model untuk pengurangan
36
Dalam langkah ini, perancang melakukan dua kegiatan yaitu
memeriksa kembali relasi one-to-one (1:1), dan menghilangkan
redundancy relation.
8. Memvalidasi model konseptual lokal terhadap transaksi pengguna
Tujuannya untuk memastikan model konseptual lokal mendukung
transaksi yang dibutuhkan oleh view. Diuji dengan dua pendekatan
untuk memastikan model data konseptual lokal mendukung
transaksi yang dibutuhkan, dengan cara:
• Mendeskripsikan transaksi-transaksi
• Menggunakan jalur-jalur transaksi
9. Me-review model data konseptual lokal dengan pengguna
Tujuannya untuk me-review model data konseptual lokal dengan
pengguna untuk memastikan model tersebut adalah representasi
sebenarnya dari view. Model data konseptual ini termasuk ER
diagram dan dokumentasi pendukung yang mendeskripsikan model
data. Bila ada kejanggalan dalam model data, maka harus dibuat
perubahan yang sesuai yang mungkin membutuhkan pengulangan
langkah-langkah sebelumnya.
2.1.9.3 Logical Database Design
Merupakan proses dari pembuatan sebuah model informasi yang
digunakan pada perusahaan berdasarkan pada model data yang spesifik,
tetapi tidak bergantung terhadap pertimbangan DBMS tertentu dan
fisikal lainnya.
37
Metodologi desain basisdata logikal terdiri dari 2 langkah utama yaitu :
• Membangun dan validasi model data logikal lokal untuk setiap view
Membangun model data logikal lokal dari model data konseptual
lokal yang menggambarkan view tertentu dari perusahaan dan
kemudian memvalidasikan model ini untuk memastikan strukturnya
benar (menggunakan teknik normalisasi) dan memastikannya
mendukung transaksi yang dibutuhkan.
Pada langkah pertama ini terdiri dari 6 tahap yaitu:
1. memindahkan fitur-fitur yang tidak kompetibel dengan model
relasional (tahap optional)
2. mendapatkan hubungan untuk model data logikal lokal
3. memvalidasi hubungan menggunakan normalisasi
4. memvalidasikan hubungan terhadap transaksi pengguna
5. mendefinisikan batasan integrity
6. meninjau ulang model data logikal lokal dengan pengguna
• Membangun dan validasi model data logikal global
Menggabungkan model data logikal lokal individual menjadi model
data logikal global tunggal yang menggambarkan suatu perusahaan.
Pada langkah kedua ini terdiri dari 4 tahap yaitu :
1. menggabungkan model data logikal lokal menjadi model global
2. memvalidasikan model data logikal global
3. mengecek untuk pengembangan mendatang
4. meninjau ulang model data logikal global dengan pengguna
38
2.1.9.4 Physical Database Design
Merupakan proses untuk menghasilkan suatu deskripsi dari
implementasi basisdata pada penyimpanan sekunder, juga
mendeskripsikan relasi dasar, organisasi file, dan desain indeks yang
digunakan untuk mencapai akses yang efisien terhadap data dan batasan
integritas lainnya yang masih berhubungan serta ukuran-ukuran
keamanan.
Langkah-langkah metodologi desain basisdata fisik :
• Menerjemahkan model data logikal global untuk target DBMS
Menghasilkan skema basisdata relasional dari model data global
yang dapat diimplementasikan dalam target DBMS.
Pada langkah pertama ini terdiri dari 3 tahap yaitu :
1. mendesain hubungan dasar
2. mendesain gambaran dari data yang dihasilkan
3. mendesain batasan-batasan perusahaan
• Mendesain gambaran fisik
Menentukan pengaturan file yang optimal untuk menyimpan
hubungan dasar dan index yang dibutuhkan untuk mencapai kinerja
yang diinginkan, dimana hubungan dan tuple disimpan di secondary
storage.
Pada langkah kedua terdiri dari 4 tahap yaitu :
1. menganalisa transaksi-transaksi
2. memilih pengaturan file
3. memilih index
39
4. memperkirakan kebutuhan tempat penyimpanan (disk space)
• Mendesain view pengguna
Mendesain view pengguna yang diidentifikasikan selama kumpulan
kebutuhan dan tingkat analisis dari siklus hidup aplikasi basisdata
relational.
• Mendesain mekanisme keamanan
Mendesain langkah keamanan untuk basisdata yang
dispesifikasikan oleh pengguna.
• Mempertimbangan pengenalan dari redundansi terkontrol
Menentukan apakah pengenalan redundansi dalam cara terkontrol
dengan mengurangi aturan normalisasi akan meningkatkan kinerja
sistem.
• Memonitor dan mengatur sistem operasional
Memonitor sistem operasional dan mengembangkan kinerja sistem
untuk memperbaiki keputusan desain yang tidak tepat atau
menggambarkan penggantian kebutuhan.
2.2 Simbol untuk pembuatan bagan alir dokumen (Dokumen Flowchart)
Berikut ini simbol-simbol standar yang digunakan dalam pembuatan bagan alir
dokumen serta penjelasannya (Mulyadi, 2001,p60)
40
Dokumen. Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang
merupakan formulir yang digunkan untuk merekam data terjadinya suatu transaksi.
Dokumen dan Tembusannya. Simbol ini digunakan untuk menggambarkan dokumen
asli dan tembusannya. Nomor lembar dokumen dicantumkan disudut kanan atas.
Berbagai Dokumen. Simbol ini digunakan untuk menggambarkan berbagai jenis
dokumen yang digabungkanbersama di dalam suatu paket. Nama dokumen dituliskan di
dalammasing-masing symbol dan nomor lembar dokumen dicantumkan di sudut kanan
atas symbol dokumen yang bersangkutan.
Catatan. Simbol ini digunakan untuk menggambarkan catatan akuntansi yang
digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau
formulir . Nama catatan akuntansi dicantumkan di dalam symbol ini
41
Penghubung pada halaman yang sama. Simbol yang digunakan untuk
menghubungkan aliran dokumen yang terhenti si suatu lokasi pasa halaman tertentu dan
kembali berjalan di lokasi lain pada halaman yang sama dengan memperhatikan nomor
yang tercantum di dalam symbol.
Penghubung pada halaman yang berbeda. Jika untuk menggambarkan bagan alir
diperlukan lebih dari satu halaman, symbol ini harus digunakan untuk menunjukkan
kemana bagan alir terkait.
Kegiatan Manual. Symbol ini digunakkan untuk menggambarkan kegiatan manual.
Uraian singkat kegiatan manual dicantumkan di dalam symbol ini
Keterangan Komentar. Symbol ini memungkinkan ahli sistem menambahkab
keterangan untuk memperjelas pesan yang disampaikan dalam bagan alir
Arsip sementara. Symbol ini digunakan untuk menunjukkan tempat penyimpanan
dokumen yang dokumennya akan diambil kembali dari arsip tersebut di massa yang
akan datang.
42
Arsip Permanen. Simbol ini digunakan untuk menggambarkan arsip permanent yang
merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem
yang bersangkutan.
Keputusan. Simbol ini menggambarkan keputusan yang harus dibuat dalam proses
pengolahan data.
Mulai atau berakhir (terminal). Simbol ini untuk menggambarkan awal dan akhir
suatu sistem.
2.3 State Transition Diagram
State Transition Diagram (STD) digunakan untuk menggambarkan urutan dan
variasi layar yang dapat terjadi ketika pengguna sistem berdiri pada terminal.
Segiempat. Segiempat digunakan untuk merepresentasikan display screens.
43
Tanda Panah. Tanda panah menggambarkan aliran kontrol dan menggambarkan
kejadian yang menyebabkan layar menjadi aktif atau mejadi fokus.
2.4 Teori-teori Pembelian dan Penjualan
2.4.1 Teori Pembelian
2.4.1.1 Definisi Pembelian
Pembelian dilakukan untuk memenuhi kebutuhan. Pemenuhan
kebutuhan tersebut ada dua macam :
1. Dikonsumsikan, umumnya oleh perusahaan industri dan rumah
tangga.
2. Dijual kembali, meskipun tujuannya berbeda, bagaimanapun
sifatnya adalah membeli barang dam jasa sesuai dengan
kebutuhan.
Menurut Mulyadi (2001, p299) pembelian adalah suatu usaha
yang digunakan dalam perusahaan untuk pengadaan barang yang
diperlukan oleh perusahaan.
Secara umum definisi pembelian adalah merupakan usaha
pengadaan barang atau jasa dengan tujuan yang akan digunakan sendiri,
untuk kepentingan proses produksi maupun untuk dijual kembali, baik
dengan atau tanpa proses, dalam proses pembelian yang ada. Agar
kegiatan pembelian dapat dilakukan dengan benar.
44
2.4.1.2 Jenis-jenis Pembelian
Jenis transaksi dalam pembelian dapat dibedakan menjadi 2,
yaitu:
a. Pembelian tunai yaitu jenis transaksi, dimana pembayaran
langsung dilakukan pada saat penerimaan barang.
b. Pembelian kredit yaitu jenis transaksi, dimana pembayaran tidak
dilakukan pada saat penyerahan barang, tetapi dilakukan selang
beberapa waktu sesuai dengan perjanjian dengan pihak pemasok.
Sedangkan berdasarkan jenis pemasok, pembelian dibedakan
menjadi dua yaitu :
a. Pembelian Lokal yaitu pembelian dari pemasok dalam negeri.
b. Pembelian impor yaitu pembelian yang dilakukan dari pemasok
luar negeri.
2.4.1.3 Fungsi yang terkait dalam pembelian
Fungsi pembelian pada perusahaan industri adalah melakukan
pembelian bahan baku yang sesuai dengan kebutuhan proses produksi.
Didalam melaksanakan pembelian ada beberapa faktor yang harus
diperhatikan yaitu mutu bahan baku atau barang jadi, jumlah bahan
yang dibutuhkan, waktu serta harga bahan. Untuk dapat melaksanakan
fungsi pembelian dengan efektif dan efisien dibutuhkan adanya
kemampuan dari bagian pembelian. Pengawasan perlu dilakukan
tehadap pelaksanaan fungsi ini, karena pembelian menyangkut investasi
45
dana dalam persediaan dan kelancaran arus barang kedalam
perusahaan. Disamping itu untuk menghindari praktek-praktek yang
tidak sehat dalam fungsi pembelian.
Menurut Mulyadi (2001, p300) fungsi yang terkait dalam sistem
pembelian adalah :
a. Fungsi Gudang, bertanggung jawab untuk mengajukan
permintaan pembelian sesuai dengan posisi persediaan yang ada
digudang dan untuk menyimpang barang yang telah diterima oleh
fungsi penerimaan.
b. 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.
c. Fungsi Penerimaan, bertanggung jawab untuk melakukan
pemeriksaan terhadap jenis, mutu dan kuantitas bahan yang
diterima dari pemasok guna menentukan dapat atau tidaknya
barang tersebut diterima oleh perusahaan.
d. Fungsi Akuntansi, bertanggung jawab untuk mencatat transaksi
pembelian ke dalam register bukti kas keluar dan untuk
menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang
berfungsi sebagai catatan utang atau menyelenggarakan kartu utang
sebagai buku pembantu utang.
2.4.1.4 Jaringan Prosedur yang membentuk sistem pembelian
46
Menurut Mulyadi (2001, pp.301-303) 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,
fungsi pembelian mengirimkan surat permintaan penawaran harga
kepada pemasok untuk memperoleh informasi mengenai harga
barang dan berbagai syarat pembelian yang lain untuk
memungkinkan pemilihan pemasok yang akan ditunjuk sebagai
pemasok barang yang diperlukan oleh perusahaan.
3. Prosedur order pembelian, fungsi pembelian mengirim 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
pengiriman barang melakukan pemeriksaan mengenai jenis,
kuantitas dan mutu bahan yang diterima dari pemasok dan
kemudian membuat penerimaan barang dari pemasok tersebut.
5. Prosedur pencatatan hutang, dalam prosedur ini fungsi akuntansi
memeriksa dokumen-dokumen yang berhubungan dengan
pembelian dan meyelenggarakan pencatatan hutang atau
pengarsipan dokuman sumber sebagai catatan hutang.
47
6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi
rekening yang didebet dari transaksi pembelian untuk kepentingan
pembuatan laporan manajemen.
Menurut Mulyadi (2001, p.303) informasi yang diperlukan oleh
manajemen dari kegiatan pembelian adalah :
a. Jenis persediaan yang telah mencapai titik pemesanan kembali
(Re – order point)
b. Order pembelian yang telah dikirim kepada pemasok
c. Oder pembelian yang telah dipenuhi oleh pemasok
d. Total saldo utang dagang pada tanggal tertentu.
e. Saldo utang dagang pada tanggal tertentu.
f. Tambahan kualitas dan harga pokok persediaan dari pembeli.
2.4.2 Teori Penjualan
2.4.2.1 Jenis-jenis Penjualan
Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari
penjualan barang dan jasa baik secara kredit maupun secara tunai.
a. Dalam transaksi penjualan kredit, jika order dari pelanggan
telah dipenuhi dengan pengiriman barang atau penyerahan jasa,
untuk jangka waktu tertentu perusahaan memiliki piutang
kepada pelanggannya.
48
b. Dalam sistem penjualan secara tunai, barang atau jasa baru
diserahkan oleh perusahaan kepada pembeli jika perusahaan
telah menerima kas dari pembeli.
2.4.2.2 Fungsi yang terkait dalam penjualan kredit
Menurut Mulyadi (2001,p204), fungsi yang terkait pada
penjualan secara kredit adalah:
1. Fungsi kredit
Fungsi ini bertanggung jawab atas pemberian kartu kredit
kepada pelanggan terpilih. Dalam sistem penjualan secara kredit
dengan kartu kredit, fungsi kredit tidak diperlukan lagi
otorisasinya, karena autorisasi pemberian kredit sudah tercermin
dari kartu kredit yang ditunjukkan oleh pelanggan pada saat
melakukan pembelian.
2. Fungsi penjualan
Fungsi penjualan bertanggung jawab melayani kebutuhan
barang pelangggan. Fungsi penjualan mengisi faktur penjualan
kartu kredit untuk memungkinkan fungsi gudang dan fungsi
pengiriman melaksanakan penyerahan barang kepada
pelanggan.
3. Fungsi gudang
Fungsi gudang menyediakan barang yang diperlukan oleh
pelanggan sesuai dengan yang tercantum dalam tembusan faktur
penjualan kredit yang diterima dari fungsi penjualan.
49
4. Fungsi pengiriman
Fungsi ini bertanggung jawab untuk menyerahkan barang yang
kuantitas, mutu, dan spesifikasinya sesuai dengan yang
tercantum dalam tembusan faktur penjualan kartu kredit yang
diterima dari fungsi penjualan.
5. Fungsi akuntansi
Fungsi ini bertanggung jawab untuk mencatat transaksi
bertambahnya piutang kepada pelanggan kedalam kartu piutang
berdasarkan faktur penjualan kartu kredit yang diterima dari
fungsi pengiriman.
6. Fungsi penagihan
Fungsi ini bertanggung jawab untuk membuat surat tagihan
secara periodik kepada pemegang kartu kredit.
2.4.2.3 Fungsi yang terkait dalam penjualan tunai
Menurut Mulyadi(2002,p462) fungsi yang terkait dalam
penerimaan kas dari penjualan secara tunai adalah:
1. Fungsi penjualan
Fungsi ini bertanggung jawab untuk menerima order dari
pembeli, mengisi faktur penjualan tunai, dan menyerahkan
faktur tersebut kepada pembeli untuk kepentingan pembayaran
harga barang ke fungsi kas.
2. Fungsi kas
50
Fungsi ini bertanggung jawab sebagai penerima kas dan
pembeli.
3. Fungsi gudang
Fungsi ini bertanggung jawab untuk menyiapkan barang yang
dipesan oleh pembeli, serta menyerahkan barang tersebut ke
fungsi pengirim.
4. Fungsi pengiriman
Fungsi ini bertanggung jawab untuk membungkus barang dan
menyerahkan barang yang telah dibayar harganya kepada
pembeli.
5. Fungsi akuntansi
Fungsi ini bertanggung jawab sebagai pencatat transaksi
penjualan dan penerimaan kas serta pembuat laporan penjualan.
2.4.2.4 Jaringan prosedur penerimaan kas dari sistem penjualan tunai
Menurut Mulyadi (2001,p469) jaringan prosedur yang
membentuk sistem penerimaan kas dari penjualan tunai :
1. Prosedur order penjualan
Dalam prosedur ini fungsi penjualan menerima order dari
pembeli dan membuat faktur penjualan tunai untuk
memungkinkan pembeli melakukan pembayaran harga barang
ke fungsi kas dan untuk memungkinkan fungsi gudang dan
fungsi pengiriman menyiapkan barang yang akan diserahkan
kepada pembeli.
51
2. Prosedur penerimaan kas
Dalam prosedur ini fungsi kas menerima pembayaran harga
barang dari pembeli dan memberikan tanda pembayaran kepada
pembeli untuk memungkinkan pembeli tersebut melakukan
pengambilan barang yang dibelinya dari fungsi pengiriman.
3. Prosedur penyerahan barang
Dalam prosedur ini fungsi pengiriman menyerahkan barang
kepada pembeli.
4. Prosedur pencatatan penjualan tunai
Dalam prosedur ini fungsi akuntansi melakukan pencatatan
transaksi penjualan tunai dalam jurnal penjualan dan jurnal
penerimaan kas.
5. Prosedur penyetoran kas ke bank
Dalam prosedur ini fungsi kas menyetorkan kas yang diterima
dari penjualan tunai ke bank dalam jumlah penuh.
6. Prosedur pencatatan penerimaan kas
Dalam prosedur ini fungsi akuntansi mencatat penerimaan kas
ke dalam jurnal penerimaan kas berdasarkan bukti setor bank
yang diterima dari bank melalui fungsi kas.
7. Prosedur pencatatan harga pokok penjulan
Dalam prosedur ini fungsi akuntansi membuat rekapitulasi
harga pokok penjualan berdasarkan data yang dicatat dalam
faktur persediaan.