BAB 2 LANDASAN TEORI 2.1
Teori Basis Data Pada teori dasar atau umum ini kami akan menjelaskan teori yang akan sering digunakan sebagai penunjang dalam membuat skripsi kami. Beberapa kami ambil dari buku yang akan menjadi patokan dalam metodologi pembuatan skripsi ini. 2.1.1
Pengertian Data Menurut McLeod (2007, p9), data adalah kumpulan peristiwa dan gambaran yang secara umum tidak dapat digunakan karena ukuran yang besar dan belum diolah.
Menurut Hoffer, Prescott, Topi (2007, p46) data adalah “as stored representations of object and events that have meaning and importance in the user’s environment”, yang artinya data sebagai representasi penyimpanan object dan peristiwa yang memiliki makna,dan penting di lingkungan penggunya.
Menurut Fathansyah (2012, p2) data adalah representasi peristiwa dunia nyata yang mewakili suatu objek seperti manusia (pegawai, pelanggan, siswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya. 13
14
Menurut Conolly dan Begg (2010, p19), data merupakan bagian terpenting dari suatu DBMS, berasal dari sudut pandang end user. Data berguna sebagai jembatan antara mesin dan pengguna. Jadi, data adalah peristiwa-peristiwa yang didapatkan mengenai suatu kejadian atau peristiwa yang kemudian akan diolah menjadi suatu informasi. Menurut Laudon (2010, p3) data adalah aliran peristiwaperistiwa mentah yang mewakili kejadian yang terjadi dalam organisasi atau lingkungan fisik sebelum mereka telah diatur dan disusun menjadi
bentuk yang orang dapat memahami dan
menggunakan. Menurut Nugroho, Adi (2011, p5) data adalah peristiwaperistiwa tentang segala sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. Jadi, data adalah peristiwa yang akan diolah menjadi sebuah informasi. 2.1.2 Pengertian Sistem Menurut Gelinas (2012, p13), sistem adalah kumpulan dari elemen yang berdiri sendiri yang secara bersamaan untuk mencapai tujuan tertentu. Sistem harus memiliki organisasi, hubungan, integrasi, dan tujuan utama.
15
Menurut Hall (2011, p5), sistem dapat dikatakan sebagai hasil penggambaran dari computer dan pemrograman. Sistem adalah kumpulan dari dua atau lebih komponen atau subsistem yang saling terkait untuk tujuan tertentu. Sistem harus menyediakan setidaknya satu tujuan, tapi dapat juga menyediakan lebih dari satu tujuan. Saat sistem tidak memiliki tujuan lagi, maka sistem tersebut harus diganti.
2.1.3 Pengertian Informasi Menurut McLeod (2007, p9), Informasi adalah data yang sudah diproses dan memiliki arti, biasanya memberi tahu pemakai sesuatu yang mereka belum ketahui. Menurut Nugroho, Adi (2011, p6) Informasi adalah data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna. Menurut Laudon (2010, p3) Informasi adalah data yang telah dibentuk menjadi bentuk yang bermakna dan berguna bagi manusia. Menurut Gelinas (2012, p18), informasi adalah data yang disajikan dalam bentuk yang berguna dalam kegiatan pembuatan keputusan. Informasi memiliki nilai bagi pembuat keputusan karena mengurangi ketidakpastian dan meningkatkan pengetahuan tentang berbagai hal yang diinginkan.
16
2.1.4 Pengertian Basis Data Sebelum terdapat sistem basis data, digunakan sistem berbasis file yang disebut sebagai File Based System.
2.1.4.1 File Based System (Sistem Berbasis File) Menurut Connoly dan Begg (2010, p62), “File-Based System adalah suatu kumpulan dari program-program aplikasi yang menyediakan kegunaan tertentu kepada users seperti pembuatan laporan-laporan”. Setiap program mendefinisikan dan mengelola data-datanya sendiri. Namun penggunaan File Based System ini memiliki keterbatasan seperti : 1. Terjadi pemisahan dan isolasi data. 2. Terjadi duplikasi data. 3. Terjadi ketergantungan data kepada fungsi. 4. Dapat menyebabkan bentuk file yang tidak cocok untuk suatu fungsi dengan fungsi lainnya (tidak kompatibel). 5. Sulit mengembangkan fungsi-fungsi program aplikasinya Untuk
mengatasi
keterbatasan
itu,
digunakanlah
pendekatan dengan menggunakan basis data dan DBMS (Database Management System).
17
2.1.4.2 Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data yang saling berhubungan secara logikal serta deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut Hoffer, Prescott, Topi (2007, p46) basis data adalah “an organized collection of logically related data” yang artinya, sebuah koleksi yang terorganisir yang terkait secara logis. Menurut Nugroho, Adi (2011, p4) basis data adalah koleksi dari kata-kata yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbarui, dicari, diolah dengan perhitungan-perhitungan tertentu, serta dihapus). Menurut Kroenke dan Auer (2010, p8), basis data adalah kumpulan data yang saling berhubungan dan struktur lainnya. Menurut Fathansyah (2012, p2) basis data adalah himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
18
Basis data adalah relasi data logical yang terdiri dari entity-entity,
attribute-attribute,
dan
relationship
dari
informasi organisasi / perusahaan. Tujuan utama pengelolaan data dalam basis data adalah agar kita dapat memperoleh data yang kita cari dengan mudah dan cepat. Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut ini : 1. Kecepatan dan kemudahan (speed) 2. Efisiensi ruang penyimpanan (space) 3. Keakuratan (accuracy) 4. Ketersediaan (availability) 5. Kelengkapan (completeness) 6. Keamanan (security) 7. Kebersamaan pemakaian (sharability)
Dalam penggunaannya, basis data memiliki beberapa keuntungan yaitu: 1. Mengurangi kesalahan yang disebabkan oleh faktor manusia. Tugas mekanis lebih baik dilaksanakan oleh mesin. 2. Komputer dapat mengambil dan mengubah data lebih cepat dari manusia. 3. Akurat dan informasi terbaru selalu tersedia setiap saat.
19
4. Menghemat ruangan karena tidak perlu menyediakan ruangan penyimpanan kertas file yang sangat banyak.
2.1.4.3 Komponen Basis Data Pada
saat
ini
sistem
basis
data
sudah
bisa
dikembangkan dengan baik pada mesin-mesin komputer mikro sampai dengan komputer mainframe. Tujuan dari sistem tersebut secara keseluruhan adalah untuk melakukan perawatan informasi dan menyediakannya kapan saja diperlukan oleh pengguna. Komponen-komponen penting pada sistem basis data yaitu: a. Perangkat keras (Hardware) Untuk manajemen basis data hanya dibutuhkan mesin standar, namun yang harus diperhatikan adalah kapasitas penyimpanan karena pada basis data akan membutuhkan kapasitas yang besar.
b. Perangkat lunak (Software) Piranti lunak untuk sistem basis data disebut dengan DBMS
(Database
Management
System).
DBMS
memungkinkan pengguna untuk membentuk file (create), penambahan data (insert), penghapusan (delete), dll.
20
c. Data Data dalam basis data dapat merupakan data yang single user (hanya satu pengguna yang beroperasi terhadap basis data) atau multi user, dimana satu atau lebih user beroperasi secara bersama-sama ke dalam basis data. Sehingga data dalam basis data terutama untuk sistem yang besar, harus terintegrasi (integrated) dan dapat dipakai bersama (shared). Pengertian terintegrasi adalah suatu basis data dapat dipandang
sebagai
kumpulan
file-file
yang
saling
berhubungan satu sama lainnya dan dimana sebagian atau seluruh redundansi yang dapat dihilangkan. Sedangkan pengertian penggunaan bersama (shared) adalah setiap bagian data yang ada di dalam basis data dapat digunakan secara bersama-sama oleh lebih dari satu pengguna untuk penggunaan yang mungkin berbeda. Dengan pengertian bahwa setiap pengguna mungkin hanya berkepentingan pada subset data tertentu saja. d. Prosedur Prosedur merupakan instruksi dan aturan yang mengatur rancangan dan penggunaan basis data. User dari sistem dan
stafnya
mengatur
dokumen
prosedur
tentang
bagaimana caranya menjalankan sistem. Prosedur bisa terdiri dari intruksi tentang bagaimana caranya untuk log on kedalam DBMS, menggunakan fasilitas DBMS dan
21
program
aplikasinya,
memulai
dan
mengakhiri
menggunakan DBMS, membuat salinan (back up) dari basis data, mengatasi kerusakan perangkat keras dan perangkat
lunak,
mengganti
struktur
tabel
dan
meningkatkan kinerja e. Pengguna (User) Pengguna yang terlibat dalam komponen DBMS yaitu : •
Administrasi Basis Data (DBA) Bertanggung jawab untuk mengatur manajemen sumber daya data yang meliputi perencanaan basis data, pengembangan dan pemeliharaan standarnya, aturan dan prosedur, dan rancangan basis data konseptual atau logikal.
•
Programmer Programmer adalah seorang atau sekelompok orang yang menjadi tenaga ahli komputer yang berfungsi untuk mengembangkan program-program aplikasi yang diperlukan dalam DBMS.
•
Pengguna akhir (End User) Yang termasuk dalam kategori pengguna akhir adalah pemilik sistem, para manajer, operator, dan sebagainya yang terlibat langsung dalam pengguna basis data.
22
2.1.5 Database Management System (DBMS) Menurut Conolly dan Begg (2010, p6), Database Management System (DBMS) adalah suatu system software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke basis data. Menurut Fayech, Ines and Ounalli, Habib (2012, p32), mengatakan bahwa “Dalam sistem manajemen database tradisional, permintaan pengguna diperlakukan hanya pada tingkat sintaksis.Jadi, jika pengguna memiliki pengetahuan terbatas atau pengetahuan sama sekali tentang isi database, ia tidak bisa mendapatkan jawaban atas pertanyaan itu.” DBMS berinteraksi dengan program aplikasi user dan basis data. DBMS menyediakan fungsi-fungsi sebagai berikut: 1. Memungkinkan user untuk mendefinisikan basis data, biasanya dari Data Definition Language (DDL). DDL memungkinkan user untuk membedakan tipe dan struktur data, dan batasan data yang akan disimpan dalam basis data. 2. Memungkinkan
user
untuk
menyisipkan,
meng-update,
menghapus dan menerima data dari basis data, biasanya dari Data Manipulation Laguange (DML). 3. Menyediakan kontrol akses ke basis dengan menyediakan: a. Sistem keamanan yang mencegah akses illegal ke dalam basis data b. Sistem integrasi yang memelihara akurasi data.
23
c. Sistem pembagian hak akses ke basis data. d. Sistem pengendalian untuk memulihkan basis data ke keadaan sebelumnya yang dikarenakan oleh kegagalan Software atau Hardware. e. Katalog pengaksesan user yang berisi penjelasan data.
2.1.5.1 Komponen DBMS
Gambar 2.1 Komponen DBMS Environment (Sumber: Conolly Dan Begg, 2010, p68) DBMS memiliki 5 komponen penting yaitu: 1. Hardware (perangkat keras) DBMS dan aplikasi membutuhkan perangkat keras dalam menjalankannya. Perangkat keras dapat mencakup komputer pribadi, Sebuah mainframe, sebuah jaringan komputer. Perangkat keras yang dipakai tergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS yang berjalan pada perangkat keras atau sistem operasi
24
tertentu, sementara DBMS yang lain dapat berjalan pada beragam perangkat keras atau sistem operasi. 2. Software (perangkat lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMS dan program aplikasi beserta sistem operasi (OS), termasuk jaringan perangkat lunak jika DBMS digunakan melalui jaringan. Pada umumnya, program aplikasi ditulis dalam bahasa pemrograman generasi ketiga(3GL) seperti ‘C’, C++, Java, Visual Basic, COBOL, Fortran, Ada, atau Pascal, atau bahasa pemrograman generasi ketiga. 3. Data Data merupakan komponen terpenting dalam DBMS khususnya sudut pandang dari end user mengenai data, dimana data berfungsi sebagai jembatan
antara
komponen
mesin
dengan
komponen manusia. Sebuah basis data berisi data operasional dan meta-data, yaitu data yang menjelaskan data. 4. Procedures (tata cara) Prosedur merupakan panduan dan aturan dalam membuat dan menggunakan basis data. Prosedur didalam basis data dapat berupa: login kedalam basis data, penggunaan fasilitas DBMS atau
25
aplikasi
program,
cara
menjalankan
dan
menghentikan DBMS atau aplikasi Program, Cara menjalankan dan menghentikan DBMS, membuat backup basis data, mengenai kerusakan hardware atau
software,
merubah
struktur
table,
mengumpulkan basis data dari berbagai disks, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. People (manusia) Komponen terakhir yaitu manusia yang terlibat dengan sistem tersebut. •
DA (Data Administrator),
seseorang yang
berwenang untuk membuat keputusan stategis dan kebijakan mengenai data yang ada. •
DBA (Database Administrator), menyediakan dukungan teknis untuk implementasi keputusan tersebut,
dan
bertanggung
jawab
atas
keseluruhan kontrol system pada level teknis. •
Database Designer (Logical and Physical)
•
Application Programmers, bertanggungjawab untuk membuat aplikasi basis data dengan menggunakan bahasa pemrograman yang ada, seperti : C++, Java, dan lainnya.
26
•
End Users, siapapun yang berinteraksi dengan sistem secara online melalui workstation / terminal.
2.1.5.2 Keuntungan DBMS Keuntungan DBMS adalah sebagai berikut: 1. Kontrol atas redudansi atau perulangan data. Pendekatan
basis
menghilangkan
data
berupaya
redudansi
untuk dengan
mengintegrasikan file-file supaya salinan dari data yang sama tidak disimpan. Suatu data mengalami redudansi. 2. Konsistensi data. Dengan menghilangkan atau mengontrol redudansi, akan mengurangi resiko ketidak konsistensi-an data. Jika data disimpan lebih dari sekali dan sistem mengetahuinya maka sistem harus meyakinkan bahwa semua salinan data tetap konsisten. 3. Informasi yang diperoleh dari data yang sama lebih banyak. Dengan terintegrasinya data operasional, maka memungkinkan
organisasi
untuk
memperoleh
informasi tambahan dari data yang sama. 4. Data dapat dibagikan.
27
Basis
data
yang
dimiliki
oleh
keseluruhan
organisasi dapat digunakan bersama oleh pengguna yang berwenang. 5. Meningkatkan integritas data. Integritas basis data menunjukan validitas dan konsistensi data yang tersimpan. 6. Penetapan standarisasi pelaksanaan. Integrasi membuat DBA dapat mendefinisikan dan DBMS untuk menegakan standar-standar, seperti format data untuk fasilitas pertukaran data antara system, konvensi penamaan, standar dokumentasi, prosedur update, dan aturan akses. 7. Meningkatkan keamanan data. Keamanan basis data merupakan perlindungan basis data dari pengguna yang tidak berwenang. Hal ini dapat dilakukan dengan membentuk username dan password untuk mengidentifikasikan pengguna yang berwenang menggunakan basis data. Hak akses yang diberikan pada pengguna yang berwenang pada suatu data dapat dibatasi oleh jenis operasi (retrieval, insert, update, delete) 8. Skala ekonomi. Dengan
mengkombinasikan
data
operasional
organisasi ke dalam basis data dan membuat
28
sebuah set aplikasi yang bekerja pada sumber data ini maka bisa menghemat pengeluaran. 9. Keseimbangan
dari
kebutuhan
yang
saling
bertentangan. Setiap
pengguna
pada
department
memiliki
kebutuhan yang mungkin bertentangan dengan pengguna lainnya. Karena basis data dibawah kontrol DBA, maka DBA bisa membuat keputusan mengenai desain dan kegiatan operasional basis data yang menyediakan sumber daya yang terbaik bagi organisasi 10. Meningkatkan aksesbilitas dan respon data. Sebagai hasil dari integrasi, data yang melewati batasan antar departemen dapat diakses oleh pengguna akhir. 11. Meningkatkan produktivitas. DBMS
banyak
sehingga
menyediakan
memungkinan
fungsi
standar
programmer
berkonsentrasi pada fungsionalitas spesifik yang dibutuhkan oleh pengguna tanpa harus memikirkan tentang rincian implementasi level bawah. Hal ini menghasilkan programmer pengembangan.
peningkatan dan
produktivitas
mengurangi
waktu
29
12. Meningkatkan Concurrency. Memungkinkan pengguna dalam mengakses data yang sama secara simultan tanpa menganggu satu sama lain. 13. Meningkatkan
perawatan
melalui
data
independence DBMS memisahkan deskripsi data dari aplikasi sehingga membuat aplikasi tidak dapat terpengaruh pada perubahan deskripsi data. 14. Meningkatkan layanan backup dan recovery. Untuk melindungi data dari kegagalan sistem komputer atau program aplikasi maka dilakukan backup terhadap data secara teratur. Apabila setelah dilakukan backup terjadi kegagalan, DBMS menyediakan fasilitas untuk meminimalkan jumlah pemrosesan yang hilang.
2.1.5.3 Kerugian DBMS Kerugian DBMS adalah sebagai berikut: 1. Kompleksitas. Karena penetapan fungsi dari DBMS yang baik, menyebabkan DBMS menjadi software yang cukup rumit. Seluruh user harus mengetahui fungsi-fungsi yang
30
ada dengan baik, sehingga dapat memperoleh manfaatnya. 2. Ukuran. Kerumitan dan banyaknya fungsi yang ada menyebabkan DBMS memerlukan banyak software pendukung
yang
mengakibatkan
penambahan
tempat penyimpanan dan memory. 3. Biaya dari penggunaan DBMS. 4. Biaya konversi. 5. Kinerja. Pada dasarnya DBMS dibuat untuk menyediakan banyak aplikasi, akibatnya mungkin beberapa aplikasi akan berjalan tidak seperti biasanya. 6. Dampak yang tinggi dari kegagalan. Karena system yang terpusat, jika seluruh user dan aplikasi terakses dari DBMS maka kerusakan pada
bagian
manapun
dari
sistem,
akan
menyebabkan operasi terhenti.
2.1.5.4 Fasilitas DBMS Menurut Connoly dan Begg, fasilitas-fasilitas dalam DBMS adalah sebagai berikut ini : a. Mendefinisikan basis data, biasanya menggunakan suatu Data Definition Language (DDL) yang berguna
31
untuk
memberikan
fasilitas
kepada
user untuk
mendeklarasikan tipe data, struktur dan isi data yang disimpan ke dalam basis data tersebut. b. Memperbolehkan
user
untuk
menambah
data,
mengubah data, menghapus data, dan menemukan data. Biasanya dengan menggunakan suatu Data Manipulation Language (DML). Biasanya ada suatu fasilitas untuk melayani pengaksesan data yang disebut sebagai Query Language. Bahasa query yang paling diakui adalah Structured Query Language (SQL), yang secara de facto merupakan standar bagi DBMS. c. Selain
itu
terdapat
juga
fungsi-fungsi
untuk
pengendalian basis data. Sebagai contoh : 1. Sistem keamanan (security system) Untuk mencegah user yang tidak berwenang untuk mengakses file-file yang bukan haknya. 2. Sistem kontrol (concurrency control system) Untuk mengijinkan data dapat dipakai bersamasama oleh user-user lainnya. 3. Sistem kontrol pengembalian (recovery control system) Untuk memperbaiki data-data jika sebelumnya terjadi kerusakan kerusakan pada perangkat keras atau perangkat lunak.
32
4. Katalog
yang
dapat
diakses
user
(user
accessible catalog) Suatu catatan dari deskripsi data-data dalam database.
2.1.5.5 Fungsi-fungsi DBMS Fungsi-fungsi DBMS, adalah: •
Data Definition DBMS harus dapat mengolah pendefinisian data.
•
Data Manipulation DBMS harus dapat menangani permintaanpermintaan dari pemakai untuk mengakses data.
•
Data Security and Integrity DBMS harus dapat memeriksa keamanan dan integrity data yang didefinisikan oleh DBA.
•
Data Recovery and Concurrency DBMS harus dapat menangani kegagalan pengaksesan basis data yang disebabkan oleh kesalahan
system,
kerusakan
disk
dan
sebagainya. DBMS harus dapat memantau pengaksesan data yang konkuren yaitu bila satu
33
data diakses secara bersama-sama oleh lebih dari satu pemakai pada saat bersamaan •
Data Dictionary Tempat
penyimpanan
informasi
yang
menggambarkan data dalam basis data. Data dictionary
disebut
juga
metadata
(data
mengenai data). Berisi tentang: Nama-nama
user
yang
mempunyai
wewenang untuk penggunaan DBMS Nama-nama item data Jenis-jenis dan ukuran item data Batasan untuk masing-masing item data •
Performance DBMS harus dapat menangani unjuk kerja dari semua fungsi seefisien mungkin
2.1.6 Database Language Menurut Conolly dan Begg (2010, p92), sebuah sub-bahasa data terdiri dari dua bagian: Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL digunakan untuk menentukan keamanan basis data dan DML digunakan untuk membaca dan update basis data. Bahasa-bahasa ini disebut sub languages data karena mereka tidak termasuk konstruksi untuk semua
34
kebutuhan komputasi tingkat, seperti pernyataan kondisional atau iterative, yang disediakan oleh bahasa pemrograman tingkat tinggi.
2.1.6.1 Data Definition Language Menurut Conolly and Begg (2010, p92), Data definition language (DDL) adalah sebuah bahasa yang mengizinkan DBA atau user untuk mendeskripsikan dan memberi nama entitas, attribute, dan hubungan yang diperlukan aplikasi beserta integrity yang berhubungan dan batas keamanan. Dari definisi diatas dapat disimpulkan. DDL adalah bahasa basis data yang digunakan untuk mendefinisikan suatu entitas, atribut dan hubungannya. Beberapa statement DDL : •
CREATE TABLE Untuk
membuat
table
dengan
mengidentifikasikan tipe data dari kolom tertentu. •
ALTER TABLE Untuk menambah atau membuang kolom dan constrain
•
DROP TABLE Untung membuang atau menghapus table beserta semua data yang terkait di dalamnya.
35
•
CREATE INDEX Untuk membuat index pada suatu table.
•
DROP INDEX Untuk menghapus atau membuang index yang telah dibuat sebelumnya.
•
CREATE VIEW Untuk membuat view dari beberapa table.
•
DROP VIEW Untuk membuang atau menghapus view yang telah dibuat sebelumnya.
2.1.6.2 Data Manipulation Language Menurut Conolly and Begg (2010, p92), pengertian Data Manipulation Language adalah suatu bahasa yang menyediakan
seperangkat
operasi
untuk
mendukung
manipulasi data yang berada pada basis data. Pengoperasian data yang akan dimanipulasi biasanya meliputi: 1. Penambahan data baru ke dalam basis data. 2. Modifikasi data yang disimpan ke dalam basis data. 3. Pengembalian data yang terdapat di dalam basis data. 4. Penghapusan data dari basis data.
DML menyediakan operasi dasar manipulasi data pada data yang ada didalam basis data yaitu:
36
•
INSERT Pemasukkan data baru kedalam basis data (insertion).
•
UPDATE Mengubah
atau
memodifikasi
data
yang
disimpan dalam basis data (modify) •
SELECT Memanggil data yang ada dalam basis data (retrieve)
•
DELETE Menghapus data di dalam basis data (delete)
Di dalam DML
merupakan
procedural language.
Procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat.
2.1.7 Database Application Lifecycle (DBLC) Menurut Conolly dan Begg (2010, p313), untuk merancang aplikasi sistem basis data diperlukan tahapan-tahapan yang dinamakan dengan siklus hidup aplikasi basis data (DBLC). Tahapan-tahapan tersebut terdapat pada gambar berikut ini :
37
Gambar 2.2 Database Life Cycle
2.1.7.1 Database Planning Menurut Conolly dan Begg (2010,p313), perencanaan basis data (database planning) merupakan merencanaan
setiap
tahapan
dari
siklus
bagaimana yang
dapat
direalisasikan menjadi lebih efisien dan efektif. Perencanaan basis data harus dapat terintegrasi dengan sistem informasi perusahaan secara umum. Beberapa hal yang terlibat dalam formula adalah strategi sistem informasi, yaitu: 1. Identifikasi dari rencana dan tujuan perusahaan dengan menentukan kebutuhan sistem informasi.
38
2. Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan. 3. Penilaian dari keuntungan teknologi informasi yang dapat member keuntungan kompetitif.
2.1.7.2 System Definition Menurut Conolly dan Begg (2010, p316), sysyem definition adalah mendeskripsikan cakupan dan batasan dari aplikasi basis data, baik pengguna dan area aplikasi tersebut. Sebelum mencoba untuk merancang aplikasi basis data, pertama harus mengidentifikasi batasan dari sistem yang akan kita investigasi dan bagaimana membuat antarmuka dengan sistem
informasi
tiap
bagian
dari
organisasi.
Dalam
mendefinisikan sistem, harus ditentukan oleh user view, yaitu mendefinisikan apa yang dibutuhkan oleh aplikasi basis data berdasarkan pandangan dari tiap bagian tugas (misalnya manager atau supervisor) atau area aplikasi perusahaan (misalnya marketing, personnel, atau stock control)
2.1.7.3 Requirement Collection dan Analysis Requirement collection dan analysis adalah proses untuk mengumpulkan dan menganalisa informasi tentang bagian dari suatu organisasi yang didukung oleh aplikasi basis
39
data
dan
menggunakan
informasi
tersebut.
Untuk
mengidentifikasi kebutuhan user untuk system yang baru. Ada beberapa macam fact-finding techniques: a. Examining documentation b. Interviewing c. Observing the enterprise in operation d. Research e. Questionnaire Informasi yang didapat menggunakan fact-finding technique dianalisa untuk mengidentifikasi kebutuhan. Ada macam-macam cara untuk membuat requirement specification lebih terstruktur: a. Structur Analysis dan Design (SAD) b. Data Flow Diagram (DFD) Menurut Binarso, Yusi Ardi., Sarwoko, Eko Adi., Bahtiar, Nurdin (2012) mengatakan bahwa ,“DFD merupakan sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan saat data bergerak dari input menjadi output. DFD terdiri dari beberapa level. Semakin kecil level DFD maka semakin rinci fungsinya. DFD terdiri dari beberapa komponen yaitu: 1. Proses Komponen proses menggambarkan bagian dari system yang mentransformasikan input menjadi output.
40
2. Data Flow Alur data digunakan untuk menerangkan perpindahan data atau paket data / informasi dari satu bagian sistem ke sistem yang lainnya. Data Flow digambakan dengan anak panah, yang menunjukkan arah ke dan kelur dari suatu proses. 3. Data Store Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak. 4. External Entity Entitas luar bertugas untuk berkomunikasi dengan sistem yang sedang dikembangkan. c. Hierarchical Input Process Output (HIPO) Charts. Salah satu aktifitas yang penting dalam tahap ini adalah dalam menangani lebih dari satu (1) user view dalam aplikasi basis data. Ada tiga pendekatan utama dalam menangani kebutuhan dari aplikasi basis data dengan multiple user view, yaitu: •
Centralized Approach Adalah kebutuhan dari tiap user view disatukan menjadi satu set kumpulan kebutuhan dari aplikasi basis data.
•
View Integration Approach
41
Adalah kebutuhan dari tiap user view digunakan untuk membangun model data yang terpisah yang menggambarkan user view tersebut hasil dari data model tersebut disatukan nanti pada saat tahap menggunakan logical data model database design. •
Centralized and View Integration Approach Adalah
gabungan
dari
dua
pendekatan
centralized approach dan view integration approach.
2.1.7.4 Database Design Menurut Conolly dan Begg (2010, p320), database design adalah proses membuat perancangan basis data yang dapat mendukung pekerjaan dan tugas perusahaan. Menurut Conolly dan Begg (2010, p322), perancangan basis data ini memiliki tiga tahapan, yaitu: 1. Perancangan
basis
data
conceptual,
yaitu
proses
membangun sebuah model informasi yang digunakan di sebuah perusahaan, terbebas dari segala pertimbangan fisik. 2. Perancangan basis data logical, yaitu proses membangun sebuah model informasi yang digunakan di sebuah perusahaan berdasarkan pada sebuah mode data yang
42
spesifik,
tetapi
terbatas
dari
DBMS
tertentu
dan
pertimbangan-pertimbangan physical lainnya. 3. Perancangan
basis
data
physical,
yaitu
proses
menghasilkan sebuah deskripsi dari pengimplementasian basis data pada media penyimpanan sekunder, yang mendeskripsikan hubungan dasar, pengorganisasian file, dan indeks yang digunakan untuk memperoleh akses data secara efisien serta segala batasan integritas dan ukuran ukurang keamanan yang berhubungan.
Menurut Conolly dan Begg (2010, p321), ada 4 pendekatan dalam desain basis data yaitu: 1. Top-Down Diawali dengan pembentukan model data yang berisi beberapa
entitas
high-level
dan
relationship,
yang
kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entitas lower level, relationship dan attribute lainnya. 2. Bottom-up Diawali dari attribute dasar (yaitu sifat-sifat entitas dan relationship), dengan analisis dan penggabungan antar attribute, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas. 3. Inside-out
43
Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relationship, dan attribute terkait lainnya yang lebih dulu diidentifikasi. 4. Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. 2.1.7.5 DBMS selection(optional) Menurut Conolly dan Begg (2010 , p325), pemilihan DBMS yang sesuai untuk mendukung aplikasi basis data yang mencakup: 1. Mendefinisikan syarat-syarat referensi studi Menentukan sasaran, batasan masalah, dan tugas yang harus dilakukan 2. Mendaftar 2 atau 3 jenis barang Membuat daftar barang-barang, misalkan dari mana barang ini didapat, berapa biayanya serta bagaimana bila ingin mendapatkannya. 3. Mengevaluasi Barang Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut. 4. Merekomendasikan pilihan dan membuat laporan
44
Merupakan
langkah
terakhir
dari
DBMS
yaitu
mendokumentasikan proses dan untuk menyediakan pernyataan
mengenai
kesimpulan
dan
rekomendasi
terhadap salah satu produk DBMS.
2.1.7.6 Application Design Menurut Conolly dan Begg (2010, p313), Perancangan aplikasi adalah merancang antarmuka pemakai (user interface) dan program aplikasi,yang akan memproses basis data. Desain basis data dan aplikasi merupakan aktivitas parallel yang meliputi dua aktivitas penting yaitu: a. Transaction Design (Perancangan Transaksi) Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi yang mengakses, menambah, menghapus atau memperbaharui isi dari basis data. Terdapat tiga tipe transaksi, yaitu: 1. Retrieval Transaction, digunakan untuk pemanggilan (retrieve)
data
untuk
ditampilkan
dilayar
atau
menghasilkan suatu laporan. 2. Update Transaction, digunakan untuk menambahkan record
baru,
menghapus
record
lama,
atau
memodifikasi record yang sudah ada di dalam basis data.
45
3. Mixed
Transaction,
meliputi
pemanggilan
dan
perubahan data. b. User Interface Design (Perancangan antarmuka pengguna) Beberapa aturan pokok dalam pembuatan user interface, yaitu: 1. Meaningfull title, diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form/report. 2. Comphrehensible instruction, penggunaan terminology yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan help screen. 3. Logical grouping and sequencing of fields, field yang saling berhubungan ditempatkan pada form/report yang sama. Urutan field harus logis dan konsisten. 4. Visually appealing layout of the form/report, tampilan form / report harus menarik dan sesuai dengan hardcopy agar konsisten. 5. Familiar field labels, pengunaan label yang familiar. 6. Consistency
terminology
and
abbreviation,
terminology dan singkatan yang digunakan harus konsisten. 7. Consistency use of color, penggunaan warna yang konsisten.
46
8. Visible space and boundaries for Data-entry fields, jumlah tempat yang disediakan untuk data entry harus diketahui oleh user. 9. Convient cursor movement, user dapat dengan mudah menjalankan
operasi
yang
diinginkan
dengan
menggerakan cursor pada form / report. 10. Error correction for individual characters and entire fields,user dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field. 11. Error messages for unacceptable values, menampilkan pesan error bila ada input yang tidak sesuai atau tidak dapat diterima. 12. Optional fields marked clearly, pemberian tanda pada fields yang optional. 13. Explanatory
messages
for
fields,
ketika
user
meletakkan cursor pada suatu fields, maka keterangan mengenai fields tersebut harus dapat terlihat. 14. Completion signal, indicator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan.
2.1.7.7 Prototyping Menurut Conolly dan Begg (2010, p333), pengertian Prototyping adalah membuat model kerja dari aplikasi basis
47
data, yang membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuan utama dari mengembangkan suatu prototype adalah mengijinkan user untuk menggunakan prototype guna mengidentifikasikan corak baru kepada aplikasi basis data. Dengan cara ini, kebutuhan dari pemakai dan pengembang sistem dalam mengevaluasi kelayakan design sistem akan semakin jelas sehingga kelebihan atau kekurangan sistem dapat ditangani dengan baik. Strategi prototyping yang umum digunakan sekarang ada dua, yaitu requirement dan evolutionary prototyping. Requirement prototyping adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi
atau dibuang.
Sedangkan
evolutionary
prototype menggunakan tujuan yang sama, tetapi perbedaan pentingnya
adalah
prototype
tetap
digunakan
untuk
selanjutnya dikembangnkan menjadi aplikasi basis data yang lengkap.
2.1.7.8 Testing Menurut Conolly dan Begg (2010, p334), testing adalah suatu proses melaksanakan program aplikasi dengan
48
tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. Hal ini dicapai dengan penggunaan secara hati-hati untuk merencanakan suatu test dan data yang realistis sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuai aturan yang ada. 2.1.7.9 Data Conversion and Loading Menurut Conolly dan Begg (2010, p334), data conversion and loading adalah mencakup pengambilan data dari sistem lama untuk dipindahkan ke dalam sistem yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data sedang menggantikan sistem yang lama. Sekarang DBMS yang memiliki kegunaan yang dapat mengisi file yang ada ke dalam sistem yang baru telah dianggap umum, kegunaan yang ada umumnya memerlukan spesifikasi sumber file dan target basis data yang baru. Ketika Conversion and loading dibutuhkan prosesnya, baru direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi.
2.1.7.10 Implementation Menurut
Conolly
dan
Begg
(2010,
p333),
implementation merupakan realisasi secara fisik dari database dan desain aplikasi. Pada tahap penyelesaian desain, kini kita
49
dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan DDL yang kita pilih dalam melakukan pemilihan DBMS atau dengan menggunakan
Graphical
User
Interface
(GUI)
yang
menyediakan fungsional yang sama dengan pernyataan DDL yang
low
level.
Pernyataan
DDL
digunakan
untuk
menciptakan struktur basis data dan mengosongkan file yang terdapat dalam basis data tersebut. Pandangan pemakai lainnya juga diimplementasikan dalam tahapan ini. Data Manipulation Language (DML) digunakan untuk mengimplementasikan transaksi basis data di dalam bagian aplikasi program dari DBMS, mungkin termasuk host programming language seperti Visual basic, Delphi, C, C++, Java, COBOL, dan Pascal.
2.1.7.11 Operation Maintenance Menurut Conolly dan Begg (2010, p335), operational maintenance adalah proses memantau dan memelihara sistem setelah diinstall. Pada tahapan sebelumnya, basis data benarbenar diuji dan diimplementasikan. Sekarang sistem beralih ke tahapan pemeliharaan. Yang termasuk aktifitas dari tahapan ini adalah sebagai berikut: 1. Memantau kinerja dari sistem.
50
Jika kinerjanya menurun dibawah level yang dapat diterima, mungkin basis data perlu diorganisasi. 2. Pemeliharaan dan upgrade aplikasi basis data-nya (Jika diperlukan).
2.1.8 Entity-Relationship Diagram ERD digunakan untuk menggambarkan entitas dan relasi dalam mendesain basis data sebuah perusahaan. Menurut Connolly (2010, p371), ERD adalah pendekatan top – down untuk mendesain basis data yang dimulai dengan melakukan identifikasi data penting yang biasa disebut entitas dan relasi antara data yang direpresentasikan dalam model. Menurut Hoffer, Ramesh, & Topi (2011, p59), mengatakan bahwa ERD adalah representasi grafik dari data untuk organisasi atau untuk area bisnis, menggunakan entitas sebagai kategori data dan relationships untuk asosiasi antar entitas. Dari pengertian di atas dapat diambil kesimpulan bahwa ERD adalah model yang merepresentasikan data dalam entitas dan hubungan antar entitas secara jelas yang akan digunakan untuk membangun basis data. Simbol-simbol ERD: 1.
Entitas Entitas adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai. Simbol yang digunakan adalah:
51
Gambar 2.3 Simbol Entitas
2.
Relasi Relasi
menunjukkan
adanya
hubungan
diantara
sejumlah entitas yang berbeda. Simbol yang digunakan adalah :
Gambar 2.4 Simbol Relasi
3.
Garis Garis sebagai penghubung antara relasi dengan entitas, relasi dan entitas dengan attribute. Simbol yang digunakan adalah:
Gambar 2.5 Simbol Garis
4.
Attribute
52
Attribute berfungsi mendeskripsikan karakter entitas (attribute yang berfungsi sebagai key diberi garis bawah). Simbol yang digunakan adalah:
Gambar 2.6 Simbol Attribute
Menurut Octafian,D Tri (2011), mengatakan bahwa,” Dari konsep ERD dikembangkan sehingga dapat menghasilkan suatu sistem yang terkomputerisasi sehingga
dapat
digunakan
untuk
pengambilan
keputusan atau kebijak2an dari barang2 yang telah terjual berdasarkan data penjualan yang ada. Mereka menyadari
bahwa
mendatangkan
sistem
banyak
yang
keuntngan
terkomputerisasi salah
satunya
menyediakan informasi secara real time.”
2.1.8.1 Tipe Entitas (Entity Type) Konsep dasar dari ER model adalah entity type atau tipe entitas, yang mewakili sebuah grup dari ‘objek’ yang ada pada ‘dunia nyata’ dengan beberapa properti yang sama. Menurut pendapat Connoly &
53
Begg (2010, p372), tipe entitas adalah sekumpulan objek dengan properti yang sama yang diidentifikasi dari organisasi atau perusahaan yang memiliki keberadaan
yang bebas
(independent
existence).
Sedangkan entity occurance adalah sebuah objek dari suatu tipe entitas yang dapat diidentifikasikan secara unik. Setiap entitas dilambangkan dengan sebuah persedi panjang yang diberi nama dari entitas tersebut. Nama tipe entitas biasanya adalah kata benda tunggal. Huruf pertama dari setiap kata pada nama tipe entitas ditulis dengan huruf besar. Menurut Connoly & Begg (2010, p373), tipe entitas dapat dibagi menjadi dua yaitu : 1. Entitas Kuat (Strong Entity) Suatu tipe entitas yang dapat berdiri sendiri (independent)
dan
tidak
bergantung
pada
keberadaan entitas lainnya. 2. Entitas Lemah (Weak Entity) Suatu entitas tidak dapat berdiri sendiri (dependent) dan bergantung pada keberadaan entitas lainnya.
54
Gambar 2.7 Weak Entity 2.1.8.2 Tipe Relasi (Relationship Type) Suatu entitas akan semakin bermakna disaat kita menghubungkan satu entitas dengan entitas lainnya. Proses menghubungkan ini didasarkan pada kebutuhan data pada masing-masing entitas. Menurut Connoly & Begg (2010, p374) relationship types adalah asosisasi yang memiliki arti diantara tipe-tipe entitas. Tipe relasi digambarkan dengan sebuah garis yang menghubungkan entitas-entitas yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda panah satu arah disamping nama hubungannya. Biasanya sebuah relasi dinamakan dengan menggunakan kata kerja seperti mengatur, atau dengan sebuah frame singkat yang
55
meliputi sebuah kata kerja, seperti DisewaOleh, sedangkan tanda panah ditempatkan di bawah nama relasi yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu relasi. Huruf pertama Pada suatu relasi ditulis dengan huruf besar.
Memiliki
Pegawai
Cabang
Cabang Memiliki Pegawai Gambar 2.8 Contoh tipe relasi
Tipe-Tipe Relasi yaitu: a. One-to-one Relationship Gambar Dibawah ini Menggambarkan relationship one-to-one antara entitas staff dan entitas Branch, Dimana satu orang staff hanya mengontrol satu cabang dan satu cabang hanya di kontrol oleh satu orang staff.
56
Pegawai tipe entiti
Mengatur
tipe
Cabang Tipe entiti (noPeg)
SG5
.
SG6
.
relationship
(noCab)
. r1 .
.B003
Gambar 2.9 Contoh semantic net relasi pegawai Mengatur cabang (Conolly & Begg (2010))
b. One-to-many relationship Gambar berikut ini menggambarkan relationship one-to-many yang sering terjadi antara entitas staff dengan entitas property, dimana dalam relasi ini seorang staff memungkinkan untuk mengurus (oversees) lebih dari satu property, sedangkan satu property hanya dapat diurus oleh satu staff.
57
Pegawai tipe entity
Melihat tipe
RumahSewa
Tipe entiti (noPeg)
relationship
SG5
.
. r1
SG37
.
.
(noRumah)
.PG2 .
Gambar 2.10 Contoh semantic net relasi pegawai melihat rumah sewa (sumber: Conolly & Begg (2010))
2.1.8.3 Attribute (Attribute) Setiap entitas pasti memiliki penjelasan tentang entitas itu sendiri, penjelasan-penjelasan itu sering disebut sebagai attribute yang menyertai suatu entitas. Jika menurut Connoly & Begg (2010, p379) attribute adalah property dari suatu entitas ataupun tipe relasi. a. Single value attribute Attribute yang hanya memiliki sebuah nilai untuk setiap accurance dari sebuah entitas (Connoly & Begg (2005, p351)).
58
b. Multi value attribute Attribute
yang
memiliki
nilai
untuk
setiap
accurance dari etitas (Connolly & Begg (2005, P352)). c. Derived Attribute Attribute yang nilainya diperoleh dari pengolahan atau
diturunkan
dari
attribute
lain
yang
berhubungan (Connoly, 2005, P352). 2.1.8.4 Attribute Domain Menurut Connolly (2010, p379), Attribute domain adalah suatu set nilai yang diijinkan untuk satu atau lebih atribut. Setiap atribut memiliki nilai yang disebut domain. Atribut dapat diklasifikasi sebagai berikut : •
Simple attribute : atribut yang terdiri dari komponen tunggal dengan keberadaan yang independen. Simple attribute tidak bisa dibagi ke dalam komponen yang lebih kecil. Simple attribute biasanya disebut dengan atomic attribute.
•
Composite attribute : atribut yang terdiri dari beberapa komponen yang masing – masing dengan keberadaan independen. Beberapa atribut dapat dibagi ke dalam komponen yang lebih kecil.
•
Single-Valued Attribute : atribut yang memiliki nilai tunggal untuk setiap kemunculan tipe entitas.
59
•
Multi-valued attribute : atribut yang memiliki beberapa nilai untuk setiap kemunculan tipe entitas.
•
Derived Attribute : atribut yang merepresentasikan nilai turunan dari nilai atribut yang terkait
2.1.8.5 Relational Keys Menurut Connoly & Begg (2010 p150-155), relational keys dibagi menjadi beberapa jenis, yaitu: 1. Candidate key adalah superkey dalam relasi. Candidate Key (K) bagi sebuah relasi memiliki dua property, yaitu: o Keunikan : Dalam setiap tuple dari R, nilai K secara unik mengidentifikasikan tuple tersebut. o Irreducibility : tidak ada subset yang sesuai dari K yang memiliki keunikan sifat, ketika sebuah key terdiri dari lebih dari satu attribute yang disebut sebagai composite key.
2. Primary Key Adalah
candidate
key
yang
terpilih
untuk
mengidentifikasi tuple secara unik dalam sebuah
60
relasi. Sementara candidate key yang tidak terpilih disebut alternate key. 3. Foreign key Adalah sebuah atau sekelompok attribute dalam relasi yang dibandingkan dengan candidate key pada beberapa relasi.
2.1.8.6 Structural Constraints Batasan yang akan dibahas ini merupakan menempatkan tipe-tipe entitas yang berpartisipasi dalam sebuah relasi. Tipe utama dari batasan pada sebuah relasi disebut dengan multiplicity. Multiplicity merupakan jumlah kejadian yang mungkin dari suatu entitas yang berhubungan dengan kejadian tunggal dari entitas lain yang terkait melalui relasi tertentu. Multiplicity dibagi menjadi tiga jenis, yaitu : 1. One-to-one (1..1) relationship 2. One-to-many relationship 3. Many-to-many relationship
61
2.1.8.7 Problems with ER Models Pada saat membuat E-R Model (EntityRelationship), mungkin akan ditemukan masalah yang dibagi menjadi dua jenis yaitu : 1. Fan Trap Model yang merupakan hubungan antara tipe entitas, tetapi jalur antara kejadian entitas tertentu adalah ambigu. 2. Chasm Trap Model yang menunjukkan adanya hubungan antara tipe entitas, namun pada jalur tersebut tidak menunjukkan
adanya
kejadian
antara
entitas
tertentu.
2.1.8.8 Metodologi Perancangan Basis Data Menurut Connoly dan Begg (2010, p467), metodologi perancangan basis data terdiri dari tiga, yaitu : 1. Perancangan Basis Data Conceptual Menurut Conolly dan Begg (2010, p467), perancangan basis data conceptual adalah proses membangun model informasi yang digunakan dalam
perusahaan,
pertimbangan fisik.
terlepas
dari
segala
62
Langkah-langkah perancangan basis data conceptual adalah sebagai berikut: Langkah 1
: Membangun Model Data
Conceptual Tujuan
dari
langkah
ini
adalah
untuk
membangun model data konseptual terhadap data suatu perusahaan. Langkah 1.1
: Mengidentfikasi Type Entitas
Pada tahapan ini dilakukan identifikasi tipe entity utama yang diperlukan oleh view. Salah satu metode dalam mengidentifikasi tipe entity adalah dengan memeriksa kebutuhan user. Langkah 1.2
:
Mengidentfikasi
Type
Relationship Pada tahapan ini dilakukan identifikasi relasi penting yang ada antara tipe entity yang telah teridentifikasi. Ketika mengidentifikasi relasi kita dapat menggunakan kata kerja dalam spesifikasi kebutuhan user. Langkah 1.3
:
Mengidentifikasi
dan
Mengasosiasikan Attributes dengan Entity atau type relationship Pada tahapan ini, attribute dihubungkan dengan entity atau tipe entity yang tepat. Attribute menyimpan nilai dari setiap entity dan mewakili
63
bagian utama dari data yang disimpan dalam basis data. Sebagai
contoh,
dideskripsikan
oleh
tipe
entity
attribute
staff
dapat
staffNo,
name,
position, dan salary. Langkah 1.4
:
Menentukan
Domain
Attribute Pada tahapan ini, dilakukan penentuan domain dari setiap attribute dalam model data dan mendokumentasikan detail dari setiap domain. Domain mendefinisikan nilai-nilai yang dimiliki sebuah attribute dan sama dengan konsep domain pada relational model. Langkah 1.5
: Menentukan candidate key,
primary key, untuk setiap attribute dalam entitas Tujuan
dari
langkah
ini
adalah
untuk
mengidentifikasi candidate key dari setiap tipe entitas, dan jika memang terdapat lebih dari satu candidate key, pilihlah salah satunya untuk menjadi primary key. Langkah 1.6
: Mempertimbangkan konsep
enhanced modeling (optional) Tahap ini bersifat optional, apakah akan digunakan pengembangan dari entity model dengan menggunakan spesialisasi, generalisasi, agregasi
64
dan komposisis yang berguna untuk mendukung enhanced modeling. Langkah 1.7 : Mengecek Redudancy Pada tahapan ini, bertujuan untuk memeriksa model data konseptual logical apakah terjadi duplikasi atau tidak. Adapun langkah-langkahnya sebagai berikut: •
Memeriksa
kembali
one
to
one
(1:1)
relationship Dalam mengidentifikasi entity-entity, ada dua entity yang merepresentasikan hal yang sama dalam perusahaan. •
Menghilangkan redundancy pada relationship yang ada Sebuah relationship dikatakan redundancy, apabila informasi yang sama dapat diperoleh dari relationship yang lain.
Langkah 1.8
:
Memvalidasi
Model
Conceptual logical dengan transaksi user Memeriksa model yang telah dihasilkan apakah mendukung transaksi pada view. Pemeriksaan ini dapat menggunakan dua langkah yaitu: •
Mendeskripsikan transaksi
•
Menggunakan jalur transaksi
65
Langkah 1.9
:
Mereview
model
data
Conceptual dengan User Bertujuan
untuk
mereview
model
data
konseptual dengan user untuk memastikan apakah data
model
sudah
benar
dengan
mempertimbangkan representasi kebutuhan data perusahaan yang sesuai.
2. Perancangan Basis Data Logical Menurut Conolly & Begg (2010, p467), perancangan basis data logical adalah proses membangun model informasi yang digunakan dalam perusahaan dengan berdasarkan pada suatu model data spesifik tetapi masih terlepas dari DBMS tertentu beserta pertimbangan fisik lainnya. Langkah-langkah perancangan basis data logical adalah sebagai berikut: Langkah 2.1 : Menghilangkan Fitur-Fitur yang tidak kompatibel dengan Relational Model. Tujuan dari langkah ini adalah difokuskan pada proses menghilangkan relasi many to many (*..*) binary yang ada pada relasi antar entitas dalam basis data. Langkah 2.2 : Menentukan relasi untuk model logical data logical
66
Tujuan dari langkah ini adalah membuat suatu relasi
untuk
model
data
logical
yang
merepresentasikan suatu entity, relasi dan juga attribute yang telah diidentifikasikan. Adapun pendeskripsian bagaimana relasi dapat diturunkan dari struktur data model yang ada, antara lain: •
Tipe strong entity
•
Tipe weak entity
•
Tipe relasi binary one-to-many (1:*)
•
Tipe relasi binary one-to-one (1:1)
•
Relasi rekursif one-to-one (1:1)
•
Tipe relasi superclass/subclass
•
Tipe relasi binary many-to-many
•
Tipe relasi kompleks
•
Attribute multi-valued
Langkah 2.3 : Memvalidasi Relasi meggunakan normalisasi Normasilasi digunakan untuk meningkatkan model yang telah terbentuk agar duplikasi data yang tidak diperlukan tanpa dihindari. Langkah 2.4 : Memvalidasi relasi terhadap transaksi-transaksi User. Langkah ini dilakukan dengan tujuan untuk memastikan bahwa relasi dalam model data logical
67
local
mendukung
transaksi-transaksi
yang
diperlukan oleh view. Langkah 2.5 : Mengecek batasan integritas Tujuan dari langkah ini adalah untuk mengecek batasan integritas yang direpresentasikan dalam model data logical. Batasan integritas merupakan batasan yang diharaokan dapat menjaga basis data agar tidak menjadi tidak lengkap (incomplete), tidak akurat (inaccurate), atau tidak konsisten (inconsistent). Enam tipe batasan integritas,antara lain: • Data yang dibutuhkan; • Batasan domain attribute; • Multiplicity; • Integritas entitas; • Integritas referensial; • Batasan umum. Langkah 2.6 : Me-Review model data logical terhadap kebutuhan user Tujuan dari langkah ini adalah untuk mereview model data logical dengan user untuk memastikan bahwa model tersebut sesuai dengan representasi yang benar dari kebutuhan data perusahaan. Apabila user merasa tidak puas dengan
68
model tersebut maka dilakukan pengulangan kembali
langkah-langkah
sebelumnya
jika
diperlukan. Langkah 2.7 : Menggabungkan model data logical ke dalam model global (langkah optional) Tujuan
dari
langkah
ini
adala
untuk
menggabungkan suatu model data logical local kedalam satu model data logical global yang merepresentasikan semua sudut pandang user terhadap basis data. Langkah
2.8
:
Mengecek
kemungkinan
pengembangan di masa depan Tujuan
dari
langkah
ini
adalah
untuk
menentukan bagian mana yang kelihatannya akan berubah
ke
masa
depannya
dan
juga
memperhatikan supaya model data logikal dapat mengakomodasi perubahan tersebut.
3. Perancangan Basis Data Physical Menurut Conolly dan Begg (2010, p467) ,perancangan basis data
physical adalah suatu
proses untuk mendeskripsikan pengimplementasian dari suatu basis data pada media penyimpanan secondary,
dengan
mendeskripsikan
relasi
dasar,organisasi file, dan indeks yang digunakan
69
untuk mencapai ke efisienan dalam mengakses data, dan batasan integritas, serta pengukuran keamanan apapun yang berhubungan. Langkah 3
: Menerjemahkan model data
logical sesuai DBMS yang dituju Tujuan dari langkah ini adalah untuk membuat suatu skema basis data relasional dari model data logikal yang dapat diimplementasikan ke DBMS yang dituju. Langkah 3.1 : Merancang relasi dasar Tujuan
dari
langkah
ini
adalah
untuk
memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logical pada DBMS yang dituju. Untuk memulai proses perancangan basis data physical, pertama-tama dapat dilakukan dengan menyatukan
dan
mengasimilasikan
informasi
mengenai relasi yang dirancang selama perancangan basis data logikal. Langkah 3.2 : Merancang representasi data turunan (derived data) Tujuan
dari
langkah
ini
adalah
untuk
memutuskan bagaimana merepresentasikan suatu data turunan yang terdapat pada model data logikal pada DBMS yang dituju.
70
Attribute
yang
nilainya
didapatkandengan
mengevaluasi attribute lain dikenal sebagai attribute turunan atau attribute kalkulasi. Sebagai contoh: a. Jumlah staf yang bekerja pada suatu cabang (branch). b. Total gaji bulanan untuk semua staf. c. Jumlah property yang di-handle oleh anggota staf. Langkah 3.3 : Merancang general constraint Tujuan dari langkah ini adalah merancang kendala umum untuk DBMS yang dituju. Mengupdate suatu relasi yang mungkin dibatasi oleh batasan integritas yang mengatur transaksi ‘real world’ yang direpresentasikan oleh peng-updatean tersebut. Perancangan batasan tersebut sekali lagi tergantung pada DBMS yang dipilih. Beberapa sistem menyediakan fasilitas-fasilitas dibandingkan yang lainnya untuk mendefinisikan kendala umum. Seperti langkah sebelumnya, jika sistem tersebut mempunyai aturan sesuai aturan standar SQL, beberapa batasan yang diterapkan. Langkah 4
: Merancang Organisasi file dan
indeks Tujuan dari langkah ini adalan untuk menentukan organisasi file yang optimal untuk
71
menyimpan relasi dasar dan indeks yang dibutuhkan untuk mencapai kinerja yang diharapkan. Karena itu,cara dimana relasi dan tuples yang ada akan disimpan pada penyimpanan secondary. Langkah 4.1 : Menganalisis Transaksi Tujuan
dari
langkah
ini
adalah
untuk
memahami fungsionalias dari suatu transaksi dimana akan dijalankan pada basis data untuk menganalisis transaksi yang penting. Langkah 4.2 : Memilih organisasi file Tujuan
dari
langkah
ini
adalah
untuk
menentukan organisasi file yang efisien untuk relasi dasar. Beberapa organisasi file efisien untuk bulk loading data kedalam basis data tetapi setelah itu tidak efisien. Dengan kata lain, kita ingin menggunakan struktur penyimpanan yang efisien untuk mengeset basis
data
dan
kemudian
mengubahnya
untuk
penggunaan operasional normal. Karena itu, tujuan dari langkah ini adalah untuk memilih organisasi file yang optimal untuk tiap relasi, jika DBMS yang dituju memberbolehkannya. Dalam banyak kasus yang ada,suatu relasional DBMS akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun beberapa akan mempunyai indeks yang spesifik.
72
Langkah 4.3 : Memilih Indeks Tujuan dari langkah ini adalah menentukan apakah dengan adanya penambahan indeks akan meningkatkan kinerja dari suatu sistem. Salah satu pendekatan untuk organisasi file yang sesuai untuk relasi yaitu menjaga agar tuple tidak berurutan dan membuat indeks secondary sebanyak mungkin. Pendekatan lainnya yaitu untuk mengurutkan tuple dalam relasi dengan menspesifikasi primary atau clustering indeks. Langkah 4.4 : Mengestimasti kapasitas penyimpanan Tujuan dari langkah ini adalah mengestimasi jumlah kapasitas disk yang akan dibutuhkan oleh basis data dalam mendukung implementasi basis data pada penyimpanan secondary. Seperti pada langkah sebelumnya,mengestimasi penggunaan disk sagat bergantung pada DBMS yang dituju dan perangkat lunak yang digunakan untuk mendukung basis data. Secara umum estimasi tersebut dilakukan berdasarkan ukuran tiap tuple dan jumlah tuple dalam relasi. Langkah 5 : Merancang tampilan untuk user Tujuan
dari
langkah
ini
adalah
untuk
merancang tampilan user yang diidentifikasi selama
73
tahap pengumpulan dan analisis kebutuhan pada siklus hidup pengembangan sistem basis data. Langkah 6 : Merancang Mekanisme keamanan Tujuan
dari
langkah
ini
adalah
untuk
merancang mekanisme keamanan untuk basis data seperti yang telah dispesifikasikan user selama tahap analisis dan pengumpulan
kebutuhan
pada
siklus
hidup
pengembangan sistem basis data. Selama
tahap
analisis
dan
pengumpulan
kebutuhan pada siklus hidup pengembangan sistem basis data,
kebutuhan
keamanan
yang
spesifik
harus
didokumentasikan dalam spesifikasi kebutuhan sistem. Sasaran dari tahap ini adalah untuk memutuskan bagaimana kebutuhan keamanan ini akan direalisasikan. Beberapa sistem menawarkan fasilitas keamanan yang berbeda dari sistem yang lainnya. Sekali lagi, perancang basis data hatus hati-hati terhadap fasilitas yang ditawarkan oleh DBMS yang dituju. Relational DBMS biasanya menyediakan dua macam keamanan basis data antara lain: a. Keamanan sistem b. Keamanan data Keamanan sistem menutupi pengaksesan dan penggunaan basis data pada tingkat sistem, seperti username dan password. Sedangkan keamanan data
74
menutupi pengaksesan dan penggunaan objek basis data (seperti relasi dan views) dan tindakan dimana user dapat memperoleh objek tersebut. Definisi dari keamanan basis data adalah suatu mekanisme yang memproteksi basis data dari suatu kejadian baik yang disengaja maupun tidak. Suatu basis data merupakan sumber dari perusahaan yang essential yang perlu dilindungi dengan menggunakan suatu kontrol yang memadai. Beberapa
issue
keamanan
yang
perlu
diperhatikan: a. Pencurian data (theft and fraud) b. Kehilangan kerahasiaan data (loss of confidentially) c. Kehilangan hak pribadi (loss of privacy) d. Kehilangan integritas (loss of integrity) e. Kehilangan ketersediaan data (loss of availability)
Hasil akhir perancangan physical basis data adalah suatu proses yang mendeskripsikan suatu implementasi dari suatu basis data pada media penyimpanan. Hal ini mendeskripsikan
suatu
relational
dan
struktur
penyimpanan dan metodologi pengaksesan data oleh user yang efisien, selama batasan integritas dan pengukuran keamanan.
75
2.1.9 State Transition Diagram Menurut Marakas (2006, p135) State Transition Diagram menggambarkan bermacam-macam keadaan sebuah komponen sistem yang terdapat dalam relasi pada kejadian-kejadian atau kondisikondisi yang menyebabkan sebuah perubahan dari sebuah keadaan ke keadaan lainnya. 2.1.9.1 Notasi-notasi State Transition Diagram Notasi yang digunakan untuk membuat State Transition Diagram ada dua state yaitu yang disimbolkan dengan segi empat.
Gambar 2.11 State (sumber : Marakas, 2006, p136) Ada dua jenis state yaitu State Awal (Initial State) dan state akhir (Final State). Initial state hanya diperbolehkan satu saja, sedangkan Final State dapat lebih dari satu. Dikatakan Final state jika tidak ada perubahan keadaan dari keadaan tersebut ke keadaan lainnya. Jika ternyata masih ada dan Final State-nya hanya satu, maka akan terjadi looping terus menerus tanpa berhenti. Notasi lainnya ialah Transisi state / Perubahan state yang disimbolkan dengan anak panah
76
Gambar 2.12 Transisi State (sumber : Marakas, 2006, p136) Setiap panah diberikan label yang menunjukkan kejadian (event) yang akan menyebabkan perubahan dari satu state ke state lainnya. Label tersebut adalah kondisi dan aksi. Kondisi adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh sistem yang menyebabkan perubahan terhadap state dari state menunggu lainnya atau dari suatu aktivitas ke aktivitas lainnya, misalnya interrupt. Aksi adalah Reaksi terhadap kondisi yang menghasilkan output, misalnya pesan di layar. Ada 2 cara pendekatan dalam membuat State Transition Diagram yaitu : •
Identifikasi setiap kemungkinan dari sistem dan gambarkan masing-masing pada sebuah kotak, lalu buatlah hubungan antara state tersebut.
•
Mulai dengan state pertama dan dilanjutkan dengan state berikutnya sesuai dengan aliran yang diinginkan.
77
2.1.10 Flow Chart Menurut Mulyadi (2001, p60), bagan alir dokumen (document flowchart) adalah standar yang digunakan oleh analisis sistem untuk menggambarkan sistem tertentu. Berikut ini adalah simbol-simbol standar dengan maknanya masing-masing.
Dokumen
Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang merupakan formulir yang digunakan untuk merekam data terjadinya suatu transaksi. Nama dokumen dicantumkan ditengah symbol.
Dokumen dan
Simbol ini
Tembusannya.
digunakan untuk menggambarkan dokumen asli dan
78
tembusannya.Nomo r lembar dokumen dicantumkan disudut kanan atas. Berbagi
Simbol ini
dokumen.
digunakan untuk menggambarkan berbagai jenis dokumen yang digabungkan bersama di dalam paket. Nama dokumen dituliskan di dalam masingmasing symbol dan nomor lembar dokumen dicantumkan di sudut kanan atas symbol dokumen yang bersangkutan.
79
Catatan.
Simbol ini digunakan untuk menggambarkan catatan yang digunakan untuk mencatat data yang direkam sebelumnya didalam dokumen atau formulir. Nama catatan dicantumkan di dalam symbol ini.
Penghubung
Dalam
pada halaman
menggambarkan
yang sama (on-
bagan alir,arus
page connector).
dokumen dibuat mengalir dari atas ke bawah dan dari kiri ke kanan. Karena keterbatasan ruang halaman kertas untuk menggambar,
80
maka diperlukan simbol penghubung untuk memungkinkan aliran dokumen berhenti di suatu lokasi pada halaman tertentu dan kembali berjalan di lokasi lain pada halaman yang sama. Dengan memperhatikan nomor yang tercantum di dalam simbol penghubung pada halaman yang sama, dapat diketahui aliran dokumen dalam sisi yang digambarkan dalam bagan alir.
81
Akhir arus dokumen dan mengarahkan pembaca ke simbol penghubung halaman yang sama yang bernomor seperti yang tercantum di dalam simbol tersebut.
Awal arus dokumen yang berasal dari simbol penghubung halaman yang sama, yang bernomor seperti yang tercantum di dalam simbol tersebut. Penghubung
Jika untuk
pada halaman
menggambarkan
yang berbeda
bagan alir suatu
82
(off-page
sistem diperlukan
connector).
lebih dari satu halaman, simbol ini harus digunakan untuk menunjukkan kemana dan bagamana bagan alir yang tercantum pada halaman tertentu terkait dengan bagan alir yang tercantum pada halaman yang lain.
Kegiatan manual
Simbol ini digunakan untuk menggambarkan kegiatan manual seperti : menerima order dari pembeli, mengisi formulir, membandingkan, memeriksa dan berbagai jenis
83
kegiatan klerikal yang lain. Uraian singkat kegiatan manual dicantumkan di dalam simbol ini. Keterangan,
Simbol ini
Komentar.
memungkinkan ahli sistem menambahkan keterangan untuk memperjelas pesan yang disampaikan dalam bagan alir.
Arsip sementara.
Simbol ini digunakan untuk menunjukkan tempat penyimpanan dokumen, Seperti lemari arsip dan kotak arsip. Terdapat dua tipe
84
arsip dokumen arsip sementara dan arsip permanen. Arsip sementara adalah tempat penyimpanan dokumen yang dokumennya akan diambil kembali dari arsip tersebut di masa yang akan datang untuk keperluan pengolahan lebih lanjut terhadap dokumen tersebut. Arsip permanen.
Simbol ini digunakan untuk menggambarkan arsip permanen yang merupakan tempat penyimpanan dokumen yang
85
tidak akan diproses lagi dalam sistem yang bersangkutan. On-line computer
Simbol ini
process.
menggambarkan pengolahan data dengan komputer secara on-line. Nama program ditulis di dalam simbol.
Keying
Simbol ini
(typing,verifying) menggambarkan .
pemasukan data ke dalam komputer melalui on-line terminal.
Pita Magnetic
Simbol ini
(magnetic tape).
menggambarkan arsip komputer yang berbentuk pita magnetik. Nama arsip ditulis di
86
dalam simbol. On-line storage.
Simbol ini menggambarkan arsip komputer berbentuk line (di dalam memory komputer).
Keputusan
Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis di dalam simbol.
Garis alir
Simbol ini
(flowline).
menggambarkan arah proses pengolahan data. Anak panah tidak digambarkan jika dokumen mengarah kebawah dan ke
87
kanan. Jika arus dokumen mengarah ke atas atau ke kiri, anak panah perlu dicantumkan.
Pertemuan garis
Simbol ini
alir
digunakan jika dua garis air bertemu dan salah satu garis mengikuti arus garis lainnya.
Mulai/berakhir
Simbil ini untuk
(terminal).
menggambarkan awal dan akhir suatu sistem.
Masuk ke sistem.
Karena kegiatan di luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk
88
menggambarkan masuk ke sistem yang digambarkan dalam bagan alir. Keluar ke Sistem
Karena kegiatan di
lain.
luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk menggambarkan keluar ke sistem lain.
Table 2.1 Flowchart 2.1.11 Normalisasi Menurut Connoly and Begg (2010, p416), normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan properties yang diinginkan agar dapat memenuhi data perusahaan. Tujuan
dari
normalisasi
adalah
untuk
menghilangkan
redudancy data yang menyebabkan anomaly data, untuk mengurangi kompleksitas, dan untuk mempermudah memodifikasi data. Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF), third normal form (3NF) dan
89
Boyce-Codd normal form (BCNF). Konsep utamanya terkait dengan functional dependencies, dimana menerangkan hubungan antar attribute yang ada. Sebuah relasi dapat dinormalisasikan ke dalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik. 1. Unnormalized form (UNF) Menurut Conolly and Begg (2010, p430) pada tahap ini, table masih mengandung satu atau lebih kelompok perulangan. Tabel UNF ini dibuat dengan mentransformasukan data dari sebuah informasi ke dalam table berbentuk baris dan kolom. Jika ada attribute bernilai multivalue, maka relasi tersebut dalam kondisi unnormalized. 2. First Normal Form (1NF) Menurut Conolly and Begg (2010, p430), pada tahap ini menggambarkan suatu relasi dimana pada setiap cell (perpotongan baris dan kolom) memuat satu dan hanya satu nilai, setiap cell mengandung nilai atomic (atau single value). Cara
merubah
UNF
ke
dalam
1NF
adalah
dengan
mengidentifikasi dan memisahkan repeating group dari table. Ada dua cara untuk memisahkan repeating group dari unnormalized table: •
Memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data berulang (flattening the table).
90
•
Dengan menaruh repeating data dengan meng-copy kunci attribute yang sesungguhnya ke dalam relasi.
3. Second Normal Form (2NF) Menurut Conolly and Begg (2010, p434), pada tahap ini, suatu relasi yang terdapat di dalam 1NF dan setiap attribute yang bukan primary key full functional dependency pada suatu primary key. Cara merubah 1NF ke 2NF adalah dengan menghilangkan partial dependency dengan cara menempatkannya dalam relasi yang baru bersama dengan saliran determinannya.
4. Third Normal Form(3NF) Menurut Conolly and Begg (2010, p435), pada tahap ini, sebuah relasi yang terdapat pada bentuk normalisasi pertama dan kedua, yang mana attribute non primary key bergantung pada primary key nya. Cara merubah 2NF ke 3NF adalah jika terdapat transitive dependency harus dipisahkan dari table dengan menempati attribute pada table yang baru dengan copy dari determinannya.
2.1.12 Oracle Database Menurut Zeis,Ruel and Wessler (2009, p4) oracle adalah perangkat lunak yang efisien data secara relasi
91
Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan Software Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).
Menurut Paci, Hakik., Mece, Elinda Kajo., Xhuvani, Aleksander (2012, p1), mengatakan bahwa, “Oracle basis data, seperti basis data lain, basis data administrator dapat memberikan hak akses pada setiap objek basis data ke basis data untuk pengguna, sehingga beberapa pengguna memiliki hak untuk memasukkan data, beberapa orang lain untuk memodifikasi dan beberapa pengguna lain untuk mengubahnya, tapi pengguna DBA dapat memodifikasi, menghapus, menyisipkan / membuat, memperbarui data atau objek basis data. Mengamankan data yang tersimpan dalam basis data melibatkan tidak hanya menggunakan password yang kuat atau kebijakan, tetapi juga akses yang memadai kontrol atas benda basis data untuk pengguna.”
Menurut Zeis,Ruel and Wessler (2009, p10) Beberapa jenis database : •
Online Transaction and Processing (OLTP) digunakan untuk aplikasi berorientasi transaksi di mana respon langsung dan catatan yang dimodifikasi atau disisipkan keteraturan
92
•
Decision Support System (DSS) digunakan untuk pengolahan data dan membuat penilaian pada data untuk membuat keputusan. Basis data DSS biasanya melibatkan banyak ad hoc query.
•
Online Analytical Processing (OLAP) digunakan untuk menganalisis data. biasanya, OLAP digunakan untuk intelijen bisnis atau data mining, seperti anggaran untuk peramalan
•
Hybrid bertindak sebagai database multifungsi. Basis data yang
paling
hibrida
mengandung
transaksional,
pengolahan ad hoc query, dan pengolahan batch. Basis data yang lebih besar yang memiliki tingkat layanan persyaratan umumnya terisolasi ke Basis data mereka sendiri untuk alasan kinerja dan pengelolaan.
Oracle Architecture Menurut Zeis, Ruel and Wessler (2009,p14): •
Memory komponen memori dari oracle (atau perangkat lunak, dalam hal ini) adalah apa yang menghuni RAM pada komputer. Struktur ini hanya ada ketika perangkat lunak sedang berjalan.
•
Processes
93
Oracle proses hanya ada ketika instance sedang berjalan. •
Files and structures File yang berhubungan dengan basis data yang ada sepanjang waktu selama basis data dibuat.
Basis data Oracle terdiri dari beberapa komponen berikut ini : •
Software Oracle
•
Database, yang tersimpan dalam bentuk file pada satu disk atau lebih.
•
Instance
Oracle, terdiri
dari background
process dan shared memory area •
Server process, yang meng-handle user dan aplikasi yang telah terhubung dengan basis data, dan juga mengatur
memori
dan temporary
storage yang
digunakan process tersebut. •
Oracle
Net,
yang
memungkinkan
komunikasi
antara client application dengan basis data Oracle pada sebuah jaringan.
Tools yang biasa digunakan pada basis data Oracle •
Oracle Universal Installer : Digunakan untuk instalasi software oracle, dan dapat juga digunakan untuk
94
menjalankan Oracle basis data configuration assistant untuk menginstal sebuah basis data. •
Oracle Database Configuration Assistant : Digunakan untuk meng-create basis data dari template yang dibuat oleh oracle, atau kita dapat membuat basis data sendiri sesuai keinginan kita
•
Database Upgrade Assistant : Tools yang membantu kita dalam melakukan upgrade basis data.
•
Net
Configuration
Assistant
: Digunakan
untuk
konfigurasi listener dan naming methods, yang merupakan komponen penting dalam oracle basis data network. •
Oracle Enterprise Manager Database Control : Tools yang digunakan untuk me-manageoracle basis data interface yang berbasis web.
Oracle juga membutuhkan dukungan developer oracle untuk dapat membuat aplikasi full oracle. Biasanya developer oracle yang digunakan untuk membuat aplikasi berbasis oracle, yaitu:
1. Oracle Form Builder
Pada aplikasi ini memungkinkan programmer untuk memudahkan membuat tampilan antar muka (user interface) yang dapat memudahkan user dalam menginput data.
95
2. Oracle Form Compiler
Pada aplikasi ini mendukung untuk melakukan compile trigger atau procedure yang dibuat dalam oracle form.
3. Oracle Form Runtime
Pada aplikasi ini mendukung untuk melakukan execute query yang dibuat dalam oracle form sehingga menampilkan form yang telah didesain sebelumnya.
4. Oracle Report Builder
Pada aplikasi ini mendukung untuk dapat membuat desain report dari pengambilan data yang diambil pada basis data Oracle.
5. Oracle Report Runtime
Pada aplikasi ini mendukung untuk melakukan execute query yang dibuat dalam oracle report.
96
2.1.12.1 Oracle Developer Forms
1. Komponen Dasar Form Module
Forms
o Module
Yang membentuk suatu form/aplikasi
o Menus
Menud terdiri dari module, attached libraries,
Menus,
Object
Groups,
Parameters, Program Units, Property classes dan Visual Attributes.
o PL/SQL Libraries
Libraries Terdiri dari Module (yang membentuk library), Program Unit, Specification, subprograms, references, reference by and attached libraries.
o Object Libraries
97
Kumpulan dari object aplikasi yang dapat digunakan (re-use) dalam rangka keseragaman maunpun kemudahan.
o Bulit-in Packages
Build-in package terdiri dari packages (nama packages) dan program units.
o Database objects
Database object terdiri dari owners, store program unit, libraries, tables, triggers, coloumns, and views.
2. Struktur Module Form •
Form Modul
Satu atau beberapa window, navigasi di form modul. Setiap item mempunyai urutan posisi di blok, dan setiap blok mempunyai urutan di form. Bila item yang akan dituju berada di canvas yang lain, maka canvas tersebut akan diaktifkan secara otomatis. •
Window dan canvas
98
Window dapat dalam bentuk document atau dialog, modal atau modeless. Window manager menyediakan
fasilitas
untuk
scrolling,
resizing&moving.
Kegunaan dari dibuat lebih dari satu window antara lain: •
Memungkinkan beberapa
menampilkan
canvas-view
secara
bersamaan. •
Memodulasi suatu aplikasi
Beberapa tipe canvas seperti content, stacked, toolbar dan tabform.
3. ITEM •
Text
Digunakan
untuk
menampilkan
keterangan/tulisan. •
Text Item
Digunakan untuk query, insert, update dan delete data. •
Display Item
99
Digunakan
untuk
menampilkan
data,
perhitungan dll. Tidak dapat di edit, query, navigasi dan menerima input dari user. •
Check Boxes Item
•
Radio Group
Terdiri dari kumpulan radio buttons. radio group dapat dibuat dengan cara merubah item yang telah ada dengan cara membuat yang baru dari layout editor. •
List Item
List item dapat dibuat dengan cara mengubah property text item. •
Pop List
Menampilkan data untuk dipilih
•
T-List
Menampilkan data untuk dipilih (lebih dari satu baris)
100
•
Combo Box
Memungkinkan
user
untuk
menginput data •
Image Item
Digunakan untuk menampilkan bitmapped images. Image item dapat dihubungkan dengan table atau sebagai control item/display. •
Buttons
Merupakan Interface yang digunakan untuk membuat suatu aksi/proses (menampilkan LOV, Editor, window dan juga untuk proses commit, query, kalkulasi dll)
4. Penjelasan Fungsi Menu
Menu Di form terdiri dari: •
Forms Builder Menu
Forms builder menu terdiri dari : File, Edit, View, Format, Arrange, Program, Tools, Window, Help.
101
•
Forms Runtime Menu
Forms Runtime Menu terdiri dari: Action, Edit, Query, Block, Record, Field, Window, Help.
5. Blok dan Relasi (Master/Detail) •
Block
Tidak hanya menampung data tetapi bisa menentukan relasinya. •
Master Detail Data Block
Relasi antara master detail dapat dibuat dengan cara Implisit maupun Eksplisit dengan object Navigator.
Relation adalah hubungan antar blok master dengan detail: Non Isolated (Tidak diizinkan menghapus record master bila terdapat record detail) Cascading (Menghapus record detail bila master dihapus) Isolated (hanya menghapus record master)
102
Coordination, terdiri dari empat property yang dapat digunakan untuk menset kapan/bagaimana detail ditampilkan saat master di query. Default Deferred with auto query (query dilakukan setelah cursor menuju detail blok) Deferred
without
auto
query
(dapat
menggunakan criteria query tambahan untuk detail blok) Prevent Masterless Operation (detail tidak dapat di query atau insert, jika record master tidak ada)
Visual Attribute
Digunakan untuk menunjukan posisi record yang aktif dengan mengunakan atribut warna, bentuk font dll.
LOVs
Untuk list item dari apa yang ingin diambil
Alert
Alert berfungsi untuk menampilkan window yang berisi pesan dan push button untuk pilihan seperti cancel, yes dan no.
103
Editor
Editor berfungsi untuk membantu mengisi data text yang besar.
Radio Group dan Radio Button
Berbeda dengan check box yang memungkinkan untuk memilih lebih dari satu pilihan dalam satu frame, didalam radio group hanya dapat dipilih satu pilihan.
List Item
List item dapat dibuat dengan cara mengubah property text item.
Check Box
Suatu Check box merupakan suato objek yang menampilkan nilai benar atau salah
Tab Forms
Graphic Objects dan Image Item
Graphic object adalah suatu static image yang dapat di import ke suatu form/canvas.
Image
Item
digunakan
menampilkan suatu bitmap.
untuk
menyimpan
dan
104
Sound Item
Sound item dapat digunakan untuk menghasilkan suara yang dapat berasal dari table maupun file.
Timer Item
Timer adalah suatu jam internal yang dapat deprogram untuk melakukan suatu aksi pada interval tertentu.
Dalam membuat basis data, perlu mempertimbangkan hal-hal seperti:
1. Business process dan business Rules
Business process merupakan rangkaian kegiatan dalam menyelesaikan sutu kegiatan business seperti proses penjualan (peneriman order, persetujuan, perakitan, pengiriman, piutang dank as/bank), pembelian.
Business rule merupakan aturan/batasan dalam menjalankan kegiatan business. •
Keamanan data (Data security) Security di tingkat basis data/back end
105
Basis data trigger (mencatat perubahanperubahan di field tertentu ke suatu audit file atau mencegah user tertentu merubah suatu field) Security di tingkat aplikasi/front end Membatasi
akses
ke
item
menu
termasuk sub-item untuk insert, delete, edit, and browse data. Mencegah master detail update secara batch system (beberapa data di insert tanpa update
ke
master/di save
terlebih
dahulu) •
Validasi data standart/standart data integrity
Validasi
standart
umumnya
telah
di
implementasikan di tingkat basis data, namun dapat juga di implementasikan di tingkat aplikasi untuk mendapatkan respon yang lebih cepat. Validasi ini terdiri dari: Domain integrity (ukuran dan tipe suatu data) Referential key/foreign key)
integrity
(primary
106
•
Validasi data custom/custom data integrity
Validasi custom menyangkut kebijaksanaan perusahaan seperti: Menolak penjualan/pembuatan faktur jika customer mempunyai tungakan diatas sekian juta Perhitungan bonus untuk sales person atau customer dengan metode atau cara tertentu.
2. SQL dan PL/SQL
SQL merupakan bahasa standar untuk mengakses basis data dan membuat basis data object yang bersifat non procedural, terdiri dari DDL, DML, DCL dan TPL(Transaction processing language)
PL/SQL
dikembangkan
oleh
oracle
untuk
melengkapi SQL, seperti looping, pencabangan, kondisi, cursor dan sebagainya.
Commit digunakan untuk menyimpan data secara permanen di basis data dan melepaskan semua record locking.
107
Rollback digunakan untuk membatalkan transaksi yang telah dilakukan.
Query record group adalah sebuah record group yang berhubungan dengan perintah select.
Non query record group adalah sebuah record group yang tidak mempunyai hubungan dengan query.
Database trigger adalah suatu PL/SQL blok di basis daya yang di aktifkan oleh event insert, delete and update baik before maupun after.
Application trigger adalah suatu PL/SQL blok di aplikasi yang diaktifkan oleh event (user system) di tingkat aplikasi.
Application trigger dari jenisnya dapat dikelompokkan menjadi: Standart trigger yang diaktifkan suatu event (post change, post insert, dll) Key trigger yang diaktifkan function key atau build-in do key Username
trigger
diaktifkan
menggunakan built in execute_trigger
dengan
108
Database user adalah user yang mempunyai password, privilege atau role untuk mengakses suatu basis data yang dapat dikelompokkan menjadi dua yaitu sistem privilege dan object privilege
Application user adalah user yang mempunyai password, privilege atau role untuk mengakses menumenu aplikasi.
Menu adalah kumpulan dari item-item dimana user dapat memilih spesifikasi fungsi atau operasi. Setiap item dimenu mewakili suatu perintah atau submenu.
Form menu dapat dibuat dengan cara membuat sebuah window dan canvas baru. Di canvas tersebut tempatkan beberapa pushbutton dan text item sebagai keterangan menu.
Tool bar menu merupakan salah satu jenis menu yang terdiri dari button dan icon/text.
Pop up menu adalah menu yang diaktifkan bila tombol kanan mouse di klik. Satu popup menu dapat dihubungkan di lebih dari satu item atau kanvas.
Pull down menu dapat dibuat dari awal atau modifikasi standart menu form dengan menggunakan editor.
109
2.1.12.2 Oracle Developer Reports
Fungsi dari oracle reports adalah untuk menampilkan data dari suatu sumber dalam bentuk laporan.
Jenis-jenis laporan yang disediakan oleh reports adalah tabular, master/detail (group), drill down, matrix, mailing label, form, form letter.
Oracle report terdiri dari 3 komponen yaitu: Report builder Report runtime Report compiler •
Report builder
Didalam report builder terdapat object navigator, yang berfungsi untuk mengatur object-object dalam report.
Dalam object navigator terdapat beberapa node, seperti: Reports Didalam node reports terdapat lagi beberapa object, yaitu: Live previewer, Data model, Layout model, Parameter form, Report triggers, Program units, Attached libraries.
110
Templates Untuk mendefinisikan template yang digunakan dalam report External queries Untuk mendefinisikan query eksternal, berupa perintah SQL select. PL/SQL libraries Terdiri dari program units dan attached library Debug actions Berisi break pint dari suatu perintal PL/SQL dalam program units. Stack Akan berisi program unit yang dipanggil dan variable yang digunakan pada saat report dijalankan dengan debug actions yang di set. Built-in packages Package, berupa package spec, yang telah disediakan (built-in).
111
Database objects Menampilkan nama-nama user yang ada dalam basis data dan objek-objek basis data yang dapat diakses oleh user tersebut.
Live previewer
Live previewer merupakan suatu fasilitas dimana user dapat melihat (preview) output dari suatu report dan langsung dapat mengubah propertinya, seperti posisi, ukuran dan lain sebagainya.
Data model
Data model merupakan suatu tempat untuk mendefinisikan data yang akan digunakan dalam report.
Data yang didefinisikan berupa: Query, Group, Coloumn, Parameter, link.
Layout model
Merupakan suatu tempat untuk mendesain tampilan report.
Parameter form
112
Suatu form yang digunakan untuk memasukkan parameter
untuk
report.
Parameter
yang
dimasukkan dapat berupa system parameter dan user parameter.
Report trigger
Report trigger adalah kumpulan perintah PL/SQL yang akan dilaksanakan pada saat-saat tertentu.
Program units
Kumpulan
unit-unit
yang
berupa
procedure,
function atau package yang ada dalam report.
Attached library
Perintah PL/SQL eksternal yang digunakan dalam report. •
Debugger
Debugger di oracle report digunakan untuk mendebug program unit.
113
2.2 Teori pendukung 2.2.1 Piutang Menurut Widjaja, Amin (2012, p43) Piutang adalah klaim uang pada perusahaan maupun individu. Klaim tersebut biasanya didapatkan dari penjualan barang atau jasa ataupun dari peminjaman uang. Menurut Dr. Islahuzzaman (2012, p3) Piutang adalah klaim kepada pihak lain atau uang, barang, atau jasa yang dapat diterima dalam kangka waktu satu tahun, atau dalam satu siklus kegiatan perusahaan. Menurut Hery (2012, p212) Piutang adalah sejumlah tagihan yang akan diterima oleh perusahaan (umumnya dalam bentuk kas) dari pihak lain, baik sebagai akibat penyerahan barang dan jasa secara kredit (untuk piutang pelanggan yang terdiri atas piutang usaha dan memungkinkan piutang wesel), memberikan pinjaman (untuk piutang karyawan, piutang debitur yang biasanya langsung dalam bentuk piutang wesel, dan piutang bunga), maupun sebagai akibat kelebihan pembayaran kas kepada pihak lain (untuk piutang pajak).
2.2.1.1 Jenis-jenis Piutang Sebelum suatu transaksi penjualan dilakukan, biasanya terlebih dahulu ada kesepakatan mengenai cara pembayaran transaksi tersebut apakah secara tunai atau kredit. Apabila
114
pembayaran dilakukan secara tunai maka perusahaan akan langsung
menerima
kas.
Namun
apabila
pembayaran
dilakukan secara kredit maka perusahaan akan menerima piutang. Pengklasifikasian
piutang
dilakukan
untuk
memudahkan pencatatan transaksi yang mempengaruhinya. Ikatan Akuntan Indonesia (IAI) (2007 : 451) mengemukakan bahwa menurut sumber terjadinya, piutang digolongkan ke dalam dua (2) kategori yaitu: piutang usaha dan piutang lainlain. Piutang usaha timbul karena penjualan produk atau jasa dalam rangka kegiatan normal usaha, sementara piutang yang timbul di luar kegiatan normal usaha digolongkan sebagai piutang lain-lain. Berikut adalah pengelompokan piutang secara umum: a. Piutang Dagang (Trade Receivable) Piutang dagang merupakan jumlah tagihan perusahaan kepada pelanggan yang berasal dari penjualan barang dan jasa yang merupakan kegiatan usaha normal perusahaan. Piutang dagang merupakan tipe piutang yang paling lazim ditemukan dan umumnya mempunyai jumlah yang paling besar. Piutang ini dapat dibagi menjadi piutang usaha dan wesel tagih. b. Piutang Usaha (account receivable)
115
Piutang usaha yang berasal dari penjualan kredit jangka pendek dan biasanya dapat ditagih dalam waktu 30 sampai 60 hari. Biasanya piutang usaha tidak melibatkan bungan, meskipun pembayaran bunga atau biaya jasa dapat saja ditambahkan bilamana pembayarannya tidak dilakukan dalam periode tertentu. c. Wesel Tagih (notes receivable) Wesel
tagih
adalah
janji
tertulis
untuk
membayar sejumlah uang tertentu pada tanggal tertentu di amsa depan. Wesel tagih dapat berasal
dari
penjualan,
pembayaran
atau
transaksi lainnya. Wesel tagih bisa bersifat jangka pendek ataupun jangka panjang. Wesel tagih dapat digolongkan menjadi dua jenis, yaitu : •
Wesel tagih berbunga (interest bearing notes). Wesel tagih berbunga ditulis sebagai perjanjian untuk membayar pokok
atau
jumlah
nominal
dan
ditambah dengan bunga yang terhutang pada tingkat khusus.
116
•
Wesel tagih tanpa bunga (non-interest bearing notes). Pada wesel tagih tanpa bunga tidak dicantumkan persen bunga, tetapi
jumlah
nominalnya
meliputi
beban bunga. d. Piutang Lain-lain (Non Dagang) Piutang
lain-lain
merupakan
tagihan
perusahaan kepada pelanggan atau pihak lain akibat dari transaksi yang secara tidak langsung berhubungan dengan kegiatan normal usaha perusahaan. Piutang lain-lain meliputi piutang pegawai, piutang dari perusahaan afiliasi, piutang dividen, piutang bunga, dan lain-lain.
Sedikit berbeda dengan pendapat Niswonger (2005 : 392), jenis piutang dibedakan atas tiga (3) jenis, yaitu: 1. Piutang Usaha, merupakan jenis piutang yang diperkirakan dapat ditagih antara 30 - 60 hari. 2. Piutang Wesel / Wesel Tagih, merupakan jenis piutang yang periode kreditnya lebih dari 60 hari. 3. Piutang Lain-lain, merupakan jenis piutang yang jika dapat ditagih dalam waktu 1 tahun diklasifikasikan sebagai aktiva lancar. Namun jika piutang tersebut tidak dapat ditagih dalam waktu 1 tahun diklasifikasikan sebagai aktiva tidak lancar.
117
2.2.2 Penjualan Menurut Henry Simamora
(2000, p24) Penjualan adalah
pendapatan lazim dalam perusahaan dan merupakan jumlah kotor yang dibebankan kepada pelanggan atas barang dan jasa.
Menurut Chairul Marom
(2002, p28) Penjualan artinya
penjualan barang dagangan sebagai usaha pokok perusahaan yang biasanya dilakukan secara teratur. Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit atau tunai. Berdasarkan pengertian di atas, maka dapat disimpulkan bahwa penjualan adalah persetujuan kedua belah pihak antara penjual dan pembeli, dimana penjual menawarkan suatu produk dengan harapan pembeli dapat menyerahkan sejumlah uang sebagai alat ukur produk tersebut sebesar harga jual yang telah disepakati.
2.2.2.1 Klasifikasi Transaksi Penjualan Ada beberapa macam transaksi penjualan menurut La Midjan (2001, p170) Penjualan dapat diklasifikasikan sebagai berikut: 1. Penjualan Tunai
118
Adalah penjualan yang bersifat cash dan carry pada umumnya terjadi secara
kontan dan dapat pula
terjadi pembayaran selama satu bulan dianggap kontan. 2. Penjualan Kredit Adalah penjualan dengan tenggang waktu rata-rata diatas satu bulan. 3. Penjualan Tender Adalah
penjualan
yang
dilaksanakan
melalui
prosedur tender untuk memegangkan tender selain harus memenuhi berbagai prosedur. 4. Penjualan Ekspor Adalah penjualan yang dilaksanakan dengan pihak pembeli luar negeri yang mengimpor barang tersebut. 5. Penjualan Konsinyasi Adalah penjualan yang dilakukan secara titipan kepada pembeli yang juga sebagai penjual. 6. Penjualan Grosir Adalah penjualan yang tidak langsung kepada pembeli, tetapi melalui pedagang grosir atau eceran.
119
2.2.2.2 Tujuan Penjualan Dalam suatu perusahaan kegiatan penjualan adalah kegiatan yang penting, karena dengan adanya kegiatan penjualan tersebut maka akan terbentuk laba yang dapat menjamin kelangsungan hidup perusahaan. Tujuan umum penjualan yang dimiliki oleh perusahaan menurut Basu Swastha (2005, p404), yaitu:
Mencapai volume penjualan tertentu.
Mendapat laba tertentu.
Menunjang pertumbuhan perusahaan.
Berdasarkan uraian di atas dapat disimpulkan bahwa tujuan umum perusahaan dalam kegiatan penjualan adalah untuk mencapai volume penjualan,
mendapat laba yang
maksimal dengan modal sekecil-kecilnya, dan menunjang pertumbuhan suatu perusahaan.
2.2.2.3 Faktor-faktor Yang Mempengaruhi Penjualan Aktivitas penjualan banyak dipengaruhi oleh faktor tertentu yang dapat meningkatkan aktivitas perusahaan, oleh karena itu manajer penjualan perlu memperhatikan faktorfaktor yang mempengaruhi penjualan. Faktor-faktor yang
120
mempengaruhi penjualan menurut Basu Swastha (2005, p406)antara lain sebagai berikut: •
Kondisi dan Kemampuan Penjual Kondisi dan kemampuan terdiri dari pemahaman atas beberapa masalah penting yang berkaitan dengan produk yang dijual, jumlah dan sifat dari tenaga penjual adalah: a. Jenis dan karakteristik barang atau jasa yang ditawarkan b. Harga produk atau jasa c. Syarat penjualan, seperti: pembayaran, pengiriman
•
Kondisi Pasar Pasar sebagai kelompok penbelian atau pihak yang menjadi sasaran dalam penjualan dan dapat pula mempengaruhi kegiatan penjualannya.
•
Modal Modal atau dana sangat diperlukan dalam rangka untuk mengangkut barang dagangan ditempatkan atau untuk membesar usahanya.
•
Kondisi Organisasi Perusahaan
121
Pada perusahan yang besar, biasanya masalah penjual ini ditangani oleh bagian tersendiri, yaitu bagian penjualan yang dipegang oleh orang-orang yang ahli dibidang penjualan. •
Faktor-faktor lain Faktor-faktor lain seperti periklanan, peragaan, kampanye, dan pemberian hadiah sering mempengaruhi penjualan karena diharapkan dengan adanya faktorfaktor tersebut pembeli akan kembali membeli lagi barang yang sama
2.2.2.4 Bagian-Bagian Penjualan Menurut
Krismiaji
(2002,
p275)
bagian-bagian
penjualan dibagi menjadi beberapa bagian, yaitu: Bagian Penjualan,
Bagian
Kredit,
Bagian
Gudang,
Bagian
Pengiriman, Bagian Penagihan. Menurut pengertian diatas dapat diuraikan sebagai berikut: 1. Bagian Penjualan Adalah bagian penjualan menerima surat pesanan dari pihak pembeli dan membuat surat order penjualan atas dasar surat pesanan tersebut.
122
2. Bagian Kredit Adalah atas dasar surat pesanan dari pembeli yang diterima dibagian penjualan, bagian ini memeriksa data kredit pelanggan yang selanjutnya memberikan persetujuan terhadap surat pesanan tersebut dan memeriksannya ke bagian gudang. 3. Bagian Gudang Adalah bagian gudang yang bertugas untuk menyimpan persediaan baran dagangan serta mempersiapkan barang dagangan yang akan dikirim kepada pembeli. 4. Bagian Pengiriman Adalah bagian ini mengeluarkan surat order penjualan dan kemudian membuat nota pengiriman atas barang yang dipesan. 5. Bagian Penagihan Adalah bagian ini bertugas untuk membuat faktur penjualan dan kemudian didistribusikan kepada: a.
Rangkap
pertama
(asli)
diberikan
kepada
pelanggan b.
Rangkap kedua diberikan kepada bagian piutang
c.
Rangkap ketiga diarsipkan brdasarkan nomor urut bersamaam dengan surat order penjualan
Dapat disimpulkan bahwa bagian-bagian penjualan terdiri dari: Bagian Penjualan, Bagian Kredit, Bagian Gudang, Bagian Pengiriman, dan Bagian Penagihan.
123
2.2.3 Property Developer
Istilah developer berasal dari bahasa asing yang menurut kamus bahasa inggris artinya adalah pembangun perumahan. Dalam Undang-Undang Perlindungan Konsumen Developer masuk dalam kategori sebagai pelaku usaha. Pengertian Pelaku Usaha dalam Pasal 1 angka 3 Undang-Undang Nomor 8 tahun 1999 tentang Perlindungan Konsumen yaitu:
“Pelaku Usaha adalah setiap orang perseorangan atau badan usaha, baik yang berkedudukan atau melakukan kegiatan dalam wilayah hukum Negara Republik Indonesia, baik sendiri maupun bersama-sama melalui perjanjian menyelenggarakan kegiatan usaha dalam berbagai bidang ekonomi.” Sementara itu menurut Pasal 5 ayat (1) Peraturan Menteri Dalam Negeri Nomor 5 tahun 1974, disebutkan pengertian Perusahaan Pembangunan Perumahan yang dapat pula masuk dalam pengertian developer, yaitu : “Perusahaan Pembangunan Perumahan adalah suatu perusahaan yang berusaha dalam bidang pembangunan perumahan dari berbagai jenis dalam jumlah yang besar di atas suatu areal tanah yang akan merupakan suatu kesatuan lingkungan pemukiman yang dilengkapi dengan prasaranaprasarana lingkungan dan fasilitas-fasilitas sosial yang diperlukan oleh masyarakat penghuninya.”
124
2.2.3.1 Resiko Property Developer Menurut Newell, Graeme., Steglick,Mark (2006, p24) mengatakan bahwa “ Semua aspek risiko properti investasi telah mendapat liputan yang luas selama bertahun-tahun ini termasuk pengurangan risiko efek properti di penurunan, portofolio portofolio risiko melalui properti, premi diversifikasi risiko untuk sektor properti dan dampak dari valuasi-smoothing pada risiko properti. Namun, telah diakui selama bertahun-tahun bahwa penelitian risiko pengembangan properti terbatas, terutama mengingat peran siklus properti dan strategis implikasi untuk properti dan pengembangan properti. 2.3 Kerangka Pikir Berisi tentang apa yang akan dikerjakan dalam Tugas akhir ini. Proses dalam mengerjakan Tugas Akhir ini
125
Gambar 2.13 Kerangka pikir Data disimpan pada sebuah dokumen yang akan diproses melalui proses DBLC yang akan menghasilkan sebuah laporan yang akan dianalisis oleh pihak management dan kemudian akan menghasilkan sebuah keputusan.
Gambar 2.14 Tahap DBLC Di dalam proses DBLC terdapat beberapa langkah untuk membangun database, dan tahap-tahap yang digunakan adalah : Database Planning, System Definition, Requirement Collection and analysis, Database Design, DBMS selection, Application Design, Prototyping. Kemudian dari tahaptahap di dalam DBLC itu tersebut dapat menghasilkan sebuah laporan.