BAB 2 TINJAUAN PUSTAKA Teori Umum 2.1 Pengertian Database

advertisement
BAB 2
TINJAUAN PUSTAKA
Teori Umum
2.1 Pengertian Database
2.1.1 Basis Data
Menurut Connolly & Begg (2010 : 65), Database adalah suatu kumpulan
logika data yang saling berelasi dan deskripsi data yang didesain untuk
kebutuhan informasi untuk sebuah organisasi.
Dengan definisi di atas bisa dikatakan Database adalah suatu kumpulan
data yang saling berelasi satu sama lain untuk memenuhi kebutuhan informasi
perusahaan.
2.1.2 Sistem Basis Data
Menurut Connolly & Begg (2010 : 81) sistem Database adalah sistem
yang terdiri dari kumpulan dari program aplikasi yang berinteraksi dengan
database bersama dengan database Management System (DBMS) dan database
itu sendiri.
2.1.3 Database Management system (DBMS)
Menurut Connolly & Begg (2010 : 66), Database management system
adalah software (perangkat lunak) yang berinteraksi dengan aplikasi program dan
database dari user.
Pada umumnya, DBMS menyediakan fasilitas sebagai berikut:
7
8
a. Data Definition Language (DDL)
Menurut Connolly & Begg (2010 : 66), DDL adalah Bahasa dalam
DBMS
yang
digunakan
oleh
user
/
Database
Administrator
untuk
mendeskripsikan dan menamai entitas, atribut, dan relasi yang diperlukan
aplikasi.
b. Data Manipulation Language (DML)
Menurut Connolly & Begg (2010 : 66), DML adalah bahasa di dalam
DBMS yang menyediakan kumpulan operasi untuk memanipulasi database.
Operasi dalam data manipulation adalah terdiri dari: penambahan (insert),
pembaruan (update), penghapusan (delete), dan pemilihan data (select).
c. Pengendalian akses ke Database
Menurut Connolly & Begg (2010 : 66), fasilitas pengendalian akses ke
dalam database adalah sebagai berikut:
-
Sistem keamanan, mencegah pengguna yang tidak berhak mengakses
database.
-
Sistem integritas, mempertahankan konsistensi dari data yang disimpan.
-
Sistem kendali pemulihan (recovery), untuk mengembalikan database ke
keadaan sebelumnya yang lebih konsisten.
-
Catalog yang dapat diakses pengguna, berisi penjelasan dari data yang ada di
dalam database.
d.
Mekanisme View
Mekanisme view berfungsi sebagai memperbolehkan setiap user untuk
melihat database mereka. – Connolly & Begg (2010 : 67)
9
2.1.4 Komponen Utama Database Management System (DBMS)
Menurut Connolly & Begg (2010 : 68), komponen utama DBMS terbagi
menjadi lima, yaitu:
a. Perangkat Keras (hardware)
DBMS dan aplikasi membutuhkan perangkat keras untuk dijalankan.
Perangkat keras meliputi personal computer (PC), mainframe, jaringan komputer.
b. Perangkat lunak (software)
Komponen utama dari perangkat lunak adalah software DBMS itu sendiri
seperti mysql dan program aplikasi bersamaan dengan sistem operasinya
(windows, linux).
c. Data
Data merupakan komponen paling penting didalam DBMS. Data pada
sebuah basis data harus terintegrasi dan dapat digunakan secara bersamaan.
d. Prosedur (Procedure)
Pada prosedur ini lebih mengacu kepada instruksi dan aturan dalam
penggunaan basis data. Para pengguna sistem dan para staf memerlukan suatu
dokumen yang sudah diprosedur tentang bagaimana menggunakan dan
menjalankan sistem. Instruksi dapat berupa:
-
Log on DBMS
-
Menggunakan beberapa fasilitas DBMS atau program aplikasi
-
Memulai dan menghentikan DBMS
-
Membuat backup dari Database.
e. Manusia (People)
Manusia memegang peranan penting dalam menggunakan DBMS, antara
lain:
10
- DA (Data Administrator)
Adalah orang yang bertanggung jawab untuk mengatur sumber
data termasuk Database planning, pengembangan (developement), dan
pemeliharaan dari standarisasi, kebijakan dan desain logical atau physical
dari database.
- DBA (Database Administrator)
Adalah orang yang bertanggung jawab kepada bentuk fisik dari
Database, termasuk desain physical database dan implementasi,
keamanan dan kontrol integritas, pemeliharaan dari sistem operasional
dan memastikan kepuasan terhadap kinerja dari pengguna aplikasi.
- Database Designer
Terdapat dua Database Designer yaitu Logical Database
Designer dan Physical Database Designer.
- Application Developer
Bertanggung jawab pada saat database diimplementasikan, ikut
memastikan program aplikasi memenuhi kebutuhan fungsionalitas untuk
pengguna aplikasi dan database.
- End-User
End-User adalah klien untuk database yang telah di desain,
diimplementasi, dan dipelihara untuk melayani kebutuhan informasi.
2.1.5 Fungsi dari DBMS
Menurut Connolly & Begg (2010 : 99), fungsi dari DBMS antara lain:
a. Menyimpan, mendapatkan, dan memperbaharui data
11
Sebuah DBMS harus menyediakan kemampuan untuk menyimpan,
mendapatkan, dan memperbarui data di dalam database.
b. Katalog Akses Dari User
Sebuah DBMS harus menyediakan katalog untuk mendeskripsikan data
barang yang disimpan dan bisa di akses untuk user.
c. Pendukung Transaksi
Sebuah DBMS harus menyediakan mekanisme yang memastikan antara
memperbarui data yang saling berhubungan untuk membuat transaksi atau
tidak sama sekali.
d. Layanan Kontrol Konkurensi
Sebuah DBMS harus menyediakan mekanisme untuk memastikan
database sudah di update dengan benar ketika beberapa user memperbarui
data secara bersamaan.
e. Layanan Pemulihan (recovery)
Sebuah DBMS harus menyediakan mekanisme untuk memulihkan
database dari segala kerusakan.
f. Layanan Authorization
Sebuah DBMS harus menyediakan mekanisme untuk memastikan kalau
hanya user tertentu yang bisa akses ke dalam database.
g. Mendukung Komunikasi Data
Sebuah DBMS harus bisa mengintegrasikan dengan perangkat lunak
komunikasi.
h. Layanan Integritas
12
Sebuah DBMS harus memastikan data yang ada di dalam database dan
perubahan yang terjadi pada data tersebut mengikuti aturan tertentu.
i. Layanan untuk Mendukung Independensi Data
Sebuah DBMS harus mempunyai fasilitas untuk mendukung program
yang independen dari struktur database yang sebenarnya.
j. Layanan Utilitas
Sebuah DBMS harus menyediakan kumpulan layanan utilitas, karena ini
membantu DBA secara efektif.
2.1.6 Kelebihan dan Kekurangan dari DBMS
Menurut Connolly & Begg (2010 : 77-81) Kelebihan dan kekurangan dari
DBMS yaitu :
1.

Kelebihan dari DBMS :
Pengendalian data redudansi
Pendekatan database bisa menghilangkan redudansi dengan mengatur file
sehingga data yang sama tidak disimpan. Pendekatan database tidak
menghilangkan redudansi secara keseluruhan melainkan hanya mengatur
banyaknya data redudansi dalam database.

Konsistensi data
Data yang disimpan hanya sekali dalam database, ketika diupdate maka
nilai dari update tersebut harus terupdate untuk semua pengguna.

Mendapatkan lebih banyak informasi dari jumlah data yang sama
Dengan terintegrasinya data operasional, memungkinkan organisasi untuk
memperoleh informasi tambahan melalui data tersebut.
13

Berbagi data
Basis data suatu organisasi digunakan oleh pengguna yang memiliki
otorisasi. Sejauh ini, penggunaan data dalam membangun sebuah aplikasi
adalah data yang sudah disediakan, sedangkan untuk data yang akan
ditambahkan belum tentu masuk kedalam DBMS melainkan hanya
digunakan untuk mendefinisikan persyaratan yang ada. Aplikasi yang baru
juga dapat digunakan untuk definisi dan manipulasi data.

Meningkatkan integritas data
Database integrity berhubungan dengan validitas dan konsistensi dari
data yang sudah disimpan.

Meningkatkan keamanan
Keamanan database adalah perlindungan database dari pengguna yang
tidak dikenal.

Peningkatan standar mutu
Database Administrator bisa mendefinisikan dan memperkuat standar
yang sudah ada menjadi sebuah paten perusahaan.

Perhitungan ekonomi
Menghemat biaya dari penggunaan maintenance dan pembuatan dari filebased system.

Menyeimbangkan kebutuhan yang bertentangan
Database administrator dapat membuat keputusan untuk membuat desain
dan operational database yang menyediakan sumber yang beguna bagi
organisasi secara keseluruhan.
14

Meningkatkan akses data dan waktu respon
Data-data yang ada menjadi terhubung sehingga ketika ingin melakukan
pemeriksaan data oleh divisi satu dengan lainnya dapat dengan cepat diakses
dan dilihat.

Meningkatkan produktifitas
DBMS sangat membantu programmer untuk fokus mengerjakan fungsifungsi yang spesifik yang dibutuhkan oleh pengguna karena DBMS
menangani low-level implementation details.

Peningkatan pemeliharaan melalui data independent
DBMS memisahkan data yang dideskripsikan dengan aplikasinya,
sehingga pembuatan aplikasi tidak terpengaruh terhadap pergantian pada
data yang dideskripsikan.

Meningkatkan concurrency
Apabila ada dua atau banyak pengguna yang mengakses file yang sama
secara bersamaan, maka akan ada kemungkinan file tersebut bisa diubah atau
dihapus. Sehingga untuk mencegahnya DBMS mengatur akses database
yang concurrent dan mencegah masalah itu tidak terjadi lagi.

Peningkatan layanan backup dan recovery
Apabila ada terjadi error, maka backup bisa dilakukan untuk merestore
database ke settingan terakhir yg disimpan dalam backup tersebut.
2.
Kekurangan dari DBMS :

Kompleksitas
Semakin bagus DBMS yang digunakan maka sistemnya akan semakin
kompleks sehingga Database designers dan developers, data dan Database
15
administrator, dan pengguna harus mengetahui fungsi-fungsinya. Jika tidak
maka bisa terjadi pengambilan keputusan yang salah dan merugikan
perusahaan.

Ukuran
Kompleksitas dan fungsi-fungsi dari DBMS mempengaruhi seberapa
besar data bisa ditampung dalam hard disk dan memorynya.

Biaya dari DBMS
Biaya dari DBMS tergantung dari kondisi dan fungsi-fungsi yang
diinginkan oleh client.

Penambahan biaya hardware
Biaya ini terjadi ketika ingin menambahkan hardisk karena data yang
semakin banyak dan untuk mengganti komputer dengan spesifikasi yang
lebih baik.

Biaya konversi data
Biaya ini akan ada ketika mengganti ke DBMS yang baru, karena harus
melatih lagi karyawan agar bisa menggunakan DBMS yang baru.

Performa
Apabila ada banyak yang mengakses ke dalam DBMS maka performa
dari sistem akan menjadi lambat.

Resiko kegagalan yang besar
Karena sangat tergantung dengan DBMS apabila ada komponen yang
rusak maka akan menghentikan semua sistem nya.
16
2.1.7
Database System Development Lifecycle
Menurut Connoly & Begg (2010 : 313), Database System Development Lifecycle
berhubungan secara langsung dengan siklus hidup sistem informasi. Berikut ini adalah
gambaran tahap-tahap database system development lifecycle :
Gambar 2.1 –Diagram proses Database System Development Lifecycle. Sumber :
Connoly & Begg, Database Systems 5th, (2010, 314)
17
Perencanaan Database (Database Planning)
Menurut Connolly dan Begg (2010 : 313) Perencanaan Database adalah aktivitas
manajemen yang mengijinkan tahap-tahap dari Database system development lifecycle
di realisasikan se-efisien dan se-efektif mungkin.
Perencanaan Database harus diintegrasikan dengan keseluruhan sistem informasi
dari organisasi. Terdapat tiga masalah utama yang terlibat dalam formulasi sebuah
strategi sistem informasi, yaitu :

Identifikasi dari rencana dan tujuan perusahaan dengan diikuti penentuan
kebutuhan sistem informasi.

Evaluasi dari sistem informasi yang sudah ada untuk menentukan kekuatan dan
kelemahan yang sudah ada.

Perkiraan dari peluang IT yang mungkin menghasilkan keuntungan kompetitif.
Definisi Sistem (System definition)
Menurut
Connolly dan
Begg (2010
:
316),
definisi
sistem adalah
menggambarkan lingkup dan batasan dari aplikasi database dan pandangan pengguna
(user view) yang utama. Userview menegaskan aplikasi database apa yang dibutuhkan
untuk tugas tertentu seperti, untuk manajer atau supervisor atau bidang aplikasi
perusahaan seperti, pemasaran, personalia atau pengendalian persediaan.
Secara garis besar, di dalam definisi sistem harus terlebih dahulu ditentukan
batasan dan kemungkinan pemakai/pengguna database. Sehingga informasi untuk satu
pemakai dapat berbeda dengan pemakai lain tergantung kebutuhan.
Analisis dan Pengumpulan Kebutuhan (Requirements Collection and Analysis)
Menurut Connolly dan Begg (2010 : 316), analisis dan pengumpulan kebutuhan
adalah proses dari analisis dan pengumpulan informasi tentang bagian organisasi yang
akan dibuat aplikasi database dan menggunakan informasi ini untuk mengenali
kebutuhan pemakai dari sistem baru. Informasi didapat dengan metode pecarian fakta
(fact finding).
18
Fact Finding menurut Connolly dan Begg (2010 : 344) merupakan proses formal
menggunakan teknik seperti wawancara dan kuisioner untuk mengumpulkan fakta
tentang sistem, kebutuhan, dan keinginan. Lima metode fact finding yang dapat
digunakan yaitu:

Mempelajari dokumentasi (Documentation Examination), digunakan untuk
mendeskripsikan masalah dan kebutuhan database, bagian perusahaan yang
terpengaruh oleh masalah, dan sistem yang sedang berjalan dalam perusahaan.

Wawancara (Interview), untuk mengetahui secara jelas masalah dalam
perusahaan dengan bertanya langsung kepada pengguna sistem.

Observasi (Observing), melakukan pengamatan secara langsung ke perusahaan
yang bertujuan untuk memahami sistem yang berjalan dalam perusahaan.

Penelitian (Research), mengumpulkan hasil penelitian dari internet, jurnal, buku
yang berguna untuk memecahkan permasalahan.

Kuisioner (Questionnaires), mengumpulkan informasi dari orang-orang dalam
perusahaan dalam jumlah besar dan mempunyai respon yang berbeda-beda
terhadap permasalahan.
Perancangan Database (Database Design)
Menurut Connolly dan Begg (2010 : 320) perancangan Database adalah proses
membuat rancangan yang akan mendukung tujuan perusahaan dan tujuan dibuatnya
sistem database yang dibutuhkan.
Proses desain Database dibagi menjadi 3 tahap utama
a. Conceptual Database Design
Menurut Connolly dan Begg (2010 : 322) Perancangan Database Conceptual
adalah proses membangun model dari data yang akan digunakan di dalam
perusahaan, terlepas dari semua pertimbangan physical. Tahapan conceptual
database design dimulai dengan pembuatan model data konseptual dari
perusahaan, yang keseluruhannya terlepas dari detil-detil implementasi seperti
19
target DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras,
masalah kinerja, dan pertimbangan physical lainnya.
b. Logical Database Design
Menurut Connolly dan Begg (2010 : 323) perancangan Database Logical adalah
proses membangun model data yang akan digunakan di dalam perusahaan
berdasarkan model data spesifik, tetapi terlepas dari DBMS tertentu dan
pertimbangan physical lainnya. Tahapan logical database design memetakan
model konseptual ke dalam model logical, yang dipengaruhi oleh model data dan
target database (contohnya relational database). Model data logikal adalah
sumber dari informasi untuk tahapan perancangan fisik, menyediakan perancang
database fisik hal-hal yang penting dari desain sebuah database yang efisien.
c. Physical Database Design
Menurut Connolly dan Begg (2010 : 324) perancangan Database fisikal adalah
proses menghasilkan deskripsi dari implementasi database pada penyimpanan
sekunder. Menjelaskan relasi dasar, organisasi file, dan index yang digunakan
untuk mendapatkan akses data yang efisien, setiap integrity constraint yang
terkait dan perhitungan keamanan. Tahapan physical database design
mengijinkan perancang untuk membuat keputusan bagaimana database
diimplementasi. Physical design akan terikan ke dalam sebuah DBMS yang
spesifik. Akan ada feedback antara rancangan fisikal dan logikal, karena
keputusan yang diambil selama perancangan fisikal untuk meningkatkan kinerja
database dapat mempengaruhi model data logikal.
Pemilihan DBMS (DBMS Selection)
Menurut Connolly dan Begg (2010 : 325), DBMS selection adalah memilih
DBMS yang sesuai untuk mendukung aplikasi Database. Pemilihan DBMS dilakukan
antara tahapan Logical Database Design dan Conceptual Database Design. Tujuan dari
pemilihan DBMS adalah untuk kecukupan sekarang dan kebutuhan masa mendatang
20
pada perusahaan, membuat keseimbangan biaya termasuk pembelian produk DBMS,
piranti lunak/perangkat keras lainnya untuk mendukung aplikasi database, biaya yang
berhubungan dengan perubahan dan pelatihan pegawai.
Tahap-tahap utama untuk memilih DBMS :
-
Mendefinisikan terminologi studi referensi
-
Mendaftar dua atau tiga produk
-
Evaluasi produk
-
Rekomendasi pilihan dan laporan produk.
Desain Aplikasi (Application Design)
Menurut Connolly dan Begg (2010 : 329), perancangan aplikasi (application
design) adalah merancang antarmuka pemakai (user interface) dan program aplikasi,
yang akan memproses database. Perancangan database dan perancangan aplikasi adalah
aktivitas yang dilakukan secara bersamaan pada database application lifecycle. Dalam
kasus sebenarnya, tidak mungkin dapat menyelesaikan perancangan aplikasi sebelum
perancangan database selesai.
Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari
spesifikasi kebutuhan pemakai (user requirement spesification) yang menyangkut
perancangan aplikasi program yang mengakses database dan merancang transaksi yaitu
cara akses ke database dan perubahan terhadap isi database (retrieve, update dan
kegiatan keduanya). Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan
merancang antarmuka pemakai yang tepat. Antarmuka yang dirancang harus
memberikan informasi yang dibutuhkan dengan cara menciptakan user-friendly.
Prototyping
Menurut Connolly dan Begg (2010 : 333), prototyping adalah membuat model
kerja dari aplikasi basis data, yang memungkinkan perancang atau pemakai untuk
21
mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki
sistem.
Implementasi (Implementation)
Menurut Connolly dan Begg (2010 : 333), implementasi (implementation) adalah
mendefinisikan basis data secara eksternal, konseptual, dan internal. Implementasi
merupakan realisasi dari database dan perancangan aplikasi.
Implementasi database dicapai menggunakan Data Definition Language (DDL)
dari DBMS yang dipilih atau Graphical User Interface (GUI). Pernyataan DDL
digunakan untuk membuat struktur database dan file database kosong. Pandangan
pengguna (user view) lainnya juga diimplementasikan dalam tahapan ini. Bagian dari
aplikasi program adalah transaksi
database
yang diimplementasikan dengan
menggunakan Data Manipulation Language (DML) dari sasaran DBMS.
Data Conversion and Loading
Menurut Connolly dan Begg (2010 : 334), data conversion and loading adalah
mengambil data dari sistem yang lama untuk dipindahkan kedalam sistem yang baru.
Tahapan ini dibutuhkan ketika sistem database baru menggantikan sistem yang lama.
DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada kedalam
database baru. Kegunaan ini memungkinkan pengembang untuk mengkonversi dan
menggunakan aplikasi program lama untuk digunakan oleh sistem baru. Ketika
conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan
kelancaran transaksi dari keseluruhan operasi.
Uji Coba (Testing)
Menurut Connolly dan Begg (2010 : 334), testing adalah proses menjalankan
program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi
database yang baru dikembangkan harus diuji secara menyeluruh. Untuk mencapainya
harus hati-hati dalam menggunakan perencanaan strategi uji dan menggunakan data asli
22
untuk semua proses pengujian. Di dalam definisi testing ini tidak menggunakan
pandangan yang biasa, testing adalah proses demonstrasi tanpa kesalahan. Dalam
kenyataannya testing tidak luput dari kesalahan. Jika testing menunjukkan keberhasilan,
maka pengujian akan menemukan kesalahan pada program aplikasi dan mungkin
struktur database-nya.
Pemeliharaan Operasional (Operational Maintenance)
Menurut Connolly dan Begg (2010 : 335) operational maintenance adalah proses
memantau dan memelihara sistem setelah di-install. Pada tahapan sebelumnya, database
benar-benar diuji dan diimplementasikan. Sekarang sistem beralih pada tahapan
pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan adalah sebagai
berikut :

Memantau kinerja dari sistem. Jika kinerjanya menurun di bawah level yang
dapat diterima, mungkin basis data perlu diperbaiki.

Memelihara dan upgrade aplikasi database-nya (jika diperlukan).
2.1.8 Keamanan dan Integritas Database
Keamanan database menurut Connolly (2010 : 568) adalah suatu mekanisme
yang melindungi database terhadap serangan/ancaman yang disengaja atau tidak
disengaja. Data merupakan sumber daya bernilai yang harus di atur dan diawasi secara
ketat bersama dengan sumber daya perusahaan. Sebagian atau keseluruhan data
perusahaan mempunyai kepentingan strategis dan karena itu harus dijaga agar tetap
aman dan rahasia.Pertimbangan keamanan tidak hanya diaplikasikan pada data yang ada
dalam database. Pelanggaran terhadap keamanan dapat mempengaruhi bagian lain dari
sistem, yang akan memberi timbal balik terhadap database.
Keamanan database terkait dengan keadaan berikut :
-
Pencurian dan penipuan (theft and fraud)
-
Kehilangan kerahasiaan (loss of confidentiality)
23
-
Kehilangan keleluasaan pribadi (loss of privacy)
-
Kehilangan integritas (loss of integrity)
-
Kehilangan ketersediaan (loss of availability)
2.1.9 Normalisasi
Menurut Connolly dan Begg (2010 : 416) Normalisasi adalah teknik untuk
menghasilkan kumpulan relasi dengan properti yang diinginkan, sesuai keinginan data
dari suatu perusahaan.Tujuan normalisasi adalah untuk mengidentifikasi himpunan relasi
yang cocok dan dapat mendukung kebutuhan data perusahaan. Karateristik data yang
cocok untuk perusahaan adalah sebagai berikut :

Jumlah minimal dari atribut yang dibutuhkan untuk mendukung kebutuhan data
dari perusahaan.

Atribut dengan logical relationship yang dekat ditemukan dalam relasi yang
sama.

Redudansi yang minimal dengan setiap atribut direpresentasikan hanya sekali.
Keuntungan menggunakan database yang memiliki himpunan relasi yang cocok
akan membuat pengguna lebih mudah mengakses database, memelihara data, dan hanya
membutuhkan sedikit ruang didalam penyimpanan komputer.
Secara umum Normalisasi dibagi menjadi tiga tingkatan, yaitu bentuk normal
pertama (1NF) berdasarkan penghapusan repeating group, bentuk normal kedua (2NF)
berdasarkan pada ketergantungan parsial (partial depedencies), dan bentuk normal
ketiga (3NF) yang berdasarkan pada penghapusan ketergantungan transistif (transitive
depedencies).
Bentuk Normal pertama (The First Normal Form/ 1NF)
Menurut Connolly dan Begg (2010 : 430), Unomalized form (UNF) adalah
sebuah tabel yang mengandung lebih dari satu bagian yang berulang (repeating group).
24
Bentuk normal pertama adalah suatu hubungan di mana irisan (intersection) dari
setiap baris dan kolom hanya mengandung satu nilai. Relasi antar atribut kunci dan non
kunci seharusnya adalah 1 to 1 atau 1 to many. Untuk mengubah tabel UNF ke dalam
bentuk normal pertama (1NF) harus mengidentifikasi dan menghilangkan bagian yang
berulang (repeating group) pada tabel. Sebuah repeating group adalah sebuah atribut
atau kumpulan atribut pada suatu tabel yang terdapat lebih dari satu nilai (multiple)
untuk sebuah occurrence tunggal dari kunci (key) atributnya yang ditunjuk dalam tabel.
Ada dua pendekatan umum untuk menghilangkan repeating group pada tabel
UNF, antara lain :
-
Pendekatan pertama, dengan menghilangkan repeating group dengan memasukkan
data yang berlebihan ke dalam kolom dan baris kosong. Sehingga hasil dari tabel
nantinya hanya mengandung nilai atomic (tunggal).
-
Pendekatan kedua, menghilangkan repeating group dengan menempatkan data yang
berlebihan, selanjutnya dengan meng-copy atribut kuncinya yang asli dalam sebuah
relasi yang dipisahkan.
Kedua pendekatan ini benar. Tetapi, pada pendekatan kedua, awalnya akan
menghasilkan relasi yang paling sedikit pada 1NF dengan mengurangi redundansi. Jika
menggunakan pedekatan pertama, relasi dari 1NF adalah buruk selanjutnya, selama
langkah normalisasi berikutnya akan menghasilkan relasi yang sama yang dihasilkan
oleh pendekatan kedua. Akan tetapi hasil dari normalisasi bentuk pertama masih bisa
menyebabkan update anomalies, sehingga diperlukan normalisasi ketahapan selanjutnya
yang dinamakan bentuk normal kedua (2NF).
Bentuk Normal kedua (The Second Normal Form/ 2NF)
Menurut Connolly dan Begg (2010 : 434), bentuk normal kedua adalah
berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full
functional dependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi, B
adalah fungsional ketergantungan penuh (fully functional dependency) pada A, tetapi
bukan merupakan himpunan bagian dari A. Jelasnya bentuk normal kedua adalah suatu
25
relasi di dalam bentuk normal pertama dan setiap atribut yang bukan primary key (nonprimary key) adalah secara fungsional bergantung pada primary key. Proses normalisasi
dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian yang memiliki
ketergantungan.
Bentuk Normal ketiga (The Third Normal Form/ 3NF)
Menurut Connolly dan Begg (2010 : 435), bentuk normal ketiga adalah
berdasarkan pada konsep peralihan ketergantungan (transistive dependency). Transitive
dependency adalah sebuah kondisi dimana A, B dan C adalah atribut dari sebuah relasi
bahwa jika A B dan B C, maka C adalah secara transitif bergantung pada A melewati B
(menyatakan bahwa A tidak secara fungsional tergantung pada B atau C).
Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua
dan di mana tidak ada atribut non-primary key secara transitif bergantung (transitively
dependent) pada primary key. Proses normalisasi dari relasi 2NF ke 3NF melibatkan
penghilangan dari ketergantungan transitif. Jika sebuah ketergantungan transitif muncul,
maka dihilangkan ketergantungan transitif antara atributnya dengan menempatkan
atribut tersebut ke dalam relasi baru, selanjutnya dengan sebuah salinan dari
determinannya.
2.1.10 Entity-Relationship Modelling
Menurut Connolly dan Begg (2010 : 371), Entity-Relationship Modelling
merupakan pendekatan top-down untuk desain basis data yang dimulai dengan
mengidentifikasi data penting yang disebut entitas dan relasi antara data yang harus
direpresentasikan dalam model. Kemudian menambahkan data yang lebih rinci seperti
informasi yang ingin digunakan mengenai entitas, relasi, dan atribut.
26
Gambar 2.2 – Diagram Entity Relationship Modelling
Entity types
Menurut Connolly dan Begg (2010 : 372), entitas adalah sekumpulan objek
dengan property (sifat) yang sama, yang diidentifikasikan oleh organisasi yang
keberadaannya bebas (independent existence) dan keberadaannya dapat berupa fisik
maupun abstrak. Sedangkan entity concurrence adalah sebuah objek dari satu tipe entitas
yang dapat diidentifikasi secara unik.
Nama Entitas
Staff
Cabang
Gambar 2.3 – Representasi Diagram Entity Types
27
Strong dan Weak Entity
Menurut Connolly dan Begg (2010 : 383), tipe entitas dapat diklasifikasikan
menjadi :
1. Tipe entitas kuat, yaitu tipe entitas yang keberadaannya tidak bergantung pada
tipe entitas lain.
2. Tipe entitas lemah, yaitu tipe entitas yang keberadaannya bergantung pada tipe
entitas lain.
Entitas lemah
Entitas kuat
Klien
- NoKlien
- Nama
- Alamat
Kesukaan
Menyatakan
- JenisKesukaan
- Sewa maksimum
Gambar 2.4 – Representasi Diagram Tipe Entitas Kuat dan Tipe Entitas Lemah
Relationship types
Menurut Connolly dan Begg (2010 : 374), Relationship types adalah sekumpulan
entitas yang berhubungan dan mempunyai arti (meaningful associations) antara tipe
entitas yang ada.
Relationship
occurrence
merupakan
sebuah
keterhubungan
yang
diidentifikasikan secara unik yang meliputi suatu kejadian dari setiap entitas yang ada.
28
Relationship Name
Staff
Cabang
Mempunyai
Cabang mempunyai staff
Gambar 2.5 – Representasi Diagram relationsip types
Degree of relationship yaitu jumlah tipe entitas yang ada dalam suatu relasi.
Degree of relationship terdiri dari:
1. Binary Relationship
Keterhubungan antara dua tipe entitas
Gambar 2.6 – Binary Relationship
2. Ternary Relationship
Keterhubungan antara tiga tipe entitas
29
Gambar 2.7 – Ternary Relationship
3. Quarternary Relationship
Keterhubungan antara empat tipe entitas
Gambar 2.8 – Quartenary Relationship
Recursive Relationship adalah keterhubungan antara satu tipe entitas, dimana
tipe entitas yang sama ikut serta lebih dari satu kali dengan peran yang berbeda.
30
Gambar 2.9 – Recursive Relantionship
Attributes
Menurut Connolly dan Begg (2010 : 379), atribut adalah sebuah sifat dari entitas
atau relasi.
Gambar 2.10 – Entitas dengan Atribut
Attribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih
atribut. Atribut dapat diklasifikasikan menjadi lima jenis, yaitu:
1. Simple attributes adalah sebuah atribut yang terdiri dari komponen tunggal yang
mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih
kecil lagi. Dikenal juga dengan nama atomic attributes.
31
2. Composite attributes adalah sebuah atribut yang terdiri dari beberapa komponen,
dimana masing-masing komponen mempunyai keberadaan yang bebas.
3. Single-valued attributes adalah atribut yang memiliki nilai tunggal untuk setiap
kejadian dari tipe entitas.
4. Multi-valued attributes adalah atribut yang memiliki beberapa nilai untuk setiap
kejadian dari tiap tipe entitas.
5. Derive attributes adalah atribut yang memiliki nilai yang dihasilkan dari satu
atau sekelompok atribut yang berhubungan dan tidak harus berasal dari satu
entitas.
Keys
Menurut Connolly dan Begg (2010 : 381), key adalah sebuah field yang
digunakan untuk mengidentifikasi satu atribut atau lebih yang secara unik
mengidentifikasi setiap record.
Candidate key adalah kunci yang secara unik mengenali setiap kejadian didalam
tipe entitas. Sebuah candidate key tidak boleh null. Sebuah entitas boleh memiliki lebih
dari satu candidate key.
Primary key adalah candidate key yang terpilih untuk mengidentifikasikan secara
unik sebuah kejadian dari setiap entitas. Biasanya terdapat lebih dari satu candidate key
yang harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada
panjang atribut, jumlah minimal atribut yang dibutuhkan, dan memenuhi syarat yang
unik.
Alternate key adalah candidate key yang tidak dipilih sebagai primary key.
Composite key yaitu candidate key yang terdiri dari dua atau lebih atribut. Pada
kondisi tertentu, suatu atribut tidak dapat digunakan untuk mengidentifikasi baris secara
unik dan membutuhkan kolom lain untuk digunakan sebagai primary key.
Foreign key adalah sebuah primary key pada sebuah entitas yang digunakan pada
entitas lain untuk mengidentifikasi sebuah relationship.
32
Structural Constraint
Menurut Connolly dan Begg (2010 : 385), batasan-batasan yang menggambarkan
pembatasan pada relationship seperti yang ada pada dunia nyata harus diterapkan pada
tipe entitas yang ikut serta dalam sebuah relationship. Tipe utama dari batasan hubungan
didalam suatu relationship disebut multiplicity.
Multiplicity adalah jumlah kejadian yang mungkin terjadi pada entitas yang
terhubung ke satu kejadian dari entitas lain dari suatu relationship.
Derajat yang biasa digunakan dalam suatu relationship adalah binary
relationship yang terdiri atas:
1. Hubungan one to one (1 : 1)
Setiap relationship menggambarkan hubungan antara sebuah entity occurrence
pada entitas yang satu dengan entity occurrence pada entitas lainnya yang ikut serta
dalam relationship tersebut.
Hubungan one to one (1 : 1) dapat terjadi bila setiap entitas pada himpunan
entitas A berhubungan paling banyak satu entitas pada himpunan entitas B, dan
sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak satu
entitas dengan satu entitas pada himpunan entitas A.
2. Hubungan one to many (1 : *)
Setiap relationship menggambarkan hubungan antara sebuah entity occurrence
pada entitas yang satu dengan satu atau lebih entity occurrence pada entitas lainnya
yang ikut serta dalam relationship tersebut.
Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak
entitas pada himpunan entitas B. Namun, setiap entitas pada himpunan entitas B
hanya dapat berhubungan dengan paling banyak satu entitas pada himpunan entitas
A.
3. Hubungan many to many (* : *)
Setiap relationship menggambarkan hubungan antara satu atau lebih entity
occurrence pada entitas lainnya yang ikut serta dalam relationship tersebut.
33
Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak
entitas pada himpunan entitas B. Dan sebaliknya, setiap entitas pada himpunan
entitas B hanya dapat berhubungan dengan banyak entitas pada himpunan entitas A.
Integrity Constraint
Menurut Connolly dan Begg (2010 : 153-155), Integrity Constraint adalah
constraint yang memaksa untuk melindungi database supaya tidak menjadi tidak
lengkap, tidak akurat, dan tidak konsisten. Ada beberapa pertimbangan dalam
merepresentasikan integrity constraint, yaitu:
1. Required data: Memastikan atribut-atribut tertentu yang tidak diperbolehkan
bernilai null..
2. Entity Integrity: Memastikan primary key suatu entitas tidak bernilai null..
3. Attribute domain constraint: menentukan domain (nilai yang diperbolehkan)
untuk tiap-tiap atribut.
4. General Constraint: Batasan yang berasal dari persyaratan-persyaratan bisnis
perusahaan.
5. Referential Integrity: Memastikan nilai yang tersimpan dalam atribut foreign key,
menunjuk row tertentu pada parent entity-nya.
2.2 Teori Khusus
2.2.1 Teori Penjualan
Dalam jurnal “Analisis dan Perancangan Sistem Informasi Persediaan,
Pembelian, dan Penjualan Pada Toko Sinar Jaya” oleh Wawan Saputra,
penjualan adalah suatu aktivitas perusahaan yang utama dalam memperoleh
pendapatan baik untuk perusahaan besar maupun perusahaan kecil.
34
2.2.2 Teori Persediaan
Dalam jurnal “Pengembangan Aplikasi Sistem Basis Data Penjualan,
Pembelian, dan Persediaan: Studi Kasus Pada PT. Speed Game” oleh Honni;
Ryan Ferdy Marcelino; dan Yohanes Radjali, sistem persediaan bertujuan untuk
mencatat mutasi tiap jenis persediaan yang ada di dalam gudang.
Dalam jurnal “Inventory: The Necessary Evil?”, persediaan adalah bagian
penting dari manajemen, dan sangat dibutuhkan juga. Melalui sistem supply
chain, dan akhirnya diletakkan di gudang dan rak-rak di toko.
Menurut Brigham dan Houston (2006 : 158-159), persediaan, dapat
diklasifikasikan pasokan, bahan baku, barang dalam proses, dan barang jadi,
adalah bagian yang penting dari hampir seluruh operasi bisnis. Seperti halnya
dengan piutang, tingkat persediaan akan sangat tergantung pada penjualan. Akan
tetapi, berbeda dengan
piutang yang bertambah setelah penjualan terjadi,
persediaan harus dibeli sebelum penjualan terjadi. Ini adalah perbedaan yang
sangat penting, dan perlunya peramalan penjualan sebelum menentukan tingkat
persediaan sasaran menjadikan manajemen persediaan sebagai aktivitas yang
sulit untk dilakukan. Selain itu, karena kesalahan-kesalahan dalam menentukan
tingkat persediaan dapat dengan cepat menyebabkan kehilangan penjualan
maupun biaya penyimpanan yang berlebihan, manajemen persediaan memiliki
arti penting yang sama dengan tingkat kesulitan.
2.2.3 Sistem Pengendalian Persediaan
Menurut Brigham dan Houston (2006 : 164-165), manajemen persediaan
membutuhkan dibentuknya suatu sistem pengendalian persediaan (inventory
control system). Sistem pengendalian persediaan dapat berbentuk sangat
sederhana sampai luar biasa kompleks, tergantung ukuran perusahaan dan sifat
persediaannya.
35
2.2.4 Data Flow Diagram (DFD)
Menurut Whitten
& Jeffrey (2007 : 317), DFD adalah alat yang
menggambarkan aliran data yang berjalan di dalam sistem dan pemrosesan data
dari sistem tersebut.
Simbol DFD
Empat simbol dasar pada DFD adalah persegi, lingkaran, tanda panah,
dan persegi yang salah satu ujungnya terbuka (terbuka di sebelah kanan).
Gambar 2.11 – Simbol External Agent pada DFD

Simbol persegi digunakan untuk menggambarkan External Agent.
Gambar 2.12 – Simbol Proses pada DFD

Simbol lingkaran menggambarkan proses dari bentuk yang digunakan oleh
DeMarco/Yourdon.
.
36
Gambar 2.13 – Simbol Data Flow pada DFD

Simbol tanda panah menggambarkan aliran data atau input/output, menuju dan
dari proses.
Gambar 2.14 – Simbol Data Store pada DFD

Simbol persegi panjang yang salah satu ujungnya terbuka menggambarkan Data
Store. Data Store menggambarkan satu entitas pada data model.
2.2.5 State Transition Diagram (STD)
Menurut Whitten & Jeffrey (2007 : 635) STD digunakan untuk
menggambarkan urutan dan variasi dari layar yang dapat terjadi ketika pengguna
berperan sebagai pengendali sistem.
2.2.6 Delapan Aturan Emas Perancangan Antarmuka
Menurut Shneiderman & Plaisant (2010 : 88-89) ada delapan prinsip
yang disebut aturan emas yang dapat diterapkan dalam sistem interaktif, 8 aturan
emas ini adalah :
1. Berusaha untuk Konsisten
Aturan ini adalah yang paling sering dilanggar, tapi nantinya bisa rumit
karena ada banyak bentuk konsistensi. Konsisten urutan tindakan harus
diperlukan dalam situasi yang sama, istilah yang sama harus digunakan dalam
37
petunjuk, menu, dan help screen, dankonsisten warna, tata letak, kapitalisasi,
font, tampilan, dan lain-lain.
2. Memenuhi Penggunaan yang Universal
Mengetahui kebutuhan dari pengguna yang berbeda, dari pemula sampai
pengguna ahli. Misalnya menambahkan penjelasan bagi yang masih pemula
dalam mencoba antar mukanya, dan untuk yang pengguna ahli, diberi tombol
shortcut untuk mempercepat tugasnya.
3. Memberikan Umpan Balik yang Informatif
Untuk setiap aksi yang dilakukan oleh pengguna, beberapa di antaranya
harus mempunyai sistem feedback. Untuk aksi yang sering dan sederhana, maka
respon yang diberikan juga sederhana, tetapi jika aksi yang jarang dan besar
maka respon juga harus lebih banyak dan rinci.
4. Merancang Dialog yang Menghasilkan Keadaaan Akhir
Urutan aksi harus dibagi menjadi awal, tengah, dan akhir. Dengan
adanya umpan balik, pengguna dapat merasa lebih merasa aman dalam
melakukan sebuah tindakan dengan memberikan gambaran hasil akhir dari suatu
pilihan, serta pemberian banyak pilihan kepada pengguna sehingga bisa ikut
serta dalam mempengaruhi hasil akhir. Contoh, sebuah situs web e-commerce
memindahkan pengguna dari pemilihan produk ke kasir, berakhir dengan sebuah
halaman konfirmasi yang jelas untuk melengkapi transaksi.
5. Mencegah Kesalahan
Suatu sistem harus dirancang agar kesalahan yang dibuat pengguna dapat
ditekan seminimal mungkin, dan pesan kesalahan yang dimunculkan harus dapat
dimengerti oleh pengguna awam. Jika pengguna membuat kesalahan, antarmuka
harus mendeteksi kesalahan dan menawarkan instruksi yang sederhana,
membangun, dan spesifik untuk mengatasi kesalahan tersebut. Contoh,
pengguna seharusnya tidak perlu mengetik ulang bentuk, seperti nama, alamat,
38
tanggal lahir, jenis kelamin jika mereka memasukkan kode pos yang tidak valid,
melainkan harus dibimbing untuk memperbaiki hanya bagian yang rusak, yaitu
kode pos.
6. Mengizinkan Pengguna untuk Pengulangan Aksi (undo) dengan Mudah
Aksi harus dapat dibalikkan menjadi keadaan sebelumnya sehingga
membuat pengguna merasa aman karena ia tahu bahwa kesalahan yang dibuat
dapat diperbaiki.
7. Mendukung Pengguna untuk Menjadi Pengendali Sistem
Pengguna yang sudah berpengalaman pasti menginginkan perasaan kalau
mereka yang memegang kendali dari antarmuka dan mengharapkan feedback
yang ditampilkan harus sesuai dengan aksinya. Mereka tidak ingin dikejutkan
dengan perubahan yang signifikan.
8. Mengurangi Ingatan Jangka Pendek
Manusia hanya dapat mengingat tujuh info ditambah atau dikurang dua
info pada suatu waktu. Batasan ini berarti suatu sistem harus dibuat sesederhana
mungkin sehingga tidak membuat seorang pengguna bingung karena terlalu
banyak info. Dan apabila diperlukan, akses online ke bentuk perintah sintaks,
singkatan, kode, dan informasi lainnya harus disediakan fasilitasnya.
2.2.7 Lima Faktor Manusia Terukur
Menurut Shneiderman & Plaisant (2010 : 32) terdapat Lima faktor
manusia terukur yaitu :
1. Waktu untuk Belajar
Berapa lama pengguna dapat belajar dan memahami bagaimana
menjalankan aksi untuk setiap tugas yang ada.
39
2. Kecepatan Performa
Berapa lama suatu tugas dapat diselesaikan.
3. Banyaknya Error
Berapa banyak error yang terjadi dalam menjalankan suatu tugas.
4. Ingatan Pengguna
Bagaimana pengguna masih dapat mengingat tugas-tugas aplikasi setelah
sehari atau seminggu.
5. Kepuasan Pribadi
Bagaimana tingkat kepuasan pengguna setelah mencoba aplikasinya.
2.2.8 Flowchart
Menurut Lesley Anne Robertson (2006, p264), flowchart adalah metode
alternatif dalam merepresentasikan algoritma. Flowchart sering dipakai karena
merepresentasikan logika program secara grafik melalui simbol geometris yang
umum dan garis yang terhubung.
Simbol Flowchart
Ada empat simbol dasar pada flowchart yang akan digunakan untuk
merepresentasikan algoritma, yaitu; oval, persegi panjang, belah ketupat, dan
tanda panah.

Simbol oval yang menunjukkan simbol terminal, yang menandakan mulai dan
berhentimya pada sebuah logika.
Gambar 2.15 Simbol Terminal pada Flowchart
40

Simbol kotak yang menunjukkan simbol proses yang merepresentasikan setiap
proses pada algoritma.
Gambar 2.16 Simbol Proses pada Flowchart

Simbol belah ketupat menunjukkan keputusan di dalam logika yang melibatkan
perbandingan antara dua nilai.
Gambar 2.17 Simbol Keputusan pada Flowchart

Simbol tanda panah digunakan untuk menghubungkan antar simbol di dalam
flowchart
.
Gambar 2.18 Simbol Flowlines pada Flowchart
Download