7
BAB 2
LANDASAN TEORI
2.1 Teori Umum 2.1.1 Database
Menurut Connolly dan Begg (2005, p15) Database merupakan suatu kumpulan relasi-relasi logikal dari data dan deskripsi dari suatu data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Database merupakan sebuah tempat penyimpanan tunggal yang besar bagi data yang dapat digunakan secara serentak oleh banyak departemen dan pengguna. Database merupakan sebuah komponen yang tidak dimiliki sendiri tetapi merupakan sebuah sumber daya yang terbagi dalam perusahaan. Database tidak hanya berisi data operasional organisasi tetapi juga deskripsi data tersebut yang disebut metadata / data yang menjelaskan tentang data.
Sistem database menurut Connoly dan Begg(2005, p4) adalah kumpulan dari aplikasi program yang berinteraksi dengan DBMS dan database itu sendiri.
2.1.2 DBMS
Menurut Connolly dan Begg (2005, p16) Database Management System merupakan sebuah program yang memperbolehkan pengguna untuk mengontrol dan mengatur pengorganisasian, penyimpanan dan pengambilan data dalam suatu database. DBMS menyediakan fasilitas-fasilitas sebagai berikut berikut :
a. Memungkinkan pengguna untuk mendefinisikan database, melalui Data Definition Language (DDL). DDL memungkinkan pengguna untuk menentukan struktur dan jenis data serta batasan pada data yang disimpan dalam database.
b. Memungkinkan pengguna untuk melakukan manipulasi data menggunakan Data Manipulation Language (DML). DML menyediakan fasilitas pemeriksaan umum yang disebut query language.
c. Menyediakan akses kendali pada database seperti
- Security system, yang mencegah pengguna yang tak memiliki otorisasi untuk mengakses database
- Integrity system, yang memelihara konsistensi data
- Concurency control system, yang memungkinkan pembagian akses terhadap database
- Recovery control system, yang menyimpan database kembali pada keadaan konsisten sebelumnya
- User-accessible catalog, yang berisi deskripsi data dalam database.
2.1.3 Komponen Database
Menurut Connolly dan Begg (2005, p18-p21), ada lima komponen utama dalam ruang lingkup DBMS yaitu :
a. Hardware
Hardware dapat berkisar dari komputer tunggal, mainframe tunggal, hingga komputer jaringan. Penggunaan hardware tergantung pada kebutuhan suautu organisasi dan DMBS yang akan digunakan.
b. Software
Komponen ini terdiri dari DBMS dan program aplikasi bersama sistem operasi dan software jaringan, jika DBMS digunakan melalui jaringan. c. Data
Merupakan komponen yang terpenting dalam suatu DBMS. Dimana data berfungsi sebagai jembatan antara komponen mesin dan komponen manusia. Database berisi data operasional dan metadata.
d. Procedures
Mengacu pada instruksi-intruksi dan aturan-aturan yang memerintahkan perancangan dan penggunaan database. Pengguna sistem dan petugas yang mengatur database memerlukan dokumentasi prosedur bagaimana cara untuk menggunakan dan menjalankan sistem. Instruksi tersebut seperti : o Bagaimana cara masuk ke dalam DBMS
o Bagaimana menggunakan fasilitas DBMS tertentu o Membuat backup pada database
o Memulai dan menghentikan DBMS
o Bagaimana menangani kesalahan hardware dan software tertentu e. People
o Pemrogram Aplikasi : Yang bertanggung jawab untuk membuat aplikasi database dengan menggunakan bahasa pemrograman yang ada
o End User : Siapapun yang berinteraksi dengan sistem secara online atau tidak melalui komputer atau jaringan.
o Data Administrator : Seseorang yang berwenang membuat keputusan dan kebijakan strategis mengenai data yang ada.
o Database Administrator : Menyediakan dukungan teknis untuk implementasi keputusan tersebut, bertanggung jawab atas keseluruhan kendali sistem pada tingkat teknis.
Gambar 2. 1 DBMS Environment (Connoly dan Begg, 2005, p19)
2.1.4 Keuntungan DBMS
Menurut Connolly dan Begg (2005, p26-p29), DBMS memiliki keuntungan sebagai berikut :
a. Kontrol terhadap pengulangan data (Data redundancy)
Database berusaha untuk menghilangkan pengulangan dengan mengintegrasikan file sehingga berbagai copy dari data yang sama tidak tersimpan. Bagaimanapun juga pendekatan ini tidak menghilangkan
pengulangan secara menyeluruh, tetapi mengendalikan jumlah pengulangan dalam database
b. Data yang konsisten
Dengan menghilangkan atau mengendalikan pengulangan, kita telah mengurangi resiko ketidakkonsistenan yang terjadi. Jika item data disimpan hanya sekali di dalam database, maka berbagai update bagi nilai data tersebut harus dibuat hanya sekali dan nilai baru tersebut harus tersedia dengan segera kepada semua pengguna. Jika item data disimpan lebih dari sekali, sistem dapat memastikan bahwa semua copy dari item tersebut tetap konsisten.
c. Semakin banyak informasi yang didapat dari data yang sama
Dengan data operasional yang terintegrasi, hal ini memungkinkan bagi organisasi untuk mendapatkan informasi tambahan dari data yang sama. d. Pembagian Data (Sharing of data)
Termasuk bagian dari keseluruhan organisasi dan dapat dibagikan oleh semua pengguna yang berotoritas. Dalam hal ini, banyak pengguna membagikan lebih banyak data.
e. Meningkatkan integritas data
Integritas database mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya diekspresikan dalam istilah batasan, yang berupa aturan konsisten yang tidak boleh dilanggar oleh database. Integrasi memungkinkan DBA untuk menjelaskan, dan memungkinkan DBMS untuk membuat batasan integritas.
f. Meningkatkan keamanan data
Keamanan database yaitu melindungi database dari pengguna yang tak memiliki hak atau wewenang. Hal ini dapat dilakukan dengan menggunakan sistem username dan password untuk mengidentifikasi orang yang berotoritas untuk menggunakan database. Akses pengguna yang berotoritas pada database mungkin dibatasi oleh jenis operasi seperti pengambilan, insert, update, dan delete data
g. Penetapan standarisasi
Integrasi memungkinkan DBA untuk mendefinisikan dan membuat standard yang diperlukan. Standard ini termasuk standard departemen, organisasi, nasional, atau internasional dalam hal format data, untuk memfasilitasi pertukaran data antara sistem, ketetapan penamaan, standard dokumentasi, prosedur update, dan aturan akses.
h. Pengurangan biaya
Dengan menyatukan semua data operasional organisasi ke dalam satu database dan pembuatan sekelompok aplikasi yang bekerja pada satu sumber data dapat menghasilkan pengurangan biaya. Penyatuan biaya pengembangan dan pemeliharaan sistem pada setiap departemen akan menghasilkan total biaya yang lebih rendah. Sehingga biaya lainnya dapat digunakan untuk membeli konfigurasi sistem yang sesuai bagi kebutuhan organisasi.
Setiap pengguna mempunyai kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lain. Sejak database dikendalikan oleh DBA, DBA dapat membuat keputusan berkaitan dengan perancangan dan penggunaan operasional database yang menyediakan penggunaan terbaik dari sumber daya bagi keseluruhan organisasi.
j. Meningkatkan kemampuan akses dan respon pada data
Dengan pengintegrasian data yang melintasi batasan departemen dapat secara langsung diakses pada pengguna akhir. Hal ini dapat menyediakan sebuah sistem dengan lebih banyak fungsi seperti fungsi untuk menyediakan layanan yang lebih baik pada pengguna akhir atau klien organisasi. Banyak DBMS menyediakan query language yang memungkinkan pengguna untuk menanyakan pertanyaan ad hoc dan memperoleh informasi yang diperlukan dengan segera pada terminal mereka, tanpa memerlukan programmer menulis beberapa software untuk mengubah informasi ini dari database.
2.1.5 Kerugian DBMS
Menurut Connolly dan Begg (2005, p29-p30), DBMS memiliki kerugian sebagai berikut :
a. Kompleksitas.
Ketentuan dari fungsi yang kita harapan dari DBMS yang baik membuat DBMS menjadi sebuah software yang sangat kompleks. Perancang dan pengembang database, DA dan DBA, serta pengguna akhir harus memahami fungsi tersebut untuk mendapatkan banyak keuntungan dari DBMS ini.
b. Ukuran.
Fungsi yang kompleks dan luas membuat DBMS menjadi software yang sangat besar, memerlukan banyak ruang hardisk dan jumlah memory yang besar untuk berjalan dengan efisien.
c. Biaya dari suatu DBMS.
Biaya DBMS bervariasi, tergantung pada lingkungan dan fungsi yang disediakan. Di situ juga terdapat biaya pemeliharaan tahunan yang juga dimasukkan dalam daftar harga DBMS.
d. Biaya penambahan perangkat keras.
Kebutuhan tempat penyimpangan bagi DBMS dan database amat memerlukan pembelian tempat penyimpanan tambahan. Lebih lanjut, untuk mencapai performa yang diperlukan, mungkin diperlukan untuk membeli mesin yang lebih besar dsb. Hal ini tentu memerlukan tambahan biaya yang tidak sedikit. Tergantung pada spesifikasi perangkat keras yang diperlukan.
2.1.6 Arsitektur ANSI-SPARC three Level
Menurut Connolly dan Begg (2005, p34-p37), arsitektur ANSI-SPARC three-level dibagi menjadi tiga bagian yaitu :
Gambar 2. 2 ANSI SPARC three archictecture (Connoly dan Begg, 2005, p35)
• Level Eksternal
External level merupakan level individual, dimana masing-masing pengguna hanya akan berkepentingan dengan satu bagian saja. Cara pandang dari masing-masing pengguana bersifat abstrak bila dibandingkan dengan bagaimana sebenarnya data tersebut disimpan. Masing-masing pandangan pengguna tersebut disebut external view, yang berisi berbagai tipe eksternal record. Jadi level ini berkaitan erat dengan pemakai, dimana dari tiap pemakai hanya memerlukan sebagian dari data yang ada dalam database. Cara pandang secara eksternal hanya terbatas pada entity, atribut, dan hubungan antar entity yang diperlukan saja.
• Level Konseptual
Conceptual view merupakan representasi informasi keseluruhan dari isi database, dimana semua pandangan masing-masing pengguna digabungkan. Perwujudannya abstrak, bila dibandingakan dengan bagaimana data sesungguhnya tersimpan secara fisik. Conceptual view berisi berbagai tipe record konseptual yang didefinisikan oleh skema konseptual, ditulis dalam Data Definition Language (DDL). Pendefinisian skema konseptual dimaksudkan untuk menyertakan fitur-fitur tambahan, seperti security dan integrity. Beberapa tujuan utama dari skema konseptual diantaranya : menggambarkan perusahaan secara lengkap, bagaimana data tersebut digunakan, bagaimana aliran data di dalam perusahaan, kegunaan data untuk setiap proses, proses kendali atau audit yang diberikan pada setiap proses. • Level Internal
Internal view merupakan level terendah dalam merepresentasikan dari keseluruhan database. Internal view berisikan berbagai tipe internal record yang didefinisikan oleh skema internal. Selain itu juga menyelesaikan mengenai penempatan ruang penyimpanan data dan index, bagaimana perwujudan field-field yang disimpan, deskripsi record untuk penyimpanan (dengan ukuran penyimpan untuk elemen), dan teknik enkripsi (pengamanan data). Dengan kata lain level ini berkaitan dengan struktur penyimpanan/ database yang tersimpan yang menerangkan tempat penyimpanan pada skema internal yang menerangkan hubungannya dengan cara pengaskesan data yang disimpan.
Tujuan dari arsitektur three-level adalah untuk menyediakan data independence yang berarti bahwa level yang lebih tinggi tidak berpengaruh oleh perubahan pada level yang lebih rendah.
2.1.7 Fact Finding Technique
Menurut Connolly dan Begg (2005, p314-p320), fact-finding adalah suatu proses formal yang menggunakan beberapa cara seperti wawancara dan kuisioner untuk mengumpulkan fakta tentang sistem, kebutuhan, dan preferensi. Teknik fact-finding dapat digunakan dalam waktu dan kondisi yang berbeda-beda, dengan tujuan pengumpulan fakta yang berbeda untuk masing-masing teknik.
Pengumpulan fakta sangat penting dalam proses awal dalam siklus hidup database, dimana fakta-fakta tersebut akan sangat berguna dalam menentukan perencanaan database, system definition, dan menentukan kebutuhan akan suatu sistem, serta dalam proses analisis selanjutnya. Di dalam proses perancangan database nantinya, fakta-fakta tersebut dibutuhkan tetapi di dalam jumlah dan frekuensi pemakaian yang lebih sedikit dibandingkan dengan tahap awal analisis, bahkan dalam tahap akhir seperti maintenance, pengumpulan fakta juga dibutuhkan untuk menentukan kekurangan dari sistem, dan apa saja yang harus ditingkatkan dari sistem tersebut.
Fact Finding Technique berdasarkan buku “Database System : A practical approach to design, implementation, and management”, ada 5 yaitu : - Examining Documentation
Dalam proses ini analis mencari informasi tentang seberapa pentingkah kebutuhan akan basis data di dalam perusahaan. Proses mempelajari dokumentasi juga dapat mendukung dalam merespon kebutuhan untuk perbaikan dari sistem yang sudah berjalan. Dalam fase ini, dibutuhkan dokumentasi sistem yang sudah ada, surat-surat dalam proses bisnis, serta bentuk laporan yang selama ini digunakan.
- Interviewing
Proses wawancara biasanya menutupi semua aspek pertanyaan yang perlu diajukan kepada responden. Wawancara adalah teknik paling umum dan paling berguna. Tetapi untuk melakukan wawancara dengan baik, dan mendapatkan hasil yang baik, dibutuhkan kemampuan komunikasi yang baik, yaitu agar hasil dari pertanyaan yang diajukan ditangkap dengan baik oleh responden, dan juga dijawab dengan tepat pada sasaran pertanyaan. Dalam proses wawancara, pewawancara dapat memperhatikan hal-hal lain selain jawaban dari responden, seperti bagaimana kebenaran dari jawaban responden, dapat diketahui dengan melihat bahasa tubuh dari responden. - Observing the Enterprise in Operation
Dengan teknik ini, pengumpulan data dapat dilakukan dengan berbaur bersama proses bisnis yang berjalan, sehingga pengalaman di lapangan yang kadang tidak selalu dapat di dokumentasikan oleh responden dalam wawancara, dapat dirasakan dan disusun dalam sebuah pernyataan langsung oleh yang melakukan observasi.
- Research
Teknik ini dapat membantu dalam bagaimana pengaplikasian sistem yang akan dibuat, dan menemukan solusi dari problem yang ada. Riset dilakukan dengan mencari informasi dalam buku referensi dan jurnal. Dari sumber-sumber tersebut mungkin bisa ditemukan bagaimana suatu masalah yang sama di selesaikan, dan bisa dijadikan referensi dalam analisis dan perancangan yang akan dilakukan.
- Questionnaires
Teknik ini dikhususkan penggunaannya dalam mengumpulkan fakta dari responden yang jumlahnya banyak. Teknik akan lebih menghemat waktu dan uang daripada mewawancara responden satu per satu, tetapi ada kekurangan yang signifikan dari wawancara, yaitu kebenaran dari informasi yang didapat tidak bisa dinilai karena informasi tersebut hanya tertulis, dan responden tersebut bisa saja menutupi informasi yang dianggap sensitif.
2.1.8 Database Languages
Menurut Connolly dan Begg (2005, p39-p40) sebuah data sublanguage terdiri dari dua bagian yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL digunakan untuk menentukan skema database dan DML digunakan baik untuk membaca dan meng-update database. Keduanya disebut data sublanguage karena mereka tidak membangun semua kebutuhan pemograman komputer seperti pernyataan kondisi dan iterative yang digunakan oleh beberapa bahasa pemograman tingkat tinggi lainnya.
2.1.8.1 Data Definition Language
Data Definition Language menurut Connolly dan Begg (2005, p40) adalah suatu bahasa yang memperoleh DBA atau pengguna untuk mendeskripsikan dan memberi nama entity, atribut, dan Relationship yang diperlukan untuk aplikasi DDL berfungsi untuk mengubah suatu data menjadi data yang berguna bagi pengguna.
Beberapa statement DDL menurut Connolly dan Begg (2005, p169-p176) :
1. Create Table
Untuk membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom.
2. Alter Table
Untuk menambah atau membuang kolom dan konstrain. 3. Drop Table
Untuk membuang atau menghapus tabel beserta semua data yang terkait didalamnya.
4. Create Index
Untuk membuat index pada suatu tabel. 5. Drop Index
Untuk membuang atau meghapus index atau menghapus index yang sudah sebelumnya.
2.1.8.2 Data Manipulation Language
Menurut Connolly dan Begg (2005, p40) DML adalah suatu bahasa yang menyediakan sekumpulan operasi yang diinginkan untuk mendukung operasi manipulasi data utama pada data yang diperoleh dalam database. DML menyediakan operasi dasar manipulasi data pada data yang ada dalam database, yaitu :
a. Penyisipan data baru ke dalam database (insertion)
b. Mengubah atau memodifikasi data yang disimpan dalam database (modify)
c. Pemanggilan data yang ada dalam database (delete)
Menurut Connolly dan Begg kita dapat membedakan DML menjadi 2 tipe yang berbeda yaitu :
a. Prosedural DML.
Prosedural DML adalah suatu bahasa yang memungkinkan pengguna (umumnya programmer) untuk memberi instruksi ke sistem mengenai data apa yang dibutuhkan dan bagaimana cara pemanggilannya (retrieve). Artinya pengguna harus menjelaskan operasi pengaksesan data yang akan digunakan dengan menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan.
b. Non prosedural DML
Non prosedural DML adalah suatu bahasa yang memungkinkan pengguna untuk menentukan data apa yang dibutuhkan dengan menyebutkan spesifikasinya tanpa menspesifikasikan bagaimana cara mendapatkannya.
2.1.9 Fungsi DBMS
Menurut Connolly dan Begg (2005, p48-p52), fungsi DBMS adalah sebagai berikut :
• Penyimpanan, Pengambilan, dan Peng-update-an data
Sebuah DBMS harus menyediakan bagi pengguna dengan sebuah kemampuan untuk menyimpan, mengambil, dan meng-update data dalam DBMS. Ini merupakan fungsi yang mendasar dari DBMS. Dalam menyediakan fungsi ini DBMS harus menyembunyikan detail implementasi fisikal internal seperti organisasi file dan struktur dari pengguna.
• Katalog User-Accesible
Sebuah DBMS harus menyediakan sebuah katalog yang menyimpan deskripsi tentang item data dan mudah diakses pada pengguna.
• Mendukung Transaksi
Sebuah DBMS harus menyediakan mekanisme yang akan memastikan bahwa semua kegiatan update yang dilakukan sesuai dengan transaksi yang diberikan atau tidak kegiatan update yang dibuat bagi transaksi tersebut. Transaksi merupakan sederatan tindakan, yang dilakukan oleh pengguna tunggal atau program aplikasi yang mengakses atau mengubah isi database. • Layanan Kendali Konkurensi
Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa database di-update dengan benar ketika banyak penggguna
meng-update database secara bersama-sama. Akses bersama relatif mudah jika semua pengguna hanya membaca data, dimana tidak ada cara bahwa mereka dapat mengganggu satu dan yang lain. Namun ketika dua atau lebih pengguna mengakses database secara serentak dan paling sedikit satu dari mereka meng-update data, di sana dapat terjadi gangguan yang menghasilkan ketidakkonsistenan.
• Layanan Perbaikan
Sebuah DBMS harus dapat menyediakan sebuah mekanisme untuk memperbaiki database disaat database mengalami kerusakkan dalam berbagai cara. Kerusakkan database dapat diakibatkan karena keruskkan sistem, kesalahan media, dan kesalahan software atau hardware. Bisa disebabkan karena adanya kesalahan proses transaksi dan penyelesaian transaksi yang tidak lengkap.
• Layanan Athorisasi
Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa hanya pengguna yang berotoritas dapat mengakses database. Hal ini untuk mencegah data yang tersimpan tak terlihat oleh semua pengguna dan melindungi database dari akses yang tak bertotoritas.
• Mendukung Bagi Komunikasi Data
Sebuah DBMS harus dapat mampu mengintegrasikan dengan software komunikasi. Kebanyakan pengguna mengakses database dari workstation. Kadang workstations berada pada lokasi yang jauh dari berkomunikasi dengan komputer DBMS melalui jaringan. Dalam hal ini DBMS menerima
permintaan sebagai pesan komunikasi dan menangapi dengan cara yang sama. Semua pengiriman ini ditangani oleh Data Communication Manager • Layanan Integritas
Sebuah DBMS harus menyediakan sebuah arti untuk memastikan bahwa data di dalam database dan perubahan pada data mengikuti aturan tertentu . Integritas database dapat mengacu pada kebenaran dan konsistensi data yang disimpan. Integritas berhubungan dengan kualitas data yang disimpan. Integritas biasanya dieskspresikan dengan istilah batasan, yaitu berupa aturan konsisten yang tidak boleh dilanggar oleh database.
• Layanan peningkatan Keterbatasan Data
Sebuah DBMS harus dapat memasukkan sebuah fasilitas untuk mendukung keterbatasan program dari struktur database yang sebenarnya. Data Independence biasanya dicapai melalui sebuah view atau mekanisme subskema Physical data indepedence lebih mudah untuk dicapi karena terdapat beberapa jenis perubahan yang dapat dibuat untuk karakteristik fisikal dari database tanpa mempengaruhi view. Bagaimana data independence logikal yang lengkap lebih susah untuk dicapai.
• Layanan Utilitas
Sebuah DBMS harus dapat menyediakan seperangkat layanan utilitas. Program utilitas membantu DBA mengelola database secara efektif. Beberapa utilitas bekerja pada tingkat eskternal, dan konsekuensinya dapat dibuat oleh DBA, yang lainnya bekerja pada tingkat internal dan dapat
disediakan hanya dengan vendor DBMS. Contoh dari utilitas tersebut antara lain :
- Fasilitas import, untuk meng-load database dari flat file, dan fasilitas eksport, untuk meng-upload database pada flat file
- Fasilitas pemantauan, untuk memantau pengguna dan operasi database - Program analisa statistik, untuk memeriksa performa dan penggunaan
statistik
- Fasilitas penyusunan index, untuk menyusun kembali index dan overflow mereka
- Penempatan dan pengumpulan sampah, untuk menghilangkan record yang dihapus secara fisik dari alat penyimpanan, untuk menggabungkan ruang yang terlepas, dan untuk menempatkan kembali record tersebut di mana ia dibutuhkan.
-
2.1.10 Komponen DBMS
Menurut Connolly dan Begg (2005, p53), komponen DBMS adalah sebagai berikut :
1. Query Processor : Merupakan komponen DBMS yang utama yang mengubah query ke dalam seperangkat instruksi tingkat rendah langsung ke database manager.
2. Database Manager : Database Manager mengantarmukakan dengan program aplikasi user-submitted dan query. DM menerima query dan memeriksa
skema eksternal dan konseptual untuk menentukan record konseptual apa yang diperlukan untuk memuaskan permintaan.
3. File Manager : File Manager memanipulasi penyimpanan file dan mengatur penempatan ruang penyimpanan dalam disk. Komponen ini mendirikan dan memelihara daftar struktur dan index yang didefinisikan dalam skema internal 4. DML Processor : Modul ini mengubah pernyataan DML yang tertanam dalam
program aplikasi ke dalam panggilan fungsi standard dalam host language. Komponen ini harus berinteraksi dengan query processor untuk membuat kode yang sesuai.
5. DDL Compiler : Modul ini mengubah pernyataan DDL ke dalam seperangkat tabel berisi meta data. Tabel ini kemudiam disimpan dalam katalog sistem sementara itu informasi kendali disimpan dalam header file data.
6. Catalog Manager : Catalog Manager mengatur akses ke dan memelihara katalog sistem. Katalog sistem diakses oleh sebagian besar komponen DBMS.
Gambar 2. 3 Komponen utama DBMS (Connoly dan Begg, 2005, p53)
2.1.11 Struktur Data Relasional
Menurut Connolly dan Begg (2005, p72-p74), Struktur data relasional terbagi menjadi beberapa bagian yaitu :
1. Relasi : Merupakan sebuah tabel dengan baris dan kolom. Digunakan untuk menyimpan informasi tentang objek yang digambarkan dalam database 2. Atribut : Merupakan nama kolom dari relasi. Atribut dapat ditampilkan
dalam berbagai perintah dan dalam relasi yang sama sehingga menyampaikan arti yang sama
3. Domain : Merupakan sekelompok nilai yang diijinkan bagi satu atau lebih atribut. Setiap atribut dalam relasi didefinisikan pada sebuah domain. Domain dapat berbeda bagi setiap atribut, atau dua/lebih atribut dapat didefinisikan pada domain yang sama. Konsep domain sangat penting karena memungkinkan pengguna menjelaskan arti dan sumber nilai yang ada pada atribut.
4. Tuple : Merupakan baris dari sebuah relasi. Tuple dapat disebut intention jika struktur relasi, domain serta batasan-batasan yang lainnya pada nilai yang mungkin bersifat tetap, namun sebaliknya jika relasi berubah setiap waktu ini disebut extension.
5. Degree : Merupakan jumlah atribut yang terdapat dalam relasi. Jika relasi mempunyai satu atribut akan mempunyai derajat satu yang disebut relasi unary / satu tuple. Jika relasi mempunyai dua atribut akan mempunyai derajat dua yang disebut binaru. Dan begitu seterusnya dengan menggunakan istilah n-ary.
6. Cardinality : Merupakan jumlah tuple yang terdapat dalam relasi. Merupakan properti dari extension relasi dan ditentukan dari instance tertentu.
7. Database Relasional : Merupakan kumpulan dari relasi yang ternormalisasi dengan nama relasi yang berbeda.
2.1.12 Entity Relationship Model
Menurut Connoly dan Begg (2005, p343) ada beberapa konsep dasar dari Entity Relationship model antara lain entity, relationship, atrribute.
2.1.12.1 Entity Types
Menurut Connolly dan Begg (2005, p343), entity adalah sekumpulan objek yang diidentifikasikan oleh sebuah perusahaan atau perorangan yang mempunyai sifat-sifat yang sama dan mempunyai keberadaan yang independen. Sebuah entity memiliki keberadaannya yang bebas dan bisa menjadi objek dengan fisik (atau real) atau menjadi objek dengan keberadaan konseptual (atau abstrak). Artinya perancang yang berbeda mungkin mengidentifikasikan entity yang berbeda pula. Sebuah database biasanya berisi banyak tipe entity yang berbeda pula. Dalam UML, huruf pertama dari entity diawali dengan huruf Kapital.
Gambar 2. 4 Contoh tipe entity (Connoly dan Begg, 2005, p345)
Menurut Connolly dan Begg (2005, p345), entity occurence adalah sebuah objek unik yang dapat diidentifikasikan dari sebuah tipe entity. Berikut adalah contoh entity : staf, cabang, property, pemilik. Tipe entity dapat diklarifikasikan menjadi 2 yaitu :
2.1.12.1.1 Strong Entity
Menurut Connolly dan Begg (2005, p354), entity kuat adalah entity yang keberadaannya tidak bergantung pada beberapa entity yang lain. Karakter dari entity ini adalah bahwa setiap kejadian entity teridentifikasi secara unik menggunakan atribut primary key. Sebagai contoh, kita dapat mengidentifikasi secara unik setiap anggota staf dengan menggunakan atribut staffNo.
2.1.12.1.2 Weak Entity
Sedangkan menurut Connolly dan Begg (2005, p355), entity lemah adalah entity yang keberadaannya tergantung pada beberapa entity yang lain. Karakteristik dari entity ini bahwa setiap kejadian entity tidak dapat teridentifikasi secara unik hanya dengan menggunakan atribut yang berhubungan dengan entity tersebut.
Sebagai contoh, kita tidak dapat mengidentigikasi setiap kejadian dari entity kesukaan hanya dengan menggunakan atribut entity tersebut. Kita hanya dapat mengidentifikasi secara unik entity kesukaan melalui relationship yang entity kesukaan miliki dengan entity klien yang secara unik teridentifikasi menggunakan primary key bagi entity klien.
Gambar 2. 5 Contoh Strong entity dan weak entity
(Connoly dan Begg, 2005, p355)
2.1.12.2 Relationship types
Menurut Connoly dan Begg (2005, p346), sebuah relationship type ialah sekumpulan asosiasi antara satu atau lebih tipe entity yang ikut serta. Setiap relation type diberi nama sesuai dengan fungsinya.
Menurut Connolly dan Begg (2005, p346), relationship occurence adalah hubungan yang dapat diidentifikasi secara unik, yang termasuk satu kejadian dari setiap entity yang berpartisipasi.
Menurut Connoly dan Begg (2005. p347), dalam relation types terdapat degree of relation type yang merupakan sejumlah tipe entity yang ikut serta dalam relationship . Entity yang terkait dalam sebuah fakta realtion type diunjuk sebagai participants dalam relationship . Jumlah participants dalam relationship type disebut degree (derajat) dari relationship tersebut. Derajat relationship terdiri dari :
Gambar 2. 6 Contoh Binary relationship (Connoly dan Begg, 2005, p348)
• Ternary relationship , keterhubungan antar tiga type entity. Contoh Ternary relationship yang diberi nama registers. Hubungan ini melibatkan tiga tipe entity yaitu Staff, Branch dan Relationship ini menggambarkan tentang Staff yang mendafatarkan Client pada Branch
Gambar 2. 7 Contoh Ternary Relationship (Connoly dan Begg, 2005, p348)
• Quternary relationship , keterhubungan antar empat entity. Contoh Quternary relationship yang diberi nama Arranges. Relasi ini melibatkan empat entity yaitu Buyer, Solicitor, Financial Intstuttion dan Bid. Relasi ini menggambarkan Buyer diberi masukkan oleh Solicitor, dan didukung oleh Financial Institution melakukan penawaran (Bid).
Gambar 2. 8 Contoh Quternary Relationship (Connoly dan Begg, 2005, p349 )
• Recursive relationship merupakan keterbukaan antar satu tipe entity, dimana tipe entity tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Relationship dapat diberikan role names untuk mengidentifikasikan keterkaitan tipe identitas dalam relationship.
Gambar 2. 9 Contoh Recursive Relationship (Connolly dan Begg 2005, p349)
2.1.12.3 Attribute
Menurut Connolly dan Begg (2005, p350), atribut adalah sebuah properti atau sifat dari entity atau relationship . Sebagai contoh, entity staf mungkin dapat menjelaskan atribut sebagai berikut : no_staff, nama, posisi, dan gaji. Setiap atribut menyimpan nilai yang menjelaskan setiap entity occurrence dan menggambarkan bagian utama dari data yang disimpan dalam database.
Menurut Connolly dan Begg (2005, p350), domain atribut adalah sekelompok nilai yang diperbolehkan bagi satu atau lebih atribut. Domain mendefinisikan nilai potensi yang atribut miliki. Sebagai contoh ruangan berhubungan dengan properti antara 1-15 untuk setiap entity occurrence. Oleh karena itu sekelompok nilai integer antara 1-15 didefinisikan sebagai sekelompok nilai bagi nomor ruangan/ atribut rooms dari entity properti.
2.1.12.3.1 Simple dan Composite Attribute
Menurut Connolly dan Begg (2005, p351), atribut simple adalah sebuah atribut yang terdiri dari komponen tunggal dengan keberadaannya yang bebas. Atribut ini tidak dapat dibagi ke dalam komponen yang lebih kecil lagi. Sebagai contoh adalah atribut posisi dan gaji pada entity staf.
Sedangkan atribut composite menurut Connolly dan Begg(2005, p351), adalah sebuah atribut yang terdiri dari berbagai komponen, dengan keberadaannya yang bebas. Atribut ini dapat
dibagi ke dalam komponen yang lebih kecil lagi. Sebagai contoh atribut alamat pada entity cabang dengan nilai 163 Main St, Glasgow, G119QX yang kemudian dibagi ke dalam komponen Jalan :163 Main St, Kota : Glasgow, Kodepos : G119QX
2.1.12.3.2 Attribute Simple Valued dan Multi-valued
Menurut Connolly dan Begg (2005, p351-352), atribut single-value adalah atribut yang berisi nilai tunggal bagi setiap kejadian dari setiap entity. Sebagai contoh, setiap kejadian dari entity cabang mempunyai nilai tunggal bagi nomor cabang/atribut branchNo = B003. Oleh karena itu atribut branchNo mengacu pada nilai tunggal.
Sedangkan menurut Connolly dan Begg (2005, p352), atribut multi-valued adalah atribut yang berisi berbagai nilai bagi setiap kejadian dari setiap entity. Sebagai contoh, setiap kejadian dari entity cabang dapat mempunyai berbagai nilai bagi atribut telNo = 65625362. Oleh karena itu atribut telNo merupakan atribut multi-value.
2.1.12.3.3 Derived Attribute
Menurut Connolly dan Begg (2005, p352), atribut derived adalah atribut yang menggambarkan sebuah nilai yang dapat diperoleh dari nilai atribut yang berhubungan atau sekelompok atribut, tidak perlu dalam entity yang sama. Sebagai contoh, nilai bagi atribut durasi dari entity pelepasan dihitung dari
atribut rentstart dan rentfinish yang juga dari entity pelepasan. Oleh karena itu atribut durasi dianggap sebagai atribut i.
Bisa juga nilai dari atribut tersebut diperoleh dari entity occurrence di dalam dalam entity yang sama. Sebagai contoh jumlah total staf (totalstaff) dari entity staf. Dapat dihitung dengan menghitung jumlah total dari entity occurrence staff.
Atribut derived juga melibatkan hubungan atribut dari entity yang berbeda. Sebagai contoh atribut deposit dari entity pelepasan di mana nilai atribut deposit dihitung dua kali berdasarkan sewa bulanan bagi properti. Oleh karena itu nilai dari atribut deposit dari entity pelepasan diperoleh dari atribut sewa dari entity properti.
2.1.13 Keys
Menurut Connolly dan Begg (2005, p352-354), relational key dibagi menjadi beberapa jenis, yaitu :
1. Candidate key yaitu kumpulan dari atribut yang secara unik mengindentifikasi keberadaan sebuah entity.
2. Primary key yaitu candidate yang di pilih untuk mengindentifikaikan setiap kejadian/ record dari suatu entity secara unik
3. Composite key, yaitu sebuah candidate key yang terdiri dari dua atau lebih atribut.
Gambar 2. 10 Contoh representasi atribut (Connoly dan Begg, 2005 ,p354)
2.1.14 Integrity Constraint
Menurut Connolly dan Begg (2005, p81-p83), relational integrity terbagi menjadi beberapa jenis, yaitu :
- Null
Merupakan gambaran sebuah nilai bagi sebuah atribut yang tidak diketahui atau tidak digunakan bagi tuple tersebut. Null tidak sama dengan nilai numerik nol atau spasi, tetapi null menggambarkan ketidakadaan nilai.
- Integritas Entity
Pada relasi dasar, tidak ada atribut primary key yang bernilai null. Berdasarkan definisi di atas, primary key minimal berperan sebagai identifier yang digunakan untuk mengidentifikasi tuple secara unik. Ini berarti tidak
ada subset dari primary key yang cukup untuk menyediakan pengidentifikasian tuple yang unik.
- Integritas Referensial
Jika terdapat foreign key dalam relasi, maka nilai foreign key tersebut akan dibandingkan dengan nilai candidate key dari beberapa tuple pada relasi itu sendiri atau nilai foreign key harus null semuanya.
2.1.15 Structural Constraint
Menurut Connolly dan Begg (2005, p356), constraints seharusnya mencerminkan batasan dari hubungan sebagi suatu tanggapan dalam dunia nyata. Tipe utama constraints dalam hubungan disebut multiciplity.Multiplicity adalah jumlah kejadian yang mungkin dari entity yang berhubungan pada kejadian tunggal dari sebuah hubungan entity melalui relationship tertentu. Ini merupakan gambaran dari kebijakan.aturan bisnis yang dibuat oleh perusahaan. Memastikan bahwa semua batasan perusahaan yang sesuai teridentifikasi dan tergambarkan merupakan bagian penting dari pemodelan perusahaan. Terdapat tiga jenis relationship sesuai dengan batasan perusahaan yaitu :
a. Relationship One to One (1:1)
Gambar 2. 11 Contoh Relationship One to One (1:1) (Connoly dan Begg, 2005, p356)
b. Relationship One to Many (1:*)
Gambar 2. 12 Contoh Relationship One to Many (1:*) (Connoly dan Begg, 2005, p359)
c. Relationship Many to Many (*:*)
Gambar 2. 13 Contoh Relationship Many to Many (*:*) (Connoly dan Begg, 2005, p360)
Tabel 2. 1 Ringkasan cara alternatif untuk menggambarkan multiciplity constraints (Connoly dan Begg, 2005, p362)
Gambar 2. 14 Contoh multiciplity yang ditunjukkan dengan cardinality constraint dan partisipacition constraint (Connoly dan Begg, 2005,p363)
2.1.16 Normalisasi
Menurut Connolly dan Begg (2005, p388) pengertian normalisasi adalah suatu teknik untuk memproduksi satu set hubungan dengan kebutuhan yang diinginkan, guna memberi data yang dibutuhkan suatu perusahaan.
Tujuan normalisasi adalah sebagai berikut :
o Menghilangkan kumpulan relasi dari inserting, updating, dan delete dependency yang tidak diharapkan
o Mengurangi kebutuhan rekstruturisasi kumpulan relasi dan meningkatkan life spam program aplikasi
o Membuat model relasional yang lebih informative o Membuat sekecil mungkin terjadinya redudansi data
o Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap o Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua
atribut
Proses dalam normalisasi menurut Connolly dan Begg (2005, p403-p409) terbagi menjadi beberapa tahap, yaitu :
2.1.16.1 Unnormalized Form (UNF)
Suatu tabel dikatakan sebagai bentuk yang unnormalized bila didalamnya terdapat kelompok berulang atau yang biasa dikenal dengan repeating group.
2.1.16.2 First Normal Form (1NF)
Untuk mengubah bentuk UNF menjadi 1 NF, yang harus dilakukan adalah mengidentifikasi dan menghilangkan kelompok berulang, agar setiap pertemuan antara baris dan kolom berisi satu dan hanya satu nilai.
Langkah-langkah membuat 1NF dari bentuk UNF : 1. Menentukan 1 atau lebih atribut sebagai kunci dari tabel UNF. 2. Mengidentifikasi repeating group dari suatu tabel UNF 3. Menghilangkan repeating group.
4. Mengisi kolom dari baris yang kosong dengan data-data sesuai
5. Menempatkan data yang berulang beserta key-nya ke dalam tabel baru. 2.1.16.3 Second Normal Form (2NF)
Pada tahap normalisasi kedua, dihilangkan setiap partial dependence yang ada pada bentuk 1NF. Yang dimaksud dengan partial dependence adalah
atribut non primary key yang merupakan sebagian fungsi dari primary key, atau dapat dijelaskan demikian apabila terdapat atribut-atribut dalam suatu relasi yang memiliki ketergantungan fungsional.
Langkah membuat 2NF dari 1 NF : 1. Mengidentifikasi primary key dari bentuk 1NF.
2. Mengidentifikasi functional dependency pada bentuk 1NF.
3. Bila terdapat partial dependency dalam primary key maka tempatkan primary key tersebut dalam suatu tabel baru beserta field-field yang berkaitan dengannya.
2.1.16.4 Third Normal Form(3NF)
Pengujian terhadap bentuk normal ketiga dilakukan dengan cara melihat apakah terdapat atribut bukan key tergantung fungsional terhadap atribut bukan key yang lain. Pada tahap normalisasi 3NF dihilangkan setiap Transitive dependence yang terdapat pada bentuk 2NF. Kondisi transitive dependence dapat diterangkan sebagai berikut : misalkan terdapat atribut A, B, dan C yang mempunyai relasi AÆB dan BÆC, C adalah transitive dependence terhadap A melalui B.
Transitive dependency terjadi ketika ada atribut yang bukan merupakan primary key, yang memiliki ketergantungan pada atribut lain yang juga bukan merupakan primary key.
Langkah-langkah membuat 3NF dari 2NF : 1. Mengidentifikasi primary key pada bentuk 2NF.
3. Bila terdapat transitive dependency pada primary key maka tempatkan primary key beserta field-field yang berkaitan pada tabel baru. Proses normalisasi secara umum dilakukan sampai ke tahap 3NF karena sudah tidak terdapat data pengulangan, dan anomali yang ada sudah sangat sedikit. 2.1.17 Siklus Hidup Aplikasi Database
Menurut Connolly dan Begg (2005, p283-p306), siklus hidup aplikasi database terdiri dari sepuluh tahapan yaitu :
2.1.17.1 Database Planning
Perencanaan adalah merencanakan bagaimana tahapan dari aplikasi bisa dicapai dengan lebih efisien dan efektif. Ada tiga isu pokok yang berkaitan dengan perumusan strategi sistem informasi, antara lain :
Identifikasi rencana dan tujuan perusahaan dengan kemudian menentukan kebutuhan sistem informasi.
Evaluasi sistem informasi yang sedang berjalan untuk menentukan kekuatan dan kelemahan yang ada.
Penilaian peluang IT yang akan menghasilkan keuntungan kompetitif.
Langkah awal yang penting dalam perencanaan adalah secara jelas mendefinisikan pernyataan tugas (mission statement) untuk proyek . Ini memadukan proyek dalam organisasi, biasanya direktur atau pemilik perusahaan yang menegaskan pernyataan tugas. Pernyataan tugas membantu untuk menjelaskan tujuan dari proyek basis data dan menetapkan garis yang jelas terhadap penciptaan basis data yang dibutuhkan agar efektif dan efisien.
Aktivitas selanjutnya adalah menetapkan sasaran tugas (mission objective). Setiap sasaran tugas harus menetapkan tugas khusus yang harus didukung basis data, asumsinya jika basis data mendukung sasaran tugas maka pernyataan tugas akan diketemukan. Pernyataan tugas dan sasaran tugas mungkin disertai dengan beberapa informasi tambahan yang khusus untuk menyelesaikan pekerjaan, sumberdaya untuk menyelesaikannya dan biaya untuk membayar semuanya.
Jelasnya pernyataan tugas dapat diperoleh dengan melakukan wawancara dengan direktur atau pegawai lainnya yang berkaitan dengan menanyakan hal seperti, apa tujuan perusahaan, kenapa perusahaan membutuhkan basis data, kenapa basis data bisa menyelesaikan masalahnya, dan hal lain yang serupa. Begitu juga dengan sasaran tugas dapat diperoleh dengan memberikan pertanyaan seperti, apa pekerjaannya, tugas apa yang diselesaikan tiap harinya, bekerja dalam data apa, jenis laporan apa yang digunakan, pelayanan apa yang diberikan perusahaan terhadap customer, dan lainnya.
2.1.17.2 System Definition
Pendefinisian sistem adalah menggambarkan lingkup dan batasan dari aplikasi basis data dan pandangan pemakai yang utama. Pandangan pemakai adalah menegaskan aplikasi basis data apa yang dibutuhkan untuk tugas tertentu seperti, untuk manager atau supervisor atau bidang aplikasi perusahaan seperti pemasaran, personalia atau pengendalian persediaan.
Sebelum mencoba merancang suatu aplikasi basis data, diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka (interface) dengan bagian sistem informasi lainnya dalam organisasi. Hal penting yang harus diperhatikan bahwa ini tidak hanya pada batasan sistem pemakai sekarang batasan bidang aplikasi sekarang, tetapi juga pemakai dan aplikasi mendatang. Sebuah aplikasi basis data mungkin memiliki satu atau lebih pandangan pemakai, karena itu mengidentifikasi pandangan pemakai penting dalam mengembangkan
aplikasi basis data agar dapat memastikan tidak ada pemakai utama yang terlupakan ketika mengembangkan keperluan untuk aplikasi baru.
2.1.17.3 Requirement Collection and Analysis
Pengumpulan dan analisa kebutuhan adalah proses pengumpulan dan menganalisa informasi tentang bagian organisasi yang akan dibuat aplikasi basis data dan menggunakan informasi ini untuk mengenali kebutuhan pemakai dari sistem baru. Informasi ini kemudian dianalisa untuk mengidentifikasi kebutuhan (yang diutamakan) untuk dimasukkan ke dalam aplikasi basis data baru.
Dalam hal ini ada beberapa teknik untuk mendapatkan informasi yang disebut dengan fact-finding technique. Yang dimaksud dengan fact-finding technique adalah teknik atau cara yang digunakan untuk mengidentifikasi kebutuhan seperti mempelajari dokumen, wawancara, pengamatan operasi perusahaan, penelitian dan menggunakan kuisioner.
2.1.17.4 Database Design
Perancangan basis data adalah proses pembuatan sebuah rancangan untuk basis data yang mendukung operasi dan tujuan perusahaan.
2.1.17.4.1 Pendekatan pada Perancangan Basis Data
Dua pendekatan utama menuju perancangan basis data dikenal sebagai ‘bottom-up’ dan ‘top-down’. Pendekatan bottom-up dimulai pada tingkatan dasar dari atribut (yang meliputi properties dari entity dan
relationship ), dimana melalui analisa diantara kumpulan atribut, dikelompokkan menjadi relasi yang menggambarkan pendekatan bottom-up ke perancangan basis data. Normalisasi melibatkan pengenalan atribut ayng diperlukan dan agregasi (aggregation) yang selajutnya menjadi relasi yang ternormalisasi didasarkan pada ketergantungan fungsional antar atribut. Pendekatan bottom-up cocok untuk perancangan basis data yang sederhana dengan atribut yang relatif sedikit.
Pendekatan top-down dimulai dengan pengembangan model data yang berisi beberapa entity dan relationship tingkat tinggi dan kemudian memakai perbaikan top-down yang berturut-turut untuk mengenali entity, relationship dan kumpulan atribut tingkat rendah. Pendekatan top-down digambarkan dengan menggunakan konsep Entity Relationship (ER) model, dimulai dengan pengenalan entity dan relationship diantara entity, yang mana demi kepentingan organisasi.
Ada pendekatan lain menuju perancangan basis data seperti pendakatan inside-out dan pendekatan percampuran strategi (mixed strategy). Pendekatan inside-out berhubungan dengan pendekatan bottom-up tetapi berbeda dengan pada awalnya mengenali satu set entity utama dan kemudiam menyebarkannya untuk mempertimbangkan entity, relationship dan atribut yang lain yang berhubungan dengan yang pertama kali dikenali.
Pendekatan pencampuran strategi menggunakan kedua pendekatan bottom-up dan top-down untuk berbagai bagian model sebelum pada akhirnya menggabungkan semua bagian bersama-sama.
2.1.17.4.2 Tahapan Perancangan Basis data
Perancangan basis data dibagi menjadi tiga tahapan utama yang dinamakan perancangan basis data konseptual, perancangan basis data logikal dan perancangan basis data fisikal
2.1.17.5 DBMS Selection
Pemilihan DBMS adalah memilih DBMS yang sesuai untuk mendukung aplikasi basis data. Tujuannya adalah untuk kecukupan sekarang dan kebutuhan masa mendatang pada perusahaan, mengimbangkan biaya termasuk pembelian produk DBMS, perangkat lunak/ perangkat keras lainnya untuk mendukung aplikasi basis data, biaya yang berhubungan dengan perubahan dan pelatihan pegawai.
Pendekatan sederhana dalam pemilihan DBMS adalah memeriksa keistimewaan DBMS dalam memenuhi kebutuhan. Dalam memilih sebuah produk DBMS baru, ini adalah kesempatan untuk memastikan bahwa proses pemilihan sudah direncanakan dan hasil yang diberikan sistem benar-benar bermanfaat bagi perusahaan.
2.1.17.6 Application Design
Perancangan aplikasi adalah merancang interaksi pemakai dan program aplikasi, yang akan memproses basis data. Dalam kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai.
Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya).
Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antarmuka pemakai yang tepat dan user-friendly. Kebanyakan antarmuka pemakai yang diabaikan akan membuat masalah. Bagaimanapun, antar muka harus diakui sebagai komponen dari sistem yang penting, dimana agar mudah dipelajari, mudah digunakan, berterus terang, dan memaafkan, sehingga pemakai akan dicenderungkan untuk memberdayagunakan dari informasi yang disajikan.
2.1.17.7 Protoytping
Prototyping adalah membuat sebuah model kerja dari sistem basis data, yang memperbolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliknya. Tujuan dari pengembangan prototype untuk mengindentifikasikasi keistimewaan sistem atauu kekurangannya, dan memungkinkan perancang untuk memperbaiki atau melengkapi keistimewaan (feature) dari aplikasi basis data.
Ada dua strategi Prototyping yang umum digunakan yaitu requirement Prototyping dan evolutionary Prototyping. Requirement Prototyping adalah menggunakan prototype untuk menetapkan kebutuhan baru tujuan
aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang (discard). Sedangkan evolutionary prototype menggunakan tujuan yang sama, tetapi perbedaan pentingnya adalah prototype tetap digunakan uintuk selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja.
2.1.17.8 Implementation
Merupakan realisasi fisik dari perancangan basis data dan aplikasi. Pada penyelesaian tingkat-tingkat perancangan(dimana mungkin atau tidak mungkin melibatkan prototyping), sekarang kita dalam posisi mengimplementasikan basis data dan program aplikasi.
Implementasi basis data dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI), dimana menyediakan fungsionalitas yang sama ketika menyembunyikan pernyataan DDL tingkat rendah. Pernyataan DDL tersebut digunakan untuk membuat struktur basis data dan file basis data kosong. Program aplikasi diimplementasikan dengan menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL). Bagian dari program aplikasi ini adalah transaksi basis data, dimana diimplementasikan dengan menggunakan Data Manipulation Language (DML) dari DBMS sasaran yang mungkin disimpan dalam sekumpulan bahasa pemograman, seperti Visual Basic. Juga mengimplementasikan komponen-komponen lainnya dari perancangan aplikasi seperti layar menu, form, pemasukkan data, dan laporan
2.1.17.9 Data Conversion and Loading
Merupakan pemindahan data yang ada ke dalam basis data baru yang merubah aplikasi yang ada untuk beroperasi pada basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data menimpa sistem yang lama
2.1.17.10 Testing
Merupakan proses pengeksekusian program aplikasi dengan maksud pencarian kesalahan-kesalahan. Proses pengujian harus merangkap seluruh bagian dari usability sistem. Secara ideal, pengujian harus berdasarkan kepada spesifikasi dari sistem, apakah terpenuhi atau tidaknya spesifikasi dari sistem tersebut. Sebelum dilepaskan kepada konsumen, aplikasi basis data harus diuji sepenuhnya.
2.1.17.11 Operational maintenance
Merupakan suatu proses pengawasan dan perawatan sistem setelah instalasi dilakukan. Pada langkah sebelumnya, aplikasi basis data telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem memasuki langkah perawatan, yang melibatkan aktivitas-aktivitas berikut:
• Mengawasi kinerja sistem
2.2 Teori Khusus 2.2.1 Penjualan
Menurut Mulyadi (2001, p202) penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun tunai.
a. Penjualan Tunai Æ dilakukan oleh perusahaan dengan cara mewajibkan pembeli melakukan pembayaran harga terlebih dahulu sebelum barang diserahkan oleh perusahaan kepada pembeli. Setelah uang diterima perusahaan, barang kemudian diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan.
b. Penjualan Kredit Æ penjualan yang pembayarannya dilakukan beberapa waktu kemudian setelah pembeli menerima barang yang dipesannnya. Pembayaran biasanya dilakukan dalam jangka waktu yang telah disepakati oleh kedua belah pihak.
2.2.2 Pembelian
Menurut Roche dalam jurnal “the promise of purchasing software”, integrasi analisis pembelanjaan dan pengaturan permintaan dalam software pendukung pembelian, memberikan hasil yang lebih baik dengan memastikan informasi yang lengkap dan akurat dari berbagai sistem aplikasi.
Menurut Mulyadi (2001, p299), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang dipelukan oleh perusahaan.
1. Fungsi gudang : bertanggung jawab untuk mengerjakan permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan.
2. Fungsi pembelian : bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilh dalam pengadaan barang.
3. Fungsi penerimaan : bertanggung jawab untuk memeriksa kualitas, jenis dan kualitas barang yang diterima dari pemasok dengan tujuan untuk menentukan dapat tidaknya barang diterima oleh perusahaan yang akan digunakan proses produksi
4. Fungsi akuntansi : fungsi yang terkait dalam transaksi pembelian adalah fungsi pencatat hutang bertanggung jawab untuk mencatat transaksi pembelian ke dalam register bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagi buku pembantu hutang. Fungsi pencatat persediaan bertanggung jawab untuk mencatat harga pokok persediaan barang yang dibeli ke dalam kartu persediaan.
Menurut Mulyadi (2001, p301), jaringan prosedur yang terkait dalam sistem pembelian adalah :
1. Prosedur permintaan pembelian. Dalam prosedur ini , fungsi gudang mengajukan permintaan pembelian dalam formulir surat permintaan pembelian kepada fungsi pembelian. Surat tersebut berisikan sejumlah barang yang akan dibeli. Surat tersebut akan dibuat dalam beberapa rangkap.
Permintaan pembelian tersebut akan dipenuhi tergantung dari keputusan manager perusahaan
2. Prosedur permintaan penawaran harga dan pemilihan pemasok. Dalam prosedur ini fungsi pembelian mengirimkan surat permintaan dan penawaran harga kepada pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain, untuk memungkinkan pemilihan pemasok yang akan ditunjuk sebagi pemasok barang yang diperlukan perusahaan.
3. Prosedur order pembelian. Dalam prosedur ini, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan mengenai order pembelian yang dikeluarkan perusahaan.
4. Prosedur penerimaan barang. Dalam prosedur ini, fungsi penerimaan melakukan pemeriksaan mengenai jenis barang yang diterima dari pemasok, dan kemudian membuat laporan penerimaan barang dari pemasok tersebut 5. Prosedur pencatatan hutang. Dalam prosedur ini, fungsi akuntansi
memeriksa dokumen-dokumen yang berhubungan dengan pembelian dan menyelenggarakan pencatatan hutang atau mengarsipkan dokumen sebagai catatan hutang.
6. Prosedur distribusi pembelian. Prosedur ini meliputi distribusi rekening yang didebit dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen.
Setelah tawaran diterima oleh supplier, pembeli akan mengevaluasi proposal dari supplier dan mentabulasi tawaran. Biasanya pada sebuah spreadsheet. Tawaran tabulasi merupakan sebuah spreadsheet dengan kategori yang digunakan untuk membandingkan setiap proposal supplier untuk menentukan proposal paling baik yang sesuai dengan kebutuhan pembeli. Setelah tawaran ditabulasikan, pembeli akan membuat keputusan supplier mana yang akan direkomendasikan dan akan memberikan order serta penjualan akan memulai dalam penyuplaian material sesuai dengan perjanjian.
2.2.3 Persediaan
Menurut Mulyadi (2001, p553) sistem persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan digudang. Sistem ini berkaitan erat dengan sistem pembelian, sistem retur pembelian, dan akutansi biaya produksi.
Menurut Warren, Reeve, Fess (2005, p355), persediaan adalah untuk mengindikasikan bahan yang terdapat dalam proses produksi atau yang disimpan untuk tujuan tersebut dan barang dagang yang disimpan untuk kemudian dijual dalam operasi normal perusahaan. Dalam hal ini permintaan sumber daya dapat berasal dari internal dan eksternal.
Mengatur aset dalam bentuk apapun dapat dikatakan sebagai permasalahan yang terjadi dalam inventory, dengan menggunakan prinsip yang
sama terhadap cash dan fixed assets sebagai salah satu bentuk inventory (Dimitrios P. Koumanakos,2008).
2.3.4 Data Flow Diagram(DFD)
2.3.4.1 Pengertian Data Flow Diagram
Menurut Romney (2003, p156), Data flow diagram (DFD) menggambarkan aliran data di dalam suatu organisasi. DFD digunakan untuk mendokumentasi sistem yang berjalan, dan untuk membuat perencanaan dan perancangan sistem yang baru.
Simbol-simbol yang digunakan dalam perancangan data flow diagram :
Symbol Name Keterangan
Data sources dan
destinations
Orang dan organisasi yang mengirim dan menerima data dari
system dilambangkan
dengan kotak segi empat.
Data flows Aliran dari data yang
masuk atau keluar dari suatu proses
Tranformations processes
Suatu proses yang mentranformasikan data yang masuk dan keluar
Data stores Tempat penyimpanan
data
2.3.4.2 Pengertian Flowchart
Menurut Romney(2003, p1633) Flowchart adalah sebuah teknik analisis yang digunakan untuk menjelaskan beberapa aspek dari sistem informasi dalam bentuk yang jelas, ringkas dan logis. Flowchart menggunakan suatu kumpulan simbol standar yang digunakan untuk mendeskripsikan gambaran dari proses transaksi sebuah perusahaan, dan aliran data melalui sistem.
Simbol Flowchart dapat dibagi menjadi 4 kategori, yaitu :
Input/output symbol merepresentasikan sebuah alat atau media yang menyediakan masukkan atau merekam hasil dari proses operasi
Processing symbol menunjukkan tipe dari suatu alat yang digunakan untuk memproses data atau mengidentifikasikan kapan data itu selesai diproses secara manual
Storage symbol menggambarkan alat-alat yang digunakan untuk menyimpan data yang tidak sedang digunakan
Flow dan miscellaneous symbol mengindentifikasikan aliran data dan barang. Mempresentasikan beberapa operasi dari kapan aliran data di mulai dan diakhiri, kapan keputusan dibuat, dan kapan memasukkan catatan yang benar pada suatu aliran data.
Symbol Name Explanation Input /output symbols
Document Sebuah dokumen atau report yang dibuat oleh tangan atau oleh computer
Multiple Document Mengilustrasikan lebih dari satu dokumen dan diberi nomor pada bagian kanan atas
Input/output Journal/ ledger
Setiap fungsi input atau output pada program flowchart. Selalu
digunakan untuk mempresentasikan jurnal
akuntansi dan buku besar dalam dokumen flowchart
Display Informasi ditampilkan melalui
online output melalui alat seperti :
Terminal,monitor atau tampilan Online Keying Data yang dimasukkan melalui
terminal atau personal computer
Terminal or
personal computer
Simbol display dan online keying yang digunakan secara
bersama-sama untuk menjelaskan terminal dan
Processing symbols Computer processing Fungsi pemrosesan performance computer, biasanya menghasilkan perubahan pada data dan infomasi
Manual operation Proses pengoperasian proses secara manual
Auxilary operation Pemrosesan fungsi yang dilakukan melalui sebuah alat yang bukan komputer
Off-line keying
operation
Suatu operasi input yang tidak terhubung ke dalam sistem Storage symbols
Magnetic disk Penyimpanan data secara permanen pada magnetic disk, digunakan sebagai master file atau database
Magnetic tape Penyimpanan data pada magnetic tape
Diskette Penyimpanan data pada sebuah disket
On-line storage Penyimpanan data secara sementara
File Sekumpulan document yang
disimpan dan diambil secara manual. Huruf didalam mengindikasikan fileorder sequence.
Flow and Miscelllaneus symbols
Document or
processing flow
Arah dari alur proses dan dokumen, alur yang normal yaitu kebawah dan ke kanan. Data/ information
link
Arah dari alur sebuah data atau informasi, menunjukkan data yang dicopy dari satu satu dokumen ke dokumen yang lainnya.
Communication link
Transmisi data dari satu lokasi ke lokasi yang lain melalui jaringan komunikasi
On-page connector Menghubungkan proses alur di halaman yang sama., penggunaan ini menghindari garis yang bersilang antar halaman.
Off-page connector Masuk dari atau keluar ke halaman lain
Terminal Sebuah permulaan akhir,atau point gangguan pada proses atau program, selalu digunakan untuk mengindentifikasikan external party
Decision Langkah-langkah untuk
pengambilan keputusan. Digunakan dalam program Flowchart computer untuk menunjukkan langkah-langkah artenatif
Annotation Deskripsi tambahan sebagai penjelasan klarifikasi.