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
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
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,
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
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
ABSTRAK
FILE SECURITY SYSTEM AND FOLDER DATA USING RIJNDAEL ALGORITHM
WITH SIMETRIK KEY
ABSTRACT
DAFTAR ISI
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.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
2.7. Algoritma Rijndael 20
Bab 3 Analisis Permasalahan Algoritma Rijndael 31 3.1. Analisis Algoritma Rijndael 31 3.1.1 Proses Enkripsi Rijndael 31 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 Daftar Pustaka 84 Lampiran A: Laporan Hasil Enkripsi & Dekripsi Algoritma Rijndael 85
Dengan Kode ASCII 129
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
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.
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.
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
IMPLEMENTATION OF CLIENT-SERVER CONCEPT ON THE DESIGN OF WEB AND SMS BASED APPLICATION OF
KARTU RENCANA STUDI AND KARTU HASIL STUDI
ABSTRACT
DAFTAR ISI
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
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
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
ABSTRAK
FILE SECURITY SYSTEM AND FOLDER DATA USING RIJNDAEL ALGORITHM
WITH SIMETRIK KEY
ABSTRACT
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
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
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 Universitas1.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
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
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
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
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
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
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).
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
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
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
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
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
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)
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
Karena total 7 bit x 5 huruf = 35 bit, sedangkan yang diperlukan adalah 8 bit x 5
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:
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)
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
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
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
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
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
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
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
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
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
Gambar 3.1 Diagram Konteks Aplikasi Berbasis Web
Pada gambar di atas terlihat bahwa Mahasiswa melakukan pemilihan terhadap
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
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
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
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
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
Dosen & mata kuliah
Data Mahasiswa
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
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
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
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
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
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.
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
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 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
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
tblmhs
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
Gambar 4.1 Tampilan File Proses SMS yang Masuk
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
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
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 :
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.
4.2.2 Pengujian layanan berbasis web
Setelah semua persiapan teknis dilakukan, maka pengujian layanan berbasis dapat
dilakukan yaitu dengan mengetikkan
4.2.2.1Tampilan halaman login untuk mahasiswa
Untuk menguji halaman login untuk mahasiswa dapat dilakukan dengan mengetikkan
http://localhost/skripsi/ pada web browser sehingga akan tampil halaman seperti pada
gambar 4.4.
4.2.2.2Tampilan halaman utama untuk mahasiswa
Setelah mahasiswa melakukan login, maka aplikasi akan melakukan pengecekan pada tabel tblmhs. Jika login benar maka akan tampil halaman utama untuk mahasiswa seperti pada gambar 4.5 di bawah ini.
Gambar 4.5 Tampilan Halaman Utama
Pada gambar 4.5 di atas terlihat beberapa menu yaitu :
1. Kartu Hasil Studi
Menu ini berguna untuk melihat Kartu Hasil Studi berdasarkan semester.
Tampilan halaman ini dapat dilihat pada gambar 4.6
2. Kartu Rencana Studi