Upload
vuongkien
View
216
Download
0
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1 Teori-Teori Sistem Basis Data
2.1.1 Pengertian Sistem Basis Data
Sebelum kita masuk ke pengertian sistem basis data, kita harus
mengerti dulu apa yang dimaksud dengan data. Menurut Hoffer, Prescott
dan McFadden, (2002, p5), data adalah representasi tersimpan dari objek-
objek dan event-event yang mempunyai arti dan penting bagi user /
pengguna. Data berbeda dengan informasi, informasi adalah data yang
telah diproses sedemikian rupa sehingga dapat meningkatkan pengetahuan
orang yang menggunakan data tersebut.
Menurut Elmasri (2000, p4), data adalah fakta yang diketahui bisa
dicatat dan mempunyai makna implisit, dan kumpulan data tersebut akan
membentuk basis data.
Menurut Connolly dan Begg (2005, p15), sistem basis data dapat
dianggap sebagai sekumpulan data yang saling terkait secara logika, yang
dirancang dalam rangka memenuhi kebutuhan informasi dalam suatu
organisasi.
Menurut Silberschatz (2002, p1), sistem basis data adalah suatu
kumpulan data yang berisi informasi yang relevan terhadap suatu
perusahaan.
Menurut Hoffer, Prescott, dan McFadden, (2002, p4), sistem basis
data adalah kumpulan data yang terorganisir dan saling berkaitan secara
7
logika. Terorganisir maksudnya data distrukturkan sehingga mudah untuk
disimpan, dimanipulasi dan diperoleh oleh pengguna. Berkaitan maksudnya
data menggambarkan daerah asal (domain) kepentingan tertentu bagi
kelompok pengguna dan pengguna dapat menggunakan data untuk
menjawab pertanyaan seputar domain itu.
Menurut Mannino (2004, p4), sistem basis data adalah sekumpulan
data tetap yang saling terkait dan dapat diakses oleh berbagai user.
Menurut Atzeni (2003, p2), sistem basis data adalah kumpulan data
yang digunakan untuk merepresentasikan informasi yang diinginkan ke
sebuah sistem informasi.
Adapun definisi dari basis data menurut www.asep-hs.web.ugm.ac.id
adalah kumpulan data, yang dapat digambarkan sebagai aktivitas dari salah
satu atau lebih organisasi yang berelasi. Sedangkan sistem basis data adalah
sistem terkomputerisasi yang tujuan utamanya adalah memelihara
informasi dan membuat informasi tersebut tersedia saat dibutuhkan.
2.1.2 Pengertian DBMS (Sistem Basis Data Manajemen Sistem)
Menurut Connolly dan Begg (2005, p16), DBMS adalah sebuah
sistem perangkat lunak yang memampukan user untuk mendefinisikan,
menghasilkan, memelihara dan mengendalikan akses terhadap sistem
basis data. Kendali yang dimaksud disini adalah kendali bagi user untuk
melakukan insert, update, delete, dan pengambilan data dari sistem basis
data.
8
Menurut Mannino (2004, p7), DBMS adalah sekumpulan perangkat
lunak yang berguna untuk mendukung pembuatan, penggunaan, dan
pemeliharaan sistem basis data dan DBMS juga menyediakan metode
penyimpanan dan pengambilan data yang efisien.
Menurut Atzeni (2003, p3), DBMS adalah sistem perangkat lunak
yang berguna untuk mengatur sekumpulan data tetap yang besar dan
dapat digunakan bersama-sama, dan untuk memastikan kehandalan dan
privasi data.
2.1.3 Data Definition Language (DDL)
Menurut Connolly dan Begg (2005, p40), DDL adalah sebuah
bahasa yang mengizinkan administrator sistem basis data atau user untuk
menjelaskan dan memberi nama entitas, atribut, dan relasi yang
dibutuhkan untuk aplikasi, bersama dengan semua batasan–batasan
integritas dan keamanan (integrity dan security constraints).
Menurut Hoffer, Prescott dan McFadden, (2005, p291), DDL adalah
perintah yang digunakan untuk mendefinisikan sebuah sistem basis data,
seperti membuat tabel, menggabungkan tabel, menghapus tabel dan
menetapkan constraint.
Hasil dari kompilasi statement DDL adalah kumpulan dari tabel
yang disimpan dalam file khusus yang disebut sistem catalog. Sementara
istilah kamus data digunakan untuk mendeskripsikan sistem catalog.
9
2.1.4 Data Manipulation Language
Menurut Connolly dan Begg (2005, p40), DML adalah sebuah
bahasa yang menyediakan seperangkat operasi untuk mendukung dasar
operasi manipulasi data dasar dari data yang tersimpan pada sistem basis
data.
Menurut Hoffer, Prescott dan McFadden, Prescott dan McFadden
(2005, p41), DML adalah perintah yang digunakan untuk memelihara dan
memanipulasi query sebuah sistem basis data, seperti : select, updating,
inserting, modifiying, dan querying data.
2.1.5 Normalisasi
Menurut Connolly dan Begg (2005, p387), normalisasi adalah sebuah
teknik merancang sistem basis data, yang dimulai dengan memeriksa
hubungan (yang biasa disebut functional dependencies) antar atribut.
Menurut Mannino (2004, p231), normalisasi adalah sebuah proses
penghapusan redundancy pada tabel jadi tabel lebih mudah untuk
dimodifikasi.
Menurut Hoffer, Prescott dan McFadden (2005, p 211), normalisasi
adalah proses standard untuk menentukan atribut mana yang akan di
kelompokan bersama dalam sebuah relasi.
Tujuan dari normalisasi adalah:
• Mengurangi kemungkinan terjadinya redundansi data, misalnya dengan
menghindari anomali data.
10
• Mempermudah dalam memelihara data.
• Menyederhanakan penetapan referential integrity constraints.
• Menyediakan perancangan yang lebih baik dengan meningkatkan
representasi dari dunia nyata dan dasar yang lebih kuat bagi
perkembangan di masa depan.
Tahapan–tahapan normalisasi menurut Connolly dan Begg (2005,p),
sebagai berikut:
• Unnormalized (UNF)
Sebuah tabel yang berisi satu atau lebih kelompok yang berulang.
• First Normal Form (1NF)
Sebuah relasi yang berpotongan pada setiap baris dan kolom hanya
berisi satu nilai.
• Second Normal Form (2NF)
Sebuah relasi dimana 1NF dan setiap non-primary-key attribute harus
bergatung secara functional pada primary key.
• Third Normal Form (3NF)
Sebuah relasi yang telah melewati 1NF dan 2NF, dan atribut yang non-
primary key tidak transitive dependency terhadap primary key.
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 transitive dependent pada A melewati B (menyatakan bahwa A
bukan functional dependent pada B atau C).
11
2.1.6 Fourth-Generation Languages (4GLs)
Menurut Connolly dan Begg (2005, p42), 4GL adalah bahasa
pemrograman yang tidak memiliki prosedur standard dimana user
mendefinisikan apa yang harus diselesaikan, bukan cara yang digunakan.
User tidak mendefinisikan langkah-langkah yang yang dibutuhkan
program untuk mengerjakan sebuah tugas, tetapi mendefinisikan
parameter bagi tools yang akan digunakan untuk menghasikan sebuah
program aplikasi.
4GL meliputi :
• Presentation languages, seperti query languages dan report
generators.
• Speciality languages, seperti spreadsheets dan sistem basis data
languages.
• Application generators yang mendefinisikan, meng-insert, meng-
update, dan me-retrieve data dari sistem basis data untuk membangun
aplikasi.
• Bahasa-bahasa tingkat sangat tinggi yang digunakan untuk
menghasilkan kode aplikasi.
Adapun jenis-jenis lain dari 4GL, yaitu :
• Forms Generators adalah fasilitas interaktif untuk menciptakan input
data dan menampilkan interface dengan cepat. Dengan menggunakan
forms generators, user dapat mendefinisikan tampilan seperti apa
12
yang diinginkan, informasi apa yang ingin ditampilkan, dan dibagian
layar mana informasi akan ditampilkan.
• Report Generators adalah sebuah fasilitas untuk menciptakan laporan
dari data yang tersimpan di sistem basis data. Report generators mirip
dengan query language yang dapat mengambil informasi yang
dibutuhkan untuk menghasilkan laporan. Bedanya, dengan
menggunakan report generator, user mempunyai kendali yang lebih
baik untuk mendefinisikan tampilan output yang diinginkan. Ada 2
tipe utama report generator yaitu : berbasis bahasa dan berbasis
visual.
• Graphics generators adalah sebuah fasilitas untuk me-retrieve data
dari sistem basis data dan menampilkan data dalam bentuk grafik
yang menunjukkan tren-tren dan relasi-relasi dalam data.
• Application generators adalah sebuah fasilitas untuk memproduksi
sebuah program yang dapat menghasilkan tampilan bagi sistem basis
data. Penggunaan application generator dapat mengurangi waktu
yang diperlukan untuk merancang keseluruhan aplikasi perangkat
lunak.
2.1.7 Siklus Hidup Aplikasi Sistem Basis Data
Menurut Connolly dan Begg (2005, p283), sebuah sistem basis data
sistem adalah sebuah komponen dasar dari sebuah organisasi yang besar,
siklus pengembangan sistem basis data diturunkan berhubungan dengan
13
siklus hidup sistem informasi. Perlu diketahui bahwa urutan tahapan
siklus pengembangan sistem basis data tidak harus dilakukan secara
berurutan, tetapi dapat dilakukan secara berulang untuk mendapatkan
hasil yang sebaik mungkin. Untuk sistem basis data yang, dengan
pengguna dalam jumlah yang kecil, siklus hidup tidak harus kompleks.
Bagaimanapun juga, ketika merancang sistem basis data menengah
sampai besar dengan pengguna sampai ribuan, menggunakan ratusan
query dan program aplikasi, siklus hidup dapat menjadi sangat kompleks.
Gambar menjelaskan tahapan siklus pengembangan sistem basis data,
berikut dengan definisi serta tugas utama dari tiap tahapan dalam siklus
pengembangan sistem basis data.
14
Gambar 2.1 Siklus Hidup Pengembangan Sistem Basis Data
( Sumber : Connolly dan Begg, 2005, p284)
Database planning
System definition
Requirements collection and analysis
Database design
Conceptual database design
Logical database design
Physical database design
Data conversion and loading
DBMS selection (optional)
Implementation
Application design
Operational maintenance
Prototyping (optional)
Testing
15
1. Database Planning.
Adalah aktivitas manajemen yang memungkinkan tahapan dari aplikasi
sistem basis data untuk dapat direalisasikan seefisien dan seefektif
mungkin.
2. System Definition.
Adalah proses menspesifikasikan ruang lingkup dan batasan dari aplikasi
sistem basis data dan user view utama
3. Requirements collection and analysis.
Adalah proses mengumpulkan dan menganalisa informasi mengenai
bagian dari organisasi yang akan didukung oleh aplikasi sistem basis
data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan
pengguna pada sistem yang baru.
Untuk itu digunakan teknik yang disebut dengan fact finding techniques.
Terdapat lima teknik fact finding yang umum digunakan (Connolly dan
Begg, 2005, p314):
a. Mengevaluasi dokumen.
b. Wawancara.
c. Mengamati jalannya kegiatan kerja pada perusahaan.
d. Penelitian.
e. Kuesioner.
16
4. Database Design.
Adalah proses dari pembuatan sebuah rancangan yang mendukung visi
dan misi perusahaan yang dibutuhkan untuk sebuah sistem basis data.
Ada tiga tahap dalam merancang sistem basis data:
• Conceptual Database Design.
Proses membangun model informasi yang digunakan dalam sebuah
enterprise, terbebas dari semua pertimbangan fisik Fungsi dari tahap
ini adalah untuk membuat representasi konseptual dari sistem basis
data, termasuk identifikasi enitas-entitas yang penting, relasi, atribut.
• Logical Database Design.
Proses membangun model informasi yang digunakan dalam sebuah
enterprise yang didasarkan oleh data model spesifik, dan terbebas dari
DBMS tertentu dan pertimbangan fisik lainnya.
• Physical Database Design.
Proses memproduksi sebuah deskripsi dari implementasi sistem basis
data dalam secondary storage, yang menjelaskan relasi dasar,
organisasi file, dan indeks yang digunakan untuk mencapai akses
yang efisien ke data, dan setiap integrity constraint yang saling
berhubungan dan juga pengukuran keamanan (security).
5. DBMS selection.
Adalah menyeleksi DBMS untuk mendukung sistem basis data.
Berikut ini adalah langkah-langkah utama dalam memilih DBMS
(Connolly dan Begg, 2005, p296) :
17
1. Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan.
2. Membuat perbandingan mengenai dua atau tiga produk DBMS.
3. Mengevaluasi produk-produk DBMS tersebut.
4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari
evaluasi produk DBMS tersebut.
6. Aplication design.
Adalah perancangan antarmuka pengguna dan program aplikasi yang
menggunakan dan memproses sistem basis data.
7. Prototyping.
Adalah pembuatan model kerja dari sistem basis data, yang mengizinkan
perancang maupun pengguna untuk memvisualisasi dan mengevaluasi
bagaimana sistem final akan terlihat dan berfungsi.
8. Implementation.
Adalah peralisasian fisik dari sistem basis data dan aplikasi design.
9. Data conversion and loading.
Adalah proses mengambil data dari sistem yang lama ke sistem yang baru
dan jika mungkin, mengkonversi aplikasi yang ada untuk dijalankan pada
sistem basis data yang baru.
10. Testing.
Adalah pengeksekusian program untuk menemukan kesalahan.
11. Operational Maintenance.
Adalah proses memonitor dan merawat sistem setelah dilakukan instalasi.
Pada tahap ini melibatkan beberapa aktivitas:
• Memonitor performa dari sistem.
18
• Memaintain dan meng-upgrade sistem basis data.
2.1.8 Design Konseptual, Logikal, dan Fisikal Sistem Basis Data
Menurut Connolly dan Begg (2005, p37), metodologi perancangan
sistem basis data terdiri dari 3 tahap, yaitu :
1. Perancangan sistem basis data secara konseptual.
2. Perancangan sistem basis data secara logikal.
3. Perancangan sistem basis data secara fisikal.
2.1.8.1 Perancangan Sistem Basis Data Secara Konseptual
Perancangan sistem basis data secara konseptual adalah
proses membangun model informasi yang digunakan perusahaan,
yang tidak bergantung pada semua aspek fisikal.
Perancangan sistem basis data secara konseptual dibagi atas
langkah-langkah sebagai berikut :
• Identifikasi tipe-tipe entitas mengidentifikasikan tipe-tipe
entitas yang dibutuhkan. Entitas adalah sekumpulan objek
dengan property yang sama yang diidentifikasi oleh
perusahaan. Menurut Kroenke (2002,p), entitas adalah sesuatu
yang dapat diidentifikasi pada lingkungan kerja pengguna
yang pengguna ingin ketahui.
• Identifikasi relasi antar-entitas mengidentifikasikan relasi
yang penting yang terjadi antar-entitas.
19
• Identifikasi dan asosiasikan atribut dengan entitas atau tipe
relasi mengasosiasikan atribut dengan entitas atau relasi
yang sesuai.
• Menentukan attribute domain menentukan domain untuk
atribut pada model data konseptual. Attribute domain adalah
sejumlah nilai yang diperkenankan untuk satu atau lebih
atribut.
• Menentukan atibut-atribut candidate key, primary key, dan
alternative key mengidentifikasi candidate key(s) pada
tiap-tiap entitas, jika candidate key lebih dari satu, maka
dipilih satu primary key dan candidate keys yang lain menjadi
alternate keys. Candidate key adalah super key dalam relasi.
Super key adalah atribut atau himpunan atribut yang
mengidentifikasi secara unik tuple-tuple yang ada dalam
relasi. Primary key adalah candidate key yang dipilih untuk
identifikasi tuple secara unik dalam suatu relasi. Alternate key
adalah candidate key yang tidak terpilih sebagai primary key.
• Mempertimbangkan penggunaan enhanced modeling concepts
(langkah ini bersifat opsional) mempertimbangkan
penggunaan enhaced modeling concepts seperti :
specialization / generalization, aggregation, ataupun
composition.
20
Specialization adalah proses untuk memaksimalkan perbedaan
antara anggota pada sebuah entitas dengan mengidentifikasi
perbedaan karakteristik mereka. Generelization adalah proses
meminimalisasi perbedaan antara anggota pada sebuah entitas
dengan mengidentifikasi perbedaan karakteristik mereka.
Aggregation adalah merepresentasi “has a“ atau “is part of “
relasi antara entitas dimana relasi “has a” merepresentasikan
keseluruhan sedangkan relasi “is part of” merepresentasikan
bagian dari. Composition adalah bentuk spesifik dari
aggregation yang merepresentasikan sebuah hubungan antar-
entitas.
• Pengecekkan model data terhadap redudansi mengecek
apakah terjadi redudansi data. Redudansi data adalah data
yang berulang.
• Validasi model konseptual lokal terhadap transaksi user
memastikan bahwa model konseptual mendukung transaksi-
transaksi yang dibutuhkan.
• Peninjauan kembali model data konseptual lokal bersama
dengan user meninjau kembali model data konseptual yang
telah dibangun untuk memastikan bahwa model tersebut
sesuai dengan representasi yang sebenarnya dari persyaratan
data yang dibutuhkan oleh perusahaan.
21
2.1.8.2 Perancangan Sistem Basis Data Secara Logikal
Tujuan dari tahap perancangan sistem basis data secara
logikal adalah untuk menerjemahkan model data konseptual
menjadi model data logikal dan untuk melakukan validasi
terhadap struktur model yang sudah terbentuk sudah benar
atau belum dan apakah model tersebut mampu mendukung
transaksi yang terjadi. Perancangan sistem basis data secara
logikal dibagi atas langkah-langkah sebagai berikut :
• Mendapatkan relasi untuk model data logikal membuat
relasi model data logikal untuk merepresentasikan entitas-
entitas, relasi-relasi, dan atribut-atribut yang sudah
diidentifikasi.
Relasi-relasi yang diperoleh bagi model data logikal yang
ada pada model data konseptual :
o Strong entity types adalah adalah entitas yang
keberadaannya tidak tergantung dengan entitas lain,
misalnya entitas staff, cabang. Karakteristik dari
strong entity adalah setiap entitas dapat
diidentifikasikan dengan primary key dari tipe entitas
itu.
o Weak entity types adalah entitas yang keberadaannya
tergantung dari entitas lain. Karakteristik dari weak
entity adalah attribut yang terdapat pada entitas
tersebut tidak dapat mengidentifikasikan tipe entitas
22
itu secara unik.
o One-to-many (1:*) binary relationship types adalah
relasi dimana setiap entitas yang ada dapat mempunyai
satu relasi atau lebih dari satu relasi dengan entitas
yang lain.
o One-to-one (1:1) binary relationship types adalah
relasi dimana setiap entitas yang ada hanya dapat
mempunyai maksimal 1 relasi dengan entitas yang
lain.
o One-to-one (1:1) recursive relationship types adalah
relasi dimana setiap entitas yang ada sama pada kedua
sisi.
o Superclass / subclass relationship types adalah relasi
dimana superclass entity merupakan parent dari
subclass entity sebagai child
o Many-to-many (*:*) binary relationship type adalah
relasi dimana setiap entitas dapat mempunyai lebih
dari satu relasi dengan entitas lainnya.
o Complex relationship types adalah sebuah relasi yang
menghasilkan sebuah relasi untuk merepresentasikan
relasi yang ada dan meliputi atribut-atribut yang
menjadi bagian dari relasi tersebut.
o Multi-valued attributes adalah merupakan atribut yang
mempunyai banyak nilai untuk setiap tipe entitas.
23
• Melakukan validasi relasi dengan menggunakan
normalisasi.
• Melakukan validasi relasi terhadap transaksi yang
dilakukan user memastikan bahwa relasi pada model
data logikal mendukung transaksi-transaksi yang
dibutuhkan.
• Memeriksa integritiy constraint memeriksa integrity
constraints yang dirpresentasikan pada model data logikal.
Integrity constraints adalah batasan-batasan yang
digunakan agar kelengkapan, keakuratan, dan
kekonsistensian sistem basis data terjaga dengan baik.
Batasan-batasan yang ada meliputi : required data,
attributes domain constraints, multiplicity, entity integrity,
referential integrity, dan enterprise constraints.
• Peninjauan kembali model data logikal bersama dengan
user meninjau kembali model data logikal yang telah
dibangun untuk memastikan bahwa model tersebut sesuai
dengan representasi yang sebenarnya dari persyaratan data
yang dibutuhkan oleh perusahaan.
• Menggabungkan model-model data logikal yang ada
menjadi model global (langkah opsional)
menggabungkan model-model data logikal lokal menjadi
24
sebuah model data logikal global yang merepresentasikan
views sistem basis data bagi semua user.
• Memeriksa perkembangan di masa yang akan datang
memperkirakan apakah akan terjadi perubahan yang
signifikan di masa yang akan datang dan untuk menilai
apakah model data logikal yang ada sekarang dapat
mengikuti perubahan tersebut.
2.1.8.3 Perancangan Sistem basis data Secara Fisikal
Tujuan dari perancangan sistem basis data secara fisikal
adalah untuk menghasilkan gambaran implementasi sistem basis
data pada secondary storage. Tahap perancangan secara fisikal ini
mendeskripsikan base relations, file organizations, dan indexes
yang digunakan untuk mencapai akses data yang efisien dan
setiap integrity constraints yang saling berhubungan dan
pengukuran keamanan.
Perancangan sistem basis data secara fisikal dibagi menjadi
beberapa langkah yaitu :
• Menerjemahkan model data logikal global terhadap DBMS
yang telah ditentukan untuk menghasilkan skema relasional
sistem basis data dari model data logikal sehingga bisa
diimplementasikan pada DBMS yang dituju. Langkah-langkah
yang digunakan adalah :
25
o Merancang relasi-relasi dasar menentukan bagaimana
merepresentasikan relasi dasar yang telah teridentifikasi
pada model data logikal di DBMS yang dituju.
o Merancang representasi dari data yang diperoleh
menentukan bagaimana merepresentasikan data yang
terdapat pada model data logikal global ke dalam DBMS
yang dituju.
o Merancang general constraints merancang general
constraints untuk DBMS yang dituju.
• Merancang file organizations dan indexes untuk
menentukan file organizations yang optimal untuk
menyimpan relasi dasar dan indexes yang dibutuhkan untuk
mencapai performa yang dapat diterima, itulah, cara dimana
relasi dan tuple disimpan dalam secondary storage. Terdapat 4
langkah untuk mewujudkan tahap ini, yaitu :
o Menganalisa transaksi mengetahui fungsi-fungsi
transaksi yang berjalan pada sistem basis data dan untuk
menganalisa transaksi-transaksi yang penting.
o Memilih file organizations untuk mengetahui file
organizations yang efisien untuk relasi dasar.
o Memilih indexes untuk menentukan apakah
penambahan indexes akan meningkatkan performa sistem.
26
o Memperkirakan besarnya tempat penyimpanan yang
dibutuhkan untuk memperkirakan besarnya tempat
penyimpanan yang dibutuhkan oleh sistem basis data.
• Merancang user views untuk merancang user views yang
telah teridentifikasi selama tahap requirements collection and
analysis dari siklus pengembangan sistem basis data.
• Merancang mekanisme keamanan untuk merancang
mekanisme keamanan sistem basis data seperti yang
dispesifikasi oleh user selama tahap requirements collection
dari siklus pengembangan sistem basis data.
• Mempertimbangkan penggunaan dari redudansi terkontrol
untuk menentukan apakah penggunaan redudansi terkontrol
yang telah ternormalisasi akan dapat meningkatkan performa
sistem.
• Melakukan pengawasan dan pemeliharaan terhadap sistem
operasi untuk mengawasi sistem operasi dan meningkatkan
performa dari sistem untuk memperbaiki rancangan-rancangan
yang kurang sesuai atau sebagai refleksi adanya perubahan
kebutuhan.
27
2.2 Teori – teori Pendukung
2.2.1 Pembelian
Menurut Haidar (2001, p352), pembelian adalah mendapatkan sesuatu
(barang atau jasa) dengna menukar uang yang senilai.
Menurut Barata (2001, p29), pembelian adalah cara memperoleh
sesuatu (barang atau jasa) dengan memberikan balas jasa berupa sejumlah
uang yang nilainya sama dengan harga barang atau jasa yang diperolehnya.
Menurut Mulyadi (2001, p299), pembelian didefinisikan sebagai
suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang
yang diperlukan oleh perusahaan.
Fungsi yang terkait dalam sistem pembelian (Mulyadi, 2001, p299) adalah :
1. Fungsi gudang, bertanggung jawab untuk mengajukan permintaan
pembelian yang sesuai dengan posisi persediaan yang ada di gudang.
2. Fungsi pembelian, bertanggung jawab untuk mengeluarkan order
pembelian kepada pemasok.
3. Fungsi penerimaan, bertanggung jawab menerima barang yang dikirim
dari pemasok dan melakukan pemeriksaan guna menetukan atau
tidaknya barang untuk diterima.
4. Fungsi akuntansi, fungsi yang terkait dalam hal ini adalah fungsi
pencatat utang dan fungsi pencatat persediaan.
Jaringan prosedur yang membentuk sistem pembelian (Mulyadi, 2001,
p301), adalah sebagai berikut :
1. Prosedur permintaan pembelian.
28
Fungsi gudang mengajukan permintaan pembelian dalam formulir surat
permintaan pembelian kepada fungsi pembelian.
2. Prosedur order pembelian.
Fungsi pembelian mengirim surat order pembelian kepada pemasok dan
memberitahukan kepada unit-unit lain (misalnya fungsi penerimaan,
fungsi yang meminta barang, fungsi pencatat hutang) mengenai order
pembelian yang sudah dikeluarkan.
3. Prosedur penerimaan barang.
Fungsi penerimaan melakukan pemeriksaan terhadap barang yang
diterima dari pemasok, dan kemudian membuat laporan penerimaan
barang.
4. Prosedur pencatatan utang.
Fungsi akuntansi memeriksa dokumen–dokumen yang berhubungan
dengan pembelian dan menyelenggarakan pencatatan utang.
5. Prosedur distribusi pembelian.
Prosedur ini meliputi distribusi rekening yang didebit dari transaksi
pembelian untuk kepentingan pembuatan laporan manajemen.
Dokumen–dokumen yang digunakan dalam sistem pembelian (Mulyadi,
2001, p303), terdiri atas:
1. Surat permintaan pembelian.
2. Surat order pembelian.
3. Laporan penerimaan barang.
4. Surat perubahan order.
5. Bukti kas keluar.
29
2.2.2 Penjualan
Menurut Haidar (2001, p384), penjualan adalah pemindahan hak
milik atas barang (termasuk surat-surat berharga) atau jasa sesuai dengan
harga yang disepakati dan dibayar.
Menurut www.exnal.com, penjualan adalah proses mempengaruhi
keputusan pelanggan dalam menentukan pilihan produk atau jasa yang
akan ditukarnya dengan uang atau yang akan dibeli.
Menurut Barata (2001, p46), penjualan adalah suatu penyerahan
barang atau jasa dengan memperoleh balas jasa berupa sejumlah uang
yang jumlahnya sama dengan harga yang ditetapkan untuk barang atau
jasa yang diserahkan.
Menurut (sap.gunadarma.ac.id), jenis-jenis penjualan dapat
dibedakan menurut cara pembayarannya, yaitu :
• Penjualan tunai, bila pembayaran dilakukan secara tunai.
• Penjualan kredit, bila pembayaran dilakukan secara
angsuran atau kredit.
Menurut (sap.gunadarma.ac.id), terdapat juga penjualan yang disebut
penjualan konsinyasi, disebut juga dengan penjualan penitipan, dimana
perusahaan menitipkan produknya untuk dijual di took lain (bukan milik
perusahaan). Fungsi yang terkait dalam sistem penjualan (Mulyadi, 2001,
p211) adalah :
30
1. Fungsi penjualan, bertanggung jawab untuk menerima order,
mengedit order, meminta otorisasi kredit, menentukan tanggal
pengiriman, dan bertanggung jawab atas transaksi penjualan.
2. Fungsi gudang, bertanggung jawab untuk menyimpan dan
menyiapkan barang yang dipesan, serta menyerahkan barang ke
fungsi pengiriman.
3. Fungsi pengiriman, bertanggung jawab menyerahkan barang kepada
pelanggan berdasarkan surat jalan yang diterimanya dari fungsi
penjualan.
4. Fungsi penagihan, bertanggung jawab membuat dan mengirimkan
faktur penjualan kepada pelanggan, serta menyediakan salinan faktur
bagi kepentingan pencatatan transaksi penjualan oleh fungsi
akuntansi.
5. Fungsi akuntansi, bertanggung jawab mencatat piutang yang timbul
dari transaksi penjualan, dan membuat laporan penjualan.
Jaringan prosedur yang membentuk sistem penjualan (Mulyadi, 2001,
p219) adalah sebagai berikut :
1. Prosedur order penjualan.
Fungsi penjualan menerima order dari pembeli dan menambahkan
informasi penting pada surat order. Fungsi penjualan kemudian
membuat surat jalan, dan mengirimkannya kepada berbagai fungsi
yang lain untuk memungkinkan fungsi tersebut memberikan
kontribusi dalam melayani order dari pembeli.
2. Prosedur pengiriman.
31
Fungsi pengiriman mengirimkan barang kepada pembeli sesuai
dengan informasi yang tercantum dalam surat jalan.
3. Prosedur penagihan.
Fungsi penagihan membuat faktur penjualan dan mengirimkannya
kepada pembeli. Dalam metode tertentu, faktur penjualan dibuat oleh
fungsi penjualan sebagai tembusan pada waktu bagian ini membuat
surat jalan.
4. Prosedur pencatatan piutang.
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.
5. Prosedur distribusi penjualan.
Fungsi akuntansi mendistribusikan data penjualan menurut informasi
yang diperlukan dalam manajemen.
Dokumen–dokumen yang digunakan dalam sistem penjualan (Mulyadi,
2001, p214) meliputi:
1. Surat jalan dan tembusannya.
2. Faktur dan tembusannya.
3. Rekapitulasi harga pokok penjualan.
4. Bukti memorial.
Retur Penjualan
Transaksi retur penjualan terjadi jika perusahaan menerima
pengembalian barang dari pelanggan karena terjadi ketidaksesuaian
32
seperti barang yang diterima tidak cocok dengan spesifikasi pada surat
order atau barang telah kadaluarsa. Pengembalian barang oleh pelanggan
harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi
penerimaan.
2.2.3 Persediaan / Pergudangan
Pergudangan adalah usaha penyimpanan barang di gudang dengan
fasilitas-fasilitasnya, seperti penyimpanan barang dalam kamar / ruangan
pendingin dan gudang barang-barang yang berada di kawasan berikut.
(Sumber: www.bi.go.id).
Penyimpanan atau pergudangan adalah pengamanan barang-barang
selama dibutuhkan. (Sumber: http://library.usu.ac.id).