Anda di halaman 1dari 30

Mobile Computing System

(WhatsApp)

Diajukan Sebagai Tugas Mata Kuliah Sistem Terdistribusi


Dosen: Dr. Mohammad Iqbal

DISUSUN OLEH:
Alvian Dwi Kurnianto (10112267)
Anindita Ayu Pratiwi (10112929)
Citra Dewi Larasati (11112627)

Jurusan Sistem Informasi


Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Gunadarma
2015
1. PENDAHULUAN
WhatsApp merupakan aplikasi pesan instan yang bersifat cross-platform berbasis mobile yang
memungkinkan pengguna mengirim pesan tanpa harus membayar biaya pengiriman per pesan.
WhatsApp menggantikan peran sms sebagai alat utama untuk mengirim pesan melalui
smartphone. WhatsApp bisa digunakan oleh pengguna untuk membuat grup obrolan serta saling
mengirim pesan berupa gambar, video atau audio. Seiring perkembangannya, WhatsApp juga
bisa digunakan di personal komputer dengan menggunakan browser.

WhatsApp mendapatkan uang tidak dengan beriklan. Mereka menggunakan business model
subscription atau biaya berlangganan per tahun. Biaya langganannya pun sangat murah, hanya
$0.99 per tahun atau bila dirupiahkan tidak sampai 15 ribu rupiah per tahunnya. Bahkan, tahun
pertama user dapat menggunakan aplikasi WhatsApp secara gratis.

1.1 Sejarah WhatsApp


WhatsApp didirikan oleh dua mantan karyawan Yahoo yang bernama Brian Acton dan Jan
Koum. Tahun 2007, setelah mereka keluar dari Yahoo. Keduanya melamar pekerjaan di
Facebook, namun mereka ditolak. Setelah itu, mereka melakukan travelling sebagai bentuk
istirahat setelah keluar dari Yahoo dan ditolak Facebook. Tahun 2009, Jan Koum membeli
Iphone dan menyadari ada potensi besar untuk menjadi developer aplikasi yang dijual di App
Store yang saat itu baru muncul.

Singkat cerita, Koum berhasil membuat versi awal Whatsapp. Namun, pada saat itu aplikasi
WhatsApp sering mengalami crash dan stuck pada saat tertentu. Koum sempat frustasi dan ingin
menyerah pada saat itu, tapi Brian Acton meyakinkan Koum untuk tetap maju terus dan tidak
menyerah. Buah kesabaran Koum memberikan hasil, saat WhatsApp mencapai versi 2.0, aplikasi
ini sudah memiliki 250 ribu user yang aktif.

Jan Koum dan Brian Acton terus mengembangkan aplikasi WhatsApp dan mencari bantuan
investor yang merupakan teman mereka pula saat di Yahoo. Hingga akhirnya pada Februari 2013
WhatsApp memiliki 400 juta user yang aktif. Jumlah ini terus bertambah hingga tahun
berikutnya mencapai 500 juta user. Melihat perkembangan jumlah user WhatsApp, Facebook
mengakusisi WhatsApp dengan biaya sebesar 19 Miliyar Dollar Amerika. Sampai saat ini,
Whatsapp menjadi Aplikasi Instant Messaging paling populer di dunia dengan jumlah user
terakhir pada September 2015 sebesar 900 juta user yang aktif.

1.2 Teknologi Dasar WhatsApp


Server WhatsApp hampir seluruhnya terimplementasi dengan bahasa pemrograman Erlang.
Sistem server yang menjadi backend routing pesan dilakukan dengan bahasa pemrograman
Erlang. Teknologi dasar WhatsApp awalnya menggunakan Ejabberd. Ejabberd merupakan server
untuk aplikasi XMPP (Extensible Messaging and Presence Protocol) yang ditulis dengan bahasa
pemrograman Erlang. Ejabberd dipilih karena teknologinya open-source, direkomendasikan
oleh banyak developer, mudah dalam penggunaan awal, dan masa depan yang menjanjikan
apabila melihat dari sisi penggunaan jangka panjang untuk sistem komunikasi. Sistem operasi
yang digunakan pada server adalah FreeBSD yang merupakan sistem operasi yang open-source.

1.2.1 Erlang
Erlang merupakan bahasa pemrograman yang bersifat general-purpose, garbage collecting, serta
sistem runtime. Sebagian besar bahasa Erlang berparadigma pemrograman fungsional. Awalnya
dibuat oleh perusahaan Ericsson dengan ciri mendukung sistem distribusi, memiliki toleransi
kesalahan, real time, selalu tersedia, serta aplikasi yang terus berjalan. Erlang mendukung hot
swapping yaitu, code dapat diubah ubah tanpa harus menghentikan sistem. Saat developing
sistem, server WhatsApp terus berjalan beriringan dengan perubahan code. Erlang menyediakan
fitter level-bahasa untuk membuat dan mengatur proses dengan tujuan konkuren programming.
Kelebihan-kelebihan ini cocok digunakan untuk sistem WhatsApp.

1.2.2 FreeBSD

FreeBSD merupakan sistem operasi untuk berbagai platform yang berfokus pada fitur, kecepatan
dan stabilitas. Sistem operasi ini berasal dari BSD (Bekerly Software Distribution), versi UNIX
yang dikembangkan di Universitas California, Berkeley. FreeBSD menawarkan networking
tingkat tinggi, performa, keamanan, dan kompatibilitas fitur yang masih belum dimiliki sistem
operasi lain hingga saat ini, bahkan untuk beberapa software komersial terbaik. FreeBSD ideal
digunakan untuk server internet atau intranet. FreeBSD menyediakan servis jaringan yang kuat
di dalam beban load yang berat serta penggunaan memori yang efisien untuk mengatur waktu
respon yang baik untuk ribuan stimulan proses user. Segala kelebihan sistem operasi FreeBSD
cocok untuk kebutuhan sistem distribusi WhatsApp.

1.2.3 Standar Konfigurasi Hardware dan Software:

- Dual Westmere Hex-core (24 Logical CPU)

- 100GB RAM, SSD

- Dual NIC (user-facing, back-end/distribusi)

- FreeBSD 8.3

- OTP R14B03
2. FITUR-FITUR WHATSAPP

Berikut ini adalah fitur-fitur yang ada di WhatsApp Web dan Mobile WhatsApp.

2.1 Fitur-Fitur yang ada di WhatsApp Web

1. View Contact: Fitur ini berfungsi untuk melihat contact di phonebook.

2. Contact Info: Fitur ini berguna untuk memberitahu kontak detail.

3. Profile & Status : Fitur ini berguna untuk mengganti profile picture dan status di
WhatsApp. Apabila menggunakan sinkronisasi Facebookdengan Phonebook,
maka PP yang muncul adalah PP Facebook.
4. Smile icon : Untuk menambahkan serunya perbincangan, Anda pun dapat menambahkan
emotions dengan banyak pilihan, seperti : smile emotions, icon-icon seperti cuaca,
binatang, tanaman, alat-alat musik, buku, kartu, dll.

5. Search : digunakan untuk mencari contact dan chat melalui fitur ini.

6. Get Notified of New Messages: Fitur ini berguna untuk memberi tahu pengguna bahwa
ada pesan baru yang masuk.

7. Phone Not Connected: Fitur ini berguna untuk memberi tahu pengguna bahwa HP tidak
terhubung dengan koneksi internet.
8. New Group: Digunakan ketika pengguna ingin membuat grup baru.

9. Ticks: Fitur ini digunakan untuk mengetahui pesan ini sudah terkirim dan sudah terbaca.
Satu tanda centang (berwarna abu-abu) berarti pesan berhasil dikirim, dua tanda centang
(berwarna abu-abu) berarti pesan telah diterima tapi belum dibaca, dan dua tanda centang
berwarna biru berarti pesan telah di baca. Apabila tidak koneksi internet, akan muncul
tanda jam yang mengartikan pengiriman pesan tertunda.

10. Share Media: Digunakan untuk mengirimkan dan mengambil foto.


11. Voice Notes: Digunakan untuk mengirimkan suara.

12. Archieve Chat, Delete Chat:Fitur ini digunakan untuk menyembunyikan chat screen
dan dapat diakse nanti bila diperlukan. Delete Chat berfungsi untuk menghapus chat.

13. Chat: Digunakan untuk chat

14. Last Seen: Untuk mengetahi kapan pengguna tersebut terakhir membuka Whatsapp.

15. Typing: Untuk mengetahui kapan pengguna tersebut sedang mengetik

16. Online: Untuk memberitahui kepada pengguna bahwa ada yang pengguna lain yang
sedang online
2.2 Fitur-Fitur WhatsApp Mobile yang Tidak Ada di web

1. Calls: Fitur ini untuk melihat panggilan masuk, panggilan keluar dan panggilan tak
terjawab.

2. WhatsApp Call: Pengguna bisa melakukan panggilan melalui WhatsApp dengan


koneksi internet

3. Shared Media: Digunakan untuk megirim file-file seperti:


1. Foto (langsung dari kamera, file manager dan media galery)
2. Video (langsung dari video kamera, file manager dan media galery)
3. Audio (langsung merekam suara, dari file manager, dari music galery)
4. Location (Pengguna dapat mengirim lokasi pengguna dengan mengambil posisi Anda
dari Google Maps)
5. Contact (mengirim detail kontak dari phonebook)

4. Block, Report Spam, Add to Contact: Fitur yang muncul ketika ada nomer baru yang
masuk ke dalam WhatsApp. Disini user dapat memblock, mereport ke spam atau
menambahkan ke dalam kontak nomer tersebut.
5. Add Shortcut: Fitur untuk menambahkan shortcut conversation ke dalam homescreen.

6. Email Chat:Digunakan untuk mengirim semua perbincangan melalui email.

7. Wallpaper: Untuk mengganti wallpaper

8. Contacts Help:Fitur ini berguna untuk membantu user mengatasi permasalahan di


kontak.
9. Setting: Pengaturan
1. Help

2. Profile

3. Account
4. Chat & Calls

5. Notifications

6. Contact (mengirim detail kontak dari phonebook)


10. Broadcast: Untuk mengirimkan broadcast message ke semua kontak yang dimiliki
pengguna
3. ARSITEKTUR WHATSAPP

3.1 Host Infrastructure Middleware = BEAM

BEAM merupakan virtual machine untuk bahasa pemrograman Erlang. Sifat yang dimiliki oleh
BEAM adalah ringan dengan konkurensi yang besar, komunikasi asynchronous, isolasi pres, eror
handling, evolusi sistem yang terus berkembang, soft real-time. BEAM juga mendukung
beberapa hal meliputi penjadwalan, proses, manajemen memori, pengoperan pesan.

3.2 Distribution Middleware = XMPP

XMPP (Extensible Messaging and Presence Protocol) adalah protokol komunikasi untuk
middleware yang berorientasi pesan berbasis XML (Extensible Markup Language). XMPP
memungkinkan pertukaran data terstruktur pada ekstensi data antara dua atau lebih entitas
jaringan. Dulunya bernama Jabber, protokol ini dikembangkan oleh komunitas open source
Jabber pada tahun 1999 untuk pesan instan yang bersifat real-time. Dirancang untuk bisa
disebarluaskan, protokol ini juga digunakan untuk sistem publish dan subscribe, peersinyalan
untuk VoIP, video, transfer file, gaming, aplikasi Internet of Things, dan servis internet.
Tidak seperti kebanyakan protokol pesan instan lain, XMPP tersedia dalam standar terbuka dan
menggunakan pendekatan sistem open-source baik dari sisi pengembangan dan aplikasi, yang
artinya memungkinkan semua orang menerapkan servis XMPP dan mengoperasikan dengan
implementasi teknologi lain. Karena bersifat protokol terbuka, implementasi dan pengembangan
dapat menggunakan lisensi software apa saja. Meskipun banyak server, client, dan library yang
didistribusikan secara gratis dan open source, banyak pula aplikasi komersial yang
mengimplementasikan dengan XMPP.

3.3 Common middleware services = Mnesia (Database)

Mnesia merupakan database manajemen sistem yang bersifat soft real-time terdistribusi yang
ditulis dlam bahasa pemrograman erlang. Mnesia dikembangkan oleh Ericsson untuk sistem soft
real-time terdistribusi dan pemakaian tingkat tinggi untuk pekerjaan komputasi yang
berhubungan dengan telekomunikasi. Mnesia mendukung bahasa pemrograman erlang apabila
menggunakan DBMS.

3.4 Domain-specific middleware services = OTP (Open Telecom Platform)


OTP merupakan bagian penting dari distribusi open source bahasa pemrograman erlang. OTP
merupakan kumpulan middleware, library, tool dan aplikasi server yang ditulis dalam bahasa
pemrograman erlang. OTP pada erlang terdiri dari :

 Interpreter Erlang
 Compiler Erlang
 Protokol untuk komunikasi antar server (node)
 Corba Object Request Broker
 Tool analisis static bernama Dialyzer
 Database server terdistribusi (Mnesia)
 dan masih banyak libray lainnya.

3.5 Software Distribution System Architecture

Software distribusi yang digunakan WhatsApp adalah bundle software stack LYME (Linux,
Yaws, Mnesia, Erlang). Linux digunakan sebagai kernel, Yaws digunakan sebagai web-server,
Mnesia digunakan sebagai database, Erlang digunakan sebagai bahasa pemrograman dasar.

3.6 System Distribution System Architectue

Dasar sistem distribusi WhatsApp secara singkat dapat dijelaskan seperti gambar di bawah ini:
Pesan jenis Multimedia Message Service (MMS) seperti audio, video dan gambar menggunakan
arsitektur sistem distribusi yang berbeda dengan sistem distribusi dasar. Secara singkat,
arsitektur untuk pesan MMS dapat dijelaskan secara singkat seperti gambar di bawah ini:

Jumlah distribusi hardware yang dimiliki WhatsApp hingga saat ini adalah sebagai berikut: 550
server, 150 untuk chat server (1 juta user per server), 250 untuk mms server, 2x296-v2 Ivy
Bridge 10-core (total 40 thread), 64 sampai 512 GB RAM, SSD (kecuali video), Dual-link GigE
x2 (public dan private).
4. PENERAPAN WHATSAPP

WhatsApp atau sebagian besar aplikasi messaging yang lain jarang bekerja secara peer to peer,
sehingga tidak akan membuka koneksi (dari perangkat) ke setiap perangkat teman si pengguna.
Akan tetapi, perangkat yang dimiliki pengguna terhubung ke server mereka. Penggunaan
protokol TCP kustom atau mungkin HTTP dapat mengkomunikasikan pesan pengguna ke server.
Kemudian server akan mengirimkan pesan pengguna ke perangkat milik teman sipengguna. Jika
teman penggunasedang membuka aplikasi WhatsApp atau setidaknya ada proses dari aplikasi
yang sedang berjalan,kemungkinan ada sambungan langsung ke server. WhatsApp akan
menggunakan koneksi tersebut untuk mengirimkan pesan kepada teman-teman si pengguna.
Akan tetapi,jika aplikasi mereka sedang "offline" maka penggunaakan mengirimkan push
notification sebagai gantinya. Push notification ini disimpan sementara di server sampai mereka
online kembali.

Dalam pembuatannya, WhatsApp menggunakan bahasa pemrograman Erlang. Bahasaini


dibangun untuk menulis aplikasi scalable yang dirancang untuk menahan kesalahan. Erlang
menggunakan abstraksi yang disebut model Aktor untuk concurrency. Aktor berkomunikasi
dengan saling mengirimkan pesan satu sama lain.Aktor bisa saja berada pada mesin yang sama
atau pada mesin yang berbeda. Sebuah implementasi sederhana dari WhatsApp bisa seperti:

- Setiap user / perangkat direpresentasikan sebagai seorang aktor. Aktor ini bertanggung
jawab untuk menangani inbox pengguna, bagaimana hal itu bisa terserialisasi ke disk,
pesan yang dikirimkan oleh pengguna, dan pesan yang diterima oleh pengguna.
Contoh:
Diasumsikan ada dua pengguna WhatsApp yang bernama Alice dan Bob, anggap bahwa
Alice dan Bob berteman di WhatsApp. Jadi, ada aktor yakni aktor Alice dan aktor Bob.
 Alice memutuskan untuk mengirim pesan kepada Bob. Telepon yang dimiliki
Alice menetapkan koneksi ke server WhatsApp dan memastikan bahwa koneksi
ini pasti berasal dari telepon Alice. Alice sekarang mengirimkan pesan melalui
TCP sebagai berikut: "Untuk Bob: Sebuah raksasa menyerang Jembatan Golden
Gate". Kemudian, salah satu dari server front-end WhatsApp mendeserialisasi
pesan tersebut kepada aktor yang bernama Alice.
 Aktor Alice ini kemudian memutuskan untuk menserialisasikan pesan tersebut
dan menyimpannya dalam sebuah file yang bernama “Alice’s Sent Message”,
yang tersimpan dalam file sistem yang direplikasi untuk mencegah hilangnya data
akibat proses yang tak terduga.
 Aktor Alice kemudian memutuskan untuk meneruskan pesan tersebut kepada
Aktor Bob dengan menampilkan pesan "Msg1 dari Alice: Sebuahraksasa
menyerang Jembatan Golden Gate". Aktor Alice akan terus mencoba dengan
back-off eksponensial sampai aktor Bobmengakui bahwa ia telah menerima
pesan.
 Aktor Bob akhirnya menerima pesan dan memutuskan untuk menyimpan pesan
tersebut di sebuah file yang bernama "Bob Inbox". Setelah pesan disimpan,aktor
Bob akan menyatakan bahwa ia telah menerima pesan dari aktor Alice dengan
mengirimkan pesan kepada aktor Alice, “I received Msg1”. Sekarang, aktor Alice
dapat berhenti melakukan upaya pengiriman Msg1, karena aktor Bob telah
menyatakan bahwa ia sudah menerima pesan yang dikirimkan aktor
Alice.Selanjutnya, aktor Bob akan memeriksa apakah telepon Bob memiliki
sambungan aktif ke server. Yang dilakukan aktor Bob adalah streaming pesan ke
perangkat melalui TCP.

Bob kemudian melihat pesan dari Alice dan memberikan balasan dengan isi "Untuk Alice: Mari
kita membuat robot raksasa untuk melawan mereka". Proses yang terjadi sama seperti seperti
proses pertama (ketika Alice ingin mengirimkan pesan kepada Bob). Aktor Bob kemudian
mengulangi Langkah 2 dan 3 untuk memastikan apakah Alice menerima balasan yang
dikirimkan oleh Bob.

4.1 CARA VERIFIKASI NOMOR TELEPON PADA WHATSAPP

1. Periksa apakah pengguna telah memasukkan nomor telepon yang benar.


a. Pengguna memasukkan kode Negara pada kotak di sebelah kiri. Untuk Indonesia,
maka kode negaranya adalah +62.
b. Pengguna memasukkan nomor telepon pada kotak di sebelah kanan. Pengguna tidak
perlu menambahkan awalan nol (0) apa pun sebelum nomor mereka.

2. Memastikan bahwa pengguna telah tersambung ke Internet atau Wi-Fi, data seluler, 4G, atau
layanan EDGE. Jika pengguna sedang roaming, proses verifikasi tidak akan berjalan dengan
benar.
3. Ada dua cara WhatsApp mengirimkan kode verifikasi ke pengguna. Cara yang pertama
adalah dengan SMS dan yang kedua adalah dengan pilihan “Telepon Saya”.

a. SMS
WhatsApp akan mengirimkan satu kali SMS yang berisi pesan untuk verifikasi
nomor telepon pengguna. Sebelum mengirimkan pesan konfirmasi, pihak
WhatsApp akan memastikan sekali lagi apakah nomor telepon yang diinput sudah
benar apa belum. Jika belum benar, maka perubahan nomor telepon dapat
dilakukan. Tunggu beberapa saat, kemudian pesan verifikasi akan dikirim dan
secara otomatis kode verifikasi akan terinput pada aplikasi, dan proses verifikasi
selesai.
b. Telepon Saya
Pilih opsi Telepon Saya untuk meminta kode melalui panggilan, lalu tunggu
beberapa saat hingga telepon pengguna berdering. Saat panggilan tersebut
diangkat, maka aka nada suara otomatis yang memberikan kode aktivasi pada
pengguna. Selanjutnya pengguna diharuskan untuk mengetik kode tersebut.
WhatsApp akan terverifikasi.
4.2 PENERAPAN WHATSAPP PADA WEB

4.2.1 Autentikasi

WhatsApp tidak meggunakan sistem autentikasi saat login. Hal ini mengurangi kerumitan saat
login. WhatsApp mengikat akun penggunanya dengan nomor telepon yang mereka gunakan.
Satu nomor telepon hanya bisa digunakan oleh satu pengguna. Nomor telepon itu sendiri
berperan sebagai tandapengenal unik. Untuk password, tidak diperlukan karena pengguna secara
fisik berafiliasi dengan nomor telepon. Jika SMSverifikasi telah diterima oleh pengguna, maka ia
resmi menjadi pengguna WhatsApp.

Untuk mengamankan komunikasi antar server Whatsapp dan telepon, WhatsApp menggunakan
enkripsi end-to-end. Telepon mengenkripsi pesan terlebih dahulu baru mengirimkannya ke
server WhatsApp. Kemudian, server akan mengenkripsi balasan dan mengirimkannya kembali
ke teleponpengguna. Telepon pengguna selanjutnyamendekripsi pesan dan menampilkannya di
layar. Bagaimana enkripsi ini terjadi? Dapat ditarik kesimpulan bahwa agar bisa melakukan
komunikasi yang aman, telepon dan server harus dapat mendekripsi atau mengenkripsi pesan.
Dengan demikian, mereka perlu bertukar token. Token pertama yang ditukar harus terjadi pada
saat pengguna mengautentikasi klien WhatsApp di telepon saat pertama kali (ketika WhatsApp
mengirim 4 digit angka untuk verifikasi). Ini menunjukkan bahwa telepon penggunasudah
memiliki token untuk mengenkripsi / mendekripsi pesan dari server WhatsApp yang berkaitan
dengan nomor telepon pengguna.

Jadi bagaimana klien web WhatsApp tahu pengguna mana yang sedang berhubungan dengan
mereka? Seperti yang telah dijelaskan sebelumnya, tidak ada proses autentikasi password di
tempat pertama.Telepon yang digunakan pengguna harus mengautentikasi / menyajikan identitas
penggunanya,karena telepondapat mengetahui nomor telepon mana yang sedang digunakan dan
juga memiliki token yang membuktikan identitassi pengguna.

Klien web ditampilkan dalam bentuk QR-code agar lebih mudah dan rapi.Untuk mengetahui cara
kerjanya, asumsikan bahwa kita memiliki setidaknya 3 entitas yang berbeda dalam skema
autentikasi. Entitas pertama adalah klien WhatsApp pada smartphone (aplikasi WhatsApp).
Entitas kedua adalah klien web WhatsApp yang dibuka di tab browser, dan entitas terakhir
adalah server WhatsApp yang berada di suatu tempat di internet.

1. Klien web menampilkan QR code.

Kode ini sebenarnya mengandung token yang unik untuk mengidentifikasi klien web pengguna
(tab browser yang digunakan). Untuk menghindari kebingungan, token disebut sebagai WebId.
Klien web terus menerus meminta izin untuk WebId tertentu ke server WhatsApp. Akan tetapi,
Server WhatsApp menolaknya apabila belum dilakukan konfirmasi oleh telepon yang digunakan
si pengguna.

2. Klien Telepon (aplikasi WhatsApp di smartphone Pengguna) membaca QR Code

Klien telepon membaca kode QR yang berisi WebId telepon pengguna, dan mungkin beberapa
tanda pengenal untukautentikasi. Setelah itu, telepon akan mencoba untuk mengautentikasi
(memberikan izin) WebId tertentu atau dengan kata lain, klien telepon memberitahu server
WhatsApp bahwa WebId tertentu ini diperbolehkan untuk mengakses akun WhatsApp tertentu.

3. Klien Web meminta akses ke server WhatsApp

Sekarang, klien telepon sudah mengautentikasi WebId tertentu. Klien web yang meminta akses
ke server WhatsApp sekarang diperbolehkan untuk melanjutkan proses. Klien web akan
menampilkan akun WhatsApp penggunanya.Klien telepon juga memberitahu nomor telepon /
rekening / identitas pengguna ke server WhatsApp ketika mengautentikasi WebId.

4.2.2 Komunikasi
Semua riwayat obrolan pada WhatsApp akan tersimpan padatelepon pengguna. Cara untuk
menampilkan obrolan yang sebelumnya pada Whatsapp berbasis web adalah dengan meminta
data ke telepon pengguna oleh klien web melalui server Whatsapp. Jadi, klien web meminta
kepada server WhatsApp, kemudian server WhatsApp meminta kepada telepon pengguna. Klien
web menggunakan Web Socket untuk berkomunikasi dengan server.
4.2.3 Web Socket
Web Socketmemungkinkan terjadinya komunikasi dua arah / interaksi antara klien web dan
server web. WhatsApp memilih metode ini untuk memungkinkan komunikasi real-time antara
klien web dan klien telepon.

eXtensibleMessagingdanPresenceProtocol (XMPP)digunakan untuk messaging di whatsapp dan


semua yang bekerja padaprotokol ini. Prosesnya adalah:

1. Saat WhatsApp diajalankan, maka WhatsApp akan membuat dua buah soket; satu untuk
listen dan satu lagi untuk mengirimkan pesan ke server.
2. WhatsApp mulai melakukan listen pada soket yang pertama.
3. WhatsApp mengirimkan pesan yang berisi nomor telepon dan port untuk listening soket
ke server dan menunggu pengakuan
4. Server mencatat nomor telepon dan nomor port dalam pesan dan juga alamat IP dari
mana pesan tersebut berasal.
5. Selanjutnya server akan mengirimkan pengakuan ke aplikasi.
6. Aplikasi menerima pengakuan dan menutup soket pesan.
7. Sebuah pesandengannomor telepon Penggunasebagai tujuandatang keserver.
8. Server menggunakanalamatIPdan nomor portyang telahdikaitkan dengannomor telepon
untukmendorongpesan keteleponpengguna.

4.3 STATISTIK

- 465 juta pengguna setiap bulannya.


- 14 miliar pesan masuk dan 40 miliar pesan terkirim tiap harinya.
- 600 juta gambar, 200 juta pesan suara, dan 100 juta video.
- 147 juta koneksi yang terjadi secara bersamaan (concurrent connections).
- (Hingga) 230 ribu login per detik.
- (Hingga) 342 ribu pesan masuk per detik dan 712 ribu pesan terkirim.
- Lebih dari 1 juta orang sign up per hari.
- $0 terinvestasi dari iklan.
- $60 juta investasi dari Sequoia Capital, $3.4 miliar total yang akan dihasilkan Sequoia.
- Jumlah nodes yang mencapai ratusan.
- Lebih dari 8000 cores.
- Ratusan Terabytes RAM.
- Lebih dari 70 juta pesan Erlang per detik.

4.4 PENGGUNAAN SAAT PERAYAAN NATAL DAN TAHUN BARU

- 146Gb/s data yang keluar (Natal).


- 360 juta video yang terunduh (Natal).
- 2 miliar gambar yang terunduh (46 ribu per detik) (Perayaan tahun baru).
- 1 gambar terunduh sebanyak 32 juta kali (Perayaan tahun baru).

4.5 ALASAN MENGGUNAKAN WHATSAPP

1. Tidak ada biaya yang tersembunyi.


Sekali pengguna mengunduh aplikasi WhatsApp, pengguna dapat menggunakannya
untuk chatting sesuka hati. Pemakaian pada tahun pertama adalah beba biaya, namun
untuk tahun selajutnya akan dikenakan biaya tambahan sebesar $0.99/tahun.
2. Multimedia.
Pengguna dapat mengirimkan video, gambar, dan pesan suara kepada teman dan kontak.
3. Grup Obrolan.
Fitur ini memungkinkan pengguna untuk melakukan chatting sampai denga 100 orang
sekaligus. Pengguna dapat membuat grup sebanyak-banyaknya, dan setiap grup memiliki
satu atau lebih admin.
4. Tidak ada biaya Roaming internasional.
Seperti halnya mengirimkan email internasional, mengirim obrolan dengan WhatsApp
kepada pengguna lain yang menggunakan WhatsApp di seluruh penjuru dunia tidak
dikenakan biaya roaming, tidak seperti mengirim SMS yang dikenakan biaya tambahan
jika melakukan pengiriman ke Negara yang berbeda.
5. Tidak ada PIN dan Username.
6. Tidak perlu melakukan Login/Logout.
Pengguna tidak perlu melakukan logout dari komputer atau perangkat lainnya. Dengan
push notifications, WhatsApp selalu On dan terhubung.
7. Tidak perlu menambahkan teman.
Kontak yang ada pada buku telepon pengguna akan otomatis tampil selama ia memiliki
aplikasi WhatsApp.
8. Offline Messages.
Jika pengguna sedang offline, maka WhatsApp akan menyimpang pesan-pesan yang
dikirim sampai mereka menggunakan aplikasi WhatsApp kembali.
9. Alasan Lain-lain.
Share lokasi, mengirimkan kontak orang lain, mengganti wallpaper obrolan, custom suara
notifikasi, mode landscape, akurasi waktu pengiriman pesan, email chat history, pesan
broadcast dan MMS ke banyak kontak dalam satu waktu.
5. WHATSAPP DI MASA DEPAN

Berdasarkan laporan dari tester WhatsApp beta, yaitu Ilhan Pektas dan ADSLZone, WhatsApp
pada update mendatang akan memiliki beberapa fitur seperti “Like” dan juga “Mark as unread”.
Fitur ini akan serupa dengan fitur Like yang ada pada Facebook Messenger, dimana akan muncul
tombol jempol secara otomaatis. Dengan adanya fitur ini,pengguna dapat mengirimkan balasan
pesan dengan cepat dan singkat untuk beberapa pertanyaan yang sederhana tanpa harus mengetik
terlebih dahulu. Selain itu, fitur “Mark as unread”, pengguna akan dapat menghindari tanda
centang biru yang menunjukkan bahwa pesan telah dibaca. Namun hal itu masih belum pasti,
karena mengingat fitur centang biru sendiri masih dapat dinonaktifkan.

Menurut artikel dari ubergizmo.com, pengguna Whatsapp di masa mendatang akan dapat
memilih custom notifications. Di dalam fitur ini, pengguna dapat memilih notification tone,
vibration dan popup notifications. Fitur ini dapat diaktifkan untuk hampir semua chat yang anda
miliki. Hal ini berarti, pengguna dapat memilih notifikasi untuk anggota keluarga, partner bisnis,
pengguna juga dapat memilih fitur mute untuk digunakan kepada orang yang mungkin
mengganggu anda dengan pesan chat yang ia kirimkan. Tidak hanya itu saja, di custom
notifications ini, terdapat juga fitur “Mark as unread” dapat menghindari kesalahan tanda
centang biru.

Selain itu, dilansir dariubergizmo.com, menurut beberapa pengguna WhatsApp di forum Android
Police, mereka telah menerima pemberitahuan dari WhatsApp yang mengabarkan bahwa
WhatsApp di masa depan akan memiliki fitur back-up riwayat obrolan dan media ke Google
Drive.Ini berarti bahwa pengguna akan dapat mengkopi data mereka ke dalam cloud dan dapat
mengembalikan data mereka pada hardware baru kapan saja mereka inginkan. Hal ini bisa
dilakukan dengan asumsi bahwa pengguna telah memiliki akun Google Drive terlebih dahulu.

Di forum Android Police tersebut, pengguna WhatsApp mengatakan bahwa mereka menerima
sebuah email WhatsApp yang berisi permintaan untuk melakukan beberapa tertentu. Beberapa di
antaranya dijadikan acuan untuk back-up riwayat obrolan mereka dan media ke Google Drive.
Namun, hingga saat ini, pihak WhatsApp belum mengkonfirmasi kapan tanggal pastinya fitur
tersebut akan diluncurkan, begitu juga dengan kompatibilitas sistem operasinya.

Menurut artikel yang ditulis oleh Geektime, saat ini Facebook berusaha melakukan proses
integrasi WhatsApp kepada Aplikasi Facebook. Langkah awal, proses integrasi tersebut
dilakukan melalui aplikasi Facebook Android. Geektime melaporkan bahwa Facebook Android
versi 31.0.0.7.13 yang belum diluncurkan secara resmi adalah bentuk perwujudan dari integrasi
WhatsApp ke Facebook.

Pada versi Facebook Android ini, pengguna Facebook akan dapat melakukan update status
secara langsung dengan menggunakan aplikasi WhatsApp. Aplikasi ini juga akan dilengkapi
dengan tombol khusus yang akan memungkinkan pengguna Facebook agar dapat update status
Whatsapp di Facebook.

Selain itu, pengembang juga mengatakan bahwa mereka akan memperkenalkan fitur baru di
voice call yaitu “new low data option”. Karena voice call memakan lebih banyak data
dibandingkan dengan chatting, fitur ini dapat digunakan oleh pengguna ketika pengguna berada
di tempat yang memiliki koneksi internet yang rendah atau ketika pengguna memiliki kouta data
yang rendah.

Lebih lanjut diperkirakan WhatsAppdi masa mendatang akan memiliki fitur “people near me”
seperti yang ada di aplikasi Path. Fitur ini akan memberitahu pengguna tentang temannya yang
sedang berada di sekitarnya. Fitur video call nantinya juga akan ditambahkan ke dalam aplikasi
ini. Selain itu, adanya juga “block group” sehingga pengguna dapat memblock group yang tidak
ingin ia masuki.
Kelebihan :

1. Kontak secara otomatis tersinkronisasi


Kelebihan pada aplikasi messenger WhatsApp adalah kontak yang otomatis tersinkron
dengan akun WhatsApp kita, jadi kita tidak perlu repot menambahkan kontak. Setelah
mendaftar, kontak teman akan secara otomatis menjadi kontak di WhatsApp dengan
catatan nomer teman telah menggunakan WhatsApp.
2. Mudah dikustomisasi
Pengguna dapat mengganti background untuk chat sehingga tidak merasa bosan
menggunakannya.
3. Back-up Chat
Jika berganti ponsel tidak kehilangan chat history dengan teman-teman. WhatsApp bisa
dengan mudah memback up percakapan kita.
4. Berkomunikasi menggunakan koneksi Internet
Hanya dengan mengunakan internet bebas chat dan calling tanpa memikirkan pulsa.
5. Sinkronisasi Avatar
Avatar pada WhatsApp dapat diganti secara manual atau otomatis tersinkron dari foto
phonebook atau dari facebook.
6. Tidak Menggunakan PIN
WhatsApp menggunakan nomer telp sebagai pin.

Kekurangan:

1. Berbayar tiap tahunnya


Kekurangan dari aplikasi ini yang adalah lisensinya yang berbayar. Per-tahun dikenakan
biaya sekitar Rp.12.000,-
2. Emotion yang kurang menarik
Banyak pengguna yang mengeluhkan hal ini karena merasa emotion di WhatsApp
terkesan jelek dan kalah dari aplikasi sejenis seperti Line, BBM, atau WeChat.
3. Belum mendukung Video Call
Tidak seperti aplikasi messenger lain pendatang baru yang telah menambahkan fitur
Video Call di Aplikasi Messenger mereka, hingga saat ini WhatsApp ini belum memiliki
fitur tersebut.
4. Berkomunikasi menggunakan koneksi Internet
Karena menggunakan internet untuk berkomunikasi, bila tidak ada kuota internet maka
komunikasi tidak dapat berlangsung.
Daftar Pustaka
http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf
http://www.erlang-factory.com/upload/presentations/752/reed-efsf2013-whatsapp.pdf
http://www.erlang-factory.com/upload/presentations/708/HitchhikersTouroftheBEAM.pdf
http://www.erlang-
factory.com/static/upload/media/1394350183453526efsf2014whatsappscaling.pdf
http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-
billion.html Todd Hoff

Anda mungkin juga menyukai