BAB 2 LANDASAN TEORI
2.1
Teori-teori Utama 2.1.1
Basis Data 2.1.1.1 Pengertian Basis Data Menurut Connolly (2002, p14), database adalah suatu kumpulan logikal data yang terhubung satu sama lain, dan deskripsi dari suatu data yang dirancang sebagai informasi yang dibutuhkan oleh organisasi.
2.1.1.2 Komponen Sistem Basis Data Sistem basis data memiliki 4 komponen utama, yaitu: 1. Data yang ada harus terintegrasi (integrated) dan terbagi (shared) 2. Perangkat keras (hardware) sebagai media penyimpanan data 3. Perangkat lunak (software) 4. Pemakai (user)
2.1.2
Data Flow Diagram Menurut Yourdon (1989, p139), diagram aliran data adalah model atau alat yang digunakan untuk menggambarkan sistem sebagai jaringan dari sekumpulan proses fungsional, yang dihubungkan satu dengan lainnya oleh suatu aliran data dan meneruskannya menjadi data.
7
8 Ada tiga tingkatan dalam diagram aliran data, yaitu: 1. Diagram Konteks Merupakan tingkatan yang paling pertama, yang menggambarkan ruang lingkup sistem dari sistem yang digunakan. Diagram ini hanya memiliki satu proses yang menggambarkan sistem secara keseluruhan dan hubungan antara sistem dengan unit-unit di luar sistem tersebut. 2. Diagram Nol Diagram yang menggambarkan proses-proses dan aliran data yang terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah menjadi prosesproses dan aliran data yang lebih terperinci. 3. Diagram Rinci Diagram yang menggambarkan rincian proses-proses yang ada pada diagram nol dan rincian proses-proses ini dapat dipecah lagi menjadi proses-proses yang lebih terperinci. Menurut Yourdon (1989, p141-152), diagram aliran data terdiri dari simbol-simbol sebagai berikut: Nama Proses
Penjelasan (
Bubble
Function Transformation )
atau Proses
Notasi menggambarkan
atau bagian dari sisten yang mengolah masukan menjadi keluaran.
Proses
digambarkan
dengan
sebuah lingkaran.
9 Aliran (flow)
Aliran
menggambarkan
perpindahan informasi dari satu bagian ke bagian lain dari sistem. Awal panah menggambarkan asal data sedangkan
arah
panah
menggambarkan tujuan.
Store
Simbol ini digunakan untuk menggambarkan penyimpanan data.
Terminator
Merupakan
simbol
menggambarkan
yang entitas
yang dapat berupa orang, kelompok, atau organisasi yang berhubungan dengan sistem.
Tabel 2.1 Simbol yang digunakan pada Diagram Aliran Data
10 2.1.3
State Transition Diagram Menurut Jeffrey A. et al (1996, p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukan bagaimana kejadian-kejadian tersebut dari satu state ke state lain. State Transition Diagram merupakan suatu modeling tool yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. State Transition Diagram adalah diagram yang terdiri dari: -
State (keadaan)
-
Event atau tindakan yang menyebabkan perpindahan dari satu state ke state lainnya.
Ada dua macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu: 1. Gambar persegi panjang menunjukan state dari sistem 2. Gambar panah menunjukan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukan kejadian yang menyebabkan transisi yang terjadi. Label dibawah menunjukan aksi yang terjadi akibat dari kejadian tadi.
11 Simbol
Nama
Keterangan
State
State melambangkan keadaan sebuah objek, baik atribut itu sendiri maupun hubungan objek tesebut dengan objek lain dari sistem.
Transition Transition kejadian
melambangkan yang
suatu
menyebabkan
perubahan state dalam sistem. Setiap state
transition
merupakan
penghubung 2 buah state.
Tabel 2.2 Simbol yang digunakan pada State Transition Diagram
2.1.4 Siklus Basis Data Menurut Connoly (2002, p272), suatu basis data dianalisis dan dirancang berdasarkan silus hidup seperti tergambar pada gambar berikut:
12 Database Planning
System Definition
Requirement Collection and Analysis
Database Design Conceptual Database Design
Logical Database Design
Application Design
DBMS Selection Physical Database Design
Prototyping (Optional)
Implementation
Data Conversion
Testing
Operational Maintenance
Gambar 2.1 Siklus aplikasi basis data
13 a. Database Planning Dalam tahap ini dilakukan perencanaan bagaimana tahapantahapan perancangan berikutnya dapat direalisasikan secara paling efektif dan efisien. b. System Definition Tahap ini menjabarkan spesifikasi jangkauan dan batasan dari aplikasi basis data, penggunaannya dan lingkungan tempat aplikasi diimplementasikan. c. Requirement Collection and Analysis Pada tahap ini dilakukan pengumpulan dan analisis kebutuhan pengguna dan lingkungan aplikasi. d. Database Design Pada tahap ini dilakukan perancangan basis data secara konseptual, logikal, dan fisikal. e. DBMS Selection (optional) DBMS yang paling cocok dipilih untuk aplikasi basis data. f. Application Design Tahap ini dilakukan untuk merancang interface bagi pengguna dan program aplikasi yang menggunakan dan memproses basis data. g. Prototyping (optional) Tahap ini ditujukan untuk membangun prototype dari aplikasi basis data. Hasil prototype ini memungkinkan perancang atau
14 pengguna untuk memvisualisasikan dan mengevaluasi bagaimana bentuk dan fungsionalitas sistem akhir. h. Implementation Dalam tahap ini dilakukan pembuatan definisi basis data eksternal, konseptual dan internal, serta program aplikasi. i. Data Convertion and Loading Pada tahap ini dilakukan konversi data dari sistem lama ke sistem baru. j. Testing Aplikasi basis data yang telah selesai akan diuji coba dengan tujuan untuk mencari error pada aplikasi. Selain itu, dilakukan pula validasi aplikasi atas kebutuhan yang telah dispesifikasikan sebelumnya oleh pengguna. k. Operational Maintenance Pada tahap ini aplikasi basis data diimplementasikan sepenuhnya. Sistem diawasi dan dipelihara secara berkelanjutan. Jika diperlukan, kebutuhan-kebutuhan baru dimasukan dalam aplikasi basis data melalui tahapan basis data terdahulu.
15 2.1.5
Tahapan Perancangan Basis Data Connolly (2002, p417-476), mendefinisikan metodologi perancangan basis data atas tiga tahapan, yaitu: 1.
Perancangan basis data konseptual
Tahap ini merupakan proses pembuatan model informasi yang digunakan dalam sebuah perusahaan yang tidak tergantung pada semua masalah fisik. Awal tahap ini dimulai dengan pembuatan conceptual data model perusahaan yang secara keseluruhan bebas dari detail implementasi seperti DBMS yang digunakan, program aplikasi, bahasa pemrograman, platform untuk hardware, tingkat kinerja, maupun bentuk masalah fisik lainnya. Perancangan ini terdiri dari tiga langkah sebagai berikut: a.
Penentuan entity (entitas) pada basis data
b.
Pendefinisian relationship (hubungan) antar entitas
c.
Penerjemahan hubungan ke dalam entity
16 Langkah-langkah diatas melibatkan komponen-komponen sebagaimana diperlihatkan pada gambar berikut ini: Logical Data Model
Entity
Attribute
Candidate Key
Primary Key
Foreign Key
Alternative Key
Name
Relation
Type
Constrain
Referential Integrity
Insert
Format
Update
Length
Domain
Delete
Value
Gambar 2.2 Komponen-komponen pada perangkat basis data konseptual
Penjelasan mengenai komponen-komponen di atas adalah sebagai berikut: a. Entity (entitas) Entity merupakan sekumpulan objek yang memiliki rupakan sekumpulan
objek yang memiliki property yang sama, yang oleh
perusahaan
dianggap memiliki keberadaan yang tidak terikat oleh
objek lainnya.
17 PELANGGAN, PEGAWAI, DEPARTEMEN, PENGARANG, BUKU, BARANG, MATAKULIAH merupakan contoh entity. Pada model relasional, entity akan menjadi tabel. Menurut Connoly & Berg (2002, p342-343), entity dapat diklasifikasikan atas strong entity (entitas kuat) dan weak entity (entitas lemah). Strong entity merupakan entitas yang keberadaannya tidak tergantung pada keberadaan entity lainnya. Sedangkan weak entity adalah entity yang keberadaannya tergantung pada keberadaan entity lain, sehingga bila strong entity-nya dihilangkan maka weak entity yang tergantung padanya akan ikut hilang. b. Attribute (atribut) Atribut adalah property atau item data yang menjadi bagian dari suatu entity. Nama Pegawai dan NIP adalah contoh atribut yang terdapat pada entity PEGAWAI. Jumlah SKS dan kode mata kuliah merupakan contoh atribut pada entity MATAKULIAH. c. Relation (hubungan) Relation adalah seperangkat hubungan atau kaitan yang memiliki arti antara dua entity. Misalnya, antara DOSEN dan MAHASISWA terdapat hubungan berupa bimbingan. Pada model relasional, relation akan menjadi foreign key (kunci tamu). d. Constraint (batasan) Constraint digunakan untuk melindungi integritas data, misalnya melindungi kesalahan sewaktu pengisian data.
18 e. Domain Domain adalah himpunan nilai yang berlaku bagi suatu atribut. Batasan domain mendefinisikan Nama (name), Tipe (type), Format, Panjang (length), dan Nilai (value) masing-masing item data. Pada berbagai perangkat lunak basis data akan sering ditemui tipe seperti CHAR dan NUMERIC, dimana CHAR menyatakan tipe alphanumeric atau karakter (dapat berupa gabungan huruf, simbol, dan angka) dan NUMERIC yang menyatakan tipe bilangan. f. Referential Integrity (integritas referensial) Integritas referensial merupakan aturan-aturan yang mengatur hubungan antara primary key dengan foreign key milik tabel-tabel yang berada dalam suatu basis data relasional untuk menjaga konsistensi data. Berdasarkan operasi yang akan dilakukan, integritas referential dapat dibagi menjadi tiga macam, yaitu: 1. insert, 2. update, dan 3. delete Tujuan integritas referential ini adalah untuk menjamin agar elemen dalam suatu tabel yang menunjuk ke suatu pengenal unik pada suatu basis pada tabel lain benar-benar menunjuk ke suatu nilai yang memang ada. Sebagai contoh, dapat didefinisikan suatu aturan yang tidak memperkenankan data pelanggan pada tabel Pelanggan dihapus jika ada data pelanggan tersebut dipakai pada tabel lain (integritas referential untuk delete). Contoh lain, seorang mahasiswa tidak diizinkan mendaftar
19 matakuliah yang tidak ditawarkan pada semester ini (intergritas referential
untuk
memungkinkan
insert).
pengubahan
Integritas suatu
key
referential pada
pada
suatu
tabel
update akan
menyebabkan suatu nilai pada tabel lain yang tergantung pada tabel tersebut juga akan diubah, kemampuan ini disebut juga dengan cascade update. g. Key (kunci) Penentuan kunci (key) merupakan hal yang paling esensial pada basis data relasional. Kunci bukan hanya sebagai metode untuk mengakses suatu baris tertentu, tetapi sekaligus juga dapat menjadi pengenal unik dalam suatu table. 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 dalam perancangan: 1. Simple key Kunci sederhana merupakan kunci yang dibentuk oleh sebuah elemen data (atribut). 2. Composite key Kunci komposit adalah kunci yang tersusun atas lebih dari satu atribut. 3. Candidate key Kunci kandidat adalah kunci yang secara unik (tidak ada kembarannya) dapat dipakai sebagai pengenal unik untuk mengidentifikasikan suatu baris dalam tabel.
20 4. Primary key Kunci primer adalah kunci yang dipilih di antara kunci kandidat untuk menjadi kunci utama untuk mengidentifikasikan baris dalam tabel. 5. Alternate key Kunci alternatif adalah semua kunci kandidat yang tidak bertindak sebagai kunci primer. 6. Foreign key Kunci tamu adalah sembarang atribut pada suatu tabel yang menjadi kunci primer pada tabel lainnya.
2.
Perancangan basis data logikal
Perancangan basis data secara logikal merupakan proses pembuatan model informasi yang digunakan perusahaan berdasarkan pada model data khusus, tapi bebas dari DBMS tertentu dan masalah fisik lainnya. Tahap ini memetakan model konseptual pada sebuah model logikal yang dipengaruhi oleh data model untuk database tujuan. Model data logikal merupakan sumber informasi untuk tahap perancangan physical, menyediakan suatu kendaraan bagi perancang physical database untuk melakukan pertukaran yang sangat penting untuk perancangan basis data yang efisien.
3.
Perancangan basis data fisikal
Perancangan basis data secara fisik merupakan proses pembuatan deskripsi dari implementasi database pada secondary storage yang
21 menjelaskan basis relasi, organisasi file, dan indeks yang digunakan untuk memperoleh akses pada data yang efisien, dan masalah integritas lainnya yang berkaitan, dan menentukan mekanisme security. Tahap ini memungkinkan perancang untuk menentukan bagaimana basis data diimplementasikan. Oleh karena itu, rancangan fisikal dirancang untuk DBMS yang khusus. Antara rancangan logikal dan fisikal terdapat keterkaitan, hal ini disebabkan karena keputusan yang diambil selama perancangan fisikal untuk meningkatan kinerja bisa mempengaruhi logical data model. Kegiatan-kegiatan yang dilakukan, antara lain:
2.1.6
a.
Mendefinisikan seluruh kolom untuk semua tabel.
b.
Mendefinisikan kebutuhan integritas referensial.
c.
Mendefinisikan view.
d.
Mendefinisikan indeks.
ERD (Entity Relationship Diagram) 2.1.6.1 Entity Type Menurut Connolly (2002, p331), entity type adalah sekelompok objek-objek dengan property yang sama, yang diidentifikasikan dengan keberadaan yang independent di perusahaan. Konsep dasar dari ER model adalah entity type, yang merepresentasikan grup dari objek-objek dalam dunia nyata dengan property yang sama. Sebuah entity type mempunyai keberadaan yang tidak terikat dan dapat menjadi objek dengan
22 keberadaan fisik atau objek dengan keberadaan konseptual. Entity occurrence
adalah
objek
dari
sebuah
entity
type
yang
diidentifikasikan dengan unik. Pada buku Connolly digunakan pengertian entity type dan entity occurrence tetapi kita disini menggunakan pengertian umum yaitu ‘entity’.
2.1.6.2 Relationship Menurut Connolly (2002, p334), relationship type adalah sebuah kumpulan yang memiliki arti antara entity type. Relationship occurrence adalah suatu kumpulan objek yang diidentifikasikan dengan unik, yang termasuk satu kejadian dari tiap-tiap entity yang ada. Pada buku Connolly digunakan pengertian relationship type atau relationship occurrence tetapi kita
disini
menggunakan
pengertian
yang
umum
yaitu
‘relationship’.
2.1.6.3 Attribute Menurut Connolly (2002, p338), attribute adalah sebuah entity atau tipe relationship. Attribute domain adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Attribute simple adalah suatu atribut yang terdiri atas komponen tunggal dengan keberadaan yang tidak terikat. Atribut ini tidak dapat dibagi lagi menjadi komponen yang lebih kecil. Attribute composite adalah atribut yang terdiri atas banyak komponen, tiap-
23 tiap komponen dengan keberadaan yang tidak terikat. Atribut tertentu dapat dibagi lagi menjadi komponen yang lebih kecil dengan keberadaan masing-masing yang tidak terikat. Attribute single valued adalah atribut yang menampung nilai tunggal untuk tiap-tiap kejadian dari suatu entity type. Sebagian besar atribut adalah bernilai tunggal. Attribute multi valued adalah atribut yang menampung banyak nilai untuk setiap kejadian dari suatu entity type, contoh attribute multi valued adalah telephone. Derived attribute adalah atribut yang mempresentasikan sebuah nilai yang dapat diturunkan dari nilai atribut yang berelasi atau kumpulan atribut, tidak dibutuhkan dalam entitas yang sama.
Supervises
0..1
1..1
Manages
0..1
Staff 0..10
staffNo
Branch 1..*
Has
1..1
1..1
branchNo 1..1
Registers
0..* Client clientNo
Gambar 2.3 Contoh Gambar ERD
24 2.1.7 Normalisasi 2.1.7.1Pengertian Normalisasi Menurut Connolly (2002, p376) “A technique for producing a set of relations with desirable properties, given the data requirements of an enterprise.” Yang dapat diartikan normalisasi adalah sebuah teknik untuk membuat sebuah set relasi dengan properti yang diinginkan, dengan kebutuhan data perusahaan. Sebuah tabel yang belum dinormalisasi disebut dengan Unnormalize form (UNF). UNF adalah sebuah tabel yang memiliki satu atau lebih repeating groups. 1.
Bentuk normal pertama (First Normal Form / 1NF)
Aturan bentuk normal pertama (1NF) menurut Connolly (2002, p388), “Sebuah relasi dimana tiap baris dan kolom hanya berisi satu nilai.” Bentuk normal pertama dicapai bila tiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terjadi adanya data rangkap. 2.
Bentuk normal kedua (Second Normal Form / 2NF)
Aturan bentuk normal kedua (2NF) menurut Connolly (2002, p392), “Sebuah relasi dalam bentuk normal pertama dan setiap
25 atribut bukan primary key yang bergantung secara fungsional kepada primary key”. Bentuk
normal
kedua
adalah
berdasarkan
konsep
ketergantungan fungsional penuh (full functional dependency). 3.
Bentuk normal ketiga (Third Normal Form / 3NF)
Aturan bentuk normal ketiga (3NF) menurut Connolly (2002, p394), “Sebuah relasi dalam bentuk normal pertama dan kedua serta setiap atribut bukan primary key yang bergantung secara transitif kepada primary key”. Bentuk normal ketiga adalah berdasarkan
pada
konsep
peralihan ketergantungan (transitive dependency). 4.
Bentuk normal Boyce-Codd (Boyce-Codd Normal Form /
BCNF) Aturan bentuk normal Boyce-Codd (BCNF) menurut Connolly (2002, p398), “Sebuah relasi disebut BCNF, jika dan hanya jika setiap determinannya adalah sebuah candidate key”. Untuk menguji apakah suatu relasi sudah dalam BCNF, dilakukan identifikasi semua determinan dan memastikan bahwa determinan tersebut adalah candidate key. Determinan adalah sebuah atribut, atau kumpulan atribut, dimana beberapa atribut yang lain masih bergantung secara fungsional penuh (fully functionally dependent).
26 5.
Bentuk normal keempat (Fourth Normal Form / 4NF)
Aturan bentuk normal ke-empat (4NF) menurut Connolly (2002, p407-408), “Sebuah relasi di BCNF dan tidak mengandung ketergantungan multi-valued nontrivial (nontrivial multi-valued dependency). Bentuk normal ke-empat (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.
Bentuk normal kelima (Fifth Normal Form / 5NF)
Aturan bentuk normal kelima (5NF) menurut Connolly (2002, p410), “Sebuah relasi yang tidak mempunyai ketergantungan gabungan (join dependency). Join dependency menggambarkan sebuah tipe ketergantungan.
27 2.1.8
Integritas Date
(2000,
p249),
mengemukakan
bahwa
integritas
menunjukkan pada keakuratan atau kebenaran data dalam basis data. a.
Entity Integrity Menurut Connolly (2002, p458), integritas diterapkan pada
primary key pada relasi dasar. Relasi dasar adalah relasi yang menyatakan entity pada skema konseptual. Penerapan entity integrity adalah bahwa pada relasi dasar primary key tidak boleh null. b.
Referential Integrity Menurut Connolly (2002, p458), integritas ini diterapkan pada
foreign key. Jika sebuah foreign key terdapat pada suatu relasi, maka foreign key tersebut harus menunjuk ke candidate key pada relasi yang lain. Jika candidate key yang ditunjuk tidak ada, maka foreign key tersebut harus bernilai null. c.
Enterprise Constraint Menurut Connolly (2002, p483), enterprise constraint merupakan
aturan tambahan yang dibuat oleh user atau database administrator. Enterprise constraint pada umumnya merupakan kebijakan-kebijakan yang diterapkan pada perusahaan.
28 2.2
Teori-teori Pendukung 2.2.1
Pembelian 2.2.1.1
Definisi Pembelian Menurut Mulyadi (2001, p209), pembelian adalah suatu usaha yang digunakan dalam perusahaan untuk penggandaan 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.
2.2.1.2 Jenis-jenis Pembelian Berdasarkan jenis pemasok, pembelian dapat dibedakan menjadi dua, yaitu : a. Pembelian lokal, yaitu pembelian yang dilakukan dari pemasok dalam negeri. b. Pembelian impor, yaitu pembelian yang dilakukan dari pemasok luar negeri.
2.2.1.3
Fungsi Yang Terkait Dalam Pembelian Fungsi pembelian pada perusahaan adalah melakukan pembelian
barang
sesuai
dengan
kebutuhan
persediaan
perusahaan. Di dalam melaksanakan pembelian ada beberapa
29 faktor yang harus diperhatikan yaitu mutu barang, jumlah yang dibutuhkan, waktu pengiriman serta harga barang. Menurut Mulyadi (2001, p300), fungsi yang terkait dalam sistem pembelian adalah : a. Fungsi gudang, bertanggung jawab untuk mengajukan permintaan sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan. b. Fungsi pembelian, bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barnag 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 yang berkaitan dengan transaksi pembelian adalah fungsi pencatatan hutang yang bertanggung jawab untuk mencatat transaksi pembelian ke register bukti kas keluar untuk menyelenggarakan arsip dokumen sumber bukti kas keluar yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagai buku pembantu hutang.
30 2.2.1.4 Informasi Yang Diperlukan Dari Kegiatan Pembelian Menurut Mulyadi (2001, p303-310) informasi yang diperlukan oleh manajemen dari kegiatan pembelian adalah : a. Jenis persediaan yang telah mencapai titik pemesanan kembali. b. Order pembelian yang telah dikirim kepada pemasok c. Order pembelian yang telah dipenuhi oleh pemasok d. Total saldo utang dagang pada tanggal tertentu e. Saldo utang dagang kepada pemasok tertentu f. Tambahan kuantitas dan haga pokok persediaan dari pembelian 2.2.2
Penjualan 2.2.2.1
Definisi Penjualan Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara bayarnya dapat dibedakan sebagai berikut : 1. Penjualan tunai, yaitu penjualan yang dilaksanakan oleh perusahaan
dengan
cara
mewajibkan
pembeli
dengan
melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli. 2. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order dari pelanggan dengan mengirimkan barang
31 atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
2.2.2.2
Fungsi Yang Terkait Dalam Penjualan Menurut Mulyadi (2001, p204), fungsi yang terkait dengan sistem penjualan adalah : 1. Fungsi kredit, bertanggung jawab dalam meneliti status kredit pelanggan dan memberikan otorisasi pemberian kredit kepada pelanggan. 2. Fungsi penjualan, bertanggung jawab menerima order, mengedit order, meminta otorisasi kredit, menentukan segala pengiriman dan bertanggung jawab atas transaksi penjualan. 3. Fungsi gudang, bertanggung jawab untuk menyimpan dan menyiapkan barang yang dipesan dan mengirimkan ke bagian pengiriman. 4. Fungsi pengiriman, bertanggung jawab untuk menyerahkan barang ke pelanggan berdasarkan surat order pengiriman yang diterima dari bagian penjualan. 5. Fungsi akuntansi, bertanggung jawab untuk mencatat transaksi penjualan dan mengirimkan pernyataan piutang kepada debitur, serta membuat laporan penjualan. 6. Fungsi penagihan, bertanggung jawab untuk membuat surat tagihan secara periode kepada pemegang kartu kredit.
32 2.2.2.3 Informasi Yang Diperlukan Dari Transaksi Penjualan Informasi yang diperlukan oleh pihak manajemen dari transaksi penjualan adalah sebagai berikut : a. Jumlah pendapatan penjualan menurut jenis produk atau kelompok produk persatuan waktu b. Jumlah piutang kepada setiap debitur dari transaksi penjualan c. Jumlah harga pokok produk yang dijual selama jangka waktu tertentu d. Nama dan alamat pembeli e. Kuantitas barang yang dijual f. Nama wiraniaga yang melakukan g. Otorisasi pejabat yang berwenang
2.2.2.4
Retur Penjualan Transaksi
retur
penjualan
terjadi
jika
perusahaan
menerima pengembalian barang dari pelanggan karena barang tidak sesuai dengan permintaan. Ketidaksesuaian tersebut terjadi kemungkinan karena barang yang diterima tidak cocok dengan spesifikasi yang tercantum dalam surat order, barang mengalami kerusakan dalam pengiriman atau barang diterima melewati tanggal pengiriman.
33 2.2.3
Persediaan 2.2.3.1 Definisi Persediaan Menurut Rangkuti (1995, p7), persediaan adalah merupakan salah satu unsur yang paling aktif dalam operasi perusahaan yang secara kontinu diperoleh, diubah kemudian dijual kembali. Dengan demikian dapat disimpulkan bahwa persediaan adalah barang-barang yang dibeli untuk diproduksi, serta dijual kembali dan habis dipakai oleh perusahaan. Karena pentingnya peranan persediaan barang bagi perusahaan, kekayaan tersebut haruslah berada dalam pengendalian dan pengawasan ketat. Tujuan pengawasan menurut Rangkuti (1995, p9) : a. Menjaga jangan sampai kehabisan persediaan b. Supaya pembentukan persediaan stabil c. Menghindari pembelian yang kecil-kecilan / tidak efisien d. Pemesanan yang ekonomis
2.2.3.2 Jenis-jenis Persediaan Menurut Rangkuti (1995, p7-8), jenis-jenis persediaan menurut fungsinya dapat dibedakan : a. Batch Stock / Lot Size Inventory, yaitu persediaan yang diadakan karena pembelian atau pembuatan bahan-bahan atau barang-barang dalam jumlah yang lebih besar dari jumlah yang dibutuhkan saat ini.
34 b. Fluctuation Stock, yaitu persediaan yang diadakan untuk menghadapi fluktuasi permintaan konsumen yang tidak dapat diramalkan. c. Anticipation Stock, yaitu persediaan yang diadakan untuk menghadapi fluktuasi permintaan yang dapat diramalkan, berdasarkan pola maksimum yang terdapat dalam satu tahun dan untuk menghadapi penggunaan atau penjualan atau permintaan meningkat. Menurut jenis dan posisi barang, menurut Rangkuti (1995, p14) dapat dibedakan: a. Persediaan bahan mentah (raw material) yaitu persediaan barangbarang berwujud, seperti besi, kayu serta komponen-komponen lainnya yang digunakan dalam proses produksi. b. Persediaan bagian produksi (purchase component), yaitu persediaan barang-barang yang terdiri dari komponen-komponen yang diperoleh dari perusahaan lain, dimana secara langsung dapat dirakit menjadi suatu produk. c. Persediaan bahan pembantu atau penolong (supplies), yaitu persediaan barang-barang yang diperlukan dalam proses produksi, tetapi tidak merupakan bagian atau komponen barang jadi. d. Persediaan barang-barang setengah jadi (work in process), yaitu persediaan barang-barang yang merupakan keluaran dari tiap-tiap bagian dalam proses produksi atau yang telah diolah menjadi suatu bentuk, tetapi masih perlu diproses lebih lanjut menjadi barang jadi.
35 e. Persediaan barang-barang jadi (finished goods), yaitu persediaan barang-barang yang telah selesai diproses atau diolah dalam pabrik dan siap untuk dijual atau dikirim kepada langganan.