Post on 21-Jan-2023
PEMANFAATAN TEKNOLOGI WAP UNTUK SISTEM
INFORMASI SKRIPSI ONLINE
(Studi Kasus Teknik Informatika Universitas Sanata Dharma Yogyakarta)
SKRIPSI
Diajukan untuk memenuhi salah satu syarat memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun oleh Nama : Hartono Kobero
NIM : 025314010
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
THE USE OF WAP TECHNOLOGY FOR ONLINE FINAL
PROJECT INFORMATION SYSTEM
(Case Study at Informatics Engineering of Sanata Dharma University
Yogyakarta)
A Thesis
Presented as partial fulfillment of the requirements
to obtain the Sarjana Teknik Degree
in Informatics Engineering
Arranged by Name : Hartono Kobero
NIM : 025314010
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
Kupersembahkan untuk:
Tuhan Yesus … sahabat, pembimbing, dan
penyelamatku
Mami Liumita dan Papi Hastian tercinta
Adikku Dicky
Semua orang yang telah mendukungku dan memberi
semangat kepadaku
v
MOTTO
Kalahkanlah kemalasan dalam dirimu, walaupun kamu merasa sangat berat.
Jangan pernah menganggap remeh terhadap sesuatu hal, meskipun itu kecil
sekalipun.
Apabila kamu jatuh, bangkitlah dan tetaplah berjalan melihat kedepan.
Jadilah dirimu sendiri, jangan pernah membencinya, cintailah dia.
Lakukanlah yang terbaik yang kamu bisa, biarkanlah Tuhan yang berkarya
diatasnya.
vi
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yang Maha Esa karena
dengan rahmat dan berkatNya-lah penulis dapat menyelesaikan skripsi dengan
judul “Pemanfaatan Teknologi WAP Untuk Sistem Informasi Skripsi
Online”. Tulisan ini ditujukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Teknik pada Jurusan Teknik Informatika, Fakultas Sains dan Teknologi,
Universitas Sanata Dharma Yogyakarta.
Penulisan skripsi ini tidak terlepas dari bantuan, bimbingan, serta
dukungan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis
hendak berterimakasih yang sebesar-besarnya kepada:
1. Bapak Ir. Greg. Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan
Fakultas Sains dan Teknologi Universitas Sanata Dharma.
2. Ibu A.M. Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika, Dosen Pembimbing Akademik, serta Dosen Pembimbing I.
Terima kasih atas kesabaran, bantuan, dan bimbingan yang diberikan
kepada penulis dari awal sampai akhir pengerjaan skripsi ini.
3. Mas Cosmas Bramono, S.T., selaku Dosen Pembimbing II. Terima kasih
atas waktu, bantuan, bimbingan, dan masukan-masukan yang diberikan
kepada penulis selama ini.
4. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Kepala Laboratorium
Komputer Lanjut.
vii
5. Para dosen Universitas Sanata Dharma, khususnya dosen Jurusan Teknik
Informatika, terima kasih atas bekal pengetahuan yang diberikan kepada
penulis.
6. Segenap karyawan dan laboran Fakultas Teknik Universitas Sanata
Dharma, terima kasih atas pelayanan yang diberikan.
7. Mami, papi, dan adik yang telah memberikan banyak dukungan kepada
penulis.
8. Semua teman-teman Teknik Informatika yang tidak dapat disebutkan satu-
persatu namanya, baik yang seangkatan maupun yang tidak seangkatan.
Terima kasih atas kebersamaan, kekompakkan, bantuan, dan dukungan
yang diberikan.
9. Teman-teman kos: Aang, Budi, Budi Tao, Ade, Santo, Vicky, Abe, Listyo,
Calvin, Robby, Anton, Mas Bernard, Teddy, dll. Terima kasih atas
kebersamaan selama ini serta dukungan yang diberikan.
10. Afu, Achat, Febri, Ahong, Handie, Mardoni, Ferry, Arry, Kobo, Nowo, Ko
Budi CCP, dll. Terima kasih atas dukungan, bantuan, kebersamaan, suka-
duka, serta kegilaannya sehari-hari.
11. Teman-teman satu daerah yang senasib dan sepenanggungan di Yogya,
Jimmy, Epin, Ai, Gunawan, dll. Terima kasih atas dukungannya.
12. Atek dan Heri, terima kasih atas bantuan yang diberikan selama kuliah dan
masukan-masukan yang diberikan.
13. Fendy, terima kasih atas semangat, dukungan, masukan, dan saran yang
diberikan.
viii
14. Dewie, terima kasih atas semangat, dorongan, dan perhatian yang
diberikan kepada penulis.
15. Semua teman-teman dan pihak-pihak lain yang tidak dapat disebutkan
satu-persatu yang telah membantu penulis dalam penulisan skripsi ini.
Penulis berharap skripsi ini dapat berguna bagi semua pihak pada
umumnya dan mahasiswa/i Teknik Informatika pada khususnya. Penulis juga
menyadari bahwa penulisan skripsi ini masih jauh dari kesempurnaan. Oleh sebab
itu penulis mohon maaf apabila ada salah penulisan dan berucap, serta
mengharapkan masukan dan saran yang membangun.
Yogyakarta, September 2007
Penulis
ix
DAFTAR ISI
HALAMAN JUDUL ..................................................................................... i
HALAMAN PERSETUJUAN ..................................................................... iii
HALAMAN PENGESAHAN ...................................................................... iv
HALAMAN PERSEMBAHAN ................................................................... v
HALAMAN MOTTO .................................................................................. vi
KATA PENGANTAR .................................................................................. vii
DAFTAR ISI ................................................................................................. x
DAFTAR GAMBAR ................................................................................... xiv
DAFTAR TABEL ......................................................................................... xvi
ABSTRAKSI ................................................................................................. xvii
PERNYATAAN KEASLIAN KARYA ...................................................... xix
BAB I PENDAHULUAN ......................................................................... 1
1.1. Latar Belakang Masalah .................................................................. 1
1.2. Rumusan Masalah ............................................................................ 2
1.3. Batasan Masalah ............................................................................. 2
1.4. Tujuan Penulisan ............................................................................ 2
1.5. Metodologi Penelitian ..................................................................... 3
1.6. Sistematika Penulisan ..................................................................... 3
BAB II DASAR TEORI ............................................................................. 5
2.1. Internet ............................................................................................. 5
2.2. GPRS ............................................................................................... 6
2.3. Web Server ....................................................................................... 6
2.4. MySQL ............................................................................................. 7
2.5. WAP ................................................................................................ 8
2.6. WML ............................................................................................... 8
2.6.1. Pengenalan WML ................................................................ 9
2.6.1.1. Pengenalan Card .................................................. 10
x
2.6.1.2. Mengformat Teks ................................................ 10
2.6.1.3. Karakter spesial dalam WML ............................. 11
2.6.2. Bekerja dengan Card ........................................................... 12
2.6.2.1. Attribute dari Card .............................................. 12
2.6.2.2. Link Card dalam WML ....................................... 13
2.6.3. Gambar pada WML ............................................................ 15
2.6.4. Tabel pada WML ................................................................ 16
2.6.5. Mendefinisikan Task .......................................................... 17
2.6.5.1. Elemen Do ........................................................... 17
2.6.5.2. Elemen Go ........................................................... 18
2.6.5.3. Elemen Template ................................................ 19
2.6.5.4. Elemen Onevent .................................................. 20
2.6.6. Mendapatkan Input User ..................................................... 20
2.6.6.1. Elemen Input ...................................................... 20
2.6.6.2. Variabel ............................................................... 22
2.6.6.3. Elemen Select ...................................................... 22
2.6.6.4. Elemen Option .................................................... 22
2.6.6.5. Option Groups ..................................................... 23
2.6.6.6. Elemen Fieldset ................................................... 24
2.6.7. Meta Tags ............................................................................ 24
2.6.7.1. Elemen Head ....................................................... 24
2.6.7.2. Elemen Access .................................................... 24
2.6.7.3. Elemen Meta ....................................................... 25
2.7. PHP .................................................................................................. 25
2.7.1. Pengenalan PHP .................................................................. 26
2.7.2. Tipe Data pada PHP ............................................................ 26
2.7.3. Variabel pada PHP .............................................................. 26
2.7.4. Operator pada PHP .............................................................. 27
2.7.5. Struktur kendali pada PHP .................................................. 28
2.7.6. Menuliskan PHP di dalam WML ....................................... 33
2.7.7. Mengakses MySQL dengan PHP ....................................... 34
xi
BAB III ANALISA DAN DESAIN SISTEM ............................................. 35
3.1. Analisa Sistem ................................................................................ 35
3.1.1. Sistem Saat Ini .................................................................... 35
3.1.2. Sistem Yang Akan Dibangun ............................................. 35
3.1.3. Gambaran Umum Sistem .................................................... 36
3.1.4. Pemodelan Use Case ........................................................... 38
3.1.5. DFD (Data Flow Diagram) ................................................. 39
3.1.5.1. Context Diagram ................................................. 39
3.1.5.2. Diagram Berjenjang ............................................ 39
3.1.5.3. DFD Level 0 (Overview Diagram) ..................... 40
3.1.5.4. DFD Level 1 ........................................................ 40
3.2. Desain Sistem .................................................................................. 42
3.2.1. Desain Database .................................................................. 42
3.2.1.1. ER Diagram ......................................................... 42
3.2.1.2. Relational Model ................................................ 43
3.2.1.3. Struktur File Database ......................................... 44
3.2.2. Desain Antarmuka (Interface) ............................................. 46
BAB IV IMPLEMENTASI SISTEM ......................................................... 54
4.1. Lingkungan Implementasi ............................................................... 54
4.1.1. Lingkungan Perangkat Keras ............................................. 54
4.1.2. Lingkungan Perangkat Lunak ............................................. 54
4.2. Implementasi Database ................................................................... 55
4.3. Implementasi Program ..................................................................... 57
BAB V ANALISA HASIL IMPLEMENTASI ......................................... 92
5.1. Hasil Uji Sistem ............................................................................... 92
5.1.1. Uji coba secara offline ......................................................... 92
5.1.2. Uji coba secara online ......................................................... 92
5.2. Analisa total biaya untuk mengakses sistem via WAP .................... 94
5.3. Kelebihan Sistem ............................................................................. 94
xii
5.4. Kekurangan Sistem ......................................................................... 95
BAB VI PENUTUP ...................................................................................... 96
6.1. Kesimpulan ...................................................................................... 96
6.2. Saran ................................................................................................ 96
DAFTAR PUSTAKA
xiii
DAFTAR GAMBAR
Gambar 2.1 Hirarki dalam WML .................................................................... 9
Gambar 3.1 Use Case Diagram ..................................................................... 38
Gambar 3.2 Context Diagram ......................................................................... 39
Gambar 3.3 Diagram Berjenjang .................................................................... 39
Gambar 3.4 DFD Level 0 (Overview Diagram) .............................................. 40
Gambar 3.5 DFD Level 1 ................................................................................ 41
Gambar 3.6 ER Diagram (Santoso,2005) ........................................................ 42
Gambar 3.7 Relational Model (Santoso,2005) ................................................ 43
Gambar 3.8 Halaman pembuka ....................................................................... 46
Gambar 3.9 Halaman menu utama .................................................................. 47
Gambar 3.10 Halaman login mahasiswa ........................................................... 47
Gambar 3.11 Halaman menu mahasiswa ......................................................... 48
Gambar 3.12 Halaman masukkan judul ............................................................ 48
Gambar 3.13 Halaman lihat judul .................................................................... 49
Gambar 3.14 Halaman edit judul dan revisi judul ........................................... 49
Gambar 3.15 Halaman ganti judul .................................................................... 50
Gambar 3.16 Halaman daftar ujian Pra TGA ................................................... 50
Gambar 3.17 Halaman jadwal ujian Pra TGA ................................................. 51
Gambar 3.18 Halaman daftar ujian TGA .......................................................... 51
Gambar 3.19 Halaman jadwal ujian TGA ........................................................ 52
Gambar 3.20 Halaman lihat catatan .................................................................. 52
Gambar 3.21 Halaman ubah password .............................................................. 53
Gambar 3.22 Halaman logout .......................................................................... 53
Gambar 4.1 Tampilan pembuka ...................................................................... 58
Gambar 4.2 Tampilan menu utama ................................................................. 59
Gambar 4.3 Tampilan form login .................................................................... 60
Gambar 4.4 Tampilan menu mahasiswa ......................................................... 63
Gambar 4.5 Tampilan tambah judul ............................................................... 66
Gambar 4.6 Tampilan lihat judul .................................................................... 70
xiv
Gambar 4.7 Tampilan edit judul ..................................................................... 74
Gambar 4.8 Tampilan ganti judul ................................................................... 78
Gambar 4.9 Tampilan daftar ujian Pra TGA ................................................... 80
Gambar 4.10 Tampilan lihat jadwal ujian Pra TGA ........................................ 83
Gambar 4.11 Tampilan daftar ujian TGA ......................................................... 84
Gambar 4.12 Tampilan lihat jadwal ujian TGA ............................................... 86
Gambar 4.13 Tampilan lihat catatan ................................................................. 88
Gambar 4.14 Tampilan halaman ubah password .............................................. 89
Gambar 4.15 Tampilan halaman logout ............................................................ 91
xv
DAFTAR TABEL
Tabel 2.1 Elemen dasar untuk mengformat teks pada WML ........................ 11
Tabel 2.2 Karakter spesial pada WML ........................................................... 11
Tabel 2.3 Attribute gambar pada WML ......................................................... 16
Tabel 2.4 Atrribute elemen table pada WML ................................................. 16
Tabel 2.5 Attribute elemen do pada WML .................................................... 18
Tabel 2.6 Binding Task dari elemen do pada WML ..................................... 18
Tabel 2.7 Attribute elemen go pada WML .................................................... 19
Tabel 2.8 Attribute elemen template pada WML .......................................... 19
Tabel 2.9 Attribute elemen onevent pada WML ........................................... 20
Tabel 2.10 Attribute elemen input pada WML ................................................ 21
Tabel 2.11 Attribute elemen select pada WML ............................................... 22
Tabel 2.12 Attribute elemen option pada WML .............................................. 23
Tabel 2.13 Attribute elemen access pada WML .............................................. 24
Tabel 2.14 Attribute elemen meta pada WML ................................................. 25
Tabel 2.15 Arithmetic operators pada PHP ..................................................... 27
Tabel 2.16 Comparison operators pada PHP ................................................... 28
Tabel 2.17 Beberapa fungsi PHP untuk mengakses MySQL .......................... 34
Tabel 3.1 Tabel idjudul (Santoso,2005) ......................................................... 44
Tabel 3.2 Tabel kelompok (Santoso,2005) .................................................... 44
Tabel 3.3 Tabel level (Santoso,2005) ............................................................ 45
Tabel 3.4 Tabel staff (Santoso,2005) ............................................................. 45
Tabel 3.5 Tabel ujianptga (Santoso,2005) .................................................... 45
Tabel 3.6 Tabel ujiantga (Santoso,2005) ........................................................ 45
Tabel 3.7 Tabel users (Santoso,2005) ............................................................ 46
xvi
ABSTRAKSI
Salah satu teknologi pada mobile device yang sedang berkembang adalah
teknologi WAP. Teknologi ini menggunakan koneksi GPRS untuk mengakses
internet, sehingga pengguna tidak perlu terhubung dangan komputer untuk
mengakses internet. Memperhatikan hal ini, penulis tertarik untuk membuat
sebuah sistem tambahan terhadap sistem skripsi online yang sudah ada di Teknik
Informatika Universitas Sanata Dharma dengan menggunakan teknologi WAP.
Sistem ditujukan untuk mahasiswa dan hanya dapat diakses oleh pengguna yang
mempunyai mobile device, seperti handphone yang mendukung fitur WAP.
Sistem Informasi Skripsi berbasis WAP ini dibuat dengan bahasa
pemrograman WML, PHP, dengan database MySQL. Pengujian program
dilakukan dengan menggunakan WAP Emulator yaitu M3Gate dan handphone
Nokia 6600.
Dengan adanya Sistem Informasi Skripsi berbasis WAP ini, pengguna akan
lebih mudah untuk melakukan proses skripsi karena dapat dilakukan dimana saja
dan kapan saja tanpa harus terhubung dengan komputer. Biaya yang dikeluarkan
juga lebih murah dibandingkan dengan mengakses internet melalui komputer.
xvii
ABSTRACT
One of developing mobile devices technology is WAP. This technology
uses GPRS connection to access the internet, so that the users do not have to be
connected to the computer whenever they want to access the internet. Related to
this issue, the writer is interested to make an additional system to the existing
online final project information system in Informatics Engineering of Sanata
Dharma University Yogyakarta using the WAP technology. The system is aimed
for university students and can only be accessed by using mobile devices such as
handphone, which supports the WAP feature.
This WAP based Final Project Information System is developed using
WML and PHP programming, with MySQL as its database. The testing of the
program used WAP Emulator called M3Gate, and handphone Nokia 6600.
With this WAP based Final Project Information System, it will be easier
for the users to do processes in their final project because they can do these
processes anywhere and anytime without having to be connected to the computer.
Moreover, the cost for accessing it is cheaper compared to accessing the internet
by computer.
xviii
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Seiring berkembangnya teknologi, telepon selular menjadi kebutuhan
manusia yang dapat dikatakan penting. Telepon selular tidak hanya sebagai sarana
berkomunikasi, tapi juga sebagai sarana untuk hiburan dan alat dengan
bermacam-macam tools yang dapat memudahkan manusia dalam kehidupannya
sehari-hari.
Salah satu teknologi yang sedang berkembang pada telepon selular dan
PDA (Personal Data Assistant) adalah teknologi WAP (Wireless Application
Protocol). Dengan teknologi ini, para pemakai telepon selular dan PDA dapat
mengakses internet langsung dari telepon selular ataupun PDA mereka tanpa
harus terhubung dengan kabel (wireless). Dengan teknologi ini, para pemakai
tentunya dimudahkan karena dapat mengakses internet dari mana saja dan kapan
saja.
Di Teknik Informatika Universitas Sanata Dharma (TI USD) Yogyakarta,
sistem yang menangani skripsi seperti mengecek status skripsi, memasukkan dan
merevisi judul TGA, mendaftar ujian PRATGA dan TGA, serta melihat jadwal
ujian TGA dilakukan dengan mengakses website www.ti.usd.ac.id/skripsi.
Berdasarkan latar belakang diatas, penulis mencoba untuk membangun sebuah
sistem berbasis WAP yang menangani skripsi di USD, khususnya Teknik
Informatika. Sistem nantinya dapat diakses oleh user dimana user merupakan
1
2
mahasiswa yang mempunyai telepon selular atau PDA yang mempunyai fitur
GPRS (General Packet Radio Services) atau WAP.
1.2. Rumusan Masalah
Berdasarkan permasalahan diatas, maka dapat dibuat rumusan masalah
sebagai berikut: Bagaimana mengimplementasikan sebuah sistem berbasis WAP
untuk menangani skripsi di TI USD Yogyakarta?
1.3. Batasan Masalah
Pembahasan permasalahan diatas akan dibatasi menjadi:
1. Sistem hanya ditujukan untuk user (mahasiswa).
2. Sistem dibatasi untuk mengecek status skripsi, memasukkan judul dan
revisi judul, mendaftar ujian PRATGA dan TGA, serta melihat jadwal
ujian PRATGA dan TGA.
3. Sistem ini dibangun dengan menggunakan pemrograman WML, PHP, dan
database MySQL.
1.4. Tujuan Penulisan
Tujuan dari penelitian ini adalah untuk membuat sistem yang
memudahkan para mahasiswa untuk mengakses sistem skripsi yang sudah ada
dengan memanfaatkan teknologi WAP, dengan menggunakan HP atau PDA.
3
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan oleh penulis adalah studi kasus
dengan langkah-langkah sebagai berikut:
1. Studi pustaka mengenai teori-teori yang berkaitan dengan pembuatan
sistem menggunakan teknologi WAP.
2. Observasi untuk memperoleh keterangan yang benar mengenai sistem
yang sudah ada.
3. Membangun Sistem Informasi Skripsi Online dengan metode
pengembangan sistem secara terstruktur dengan langkah-langkah sebagai
berikut:
a. Menganalisa sistem.
b. Mendesain sistem.
c. Mengimplementasikan sistem ke dalam sebuah program.
d. Uji coba program untuk mengecek error atau kesalahan yang terjadi.
1.6. Sistematika Penulisan
BAB I PENDAHULUAN
Berisi hal-hal yang berkaitan dengan penulisan Tugas Akhir,
meliputi latar belakang masalah, rumusan masalah, batasan
masalah, tujuan penulisan, metodologi, dan sistematika
penulisan.
4
BAB II DASAR TEORI
Berisi penjelasan singkat mengenai teori-teori yang digunakan
dalam pembuatan Tugas Akhir ini.
BAB III ANALISA DAN DESAIN SISTEM
Berisi analisis dan desain sistem dari sistem ini.
BAB IV IMPLEMENTASI SISTEM
Menjelaskan bagaimana sistem yang telah dirancang
diimplementasikan ke dalam bentuk nyata.
BAB V ANALISA HASIL IMPLEMENTASI
Meninjau hasil yang telah dicapai, meliputi kelebihan dan
kekurangan sistem.
BAB VI PENUTUP
Berisi kesimpulan dan saran yang dapat berguna untuk penelitian
lebih lanjut.
BAB II
DASAR TEORI
2.1. Internet
Internet merupakan singkatan dari Inter Network, adalah sebuah sistem
yang terbentuk dari sekumpulan jaringan komputer di seluruh muka bumi yang
saling terhubung dan mengirimkan data dengan packet switching menggunakan
Internet Protocol (IP) yang telah distandarisasi. Internet bersifat terbuka dan
dapat diakses oleh publik.
Protokol-protokol internet yang sering digunakan adalah IP, TCP, UDP,
DNS, PPP, SLIP, ICMP, POP3, IMAP, SMTP, HTTP, HTTPS, SSH, Telnet, FTP,
LDAP, dan SSL.
Beberapa layanan populer di internet yang menggunakan protokol di atas
adalah email, Usenet, Newsgroup, File Sharing, WWW (World Wide Web),
Gopher, Session Access, WAIS, finger, IRC, MUD, dan MUSH. Diantara semua
layanan ini, email dan WWW lebih sering digunakan, karena lebih banyak servis
yang dibangun berdasarkannya, seperti milis (Mailing List) dan Weblog.
Internet memungkinkan adanya servis terkini (Real-time service), seperti
web radio dan webcast, yang dapat diakses di seluruh dunia. Selain itu melalui
internet, dua pengguna atau lebih dapat berkomunikasi secara langsung dengan
menggunakan program pengirim pesan instan seperti Camfrog, Yahoo!
Messenger, MSN Messenger, Windows Live Messenger, dan lain sebagainya.
5
6
Saat ini internet dapat diakses secara virtual dari mana saja dengan
bermacam-macam tujuan. Mobile phones, datacards, handheld game consoles,
dan cellular routers memungkinkan pengguna untuk terkoneksi ke internet
dimana saja selama ada jaringan selular yang mendukung teknologi alat tersebut.
2.2. GPRS
GPRS (General Packet Radio Services) adalah layanan komunikasi tanpa
kawat berbasis paket.
GPRS menjanjikan kecepatan mulai dari 56 kbps sampai 114 kbps,
sehingga memungkinkan akses internet biasa sampai multimedia bagi komputer,
notebook dan handheld.
GPRS dibuat berdasarkan komunikasi GSM (Global System for Mobile
communication). GPRS secara teori lebih murah daripada sambungan telepon
seluler, karena kanal yang dipakai dibagi beramai-ramai oleh sejumlah pengguna.
2.3. Web Server
Server dapat diartikan sebagai pusat dan difungsikan sebagai “pelayan”
yang berguna untuk pengiriman data dan penerimaan data serta mengatur
pengiriman dan penerimaan data diantara komputer-komputer yang tersambung.
Dengan kata lain server berfungsi menyediakan layanan terhadap klien.
Web Server adalah sebuah bentuk server yang khusus digunakan untuk
menyimpan halaman website atau homepage. Komputer dapat dikatakan sebagai
web server jika komputer tersebut memiliki suatu program server yang disebut
7
Personal Web Server (PWS). PWS ini difungsikan agar halaman web yang ada di
dalam sebuah komputer server dapat dipanggil oleh komputer klien.
Macam-macam web server diantaranya seperti Apache (Open Source),
Xitami, IIS, PWS.
2.4. MySQL
MySQL (My Structure Query Language) adalah database yang bersifat
open source, dan dapat berjalan pada semua platform baik Windows maupun
Linux. MySQL merupakan database yang bersifat jaringan sehingga dapat
digunakan untuk aplikasi Multi User (banyak pengguna).
Kelebihan lain dari MySQL adalah menggunakan query standar yang
dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan
yang terstruktur yang telah distandarkan untuk database seperti Oracle, Posgres
SQL, SQL Server, Interbase, dan lain-lain.
Sebagai sebuah database, MySQL tidak dapat berjalan sendiri tanpa
adanya sebuah aplikasi lain (interface). Program aplikasi pendukung MySQL
antara lain adalah PHP, ASP, Visual Delphi, Visual Basic, Visual FoxPro, Cold
Fusion, dan lain-lain.
MySQL memiliki tampilan layar utama berupa DOS (Disk Operating
System), sehingga bagi pemula yang belum mengenal perintah DOS akan merasa
kesulitan. Beberapa tool administratif yang digunakan untuk memudahkan dalam
menjalankan MySQL diantaranya adalah PHPMyAdmin, SQLyog, MySQL-Front,
Dbtools, dan lain-lain.
8
2.5. WAP
WAP (Wireless Apliccation Protokol) adalah standar internasional terbuka
untuk aplikasi yang menggunakan komunikasi nirkabel. Tujuan utamanya untuk
membangun aplikasi yang dapat mengakses internet dari perangkat nirkabel atau
mobile device communication, seperti Handphone, PDA (Personal Data
Assistant), Pager, dan sebagainya.
Sebuah WAP browser menyediakan semua servis dasar dari komputer
berbasis web browser tapi dipermudah pengoperasiannya dengan batasan telepon
genggam. WAP adalah protokol utama yang digunakan untuk situs mobile
internet, yang dikenal dengan situs WAP. Situs WAP adalah website yang ditulis
dalam bahasa pemrograman WML (Wireless Markup Language) dan diakses via
WAP browser.
Ada beberapa versi WAP antara lain WAP 1.2.1 dan WAP 2.0. WAP 1.2.1
hanya dapat menampilkan halaman sederhana saja sedangkan WAP 2.0 telah
mendukung bahasa XHTML dan gambar.
Berbagai macam contoh aplikasi WAP diantaranya adalah email, sports
results, news headlines, download lagu, sistem prabayar, chat, reservasi tiket, dan
sebagainya.
2.6. WML
WML (Wireless Markup Language) adalah bahasa markup yang digunakan
untuk membuat situs sehingga dapat dilihat melalui WAP device (seperti
9
Handphone, PDA, dan lain-lain). Jika tidak mempunyai WAP device, maka dapat
digunakan simulator WAP (seperti M3Gate, WinWAP dan lain-lain).
Dokumen WML berbasis XML (Extensible Markup Language), dan harus
dideklarasikan. Sebuah dokumen WML harus berkoresponden dengan dokumen
DTD (Document Type Definition) yang valid. DTD ini harus dispesifikasikan
diatas dokumen WML, dibawah deklarasi XML. Contohnya sebagai berikut:
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">
2.6.1. Pengenalan WML
Dokumen WML mempunyai header, template (optional), dan beberapa
body yang disebut cards. Susunan dokumen secara lengkap ini disebut dengan
nama deck. Satu deck bisa terdapat beberapa card. Untuk lebih jelasnya dapat
dilihat pada contoh gambar di bawah ini.
Gambar 2.1 Hirarki dalam WML
DECK
TEMPLATE Previous, Next, Home
CARD 1 Halaman utama
CARD 2 Halaman Help
CARD 3 Halaman Contact
10
WML bersifat case sensitive, dimana semua elemen dan attribute dalam
WML harus dituliskan dalam huruf kecil (lowercase), semua tag harus
mempunyai tag penutup, tag harus nested dengan benar, penulisan nilai attribute
harus diapit oleh tanda kutip satu (') atau tanda kutip ganda (").
Untuk bisa menuliskan komentar dalam dokumen WML, maka
ditambahkan <!-- pada awal komentar dan --> pada akhir komentar
2.6.1.1. Pengenalan Card
Isi halaman yakni card diletakkan diantara tag <wml>. Sebuah dokumen
WML dapat terdiri dari 1 card atau lebih. Setiap card harus memiliki id attribute
dan title attribute. id attribute digunakan untuk linking dan tittle attribute akan
ditampilkan sebagai title pada layar. Contoh berikut menunjukkan dokumen dasar
WML dengan menggunakan satu card.
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="index" title="Welcome"> <p> This is my first WML document. </p> </card> </wml>
2.6.1.2. Mengformat Teks
Berikut adalah elemen-elemen yang didukung oleh WML untuk
mengformat tampilan teks di layar.
Elemen Keterangan
<b> some text </b> Teks akan bercetak tebal
<big> some text </big> Teks dengan huruf yang besar
11
<br/> Membuat baris baru
<em> some text </em> Teks emphasised
<i> some text </i> Teks akan bercetak miring
<p> some text </p> Teks akan diperlakukan sebagai
paragraf
<small> some text </small> Teks dengan huruf yang kecil
<strong> some text </strong> Teks strong emphasised
<u> some text </u> Teks akan bergaris bawah
Tabel 2.1 Elemen dasar untuk mengformat teks pada WML
2.6.1.3. Karakter spesial dalam WML
Untuk menampilkan karakter-karakter di bawah ini, harus digunakan kode-kode
tertentu yang dapat dikenali oleh WML
Karakter Keterangan Kode
< Kecil dari <
> Besar dari >
‘ Tanda kutip satu '
“ Tanda kutip dua "
$ Tanda dollar $$
Spasi
Tabel 2.2 Karakter spesial pada WML
12
2.6.2. Bekerja dengan Card
2.6.2.1. Attribute dari Card
Berikut adalah attribute dari card beserta contoh penggunaannya
1. id
Merupakan nama dari card. Attribute ini berperan sebagai anchor
(jangkar) untuk menavigasikan card. Nama dari card di bawah adalah
"start"
<card id="start" title="Juicy Studio"> <!-- Content of card --> </card>
2. newcontext
Menentukan apakah new context diinisialisasi atau tidak. Jika new context
diset, semua variabel direset dan tumpukan history akan dihapus. Nilai
untuk attribute ini adalah true atau false.
<card id="start" title="Juicy Studio" newcontext="true"> <!-- Content of card --> </card>
3. onenterbackward
Memungkinkan untuk menspesifikasi URI (alamat) yang akan dibuka jika
card tersebut telah dinavigasikan melalui task prev.
<card id="start" title="Juicy Studio" onenterbackward="#main"> <!-- Content of card --> </card>
4. onenterforward
Memungkinkan untuk menspesifikasi URI (alamat) yang akan dibuka jika
card tersebut telah dinavigasikan melalui task go.
13
<card id="start" title="Juicy Studio" onenterforward="#intro"> <!-- Content of card --> </card>
5. ontimer
Menspesifikasikan URI (alamat) yang akan dibuka jika nilai timer telah
habis.
<card id="start" title="Juicy Studio" ontimer="#nextcard"> <!-- Content of card --> </card>
6. title
Menampilkan title (judul) pada device.
<card id="start" title="Juicy Studio"> <!-- Content of card --> </card>
2.6.2.2. Link Card dalam WML
Attribute id digunakan untuk mengidentifikasi nama card yang nantinya
digunakan untuk link. Ada beberapa cara untuk melink sebuah dokumen WML,
yaitu:
1. Absolute link
<a href="http://www.juicystudio.com/index.wml">Visit Juicy Studio</a>
2. Relative link
<a href="recent.wml">Recent Posts</a>
3. In-document link
<a href="#announce">Announcements</a>
4. Relative link ke card khusus
<a href="recent.wml#today">Recent Posts</a>
14
5. Elemen anchor
Elemen anchor memperluas sebuah elemen untuk melakukan task go,
prev, atau refresh. Berikut adalah contohnya.
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="index" title="Index Page"> <p> <anchor>First Link<go href="#first"/></anchor><br/> <anchor>Second Link<go href="#second"/></anchor><br/> <anchor>Third Link<go href="#third"/></anchor> </p> </card> <card id="first" title="First Card"> <p> This is the first card.<br/> <anchor>Back to Index<prev/></anchor> </p> </card> <card id="second" title="Second Card"> <p> This is the second card.<br/> <anchor>Back to Index<prev/></anchor> </p> </card> <card id="third" title="Third Card"> <p> This is the third card.<br/> <anchor>Back to Index<prev/></anchor> </p> </card> </wml>
6. Elemen timer
Attribute ontimer dari elemen card digunakan bersama elemen timer untuk
pindah ke card baru setelah waktu yang ditetapkan. Ontimer memberikan
nama card yang akan dituju, sedang elemen timer memberikan nilai yang
mewakili lama waktu akan habis. Waktunya dispesifikasi dalam 1/10
detik, jadi apabila nilainya 10 berarti sama dengan 1 detik. Setiap card
15
hanya boleh memilkiki 1 elemen timer. Dibawah berikut adalah contoh
elemen ontimer dan timer ini.
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="start" title="1" ontimer="#intro"> <timer value="30"/> <p align="center"> You're Always<br/> <big>Welcome</big><br/> at </p> </card> <card id="intro" title="2" ontimer="#index"> <timer value="30"/> <p align="center"> Juicy Studio<br/> W@P </p> </card> <card id="index" title="Juicy Studio"> <p align="center"> The answer's @ Juicy Studio<br/> W@P. </p> </card> </wml>
Tiap peralihan dari card yang pertama ke card kedua, card kedua ke card
ketiga akan memakan waktu 3 detik.
2.6.3. Gambar pada WML
WAP devices cenderung memiliki layar monokrom, dengan layar 100 x 50
pixel untuk WAP phone. Format gambarnya adalah wbmp, yang untungnya
tersedia pada kebanyakan paket grafis. Elemen img digunakan untuk membuat
gambar. Tag img tidak mempunyai tag penutup, hanya ditutup dengan sebuah
garis miring pada akhir elemen. Tabel berikut menunjukkan attribute yang
digunakan untuk elemen img.
16
Attribute Keterangan
align Menentukan letak gambar dengan teks, nialinya adalah:
top, middle, bottom.
alt Deskripsi tertulis untuk gambar.
height Tinggi dari gambar
hspace Menentukan jumlah spasi kosong pada bagian samping
gambar.
src Digunakan untuk menspesifikasi lokasi gambar.
vspace Menentukan jumlah spasi kosong pada atas dan bawah
gambar.
width Lebar dari gambar
Tabel 2.3 Attribute gambar pada WML
Contoh berikut menunjukkan penggunaan elemen img
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="index" title="Welcome"> <p align="center"> Juicy Studio<br/> <img src="images/smile.wbmp" alt="Smile" width="20" height="20"/><br/> W@P </p> </card> </wml>
2.6.4. Tabel pada WML
Tabel dibawah ini menunjukan attribute-attribute dalam elemen table
Atrribute Keterangan
align Menentukan letak tabel di layar, nilainya adalah
center, left, right.
columns Menentukan banyak kolom yang akan dibuat,
nilainya tidak boleh 0.
title Untuk memberi title pada tabel.
Tabel 2.4 Atrribute elemen table pada WML
17
Berikut adalah contoh penggunaan elemen table
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="index" title="Radio Stations"> <p> <table columns="2"> <tr> <td> Rock FM </td> <td> 97.4 </td> </tr> <tr> <td> Jazz FM </td> <td> 100.2 </td> </tr> <tr> <td> Wish FM </td> <td> 102.45 </td> </tr> </table> </p> </card> </wml>
2.6.5. Mendefinisikan Task
2.6.5.1. Elemen Do
Elemen do digunakan untuk menetapkan task (tugas), dan dapat ditaruh
pada sebuah card atau sebuah deck. Tugas-tugas tersebut melakukan beberapa
event, seperti layaknya mengklik sebuah button (tombol). berikut adalah attribute
dari elemen do.
18
Nilai Keterangan
Accept Pernyataan positif
Delete Option delete
Help Option help
Options Menyediakan daftar option
Prev Menyatakan kembali ke card sebelumnya
Reset Akan mereset kondisi sekarang
Unknown Tidak didefinisikan, sama dengan ""
Tabel 2.5 Attribute elemen do pada WML
Untuk setiap elemen do, harus terdapat sebuah task (tugas) yang melekat
dengan elemen itu. Tabel berikut merupakan daftar task yang dapat digunakan
dalam elemen do.
Task Syntax Keterangan
go <go href="#somewhere"/> Menspesifikasikan alamat
noop <noop/> Tidak melakukan apa-apa.
prev <prev/> Menavigasikan ke card
sebelumnya.
refresh <refresh>
<setvar name="x" value="32"/>
</refresh>
Digunakan untuk me-
refresh variabel card.
Tabel 2.6 Binding Task dari elemen do pada WML
2.6.5.2. Elemen Go
Elemen go digunakan untuk menspesifikasi URI (alamat) untuk sebuah
task (tugas). Berikut adalah tabel attribute yang digunakan elemen ini.
Attribute Keterangan
href Dibutuhkan untuk menspesifikasi alamat yang akan
dibuka. Contoh:
<go href="#somecard"/>
method Menentukan method apa yang digunakan, yaitu post
19
atau get. Contoh:
<go href="#somecard" method="post">
<postfield name="start" value="$first"/>
<postfield name="end" value="$last"/>
</go>
Tabel 2.7 Attribute elemen go pada WML
2.6.5.3. Elemen Template
Elemen template digunakan untuk mendefinisikan event yang melekat
pada seluruh deck. Jika sebuah card mendefinisikan task (tugas) dengan tipe yang
sama, maka card harus didahulukan dari template. Berikut adalah attribute dari
elemen template.
Attribute Syntax Keterangan
onenterbackward <template
onenterbackward="#somecard">
<!-- Some task -->
</template>
Menspesifikasikan
alamat URL yang
dituju melalui
elemen prev.
onenterforward <template
onenterforward="#somecard">
<!-- Some task -->
</template>
Menspesifikasikan
alamat URL yang
dituju melalui
elemen go.
ontimer <template
ontimer="#somecard">
<!-- Some task -->
</template>
Menspesifikasikan
alamat URL yang
dituju setelah
waktu habis.
Tabel 2.8 Attribute elemen template pada WML
20
2.6.5.4. Elemen Onevent
Elemen onevent digunakan untuk mendapatkan event. Event harus
menyatu dengan salah satu task (go, noop, prev, atau refresh). Tabel berikut
menunjukkan tipe-tipe event.
Attribute Syntax Keterangan
onenterbackward <onevent
onenterbackward="#somecard">
<!-- Some task -->
</onevent>
Menspesifikasikan
alamat URL yang
dituju melalui
elemen prev.
onenterforward <onevent
onenterforward="#somecard">
<!-- Some task -->
</onevent>
Menspesifikasikan
alamat URL yang
dituju melalui
elemen go.
onpick <onevent onpick="#somecard">
<!-- Some task -->
</onevent>
Menspesifikasikan
alamat URL yang
dituju jika user
memilih option
melalui elemen
select.
ontimer <onevent
ontimer="#somecard">
<!-- Some task -->
</onevent>
Menspesifikasikan
alamat URL yang
dituju setelah
waktu habis.
Tabel 2.9 Attribute elemen onevent pada WML
2.6.6. Mendapatkan Input User
2.6.6.1. Elemen Input
Elemen input digunakan untuk mendapatkan teks dari user. Teks dapat
berupa teks biasa atau password. Tabel berikut menunjukkan attribute dari
elemen input.
21
Attribute Syntax Keterangan
emptyok <input type="text"
name="username"
emptyok="false"/>
Menentukan masukan boleh
kosong atau tidak, nilainya
true atau false
format <input type="text"
name="username"
format="10M"/>
Menentukan format inputan.
A - karakter huruf besar atau
tanda baca
a - karakter huruf kecil atau
tanda baca
N - angka (0 -9)
X - karakter huruf besar atau
angka
x - karakter huruf kecil atau
angka
M - semua karakter (diubah ke
huruf besar) atau angka
m - semua karakter (diubah ke
huruf besar) atau angka
maxlength <input type="text"
name="username"
maxlength="20"/>
Membatasi panjang karakter
name <input type="text"
name="username"/>
Nama dari variabel yang akan
disimpan (harus ada)
size <input type="text"
name="username"
size="10"/>
Menspesifikasi ukuran dari
field.
title <input type="text"
name="username"
title="Login name"/>
Menspesifikasi title dari
inputan. Beberapa alat,
menggunakan title sebagai
tooltip.
type <input type="password" name="pw"/>
Tipe inputan, dapat berupa
text atau password.
value <input type="text" name="username" value="anonymous"/>
Value (nilai) default yang
akan ditampilkan di layar.
Tabel 2.10 Attribute elemen input pada WML
22
2.6.6.2. Variabel
Variabel dalam WML ditulis dengan diawali tanda dollar ($).
2.6.6.3. Elemen Select
Elemen select berguna untuk membuat list dari option-option dengan
elemen option. Berikut adalah tabel attribute yang digunakan dalam elemen
select.
Attribute Syntax Keterangan
multiple <select name="quandary"
multiple="true">
<!-- Some options -->
</select>
Menentukan dapat memilih
banyak atau tidak,
nilainya true atau false.
name <select name="quandary">
<!-- Some options -->
</select>
Memuat nama dari variabel
yang akan disimpan.
title <select name="quandary"
title="Please choose">
<!-- Some options -->
</select>
Untuk menspesifikasi
title dari elemen select.
value <select name="quandary"
value="one">
<!-- Some options -->
</select>
Menspesifikasi nilai
default dari seleksi
Tabel 2.11 Attribute elemen select pada WML
2.6.6.4. Elemen Option
Elemen option digunakan dengan elemen select untuk mendefinisikan
pilihan yang tersedia. Tabel berikut menunjukkan attribute dari elemen option.
Attribute Syntax Keterangan
onpick <option value="one" Menspedifikasikan alamat
23
onpick="#oddOne">
One
</option>
URI yang dibuka ketika
memilih option.
title <option value="one"
title="one">
One
</option>
Menspesifikasikan title.
value <option value="one">
One
</option>
Menspesifikasikan nilai
dari option.
Tabel 2.12 Attribute elemen option pada WML
2.6.6.5. Option Groups
Elemen optgroup berguna untuk membuat grup-grup option sehingga lebih
teratur. Sebuah option group terdiri dari list-list option yang berelasi dalam satu
grup. Elemen optgroup mempunyai sebuah attribute saja, yaitu title, yang
menampilkan title dari option group tersebut. Penggunaannya dapat dilihat seperti
contoh dibawah ini.
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <card id="start" title="Choose Food"> <do type="accept" label="Juicy Studio"> <go href="#index"/> </do> <p> What would you like to eat: <select name="food"> <optgroup title="Poultry"> <option value="Chicken">Chicken</option> <option value="Duck">Duck</option> </optgroup> <optgroup title="Meat"> <option value="Lamb">Lamb</option> <option value="Beef">Beef</option> </optgroup> </select> </p> </card>
24
<card id="index" title="Juicy Studio"> <p> You want to eat $food </p> </card> </wml>
2.6.6.6. Element Fieldset
Elemen fieldset berguna untuk mengelompokkan elemen input atau
elemen select dengan sebuah card untuk membuat navigasi lebih sederhana.
Fieldset mempunyai sebuah attribute, yaitu title.
2.6.7. Meta Tags
2.6.7.1. Elemen Head
Elemen head berisi informasi tentang deck. Elemen head bisa berisi
sebuah elemen access dan atau beberapa elemen meta.
2.6.7.2. Elemen Access
Elemen access digunakan untuk membatasi akses ke deck, dan harus
dimasukkan didalam head. Berikut adalah tabel attribute dari elemen access.
Attribute Keterangan
domain Nama domain yang dapat diakses oleh card-card yang ada
dalam sebuah deck.
path Direktori utama dari deck lain yang dapat diakses oleh
card-card yang ada dalam sebuah deck.
Tabel 2.13 Attribute elemen access pada WML
25
2.6.7.3. Elemen Meta
Elemen meta berguna untuk menyediakan meta data bagi deck. Berapapun
elemen meta dapat digunakan pada head dokumen WML. Berikut adalah tabel
attribute dari elemen meta.
Attribute Keterangan
content Attribute ini harus ada, menspesifikasikan meta data
untuk attribute http-equiv atau attribute nama.
Forua Optional, menentukan apakah properti sudah sampai ke
user agent, nilainya adalah true dan false.
http-
equiv
Sama dengan header HTTP dimana setiap elemen meta harus
memuat sebuah attribute http-equiv atau sebuah
attribute nama.
name Digunkan untuk tipe meta yang tidak mempunyai HTTP
equivalent.
Tabel 2.14 Attribute elemen meta pada WML
Contoh penggunaannya:
<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <wml> <head> <meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/> <meta forua="true" http-equiv="Cache-Control" content="no-cache"/> </head> <!-- Rest of content here --> </wml>
2.7. PHP
PHP adalah bahasa pemrograman server-side dan interpreter yang
tersedia pada bermacam platform. Program aslinya disebut Personal Home Page
Tools, yang merupakan asal inisial PHP. Ada juga beberapa definisi lain dari
26
PHP, yaitu PHP Hypertext Pre-processor dan Pre Hypertext Processor. Script
PHP tertanam dalam halaman web, dan diinterpretasi di server sebelum dikirim
ke klien. PHP bersifat open source dan dapat diperoleh dari www.php.net
2.7.1. Pengenalan PHP
Script PHP berkekstensikan .php. Script ditulis diantara tanda <?php dan
?>, sedangkan diluar tanda tersebut tidak akan dianggap PHP, melainkan HTML
atau WML.
Untuk menampilkan teks di PHP, dapat digunakan statement echo atau
print. Cara menuliskan komentar dalam PHP adalah dengan memberikan tanda
// pada awal baris atau dengan menempatkan komentar diantara tanda /* dan */.
2.7.2. Tipe Data pada PHP
PHP mempunyai 8 tipe data sederhana, dan dibagi dalam 3 kelompok
yaitu:
1. Tipe data skalar : boolean, integer, float, dan string
2. Tipe data gabungan : array dan object
3. Tipe data spesial : resource dan NULL
2.7.3. Variabel pada PHP
Variabel pada PHP dituliskan dengan tanda dolar ($) dan diikuti dengan
nama variabel. Nama variabel bersifat case sensitive. Nama varabel yang valid
27
diawali dengan huruf atau garis bawah (_), kemudian diikuti dengan huruf, angka,
atau garis bawah. Contonya : $_variabel_1, $variabel_2
Pada PHP versi 4 keatas, variabel dapat diberikan nilai dengan cara lain,
yaitu dengan assign by reference. Maksudnya variabel baru (atau alias)
direferensikan ke variabel aslinya. Perubahan pada variabel baru berpengaruh
terhadap variabel aslinya. Untuk membuat variabel ini, tambahkan tanda dan (&)
ke depan variabel baru tersebut. Contonya: &$variabel
2.7.4. Operator pada PHP
Ada banyak macam operator dalam PHP, diantaranya adalah:
1. Arithmetic operators
Contoh Nama Hasil
-$a Negatif Kebalikan dari $a.
$a + $b Penjumlah Jumlah dari $a dan $b.
$a - $b Pengurang Selisih dari $a dan $b.
$a * $b Pengkali Perkalian dari $a dan $b.
$a / $b Pembagi Hasil bagi dari $a dibagi $b.
$a % $b Modulus Sisa dari $a dibagi dengan $b.
Tabel 2.15 Arithmetic operators pada PHP
2. Comparison operators
Contoh Nama Hasil
$a == $b Sama dengan TRUE jika $a sama dengan $b.
$a ===
$b
Identik TRUE jika $a sama dengan $b, dan
tipe mereka sama.
$a != $b Tidak sama
dengan
TRUE jika $a tidak sama dengan
$b.
$a <> $b Tidak sama
dengan
TRUE jika $a tidak sama dengan
$b.
28
$a !==
$b
Tidak
identik
TRUE jika $a tidak sama dengan
$b, atau tipe mereka tidak sama.
$a < $b Lebih kecil
dari
TRUE jika $a lebih kecil dari
$b.
$a > $b Lebih besar
dari
TRUE jika $a lebih besar dari
$b.
$a <= $b Lebih kecil
dari atau
sama dengan
TRUE jika $a lebih kecil dari
atau sama dengan $b.
$a >= $b Lebih besar
dari atau
sama dengan
TRUE jika $a lebih besar dari
atau sama dengan $b.
Tabel 2.16 Comparison operators pada PHP
2.7.5. Struktur Kendali pada PHP
Sebuah script PHP dibangun dengan banyak statement, sebuah statement
dapat berupa penugasan, pemanggilan fungsi, perulangan, statement kondisi, atau
bahkan statement kosong. Statement biasanya ditutup dengan titik koma (;) dan
statement dapat digabung dalam statement-group dengan membungkusnya
dengan tanda kurung kurawal ({}). Berikut adalah ipe-tipe statement beserta
contohnya:
1. if
<?php if ($a > $b) { echo "a is bigger than b"; $b = $a; } ?>
2. else
<?php if ($a > $b) { echo "a is bigger than b"; } else {
29
echo "a is NOT bigger than b"; } ?>
3. else if
<?php if ($a > $b) { echo "a is bigger than b"; } elseif ($a == $b) { echo "a is equal to b"; } else { echo "a is smaller than b"; } ?> <?php if ($a == 5): echo "a equals 5"; echo "..."; elseif ($a == 6): echo "a equals 6"; echo "!!!"; else: echo "a is neither 5 nor 6"; endif; ?>
4. while
<?php /* example 1 */ $i = 1; while ($i <= 10) { echo $i++; /* the printed value would be $i before the increment (post-increment) */ } /* example 2 */ $i = 1; while ($i <= 10): echo $i; $i++; endwhile; ?>
5. do-while
<?php do { if ($i < 5) {
30
echo "i is not big enough"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i is ok"; /* process i */ } while (0); ?>
6. for
<?php /* example 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* example 2 */ for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } /* example 3 */ $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } /* example 4 */ for ($i = 1; $i <= 10; print $i, $i++); ?>
7. foreach
<?php $arr = array("one", "two", "three"); reset($arr); while (list(, $value) = each($arr)) { echo "Value: $value<br />\n";
31
} foreach ($arr as $value) { echo "Value: $value<br />\n"; } ?>
8. break
<?php $arr = array('one', 'two', 'three', 'four', 'stop', 'five'); while (list(, $val) = each($arr)) { if ($val == 'stop') { break; /* You could also write 'break 1;' here. */ } echo "$val<br />\n"; } /* Using the optional argument. */ $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br />\n"; break 1; /* Exit only the switch. */ case 10: echo "At 10; quitting<br />\n"; break 2; /* Exit the switch and the while. */ default: break; } } ?>
9. continue
<?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) continue print "$i\n"; } ?> Hasilnya adalah: 2
10. switch
<?php switch ($i) { case "apple": echo "i is apple"; break;
32
case "bar": echo "i is bar"; break; case "cake": echo "i is cake"; break; } ?>
11. declare
<?php // these are the same: // you can use this: declare(ticks=1) { // entire script here } // or you can use this: declare(ticks=1); // entire script here ?>
12. return
Return dipanggil di dalam fungsi. Gunanya adalah untuk menghentikan
eksekusi fungsi seketika dan mengembalikan value pada saat pemanggilan
fungsi.
13. require()
Fungsi require adalah memasukkan suatu file ke dalam script untuk bisa
dievaluasi, sintaksnya adalah:
<?php require 'prepend.php'; require $somefile; require ('somefile.txt'); ?>
33
14. include()
include identik dengan require. Bedanya pada pengendalian error. Require
akan mengembalikan fatal error sedangkan include mengembalikan
warning.
15. require_once()
Fungsinya hampir sama dengan require. Apabila kita menggunakan
require, kita tidak dapat menambahkan file yang sama lagi untuk kedua
kalinya. Sedangkan require_once memungkinkan untuk menambahkan
file lebih dari satu kali pada eksekusi khusus pada script.
16. include_once()
Fungsinya mirip dengan require_once.
2.7.6. Menuliskan PHP di dalam WML
Untuk membuat script WML berbasis PHP, maka pada setiap halaman
harus dikenalkan bahwa script tersebut adalah script WAP. Caranya adalah
dengan memberikan header pengenal sebagai berikut:
header("Content-type:text/vnd.wap.wml");
Kemudian pendeklarasian XML dan DTD dari WML dituliskan dengan:
echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">");
34
2.7.7. Mengakses MySQL dengan PHP
Berikut adalah beberapa fungsi PHP yang sering digunakan dalam
pemrograman untuk mengakses database MySQL.
Fungsi MySQL Keterangan
mysql_close() Menutup koneksi MySQL
mysql_connect() Membuka koneksi ke MySQL Server
mysql_create_db() Membuat database
mysql_fetch_array() Memperoleh hasil sebagai assosiative array,
numeric array, atau keduanya
mysql_fetch_row() Memperoleh hasil sebagai enumerated array
mysql_free_result() Membebaskan memory dari hasil
mysql_num_rows() Mendapatkan jumlah baris dari hasil
mysql_query() Mengirimkan query MySQL
mysql_result() Mendapatkan hasil
mysql_select_db() Memilih database MySQL
Tabel 2.17 Beberapa fungsi PHP untuk mengakses MySQL
35
BAB III
ANALISA DAN DESAIN SISTEM
3.1. Analisa Sistem
3.1.1. Sistem Saat Ini
Sistem administrasi pengelolaan skripsi di Teknik Informatika Universitas
Sanata Dharma saat ini telah terkomputerisasi. Sistem ini berbasis web dan dapat
diakses melalui internet. Sistem dibuat dengan menggunakan pemrograman PHP
dengan database MySQL.
Sistem ini telah menangani skripsi baik dari proses pengajuan judul, revisi
judul, mengecek judul, pengajuan ujian Pra TGA dan ujian TGA, penjadwalan
ujian, sampai pada pengujian PraTGA dan TGA (Santoso,2005). Sistem ini dibuat
untuk user (mahasiswa) dan staff (dosen, administrator, dan kajur). Sistem telah
dapat menggantikan proses manual dan dapat menampung data-data skripsi yang
banyak sehingga mempercepat proses dalam sistem skripsi tersebut dan
mengurangi kesalahan yang terjadi ketika sistem masih berjalan secara manual.
3.1.2. Sistem Yang Akan Dibangun
Sistem yang diusulkan adalah sebuah sistem tambahan terhadap sistem
skripsi yang sudah ada saat ini. Sistem yang baru dibuat berbasis web dengan
menggunakan teknologi WAP, dan diaplikasikan dengan menggunakan
pemrograman PHP, WML, dan database MySQL
36
Sistem dibatasi hanya untuk menangani user (mahasiswa) dalam
melakukan proses skripsi yang telah ada. Jadi, sistem ini merupakan alternatif
bagi user yang mempunyai Handphone atau PDA yang mendukung teknologi
WAP untuk melakukan proses skripsi. Dengan adanya sistem ini diharapkan
mahasiswa nantinya lebih mudah dalam melakukan proses skripsi, karena dapat
dilakukan melalui Handphone atau PDA mereka tanpa harus mengakses internet
lewat komputer. Hal ini tentunya dapat memberikan nilai tambah terhadap sistem
yang sudah ada.
3.1.3. Gambaran Umum Sistem
Berikut adalah gambaran umum sistem secara keseluruhan
(Santoso,2005):
1. Mahasiswa sebelumnya harus mendapatkan persetujuan tertulis dari dosen
pembimbing dengan menyertakan judul skripsi beserta abstraksinya.
2. Apabila mahasiswa bersangkutan telah diaktifkan user accountnya dan
telah mendapat persetujuan dari dosen pembimbing untuk judul
skripsinya, maka mahasiswa dapat melakukan proses login ke sistem.
Mahasiswa kemudian menginputkan data-data dari judulnya. Selama judul
belum diproses, mahasiswa dapat mengedit data judul skripsinya.
3. Selanjutnya judul akan diseleksi dalam rapat jurusan. Apabila judul yang
bersangkutan dinyatakan “diterima”, maka mahasiswa dapat melanjutkan
untuk membuat proposal Pra TGA. Apabila judul dinyatakan “direvisi”,
maka mahasiswa dapat melakukan login kembali dan melakukan revisi.
37
Apabila judul “ditolak”, maka mahasiswa harus menginputkan judul baru
kembali. Mahasiswa dengan status judul “kurang syarat administratif”
harus menyelesaikan persyaratan yang diminta untuk dapat diproses
kembali.
4. Selanjutnya mahasiswa yang telah menyelesaikan proposal Pra TGA dan
mengikuti mata kuliah Pra TGA dapat mendaftarkan judulnya untuk maju
ujian Pra TGA dengan melakukan login ke sistem. Mahasiswa juga dapat
memilih calon dosen pembimbing baru selain dosen sponsor. Kemudian
mahasiswa dijadwal melalui rapat jurusan.
5. Jika mahasiswa berhasil dalam ujian Pra TGA dengan nilai minimal “C”,
maka dewan penguji akan menentukan dosen pembimbing I dan
pembimbing II. Bagi mahasiswa yang tidak berhasil, dapat mengajukan
permohonan untuk ujian kembali pada periode berikutnya. Mahasiswa
dapat juga melakukan proses ganti judul apabila mahasiswa bersangkutan
ingin mengganti judulnya.
6. Mahasiswa selanjutnya mengimplementasikan TGAnya. Apabila
mahasiswa telah siap maju ujian TGA dan telah mendapatkan persetujuan
dari dosen pembimbing I dan II, maka mahasiswa dapat mendaftar ujian
TGA dengan login ke sistem dan mengisikan datanya. Selanjutnya
mahasiswa akan dijadwal ujiannya.
7. Apabila hasil ujian TGA mahasiswa mendapatkan nilai “A”, “B”, atau
“C”, maka mahasiswa dinyatakan lulus.
38
3.1.4. Pemodelan Use Case
Use Case dari sistem informasi skripsi online berbasis WAP dapat dilihat
pada Gambar 3.1 dibawah ini.
Gambar 3.1 Use Case Diagram
39
3.1.5. DFD (Data Flow Diagram)
3.1.5.1. Context Diagram
Context Diagram dari sistem dapat dilihat pada Gambar 3.2 dibawah ini.
Gambar 3.2 Context Diagram
3.1.5.2. Diagram Berjenjang
Diagram Berjenjang dari sistem dapat dilihat pada Gambar 3.3 dibawah
ini.
Gambar 3.3 Diagram Berjenjang
40
3.1.5.3. DFD Level 0 (Overview Diagram)
DFD Level 0 dari sistem dapat dilihat pada Gambar 3.4 dibawah ini.
Gambar 3.4 DFD Level 0 (Overview Diagram)
3.1.5.4. DFD Level 1
Gambar 3.5 dibawah ini menggambarkan DFD level 1 untuk proses 1.1p
yaitu proses Login.
41
1.1p
Masukkan
judul
1.2p
Lihat judul
1.3p
Edit Judul
1.5p
Ganti Judul
1.4p
Revisi judul
1.6p
Daftar ujian
Pra TGA
1.8p
Daftar ujian
TGA
1.10p
Ubah
password
1.11p
Logout
User
(Mahasiswa)
Validasi login, judul, abstrak, sponsor, kelompok
D1 users
D2 idjudul
D4 ujiantga
D5 kelompok
D6 staff
Validasi login, Nim, idjudul
Judul mahasiswa
Data kelompok judul
D1 users
D2 idjudul
Nim user
Idjudul user
D1 users
D2 idjudul
D5 kelompok
D6 staff
Update data user
Update data idjudulData idjudul
Data kelompok judul
Data dosen
D1 users
D2 idjudul
D5 kelompok
D6 staff
Update level user
Update data idjudul
Data kelompok judul
Data idjudul
Data dosen
D1 users
D2 idjudul
D2 idjudul
Update level user
Update data idjudul
Nim, level user
Nim, level user
Nim, level user
D1 usersUpdate level userNim, level user
update data idjudul
D1 users
D2 idjudul
Update level userNim, level user
Update data idjudul
D1 usersPassword baruPassword lama
Konfirmasi logout
Validasi login, password lama, password baru
Konfirmasi proses ubah password
Perintah logout
1.7p
Lihat jadwal
ujian Pra TGA
Konfirmasi proses daftar ujian tga
Validasi login, data mahasiswa
Konfirmasi proses edit judul
Validasi login, judul, abstrak,
sponsor, kelompok baru
Validasi login, judul, abstrak,
sponsor, kelompok revisi
Konfirmasi proses revisi judul
Validasi login, data mhs
Konfirmasi proses ganti judul
Validasi login, data mhs
Konfirmasi proses daftar ujian pratga
1.9p
Lihat jadwal
ujian TGA
D3 ujianptga
Konfirmasi proses tambah judul
Nim user
Update data user
Update data judul
D1 users
D2 idjudul
Nim, idjudul
idjudul
Idjudul, tgl, penguji
Validasi login, data mhs
Jadwal ujian pratga
D1 users
D2 idjudul
Nim, idjudul
idjudul
Idjudul, tgl, penguji
1.10p
Lihat catatan
Jadwal ujian tga
Validasi login, data mhs
D1 usersNim, idjudul
D2 idjudulIdjudul, catatan
Validasi login, nim, idjudul
Catatan tentang judul mhs
Gambar 3.5 DFD Level 1
42
3.2. Desain Sistem
3.2.1. Desain Database
3.2.1.1. ER Diagram
ER Diagram dari sistem dapat dilihat pada Gambar 3.6 dibawah ini.
Gambar 3.6 ER Diagram (Santoso,2005)
43
3.2.1.2. Relational Model
Relational Model dari sistem dapat dilihat pada Gambar 3.7 dibawah ini.
Gambar 3.7 Relational Model (Santoso,2005)
idjudul * nim ** judulskripsi catatan abstraksi status tgl sponsor ** Pembimbing1 ** nilaiptga nilaitga pengesahan cat acc_pembimbing1 acc_pembimbing2 kelompok
idjudul
idjudul ** tgljam tgl penguji1 **
penguji2 **
ujianptga
idjudul ** tgljam tgl penguji1 ** penguji2 ** penguji3 **
penguji4 **
ujiantga
nip * nama nick password jabatan level
staff
nim * idjudul ** nama password level
users
Keterangan: * Primary Key ** Foreign Key
44
3.2.1.3. Struktur File Database
Dalam sistem ini akan dibuat 7 buah tabel, yaitu tabel idjudul, kelompok,
level, staff, ujianptga, ujiantga, users. Tabel level dan kelompok merupakan tabel
look up, yang digunakan untuk mempermudah proses coding. Rancangan untuk
masing-masing tabel adalah sebagai berikut.
No Nama Field Tipe Keterangan
1 idjudul bigint(5) Id tabel idjudul
2 nim varchar(9) Nim mahasiswa
3 judulskripsi varchar(200) Judul skripsi
4 sponsor varchar(35) Dosen sponsor
5 abstraksi text Abstraksi judul
6 status varchar(35) Status mahasiswa
7 tgl varchar(25) Tanggal
8 catatan varchar(100) Status judul
9 Pembimbing1 varchar(35) Pembimbing 1
10 nilaiptga char(1) Nilai Pra TGA
11 nilaitga char(1) Nilai TGA
12 pengesahan varchar(30) Waktu pengesahan
13 cat text Catatan dari dosen
14 acc_pembimbing1 int(1) Acc dosen pembimbing 1
15 acc_pembimbing2 int(1) Acc dosen pembimbing 2
16 kelompok char(3) Kelompok judul
Tabel 3.1 Tabel idjudul (Santoso,2005)
No Nama Field Tipe Keterangan
1 kode char(3) Kode kelompok judul
2 nama varchar(30) Nama kelompok judul
Tabel 3.2 Tabel kelompok (Santoso,2005)
45
No Nama Field Tipe Keterangan
1 level char(2) Nilai level mahasiswa
2 keterangan varchar(255) Keterangan dari nilai level mahasiswa
Tabel 3.3 Tabel level (Santoso,2005)
No Nama Field Tipe Keterangan
1 nip varchar(15) Id dosen
2 nama varchar(55) Nama dosen
3 nick varchar(55) Username dosen
4 password varchar(35) Password dosen
5 jabatan varchar(15) Jabatan dosen
6 level char(1) Level dosen
Tabel 3.4 Tabel staff (Santoso,2005)
No Nama Field Tipe Keterangan
1 idjudul char(11) Id ujian ptga
2 tgljam char(60) Jam ujian ptga
3 tgl Date Tanggal ujian ptga
4 penguji1 char(35) Dosen penguji 1
5 penguji2 char(35) Dosen penguji 2
Tabel 3.5 Tabel ujianptga (Santoso,2005)
No Nama Field Tipe Keterangan
1 idjudul char(11) Id ujian tga
2 tgljam char(60) Jam ujian tga
3 tgl Date Tanggal ujian tga
4 penguji1 char(35) Dosen penguji 1
5 penguji2 char(35) Dosen penguji 2
6 penguji3 char(35) Dosen penguji 3
7 penguji4 char(35) Dosen penguji 4
Tabel 3.6 Tabel ujiantga (Santoso,2005)
46
No Nama Field Tipe Keterangan
1 nim varchar(9) Nim mahasiswa
2 idjudul varchar(5) Id judul mahasiswa
3 nama varchar(35) Nama mahasiswa
4 password varchar(35) Password mahasiswa
5 level varchar(2) Level mahasiswa
Tabel 3.7 Tabel users (Santoso,2005)
3.2.2. Desain Antarmuka (Interface)
1. Halaman pembuka
Halaman ini merupakan halaman yang pertama kali muncul ketika user
mengakses sistem. Selanjutnya user akan langsung dibawa ke halaman
menu utama
Gambar 3.8 Halaman pembuka
2. Halaman menu utama
Merupakan halaman menu untuk user yang terdiri dari beberapa submenu.
url
Teknik Informatika Universitas Sanata Dharma
Yogyakarta
gambar
47
Gambar 3.9 Halaman menu utama
3. Halaman login mahasiswa
Merupakan halaman untuk memasukkan data login.
Gambar 3.10 Halaman login mahasiswa
4. Halaman menu mahasiswa
Merupakan halaman menu mahasiswa. Menu yang tampil sesuai dengan
level judul mahasiswa bersangkutan.
Login mahasiswa
Nim : […] Password : […]
Home
Header # login mahasiswa # petunjuk
48
Gambar 3.11 Halaman menu mahasiswa
5. Halaman masukkan judul
Merupakan halaman untuk memasukkan data judul mahasiswa
Gambar 3.12 Halaman masukkan judul
6. Halaman lihat judul
Merupakan halaman untuk melihat judul, abstraksi, serta dosen
pembimbing dari mahasiswa bersangkutan.
Masukkan judul
Judul : […] Abstraksi : […]
Sponsor : [-pilih-] Kelompok : [-pilih-]
Menu logout
Menu
Nama …
status …
nilai pratga (jika ada) …
nilai tga (jika ada)
link proses (sesuai level) link proses (sesuai level) link proses (sesuai level)
ubah password
logout
49
Gambar 3.13 Halaman lihat judul
7. Halaman edit judul dan revisi judul
Merupakan halaman yang berisi form untuk mengedit atau merevisi judul.
Gambar 3.14 Halaman edit judul dan revisi judul
8. Halaman ganti judul
Merupakan halaman yang berisi keterangan untuk ganti judul.
Edit judul / Revisi judul
Judul : […….] Abstraksi : […….] Sponsor : […….]
Kelompok : […….]
Menu logout
Lihat Judul
Judul anda …
abstraksi …
dosen pembimbing …
menu logout
50
Gambar 3.15 Halaman ganti judul
9. Halaman daftar ujian Pra TGA
Merupakan halaman untuk daftar ujian Pra TGA.
Gambar 3.16 Halaman daftar ujian Pra TGA
10. Halaman jadwal ujian Pra TGA
Halaman yang berisi keterangan seputar jadwal ujian Pra TGA mahasiswa
bersangkutan.
Daftar ujian pra tga
Keterangan dan konfirmasi sebelum daftar ujian pra tga
Calon dosen pembimbing baru
(kosongkan bila tidak ada) [-belum ada-]
menu logout
Ganti judul
Keterangan dan konfirmasi sebelum ganti judul
Apakah anda yakin?
Ya Tidak
Logout
51
Gambar 3.17 Halaman jadwal ujian Pra TGA
11. Halaman daftar ujian TGA
Merupakan halaman untuk daftar ujian Pra TGA.
Gambar 3.18 Halaman daftar ujian TGA
12. Halaman jadwal ujian TGA
Halaman yang berisi keterangan seputar jadwal ujian Pra TGA mahasiswa
bersangkutan.
Daftar ujian tga
Keterangan dan konfirmasi sebelum daftar ujian pra tga
Proses Batal
logout
Jadwal ujian pra tga
Nim : … Nama : … Dosen pembimbing : … Tanggal ujian : … Waktu ujian : … Penguji 1 : … Penguji 2 : …
Menu logout
52
Gambar 3.19 Halaman jadwal ujian TGA
13. Halaman lihat catatan
Halaman ini berisi catatan yang diberikan dosen untuk judul mahasiswa
bersangkutan.
Gambar 3.20 Halaman lihat catatan
14. Halaman ubah password
Halaman yang berisi form untuk ubah password.
Lihat catatan
Catatan untuk judul anda: ………………………………………………………………………………………………..
Menu logout
Jadwal ujian tga
Nim : … Nama : … Dosen pembimbing 1 : … Dosen pembimbing 2 : … Tanggal ujian : … Waktu ujian : … Penguji 1 : … Penguji 2 : …
Menu logout
53
Gambar 3.21 Halaman ubah password
15. Halaman logout
Halaman ketika user logout dari sistem.
Gambar 3.22 Halaman logout
Logout
Anda telah berhasil logout dari sistem
Home
Login kembali
Ubah password Password lama : […] Password baru : […] Konfirm password baru : […]
Menu logout
BAB IV
IMPLEMENTASI SISTEM
4.1. Lingkungan Implementasi
4.1.1. Lingkungan Perangkat Keras
Perangkat keras yang digunakan dalam mengimplementasikan Sistem
Informasi Skripsi berbasis WAP ini adalah:
a. Processor : Pentium IV 1800 GHz
b. RAM Memory : 512 MB
c. Harddisk : 40 GB
d. VGA Card
e. Sound Card
f. Monitor : 15 inch dengan resolusi 1024x768 pixel
g. Perangkat Input : Keyboard dan Mouse
4.1.2. Lingkungan Perangkat Lunak
Perangkat lunak yang digunakan dalam mengimplementasikan Sistem
Informasi Skripsi Online berbasis WAP ini adalah
a. Sistem Operasi : Windows XP Professional Service Pack 1
b. Pengelolaan Basis Data : PHPMyAdmin v2.2.3
c. Piranti pemrograman : Apache v1.3.23, MySQL v3.23.48,
PHP v4.1.1, WML v1.3
d. Editor pemrograman : Notepad, Macromedia Dreamweaver 8
54
55
e. Browser : Internet Explorer v6, Opera v9.10,
M3Gate v0.6
4.2. Implementasi Database
Dari perancangan sistem, maka dapat dibuat implementasi basis data
sebagai berikut
1. Membuat database
create database if not exists 'skripsi'; USE 'skripsi';
2. Membuat tabel users
CREATE TABLE users ( nim varchar(9) NOT NULL default '0', idjudul varchar(5) NOT NULL default '', nama varchar(35) NOT NULL default '', password varchar(35) NOT NULL default '', level char(2) NOT NULL default '', url varchar(50) NOT NULL default '', head varchar(10) NOT NULL default '', Telepon varchar(15) NOT NULL default '', SKS char(3) NOT NULL default '', IPK varchar(5) NOT NULL default '', PRIMARY KEY (nim) ) TYPE=MyISAM;
3. Membuat tabel staff
CREATE TABLE staff ( nip varchar(15) NOT NULL default '', nama varchar(55) NOT NULL default '', nick varchar(55) NOT NULL default '', password varchar(35) NOT NULL default '', jabatan varchar(15) NOT NULL default '', level char(1) NOT NULL default '', PRIMARY KEY (nip) ) TYPE=MyISAM;
56
4. Membuat tabel kelompok
CREATE TABLE kelompok ( kode char(3) NOT NULL default '0', nama varchar(30) NOT NULL default '', PRIMARY KEY (kode) ) TYPE=MyISAM;
5. Membuat tabel level
CREATE TABLE level ( level char(2) NOT NULL default '', keterangan varchar(255) NOT NULL default '' ) TYPE=MyISAM;
6. Membuat tabel idjudul
CREATE TABLE idjudul ( idjudul bigint(5) NOT NULL auto_increment, nim varchar(9) NOT NULL default '', judulskripsi varchar(200) NOT NULL default '', sponsor varchar(35) NOT NULL default '', abstraksi text NOT NULL, status varchar(35) NOT NULL default '', tgl varchar(25) NOT NULL default '', catatan varchar(100) NOT NULL default '', Pembimbing1 varchar(35) NOT NULL default '', nilaiptga char(1) NOT NULL default '', nilaitga char(1) NOT NULL default '', pengesahan varchar(30) NOT NULL default '', cat text NOT NULL, acc_pembimbing1 int(1) NOT NULL default '0', acc_pembimbing2 int(1) NOT NULL default '0', kelompok char(3) NOT NULL default '0', PRIMARY KEY (idjudul,idjudul,nim), FULLTEXT KEY judulskripsi (judulskripsi) ) TYPE=MyISAM;
7. Membuat tabel ujianptga
CREATE TABLE ujianptga ( idjudul char(11) NOT NULL default '', tgljam char(60) NOT NULL default '', tgl date NOT NULL default '0000-00-00', penguji1 char(35) NOT NULL default '', penguji2 char(35) NOT NULL default '' ) TYPE=MyISAM;
57
8. Membuat tabel ujiantga
CREATE TABLE ujiantga ( idjudul char(11) NOT NULL default '', tgljam char(60) NOT NULL default '', tgl date NOT NULL default '0000-00-00', penguji1 char(35) NOT NULL default '', penguji2 char(35) NOT NULL default '', penguji3 char(35) NOT NULL default '', penguji4 char(35) NOT NULL default '' ) TYPE=MyISAM;
4.3. Implementasi Program
1. Membuat header untuk dokumen WML
Dalam WML, kita harus mendefinisikan header dan DTDnya terlebih dahulu
supaya dapat dikenali sebagai program WML. Listingnya dapat dilihat pada listing
header.inc.php dibawah ini.
header.inc.php <?php header("Content-type:text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">"); ?>
2. Membuat halaman utama (index)
Halaman index adalah halaman yang pertama kali ditampilkan oleh sistem. Pada
halaman ini akan muncul halaman pembuka yang terdiri dari logo dan keterangan,
kemudian akan dilink ke halaman menu utama. Listingnya adalah sebagai
berikut.
index.php<?php include "./header.inc.php"; ?> <wml> <card id="card1" title="Welcome" ontimer="#card2" newcontext="true"> <timer name="key" value="25"/> <p align="center"> <small>http://www.ti.usd.ac.id/skripsi/wap<br/>
58
<img src="images/usd.wbmp" align="middle" alt="usd" width="60" height="60"/><br/> <strong> Teknik Informatika Universitas Sanata Dharma Yogyakarta </strong> </small> </p> </card> <card id="card2" title="Home" newcontext="true"> <p align="center"> SI Skripsi Online<br/> Teknik Informatika USD<br/> Yogyakarta </p> <p align="left"> <small> <br/> # <a href="login.php">Login Mahasiswa</a><br/> # <a href="petunjuk.php">Petunjuk</a><br/> </small> </p> </card> </wml>
Pada setiap halaman nantinya akan memanggil header.inc.php yang telah
didefinisikan sebelumnya. Tampilan dari index.php ini dapat dilihat pada gambar
4.1 dan gambar 4.2 berikut.
Gambar 4.1 Tampilan pembuka
59
Gambar 4.2 Tampilan menu utama
3. Mengkoneksikan dokumen WML dengan database
Untuk dapat mengakses database dengan melakukan query, maka harus dibuat
sebuah file koneksi ke database. Listingnya dapat dilihat pada connect.inc.php
berikut.
connect.inc.php <?php mysql_select_db("skripsi",(mysql_connect("localhost","root",""))) or die(mysql_error()); ?>
4. Membuat halaman login
Berikut adalah listing dari form untuk melakukan proses login yaitu login.php.
login.php <?php include "./header.inc.php"; ?> <wml> <card id="login" title="Login Mahasiswa" newcontext="true"> <do type="accept" label="Login"> <go href="login_cek.php" method="post"> <postfield name="nim" value="$nim"/> <postfield name="pass" value="$pass"/> </go> </do> <p align="left"> <br/><small>NIM : </small><input type="text" name="nim"
60
emptyok="false" format="9N" maxlength="9" /> <small>Password : </small><input type="password" name="pass" emptyok="false" maxlength="15" /> </p> <p align="center"> <small><br/><br/> <a href="index.php#card2">Home</a> </small> </p> </card> </wml>
Pada WML, semua inputan user yang menggunakan form dibuat didalam tag <do>
dan <go>. Untuk menampung hasil inputannya, digunakan tag <postfield>.
Tampilan dari form login dapat dilihat pada gambar 4.3 berikut.
Gambar 4.3 Tampilan form login
Setelah menginput data, user akan dibawa ke login_cek.php, dimana akan dicek
apakah data yang diisi masih ada yang kosong atau tidak ada dalam database.
Listingnya sebagai berikut.
login_cek.php <?php session_start(); include "./connect.inc.php"; include "./header.inc.php"; $nim = $_POST[nim]; $pass = $_POST[pass]; $nimku = trim($nim);
61
$passku = md5($pass); if(empty($nim) or empty($pass)) { echo "<wml>"; echo "<card id='cek' title='Konfirmasi login' newcontext='true' ontimer='login.php'>"; echo "<timer name='key' value='20'/>"; echo "<p align='center'><small>"; echo "<br/>Silahkan cek lagi, pastikan NIM dan password diisi<br/>"; echo "<a href='login.php'>Login</a><br/>"; echo "</small></p></card></wml>"; session_destroy(); exit; } else { $query = mysql_query("select nim, password, level from users where nim='$nimku' and password='$passku'"); $data = mysql_fetch_array($query); $username = $data[0]; $password = $data[1]; $level = $data[2]; if(($nimku == $username) and ($passku == $password)) { echo "<wml>"; echo "<card id='cek' title='Konfirmasi login' newcontext='true' ontimer='menu.php'>"; echo "<timer name='key' value='10'/>"; echo "<p align='center'><small>"; session_register("username"); session_register("password"); echo "<br/>Login Anda berhasil<br/>"; echo "</small></p></card></wml>"; } else { echo "<wml>"; echo "<card id='cek' title='Konfirmasi login' newcontext='true' ontimer='login.php'>"; echo "<timer name='key' value='20'/>"; echo "<p align='center'><small>"; echo "<br/>NIM atau password anda salah<br/>"; echo "Silahkan <a href='login.php'>login</a> kembali<br/>"; echo "</small></p></card></wml>"; session_destroy(); exit; } } ?>
62
5. Membuat halaman authentication
Halaman ini akan dipanggil oleh setiap halaman yang membutuhkan proses login.
Pada halaman ini akan dicek apakah mahasiswa sudah melakukan proses login
atau belum dengan menggunakan variabel session. Jika belum, maka akan
langsung dibawa ke halaman login, listingnya adalah sebagai berikut.
authen.inc.php <?php session_start(); if(!session_is_registered(username) and !session_is_registered(password)) { include "./login.php"; exit; } ?>
6. Membuat halaman menu mahasiswa
Berikut adalah listing menu.php yang menampilkan menu dari mahasiswa.
menu.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="menu" title="Menu" newcontext="true"> <p align="center"> <small> <?php $username = $_SESSION[username]; $password = $_SESSION[password]; $query = mysql_query("select idjudul,nama,level from users where nim='$username'"); $data = mysql_fetch_array($query); $query1 = mysql_query("select status,nilaiptga,nilaitga from idjudul where idjudul='$data[0]'"); $data1 = mysql_fetch_array($query1); $level = $data[2]; echo "<b>Nama : </b><br/>$data[1]<br/>"; if($level==1) { echo "<b>Status : </b><br/><i>Belum daftar judul</i><br/>"; }
63
else { echo "<b>Status : </b><br/><i>$data1[0]</i><br/>"; } if($data1[1]!='') { echo "<b>Nilai PraTGA : </b><i>$data1[1]</i><br/>"; } if($data1[2]!='') { echo "<b>Nilai TGA : </b><i>$data1[2]</i><br/>"; } echo "<br/>"; include "./menu$level.php"; if ($level>=4) { echo "<a href='lihat_catatan.php'>Lihat Catatan</a><br/>"; } echo "<br/><a href='ubah_pass.php'>Ubah password</a><br/>"; echo "<a href='logout.php'>Logout</a><br/>"; ?> </small> </p> </card> </wml>
Tampilan dari halaman menu mahasiswa dapat dilihat pada gambar 4.4 berikut
Gambar 4.4 Tampilan menu mahasiswa
64
Menu mahasiswa akan disesuaikan dengan level judul mahasiswa bersangkutan.
Dalam program akan dipanggil halaman menu yang berisi link ke proses-proses
skripsi sesuai dengan level judul mahasiswa tersebut.
7. Membuat halaman masukkan judul
Berikut adalah form untuk memasukkan judul Tugas Akhir, listingnya dapat
dilihat pada tambah_judul.php.
tambah_judul.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; $username=$_SESSION[username]; $a = mysql_query("select level from users where nim='$username'"); $b = mysql_fetch_array($a); $lev = $b[0]; switch ($lev) { case "1": $title = "Tambah Judul"; $link = "tambah_judul_cek.php"; break; case "21": $title = "Tambah Judul Setelah Ditolak"; $link = "tambah_judul_ditolak_cek.php"; break; default: echo "<wml><card id='card' title='Maaf' newcontext='true'>"; echo "<p align='center'><small><br/>Maaf,anda tidak dapat melakukan proses tambah judul pada saat ini!<br/>"; echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } ?> <wml> <card id="tmbh" title="<?php echo "$title"; ?>" newcontext="true"> <do type="accept" label="<?php echo "$title"; ?>"> <go href="<?php echo "$link"; ?>" method="post"> <postfield name="jdl" value="$jdl"/> <postfield name="abst" value="$abst"/> <postfield name="sponsor" value="$sponsor"/> <postfield name="kelompok" value="$kelompok"/>
65
</go> </do> <p align="left"> <small>Judul : </small><input type="text" name="jdl" emptyok="false"/> <small>Abstraksi : </small><input type="text" name="abst" emptyok="false"/> <small>Sponsor : </small> <?php $query=mysql_query("select nip,nama from staff where jabatan!='Administrator' and level!='2' order by nama asc"); $query1=mysql_query("select * from kelompok"); echo "<select name='sponsor'>"; echo "<option value='0'>-Pilih-</option>"; while ($data=mysql_fetch_array($query)) { echo "<option value='$data[0]'>$data[1]</option>"; } echo "</select>"; echo "<small>Kelompok : </small><select name='kelompok'>"; echo "<option value='0'>-Pilih-</option>"; while ($data1=mysql_fetch_array($query1)) { echo "<option value='$data1[0]'>$data1[1]</option>"; } echo "</select>"; ?> <br/> </p> <p align="center"> <small> <a href="menu.php">Menu</a><br/> <a href="logout.php">Logout</a> </small> </p> </card> </wml>
66
Tampilan dari form tambah judul dapat dilihat pada gambar 4.5 dibawah ini.
Gambar 4.5 Tampilan tambah judul
Selanjutnya user akan dilink ke tambah_judul_cek.php, dimana akan dicek apakah
level judul user sesuai atau tidak, dan apakah inputan sudah benar atau belum.
Listingnya sebagai berikut.
tambah_judul_cek.php <?php include "authen.inc.php"; include "connect.inc.php"; include "header.inc.php"; ?> <wml> <card id="cek" title="Konfirmasi tambah judul" newcontext="true"> <p align="center"> <small> <?php $username=$_SESSION[username]; $password=$_SESSION[password]; $ambil=mysql_query("select level from users where nim='$username'"); $dapat=mysql_fetch_array($ambil); $level=$dapat[0]; $jdl=$_POST[jdl]; $abst=$_POST[abst]; $sponsor=$_POST[sponsor]; $kelompok=$_POST[kelompok]; $tanggal=date("j-F-Y"); if((empty($jdl)) and (empty($abst)) and ($sponsor==0) and ($kelompok==0)) { echo "<br/>Data Anda belum lengkap!<br/>"; echo "<a href='tambah_judul.php'>Ulangi</a><br/>";
67
} else { switch ($level) { case "1": $status="Pengajuan Judul"; break; default: echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } $catatan="Anda masih dapat mengedit pengajuan judul skripsi Anda"; $query = mysql_query("insert into idjudul(nim,judulskripsi,abstraksi,sponsor,kelompok,tgl,status,catatan) values ('$username','$jdl','$abst','$sponsor','$kelompok','$tanggal','$status','$catatan')"); $query1 = mysql_query("select idjudul from idjudul where nim='$username' and judulskripsi='$jdl'"); $data1 = mysql_fetch_array($query1); if($query) { $query2 = mysql_query("update users set idjudul='$data1[0]',level='2' where nim='$username'"); echo "<br/>Judul berhasil ditambahkan<br/>"; } } echo "<br/><a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
Apabila mahasiswa mendaftarkan judul baru setelah ditolak, maka akan dilink ke
tambah_judul_ ditolak_cek.php, listingnya sebagai berikut.
tambah_judul_ditolak_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="card1" title="Konfirmasi Tambah Judul"> <p align="center">
68
<small> <?php $username=$_SESSION[username]; $ambil=mysql_query("select idjudul, level from users where nim='$username'"); $dapat=mysql_fetch_array($ambil); $level=$dapat[1]; $jdl=$_POST[jdl]; $abst=$_POST[abst]; $sponsor=$_POST[sponsor]; $kelompok=$_POST[kelompok]; $tanggal=date("j-F-Y"); if((empty($jdl)) and (empty($abst)) and ($sponsor==0) and ($kelompok==0)) { echo "<br/>Data anda belum lengkap!<br/>"; echo "<a href='edit_judul.php'>Ulangi</a><br/>"; } else { switch ($level) { case "21": $status="Pengajuan Judul"; $catatan="Anda masih dapat mengedit pengajuan judul skripsi Anda"; break; default: echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } $query = mysql_query("update idjudul set status='Ditolak',catatan='Arsip Ditolak' where idjudul='$dapat[0]'"); $query1 = mysql_query("insert into idjudul (nim,judulskripsi,abstraksi,sponsor,kelompok,tgl,status,catatan) values ('$username','$jdl','$abst','$sponsor','$kelompok','$tanggal','$status','$catatan')"); $query2 = mysql_query("select idjudul from idjudul where nim='$username' and tgl='$tanggal' and status='$status'"); $data2 = mysql_fetch_array($query2); if($query2) { $query3 = mysql_query("update users set level='2', idjudul='$data2[0]' where nim='$username'"); echo "<br/>Judul Anda berhasil ditambahkan<br/>"; } } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>";
69
?> </small> </p> </card> </wml>
8. Membuat halaman lihat judul
Berikut adalah listing lihat_judul.php yang digunakan untuk melihat judul.
lihat_judul.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="lihat" title="Judul dan Abstraksi" newcontext="true"> <p align="center"> <small> <?php $username=$_SESSION[username]; $query=mysql_query("select idjudul,level from users where nim='$username'"); $data=mysql_fetch_array($query); $query1=mysql_query("select judulskripsi,abstraksi,sponsor,Pembimbing1 from idjudul where nim='$username' and idjudul='$data[0]'"); $data1=mysql_fetch_array($query1); $query2=mysql_query("select nama from staff where nip='$data1[2]'"); $data2=mysql_fetch_array($query2); $query3=mysql_query("select nama from staff where nip='$data1[3]'"); $data3=mysql_fetch_array($query3); include "./convert_to_text.inc.php"; $abstrak = preg_replace($search, $replace, $data1[1]); $jdl = $data1[0]; $level = $data[1]; echo "<br/><b>Judul Anda</b><br/>$jdl<br/>"; echo "<br/><b>Abstraksi</b><br/>$abstrak<br/>"; if ($level<=5 or $level==21 or $level==31 or $level==32) { echo "<br/><b>Dosen Sponsor</b><br/>"; if ($data2[0]!="") { echo "$data2[0]<br/>"; } else { echo "$data1[2]<br/>";
70
} } else { echo "<br/><b>Pembimbing 1</b><br/>"; if ($data3[0]!="") { echo "$data3[0]<br/>"; } else { echo "$data1[3]<br/>"; } echo "<br/><b>Pembimbing 2</b><br/>"; if ($data2[0]!="") { echo "$data2[0]<br/>"; } else { echo "$data1[2]<br/>"; } } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
Tampilan dari lihat judul dapat dilihat pada gambar 4.6 berikut.
Gambar 4.6 Tampilan lihat judul
71
Pada listing lihat_judul.php diatas dipanggil sebuah file yaitu
convert_to_text.inc.php. File ini berguna untuk mengkonversi tag-tag HTML
yang ada pada database menjadi teks. Hal ini dimaksudkan supaya tulisan dapat
ditampilkan pada WAP browser, karena bahasa pemrograman WML tidak
mengenali tag-tag HTML. File ini akan dipanggil lagi pada halaman-halaman
lainnya yang juga membutuhkan pengkonversian tersebut. Listingnya adalah
sebagai berikut.
convert_to_text.inc.php <?php $search = array ('@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags '@([\r\n])[\s]+@', // Strip out white space '@&(quot|#34);@i', // Replace HTML entities '@&(amp|#38);@i', '@&(iexcl|#161);@i', '@&(cent|#162);@i', '@&(pound|#163);@i', '@&(copy|#169);@i', '@&#(\d+);@e'); // evaluate as php $replace = array ('', '', '\1', '"', 'dan', chr(161), chr(162), chr(163), chr(169), 'chr(\1)'); ?>
9. Membuat halaman edit judul
Berikut adalah form untuk mengedit judul, ditujukan untuk user yang telah
memasukkan judulnya. Listingnya dapat dilihat pada edit_judul.php dibawah ini.
72
edit_judul.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; $username=$_SESSION[username]; $a = mysql_query("select level from users where nim='$username'"); $b = mysql_fetch_array($a); $lev = $b[0]; switch ($lev) { case "2": case "3": $title = "Edit Judul"; $link = "edit_judul_cek.php"; break; case "31": $title = "Revisi Judul"; $link = "edit_judul_revisi_cek.php"; break; default: echo "<wml><card id='card' title='Maaf' newcontext='true'>"; echo "<p align='center'><small><br/>Maaf,anda tidak dapat melakukan proses edit atau revisi judul pada saat ini!<br/>"; echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } ?> <wml> <card id="edit" title="<?php echo "$title"; ?>" newcontext="true"> <do type="accept" label="<?php echo "$title"; ?>"> <go href="<?php echo "$link"; ?>" method="post"> <postfield name="jdl" value="$jdl"/> <postfield name="abst" value="$abst"/> <postfield name="sponsor" value="$sponsor"/> <postfield name="kelompok" value="$kelompok"/> </go> </do> <?php $ambil=mysql_query("select idjudul from users where nim='$username'"); $dapat=mysql_fetch_array($ambil); $ambil1=mysql_query("select judulskripsi,abstraksi,sponsor,kelompok from idjudul where nim='$username' and idjudul='$dapat[0]'"); $dapat1=mysql_fetch_array($ambil1); include "./convert_to_text.inc.php"; $abstrak = preg_replace($search, $replace, $dapat1[1]); $ambil2=mysql_query("select nama from staff where
73
nip='$dapat1[2]'"); $dapat2=mysql_fetch_array($ambil2); $ambil3=mysql_query("select nama from kelompok where kode='$dapat1[3]'"); $dapat3=mysql_fetch_array($ambil3); echo "<p align='left'>"; echo "<small>Judul : </small><input type='text' name='jdl' emptyok='false' value='$dapat1[0]'/>"; echo "<small>Abstraksi : </small><input type='text' name='abst' emptyok='false' value='$abstrak'/>"; echo "<small>Sponsor : </small><select name='sponsor'>"; echo "<option value='$dapat1[2]'>$dapat2[0]</option>"; $query=mysql_query("select nip,nama from staff where jabatan!='Administrator' and level!='2' and nip!='$dapat1[2]' order by nama asc"); while ($data=mysql_fetch_array($query)) { echo "<option value='$data[0]'>$data[1]</option>"; } echo "</select>"; echo "<small>Kelompok : </small><select name='kelompok'>"; echo "<option value='$dapat1[3]'>$dapat3[0]</option>"; $query1=mysql_query("select * from kelompok where kode!='$dapat1[3]'"); while ($data1=mysql_fetch_array($query1)) { echo "<option value='$data1[0]'>$data1[1]</option>"; } echo "</select>"; ?> <br/> </p> <p align="center"> <small> <a href="menu.php">Menu</a><br/> <a href="logout.php">Logout</a> </small> </p> </card> </wml>
74
Tampilan dari form edit judul dapat dilihat pada gambar 4.7 berikut.
Gambar 4.7 Tampilan edit judul
Kemudian akan dilink ke edit_judul_cek.php, listingnya sebagai berikut.
edit_judul_cek.php <?php include "authen.inc.php"; include "connect.inc.php"; include "header.inc.php"; ?> <wml> <card id="cek" title="Konfirmasi Edit Judul" newcontext="true"> <p align="center"> <small> <?php $username=$_SESSION[username]; $query = mysql_query("select idjudul,level from users where nim='$username'"); $data = mysql_fetch_array($query); $level=$data[1]; $jdl=$_POST[jdl]; $abst=$_POST[abst]; $sponsor=$_POST[sponsor]; $kelompok=$_POST[kelompok]; $tanggal=date("j-F-Y"); if((empty($jdl)) and (empty($abst)) and ($sponsor==0) and ($kelompok==0)) { echo "<br/>Data anda belum lengkap!<br/>"; echo "<a href='edit_judul.php'>Ulangi</a><br/>"; } else { switch ($level) {
75
case "3": $status="Pengajuan Revisi"; $catatan="Anda masih dapat mengedit revisi anda"; break; case "2": $status="Pengajuan Judul"; $catatan="Anda masih dapat mengedit pengajuan judul skripsi Anda"; break; default: echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } $query1 = mysql_query("update idjudul set judulskripsi='$jdl',abstraksi='$abst',sponsor='$sponsor',kelompok='$kelompok',tgl='$tanggal',status='$status',catatan='$catatan' where idjudul='$data[0]'"); echo "<br/>Judul berhasil diedit<br/>"; } echo "<a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
10. Membuat halaman revisi judul
Form yang digunakan untuk merevisi judul sama dengan form edit judul diatas.
Proses pengecekannya berbeda dengan edit judul, dapat dilihat pada
edit_judul_revisi_cek.php berikut.
edit_judul_revisi_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="card1" title="Konfirmasi Revisi Judul"> <p align="center"> <small> <?php $username=$_SESSION[username]; $ambil=mysql_query("select idjudul, level from users where nim='$username'");
76
$dapat=mysql_fetch_array($ambil); $level=$dapat[1]; $jdl=$_POST[jdl]; $abst=$_POST[abst]; $sponsor=$_POST[sponsor]; $kelompok=$_POST[kelompok]; $tanggal=date("j-F-Y"); if((empty($jdl)) and (empty($abst)) and ($sponsor==0) and ($kelompok==0)) { echo "<br/>Data anda belum lengkap!<br/>"; echo "<a href='edit_judul.php'>Ulangi</a><br/>"; } else { switch ($level) { case "31": $status="Pengajuan Revisi"; $catatan="Anda masih dapat mengedit revisi anda"; break; default: echo "<br/><a href='menu.php'>Menu</a><br/><a href='logout.php'>Logout</a>"; echo "</small></p></card></wml>"; exit; break; } $query = mysql_query("update idjudul set status='Revisi',catatan='Arsip Revisi' where idjudul='$dapat[0]'"); $query1 = mysql_query("insert into idjudul (nim,judulskripsi,abstraksi,sponsor,kelompok,tgl,status,catatan) values ('$username','$jdl','$abst','$sponsor','$kelompok','$tanggal','$status','$catatan')"); $query2 = mysql_query("select idjudul from idjudul where nim='$username' and tgl='$tanggal' and status='$status'"); $data2 = mysql_fetch_array($query2); if($query2) { $query3 = mysql_query("update users set level='3', idjudul='$data2[0]' where nim='$username'"); echo "<br/>Anda berhasil melakukan revisi judul<br/>"; } } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
77
11. Membuat halaman ganti judul
Berikut adalah listing untuk halaman ganti judul, ditujukan untuk mahasiswa
dengan level judul 4, 6, atau 7.
ganti_judul.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="ganti" title="Ganti Judul"> <p align="center"> <small> <?php $username=$_SESSION[username]; $password=$_SESSION[password]; $ambil=mysql_query("select level from users where nim='$username'"); $dapat=mysql_fetch_array($ambil); $level=$dapat[0]; if($level=='4' or $level=='6' or $level=='7') { echo "<br/>Sebelum melakukan ganti judul, sebaiknya Anda konsultasi dulu dengan dosen pembimbing Anda!"; echo "<br/><br/>Apakah anda yakin akan mengganti judul skripsi Anda?"; echo "<br/><a href='ganti_judul_cek.php'>Ya</a>"; echo "<br/><a href='menu.php'>Tidak</a><br/>"; } else { echo "<br/>Anda tidak diperbolehkan untuk ganti judul<br/>"; echo "<br/><a href='menu.php'>Menu</a>"; } echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
78
Tampilan dari halaman ganti judul dapat dilihat pada gambar 4.8 berikut
Gambar 4.8 Tampilan ganti judul
Setelah menekan tombol ‘Ya’, maka user akan dilink pada ganti_judul_cek.php
ganti_judul_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="ganti" title="Ganti Judul"> <p align="center"> <small> <?php $username=$_SESSION[username]; $password=$_SESSION[password]; $ambil=mysql_query("select idjudul, level from users where nim='$username'"); $dapat=mysql_fetch_array($ambil); $idjudul=$dapat[0]; $level=$dapat[1]; if($level=='4' or $level=='6' or $level=='7') { $query = mysql_query("update idjudul set catatan='Judul Yang Tidak Dilanjutkan' where idjudul='$idjudul'"); if($query) { $query1 = mysql_query("update users set level='1', idjudul='' where nim='$username'"); echo "<br/>Proses ganti judul berhasil, data judul anda telah dihapus. Silahkan masukkan judul baru.<br/>"; echo "<br/><a href='tambah_judul.php'>Masukkan judul baru</a><br/>"; } }
79
else { echo "<br/>Anda tidak diperbolehkan untuk ganti judul<br/>"; } echo "<a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a><br/>"; ?> </small> </p> </card> </wml>
12. Membuat halaman daftar ujian Pra TGA
Berikut adalah listing halaman daftar ujian Pra TGA, ditujukan bagi user atau
mahasiswa dengan level judul 4, atau dengan kata lain judulnya telah diterima.
daftar_ujian_ptga.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="daftar" title="Daftar Ujian Pra TGA" newcontext="true"> <do type="accept" label="Daftar"> <go href="daftar_ujian_ptga_cek.php" method="post"> <postfield name="dosen" value="$dosen"/> </go> </do> <p align="center"> <?php $username=$_SESSION[username]; $query=mysql_query("select level from users where nim='$username'"); $data=mysql_fetch_array($query); $level=$data[0]; if($level==4) { echo "<small><br/>Bila Anda belum siap ujian Pra TGA, diharapkan untuk tidak mendaftar saat ini karena tidak ada pembatalan ujian"; echo "<br/>Pastikan Anda telah mendapat persetujuan Dosen Pembimbing Anda!<br/>"; echo "<br/>Calon Dosen Pembimbing baru (biarkan apabila tidak ada)<br/></small>"; $query1=mysql_query("select staff.nip from staff, idjudul, users where users.idjudul=idjudul.idjudul and staff.nip=idjudul.sponsor"); $data1=mysql_fetch_array($query1); $query2=mysql_query("select nip,nama from staff where jabatan!='Administrator' and level!='2' and nip!='$data1[0]' order
80
by nama asc"); echo "<select name='dosen'>"; echo "<option value=''>-Blm Ada-</option>"; while ($data2=mysql_fetch_array($query2)) { echo "<option value='$data2[0]'>$data2[1]</option>"; } echo "</select>"; } else { echo "<br/>Anda tidak dapat melakukan proses daftar ujian Pra TGA<br/></small>"; } echo "<small><br/><a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a><br/></small>"; ?> </p> </card> </wml>
Tampilan dari halaman daftar ujian Pra TGA seperti pada gambar 4.9 berikut.
Gambar 4.9 Tampilan daftar ujian Pra TGA
Kemudian akan dilink ke daftar_ujian_ptga_cek.php, listingnya sebagai berikut.
daftar_ujian_ptga_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="daftar" title="Daftar Ujian Pra TGA"> <p align="center"> <small>
81
<?php $username=$_SESSION[username]; $catatan=$_POST[dosen]; $tanggal=date("j-F-Y"); $query=mysql_query("select idjudul,level from users where nim='$username'"); $data=mysql_fetch_array($query); $level=$data[1]; if($level==4) { $query1=mysql_query("update idjudul set status='Pengajuan Ujian Pra TGA', tgl='$tanggal', catatan='$catatan', Pembimbing1='Belum Ada' where idjudul='$data[0]'"); if($query1) { $query2=mysql_query("update users set level='5' where nim='$username'"); echo "<br/>Anda berhasil mendaftarkan judul Anda untuk Ujian Pra TGA<br/>"; } } else { echo "<br/>Anda tidak dapat melakukan proses daftar ujian Pra TGA<br/>"; } echo "<br/><a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a><br/>"; ?> </small> </p> </card> </wml>
13. Membuat halaman lihat jadwal ujian Pra TGA
Listing berikut digunakan untuk melihat jadwal ujian Pra TGA. Jadwal akan
tampil jika mahasiswa bersangkutan telah dijadwal oleh pihak jurusan.
jadwal_ptga.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="jadwal" title="Jadwal Ujian PraTGA"> <p align="left"> <small> <?php $username = $_SESSION[username]; $query = mysql_query("select idjudul.idjudul,users.nama,
82
staff.nama from idjudul, users, staff where users.nim='$username' and users.idjudul=idjudul.idjudul and idjudul.sponsor=staff.nip"); $data = mysql_fetch_array($query); $idjdl = $data[0]; echo "<br/><b>NIM</b> : $username<br/>"; echo "<b>Nama</b> : $data[1]<br/>"; echo "<b>Dosen Pembimbing</b> : $data[2]<br/>"; $query1 = mysql_query("select * from ujianptga where idjudul='$idjdl'"); $jml = mysql_num_rows($query1); if ($jml!=0) { while ($data1=mysql_fetch_array($query1)) { $patterns = '/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/'; $replace = '\4/\3/\1\2'; $tgl_id = preg_replace($patterns,$replace,$data1[2]); echo "<b>Tanggal ujian</b> : $tgl_id<br/>"; echo "<b>Waktu ujian</b> : $data1[1]<br/>"; echo "<b>Penguji 1</b> : $data1[3]<br/>"; echo "<b>Penguji 2</b> : $data1[4]<br/>"; } } else { echo "<b>Keterangan</b> : Jadwal ujian Anda belum keluar!<br/>"; } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
83
Tampilannya dapat dilihat pada gambar 4.10 berikut
Gambar 4.10 Tampilan lihat jadwal ujian Pra TGA
14. Membuat halaman daftar ujian TGA
Berikut adalah listing halaman daftar ujian TGA. Halaman ini ditujukan bagi
mahasiswa yang telah lulus ujian Pra TGA dan hendak mendaftarkan diri untuk
ujian TGA.
daftar_ujian_tga.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="daftar" title="Daftar Ujian TGA"> <p align="center"> <small> <?php $query=mysql_query("select level from users where nim='$username'"); $data=mysql_fetch_array($query); $level=$data[0]; if($level==7) { echo "<br/>Bila Anda belum siap ujian TGA, diharapkan untuk tidak mendaftar saat ini karena tidak ada pembatalan ujian"; echo "<br/>Pastikan Anda telah mendapat persetujuan Dosen Pembimbing Anda dan telah menyelesaikan administrasi ujian!<br/>"; echo "<br/><a href='daftar_ujian_tga_cek.php'>Proses</a><br/>";
84
echo "<a href='menu.php'>Batal</a><br/>"; } else { echo "<br/>Anda tidak dapat melakukan proses daftar ujian TGA<br/>"; echo "<br/><a href='menu.php'>Menu</a>"; } echo "<br/><a href='logout.php'>Logout</a><br/>"; ?> </small> </p> </card> </wml>
Tampilan dari halaman daftar ujian TGA seperti pada gambar 4.11 berikut.
Gambar 4.11 Tampilan daftar ujian TGA
Kemudian akan dilink ke daftar_ujian_tga_cek.php, listingnya sebagai berikut.
daftar_ujian_tga_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="daftar" title="Daftar Ujian TGA"> <p align="center"> <small> <?php $username=$_SESSION[username]; $tanggal=date("j-F-Y"); $query=mysql_query("select idjudul,level from users where nim='$username'"); $data=mysql_fetch_array($query);
85
$level=$data[1]; if($level==7) { $query1=mysql_query("update idjudul set status='Pengajuan Ujian TGA', tgl='$tanggal', catatan='' where idjudul='$data[0]'"); if($query1) { $query2=mysql_query("update users set level='8' where nim='$username'"); echo "<br/>Anda berhasil mendaftarkan judul Anda untuk Ujian TGA<br/>"; } } else { echo "<br/>Anda tidak dapat melakukan proses daftar ujian TGA<br/>"; } echo "<br/><a href='menu.php'>Menu</a><br/>"; echo "<a href='logout.php'>Logout</a><br/>"; ?> </small> </p> </card> </wml>
15. Membuat halaman lihat jadwal ujian TGA
Listing berikut digunakan untuk melihat jadwal ujian TGA. Jadwal akan tampil
jika mahasiswa bersangkutan telah dijadwal oleh pihak jurusan.
jadwal_tga.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="jadwal" title="Jadwal Ujian TGA"> <p align="left"> <small> <?php $username = $_SESSION[username]; $query = mysql_query("select idjudul.idjudul,users.nama,staff.nama from idjudul,users,staff where users.nim='$username' and users.idjudul=idjudul.idjudul and idjudul.sponsor=staff.nip"); $data = mysql_fetch_array($query); $idjdl = $data[0]; $query0 = mysql_query("select staff.nama from idjudul, staff where idjudul.idjudul='$idjdl' and idjudul.Pembimbing1=staff.nip"); $data0 = mysql_fetch_array($query0); echo "<br/><b>NIM</b> : $username<br/>";
86
echo "<b>Nama</b> : $data[1]<br/>"; echo "<b>Dosen Pembimbing 1</b> : $data0[0]<br/>"; echo "<b>Dosen Pembimbing 2</b> : $data[2]<br/>"; $query1 = mysql_query("select * from ujiantga where idjudul='$idjdl'"); $jml = mysql_num_rows($query1); if ($jml!=0) { while ($data1=mysql_fetch_array($query1)) { $patterns = '/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/'; $replace = '\4/\3/\1\2'; $tgl_id = preg_replace($patterns,$replace,$data1[2]); echo "<b>Tanggal ujian</b> : $tgl_id<br/>"; echo "<b>Waktu ujian</b> : $data1[1]<br/>"; echo "<b>Penguji 1</b> : $data1[3]<br/>"; echo "<b>Penguji 2</b> : $data1[4]<br/>"; echo "<b>Penguji 3</b> : $data1[5]<br/>"; echo "<b>Penguji 4</b> : $data1[6]<br/>"; } } else { echo "<b>Keterangan</b> : Jadwal ujian Anda belum keluar!<br/>"; } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
Tampilannya dapat dilihat pada gambar 4.12 berikut
Gambar 4.12 Tampilan lihat jadwal ujian TGA
87
16. Membuat halaman lihat catatan
Berikut adalah listing untuk menampilkan halaman lihat catatan, yaitu halaman
yang berisi catatan-catatan seputar judul skripsi yang telah dimasukkan.
lihat_catatan.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="card1" title="Catatan"> <p align="left"> <small> <?php $username=$_SESSION[username]; $query = mysql_query ("select idjudul.cat from idjudul, users where users.nim='$username' and users.idjudul=idjudul.idjudul"); $data = mysql_fetch_array($query); if ($data[0]=='') { echo "Belum ada catatan untuk Anda saat ini<br/>"; } else { include "./convert_to_text.inc.php"; $catt = preg_replace($search, $replace, $data[0]); echo "<b>Catatan untuk judul Anda :</b><br/>"; echo "$catt<br/>"; } echo "<br/><a href='menu.php'>Menu</a>"; echo "<br/><a href='logout.php'>Logout</a>"; ?> </small> </p> </card> </wml>
88
Tampilan dari halaman lihat catatan dapat dilihat pada gambar 4.13 berikut
Gambar 4.13 Tampilan lihat catatan
17. Membuat halaman ubah password
Berikut adalah listing untuk membuat form ubah password. User diharuskan
untuk menginputkan password lama dan password baru beserta konfirmasi dari
password baru untuk validasinya.
ubah_pass.php <?php include "./authen.inc.php"; include "./header.inc.php"; ?> <wml> <card id="ubah" title="Ubah Password" newcontext="true"> <do type="accept" label="Ubah"> <go href="ubah_pass_cek.php" method="post"> <postfield name="p_lama" value="$p_lama"/> <postfield name="p_baru1" value="$p_baru1"/> <postfield name="p_baru2" value="$p_baru2"/> </go> </do> <p align="left"> <small>Password lama : </small><input type="password" size="15" name="p_lama"/> <small>Password baru : </small><input type="password" size="15" name="p_baru1"/> <small>Konfirm password baru : </small><input type="password" size="15" name="p_baru2"/><br/> </p>
89
<p align="center"> <small> <a href="menu.php">Menu</a><br/> <a href="logout.php">Logout</a> </small> </p> </card> </wml>
Tampilan form ubah password dapat dilihat pada gambar 4.14 berikut
Gambar 4.14 Tampilan halaman ubah password
Kemudian user akan dilink ke halaman ubah_pass_cek.php, listingnya adalah
ubah_pass_cek.php <?php include "./authen.inc.php"; include "./connect.inc.php"; include "./header.inc.php"; ?> <wml> <card id="ubah" title="Konfirmasi ubah password" newcontext="true"> <p align="center"> <small> <?php $username=$_SESSION[username]; $password=$_SESSION[password]; $p_lama=$_POST[p_lama]; $p_baru1=$_POST[p_baru1]; $p_baru2=$_POST[p_baru2]; $pass_lama=md5($p_lama); $pass_baru1=md5($p_baru1); $pass_baru2=md5($p_baru2); if ((empty($p_lama)) or (empty($p_baru1)) or (empty($p_baru2)))
90
{ echo "<br/>Ada field yang belum terisi!<br/>"; echo "<a href='ubah_pass.php'>Ulangi</a><br/>"; echo "<a href='logout.php'>Logout</a>"; } else { if(($pass_lama==$password) and ($pass_baru1==$pass_baru2)) { $query = mysql_query("update users set password='$pass_baru1' where nim='$username'"); echo "<br/>Password anda berhasil diubah<br/>"; echo "Silahkan <a href='login.php'>login</a> kembali<br/>"; session_unregister("username"); session_unregister("password"); session_destroy(); } else { echo "<br/>Data yang diisi belum benar!!<br/>"; echo "<a href='ubah_pass.php'>Ulangi</a><br/>"; echo "<a href='logout.php'>Logout</a>"; } } ?> </small> </p> </card> </wml>
18. Membuat halaman logout
Berikut adalah listing dari halaman logout yang berguna untuk menghapus data-
data session user sehingga user dapat keluar dari sistem.
logout.php <?php session_start(); session_unregister("username"); session_unregister("password"); session_destroy(); include "./header.inc.php"; ?> <wml> <card id="logout" title="Logout" newcontext="true" ontimer="index.php#card2"> <timer name="key" value="50"/> <p align="center"> <small> <br/>Anda telah berhasil logout dari sistem<br/><br/>
91
<a href="index.php">Home</a><br/> <a href="login.php">Login kembali</a> </small> </p> </card> </wml>
Tampilan dari halaman logout dapat dilihat pada gambar 4.15 dibawah ini
Gambar 4.15 Tampilan halaman logout
BAB V
ANALISA HASIL IMPLEMENTASI
5.1. Hasil Uji Sistem
Setelah melewati tahap perancangan dan implementasi, penulis melakukan
pengujian terhadap sistem yang dibuat. Berikut adalah hasil uji coba yang telah
dilakukan:
5.1.1. Uji coba secara offline
Pengujian dilakukan dengan menggunakan WAP emulator, yakni M3Gate
dan Opera Browser. Untuk mengakses database digunakan browser Internet
Explorer yaitu dengan menggunakan PHPMyAdmin v2.2.3. Aplikasi yang
digunakan untuk menjalankan localhost adalah PHPTriad v2.2, yang terdiri dari
Apache v1.3.23, MySQL v3.23.48, dan PHP v4.4.1. Hasil pengujian adalah:
1. Program telah berjalan dengan baik dan tidak mengalami error.
2. User dapat melakukan proses-proses dalam sistem dengan baik, semua
form dapat ditampilkan dan diproses dengan baik.
3. Data yang dimasukkan atau diedit oleh user telah terelasi dengan database
MySQL dan dapat ditampilkan kembali melalui sistem.
5.1.2. Uji coba secara online
Pengujian dilakukan dengan mendaftarkan account pada sebuah hosting
gratis, yaitu http://www.awardspace.com. Adapun fitur-fitur yang didukung oleh
92
93
hosting ini adalah Operating Sistem *nix, PHP v4.4.1, dan MySQL v4.0.24.
Domain name yang didapat adalah http://onot.awardspace.com.
Uji coba dilakukan dengan menggunakan HP Nokia 6600, dengan
menggunakan provider Indosat, dengan kartu IM3. Setting untuk GPRS IM3
adalah sebagai berikut:
• Access Point Name (APN) - www.indosat-m3.net
• Username - gprs
• Password - im3
• WAP Gateway IP Address - 010.019.019.019
• Port - 9201 (standard), 8080 (proxy)
• Homepage - http://wap.indosat-m3.net
Hasil pengujian yang didapatkan adalah:
1. Sistem telah berjalan dengan baik, dan tidak mengalami error.
2. Tampilan akan berbeda dengan tampilan pada desain karena disesuaikan
dengan layar device.
3. User dapat melakukan proses-proses dalam sistem dengan baik, semua
form dapat ditampilkan dan diproses dengan baik.
4. Data yang dimasukkan atau diedit oleh user telah terelasi dengan database
MySQL dan dapat ditampilkan kembali melalui sistem.
94
5.2. Analisa total biaya untuk mengakses sistem via WAP
Pada pengujian ini, akan dihitung seberapa banyak biaya yang dikeluarkan
untuk mengakses sistem via WAP dengan menggunakan provider Indosat dengan
kartu IM3. Pengujian dilakukan dengan mengakses beberapa proses-proses yang
ada dalam sistem, diantaranya: halaman utama (index), halaman petunjuk,
halaman login, halaman menu mahasiswa, serta halaman logout.
Pada awal pengujian, pulsa yang ada sebanyak Rp.7089. Setelah
mengakses sistem dengan menampilkan halaman-halaman yang disebutkan diatas,
pulsa yang tinggal sebesar Rp.7069. Jadi total biaya yang dikeluarkan untuk
mengakses proses-proses dalam sistem dengan charge rate untuk GPRS sebesar
Rp. 1,-/kb adalah sebesar: Rp.7089 - Rp.7069 = Rp.20. Hal ini disebabkan karena
data-data yang ditampilkan pada browser tidak banyak, hanya berupa tulisan dan
gambar yang berukuran kecil, sehingga biaya yang dikeluarkan lebih murah
dibandingkan dengan mengakses website melalui komputer.
5.3. Kelebihan Sistem
Berdasarkan analisa dan implementasi yang dilakukan, dapat diambil
beberapa hal yang menjadi kelebihan sistem, diantaranya:
1. Pengaksesan sistem lebih cepat karena format gambar yang didukung oleh
sistem (WBMP) tercipta dalam ukuran yang kecil, karena resolusi pixelnya
kecil dan hanya mendukung warna monochrome. Selain itu, file-file WML
dan PHP yang tercipta untuk menampilkan halaman-halaman juga
berukuran kecil.
95
2. Sistem dapat diakses dari mana saja dan kapan saja melalui HP atau PDA
yang mendukung teknologi WAP.
3. Media penyimpanan yang dibutuhkan tergolong kecil, dan tidak
membutuhkan spesifikasi komputer yang tinggi.
4. Sistem dilengkapi dengan menggunakan login, dan halaman-halaman yang
penting telah diberikan authentication untuk mencegah pengaksesan
langsung ke halaman bersangkutan.
5.4. Kekurangan Sistem
Adapun kekurangan sistem diantaranya adalah:
1. Tampilan pada layar setiap device berbeda-beda karena menyesuaikan
dengan besar layar dan tombol-tombol yang ada pada device.
2. Sistem hanya dapat berjalan pada HP atau PDA yang mendukung
teknologi WAP atau mendukung fitur GPRS.
3. Sistem belum dapat berjalan dengan sempurna tanpa adanya sistem
berbasis web yang sudah ada sebelumnya. Hal ini disebabkan karena
sistem hanya mendukung proses-proses skripsi yang dilakukan oleh user,
dimana proses-proses ini juga dipengaruhi oleh proses-proses yang
dilakukan oleh staff melalui sistem berbasis web yang sudah ada.
BAB VI
PENUTUP
6.1. Kesimpulan
Berdasarkan hasil dari implementasi program dan pengujian yang
dilakukan, diperoleh kesimpulan sebagai berikut:
1. Aplikasi WAP ini dapat berjalan dengan baik, sehingga tidak menutup
dapat diterapkan dalam kondisi yang sesungguhnya. User dapat
mengakses sistem skripsi melalui Handphone atau PDA yang mendukung
fitur WAP tanpa harus memakai komputer, sehingga dapat diakses dimana
saja dan kapan saja.
2. Penggunaan teknologi WAP ini membutuhkan biaya yang lebih murah
dibandingkan dengan teknologi SMS atau mengakses website dari
komputer.
6.2. Saran
Beberapa saran penulis untuk pengembangan sistem secara lanjut adalah:
1. Sistem dapat dibuat tidak hanya untuk user (mahasiswa) saja, tapi juga
untuk staff (meliputi dosen, administrator, dan kepala jurusan).
2. Sistem dapat dikembangkan tidak hanya untuk keperluan skripsi saja, tapi
juga untuk keperluan non akademik (seperti promosi, informasi, berita-
berita seputar universitas, dan sebagainya) maupun keperluan akademik
96
97
lainnya (seperti penerimaan mahaiswa baru, mengisi KRS, penjadwalan
kuliah dan ujian semester, dan sebagainya).
DAFTAR PUSTAKA
Nugroho, Bunafit, Pengembangan Program WAP dengan WML & PHP, Gava
Media, Yogyakarta, 2005.
Nugroho, Bunafit, PHP & MySQL dengan Editor Dreamweaver MX, Penerbit
Andi, Yogyakarta, 2004.
Santoso, Teddy Harjono, Penggunaan PHP untuk mengembangkan Sistem
Informasi Skripsi Berbasis Web (studi kasus pada program studi Teknik
Informatika Universitas Sanata Dharma), Skripsi S1 Program Studi
Teknik Informatika Universitas Sanata Dharma Yogyakarta, 2005.
Manual PHP, http://www.php.net, 2005.
Tutorial WML, http://www.developerfusion.co.uk, 2005.
http://www.wikipedia.org, 2007.