BAB 2 LANDASAN TEORI
2.1.
Pendekatan Basisdata 2.1.1. Pengertian Basisdata (Connoly, 2002, p14), Basisdata adalah kumpulan data yang terhubung secara logikal yang bisa dipakai secara bersama dan deskripsi mengenai data tersebut, yang didesain untuk memenuhi kebutuhan informasi dari suatu organisasi. (Abdul Kadir, 1998, p9), menurut Date, Basisdata adalah sistem komputerisasi yang tujuan utamanya adalah memelihara informasi, dan membuat informasi tersebut tersedia saat dibutuhkan Berdasarkan beberapa pendapat diatas disimpulkan bahwa basisdata merupakan sekumpulan data yang saling berhubungan dan diolah untuk memenuhi kebutuhan suatu organisasi. Dari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria penting, yaitu : 1.
Bersifat data oriented dan bukan program oriented.
2.
Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
3.
Dapat
dikembangkan
dengan
strukturnya.
8
mudah,
baik
volume
maupun
9 4.
Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5.
Dapat digunakan dengan cara-cara yang berbeda.
6.
Prinsip utama basisdata adalah pengaturan data dengan tujuan utama fleksibelitas dan kecepatan dalam pengambilan data kembali. Adapun Tujuan basis data diantaranya adalah sebagai berikut :
1.
Efisiensi meliputi kecepatan, tempat, dan ketelitian.
2.
Menangani data dalam jumlah besar.
3.
Kebersamaan pemakaian (Sharebility).
4.
Meniadakan duplikasi dan inkonsistensi data.
2.1.2. Pengertian Sistem Basisdata Menurut
Date
(2000,p5)
sistem
basisdata
merupakan
sistem
penyimpanan record yang terkomputerisasi. Dengan kata lain sistem basisdata merupakan sistem penyimpanan informasi yang terkomputerisasi sehingga memudahkan pemakainya untuk mengambil kembali dan memperbaharui informasi tersebut.
2.1.3. Database Management System (DBMS) 2.1.3.1. Pengertian DBMS (Connoly & Begg, 2002, p16 ), Database Management System (DBMS) adalah sebuah sistem piranti lunak yang membolehkan pengguna
mendefinisikan,
membuat,
mengkontrol pengaksesan ke basisdata.
memelihara,
dan
10 (Abdul Kadir, 1998, p17), Database Management System (DBMS) adalah sebuah program komputer yang digunakan untuk memasukan,
memanipulasi,
mengubah,
menghapus,
dan
memperoleh data atau informasi dengan praktis dan efesien. Berdasarkan beberapa pendapat diatas disimpulkan bahwa DBMS merupakan sebuah software yang digunakan untuk menciptakan, memelihara, memasukan, memanipulasi, mengubah, menghapus serta memudahkan pengguna untuk memperoleh data yang dibutuhkan.
2.1.3.2. Sejarah DBMS DBMS yang pertama berdasarkan pada metode hierarki dari pengurutan data. Sistem yang pertama kali merupakan eksistensi dari struktur file COBOL. Bagaimanapun juga pendekatan hubungan database ditemukan oleh E.F. Codd yang menjadi metode dominan dari penyimpanan dan pengambilan data. Kesadaran menyimpan dan memanipulasi data telah menjadi fokus perhatian pengguna komputer sejak awal. DBMS bertujuan umum pertama dirancang oleh Charles Bachman sekitar awal tahun 1960-an. DBMS yang dirancang disebut Integrited Data Storage. DBMS ini menggunakan model data jaringan.
11 Pada akhir tahun 1960-an IBM mengembangkan IMS DBMS (Informtion Management System DBMS) menggunakan model data hierarki yang sampai saat ini masih dipakai. 2.1.3.3. Fungsi DBMS Menurut
Connolly&Begg
(2002,pp48-52)
fungsi-fungsi
DBMS adalah: 1. Data Storage, Retrieval and Update Suatu DBMS harus memiliki kemampuan untuk melakukan penyimpanan, penelusuran dan juga mengupdate data-data yang ada. 2. A User-accessible catalog Sebuah DBMS harus dapat memiliki sebuah katalog untuk mendeskripsikan data yang disimpan dan juga dapat diakses oleh pengguna. 3. Transaction Support DBMS harus menyediakan suatu mekanisme yang akan menjamin bahwa
semua kegiatan update maupun tidak,
sesuai dengan transaksi yang dilakukan.
12 4. Concurrency control services DBMS harus menyediakan mekanisme yang menjamin bahwa basisdata di-update dengan benar ketika lebih dari satu pemakai mengubah basisdata secara bersamaan. 5. Recovery services DBMS harus menyediakan mekanisme untuk memperbaiki basisdata yang dalam suatu kesempatan rusak karena suatu hal. 6. Authorization services DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pengguna yang mempunyai hak yang dapat mengakses basisdata. 7. Support for data communication DBMS
harus
mampu
berintegrasi
dengan
software
komunikasi. 8. Integrity services DBMS harus menyediakan cara untuk menjamin bahwa data dalam basisdata dan perubahan pada data mengikuti aturan yang telah ditetapkan sebelumnya. 9. Services to promote data independence DBMS
harus
mencakup
fasilitas
yang
mendukung
independensi program dari struktur aktual basisdata. 10. Utility services DBMS harus menyediakan satu set fasilitas pelayanan.
13 2.1.4. Data Definisi Language (DDL) DDL adalah perintah-perintah yang dapat digunakan oleh administrator basisdata (DBA) untuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basisdata. Tugas utama skema adalah menjabarkan struktur basisdata kepada DBMS. DDL juga dipakai untuk mendefinisikan sub-skema. Sub-skema adalah pandangan (view) bagi pengguna terhadap basisdata. Sub-skema merupakan himpunan bagian dari skema. Dengan kata lain, sub-skema bisa mencangkup sebagian atau seluruh bagian skema. DDL juga digunakan untuk menciptakan, mengubah, dan menghapus basisdata.
2.1.5. Data Manipulasi Language (DML) DML adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada basisdata. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. Pada dasarnya DML dibagi menjadi dua: 1. Prosedural, yang menuntut pengguna menentukan data apa saja yang dibutuhkan dan bagaimana cara mendapatkannya. 2. Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak menyebutkan cara mendapatkannya. DML nonprosedural ini menawarkan kemudahan bagi pengguna dalam mempelajari dan juga dalam menggunakannya daripada DML prosedural.
14 Namun karena pengguna tidak tahu cara mendapatkan data, DML nonprosedural terkadang kurang efesien dibanding dengan DML prosedural, untuk masalah tertentu. Ada dua cara untuk mengakses data pada basisdata. Pertama, dengan mengetik perintah-perintah yang ditujukan kepada DBMS untuk memanipulasi suatu rekaman atau suatu data, Biasanya DML yang digunakan bersifat nonprosedural. Kedua, melalui program aplikasi yang menerbitkan instruksi-instruksi internal ke DBMS untuk mengambil data dan memberikan hasil ke program.
2.1.6.
4th GL (Generation Language) Fourth-generation language meliputi bahasa pemograman yang kecil. 4GL adalah non-prosedural: pengguna menjelaskan apa yang dikerjakan, bukan bagaimana. Pengguna tidak harus menjelaskan langkah-langkah yang dibutuhkan program untuk melakukan tugas, tetapi malahan menjelaskan parameter-parameter untuk peralatan yang menggunakan mereka untuk menghasilkan program aplikasi. Fourth-generation language meliputi: a. Bahasa presentasi, seperti bahasa query dan report generators. b. Bahasa khusus, seperti spreadsheet dan database language. c. Application generators yang menjelaskan, insert, update dan retrieve data dari database ke aplikasi yang dibuat. d. Bahasa level tinggi yang digunakan untuk menghasilkan kode aplikasi
15 2.1.7. Siklus Hidup Database Menurut Connolly & Begg(2002, p272) siklus hidup dari sebuah analisis dan perancangan basis data terdiri dari:
Database Planning
System Definition
Requirement Collection and Analysis
Conceptual Database Design
DBMS Selection (optional)
Application Design Logical Database Design
Physical Database Design
Prototyping (optional)
Implementation
Data Convertion for Loading
Testing
Operational Maintenance
Gambar 2.1 Siklus Hidup Database (Sumber: Connolly dan Begg, 2002, p297)
16 2.1.7.1.
Database Planning Database planning adalah merencanakan bagaimana tahaptahap dari lifecycle dapat direalisasikan dengan cara yang paling efisien dan efektif. Perencanaan basisdata harus teringrasi dengan sistem informasi (Connolly & Begg, 200, p273). 1. Identifikasi
rencana
dan
tujuan
perusahaan
dengan
menentukan sistem informasi yang diperlukan. 2. Evaluasi sistem informasi yang sekarang digunakan untuk menentukan kelemahan dan kekuatannya. 3. Penilaian tetang peluang IT yang mungkin menghasilkan keuntungan yang kompetitif. Metodologi untuk mengatasi tiga hal tersebut di atas, yaitu: 1. Database Planning – Mission Statement Mission Statement untuk database project mendefinisikan tujuan utama dari aplikasi database. Mengarahkan database project, biasanya mendefinisikan perintah tugas (mission statement).
Mission
statement
membantu
menjelaskan
kegunaan dari database project dan menyediakan alur yang lebih jelas untuk mencapai efektifitas dan efesiensi penciptaan dari suatu aplikasi database yang diinginkan. 2. Database Planning – Mission Objectives Ketika mission statement telah didefinisikan, maka mission objectives didefinisikan. Setiap objective (tujuan) harus mengidentifikasikan tugas khusus yang harus didukung oleh
17 database. Dapat juga disertai dengan beberapa informasi tambahan yang menspesifikasikan pekerjaan yang harus diselesaikan. Sumber daya yang digunakan dan biaya untuk membayar kesemuanya itu. Perencanaan database juga harus meliputi pengembangan standar pengumpulan data, bagaimana penetapan format, dokumentasi
yang
diperlukan,
bagaimana
design
dan
implementasi diproses. 2.1.7.2. System Definition System definition menspesifikasikan jangkauan dan batasan dari aplikasi basisdata, penggunaannya, dan lingkungan aplikasi. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja khusus (seperti: manajer, atau supervisor) atau area aplikasi perusahaan (seperti: marketing, personnel, atau stock control). Aplikasi database memiliki satu atau lebih user view. Identifikasi user view membantu memastikan bahwa tidak ada pengguna utama dari suatu basisdata yang terlupa ketika pembuatan aplikasi baru yang dibutuhkan. User views juga membantu dalam pengembangan aplikasi basisdata yang rumit atau kompleks memungkinkan permintaan-permintaan dipecah ke dalam bagian-bagian yang lebih sederhana.
18 2.1.7.3. Requirements Collection and Analysis Proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basisdata dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan pengguna pada sistem baru. Pada bagian ini dilakukan pengumpulan dan analisa informasi mengenai bagian-bagian dari enterprise yang akan menggunakan atau terkait dengan basisdata yang akan dibuat. Untuk itu digunakan teknik yang disebut Fact Finding Technique. Terdapat lima teknik fact finding yang umum digunakan (Connolly & Begg, 2002. p305): 1. Mengevaluasi dokumen 2. Wawancara 3. Mengobservasi jalannya kegiatan kerja pada perusahaan 4. Penelitian 5. Kuisioner 2.1.7.4. Database Design Database design adalah proses membuat sebuah desain untuk sebuah sistem basisdata yang mendukung kegiatan operasional suatu perusahaan (Connoly & Begg, 2002, p279) pada bagian ini dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal.
19 1. Perancangan konseptul basisdata Perancangan konseptual merupakan proses konstruksi suatu informasi yang digunakan dalam sebuah organisasi. Fase perancangan konseptual bermula dari pembuatan data model konseptual dari organisasi, yang sepenuhnya bebas
mengimplementasikan
rincian-rincian
seperti
mengenal sasaran dari manajemen sistem basisdata (DBMS), program-program aplikasi, bahasa pemograman, platform perangkat keras, persoalan kinerja, atau pertimbangan fisik lainnya. 2. Perancangan logikal basisdata Perancangan basisdata logikal adalah proses konstruksi suatu informasi yang digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi bebas dari fakta-fakta DBMS dan pertimbangan fisik lainnya. Fase perancangan basisdata secara logikal memetakan model perancangan konseptual pada sebuah model logikal, yang mana dipengaruhi oleh model data untuk target basisdata (Contoh: model relational). Model data logikal adalah sumber informasi bagi fase perancangan fisik dengan wahana untuk pembuatan penjualan yang sangat penting untuk sebuah perancangan basisdata yang efisien.
20 3. Perancangan fisikal basisdata Perancangan basisdata secara fisik yang merupakan proses pembuatan deskripsi dari implementasi basisdata pada media penyimpanan sekunder dan fase ini mendeskripsikan dasar relasi, berkas organisasi dan indeks untuk mencapai pengaksesan data yang efisien dan beberapa batasan hubungan yang utuh dan tingkatan keamanan. Fase perancangan basisdata secara fisik memperbolehkan perancangan membuat keputusan-keputusan berdasarkan pada
bagaimana
basisdata
diimplementasikan.
Agar,
perancangan fisikal ditoleransi untuk sebuah manajemen sistem basisdata yang spesifik. Ada timbal balik antar perancangan logikal dan fisikal, karena keputusan-keputusan yang diambil selama perancangan fisikal mengembangkan kinerja yang bisa mempengaruhi model data logikal. Tujuan utama dari perancangan basisdata, yaitu: 1. Merepresentasikan data dan relationship antara data yang dibutuhkan oleh seluruh area aplikasi utama dan user group. 2. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data. 3. Menspesifikasi perancangan minimal yang secara tepat disusun untuk memenuhi kebutuhan kinerja yang ditetapkan pada sistem (misalnya: waktu respon).
21 2.1.7.5. DBMS Selection DBMS
Selection
Yaitu
pemilihan
DBMS
(Database
Manajement System) yang sesuai untuk aplikasi-aplikasi basisdata. Berikut ini adalah langkah-langkah utama dalam pemilihan DBMS (Connolly & Begg, 2002, p284): 1. Menggambarkan cangkupan tugas berdasarkan kebutuhan perusahaan. 2. Membuat perbandingan mengenai dua atau tiga produk DBMS. 3. Mengevaluasi produk-produk DBMS tersebut. 4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut. 2.1.7.6. Application Design (Connolly & Begg, 2002, p287), perancangan aplikasi yaitu merancang antar muka dan program aplikasi yang menggunakan dan memproses basisdata. Perancangan basisdata dan aplikasi merupakan aktivitas pararel yang meliputi dua aktivitas penting, yaitu: 1. Transaction Design Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi, yang mengakses atau merubah isi dari basisdata. Kegunaan dari desain transaksi adalah untuk menetapkan dan keterangan
22 karakteristik high-level dari suatu transaksi yang dibutuhkan pada basisdata, diantaranya: a. Data yang digunakan oleh transaksi. b. Karakteristik fungsional dari suatu transaksi. c. Output transaksi. d. Keuntungannya bagi user. e. Tingkat kegunaan yang diharapkan. Terdapat tiga tipe transaksi, yaitu: a. Retrieval transaction Digunakan untuk pemanggilan (retieve) data untuk ditampilkan di layar atau menghasilkan suatu laporan. b. Update transaction Digunakan untuk menambah record baru, menghapus record lama, atau memodifikasi record yang telah ada di dalam basisdata. c. Mixed transaction Meliputi pemanggilan dan perubahan data. 2. User Interface Design Beberapa aturan pokok dalam pembuatan antar muka pengguna, yaitu: a. Meaningful title, diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form atau report.
23 b. Comprehensible instructions, penggunaan terminologi yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan helpscreen. c. Logical grouping and sequencing af fields, field yang saling berhubungan ditempatkan pada form atau report yang sama. Urutan field harus logis dan konsisten. d. Visually applealing layout of the form/report, tampilkan form atau report harus menarik dan sesuai dengan hardcopy agar konsisten. e. Familiar field labels, penggunaan label yang familiar. f.
Consistent terminology and abbreviation, terminology dan singkatan yang digunakan harus konsisten.
g. Consistent use of color. h. Visiblespace and boundaries for data-entity fields, jumlah tempat yang disediakan untuk data-entry harus diketahui oleh pengguna. i.
Convinient cursor movement, user dapat dengan mudah menjalankan
operasi
yang
diinginkan
dengan
menggerakan cursor pada form atau report. j.
Error correction for individual characters and entire fields, pengguna dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field
24 k. Error messages for unacceptable values. l.
Optional fields marked clearly.
m. Explanatory message for fields, ketika user meletakan cursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat. n. Completion signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan. 2.1.7.7. Prototyping Membangun model kerja dari aplikasi basisdata yang memperbolehkan
perancang
atau
pengguna
untuk
memvisualisasikan dan mengevaluasi bagaimana sistem akhirnya akan tampak dan berfungsi. Ada dua cara strategi membuat prototype (Connoly & Begg, 2002, p261), yaitu: 1. Requirement Prototyping Mengembangkan prototype untuk menentukan kebutuhan suatu aplikasi basisdata yang dibutuhkan dan ketika kebutuhan dirasakan sudah lengkap maka prototype tersebut tidak digunakan lagi. 2. Evolutionary Prototyping Digunakan untuk tujuan sama, perbedaannya adalah bahwa prototype tidaklah dibuang tetapi dikembangkan lebih lanjut sehingga menjadi aplikasi basisdata tersebut.
25 2.1.7.8. Implementation Implementasi merupakan perwujudan fisik dari basisdata dan desain aplikasi (Connolly & Begg, 2002, p292). Implementasi basisdata dicapai dengan membangun Data Definition Language (DDL) dari DBMS yang telah dipilih atau dengan menggunakan Graphical User Interface (GUI), masing-masing menyediakan fungsi ketika menyembunyikan pertanyaan (statement) DDL yang low-level. Pertanyaan (statement) DDL digunakan untuk menciptakan struktur basisdata dan mengkosongkan file yang terdapat dalam basisdata tersebut. User view juga diterapkan pada langkah implementasi. 2.1.7.9. Data Conversion dan Loading (Connolly & Begg, 2002, p293), Pemindahan data yang ada ke dalam basisdata yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basisdata yang baru. 2.1.7.10. Testing (Connolly & Begg, 2002, p293), Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan mencari kesalahan dan divalidasi untuk kebutuhan yang dispesifikasikan oleh pengguna. Jika data riil diharapkan untuk digunakan, maka adalah penting untuk mempunyai back up. Setelah pengujian diselesaikan, maka sistem aplikasi dan basisdata ini telah siap untuk digunakan.
26 2.1.7.11. Operational Maintenance Pada tahap pemeliharaan (maintenance), yang melibatkan aktivitas berikut (Connolly & Begg, 2002, p293): 1. Monotoring Performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basisdata mungkin diperlukan. 2. Maintaining dan meningkatkan mutu aplikasi basisdata (ketika diperlukan). Kebutuhan baru disatukan dalam aplikasi basisdata dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam lifecycle.
2.1.8. Tahap-tahap Perancangan Basisdata 2.1.8.1. Perancangan Koseptual Basisdata Fungsi dari tahap ini adalah proses membuat representasi konseptual dari basis data, termasuk identifikasi entiti-entiti yang penting, relationship, atribut. Pada tahap ini dibagi menjadi beberapa langkah yaitu: Langkah 1. Bangun lokal konseptual data model untuk setiap view. Langkah 1.1. Tentukan tipe entiti. Langkah 1.2. Tentukan tipe relationship. Langkah 1.3. Tentukan dan hubungkan atribut dengan entiti atau relationship. Langkah 1.4. Menentukan domain atribut.
27 Langkah 1.5. Menentukan atribut candidate dan primary key. Langkah 1.6. Pertimbangkan penggunaan konsep permodelan yang lebih tinggi (optional). Langkah 1.7. Memeriksa model konseptual lokal akan transaksi pengguna. Langkah 1.8. Validasi model konseptual lokal akan transaksi pengguna. Langkah 1.9. Membahas ulang model data konseptual lokal dengan pengguna. 2.1.8.2. Perancangan Logikal Basisdata Tahap ini memetakan model konseptual ke sebuah model logikal yang dipengaruhi oleh model data yang menjadi tujuan basisdata. Dalam perancangan logikal basisdata, model data yang telah diperoleh dalam perancangan konseptual basisdata diubah dalam bentuk logikal model dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basisdata (Contoh: relational model). Hal ini dilakukan untuk menterjemahkan presentasi konseptual ke dalam bentuk struktur logik dalam basisdata. Model data logikal merupakan sumber informasi dalam perancangan fisikal basisdata. Perancangan logikal basisdata memberikan sarana yang membantu para perancang dalam merancang fisikal basisdata. Pada tahap ini dibagi menjadi beberapa langkah, yaitu:
28 Langkah 1. Bangun dan validasi model data logikal lokal untuk setiap view. Langkah 1.1. Buang hal-hal yang tidak cocok dengan model relational. Langkah 1.2. Buat relations untuk model data logikal. Langkah 1.3. Ubah data tidak normal dengan menggunakan normalisasi. Langkah 1.4. Validasi relations berlawanan dengan transaksi pengguna. Langkah 1.5. Definisikan intergrity constrains Langkah 1.6. Tinjau kembali model data lokal dengan pengguna. Langkah 2. Bangun dan validasi model data logikal global. Langkah 2.1. Ubah model data logikal menjadi model global Langkah 2.2. Validasi model data logikal global. Langkah 2.3. Perhatikan pertumbuhan kedepan. Langkah 2.4. Tinjau kembali model data logikal global dengan pengguna. 2.1.8.3. Perancangan Fisikal Basisdata Pada tahap ini memungkinkan perancang basisdata untuk membuat
keputusan
mengenai
bagaimana
basisdata
akan
diimplementasikan. Oleh karena itu, perancangan fisikal basisdata
29 harus disesuaikan dengan DBMSyang spesifikasi. Pada tahapan ini dibagi menjadi beberapa langkah, yaitu: Langkah 1. Terjemahkan model data global untuk target DBMS Langkah 1.1. Desain tabel Langkah 1.2. Desain representasi data turunan Langkah 1.3. Desain enterprise constraints Langkah 2.
Desain representasi fisikal
Langkah 2.1. Analisa transaksi Langkah 2.2. Pilih organisasi file Langkah 2.3. Pilih index Langkah 2.4. Perkirakan kebutuhan kapasitas tempat penyimpanan. Langkah 3. Desain user views Langkah 4. Desain mekanisme keamanan.
2.1.9. Model Entity Relationship Model Entity Relationship Adalah suatu penyajian data dengan menggunakan Entiti dan Relationship Entity. 2.1.9.1. Tipe Entiti Menurut Connolly (2002, p331), Tipe entiti adalah kumpulan dari objek-objek dengan sifat (property) yang sama, yang di identifikasikan independent.
oleh
enterprise
mempunyai
ekstensi
yang
30 Menurut Connolly (2002, p333), Entity occurence adalah pengidentifikasian objek yang unik dari sebuah tipe entity. Setiap entitas di identifikasikan dan disertakan property-nya.
Gambar 2.2 Tipe Entity Sumber (Connolly & Begg, 2002, p333) 2.1.9.2.
Tipe Relasi Menurut Connolly (2002, p334), Tipe relasi adalah kumpulan keterhubungan yang memiliki arti (meaningful associations) antara tipe entitas yang ada. Tipe relasi adalah tipe yang merepresentasikan relasi yang terdiri dari t tuple, dan setiap tuple-nya terdiri dari n atribut dengan atribut a1,…,an masing-masing bertipe t1,…,tn. Relationship occurrence adalah keterhubungan yang di identifikasikan secara unik yang meliputi keberadaan tipe entitas yang berpartisipasi.
31 Contoh :
Gambar 2.3 Tipe Relasi Sumber (Connolly & Begg, 2002, p334)
Gambar 2.4 Diagram ER Relationship ‘Branch has Staff’ Sumber (Connolly & Begg, 2002, p335) Derajat relationship adalah jumlah entitas yang berpartisipasi dalam suatu relationship. Derajat relationship terdiri dari: 1. Binary relationship Keterhubungan antara dua tipe entitas. Contoh binary relationship antara PrivateOwner dengan PropertyRent yang disebut Powns.
32
Gambar 2.5 Binary Relationship Sumber (Connolly & Begg, 2002, p336) 2. Ternary relationship Keterhubungan antara tiga tipe entitas. Contoh ternary relationship yang dinamakan registers. Relasi ini melibatkan tiga entitas yaitu staff, branch, dan client.
Gambar 2.6 Ternary Relationship Sumber (Connolly & Begg, 2002, p336) 3. Quarternary relationship Keterhubungan antara empat tipe entitas. Contoh Quartenary relationship yang dinamakan Arranges. Relasi ini melibatkan empat entity yaitu buyer, solicitor, financial institution, dan bid. Relasi ini menggambarkan buyer, diberi masukan oleh solicitor, dan didukung oleh financial institution, melakukan penawaran (bid).
33
Gambar 2.7 Quarternary Relationship Sumber (Connolly & Begg, 2002, p337) 4. Unary relationship Keterhubungan antara satu tipe entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang disebut juga Recursive Relationship. Relationship
dapat
diberikan
role
names
untuk
mengidentifikasikan keterkaitan tipe etitas dalam relationship. Contoh entitas staff yang berperan menjadi supervisor dan staff yang di-supervisor-i.
Gambar 2.8 Recursive Relationship Sumber (Connolly & Begg, 2002, p337)
34
gambar 2.9 Unary Relationship Sumber (Connolly & Begg, 2002, p338) 2.1.9.3.
Tipe Atribut Menurut Connolly (2002, p338), Atribut adalah sifat-sifat (property) dari sebuah entiti atau tipe relasi. Atribut biasa disebut juga data elemen, data field, atau data item yang digunakan untuk menerangkan suatu entitas dan mempunyai harga tertentu. Contohnya sebuah entity Staff digambarkan oleh atribut StaffNo, Name, dan Salary. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut, yaitu: 1. Simple Attribute Atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi
35 bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. 2. Composite Attribute Atribut yang terdiri dari beberapa komponen, dimana masingmasing
komponen
memiliki
keberadaan
independen.
Contohnya atribut Address dapat terdiri dari Street, City, PostCode. 3. Single-valued Attribute Atribut yang memiliki nilai tunggal untuk setiap kejadian. Contohnya entitas Branch memiliki satu nilai untuk atribut BranchNo pada setiap kejadian. 4. Multi-value Attribute Atribut yang memiliki beberapa nilai untuk setiap kejadian. Contohnya entitas Branch memiliki beberapa nilai untuk atribut TelpNo pada setiap kejadian. 5. Derived Attribute Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak berasal dari satu entitas.
2.1.9.4.
Tipe Key Menurut Connolly (2002, p340), Candidate Key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap kejadian/record secara unik.
36 Menurut Connolly (2002, p341), Primary Key adalah Candidate key yang dipilih untuk mengidentifikasikan setiap kejadian/record secara unik. Menurut Connolly (2002, p341), Composite Key adalah Candidate key yang terdiri dari dua atau lebih atribut.
Gambar 2.10 ER Diagram dari Staff dan Branch serta Atributnya Sumber (Connolly & Begg, 2002, p342) 2.1.9.5.
Tipe Entity Kuat (Strong) dan Lemah (Weak) Menurut Connolly (2002, p342), Strong entity type adalah entitas yang keberadaannya tidak tergantung pada entitas lain. sedangkan
Menurut Connolly (2002, p343), Weak entity type
adalah entitas yang keberadaannya bergantung pada entitas lain. Strong entity type terkadang disebut Parent, owner domaint dan Weak entity type disebut Child, dependent, subordinate.
37
Gambar 2.11 Strong dan Weak Entity Type Sumber (Connolly & Begg, 2002, p343) 2.1.9.6.
Tipe Struktural Constraint Batasan umum pada relationship disebut Multiplicity. Menurut Connolly (2002, p344), Multiplicity adalah jumlah (range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui relationship. Relationship yang paling umum adalah binary relationship. Macam-macam binary relationship, yaitu:
38
1. One-to-one (1:1)
Gambar 2.12 Semantic Net Multiplicity 1:1 Sumber (Connolly & Begg, 2002, p345)
Gambar 2.13 Multiplicity 1:1 Sumber (Connolly & Begg, 2002, p346)
39
2. One-to-many (1:*)
Gambar 2.14 Semantic Net Multiplicity 1:* Sumber (Connolly & Begg, 2002, p346)
Gambar 2.15 Multiplicity 1:* Sumber (Connolly & Begg, 2002, p347)
40 3. Many-to-many (*:*)
Gambar 2.16 Semantic Net Multiplicity *:* Sumber (Connolly & Begg, 2002, p348)
Gambar 2.17 Multiplicity *:* Sumber (Connolly & Begg, 2002, p348) 4. Multiplicity for Complex Relationship Jumlah (range) dari kejadian yang mungkin dari suatu entitas dalam binary relationship ketika nilai entitas yang lain (n-1) diketahui.
41 Ternary relationship Registers dengan nilai untuk entitas Staff dan Branch diketahui
Gambar 2.18 Semantic Net Multiplicity Ternary Relationship Registes Sumber (Connolly & Begg, 2002, p349)
Gambar 2.19 Multiplicity dari Ternary Relationship Registers Sumber (Connolly & Begg, 2002, p350)
42 Tabel 2.1 Kesimpulan dari Beberapa Multiplicity Constraint Alternatif Multiplicity Constraint 0...1
Arti Kosong atau satu entity occurence
1...1 (or just 1)
Hanya satu entity occurence
0...* (or just *)
Kosong atau banyak entity occurence
1...*
Satu atau banyak entity occurence
5...10
Minimal lima atau lebih entity occurence
0, 3, 6-8
Kosong, tiga, enam, tujuh, delapan entity occurence
2.1.10. Normalisasi 2.1.10.1. Pengertian Normalisasi (Connolly & Begg, 2002, p376), Normalisasi adalah suatu teknik untuk menghasilkan seperangkat relasi dengan properti yang diinginkan, dengan data yang diberikan oleh suatu perusahaan. Normalisasi adalah proses yang berkaitan dengan model data relational
untuk
mengorganisasi
himpunan
data
dengan
ketergantungan dan keterkaitan yang tinggi atau erat. Tujuan utama dari suatu normalisasi adalah untuk mengurangi terjadinya data ganda dan mengurangi masalah yang terjadi pada satu relasi atau lebih yang dikenal dengan sebutan anomali.
43 2.1.10.2. Proses Normalisasi Pertama kali dikembangkan oleh E.F. Codd (1972b). Proses normalisasi sering dilakukan sebagai rangkaian test suatu hubungan untuk menentukan apakah memenuhi atau melanggar kebutuhan dari bentuk normal yang ditentukan. Sebuah tabel yang belum dinormalisasi disebut dengan Unnormalize Form (UNF). (Connolly, 2002, p387), UNF adalah sebuah tabel yang memiliki satu atau lebih repeating groups. 1. Normalisasi Pertama (1st NF) Untuk membentuk normalisasi pertama (1NF) reapeating groups
harus
dihilangkan.
Untuk
mentransfer
tabel
unnormalize ke tabel normalisasi pertama kita harus mencari dan memindahkan data-data yang berulang. Suatu hubungan dikatakan normal pertama jika: a. Setiap baris dan kolom berisi atibut yang bernilai tunggal. b. Kunci primer (Primary Key) telah ditentukan. c. Atribut nilai banyak (multi value) telah dihilangkan. 2. Normalisasi Kedua (2nd NF) Normalisasi kedua (2NF) adalah sebuah relasi pada 1NF dan setiap atribut yang non-primary key adalah fully functionally
dependent
dapat
menghilangkan partial dependency.
diciptakan
dengan
44 Suatu hubungan dikatakan normal kedua jika: a. Berada pada normal pertama. b. Atribut bukan kunci primar (non-primary key) telah dihilangkan atau semua atribut non-primary key bergantung sepenuhnya kepada primary key. 3. Normalisasi Ketiga (3th NF) Normalisasi ketiga (3NF) dilakukan dengan cara melihat apakah terdapat atribut non-primary key yang tergantung fungsional
terhadap
atribut
non-primary
key
lainnya
(Transitive Dependence). Dengan cara yang sama, maka setiap ketergantungan transitif dipisahkan. Suatu hubungan dikatakan normal ketiga jika: a. Berada pada normal pertama dan normal kedua. b. Setiap
atribut
non-primary
key
tidak
memiliki
dependency transitif terhadap primary key. 4. Boyce-Codd Normal Form (BCNF) Aturan bentuk normal Boyce-Codd (BCNF) menurut Connolly dan Begg (p398), sebuah relasi disebut BCNF, jika dan hanya jika setiap determinannya adalah candidate key. Untuk menguji apakah suatu relasi sudah dalam bentuk BCNF, dilakukan identifikasi semua determinan dan memastikan bahwa determinan tersebut adalah candidate key. Determinan adalah sebuah atribut atau kumpulan atribut, dimana beberapa atribut yang lain masih bergantung secara
45 fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan BCNF dalam full functionally dependent AÆ B, 3NF mengijinkan ketergantungan ini dalam sebuah relasi jika B adalah atribut primary key dan A bukan candidate key. Sedangkan dalam BCNF ketergantungan ini tetap ada didalam sebuah relasi, dimana A harus sebuah candidate key. 5. Normalisasi Keempat (4th NF) Aturan bentuk normal keempat (4NF) menurut Connolly dan Begg (pp407 – 408), sebuah relasi dalam Boyce-Codd Normalize
Form
(BCNF)
dan
tidak
mengandung
ketergantungan multi-value non-trivial (nontrivial multivalue dependencies). Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued dependency dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi pemindahan multivalued dependency dari relasi dengan penempatan atribut dalam sebuah relasi baru bersama dengan determinan. Multi-Valued
Dependency
(MVD)
menggambarkan
ketergantungan antara atribut dan dalam suatu relasi. 6. Normalisasi Kelima (5th NF) Aturan bentuk normal kelima (5NF) menurut Connolly dan Begg (p410), sebuah relasi yang tidak memiliki ketergantungan gabungan (join dependency).
46 Join
dependency
menggambarkan
sebuah
tipe
ketergantungan. Sebagai contoh, untuk sebuah relasi R dengan subset-subset atribut dari R yang dimisalkan dengan A,B, ..., Z, sebuah relasi R menunjukan join dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan dari proyeksi-proyeksiny pada A, B, ..., Z.
2.2. Teori State Transaction Diagram State Transition Diagram adalah suatu diagram yang menggambarkan perubahan suatu keadaan selama pemrosesan suatu finite - state. Notasi yang digunakan dalam diagram transisi adalah sebagai berikut (Kowal,1988, p329 ) : a. State
State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu benda pada waktu tertentu, untuk keberadaan tertentu atau kondisi state disimbolkan dengan segi 4. b. Perubahan state ( State transition )
State transition merupakan suatu petunjuk perubahan keadaan yang disimbolkan dengan panah berarah.
47 Perubahan state
Keadaan 1
Keadaan 2
c. Kondisi dan aksi Kondisi adalah suatu kejadian pada lingkungan yang dapat dideteksi oleh sistem. Sedangkan aksi adalah yang dilakukan oleh sistem bila terjadi perubahan keadaan atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran, tampilan pesan ke layar, menghasilkan kalkulasi, dan lain-lain ( Kowal, 1988, p329 ).
2.3. Pengertian Penjadwalan Penjadwalan (timestabling) adalah suatu kegiatan administratif utama pada sebagian besar institusi. Kegiatan operasional institusi akan berlangsung sepenuhnya pada jadwal (timetable) yang dibuat. Wren (1996) didefinisikan penjadwalan sebagai berikut : ”Timestabling is the allocation, subject to constraints, or given resources to objects being placed in space time, in such way to satisfy as nearly as possible a set od desirable objectives “. Berdasarkan definisi diatas, penjadwalan adalah pengalokasian sumber daya pada objek-objek yang ada pada ruang waktu dan bergantung pada kendala dan sedemikian sehingga sedapat mungkin memenuhi kondisi-kondisi tertentu. Dalam proses penjadwalan, sumber daya yang ada harus dialokasikan secara optimal, efektif dan efisien, serta sedapat mungkin memenuhi kebutuhan yang ada namun
48 biaya yang dikeluarkan harus pantas.
2.4. Pengertian Absensi Dari segi pendidikan, daftar hadir memiliki arti yang tak kalah pentingnya, baik untuk pembinaan suatu pendidikan secara profesional maupun dalam memelihara tata tertib atau disiplin secara kontinyu. Pada gilirannya sewaktuwaktu semua data tersebut sangat berguna untuk kegiatan perencanaan, bimbingan dan pengarahan, koordinasi dan komunikasi. Misalnya sulit dilakukan perencanaan yang baik bilamana tidak tersedia data tentang jumlah murid dan guru yang akan dikenai kurikulum tertentu antara lain untuk menetapkan berapa lokal diperlukan setiap tingkatan kelas, siapa saja guru yang akan bertugas disetiap kelas dan bagaimana pengaturannya dan lain-lain.
2.5. Pengertian Penilaian Belajar dan mengajar sebagai suatu proses mengandung tiga unsur yang dapat dibedakan, yakni tujuan pengajaran (instruksional), pengalaman (proses) belajar mengajar, dan hasil belajar. Tujuan instruksional pada hakikatnya adalah perubahan tingkah laku yang diinginkan pada diri siswa. Ditinjau dari sudut bahasa, penilaian diartikan sebagai proses menentukan nilai suatu objek. Untuk dapat menentukan suatu nilai atau harga suatu objek diperlukan adanya ukuran atau kriteria. Misalnya untuk dapat mengatakan baik, sedang, kurang, diperlukan adanya ketentuan atau ukuran yang jelas bagaimana yang baik, yang sedang, dan yang kurang. Jadi, ciri penilaian adalah adanya objek
49 atau
program
yang
dinilai
dan
adanya
kriteria
sebagai
dasar
untuk
membandingkan antara kenyataan atau apa adanya dengan kriteria atau apa seharusnya. Dengan demikian inti penilaian adalah proses memberikan atau menentukan nilai kepada objek tertentu berdasarkan suatu kriteria tertentu. Penilaian hasil belajar adalah proses pemberian nilai terhadap hasil-hasil belajar yang dicapai siswa dengan materi-materi tertentu. Hal ini mengisyaratkan bahwa objek yang dinilainya adalah hasil belajar siswa. Hasil belajar siswa pada hakekatnya adalah perubahan tingkah laku. Dalam penilaian hasil belajar, peranan tujuan instruksional yang berisi rumusan kemampuan dan tingkah laku yang diinginkan dikuasai siswa menjadi unsur penting sebagai dasar dan acuan penilaian. Penilaian proses belajar adalah upaya memberi nilai terhadap kegiatan belajar mengajar yang dilakukan oleh siswa dan guru dalam mencapai tujuan-tujuan pengajaran. Dalam penialaian ini dilihat sejauh mana keefektifan dan efisiennya dalam mencapai tujuan pengajaran atau perubahan tingkah laku siswa.
2.6. Pengertian Pembayaran Pembayaran adalah berpindahnya hak pemilikan atas sejumlah uang atau dana dari pembayar kepada penerimanya, baik langsung maupun melalui media jasa perbankan. Pembayar adalah seseorang atau suatu perusahaan yang bersedia melepaskan hak pemilikannya atas sejumlah uang atau dana kepada penerima. Penerimaan (payee) adalah seseorang atau suatu perusahaan yang menerima
50 pemilikan atas sejumlah uang atau dana dari pembayar. Salah satu pembayaran yang terjadi dalam kegiatan sekolah dan merupakan dana dari sumber sekolah sendiri adalah Sumbangan Pembinaan Pendidikan (SPP) yang diperoleh dari setiap siswa, yang besarnya tergantung pada kategori bagi setiap sekolah. Demi tertibnya pengelolaan dana ini bagi sekolah negeri termasuk perguruan tinggi disetorkan lebih dahulu kepada pemerintah, yang kemudian disalurkan kembali ke sekolah oleh Departemen Pendidikan dan Kebudayaan. Sedang untuk sekolah swasta dikelola sendiri, baik langsung oleh Kepala Sekolah maupun Yayasan atau Badan Penyelenggara Sekolah.