Selasa, 31 Juli 2012

JAVA API (repost)

Ada tiga jenis Bahasa Pemrograman Java Application Programming Interfaces (API) :
  • inti resmi Java API, yang terdapat dalam JDK atau JRE , dari salah satu edisi dari Java Platform . Ketiga edisi dari Java Platform adalah Java ME (Micro edition) , Java SE (Standard edition) , danJava EE (Enterprise edition) .
  • resmi API opsional yang dapat didownload secara terpisah. Spesifikasi API ini didefinisikan sesuai dengan Spesifikasi Jawa Request (JSR), dan kadang-kadang beberapa API ini yang kemudian dimasukkan dalam API inti dari platform (contoh yang paling terkenal dari jenis ini adalah swing ).
  • tidak resmi API, yang dikembangkan oleh pihak ketiga, tetapi tidak berhubungan dengan JSRs.
Pihak ketiga dapat dengan bebas mengimplementasikan spesifikasi JSR untuk sebuah API resmi (bahkan untuk API inti dari bahasa), memberikan bahwa mereka menyesuaikan diri dengan Teknologi Kompatibilitas Kit (TCK) untuk JSR ini (TCK adalah paket tes yang memeriksa kesesuaian implementasi untuk JSR). Hasil kebebasan ini adalah bahwa API resmi banyak memiliki implementasi yang lebih dari Sun implementasi Referensi (RI).
Nah, berikut ini adalah laporan praktikum pengenalan JAVA API

Read more

Dasar Java

 Pemrograman dengan Java

Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model perancangan dan petunjuk sederhana penggunaannya.

Apakah Java?

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.

Platform Independent

Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.

Library

Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.

OO

Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.

Memulai Pemrograman Java

Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda adalah C:\jdk1.4 maka pada Windows 98 Anda cukup menambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java seperti Visual Café dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:
  1. Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case sensitive.
  2. Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah file bytecode berakhiran .class.
  3. Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. Contoh: java HelloWorld.

Source Code

Berikut kode untuk HelloWorld.java:
public class HelloWorld
{
    public static void main(String[] args) 
    {
        System.out.println("Apa Kabar Dunia?");
    }
}
Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama HelloWorldApplet.java:
import java.awt.Graphics;

public class HelloWorldApplet extends java.applet.Applet
{
    public void paint(Graphics g) 
    {
        g.drawString("Apa Kabar Dunia?", 5, 25);
    }
}
Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda dalam konteks eksekusi. Kedua program ini akan dibahas lebih lanjut setelah kita membahas cara mengkompile dan mengeksekusi program tersebut.
Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.

Kompilasi

Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode hasil kompilasi source code kita.

Sintaks Program

Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut.
Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah mengimpor java.awt.Graphics.
Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.
Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan protect yang akan kita bahas nanti.
Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya adalah selalu String[] args, di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
  1. Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
  2. Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
  3. Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam Listing 1, pernyataan System.out.println("Apa Kabar Dunia?"); berarti carilah objek out dalam kelas System kemudian panggil metode println dari objek out dengan parameter berupa string "Apa Kabar Dunia?". Sedang dalam Listing 2, pernyataan g.drawString("Apa Kabar Dunia?", 5, 25); berarti carilah objek g kemudian panggil metode drawString pada objek g dengan parameter "Apa Kabar Dunia?”, 5, 25);.

Eksekusi

Setelah selesai membahas sintaks dasar Java dalam kedua listing, selanjutnya kita akan mencoba mengeksekusi kedua program ini. Untuk program pertama yang berupa aplikasi biasa, kita tinggal mengetikkan perintah java HelloWorld pada prompt dan pesan Apa Kabar Dunia? akan tampil di layar (atau mungkin di tempat lain, bergantung sistem operasi Anda). Sedangkan untuk applet kita mesti membuat sebuah file HTML sebagai pembungkus—atau pemanggilnya. Berikut diberikan contoh file HTML untuk membungkus applet yang kita buat.
<HTML>
  <HEAD>
    <TITLE>Coba Applet</TITLE>
  </HEAD>
  <BODY>
    <APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25>
    </APPLET>
  </BODY>
</HTML>
Beri nama helloword.html dan simpanlah di direktori yang sama dengan lokasi file-file .java dan .class sebelumnya. Untuk mengeksekusi applet kita cukup membuka file HTML tersebut di browser yang Java-enabled atau mengetikkan perintah appletviewer namafile.html di prompt.
Read more

Senin, 16 Juli 2012

Static and Dinamic Routing

1.     Static Routing
Rute Statik adalah rute atau jalur spesifik yang ditentukan oleh user untuk meneruskan paket dari sumber ke tujuan. Rute ini ditentukan oleh administrator untuk mengontrol perilaku routing dari IP “internetwork”.

Pentingnya Rute Statik
Rute Statik menjadi sangat penting jika software IOC Cisco tidak bisa membentuk sebuah rute ke tujuan tertentu. Rute Statik juga sangat berguna untuk membuat “gateway” untuk semua paket yang tidak bisa di”routing”.(default route).

“Stub Network”
Rute Statik, umumnya digunakan untuk jalur/path dari jaringan ke sebuah “stub network” (jaringan yang dibelakangnya tidak ada jaringan lain).
staticroute1.gif
Sebuah “stub network’ (kadang di sebut “leaf node”) adalah jaringan yang hanya dapat diakses melalui satu rute. Seringkali, rute statik digunakan sebagai jalan satu-satunya untuk keluar masuk jaringan Stub.
Catatan : Rute statik dapat digunakan untuk koneksi ke suatu network yang tidak terhubung langsung dengan router anda. Untuk koneksi “end-to-end”, rute statik harus dikonfigurasi di dua arah.

Konfigurasi Rute Statik
Mengkonfigurasi Rute statik adalah dengan memasukkan tabel routing secara manual. Tidak terjadi perubahan dinamik dalam tabel ini selama jalur/rute aktif.

Perintah “ip route”
Perintah “ip route” digunakan untuk mengkonfigurasi sebuah rute statik dalam mode konfigurasi global.

ip route Command Syntax
Sintak untuk perintah “ip route” adalah sebagai berikut :
ip route network [mask] {address | interface}[distance] [permanent]
Parameter Perintah “ip route”
network : Network atau subnet tujuan
mask : Subnet mask
address : Alamat IP router Hop berikutnya.(IP address of next-hop router)
interface : Nama interface yang digunakan untuk mencapai network tujuan. Interface dapat berupa interface point-to-point. Perintah tidak akan berfungsi jika interface adalah multiaccess (contoh “shared media Ethernet interface”).
distance (Optional) : Mendefinisikan “administrative distance”.
permanent (Optional) : Menyatakan bahwa rute tidak akan dihapus, ketika interface mati (shuts down).

Contoh Konfigurasi Rute Statik
staticexample.gif
Tugas rute statik untuk mencapai stub network 172.16.1.0 adalah melalui Router A karena hanya ini satu-satunya jalan untuk mencapai network 172.16.1.0.
Contoh rute statik:
Router(config)#ip route 172.16.1.0 255.255.255.0 172.16.2.1
ip route : Identifikasi rute statik
172.16.1.0 : Alamat IP Stub Network

255.255.255.0 : Subnet Mask

172.16.2.1 : Alamat IP Router B
Catatan : Ini adalah sebuah rute “unidirectional”. Anda harus mengkonfigurasi rute dari arah/sisi lawan (Router B).

“Default Route”
“Default route” adalah tipe rute statik khusus. Sebuah “default route” adalah rute yang digunakan ketika rute dari sumber/source ke tujuan tidak dikenali atau ketika tidak terdapat informasi yang cukup dalam tabel routing ke network tujuan.

“Default Route Forwarding”
Pada gambar di atas, Router B dikonfigurasi untuk meneruskan/forward semua frame ke network tujuan yang tidak terdaftar secara eksplisit dalam routing tabel Router A.
defaultroutes.gif

Contoh “Default Route”
Router(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.2
ip route : Menyatakan rute statik
0.0.0.0 : Rute ke “nonexistent subnet”(mencakup semua IP)
0.0.0.0 : Special mask mengindikasikan “default route”
172.16.2.2: Alamat IP Router A.

2.     Dynamic Routing
merupakan Routing yang bekerja secara dinamis dan otomatis oleh suatu software Routing yang berjalan pada suatu perangkat (umum nya Router). kenapa dinamis, karena dengan dynamic routing protocol yang berjalan, router akan dapat menentukan secara otomatis lewat mana suatu paket dengan sebuah tujuan akan dikirimkan. dan apabila terjadi kegagalan jaringan pada suatu link, router secara otomatis akan memindahkan traffic melewati link yang tidak mengalami gangguan (backup link) dan akan secara otomatis menginformasikan ke router-router lain nya dalam satu domain bahwa telah terjadi perubahan routing dan router yang terkait perubahan routing tersebut akan otomatis melakukan update routing.
mengapa bisa otomatis ? dikarenakan router-router yang menjalan kan dynamic routing protocol tersebut saling mempelajari rute dan semua perangkat yang terkonek langsung (directly connected ). selanjuat nya router
akan mempelajari route-route yang ada di Router Tetangga nya (Neighbor Router) yang dimana menjalanan routing protocol yang sama . singkat nya, informasi yang di kumpulkan dan dipelajari dari router-router tetangganya ini
akan membentuk routing-table dimana akan menunjukan rute terbaik “best-route” untuk mencapai suatu network.
Lalu Dynamic routing protocol ini akan mengirimkan informasi mengenai ‘best-route” ke router yang menjadi tetangganya, dan router tetangga tersebut akan menginformasikan kembali ke tetangga lainnya sampai  semua router dalam domain yang sama saling mengetahui rute-rute untuk mencapai dari suatu network ke network lainnya.
Pada Dynamic Routing router-router dalam sebuah domain yang sama dapat beradaptasi bila terjadi perubahan topology, perangkat problem ataupun terjadinya link failure dengan merubah rute dan melakukan routing update secara otomatis. jadi router-router akan merespon secara otomatis untuk merutekan paket dari suatu network ke network yang lainnya dan akan beradaptasi bila terjadi link failure, semua itu dapa tercapai bila kondisi “tau-sama-tau” telah tercapai pada seluruh router yang ada dalam domain yang sama. kondisi “tau-sama-tau” ini lebih dikenal dengan istilah convergence.
contoh dari Dynamic routing protocol : RIP , OSPF, EIGRP, ISIS, BGP

3.      Kesimpulan
Routing adalah proses dimana suatu item dapat sampai ke tujuan dari satu lokasi ke lokasi lain. Untuk bisa me-routing, sebuah router harus tahu alamat tujuan, alamat asal/source, rute awal yang mungkin, dan path/jalur terbaik. Informasi routing adalah router mempelajari, baik statik maupun dinamik, kemudian informasi tersebut ditempatkan dalam routing tabelnya.
Rute Statik adalah rute atau jalur spesifik yang ditentukan oleh user untuk meneruskan paket dari sumber ke tujuan. Rute ini ditentukan oleh administrator untuk mengontrol perilaku routing dari IP “internetwork”. Untuk mengkonfigurasi sebuah rute statik, masukkan perintah “ip route” dengan diikuti parameter: network, mask, address/alamat, interface, dan jarak/distance.
“Default route” adalah tipe rute statik khusus. Sebuah “default route” adalah rute yang digunakan ketika rute dari sumber/source ke tujuan tidak dikenali atau ketika tidak terdapat informasi yang cukup dalam tabel routing ke network tujuan.
Routing dynamic  merupakan Routing yang bekerja secara dinamis dan otomatis oleh suatu software Routing yang berjalan pada suatu perangkat (umum nya Router). kenapa dinamis, karena dengan dynamic routing protocol yang berjalan, router akan dapat menentukan secara otomatis lewat mana suatu paket dengan sebuah tujuan akan dikirimkan. dan apabila terjadi kegagalan jaringan pada suatu link, router secara otomatis akan memindahkan traffic melewati link yang tidak mengalami gangguan (backup link) dan akan secara otomatis menginformasikan ke router-router lain nya dalam satu domain bahwa telah terjadi perubahan routing dan router yang terkait perubahan routing tersebut akan otomatis melakukan update routing.


Sumber :
http://servas.wordpress.com/2007/12/08/routing-static/
http://www.vembazax.com/2012/01/25/static-routing-vs-dynamic-routing.xml




Read more

Jumat, 13 Juli 2012

IPV6

Deskripsi
Berbeda dengan IPv4 yang hanya memiliki panjang 32-bit (jumlah total alamat yang dapat dicapainya mencapai 4,294,967,296 alamat), alamat IPv6 memiliki panjang 128-bit. IPv4, meskipun total alamatnya mencapai 4 miliar, pada kenyataannya tidak sampai 4 miliar alamat, karena ada beberapa limitasi, sehingga implementasinya saat ini hanya mencapai beberapa ratus juta saja. IPv6, yang memiliki panjang 128-bit, memiliki total alamat yang mungkin hingga 2128=3,4 x 1038 alamat. Total alamat yang sangat besar ini bertujuan untuk menyediakan ruang alamat yang tidak akan habis (hingga beberapa masa ke depan), dan membentuk infrastruktur routing yang disusun secara hierarkis, sehingga mengurangi kompleksitas proses routing dan tabel routing.
Sama seperti halnya IPv4, IPv6 juga mengizinkan adanya DHCPv6 Server sebagai pengelola alamat. Jika dalam IPv4 terdapat dynamic address dan static address, maka dalam IPv6, konfigurasi alamat dengan menggunakan DHCP Server dinamakan dengan stateful address configuration, sementara jika konfigurasi alamat IPv6 tanpa DHCP Server dinamakan denganstateless address configuration.
Seperti halnya IPv4 yang menggunakan bit-bit pada tingkat tinggi (high-order bit) sebagai alamat jaringan sementara bit-bit pada tingkat rendah (low-order bit) sebagai alamat host, dalam IPv6 juga terjadi hal serupa. Dalam IPv6, bit-bit pada tingkat tinggi akan digunakan sebagai tanda pengenal jenis alamat IPv6, yang disebut dengan Format Prefix (FP). Dalam IPv6, tidak ada subnet mask, yang ada hanyalah Format Prefix.

Format Alamat
Dalam IPv6, alamat 128-bit akan dibagi ke dalam 8 blok berukuran 16-bit, yang dapat dikonversikan ke dalam bilangan heksadesimal berukuran 4-digit. Setiap blok bilangan heksadesimal tersebut akan dipisahkan dengan tanda titik dua (:). Karenanya, format notasi yang digunakan oleh IPv6 juga sering disebut dengan colon-hexadecimal format, berbeda dengan IPv4 yang menggunakan dotted-decimal format.
Berikut ini adalah contoh alamat IPv6 dalam bentuk bilangan biner:
0010000111011010000000001101001100000000000000000010111100111011000000101010101000000000
1111111111111110001010001001110001011010

Untuk menerjemahkannya ke dalam bentuk notasi colon-hexadecimal format, angka-angka biner di atas dibagi ke dalam 8 buah blok berukuran 16-bit:

0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010
 0000000011111111 1111111000101000 1001110001011010
Lalu, setiap blok berukuran 16-bit tersebut dikonversikan ke dalam bilangan heksadesimal dan setiap bilangan heksadesimal tersebut dipisahkan dengan menggunakan tanda titik dua. Hasil konversinya adalah sebagai berikut:

21da:00d3:0000:2f3b:02aa:00ff:fe28:9c5a 

Penyederhanaan bentuk alamat

Alamat di atas juga dapat disederhanakan lagi dengan membuang angka 0 pada awal setiap blok yang berukuran 16-bit di atas, dengan menyisakan satu digit terakhir. Dengan membuang angka0, alamat di atas disederhanakan menjadi:
21da:d3:0:2f3b:2aa:ff:fe28:9c5a
Konvensi pengalamatan IPv6 juga mengizinkan penyederhanaan alamat lebih jauh lagi, yakni dengan membuang banyak karakter 0, pada sebuah alamat yang banyak angka 0-nya. Jika sebuah alamat IPv6 yang direpresentasikan dalam notasi colon-hexadecimal format mengandung beberapa blok 16-bit dengan angka 0, maka alamat tersebut dapat disederhanakan dengan menggunakan tanda dua buah titik dua (:). Untuk menghindari kebingungan, penyederhanaan alamat IPv6 dengan cara ini hanya bisa digunakan sekali saja di dalam satu alamat, karena kemungkinan nantinya pengguna tidak dapat menentukan berapa banyak bit 0 yang direpresentasikan oleh setiap tanda dua titik dua (:) yang terdapat dalam alamat tersebut. Tabel berikut mengilustrasikan cara penggunaan hal ini.
Alamat asli
Alamat asli yang disederhanakan
Alamat setelah dikompres
fe80:0000:0000:0000:02aa:00ff:fe9a:4ca2
fe80:0:0:0:2aa:ff:fe9a:4ca2
fe80::2aa:ff:fe9a:4ca2
ff02:0000:0000:0000:0000:0000:0000:0002
ff02:0:0:0:0:0:0:2
ff02::2




Format Prefix
Dalam IPv4, sebuah alamat dalam notasi dotted-decimal format dapat direpresentasikan dengan menggunakan angka prefiks yang merujuk kepada subnet mask. IPv6 juga memiliki angka prefiks, tapi tidak didugnakan untuk merujuk kepada subnet mask, karena memang IPv6 tidak mendukung subnet mask.
Prefiks adalah sebuah bagian dari alamat IP, di mana bit-bit memiliki nilai-nilai yang tetap atau bit-bit tersebut merupakan bagian dari sebuah rute atau subnet identifier. Prefiks dalam IPv6 direpesentasikan dengan cara yang sama seperti halnya prefiks alamat IPv4, yaitu[alamat]/[angka panjang prefiks]. Panjang prefiks menentukan jumlah bit terbesar paling kiri yang membuat prefiks subnet. Sebagai contoh, prefiks sebuah alamat IPv6 dapat direpresentasikan sebagai berikut:
3ffe:2900:d005:f28b::/64
Pada contoh di atas, 64 bit pertama dari alamat tersebut dianggap sebagai prefiks alamat, sementara 64 bit sisanya dianggap sebagai interface ID.
Jenis-jenis Alamat IPv6
IPv6 mendukung beberapa jenis format prefix, yakni sebagai berikut:
·         Alamat Unicast, yang menyediakan komunikasi secara point-to-point, secara langsung antara dua host dalam sebuah jaringan.
·         Alamat Multicast, yang menyediakan metode untuk mengirimkan sebuah paket data ke banyakhost yang berada dalam group yang sama. Alamat ini digunakan dalam komunikasi one-to-many.
·         Alamat Anycast, yang menyediakan metode penyampaian paket data kepada anggota terdekat dari sebuah group. Alamat ini digunakan dalam komunikasi one-to-one-of-many. Alamat ini juga digunakan hanya sebagai alamat tujuan (destination address) dan diberikan hanya kepadarouter, bukan kepada host-host biasa.
Jika dilihat dari cakupan alamatnya, alamat unicast dan anycast terbagi menjadi alamat-alamat berikut:
·         Link-Local, merupakan sebuah jenis alamat yang mengizinkan sebuah komputer agar dapat berkomunikasi dengan komputer lainnya dalam satu subnet.
·         Site-Local, merupakan sebuah jenis alamat yang mengizinkan sebuah komputer agar dapat berkomunikasi dengan komputer lainnya dalam sebuah intranet.
·         Global Address, merupakan sebuah jenis alamat yang mengizinkan sebuah komputer agar dapat berkomunikasi dengan komputer lainnya dalam Internet berbasis IPv6.
Sementara itu, cakupan alamat multicast dimasukkan ke dalam struktur alamat.
Unicast Address
Alamat IPv6 unicast dapat diimplementasikan dalam berbagai jenis alamat, yakni:
·         Alamat unicast global
·         Alamat unicast site-local
·         Alamat unicast link-local
·         Alamat unicast yang belum ditentukan (unicast unspecified address)
·         Alamat unicast loopback
·         Alamat unicast 6to4
·         Alamat unicast ISATAP

Unicast global addresses
Alamat unicast global IPv6 mirip dengan alamat publik dalam alamat IPv4. Dikenal juga sebagaiAggregatable Global Unicast Address. Seperti halnya alamat publik IPv4 yang dapat secara global dirujuk oleh host-host di Internet dengan menggunakan proses routing, alamat ini juga mengimplementasikan hal serupa. Struktur alamat IPv6 unicast global terbagi menjadi topologi tiga level (Public, Site, dan Node).
Field
Panjang
Keterangan
001
3 bit
Berfungsi sebagai tanda pengenal alamat, bahwa alamat ini adalah sebuah alamat IPv6 Unicast Global.
Top Level Aggregation Identifier (TLA ID)
13 bit
Berfungsi sebagai level tertinggi dalam hierarki routing. TLA ID diatur oleh Internet Assigned Numbers Authority (IANA), yang mengalokasikannya ke dalam daftar Internet registry, yang kemudian mengolasikan sebuah TLA ID ke sebuah ISP global.
Res
8 bit
Direservasikan untuk penggunaan pada masa yang akan datang (mungkin untuk memperluas TLA ID atau NLA ID).
Next Level Aggregation Identifier (NLA ID)
24 bit
Berfungsi sebagai tanda pengenal milik situs (site) kustomer tertentu.
Site Level Aggregation Identifier (SLA ID)
16 bit
Mengizinkan hingga 65536 (216) subnet dalam sebuah situs individu. SLA ID ditetapkan di dalam sebuah site. ISP tidak dapat mengubah bagian alamat ini.
Interface ID
64 bit
Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik (yang ditentukan oleh SLA ID).


Unicast site-local addresses
Alamat unicast site-local IPv6 mirip dengan alamat privat dalam IPv4. Ruang lingkup dari sebuah alamat terdapat pada Internetwork dalam sebuah site milik sebuah organisasi. Penggunaan alamat unicast global dan unicast site-local dalam sebuah jaringan adalah mungkin dilakukan. Prefiks yang digunakan oleh alamat ini adalah FEC0::/48.
Field
Panjang
Keterangan
111111101100000000000000000000000000000000000000
48 bit
Nilai ketetapan alamatunicast site-local
Subnet Identifier
16 bit
Mengizinkan hingga 65536 (216) subnet dalam sebuah struktur subnet datar. Administrator juga dapat membagi bit-bit yang yang memiliki nilai tinggi   (high-order bit) untuk membuat sebuah infrastruktur routing hierarkis.
Interface Identifier
64 bit
Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik.
Unicast link-local address
Alamat unicast link-local adalah alamat yang digunakan oleh host-host dalam subnet yang sama. Alamat ini mirip dengan konfigurasi APIPA (Automatic Private Internet Protocol Addressing) dalam sistem operasi Microsoft Windows XP ke atas. host-host yang berada di dalam subnet yang sama akan menggunakan alamat-alamat ini secara otomatis agar dapat berkomunikasi. Alamat ini juga memiliki fungsi resolusi alamat, yang disebut denganNeighbor Discovery. Prefiks alamat yang digunakan oleh jenis alamat ini adalah fe80::/64.
Field
Panjang
Keterangan
1111111010000000000000000000000000000000000000000000000000000000
64 bit
Berfungsi sebagai tanda pengenal alamat unicast link-local.
Interface ID
64 bit
Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik.
Unicast unspecified address
Alamat unicast yang belum ditentukan adalah alamat yang belum ditentukan oleh seorang administrator atau tidak menemukan sebuah DHCP Server untuk meminta alamat. Alamat ini sama dengan alamat IPv4 yang belum ditentukan, yakni 0.0.0.0. Nilai alamat ini dalam IPv6 adalah 0:0:0:0:0:0:0:0 atau dapat disingkat menjadi dua titik dua (::).
Unicast Loopback Address
Alamat unicast loopback adalah sebuah alamat yang digunakan untuk mekanisme interprocess communication (IPC) dalam sebuah host. Dalam IPv4, alamat yang ditetapkan adalah127.0.0.1, sementara dalam IPv6 adalah 0:0:0:0:0:0:0:1, atau ::1.
Unicast 6to4 Address
Alamat unicast 6to4 adalah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam InternetIPv4 agar dapat saling berkomunikasi. Alamat ini sering digunakan sebagai pengganti alamat publik IPv4. Alamat ini aslinya menggunakan prefiks alamat 2002::/16, dengan tambahan 32 bit dari alamat publik IPv4 untuk membuat sebuah prefiks dengan panjang 48-bit, dengan format2002:WWXX:YYZZ::/48, di mana WWXX dan YYZZ adalah representasi dalam notasi colon-decimal format dari notasi dotted-decimal format w.x.y.z dari alamat publik IPv4. Sebagai contoh alamat IPv4 157.60.91.123 diterjemahkan menjadi alamat IPv62002:9d3c:5b7b::/48.
Meskipun demikian, alamat ini sering ditulis dalam format IPv6 Unicast global address, yakni2002:WWXX:YYZZ:SLA ID:Interface ID.
Unicast ISATAP Address
Alamat Unicast ISATAP adalah sebuah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam sebuah Intranet IPv4 agar dapat saling berkomunikasi. Alamat ini menggabungkan prefiks alamat unicast link-local, alamat unicast site-local atau alamat unicast global (yang dapat berupa prefiks alamat 6to4) yang berukuran 64-bit dengan 32-bit ISATAP Identifier (0000:5efe), lalu diikuti dengan 32-bit alamat IPv4 yang dimiliki oleh interface atau sebuah host. Prefiks yang digunakan dalam alamat ini dinamakan dengan subnet prefix. Meski alamat 6to4 hanya dapat menangani alamat IPv4 publik saja, alamat ISATAP dapat menangani alamat pribadi IPv4 dan alamat publik IPv4.
Multicast Address
Alamat multicast IPv6 sama seperti halnya alamat multicast pada IPv4. Paket-paket yang ditujukan ke sebuah alamat multicast akan disampaikan terhadap semua interface yang dikenali oleh alamat tersebut. Prefiks alamat yang digunakan oleh alamat multicast IPv6 adalahff00::/8.
Field
Panjang
Keterangan
11111111
8 bit
Tanda pengenal bahwa alamat ini adalah alamat multicast.
Flags
4 bit
Berfungsi sebagai tanda pengenal apakah alamat ini adalah alamat transient atau bukan. Jika nilainya 0, maka alamat ini bukan alamat transient, dan alamat ini merujuk kepada alamat multicast yang ditetapkan secara permanen. Jika nilainya 1, maka alamat ini adalah alamat transient.
Scope
4 bit
Berfungsi untuk mengindikasikan cakupan lalu lintas multicast, seperti halnya interface-locallink-localsite-localorganization-local atauglobal.
Group ID
112 bit
Berfungsi sebagai tanda pengenal group multicast
Anycast Address
Alamat Anycast dalam IPv6 mirip dengan alamat anycast dalam IPv4, tapi diimplementasikan dengan cara yang lebih efisien dibandingkan dengan IPv4. Umumnya, alamat anycast digunakan oleh Internet Service Provider (ISP) yang memiliki banyak klien. Meskipun alamat anycastmenggunakan ruang alamat unicast, tapi fungsinya berbeda daripada alamat unicast.
IPv6 menggunakan alamat anycast untuk mengidentifikasikan beberapa interface yang berbeda. IPv6 akan menyampaikan paket-paket yang dialamatkan ke sebuah alamat anycast ke interfaceterdekat yang dikenali oleh alamat tersebut. Hal ini sangat berbeda dengan alamat multicast, yang menyampaikan paket ke banyak penerima, karena alamat anycast akan menyampaikan paket kepada salah satu dari banyak penerima.

Sumber  :
www2.telkom.net
www.wikipedia.id
www.ralpbh.com
Read more
 

Simple Design by Insight © 2009