Pengujian Integrity Proses Pengujian .1 Pengujian confidentiality

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