• Tidak ada hasil yang ditemukan

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.

Dokumen terkait