Anda di halaman 1dari 12

Mengenal Pemrograman Jaringan dengan Java Socket

Wiranti Sri Utami


whiranty68@gmail.com

Abstrak
Perkembangan dunia komputer saat ini sudah sangat cepat ditandai dengan
perkembangan jaringan komputer dan perkembangan bahasa pemrograman. Dalam hal
ini dibutuhkan suatu program yang dapat melakukan integrasi dengan sistem lain yang
dapat berjalan diatas suatu teknologi jaringan cukup tinggi, sehingga mengharuskan kita
untuk lebih banyak belajar apa yang terjadi didalam proses komunikasi jaringan dan
bagaimana cara memprogramnya, yang dalam hal ini penulis mencoba untuk angkat
menjadi sebuah artikel yang berjudul mengenal pemrograman jaringan dengan java
socket. Dalam pemrograman jaringan, kita membutuhkan bahasa pemrograman java
yang memanfaatkan teknologi komunikasi jaringan untuk dapat mengirimkan data dari
sebuah proses ke proses lainnya melalui pipa yang menghubungkan keduanya. Java
telah menyediakan paket java.net yang berisi kelas-kelas dan interface seperti socket,
serversocket, dan datagramsocket. Dalam pemrograman jaringan, setelah membuat
sebuah pipa data antara dua proses maka masing-masing proses akan memegang satu
ujung, setiap ujung dari pipa data ini disebut socket. Aliran data antara kedua socket ini
disebut data stream. Masing-masing socket menggenggam dua stream, yaitu output
stream dan input stream.

Kata Kunci : pemrograman jaringan, java, socket

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pendahuluan
Tujuan dari penulisan artikel ini, agar para pembaca dapat mengenal pemrograman
jaringan dengan java socket. Manfaat dari tulisan artikel ini yaitu pembaca dapat
mengetahui bagaimana cara mengembangkan aplikasi client server sederhana dimana
sebuah server berjalan dapat menghubungi sebuah client yang dapat mengirimkan
sebuah pesan hallo world! dari server ke client. Penulis berharap dengan adanya
artikel ini menjadi langkah awal terbentuknya generasi baru yang memiliki daya
kreatifitas tinggi khususnya dalam bidang komputer dengan mengembangkan teknologi
komunikasi jaringan dengan bahasa pemrograman java yang didalamnya terdapat
socket. Pada bab pembahasan akan dibahas lebih lanjut mengenai pemrograman
jaringan dengan java socket, serta dibahas langkah-langkah membuat sebuah aplikasi
client server dengan java socket.

Pembahasan
Pemrograman jaringan dengan java socket dikembangkan untuk
menyambungkan proses-proses komputasi yang dapat berjalan dalam mesin-mesin yang
berbeda yang terhubung dalam suatu jaringan komputer.
Berikut ini terdapat contoh pemrograman jaringan dengan java socket, diantaranya
sebagai berikut :
Web browser mengakses web server melalui jaringan.
Aplikasi basis data, dimana didalamnya terdapat client dan server yang berada di
mesin komputer yang terpisah, dan dapat berinteraksi didalam jaringan.
Aplikasi e-mail dimana terdapat mail client yang dapat berkomunikasi dengan
mail server.
Didalam pemrograman jaringan dengan java socket, terdapat sebuah proses yang
dapat mengirimkan data ke proses yang lain dengan menuliskannya ke output stream
yang dimiliki sebuah socket. Sebuah proses dapat menerima data dengan membaca data
yang diterima dari input stream yang dimiliki oleh sebuah socket. Dengan cara ini maka

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
dapat terjadi pertukaran data, dan dapat terjadi sebuah komunikasi dan interaksi antara
dua proses yang berbeda meskipun diantara keduanya terpisah dalam jaringan. Didalam
proses ini dapat terpisah akan tetapi terjaring, baik dalam intranet, extranet maupun
internet, dan tidak membatasi apabila dalam satu proses berada antar benua seperti
halnya proses yang terjadi berada di afrika tengah dan proses lainnya berada di tengah
samudra pasifik.
Kelas-kelas untuk mengembangkan pemrograman jaringan dengan java socket
dikumpulkan dalam package java.net, yang memiliki dua kelas utama yaitu sebagai
berikut :
java.net.serversocket, package ini digunakan untuk membangun sebuah server
java.net.socket, package ini digunakan untuk membangun pipa antara server dan
client
Untuk membuat pemrograman jaringan dengan java socket, kita harus
meyiapkan hal-hal berikut ini :
Kita perlu terlebih dahulu menginstall java development kit (jdk).
Setelah menginstall jdk masukkan list program aplikasi client server dengan java
socket pada sebuah directory, yang dalam hal ini penulis memasukkan list
program aplikasi client server pada directory C:\Documents and
Settings\RATIH SD\Java\jdk1.6.0_07\bin.

Langkah-langkah membuat sebuah aplikasi client server dengan java socket


Berikut ini terdapat langkah-langkah untuk membuat sebuah aplikasi client
server yang dapat mengirimkan sebuah pesan hallo world! dari server ke client, yaitu
sebagai berikut :
1. Langkah 1 : Membuat list program HalloWorldServer.java dengan text editor
Buatlah list program berikut ini dan simpanlah dengan nama file
HalloWorldServer.java pada directory yang sudah dibuat sebelumnya.
import java.io.*;
import java.net.*;

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
public class HalloWorldServer
{
private String namaServer;
private ServerSocket serverSocket;

public HalloWorldServer(String namaServer, int port)


throws IOException
{
this.namaServer = namaServer;
System.out.println("Menghidupkan server bernama :" + namaServer + " di port : "
+ port);
serverSocket = new ServerSocket(port);
}
public void operateService()
throws IOException
{
System.out.println(namaServer + " menanti connection ... ");
Socket socket = serverSocket.accept();
String alamatClient = socket.getInetAddress().getHostAddress();

System.out.println(namaServer + " menangkap connection dari "


+ alamatClient);

InputStream inputStream = socket.getInputStream();


InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

OutputStream outputStream = socket.getOutputStream();


PrintWriter printWriter = new PrintWriter(outputStream, true);

String namaClient = bufferedReader.readLine();


System.out.println(namaServer + " membaca nama client : "
+ namaClient);
System.out.println(namaServer + " mengirim pesan : ");
String pesanDikirim = "Pesan dari " + namaServer + ", untuk "
+ namaClient + " di " + alamatClient +
" : Hallo World !";
System.out.println(pesanDikirim);
printWriter.println(pesanDikirim);
bufferedReader.close();
printWriter.close();
socket.close();
System.out.println(namaServer + " menutup connection.");
}
}

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
2. Langkah 2 : Membuat list program HalloWorldServerApp.java dengan text
editor
Buatlah list program berikut ini dan simpanlah dengan nama file
HalloWorldServerApp.java pada directory yang sudah dibuat sebelumnya.

public class HalloWorldServerApp


{
public static void main(String[] args)
{
if(args.length<2)
{
System.out.println("Cara penggunaan :java HalloWorldServerApp
<namaServer> <port>");
System.exit(0);
}

try
{
String namaServer = args[0];
String portStr = args[1];
int port = Integer.parseInt(portStr);
HalloWorldServer server =
new HalloWorldServer(namaServer, port);
server.operateService();
}
catch(java.io.IOException ioe)
{
ioe.printStackTrace();
}
}
}
Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
3. Langkah 3 : Membuat list program HalloWorldClient.java dengan text editor
Buatlah list program berikut ini dan simpanlah dengan nama file
HalloWorldClient.java pada directory yang sudah dibuat sebelumnya.
import java.io.*;
import java.net.*;

public class HalloWorldClient


{
private String namaClient;
private String alamatServer;
private int port;

public HalloWorldClient(String namaClient, String alamatServer, int port)


{
System.out.println("Membuat client dengan nama : " + namaClient);
this.namaClient = namaClient;
this.alamatServer = alamatServer;
this.port = port;
}

public void connectToServer()


throws IOException
{
System.out.println(namaClient + " menghubungi server di alamat "
+ alamatServer + " di " + port);
Socket socket = new Socket(alamatServer, port);

InputStream inputStream = socket.getInputStream();


InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

OutputStream outputStream = socket.getOutputStream();


PrintWriter printWriter = new PrintWriter(outputStream, true);

System.out.println(namaClient + " mengirim data tentang nama ke server.");


printWriter.println(namaClient);

System.out.println(namaClient + " menangkap pesan dari server : ");


String pesan = bufferedReader.readLine();

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
System.out.println(pesan);
bufferedReader.close();
printWriter.close();
System.out.println(namaClient + " menutup connection.");
socket.close();
}
}

4. Langkah 4 : Membuat list program HalloWorldClientApp.java dengan text


editor
Buatlah list program berikut ini dan simpanlah dengan nama file
HalloWorldClientApp.java pada directory yang sudah dibuat sebelumnya.

public class HalloWorldClientApp


{
public static void main(String[] args)
{
if(args.length<3)
{
System.out.println("Cara penggunaan:java HalloWorldClientApp
<namaClient> <alamatServer> <nomorPortdariServer>");
System.exit(0);
}

try
{
String namaClient = args[0];
String alamatServer = args[1];
String portStr = args[2];
int port = Integer.parseInt(portStr);
HalloWorldClient client = new HalloWorldClient
(namaClient, alamatServer, port);
client.connectToServer();
}
catch(java.io.IOException ioe)
{
ioe.printStackTrace();
}
}
}

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
5. Langkah 5 : Persiapkan dua buah program command prompt
Untuk menjalankan aplikasi client server, kita harus menyiapkan dua buah
program command prompt dengan langkah-langkah berikut ini klik StartAll
ProgramsAccessoriesCommand Prompt. Setelah itu, kita melakukan perubahan
directory pada kedua program command prompt tersebut ke directory yang sudah kita
buat sebelumnya.
- Menyiapkan program command prompt pertama untuk menjalankan aplikasi server
dan mengubah file directory, seperti contoh gambar dibawah ini penulis
memasukkan aplikasi server pada directory C:\Documents and Settings\RATIH
SD\Java\jdk1.6.0_07\bin.

gambar : program command prompt pertama untuk menjalankan aplikasi server

- Menyiapkan program command prompt pertama untuk menjalankan aplikasi client


dan mengubah file directory, seperti contoh gambar dibawah ini penulis
memasukkan aplikasi client pada directory C:\Documents and Settings\RATIH
SD\Java\jdk1.6.0_07\bin.

gambar : program command prompt pertama untuk menjalankan aplikasi client

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
6. Langkah 6 : Meng-compile helloworldserverapp.java pada program command
prompt pertama
Melalui program command prompt kita mulai meng-compile file
HelloWorldServerApp.java dengan menjalankan perintah javac, sebagai berikut :
javac HelloWorldServerApp.java
Apabila kita menjalani aplikasi client server dengan mengikuti langkah-langkah
dengan benar, maka kita akan menemukan file HelloWorldServerApp.class, dan
HelloWorldServer.class didalam directory yang sama.

7. Langkah 7 : Meng-compile helloworldclientapp.java pada program command


prompt kedua
Melalui program command prompt kita mulai meng-compile file
HelloWorldClientApp.java dengan menjalankan perintah javac, sebagai berikut :
javac HelloWorldClientApp.java
Apabila kita menjalani aplikasi client server dengan mengikuti langkah-langkah
dengan benar, maka kita akan menemukan file HelloWorldClientApp.class, dan
HelloWorldClient.class didalam directory yang sama.

8. Langkah 8 : Menjalankan aplikasi helloworldserverapp pada program


command prompt pertama
Untuk menjalankan aplikasi helloworldserverapp pada program command
prompt pertama kita harus memasukkan perintah java, sebagai berikut :
java HelloWorldServerApp
Setelah itu akan muncul pesan cara pengguna : java HalloWorldServerApp
<namaServer> <port>, kemudian kita jalankan aplikasi helloworldserverapp dengan
perintah berikut ini :
java HalloWorldServerApp HelloWorldServer 8080

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Tampilan yang muncul pada command prompt pertama :

gambar : tampilan aplikasi HalloWorldServerApp pada program command prompt pertama

9. Langkah 9 : Menjalankan aplikasi helloworldclientapp pada program


command prompt kedua
Untuk menjalankan aplikasi helloworldclientapp pada program command
prompt pertama kita harus memasukkan perintah java, sebagai berikut :
java HelloWorldClientApp
Setelah itu akan muncul pesan cara pengguna : java HalloWorldClientApp
<namaClient> <alamatServer> <nomorPortdariServer>, kemudian kita jalankan
aplikasi helloworldclientapp dengan perintah berikut ini :
java HalloWorldClientApp whiranty68@gmail.com localhost 8080
Tampilan yang muncul pada command prompt kedua :

gambar : tampilan aplikasi HalloWorldClientApp pada program command prompt kedua

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
10. Langkah 10 : Perkembangan komunikasi aplikasi client-server dengan java
socket
- Pada saat HalloWorldServerApp mendapat connection, akan ditemukan catatan
pada program command prompt pertama berikut ini :

HalloWorldServer mengangkap connection dari 127.0.0.1


HalloWorldServer membaca nama client : whiranty68@gmail.com
HalloWorldServer mengirim pesan :
Pesan dari HalloWorldServer, untuk whiranty68@gmail.com di 127.0.0.1 : Hallo World !

- Pada saat HalloWorldClientApp mendapat connection, akan ditemukan catatan pada


program command prompt kedua berikut ini :

Whiranty68@gmail.com mengirim data tentang nama ke server.

Whiranty68@gmail.com menangkap pesan dari server :

Pesan dari HalloWorldServer, untuk whiranty68@gmail.com di 127.0.0.1 : HalloWorld !

- Setelah server mengirimkan pesan Hallo World ! ke client, keduanya menutup


connection. Pada client menutup connection sebagai berikut :

Whiranty68@gmail.com menutup connection

- Pada server menutup connection sebagi berikut :

HalloWorldServer menutup connection

Penutup
Demikianlah artikel ini dibuat dengan judul mengenal pemrograman jaringan dengan
java socket, semoga artikel ini dapat bermanfaat bagi para pembaca dan penulis
berharap dengan adanya artikel ini semoga para pembaca tidak hanya dapat mengenal

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
pemrograman jaringan dengan java socket, para pembaca pun semoga dapat mencoba
membuat sebuah aplikasi client server dengan teknologi java socket yang dapat
mengirimkan sebuah pesan seperti pesan hallo world ! dari server ke client.

Referensi
http://ikc.dinus.ac.id/berseri/eko-java/jaringan.php
http://wahyuganteng72.blogspot.com/2011/02/jaringan-network-dalam-
pemrograman.html
http://sumarna.staff.gunadarma.ac.id/.../4.+TCP+Socket.pdf
http://lecturer.ukdw.ac.id/anton/download/PEMROGRAMAN%20JARINGAN-
Modul6.pdf
http://andipublisher.com/produk-1202004184-pemrograman-jaringan-dengan-java-
cd.html
http://felix.staff.unisbank.ac.id/files/2011/03/BPP-Pemrograman-Jaringan.pdf
http://firmanfujiansyah.wordpress.com/category/pemrograman-jaringan/

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

Lisensi Dokumen:
Copyright 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org

Anda mungkin juga menyukai