Membangun Aplikasi Push Mail Pada Yahoo Messenger Berbasis Java
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)