Sabtu, 23 Mei 2015

Tugas Pemrograman Jaringan (Program Sederhana)



Pada kesempatan kali ini saya akan sedikit berbagi tentang macam – macam program java yang dapat digunakan untuk jaringan. Misalnya program java yang dapat mengetahui IP address atau nama dari sebuah PC dan lain – lain.

1.       IP address

Kodingan di bawah ini adalah codingan yang dapat digunakan untuk mengecek IP komputer yang sedang kita pakai.

import java.net.*;
public class getip {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");}
System.out.print(ip[i] & 0xff);}
System.out.println();
}}

Jika kalian ing mencoba kodingan di atas, maka copy paste saja kodingan di atas ke dalam notepad kalian. Lalu simpan dengan nama getip.java, setelah di simpan maka kalian buka command prompt kalian, lalu compile program tersebut dengan cara mengetikkan javac getip.java. setelah program tersebut di compile maka program tersebut sudah siap untuk dijalankan dengan mengetik java getip pada command prompt kalian. Setelah saya running program tersebut di laptop saya, maka akan keluar output seperti gambar di bawah ini :



Saya akan menjelaskan sedikit tentang program java untuk menampilkan ip address tersebut. Pada line pertama terdapat syntax import java.net.*;, sintax ini digunakan untuk mengimport semua library yang berada di dalam folder net pada folder java. Library yang diimport tadi akan digunakan pada program ini untuk menampilkan ip address komputer kita. Pada line kedua terdapat sintax public class getip {, pada syntax tersebut menyatakan bahwa kita membuat sebuah class dengan nama getip. Pada line ketiga terdapat syntax public static void main(String args[]) throws Exception {, syntax tersebut menyatakan hawa class getip adalah class utama pada program penampilan ip address tersebut sehingga file javanya diberi nama getip.java.

InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");}
System.out.print(ip[i] & 0xff);}
System.out.println();

Sisa syntax program getip saya pisahkan di atas sehingga lebih mudah untuk mengetahui fungsinya. InetAddress host = null; digunakan untuk mendeklarasikan InetAddress terhadap objek host yang memiliki nilai awal null. host = InetAddress.getLocalHost(); syntax ini menyatakan bahwa objek host di beri nilai yaitu InetAddress.getLocalHost() . byte ip[] = host.getAddress(); sytax ini menyatakan bahwa kita membuat sebuah variable yg bertipe data array byte yang bernama ip yang dimana isinya di ambil dari host.getAddress(), artinya dia memanggil method getAddress pada objek host yang telah di deklarasikan tadi. Lalu dibuat perulangan untuk mencetak ip address computer tersebut.

2.       Nama komputer

Kodingan di bawah ini adalah codingan yang dapat digunakan untuk mengecek nama komputer yang sedang kita pakai.

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());
}}

Berikut adalah hasil ketika kita merunning program getname tersebut.



Penjelasan program dan cara merunningnya sama seperti getip pada sebelumnya. Yang membedakan adalah jika pada program getip menggunakan syntax host.getAddress(); untuk mengetahui ip computer yang sedang kita pakai, maka pada program getname menggunakan syntax host.getHostName(); untuk menampilkan nama computer yang kita pakai.

3.       Chatting sederhana client – server dengan socket programming
 
simpleServer.java

import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("salam") == 0) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}

try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}

simpleClient.java

import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
userInput = stdin.readLine();
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server..." + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}

Untuk program ini kita membutuhkan 2 komputer untuk menjalankannya. 1 komputer bertindak sebagai server dan 1 komputer lainnya bertindak sebagai client. Pada sisi server save file yang bernama simpleServer.java sedangkan pada sisi client save file yang bernama simpleClient.java. Lalu compile program simpleServer.java di sisi server dan compile simpleClient.java di sisi client. lalu runningkan program simpleServer terlebih dahulu, setelah program simpleServer running maka running program simpleClient dengan cara java simpleClient <nama komputer server>. seperti gambar di bawah ini.


setelah dirunning maka program akan meminta kata kunci jika kata kunci yang dimasukkan sesuai maka server akan membalasnya. jika tidak maka akan keluar tampilan seperti gambar di bawah ini.


tadi adalah tampilan pada sisi client berikut adalah tampilan pada sisi server ketika client memasukkan kata kunci yang benar.


dan berikut jika kata kunci client salah.

 jika dilihat pada gambar di atas maka bisa disimpulkan jika katakunci client salah maka output di client yang terjadi perubahan tapi output pada server tidak mengalami perubahan. sekian dari saya. semoga tulisan saya ini dapat membantu kalian untuk membuat program yang lebih dari ini. terima kasih.

Tidak ada komentar:

Posting Komentar