Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu PENERAPAN RELASI MATEMATIKA DALAM
PROGRAM APLIKASI BASIS DATA UNTUK SISTEM UJIAN ONLINE
SKRIPSI
Diajukan untuk Memenuhi Sebagian Dari Syarat Memperoleh Gelar Sarjana Matematika
Program Studi Matematika
Oleh :
Imam Maliki
1103934
DEPARTEMEN PENDIDIKAN MATEMATIKA
FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM
Imam Maliki , 2015
2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Oleh:
Imam Maliki
Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Matematika pada Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
© Imam Maliki 2015 Universitas Pendidikan Indonesia
Oktober 2015
Hak Cipta dilindungi undang-undang.
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Imam Maliki , 2015
ABSTRAK
Seiring dengan perkembangan teknologi dan komunikasi pada zaman sekarang ini yang semakin berkembang dengan sangat pesat, ujian yang semula hanya berupa ujian tulis dan lisan mulai bergeser ke arah ujian online. Untuk membuat program ujian online ini diperlukan suatu perancangan basis data yang baik. Perancangan basis data disini merupakan penerapan dari konsep relasi matematika, atau biasa dikenal basis data relasional.
Basis data yang telah dirancang, kemudian akan diuji apakah itu merupakan basis data yang baik atau tidak dengan menggunakan proses normalisasi. Setelah didapat basis data yang baik, dibuatlah implementasi basis data tersebut dengan menggunakan program basis data MYSQL dan dipadukan dengan bahasa pemrograman PHP.
Hasil yang diperoleh kemudian adalah berupa program aplikasi ujian online. Program ini terdiri dari beberapa menu yang setiap menunya terdapat tabel-tabel yang merupakan sebuah relasi dalam matematika.
vi Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
ABSTRACT
Trend of technology has been growing very fast. Basically, test were only in a written test and verbal test. Right now began move to online test. To make an online test program is needed a good database design. Database design here is the application of the concept of mathematical relations, or commonly known as a relational database.
The database has been designed, then tested whether it is a good database or not by using the process of normalization.Having obtained a good database, made the implementation of the database by using a database program MySQL and combined with the PHP programming language.
The results obtained are then is an online examination application program. The program consists of several menus, each menu there are tables that is a relation in mathematics.
Imam Maliki , 2015
DAFTAR ISI
HALAMAN PENGESAHAN... ii
LEMBAR PERNYATAAN ... iii
UCAPAN TERIMA KASIH ... iv
ABSTRAK ...v
ABSTRACT ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... viii
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiv
DAFTAR SIMBOL... xvi
BAB I PENDAHULUAN ...1
1.1 LATAR BELAKANG ...1
1.2 RUMUSAN MASALAH ...3
1.3 BATASAN MASALAH ...3
1.4 TUJUAN PENELITIAN ...4
1.5 MANFAAT PENELITIAN...4
1.6 SISTEMATIKA PENULISAN ...5
BAB II KAJIAN PUSTAKA ...6
2.1 UJIAN ...6
2.2 ONLINE ...6
2.3 UJIAN ONLINE ...6
2.4 PASANGAN TERURUT ...7
ix
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
2.6 RELASI ...7
2.7 FUNGSI ...9
2.8 BASIS DATA ...9
2.9 DATABASE MANAGEMENT SYSTEM (DBMS) ...10
2.10 BASIS DATA RELASIONAL ...11
2.10.1 Domain ...11
2.10.2 Atribut ...11
2.10.3 Tupel ...11
2.10.4 Kunci (Key) ...13
2.10.5 Operator Pada Basis Data ...14
2.11 KETERGANTUNGAN ...23
2.12 DEKOMPOSISI ...27
2.13 NORMALISASI ...29
2.14 XAMPP ...34
2.14.1 Apache ...34
2.14.2 MySQL...34
2.14.3 PHP ...38
BAB III PERANCANGAN SISTEM UJIAN ONLINE ...39
3.1 PERSIAPAN KEBUTUHAN SISTEM ...39
3.1.1 Kebutuhan Perangkat Keras ...39
3.1.2 Kebutuhan Perangkat Lunak ...39
3.1.3 Kebutuhan Pengguna ...40
3.2 ANALISIS MASALAH ...40
3.3 PERANCANGAN SISTEM ...42
x
3.3.2 Struktur Tabel ...46
3.3.3 Rancangan Skema Konseptual (view logis) ...51
3.4 ILUSTRASI SISTEM ...51
3.4.1 Data Admnistrator ...51
3.4.2 Data Mahasiswa ...52
3.4.3 Data Ujian ...52
3.4.4 Data Soal ...53
3.4.5 Data Nilai ...53
3.5 ATRIBUT, KEY, dan KETERGANTUNGAN FUNGSIONAL ...54
3.5.1 Atribut ...54
3.5.2 Key ...55
3.5.3 Ketergantungan Fungsional ...58
3.6 NORMALISASI ...63
3.6.1 Dekomposisi Aman ...63
3.6.2 Keterpeliharaan Ketergantungan ...65
3.6.3 Boyce-Codd Normal Form (BCNF) ...66
BAB IV HASIL DAN PEMBAHASAN ...69
4.1 IMPLEMENTASI BASIS DATA ...69
4.2 IMPLEMENTASI PROGRAM ...74
4.2.1 Halaman Masuk/Login Administrator ...74
4.2.1.1 Halaman Profil Administrator ...75
4.2.1.2 Halaman Menu Daftar Mahasiswa ...76
4.2.1.3 Halaman Menu Daftar Ujian ...77
4.2.1.4 Halaman Menu Lihat Nilai ...82
xi
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
4.2.1.6 Halaman Keluar ...83
4.2.2 Halaman Masuk/Login Peserta Ujian/Mahasiswa ...83
4.2.2.1 Halaman Profil Administrator ...83
4.2.2.2 Halaman Menu Lihat Nilai ...84
4.2.2.3 Halaman Menu Ganti Password ...86
4.2.2.4 Halaman Keluar ...86
4.3 PEMBAHASAN ...86
BAB V KESIMPULAN DAN SARAN...88
5.1 KESIMPULAN ...88
5.2 SARAN ...88
DAFTAR PUSTAKA ...90
Imam Maliki , 2015
BAB I
PENDAHULUAN
1.1LATAR BELAKANG
Ujian adalah pertanyaan–pertanyaan yang diberikan kepada siswa untuk
mendapatkan jawaban dari siswa dalam bentuk lisan, tulisan, atau perbuatan (Nana
Sudjana, 2008). Ujian dapat dijadikan sebagai alat evaluasi untuk menilai seberapa
jauh pengetahuan sudah dikuasai dan keterampilan yang sudah diperoleh.
Teknologi komunikasi dan elektronik zaman sekarang ini sudah berkembang
sangat pesat, sehingga mengakibatkan bidang pendidikan juga ikut mengalami
peningkatan dalam segi kualitas, kecepatan, kepraktisan serta kemudahannya. Ujian
yang awalnya bersifat konvensional pun sekarang mulai bergeser ke arah
komputasi, salah satunya dengan adanya ujian online.
Namun dalam pelaksanaan ujian online ini terdapat kekurangan yang sangat
mendasar, yaitu mengenai valid atau tidaknya penilaian ujian tersebut. Faktor yang
biasa mempengaruhi tidak validnya suatu penilaian ini adalah
kecurangan-kecurangan yang dilakukan oleh peserta ujian. Keberadaan pengawas dan
randomisasi soal merupakan dua hal penting yang bisa meminimalisasi kecurangan
pada saat ujian online ini.
Untuk membuat sistem ujian online ini tentunya dibutuhkan perancangan sistem
basis data terlebih dahulu, karena sistem basis data merupakan komponen dari
sistem informasi, di dalam perancangan sistem basis data itu sendiri membutuhkan
database management system (DBMS) sebagai komponennya. DBMS yang
digunakan dalam sistem ujian online pada skripsi ini menggunakan Program My
SQL. Selain karena gratis, DBMS ini mampu mengelola basis data dengan cepat
dan dapat menampung data dalam jumlah sangat besar serta dapat diakses oleh
2
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Menurut Madcom (2006), basis data atau database adalah sekumpulan data
yang terdiri atas satu atau lebih tabel yang saling berhubungan. Anda atau user
mempunyai wewenang untuk mengakses data tersebut, baik menambah, mengubah,
atau menghapus data yang ada dalam table-tabel tersebut. Alasan perlunya basis
data adalah sebagai berikut:
1) Basis data merupakan salah satu komponen penting dalam sistem informasi,
karena merupakan dasar dalam menyediakan informasi.
2) Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan
relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya.
3) Basis data dapat mengurangi pengulangan data (dupikasi).
4) Dengan mengaplikasikan basis data hubungan data dapat ditingkatkan.
5) Basis data dapat mengurangi pemborosan tempat simpanan luar (redudansi).
Basis data relasional adalah model penyajian basis data yang dibangun dari
teori-teori relasi dalam matematika. Model ini diperkenalkan pertama kali oleh E.F.
Codd pada tahun 1970. Dalam aplikasinya bentuk relasi ini disajikan dalam
tabel-tabel data. Setiap tabel-tabel terdiri dari beberapa baris data yang disebut tupel, dan
beberapa kolom data yang disebut atribut. Dalam beberapa literatur atribut juga
dikenal dengan istilah field. Tiap satu tupel merupakan satu kesatuan data yang
dapat memberikan informasi kepada user, sedangkan tiap satu atribut terdiri dari
himpunan data yang memiliki tipe data dan sifat data yang sama.
Tidak semua bentuk relasi yang didefinisikan memenuhi akseptibilitas data
yang baik, karena sering ditemukan pada suatu relasi, perubahan-perubahan data
pada relasi menjadikan relasi tidak konsisten atau tidak efisien. Kasus
ketidakkonsistenan relasi ketika terjadi suatu operasi data adalah contoh kasus
anomali (penyimpangan) dalam basis data (Anomali adalah keadaan pada suatu
relasi dimana data tidak dapat disisipkan ke dalam relasi, proses penghapusan data
Proses Normalisasi adalah modifikasi bentuk relasi dengan memisahkan atau
mendekomposisikan suatu relasi menjadi relasi lain yang merupakan
relasi-relasi terkecil secara struktural dan mengandung atribut lebih kecil dari relasi-relasi
aslinya. Proses normalisasi digunakan untuk meminimalkan kasus anomali yang
mungkin terjadi dalam suatu basis data. Dengan proses normalisasi, suatu relasi
menjadi lebih sederhana sehingga memudahkan untuk dibaca, manajemen data
lebih optimal karena dapat mereduksi permasalahan yang timbul seperti
pengulangan (duplikasi) data, penyajian data yang berlebihan (redudansi), dan data
tidak konsisten.
Berdasarkan uraian di atas penulis membuat tugas akhir dengan judul “Penerapan Relasi Matematika Dalam Perancangan Program Aplikasi Basis Data Untuk Sistem Ujian Online”.
1.2RUMUSAN MASALAH
Berdasarkan latar belakang masalah, maka dapat dibuat perumusan masalah
yaitu:
1. Bagaimana rancangan basis data relasional untuk sistem ujian online?
2. Bagaimana menerapkan konsep-konsep relasi matematika dalam suatu basis
data dalam membuat program basis data relasional untuk sistem ujian online?
3. Bagaimana implementasi basis data dan program sistem ujian online?
1.3BATASAN MASALAH
Berdasarkan dari apa yang dipaparkan pada rumusan masalah, maka batasan
masalah dalam penelitian ini adalah:
1. Bahasa pemrograman yang digunakan adalah Hypertext Preprocessor (PHP)
yang dihubungkan dengan MySQL sebagai database server yang terpaket
dalam aplikasi XAMPP.
4
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3. Sistem scoring yang digunakan dalam pembobotan yang mempunyai rentang
antara 0 sampai dengan 100.
4. Adanya pembatas waktu ujian.
5. Koneksi jaringan internet untuk setiap pelaksanaan ujian online tidak
mengalami masalah pada waktu proses ujian.
6. Peserta ujian ditempatkan di dalam satu tempat yang sama.
7. Peserta ujian tidak dapat mengakses situs web selain web dari ujian online ini.
1.4TUJUAN PENELITIAN
Berdasarkan rumusan masalah yang telah dikemukakan di atas, maka tujuan
penelitian ini adalah:
1. Membuat rancangan suatu basis data relasional untuk sistem ujian online.
2. Menerapkan konsep-konsep relasi matematika dalam suatu basis data dalam
membuat program basis data relasional untuk sistem ujian online.
3. Membuat aplikasi sistem ujian online.
1.5MANFAAT PENELITIAN
1. Bagi peserta
Melalui metode ujian online ini, peserta ujian akan lebih fokus dan konsentrasi.
Dikarenakan sangat kecil kemungkinan untuk melakukan kecurangan–
kecurangan seperti mencontek, dll. Selain itu terdapat kemudahan dalam
mengerjakan soal dikarenakan soal yang berbentuk multiple choice.
2. Bagi penguji
Penguji tidak perlu berkeliling kelas untuk memantau peserta ujian seperti pada
ujian konvensional pada umumnya, sistem ujian online ini juga mampu
mereduksi kecurangan dengan fitur randomisasi soal.
3. Bagi peneliti lain
Penelitian ini dapat menjadi bahan pertimbangan bagi peneliti lain yang ingin
mengkaji lebih dalam bagaimana cara merancang perangkat lunak sistem ujian
1.6SISTEMATIKA PENULISAN
Sistematika penulisan makalah ini disusun untuk memberikan gambaran
mengenai perangkat lunak yang akan dibuat. Sistematika penulisan makalah ini
adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi uraian tentang pendahuluan dan merupakan bagian awal dari
makalah ini. Pendahuluan berisi latar belakang, perumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.
BAB II KAJIAN PUSTAKA
Bab ini memaparkan beberapa hal mengenai landasan teori seperti pengertian
himpunan, pengertian relasi, pengertian basis data, pengertian ujian online,bahasa
pemrograman yang digunakan, yaitu (PHP) dan sebagainya.
BAB III PERANCANGAN SISTEM UJIAN ONLINE
Pada bab ini diuraikan tentang persiapan kebutuhan sistem, analisis sistem,
perancangan sistem, ilustrasi sistem dan normalisasi.
BAB IV HASIL DAN PEMBAHASAN
Bab ini memaparkan tentang pembahasan dan implementasi perangkat lunak,
implementasi antar muka, pengujian perangkat lunak, serta hasil penelitian.
BAB V KESIMPULAN DAN SARAN
Bab ini menyajikan penafsiran dan pemaknaan penulis terhadap hasil temuan
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu BAB III
PERANCANGAN SISTEM UJIAN ONLINE
Pada bagian ini akan dibahas perancangan sistem ujian online, konsep
ketergantungan serta normalisasi basis data relasional.
3.1PERSIAPAN KEBUTUHAN SISTEM
Didalam pengembangan sistem ujian online ini, agar menjadi sistem yang baik
harus ditunjang dengan teknologi yang memadai baik dari perangkat keras maupun
perangkat lunak.
3.1.1 Kebutuhan Perangkat Keras
Kebutuhan perangkat keras yang akan dijelaskan meliputi perangkat keras yang
dibutuhkan pada saat pembuatan program dan pada saat program
diimplementasikan pada objek penelitian. Spesifikasi komputer yang digunakan
adalah sebagai berikut:
Tabel 3.1 Kebutuhan Perangkat Keras
Kebutuhan Spesifikasi
Model AXIO PICO CJW
Processor Intel Atom
System type 32-bit Operating System
RAM 2048MB
3.1.2 Kebutuhan Perangkat lunak
Berikut ini diuraikan kebutuhan perangkat lunak yang dibutuhkan pada saat
Tabel 3.2 Kebutuhan Perangkat Lunak
No. Software Kebutuhan
1 Windows 7 Ultimate Sistem Operasi
2 PHP Bahasa Pemrograman
3 MySQL Database Server
4 XAMPP Database Engine
5 Apache Web Server
6 Google Chrome Web Browser
3.1.3 Kebutuhan Pengguna
Sistem ujian online yang akan dibangun dari kebutuhan informasi dapat
dikelompokkan dalam 2 tingkatan yang akan mengakses aplikasi yaitu
administrator (dalam hal ini adalah dosen), dan mahasiswa.
a. Administrator
Administrator merupakan tingkatan tertinggi yang dapat mengakses
seluruh bagian dari database. Mempunyai hak penuh untuk verifikasi data user
dan memelihara isi dari database. Administrator juga diberikan hak untuk
menambah, mengubah maupun menghapus data atau informasi yang ada baik
data mahasiswa dan data yang berkaitan dengan soal ujian.
b. Mahasiswa
Mahasiswa sendiri hanya dapat mengakses fitur-fitur layanan sistem
berupa: mengerjakan soal ujian dan mengubah password default nya.
3.2ANALISIS MASALAH
Dengan berkembangnya internet membawa perubahan yang signifikan terhadap
semua bidang termasuk salah satunya dalam bidang pendidikan. Dengan internet
maka dunia pendidikan tidak hanya terbatas pada ruang dan wilayah tertentu saja,
namun sudah meluas ke semua wilayah yang mana pengaksesannya bisa dilakukan
41
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Kegiatan manual di dalam pelatihan yang selama ini berjalan dilihat kurang
terlalu efektif (terutama dalam hal ujian) karena banyak memakan biaya, waktu,
tempat dan personil juga merupakan salah satu alasan. Biaya dalam hal banyaknya
dana yang dikeluarkan untuk menyediakan dokumen-dokumen ujian seperti
fotokopi materi,kuesioner. Waktu dalam hal lamanya tahap-tahap pengerjaan dan
pelaporan hasil ujian.
Selain masalah biaya dan waktu yang telah disebutkan di atas masih ada
masalah lain, yaitu pengarsipan yang memerlukan tempat yang besar serta personil
yang melakukan pengarsipan tersebut. Untuk itu dirancanglah sebuah sistem untuk
mengatasi ini, dalam hal ini sistem untuk ujian online.
Dalam pembuatan sistem ujian online ini terlebih dahulu diperlukan
perancangan basis data, karena sistem basis data merupakan komponen dari sistem
informasi. Namun dalam pembuatan basis data ini, dalam proses nya banyak terjadi
redudansi data dan duplikasi data. Oleh karena itu, dirancanglah basis data untuk
masalah ini, dalam hal ini basis data dengan konsep matematika atau biasa dikenal
basis data relasional.
Melihat permasalahan yang telah dijelaskan di atas, maka alternatif pemecahan
masalah yang ditawarkan adalah dengan menggunakan jasa teknologi jaringan
komputer intranet ( yang dapat dikembangkan ke internet) yaitu melalui sistem
yang online sehingga proses ujian yang dahulu terlalu rumit bisa disederhanakan.
Sistem ini dijalankan dengan menggunakan jaringan yang online dan bahasa
pemrograman web yaitu PHP dilihat dari pemrograman PHP yang open source
sehingga tidak memerlukan pembelian lisensi dan kemudahan ketersediaan contoh
kode-kode PHP serta banyaknya variasi yang bisa digunakan yang sesuai dengan
pengetahuan dasar penulis.
Dan tidak lupa juga dari sisi keamanan sistem yang cukup baik diatasi oleh
pemrograman PHP yang bersifat Client-Server. Sistem ini juga menggunakan
program basis data MySQL yang sangat cocok dengan bahasa pemrograman PHP
yang dipilih penulis. Di sini penulis mencoba untuk membantu membuat program
dapat digunakan untuk memecahkan masalah atas permasalahan di atas. Peserta
cukup mengetikan data-data dirinya melalui sistem ujian ini, setelah itu peserta
tersebut langsung bisa mengikuti ujian melalui komputer. Selain itu peserta bisa
juga langsung mengetahui hasil dari ujian yang mereka ikuti.
Untuk membuat sistem ujian online ini, basis data yang baik sangat diperlukan
untuk kelancaran dari sistem ini sendiri. Ketika redudansi dan dupikasi data sudah
minimal, basis data dalam sistem ujian online ini dapat dikatakan baik. Untuk itu
diperlukan suatu proses normalisasi yang bertujuan untuk meminimalkan redudansi
dan duplikasi data tersebut.
3.3PERANCANGAN SISTEM
Perancangan sistem basis data terdiri dari tiga tahap, yaitu perancangan view
user, struktur tabel, rancang skema konseptual seperti di bawah ini:
3.3.1 View User
Hal pertama dalam perancangan sistem adalah bagaimana
mengimplementasikan kebutuhan setiap user dalam sebuah gambaran, dapat
disebut skema eksternal (view user). Gambaran di sini berupa menu-menu apa saja
yang dapat dilihat oleh user, seperti dibawah ini:
a. Administrator
Administrator sebagai tingkatan tertinggi dalam sistem ujian online ini
mempunyai hak untuk melihat keseluruhan sistem, berupa beberapa menu
diantaranya:
1. Menu rancangan profil administrator
Dalam menu rancangan profil administrator, administrator dapat melihat
data diri dari administrator itu sendiri berupa ID USER, NAMA ADMIN,
43
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
ID USER : 1103934
NAMA ADMIN : Imam Maliki
ALAMAT : Bandung
AGAMA : Islam
Gambar 3.1 Tampilan menu rancangan profil admin
2. Menu rancangan tambah mahasiswa
Dalam menu rancangan tambah mahasiswa, administrator diberikan hak
untuk menambahkan mahasiswa dengan memasukkan beberapa data diri
mahasiswa berupa ID USER, NAMA MAHASISWA, ALAMAT, dan
AGAMA.
ID USER : 1205452
NAMA MAHASISWA : Ayyuna Zulfa Zahidah
ALAMAT : Banten
AGAMA : Islam
Gambar 3.2 Tampilan menu rancangan tambah mahasiswa
3. Menu rancangan tambah ujian
Dalam menu rancangan tambah ujian, administrator dapat menambahkan
ujian yang akan diujikan, dengan detail ID MATA KULIAH, NAMA MATA
KULIAH, NAMA UJIAN, TANGGAL, DAN WAKTU.
ID MATA KULIAH : 1
NAMA MATA KULIAH : Kalkulus Diferensial
NAMA UJIAN : UTS
TANGGAL : 2015-08-26
WAKTU : 100 Menit
Gambar 3.3 Tampilan menu rancangan tambah ujian
Dalam menu rancangan tambah soal, administrator dapat menambahkan
soal yang akan diujikan berdasarkan data dari nama mata kuliah dan nama ujian.
Pada menu tambah soal terdapat empat data yang dapat diinputkan
administrator, yaitu ID UJIAN, ID SOAL, ISI SOAL, JAWABAN, dan
STATUS.
ID UJIAN : 01
ID SOAL : 1
ISI SOAL : log
JAWABAN : 3
STATUS : Benar
Gambar 3.4 Tampilan menu rancangan tambah soal
5. Menu rancangan lihat nilai
Dalam menu rancangan lihat nilai, administrator dapat melihat data nilai
mahasiswa dengan detail ID USER, NAMA MAHASISWA, NAMA MATA
KULIAH, NAMA UJIAN, NILAI.
ID USER : 1205452
NAMA MAHASISWA : Ayyuna Zulfa Zahidah
NAMA MATA KULIAH : Kalkulus Diferensial
NAMA UJIAN : UTS
NILAI : 90
Gambar 3.5 Tampilan menu rancangan lihat nilai
b. Mahasiswa
Dalam sistem ujian online ini, mahasiswa haya diberikan beberapa hak
tertentu saja. Seperti di bawah ini:
1. Menu rancangan profil mahasiswa
Dalam menu rancangan profil mahasiswa, mahasiswa diberikan hak untuk
melihat data diri dari mahasiswa itu sendiri berupa ID USER, NAMA
45
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
ID USER : 1205452
NAMA MAHASISWA : Ayyuna Zulfa Zahidah
ALAMAT : Banten
AGAMA : Islam
Gambar 3.6 Tampilan menu rancangan profil mahasiswa
2. Menu rancangan pilih ujian
Dalam menu rancangan pilih ujian, mahasiswa dapat memilih NAMA
MATA KULIAH dan NAMA UJIAN apa yang akan diikuti dengan rincian
sebagai berikut:
NAMA MATA KULIAH : Kalkulus Diferensial
NAMA UJIAN : UTS
TANGGAL : 2015-08-26
WAKTU : 100 Menit
Gambar 3.7 Tampilan menu rancangan pilih ujian
3. Menu rancangan kerjakan ujian
NAMA MAHASISWA : Ayyuna Zulfa Zahidah
NAMA MATA KULIAH : Kalkulus Diferensial
NAMA UJIAN : UTS
WAKTU : 100 Menit
ID SOAL : 1
ISI SOAL : log
JAWABAN : 3
STATUS : Benar
NILAI : 10
3.3.2 Struktur Tabel
Sebelum implementasi basis data dapat dilakukan (dengan menggunakan salah
satu perangkat lunak DBMS), maka terlebih dahulu kita harus memiliki contoh data
yang akan digunakan. Contoh data ini harus dianalisa untuk mengetahui
karakteristik masing-masing tabel data. Pengetahuan tentang karakteristik ini
penting, karena hal itu akan dijadikan dasar untuk penetapan struktur
masing-masing tabel. Di dalam penerapan basis data, penetapan struktur tersebut harus
dilakukan sebelum penyimpanan datanya dapat dilakukan.
Berikut ini merupakan gambaran dari struktur tabel-tabel pada ujian online ini
yang disusun berdasarkan viewuser di atas:
a. Tabel Administrator, dengan isi sebagai berikut:
Tabel 3.3 Struktur Data pada Tabel Administrator
Nama Kolom Tipe Lebar Untuk Menampung Data
ID_USER Character 20 ID admin
NAMA_ADMIN Character 50 Nama admin
ALAMAT Character 80 Alamat admin
AGAMA Character 30 Agama admin
Berdasarkan data pada tabel di atas dapat kita ketahui beberapa karakteristik tabel,
seperti berikut ini:
Kolom pertama berisi data angka tetapi tidak menunjukkan suatu jumlah (disebut alfa numerik) dengan lebar (banyaknya karakter) tetap, yaitu 20
karakter (digit).
Kolom kedua berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama admin tidak ada
47
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Kolom ketiga berisi data karakter (string atau text) dengan lebar maksimum 80 karakter. Angka ini lebih banyak ketimbang lebar kolom yang kedua, karena
umumnya data alamat lebih panjang dibandingkan data nama.
Kolom keempat berisi karakter (string atau text) dengan lebar maksimum 30 karakter.
b. Tabel mahasiswa, dengan isi sebagai berikut:
Tabel 3.4 Struktur Data pada Tabel Mahasiswa
Nama Kolom Tipe Lebar Untuk Menampung Data
ID_USER Character 20 ID mahasiswa
NAMA_MAHASISWA Character 50 Nama mahasiswa
ALAMAT character 80 Alamat mahasiswa
AGAMA character 30 Agama mahasiswa
Berdasarkan data pada tabel di atas dapat kita ketahui beberapa karakteristik tabel,
seperti berikut ini:
Kolom pertama berisi data angka tetapi tidak menunjukkan suatu jumlah (disebut alfa numerik) dengan lebar (banyaknya karakter) tetap, yaitu 20
karakter (digit).
Kolom kedua berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama mahasiswa
tidak ada yang melebihi 50 karakter.
Kolom ketiga berisi data karakter (string atau text) dengan lebar maksimum 80 karakter. Angka ini lebih banyak ketimbang lebar kolom yang kedua, karena
umumnya data alamat lebih panjang dibandingkan data nama.
c. Tabel Ujian, dengan isi sebagai berikut:
Tabel 3.5 Struktur Data pada Tabel Ujian
Nama Kolom Tipe Lebar Untuk Menampung Data
ID_MK Integer 3 ID mata kuliah
NAMA_MK Character 50 Nama mata kuliah
ID_UJIAN Integer 10 ID ujian
NAMA_UJIAN Character 50 Nama ujian
TANGGAL Date/time Tanggal ujian
WAKTU Integer 3 Durasi ujian (dalam menit)
Berdasarkan data pada tabel di atas dapat kita ketahui beberapa karakteristik tabel,
seperti berikut ini:
Kolom pertama berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom kedua berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama mata kuliah
tidak ada yang melebihi 50 karakter.
Kolom ketiga berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom keempat berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama mata ujian
tidak ada yang melebihi 50 karakter.
Kolom kelima berisi data penanggalan ujian berlangsung.
49
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
d. Tabel Soal, dengan isi sebagai berikut:
Tabel 3.6 Struktur Data pada Tabel Soal
Nama Kolom Tipe Lebar Untuk Menampung Data
ID_UJIAN integer 10 ID ujian
ID_SOAL integer 3 ID soal
ISI_SOAL Text 200 ISI SOAL
ID_JAWABAN integer 10 ID jawaban
JAWABAN Text 40 Pilihan jawaban
STATUS tinyint 1 Keterangan jawaban benar atau salah
Berdasarkan data pada tabel di atas dapat kita ketahui beberapa karakteristik tabel,
seperti berikut ini:
Kolom pertama berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat
Kolom kedua berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom ketiga berisi data text dengan lebar maksimum 200 karakter.
Kolom keempat berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom kelima berisi data text dengan lebar maksimum 40 karakter.
e. Tabel Nilai, dengan isi sebagai berikut:
Tabel 3.7 Struktur Data pada Tabel Nilai
Nama Kolom Tipe Lebar Untuk Menampung Data
ID_NILAI integer 10 ID NILAI
ID_USER character 20 ID mahasiswa
NAMA_MAHASISWA character 50 Nama mahasiswa
ID_UJIAN integer 10 ID ujian
NAMA_UJIAN character 50 Nama ujian
NILAI integer 3 Nilai ujian
Berdasarkan data pada tabel di atas dapat kita ketahui beberapa karakteristik tabel,
seperti berikut ini:
Kolom pertama berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom kedua berisi data angka tetapi tidak menunjukkan suatu jumlah (disebut alfa numerik) dengan lebar (banyaknya karakter) tetap, yaitu 20 karakter (digit).
Kolom ketiga berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama mahasiswa
tidak ada yang melebihi 50 karakter.
Kolom keempat berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
Kolom kelima berisi data karakter (string atau text) dengan lebar maksimum 50 karakter. Angka 50 ini merupakan perkiraan bahwa untuk nama mata ujian tidak
51
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Kolom keenam berisi data angka yang menunjukkan jumlah yang jenisnya bilangan bulat.
3.3.3 Rancang skema konseptual (view logis)
Dari struktur tabel di atas, langkah selanjutnya adalah membuat suatu skema
konseptual atau view logis untuk sistem ujian online. Seperti di bawah ini:
Gambar 3.9 Skema Konseptual Sistem Ujian Online
Pada gambar 3.9, merupakan relasi antar lima tabel yang menjelaskan bahwa:
1. Seorang admin dapat menambahkan banyak mahasiswa.
2. Seorang admin dapat menambahkan banyak ujian.
3. Seorang mahasiswa dapat mengikuti banyak ujian, begitu juga sebaliknya. Satu
ujian dapat diikuti oleh banyak mahasiswa.
4. Satu ujian memiliki banyak soal.
5. Dan satu soal memiliki satu nilai.
3.4ILUSTRASI SISTEM
Untuk mengilustrasikan model basis data lebih nyata, berikut ini dengan
memisalkan data-data, dibuat tabel-tabel yang berasal dari struktur data dari tabel
di atas, seperti di bawah ini:
Berdasarkan struktur data dari tabel administrator (Tabel 3.3) di atas dibuatlah
basis data yang lebih nyata seperti di bawah ini:
Tabel 3.8 Data Administrator
id_user nama_admin alamat agama
0000001 Imam Maliki Lampung Islam
0000002 Andi Haerul Makasar Islam
0000003 Rita Yekti Lampung Islam
0000004 Yohannes Surya Bandung Kristen
3.4.2 Data Mahasiswa
Berdasarkan struktur data dari tabel mahasiswa (Tabel 3.4) di atas dibuatlah
basis data yang lebih nyata seperti di bawah ini:
Tabel 3.9 Data Mahasiswa
id_user nama_mahasiswa alamat agama
1102060 Asep Egi Kurniawan Bekasi Islam
1102486 Rakhmat Nurul Hakim Bekasi Islam
1105136 Muhammad Rifqy Agustian Bangka Islam
1102379 Naro Cahya Medan Budha
1100354 Asep Egi Kurniawan Medan Islam
3.4.3 Data Ujian
Berdasarkan struktur data dari tabel ujian (Tabel 3.5) di atas dibuatlah basis
data yang lebih nyata seperti di bawah ini:
Tabel 3.10 Data Ujian
id_mk nama_mk id_ujian nama_ujian tanggal waktu
53
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
001 Kalkulus I 01 UTS 16042015 100
002 Matematika
Dasar 02 UTS 18042015 100
002 Matematika
Dasar 03 UAS 20062015 120
3.4.4 Data Soal
Berdasarkan struktur data dari tabel Soal (Tabel 3.6) di atas dibuatlah basis data
yang lebih nyata seperti di bawah ini:
Tabel 3.11 Data Soal
id_ujian id_soal isi_soal id_jawaban jawaban Status
01 01_1 log 1 3 1
01 01_1 log 2 1 0
01 01_2 sin ° 3 √ 1
01 01_2 sin ° 4 0
02 02_1 log 5 1 1
pada atribut id_soal, misalkan 01_1. “01” mengartikan id soal, dan “1” mengartikan
nomor soal. Pada atribut status angka “1” mengartikan bahwa jawaban benar dan “0” berarti salah.
3.4.5 Data Nilai
Berdasarkan struktur data dari tabel Nilai (Tabel 3.7) di atas dibuatlah basis
data yang lebih nyata seperti di bawah ini:
Tabel 3.12 Data Nilai
id_nilai id_user nama_mahasiswa id_ujian nama_ujian Nilai
1 1102060 Asep Egi Kurniawan 01 UTS 80
3 1102486 Rakhmat Nurul 02 UTS 85
4 1102060 Asep Egi Kurniawan 02 UTS 90
3.5ATRIBUT, KEY, dan KETERGANTUNGAN FUNGSIONAL
Sebelum pengujian data dengan normalisasi, terlebih dahulu kita tentukan
Atribut, Key, dan Ketergantungan Fungsional untuk tiap-tiap tabel yang telah
terbentuk di atas, seperti di bawah ini:
3.5.1 Atribut
a. Untuk Tabel Data Administrator
Terdapat empat buah atribut, dengan rincian sebagai berikut:
1. Atribut ke-1 = � =id_user
2. Atribut ke-2 = � =nama_admin
3. Atribut ke-3 = � =alamat
4. Atribut ke-4 = � =agama
b. Untuk Tabel Data Mahasiswa
Terdapat empat buah atribut, dengan rincian sebagai berikut:
1. Atribut ke-1 = � =id_user
2. Atribut ke-2 = � =nama_mahasiswa
3. Atribut ke-3 = � =alamat
4. Atribut ke-4 = � =agama
c. Untuk Tabel Data Ujian
Terdapat enam buah atribut, dengan rincian sebagai berikut:
1. Atribut ke-1 = � =id_mk
2. Atribut ke-2 = � =nama_mk
3. Atribut ke-3 = � =id_ujian
4. Atribut ke-4 = � =nama_ujian
55
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
6. Atribut ke-6 = � =waktu
d. Untuk Tabel Data Soal
Terdapat enam buah atribut, dengan rincian sebagai berikut:
1. Atribut ke-1 = � =id_ujian
2. Atribut ke-2 = � =id_soal
3. Atribut ke-3 = � =isi_soal
4. Atribut ke-4 = � =id_jawaban
5. Atribut ke-5 = � =jawaban
6. Atribut ke-6 = � =status
e. Untuk Tabel Data Nilai
Terdapat enam buah atribut, dengan rincian sebagai berikut:
1. Atribut ke-1 = � =id_nilai
2. Atribut ke-2 = � =id_user
3. Atribut ke-3 = � =nama_mahasiswa
4. Atribut ke-4 = � =id_ujian
5. Atribut ke-5 = � =nama_ujian
6. Atribut ke-6 = � =nilai
3.5.2 Key
a. Untuk Tabel Data Administrator
Terdapat beberapa key pada tabel data administrator, dengan rincian sebagai
berikut:
1. � = (id_user, nama_admin, alamat, agama) ⊆ r (id_user, nama_admin,
alamat, agama)
2. � = (id_user, nama_admin, alamat) ⊆ r (id_user, nama_admin, alamat,
agama)
3. � = (id_user, nama_admin) ⊆ r (id_user, nama_admin, alamat, agama)
4. � = (id_user) ⊆ r (id_user, nama_admin, alamat, agama)
5. � = (nama_admin) ⊆ r (id_user, nama_admin, alamat, agama)
Kelima key diatas merupakan Super-key karena untuk sembarang tupel � dan �
tidak dipilih menjadi Super-key karena ada kecenderungan memiliki nilai yang
sama untuk entitas yang berbeda.
(id_user) dan (nama_admin) merupakan Candidate-key, asalkan pada
(nama_admin) dapat dijamin bahwa tidak ada nilai yang sama untuk kolom ini.
Dengan didasari kriteria pemilihan Primary-Key, (id_user) dipilih menjadi
Primary-Key.
b. Untuk Tabel Data Mahasiswa
Terdapat beberapa key pada tabel data mahasiswa, dengan rincian sebagai
berikut:
1. � = (id_user, nama_mahasiswa, alamat, agama) ⊆ r (id_user,
nama_mahasiswa, alamat, agama)
2. � = (id_user, nama_mahasiswa, alamat) ⊆ r (id_user, nama_mahasiswa,
alamat, agama)
3. � = (id_user, nama_mahasiswa) ⊆ r (id_user, nama_mahasiswa, alamat,
agama)
4. � = (id_user) ⊆ r (id_user, nama_mahasiswa, alamat, agama)
5. � = (nama_mahasiswa) ⊆ r (id_user, nama_mahasiswa, alamat, agama)
Kelima key diatas merupakan Super-key karena untuk sembarang tupel � dan �
dengan , = , , … , dan ≠ , � � ≠ � � . Untuk (alamat), dan (agama)
tidak dipilih menjadi Super-key karena ada kecenderungan memiliki nilai yang
sama untuk entitas yang berbeda.
(id_user) dan (nama_mahasiswa) merupakan Candidate-key, asalkan pada
(nama_mahasiswa) dapat dijamin bahwa tidak ada nilai yang sama untuk kolom ini.
Dengan didasari kriteria pemilihan Primary-Key, (id_user) dipilih menjadi
Primary-Key.
c. Untuk Tabel Data Ujian
57
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
1. � = (id_mk, nama_mk, id_ujian, nama_ujian, tanggal, waktu) ⊆ r (id_mk,
nama_mk, id_ujian, nama_ujian, tanggal, waktu)
2. � = (id_mk, nama_mk, id_ujian, nama_ujian, tanggal) ⊆ r (id_mk, nama_mk,
id_ujian, nama_ujian, tanggal, waktu)
3. � = (id_mk, nama_mk, id_ujian, nama_ujian) ⊆ r (id_mk, nama_mk, id_ujian,
nama_ujian, tanggal, waktu)
4. � = (id_mk, nama_mk, nama_ujian) ⊆ r (id_mk, nama_mk, id_ujian,
nama_ujian, tanggal, waktu)
5. � = (id_mk, nama_mk) ⊆ r (id_mk, nama_mk, id_ujian, nama_ujian, tanggal,
waktu)
6. � = (id_ujian, nama_ujian) ⊆ r (id_mk, nama_mk, id_ujian, nama_ujian,
tanggal, waktu)
7. � = (id_mk) ⊆ r (id_mk, nama_mk, id_ujian, nama_ujian, tanggal, waktu)
8. � = (id_ujian) ⊆ r (id_mk, nama_mk, id_ujian, nama_ujian, tanggal, waktu)
Kedelapan key diatas merupakan Super-key karena untuk sembarang tupel � dan
� dengan , = , , … , dan ≠ , � � ≠ � � . Untuk (nama_mk), (nama_ujian), (tanggal) dan (waktu) tidak dipilih menjadi Super-key karena ada
kecenderungan memiliki nilai yang sama untuk entitas yang berbeda.
(id_mk) dan (id_ujian) merupakan Candidate-key, dan dengan didasari kriteria
pemilihan Primary-Key, (id_mk) dan (id_ujian) dipilih menjadi Primary-Key.
d. Untuk Tabel Data Soal
Terdapat beberapa key pada tabel data soal, dengan rincian sebagai berikut:
1. � = (id_ujian, id_soal, isi_soal, id_jawaban,jawaban, status) ⊆ r (id_ujian ,
id_soal, isi_soal, id_jawaban,jawaban, status)
2. � = (id_ujian , id_soal, isi_soal, id_jawaban,jawaban) ⊆ r (id_ujian , id_soal,
isi_soal, jawaban, id_jawaban,status)
3. � = (id_ujian , id_soal, isi_soal) ⊆ r (id_ujian , id_soal, isi_soal, id_jawaban,
jawaban, status)
4. � = (id_soal, isi_soal) ⊆ r (id_ujian , id_soal, isi_soal, id_jawaban,jawaban,
5. � = (id_jawaban, jawaban, status) ⊆ r (id_ujian , id_soal, isi_soal,
id_jawaban,jawaban, status)
6. � = (id_soal) ⊆ r (id_ujian , id_soal, isi_soal, id_jawaban,jawaban, status)
7. � = (id_jawaban) ⊆ r (id_ujian , id_soal, isi_soal, id_jawaban, jawaban,
status)
Ketujuh key diatas merupakan Super-key karena untuk sembarang tupel � dan �
dengan , = , , … , dan ≠ , � � ≠ � � .
(id_soal) dan (id_jawaban) merupakan Candidate-key dan dengan didasari
kriteria pemilihan Primary-Key (id_soal) dan (id_jawaban) dipilih menjadi
Primary-Key.
e. Untuk Tabel Data Nilai
Terdapat beberapa key pada tabel data nilai, dengan rincian sebagai berikut:
1. � = (id_nilai, id_user, nama_mahasiswa, id_ujian, nama_ujian, nilai) ⊆ r
(id_nilai, id_user, nama_mahasiswa, id_ujian, nama_ujian, nilai)
2. � = (id_nilai, id_user, nama_mahasiswa, id_ujian, nila) ⊆ r (id_nilai, id_user,
nama_mahasiswa, id_ujian, nama_ujian, nilai)
3. � = (id_nilai, id_user, id_ujian, nilai) ⊆ r (id_nilai, id_user,
nama_mahasiswa, id_ujian, nama_ujian, nilai)
4. � = (id_nilai) ⊆ r (id_nilai, id_user, nama_mahasiswa, id_ujian, nama_ujian,
nilai)
Keempat key diatas merupakan Super-key karena untuk sembarang tupel � dan �
dengan , = , , … , dan ≠ , � � ≠ � � . Untuk (id_user), (id_ujian)
(nama_mahasiswa), (nama_ujian) dan (nilai) tidak dipilih menjadi Super-key
karena ada kecenderungan memiliki nilai yang sama untuk entitas yang berbeda.
(id_nilai) merupakan Candidate-key, dan dengan didasari kriteria pemilihan
Primary-Key, (id_nilai) dipilih menjadi Primary-Key.
59
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Dengan melihat perancangan sistem di atas, hal selanjutnya adalah mengasumsikan
suatu ��. Diantaranya adalah:
a. Untuk Tabel Data Administrator
Didapat beberapa ��, yaitu:
id_user → nama_admin berdasarkan aturan inferensi aksioma 5,
diperoleh:
id_user → nama_admin alamat agama id_user → alamat
id_user → agama
id_user → nama_admin adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Administrator berlaku:
� _ = � _ ⟹ � _ = � _
id_user → alamat adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Administrator berlaku:
� _ = � _ ⟹ � = �
id_user → agama adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Administrator berlaku:
� _ = � _ ⟹ � � = � �
b. Untuk Tabel Data Mahasiswa
Didapat beberapa ��, yaitu:
id_user → nama_mahasiswa berdasarkan aturan inferensi aksioma 5,
diperoleh:
id_user → nama_mahasiswa alamat agama
id_user → alamat
id_user → agama
id_user → nama_mahasiswa adalah memenuhi konsep ketergantungan fungsional
� (id_user) = � (id_user) ⟹ � (nama_mahasiswa) = � _ ℎ �
id_user → alamat adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Mahasiswa berlaku:
� _ = � _ ⟹ � = �
id_user → agama adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Mahasiswa berlaku:
� _ = � _ ⟹ � � = � �
c. Untuk Tabel Data Ujian
Didapat beberapa ��, yaitu:
id_mk → nama_mk
id_ujian → id_mk
berdasarkan aturan inferensi
aksioma 5, diperoleh:
id_ujian → nama_ujian id_mk tanggal waktu
id_ujian → nama_ujian
id_ujian → tanggal
id_ujian → waktu
id_mk → nama_mk adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Ujian berlaku:
� _ = � _ ⟹ � _ = � _
id_ujian → id_mk adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Ujian berlaku:
� _ = � _ ⟹ � _ = � _
id_ujian → nama_ujian adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Ujian berlaku:
61
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
id_ujian → tanggal adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Ujian berlaku:
� _ = � _ ⟹ � �� = � ��
id_ujian → waktu adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Ujian berlaku:
� _ = � _ ⟹ � � = � �
d. Untuk Tabel Data Soal
Didapat beberapa ��, yaitu:
id_soal → isi_soal berdasarkan aturan inferensi aksioma 5, diperoleh:
id_soal → isi_soal id_ujian id_soal → id_ujian
id_jawaban → jawaban
berdasarkan aturan inferensi aksioma 5, diperoleh:
id_jawaban → id_soal jawaban status id_jawaban → status
id_jawaban → id_soal
id_soal → isi_soal adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Soal berlaku:
� _ = � _ ⟹ � _ = � _
id_soal → id_ujian adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Soal berlaku:
� _ = � _ ⟹ � _ = � _
id_jawaban → jawaban adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Soal berlaku:
id_jawaban → status adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Soal berlaku:
� _ � = � _ � ⟹ � = �
id_jawaban → id_soal adalah memenuhi konsep ketergantungan fungsional karena
, untuk setiap � , � ∈ Tabel Data Soal berlaku:
63
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu e. Untuk Tabel Data Nilai
Didapat beberapa ��, yaitu:
id_nilai → id_user
berdasarkan aturan inferensi aksioma 5, diperoleh: id_nilai → id_user nama_mahasiswa id_ujian nama_ujian nilai
id_nilai → nama_mahasiswa
id_nilai → id_ujian
id_nilai → nama_ujian
id_nilai → nilai
id_user → nama_mahasiswa
id_ujian → nama_ujian
id_nilai → id_user adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ = � _
id_nilai → nama_user adalah memenuhi konsep ketergantungan fungsional karena
, untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ = � _
id_nilai → id_ujian adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ = � _
id_nilai → nama_ujian adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ = � _
id_nilai → nilai adalah memenuhi konsep ketergantungan fungsional karena ,
untuk setiap � , � ∈ Tabel Data Nilai berlaku:
id_user → nama_mahasiswa adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ ℎ �
= � _ ℎ �
id_ujian → nama_ujian adalah memenuhi konsep ketergantungan fungsional
karena , untuk setiap � , � ∈ Tabel Data Nilai berlaku:
� _ = � _ ⟹ � _ = � _
3.6 NORMALISASI
Setelah selesai menentukan Atribut, Key, dan Ketergantungan Fungsional,
maka kita siap untuk melakukan pengujian apakah basis data yang dibuat di atas
telah berada dalam keadaan baik atau normal. Selanjutnya, sebuah basis data dapat
dikatakan baik atau normal apabila memenuhi kriteria berikut:
3.6.1 Dekomposisi Aman
Yang dapat dilakukan adalah dengan memilah berdasarkan �� minimum yang
memuat seluruh atribut pada setiap tabel. Sebagaimana yang telah disebutkan di
atas, ada tujuh �� untuk seluruh tabel. Yaitu:
id_user → nama_admin alamat agama
id_user → nama_mahasiswa alamat agama
id_mk → nama_mk
id_ujian → nama_ujian id_mk tanggal waktu
id_soal → isi_soal id_ujian
id_jawaban → id_soal jawaban status
65
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Dengan berbekal ke-tujuh �� diatas, maka diperoleh tabel baru hasil dekomposisi
tabel-tabel sebelumnya, yaitu:
1. Tabel Administrator dengan atribut id_user, nama_admin, alamat, dan agama
2. Tabel Mahasiswa dengan atribut id_user, nama_mahasiswa, alamat, dan
agama
3. Tabel Mata Kuliah dengan atribut id_mk dan nama_mk
4. Tabel Ujian dengan atribut id_ujian, nama_ujian, id_mk, tanggal, dan waktu
5. Tabel Soal dengan atribut id_soal, isi soal, id_ujian
6. Tabel Jawaban dengan atribut id_jawaban,id_soal, jawaban, dan status
7. Tabel Nilai dengan atribut id_nilai, id_user, nama_mahasiswa, id_ujian,
nama_ujian, dan nilai
Tabel Mata Kuliah dan Tabel Ujian merupakan hasil dekomposisi dari Tabel Data
Ujian. Proses dekomposisi nya diperlihatkan seperti di bawah ini:
Misalkan Tabel Data Ujian (Tabel 3.8) adalah . dapat didekomposisikan
[image:41.595.118.533.447.605.2]menjadi Tabel Mata Kuliah ( ) dan Tabel Ujian ( ) seperti berikut ini:
Tabel 3.13 Mata Kuliah Tabel 3.14 Ujian
id_mk nama_mk id_ujian nama_ujian id_mk Tanggal waktu
Kalkulus I 01 UTS 01 16042015 100
002 Matematika Dasar 02 UTS 02 18042015 100
03 UAS 02 20062015 120
Jika kedua tabel di atas digabung kembali dengan menggunakan operasi join, maka
Tabel Data Ujian akan diperoleh kembali. = ⨂ Kita bisa mengatakan
bahwa pemilahan tersebut merupakan Dekomposisi Aman.
Tabel Soal dan Tabel Jawaban merupakan hasil dekomposisi dari Tabel Data Soal.
Misalkan Tabel Data Soal (Tabel 3.9) adalah . dapat didekomposisikan
[image:42.595.112.511.149.393.2]menjadi Tabel Soal ( ) dan Tabel Jawaban ( ) seperti berikut ini:
Tabel 3.15 Soal Tabel 3.16 Jawaban
id_soal isi_soal id_ujian id_jawaban id_soal jawaban Status
01_1 log 01 1 01_1 3 1
01_2 sin ° 01 2 01_1 1 0
02_1 log 02 3 01_2 √ 1
4 01_2 0
5 02_1 1 1
Jika kedua tabel di atas digabung kembali dengan menggunakan operasi join, maka
Tabel Data Ujian akan diperoleh kembali. = ⨂ Kita bisa mengatakan
bahwa pemilahan tersebut merupakan Dekomposisi Aman.
3.6.2 Keterpeliharaan Ketergantungan
Merupakan kriteria kedua yang harus dicapai untuk mendapatkan tabel dan
basis data yang baik. Ketika melakukan perubahan data, maka harus dapat dijamin
agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan
�� yang sudah benar menjadi tidak terpenuhi.
Berdasarkan tabel hasil dekomposisi di atas, terdapat dua masalah untuk Tabel
Nilai dengan atribut id_nilai, id_user, nama_mahasiswa, id_ujian, nama_ujian,
dan nilai dengan dua buah �� yaitu: id_user → nama_mahasiswa dan id_ujian →
nama_ujian.
Jika pada Tabel Mahasiswa terjadi perubahan data pada atribut alamat atau
67
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
di Tabel Nilai atribut alamat atau agama tidak dilibatkan. Namun jika perubahan
terjadi pada atribut nama_mahasiswa di Tabel Mahasiswa, maka perubahan harus
dijalarkan ke Tabel Nilai, karena atribut ini juga digunakan di Tabel Nilai. Jika
penjalaran perubahan ini hanya dilakukan pada satu baris data pertama di Tabel
Nilai dengan nilai id_user yang sama dengan nilai id_user di Tabel Mahasiswa
yang nama_mahasiswa-nya diubah tersebut, maka ��id_user → nama_mahasiswa
menjadi tidak terpenuhi lagi. Hal ini karena peristiwa tersebut mengakibatkan
adanya dua baris data di Tabel Nilai yang id_user-nya sama, tetapi
nama_mahasiswa-nya berbeda. Jika begitu, maka penjalaran peubahan tersebut
harus dilakukan ke suluruh baris data dengan nilai id_user yang sesuai. Tetapi
masalahnya, penjalaran perubahan tersebut tidak efisien dan seharusnya dihindari.
Karena itu, solusi terbaik agar kriteria Keterpeliharaan Ketergantungan dapat
terpenuhi adalah dengan meniadakan/melepaskan atribut nama_mahasiswa dari
Tabel Nilai. Begitu juga untuk �� id_ujian → nama_ujian, agar kriteria
Keterpeliharaan Ketergantungan dapat terpenuhi, maka atribut nama_ujian harus
ditiadakan/dilepaskan dari Tabel Nilai.
Sehingga diperoleh Tabel Nilai Baru yang berisi atribut id_nilai, id_user,
[image:43.595.217.407.519.635.2]id_ujian, dan nilai.
Tabel 3.17 Nilai Baru
id_nilai id_user id_ujian Nilai
1 1102060 01 80
2 1102379 01 75
3 1102486 02 85
4 1102060 02 90
3.6.3 Boyce-Codd Normal Form (BCNF)
Kriteria berikutnya untuk mendapatkan tabel basis data yang baik adalah
dengan menerapkan Boyce-Codd Normal Form (BCNF). BCNF terpenuhi jika
tabel tersebut. Jika tidak demikian, maka tabel tersebut harus didekomposisikan
sesuai �� yang ada, sedemikian sehingga menjadi super-key dari tabel hasil
dekomposisi.
a. Untuk Tabel Administrator
Berdasarkan Tabel 3.8, �� pada tabel tersbut adalah: id_user → nama_admin
alamat agama. Dengan demikian tabel ini telah memenuhi BCNF, karena menurut
BCNF sisi kiri dalam �� harus merupakan super-key dalam tabel. Dan benar
bahwa {id_user} merupakan super-key dari Tabel Administrator tersebut.
b. Untuk Tabel Mahasiswa
Berdasarkan Tabel 3.9, �� pada tabel tersbut adalah: id_user →
nama_mahasiswa alamat agama. Dengan demikian tabel ini telah memenuhi
BCNF, karena menurut BCNF sisi kiri dalam �� harus merupakan super-key
dalam tabel. Dan benar bahwa {id_user} merupakan super-key dari Tabel
Mahasiswa tersebut.
c. Untuk Tabel Mata Kuliah
Berdasarkan Tabel 3.11, �� pada tabel tersbut adalah: id_mk → nama_mk.
Dengan demikian tabel ini telah memenuhi BCNF karena {id_mk} merupakan
super-key dari Tabel Mata Kuliah tersebut.
d. Untuk Tabel Ujian
Berdasarkan Tabel 3.12, �� pada tabel tersbut adalah: id_ujian → nama_ujian
id_mk tanggal waktu. Dengan demikian tabel ini telah memenuhi BCNF karena
{id_ujian} merupakan super-key dari Tabel Ujian tersebut.
e. Untuk Tabel Soal
Berdasarkan Tabel 3.13, �� pada tabel tersbut adalah: id_soal, isi soal, id_ujian
. Dengan demikian tabel ini telah memenuhi BCNF karena {id_soal} merupakan
69
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu f. Untuk Tabel Jawaban
Berdasarkan Tabel 3.14, �� pada tabel tersbut adalah: id_jawaban → id_soal
jawaban status. Dengan demikian tabel ini telah memenuhi BCNF karena
{id_jawaban} merupakan super-key dari Tabel Jawaban tersebut.
g. Untuk Tabel Nilai
Berdasarkan Tabel 3.15, �� pada tabel tersbut adalah: id_nilai → id_user
id_ujian nilai. Dengan demikian tabel ini telah memenuhi BCNF karena {id_nilai}
Imam Maliki , 2015
BAB V
KESIMPULAN DAN SARAN
5.1KESIMPULAN
Dari perancangan sistem ujian online yang telah dibuat pada bab sebelumnya,
penulis menarik beberapa kesimpulan, diantaranya:
1. Program sistem ujian online dapat diperoleh dengan membuat perancangan
basis data terlebih dahulu. Perancangan sistem ini meliputi:
a. Membuat view user atau kebutuhan pengguna dalam program tersebut.
b. Membuat rancangan tabel-tabel serta membuat struktur tabel berdasarkan
view user.
c. Membuat skema konseptual tentang hubungan antar tabel.
agar sistem terlihat lebih nyata, dilakukan suatu pengilustrasian sistem yang
kemudian dari ilustrasi sitem tersebut diuji apakah basis data yang telah dibuat
telah optimal dengan menggunakan metode normalisasi.
2. Pengujian sistem dengan normalisasi dilakukan dengan terlebih dahulu
menentukan Atribut, Key, dan Ketergantungan Fungsional. Cara terbaik untuk
menentukannya adalah dengan menerapkan konsep relasi matematika.
3. Dari proses normalisasi, diperoleh suatu basis data yang siap untuk di proses
untuk membuat suatu program sistem ujian online. Dengan tampilan program
seperti bab 4.
5.2SARAN
Dari pembuatan program sistem ujian online ini, dapat diberikan beberapa saran
seperti berikut ini:
1. Perancangan sistem basis data ini masih menggunakan data-data fiktif. Penulis
89
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
2. Dalam pengujian sistem basis data pada skripsi ini, penulis menggunakan
kriteria normalisasi minimal untuk mendapatkan suatu basis data yang optimal.
Untuk peneliti selanjutnya, penulis menyarankan menggunakan kriteria –
kriteria lain yang juga tercakup dalam kerangka normalisasi, yaitu:
Bentuk Normal tahap pertama (1st Normal Form/1NF).
Bentuk Normal tahap kedua (2nd Normal Form/2NF).
Bentuk Normal tahap ketiga (3rd Normal Form/3NF).
3. Program aplikasi ujian online ini dapat dikembangkan dengan penambahan
fasilitas form daftar mahasiswa secara yang dapat diinputkan oleh mahasiswa
Imam Maliki , 2015
DAFTAR PUSTAKA
Handri, R. (2011). Pemanfaatan Remote Desktop Untuk Optimalisasi Sistem Ujian
Online. S1 thesis, Universitas Pendidikan Indonesia, Bandung.
Kristanto, A. (2008). Perancangan Sistem Informasi dan Aplikasinya. Yogyakarta:
Gava Media.
Madcoms. (2006). Aplikasi Manajemen Database Pendidikan Berbasis Web
dengan PHP dan MySQL. Yogyakarta: Andi.
Wuryanto, E. (1998). Normalisasi Basis Data Relasional. (Skripsi). Universitas
Diponegoro, Semarang.
Silberschatz, dkk. (2011). Database System Concepts. (Sixth Edition). New York:
McGraw-Hill.
Solichin,dkk. (2010). MySQL Dari Pemula Hingga Mahir. Jakarta: Universitas
Budi Luhur.
Fathansyah. (2012). Basis Data. Bandung: Informatika.
Mata-Toledo, R. A. dan Cushman P. K. (1999). Schaum’s Outlines Dasar-dasar
Database Relasional. New York: McGraw-Hill.
Arikunto, S. (2007). Evaluasi Pendidikan Dasar-dasar Evaluasi. Jakarta: Bumi
Aksara.
Sudjana, N. (2008). Penilaian Hasil Proses Belajar Mengajar. Bandung: PT
Remaja Rosdakarya.
Wiraguna, A. (2012). Pengertian Online Website Sosial Media. [Online]. Diakses
dari http://aguswiraguna.blogspot.com/2012/11/pengertian-onlinewebsite
sosial-media.html#ixzz2JfBT0wI7.
Imam Maliki , 2015
PENERAPAN RELASI MATEMATIKA DALAM PROGRAM APLIKASI BASIS DATA UNTUK SISYEM UJIAN ONLINE
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Haryanto, B. (2004). Sistem Manajemen Basisdata. Bandung: Informatika.
Raharjo, B. (2011). Belajar Otodidak membuat Database menggunakan MySql.
Bandung: Informatika.
Rizky. S. (2011). Konsep Dasar Rekayasa Perangkat Lunak. Jakarta: Prestasi
Pustaka.
Oktavian, D.P. (2010). Menjadi Programmer Jempolan Menggunakan PHP.