Membangun Aplikasi Push Mail Pada Yahoo Messenger Berbasis Java

(1)

i

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

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.


(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

Tahap system and software design akan melakukan perancangan terhadap perangkat lunak yang akan dibangun.


(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

Bab ini berisi kesimpulan hasil pengujian dari perangkat lunak yang telah dibangun berdasarkan tujuan yang ingin dicapai dan saran yang dapat diberikan untuk perangkat lunak ini untuk kemudian dapat dikembangkan.


(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

6. Perangkat lunak pengembangan media 7. Perangkat lunak rekayasa produk


(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

c. Kebutuhan non fungsional d. Kebutuhan fungsional


(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)

Tahapan pemeliharaan dilakukan untuk melakukan perubahan apabila diperlukan karena beberapa alasan, seperti: ada masalah dalam perangkat lunak yang harus diperbaiki, persyaratan baru yang harus dipenuhi serta perubahan dalam kebijakan yang telah disepakati di awal.


(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

Dengan adanya internet, dunia ilmu pengetahuan semakin terbuka lebar, penyebaran informasipun semakin cepat, segala informasi di belahan dunia manapun dapat diperoleh dalam sekejap. Informasi yang tadinya sulit diperoleh, saat ini sudah bukan sesuatu yang sulit lagi. Ini semua dimungkinkan dengan adanya fasilitas search engine atau mesin pencari dalam dunia internet, yang artinya adalah pencarian segala informasi yang kita perlukan, yang bisa berupa data, file, gambar, music, maupun film.


(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.

Konsep email seperti mengirim surat dengan pos biasa, dimana mengirimkan surat ke kantor pos dengan dibubuhi alamat yang kita tuju. Dari kantor pos tersebut akan disampaikan ke kantor pos yang terdekat dengan alamat yang dituju dan akhirnya sampai ke alamat tersebut. Dan penerima hanya membuka kotak pos nya saja yang ada didepan rumah.


(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.

Kedua informasi diatas dibutuhkan oleh user agent penerima untuk menentukan metode yang tepat untuk menampilkan isi dari pesan email.


(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)

POP adalah protokol dasar yang digunakan oleh pengguna untuk mentransfer (download) seluruh pesan email dari server melalui koneksi TCP/IP. Dengan menggunakan metode ini, pesan email yang ada di server akan dihapus dan ditransfer ke PC pengguna, tetapi pengguna bisa mengarahkan server untuk menyimpan sementara pesan tersebut untuk periode waktu yang sudah ditentukan. POP digunakan karena pengguna dapat membaca email tanpa koneksi internet. Port dasar untuk POP adalah port 110.


(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

YM SDK (Yahoo Messenger Development Kit) merupakan development tools resmi milik Yahoo untuk membangun aplikasi Yahoo Messenger client. YM SDK berbasis HTTP dan mengatur format request dan response untuk mengakses server YM. Format yang diatur meliputi : alamat URL request, data paramater, data yang dipertukarkan, dan metode request pada HTTP seperti GET, POST, PUT, atau DELETE [5].


(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].

Pesan HTTP yang dipertukarkan dalam YM API berformat JSON (JavaScript Object Notation). JSON adalah format pertukaran data yang dapat dengan mudah dibaca, di-parsing, dan di-generate baik oleh mesin maupun oleh manusia. Walaupun JSON berbasis bahasa JavaScript, tetapi JSON dapat diimplementasikan dalam berbagai bahasa pemrograman.


(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

pemodelan analisis. Yang pertama analisis terstruktur, adalah pemodelan klasik dan yang kedua adalah analisis berorientasi objek.


(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.

DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur. Kelebihan utama pendekatan alir data, yaitu :


(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

Entity adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat.


(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

Java adalah bahasa pemrograman dengan basis C dan C++. Sehingga apabila sudah terbiasa dengan C atau C++, tidak akan sulit untuk mempelajari bahasa pemrograman java. Sejarah java berawal pada 1991 ketika perusahaan Sun Microsystem memulai Green Project, yakni projek penelitian untuk membuat


(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)

Java adalah bahasa pemrograman yang berorientasi objek (OOP), bukan seperti Pascal, Basic, atau C yang berbasis prosedural. Dalam memecahkan masalah, java membagi program menjadi objek-objek, kemudian memodelkan


(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)

J2SE adalah ini dari bahasa pemrograman Java. Java Development Kit (JDK) Adalah salah satu tool dari J2SE untuk mengompilasi dan menjalankan


(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

Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas (limited). Sebagian besar ponsel tidak mengizinkan aplikasi J2ME menulis pada file karena alasan keamanan.


(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)

Digunakan untuk mendeskripsikan isi aplikasi untuk pekerluan pemetaan. File JAD berisi deskripsi file JAR (Java Archieve) dan pemetaan atribut MIDlet, sedangkan file JAR berisi kumpulan kelas dan resource.


(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.

Platform NetBeans menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi. Fitur-fitur yang disediakan oleh platform NetBeans:


(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

NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu menemukan kebocoran memori dan mengoptimalkan kecepatan.


(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.

Enterprise Pack ini mengembangkan kemampuan untuk menulis, menguji, dan debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture) menggunakan XML, BPEL, dan Java web service. Paket ini menambahkan alat desain visual untuk pemodelan UML, skema XML, dan web service orchestration, juga dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan server manajemen identitas yang terintegrasi dengan Sun Java System Application Server.


(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)

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

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.

3. Jangan menggunakan huruf kapital karena dapat menimbulkan kesan anda berteriak.


(33)

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)

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

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

dalam berkomunikasi dengan mereka. Contohnya, ketika Bill mengirimkan Alice unique IDnya, Alice dapat menyimpannya dalam Buddy List. Sehingga, kapanpun Alice log in ke server IM, dia dapat melihat status dari Bill, apakah online atau tidak.


(37)

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)

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

Adapun entitas-entitas lain yang terdapat dalam ERD diatas dapat dilihat pada Table 3-2:


(41)

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)

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:

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


(45)

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

email data_email_masuk

Gambar 3.11 DFD Level 2 Pengolahan Data Email

Berikut adalah spesifikasi proses dari DFD untuk menjelaskan perilaku-perilaku yang ada dalam DFD secara lebih rinci. Spesifikasi proses pada perangkat lunak push mail pada yahoo messenger dapat dilihat pada Table 3-3:


(46)

45

Table 3-3 Spesifikasi Proses DFD Level 1

NO Spesifikasi Keterangan

1. No 1.0

Nama Registrasi user

Input data_user

Output info_profile

Tujuan Tabel user

Logika proses 1. YM akan menambahkan user id YM aplikasi. 2. Sistem akan menyimpan id YM pada tabel user.

2. No 2.0

Nama Pengolahan Data Profile

Input data_profile

Output info_profile

Tujuan Tabel profile

Logika proses 3. YM akan memasukan profile baru dan protocol email sesuai web mail yang dimasukan.

4. Sistem akan menyimpan konfigurasi yang dilakukan oleh YM.

3. No 3.0

Nama Pengolahan Data Email

Input data_email

Output data_email

Tujuan Tabel email

Logika proses 1. YM menerima email dari webmail server. 2. Email dapat dikirim dan diterima melalui YM. 3. YM mengirimkan email ke webmail.

4. No 2.1

Nama add profile

Input data_add_profile

Output info_profile


(47)

Logika proses 1. YM akan melakukan konfigurasi dengan memasukan profile baru dan protocol email sesuai web mail yang dimasukan.

2. Sistem akan menyimpan konfigurasi yang dilakukan oleh YM.

5. No 2.2

Nama Delete profile

Input Data_delete_profile

Output Info_delete_profile

Tujuan Tabel profile

Logika proses 1. YM menghapus salah satu profile yang ada pada tabel profile

2. Sistem akan menghapus profile yang telah diperintahkan oleh YM

6. No 2.3

Nama View profile

Input Data_view_profile

Output Info_view_profile

Tujuan Tabel profile

Logika proses 1. YM melakukan perintah untuk melihat salah

satu profile.

2. Sistem akan menampilkan semua detail dari profile yang diperintahkan oleh YM.

7. No 3.1

Nama Kirim email

Input Data_email_keluar

Output Info_email_keluar

Tujuan Mail server

Logika proses 1. YM menulis pesan email

2. Sistem mengirimkan pesan tersebut ke mail server


(48)

47

Nama Terima email

Input Data_email_masuk

Output Info_email_keluar

Tujuan Tabel email

Logika proses 1. Mail server mengirimkan email. 2. Sistem menerima email masuk. 3. YM menerima email dari sistem.

3.1.3.5 Kamus Data

Kamus data membantu mendefinisikan dengan lengkap data yang mengalir diatara proses, penyimpanan data, dan entitas luar. Data yang mengalir tersebut dapat berupa masukan untuk sistem atau hasil dari proses sistem. Kamus data dibuat berdasarkan arus data yang mengalir pada konteks diagram dan DFD.

Table 3-4 Kamus Data

NO Data Keterangan

1. Nama data_profile

Deskripsi Berisi data profile

Struktur data email_add + password + in_protocol + in_username + in_pass + in_server + in_port + in_ssl + out_server + out_port + out_ssl + out_auth + out_username + email_add

password

[A-Z|a-z|0-9] [A-Z|a-z|0-9]

in_protocol [A-Z|a-z]

in_username [A-Z|a-z|0-9]

in_pass [A-Z|a-z|0-9]

in_server [A-Z|a-z]

in_port [0-9]

in_ssl [true|false]


(49)

out_port [0-9]

out_ssl [true|false]

out_auth [true|false]

out_username [A-Z|a-z|0-9]

out_pass [A-Z|a-z|0-9]

2. Nama Data_email

Deskripsi Email yang masuk dan keluar

Struktur data Id + Profile + Subject + From + To + Send_date + Mail_id

Id [A-Z|a-z|0-9]

Profile [A-Z|a-z|0-9]

Subject [A-Z|a-z|0-9]

From [A-Z|a-z|0-9]

To [A-Z|a-z|0-9]

Send_date [datetime]

Mail_id [A-Z|a-z|0-9]

3.2 Perancangan Sistem

Perancangan merupakan tahap lanjutan setelah tahap analisis perangkat lunak dimana pada perancangan perangkat lunak digambarkan rancangan perangkat lunak yang akan dibangun sebelum dilakukan pengkodean kedalam bahasa pemrograman.

3.2.1 Perancangan Data

Perancangan data terdiri dari perancangan diagram relasi berdasarkan analisis basis data dan struktur table yang dibangun dalam sistem. 3.2.1.1 Diagram Relasi

Diagram relasi merupakan relasi khusus antar table yang berada dalam perangkat lunak yang dibangun. Berikut diagram relasi yang berada dalam perangkat lunak push mail pada yahoo messenger:


(50)

49 User PK idyahoo interval_check always_send send_only_header profile PK mail_add FK1 FK2 owner in_protocol in_username in_pass in_server in_port in_ssl out_server out_port out_ssl out_auth out_username out_pass default idyahoo mail_addr Email PK id FK1 profile subject from to send_date mail_id content unread mail_add template PK mail_addr in_protocol in_server in_port in_ssl out_server out_port out_ssl out_auth

3.2.1.2 Struktur Tabel

Gambar 3.12 Diagram Relasi

Pada tabel-tabel di bawah ini adalah struktur tabel yang terdapat pada

perangkat lunak push mail pada yahoo messenger:

Table 3-5 Struktur Tabel User

Nama Field Tipe Panjang

Karakter

Kunci Keterangan

idyahoo varchar 35 Primary

key

nama id yahoo

interval_check integer 1 - -

always_send integer 1 - -

send_only_header integer 1 - -

Table 3-6 Struktur Tabel Profile

Nama Field Tipe Panjang

Karakter Kunci Keterangan

mail_add varchar 35 Primary

key alamat email

owner varchar 35 - nama pemilik mail

in_protocol varchar 4 - protokol email masuk


(51)

in_pass text - password protokol masuk

in_server varchar 35 - nama server protokol mail

masuk

in_port integer 11 - port protokol email masuk

in_ssl integer 1 - -

out_server varchar 35 - nama server protokol email keluar

out_port integer 11 - port number protokol email

keluar

out_ssl integer 1 - -

out_auth integer 1 - -

out_username varchar 35 - username protokol email keluar

out_pass text - password protokol email

keluar

Table 3-7 Struktur Tabel Email

Nama Field Tipe Panjang

Karakter

kunci Keterangan

id varchar 20 Primary key Nama id yahoo

profile varchar 50 - Nama email add

subject varchar 125 - Subjek email

from varchar 75 - alamat email yg

masuk

to varchar 350 - Alamat email

tujuan

send_date datetime - Waktu email

masuk

mail_id varchar 100 - Mail address

content text - -


(52)

51

Tabel 3-8 Struktur Tabel Template

Nama Field Tipe Panjang

Karakter

kunci Keterangan

mail_addr varchar 35 Primary key Alamat email

in_protocol varchar 4 - Jenis incoming

protocol

in_server varchar 35 - Alamat server

incoming protocol

in_port integer 11 - Port number

incoming protocol

in_ssl integer 1 - Keamanan

incoming protocol

out_server varchar 35 - Alamat server

outgoing protocol

out_port integer 11 - Port number

outgoing protocol

out_ssl Integer 1 - Kemanan outgoing

protocol

out_auth integer 1 - Keamanan

autentikasi email

3.2.2 Perancangan Arsitektur Perangkat Lunak

Perancangan arsitektur terdiri dari perancangan arsitektur data flow, perancangan antarmuka, dan jaringan semantic pada sistem yang dirancang. Aplikasi yang dibangun merupakan aplikasi berbasis perintah (commad) yang disematkan (embedded) pada aplikasi yahoo messenger, oleh karena itu form yang terdapat pada perancangan antarmuka merupakan form yang terdapat pada antarmuka (interface) yahoo messenger.


(1)

View profile Delete profile

Add profile

send exit

Panel Request Perintah

1. Menu add profile untuk

menambahkan profile baru dalam konfigurasi push mail

2. Menu delete profile untuk menghapus profile yang sebelumnya telah dibuat

3. Menu view profile untuk melihat profile yang sebelumnya telah dibuat

4. Menu send untuk mengirim email

5. Menu exit untuk keluar 6. Tombol send berguna untuk merequest permintaan yang dituliskan di panel req. perintah

send

FORM 01

Detail Form 01, button send : tidak diketahui (karena form dimiliki oleh yahoo messenger)

Detail untuk add profile, delete profile, view profile, send, exit dan pesan yg dimasukan pada panel rekues pesan: Nama font : arial

Ukuran font : 10pt Dimensi Form : custom


(2)

Add profile

Input your email address: (eg. xxx@yyy.com)

Input your password

Delete profile

View profile

send


(3)

Client 1 (PC) Mail Server

Client 2 (PDA) Client 3 (Smartphone) Yahoo Messenger


(4)

(5)

(6)