Pemrograman Socket menggunakan UDP

dokumen-dokumen yang mirip
Socket pada UDP. Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com

Network Programming 2010 Pertemuan-4. Pemrograman Socket. Husni. Husni.trunojoyo.ac.id Komputasi.wordpress.

Pemrograman Socket menggunakan TCP

MENGGUNAKAN TCP SOCKET. Oleh: M. Ghazali a.k.a. ghanoz 2480

NETWORK PROGRAMMING. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

Pemrograman Jaringan 9. Connectionless Oriented Programming

Pemrograman Jaringan

Pemrograman Socket TCP dan Socket UDP

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

TCP (Transfer Control Protocol) SOCKET PROGRAMMING

Membuat Aplikasi Kalkulator Sederhana Dengan Java

PEMROGRAMAN SOCKET LANJUTAN

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

PEMROGRAMAN JARINGAN

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

A. TUJUAN PEMBELAJARAN

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

Pengenalan J2ME (Java 2 Platform Micro Edition)

Mobile Computing Tugas Individu 1

10.1 Konsep dasar jaringan

Pemrograman Jaringan

BAB II LANDASAN TEORI

JARINGAN KOMPUTER Layanan Dari TCP dan UDP Protocol

TCP DAN UDP. Budhi Irawan, S.Si, M.T

TUGAS JARINGAN KOMPUTER

Network Programming oleh : Yuliana Setiowati

MEMBUAT JAM ANALOG. Wiranti Sri Utami. Abstrak. Pendahuluan.

TASK V OBSERVING TCP/IP, PORT USING COMMAND PROMPT AND WIRESHARK

Sistem Terdistribusi 4

TRANSPORT LAYER. Aplikasi dan Operasi pada TCP dan UDP

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

MENGENAL JAVA APPLET. Wiranti Sri Utami. Abstrak. Pendahuluan.

Sejarah TCP/IP TCP/IP

Pemrograman Jaringan 6.

LAMPIRAN. Berikut ini adalah kode program transmisi video yang diinstall pada sisi user. public static void main(string args[]) throws Exception

IMPLEMENTASI APLIKASI CHEPPYCHAT UNTUK JARINGAN KOMPUTER PADA LOCAL AREA NETWORK

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

APLIKASI CHAT ANTAR PC

Lapisan Transport. Menjamin komunikasi yang handal antara dua buah komputer yang terhubung Terdiri atas :

BAB 2: INTRODUCTION TCP/IP

Membuat Aplikasi Chatting Dengan Java

Deskripsi Layanan Protokol TCP dan UDP. (Tugas Mata Kuliah Jaringan Komputer) Nama: Azwar Hidayat NIM: Kelas: SK 4 C

Komunikasi Antar Proses

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

Fungsi Lapis Transport

TCP/IP (singkatan dari "Transmission Control Protocol")

Riwayat Pendidikan: SDK Lemuel II, Pos Pengumben, Jakarta Barat SMPK Lemuel, Pos Pengumben, Jakarta Barat SMUN 78, Kemanggisan, Jakarta Barat

Refrensi OSI

TRANSPORT LAYER DEFINISI

Percabangan dan Perulangan

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote

Transport Layer El E ectro ect n ro ic En E gineerin ri g Pol o ytech tec nic In I stitu sti t of o Surabaya ITS Kampus ITS Sukolilo Surabaya 60111

Pertemuan III. Referensi Model TCP/IP

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

JARINGAN KOMPUTER JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA : MARINI SUPRIANTY NIM :

Connection Oriented. Kholid F.

BAHASA PEMROGRAMAN JAVA

Materi 7 Layer 4 Transport

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

: M Rasyid Darmawan NIM : TCP. Pengertian TCP. Karakteristik TCP

2.1. Sistem Komunikasi

Minggu 6 Transport Layer

IP Address. Dedi Hermanto

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data

Pertemuan III. Referensi Model TCP/IP

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

A I S Y A T U L K A R I M A

Pemrograman Database Java

TASK 5 JARINGAN KOMPUTER

TRANSPORT LAYER. Fikri Fadlillah, ST

Fungsi Lapis Transport

BAB 4 PROTOKOL TCP UDP - REMOTE

Cara kerja aplikasi yang menggunakan TCP dapat digambarkan oleh di bawah ini :

Analysis protocol TCP, UDP, dan monitoring protocol SSL

Komunikasi Data STMIK AMIKOM Yogyakarta Khusnawi, S.Kom, M.Eng. TCP/IP Architecture

Transport Layer. Oleh : Akhmad Mukhammad

BAB IV ANALISA. Mekanisme pengujian dilakukan dengan menggunakan dua buah server sekaligus

Modul 9 Protokol Transport (TCP/UDP)

26/09/2013. Pertemuan III. Elisabeth, S.Kom - FTI UAJM. Referensi Model TCP/IP

MODUL 2 WIRESHARK Protokol TCP

JARINGAN KOMPUTER. Disusun Oleh : Nama : Febrina Setianingsih NIM : Dosen Pembimbing : Dr. Deris Stiawan, M.T., Ph.D.

BAB 5 Mendapatkan Input dari Keyboard

Pemrograman Web I (Mengenal. Web) Oleh : Devie Rosa Anamisa

MODUL 2 WIRESHARK Protokol TCP

1. Pendahuluan. 2. Tinjauan Pustaka

User Datagram Protocol (UDP)

TCP dan Pengalamatan IP

PEMROGRAMAN SOCKET TUGAS SISTEM TERDISTRIBUSI

FTP Server. Konfigurasi Server Konfigurasi FTP. 1. Klik Menu Start All Programs Control Panel Add/Remove Program

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

J2ME GUI dan Interkoneksi Client Server

Analisis Packets dengan aplikasi Wireshark

Pemrograman JAVA INPUT-OUTPUT

adalah sebuah aturan atau standar yang mengatur hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer dalam Komunikasi Data

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk

Transkripsi:

Pemrograman Socket menggunakan UDP Wiranti Sri Utami whiranty68@gmail.com Abstrak UDP (User Datagram Protokol) merupakan sebuah jenis protokol transfer data yang terbilang sederhana, dikarenakan UDP mempunyai karakteristik connectionless (tidak berbasis koneksi). Data yang dikirimkan menggunakan protokol UDP didalamnya berbentuk packet yang tidak harus melakukan call setup seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai sebuah datagram. Dikarenakan UDP merupakan protokol yang connectionless (tidak berbasis koneksi) maka server tidak perlu membuat objek socket untuk setiap client, dan untuk mengirimkan data menggunakan UDP diperlukan datagram packet dan datagram socket yang dapat melakukan koneksi untuk menerima dan mengirimkan packet dari dan ke berbagai host. Implementasi UDP dalam java tidak menggunakan serversocket dan socket, melainkan menggunakan datagram packet dan datagram socket. Dengan datagram packet dan datagram socket maka alamat tujuan sudah terdapat dalam packet, dan socket hanya diperlukan untuk mengetahui local port mana yang listen dan yang mengirimkan. Pada pemrograman socket menggunakan UDP dapat melakukan koneksi lebih dari satu remote host, dan socket tidak didedikasikan sebagai sebuah single connection seperti TCP. Kata Kunci : socket, UDP

Pendahuluan Pada artikel ini akan membahas mengenai pemrograman socket menggunakan UDP dan untuk pemrograman socket menggunakan TCP sudah dibahas pada artikel sebelumnya yang berjudul pemrograman socket menggunakan TCP. Tujuan penulisan artikel ini agar pembaca dapat mengenal pemrograman socket menggunakan UDP. Kemudian manfaat yang didapat pembaca dalam membaca artikel ini yaitu pembaca tidak hanya mengenal pemrograman socket menggunakan UDP akan tetapi pembaca dapat membuat sebuah aplikasi client server sederhana menggunakan UDP. Pada bab pembahasan akan dibahas lebih lanjut mengenai pemrograman socket menggunakan UDP dan langkahlangkah membuat aplikasi client server sederhana menggunakan UDP. Pada penulisan artikel ini penulis membuat aplikasi client server menggunakan UDP dengan bahasa pemrograman Java dan menggunakan editor notepad++. Penulis berharap semoga dengan adanya artikel ini menjadi langkah awal demi terwujudnya generasi muda yang memiliki pengetahuan yang luas seperti dalam bidang teknologi komputer sehingga dengan pengetahuan dan wawasan yang luas generasi muda dapat bersaing dengan negara-negara maju. Pembahasan Java menyediakan pemrograman jaringan yang didalamnya terdapat pemrograman socket. Dalam pemrograman socket dapat dibangun dengan menggunakan dua model paket yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Perbedaan antara protokol TCP dan UDP terdapat pada karakteristik dari kedua protokol tersebut, dimana protokol TCP memiliki karakteristik sebagai protokol yang berorientasi koneksi (connection oriented) sedangkan pada protokol UDP memiliki karakteristik connectionless (tidak berbasis koneksi). UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup seperti pada

TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya nomor identifier. Sehingga kemungkinan data sampai tidak berurutan dan sangat mungkin hilang atau rusak dalam perjalananan dari host asal ke host tujuan. Tergantung pada host penerima atau tujuan, apakah akan meminta kembali pakcet yang rusak atau hilang. Kelebihan UDP adalah pada saat digunakan pada lightweight protokol, seperti pada DNS (Domain Name Service). Selain itu protokol UDP lebih fleksibel seperti contoh berikut, apabila terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan untuk menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul (node) mengalami kerusakan atau kegagalan, maka packet-packet berikutnya dapat menemukan jalan atau rute pengganti yang melewati simpul tersebut. Datagram UDP Socket diciptakan dengan menggunakan class datagram socket yang menggunakan packet (dalam bentuk representasi object datagram packet) untuk melakukan send dan receive data. Jika dua buah program berkomunikasi menggunakan koneksi UDP, maka keduanya harus mempunyai koneksi datagram socket pada suatu port di komputer. Hal ini dapat ditangani dengan cara membuat object datagram socket, seperti contoh berikut ini : datagramsocket = new DatagramSocket(); Langkah-langkah membuat aplikasi client server sederhana menggunakan UDP Untuk dapat membuat sebuah aplikasi client server menggunakan UDP dibutuhkan hal-hal berikut ini : o Pastikan kita sudah menginstall jdk (java development kit). o Siapkan sebuah editor seperti notepad++ untuk dapat membuat sorce code untuk aplikasi client server sederhana menggunakan UDP.

Setelah itu kita membuat dua buah file source code diantaranya sebagai berikut : o Membuat file source code untuk sisi client dan nama file diberinama UDPClient.java o Membuat file source code untuk sisi server dan nama file diberinama UDPServer.java File bernama UDPClient.java menggunakan protokol UDP Berfungsi sebagai client dari UDPServer yang akan menjadi interface bagi user. Untuk memasukkan kata kunci yang telah disepakati sebelumnya, yaitu nama, nim, exit. Dan mengirimkan setiap pesan yang dimasukkan oleh user ke server, kemudian menampilkan jawaban yang dikirimkan server. Pada UDP client terdiri dalam 8 step, diantaranya sebagai berikut : Pertama dicheck apakah string yang dimasukkan oleh user sama dengan "exit", kalau sama maka akan langsung menuju step 8, akan tetapi kalau tidak dimulai dari step1. - step 1 : Membuat datagram socket. - step 2: Membuat datagram packet outgoing. Ini merupakan packet datagram yang dikirimkan ke server. - step 3: Mengirimkan packet datagram yang telah di buat dalam step 2 ke server. - step 4: Membuat buffer untuk packet yang masuk. - step 5: Membuat datagram packet untuk packet yang masuk. - step 6: Menerima datagram yang masuk. - step 7: Memilah data dari datagram yang masuk. Kemudian menampilkan data isi/content. - step 8: Menutup koneksi ke server.

Berikut ini source code untuk sisi client dan nama file diberinama UDPClient.java import java.io.*; import java.net.*; import java.util.*; public class UDPClient { private static InetAddress host; private static final int PORT = 1234; private static DatagramSocket datagramsocket; private static DatagramPacket inpacket, outpacket; private static byte[] buffer; public static void main(string[] args) { try { host = InetAddress.getLocalHost(); catch(unknownhostexception uhex) { System.out.println("Host ID tidak ditemukan!"); System.exit(1); accessserver(); private static void accessserver() { try { //step 1 datagramsocket = new DatagramSocket(); //men set up stream untuk masukan dari keyboard... Scanner userentry = new Scanner(System.in); String message="", response=""; System.out.println("Selamat Datang di d3ptzz's Client.\nSilahkan Masukkan kata kunci:\n NAMA : untuk melihat data nama.\n NIM : untuk melihat data NIM. \n EXIT : untuk keluar dari d3ptzz's Client. \n Kata kunci anda : "); do { message = userentry.nextline(); if (!message.equals("exit")) { outpacket = new DatagramPacket( message.getbytes(), message.length(), host, PORT); //Step 2. //Step 3... datagramsocket.send(outpacket); buffer = new byte[256]; //Step 4. inpacket = new DatagramPacket( buffer, buffer.length);//step 5.

//Step 6... datagramsocket.receive(inpacket); response = new String(inPacket.getData(),0, inpacket.getlength()); //Step 7. System.out.println( "SERVER> "+response); while (!message.equals("exit")); catch(ioexception ioex) { ioex.printstacktrace(); finally { System.out.println( "\n* Menutup koneksi ke server... *"); datagramsocket.close(); //Step 8. File bernama UDPServer.java menggunakan protokol UDP Berfungsi sebagai server yang memiliki tugas untuk menerima koneksi dari client, kemudian apabila client memasukkan kata kunci, maka dicompare dengan string yang sudah ditentukan sebelumnya, yaitu nama, nim, kemudian memberikan output yang sesuai. Pada UDP server terdiri dalam 11 step, diantaranya sebagai berikut : - step 1 : Membuat datagram socket. - step 2: Membuat buffer untuk packet yang masuk. - step 3: Membuat datagram packet untuk packet yang masuk. - step 4: Menerima datagram yang masuk. - step 5: Memilah data dari datagram yang masuk. Kemudian mengambil data address. - step 6: Memilah data dari datagram yang masuk. Kemudian mengambil data port. - step 7: Memilah data dari datagram yang masuk. Kemudian mengambil data isi.

- step 8: Membandingkan isi datagram yang masuk dengan string yang sudah ditentukan sebelumnya, dan mengisi variable messageout dengan string yang sesuai. - step 9: Membuat datagram untuk dikirimkan ke server berisi messageout, adress client, port client. - step10: Mengirimkan datagram yang telah dibuat pada step 9 ke client. - step11: Apabila terjadi exception, maka koneksi akan diputus. Berikut ini source code untuk sisi client dan nama file diberinama UDPServer.java import java.io.*; import java.net.*; public class UDPServer { private static final int PORT = 1234; private static DatagramSocket datagramsocket; private static DatagramPacket inpacket, outpacket; private static byte[] buffer; public static void main(string[] args) { System.out.print("Membuka Port...\n"); try { datagramsocket = new DatagramSocket(PORT); //Step 1. System.out.println("Berhasil membuka port!\n\nserver hidup. Menunggu koneksi dari klien!"); catch(socketexception sockex) { System.out.println("Tidak dapat membuka port!"); System.exit(1); handleclient(); private static void handleclient() { try { String messagein,messageout; int nummessages = 0; do { buffer = new byte[256]; //Step 2. inpacket = new DatagramPacket(buffer, buffer.length); //Step 3. datagramsocket.receive(inpacket);//step 4.

InetAddress clientaddress = inpacket.getaddress(); //Step 5. int clientport = inpacket.getport(); //Step 6. messagein = new String(inPacket.getData(),0,inPacket.getLength()); //Step7. System.out.println("Message received : " + messagein); nummessages++; //step 8... if(messagein.compareto("nama")==0){ messageout = "NAMA : WIRANTI SRI UTAMI"; else if(messagein.compareto("nim")==0){ messageout = "NIM : 1122469122"; else { messageout="kata kunci anda salah. Mohon ulangi kembali. ( NAMA / NIM / EXIT )"; // outpacket = new DatagramPacket(messageOut.getBytes(), messageout.length(), clientaddress, clientport); //Step 9. datagramsocket.send(outpacket); //Step 10. while (true); catch(ioexception ioex) { ioex.printstacktrace(); finally //jika terjadi exception maka akan menutup koneksi. { System.out.println("\n* Menutup koneksi... *"); datagramsocket.close(); //Step 11. Penutup Didalam pemrograman socket terdapat dua dua model paket protokol yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). UDP (User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Implementasi UDP dalam java

tidak menggunakan serversocket dan socket, melainkan menggunakan datagram packet dan datagram socket. Demikianlah penulisan artikel ini dibuat, semoga artikel ini dapat menambah wawasan bagi pembaca dalam bidang pemrograman java. Penulis berharap semoga pembaca tidak hanya mengenal pemrograman socket menggunakan UDP tetapi dapat mencoba membuat sebuah aplikasi client server sederhana menggunakan UDP. Referensi http://d3ptzz.kandangbuaya.com/2008/03/23/membuat-sebuah-aplikasi-server-clientsederhana-dengan-java/ http://dhealf.com/programming/pemrograman-socket-dengan-udp.html http://dhealf.com/programming/pemrograman-socket-dengan-tcp.html http://www.buyya.com/java/chapter13.pdf https://dl.dropbox.com/u/41163754/source%20code/java%20client%20server/source% 20code.rar Biografi Wiranti Sri Utami. Lahir di Tangerang, pada bulan November. Telah menyelesaikan pendidikan dasar dan menengah di SD Negeri 2 Teluknaga dan SMP Negeri 1 Teluknaga. Menamatkan SMA di SMA Negeri 6 Tangerang pada tahun 2008. Menempuh pendidikan Profesional IT selama 2 tahun di CEP-CCIT FTUI (Continuing Education Program - Center for Computing Information Technology Faculty of Engineering - University of Indonesia), jurusan Software Engineering Java Programming pada tahun 2008-2010. Saat ini wiranti bekerja di Lion Air Bandara Soekarno-Hatta sebagai Administrator dan melanjutkan kuliah S1 di STMIK Raharja mengambil jurusan Teknik Informatika, konsentrasi Software Engeenering. Informasi lebih lanjut dapat melalui email penulis : whiranty68@gmail.com