bab 2 landasan teori 2.1 pengertian basis...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Pengertian Basis Data
Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data dan deskripsi
data yang terhubung secara logika serta dirancang untuk memenuhi kebutuhan informasi
organisasi.
2.2 Pengertian Sistem Basis Data
Menurut Connolly dan Begg (2010, p54), sistem basis data sebagai kumpulan program
aplikasi yang berinteraksi dengan basis data bersama dengan Database Management
System (DBMS) dan basis data itu sendiri.
2.3 Teori DBMS (Database Management System)
2.3.1 Pengertian DBMS
Menurut Connolly dan Begg (2010, p66), Database Management System (DBMS)
merupakan sistem perangkat lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, memelihara, dan kontrol akses ke database.
2.3.2 Fasilitas DBMS
Biasanya, DBMS menyediakan fasilitas sebagai berikut :
a. Data Definition Language (DDL)
Memungkinkan pengguna untuk membuat spesifikasi tipe data, struktur data, dan
constraint pada data untuk dapat disimpan di dalam database.
8
b. Data Manipulation Language (DML)
Memungkinkan pengguna untuk memasukkan, meng-update, menghapus, dan
mengambil data dari database.
c. Akses Kontrol
DBMS menyediakan akses kontrol ke dalam database, seperti :
i. Sistem keamanan, mencegah pengguna yang tidak sah untuk mengakses
database tersebut.
ii. Sistem integritas, menjaga konsistensi data yang tersimpan.
iii. Sistem kontrol konkurensi, mengijinkan akses data untuk diakses oleh
database.
iv. Sistem kontrol pemulihan, mengembalikan database ke keadaan yang
konsisten dari sebelumnya setelah mengalami kegagalan perangkat keras
atau perangkat lunak.
v. Sebuah katalog yang dapat diakses pengguna, berisi deskripsi dari data di
dalam database.
2.3.3 Komponen DBMS
Menurut Connolly dan Begg (2010, p68), ada lima komponen penting dalam DBMS
yaitu hardware (perangkat keras), software (perangkat lunak), data, procedures
(prosedur), dan people (pemakai).
1. Hardware (Perangkat Keras)
Hardware digunakan untuk mejalankan DBMS untuk aplikasi. Hardware yang
digunakan adalah hardware yang sesuai dengan kebutuhan perusahaan dan
DBMS yang digunakan. Beberapa DBMS hanya dapat dioperasikan pada
9
hardware/operation system tertentu dimana yang lainnya dapat digunakan pada
hardware/operation system yang lainnya.
2. Software (Perangkat Lunak)
Komponen-komponen software terdiri dari software DBMS itu sendiri dan
program aplikasi, dimana jika digabungkan dengan sistem operasi, termasuk
software jaringan, DBMS ini bisa digunakan melalui sebuah jaringan.
3. Data
Data merupakan komponen terpenting dalam DBMS, hal ini mencakup sudut
pandang end-user mengenai data. Data pada sebuah sistem basis data baik
single-user system maupun multi-user system harus terintegrasi dan dapat
digunakan bersama.
4. Procedures (Prosedur)
Prosedur merupakan instruksi dan aturan-aturan yang membuat rancangan dan
menggunakan database. Penggunaan sistem dan pengaturan staf yang mengatur
kebutuhan basis data didokumentasikan dalam prosedur yang berupa petunjuk
penggunaan.
Instruksi tersebut misalnya digunakan untuk :
a. Log on ke DBMS
b. Menggunakan sebagian fasilitas DBMS atau program aplikasi
c. Start dan stop DBMS
d. Membuat salinan cadangan database
e. Menangani kesalahan pada hardware dan software
f. Mengubah struktur tabel dan meningkatkan tampilan
10
5. People (Pemakai)
Komponen terakhir adalah manusia yang terlibat langsung dengan sistem
tersebut. Manusia ini dibedakan menjadi empat :
a. Data and Database Administrators, ada dua jenis yaitu Data Administrator
(DA) yang bertanggung jawab untuk pengelolaan sumber daya termasuk
perencanaan database, pengembangan dan pemeliharaan standar, kebijakan
dan prosedur, dan desain database konseptual/logikal. Database
Administrator (DBA) yang bertanggung jawab untuk realisasi fisik dari
database, termasuk desain database fisik dan implementasi, keamanan dan
kontrol integritas, pemeliharaan sistem operasional, dan memastikan kinerja
yang memuaskan dari aplikasi bagi pengguna.
b. Database Designers ada dua tipe perancang yaitu logical database designers
dan physical database designers. Logical database designers bersangkutan
dengan mengidentifikasi data (entitas dan atribut), hubungan antara data dan
kendala pada data yang akan disimpan dalam database. Physical database
designers memutuskan bagaimana desain database logikal akan diwujudkan
secara fisik.
c. Application Developers bertanggung jawab untuk melaksanaan program
aplikasi yang harus dilaksanakan untuk end-users.
d. End-Users adalah clients untuk database, yang telah dirancang dan
diimplementasi, serta dipelihara untuk menyajikan informasi yang
diperlukan. End-Users dapat diklasifikasikan sesuai dengan sistem yang
dijalankan :
11
i. Naive users adalah tipikal orang yang tidak berinteraksi langsung
dengan DBMS. Mereka mengakses database melalui sebuah program
aplikasi yang ditujukan secara khusus untuk mencoba operasi
sesederhana mungkin.
ii. Sophisticated users adalah orang yang lebih mengerti struktur
database dan fasilitasnya, dan memungkinkan dirinya untuk
menggunakan bahasa pemrograman yang lebih tinggi.
2.3.4 Keuntungan DBMS
Menurut Connolly dan Begg (2010, p77), keuntungan DBMS yaitu :
a. Control of data redundancy, mengontrol database untuk mengeliminasi redundan
dengan data terintegrasi cukup disimpan sekali.
b. Data consistency, mengeliminasi atau mengontrol redundan, dapat mengurangi
resiko inkonsistensi yang terjadi.
c. Sharing of data, sistem basis data terdapat pada organisasi yang dapat digunakan
oleh seluruh pengguna yang memiliki hak akses.
d. Improved data integrity, meningkatkan validitas dan konsistensi data tersebut.
Integritas biasanya dijabarkan ke dalam constraints, yang mana aturan konsistensi
database tidak mengijinkan untuk dilanggar.
e. Improved security, meningkatkan database securitiy, memproteksi basis data dari
pengguna yang tidak dikenal.
f. Increased productivity, dalam file-based-systems deskripsi data dan logika
pengaksessan data telah dibuat ke dalam beberapa program aplikasi, membuat
program tergantung pada data.
12
g. Improved backup dan recovery services, meningkatkan backup data. Jika,
kesalahan terjadi backup data dapat di-restored.
2.3.5 Kerugian DBMS
Menurut Connolly dan Begg (2010, p80), kekurangan DBMS, yaitu :
a. Complexity, dimana Database designers dan developers, data dan database
administrators, serta end-users harus mengerti fungsinya untuk mengambil
keuntungan penuh dari fungsi tersebut. Kesalahan dalam mengerti sistem dapat
memberikan keputusan rancangan yang buruk, yang dapat mengakibatkan
konsekuensi serius dari sebuah organisasi.
b. Size, kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi software
yang sangat besar dan membutuhkan ruang disk serta memori substansial untuk
menjalankannya secara efisien.
c. Additional hardware costs, untuk mencapai performa yang dibutuhkan, sangat
diperlukan membeli mesin besar, mesin yang didedikasikan untuk menjalankan
DBMS.
d. Higher impact of failure, sentralisasi sumber daya menambah kerentanan sistem.
Setelah semua pengguna dan aplikasi bergantung pada ketersediaan dari DBMS,
kesalahan komponen tertentu dapat menyebabkan operasi berhenti.
2.4 Teori Database System Development Lifecycle
Menurut Connolly dan Begg (2010, p313), siklus hidup aplikasi database secara inheren
terkait dengan siklus hidup sistem informasi. Penting untuk mengenali bahwa tahapan
siklus hidup aplikasi database tidak selalu berurutan, tetapi melibatkan beberapa jumlah
13 pengulangan tahap sebelumnya melalui loop feedback. Berikut ditunjukkan tahapan daur
hidup aplikasi database pada Gambar 2.1 di bawah ini.
Gambar 2.1 Database System Development Lifecycle
14 2.4.1 Database Planning (Perancangan Basis Data)
Menurut Connolly dan Begg (2010, p313), aktivitas manajemen yang memungkinkan
tahapan dari siklus hidup sistem database yang akan direalisasikan secara efisiensi dan
seefektif mungkin.
2.4.2 System Definition (Definisi Sistem)
Menurut Connolly dan Begg (2010, p316), menentukan ruang lingkup dan batas-batas
dari sistem database, termasuk pandangan pengguna utama, penggunanya, dan area
aplikasi. Pandangan pengguna mendefinisikan apa yang dibutuhkan dari sistem database
dari perspektif peran pekerjaan tertentu (seperti sebagai Manajer atau Supervisor) atau
area aplikasi enterprise (seperti pemasaran, personalia, atau pengontrol stok).
2.4.3 Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan)
Menurut Connolly dan Begg (2010, p316), proses mengumpulkan dan menganalisis
informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan
menggunakan informasi ini untuk mengidentifikasi persyaratan untuk sistem baru. Ada
tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan
beberapa pengguna, yaitu :
i. The centralized approach (Pendekatan terpusat)
ii. The view integration approach (Pendekatan integrasi tampilan)
iii. A combination of both approach (Kombinasi dari pendekatan keduanya)
Ada banyak teknik untuk mengumpulkan informasi ini, yang disebut fact finding
techniques. Terdapat lima teknik fact finding yang umum digunakan :
a. Mempelajari dokumen
15
b. Mewawancarai
c. Mengamati kegiatan perusahaan
d. Penelitian
e. Kuisioner
2.4.4 Database Design (Desain Basis Data)
Menurut Connolly dan Begg (2010, p320), proses menciptakan desain yang akan
mendukung pernyataan misi perusahaan dan tujuan misi untuk sistem database yang
diperlukan. Terdapat dua pendekatan perancangan database, yaitu :
i. Bottom-up
Pendekatan ini dimulai pada tingkat dasar atribut (yaitu, sifat-sifat entitas dan
relasi), yang melalui analisis hubungan antara atribut, dikelompokkan ke dalam
relasi yang mewakili jenis entitas dan relasi antar entitas.
ii. Top-down
Pendekatan ini dimulai dengan pengembangan model data yang berisi tingkat
tinggi beberapa entitas dan relasi kemudian berturut-turut menerapkan perbaikan
top-down untuk mengidentifikasi tingkat rendah entitas, hubungan dan atribut
yang terkait.
Perancangan database terdiri dari tiga fase yaitu :
1. Conceptual database design
Menurut Connolly dan Begg (2010, p322), proses membangun suatu model data
yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan
fisik.
16
Menurut Connolly dan Begg (2010, p470), langkah-langkah desain basis data
konseptual :
Langkah 1 : Membangun model data konseptual.
1.1 : Mengidentifikasi jenis entitas.
1.2 : Mengidentifikasi jenis relasi.
1.3 : Mengidentifikasi jenis dan menggabungkan atribut pada tiap
entitas.
1.4 : Menentukan domain atribut.
1.5 : Menentukan candidate key, primary key, dan alternate key.
1.6 : Mempertimbangkan konsep pemodelan enhanched (optional).
1.7 : Memeriksa model untuk redundansi.
1.8 : Validasi model konseptual terhadap transaksi pengguna.
1.9 : Memeriksa model data konseptual terhadap transaksi
pengguna.
2. Logical database design
Menurut Connolly dan Begg (2010, p323), proses membangun model data yang
digunakan dalam suatu perusahaan berdasarkan model data tertentu, tetapi
independen dari DBMS tertentu dan pertimbangan fisik lainnya.
Menurut Connolly dan Begg (2010, p490), langkah-langkah desain basis data
logikal :
Langkah 2 : Membangun dan memvalidasi model data logikal.
2.1 : Menurunkan hubungan model data logikal.
2.2 : Memvalidasi relasi menggunakan normalisasi.
2.3 : Memvalidasi relasi terhadap transaksi pengguna.
17
2.4 : Memeriksa integrity constraints.
2.5 : Tinjauan model data logikal dengan pengguna.
2.6 : Menggabungkan model data logikal menjadi model global
(optional).
2.7 : Memeriksa model terhadap future growth.
3. Physical database design
Menurut Connolly dan Begg (2010, p523), proses pendeskripsian implementasi
basis data pada penyimpanan sekunder; proses itu menggambarkan basis relasi,
organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke
data, dan setiap kendala integritas terkait dan tahapan keamanan.
Menurut Connolly dan Begg (2010, p523) langkah-langkah desain basis data
fisikal :
Langkah 3 : Menerjemahkan model data logis untuk target DBMS.
3.1 : Desain relasi dasar.
3.2 : Merancangan representasi derived data.
3.3 : Merancang general constraints.
Langkah 4 : Desain organisasi file dan indeks.
4.1 : Menganalisis transaksi.
4.2 : Memilih organisasi file.
4.3 : Memilih indeks.
4.4 : Mengestimasi ruang disk yang diperlukan.
Langkah 5 : Desain pandangan pengguna.
Langkah 6 : Desain mekanisme keamanan.
18 2.4.5 DBMS Selection (Pemilihan DBMS)
Menurut Connolly dan Begg (2010, p325), pemilihan DBMS yang tepat untuk
mendukung sistem basis data. Jika tidak ada DBMS yang sesuai maka bagian dari siklus
hidup akan membuat seleksinya yaitu antara konseptual dengan desain logikal.
Langkah-langkah dalam pemilihan DBMS :
i. Menetapkan kerangka referensi belajar.
ii. Daftar sederhana dari dua atau tiga produk.
iii. Evaluasi produk.
iv. Merekomendasikan seleksi dan menghasilkan laporan.
2.4.6 Application Design (Desain Aplikasi)
Menurut Connolly dan Begg (2010, p329), desain user interface dan program aplikasi
yang digunakan untuk memproses database. Rancangan aplikasi dibagi menjadi dua
aspek, yaitu :
1. Transaction Design (Rancangan Transaksi)
Menurut Connolly dan Begg (2010, p330), suatu tindakan, atau serangkaian
tindakan yang dilakukan oleh single user atau program aplikasi, yang mengakses
atau merubah isi database. Ada tiga tipe transaksi ini :
i. Retrieval transactions.
ii. Update transactions.
iii. Mixed transactions
2. User Interface Design Guidelines
i. Meaningful tittle.
ii. Comprehensive instruction
19
iii. Familiar field tables.
iv. Consistent use coler.
v. Error message for fields
vi. Completion signal.
2.4.7 Prototyping
Menurut Connolly dan Begg (2010, p333), prototyping adalah membangun sebuah
model kerja dari sistem basis data. Sebuah prototipe adalah model kerja tidak secara
normal yang mempunyai semua fitur-fitur yang dibutuhkan atau yang menyediakan
semua fungsi dari sistem akhir. Prototipe harus mempunyai keuntungan utama menjadi
murah secara relatif dan cepat untuk dibangun.
Ada dua strategi prototipe yang akhir-akhir sering digunakan :
i. Requirements prototyping, menggunakan sebuah prototipe untuk mendiktekan
persyaratan dari sebuah usulan sistem basis data dan setelah semua persyaratan
selesai maka prototipe dibuang.
ii. Evolutionary prototyping, menggunakan usulan yang sama, perbedaan yang
penting adalah prototipe tidak dibuang tetapi dikembangkan lebih jauh menjadi
pekerjaan sistem basis data.
2.4.8 Implementation (Implementasi)
Menurut Connolly dan Begg (2010, p333), implementasi adalah realisasi fisikal dari
basis data dan desain aplikasi. Implementasi basis data dicapai dengan menggunakan :
i. Data Definition Language (DDL) yaitu sebuah bahasa yang mengijinkan DBA
atau user untuk mendeskripsikan dan menamai entitas, atribut, dan relasi yang
20
dihubungkan untuk aplikasi, bersama dengan integritas terkait dan kendala
keamanan.
ii. Program aplikasi yang diimplementasi menggunakan bahasa generasi ketiga atau
keempat (3GL atau 4GL) yaitu bahasa pemrograman tingkat tinggi seperti yang
digunakan pada SQL dan QBE.
iii. Bagian dari program aplikasi ini adalah transaksi basis data, yang
diimplementasikan menggunakan Data Manipulation Language (DML) yaitu
bahasa yang menyediakan seperangkat operasi untuk mendukung operasi dasar
manipulasi data pada data yang ada dalam database. Pada DBMS, terpancang
dengan sebuah bahasa pemrograman seperti Visual Basic (VB), VB.net, Phyton,
Delphi, C, C++, C#, Java, COBOL, Fortran, Ada, atau Pascal. Keamanan dan
integrity control dari sistem juga diimplementasikan. Beberapa kontrol ini
diimplementasikan menggunakan DDL, tetapi yang lain mungkin butuh batasan
luar dalam menggunakan DDL.
2.4.9 Data Conversion and Loading (Pengubahan dan Pemuatan Data)
Menurut Connolly dan Begg (2010, p334), Data Conversion and Loading adalah
mentransferkan beberapa data yang ada ke dalam database baru dan
mengkonversikannya ke beberapa aplikasi yang ada untuk menjalankanya pada database
baru tersebut.
2.4.10 Testing (Uji Coba)
Menurut Connolly dan Begg (2010, p334), Testing adalah proses menjalankan sistem
basis data dengan maksud menemukan kesalahan. Pengujian juga harus mencakup
21 kegunaan dari sistem basis data. Idealnya, sebuah evaluasi harus dilakukan terhadap
spesifikasi kegunaannya. Contoh kriteria yang dapat digunakan untuk melakukan
evaluasi meliputi :
1. Learnability, berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi
produktif dengan sistem.
2. Performance, seberapa baik respon sistem sesuai praktek kerja pengguna.
3. Robustness, seberapa toleransinya sistem dari kesalahan pengguna.
4. Recoverability, seberapa baik sistem pulih dari kesalahan pengguna.
5. Adaptability, seberapa dekat sistem terkait dengan satu model pekerjaan
Setelah pengujian selesai, sistem basis data siap untuk ‘ditandatangani’ dan diserahkan
pada pengguna.
2.4.11 Operational Maintenance (Perawatan Operasional)
Menurut Connolly dan Begg (2010, p335), Operational Maintenance adalah proses
pemantauan dan pemeliharaan instalasi sistem basis data berikut. Tahap pemeliharaan
ini melibatkan dua kegiatan yaitu :
i. Pemantauan kinerja sistem. Jika kinerja turun ke bawah tingkat yang dapat
diterima, tuning atau reorganisasi basis data mungkin diperlukan.
ii. Memelihara dan meningkatkan sistem basis data melalui tahap-tahap sebelumnya
dari siklus hidup.
22 2.5 Teori Entity-Relational Modelling (ER Model)
Menurut Connolly dan Begg (2010, p371), ER Model adalah pendekatan top-down
untuk merancang basis data yang diawali dengan mengidentifikasi data penting yang
disebut entitas dan relasi antar data yang harus diwakili dalam model tersebut.
1. Entity Types (Jenis Entitas)
Menurut Connolly dan Begg (2010, p372), sekelompok objek dengan sifat yang
sama, yang diidentifikasi oleh perusahaan memiliki eksistensi yang independen.
Konsep dasar dari ER model adalah tipe entitas, yang mewakili sekelompok
‘benda’ di ‘dunia nyata’ dengan sifat yang sama. Entity occurance adalah sebuah
objek diidentifikasi secara unik suatu entitas. Tiap objek yang diidentifikasi
secara unik dari sebuah tipe entitas merujuk pada kesederhanaan sebuah entity
occurrence.
2. Relationship Types (Tipe Relasi)
Menurut Connolly dan Begg (2010, p374), sebuah set asosiasi yang bermakna
antar jenis entitas. Sebuah tipe relasi adalah set asosiasi antara satu atau lebih
partisipasi tipe-tipe entitas. Seperti tipe-tipe entitas dan entitas-entitas, perlu
untuk membedakan antara istilah ‘relationship type’ dan ‘relationship
occurrence’.
Sebuah relationship occurrence menunjukkan hubungan entitas tertentu yang
terkait. Pertimbangkan jenis relasi yang disebut Has, yang merupakan hubungan
antara entitas Branch dan Staff, yang memiliki Branch Has Staff. Kita dapat
memeriksa contoh kejadian individual dari relasi Has menggunakan sebuah
semantic net. Semantic net adalah sebuah model tingkat-objek, yang
23
menggunakan simbol • untuk merepresentasikan entitas-entitas dan simbol
untuk merepresentasikan relasi.
Gambar 2.2 Semantic Net
a. Degree of Relationship Type
Menurut Connolly dan Begg (2010, p376), jumlah partisipasi tipe entitas
dalam sebuah relasi. Entitas yang ikut dalam suatu tipe relasi tertentu
disebut dengan peserta relasi. Relasi dua derajat diebut binary, relasi tiga
derajat disebut ternary. Relasi empat derajat disebut quaternary.
Gambar 2.3 Relasi Dua Derajat
24
Gambar 2.4 Relasi Tiga Derajat
Gambar 2.5 Relasi Empat Derajat
b. Recursive Relationship
Menurut Connolly dan Begg (2010, p378), sebuah tipe relasi dimana tipe
entitas yang sama berpartisipasi lebih dari sekali dan berbeda peran.
25
Relasi dapat diberikan nama peran untuk menunjukkan tujuan bahwa
setiap jenis entitas yang berpartisipasi bermain dalam sebuah relasi.
3. Atribut
Menurut Connoly dan Begg (2010,p379), sebuah properti dari entitas atau tipe
relasi. Atribut dapat diklasifikasi menjadi :
i. Simple and Composite Attributes
Menurut Connolly dan Begg (2010, p379), sebuah atribut yang terdiri dari
komponen tunggal dengan keberadaan independen. Composite Attributes
adalah sebuah atribut yang terdiri dari beberapa komponen, masing-masing
dengan keberadaan independen.
ii. Single-Valued and Multi-Valued Attributes
Menurut Connolly dan Begg (2010, p380), sebuah atribut yang memegang
nilai tunggal untuk setiap kemunculan suatu entitas. Multi-Valued Attributes
adalah sebuah atribut yang memegang beberapa nilai untuk setiap
kemunculan suatu entitas.
iii. Derived Attributes
Menurut Connolly dan Begg (2010, p380), sebuah atribut mewakili nilai
yang diturunkan dari nilai atribut terkait atau sekumpulan atribut, belum
tentu dalam tipe entitas yang sama.
iv. Keys
Menurut Connolly dan Begg (2010, p381), keys dibagi menjadi lima jenis :
a. Candidate Keys
Set atribut minimal yang secara unik mengidentifikasi setiap
kemunculan dari tipe entitas.
26
b. Primary Keys
Sebuah candidate key yang dipilih untuk mengidentifikasi secara unik,
tiap kejadian pada sebuah tipe entitas.
c. Composite Keys
Sebuah candidate key yang terdiri dari dua atau lebih atribut.
d. Alternate Keys
Candidate key yang tidak terpilih menjadi primary key, atau biasa
disebut secondary key.
e. Foreign Keys
Himpunan atribut dalam suatu relasi yang cocok dengan candidate key
dari beberapa relasi lainnya.
4. Strong and Weak Entity Types
Menurut Connolly dan Begg (2010, p383), dapat dibedakan jenis entitas sebagai
tipe yang kuat atau yang lemah.
a. Strong Entity Type, adalah sebuah tipe entitas yang tidak tergantung pada
keberadaan-beberapa jenis entitas lainnya.
b. Weak Entity Type, adalah sebuah tipe entitas yang bergantung pada
keberadaan-beberapa jenis entitas lain.
5. Structural Constraints
Menurut Connolly dan Begg (2010, p385), hambatan yang harus mencerminkan
pembatasan pada hubungan seperti yang dirasakan di ‘dunia nyata’. Tipe utama
dari constraint pada relasi disebut multiplicity. Multiplicity adalah jumlah (atau
batas) dari kejadian yang mungkin dari suatu entitas yang berelasi dengan suatu
kejadian tunggal sebuah entitas dan terkait suatu relasi tertentu. Derajat binary
27
adalah yang paling sering digunakan dalam menentukan relasi. Relasi biner
secara umum merujuk pada one-to-one (1:1), one-to-many (1:*), atau many-to-
many (*:*).
Gambar 2.6 One-to-One (1:1) Relationships
Gambar 2.7 One-to-Many (1:*) Relationships
Gambar 2.8 Many-to-Many (*:*) Relationships
28
6. Multiplicity for Complex Relationships
Jumlah (atau range) dari kejadian yang mungkin dari suatu entitas dalam suatu
hubungan n ketika yang lain (n-1) nilainya tetap.
a. Cardinality
Menurut Connolly dan Begg (2010, p389), menjelaskan jumlah maksimum
hubungan kejadian yang mungkin untuk suatu entitas yang berpartisipasi
dalam jenis hubungan tertentu.
b. Participation
Menurut Connolly dan Begg (2010, p391), menentukan apakah semua atau
hanya beberapa kejadian entitas berpartisipasi dalam suatu hubungan.
Kendala partisipasi mewakili apakah semua kejadian entitas yang terlibat
dalam suatu hubungan tertentu (merujuk sebagai partisipasi mandatory) atau
hanya beberapa (merujuk sebagai partisipasi optional).
Mandatory dibagi menjadi tiga jenis, yaitu :
1. Partisipasi Mandatory on both sides dari relasi 1:1.
2. Partisipasi Mandatory on one side dari relasi 1:1.
3. Partisipasi opsional on both sides dari relasi 1:1.
2.6 Teori Normalisasi
Menurut Connolly dan Begg (2005, p416), sebuah teknik untuk memproduksi satu set
hubungan dengan sifat yang diinginkan, mengingat kebutuhan data dari suatu
perusahaan. Karakteristik dari sebuah set yang cocok hubungannya termasuk :
1. Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data
perusahaan.
29
2. Atribut dengan relasi logikal tertutup (dijelaskan sebagai ketergantungan
fungsional) ditemukan didalam relasi yang sama.
3. Redundansi minimal dengan atribut masing-masing diwakili hanya sekali dengan
pengecualian penting dari atribut yang membentuk semua atau sebagian dari
foreign keys, yang penting untuk bergabung dengan relasi terkait.
2.6.1 Proses Normalisasi
Menurut Connolly dan Begg (2010, p428), tiga bentuk normalisasi pada awalnya yang
diusulkan disebut First Normal Form (1NF), Second Normal Form (2NF), Third Normal
Form (3NF).
Proses normalisasi :
1. Unnormalized form (UNF)
Menurut Connolly dan Begg (2010, p430), suatu tabel yang terdiri dari satu atau
lebih kelompok yang berulang (repeating group). Repeating group adalah sebuah
atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai
(multiple value) untuk sebuah primary key pada tabel tersebut.
2. First Normal Form (1NF)
Menurut Connolly dan Begg (2010, p430), sebuah relasi dimana titik temu antara
baris dan kolomnya mengandung hanya satu nilai. Ada dua pendekatan umum
untuk menghilangkan repeating group dari tabel yang tidak normal, yaitu :
a. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang
berulang.
b. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang
terpisah. Sebuah primary key diidentifikasi ke dalam relasi.
30
3. Second Normal Form (2NF)
Menurut Connolly dan Begg (2010, p434), sebuah relasi yang berada pada 1NF
dan setiap atribut yang bukan primary key berfungsi secara penuh bergantung
pada primary key-nya.
4. Third Normal Form (3NF)
Menurut Connolly dan Begg (2010, p436), sebuah relasi yang berada pada 1NF
dan 2NF, dan tidak ada atribut yang bukan primary key yang secara langsung
bergantung kepada primary key-nya.
5. Boyce-Codd Normal Form (BCNF)
Menurut Connolly dan Begg (2010, p447), BCNF berdasarkan pada functional
dependencies yang mempertimbangkan semua candidate key dalam sebuah
relasi. Sebuah relasi dalam BCNF jika dan hanya juka setiap determinant adalah
sebuah candidate key.
6. Fourth Normal Form (4NF)
Menurut Connolly dan Begg (2010, p457), sebuah relasi yang jika dan hanya jika
setiap nontrivial multivalued dependency A ->> B, dimana A adalah candidate
key dari relasi.
7. Fifth Normal Form (5NF)
Menurut Connolly dan Begg (2010, p458), sebuah relasi jika dan hanya jika
setiap join dependency (R1, R2, … Rn) di dalam relasi R, setiap proyeksi
mencakup candidate key dari relasi asli.
31 2.7 Teori Data Flow Diagram (DFD)
Menurut Whitten, Bentley, dan Dittman (2004, p344), Data Flow Diagram adalah alat
yang menggambarkan aliran data melalui sistem dan pekerjaan atau proses yang
dilakukan oleh sistem. Menurut Whitten, Bentley dan Dittman (2004, p345), ada tiga
simbol dan satu koneksi :
i. Persegi panjang bersudut tumpul mewakili proses-proses atau pekerjaan yang
harus dilakukan. Simbol ini digambarkan sebagai PROSES dari kerangka sistem
informasi.
ii. Kotak mewakili agen eksternal--batas sistem. Simbol ini digambarkan sebagai
ANTARMUKA dari kerangka sistem informasi.
iii. Kotak open-ended mewakili data stores, atau kadang-kadang disebut file atau
database. Simbol ini digambarkan sebagai DATA dari kerangka sistem
informasi.
iv. Panah merepresentasikan aliran data, atau input dan output ke dan dari proses
tersebut.
Gambar 2.9 Simbol dan Koneksi DFD Bentuk Gane dan Sarson
32 2.8 Teori State Transition Diagram (STD)
Menurut Whitten, Bentley, dan Dittman (2004, p673), State Transition Diagram adalah
alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat muncul
ketika pengguna sistem mengunjungi terminal.
Ada beberapa hal yang perlu diketahui dalam pembuatan STD, yaitu :
a. State
Adalah sebuah kondisi dari keadaan, atau form, yang dapat digunakan oleh
komponen suatu sistem. Ada dua macam state, yaitu :
i. Current State
ii. Final State
b. Transition
Merupakan simbol yang menyatakan suatu perubahan dari suatu keadaan ke
keadaan yang lain.
c. Event
Adalah suatu kejadian pada lingkungan eksternal yang dapat dideteksi oleh
sistem. Kejadian tersebut dapat menyebabkan perubahan dari satu state ke state
lainnya.
d. Action
Saat event muncul, terjadi transaksi sehingga komponen sistem menerima
perubahan, state. Untuk itu dibutuhkan sebuah aksi untuk berpindah state. Aksi
disini akan menghasilkan sebuah output atau tampilan.
e. Output
Merupakan hasil keluaran dari kalkulasi dan lain sebagainya.
33 2.9 Teori Software Development Lifecycle (SDLC)
Untuk mengelola tingkat kompleksitas, sejumlah model SDLC atau metodologi telah
diciptakan, salah satunya adalah Waterfall Model. Menurut Sommerville (2011, p31)
Waterfall Model terbagi menjadi lima tahap:
Gambar 2.10 Waterfall Model
1. Requirements analysis and definition
Layanan sistem, kendala, dan tujuan ditetapkan melalui konsultasi dengan
pengguna sistem. Kemudian ditetapkan secara rinci dan berfungsi sebagai
spesifikasi sistem.
2. System and software design
Proses desain sistem mengalokasikan persyaratan untuk baik perangkat keras
atau sistem perangkat lunak dengan membentuk arsitektur sistem secara
keseluruhan. Desain perangkat lunak melibatkan identifikasi dan deskripsi
fundamental abstraksi sistem perangkat lunak dan hubungannya.
34
3. Implementation and unit testing
Selama tahap ini, desain perangkat lunak direalisasikan sebagai serangkaian
program atau unit program. Unit pengujian melibatkan verifikasi bahwa setiap
unit memenuhi spesifikasinya.
4. Integration and system testing
Unit-unit program individu atau program diintegrasikan dan diuji sebagai sistem
yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah
dipenuhi. Setelah pengujian, sistem perangkat lunak dikirimkan ke pelanggan.
5. Operation and maintenance
Biasanya (meskipun tidak harus), ini adalah fase siklus hidup terpanjang. Sistem
ini di-instal dan mulai digunakan. Pemeliharaan melibatkan mengoreksi
kesalahan yang tidak ditemukan pada tahap awal dari siklus hidup, meningkatkan
pelaksanaan unit sistem dan peningkatan jasa sistem sebagai kebutuhan yang
baru ditemukan.
2.10 Integrity Constraints
Menurut Connolly dan Begg (2010, p577), integrity constraints juga berkontribusi
mempertahankan sistem basis data yang aman dengan mencegah data dari yang tidak
valid, dan hasil yang tidak benar.
Menurut Connolly dan Begg (2010, p153), Integrity Constraints dibagi menjadi empat
jenis yaitu :
1. Nulls, merepresentasi yang sebuah nilai untuk sebuah atribut yang tidak
diketahui dengan jelas atau tidak berlaku untuk tuple ini.
35
2. Entity Integrity, hubungan dasar, tidak ada atribut dari primary key yang bisa
null.
3. Referential Integrity, jika foreign key ada dalam relasi, baik nilai foreign key
harus sesuai dengan nilai candidate key dari beberapa tuple dalam home relation
atau foreign key harus sepenuhnya null.
4. General Constraints, tambahan aturan yang ditetapkan oleh pengguna atau
administrator basis data dari basis data yang mendefinisikan atau membatasi
beberapa aspek dari perusahaan.
2.11 Database Security
Menurut Connolly dan Begg (2010, p568), Database Security adalah mekanisme yang
melindungi basis data terhadap ancaman disengaja atau tidak disengaja. Keamanan basis
data bertujuan untuk meminimalkan kerugian yang disebabkan oleh peristiwa
diantisipasi dengan cara yang hemat biaya tanpa terlalu membatasi pengguna. Menurut
Connolly dan Begg (2010,p569), salah satu jenis keamanan untuk basis data yaitu
menghindari threats. Threats yaitu setiap situasi atau kejadian, baik disengaja atau tidak
disengaja, yang dapat merugikan sistem dan berakibat pada organisasi.
2.12 Backup and Recovery
Menurut Connolly dan Begg (2010, p576), backup adalah proses periodik yang
menyalin dari file basis data dan log (program) ke media penyimpanan offline.
Dalam hal kegagalan yang membuat database tidak dapat digunakan, salinan cadangan
dan rincian ditangkap dalam file log yang digunakan untuk mengembalikan database ke
36 tahapan terbaru yang kemungkinan konsisten. Keuntungan dari journal adalah bahwa
dalam hal kegagalan, database dapat dikembalikan ke keadaan terakhir yang konsisten
dikenal dengan menggunakan salinan cadangan dari database dan informasi yang
terdapat dalam file log. Jika journal tidak diaktifkan pada sistem gagal, satu-satunya alat
pemulihan adalah untuk mengembalikan database menggunakan versi terbaru dari
database. Namun, tanpa file log, setiap perubahan yang dilakukan setelah last backup ke
database akan hilang.
2.13 Pengertian Internet
Mengacu pada pendapat Barry dan Mick (2001, p20-24), internet adalalah sebuah
jaringan yang menghubungkan jaringan-jaringan komputer yang ada di seluruh dunia.
Internet mencapai integrasi dari jaringan-jaringan komputer dengan menerapkan
protokol komunikasi kepada jaringan komputer yang dapat berkomunikasi. Protokol
tersebut yang menentukan cara pesan disandikan, jenis pesan yang dapat dikirim dan
yang harus dikirim. Penggunaan internet saat ini penting karena melalui internet
pengguna dapat mengakses informasi dengan lebih mudah, biaya yang rendah, serta
berkomunikasi dengan lingkup yang lebih luas baik di dalam maupun di luar organisasi.
2.14 Pengertian Web
Barry dan Mick (2001, p24) berpendapat bahwa web adalah sebuah aplikasi internet
yang menyediakan cara sederhana untuk mengakses informasi dan menjalankan program
yang tersimpan di komputer yang terhubungan dengan internet. Menurut Barry dan
Mick (2001, p190) web menggunakan internet untuk menyediakan fasilitas :
i. menyimpan informasi,
37
ii. mencari dan mengambil informasi,
iii. menyimpan dan mengeksekusi program komputer,
iv. memasukkan dan memanipulasi informasi.
2.15 Sistem Web Basis Data
Mengacu pada pendapat Barry dan Mick (2001, p38), sistem web basis data adalah
sistem dimana kedua teknologi web dan database digunakan. Sistem ini menyediakan
akses yang lebih luas terhadap database , sistem lebih terdistribusi, memberikan layanan
lebih melalui sistem yang lebih terintegrasi.
Barry dan Mick (2001, p36) mengatakan bahwa penggunakan database dan teknologi
web dalam suatu sistem tunggal menguntungkan dalam situasi :
i. Akses ke database lebih luas
Dengan menghubungkan suatu sistem database ke web memungkinkan database
diakses di seluruh dunia.
ii. Sistem terdistribusi
Web memberikan kesempatan database dan aplikasi untuk terdistribusi sehingga
data dapat disimpan di manapun ia digunakan dan/atau aplikasi dapat diletakkan
di tempat yang mendukung kegiatan tersebut berlangsung.
iii. Querying, manipulasi dan administrasi data web lebih baik
DBMS menyediakan fasilitas canggih untuk querying data, manipulasi dan
administrasi.
38 Menurut Barry dan Mick (2001, p262-263), desain sistem web basis data, bukan sistem
basis data konvensional, menambahkan dua komplikasi :
1. Desain halaman web, menyangkut :
i. Representasi web data : penyajian data sebagai halaman web, diambil dari
database atau masukan oleh pengguna.
ii. Asosiasi web data : desain link untuk navigasi dalam dan di antara
halaman web.
iii. Desain antarmuka web desain fitur halaman web.
2. Desain konektivitas antara halaman web dan database, menyangkut :
i. Pemetaan web basis data logikal : definisi pemetaan antara data yang
ditampilkan dalam halaman web dan data yang disimpan dalam basis
data.
ii. Pemetaan web basis data fisikal : pelaksanaan mekanisme data yang akan
dilewatkan antara halaman web dan database.
2.16 Arsitektur Aplikasi Web Basis Data
Menurut Castagnetto et al. (2000, p249), bagian dasar dari lapisan web basis data adalah
i. The client : web browser pengguna.
ii. The application logic : dikodekan dalam algoritma yang digunakan dalam CGI
scripts, modul khusus dari web server.
iii. The database connectivity : API basis data, atau konektivitas protokol umum.
iv. The database server : RDBMS.
39 Implementasi aplikasi tersebut dapat dilakukan dengan menggunakan model multi-
tiered, karena satu atau lebih lapis dapat bersatu bersama-sama. Implementasi yang biasa
digunakan adalah sistem three-tiered :
1. First tier : web client ( browser pengguna)
2. Second tier : web server, CGI script dan connection API untuk basis data (seperti
Apache)
3. Third tier : the database server ( MySQLserver)
2.17 Modul AMP (Apache, MySQL, and PHP)
Menurut Elizabeth et al. (2005, p5-7), karakteristik tiga kompomen pada modul AMP :
i. Apache
Bertindak sebagai Web server. Tugas utamanya adalah menguraikan semua data
yang diminta dan menampilkan hasil yang tepat sesuai dengan kode dalam file.
ii. PHP (PHP Hypertext Prepocessor)
Adalah sebuah bahasa pemograman pada server-side yang memungkinkan situs
web menjadi lebih dinamis.
iii. MySQL
Adalah sebuah konstruksi database yang memungkinkan PHP dan Apache
bekerja sama untuk mengakses dan menampilkan data pada browser yang sesuai.
Merupakan sebuah Structured Query Language server yang didesain untuk
memuat banyak dan memproses sejumlah query yang kompleks. Sebagai sistem
database relasional, MySQL memungkinkan banyak tabel yang berbeda
disatukan dengan efisiensi dan kecepatan maksimum. MySQL adalah pilihan
40
tepat untuk menyediakan data melalui internet karena kemampuannya dalam
menangani muatan banyak dan meningkatkan keamanan data.
2.18 Teori Laporan Keuangan
Menurut Warren (2006, p 24-25), laporan keuangan merupakan suatu akuntasi yang
menghasilkan informasi dari transaksi yang dicatat dan diikhtisarkan yang disiapkan
bagi pemakai. Laporan keuangan yang utama bagi perusahaan adalah laporan laba rugi,
laporan ekuitas pemilik, neraca, dan laporan arus kas. Urut-urutan penyusunan dan sifat
data yang terdapat dalam laporan-laporan tersebut adalah sebagai berikut :
a. Laporan Laba Rugi, suatu ikhtisar pendapatan dan beban selama periode waktu
tertentu.
b. Laporan Ekuitas Pemilik, suatu ikhtisar perubahan ekuitas pemilik yang terjadi
selama periode tertentu.
c. Neraca, suatu daftar aktiva, kewajiban, dan ekuitas pemilik pada tanggal tertentu.
d. Laporan Arus Kas, suatu ikhtisar penerimaan kas dan pembayaran kas selama
periode waktu tertentu.
2.18.1 Laporan Laba Rugi
Warren (2006, p25) menjelaskan bahwa laporan laba rugi melaporkan pendapat dan
beban selama periode waktu tertentu berdasarkan konsep penandingan atau pengaitan
(matching concept). Konsep ini diterapkan dengan membandingkan atau mengaitkan
beban dengan pendapatan yang dihasilkan selama periode terjadinya beban tersebut.
Laba bersih atau keuntungan bersih (net income atau net profit) adalah kelebihan
pendapatan terhadap beban-beban yang terjadi. Jika beban melebihi pendapatan, maka
41 disebut rugi bersih (net loss). Laba bersih meningkatkan ekuitas pemilik (modal),
sedangkan apabila terjadi rugi bersih akan menurunkan ekuitas pemilik (modal).
Laporan keuangan pada bidang batubara terdiri dari unsur-unsur :
i. SR yang merupakan hasil pembagian overburden terhadap produksi,
ii. Penjualan Tonase yang merupakan jumlah dari penjualan domestik dan penjualan
ekspor,
iii. Bagian pemerintah yang merupakan 13,5% dari penjualan tonase,
iv. Laba kotor yang merupakan jumlah dari penjualan, dhpb, harga pokok penjualan,
v. Jumlah beban operasi yang merupakan jumlah dari beban operasi dan beban
penjualan,
vi. Laba usaha yang merupakan jumlah dari laba kotor dan jumlah beban operasi,
vii. Jumlah pendapatan/(beban) lain-lain yang merupakan jumlah dari amortisasi,
pendapatan pelabuhan, pendapatan bunga, keuntungan (beban) nilai tukar,
keuntungan lain-lain,
viii. Laba sebelum pajak yang merupakan jumlah dari laba usaha dan laba sebelum
pajak, dan
ix. Laba bersih yang di dapat dari jumlah laba sebelum pajak dan biaya pajak
penghasilan.
2.18.2 Neraca
Menurut Warren (2006, p27) neraca melaporkan jumlah aktiva, kewajiban, dan ekuitas
pemilik. Warren (2006, p18) menjelaskan bahwa aktiva (assets) adalah sumber daya
42 yang dimiliki oleh perusahaan. Contohnya kas, tanah, pabrik dan peralatan. Hak atau
klaim atas properti biasanya dibagi menjadi dua jenis utama :
a. hak kreditor, memperlihatkan utang perusahaan yang disebut kewajiban
(liabilities), dan
b. hak pemilik yang disebut dengan ekuitas pemilik (owner's equity)
Hubungan antara keduanya : aktiva = kewajiban + ekuitas pemilik.
Warren (2006, p25,27) menjelaskan bahwa laporan ekuitas pemilik melaporkan
perubahan ekuitas pemilik selama jangka waktu tertentu yang disiapkan setelah laporan
laba rugi, karena laba bersih atau rugi bersih periode berjalan harus dilaporkan dalam
laporan ini. Laporan ekuitas pemilik dibuat sebelum mempersiapkan neraca, karena
jumlah ekuitas pemilik pada akhir periode harus dilaporkan di neraca.
Neraca memiliki unsur-unsur :
i. Total aktiva lancar yang merupakan jumlah dari kas dan setara kas, piutang
usaha, piutang lain-lain, persediaan, pajak pertambahan nilai, pajak dibayar
dimuka, dan aktiva lancar lainnya,
ii. Total aktiva lain lain yang merupakan jumlah dari aktiva tetap, biaya eksplorasi
dan pengembangan ditangguhkan, piutang pajak, aktiva tidak lancar lainnya,
iii. Jumlah aktiva yang merupakan jumlah dari total aktiva lancar dan total aktiva
lain-lain,
iv. Total kewajiban jangka pendek yang merupakan jumlah dari hutang usaha,
hutang pajak, hutang lain-lain, dan biaya yang masih harus dibayar,
43
v. Total kewajiban jangka panjang yang merupakan jumlah dari hutang jangka
panjang, kewajiban pajak tangguhan, kewajiban jaminan reklamasi, dan
kewajiban jangka panjang lainnya,
vi. Total ekuitas yang merupakan jumlah modal saham dan saldo laba (rugi), dan
vii. Jumlah kewajiban dan ekuitas yang merupakan jumlah dari total kewajiban
jangka pendek, total kewajiban jangka panjang, dan total ekuitas.
2.18.3 Laporan Penerimaan Negara
Terdiri dari unsur-unsur :
i. Pajak yang merupakan jumlah dari sejumlah pph pasal 21, pph pasal 22, pph
pasal 23/26, pph pasal 25, pph pasal 29, ppn masukan, ppn keluaran, pajak
penjualan, dan lumpsum payment, dan
ii. Non Pajak yang merupakan jumlah dari dead rent, DHPB, konstribusi daerah,
PNBP pinjam pakai kawasan hutan, dan BBN,SPW3D.
2.19 Perjanjian Karya Pengusahaan Pertambangan Batubara (PKP2B)
PKP2B merupakan suatu perjanjian mengenai eksplorasi dan eksploitasi batubara yang
ada di Indonesia. Perjanjian ini terjadi antara perusahaan pertambangan dengan
pemerintah dan diawasi oleh Ditjen Pengusahaan Batubara. PKP2B juga menangani
laporan keuangan perusahaan pertambangan yang tergabung dalam PKP2B.