BAB 2 LANDASAN TEORI
2.1 Teori-teori Database 2.1.1 Pengertian Basis data Menurut Kristanto (1993, p1), basis data adalah kumpulan file-file yang saling berelasi, relasi tersebut biasa ditunjukkan dengan kunci dari tiap file yang ada. Suatu basis data menunjukkan satu kumpulan data yang dipakai dalam satu lingkup perusahaan, instansi. Basis data adalah kumpulan data yang terhubung secara logika yang bisa dipakai secara bersama dan deskripsi mengenai data tersebut, yang didesain untuk memenuhi kebutuhan informasi dari sebuah organisasi (Connolly, 2002, p14). Menurut Subekti (1998, p8), basis data adalah kumpulan terintegrasi dari occurences file/table yang merupakan representasi data dari suatu model enterprise. Berdasarkan beberapa pendapat diatas disimpulkan bahwa basis data merupakan sekumpulan data yang saling berhubungan dan diolah untuk memenuhi kebutuhan suatu organisasi.
7
8 2.1.2 Database Management System a. Pengertian Database Management System(DBMS) Menurut Connoly dan Begg (2002,p16), Database Management System adalah sebuah sistem piranti lunak yang memperbolehkan pengguna mendefinisikan, membuat, memelihara, dan mengkontrol pengaksesan ke basis data. Menurut Kristanto (1994, p1), suatu Database Management System (DBMS) berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data terebut. Jadi DBMS terdiri dari Database dan set program pengolah untuk menambah data, mengambil dan membaca data. Menurut Kadir (1999, p16), DBMS diartikan sebagai suatu program komputer yang digunakan untuk memasukkan, menghapus, memanipulasi, dan memperoleh data atau informasi dengan praktis dan efisien. DBMS biasanya menyediakan fasilitas-fasilitas seperti : 1. Memungkinkan user untuk mendefinisikan basis data, biasanya melalui sebuah Data Definition Language (DDL). 2. Memungkinkan user untuk meng-insert, update, delete data dari basis data, biasanya melalui Data Manipilation Language (DML).
9 3. Menyediakan kontrol akses ke basis data. Contohnya dengan menyediakan : -
Sebuah Sistem keamanan, mencegah user yang tidak terotorisasi untuk mengakses basis data.
-
Sistem
Integritas
memainkan
konsistensi
dari
penyimpanan basis data. -
Sistem Concurrency Control, memungkinkan akses database bersama.
-
Sistem Recovery Control, menyimpan basis data jika terjadi kegagalan hardware atau software.
b. Komponen Utama Database Management System (DBMS) Komponen utama DBMS dapat dibagi menjadi 4 macam, Kadir (1999,pp18-29). •
Perangkat Keras Berupa Komputer dan bagian-bagian didalamnya, seperti processor, memori, harddisk. Komponen ilmiah pemrosesan dan juga untuk menyimpan basis data.
•
Data Data didalam basis data mempunyai sifat : Terpadu (integrated), berarti data dapat dipakai oleh sejumlah pengguna dalam waktu bersamaan. Sifat ini biasanya terdapat pada sistem multi-user yang merupakan kebalikan dari sistem single-user, yakni sistem yang hanya
10 memungkinkan satu orang yang bisa mengakses data pada satu waktu. •
Pengguna Pengguna dapat diklasifikasikan menjadi tiga kategori : 1. Pengguna akhir / End-User Pengguna akhir ada 2 macam : 1. Pengguna aplikasi Pengguna
aplikasi
adalah
orang
yang
mengoperasikan program aplikasi yang dibuat oleh pemogram aplikasi. 2. Pengguna Interaktif Pengguna interaktif adalah orang yang dapat memberikan perintah-perintah berasas tinggi pada antarmuka basis data yang tersedia atau melakukan perintah-perintah melalui antarmuka berbasis menu. 2. Pemrograman aplikasi/ Programmer Pemogram aplikasi adalah orang yang membuat program aplikasi yang menggunakan basis data. Program aplikasi yang dibuat sesuai dengan kebutuhan pengguna.
11 3. Administrasi basis data/ Database Administrator Administrator basis data (DBA/ Database Administrator) adalah orang bertanggung jawab terhadap pengelolaan basis data.
c. Fungsi-fungsi DBMS Beberapa fungsi dari DMBS yang dikemukakan oleh Connolly dan Begg (2002, P48), adalah sebagai berikut: 1. Data Storage, retrieval, and update Sebuah manajemen Sistem Basis Data harus melengkapi atau menyediakan pengguna dengan kemampuan penyimpanan, penelusuran kembali, dan mengubah data dalam basis data. 2. A user-accessible catalog Sebuah
DBMS
harus
menyediakan
catalog
yang
mendeskripsikan lokasi penyimpanan data dan dapat diakses oleh pengguna. 3. Transaction Support DBMS harus menyediakan sebuah mekanisme yang akan menjamin
setiap
dari
semua
kegiatan
berhubungan dengan transaksi maupun tidak.
update
yang
12 4. Concurrency Control Services DBMS
harus
menyediakan
sebuah
mekanisme
untuk
menjamin bahwa database ter-update dengan benar ketika beberapa pengguna meng-update database pada waktu yang bersamaan. 5. Recovery Services DBMS
harus
menyediakan
sebuah
mekanisme
untuk
memperbaiki basis data yang rusak karena sesuatu kejadian. 6. Authorization Services DBMS
harus
menyediakan
sebuah
mekanisme
untuk
menjamin bahwa hanya pengguna yang diberi otoritas yang dapat mengakses basis data. 7. Support for Data Communication DBMS
harus
mampu
ber-integrasi
dengan
software
komunikasi. 8. Integrity Services DBMS harus menyediakan sebuah cara untuk menjamin bahwa data dalam basis data dan perubahan data, keduanya mengikuti aturan-aturan yang tepat. 9. Service to Promote Data Independence DBMS harus meliputi fasilitas-fasilitas yang mendukung program-program independensi dari struktur basis data actual. 10. Utility Services DBMS seharusnya menyediakan satu set pelayanan fasilitas.
13
2.1.3. Data Definition Language DDL adalah perintah-perintah yang bisa digunakan oleh administrator basis data (DBA) untuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data. Tugas utama skema adalah menjabarkan struktur basis data kepada DBMS. DDL juga dipakai untuk mendefinisikan sub-skema. Sub-skema adalah pandangan (view) bagi pengguna terhadap basis data. Sub-skema merupakan himpunan bagian dari skema. Dengan kata lain, sub-skema bisa mencakup sebagian atau seluruh bagian skema. DDL juga digunakan untuk menciptakan, mengubah, dan menghapus basis data.
2.1.4. Data Manipulation Language DML adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi, dan mengambil data pada basis data. 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. Non prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak menyebutkan cara mendapatkannya. DML non prosedural ini menawarkan kemudahan bagi pengguna
14 dalam mempelajarinya dan juga dalam mengggunakannya daripada DML prosedural.
2.1.5. Normalisasi a. Pengertian Normalisasi Menurut Connolly dan Begg (2002, P376) normalisasi adalah suatu teknik untuk menghasilkan seperangkat relasi dengan properti yang diinginkan, dengan data yang diberikan oleh suatu perusahaan. Tujuan utama dari suatu normalisasi adalah untuk mengurangi terjadinya data ganda dan mengurangi masalah yang terjadi pada satu relasi atau lebih yang dikenal dengan anomali.
b. Proses Normalisasi Pertama kali dikembangkanoleh 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). UNF adalah sebuah tabel yang memiliki satu atau lebih repeating groups (Connolly, 2002, p387). 1. Normalisasi Pertama (1st NF) Untuk membentuk normalisasi pertama (1NF) repeating group harus dihilangkan. Untuk mentransfer tabel unnormalize ke tabel normalisasi pertama kita harus mencari dan memindahakan data-data
15 yang berulang (repeating group). Suatu hubungan dikatakan normal pertama jika: a. setiap dari baris dan kolom berisi atribut yang bernilai tunggal b. kunci primer telah ditentukan c. atribut nilai banyak (multi value) telah dihilangkan 2. Normalisasi Kedua (2nd NF) Normalisasi kedua (2 NF) adalah sebuah relasi pada 1NF dan setiap atribut yang non-primary-key adalah fully functionally dependent pada primary key. Kondisi fully functionally dependent dapat diciptakan dengan menghilangkan partial dependency. Suatu hubungan berada dalam bentuk normal kedua jika: a. Berada pada bentuk normal pertama b. Atribut
bukan
kunci
primer
(non-primary-key)
telah
dihilangkan atau semua atribut bukan kunci primer bergantung funsional sepenuhnya kepada kunci primer. 3. Normalisasi Ketiga (3rd NF) Normalisasi ketiga (3NF) dilakukan dengan cara melihat apakah terdapat atribut bukan key tergantung fungsional terhadap atribut bukan key yang lain (Transitive Dependence). Dengan cara yang sama, maka setiap ketergantungan transitif dipisahkan. Suatu hubungan berada dalam bentuk normal ketiga jika: a. Berada pada normal pertama dan normal kedua. b. Setiap atribut bukan kunci tidak memiliki dependency transitif terhadap kunci primer.
16 4. Boyce-Codd normal form (BCNF) Aturan bentuk normal Boyce-Codd (BCNF) menurut Connoly dan Begg (p398), “A relation is in BCNF, if and only if, every determinant is a candidate key”. Yang dapat diartikan, “sebuah relasi disebut BCNF, jika dan hanya jika setiap determinannya adalah sebuah candidate key”. Untuk menguji apakah suatu relasi sudah dalam 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 fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan BCNF dalam full functional dependency 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 di dalam sebuah relasi, dimana A harus sebuah candidate key. 5. Normalisasi Keempat (4th NF) Aturan bentuk normal ke-empat (4NF) menurut Connoly dan Begg (pp407 – 408), “A relation that is in Boyce-Codd normal form and contains no nontrivial multi-valued dependencies”. Yang dapat diartikan, “Sebuah relasi dalam Boyce-Codd normal form (BCNF) dan tidak mengandung ketergantungan multi-valued nontrivial (nontrivial multivalued dependencies).” Bentuk normal ke-empat (4NF) merupakan bentuk yang lebih kuat dari BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued
17 dependency dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi pemindahan multi-valued dependency dari relasi dengan menempatkan 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 ke-lima (5NF) menurut Connoly dan Begg (p410), “A relation that has no join dependency”. Yang dapat diartikan, “sebuah relasi yang tidak mempunyai ketergantungan gabungan (join dependency)”. 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 menunjukkan join dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan dari proyeksi-proyeksinya pada A,B,……...,Z.
18 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 meghasilkan program aplikasi. Fourth-generate languages meliputi: •
Bahasa presentasi, seperti bahasa query dan report generators
•
Bahasa khusus, seperti spreadsheet dan database language
•
Application generators yang menjelaskan, insert, update, dan retrieve data dari database ke aplikasi yang dibuat
•
Bahasa level tinggi yang digunakan untuk menghasilkan kode aplikasi
19 2.1.7. Siklus Hidup Aplikasi Database
Gambar 2.1 Siklus hidup aplikasi database (Sumber : Connoly dan Begg, 2002, p297)
20 2.1.7.1.Database Planning Database planning adalah merencanakan bagaimana tahap-tahap dari lifecycle dapat direalisasikan dengan cara yang paling efisien dan efektif. Perencanaan basis data harus terintegrasi dengan sistem informasi (Connolly, 2002, p273). 1. Identifikasi rencana dan tujuan perusahaan dengan penentuan sistem informasi yang diperlukan 2. Evaluasi sistem informasi yang sekarang digunakan untuk menentukan kelemahan dan kekuatannya. 3. Penilaian tentang peluang IT yang mungkin menghasilkan keuntungan yang kompetitif Perencanaan database juga harus meliputi pengembangan strandar 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 basis data, penggunaaannya, dan lingkungan aplikasi. 2.1.7.3. Requirements Collection and Analysis Proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan user pada sistem baru.
21 Pada bagian ini dilakukan pengumpulan dan analisa informasi mengenai bagian-bagian dari enterprise yang akan menggunakan atau terkait dengan basis data yang akan dibuat. Untuk itu digunakan teknik yang disebut dengan fact finding techniques. Terdapat lima teknik fact finding yang umum digunakan (Connolly, 2002, p305): 1.
Mengevaluasi dokumen
2.
Interview
3.
Mengobservasi
jalannya
kegiatan
kerja
pada
perusahaan 4.
Research riil
5.
Quesioner
2.1.7.4. Database Design Database design adalah proses membuat sebuah desain untuk sebuah basis data yang mendukung kegiatan operasional suatu enterprise (Connolly, 2002, p279) pada bagian ini dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal. 2.1.7.4.1. Conceptual Database Design Fungsi
dari
tahap
ini
adalah
untuk
membuat
representasi konseptual dari basis data, termasuk identifikasi entity-entity yang penting, relationship, atribut. Pada tahap ini dibagi menjadi beberapa langkah, yaitu: Langkah 1. Bangun lokal konseptual data model untuk
22 setiap view Langkah 1.1. Tentukan tipe entity Langkah 1.2. Tentukan tipe relationship Langkah 1.3. Tentukan dan hubungkan atribut dengan entity atau tipe relationship Langkah 1.4. Menentukan domain atribut Langkah 1.5. Menentukan atribut candidate dan primary key Langkah 1.6. Pertimbangkan penggunaan konsep permodelan yang lebih tinggi (langkah optional) Langkah 1.7. Memeriksa model akan kemungkinan redundancy Langkah 1.8. Validasikan model konseptual lokal akan transaksi pengguna Langkah 1.9. Membahas ulang model data konseptual lokal dengan pengguna 2.1.7.4.2. Logical Database Design Tahapan ini memetakan model konseptual ke sebuah model logiKal yang dipengaruhi oleh model data yang menjadi tujuan basis data. Dalam logical database design, model data yang telah diperoleh dalam conceptual database design diubah dalam bentuk logical model dimana data yang ada dipengaruhi oleh
23 model data yang menjadi tujuan basis data. (contoh: relational
model).
Hal
ini
dilakukan
untuk
menterjemahkan presentasi konseptual ke dalam bentuk struktur logic dalam basis data. Logical data model merupakan sumber informasi dalam merancang physical
database.
Logical
database
design
memberikan sarana yang membantu para perancang dalam merancang fisikal database. Pada tahap ini dibagi menjadi beberapa langkah, yaitu: Langkah 1. Bangun dan validasi lokal logical data model untuk setiap view Langkah 1.1. Buang hal-hal yang tidak cocok dengan model relational Langkah 1.2. Buat relations untuk logical data model Langkah 1.3. Ubah data tidak normal dengan menggunakan normalisasi Langkah 1.4. Validasi relations berlawanan dengan transaksi pengguna Langkah 1.5. Definisikan integrity constraints Langkah 1.6. Tinjau kembali lokal logical data model dengan pengguna Langkah 2.
Bangun dan validasi global logical data model
24 Langkah 2.1. Ubah logical data model menjadi global model Langkah 2.2 Validasi global logical data model Langkah 2.3. Perhatikan pertumbuhan kedepan Langkah 2.4. Tinjau kembali global logical data model dengan pengguna
2.1.7.4.3. Physical Database Design Pada tahapan ini memungkinkan perancang database untuk membuat keputusan mengenai bagaimana database akan diimplementasikan. Oleh karena itu, Physical database design harus disesuaikan dengan DBMS yang spesifik. Pada tahapan ini dibagi menjadi beberapa langkah: Langkah 1. Terjemahkan global data model 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 physical Langkah 2.1. Analisa transaksi Langkah 2.2. Pilih organisasi file Langkah 2.3. Pilih index
25 Langkah 2.4. Perkirakan kebutuhan kapasitas tempat penyimpanan Langkah 3. Desain user views Langkah 4. Desain mekanisme keamanan 2.1.7.5. DBMS Selection Yaitu memilih DBMS (Database Management System) yang sesuai untuk aplikasi-aplikasi basis data. Berikut ini adalah langkah-langkah utama dalam memilih DBMS (Connolly, 2002, p284) 1. Menggambarkan
cakupan
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 Yaitu merancang antar muka dan program aplikasi yang menggunakan dan memproses basis data (Connolly, 2002, p287)
26 2.1.7.7. Prototyping Membangun model kerja dari aplikasi basis data yang memperbolehkan
perancang
atau
pengguna
untuk
memvisualisasikan dan mengevaluasi bagaimana sistem akhirnya akan tampak dan berfungsi. Ada dua cara strategi membuat prototype (Connolly, 2002, p291), yaitu: 1. Requirement Prototyping Menggunakan prototype untuk menentukan kebutuhan suatu aplikasi basis data yang dibutuhkan dan ketika kebutuhan dirasakan sudah lengkap maka prototype tersebut tidak digunakan lagi. 2. Evolutionary Prototyping Digunakan untuk tujuan yang sama, perbedaannya adalah bahwa prototype tidaklah dibuang tetapi dikembangkan lebih lanjut sehingga menjadi aplikasi basis data tersebut. 2.1.7.8. Implementation Implementasi merupakan perwujudan fisik dari basis data dan desain aplikasi (Connolly, 2002, p292). Implementasi basis data dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang telah dipilih atau dengan menggunakan Graphical User Interface (GUI), masing-masing menyediakan fungsi ketika menyembunyikan pernyataan (statement) DDL yang low-level.
Pernyataan
(statement)
DDL
digunakan
untuk
27 menciptakan struktur basis data dan mengosongkan file yang terdapat dalam basis data tersebut. User view juga diterapkan pada langkah implementasi. 2.1.7.9. Data Conversion dan Loading Pemindahan data yang ada ke dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru (Connolly, 2002, p293). 2.1.7.10. Testing Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan mencari kesalahan dan divalidasi untuk kebutuhan yang dispesifikasikan oleh pengguna (Connoly, 2002, p293). Jika data riil diharapkan untuk digunakan, maka adalah penting untuk mempunyai back up. Setelah pengujian diselesaikan, maka sistem aplikasi dan basis data ini telah siap untuk digunakan. 2.1.7.11. Operational Maintenance Pada tahap pemeliharaan (maintenance), yang melibatkan aktivitas berikut (Connolly, 2002, p293): a. Monitoring Performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data mungkin diperlukan.
28 b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika diperlukan). Kebutuhan baru disatukan kedalam aplikasi basis data dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam database lifecyle.
2.1.8. Desain Konseptual, Logikal dan Fisik Database 2.1.8.1.Desain Konseptual Database 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 basis data (DBMS), program-program aplikasi,
bahasa
pemrograman,
platform perangkat
keras,
persoalan kinerja, atau pertimbangan fisik lainnya. 2.1.8.2.Desain Logikal Database Perancangan basis data logikal adalah proses konstruksi suatu informasi yang digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi bebas dari faktafakta DBMS dan pertimbangan-pertimbangan fisik lainnya. Fase perancangan basis data secara logikal memetakan model perancangan konseptual pada sebuah model logikal, yang mana dipengaruhi oleh model data untuk target basis data (Contoh: model relational). Model data logikal adalah sumber informasi
29 bagi fase perancangan fisik, menyediakan perancangan fisik dengan wahana untuk pembuatan penjualan yang sangat penting untuk sebuah perancangan basis data yang efisien. 2.1.8.3. Desain Fisik Database Perancangan basis data secara fisik merupakan proses pembuatan deskripsi dari implementasi basis data 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 basis data secara fisik memperbolehkan perancang membuat keputusan-keputusan berdasarkan pada bagaimana basis data diimplementasikan. Agar, perancangan fisikal ditoleransi untuk sebuah manajemen Sistem Basis Data yang spesifik. Ada timbal balik antara perancangan logikal dan fisikal,
karena
perancangan
keputusan-keputusan
fisikal
mengembangkan
mempengaruhi model data logikal.
yang
diambil
kinerja
yang
selama bisa
30 2.2 Teori Penjadwalan Penjadwalan (timetabling) adalah suatu kegiatan administratif utama pada sebagian besar institusi. Kegiatan operasional institusi akan bergantung sepenuhnya pada jadwal (timetable) yang dibuat. Menurut Burke, E., Petrovic, S. (2002) dan Wren (1996) didefinisikan penjadwalan sebagai berikut: “Timetabling 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 of 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 biaya yang dikeluarkan harus pantas. Penjadwalan merupakan masalah yang sangat sulit dan telah menjadi bahan penelitian di bidang Teknik Riset Operasional (TRO) dan Intelegensia Semu (IS). Menurut Fang (1994, p1), sulitnya penjadwalan disebabkan oleh beberapa hal antara lain: 1. Penjadwalan merupakan masalah NP-Complete (Non-deterministic Polynomial Complete), yaitu suatu permasalahan dimana dengan bertambahnya variable secara linear maka waktu yang diperlukan untuk memecahkan masalah itu bertambah secara ekponensial. Hal ini sering disebut juga Combinatorial Explosion, selain itu ruang solusi yang mungkin (space of possible solutions) untuk kebanyakan masalah riil
31 terlalu besar untuk dilakukan brute-force search atau pencarian yang tidak terarah (undirected search). 2. Teknik pencarian tingkat tinggi dengan menggunakan berbagai heuristic untuk memangkas search space tidak menjamin dihasilkannya suatu solusi yang optimal dan sangat sulit untuk mendesain suatu heuristic yang efektif. 3. Masalah penjadwalan sering menjadi rumit karena adanya special constraints. 4. Penjadwalan di dunia nyata sering melibatkan constraint yang tidak dapat dipresentasikan atau bahkan tidak dapat dengan tepat dinyatakan.
2.2.1 Constraints Penjadwalan Di dalam penjadwalan dikenal dua macam constraint (persyaratan), yaitu hard constraints dan soft constraints. Hard constraints adalah constraint yang tidak boleh dilanggar sama sekali sedangkan soft constraints adalah constraints yang lebih bersifat preference, yang sedapat mungkin dipenuhi. Pelanggaran terhadap satu hard constraints saja akan menyebabkan timetable menjadi tidak berguna sedangkan pelanggaran terhadap soft constraints masih bisa diterima namun akan menimbulkan ketidaknyamanan pihak yang memakai timetable tersebut, berikut ini adalah beberapa contoh hard constraints dan soft constraints di dalam course timetabling untuk institusi pendidikan. (Fang, 1994, p1).
32
Contoh hard constraints: 1. Dosen hanya dapat mengajar pada hari, waktu dan mata kuliah tertentu sesuai dengan pilihannya (teacher’s avaibility). 2. Mahasiswa dan dosen hanya bisa berada pada satu tempat pada satu waktu. 3. Satu ruangan hanya bisa dipakai oleh satu mata kuliah saja pada waktu tertentu. 4. Kapasitas ruangan harus lebih besar atau sama dengan jumlah mahasiswa yang mengambil kelas tersebut.
Contoh soft constraints: 1. Jumlah maksimum dan minimum shift dosen mengajar dan mahasiswa mengikuti mata kuliah dalam satu hari. 2. Shift yang diikuti oleh mahasiswa dalam satu hari sebaiknya berurutan dan berada dalam satu gedung atau satu ruangan. 3. Mata kuliah tertentu sebaiknya memakai ruangan yang memiliki fasilitas tertentu.
2.3 Teori Penilaian 2.3.1. Pengertian, fungsi, dan tujuan penilaian hasil dan proses belajar mengajar. Belajar dan mengajar sebagai suatu proses mengandung tiga unsur yang dapat dibedakan, yakni tujuan pengajaran (instruksional),
33 pengalaman (proses) belajar-mengajar, dan hasil belajar. Hubungan ketiga unsur tersebut digambarkan dalam diagram 1. Tujuan Instruksional (a)
(c)
Pengalaman Belajar
Hasil Belajar
Gambar 2.2 Hubungan pengajaran (instruksional), pengalaman (proses) belajar-mengajar, dan hasil belajar (Sumber : Sudjana, 1991, p2) Dari diagram diatas dapat ditarik kesimpulan bahwa kegiatan penilaian dinyatakan oleh garis (c), yakni suatu tindakan atau kegiatan untuk melihat sejauh mana tujuan-tujuan instruksional telah dapat dicapai atau dikuasai oleh siswa dalam bentuk hasil-hasil belajarnya yang memperlihatkan setelah mereka menempuh pengalaman belajarnya (proses belajar mengajar). 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 atau program yang dinilai
34 dan adanya kriteria sebagai dasar untuk membandingkan antara kenyataan atau apa adanya dengan kriteria atau apa harusnya. 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 tujuantujuan pengajaran. Dalam penilaian ini dilihat sejauh mana keefektifan dan efisiennya dalam mencapai tujuan pengajaran atau perubahan tingkah laku siswa. Penilaian berfungsi sebagai: a. Alat untuk mengetahui tercapai tidaknya tujuan instruksional. b. Umpan balik bagi perbaikan proses belajar mengajar. c. Dasar dalam menyusun laporan kemajuan belajar siswa pada para orang tuanya. Tujuan penilaian adalah untuk:
35 a. Mendeskripsikan
kecakapan
belajar
para
siswa
sehingga dapat diketahui kelebihan dan kekurangannya dalam berbagai bidang studi atau mata pelajaran yang ditempuhnya. b. Mengetahui keberhasilan proses pendidikan dan pengajaran
di
sekolah
yakni
seberapa
jauh
keefektifannya dalam mengubah tingkah laku para siswa ke arah tujuan pendidikan yang diharapkan. c. Menentukan tindak lanjut penilaian, yakni melakukan perbaikan dan penyempurnaan dalam hal program pendidikan
dan
pengajaran
serta
strategi
pelaksanaannya. d. Memberikan pertanggungjawaban (accountability) dari pihak sekolah kepada pihak yag berkepentingan. 2.3.2 Jenis dan sistem penilaian Dilihat dari fungsinya jenis penilaian ada beberapa macam yaitu: 1. Penilaian formatif, adalah penilaian yang dilaksanakan pada akhir program belajar mengajar untuk melihat tingkat keberhasilan proses belajar mengajar itu sendiri. 2. Penilaian sumatif, adalah penilaian yang dilaksanakan pada akhir unit program, yaitu akhir caturwulan, akhir semester dan akhir tahun.
36 3. Penilaian diagnostik, adalah penilaian yang bertujuan untuk melihat
kelemahan-kelemahan
siswa
serta
faktor
penyebabnya. 4. Penilaian selektif, adalah penilaian yang bertujuan untuk keperluan seleksi, misalnya ujian saringan masuk ke lembaga pendidikan tertentu. 5. Penilaian perempatan, adalah penilaian yang ditujukan untuk mengetahui ketrampilan prasyarat yang diperlukan bagi suatu program belajar dan penguasaan belajar seperti yang di programkan sebelum memulai kegiatan belajar untuk program itu. 2.3.3
Prinsip dan Prosedur Penilaian Prinsip penilaian yang dimaksudkan antara lain adalah sebagai
berikut: a. Dalam menilai hasil belajar hendaknya dirancang sedemikian rupa sehingga jelas abilitas yang harus dinilai, materi penilaian, alat penilaian, dan interpretasi hasil penilaian. b. Penilaian hasil belajar hendaknya menjadi bagian integral dari proses belajar mengajar c. Agar diperoleh hasil belajar yang objektif dalam pengertian menggambarkan prestasi dan kemampuan siswa
sebagaimana
adanya,
penilaian
harus
37 menggunakan berbagai alat penilaian dan sifatnya komprehensif. d. Penilaian hasil belajar hendaknya diikuti dengan tindak lanjutnya. Ada beberapa langkah yang dapat dijadikan pegangan dalam melaksanakan proses penilaian hasil belajar, yakni: a. Merumuskan atau mempertegas tujuan-tujuan pengajaran. b. Mengkaji kembali materi pengajaran berdasarkan kurikulum dan silabus mata pelajaran. c. Menyusun alat-alat penilaian, baik tes maupun non-tes yang cocok digunakan dalam menilai jenis-jenis tingkah laku yang tergambar dalam tujuan pengajaran. d. Menggunakan hasil-hasil penelitian sesuai dengan tujuan penilaian tersebut, yakni untuk kepentingan pendeskripsian kemampuan
siswa,
kepentingan
perbaikan
pengajaran,
kepentingan bimbingan belajar, maupun kepentingan laporan pertanggungjawaban pendidikan. 2.4. Teori Absensi Di lingkungan suatu lembaga pendidikan setiap hari hadir sejumlah besar manusia, terdiri dari orang-orang yang berstatus Pimpinan Sekolah dan staf, guru-guru, para murid dan karyawan atau pegawai tata usaha. Jumlah yang cukup banyak itu tidak memungkinkan untuk mengetahui kehadiran atau ketidakhadirannya, baik sepanjang hari maupun pada jam-jam tertentu selama kegiatan lembaga pendidikan berlangsung. Untuk itu diperlukan daftar hadir atau absensi, yang biasanya dibedakan antara:
38 a. Daftar hadir guru dan pegawai. b. Daftar hadir murid-murid Dari segi administratif daftar tersebut dapat memberikan data yang sangat berharga bagi pimpinan dalam menilai partisipasi setiap personal dalam kerjasama, baik secara keseluruhan maupun dalam kegiatan-kegiatan tertentu. Dalam keadaan seperti itu daftar hadir berfungsi sebagai alat bantu dalam mengadakan control. 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 sewaktu-waktu 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 Teori 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. Peneriman (payee) adalah seseorang atau suatu perusahaan yang menerima 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
39 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/ Badan Penyelenggara Sekolah. 2.6 State Transition Diagram (STD) State Transition Diagram (STD) adalah suatu diagram yang menggambarkan perubahan dari suatu keadaan selama pemrosesan suatu finite-state. Notasi yang digunakan dalam diagram transisi adalah sebagai berikut : State
State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu benda pada waktu tertentu, bentuk keberadaan tertentu atau kondisi tertentu. State disimbolkan dengan segiempat. Perubahan state (State Transition
State Transition merupakan suatu petunjuk perubahan keadaan yang disimbolkan dengan panah berarah.
Perubahan State
Keadaan 1
Keadaan 2
40 Kondisi dan Aksi Kondisi adalah suatu kejadian pada lingkungan yang dapat dideteksi oleh sistem. Sedangkan aksi adalah yang dilakukan oleh sistembila terjadi perubahan. Merupakan reaksin terhadap kondisi. Aksi akan menghasilkan keluaran, tampilan pesan ke layar, menghasilkan kalkulasi, dan lain-lain (Kowal, 1988, p329). 2.7 Bagan Alir (Flowchart) Banyak cara untuk menggambarkan bagan alir dokumen suatu sistem, namun dalam buku karangan Mulyadi (2001, pp60-63) dipilihkan satu cara yang sekarang secara luas digunakan oleh para analisis sistem untuk melukiskan bagan alir dokumen suatu sistem. Berikut ini adalah simbol-simbol standar dengan maknanya masing-masing. Tabel 2.1 Simbol-simbol Bagan Alir(Flowchart) Simbol
Nama Dokumen
Keterangan Menggambarkan semua jenis dokumen, yang merupakan formulir yang digunakan untuk merekam data terjadinya suatu transaksi.
Dokumen dan
Menggambarkan dokumen asli dan
tembusannya
tembusannya. Nomor lembar dokumen dicantumkan di sudut kanan atas.
Berbagai
Menggambarkan berbagai jenis
dokumen
dokumen yang digabungkan bersama didalam suatu paket. Nama dokumen
41 dituliskan didalam masing-masing simbol dan nomor lembar dokumen dicantumkan di sudut kanan atas simbol dokumen yang bersangkutan. Catatan
Menggambarkan catatan akuntansi yang digunakan untuk mencatat data yang direkam sebelumnya didalam dokumen atau formulir.
Penghubung
Karena keterbatasan ruang hal kertas
pada halaman
untuk menggambar, maka diperlukan
yang sama (on-
simbol penghubung untuk
page connector)
memungkinkan aliran dokumen tertentu di suatu lokasi pada halaman tertentu dan kembali berjalan di lokasi lain pada halaman yang sama. Dengan memperlihatkan nomor yang tercantum didalam simbol penghubung pada halaman yang sama, dapat dikatakan aliran dokumen dalam sistem yang digambarkan dalam bagan alir.
Penghubung
Menunjukkan kemana dan bagaimana
pada halaman
bagan alir terkait satu dengan lainnya.
42 yang berbeda
Nomor yang tercantum dalam simbol
(off-page
penghubung menunjukkan bagaimana
connector)
bagan alir yang tercantum pada hal tertentu terkait dengan bagan alir yang tercantum pada hal yang lain.
Kegiatan manual Uraian singkat kegiaan manual dicantumkan didalam simbol ini. Keterangan,
Untuk menambahkan keterangan guna
komentar
memperjelas pesan yang disampaikan dalam bagan alir.
Arsip sementara
Menunjukkan tempat penyimpanan dokumen. Terdapat dua tipe arsip dokumen : arsip sementara dan arsip permanent. Arsip semenara adalah tempat penyimpanan dokumen yang dokumennya akan diambil kembali di arsip tersebut di masa yang akan datang untuk keperluan pengolahan lebih lanjut terhadap dokumen tersebut untuk pengurutan pengarsipan dokumen digunakan simbol berikut ini A = menurut abjad. N = menurut nomor urut.
43 T = kronologis, menurut tanggal
Arsip permanen
Menggambarkan arsip permanen yang merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem yang bersangkutan.
Mulai/ berakhir
Menggambarkan awal dan akhir suatu
(terminal)
sistem.
Keputusan
Menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis dalam simbol.