Perancangan Pangkalan Data DFD level 2 Proses 2 Proses SMS sesuai keyword

a. Uraikan SMS berdasarkan spasi dan masukkan ke dalam array, sehingga elemen ke-2 adalah NIM , elemen ke-3 adalah kode mata kuliah b. Periksa NIM dan password ke dalam database c. Jika NIM dan password benar, uraikan elemen ke-3 berdasarkan tanda pagar sehingga diperoleh kode mata kuliah yang ingin diganti dan kode mata kuliah pengganti d. Periksa apakah kode mata kuliah pengganti boleh diambil atau tidak. Jika tidak mata kuliah pengga nti tidak boleh diambil, kirim SMS balasan berupa pesan kesalahan e. Jika NIM dan password salah, kirim balasan berupa pesan kesalahan login 4. Proses Panduan Proses ini bertujuan untuk memberikan panduan tentang format SMS yang benar. Misalnya jika pengguna pengirim pesan “PAN KRS”, maka sistem akan mengirimkan SMS balasan berupa tata cara pengisian KRS 5. Proses Informasi mata kuliah Proses ini bertujuan untuk memberikan informasi tentang sebuah mata kuliah. Format layanan ini adalah : infomkspasikode mata kuliah

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 Universitas Sumatera Utara 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 varchar9 NIM Nama varchar30 Nama lengkap password varchar20 Password semester varchar4 Semester yang dijalani DosenID char3 Kode Dosen wali kelas char1 Kelas Alamat varchar60 Alamat Mahasiswa tempatlahir varchar30 Tempat lahir tgllahir Date Tanggal lahir Telepon varchar14 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 Varchar6 KodeMK Kode Mata Kuliah NamaMK Varchar40 Nama Mata Kuliah Universitas Sumatera Utara Field Type Keterangan SKS int1 Beban SKS semester Char3 Semester DosenID Char3 Dosen kelas A DosenID2 Char3 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 varchar6 Kode Dosen NamaDosen varchar40 Nama Lengkap Alamat Varchar50 Alamat Int9 NIP NIM Password varchar20 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 : Universitas Sumatera Utara Tabel 3.4 Struktur Tabel untuk KRS dan KHS tblkrs Field Type Keterangan Int8 Id Nomor urut data NIM varchar9 NIM mahasiswa KodeMK Varchar6 Kode Mata Kuliah yang dimbil Nilai Char2 Nilai yang diperoleh Tahun ajaran varchar16 Tahun ajaran mata kuliah diambil Kelas Char1 Kelas Untuk membuat laporan KHS, sistem akan mengambil data berdasarkan field tahunajaran. Misalnya jika mahasiswa 031401060 ingin melihat nilai KHS semester ganjil 20052006, maka query yang dilakukan adalah: “select from tblkrs where NIM=’031401060’ and tahunajaran=’ganjil 20052006’ ” 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 Char4 Semester Semester I s.d VIII ganjilgenap Int1 0=genap, 1=ganjil Universitas Sumatera Utara 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 20062007 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 : Gambar 3.10 Tampilan Query Pengecekan Semester Mata Kuliah KTK213 Universitas Sumatera Utara 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 varchar16 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 Int11 Id Nomor urut NamaAdmin Varchar20 Nama lengkap administrator User Varchar10 User untuk login Password Varchar10 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, maka dengan sessionnya akan kadaluarsa dengan sendirinya setelah 1 jam, sehingga Universitas Sumatera Utara 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 Int11 Session Session User Varchar20 NIM pengguna Tanggal datetime Waktu saat pengguna login NIP varchar15 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.

3.5 Diagram Pangkalan Data