ANALISIS DAN PERANCANGAN APLIKAS
3.4 Perancangan Pangkalan Data
Aplikasi yang akan dibuat, baik yang berbasis web, maupun yang berbasis SMS, menggunakan pangkalan data yang sama,sehingga ketika perubahan data KRS dilakukan lewat SMS akan dapat langsung dilihat lewat web. Namun aplikasi berbasis SMS mempunyai pangkalan data tambahan yang mempunyai fungsi sebagai berikut :
1. Sebagai tempat penyimpanan SMS balasan sementara sebelum dikirim
2. Sebagai tempat penyimpanan SMS yang masuk sehingga memory kartu SIM tidak akan penuh
Struktur Tabel Mahasiswa
Pada tahap perancangan ini, tabel mahasiswa yang berguna untuk menyimpan data mahasiswa dan diberi nama tblmhs. Field atau kolom yang dibuat hanya kolom yang penting-penting saja, sedangkan kolom-kolom lainnya seperti nama ayah, nama ibu, tidak dimasukkan kedalam desain database dan strukturnya adalah sebagai berikut :
Tabel 3.1 Struktur Tabel Mahasiswa (tblmhs)
Field Type Keterangan
NIM varchar(9) NIM
Nama varchar(30) Nama lengkap
password varchar(20) Password
semester varchar(4) Semester yang dijalani
DosenID char(3) Kode Dosen wali
kelas char(1) Kelas
Alamat varchar(60) Alamat Mahasiswa tempatlahir varchar(30) Tempat lahir
tgllahir Date Tanggal lahir
Telepon varchar(14) Nomor telepon
Jk Enum (“L”,”P” ) Jenis kelamin
Struktur Tabel Mata Kuliah
Tabel untuk menyimpan kode mata kuliah diberi nama tblmk, dan mempunyai struktur sebagai berikut :
Tabel 3.2 Struktur Tabel Mata Kuliah (tblmk)
Field Type Keterangan
Varchar(6)
KodeMK Kode Mata Kuliah
Field Type Keterangan
SKS int(1) Beban SKS
semester Char(3) Semester
DosenID Char(3) Dosen kelas A
DosenID2 Char(3) Dosen kelas B
Struktur Tabel Dosen
Tabel untuk menyimpan data dosen diberi nama tbldosen, namun field-field yang dirancang hanya field yang berhubungan dengan proses pengisian KRS dan KHS saja, sedangkan field untuk data pribadi seperti tempat tanggal lahir, nomor telepon, nama ibu, tidak disertakan karena data tersebut bersifat rahasia. Struktur tabel dosen dapat dilihat pada tabel di bawah ini :
Tabel 3.3 Struktur Tabel Dosen (tbldosen)
Field Type Keterangan
KodeDosen varchar(6) Kode Dosen NamaDosen varchar(40) Nama Lengkap
Alamat Varchar(50) Alamat
Int(9)
NIP NIM
Password varchar(20) Password
Struktur Tabel KRS dan KHS
Tabel untuk KRS dan KHS menggunakan tabel yang sama dan diberi nama tblkrs. Tabel tersebut mempunyai struktur sebagai berikut :
Tabel 3.4 Struktur Tabel untuk KRS dan KHS (tblkrs)
Field Type Keterangan
Int(8)
Id Nomor urut data
NIM varchar(9) NIM mahasiswa
KodeMK Varchar(6) Kode Mata Kuliah yang dimbil
Nilai Char(2) Nilai yang diperoleh
Tahun ajaran varchar(16) Tahun ajaran mata kuliah diambil
Kelas Char(1) Kelas
Untuk membuat laporan KHS, sistem akan mengambil data berdasarkan field tahunajaran. Misalnya jika mahasiswa 031401060 ingin melihat nilai KHS semester ganjil 2005/2006, maka query yang dilakukan adalah: “select * from tblkrs where
NIM=’031401060’ and tahunajaran=’ganjil 2005/2006’”
Dalam proses pengisian KRS, aplikasi akan melakukan query insert
(penyisipan) setelah terlebih dahulu dilakukan diperiksa apakah mata kuliah tersebut boleh diambil atau tidak. Misalnya jika mahasiswa 031401060 mengambil mata kuliah KTL311, KTB414, KLC411, maka akan dilakukan 3 kali query insert.
Struktur Tabel Semester
Tabel semester berguna untuk menyimpan data semester I sampai dengan VIII. Tabel ini diberi nama tblsemester dan mempunyai struktur sebagai berikut :
Tabel 3.5 Struktur Tabel Semester (tblsemester)
Field Type Keterangan
Char(4)
Semester Semester I s.d VIII
Nilai 0 (nol) pada field ganjilgenap menandakan bahwa semester tersebut adalah semester genap, dan nilai 1 menandakan semester ganjil. Tabel ini sangat penting untuk memastikan bahwa mata kuliah semester ganjil hanya boleh diambil di semester ganjil saja kecuali tugas akhir. Misalnya, pada saat tugas akhir ini disusun (semester genap 2006/2007) mahasiswa 031401060 mengambil mata kuliah KTD106 yaitu mata kuliah Pengantar Teknologi Informasi yang dijadwalkan pada semester III. Hal ini tentunya tidak diizinkan karena mata kuliah KTD106 ini hanya boleh diambil pada semester ganjil saja. Untuk melakukan proses pengecekan ini, aplikasi akan melakukan query sebagai berikut :
“select tblsemester.ganjilgenap from tblmk,tblsemester where
tblmk.semester=tblsemester.semester and tblmk.KodeMK="KTD106" and
tblsemester.ganjilgenap='0' “. Query ini tidak akan mengembalikan sebuah row
seperti yang terlihat pada gambar 3.9.
Gambar 3.9 Tampilan Query Pengecekan Semester untuk Mata Kuliah KTD106
Namun jika mata kuliah yang diambil adalah KTK 213 yaitu mata kuliah Jaringan Komputer yang dijadwalkan pada semester IV, maka query akan mengembalikan sebuah row seperti yang terlihat pada gambar di bawah ini :
Struktur Tabel Konfigurasi
Tabel ini bertujuan untuk menyimpan data konfigurasi seperti semester saat ini, dan batas akhir pengisian KRS. Tabel ini hanya boleh diupdate oleh administrator
aplikasi. Tabel ini diberi nama config dengan struktur sebagai berikut :
Tabel 3.6 Struktur Tabel Konfigurasi (config)
Field Type Keterangan
varchar(16)
Tahunjaran Semester I s.d VIII
Batas date Batas akhir pengisian KRS
Struktur Tabel Administrator
Tabel ini bertujuan untuk menyimpan data administrator yang mempunyai hak akses ke dalam halaman administrator. Tabel ini diberi nama admin dengan struktur sebagai berikut :
Tabel 3.7 Struktur Tabel Administrator (admin)
Field Type Keterangan
Int(11)
Id Nomor urut
NamaAdmin Varchar(20) Nama lengkap administrator
User Varchar(10) User untuk login
Password Varchar(10) Password untuk login
Struktur Tabel Session
Tabel ini bertujuan untuk menyimpan data session pengguna yang sedang login. Tabel ini menjaga agar tidak data tidak bisa injeksi dari pengguna yang lain dan juga untuk menghitung lama waktu login. Jika pengguna login lebih dari 1 jam, maka dengan sendirinya sistem akan meminta untuk login kembali, dan jika pengguna lupa log-out,
sessionnya tidak akan bisa digunakan oleh orang yang tidak bertanggung jawab. Tabel ini diberi nama tblsession dengan struktur sebagai berikut :
Tabel 3.8 Struktur Tabel Session (tblsession)
Field Type Keterangan
Int(11)
Session Session
User Varchar(20) NIM pengguna
Tanggal datetime Waktu saat pengguna login
NIP varchar(15)
Untuk menyimpan NIP untuk dosen yang login
Nilai session diletakkan pada parameter URL setiap kali pengguna mengakses halaman-halaman aplikasi. Dan setiap kali halaman-halaman tersebut dibuka, maka aplikasi terlebih dahulu akan melakukan pengecekan apakah nilai session yang dibawa oleh parameter URL tersebut sudah terdaftar pada tabel tblsession atau tidak. Jika sudah terdaftar, maka pengguna diizinkan untuk membuka halaman yang akan diakses tadi. Namun jika ternyata tidak terdaftar, maka pengguna akan dialihkan ke halaman login.