6
BAB 2 LANDASAN TEORI 2.1. Teori Khusus 2.1.1. Database Menurut Connolly and Begg (2010, p65), database adalah suatu kumpulan dari data yang saling terkait secara logis dan merupakan deskripsi dari data, yang dirancang agar dapat memenuhi kebutuhan dari organisasi. Menurut Jeffrey A. Hoffer (2005,p46), database adalah sebuah koleksi data yang terorganisasi secara logical Bedasarkan dari pengertian di atas,maka dapat disimpulkan bahwa database merupakan sebuah koleksi data yang terorganisasi secara logical untuk memenuhi kebutuhan informasi.
7
Gambar 2.1 Struktur Sistem Basis Data (Sumber : Wijaya D. R., Praktikum Sistem Manajemen Basis Data, 2009) Gambar di atas menerangkan komponen-komponen fungsional dari sebuah sistem basis data di mana sebuah basis data dapat dibagi menjadi dua komponen menjadi query processor dan storage manager yang setiap komponen memiliki bagian masing-masing untuk menjalankan fungsi masing-masing dalam menjalankan sistem basis data dalam mengatur data dan membuat sebuah query. Komponen-komponen fungsional dari sebuah sistem basis data dibagi menjadi dua, yaitu komponen query processor dan komponen storage manager.
8
a. Query processor terdiri atas: 1. DML compiler Menerjemahkan perintah DML pada suatu query ke dalam instruksi level rendah yang dimengerti oleh mesin evaluasi query. Dengan kata lain, DML compiler berusaha mengubah suatu permintaan user menjadi bentuk yang ekuivalen namun lebih efisien sekaligus juga menentukan sebuah strategi yang tepat untuk mengeksekusi query tersebut. 2. Embedded DML Precompiler Mengkonversi perintah DML yang embed pada sebuah program aplikasi ke procedure call yang normal dalam bahasa host. Precompiler ini harus berinteraksi dengan DML compiler untuk menghasilkan kode yang sesuai.
3. DDL interpreter Menginterpretasikan perintah DDL dan mencatatnya dalam sekumpulan tabel yang mengandung metadata. 4. Query Evaluation Engine Mengeksekusi instruksi level rendah yang dihasilkan oleh DML compiler.
9
b. Komponen storage manager terdiri atas: 1. Manajer otorisasi dan integritas Menguji integritas dari constraint yang ada serta otoritas user untuk mengakses data. 2. Manajer transaksi Meyakinkan basis data tetap pada kondisi konsisten (benar) saat terjadi kegagalan sistem serta meyakinkan bahwa eksekusi dari transaksi yang konkuren (terjadi “bersamaan”) berlangsung tanpa adanya konflik. 3. Manajer file Mengelola alokasi ruang pada disk penyimpanan struktur data yang digunakan untuk mewakili informasi yang disimpan pada disk. 4. Manajer buffer Bertanggung jawab untuk mengambil data dari disk penyimpanan ke dalam memori utama serta menetukan data yang mana yang akan ditempatkan di memory.
2.1.2. Fact Finding Technique Dalam sebuah sistem basis data, diperlukan sistem untuk menangani masalah-masalah yang muncul. Untuk itu dapat dilakukan fact finding technique untuk mencari masalah-masalah tersebut.
10
Menurut Connolly and Begg (2010, p317), teknik fact finding adalah : 1.
Dokumentasi Dokumentasi diperlukan untuk menyediakan informasi perusahaan yang berkaitan dengan masalah yang dihadapi dengan cara mempelajari dokumen-dokumen, laporan dan file yang berkaitan dengan sistem yang ada.
2.
Wawancara Wawancara merupakan suatu teknik untuk memperoleh informasi dari sumbernya secara langsung. Keuntungannya adalah untuk menemukan fakta dan mengidentifikasi kebutuhan, serta memperoleh ide-ide secara langsung dari sumbernya.
3.
Observasi Observasi merupakan teknik yang secara langsung digunakan untuk memantau dan mempelajari tindakan seseorang untuk memahami sebuah sistem dengan cara terjun langsung ke lapangan. Riset Melakukan riset terhadap suatu masalah yang sedang dihadapi. Hasil riset
dapat
menyediakan
informasi-informasi
penting
tentang
bagaimana orang lain memecahkan masalah yang serupa dengan teknik-teknik tertentu.
11
4.
Kuisioner Kuisioner adalah sebuah teknik dengan pengunaan dokumen yang diberikan langsung kepada beberapa orang yamg biasa disebut koresponden untuk memperoleh fakta-fakta yang berkaitan dengan sistem. Teknik ini merupakan teknik yang paling efisien untuk memperoleh informasi dari banyak orang.
2.1.3. Database Language Di dalam sebuah aplikasi basis data memiliki ketentuan-ketentuan yang berlaku yang harus diperhatikan oleh user dan perancang yang harus memperhatikan penggunaan bahasa di dalam sistem basis data.
2.1.3.1. Data Definition Language (DDL) Menurut Connolly and Begg (2010, p92), mendefinisikan Data
Definition
Language
(DDL)
sebagai
bahasa
yang
memungkinkan database administrator untuk menambahkan dan menamakan entitas, atribut dan hubungan yang dibutuhkan dalam aplikasi, terkait dengan integritas dan kendala keamanan aplikasi. 2.1.3.2. Data Manipulation Language (DML) Menurut Connolly and Begg (2010, p92), mendefinisikan Data Manipulation Language (DML) sebagai bahasa yang
12
menyediakan suatu fungsi yang dapat memanipulasi data-data yang ada di dalam sebuah database.
2.1.4. Database Management System (DBMS) Dalam penggunaannya, DBMS dapat berguna untuk meningkatkan mutu perusahaan. DBMS biasa digunakan oleh seorang database administrator untuk mengatur proses bisnis suatu perusahaan. Menurut Connolly and Begg (2010, p66), mengemukakan bahwa Database Management System (DBMS) merupakan suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses pada database. Menurut Enakrire dan Baro (2008, p23), DBMS merupakan perangkat lunak yang digunakan untuk mengakses, meng-update, dan memanipulasi data dalam database yang terkomputerisasi. Dari pengertian di atas dapat ditarik kesimpulan bahwa Database Management System (DBMS) merupakan sebuah perangkat lunak yang digunakan untuk mendefinisikan, membuat, memelihara, dan mengatur akses pada database. 2.1.5. Fungsi DBMS DBMS sangat berguna bagi perusahaan dalam menjalankan proses bisnisnya. Dengan adanya DBMS diharapkan perusahaan dapat mampu bersaing dengan perusahaan lain di era globalisasi ini.
13
Menurut Connolly and Begg (2010, p99-p104), fungsi DBMS adalah sebagai berikut : -
Penyimpanan, pengambilan, dan peng-update-an data Sebuah
DBMS
harus
menyediakan
bagi
pengguna
suatu
kemampuan/fitur untuk menyimpan, mengambil, dan meng-update data dalam sebuah DBMS. -
Katalog User-Accesible Sebuah DBMS harus menyediakan sebuah katalog yang menyimpan deskripsi tentang item data dan mudah diakses pada pengguna.
-
Mendukung transaksi Sebuah DBMS harus menyediakan mekanisme yang memastikan setiap update dilakukan sesuai dengan transaksi yang diberikan.
-
Layanan kendali konkurensi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa basis data di-update dengan benar ketika banyak pengguna meng-update basis data secara bersama-sama.
-
Layanan Perbaikan Sebuah DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis data ketika sebuah basis data mengalami kerusakan dalam prosesnya.
14
-
Layanan Autorisasi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa pengguna yang memiliki otoritas/hak agar dapat menggunakan basis data.
-
Mendukung Komunikasi Data Sebuah DBMS harus mampu diintegrasikan dengan software komunikasi.
-
Layanan Integritas Sebuah DBMS harus mampu memastikan bahwa data di dalam basis data tersimpan dengan baik dan perubahan yang terjadi pada data harus mengikuti aturan tertentu.
-
Layanan Peningkatan Keterbebasan Data Sebuah DBMS harus memasukkan sebuah fasilitas tambahan untuk mendukung keterbatasan program dari struktur basis data yang sebenarnya agar menjadi lebih lengkap.
-
Layanan Utilitas Sebuah DBMS harus dapat menyediakan seperangkat layanan utilitas yang membantu database admin dalam mengelola basis data secara efektif.
15
2.1.6. Komponen DBMS DBMS merupakan sebuah aplikasi perangkat lunak yang tentunya memiliki komponen-komponen penting di dalamnya agar menjadi satu kesatuan di dalam sistem. Menurut Thomas Connolly dan Carolyn Begg (2010,p68-71), terdapat lima komponen yang sangat penting,yaitu :
1.
Hardware
DBMS
dan
aplikasinya
membutuhkan
hardware
untuk
dapat
menjalakannya. Hardware dapat berkisar dari sebuah PC, sebuah mainframe, dan jaringan komputer. Hardware tertentu bergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya dapat bekerja pada hardware atau sistem operasi tertentu. DBMS membutuhkan jumlah minimum dari main memory dan disk space untuk bekerja.
2.
Software
Komponen software terdiri dari software DBMS itu sendiri dan program aplikasi yang dibutukan untuk menjalankan sistem,termasuk network software jika digunakan pada jaringan. Pada umumnya, program aplikasi
16
ditulis dalam bahasa pemograman 3GL, seperti C, C++, Java, Visual Basic, Cobol, Fortran, Ada, atau Pascal , atau menggunakan 4GL , seperti SQL yang diembed dalam generasi ketiga. 3.
Data
Komponen terpenting dalam DBMS,terutama dalam sudut pandang end user. Data bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data memiliki baik data operasional dan meta data. 4.
Prosedur
Merupakan instruksi atau aturan yang mengatur desain dan penggunaan dari basis data. membutuhkan
Pengguna sistem dan staf yang mengatur basis data dokumentasi
prosedur
untuk
menggunakan
atau
menjalankan sistem. Instruksi –instruksi,tersebut antara lain : -
Log on pada DBMS
-
Menggunakan fasilitas DBMS tertentu atau aplikasi program
-
Memulai dan menghentikan DBMS
-
Membuat salinan backup dari basis data
-
Mengatasi kegagalan hardware atau software. Termasuk prosedur
untuk mengidentifikasi komponen yang gagal, dan mengembalikan basis data ke keadaan semula.
17
-
Mengubah struktur dari table, mengatur ulang basis data melalui
multiple disks, meningkatkan performa, atau menyimpan data pada secondary storage. 5.
Manusia
Merupakan komponen yang terakhir yang terlibat dalam sistem.Terdapat lima tipe komponen manusia yang terlibat dalam sistem,yaitu Data Administrators,
Database
Administrators,
Database
Designers,
Application Developers, dan End users.
2.1.7. Relational Data Structure Menurut Connolly and Begg (2010, p144), struktur relasi data dibagi menjadi tujuh bagian, antara lain : • Relation Sebuah tabel yang terdiri dari kolom dan baris • Attribute Merupakan sebuah kolom yang berisikan nama relasi dari sebuah kolom.
• Domain Merupakan sebuah himpunan nilai yang diperbolehkan untuk satu atau lebih attribut.
18
• Tuple Merupakan sebuah baris dari relasi. • Degree Merupakan sebuah tingkatan relasi yang menerangkan banyaknya jumlah atribut yang membatasi. • Cardinality Merupakan jumlah hubungan antar tuple. • Relational Database Merupakan kumpulan dari hubungan hasil normalisasi dengan nama hubungan yang berbeda.
2.1.8. Entity Relationship Model Untuk mengidentifikasi data-data penting yang ada dalam suatu perusahaan, diperlukan pendekatan dalam perancangan sebuah aplikasi basis data. 2.1.8.1. Entity Type Menurut Connolly and Begg (2010, p372), entity type adalah kumpulan dari object dengan properties yang sama, tetapi memiliki keberadaan yang mandiri dan terpisah.
Strong Entity
19
Menurut Connolly and Begg (2010, p383), strong entity merupakan tipe entitas yang tidak memiliki ketergantungan pada entitas lainnya. Weak Entity Menurut Connolly and Begg (2010, p383), weak entity
merupakan
tipe
entitas
yang
memiliki
ketergantungan terhadap keberadaan beberapa entitas lainnya.
2.1.8.2. Multiplicity Menurut Connolly and Begg (2010, p385), multiplicity adalah jumlah terjadinya kemungkinan suatu entitas dapat berhubungan dengan entitas lainnya. Huubungan-hubungan yang mungkin terjadi antar entitas tersebut adalah : •
One-to-One Relationships
•
One-to-Many Relationships
•
Many-to-Many Relationships
•
Multiplicity for Complex Relationships
•
Cardinality and Participation Constraints
20
Gambar 2.2 Connectivity Of A Relationship (Sumber : Tobey Teorey 2011, p20) Gambar di atas menjelaskan hubungan suatu entitas dengan entitas lainnya yang bernilai one-to-one relationships, one-to-many relationships, dan many-to-many relationships. Setiap nilai hubungan tersebut menandakan atau menjelaskan situasi keadaan sebenarnya yang terjadi.
2.1.8.3. Attributes Di dalam sebuah entity relationship model terdapat bermacam-macam data penting yang memiliki hubungan satu sama lainnya. Salah satu bagian terpenting dari sebuah entitas adalah attributes. Menurut Connolly and Begg (2010, p379), atribut adalah sebuah properti dari suatu entitas.
21
2.1.8.3.1. Simple Attributes Menurut Connolly and Begg (2010, p379), simple attribute adalah sebuah atribut yang tersusun dari sebuah komponen tunggal dengan keberadaan yang mandiri dan terpisah. Contohnya : nama.
2.1.8.3.2. Composite Attributes Menurut Connolly and Begg (2010, p379), menerangkan bahwa composite attribute merupakan atribut yang tersusun dari beberapa komponen di mana
setiap
komponennya
tidak
memiliki
keterikatan satu sama lainnnnya. Contohnya : alamat.
2.1.8.3.3. Single-Valued Attributes Menurut Connolly and Begg (2010, p380), single-valued attributes merupakan sebuah atribut yang
memiliki
nilai
tunggal
dalam
kemunculan suatu entitas. Contohnya : nama.
setiap
22
2.1.8.3.4. Multi-Valued Attributes Menurut Connolly and Begg (2010, p380), multi-valued attributes merupakan atribut yang memiliki banyak nilai dalam setiap kemunculan suatu entitas. Contohnya : gelar.
2.1.8.3.5. Derived Attributes Menurut Connolly and Begg (2010, p380), menerangkan derived attributes merupakan atribut yang mewakili sebuah nilai yang diturunkan dari nilai atribut terkait atau sekumpulan atribut yang terkait tersebut belum tentu dalam tipe entitas yang sama. Contohnya : umur.
2.1.8.4. Keys Menurut Connolly (2010, p381), key adalah sekelompok atribut yang unik. Keys dibagi menjadi tiga, yaitu : •
Candidate Key Candidate Key adalah jumlah minimal atribut yang secara unik mengidentifikasi setiap kemunculan suatu entity.
23
•
Primary Key Primary
Key
adalah
candidate
key
yang
dipilih
berdasarkan keunikan yang dimilikinya, berguna untuk membedakan dengan candidate key lainnya.
•
Composite Key Candidate Key yang terdiri dari dua atau lebih atribut.
2.1.8.5. Relasional Integritas Menurut Connolly and Begg (2010, p153-p154), relasional integritas terbagi menjadi beberapa jenis, yaitu : o Null Merupakan gambaran sebuah nilai bagi sebuah atribut yang tidak diketahui atau tidak bernilai. o Integritas Entitas Pada relasi dasar, tidak ada atribut primary key yang bernilai null. Primary key berperan sebagai identifier yang digunakan untuk mengidentifikasi tuple secara unik.
24
2.1.9. Arsitektur ANSI SPARC Three level Tiga level ANSI-SPARC dibagi menjadi tiga yaitu : • External level, pandangan pengguna terhadap databaseyaitu apakah database tersebut relevan dengan setiap pengguna. • Conceptual level, pandangan masyarakat tentang database. Di tahap ini menggambarkan tentang data apa saja yang dapat disimpan di dalam database, dan relasi antara data. Di tahap ini berisi struktur logika seluruh database yang dapat diakses oleh DBA. Dalam tahap konseptual menunjukkan : •
Semua entitas, atribut, dan relasi
•
Batasan data
•
Informasi semantik data
•
Keamanan dan integrasi informasi
• Internal Level adalah representasi database dalam komputer. Tahap ini menggambarkan bagaimana data disimpan dalam database. Internal Level berisi tentang : •
Adanya ruang penyimpanan untuk data dan daftar istilah
•
Menyimpan keterangan-keterangan mengenai penyimpanan (besarnya suatu data)
•
Menyimpan penempatan
25
•
Kompresi data dan teknik enkripsi data
Gambar 2.2 Arsitektur ANSI SPARC Three level Sumber : Connolly and Begg (2010, p.86)
2.1.10.
Normalisasi Suatu perusahaan memiliki data dalam jumlah yang sangat banyak
dan data-data tersebut digolongkan berdasar jenis-jenis tertentu untuk kemudian dianalisis. Namun terkadang data-data tersebut mengalami penumpukan sehingga membuat data susah untuk dianalisis.
26
Menurut Connolly and Begg (2010, p416), normalisasi yaitu suatu teknik yang digunakan untuk menghasilkan sejumlah hubungan dengan sifat yang diinginkan dan diberikan persyaratan data dari suatu perusahaan. •
Un-normalized Form Menurut Connolly and Begg (2010, p430), un-normalized form
adalah suatu tabel yang berisi satu atau lebih kelompok yang berulang. •
First Normalized Form (1NF) Menurut Connolly and Begg (2010, p430), 1NF dilakukan jika
persimpangan setiap baris dan kolom hanya mengandung satu nilai. Cara untuk menghilangkan repeating group pada tabel yang tidak normal adalah: 1. Dengan memasukkan data ke kolom yang kosong dari baris yang mengandung data-data yang berulang. 2. Dengan memasukan data-data yang berulang bersama pada relasi yang terpisah. •
Second Normalized Form (2NF) Menurut Connolly and Begg (2010, p434), 2NF jika suatu
hubungan pada 1 NF dan setiap atribut yang bukan primary key fungsional berkaitan pada primary key.
27
•
Third Normalized Form (3NF) Menurut Connolly and Begg (2010, p435), 3NF jika hubungan
berada dalam bentuk 1NF dan 2NF lalu tidak ada atribut yang merupakan sebuah primary key yang berkaitan secara kuat dengan primary key.
28
Database Life Cycle
Gambar 2.3 Siklus Hidup Aplikasi Basis Data (Sumber : Connolly And Begg 2010, p314)
Dari gambar di atas dapat dijelaskan untuk membangun suatu database system yang baik maka perlu untuk mengikuti tahap demi tahap dalam siklus hidup aplikasi basis data dari tahap database planning yang
29
berfungsi untuk menentukan database apa yang akan dibangun dan manfaat dari database yang akan dibangun. Selain perlu untuk membuat system definition yang menggambarkan batasan-batasan dari suatu sistem yang akan dibangun dan juga harus diketahui apa saja yang dibutuhkan dari sebuah sistem tersebut agar dapat dibangun sesuai dengan tujuan yang diharapkan. Sistem yang sudah jadi harus diawasi secara berkala agar jika terjadi error dapat ditangani secara tepat dan cepat untuk memperlancar proses bisnis suatu perusahaan.
2.1.10.1.
Database Planning Sebuah sistem basis data yang akan diimplementasi pada sebuah perusahaan harus dibangun berdasarkan masalah yang sedang terjadi agar dapat menghasilkan sebuah sistem untuk mengatasi masalah tersebut dengan menggunakan tahapan-tahapan tertentu. Menurut Connolly and Begg (2010, p313), Database Planning adalah pengaturan yang memungkinkan tahapan dari siklus hidup pengembangan sistem database untuk direalisasikan seefisien mungkin dan seefektif mungkin. Terdapat tiga masalah pokok dalam merumuskan suatu strategi sistem informasi, yaitu: 1. Mengidentifikasi rencana dan tujuan perusahaan dengan penentuan sistem informasi yang diperlukan kedepannya.
30
2. Mengevaluasi dari sistem yang berjalan untuk menentukan kekurangan dan kelebihan. 3. Menilai
tentang
peluang
IT
yang
mungkin
akan
memberikan keuntungan.
2.1.10.2.
System Definition Menurut Connolly and Begg (2010, p316), System Definition merupakan suatu penjelasan terhadap ruang lingkup dan batasan dari sistem basis data serta pandangan pengguna akhir secara garis besar.
2.1.10.3.
Requirement Collection and Analysis Masalah yang muncul dalam system basis data harus dibuatkan solusi yang tepat. Sehingga system yang baru harus mampu memenuhi kebutuhan agar masalah terpecahkan. Menurut Connolly and Begg (2010, p316), Requirements Collection
and
Analysis
merupakan
suatu
proses
dari
mengumpulkan dan menganalisis informasi tentang bagian-bagian perusahaan yang harus didukung oleh sistem basis data serta menggunakan informasi yang didapat untuk mengenali kebutuhan sistem yang akan dibuat, dan bertujuan untuk memperbaharui sistem yang lama.
31
2.1.10.4.
Database Design Menurut Connolly and Begg (2010, p320), perancangan basis data adalah suatu proses untuk membuat sebuah rancangan yang akan mendukung tujuan perusahaan yang harus dicapai untuk memenuhi persyaratan sistem basis data. Proses perancangan basis data tersebut dapat dibagi menjadi tiga, yaitu: 1. Perancangan Basis Data Konseptual Proses pengembangan dari pembangunan sebuah model dari data yang digunakan dalam perusahaan. Pengembangan ini tidak tergantung pada rancangan fisik. Menurut Connolly dan Begg (2010,p322), langkah awal dalam perancangan basis data adalah dengan membangun model data konseptual lokal bagi setiap view. Perancangan basis data konseptual bertujuan untuk membangun model data konseptual lokal dari sebuah perusahaan bagi setiap view tertentu. Perancangan basis data konseptual melibatkan beberapa aktifitas, yaitu :
a. Mengidentifikasi Entitas Tahap ini memiliki tujuan untuk mengidentifikasi entitas utama yang dibutuhkan oleh view. Sebuah metode
32
yang digunakan untuk mengidentifikasi entitas adalah dengan memeriksa spesifikasi kebutuhan pengguna. Dari spesifikasi ini, akan dapat diidentifikasikan kata benda.
b. Mengidentifikasi Relationship Tahap
ini
bertujuan
untuk
mengidentifikasi
relationship penting yang terdapat antara entitas yang telah diidentifikasi. Secara khusus, relationship ditandai dengan kata kerja. c. Mengidentifikasi dan Menghubungkan Atribut Dengan Entitas atau Relationship Tahap ini bertujuan untuk menghubungkan atribut dengan entitas atau relationship yang sesuai. Atribut dapat diidentifikasi dimana kata benda merupakan sebuah sifat, kualitas, identifier, atau karakteristik dari entitas atau relationship. d. Menentukan Domain Atribut Tahap ini bertujuan untuk menentukan domain bagi atribut di dalam model data konseptual lokal. Domain merupakan sebuah kolom nilai dari satu atau lebih atribut yang menggambarkan nilai dari masing-masing atribut. e. Menentukan Atribut Primary Key dan Candidate Key
33
Tahap
ini
bertujuan
untuk
mengidentifikasi
candidate key bagi setiap entitas dan jika terdapat lebih dari satu candidate key, pilihlah satu yang akan dijadikan primary key. f. Mempertimbangkan Penggunaan Konsep Permodelan Lebih Lanjut Tahap ini bertujuan untuk mempertimbangkan penggunaan konsep pemodelan lebih lanjut, seperti spesialisasi / generalisasi, agregasi dan composition. g.
Memeriksa Model Untuk Pengulangan Tahap ini bertujuan untuk memeriksa keberadaaan
berbagai pengulangan di dalam
model. Pada tahap ini
berfungsi untuk memeriksa kembali relationship one-toone dan menghilangkan relationship yang berulang. h.
Memvalidasi
Model
Konseptual
Lokal
terhadap
Transaksi User Tahap ini bertujuan untuk memastikan bahwa model konseptual lokal mendukung transaksi
yang
diperlukan oleh user. i.
Mereview Model Data Konseptual lokal Dengan User Tahap ini bertujuan untuk mereview model data
konseptual lokal dengan pengguna untuk memastikan
34
bahwa
model
tersebut
merupakan
gambaran
yang
sebenarnya.
2. Perancangan Basis Data Logikal Proses penyusunan model dari data yang digunakan perusahaan berdasarkan pada model data yang spesifik, tetapi
tidak
tergantung
pada
DBMS
tertentu
dan
pertimbangan fisikal lainnya. Menurut
Connolly and
Begg
(2010,
p323),
merancang basis data merupakan langkah kedua yang membangun dan memvalidasi model data logic untuk setiap view. Perancangan basis data logikal melibatkan beberapa aktifitas, yaitu :
a. Menghilangkan fitur-fitur yang tidak sesuai dengan model relational (optional) Langkah-langkah yang dilakukan pada tahap ini adalah: 1. Menghilangkan tipe relasi many-to-many (*..*) 2. Menghilangkan tipe relasi recursive many-tomany(*..*)
35
3. Menghilangkan tipe relasi yang kompleks 4. Menghilangkan atribut multi-valued
b. Membuat relasi untuk model data logikal lokal Tahap ini bertujuan untuk membuat suatu relasi untuk model data lokal logikal yang mempresentasikan suatu entitas, relasi, dan juga atribut
yang telah
diidentifikasi.
c. Memvalidasi relasi menggunakan normalisasi Pada tahap normalisasi memiliki beberapa langkah, yaitu: 1. First normal form (1NF), menghilangkan repeating group 2. Second normal form (2NF), menghilangkan partial dependencies pada primary key 3. Third normal form (3NF), menghilangkan transitive dependencies pada primary key 4. Boyce-codd normal form (BCNF), menghilangkan anomaly-anomali
yang
masih
tersisa
functional dependencies. d. Memvalidasi relasi pada transaksi-transaksi user
dalam
36
Tahap ini bertujuan untuk memastikan bahwa relasi dalam model data logikal lokal mendukung transaksitransaksi yang diperlukan dalam penggambaran. e. Mendefinisikan integrity constraints Integrity constraints memiliki lima tipe, yaitu : 1. Required data 2. Attribute domain constraints 3. Entity integrity 4. Referential integrity 5. Enterprise constraints f. Meninjau ulang model data logikal lokal dengan user Tahap ini bertujuan agar model data logikal dapat menggambarkan model nyata dari suatu view. g. Menggabungkan model-model data logikal ke dalam model data global Hal-hal yang perlu dilakukan pada tahap ini adalah 1. Memeriksa kembali nama dan isi dari setiap entitas dari candidate key. 2. Memeriksa
kembali
nama
dan
isi
dari
relationship foreign keys. 3. Menggabungkan entitas dari model data logikal.
37
4. Memasukkan entitas yang lkiunik ke dalam setiap model data.mjki 5. Menggabungkan foreign keys dari model data logikal lokal. 6. Memasukkan foreign keys yang unik ke dalam setiap model data tanpa menggabungkannya. 7. Memeriksa apakah ada entitas dan foreign keys yang tertinggal. 8. Memeriksa kembali foreign keys 9. Memeriksa integrity constraints. 10. Menggambarkan diagram ER / relasi global 11. Meng-update dokumentasi
h. Memvalidasikan model data logikal global Tahap ini bertujuan untuk memvalidasi relasi yang dibuat dari model data logikal global dengan menggunakan teknik dari normalisasi dan memastikan relasi yang dibuat mendukung transaksi.
i. Mengecek pertumbuhan masa depan Tahap
ini
bertujuan
untuk
menentukan
perubahan yang mungkin terjadi di masa depan dan
38
untuk menganalisis apakah model data logikal global dapat mendukung perubahan yang terjadi.
j. Meninjau ulang model data logikal global dengan users Tahap ini bertujuan untuk memastikan bahwa model data logikal merupakan representasi nyata sebuah perusahaan.
3. Perancangan Basis Data Fisikal Proses pembuatan gambaran dari implementasi basis data pada penyimpanan sekunder. Menurut Connolly and Begg (2010,p324), langkah ke tiga dalam merancang basis data adalah dengan menerjemahkan model data logikal kedalam target DBMS.
Perancangan basis data fisikal melibatkan beberapa aktivitas, yaitu : a. Merancang relasi dasar Tahap ini bertujuan untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal pada DBMS yang dipakai. b. Merancang representasi dari data turunan
39
Tahap ini bertujuan untuk memutuskan bagaimana mepresentasikan suatu data turunan pada model data logikal pada DBMS yang dipakai. c. Merancang batasan perusahaan Tahap
ini
bertujuan
untuk
merancang
batasan
perusahaan dalam pengaksesan DBMS yang dipakai. d. Analisis transaksi Tahap ini bertujuan untuk menganalisis setiap transaksi agar dapat mengetahui setiap fungsi dari suatu transaksi yang dijalankan pada basis data dan untuk menganalisis transaksi penting. e. Memilih organisasi file Tahap ini bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasional data. f. Memilih indeks Tahap
ini
bertujuan
untuk
menentukan
apakah
penambahan indeks akan meningkatkan performa dan kinerja dari suatu sistem. g. Memperkirakan kapasitas disk yang dibutuhkan untuk menyimpan basis data
40
Tahap ini bertujuan untuk mengestimasi jumlah besarnya ukuran kapasitas disk yang diperlukan untuk sistem basis data. h. Merancang user views Tahap ini bertujuan untuk merancang tampilan user interface yang diidentifikasi dan dianalisis dari siklus hidup aplikasi sistem basis data. i. Merancang mekanisme keamanan Tahap ini bertujuan untuk merancang ukuran keamanan untuk basis data yang telah ditentukan oleh user.
Dari penjelasan diatas dapat diambil kesimpulan , Database Design adalah sebuah rancangan design untuk sebuah aplikasi basis data yang akan diimplementasikan ke dalam sebuah perusahaan untuk menyelesaikan masalah-masalah yang muncul dalam suatu perusahaan.
2.1.10.5.
DBMS Selection Menurut Connolly and Begg (2010, p325), DBMS selection adalah suatu pemlihan yang dilakukan agar dapat menemukan
41
DBMS yang tepat dalam usahanya untuk mendukung sistem basis data
2.1.10.6.
Application Design Menurut Connolly and Begg (2010, p329), Application Design digunakan untuk mengolah basis data dalam merancang tampilan user dan program aplikasi.
2.1.10.7.
Prototyping Menurut Connolly and Begg (2010, p333), Prototyping adalah tahap pembuatan model kerja dari sistem basis data sebelum diterapkan pada organisasi.
2.1.10.8.
Implementation Menurut Connolly and Begg (2010, p333), implementasi adalah tahap yang diperlukan untuk merealisasikan desain basis logika dan desain fisik dari sistem basis data.
2.1.10.9.
Data Conversion and Loading Data Conversion and Loading adalah langkah yang diperlukan untuk memisahkan data dari suatu system yang lama ke sebuah system yang baru.
42
Menurut
Connolly and
Begg
(2010,
p334),
Data
Conversion and Loading adalah tahap dimana semua data dipindahkan kedalam basis data baru dan mengubah semua aplikasi yang ada untuk menjalankan sistem basis data yang baru.
2.1.10.10. Testing Testing digunakan untuk mencari error dari sebuah system basis data,sehingga dengan ditemukannya error dalam sebuah system,dapat dicari solusi yang tepat untuk diimplementasikan ke dalam system basis data. Menurut Connolly and Begg (2010, p334), Testing adalah suatu proses untuk mengimplementasikan sistem basis data pada periode tertentu, untuk menemukan kesalahan yang ada pada sistem.
2.1.10.11. Operational Maintenance Operational Maintenance diperlukan oleh system basis data untuk menjaga keamanan data-datanya, agar semua data dapat terjaga keamanannya. Menurut Connolly and Begg (2010, p335), Operational Maintenance adalah suatu proses pemantauan dan pemeliharaan dari sistem basis data yang telah dipasang.
43
2.1.11. Database Security Database Security diperlukan untuk menjaga data dari ancamanancaman yang dapat mengakibatkan hilangnya data yang sangat merugikan perusahaan. Menurut Connolly and Begg (2010, p568), Database Security adalah suatu mekanisme yang melindungi basis data dari ancaman yang disengaja maupun yang tidak disengaja.
2.1.12. Database Recovery Dalam perancangan sistem basis data,kemungkinan-kemungkinan kehilangan data dapat diakibatkan dari berbagai sumber , oleh karena itu harus dibuatkan sebuah database recovery. Menurut Connolly and Begg (2010, p652), Recovery Database adalah suatu proses pengembalian keadaan basis data kedalam keadaan semula.
2.2. Teori Umum 2.2.1. Pembelian Pembelian adalah sebuah proses bisnis yang dilakukan antar dua pihak yaitu pihak supplier dan pihak perusahaan untuk mendapatkan bahan – bahan sebagai bahan baku produksi dari barang- barang yang akan dijual oleh perusahaan.
44
Menurut William B. Joyce (2006, p202), pembelian adalah sebuah kegiatan untuk mendapatkan material, layanan, yang dibutuhkan untuk menghasilkan produk atau jasa layanan. Menurut Andreas P. Kakorius (2006, p709-711), membagi proses pembelian menjadi lima langkah, yaitu : •
Initiation Phase Proses pembelian diawali dengan adanya kebutuhan akan jasa maupun suatu barang.
•
Planning Phase Merupakan siklus utama dari suatu siklus pembelian dimana terjadi perencanaan terhadap list barang yang akan dibeli agar tidak
terjadi
kesalahan
dalam
pembelian
yang
dapat
menyebabkan kerugian. •
Qualification Phase Pemilihan pemasok melalui tingkat kualitas barang yang dihasilkan agar barang tersebut terjamin kualitasnya.
•
Winning Phase Merupakan tahap akhir untuk memilih pemasok yang tepat untuk menjadi distributor tetap.
•
Monitoring and Review Phase
45
Pembeli harus secara teratur dalam melakukan pemantauan agar barang yang dihasilkan oleh pemasok dapat terpantau terus kualitasnya.
Bedasarkan pengertian di atas dapat disimpulkan bahwa pembelian adalah suatu proses bisnis dalam perusahaan dalam rangka mendapatkan bahan baku produksi untuk barang – barang yang akan dijual oleh perusahaan kepada pelanggan.
2.2.2. Penjualan Penjualan merupakan suatu proses bisnis yang penting bagi perusahaan
dalam
maksimal.Untuk
tujuannya
mendapat
untuk
keuntungan
mencari yang
keuntungan semaksimal
yang mngkin
diperlukan teknik-teknik khusus agar produk yang dihasilkan dapat disukai oleh pasar dan berkualitas sehingga menarik minat para pelanggan. Menurut Kotler et al (2006, p470), menerangkan bahwa proses penjualan merupakan serangkaian langkah-langkah yang dilakukan untuk menjual suatu produk kepada pelanggan oleh bagian penjualan. Menurut Fess (2006, p300), menerangkan bahwa penjualan merupakan jumlah tukar uang yang dibebankan kepada pelanggan atas suatu barang yang dipesan.
46
Berdasarkan pengertian di atas dapat disimpulkan bahwa penjualan merupakan suatu proses bisnis untuk menjual barang atau produk kepada pelanggan untuk mendapatkan suatu keuntungan bedasarkan kesepakatan dari pihak penjual maupun pihak pembeli.
2.2.3. Persediaan Persediaan merupakan suatu kegiatan dalam perusahaan untuk menyimpan barang- barang yang akan dijual untuk dijadikan sebagai persediaan.Persediaan barang ini biasanya disimpan dalam suatu gudang. Menurut Alfredson, K.,etal (2007, p342), menerangkan bahwa persediaan merupakan harta atau aset perusahaan yang tersedia untuk dijual kepada pelanggan. Menurut I Nyoman Yudha Astana (2007, p185), terdapat enam fungsi penting yang terdapat dalam persediaan dalam memenuhi kebutuhan perusahaan, sebagai berikut : 1. Meminimalkan resiko keterlambatan pengiriman barang yang dibutuhkan oleh perusahaan 2. Menghilangkan resiko akan adanya barang rusak ketika pemesanan barang 3. Meminimalkan resiko terhadap kenaikan harga 4. Untuk menyimpan barang-barang secara aman sehingga jika dibutuhkan sewaktu-waktu dapat tersedia.
47
5. Mendapatkan potongan harga atas pembelian barang 6. Menyediakan barang yang diperlukan oleh pelanggan agar kebutuhannya dapat terpenuhi.
Bedasarkan pengertian di atas dapat disimpulkan bahwa persediaan merupakan sebuah aset atau kekayaan perusahaan berupa barang-barang dagangan hasil produksi yang disimpan di dalam suatu tempat atau gudang yang kemudian akan dijual kepada pelanggan.
48
2.3 Kerangka Pikir
Gambar 2.4 Kerangka Pikir