BAB 2 LANDASAN TEORI
2.1
Teori –Teori Dasar 2.1.1
Pengertian Data Menurut Whitten, Bentley, dan Dittman (2004, p715), data adalah fakta-fakta yang belum diolah atau fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting dalam organisasi. Tiap fakta dengan sendirinya secara relatif masih belum memiliki arti.
2.1.2
Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data yang berelasi secara logika, dan didesain untuk mendapatkan informasi yang dibutuhkan sebuah organisasi. Di dalam basis data, semua data yang ada diintegrasikan untuk menghindari terjadinya duplikasi data. Basis data dapat digunakan oleh banyak departemen dan pemakai. Basis data tidak hanya memegang data operasional, tetapi juga penjelasan mengenai data tersebut. Basis data adalah kumpulan file yang saling berhubungan, dan memiliki beberapa sumber darimana data tersebut diturunkan. Beberapa berasal dari interaksi dengan dunia nyata, dan beberapa data bersumber dari pengguna yang secara aktif tertarik pada isi dari basis data itu sendiri. (Navathe dan Elmasri, 2000, p4).
8
9
Jadi, basis data adalah sekumpulan data yang saling berhubungan dan dapat disimpan untuk menghasilkan informasi yang dibutuhkan oleh suatu organisasi.
2.1.3
Arsitektur Basis Data Menurut Thomas M. Connolly (2010, p86), tiga level arsitektur basis data (Three-Level ANSI-SPARC Architecture) yaitu : •
External Level External level merupakan view basis data yang ada pada user. Setiap kumpulan user mempunyai view masing-masing tergantung kebutuhan informasi dari kumpulan user tersebut.
•
Conceptual Level Level ini menggambarkan data apa saja yang disimpan dalam basis data dan hubungan antara data-data tersebut.
•
Internal Level Level ini merupakan representasi fisik dari basis data yang ada di komputer. Level ini menggambarkan bagaimana data disimpan dalam suatu basis data.
Tujuan dari tiga level arsitektur basis data adalah untuk mendapatkan data independence. Pada data independence, data yang ada pada basis data dapat diubah tanpa mempengaruhi aplikasi yang terkait dengan basis data tersebut.
10
2.1.4
Sistem Basis Data Sistem basis data merupakan kumpulan dari program aplikasi yang berinteraksi dengan basis data. (Connolly dan Begg, 2010, p54). Menurut Navathe dan Elmasri (2000, p5) sistem basis data merupakan gabungan basis data dengan sistem pengaturan basis data. Dari pengertian di atas, maka dapat disimpulkan bahwa sistem basis data merupakan kombinasi dari beberapa program aplikasi yang saling berhubungan dengan basis data yang berjalan, sehingga keseluruhan sistem terkomputerisasi tersebut dapat memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.1.5
Database Management System (DBMS) Menurut
Connolly
dan
Begg
(2010,
p66),
Database
Management System (DBMS) merupakan suatu sistem piranti lunak untuk membuat pemakai dapat mendefinisikan, menciptakan, mengatur dan mengontrol akses ke dalam basis data. DBMS menyediakan beberapa fasilitas sebagai berikut : a. Data Definition Language (DDL) : memungkinkan pemakai untuk membuat spesifikasi tipe data, mendefinisikan basis data, struktur data dan constraint data untuk disimpan dalam basis data.
11
b. Data Manipulation Language (DML) : memungkinkan pemakai untuk memasukkan, memperbaharui, menghapus, dan mengirim atau mengambil data dari basis data. c. DBMS menyediakan controlled access ke dalam basis data seperti : -
A security system, mencegah adanya akses ke dalam basis data oleh pengguna yang tidak mempunyai otoritas.
-
An integrity system, dengan memelihara konsistensi data yang disimpan dalam basis data.
-
A concurrency control system, memungkinkan akses secara bersama-sama pada basis data.
-
A recovery control system, dapat mengembalikan basis data ke dalam kondisi sebelumnya dengan konsisten.
DBMS adalah piranti lunak yang dirancang untuk membantu memelihara kumpulan data dalam jumlah besar, serta menyediakan kebutuhan data untuk sistem. Pemakaian DBMS pun berkembang dengan cepat. (Ramakrishnan dan Gehrke, 2003, p4). DBMS adalah piranti lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung bahasa query, membuat laporan dan menciptakan layar masukan data. (Gerald V.Post, 2005, p2).
12
2.1.5.1 Komponen Database Management System (DBMS) Menurut Connolly dan Begg (2010, p68), ada lima komponen utama dalam DBMS yaitu hardware, software, data, prosedur, dan SDM. 1.
Hardware (Perangkat Keras) Suatu DBMS menggunakan hardware untuk menjalankan aplikasinya. Hardware dapat disusun dari suatu komputer tunggal, suatu mainframe tunggal, dan suatu jaringan komputer.
2.
Software (Perangkat Lunak) Komponen perangkat lunak meliputi software DBMS, program aplikasi beserta sistem operasi (OS), termasuk piranti lunak tentang jaringan apabila DBMS digunakan dalam jaringan seperti LAN.
3.
Data Data merupakan komponen terpenting dalam DBMS, hal ini mencakup keseluruhan sudut pandang dari end-user mengenai data. Data pada sebuah sistem basis data baik single-user system maupun multi-user system harus terintegrasi dan dapat digunakan bersama.
4.
Prosedur Prosedur merupakan instruksi dan aturan-aturan yang membuat rancangan serta mengatur penggunaan
13
basis data. Penggunaan sistem dan pengaturan staf yang mengatur kebutuhan basis data didokumentasikan dalam prosedur yang berupa petunjuk penggunaan sistem atau petunjuk menjalankan sistem. Instruksi tersebut misalnya digunakan untuk : a.
Log on ke DBMS
b.
Menggunakan sebagian fasilitas DBMS atau program aplikasi.
c.
Start dan stop DBMS
d.
Membuat salinan basis data
e.
Menangani kesalahan pada hardware dan software
f.
Mengubah struktur suatu tabel dan meningkatkan tampilan.
5.
SDM (Sumber Daya Manusia) Komponen terakhir adalah manusia yang terlibat langsung dengan sistem tersebut. Manusia ini dibedakan menjadi tiga : -
Application
Programmers,
yang
bertanggung
jawab untuk membuat aplikasi basis data dengan menggunakan bahasa pemrograman. -
End Users, siapapun yang berinteraksi dengan sistem secara online melalui workstation / terminal.
14
-
DA (Data Administrator), seorang yang berwenang untuk membuat keputusan strategis dan kebijakan mengenai
data
yang
ada,
DBA
(Database
Administrator), menyediakan dukungan teknis untuk mengimplementasikan keputusan tersebut serta bertanggung jawab atas keseluruhan kontrol sistem pada tingkat teknis.
2.1.5.2 Fungsi DBMS Menurut Connolly dan Begg (2010, p99), beberapa fungsi dari DBMS adalah sebagai berikut : a.
Data storage, retrieval, and update Sebuah DMBS harus melengkapi / menyediakan kemampuan penyimpanan, penelusuran kembali, dan mengubah data dalam basis data untuk pengguna.
b.
A user-accessible catalog Sebuah DMBS harus menyediakan katalog yang dapat mendeskripsikan lokasi penyimpanan data dalam basis data.
c.
Transaction support DBMS
harus
menyediakan
mekanisme
yang
menjamin semua kegiatan update yang berhubungan dengan transaksi dapat dikelola dengan baik.
15
d.
Concurrency control services DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa basis data ter-update dengan benar ketika beberapa pengguna meng-update data tersebut pada waktu yang bersamaan.
e.
Recovery service DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis data yang rusak karena suatu kejadian.
f.
Authorization service DBMS harus menyediakan sebuah mekanisme untuk menjamin bahwa hanya pengguna yang diberi otoritas yang dapat mengakses basis data.
g.
Support for data communication DBMS harus mampu berintegrasi dengan software komunikasi.
h.
Integrity Service DBMS harus menyediakan sebuah cara untuk menjamin bahwa data dalam basis data telah mengikuti aturan-aturan integritas yang tepat.
i.
Service to promote data independence DBMS harus mencakup fasilitas-fasilitas yang mendukung program-program independensi dari struktur basis data aktual.
16
j.
Utility service DBMS
seharusnya
menyediakan
sekumpulan
layanan utilitas agar basis data dapat diadministrasi secara efektif. Layanan utilitas ini biasanya meliputi : •
Fasilitas Import Database.
•
Fasilitas
Monitoring
Database
Usage
dan
Database Operation. •
Program
Analisis
Statistikal
untuk
analisis
performa dan statistik pemakaian. •
Fasilitas Index Reorganization.
2.1.5.3 Keuntungan dan Kerugian DBMS Keuntungan dari penggunaan DBMS menurut Connolly dan Begg (2010, p77), diantaranya : 1.
Mengurangi redundansi data, data yang sama cukup disimpan sekali.
2.
Menghindari
inkonsistensi.
Redundansi
berkurang
sehingga update terhadap data yang sama hanya perlu dilakukan pada satu tabel saja, maka tabel-tabel lain yang berhubungan ikut berubah. 3.
Pengaksesan data beberapa user dalam waktu yang sama.
4.
Integritas, data yang tersimpan merupakan data yang akurat.
17
5.
Jaminan keamanan dengan pengaturan hak akses data.
6.
Standarisasi, keseragaman dalam penyajian data.
7.
Meningkatkan aksesibilitas, user dapat memperoleh dan mengakses data yang diinginkan melalui query.
8.
Meningkatkan produktifitas, tidak perlu menggunakan bahasa pemrograman yang sulit, cukup menggunakan 4th Generation Language.
9.
Meningkatkan pemeliharaan melalui data independence. Aplikasi dan basis data terpisah sehingga perubahan pada basis data tidak mengubah program aplikasi.
10.
Meningkatkan konkurensi, pengaturan terhadap data yang diakses oleh beberapa user bersamaan, sehingga integritas data tidak hilang.
11.
Meningkatkan fasilitas back up dan recovery data.
Kerugian DBMS menurut Connolly dan Begg (2010, p80), adalah sebagai berikut : 1.
Kompleksitas
2.
Ukuran
3.
Biaya dari DBMS
4.
Biaya tambahan perangkat keras
5.
Biaya proses konversi
6.
Performa
18
2.1.6
Entity Relationship Modeling Untuk memastikan pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu perusahaan, diperlukan sebuah model. Salah satunya adalah Model Entity-Relationship (ER). Menurut Connolly dan Begg (2010, p371), model Entity Relationship menggunakan pendekatan perancangan basis data top-down, yang dimulai dengan mengidentifikasikan data yang penting. Data yang penting itu disebut entitas, di mana relationship diantaranya harus direpresentasikan dalam model dan kemudian ditambahkan beberapa atribut dan constraint. Kebalikan dari pendekatan Top-Down, pendekatan Bottom-Up dimulai
dengan
relationship),
mengidentifikasikan
data
item
(attribute
dan
kemudian terakhir baru memulai mengidentifikasikan
entitasnya. Oleh karena itu, pendekatan Bottom-Up tidak begitu efektif digunakan untuk pembuatan model Entity Relationship. Jadi, Entity Relationship merupakan hal yang sangat penting dalam merancang basis data, karena tanpa adanya modeling ini, maka proses pembuatan basis data menjadi berlangsung lama dan tidak teratur. 2.1.6.1 Entity Type Entity Type adalah kumpulan dari berbagai obyek-obyek yang mempunyai sifat atau properti yang sama dan didefinisikan oleh perusahaan, serta mempunyai eksistensi yang independent.
19
Keberadaan entity type dapat berupa fisik atau abstrak. (Connolly dan Begg, 2010, p372). Konsep dasar dari Entity relationship adalah tipe entitas, yang merepresentasikan sebuah kumpulan obyek dalam dunia nyata dengan properti yang sama. Sebuah tipe entitas mempunyai keberadaan yang independent dan dapat menjadi obyek fisikal maupun obyek konseptual. Ini berarti perancang yang berbeda mungkin dapat mengidentifikasi entitas yang berbeda pula. Entity Occurrence adalah obyek dan tipe entitas yang dapat didefinisikan secara unik. Entity type dapat diklasifikasikan menjadi : 1.
Strong entity type, yaitu entity type yang keberadaannya tidak bergantung pada entity type lainnya. (Connolly dan Begg, 2010, p383).
2.
Weak entity type , yaitu entity type yang keberadaannya bergantung pada entity type lainnya. (Connolly dan Begg, 2010, p383).
20
2.1.6.2 Relationship Type Relationship type adalah sekumpulan asosiasi antara tipetipe entitas yang ada dan mempunyai arti. (Connolly dan Begg, 2010, p374). Relationship occurrence adalah suatu gabungan yang dapat diidentifikasikan secara unik, yang meliputi satu kejadian dari setiap entitas yang berpartisipasi. (Connolly dan Begg, 2010, p375). Recursive relationship adalah sebuah tipe relationship dimana tipe entitas yang sama dapat berpartisipasi lebih dari sekali pada peran yang berbeda. (Connolly dan Begg, 2010, p378). Derajat dari relationship type adalah jumlah dari partisipasi tipe entitas dalam sebuah tipe relasi tertentu. Entitas yang berkaitan dalam sebuah tipe relasi terkenal sebagai participant dalam relationship. Jumlah dari participant dalam relationship adalah derajat dari relationship. Oleh karena itu, derajat dari relationship yang berderajat dua disebut binary, sedangkan relationship yang berderajat tiga disebut ternary.
21
2.1.6.3 Attributes Attribute merupakan sifat-sifat atau properti dari sebuah tipe entitas atau tipe relationship. (Connolly dan Begg, 2010, p379) Domain
attribute
adalah
kumpulan
nilai
yang
diperbolehkan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai yang disebut domain. Domain akan
mendefinisikan nilai-nilai yang dimiliki
sebuah atribut dan fungsi domain di sini sama dengan konsep domain pada model relasional. Macam-macam atribut yang ada yaitu : •
Simple / Composite Attribute Simple Attribute adalah atribut yang terdiri satu komponen
tunggal
(single)
dan
keberadaannya
independent. Composite Attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independent. (Connolly and Begg, 2010, p380). •
Single-Valued and Multi-Valued Attributes Single-valued
attribute
adalah
atribut
yang
menampung nilai tunggal untuk tiap-tiap kejadian dari suatu tipe entitas. Sebagian besar atribut adalah bernilai tunggal.
22
Multi-valued attribute adalah atribut yang dapat menampung banyak nilai untuk setiap kejadian dari suatu tipe entitas. (Connolly and Begg, 2010, p380). •
Derived Attributes Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari entitas yang sama. (Connolly and Begg, 2010, p380).
2.1.6.4 Keys •
Candidate Key Merupakan sejumlah kecil atribut dari entitas yang mengidentifikasikan setiap kejadian dari entitas tersebut secara unik. (Connolly dan Begg, 2010, p381).
•
Primary Key Merupakan candidate key yang dipilih untuk mengidentifikasikan setiap kejadian dari entitas secara unik. (Connolly dan Begg, 2010, p381).
•
Alternate Keys Merupakan kumpulan candidate key yang tidak terpilih menjadi primary key. (Connolly dan Begg, 2010, p151)
23
•
Composite Key Merupakan candidate key yang terdiri dari dua atau lebih atribut. (Connolly dan Begg, 2010, p382)
•
Foreign Key Sebuah atribut atau sekumpulan atribut pada suatu relasi yang sama dengan candidate key dari beberapa relasi lainnya. (Connolly dan Begg, 2010, p151).
2.1.6.5 Structural Constraint Multiplicity Multiplicity adalah jumlah occurrence (kejadian) yang mungkin terjadi pada sebuah tipe entity yang berhubungan ke sebuah occurrence dari tipe entity lain pada suatu relationship. (Connolly dan Begg, 2010, p385). Tiga macam hubungan binari secara umum yaitu : a.
Derajat hubungan one to one (1:1) Derajat hubungan 1:1 terjadi bila tiap anggota suatu entitas hanya boleh berpasangan dengan satu anggota dari entitas yang lain. Dan begitu juga sebaliknya, anggota dari entitas yang lain hanya boleh mempunyai satu anggota dari entitas tersebut.
24
b.
Derajat hubungan one to many (1:*) Derajat hubungan 1:* terjadi bila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas lain. Dan sebaliknya, entitas yang lain hanya boleh berpasangan dengan satu anggota dari entitas tersebut.
c.
Derajat hubungan many to many (*:*) Derajat hubungan *:* terjadi apabila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas lain, juga entitas lain memilik lebih dari satu anggota dari entitas tersebut.
Cardinality dan Participation Constraints Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu : 1.
Cardinality,
mendeskripsikan
nilai
maksimum
dari
relationship occurrence yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship. (Connolly dan Begg, 2010, p390). 2.
Participation, menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship.
(Connolly
dan
Begg,
Participation constraint dibagi menjadi :
2010,
p391).
25
a.
Mandatory participation melibatkan semua entity occurrence pada relationship tertentu. (Connolly dan Begg, 2010, p391).
b.
Optional participation melibatkan beberapa entity occurrence pada relationship tertentu. (Connolly dan Begg, 2010, p391).
2.1.7
Normalisasi Menurut Connolly dan Begg (2010, p416), normalisasi adalah suatu teknik yang menghasilkan seperangkat relasi untuk properti yang diinginkan, dengan data yang diberikan oleh suatu perusahaan. Tujuan utama dari suatu normalisasi adalah untuk mengurangi terjadinya redundansi data dan mengurangi masalah yang terjadi pada suatu relasi yang dikenal dengan anomaly. Anomaly adalah suatu masalah yang timbul seperti : data ganda, data hilang, tempat penyimpanan memori yang boros, dan data yang tidak konsisten akibat dari proses penghapusan data, pembaruan data, pemasukan data dan pergantian data. (Connolly dan Begg (2010, p418). Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group). (Connolly dan Begg, 2010, p430). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple values) untuk
26
sebuah single occurrence (kejadian) dari atribut key yang dinominasikan untuk tabel tersebut. (Connolly dan Begg, 2010, p430). Tingkatan normalisasi terdiri dari tiga tahap, meliputi : 1.
First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai. (Connolly dan Begg, 2010, p430). Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya telah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal (unnormalized table), yaitu : a.
Dengan memasukkan data yang sesuai ke dalam kolom kosong di mana baris-barisnya mengandung data yang berulang.
b.
Dengan menempatkan data yang berulang bersamaan dengan duplikat dari atribut kunci.
2.
Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut telah berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key. (Connolly dan Begg, 2010, p434).
27
Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (AÆB), namun bukan merupakan subset A. (Connolly dan Begg, 2010, p423).
3.
Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF serta tidak ada atribut yang bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key. (Connolly dan Begg, 2010, p435). Transitive dependencies terjadi dalam kondisi dimana A, B dan C merupakan atribut dari suatu relasi serta AÆB dan BÆC. Maka dapat dikatakan C bergantung secara transitif terhadap A melalui B (asalkan A tidak bergantung secara fungsional terhadap B atau C). (Connolly dan Begg, 2010, p424).
2.1.8
Database Application Life Cycle Menurut
Connolly
dan
Begg
(2010,
p314),
Database
Application Life Cycle merupakan komponen yang terpenting dalam sistem basis data karena aplikasi dari database application life cycle berkaitan dengan sistem informasi.
28
Gambar 2.1 Database Application Life Cycle
29
Tabel 2.1 Tabel Database Application Life Cycle Tahapan
Aktifitas Utama
Perencanaan Basis Data
Merencanakan bagaimana tahapan dari DBLC dapat terealisasi dengan efektif dan efisien.
Pendefinisian Sistem Pengumpulan
dan
Menspesifikasikan ruang lingkup dari sistem basis data Analisis Mengumpulkan dan menganalisis kebutuhan dari sistem
Kebutuhan
basis data yang baru
Perancangan Basis Data
Desain konseptual, logikal, dan fisikal dari basis data
Seleksi DBMS
Memilih DBMS yang sesuai dengan sistem basis data
Perancangan Aplikasi
Melakukan
desain
tampilan
dan
aplikasi
yang
menggunakan dan memproses basis data. Prototyping
Membangun model untuk sistem basis data yang memungkinkan pendesain untuk menvisualisasikan dan mengevaluasi bagaimana sistem akhir.
Implementasi
Membuat definisi fisikal dari basis data dan aplikasinya
Data Conversion and Loading
Memasukan data lama ke dalam basis data dan mengubah koneksi dari aplikasi lama ke sistem basis data baru.
Testing
Basis data diperiksa kembali untuk mengetahui kesalahan dan divalidasi terhadap kebutuhan pengguna
Operational Maintenance
Sistem basis data diimplementasikan secara penuh dan diperiksa secara berkesinambungan. Saat dibutuhkan, kebutuhan baru bisa ditambahkan melalui tahapan alur hidup.
30
1.
Perancangan Basis Data (Database Planning) Menurut Connolly dan Begg (2010, p313), perencanaan adalah bagaimana langkah-langkah dari life cycle dapat diterapkan dalam sistem basis data secara efektif dan efisien. Perencanaan Basis Data (database planning) harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi atau perusahaan yang bersangkutan. Ada tiga isu pokok dalam merumuskan suatu strategi sistem informasi, antara lain : -
Mengidentifikasikan rencana dan tujuan dengan penentuan sistem informasi yang diperlukan.
-
Evaluasi dari sistem informasi sekarang untuk menentukan kelemahan dan kekuatan yang ada.
-
Penentuan tentang peluang IT yang mungkin menghasilkan keuntungan yang kompetitif.
2.
Pendefinisian Sistem (System Definition) Menurut Connolly dan Begg (2010, p316) , sistem adalah penggambaran lingkup dan batasan-batasan dari aplikasi basis data dan user view yang utama. Hal ini sangat penting dilakukan dalam proses perancangan basis data agar lebih terfokus pada proyek basis data yang dibuat. Pandangan pengguna (user view) sangat diperlukan untuk mengidentifikasikan informasi-informasi yang dibutuhkan oleh
31
pengguna. Pandangan pengguna menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari sudut pandang area aplikasi
perusahaan,
seperti
pemasaran,
personalia,
atau
pengawasan persediaan. (Connolly dan Begg, 2010, p316).
3.
Mengumpulkan dan Menganalisa Kebutuhan dari User dan Area Aplikasi (Requirement Collection and Analysis) Pada tahap ini dilakukan proses pengumpulan dan analisa informasi tentang bagian organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan pengguna terhadap sistem yang baru. (Connolly dan Begg, 2010, p316). Beberapa teknik atau cara mendapatkan informasi adalah dengan teknik metode fact finding. Fact Finding adalah teknik yang digunakan untuk mengidentifikasi kebutuhan. Ada lima kegiatan yang dipakai dalam teknik ini : a.
Memeriksa dokumentasi
b.
Wawancara
c.
Mengamati kegiatan operasional perusahaan
d.
Penelitian
e.
Kuesioner
32
4.
Perancangan Basis Data Menurut Connolly dan Begg (2010, p320), perancangan basis data merupakan proses menciptakan desain untuk basis data yang akan mendukung operasi dan tujuan perusahaan. Proses perancangan basis data dibagi menjadi 3 tahap utama, yaitu : a.
Conceptual Database Design Perancangan basis data konseptual adalah proses membangun sebuah model dari data yang digunakan di perusahaan, terlepas dari semua pertimbangan fisik. (Connolly dan Begg, 2010, p322). Menurut Connolly dan Begg (2010, p470), langkah-langkah dalam perancangan basis data konseptual adalah sebagai berikut : Langkah 1
Membangun Conceptual Data Model
Langkah 1.1
Mengidentifikasi entity types
Langkah 1.2
Mengidentifikasi relationship types
Langkah 1.3
Mengidentifikasi tipe dan menghubungkan atribut-atribut dengan entity dan tipe relationship
Langkah 1.4
Menentukan atribut domain
Langkah 1.5
Menentukan
atribut-atribut
primary dan alternate key
candidate,
33
Langkah 1.6
Mempertimbangkan penggunaan enhanced modeling concept (optional)
Langkah 1.7
Memeriksa model dari redundancy
Langkah 1.8
Memvalidasi conceptual data
Langkah 1.9
Meninjau kembali conceptual data model terhadap user
b.
Logical Database Design Perancangan basis data logikal adalah proses membangun sebuah model dari data yang digunakan di perusahaan berdasarkan pada sebuah model data spesifik, tetapi terlepas dari DBMS tertentu dan pertimbangan fisik lainnya (Connolly dan Begg , 2010, p323). Menurut Connolly dan Begg (2010, p490), langkah-langkah dalam perancangan basis data
logikal
adalah sebagai berikut : Langkah 2
Membangun dan Memvalidasi Logical Data Model
Langkah 2.1
Menentukan relasi untuk logical data model
Langkah 2.2
Memvalidasi relasi dengan menggunakan normalisasi
Langkah 2.3
Memvalidasi relasi terhadap transaksi user
34
Langkah 2.4
Memeriksa integrity constraint
Langkah 2.5
Meninjau kembali logical data model
Langkah 2.6
Menggabungkan beberapa logical data model menjadi model global (pilihan)
Langkah 2.7
Memeriksa kemungkinan perkembangan di masa yang akan datang
c.
Physical Database Design Perancangan basis data fisikal adalah proses untuk menghasilkan penjelasan implementasi dari suatu basis data pada secondary storage, juga menjelaskan base relation, pengaturan file dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity contraint, serta ukuran keamanan. (Connolly dan Begg, 2010, p324). Menurut Connolly
dan Begg (2010, p523),
langkah-langkah dalam perancangan basis data fisikal adalah sebagai berikut : Langkah 3
Menerjemahkan
model
data
logikal
menjadi target DBMS Langkah 3.1 Merancang base relations Langkah 3.2 Merancang representasi dari derived data Langkah 3.3 Merancang batasan perusahaan Langkah 4
Merancang pengaturan file dan indeks
35
Langkah 4.1 Menganalisis transaksi Langkah 4.2 Memilih organisasi file Langkah 4.3 Pemilihan indeks Langkah 4.4 Memperkirakan
kebutuhan
ruang
penyimpanan Langkah 5
Perancangan user views
Langkah 6
Perancangan mekanisme security
Langkah 7
Mempertimbangkan
pengenalan
pengendalian redundancy Langkah 8
Memantau
dan
merubah
sistem
operasional
5.
Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2010, p325), tahap-tahap dalam pemilihan DBMS, yaitu : -
Mempelajari DBMS yang ada, yang sesuai dengan kriteria kebutuhan pengguna.
-
Membatasi pilihan DBMS menjadi 2 atau 3 pilihan. Hal-hal
yang
menjadi
pertimbangan
dalam
memilih produk DBMS antara lain : a.
Anggaran yang dimiliki.
b.
Level dari dukungan yang akan diberikan vendor (pengembang DBMS).
36
c.
Kompabilitas dengan perangkat lunak lain.
d.
Spesifikasi perangkat keras yang harus dipenuhi untuk menjalankan DBMS tersebut.
-
Evaluasi produk DBMS Ada dua cara untuk mengevaluasi produk DBMS : a.
Memberi penilaian terhadap fitur-fitur dari setiap produk DBMS. Pemilihan terhadap produk DBMS didasarkan pada produk DBMS yang memiliki nilai total paling besar.
b.
Pengembang mendemonstrasikan produk DBMS dengan melakukan pilot testing untuk mengetahui sejauh mana masing-masing produk DBMS tersebut dapat memenuhi kebutuhan user.
-
Merekomendasikan produk DBMS yang terbaik dan membuat dokumentasi dari tahapan pemilihan tersebut.
6.
Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2010, p329), pengertian perancangan aplikasi adalah merancang antarmuka pemakai dan program aplikasi, yang akan memproses basis data. Perancangan basis data dan aplikasi merupakan aktivitas yang dilakukan secara bersamaan pada database application lifecycle.
37
7.
Prototyping Prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data (Connolly dan Begg, 2010, p333). Tujuan utama prototyping adalah memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur-fitur yang bekerja dengan baik pada sistem, atau fitur-fitur yang masih kurang, dan memberikan masukan terhadap fitur-fitur baru ke dalam aplikasi basis data. Ada 2 strategi prototyping yang sering digunakan saat ini, yaitu : •
Requirement prototyping Menggunakan sebuah prototype untuk menentukan kebutuhan dari aplikasi basis data yang diusulkan dan ketika
kebutuhan-kebutuhannya
sudah
terpenuhi,
prototype tidak digunakan lagi atau dibuang. •
Evolutionary prototyping Digunakan untuk tujuan yang sama. Tetapi pada prototyping jenis ini, prototipenya tidak dibuang namun untuk selanjutnya akan dikembangkan menjadi aplikasi basis data yang akan berjalan.
38
8.
Implementasi (Implementation) Menurut Connolly dan Begg (2010, p333), implementasi merupakan realisasi fisik dari basis data dan desain aplikasi. Implementasi basis data dapat dicapai dengan menggunakan : -
Data Definition Language (DDL) digunakan untuk membuat skema basis data dan atau file basis data yang masih kosong, dan juga untuk mengimplementasikan user view yang diinginkan.
-
Third Generation Language atau Fourth Generation Language (3GL atau 4GL) digunakan untuk membuat program aplikasi, termasuk transaksi basis data yang disertakan dengan menggunakan Data Manipulation Language (DML, seperti yang sudah dibahas pada pokok bahasan 2.1.5 tentang DBMS).
9.
Konversi Data dan Loading (Data Conversion and Loading) Menurut Connolly dan Begg (2010, p334), konversi data dan loading merupakan pemindahan data yang ada dan mengkonversikannya dengan beberapa aplikasi, agar dapat dijalankan pada basis data yang baru. Tahapan ini dibutuhkan hanya ketika sistem basis data yang baru ditempatkan pada sistem yang lama. Pada saat ini, DBMS biasanya sangat bermanfaat untuk memanggil file yang sudah ada ke dalam basis
39
data yang baru, dan dapat juga digunakan untuk mengkonversi dengan menggunakan program aplikasi dari sistem lama untuk digunakan oleh sistem baru.
10.
Pengujian (Testing) Suatu proses eksekusi program aplikasi dengan tujuan untuk mencari kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. Pengujian hanya akan terlihat jika terjadi kesalahan software. (Connolly dan Begg, 2010, p334).
11.
Operational Maintenance Menurut Connolly dan Begg (2010, p335), operational maintenance merupakan proses mengawasi dan memelihara sistem setelah dilakukannya instalasi. Aktivitas yang terdapat pada operational maintenance : -
Mengawasi kinerja sistem, jika kinerja sistem turun di bawah level yang ditetapkan maka memerlukan perbaikan atau pengaturan ulang basis data.
-
Memelihara dan memperbaharui aplikasi basis data (jika dibutuhkan).
Kebutuhan
baru
dimasukkan
kedalam
aplikasi basis data melalui langkah-langkah terdahulu pada life cycle.
40
2.2
Teori-Teori Khusus yang Berhubungan dengan Topik yang Dibahas 2.2.1 Pengertian Internet Internet adalah jaringan telekomunikasi dan elektronik raksasa terbesar di dunia. Internet tidak hanya merupakan kumpulan dari jaringan komunikasi elektronik antara komputer-komputer bisnis, konsumen, pemerintahan, sekolah-sekolah dan organisasi-organisasi lainnya tetapi juga telah membuka kemungkinan-kemungkinan baru yang menantang cara tradisional dari interaksi, berkomunikasi, dan melakukan bisnis. (Turban, Rainer dan Potter, 2001, p208).
2.2.2 World Wide Web World Wide Web atau WWW adalah kumpulan dari sejumlah dokumen hypertext yang saling berkaitan dan ditempatkan pada server khusus, yang disebut dengan Web Server atau server HTTP di seluruh dunia. (Hoffer et al, 2005, p399). Sedangkan menurut Kadir (2003, p4), World Wide Web (WWW) atau biasa disebut dengan Web,
merupakan salah satu sumber daya
Internet yang berkembang dengan pesat. Informasi Web didistribusikan melalui pendekatan hypertext, yang memungkinkan suatu teks pendek menjadi acuan untuk membuka dokumen yang lain. Dengan adanya pendekatan hypertext ini, seseorang dapat memperoleh informasi dengan meloncat dari suatu dokumen ke dokumen yang lain. Dokumen-dokumen yang diakses pun dapat tersebar di berbagai mesin dan di berbagai negara.
41
2.2.3 Web Server Web server adalah server yang melayani permintaan klien terhadap halaman web. Apache, IIS (Internet Information Server), dan Xitami merupakan contoh perangkat lunak Web Server. (Kadir, 2003, p6). Cara kerja web melibatkan komunikasi antar dua komputer, satu server, dan satu client. Server akan mengirimkan file ketika client memintanya. (Vaughan, 2006, pg294). Menurut Hoffer et al (2005, p407), web server yang digunakan harus dapat menangani banyak pengguna pada suatu waktu. Hal ini dimungkinkan dengan adanya kemampuan multiprocessing, di mana beberapa processor akan bekerja bersama-sama untuk mempercepat pemrosesan. Kegiatan pada web server akan dibagi menjadi empat langkah dasar, dan ada dua komponen yang terlibat, yaitu sebuah web browser dan web server. Langkah-langkah tersebut adalah sebagai berikut : 1.
Komputer klien menggunakan web browser untuk berhubungan dengan web server dan meminta sebuah halaman web.
2.
Selama menerima permintaan, web server menempatkan file atau program yang sesuai di dalam file sistem.
3.
Setelah mengalokasikan file, web server mengambil file dari file sistem.
42
4.
Web server kemudian mengirim file tersebut ke web browser. File hasil permintaan diterima web browser dan di-render pada komputer klien.
2.2.4 Web Browser Browser atau web browser adalah perangkat lunak di sisi klien yang digunakan untuk mengakses informasi web. Internet Explorer, Netscape dan Mozilla merupakan contoh-contoh browser yang ada. (Kadir, 2003, p6). Pada awalnya web hanya berupa tulisan saja. Kemudian pada tahun 1992, peneliti dari National Center Supercomputing Application di University of Illinois mengembangkan Mosaic, yaitu web browser pertama yang menampilkan gambar. Penggunaan Web Browser kemudian menjadi sangat universal, karena web browser dapat memberikan interface yang sama pada sistem operasi yang berbeda. Browser mampu berkomunikasi melalui HTTP, mengatur HTML, dan menampilkan tipe data tertentu seperti GIF (Graphic Interchange Format) dan JPEG (Joint Photographic Expert Group) untuk grafik dan Microsoft Windows WAV untuk suara. (Turban, Rainer dan Potter, 2001, p224).
2.2.5 Istilah-istilah yang Berhubungan dengan Internet dan Web Berikut ini merupakan istilah-istilah yang berhubungan dengan internet dan web :
43
•
Hypermedia Struktur dari elemen yang ditautkan, di mana pengguna dapat menavigasi suatu media atau informasi yang disimpan pada web. (Vaughan, 2006, p449)
•
URL Alamat dokumen atau file dalam internet. (Vaughan, 2006, p458)
•
Hypertext Markup Language (HTML) HTML merupakan bahasa standar bagi web yang memformat dokumen dan menyatukan link dynamic hypertext ke penyimpanan dokumen lain pada komputer yang sama ataupun berbeda. (Turban, Rainer dan Potter, 2001, pg223)
•
Hypertext Transfer Protocol (HTTP) HTTP menjelaskan bagaimana klien dan server berkomunikasi. HTTP
merupakan
sebuah
protokol
yang
digunakan
untuk
mentransfer halaman web melalui internet. (Connolly dan Begg, 2010, pg1029).
2.2.6 Web Basis Data Seiring dengan perkembangan teknologi dalam internet dan web maka ditemukanlah suatu cara yang dapat memudahkan manusia dalam melakukan berbagai hal yang sebelumnya hanya dapat dilakukan pada jarak yang jauh seperti berbelanja, belajar, mencari informasi, dan lain
44
sebagainya, yaitu dengan menggunakan suatu aplikasi basis data berbasis web. Dengan menggunakan suatu basis data yang diimplementasikan menggunakan web, maka user dapat mengakses informasi yang disediakan dalam suatu basis data, kapan saja dan dimana saja, melalui internet. Di samping itu, untuk menghubungkan user dengan basis data, digunakanlah suatu user interface.
2.2.7 Arsitektur Web Basis Data Aplikasi berbasis web harus dibangun dalam arsitektur client-server yang merupakan gabungan dari client sistem dan web server sistem. Client sistem menampilkan halaman web yang memberikan user interface ke sistem web basis data dan ditampilkan melalui browser. Sedangkan web server sistem menyimpan dokumen-dokumen, script, dan program.
2.2.8 Pendekatan dalam Pengimplementasian Web Basis Data Ada dua pendekatan dalam pengimplementasian web basis data, yaitu : •
Pendekatan Server Side Sever-side programming, proses (baik menyimpan maupun mengeksekusi program akan dilakukan di web server yang terhubung ke web page). Model ini cirinya adalah lebih kompleks, membutuhkan server khusus, tetapi aman. Server-side digunakan
45
untuk memproses segala sesuatu yang berhubungan dengan server, misalnya manipulasi basis data.
Contoh programnya adalah
Common Gateway Interface (CGI) / Perl, ASP (Active Server Pages), PHP, dan JSP (Java Server Pages). •
Pendekatan Client Side Pada pendekatan ini proses aplikasi dieksekusi di sisi client di mana data harus diterima dari client ke server. Data diproses di client, kemudian hasilnya harus dikirim dari client ke server. Pendekatan Client-Side hanya akan menerima hasilnya dalam bentuk HTML. Model ini cirinya adalah sederhana, generik, namun kurang aman. Pendekatan Client-side efektif digunakan untuk mengadakan interaksi dengan user yang frekuensinya tinggi, namun data yang diperlukan relatif sedikit atau telah tersedia sebelumnya, misalnya aplikasi untuk permainan atau pemeriksaan event pada browser, animasi web pages, dan validasi data atau perhitungan. Sebaiknya tidak
menggunakan
membutuhkan
data
client-side banyak
dan
untuk selalu
aplikasi
web
berubah-ubah,
yang atau
menggunakannya untuk verifikasi user dan password. Contoh program dari pendekatan ini adalah Javascript, Java Applet, VBScript.
46
2.2.9 Proses perancangan Web Basis Data Pada proses perancangan web basis data, hal pertama yang harus dilakukan adalah merancang basis datanya. Diagram tahapan Web Basis Data Life Cycle adalah sebagai berikut :
Gambar 2.2
Diagram Web Database LifeCycle
2.2.10 PHP PHP merupakan html-embedded scripting language, atau maksudnya adalah sebuah bahasa pemprograman yang penggunaannya dimasukkan ke dalam html. PHP mudah digunakan, dan juga merupakan alat yang multiguna.
47
Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. PHP dapat berjalan pada semua jenis sistem operasi, antara lain pada LINUX dan varian UNIX, Microsoft Windows, MAC OS X, serta RISC OS. Selain itu PHP juga dapat berjalan pada beberapa jenis web server, antara lain Apache, Microsoft Internet Information, Services, Personal web server, Netscape, dan Iplanet server, Caudium, Xitami, OmniHTTPd, dan masih banyak lagi. PHP juga memiliki banyak basis data populer yang sering digunakan dalam beberapa web server, antara lain Adabas D, Ingres, Oracle, dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL, mSQL, Solid, HyperWave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, dan Unix dbm.
2.2.11 Keunggulan PHP Berikut adalah beberapa keunggulan dari PHP : •
PHP mampu berjalan di beberapa server, misalnya Apache, Microsoft, IIS, PHTTPD, FHTTPD dan yang lainnya.
•
PHP mendukung akses kebeberapa basis data yang sudah ada, seperti MySQL, mSQL, dBase, Unix dan yang lainnya.
•
PHP mampu berjalan di LINUX sebagai platform sistem operasi, windows, dan yang lainnya.
48
•
PHP merupakan salah satu scripting language yang termudah untuk dipelajari.
•
PHP merupakan program open source atau gratis, serta mudah dishare dan diubah di antara komunitas pengembangan web.
2.2.12 MySQL MySQL adalah sebuah sistem manajemen relasi basis data yang bersifat open source, memiliki level enterprise, dan multithreaded. Maksudnya adalah selain bebas digunakan karena bersifat open source, MySQL juga dapat digunakan pada aplikasi yang berbeda pada waktu yang bersamaan. (Maslakowski, 2000, p10).
2.2.13 Keunggulan MySQL MySQL adalah sistem manajemen relasi basis data (Relational Database Management System / RDBMS) yang bersifat free dan termasuk dalam kategori open source. Selain karena sifatnya yang free, adapun kelebihan MySQL adalah sebagai berikut: •
Open source software, MySQL dilengkapi dengan source code yang lengkap. Ini berarti kita bisa mempelajari source code tersebut dan mengubahnya sesuai dengan kebutuhan kita. Karena merupakan open source software, bisa ditemukan banyak support dari software lain.
49
•
SQL Support, karena seperti yang bisa dilihat, terdapat kata 'SQL' di dalam MySQL, hal ini dikarenakan MySQL men-support SQL, yaitu sebuah bahasa yang digunakan untuk membuat query data dari sebuah basis data.
•
Superb performance and reliability, MySQL memiliki performa yang sangat cepat dan terpercaya, bahkan di lingkungan yang memiliki kebutuhan yang kompleks.
•
Ease of use, MySQL merupakan sebuah manajemen relasi basis data yang sederhana namun memiliki fitur-fitur yang kuat. MySQL juga mudah untuk di-install dan digunakan, dilengkapi dengan aplikasi client atau server, serta dilengkapi dengan tools lain yang berfungsi memudahkan administrasi basis data.
2.2.14 Teori-Teori Penjualan, Pembelian, dan Persediaan 2.2.14.1
Pengertian Penjualan Menurut kamus akuntansi Widjajanto (1994, p122), penjualan merupakan proses transfer hak atas barang untuk mendapatkan sumber daya lainnya. Dari pengertian di atas dapat disimpulkan bahwa penjualan adalah suatu aktivitas perusahaan yang memiliki tujuan utama dalam memperoleh pendapatan, baik untuk perusahaan besar maupun perusahaan kecil. Penjualan merupakan sasaran akhir dari kegiatan pemasaran.
50
Pada bagian ini terjadi penetapan harga melalui perundingan dan perjanjian serah terima barang, serta cara pembayaran yang disepakati oleh kedua belah pihak, sehingga tercapai suatu titik kepuasan. Fungsi-fungsi yang biasanya terkait dengan sistem penjualan adalah : 1.
Fungsi Penjualan Bertanggung jawab untuk menerima order, meng-edit order, menerima otorisasi kredit, serta menentukan
tanggal
pengiriman
dan
transaksi
penjualan. 2.
Fungsi Gudang Bertanggung jawab untuk menyimpan dan menyiapkan
barang-barang
yang
dipesan
serta
kemudian mengirimkannya ke bagian pengiriman. 3.
Fungsi Pengiriman Bertanggung jawab untuk mengirimkan dan menyerahkan barang ke pelanggan berdasarkan surat order pengiriman yang diterima dari bagian penjualan. Jika penjualan barang dilakukan di tempat, maka tidak ada pengiriman barang yang terjadi ke pelanggan.
51
Sistem informasi penjualan membentuk prosedurprosedur yang bekerja satu dengan yang lainnya untuk mencapai tujuan. Prosedur-prosedur yang membentuk sistem informasi penjualan adalah : 1.
Prosedur Order Penjualan Dalam prosedur ini bagian order penjualan menerima
order
dari
pembeli
dan
menambah
informasi penting pada order tersebut, misalnya informasi pembayaran (tunai atau debit). 2.
Prosedur Pengiriman Bagian pengiriman mengirimkan barang kepada pembeli sesuai dengan surat order pengiriman yang diterima dari bagian order penjualan. Jika pembeli membeli barang di tempat, maka tidak ada pengiriman barang yang terjadi.
3.
Prosedur Pencatatan Data Transaksi Penjualan Dalam prosedur ini dibuat rekap data transaksi penjualan yang terjadi sebagai dasar bagi manajemen untuk membuat laporan.
52
2.2.14.2
Pengertian Pembelian Definisi pembelian berdasarkan kamus akuntansi (Widjajanto, 1994, p109) adalah suatu perkiraan yang digunakan untuk mencatat perolehan barang dagangan untuk dijual kembali atau memperoleh bahan untuk digunakan dalam proses produksi. Tujuan dari kegiatan pembelian menurut Render (2001, p414), adalah : •
Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal.
•
Mengembangkan, mengevaluasi dan menentukan pemasok, harga dan pengiriman yang terbaik bagi barang dan jasa tersebut. Jenis transaksi dalam kegiatan pembelian dibedakan
menjadi dua, yaitu: 1.
Pembelian tunai, adalah proses pembayaran yang dilakukan secara langsung pada saat barang diterima.
2.
Pembelian kredit, adalah proses pembayaran yang tidak dilakukan langsung pada saat barang diterima, tetapi pembayaran dilakukan selang beberapa waktu setelah barang diterima sesuai dengan perjanjian kedua belah pihak.
53
Menurut Mulyadi (2001, p300), fungsi yang terkait dalam sistem pembelian adalah sebagai berikut : a.
Fungsi Gudang Bertanggung
jawab
untuk
mengajukan
permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan. b.
Fungsi Pembelian Bertanggung informasi
mengenai
jawab harga
untuk
memperoleh
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. Penerimaan juga melakukan pemeriksaan agar barang-barang yang diterima dari pemasok sudah benar-benar sesuai dengan pesanan perusahaan.
54
Menurut Mulyadi (2001, p301-303), jaringan prosedur yang membentuk sistem pembelian adalah sebagai berikut : 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 dan berbagai syarat pembelian yang lain. Hal ini dilakukan untuk pemilihan
pemasok
yang
akan
ditunjuk
oleh
perusahaan. 3.
Prosedur Order Pembelian dan Pencatatan Data Transaksi Pembelian Fungsi pembelian
pembelian kepada
memberitahukan
mengirim
pemasok
kepada
yang
unit-unit
surat dipilih lain
order dan dalam
perusahaan mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. Setelah itu dibuatlah rekap data transaksi pembelian yang terjadi sebagai dasar bagi manajemen untuk membuat laporan.
55
2.2.14.3
Pengertian Persediaan Definisi persediaan barang adalah barang yang dimiliki untuk dijual kembali atau digunakan untuk memproduksi barang-barang yang akan dijual. (Mulyadi, 2001, 553). Berdasarkan pengertian di atas, maka perusahaan jasa tidak memiliki persediaan. Perusahaan dagang hanya memiliki persediaan barang dagang dan perusahaan industri memiliki 3 jenis persediaan, yaitu persediaan bahan baku, persediaan barang dalam proses, dan persediaan barang jadi. Metode pencatatan persediaan barang yang digunakan ada dua, yaitu : a.
FIFO (First In First Out) Barang yang dibeli pertama kali sebagai persediaan akan dikeluarkan pertama kali jika terjadi proses penjualan barang.
b.
LIFO (Last In First Out) Barang yang dibeli terakhir kali sebagai persediaan akan dikeluarkan pertama kali jika terjadi proses penjualan barang.
56
Pengendalian persediaan untuk barang dagang harus dilakukan untuk menghindari terjadinya stock out. Hal ini bertujuan untuk mengatur agar barang baru dapat tiba sebelum perusahaan kehabisan barang untuk dijual. Biasanya pengendalian persediaan dilakukan dengan cara menentukan Persediaan Pengaman atau Safety Stock, yaitu jumlah persediaan barang minimum (minimum stock) yang harus dimiliki oleh perusahaan. Untuk menaksir besarnya safety stock, dapat digunakan metode Perbedaan Pemakaian Maksimum dan Rata-Rata. Metode ini dilakukan dengan cara menghitung selisih antara jumlah pemakaian maksimum dengan pemakaian ratarata barang tersebut dalam jangka waktu tertentu (misalnya dihitung dari frekuensi penjualan barang tersebut per minggu), kemudian selisih tersebut dikalikan dengan lead time. Lead time adalah waktu yang dibutuhkan dari barang tersebut dipesan ke pemasok hingga sampai di perusahaan.
Jika persediaan barang sudah berada di bawah atau sudah mencapai safety stock, maka perusahaan akan langsung menjalankan prosedur pembelian barang ke pemasok.
57
2.2.15 State Transition Diagram (STD) Menurut Whitten (2004, p636), State Transition Diagram (STD) adalah suatu alat yang dapat digunakan untuk menggambarkan urutan dan variasi pada layar yang dapat terjadi selama sesi pengguna. Notasi yang biasa digunakan dalam STD adalah :
Tabel 2.2 Notasi STD Gambar
Keterangan Kotak
digunakan
untuk
menggambarkan layar tampilan.
Anak panah menggambarkan aliran dari kontrol dan kejadian yang memicu layar menjadi aktif atau menerima fokus.
Menurut Whitten (2004, p637), suatu State Transition Diagram dapat menjadi cukup besar terutama ketika semua input, output, help, dan layar-layar lainnya dimasukkan ke dalam diagram tersebut. Oleh karena itu, sangat umum untuk memecah diagram menjadi diagram yang lebih sederhana dan lebih mudah dibaca.
58
2.2.16 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan proses yang ditampilkan oleh sistem tersebut. (Whitten, 2004, pg 344). Ada tiga buah simbol dan sebuah koneksi di dalam DFD, yaitu :
Tabel 2.3 Simbol Data Flow Diagram
59
2.2.17 Flowchart Flowchart, biasa disebut dengan bagan alir, adalah bagan yang menggambarkan aliran dokumen dalam suatu sistem informasi (Mulyadi, 2001, p66). Simbol-simbol standar yang dapat digunakan untuk menggambarkan suatu flowchart menurut Mulyadi (2001, p60-63), digambarkan sebagai berikut:
Tabel 2.4 Simbol Flowchart
60