際際滷

際際滷Share a Scribd company logo
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
Membuat Aplikasi ChattingMembuat Aplikasi Chatting
Dengan JavaDengan Java
M Zainal Arifin
agendogget@yahoo.com
Sudah tidak asing lagi bagi kita tentang chating di internet. Mengobrol lewat internet itu
memang asyik dan menyenangkan sehingga tak jarang seseorang yang pergi ke warung internet
hanya untuk chating saja sampai berjam-jam. Dengan chating lewat internet anda bisa
mendapatkan banyak teman dari penjuru dunia. Hal keamanan merupakan faktor penting bagi
kita dalam berbagi informasi. Misalnya, jika bos kita ingin mendengar laporan kerja karyawan,
maka jika kita memberitahu dengan SMS lewat ICQ, email dan sebagainya serasa tidak efektif
bila kita menginginkan komunikasi dua arah yang saling bertemu dan menjamin keamanan
tinggi sehingga menciptakan suasana yang akrab dan nyaman.
Dalam hal ini anda bisa memakai program chating mIRC32, ICQ, dan sebagainya yang sudah
disediakan oleh warung internet. Apakah orang lain yang tidak diinginkan bisa menyusup dan
mengambil data kita?, tentu saja bisa. Sebab kebanyakan program chating justru memilih dari
segi kegunaan yang umum. Nah, sekarang kita akan mencoba membuat program chating yang
sangat berguna dan meningkatkan keamanan data sehingga mengurangi orang yang tidak
diinginkan masuk ke dalam forum kita dan mencuri data kita.
Hal yang menarik disini adalah kita akan membuat sendiri program chating ini. Dalam hal
permrograman ini saya menggunakan bahasa java yang sudah kita kenal selama beberapa tahun
ini. Java adalah bahasa yang handal, mudah dipelajari bagi pengguna C++, rumus umum dasar
java menyerupai C++ dan ada juga yang tidak mirip, tetapi java lebih mengkhususkan diri
untuk full obyek.
Begini ceritanya, masing-masing server dan client akan menjalankan dua program. Lho kok dua
program?, karena saya akan menyajikan program yang mengirim data (tulisan) dari server ke
klien dan dari klien ke server. Jadi disini anda akan dihadapkan pada bagaimana menyatukan
dua program pada masing-masing computer sehingga masing-masing computer hanya
menjalankan satu program saja. Lebih efektif bukan?, untuk itulah anda bisa memilih dan
1
Lisensi Dokumen:
Copyright 息 2004 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com 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 IlmuKomputer.Com.
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
memodifikasi port, kemananan dan sebagainya secara acak dari kedua program berikut yang
menurut anda memiliki kehandalan.
2
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
Listing programnya sebagai berikut :
1. Server mengirim data ke Client
// program server: simpan dalam ServerKu1.java
// kompile menjadi ServerKu1.class
import java.net.*;
import java.io.*;
public class ServerKu1 {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(2002);
System.out.println("Menunggu Klien...");
Socket s = ss.accept();
System.out.println("Klien telah masuk");
System.out.println("Server pada port = "+
s.getLocalAddress().getHostAddress() + " : " + s.getLocalPort());
System.out.println("Client pada port = "+
s.getInetAddress().getHostAddress() + " : " + s.getPort());
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String greeting = "";
while(!(greeting=br.readLine()).equals("")) { pw.println(greeting); }
pw.close(); s.close(); ss.close();
} catch (Exception e) { e.printStackTrace(); }
}
}
3
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
// program klien : Simpan dalam ClientKu1.java
// kompile menjadi ClientKu1.class
import java.net.*;
import java.io.*;
public class ClientKu1 {
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1",2002);
System.out.println("Komunikasi terhubung");
System.out.println("Client pada port = "+
s.getLocalAddress().getHostAddress() + " : "+ s.getLocalPort());
System.out.println("Server pada port = "+
s.getInetAddress().getHostAddress() + " : "+ s.getPort());
BufferedReader br = new BufferedReader( new InputStreamReader(s.getInputStream()));
System.out.println("Menunggu pesan...");
String greeting = "";
while ((greeting=br.readLine())!=null) { System.out.println(greeting); }
System.out.println("Selesai");
br.close();
s.close();
}
catch (Exception e) { e.printStackTrace(); }
}
}
2. Client mengirim data ke Server
4
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
// program server : Simpan dalam ServerKu2.java
// kompile menjadi ServerKu2.class
import java.net.*;
import java.io.*;
public class ServerKu2 {
public static void main(String args[]) {
int port;
ServerSocket server_socket;
BufferedReader input;
try {
port = Integer.parseInt(args[0]);
}
catch (Exception e) {
System.out.println("port = 2000 (Standarnya)");
port = 2000;
}
try {
server_socket = new ServerSocket(port);
System.out.println("Server menunggu klien di port " +
server_socket.getLocalPort());
// server mondar-mandir disini
while(true) {
Socket socket = server_socket.accept();
System.out.println("Hubungan baru diterima " +
socket.getInetAddress() +
":" + socket.getPort());
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// menampilakan data yang diterima
try {
while(true) {
String message = input.readLine();
if (message==null) break;
System.out.println(message);
}
}
catch (IOException e) {
System.out.println(e);
}
// Client menutup hubungan
try {
socket.close();
System.out.println("Client telah menutup hubungan");
}
catch (IOException e) {
System.out.println(e);
5
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
6
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
// program client : Simpan dalam ClientKu2.java
// kompile menjadi ClientKu2.class
import java.net.*;
import java.io.*;
public class ClientKu2 {
public static void main(String[] args) {
int port = 2002;
String server = "localhost";
Socket socket = null;
String lineToBeSent;
BufferedReader input;
PrintWriter output;
int ERROR = 1;
// read arguments
if(args.length == 2) {
server = args[0];
try {
port = Integer.parseInt(args[1]);
}
catch (Exception e) {
System.out.println("server port = 1500 (Standarnya)");
port = 2002;
}
}
// Koneksi ke server
try {
socket = new Socket(server, port);
System.out.println("Terkoneksi ke server " +
socket.getInetAddress() +
":" + socket.getPort());
}
catch (UnknownHostException e) {
System.out.println(e);
System.exit(ERROR);
}
catch (IOException e) {
System.out.println(e);
System.exit(ERROR);
}
try {
input = new BufferedReader(new InputStreamReader(System.in));
output = new PrintWriter(socket.getOutputStream(),true);
7
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
Untuk mengkompile dan menjalankannya, maka ikuti langkah berikut :
 Server ke Client
1. Kompile ServerKu1.java :
C:> javac ServerKu1.java
Jalankan program :
C:> java ServerKu1
Output :
2. Kompile ClientKu1.java :
C:> javac ClientKu1.java
Jalankan program :
C:> java ClientKu1
Output :
8
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
Setelah ClientKu1.class dijalankan maka anda bisa mengetikkan kalimat di jendela
Server dan akan di tampilkan di jendela klien. Untuk mengakhiri koneksi, anda bisa
menekan enter dua kali atau menutup dari jendela windows.
 Client ke Server
1. Kompile ServerKu2.java :
C:> javac ServerKu2.java
Jalankan program :
C:> java ServerKu2
Output :
9
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
2. Kompile ClientKu2.java :
C:> javac ClientKu2.java
Jalankan program :
C:> java ClientKu2
Output :
Setelah ServerKu2.class dan ClientKu2.class di jalankan, sekarang kesempatan
bagi anda untuk menulis pesan di klien dan nantinya akan di teruskan ke server.
10
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
11
Artikel Populer IlmuKomputer.Com
Copyright 息 2004 IlmuKomputer.Com
Nah, sekarang adalah suatu tantangan bagi anda untuk menyatukan dua program ini menjadi
satu program saja. Selamat mencoba!.
BIOGRAFI PENULIS
M Zainal Arifin, lahir di Malang, 7 agustus 1980. Mengikuti
pendidikan SD sampai Kuliah di Malang. Masih menempuh kuliah
jurusan Matematika di Universitas Brawijaya Malang.
Menggeluti dunia pemrograman sejak tahun 1997 dan sekarang telah
menulis beberapa artikel tentang jaringan dan pemrograman di majalah
komputer. Sekarang sedang melakukan penelitian tentang teknologi suara
dengan program java dengan teman-teman. Sangat tertarik dengan teknologi java terutama pada
jaringan komputer dan mobile.
Penulis dapat dihubungi melalui :Penulis dapat dihubungi melalui :
Email: agendogget@yahoo.com
12

More Related Content

What's hot (11)

Socket Programming TCP Echo Client Server (Python)
Socket Programming  TCP Echo Client Server  (Python)Socket Programming  TCP Echo Client Server  (Python)
Socket Programming TCP Echo Client Server (Python)
Lusiana Diyan
Mail Server Windows Server 2008
Mail Server Windows Server 2008Mail Server Windows Server 2008
Mail Server Windows Server 2008
Iman Trianto
Mhd iqbal
Mhd iqbalMhd iqbal
Mhd iqbal
MhdIqbal9
Laporan pratikum ebook
Laporan pratikum ebookLaporan pratikum ebook
Laporan pratikum ebook
Irgi Songolaspitulekor
Vironica fitria putri tif 2b
Vironica fitria putri tif 2bVironica fitria putri tif 2b
Vironica fitria putri tif 2b
vironicafitriaputri
Tugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazaharaTugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazahara
Hazahara shadah
Ari dimas susanto
Ari dimas susantoAri dimas susanto
Ari dimas susanto
AriSusanto34
Fika nuril hamdiyah
Fika nuril hamdiyahFika nuril hamdiyah
Fika nuril hamdiyah
FikanurilH
Jeni slides j2 me-06-networking
Jeni slides j2 me-06-networkingJeni slides j2 me-06-networking
Jeni slides j2 me-06-networking
UNIVERSITY Of LAMPUNG
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
I Putu Hariyadi
Final project virtualhost jannah
Final project virtualhost jannahFinal project virtualhost jannah
Final project virtualhost jannah
rizki nurjannah
Socket Programming TCP Echo Client Server (Python)
Socket Programming  TCP Echo Client Server  (Python)Socket Programming  TCP Echo Client Server  (Python)
Socket Programming TCP Echo Client Server (Python)
Lusiana Diyan
Mail Server Windows Server 2008
Mail Server Windows Server 2008Mail Server Windows Server 2008
Mail Server Windows Server 2008
Iman Trianto
Mhd iqbal
Mhd iqbalMhd iqbal
Mhd iqbal
MhdIqbal9
Tugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazaharaTugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazahara
Hazahara shadah
Ari dimas susanto
Ari dimas susantoAri dimas susanto
Ari dimas susanto
AriSusanto34
Fika nuril hamdiyah
Fika nuril hamdiyahFika nuril hamdiyah
Fika nuril hamdiyah
FikanurilH
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
I Putu Hariyadi
Final project virtualhost jannah
Final project virtualhost jannahFinal project virtualhost jannah
Final project virtualhost jannah
rizki nurjannah

Viewers also liked (20)

NicoNico
Nico
omarnicolas16
Impress 3Impress 3
Impress 3
Faby_Rapsolo
B'iwen0474
B'iwen0474B'iwen0474
B'iwen0474
GWROY
Hola soy nelly demasiado cheleHola soy nelly demasiado chele
Hola soy nelly demasiado chele
Nelly Patricia Pizarro Lovatic Love
C叩lculo de probabilidadesC叩lculo de probabilidades
C叩lculo de probabilidades
josemanuelcremades
Administraio kontseilua 2
Administraio kontseilua 2Administraio kontseilua 2
Administraio kontseilua 2
ifoodenpresa
Schelotto mar鱈a-foto1c t3Schelotto mar鱈a-foto1c t3
Schelotto mar鱈a-foto1c t3
schelottomaria
 movimiento por teclado movimiento por teclado
movimiento por teclado
santiago ayala
Como inserir foto no perfil da rede cim Como inserir foto no perfil da rede cim
Como inserir foto no perfil da rede cim
Cepam
Slid foreverSlid forever
Slid forever
Guilvia Limma
NJ Turnpike Parsons Brinckerhoff First Deployment
NJ Turnpike Parsons Brinckerhoff First DeploymentNJ Turnpike Parsons Brinckerhoff First Deployment
NJ Turnpike Parsons Brinckerhoff First Deployment
Noah Jenkin
HomenagemHomenagem
Homenagem
Rodrigo Santos Gomes
Factores de riesgo fisicoFactores de riesgo fisico
Factores de riesgo fisico
Fabian017
Mt nm mgi3odq1otblnjrlzxwwlje=Mt nm mgi3odq1otblnjrlzxwwlje=
Mt nm mgi3odq1otblnjrlzxwwlje=
fatimarosaritosilva
Lite Forex Trading
Lite Forex TradingLite Forex Trading
Lite Forex Trading
Lite Forex
Inkemia Junio 2016Inkemia Junio 2016
Inkemia Junio 2016
Sara Chamberlain
Suspen c但maradeputadost辿cana2012 09_11Suspen c但maradeputadost辿cana2012 09_11
Suspen c但maradeputadost辿cana2012 09_11
Nazareno Nunes Rodrigues
Maria virginiaMaria virginia
Maria virginia
Maria Virginia Vargas
丕弌丐. 丕丐乘
丕弌丐. 丕丐乘 丕弌丐. 丕丐乘
丕弌丐. 丕丐乘
Vyacheslav Nilov
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆micParticulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Arboribus
Impress 3Impress 3
Impress 3
Faby_Rapsolo
B'iwen0474
B'iwen0474B'iwen0474
B'iwen0474
GWROY
Hola soy nelly demasiado cheleHola soy nelly demasiado chele
Hola soy nelly demasiado chele
Nelly Patricia Pizarro Lovatic Love
C叩lculo de probabilidadesC叩lculo de probabilidades
C叩lculo de probabilidades
josemanuelcremades
Administraio kontseilua 2
Administraio kontseilua 2Administraio kontseilua 2
Administraio kontseilua 2
ifoodenpresa
Schelotto mar鱈a-foto1c t3Schelotto mar鱈a-foto1c t3
Schelotto mar鱈a-foto1c t3
schelottomaria
 movimiento por teclado movimiento por teclado
movimiento por teclado
santiago ayala
Como inserir foto no perfil da rede cim Como inserir foto no perfil da rede cim
Como inserir foto no perfil da rede cim
Cepam
Slid foreverSlid forever
Slid forever
Guilvia Limma
NJ Turnpike Parsons Brinckerhoff First Deployment
NJ Turnpike Parsons Brinckerhoff First DeploymentNJ Turnpike Parsons Brinckerhoff First Deployment
NJ Turnpike Parsons Brinckerhoff First Deployment
Noah Jenkin
Factores de riesgo fisicoFactores de riesgo fisico
Factores de riesgo fisico
Fabian017
Mt nm mgi3odq1otblnjrlzxwwlje=Mt nm mgi3odq1otblnjrlzxwwlje=
Mt nm mgi3odq1otblnjrlzxwwlje=
fatimarosaritosilva
Lite Forex Trading
Lite Forex TradingLite Forex Trading
Lite Forex Trading
Lite Forex
Inkemia Junio 2016Inkemia Junio 2016
Inkemia Junio 2016
Sara Chamberlain
Suspen c但maradeputadost辿cana2012 09_11Suspen c但maradeputadost辿cana2012 09_11
Suspen c但maradeputadost辿cana2012 09_11
Nazareno Nunes Rodrigues
Maria virginiaMaria virginia
Maria virginia
Maria Virginia Vargas
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆micParticulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Particulars que donen pr辿stecs a PIMEs - Article a L'Econ嘆mic
Arboribus
Ad

Similar to Zainal chatting (13)

Laporan program chatting1
Laporan program chatting1Laporan program chatting1
Laporan program chatting1
ichsanbarokah
Program chatting
Program chattingProgram chatting
Program chatting
Aisy Cuyy
Laporan program chatting
Laporan program chattingLaporan program chatting
Laporan program chatting
ganteng8
Laporan Chatting Server dan Client
Laporan Chatting Server dan ClientLaporan Chatting Server dan Client
Laporan Chatting Server dan Client
trilestari08
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdfhusni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
LiberitoSantos
Jeni Intro2 Bab10 Jaringan
Jeni Intro2 Bab10 JaringanJeni Intro2 Bab10 Jaringan
Jeni Intro2 Bab10 Jaringan
Individual Consultants
Chat33237 33308 33529_ok
Chat33237 33308 33529_okChat33237 33308 33529_ok
Chat33237 33308 33529_ok
Alvin Setiawan
Membangun aplikasi-client-server-dengan-java
Membangun aplikasi-client-server-dengan-javaMembangun aplikasi-client-server-dengan-java
Membangun aplikasi-client-server-dengan-java
Ali Muqorrobien
Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdf
AiAdhi
Praktikum pemrograman jaringan-1-3
Praktikum pemrograman jaringan-1-3Praktikum pemrograman jaringan-1-3
Praktikum pemrograman jaringan-1-3
sulaiman yunus
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3
Fenty Hidayati
Materi 2
Materi 2Materi 2
Materi 2
wawankoerniawan
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan java
Eko Kurniawan Khannedy
Laporan program chatting1
Laporan program chatting1Laporan program chatting1
Laporan program chatting1
ichsanbarokah
Program chatting
Program chattingProgram chatting
Program chatting
Aisy Cuyy
Laporan program chatting
Laporan program chattingLaporan program chatting
Laporan program chatting
ganteng8
Laporan Chatting Server dan Client
Laporan Chatting Server dan ClientLaporan Chatting Server dan Client
Laporan Chatting Server dan Client
trilestari08
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdfhusni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
husni-sister2017_05c_pemrograman_socket_java_server_detail.pdf
LiberitoSantos
Chat33237 33308 33529_ok
Chat33237 33308 33529_okChat33237 33308 33529_ok
Chat33237 33308 33529_ok
Alvin Setiawan
Membangun aplikasi-client-server-dengan-java
Membangun aplikasi-client-server-dengan-javaMembangun aplikasi-client-server-dengan-java
Membangun aplikasi-client-server-dengan-java
Ali Muqorrobien
Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdf
AiAdhi
Praktikum pemrograman jaringan-1-3
Praktikum pemrograman jaringan-1-3Praktikum pemrograman jaringan-1-3
Praktikum pemrograman jaringan-1-3
sulaiman yunus
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3
Fenty Hidayati
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan java
Eko Kurniawan Khannedy
Ad

Recently uploaded (18)

1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
SayyidinaDzakyTaufiq
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptxTUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
SayyidinaDzakyTaufiq
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptxKelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
erni765006
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petaniKuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
mileakrysti
Bahan Ajar kuliah untuk Profesi Insinyur
Bahan Ajar kuliah untuk Profesi InsinyurBahan Ajar kuliah untuk Profesi Insinyur
Bahan Ajar kuliah untuk Profesi Insinyur
RantungKevin
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptxSISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
togapsiagian14
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptxKelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
laurensiadellapy
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptxPresentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
SashaHasratia
overhaul engine kapal tug boath yanmar 6aym ete
overhaul engine kapal tug boath yanmar 6aym eteoverhaul engine kapal tug boath yanmar 6aym ete
overhaul engine kapal tug boath yanmar 6aym ete
yudhi91
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptxKuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
mileakrysti
Safety Briefing example PT. Sintang Raya
Safety Briefing example PT. Sintang RayaSafety Briefing example PT. Sintang Raya
Safety Briefing example PT. Sintang Raya
susenvsr
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
NuhSpart
Etika dan Profesinalisme Keinsinyuran.pptx
Etika dan Profesinalisme Keinsinyuran.pptxEtika dan Profesinalisme Keinsinyuran.pptx
Etika dan Profesinalisme Keinsinyuran.pptx
RantungKevin
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdfPERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
atilete
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
SayyidinaDzakyTaufiq
RB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptxRB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptx
FauzanR7
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptxPROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
farhanflyk2
GRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptxGRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptx
wahidangkasaparipurn
1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
1747802937_20242_411204210152_Ekonomi Teknik P1_W10.pdf
SayyidinaDzakyTaufiq
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptxTUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
TUGAS Terakhir Teknologi Tepat Guna Pada Bidang Energi Alternatif.pptx
SayyidinaDzakyTaufiq
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptxKelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
erni765006
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petaniKuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
mileakrysti
Bahan Ajar kuliah untuk Profesi Insinyur
Bahan Ajar kuliah untuk Profesi InsinyurBahan Ajar kuliah untuk Profesi Insinyur
Bahan Ajar kuliah untuk Profesi Insinyur
RantungKevin
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptxSISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
SISTEM MANUFAKTUR FLEKSIBEL (KELOMPOK 6).pptx
togapsiagian14
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptxKelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
Kelompok 6_Makalah Pembangkit Listrik Tenaga Angin_Rombel 1 PTE 2022.pptx
laurensiadellapy
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptxPresentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
Presentasi tanpa jgfhgfgfhgfhgfhghudul.pptx
SashaHasratia
overhaul engine kapal tug boath yanmar 6aym ete
overhaul engine kapal tug boath yanmar 6aym eteoverhaul engine kapal tug boath yanmar 6aym ete
overhaul engine kapal tug boath yanmar 6aym ete
yudhi91
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptxKuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
mileakrysti
Safety Briefing example PT. Sintang Raya
Safety Briefing example PT. Sintang RayaSafety Briefing example PT. Sintang Raya
Safety Briefing example PT. Sintang Raya
susenvsr
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
Teknologi_Ramah_Teknologi_Ramah_Teknologi_Ramah_PPT_1_Teknologi_Ramah_Lingkun...
NuhSpart
Etika dan Profesinalisme Keinsinyuran.pptx
Etika dan Profesinalisme Keinsinyuran.pptxEtika dan Profesinalisme Keinsinyuran.pptx
Etika dan Profesinalisme Keinsinyuran.pptx
RantungKevin
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdfPERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
PERT 12-PERSAMAAN MOMENTUM dalam mekanika fluida + tugas.pdf
atilete
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
際際滷 material minggu ke enam 1709283682_PTI_pertemuan 6.pptx
SayyidinaDzakyTaufiq
RB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptxRB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptx
FauzanR7
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptxPROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
PROFESI DAN SKKNI BIDANG FOUNDRY, MANAGER,.pptx
farhanflyk2
GRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptxGRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptx
wahidangkasaparipurn

Zainal chatting

  • 1. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com Membuat Aplikasi ChattingMembuat Aplikasi Chatting Dengan JavaDengan Java M Zainal Arifin agendogget@yahoo.com Sudah tidak asing lagi bagi kita tentang chating di internet. Mengobrol lewat internet itu memang asyik dan menyenangkan sehingga tak jarang seseorang yang pergi ke warung internet hanya untuk chating saja sampai berjam-jam. Dengan chating lewat internet anda bisa mendapatkan banyak teman dari penjuru dunia. Hal keamanan merupakan faktor penting bagi kita dalam berbagi informasi. Misalnya, jika bos kita ingin mendengar laporan kerja karyawan, maka jika kita memberitahu dengan SMS lewat ICQ, email dan sebagainya serasa tidak efektif bila kita menginginkan komunikasi dua arah yang saling bertemu dan menjamin keamanan tinggi sehingga menciptakan suasana yang akrab dan nyaman. Dalam hal ini anda bisa memakai program chating mIRC32, ICQ, dan sebagainya yang sudah disediakan oleh warung internet. Apakah orang lain yang tidak diinginkan bisa menyusup dan mengambil data kita?, tentu saja bisa. Sebab kebanyakan program chating justru memilih dari segi kegunaan yang umum. Nah, sekarang kita akan mencoba membuat program chating yang sangat berguna dan meningkatkan keamanan data sehingga mengurangi orang yang tidak diinginkan masuk ke dalam forum kita dan mencuri data kita. Hal yang menarik disini adalah kita akan membuat sendiri program chating ini. Dalam hal permrograman ini saya menggunakan bahasa java yang sudah kita kenal selama beberapa tahun ini. Java adalah bahasa yang handal, mudah dipelajari bagi pengguna C++, rumus umum dasar java menyerupai C++ dan ada juga yang tidak mirip, tetapi java lebih mengkhususkan diri untuk full obyek. Begini ceritanya, masing-masing server dan client akan menjalankan dua program. Lho kok dua program?, karena saya akan menyajikan program yang mengirim data (tulisan) dari server ke klien dan dari klien ke server. Jadi disini anda akan dihadapkan pada bagaimana menyatukan dua program pada masing-masing computer sehingga masing-masing computer hanya menjalankan satu program saja. Lebih efektif bukan?, untuk itulah anda bisa memilih dan 1 Lisensi Dokumen: Copyright 息 2004 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com 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 IlmuKomputer.Com.
  • 2. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com memodifikasi port, kemananan dan sebagainya secara acak dari kedua program berikut yang menurut anda memiliki kehandalan. 2
  • 3. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com Listing programnya sebagai berikut : 1. Server mengirim data ke Client // program server: simpan dalam ServerKu1.java // kompile menjadi ServerKu1.class import java.net.*; import java.io.*; public class ServerKu1 { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(2002); System.out.println("Menunggu Klien..."); Socket s = ss.accept(); System.out.println("Klien telah masuk"); System.out.println("Server pada port = "+ s.getLocalAddress().getHostAddress() + " : " + s.getLocalPort()); System.out.println("Client pada port = "+ s.getInetAddress().getHostAddress() + " : " + s.getPort()); PrintWriter pw = new PrintWriter(s.getOutputStream(), true); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String greeting = ""; while(!(greeting=br.readLine()).equals("")) { pw.println(greeting); } pw.close(); s.close(); ss.close(); } catch (Exception e) { e.printStackTrace(); } } } 3
  • 4. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com // program klien : Simpan dalam ClientKu1.java // kompile menjadi ClientKu1.class import java.net.*; import java.io.*; public class ClientKu1 { public static void main(String[] args) { try { Socket s = new Socket("127.0.0.1",2002); System.out.println("Komunikasi terhubung"); System.out.println("Client pada port = "+ s.getLocalAddress().getHostAddress() + " : "+ s.getLocalPort()); System.out.println("Server pada port = "+ s.getInetAddress().getHostAddress() + " : "+ s.getPort()); BufferedReader br = new BufferedReader( new InputStreamReader(s.getInputStream())); System.out.println("Menunggu pesan..."); String greeting = ""; while ((greeting=br.readLine())!=null) { System.out.println(greeting); } System.out.println("Selesai"); br.close(); s.close(); } catch (Exception e) { e.printStackTrace(); } } } 2. Client mengirim data ke Server 4
  • 5. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com // program server : Simpan dalam ServerKu2.java // kompile menjadi ServerKu2.class import java.net.*; import java.io.*; public class ServerKu2 { public static void main(String args[]) { int port; ServerSocket server_socket; BufferedReader input; try { port = Integer.parseInt(args[0]); } catch (Exception e) { System.out.println("port = 2000 (Standarnya)"); port = 2000; } try { server_socket = new ServerSocket(port); System.out.println("Server menunggu klien di port " + server_socket.getLocalPort()); // server mondar-mandir disini while(true) { Socket socket = server_socket.accept(); System.out.println("Hubungan baru diterima " + socket.getInetAddress() + ":" + socket.getPort()); input = new BufferedReader(new InputStreamReader(socket.getInputStream())); // menampilakan data yang diterima try { while(true) { String message = input.readLine(); if (message==null) break; System.out.println(message); } } catch (IOException e) { System.out.println(e); } // Client menutup hubungan try { socket.close(); System.out.println("Client telah menutup hubungan"); } catch (IOException e) { System.out.println(e); 5
  • 6. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com 6
  • 7. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com // program client : Simpan dalam ClientKu2.java // kompile menjadi ClientKu2.class import java.net.*; import java.io.*; public class ClientKu2 { public static void main(String[] args) { int port = 2002; String server = "localhost"; Socket socket = null; String lineToBeSent; BufferedReader input; PrintWriter output; int ERROR = 1; // read arguments if(args.length == 2) { server = args[0]; try { port = Integer.parseInt(args[1]); } catch (Exception e) { System.out.println("server port = 1500 (Standarnya)"); port = 2002; } } // Koneksi ke server try { socket = new Socket(server, port); System.out.println("Terkoneksi ke server " + socket.getInetAddress() + ":" + socket.getPort()); } catch (UnknownHostException e) { System.out.println(e); System.exit(ERROR); } catch (IOException e) { System.out.println(e); System.exit(ERROR); } try { input = new BufferedReader(new InputStreamReader(System.in)); output = new PrintWriter(socket.getOutputStream(),true); 7
  • 8. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com Untuk mengkompile dan menjalankannya, maka ikuti langkah berikut : Server ke Client 1. Kompile ServerKu1.java : C:> javac ServerKu1.java Jalankan program : C:> java ServerKu1 Output : 2. Kompile ClientKu1.java : C:> javac ClientKu1.java Jalankan program : C:> java ClientKu1 Output : 8
  • 9. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com Setelah ClientKu1.class dijalankan maka anda bisa mengetikkan kalimat di jendela Server dan akan di tampilkan di jendela klien. Untuk mengakhiri koneksi, anda bisa menekan enter dua kali atau menutup dari jendela windows. Client ke Server 1. Kompile ServerKu2.java : C:> javac ServerKu2.java Jalankan program : C:> java ServerKu2 Output : 9
  • 10. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com 2. Kompile ClientKu2.java : C:> javac ClientKu2.java Jalankan program : C:> java ClientKu2 Output : Setelah ServerKu2.class dan ClientKu2.class di jalankan, sekarang kesempatan bagi anda untuk menulis pesan di klien dan nantinya akan di teruskan ke server. 10
  • 11. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com 11
  • 12. Artikel Populer IlmuKomputer.Com Copyright 息 2004 IlmuKomputer.Com Nah, sekarang adalah suatu tantangan bagi anda untuk menyatukan dua program ini menjadi satu program saja. Selamat mencoba!. BIOGRAFI PENULIS M Zainal Arifin, lahir di Malang, 7 agustus 1980. Mengikuti pendidikan SD sampai Kuliah di Malang. Masih menempuh kuliah jurusan Matematika di Universitas Brawijaya Malang. Menggeluti dunia pemrograman sejak tahun 1997 dan sekarang telah menulis beberapa artikel tentang jaringan dan pemrograman di majalah komputer. Sekarang sedang melakukan penelitian tentang teknologi suara dengan program java dengan teman-teman. Sangat tertarik dengan teknologi java terutama pada jaringan komputer dan mobile. Penulis dapat dihubungi melalui :Penulis dapat dihubungi melalui : Email: agendogget@yahoo.com 12