• Tidak ada hasil yang ditemukan

ANALISIS DAN IMPLEMENTASI JAVA SOCKET PADA CLIENT. Naskah Publikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS DAN IMPLEMENTASI JAVA SOCKET PADA CLIENT. Naskah Publikasi"

Copied!
15
0
0

Teks penuh

(1)

ANALISIS DAN IMPLEMENTASI JAVA SOCKET PADA

EMAIL CLIENT

Naskah Publikasi

disusun oleh

Indah Wardini

07.12.2376

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM

YOGYAKARTA

2011

(2)
(3)

ANALYSIS AND IMPLEMENTATION JAVA SOCKET IN

EMAIL CLIENT

ANALISIS DAN IMPLEMENTASI JAVA SOCKET PADA

EMAIL CLIENT

Indah Wardini

Jurusan Sistem Informasi

STMIK AMIKOM YOGYAKARTA

ABSTRACT

The development of Java can not be separated from the development of the Internet that already connects millions of computers in a single global network. This network allows computers to communicate with each other. In general, all machines connected to the Internet can be categorized into two types: servers and clients. Machines that provide services on another machine called a server. The use ofsocket programming enables communication between client and server. One simple example of using socket programming is making a program to send email. The program is a form of communication between client applications and servers.

The use of java socket on creating an email client application used to communicate between client and server. Java programming language is very flexible because it can run in different platforms because of the JVM (Java Virtual Machine). The use of existing libraries, such as libraries Java Mail API support in making applications. Internet connection for the delivery and retrieval of email from mail server.

The process of sending email using multiple protocols, including SMTP (Simple Mail Transfer Protocol) and POP3 (Post Office Protocol version 3). Data transmission (email) using SMTP (Simple Mail Transfer Protocol) and for decision-mail from the server using POP3 protocol (Post Office Protocol version 3). To use the security protocol SSL (Secure Socket Layer) libraries that already exist in the Java Mail API.

(4)

1. Pendahuluan

Email atau electronic mail merupakan layanan berupa pengiriman pesan teks

yang datanya diubah ke bentuk data elektronik dan dikirimkan melalui jaringan komputer. SMTP (Simple Mail Transfer Protocol) merupakan protokol yang digunakan untuk mengirim email, dan bekerja pada port 25. Pengiriman email dilakukan menggunakan aplikasi MTA, misalnya kerio, mdaemon, sendmail, qmail, dan sebagainya. Protokol ini merupakan protokol yang sekarang banyak dipakai oleh mail server (MTA) di internet. POP3 (Post Office Protocol Version 3) adalah protokol yang digunakan untuk mengambil surat elektronik (email) dari server email. Protokol ini sangat erat hubungannya dengan protokol SMTP (Simple Mail Transfer Protocol) dimana protokol SMTP berguna untuk mengirim surat elektronik dari komputer pengirim ke komputer server dari penerima. Kemudian penerima mengambil surat elektronik yang dikirim dari server dengan menggunakan protokol ini.

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran

data antar program atau proses baik dalam satu mesin maupun antar mesin. Komunikasi

socket terutama diciptakan untuk tujuan menjembatani komunikasi antara dua buah

program yang dijalankan pada mesin yang berbeda. Kelebihan lain dari komunikasi

socket adalah mampu menangani banyak klien sekaligus (multiple clients).

Penggunaan socket programming memungkinkan adanya komunikasi antara client dan server. Salah satu contoh sederhana penggunaan socket programming adalah pembuatan program untuk mengirim email. Program tersebut merupakan bentuk aplikasi berupa komunikasi antara client dan server. Ketika seorang user (client) melakukan koneksi ke server email, program akan membuka koneksi ke port yang diberikan, sehingga server perlu membuka socket pada port tersebut dan “mendengarkan” koneksi yang datang. Socket sendiri merupakan gabungan antara host-adress dan port adress. Dalam hal ini socket digunakan untuk komunikasi antara client dan server.

2. Landasan Teori

2.1 E-mail (Elektronik Mail)

Electronic-Mail (E-Mail) merupakan aplikasi TCP/IP yang paling banyak

digunakan. Email adalah pesan yang terdiri atas kumpulan string ASCII dalam format RFC 822 (dikembangkan tahun 1982). Sistem email yang beroperasi di atas jaringan berbasis pada model store and forward. Sistem ini mengaplikasikan sebuah sistem server email yang menerima, meneruskan, dan mengirimkan, serta menyimpan

(5)

pesan-pesan user, dimana user hanya perlu untuk mengkoneksikan komputer mereka ke dalam jaringan. Email dapat dianalogikan dengan kotak surat yang ada di kantor pos sedangkan server email dapat diibaratkan sebagai kantor pos. Dengan analogi ini sebuah mail server dapar memiliki banyak account email yang ada didalamnya. Beberapa pengamat mempertanyakanapakah teknologi Push mirip dengan e-mail dan bukanlah sesuatu yang baru. Metode Listservs telah ada untuk pendistribusian pesan e-mail secara otomatis tanpa harus user melakukan request. Pada dasarnya prinsip dari Listserv mirip dengan teknologi push, teknologi Push mengijinkan distribusi informasi dan gambar yang lebih kompleks dari apa yang dapat ditangani oleh e-mail dan dilakukan real-time dimana sistem store and forwards dari e-mail tidak di-desain untuk itu. Cara kerja email dapat dilihat pada Gambar 2.3.

Gambar 2.5 Cara kerja e-mail

E-mail yang dikirim belum tentu akan diteruskan ke komputer penerima (end

user), tapi disimpan/dikumpulkan dahulu dalam sebuah komputer server (host) yang akan

online secara terus menerus (continue) dengan media penyimpanan (storage) yang relatif lebih besar dibanding computer biasa. Hal ini bisa diibaratkan dengan sebuah kantor pos, jika sesorang mempunyai alamat (mailbox), maka dia dapat memeriksa secara berkala jika dia mendapatkan surat. Komputer yang melayani penerimaan email secara terus-menerus tersebut biasa disebut dengan mailserver atau mailhost1.

2.2 SMTP (Simple Mail Transfer Protocol)

Merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer

1

Tri Aditya Sasongko. Idris Winarno dan Kholid Fathoni. Rancang Bangun Email Client pada

Perangkat Mobil, http://digilib.its.ac.id/public/ITS-Undergraduate-14635-paperpdf.pdf, diakses tanggal 03 Agustus 2011.

(6)

pengirim surat elektronik ke server surat elektronik penerima. Protokol ini timbul karena desain sistem surat elektronik yang mengharuskan adanya server surat elektronik yang menampung sementara sampai surat elektronik diambil oleh penerima yang berhak.

2.3 POP3 (Post Office Protocol version 3)

Post Office Protocol version 3 (POP3) adalah protokol yang digunakan untuk

mengambil surat elektronik (email) dari server email protokol ini erat hubungannya dengan protokol SMTP dimana protokol SMTP berguna untuk mengirim surat elektronik dari komputer pengirim ke server. Protokol POP3 dibuat karena desain dari sistem surat elektronik yang mengharuskan adanya server surat elektronik yang menampung surat eletronik untuk sementara sampai surat elektronik tersebut diambil oleh penerima yang berhak. Kehadiran server surat elektronik ini disebabkan kenyataan hanya sebagian kecil dari komputer penerima surat elektronik yang terus menerus melakukan koneksi ke jaringan internet. Protokol ini dispesifikasikan pada RFC 1939.

2.4 Secure Socket Layer

SSL atau Secure Sockets Layer adalah sebuah protokol keamanan data yang digunakan untuk menjaga pengiriman data web server dan pengguna situs web. Untuk mengetahui apabila transaksi diamankan oleh SSL adalah sebuah icon berlambangkan gembok yang terkunci akan muncul di browser yang telah diamankan dengan SSL. Dengan meng-klik icon tersebut akan diketahui otoritas sertifikasi dari sertifikat SSL tersebut.

SSL dikembangkan oleh Netscape Communication pada tahun 1994. SSL memiliki tiga versi yaitu 1.0, 2.0, dan 3.0 yang diliris pada tahun 1996. SSL merupakan suatu standar teknologi keamanan yang menjamin bahwa seluruh data yang dilewatkan antara web server dengan web browser terjaga kerahasiaan dan keutuhannya. SSL membuat koneksi yang ter-enkripsi (tersandi) antara server atau situs dengan pengunjungnya saat pengunjung itu mengaksesnya, sehingga data rahasia atau penting bisa terkirim tanpa khawatir ada usaha perubahan ditengah jalannya. Tanpa enkripsi SSL semua data yang dikirim lewat internet sangat mungkin dilihat oleh orang lain. SSL bertindak sebagai protokol yang mengamankan komunikasi antara client dan server.

(7)

3 Analisis

Analisis sistem dapat didefinisikan sebagai berikut: penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud mengidentifikannya dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

Requirements bertujuan untuk mendeskripsikan apa yang harus dilakukan oleh

system. Terdapat dua jenis requirements yang harus dilakukan untuk menghasilkan sebuah sistetem yang berkualitas, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1 Kebutuhan Fungsional

Beberapa kebutuhan fungsional pada aplikasi email client:

1. Terdapat pengaturan konfigurasi SMTP dan POP3.

2. Aplikasi dapat mengirim dan menerima email secara langsung. 3. Email yang sudah didownload disimpan ke dalam database. 4. Aplikasi dapat menyimpan alamat (address book).

3.2 Kebutuhan Non—Fungsional

Beberapa kebutuhan non-fungsional dalam aplikasi yang dibangun adalah:

1. Koneksi internet (modem, DSL, wifi). 2. JRE (Java Runtime Environment).

4 Hasil Penelitian dan Pembahasan

4.1 Pembuatan Program

Pada tahap ini dilakukan pembuatan program aplikasi Email Client. Tahap pembuatan program pada aplikasi ini adalah sebagai berikut:

(8)

4.1.1 Pembuatan Form dan Coding Program

Form tampilan dari aplikasi email client antara lain sebagai berikut:

Gambar 4.1 Tampilan awal email client public class SendController {

private SendModel model;

public void setModel(SendModel model) { this.model = model;

}

public void resetSend(NewMessageView view){ model.resetSend();

}

public void resetSend(SendView view){ model.resetSend();

}

(9)

String to = view.getTxtTo().getText(); String cc = view.getTxtCc().getText(); String bcc = view.getTxtBcc().getText(); String subject = view.getTxtSubject().getText();

String attachment = view.getTxtAttachment().getText(); String message = view.getTxtMessage().getText();

model.setToEmail(to); model.setCc(cc); model.setBcc(bcc); model.setSubject(subject); model.setAttachment(attachment); model.setMessage(message); try{ model.insertSend();

// JOptionPane.showMessageDialog(view, "Message have been save to outbox"); }catch(Throwable throwable){

JOptionPane.showMessageDialog(view, new Object[]{

"Have error in database with message: ", throwable.getMessage() });

} }

Class yang digunakan untuk proses pengiriman yang diimplementasikan pada form send. Method insertSend mengimplementasikan class SendModel untuk proses pengiriman email.

(10)

4.1.2 Koneksi Server

Penggalan source code untuk koneksi ke server adalah sebagai berikut :

a. Koneksi ke server

public void sendEmail(Email email){

Session session = Session.getInstance(this.configuration.getProperties(), auth);

try{

Message msg = this.buildEmailMessage(session, email); Transport.send(msg);

}catch (MessagingException e){ throw new RuntimeException(e); }

}

private Message buildEmailMessage(Session session, Email email) throws MessagingException{

Message msg = new MimeMessage(session); msg.setSubject(email.getSubject());

this.addRecievers(msg, email);

Multipart multipart = new MimeMultipart(); this.addMessageBodyPart(multipart, email); this.addAttachments(multipart, email); msg.setContent(multipart);

return msg; }

Penggalan methode diatas digunakan untuk mengirimkan email ke server email, dengan methode buildEmailMessage untuk menyusun isi email (body email).

(11)

b. Authenticator

class SMTPAuthenticator extends javax.mail.Authenticator{ private String username;

private String password;

public SMTPAuthenticator(String username, String password) { this.username = username;

this.password = password; }

@Override

public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); }

}

Class diatas sebagai authentifikasi ke server email sebelum proses pengiriman email,

meliputi authentifikasi user dan email. Menggunakan method getPasswordAuthentication yang mengembalikan nilai (user dan password).

4.2 Pengujian Sistem

Uji coba program atau testing adalah sebuah proses terhadap program atau aplikasi untuk menemukan kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan sesuai dengan spesifikasi software yang telah ditentukan sebelum aplikasi tersebut digunakan. Metode testing ada dua, antara lain :

4.2.1 Black Box Testing

Pengujian yang dilakukan untuk antarmuka perangkat lunak. Pengujian ini dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja dengan baik dalam arti masukan yang diterima dengan benar dan keluaran yang dihasilkan benar-benar tepat, pengintegrasian dari eksternal data berjalan dengan baik. Salah satu bentuk Black Box testing adalah testing validasi.

(12)

Testing ini dinyatakan berhasil jika fungsi-fungsi yang ada pada perangkat lunak sesuai dengan apa yang diharapkan. Contoh testing validasai, saat proses pengiriman pesan ke alamat email tertentu berhasil akan muncul besan “Message have sent” pada dialog. Berikut contoh tampilannya.

Gambar 4.2 Contoh black box testing

Tabel 4.1 Tabel hasil pengujian Black Box Testing

No Fitur Status

1 Pengiriman pesan (new Message) Berhasil mengirimkan pesan kepada alamat yang dituju

2 Download pesan (inbox) Berhasil

3 Reply Berhasil

4 Address Book Berhasil menyimpan

menghapus, update alamat.

5 Smtp configuration Berhasil, field bias diakses

sebagi properties dalam proses pengiriman email

6 Pop Configuration Berhasil, field bias diakses

sebagi properties dalam proses download email

(13)

4.2.2 White box testing

Pengujian yang dilakukan lebih dekat lagi untuk menguji prosedur-prosedur yang ada. Lintasan logik yang dilalui oleh setiap bagian prosedur diuji dengan memberikan kondisi yang spesifik. Salah satu contoh white box testing ialah disaat user memasukkan alamat email pada address book dan salah dalam penulisan (tidak lengkap) maka tidak bisa memasukkan alamat. Alamat ini digunakan pada saat user akan mengirimkan email pada alamat yang sudah ada pada address book.

(14)

5 Kesimpulan

Dari uraian penjelasan pembahasan keseluruhan materi pada bab-bab sebelumnya, email client mempermudah dalam proses pengiriman maupun penerimaan pesan. Secara lebih rinci dapat diambil kesimpulan sebagai berikut:

1. Java socket digunakan dalam komunikasi antara client dan server, dalam hal ini

menggunakan SSL yang telah disediakan oleh library JavaMail API. 2. Mengetahui proses pengiriman surat elektronik (email) dari user ke server. 3. Proses pengambilan (download) pesan dari server mail ke database bisa

diketahui dan dimengerti.

4. Penyimpanan pesan ke dalam database bisa ditangani.

5. Dengan adanya prototype email client ini diharapkan bisa dimanfaatkan untuk perancangan aplikasi email yang lebih sempurna dan sebagai pondasi dalam perancangan aplikasi yang menerapkan java socket.

(15)

DAFTAR PUSTAKA

Java SE tips. 2005. How to create an e-mail client in Java. http://www.java-tips.org/java-se-tips/javax.swing/how-to-create-an-e-mail-client-in-java.html, diakses tanggal 1 Januari 2011.

Kusnadi. 2011. Pemrograman Socket, http://www.scribd.com/doc/48135346/tutorial1, diakses tanggal 18 Januari 2011.

Nugroho, Adi. 2009. Rekayasa Perangkat Lunak Menggunakan UML dan Java. Yogyakarta : Andi.

Oracle. 2011. About the Java Technology.

http://download.oracle.com/javase/tutorial/getStarted/intro/definition.html, diakses tanggal 1 Januari 2011.

Oracle. 2011. Java Mail. http://www.oracle.com/technetwork/java/javamail/index-138643.html, diakses tanggal 21 Januari 2011.

Sasongko, Tri Aditya. Idris Winarno dan Kholid Fathoni. Rancang Bangun Email Client

pada Perangkat Mobil, http://digilib.its.ac.id/public/ITS-Undergraduate-14635-paperpdf.pdf, diakses tanggal 03 Agustus 2011.

Soetanto, Agus. Aplication Of Simulation Algorithm Prim And Kruskal Implementation In

Search Route Around Campus At Gunadarma

University.http://papers.gunadarma.ac.id/index.php/industry/article/viewFile/1066 6/10211, diakses tanggal 03 April 2011.

Gambar

Gambar 2.5 Cara kerja e-mail
Gambar 4.1 Tampilan awal email client
Gambar 4.2 Contoh black box testing
Gambar 4.3 Contoh white box testing

Referensi

Dokumen terkait

Limbah sumber serat dari tebu (pucuk, bagas dan pith ) dapat digunakan sebagai komponen pakan ternak bila disertai beberapa perlakuan untuk menaikkan kecernaan dan konsumsi

Pertamina Persero MOR V untuk memenuhi kebutuhan sistem yang terintegrasi sehingga dapat dijadikan dasar untuk pengambilan sebuah keputusan, yang selanjutnya dikembangkan lebih

Hasil uji coba yang telah dilakukan dengan pihak PT Pelindo Marine Service, Rancang Bangun Aplikasi Pengelolaan Produk Hukum Berbasis Android ini berhasil dengan baik dan

Berdasarkan hasil tersebut dapat disimpulkan bahwa sharia compliance yang diproksikan oleh variabel Islamic Investment Ratio tidak berpengaruh terhadap fraud pada

Alhamdulillahi Rabbil 'Alamin, dengan menyebut nama Allah Yang Maha Pengasih dan Maha Penyayang segala puji dan syukur kami panjatkan kehadirat Allah SWT yang

Dalam penelitian ini, peneliti menggunakan metode kualitatif jenis deskriptif kualitatif .Adapun lokasi penelitiannya di Sirrul Qur’an, Perak yang mengkaji tentang

Adakah pengaruh yang signifikan antara keterampilan proses dan kemampuan kemampuan berpikir kritis siswa kelas XI IPA 2 terhadap hasil belajar yang menerapkan

Berdasarkan hal tersebut, penulis akan melakukan pengujian karakteristik cooling pads berbahan sumbu kompor dengan variasi ducting berbentuk balok dan silinder pada transmisi