1 SISTEM INSTANT AUTOREPLY UNTUK TRANSKRIP NILAI AKHIR Skripsi Untuk memenuhi sebagian persyaratan mencapai Derajat Sarjana Teknik disusun oleh : Muha...
Digitally signed by Muhammad Fahrizal Rahman Reason: I am the author of this document Location: Bulaksumur, Yogyakarta
SISTEM INSTANT AUTOREPLY UNTUK TRANSKRIP NILAI AKHIR Skripsi Untuk memenuhi sebagian persyaratan mencapai Derajat Sarjana Teknik
disusun oleh :
Muhammad Fahrizal Rahman 02018220
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS AHMAD DAHLAN YOGYAKARTA 2007
PERSEMBAHAN
Buat Ayah, Mama dan Laras
v
MOTTO
“Pengetahuan Tuhan laksana titik, pengetahuan manusia laksana garis, eksistensi garis ada pada eksistensi sebuah titik” (Penulis) “Ketika tidak ada sesuatupun yang tersisa untuk bertahan hidup, maka hanya keinginan untuk tetap hiduplah yang akan membuat kita tetap hidup”. (Penulis) “Begitu ya begitu, tapi mbok ya jangan begitu.” (Pisuhan Hati - Penulis)
iv
KATA PENGANTAR
Assalamualaikum Wr.Wb. Alhamdulillahirobil’alamin, segala puji dan syukur kehadirat Allah SWT yang telah memberikan Rahmat dan Hidayah-Nya, sehingga penulis dapat menyelesaikan penyusunan laporan tugas akhir ini dengan judul “Sistem Instant Autoreply untuk Transkrip Nilai Akhir“, dengan baik. Tak lupa pula sholawat dan salam semoga tetap tercurah kepada junjungan kita Nabi besar Muhammad SAW yang telah membimbing kita ke jalan yang lurus. Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada pihak yang telah membantu selama tugas akhir dan penulisan laporan ini, baik berupa saran, dukungan referensi, dukungan berbagai fasilitas dan lain sebagainya. Penulis ucapkan terima kasih yang tak terhingga kepada yang saya hormati : 1. Keluargaku dirumah. 2. Bapak Wahyu Pujiyono, M.Kom., selaku pembimbing I yang telah memberikan pengarahan dan bimbingan. 3. Bapak Ardi Pujiyanta, S.T., M.T., selaku pembimbing II. Terima kasih atas bimbingan serta arahan bapak. 4. Bapak Rusydi Umar, S.T., M.T., atas ide-ide dan sumbangan sarannya. 5. Bapak Budi Rahardjo, P.hD., untuk ide b-search-nya. 6. Special thanks to Ruud G. Van Toll.
vi
7. Setiawan Suryatmoko dan rekan. 8. Novan dan keluarga. 9. Rekan sekerja di PUSKOM Universitas Gadjah Mada. 10. Firjhon, serta Irfan Ahmad dan keluarga. 11. Teman-teman Tim KKN Temanggung Divisi I B3 Februari 2007. 12. Trio Santoso. 13. Ridwan, Hendrawan, Evy Apriani, Benny, Andri, dan Basit. 14. Teman-teman di Teknik Informatika Universitas Ahmad Dahlan Yogyakarta khususnya angkatan 2002. 15. Pihak-pihak lain yang belum disebutkan satu-persatu, bukan berarti penulis melupakan semua, terima kasih untuk semuanya.
Semoga Allah SWT memberikan balasan atas bantuan yang diberikan kepada penulis selama ini. Laporan ini belumlah sempurna, masih banyak yang perlu dibenahi. Untuk itu penulis mengharapkan saran dan kritik membangun. Softcopy akan disertakan dalam website penulis di http://risal.bukabuku.org
Wassalamualaikum Wr. Wb.
Yogyakarta, 17 Januari 2007
Penulis
vii
Sistem Instant Autoreply untuk Transkrip Nilai Akhir
Muhammad Fahrizal Rahman 02018220 ABSTRAK E-mail adalah aplikasi pengiriman pesan yang telah ditemukan sejak internet itu sendiri ditemukan. Popularitas e-mail tidak turun lantaran perkembangan teknologi internet yang semakin pesat, justru dengan kemajuan teknologi itulah e-mail selalu berkembang. Sejak diketemukan hampir 33 tahun yang lalu, hingga kini, ketika peranti komunikasi mobile telah menjadi kebutuhan, e-mail masih tetap dipergunakan untuk menunjang kebutuhan akan komunikasi. Transkrip nilai akhir adalah suatu bentuk informasi mengenai detail matakuliah beserta nilai yang telah ditempuh oleh mahasiswa yang bersangkutan. Proses pembuatan transkrip membutuhkan waktu cukup lama, selain itu, belum tersedianya sistem layanan untuk menampilkan informasi transkrip nilai yang dapat diakses dengan perangkat selain menggunakan personal computer. Tujuan dari penelitian ini adalah membuat sebuah sistem layanan permintaan transkrip nilai secara otomatis melalui media e-mail yang dapat diakses dari mana saja dan kapan saja. Penelitian ini dilakukan dengan mempelajari sistem yang berhubungan dengan perancangan autoreply (penjawab otomatis), e-mail server, jaringan komputer, sistem operasi server, teknologi pemrograman web dan mobile device. Beberapa hal yang dapat ditelaah dari penelitian ini adalah rancangan header email, penggunaan regular-expression, konfigurasi sistem operasi server, konfigurasi sistem e-mail server, pemrograman berbasis web dan mobile device programming. Implementasi penelitian ini membutuhkan lngkah-langkah sebagai berikut, pertama, mempelajari beberapa literatur yang berkaitan dengan judul penelitian, langkah kedua, melakukan analisa atas data yang diperoleh dan sistem yang ada, langkah ketiga, merancang suatu sistem siap pakai dan mendeklarasikan hasil rancangan kedalam perangkat lunak dan perangkat keras yang digunakan sebagai alat penelitian untuk menguji kebenaran hasil rancangan. Penelitian yang telah dilakukan menghasilkan suatu sistem instant autoreply yang dapat digunakan untuk meminta informasi transkrip nilai akhir dengan menggunakan perangkat personal computer ataupun perangkat komunikasi bergerak yang mendukung teknologi internet dan Java.
Kata kunci : autoreply, e-mail, Java, WAP.
xvi
BAB I PENDAHULUAN
A. LATAR BELAKANG MASALAH Informasi kini makin mudah untuk dijelajahi, salah satu faktor yang sangat mendorong hal tersebut adalah dengan semakin mudahnya akses atas informasi suatu wilayah meski berbeda secara teritorial. Jarak kini bukanlah masalah yang berarti, sebab, sebuah mekanisme baru untuk saling berbagi informasi telah tersedia dan dipakai secara luas, internet. Internet adalah suatu media untuk saling bertukar informasi dengan mudah, di mana saja, kapan saja dan oleh siapa saja, serta bebas dimanfaatkan untuk kepentingan apapun. Internet menghubungkan jutaan orang di seluruh dunia ke dalam sebuah jaringan informasi raksasa, sehingga saling bertukar informasi tidak lagi menemui kendala. Lain halnya dengan komunikasi yang tidak menggunakan internet, di mana untuk saling berkomunikasi masih harus melewati batas wilayah, birokrasi, dan waktu yang berimplikasi pada informasi yang disampaikan. Informasi dapat disampaikan dengan beragam cara, cara yang umum dilakukan melalui media internet adalah penyampaian informasi via email, dan salah satu bentuk sistem penyampaian informasi menggunakan media e-mail ialah sistem pengembalian otomatis (automated reply). Sistem pengembalian otomatis (automated reply) adalah sistem yang mampu mengembalikan permintaan dari user sesuai dengan apa yang diminta secara
1
langsung dan tanpa campur tangan manusia dalam prosesnya. User, secara implisit meminta sesuatu, diterapkan dengan mengirimkan kata kunci dari apa yang diminta kepada sistem untuk kemudian diteruskan dengan mencari permintaan dan dikembalikan sesuai dengan hasil yang diminta user oleh automated reply system. Umumnya, reply system dikategorikan berdasarkan rentang waktu antara pengiriman permintaan (request) dan pengembalian hasil (result), berdasarkan kemudahan penggunaan (process), dan berdasar atas urutan instruksi pencarian. Kenyataan sehari-hari dalam penggunaan sistem reply sering terjadi kesalahpahaman. Sistem reply diidentikkan dengan autoreply (automated reply), sistem reply adalah sistem pengembalian atas sesuatu (misal e-mail atau SMS) dengan masih adanya campur tangan manusia, sistem automated reply meniadakan faktor manusia dalam proses tersebut dan digantikan dengan keberadaan mesin (computer). Sistem instant autoreply sering diidentikkan dengan sistem realtime autoreply, instant autoreply adalah sistem auto-reply yang mudah digunakan oleh user (tanpa perlu banyak proses), dan realtime autoreply adalah sistem autoreply dengan tanpa adanya jeda waktu pada proses pengembalian hasil permintaan. Tidak semua sistem instant bersifat realtime dan tidak semua sistem realtime bersifat instant. Sistem instant autoreply terkait pada penyederhanaan proses penggunaan sarana autoreply kepada pengguna, dan realtime autoreply system lebih terkait dengan waktu pengiriman hasil permintaan kepada pengguna. Sistem realtime autoreply membutuhkan biaya yang lebih besar ketimbang sistem instant
2
autoreply, karena harus menggunakan sumberdaya yang optimal untuk dapat mengembalikan hasil permintaan dengan sangat cepat (tanpa jeda). Internet kini telah menjadi kebutuhan, bahkan untuk level akademik telah menjadi kebutuhan vital. Internet diperlukan untuk sarana pembelajaran bagi para siswa karena kandungan informasi yang luas didalamnya. Selain itu, internet juga dapat mempermudah proses administrasi dan sosialisasi kegiatan akademik suatu universitas dengan menempatkan informasi akan kegiatan akademik dalam suatu lingkungan tertentu yang dapat diakses oleh berbagai stakeholder dengan batasan akses tertentu. Salah satu stakeholder dalam sebuah universitas adalah Biro administrasi akademik (BAA). BAA adalah sebuah lembaga internal perguruan tinggi yang bertugas melayani kebutuhan administrasi akademis sebuah perguruan tinggi. Salah satu bentuk pelayanan BAA adalah penyediaan transkrip nilai bagi mahasiswanya. Transkrip nilai sangat dibutuhkan bagi mahasiswa tingkat akhir ataupun alumni dikarenakan transkrip nilai memuat keseluruhan nilai akhir matakuliah yang umumnya dipergunakan pada saat melamar pekerjaan. Tidak hanya itu, transkrip nilai juga diperlukan oleh orang tua maupun wali mahasiswa yang ingin melihat prestasi akademik dari mahasiswa yang bersangkutan. Selama ini pelayanan mengenai transkrip nilai hanya dilayani apabila mahasiswa yang bersangkutan datang dan meminta transkrip nilai tersebut secara langsung. Mahasiswa harus antri untuk mendapatkan transkrip nilainya yang terkadang membutuhkan waktu lama bergantung pada jumlah
3
antrian. Antrian ini disebabkan oleh banyaknya pekerjaan yang harus dikerjakan pihak BAA, tidak hanya mengurusi permasalahan transkrip nilai mahasiswa, selain itu rasio jumlah mahasiswa dan jumlah petugas BAA yang tidak berimbang, dimana seorang petugas BAA diharuskan melayani keseluruhan mahasiswa dari dua program studi sekaligus. Masalah lainnya adalah belum tersedianya sistem yang mampu menyampaikan informasi transkrip nilai kepada mahasiswa secara mudah dan cepat. Pada penelitian tugas akhir ini, dicoba untuk dikembangkan suatu sistem alternatif untuk mengirimkan informasi transkrip nilai tersebut secara otomatis. Media yang digunakan untuk pengiriman transkrip nilai adalah email yang dikirimkan melalui protokol TCP/IP. E-mail adalah media penyampaian informasi yang fleksibel, dalam artian, e-mail tidak secara spesifik bergantung pada platform tertentu, baik hardware maupun software, sehingga e-mail dapat diakses melalui peranti apapun selama memiliki akses internet. Contoh dari peranti yang mampu mengakses internet adalah telepon selular (handphone). Metode pengiriman transkrip nilai ini harus mampu diakses oleh kebanyakan pengguna (civitas akademik, wali mahasiswa, dan pihak lain yang berkepentingan), sehingga dibutuhkan peranti akses yang murah, memasyarakat dan mudah digunakan. Telepon selular merupakan peranti yang memenuhi kriteria tersebut, dengan harga yang semakin murah, sehingga dapat dijangkau oleh hampir semua kalangan strata sosial. Pengguna akhir sistem ini, pada dasarnya hanya menggunakan media e-mail. Perangkat keras komunikasi seperti, handphone, PDA atau
4
peranti apapun (termasuk Persona Computer) yang dapat digunakan untuk mengakses e-mail akan dapat mengakses sistem ini. Sistem ini nantinya, diharapkan dapat menjadi alternatif solusi yang convenient, compliant, scalable, dependable, mudah digunakan dan dipelihara, serta murah, untuk tujuan pelayanan administrasi akademik berupa informasi transkrip nilai mahasiswa.
B. IDENTIFIKASI MASALAH 1. Rasio jumlah mahasiswa dan petugas biro administrasi akademik yang tidak berimbang sehingga proses pelayanan menjadi lambat. 2. Banyaknya masalah yang harus ditangani oleh petugas biro administrasi akademik. 3. Belum tersedianya sistem penyampaian transkrip nilai yang mudah diakses.
C. BATASAN MASALAH 1. Sistem ini digunakan hanya untuk mengirimkan transkrip nilai keseluruhan semester. 2. Transkrip nilai adalah nilai akhir mahasiswa yang sudah tetap.
5
D. RUMUSAN MASALAH Perlunya dibuat sistem yang mampu mempermudah mahasiswa dalam memperoleh transkrip nilai. E. TUJUAN PENELITIAN Mampu
mengembangkan
sistem
layanan
instant
autoreply
untuk
memudahkan mahasiwa dalam memperoleh transkrip nilai akhir. F. MANFAAT HASIL PENELITIAN 1. Bagi penulis a. Untuk menambah wawasan dan ilmu pengetahuan di luar lingkungan kampus yang berhubungan dengan program studi yang dipilih. b. Untuk menambah pengetahuan sebelum terjun langsung ke dunia kerja dan ke tengah masyarakat untuk mengabdikan ilmu yang dipelajari di bangku kuliah. c. Untuk menguji kemampuan mahasiswa menggunakan teori yang di dapat di bangku kuliah. 2. Bagi ilmu pengetahuan a. Hasil penelitian ini diharapkan dapat memberikan sumbangan bagi pengembangan ilmu di bidang informatika. b. Menggali solusi alternatif dan menambah kepustakaan di bidang ilmu komputer.
6
7
tiBAB II KAJIAN PUSTAKA
A. KAJIAN HASIL PENELITIAN TERDAHULU Setiawan
Suryatmoko
[7]
dalam
tulisannya
menerangkan
bagaimana cara mengirimkan e-mail beserta MIME melalui bahasa pemrograman PHP untuk aplikasi web berbasis HTML. Dalam penelitiannya yang menjadi pokok bahasan utama yaitu perancangan program e-mail client berbasis web yang dapat melakukan operasi dasar manajemen e-mail seperti sending, reading, deleting, forwarding, replying dan disertai dengan kemampuan mengirim serta membaca file attachment. Jonathan Knudsen [5] dalam tulisannya menerangkan cara mengirimkan e-mail menggunakan standard API pada Java 2 SE. Dalam keterangan kode sumbernya dapat diketahui bahwa aplikasi yang dibuat dapat mengirimkan e-mail dalam format plain-text melalui port 25 dari protokol SMTP. Suwandi [8] dalam tulisannya menerangkan cara membuat suatu aplikasi pengiriman content secara otomatis berdasarkan format SMS yang telah ditentukan menggunakan telepon selular sebagai peranti keras yang difungsikan sebagai gateway. Kesimpulan yang didapat dalam tulisan tersebut adalah bahwa media yang digunakan berupa SMS dan device yang digunakan sebagai gateway untuk SMS adalah telepon selular, dimana SMS memiliki keterbatasan karakter (160 karakter) serta fleksibilitas dan telepon selular memiliki sumberdaya yang kecil untuk melakukan proses pada lingkup gateway dengan ratusan user. Performa yang dihasilkan tidaklah
8
optimal dikarenakan penggunan telepon selular sebagai gateway dan penggunaan koneksi serial port (RS-232) untuk transmisi data dari telepon selular menuju komputer hanya mampu mengirimkan data dengan bandwith yang kecil. Selain itu interoperabilitas adalah isu penting, dikarenakan hanya telepon selular atau peranti sejenis dengan jaringan GSM sebagai media komunikasi yang dapat mengakses SMS sehingga peranti lain semacam personal computer tidak dapat mengakses informasi yang sama. Selain itu, informasi yang ditampilkan hanyalah indeks prestasi kumulatif (IPK) tanpa bisa merinci berapa jumlah matakuliah yang diambil beserta nilainya. Perkembangan teknologi yang semakin pesat menuntut informasi dapat diterima dengan mudah dan cepat. Berbagai teknologi dipergunakan untuk memberikan informasi dengan cepat dan mudah, tetapi selalu ada keterbatasan, penyusun mencoba membuat suatu sistem permintaan transkrip nilai yang dapat memberikan informasi mengenai transkrip nilai dengan cepat dan mudah melalui berbagai media komunikasi yang mendukung penggunaan internet, sehingga diharapkan informasi tentang transkrip nilai dengan mudah didapat..
B. LANDASAN TEORI 1. Dasar Arsitektur TCP/IP Pada
dasarnya,
komunikasi
data
merupakan
proses
mengirimkan data dari satu komputer ke komputer yang lain. Untuk dapat mengirimkan data, pada komputer harus ditambahkan alat khusus,
9
yang dikenal sebagai network interface (antarmuka jaringan). Jenis interface jaringan ini bermacam-maacam, bergantung pada media fisik yang digunakan untuk mentransfer data tersebut. [5] Dalam proses pengiriman data tersebut terdapat beberapa masalah yang harus dipecahkan. Pertama, data harus dapat dikirimkan ke komputer yang tepat, sesuai dengan tujuannya. Hal ini menjadi rumit jika komputer tujuan transfer data ini tidak berada pada jaringan lokal, melainkan pada tempat yang jauh (secara jaringan), maka terdapat kemungkinan data rusak atau hilang. Karenanya, perlu ada mekanisme yang mencegah rusaknya data ini. Hal lain yang perlu diperhatikan adalah, pada komputer tujuan mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data. Data yang dikirim harus sampai ke aplikasi yang tepat, pada komputer yang tepat dan tanpa kesalahan. Cara alamiah untuk menghadapi setiap masalah yang rumit adalah dengan cara memecahkan masalah tersebut menjadi bagian-bagian kecil. Dalam memecahkan masalah transfer data di atas, para ahli komputer jaringan pun melakukan hal yang sama. Untuk setiap problem komunikasi data, diciptakan solusi khusus berupa aturan-aturan untuk menangani problem tersebut. Dengan demikin untuk menangani masalah komunikasi data, keseluruhan aturan ini harus bekerjasama satu dengan yang lainnya. Sekumpulan aturan yang mengatur proses pengiriman data ini disebut protokol komunikasi data. Protokol ini diimplementasikan
10
dalam bentuk peranti lunak komputer (software) yang terdapat pada komputer dan peralatan komunikasi data lainnya. TCP/IP adalah sekumpulan protokol yang didesain untuk melakukan fungsi-fungsi komunikasi data pada Wide Area Network (WAN). TCP/IP terdiri atas sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dari komunikasi data. Berkat prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. Protokol yang satu tidak perlu mengetahui cara kerja protokol yang lain, sepanjang ia masih bisa saling mengirim dan menerima data. Penggunaan prinsip yang demikian ini menjadikan TCP/IP sebagai protokol komunikasi yaang fleksibel. Protokol TCP/IP dapat diterapkan dengan mudah di setiap jenis komputer dan interface jaringan, karena sebagian besar isi kumpulan protokol ini tidak spesifik terhadap satu komputer atau peralatan jaringan tertentu, hanya perlu dilakukan perubahan protokol yang berhubungan dengan interface jaringan saja. Sekumpulan protokol TCP/IP ini dimodelkan dengan empat lapisan (layer) TCP/IP, sebagaimana terlihat pada gambar berikut ini:
11
Gambar 1. Layer TCP/IP TCP/IP terdiri atas empat lapis kumpulan protokol yang bertingkat. Keempat lapisan/layer tersebut adalah: a. Network Layer b. Internet Layer c. Transport Layer d. Application Layer Dalam TCP/IP, terjadi penyampaian data dari protokol yang berada di satu layer ke protokol yang berada di layer yang lain. Setiap protokol memperlakukan semua informasi yang diterimanya dari protokol lain sebagai data Jika suatu protokol menerima data dari protokol lain di layer atasnya, ia akan menambahkan informasi tambahan miliknya ke data tersebut. Informasi tambahan ini memiliki fungsi yang sesuai dengan fungsi protokol tersebut. Setelah itu, data ini diteruskan lagi ke protokol pada layer dibawahnya.
12
Hal yang sebaliknya terjadi jika suatu protokol menerima data dari protokol lain yang berada pada layer dibawahnya. Jika data ini dianggap valid, protokol akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke protokol lain yang berada pada layer di atasnya.
Gambar 2. Pergerakan data dalam layer TCP/IP Lapisan
terbawah,
yaitu
Network
Interface
Layer,
bertanggung jawab mengirim dan menerima data ke dan dari media fisik. Media fisiknya dapat berupa kabel, serta optik, atau gelombang radio,. Karena
tugasnya
ini,
protokol
pada
layer
ini
harus
mampu
menerjemahkan sinyal listrik menjadi data digital yang dimengerti komputer, yang berasal dari peralatan lain sejenis. Lapisan/layer protokol berikutnya ialah Internet Layer. Protokol yang berada pada layer ini bertanggung jawab dalam proses pengiriman paket ke alamat yang tepat. Pada layer ini, terdapat tiga macam protokol, yaitu, IP, ARP, ICMP.
13
IP (Internet Protocol) berfungsi untuk menyampaikan paket data ke alamat yang tepat. ARP (Address Resolution Protocol) ialah protokol yang digunakan untuk menemukan alamat hardware dari host/komputer yang terletak pada network yang sama. Sedangkan ICMP (Internet Control Message Protocol) ialah protokol yang digunakan untuk mengirimkan pesan dan melaporkan kegagalan pengiriman data. Layer berikutnya, yaitu Transport Layer, berisi protokol yang bertanggung
jawab
untuk
mengadakan
komunikasi
antara
dua
host/komputer. Kedua protokol tersebut adalah TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Layer teratas, ialah Application Layer. Pada layer inilah terletak semua aplikasi yang menggunakan protokol komunikasi TCP/IP.
2. IP Address Dalam mendesain sebuah jaringan komputer yang terhubung ke internet, kita perlu menentukan IP address untuk tiap komputer yang terhubung dalam jaringan tersebut. Penentuan IP address ini termasuk bagian terpenting dalam pengambilan keputusan desain. Hal ini disebabkan oleh IP address (yang terdiri atas bilangan 32-bit) ini akan ditempatkan dalam header setiap paket data yang dikirim oleh komputer ke komputer lain, serta akan digunakan untuk menentukan rute yang harus ditempuh oleh paket-paket data. Di samping itu, sebuah sistem
14
komunikasi dikatakan mendukung layanan komunikasi universal jika setiap komputer dapat berkomunikasi dengan setiap komputer lain. Untuk membuat sistem komunikasi kita universal, kita perlu menerapkan metode pengalamatan komputer yang telah diterima di seluruh dunia. Dengan menentukan IP Address, kita melakukan pemberian identitas yang universal bagi setiap interface komputer. Setiap komputer yang tersambung ke internet setidaknya harus memiliki sebuah IP address pada setiap interface. Dalam penerapan sehari-hari, kita dapat melihat sebuah komputer memiliki lebih dari satu interface serial. Maka, kita harus memberi dua IP address kepada komputer tersebut masingmasing untuk interface. Jadi, sebuah IP address sesungguhnya tidak merujuk ke sebuah komputer, tetapi ke sebuah interface. IP Address merupakan bilangan biner 32 bit yang dipisahkan oleh tanda pemisah berupa tanda titik setiap delapan bit. Tiap delapan bit ini disebut sebagai oktet. Bentuk IP address adalah sebagai berikut: xxxxxxxx . xxxxxxxx . xxxxxxxx. xxxxxxxx Setiap simbol “x” dapat digantikan oleh angka 0 dan 1 misalnya sebagai berikut: 100000100. 1011100. 1111001. 00000001. Notasi IP address dengan bilangan biner seperti diatas tidak mudah dibaca. Untuk memudahkan pembacaan dan penulisan maka IP address sering ditulis sebagai empat bilangan desimal yang masingmasing dipisahkan oleh sebuah titik. Format penulisan seperti ini disebut
15
sebagai dotted-decimal notation (notasi desimal bertitik). Setiap bilangan desimal tersebut merupakan nilai dari satu octet (delapan bit) IP address. Gambar berikut ini memperlihatkan bagaimana sebuah IP address yang ditulis dengan notasi dotted-decimal:
Gambar 3. Notasi Dotted-Decimal
Jika dilihat dari bentuknya, IP address terdiri atas empat buah bilangan biner 8 bit. Nilai terbesar dari bilangan biner 8 bit ialah 255 (= 27 + 26 + 25 + 24 + 23 + 22 + 2 + 1). Karena IP address terdiri atas empat buah bilangan delapan bit, maka jumlah IP address yang tersedia adalah 255 x 255 x 255 x 255. IP address sebanyak ini harus dibagi keseluruh pengguna jaringan internet di seluruh dunia. Untuk mempermudah proses pembagiannya, IP address dikelompokkan ke dalam kelas-kelas. Dasar perimbangan pembagian IP address ini kedalam
kelas-kelas
adalah
untuk
memudahkan
pendistribusian
pendaftaran IP address. Dengan memberikan sebuah ruang nomor jaringan (beberapa blok IP address) kepada ISP (Internet Service
16
Provider) disuatu area diasumsikan penanganan komunitas lokal tersebut akan lebih baik, dibandingkan dengan jika setiap pemakai individu harus meminta IP address ke otoritas pusat, yaitu Internet Assigned Number Authoriry (IANA). IP address dikelompokkan kedalam lima kelas: Kelas A, Kelas B, Kelas C, Kelas D, dan Kelas E. Perbedaan pada tiap kelas tersebut adalah pada ukuran dan jumlahnya. IP kelas A dipakai oleh sedikit jaringan namun jaringan ini memiliki anggota yang besar. Kelas C dipakai pada banyak jaringan, namun anggota masing-masing jaringan sedikit, kelas D dipergunakan pada jaringan multicast, dan kelas E diperlukan untuk keperluan eksperimental. Pembagian kelas-kelas IP address didasarkan pada dua hal: network ID dan host ID dari suatu IP address. Setiap IP address selalu merupakan sebuah pasangan dari network ID (identitas jaringan) dan host ID (identitas host dalam jaringan). Network ID ialah bagian dari IP address yang digunakan untuk menunjukkan jaringan tempat komputer ini berada. Sedangkan host ID ialah bagian dari IP address yang digunakan untuk menunjukkan workstation, server, router dan semua host TCP/IP lainnya dalam jaringan. Dalam satu jaringan, host ID ini harus unik (tidak boleh ada yang sama), untuk sisi praktisnya, setiap IP address harus memiliki salah satu bentuk dari ketiga bentuk pertama pada gambar berikut:
17
Gambar 4. Kelas-kelas IP Karakterstik detail dari masing-masing kelas adalah sebagai berikut: a. IP Address Kelas A, memilki format 0xxxxxxx yyyyyyyy yyyyyyyy yyyyyyyy dengan bit pertama adalah nol, panjang NetID adalah delapan bit sedangkan panjang hostID adalah 24 bit. Byte terdepan selalu bernilai antara nol hingga 127. Jumlah IP keseluruhan adalah 16.777.214. b. IP Address Kelas B, memilki format 10xxxxxx yyyyyyyy yyyyyyyy yyyyyyyy dengan dua bit pertama adalah 10, panjang NetID adalah 16 bit sedangkan panjang hostID
18
adalah 16 bit. Byte terdepan selalu bernilai antara 128 hingga 191. Jumlah IP keseluruhan adalah 65.532. c. IP Address Kelas C, memilki format 110xxxxx yyyyyyyy yyyyyyyy yyyyyyyy dengan tiga bit pertama adalah 110, panjang NetID adalah 24 bit sedangkan panjang hostID adalah delapan bit. Byte terdepan selalu bernilai antara 192 hingga 223. Jumlah IP keseluruhan adalah 254. d. IP Address Kelas D, memilki format 1110xxxx yyyyyyyy yyyyyyyy yyyyyyyy dengan empat bit pertama adalah 1110, dalam multicast tidak dikenal network bit dan host bit, hanya terdapat bit multicast sejumlah 28 bit dan byte inisial dimulai dari 224 hingga 247. Alamat multicast diatur dalam RFC 1112. e. IP Address Kelas E, memilki format 1111xxxx yyyyyyyy yyyyyyyy yyyyyyyy dengan empat bit pertama adalah 1111, IP kelas E tidak digunakan untuk keperluan umum, hanya dipergunakan untuk keperluan eksperimen. Bit cadangan sejumlah 28 bit dan byte inisial dimulai dari 248 hingga 255.
19
3. Domain Name System (DNS) Fungsi utama dari sebuah Domain Name System adalah menerjemahkan nomor-nomor IP (Internet Protocol) menjadi nama domain ataupun sebaliknya, sehingga nama tersebut mudah diingat. Fungsi lainnya adalah memberikan suatu informasi tentang host ke seluruh jaringan internet. Kita tentu akan lebih mudah mengingat nama domain semisal www.uad.ac.id daripada nomor IP semisal 203.121.8.9, Domain Name System menjadi sebuah aplikasi penerjemah atas suatu alamat IP dan alamat domain sehingga lebih dimengerti oleh manusia. Dalam hubungannya dengan sebuah layanan e-mail, Domain Name System memilki fungsi sebagai MX Record (Mail Exchange Record). MX Record digunakan untuk mengarahkan e-mail untuk suatu host ataupun suatu domain ke host yang berfungsi sebagai e-mail server. MX Record sangat berguna untuk suatu domain yang tidak menjalankan mail software. Mail software yang ditujukan untuk domain ini akan diarahkan ke host yang menjalankan mail software.
4. Simple Mail Transport Protocol (SMTP) Simple Mail Transport Protocol atau lazim dikenal dengan sebutan SMTP, merupakan protokol pada layer application dari TCP/IP yang digunakan untuk mengirimkan sebuah pesan (e-mail) dari satu host ke host yang lain.
20
Aplikasi-aplikasi
pengirim e-mail
yang memanfaatkan
protokol SMTP ini disebut dengan Message Transport Agent (MTA). MTA merupakan peranti lunak yang bertugas menyampaikan e-mail ke luar dan menerima e-mail yang masuk. Komunikasi antara dua MTA menggunakan kode-kode ASCII yang dinamakan NVT ASCII. Perintah dikirim oleh client ke server dan server merespon dengan mengeluarkan kode balasan bertipe numerik serta beberapa string yang dapat dibaca. Protokol SMTP mengalami perkembangan seiring dengan perkembangan internet itu sendiri, protokol SMTP kini mengalami penambahan framework dan kemudian lebih dikenal dengan sebutan ESMTP (Extended SMTP), walaupun ada penambahan fitur baru dalam SMTP,
implementasi
awal
tidak
ditinggalkan
untuk
menjaga
kompatibilitas.
5. POP 3 (Post Office Protocol version 3) Proses maintain suatu sistem transportasi e-mail adalah hal yang tidak praktis pada beberaapa node kecil di internet. Workstation sebagai salah satu contoh node kecil di internet sangat mungkin untuk tidak memiliki sumberdaya (hardware) untuk mengizinkan sebuah email server beserta program Local Delivery Agent (LDA) untuk terus berjalan dan menyimpan semua pekerjannya secara simultan.
21
Analogi yang sama dapat diterapkan pada sebuah personal computer (PC) bila harus terhubung dengan jaringan internet terusmenerus untuk waktu yang lama akan membutuhkan biaya yang tidak murah untuk sambungan internet. Di sisi lain, adalah sangat berguna apabila user dapat menggunakan sebuah user agent untuk melakukan operasi e-mail dari workstation atau PC yang ada. Untuk menyelesaikan masalah ini, sebuah node yang dapat mendukung transportasi dan operasi e-mail dapat menyediakan sebuah layanan maildrop bagi titik akhir sistem yang membutuhkan. POP3 dihadirkan sebagai suatu sarana untuk mengizinkan workstation mengakses secara dinamis sebuah layanan maildrop pada sebuah server dengan cara yang nyaman. Sederhananya, POP3 mengizinkan workstation untuk mengambil e-mail dari sebuah server penyimpan, untuk kemudian dibaca pada sebuah user agent pada workstation yang bersangkutan. POP3 tidak dihadirkan sebagai suatu cara pengoperasian e-mail yang lengkap pada server, ia hanya mengizinkan suatu e-mail untuk diambil (download), dibaca oleh user agent untuk kemudian dilakukan penghapusan. Pengoperasian e-mail yang lebih lengkap dapat mempergunakan protokol lain, yaitu IMAP. POP3 didefinisikan dalam standard RFC 1939, standard tersebut membahas tentang detail teknis pengoperasian protokol POP3 berikut dengan autentifikasinya.
22
6. Network Virtual Terminal (NVT) Bentuk koneksi antar protokol SMTP menggunakan kodekode yang dikenal dengan sebutan NVT. NVT (Network Virtual Terminal) dalam mekanismenya menggunakan kode-kode ASCII (American Standard Code for Information Interchange), sehingga dalam implementasinya NVT lebih sering dikenal dengan sebutan NVT ASCII. Secara struktur NVT memiliki dua bagian, yaitu, printer dan keyboard (dalam pengertian secara virtual). Printer digunakan untuk merespon data yang masuk sedangkan keyboard digunakan untuk mengirimkan
data
melalui
koneksi
telnet
(Telecommunication
Nertwork). Model koneksi yang terjadi antara client dan server adalah simetrik (sama), atau dapat diartikan bahwa proses yang terjadi pada server dan proses yang terjadi pada client tidak berbeda. NVT ASCII menggunakan protokol telnet untuk melakukan komunikasi antar host, protokol ini digunakan pada masing-masing terminal serta proses komunikasi.
7. Postfix SMTP Server SMTP adalah sebuah protokol, untuk menggunakan SMTP diperlukan suatu software yang menjalankan fungsi SMTP, software tersebut dinamakan SMTP server. SMTP server yang digunakan dalam penelitian ini adalah Postfix. Postfix dikembangkan oleh Wietse Venema,
23
seorang ahli komputer yang juga membuat software keamanan internet, TCPWrapper. Secara umum Postfix dapat juga dikatakan sebagai sebuah Message Transport Agent (MTA) yang mengirimkan pesan antara server dan secara lokal di dalam sistem. Postfix memiliki beberapa keunggulan yang tidak dimiliki SMTP server lainnya, diantaranya adalah dukungan atas model konfigurasi yang mirip dengan Sendmail tingkat keamanan yang tinggi, penggunaan sumberdaya sistem yang rendah serta stabilitas yang baik. Keunggulan tersebut menjadikan Postfix sebagai pilihan utama dari administrator jaringan yang menggunakan Sendmail bila ingin bermigrasi ke sistem yang lebih aman. Seperti yang telah diketahui bersama, Sendmail adalah aplikasi SMTP server dengan bugs yang tinggi, selain itu, Sendmail memiliki teknik konfigurasi yang lebih rumit bila dibandingkan dengan SMTP server lainnya, walaupun demikian Sendmail adalah aplikasi yang secara default terpasang pada kebanyakan sistem UNIX. Gambar dibawah ini menjelaskan konsep kerja Postfix secara
umum.
24
Gambar 5. Cara Umum Kerja Postfix Gambar diatas mencoba mengilustrasikan cara kerja MTA (Postfix) secara umum, bahwa seorang bernama Heloise ingin mengirimkan
menggunakan e-mail agent, pine, dari komputernya untuk membuat email dan kemudian, pine, mengirimkan e-mail tersebut melalui sebuah MTA (Postfix). Postfix kemudian mencoba menentukan kemana tujuan email dari Heloise. Postfix menggunakan bantuan Domain Name Server (DNS) dari server tempat Heloise memilki account e-mail (siriesal.org) untuk memetakan jalur dan server SMTP mana yang harus menerima pesan untuk domain Abelard (uad.ac.id). Abelard Postfix server menerima pesan dan mengirimkan pesan dari Heloise kepada Abelard ([email protected]) dan disimpan dalam sebuah spool e-mail hingga akhirnya e-mail tersebut dibaca oleh Abelard.
25
8. Electronic Mail (E-mail) Sebuah studi tahun 1991 menunjukkan bahwa separuh dari hubungan TCP adalah untuk SMTP, walaupun prosentase dari penggunaan SMTP turun dikarenakan perkembangan penggunaan WWW yang cepat sejak 1994, aplikasi ini adalah salah satu layanan internet yang banyak digunakan, bahkan kini, WWW dijadikan salah satu sarana akses SMTP dengan hadirnya fenomena webmail. E-mail terkenal karena memberikan cara yang mudah dan cepat dalam mengirim informasi, selain itu, e-mail juga dapat menangani catatan kecil hingga file dengan ukuran ribuan kilo bytes. Tidak diragukan lagi, kini manusia pada umunya lebih sering melakukan pengiriman file melalui e-mail ketimbang protokol utama transfer file itu sendiri, FTP (File Tranfer Protocol). E-mail merupakan salah satu layanan dalam TCP/IP yang menggunakan protokol SMTP, dan gambar berikut akan memperlihatkan sistem pertukaran e-mail secara umum dalam jaringan TCP/IP Electronic mail, jika dilihat dari strukturnya, terdiri atas tiga komponen, yaitu: a. Envelope (Amplop), Envelope digunakan oleh MTA untuk melakukan pengiriman e-mail, berikut ini adalah contoh bagian dari envelope dari sebuah e-mail: MAIL FROM: [email protected] RCPT TO: [email protected]
26
b. Header, digunakan oleh e-mail client. Berikut ini adalah contoh dari field header dari sebuah e-mail: Received,
Message-ID,
data,
Reply-TO,
Xphone, To, Subject.
Setiap field haeder berisi sebuah nama yang diikuti oleh sebuah titik dua (:), dan nilai dari field tersebut. Format dan interpretasi atas field header diatur dalam RFC 822 c. Body, merupakan isi pesan yang berasal dari pengririm ke penerima. RFC 822 menjelaskan bahwa Body merupakan baris-baris dalam bentuk NVT (Network Virtual Terminal)
Selain itu, bila dilihat dari sisi fungsionalitas, e-mail memiliki beberapa bagian yang berbeda dari setiap strukturnya. Berikut ini merupkan bagian-bagian dari sebuah e-mail dipandang dari sisi fungsionalitas: a. Karakter Non ASCII, tidak mendukung penulisan karakter seperti yang ada pada huruf latin, atau karakter yang tidak terdapat dalam tabel ASCII. b. MIME (Multipurpose Internet Mail Extension), Jika RFC 822 menentukan bahwa body message sebagai baris-baris dalam
NVT
tanpa
struktur,
maka
RFC
1521
mendefinisikan ekstensi yang memungkinkan adanya struktur dalam body message e-mail. Extension yang memungkinkan adanya struktur dalam body message dari
27
e-mail disebut dengan MIME. MIME tidak memerlukan extension pada SMTP atau header non ASCII, MIME hanya
menambahkan,
beberapa
header
yang
memberitahukan kepada penerima struktur dari body message. MIME dapat diterapkan pada pengirim dan penerima e-mail, dengan syarat bahwa masing-masing dari keduanya memiliki e-mail agent yang mengerti MIME.
9. Hypertext Transfer Protocol (HTTP) Hypertext Transfer Protocol digunakan untuk jenis layanan World Wide Web pada TCP/IP. Spesifikasi protokol HTTP didefinisikan oleh Tim Berners-Lee dari CERN dan dimasukkan dalam draft standard RFC bernomor seri 1945 serta digunakan pada jaringan internet sejak tahun 1990. Protokol HTTP bersifat request-reponse, yaitu dalam protokol ini client menyampaikan pesan permintaan (request) ke server dan server kemudian memberikan response yang sesuai dengan request yang diminta. Request dan response dalam HTTP disebut sebagai request chain dan response chain. Hubungan HTTP yang paling sederhana terdiri atas hubungan langsung antara user agent dengan server asal. Hubungan HTTP tidak
28
selalu seperti ini karena spesifikasi HTTP mengenal adanya beberapa komponen yang dapat terlibat dalam membentuk sebuah hubungan HTTP, yaitu client, user agent, server asal, proxy, gateway dan tunnel. HTTP menggunakan format URL (Universal Resource Locator) HTTP dalam bentuk “http:” “//” host [“:”port] [abs_path]
Host adalah nama domain internet yang legal, port adalah bilangan yang menunjukkan port HTTP di host, default dari port ini adalah 80 dan abs_path menyatakan lokasi resource di dalam host.
10. Wireless Application Protocol (WAP) Menurut spesifikasi yang dirilis oleh konsorsium WAP, wapforum.org, WAP dapat didefinisikan sebagai standard terbuka internasional untuk media komunikasi bagi aplikasi berbasis wireless pada perangkat bergerak menggunakan jaringan internet (misal website yang diakses melalui handphone). WAP didesain untuk menyediakan layanan yang mirip dengan web browser berbasis desktop namun disertakan penambahan spesifikasi khusus untuk peranti mobile yang memiliki keterbatasan sumberdaya. Gambar berikut ini merupakan sketsa umum alur kerja WAP dilihat dari sudut pandang pengguna:
29
Gambar 6. Alur Komunikasi Protokol WAP
Komunikasi antara webserver dan device yang mendukung WAP pada pronsipnya adalah sama dengan prinsip kerja hubungan antara webserver dengan PC menggunakan web browser, tetapi dengan penambahan sebuah proses. Proses ini membawa serta transfer informasi dari WAP gateway.WAP gateway bertindak sebagai penengah antara web browser klien dengan webserver tempat dimana informasi disimpan. Selain itu ia juga bertindak sebagai transator atas layer-layer yang ada pada service HTTP agar dikenali oleh protokol WAP pada device. Berikut ini gambar yang mengilustrasikan fungsi dari WAP gateway:
30
Gambar 6. Alur Komunikasi Protokol WAP WAP gateway pada umumnya ditempatkan pada jaringan penyedia komunikasi (GSM).
11. Wireless Markup Language (WML) WML adalah sebuah bahasa markup untuk halaman web yang secara spesifik ditujuakan untuk pengguna mobile device, semisal handphone atau PDA phone. WML adalah turunan dari bahasa XML, karenaya, ia memilki syntax serta tag header yang mirip dengan XML. WML, seperti halnya XML memilki aturan khusus dalam penulisan syntax yang menuntut kedisiplinan dalam penulsan format syntax.
31
Berikut ini adalah header dari WML yang harus disertakan dalam setiap halaman (card) WML:
wml
PUBLIC
"-//WAPFORUM//DTD
WML
1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
Syntax bahasa WML dituliskan adalam format khusus, dan ditempatkan setelah header, berikut ini adalah contoh syntax bahasa WML untuk menampilkan dua buah halaman yang lazim disebut sebagai card: <wml> <do type="accept">
WML is easy! Visit http://wap.bukabuku.org Now!
We’re live under the reign of one king!
12. Java 2 Micro Edition (J2ME) Java 2 Micro Edition atau lazim disebut sebagai J2ME adalah lingkungan pengembangan dan runtime yang telah didesain untuk penggunaan Java pada peranti elektronik bergerak. Java 2 Micro Edition merupakan subset dari Java. Java menawarkan cross-platform sebagai solusi, karenanya, J2ME yang merupakan subset dari Java mewarisi sifat ini. J2ME dapat diaplikasikan pada berbagai macam peranti elektronik
32
bergerak semacam handphone, PDA, bahkan jam tangan, manakala telah mengimplementasikan runtime dari Java 2 Micro Edition itu sendiri. J2ME memiliki perbedaan tujuan bila dibandingkan dengan spesifikasi Java yang lain semisal Java 2 Standard Edition dan Java 2 Enterprise Edition, yang menghasilkan perbadaan arsitektur. Berikut ini adalah beberapa kesimpulan dari tujuan utama dari arsitektur J2ME: a. Menyediakan dukungan untuk beragam device dengan beragam kemampuan. Device ini seringkali berbeda dalam implementasi user-interface, penyimpanan data, konektifitas jaringan dan bandwith, jumlah memori, konsumsi daya, keamanan dan kebutuhan deployment. b. Menyediakan
sebuah
arsitektur
yang
dapat
mengoptimalkan kapasitas data dengan penggunaan space yang minim. c. Fokus pada device yang dapat dipersonalisasi yang sering digunakan oleh manusia (semisal handphone, PDA) d. Menyediakan koneksitas jaringan yang dapat dilalui oleh berbagai macam layanan. Koneksitas jaringan seringkali menjadi bagian yang vital dalam peranti keras dengan dukungan J2ME, mulai dari koneksi kecepatan rendah hingga yang memiliki bandwith besar.
33
e. Menyediakan optimasi penggunaan peranti lunak berbasis J2ME dengan mengendalikan memory allocation serta adanya konsep garbage collector secara otomatis.
13. Regular Expression (RegEx) Jeffry E.Friedl, dalam bukunya yang berjudul Mastering Regular Expression – Powerful Techniques for Perl and Other Tools, mendefinisikan
Regular
expression
sebagai
suatu
cara
untuk
menentukan sebuah pola karakter pada proses pencarian dan penyaringan. Regular expression memudahkan dalam melakukan pencarian dan penyaringan pola karakter dengan mudah, dengan regular expression tidak perlu menentukan pola karakter yang eksak, cukup
34
masukkan pola yang ingin di cari dan selebihnya regular expression akan memberikan jawabannya. Regular expression dipergunakan pada banyak bahasa pemrograman modern, semacam Perl, C/C++, Java, BASIC, Visual Basic bahkan pada command line shell, semisal bash, sh dan DOS prompt. Khusus untuk bahasan pada penelitian ini, regular expression akan di implementasikan pada command line shell (sh) dan peranti lunak procmail, sebuah peranti lunak yang berfungsi sebagai Mail Delivery Agent. Regular
expression
memiliki
karakter-karakter
(metacharacters) khusus dengan arti tersendiri yang dipergunakan untuk pencocokan pola. Karakter-karakter tersebut adalah: Karakter
Arti
.
Cocok dengan sembarang satu karakter
*
Cocok dengan sembarang lebih dari satu karakter
^
Cocok dengan awal baris
$
Cocok dengan akhir baris
35
\<
Cocok dengan awal kata
\>
Cocok dengan akhir kata
[]
Cocok dengan salah satu karakter yang terdapat dalam kurung siku
[^ ]
Cocok dengan salah satu karakter yang tidak terdapat dalam kurung siku
\
Karakter selanjutnya akan dianggap literal
Berikut ini adalah sekumpulan kata yang dipergunakan untuk melakukan percobaan operasi pencocokan pada Regular Expression yang disimpan dalam file dengan nama BSD.txt: Buku FreeBSD Buku Windows Bukunya Ini baris yang diakhirnya mengandung kata FreeBSD Ini baris yang mengandung kata Mac ditengah-tengahnya
Dalam sistem operasi UNIX dan turunannya (seperti FreeBSD, BSDI, NetBSD) serta beberapa varian sistem operasi UNIX lainnya (seperti distribusi Linux, Solaris, Mac OS X) terdapat suatu peranti lunak yang dapat dipergunakan untuk mengimplementasikan
36
Regular Expression, peranti lunak tersebut bernama grep. Grep akan mencari file yang dijadikan input ataupun informasi lain yang dialihkan (biasanya menggunakan perintah pipe dalam UNIX) untuk baris yang cocok dengan pola yang diberikan (menggunakan Regular Expression). Ketika grep menemukan baris yang cocok dengan pola, maka ia akan menampilkan informasi tersebut ke standard output dari system (secara default) atau perintah output lainnya yang bersifat opsional. Berikut
ini
contoh
penggunaan
Regular
Expression
menggunakan peranti lunak grep, perintah berikut ini mencari baris pada sekumpulan kata yang telah didefinisikan diatas (file dengan nama BSD.txt) yang diawali dengan kata Buku. Bentuk perintahnya adalah # grep ‘^Buku’ BSD.txt
Untuk mencari baris-baris pada file BSD.txt yang diakhiri dengan kata Buku, anda dapat menggunakan peranti lunak grep dengan Regular Expression berikut # grep ‘Buku$’ BSD.txt Selain itu, untuk mencari baris-baris dari file BSD.txt yang mengandung
kata
dengan
akhiran
karakter
BSD,
anda
dapat
menggunakan peranti lunak grep dengan Regular Expression sebagai berikut # grep ‘BSD\>’ BSD.txt Cara untuk mencari baris-baris pada file BSD.txt yang mengandung kata buku, bukan bukunya, anda dapat menggunakan
37
peranti lunak grep dengan Regular Expression sebagai berikut # grep ‘\’ BSD.txt
Bila ingin mengetahui baris-baris pada BSD.txt yang mengandung karakter S, diikuti oleh sembarang karakter huruf kecil dari a sampai dengan z, dapat dipergunakan Regular Expression berikut # grep ‘S[a-z]’ BSD.txt
Bila ingin melakukan pencarian atas seluruh kata yang berawalan dengan bu dan berakhir dengan D, dapat digunakan Regular Expression berikut # grep ‘^bu[a-z]*D$’ BSD.txt Contoh penggunaan Regular Expression untuk menngetahui jumlah perintah dasar pada sistem operasi UNIX (biasanya terletak pada direktori /bin), maka Regular Expression yang digunakan adalah sebagai berikut # ls /bin | grep –c ‘^[a-z] [a-z]$’
14. PHP: Hypertext Preprocessor (PHP) Menurut keterangan resmi dari situs PHP (www.php.net), PHP adalah akronim rekursif dari PHP: Hypertext Preprocessor. Ia merupakan bahasa pemrograman server side (ditempatkan dan diproses dalam webserver) yang diperuntukkan bagi pengembangan aplikasi berbasis web.
38
Setidaknya ada tiga area utama, dimana PHP dapat digunakan, yaitu: 1. Server-side scripting, ini merupakan target penggunaan PHP yang umum. Setidaknya ada tiga hal yang dibutuhkan agar PHP dapat bekerja, hal pertama yang dibutuhkan adalah parser PHP (dalam bentuk CGI atau module), sebuah webserver, dan sebuah web browser. Menjalankan webserver dengan PHP yang terpasang dalam server adalah mutlak untuk dilakukan agar aplikasi mampu ditampilkan dalam sebuah web browser. Solusi umum adalah penggunaan distribusi Linux siap pakai semacam RedHat, SuSE, UnitedLinux dan lainnya yang lebih dikenal dengan sistem LAMP (Linux Apache PHP MySQL) atau menggunakan sistem operasi server, seperti FreeBSD. 2. Command Line Scripting, dengan cara ini output dapat ditampilkan meski tidak digunakannya web browser dan web server. Untuk cara ini, yang dibutuhkan hanyalah sebuah parser PHP. Jenis ini cocok digunakan untuk script yang di proses secara periodik (menggunakan cron pada keluarga UNIX, dan Task Scheduler pada Windows). 3. Aplikasi Desktop, ini adalah cara yang kurang umum di dunia desktop programming, mengingat PHP awalnya adalah bahasa untuk web, tetapi dengan adanya tool semacam PHP – GTK,
39
pengembangan aplikasi ini sudah dimungkinkan dan mulai ramai dipergunakan. PHP adalah bahasa pemrograman open source dan tersedia untuk berbagai sistem operasi, contoh sistem operasi yang telah berhasil menjalankan PHP sebagai server-side scripting yaitu FreeBSD (dan hampir keseluruhan keluarga UNIX BSD), berbagai macam distribusi Linux (SuSE, RedHat, Slackware), Mac OS-X, RISC OS, dan Windows. Selain itu PHP juga dapat digunakan pada berbagai macam webserver yang ada, mulai dari Apache, Microsoft IIS, Xitami, Netscape, iPlanet, Cadium dan banyak lagi. Hal lain yang umum dijumpai dalam sebuah webserver adalah kemampuan untuk mengakses database. Terdapat banyak macam database server yang mampu didukung oleh PHP, antara lain, SQL Server
2000,
MySQL,
PostgreSQL,
Oracle
Database
Server,
FirebirdSQL, Ingres, IBM DB2 dan masih banyak lagi. Khusus untuk penelitian ini, database server yang digunakan adalah MySQL, release terbaru ketika tulisan ini dibuat adalah MySQL 5.1.6. PHP, dalam penelitian ini digunakan sebagai pengirim e-mail yang disematkan kedalam halaman WML dan diakses oleh user melalui situs WAP. Ada beragam cara mengirimkan e-mail melalui PHP, selain dengan menyambungkan diri dengan SMTP server secara manual, cara yang termudah adalah menggunakan fungsi bawaan PHP, mail().
40
Berikut ini adalah contoh pengiriman e-mail menggunakan PHP yang dapat diakses melalui situs WAP: ' . "\n"; ?> <wml>
Selamat.. Transkrip KHS sudah terkirim ke alamat e-mail berikut: $user Cek e-mail kamu sekarang!
15. MySQL Database Server MySQL adalah database server yang dikembangkan oleh MySQL AB, dan merupakan database server dengan penggunaan yang cukup besar serta performa untuk kecepatan eksekusi yang sangat cepat. MySQL juga merupakan salah satu produk yang bersifat open source. Beberpa fitur dari MySQL yang membuatnya menjadi database pilihan banyak user antara lain:
41
1. Merupakan database yang gratis, tidak dapat dipungkiri, harga menjadi tolok ukur yang masih relevan hingga kini, bayangkan bila suatu perusahaan memilki aplikasi yang membutuhkan banyak database server, seperti stock exchange, bursa saham dunia, situs pencarian, bila harga yang ditawarkan untuk sebuah database server diatas lima juta rupiah (yang masih dibatasi oleh jumlah koneksi client) dapat disimpulkan bahwa pengeluaran untuk pemakaian database server sangat mahal. 2. Memilki performa yang stabil, MySQL adalah salah satu database dengan tingkat kestabilan yang cukup baik, terbukti dari penggunaan database server MySQL pada portal Yahoo! dan berapa situs komersial semisal Nokia. 3. Ringan, MySQL tidak memerlukan investasi hardware dan software yang mahal, sebuah Intel Pentium 100 MHz dengan RAM 32 MB dan harddisk 1,2 GB sudah dapat difungsikan sebagai database server, tentu dengan beban yang tidak berat. Untuk server dengan beban berat, penggunaan sumberdaya (hardware dan software) yang rendah untuk database server dapat
mengurangi
beban
sistem,
dan
pada
akhirnya
meningkatkan performa sistem secara keseluruhan. MySQL dapat dijalankan hampir pada kebanyakan sistem operasi yang banyak digunakan di dunia, semacam Windows, distribusi
42
Linux, keluarga UNIX dan variannya, Mac OS. Versi yang digunakan untuk penelitian ini adalah MySQL 5.0.16, yang telah mendukung sejumlah fitur penting, semacam stored-procedure, trigger, dan view.
16. FreeBSD Operating System Dunia sistem operasi mengenal dua macam aliran sistem operasi UNIX, SystemV UNIX style dan BSD UNIX Style. FreeBSD adalah sistem operasi yang menggunakan model UNIX BSD. FreeBSD adalah sistem operasi lengkap, tidak hanya kernel, layaknya Linux. FreeBSD dapat difungsikan tidak hanya sebagai server, tetapi juga desktop, membuatnya tidak hanya unggul untuk backbone internet, namun juga cocok untuk aplikasi office. Layaknya sistem operasi open source lainnya, FreeBSD menggunakan tool yang bersifat open source pada sistemnya, semisal, penggunaan GNU C Compiler (GCC) sebagai compiler dan perl untuk scripting. Walau demikian, FreeBSD tetap mengembangkan sendiri keseluruhan sistemnya. FreeBSD terdiri dari sejumlah program (daftar instruksi untuk memperoleh hasil tertentu) yang dirancang untuk mengontrol interaksi antara fungsi-fungsi pada mesin yang beraras rendah dengan program aplikasi. Tugas dari sistem operasi diantaranya melakukan fungsi manajemen sistem file, mengendalikan berbagai sumberdaya pada sistem, seperti disk, printer, dan mengatur sejumlah pemakai yang
43
menggunakan sistem secara bersamaan serta membentuk penjadwalan proses-proses di dalam sistem. Berikut ini beberapa keistimewaan sistem UNIX:
Gambar x. Keistimewaan Sistem UNIX Kematangan umur pengembangan sistem FreeBSD berimbas pada kematangan produk yang dihasilkan, tidak hanya faktor security, faktor update, kemampuan sebagai server dengan beban berat, konsistensi serta kemudahan operasional adalah alasan mengapa FreeBSD banyak dipakai pada banyak server pada situs-situs tersibuk di dunia (Yahoo!, Google, Apache, Sony) juga pada banyak Internet Service Provider (ISP). Sistem Operasi FreeBSD dipilih untuk digunakan dalam penelitian ini dengan beberapa pertimbangan, yaitu:
44
a. FreeBSD adalah sistem operasi yang umum digunakan sebagai server dengan tingkat beban tinggi, beberapa situs tersibuk di dunia menggunakan FreeBSD sebagai server mereka, antara lain cdrom.com, Google.com, Yahoo!, Netcraft.com, Sony Japan, WeatherNews, dan Apache. b. FreeBSD
adalah
sistem
operasi
yang
memilki
karakteristik pengembangan sistem yang solid, terpusat dan teruji serta bersifat open source sekaligus free of charge. Pengembangan sistem yang solid, terpusat dan teruji menjadikan FreeBSD hanya memilki sebuah distribusi, sehingga pengguna tidak dipersulit dengan berbagai macam distribusi layaknya Linux yang menuntut penguasaan konfigurasi yang berbeda pada masingmasing distribusi. c. FreeBSD dapat dipergunakan untuk komputer lama berarsitektur x86 dengan spesifikasi rendah tanpa perlu adanya trik khusus pada proses instalasi, semisal pada penggunaan processor Intel 80386, Intel 80486 dengan atau tanpa adanya co-processor.
45
17. SquirrelMail (Web Based E-mail Agent) SquirrelMail adalah sebuah proyek open source yang dapat dipergunakan untuk membuat sistem e-mail client secara mudah dan cepat dengan web sebagai media aksesnya. SquirrelMail dibuat menggunakan pemrograman PHP murni tanpa ada tambahan library lain dan tanpa Javascript (proses render menggunakan HTML 4.01) yang menjadikannya mudah dipasang di berbagai varian sistem operasi UNIX. Secara default, SquirrelMail menggunakan account user yang ada dalam sistem UNIX (biasanya terdapat dalam file /etc/passwd) selain itu SquirrelMail memilki fitur yang menarik, yaitu: a. Hingga saat laporan ini ditulis, SquirrelMail mendukung kurang lebih 32 bahasa di seluruh dunia. Hal ini tentunya dapat membuat pengguna SquirrelMail menyesuaikan menu-menu yang ada dengan bahasa yang mereka gunakan sehari-hari. Kondisi seperti ini menyebabkan pengguna
tidak
akan
menemui
kesulitan
untuk
berinteraksi dengan berbagai menu yang ada di dalam SquirrelMail. b. Dukungan plugin yang bisa dikatakan cukup banyak. Secara
default
Calender,
SquirrelMail
Spamcop,
delete_move_next,
menyediakan
sent_subfolders,
filters,
listcommands,
plugin
bug_report, mail_fetch,
46
newmail, squirrelspell, translate dan lain sebagainya. Proses installasi dan konfigurasi plugin tersebut dapat dilakukan dengan mudah. Hal yang harus dilakukan hanyalah menjalankan script konfigurasi, melakukan konfigurasi yang diinginkan, selebihnya plugin tersebut siap digunakan. Apabila plugin tersebut masih terasa kurang, masih tersedia beragam plugin dalam situs resminya yang bisa diunduh dengan gratis. c. Dokumentasi yang lengkap. SquirrelMail menyediakan dokumentasi yang cukup lengkap, mulai dari cara-cara membuat plugin, penerjemahan bahasa, dan lain-lain yang semuanya tersedia pada situs SquirrelMail. d. Tampilan yang menarik. SquirrelMail memilki tampilan yang cukup menarik, layaknya sebuah webbased e-mail professional
lain
semisal
www.hotmail.com
atau
www.cashette.com. SquirrelMail dapat dikustomisasi untuk mendapatkan tampilan yang indah dengan mudah dalam bentuk themes, setidaknya ada 35 jenis themes yang dapat dipergunakan dan bila dirasa kurang, user dapat membuat sendiri themes yang disukai.
47
BAB III METODE PENELITIAN
A. Subjek Penelitian Subjek penelitian dari tugas akhir ini adalah membangun sistem instant autoreply berbasis e-mail menggunakan sistem operasi berbasis UNIX dengan komponen pendukungnya berupa antar muka web WAP sebagai media akses berbasis web dan pembuatan e-mail client berbasis J2ME sebagai media akses bagi peranti komunikasi bergerak yang mendukung penggunaan Java, seperti, handphone dan PDA. B. Alat Penelitian Sebagai sarana pelaksanaan penelitian, diperlukan adanya alat penelitian. Alat yang digunakan dalam penelitian ini dibagi menjadi dua bagian, yaitu, peranti keras (hardware) dan peranti lunak (software). Peranti keras yang dibutuhkan disini adalah peranti keras komputer jaringan, non jaringan dan handphone yang mendukung implementasi WAP 1.1 serta J2ME 2.0 Untuk peranti keras jaringan seperti, ethernet card, kabel UTP, hub. Sedangakan untuk kebutuhan peranti lunak adalah kebutuhan sistem operasi yang mendukung jaringan, bahasa pemrograman, Integrated Development Tool, dan software-software pendukung aplikasi jaringan. Untuk membuat sistem yang benar-benar dapat berfungsi secara utuh diperlukan adanya lingkungan peranti keras dan peranti lunak, sebagaimana berikut:
48
1.
Lingkungan Peranti Keras Peranti keras yang. dibutuhkan daalam penelitian ini adalah dua buah komputer yang telah terhubung ke jaringan internet, secara detail memiliki spesifikasi sebagai berikut: a.
Komputer e-mail server, dengan spesifikasi yang digunakan, processor Intel Celeron 333 MHz, memori SDRAM 256 MB, harddisk 15 GB 5400 RPM, ethernet card Realtek 8139 dan monitor VGA berukuran 15 inci
b.
Sebuah komputer yang difungsikan sebagai client dengan spesifikasi yang digunakan, Intel Pentium.133 MHz, memori SDRAM 256 MB, Harddisk 15 GB, Ethernet card SMC dan monitor SVGA berukuran 15 inci
c.
Handphone Nokia seri 6600 dengan kemampuan mendukung WAP 2.0 dan J2ME 2.0
2.
Lingkungan Peranti Lunak Peranti lunak yang digunakan dalam penelitian ini dibagi menjadi tiga, yaitu, kebutuhan peranti lunak untuk sistem e-mail server, peranti lunak untuk komputer client dan bahasa pemrograman J2ME serta bahasa markup WML dan PHP berikut editor dan compiler. Masing-masing spesifikasi dari peranti lunak tesebut adalah: a.
Peranti lunak komputer e-mail server, berupa sistem operasi FreeBSD 5.4-RELEASE, Postfix 2.3, Bind 9.3.2, UW-IMAP,
49
Procmail, PHP 4.3.11, Perl 5.8.6, Apache 2.0.54, SquirrelMail 1.4.5, Opera 7.54, MySQL 5.0.16, Perl-5.8.8 b.
Peranti lunak komputer client, berupa sistem operasi Microsoft Windows XP Professional Edition (versi trial 30 hari), Mozilla dan Internet Explorer web browser, RedHat Linux 7.3 (with internet utilities), FreeBSD 4.5 (with Internet uitlities)
c.
Peranti lunak komputer untuk pengembangan software, berupa, sistem operasi Microsoft Windows XP Professional Edition (versi trial 30 hari), Java IDE Netbeans 5.0 plus mobility pack (J2ME Wireless Toolkit v.2.2), Java 2 SE 1.4.2, sistem operasi FreeBSD 5.4-RELEASE, PHP 4.3.11, MySQL 5.0.16, perl-5.8.8, procmail, Postfix 2.3, Bind 9.3.2, UW-IMAP, Apache 2.0.54, netcat, nmap 4.03, dan Opera 7.54 web browser. .
C. Metode Pengumpulan Data Metode penelitian adalah suatu cara yang digunakan untuk mendapatkan data dalam suatu penelitian, adapun metode yang digunakan yaitu: 1.
Metode Obsevasi Pengamatan tentang informasi yang tercantum dalam transkrip KHS, pengamatan atas sistem KRS online UAD, dan pengamatan atas cara kerja server e-mail. Pengumpulan data dilakukan dengan mengambil informasi seputar daftar matakuliah yang ditawarkan
50
berdasarkan buku panduan akademik tahun 2002/2003 sebagai sample matakuliah yang akan dicantumkan dalam transkrip. 2.
Metode Kepustakaan Metode ini menggunakan data-data dari berbagai buku, jurnal penelitian, skripsi tentang permasalahan sejenis dan sumber bacaan elektronis
Persiapan E-mail Server Sistem autoreply yang diangkat dalam penelitian ini mutlak memerlukan sebuah sistem e-mail server yang handal, yang terdiri dari gabungan pemilihan sistem operasi, software SMTP server, dan software Message Delivery Agent (MDA). Sistem e-mail server yang handal diperlukan untuk menjaga performansi dan stabilitas sistem agar dapat bekerja tanpa banyak menemui masalah.
2.
Perancangan Jaringan Mempersiapkan
konfigurasi
jaringan
sehingga
dapat
digunakan oleh e-mail server untuk merutekan pesan yang akan disampaikan, termasuk diantaranya setting DNS dan IP address.
51
3.
Perancangan Database Database dirancang semirip mungkin dengan aplikasi KRS Online pada umumnya agar dapat mensimulasikan sistem berjalan dengan baik dan sesuai harapan.
4.
Perancangan Sistem Instant Autoreply Sistem autoreply yang diangkat dalam penelitian ini menggunakan regular expression sebagai alat bantu pencocokan pola dalam subject e-mail. Regular expression dirancang sedemikian rupa agar mampu menerima e-mail, kemudian melakukan penyaringan email berdasarkan subject, dan terakhir, melakukan pengiriman hasil query database berupa transkrip nilai secara otomatis kepada pengirim e-mail berdasarkan subject yang dikirimkan.
5.
Perancangan Situs WAP Merancang sebuah situs WAP yang dapat diakses melalui handphone atau PDA sebagai salah satu cara untuk dapat menggunakan sistem instant autoreply bagi pengguna mobile.
6.
Perancangan KHS Anywhere® E-mail Client KHS Anywhere® adalah sebuah e-mail client berbasis Java yang secara khusus ditujukan bagi penggunaan mobile device yang telah mendukung Java. KHS Anywhere® dirancang dengan maksud memudahkan pengguna mobile device agar lebih mudah dalam mengakses sistem instant autoreply.
52
E. Pengujian Sistem Untuk mengetahui sistem dapat berjalan dengan baik dan sesuai dengan apa yang diharapkan, maka diperlukan suatu rangkaian proses pengujian. Pengujian sistem dilakukan dengan melakukan pengujian black box test, yaitu pengujian yang dilakukan dengan cara mengamati keluaran dengan berbagai masukan, jika sistem mampu memberikan respon sesuai dengan tujuan perancangan sistem dengan berbagai variasi data, sistem dinyatakan dapat berjalan dengan baik Pengujian sistem ini dilakukan oleh seorang praktisi yang memiliki pengalaman dalam pengelolaan sistem KRS Online.
53
BAB IV HASIL DAN PEMBAHASAN
A.
Instalasi dan Konfigurasi Jaringan Sistem operasi merupakan hal yang mutlak diperlukan agar sistem instant autoreply ini dapat berjalan, oleh karena itu, pembahasan dimulai dari proses instalasi dan konfigurasi sistem operasi, kemudian dilanjutkan ke proses konfigurasi jaringan, kemudian proses instalasi dan konfigurasi software pendukung dan terakhir adalah pembuatan sistem instant autoreply beserta peranti akses via WAP dan J2ME. 1.
Instalasi dan Konfigurasi Sistem Operasi FreeBSD Sistem yang akan dikembangkan dalam penelitian ini menggunakan FreeBSD 5.4 sebagai sistem operasi. Instalasi sistem operasi ini menggunakan media CD-ROM yang berjumlah dua buah, yang diunduh dari website FreeBSD di www.freebsd.org. Berikut ini akan dijelaskan tahapan instalasi sistem operasi FreeBSD beserta konfigurasinya. a.
Set prioritas booting utama melewati CD-ROM, dan boot ulang komputer.
b.
Sesudah proses booting, layar akan menampilkan menu awal proses instalasi, seperti pada gambar berikut:
54
Gambar 7. Menu Awal Instalasi c.
Pada Kernel Configuration Menu terdapat 3 pilihan, yaitu Skip kernel configuration and contiune with installataion, Start kernel configuration in full-screen visual mode, dan Start kernel configuration in CLI mode
d.
Pilihan pertama pada gambar 7 akan langsung menuju modus instaasi tanpa perlu proses konfigurasi kernel, Pilihan
kedua
pada
gambar
7,
digunakan
untuk
mengkonfigurasikan kernel dengan bantuan mode visual. Pilihan ketiga pada gambar 7 digunakan untuk melakukan konfigurasi kernel lebih khusus dan dipakai oleh pengguna yang sudah berpengalaman. Pilihan mode instalasi yang digunakan adalah pilihan pertama, yang memudahkan user dalam proses instalasi FreeBSD. e.
Tampilan selanjutnya pada layar akan memperlihatkan Setting Editor UserConfig Kernel dalam bentuk visual
55
mode. Pada layar akan menampilkan daftar drive yang tersedia, dibagi ke dalam 2 daftar: Active Drivers dan Inactive Drivers, seperti diperlihatkan pada gambar berikut:
Gambar 8. UserConfig Kernel f.
Secara default, semua driver telah dikenali oleh FreeBSD, sehingga tidak diperlukan konfigurasi khusus. Tekan tombol “Q” seperti yang tampak pada gambar untuk menyimpan konfigurasi dan beralih ketahapan selanjutnya.
g.
Tahapan selanjutnya adalah persiapan instalasi, mencakup pembuatan partisi, formatting, dan pemilihan paket distribusi. Berikut ini adalah gambar menu utama proses instalasi.
56
Gambar 9. Menu Utama Instalasi h.
Menu utama instalasi FreeBSD pada gambar 9 terdiri dari berbagai pilihan, tetapi hanya ada tiga pilihan yang digunakan untuk melakukan instalasi, yaitu Standard, Express, dan Custom. Mode Standard adalah mode yang dikhususkan untuk pemula FreeBSD, dan proses instalasi dalam penelitian ini menggunakan mode Standard.
i.
Menu Standard yang seperti yang tertera pada gambar 9 akan memulai tahapan instalasi dengan mempartisi harddisk menggunakan software seperti “fdisk” pada DOS.
j.
Proses penentuan partisi pada FreeBSD sedikit berbeda bila dibandingkan dengan sistem UNIX lainnya, semisal Linux. Partisi pada FreeBSD dikenal dengan nama slice. Gambar berikut ini adalah contoh partisi FreeBSD yang lazim disebut slice:
57
Gambar 10. Menu Piihan Partisi k.
Langkah
pembuatan
partisi
pada
FreeBSD
cukup
sederhana, tekan tombol “C” seperti yang tertera pada gambar 10 untuk membuat partisi, kemudian masukkan ukuran yang diinginkan dalam satuan megabyte, semisal 4000MB adalah ukuran untuk partisi dengan alokasi ruang empat gigabyte. Setelah itu, tekan tombol “Q” untuk menyimpan konfigurasi dan beralih ketahapan selanjutnya. l.
Langkah selanjutnya adalah membuat filesystem pada partisi yang telah ditentukan, pada layar akan tampil opsi untuk menentukan tipe filesystem yang lazim disebut disklabel, seperti yang tampak pada gambar berikut:
Gambar 11. Disklabel m. Tekan tombol “C” seperti yang tampak pada gambar 11 untuk membuat filesystem pada partisi yang telah
58
ditentukan, kemudian masukkan ukurannya dan tentukan mount point dari partisi tersebut, untuk mudahnya mount point diarahkan ke “/” dengan besar kapasitas adalah 3500M (tiga ribu megabyte), sisa space kosong dapat dipergunakan untuk swap partition. Swap partition tidak membutuhkan
mount
point,
cukup
memiih
SWAP
filesystem dari menu, seperti yang tertera pada gambar 11. Kemudian tekan tombol “Q” untuk menyimpan dan beralih ketahapan selanjutnya.
Gambar 12. Pemilihan Distribusi n.
Tahapan berikutnya adalah proses pemilihan distribusi yang menyediakan beberapa distribusi, seperti yang tampak pada gambar 12. Cara termudah adalah dengan memilih paket distribusi X-Kern-Developer yang berisikan paket bahasa pemrograman lengkap beserta modul kernel
59
dan paket X Window, seperti yang tampak pada gambar 12. o.
Langkah terakhir sebelum sistem operasi dipasang adalah menentukan media instalasi, media yang digunakan adalah CD-ROM.
p.
Ini adalah proses terakhir tahapan instalasi, proses ini akan meminta konfirmasi dari user mengenai proses formatting dan instalasi, setelah itu sistem telah ter-install dan siap digunakan.
q.
Setelah proses instalasi selesai, sistem akan meminta konfirmasi mengenai setting jaringan, dan password untuk root.
2.
Konfigurasi Jaringan Sistem e-mail server yang dikembangkan dalam penelitian ini menggunakan sebuah komputer yang difungsikan sebagai server e-mail serta DNS Server. a.
Tahapan konfigurasi jaringan yang harus dilakukan pertama kali adalah mengaktifkan dukungan ethernet card secara
langsung
FreeBSD.
Untuk
pada itu
saat
komputer
diperlukan
menjalankan
perubahan
pada
konfigurasi file /etc/rc.conf agar setiap kali komputer dijalankan tidak perlu melakukan setting jaringan secara manual.
60
b. Berikut ini adalah isi file /etc/rc.conf pada komputer email server pertama, diperlukan akses root untuk melakukan perubahan atas file. Terlebih dahulu ubah mode akses menjadi root dengan cara mengetikkan # su – kemudian masukkan password. Untuk memudahkan editing file, gunakan editor serbaguna, ee, dengan cara mengetikkan perintah berikut pada console: #
ee
/etc/rc.conf
c.
Berikut ini adalah isi file /etc/rc.conf pada komputer email
server
dan
DNS
Server,
hostname
skripsi.centurion.org: #-- generated deltas Jan 15 16:27:03 2006 blanktime="240" defaultrouter="192.168.1.1" hostname="skripsi.centurion.org" ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0" inetd_enable="YES" keyrate="normal" saver="logo" sendmail_enable="YES" check_quotas=”NO” named_enable=”YES” # menjalankan DNS Server ssh_enable="YES" # menjalankan ssh
d. Baris diatas menjelaskan bahwa hostname bernama skripsi.centurion.org memiliki alamat IP 192.168.1.1 dan alamat broadcast 255.255.255.0 pada ethernet card Realtek 8139 (rl0), selain itu, komputer tersebut menjalankan DNS Server secara otomatis saat sistem diboot.
61
e.
Setelah tahap konfigurasi IP address selesai dilakukan, tahap kedua adalah mengkonfigurasi DNS server. DNS Server secara default sudah terpasang dalam FreeBSD, bila kurang yakin silakan ketikkan perintah ini pada console # which named ; named -v, hal lain yang diperlukan adalah konfigurasi dari DNS Server. named adalah software DNS Server pada FreeBSD, di Internet, ia lebih dikenaal sebagai BIND (Berkeley Internet Name Domain). Pada FreeBSD 5.4 versi BIND yang terpasang adalah 9.3.1. BIND versi 9.x memiliki sedikit perbedaan konfigurasi bila dibandingkan dengan BIND versi 8.x. Berikut ini adalah langkah-langkah konfigurasi BIND pada komputer
pertama
dengan
hostname
skripsi.centurion.org 1.
Pastikan bahwa file /etc/named.conf telah ada, ia diperlukan pada saat pemanggilan named.
2.
Buka
file
/etc/named.conf,
dapat
menggunakan
program ee dengan mengetikkan pada console # ee /var/named/etc/namedb/named.conf Untuk
melakukan hal ini pastikan bahwa user mode adalah root. 3.
Isikan pada file tersebut seperti pada baris berikut: /* $FreeBSD: src/etc/namedb/named.conf, v1.15.2.3 // 2005/03/23 17:35:58
62
Refer to the named.conf(5) and named(8) man pages, and the documentation in /usr/share/doc/bind9 for more details. */ options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; /* If named is being used only as a local resolver, this is a safe default. For named to be accessible to the network, comment this option, specify the proper IP address, or delete this option. listen-on { 127.0.0.1; }; If you have IPv6 enabled on this system, uncomment this option for use as a local resolver. To give access to the network, specify an IPv6 address, or the keyword "any". listen-on-v6 { ::1; }; In addition to the "forwarders" clause, you can force your name server to never initiate queries of its own, but always ask its forwarders only, by enabling the following line: forward only; If you've got a DNS server around at your upstream provider, enter its IP address here, and enable the line below. This will make you benefit from its cache, thus reduce overall DNS traffic in the Internet. forwarders { 127.0.0.1; };
If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the querysource directive below. Previous versions of BIND always asked questions using port 53, but BIND versions 8 and later use a pseudo-random unprivileged UDP port by default.
63
query-source address * port 53; }; If you enable a local name server, don't forget to enter 127.0.0.1 first in your /etc/resolv.conf so this server will be queried. Also, make sure to enable it in /etc/rc.conf. */ /* ini adalah zona yang akan di cover oleh bind */ zone "centurion.org" { type master; file "master/centurion.hosts"; }; // ini adalah zona root zone "." { type hint; file "named.root"; }; /* Menangani block IP 192.168.x.x dan disimpan pada file centurion.rev */ zone "168.192.in-addr.arpa" { type master; file "master/centurion.rev"; };
4.
Setelah itu, buat file centurion.hosts dan centurion.rev yang
ditempatkan
pada
direktori
/var/named/etc/namedb/master, isi kedua file adalah sebagai berikut: ; File centurion.hosts $TTL 3600 ; Start of Authority @ in SOA skripsi.centurion.org. skripsi.centurion.org. ( 2006060401 ; Serial 86400 ; Refresh dari server - harian 300 ; Retry - 5 menit 604800 ; Expire data - 7 hari 86400 ) ; TTL (Time to Live) - 1 hari @
IN NS IN NS
skripsi.centurion.org. riesal.centurion.org
64
IN NS ns.lamb.net. ; Mail Exchange adalah skripsi.centurion.org IN MX 10 skripsi.centurion.org. IN MX 20 riesal.centurion.org. skripsi IN riesal IN
A A
192.168.1.1 192.168.1.2
; File centurion.rev $TTL 3600 ; Start of Authority @ in SOA skripsi.centurion.org. skripsi.centurion.org. ( 2006060401 ; Serial 86400 ; Refresh dari server - harian 300 ; Retry - 5 menit 604800 ; Expire data - 7 hari 86400 ) ; TTL (Time to Live) - 1 hari ; Master DNS @ IN NS IN NS 1.1 IN 1.2 IN
Baris diatas menjelaskan bahwa akan dibuat sebuah DNS Server dengan skripsi.centurion.org sebagai master DNS sekaligus sebagai MX Record (Mail Exchange) dan konfigurasi disimpan pada file centurion.hosts serta centurion.rev
6.
Setelah file centurion.hosts dan centurion.rev selesai dibuat
langkah
selanjutnya
adalah
mengecek
keberadaan dan isi file resolve.conf, biasanya terdapat pada direktori /etc/resolve.conf, isinya adalah sebagai berikut: domain centurion.org nameserver 192.168.1.1
65
7.
Langkah
terakhir
adalah
melakukan
rebooting
komputer menggunakan perintah # shutdown –r now perintah ini hanya dapat dijalankan bila user
mode dalam modus privilege root 8.
#
nslookup
skripsi.centurion.org, bila hasil
yang tampil dilayar sama dengan baris berikut maka DNS Server telah berjalan dengan baik. Berikut ini tampilan output: # nslookup skripsi.centurion.org Server: 192.168.1.1 Address: 192.168.1.1#53 Name: skripsi.centurion.org Addresses: 192.168.1.1
B.
Instalasi dan Konfigurasi Software Pendukung Semua software yang diperlukan dalam proses instalasi dan konfigurasi ini dapat diunduh dari website resmi software yang bersangkutan. Khusus untuk software berbasis UNIX, proses pengambilan software dilakukan dengan bantuan software wget. Untuk software berbasis sistem operasi Microsoft Windows dapat dilakukan dengan berbagai cara, cara yang termudah adalah mengunjungi situs web resmi software yang bersangkutan kemudian lakukan proses download.
66
1.
Instalasi dan Konfigurasi SMTP Server Software SMTP Server yang digunakan dalam penelitian ini adalah Postfix v.2.3. Berikut ini adalah langkah-langkah instalasi dan konfigurasi dari Postfix: a.
Download software Postfix dari situs resminya dengan alamat di www.postfix.org
b. Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: # mkdir /usr/src ; mv postfix* /usr/src setelah itu lakukan proses ekstraksi,
dengan perintah sebagai berikut: # cd /usr/src/ ; tar –xzvf postfix-2.3-20051011.tar.gz ; rm postfix2.3-20051011.tar.gz
c.
Setalah proses ekstraksi selesai, pindah ke direktori hasil ekstraksi dan lakukan proses konfigurasi paket sebelum dilakukan proses compile atas paket. Perintahnya sebagai berikut: # cd post* ; make makefiles CCARGS=DFD_SETSIZE=2048
d.
Setelah
proses
tersebut
selesai,
lanjutkan
dengan
mengaktifkan konfigurasi makefile dengan mengetikkan perintah berikut: pada console: # make e.
Ada baiknya sebelum meng-install Postfix, lakukan proses deaktifasi atas Sendmail yang secara default ter-install dalam sistem. Langkah deaktifasi tersebut sebagai berikut:
Setelah itu buat terlebih dahulu user account untuk Postfix termasuk user dan group, sebaiknya pemilihan tipe account adalah tipe account yang tidak dimungkinkannya login.
g.
Edit file /etc/master.passwd menggunakan vipw atau melalui sysinstall (hanya memasukkan nama user nama group dan nomor group) dan lakukan proses penambahan file seperti berikut:
h.
postfix:*:12345:12345:postfix:/nonexis tent:/usr/sbin/nologin admin:*:12348:0:adminuser:/home/admin: /bin/sh Hal yang sama juga dilakukan pada file /etc/group,
dengan isi yang ditambahkan sebagai berikut: postfix:*:12345: postdrop:*:54321:
i.
Untuk menyimpan hasil editing tekan kombinasi tombol esc + a, Setelah proses diatas selesai dilakukan, set password untuk user admin, dengan cara: # passwd admin
Sekarang saatnya untuk melakukan instalasi
Postfix, pada console ketikkan perintah berikut: # make install selanjutnya silakan ikuti proses yang dipandu
dari layar
68
j.
Bila proses instalasi telah selesai, segera berpindah ke direktori /etc/postfix dan edit file main.cf menggunakan editor
Langkah selanjutnya adalah merubah konfigurasi file /etc/aliases agar e-mail yang disampaikan ke user dalam sistem dapat diteruskan ke e-mail delivery agent sehingga sistem instant autoreply dapat berfungsi. Buka console dengan modus root dan edit file /etc/aliases dengan perintah
berikut:
#
ee
/etc/aliases
kemudian
sesuaikan isi file /etc/aliases dengan baris berikut: # Pretty much everything else in this file # points to "root", so # you would do well in either reading root's # mailbox or forwarding # root's email from here. # root: [email protected] root: [email protected] # Basic system aliases -- these MUST be present MAILER-DAEMON: postmaster postmaster: root
69
m. Langkah selanjutnya adalah melakukan proses indeks atas file /etc/aliases untuk mengaktifkan alias dari e-mail root dengan mengetikkan salah satu perintah berikut pada console: # newaliases # sendmail -bi
n.
Langkah terakhir adalah mengaktifkan daemon postfix, dengan mengetikkan # postfix start pada console.
2.
Instalasi dan Konfigurasi POP3 Server Software POP3 Server yang digunakan dalam penelitian ini adalah UW-IMAP-2004, UW-IMAP memiliki tiga daemon, yaitu, POP2 daemon, POP3 daemon, IMAP daemon. Berikut ini adalah langkahlangkah instalasi dan konfigurasi dari UW-IMAP: a.
Download terlebih dahulu software UW-IMAP. Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: # mv imap* /usr/src Setelah itu lakukan proses ekstraksi, dengan perintah sebagai berikut: #
cd
/usr/src/
;
tar
–xyvf
imap.tar.bz2 ; rm imap.tar.bz2
b. Setalah proses ekstraksi selesai, pindah ke direktori hasil ekstraksi dan lakukan proses konfigurasi paket sebelum
70
dilakukan proses compile atas paket. Perintahnya sebagai berikut: # cd imap* ; make SSLTYPE=none c.
Setelah itu lakukan inisialisasi sistem operasi dengan perintah berikut: # make bsf perintah tersebut akan menginisialisasi sistem operasi UNIX BSD modern seperti halnya FreeBSD agar dapat terintegrasi dengan UWIMAP.
d.
Segera copy file-file berikut /ipopd/ipop2d, /ipopd/ipop3d, dan /imapd/imapd ke direktori /usr/local/libexec
e.
Buka
file
/etc/inetd.conf
menggunakan
editor
ee,
kemudian sesuaikan baris berikut dengan isi file untuk mengaktifkan dukungan service POP3: # $FreeBSD: src/etc/inetd.conf,v 1.69 # 2004/06/06 11:46:27 schweikh Exp $ Internet # server configuration database # # Define *both* IPv4 and IPv6 entries for # dual-stack support. To disable a service, # comment it out by prefixing the line with # '#'. To enable a service, remove the '#' at # the beginning of the line. ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l telnet stream tcp nowait root /usr/libexec/telnetd telnetd pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d imap stream tcp nowait root /usr/local/libexec/imapd imapd
71
f.
Kemudian buka file /etc/services menggunakan ee dengan mode root, hilangkan tanda ‘#’ pada awal baris dari baris berikut: pop pop3 imap
g.
Reboot
sistem,
109/tcp 110/tcp 143/tcp
dan
service
POP3
dapat
segera
dipergunakan, untuk mencoba, gunakan koneksi telnet ke port 110 (POP3) dengan perintah berikut: $ telnet 192.168.1.1 110 dan akan muncul header pada layar
console yang memberitahukan software POP3 server beserta versi yang digunakan. 3.
Instalasi dan Konfigurasi Procmail Software Mail Delivery Agent yang digunakan dalam penelitian ini adalah Procmail v.3.22, Procmail bertugas untuk melakukan filtering e-mail dan diintegrasikan pada SMTP server, Postfix. Berikut ini adalah langkah instalasi dan konfigurasi Procmail: a.
Download software Procmail dari situs resmi di www.procmail.org
b.
Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: #
mv
procmail*
/usr/src Setelah itu lakukan proses ekstraksi, dengan
perintah sebagai berikut: # cd /usr/src/ ; tar –xzvf procmail.tar.gz ; rm proocmail.tar.gz
72
c.
Setelah proses ekstraksi selesai, pindah ke direktori hasil ekstraksi dan lakukan proses konfigurasi paket sebelum dilakukan proses compile atas paket. Perintahnya sebagai berikut: # cd procmail* ; make install
d. Buka file /etc/postfix/main.cf menggunakan editor ee dengan privilege mode root, kemudian tambahkan baris berikut: mailbox_command = /usr/bin/procmail
e.
Restart Postfix dengan mengetikkan # postfix reload
f.
Kini, setiap kali FreeBSD di booting, secara otomatis Procmail bertindak sebagai Mail Delivery Agent.
4.
Instalasi dan Konfigurasi MySQL Database Server Database server yang digunakan dalam penelitian ini adalah MySQL v.5.0.16, MySQL bertugas untuk menyediakan sumber data berupa rekapan nilai matakuliah mahasiswa yang akan diproses menggunakan query dan menghasilkan keluaran berupa transkrip nilai. Berikut ini adalah langkah instalasi dan konfigurasi MySQL: a.
Download MySQL dari situs http://www.mysql.com, versi yang digunakan dalam penelitian ini adalah 5.0.16
b.
Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: # mv mysql* /usr/src Setelah itu lakukan proses ekstraksi, dengan perintah
73
sebagai berikut: # cd /usr/src/ ; tar –xzvf mysql5.0.16.tar.gz ; rm mysql-5.0.16.tar.gz
c.
Buat user dan group terlebih dahulu untuk MySQL dengan megetikkan perintah berikut: # groupadd mysql # adduser -g mysql mysql
d.
Setelah proses ekstraksi selesai, pindah ke direktori hasil ekstraksi dan lakukan proses konfigurasi paket sebelum dilakukan proses compile atas paket. Perintahnya sebagai berikut: # cd mysql-5.0.16 # ./configure -– prefix=/usr/local/mysql
e.
Proses ./configure mencoba untuk mengecek konfigurasi sistem dan menyesuaikannya dengan internal setting MySQL termasuk dukungan currency, panjang integer, floating point dan sebagainya. Setelah proses konfigurasi selesai, tahapan selanjutnya adalah melakukan instalasi MySQL dengan mengetikkan perintah # make install
f.
Setelah proses instalasi selesai, gandakan file mymedium.cnf yang berisikan konfigurasi dasar MySQL ke direktori /etc/ dengan nama my.cnf dengan mengetikkan perintah: # cp support-files/my-medium.cnf /etc/my.cnf
74
g.
Segera berpindah ke direktori dimana MySQL di-install dengan mengetikkan # cd /usr/local/mysql kemudian membuat database system MySQL dengan mengetikkan perintah berikut # bin/mysql_install_db-user=mysql
h.
Set kepemilikan file executable MySQL kepada user root, dan kepemilikan direktori data kepada user dimana daemon MySQL dijalankan, perintahnya sebagai berikut: # chown -R root . # chown -R mysql var # chgrp -R mysql .
i.
Langkah
selanjutnya
adalah
menggandakan
file
mysql.server yang terdapat dalam direktori /support_files ke
direktori
/usr/sbin
dan
mengatur
agar
script
mysql.server dapat dieksekusi dari console dengan mengetikkan perintah berikut: # cp support_files/mysql.server /usr/sbin # chmod +x /usr/sbin/mysql.server
j.
Langkah terakhir adalah memastikan bahwa MySQL dapat dijalankan dengan baik, dengan mengetikkan perintah berikut: shell> /usr/local/mysql/bin/mysqld_safe -user=mysql &
k.
Untuk menjalankan MySQL setelah FreeBSD di booting, dapat menggunakan script mysql.server yang diaktifkan dari console, berikut contoh menjalankan server MySQL: # mysql.server start
75
5.
Instalasi dan Konfigurasi Apache HTTP Server HTTP server yang digunakan dalam penelitian ini adalah Apache v.2.0.54, Apache digunakan untuk meletakkan aplikasi webmail, SquirrelMail agar dapat diakses dari browser, sekaligus dukungan bagi browser WAP. Berikut ini adalah langkah instalasi dan konfigurasi Apache HTTP Server: a.
Download Apache dari situs http://www.apache.org, versi yang digunakan dalam penelitian ini adalah 2.0.54
b. Setelah proses download selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: # mv httpd* /usr/src Setelah itu lakukan proses ekstraksi, dengan perintah sebagai berikut: # cd /usr/src/ ; tar –xzvf httpd2.0.54.tar.gz ; rm httpd-2.0.54.tar.gz
c.
Segera berpindah ke direktori tempat Apache diekstraksi, dengan mengetikkan perintah # cd httpd*
d. Lakukan konfigurasi terlebih dahulu sebelum proses instalasi, dengan mengetikkan perintah berikut pada console: # ./configure –prefix=/usr/local/apache2 – enable-so
e.
Perintah diatas menerangkan bahwa Apache akan di-install pada direktori /usr/local/apache2 dan mengaktifkan dukungan atas shared object
76
f.
Lakukan perintah make, untuk mengaktifkan setting global sistem operasi agar dapat digunakan oleh Apache dengan mengetikkan perintah # make
g. Sekarang
saatnya
meng-install
Apache,
dengan
mengaktifkan
daemon
mengetikan perintah # make install h. Untuk
mempermudah
dalam
Apache, copy file /usr/local/apache2/bin/apachectl ke direktori /usr/sbin dan set permission serta ubah file menjadi executable dengan mengetikan perintah berikut: # cp /usr/local/apache2/bin/apachectl /usr/sbin # chown –R root /usr/sbin/apachectl # chmod +x /usr/sbin/apachectl
i.
Untuk menjalankan daemon Apache, ketikkan perintah berikut pada console # apachectl start dan untuk mematikan daemon Apache, cukup mengetikkan # apachectl stop
6.
Instalasi dan Konfigurasi PHP 4 Server Side Script Server-side script yang digunakan dalam penelitian ini adalah PHP v.4.3.11, PHP digunakan untuk mengaktifkan aplikasi webmail, Squirrelmail, agar dapat diakses dari browser, sekaligus mengaktifkan dukungan bagi pengiriman e-mail via web. Berikut ini adalah langkah instalasi dan konfigurasi PHP 4: a.
Download PHP dari situs http://snaps.php.net, versi yang digunakan dalam penelitian ini adalah 4.3.11
77
b.
Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: # mv php* /usr/src Setelah itu lakukan proses ekstraksi, dengan perintah sebagai berikut: # cd /usr/src/ ; tar –xzvf php4.3.11.tar.gz ; rm php-4.3.11.tar.gz
c.
Pastikan terlebih dahulu bahwa Apache HTTP server telah ter-install dengan baik dan dalam keadaan tidak diaktifkan.
d.
Segera berpindah ke direktori dimana PHP diekstraksi, dengan mengetikkan perintah: # cd php*
e.
Lakukan konfigurasi umum sebelum proses instalasi dengan mengetikkan perintah: # ./configure --withapxs2=/usr/local/apache2/bin/apxs --with-mysql
f.
Perintah diatas akan mengaktifkan PHP dengan dukungan Apache dan MySQL
g.
Lakukan perintah make dan make install dengan mengetikkan perintah: # make ; make install
h.
File konfigurasi umum dari PHP disimpan dalam file bernama
php.ini,
copy
file
php.ini
ke
direktori
/usr/local/lib dengan mengetikkan perintah berikut: # cp php.ini-dist /usr/local/lib/php.ini
78
i.
File lain yang perlu dikonfigurasi adalah httpd.conf, milik Apache, agar Apache dapat berfungsi dan menyediakan dukungan terhadap PHP, lakukan proses editing dengan memasukkan entry pada baris berikut ini kedalam file httpd.conf: LoadModule php4_module libexec/libphp4.so AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps
j.
Untuk melihat apakah Apache dapat menjalankan PHP dengan baik, lakukan langkah berikut pada console: # cd /usr/local/apache2/htdocs # cat > test.php Ctrl C # cd .. ; cd conf # echo “LoadModule php4_module libexec/libphp4.so” >> httpd.conf # echo “AddType application/x-httpd-php .php” >> httpd.conf # echo “AddType application/x-httpd-php-source .phps” >> httpd.conf
k.
Setelah perintah diatas dijalankan, sekarang saatnya untuk mengaktifkan
server
Apache
dan
melihat
apakah
konfigurasinya dapat berjalan dengan baik, dengan mengetikkan perintah berikut pada console: # apachectl start ;lynx http://skripsi/test.php
l.
Baris diatas mencoba untuk menjalankan server Apache, kemudian membuka web browser dan mencoba untuk mengakses halaman konfigurasi umum PHP, test.php, bila setting PHP telah berjalan dengan baik, maka di layar
79
monitor akan tampil konfigurasi umum PHP berikut versi dan sistem operasi yang terpasang. 7.
Instalasi dan Konfigurasi SquirrelMail WebMail SquirrelMail yang digunakan dalam penelitian ini adalah SquirrelMail v.1.4.5, SquirrelMail digunakan sebagai aplikasi webmail, Squirrelmail, agar dapat diakses dari browser. Berikut ini adalah langkah instalasi dan konfigurasi SquirrelMail: a.
Download SquirrelMail terlebih dahulu dari situs resmi SquirrelMail di http://www.squirrelmail.org versi yang digunakan dalam penelitian ini adalah 1.4.5
b.
Setelah proses download telah selesai, pindahkan file hasil download ke direktori /usr/src dengan mengetikkan perintah berikut pada console: #
mv
squirrel*
/usr/local/apache2/htdocs Setelah itu lakukan proses
ekstraksi, #
cd
dengan
perintah
sebagai
/usr/local/apache2/htdocs/
squirrelmail-1.4.5.tar.gz
;
rm
;
berikut: tar
–xzvf
squirrelmail-
1.4.5.tar.gz ; mv squirrelmail-1.4.5 webmail
c.
Ubah hak akses dan kepemilikan serta group atas direktori data kepada user yang menjalankan daemon Apache, hal ini dilakukan karena direktori data adalah direktori yang digunakan
oleh
Squirrelmail
untuk
menyimpan
preference. Perintah perubahan sebagai berikut: # cd
80
webmail ;
chown –R nobody data ; chgrp –R
nobody data
d.
Langkah berikutnya adalah melakukan konfigurasi atas SquirrelMail dengan menjalankan script konfigurasi yang ada pada direktori config, dengan mengetikkan perintah berikut pada console: # cd .. ; cd config ; perl conf.pl
e.
Setelah itu, buka web browser dan arahkan ke alamat http://skripsi/webmail/src/configtest.php, secara otomatis, halaman web ini akan melakukan validasi atas konfigurasi yang telah dibuat oleh script conf.pl
f.
Setelah
proses
validasi
selesai,
untuk
mengakses
SquirrelMail, dapat dengan mengarahkan web browser ke alamat http://skripsi/webmail, dan SquirrelMail siap untuk digunakan seperti kebanyakan webmail lain 8.
Instalasi Opera Web Browser Web browser yang digunakan dalam penelitian ini adalah Opera 7.54, Opera mendukung penggunaan ekstensi .htm, .html, xhtml maupun .wml dan .wmlsc untuk dukungan web WAP, selain itu penggunaannya yang berbasis grafis dan dukungan gesture mouse yang baik menjadikan Opera lebih mudah digunakan dibandingkan dengan browser web berbasis teks, seperti Lynx. Berikut ini adalah langkah instalasi dan konfigurasi Opera:
81
a.
Terlebih dahulu, persiapkan CD FreeBSD kepingan kedua dan letakkan diatas tray CD-ROM kemudian masukkan.
b.
Lakukan
proses
mounting
atas
CDROM
dengan
mengetikkan perintah berikut: # mount –t cd9660 /dev/acd0 /cdrom
c.
Berpindah ke direktori /cdrom/packages/All dan cari port Opera 7.54 dengan mengetikkan # ll –h | grep opera.
d.
Setelah ukuran dan lokasi file port Opera didapat, lakukan proses instalasi port Opera dengan mengetikkan perintah berikut #
pkg_add
opera-7.54.2000131.tbz
dan
tunggu hingga proses install selesai. e.
Setelah proses install selesai, buka session X Window dan jalankan Opera dari Window Manager, atau dapat pula mengetikkan
perintah
berikut
pada
console
untuk
mengaktifkan Opera: $ opera
C.
Perancangan Sistem Instant Autoreply Pada bagian ini akan dijelaskan proses pembuatan aturan filter email serta proses pengiriman kembali atas e-mail yang dikirmkan, selain itu akan dijelaskan juga tentang pembuatan media akses sistem instant autoreply melalui akses web dengan dukungan WAP untuk mobile device.
82
1.
Perancangan Database Untuk mensimulasikan sistem instant autoreply dengan baik, diperlukan sebuah sample basis data yang dijadikan sebagai sumber data atas proses query yang akan dilakukan oleh sistem dan diteruskan kepada pengirim e-mail sebagai balasan atas e-mail yang dikirimkan. a.
Entity Relationalship Diagram Dari diagram alir data di bawah ini dapat diketahui bahwa untuk pembuatan sistem diperlukan entitas dan atribut data seperti yang ada pada gambar berikut:
Gambar 11. Diagram Relasi Antar Entitas Gambar 11 menunjukkan bahwa entitas mhs memiliki atribut id_siswa, nama, fak, jur dan pass. Entitas dosen memiliki atribut id_dsn, nama_dsn, dan e-mail.
83
Entitas kuliah memiliki atribut id_kul, id_dsn, nama_kul, sks, dan smstr. Entitas nilai memiliki atribut id_siswa, id_kul, indx_nil dan bbt
b.
Mapping Table Berikut ini adalah mapping table dari ERD yang telah dibuat:
Gambar 12. Mapping Table
84
c.
Domain dan Data Berikut ini adalah deskripsi dari tiap entitas beserta
atribut
yang
mengikutinya
yang
diimplementasikan dalam bentuk tabel dalam database MySQL. a.
Tabel mhs Tabel ini berfungsi untuk menyimpan data pribadi mahasiswa. Primary key
: id_siswa
Foreign key
: fak, jur
Tabel 1. Tabel biodata
b.
No.
Kolom
Tipe
Panjang
Keterangan
1
id_siswa
char
8
Nomor induk
2
nama
varchar
30
Nama siswa
3
Fak
char
2
Fakultas
4
Jur
char
2
jurusan
5
pass
char
8
Password
Tabel fakultas Tabel ini berfungsi untuk menyimpan data fakultas Primary key
: fak
Foreign key
:-
85
Tabel 2. Tabel fakultas
c.
No.
Kolom
Tipe
Panjang
Keterangan
1
fak
char
2
Nomor fak
2
Nama
varchar
30
Nama fak
Tabel jurusan Tabel ini berfungsi untuk menyimpan data jurusan Primary key
: jur
Foreign key
: fak
Tabel 3. Tabel jurusan
d.
No.
Kolom
Tipe
Panjang
Keterangan
1
jur
char
2
Nomor jur
3
fak
char
2
Nomor fak
2
nama
varchar
30
Nama siswa
Tabel dosen Tabel ini berfungsi untuk menyimpan data dosen. Primary key
: id_dsn
Foreign key
:-
86
Tabel 4. Tabel dosen
e.
No.
Kolom
Tipe
Panjang
Keterangan
1
id_dsn
char
8
Nomor induk
2
Nama_dsn
varchar
35
Nama dosen
3
e-mail
varchar
35
Alamat mail
Tabel kuliah Tabel
ini
berfungsi
untuk
menyimpan
data
matakuliah Primary key
: id_kul
Foreign key
: id_dsn
Tabel 5. Tabel kuliah No.
Kolom
Tipe
Panjang
Keterangan
1
id_kul
char
7
ID kuliah
2
id_dsn
char
8
ID dosen
3
nama_kul
varchar
35
Matakuliah
4
sks
tinyint
1
Jumlah sks
5
smstr
tinyint
2
semester
87
f.
Tabel nilai Tabel ini berfungsi untuk menyimpan data nilai. Primary key
:-
Foreign key
: id_siswa, id_kul
Tabel 6. Tabel nilai
2.
No.
Kolom
Tipe
Panjang
Keterangan
1
id_siswa
char
8
Nomor induk
2
id_kul
char
7
ID kuliah
3
indx_nil
char
1
Indeks nilai
4
bbt
tinyint
2
Bobot nilai
Implementasi Struktur Database Setelah struktur database selesai dirancang maka langkah selanjutnya adalah mengimplementasikan rancangan struktur database kedalam
database
management
system,
MySQL,
agar
dapat
dioperasikan oleh sistem. Untuk proses implementasi struktur database ini, terlebih dahulu persiapkan database server, kemudian dilanjutkan dengan mengikuti langkah-langkah yang ada dibawah ini. a.
Terlebih dahulu, aktifkan daemon MySQL dengan mengetikkan perintah berikut: # mysql.server start
b.
Buat sebuah file dengan cara mengetikkan perintah #
cat
>
/usr/local/mysql/bin/khs.sql kemudian
88
isikan baris-baris berikut pada file tersebut dan simpan dengan nama khs.sql: DROP DATABASE `KHS`; CREATE DATABASE `KHS`; USE KHS; DROP TABLE IF EXISTS `mhs`; CREATE TABLE IF NOT EXISTS `mhs` ( `id_siswa` char(8) NOT NULL, `nama` varchar(30) NOT NULL, `fak` char(2) NOT NULL, `jur` char(2) NOT NULL, `pass` char(8) NOT NULL, PRIMARY KEY (`id_siswa`), KEY `id_siswa` (`id_siswa`) ) DEFAULT CHARSET=latin1;
INSERT INTO `mhs` (`id_siswa`, `nama`, `fak`, `jur`, `pass`) VALUES ('02018220', 'Muhammad Fahrizal Rahman', '', '', 'riesal'), ('02018204', 'Hendrawan Aprilia Ashari', '1', '1', ''), ('02018210', 'Ridwan', '1', '1', ''); DROP TABLE IF EXISTS `dosen`; CREATE TABLE IF NOT EXISTS `dosen` ( `id_dsn` char(8) NOT NULL, `nama_dsn` varchar(35) NOT NULL, `email` varchar(35) NOT NULL, PRIMARY KEY (`id_dsn`), KEY `id_dsn` (`id_dsn`) ) DEFAULT CHARSET=latin1; INSERT INTO `dosen` (`id_dsn`, `nama_dsn`, `email`) VALUES ('00000001', 'Wahyu Pujiyono, M.Kom', '[email protected]'), ('00000002', 'Rusyidi Umar, M.T.', '[email protected]'), ('00000003', 'Sri Winiarti, S.T.', '[email protected]'), DROP TABLE IF EXISTS `fakultas`; CREATE TABLE IF NOT EXISTS `fakultas` ( `fak` char(2) NOT NULL, `nama` varchar(30) NOT NULL, PRIMARY KEY (`fak`), ) DEFAULT CHARSET=latin1; DROP TABLE IF EXISTS `jurusan`; CREATE TABLE IF NOT EXISTS `jurusan` ( `fak` char(2) NOT NULL,
89
`jur` char(2) NOT NULL, `nama` varchar(30) NOT NULL, PRIMARY KEY (`jur`), ) DEFAULT CHARSET=latin1; DROP TABLE IF EXISTS `kuliah`; CREATE TABLE IF NOT EXISTS `kuliah` ( `id_kul` char(7) NOT NULL, `id_dsn` char(8) default NULL, `nama_kul` varchar(35) NOT NULL, `sks` tinyint(1) NOT NULL, `smstr` tinyint(2) NOT NULL, PRIMARY KEY (`id_kul`), ) DEFAULT CHARSET=latin1; INSERT INTO `kuliah` (`id_kul`, `id_dsn`, `nama_kul`, `sks`, `smstr`) VALUES ('TG18038', '00000002', 'Basis Data', 3, 4), ('T13103', '00000004', 'Interaksi Manusia Komputer', 3, 4), ('TH18068', '00000005', 'Analisis dan Perancangan Algoritma', 3, 4), DROP TABLE IF EXISTS `nilai`; CREATE TABLE IF NOT EXISTS `nilai` ( `id_siswa` char(8) default NULL, `id_kul` char(7) default NULL, `indx_nil` char(1) NOT NULL, `bbt` tinyint(2) NOT NULL, ) DEFAULT CHARSET=latin1; INSERT INTO `nilai` (`id_siswa`, `id_kul`, `indx_nil`, `bbt`) VALUES ('02018220', 'TG18038', 'A', 12), ('02018220', 'TD18038', 'A', 12), ('02018220', 'TL18022', 'A', 8),
c.
Sebelum memasukkan struktur database ke dalam MySQL, terlebih dahulu atur privileges untuk user agar hanya user admin saja yang memiliki hak mengopersikan database khs, berikut perintahnya: # cd /usr/local/mysql/bin # echo “INSERT INTO user (host, user, password) VALUES (‘localhost’,’admin’, password(‘admin’)) | mysql # echo “USE mysql ; UPDATE user SET select_priv = ‘Y’, insert_priv = ‘Y’, update_priv = ‘Y’, delete_priv = ‘Y’, create_priv = ‘Y’, drop_priv = ‘Y’ WHERE user = ‘admin’ ; “ | mysql
90
# echo “DELETE FROM user WHERE user = ‘’ ” | mysql # cp khs.sql /home/admin ; rm khs.sql ; su admin
d.
Tahpan selanjutnya adalah memasukkan struktur database dan data-data yang ada pada file khs.sql ke dalam database MySQL, perintahnya sebagai berikut: $ cd ~ ; /usr/local/mysql/bin/mysql –u admin – p < khs.sql
3.
Konfigurasi Wireless Application Protocol WAP secara default tidak diaktifkan pada Apache dan juga kebanyakan web server lain, untuk mengaktifkan dukungan terhadap WAP dapat dilakukan dengan berbagai cara, salah satunya adalah dengan mengamati tipe dukungan WAP yang akan diberikan, apakah ingin mengikuti standard lama WAP, yaitu, WML, atau mengikuti standard terbaru WAP, yaitu xHTML. Pada penelitian ini dukungan hanya diberikan untuk WAP tipe WML mengingat portabilitasnya yang baik, dikarenakan web browser baik PC maupun mobile device banyak mendukung format WML. Berikut akan dijelaskan tahapan mengaktifkan setting WAP untuk Apache web server. a.
File yang perlu dikonfigurasi adalah httpd.conf, milik Apache, agar Apache dapat berfungsi dan menyediakan dukungan terhadap WAP dengan format WML, lakukan
91
proses editing dengan memasukkan entry pada baris berikut ini kedalam file httpd.conf: AddType AddType AddType AddType AddType AddType
Setelah proses diatas selesai dilakukan, maka dilakukan periksaan file mime.conf apakah berisi baris-baris berikut atau tidak, bila tidak maka masukkan baris-baris berikut pada file mime.conf application/vnd.wap.sic application/vnd.wap.slc application/vnd.wap.wbxml wbxml application/vnd.wap.wmlc wmlc application/vnd.wap.wmlscriptc wmlsc
c.
Langkah terakhir adalah mematikan service http server dan menghidupkannya kembali untuk mendapatkan dukungan format .WML pada web server, berikut perintahnya: # apachectl stop ; apachectl start
4.
Pembuatan Aturan Filter E-mail Proses penyaringan mutlak diperlukan pada suatu sistem instant autoreply apapun medianya. Berikut ini akan dijelaskan proses penyaringan e-mail yang digunakan dalam penelitian ini, untuk menyaring e-mail, melakukan query dan mengirimkan kembali e-mail ke alamat pengirim pada sistem instant autoreply.
92
Penyaringan e-mail pada umumnya berkaitan dengan struktur internal dari e-mail itu sendiri, pada penelitian ini, bagian dari e-mail yang akan dilakukan proses penyaringan adalah subject. Proses untuk mengakses dan melakukan proses penyaringan memerlukan alat bantu khusus, yaitu regular expression yang digunakan untuk melakukan proses filtering atas subject dari e-mail dan ditempatkan dalam software MDA, Procmail, berikut ini langkah konfigurasinya. a.
Terlebih dahulu login sebagai user admin
b.
Buat file untuk menyimpan aturan filtering dengan nama .procmailrc pada home directory user admin, dengan mengetikkan perintah sebagai berikut: # cat > .procmailrc
c.
Setelah console siap untuk menerima input berupa baris yang akan diisikan pada file .procmailrc, masukkan barisbaris berikut ke dalam file .procmailrc: 1. MAILDIR=$HOME/mail 2. LOGFILE=$MAILDIR/log 3. 4. 5. 6.
:0 ^Subject: transkrip nim \/[^ ]+ { NIM = "$MATCH" \ MATCH = '' }
14. AS IP_KUMULATIF FROM mhs, nilai, kuliah WHERE nilai.id_siswa = '$NIM' \ 15. AND nilai.id_kul = kuliah.id_kul AND mhs.id_siswa = '$NIM' \ 16. AND mhs.id_siswa = nilai.id_siswa GROUP BY mhs.nama; \ 17. SELECT kuliah.id_kul AS KMK, kuliah.nama_kul AS MATA_KULIAH, \ 18. nilai.indx_nil AS NILAI, nilai.bbt AS BOBOT \ 19. FROM nilai, kuliah, mhs, dosen \ 20. WHERE mhs.id_siswa = '$NIM' AND biodata.id_siswa = nilai.id_siswa \ 21. AND nilai.id_kul = kuliah.id_kul AND dosen.id_dsn = kuliah.id_dsn \ 22. AND mhs.pass = '$PW' ORDER BY kuliah.smstr;" 23. | /usr/local/mysql/bin/mysql -t -n > $HOME/mail/"$MATCH" ; (formail -r ; cat "$MATCH") | $SENDMAIL -oi -t ; rm -r "$MATCH"
d.
Baris 1 dan 2 adalah suatu aturan yang menyatakan bahwa direktori mail berada dalam home directory dan diberi nama mail, sedangkan file untuk menyimpan segala operasi dari procmail atas e-mail ditempatkan dalam sebuah file log, dengan nama log yang berada dalam direktori mail dari home directory.
e.
Baris 3 hingga 4 menyatakan bahwa akan dibuat sebuah filter untuk bagian subject dari e-mail yang berisikan formula transkrip nim \/[^ ]+. Proses filter dalam penelitian ini cukup kompleks, oleh karena itu filtering dibagi menjadi tiga bagian, bagian pertama, transkrip nim \/[^ ]+ adalah sebuah pola awal untuk memudahkan identifikasi e-mail dengan nomor induk mahasiswa sebagai kunci, dimanan nilai nim pada subject e-mail
94
harus bersesuaian dengan nilai nim pada tabel login yang ada di dalam database KHS. Kalang \/[^ ]+ adalah serangkaian formula regular expression yang menyatakan bahwa semua karakter (tercantum dalam kalang \/[^ ] ) yang berada pada sisi kanan tanda \/ akan disimpan dalam variabel dengan nama $MATCH, dan tanda + berarti formula tersebut masih dapat digabungkan dengan formula lain. f.
Baris 5 menyatakan bahwa telah dibuat sebuah variabel NIM untuk menyimpan nilai nomor induk mahasiswa yang disertakan dalam subject e-mail menggunakan variabel $MATCH sebagai temporary variable.
g.
Baris 6 menyatakan bahwa isi dari variabel $MATCH dikosongkan, hal ini perlu dilakukan mengingat proses assignment atas variabel dinamis hanya dapat dilakukan dengan menggunakan sebuah variabel $MATCH pada Procmail.
h.
Baris 7 dan 8 menyatakan bahwa akan dibuat sebuah aturan filter atas subject e-mail yang berisikan formula kedua, yaitu, transkrip nim \/[^ ]+ pass \/[^ ]+ dengan isi dari kalang pass \/[^ ]+ adalah sembarang karakter yang digunakan
untuk
mencocokan
database pada tabel login.
pola
password
atas
95
i.
Baris 9 menyatakan bahwa, akan dibuat sebuah variabel bernama PASS untuk menyimpan nilai password atas tabel login pada database KHS menggunakan $MATCH sebagai temporary variable. Pada baris 8 terdapat dua buah kalang yang sama, yaitu \/[^ ]+, menurut aturan regular expression dalam s, bila ada dua kalang \/[^ ]+ terdapat dalam satu baris, maka yang berlaku adalah kalang yang letaknya paling kanan. Dengan kata lain, pada baris 8, nilai yang disimpan adalah nilai atas password
j.
Baris 11 menyatakan bahwa akan dilakukan proses filter atas subject e-mail dengan pola ketiga, yaitu, transkrip nim \/[^ ]* pass \/[^ ]*, sepintas, pola ini mirip dengan pola sebelumnya, tetapi regular expression menerapkan model case sensitive, sehingga pola ini merupakan pola berbeda
sekaligus
pola
yang
digunakan
sebagai
penggabungan dua pola filter sebelumnya. k.
Baris 12 hingga 22 menyatakan bahwa bila pola yang terdapat pada subject e-mail dalam e-mail yang dikirmkan adalah sama dengan pola subject pada baris 11, maka akan dilakukan proses operasi database, berupa eksekusi atas pernyataan
SELECT
untuk
menampilkan
nama
mahasiswa, jumlah sks yang telah ditempuh, indeks prestasi kumulatif, dan rincian matakuliah beserta nilai
96
yang telah didapat.yang dibangkitkan oleh perintah echo dari shell prompt untuk kemudian terjadi proses pemipaan (piping) dan dialihkan ke mesin database MySQL. Output dari proses ini berupa data transkrip nilai dari hasil proses query atas database, output ini kemudian disematkan ke dalam e-mail ddalam bentuk plain text (teks biasa) dan dikirimkan kembali (reply) kepada pengirim e-mail menggunakan perintah formail. l.
Pada eksekusi pernyataan SELECT, variabel NIM dan PASS digunakan sebagai parameter input untuk mencari , mencocokan dan menampilkan data hasil query atas database.
5.
Perancangan Aplikasi KHS Anywhere® KHS
Anywhere®
merupakan
aplikasi
sederhana
yang
digunakan untuk mengirimkan e-mail melalui peranti bergerak berbasis teknologi internet.. Aplikasi ini memiliki dua buah versi, versi pertama berjalan pada peranti bergerak yang mendukung teknologi WAP, dan versi kedua berjalan hanya pada peranti bergerak yang mendukung teknologi Java 2 Microedition (J2ME). Kedua aplikasi ini dibuat sebagai alat bantu untuk mensimulasikan sistem instant autoreply secara keseluruhan.
97
a.
WAP Based KHS Anywhere® KHS
Anywhere®
berbasis
WAP
hanya
mendukung
permintaan pengiriman transkrip nilai ke alamat webmail. Untuk melihat transkrip, user diharuskan untuk melakukan login ke account webmail terlebih dahulu. Beberapa webmail tekemuka di Internet telah menyediakan layanan WAP bagi pelanggan webmail mereka, semisal Yahoo! Berikut ini adalah langkah perancangan aplikasi WAP based KHS Anywhere: a.
Buka console dan login sebagai root, kemudian berpindah ke direktori /usr/local/apache2/htdocs
b.
Buat direktori wap dengan mengetikkan # mkdir wap
c.
Berpindah ke direktori wap dengan mengetikkan #
d.
Buat file baru dengan nama index.php melalui text editor ee
cd wap
kemudian mengisikan baris berikut pada file tersebut: 1. 2. 3. 4. 5.
"; echo ""; 8. ?> 9. <wml> 10. 11.
12. <strong>Welcome to KHS Anywhere WAP Site!
13. 14.
15. <small>Selamat datang di dunia mobile! Ini adalah situs uji-coba, silakan mencoba 16. <small>berbagai fasilitas yang ada!
98
17. 18. 19. 20. 21.
e.
LANJUT>>
Baris-baris diatas adalah format dokumen WML yang disematkan dalam server side script PHP, pada baris 3 terdapat statement header(“Content-type: text/vnd.wap.wml”); menyatakan bahwa dokumen ini adalah dokumen dalam format WML. File ini akan merujuk kepada file berikutnya dengan nama khs.php
f.
Buat sebuah file dengan nama khs.php yang berisikan script untuk mengirimkan e-mail via web WAP menggunakan pemrograman server side dari PHP kemudian isikan barisbaris berikut 1. 2. 3. 4. 5. 6. 7. 8. 9.
32. Selamat.. 33. Transkrip nilai sudah terkirim ke alamat e-mail berikut: $user 34. Cek e-mail kamu sekarang! 35.
36. 37.
g.
Untuk menggunakan dokumen WML dalam script PHP, maka diperlukan proses pemasukan header atas dokumen WML ke dalam script PHP, hal ini ditunjukkan pada baris 8 hingga 11.
h.
Baris 12 hingga 37 adalah isi dari halaman WML, syntax yang digunakan hampir sama dengan bahasa markup HTML. Definisi tiap halaman diapit oleh tag dan . Tiap card (halaman) dapat memiliki ID sendiri, dengan ID yang berbeda dalam sebuah card, maka sebuah halaman (card) yang sama dapat dibagi menjadi beberapa bagian dengan ID yang berbeda pada tiap bagiannya. Pembagian ini dapat mengefisienkan penggunaan halaman dan mempercepat proses loading.
i.
Baris 29 mendefinisikan cara pengiriman e-mail menggunakan script PHP dan dapat diakses melalui halaman WML.
100
Pengiriman e-mail dilakukan dengan menggunakan fungsi builtin dari PHP, yaitu, mail(), dengan parameter mail($to, $subject, $body), khusus pada sistem operasi berbasis UNIX
dan UNIX like, seperti FreeBSD, diperlukan adanya tambahan parameter untuk menampilkan alamat asal pengirim e-mail, dengan menambahkan parameter “From: $user”, “-f $user” sehingga menjadi
mail($to,
$subject,
$body,
$from)
.
Penambahan ini mutlak diperlukan, agar sistem instant autoreply dapat menentukan alamat asal dari pengirim e-mail. j.
File diatas berisikan kumpulan script untuk mengirimkan email menggunakan pemrograman PHP ke alamat e-mail [email protected] dengan contoh format subject adalah transkrip nim 02018200 pass riesal, berikut ini adalah tampilan
halaman
pengiriman
e-mail
menggunakan WinWAP browser
Gambar 13. WinWAP Browser
yang
diakses
101
k.
Untuk mencoba apakah aplikasi ini berjalan, buka terlebih dahulu browser Opera (mendukung WAP) dan arahkan ke alamat http://skripsi/wap
Gambar 14. Halaman Awal WAP l.
Setelah itu akan muncul halaman index.php yang berisikan pernyataan selamat datang, lanjutkan dengan memilih tombol ‘lanjut’ dan akan muncul form untuk memasukkan alamat email dan subject pesan, seperti pada gambar berikut:
Gambar 15. Halaman Permintaan Transkrip WAP
102
m.
Isikan alamat e-mail pada form dengan alamat e-mail user yang ada pada sistem, misal [email protected] dan subject diisikan mengikuti pola regular expression yang telah ditentukan, dengan contoh transkrip nim 02012880 pass riesal kemudian pilih tombol Accept pada form.
n.
Setelah itu akan muncul form yang menyatakan bahwa permintaan transkrip telah terkirim dan balasan berisi transkrip nilai dapat diakses melalui e-mail pada alamat e-mail yang telah dimasukkan dalam form. Di bawah gambar form yang menyatakan proses request atas transkrip telah berhasil dilaksanakan:
Gambar 16. Halaman Konfirmasi o.
Untuk mengecek apakah balasan berisi transkrip telah benarbenar terkirim, maka perlu dilakukan pengecekan e-mail, dengan webmail SquirrelMail
103
p.
Terlebih dahulu buka web browser Opera dan arahkan ke alamat webmail SquirrelMail di http://skripsi/webmail, seperti yang tampak pada gambar berikut:
Gambar 17. Halaman Login WebMail q.
Isikan pada textbox user dengan nama user pada sistem, misal rizal, dan pada textbox password isikan password atas account rizal, misal kitten, kemudian klik tombol Login dan account webmail atas nama rizal telah siap digunakan.
r.
Setelah itu, klik link dengan tulisan INBOX yang terdapat pada form. Kemudian pilih e-mail dengan isi subject Re: transkrip nim 02018220 pass riesal. Seperti yang tampak pada gambar dibawah ini:
104
Gambar 18. Halaman Inbox s.
Kemudian pada browser akan tampil isi dari e-mail balasan yang berisikan transkrip nilai, seperti yang tampak pada gambar berikut:
Gambar 19. Halaman Isi E-mail Balasan b.
Java 2 ME Based KHS Anywhere Subset bahasa pemrograman J2ME memiliki perbedaan model akses jaringan yang berbeda dibandingkan dengan J2SE. Pada J2SE library akses atas network dileteakkan pada paket java.net, sedang pada J2ME diletakkan pada paket java.io.
105
Perbedaan paket ini dikarenakan device pada J2ME memiliki keterbatasan sumberdaya, sehingga diperlukan library yang efektif untuk resource kecil yang dimiliki oleh handphone. Akses atas e-mail umumnya menggunakan protokol SMTP untuk pengiriman dan POP3 untuk pembacaan e-mail, pada penelitian ini model koneksi untuk dua buah protokol e-mail tersebuat dibuat dengan menggunakan socket yang disertakan dalam paket java.io. Socket
adalah
salah
satu
lapisan
aplikasi
yang
menghubungkan sebuah aplikasi dengan network card dari komputer, socket memiliki karakteristik pengiriman data yang cepat serta koneksi yang mudah. Berikut ini adalah tabel berbagai jenis socket dan interface yang didukung oleh J2ME TIPE
INTERFACE
CONTOH
Socket
SocketConnection
socket://server:110
Server socket
ServerSocketConnection
socket://:143
SSL socket
SecureConnection
ssl://server:143
Tabel 7. Jenis Socket dan Interface Pendukung Implementasi dari socket untuk proses pengiriman e-mail menggunakan protokol SMTP dalam penelitian ini menggunakan teknik yang paling sederhana, yaitu dengan membuat sambungan permanen dengan server SMTP melalui port 25, kemudian mengirimkan baris demi baris perintah SMTP untuk mengirimkan
public class SendMail extends Form implements Runnable { public TextField to = null; public TextField subject = null; TextField body = null; public Command cancel = null; public Command send = null; MailConnection smtp = null; Respect respect; public SendMail(Respect mMail) { super("Write Email"); respect = mMail; if(Respect.lang == Lang.English) { to = new TextField("To:", "", 50, TextField.EMAILADDR); subject = new TextField("Subject:", "", 80, TextField.ANY); body = new TextField("Body:", "", 1024, TextField.ANY); /* berjalan baik pada Nokia on 6230 */ cancel = new Command("Cancel", Command.OK, 1); send = new Command("Send", Command.CANCEL, 1); }; if(Respect.lang == Lang.Indonesia) { super.setTitle("Tulis Surat"); to = new TextField("Kepada:", "", 50, TextField.EMAILADDR); subject = new TextField("Subjek:", "", 80, TextField.ANY);
Thread.sleep(5000); Respect.inbox.hideMessage(); } catch(Exception e) { Respect.showError("1/8 Sending", "Tidak bisa berbicara pada server!."); } } }
Baris-baris kode diatas digunakan untuk membuat koneksi melalui socket ke port SMTP (25) beserta exception handling (penanganan kesalahan), bila proses mengalami masalah. Baris yang menyatakan pembuatan hubungan ke SMTP menggunakan socket dinyatakan pada baris berikut pada kode program: Respect.showProgress(1, 8, "Sending", "", "menyambungkan diri ke\012"+account.smtpServer); smtp = new MailConnection("socket://" + account.smtpServer + ":25");
Setelah hubungan dengan server SMTP telah terbentuk, maka dilakukan proses pengiriman e-mail menggunakan kaidah yang berlaku pada SMTP server, biasanya menggunakan pengiriman teks ASCII. Berikut ini contoh pengiriman e-mail menggunakan perintah standard pada SMTP server: smtp.sendCRLF("MAIL FROM: <"+account.from+">"); line = smtp.getLine(); Respect.showProgress(4, 8, "Sending", "", "setting To:\012" + line); smtp.sendCRLF("RCPT TO: "+emailOnly(to.getString())); line = smtp.getLine(); Respect.showProgress(5, 8, "Sending", "", "sending data\012" + line); smtp.sendCRLF("DATA"); line = smtp.getLine(); Respect.showProgress(6, 8, "Sending", "", "sending body\012" + line); smtp.sendCRLF("From: <"+account.from+">"); smtp.sendCRLF("To: "+to.getString()); smtp.sendCRLF("Subject: "+subject.getString()); smtp.sendCRLF(""); smtp.sendCRLF(body.getString());
110
smtp.sendCRLF("\015\012."); line = smtp.getLine();
Syntax MAIL FROM: digunakan untuk mengirimkan alamat dari pengirim e-mail. RCPT TO: digunakan untuk mengirimkan alamat yang akan dituju dari e-mail, DATA digunakan untuk mengirimkan isi dari e-mail itu sendiri, dapat berupa Subjek pesan, maupun body dari e-mail. Ketiga syntax tersebut mutlak diperlukan dalam pengiriman e-mail secara langsung melalui socket. Berikut ini adalah gambar proses pengiriman e-mail pada handheld emulator device menggunakan socket:
Gambar 20. Pengiriman E-mail via J2ME Proses pembacaan e-mail yang digunakan dalam penelitian ini menggunakan port POP3 dengan nomor port 110 dengan model akses yang sama pada proses pengiriman e-mail, yaitu dengan membuat sambungan langsung ke server POP3 menggunakan socket kemudian mengirimkan baris demi baris perintah POP3 untuk membaca e-mail. Berikut ini adalah source code yang
Baris-baris kode diatas digunakan untuk membuat koneksi melalui socket ke port POP3 (110) beserta exception handling (penanganan kesalahan), bila proses mengalami masalah. Baris yang menyatakan pembuatan hubungan ke POP3 server menggunakan socket dinyatakan pada baris berikut pada kode program:
114
int open() { AccountSettings account = respect.getAccount(); String server = account.pop3Server; String port = "110"; String user = "rizal@server"; String pass = "rizal"; try { respect.showProgress(1, 3, "Menyambungkan diri", "", "Menyambungkan diri ke\012" + server); pop3 = new MailConnection( "socket://" + server + ":" + port); } catch( IOException e) { respect.showError("Tak tersambung", "Tidak dapat tersambung ke " + server); return -1; }
Setelah hubungan dengan server POP3 telah terbentuk, maka dilakukan proses pembacaan e-mail menggunakan kaidah yang berlaku pada POP3 server, biasanya menggunakan pengiriman teks ASCII. Berikut ini contoh pembacaan e-mail menggunakan perintah standard pada POP3 server: pop3.sendCRLF("USER " + user); reply = pop3.getLine(); respect.showError("Apakah user ", "tersedia? " + reply); pop3.sendCRLF("PASS " + pass); reply = pop3.getLine(); respect.showError("Apakah password ", "valid? " + reply); pop3.sendCRLF("stat"); respect.showError("Apakah ", "tersambung? " + reply); pop3.sendCRLF("list"); return __getCount();}
Syntax USER: digunakan untuk membuka account POP3 atas nama user, user dalam hal ini diisi dengan nama rizal. PASS: digunakan untuk mengisikan password atas account, STAT digunakan untuk melihat jumlah e-mail dalam inbox, dan LIST digunakan untuk menampilkan header dari daftar e-mail untuk
115
kemudian dibaca. Empat syntax tersebut mutlak diperlukan dalam pembacaan e-mail secara langsung melalui socket. Berikut ini adalah gambar proses pembacaan e-mail pada handheld emulator device menggunakan socket:
Gambar 21. Membaca E-Mail via J2ME
D.
Pengujian Sistem Tahap terakhir dalam perancangan sistem adalah pengujian sistem. Pengujian
sistem ini dilakukan untuk menguji dan mengetahui apakah
sistem telah berjalan dengan baik dan benar. Sistem ini menggunakan satu jenis pengujian, yaitu black box test. Pengujian ini melibatkan seorang praktisi sistem informasi sekaligus menjabat sebagai ketua PIKSI Universitas Ahmad Dahlan Yogyakarta, Bapak Mushlihuddin, M.T. Pengujian ditekankan pada proses pengiriman e-mail, aturan autentifikasi, proses filtering, kemudahan akses
116
oleh pengguna dan output tampilan berupa informasi yang dihasilkan. Hasil uji sistem ini dapat dilihat pada tabel berikut: No
Pernyataan
Y
1.
Proses pengiriman e-mail berjalan dengan benar
√
2.
Proses autentifikasi berjalan dengan benar
√
3.
Proses filtering berjalan sesuai dengan aturan yang √
T
diacu 4.
Output informasi sesuai dengan aturan yang diacu
√
5.
Sistem mudah untuk digunakan
√
Tabel 8. Daftar Pertanyaan Black Box Test Berdasar hasil diatas, didapat prosentase penilaian terhadap sistem yaitu, Ya: 5/5 x 100% = 100%, Tidak = 0/5 x 100% = 0%. Dari hasil uji prosentase tersebut dapat ditarik kesimpulan bahwa data dan informasi yang disampaikan sudah sesuai dengan aturan filtering yang ditetapkan sekaligus mencerminkan transkrip nilai dengan baik.
117
BAB V KESIMPULAN
A.
Kesimpulan Kesimpulan yang dapat diambil berdasarkan hasil implementasi sistem instant autoreply untuk hasil query database dengan studi kasus transkrip nilai, antara lain : 1.
Sistem instant autoreply yang dibuat dapat melakukan proses filtering atas e-mail, melakukan query database berdasarkan subject e-mail dan mengirimkan kembali kepada pengirim dengan isi e-mail berupa transkrip nilai hasil query database dengan baik.
2.
Interface web WAP dan program Java 2 Microedition yang dibuat untuk pengiriman e-mail mampu bekerja dengan baik dalam proses pengiriman e-mail dari berbagai peranti komunikasi baik melalui PC, WAP mobile browser dan handphone maupun PDA berbasis Java.
3.
Sistem yang dibuat dapat menekan biaya pengeluaran untuk pengadaan hardware dan software, dikarenakan sistem menggunakan software free dengan penggunaan resource hardware yang rendah.
4.
Sistem yang dibuat telah mampu dipakai untuk mengirimkan permintaan
transkrip
nilai.
Informasi
yang
dihasilkan
dapat
mencerminkan transkrip nilai yang sebenarnya dengan cara yang mudah dan cepat.
118
B.
Saran 1.
Sistem instant autoreply masih terbatas pada pengiriman hasil query database berbasis teks, penggunaan PDF (Portable Document Format) yang memiiki sertifikat autentifikasi dapat dikembangkan untuk membuat suatu sistem transkrip nilai online, sehingga lebih fleksibel dan aman.
2.
Sistem instant autoreply masih terbatas pada pengiriman teks murni tanpa adanya enkripsi, spam blocker, maupun antivirus filter, untuk penelitian selanjutnya diharapkan dapat menambahkan fungsi enkripsi, spam blocker maupun antivirus filter sehingga sistem lebih aman..
3.
Interface yang dibuat dengan WAP masih terbatas dalam lingkup pengiriman e-mail, diharapkan dalam penelitian selanjutnya dapat dibuat suatu sistem pengiriman maupun penerimaan e-mail lengkap via WAP semisal WAP webmail.