6
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.
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 file-
handling 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 TableName [alias][,…]
[WHERE 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 Boyce-
Codd 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
Gambar 2.1 Database Application Lifecycle
(Sumber: Database System, A Practical Approach to Design and Management)
Database Planning
Application Design
Opertional Maintenance
System Definition
Requirement collection and analysis
Database Design
Conceptual Database Design
Logical Database Design
Physical Database Design
Prototyping (optional) Implementation
Data Coversion and Loading
Testing
DBMS selection (optional)
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 bahkan
perombakan basisdata
2. mengatur dan meningkatkan kemampuan aplikasi basisdata
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:
Gambar 2.2 Direct Financial Lease
(Sumber : http://www.kpppmasatu.go.id)
Lessor
Manufacturer
/ Supplier
3
Lessee
2
4
1
5
31
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.
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)
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 kredit-
kredit 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 pelayanan-
pelayanan 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 sumber-
sumber 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 di-
assembling-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