BAB 2 BAB 2. LANDASAN TEORI

advertisement
7
BAB 2
BAB 2. LANDASAN TEORI
2.1
Teori-Teori Umum
2.1.1 Data dan Basis Data
Data (2009, p2, Indrajani) adalah fakta atau observasi mentah
yang biasanya mengenai fenomena fisik atau transaksi bisnis. Lebih
khusus lagi, data adalah ukuran objektif dari atribut (karakteristik) dari
entitas
orang,
tempat,
benda,
atau
kejadian.
Data
akan
merepresentasikan fakta yang mewakili suatu objek seperti pelanggan,
karyawan, mahasiswa, dan lain-lain, yang disimpan dalam bentuk
angka, huruf, simbol, teks, gambar, bunyi, dan kombinasinya.
Menurut Coronel, et al (2009, p20), data akan berisi sekumpulan
fakta yang disimpan ke dalam basis data. Sedangkan, basis data (2009,
p2, Indrajani) adalah kumpulan terpadu dari elemen data logis yang
saling berhubungan. Basis data mengkonsolidasi banyak catatan yang
sebelumnya disimpan dalam file terpisah.
Menurut Conolly (2010, p65), basis data adalah kumpulan dari
data yang berelasi secara logikal beserta deskripsi datanya yang
dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu
organisasi. Berbeda dengan sistem file yang tidak berhubungan dan
mengandung data yang redundan, item data dalam basis data
terintegrasi dengan minimum jumlah data yang terduplikasi. Basis data
bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya
perusahaan
yang
dapat
7
digunakan
bersama.
8
2.1.2 Sistem Manajemen Basis Data
Menurut Singh (2009, p1), sistem basis data adalah alat yang
menyederhanakan tugas-tugas mengelola data dan menggali informasi
yang berguna secara tepat.
Lalu, menurut Coronel, et al (2009, p7), sistem basis data adalah
koleksi program yang mengatur struktur basis data dan akses kontrol ke
penyimpanan data di dalam basis data. Sistem basis data akan
mengurangi
redundansi
data,
mengintegrasikan
data,
dan
memungkinkan berbagi data di antara berbagai macam grup dalam
organisasi.
Ada pula definisi DBMS (Database Management System) dari
menurut Connolly (2010, p66), dimana DBMS adalah suatu sistem
perangkat lunak yang memungkinkan pengguna untuk mendefinisikan
(define), membuat (create), memelihara (maintain), dan mengontrol
akses ke basis data.
DBMS menyediakan fasilitas-fasilitas (2010, p66, Connolly),
seperti:
a.
DBMS memperbolehkan user untuk mendefinisikan basis data,
(biasanya) menggunakan Data Definition Language (DDL). DDL
memberikan fasilitas kepada user untuk mendeklarasikan tipe data,
struktur, dan constraints (tambahan) dari data yang disimpan ke
dalam basis data tersebut.
b.
DBMS memperbolehkan user untuk menambah data (insert),
mengubah
data
(update),
menghapus
data
(delete),
dan
mendapatkan data kembali (retrieve). Biasanya menggunakan Data
9
Manipulation Language (DML). DML menyediakan keterangan
untuk mengakses data yang disebut sebagai query language.
Bahasa query yang paling umum digunakan adalah Structured
Query Language (SQL). SQL merupakan standar formal dan de
facto untuk relasi DBMS.
c.
DBMS menyediakan pengendalian akses ke basis data, contohnya:
1) Sistem Keamanan (Security System) yang mencegah user yang
tidak berwenang untuk mengakses data dalam basis data yang
bukan haknya.
2) Sistem
Terintegrasi
(Integrity
System)
yang
menjaga
Control
System),
konsistensi data yang disimpan.
3) Sistem
Kontrol
(Concurrency
yang
memperbolehkan data dalam basis data untuk dipakai bersamasama oleh user yang berbeda.
4) Sistem Kontrol Pengembalian (Recovery Control System) yang
memperbaiki basis data seperti semula apabila sebelumnya
terjadi kerusakan hardware maupun software.
5) Katalog yang dapat diakses user (User-Accessible Catalog)
yang mengandung deskripsi data dalam basis data.
DBMS mempunyai lima komponen utama (2010, p68, Connolly):
a.
Perangkat keras (hardware)
DBMS dan aplikasinya membutuhkan perangkat keras untuk
menjalankannya. Perangkat keras dapat berupa single personal
computer sampai single mainframe ataupun network of computers.
10
Perangkat keras yang digunakan tergantung dari kebutuhan
organisasi dan DBMS yang digunakan.
b.
Perangkat lunak (software)
Komponen perangkat lunak terdiri dari software DBMS itu sendiri,
program aplikasi, sistem operasi, serta software jaringan (jika
DBMS digunakan di seluruh jaringan).
c.
Data
Data merupakan komponen terpenting dalam DBMS. Data menjadi
jembatan yang menghubungkan komponen mesin dan komponen
manusia.
d.
Prosedur (Procedures)
Prosedur merupakan instruksi-instruksi dan aturan-aturan yang
digunakan untuk mendesain dan menggunakan basis data. Proses
dalam basis data dapat berupa:
1) Login ke dalam basis DBMS
2) Menggunakan fasilitas DBMS maupun program aplikasi
3) Cara menjalankan dan menghentikan DBMS
4) Membuat salinan basis data
5) Memeriksa hardware dan software yang sedang berjalan
6) Mengubah struktur dari tabel lalu mengorganisasikan kembali
basis data yang disimpan dalam berbagai disk.
7) Meningkatkan kinerja atau membuat arsip data pada secondary
storage.
e.
Manusia (People)
11
Manusia merupakan kompenen terakhir yang berkaitan dengan
sistem. Ada empat tipe manusia yang terlibat dalam lingkungan
DBMS (2010, p71, Connolly), yaitu:
1)
Data Administrator (DA)
DA bertanggung jawab untuk mengatur sumber data yang
mencakup perencanaan basis data, pengembangan dan
pemeliharaan, kebijakan dan prosedur, serta perancangan
konseptual atau logikal perancangan basis data.
2)
Database Administrator (DBA)
DBA bertanggung jawab terhadap realisasi fisik dari basis data
yang mencakup perancangan fisikal dan implementasi,
keamanan dan pengaturan integritas, pemeliharaan sistem
operasional, dan memastikan kepuasan user terhadap performa
aplikasi.
3)
Database Designer
Database Designer dikelompokkan menjadi dua tipe, yaitu:
a. Logical Database Designer
Tugas utamanya mengidentifikasi data (entitas dan atribut),
hubungan antar data, dan batasan dari data yang disimpan
dalam basis data.
b. Physical Database Designer
Tugas utamanya memutuskan bagaimana perancangan basis
data logikal diubah menjadi basis data fisikal.
4)
Application Developer
12
Application
Developer
bertanggung
jawab
dalam
mengimplementasikan program aplikasi yang menyediakan
fungsi-fungsi yang dibutuhkan oleh End-User.
5)
End-User
End-User merupakan client dari basis data yang telah
dirancang,
diimplementasikan,
dan
dipelihara
untuk
menyediakan kebutuhan informasi.
Komponen-komponen dalam lingkungan DBMS dapat digambarkan
sebagai berikut:
Gambar 2.1
Komponen Database Management System
Menurut Connolly (2010, p77), ada beberapa keuntungan dan
kerugian dari suatu DBMS. Keuntungannya adalah sebagai berikut:
1)
Pengontrolan data yang redundansi
Pendekatan basis data akan menghilangkan redundansi dengan
mengintegrasikan file sehingga penggandaan data yang sama tidak
disimpan. Namun, pendekatan basis data tidak menghilangkan
redundansi sepenuhnya, tetapi basis data akan mengendalikan
jumlah redundansi basis data.
2)
Data yang konsisten
13
Dengan menghilangkan atau mengendalikan redundansi, kita
mengurangi risiko terjadinya ketidakkonsistenan data. Jika data
disimpan sekali dalam basis data, data yang di-update akan
ditampilkan sekali dan nilai barunya segera tersedia untuk semua
user. Sedangkan, jika data disimpan lebih dari satu kali dan sistem
memprioritaskan data ini, sistem dapat memastikan bahwa salinansalinan data tetap konsisten. Akan tetapi, banyak dari DBMS
sekarang ini tidak secara otomatis memastikan datanya konsisten.
3)
Lebih banyak informasi dari data dalam jumlah yang sama
Dengan pengintegrasian data operasional, suatu organisasi dapat
memberikan informasi tambahan untuk data yang sama.
4)
Sharing data
Biasanya, file dapat dimiliki oleh orang atau departemen yang
menggunakannya. Padahal, seharusnya basis data dimiliki oleh
seluruh bagian dalam organisasi dan dapat digunakan bersama oleh
pengguna yang berhak menggunakan file tersebut.
5)
Meningkatkan integritas data
Integritas data mengacu pada validitas dan konsistensi data yang
tersimpan. Integritas biasanya menunjukkan batasan-batasan yang
berupa aturan konsistensi yang tidak boleh dilanggar dalam basis
data. Batasannya dapat digunakan untuk item data dalam satu
record atau untuk relationship antara banyak record.
6)
Meningkatkan keamanan
Keamanan basis data adalah perlindungan basis data dari pengguna
yang tidak mempunyai hak untuk mengakses basis data. Tanpa
14
pengamanan data yang tepat, data akan rawan terhadap
gangguan/kerusakan. DBA dapat mendefinisikan keamanan basis
data yang akan dijalankan oleh DBMS. Salah satu cara
meningkatkan keamanan adalah menggunakan menggunakan
username dan password untuk mengidentifikasi orang yang berhak
mengakses basis data.
7)
Penetapan standarisasi
Dalam satu integrasi, DBA dapat mendefinisikan standar yang
dibutuhkan yang akan diterapkan oleh DBMS. Standarisasi
mencakup standar untuk departemen, organisasi, nasional, dan
internasional. Standarisasi dapat berupa format data untuk
memfasilitasi pertukaran data di antara sistem, konvensi penamaan,
standar dokumentasi, prosedur pengubahan (update), dan aturan
pengaksesan.
8)
Skala ekonomi
Menggabungkan seluruh data operasional organisasi ke dalam satu
basis data dan membuat satu set aplikasi berjalan dengan satu
sumber data, dapat menghemat biaya. Biaya yang digunakan oleh
departemen untuk merawat dan mengembangkan sistem dapat
digabungkan sehingga menghasil penghematan biaya.
9)
Menyeimbangkan kebutuhan-kebutuhan yang saling bertabrakan
Karena basis data dibawah kontrol DBA, DBA dapat membuat
keputusan terbaik dalam hal pemakaian sumber data. Dengan
demikian, kebutuhan-kebutuhan organisasi yang saling bertabrakan
dapat terhindari.
15
10)
Meningkatkan akses dan respon data
Sebagai hasil dari integrasi, data yang melewati batasan
departemen dapat langsung diakses oleh pengguna. Banyak DBMS
menyediakan
fasilitas
memperbolehkan
tambahan
dan
query
pengguna
mendapatkan
atau
untuk
pembuat
laporan
menanyakan
informasi
secara
yang
pertanyaan
cepat
dari
terminalnya tanpa membutuhkan bantuan programmer.
11)
Meningkatkan produktivitas
DBMS menyediakan banyak fungsi-fungsi standar dimana
programmer harus menulisnya dalam aplikasi berbasis file. Hal ini
memungkinkan programmer untuk berkonsentrasi pada fungsifungsi khusus lain yang dibutuhkan pengguna. Dengan demikian,
dapat meningkatkan produktivitas programmer dan mengurangi
waktu pengembangan aplikasi.
12)
Meningkatkan pemeliharaan melalui independence data
DBMS memisahkan deskripsi data dengan aplikasi sehingga
membuat aplikasi tahan terhadap perubahan data.
13)
Meningkatkan ketepatan
Bila dua atau lebih pengguna dapat mengakses file yang sama
secara bersamaan, para pengakses kemungkinan akan saling
mempengaruhi dan mengakibatkan hilangnya informasi dan
integritas.
Banyak
DBMS
mengelola
pengaksesan
secara
bersamaan pada basis data dan memastikan masalah tidak terjadi.
14)
Meningkatkan layanan backup dan recovery
16
Banyak sistem berbasis file melakukan pengamanan data terhadap
gangguan pada sistem atau program aplikasi oleh pengguna.
Caranya adalah dengan membuat backup data. Sebaliknya, DBMS
menyediakan fasilitas untuk meminimalisasi jumlah proses yang
hilang akibat kegagalan.
Namun, DBMS juga mempunyai kerugian (2010, p80, Connolly), yaitu:
1) Kompleksitas
DBMS memiliki sistem yang kompleks. Seluruh komponen manusia
harus
mengerti
fungsionalitas
untuk
mendapatkan
manfaat
sepenuhnya.
2) Ukuran
Karena sistem yang kompleks, DBMS memiliki ukuran yang besar.
3) Biaya DBMS
DBMS memiliki harga yang bervariasi tergantung dari fungsi dan
kebutuhan organisasi.
4) Biaya tambahan perangkat keras
Penambahan biaya untuk perangkat keras dibutuhkan, misalnya
untuk penambahan kapasitas penyimpanan atau membeli mesin yang
lebih besar.
5) Biaya konversi
Dibutuhkan penambahan biaya konversi untuk mengkonversi
aplikasi yang sedang berjalan ke DBMS.
6) Performa
17
DBMS dirancang untuk mengakses lebih dari satu aplikasi. Oleh
karena itu, beberapa aplikasi tidak berjalan dengan cepat (performa
menurun).
7) Dampak kegagalan yang lebih tinggi
Jika sentral DBMS rusak, maka seluruh data yang tersimpan di
dalam DBMS mengalami kerusakan. Hal ini mengakibatkan dampak
kegagalan terhadap data sangat tinggi.
2.1.3 Structured Query Language (SQL)
Menurut Connolly (2010, p184), SQL adalah contoh dari
transform-oriented language, atau bahasa yang dirancang untuk
menggunakan hubungan yang ada lalu mentransformasikan input
menjadi output yang dibutuhkan. Sebagai sebuah bahasa, standar ISO
SQL mempunyai dua komponen utama, yaitu: Data Definition
Language (DDL) dan Data Manipulation Language (DML).
2.1.3.1 Data Definition Language (DDL)
Menurut Connolly (2010, p92), DDL adalah sebuah
bahasa yang mengizinkan DBA atau pengguna untuk
mendeskripsikan dan menamai entitas, atribut, dan hubungan
yang dibutuhkan oleh aplikasi, serta asosiasi yang terintegrasi
dan batasan keamanan.
Beberapa statement DDL (Connolly, 2010, p235):
a) Create database, untuk membuat basis data.
18
b) Create
table,
untuk
membuat
tabel
dengan
mengidentifikasikan tipe data tiap kolom dan batasannya.
c) Alter Table, untuk membuang atau menambah kolom dan
constraints.
d) Drop Table, untuk menghilangkan tabel yang tidak
diperlukan.
e) Create Index, untuk membuat indeks pada suatu tabel
yang mengakses baris tabel berdasarkan nilai dari satu
atau lebih kolom.
f)
Drop Index, untuk menghilangkan indeks yang tidak
diperlukan lagi.
2.1.3.2 Data Manipulation Language (DML)
Menurut Connolly (2010, p92), DML adalah sebuah
bahasa
yang menyediakan suatu paket operasi untuk
mendukung manipulasi data yang tersimpan dalam basis data.
Operasi memanipulasi data umumnya meliputi beberapa hal
berikut:
a) Memasukkan data baru ke dalam basis data.
b) Memodifikasi data yang sudah tersimpan dalam basis data.
c) Membaca kembali data yang sudah tersimpan dalam basis
data.
d) Menghapus data yang ada di dalam basis data.
Menurut Connolly (2010, p93), DML dibedakan menjadi
dua tipe, yaitu:
19
1.
Procedural DML
Suatu bahasa yang memungkinkan pengguna untuk
memberi instruksi kepada
sistem,
data
apa
yang
dibutuhkan dan bagaimana mengambil data tersebut.
2.
Nonprocedural DML
Suatu bahasa yang memungkinkan pengguna untuk
menyatakan data apa yang dibutuhkan bukan bagaimana
data itu diambil.
2.1.4 Siklus Hidup Aplikasi Basis Data
Untuk merancang suatu basis data, diperlukan tahapan-tahapan
yang harus diikuti. Tahapan tersebut dinamakan Siklus Hidup Sistem
Basis Data (Database System Lifecycle). Menurut Connolly (2010,
p314), aplikasi basis data dianalisis dan dirancang dalam tahapantahapan berikut:
20
Gambar 2.2 Database System Lifecycle
2.1.4.1 Database Planning
Database planning atau perencanaan basis data adalah
perencanaan bagaimana tahapan-tahapan dari suatu siklus
hidup basis data dapat direalisasikan dengan cara yang efektif
dan efisien. (2010, p313, Connolly)
Menurut Connolly (2010, p313), ada tiga isu pokok yang
terlibat
dalam
diantaranya:
perumusan
strategi
sistem
informasi,
21
1) Identifikasi rencana dan tujuan perusahaan, kemudian
menentukan kebutuhan sistem informasi.
2) Evaluasi sistem informasi yang ada untuk menentukan
kelebihan dan kelemahan yang ada.
3) Penafsiran kesempatan teknologi informasi yang
dapat menghasilkan keuntungan kompetitif.
2.1.4.2 System Definition
System definition adalah sistem yang mendeskripsikan
batasan dan ruang lingkup sistem basis data dan user view.
User view menjelaskan tentang apa saja yang dibutuhkan
sistem basis data berdasarkan sudut pandang seseorang dalam
peranan pekerjaan (seperti seorang manager atau supervisor)
atau area aplikasi perusahaan (Marketing, Personnel, Stock
Control). (2010, p316, Connolly)
2.1.4.3 Requirement Collection and Analysis
Tahap ini merupakan proses mengumpulkan dan
menganalisis informasi tentang organisasi yang akan didukung
dalam sistem basis data dan menggunakan informasi tersebut
untuk mengidentifikasi kebutuhan pengguna terhadap sistem
yang baru. (Connolly, 2010, p316)
Dalam pengumpulan kebutuhan informasi, teknik yang
digunakan dinamakan Fact Finding Technique. Ada lima Fact
22
Finding Technique yang umum digunakan (2010, p344,
Connolly), yaitu:
a. Evaluasi dokumentasi
b. Wawancara
c. Observasi jalannya kegiatan pada organisasi
d. Penelitian
e. Kuesioner
2.1.4.4 Database Design
Menurut Connolly (2010, p320) merupakan proses
membuat desain yang akan mendukung operasional dan tujuan
perusahaaan. Dalam mendesain basis data, ada tiga fase
pembuatannya (2010, p322, Connolly), yaitu:
a. Conceptual Database Design
Merupakan
proses
pembentukan
model data
yang
digunakan dalam perusahaan yang bersifat independen
dari keseluruhan aspek fisik. Model data tersebut
merupakan sumber informasi untuk fase desain logikal.
b. Logical Database Design
Merupakan proses pembentukan model data yang berasal
dari informasi perusahaan yang berdasarkan model data
sebelumnya, tetapi independen terhadap DBMS dan aspek
fisik lainnya.
c. Physical Database Design
23
Merupakan proses yang menghasilkan deskripsi untuk
implementasi basis data pada penyimpanan sekunder.
Proses ini menggambarkan relasi dasar organisasi file dan
indeks-indeks yang digunakan untuk menghasilkan akses
ke data yang efisien, batasan integrasi yang berasosiasi,
serta unsur keamanan.
2.1.4.5 DBMS Selection (Optional)
Seleksi DBMS adalah kegiatan pemilihan DBMS untuk
mendukung sistem basis data (2010, p325, Connolly).
2.1.4.6 Application Design
Desain aplikasi akan merancang user interface dan
aplikasi program yang menggunakan dan memproses basis
data (2010, p329, Connolly). Ada dua aspek dari desain
aplikasi, yaitu (2010, p330, Connolly):
1.
Transaction Design
Merupakan rangkaian aksi yang dilakukan oleh seorang
pengguna
maupun
program
aplikasi
yang
mengakses/mengubah isi dari basis data. Ada tiga tipe
transaksi:
a.
Retrieval transaction
b.
Update transaction
c.
Mixed transaction
24
2.
User Interface Design Guidelines
Sebelum mengimplementasikan suatu form atau aturan
yang pertama kali dilakukan adalah merancang layout
(2010, p331, Connolly). Pedoman perancangannya adalah
sebagai berikut:
a. Judul yang bermakna
b. Instruksi yang mudah dipahami
c. Pengelompokkan yang logis dan kolom yang berurutan
d. Layout dari suatu form atau report yang menarik secara
visual
e. Nama field yang sering digunakan
f. Terminologi dan singkatan yang konsisten
g. Warna yang konsisten
h. Ruang dan batasan yang jelas untuk field yang
digunakan untuk memasukkan data
i. Penggerakan kursor yang mudah
j. Perbaikan kesalahan untuk karakter individu maupun
keseluruhan field
k. Pesan kesalahan untuk nilai yang tidak dapat diterima
l. Field yang optional ditandai dengan jelas
m. Pesan yang jelas untuk field
n. Adanya sinyal selesai, ketika pengguna selesai mengisi
field dari suatu formulir
25
2.1.4.7 Prototyping (Optional)
Prototyping membangun model kerja dari suatu sistem
basis data. Tujuan utamanya adalah mengizinkan pengguna
untuk mengidentifikasi fitur dari sistem, apakah bekerja secara
baik atau tidak, serta untuk mendukung pengembangan
fiturnya.
Ada dua tipe prototyping yang umum digunakan:
1.
Requirements prototyping
Menggunakan prototype untuk menetapkan tujuan aplikasi
basis data dan ketika tujuan sudah terpenuhi prototype
tidak digunakan lagi atau dibuang.
2.
Evolutionary prototyping
Digunakan untuk tujuan yang sama. Namun, prototyping
yang
sudah
dipakai
tidak
dibuang
melainkan
dikembangkan lebih jauh menjadi aplikasi basis data yang
baru. (2010, p333, Connolly)
2.1.4.8 Implementation
Tahap ini merupakan tahap untuk merealisasikan basis
data dan mendesain aplikasi secara fisik. Implementasir basis
data dapat dicapai dengan menggunakan DDL dari DBMS
yang dipilih atau dengan menggunakan Graphical User
Interface (GUI). (2010, p334, Connolly)
26
2.1.4.9 Data Conversion and Loading
Tahapan ini akan memindahkan data yang sudah ada ke
dalam basis data yang baru dan mengubah aplikasi yang ada ke
dalam basis data yang baru.
Tahapan ini diperlukan ketika ada sistem basis data baru
yang menggantikan sistem basis data lama. Pada masa
sekarang,
DBMS
umumnya
memiliki
fungsi
untuk
memasukkan file ke dalam basis data yang baru. Fungsi ini
memungkinkan
pengembang
untuk
mengkonversi
dan
menggunakan program aplikasi yang lama untuk sistem yang
baru. (2010, p334, Connolly)
2.1.4.10 Testing
Menurut Connolly (2010, p334), testing adalah proses
menjalankan
sistem
basis
data
dengan
tujuan
untuk
menemukan kesalahan. Contoh kriteria yang dapat digunakan
untuk melaksanakan evaluasi:
a. Learnability
Berapa lama waktu yang diperlukan pengguna baru
menjadi produktif dengan sistem.
b. Performance
Seberapa baik sistem menanggapi kesesuaian praktik
kerja pengguna.
c. Robustness
27
Seberapa besar toleransi sistem untuk kesalahan
pengguna.
d. Recoverability
Seberapa baik sistem untuk memulihkan kesalahan
pengguna.
e. Adaptability
Seberapa dekat sistem terkait dengan satu model kerja.
(2010, p335, Connolly)
2.1.4.11 Operational Maintenance
Menurut
Connolly
(2010,
p335),
operational
maintenance adalah proses untuk memantau dan memelihara
sistem basis data dengan mengikuti proses instalasi. Ada dua
kegiatan yang terlibat dalam tahap ini:
1. Memantau kinerja sistem.
2. Memelihara dan memperbaharui sistem basis data.
2.1.5 Entity-Relationship Modeling
Entity-Relationship (ER) Modeling merupakan salah satu pendekatan
top-down
untuk
merancang
basis
data
yang
dimulai
dengan
mengidentifikasi data penting yang disebut entitas dan relasi antara data
harus tergambarkan di dalam model tersebut. Untuk menambah informasi
pada entitas dan relasi menggunakan atribut, lalu untuk menambah
batasan yang lebih detail menggunakan constraints. (2010, p371,
Connolly)
28
ER Modeling digambarkan dalam suatu diagram yang dinamakan
ERD (Entity Relationship Diagram).
2.1.5.1 Entity Types
Menurut Connolly (2010, p372), entity types adalah
kumpulan objek yang mempunyai sifat/properti yang sama dan
diidentifikasi oleh perusahaan karena keberadaannya bebas
(independent existence).
Entity types akan mewakili objek yang ada di dunia nyata
baik objek fisik ataupun objek yang abstrak (hanya sebuah
konsep). Contoh entitas fisik adalah staff, customer, property,
dsb. Lalu, contoh dari entitas yang konseptual adalah sale,
viewing, inspection, dsb. Setiap objek yang diidentifikasi
secara unik dalam sebuah tipe entitas dinamakan entity
occurrence.
Entity types dibagi menjadi dua, yaitu Strong Entity Type
dan Weak Entity Type. Entitas yang disebut strong entity type
kemunculannya tidak bergantung pada entitas lain, sedangkan
kemunculan weak entity type bergantung pada entitas lain.
2.1.5.2 Relationship Types
Tipe relasi adalah kumpulan hubungan yang berarti
diantara tipe-tipe entitas. Setiap tipe relasi diberikan nama
yang menggambarkan fungsinya. Contoh dari suatu relasi
adalah relasi ‘mempunyai/has’ antara entitas Branch ke entitas
Staff yang dihubungkan oleh suatu garis. Relationship
29
occurrence adalah suatu hubungan unik yang terdiri dari satu
kejadian untuk setiap tipe entitas yang berpartisipasi. (2010,
p374, Connolly)
Derajat tipe relasi (Degree of a relationship type) adalah
jumlah entitas yang ada dalam suatu relasi. Ada tiga jenis
derajat tipe relasi, yaitu:
1. Binary relationship: relasi yang terdiri dari dua entitas.
2. Ternary relationship: relasi yang terdiri dari tiga entitas.
3. Quartenary relationship: relasi yang terdiri dari empat
entitas.
Ada juga, relasi rekursif yang merupakan relasi dalam
tipe entitas yang sama dimana entitas tersebut berpartisipasi
lebih dari satu kali dalam peran yang berbeda. Relasi rekursif
sering disebut juga unary relationship. Contoh: entitas Staff
membawahi entitas Staff sendiri (suatu staff bisa menjadi
atasan staff lain), di sini, staff mempunyai dua peran, yaitu
sebagai supervisor dan sebagai bawahan supervisor.
2.1.5.3 Attibutes
Atribut adalah sifat dari suatu entitas atau relasi (2010,
p379, Connolly). Contoh atribut dari suatu entitas Staff, yaitu
atribut noStaff, nama, posisi, gaji, dsb. Lalu, contoh atribut
dari suatu relasi ‘mengiklankan’ antara entitas Koran ke entitas
RumahSewa, yaitu atribut harga dan tanggalIklan (hubungan
dengan atributnya digambarkan dengan garis putus-putus).
30
Domain
atribut
adalah
himpunan
nilai
yang
diperbolehkan untuk satu atau lebih atribut. Contoh: domain
atribut untuk atribut Room adalah himpunan nilai integer
antara 1 sampai 15.
Atribut dapat diklasifikasikan menjadi:
1. Simple Attribute
Simple attribute adalah atribut yang terdiri dari satu
komponen
tunggal
dengan
keberadaan
yang
independen dan tidak dapat dibagi lagi menjadi
komponen yang lebih kecil. Simple attribute sering juga
disebut atomic attribute. Contoh: atribut Gaji dalam
entitas Staff.
2. Composite Attribute
Composite attribute merupakan atribut yang terdiri dari
beberapa komponen, dimana setiap komponennya
mempunyai keberadaan yang independen. Contoh:
atribut Alamat yang dapat memiliki atribut Jalan, Kota,
maupun Kodepos.
3. Single-valued Attribute
Single-valued
attribute
merupakan
atribut
yang
mempunyai nilai tunggal untuk setiap kejadian suatu
tipe entitas. Contoh atribut bernilai tunggal: branchNo
dalam entitas Branch.
4. Multi-valued Attribute
31
Multi-valued
attribute
merupakan
atribut
yang
mempunyai beberapa nilai untuk setiap kejadian suatu
tipe entitas. Contoh atribut yang bisa mempunyai
banyak nilai: atribut telepon dalam entitas Branch.
5. Derived Attribute
Derived Attribute merupakan atribut yang nilainya
dihasilkan dari satu atau beberapa atribut lain yang
berhubungan dan tidak harus berasal dari tipe entitas
yang sama. Contoh: atribut Durasi yang nilainya
didapat dari hasil pengurangan waktu selesai dikurang
waktu mulai.
2.1.5.4 Keys
Menurut Connolly (2010. p381), keys terbagi menjadi
tiga kunci utama, yaitu:
1. Candidate Key merupakan sejumlah kecil atribut yang
mengidentifikasi secara unik setiap kejadian dari
sebuah entitas.
2. Primary Key (PK) merupakan candidate key yang
dipilih untuk mengidentifikasi secara unik kejadian dari
sebuah entitas. Candidate key yang tidak terpilih akan
menjadi alternate key (kunci alternatif). Primary key
penting untuk dibuat dalam mendesain tabel basis data,
alasannnya karena PK berfungsi sebagai penanda yang
tidak bisa mempunyai nilai yang duplikat. Karena
32
setiap baris harus mempunyai nilai yang berbeda, maka
PK harus bernilai unik.
3. Composite Key merupakan candidate key yang terdiri
dari dua atau lebih atribut.
2.1.5.5 Structural Constraint
Batasan utama pada sebuah relasi adalah multiplicity
(2010, p385, Connolly). Multiplicity sendiri merupakan jumlah
kejadian dari satu entitas yang mungkin terjadi. Entitasnya
terhubung dengan entitas lain dalam suatu kejadian melalui
suatu relationship. Relationship yang sering digunakan adalah
binary relationship. Binary relationship ini dibagi menjadi
relasi one-to-one (1:1), one-to-many (1:*), dan many-to-many
(*:*).
Multiplicity mempunyai dua constraint (batasan) untuk
relasi, yaitu cardinality dan participation. Cardinality akan
mendeskripsikan jumlah maksimum relationship occurrence
yang mungkin terjadi untuk sebuah entitas yang berpartisipasi
dalam satu tipe relasi. Sedangkan, participation akan
menentukan apakah semua entitas berpartisipasi (mandatory
participation) atau hanya beberapa entitas yang berpartisipasi
(optional participation) dalam sebuah relationship.
33
2.1.6 Metodologi Perancangan Basis Data
Metode perancangan basis data merupakan pendekatan terstruktur
yang
menggunakan
prosedur-prosedur,
teknik-teknik,
alat-alat,
dokumentasi tambahan untuk mendukung dan memberi fasilitas dari
sebuah proses perancangan (2010, p466, Connolly). Ada tiga fase
dalam metode perancangan basis data, yaitu: perancangan konseptual,
perancangan logikal, dan perancangan fisikal.
2.1.6.1 Perancangan Konseptual
Perancangan konseptual basis data akan menghasilkan
model data konseptual. Setiap model data konseptual terdiri
dari tipe entitas, tipe relationship, atribut dan domain atribut,
primary keys dan alternate keys, serta integrity contraints
(2010, p466, Connolly).
Langkah-langkah perancangan konseptual adalah:
1.
Mengidentifikasi tipe-tipe entitas
Tahap ini akan mengidentifikasi dan mendefinisikan
objek-objek utama yang menjadi kebutuhan pengguna.
Lalu, objek-objek ini ditransformasikan menjadi tipe
entitas. Setelah itu, entitas diberi nama dengan nama yang
jelas dan mempunyai arti untuk pengguna.
2.
Mengidentifikasi tipe-tipe relationship
Tahap ini akan mengidentifikasi relationship penting yang
berada di antara tipe entitas yang telah diidentifikasi
sebelumnya. Biasanya, relationship dinyatakan dengan
34
kata kerja atau ekspresi verbal. Langkah-langkah untuk
mengidentifikasi tipe relationship adalah:
a. Menggunakan ERD (Entity Relationship Diagram)
untuk menggambarkan entitas dan hubungan antar
entitas dengan lebih mudah dan jelas.
b. Menetapkan batasan multiplicity dari tipe relasi.
c. Mengecek apakah ada fan dan chasm traps. Fan trap
merupakan suatu masalah dalam Entity Relationship
Modeling dimana jalan penghubung untuk relationshipnya ambigu. Sedangkan, chasm trap bermasalah karena
tidak adanya jalan penghubung untuk relationship-nya.
d. Mendokumentasikan tipe relationship-nya.
3.
Mengidentifikasi
dan
menghubungkan
atribut-atribut
dengan tipe entitas atau relationship
Tahap ini bertujuan untuk menghubungkan atribut dengan
entitas
maupun
relationship
yang
sesuai
lalu
mendokumentasikannya. Atribut diidentifikasi dengan
menggunakan kata benda atau frase kata benda (noun
phrases), seperti sifat/karakteristik, kualitas dari satu
entitas atau relationship.
4.
Menentukan domain atribut
Tahap ini bertujuan untuk menetapkan domain atribut
dalam model data konseptual dan mendokumentasikannya.
Domain merupakan kumpulan nilai dari satu atau lebih
atribut yang menggambarkan nilainya. Domain yang
35
dispesifikasikan
menyertakan
nilai
atribut
yang
diperbolehkan serta ukuran dan format atribut.
5.
Menentukan atribut kandidat dan primary key
Tahap ini bertujuan untuk mengidentifikasikan candidate
key untuk setiap entitas dan jika terdapat lebih dari satu
candidate key, maka harus dipilih satu sebagai primary
key.
6.
Mempertimbangkan penggunaan konsep pemodelan yang
tinggi/Enhanced Modeling Concept (optional)
Pada
tahap
ini,
dapat
dipertimbangkan
untuk
menggunakan enhanced modeling atau tidak. Yang
termasuk
enhanced
modeling
adalah
spesialisasi,
generalisasi, agregasi, dan komposisi.
Spesialisasi dan generalisasi sama-sama mempunyai
superclass (kelas induk) dan subclass (kelas anak).
Namun,
spesialisasi
merupakan
proses
untuk
memaksimalkan perbedaan antara anggota entitas dengan
mengidentifikasi
sifat-sifat
istimewa.
Sedangkan,
generalisasi merupakan proses untuk meminimalkan
perbedaan antara entitas dengan mengidentifikasi sifat
yang umum.
Lalu, agregasi memperlihatkan hubungan “has-a” atau “ispart-of” antara tipe entitas, yang satu mewakili “whole”
dan yang satu lagi mewakili “part”-nya. Sedangkan,
komposisi merupakan bentuk spesifik dari agregasi antara
36
tipe entitas dimana ada kepemilikan yang kuat antara
hubungan “whole” dan “part”-nya.
7.
Memeriksa model yang redundansi
Tahap ini bertujuan untuk mengecek keberadaan suatu
redundansi di dalam model yang telah dibuat dan apabila
ada, redundansi harus dibuang. Ada tiga aktivitas dalam
tahap ini, yaitu:
a. Menguji kembali relationship 1:1 (one-to-one). Apabila
dua entitas mempunyai nama berbeda, tetapi samasama mewakili object yang sama, maka harus
digabungkan.
b. Menghilangkan relationship yang redundan. Hubungan
yang redundan terjadi jika dua atau lebih hubungan
mengandung informasi yang sama.
c. Mempertimbangkan dimensi waktu dalam menduga
adanya
redundansi.
Dalam
menduga
keberadaan
redundansi, perlu diperiksa maksud dari setiap relasi
antar entitas dengan jelas.
8.
Memvalidasikan model data konseptual dengan transaksi
pengguna
Tahap ini bertujuan untuk memastikan model data
konseptual
mendukung
transaksi
yang
dibutuhkan.
Digunakan dua pendekatan untuk memastikan model data
konseptual ini, yaitu:
a. Mendeskripsikan transaksi-transaksi yang ada.
37
b. Menggunakan jalur-jalur terjadinya transaksi.
9.
Meninjau
kembali
model
data
konseptual
dengan
pengguna
Tahap ini bertujuan untuk me-review model data
konseptual dengan pengguna untuk memastikan bahwa
model tersebut adalah representasi sebenarnya dari
kebutuhan data perusahaan.
2.1.6.2 Perancangan Logikal
Perancangan logikal akan menghasilkan model data
logikal dari model data konseptual lalu memvalidasi model
logikal apakah telah sesuai dengan kebutuhan transaksi. (2010,
p490, Connolly)
Langkah-langkah perancangan logikal:
1.
Mengambil relasi yang telah dirancang sebelumnya untuk
perancangan logikal ini. Perancangan konseptual dapat
menghasilkan:
a. Tipe entitas kuat (strong entity types): menunjukkan
relasi yang mengandung semua atribut sederhana dari
entitas tersebut.
b. Tipe entitas lemah (weak entity types): menunjukkan
relasi yang mengandung semua atribut sederhana dari
entitas tersebut. Primary key dari weak entity baru
dapat
diidentifikasi
terpetakan.
setelah
semua
relationship
38
c. Tipe relationship one-to-many: menunjukkan entitas
mana yang menunjukkan “one side” dan “many side”.
d. Tipe binary relationship one-to-one: menunjukkan
relasi yang menggambarkan batasan partisipasi, yaitu:
mandatory participation di kedua sisi relationship 1:1,
mandatory participation di salah satu sisi relationship
1:1, optional participation di kedua sisi relationship
1:1.
e. Tipe relationship superclass/subclass: mengidentifikasi
entitas superclass sebagai entitas induk dan entitas
subclass sebagai entitas anak.
f. Tipe binary relationship many-to-many: menunjukkan
relasi yang mewakili relationship dan atribut yang
terkandung di dalamnya. Menaruh primary key dari
setiap entitas yang ada pada relasi ini untuk
dimasukkan ke dalam sebuah entitas baru.
g. Atribut yang multi-valued: membuat relasi baru yang
menunjukkan adanya atribut yang mempunyai nilai
lebih dari satu (multi-valued attribute).
2.
Memvalidasikan
hubungan/relasi
menggunakan
normalisasi
Tahap ini bertujuan untuk memvalidasikan relasi dalam
model data logikal menggunakan normalisasi. Penggunaan
normalisasi bertujuan untuk memastikan bahwa relasi
39
yang ada mempunyai atribut yang minimal serta cukup
jumlahnya dan juga untuk meminimalkan redundansi.
3.
Memvalidasikan relasi terhadap transaksi pengguna
Tahap ini bertujuan untuk memastikan model data logikal
mendukung transaksi yang dibutuhkan.
4.
Menentukan batasan integrity
Tahap ini bertujuan untuk mengecek batasan integrity
yang digambarkan dalam model data logikal. Batasan
integrity-nya
terdiri
mengandung
nilai
dari:
yang
required
valid),
data
(atribut
attribute
domain
constraints, multiplicity, entity integrity (primary key tidak
boleh null), dan refential integrity (foreign key harus jelas
sumber entitasnya).
5.
Meninjau ulang model data logikal dengan pengguna
Tahap ini bertujuan memastikan bahwa model tersebut
adalah representasi sebenarnya dari kebutuhan data
perusahaan.
6.
Menggabungkan model data logikal ke sebuah model data
global yang merepresentasikan semua user view dari suatu
basis data (optional).
7.
Mengecek perkembangan masa depan
Menentukan kemungkinan adanya perubahan di masa
depan dan menilai kemungkinan model data logikal dapat
menyesuaikan perubahan yang ada.
40
2.1.6.3 Perancangan Fisikal
Perancangan fisikal bertujuan untuk menghasilkan
deskripsi dari pengimplementasian basis data ke penyimpanan
sekunder, menghasilkan relasi dasar, file organization dan
indeks yang berguna untuk menghasilkan akses yang efisien,
serta menghasilkan batasan-batasan integritas dan unsur
keamanan (2010, p523, Connolly).
Langkah-langkah perancangan fisikal:
1.
Menerjemahkan model data logikal untuk DBMS target
a. Merancang hubungan dasar (base relations)
Tahap ini menetapkan cara untuk menampilkan base
relations di dalam DBMS target. Base relations akan
dideskripsikan
menggunakan
DBDL
(Database
Designation Language) yang berisi domain, default
values, dan indikator null.
b. Merancang representasi dari derived data
Tahap ini menetapkan cara untuk menampilkan derived
data yang muncul di model data logikal ke DBMS
target.
Derived
data
atau
calculated
attributes
merupakan atribut yang nilainya didapat dari nilai
atribut lain.
c. Merancang general constraints
Menerapkan
general
constraints
tergantung
dari
pemilihan DBMS-nya. Beberapa sistem menyediakan
41
fasilitas
lebih
dalam
hal
pendefinisian
general
constraints ini.
2.
Merancang organisasi file dan indeks-indeks.
a. Menganalisis transaksi
Tahap ini bertujuan untuk memahami fungsi dari
transaksi basis data yang ada dan menganalisis
transaksi yang penting. Transaksi yang penting adalah
transaksi yang sering digunakan dan mempunyai
dampak yang tinggi dalam kinerja DBMS, punya
berperan aktif dalam operasional yang ada, dan punya
saat-saat tertentu dimana ada permintaan tinggi untuk
mengakses basis data (peak load).
Langkah-langkah menganalisisnya adalah:
1. Memetakan semua transaksi ke relasi.
2. Menetapkan
frekuensi
(memperkirakan
berapa
digunakannya
rata-rata
informasi
dan
nilai
maksimum informasi yang digunakan serta pada jam
berapa terjadi peak load).
3. Menganalisis penggunaan data
(menganalisis relasi dan atribut yang diakses
transaksi
lalu
memperkirakan
berapa
banyak
transaksi yang akan berjalan serta berapa lama
waktu terpenuhinya suatu transaksi).
b. Memilih file organizations
42
Tahap ini akan menetapkan file organizations dari
setiap relasi. Pilihan untuk menyimpan dan mengatur
file adalah: Heap, Hash, Indexed Sequential Access
Method (ISAM), B+- tree, Clusters. Apabila DBMS
tidak menyediakan pilihan file organization ini, maka
tahap ini bisa dihilangkan.
c. Memilih indeks
Tahap ini akan menetapkan indeks yang akan
digunakan untuk mempercepat performa dari sistem.
d. Memprediksi kebutuhan tempat penyimpanan
3.
Merancang user view
Tahap
ini akan
menghasilkan
rancangan
tampilan
pengguna yang sesuai dengan kebutuhan pengguna. Tahap
ini berguna karena untuk membatasi hak akses basis data.
4.
Merancang mekanisme keamanan
Tahap
ini
bertujuan
untuk
merancang
mekanisme
keamanan untuk basis data. Ada dua tipe mekanisme
keamanan menurut Connolly (2010, p543), yaitu:
a. Keamanan sistem (System security) yang melindungi
akses dan penggunaan basis data pada level sistem,
seperti penggunaan username dan password.
b. Keamanan data (Data security) yang melindungi akses
dan penggunaan objek basis data, seperti relasi dan
tampilan (view).
43
5.
Mempertimbangkan
pengenalan
dari
redundansi
terkontrol.
Langkah ini mempertimbangkan denormalisasi skema
relasional untuk meningkatkan kinerja. Faktor yang perlu
dipertimbangkan
adalah
denormalisasi
membuat
implementasi lebih kompleks, selalu mengorbankan
fleksibilitas, serta akan mempercepat retrieve data tetapi
lambat dalam hal update data.Ukuran kinerja dari suatu
perancangan basis data dilihat dari pendekatan efisiensi
data
(normalisasi)
penyimpanan
untuk
atau
meminimalkan
pendekatan
kapasitas
efisiensi
proses
(denormalisasi) untuk mempercepat retrieve data.
6.
Mengawasi dan mengatur sistem operasional.
Langkah ini bertujuan untuk mengawasi sistem operasi,
meningkatkan
kinerja,
dan
menentukan
sistem
perancangan yang tepat, serta menggambarkan perubahan
kebutuhan.
2.1.7 Normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan serangkaian
relasi dengan sifat-sifat yang dibutuhkan sesuai kebutuhan data
perusahaan (2010, p416, Connolly). Tujuan dari normalisasi adalah
untuk
meminimalkan
jumlah
atribut
yang
diperlukan,
untuk
mempermudah mengidentifikasi atribut yang mempunyai logical
relationship
yang
berdekatan,
dan
untuk
meminimalkan
44
redundansi/pengulangan. Lalu, pada akhirnya, pengguna dapat lebih
mudah mengakses dan memelihara data, serta meminimalkan tempat
penyimpanan data pada komputer.
Tahap-tahap normalisasi menurut Connolly (2010, p430):
1. Unnormalized Form (UNF)
Bentuk UNF merupakan sebuah tabel yang berisi satu atau lebih
grup yang berulang. Bentuk ini akan menghasilkan atribut-atribut
yang didapat dari sumber informasi (contoh: form).
2. First Normal Form (1NF)
Bentuk 1NF merupakan sebuah relasi dimana irisan setiap baris dan
kolom berisi satu dan hanya satu nilai. Untuk mentransformasikan
unnormalized table sebelumnya menjadi 1NF, pertama-tama,
mengidentifikasi
grup
yang
berulang
dalam
tabel
lalu
menghilangkannya. Berikut dua pendekatan yang digunakan untuk
menghilangkan grup yang berulang adalah:
a. Memasukkan data yang semestinya ada ke dalam kolom kosong
pada baris yang berisi data yang berulang (flattening table).
b. Menempatkan data yang berulang bersama salinan dari atribut
yang asli ke dalam relasi yang terpisah.
3. Second Normal Form (2NF)
Bentuk 2NF merupakan sebuah relasi dalam 1NF dimana setiap
atribut yang bukan Primary Key (PK) bersifat fully-functional
dependent terhadap PK-nya. Atribut B dikatakan fully-functional
dependencies terhadap atribut A jika B functionally dependent
(setiap nilai dari A berasosiasi dengan tepat satu nilai B) terhadap A,
45
tetapi bukan bergantung pada subset dari A. Bentuk 2NF ini akan
menghilangkan partial dependencies (ketergantungan kepada salah
satu key yang composite).
4. Third Normal Form (3NF)
Bentuk 3NF merupakan sebuah relasi dalam 1NF dan 2NF dimana
tidak ada atribut non-primary key yang bersifat transitive dependent
terhadap PK-nya. Transitive dependency terjadi jika suatu atribut
dependent pada satu atau lebih non-primary key.
2.1.8 Flowchart
Flowchart (bagan alir) merupakan representasi secara grafik dari
suatu algoritma atau prosedur untuk menyelesaikan suatu masalah.
Penggunaan flowchart membantu memudahkan pengecekan analisis
masalah dan berguna sebagai fasilitas berkomunikasi di antara
programmer yang bekerja dalam tim suatu proyek.
Lima macam jenis flowchart:
1. Flowchart Sistem
Merupakan diagram alir yang menggambarkan arus pekerjaan dari
sistem secara keseluruhan, menjelaskan urutan dari prosedurprosedur yang ada di dalam suatu sistem, serta menunjukkan apa
yang dikerjakan di dalam sistem. Simbolnya adalah:
46
Gambar 2.3
Simbol Flowchart Sistem
47
Gambar 2.4
Contoh Flowchart Sistem
2. Flowchart Program
Merupakan diagram alir yang berisi keterangan yang lebih rinci
tentang
bagaimana
setiap
langkah
program
atau
prosedur
dilaksanakan. Flowchart ini digunakan untuk menggambarkan
urutan instruksi dari program komputer.
Gambar 2.5
Contoh Program
48
Flowchart program ini terdiri dari dua bentuk, yaitu:
a. Bagan alir logika, digunakan untuk menggambarkan logika setiap
langkah program, disiapkan oleh analis sistem.
b. Bagan alir komputer terinci, menggunakan simbol-simbol,
seperti:
Gambar 2.6
3.
Simbol Flowchart Program
Flowchart Proses
Merupakan bagan alir yang banyak digunakan di bidang teknik
industri, yang berguna untuk menggambarkan proses yang ada di
dalam suatu prosedur. Flowchart ini menunjukkan jarak kegiatan
yang satu dengan yang lain serta waktu yang diperlukan oleh suatu
kegiatan. Simbol yang digunakan:
49
Gambar 2.7
Simbol Flowchart Proses
4. Flowchart Dokumen (Document Flowchart)
Disebut juga form flowchart atau paperwork, merupakan bagan alir
yang menunjukkan arus laporan dan formulir, termasuk tembusantembusannya, menggunakan simbol-simbol yang sama dengan
flowchart sistem.
5. Flowcart Skematik (Schematic Flowchart)
Flowchart ini menggambarkan prosedur di dalam sistem, mirip
seperti flowchart sistem dan menggunakan simbol-simbol flowchart
sistem. Akan tetapi, flowchart ini menggunakan gambar komputer
dan peralatan lain yang digunakan, dimana fungsinya adalah untuk
memudahkan seseorang yang tidak familiar dengan flowchart
memahami simbol-simbol flowchart yang ada.
2.1.9 Data Flow Diagram (DFD)
DFD memperlihatkan pergerakan data di perusahaan dan data
yang disimpan dalam penyimpanan data (Connolly, 2005, 478). Berikut
adalah simbol yang digunakan dalam DFD:
50
Gambar 2.8
Simbol Pada DFD
Keterangan:
a. Kesatuan luar adalah kesatuan di luar sistem yang akan memberikan
input atau menerima output dari sistem, dapat berupa orang,
organisasi, sumber informasi lain, ataupun penerima akhir dari suatu
laporan.
b. Proses merupakan kegiatan atau pekerjaan yang dilakukan oleh
orang
atau
mesin
komputer,
dimana
aliran
data
masuk
ditransformasikan ke aliran data keluar.
c. Arus data digambarkan dalam bentuk anak panah yang menuju ke
atau dari proses, digunakan untuk menggambarkan gerakan paket
data atau informasi dari satu bagian ke bagian lain dari sistem
dimana penyimpanan mewakili lokasi penyimpanan data. Nama
berfungsi untuk mendefinisikan arti aliran dan ditulis untuk
51
mengidenfikasikan aliran tersebut. Ujung panah menunjukkan
kemana data bergerak. Aliran yang digambarkan dengan dua ujung
panah menunjukkan terjadinya dialog. Aliran dapat juga menyebar
atau menyatu.
d. Penyimpanan (Data Store)
Kumpulan data akan disimpan dalam sistem komputer dengan cara
tertentu, seperti tape magnetic, disk, atau model DBMS lainnya.
Ada tiga tingkatan dalam DFD, yaitu:
1. Diagram Konteks (Context Diagram)
Diagram konteks adalah diagram tingkat atas yang merupakan
diagram dari sebuah sistem yang menggambarkan aliran data yang
masuk dan keluar dari sistem dan dari entitas luar. Diagram konteks
memberikan
gambaran
tentang
keseluruhan
sistem,
hanya
mempunyai satu proses, dan tidak menyertakan data store di
dalamnya.
2. Diagram Nol
Disebut juga DFD level 1, merupakan penggambaran diagram
konteks yang lebih rinci. Diagram nol akan memperlihatkan data
store yang digunakan, ada penomoran proses, dan memperhatikan
keseimbangan antara diagram konteks dengan diagram nol.
3. Diagram Rinci
Setiap proses di DFD level 0 akan digambarkan lebih rinci lagi.
52
2.1.10 State Transition Diagram (STD)
Menurut Whitten et al. (2007, p636), STD merupakan alat yang
digunakan untuk menggambarkan urutan dan variasi dari tampilan layar
yang dapat muncul ketika pengguna sistem mengunjungi terminal.
Notasi yang digunakan dalam STD adalah:
a.
Kotak yang menggambarkan layar tampilan.
b.
Anak
panah
yang
menggambarkan
aliran
kontrol
dan
menggerakan kejadian yang akan menyebabkan layar menjadi
aktif atau menerima fokus.
STD dapat menjadi besar ketika semua input, output, help, dan
layar-layar lain dimasukkan ke dalam diagram, sehingga STD dapat
dipecah menjadi diagram yang lebih sederhana.
STD memiliki initial dan final state, jumlah final state bisa lebih
dari satu, tetapi initial state tidak bisa lebih dari satu. Untuk melengkapi
STD, diperlukan Condition dan Action. Condition adalah suatu event
yang dapat dideteksi oleh sistem, sedangkan action adalah hal yang
dilakukan oleh sistem bila terjadi perubahan state atau merupakan
reaksi terhadap condition. Action akan menghasilkan output, message
display pada layar, hasil kalkulasi, dsb.
2.2
Teori-Teori Khusus
2.2.1 Pembelian
Menurut Mulyadi (2001,p299), pembelian adalah suatu usaha
yang digunakan dalam perusahaan untuk pengadaan barang yang
53
diperlukan oleh perusahaan. Transaksi pembelian dapat digolongkan
menjadi dua yaitu:
1)
Pembelian lokal
Pembelian lokal adalah pembelian dari pemasok dalam negeri.
2)
Pembelian impor
Pembelian impor adalah pembelian dari pemasok luar negeri.
2.2.1.1 Fungsi yang terkait dalam pembelian
Menurut Mulyadi (2001,p299), fungsi yang terkait dala
sistem pembelian adalah:
a. Fungsi gudang
Dalam sistem akuntansi pembelian, fungsi gudang
bertanggung jawab untuk mengajukan permintaan
pembelian sesuai dengan posisi persediaan yang ada di
gudang dan untuk menyimpan barang yang telah
diterima oleh fungsi penerimaan.
b. Fungsi pembelian
Fungsi
pembelian
memperoleh
bertanggung
informasi
mengenai
jawab
harga
untuk
barang,
menentukan pemasok yang dipilih dalam pengadaan
barang, dan mengeluarkan order pembelian kepada
pemasok yang dipilih.
c. Fungsi penerimaan
Dalam
sistem
akuntansi
pembelian,
fungsi
ini
bertanggung jawab untuk melakukan pemeriksaan
54
terhadap jenis, mutu, dan kuantitas barang yang
diterima dari pemasok guna menentukan dapat atau
tidaknya barang tersebut diterima oleh perusahaan.
d. Fungsi akuntansi
Fungsi
akuntansi
yang
terkait
dalam
transaksi
pembelian adalah fungsi pencatat utang dan fungsi
pencatat
persediaan.
Dalam
sistem
akuntansi
pembelian, fungsi pencatat utang bertanggung jawab
untuk mencatat transaksi pembelian ke dalam register
bukti kas keluar dan untuk menyelanggarakan arsip
dokumen sumber yang berfungsi sebagai catatan utang
atau menyelanggarakan kartu utang sebagai buku
pembantu utang. Dalam sistem akuntasi pembelian,
fungsi pencatat persediaan bertanggung jawab untuk
mencatat harga pokok persediaan barang yang dibeli ke
dalam kartu persediaan.
2.2.1.2 Jaringan prosedur yang membentuk sistem pembelian
Menurut Mulyadi (2001,p299), jaringan prosedur yang
membentuk sistem pembelian adalah:
a. Prosedur permintaan pembelian
Dalam prosedur ini, fungsi gudang mengajukan
permintaan pembelian dalam formulir surat permintaan
pembelian kepada fungsi pembelian.
55
b. Prosedur permintaan penawaran harga dan pemilihan
pemasok
Dalam prosedur ini, fungsi pembelian mengirimkan
surat permintaan penawaran harga kepada para
pemasok untuk memperoleh informasi mengenai harga
barang dan berbagai syarat pembelian yang lain.
c. Prosedur order pembelian
Dalam prosedur ini, fungsi pembelian mengirim surat
order pembelian kepada pemasok yang dipilih dan
memberitahukan kepada unit-unit organisasi lain dalam
perusahaan mengenai order pembelian yang sudah
dikeluarkan oleh perusahaan.
d. Prosedur penerimaan barang
Dalam prosedur ini, fungsi penerimaan melakukan
pemeriksaan mengenai jenis, kuantitas, dan mutu
barang yang diterima dari pemasok dan kemudian
membuata
laporan
penerimaan
barang
untuk
menyatakan penerimaan barang dari pemasok tersebut.
e. Prosedur pencatatan utang
Dalam prosedur ini, fungsi akuntansi memeriksa
dokumen-dokumen
yang
berhubungan
dengan
pembelian dan menyelanggarakan pencatatan utang
atau mengarsipkan dokumen sebagai sumber catatan
utang.
56
f. Prosedur distribusi pembelian
Prosedur ini meliputi distribusi rekening yang didebit
dari transaksi pembelian untuk kepentingan pembuatan
laporan manajemen.
2.2.1.3 Dokumen pada sistem pembelian
Menurut Mulyadi (2001,p303), beberapa dokumen yang
digunakan dalam sistem pembelian yaitu:
a. Surat permintaan pembelian
b. Surat penerimaan penawaran harga
c. Surat order pembelian
d. Laporan penerimaan barang
e. Surat perubahan order pembelian
f. Bukti kas keluar
2.2.2 Persediaan
Menurut Nasution (2003, p103), persediaan adalah sumber daya
yang menganggur yang menunggu proses lebih lanjut. Proses lebih
lanjut tersebut berupa kegiatan produksi pada sistem manufaktur,
kegiatan pemasaran pada sistem distribusi ataupun kegiatan konsumsi
pangan pada sistem rumah tangga.
2.2.2.1 Fungsi yang terkait dalam persediaan
Menurut Mulyadi (2001,p579), fungsi terkait dalam
sistem perhitungan fisik persediaan, yaitu:
57
1) Panitia perhitungan fisik persediaan berfungsi untuk
melaksanakan
perhitungan
fisik
persediaan
dan
menyerahkan hasil perhitungan tersebut kepada bagian
kartu persediaan untuk digunakan sebagai dasar
penyesuaian terhadap catatan persediaan dalam kartu
persediaan
2) Fungsi akuntansi bertanggung jawab untuk :
a. Mencantumkan harga pokok sistem persediaan
yang dihitung dalam daftar perhitungan fisik.
b. Mengalikan
persatuan
kuantitas
yang
dan
harga
tercantum
dalam
pokok
hasil
perhitungan fisik.
c. Mencantumkan harga pokok total dalam daftar
hasil perhitungan fisik.
d. Melakukan
penyesuaian
terhadap
kartu
persediaan berdasarkan data hasil perhitungan
fisik persediaan.
e. Membuat bukti memorial untuk mencatat
penyesuaian data persediaan dalam jurnal umu
berdasarkan hasil perhitungan fisik persediaan.
3) Fungsi gudang bertanggung jawab untuk melakukan
penyesuaian data kuantitas persediaan yang dicatat
dalam kartu gudang berdasarkan hasil perhitungan fisik
persediaan.
58
2.2.2.2 Sistem dan prosedur yang membentuk sistem persediaan
Menurut Mulyadi (2001,p559), sistem dan prosedur yang
bersangkutan dengan sistem persediaan adalah:
1) Prosedur pencatatan produk jadi.
Prosedur ini merupakan salah satu prosedur dalam
sistem akuntansi biaya produksi. Dalam produksi ini,
dicatat harga pokok produksi jadi didebitkan ke dalam
rekening persediaan produk jadi dan dikreditkan ke
dalam rekening barang dalam proses. Dokumen yang
digunakan dalam prosedur pencatatan produk jadi
adalah laporan produk selesai dan memorial.
2) Prosedur pencatatan harga pokok produk yang dijual.
Prosedur ini merupakan salah satu prosedur dalam
sistem penjualan disamping prosedur lainnya seperti
prosedur
order
penjualan,
persetujuaan
kredit,
pengiriman barang, penagihan, dan pencatatan piutang.
Dokumen yang digunakan untuk mencatat penjualan
produk jadi adalah surat order pengiriman dan faktur
penjualan.
3) Prosedur pencatatan harga pokok produk jadi yang
diterima kembali dari pembeli.
Prosedur ini merupakan salah satu prosedur yang
membentuk sistem retur pembelian. Dalam prosedur
ini, dicatat harga pokok persediaan yang dibeli.
59
Dokumen yang digunakan dalam prosedur ini adalah
laporan penerimaan barang dan memo debit.
4) Prosedur
pencatatan
tambahan
dan
penyesuaian
kembali harga pokok persediaan produk dalam proses.
Dokumen yang digunakan adalah bukti memorial.
5) Prosedur pencatatan harga pokok persediaan yang
dibeli.
Dokumen yang digunakan adalah laporan penerimaan
barang dan bukti kas keluar.
6) Prosedur pencatatan harga pokok persediaan yang
dikembalikan kepada pemasok.
Prosedur ini merupakan salah satu prosedur yang
membentuk sistem retur pembelian. Jika persediaan
yang telah dibeli dikembalikan kepada pemasok, maka
transaksi retur pembelian ini akan mempengaruhi
persediaan
yang
bersangkutan.
Dokumen
yang
digunakan adalah bukti memorial.
7) Prosedur permintaan dan pengeluaran barang gudang.
Prosedur ini merupakan salah satu prosedur yang
membentuk sistem akuntansi biaya produksi. Dalam
produksi ini, dicatat harga pokok persediaan bahan
baku, bahan baku cadangan, bahan baku habis pakai
pabrik, dan suku cadang yang dipakai dalam kegiatan
produksi dan non produksi. Dokumen yang digunakan
60
adalah bukti penerimaan dan pengeluaran barang
gudang.
8) Prosedur pencatatan tambahan harga pokok persediaan
karena pengembalian barang gudang.
Dalam prosedur ini, transaksi pengembalian barang
gudang mengurangi biaya dan menambah persediaan
barang di gudang.
2.2.2.3 Tujuan Persediaan
Menurut
Render,
Haizer
(2001,p314),
fungsi
dari
persediaan adalah sebagai berikut:
a. Untuk memberikan suatu stok barang agar dapat
memenuhi permintaan yang diantisipasikan akan timbul
dari konsumen.
b. Untuk mengambil keuntungan dari potongan jumlah
c. Untuk
melakukan hedging terhadap inflasi dan
perubahan harga.
d. Untuk menghindari dari kekurangan stok yang dapat
terjadi karena cuaca, kekurangan pasokan, masalah
mutu, atau pengiriman yang tidak tepat.
e. Untuk menjaga agar operasi dapat berlangsung dengan
baik dengan menggunakan “barang dalam proses”
dalam persediaannya.
61
2.2.3 Penjualan
Menurut Mulyadi (2001,p202), kegiatan penjualan terdiri dari
transaksi penjualan barang atau jasa baik secara kredit maupun tunai.
Penjualan menurut cara bayarnya dapat dibedakan sebagai berikut:
1) Penjualan tunai, yaitu penjualan yang dilaksanakan oleh
perusahaan dengan cara mewajibkan pembeli dengan melakukan
pembayaran terlebih dahulu sebelum barang diserahkan kepada
pembeli.
2) Penjualan kredit, yaitu penjualan yang dilakukan dengan cara
memenuhi order dari pelanggan dengan mengirimkan barang
atau menyerahkan jasa, lalu perusahaan memiliki piutang
kepada pelanggan untuk jangka waktu tertentu.
Menurut Mulyadi (2001, p210), sistem penjualan kredit adalah
penjualan dilaksanakan oleh perusahaan dengan cara mengirimkan
barang sesuai dengan order yang diterima dari pembeli dan untuk
jangka waktu tertentu perusahaan mempunyai tagihan kepada pembeli
tersebut.
2.2.3.1 Fungsi yang terkait dalam penjualan
Menurut Mulyadi (2001,p211), fungsi-fungsi terkait
dalam sistem penjualan kredit ini adalah sebagai berikut:
a. Fungsi penjualan
Fungsi ini bertanggung jawab untuk menerima surat
order dari pembeli, mengedit order dari pelanggan
untuk menambahkan informasi yang belum ada pada
62
saat surat order tersebut, meminta otorisasi kredit,
menentukan tanggal pengiriman dan dari gudang mana
barang akan dikirim, dan mengisi surat order
pengiriman.
b. Fungsi kredit
Fungsi ini berada di bawah fungsi keuangan yang
dalam transaksi penjualan kredit, bertanggung jawab
untuk
meneliti
memberikan
status
otorisasi
kredit
pelanggan,
pemberian
kredit
dan
kepada
pelanggan
c. Fungsi gudang
Fungsi ini bertanggung jawab untuk menyimpan barang
dan menyiapkan barang dipesan oleh pelanggan, serta
menyerahkan barang ke fungsi pengiriman.
d. Fungsi pengiriman
Fungsi ini bertanggung jawab untuk menyerahkan
barang atas dasar surat order pengiriman yang
diterimanya dari fungsi penjualan.
e. Fungsi penagihan
Fungsi ini bertanggung jawab untuk membuat dan
mengirimkan faktur penjualan kepada pelanggan, serta
menyediakan copy faktur bagi kepentingan pencatatan
transaksi penjualan oleh fungsi akuntansi.
f. Fungsi akuntansi
63
Fungsi ini bertanggung jawab untuk mencatat piutang
yang timbul dari transaksi penjualan kredit dan
membuat
serta
mengirimkan
pernyataan
piutang
kepada para debitur, serta membuat laporan penjualan.
2.2.3.2 Jaringan prosedur yang membentuk sistem penjualan
Menurut Mulyadi (2001,p219), jaringan prosedur yang
membentuk sistem dalam sistem penjualan kredit ini adalah
sebagai berikut:
a. Prosedur order penjualan
Dalam prosedur ini, fungsi penjualan menerima order
dari pembeli dan menambahkan informasi penting
pada saat surat order dari pembeli.
b. Prosedur persetujuan kredit
Dalam prosedur ini, fungsi penjualan meminta
persetujuan penjualan kredit kepada pembeli tertentu
dari fungsi kredit.
c. Prosedur pengiriman
Dalam prosedur ini, fungsi pengiriman mengirimkan
barang kepada pembeli sesuai dengan informasi yang
tercantum dalam surat order pengiriman yang diterima
dari fungsi pengiriman.
d. Prosedur penagihan
Dalam prosedur ini, fungsi penagihan membuat faktur
penjualan dan mengirimkannya kepada pembeli.
64
e. Prosedur pencatatan piutang
Dalam prosedur ini, fungsi akuntansi mencatat
tembusan faktur penjualan ke dalam kartu piutang
atau dalam metode pencatatan tertentu mengarsipkan
dokumen tembusan menurut abjad yang berfungsi
sebagai pencatatan piutang.
f. Prosedur distribusi data penjualan
Dalam
prosedur
ini,
fungsi
akuntansi
mendistribusikan data penjualan menurut informasi
yang diperlukan oleh manajemen.
g. Prosedur pencatatan harga pokok penjualan
Dalam prosedur ini, fungsi akuntansi mencatat secara
periodik total harga pokok produk yang dijual dalam
periode akuntansi tertentu.
2.2.3.3 Dokumen pada sistem penjualan
Menurut Mulyadi (2001,p214), beberapa dokumen yang
digunakan dalam sistem penjualan secara kredit yaitu:
a. Surat order pengiriman dan tembusannya
b. Faktur dan tembusannya
c. Rekapitulasi harga pokok penjualan
d. Bukti memorial
65
2.2.4 PHP
PHP adalah sebuah server-side scripting language yang
dirancang secara khusus untuk web. Suatu halaman HTML dapat
dimasukkan kode PHP yang dapat dieksekusi setiap halaman tersebut
dikunjungi. Beberapa kelebihan PHP:
a) Performance (Kinerja)
PHP mempunyai kinerja yang sangat cepat untuk jutaan klik per
hari apalagi menggunakan single server yang tidak mahal.
b) Scalability
Secara efektif dan tidak mahal, PHP dapat dikembangkan dengan
jumlah server yang besar.
c) Database Integration
PHP mempunyai koneksi untuk banyak sistem basis data sejak
mulanya. Selain MySQL, PHP dapat langsung dihubungkan
dengan PostgreSQL, Oracle, dbm, FilePro, DB2, Hyperwave,
Informix, InterBase, dan Sybase databases. PHP 5 juga punya builtin SQL interface ke flat file yang bernama SQLite.
d) Built-in libraries for many common web tasks
e) Low cost
f) Ease of learning and use
g) Strong object-oriented support
h) Portability
i) Flexibility of development approach
j) Source code
66
Tidak seperti produk komersial untuk membuat program, pengguna
PHP dapat memodifikasi atau menambahkan kode program secara
bebas dan gratis, serta tidak perlu khawatir bila tidak perusahaan
produsen PHP akan menghentikan supporting untuk produk.
k) Availability of support and documentation
Dokumentasi PHP berasal dari sumber yang banyak dan matang
dengan jutaan informasi untuk dibagikan.
2.2.5 JavaScript
JavaScript merupakan bahasa berbentuk kumpulan script yang
berfungsi untuk memberikan tampilan yang tampak lebih interaktif
pada dokumen web. Bahasa ini memberikan kemampuan tambahan
untuk HTML (Hypertext Markup Language) dengan mengizinkan
pengeksekusian perintah-perintah pada sisi klien. JavaScript tidak
memerlukan
sebuah
kompilator/penerjemah
khusus
untuk
mengeksekusinya. JavaScript pertama kali dikembangkan di Netscape,
oleh Brendan Eich.
Kelebihan:
a. Lebih praktis dan mudah sebab bahasa pemrograman JavaScript
memiliki sedikit sintaks.
b. Koneksi cepat karena peletakan program terdapat di sisi klien,
berukuran file sangat kecil, dan dapat langsung dijalankan di
browser.
Kekurangan:
a. Pengelolaan objek dalam Javascript sangat terbatas.
67
b. Penggunaan script dapat di-copy langsung melalui sebuah web
browser, sehingga setiap orang dapat meniru dan menggunakan
program JavaScript yang telah dibuat seorang programmer.
2.2.6 Ajax
Ajax merupakan suatu teknik/metode pengambilan data dari
server menggunakan fungsi dalam Javascript, yaitu XML.HttpRequest
(XHR). XML.HttpRequest merupakan objek yang dirancang untuk
memungkinkan permintaan layanan ke server HTTP secara asinkron.
Asinkron berarti klien bisa meminta layanan dari server dan tidak perlu
menunggu server melayaninya. Jadi, walaupun informasi dari server
belum didapat, layanan kepada pengguna tetap bisa dilakukan.
Ajax
merupakan
gabungan
dari
teknik/teknologi
yang
sebelumnya sudah ada, yaitu:
a. XHTML (Extensible Hypertext Markup Language) yang merupakan
pengembangan dari HTML.
b. CSS (Cascading Style Sheet) untuk mengatur style/format tampilan
suatu dokumen di web.
c. XML (Extensible Markup Language) merupakan format data yang
memungkinkan untuk melakukan pertukaran data yang lebih
interaktif, XML dapat digantikan dengan JSON (Javascript Object
Notation).
d. DOM (Document Object Model) yang mengatur interaksi dan
tampilan isi HTML dan XML secara dinamis.
e. JavaScript merupakan bahasa utama yang membentuk lapisan Ajax.
68
Beberapa kelebihan ketika menggunakan Ajax:
a. Mengurangi penggunaan bandwidth yang berlebihan.
b. Meningkatkan produktivitas tanpa harus menunggu proses/action
yang berbelit-belit.
c. Menghemat biaya pengeluaran karena banyak mengurangi proses
pengembangan.
d. Meningkatkan interaksi user atau usability pada situs web.
Beberapa kekurangan dari Ajax:
a. Aplikasi Ajax tidak berfungsi apabila user mematikan JavaScript di
browser.
b. Tidak semua browser mendukung Ajax.
c. Karena alamat halaman tidak berubah ketika proses bekerja, maka
tidak mudah untuk membuat bookmark pada halaman web yang
berbasis Ajax.
2.2.6.1 JSON
JSON (JavaScript Object Notation) adalah format
pertukaran data yang ringan, mudah dibaca dan ditulis oleh
manusia, serta mudah diterjemahkan dan dibuat (generate)
oleh komputer. Format ini dibuat berdasarkan bagian dari
bahasa pemrograman JavaScript. JSON merupakan format teks
yang independen, tetapi menggunakan gaya bahasa yang
umum digunakan oleh keluarga C termasuk C, C++, C#, Java,
JavaScript, Perl, dll. Oleh karena itu, JSON menjadi ideal
sebagai bahasa pertukaran data.
69
JSON terbuat dari dua struktur:
a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa,
hal ini dinyatakan sebagai objek (object), rekaman
(record), struktur (struct), kamus (dictionary), tabel
hash (hash table), daftar berkunci (keyed list), atau
associative array.
b. Daftar nilai yang tersusun (an ordered list of values).
Pada kebanyakan bahasa, hal ini dinyatakan sebagai
larik (array), vektor (vector), daftar (list), atau urutan
(sequence).
2.2.7 NginX
Nginx (baca: Engine X) adalah server HTTP dan reverse proxy
gratis berbasis open-source berkemampuan tinggi, yang dapat juga
digunakan sebagai proxy IMAM/POP3. Perangkat lunak ini diciptakan
oleh Igor Sysoey pada tahun 2002, dan dirilis untuk pertama kalinya
secara umum pada tahun 2004. Saat ini Nginx digunakan oleh 6% (13
juta) nama domain di seluruh dunia.
Nginx terkenal karena performanya yang tinggi, stabil, memiliki
banyak fitur, mudah dikonfigur, dan menggunakan hanya sedikit
sumber daya pada server. Nginx memiliki arsitektur event-based.
Dikarenakan event-based, Nginx mampu memanfaatkan seminimal
mungkin thread untuk memproses request dari user, memori yang
dipakai oleh Nginx pun menjadi minimal. Karena memori yang dipakai
70
sangat kecil, hasilnya server menjadi lebih ringan dan jauh lebih
responsif.
Kekurangan:
a) Update yang cukup lama dibanding web server lainnya.
b) Fast CGI yang tidak berfungsi sempurna.
c) Kadangkala ada masalah pada .htaccess namun hal ini tergantung
dari konfigurasi webmaster-nya sendiri.
d) Pemakai tidak sebanyak Apache/IIS.
Kelebihan:
a) Open Source.
b) Performa yang tinggi dan stabil serta memiliki banyak fitur.
c) Konfigurasi yang cukup mudah. Menggunakan sedikit sumber daya.
d) Cenderung lebih kuat untuk hostingan banyak dibanding Litespeed.
2.2.8 PostgreSQL
PostgreSQL
Management
adalah
System
sebuah
(ORDBMS)
Object–Relational
yang
bersifat
open
Database
source.
PostgreSQL adalah database yang powerful dan tidak kalah dengan
database komersil sekelasnya baik Oracle maupun Sybase, seperti
dukungan perintah SQL dimana dengan menggunakan perintah SQL,
memungkinkan DBA lebih mudah berinteraksi dengan database
PostgreSQL, baik dalam manipulasi data seperti insert, update, dan
delete.
Perbedaan yang paling mendasar antar PostgreSQL dengan sistem
relasional standar adalah kemampuan PostgreSQL yang memungkinkan
71
user untuk mendefinisikan SQL-nya sendiri, terutama untuk pembuatan
function. Function dalam PostgreSQL sangat unik karena PostgreSQL
tidak menetapkan built-in language untuk penulisan function. Selain
function, PostgreSQL mempunyai kemampuan untuk membuat stored
procedure dan trigger yang menjadikan kinerja dari aplikasi yang
dibuat menjadi lebih optimal dalam kecepatan kinerjanya karena semua
proses business rules yang ada diproses di komputer server bukan di
komputer client. PostgreSQL menyerahkan kepada pemakai untuk
memilih sendiri bahasa yang diinginkan yang disebut Procedural
Language.
PostgreSQL ini dapat sebagai media penyimpanan pada banyak
bahasa pemrograman yang ada, baik itu pemrograman berbasis desktop
seperti: Java, Gambas, dll ataupun pemrograman berbasis web seperti
Phyton, PHP, JSP, Perl, dll. Library untuk ODBC dan JDBC juga telah
tersedia, sehingga bahasa lain yang mendukung keduanya dapat
mengakses PostgreSQL.
PostgreSQL didesain untuk skala besar, memiliki ciri berorientasi
objek, namun tetap dapat digunakan layaknya RDBMS pada umumnya.
Para pengembangnya mengutamakan kelengkapan fitur ketimbang
dukungan penuh akan standar SQL. Dalam perjalanannya, kelebihan
fitur ini justru membuat PostgreSQL semakin powerful dan
membuatnya dapat disejajarkan dengan database besar lainnya seperti
Oracle.
72
2.2.9 SLIM Framework
SLIM adalah framework (kerangka) mikro untuk php yang
membantu untuk memisahkan aplikasi web ke dalam arsitektur
modular. SLIM mendukung untuk fitur-fitur inti yang kuat dalam
ukurannya yang kecil, sangat cocok untuk penggunaan komponen yang
simple/sederhana dan mudah untuk digunakan. Beberapa fitur yang
tersedia adalah powerful router, simple configuration, error handling
and debugging, dsb.
SLIM
menggunakan
engine/mesinnya.
Template
Twig
sebagai
mesin
membantu
template
kode
untuk
berjalan
berkesinambungan dengan logika programming secara eksklusif sambil
menangani cara bagaimana untuk mempresentasikannya. Selain itu,
SLIM juga menggunakan Idiorm/Paris yang merupakan layer ORM
(Object Relational Mapping) yang sangat ringan untuk php. Hanya ada
satu kelas dan satu file dengan penggunaan mudah dan sederhana
namun tetap melakukan fungsinya dengan sangat baik. ORM sendiri
adalah cara atau teknik untuk memetakan object dari aplikasi ke tabel
basis data relasional. Object dari aplikasi akan dipetakan oleh ORM dan
diubah ke dalam sintaks SQL (Structured Query Language). Setelah itu,
SQL dijalankan pada basis data relasional dan hasilnya dikembalikan
menjadi object ke aplikasi oleh ORM tersebut.
Download