Penerapan Konsep Client-Server pada Perancangan Aplikasi Pengisian Kartu Rencana Studi Dan Kartu Hasil Studi Berbasis Web Dan SMS
PENERAPAN KONSEP CLIENT-SERVER PADA PERANCANGAN
APLIKASI PENGISIAN KARTU RENCANA STUDI DAN
KARTU HASIL STUDI BERBASIS WEB DAN SMS
SKRIPSI
KURNIAWAN
031401060
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2007
(2)
PENERAPAN KONSEP CLIENT-SERVER PADA PERANCANGAN
APLIKASI PENGISIAN KARTU RENCANA STUDI DAN
KARTU HASIL STUDI BERBASIS WEB DAN SMS
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
KURNIAWAN
031401060
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2007
(3)
PERSETUJUAN
Judul : PENERAPAN KONSEP CLIENT SERVER PADA
PERANCANGAN APLIKASI PENGISIAN KARTU RENCANA STUDI DAN
KARTU HASIL STUDI BERBASIS WEB DAN SMS
Kategori : SKRIPSI
Nama : KURNIAWAN
Nomor Induk Mahasiswa : 031401060
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 2007 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc, M.Sc Prof. Dr. Muhammad Zarlis
NIP 132299349 NIP 131570434
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Prof. Dr. Muhammad Zarlis NIP 131570434
(4)
PERNYATAAN
SISTEM KEAMANAN FILE DAN FOLDER DATA MENGGUNAKAN ALGORITMA RIJNDAEL
DENGAN KUNCI SIMETRIK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2007
IRA MAISITA NIM 021401053
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Prof. Dr. Muhammad Zarlis dan Maya Silvi Lydia, B.Sc, M.Sc, selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus, S.Si. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU, pegawai di FMIPA USU. Akhirnya, tidak terlupakan kepada yang tersayang ayahanda Drs.Sartoni AB, ibunda Amrina A, kakanda dr. Ari Gusnita, abangda dr. Eko Waskito, adinda Yulia Lestari, dan keponakan tersayang Aqilah Lutfiyah Waskito, yang berjasa dan selalu sabar dalam memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Semoga Allah SWT akan membalasnya, teman-teman terbaik Dui Rifdayani, S.Kom, Lili Ayu Wulandari, S.Si, Febilautri Hutagaol, S.Kom, Adi Novrianto dan rekan-rekan kuliah yang telah banyak memberikan bantuan kepada penulis.
(6)
ABSTRAK
Penulisan tugas akhir ini bertujuan untuk membentuk suatu sistem keamanan data dan mengimplementasikannya dalam sebuah aplikasi perangkat lunak dengan menggunakan metode algoritma kriptografi bernama Rijndael yang memiliki kemampuan untuk mengamankan data dan informasi yang tersimpan di komputer dari gangguan para kriptanalis. Sistem aplikasi yang dibangun menggunakan perangkat lunak Delphi. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan aplikasi tersebut meliputi tahapan analisis permasalahan yang terdiri dari analisis algoritma, file dan folder data dengan tambahan byte informasi yang dapat membantu penulis dalam melakukan analisis, perancangan aplikasi yang melibatkan algoritma dan flowchart dengan desain antar muka aplikasi yang di tampilkan dalam bentuk implementasi, sehingga aplikasi yang terbentuk menjadi mudah dipergunakan dan memiliki fungsi yang optimal. Untuk memastikan bahwa seluruh fungsi yang terdapat di dalam sistem aplikasi algoritma Rijndael bekerja secara optimal, maka sistem aplikasi tersebut diuji dan dibentuk kesimpulan akhir.
(7)
FILE SECURITY SYSTEM AND FOLDER DATA USING RIJNDAEL ALGORITHM
WITH SIMETRIK KEY
ABSTRACT
The writing of this final task has the objective to form data security system and implementing it on one software application using algorithm method of cryptography named Rijndael having the capability to secure the data and information saved in computer from any interruption of criptanalists. The application system is built using Delphi software. The methodology of forming the system uses waterfall model approach. The phases in writing forming application process includes problem analysis phase consisting of algorithm, file and folder data with byte information additional. It assists the writer in performing the analysis, application design, algorithm, and flowchart with design among those surface application shown up in the implementation. It is intended to get easy use and optimum function. In assuring that all functions on the algorithm application system of Rijndael work optimally, the application system must be tested and then the final result is made.
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penulisan Tugas Akhir 3
1.5. Manfaat Penulisan Tugas Akhir 3
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
Bab 2 Tinjauan Teoritis 6
2.1. Definisi Kriptografi 6
2.2. Istilah-istilah di dalam Kriptografi 7
2.2.1 Plaintext 7
2.2.2 Ciphertext 8
2.2.3 Enkripsi 8
2.2.4 Dekripsi 8
2.2.5 Kriptosistem 8
2.3. Macam-Macam Algoritma Kriptografi 9
2.3.1 Algoritma Simetri 9
2.3.2 Algoritma Asimetri 11
2.4. Cipher 13
2.4.1. Stream Cipher 13
2.4.2. Block Cipher 14
2.5. Mode Operasi Block Cipher 15
2.5.1. Mode Operasi ECB 15
2.5.2. Mode Operasi CBC 16
2.5.3. Mode Operasi CFB 17
2.5.4. Mode Output Feedback 17
2.6. Field GF(28) 18
2.6.1 Penjumlahan dalam GF (28) 18
2.6.2 Pembagian dalam GF (28) 19
(9)
2.7. Algoritma Rijndael 20
2.7.1. Algoritma Enkripsi Rijndael 21
2.7.1.1. Mengekspansi kunci (key Expansion) 23
2.7.1.2. Melakukan penjumlahan bit antara blok plaintext dengan round key 25
2.7.1.3. Melakukan transformasi putaran sebanyak Nr kali. 25
2.7.2. Algoritma dekripsi Rijndael 27
2.8 Keamanan Algoritma 29
Bab 3 Analisis Permasalahan Algoritma Rijndael 31 3.1. Analisis Algoritma Rijndael 31 3.1.1 Proses Enkripsi Rijndael 31
3.1.2 Proses Dekripsi Rijndael 52
3.2. Analisis File dan Folder Data 53
3.3. Analisis hubungan besar file dengan waktu enkripsi dan dekripsi 58
3.4. Flowchart 59 Bab 4 Perancangan dan Implementasi Sistem 61 4.1. Perancangan 61 4.1.1Perancangan Antar Muka Pemakai 61 4.1.1.1 Rancangan Form Tampilan Awal (AES) 63
4.1.1.2 Rancangan Form Tampilan Menu Utama (AES) 63
4.1.1.3 Rancangan Form Tampilan Menu Enkripsi File (AES) 64 4.1.1.4 Rancangan Form Tampilan Informasi (AES) 65
4.1.1.5 Rancangan Form Tampilan Menu Utama (AES) 66
4.1.1.4 Rancangan Form Tampilan Menu Enkripsi Folder (AES) 66
4.1.1.7 Rancangan Form Tampilan Pengujian AES 67
4.2 Implementasi 68
4.2.1 Tahap-Tahap Implementasi 68
4.2.2 Komponen Utama dalam Implementasi 69
4.2.3 Pengujian dan Tampilan 70
4.2.3.1 Proses Enkripsi dan Dekripsi File Data Dalam Kode ASCII 70
4.2.3.2 Proses Enkripsi dan Dekripsi Folder Data 76
4.2.3.3 Proses Hasil Enkripsi /Dekripsi Algoritma Rijndael 78
Bab 5 Penutup 82 5.1. Kesimpulan 82 5.2. Saran 83 Daftar Pustaka 84 Lampiran A: Laporan Hasil Enkripsi & Dekripsi Algoritma Rijndael 85
Dengan Kode ASCII 129
(10)
(11)
PERNYATAAN
PENERAPAN KONSEP CLIENT SERVER PADA PERANCANGAN APLIKASI PENGISIAN KARTU RENCANA STUDI DAN KARTU HASIL STUDI
BERBASIS WEB DAN SMS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, September 2007
Kurniawan 031401060
(12)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang ditetapkan.
Ucapan terima kasih saya sampaikan kepada Dr. M. Zarlis, M. Kom. dan Syahriol Sitorus, S.Si., M.I.T. selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan professional telah diberikan kepada saya agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer Dr. M. Zarlis, M. Kom. dan Syahril Efendi, S.Si., M.I.T., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, Semua dosen pada Departemen Matematika FMIPA USU, pegawai di FMIPA USU, dan rekan-rekan kuliah. Akhirnya, tidak terlupakan kepada bapak, ibu dan semua ahli keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
(13)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah kurnia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih yang tak terhingga atas curahan kasih sayang dan dukungannya baik materil dan spirituil kepada keluarga tercinta, Ayah (Karminas) dan Ibu (Alismar) Adikku (Jayusniati) yang telah banyak memberikan restu, doa, motivasi serta dukungan kepada penulis.
Ucapan terima kasih juga penulis sampaikan kepada Prof. Dr. Muhammad Zarlis dan Maya Silvi Lydia, B.Sc, M.Sc, selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus, S.Si. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU, dan pegawai di FMIPA USU. Ucapan terima kasih juga ditujukan kepada Bapak Syahril Efendi, SSi.,MIT dan Bapak Drs.Nasruddin M.Noor, M.Eng.Sc selaku dosen penguji. dan tidak lupa kepada Bang Sofyan,Bang Efri, Iwan Kurniawan, Frengky, Hariadi, Krisna, Ade Kurniawan yang menjadi teman keseharian penulis di tempat tinggal dan dan rekan-rekan kuliah. Semoga Tuhan Yang Maha Esa yang akan membalasnya.
(14)
ABSTRAK
Internet adalah layanan yang menggunakan konsep client-server . Client dari berbagai belahan dunia dapat mengakses dokumen yang tersimpan di suatu server dengan mengabaikan jarak antara keduanya. Seiring perkembangannya yang demikian pesat, berbagai aplikasi mulai dikembangkan untuk memberi kemudahan bagi manusia dalam menjalankan aktifitasnya. Manusia, dalam hal ini mahasiswa, menuntut kemudahan, kecepatan, dan ketepatan dalam layanan. Salah satu kemudahan yang menjadi tututan adalah kemudahan dalam proses pengisian Kartu Rencana Studi (KRS) dan Kartu Hasil Studi (KHS). Dibalik kemudahan yang diberikan terdapat berbagai kerumitan dan kompleksitas didalamnya. Semakin mudah suatu aplikasi digunakan, maka akan semakin sulit aplikasi tersebut dibuat. Terdapat 2 layanan yang memberikan kemudahan bagi mahasiswa dalam melakukan pengisian KRS dan KHS, yaitu dengan menggunakan layanan internet (berbasis web) dan menggunakan layanan SMS. Aplikasi ini dibuat dengan menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai databasenya. Sedangkan SMS server dibuat dengan menggunakan Gammu. Gammu adalah software open source yang berfungsi menyalin SMS dari ponsel ke database MySQL dan mengirim SMS yang ada di dalam
database MySQL sehingga memory ponsel untuk SMS tidak akan pernah penuh. Dengan adanya layanan ini, mahasiswa tidak perlu lagi antri di tempat pengetikan manual, atau antri di Auditorium untuk mengembalikan formulir KRS.
(15)
IMPLEMENTATION OF CLIENT-SERVER CONCEPT ON THE DESIGN OF WEB AND SMS BASED APPLICATION OF
KARTU RENCANA STUDI AND KARTU HASIL STUDI
ABSTRACT
Internet is a service which uses the client-server concept. Client in anywhere can access a document that is saved in a server and ignore the distance between client and server. With it’s development, various application are developed in order to give simplicity, convenience, and reliability for human to do their activities. Human, in this case is the students, need simplicity in Kartu Rencana Studi (KRS) and Kartu Hasil Studi (KHS) process. Behind the simplicity given by a system, there is a complexity in development process. So simple to use a program, so hard to develop it. There are two services that give the simplicity for students in KHS and KRS processes, by using internet service and by using SMS service. This application is developed by using PHP as server side script and MySQL as the database, both is open source software. And SMS service system use Gammu software. Gammu is open source software have function to moving message from handphone to MySQL and sending message from MySQL. By using these services, the students must not queue in auditorium to return the KRS form.
(16)
DAFTAR ISI
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak iv
Abstract v
Daftar Isi vi
Daftar Tabel vii
Daftar Gambar viii
Bab 1 Pendahuluan 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 4
1.4 Tujuan 5
1.5 Manfaat 6
1.6 Metode Penelitian 6
1.7 Sistematika Penulisan 7
Bab 2 Landasan Teori 8
2.1 Sekilas tentang web 8
2.2 Internet sebagai client-server 10
2.3 Cara Kerja SMS 13
2.4 Pangkalan Data 18
Bab 3 Analisis dan Perancangan Aplikasi 22
3.1 Analisis 22
3.2 Alur Kerja Aplikasi 25
3.3 Data Flow Diagram (DFD) 26
3.4 Perancangan Pangkalan Data 35
3.5 Diagram Pangkalan Data 42
Bab 4 Implementasi dan Pengujian Sistem 43
4.1 Implementasi 43
4.2 Pengujian 46
Bab 5 Kesimpulan dan Saran 65
5.1 Kesimpulan 65
(17)
DAFTAR TABEL
Tabel 1.1 Ilustrasi Aplikasi 3
Tabel 3.1 Struktur Tabel Mahasiswa (tblmhs) 36
Tabel 3.2 Struktur Tabel Mata Kuliah (tblmk) 36
Tabel 3.3 Struktur Tabel Dosen (tbldosen) 37
Tabel 3.4 Struktur Tabel KRS dan KHS 38
Tabel 3.5 Struktur Tabel Semester (tblsemester) 38
Tabel 3.6 Struktur Tabel Konfigurasi (config) 40
Tabel 3.7 Struktur Tabel Administrator (admin) 40
(18)
DAFTAR GAMBAR
Gambar 1.1 Ilustrasi Aplikasi 3
Gambar 2.1 Konsep Sistem Mainframe 10
Gambar 2.2 Konsep Dasar Browser Web dan Server Web 11
Gambar 2.3 Hubungan Pemakai dan Database 19
Gambar 2.4 Komponen-komponen Desain Pangkalan Data 20
Gambar 3.1 Diagram Konteks Aplikasi Berbasis Web 26
Gambar 3.2 DFD Level 1 Aplikasi Berbasis Web 27
Gambar 3.3 DFD Level 2 Proses 1 (Cek Autentifikas) 28
Gambar 3.4 DFD Level 2 Proses 2 (Fasilitas) 29
Gambar 3.5 DFD Level 2 Proses 3 Aplikasi Berbasis Web 30
Gambar 3.6 Diagram Konteks Aplikasi Berbasis SMS 31
Gambar 3.7 DFD Level 1 Aplikasi Berbasis SMS 32
Gambar 3.8 DFD Level 2 Proses 2 Aplikasi Berbasis SMS 33 Gambar 3.9 Tampilan Query untuk pengecekan Semester Mata Kuliah KTD106 39 Gambar 3.10 Tampilan Query untuk pengecekan Semester Mata Kuliah KTK213 40
Gambar 3.11 Diagram Pangkalan Data Aplikasi 42
Gambar 4.1 Tampilan File Proses SMS yang Masuk 44
Gambar 4.2 Topologi Aplikasi 44
Gambar 4.3(a) Perintah untuk Mengaktifkan Apache, MySQL, Gammu 48 Gambar 4.3 (b) Perintah untuk Memeriksa Koneksi Ponsel dan Komputer 48
Gambar 4.4 Tampilan Halaman Login Mahasiswa 49
Gambar 4.5 Tampilan Halaman Utama Mahasiswa 50
Gambar 4.6 Tampilan Halaman KHS 51
Gambar 4.7(a)Tampilan Halaman KRS 51
Gambar 4.7(b)Tampilan Halaman Penambahana Mata Kuliah untuk KRS 52
Gambar 4.8 Tampilan Halaman Tulis Pesan 52
Gambar 4.9 Tampilan Halaman Informasi Akademik 52
Gambar 4.10 Tampilan Halaman Login untuk Dosen 53
Gambar 4.11 Tampilan Halaman Utama untuk Dosen 54
Gambar 4.12 Tampilan Halaman Pengisian Nilai oleh Dosen 54 Gambar 4.13 Tampilan Halaman Login untuk Administrator 55
Gambar 4.14 Tampilan Halaman Utama Administrator 56
Gambar 4.15 Tampilan Daftar Mahasiswa 58
Gambar 4.16 Tampilan Daftar Dosen 58
Gambar 4.17 Tampilan Daftar Mata Kuliah 59
Gambar 4.18 Tampilan Cetak untuk Absen 59
Gambar 4.19 Tampilan untuk Konfigurasi 60
Gambar 4.20 Tampilan untuk Mengubah Informasi Akademik 60 Gambar 4.21 Tampilan untuk Mengganti Password Administrator 61 Gambar 4.22 Tampilan File Pemroses SMS yang Masuk 62
(19)
ABSTRAK
Penulisan tugas akhir ini bertujuan untuk membentuk suatu sistem keamanan data dan mengimplementasikannya dalam sebuah aplikasi perangkat lunak dengan menggunakan metode algoritma kriptografi bernama Rijndael yang memiliki kemampuan untuk mengamankan data dan informasi yang tersimpan di komputer dari gangguan para kriptanalis. Sistem aplikasi yang dibangun menggunakan perangkat lunak Delphi. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan aplikasi tersebut meliputi tahapan analisis permasalahan yang terdiri dari analisis algoritma, file dan folder data dengan tambahan byte informasi yang dapat membantu penulis dalam melakukan analisis, perancangan aplikasi yang melibatkan algoritma dan flowchart dengan desain antar muka aplikasi yang di tampilkan dalam bentuk implementasi, sehingga aplikasi yang terbentuk menjadi mudah dipergunakan dan memiliki fungsi yang optimal. Untuk memastikan bahwa seluruh fungsi yang terdapat di dalam sistem aplikasi algoritma Rijndael bekerja secara optimal, maka sistem aplikasi tersebut diuji dan dibentuk kesimpulan akhir.
(20)
FILE SECURITY SYSTEM AND FOLDER DATA USING RIJNDAEL ALGORITHM
WITH SIMETRIK KEY
ABSTRACT
The writing of this final task has the objective to form data security system and implementing it on one software application using algorithm method of cryptography named Rijndael having the capability to secure the data and information saved in computer from any interruption of criptanalists. The application system is built using Delphi software. The methodology of forming the system uses waterfall model approach. The phases in writing forming application process includes problem analysis phase consisting of algorithm, file and folder data with byte information additional. It assists the writer in performing the analysis, application design, algorithm, and flowchart with design among those surface application shown up in the implementation. It is intended to get easy use and optimum function. In assuring that all functions on the algorithm application system of Rijndael work optimally, the application system must be tested and then the final result is made.
(21)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan dunia teknologi terutama internet kini semakin melaju dengan pesatnya. Internet dapat memberikan berbagai informasi, mulai dari informasi untuk anak-anak sampai dengan informasi yang mungkin dapat mengandung unsur terorisme.
Salah satu peranan penting internet adalah sebagai media distribusi data dalam penggunaan aplikasi berbasis web. Penggunaan aplikasi berbasis web kini menjadi salah satu tren dalam perkembangan pembuatan perangkat lunak terutama perangkat lunak yang bersifat client-server. Bahkan untuk mengendalikan perangkat keras, misalnya kamera pengaman, bisa dikendalikan dengan menggunakan aplikasi berbasis
web.
Kemudahan yang diperoleh pengguna layanan berbasis web ini cukup banyak, misalnya untuk pengisian KRS di perguruan tinggi, cukup dengan mengisi form isian yang diperlukan lalu mengklik tombol submit, maka mahasiswa tersebut sudah mengisi KRS tanpa harus pergi ke kampus dan menunggu antrian di auditorium. Ini sangat menguntungkan terutama bagi mahasiswa yang mempunyai kegiatan yang sibuk. Dengan adanya pengisian KRS online ini tentunya akan sangat menghemat waktu dan tenaga dan dapat dilakukan tanpa harus datang ke kampus.
Hal yang harus diperhatikan dalam pembuatan aplikasi berbasis web adalah sisi keamanannya karena aplikasi ini akan diakses oleh semua orang termasuk orang yang tidak memiliki kepentingan terhadap aplikasi tersebut. Walaupun server aplikasi
(22)
sudah dilindungi oleh firewall yang selalu update, tetap saja mempunyai peluang untuk dirusak dengan cara memanfaatkan kesalahan aplikasi itu sendiri, seperti yang dilakukan Dani Firmansyah terhadap situs Komisi Pemilihan Umum (KPU) pada bulan April tahun 2004 Silam.
Kesalahan ini juga terjadi pada Portal Akademik Universitas Sumatera Utara. Tanpa menggunakan Tools atau program bantuan, hanya dengan melihat karakteristik aplikasi dengan sedikit manipulasi, penulis bisa membaca pesan-pesan pribadi antar mahasiswa dan penulis juga bisa menghapus daftar isian KRS yang sudah diambil oleh mahasiswa lain. Kesalahan-kesalahan ini terjadi karena pembuat program mungkin kurang teliti dalam membuat query. Kesalahan-kesalahan tersebut sudah dilaporkan dan sekarang kesalahan tersebut tidak ada lagi.
Walaupun penggunaan internet dalam pengisian KRS memberikan banyak kemudahan, tetapi tetap saja mempunyai keterbatasan, salah satunya jika mahasiswa berada di tempat yang tidak memiliki akses internet atau berada ditempat yang terpencil. Layanan kedua yang mungkin dapat digunakan adalah layanan berbasis pesan singkat atau SMS.
Salah satu kelebihan layanan SMS adalah praktis dalam menggunakannya dan biaya yang murah. Kelebihan lain yang sangat penting adalah mempunyai jangkauan layanan yang luas, bahkan salah satu operator selular di Indonesia memberikan jaminan bahwa layanan mereka sudah dapat digunakan di seluruh tingkat kecamatan di Indonesia.
Beranjak dari uraian di atas, maka penulis tertarik untuk membuat aplikasi pengisian KRS dan KHS berbasis web dan SMS, dan dapat digambarkan sebagai berikut :
(23)
Gambar 1.1 Ilustrasi Aplikasi Pengisian KRS dan KHS Berbasis Web dan SMS
Pada gambar 1.1 terlihat bahwa pengguna atau user bisa menggunakan aplikasi ini dengan 2 cara yaitu dengan menggunakan layanan internet dan menggunakan layanan SMS.
1.2. Rumusan Masalah
Dari latar belakang diatas dapatlah dirumuskan beberapa masalah yang menjadi latar belakang tugas akhir ini, yaitu:
1. Bagaimana membuat aplikasi berbasis web dengan mengutamakan sisi keamanan. Misalnya dengan melakukan query dengan benar, melakukan validasi input, dan melakukan pengecekan referer (pengecekan darimana suatu situs dibuka, apakah langsung diakses ataukah melalui link dari situs lain)
2.
Bagaimana membuat layanan berbasis SMS di kampus Universitas Sumatera Utara terutama di Program Studi S-1 Imu Komputer(24)
1.3. Batasan masalah
Untuk memfokuskan pada tujuan penelitian maka penulis membatasi pembahasan Tugas Akhir ini. Adapun yang menjadi pembatasan masalah adalah sebagai berikut:
1. Aplikasi berbasis web yang dibuat difokuskan pada proses pengisian KRS dan penghitungan KHS. Namun demikian aplikasi ini juga akan melibatkan proses-proses lain seperti input data dosen, data mahasiswa, data mata kuliah dan proses pemberian nilai oleh dosen karena proses tersebut berhubungan dengan proses pengisian KRS dan KHS tersebut.
2. Aplikasi berbasis SMS yang dibuat juga difokuskan pada proses pengisian Kartu Rencana Studi (KRS), laporan Kartu Hasil Studi (KHS), dan Perubahan Kartu Rencana Studi (PRKS).
3. Pada tahap pengembangan ini, beban pulsa yang dikirimkan oleh SMS
server ke pengguna masih ditanggung oleh SMS server itu sendiri.
1.4. Tujuan
Tugas Akhir ini ini memiliki tujuan untuk memudahkan mahasiswa dalam pengisian KRS dan juga mengembangkan jiwa Open Source di lingkungan kampus. Selain itu tujuan penulisan tugas akhir ini juga bertujuan untuk memperlihatkan bahwa kita mempunyai sumber daya untuk membuat aplikasi akademik sehingga di waktu yang akan datang mahasiswa bisa dilibatkan dalam pembuatan aplikasi kampus.
1.5. Manfaat
Aplikasi ini diharapkan dapat memberikan kemudahan dan alternatif bagi mahasiswa dalam proses pengisian KRS dan KHS. Selain itu, tugas akhir ini juga diharapkan
(25)
dapat memberikan gambaran bahwa sisi keamanan dalam pembuatan aplikasi berbasis web adalah hal yang utama walaupun mungkin bukan hal yang pertama untuk diperhatikan.
1.6. Metode Penelitian
Penelitian ini dilakukan dengan beberapa tahapan yaitu :
1. Identifikasi Masalah
Mengidentifikasi masalah yang ada pada sistem pengisian KRS yang sudah ada di Universitas Sumatera Utara (USU). Masalah yang terjadi adalah mahasiswa lain bisa membaca pesan yang tidak ditujukan kepadanya, bahkan bisa membaca seluruh pesan yang ada di server dengan cara mengganti-ganti index yang dikirimkan melalui parameter di URL. Masalah lainnya adalah mahasiswa bisa menghapus data KRS yang bukan miliknya dengan cara menyimpan terlebih dahulu file tampilan KRS ke hardisk, lalu memanipulasi file tersebut. Setelah dimanipulasi, file HTML yang sudah disimpan tersebut dijalankan dan diarahkan ke server portal akademik USU.
2. Analisis Masalah
Mencari penyebab dan solusi permasalahan yang telah diidentifikasikan pada tahap pertama. Permasalahan utama yang terjadi pada sistem pengisian KRS tersebut adalah pada saat melakukan query. Aplikasi tidak mengecek apakah yang menghapus KRS atau membaca pesan adalah benar-benar mahasiswa yang bersangkutan.
3. Perancangan
Merancang sistem sesuai dengan kebutuhan. Perancangan dimulai dari tahap merancang Data Flow Diagram (DFD), dan dilanjutkan dengan merancang pangkalan data (database).
(26)
4. Implementasi aplikasi
Tahap ini adalah adalah tahap untuk menterjemahkan rancangan aplikasi ke dalam bentuk yang lebih nyata, dalam hal ini adalah bahasa pemrograman. Aplikasi berbasis web dikembangkan dengan menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai pangkalan datanya. Sedangkan untuk layanan berbasis SMS menggunakan software Gammu.
5. Pengujian
Melakukan serangkaian ujicoba terhadap hasil dari implementasi aplikasi, dan memperbaiki jika masih terdapat kesalahan dan menarik kesimpulan dari analisis yang dilakukan.
6. Penyusunan laporan dalam bentuk skripsi
1.7. Sistematika Penulisan
Dalam penulisan tugas akhir ini, Penulis membagi sistematika penulisan menjadi 5 Bab, yang lebih jelasnya dapat dilihat di bawah ini :
BAB 1 : PENDAHULUAN
Berisi tentang latar belakang diambilnya judul Tugas Akhir “Penerapan Konsep Client Server pada Perancangan Aplikasi Pengisian Kartu Rencana Studi dan Kartu Hasil Studi Berbasis Web
dan SMS” , tujuan dari pembuatan Tugas Akhir ini, batasan masalah dalam perancangan aplikasi, dan sistematika penulisan Tugas Akhir yang menjelaskan secara garis besar susbstansi yang diberikan pada masing-masing bab.
BAB 2 : LANDASAN TEORI
Membahas tentang pengertian web dan SMS secara umum, cara kerja
(27)
dan penerimaan SMS pada ponsel, konsep dan desain pangkalan data (database)
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Berisi diagram konteks, DFD, serta diagram E-R dari aplikasi yang akan dibuat, yaitu aplikasi pengisian KRS dengan menggunakan teknologi web dan SMS.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini menjelaskan bagaimana mengimplementasikan aplikasi dirancang dan dilanjutkan dengan menguji aplikasi yang dibangun
BAB 5 : KESIMPULAN DAN SARAN
(28)
BAB 2
LANDASAN TEORI
2.1 Sekilas mengenai web
Web berasal dari Pusat Penelitian Nuklir (European Center for Nuclear Research – CERN), pada Maret 1989. Kira-kira 18 bulan kemudian, prototipe berbasis teks pertama berfungsi dan pada Desember 1991 peragaaaan publik pertama dilangsungkan di San Antonio, Texas. Melalui penggunaaan aplikasi yang disebut
browser, para pengguna dapat mengakses banyak informasi yang tersimpan di server.
Server dan browser web berkomunikasi satu sama lain dengan protokol yang memang dibuat khusus untuk ini, yaitu HTTP (Hyper Text Transfer Protocol). HTTP bertugas menangani permintaan (request) dari browser untuk mengambil dokumen– dokumen web di komputer server.
HTTP bisa dianggap sebagai sistem yang menggunakan konsep client-server. Browser web, sebagai aplikasi client mengirimkan permintaan kepada server web
untuk menentukan apakah dokumen yang diminta bisa dikirimkan kepada browser
atau tidak.
HTTP bekerja di atas TCP (Transmission Control Protocol) yang menjamin sampainya data di tujuan dalam urutan yang benar. Bila suatu kesalahan terjadi selama proses pengiriman, pihak pengirim akan mendapat pemberitahuan bahwa telah terjadi ketidakberesan. Karenanya server dan client tidak harus menyediakan mekanisme untuk memeriksa kesalahan transmisi data, yang berarti mempermudah pekerjaan pemrograman. Namun demikian, HTTP tidak memiliki apa yang disebut session,
(29)
Setiap halaman web yang dikirim akan melibatkan satu proses penyambungan antara
client dan server, baru kemudian datanya ditransfer. Setelah data selesai ditransfer, koneksi antara server dan client akan diputus. Sifatnya ini membuat HTTP sering disebut dengan istilah protokol hit-and-run.
Jika browser web melakukan permintaan ke komputer server, maka HTTP akan memaksa server untuk menjalin hubungan yang baru setiap kali hendak mengirim satu buah dokumen. Ini tidak menguntungkan dan tidak efisien, mengingat proses hubung-putus-hubung semacam ini menyebabkan beban bagi jaringan.
Salah satu standar protokol HTTP, yaitu HTTP/1.1 dirancang untuk mengatasi masalah di atas. Web diarahkan agar mengarah ke pengguna persistent connection (sambungan yang terjaga berkesinambungan) secara lebih efisien. Dalam HTTP/1.1,
server tidak akan memutuskan hubungan dengan client pada akhir pentransferan dokumen. Hubungan tetap terbuka untuk melayani bila saja ada request lagi dalam waktu yang singkat. Hubungan baru akan diputuskan bila setelah melewati suatu batas waktu tertentu (yang bisa ditentukan oleh administrator server) sehingga client tidak mengirimkan request lagi.
Keuntungan lain dari persisten connection adalah penggunaan pipelining.
Pipelining adalah proses pengiriman request berikutnya segera setelah request
sebelumnya dikirimkan tanpa menunggu balasan dari server terlebih dahulu.
Servernya tetap harus melayani setiap request secara berurutan, namun ini mengurangi waktu tunda antara setiap request. Hasilnya, data akan lebih cepat sampai di tujuan.
Standar HTTP/1.1 ke atas sekarang sudah mulai dimasyarakatkan dan banyak paket perangkat lunak server web komersial dan non-komersial yang sudah mendukung standar baru ini. Browser-browser web keluaran terbaru umumnya juga sudah mendukung HTTP/1.1 ke atas.
(30)
2.2. Internet sebagai Sistem Client-Server
Istilah client-server dewasa ini telah demikian populer. Keuntungan utama dari sistem berbasis client-server adalah bahwa perangkat keras dan perangkat lunak bisa ditempatkan di mana saja sehingga pengguna bisa bekerja secara lebih optimal. Dahulu, di zaman komputer mainframe, komputer mainframe-lah yang menjadi pusat kendali dan mengerjakan semua proses komputasi. Pengguna berinteraksi dengan sistem mainframe melalui terminal–terminal yang dibutuhkan secara langsung ke komputer mainframe. Terminal-terminal ini tidak punya kemampuan pemrosesan sama sekali, dan oleh karena itu disebut “terminal dungu” (dumb terminal). Terminal dungu tidak lebih dari sekedar perpanjangan kabel untuk keyboard dan layar monitor, dan hanya berfungsi sebagai alat untuk memasukkan dan melihat data saja.
Gambar 2.1 Konsep Sistem Mainframe
Definisi yang banyak dipergunakan untuk menjelaskan sistem berbasis client-server adalah “sistem yang memisahkan antara tugas-tugas komputasi antara proses-proses client dan server ”. Dengan sistem client-server, kekuatan pemrosesan bisa disebarkan (didistribusikan) ke banyak mesin client dan mesin server yang terpisah secara fisik (itu sebabnya disebut distributed system).
Misalnya sebuah server web yang mengambil informasi dari database menampilkan hasilnya pada client dengan menggunakan web browser. Server web dan
(31)
melakukan akses ke server semakin banyak dan melebihi kapasitas mesin server,
perangkat lunak database dan server web bisa saja dipisahkan dan ditempatkan di mesin kedua, ketiga atau bahkan lebih. Dengan begitu pemrosesan pada sisi server
dapat disebarkan ke beberapa mesin, yang memungkinkan efisiensi komput asi. Begitu pula, dengan cara ini, kapasitas server bisa dikembangkan dan ditingkatkan sesuai dengan kebutuhan.
Dari sudut pandang lain, sistem berbasis client-server juga bisa memanfaatkan
browser web untuk meringankan kerja server. Tugas menampilkan informasi dan menyediakan tampilan pengguna (user interface) tidak perlu dilakukan secara langsung oleh server, namun diserahkan sepenuhnya kepada browser web. Dengan hadirnya teknologi pemrograman client-side (bahasa pemrograman yang dijalankan di sisi client) seperti Javascript dan VBScript, maka fungsi–fungsi khusus seperti pemeriksaan/validasi input bisa dilakukan oleh browser sebelum data dikirimkan kepada server, sehingga dapat menjamin data yang dikirimkan ke server tidak keliru. Misalnya untuk memastikan bahwa input yang diisikan oleh pengguna adalah sebuah angka dapat dilakukan oleh program client-side sehingga nantinya server tidak perlu lagi memeriksa input tersebut. Hal ini mempercepat kerja server, karena hanya mengerjakan tugas-tugas yang berguna.
Gambar 2.2 Konsep Dasar Browser Web dan Server Web
Konsep client-server juga lebih cocok ketika dilihat dari arsitektur n-tier/layer, dimana client-server termasuk ke kategori 2-tier. Misalkan suatu aplikasi dibuat
(32)
menggunakan Microsoft Visual Basic yang mengakses database yang terpusat, maka hanya terdapat 2 layer, yaitu database dan aplikasi dengan Visual Basic untuk client.
Pada saat ini, aplikasi-aplikasi besar cenderung mengacu pada arsitektur n-tier (n>3) karena lebih scalable. Misalkan saja untuk 3-tier akan terdapat layer presentasi, aplikasi, dan layer database. Contohnya adalah aplikasi berbasis web, dimana layer
presentasi memakai bahasa pemrograman PHP, layer aplikasi memakai Apache sebagai Web Server, dan layer database memakai MySQL.
Jadi, setidaknya dalam teori, sistem berbasis client-server memberikan keuntungan yang banyak seperti penggunaan sumber data secara lebih efisien, penyimpanan data terpusat, serta lalu lintas di dalam jaringan menjadi lebih rendah (dibandingkan dengan sistem yang seluruhnya terpusat). Satu-satunya kelemahan utama dari sistem berbasis client-server yang bersifat stand alone adalah manajemen dan perawatan mesin-mesin client serta proses konfigurasi yang memakan waktu dan tenaga. Semua program di sisi client, misalnya front-end untuk suatu database, harus dipasang satu persatu di setiap komputer client, dan apabila suatu saat program client
tersebut harus diubah atau dikembangkan, maka prosesnya harus dilakukan di setiap komputer client sehingga hal ini akan sangat menyulitkan dan memakan waktu. Lain halnya jika sistem tersebut berbasis web, karena program untuk client hanya menggunakan browser web yang tidak perlu diupdate jika suatu saat sistem tersebut membutuhkan upgrading..
Dari sisi manajemen, sistem berbasis web bisa mengatasi kekurangan-kekurangan sistem tradisional. Adapun keuntungan mengembangkan sistem client-server berbasis web adalah sebagai berikut:
1. Tidak ada masalah distribusi program
Pendistribusian berlangsung secara sendirinya, karena setiap salinan dokumen (sebagai satu komponen aplikasi) di-download ke mesin client setiap saat mesin
client membutuhkan dan meminta update atau salinan yang lebih baru. Tidak perlu lagi seorang administrator jaringan meng-install perangkat lunak client
(33)
untuk setiap komputer yang ada di organisasinya, suatu pekerjaan yang melelahkan dan memboroskan waktu.
2. Efisien
Distribusi otomatis dan tidak perlunya instalasi untuk setiap client jelas mempermudah perawatan dan updating aplikasi. Perubahan-perubahan pada aplikasi bisa dikerjakan secara terpusat dan bisa langsung diterapkan tanpa perlu melakukan penyesuaia di semua client. Bahkan tampilan pada pengguna bisa diubah–ubah secara berkala disesuaikan dengan waktu dan situasi.
3. Fleksibel
Browser web tersedia untuk hampir semua macam platform mesin dan sistem operasi, baik itu mesin Windows berbasis prosesor Intel, mesin UNIX berbasis prosesor RISC, ataupun komputer Macintosh. Fleksibilitas aplikasi berbasis web
lebih terjamin, karena tidak perlu lagi mengembangkan program-program client
yang berbeda untuk tiap macam platform.
2.3 Cara kerja SMS
Dibalik kemudahan yang diberikan layanan SMS, terdapat suatu sistem yang sangat kompleks. Pesan yang telah diketik di ponsel tidak langsung begitu saja dikirim ke SMSC (SMS Center), namun terlebih dahulu diubah kedalam suatu bentuk yang dikenal dengan istilah PDU (Protocol Data Unit). PDU berisi bilangan heksadesimal yang mencerminkan bahasa Input Output. PDU terdiri dari beberapa Header atau potongan informasi. Header untuk mengirim SMS atau pesan ke SMSC berbeda dengan SMS yang diterima dari SMSC.
(34)
2.3.1 Header untuk Mengirim SMS
Jika sebuah ponsel akan mengirim pesan “hello” ke nomor 081376493629 melalui SMS center 081100000, maka ponsel akan mengirimkan sederetan bilangan heksa dalam bentuk PDU yang terdiri atas delapan header, yaitu :
1. Nomor SMS-Centre
Header pertama ini terbagi atas tiga subheader, yaitu :
a. Jumlah pasangan Heksadesimal SMSC dalam bilangan heksa. b. National/International Code
Untuk National Code atau kode nasional , kode subheadernya adalah 81. Sedangkan untuk International Code atau kode internasional kode
subheadernya adalah 91
c. Nomor SMSC itu sendiri disusun dalam pasangan heksa yang dibalik-balik. Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan huruf F di depannya.
Misalnya untuk nomor SMSC Telkomsel dapat diubah ke bentuk PDU dengan cara sebagai berikut :
a. SMSC yaitu 081100000 menggunakan kode nasional sehingga subheadernya adalah 81.
b. Nomor SMSC itu sendiri disusun terbalik-balik sehingga menjadi 80110000F0
Jumlah pasangan header adalah 6 pasang (1 pasang National Code dan 1 5 pasang untuk SMSC itu sendiri, sehingga header untuk SMSC menjadi
2. Tipe SMS
068180110000F0
Untuk proses pengiriman, maka tipe SMS adalah 1. Jadi bilangan heksanya adalah 01.
(35)
3. Nomor Referensi SMS
Nomor referensi ini dibiarkan saja bernilai 0, jadi bilangan heksanya adalah 00
4. Nomor Tujuan
. Nanti nomor referensi ini akan diberikan secaara otomatis oleh ponsel.
Cara penulisan nomor tujuan hampir sama seperti cara penulisan untuk SMS-Centre. Misalnya nomor tujuannya adalah 081376493629, maka nomor ini akan dikonversikan ke dalam bentuk PDU dengan cara sebagai berikut :
a. Jumlah nomor tujuan adalah 12 angka sehingga bilangan heksanya adalah 0C
b. Nomor tujuan 081376493629 menggunakan kode nasional sehingga subheadernya adalah 81.
c. Nomor tujuan tersebut lalu disusun dibalik-balik sehingga menjadi 803167946392
Sehingga nomor tujuan dalam bentuk PDU adalah 0C81803167946392
5. Bentuk SMS
Jika SMS dikirim sebagai bentuk SMS biasa, maka kodenya adalah 00
6. Skema Encoding
. Namun jika SMS dikirim sebagai telex, maka kodenya adalah 01. Sedangkan jika dikirim sebagai fax, maka kodenya adalah 02.
Kebanyakan ponsel yang ada dipasaran sekarang menggunakan skema 7 bit sehingga kode skema encodingnya adalah 00
7. Jangka Waktu Pengiriman SMS
.
Jika bagian ini dilewatkan, berarti kita tidak membatasi waktu berlakunya SMS. Sedangkan jika kita isi dengan suatu bilangan integer yang kemudian diubah ke pasangan bilangan heksa tertentu, bilangan yang telah kita berikan tersebut akan mewakili jumlah waktu validitas SMS tersebut.
Adapun Rumus untuk menghitung jangka waktu validitas SMS adalah sebagai berikut :
(36)
Tabel 2.1 Tabel Jangka Waktu Validitas SMS Integer(INT) Jangka waktu validitas SMS
0 -143 (Int + 1) X 5 menit (Berarti 5 menit s/d 12 jam) 144 -167 12 Jam + ((Int – 143) x 30 menit)
168 - 196 (Int-166) x 1 hari 197 - 255 (Int-192) x 1 minggu
8. Isi SMS
Jika hendak mengirim kata “hello”, maka kata ini harus diubah ke dalam bentuk PDU dengan langkah sebagai berikut:
a. mengubahnya menjadi kode biner 7 bit
h 110 1000
e 110 0101
l 110 1100
l 110 1100
o 110 1111
b. mengubah 7 bit ke 8 bit yang diwakili oleh pasangan bilangan heksa E 8
h 1 110 1000 3 2
e 00
9 B l
110 010 1
100 F D
1 1011 00
l 1111 1101 100 0 6
o 0000 0
Karena total 7 bit x 5 huruf = 35 bit, sedangkan yang diperlukan adalah 8 bit x 5 huruf = 40 bit, makan diperlukan 5 bit tambahan yang diisi dengan bilanngan bit
(37)
bilangan heksa. Dengan demikian kata “hello” telah diubah menjadi 05E8329BFD06 . angka “05” pada awal header tersebut berdasarkan jumlah karakter isi pesan yang berarti 5 karakter.
Setelah diperoleh delapan header untuk mengirim SMS, lalu kedelapan header tersebut digabung menjadi sebuah PDU yang lengkap. Sehingga untuk mengirim pesan “hello” ke nomor 081376493629 melalui SMSC 081100000, maka bentuk PDU lengkap untuk proses tersebut adalah :
1. Nomor SMS-Center
068180110000F001000C81803167946392000005E8329BFD06
2.3.2 Header untuk Membaca SMS
Setelah Data berupa PDU dikirimkan dari ponsel ke SMSC, maka SMSC akan meneruskan SMS tersebut ke nomor tujuan, Namun sebelumnya SMSC akan menambahkan beberapa informasi ke dalam header tersebut. Data dalam bentuk PDU yang diterima oleh ponsel tujuan juga terdiri dari delapan header, yaitu :
2. Tipe SMS, untuk SMS-terima kodenya adalah 3. Nomor ponsel pengirim
04
4. Bentuk SMS 5. Skema Encoding
6. Tanggal dan waktu SMS sampai di SMSC 7. Batas Waktu validitas SMS
8. Isi SMS
Jika ponsel menerima data yang diterima adalah dalam bentuk PDU, misalnya 068180110000F0040C818031563625840000704022512380005E8329BFD06
1. Nomor SMS-Center pengirim adalah 081100000.
, maka ponsel akan menguraikan PDU tersebut sebagai berikut:
(38)
3. Nomor Ponsel pengirim adalah 081365635248.
4. Pesan diterima dalam bentuk SMS, bukan dalam bentuk fax. 5. SMS tersebut memiliki skema encoding 7 bit
6. SMS tersebut sampai di SMS-Center pada tanggal 22 April 2007 pada pukul 15:32:08
7. SMS tersebut tidak memiliki batas waktu valid 8. SMS tersebut isinya adalah “hello”
2.4 Pangkalan Data
Pangkalan data atau Database merupakan kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software
untuk melakukan manipulasi untuk kegunaan tertentu.
Dalam pembuatan aplikasi, pangkalan data mempunyai peranan yang sangat penting karena :
1. Salah satu komponen penting dalam sistem informasi 2. Menentukan kualitas informasi
3. Mengurangi duplikasi data (data redudancy)
4. Hubungan data dapat ditingkatkan (data relatability) 5. Mengurangi pemborosan tempat simpanan luar
Tujuan utama dibangunnya pangkalan data (Database) adalah untuk kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
2.4.1 DBMS (Data Base Management System)
(39)
dan memperoleh data informasi dengan praktis dan efisien. Semua operasi input dan output yang berhubungan dengan database harus menggunakan DBMS. Bila pemakai akan mengakses pangkalan data, DBMS menyediakan penghubung (interface) antara pemakai dengan pangkalan data.
Hubungan pemakai dengan pangkalan data dapat dilakukan dengan dua cara:
1. Secara interaktif menggunakan bahasa pertanyaan (query language). 2. Dengan menggunakan program aplikasi
DBMS Aplikasi
Terminal (console) interaktif
Database
Hasil query
Permintaan Data
Data Hasil query
Gambar 2.3 Hubungan Pemakai dengan Database
Dibandingkan dengan sistem yang berbasis kertas, DBMS memiliki 4 keunggulan (Kadir, 2000) :
a. Kepraktisan
Sistem yang berbasis kertas akan menggunakan kertas untuk menyimpan informasi, sedangkan DBMS menggunakan penyimpan sekunder yang berukuran kecil tetapi padat informasi.
b. Kecepatan
Mesin dapat mengambil atau mengubah data jauh lebih cepat daripada manusia.
(40)
c. Mengurangi kejemuan
Orang cenderung menjadi bosan kalau melakukan tindakan–tindakan berulang menggunakan tangan.
d. Kekinian
Informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat setiap saat.
2.4.2 Proses Desain Pangkalan Data
Pada gambar 2-4 di bawah memperlihatkan komponen-komponen dalam proses desain pangkalan data.
Gambar 2.4 Komponen-Komponen Desain Pangkalan Data
• Membuat tabel dan kolom dari entities serta atribut
• Memilih Primary key
• Merepresentasikan hubungan
• Menetapkan batasan
• Memeriksa kembali kriteria normalisasi
Persyaratan sistem tambahan
Aturan Pemrosesan Model
Data
Desain Relasi
(41)
Adapun yang menjadi tahapan dalam membangun sebuah desain pangkalan data adalah sebagai berikut :
1. Membuat tabel dan kolom dari entitas dan atribut
Untuk mentranformasikan sebuah model entity-relationship ke dalam desain database relasional, masing-masing entitas direpresentasikan sebagai sebuah tabel dan semua atribut entitas akan menjadi kolom tabel tersebut.
2. Memilih Primary key (Kunci Utama)
Pemilihan primary key merupakan hal yang sangat penting dan hampir semua produk DBMS (Database Management System) menyusun indeks pada kolom primary key sehingga nilai key dapat digunakan untuk mengatur penyimpanan fisik dan memfasilitasi pencarian serta penyeleksian dengan menggunakan primary key. Salah satu ciri primary key adalah unik sehingga bisa digunakan sebagai pengenal atau identifier.
1. Merepresentasikan hubungan
Untuk model relasional, semua hubungan dinyatakan dengan menempatkan
primary key dari suatu tabel yang satu dengan tabel yang ke dua.
2. Menetapkan batasan
Penetapan batasan dimaksudkan untuk tujuan yang lebih luas. Batasan didefenisikan sebagai suatu aturan yang mengatur nilai-nilai statis atribut yang cukup tepat sehingga dapat memastikan apakah nilai itu benar atau tidak.
3. Memeriksa kembali kriteria normalisasi
(42)
BAB 3
ANALISIS DAN PERANCANGAN APLIKASI
3.1 Analisis
3.1.1 Analisis Permasalahan
Sistem pengisian Kartu Rencana Studi (KRS) dan Kartu Hasil Studi (KHS) berbasis web dan SMS ini dirancang dengan menggunakan metode pendekatan atas-bawah (Top-Down Approach) sehingga perancangan dimulai dari bentuk yang paling global yaitu diagram konteks, kemudian diturunkan secara bertahap menjadi bentuk yang lebih detail.
Dengan adanya aplikasi pengisian KRS dan KHS berbasis web dan SMS, mahasiswa tidak perlu lagi antri di Biro Rektor, mencari dosen wali atau mengantri di tempat ketikan manual. Aplikasi ini juga diharapkan memberikan kemudahan bagi dosen untuk memberikan nilai kepada mahasiswa tanpa harus datang ke kampus S-1 Ilmu Komputer.
3.1.2 Analisis Persyaratan
Dalam perancangan sebuah perangkat lunak diperlukan rekayasa persyaratan yang merupakan sebuah proses untuk menemukan, menganalisis, mendokumentasikan, dan memeriksa layanan serta batasan sistem. Didalam rekayasa aplikasi berbasis web, ada 4 (empat) tipe analisis yang sering digunakan, yaitu :
(43)
A.
Content Analysis adalah menentukan isi dari aplikasi yang akan dibuat baik aplikasi berbasis web maupun aplikasi berbasis SMS. Adapun content atau isi aplikasi berbasis web untuk masing-masing komponen adalah sebagai berikut :
Content Analysis
a. Mahasiswa:
1. Home : Halaman utama
2. Laporan KHS : Untuk melihat laporan Hasil Studi tiap-tiap semester
3. Pengisian KRS : Untuk melakukan pengisian KRS
4. Pesan Pribadi : Ini adalah layanan tambahan untuk mengirim pesan kepada mahasiswa lain
5. Diary : Ini adalah layanan tambahan bagi mahasiswa untuk menuliskan catatan kecil sejenis buku harian
6. Logout : keluar dari sistem
b. Dosen :
1. Home : Halaman utama untuk dosen
2. Mata Kuliah : Untuk mengetahui mata kuliah yang diajarkan oleh dosen yang bersangkutan
3. Pengisian Nilai : Untuk melakukan pengisian nilai kepada mahasiswa 4. Logout : Keluar dari sistem.
c. Administrator / Tata Usaha:
1. Home : Halaman utama administrator
2. Data Dosen : Untuk menambah, mengubah, dan menghapus data dosen yang mengajar
3. Data Mahasiswa : Untuk menambah, mengubah, dan menghapus data mahasiswa
4. Data Mata Kuliah : Untuk menambah, mengubah, dan menghapus data mata kuliah
(44)
5. Data Nilai : Untuk menambah, mengubah, dan menghapus nilai mahasiswa jika diperlukan atau jika dosen yang bersangkutan tidak sempat mengunakan aplikasi ini
6. Logout : Keluar dari sistem.
Sedangkan content aplikasi SMS untuk masing-masing komponen adalah sebagai berikut:
a. Mahasiswa :
1. Laporan KHS : Untuk melihat laporan KHS semester terakhir dengan cara mengetikkan SMS dengan mengikuti format :
KHS<spasi>NIM<spasi>password. Adapun password yang digunakan adalah sama dengan password untuk login ke aplikasi berbasis web
2. Pengisian KRS : Untuk mengisi KRS dengan cara mengirim SMS
dengan mengikuti format :
KRS<spasi>NIM<spasi>password<spasi>kode mata kuliah pertama<tanda pagar>Kode mata kuliah kedua<spasi>kode mata kuliah ketiga<tanda pagar>dan kode mata kuliah seterusnya
b. Dosen :
1. Informasi mengajar : Untuk memberikan informasi tentang mata kuliah yang diajar oleh dosen yang bersangkutan. Adapun format SMS untuk fasilitas ini adalah : infodosen<spasi>NIP dosen yang bersangkutan
B.
Menjelaskan cara interaksi antara user dengan aplikasi yang dibuat.
Interaction Analysis
C.
Menentukan operasi dan fungsi yang akan diaplikasikan pada aplikasi berbasis web maupun pada aplikasi berbasis SMS dan termasuk di dalamnya fungsi-fungsi
(45)
yang melakukan semua proses serta semua operasi dan fungsi tersebut dideskripsikan secara detil.
D.
Menentukan konfigurasi dan spesifikasi komputer yang akan dijadikan sebagai
web server sekaligus sebagai SMS server Configuration Analysis
3.2 Alur Kerja Aplikasi
Aplikasi berbasis web mempunyai alur kerja secara garis besar sebagai berikut :
1. Mahasiswa memasukkan NIM dan password agar dapat menggunakan aplikasi ini
2. Program akan memeriksa NIM dan password tersebut ke dalam database
3. Apabila NIM dan password yang dimasukkan benar, maka dapat menggunakan aplikasi ini
4. User dapat melihat KRS yang telah diisi, mengubah KRS, atau mengisi KRS baru sampai dengan jangka waktu yang telah ditentukan oleh pihak
administrator aplikasi. Jika mahasiswa tersebut login di luar jangka waktu yang ditentukan, maka aplikasi untuk mengisi KRS tidak akan dapat digunakan, sehingga yang dapat digunakan hanya untuk melihat KHS dan fasilitas-fasilitas tambahan lainnya.
Sedangkan aplikasi berbasis SMS mempunyai alur kerja secara garis besar sebagai berikut :
1. Mahasiswa mengirim SMS dengan mengikuti format seperti yang telah dijelaskan pada bagian Content Analysis..
2. Program akan memeriksa format SMS yang diterima.
3. Jika format tersebut dikenali, maka program akan meneruskan proses sesuai dengan format yang diterima misalnya meneruskan proses pengisian KRS ataupun proses-proses lainnya lalu mengirimkan SMS balasan.
(46)
3.3 Data Flow Diagram ( DFD )
Untuk memudahkan penjelasan alur kerja yang telah disebutkan di atas, maka digunakan DFD (Data Flow Diagram) untuk mendokumentasikan sistem secara hirarkis. DFD merupakan suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut. Dan alur kerja yang akan dijelaskan hanya terbatas pada alur kerja untuk proses pengisian KRS dan KHS saja, sedangkan alur kerja untuk layanan tambahan dan untuk halaman administrator tidak dimodelkan ke dalam DFD karena fokus penulisan tugas akhir ini hanya terbatas pada proses pengisian KRS dan KHS saja.
DFD untuk aplikasi berbasis web dibuat berbeda dengan DFD untuk aplikasi berbasis SMS karena proses yang dilalui juga berbeda.
3.3.1 Diagram Konteks Aplikasi Pengisian KRS dan KHS berbasis Web
Diagram Konteks berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar, masukan dan keluaran sistem), yang direpresentasikan sebuah segi empat berlabel untuk mewakili keseluruhan system. Diagram konteks aplikasi berbasis web yang akan dibuat dapat digambarkan sebagai berikut:
Mahasiswa
0
Aplikasi Pengisian KRS dan KHS berbasis Web Pilihan Menu
Fasilitas Sesuai Menu
Gambar 3.1 Diagram Konteks Aplikasi Berbasis Web
Pada gambar di atas terlihat bahwa Mahasiswa melakukan pemilihan terhadap pilihan menu yang ada, misalnya menu KHS, menu KRS, ataupun menu-menu
(47)
tambahan lainnya. Kemudian aplikasi akan memberikan fasilitas sesuai dengan menu yang telah dipilih.
3.3.2 DFD level 1 Aplikasi Pengisian KRS dan KHS berbasis web
DFD pada level 1 untuk aplikasi pengisian KRS dan KHS berbasis web dapat digambarkan sebagai berikut :
Mahasiswa Login gagal 1 Cek Autentifikasi 2 Fasilitas Aplikasi Query BasisData 3 Alihkan Data KHS D2 Data KRS D3 Data KHS D2 Data KRS D3
Data Mata Kuliah D4 Data Dosen D5 Data Mahasiswa D6 NIM&Password D1 Data Session D7
Gambar 3.2 DFD Level 1 Aplikasi Berbasis Web
Dari gambar DFD di atas terlihat bahwa aplikasi ini melibatkan tiga buah proses yang diwakili oleh tiga buah segi empat berlabel yang akan dijelaskan di bawah ini :
(48)
1. Cek Autentifikasi
Proses ini sangat penting untuk memastikan bahwa fasilitas digunakan oleh pengguna yang sah
2. Fasilitas
Proses ini berkaitan dengan fasilitas yang diberikan oleh aplikasi
3. Query Pangkalan Data
Proses ini adalah kelanjutan dari proses ke dua, yaitu menangani semua aktifitas yang berhubungan dengan query terhadap pangkalan data
3.3.3 DFD level 2 Proses 1 (Cek Autentifikasi)
DFD pada level 2 untuk proses cek autentifikasidapat digambarkan sebagai berikut :
1.1
Halaman Login Mahasiswa
Cek NIM dan Password D1 NIM&Password Membuka Penolakan Akses Penolakan Akses Buat Session 1.2 1.3 Login Terima
Query Pangkalan Data 3
Fasilitas Aplikasi 2 Data Mahasiswa
D6 Login Terima
Data Session D7
(49)
Proses-proses di atas dapat dijelaskan sebagai berikut :
1. Aplikasi menampilkan halaman login yang meminta data NIM dan password.
2. Aplikasi akan NIM dan password ke dalam basis data melalui proses 3
3. Jika NIM dan password benar, maka sistem akan membuat session untuk pengguna dan akan dialihkan ke proses 2
4. Jika NIM dan password tidak benar atau session sudah kadaluarsa maka akan ditampilkan halaman login kembali
3.3.4 DFD level 2 Proses 2 (Fasilitas Aplikasi)
DFD pada level 2 proses 2 (fasilitas aplikasi)dapat digambarkan sebagai berikut :
Mahasiswa D2 Data KHS
Membuat Laporan KHS 2.1 Pengisian KRS 2.2 Pemeriksaan validasi KRS 2.3 Query Pangkalan Data
3 Data KHS D2 Data KRS D3 Data KRS D3 Data KHS D2
Data Mata Kuliah D4
Data Dosen D5
Data KRS D3
(50)
Pada gambar DFD di atas terlihat bahwa proses 2 memiliki 3 buah subproses yaitu :
1. Membuat laporan KHS
2. Pengisian KRS yang dilakukan oleh pengguna
3. Pemeriksaan validasi data KRS, yang memerlukan data KHS semester sebelumnya, data mata kuliah, dan data dosen
3.3.5 DFD level 2 Proses 3 (Query Pangkalan Data)
DFD pada level 2 proses 3 (query basis data)dapat digambarkan sebagai berikut :
1
Cek Autentifikasi 3.1
Query Tabel Session Berdasarkan Session URL
3.2 2
Fasilitas Aplikasi Query Relasi tabel
Dosen & mata kuliah
Data Mahasiswa D6 Data Session D7 Data Dosen D2 Alihkan 3.4
Query tabel KRS Data KRS D3
Data Mata Kuliah D4
3.3
Query Tabel KHS Berdasarkan
semester
Data KHS D2
(51)
Pada gambar DFD di atas terlihat bahwa proses 2 memiliki 3 buah subproses yaitu :
1. Query Tabel Session berdasarkan session URL
Sistem akan melakukan proses 1 setiap kali pengguna mengakses suatu halaman berdasarkan parameter session yang terdapat pada URL. Jika session
tidak terdaftar dalam database, atau session sudah kadaluarsa , maka sistem akan menampilkan halaman login
2. Query relasi tabel dosen dan mata kuliah
Pada proses pengisian KRS yang terdapat pada proses 2, sistem akan menampilkan kode mata kuliah dan juga dosen yang mengajar, tentunya hal ini akan membutuhkan suatu query relasi
3. Query tabel KHS berdasarkan semester
Pada proses 2, pengguna dapat melihat KHS pada semester sebelumnya berdasarkan semester yang diminta oleh pengguna
4. Query tabel KRS
Pada proses pengisian KRS akan melibatkan query penyisipan terhadap tabel KRS
3.3.6 Diagram Konteks Aplikasi Pengisian KRS dan KHS berbasis SMS
Diagram Konteks Aplikasi berbasis SMS hampir sama dengan aplikasi berbasi web, dan dapat digambarkan seperti di bawah ini :
Mahasiswa
0
Aplikasi Pengisian KRS dan KHS berbasis SMS SMS REQUEST
SMS RESPOND
(52)
3.3.7 DFD level 1 Aplikasi Pengisian KRS dan KHS Berbasis SMS
DFD pada level 1 untuk aplikasi pengisian KRS dan KHS berbasis SMS dapat digambarkan sebagai berikut :
Mahasiswa
Proses SMS Sesuai Request
2 SMS Request
D1 Pemeriksaan
Format SMS 1
SMS Respond D3
Format SMS Salah
Keyword D2
Gambar 3.7 DFD Level 1 Aplikasi Berbasis SMS
Pada gambar di atas terlihat pada ada 2 proses utama yang dilakukan oleh sistem dalam menangani SMS request, yaitu :
1. Pemeriksaan Format SMS
Proses ini bertujuan untuk memastikan bahwa format SMS yang dikirim oleh pengguna adalah benar lalu mengambil kata kunci dari SMS yang dikirim
2. Proses SMS sesuai keyword atau kata kunci
Jika keyword dikenal, maka sistem akan melakukan proses sesuai dengan
(53)
3.3.8 DFD level 2 Proses 2 (Proses SMS sesuai keyword)
DFD pada level 2 untuk aplikasi pengisian KRS dan KHS berbasis SMS dapat digambarkan sebagai berikut :
Proses KRS 2.2
Proses PKRS 2.3
Proses KHS 1
Proses INFORMASI MATA KULIAH
2.5
Proses Panduan 2.4 Pemeriksaan
Format SMS
2.1
Mahasiswa
Keyword D2
SMS Request D1
SMS Respond D3
Gambar 3.8 DFD Level 2 Proses 2 Aplikasi Berbasis SMS
Pada gambar di atas terlihat bahwa proses 2 mempunyai 5 buah subproses yang seperti yang diuraikan dibawah ini :
1. Proses KRS
Format yang benar adalah: KRS<spasi>NIM<spasi>Password<tanda pagar>kode matakuliah pertama<tanda pagar>kode matakuliah kedua dan
(54)
seterusnya. Sistem akan menguraikan SMS yang diterima untuk mendapatkan data. Langkah-langkah penguraian tersebut adalah sebagai berikut :
a. Uraikan SMS berdasarkan spasi dan masukkan ke dalam array,
sehingga elemen ke-2 adalah NIM ,elemen ke-3 adalah password, dan elemen ke-4 adalah data kode mata kuliah yang akan diambil
b. periksa NIM dan password ke dalam database
c. Jika NIM dan password benar, uraikan elemen array ke-4 berdasarkan tanda pagar (“#”) sehingga akan didapat sejumlah kode mata kuliah d. Jika NIM dan password salah, kirim balasan berupa pesan kesalahan
login
2. Proses KHS
KHS yang dimaksud di sini adalah KHS semester sebelumnya. Format KHS yang benar adalah : KHS<spasi>NIM<spasi>Password. . Langkah-langkah penguraian tersebut adalah sebagai berikut :
a. Uraikan SMS berdasarkan spasi dan masukkan ke dalam array,
sehingga elemen ke-2 adalah NIM
b. Periksa NIM dan password ke dalam database
c. Jika NIM dan password benar, ambil data KHS dari database
d. Jika NIM dan password salah, kirim balasan berupa pesan kesalahan
login
3. Proses PKRS
Layanan PKRS bertujuan untuk memberikan layanan kepada mahasiswa jika ingin melakukan PKRS (Perubahan Kartu Rencana Studi). Format PKRS yang benar adalah : PKRS<spasi>NIM<spasi>Password<tanda pagar>kode mata kuliah yang ingin diganti<tanda pagar>kode mata kuliah pengganti. Langkah-langkah penguraian tersebut adalah sebagai berikut :
(55)
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 : infomk<spasi>kode 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
(56)
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
(57)
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 :
(58)
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
(59)
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 :
(60)
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,
(61)
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.
3.5 Diagram Pangkalan Data
Pangkalan data yang telah dirancang pada subbab di atas dapat digambarkan dengan diagram seperti pada gambar di bawah ini:
(62)
tblmhs PK NIM Nama Password DosenID Alamat Kelas jk tempatlahir tgllahir tbldosen PK KodeDosen NamaDosen Alamat NIP password tblmk PK KodeMK NamaMK Semester SKS DosenID DosenID2 tblkrs PK id NIM KodeMK Nilai tahunajaran kelas tblsemester semester ganjilgenap tblsession PK session user tanggal NIP admin PK id namaAdmin user password config tahunajaran batas
(63)
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1Implementasi
Aplikasi ini hanya dapat digunakan oleh mahasiswa S-1 Ilmu Komputer saja dan akan bisa diakses dari mana saja jika aplikasi ini sudah terpasang pada server web S-1 Ilmu komputer yang sebenarnya. Namun pengujian aplikasi ini dilakukan pada komputer
server yang bersifat stand alone, dan pengujiannya hanya dapat dilakukan dari komputer yang terhubung dengan komputer server tersebut. Sedangkan untuk pengujian aplikasi berbasis SMS sudah dapat dilakukan dari mana saja dengan cara mengirim SMS ke nomor 0852XXXXXXX.
Dalam pengimplementasian, digunakan 2 unit komputer yang akan dijadikan sebagai server, 1 unit komputer dijadikan sebagai web server sekaligus MySQL server
dan 1 unit lagi dijadikan sebagai server untuk layanan berbasis SMS. Server untuk layanan berbasis SMS tidak boleh menggunakan IP publik sehingga tidak dapat diakses dari luar karena pada komputer tersebut akan diletakkan sebuah file PHP yang harus tetap dibuka untuk mengaktifkan layanan ini, dan file PHP tersebut hanya boleh dieksekusi dari komputer itu sendiri. File ini berfungsi untuk memproses semua SMS yang masuk setiap 3 detik. Contoh tampilan file PHP tersebut di lihat pada gambar 4.1. dan contoh topologi aplikasi dapat dilihat pada gambar 4.2
(64)
Gambar 4.1 Tampilan File Proses SMS yang Masuk
(65)
Dalam mengimplementasikan aplikasi ini dibutuhkan 3 buah komponen penting yaitu :
1. Hardware (Perangkat Keras)
Hardware adalah komponen atau peralatan yang terdapat pada sebuah komputer yang diperlukan agar komputer tersebut dapat beroperasi. Untuk mengimplementasikan aplikasi ini sebaiknya menggunakan komputer yang memiliki spesifikasi hardware yang tinggi karena komputer ini harus menangani request dalam jumlah yang banyak. Adapun spesifikasi yang direkomendasikan adalah sebagai berikut :
a. RAM minimal 512 Mb
b. Processor minimal Intel Pentium IV 3.0 GHz c. Harddisk minimal 40 Gb
d. Monitor SVGA. 15” e. VGA Card 64 Mb f. Keyboard dan Mouse
g. Ponsel yang berkomunikasi melalui port com1, misalnya Nokia 3210, 3310, 8210 atau lebih baik lagi menggunakan modem GSM
h. Kabel data penghubung antara ponsel dan komputer i. Kartu jaringan atau LAN Card
2. Software (Perangkat Lunak)
Software adalah program atau instruksi yang terpasang di dalam komputer yang memiliki fungsi tertentu tujuan utamanya adalah memudahkan pekerjaan manusia. Software yang dibutuhkan dalam mengimplementasikan aplikasi ini adalah sebagai berikut :
a. Sistem Operasi Linux b. Apache sebagai web server
(66)
d. MySQL sebagai database
e. Gammu sebagai SMS Gateway f. WebBrowser
Software-software di atas harus sudah terpasang pada komputer yang akan dijadikan sebagai server untuk aplikasi ini dan bisa di download dari internet karena semua aplikasi di atas bersifat Open Source. Pada saat implementasi, Apache, MySQL dan Gammu harus diaktifkan terlebih dahulu.
3. Brainware (Pengguna)
Brainware mutlak diperlukan karena aplikasi ini memerlukan perawatan atau maintenance, baik perawatan hardware maupun software. Aplikasi ini tidak dapat beroperasi dengan sendirinya tanpa ada instuksi dari operator. Operator diperlukan untuk proses administrasi seperti proses
update data mahasiswa, proses menjalankan service dan proses-proses administrasi lainnya.
4.2 Pengujian
Proses pengujian aplikasi ini dilakukan pada sebuah komputer yang bersifat lokal atau tidak terhubung dengan jaringan.
4.2.1 Persiapan teknis
Aplikasi ini dipasang pada sebuah komputer yang memiliki sistem operasi Linux Slackware, dan memiliki spesifikasi hardware sebagai berikut :
1. RAM 256 Mb
2. Processor Intel Pentium IV 2.26 GHz 3. Harddisk 40 Gb
(67)
4. Monitor 15” 5. VGA Card 64 Mb
Selain itu aplikasi ini juga memerlukan perangkat tambahan penting yaitu sebuah ponsel Nokia 3210, 3310, atau 8210 yang berfungsi untuk menerima dan pengirim SMS dari dan kepada pengguna, serta sebuah kabel data sebagai penghubung antara ponsel dan komputer.
Aplikasi ini diletakkan di Document Root linux slackware yaitu di /var/www/htdoc/. Pada direktori ini dibuat 2 buah direktori baru untuk sehingga untuk aplikasi berbasis web diletakkan di /var/www/htdocs/web/ sedangkan untuk aplikasi SMS diletakkan di /var/www/htdocs/sms/, sehingga untuk menguji layanan berbasis web dapat dilakukan dengan mengetikkan untuk menguji layanan berbasis SMS dapat dilakukan dengan mengetikkan
Sebelum melakukan pengujian harus dipastikan terlebih dahulu bahwa Apache, MySQL dan Gammu sudah aktif.
1. Untuk mengaktifkan Apache di Linux Slackware digunakan perintah : “apachectl start” melalui console seperti pada gambar 4.3(a)
2. Untuk mengaktifkan MySQL digunakan perintah :
“/etc/rc.d/mysqld.rc start” melalui console seperti pada gambar 4.3(a)
3. Untuk mengaktifkan Gammu digunakan perintah :
“gammu –smsd MYSQL /etc/gammurc “melalui console seperti pada gambar 4.3(a)
(68)
Gambar 4.3 (a) Perintah untuk Mengaktifkan Apache, MySQL, Gammu
Pengujian berikutnya adalah pengujian koneksi antara ponsel dan komputer. Pengujian ini dapat dilakukan dengan mengetikkan perintah “gammu –identify”. Jika koneksi berhasil, maka konsol akan menampilkan pesan seperti pada gambar 4.3(b) di bawah ini.
(1)
4.2.3 Pengujian layanan berbasis SMS
Pengujian ini dilakukan dengan cara mengirim SMS dengan format tertentu ke ponsel yang dijadikan sebagai server.
4.2.3.1Tampilan file pemroses SMS
Halaman http://localhost/sms/startserver.php seperti yang terlihat pada gambar 4.22 harus tetap terbuka selama layanan ini digunakan karena file ini akan mengambil dan mengolah SMS yang ada di dalam database setiap 3 detik.
Gambar 4.22 Tampilan File Proses SMS yang Masuk
4.2.3.2Pengujian layanan HELP
Layanan HELP adalah layanan berupa panduan format penulisan SMS untuk menu tertentu. Jika format SMS tidak dikenal, maka ponsel server akan mengirim SMS balasan dengan kalimat : “KODE TIDAK DIKENAL. U/ Panduan KHS,ketik HELP KHS. U/ Panduan KRS,ketik HELP KRS.U/ Panduan PKRS,ketik HELP PKRS.” Pada saat pengujian, dilakukan pengiriman SMS yang berisi “testing kirim salah format” dan beberapa detik kemudian diterima SMS balasan seperti yang dijelaskan di atas.
(2)
Lalu dilakukan pengujian terhadap panduan layanan KRS yaitu dengan cara mengetik “HELP KHS”, lalu beberapa detik kemudian diterima SMS balasan yang berisi “U/ melihat KHS Ketik:KHS<spasi>NIM<spasi>password. Contoh :KHS 031401060 123”. kemudian dilakukan pengujian terhadap layanan panduan untuk menu lainnya dan semuanya berfungsi dengan baik.
4.2.3.3Pengujian Layanan KHS pada Ponsel pengguna
Untuk menggunakan layanan KHS, pengguna harus mengirim SMS sesuai dengan panduan yang telah diuraikan pada subbab 4.2.3.2 di atas. Pada tahap pengujian ini, dilakukan pengiriman SMS yang berisi : “KHS 031401060 123” dan beberapa detik kemudian diterima SMS balasan yang berisi : “KHS 031401060(ganjil 2007/2008) KTU111=A,KTK215=B+,KTL312=C+,.IP=3.36”. Data hasil studi yang terdapat pada SMS ini sama dengan data yang terlihat pada gambar 4.6 yaitu tampilan proses pengujian layanan KHS berbasis web sehingga dapat diketahui bahwa layanan ini berjalan dengan baik.
Data KHS untuk semester sebelumnya hanya dapat dilihat sampai batas akhir pengisian KRS semester yang akan dijalani. Jika SMS untuk layanan KHS ini dikirim setelah batas akhir pengisian KRS, maka data KHS yang ditampilkan adalah data mata kuliah yang baru saja di ambil. Misalnya batas akhir pengisian KRS untuk semester ganjil 2007/2008 adalah 21 Juli 2007, jika pengguna mengirim SMS untuk layanan KHS sebelum tanggal tersebut maka data KHS yang diterima adalah data semester genap 2006/2007. Tetapi jika pengguna mengirim SMS setelah tanggal 21 Juli, maka data KHS yang ditampilkan adalah data mata kuliah semester ganjil 2007/2008.
(3)
berisi “KRS 031401060 123 KTB201#KTD101” maka beberapa detik kemudian diterima SMS yang berisi “KRS 031401060:KTD101 KTD102 KTD105 KTD106 KTL304 KTB201 (14 SKS)”. Walaupun mata kuliah yang baru diambil melalui SMS hanya 2 mata kuliah, namun server akan melaporkan seluruh kode mata kuliah yang telah diambil baik melalui web ataupun melalui SMS-SMS sebelumnya.
4.2.3.5Pengujian Layanan PKRS
Pengguna dapat menggunakan layanan SMS untuk melakukan perubahan KRS. Format penulisan SMS harus sesuai dengan format yang terdapat pada layanan HELP. Untuk mengetahui format KRS, pengguna dapat mengirim SMS yang berisi “HELP PKRS”. Pada tahap pengujian ini akan dilakukan penghapusan mata kuliah KTD101 dan mengantinya dengan KTD403, maka dapat dilakukan dengan mengirim SMS yang berisi pesan “PKRS 031401060 123 KTD101#KTD403”. Beberapa detik kemudian diterima SMS balasan yang berisi “Mata Kuliah KTD101 telah berhasil diganti dengan KTD403.Ketik KRS<spasi>NIM<spasi>Password untuk melihat Mata Kuliah yang sudah anda ambil”. Kemudian untuk memastikan apakah data KRS telah diperbaharui dengan cara mengirim SMS yang berisi “KRS 031401060 123”, dan beberapa detik kemudian diterima SMS balasan yang berisi “KRS 031401060:KTD403 KTD102 KTD105 KTD106 KTL304 KTB201 (12 SKS)”.
(4)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pembahasan dan evaluasi dari bab-bab terdahulu dan teori yang ada, maka dapat ditarik kesimpulan sebagai berikut :
1. Aplikasi berbasis client-server lebih mudah dikembangkan daripada aplikasi yang bersifat stand alone
2. Aplikasi pengisian KRS dan KHS berbasis SMS lebih praktis digunakan daripada berbasis web
3. Untuk menggunakan layanan berbasis SMS, pengguna hanya memerlukan ponsel yang bisa mendukung layanan SMS standar sehingga tidak harus menggunakan ponsel yang mendukung teknologi GPRS, MMS atau bahkan 3G
5.2 Saran
(5)
mempunyai ciri khas tersendiri yaitu mempunyai sistem yang dibuat sendiri, sehingga program studi S-1 Ilmu Komputer semakin dikenal oleh masyarakat.
2. Untuk mewujudkan harapan pada point 1 di atas, maka Program Studi S-1 Ilmu Komput er memerlukan sebuah real server atau server yang sebenarnya agar aplikasi ini dan aplikasi berbasis web lainnya dapat diakses dari internet
3. Untuk pengembangan lebih lanjut, server aplikasi berbasis SMS sebaiknya menggunakan sebuah modem GSM atau dengan menggunakan lebih dari 1 buah ponsel agar server tidak mengalami overload jika terjadi request dalam jumlah yang banyak
4. Untuk penelitian dan pengembangan lebih lanjut sebaiknya digunakan database yang lain seperti Oracle, ataupun SQL Server agar diketahui kekuatan dan kelemahan masing-masing database
5. Agar aplikasi pengisian KRS dengan menggunakan teknologi web dapat lebih menarik, maka dapat dibuat antarmuka pengguna yang lebih menarik dan interaktif
6. Untuk pengembangan lebih lanjut aplikasi ini sebaiknya menyediakan fasilitas grafik yang merepresentasikan suatu kondisi, misalnya grafik tingkat kelulusan mahasiswa terhadap suatu mata kuliah, dan kondisi-kondisi lainnya sehingga aplikasi ini bisa dijadikan sebagai DSS (Decision Support System)
(6)
DAFTAR PUSTAKA
Kadir, Abdul. 2001. Dasar Pemrograman Web Dinamis menggunakan PHP. Yogyakarta: Penerbit Andi.
Khang, Bustam. 2002. Trik Pemrograman Aplikasi Berbasis SMS. Jakarta: Elex media Komputindo.
Kroenke, David M. 2004. Database Processing: Dasar, Desain & Implementasi. Jakarta: Penerbit Erlangga.
Muhardin, Endy. PHP programming fundamental dan Mysql fundamental. Ramakrishnan, Raghu. 2000. Database Management Systems. Singapure:McGraw-Hill Sudibyo, Hari dan Mandahadi. 2005. Langkah Mudah Menguasai Linux Slackware 10.
Yogyakarta: Penerbit Andi.
Suja, Iman. 2005. Pemrograman SQL dan Database Server MySQL. Yogyakarta:Penerbit Andi.
Tittel, Ed. 2004. Schaum’s Outline : Computer Networking. Jakarta: Penerbit Erlangga.
tanggal 24 Februari, 2007.