• Tidak ada hasil yang ditemukan

TINJAUAN PUSTAKA Aplikasi Grupchat di Android Menggunakan Websocket.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TINJAUAN PUSTAKA Aplikasi Grupchat di Android Menggunakan Websocket."

Copied!
17
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA 2.1 Telaah Penelitian

Telaah ini digunakan sebagai bahan perbandingan antara penelitian yang

sudah dilakukan dan yang akan dirancang oleh peneliti. Beberapa telaah penelitian tersebut diantaranya:

LU’LU’UN NISA KURNIA PUTRI (2011) dalam penelitian berjudul ANALISIS,

PERANCANGAN DAN IMPLEMENTASI APLIKASI CHATTING BERBASIS OBJEK mengatakan bahwa komunikasi adalah bagian yang tidak dapat dipisahkan

dengan kehidupan manusia. Bentuk dan media untuk berkomunikasi juga mengalami perubahan seiring dengan berkembangnya teknologi. Bentuk

komunikasi dimulai dengan komunikasi bertatap muka dan melalui surat, kemudia setelah ditemukannya jaringan computer dan koneksi internet, komunikasi semakin berkembang sehingga dapat dilakukan dimana saja dan kapan saja tanpa harus

bertemu langsung pada satu tempat.

Penelitian ini mengembangkan sebuah system komunikasi teks antarmuka melalui

protocol internet. System komunikasi ini dikhususkan untuk digunakan pada jaringan local atau LAN dan ditulis menggunakan bahasa pemrograman Java (J2SE) dengan memanfaatkan teknologi multicast (MulticastSocket) yang telah didukung

dalam pemrograman Java. Metode penelitian yang dipakai adalah metode RAD (Rapid Application Development). Metode RAD adalah metode pengembangan

(2)

pendek dengan menggunakan pendekatan konstruksi berbasis komponen yang

meliputi pemodelan bisnis, pemodelan data, pemodelan proses, pembuatan aplikasi dan pengujian.

Berdasarkan pengujian, aplikasi chatting ini dapat berjalan dengan baik.

Komunikasi teks yang didukung adalah komunikasi public, komunikasi private dan komunikasi grup. Aplikasi chatting ini menggunakan koneksi peer to peer yang

artinya masing-masing komputer berada pada tingkat yang sama. Aplikasi chatting ini dapat dikembangkan lebih lanjut dengan menambah fitur-fitur lain seperti proses

login, komunikasi suara, video atau transfer file.

LISDA (2011) dalam penelitian berjudul PEMBUATAN APLIKASI CHATTING

CLIENT-SERVER JARINGAN LOKAL MENGGUNAKAN JAVA 2

STANDARD EDITION PI mengatakan bahwa Perkembangan teknologi terus berkembang seiiring dengan berjalannya waktu. Banyak aplikasi-aplikasi yang dikembangkan oleh seorang programmer agar aplikasinya berjalan dengan

dukungan internet. Aplikasi yang terhubung dengan internet tentu saja akan selalu diperbaharui namun ada juga yang tidak diperbaharui karena masalah

kompatibilitas. Penulis tertarik untuk membuat aplikasi chatting client-server jaringan lokal yang tidak terhubung dengan internet, dimana dalam pembuatan aplikasi ini penulis menggunakan bahasa pemrograman Java 2 Standard Edition

(J2SE) dan memanfaatkan penomoran IP, soket, serta port yang dimiliki komputer dalam suatu jaringan lokal. Aplikasi chating client-server ini adalah aplikasi yang

(3)

ada minimal dua komputer yang terhubung untuk dapat berkomunikasi. Pada

penulisan ini berisi mengenai cara pembuatan aplikasi chatting client-server jaringan lokal menggunakan Java 2 Standard Edition. Konsep pembuatan juga dijelaskan secara bertahap dimulai dari perancangan aplikasi hingga pengujian serta

dilengkapi dengan lampiran source code dan gambar dari langkah-langkah yang dilakukan.

2.2 Landasan Teori

Beberapa teori yang perlu dikaji dalam penelitian ini, diantaranya pengertian chat, websocket, android, XML, java, jquery, JSON, apache-tomcat,

android SDK, client server

2.2.1 Pengertian Chat

Chat adalah suatu feature atau suatu program di Internet untuk berkomunikasi langsung sesama pengguna internet yang sedang online / yang sedang sama-sama menggunakan Internet. Komunikasi ini dapat berupa teks

(text chat) ataupun suara (voice chat). Atau definisi chatting adalah suatu

pesan instant ataupun instant messaging di sebuah teknologi jaringan

komputer yang mengijinkan pemakainya untuk mengirimkan pesan ke pengguna lain yang tersambung dalam sebuah jaringan komputer ataupun

internet.

Chatting tidak hanya populer dikalangan kaum remaja atau anak

muda saja tetapai jaman sekarang ini, sudah merambah kekalangan orang tua

(4)

mengenai apa saja mulai dari persahabatan, pekerjaan, pelajaran disekolah,

mata kuliah, sampai masalah percintaan dan perjodohan, bahkan sampai dengan hal-hal bersifat pribadi sekali pun. beberapa fungsi dan manfaat

chatting yang bisa kita diperoleh, diantaranya seperti:

a. Sarana murah serta mudah untuk berkomunikasi.

b. Sebagai sarana konsultasi dengan dokter (Beberapa situs tertentu menyediakan jasa konsultasi dengan dokter, & kita dapat memanfaatkan layanan tersebut)

c. Sebagai sarana untuk berhubungan dengan para pakar.

d. Mengetahui isi buku.

e. Dapat mendapatkan teman yang baru.

f. Sebagai sarana belajar dan juga berdiskusi, dan yang lainnya

(Sora N, 2015)

2.2.2 WebSocket

WebSocket adalah standar baru untuk komunikasi realtime pada Web

dan aplikasi mobile. WebSocket dirancang untuk diterapkan di browser web

dan server web, tetapi dapat digunakan oleh aplikasi client atau server.

WebSocket adalah protokol yang menyediakan saluran komunikasi

full-duplex melalui koneksi TCP tunggal. Websocket termasuk dalam lapisan

(5)

sebagai RFC 6455 pada tahun 2011, dan API WebSocket di Web IDL sedang

distandarisasi oleh W3C.

Perbedaan websocket dengan HTTP adalah jika didalam protocol HTTP client harus merequest ke server untuk meminta data baru, setelah itu

server akan merespon permintaan client dan koneksi tertutup, begitu

seterusnya client harus merequest terlebih dahulu ke server untuk

mendapatkan data-data terbaru di server. Sedangkan websocket jika client telah terhubung dengan server maka koneksi akan tetap terbuka selama yang diinginkan client, dan keduanya akan mengirim dan menerima pesan secara

terus menerus.

2.2.2.1Manfaat WebSocket

1. Websocket memungkinkan server untuk mendorong data kepada client

yang terhubung

2. Mengurangi traffic atau lalu lintas jaringan yang tidak perlu dan latency menggunakan full duplex melalui koneksi tunggal (bukan dua). 3. Streaming melalui proxy dan firewall, mendukung komunikasi

simultan hulu dan hilir.

4. Kompatibel dengan pre-WebSocket dunia dengan cara beralih dari koneksi HTTP ke WebSockets.

2.2.2.2Aplikasi Yang Harus Menggunakan WebSocket

(6)

2. Aplikasi langsung atau Realtime Apps

3. Aplikasi dimana data live sangat dibutuhkan, seperti pasar saham, atau kurs.

2.2.2.3WebSocket Client

1. Di website, WebSocket didukung oleh browser seperti Google Chrome,

Firefox, Opera

2. Pada ponsel, WebSocket support di iOS dan Android

3. WebSocket client menggunakan Javascript untuk meminta atau

merequest ke serve

2.2.2.4WebSocket Server

Pada server, WebSocket sudah support di Ruby, Java, Objective-C, PHP,

.NET, Node.js, ActionScript dan banyak bahasa lainnya, bisa dicoba pada website-website berikut ini Ruby, Java, Objective-C(iOS), PHP, .NET, node.js. (JurnalWeb, 2015)

2.2.3 Android

Android adalah sistem operasi berbasis linux untuke mobile seperti

smartphone dan tablet PC. Android termasuk sistem operasi open source

sehingga semua pengguna dapat mengembangkan dan membuat aplikasi sendiri.

(7)

Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan

peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance

menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. (aingindra, 2013)

2.2.4 XML

XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya.

XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan

pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML

mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.

Secara sederhana XML adalah suatu bahasa yang digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis

(8)

dokumen. XML adalah suatu aplikasi profil dari SGML. Seperti yang

didefinisikan dari ISO 8879, SGML adalah cara standart dan

vendor-independent.

XML tidak mempunyai definisi secara tepat karena ada yang

berpendapat XML bukanlah bahasa pemograman melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain

(Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu

XML bukanlah solusi semua hal untuk tujuan semua user. Sedangkan peran dari markup itu sendiri berupa:

1. Markup dapat menambah maksud arti (semantic) suatu data. 2. Dapat memisahkan data.

3. Dapat mendefinisikan peran data. 4. Dapat mendefinisikan batasan data. 5. Dapat menfenisikan keterhubungan data.

XML merupakan sebuah himpunan bagian (subset) dari SGML yang bertujuan agar SGML secara generik dapat melayani, menerima, dan memproses di dalam web dengan cara seperti yang dimungkinkan HTML saat

ini. XML didesain untuk kemudahan implementasi dan interoperabilitas dengan SGML maupun HTML. XML adalah bahasa markup yang dirancang

(9)

XML merubah cara kita berpikir untuk mengembangkan

suatu software terutama aplikasi web. Masalah yang kita sekarang adalah bagaimana caranya untuk bertukar informasi antar satu aplikasi dengan aplikasi lain. Kadang kolaborasi antara satu aplikasi dengan aplikasi yang lain

masih harus ditentukan dengan spesifikasi aplikasi tersebut. Padahal seharusnya kita hanya perlu mendapatkan informasi data bukan mengerti cara

kerja aplikasi lain itu, disinilah visi internet yang belum tercapai. Visi ini adalah dunia internet dimana PC, server, smart devices dan internet-based

device dapat berkolaborasi tanpa ada halangan. Bisnis-bisnis akan dapat

bertukar data menyediakan customized dan comprehensive solusi kepada

customer. Dan yang paling utama adalah informasi yang dibutuhkan dapat

diakses dari mana saja dan dengan computing device, platform, atau aplikasi yang kita gunakan. XML dapat memungkinkan pertukaran informasi atau data

antar device (server, PCs, smart device, aplikasi, dan situs web). Data ini akan menjadi independent (unlocked), memudahkannya untuk diorganisir, diprogram, dan dirubah, dan ditukar antar situs web atau aplikasi apa saja.

Karena kebutuhan ini, maka makin banyak teknologi berbasis XML yang keluar.

( Yogi Erlangga, 2012)

2.2.5 Java

Java adalah bahasa pemrograman yang multi platform dan multi

(10)

anda dapat menjalankannya hampir di semua komputer dan perangkat lain

yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine.

Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non -spesifik.

Slogan Java adalah “Tulis sekali, jalankan di manapun”. Sekarang ini

Java menjadi sebuah bahasa pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan perangkat lunak. Kebanyakan perangkat

lunak yang menggunakan Java adalah ponsel feature dan ponsel pintar atau smartphone.

Kelebihan Java yang pertama tentu saja multiplatform. Java dapat dijalankan dalam beberapa platform komputer dan sistem operasi yang berbeda. Hal ini sesuai dengan slogannya yangs udah dibahas sebelumnya.

Yang kedua adalah OOP atau Object Oriented Programming. Java memiliki library yang lengkap. Library disini adalah sebuah kumpulan dari program

yang disertakan dalam Java. Hal ini akan memudahkan pemrograman menjadi lebih mudah. Kelengkapan library semakin beragam jika ditambah dengan karya komunitas Java.

(11)

disesuaikan jika dijalankan pada platform yang berbeda. Misalnya untuk J2SE

dengan platform SWT-AWT bridge tidak dapat berfungsi di Mac OS X. Kekurangan lainnya adalah kemudahan aplikasi Java didekompilasi. Dekompilasi adalah suatu proses membalikkan sebuah aplikasi menjadi kode

sumbernya. Hal ini memungkinkan terjadi pada Java karena berupa bytecode yang menyimpan bahasa tingkat tinggi. Hal ini terjadi pula pada platform

.NET dari Microsoft sehingga program yang dihasilkan mudah dibajak kodenya karena sulit untuk disembunyikan.

Kekurangan Java yang lain adalah penggunaan memori yang cukup

banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java. Namun hal ini memang sesuai dengan fitur beragam yang dimiliki oleh Java.

Masalah memori ini juga tidak dialami oleh semua pengguna aplikasi Java. Mereka yang sudah menggunakan perangkat keras dengan teknologi terbaru tidak merasakan kelambatan dan konsumsi memori Java yang tinggi. Lain

halnya dengan mereka yang menggunakan teknologi lama atau komputer yang sudah berumur tua lebih dari empat tahun akan merasakan adanya

kelambatan. Namun apapun kelemahan yang dimiliki Java, faktanya adalah Java merupakan bahasa pemrograman yang populer dan digunakan di seluruh dunia saat ini.(vicky, 2012)

2.2.6 Jquery

JQuery adalah javascript library, jQuery mempunyai semboyan

(12)

javascript. JQuery adalah javascript library yang cepat dan ringan untuk

menangani dokumen HTML, menangani event, membuat animasi dan interakasi ajax. Library jQuery mempunyai kemampuan, yaitu:

a. Kemudahan mengakses elemen-elemen HTML

b. Memanipulasi elemen HTML c. Memanipulasi CSS

d. Penanganan event HTML

e. Efek-efek javascript dan animasi f. Modifikasi HTML DOM

g. AJAX

h. Menyederhanakan kode javascript lainnya

(Adhie, 2011)

2.2.7 JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat

berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya

bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut,

(13)

JSON terbuat dari dua struktur:

a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau

associative array.

b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan

bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada

dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian

karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini. (JSON.org)

2.2.8 Apache-Tomcat

Menurut (Vukotic & Goodwill, 2011) “The Apache Tomcat server is

an open source, Java-based web application container that was created to run

servlet and JavaServer Pages (JSP) web applications. It was created under

the Apache-Jakarta subproject; however, due to its popularity, it is now

hosted as a separate Apache project, where it is supported and enhanced by a

(14)

Dijelaskan bahwa apache tomcat open source merupakan suatu

wadah aplikasi web berbasis java yang diciptakan untuk menjalankan servlet dan JSP (Java Server Pages) aplikasi web. Apache tomcat dibuat oleh Apache-Jakarta namun, karena popularitasnya sekarang proyek apache tomcat

terpisah dimana apache tomcat didukung dan kembangkan oleh sekelompok relawan dari open source java komunitas. (Vukotic & Goodwill, 2011)

Web server Apache berbasiskan Open Source dan mulai populer di

internet sejak tahun 1996 karena Open Source. Apache bebas didistribusikan oleh siapa saja dan ke siapa saja. Software ini dapat diunduh pada situs

http://www.apache.org dan tersedia untuk berbagai platform, diantaranya Windows, Linux, dan Unix. Agar dokumen-dokumen web yang berekstensi

HTML ataupun PHP bias diakses oleh browser maka dokumen-dokumen tersebut perlu diletakkan dalam direktori khusus yang diatur oleh Apache. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada

user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan, berdasarkan kode PHP yang dituliskan maka dapat saja suatu

database diakses terlebih dahulu (misalnya dalam MySQL) untukmendukung halaman web yang dihasilkan. (Dwiartara, 2010)

2.2.9 Android SDK

Android-SDK merupakan tools bagi para programmer yang ingin mengembangkan aplikasi berbasis google android. Android SDK mencakup

(15)

dari debugger, libraries,handset emulator,dokumentasi, contoh kode,

dan tutorial.

Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktopmodern), Mac OS X 10.4.8 atau lebih,

Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2

atau lebih dengan menggunakanpluginAndroid Development Tools (ADT), dengan ini pengembang dapat menggunakan teks editor untuk mengedit file Java dan XML serta menggunakan peralatan command line untuk

menciptakan, membangun, melakukan debugaplikasi Android dan pengendalian perangkat Android (misalnya, reboot, menginstal paket

perangkat lunak dengan jarak jauh). (haidibarasa, 2013)

2.2.10 Client – Server

Client-server merupakan sebuah arsitektur dimana ada yang

bertindak sebagai server dan client, disini server berperan sebagai penyedia layanan dan pengelola baik aplikasi, data dan keamananya. Sedangkan client

adalah penerima layanan yang telah disediakan oleh server.

Dalam hubungan ini semua berpusat pada server, sehingga lebih aman dan lebih cepat, karena server bertugas menyediakan layanan saja

(16)

2.2.11 TCP/IP

Pengertian TCP/IP adalah sebuah perangkat lunak jaringan komputer yang terdapat dalam satu sistem dan memungkinkan komputer satu dengan komputer lain dapat mentransfer data dalam satu grup

network/jaringan. TCP singkatan dari Transmission Control Protocol dan IP

singkatan dari Internet Protocol. TCP/IP menjadi satu nama karena

fungsinya selalu bergandengan satu sama lain dalam komunikasi data. Fungsi dari TCP/IP adalah sebagai berikut :

 Umumnya TCP / IP digunakan untuk pengiriman file dalam satu jaringan.

 TCP / IP juga sering dimanfaatkan untuk keperluan “Remote login”  Computer mail.

 Telnet, dll.

2.2.11.1 Ketentuan Kelas Alamat IP

Sebuah alamat IP berisi satu bagian network dan satu bagian host, tetapi formatnya tidak sama pada setiap alamat IP. Sejumlah bit alamat dipakai

disini untuk mengidentifikasi network, dan angka dipakai untuk mengidentifikasi host, dan beragam kelas alamat IP. Alamat IP memiliki tiga kelas utama yaitu kelas A, kelas B, dan kelas C. Ketentuan kelas alamat IP

(17)

a. Jika bit pertama dari sebuah alamat IP adalah angka 0, ini menunjukan

network kelas A. Tujuh bit berikutnya menunjukan identitas network, dan

24 bit terakhir menunjukan identitas host. Ada 128 buah network kelas , tetapi didalam setiap kelas A bisa terdapat jutaan host.

b. Jika bit pertama dari dua angka alamat IP adalah 10, ini menunjukan

alamat IP network kelas B. Angka Bit pertama kelas, kemudian 24 bit

berikutnya menunjukan identitas alamat network, dan 10 bit berikutnya untuk host. Ada ribuan angka network kelas B dan setiap kelas B dapat berisi ribuan host.

c. Jika bit pertama dari tiga bit alamat IP adalah 110, ini merupakan alamat

IP kelas C. Tiga bit pertama berupa alamat kelas. 21 bit berikutnya sebagai

Referensi

Dokumen terkait

Oleh sebab itu, dalam penelitian ini dirancang sebuah aplikasi chatting yang berjalan pada handphone dengan menggunakan server lokal, mendukung conference dan

Pada aplikasi chatting ini, rancangan input dibuat dengan struktur client/server yang mana rancangan input pada client adalah rancangan dari aplikasi chatting itu sendiri

Supaya aplikasi dapat saling bertukar pesan menggunakan protokol Websocket maka beberapa hal yang diperlukan yaitu Websocket server untuk mentransmisikan pesan melalui

Pengelolaan database server selain menggunakan aplikasi team viewer, telah terbangunnya pengelolaan database server menggunakan jaringan lokal dengan memanfaatkan

Dalam analisa ini di asumsikan bahwa antara komputer server dan komputer client menggunakan satu jaringan yang sama yang terhubung melalui wifi, apabila sistem

Aplikasi mobile dapat mengirimkan perintah dari smartphone melalui web server yang telah terhubung dengan sensor dan alat berbasis Internet of Things yang ada di kandang, sebaliknya

microcontroller, sekaligus sebagai device untuk koneksi sistem kepada internet, saat terkoneksi pada internet sistem akan terhubung pada server dimana server yang

Hasil pengujian yang diperoleh adalah server dengan IPv4 milik Undip telah terhubung dengan jaringan IPv6 publik menggunakan tunneling 6to4.Aplikasi-aplikasi