Sabtu, 06 Mei 2017

PARALLEL COMPUTING



PARALLEL COMPUTING(KOMPUTASI PARALEL)

Parallel computing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.
 Sejarah mencatat Konferensi internasional tentang ParCo97 komputasi paralel (Parallel Computing 97) diadakan di Bonn, Jerman 19-22 September 1997. Konferensi pertama dalam seri ini dua tahunan diadakan pada tahun 1983 di Berlin. Selanjutnya konferensi diadakan di Leiden (Belanda), London (Inggris), Grenoble (Prancis) dan Gent (Belgia).

Sejak awal tujuan dengan (Komputasi Paralel) konferensi parco adalah untuk mempromosikan penerapan komputer paralel untuk memecahkan masalah kehidupan nyata. Dalam kasus ParCo97 tonggak baru dicapai dalam bahwa lebih dari setengah dari makalah dan poster yang disajikan prihatin dengan aspek aplikasi. Fakta ini mencerminkan kedatangan usia komputasi paralel.

Sekitar 200 makalah yang disampaikan kepada Komite Program oleh penulis dari seluruh dunia. Program akhir terdiri dari empat makalah diundang, 71 kontribusi ilmiah / industri kertas dan 45 poster. Selain diskusi panel tentang Komputasi Paralel dan Evolusi Cyberspace diadakan.

Penekanan praktis konferensi ini ditekankan oleh pameran industri di mana perusahaan menunjukkan perkembangan terbaru dalam peralatan pemrosesan paralel dan perangkat lunak. Pembicara dari perusahaan yang berpartisipasi mempresentasikan makalah dalam sesi industri di mana perkembangan baru dalam komputasi paralel dilaporkan.
Komputer paralel secara kasar dapat diklasifikasikan menurut tingkat di mana hardware mendukung paralelisme, dengan komputer multi-core dan multi-prosesor yang memiliki elemen pemrosesan ganda dalam satu mesin, sedangkan cluster, MPP, dan grid menggunakan beberapa komputer untuk bekerja pada hal yang sama tugas. Khusus arsitektur komputer paralel kadang-kadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.

Komputasi paralel membutuhkan:
·                     algoritma
·                     bahasa pemrograman
·                     compiler
Sumber daya komputer (computer resource) dapat terdiri dari sebuah komputer dengan beberapa processor, atau beberapa komputer yang terhubung oleh sebuah jaringan, atau pun kombinasi antara keduanya. Processor mengakses data melalui shared memory. Beberapa supercomputer parallel processing system memiliki ratusan bahkan ribuan microprocessor.
Dengan bantuan dari parallel processing, sejumlah komputasi dapat dijalankan dalam satu waktu, memangkas waktu yang dibutuhkan untuk menyelesaikan sebuah project. Parallel processing sangat berguna untuk project yang membutuhkan komputasi komplek, seperti weather modelling dan efek digital spesial (special effect digital).

Mesin Paralel

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel.Salah satu middleware orisinal yang dikembangkan di Indonesia adalah openPC yang digawangi oleh GFTK LIPI dan telah diimplementasikan dengan di LIPI Public Cluster.

GRID

GRID merupakan pengembangan teknologi mesin paralel dengan memanfaatkan jaringan pita lebar di era dijital. Dengan adanya jaringan pita lebar, paralelisasi tidak hanya dilakukan antar komputer dalam satu jaringan, tetapi juga antar mesin paralel yang terpisah secara geografis.

Pemrograman Paralel

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).

Motivasi

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

Bahasa populer dalam Pemrograman Paralel
  • MPI Message Passing Interface, bahasa pemrograman dengan basis pertukaran pesan.
  • PVM Parallel Virtual machine.
Istilah-istilah dalam pemrograman paralel
  • Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.
  • Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:
    • SISD Single Instruction Single Datapath, ini prosesor tunggal, yang bukan paralel.
    • SIMD Single Instruction Multiple Datapath, alur instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya inputnya, jadi inputnya lain-lain tetapi program yang digunakan sama.
    • MIMD Multiple Instruction Multiple Datapath, alur instruksinya banyak, alur datanya juga banyak, tetapi masing-masing bisa berinteraksi.
    • MISD Multiple Instruction Single Datapath, alur instruksinya banyak tetapi beroperasi pada data yang sama.
Perkembangan di Indonesia
Di Indonesia, usaha untuk membangun infrastruktur mesin paralel sudah dimulai sejak era 90-an, meski belum pada tahap serius dan permanen. Namun untuk pemrograman paralel sudah sejak awal menjadi satu mata-kuliah wajib di banyak perguruan tinggi terkait. Baru pada tahun 2005 dimulai pembuatan infrastruktur mesin paralel permanen, misalnya yang dikembangkan oleh Grup Fisika Teoritik dan Komputasi di P2 Fisika LIPI. Didorong oleh perkembangan pemrograman paralel yang lambat, terutama terkait dengan sumber daya manusia (SDM) yang menguasainya, mesin paralel LIPI ini kemudian dibuka untuk publik secara cuma-cuma dalam bentuk LIPI Public Cluster (LPC)[3]. Saat ini LPC telah dikembangkan lebih jauh menjadi gerbang komputasi GRID di Indonesia dengan kerjasama global menjadi IndoGRID.
Pada tahun berikutnya, dengan dukungan dana dari proyek Inherent Dikti, Fasilkom UI juga membangun mesin paralel.Sementara itu pada tahun 2009, ITB membuat kluster hibrid CPU dan GPU yang pertama di Indonesia dengan kemampuan hingga 60 inti CPU dan 1920 inti GPU.

Selasa, 02 Mei 2017

tugas progjar individu ke 2



Cara Setting DNS, Instalasi Web Server, Mail Server di Linux Debian 7

Pengertian DNS Server


DNS atau Domain Name Server adalah aplikasi server yang berfungsi untuk menerjemahkan nama domain sebuah alamat komputer menjadi IP Address yang sebenarnya dari komputer/server tersebut.
Konsep DNS sama seperti fitur phonebook pada ponsel, jika seandainya ponsel tidak dilengkapi dengan fitur phonebook, mungkin kita akan dituntut menghapal semua nomor telepon untuk setiap orang yang akan kita hubungi. Dengan adanya fitur phonebook ini, kita cukup mencari nama dari orang tersebut dan langsung bisa memanggilnya sehingga ponsel akan menerjemahkan nama orang menjadi nomor telepon secara otomatis.
cara setting dns, instalasi web server dan mail server di debian 7

Konsep inilah yang menginspirasi manusia untuk menciptakan DNS Server.Dengan adanya DNS, kita tidak perlu lagi untuk menghapal setiap IP Address dari setiap website. Kita cukup mengetikkan nama domain dari website tersebut dan akan diterjemahkan menjadi alamat IP oleh DNS Sever. Itulah fungsi dari DNS pada sebuah website.

Pengertian Web Server


Web Server adalah sebuah aplikasi server yang berfungsi untuk menerima permintaan HTTP atau HTTPS dari client yang dikenal sebagai web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang pada umumnya berupa dokumen HTML.

Itulah konsep dari DNS Server,  Web Server dan Mail Server. Setelah kita memahaminya, kali ini kita akan mempraktekkan pada komputer masing-masing bagaimana cara setting DNS dan instalasi Web Server pada Linux Debian 7. Di sini kita akan menggunakan aplikasi virtualbox untuk menjalankan debian 7, jika kamu menggunakan aplikasi virtualisasi lainnya itu tidak masalah.

Cara Setting DNS dan Instalasi Web Server Pada Linux Debian 7


A. Setting DNS Pada Linux Debian 7


1. Langkah pertama yang harus kita lakukan adalah setting DNS pada Linux. Untuk memulainya silakan dijalankan sistem operasi linux debian 7 melalui aplikasi virtualbox dan silakan login sebagai root, karena untuk melakukan konfigurasi pada server hanya bisa dilakukan dengan akses root.

2. Setelah Debian 7 dijalankan dan sudah login sebagai root, langkah selanjutnya kita akan merubah konfigurasi IP Address dengan menambahkan virtual IP pada interface. Caranya, ketikkan perintah
nano /etc/network/interfaces kemudian lakukanlah konfigurasi seperti gambar di bawah ini.
cara setting dns, instalasi web server dan mail server di debian 7

Setelah itu tekan Ctrl+O lalu Enter untuk menyimpan konfigurasi lalu tekan Ctrl+x untuk keluar dari editor. Untuk domain terserah.com silakan diganti dengan sesuka hati kamu.

3. Setelah konfigurasi pada IP Address selesai, silakan restart service dengan perintah /etc/init.d/networking restart atau bisa juga dengan cara reboot komputer server dengan perintah init 6. Setelah reboot, pastikan konfigurasi yang dilakukan tadi sudah benar. Untuk mengetahuinya silakan ketikkan perintah ifconfig | less sehingga tampil virtual IP seperti gambar di bawah ini:
cara setting dns, instalasi web server dan mail server di debian 7

Tekan Ctrl+z untuk keluar.

4. Silakan di ping untuk semua IP address, termasuk juga IP address virtualnya dan pastikan semuanya berjalan dengan lancar.
Perintah:
Ping 192.168.10.1
Ping 192.168.10.2
Ping 192.168.10.3


5. Langkah selanjutnya kita akan menginstall paket Bind9 pada komputer server dengan perintah apt-get install bind9. Tekan y lalu Enter untuk melanjutkan, jika sistem meminta untuk memasukkan DVD Binary 1.iso maka kamu perlu memasukkan DVD Binary 1.iso, kemudian tekan Enter untuk melanjutkan. Tunggu proses intalasi bind9 sehingga status menjadi Ok warna hijau.

6. Selanjutnya copy file /etc/bind/db.local menjadi /etc/bind/db.terserah dengan perintah
cp /etc/bind/db.local /etc/bind/db.terserah

Copy sekali lagi file /etc/bind/db.local menjadi /etc/bind/db.192 dengan perintah
cp /etc/bind/db.local /etc/bind/db.192

7. Setelah itu edit file named.conf.local dengan perintah nano /etc/bind/named.conf.local dan ganti isinya menjadi:
cara setting dns, instalasi web server dan mail server di debian 7

8. Kemudian edit file /etc/bind/named.conf.options dengan mengetikkan perintah nano /etc/bind/named.conf.options menjadi:
cara setting dns, instalasi web server dan mail server di debian 7

9. Kemudian edit file db.terserah yang sudah dicopy tadi dari db.local dengan perintah nano /etc/bind/db.terserah menjadi:
cara setting dns, instalasi web server dan mail server di debian 7

10. Kemudian edit lagi file db.192 dengan perintah nano /etc/bind/db.192 dan ubah menjadi:
cara setting dns, instalasi web server dan mail server di debian 7

11. Pastikan kamu sudah benar dalam setiap penginputan dan pengeditan file. Jika sudah benar maka restart bind9 dengan perintah /etc/init.d/bind9 restart
cara setting dns, instalasi web server dan mail server di debian 7

12. Setelah itu tambahkan nameserver pada file /etc/resolv.conf dengan perintah nano /etc/resolv.conf menjadi:
cara setting dns, instalasi web server dan mail server di debian 7

13. Jika sudah, silakan cek konfigurasi dengan perintah nslookup dari komputer server dan nslookup dari komputer client.
cara setting dns, instalasi web server dan mail server di debian 7

Sampai di sini kita sudah selesai melakukan setting DNS pada server debian 7. Setelah itu kita akan melakukan uji coba ping dari komputer client menggunakan nama domain. Sebelumnya atur dulu IP address pada adapter Virtualbox Host-Only Network seperti gambar di bawah ini:
cara setting dns, instalasi web server dan mail server di debian 7

Setelah itu buka Command prompt pada komputer client dan ketikkan perintah:
Ping terserah.com
Ping www.terserah.com
Ping mail.terserah.com
Jika berhasil akan muncul balasan dari komputer server.
cara setting dns, instalasi web server dan mail server di debian 7

B. Instalasi Web Server


Setelah setting DNS Server selesai dilakukan, tahap selanjutnya yaitu instalasi Web Server. Seperti yang sudah dibahas sebelumnya, web server adalah sebuah aplikasi server yang berfungsi menerima permintaan HTTP atau HTTPS dari client yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk dokumen HTML.

Web server juga termasuk salah satu layanan server yang paling populer. Karena melalui web server tersebut, website kita dapat diakses oleh seluruh orang di dunia melalui internet. Untuk menginstall web server, kita membutuhkan beberapa paket untuk di install yaitu:
-    Apache2
-    PHP5
-    Mysql-server
-    PHPmyadmin

Untuk itu langsung saja kita menuju ke langkah-langkahnya sebagai berikut:

1. Install semua paket sekaligus dengan perintah apt-get install apache2 php5 mysql-server phpmyadmin. Jika muncul pertanyaan "do you want to continue?" ketik y untuk melanjutkan. Jika diminta untuk memasukkan DVD Binary-1, silakan dimasukkan kemudian Enter.

2. Setelah itu masukkan password untuk root mysql, dalam contoh ini kita masukkan root sebagai passwordnya, dan ulangi lagi.
cara setting dns, instalasi web server dan mail server di debian 7

3. Selanjutnya terdapat layar untuk memilih aplikasi web server yang akan dikonfigurasi otomatis oleh phpmyadmin, dalam contoh ini pilih apache2 dengan menekan spasi pada keyboard, sehingga muncul (*) pada pilihan apache2, lalu Ok dan Enter dan tunggu proses hingga selesai.
cara setting dns, instalasi web server dan mail server di debian 7

4. Pada perintah untuk konfigurasi database, pilih yes.
cara setting dns, instalasi web server dan mail server di debian 7

5. Selanjutnya, masukkan password untuk akun administrator, agar lebih mudah untuk mengingatnya, ketikan root sebagai passwordnya.
cara setting dns, instalasi web server dan mail server di debian 7

6. Sekali lagi, ketikkan juga root sebagai passwordnya untuk mempermudah untuk mengingatnya.
cara setting dns, instalasi web server dan mail server di debian 7

7. Setelah instalasi selesai, kini saatnya kita melakukan pengujian web server. Silakan dibuka web browser pada komputer client, kemudian ketikkan nama domain yang kita buat tadi ( terserah.com ) pada address bar dan tekan Enter. Jika keluar tampilan seperti gambar di bawah ini, berarti instalasi berjalan dengan sukses.
cara setting dns, instalasi web server dan mail server di debian 7

Konfigurasi Web Directory


Langkah selanjutnya kita akan melakukan konfigurasi web directory untuk website nya. Web directory adalah direktori di mana kita akan menempatkan isi file-file untuk website kita. Untuk path defaultnya adalah /var/www. Buat folder web pada path tersebut dengan perintah:
cd /var/www/
mkdir web


Untuk mengecek apakah direktori atau folder web sudah ada, ketikkan ls –a
cara setting dns, instalasi web server dan mail server di debian 7

Setelah itu kita buat sebuah halaman website sederhana untuk sub-domain tersebut dengan menggunakan bahasa HTML untuk membuatnya. Pertama kita masuk ke direktori yang telah dibuat tadi di /var/www. Ketikkan perintah cd /var/www/web

Ketikkan nano index.html untuk membuat dokumen HTML baru kemudian di isi dengan script sesuai dengan kreasi kamu. Untuk saat ini masukkan scipt berikut ini:

<html>
<head>
<title>Terserah.com</title>
</head>
<body>
<p><h3>Terima Kasih Telah Berkunjung</h3></p>
<p>Sekarang ini anda sedang membaca artikel di <a href="http://www.ikotekno.com">Ikotekno.com</a> tentang <b>Cara Setting DNS, Instalasi Web Server, Mail Server di Linux Debian 7</b></p>
<p>Bagaimana artikel ini menurut anda?<br/>
<input type="radio" name="nilai" value="l"/> Lumayan<br/>
<input type="radio" name="nilai" value="b"/> Bagus<br/>
<input type="radio" name="nilai" value="sb"/> Sangat Bagus<br/></p>
</body>
</html>

Setelah itu simpan, untuk melihat hasilnya silakan ketikkan terserah.com/web/ pada address bar web browser kamu.
Berikut tampilannya:
cara setting dns, instalasi web server dan mail server di debian 7

Sampai di sini kita sudah berhasil setting DNS dan Instalasi Web Server Pada Linux Debian 7. Berarti tinggal satu tahap lagi yang harus kita selesaikan, yaitu instalasi Mail Server. Untuk instalasi Mail Server bisa kamu baca di Cara Setting DNS, Instalasi Web Server, Mail Server di Linux Debian 7

Tugas Progjar individu pertama



1. Get IP

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();
}
}
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvVVVkUfJoyEsnI1-r0_CEbDzd7ynRKA12mvM39pqJvwQkFzHFxZk4Vncnz05YNOMU6O9KKIaBxDnmLVlxdghDvBFyCoYAr9epZUQNWFvUOTZJ_EiI9v7snPx6kmnoIHwynU9PAImFxDQ/s320/getIP_1.PNG

Fungsi dari kodingan diatas untuk mempunyai sebuah alamat IP yang ada pada dekstop

2. Get Name

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

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDdHssGb6k9e1g5q59wuI8qlPnDk8gHFgr88jz6kRUh8DeFsXCZYqT83cj7BbZIjirdNnptnSWH7VY0b0fhEe-tR9a2P41nopw-4NJZx-QWurdmNW4RYil5-gHx7wp_6VqRAgXpzKwzTQ/s320/getName_2.PNG

3. IP to Name

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

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv1XKdPTe3bwGsuVSsquN5SoSXiXoODQM1281ywrOcw-5-3PKHDZZHluhvNum0FHYbaqE3ihcBRjLk5bMy4A9oZ_bEzqTT78sWs8IIXNpewDibvVqU_ueJiOTPdpWFSRRn24vLHidu2A4/s320/IPtoName_3.PNG


4. NsLookup

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

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUI77lFE1EVXT4n4fGblYWTuDFz7v3NEC0T_Op42HezgmoR7HQSBhIuCsYZCVuU1mUz-RIgFSza0A-DigfNXsmYQCzc0GUXjlHLpmfwVpwhzmIJfD9rPWZD_MTDurpLPKlQJfVS2l-0es/s320/NsLookup_4.PNG


5. Membangun aplikasi server dan client

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

b. Simple 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;
// Memberikan sebuah jalan agar dapat terkoneksi 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);
}
// Memberi tau 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);
}
// Mendapatkan sebuah pemberitahuana 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);
}
}
}
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhthoOrzltkO7J9QAEIubne27dE4A6yVwpQ7oHDQyI6xAewA8xF1FOkxhbsydaDoZc0LAKUZZJCduxHynveYybXRpAj0BQs-7d3f_krZ1pefEMcGVEoasKrWWgnPtRbYKV6t-eCE3vyTW0/s320/serverclient_5.PNG