Network Programming!!!!!!!

 Mengenal Dasar Network Programmming!!

Salam Enggineer!! kali ini kita akan membahas tentang Network Programming secara sederhana, dengan cara  Memahami konsep network programming,Mengetahui mengetahui port apa saja yang tersedia pada jaringan komputer,Memahami proses pengiriman data berbasis client server, Kemudian setelah itu kita mempersiapkan Alat & Bahan PC/ laptop yang memenuhi kapasitas untuk network programming yakni kemampuan untuk menjalankan java dan editor netbeans dan mempersiapkan Source Code yang akan digunakan dalam Praktikum kali ini.

Sebelum lanjut ke proses praktikum nya kita mengenal terlebih dasar teori Network Programming.

Network programming atau dengan sebutan lain socket programming merupakan proses untuk membuat aplikasi yang mampu untuk berkomunikasi berbasis client server. Java Socket programming sendiri digunakan untuk komunikasi antar banyak aplikasi yang berjalan pada JRE yang berbeda. Pada prinsipnya untuk pemrograman dapat mengikuti socket programming membutuhkan 2 (dua) hal yang penting yang harus diketahui yakni :  
1. Alamat IP dari server
2. Nomor port 
Dengan mengetahui kedua hal tersebut, selanjutnya kita akan melihat bagaimana aplikasi client server searaha dimana client mengirim pesan, dan server menerima kemudian server menerima dan menampilkan ke monitor. Berikut adalah 2 (dua) kelas menggunakan Socket dan ServerSocket.
Class Socket  digunakan untuk berkomunikasi antara client dan server. Dimulai dari class ini, kita akan memebaca dan menulis pesan. Sedangkan class ServerSocket digunakan pada sisi server. 


Method accept() pada class ServerSocket akan menunggu hingga client terhubung. Setelah client sukses terhubung, kemudian akan memberikan nilai balikan instan dari Socket pada sisi server.  Class ServerSocket dapat digunakan untuk membuat socket server. Objek ini dapat secara stabil berkomunikasi dengan banyak client.
Berikut adalah beberapa method penting pada class ServerSocket : 

setelah memahami konsep dasar dan teori diatas dengan penjelasan nya kita lanjut mulai praktikum untuk yang pertama adalah :

1.Client Mengirim Pesan Ke Server

langkah yang pertama dilakukan membuat package untuk public class Server dan Client, kemudian membuat sourcode dengan tipe java class untuk Server terlebih dahulu dari package yang kita buat sebelumnya dengan syarat harus ingat nama class saat dicompile sesuai yang dibuat di package tadi.

SourceCode untuk Class Server :
import java.io.* 
import java.net.*;  
public class MyServer { //perlu diingat penamaan class harus sesuai 
 public static void main(String[] args){  
  try{  
   ServerSocket ss=new ServerSocket(6666);  
   Socket s=ss.accept();//establishes connection   
   DataInputStream dis=new
DataInputStream(s.getInputStream());  
   String  str=(String)dis.readUTF();  
   System.out.println("message= "+str);  
   ss.close();  
  }catch(Exception e){System.out.println(e);}  
 }  
}  
-----------------------------------------------------------------------------------------------------------
Membuat instan dari class ServerSocket, selanjutnya server aktif dengan socket 6666 dan selanjutnya menunggu client untuk terhubung dengan server
-----------------------------------------------------------------------------------------------------------

SourceCode untuk Class Server :
import java.io.*;  
import java.net.*;  
public class MyClient {  
 public static void main(String[] args) {  
  try{      
   Socket s=new Socket("localhost",6666);  
   DataOutputStream dout=new
DataOutputStream(s.getOutputStream());  
   dout.writeUTF("Hello Server");  
   dout.flush();  
   dout.close();  
   s.close();  
  }catch(Exception e){System.out.println(e);}
    }
  }  
-----------------------------------------------------------------------------------------------------------
pada sisi client kita akan membuat instant dari class Socket. Disini kita memerlukan IP address atau nama host dari server dan nomor port yang diaktifkan oleh server. 
-----------------------------------------------------------------------------------------------------------
setelah membuat sourcode dengan masing-masing class seperti class server dan client, lakukan compiling menggunakan Git Bash dan yang dicompile pertama adalah MyServer kemudian MyClient nya seperti gambar berikut :

2.Mengetahui Nama Laptop Atau PC Yang Kita Gunakan

Dengan Sourcecode ini untuk mengetahui laptop atau pc yang kita gunakan :

import java.net.*
public class GetName{
  public static void main(String args[]) throws Exception{
       InetAddress host = null ;
       host = InetAddress.getLocalHost(); 
       System.out.println("Nama komputer Anda :" + host.getHostName());
  } 
}

-----------------------------------------------------------------------------------------------------------
Dengan Sourcecode diatas bisa kita cek nama Komputer atayu Pc yang kita gunakan dengan menjalankan pada Git Bash seperti gambar berikut :


3.Cara Mengetahui Nama Nama Komputer Dari Ip Address

Salin dan buatlah class baru dengan nama Class IptoName sebagai berikut :

import java.net.*
public class IptoName{
  public static void main(String args[]){
   if (args.length == 0){
    System.out.println("Pemakaian : java IPtoName <ipaddress>");
    System.exit(0);
   }
  String host = args[0];
  InetAddress address = null;
  try{
   address = InetAddress.getByName(host);
  }catch(UnknownHostException e){
   System.out.println("invalid IP"); 
  System.exit(0);
  }
  System.out.println(address.getHostName());
 }
 } 

-----------------------------------------------------------------------------------------------------------
Untuk sourcecode ini bisa digunakan untuk melihat nama komputer menggunakan Ip Address yang terhubung ke jaringan yang sama, dengan hasil Compile sebagai berikut :

Hasil Compile Di Git Bash


______________________________________________________________________________________________________________________________________________________________________
 Cukup sekian pembahasan dari Network Programing secara dasar, untuk kedepannya akan kita bahas secara lebih dalam lagi dalam pembahasan yang terbaru dari Network Programming, jika ada kesalahan Penulis memohon maaf dan meminta kritik dan saran dari rekan rekan sekalian. Salam Enggineer!!!!!!
Wassalamualaikum Wr.Wb. :) 

Komentar

Postingan populer dari blog ini

Tutor Membuat Login Databases Pada Java NetBeans IDE 8.2 dan MySQL XAMPP