BAB 2 LANDASAN TEORI
2.1. Pengertian Basis Data “A database is a collection of data stored in a standarized format, designed to be shared by multiple users. (Post, 2005, p2)“, yang dapat diartikan, “Basis data adalah koleksi data yang tersimpan dalam format tertentu, dirancang untuk penggunaan bersama”. Pengertian basis data menurut Connolly dan Begg (2002, p14), “database is a shared collection of logically related data, and a description of this data, designed to meet the information needs of an organization.”, yang dapat diartikan, “Basis data adalah penggunaan bersama dari data yang terhubung secara logic dan deskripsi dari data, yang dirancang untuk memenuhi kebutuhan informasi dari suatu perusahaan”. 2.2. Konsep Basis Data Menurut McLeod (2004, p139), dua tujuan konsep basis data adalah meminimumkan
pengulangan
data
(data
redundancy)
dan
mencapai
independensi data. Pengulangan data adalah duplikasi data ─ artinya, data yang sama disimpan dalam beberapa file. Independensi data adalah kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Independensi data dicapai dengan menempatkan spesifikasi data dalam tabel dan kamus yang terpisah secara fisik dari program. Perubahan pada struktur data hanya dilakukan sekali, yaitu dalam tabel.
6
2.3. Database Management System (DBMS) 2.3.1. Definisi DBMS “A database management system (DBMS) is software that defines a database, stores the data, supports a query language, produces reports, and create data entry screens. (Post, 2005, p2)”, yang dapat diartikan, ” DBMS adalah perangkat lunak yang mendefinisikan basis data, menyimpan data, mendukung suatu query language , menghasilkan laporan, dan membuat layar untuk masukan data.” Definisi DBMS menurut Connolly (2002, p16) adalah suatu sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data. Biasanya, suatu DBMS memiliki fasilitas sebagai berikut ini : •
Terdapat fasilitas yang memungkinkan user untuk mendefinisikan basis data, biasanya menggunakan suatu Data Definition Language (DDL). Suatu DDL memberikan fasilitas kepada user untuk menspesifikasikan tipe data dan strukturnya dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data tersebut.
•
Terdapat fasilitas yang memungkinkan user untuk menambah, mengedit, menghapus data, dan mendapatkan kembali data. Biasanya dengan menggunakan suatu Data Manipulation Language (DML). Biasanya ada suatu fasilitas untuk melayani pengaksesan data yang disebut sebagai Query Language. Bahasa query yang paling diakui
7
adalah Structured Query Language (SQL), yang secara de facto merupakan standar bagi DBMS. DBMS adalah kumpulan program yang digunakan untuk membuat dan mengelola basis data. Menurut Petroutsos (2000, p5), DBMS menyediakan fungsi-fungsi sebagai berikut : •
DBMS mengizinkan aplikasi mendefinisikan struktur dari basis data dengan pernyataan SQL. Pernyataan SQL yang mendefinisikan atau mengedit struktur ini disebut dengan Data Definition Language (DDL).
•
DBMS mengizinkan aplikasi memanipulasi informasi yang disimpan di dalam basis data dengan pernyataan SQL. Pernyataan SQL yang memanipulasi informasi ini disebut dengan Data Manipulation Language (DML).
•
DBMS melindungi integritas basis data dengan menerapkan beberapa aturan, yang dimasukkan ke dalam perancangan basis data tersebut. Menurut Date(2000, p44) sistem manajemen basis data (DBMS)
adalah perangkat lunak yang menangani segala akses ke basis data. Fasilitas yang terdapat pada DBMS antara lain adalah menambah dan menghapus file atau tabel. Suatu DBMS harus mendukung fungsi-fungsi sebagai berikut : 1. Data definition DBMS harus mampu menerima definisi data (skema eksternal, skema konseptual, skema internal dan pembuatan hubungan atau relasi) yang
8
berasal dari suatu sumber dan menerjemahkannya menjadi obyek yang tepat. Dengan kata lain DBMS harus mengandung komponen bahasa pada setiap Data Definition Language (DDL). 2. Data Manipulation DBMS harus dapat menangani permintaan user untuk retrieve, update, atau delete data yang dalam basis data, atau menambah data baru ke dalam basis data. Dengan kata lain DBMS harus mengandung komponen Data Manipulation Language (DML). 3. Data security dan integrity DBMS harus mengawasi permintaan user dan menolak usaha-usaha yang dapat mengganggu keamanan dan aturan integritas (integrity rule) yang didefinisikan oleh Database Administrator. 4. Data recovery dan concurrency DBMS atau perangkat lunak yang terelasi satu dengan lainnya, pada umumnya disebut transaction manager, harus menjalankan recover dan concurrency control. 5. Data dictionary DBMS harus menyediakan fungsi data dictionary. Data dictionary dapat dilihat pada basis data itu sendiri. Data dictionary berisi basis data tentang data (disebut juga metadata), yang merupakan definisidefinisi obyek lain dalam sistem lebih dari sekedar raw data. 6. Performance Artinya bahwa DBMS harus menampilkan semua fungsi yang telah diidentifikasikan di atas seefisen mungkin. 9
2.3.2. Komponen – komponen DBMS Menurut Connolly dan Begg (2002, pp18-20), DBMS memiliki lima komponen penting yaitu : 1. Hardware (perangkat keras) Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras. Perangkat keras dapat berupa komputer personal tunggal, mainframe tunggal, komputer jaringan berupa server. 2. Software (perangkat lunak) Komponen perangkat lunak meliputi DBMS dan program aplikasi beserta Sistem Operasi (OS), termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan seperti LAN. 3. Data Data mungkin merupakan komponen terpenting dari DBMS, khususnya sudut pandang dari end user mengenai data. 4. Prosedur Prosedur berupa panduan dan instruksi dalam membuat desain dan menggunakan basis data. Pengguna dari sistem dan staff dalam mengelola basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola basis data itu sendiri. Demikianlah prosedur di dalam basis data dapat berupa : login di dalam basis data, penggunaan sebagian fasilitas DMBS, cara menjalankan dan menghentikan DBMS, membuat salinan back up database, memeriksa hardware dan software yang sedang berjalan, mengubah struktur basis data,
10
meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. Manusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. 2.3.3. Keuntungan dan Kerugian DBMS DBMS memungkinkan untuk menciptakan basis data dalam penyimpanan akses langsung komputer, memelihara isinya, dan menyediakan isi tersebut bagi pemakai tanpa pemrograman khusus yang mahal. Ketika perusahaan atau pemakai individu memutuskan apakah akan menggunakan suatu DBMS, keuntungan dan kerugiannya harus dipertimbangkan. Menurut McLeod (2004, p152), keuntungan DBMS adalah sebagai berikut : 1. Mengurangi pengulangan data Jumlah total file dikurangi dengan menghapus file-file duplikat. Juga hanya terdapat sedikit data yang sama di beberapa file. 2. Mencapai independensi data Spesifikasi data disimpan dalam skema daripada dalam tiap program aplikasi. Perubahan dapat dibuat pada stuktur data tanpa mengurangi program yang mengakses data. 3. Mengintegrasikan data dari beberapa file Ketika file dibentuk sehingga menyediakan kaitan login, organisasi fisik tidak lagi menjadi kendala. 11
4. Mengambil data dan informasi secara cepat Hubungan-hubungan
login
dan
DML
serta
query
language
memungkinkan pemakai mengambil data dalam hitungan detik atau menit, yang sebelumnya memungkinkan memerlukan beberapa jam atau hari. 5. Meningkatkan keamanan Baik DBMS mainframe maupun komputer mikro dapat menyertakan beberapa lapis keamanan seperti kata sandi (password), directory pemakai, dan bahasa sandi (encryption). Data yang dikelola oleh DBMS juga lebih aman daripada data lain dalam perusahaan. Sedangkan, kerugian dari DBMS adalah sebagai berikut : 1. Memperoleh perangkat lunak yang mahal. DBMS mainframe masih sangat mahal. DBMS berbasis komputer mikro, walaupun biayanya hanya beberapa ratus dolar, dapat menggambarkan pengeluaran yang besar bagi organisasi yang kecil. 2. Memperoleh konfigurasi perangkat keras yang besar DBMS sering memerlukan kapasitas penyimpanan primer dan sekunder yang lebih besar daripada yang diperlukan oleh program aplikasi lain. Juga, kemudahan yang dibuat oleh DBMS dalam mengambil informasi mendorong lebih banyak terminal pemakai yang disertakan dalam konfigurasi daripada jika sebaliknya.
12
3. Memperkerjakan dan mempertahankan staff DBA DBMS memerlukan pengetahuan khusus agar dapat memanfaatkan kemampuannya secara penuh. Pengetahuan khusus ini disediakan paling baik oleh para pengelola database (DBA). 2.4. Data Definition Language (DDL) Data definition language (DDL) merupakan suatu bahasa yang memperbolehkan DBA atau user untuk mendeskripsikan nama dari suatu entitas, atribut, dan relasi data yang diminta oleh aplikasi bersamaan dengan integritas data dan batasan keamanan datanya (Connolly, 2002, p40). DDL digunakan untuk mendefinisikan suatu skema atau untuk merubah yang sudah ada, tetapi tidak bisa digunakan untuk memanipulasi data. Hasil dari kompilasi DDL adalah berbagai macam tabel yang disimpan secara kolektif di dalam suatu file khusus yang biasa disebut data dictionary. Data dictionary diintegrasikan dengan meta data. Meta data ialah data yang mendeskripsikan objek di dalam basis data dan membuat data itu lebih mudah untuk diakses atau dimanipulasi. Meta data mengandung isi dari suatu record, jenis data, dan obyek lainnya yang berkaitan dengan user atau yang dibutuhkan oleh DBMS. 2.5. Data Manipulation Language (DML) DML adalah suatu bahasa yang menyediakan sekumpulan operasi yang mendukung suatu basis data untuk memanipulasi operasi pada data yang berada dalam basis data (Connolly, 2002, p41). Operasi manipulasi data biasanya termasuk sebagai berikut : •
Menyisipkan suatu data baru ke dalam suatu basis data
13
•
Perubahan data yang disimpan dalam basis data
•
Pencarian kembali data yang terdapat dalam suatu basis data
•
Penghapusan data dari suatu basis data
2.6. Entity Relationship Modelling 2.6.1. Entity type Menurut Connolly (2002, p331), entity type adalah sekumpulan objek-objek dengan properti yang sama, yang diidentifikasikan dengan keberadaan yang independen di perusahaan. Sebuah entitas mempunyai kumpulan properti dan nilai dari properti tersebut mengidentifikasikan entitas secara unik. Entity
adalah
“sesuatu”
atau
“benda”
dalam
dunia
nyata.(Silberschatz, 2002, p27) 2.6.2. Attributes Attribute adalah sifat-sifat atau karakteristik dari sebuah entity (Whitten, 2004, p295). Attribute domain adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut.(Connolly, 2002, p338). Simple attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama atomic attribute. Composite attribute adalah atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan bebas.
14
Single-value attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian. Sedangkan multi-value attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian. Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas 2.6.3. Relationship type Relationship adalah hubungan yang terjadi secara alami antara satu atau lebih entitas. (Whitten, 2004, p298) Relationship type adalah sebuah kumpulan yang memiliki arti antara entity type (Connolly, 2002, p334). Setiap relationship type memiliki nama yang menjelaskan fungsinya. 2.6.4. Kunci (key) Key digunakan untuk mengidentifikasi kumpulan atribut yang dapat membedakan entitas satu dengan yang
lainnya. (Silberschatz,
2002, p35). Superkey adalah sebuah set satu atau lebih atribut utnuk mengidentifikasi secara unik sebuah entitas di dalam entity set. Candidate key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasi tiap kejadian atau record secara unik. Primary key adalah candidate key yang dipilih oleh perancang basis data sebagai yang utama untuk mengidentifikasikan entitas-entitas di dalam entity set. Primary key harus merupakan field-field yang benarbenar unuk dan tidak boleh ada nilai NULL. 15
Foreign key adalah primary key dari entitas yang digunakan oleh entitas untuk mengidentifikasikan kejadian dari suatu relationship.
2.7. Normalisasi Menurut Connolly (2002, p376), suatu desain basis data harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari suatu penempatan atribut tertentu dari suatu obyek data. Untuk membedakan satu record dengan yang lainnya maka perlu dipilih atribut atau kombinasi atribut sebagai kunci primer (primary key). Normalisasi adalah teknik analisis data yang mengorganisasikan data ke dalam sebuah grup untuk bentuk yang non redundant, stabil, fleksibel. Sebuah tabel yang belum dinormalisasi disebut UNF (Unormalized Form). UNF merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. (Whitten, 2004, p322). Proses pembentukan tabel normal (normalisasi) bertujuan untuk : •
membuat sekecil mungkin terjadinya data rangkap
•
menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap. Empat bentuk normal yang biasa digunakan, yaitu :
1. Bentuk Normal Pertama (First Normal Form / 1NF) Aturan bentuk normal pertama (1NF) menurut Connolly & Begg (2002, p388) ialah “A relation in which the intersection of each row and
16
column contains one and only one value”, yang dapat diartikan, “sebuah relasi di mana tiap perpotongan baris dan kolom berisi hanya satu nilai”. Bentuk normal pertama dicapai bila tiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terhadap 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 & Begg (2002, p392) ialah “A relation that is in first normal form and every non primary attribute is fully function dependent on the primary key”, yang dapat diartikan, “sebuah relasi yang merupakan bentuk normal pertama dan setiap atribut bukan primary key bergantung secara fungsional penuh terhadap primary key”. Bentuk normal kedua adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full functional dependency dinyatakan dengan jika A dan B merupakan atribut dari sebuah relasi, B adalah ketergantungan fungsional penuh terhadap A jika B adalah secara fungsional bergantung pada A tetapi bukan merupakan himpunan bagian dari A (Connolly, 2002, p392). 3. Bentuk Normal Ketiga (Third Normal Form / 3NF) 3NF adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut bukan primary key yang bersifat transitively dependent pada primary key. Bentuk 3NF berdasarkan konsep peralihan ketergantungan (transitive dependency), yaitu suatu kondisi dimana A, B, C merupakan 17
atribut dari sebuah relasi, maka jika
A
B dan B
C , maka C transitive
dependency pada A melalui B (jika A tidak functionally dependent pada B atau C) (Connolly, 2002, p394). 2.8. Siklus Hidup Basis Data ( Database Application Lifecycle) Siklus hidup aplikasi basis data merupakan tahapan dalam merancang suatu sistem basis data. Siklus hidup aplikasi basis data tersebut digambarkan seperti bagan berikut ini (Connoly, 2002, p272)
Gambar 2.1. Siklus Hidup Basis Data (Database Application Lifecycle)
18
2.8.1. Perencanaan Basis Data (Database Planning) Mengatur dan merencanakan aktivitas-aktivitas dengan mengikuti langkah-langkah dari aplikasi database dan diterapkan seefektif dan seefisien mungkin. Ada tiga masalah pokok yang harus diperhatikan dalam merumuskan strategi sistem informasi (Connolly, 2002, p273) : -
Mengidentifikasikan
rencana
dan
tujuan
perusahaan
dengan
menentukan sistem informasi yang diperlukan -
Mengevaluasi sistem informasi yang ada untuk melihat kelebihan dan kekurangannya.
-
Penilaian mengenai peluang IT yang mungkin dapat menghasilkan keuntungan yang kompetitif.
2.8.2. Definisi Sistem Basis Data (System Definition) Mendeskripsikan ruang lingkup dari aplikasi database yang akan dibuat termasuk user dan tempat aplikasi database diterapkan (Connolly, 2002,p274). Sebelum mencoba untuk merancang suatu aplikasi database, sangatlah penting untuk kita mengidentifikasikan batasan-batasan sistem yang ada dan bagaimana sistem tersebut berinteraksi dengan bagian sistem informasi yang lain dalam perusahaan tersebut. Penting juga untuk mengikutsertakan didalam batasan-batasan sistem yang kita buat tidak hanya untuk aplikasi dan pemakai saat ini saja tetapi bisa digunakan di masa yang akan datang. 2.8.3. Analisa/ Pengumpulan Kebutuhan (requirement collection & analysis) Proses mengumpulkan dan menganalisa kebutuhan-kebutuhan dari informasi tentang bagian dari perusahaan yang akan dibuat sebuah 19
basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan user dan sistem yang baru (Connolly,2002,p276). Ada banyak teknik untuk memperoleh informasi, dan disebut dengan fact finding techniques. Informasi yang dikumpulkan mencakup : -
Deskripsi tentang data yang digunakan
-
Keterangan secara lengkap bagaimana data tersebut digunakan
-
Kebutuhan tambahan lainnya untuk aplikasi data yang baru
2.8.4. Desain Basis Data (database design) Proses dalam membuat suatu desain untuk database yang akan mendukung operasi yang ada di perusahaan tersebut.(Connolly, 2002, p279). Dalam bagian ini terdapat tiga tahap dalam merancang suatu database yaitu conceptual design, logical design, physical design. 2.8.4.1. Desain Konseptual Basis Data (conceptual database design) Langkah awal dalam conceptual database adalah dengan membuat model data secara konseptual dari perusahaan yang bersangkutan. Data tersebut merupakan informasi-informasi mengenai perusahaan. Dalam menentukan model data secara konseptual, data yang digunakan tidak termasuk dalam sasaran DBMS, program aplikasi, bahasa pemrograman, dan masalah dalam pembuatan basis data. Dalam conceptual database design, data yang ada dikembangkan dengan representasi secara konseptual
yang
relationship,
dan
mencakup atribut
yang
perancangan basis data tersebut. 20
mengidentifikasi sangat
penting
entity, dalam
Desain konseptual bertujuan untuk merepresentasikan kebutuhan informal, deksripsi lengkap, namun tidak bergantung pada kriteria DBMS. Merepresentasikan isi dari database tanpa mengkhawatirkan bagaimana informasi ini diimplementasikan pada sistem. (McGraw Hill, 2003, p160) 2.8.4.2. Desain Logikal Basis Data (logical database design) Desain logikal mentranslasikan skema konseptual yang didefinisikan pada fase sebelumnya ke model data yang sesuai dengan DBMS. Model logikal merepresentasikan data tanpa tergantung dengan fisiknya, meskipun DBMS yang digunakan harus mendukung data model itu. (McGraw Hill, 2003, p161) Dalam logical database design, model data yang telah diperoleh dalam conceptual database design diubah dalam bentuk logical model dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basis data (database). Hal ini dilakukan untuk menterjemahkan representasi konseptual ke dalam bentuk struktur logik dalam database. Logical data model merupakan sumber informasi dalam merancang physical database. Logical database design memberikan sarana yang membantu para perancang physical database. 2.8.4.3. Desain Fisikal Basis Data (Physical database design) Desain fisikal berupa skema logikal yang telah lengkap dan detil dari implemetasi fisiknya (organisasi file dan pengindeks-an) pada DBMS tertentu. Model ini bergantung pada 21
DBMS tertentu yang dipilih dan organisasi fisik data pada sistem itu. (McGraw Hill, 2003 ,p162). Physical database design dilakukan untuk memutuskan struktur logik secara fisik diimplementasikan ke dalam tujuan database management system (DBMS). Para perancang juga harus membuat keputusan mengenai bagaimana basis data (database) tersebut dapat diimplementasikan / diterapkan dalam perusahaan. Oleh karena itu, physical database design harus disesuaikan dengan DBMS yang spesifik. 2.8.5. Pemilihan DBMS (DBMS selection) Pemilihan DBMS dilakukan untuk memilih DBMS yang cocok atau sesuai dengan aplikasi basis data. Berikut ini adalah langkah-langkah utama dalam memilih DBMS (Connolly, 2002, p284) : 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. 2.8.6. Desain Aplikasi (application design) Rancangan dari user interface dan program aplikasi yang digunakan untuk memproses basis data (Connolly, 2002, p287)
22
2.8.7. Prototyping Membangun
suatu
model
kerja
dari
aplikasi
database
(Connolly,2002,p291). Tujuan utama mengembangkan suatu prototipe aplikasi database adalah mengijinkan user untuk menggunakan prototipe untuk mengidentifikasikan corak sistem apakah sistem bekerja dengan baik. Dan jika mungkin meningkatkan corak baru kepada aplikasi database. Dengan cara ini kita dapat memperjelas kebutuhan pemakai dan pengembang sistem dalam mengevaluasi kelayakan desain sistem tertentu. Prototipe mempunyai keuntungan yang utama yaitu relatif cepat dan murah untuk dibangun. Ada dua strategi yang digunakan yaitu requirement prototyping dan evolutionary prototyping. Requirement prototyping digunakan untuk menentukan kebutuhan suatu aplikasi database yang diusulkan dan ketika kebutuhan terhadap suatu aplikasi database tidak lengkap, maka prototipe tersebut tidak digunakan lagi. Evolutionary prototyping digunakan untuk tujuan yang sama, perbedaan yang penting adalah bahwa prototipe tidak dibuang tetapi dengan pengembangan lebih lanjut, prototipe tersebut bekerja sama dengan aplikasi database. (Connolly,2002,p291) 2.8.8. Implementasi (implementation) Implementasi merupakan realisasi secara fisik dari basis data dan desain aplikasi (Connolly,2002, p292) pada tahap penyelesaian desain dimana berada dalam posisi untuk menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan DDL 23
yang kita pilih dalam melakukan pemilihan DBMS atau dengan menggunakan Graphical User Interface (GUI). Pernyataan DDL digunakan untuk menciptakan struktur basis data dan file basis data yang masih kosong. Program aplikasi diterapkan dengan menggunakan bahasa generasi ke-4 atau ke-3 yang lebih disukai. Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan dengan menggunakan DML. Transaksi basis data juga dapat dibuat dalam bahasa pemograman seperti Visual Basic, Delphi, C, C++, Java, Cobol, Fortran, Ada, atau Pascal. Kita juga menerapkan komponen lain dari desain aplikasi seperti layar menu, format masukan data, dan laporan. Pengendalian keamanan integritas untuk aplikasi juga telah diterapkan. Sebagian dari kendali ini telah diterapkan dengan menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di luar dari DDL, sebagai contoh penggunaan yang disediakan DBMS atau kendali sistem operasi. 2.8.9. Data Conversion & Loading Pemindahan data yang ada dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru (Connolly, 2002,p293). Langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan suatu sistem basis data yang lama. Sekarang ini, telah menjadi umum suatu DBMS untuk mempunyai suatu kegunaan yang dapat mengisi file yang
24
ada kedalam basis data yang baru. Kegunaan yang ada umumnya memerlukan spesifikasi sumber file dan target basis data dan kemudian secara otomatis mengkonversi data itu kepada format yang diperlukan basis data yang baru. Kapan saja konversi dan pembuatan diperlukan, proses harus dengan baik direncanakan agar basis data tersebut dapat sesuai dengan kebutuhan yang ada. 2.8.10. Testing Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan (Connoly, 2002, p293). Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. 2.8.11. Operational Maintenance Suatu proses untuk memonitor dan merawat sistem aplikasi setelah instalasi. Dalam langkah-langkah yang sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem sekarang pindah ke suatu langkah pemeliharaan yang melibatkan aktivitas berikut (Connolly, 2002, p293) : -
monitoring performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data mungkin diperlukan.
-
maintaining dan meningkatkan mutu aplikasi basis data (ketika diperlukan). Kebutuhan baru disatukan ke dalam aplikasi data dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam database life cycle. 25
Suatu DBMS secara normal menyediakan berbagai kegunaan untuk membantu administrasi basis data yang mencakup kegunaan untuk mengisi data kedalam suatu basis data dan memonitor sistem tersebut. Monitoring proses akan terus berlanjut sepanjang hidup suatu aplikasi basis data tersebut dan pada waktu tertentu boleh melakukan reorganisasi basis data untuk mencukupi kebutuhan dari sistem. Perubahan ini menyediakan informasi pada evolusi sistem dan sumber daya pada masa yang akan datang yang mungkin diperlukan. Hal ini memungkinkan DBA untuk terlibat dalam perencanaan kapasitas dan untuk memberi tahu staf senior siaga untuk melakukan penyesuaian
rencana. Jika DBMS
kekurangan kegunaan tertentu, DBA dapat mengembangkan kegunaan yang diperlukan atau membeli tools tambahan jika tersedia.
2.9. Pembelian 2.9.1. Definisi Pembelian Menurut Mulyadi (2001,p299) pembelian adalah suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. 2.9.2. Fungsi-fungsi yang Terkait Dalam Pembelian Menurut Mulyadi (2001, p300) fungsi yang terkait dalam sistem pembelian adalah :
26
1. 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. 2. Fungsi pembelian Bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih. 3. Fungsi penerimaan Bertanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu, kuantitas bahan yang diterima dari pemasok guna menentukan dapat tidaknya barang tersebut diterima oleh perusahaan. 4. Fungsi akuntansi Fungsi akuntansi yang terkait dalam transaksi pembelian adalah fungsi pencatat utang yang bertanggung jawab untuk mencatat transaksi pembelian ke dalam register bukti kas keluar dan untuk meyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatam utang atau menyelenggarakan kartu utang sebagai buku pembantu utang. 2.9.3. Jaringan Prosedur yang Membentuk Sistem Pembelian Menurut
Mulyadi
(2001,p301),
membentuk sistem pembelian adalah :
27
jaringan
prosedur
yang
1. Prosedur permintaan pembelian Mengajukan permintaan pembelian langsung ke fungsi pembelian dengan menggunakan surat permintaan pembelian. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok Fungsi pembelian mengirim surat permintaan penawaran harga kepada pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain untuk memungkinkan pemilihan pemasok yang akan ditunjuk sebagai pemasok barang yang diperlukan. 3. Prosedur order pembelian Fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit lain dalam perusahaan mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. 4. Prosedur penerimaan barang, Dalam
prosedur
ini
fungsi
penerimaan
barang
melakukan
pemeriksaan mengenai jenis, kuantitas dan mutu bahan yang diteruma dari pemasok dan kemudian membuat laporan penerimaan barang untuk menyatakan penerimaan barang dari pemasok tersebut. 5. Prosedur pencatatan utang, Dalam prosedur ini, fungsi akuntansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian (surat order pembelian, laporan penerimaan barang, faktur dari pemasok) dan menyelenggarakan
28
pencatatan ulang atau pengarsipan dokumen sumber sebagai catatan utang. 6. Prosedur distribusi pembelian Prosedur ini meliputi distribusi rekening yang didebet dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen.
2.10. Penjualan 2.10.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 atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya 2.10.2. Fungsi yang Terkait Dalam Penjualan Menurut Mulyadi (2001,p211) fungsi yang terkait dalam sistem penjualan kredit adalah :
29
1. Fungsi penjualan Bertanggung jawab menerima surat order dari pelanggan, mengedit informasi-informasi yang belum lengkap pada surat order tersebut dan menerima kredit, menentukan tanggal pengiriman dan dari gudang mana barang akan dikirim, dan mengisi surat order pengiriman. 2. Fungsi kredit Bertanggung jawab dalam meneliti status kredit pelanggan dan memberikan otorisasi pemberian kredit kepada pelanggan 3. Fungsi gudang Bertanggung jawab untuk menyimpan dan menyediakan barang yang dipesan oleh pelanggan, serta menyerahkan barang ke fungsi pengiriman. 4. Fungsi pengiriman Bertanggung jawab untuk meyerahkan barang atas dasar surat order pengiriman yang diterimanya dari fungsi penjualan. 5. Fungsi akuntansi Bertanggung jawab untuk mencatat piutang yang timbul dari transaksi penjualan kredit dan mengirimkan pernyataan piutang kepada debitur, serta membuat laporan penjualan. 6. Fungsi penagihan Bertanggung jawab untuk membuat dan mengirimkan faktur penjualan kepada pelanggan, serta menyediakan salinan faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. 30
2.10.3. Jaringan Prosedur yang Membentuk Sistem Penjualan Menurut
Mulyadi
(2001,p219)
jaringan
prosedur
yang
membentuk sistem penjualan kredit : 1. Prosedur order penjualan Fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order dari pembeli, kemudian membuat surat order pengiriman dan mengirimkannya kepada berbagai fungsi yang lain. 2. Prosedur persetujuan kredit Fungsi penjualan meminta persetujuan penjualan kredit kepada pembeli tertentu dari fungsi kredit. 3. Prosedur pengiriman Fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat order pengiriman yang diterima dari fungsi pengiriman. 4. Prosedur penagihan Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. 5. Prosedur pencatatan piutang Fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang.
31
6. Prosedur distribusi penjulan Fungsi akuntansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen. 7. Prosedur pencatatan harga pokok penjualan Fungsi akuntansi mencatat secara periodik total harga pokok produk yang dijual dalam periode akuntansi tertentu.
32