Program
1 : D1-1
Nama Program : getIP.java
Nama Program : getIP.java
Pada tugas program jaringan yang
pertama ini, kita akan mengeksekusi sebuah koding yang bertujuan untuk
mendapatkan IP address dari masig-masing computer/PC yang kita miliki. Koding
yang akan dijalankan untuk mendapatkan IP address adalah sebagai berikut :
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();
}
}
Koding tersebut
dapat dijalankan pada cmd computer kita dengan bahasa java, jika belum memiliki
bahasa java di computer, maka sebaiknya kita instal terlebih dahulu. Kita dapat
menjalankan program tersebut dengan menggunakan cmd ataupun dengan aplikasi/software
yang mendukung bahasa pemrograman java seperti netbean. Untuk lebih jelasnya kita lihat gambar di bawah ini :
Program
2 : D1-2
Nama Program : getName.java
Nama Program : getName.java
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());
}
}
Koding diatas adalah koding yang
kedua, koding ini bertujuan untuk mencetaj nama computer yang ada pada PC kita
masing-masing, disini saya memang belum menamai PC saya, jadi masih menggunakan
nama TOSHIBA-PC. Jadi, jika listing ini di running
maka akan muncul nama computer kita.
Program
3 : D1-3
Nama Program : IPtoName.java
Nama Program : IPtoName.java
import java.net.*;
public class IPtoName {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian:
java IPtoName <IP address>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address =
InetAddress.getByName(host);
}
catch (UnknownHostException e) {
System.out.println("Invalid IP
- malformed IP");
System.exit(0);
}
System.out.println(address.getHostName());
}
}
Pada
listing program yang ketiga ini, kita akan mendapatkan nama local computer yang kita miliki. Nama tersebut
kita dapat dengan memasukkan IP yang sudah kita dapat pada program yang
pertama. Berikut gamabr output yang dihasilkan :
Program
4 : D1-4
Nama Program : NsLookup.java
Nama Program : NsLookup.java
import java.net.*;
public class NsLookup {
public static void main(String
args[]) {
if (args.length == 0) {
System.out.println("Pemakaian:
java NsLookup <hostname>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address =
InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown
host");
System.exit(0);
}
byte[] ip = address.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 kita sudah mengetik program
diatas di notepad/++ maka kita dapat menjalankannya melalui cmd yang ada pada computer. Program ini digunakan untuk
melihat IP yang ada pada computer
kita dengan memasukkan nama computer
kita. Bisa ikatakan ini adalah kebalikan dari program sebelumnya. Hasil
outputya sebagai berikut :
Program
5 : D1-5
Nama Program : Client- Server
Nama Program : Client- Server
Berikut adalah listing program untuk Server :
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();
}
}
}
Sedangkan listing program di
bawah ini adalah program untuk Client :
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);
}
}
}
Penjelasan :
Untuk program
yang ke lima ini ditujukan untuk 2 buah komputer, namun sebagai contoh kita
dapat melakukan ini dengan satu PC dengan menggunakan 2 cmd. Disini kita akan
membuat program seperti program chating dimana satu PC bertugas sebagai server dan satu lagi bertugas sebagai Client. Masing-masing koding sudah
dituliskan diatas. dari ouptut yang kita dapat diatas, dapat kita simpulkan
jika posisi client mengirim pesan
teks kepada server, maka pada saat
itu juga di layar server akan
tercetak apa yang ditulis oleh client.
Tidak ada komentar:
Posting Komentar