Minggu, 17 Juni 2012

Teknologi Modern Computing


KOMPUTASI MODERN 

Komputasi adalah cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Ini disebut juga dengan teori komputasi, Suatu sub-bidang dari ilmu komputer dan matematika. Secara umum Ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains).  

Komputasi modern perhitungan yang menggunakan komputer canggih dimana pada komputer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien. Komputasi modern dapat digunakan untuk memecahkan masalah antara lain untuk menghitung:
- Akurasi (bit, floating point)
- Kecepatan (dalam satuanHz)
- Problem volume besar (paralel)
- Modeling (NN dan GA)
- Kompleksitas (menggunakan Teori Bog O)
Sejarah Komputasi Modern 
Sejarah komputer modern dimulai dengan dua teknologi yang terpisah, perhitungan otomatis dan dapat diprogram, tetapi tidak ada satu perangkat pun yang dapat dikatakan sebagai komputer, karena sebagian penerapan yang tidak konsisten terhadap istilah tersebut.
Salah satu tokoh yang paling berpengaruh terhadap perkembangan komputasi modern adalah John Von Neumann (1903-1957). John Von Neumann adalah salah satu ahli matematika terbesar abad ini. Beliaulah yang pertama kali menggagas konsep sebuah sistem yang menerima instruksi-instruksi dan menyimpannya dalam sebuah memori. Konsep inilah yang menjadi dasar arsitektur komputer hingga saat ini.
Komputasi modern tersebut berkembang sampai saat ini dari ilmu komputasi dan dikembangkan menjadi komputasi yang modern dengan menggunakan komputer yaitu Komputasi Modern.
Implementasi Komputasi Modern
Salah satu contoh dari implementasi Komputasi Modern adalah Mobile Computing. Komputasi Bergerak/Mobile Computing, Grid Computing, dan Cloud Computing.

Mobile Computing.
Mobile Computing adalah sebuah teknologi yang memungkinkan penggunanya bisa memanfaatkan kemampuan komputer secara optimal, meski dalam posisi berpindah-pindah.
Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

Grid Computing
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah
Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
Sistem menggunakan standard dan protocol yang terbuka.
Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

Cloud Computing
Cloud computing pada dasarnya adalah menggunakan Internet-based service untuk mensupport business process, Kata-kata “Cloud” sendiri merujuk kepada simbol awan yang di dunia TI digunakan untuk menggambarkan jaringan internet (internet cloud). Cloud computing adalah gabungan pemanfaatan teknologi komputer (‘komputasi‘) dan pengembangan berbasis Internet (‘awan’). Cloud /awan merupakan metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan computer, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya adalah suatu moda komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa pengetahuan tentangnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut jurnal yang dipublikasikan IEEE, Internet Computing/Cloud Computing adalah suatu paradigma dimana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, handheld, sensor-sensor, monitor dan lain-lain. “Cloud Computing” secara sederhana adalah “layanan teknologi informasi yang bisa dimanfaatkan atau diakses oleh pelanggannya melalui jaringan internet”. Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara sharing yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server.

Komputasi Dan Penerapannya



PENGGUNAAN/PENERAPAN KOMPUTASI

Dalam pembicaraan sebelumnya, saya telah memberikan gambaran mengenai model-model komputasi. Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

PENERAPAN KOMPUTASI

Salah satu penerapan komputasi yaitu KIMIA KOMPUTASI...

Kimia Komputasi adalah cabang kimia yang menggunakan hasil kimia teori yang diterjemahkan ke dalam program komputer untuk menghitung sifat-sifat molekul dan perubahannya maupun melakukan simulasi terhadap sistem-sistem besar (makromolekul seperti protein atau sistem banyak molekul seperti gas, cairan, padatan, dan kristal cair), dan menerapkan program tersebut pada sistem kimia nyata. Contoh sifat-sifat molekul yang dihitung antara lain struktur (yaitu letak atom-atom penyusunnya), energi dan selisih energi, muatan, momen dipol, kereaktifan, frekuensi getaran dan besaran spektroskopi lainnya. Simulasi terhadap makromolekul (seperti protein dan asam nukleat) dan sistem besar bisa mencakup kajian konformasi molekul dan perubahannya (mis. proses denaturasi protein), perubahan fase, serta peramalan sifat-sifat makroskopik (seperti kalor jenis) berdasarkan perilaku di tingkat atom dan molekul. Istilah kimia komputasi kadang-kadang digunakan juga untuk bidang-bidang tumpang-tindah antara ilmu komputer dan kimia. 
Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata "tepat" atau "sempurna" tidak muncul di sini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.
Molekul terdiri atas inti dan elektron, sehingga diperlukan metode mekanika kuantum. Kimiawan komputasi sering berusaha memecahkan persamaan Schrödinger non-relativistik, dengan penambahan koreksi relativistik, walaupun beberapa perkembangan telah dilakukan untuk memecahkan persamaan Schrödinger yang sepenuhnya relativistik. Pada prinsipnya persamaan Schrödinger mungkin diselesaikan, baik dalam bentuk bergantung-waktu atau tak-bergantung-waktu, disesuaikan dengan masalah yang dikaji, tetapi pada praktiknya tidak mungkin kecuali untuk sistem yang amat kecil. Karena itu, sejumlah besar metode hampiran dikembangkan untuk mencapai kompromi terbaik antara ketepatan perhitungan dan biaya komputasi.

Dalam kimia teori, kimiawan dan fisikawan secara bersama mengembangkan algoritma dan program komputer untuk memungkinkan peramalan sifat-sifat atom dan molekul, dan/atau lintasan reaksi untuk reaksi kimia, serta simulasi sistem makroskopis. Kimiawan komputasi kebanyakan “sekedar” menggunakan program komputer dan metodologi yang ada dan menerapkannya untuk permasalahan kimia tertentu. Di antara sebagian besar waktu yang digunakan untuk hal tersebut, kimiawan komputasi juga dapat terlibat dalam pengembangan algoritma baru, maupun pemilihan teori kimia yang sesuai, agar diperoleh proses komputasi yang paling efisien dan akurat.
Terdapat beberapa pendekatan yang dapat dilakukan:
1.      Kajian komputasi dapat dilakukan untuk menemukan titik awal untuk sintesis dalam laboratorium.
2.     Kajian komputasi dapat digunakan untuk menjelajahi mekanisme reaksi dan menjelaskan pengamatan pada reaksi di laboratorium.
3.    Kajian komputasi dapat digunakan untuk memahami sifat dan perubahan pada sistem makroskopis melalui simulasi yang berlandaskan hukum-hukum interaksi yang ada dalam sistem.
Terdapat beberapa bidang utama dalam topik ini, antara lain:
1.      Penyajian komputasi atom dan molekul
2.     Pendekatan dalam penyimpanan dan pencarian spesi kimia (Basisdata kimia)
3.    Pendekatan dalam penentuan pola dan hubungan antara struktur kimia dan sifat-sifatnya (QSPR, QSAR).
4.    Elusidasi struktur secara teoretis berdasarkan pada simulasi gaya-gaya
5.     Pendekatan komputasi untuk membantu sintesis senyawa yang efisien
6.     Pendekatan komputasi untuk merancang molekul yang berinteraksi lewat cara-cara yang khusus, khususnya dalam perancangan obat.
7.     Simulasi proses transisi fase
8.     Simulasi sifat-sifat bahan seperti polimer, logam, dan kristal (termasuk kristal cair).
Program yang digunakan dalam kimia komputasi didasarkan pada berbagai metode kimia-kuantum yang memecahkan persamaan Schrödinger untuk molekul, maupun pendekatan fisika klasik (mekanika molekul) untuk simulasi sistem yang besar. Metode kimia-kuantum yang tidak mencakup parameter empiris dan semi-empiris dalam persamaannya disebut metode ab-initio. Jenis-jenis metode ab-initio yang populer adalah: Hartree-Fock, teori gangguan Møller-Plesset, interaksi konfigurasi, coupled cluster, matriks kerapatan tereduksi, dan teori fungsi kerapatan.


SUMBER :










Model – Model Komputasi


Model – Model Komputasi 
Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan padamodel komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memory yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret.
Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang “terputuskan” (decidable) yang dipecahkan oleh mesin
Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.
Pembagian Model komputasi ada 3 yaitu :
1 .  Mesin Mealy
     Dalam teori komputasi sebagai konsep dasar sebuah komputer, mesin Mealy adalah otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi. Prinsip ini berbeda dengan mesin Moore yang hanya menghasilkan keluaran/output pada tiap fasa.
Nama Mealy diambil dari “G. H. Mealy” seorang perintis mesin-fasa (state-machine) yang menulis karangan “A Method for Synthesizing Sequential Circuits” pada tahun 1955.
      2 .      Mesin Moore
Dalam teori komputasi sebagai prinsip dasar komputer, mesin Moore adalah otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fasa saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.
Nama Moore diambil dari “Edward F. Moore” seorang ilmuwan komputer dan perintis mesin-fasa (state-machine) yang menulis karangan “Gedanken-experiments on Sequential Machines”.


      3.      Petri Net
Petri net adalah salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place,transition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah.
Petri net pertama kali diajukkan oleh Carl Adam Petri pada tahun 1962.

Narasumber model-model komputasoi : http://id.wikipedia.org/wiki/Teori_komputasi



Rabu, 09 Mei 2012

Tugas Pemrograman Jaringan-Membangun Aplikasi Client-Server

Buatlah aplikasi client server TCP sederhana. Server akan membuat soket server dan
menerima permintaan koneksi dari satu client saja. Setelah itu server akan menunggu data
yang dikirim oleh client. Jika pesan yang dikirim oleh client adalah “salam” maka server akan
membalas mengirim pesan “salam juga” . Selain dari itu, server akan mengirim pesan “Maaf,
saya tidak mengerti”.


Buat program server di bawah ini, simpan dengan nama 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();
}
}
}



Buat program client di bawah ini, simpan dengan nama 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);
}
}
}


Lalu kompile program pada command promt file simpleServer.java dan jalankan, setelah itu simpleClient.java dan jalankan dapat dilihat pada gambar dibawah ini


Pertama kompile simpleServer.java maka akan keluar informasi "Aplikasi Server Hidup"
Gambar Server Hidup

Setelah itu kompile simpleClient.java lalu jalankan dan masukan kata kunci ke server berupa pesan "salam". Secara otomatis Client akan mendapat jawaban dari server berupa kata "salam juga".
Gambar Server Menerima Salam dari Client
Gambar Client Menerima Balasan dari Server

Gambar Client menunjukkan cara yang benar untuk menjalankan aplikasi Client yakni dengan menuliskan nama lokal komputer yang dijadikan Server, disini nama lokal komputernya adalah Rengga sehingga penulisannya adalah java Client_Server Rengga [enter].
Gambar Server Menerima Inputan bukan kata Salam dari Client
Gambar Client Menerima Balasan dari Server
Server hanya bisa menerima satu kali interaksi dari Client, sehingga bila ingin melakukan interaksi lagi harus menjalankan (menghidupkan) lagi aplikasi Server-nya. 
Gambar cmd Client menunjukkan bila Client mengetikkan kata selain "salam" misalnya kata "haiii" maka Server tidak akan mengerti dan memberikan respon "Maaf. Saya tidak mengerti". 

TUGAS PEMROGRAMAN JARINGAN



Java menyediakan obyek InetAddress yang memanfaatkan layanan sistem operasi dan jaringan diatas untuk melakukan translasi nama dan IP komputer. Demo dibawah ini memperlihatkan bagaimana menggunakan obyek InetAddress untuk mengambil IP komputer lokal (D1-1) dan nama komputer lokal (D1-2), melakukan translasi IP ke nama komputer (D1-3), serta translasi nama ke IP komputer (D1-4) (seperti perintah shell NSLookup). 



D1-1 Mengambil IP komputer lokal


Masukan Listing program ini pada notepad lalu simpan dengan nama ObtainIP.java. Simpan pada dirktori mana saja.

import java.net.*;


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

Simpan source code tadi dengan nama ObtainIP.java ke direktori mana saja, dan saya menyimpannya di direktori "F:\ProgJar". Setelah disimpan, kemudian buka cmd (command prompt) pada menu Start > Accessories > Command Prompt atau langsung ketikkan cmd pada menu Run untuk mengkompile dan menjalankan program tersebut. Pada cmd tersebut ketikkan :

F: [enter]

cd ProgJar [enter]

maka root direktori akan berubah menjadi "F:\ProgJar" kemudian compile program tersebut dan jalankan dengan cara sebagai berikut :


Gambar D1-1 


Setelah program tersebut dijalankan maka IP Address komputer saya akan terlihat disitu. Mengapa demikian? Karena Java menyediakan objek InetAddress yang memanfaatkan layanan sistem operasi dan jaringan untuk melakukan translasi IP Address komputer.



D1-2 Mengambil Nama komputer lokal

Buat program di bawah ini, simpan dengan nama ObtainName.java
Souce code

import java.net.*;

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


Simpan source code tadi dengan nama ObtainName.java ke direktori mana saja, dan saya menyimpannya di direktori "F:\ProgJar".
Setelah disimpan, kemudian buka cmd (command prompt) pada menu Start > Accessories > Command Prompt atau langsung ketikkan cmd pada menu Run untuk mengkompile dan menjalankan program tersebut. Pada cmd tersebut ketikkan
F: [enter]
cd ProgJar [enter]
maka root direktori akan berubah menjadi "F:\ProgJar"
kemudian compile program tersebut dan jalankan dengan cara sebagai berikut :


Gambar D1-2

 Setelah program tersebut dijalankan maka nama lokal komputer saya akan terlihat disitu. Karena Java menyediakan objek InetAddress yang memanfaatkan layanan sistem operasi dan jaringan untuk melakukan translasi nama lokal komputer.



D1-3 Melakukan Translasi IP ke Nama Komputer


Buat program di bawah dengan nama IPtoName.java
Souce code


import java.net.*;
public class IPtoName {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java IPtoName ");
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());
}
}



Simpan source code tadi dengan nama IPtoName.java ke direktori mana saja, dan saya menyimpannya di direktori "F:\ProgJar". Setelah disimpan, kemudian buka cmd (command prompt) pada menu Start > Accessories > Command Prompt atau langsung ketikkan cmd pada menu Run untuk mengkompile dan menjalankan program tersebut. Pada cmd tersebut ketikkan
F: [enter]
cd ProgJar [enter]
maka root direktori akan berubah menjadi "F:\ProgJar"
kemudian compile program tersebut dan jalankan dengan cara sebagai berikut :


Gambar D1-3



D1-4 Melakukan Translasi Nama Komputer ke IP Address

Buat program ini, simpan dengan nama NsLookup.java.
Souce code

import java.net.*;

public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup ");
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
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}


Simpan source code tadi dengan nama  NsLookup.java ke direktori mana saja, dan saya menyimpannya di direktori "F:\ProgJar".
Setelah disimpan, kemudian buka cmd (command prompt) pada menu Start > Accessories > Command Prompt atau langsung ketikkan cmd pada menu Run untuk mengkompile dan menjalankan program tersebut. Pada cmd tersebut ketikkan
F: [enter]
cd ProgJar [enter]
maka root direktori akan berubah menjadi "F:\ProgJar"
kemudian compile program tersebut dan jalankan dengan cara sebagai berikut :


Gambar D1-4