Kamis, 10 Mei 2012

Tugas Pemrograman Jaringan-Tugas 3 Mei 2012


SOAL
1. Jelaskan secara singkat apa yang anda ketahui tentang UDP
2. Jelaskan perbedaan TCP dan UDP
3. Berikan contoh aplikasi –aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut.
4. Bagaimana konsep Client Server dalam jaringan komputer
5. Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport.
6. Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP, jelaskan perbedaan TCP dan UDP.
7. Berikan contoh aplikasi –aplikasi yang menggunakan protokol TCP, dan jelaskan bagaimana kerja aplikasi tersebut.
8. Jelaskan langkah dan prinsip kerja socket programming untuk komunikasi dua arah

JAWAB
1.      UDP (Unit Datagram Protocol) adalah protocol connectionless message-based yang lebih sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah, dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati jaringan dalam unit-unit yang berdiri sendiri.
Ciri-ciri UDP adalah:
  • Tidak terpercaya
    Ketika pesan dikirimkan, tidak dapat diketahui apakah akan sampai tujuan. Paket dapat hilang di jalan. Tidak ada konsep acknoweledgment, retransimission, dan timeout.
  • Tidak terurutJika dua pesan dikirimkan ke penerima yang sama, urutan sampainya tidak dapat diprediksi.
  • Lightweight
    Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll. Layer transport yang kecil yang didesain di atas IP.
  • Datagrams
    Paket yang dikirimkan secara individu dan dijamin akan utuh jika sampai. Paket-paket memiliki batas-batas yang pasti, dan tidak dipisan dan dibagi ke dalam data stream yang mungkin ada
2.       PERBEDAAN TCP DAN UDP
Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.

3.      Contoh protokol aplikasi yang menggunakan UDP :
• DNS (Domain Name System) 53
• SNMP, (Simple Network Management Protocol) 161, 162
• TFTP (Trivial File Transfer Protocol) 69
• SunRPC port 111.
Cara Kerja DNS (Domain Name System)
DNS menggunakan relasi client – server untuk resolusi nama. Pada saat client mencari satu host, maka ia akan mengirimkan query ke server DNS. Query adalah satu permintaan untuk resolusi nama yang dikirimkan ke server DNS.
  1. Pada komputer Client, sebuah program aplikasi misalnya http, meminta pemetaan IP Address (forward lookup query). Sebuah program aplikasi pada host yang mengakses domain system disebut sebagai resolver, resolver menghubungi DNS server, yang biasa disebut name server.
  2. Name server meng-cek ke local database, jika ditemukan, name server mengembalikan IP Address ke resolver jika tidak ditemukan akan meneruskan query tersebut ke name server  root server.
  3. Terakhir barulah si client bisa secara langsung menghubungi sebuah website / server yang diminta dengan menggunakan IP Address yang diberikan oleh DNS server.
4.      Konsep client server
Jaringan client atau server adalah jaringan dimana komputer client bertugas melakukan permintaan data dan server bertugas melayani permintaan tersebut.
Client
  • User akan membuat permintaan melalui software client. Aplikasi ini berfungsi :
  • Memberikan interface bagi user untuk melakukan jobs.
  • Format request data ke bentuk yang dapat dimengerti oleh server
  • Menampilkan hasil yang diminta pada layar
Server
Jaringan client atau server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client. Untuk itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer harus mampu melayani :
  • Request secara simultan dalam jumlah besar
  • Aktivitas manajemen jaringan
  • Menjamin keamanan pada resource jaringan
5.      Protokol transport = protocol tcp dan protocol udp (pengertiannya liat nmr 6 aja )


6.      A.   Protokol TCP ( Transmission Control Protocol ) adalah salah satu jenis protokol transfer data. TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Sebelum terjadi proses tranfer data, maka yang pertama dilakukan adalah kedua belah pihak melakukan caal request dan call accept. Protokol TCP menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara simultan. Sebuah circuit virtual disiapkan sebelum packet-packet dikirimkan. Pada masing-masing packet terdapat virual circuit identifier yang berisi alamat tujuan packet tersebut. Data yang dikirimkan dalam sebuah protokol TCP maka akan diurutkan dengan sebuah nomor urut dan akan mengharap packet positive acknowledgment. Apabila tidak ada packet positive acknowledgment, maka packet akan dikirim ulang. Oleh karena itu, protokol TCP reliable. Akan tetapi karena harus mengecek setiap packet yang dikirmkan, maka protokol TCP relatif lambat. Pada TCP, hanya bisa melakukan koneksi one-to-one dan tidak bisa melakukan koneksi one-to-many. Karena rute-rute packet sudah ditentukan sebelumnya, maka akan lebih sulit bagi jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah simpul/node mengalami kerusakan/kegagalan, maka seluruh virtual circuit yang melewati simpul tersebut akan hilang.
Protokol UDP
UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke host tujuan. Tergantung pada host penerima/tujuan, apakah akan meminta kembali pakcet yang rusak atau hilang. Kelebihan UDP adalah pada saat digunakan pada lightweight protokol, misalnya saja DNS(Domain Name Service). Selain itu protokol UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka pacekt packet berikutnya dapat menemukan jalan/rute pengganti yang melewati simpul tersebut.

-       UDP adalah “datagram-oriented”, sedangkan TCP adalah “session-oriented”. Datagram adalah paket informasi self-contained. UDP berhubungan dengan datagram atau paket individu yang dikirim dari client ke server dan atau sebaliknya.
-       UDP adalah connection-less. Client tidak membangun koneksi ke server sebelum mengirim data, client hanya mengirim data secara langsung.
-       UDP adalah protokol yang tidak andal, dalam artian :
  • Paket dapat hilang. UDP tidak dapat mendeteksinya, sehingga pada program aplikasi client – server, metode transmisi ulang dikarenakan data rusak atau hilang harus dilakukan pada level aplikasi. Biasanya aplikasi menunggu hingga timeout habis, dan kemudian mencoba lagi
  • Paket dapat mengalami kerusakan. Paket UDP berisi checksum semua data dalam paket. Checksum ini memungkinkan UDP mendeteksi kapan suatu paket mengalami kerusakan. Jika hal ini terjadi, maka paket tersebut dikeluarkan, dan sebagaimana biasa aplikasilah yang mendeteksi hal ini dan melakukan transmisi ulang seperlunya.
  • Karena UDP adalah datagram-oriented dan pada level protokol setiap paket berdiri sendiri, maka UDP tidak memiliki konsep paket sesuai urutan, yang selanjutnya berarti tidak memerlukan nomor urut pada paket tersebut.
  • Karena UDP tidak memerlukan mekanisme kontrol yang rumit, maka UDP dapat dianggap lebih mudah dan lebih kecil ( dalam hal baris data dan memori ) untuk diimplementasikan. Namun hal tersebut juga membuat UDP tidak cocok untuk sejumlah besar data.

7.      Contoh protokol aplikasi yang menggunakan TCP :
  • HTTP (Hypertext Transfer Protocol)
  • FTP (File Transfer Protocol)
  • SMTP (Simple Mail Transfer Protocol)
Cara kerja http
Bila kita mengklik link hypertext atau kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang akan dihubungi dan file apa yang diminta kemudian web browser akan mengirimkan perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.
8. socket dua arah merupakan mekanisme komunikasi yang memungkinkan terjadinya  pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin.
Di dalam kotak menunjukkan system call/function yang dibutuhkan untuk
koneksi/komunikasi, misal socket(), bind(), listen(), connect(), dll. Secara garis
besar langkah – langkah yang dilakukan pada client dan server adalah sebagai
berikut :
1.   Langkah – langkah dasar di client :
a.   Membuka koneksi client ke server, yang di dalamnya adalah :
9   Membuat socket dengan perintah socket()
9   melakukan pengalamatan ke server.
9   Menghubungi server dengan connect()
b.   Melakukan komunikasi (mengirim dan menerima data), dengan
menggunakan perintah write()  dan  read()
c.   Menutup hubungan dengan perintah close() ;
2.   Langkah – langkah dasar di server :
a.   Membuat socket dengan perintah socket()
b.   Mengikatkan socket kepada sebuah alamat network dengan perintah
bind()
c.   Menyiapkan socket untuk menerima koneksi yang masuk dengan
perintah  listen()
d.   Menerima koneksi yang masuk ke server dengan perintah accept()
e.   Melakukan komunikasi (mengirim dan menerima data), dengan
menggunakan perintah write()  dan  read()

Jumat, 04 Mei 2012

Tugas Pemrograman Jaringan-Membangun Aplikasi Client-Server

Demo D1-5
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"
Setelah itu kompile simpleClient.java, jalankan dan masukan kata kunci maka server akan mendapat pesan salam. Secara otomatis Client akan menjawab salam juga.

Demo D1-7
Tutorial ini akan membuat kelas Staff yang berisi informasi data pegawai. Data staff akan
dikirimkan dari suatu aplikasi client ke aplikasi server lewat soket.

Buatlah kelas dibawah ini dan simpan sebagai Staff.java

import java.io.*;
public class Staff implements Serializable{
String nama;
String divisi;
int umur;
public Staff(String nama, String divisi, int umur)
{
this.nama=nama;
this.divisi=divisi;
this.umur= umur;
}
public void print()
{
System.out.println("Data Staff: ");
System.out.println("Nama : " + nama);
System.out.println("Divis: " + divisi);
System.out.println("Umur : "+ umur);
}
}

Buatlah kelas dibawah ini dan simpanlah sebagai ObjectClient.java:

import java.net.*;
import java.io.*;
public class ObjectClient{
private static int SRV_PORT = 5000;
private static ObjectOutputStream os=null;
public static void main(String argv[]) throws Exception{
try{
//membuat soket client
Socket soketClient= new Socket("127.0.0.1", SRV_PORT);
//membuat stream untuk pengiriman obyek
os= new
ObjectOutputStream(soketClient.getOutputStream());
//membuat obyek dan mengirimkannya lewat stream obyek
Staff pegawai= new Staff("Maylano","IT",21);
os.writeObject(pegawai);
System.out.println("Client mengirim data pegawai:");
pegawai.print();
}
catch(Exception e){
e.printStackTrace();
}
}
}

Buatlah kelas server dibawah ini dan simpan sebagai ObjectServer.java

import java.net.*;
import java.io.*;
public class ObjectServer {
private static int SRV_PORT=5000;
private static ObjectInputStream is=null;
public static void main(String argv[]) throws Exception{
//membuat soket server dan menunggu koneksi
ServerSocket soketServer= new ServerSocket(SRV_PORT);
Socket soketClient= soketServer.accept();
//membuat stream untuk baca obyek
is= new ObjectInputStream(soketClient.getInputStream());
//menunggu dan membaca obyek yang dikirimkan
Staff pegawai= (Staff) is.readObject();
System.out.println("Server menerima data Pegawai");
pegawai.print();
}
}

Setelah itu kompile ObjectServer.java dan jalankan setelah itu kompile ObjectClient.java maka server akan menerima data pegawai setelah ObjectClient.java dijalankan.


Selasa, 17 April 2012

Penerapan Cloud Computing

Trend penggunaan layanan Cloud Computing pada tahun 2012 ini terlihat mengalami peningkatan. Beberapa perusahaan teknologi sudah memperkenalkan layanan Cloud Computing bagi masyarakat secara luas.
Sehubungan layanan berbasis Cloud Computing telah dimanfaatkan secara luas oleh masyarakat, ada beberapa hal yang patut kita lihat dari penerapan oleh Pemerintah Amerika Serikat. Di Negeri Paman Sam ini pemerintah Amerika Serikat melalui NIST telah mengelompokkan tipe-tipe development layanan Cloud Computing, yaitu:
1. Private Cloud
Private Cloud yang hanya dimiliki oleh sejumlah perusahaan atau individual. Di mana sebuah infrastruktur layanan cloud, dioperasikan hanya untuk sebuah organisasi tertentu. Infrastruktur cloud itu bisa saja dikelola oleh si organisasi itu sendiri atau oleh pihak ketiga. Lokasinya pun bisa on-site ataupun off-site.
Biasanya organisasi dengan skala besar saja yang mampu memiliki atau mengelola private cloud ini. Hal ini sangat bagus sekali untuk menjadi suatu keamanan dari layanan ini dan biasanya untuk menjalankan hal ini diperlukan biaya yang lumayan tinggi.
2. Community Cloud
Dalam model ini, sebuah infrastruktur cloud digunakan bersama-sama oleh beberapa organisasi yang memiliki kesamaan kepentingan, misalnya dari sisi misinya, atau tingkat keamanan yang dibutuhkan, dan lainnya.
Jadi, community cloud ini merupakan “pengembangan terbatas” dari private cloud. Dan sama juga dengan private cloud, infrastruktur cloud yang ada bisa di manage oleh salah satu dari organisasi itu, ataupun juga oleh pihak ketiga.
Dari dua hal diatas memang masing-masing mempunyai keuntungan dan kekurangan, tapi sejauh mana hal itu dikembalikan kepada tujuan akhir pembangunan cloud computing itu sendiri. Sedangkan dalam penerapan di pasar saat ini berbeda-beda dan bisa saja disesuaikan kebutuhan pasar dari cloud computing itu sendiri. 

Sumber :
http://infotekno.co.id/column/2012/03/09/penerapan_cloud_computing_di_masyarakat

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.



Sekianlah model-model komputasi. Materi ini bersumber dari :
http://id.wikipedia.org/wiki/Kategori:Model_komputasi
http://id.wikipedia.org/wiki/Teori_komputasi
http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol2/njc1/petri.gif
http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Graf_automatu_moore.svg/539px-Graf_automatu_moore.svg.png
http://fadhlimencobabangkit.wordpress.com/2010/02/28/model-komputasi/


Senin, 16 April 2012

Tugas Pemrograman Jaringan-InetAddress




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
Masukan Listing program ini pada notepad lalu simpan dengan nama getIP.java. Simpan pada dirktori mana saja.

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
                  if (i > 0) {
                        System.out.print(".");
                  }
                  System.out.print(ip[i] & 0xff);
            }
            System.out.println();
      }
}

Saya menyimpan pada directori C dapat dilihat dalam notepad++ listing program yang disimpan pada gambar dibawah ini.



Lalu buka Command Prompt lalu masuk dalam direktori C. lalu jalankan pertintah
Javac getIP.java (untuk mengkompile)
Java getIP            (untuk menjalankan program) 





D1-2
Buat program di bawah ini, simpan dengan nama getName.java
Souce code

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

Masukan Program diatas pada notepad




Ketikan pada Command prompt perintah seperti gambar dibawah ini, dan maka akan keluar hasil nama “ Nama computer Anda :di3nalan-PC”.





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

Masukan Program diatas pada notepad



Lalu kompile dan jalankan dengan perintah dibawah ini, dan hasilnya dapat dilihat pada gambar dibawah ini.

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

Masukan Program diatas pada notepad




Lalu kompile dan jalankan dengan perintah dibawah ini, dan hasilnya dapat dilihat pada gambar dibawah ini.







Rabu, 04 April 2012

Teknologi Modern Computing

Sebuah komputer adalah mesin yang dapat diprogram dirancang untuk secara otomatis melakukan urutan aritmatika atau operasi logis. Urutan operasi tertentu dapat diubah dengan mudah, yang memungkinkan komputer untuk memecahkan lebih dari satu jenis masalah. Sebuah kelas penting dari operasi komputer pada beberapa platform komputasi adalah menerima masukan dari operator manusia dan output dari hasil diformat untuk digunakan manusia. Antarmuka antara komputer dan operator manusia dikenal sebagai user interface.

Secara konvensional komputer terdiri dari beberapa bentuk memori, setidaknya satu unsur yang melakukan operasi aritmatika dan logika, dan unit sequensial dan kontrol yang dapat mengubah urutan operasi berdasarkan informasi yang disimpan. Perangkat periferal memungkinkan informasi yang akan dimasukkan dari sumber eksternal, dan memungkinkan hasil usaha untuk dikirim keluar.

Unit pengolahan Sebuah komputer menjalankan serangkaian instruksi yang membuatnya membaca, memanipulasi dan kemudian menyimpan data. Instruksi Bersyarat mengubah urutan instruksi sebagai fungsi dari keadaan saat ini mesin atau lingkungannya.

Komputer digital pertama elektronik dikembangkan pada pertengahan abad 20 (1940-1945). Awalnya, mereka adalah ukuran ruangan besar, mengkonsumsi daya sebanyak beberapa ratus komputer pribadi modern (PC). Di era ini komputer analog mekanik yang digunakan untuk aplikasi militer.
 
Komputer modern didasarkan pada sirkuit terpadu dengan jutaan miliaran kali lebih mampu dari mesin awal, dan menempati sebagian kecil dari ruang komputer sederhana cukup kecil untuk masuk ke dalam perangkat mobile, dan komputer mobile dapat didukung oleh baterai kecil. Komputer pribadi dalam berbagai bentuk mereka adalah ikon dari Era Informasi dan apa yang kebanyakan orang anggap sebagai "komputer". Namun, komputer tertanam ditemukan di banyak perangkat dari mp3 player untuk pesawat tempur dan dari mainan, robot industri yang paling banyak.

Mobile Computing

Teknologi mobile mungkin bukan istilah baru untuk zaman sekarang dimana teknologi telah berkembang pesat. Hampir setiap orang saat ini menggunakannya, salah satunya adalah handphone karena dirasa teknologi ini sangat membantu dalam menyelesaikan pekerjaan bahkan saat ini sudah menjadi salah satu kebutuhan setiap orang. Dibalik itu semua, teknologi ini erat kaitannya dengan proses komputasi yang menjadikannya bermanfaat dalam menyelesaikan masalah maupun pekerjaan. Komputasi pada teknologi ini dapat disebut Mobile computing.

Mobile Computing adalah sebuah komputasi menggunakan teknologi yang tidak terhubung secara fisik, atau dalam jarak jauh atau lingkungan mobile (non statik).
Alat – alat yang bisa dikatakan sebagai mobile computing cenderung portable dan mudah untuk dibawa kemana saja. Berikut adalah beberapa alat mobile computing :
  • Komputer Portabel 
Portabel komputer adalah komputer yang dapat dengan mudah dibawa dari satu tempat ke tempat lain.
  • Tablet PC 
Tablet PC adalah komputer portabel berbentuk buku atau yang biasa disebut laptop. Memiliki layar sentuh atau teknologi tablet digital yang memungkinkan pengguna komputer mempergunakan stylus atau pulpen digital selain keyboard ataupun mouse komputer.
  • Internet Tablet   
Internet tablet adalah berbagai alat mobile internet yang dibuat dan difokuskan hanya untuk internet dan fitur – fitur media lainnya
  • PDA
PDA adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana. PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo.
  • Ultra mobile PC
Ultra mobile PC atau yang lebih dikenal dengan  Micro PC  adalah komputer ekstra mini yang bisa dibawa kemana – mana, berlayar sentuh, dapat memutar film dan lagu, bermain game dana dapat digunakan untuk mengerjakan tugas kantor. Alat ini dikembangkan oleh Microsoft bekerja sama dengan ASUS, Samsung dana Founder.
  • Smart Phone  
adalah telepon genggam yang mempunyai kemampuan tingkat tinggi, terkadang dengan fungsi yang menyerupai komputer.


Walaupun mobile computing adalah teknologi yang sudah maju, namun teknologi ini juga mempunyai eterbatasan dan resiko jika tidak digunakan dalam situasi yang benar. Berikut adalah beberapa keterbatasan dan resiko dari mobile computing:

Kurangnya Bandwith
Akses internet pada peralatan ini umumnya lebih lambat dibandingkan dengan koneksi kabel, dengan menggunakan teknologi seperti GPRS, EDGE dan jaringan 3G yang baru – baru ini keluar. LAN nirkabel berkecepatan tinggi tidak mahal, tetapi memiliki rentang yang sangat terbatas.

Konsumsi Tenaga
Ketika sebuah stopkontak listrik atau generator portabel tidak tersedia, komputer mobile harus bergantung sepenuhnya pada daya baterai. Ini berarti baterai yang luar biasa mahal harus digunakan untuk mendapatkan masa pakai baterai yang diperlukan.

Gangguan Transmisi
Banyak faktor yang bisa menyebabkan gangguan sinyal pada mobile computing seperti cuaca, medan dan jarak alat mobile computing dengan titik pemancar sinyal terdekat. Selain itu penerimaan sinyal di dalam terowongan, di beberapa gedung dan daerah pedesaan seringkali buruk.

Potensi Terjadinya Kecelakaan
Beberapa kecelakaan kendaraan bermotor baik mobil maupun motor sering disebabkan oleh pengendaranya menggunakan peralatan mobile seperti handphone saat sedang berkendara. Selain itu juga terdapat rumor bahwa sinyal telepon seluler bisa menyebabkan gangguan kesehatan.

Antarmuka Pengguna Dengan Alat
Layar dan keyboard yang cenderung kecil terkadang membuat peralatan tersebut sulit untuk digunakan. Metode input alternatif seperti input suara atau pengenalan tulisan tangan membutuhkan pelatihan untuk menggunakannya.

Cloud computing

Cloud computing adalah pengiriman komputasi sebagai layanan bukan produk, dimana sumber daya bersama, perangkat lunak, dan informasi disediakan untuk komputer dan perangkat lain sebagai utilitas (seperti jaringan listrik) melalui jaringan (biasanya internet).

Cloud computing mempercayakan, biasanya terpusat, layanan dengan data Anda, perangkat lunak, dan komputasi pada antarmuka pemrograman aplikasi diterbitkan (API) melalui jaringan. Ia memiliki banyak tumpang tindih dengan perangkat lunak sebagai layanan (SaaS).



Pengguna akhir aplikasi awan berbasis akses melalui web browser atau desktop ringan atau aplikasi mobile sedangkan perangkat lunak bisnis dan data disimpan di server di lokasi yang jauh. Awan penyedia aplikasi berusaha untuk memberikan layanan yang sama atau lebih baik dan kinerja daripada jika program perangkat lunak yang diinstal secara lokal pada komputer pengguna akhir.

Pada dasar komputasi awan adalah konsep yang lebih luas dari konvergensi infrastruktur (Converged Infrastruktur) dan layanan bersama. Jenis lingkungan pusat data memungkinkan perusahaan untuk mendapatkan aplikasi mereka dan berjalan lebih cepat, dengan pengelolaan yang lebih mudah dan pemeliharaan kurang, dan memungkinkan TI untuk lebih cepat menyesuaikan sumber daya TI (seperti server, storage, dan jaringan) untuk memenuhi permintaan bisnis yang fluktuatif dan tak terduga .



Sumber :
http://en.wikipedia.org/wiki/Computer
http://en.wikipedia.org/wiki/Cloud_computing
http://4d1kurn14.wordpress.com/2010/04/25/mobile-computing/