BAB 2 LANDASAN TEORI
2.1
Pengertian Basis Data Menurut Connolly, Begg (2002, p14), Basisdata adalah sebuah kumpulan
dari data yang berhubungan secara logis, beserta keterangan keterangannya, dirancang sesuai dengan informasi yang dibutuhkan perusahaan. Menurut Date (2000, p10) basisdata adalah sekumpulan data yang digunakan oleh sistem aplikasi yang digunakan oleh suatu perusahaan. Menurut Subekti (1997, p8), Basisdata adalah kumpulan terintegrasi dari occurences file/tabel yang merupakan representasi data dari suatu model enterprise. Misalnya basisdata kemahasiswaan dan perkuliahan, keuangan, personalia, material, dan logistik. Menurut Post (2005, p2) database is a collection of data stored in a standardized format, designed to be shared by multiple user. Dimana dapat diartikan dengan sekumpulan data yang tersimpan dalam format yang telah terstandarisasi yang didesain untuk digunakan oleh beberapa user bersama.
2.2
DBMS (Database Management System) Menurut Sliberchatz, Korth, Sudarshan (2002, p1), DBMS adalah
sekumpulan data yang saling berhubungan dan sebuah set program yang digunakan untuk mengakses data tersebut.
6
7 Menurut Connolly, Begg (2002, p16), DBMS adalah sebuah sistem perangkat lunak yang memungkinkan users untuk mendefinisi, membuat, memelihara, dan mengontrol akses ke basisdata. Menurut Post (2005, p2) database management system is software that defines a database, stores the data, supports a query language, produce report and creates data entry screens. Dimana dapat diartikan dengan piranti lunak yang menentukan suatu bentuk basis data, menyimpan data, yang mendukung suatu bahasa query, menghasilkan laporan, dan menampilkan layar pengisian data. Menurut Subekti (1997, p1-3), suatu sistem basis data terdiri dari 4 komponen penting yaitu: 1. Data Data dalam suatu sistem basis data harus dapat terintegrasi dan dapat dipakai bersama. Maksud dari dapat terintegrasi adalah data harus merupakan kumpulan berbagai file yang saling berhubungan dan redundansi yang ada diantaranya harus dihilangkan. Sedangkan maksud dari dipakai bersama adalah data yang ada didalam basis data sebisa mungkin dapat dipakai bersama untuk keperluan berbeda. 2. Hardware Piranti keras yang digunakan untuk sistem basis data adalah mesin standar yang tidak memiliki kekhususan tertentu, namun karena sifatnya dalam pengaksesan yang bervariasi, terutama banyak merupakan direct access maka sistem basis data akan lebih banyak menggunakan media penyimpanan harddisk.
8 3. Software Untuk mengakses ke dalam suatu basisdata, pengguna perlu menggunakan sebuah piranti lunak yang disebut dengan DBMS ataupun DB manager. Semua pengaksesan yang akan dilakukan pengguna seperti create, insert, delete akan dilaksanakan DBMS. Selain dari itu DBMS juga berfungsi untuk memberikan suatu batas agar pengguna basis data tidak perlu memikirkan hal hal yang berkaitan dengan piranti keras 4. Pengguna Dalam suatu sistem basis data, pengguna dapat diklasifikasikan kedalam 3 antara lain: a. Programer aplikasi programer aplikasi adalah orang yang bertanggung jawab untuk menuliskan program aplikasi b. End user orang yang menggunakan data didalam basis data untuk kebutuhan tugas atau fungsinya. c. Administrator basis data orang yang bertanggung jawab pada keseluruhan sistem basis data, atau sering disebut database administrator. Menurut Date (2000, p15) keuntungan dari suatu sistem basisdata atas pemrosesan tradisional antara lain adalah: 1. Compactness artinya tidak diperlukan berkas yang banyak 2. Kecepatan artinya mesin dapat mencari kembali dan mengubah data lebih cepat dari manusia
9 3. Less drudgery artinya banyak tugas yang perlu dilakukan untuk mengatur data dengan tangan sudah dieliminasi 4. Currency artinya data yang ada selalu up to date Menurut Rob (2002, p34) keunggulan dari relational database dibandingkan dengan hierarchical dan network database antara lain: 1. Kebebasan struktural Relational database tidak menggunakan sistem pengaksesan data yang terarah (navigational data access system), maka jalur pengaksesan data tidak ada hubungannya dengan database designer, programmers, dan end user. 2. Kemudahan konseptual yang ditingkatkan Di dalam relational database kita tidak perlu memikirkan masalah pengimplementasian secara fisikal, sehingga kita dapat lebih memfokuskan diri dalam perancangan konseptual. 3. Kemudahan desain, implementasi, pengaturan, dan penggunaan Relational database memiliki kebebasan struktural dan juga kebebasan data, sehingga masalah desain dan juga mengatur basisdata juga menjadi lebih mudah 4. Kemampuan ad hoc query Relational database menggunakan cara yang sangat fleksibel dalam melakukan query 5. DBMS yang lebih powerful Relational database akan menghasilkan sebuah DBMS yang dapat menutupi kompleksitas fisikal dari desainer dan juga user,
10 Akan tetapi, menurut Rob (2002, p34) adapun kelemahan dari relational database dibandingkan dengan hierarchical dan network database antara lain: 1. Substantial hardware and system software overhead Untuk menutupi kompleksitas dari sistem yang dilakukan oleh sebuah RDBMS diperlukanlah sebuah komputer dan software yang jauh lebih canggih 2. Memungkinkan desain dan implementasi yang kurang bagus Karena relational database sangat mudah digunakan, sehingga sangat mudah untuk menghasilkan laporan, dan menulis query tanpa pemikiran yang cukup, maka desain yang bagus untuk sebuah basisdata sering diabaikan. 3. Memungkinkan terjadinya island of information Karena relational database sangat mudah digunakan, maka sangatlah mudah terjadinya subset dan aplikasi basisdata individual, ini akan menyebabkan data yang ada tidak terintegrasi. Database management system mempunyai beberapa keuntungan dan tetapi juga mempunyai beberapa kerugian menurut Connolly, Begg (2002, p25). Keuntungan DBMS 1. Pengontrolan data redudansi Pendekatan basisdata berusaha untuk menghilangkan redudansi dengan cara mengintegrasikan files sehingga data yang sama tidak disimpan. 2. Data konsistensi Jika item data disimpan hanya sekali di dalam basisdata, update yang berhubungan dengan data hanya boleh dilakukan dan nilainya langsung tersedia untuk users.
11 3. Banyak informasi dari jumlah data yang sama Dengan terintegrasinya data operasional, maka sangat memungkinkan organisasi untuk mendapat informasi tambahan dari data yang sama. 4. Sharing data basisdata dimiliki oleh organisasi dan bisa di-share oleh semua users yang berwenang. 5. Meningkatkan integritas data Integritas basisdata menunjuk ke validitas dan konsistensi dati data yang disimpan. Biasanya, integritas dinyatakan dalam istilah constraints, yaitu peraturan konsistensi di mana basisdata dinyatakan tidak boleh melanggarnya. 6. Meningkatkan keamanan Integrasi mengizinkan DBA untuk mendefinisikan, dan DBMS untuk meningkatkan keamanan basisdata. Ini bisa dilakukan dengan menggunakan nama dan password untuk mengidentifikasikan orang yang berwenang untuk menggunakan basisdata. 7. Menguatkan standar Sekali lagi, integritas memungkinkan DBA untuk mendefinisikan dan meningkatkan standar yang diperlukan, misalnya format data, konvensi penamaan, standar dokumen, prosedur update, dan peraturan akses. 8. Meningkatkan aksesibilitas dan respon data Banyak DBMS menyediakan query language atau report writer yang memungkinkan user untuk meminta pertanyaan ad hoc dan untuk mendapatkan informasi yang diperlukan dengan waktu yang sangat cepat,
12 tanpa memerlukan seorang programmer untuk menulis beberapa perangkat lunak untuk mengekstrak informasi dari basisdata. 9. Meningkatkan produktivitas DBMS bisa meningkatkan produktivitas programmer dan mengurangi waktu pengembangan karena DBMS menyediakan semua rutin low-level filehandling dan lingkungan fourth-generation. 10. Meningkatkan pemeliharaan melalui ketidaktergantungan data DBMS memisahkan deskripsi data dari aplikasi, sehingga membuat aplikasi bertahan dari perubahan dalam deskripsi data. 11. Meningkatkan concurrency Pada beberapa sistem file-based, jika dua atau lebih users diperbolehkan untuk mengakses data yang sama secara bersamaan, maka sangat memungkinkan bahwa akses tersebut akan mengganggu satu sama lainnya, sehingga menyebabkan kehilangan informasi atau bahkan kehilangan integritas. Dengan adanya DBMS yang bisa menangani akses database concurrent dan maka masalah seperti di atas di atas tidak akan terjadi. 12. Meningkatkan pelayanan backup dan recovery. DBMS menyediakan fasilitas untuk meminimalkan jumlah proses yang hilang yang dikarenakan kegagalan.
Kerugian DBMS 1. Rumit Penyediaan fungsionalitas yang kita harapkan dari DBMS yang bagus membuat DBMS menjadi sebuah perangkat lunak yang sangat rumit.
13 Perancang dan pengembang basisdata, data dan database administrator, dan end-user harus mengerti fungsionalitas tersebut untuk memperoleh keuntungan dari DBMS tersebut. 2. Ukuran Kerumitan dan banyaknya fungsionalitas membuat DBMS menjadi sebuat perangkat lunak yang besar. 3. Biaya DBMS Biaya DBMS sangat bervariasi, tergantung dari lingkungan dan fungsionalitas yang disediakan. 4. Biaya tambahan perangkat keras Perlunya ruang penyimpanan untuk DBMS dan basisdata menyebabkan perlunya pembelian ruang penyimpanan tambahan. 5. Biaya konversi Biaya untuk mengkonversi aplikasi yang ada untuk berjalan di DBMS dan perangkat keras yang baru sangatlah tinggi. Temasuk juga biaya untuk pelatihan karyawan untuk menggunakan sistem baru. 6. Performa DBMS dibuat untuk keperluan yang lebih umum, yaitu mencakup beberapa aplikasi bukan hanya satu. Sehingga bisa menyebabkan aplikasi tidak akan berjalan secepat seperti biasanya. 7. Pengaruh yang besar dari kegagalan Sentralisasi dari sumber meningkatkan kelemahan dari sistem. Karena semua users dan aplikasi bergantung pada DBMS, gagalnya beberapa bagian DBMS bisa menyebabkan operasi untuk berhenti berjalan.
14 2.3
Data Definition Language Menurut Sliberchatz, Korth, Sudarshan (2002, p11), Data Definition
Language adalah sebuah kumpulan bahasa khusus, yang digunakan untuk menspesifikasi sebuah skema basisdata. Menurut Kroenke (2002, p214), Data Definition Language adalah bahasa yang digunakan untuk mendeskripsi struktur dari sebuah basisdata. Pernyataan utama data definition language dalam SQL yaitu: CREATE SCHEMA
DROP SCHEMA
CREATE DOMAIN
ALTER DOMAIN
DROP DOMAIN
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE VIEW
DROP VIEW
Perintah dasar untuk definisi skema mempunyai bentuk yaitu: CREATE SCHEMA [Name | AUTHORIZATION CreatorIdentifier]
Skema tersebut juga dapat dihilangkan dengan perintah berikut: DROP SCHEMA Name [RESTRICT | CASCADE]
Jika RESTRICT disebutkan di mana merupakan default, jika tidak ada qualifier disebutkan, maka skema harus dikosongkan atau operasi gagal. Jika CASCADE disebutkan, operasi akan drop semua objek yang berasosiasi dengan skema.
15 Perintah dasar untuk create table dalam bahasa SQL yaitu: CREATE TABLE TableName {(ColumName dataType [NOT NULL][UNIQUE] [DEFAULT defaultOption] [CHECK (searchCondition)] [,…]} [PRIMARY KEY (listOfColumns),] {[UNIQUE (listOfColumns),] [,…]} {[FOREIGN KEY (listOfForeignKeyColumns) REFERENCES ParentTableName [(listOfCandidateKeyColumns)], [MATCH {PARTIAL | FULL} [ON UPDATE referentialAction] [ON DELETE referentialAction] [,…]} {[CHECK (searchCondition)][,…]})
Format dasar untuk alter table yaitu: ALTER TABLE TableName [ADD [COLUMN] columnName dataType [NOT NULL] [UNIQUE] [DEFAULT defaultOption] [CHECK (searchCondition)]] [DROP [COLUMN] columnName [RESTRICT | CASCADE]] [ADD [ CONSTRAINT [ConstraintName]] tableConstraintDefinition] [DROP CONSTRAINT ConstraintName [RESTRICT | CASCADE]]
16 [ALTER [COLUMN] SET DEFAULT defaultOption] [ALTER [COLUMN] DROP DEFAULT]
Perintah untuk drop tabel yaitu: DROP TABLE TableName [RESTRICT | CASCADE]
Format untuk create view yaitu: CREATE VIEW ViewName [(newColumnName[,…])] AS subselect [WITH [CASCADED | LOCAL] CHECK OPTION]
Dan untuk menghapus view yaitu dengan perintah: DROP VIEW ViewName [RESTRICT | CASCADE]
2.4
Data Manipulation Language Menurut Sliberchatz, Korth, Sudarshan (2002, p12), Data Manipulation
Language adalah bahasa yang mengizinkan pengguna untuk mengakses ataupun memanipulasi data. Hal-hal yang termasuk dalam memanipulasi data antara lain: 1. Mengambil informasi yang tersimpan dalam basis data – SELECT 2. Menyimpan informasi baru ke dalam basis data - INSERT 3. Menghapus informasi yang tersimpan di dalam basis data - DELETE 4. Mengubah informasi yang tersimpan di dalam basis data - UPDATE
17 SELECT merupakan perintah yang paling sering digunakan dalam bahasa
SQL
dan mempunyai bentuk umum : SELECT
[DISTINCT | ALL]
{* | [columnExpression [AS newName]] [,…]} FROM [WHERE
TableName [alias][,…] condition]
[GROUP BY columnList] [HAVING condition] [ORDER BY columnList]
Format untuk perintah INSERT yaitu: INSERT INTO TableName [(columnList0) VALUES (dataValueList)
Perintah UPDATE memperbolehkan isi dari baris – baris yang ada di sebuah tabel untuk diubah. Format untuk perintah tersebut yaitu: UPDATE TableName SET columnName1 = dataValue1 [,columnName2 = dataValue2…] [WHERE searchCondition]
Perintah DELETE memperbolehkan baris dihapus dari sebuah tabel. Format dari perintah tersebut yaitu: DELETE FROM TableName [WHERE searchCondition]
18 Pada dasarnya Data Manipulation Language dapat dibagi atas 2 tipe: 1. Procedural DML adalah DML yang memerlukan user untuk memberitahu data apa yang diinginkan dan cara untuk mendapatkannya. 2. Declarative DML adalah DML yang tidak memerlukan user untuk memberitahu data apa yang diinginkan tanpa memerlukan cara untuk mendapatkannya Pada buku Database Processing karangan Kroenke (2002, p217), yang menjelaskan kategori-kategori relational DML, dua tipe DML yang telah disebutkan dijabarkan kedalam 4 kategori antara lain: 1. Relational algebra yang termasuk ke dalam prosedural DML 2. Relational calculus yang termasuk ke dalam deklaratif DML 3. Transform oriented languages yang termasuk ke dalam deklaratif DML 4. Query by form / Query by example yang termasuk ke dalam grafik
2.5
Normalisasi Menurut Connolly, Begg (2002, p376), Normalisasi adalah sebuah teknik
untuk menghasilkan sebuah set relasi dengan property yang diinginkan, sesuai dengan persyaratan data dari perusahaan. Normalisasi pertama kali dikembangkan oleh E.F. Codd pada tahun 1972. Pada awalnya tahap-tahap normalisasi hanya sampai 1st NF, 2nd NF, 3rd NF. Tetapi pada tahun 1974 R. Boyce dan E.F. Codd bersama mengembangkan BoyceCodd NF yang lebih bagus dari 3rd NF. Dan pada tahun 1974 dan 1979 4th NF dan 5th NF mulai dikenalkan.
19 Untuk mengerti apa yang dilakukan pada tahap-tahap normalisasi kita pertama tama harus mengenal beberapa istilah dibawah ini: 1. Data redundancy 2. Update anomalies yang terdiri atas a. insertion anomalies b. deletion anomalies c. modification anomalies 3. Functional dependency
1st Normal Form adalah bentuk relasi dimana pada setiap persilangan baris dan kolom hanya terdapat satu nilai. 2nd Normal Form adalah bentuk relasi yang telah memenuhi 1st NF dan semua atribut yang bukan merupakan primary key harus bergantung pada primary key secara penuh. 3rd Normal Form adalah bentuk relasi yang telah memenuhi 2nd NF dan tidak ada atribut yang bukan merupakan primary key yang memiliki ketergantungan transitive kepada primary key. Boyce-Codd Normal Form adalah bentuk relasi yang telah memenuhi 3rd NF dan semua determinan merupakan candidate key. 4th Normal Form adalah bentuk relasi yang telah memenuhi BCNF dan tidak memiliki ketergantungan multivalued yang penting. 5th Normal Form adalah bentuk relasi yang telah memenuhi 4th NF dan tidak memiliki lossless dependencies.
20 2.6
4thGL( Generation Language) Menurut Pressman (2002, p15) versi bahasa Indonesia. Bahasa generasi
keempat, juga disebut bahasa nonprosedural , menggerakkan pengembang perangkat
lunak
untuk
mengkhususkan
pada
detil
prosedural.
Bahasa
nonprosedural secara tidak langsung menyatakan sebnuah program melalui spesifikasi hasil yang diharapkan, dan tidak pada aksi yang dibutuhkan unutk mencapai hasil tersebut.
2.7
Siklus Hidup Aplikasi Database Menurut Connolly, Begg (p271-293, 2002), aplikasi basisdata memiliki
siklus yang terdiri dari 1. Database Planning 2. System definition 3. Requirement collection and analysis 4. Database design 5. DBMS selection (optional) 6. Application design 7. Prototyping (optional) 8. Implementation 9. Data conversion and loading 10. Testing 11. Operational maintenance
21 Database Planning
System Definition
Requirement collection and analysis
Database Design Conceptual Database Design DBMS selection (optional)
Logical Database Design
Application Design
Physical Database Design
Prototyping (optional)
Implementation
Data Coversion and Loading Testing
Opertional Maintenance
Gambar 2.1
Database Application Lifecycle
(Sumber: Database System, A Practical Approach to Design and Management)
22 2.7.1
Database Planning Database planning adalah tahap di mana kita merencanakan
perealisasian tahap tahap lainnya dengan efisien dan efektif. Untuk melakukan itu ada beberapa hal yang perlu dilakukan antara lain: 1. Identifikasi rencana dan tujuan dari perusahaan 2. Mengevaluasi sistem informasi sekarang 3. Mengenal kesempatan IT yang memungkinkan menambah daya saing
2.7.2
System Definition System definition artinya mendeskripsikan ruang lingkup beserta
batasan-batasan dari aplikasi basisdata beserta user view pada umumnya. User view adalah hal hal yang diperlukan dari sebuah aplikasi basisdata dari pandangan sebuah pekerjaan tertentu, contohnya manager ataupun supervisor.
2.7.3
Requirement Collection and Analysis Tahap ini adalah tahap dimana kita mengumpulkan dan
menganalisa
informasi
mengenai
bagian
perusahaan
yang
akan
menggunakan aplikasi basisdata dan menggunakan informasi tersebut untuk mengidentifikasi user yang ada. Informasi yang diperlukan antara lain adalah; 1. Deskripsi data yang digunakan dan yang dihasilkan 2. Keterangan-keterangan mengenai bagaimana data digunakan ataupun dihasilkan
23 3. Semua permintaan tambahan untuk aplikasi basisdata yang baru Ada beberapa cara untuk mengatur kebutuhan aplikasi basisdata dari beberapa user view, antara lain: 1. Centralized approach 2. View integration approach 3. Kombinasi dari kedua cara yang ada di atas
2.7.4
Database Design Database design adalah proses yang menghasilkan desain sebuah
basisdata yang dapat mendukung operasi dan misi perusahaan. Terdapat beberapa cara untuk mendesain suatu basisdata antara lain yang paling sering digunakan adalah bottom up approach dan juga top down approach. Mengenai tahap - tahap perancangan basisdata akan diterangkan lebih lanjut pada sub bab berikutnya.
2.7.5
DBMS selection Tahap ini adalah tahap untuk memilih sebuah DBMS yang tepat
untuk mendukung kerja aplikasi basisdata. Adapun langkah langkah utama yang digunakan dalam memilih sebuah DBMS antara lain: 1. Menentukan persyaratan untuk referensi 2. Menandakan beberapa produk 3. Mengevaluasi produk 4. Mengrekomendasi pillihan kita dan menghasilkan laporan
24 2.7.6
Application Design Tahap ini adalah tahap dimana kita mendesain user interface dan
juga aplikasi program yang menggunakan dan memproses basisdata. Application design terbagi atas dua tahap antara lain yaitu: 1. Transaction design 2. User interface design 2.7.6.1 Transaction design Tipe tipe transaksi: 1. mengambil kembali data 2. mengubah basisdata (insert, modify, delete) 3. gabungan dari keduanya Tujuan utama dari merancancang transaksi antara lain: 1. Merancang data yang akan digunakan dalam sebuah transaksi 2. Karakteristik fungsional dari sebuah transaksi 3. Hasil dari sebuah transaksi 4. Pentingnya buat user 5. Jumlah penggunaan diharapkan
2.7.6.2 User interface design Sebelum mengimplementasi sebuah laporan, sangatlah penting untuk mendesain layout. Petunjuk untuk merancang laporan antara lain: 1. Judul yang bermakna 2. Instruksi yang mudah dimengerti
25 3. Pengelompokan secara logikal and pengurutan field 4. Layout dari laporan harus menarik 5. Label field yang sering digunakan 6. Terminology dan penyigkatan yang konsisten 7. Penggunaan warna yang konsisten 8. Tempat dan batasan pengisian data yang jelas 9. Pergerakan kursor yang mudah 10. Pengkoreksian satu karakter dan seluruh field 11. Pesan kesalahan untuk nilai yang tidak dapat diterima 12. Field yang optional ditandai dengan jelas 13. Penjelasan singkat untuk field 14. Tanda selesai
2.7.7
Prototyping Artinya adalah membangun sebuah model yang dapat berjalan dari
aplikasi basisdata. Dewasa ini ada dua jenis strategi prototyping yang sering digunakan yaitu requirement prototyping dan evolutionary prototyping. Dimana hasil dari requirement prototyping akan dibuang setelah kebutuhannya telah lengkap, akan tetapi evolutionary prototyping akan disimpan dan dikembangkan untuk penggunaan lebih lanjut.
2.7.8
Implementation Artinya merealisasikan perancangan basisdata dan aplikasi secara
fisik. Ini adalah tahap di mana kita membuat basisdata dengan
26 menggunakan DDL dan juga DML, serta membangun sebuah aplikasi dengan bahasa pemograman yang sudah ada.
2.7.9
Data Conversion and Loading Tahap ini kita akan mengkonversi data data yang telah ada ke
dalam basisdata yang baru saja kita buat.
2.7.10
Testing Tahap ini adalah tahap dimana kita mengeksekusi program aplikasi
dengan tujuan untuk mencari error. Testing yang bagus adalah testing yang dapat mencari error sebanyak mungkin.
2.7.11
Operational Maintenance Tahap ini adalah tahap di mana kita memantau dann mengatur
sistem yang telah digunakan. Tugas tugas yang perlu dikerjakan pada tahap ini adalah: 1. memantau performa dari sistem, dengan catatan apabila sistem bekerja
dibawah
harapan,
akan
terjadi
perbaikan
perombakan basisdata 2. mengatur dan meningkatkan kemampuan aplikasi basisdata
bahkan
27 2.8
Database Design 2.8.1
Conceptual Database Design Conceptual
database
design
adalah
sebuah
proses
untuk
membangun sebuah model informasi yang digunakan dalam perusahaan, yang bebas dari semua pertimbangan secara fisik. Adapun tahap tahap yang perlu dijalankan dalam proses tersebut adalah: 1. Mengidentifikasi entiti 2. Mengindentifikasi tipe relasi 3. Mengidentifikasi dan menghubungkan atribut dengan entiti dan relasi 4. Menentukan domain atribut 5. Menentukan candidate key beserta primary key 6. Mempertimbangkan
penggunaan
enhanced
modelling
concepts
(optional) 7. Mengecek model akan terjadinya redundansi 8. Menvalidasikan local conceptual model dengan transaksi user 9. Meng-review model tersebut dengan user
2.8.2
Logical Database Design Logical database design adalah sebuah proses untuk membangun
sebuah model informasi perusahaan, berdasarkan sebuah model yang spesifik, akan tetapi bebas dari pertimbangan DBMS dan pertimbangan fisik lainnya. Adapun tahap tahap yang perlu dijalankan dalam proses tersebut adalah:
28 1. Membangun logical data model untuk tiap user view. Yang terdiri dari: a. Menghapus bagian yang tidak sesuai dengan relational model (optional) b. Menunjukkan relasi untuk local logical data model c. Mengvalidasi relasi dengan menggunakan normalisasi d. Mengvalidasi relasi dengan transaksi user 2. Membangun global logical data model. Yang terdiri dari: a. Menggabungkan local logical data model menjadi satu b. Mengvalidasi global logical data model c. Mempertimbangkan perkembangan pada masa depan d. Meng-review global logical data model dengan user
2.8.3
Physical Database Design Physical database design adalah sebuah proses untuk menghasilkan
sebuah deskripsi dari implementasi basisdata pada tempat penyimpanan. Ia menggambarkan relasi dasar, pengorganisasian file, dan index yang digunakan supaya menghasilkan efisiensi yang paling tinggi, dan semua yang berhubungan dengan pengikatan integritas dan masalah keamanan. Adapun tahap-tahap yang perlu dijalankan dalam proses tersebut adalah: 1. Menerjemahkan global logical data model supaya sesuai dengan DBMS yang digunakan. Proses yang perlu dijalani antara lain: a. Mendesain relasi dasar b. Mendesain representasi dari data turunan c. Mendesain batasan perusahaan
29 2. Mendesain representasi secara fisik. Proses yang perlu dijalani antara lain: a. Menganalisa transaksi b. Memilih organisasi c. Memilih index d. Memperkirakan penggunaan disk 3. Mendesain user view 4. Mendesain mekanisme security 5. Mempertimbangkan penggunaan redundansi terkontrol 6. Memantau dan memperbaiki sistem operasi
2.9
Teori-Teori Penyewaan dan Kontrak Berdasarkan apa yang tertulis dalam http://www.kpppmasatu.go.id
2.9.1
Definisi Leasing Transaksi dimana pemilik aktiva (bisa perusahaan leasing atau
Lembaga Keuangan) menyewakan aktivanya pada penyewa/pemakai selama jangka waktu tertentu.
2.9.2
Bentuk-Bentuk Leasing Di Indonesia dikenal 2 jenis leasing yaitu: 2.9.2.1 Direct Financial Leases Setiap kegiatan pembiayaan perusahaan dalam bentuk penyediaan barang-barang modal untuk digunakan oleh suatu
30 perusahaan untuk suatu jangka waktu tertentu berdasarkan pembayaran-pembayaran secara berkala disertai dengan hak pilih (optie) bagi perusahaan tersebut untuk membeli barang-barang modal yang bersangkutan atau memperpanjang jangka waktu leasing berdasarkan nilai sisa yang telah disepakati bersama. 2.9.2.2 Operating Leases Suatu sistem penyewaan di mana pihak yang menyewakan menyediakan jasa-jasa tertentu seperti asuransi atau pemeliharaan syarat-syarat kontraknya biasanya tidak menjamin pihak lessor pengembalian penuh dari ongkos-ongkos barang modal dan sebagainya (non full payout lease) dan ia menanggung resiko ekonomi dari pemilikannya itu.
2.9.3
Bagan Proses Terjadinya Direct Financial Lease:
2
Lessor
5 3
Lessee 1
Manufacturer / Supplier Gambar 2.2
4
Direct Financial Lease
(Sumber : http://www.kpppmasatu.go.id)
31
1.
Lessee
memutuskan
macam
barang
modal
yang
dikehendaki yang terdapat di Manufacturer/supplier (Penjual) 2.
Lessee dan Lessor membuat kontrak (Lease)
3.
Lessor membayar harga barang (harga pasar dan wajar) kepada Penjual, biasanya 100%
4.
Lessee menerima barang. Pada waktu itu kontrak (Lease) efektif berlaku
5.
Pada waktunya lessee membayar rental (sewa) pada Lessor. (dapat bulanan, triwulanan, semesteran atau tahunan)
Unsur-unsur lainnya ialah: a. Penyewa memiliki kesempatan pertama untuk membeli perlengkapan tersebut pada waktu berakhirnya jangka waktu penyewaan. b. Selama jangka waktu penyewaan, hak atas perlengkapan berada pada pihak yang Menyewakan. c. Hak atas perlengkapan pindah kepada Penyewa apabila ia memilih untuk membeli pada akhir jangka waktu penyewaan. d. Penyewa harus mengadakan asuransi untuk perlengkapan yang diabsahkan kepada pihak yang Menyewakan. e. Pemeliharaan perlengkapan menjadi tanggung jawab penyewa.
32 2.9.4
Jenis - Jenis Leasing (pada umumnya) 2.9.4.1
Penyewaan Modal (Hire Purchase) Suatu penyewaan digolongkan sebagai suatu penyewaan
modal apabila ia memenuhi salah satu dari kriteria berikut: a. Penyewaan itu mengalihkan pemilikan kepada penyewa pada akhir jangka waktu penyewaan. b. Penyewaan itu memberikan kesempatan untuk membeli dengan harga yang rendah sehabis masa sewa. c. Jangka waktu penyewaan itu sama dengan 75% atau lebih dari perkiraan kegunaan ekonomis dari perlengkapan. d. Nilai sekarang dari pembayaran minimum sewa dari nilai pasar yang wajar dari hak milik yang disewakan dikurangi kreditkredit pajak yang bersangkutan, yang ditahan oleh pihak yang menyewakan. 2.9.4.2
Penyewaan untuk penjualan bersyarat (Conditional Sale) Suatu transaksi untuk pembelian sebuah barang modal
dimana pemakai diperlakukan sebagai pemilik perlengkapan tersebut sejak dari dimulainya transaksi (kadang-kadang tersebut sebagai persetujuan sewa-beli) 2.9.4.3
Penyewaan untuk pembiayaan langsung (Direct Financial Lease) Suatu penyewaan yang tidak diimbangi keuntungan oleh
satu pihak yang menyewakan (bukan seorang pengusaha pabrik
33 atau pedagang) dimana penyewaan itu memenuhi salah satu dari kriteria bagi suatu penyewaan modal ditambah dengan empat kriteria tambahan berikut: a. Kemungkinan untuk memungut pembayaran-pembayaran sewa yang minimum harus dapat diperkirakan secara wajar. b. Harus tidak ada ketidak-pastian tentang jumlah ongkos yang tidak dapat diperoleh kembali oleh pihak yang menyewakan dibawah penyewaan itu. c. Pemakai bertanggung-jawab pemeliharaan, pajak-pajak dan asuransi. d. Pembayaran-pembayaran
sewa
selama
masa
kegunaan
pinjaman cukup untuk memungkinkan pihak yang menyewakan untuk memperoleh kembali ongkos dari perlengkapan ditambah suatu keuntungan atas investasinya. 2.9.4.4
Leasing yang diimbangi keuntungan (Leverage Lease) Adalah suatu penyewaan yang memenuhi kriteria bagi
suatu penyewaan untuk pembiayaan langsung, ditambah semua ciri-ciri berikut: a. Paling kurang tiga pihak yang terlibat: seorang Penyewa, pihak yang Menyewakan dan seorang Pemberi Pinjaman jangka panjang. b. Pembiayaan yang disediakan oleh pemberi pinjaman cukup besar bagi transaksi yang bersangkutan dan terlalu besar bagi pihak yang menyewakan untuk membiayai sendiri.
34 c. Investasi netto dari pihak yang menyewakan yang secara khas berkurang selama tahun-tahun pertama penyewaan dan meningkat di tahun-tahun kemudian dari penyewaan. 2.9.4.5
Leasing Induk (Master Lease) Suatu persetujuan kredit penyewaan yang membolehkan
seorang Penyewa menambah perlengkapan di bawah syarat-syarat pokok dan kondisi-kondisi yang sama tanpa merundingkan sebuah kontrak penyewaan baru. 2.9.4.6
Leasing untuk operasi (Operating Lease) Untuk
keperluan
pembukuan
keuangan,
suatu
penyewaan yang tidak memenuhi kriteria dari suatu penyewaan modal atau penyewaan untuk pembiayaan langsung, pada umumnya digunakan untuk melukiskan suatu penyewaan jangka pendek dimana seorang pemakai dapat memperoleh penggunaan sebuah barang modal untuk sebagian dari masa kegunaan barang tersebut. Pihak yang menyewakan dapat memberikan pelayananpelayanan dalam hubungan dengan penyewaan itu, seperti untuk pemeliharaan, asuransi dan pembayaran pajak-pajak hak milik pribadi. 2.9.4.7
Penjualan penyewaan kembali (Sale Lease Back) Suatu transaksi yang menyangkut penjualan hak milik
oleh pemilik dan penyewaan kembali hak milik itu kepada penjual.
35 2.9.4.8
Sub Lease Suatu transaksi dimana hak milik yang disewakan,
disewakan lagi oleh penyewa semula kepada pihak ketiga, dan persetujuan sewa menyewa antara kedua pihak semula tetap berlaku.
2.10
Teori-Teori Persediaan 2.10.1 Definisi Persediaan Menurut Sinaga (1986, p256) persediaan digunakan untuk mengartikan: 1. Barang dagangan yang disimpan untuk dijual dalam operasi normal perusahaan 2. Barang yang terdapat dalam proses produksi atau yang disimpan untuk tujuan itu. Menurut Assauri (1980, p179) persediaan adalah aktiva yang meliputi barang-barang milik perusahaan dengan maksud untuk dijual dalam suatu periode usaha yang normal atau barang barang yang masih dalam pengerjaan atau proses produksi atau barang yang menunggu penggunaannya dalam suatu proses produksi.
36 2.10.2 Jenis-Jenis Persediaan Menurut Assauri (1980, p179) persediaan dapat dibedakan atas: 2.10.2.1
Persedian bahan baku
Persediaan dari barang barang berwujud yang digunakan dalam proses produksi, dimana dapat diperoleh daru sumbersumber alam ataupun dibeli dari supplier ataupun perusahaan yang menghasilkan barang tersebut bagi pabrik yang menggunakannya. 2.10.2.2
Persediaan bagian produk atau parts yang dibeli
Persediaan dari barang barang yang terdiri dari parts yang diterima dari perusahaan lain yang dapat secara langsung dapat diassembling-kan dengan parts lainnya, tanpa melalui proses produksi 2.10.2.3
Persediaan
barang
barang
pembantu
atau
barang barang perlengkapan Persediaan barang barang yang diperlukan untuk membantu berhasilnya produksi atau dalam kerja perusahaan, tetapi tidak termasuk kedalam bagian dari barang jadi. 2.10.2.4
Persediaan barang setengah jadi atau barang dalam proses
Persediaan barang-barang yang keluar dari tiap tiap bagian dalam suatu pabrik atau bahan-bahan yang telah diolah menjadi suatu bentuk, tetapi masih perlu diproses kembali menjadi barang jadi.
37 2.10.2.5
Persediaan barang jadi
Persediaan barang barang yang telah selesai diproses atau diolah dalam pabrik dan siap untuk dijual kepada pelanggan atau perusahaan lainnya
2.11
Teori-Teori Pembelian 2.11.1 Definisi Pembelian Menurut Mulyadi (1993, p301) pembelian adalah suatu usaha yang digunakan perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan Menurut Assauri (1990, p201) pembelian adalah salah satu fungsi yang paling penting dalam berhasilnya operasi suatu perusahaan yang dibebani tanggung jawabuntuk mendapatkan kuantitas dan kualitas barang yang tersedia pada waktu yang dibutuhkan dengan harga yang berlaku.
2.11.2 Jenis-Jenis Pembelian Berdasarkan jenis transaksi yang terjadi, pembelian dibedakan menjadi dua yaitu: 1. Pembelian tunai Jenis pembelian dimana transaksi yang terjadi melakukan pembayaran pada saat penerimaan barang. 2. Pembelian kredit Jenis pembelian dimana transaksi yang terjadi tidak melakukan pembayaran pada saat penyerahan barang, melainkan selang beberapa
38 waktu sesuai dengan perjanjian dengan pihak pemasok. Sedangkan berdasarkan jenis pemasok, pembelian dapat dibedakan menjadi dua yaitu: 1. Pembelian lokal Pembelian lokal adalah jenis pembelian yang dilakukan dengan pemasok dalam negri 2. Pembelian impor Pembelian impor adalah jenis pembelian yang dilakukan dengan pemasok yang berasal dari luar negeri
2.11.3 Fungsi yang terkait dalam pembelian Menurut Mulyadi (1993, p302) fungsi yang terkait dalam sistem pembelian antara lain: 2.11.3.1
Fungsi gudang
Bertanggung
jawab
untuk
mengajukan
permintaan
pembelian sesuai dengan posisi persediaan yang ada digudang dan untuk menyimpan barang-barang yang telah diterima oleh fungsi penerimaan 2.11.3.2
Fungsi pembelian
Bertanggung jawab informasi mengenai harga, menentukan pemasok yang dipilih dalam proses pengadaan barang, dan mengeluarkan purchase order kepada pemasok yang dipilih 2.11.3.3
Fungsi penerimaan
Bertanggung jawab untuk melakukan pemeriksaan terhadap
39 jenis, mutu, kuantitas yang diterima dari pemasok guna menentukan dapat tidaknya barang tersebut diterima oleh perusahaan. 2.11.3.4
Fungsi akuntansi
Bagian dari fungsi akuntasi yang berkaitan dengan transaksi pembelian adalah fungi 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 menyelengarakan kartu hutang sebagai buku pembantu hutang.
2.11.4 Jaringan Prosedur Pembelian Menurut Mulyadi (1993, p303) jaringan prosedur pembelian yang membentuk pembelian antara lain: 1. Prosedur permintaan pembelian dalam form surat permintaan pembelian kepada fungsi pembelian 2. Prosedur permintaan 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 pamasok barang yang diperlukan perusahaan 3. Prosedur order pembelian, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan mengenai order pembelian
40 yang telah dikeluarkan oleh perusahaan 4. Prosedur penerimaan barang, dalam prosedur ini, fungsi penerimaan barang melakukan pemeriksaan mengenai jenis, kuantitas, dan mutu bahan yang diterima dari pemasok dan kemudian membuat laporan penrimaan barang untuk menyatakan penerimaan barang dari pemasok tersebut. 5. Prosedur pencatatan hutang, dalam prosedur tersebut fungsi akuntansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian (SOP, laporan penerimaan barang, faktur dari pemasok) dan penyelenggarakan pencatatan ulang atau pengarsipan dokumen sumber sebagai catatan hutang 6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi rekening yang didebet dan transaksi pembelian untuk kepentingan pembuatan laporan manajemen