Translate

Minggu, 17 Juli 2016

Tugas Pemrograman Jaringan 2 - 4IA19



Get IP
Berikut akan dijelaskan program untuk menampilkan ip address host komputer melalui program java. Program tersebut dapat di running melalui command prompt dengan meng compilenya terlebih dahulu menggunakan perintah javac nama_file.java kemudian ketik java nama_file.

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

Logika Program
Pertama dimulai dengan memanggil library atau paket yamg membuat suatu program ini dapat melalukan aktivitas ataupun komunikasi melalui jaringan sehingga proses pencarian alamat ip dari suatu host komputer dapat dilakukan yaitu menggunakan library “java.net.*:. Selanjutnya dibuatlah kelas dari program tersebut dengan nama getIP yang di dalamnya terdiri dari beberapa perintah untuk melakukan pencarian serta pencetakan alamat ip tersebut. Proses pencetakan alamat ip ini dilakukan melalui perulang for dengan kondisi bahwa perulangan dilakukan sebanyak 0 sampai tidak lebih dari panjang pada nilai yang terdapat pada variabel ip. Jika variabel I lebih dari 0 maka alamat ip akan tercetak. Variabel array ip di dapat melalui nilai pada variabel host yang di dapatkan alamatnya melalui perintah getAddress.

Output
 
Get Name
Berikut akan dijelaskan program untuk menampilkan nama dari host komputer melalui program java. Program tersebut dapat di running melalui command prompt dengan meng compilenya terlebih dahulu menggunakan perintah javac nama_file.java kemudian ketik java nama_file.

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

Logika Program
Listing di atas merupakan proses untuk menampilkan nama dari komputer host dalam sutu jaringan. Untuk dapat melakukan proses tersebut, pertama dilakukan pemanggilan library java.net.* yaitu dengan melakukan import kedalam program tersebut. Dengan adanya library tersebut, membuat program dapat melakukan aktivitas pencarian nama dari host komputer. Selanjutnya dibuatlah class yang di dalamnya berlangsung proses-proses bagaimana pencarian tersebut dan pencetakan di lakukan yaitu dengan nama class getName. Pencarian nama host diperlukan yang namanya perintah inetAddress dengan membuat variabelnya dengan nama host yang di definisikan dengan nilai null. Melalui variabel host tersebutlah nantinya di dapat melalui perintah “getHostName()” yaitu memanggil nama host dari nilai variabel tersebut yang nantinya akan dicetak.

Output

IP to Name
Berikut akan dijelaskan program untuk menampilkan nama dari ip address host komputer melalui program java. Program tersebut dapat di running melalui command prompt dengan meng compilenya terlebih dahulu menggunakan perintah javac nama_file.java kemudian ketik java nama_file.

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

Logika Program
Proses pertama dimulai dengan mengimport library java.net.* untuk dapat melakukan sambungan atau aktivitas dalam suatu jaringan. Selanjutnya dibuatlah class dengan nama IPtoName yang bersifat public yang membuatnya dapat di akses di luar class. Pencarian imulai dengan menentukan kondisi dari string pada variabel host. Jika sama dengan maka ia akan mencetak nama dari ip address tersebut namun jika tidak ia akan mengecek ke statement catch untuk menangani kesalahan. Nama dari ip address tercetak melalui perintah “System.out.println(address.getHostName())”

Output
 
Nslookup
Berikut akan dijelaskan program untuk menampilkan ip address dengan nama host komputer melalui program java. Program tersebut dapat di running melalui command prompt dengan meng compilenya terlebih dahulu menggunakan perintah javac nama_file.java kemudian ketik java nama_file.

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

Logika Program
Proses pertama dimulai dengan mengimport library java.net.* untuk dapat melakukan sambungan atau aktivitas dalam suatu jaringan. Selanjutnya dibuatlah class dengan nama NsLookup yang bersifat public yang membuatnya dapat di akses di luar class.  Proses pertama dimulai dengan pembuatan variabel host dengan tipe data string yang di definisikan engan nilai pada variabel array “args[0]”. Jika kondisi nilai pada variabel tersebut sama dengan 0 maka proses pencetakan nama host akan di lakukan dan proses pencarian berakhir serta pencetakan alamat ip melalui variabel ip dengan mengambil nilai dari variabel address melalui perintah “getAddress” akan di lakukan jika kondisi nilai pada variabel I lebih dari 0. Jika terjadi kesalahan program akan beralih ke statement catch dan melakuan pencetakan yang menyatakan host tidak terdeteksi.

Output

Client-Server
Berikut akan dijelaskan program untuk membuat program komunikasi jaringan antara client dan server melalui program java. Program tersebut dapat di running melalui command prompt dengan meng compilenya terlebih dahulu menggunakan perintah javac nama_file.java kemudian ketik java nama_file.

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

Listing Program 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);
}
}
}

Logika Program
Lisitng di atas menjelaskan proses komunikasi program antar server dengan klien dalam suatu jaringan. Program dimulai dengan penimport an library java.io.* agar klien dan server dapat saling berkomunikasi yaitu proses input dan output. Selanjutnya adalah import library java.net.* untuk dapat melakukan sambungan atau aktivitas dalam suatu jaringan. Class pada program ini bernama simpleServer yang di dalamnya berlangsung proses jalannya komunikasi antara server dengan klien. Komunikasi di lakukan melalui port 5000 yang di simpan ke dalam variabel TESTPORT. Program akan melalukukan pemeriksaan pada port tersebut apakah program server sudah tersambung atau belum melalui statement try. Jika tersambung program akan mencetak keterangan yang menyatakan bahwa program server telah aktif. Proses penerimaan input dari klien di tampung melalui variabel line pada program server yang nantinya pesan masuk dalam variabel tersebut akan di panggil dan di cetak menggunakan perintah “System.out.println("Terima : " + line);”. Begitu juga dengan program klien proses input dilakukan melalui variabel userInput serta pencetakan pesan yang dikirim melalui variabel output.
Output

Tugas Pemrograman Jaringan - 4IA19

 Proxy


Proxy ataiu disebut juga dengan proxy server merupakan suatu program komputer yang bertindak sebagai gateway atau penghubung terhadap dunia internet untuk setiap komputer klien. Proxy server dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari internet atau intranet dan tidak terlihat oleh komputer klien, dalam hal ini user yang berinteraksi dengan internet melalui sebuah proxy server tidak akan mengetahui penanganan request yang di lakukan proxy server tersebut.

Fungsi proxy

  • Connecting Sharing

Sebagai penghubung atau perantara pengambilan data dari suatu alamat IP dan dihantarkan ke alamat IP lainnya ataupun kepada komputer user.

  • Filtering

Terdapat bebrapa proxy yang dilengkapi dengan firewall yang dapat memblokir beberapa atau sebuah alamat IP yang tidak diinginkan, sehingga beberapa website tidak dapat diakses dengan memakai proxy tersebut. Itulah salah satu fungsi dari proxy sebagai filtering.

  • Caching

Proxy juga dilengkapi dengan media penyimpanan data dari suatu web, dari query ataupun permintaan akses user. Misalnya permintaan untuk mengakses suatu web dapat lebih cepat jika telah ada permintaan akses ke suatu web pada pemakai proxy sebelumnya.

Web Server

Server atau Web Server merupakan software atau perangkat lunak yang menyediakan layanan terhadap permintaan atau request dari web client dari dan melalui jalur HTTP atau HTTPS biasanya kita kenal sebagai browser.

FTP Server

FTP (File Transfer Protocol) adalah suatu aturan yang berlaku untuk hubungan antar dua komputer atau lebih dalam tukar-menukar file sebuah jaringan yang menggunakan TCP, bukan UDP.  FTP Server adalah sebuah server yang berfungsi utk memberikan pelayanan menggantikan file di mana server tersebut senantiasa siap memberikan pelayanan FTP seandainya mendapat permintaan (request) dari FTP client.

DNS Server

DNS (Domain Name Server) adalah sebuah aplikasi program yang berfungsi menterjemahkan nama domain ke alamat IP pada jaringan yang menggunakan TCP/IP.  DNS biasa difungsikan kepada penerapan yg membuka ke Internet seperti situs browser atau e-mail, di mana DNS menolong memetakan host name satu buah computer ke IP address. DNS akan disamakan fungsinya dgn buku telpon. Di Mana tiap-tiap pc di jaringan Internet mempunyai host name (nama pc) & Internet Protocol (IP) address.

Mail Server

Server yang memungkinkan pengguna (user) untuk dapat mengirim dan menerima surat elektronik atau e-mail satu sama lain dalam stu jaringan atau dengan internet. Mail server menggunakan arsiktektur client-server dalam pengaksesannya, dimana ada pihak yang menjadi client dan pihak lainnya sebagai server.