BAB 2 LANDASAN TEORI
2.1
Teori Umum Teori Umum ini berisikan tentang teori-teori yang digunakan secara umum dalam penyusunan skripsi ini dan nantinya yang akan menjadi landasan di dalam melakukan penelitian. 2.1.1
Pengertian Data Data merupakan hal yang terpenting dalam menunjang kegiatan proses bisnis diberbagai kegiatan. Oleh sebab itu, kebutuhan akan data sangatlah penting. Terkait dengan kebutuhan tersebut, maka telah dilakukan berbagai usaha agar data tersebut dapat diperoleh dengan cepat, mudah dan akurat. Menurut Connolly dan Begg (2005, p36) data adalah jembatan yang menghubungkan antara komponen manusia dengan komponen mesin. Menurut O’Brien (2006, p38), mengemukakan bahwa data merupakan sebuah fakta atau hasil dari sebuah observasi, yang biasanya berisikan fenomena fisik yang merupakan sebuah pengukuran terhadap atribut dari suatu entitas. Dari pengertian di atas dapat disimpulkan bahwa data merupakan suatu penghubung antar manusia dengan mesin
9
10 2.1.2
Database Pada perkembangan zaman sekarang sangat dibutuhkan sekali aplikasi database yang dapat membantu menyimpan data penting pada perusahaan dalam jumlah yang besar. Menurut Connolly dan Begg (2005, p15), Database atau Basis data merupakan suatu kumpulan relasi-relasi logikal dari data dan deskripsi dari suatu data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi atau merupakan sebuah tempat penyimpanan tunggal yang besar bagi data yang dapat digunakan secara serentak oleh banyak departemen dan pengguna. Dengan kata lain 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 atau 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. Menurut Whitten, Bentley, Dittman (2006, p518), Database merupakan suatu kumpulan file yang saling terkait dan tidak hanya sekumpulan
file
tetapi
record
pada
setiap
file
yang
harus
memperbolehkan hubungan-hubungan untuk menyimpan file lain. Dari pendapat di atas dapat disimpulkan bahwa, Database adalah sebuah kumpulan data yang saling terkoneksi yang mempunyai manfaat untuk melayani kebutuhan dari organisasi dan user.
11
2.1.3
Database Application Life Cycle Database Application Life Cycle merupakan perancangan basis data yang digunakan dalam penulisan metodologi. Berdasarkan pendapat Connolly dan Begg (2005, p284) Tahapan Database Application Lifecycle digambarkan sebagai berikut :
Gambar 2.1 Database Application Life Cycle Sumber (Connoly dan Begg (2005,p284)) Berikut penjelasan dari gambar : 1. Perencanaan Basis Data (Database Planning) Berdasarkan pendapat Connolly dan Begg (2005, p285), Perencanaan basis
data
(database
planning)
merupakan
sebuah
aktivitas
manajemen yang memungkinkan tahapan dari Database Application
12 Lifecycle direalisasikan dengan efektif dan seefisien. Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat 3 hal pokok yang berkaitan dengan strategi sistem informasi yaitu : 1. Indentifikasi rencana dan sasaran dari perusahaan termasuk mengenai sistem informasi yang dibutuhkan. 2. Evaluasi sistem infomasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki. 3. Penaksiran kesempatan IT yang mungkin memberikan keuntungan kompetitif. Metodologi untuk mengatasi hal di atas yaitu : 1. Database Planning – mission statement : Mission statement untuk proyek database mendefinisikan tujuan utama dari aplikasi database. Mengarahkan projek database, biasanya mendefinisikan perintah tugas (mission statement). Mission statement membantu menjelaskan kegunaan dari proyek database dan menyediakan alur yang jelas untuk mencapai efektifitas dan efisiensi penciptaan dari suatu aplikasi database yang diinginkan. 2. Database planning – mission objectives : Ketika Mission Statement telah didefinisikan, maka mission objective didefinisikan. Setiap objective (tujuan) harus mengidentifikasikan tugas khusus yang harus didukung oleh database. Dapat juga disertai dengan beberapa informasi tambahan yang menspesifikasikan pekerjaan yang harus diselesaikan, sumber daya yang digunakan dan
13 biaya untuk membayar kesemuannya itu. Database planning juga harus menyertakan pengembangan standart yang menentukan : a) Bagaimana data akan dikumpulkan. b) Bagaimana menspesifikasi format atau bentuk data. c) Dokumentasi penting apakah yang akan diperlukan. d) Bagaimana desain dan implementasi harus dilakukan. 3. Definisi Sistem (System Definition) Berdasarkan pendapat Connolly dan Begg (2005, p286). System Definition adalah suatu kegiatan yang menjelaskan suatu batasanbatasan dan cakupan dari aplikasi database dari sudut pandang pengguna (user view) yang utama. User view mendefinisikan apa yang diwajibkan dari suata aplikasi database dari perspektif aturan kerja khusus (seperti manajer atau supervisor) atau area aplikasi enterprise (seperti Marketing, Personnel, atau Stock Control). Aplikasi basis data dapat memiliki satu atau lebih user view. Indentifikasi user view,membantu memastikan bahwa tidak ada user utama dari suatu database yang terlupakan ketika pembuatan aplikasi baru
yang
dibutuhkan.
User
view
juga
membantu
dalam
pengembangan aplikasi basis data yang rumit dan memungkinkan permintaan-permintaan dipecah kedalam bagian-bagian yang lebih sederhana. 4. Requirement Collections and Analysis Berdasarkan
pendapat
Connolly
dan
Begg
(2005,
p288),
pengumpulan dan analisis kebutuhan merupakan suatu proses
14 pengumpulan dan analisis informasi mengenai bagian organisasi yang didukung oleh aplikasi database, dan menggunakan informasi tersebut untuk identifikasi kebutuhan pemakai akan sistem yang baru. Informasi yang dikumpulkan untuk setiap user view utama meliputi : -
Deskripsi data yang digunakan atau dihasilkan.
-
Detail mengenai bagaimana data dihasilkan.
-
Beberapa kebutuhan tambahan untuk aplikasi basis data yang baru.
Dalam tahapan ini, jumlah data yang diperoleh tergantung pada masalah dan kebijakan perusahaan. Informasi yang terkumpul pada tahapan ini mungkin tidak terstruktur dan melibatkan beberapa permintaan informasi yang harus diubah kedalam kebutuhan yang lebih terstruktur. Terdapat dua pendekatan dalam tahapan ini yaitu pendekatan terpusat dan pendekatan view intergration. 5. Desain Basis Data (Database Design) Berdasarkan pendapat Connolly dan Begg (2005, p291), Desain basis data merupakan suatu proses pembuatan sebuah database yang akan mendukung tujuan dan operasi database suatu perusahaan. Di dalam desain database terdiri dari tiga tahapan utama yaitu : Perancangan Database
Konseptual,
Perancangan
Database
Logikal,
dan
Perancangan Database Fisikal. 6. Pemilihan DBMS ( DBMS Selection ) Berdasarkan pendapat Connolly dan Begg (2005, p295), pemilihan DBMS dilakukan untuk memilih DBMS yang sesuai untuk
15 mendukung aplikasi basis data. Pemilihan DBMS sangat diperlukan ketika sebuah perusahaan ingin mengembangkan atau mengganti sistem yang sudah ada, proses ini digunakan untuk mengevaluasi produk DBMS. Tujuan dari pemilihan DBMS adalah untuk memilih sebuah sistem yang sesuai dengan kebutuhan saat ini dan yang akan datang pada perusahaan, menyeimbangkan biasa pembelian produk DBMS, berbagai software / hardware tambahan yang diperlukan untuk mendukung sistem database, dan biaya yang berhubungan dengan perubahan dan pelatihan staf. Langkah-langkah utama dalam pemilihan DBMS (Connolly , 2005 , p296) : a) Menggambarkan
cangkupan
tugas
berdasarkan
kebutuhan
perusahaan. b) Membuat perbandingan mengenai dua atau tiga produk DBMS. c) Mengevaluasi produk-produk DBMS tersebut. d) Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut. 7. Desain Aplikasi (Application Design) Berdasarkan pendapat Connolly dan Begg (2005, p299), desain aplikasi adalah rancangan dari user interface dan program aplikasi yang digunakan dan memproses basis data. Aktifitas antara database design dengan application design terjadi secara paralel. Dalam banyak hal ini, basis data hadir untuk mendukung aplikasi dan harus ada aliran informasi antara application design dan database design.
16 Seluruh fungsi yang tercantum dalam spesifikasi kebutuhan pengguna harus ada dalam perancangan aplikasi, untuk aplikasi basis data yang meliputi perancangan program aplikasi yang mengakses basis data dan melakukan transaksi. Perancangan user interface yang tepat ke dalam aplikasi basis data menjadi kebutuhan tambahan agar fungsi yang dibutuhkan tercapai. Perancangan user interface kadang-kadang tidak diperhatikan atau ditinggalkan selama tahapan perancangan. Program
aplikasi
yang
mudah
dipelajari,
sederhana
dalam
penggunaan, maka pengguna cenderung untuk dapat memanfaatkan dengan baik. Hal ini menunjukan bahwa user interface merupakan salah satu komponen penting dari sistem. 8. Prototyping Berdasarkan pendapat Connolly dan Begg (2005, p304), Prototype adalah pembuatan kerangka kerja dari sistem database. Pada kondisi tertentu kita dapat memilih apakah akan membuat sebuah prototype atau
langsung
mengimplementasikan
sistem
database.
Suatu
Prototype merupakan suatu model aplikasi berbasis database yang mempunyai semua sifat yang diperlukan dan menyediakan semua kemampuan sistem. Tujuan utama prototype adalah mengizinkan pada pemakai untuk menggunakan prototype itu untuk menguji apakah fitur-fitur pada sistem telah bekerja sesuai dengan spesifikasi pengguna. Dengan cara ini, kita dapat memperjelas kebutuhan pemakai dan pengembangan sistem dan mengevaluasi kelayakan desain sistem tersebut. Ada 2 cara strategi membuat prototype yaitu
17 requirements prototyping dan evolutionary prototyping (Connolly, 2005, p304) untuk requirements prototyping digunakan prototype untuk menentukan kebutuhan suatu aplikasi database yang diusulkan dan ketika kebutuhan dirasakan sudah lengkap maka prototype tersebut tidak digunakan lagi. Prototype evolusioner digunakan untuk tujuan yang sama, perbedaannya adalah bahwa prototype tidaklah dibuang tetapi dikembangkan lebih lanjut sehingga aplikasi basis data tersebut. 9. Implementasi (Implementation) Berdasarkan
pendapat
Connolly
dan
Begg
(2005,
p304),
Implementation merupakan perwujudan fisik dari database dan desain aplikasi. Setelah menyelesaikan tahap desain (dengan atau tanpa prototype), kini berada pada tahap implementasi database dan program
aplikasi,
implementasi
database
dicapai
dengan
menggunakan DDL dari DBMS yang telah dipilih atau dengan menggunakan Graphical User Interface (GUI), masing-masing menyediakan fungsi ketika menyembunyikan pernyataan
DDL
tingkat rendah (low-level). Pernyataan DDL digunakan untuk menciptakan struktur basis data dan menghilangkan file yang terdapat dalam database tersebut. User view juga diterapkan pada langkah implementasi.
Program
aplikasi
diimplementasikan
dengan
menggunakan bahasa generasi ketiga atau generasi keempat(3GL atau 4GL) yang dipilih. Bagian dari program aplikasi ini adalah transaksi basis data yang diterapkan dengan menggunakan Data Manipulation
18 Languange dari DBMS target, yang terdapat dalam bahasa pemprograman seperti Visual Basic (VB), VB.NET, Phyton, Delphi, C, C++, C#, Java. Dan juga mengimplementasikan komponenkomponen yang lain dari desain aplikasi seperti layar menu, form pengisian data, dan laporan. Pengendalian keamanan dan integritas untuk aplikasi juga diimplementasikan. Sebagian dari kendali ini telah diterapkan dengan menggunakan DDL tetapi yang lain mungkin perlu untuk digambarkan diluar dari DDL sebagai contoh kegunaan yang disediakan DBMS atau kendali sistem operasi. 10. Konversi data dan Loading ( Data Convertion and Loading) Berdasarkan pendapat Connolly dan Begg (2005, p305), konversi data dan loading adalah pemindahan data yang ada kedalam sebuah database yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan kedalam basis data baru. Tahapan ini dibutuhkan hanya ketika sistem database yang baru menggantikan sistem yang lama. Sekarang ini, sudah menjadi hal yang biasa bagi sebuah DBMS untuk mempunyai utilitas yang dapat memuat keseluruhan file yang ada kedalam basis data yang baru. Utilitas biasanya membutuhkan spesifikasi dari sumber dan tujuannya, sehingga mengubah data sesuai dengan format basis data yang baru. 11. Pengujian (Testing) Berdasarkan pendapat Connolly dan Begg (2005, p305), Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Dalam melakukan testing para pemakai
19 tujuan menemukan kesalahan. Dalam melakukan testing para pemakai sistem yang baru harus dilibatkan untuk menguji proses aplikasi dan basisi data tersebut. Situasi yang ideal untuk pengujian sistem adalah mempunyai suatu pengujian basis data pada suatu sistem perangkat keras yang terpisah tetapi ini sering tidak tersedia. Jika data riil diharapkan untuk digunakan maka adalah penting untuk mempunyai back-up. Setelah pengujuan diselesaikan, maka sistem aplikasi dan basis data ini telah siap digunakan. 12. Pemeliharaan Operational (Operational Maintenance) Menurut Connolly dan Begg (2005, p306), pemeliharan operasional adalah sebuah proses pemantauan dan pemeliharaan sistem berikut instalasi. Setelah melalui tahap-tahap sebelumnya maka sistem sekarang telah pada tahap pemeliharaan yang melibatkan aktifitas berikut : a) Mengawasi kinerja dari sistem. Jika performance jauh dibawah suatu tingkatan yang bisa diterima, penyusunan database mungkin diperlukan. b) Menjaga dan meningkatkan mutu aplikasi database. Kebutuhan baru disatukan kedalam aplikasi database yang mengikuti langkah-langkah sebelumnya yang terdapat dalam siklus database c) Ketika aplikasi basis data sedang beroperasi, perlu dilakukan monitoring secara dekat untuk memastikan bahwa performance dalam tingkatan yang bisa diterima.
20 d) Monitoring proses akan terus berlanjut sepanjang seluruh hidup suatu aplikasi database tersebut dan ada waktu tertentu boleh melakukan reorganisasi basis data untuk mencukupi kebutuhan dari sistem. Perubahan ini menyediakan informasi pada evolusi sistem dan sumber daya yang pada masa akan datang mungkin diperlukan. Hal ini memungkinkan Database Administrator dapat mengembangkan kegunaan yang diperlukan atau pembeli peralatan tambahan jika diperlukan. 2.1.4
Database Design Database Design sebuah proses desain untuk sistem database. Menurut Ramakrishnan dan Gehrke(2006, p26) database design terdapat 6 (enam) tahapan, yaitu : 1. Requirement Analysis Langkah pertama untuk merancang sebuah aplikasi database adalah untuk memahami data akan masuk dalam database strored. 2. Conceptual Database Design informasi yang dikumpulkan dalam langkah analisis kebutuhan yang digunakan untuk mengembangkan deskripsi data tingkat tinggi yang akan disimpan dalam database. 3. Logical Database Design Menerapkan desain DBMS database dan mengubah desain database konseptual ke skema database dalam model data dari DBMS yang dipilih. 4. Schema Refinement
21 Desain database untuk menganalisis hubungan dalam skema relasional database dan untuk mengidentifikasi potensi masalah dan memperbaikinya. 5. Physical Database Design Mempertimbangkan beban kerja yang diharapkan dari database yang harus mendukung dan lebih dapat menyempurnakan desain database untuk memastikan bahwa memenuhi kriteria kinerja yang diinginkan. 6. Application and Security Design perangkat
lunak
yang
melibatkan
DBMS
dengan
harus
mempertimbangkan aspek-aspek dari aplikasi yang melampaui database itu sendiri, (Connolly dan Begg, 2010,p320).
Metodologi-metodologi membantu tahap perancanaan basis-data, dalam merancang
suatu
database.
Metodologi
perancangan
(Design
Methodology) suatu pendekatan yang terstruktur dengan menggunakan beberapa prosedur, teknik serta dokumen-dokumen yang
dapat
membantu proses perancangan database (Connolly dan Begg , 2010, p466).
Proses perancangan database dibagi 3 (tiga) tahap yaitu : 1. Conceptual Database Design Proses pembuatan suatu model dari data yang digunakan dalam suatu organisasi yang tidak tergantung pada segala pertimbangan fisikal. 2. Logical Database Design
22 Proses pembuatan suatu model dari data yang digunakan di dalam suatu organisasi berdasarkan model data yang spesifik tetapi tergantung pada suatu DBMS tertentu dan perangkat keras lainnya. 3. Physical Database Design Proses menghasilkan suatu deskrpsi pengimplementasian dari suatu database pada secondary, Storage yang juga akan mendekripsikan dasar dari suatu relasi yang akan digunakan untuk mencapai suatu efisiensi suatu pengaksesan data dan batasan-batasan integritas serta ukuran keamanan. Menurut Connolly dan Begg (2005, p321), ada 2(dua) pendekatan pada proses perancangan database, yaitu : 1. Bottom-up Bottom-up adalah pendekatan berdasarkan dari tingkat paling dasar dari attribute dimana melalui analisis gabungan antar attribute, dikelompokan ke dalam relasi yang merepresentasikan tipe dan hubungan antar entitas. 2. Top-down Top-down adalah pendekatan perancangan database yang berguna untuk mendesain secara kompleks dengan attribute yang banyak, dimana terdapat kesulitan untuk membangun functional dependencies di antara atribut-atribut. Dari pengertian diatas dapat disimpulkan bahwa database design merupakan suatu pendekatan terstruktur dengan menggunakan beberapa prosedur, teknik serta dokumen-dokumen yang dapat membantu proses
23 perancangan database dan terbagi dalam beberapa tahap yaitu conceptual design, logical design, physical design.
2.1.5
Arsitektur Database Setiap data yang disimpan mempunyai suatu tekstur tersendiri maka dari itu diperlukan suatu sistem yang dapat menyimpan data-data tersebut dengan secara rapi dan tersusun. Menurut Connolly dan Begg (2005, p315) database merupakan suatu proses pembuatan suatu rancangan yang akan mendukung mission statement dan mission objective suatu perusahaan untuk membuat database yang dibutuhkan: Tujuan utamanya Arsitektur Database, yaitu : 1. Merepresentasikan data dan hubungan antar data yang dibutuhkan oleh seluruh area aplikasi utama dan kelompok pengguna. 2. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada sebuah data. 3. Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada suatu sistem. Menurut Hoffer,Prescott dan Topi (2009, p58) components database terbagi dalam beberapa tipe , yaitu : 1. Computer Aided Software Engineering (Case) Tools Alat yang digunakan untuk merancang database dan program aplikasi 2. Repository Laporan yang terpusat serta hubungan antar data.
24 3. DBMS Perangkat lunak sistem yang digunakan untuk menciptakan, memelihara, dan menyediakan akses terkontrol untuk pengguna database. 4. Application Programs Program komputer yang digunakan untuk membuat dan memelihara database dan memberikan informasi kepada pengguna. 5. User Interface Bahasa, menu dan fasilitas lainnya dengan mana pengguna berinteraksi dengan berbagai komponen sistem, seperti CASE tools, program aplikasi, DBMS, dan repositori. 6. Data and Database Administration Administrator data adalah orang yang bertanggung jawab untuk manajemen keseluruhan sumber data dalam sebuah organisasi. 7. System Developers Programmer yang akan merancang program aplikasi baru. 8. End users Seluruh pengguna yang akan menggunakan database. Dari pengertian diatas dapat disimpulkan bahwa arsitektur database merupakan suatu tahapan untuk pembuatan DBMS dengan tahapantahapan yang telah ditentukan. 2.1.6
Database Management System Database Management System merupakan perangkat lunak yang dapat membantu dalam hal menangani database.
25 Menurut Connoly dan Begg (2005, p16), Database Management System (DBMS) merupakan sebuah program yang memperbolehkan pengguna
untuk
mengontrol
dan
mengatur
pengorganisasian,
penyimpanan dan pengambilan data dalam suatu basis data. DBMS menyediakan fasilitas-fasilitas sebagai berikut : 1. Memungkinkan pengguna untuk mendefinisikan basis data, melalui Data Definition Language (DDL). DDL memungkinkan pengguna untuk menentukan struktur dan jenis data serta batasan pada data yang disimpan dalam basis data. 2. Mengijinkan menggunakan
pengguna Data
untuk
melakukan
Manipulation
Language
manipulasi
data
(DML).
DML
menyediakan fasilitas pemeriksaan umum yang disebut query language. 3. Menyediakan akses kendali pada basis data seperti : a) Security system, yang mencegah pengguna yang tak memiliki otorisasi untuk mengakses database. b) Integrity system, yang memelihara konsistensi data. c) Concurency control system, yang memungkinkan pembagian akses terhadap database. d) Recovery control system, yang menyimpan database kembali pada keadaan konsisten sebelumnya. e) User-accessible catalog, yang berisi deskripsi data dalam database.
26 Menurut Hoffer(2009, p49), DBMS merupakan sebuah piranti lunak yang menggunakan metode sistematis untuk menciptakan, mempembaruhi, menyimpan dan mengambil data dalam database. Dari pengertian diatas dapat disimpulkan bahwa DBMS adalah sebuah sistem perangkat lunak yang dapat memungkinkan peungguna untuk mengontrol, memelihara, menyimpan, dan mengambil data dari database. 2.1.7
Komponen Database Management System DBMS merupakan sebuah aplikasi perangkat lunak yang tentunya memiliki komponen-komponen penting didalamnya agar menjadi satu kesatuan di dalam sistem. Menurut pendapat Connolly dan Begg (2005, p19-21) ada lima komponen utama dalam ruang lingkup Database Management System (DBMS) yaitu : 1. Hardware Hardware dapat berkisar dari komputer tunggal, mainframe tunggal, hingga jaringan komputer. Penggunaan hardware tergantung pada kebutuhan suatu organisasi dan DBMS yang akan digunakan. 2. Software Komponen ini terdiri dari DBMS dan program aplikasi dengan sistem operasi dan software jaringan,jika DBMS digunakan melalui jaringan. 3. Data
27 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. 4. Procedures Mengacu
pada
instruksi-instruksi
dan
aturan-aturan
yang
memerintahkan perancangan dan penggunaan database. Pengguna sistem dan petugas yang mengatur basis data memerlukan dokumentasi prosedur bagaimana cara untuk menggunakan dan menjalankan sistem. Instruksi tersebut seperti : a) Bagaimana cara masuk ke dalam DBMS b) Bagaimana menggunakan fasilitas DBMS tertentu c) Membuat backup pada database d) Memulai dan menghentikan DBMS e) Bagaimana menangani kesalahan hardware dan software tertentu 5. People Komponen terakhir adalah manusia, yang terdiri dari : a) Data Administrator : Orang yang bertanggung jawab terhadap pengelolaan sumber daya data termasuk perencanaan database, pembangunan dan pemeliharaan standard, kebijakan serta prosedur yang berlaku. b) Database Administrator (DBA) : Orang yang menyediakan dukungan teknis untuk implementasi keputusan , dan bertanggung jawab atas keseluruhan kendali sistem pada tingkat teknis.
28 c) Pemrogram Aplikasi : Orang yang bertanggung jawab untuk membuat aplikasi basis data yang berisikan fungsi-fungsi yang dibutuhkan pemakai akhir. d) End User atau Pemakai Akhir : Siapapun yang mendapatkan informasi dari database yang sudah didesain, diimplementasikan dan dirawat.
2.1.8
Fungsi DBMS Database Management System adalah perangkat lunak yang memiliki beberapa fungsi, salah satunya mengelola database dalam perusahaan. Berdasarkan pendapat Connolly dan Begg (2005, p48-52), fungsi DBMS sebagai berikut : 1. Data storage, retrieval and update DBMS harus melengkapi pengguna dengan kemampuan menyimpan, mengambil, dan mengubah data dalam basis data. 2. User accessible catalog DBMS harus menyediakan sebuah katalog dimana deskripsi dari data item yang disimpan dan dapat diakses pengguna.
3. Transaction support
29 DBMS harus menyediakan suatu mekanisme yang akan menjamin bahwa semua kegiatan update sesuai dengan transaksi yang dilakukan atau tidak sama sekali dilakukan. 4. Concurrency control services DBMS harus menyediakan mekanisme yang menjamin bahwa basis data di-update dengan benar ketika lebih dari satu pemakai mengupdate basis data secara bersama. 5. Recovery service DBMS harus menyediakan mekanisme untuk memperbaiki basis data disaat mengalami kerusakan dalam berbagai cara. 6. Authorization services DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pengguna yang berotoritas yang bisa mengakses basis data. 7. Support for data communication DBMS
harus
mampu
berintegrasi
dengan
perangkat
lunak
komunikasi. 8. Integrity services DBMS harus menyediakan cara untuk menjamin bahwa data dalam basis data dan perubahan pada data mengikuti aturan yang telah ditetapkan sebelumnya. 9. Service to promote database independence DBMS harus mencakup fasilitas yang mendukung independensi program dari struktur aktual basis data. 10. Utility service
30 DBMS harus menyediakan seperangkat layanan utilitas. Program utilitas membantu Database Administrator mengelola basis data secara efektif. 2.1.9
Keuntungan dan Kerugian DBMS Dalam menerapkan sistem Database Management System akan ada keuntungan dan kerugian yang terjadi pada perusahaan tersebut Menurut pendapat Connolly dan Begg (2005, p26-p29), DBMS memiliki keuntungan dan kerugian sebagai berikut : 2.1.9.1 Keuntungan DBMS DBMS memiliki beberapa keuntungan sebagai berikut : 1. Kontrol terhadap pengulangan data 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. 2. 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 hanya tersedia dengan segera kepada semua pengguna. 3. Semakin banyak informasi didapat dengan data yang sama
31 Dengan
data
operasional
yang
terintegrasi,
hal
ini
memungkinkan bagi organisasi untuk mendapatkan informasi tambahan dari data yang sama. 4. Pembagian data Database termasuk bagian dari keseluruhan organisasi dan dapat dibagikan oleh semua pengguna yang berotoritas. 5. 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 basis data. Integritas memungkinkan Database Administrator (DBA) untuk menjelaskan dan memungkinkan DBMS untuk membuat batasan integritas. 6. Meningkatkan keamanan data Keamanan database adalah melindungi database dari pengguna yang tidak berotoritas. Hal ini dapat dilakukan dengan menggunakan sistem username dan password untuk mengidentifikasi orang yang berotoritas untuk menggunakan basis data. Akses pengguna yang berotoritas pada database mungkin dibatasi oleh jenis operasi seperti insert, update, dan delete data.
7. Penetapan standarisasi
32 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. 8. 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 pengembanan 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. 9. Menyeimbangkan konflik kebutuhan 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.
10. Meningkatkan kemampuan akses dan respon pada data
33 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. 2.1.9.2 Kerugian DBMS DBMS memiliki beberapa kerugian sebagai berikut : 1. Kompleksitas Ketentuan dari fungsi yang kita harapkan dari DBMS yang baik membuat DBMS menjadi perangkat lunak yang sangat kompleks. Perancang dan pengembang database, Data Administrator, dan Database Administrator, serta pengguna akhir harus memahami fungsi tersebut agar bisa mendapatkan banyak keuntungan dari DBMS ini. 2. Ukuran Fungsi yang kompleks dan luas membuat DBMS menjadi perangkat lunak yang sangat besar, memerlukan banyak ruang harddisk dan jumlah memory yang besar untuk bisa berjalan dengan efisien. 3. Biaya dari suatu DBMS Biaya dari suatu DBMS bervariasi, tergantung pada lingkungan dan fungsi yang disediakan. Di situ juga terdapat biaya pemeliharaan tahunan yang juga dimasukkan dalam daftar harga DBMS.
34 4. Biaya penambahan perangkat keras Kebutuhan tempat penyimpanan bagi DBMS dan database amat memerlukan pembelian tempat penyimpanan tambahan. Lebih lanjut, untuk mencapai performa yang dibutuhkan, mungkin memerlukan mesin yang lebih besar dan lain-lain. Hal ini tentu memerlukan tambahan biaya yang tidak sedikit, tergantung pada spesifikasi perangkat keras yang diperlukan. 2.1.10 Data Definition Language Data Definition Language salah satu bagian dari Database Management System yang berfungsi untuk mendeskripsikan suatu entitas. Data Definition Language ialah bahasa yang digunakan untuk memanipulasi data serta menyediakan fasilitas pengoperasian data untuk akses data tersebut. Connolly dan begg (2010, p92). Menurut pendapat Connolly dan Begg (2005, p40), Data Definition Language (DDL) adalah suatu bahasa yang memperbolehkan Database Administrator atau pengguna untuk mendeskripsikan dan memberi nama entitas, atribut dan relationship yang diperlukan untuk aplikasi. DDL berfungsi untuk mengubah suatu data menjadi data yang berguna bagi pengguna. Beberapa statement DDL berdasarkan pendapat Connolly dan Begg (2005,p169-176) adalah :
1. Create Table
35 Untuk membuat table dengan mengidentifikasikan tipe data untuk tiap kolom. 2. Alter Table Untuk menambah atau membuang kolom dan konstrain. 3. Drop Table Untuk membuang atau menghapus table beserta semua data yang terkait didalamnya. 4. Create Index Untuk membuat index pada suatu table. 5. Drop Index Untuk membuang atau menghapus index atau menghapus index yang sudah dibuat sebelumnya. Dari pengertian diatas dapat disimpulkan bahwa DBMS adalah sebuah sistem perangkat lunak yang dapat memungkinkan pengguna untuk mengontrol, memelihara, menyimpan, dan mengambil data dari database.
2.1.11 Data Manipulation Language Data Manipulation Language ialah bahasa yang digunakan untuk memanipulasi
atau
mengolah
data
serta
menyediakan
fasilitas
pengoperasian data untuk dapat mengakses data tersebut. Connolly dan Begg (2010, p92).
36 Data Manipulation Language adalah salah satu bagian dari Database Management System yang berfungsi sebagai fasilitas pengoperasian data untuk akses data. Menurut
pendapat
Connolly
dan
Begg
(2005,
p40),
Data
Manipulation Language (DML) adalah suatu bahasa yang menyediakan sekumpulan operasi yang diinginkan untuk mendukung operasi manipulasi data utama pada data yang diperoleh dalam basis data. DML menyediakan operasi dasar manipulasi data pada data yang ada dalam basis data, yaitu : 1. Penyisipan data baru ke dalam database (insertion). 2. Mengubah atau memodifikasi data yang disimpan dalam database (modify). 3. Pemanggilan data yang ada di dalam database (retrieve). 4. Menghapus data dari database (delete).
Menurut Connoly dan Begg kita dapat membedakan DML menjadi 2 tipe yang berbeda yaitu : 1. Prosedural DML Prosedural DML adalah suatu bahasa yang memungkinkan pengguna 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
mendapatkan informasi yang dibutuhkan.
yang
ada
untuk
37 2. 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. Dari pengertian diatas dapat disimpulkan bahwa DBMS adalah sebuah sistem perangkat lunak yang dapat memungkinkan peungguna untuk mengelola data dari database.
2.1.12 Arsitektur ANSI-SPARC Three Level Berdasarkan pendapat Connolly dan Begg (2005,p35-p36) arsitektur ANSI-SPARC three-level dibagi menjadi tiga bagian yaitu :
Gambar 2.2 : ANSI-SPARC Three-Level Sumber (Connolly dan Begg (2005,p35-p36))
38 1. Level Eksternal External level merupakan level pengguna individu, dimana masingmasing pengguna hanya akan berkepentingan dengan satu bagian saja. Cara pandang dari masing-masing pengguna 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 basis data. Cara pandang secara eksternal hanya terbatas pada entitas, atribut, dan hubungan antar entitas yang diperlukan saja. 2. Level Konseptual Conceptual view merupakan representasi informasi keseluruhan dari isi database, dimana semua pandangan masing-masing pengguna digabungkan. Perwujudannya abstrak,bila dibandingkan 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 keamanan dan integritas. Beberapa tujuan utama dari skema konseptual diantaranya : menggambarkan perusahaan secara lengkap, bagaimana data tersebut digunakan, bagaimana aliran data didalam perusahaan, kegunaan data untuk
39 setiap proses, proses kendali atau audit yang diberikan pada setiap proses. 3. Level Internal Internal view merupakan level terendah dalam merepresentasikan dari keseluruhan basis data. Internal view berisikan berbagai tipe internal record yang didefinisikan oleh skema internal. Selain itu juga menyelesaikan mengenai penempatan ruang penyimpanan data dan index, bagaimana pewujudan field yang disimpan, deskripsi record untuk penyimpan (dengan ukuran penyimpanan untuk elemen), dan teknik enkripsi (pengamanan data). Dengan kata lain level ini berkaitan dengan struktur penyimpanan pada internal view, dan definisi struktur penyimpanan pada skema internal yang menerangkan hubungannya dengan berbagai cara pengaksesan data yang disimpan. Tujuan dari arsitektur three-level adalah untuk menyediakan data independence yang berarti bahwa level yang lebih tinggi tidak terpengaruh oleh perubahan pada level yang lebih rendah. 2.1.13 Struktur Data Relasional Struktur Data Relation merupakan pembahasan tentang hubungan data yang satu dengan yang lain. Berdasarkan pendapat Connolly dan Begg (2005,p72-p74), berikut adalah struktur dan terminologi dari model relasional : 1. Relasi : Merupakan sebuah tabel dengan baris dan kolom. Digunakan untuk menyimpan informasi tentang objek yang digambarkan dalam basis data.
40 2. Atribut : Merupakan nama kolom dari relasi. Atribut dapat ditampilkan dalam berbagai perintah dan dalama relasi yang sama sehingga menyampaikan arti yang sama. 3. Domain : Merupakan sekelompok nilai yang diizinkan bagi satu atau lebih atribut. Setiap artibut dalam relasi didefinisikan pada sebuah domain. Domain dapat berbeda bagi setiap atribut, dua atau 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 atau satu tuple. Jika relasi mempunyai dua atribut akan mempunyai derajat dua yang disebut binary. Dan begitu juga seterusnya dengan menggunakan istilah nary. 6. Cardinality : Merupakan jumlah tuple yang terdapat dalam relasi. Merupakan properti dari extension relasi dan ditentukan dari instance tertentu. 7. Basis Data Relasional : Merupakan kumpulan dari ternormalisasi dengan nama relasi yang berbeda.
relasi yang
41 2.1.14 Sifat-sifat Relasi Sifat-sifat relasi adalah pembahasan tentang rincian sebuah relasi yang merupakan bagian dari struktur data relational. Berdasarkan pendapat Connolly dan Begg (2005, p77), relasi mempunyai sifat-sifat sebagai berikut : 1. Nama relasi berbeda satu sama lain dalam skema relasional. 2. Setiap sel dari relasi satu nilai atomik. 3. Setiap atribut memiliki nama berbeda. 4. Nilai satu atribut berasal dari domain yang sama. 5. Setiap tuple berbeda, dan tidak ada duplikasi tuple. 2.1.15 Relational Keys Didalam setiap class terdapat relation keys yang berfungsi untuk menerangkan atau mendeskripsikan class tersebut. Berdasarkan pendapat Connolly dan Begg (2005, p78-p79), relational key dibagi menjadi beberapa jenis yaitu : 1. Superkey : Merupakan sebuah atribut atau sekelompok atribut yang mengidentifikasi secara unik tuple dalam relasi. Superkey yang mudah diidentifikasi adalah yang hanya berisi jumlah minimum atribut yang diperlukan. 2. Candidate Key : merupakan superkey dalam relasi. Candidate key (K), bagi sebuah relasi (R) mempunyai dua sifat yaitu : a. Keunikan : Dalam setiap tuple dari R, nilai dari K secara unik mengidentifikasi tuple tersebut.
42 b. Irreducibility : Tidak ada subset yang sesuai dari K yang mempunyai keunikan sifat ketika sebuah key terdiri dari lebih dari satu atribut kita sebut ini sebagai composite key. 3. Primary Key : Merupakan candidate key yang terpilih untuk identifikasi tuple secara unik dalam satu relasi. Sementara candidate key yang tidak terpilih sebagai primary key disebut alternative key. 4. Foreign Key : Merupakan sebuah atribut atau sekelompok atribut dalam relasi yang dibandingkan dengan candidate key pada beberapa relasi.
2.1.16 Batasan Integritas Batasan integritas merupakan pembahasan tentang batasanbatasan pengisian pada sebuah tuple. Berdasarkan pendapat Connolly dan Begg (2005, p81-p83) batasan integritas terbagi menjadi beberapa jenis yaitu : 1. 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. 2. Integritas Entitas 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.
43 Ini berarti tidak ada subset dari primary key yang cukup untuk menyediakan pengidentifikasian tuple yang unik. 3. Integritas Referential Jika terdapat foreign key dalam relasi, maka nilai foreign tersebut akan dibandingkan dengan nilai candidate key dari beberapa tuple pada relasi itu sendiri atau nilai foreign key harus null semuanya. 4. Batasan Umum Peraturan tambahan yang ditentukan oleh users atau database administrators dari suatu database yang menjelaskan atau membatasi beberapa aspek perusahaan.
2.1.17 Entity Relationship Model Entity Relationship Model merupakan tahapan setelah Conceptual design yang bermanfaat untuk menerapkan proses dan pengolahan data lanjutan. Menurut Menurut Atzeni, Ceri, Paraboschi dan Torlone, (2006, 163) ER modeling merupakan model data konseptual dan yang menyediakan
serangkaian
konstruksi
serta
mampu
menjelaskan
persyaratan data dari sebuah aplikasi dengan cara yang mudah untuk memahami dan tidak tergantung pada peraturan manajemen dan organisasi data pada sistem. Berdasarkan pendapat Connolly dan Begg (2005, p343) Entity Relationship Model terdiri dari :
44 2.1.17.1Entitas Berdasarkan pendapat Connolly dan Begg (2005, p343) entitas adalah sekumpulan objek yang diidentifikasi oleh sebuah perusahaan atau perorangan yang mempunyai sifat-sifat yang sama dan mempunyai keberadaan yang independen. Sebuah entitas 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 entitas yang berbeda pula. Sebuah basis data biasanya berisi banyak tipe entitas yang berbeda pula. Dalam UML, huruf pertama dari entitas diawali dengan huruf kapital. Berdasarkan pendapat Connolly dan Begg (2005, p345), entity occurence adalah sebuah objek unik yang dapat diidentifikasikan dari sebuah tipe entitas. Berikut adalah contoh entitas : staf, cabang, property, pemilik. 2.1.17.2 Relationship Berdasarkan pendapat Connolly dan Begg (2005, p346) relationship adalah sekumpulan hubungan yang berarti antara satu atau lebih entitas, dimana setiap tipe relationship diberi nama yang menggambarkan fungsinya. Berdasarkan pendapat Connolly dan Begg (2005, p346) relationship occurence adalah hubungan yang dapat diidentifikasi
45 secara unik, yang termasuk satu kejadian dari setiap entitas yang berpartisipasi. 2.1.17.3 Relationship Recursive Berdasarkan pendapat Connolly dan Begg (2005, p349) relationship recursive adalah jenis relationship dimana entitas yang sama berpartisipasi lebih dari satu di dalam peran yang berbeda. Sebagai contoh, entitas staf berpartisipasi dua kali di dalam relationship supervises. Partisipasi pertama sebagai supervisor dan partisipasi kedua sebagai anggota dari staf yang diawasi. Relationship mungkin diberikan nama peran untuk mengidikasikan tujuan yang setiap entitas yang berpartisipasi. Di sini penting untuk menentikan fungsi setiap partisipan. 2.1.17.4 Atribut Berdasarkan pendapat Connolly dan Begg (2005, p350) atribut adalah sebuah properti atau sifat dari entitas atau relationship. Sebagai contoh, entitas staf mungkin dapat menjelaskan atribut sebagai berikut : nostaf, nama, posisi, dan gaji. Setiap atribut menyimpan nilai yang menjelaskan setiap entity occurrence dan menggambarkan bagian utama dari data yang disimpan di dalam basis data. Sedangkan berdasarkan pendapat Connolly dan Begg (2005, p350), domain atribut adalah sekelompok nilai yang diperbolehkan
bagi
satu
atau
lebih
atribut.
Domain
mendefinisikan nilai potensi yang dimiliki atribut. Sebagai contoh
46 ruangan berhubungan dengan properti antara 1-15 untuk setiap entity occurrence. Oleh karena itu mendefinisikan sekelompok nilai bagi nomor ruangan atau atribut rooms dari entitas properti sebagai sekelompok nilai integer antara 1-15. 2.1.17.4.1 Atribut Simple dan Composite Berdasarkan pendapat Connolly dan Begg (2005, p351) atribut simple adalah sebuah atribut yang terdiri dari komponen tunggal dengan keberadaannya yang bebas. Atribut ini tidak dapat dibagi kedalam komponen yang lebih kecil lagi. Sebagai contoh adalah atribut posisi dan gaji pada entitas staf. Berdasarkan pendapat Connolly dan Begg (2005, p351) atribut composite 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 entitas cabang dengan nilai 163 Main St, Glasgow, G119QX yang kemudian dibagi ke dalam komponen jalan : 163 Main St, Kota : Glasgow, Kodepos : G119QX. 2.1.17.4.2 Atribut Single Valued dan Multi-Valued Berdasarkan pendapat Connolly dan Begg (2005, p351) atribut single value adalah atribut yang berisi nilai tunggal bagi setiap kejadian dari setiap entitas. Sebagai contoh, setiap kejadian dari entitas cabang mempunyai
47 nilai tunggal bagi nomor cabang atau atribut branchNo = B003. Oleh karena itu atribut branchNo mengacu pada nilai tunggal. Berdasarkan pendapat Connolly dan Begg (2005, p352) atribut multi-valued
adalah atribut yang berisi
berbagai nilai bagi setiap kejadian dari setiap entitas. Sebagai contoh, setiap kejadian dari entitas cabang dapat mempunyai berbagai nilai bagi atribut telno = 0141-3392178, 0141-339-4439. Oleh karena itu atribut telno merupakan atribut multi-value. 2.1.17.4.3 Derived Atribut Berdasarkan pendapat 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 entitas yang sama. Sebagai contoh, nilai bagi atribut durasi dari entitas pelepasan dihitugn dari atribut rentstart dan rentfinisih yang juga dari entitas pelepasan. Oleh karena itu atribut durasi dianggap sebagai atribut derived.
2.1.17.5 Entitas Kuat dan Entitas Lemah Berdasarkan pendapat Connolly dan Begg (2005, p354) entitas kuat adalah entitas yang keberadaannya tidak bergantung pada beberapa entitas yang lain. Karakter dari entitas ini adalah
48 bahwa setiap kejadian entitas teridentifikasi secara unik menggunakan atribut primary key. Sebagai contoh, kita dapat mengidentifikasi secara unik setiap anggota staf dengan menggunakan atribut staffno. Berdasarkan pendapat Connolly dan Begg (2005, p354) entitas lemah adalah entitas yang keberadaannya tergantung pada beberapa entitas yang lain. Karakteristik dari entitas ini bahwa setiap kejadian entitas tidak dapat teridentifikasi secara unik hanya dengan menggunakan atribut yang berhubungan dengan entitas tersebut. Sebagai contoh, kita tidak dapat mengidentifikasi setiap kejadian dari entitas kesukaan hanya dengan menggunakan atribut entitas tersebut. Kita hanya dapat mengidentifikasi secara unik entitas kesukaan melalui relationship yang entitas kesukaan miliki dengan entitas klien yang secara unik teridentifikasi menggunakan primary key bagi entitas klien.
2.1.17.6 Structural Constraint Berdasarkan pendapat Connolly dan Begg (2005, p356), constraints seharusnya mencerminkan batasan dari hubungan sebagai suatu tanggapan dalam dunia nyata. Tipe utama constraints dalam hubungan disebut multiplicity. Multiplicity adalah jumlah kejadian yang mungkin dari entitas yang berhubungan pada kejadian tunggal dari sebuah hubungan entitas melalui relationship tertentu. Ini merupakan gambaran dari
49 kebijakan atau 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 : 1.
Relationship One To One (1:1)
Gambar 2.3 Hubungan one to one Sumber (Connolly dan Begg (2005, p356)) 2.
Relationship One to Many (1:*)
Gambar 2.4 Hubungan one to many Sumber: Connolly dan Begg (2005, p356)
50 3.
Relationship Many to Many (*:*)
Gambar 2.5 Hubungan many to many Sumber (Connolly dan Begg (2005, p356))
2.1.17.7 Cardinality Berdasarkan pendapat Connolly dan Begg (2005, p363) cardinality yaitu menjelaskan jumlah maksimum yang mungkin kejadian relatiosnhip bagi entitas yang berpartisipasi di dalam relationship yang diberikan. Cardinality terdiri dari : one-to-one (1:1), one-to-many (1:*), dan many-to-many (*:*).
2.1.17.8 Composition Berdasarkan pendapat Connolly dan Begg (2005, p384), composition merupakan sebuah bentuk tertentu dari agregasi yang menggambarkan hubungan antara entitas, dimana disana terdapat kepemilikan yang kuat antara ‘keseluruhan’ dan ‘bagian’. Disini objek hanya menjadi bagian satu composite pada waktu itu.
51
Gambar 2.6 Composition Sumber (Connolly dan Begg (2005, p384)) Dari pengertian di atas dapat disimpulkan bahwa ER modeling merupakan model data konseptual yang dapat menyediakan serangkaian konstruksi serta mampu menjelaskan persyaratan data dengan cara mengindentifikasi data-data penting yang mudah dipahami dalam bentuk sebuah model 2.1.18 Normalisasi Normalisasi merupakan suatu tahapan perancangan database yang menjadi dasar untuk pembuatan basis data. Normalisasi adalah suatu teknik yang menghasilkan kumpulan relasi dengan property yang diinginkan berdasarkan suatu kebutuhan data dalam organisasi atau perusahaan (Connolly dan Begg (2010, p415)). Berdasarkan pendapat Connolly dan Begg (2005, p388), normalisasi adalah teknik untuk mengorganisasi data kedalam tabel-table untuk memenuhi kebutuhan pemakai didalam sebuah organisasi.
52 Tujuannya adalah untuk menghilangkan kerangkapan data, mengurangi kompleksitas, dan memodifikasi data. Proses yang terdapat dalam normalisasi berdasarkan Connolly dan Begg (2005, p403) terbagi menjadi beberapa tahap, yaitu: 1. Unnormalized Form (UNF) Berdasarkan pendapat Connolly dan Begg (2005, p403), UNF adalah sebuah tabel yang mengandung lebih dari satu bagian yang berulang (repeating group). 2. Normalisasi Data Pertama (First Normal Form / 1NF) Bentuk 1NF adalah hubungan dimana irisan (intersection) dari setiap baris dan kolom hanya mengandung satu nilai. Untuk mengubah table UNF ke 1NF harus mengidentifikasi dan menghilangkan bagian yang berulang pada UNF, antara lain : a) Pendekatan
pertama,
hilangkan
repetition
group
dengan
memasukkan data yang berlebihan kedalam kolom dan baris kosong sehingga hasil dari tabel nantinya hanya mengandung nilai atomik (tunggal). b) Pedekatan kedua, dengan menempatkan data yang berlebihan, selanjutnya dengan meng-copy atributnya yang asli dalam sebuah relasi yang dipisahkan. Kedua pendekatan ini benar. Tetapi, pendekatan kedua awalnya menghasilkan relasi yang paling sedikit pada 1NF dengan mengurangi redudancy. Jika menggunakan pendekatan pertama, relasi 1NF adalah buruk. Selanjutnya selama langkah normalisasi berikutnya akan
53 menghasilkan relasi yang sama sehingga dihasilkan oleh pendekatan kedua. Akan tetapi hasil dari normalisasi 1NF masih bisa menyebabkan update anomalies, sehingga diperlukan normalisasi bentuk kedua (2NF). a) Normalisasi Data Kedua (Second Normal Form / 2NF) Berdasarkan pendapat Connolly dan Begg (2005, p407), Second Normal Form / 2NF adalah berdasarkan konsep ketergantungan fungsional penuh (full function dependency). Full function dependency dinyatakan dengan jika A dan B adalah attribute dari suatu relasi, B adalah fungsional ketergantungan penuh (fully functional dependency) pada A jika B adalah secara fungsional bergantung pada A tetapi bukan merupakan himpunan bagian dari A. Jelasnya bentuk 2NF adalah sebuah relasi didalam 1NF dan setiap atribut yang bukan primary key adalah fungsional tergantung pada primary key. Proses normalisasi dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian ketergantungan. b) Normalisasi Data Ketiga (Third Normal Form / 3NF) Berdasarkan pendapat Connolly dan Begg (2005, p408), 3NF berdasarkan pada konsep peralihan ketergantungan (transitive dependency). Transitive dependency adalah sebuah kondisi dimana A, B, dan C adalah atribut dari sebuah relasi bahwa jika A -> B dan B -> C, maka C secara transitif bergantung pada A melewati B (menyatakan bahwa A tidak secara fungsional bergantung kepada B atau C). Pada 3NF, sebuah relasi pada bentuk 1NF dan 2NF dan tidak ada non primary key secara
54 transitif bergantung pada primary key. Proses nomalisasi dari 2NF ke 3NF melibatkan penghilangan dari transitive dependency. Jika sebuah transitive dependency antara attribute nya dengan menempatkan attribute tersebut ke dalam relasi baru, selanjutnya dengan sebuah salinan dari determinannya. suatu teknik yang menghasilkan kumpulan relasi dengan property yang diinginkan berdasarkan suatu kebutuhan data dalam organisasi
atau
perusahaan
Tujuannya
adalah
untuk
menghilangkan kerangkapan data, mengurangi kompleksitas, dan memodifikasi data.
2.1.19 Fact Finding Technique Untuk membangung sebuah database didasarkan pada masalah yang sedang muncul, lalu dibuatkan sistemnya untuk menangani masalah tersebut. Untuk mengindentifikasi masalah tersebut harus dilakukan beberapa kegiatan pengumpulan data agar dapat diperoleh informasiinformasi penting.
Menurut Connolly dan Begg (2010, p317), teknik fact finding adalah : 1. Examining Documentation Examining
Documentation
membantu
menyediakan
informasi
perusahaan yang berkaitan dengan masalah yang sedang dihadapi. Dengan cara mempelajari dokumen-dokumen, laporan dan file yang berkaitan dengan sistem yang ada.
55 2. Interviewing Dengan wawancara dapat diperoleh informasi dari individu-individu secara
langsung.
Tujuannya
untuk
menemukan
fakta
dan
mengidentifikasi kebutuhan, dan memperoleh ide-ide dari seorang individu. 3. Observing the enterprise in operation Teknik ini merupakan teknik yang secara langsung terjun ke lapangan untuk memantau atau mempelajari seseorang terhadap sistem untuk memahami sebuah sistem lebih lanjut. 4. Research Melakukan riset terhadap suatu masalah yang sedang dihadapi. Hasil riset
dapat
menyediakan
informasi-informasi
penting tentang
bagaimana orang lain memecahkan masalah yang serupa dengan teknik-teknik tertentu. 5. Questionnaires Questionnaires adalah sebuah dokumen yang diberikan langsung kepada sejumlah orang untuk memperoleh fakta-fakta yang berkaitan dengan sistem. Teknik ini merupakan yang paling efisien untuk memperoleh informasi dari banyak orang.
2.1.20 Structured Query Language (SQL) Menurut Connolly dan Begg (2010, p184) SQL adalah suatu bahasa database yang dapat melaksanakan tugas secara minimal dari
56 perintah struktur sintaks yang harus relevan dan portable yang sesuai dengan standar yang telah ditentukan. Jadi dari pengertian diatas dapat disimpulkan bahwa SQL merupakan sebuah bahasa yang dipergunakan untuk mengkases data dalam sebuah database dengan menggunakan bahasa standar yang telah ditentukan
2.2
Teori Khusus Teori khusus ini berisikan tentang teori-teori yang digunakan secara khusus yang berkaitan dengan topik yang nantinya akan dibahas dalam penulisan skripsi ini.
2.2.1
Pengertian Kontraktor Perusahaan kontraktor merupakan sebuah perusahaan yang bergerak dalam bidang jasa yang biasanya bekerja untuk membangun sebuah bangunan dalam jumlah besar. Menurut Ervianto (2002) definisi perusahaan kontraktor adalah orang atau badan usaha yang menerima pekerjaan dan menyelenggarakan pelaksanaan pekerjaan sesuai dengan biaya yaang ditetapkan. kontraktor dapat berupa perusahaan perseorangan yang berbadan hukum atau sebuah badan hukum yang bergerak dalam bidang pelaksanaan pekerjaan.
2.2.2
Pengertian Pemasaran
57 Pemasaran pada suatu perusahaan bermanfaat untuk melakukan promosi perusahaan agar dapat dikenal oleh masyarakat. Selain itu pemasaran juga bermanfaat untuk melakukan pendistribusian barang. Pemasaran adalah salah satu kegiatan dalam perekonomian yang membantu dalam menciptakan nilai ekonomi. Nilai ekonomi itu sendiri menentukan harga barang dan jasa. Faktor penting dalam menciptakan nilai tersebut adalah produksi, pemasaran dan konsumsi. Pemasaran menjadi penghubung antara kegiatan produksi dan konsumsi. Pemasaran adalah kegiatan ekonomi yang membantu dalam menciptakan nilai ekonomi . nilai ekonomi itu sendiri menentukan jasa (Kotler, 1997).
2.2.3
Pengertian Persediaan Persediaan merupakan persediaan barang yang dimiliki oleh perusahaan yang kemudian akan diolah menjadi produk perusahaan. Menurut Standar Akuntansi Keuangan (2002:142) inventory atau persediaan adalah Persediaan meliputi barang yang dibeli dan disimpan untuk dijual kembali persediaan juga mencakup barang jadi yang telah diproduksi atau barang dalam penyelesaian yang sedang sari produksi perusahaan dan termasuk bahan serta perlengkapan yang akan digunakan dalam proses produksi. Menurut Warren (2005:440) diterjemahkan Farahmita persediaan adalah barang dagang yang disimpan untuk kemudian dijual dalam
58 operasi bisnis perusahaan dan bahan yang digunakan dalam proses produksi atau disimpan untuk tujuan itu.
2.2.4
Pengertian Keuangan Pengelolaan keuangan yang baik pada suatu perusahaan sangat dibutuhkan karena keuangan perusahaan menjadi pusat suatu perusahaan untuk dapat menjalankan proses bisnis. Keuangan atau finance didefinisikan sebagai seni dan ilmu dalam mengelola uang (the art and science of managing money). Ada beberapa area yang saling berkaitan dengan keuangan yaitu money and capital markets, termasuk didalamnya pasar sekuritas dan lembaga keuangan, investments, baik yang dibuat oleh investor, individual maupun lembaga dalam memilih portofolio sekuritas, dan financial management, yang mencakup pembuatan keputusan keuangan dalam perusahaan. Keuangan adalah bidang yang sangat dinamis dan luas. Keuangan langsung mempengaruhi sisi kehidupan setiap orang di setiap perusahaan. Menurut (Warsono, 2003), manajemen keuangan disebut sebagai suatu kegiatan yang berhubungan dengan tugas-tugas manajer keuangan dalam perusahaan bisnis atau organisasi bisnis. Peran manajemen keuangan didalam sebuah bagian untuk menyusun dan mengelola keuangan suatu perusahaan atau organisasi sangatlah sederhana dan dengan kreatifitas dan keuletan seorang manajer keuangan dapat mengolah dan membentuk pola keuangan yang sesuai dengan keinginan perusahaan karena pada dasarnya seorang manajer keuangan hanya perlu menyatukan antara
59 tujuan perusahaan dan keinginan perusahaan atau organisasi dalam sebuah bentuk keuangan yang sesuai sehingga tidak merugikan atau berpengaruh negatif terhadap keuangan perusahaan.
2.2.5
Microsoft SQL Server Menurut Martin Gruber (2000, p20), SQL adalah sebuah bahasa berorientasi khusus di sekitar basis data relasional. Hal ini meringankan pekerjaan yang harus dilakukan jika menggunakan bahasa pemrograman umum, untuk membangun sebuah basis data relasional harus dimulai dari mendefinisikan obyek yang disebut table yang bisa berkembang untuk memiliki jumlah baris, dan kemudian membuat prosedur untuk menempatkan nilai-nilai didalamnya. Munurut Connolly dan Begg (2002, p111), idealnya sebuah bahasa basis data harus memperbolehkan pengguna untuk: 1. Menciptakan basis data dan struktur relasi. 2. Mengerjakan tugas-tugas dasar manajemen data seperti penempatan, modifikasi, dan penghapusan data dari relasi. 3. Mengerjakan kueri yang sederhana dan kompleks. Bahasa basis data harus mengerjakan tugas-tugas ini dengan usaha pengguna yang minimal, serta struktur perintah dan sintaksnya harus mudah dipelajari, juga harus portable, yaitu harus sesuai dengan
60 standar yang ada sehingga dapat menggunakan struktur perintah dan sintaks yang sama ketika memindah DBMS satu ke DBMS lainnya dan SQL memenuhi persyaratan ini.