Senin, 30 April 2012

NsLookup.java

Berikut adalah beberapa script yang dibuat untuk menampilkan nama komputer yang terhubung dengan jaringan LAN yang ada dengan mengetahui IP Address yang ada. Perintah ini dibuat dengan menggunakan bahasa pemrogaman java.


 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 ("invalid IP - malformed IP");
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();
}
}



Berikut adalah output program setelah dirunning menggunakan command prompt : 









Liat Nama Komputer Melalui IP Address dalam Jaringan dengan Java

Berikut ini adalah skrip yang dibuat untuk melihat nama komputer melalui ip address dari komputer/laptop yang kita gunakan dan dengan komputer lain yang berada dalam satu jaringan komputer dengan kita. Skrip ini juga untuk melihat ip secara sembarang yang berada dalam satu jalur lalu-lintas internet.
 Program ini dapat dirunning dengan menggunakan program java (jdk 1.6)

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


Ketika dirunning melalui command prompt maka tampilannya akan seperti dibawah ini :



Senin, 23 April 2012

Untuk mengetahui nama dari komputer PC atau Laptop yang kita gunakan dapat kita melihatnya dengan mengetikkan script java dibawah ini kemudia menjalankannya dengan menggunakan java. Pastikan sebelumnya kalau komputer anda sudah terinstal program javanya.atau download disini.
Berikut script program javanya : 

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



Jalankan melalui command prompt dengan mencompilenya : $ :> javac getName.java
kemudia Run $:> java getName

hasilnya akan seperti gambar dibawah ini : 



 

Rabu, 18 April 2012

Mengetahui IP dengan menggunakan Java

IP merupakan sebuah alamat host yang terdiri dari angka decimal 32 bit yang dipisahkan 3 titik tiap 8 bit nya, atau bisa dikatakan terdiri dari 4 oktet dan tiap oktetnya dipisahkan oleh titik. IP terdiri N (netid) dan H (host).
Contoh : 199.168.100.50 (N.N.N.H) (oktet1.oktet2.oktet3.oktet4)

Alamat IP (Internet Protocol Address atau sering disingkat IP) adalah deretan angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan Internet. Panjang dari angka ini adalah 32-bit (untuk IPv4 atau IP versi 4), dan 128-bit (untuk IPv6 atau IP versi 6) yang menunjukkan alamat dari komputer tersebut pada jaringan Internet berbasis TCP/IP.

Sistem pengalamatan IP ini terbagi menjadi dua, yakni:



IP versi 4 (IPv4)
IP versi 6 (IPv6)

IP dibedakan menjadi 2 yaitu :
IP Privat adalah IP yang bisa digunakan hanya sebatas local area saja

alamat tersebut adalah :

Kelas A : 10.0.0.1 - 10.255.255.254
Kelas B : 172.16.0.1 - 172.31.255.254
Kelas C : 192.168.0.1 - 192.168.255.254


IP Public adalah IP yang dapat digunakan oleh khalayak umum (publik) sehingga bisa diakses dari manapun (internet)

Subnet Mask


Merupakan tehnik untuk mengambil bit dari field/oktet hostid agar terbentuk suatu alamat jaringan netid / subnetid.
Subnet mask sama seperti halnya IP yaitu terdiri dari 32 bit. Angka digit 1 (satu) pada subnet mask menunjukkan bahwa bit tersebut adalah bagian dari netid (alamat jaringan) sedangkan Angka digit 0 menunjukkan bagian hostid (alamat host)

Pembatasan Alamat IP


Beberapa alamat IP mempunyai penggunaan khusus yang sudah ditentukan fungsi-fungsinya dan tidak boleh digunakan sebagai IP address. IP yang mempunyai kegunaan khusus ini sebagian orang mengatakan sebagai IP spesial.

Adapun IP yang mempunyai kegunaan khusus ini adalah :


Netid dan hostid 0 (biner 00000000) difungsikan sebagai alamat jaringannya sendiri
Netid 127 (biner 01111111) digunakan sebagai IP Loopback. yang berfungsi memeriksa konfigurasi jaringan host. Paket atau pesan-pesan yang dikirimkan ke alamat ini tidak di kirim ke jaringan tatapi hanya dikembalikan lagi.
Hostid 255 semua binernya memiliki nilai 1 (11111111) difungsikan sebagai alamat broadcasting. yaitu bila suatu paket atau pesan dikirim ke alamat ini akan di kirimkan ke seluruh host dalam jaringan.

Syarat menentukan/konfigurasi IP pada komputer


Ada beberapa aspek yang perlu diperhatikan dalam mengkofigurasi IP, agar komputer tersebut bisa saling berkomunikasi :

1) Jangan menggunakan IP Khusus seperti yang telah disebutkan diatas
Tidak boleh menggunakan netid / oktet pertama 0 (nol)
Contoh : 0.10.10.200 atau 0.168.12.95
Tidak boleh menggunakan hostid / oktet terakhir 0 (nol)
Contoh : 10.10.10.0 atau 192.168.12.0
Tidak boleh menggunakan IP loopback
Contoh : 127.0.0.1 atau 127.100.10.10
Tidak boleh menggunakan hostid / oktet terakhir 255
Contoh 192.168.255.255 atau 192.168.10.255 atau 10.10.10.255

2) Jangan menggunakan IP yang sama dengan IP host lain
Contoh : Komputer A IP nya 192.168.0.10 sedangkan Komputer B IP nya juga sama dengan IP Komputer A yaitu 192.168.0.10

3) Jangan menggunakan nama komputer yang sama satu dengan yang lain
Gunakan domain yang sama (untuk workgroup tidak harus sama)
Bagi pemula sebaiknya gunakan subnet mask default



Untuk mengetahui IP dalam suatu domain dapat mengetikan script java dibawah ini :

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

simpan dengan nama getIP.java

Kemudian kompile program seperti gambar dibawah ini :


Senin, 09 April 2012

Quantum Computing

Quatum Computing


Quantum Computing adalah teknik komputasi yang diadopsi dari teknik fisika klasik yaitu prinsip-prinsip fisika kuantum untuk meningkatkan daya komputasi dari suatu komputer klasik. Mekanika kuantum adalah cabang dasar fisika yang menggantikan mekanika klasik pada tataran atom dan subatom. Ilmu ini memberikan kerangka matematika untuk berbagai cabang fisika dan kimia, termasuk fisika atom, fisika molekular, kimia komputasi, kimia kuantum, fisika partikel, dan fisika nuklir. Mekanika kuantum adalah bagian dari teori medan kuantum dan fisika kuantum umumnya, yang, bersama relativitas umum, merupakan salah satu pilar fisika modern. Dasar dari mekanika kuantum adalah bahwa energi itu tidak kontinyu, tapi diskrit -- berupa 'paket' atau 'kuanta'. Konsep ini cukup revolusioner, karena bertentangan dengan fisika klasik yang berasumsi bahwa energi itu berkesinambungan.
Secara khusus perhitungan kuantum komputasi banyak digunakan untuk bidang kriptografi maupun eknripsi. Namun banyak yang mengakui kalau perkembangan dari kuantum komputing akan menyebabkan banyak secure data dapat dibobol dengan menguasai teknik kuantum komputing. Pada dasarnya komputer tradisional terdiri dari bit-bit yang mengatur hidup matinya suatu operasi yang dijalankan pada suatu komputer dimana bahasa mesin yang dikenal 0(off) dan 1(on). Bit-bit 1 maupun nol tadi jika digabungkan akan menjadi qubit. Perhitungan untuk satu qubit dapat berupa 0/1, 1/0, 0/0, dan 1/1 dimana dalam kondisi decoherence.

Beberapa algoritma kuantum, seperti Shor`s algorithm (algoritma faktorisasi) dan Grover`s algorithm (algoritma pencarian database), terbukti lebih efisien ketimbang algoritma yang kita kenal sekarang. Van meter et. al. , sebagaimana terlihat di grafik berikut, menunjukkan bagaimana perbandingan keefisienan Shor`s algorithm melawan algoritma klasik pada berbagai frekuensi prosesor.

Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.

Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakandalam sistem kuantum yaitu algoritma shor dan algoritma grover.

Walaupun komputer kuantum masih dalam pengembangan, telah dilakukan eksperimen dimana operasi komputasi kuantum dilakukan atas sejumlah kecil Qubit. Riset baik secara teoretis maupun praktik terus berlanjut dalam laju yang cepat, dan banyak pemerintah nasional dan agensi pendanaan militer mendukung riset komputer kuantum untuk pengembangannya baik untuk keperluan rakyat maupun masalah keamanan nasional seperti kriptoanalisis. Kriptoanalisis (dari bahasa Yunani kryptós, "tersembunyi", dan analýein, "melepaskan") adalah disiplin ilmu mengenai metode membaca pesan terenkripsi (tersandi), tanpa mengetahui informasi rahasia atau kunci yang seharusnya digunakan untuk membaca pesan tersebut. Dalam bahasa sehari-hari, kriptoanalisis bisa dikatakan ilmu memecahkan sandi. Disiplin ilmu yang digunakan pada kriptografi antara lain matematika, linguistik, logika, dan ilmu komputer.

Kriptoanalisis pertama kali dicetuskan oleh ilmuwan Arab zaman kekhalifahan Abbasiyah al-Kindi. Dalam bukunya Sebuah Naskah dalam Memecahkan Pesan-Pesan Kriptografis, ia menjelaskan secara detail metode analisis frekuensi, yang merupakan dasar bagi metode-metode kriptoanalisis. Kriptoanalisis terus berkembang sesuai perkembangan teknologi. Salah satu contoh terkenal adalah kriptoanalisis mesin Enigma pada Perang Dunia II. Pada pertengahan 1970-an muncul kelompok baru kriptografi yang disebut kriptografi asimetrik. Penemuan ini menyebabkan terjadinya perubahan radikal pada metode-metode kriptoanalisis, yang melibatkan matematika murni.

Telah dipercaya dengan sangat luas, bahwa apabila komputer kuantum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin komputer jenis tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti keterkaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.

Speed Test