• Tidak ada hasil yang ditemukan

Membangun Aplikasi Push Mail Pada Yahoo Messenger Berbasis Java

N/A
N/A
Protected

Academic year: 2017

Membagikan "Membangun Aplikasi Push Mail Pada Yahoo Messenger Berbasis Java"

Copied!
115
0
0

Teks penuh

(1)

i

ABSTRAK

MEMBANGUN APLIKASI PUSH MAIL PADA

YAHOO MESSENGER BERBASIS JAVA

Oleh:

Lana Wijaya

1010107289

PushMail adalah layanan yang memungkinkan pengguna menerima email

secara berkala tanpa menariknya dari mail server terlebih dahulu, namun saat ini belum ada layanan pushmail yang menyediakan layanan secara realtime. Disamping itu jumlah pengguna email di dunia 49% dari 3,146 miliar merupakan pengguna dari Asia Tenggara termasuk Indonesia dan 90% dari total pengguna Yahoo di Asia Tenggara berasal dari Indonesia. Oleh karena itu aplikasi push mail pada yahoo messenger berbasis java dibangun.

Teknologi yang diterapkan dalam pembangunan aplikasi ini adalah Yahoo Messenger SDK, Yahoo Messenger OAuth dan YM API. Yahoo messenger SDK

merupakan teknologi yang digunakan mengatur format request dan response agar dapat mengakses server YM. Kemudian Yahoo Messenger OAuth digunakan untuk mendapatkan akses token yang digunakan dalam setiap pemanggilan YM API. Sedangkan Yahoo messenger API digunakan untuk mengakses layanan yang disediakan oleh YM seperti login, mengirim pesan, menerima kontak dan lain lain. Dengan menggabungkan ketiga teknologi tersebut, maka layanan pushmail

dapat diakses pada Yahoo Messenger (YM) secara realtime dengan menggunakan

library JavaMail dan YM SDK. Dengan demikian, pengguna dapat menerima dan mengirim pesan email dari beberapa account email dengan lebih mudah melalui pesan YM.

(2)

1 BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Email (surat elektronik) merupakan sarana kirim mengirim surat melalui jalur jaringan komputer (Internet). Email berkorespondensi melalui jaringan internet, tanpa batas ruang dan waktu. Alamat email dengan mudah bisa dibuat dan cuma cuma melalui berbagai situs. Email bukanlah media yang asing dewasa ini, hal tersebut dapat dilihat dari banyaknya pengguna email, data terakhir pada 18 Mei 2011 total keseluruhan pengguna email di dunia adalah 3,146 Miliar dan 49 % merupakan pengguna dari Asia Tenggara termasuk Indonesia [1]. Yahoo messenger merupakan suatu aplikasi pengirim pesan instan paling popular di Indonesia yang di sediakan oleh Yahoo! secara gratis. Dari total 273 juta orang di dunia yang menggunakan yahoo messenger, 90 % pengguna yahoo messenger di Asia Tenggara berasal dari Indonesia [2].

Dengan banyaknya pengguna email di Indonesia dan banyaknya webmail yang menyediakan layanan email gratis, para pengguna email di Indonesia terdaftar di banyak webmail seperti: yahoo! mail, gmail, hotmail dan masih banyak lagi webmail yang menyediakan layanan email gratis. Akan tetapi dengan banyaknya webmail, tidak diikuti dengan layanan push mail seperti outlook express yang hanya menyediakan untuk satu email saja. Layanan push mail digunakan agar email yang masuk dan keluar dapat diakses secara realtime, tanpa harus membuka alamat webmail penyedia email, sehingga pengguna email dapat mengirim dan menerima email secara cepat dan efisien.

Oleh karena itu dibutuhkan sebuah aplikasi untuk dapat memenuhi banyak email dari banyak webmail serta dapat di push melalui yahoo messenger secara

realtime dan dapat diakses dimana saja dan kapan saja. Dengan menggunakan yahoo messenger sebagai perantara dari aplikasi ini, email dapat di push secara

(3)

Dari latar belakang masalah diatas dibuatlah skripsi dengan judul: membangun aplikasi push mail pada yahoo messenger berbasis java. Dengan solusi ini maka email yang masuk dapat buka langsung oleh yahoo messenger serta dapat menerima dan mengirim pesan ke banyak email yang bisa diakses melalui komputer, laptop, maupun perangkat mobile secara realtime.

1.2 Perumusan Masalah

Berdasarkan latar belakang masalah, maka perumusan masalahnya adalah bagaimana membangun aplikasi push mail pada yahoo messenger berbasis java. 1.3 Maksud dan Tujuan

Maksud dari penulisan tugas akhir ini adalah membangun aplikasi push mail pada yahoo messenger berbasis java.

Sedangkan tujuan yang ingin dicapai adalah:

1. Untuk mempercepat mengetahui email yang masuk dengan membacanya secara realtime pada yahoo messenger.

2. Untuk mengetahui apakah yahoo messenger bisa digunakan sebagai aplikasi push mail sebagai penerima dan pengirim email dari banyak account email. 3. Memudahkan pengguna dalam mengakses email yang masuk dari banyak

account email. 1.4 Batasan Masalah

Batasan masalah yang diterapkan adalah:

1. Aplikasi hanya dibuat untuk push mail melalui yahoo messenger.

2. Aplikasi bisa dijalankan di komputer, laptop serta perangkat mobile dengan syarat pada perangkat tersebut sudah terpasang aplikasi yahoo messenger. 3. Aplikasi ini membutuhkan satu komputer atau laptop online yang berfungsi

sebagai server untuk menjalankan aplikasi ini.

4. Aplikasi berjalan sendiri, yahoo messenger hanya sebagai pemanggil aplikasi agar yahoo messenger berfungsi sebagai push mail.

5. Pendekatan metode analisis pembangunan aplikasi menggunakan metode terstruktur.

(4)

3

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut:

1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:

a. Studi Literatur.

Studi literatur dilakukan dengan cara mencari referensi yang berkaitan dengan permasalahan mulai dari mencari buku-buku, jurnal maupun artikel-artikel yang terdapat di internet.

b. Observasi.

Observasi dilakukan dengan cara mengamati dan mengadakan peninjauan langsung terhadap aplikasi yang ada kaitannya dengan aplikasi yang akan dibangun.

2. Metode Pembangunan Perangkat Lunak

Model yang digunakan dalam metode pembangunan perangkat lunak adalah model waterfall [3]. Tahapan dari model waterfall adalah sebagai berikut:

a. Requirements definition

Tahap requirements definition akan melakukan analisis terhadap proses perancangan dari teori yang ada dalam pelaksanaan pembangunan perangkat lunak.

b. System and software design

(5)

c. Implementation and unit testing

Tahap Implementation and unit testing adalah tahap menterjemahkan perancangan ke dalam bentuk bahasa pemrograman yang telah ditentukan.

d. Integration and system testing

Tahap Integration and system testing adalah tahap untuk memastikan bahwa semua pernyataan sudah diuji yang selanjutnya akan mengarahkan penguji untuk menemukan kesalahan yang mungkin terjadi dan juga memastikan bahwa hasil yang diharapkan sudah tercapai.

e. Operation and maintenance

Tahap operation and maintenance adalah tahap pemeliharaan melakukan penyesuaian apabila ada faktor yang mengalami perubahan terhadap aplikasi push mail. Perubahan tersebut bisa berupa aplikasi yahoo messenger yang tidak dapat melakukan akses terhadap aplikasi yang dibuat atau sistem email yang baru sehingga aplikasi tidak dapat berjalan dengan baik.

Tahap pemeliharaan tidak dapat dilakukan karena tahap pembangunan aplikasi push mail mengunakan yahoo messenger hanya akan sampai pada tahap integration and system testing.

Untuk lebih jelasnya dapat dilihat pada berikut:

Requirements definition

System and software design

Implementation and unit testing

Integration and system testing

Operation and maintenance

(6)

5

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini dibagi dalam beberapa bab dengan pokok pembahasan secara umum sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan dari pembuatan skripsi ini.

BAB II LANDASAN TEORI

Bab ini menjelaskan mengenai konsep dasar dan teori-teori pendukung dalam membangun perangkat lunak yang terdiri dari pengenalan perangkat lunak, pengenalan internet, pengenalan email, pengenalan yahoo messenger, tools

analisis yang digunakan serta tools aplikasi yang digunakan dalam pembangunan perangkat lunak.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis sistem untuk mengetahui kebutuhan dalam membangun perangkat lunak, menganalisis proses push mail menggunakan yahoo messenger sesuai dengan metode pemodelan perangkat lunak terstruktur. Selain itu terdapat juga perancangan perangkat lunak yang akan dibangun sesuai hasil analisis serta menterjemahkannya ke dalam bahasa pemrograman yang sudah ditentukan.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menjelaskan implementasi dari perangkat lunak yang telah dibangun dan sejauh mana efektifitas dan manfaat yang telah dicapai. Selain itu dalam bab ini dijelaskan bagaimana cara penerapan atau pengoperasian aplikasi yang sudah dibangun serta pengujian sistem untuk mengetahui sejauh mana aplikasi dapat berjalan dan untuk mengetahui kesalahan yang terjadi dalam perangkat lunak tersebut.

BAB V KESIMPULAN DAN SARAN

(7)

6 BAB 2

LANDASAN TEORI

Landasan teori merupakan teori-teori yang relevan dan dapat digunakan utnuk menjelaskjan variable-variabel penelitian. Landasan teori ini juga berfungsi sebagai sasar intuk member jawaban sementara terhadap rumusan yang diajukan serta membantu dalam menyusun instrument penelitian.

2.1 Pengenalan Perangkat Lunak (software)

Perangkat lunak merupakan sekumpulan instruksi dalam bahasa pemrograman yang disusun pemrogram untuk dikerjakan oleh komputer. Istilah perangkat lunak pertama kali dipopulerkan oleh Mr. Bauer pada konferensi NATO tahun 1968 [4].

2.1.1 Perangkat Lunak Aplikasi

Perangkat lunak aplikasi merupakan perangkat lunak yang digunakan untuk menyediakan layanan kepada pelanggan (user) dan menjalankan bisnis agar lebih efisien. Contohnya seperti sistem akuntansi, sistem manajemen informasi dan sistem perencanaan sumber daya perusahaan.

Beberapa perangkat lunak aplikasi yang digabung bersama menjadi suatu paket kadang disebut suatu paket aplikasi (application suite), contohnya mocrosoft office dan openoffice.org yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya.

Adapun contoh dari perangkat lunak adalah sebagai berikut: 1. Peraangkat lunak perusahaan (enterprise)

2. Perangkat lunak infrastruktur perusahaan 3. Perangkat lunak informasi kerja

4. Perangkat lunak media dan hiburan 5. Perangkat lunak pendidikan

(8)

7

2.1.2 Perangkat Lunak Sistem

Perangkat lunak sistem merupakan perangkat lunak yang digunakan untuk mengoperasikan dan mempertahankan sistem komputer. Hal ini memungkinkan pelanggan (user) untuk menggunakan sumber daya komputer secara langsung dan melalui perangkat lunak lain. Contohnya seperti sistem operasi, compiler dan sistem utilitas.

2.1.3 Dasar Dasar Pembuatan Perangkat Lunak

Adapun dasar dasar dalam pembuatan perankat lunak adalah sebagai berikut:

1. Memahami masalah yang akan diangkat dalam pembuatan perangkat lunak 2. Berkomunikasi dengan baik dengan pelanggan (user)

3. Memilih metode perancangan yang tepat

4. Mempelajari masalah sebelum diterjemahkan ke dalam bahasa pemrograman 5. Melakukan strategi dan taktik yang baik dalam pengujian

2.1.4 Teknik Pembuatan Perangkat Lunak

Teknik dalam pembuatan perangkat lunak adalah sebagai berikut:

1. Menciptakan perangkat lunak berdasarkan solusi terbaik, hemat biaya, efektif dan praktis dalam penyelesaian masalah untuk pelayanan umat manusia. 2. Mengetahui prinsip – prinsip dasar ilmu computer dan matematika untuk

mencapai efektifitas biaya dan solusi terbaik dalam pembuatan perangkat lunak.

2.1.5 Tahapan Pembangunan Perangkat Lunak

1. Analisis

Tahapan analisis adalah tahap yang menjelaskan persyaratan kebutuhan perangkat lunak yang akan dibangun. Secara umum tahapan analisis adalah sebagai berikut :

a. Konsep dasar b. Persyaratan teknis

(9)

2. Design

Tahapan design adalah sebuah representasi perangkat lunak yang dibuat untuk memfasilitasi analisis, perencanaan, pelaksanaan dan pengambilan keputusan.

3. Coding / Pengembangan

Tahapan coding merupakan ekspresi design yang diterjemahkan ke dalam suatu bahasa pemrograman tertentu berdasarkan spesifikasi program. Tahapn coding disebut juga pekerjaan utama dari sebuah pembangunan perangkat lunak.

4. Pengujian (testing)

Tahapan pengujian adalah tahap dimana perangkat lunak yang dibangun diperiksa apakah perangkat lunak memenuhi persyaratan atau tidak. Tujuan dari tahap pengujian adalah untuk mengetahui sebanyak mungkin masalah yang mungkin terdapat dalam perangkat lunak tersebut.

5. Implementasi

Tahapan implementasi dilakukan di hadapan pengguna (user), perangkat lunak yang dibangun akan diterima oleh pengguna (user) apabila dalam tahap imlementasi tidak ada cacat pada fungsional utama, kinerja criteria dan toleransi tidak lebih dan tidak kurang dari 2% dan tidak ada masalah dalam penggunaan.

6. Pemeliharaan (maintenance)

(10)

9

2.2 Pengenalan Internet

Internet adalah sejumlah komputer di dunia yang terhubung dalam suatu jaringan yang menerapkan konsep client-server (client = komputer yang dilayani;

server = komputer yang melayani client).

Internet pada awalnya adalah sebuah jaringan komputer rancangan militer Amerika Serikat (AS) untuk memantapkan kinerja sistem komunikasinya dalam menghadapi kekuatan musuh. Hal ini berlangsung ketika terjadi perang dingin dengan Uni Soviet. Pertimbangannya adalah jika salah satu pusat sistem komunikasi berhasil dihancurkan, maka pihak militer ingin memastikan bahwa lokasi-lokasi yang masih mampu dipertahankan diri harus dapat selalu saling berkomunikasi.

Karena jaringan yang asli adalah rancangan Advanced Research Projects Agency (ARPA) dari militer AS maka internet disebut juga ARPAnet. Namun pada generasi selanjutnya internet lebih dikembangkan ke arah pendidikan, penelitian, komersial dan bidang-bidang lain yang diprakarsai oleh National Research and Education Network (NREN) di tahun 1991.

Kemudian pada tahun-tahun sesudahnya internet menjadi sangat populer dan meluas yang dapat meliputi seluruh aspek kehidupan dengan begitu banyak macam manfaat dan akses yang tak terbatas. Pada tahapan ini ruang, jarak dan waktu tidak dapat membatasi lagi untuk akses informasi global.

2.2.1 Manfaat Internet

Banyak manfaat yang diberikan dengan adanya jaringan internet, antara lain:

1. Gudang Informasi

(11)

Search engine adalah suatu web khusus yang menyediakan pelayanan untuk mengorganisasi, menyusun index berdasarkan kategori, dari beberapa website yang telah mendaftarkan sitenya, serta meberikan rate berdasarkan dari seringnya site tersebut dikunjungi. Hal tersebut akan sangat membantu untuk menemukan halaman web yang dibutuhkan, cukup hanya dengan mengetikkan kata kunci pada form yang telah disediakan.

2. Belanja Online

Membeli sesuatu secara instan, hal ini dimungkinkan dengan adanya internet karena sekarang telah banyak halaman web yang menyediakan toko online di internet. Tinggal memilih produk yang akan dibeli kemudian dibayar dengan kartu kredit atau dengan transfer via atm atau internet banking, barang segera dikirm dan esoknya barang langsung sampai tepat di depan pintu rumah.

3. Pendidikan

Dengan internet sekarang dapat membantu mengembangkan ilmu pengetahuan dan pendidikan dengan hanya mengunjungi alamat website yang mengkhususkan memberikan informasi tentang pendidikan, seperti: www.apasich.com. Website ini mencakup seluruh informasi, data serta statistik yang sangat dibutuhkan dalam perkembangan dunia pendidikan dan ilmu pengetahuan di Indonesia.

2.3 Pengenalan E-Mail

Email atau electronic mail (surat elektronik) merupakan metode penyimpanan dan pengiriman yang melibatkan aktivitas seperti mengirim, menerima dan menyimpan surat melalui system komunikasi elektronik pada internet.

(12)

11

Dengan email data dikrim secara elektronik sehingga sampai di tujuan dengan sangat cepat. Email juga dapat mengirim file file berupa program, gambar, grafik, dan lain lain. email juga dapat mengirim ke lebih dari satu alamt email pada saat yang bersamaan.

Sebuah alamt surat (mail address) adalah gabungan dari nama dan alamat. Dalam internet mail hal ini didefinisikan dengan nama user dan alamat host. Biasanya bentuk dasar dari mail address adalah: nama@hostaddress dimana nama adalah nama user dan hostaddress adalah server tempat mail disimpan. 2.3.1 Struktur Pesan Email

Pesan email terdiri dari sekumpulan karakter ASCII yang terdiri dari beberapa baris. Setiap baris dipisahkan oleh dua karakter berturut-turut, yaitu karakter carriage return (CR) dan karakter line feed (LF). Karakter CR merupakan karakter berkode ASCII 13, sedangkan karakter LF berkode ASCII 10.

Pesan email terdiri dari bagian header dan bagian body yang dipisahkan oleh satu baris kosong. Bagian header merupakan kumpulan dari baris yang menyatakan informasi dari pesan. Sedangkan, body adalah bagian yang berupa isi dari pesan. Contoh struktur pesan email dapat dilihat di bawah ini:

From: <alamat email pengirim> To: <alamat email tujuan> Subject: Saying Hello

Date: Fri, 21 Nov 1997 09:55:06 -0600 This is a message

just to say hello.

Untuk mengirimkan pesan email selain teks ASCII, dibutuhkan pemakaian header MIME (Multi Purpose Mail Extensions) pada email yang dikirimkan. Header utama dari MIME adalah sebagai berikut:

1. Content-Type: header yang berisi informasi mengenai tipe data atau file yang dikirimkan.

2. Content-Transfer-Encoding: header yang berisi informasi mengenai metode encoding yang digunakan pada pengiriman data atau file.

(13)

Pesan email dikirimkan berdasarkan informasi alamat email tujuan. Alamat email berbentuk string ASCII dan terbagi atas dua bagian yang dipisahkan

oleh karakter ‟@‟. Bagian pertama adalah locally interpreted yang merupakan penanda dari mailbox tujuan. Sedangkan, bagian kedua adalah internet domain yang merupakan alamat dari mail server.

2.3.2 Sistem Kerja Email

Pertama-tama user agent pengirim mengirimkan pesan kepada mail server milik pengirim. Mail server pengirim kemudian memeriksa tujuan email tersebut dan meneruskannya kepada mail server penerima. Email tersebut disimpan oleh mail server penerima hingga pengguna mengambil sendiri pesan tersebut dengan menggunakan user agent-nya. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini:

Gambar 0.1 Sistem Kerja Email

2.3.3 Protokol E-Mail

Protokol email dibagi menjadi 3:

1. Simple Mail Transfer Protocol (SMTP)

SMTP merupakan sebuah protokol email yang hanya mengijinkan penggunanya untuk tujuan mengirim email saja. Port untuk SMTP adalah port 25.

2. Post Office Protocol (POP/POP3)

(14)

13

3. Internet Message Access Protocol (IMAP)

IMAP dan POP/POP3 memiliki kesamaan yaitu keduanya merupakan protokol untuk mentransfer seluruh pesan email dari server, namun protokol IMAP hanya mentransfer seluruh email ke PC pengguna tanpa menghapus email yang berada di server kecuali pengguna itu sendiri yang menghapus email tersebut. Port yang digunakan untuk IMAP adalah port 143.

2.4 Pengenalan Push Mail

Push e-mail digunakan untuk menggambarkan system surat elektronik yang menyediakan kemampuan selalu siaga, dimana setiap surat baru dengan segera dipindahkan secara aktif (didorong atau pushed) oleh agen pengantar surat / MDA (Mail Delivery Agent) ke agen pengguna surat / MUA (Mail User Agent), disebut juga sebagai pelanggan surat. Surat pelanggan di antaranya termasuk telepon pintar (smart phones) dan merupakan Aplikasi IMAP (Internet Message Access Protocol) pada computer personal.

2.5 Pengenalan Yahoo Messenger

Yahoo messenger (YM) merupakan program pengirim pesan instan popular yang disediakan oleh Yahoo!. Yahoo messenger tersedia secara gratis dan dapat diunduh serta diakses menggunakan Yahoo! ID yang biasa digunakan untuk layanan akses Yahoo! yang lainnya, seperti Yahoo! Mail. Penggunaan ID ini juga mengakibatkan pengguna dapat langsung diberitahu bila mendapat sebuah email.

Yahoo! telah mengumumkan kerjasama dengan Microsoft untuk bergabung dalam jaringan instant messenger. Hal ini mengakibatkan Yahoo! Messenger dapat berhubungan dengan layanan NET Messenger milik Microsoft. Layanan ini mulai berfungsi sejak 13 Juli 2006).

2.5.1 Yahoo Messenger SDK

(15)

YM SDK diakses dengan langkah-langkah sebagai berikut :

1. Mengakses situs http://developer.yahoo.com untuk mendapatkan Open Authentication (OAuth) key yang akan digunakan oleh aplikasi untuk mengakses server YM. Oauth key terdiri dari dua data utama : Oauth consumer key dan consumer secret key.

2. Melakukan authentication kepada server YM dengan menggunakan protokol

Direct OAuth. Bagian ini dilakukan oleh aplikasi YM client yang dibangun. 3. Aplikasi mengakses YM API untuk menggunakan layanan yang disediakan

oleh YM SDK seperti : login, mengirim pesan, logout, dll. 2.5.2 Yahoo Messenger Direct OAuth

YM SDK menggunakan protokol OAuth (Open Authentication) untuk

authentication sebelum dapat mengakses YM API. OAuth merupakan open protocol yang didefinisikan pada RFC 5849 untuk authorization secure API yang dapat diakses dari aplikasi desktop ataupun web.

Mekanisme authentication OAuth dilakukan untuk mendapatkan access token yang digunakan pada setiap pemanggilan YM API. Langkah-langkah dalam Direct Oauth dilakukan dalam dua proses. Proses pertama dilakukan untuk mendapatkan pre-approved request token.

Sedangkan proses kedua untuk mendapatkan access token dan access session handle. Access token mempunyai durasi masa berlaku yang biasanya bernilai 3600 detik. Sebelum masa berlaku berakhir, access token wajib diperbaharui dengan mengirimkan pesan refresh access token[6].

2.5.3 Yahoo Messenger API

YM API (YM Application Programming Interface) merupakan kumpulan format pesan HTTP yang digunakan untuk mengakses layanan yang disediakan oleh YM. Layanan tersebut antara lain : login, menerima daftar kontak, mengirim pesan, menerima pesan, logout, dll [7].

(16)

15

Setiap request API dalam YM SDK membutuhkan parameter bernama

Authorization” yang ditempatkan pada header HTTP.

Terdapat banyak layanan yang disediakan oleh YM API untuk membangun YM client. Tapi beberapa yang paling sering digunakan adalah

session management, message management, buddy list authorization

management, dan notification management.

Setiap request API dalam YM SDK membutuhkan parameter bernama

“Authorization” yang ditempatkan pada header HTTP. Berikut adalah formatnya: Authorization: OAuth

realm="yahooapis.com",

oauth_consumer_key=”<api_key>”, oauth_nonce=”<random_value>”,

oauth_signature_method="PLAINTEXT",

oauth_timestamp=”<unix_timestamp>”, oauth_token=”<access_token>”,

oauth_version=”1.0”,

oauth_signature=”<shared_secret>&<oauth_token_secret>”

2.5.3.1Session Management API

API ini berfungsi untuk melakukan login, logout, dan refresh session pada Yahoo Messenger. Untuk melakukan login pesan dikirimkan pada URL

“http://developer.messenger.yahooapis.com/v1/session”.

Sedangkan untuk logout dan refresh session pesan dikirimkan pada URL

“http://<server>/v1/session”, dimana “<server>” merupakan nilai dari parameter

server yang didapatkan pada response ketika melakukan login. 2.5.3.2Message Management API

API ini digunakan untuk mengirimkan pesan kepada kontak lain pada YM.

Request pada API ini dikirimkan pada alamat URL

“http://<server>/v1/message/yahoo/<target>”. Dimana “<target>” merupakan id Yahoo tujuan pesan. Sedangkan “<server>” adalah nilai yang didapatkan ketika

response login.

2.5.3.3Buddylist Authorization Management API

API ini berfungsi untuk mengontrol id Yahoo yang akan ditambahkan pada

daftar kontak pengguna. Pesan Buddylist Authorization Management dikirimkan pada

alamat URL “http://<server>/v1/buddyrequest/yahoo/<adder>”. Dimana “<adder>”

(17)

2.5.3.4Notification Management API

API ini berfungsi untuk mengambil data notifikasi yang ditujukan untuk pengguna. Notifikasi yang dimaksud antara lain : pesan, update kontak, request kontak, email alerts, file transfer invite, dll. Pesan dari Notification Management

API dikirimkan pada alamat “http://<notifyServer>/v1/pushChannel/<loginID>”. Dimana “<notifyServer>” adalah nilai yang didapatkan dari response login. Sedangkan “<loginID>” adalah id Yahoo yang digunakan ketika login.

Notification Management API menggunakan sistem Comet-Style Push. Comet-Style Push bekerja dengan cara mengirimkan request HTTP GET yang long-lived kepada server notifikasi Yahoo. Hal ini membuat koneksi persistent virtual antara client dan server. Beberapa pedoman dalam menggunakan sistem Comet-Style Push Yahoo adalah sebagai berikut:

1. Setiap session mempunyai maksimal satu koneksi long-lived HTTP GET terhadap server notifikasi Yahoo.

2. Koneksi terputus jika server telah membalas notifikasi atau terjadi timeout pada sisi client.

3. Setelah koneksi terputus, client diharapkan untuk membuat koneksi long-lived HTTP GET yang lain.

4. Waktu timeout pada koneksi long-lived HTTP GET maksimal 2 menit.

5. Client disarankan untuk memasukkan nilai random pada URL untuk menghidari cache.

6. Setiap request harus menyertakan cookie bernama “IM” pada header HTTP.

Nilai dari “IM” didapatkan pada response header HTTP ketika melakukan

login atau update session. 2.6 Tools Analisis

Pada tingkat teknik, rekayasa perangkat lunak dimulai dengan serangkaian tugas pemodelan yang membawanya kepada suatu spesifikasi lengkap dari persyaratan representasi desain yang komprehensif bagi perangkat lunak yang akan dibangun. Model analisis, yang sebenarnya merupakan serangkaian model representasi teknis dari sistem. Saat ini ada dua yang mendominasi landscape

(18)

17

2.6.1 Pengenalan Metode Terstruktur

Pendekatan Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Pendekatan terstruktur merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah. Pendekatan terstruktur dalam pengembangan sistem informasi adalah proses yang berorientasi kepada teknik yang digunakan untuk merancang dan menulis program secara jelas dan konsisten.

Prinsip dari pendekatan terstruktur adalah jika suatu proses telah sampai pada suatu langkah tertentu, maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya. Ciri-ciri pendekatan terstruktur, yaitu:

1. Merancang berdasar modul. Modularisasi adalah proses yang membagi suatu system menjadi beberapa modul yang dapat beroperasi secara independen. 2. Bekerja dengan pendekatan top-down. Dimulai dari level atas (secara global)

kemudian diuraikan sampai ke tingkat modul (rinci). 3. Dilakukan secara iterasi.

4. Kegiatan dilakukan secara paralel. 2.6.1.1DFD (Data Flow Diagram)

DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau dimana data tersebut akan disimpan.

(19)

1. Kejelasan dari menjalankan implementasi teknis sistem.

2. Pemahaman lebih jauh mengenai keterkaitan satu sama lain dalam sistem dan subsistem.

3. Mengkomunikasikan pengetahuan sistem yang ada dengan pengguna melalui diagram alir data.

4. Menganalisis sistem yang diajukan untuk menentukan apakah data-data dan proses yang diperlukan sudah ditetapkan.

DFD terdiri dari context diagram dan diagram rinci (DFD leveled), context diagram berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar, masukan dan keluaran sistem), yang direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. DFD leveled

menggambarkan sistem jaringan kerja antara fungsi yang berhubungan satu sama lain dengan aliran data penyimpanan data, model ini hanya memodelkan system dari sudut pandang fungsi.

Beberapa simbol yang akan digunakan di dalam DFD antara lain adalah sebagai berikut :

1. Kesatuan luar ( External Entity )

Setiap sistem pasti mempunyai batas sistem yang memisahkan suatu system dengan lingkungan luarnya. Sistem akan menerima input dan menghasilkan output kepada lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan dilingkungan luar sistem dapat berupa orang, organisasi atau system lainnya yang berada dilingkungan luarnya yang akan memberikan input

atau menerima output dari sistem.

Kesatuan luar ini kebanyakan adalah salah satu dari berikut ini :

a. Suatu kantor, departemen atau divisi dalam perusahaan tetapi di luar sistem yang sedang dikembangkan.

b. Orang atau sekelompok orang di organisasi tetapi di luar sistem yang sedang dikembangkan.

c. Suatu organisasi atau orang di luar organisasi.

d. Sistem informasi yang lain di luar sistem yang sedang dikembangkan. e. Sumber asli dari suatu transaksi.

(20)

19

2. Aliran Data ( Data Flow )

Aliran data di DFD diberi simbol suatu panah. Aliran data ini mengalir diantara proses (process), simpan data (data store) dan kesatuan luar (external entity). Aliran data ini menunjukkan aliran dari data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem.

3. Proses

Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses yang digambarkan secara umum. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut – sudutnya tumpul.

4. Berkas atau Simpanan Data ( Data Store )

Berkas atau simpanan data merupakan simpanan dari data yang dapat berupa :

a. Suatu file atau database di sistem komputer. b. Suatu arsip atau catatan manual.

c. Suatu kotak tempat data di meja seseorang. d. Suatu tabel acuan manual.

2.6.1.2ERD (Entity Relationship Diagram)

ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relative kompleks. Dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. ERD menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data, pada dasarnya ada 3 macam simbol yang digunakan yaitu :

1. Entity

(21)

2. Atribut

Entiti mempunyai elemen yang disebut atribut, dan berfungsi mendeskripsikan karakter entiti.

3. Hubungan

Relationship sebagaimana halnya entiti maka dalam hubungan pun harus dibedakan antara hubungan atau bentuk hubungan antar entiti dengan isis dari hubungan itu sendiri. Relasi antara dua file atau dua tabel dapat dikategorikan menjadi tiga macam, yaitu :

a. One to One Relationship

Yang berarti entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas B, dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak dengan satu entitas pada himpunan entitas A.

b. One to Many Relationship

Yang berarti entitas pada himpunan entitas A berhubungan dengan banyak entitas pada satu himpunan entitas B, tetapi tidak sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak dengan satu entitas pada himpunan entitas A.

c. Many to Many Relationship

Yang berarti entitas pada himpunan entitas A berhubungan dengan banyak entitas pada satu himpunan entitas B dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan banyak entitas pada himpunan entitas A.

2.7 Tool Aplikasi

Tool aplikasi merupakan alat atau cara yang digunakan untuk pembangunan perangkat lunak, meliputi bahsa pemrograman yang digunakan dan compiler untuk menjalankan, penyusunan coding serta interface perangkat lunak. 2.7.1 Pengenalan Java

(22)

21

bahasa yang akan digunakan pada chip-chip embedded untuk device intelligent cunsomer electronic. Bahasa tersebut haruslah bersifat multiplatform, artinya tidak tergantung pada vendor yang memanufaktur chip tersebut.

Dalam penelitiannya, Projek Green berhasil membuat prototype semacam PDA (Personal Data Assistance) yang dapat berkomunikasi antara satu dengan yang lain dan diberi nama Star 7. Ide berawal untuk membuat sistem operasi bagi

Star 7 berbasis C dan C++. Setelah berjalan beberapa lama, James Gosling, salah seorang anggota tim merasa kurang puas dengan beberapa karakteristik dan kedua bahasa tersebut dan berusaha mengembangkan bahasa lain. bahasa tersebut kemudian dinamakan Oak, diinspirasi ketika dia meliahat pohon di seberang kaca ruang kantornya. Belakangan Oak beralih nama menjadi Java.

Karena pada awalnya ditujukan untuk pemrograman device kecil, java

memiliki karakterisitik berukuran kecil, efisien, dan portable untuk berbagai

hardware. Projek Green sempat terancam terhenti karena dalam perkembangannya, device ini belum memiliki pasar seperti yang diramalkan semula. Selanjutnya Java diarahkan untuk pemrograman internet. Secara kebetulan, fitur-fitur Java yang telah disebutkan sebelumnya sangat sesuai bagi pengembangan internet sehingga dalam beberapa tahun belakangan ini Java telah menjadi primadona untuk pemrograman yang berbasis internet.

2.7.1.1Keunggulan Java

Java memiliki keunggulan apabila dibandingkan dengan bahsa pemrograman yang lain. berikut adalah beberapa keunggulan dari java:

1. Java bersifat sederhana dan relatif mudah

Java dimodelkan sebagian dari bahasa C++, namun dengan memperbaiki beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan beberapa aspek pemicu ketidakstabilan system pada C++.

2. Java berorientasi pada objek (object oriented)

(23)

sifat dan tingkah laku masing-masing. Selanjutnya, java menentukan dan mengatur interaksi antara objek yang satu dengan yang lain.

3. Java bersifat terdistribusi

Pada decade awal perkembangan PC (Personal Computer), komputer hanya bersifat sebagai workstation tunggal, tidak terhubung satu sama lain. Saat ini, system komputerisasi cenderung terdistribusi, mulai dari workstation client, email server, database server, web server, proxy server dan sebagainya.

4. Java bersifat multi platform

Banyak platform Operating System, mulai dari windows, apple, serta berbagai varian UNIX dan LINUX. Pada umumnya, program yang dibuat dan dikompile di suatu platform hanya bisa dijalankan di platform tersebut. Namun

java bersifat multiplatform, yang artinya dapat diterjemahkan oleh java interpreter pada berbagai system operasi.

5. Java bersifat multi trhead

Thread adalah proses yang dapat dikerjakan oleh program dalam suatu waktu. Java bersifat multithread, artinya dapat mengerjakan beberapa proses dalam waktu yang hamper bersamaan.

2.7.1.2Ruang Lingkup Java

Platform Java memiliki tiga buah edisi yang berbeda, yaitu J2EE (Java2

Enterprise Edition), J2ME (Java2 Micro Edition), dan J2SE (Java2 Second Edition). J2EE adalah kelompok dari beberapa API dari Java dan teknologi selain Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dianggap sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. J2EE juga mencakup teknologi yang dapat digunakan disemua lapisan dari sebuah sistem informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dan rutin standar untuk aplikasi

client maupun server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java.

2.7.1.2.1 Java 2 Standard Edition (J2SE)

(24)

23

program Java. Didalamnya terdapat tool untuk mengompilasi program Java dan JRE.

2.7.1.2.2 Java 2 Micro Edition (J2ME)

Java2 Micro Edition atau J2ME adalah lingkungan pengembangan yang didesain untuk meletakan perangkat lunak Java pada perangkat elektronik beserta perangkat pendukung lainnya. Pada J2ME, jika perangkat lunak berfungsi dengan baik pada sebuah perangkat maka belum tentu juga berfungsi dengan baik pada perangkat lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA’s) dan sejenisnya.

J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai library

khusus yang tidak dimilikiJ2SE. Arsitektur J2ME dapat di lihat pada gambar berikut.

Profie

Configuration Kumpulan Library

JV M Sistem

Operasi

Gambar 0.2 Arsitektur J2ME

(25)

J2SE

CDC

CLDC

Configuration merupakan Java library minimum dan kapabilitas yang dipunya oleh para pengembang J2ME, yang maksudnya adalah sebuah mobile device dengan kemampuan Java akan dioptimalkan agar menjadi sesuai.

Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar-device. Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu Conected Limited Device Configuration (CLDC) untuk perangkat kecil dan Connected Device Configuration (CDC) untuk perangkat yang lebih besar.

CLDC

Gambar 0.3 Ruang Lingkup Configuratin

Profile berbeda dengan Configuration, profile membahas sesuatu yang spesifik untuk sebuah perangkat. Dalam J2ME terdapat dua buah

profile yaitu MIDP dan Foundation Profile. Keterhubungan antara

configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya dapat dilihat pada gambar berikut.

Aplikasi J2ME (MIDlet) Aplikasi J2ME Applet/Aplikasi J2SE

KVM CVM JVM

MIDP Foundation Profile J2SE

CLDC CDC

kompleks

Table 0-1 Hubungan J2ME dengan J2SE

2.7.1.2.3 Java Aplication Description (JAD)

(26)

25

2.8 Pengenalan Netbeans

NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans.

Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut 'modul'. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.

2.8.1 Platform NetBeans

Platform NetBeans adalah framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi desktop. Ketika aplikasi berbasis platform NetBeans dijalankan, kelas main dari platform dieksekusi. Modul-modul yang tersedia ditempatkan di sebuah registry di dalam memori, dan tugas startup modul dijalankan. Secara umum, kode modul dimuatkan ke dalam memori hanya ketika ia diperlukan.

Aplikasi dapat menginstal modul secara dinamis. Aplikasi dapat memasukkan modul Update Center untuk mengijinkan pengguna aplikasi

men-download digitally-signed upgrade dan fitur-fitur baru secara langsung ke dalam aplikasi yang berjalan. Penginstalan kembali sebuah upgrade atau rilis baru tidak memaksa pengguna untuk men-download keseluruhan aplikasi lagi.

(27)

1. Manajemen antarmuka (misal: menu & toolbar) 2. Manajemen pengaturan pengguna

3. Manajemen penyimpanan (menyimpan dan membuka berbagai macam data) 4. Manajemen jendela

5. Wizard framework (mendukung dialog langkah demi langkah) 2.8.2 NetBeans IDE

NetBeans IDE adalah IDE ( integrated development environment ) open

source yang ditulis sepenuhnya dengan bahasa pemrograman Java menggunakan

platform NetBeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi

Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek

berbasis Ant, kontrol versi, dan refactoring.

2.8.2.1NetBeans Mobility Pack

NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain.

NetBeans Mobility Pack dapat digunakan untuk menulis, menguji, dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration (CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC. 2.8.2.2NetBeans Profiler

(28)

27

Profiler ini berdasarkan sebuah proyek riset Sun Laboratories yang dahulu bernama Jfluid. Riset tersebut mengungkap teknik tertentu yang dapat digunakan untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling

aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi. 2.8.2.3NetBeans C/C++ Pack

NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++ ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk membangun aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini membuat editor mengenali bahasa C/C++ dan menyediakan project template, browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan fungsionalitas tambahan mereka sendiri.

2.8.2.4NetBeans Enterprise Pack

NetBeans Enterprise Pack memperluas dukungan terhadap pengembangan aplikasi perusahaan dan web service mulai NetBeans IDE 5.5.

(29)

2.8.2.5NetBeans Ruby Pack

Versi NetBeans 6.0 mengijinkan pengembangan IDE menggunakan Ruby dan

Jruby, sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans

Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6.

Ruby Pack memasukkan fungsionalitas editor seperti:

1. Pengeditan dasar

2. Pewarnaan sintaks untuk Ruby

3. Pelengkapan kode

4. Occurence highlighting

5. Pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API

6. Analisis semantik dengan highlighting parameter dan variabel lokal yang tidak

terpakai

2.8.2.7NetBeans JavaScript Editor

NetBeans JavaScript Editor menyediakan perluasan dukungan terhadap

JavaScript dan CSS. Fitur-fiturnya antara lain:

1. Editor JavaScript

a. Syntax highlighting

b. Pelengkapan kode untuk objek dan fungsi native

c. Semua fitur dalam editor netbeans

d. Pembuatan kerangka kelas javascript secara otomatis

e. Pembuatan pemanggilan ajax dari template

2. Ekstensi editor CSS

a. Pelengkapan kode untuk nama-nama style

b. Navigasi cepat melalui panel navigator

c. Penampilan deklarasi aturan css di list view

d. Penampilan struktur file di tree view

(30)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Pengguna email di Indonesia sangat banyak dan webmail yang menyediakan layanan email gratispun sangat banyak, sehingga para pengguna email di Indonesia terdaftar di banyak webmail seperti: yahoo! mail, gmail, hotmail dan masih banyak lagi webmail yang menyediakan layanan email gratis. Akan tetapi dengan banyaknya webmail, tidak diikuti dengan layanan push mail seperti outlook express yang hanya menyediakan untuk satu email saja. Layanan push mail digunakan agar email yang masuk dan keluar dapat diakses secara realtime, tanpa harus membuka alamat webmail penyedia email, sehingga pengguna email dapat mengirim dan menerima email secara cepat dan efisien.

Oleh karena itu dibutuhkan sebuah aplikasi untuk dapat memenuhi banyak email dari banyak webmail serta dapat di push melalui yahoo messenger secara realtime dan dapat diakses dimana saja dan kapan saja. Dengan menggunakan yahoo messenger sebagai perantara dari aplikasi ini, email dapat di push secara realtime. Di samping itu yahoo messenger merupakan aplikasi IM (instant messenger) paling popular di Indonesia serta dapat menghemat pengeluaran pulsa dibandingkan apabila aplikasi ini berjalan pada sms gateway, karena sms gataway memberlakukan pulsa premium serta tidak dapat berjalan secara realtime.

Dengan membangun aplikasi ini maka email yang masuk dapat dibuka langsung oleh yahoo messenger serta dapat menerima dan mengirim pesan ke banyak email yang bisa diakses melalui komputer, laptop, maupun perangkat mobile secara realtime.

Layanan push mail saat ini merupakan sebuah layanan yang disediakan oleh developer pihak ketiga, dimana sebuah email dapat di

push agar dapat dikelola oleh penggunanya tanpa harus masuk ke webmail langsung. Sebagai

contoh Microsoft office outlook express merupakan sebuah perangkat lunak pihak

(31)

30

ketiga yang menyediakan layanan push mail ini. Berikut adalah bagaimana skenario push mail pada umumnya berjalan:

1. Email masuk dari webmail

2. Kemudian di push oleh outlook express

3. Diterima oleh user dan dikelola (read, filter, delete, etc)

4. Oleh user email dibalas atau kirim email melalui outlook express. Untuk lebih jelasnya dapat dilihat pada flowchart di bawah ini:

Mulai

Email masuk/ diterima

Di push oleh outlook express

Kirim email lewat outlook

express

[image:31.596.267.356.249.512.2]

Selesai

Gambar 3.1 Flowchart Cara Kerja Push Mail

Adapun beberapa kelemahan layanan push mail yang ada saat ini adalah sebagai berikut:

1. Layanan push mail yang disediakan oleh outlook express hanya untuk satu email saja.

2. Pengaksesan email yang masuk melalui outlook express tidak bisa berjalan secara realtime.

3. Hanya bisa diakses dalam PC (Personal Computer), artinya tidak bisa diakses dalam perangkat mobile, kecuali perangkat mobile khusus seperti

blackberry, iphone, dan android itupun bukan menggunakan outlook express melainkan aplikasi pihak ketiga dari masing-masing developer

(32)

31

3.1.1 Analisis Sistem Yang Sedang Berjalan

Dalam tahapan analisis prosedur yang sedang berjalan akan dijelaskan cara kerja email, instant messenger serta push mail agar nantinya diketahui kekurangan dan kelebihan cara kerjanya sehingga perangkat lunak yang dibangun dapat menutupi kekurangan yang ada.

3.1.1.1 Analisis Prosedur Email

Email adalah singkatan untuk Electronic Mail, atau dalam bahasa Indonesia berarti surat elektronik. Surat elektronik sudah mulai dipakai di tahun

1960-an. Pada saat itu Internet belum terbentuk, yang ada hanyalah kumpulan mainframe yang terbentuk sebagai jaringan. Mulai tahun 1980-an, surat elektronik sudah bisa dinikmati oleh khalayak umum. Sekarang ini banyak perusahaan pos di berbagai negara menurun penghasilannya disebabkan masyarakat sudah tidak memakai jasa pos lagi.

Etika dalam surat elektronik sama dengan etika dalam menulis surat biasa. Ada surat elektronik yang isinya formal ada yang informal. Beberapa poin penting yang harus diperhatikan dalam mengirim email:

1. Jangan mengirim surat elektronik dengan lampiran (attachment) yang terlalu besar (lebih dari 512 kB). Tidak semua orang mempunyai akses Internet yang cepat, dan ada kemungkinan lampiran tersebut melebihi kapasitas surat elektronik penerima, sehingga akan ditolak mailserver penerima. Selain itu, perhatikan juga bahwa beberapa penyedia surat elektronik juga menerapkan batasan tentang jumlah, jenis, dan ukuran surat elektronik yang dapat diterima (dan dikirim) penggunanya.

2. Jangan mengirim lanjut (forward) surat elektronik tanpa berpikir kegunaan bagi orang yang dituju. Selalu isi kolom subjek, jangan dibiarkan kosong. Dalam mengutip tulisan orang lain, selalu usahakan mengutip seperlunya, jangan mau gampangnya mengutip seluruh tulisan orang itu: dalam menjawab surat elektronik orang lain, kutip bagian yang kita tanggapi saja, selain lebih jelas juga tidak memakan waktu / jatah akses penerima, dalam mengutip tulisan orang ketiga, ingat hak cipta: kutip sesedikit mungkin dan rujuk ke tulisan aslinya.

(33)

32

4. Gunakan kata-kata dengan santun. Adakalanya sesuatu yang kita tulis akan terkesan berbeda dengan apa yang sebetulnya kita maksudkan.

Ada 3 jenis tujuan pengiriman yaitu To, Cc dan Bcc. Penjelasannya sebagai berikut:

1. To: tujuan standar pengalamatan pesan.

2. Cc: singkatan dari Carbon Copy. Jika ingin mengirim pesan kepada seseorang, tetapi ingin juga memberikan copy pesan pada orang lain.

3. Bcc: singkatan dari Blind Carbon Copy. Jika ingin mengirim pesan pada 2 orang, pada kolom To dan pada kolom Bcc, keduanya akan menerima Email tetapi penerima yang ada di kolom To tidak akan mengetahui (blind) bahwa email juga dikirim kepihak ke 2 (Bcc).

Setelah menentukan bagaimana dan ke mana pesan akan dikirim, berikut adalah cara kerja email:

Pada email server terdapat dua server yang berbeda yaitu

incoming dan outgoing server. server yang biasa menangani outgoing email

adalah server SMTP (Simple Mail Transfer Protocol) pada port 25

sedangkan untuk menangani incoming email adalah POP3 (Post Office Protcol) pada port 110 atau IMAP (Internet Mail Access Protocol) pada

port 143. Untuk lebih jelasnya dapat dilihat pada gambar berikut:

Gambar 3.2 Cara Kerja Email Ketika dikirim Oleh Client

Saat mengirim email maka email akan ditangani oleh SMTP server dan akan dikirim ke SMTP server tujuan, baik secara langsung maupun melalui beberapa SMTP server dijalurnya. apabila

server tujuan terkoneksi maka email akan dikirim, namun apabila tidak terjadi koneksi maka akan dimasukkan ke dalam queue (tempat penyimpanan sementara server) dan akan di resend setiap 15 menit. Apabila dalam 5 hari tidak ada perubahan maka akan diberikan undeliver notice ke inbox

(34)

33

Apabila email terkirim, maka email akan masuk pada POP3 server atau IMAP server. jika menggunakan POP3 server maka apabila kita hendak membaca email maka email pada server di download sehingga email

hanya akan ada pada mesin yang men-download email tersebut, dengan kata lain hanya bisa membaca email tersebut pada device yang mendownload email tersebut. berbeda dengan POP3 IMAP server mempertahankan email

pada server sehingga email dapat dibuka kembali lewat device yang berbeda. Untuk lebih jelasnya dapat dilihat pada gambar di bawah ini:

Gambar 3.3 Cara Kerja Email Ketika Dikirim Oleh Mail Server Dan Diterima Oleh Client.

Berikut skenario pengiriman email pada umumnya:

1. User pengirim mempersiapkan email yang akan dikirimkan kemudian email dikirim oleh user pengirim.

2. Email dikirim melalui SMTP server pada port 25. 3. Email diterima oleh mail server.

(35)

34

Untuk lebih jelasnya dapat dilihat dalam flowchart di bawah ini:

Mulai

Tulis Email Pada SMPTP

server Port 25

Mail server (upload email)

Mail server (upload email)

Selesai

Gambar 3.4 Flowchart Pengiriman Email Pada Umumnya

Berikut adalah skenario penerimaan email: 1. Mail server mengirimkan email ke penerima. 2. Email melalui protocol pop3 pada port 25. 3. Email diterma oleh penerima email.

Untuk lebih jelasnya dapat dilihat pada flowchart di bawah ini: Mulai

Email dikirim oleh mail

server

Email melalui protocol pop3 pada port 25

Email diterima penerima email

[image:35.596.268.354.104.348.2]

Selesai

(36)

35

3.1.1.2 Analisis Prosedur Instant Messenger

Jaringan instant messenger terdiri dari clients dan server. User

meng- install sebuah client yang menghubungkan ke server yang dioperasikan oleh vendor jaringan IM (Instant Messenger), seperti Yahoo Messenger, Windows Live Messenger atau AOL. User yang mendaftar ke vendor

IM diberikan ID (Identitas Diri) yang unik, yang dapat berupa angka dan huruf. User lalu memberikan ID tersebut ke user lain yang ingin diajak untuk berkomunikasi melalui jaringan IM.

User memulai sebuah sesi IM dengan autentifikasi ke server. Ketika dua

user yang sudah melakukan autentifikasi ingin berkomunikasi, rangkaian prosesnya adalah:

1. User A menginstruksikan IM client untuk mengirimkan pesan teks kepada

User B. Client membuat sebuah paket yang berisi pesan dan mengirimkannya ke server.Server menerima isi paketnya dan melihat bahwa si penerima adalah

User B.

2. Server lalu membuat sebuah paket baru yang mengandung pesn dari User A dan mengirimkannya ke User B.

Kebanyakan IM akan melanjutkan pengiriman pesan melalui server pusat. Bagaimanapun, beberapa IM membuat koneksi langsung antara user yang berkomunikasi setelah pesan pertama. Penggunaan

server pusat lebih menguntungkan jika dilihat dari berbagai sudut pandang. Contohnya: User A

hanya membutuhkan unique ID dari User B, selain itu, dia dapat mengirimkan

pesan kepada

User

B

meski dia tidak online. Server akan menyimpan pesan

sampai User B melakukan autentifikasi.

Kebanyakan IM client mempunyai kemampuan untuk membuat Buddy

List, yaitu daftar unique ID

teman-teman kita, sehingga akan mempermudah

(37)

36

Berikut skenario pengiriman instant messenger pada umumnya: 1. Pengirim mengirimkan pesan singkat (IM).

2. Kemudian disimpan oleh IM client (YM, AOL, dll) dan diteruskan ke

server

IM.

3. Dari server IM, pesan diteruskan ke IM client penerima.

4. Setelah sampai pada IM clent penerima, pesan dapat dibaca oleh penerima pesan IM.

Untuk lebih jelasnya dapat dilihat dalam flowchart di bawah ini:

Mulai

Tulis Pesan IM client

Server IM

Pesan terkirim ke IM client

Pesan Terkirim

Selesai

(38)

37

3.1.2 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional merupakan bagian untuk menspesifikasikan ukuran yang harus dipenuhi oleh perangkat lunak.

Untuk lebih jelasnya dapat dilihat dalam tabel 3.1 di bawah ini.

Table 3-1 Analisis Kebutuhan Non Fungsional

Kriteria Kebutuhan Tuntutan Kebutuhan

Performansi Perangkat PC/Laptop atau mobile untuk

menjalankan aplikasi ini harus selalu terkoneksi ke internet

Batasan Memori Perangkat PC/Laptop:

1. Prosessor minimum dual core 2. Hardddisk minimum 80GB 3. RAM Minimun 256MB memory

Perangkat Mobile:

1. Memory internal minimum 10MB

Modus Operasi Perangkat PC/Laptop:

1. windows XP, Vista atau windows 7 2. sudah terpasang aplikasi yahoo

messenger versi 8 atau lebih baru Perangkat Mobile:

1. Minimal sudah mendukung aplikasi

Java

2. Sudah terpasang aplikasi yahoo messenger atau sejenis aplikasi pemanggil YM, seperti: ebuddy, nimbuzz, dll.

(39)

38

3.1.2.1 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dibutuhkan dalam menjalankan perangkat lunak

ini adalah sebagai berikut:

1. System operasi windows xp or vista or 7

2. J2SDK (Java2 Software Development Kit) versi 1.6.

3. Xampp win32 v.1.7.1.

4. Yahoo Messenger 8.0 atau lebih baru.

3.1.2.2 Analisis Kebutuhan Perangkat Keras

Berikut adalah spesifikasi minimum untuk menjalankan perangkat lunak

ini baik di computer maupun di perangkat mobile:

1. Intel dual core prosesor 1,5Ghz

2. Memory 512MB

3. VGA 256MB shared

4. Harddisk 10MB space

5. Monitor

6. Mouse and keyboard

7. Perangkat mobile yang sudah terpasang yahoo messenger

3.1.2.3 Analisis Kebutuhan Pengguna

Untuk dapat menjalankan aplikasi ini, pengguna harus memenuhi persyaratan sebagai berikut:

1. Mengerti operasional perangkat mobile berbasis java. 2. Mengerti penggunaan yahoo messenger.

3. Mengerti secara umum penggunaan internet.

(40)

39

3.1.2.4 Analisis Data

Analisis data meliputi Entity relationship Diagram (ERD) dan Data Flow Diagram (DFD). Entity relationship diagram menjelaskan kardinalitas antara antara entitas-entitas dan menjelaskan pula relasi antar entitas-entitas yang berada pada perangkat yang dibangun. Data flow diagram merupakan alat yang dapat menggambarkan suatu proses di dalam system secara terstruktur dan jelas, serta dokumentasi dari perangkat lunak yang baik.

Entity relationship diagram (ERD) merupakan model konseptual

yang mendeskripsikan hubungan antar penyimpanan.

ERD digunakan untuk memodelkan

struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Model data dari system yang akan dibangun dapat dilihat dari gambar di bawah ini:

idyahoo

Mail_add

id

user 1 memiliki n profile 1 memiliki n email

1

profile

template 1 memiliki

Mail_add

Gambar 3.7 ERD Aplikasi Push Mail pada Yahoo Messenger

(41)

40

Table 3-2 Entitas dan Atribut pada ERD

Entitas Atribut Keterangan

user 1. Idyahoo 2. interval_check 3. always_send 4. send_only_header

1. Nama ID yahoo 2. Jarak waktu cek email 3. Selalu kirim email 4. Pengiriman header email profile 1. mail_add

2. owner 3. in_protocol 4. in_username 5. in_pass 6. in_server 7. in_port 8. in_ssl 9. out_server 10. out_port 11. out_ssl 12. out_auth 13. out_username 14. out_pass

1. Alamat email 2. Pemilik email

3. Nama protokol masuk email (SMTP) 4. Alamat email

5. Password email

6. Nama server email masuk

7. Nomor port protokol email masuk 8. Konfigurasi keamanan SSL

email masuk

9. Nama server email keluar 10. Nomor port protokol email keluar 11. Konfigurasi keamanan SSL

email keluar

12. Otentikasi / pembuktian protokol email keluar

13. Alamat email 14. Password email email 1. id

2. profile 3. subject 4. from 5. to

6. send_date 7. mail_id 8. content 9. unread

1. Nama id yahoo 2. Nama profile 3. Subjek email

4. Dari siapa email masuk atau keluar 5. Untuk siapa email masuk atau keluar 6. Tanggal email terkirim

7. Alamat email 8. Isi dari email

(42)

41

template 1. mail_addr 2. in_protocol 3. in_server 4. in_port 5. in_ssl 6. out_server 7. out_port 8. out_ssl 9. out_auth

1. Alamat email

2. Jenis incoming protocol 3. Alat server incoming protocol 4. Port number incoming protocol 5. Keamanan incoming protocol 6. Jenis outgoing protocol

7. Port number outgoing protocol 8. Keamanan outgoing protocol 9. Autentikasi keamanan

3.1.3 Analisis Kebutuhan Fungsional

Analsisi kebutuhan fungsional mendefinisikan aksi dasar yang ada dalam perangkat lunak yang dibangun untuk menerima dan memproses masukan dan menghasilkan keluaran.

3.1.3.1 Diagram Konteks

Diagram konteks adalah diagram yang menggambarkan masukan, proses dan keluaran secara umum yang terjadi pada sistem. Diagram konteks untuk

aplikasi push mail pada yahoo messenger dapat dilihat pada gambar di bawah ini: data_profile

data_emai data_userl

data_email

Yahoo messenger Aplikasi Push Mail Pada

Yahoo Messenger Mail server

info_profile info_email

info_user info_email

(43)

42

d

a

ta

_

p

ro

fi

le

3.1.3.2 DFD Level 1

Pada DFD level 1 akan dibagi menjadi dua garis besar proses utama, yaitu pengolahan data profile dan pengolahan data email.

1. Pengolahan Data Profile

Pada proses pertama ini yahoo messenger dapat mengolah data profile seperti add profile, delete profile dan view profile. Data profile yang ditambahkan akan masuk ke tabel profile begitu pula data yang dilihat dan dihapus akan diapanggil dari tabel profile.

2. Pengolahan Data Email

Pengolahan data email memungkinkan yahoo messenger untuk mengirim dan menerima email dari mail server yang kemdian disimpan pada tabel email.

Untuk lebih jelasnya dapat dilihat dalam gambar di bawah ini:

Yahoo

messenger Mail server

info_user

data_user

info_profile

data_email info_email

data_email

info_email

1.0 Registrasi user

2.0 Pengolahan

data profile

3.0 Pengolahan

data email

data_user data_profile data_email

data_user data_profile

user profile email

(44)

43 d a ta _ a d d _ p ro fi le d a ta _ a d d _ p ro fi le in fo _ a d d _ p ro fi le d a ta _ a d d _ p ro fi le d a ta _ d e le te _ p ro fi le d a ta _ d e le te _ p ro fi le d a ta _ d e te le _ p ro fi le in fo _ d e le te _ p ro fi le d a ta _ v ie w _ p ro fi le in fo _ v ie w _ p ro fi le d a ta _ v ie w _ p ro fi le d a ta _ v ie w _ p ro fi le

3.1.3.3 DFD Level 2 Pengolahan Data Profile

Pada DFD level 2 pengolahan data profile yahoo messenger dapat mengolah data profile seperti add profile, delete profile dan view profile. Untuk

lebih jelasnya dapat dilihat pada gambar berikut ini:

[image:44.596.114.512.191.650.2]

Yahoo messenger 2.1 add profile 2.2 delete profile 2.3 view profile profile

(45)

44

3.1.3.4 DFD Level 2 Pengolahan Data Email

Pada DFD level 2 pengolahan data email yahoo messenger dapat mengolah data email seperti menerima email masuk dan mengirim email. Untuk

lebih jelasnya dapat dilihat pada gambar di bawah ini:

data_email_keluar Yahoo

messenger

info_email_masuk

3.1 Kirim email

info_email_keluar data_email_masuk

Mail server 3.2

Terima email

[image:45.596.116.537.190.592.2]

email data_email_masuk

Gambar 3.11 DFD Level 2 Pengolahan Data Email

(46)

45

Table 3-3 Spesifikasi Proses DFD Level 1

NO Spesifikasi Keterangan

1. No 1.0

Nama R

Gambar

Gambar 3.1 Flowchart Cara Kerja Push Mail
Gambar 3.5 Flowchart Penerimaan Email Pada Umumnya
Gambar 3.10 DFD Level 2 Pengolahan Data Profile
Gambar 3.11 DFD Level 2 Pengolahan Data Email
+7

Referensi

Dokumen terkait

Dan dengan sistem baru dapat mengoptimalkan sistem komputer yang ada dalam proses pembayaran iuran sekolah, tabungan siswa dan pelaporan sehingga dapat mengelola data dengan

Seperti pada package AWT, package dari Swing menyediakan banyak class untuk membuat aplikasi GUI.. Package tersebut dapat ditemukan di

Amida juga dapat dibuat dari reaksi ammonia atau amina dengan turunan asam. karboksilat, ester terutama metil ester dan

a) Nilai dari success call rate pada jarak 3 meter rata-rata 90% dan pada jarak 10 meter mempunyai niai rata-rata 87,5% per 20 panggilan. b) Nilai jitter yang terdapat

(2) Penerima Program Karawang Cerdas yang mendapatkan bantuan dari pihak ketiga, untuk peserta didik satuan pendidikan dasar dan menengah dilaporkan oleh

Seperti yang telah diuraikan sebelumnya, mempelajari kosakata bahasa Inggris untuk siswa Sekolah Menengah Pertama (SMP) dan Madrasah Tsanawiyah (MTs) memang tidak

Strategi penetrasi pasar yang dilakukan oleh produk Pond’s Age Miracle untuk menaikkan kembali market share-nya dengan cara promosi produk melalui iklan yang sangat

Profesionalisme kerja juga ditunjukkan dari daya tanggap ataupun responsive dari pekerja, data hasil penelitian dari ke 8 informan menunjukkan bahwa secara umum pembantu