43
ajar, mengganti penganturan informasi mahasiswa itu sendiri. Administrator diberi kewenangan untuk melihat dan menutup seluruh database exelsa, termasuk database
password masing-masing pengguna exelsa. Administrator exelsa berwenang untuk mengakses database exelsa sampai tingkat terkecil untuk tabel, view, field, dan
kolom. Sesuai dengan teori confidentiality dan berdasarkan wawancara, tingkat kerahasiaan
pada exelsa tergolong baik. Karena informasi yang penting dan tergolong data private hanya dapat dilihat oleh pengguna yang sah, kontrol akses sudah sesuai dengan peran
masing-masing pengguna exelsa. Pengguna yang sah dari suatu sistem informasi, sebaiknya menjaga kerahasiaan data nya. Hal ini bertujuan sedikit mengurangi
kekhawatiran jika suatu saat terjadi penyadapan data oleh pihak yang tidak berwenang.
4.2.2 Pengujian Integrity
Anthony S cime 2010:6 mengatakan bahwa,” integrity refers to the
prevention and recovery from hardware and improper data modification”. Integritas mengacu pada pencegahan dan pemulihan dari perangkat keras dan modifikasi data
yang tidak tepat misalnya mahasiswa A memodifikasi atau mengganti data mahasiswa B tanpa sepengetahuan mahasiswa B. Integrity mencakup konsep
integritas data, maka data diproteksi dari penghapusan dan kerusakan ketika data tersebut berada dalam database. Jika data yang ada dalam database suatu instansi
44
tidak valid maka akan mempengaruhi operasi yang ada dalam instansi tersebut. Jika integritas data dilanggar maka data tersebut menjadi tidak sah sehingga tidak
bermanfaat lagi. Pengujian aspek integrity dilakukan dengan mengamati dan menganalisa
relasi pada tabel yang digunakan exelsa untuk menyimpan data. Hal ini bertujuan untuk melihat apakah data yang ada di exelsa terintegrasi dengan baik? Sebagai
contoh tabel mahasiswa berelasi dengan tabel MataKuliah, menggunakan relasi many to many, satu mahasiswa bisa menempuh banyak MataKuliah, satu mataKuliah bisa
ditempuh banyak mahasiswa.
Mahasiswa Mata kuliah
menempuh Nama_mhs
NIM kodeMtk
NamaMtk
Gambar. 4.2.2.1 ER Diagram mahasiswa dan mataKuliah
45
mhs5314 menempuh
mtk5314 nirm
Nomor_ mhs
Alamat_skr email
Setara1 Syarat1
MN1 nama_mtk_ing
Kd_mtk Nama_mtk
SKS
DsnKoordinator SKSLapangan
Jenismtk SKSPraktikum
Nama_ mhs Kota_ lahir
Tempat_ lahir
Tgl_ lahir
No_tlp_ mhs Alamat_asal
Kd_ agama JP
Gambar 4.2.2.2 ER Diagram mhs5314 dan mtk5314
46
mtk5314 memiliki
kr531420122 Kd_mtk
Jenismtk JP
sks Nama_mtk_ing
Nama_mtk
Jenismtk Kd_mtk
1 Nomor_mhs
seksi tempuh
nilai ulang
nilaiRemidi tugas1
usip1 uas
Gambar 4.2.2.3 ER Diagram mtk5314 dan kr531420122
mtk5314 memiliki
jw531420122 Kd_mtk
Jenismtk JP
sks Nama_mtk_ing
Nama_mtk
Jenismtk Kd_mtk
Smt_tw NPP
seksi
ruang1 hari1
jam1 tgl_uts
jam_uts rng_uts
Tgl_uas peserta
jam_uas
47
Gambar 4.2.2.4 ER Diagram mtk5314 dan jw531420122
mhs5314 memiliki
kr531420122 nomor_ mhs
kd_ agama Alamat_asal
kota_lahir nama_mhs
nirm
tempat_ lahir Nomor_mhs
1 1
Kd_mtk
Tgl_ lahir nilai
seksi
nilai
Gambar 4.2.2.5 ER Diagram mhs5314 dan kr531420122
48
kr531420122 memiliki
jw531420122 Kd_mtk
ulang nilai
tempuh seksi
Nomor_mhs
nilaiRemidi Kd_mtk
1 Smt_tw
NPP
ruang1 hari1
jam1 tgl_uts
jam_uts rng_uts
Tgl_uas peserta
jam_uas Tgl_lahir
seksi
Gambar 4.2.2.6 ER Diagram kr531420122 dan jw531420122
49
mhs5314 memiliki
snd5314 nomor_mhs
kd_agama Alamat_asal
kota_lahir nama_mhs
nirm
tempat_lahir Nomor_mhs
1 1
sandi
Tgl_lahir
Gambar 4.2.2.7 ER Diagram mhs5314 dan snd5314
50
mhs5314 memiliki
photomhs5314 nomor_mhs
kd_agama Alamat_asal
kota_lahir nama_mhs
nirm
tempat_lahir Nomor_mhs
1 1
photo
Tgl_lahir
Gambar 4.2.2.8 ER Diagram mhs5314 dan photomhs5314 Berdasarkan wawancara dan observasi, relasi tabel pada situs exelsa
termasuk dalam kategori baik, karena relasi tabel dalam database exelsa sudah sesuai dengan teori database. Conolly2005:5 mengatakan bahwa, “In the relational model,
relations are used to hold information about the objects to be represented in the database.
”. Dalam model relasional, relasi digunakan untuk menyimpan informasi tentang objek yang akan terwakili dalam database. Relasi digunakan untuk
memudahkan pengembang untuk menyajikan data dalam database. Suatu relasi dipresentasikan sebagai dua tabel dua dimensi di mana baris tabel tersebut sesuai
51
dengan catatan dan kolom tabel sesuai dengan atribut. Atribut dapat muncul dalam urutan apapun dalam relasi yang sama karena menyampaikan makna yang sama.
Sebagai contoh, informasi mengenai Pegawai berelasi dengan idPegawai. Relasi pegawai dengan idPegawai one to one relation, satu pegawai mempunyai satu
idPegawai. Tabel pegawai mempunyai kolom dengan atribut kdPegawai, npp, nppl, nip, nama_peg, gelar_depan, gelar_blk, alamat, agama, email. Demikian pula
informasi mengenai idPegawai mempunyai kolom dengan atribut npp, username, password, kdPegawai. Atribut kdPegawai pada tabel Pegawai menjadi primary key
sedangkan pada tabel pegawai menjadi foreign key.
Pegawai punya
idPegawai 1
nip nppl
alamat email
agama username
npp kdPegawai
password
Gelar_blk Gelar_depan
Nama_peg npp
1 kdPegawai
Gambar 4.2.2.9 ER Diagram Pegawai dan idPegawai
52
jw531420122 kd_mtk
smt_tw NPP
Seksi ruang1
hari1 jam1
tgl_uts jam_uts
rng_uts tgl_uas
jam_uas rng_uas
kku kap_pes
peserta kr531420122
nomor_mhs kd_mtk
seksi tempuh
nilai ulang
nilaiRemedi isBolehRemedi
isDaftarRemedi tugas1
usip1 uas
tglUploadDosen tglUploadSekre
Tabel 4.2.2.1 Jw531420122 dan kr531420122
Tabel 4.2.2.1 merupakan contoh tabel view pada exelsa, karena pada kedua tabel tersebut tidak terdapat primary key
atau foreign key. Tabel view dihasilkan dari sebuah query terhadap relasi dasar. Tabel view menjamin keamanan data dengan cara
sederhana. Jika pihak yang tidak berwenang mengakses database melalui view, mereka tidak dapat melihat atau memanipulasi data, dengan demikian data akan
menjadi aman.
mhs5314
PK nomor_mhs
nirm nama_mhs
kota_lahir tempat_lahir
tgl_lahir kd_agama
no_telp_mhs nama_ortu
alamat_skr mtk5314
PK kd_mtk
nama_mtk nama_mtk_ing
SKS JP
Jenismtk SKSPraktikum
Setara1 syarat1
MN1 Singkatan
bareng1 mhs5314
PK nomor_mhs
nirm nama_mhs
kota_lahir tempat_lahir
tgl_lahir kd_agama
no_telp_mhs nama_ortu
alamat_skr snd5314
PK Sandi
Nomor_mhs
photomhs5314 nomor_mhs
photo
53
Tabel 4.2.2.2 mhs5314, mtk5314 snd5314 dan photomhs5314
Tabel 4.2.2.2 merupakan tabel mahasiswa5314, mataKuliah5314. Tabel mhs5314 berelasi dengan tabel snd5314. Pada tabel mhs5314 atribut nomor_mhs
menjadi primary key sedangkan pada tabel snd5314 atribut nomor_mhs menjadi foreign key. Hal ini menunjukkan integritas referensial referential integrity
terpenuhi, bahwa foreign key bisa berada di salah satu tabel, dan bisa merujuk ke primary key dari beberapa tabel dalam database. Tabel photomhs5314 merupakan
tabel view, tabel tersebut tidak mempunyai primary key dan foreign key.
db_forum_kul PK
id_forum kmk
seksi username
isipesan tgl
status tahun_ajar
semester
gammu
PK Version
inbox
PK ID
UpdatedInDB ReceivingDateTime
Text SenderNumber
Coding UDH
SMSCNumber Class
TextDecoded RecipientID
Processed
Tabel 4.2.2.3 Tabel db_forum_kul, gammu, inbox
Tabel 4.2.2.3 untuk bagian yang pertama merupakan tabel db_forum_kul digunakan untuk menyimpan informasi yang tersimpan dalam forum_kuliah
mahasiswa. Semua database forum kuliah pada exelsa tersimpan pada tabel db_forum_kul. Gammu merupakan aplikasi yang digunakan untuk mengirim sms
54
gateaway. Tabel inbox digunakan untuk menampung sms gateaway yang masuk ke sistem.
outbox
PK ID
UpdatedInDB InsertIntoDB
SendingDateTime SendBefore
sendAfter Text
DestinationNumber Coding
UDH Class
TextDecoded MultiPart
RelativeValidity SenderID
SendingTimeOut DeliveryReport
CreatorID outbox_multipart
PK ID
Text Coding
UDH Class
TextDecoded SequencePosition
Tabel 4.2.2.4 outbox dan outbox_multipart
Tabel 4.2.2.4 merupakan tabel outbox yang digunakan untuk menampung sms gateaway yang dikirim ke seluruh pengguna exelsa.
agenda
PK ag_id
ag_title ag_desc
ag_date_event ag_date_created
ag_show ag_img
p3mp_armo
PK armo_id
armo_type armo_title
armo_desc armo_cat
armo_filename armo_date_created
armo_by
Tabel 4.2.2.5 agenda, p3mp_armo
55
Tabel agenda digunakan untuk menyimpan daftar agenda yang ada di exelsa. Semua database agenda pada exelsa tersimpan pada tabel agenda. Tabel ini tidak
berelasi dengan tabel apapun. Berisi judul agenda, deskripsi agenda, tanggal diadakannya agenda, tanggal pembuatan agenda, gambar agenda. Sedangkan tabel
p3mp_armo digunakan untuk menyimpan artikel yang tersimpan pada aplikasi e- learning exelsa.
p3mp_bimbinganforum
PK id_bimform
id_bimbingan nim_npp
nama_mhs_dsn komentar
tgl_buat nm_file
file_server type_file
ukuran_file p3mp_bimbingan
PK id_bimbingan
npp nim
nm_dsn nm_mhs
tgl_buat tgl_akhiri
judul_bimbingan
Tabel 4.2.2.6 p3mp_bimbingan, p3mp_bimbinganforum
Tabel p3mp_bimbingan digunakan untuk menyimpan informasi pada daftar bimbingan mahasiswa dengan dosen pembimbing. Tabel p3mp_bimbingan berelasi
dengan tabel
p3mp_bimbinganforum. Atribut
id_bimbingan pada
tabel p3mp_bimbingan menjadi primary key sedangkan pada tabel p3mp_bimbinganforum
atribut id_bimbingan menjadi foreign key. Hal ini menunjukkan integritas referensial
56
referential integrity terpenuhi, bahwa foreign key bisa berada di salah satu tabel, dan bisa merujuk ke primary key dari beberapa tabel dalam database.
p3mp_chatmhsgabung id_dosen
kd_mtk seksi
nim_mhs p3mp_chatonline
id_dosen kd_mtk
seksi ket_chat
time_out
p3mp_chatpesan id_dosen
kd_mtk seksi
nm_mhs tgl_kirim
pesan
Tabel 4.2.2.7 p3mp_chatmhsgabung, p3mp_chatonline, p3mp_chatpesan
Tabel p3mp_chatmhsgabung, p3mp_chatonline, p3mp_chatpesan merupakan tabel temporary. Tabel temporary digunakan untuk menampung catatan aktivitas
pengguna yang aktif.
p3mp_conmateri
PK id_conmateri
id_katmateri nama_materi
jenis_materi url_materi
tgl_materi deskripsi
Tabel 4.2.2.8 p3mp_conmateri
Tabel p3mp_conmateri digunakan untuk menyimpan informasi mengenai materi kuliah yang tersedia di exelsa. Tabel ini tidak berelasi dengan tabel yang lain.
57
p3mp_bahanajar
PK id_bhnajar
id_katba tgl_bhnajar
judul_file nama_file
tipe_file file_server
id_kmk nm_matkul
id_seksi tipe_bhnajar
status_bhnajar size_bhnajar
id_npp deskripsi
stts_umum prodi
semester thn_ajar
dr_moodle id_ba_moodle
encode_ba_moodle
p3mp_dsn_bhnajar
PK id_dsn_bhnajar
npp_dsn nama_dsn
id_bhn_ajar tgl_upload
p3mp_dsnonline id_dosen
timeout
Tabel 4.2.2.9 p3mp_bahanajar, p3mp_dsn_ajar, p3mp_dsnonline
Tabel p3mp_bahanajar digunakan untuk menyimpan database bahan ajar mata kuliah tertentu. Bahan ajar mahasiswa satu dengan yang lain berbeda.
Karena mata kuliah yang ditempuh tidak sama. Tabel p3mp_bahanajar berelasi dengan tabel p3mp_dsn_bhnajar. Pada tabel p3mp_bahanajar atribut id_bhn_ajar
sebagai primary key sedangkan pada tabel p3mp_dsn_bhnajar atribut id_bhn_ajar sebagai foreign key. Hal ini menunjukkan integritas referensial referential integrity
terpenuhi, bahwa foreign key bisa berada di salah satu tabel, dan bisa merujuk ke
58
primary key dari beberapa tabel dalam database. Tabel p3mp_dsnonline hanya tabel temporari yang digunakan untuk menyimpan aktivitas status dosen yang aktif.
Selain tabel di atas juga ada tabel yang merujuk ke tabel lain, misalnya tabel p3mp_tugasonline
merujuk ke
tabel p3mp_tugasonlinej.
Pada tabel
p3mp_tugasonline id_to
menjadi primary
key, sedangkan
pada tabel
p3mp_tugasonlinej id_to menjadi foreign key. Hal ini menunjukkan integritas referensial referential integrity terpenuhi, bahwa foreign key bisa berada di salah
satu tabel, dan bisa merujuk ke primary key dari beberapa tabel dalam database.
p3mp_tugasonline
PK id_to
subjct_to tgl_to
tgl_buat_to lm_to
status_to isi_to
p3mp_tugasonlinej
PK id_jwbto
id_to jawaban_to
tgl_simpan id_mhs
nama_file
Tabel 4.2.2.10 p3mp_tugasonline, p3mp_tugasonlinej
Conolly2005:5 mengatakan, “A transaction is a logical unit of work on the database.” Sebuah transaksi merupakan unit logis yang bekerja dalam
database. Perintah SQL merupakan unit logis yang bisa bekerja dalam database, misalnya perintah INSERT, UPDATE, DELETE. Tujuan dari transaksi data adalah
mentransformasikan database dari keadaan konsisten yang satu ke keadaan konsisten
59
yang lain. Berdasarkan wawancara dengan administrator exelsa, sebagian besar transaksi transaksi di exelsa berhasil, jarang mengalami kegagalan transaksi.
Transaksi di exlesa mengalami kegagalan jika terjadi koneksi internet yang lambat, dan ketika session habis tidak bisa commit. Jika transaksi commit maka database
mencapai suatu keadaan konsisten yang baru. Jika transaksi gagal, tidak bisa di rollback . Jadi ketika suatu transaksi salah, maka harus mengulang dari awal
transaksi. Transaksi di exelsa sudah memenuhi sifat dasar transaksi menurut Haerder and
Reuter, 1983 antara lain : -
Atomicity : Jika satu bagian dari transaksi gagal, maka seluruh transaksi gagal.
- Consistency : Harus mentransformasikan database dari satu keadaan
konsisten yang satu ke keadaan konsisten yang lain. Misal nya seorang pengguna exelsa mengupload tugas online, dan programmer melakukan
kesalahan logika transaksi maka database dalam keadaan tidak konsisten. DBMS tidak akan bisa mendeteksi kesalahan ini dan memperbaikinya.
Berdasarkan keterangan wawancara, transaksi pada aplikasi e-learning exelsa sebagian besar berhasil. Jika terjadi transaksi yang tidak commit maka harus
diulang dari awal untuk mentransformasikan database ke keadaan konsisten.
60
- Isolation : Pengaruh sebagian dari transaksi yang tidak lengkap seharusnya
tidak terlihat oleh transaksi yang lain. Pada aplikasi e-learning exelsa tidak ada sifat transaksi isolation karena transaksi di exelsa independent tidak saling
berhubungan. Transaksi yang sedang berjalan tidak saling menunggu dari transaksi yang sebelumnya.
-
Durability : Pengaruh dari transaksi yang sudah commit adalah permanen dan tidak boleh hilang karena kegagalan berikutnya
.
Jika ada 40 anak mengisi kuisioner 1 mahasiswa mengalami kegagalan, maka 39 mahasiswa yang lain
masih bisa mengisi kuisioner tersebut.
ACTIVE PARTIALLY
COMMITED
FAILED
ABORT
COMMITED
ABORTED
Gambar 4.2.2.10 Diagram transaksi pada exelsa
61
Akses database exelsa sampai tingkat terkecil hanya bisa dilakukan oleh administrator exelsa. Administrator exelsa diberi kewenangan untuk mengelola
seluruh database exelsa, memodifikasi database aplikasi exelsa. Database exelsa tersimpan di server yang berbeda dengan web server, jadi hacker tidak bisa
membobol database exelsa. Pengelolaan database exelsa tidak menggunakan concurrency control.
Database exelsa yang tersimpan di database server di exelsa tidak menggunakan teknik locking dan two phase locking 2 PL. Prosedur locking pada exelsa tidak
berlaku, karena dapat menyebabkan pengguna yang lain menunggu ketika ingin mengakses exelsa. Pengguna exelsa bukan administrator hanya melihat atau
membaca data maka akses tersebut relatif mudah, karena tanpa saling mengganggu satu sama lain.
Prosedur update,delete database kemahasiswaan pada exelsa disesuaikan dengan database yang ada pada BAPSI, karena database exelsa mengadopsi dari
database SIA BAPSI. Misalnya jika ada revisi KRS, data KRS sebelum direvisi sudah masuk ke database P3MP, setelah direvisi ada beberapa data yang tidak segera
diupdate ke P3MP, hal ini mempengaruhi integritas sistem. Conolly2005:5 menga
takan bahwa, “Entity integrity, in a base relation , no attribute of a primary key can be null”
.
Tabel pada database p3mp tidak ada atribut primary key bernilai null, primary key digunakan untuk identifikasi tuple yang unik.
62
Maka hal ini menunjukkan integritas entitas atau entity integrity pada database p3mp terpenuhi.
Tabel p3mp_kuesionerkultitle mempunyai primary key id_kuesionerkul, sedangkan atribut id_kuesionerkul pada tabel p3mp_kuesionermhs, p3mp_kuesionerdsn menjadi
foreign key. Hal ini menunjukkan integritas referensial atau referential integrity terpenuhi, bahwa foreign key bisa berada di salah satu tabel, dan bisa merujuk ke
primary key dari beberapa tabel dalam database. Pada tabel pegawai, personalia kolom Jns_klm bertipe data char, berisi angka 1 dan 2.
Sebelumnya angka 1 dan 2 di definisikan pada tabel kamus angka 1 mendefinisikan wanita dan angka 2 mendefinisikan pria. Pada tabel pegawai kolom Jns_klm dicoba
memasukkan huruf W lalu disimpan dalam database, maka tidak terjadi penolakan dalam database. Hal ini dikarenakan tipe data kolom Jns_klm char, jika diisi huruf
atau angka maka sistem akan menyimpan dalam database. Domain integrity tergolong rendah. Sebaiknya jenis kelamin bertipe numeric, supaya jenis nilainya sama dan
tidak dapat dipecah lagi.
63
Pada exelsa tidak menggunakan store procedure dalam pembuatan tabel dalam database, dengan menggunakan store procedure bisa terlihat susunan tabel secara
jelas, jika tabel A terhapus apakah tabel yang berelasi dengan tabel A ikut terhapus.
4.2.3 Pengujian Availability