Aplikasi WAP Mail - USD

100
Aplikasi WAP Mail Skripsi Untuk memenuhi salah satu syarat kelulusan Program Sarjana (S-1) Teknik Informatika Oleh : Nama : Margaretta Wiwin Krisnita Irawati NIM : 005314064 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

Transcript of Aplikasi WAP Mail - USD

Page 1: Aplikasi WAP Mail - USD

Aplikasi WAP Mail

Skripsi

Untuk memenuhi salah satu syarat kelulusan

Program Sarjana (S-1)

Teknik Informatika

Oleh :

Nama : Margaretta Wiwin Krisnita Irawati

NIM : 005314064

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2007

Page 2: Aplikasi WAP Mail - USD

WAP Mail Application

A THESIS

Presented as Partial Fulfilment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By:

Name : Margaretta Wiwin Krisnita Irawati

NIM : 005314064

DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2007

ii

Page 3: Aplikasi WAP Mail - USD
Page 4: Aplikasi WAP Mail - USD
Page 5: Aplikasi WAP Mail - USD

ΘΘΘΘΘΘΘΘΘΘΘΘΘ

Kupersembahkan untuk :

Jesus-ku, Mama, Papa, Saudara-saudaraku, Teman-temanku, and My

Best Alen.

Terima Kasih atas segala kepercayaan, kasih, dan dorongan dalam

menyelesaikan Tugas Akhir ini.

ΘΘΘΘΘΘΘΘΘΘΘΘΘ

v

Page 6: Aplikasi WAP Mail - USD

ΘΘΘΘΘΘΘΘΘΘΘΘΘ

Mencari tahu apa bakatku dan mengembalikannya pada dunia – Mike

Buettell

ΘΘΘΘΘΘΘΘΘΘΘΘΘ

vi

Page 7: Aplikasi WAP Mail - USD

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa

atas berkat dan rahmat-Nya, sehingga penulis dapat menyelesaikan penulisan

tugas akhir mengenai “Aplikasi WAP Mail”.

Penulisan tugas akhir ini dimaksudkan untuk memenuhi salah satu syarat

kelulusan Program Sarjana (S-1) pada Fakultas Sains dan Teknologi Jurusan

Teknik Informatika Universitas Sanata Dharma Yogyakarta.

Pada kesempatan ini, penulis ingin mengucapkan terima kasih secara

tertulis kepada pihak-pihak berikut :

1. Ir. Greg. Heliarko, S.J., S.S., BST., M.A., M.Sc., selaku Dekan Sains dan

Teknologi Universitas Sanata Dharma.

2. Agnes Maria Polina, S.Kom., M.Sc, selaku Kaprodi Teknik Informatika

Universitas Yogyakarta dan juga selaku dosen pembimbing dalam proses

penulisan tugas akhir ini.

3. Bapak Wawan, Bapak Antok, Bapak Wisnu, Bapak Albert, Bapak Agung,

Bapak Yudhi, Bapak Harris, Ibu Merry, Ibu Ridho dan segenap dosen

Teknik Informatika Universitas Sanata Dharma atas segala ilmu dan

pengetahuan yang telah diberikan.

4. Pak Belle, Mas Danang, Mas Gito, Ibu Titik, Mbak Marni dan seluruh

karyawan labotarium dan administrasi Universitas Sanata Dharma atas

bantuannya selama penulis mengurus ujian dan kelengkapan administrasi.

vii

Page 8: Aplikasi WAP Mail - USD

viii

5. Wawan, Eko, Kris, dan seluruh karyawan Cosmo Group, atas bantuannya

selama penulis menitipkan komputer dan meminjam IP public perusahaan.

Terima kasih untuk kesediaannya menjaga komputer penulis.

6. Thesa, Linda, Mia, Ayu, Danang, Chandra, Yanuar, Yudhi, Merry, Dwi,

Dewa, Gina, Agnes, Agus, dan semua teman-teman yang tidak dapat

penulis sebutkan satu persatu atas semua dukungannya baik langsung

maupun tidak langsung.

7. Mbak Dewi, atas dorongan, nasihat, dan semangat untuk menghadapi ujian

dan menyelesaikan ujian, dan juga makan-makannya sebelum penulis

ujian. Terima kasih sekali atas semua yang sudah dibagikan kepada

penulis baik dalam pendidikan penulis maupun di luar pendidikan penulis.

8. Yolanda, yang telah menjadi teman curahan hati penulis dalam hal skripsi

maupun di luar skripsi. Terima kasih untuk segala hal yang telah dibagi

kepada penulis. Mari atur hidup kita, lepas dari hal-hal di belakang yang

pernah mengganggu kita.

9. dan kepada pihak-pihak yang tidak dapat disebutkan satu-persatu namun

turut membantu dalam penulisan tugas akhir ini.

Harapan penulis, semoga karya tulis ini dapat memberi manfaat bagi para

pembaca.

Terima Kasih.

Yogyakarta, 27 Agustus 2007

Margaretta Wiwin K.I

Page 9: Aplikasi WAP Mail - USD

DAFTAR ISI

Halaman Judul.................................................................................................. i Halaman Persetujuani ...................................................................................... ii Halaman Pengesahan ....................................................................................... iv Halaman Persembahan..................................................................................... v Halaman Motto ................................................................................................ vi Kata Pengantar ................................................................................................. vii Daftar Isi .......................................................................................................... ix Daftar Gambar.................................................................................................. xi Daftar Tabel ..................................................................................................... xiii Abstraksi .......................................................................................................... xiv Abstract ............................................................................................................ xv Pernyataan Keaslian Karya .............................................................................. xvi BAB I PENDAHULUAN ............................................................................... 1

1.1 Latar Belakang Masalah.................................................................... 1 1.2 Rumusan Masalah ............................................................................. 2 1.3 Batasan Masalah ............................................................................... 2 1.4 Tujuan dan Manfaat Penelitian ......................................................... 3 1.5 Metodologi Penelitian ....................................................................... 3 1.6 Sistematika Penulisan ....................................................................... 4

BAB II LANDASAN TEORI ....................................................................... 6

2.1 WAP (Wireless Application Protocol).............................................. 6 2.1.1 Pengertian WAP....................................................................... 6 2.1.2 Cara Kerja WAP ...................................................................... 7 2.1.3 WAP Gateway.......................................................................... 9 2.1.4 Konfigurasi WAP Server ......................................................... 11 2.1.5 Keuntungan WAP ................................................................... 12

2.2 WML (Wireless Markup Language)................................................. 13 2.2.1 Sintaks WML ........................................................................... 14

2.3 PHP (PHP Hypertext Preprocessor)................................................. 20 2.3.1 Struktur Skrip PHP................................................................... 21 2.3.2 Sintaks dalam PHP................................................................... 22 2.3.2.1 Operator ....................................................................... 22 2.3.2.2 Struktur Kontrol ........................................................... 23 2.3.2.3 Fungsi........................................................................... 28 2.3.2.4 Penanganan Session ..................................................... 29 2.3.3 Konsep Kerja PHP ................................................................... 30 2.4 Email (Electronic Mail) .................................................................... 31 2.4.1 Mail Server............................................................................... 31 2.4.1.1 SMTP (Simple Mail Transport Protocol) Server......... 31 2.4.1.2 POP (Post Office Protocol) Server .............................. 32

ix

Page 10: Aplikasi WAP Mail - USD

x

2.4.2 Format Email Menurut RFC 822 ............................................. 33 2.4.3 MIME (Multipurpose Internet Mail Extensions) ..................... 33 BAB III ANALISA DAN PERANCANGAN SISTEM............................... 35 3.1 Analisa Sistem................................................................................... 35 3.2 Cara Kerja Sistem ............................................................................. 36 3.3 Desain Antarmuka Sistem................................................................. 38 BAB IV IMPLEMENTASI DAN ANALISA SISTEM .............................. 44 4.1 Spesifikasi Hardware dan Software.................................................. 44 4.2 Konfigurasi Server ............................................................................ 45 4.2.1 Konfigurasi Jaringan ................................................................ 45 4.2.2 Konfigurasi Web Server ........................................................... 47 4.2.3 Konfigurasi Mail Server........................................................... 48 4.3 Implementasi Antarmuka Sistem ...................................................... 49 4.3.1 Login ........................................................................................ 50 4.3.2 Inbox......................................................................................... 54 4.3.3 Compose, Reply, dan Forward................................................. 56 4.3.4 Delete ....................................................................................... 57 4.3.5 Logout ...................................................................................... 58 BAB V ANALISA HASIL IMPLEMENTASI ............................................ 59 5.1 Analisa Hasil Perangkat Lunak......................................................... 59 5.2 Analisa Piranti Pengembang ............................................................. 60 BAB VI PENUTUP ........................................................................................ 62 6.1 Kesimpulan ....................................................................................... 62 6.2 Saran.................................................................................................. 62 DAFTAR PUSTAKA ..................................................................................... 64 LAMPIRAN.................................................................................................... 65

Page 11: Aplikasi WAP Mail - USD

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Model Pemrograman WAP 8

2.2 Susunan Gateway WAP 9

2.3 Hirarki dalam WML 14

2.4 Konsep Kerja PHP 30

3.1 Konsep Kerja Sistem 36

3.2 Desain Antarmuka Login 38

3.3 Desain Antarmuka Pesan Kesalahan Login 38

3.4 Desain Antarmuka Berhasil Login 39

3.5 Desain Antarmuka Inbox 39

3.6 Desain Antarmuka Baca Email 40

3.7 Desain Antarmuka Compose 41

3.8 Desain Antarmuka Email Terkirim 42

3.9 Desain Antarmuka Email Gagal Terkirim 42

3.10 Desain Antamuka Logout 43

4.1 Konfigurasi Network Server 46

4.2 Tampilan Login 50

4.3 Tampilan Menu WAP Mail 52

4.4 Tampilan Gagal Login 53

4.5 Tampilan Inbox 54

xi

Page 12: Aplikasi WAP Mail - USD

xii

4.6 Tampilan Pesan 55

4.7 Tampilan Compose 56

4.8 Tampilan Logout 58

Page 13: Aplikasi WAP Mail - USD

DAFTAR TABEL

Tabel Keterangan Halaman

2.1 Tipe MIME dan Extension 12

2.2 Tag Link 17-18

2.3 Elemen Form 18-19

2.4 Elemen dalam Template 19

2.5 Operator Aritmatika 22

2.6 Operator Logika 22-23

2.7 Operator Pembanding 23

2.8 Field Header RFC 822 33

2.9 Field Header RFC 822 yang ditambahkan oleh MIME 34

xiii

Page 14: Aplikasi WAP Mail - USD

ABSTRAKSI

Teknologi wireless atau mobile merupakan teknologi yang saat ini terus berkembang, karena menciptakan banyak kemungkinan baru serta sangat memudahkan akses informasi maupun komunikasi. Salah satu cara untuk bertukar informasi dan berkomunikasi adalah melalui email. WAP (Wireless Application Protocol) adalah protokol yang diciptakan khusus untuk peralatan mobile atau wireless. WAP yang terdapat di dalam ponsel, memungkinkan setiap orang yang memilikinya dapat mengakses email yang ada di Internet. Mengingat sifat ponsel yang ‘mudah dibawa ke mana saja’, siapapun dapat mengakses email mereka, kapanpun dan dimanapun.

Dalam skripsi ini, dikembangkan suatu sistem di mana user dapat mengakses email mereka melalui ponsel. Sistem menyediakan beberapa fasilitas dasar operasi email, seperti membaca email yang ada dalam kotak email (inbox), membalas email (reply), membuat email baru (compose), mengirimkan email yang ada ke pengguna lain (forward), dan menghapus email yang ada di kotak email (delete). Sistem Aplikasi WAP Mail ini dikembangkan menggunakan bahasa pemrograman WML (Wireless Markup Language) dan PHP (PHP Hypertext Preprocessor).

Hasil akhir yang diperoleh adalah sebuah sistem Aplikasi WAP Mail di mana user dapat melakukan operasi dasar email melalui ponsel yang dilengkapi dengan fasilitas WAP, atau user juga dapat mengakses email melalui komputer yang terhubung Internet dengan web browser yang mendukung WML seperti Opera.

xiv

Page 15: Aplikasi WAP Mail - USD

ABSTRACT

Wireless or mobile technology is a technology which is rapidly developing because it has created many new possibilities and has made access to information and communication much easier. One way to exchange information and to communicate is by email. WAP (Wireless Application Protocol) is a protocol specifically created for mobile or wireless devices. WAP in cellular phones allows everybody with them to access email messages in the Internet. Due to the unique characteristic of a cellular phone, namely that it ‘can be easily carried everywhere’, anybody can access their email messages at any time and any place. This project has developed a system where users can access their email messages with a cellular phone. The system provides several basic facilities for email operation, such as reading messages in the email box (inbox), replying email messages (reply), composing new email messages (compose), sending email messages in the email box to other users (forward), and deleting email messages in the email box (delete). WAP Mail Application System has developed with WML (Wireless Markup Language) and PHP (PHP Hypertext Preprocessor) programming language. The final result is a WAP Mail Application System where users can perform basic email operation with a cell phone which is equipped with the WAP facility and users can also access email messages with a computer which is connected to the Internet with a web browser which supports WML, such as Opera.

xv

Page 16: Aplikasi WAP Mail - USD

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa penelitian dan karya tulis

yang saya buat ini adalah hasil karya saya sendiri dan tidak menjiplak dari hasil

karya orang lain, kecuali pada bagian yang telah disebutkan dalam daftar pustaka

sebagaimana layaknya suatu karya ilmiah.

Yogyakarta, 27 Agustus 2007

Margaretta Wiwin K.I

xvi

Page 17: Aplikasi WAP Mail - USD

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Email (Electronik Mail) merupakan fasilitas Internet (Interconnecting

Network) yang paling banyak digunakan. Hampir semua pelaku Internet memiliki

setidaknya satu alamat email. Dengan email, komunikasi dapat dilakukan dengan

cepat melewati batas-batas negara tanpa memperdulikan jarak dan waktu. Email

telah menjadi sarana komunikasi yang cepat dan murah.

Umumnya, jika seseorang ingin mengakses email, maka mereka

membutuhkan seperangkat PC (Personal Computer) yang tersambung ke Internet.

Sehingga mereka harus menyiapkan waktu dan tempat untuk dapat mengakses

email. Hal ini terkadang justru merepotkan mereka yang memiliki mobilitas

tinggi, yang sangat sulit untuk menemukan waktu dan tempat yang tepat untuk

mengakses email. Padahal mereka sangat membutuhkan informasi yang terdapat

pada email mereka. Karenanya, manusia terus berusaha mencari alternatif lain

untuk dapat mengakses Internet secara cepat tanpa harus melalui komputer.

Perkembangan dunia Internet saat ini, telah melahirkan suatu teknologi

yang dapat digunakan untuk mengakses Internet melalui dunia seluler. Teknologi

tersebut disebut WAP (Wireless Application Protocol). WAP adalah suatu

protokol aplikasi yang memungkinkan Internet dapat diakses oleh ponsel dan

perangkat mobile lainnya. WAP membawa informasi secara online melewati

Internet langsung menuju ponsel atau klien WAP lainnya. Dengan adanya WAP,

1

Page 18: Aplikasi WAP Mail - USD

2

berbagai informasi dapat diakses setiap saat hanya dengan menggunakan ponsel.

Disamping itu, teknologi GPRS (General Packet Radio Service) juga diluncurkan

oleh sejumlah perusahaan perangkat ponsel dan jasa jaringan wireless untuk

meningkatkan kecepatan transfer data melalui ponsel, sehingga akses Internet

melalui ponsel juga dapat dilakukan secara cepat.

Dari permasalahan di atas, penulis tertarik untuk mengembangkan sistem

yang memungkinkan user untuk dapat melakukan pengaksesan email melalui

ponsel. yang disebut “Aplikasi WAP Mail”. Sistem aplikasi yang dibuat

diharapkan dapat mempermudah user untuk membaca email, membalas email,

mengirim email baru, dan juga menghapus email yang ada pada inbox mereka.

Dengan demikian, user dapat mengecek email mereka melalui perangkat nirkabel

yang ada, dimanapun, kapanpun, tanpa perlu komputer yang terhubung dengan

Internet.

1.2 Rumusan Masalah

Masalah utama yang akan dibahas pada penulisan tugas akhir ini adalah

bagaimana cara membangun aplikasi WAPsite untuk memudahkan user

mengakses email melalui ponsel atau perangkat mobile lainnya.

1.3 Batasan Masalah

Batasan masalah pada penulisan tugas akhir ini adalah sebagai berikut :

1. Sistem tidak membahas pembuatan account email / alamat email.

Page 19: Aplikasi WAP Mail - USD

3

2. Email yang dapat dikirim oleh user hanya berupa text (plain text). Sistem

aplikasi juga hanya dapat membaca email yang berupa text (plain text).

3. Sistem ini tidak melayani permintaan pembuatan alamat account email

baru.

4. Konfigurasi server dan masalah keamanan tidak dibahas pada penulisan

tugas akhir ini.

1.4 Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah membangun suatu sistem berbasis teknologi

WAP (Wireless Application Protocol) atau GPRS (General Packet Radio Service)

yang memudahkan user untuk mengakses email melalui perangkat nirkabel.

Sedangkan manfaat dari penelitian ini adalah memberikan alternatif lain

bagi user untuk mengakses email melalui perangkat nirkabel selain melalui

komputer yang terhubung Internet.

1.5 Metodologi Penelitian

Metode penelitian yang digunakan dalam penulisan tugas akhir ini adalah

sebagai berikut :

1. Survei kebutuhan program

Mempersiapkan software, hardware, dan perangkat-perangkat lain yang

dibutuhkan oleh sistem.

Page 20: Aplikasi WAP Mail - USD

4

2. Studi pustaka

Mempelajari konsep mengenai WAP, WML, PHP dan email melalui

berbagai referensi. Referensi yang digunakan adalah buku-buku, laporan-

laporan, karya ilmiah, majalah, koran, internet dan semua tulisan yang

berhubungan.

3. Mengembangkan perangkat lunak menggunakan metode RPL (Rekayasa

Perangkat Lunak) terstruktur dengan tahap-tahap sebagai berikut :

a. Analisa sistem

b. Perancangan sistem

c. Implementasi sistem (pembuatan program)

4. Menguji program

Melakukan pengujian sistem untuk mengetahui kelebihan dan

kekurangannya sehingga sistem dapat berjalan secara optimal.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Berisi tentang latar belakang, rumusan masalah, batasan masalah,

tujuan penelitian, metode penelitian dan sistematika penulisan

tugas akhir.

BAB II LANDASAN TOERI

Berisi tentang landasan teori yang dipakai untuk pembahasan

penulisan tugas akhir.

Page 21: Aplikasi WAP Mail - USD

5

BAB III ANALISA DAN PERANCANGAN SISTEM

Berisi tentang gambaran sistem, analisa sistem dan perancangan

sistem yang akan dibuat.

BAB IV IMPLEMENTASI SISTEM

Berisi cara-cara untuk mengimplementasi analisis dan perancangan

yang telah dibuat sebelumnya ke dalam bahasa yang dimengerti

mesin. Implementasi dimulai dengan cara menginstal perangkat

lunak yang akan digunakan untuk membuat aplikasi ini dan

membuat interface sistem.

BAB V ANALISA HASIL IMPLEMENTASI

Berisi tentang analisa hasil-hasil implementasi dan juga analisa

peranti pengembang yang digunakan pada penelitian ini.

BAB VI PENUTUP

Berisi tentang kesimpulan dari implementasi yang telah dilakukan

dalam tugas akhir ini.

Page 22: Aplikasi WAP Mail - USD

BAB II

LANDASAN TEORI

Berikut ini akan diuraikan secara garis besar mengenai WAP (Wireless

Application Protocol), WML (Wireless Markup Language), PHP (Personal Home

Page tools), dan Email (Electronic Mail).

2.1 WAP (Wireless Application Protocol)

2.1.1 Pengertian WAP

WAP (Wireless Application Protocol) adalah suatu protokol aplikasi yang

memungkinkan Internet dapat diakses oleh ponsel dan perangkat wireless atau

mobile lainnya. WAP membawa informasi secara online melewati Internet

(Interconnecting Networking) langsung menuju ke ponsel atau client WAP

lainnya. Dengan adanya WAP, berbagai informasi dapat diakses setiap saat hanya

dengan menggunakan ponsel.

Protokol ini awalnya dikembangkan oleh WAP Forum

(http://www.wapforum.org) pada tahun 1997 yang didirikan oleh Ericsson,

Motorola, Nokia dan Unwired Planet (sekarang phone.com). WAP Forum

merupakan organisasi nirlaba yang bertujuan untuk menetapkan standar dalam

memberikan akses Internet ke kelas konsumen melalui alat wireless. Standar ini

membantu platform global untuk menciptakan jalur yang berbeda tetapi sejalan

dengan Internet.

6

Page 23: Aplikasi WAP Mail - USD

7

2.1.2 Cara Kerja WAP

Cara kerja WAP hampir sama dengan cara kerja Internet saat ini.

Dibutuhkan WAP Gateway untuk menjembatani ponsel dengan Internet dalam

mengirim dan menerima data. Hal ini sama halnya dengan pengguna PC

(Personal Computer) yang membutuhkan ISP (Internet Service Provider) sebagai

gateway dalam menjembatani PC dengan Internet. Disamping itu, ponsel yang

digunakan juga harus WAP-enabled, yaitu sudah dilengkapi dengan teknologi

WAP yang bisa digunakan untuk mengakses Internet.

Terdapat tiga bagian utama dalam akses WAP, yaitu perangkat wireless

yang mendukung WAP, WAP gateway sebagai perantara, dan web server sebagai

sumber dokumen. Dokumen yang berada dalam web server dapat berupa

dokumen HTML (Hypertext Markup Language) ataupun WML (Wireless Markup

Language). Dokumen WML, khusus ditampilkan melalui browser dari perangkat

WAP. Sedangkan dokumen HTML yang seharusnya ditampilkan melalui web

browser, sebelum dibaca melalui browser WAP diterjemahkan lebih dahulu oleh

gateway agar dapat menyesuaikan dengan perangkat WAP. Saat ponsel ingin

meminta sebuah informasi yang ada di server, ponsel harus melewati WAP

gateway dulu. Begitu juga sebaliknya.

Page 24: Aplikasi WAP Mail - USD

8

Gambar 2.1 Model Pemrograman WAP (WAP-100-WAPArch-19980430-a.pdf, hlm. 12)

Seperti halnya menampilkan Internet dari web browser, untuk

menampilkan WAP dibutuhkan WAP browser. Di dalam ketentuan ponsel, ini

disebut sebagai microbrowser. Seperti halnya mengetikkan URL (Uniform

Resource Locator) untuk mengakses website, hal yang sama juga akan dilakukan

untuk mengakses WAPsite di ponsel. Dengan mengakses web server melalui ISP

(Internet Service Provider) dan login ke Internet, maka halaman WAP akan

dikirimkan dan dimunculkan di layar ponsel.

Model pemrograman WAP terdiri atas tiga bagian, yaitu WAP Client yang

mengirim permintaan informasi, gateway sebagai penerjemah antara WAP dan

HTTP (Hyper Text Transfer Protocol), serta server yang memproses permintaan

dari gateway untuk kemudian menjawabnya. Jawaban yang merupakan proses

dari CGI (Common Gateway Interface) script ini akan dikirim ke klien melalui

gateway sebagai perantara. Hasil konversi yang dilakukan oleh WAP gateway

mampu memperkecil ukuran dari informasi yang akan dikirimkan ke client.

Page 25: Aplikasi WAP Mail - USD

9

2.1.3 WAP Gateway

WAP gateway berfungsi untuk meneruskan permintaan informasi dari

ponsel menuju server lewat HTTP (Hyper Text Transfer Protocol) request, dan

sebaliknya, dari server menuju ke ponsel lewat HTTP reponse. Selain itu, WAP

gateway juga berfungsi sebagai encoder dan decoder (fungsi sebagai modem).

Encoder berfungsi mengkodekan atau menerjemahkan isi web ke dalam format

WML (Wireless Markup Language) yang lebih padat untuk mengurangi ukuran

dan jumlah yang dikirim melalui jaringan wireless, sedangkan fungsi dari decoder

adalah kebalikan dari fungsi encoder.

Untuk melihat kemampuan gateway dalam menerjemahkan dokumen

sehingga dapat dibaca oleh WAP browser, gambar 2.3 berikut ini menunjukkan

diagram yang berisi susunan dari WAP gateway :

WSP

WDP/Adoption

WTP

WTLS

HTTP

TCP/IP

Bearers InternetFirewallet

Gambar 2.2 Susunan Gateway WAP (Ardiansyah & Akhmadi, Aplikasi Pemrograman W@P, Jakarta, PT Elex Media Komputindo,

2003, hlm. 6)

Page 26: Aplikasi WAP Mail - USD

10

1. WSP (Wireless Session Protocol) berfungsi sebagai pembuka atau mengakhiri

suatu koneksi jaringan. WSP sendiri terbagi menjadi dua buah session, yaitu

koneksi yang khusus untuk berinteraksi dengan operasi yang terjadi pada

WTP (Wireless Transaction Protocol) dan yang kedua adalah WDP (Wireless

Datagram Protocol), koneksi yang berkaitan erat dengan keamanan data.

Selain hal tersebut WSP juga mendukung:

a. Fungsi dari HTTP / 1.1 serta juga pengodean data.

b. Pemeriksaan data yang reliable dan unreliable.

c. Pengontrolan waktu akses data.

2. WTP (Wireless Transaction Protocol) berfungsi memeriksa format data,

konversi data dan atau pengodean yang akan ditransmisikan, misalnya:

a. Melakukan pemeriksaan keabsahan data pengguna.

b. Pemeriksaan terhadap nomor pesan yang akan dikirim.

c. Melakukan sinkronisasi data transaksi.

3. WTLS (Wireless Transport Layer Security) adalah sebuah protokol yang

berfungsi sebagai keamanan data yang disesuaikan oleh standar industri TLS

(Transport Layer Security) yang tentunya mendukung SSL (Secure Sockets

Layer). WTLS tersebut ditujukan pada penggunaan aplikasi WAP, yang terdiri

dari:

a. Integritas data, mengenai keabsahan dari data yang akan dikirim.

b. Privacy, menyangkut kerahasiaan data, dimana data yang akan dikirim

tidak akan bisa didapat oleh orang lain yang tidak bersangkutan.

c. Authentication, menyangkut kebenaran jati diri pengguna.

Page 27: Aplikasi WAP Mail - USD

11

d. Denial of service protection, pemeriksaan dan pembuktian

pengamanan data yang valid.

4. WDP (Wireless Datagram Protocol) merupakan kelanjutan dari WTLS yang

mampu berkomunikasi dengan bearers. Bertugas untuk melakukan transmisi

data dalam format biner melalui media gateway, serta melakukan definisi

pengalamatan jaringan yang nantinya akan dapat dikenali oleh lapisan

bearers.

5. Bearers terdiri atas data switch, short message, dan paket data. Bearers

melakukan fungsi untuk dapat melakukan transfer data dari suatu unit

informasi yang berisi alamat dan melakukan pemeriksaan kesalahan (error

checking) serta melakukan penundaan transfer hingga proses yang dilakukan

sudah benar.

6. HTTP Interface digunakan untuk melayani penerimaan WAP content dari

Internet menggunakan ponsel.

2.1.4 Konfigurasi WAP Server

Agar browser dapat menampilkan dokumen WML dengan benar, web

server yang sudah diinstal harus diatur konfigurasinya. Konfigurasi untuk

mengatur cara menangani dokumen dari server yang diminta oleh browser disebut

dengan MIME (Multipurpose Internet Mail Extension).

Beberapa tipe MIME yang biasanya digunakan :

“text/html” untuk dokumen HTML

“image/gif” untuk dokumen GIF

“image/jpg” untuk dokumen JPG

Page 28: Aplikasi WAP Mail - USD

12

WAP juga mempunyai tipe MIME khusus yang harus ditambahkan dalam

konfigurasi MIME, sehingga ponsel dapat mengakses dokumen WAP di server.

Tipe MIME yang digunakan oleh WAP adalah sebagai berikut :

Deskripsi File Extension MIME Type

WML Source .wml Text/vnd.wap.wml

Wireless Bitmap .wbmp Image/vnd.wap.wbmp

WML Script Source .wmls Text/vnd.wap.wml

Compiled WML .wmlc Application/vnd/wap.wmlc

Compiled WML Script .wmlsc Application/vnd.wap.wmlscript

WML Script .wsc Text/vnd.wap.wmlscript

WML Script .wmlscript Text/vnd.wap.wmlscript

Tabel 2.1 Tipe MIME dan Extension (Ridwan Sanjaya & Onno W. Purbo, Membuat Aplikasi W@P dengan PHP, Jakarta, PT Elex

Media Komputindo, 2001, hlm. 20) 2.1.5 Keuntungan WAP

1. Tidak ada kepemilikan metode dalam mengakses Internet dengan

standar WAP baik pada isi maupun layanan.

2. Network yang independent karena WAP bekerja pada seluruh jaringan

selular yang ada.

3. Metode WAP telah diadopsi oleh hamper 95% produsen telepon

selular di seluruh dunia dalam memanfaatkan wireless internet access

dan sedang diimplementasikan pada semua frekuensi.

4. WAP adalah suatu standar protokol dan aplikasinya, yakni WAP

browser yang dapat digunakan pada seluruh sistem operasi.

Page 29: Aplikasi WAP Mail - USD

13

5. Dengan menggunakan teknologi GPRS (General Packet Radio

System), perhitungan akses dihitung berdasarkan jumlah bit yang

terkoneksi, yang harganya sekitar Rp 20 per kilo byte.

2.2 WML (Wireless Markup Language)

WAP menggunakan bahasa komputasi yang dikenal sebagai Wireless

Markup Language (WML) yang mirip dengan HTML. Bahasa komputer yang

pintar ini mengubah informasi berupa teks dari halaman situs dan

menampilkannya ke layar ponsel. WML merupakan subset dari XML (eXtensible

Markup Language).

Jika HTML mempunyai Java Script untuk membuat halaman-halaman

didalamnya menjadi interaktif, WML juga mempunyai versi sendiri dari Java

Script yang disebut WML Script. Namun berbeda dengan Java Script yang bisa

dimasukkan ke dalam HTML, WML Script tidak bisa dijadikan satu dengan

WML dan harus berdiri sendiri sebagai satu file script khusus yang berekstensi

wmls.

Sebuah dokumen WML terdiri atas tiga bagian utama yang membentuk

struktur dari dokumen tersebut. Ketiga buah bagian utama tersebut adalah header,

template, dan card. Bagian header berfungsi untuk menyatakan versi XML dari

suatu dokumen WML, template berfungsi untuk memberikan tambahan pilihan

pada menu options atau tambahan tombol di beberapa browser, dan card

berfungsi untuk mendefinisikan halaman-halaman yang berada dalam satu file

wml. Penulisan template dan card berada di dalam tag <wml> … </wml>.

Page 30: Aplikasi WAP Mail - USD

14

TEMPLATEprevious, next, home

CARD 1Halaman Utama

CARD 2Halaman Help

CARD 3Halaman Contact

DECK

Gambar 2.3 Hirarki dalam WML (Ridwan Sanjaya & Onno W. Purbo, Membuat Aplikasi W@P dengan PHP, Jakarta, PT Elex

Media Komputindo, 2001, hlm. 33)

2.2.1 Sintaks WML

1. Penulisan tag

Penulisan tag dilakukan agar dokumen WML dapat ditampilkan pada

browser sesuai dengan keinginan. Biasanya, sebuah tag diawali dengan tanda

lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Tag biasanya

merupakan pasangan, yang disebut sebagai tag awal dan tag akhir. Tag awal

dinyatakan dalam bentuk <nama_tag> dan diakhiri dengan tag akhir yang

dinyatakan dalam bentuk </nama_tag>.

Tidak semua tag ditulisi berpasangan. Ada pula yang dinamakan single

tag atau tag tunggal, yang hanya terdiri atas satu tag awal saja. Untuk

penulisan tag tunggal, sebelum menuliskan penutup tag, lebih dahulu ditulis

Page 31: Aplikasi WAP Mail - USD

15

dengan tanda garis miring. Format penulisan untuk tag tunggal adalah sebagai

berikut :

<nama_tag/>

Komentar dapat ditulis di dalam dokumen WML. Meskipun tidak akan

diproses oleh browser, tulisan tersebut dapat dijadikan sebagai alat

dokumentasi. Berikut ini format penulisan komentar :

<! – tulis komentarmu di sini -->

2. Atribut

Di dalam beberapa tag terdapat atribut yang menyertai dalam pengaturan

fungsinya dalam mengatur isi dokumen. Penulisan atribut biasanya diletakkan

pada tag awal dan berisi nilai-nilai tertentu. Misalkan dalam tag <p>, yang

digunakan untuk membuat paragraph baru, terdapat atribut align yang

digunakan untuk mengatur perataan teks. Nilai dari atribut dapat diisi dengan

“center”, “left” dan “right”. Contoh penulisannya adalah sebagai berikut :

<p align=”left”> kalimat-kalimat </p>

3. Membuat card

Dalam sebuah dokumen WML dapat diisi dengan sebuah card yang

cukup banyak. Atribut-atribut di dalam tag <card> … </card> antara lain :

a. title = “judul card”

Berfungsi untuk menampilkan topik tertentu dari halaman WAP.

b. id = “nama card”

Berfungsi untuk mengidentifikasi sebuah card untuk keperluan

tujuan navigasi dari card lain.

Page 32: Aplikasi WAP Mail - USD

16

c. ontimer = “dokumen tujuan”

Berfungsi untuk menyatakan tujuan card setelah waktu tertentu.

d. newcontext = “true atau false”

Berfungsi untuk mengatur penggunaan isi variabel baru untuk

dokumen WAP. Jika diisi dengan true, maka seluruh isi variabel

yang digunakan adalah baru. Sedangkan jika diisi dengan false, isi

variabel yang digunakan adalah lama.

4. Memformat teks

WML dapat menampilkan teks secara tebal, miring ataupun dengan garis

bawah. Pada dasarnya, terdapat dua pengelompokkan dalam memformat teks,

yaitu Physical Style yang memformat teks secara fisik teks dan Logical Style

yang memformat teks berdasarkan kandungan teks yang telah disepakati

secara internasional.

a. Physical Style

Physical style adalah jenis format yang diberikan pada teks berdasarkan

tag yang memang digunakan untuk mengatur tebal huruf, miring, maupun

garis bawah. Tag-tag yang bisa digolongkan ke dalam physical style

adalah :

<b> … </b> untuk menebalkan teks

<i> … </i> untuk membuat teks terlihat miring

<u> … </u> untuk menggarisbawahi teks

<big> … </big> untuk membesarkan teks

<small> … </small> untuk mengecilkan teks

Page 33: Aplikasi WAP Mail - USD

17

b. Logical Style

Sedangkan logical style adalah jenis format yang diberikan pada teks

berdasarkan kesepakatan internasional terhadap kandungan teks tertentu.

Saat ini untuk memberikan penekanan teks (emphasis) menggunakan

huruf miring. Jika suatu saat standar internasional mengubah penekanan

teks menggunakan garis bawah, secara otomatis teks yang diformat

menggunakan logical style akan berubah menyesuaikan standar yang baru.

Tag-tag yang bisa digolongkan ke dalam logical style adalah :

<em> … </em> untuk memberikan penekanan

terhadap teks

<strong> … </strong> untuk menyatakan teks dengan

penekanan yang kuat

5. Membuat hubungan antardokumen (link)

Antara halaman yang satu dengan yang lain dapat berhubungan dengan

adanya link. Selain halaman, link juga dapat menghubungkan alamat satu

dengan yang lain.

WML Tag Keterangan

<anchor></anchor> Atribut :

title=“title”

Di dalam achor terdapat tag <go href = “URL”/>

sebagai penunjuk alamat atau dokumen tertentu.

Page 34: Aplikasi WAP Mail - USD

18

<a></a> Atribut :

Href=“URL”

Tabel 2.2 Tag Link

6. Membuat form

Fasilitas form memungkinkan interaksi antara pemilik suatu website atau

wapsite dengan pengunjungnya. Form dapat digunakan untuk berbagai

keperluan, diantaranya untuk mengumpulkan informasi, saran dan penawaran

melalui website atau wapsite tersebut. Struktur penulisan form dalam sebuah

card adalah sebagai berikut :

<card id=”contoh” title=”Form”>

<do type=”accept” label=”Hasil”>

<go href=”tujuan”/>

</do>

<p>

<input type=”text” name=”nama_variabel”/>

</p>

</card>

Pada contoh di atas, elemen form terdiri dari dua tag utama yaitu tag do,

yang menunjukkan tujuan jika input dieksekusi dan tag untuk isian, yang bisa

berupa input, select atau keduanya.

WML Tag Keterangan

<do> … </do> Atribut :

type=”accept”

Page 35: Aplikasi WAP Mail - USD

19

Di dalam tag ini berisi elemen yang digunakan untuk

memberikan tujuan setelah isian diproses.

<input/> Text Box (Kotak Isian)

<select> …

</select>

Select Box (Kotak Pilihan)

<option> …

</option>

Pilihan dalam select box

Tabel 2.3 Elemen Form

7. Membuat template

Template merupakan bagian utama dari WML yang sifatnya optional

(bisa ditulis, bisa juga tidak). Kegunaan template adalah memberikan perintah

eksekusi suatu tindakan, baik berupa tombol (sebagian WAP browser)

maupun tambahan pilihan dalam menu Options di sebelah kiri bawah ponsel.

Berikut ini elemen yang digunakan untuk menyusun template.

WML Tag Keterangan

<do> … </do> Parameter :

type=”type”

Type :

accept, prev, help, reset, options, delete

label=”label” (maksimum 6 karakter)

Name=”name”

Tabel 2.4 Elemen dalam Template

Sedangkan elemen di dalam <do> … </do> adalah sebagai berikut :

Page 36: Aplikasi WAP Mail - USD

20

<prev/> Kembali ke halaman sebelumnya

<refresh/> Mengulang kembali pemanggilan halaman

<noop/> Tidak melakukan tindakan apapun. Biasanya

digunakan untuk menghilangkan fungsi

template yang aktif

<go href=”tujuan”/> Untuk menuju ke alamat tertentu

2.3 PHP (PHP Hypertext Preprocessor)

Menurut dokumen resmi PHP, PHP singkatan dari PHP Hypertext

Preprocessor. PHP itu sendiri singkatan dari Personal Home Pages tools. PHP

merupakan bahasa berbentuk skript yang ditempatkan di dalam server dan

diproses di server. Hasilnya akan dikirimkan ke client, tempat pemakai

menggunakan browser.

Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya,

dapat membentuk suatu tampilan berdasarkan permintaan terkini. Pada awalnya,

PHP dirancang untuk diintegrasikan dengan web server Apache. Namun,

belakangan ini PHP juga dapat bekerja dengan web server, seperti PWS (Personal

Web Server), IIS (Internet Information System) dan Xitami.

PHP bersifat free (bebas dipakai), artinya tidak perlu membayar apapun

untuk menggunakan perangkat lunak ini. Keunggulan PHP dilihat dari sifatnya

server-side, antara lain :

1. Tidak diperlukan kontabilitas browser atau harus menggunakan browser

tertentu, karena server yang akan mengerjakan skrip PHP. Hasil yang

Page 37: Aplikasi WAP Mail - USD

21

dikirmkan kembali ke browser umumnya bersifat teks atau gambar

sehingga pasti dikenal oleh browser apapun.

2. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server,

misalnya koneksi ke database.

2.3.1 Struktur Skrip PHP

Pada umumnya skrip PHP berada dalam kode HTML. Kode PHP yang

berada di dalam kode HTML dapat disimpan dalam ekstensi .php. Sedangkan

kode PHP yang berada di dalam kode XML dapat disimpan juga dalam ekstensi

.php.

Delimiter merupakan karakter atau kumpulan karakter yang membedakan

antara skrip dengan atau tag dengan text biasa dalam HTML ataupun XML. Untuk

PHP, delimiter yang digunakan adalah sebagai berikut :

1. Untuk dokumen SGML (Standardized General Markup Language) /

HTML :

<? skrip PHP ?>

2. Untuk dokumen XML :

<? php skrip PHP ?>

3. Untuk yang tidak mendukung PHP :

<script language=”php”>

skrip php

<script/>

4. Dapat juga menggunakan delimiter ASP (Active Server Page) :

<% skrip PHP %>

Page 38: Aplikasi WAP Mail - USD

22

jika menggunakan delimiter ASP, maka harus mengedit file php.ini, yaitu

pada bagian asp_tags nilainya harus on.

2.3.2 Sintaks dalam PHP

2.3.2.1 Operator

Operator merupakan simbol-simbol yang digunakan untuk melakukan

operasi-operasi matematis ataupun operasi string. Beberapa operator yang dikenal

dalam PHP antara lain :

1. Operator Aritmatika

Operator Aritmatika adalah operator yang digunakan dalam operasi dasar

matematika. Operator-operator yang temasuk operator aritmatika :

Operator Arti

+ Penambahan

- Pengurangan

* Perkalian

/ Pembagian

% Modulus

Tabel 2.5 Operator Aritmatika

2. Operator Logika

Operator logika digunakan untuk membandingkan dua atau lebih

pernyataan dan menghasilkan nilai true atau false. Operator logika sangat

berguna untuk menentukan pilihan apabila ada dua atau lebih kondisi yang

berbeda. Operator-operator yang termasuk operator logika :

Operator Arti

And Operator dan

Or Operator atau

Page 39: Aplikasi WAP Mail - USD

23

Xor Operator atau eklusif

! Operator tidak/bukan (not)

&& Operator dan

|| Operator atau

Tabel 2.6 Operator Logika

3. Operator Pembandingan

Operator pembandingan adalah operator yang digunakan untuk

membandingkan dua atau lebih nilai, variabel, atau pernyataan dan

menghasilkan nilai. Operator-operator pembanding adalah :

Operator Nama

== Sama

=== Identik

!= Tidak sama

!== Tidak Identik

< Lebih kecil

> Lebih besar

<= Lebih kecil atau sama dengan

>= Lebih besar atau sama dengan

Tabel 2.7 Operator Pembanding

Operator identik dan tidak identik hanya dikenal dalam PHP4.

2.3.2.2 Struktur Kontrol

Dalam pembuatan sebuah aplikasi sangat jarang eksekusi sebuah skrip

berjalan lurus dari awal hingga akhir, biasanya ditemui beberapa kondisi yang

mengharuskan alur program bercabang. Struktur kontrol digunakan untuk

membantu pengambilan keputusan mengenai alur program mana yang dipilih.

Struktur kontrol yang disediakan PHP antara lain :

Page 40: Aplikasi WAP Mail - USD

24

1. If

struktur kontrol if merupakan struktur kontrol paling lazim dimiliki oleh

semua bahasa pemrograman. Struktur kontrol ini digunakan untuk

mengambil keputusan apabila ada sebuah kondisi yang ditemui. Jika

kondisi tersbut bernilai true, maka pernyataan di dalam struktur if akan

dijalankan. Sebaliknya jika bernilai false, pernyataan di dalam struktur if

akan diabaikan dan langsung menuju ke pernyataan sesudahnya. Sintaks

penggunaan if adalah sebagai berikut :

if (kondisi)

pernyataan;

Jika pernyataan yang akan dijalankan terdiri dari dua baris atau lebih maka

bentuknya adalah sebagai berikut :

if (kondisi){

pernyataan;

pernyataan;

}

2. If…Else

Struktur If…Else hampir sama dengan if, tetapi struktur ini menyediakan

pilihan untuk diambil jika sebuah kondisi bernilai false. Pilihan tersebut

disediakan dalam pernyataan else. Jadi jika kondisi bernilai true, maka

pernyataan di bawah if akan dieksekusi, tetapi jika bernilai false,

pernyataan di bawah else akan dieksekusi. Sintaks penggunaan If…Else

adalah sebagai berikut :

Page 41: Aplikasi WAP Mail - USD

25

If (kondisi)

{

Pernyataan1;

}else{

pernyataan2;

}

3. If …ElseIf…Else

Struktur ini memberikan lebih banyak kemungkinana kondisi. Sintaksnya

adalah sebagai berikut :

If (kondisi1)

{

Pernyataan1;

} Elseif (kondisi2) {

Pernyataan2;

} Elseif(kondisiN) {

PernyataanN;

} else {

Pernyataan;

}

4. Switch

Struktur switch dapat dikatakan sebagai pengganti struktur

if…Elseif…Else, terutama jika pilihan yang tersedia banyak dan masing-

Page 42: Aplikasi WAP Mail - USD

26

masing pilihan berupa suatu nilai yang pasti. Sintaks penggunaan switch

sebagai berikut :

Switch (variabel) {

Case nilai1:

Pernyataan1;

Break;

Case nilai2:

Pernyataan2;

Break;

Case nilaiN:

PernyataanN;

Break;

[default:

pernyataan]

}

5. While

Struktur while digunakan untuk mengulang-ulang sebuah blok pernyataan

selama suatu kondisi terpenuhi atau bernilai true. Kondisi tersebut akan

dievaluasi di bagian awal blok pernyataan, jadi jika kondisi terpenuhi,

maka blok pernyataan tersebut akan diabaikan. Sintaks penggunaan while

adalah sebagai berikut :

While (kondisi) {

Pernyataan;

Page 43: Aplikasi WAP Mail - USD

27

}

6. Do … while

Strukutr do … while hampir sama dengan while, hanya saja evaluasi

kondisi diberikan pada akhir blok pernyataan. Oleh karena itu, blok

pernyataan pasti kan dieksekusi terlebih dahulu dan jika pada akhir blok

kondisi yang diberikan tidak terpenuhi, maka perulangan dihentikan.

Tetapi jika kondisi terpenuhi maka perulangan akan diteruskan. Sintaks

penggunaan do … while adalah sebagai berikut :

Do {

Pernyataan;

} while kondisi;

7. For

Struktur for digunakan untuk melakukan perulangan (iterasi) dengan

batas-batas jumlah perulangan yang telah diketahui. Sintaks penggunaan

struktur for adalah sebagai berikut :

For (awal; akhir; langkah) {

Pernyataan;

}

8. Break

Struktur break digunakan untuk menghentikan sebuah perulangan, baik

pada struktur for maupun while. Sintaks penggunaan struktur break dapat

dilihat pada contoh struktur pada switch.

Page 44: Aplikasi WAP Mail - USD

28

2.3.2.3 Fungsi

Fungsi merupakan alat bantu pemrograman yang mempermudah dalam

mengerjakan suatu tugas tertentu. Sebuah fungsi merupakan rangkaian dari

perintah-perintah pemrograman, yang disusun sedemikian rupa sehingga

terangkum dalam pemrograman. Dalam PHP terdapat fungsi yang sengaja

disediakan dalam PHP dan ada juga fungsi yang dibuat sendiri oleh pemakai. Ada

beberapa fungsi yang disediakan dalam PHP dan fungsi yang mendasar dan

umum digunakan, yaitu fungsi string. Fungsi string merupakan fungsi yang

digunakan untuk mengolah data yang berupa string. Beberapa fungsi string antara

lain :

1. Fungsi Echo() dan Print ()

Fungsi ini berguna untuk menampilkan suatu string atau teks ke browser.

Sintaksnya sebagai berikut :

Echo(string)

Print(string)

2. Fungsi Strlen()

Fungsi ini digunakan untuk mengukur panjang karakter sebuah string.

Sintaksnya sebagai berikut :

Strlen(string)

Sebuah spasi akan dihitung sabagai sebuah karakter.

3. Fungsi Substr()

Fungsi ini digunakan untuk mengambil suatu bagian sebuah string.

Sintaksnya sebagai berikut :

Page 45: Aplikasi WAP Mail - USD

29

Substr(string,mulai[,panjang])

String akan diambil dari karakter ke-mulai sejumlah panjang.

2.3.2.4 Penanganan Session

PHP menyediakan fungsi session untuk penyimpanan suatu data agar

nilainya tidak hilang dalam suatu sesion. Fungsi-fungsi session antara lain :

1. Fungsi Session_strat()

Fungsi ini digunakan untuk memulai session. Sintaksnya adalah sebagai

berikut :

Session_strat()

2. Fungsi Session_destroy()

Fungsi ini digunakan untuk mengakhiri session. Sintaksnya adalah sebagai

berikut :

Session_destroy()

3. Fungsi Session_name()

Fungsi ini digunakan untuk mengambil atau menentukan nama sebuah

session. Sintaksnya adalah sebagai berikut :

Session_name([nama])

Jika argumen nama tidak disertakan, fungsi digunakan untuk mengambil

nama sebuah session. Sebaliknya jika argumen nama disertakan, fungsi

digunakan untuk memberi nama session.

4. Fungsi Session_module_name()

Fungsi ini digunakan untuk mengambil atau menentukan nama sebuah

modul atau session. Sintaksnya adalah sebagai berikut :

Page 46: Aplikasi WAP Mail - USD

30

Session_module_name([modul])

Jika argumen modul tidak disertakan, fungsi digunakan untuk mengambil

nama sebuah modul session. Sebaliknya jika argumen modul disertakan,

fungsi digunakan untuk memberi nama pada session.

2.3.3 Konsep Kerja PHP

Client Side Server Side

1 Browser

2, 6

3

5

4

Skrip PHP

Mesin PHP

Web Server

Gambar 2.4 Konsep Kerja PHP

Keterangan :

1. Browser meminta (request) sebuah halaman PHP kepada web server.

2. Server akan memecah halaman PHP. Bagian PHP (berupa kode

HTML/WML), akan langsung dikirim ke browser, sedangkan bagian PHP

(berupa kode PHP) yaitu skrip PHP akan dikirim ke mesin PHP.

3. Skrip PHP dikirim ke mesin PHP untuk diproses.

Page 47: Aplikasi WAP Mail - USD

31

4. Setelah data diolah oleh mesin PHP, maka hasilnya dikirim ke web server.

5. Dari web server data tersebut akan dikirim ke browser sebagai output

sesuai dengan permintaan.

2.4 Email (Electronic Mail)

Email merupakan komponen utama yang paling banyak digunakan dalam

komunikasi informasi saat ini. Hampir semua pemakai jaringan internet di seluruh

dunia mempunyai alamat email. Email digunakan bukan saja untuk bertukar

informasi antar pemakai jaringan internet, tetapi juga sebagai sarana untuk

mengakses komponen service yang ada di Internet. Format penulisan alamat email

adalah sebagai berikut:

[email protected]

dimana username adalah nama yang diberikan untuk menandai email dan sebagai

alamat email. Karakter @ (at) merupakan karakter standar bagi penamaan email

untuk memisah username dan servername. Servername adalah nama server yang

melayani email box dan domain adalah domain server tersebut.

2.4.1 Mail Server

Mail server adalah suatu mail robot pada suatu komputer yang bertindak

sebagai moderator dalam setiap disitribusi dan pengiriman email. Dalam sebuah

mail server masih dibagi menjadi dua buah server, yaitu:

2.4.1.1 SMTP (Simple Mail Transport Protocol) Server

SMTP server atau biasa disebut MTA (Mail Transfer Agent) merupakan

server yang berhubungan langsung dengan pengirim email. SMTP server ini

Page 48: Aplikasi WAP Mail - USD

32

biasanya akan mendistribusikan sendiri email yang diterima dari pengirim email.

Secara umum SMTP server dibagi menjadi dua, yaitu:

1. MTA (Mail Transfer Agent) Lokal

MTA lokal hanya digunakan untuk meneruskan email dalam satu

organisasi yang sama atau komunikasi antar MTA lokal ke MTA lokal

yang lain, namun masih dalam satu organisasi yang sama. Komunikasi

MTA lokal menggunakan SMTP pada Intranet.

2. Relay agent

Relay agent adalah MTA yang terletak pada sisi terluar dalam sebuah

jaringan dan relay agent secara langsung terhubung dengan Internet.

Email yang keluar dari Intranet menuju ke Internet oleh MTA lokal akan

dikirim ke relay agent terlebih dahulu. Tanggung jawab untuk

mengirimkan email ke alamat tujuan berubah menjadi milik relay agent.

Letak relay agent yang berhadapan langsung dengan Internet

mengharuskan mailbox yang berfungsi sebagai relay agent harus

didaftarkan di DNS server sebagai Mail Exchanger (MX).

2.4.1.2 POP (Post Office Protocol) Server

POP merupakan protokol yang digunakan untuk pengelolaan mail. POP

yang standar untuk Internet saat ini adalah POP3 (POP – Version 3). Protokol ini

dimaksudkan untuk mengijinkan client mengakses secara dinamis mailnya yang

ada di POP server. Karena POP memang dimaksudkan hanya untuk pengaksesan

mail, baik mengambil ataupun menghapus, maka protokol ini tidak dilengkapi

Page 49: Aplikasi WAP Mail - USD

33

dengan operasi-operasi lain yang dapat memanipulasi mail yang ada di server

secara luas.

2.4.2 Format Email Menurut RFC 822

Email terdiri dari primitive amplop, beberapa buah field header, baris

kosong, dan kemudian badan pesan. Setiap field header terdiri dari sebuah baris

text ASCII yang berisi nama field, tanda titik dua, dan nilai. RFC 822 merupakan

standard lama, dan tidak membedakan secara jelas amplop dengan field header,

sedangkan standard yang baru membedakan keduanya dengan jelas.

Header Arti

To: Alamat email penerima utama

Cc: Alamat email penerima sekunder

Bcc: Alamat email Blind Carbon Copies

From: Orang yang membuat pesan

Sender: Alamat email pengirim actual

Received: Baris yang ditambahkan oleh setiap transfer agent sepanjang rute

Return-Path: Dapat dipakai untuk mengidentifikasi lintasan balik ke pengirim

Tabel 2.8 Field Header RFC 822

2.4.3 MIME (Multipurpose Internet Mail Extensions)

Munculnya format email yang baru ini disebabkan oleh karena munculnya

masalah-masalah dalam mengirim dan menerima, misalnya pesan menggunakan

bahasa dengan aksen tertentu, alphabet yang digunakan bukan huruf latin, atau

bahkan tidak berisi teks sama sekali (misal audio dan viedo). Solusi dari masalah

ini diajukan dalam RFC 1341 dan direvisi di dalam RFC 1521, yang disebut

Page 50: Aplikasi WAP Mail - USD

34

Multipurpose Internet Mail Extensions (MIME). Ide dasar dari MIME adalah

melanjutkan pemakaian format RFC 822, tetapi menambahkan struktur tertentu

pada badan pesan dan menentukan aturan encoding bagi pesan-pesan non-ASCII.

MIME mendefinisikan 5 buah header pesan baru, seperti ditunjukkan pada

tabel 2.9.

Header Arti

MIME-Version: Mengidentifikasi versi MIME

Content-Description: String yang dapat dibaca manusia yang menyatakan

isi pesan.

Content-Id: Identifier unik

Content-Transfer-

Encoding:

Cara badan pesan dikemas untuk ditransmisikan

Content-Type: Sifat pesan

Tabel 2.9 Field Header RFC 822 yang ditambahkan oleh MIME

Page 51: Aplikasi WAP Mail - USD

BAB III

ANALISA DAN PERANCANGAN SISTEM

Bab ini merupakan pembahasan mengenai analisis dan perancangan sistem

yang akan dibangun meliputi analisis sistem, cara kerja sistem, dan desain

antarmuka sistem.

3.1 Analisa Sistem

Salah satu layanan Internet yang paling banyak diakses oleh pengguna

Internet adalah email. Layanan email ini merupakan alternatif bagi para pengguna

Internet untuk dapat berkomunikasi dengan mudah dan cepat. Karenanya tidak

mengherankan jika saat ini banyak perusahaan-perusahaan yang kemudian

mengelola mail server mereka sendiri. Selama ini untuk dapat mengakses email,

dibutuhkan komputer dengan akses Internet. Sementara adakalanya para

pengguna Internet yang ingin mengecek email mereka tidak sedang berada di

depan komputer.

Melihat kendala diatas maka dikembangkanlah sistem yang

memungkinkan user untuk mengakses mail server melalui ponsel yang

mempunyai fasilitas WAP (Wireless Application Protocol) atau GPRS (General

Packet Radio Service) melalui alamat Internet yang tersedia. User dapat langsung

mengakses inbox mereka melalui perangkat nirkabel tanpa perlu menggunakan

komputer yang terhubung Internet. Hal ini sangat mempermudah user mengingat

ruang dan waktu yang dibutuhkan untuk mengakses komputer. Ponsel atau

35

Page 52: Aplikasi WAP Mail - USD

36

perangkat nirkabel sangat lebih kecil dan dapat dengan mudah dibawa kemana-

mana dibandingkan dengan komputer.

Fasilitas yang disediakan sistem untuk user merupakan fasilitas-fasilitas

dasar dalam mengakses email, mengingat keterbatasan tampilan layar ponsel

dengan layar monitor. Fasilitas tersebut antara lain baca email (inbox), balas email

(reply), kirim email lagi (forward), kirim email (compose), dan hapus email

(delete). Sebelumnya seorang user harus mendaftar untuk mendapatkan account

email terlebih dahulu sebelum dapat menggunakan sistem ini.

3.2 Cara Kerja Sistem

Konsep kerja sistem ini akan digambarkan pada Gambar 3.1 beserta

penjelasannya.

Internet

Client AGSM Provider Server

Client B

Gambar 3.1 Konsep Kerja Sistem

Pada Gambar 3.1, client A akan mengirim email kepada client B. Client A

mengirim email dengan menggunakan perangkat nirkabel, dan client B membuka

Page 53: Aplikasi WAP Mail - USD

37

emailnya melalui komputer dengan koneksi Internet. Client A menekan tombol

perangkat nirkabel untuk terhubung ke alamat URL yang menyediakan aplikasi

untuk mengakses mail server. Pertama kali, client A melakukan permintaan untuk

mengirimkan email ke WAP Gateway menggunakan protokol WAP. WAP

Gateway ini terdapat pada server provider kartu GSM yang digunakan oleh client

A. Dari WAP Gateway akan diciptakan HTTP request berdasarkan permintaan

yang dikirimkan oleh client A. Selanjutnya permintaan tersebut, akan diteruskan

ke server yang dimaksud.

HTTP request ini diproses oleh web server, dimana selanjutnya web server

ini akan menghubungi mail server pengirim atau client A. Mail server client A

kemudian mencari mail server yang bertanggung jawab mengelola email si

penerima atau client B tersebut. Setelah menemukannya, server email pengirim

tadi lalu mengirimkan email ke server email penerima tersebut. Kemudian client

B mengakses mail server-nya untuk meminta email yang belum dibacanya

melalui komputer yang memiliki koneksi Internet.

Protokol komunikasi yang digunakan oleh client dan server adalah Post

Office Protocol (POP) dan Simple Mail Transport Protocol (SMTP). Protokol

POP digunakan untuk mengambil (download) email dari server dan protokol

SMTP digunakan untuk mengirim email ke server. Server SMTP lokal kemudian

mengirim email ke server SMTP yang bertanggung jawab mengelola email

pengguna yang dituju.

Page 54: Aplikasi WAP Mail - USD

38

3.3 Desain Antarmuka Sistem

Desain antarmuka yang dibangun sistem ini, ditujukan untuk membantu

user agar dapat login ke mail server dan mengaksesnya.

Back

Login

User ID : < … > Password : < … > Login

Gambar 3.2 Desain Antarmuka Login

Gambar 3.2 merupakan desain login untuk user. Pada tampilan ini user

harus memasukkan user ID dan password untuk dapat mengakses inbox mereka.

Sebelumnya user harus sudah memiliki account email.

Back

Welcome Incorrect Name and

Password Login

Gambar 3.3 Desain Antarmuka Pesan Kesalahan Login

Jika user ID dan password yang diinputkan oleh user tidak benar maka

akan muncul pesan kesalahan seperti yang tampak pada Gambar 3.3. User dapat

mencoba untuk login kembali.

Page 55: Aplikasi WAP Mail - USD

39

Back

Welcome Username Inbox Compose Logout

Gambar 3.4 Desain Antarmuka Berhasil Login

Jika user berhasil login, maka Gambar 3.4 akan muncul pada ponsel atau

perangkat nirkabel user. Pada desain ini, user dapat langsung mengecek email

yang masuk melalui menu inbox, mengirim email melalui compose, atau logout.

Inbox Username Inbox – x Messages Isi satu Isi dua Isi tiga Next Prev Compose Logout

Back

Gambar 3.5 Desain Antarmuka Inbox

Jika user memilih menu inbox, maka tampilan pada layar ponsel akan

tampak seperti Gambar 3.5. Pada antarmuka ini, user dapat melihat daftar inbox

mereka dengan urutan dari email terbaru. User juga dapat mengetahui jumlah

email yang ada pada inbox mereka. Dari desain ini, user juga dapat langsung

melakukan compose atau logout.

Page 56: Aplikasi WAP Mail - USD

40

Back

Email Username Inbox – x Messages Subject: < … > From: < … > To: < … > Date: < … > Isi email Next Prev Replay Delete Forward Compose Logout

Gambar 3.6 Desain Antarmuka Baca Email

Gambar 3.6 merupakan desain antarmuka jika user membaca email

mereka. Pada desain ini, urutan header email yang ditampilkan adalah subject,

from, to, date, dan terakhir isi dari email itu sendiri. User dapat membaca email

berikutnya atau email sebelumnya dengan fasilitas next dan prev. Selain itu user

juga dapat membalas email ini (replay), mengirimkannya lagi (forward),

menghapusnya (delete), compose, atau logout.

Page 57: Aplikasi WAP Mail - USD

41

Compose To: < … > Cc: < … > Subject: < … > Messages: < … > Send Cancel

Back

Gambar 3.7 Desain Antarmuka Compose

Jika user memilih menu compose, maka desain antarmukanya akan seperti

pada Gambar 3.7. Inputan-inputan yang dimasukkan oleh user pada antarmuka

compose adalah sebagai berikut:

1. alamat penerima (to)

2. tembusan ke alamat email lain (carbon copy / Cc)

3. judul email (subject)

4. pesan email itu sendiri (messages)

Desain antarmuka untuk menu reply dan forward mirip dengan desain antarmuka

compose.

Page 58: Aplikasi WAP Mail - USD

42

Back

Email Status Your message has been sent successfully. You may now do something else. Inbox Compose Logout

Gambar 3.8 Desain Antarmuka Email Terkirim

Jika user berhasil melakukan pengiriman email, maka akan muncul pesan

seperti pada Gambar 3.8.

Gambar 3.9 Desain Antarmuka Email Gagal Terkirim

Email Status Invalid email address. Please try again. Inbox Compose Logout

Back

Sementara jika pesan yang dikirimkan oleh user gagal, maka akan muncul

pesan seperti pada Gambar 3.9.

Page 59: Aplikasi WAP Mail - USD

43

Back

Logout

You have successfully logout

Login

Gambar 3.10 Desain Antarmuka Logout

Gambar 3.10 merupakan desain halaman jika user memilih menu logout.

User dapat memilih menu login, jika ingin kembali mengakses mail servernya.

Page 60: Aplikasi WAP Mail - USD

BAB IV

IMPLEMENTASI SISTEM

Setelah selesai merancang dan menganalisis sistem yang akan dibuat,

langkah selanjutnya adalah mencoba mengimplementasikan ke dalam bahasa

pemrograman yang dapat dimengerti oleh mesin.

4.1 Spesifikasi Hardware dan Software

Sistem akan dikembangkan menggunakan alamat domain wimail.net yang

berfungsi sebagai web server dan mail server. Pengembangan sistem ini

menggunakan spesifikasi hardware dan software seperti yang tertera di bawah ini.

Spesifikasi hardware server :

1. Prosesor Intel(R) Celeron(R) CPU 2.00 Ghz

2. Harddisk 40G

3. Memori 256Mb

4. Sis 900 PCI Fast Ethernet Adapter

Spesifikasi hardware client :

1. Komputer yang terkonfigurasi dengan jaringan atau ponsel yang

memiliki fasilitas WAP (Wireless Application Protocol) atau GPRS

(General Packet Radio Service).

Spesifikasi software server :

1. Sistem Operasi Fedora Core 4

2. Web Server httpd-2.0.54-10

44

Page 61: Aplikasi WAP Mail - USD

45

3. Mail Server qmail-1.03

4. PHP versi 5

Spesifikasi sofware client :

1. Komputer dengan WAP browser Opera versi 7.52 untuk komputer

Windows dan Opera versi 9.21 untuk komputer Linux.

2. Ponsel Sony Erickson versi z600.

4.2 Konfigurasi Server

4.2.1 Konfigurasi Jaringan

Langkah pertama yang harus dilakukan adalah mengkonfigurasi komputer

yang akan dijadikan sebagai web server dan mail server. Konfigurasi ini meliputi

pemberian IP Address untuk kartu jaringan komputer server, mengeset subnet

mask, menentukan default gateway, dan pemberian hostname. Pada komputer

server yang telah diinstal dengan sistem operasi Fedora Core 4 langkah tersebut

dapat dilakukan dengan memilih Dekstop > System Setting > Network, yang

hasilnya dapat dilihat pada gambar berikut ini.

Page 62: Aplikasi WAP Mail - USD

46

Gambar 4.1 Konfigurasi Network Server

Untuk mengeset IP Address dapat dilakukan dengan memilih menu Edit,

kemudian mengisikan IP Address, subnet mask, dan default gateway. Pemberian

nama host dapat dilakukan dengan memilih menu DNS atau Hosts. Nama host

yang diberikan untuk jaringan ini adalah wimail.net. Hostname ini selanjutnya

juga akan menjadi nama domain untuk jaringan ini. Pilihan Activate atau Deactive

pada menu di atas, berfungsi untuk mengaktifkan atau menonaktifkan kartu

jaringan.

Alternatif lain untuk mengatur konfigurasi jaringan dapat dilakukan

dengan mengedit /etc/sysconfig/network untuk memberi nama host dan mengedit

/etc/sysconfig/network-scripts/ifcfg-eth0 untuk mengatur IP Address, subnet mask,

Page 63: Aplikasi WAP Mail - USD

47

dan default gateway. Sebenarnya masih banyak terdapat alternatif lain untuk

memberikan konfigurasi jaringan yang penulis tidak dapat jelaskan disini.

Kemudian untuk mengecek apakah IP Address sudah dapat diterapkan

oleh kartu jaringan adalah dengan memanggil program ifconfig. Jika setelah

menjalankan ifconfig muncul tampilan nama kartu jaringan berikut IP Address

yang dimasukkan sebelumnya dan beberapa keterangan lain, maka kartu jaringan

sudah dapat digunakan. Untuk memastikan lagi apakah server sudah dapat

dikenali dalam jaringan adalah dengan melakukan ping dari atau ke server itu

sendiri.

4.2.2 Konfigurasi Web Server

Karena aplikasi yang dikembangkan merupakan aplikasi yang berjalan

dengan menggunakan protokol WAP, dan dikembangkan dengan WML (Wireless

Markup Language) maka perlu ditambahkan beberapa konfigurasi pada web

server supaya browser dapat menampilkan dokumen WML dengan benar.

Konfigurasi ini disebut dengan MIME (Multipurpose Internet Mail Extension).

Konfigurasi web server pada server ini, dilakukan dengan mengedit

/etc/httpd/conf/httpd.conf. Untuk menambahkan tipe MIME pada WAP dilakukan

dengan menambahkan pada bagian AddType. Konfigurasinya adalah sebagai

berikut :

AddType text/vnd.wap.wml .wml AddType image/vnd.wap.wbmp .wbmp AddType text/vnd.wap.wmls .wmls AddType application/vnd.wap.wmlc .wmlc AddType application/vnd.wap.wmlscriptc .wmlsc AddType text/vnd.wap.wmlscript .wsc AddType text/vnd.wap.wmlscript .wmlscript

Page 64: Aplikasi WAP Mail - USD

48

4.2.3 Konfigurasi Mail Server

Mail server yang digunakan adalah qmail versi 1.03. Di samping instalasi

qmail itu sendiri, ada beberapa paket lain yang harus ditambahkan untuk

membantu kerja dari qmail itu sendiri. Paket-paket tersebut adalah :

1. qmail yang merupakan inti dari mail server itu sendiri dan juga merupakan

aplikasi untuk pengiriman email yang biasa disebut sebagai MTA (Mail

Transfer Agent).

2. ucspi-tcp adalah aplikasi untuk tcpserver, merupakan paket yang

digunakan sebagai utiliti koneksi client server yang menggunakan

protokol TCP (Transport Control Protocol).

3. daemon-tool merupakan daemon untuk mengelola aplikasi-aplikasi

pendukung utiliti yang digunakan oleh sistem operasi untuk mengatur

segala proses yang berjalan seperti qmail dan segala tambahan paket

lainnya. Paket ini akan melakukan starting service dan me-restart apabila

ada layanan yang mati.

4. vpopmail adalah POP3 server, yaitu paket tambahan dari qmail untuk

menangani virtual email domain dalam satu mail server. Hal ini untuk

memudahkan dalam penanganan atau administrasi sistem yang baik.

5. vqadmin merupakan domain manager berbasis web yang digunakan untuk

mengelola email, baik penambahan, penghapusan alamat email,

penambahan maupun penghapusan mailinglist, dan juga penambahan

maupun penghapusan domain.

Page 65: Aplikasi WAP Mail - USD

49

6. qmailadmin adalah aplikasi berbasis web yang digunakan untuk mengelola

user pada tiap domain.

Sebenarnya masih banyak paket-paket tambahan lain yang berfungsi untuk

membantu kerja qmail, namun pada implementasi tugas akhir ini, paket-paket

yang telah disebutkan di atas sudah cukup untuk menunjang implementasi tugas

akhir penulis.

4.3 Implementasi Antarmuka Sistem

Aplikasi WAPmail itu sendiri dikembangkan dengan menggunakan bahasa

pemrograman WML (Wireless Markup Language) untuk tampilannya dan PHP

(PHP Hypertext Preprocessor) untuk mengakses mail server-nya. Pada

implementasi antarmuka ini, wap browser yang digunakan adalah opera. Berikut

ini akan dijelaskan bagaimana sistem dibentuk dan dibuat berdasarkan

tampilannya.

Page 66: Aplikasi WAP Mail - USD

50

4.3.1 Login

Gambar 4.2 Tampilan Login

Gambar 4.2 merupakan tampilan pertama yang muncul ketika mengakses

WAPsite ini. Pada tampilan ini, user harus memasukkan name dan password

untuk dapat mengakses emailnya. Tampilan ini dibuat dengan menggunakan

sintaks wml sebagai berikut :

Page 67: Aplikasi WAP Mail - USD

51

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="login" title="Login"> <p align="left"><small>Name:</small><br/> <input type="text" name="nm"/> </p> <p align="left"><small>Password:</small><br/> <input type="password" name="pswd"/> </p> <p> <anchor title="Login"><go href="login.php" method="post"> <postfield name="Name" value="$(nm)"/> <postfield name="Password" value="$(pswd)"/> <postfield name="login" value="1" /></go><small>Login</small> </anchor> </p> </card> </wml>

Dua baris pertama pada kode program menunjukkan fungsi PHP untuk

menulis header WML, sehingga browser dapat mengenal file PHP sebagai

halaman WAP. Postfield digunakan untuk mengirim variabel yang diawali dengan

tanda $ ke server dengan nama (name) yang telah ditentukan. Sehingga nantinya

yang dikenali dalam server adalah variabel dengan nama (name) yang telah

ditentukan tadi. Misal <postfield name="Name" value="$(nm)"/>, mengirimkan variabel

$nm ke server dengan nama name. Maka yang akan dikenali dalam server adalah

variabel $name.

Metode yang digunakan untuk mengirimkan data ke server adalah metode

post dan akan diarahkan pada skrip login.php yang akan menangani proses

pendekodean data-data form. Dari sini, sistem akan mengecek apakah name dan

password yang dimasukkan oleh user sesuai dengan data yang ada di mail server.

Jika data yang dimasukkan benar, maka user akan menemui tampilan seperti

tampak pada Gambar 4.3.

Page 68: Aplikasi WAP Mail - USD

52

Gambar 4.3 Tampilan Menu WAP Mail

Pada tampilan ini, user dapat langsung mengecek emailnya (inbox),

mengirim email (compose), atau keluar dari aplikasi (logout). Skrip program dari

tampilan tersebut adalah sebagai berikut :

<? $mbox = imap_open("{localhost/pop3:110}", $_POST['Name'], $_POST['Password']); $error = imap_errors(); $total_psn = imap_num_msg($mbox); if($mbox) { $_SESSION['Name']=$_POST['Name']; $_SESSION['Password']=$_POST['Password']; ?> <a href="inbox.php">Inbox</a> - <? echo $total_psn; ?> Messages<br/> <? echo "<a href=\"compose.php\">Compose</a><br/>"; echo "<a href=\"logout.php\">Logout</a>"; } else { echo "<p align=\"center\"><small>Incorrect Name and Password<br/> <a href=\"index.wml\">Login</a><br/></small></p>"; } ?>

Pada skrip program di atas terdapat fungsi imap dari PHP. Fungsi imap ini

digunakan untuk mengakses email dari server. Fungsi-fungsi imap dari PHP yang

digunakan pada aplikasi ini akan dijelaskan pada pembahasan-pembahasan

berikutnya. Fungsi imap yang pertama digunakan adalah imap_open. Fungsi ini

Page 69: Aplikasi WAP Mail - USD

53

digunakan untuk membuka inbox user. Pada aplikasi ini fungsi imap_open akan

melakukan koneksi pada server pop3 melalui port 110 dengan name dan

password yang tersedia pada mail server. Hasil dari fungsi ini akan disimpan

melalui variabel $mbox. Variabel selanjutnya adalah $error yang berfungsi untuk

menyimpan nilai dari fungsi imap_errors. Fungsi imap_errors akan

mengembalikan semua kesalahan imap yang terjadi. Sementara variabel

$total_psn berfungsi untuk menyimpan hasil yang didapat imap_num_msg. Fungsi

imap_num_msg digunakan untuk mengetahui jumlah pesan atau email yang

terdapat pada mailbox atau inbox.

Gambar 4.4 Tampilan Gagal Login

Jika name dan password yang diinputkan oleh user tidak tersedia, maka

Gambar 4.4 akan muncul. Pada tampilan ini user dapat mencoba lagi untuk login.

Page 70: Aplikasi WAP Mail - USD

54

4.3.2 Inbox

Gambar 4.5 Tampilan Inbox

Gambar 4.5 adalah tampilan yang akan muncul, jika user memilih menu

inbox. Pada tampilan ini akan diketahui berapa jumlah pesan yang terdapat pada

mailbox user yang bersangkutan. Selanjutnya user akan melihat subject dari

masing-masing pesan menurut pesan yang terbaru. Pesan-pesan ini akan

ditampilkan sebanyak lima buah pada tiap halamannya. Pada user

[email protected] dalam Gambar 4.5, pada inbox-nya terdapat enam pesan,

maka dibutuhkan dua halaman untuk menampilkan masing-masing subject dari

email. Lima pada halaman pertama dan satu pada halaman kedua.

$header = @imap_header($mbox, $nopesan); $struktur_psn = @imap_fetchstructure($mbox, $nopesan);

Page 71: Aplikasi WAP Mail - USD

55

Fungsi php imap selanjutnya yang digunakan supaya header subject dari

masing-masing pesan dapat muncul adalah imap_header dan imap_fetchstructure.

Fungsi imap_header digunakan untuk membaca header dari masing-masing

pesan. Pada tampilan kali ini header yang digunakan adalah subject. Sementara

fungsi imap_fetchstructure digunakan untuk membaca struktur dari pesan.

Gambar 4.6 Tampilan pesan

Gambar 4.6 merupakan tampilan yang akan muncul, jika user memilih

salah satu subject pesan yang sebelumnya ditampilkan. Pada Gambar 4.6, terlihat

bahwa header email yang ditampilkan adalah subject, from, to, date, dan pesan itu

sendiri. Jika user telah selesai membaca, pilihan yang tersedia adalah membaca

pesan berikutnya (next), membalas pesan (reply), menghapus pesan (delete),

Page 72: Aplikasi WAP Mail - USD

56

mengirimkannya lagi (forward), mengirim pesan baru (compose), atau keluar dari

aplikasi (logout).

4.3.3 Compose, Reply, dan Forward

Gambar 4.7 Tampilan Compose

Tampilan pada Gambar 4.7 akan muncul jika user memilih menu compose.

Pada menu ini, user dapat membuat email baru untuk mengirimkannya kepada

user lain. Beberapa header dari pesan yang bisa diisikan oleh user adalah

penerima pesan (to), tembusan (cc), tembusan yang tidak diketahui oleh pihak lain

(bcc), judul pesan (subject), dan pesan itu sendiri (body).

Page 73: Aplikasi WAP Mail - USD

57

4.3.4 Delete

Fasilitas delete akan muncul jika user berada pada halaman baca email.

User tidak dapat menghapus email jika belum membuka email yang dimaksud.

Skrip program untuk fasilitas delete ini adalah sebagai berikut :

<? session_start(); include "function.php"; if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = @imap_errors(); $hapus_pesan = $_GET["hpspesan"]; @imap_delete($mbox, $hapus_pesan); @imap_close($mbox, CL_EXPUNGE); header("location:inbox.php"); }; ?>

Pada skrip program di atas, fungsi imap_delete digunakan untuk

menghapus email yang sebelumnya telah disimpan dalam variabel hapus_pesan.

Kemudian fungsi imap_close akan menutup koneksi fungsi php imap yang dibuat

dan kembali ke halaman inbox.

Page 74: Aplikasi WAP Mail - USD

58

4.3.5 Logout

Gambar 4.8 Tampilan Logout

Jika user memilih menu logout, maka Gambar 4.8 akan muncul. Pilihan

login digunakan jika user ingin masuk lagi ke dalam inbox mereka. Cuplikan kode

program logout dapat dilihat sebagai berikut ini :

unset ($_SESSION["SESSION"]); unset ($_SESSION["SESSION_Name"]); unset ($_SESSION["SESSION_Password"]);

Fungsi unset digunakan untuk menghapus variabel sesion yang

sebelumnya telah terbentuk.

Page 75: Aplikasi WAP Mail - USD

BAB V

ANALISA HASIL IMPLEMENTASI

Pada bab ini akan dibahas mengenail analisa hasil program dan juga

analisa piranti pengembang.

5.1 Analisa Hasil Perangkat Lunak

Secara umum, aplikasi yang dikembangkan dapat menampilkan hasil yang

menjadi tujuan penelitian awal penelitian ini, yaitu mempermudah user dalam

mengakses email. User dapat melakukan fasilitas-fasilitas yang disediakan oleh

sistem ini melalui WAP browser baik dari komputer maupun ponsel dengan

mudah dan cepat. Teknologi WAP (Wireless Application Protocol) dan GPRS

(General Packet Radio Service) sangat membantu ketika user mengakses sistem

ini melalui ponsel.

Meskipun demikian, sistem ini masih memiliki beberapa kekurangan.

Kekurangan dari sistem ini adalah sebagai berikut :

1. Fasilitas akses email yang bisa dilakukan oleh user terbatas pada baca

email (inbox), balas email (reply), kirim email lagi (forward), kirim email

(compose), dan hapus email (delete).

2. Sistem tidak dapat menampilkan file attachment yang berupa text (plain

text).

3. Sistem tidak dapat memberitahukan user jika ada email yang memuat

attachment.

59

Page 76: Aplikasi WAP Mail - USD

60

5.2 Analisa Piranti Pengembang

Secara umum, server web dan server mail dapat berjalan dengan baik.

Proses pengiriman dan penerimaan email dapat berjalan lancar. Penulisan

program dengan menggunakan bahasa pemrograman WML dan PHP sejauh ini

belum menemui masalah yang berarti. Permasalahan terjadi pada sisi client.

Dalam penelitian ini penulis menggunakan WAP browser sebanyak tiga buah,

yaitu Opera versi 7.52 untuk komputer dengan sistem operasi Windows, Opera

versi 9.21 untuk komputer Linux, dan WAP browser pada ponsel Sony Ericson

tipe z600.

Dari ketiga browser yang digunakan semuanya memberikan hasil yang

berbeda. Hasil dari ketiga WAP browser tersebut adalah sebagai berikut :

1. Browser Opera 7.52 pada Windows dapat melakukan fasilitas-fasilitas

yang disediakan oleh sistem dengan baik. Permasalahan muncul, ketika

browser ini selalu mengambil data yang telah diisikan pada inputan

sebelumnya di halaman yang sama.

2. Browser Opera 9.21 pada Linux dapat melakukan fasilitas baca, kirim,

dan hapus email dengan baik. Browser ini mengalami masalah ketika

melakukan fasilitas reply dan foward. Browser tidak dapat menampilkan

variabel-variabel yang seharusnya ditampilkan ketika kedua halaman ini

dibuka. Selain itu, browser ini juga memiliki masalah seperti pada Opera

untuk Windows.

Page 77: Aplikasi WAP Mail - USD

61

3. Pada ponsel Sony Ericson z600, sistem dapat berjalan dengan baik, jika

user mengisi semua inputan yang disediakan oleh sistem. Misal pada

halaman login, user harus mengisi name dan password, supaya browser

dapat memproses data. Jika salah satu dibiarkan kosong, maka ponsel ini

akan memunculkan pesan peringatan bagi user untuk mengisi data. Hal

ini juga terjadi pada halaman compose, reply, dan forward dimana

ketiganya halaman tersebut terdapat lima inputan yang harus diisi, yaitu

to, cc, bcc, subject, dan message. Browser ini juga memiliki masalah

seperti dua browser yang telah disebutkan sebelumnya.

Page 78: Aplikasi WAP Mail - USD

BAB VI

PENUTUP

Pada bagian akhir dari penulisan skripsi ini dicantumkan beberapa

kesimpulan dan saran dari hal-hal yang terkait dengan perancangan dan

implementasi aplikasi yang telah dijabarkan pada bab-bab sebelumnya.

5.1 Kesimpulan

1. Secara umum, aplikasi yang dibuat ini dapat berjalan dengan baik,

sehingga dapat digunakan sebagai prototype untuk pengembangan sistem

yang sesungguhnya.

2. Pembacaan email dapat berjalan dengan baik pada tiga buah browser yang

digunakan dalam penelitian ini.

3. Proses pembalasan dan pengiriman email juga dapat berjalan dengan baik

pada tiga buah browser yang digunakan dalam penelitian ini.

5.2 Saran

Sebagai bahan pertimbangan untuk mengembangkan sistem ke arah yang

lebih baik dan bermanfaat, ada beberapa saran yang dapat diberikan :

1. Sistem dapat memberitahukan pada user jika ada email yang memuat

attacment.

2. Sistem dapat menampilkan attachment dari email yang berupa text (plain

text).

62

Page 79: Aplikasi WAP Mail - USD

63

3. Adanya perbaikan dalam penanganan variabel yang telah diinputkan

sebelumnya supaya tidak muncul lagi jika halaman yang bersangkutan

dipanggil kembali.

4. Menambahkan operasi-operasi dalam pengaksesan email seperti

pembacaan file attachment yang berbentuk teks, pengelompokan email,

penyimpanan email yang terkirim maupun yang akan dikirim.

Page 80: Aplikasi WAP Mail - USD

DAFTAR PUSTAKA

Jhony H. Sembiring, Jaringan Komputer Berbasis Linux, Jakarta : PT Elex Media Komputindo, 2001.

Setiawan Suryatmoko, Membangun Server Email Berbasis Web, Jakarta : PT Elex Media Komputindo, 2003.

Samuel Prakoso, Tomy, Onno W. Purbo, Email Server Qmail, Jakarta : PT Elex Media Komputindo, 2003.

Albertus Dwiyoga W, Membangun Mail Server Andal dengan Fedora dan Qmail, Jakarta : PT Elex Media Komputindo, 2004.

Ridwan Sanjaya, Onno W. Purbo, Membuat Aplikasi WAP dengan PHP, Jakarta : PT Elex Media Komputindo, 2001.

Ardiansyah & Akhmadi, Aplikasi Pemrograman WAP, Jakarta : PT Elex Media Komputindo, 2003.

Gregorius Agung, WAP Programming dengan WML, Yogyakarta : Penerbit Andi Offset, 2001.

Abdul Kadir, Dasar Pemrograman Web Dinamis Menggunakan PHP, Yogyakarta : Penerbit Andi Offset, 2002

www.qmailrocks.org

64

Page 81: Aplikasi WAP Mail - USD

LAMPIRAN

1. Skrip index.wml

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="index" title="Login"> <p align="left"><small>Name:</small><br/> <input type="text" name="nm"/> </p> <p align="left"><small>Password:</small><br/> <input type="password" name="pswd"/> </p> <p> <anchor title="Login"><go href="login.php" method="post"> <postfield name="Name" value="$(nm)"/> <postfield name="Password" value="$(pswd)"/> <postfield name="login" value="1" /></go><small>Login</small> </anchor> </p> </card> </wml>

2. Skrip login.php

<? session_start(); Header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); ?> <wml> <template> <do type="prev" label="Back"> <prev/>

65

Page 82: Aplikasi WAP Mail - USD

66

</do> </template> <card id="login" title="Welcome <?=$_POST['Name']?>"> <p><small> <? $mbox = imap_open("{localhost/pop3:110}", $_POST['Name'], $_POST['Password']); $error = imap_errors(); $total_psn = imap_num_msg($mbox); if($mbox) { $_SESSION['Name']=$_POST['Name']; $_SESSION['Password']=$_POST['Password']; ?> <a href="inbox.php">Inbox</a> - <? echo $total_psn; ?> Messages<br/> <? echo "<a href=\"compose.php\">Compose</a><br/>"; echo "<a href=\"logout.php\">Logout</a>"; } else { echo "<p align=\"center\"><small>Incorrect Name and Password<br/> <a href=\"index.wml\">Login</a><br/></small></p>"; } ?> </small></p> </card> </wml>

3. Skrip inbox.php

<? session_start(); header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); ?> <?

Page 83: Aplikasi WAP Mail - USD

67

$mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = imap_errors(); $total_psn = imap_num_msg($mbox); if ($total_psn > 5 && isset($_GET['halm'])) { $jml_halm = ceil($total_psn / 5); $no_halm = $_GET['halm']; $psn_plg_atas = $total_psn - (($no_halm - 1) * 5); $psn_plg_bwh = $psn_plg_atas - 4; if ($psn_plg_bwh < 1) { $psn_plg_bwh = 1; }; } elseif ($total_psn > 5) { $jml_halm = ceil($total_psn / 5); $no_halm = 1; $psn_plg_atas = $total_psn; $psn_plg_bwh = $total_psn - 4; if ($psn_plg_bwh < 1) { $psn_plg_bwh = 1; }; } else { $no_halm = 1; $jml_halm = 1; $psn_plg_atas = $total_psn; $psn_plg_bwh = 1; }; ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do>

Page 84: Aplikasi WAP Mail - USD

68

</template> <card id="inbox" title="Inbox <?=$_SESSION['Name']?>"> <p><small> <? if ($total_psn > 0) { if (isset($_GET["halm"])) { ?> <a href="inbox.php?halm=<? echo $_GET["halm"]; ?>">Inbox</a> - <? echo $total_psn; ?> Messages <? } else { ?> <a href="inbox.php">Inbox</a> - <? echo $total_psn; ?> Messages <? } ?> <br/><br/> <? for ($nopesan=$psn_plg_atas; $nopesan >= $psn_plg_bwh; $nopesan--) { $header = @imap_header($mbox, $nopesan); $struktur_psn = @imap_fetchstructure($mbox, $nopesan); ?> <? if (isset($header->Subject)) { if ($header->Subject != "") { ?> <a href="message.php?id=<? echo $nopesan; ?>"><? echo $header->Subject; ?></a> <? } else { ?>

Page 85: Aplikasi WAP Mail - USD

69

<a href="message.php?id=<? echo $nopesan; ?>"><? echo "[No Subject]" ?></a> <? } } else { ?> <a href="message.php?id=<? echo $nopesan; ?>"><? echo "[No Subject]" ?></a> <? } ?> <br/> <? } if ($jml_halm >1) { if ($no_halm > 1) { ?> <br/> <a href="inbox.php?halm=<? echo $no_halm -1; ?>">Prev</a> <? } ?> <br/> <? if ($no_halm < $jml_halm ) { ?> <a href="inbox.php?halm=<? echo $no_halm +1; ?>">Next</a> <? } } ?> <? } else { echo "You currently have no mail"; }

Page 86: Aplikasi WAP Mail - USD

70

@imap_close($mbox); ?> <br/> <a href="compose.php">Compose</a> <br/> <a href="logout.php">Logout</a> </small></p> </card> </wml>

4. Skrip message.php

<? session_start(); Header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = imap_errors(); $total_psn = imap_num_msg($mbox); $nopesan = $_GET["id"]; $header = @imap_header($mbox, $nopesan); ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="email" title="Email <?=$_SESSION['Name']?>"> <p> <small>

Page 87: Aplikasi WAP Mail - USD

71

<a href="inbox.php">Inbox</a> - <? echo $total_psn; ?> Messages <br/><br/> <? if (isset($header->Subject)) { if ($header->Subject != "") { $subjek_psn = $header->Subject; } else { $subjek_psn = "No Subject"; }; } else { $subjek_psn = "No Subject"; }; ?> Subject: <? echo $subjek_psn; ?> <br/> From: <? echo htmlspecialchars($header->fromaddress); ?> <br/> To: <? echo htmlspecialchars($header->toaddress); ?> <br/> <? if (isset($header->ccaddress)) { echo "CC: " . htmlspecialchars($header->ccaddress); }; ?> Date: <? if (isset($header->Date)) { if ($header->Date != "") { echo substr($header->Date, 0, 22); } else

Page 88: Aplikasi WAP Mail - USD

72

{ echo "Unknown"; }; } else { echo "Unknown"; }; ?> <br/> <? $bdn_email = @imap_fetchbody( $mbox, $nopesan, 1 ); echo htmlentities($bdn_email); ?> <br/> <br/> <? if ($total_psn > $nopesan) { ?> <a href="message.php?id=<? echo $nopesan+1; ?>">Prev<br/></a> <? } if (1 < $nopesan) { ?> <a href="message.php?id=<? echo $nopesan-1; ?>">Next<br/></a> <? } @imap_close($mbox); ?> <br/> <a href="reply.php?pesanid=<? echo $nopesan; ?>">Reply</a><br/> <a href="delete.php?hpspesan=<? echo $nopesan; ?>">Delete</a><br/> <a href="forward.php?pesanid=<? echo $nopesan; ?>">Forward</a><br/> <a href="compose.php">Compose</a><br/> <a href="logout.php">Logout</a><br/> </small> </p> </card> </wml> <? };

Page 89: Aplikasi WAP Mail - USD

73

?>

5. Skrip compose.php

<? session_start(); header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $total_psn = imap_num_msg($mbox); $error = imap_errors(); ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="compose" title="Compose <?=$_SESSION['Name']?>"> <p> </p> <p align="left"><small>To:</small> <input type="text" name="to"/> </p> <p align="left"><small>Cc:</small> <input type="text" name="cc"/> <!--<a href="compose.php?cc=1"><small>Tambah CC</small></a>--> </p> <p align="left"><small>Bcc:</small> <input type="text" name="bcc"/>

Page 90: Aplikasi WAP Mail - USD

74

</p> <p align="left"><small>Subject:</small> <input type="text" name="subject"/> </p> <p align="left"><small>Message:</small> <input type="text" name="body"/> </p> <p> <anchor title="Send"><go href="send.php" method="post"> <postfield name="to" value="$(to)"/> <postfield name="cc" value="$(cc)"/> <postfield name="bcc" value="$(bcc)"/> <postfield name="subject" value="$(subject)"/> <postfield name="body" value="$(body)"/> <postfield name="send" value="1"/></go><small>Send</small> </anchor> <br/> <anchor title="Cancel"><go href="inbox.php" method="post"> <postfield name="cancel" value="1"/></go><small>Cancel</small> </anchor> </p> </card> </wml> <? }; ?>

6. Skrip send.php

<? session_start(); include "function.php"; $trouble=0; if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else {

Page 91: Aplikasi WAP Mail - USD

75

header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $total_psn = imap_num_msg($mbox); $error = imap_errors(); function cek_almt_email($kar) { $kar = trim($kar); $awal = strrpos($kar, "<"); $akhir = strrpos($kar, ">"); if ($awal !== false) { $kar_baru = substr( $kar , $awal+1 , $akhir-$awal-1); } else { $kar_baru = $kar; }; return $kar_baru; }; function cek_kar_email($kar) { $pola_kar = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/"; if (preg_match($pola_kar, $kar)) { $cocok = TRUE; } else { $cocok = FALSE; }; return $cocok; }; ?>

Page 92: Aplikasi WAP Mail - USD

76

<wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="status" title="Email Status"> <? if (isset($_POST["to"])) { if ($_POST["to"]==""){ $trouble=1; ?> <p><small>You have not entered a destination. Please try again.</small></p> <? } }; if (trim($_POST["to"]) != "") { $to = trim($_POST["to"]); $slrh_almt = $to; }; if (trim($_POST["cc"]) != "") { $cc = trim($_POST["cc"]); $slrh_almt = $slrh_almt . "," . $cc; }; if (trim($_POST["bcc"]) != "") { $bcc = trim($_POST["bcc"]); $slrh_almt = $slrh_almt . "," . $bcc; }; $array_almt = split("," , $slrh_almt); for ($counter = 0; $counter < sizeof($array_almt); $counter++) { $array_almt[$counter] = cek_almt_email($array_almt[$counter]);

Page 93: Aplikasi WAP Mail - USD

77

if ($array_almt[$counter] != "" ) { if (!cek_kar_email($array_almt[$counter])) { $trouble=1; ?> <p><small>Invalid email address. Please try again.</small></p> <? }; }; }; $header_email = "From: " . $_SESSION['Name'] . "\r\n"; if (isset($cc)) { $header_email .= "CC: " . $cc . " \r\n"; }; if (isset($bcc)) { $header_email .= "BCC: " . $bcc . " \r\n"; }; $bdn_email = ""; $bdn_email .= $_POST["body"]; $status = @mail($to, $_POST["subject"], $bdn_email, $header_email); if ($status && $trouble==0) { ?> <p><small>Your message has been sent successfully. You may now do something else.</small></p> <? } else { ?> <p><small>Sorry, but something has gone wrong and your message did not send. Please use the BACK button on your browser and try again.</small></p> <? }; @imap_close($mbox); ?> <p><small> <a href="inbox.php">Inbox</a> - <? echo $total_psn; ?> Message<br/> <a href="compose.php">Compose</a><br/>

Page 94: Aplikasi WAP Mail - USD

78

<a href="logout.php">Logout</a> </small></p> </card> </wml> <? }; ?>

7. Skrip reply.php

<? session_start(); header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?> '); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = imap_errors(); if (isset($_GET["pesanid"])) { $pesanid = $_GET["pesanid"]; } else { header("Location: index.wml"); }; $total_psn = @imap_num_msg($mbox); $nopesan = $_GET["pesanid"]; $header = @imap_header($mbox, $nopesan); $struktur_psn = @imap_fetchstructure($mbox, $nopesan); if (isset($header->reply_toaddress))

Page 95: Aplikasi WAP Mail - USD

79

{ $tuj_psn = trim($header->reply_toaddress); } else { $tuj_psn = trim($header->fromaddress); }; if ($header->Subject == "") { $subjek_psn = "Re: No Subject"; } else { if (strtolower(substr(trim($header->Subject), 0, 3)) == "re:") { $subjek_psn = $header->Subject; } else { $subjek_psn = "Re: " . $header->Subject; }; }; ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="reply" title="Reply"> <p align="left"><small>To:</small> <input type="text" name="to" value="<? echo htmlspecialchars($tuj_psn); ?>"/> </p> <p align="left"><small>Cc:</small> <input type="text" name="cc"/> </p> <p align="left"><small>Bcc:</small> <input type="text" name="bcc"/> </p>

Page 96: Aplikasi WAP Mail - USD

80

<p align="left"><small>Subject:</small> <input type="text" name="subject" value="<? echo $subjek_psn; ?>"/> </p> <p align="left"><small>Message:</small> <input type="text" name="body" value=" <? echo "On " . substr($header->Date, 0, 20) . ", " . $tuj_psn . " wrote: \n"; echo htmlspecialchars(trim(@imap_fetchbody($mbox, $nopesan, 1))); ?> "/> </p> <p> <anchor title="Send"><go href="send.php" method="post"> <postfield name="to" value="$(to)"/> <postfield name="cc" value="$(cc)"/> <postfield name="bcc" value="$(bcc)"/> <postfield name="subject" value="$(subject)"/> <postfield name="body" value="$(body)"/> <postfield name="send" value="1"/></go><small>Send Reply</small> </anchor> <br/> <a href="message.php?id=<? echo $nopesan; ?>"><small>Cancel Reply</small></a> </p> </card> </wml> <? @imap_close($mbox); }; ?>

8. Skrip forward.php

<? session_start(); header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>');

Page 97: Aplikasi WAP Mail - USD

81

echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); include "function.php"; if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = imap_errors(); if (isset($_GET["pesanid"])) { $pesanid = $_GET["pesanid"]; } else { header("Location: index.php"); }; $total_psn = @imap_num_msg($mbox); $nopesan = $_GET["pesanid"]; $header = @imap_header($mbox, $nopesan); $struktur_psn = @imap_fetchstructure($mbox, $nopesan); if ($header->Subject == "") { $subjek_psn = "Fwd: No Subject"; } else { if (strtolower(substr(trim($header->Subject), 0, 3)) == "fwd:") { $subjek_psn = $header->Subject; } else { $subjek_psn = "Fwd: " . $header->Subject; };

Page 98: Aplikasi WAP Mail - USD

82

}; ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="forward" title="Forward"> <p align="left"><small>To:</small> <input type="text" name="to" value="to"/> </p> <p align="left"><small>Cc:</small> <input type="text" name="cc"/> </p> <p align="left"><small>Bcc:</small> <input type="text" name="bcc"/> </p> <p align="left"><small>Subject:</small> <input type="text" name="subject" value="<? echo $subjek_psn; ?>"/> </p> <p align="left"><small>Message:</small> <input type="text" name="body" value=" <? echo "On " . substr($header->Date, 0, 20) . ", " . $tuj_psn . " wrote: \n"; echo htmlspecialchars(trim(@imap_fetchbody($mbox, $nopesan, 1))); ?> "/> </p> <p> <anchor title="Send"><go href="send.php" method="post"> <postfield name="to" value="$(to)"/> <postfield name="cc" value="$(cc)"/> <postfield name="bcc" value="$(bcc)"/> <postfield name="subject" value="$(subject)"/> <postfield name="body" value="$(body)"/> <postfield name="send" value="1"/></go><small>Send Forward</small> </anchor>

Page 99: Aplikasi WAP Mail - USD

83

<br/> <a href="message.php?id=<? echo $nopesan; ?>"><small>Cancel Forward</small></a> </p> </card> </wml> <? @imap_close($mbox); }; ?>

9. Skrip delete.php

<? session_start(); include "function.php"; if (!isset($_SESSION['Name']) || !isset($_SESSION['Password'])) { header("Location: index.wml"); } else { $mbox = @imap_open("{localhost/pop3:110}", $_SESSION['Name'], $_SESSION['Password']); $error = @imap_errors(); $hapus_pesan = $_GET["hpspesan"]; @imap_delete($mbox, $hapus_pesan); @imap_close($mbox, CL_EXPUNGE); header("location:inbox.php"); }; ?>

10. Skrip logout.php

<? session_start(); unset ($_SESSION["SESSION"]); unset ($_SESSION["SESSION_Name"]); unset ($_SESSION["SESSION_Password"]);

Page 100: Aplikasi WAP Mail - USD

84

Header('Content-type:text/vnd.wap.wml'); echo ('<?xml version="1.0" ?>'); echo ('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'); ?> <wml> <template> <do type="prev" label="Back"> <prev/> </do> </template> <card id="logout" title="Logout"> <p align="center"><small>You have successfully logout<br/> <a href="index.wml">Login</a><br/></small> </p> </card> </wml>