025314010_Full.pdf - USD Repository

117
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

Transcript of 025314010_Full.pdf - USD Repository

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 &lt;

> Besar dari &gt;

‘ Tanda kutip satu &apos;

“ Tanda kutip dua &quot;

$ Tanda dollar $$

Spasi &nbsp;

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>&nbsp;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>&nbsp;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.