Selasa, 01 November 2011

SUBNETTING

Kali ini saya akan menjelaskan tentang Subnetting,kelas-kelas dalam IP, cara menghitung network, host, broadcast dan menentuan subnetnya.

Check it out ...

             Subnetting adalah teknik memecah suatu jaringan besar menjadi jaringan yang lebih kecil dengan cara mengorbankan bit host ID pada subnet mask untuk dijadikan network ID baru. Secara umum IP Address dibagi menjadi 3 kelas, yang dipakai di jaringan lokal sampai dengan jaringan yang bersekala luas, yaitu :
  • Kelas A 1- 127 contoh IP: 10.1.1.1.12 subnetmask 255.0.0.0
  • Kelas B 128-191 contoh IP: 128.1.1.1.15 subnetmask 255.255.0.0
  • Kelas C 192-223 contoh IP: 192.1.1.1.10 subnetmask 255.255.255.0
  • Kelas D 224-255 subnetmask 255.255.255.255
1.    Kelas A
Oktet pertamanya mempunyai nilai 0 sampai 127, dan pengalamatan kelas A masing-masing dapat mendukung 16.77.214 host.
NNNNNNNN
HHHHHHHH
HHHHHHHH
HHHHHHHH

Keterangan :
N : NetID H : HostID
Kelas A hanya menggunakan octet pertama ID jaringan, tiga octet yang tersisa disediakan untuk digunakan sebagai host id.
Karakteristik kelas A :
o  Bit pertama : 0
o  Panjang netID : 8 bit
o  Panjang host ID : 24 bit
o  Byte pertama : 0 - 127
o  Jumlah : 126 kelas A ( 0 dan 127 dicadangkan )
o  Range IP :1.xxx.xxx.xxx s/d 126.xxx.xxx.xxx
o  Jumlah IP :16.77.214 IP Address pada tiap kelas A

2.    Kelas B
Oktet pertamanya mempunyai nilai 128 sampai 191, dan pengalamatan kelas B masing-masing dapat mendukung 65.532 host.

NNNNNNNN
NNNNNNNN
HHHHHHHH
HHHHHHHH

Keterangan :
N : NetID H : HostID
Karakteristik kelas B :
o  2 Bit pertama : 10
o  Panjang netID : 16 bit
o  Panjang host ID : 16 bit
o  Byte pertama : 128 - 191
o  Jumlah : 16.386 kelas B
o  Range IP :128.xxx.xxx.xxx s/d 126.xxx.xxx.xxx
o  Jumlah IP :65.532 IP Address pada tiap kelas B

3.      Kelas C
Oktet pertamanya mempunyai nilai 192 sampai 223, dan pengalamatan kelas C masing-masing dapat mendukung 256 host.
NNNNNNNN
NNNNNNNN
NNNNNNNN
HHHHHHHH


Keterangan :
N : NetID H : HostID
Karakteristik kelas B :
o  2 Bit pertama : 110
o  Panjang netID : 24 bit
o  Panjang host ID : 8 bit
o  Byte pertama : 192 - 223
o  Jumlah : 256kelas C
o  Range IP :192.0.0.xxx s/d 255.255.255.xxx
o  Jumlah IP :254 IP Address pada tiap kelas C

Subnetmask
Nilai subnetmask untuk memisahkan network id dengan host id. Subnetmask diperlukan oleh TCP/IP untuk menentukan apakah jaringan yang dimaksud adalah jaringan local atau non local. Network ID dan host ID didalam IP address dibedakan oleh penggunaan subnet mask. Masing-masing subnetmask merupakan pola nomor 32-bit yang merupakan bit groups dari semua (1) yang menunjukkan network ID dan semua nol (0) menunjukkan host ID dari porsi IP address. Untuk lebih mempermudah pengalamatan IP address pada pemberian normor dilakukan dengan berurutan.
Tabel subnetmask :
Kelas IP Address
Bit Subnet
Subnet Mask
A
11111111 00000000 00000000 00000000
255.0.0.0
B
11111111 11111111 00000000 00000000
255.255.0.0
C
11111111 11111111 11111111 00000000
255.255.255.0

Menentukan alamat Network Identifier
Untuk menentukan network identifier dari sebuah alamat IP dengan menggunakan sebuah subnetmask tertentu, dapat dilakukan dengan menggunakan sebuah operasi matematika, yaitu dengan menggunakan operasi logika perbandingan AND (AND comparison). Di dalam sebuah AND comparison, nilai dari dua hal yang diperbandingkan akan bernilai true hanya ketika dua item tersebut bernilai true; dan menjadi false jika salah satunya false. Dengan mengaplikasikan prinsip ini ke dalam bit-bit, nilai 1 akan didapat jika kedua bit yang diperbandingkan bernilai 1, dan nilai 0 jika ada salah satu di antara nilai yang diperbandingkan bernilai 0.
Cara ini akan melakukan sebuah operasi logika AND comparison dengan menggunakan 32-bit alamat IP dan dengan 32-bit subnet mask, yang dikenal dengan operasi bitwise logical AND comparison. Hasil dari operasi bitwise alamat IP dengan subnet mask itulah yang disebut dengan network identifier.
Contoh:
Alamat IP    10000011 01101011 10100100 00011010 (131.107.164.026)
Subnet Mask  11111111 11111111 11110000 00000000 (255.255.240.000)
------------------------------------------------------------------
Network ID   10000011 01101011 10100000 00000000 (131.107.160.000)

CONTOH SOAL:
Carilah network, host awal, host akhir dan broadcast dari IP 192.168.0.150/27 dan tentukan masuk ke dalam subnet berapa IP tersebut !

Jawab :
Sebelum subnetting, IPnya adalah :
IP address : 192.168.0.150/27
Subnetmask dalam desimal : 255.255.255.0
Subnetmask dalam biner : 11111111.11111111.11111111.00000000
Menentukan jumlah host persubnet rumus yang digunakan yaitu 2H - 2, dimana nilai H didapatkan dari 32 bit – (bit yang ditentukan). Seperti perhitungan bit dibawah ini, bit yang ditentukan yaitu 27, jadi :
11111111.11111111.11111111.11111111 (32 bit)
11111111.11111111.11111111.11100000 (27 bit) –
00000000.00000000.00000000.000111111(5 bit)

Mencari nilai Network, host awal, host akhir, broadcast dan menentukan subnet.
Jika IP 192.168.0.150/27, maka berlaku rumus 2H – 2
2H – 2 didapat nilai H = 32 – 27 = 5
Untuk jumlah host persubnet, 2H – 2 = 25 – 2 = 30 host per-subnet
Jadi, host yang diperlukan persubnet yaitu 30 host.
IP Address
Jenis IP
Keterangan Perhitungan
Subnet host ke berapa
192.168.0.0
Network


Subnet 1
192.168.0.1
s/d
192.168.0.30
Host
IP network (0 + 30)
192.168.0.31
Broadcast

192.168.0.32
Network


Subnet 2
192.168.0.33
s/d
192.168.0.62
Host
IP network (32 + 30)
192.168.0.63
Broadcast

192.168.0.64
Network


Subnet 3
192.168.0.65
s/d
192.168.0.94
Host
IP network (64 + 30)
192.168.0.95
Broadcast

192.168.0.96
Network


Subnet 4
192.168.0.97
s/d
192.168.0.126
Host
IP network (96 + 30)
192.168.0.127
Broadcast

192.168.0.128
Network


Subnet 5
192.168.0.129
s/d
192.168.0.158
Host
IP network (128 + 30)
192.168.0.159
Broadcast


Jadi, IP 192.168.0.150/27 masuk ke dalam subnet 5.
Network : 192.168.0.128
Host Awal : 192.168.0.129
Host Akhir : 192.168.0.158
Broadcast : 192.168.0.159

Sabtu, 22 Oktober 2011

CONTOH STRAWBERRY PROLOG

Mungkin teman-teman masih awam dengan program  Prolog. Pertama-tama saya akan menjelaskan sedikit pengertian tentang Strawberry Prolog.


       Nama Prolog diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.


       Prolog adalah bahasa pemrograman logika atau disebut juga bahasa non prosedural.  Prolog disebut sebagai object oriented language atau declarative language. Dalam prolog tidak terdapat prosedur, tetapi hanya tampilan data-data object (fakta) yang akan diolah dengan relasi antar object yang membentuk suatu aturan. Aturan-aturan ini disebut heuristik dan diperlukan dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah database.




Terdapat tiga jenis Prolog, yaitu:

1. 
Strawberry Prolog


         Strawberry Prolog adalah dialek dari bahasa pemrograman Prolog. Sintaksnya sangat dekat dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari standar. Gagasan utama dari Strawberry Prolog sangat mudah digunakan dan oleh karena itu beberapa universitas menggunakan prolog untuk kursus .

2. Visual Prolog

        Visual prolog sebelumnya dikenal sebagai PDC prolog dan turbo prolog merupakan bahasa pemrograman prolog yang berorientasi objek. Sebagai turbo prolog dipasarkan oleh Borland, tetapi sekarang dikembangkan dan dipasarkan oleh perusahaan Denmark Pusat Pengembangan Prolog (PDC). Visual Prolog dapat membangun Microsoft Windows GUI-aplikasi, aplikasi konsol, DLL (Dynamic Link Libraries).

3. SWI Prolog

         SWI Prolog merupakan open source implementasi bahasa pemrograman Prolog, biasanya digunakan untuk pengajaran dan semantic web aplikasi. Memiliki seperangkat kaya fitur, perpustakaan untuk logika pemrograman kendala, multithreading, Unit testing, GUI, dll. SWI Prolog berjalan pada UNIX, Windows, dan Machintosh.


Contoh Program Sederhana pada Strawberry Prolog :

?-
set(pos([[f,f,f,f],[f,f,f,f],[f,f,f,f]])),
set(lose_flag(true)),
brush(system_color(window)),
window( _,_,win_func(),"Test",100,10,665,685).
win_func(paint):-
pen(5,rgb(255,100,100)),
line(150,50,50,150),
line(150,50,250,150),
line(50,150,100,150),
line(250,150,200,150),
line(100,150,100,250),
line(200,150,200,250),
line(100,250,200,250),
fail.

Penjelasn program :
  • ?- , perintah untuk mengawali program pada prolog.
  • Fungsi set diisi dengan fungsi pos, yang artinya akan membentuk post berupa titik-titik seperti matriks. Sedangkan dari fungsi pos ada 4 matriks yang fungsinya membentuk matriks berdimensi 4x4.
  • Fungsi brush artinya, akan menggunakan kuas untuk menggambar sesuatu. Fungsi system_color(window) artinya akan membentuk sebuah jendela dengan warna bergantung pada jendela sistem operasi yang digunakan.
  • Fungsi window untuk membentuk jendela. Bentuk umum fungsi jendela terdiri dari 8 parameter, tetapi biasanya yang dipakai parameter ke 3, yaitu fungsi win_func() yang dapat didefiniskan selanjutnya. Parameter selanjutnya adalah judul dari jendela yaitu ‘Test’. Dua parameter selanjutnya adalah jarak dari sisi layar hingga jendela. Parameter yang pertama jarak dari kiri (secara horizontal) sejauh 100px selanjutnya parameter yang keduajarak dari atas (secara vertical) sejauh 10px. Dua parameter terakhir adalah panjang untuk jendela yang akan dibuat. Jendela yang akan terbentuk memiliki lebar 665px (kesamping) dantinggi 685px (kebawah).
  • Statement ini adalah fungsi win_func(paint) yang sebelumnya dipanggil. Pertama, gunakan pensil menggunakan fungsi pen(). Di dalam fungsi pen(), definisikan jumlah titik ujung. Karena kita akan membuat garis, maka jumlah ujungnya dua. Lalu, tentukan warna berdasrkan system RGB. pen(5,rgb(255,100,100)), angka 5 menunjukkan ketebalan garis, 255 untuk mewakili warna garis dengan warna merah, 100 untuk mewakili warna garis dengan warna hijau, 100 untuk mewakili warna garis dengan warna biru. Nilai pada rgb dapat berubah-ubah sesuai dengan warna apa yang diinginkan dengan memberikan nilai terbesar pada warna yang diinginkan. Misal : pen(5,rgb(255,255,100), maka garis akan berwarna kuning.
  • Selanjutnya, menuliskan garis dengan fungsi line(). Parameter pertama adalah jarak ujung pertama dari kiri terhadap jendela (X1), parameter kedua adalah jarak ujung pertama dari atas terhadap jendela (Y1). Parameter ketiga adalah jarak ujung kedua dari kiri terhadap jendela (X2). Parameter keempat adalah jarak ujung kedua dari atas terhadap jendela (Y2), lanjutkan hingga semua titik terhubung.  Misal :  line(150,50,50,150), 150 sebagai sunbu X1, 50 sebagai sumbu X2, 50 sebagai sumbu Y1, 150 sebagai sumbu Y2, lanjutkan sampai semua titik terhubung.
  • fail. , untuk mengakhiri program pada prolog.

Listing pada program di atas akan menghasilkan output seperti gambar dibawah ini





























SU : http://call-lonk.blogspot.com/2011/01/penjelasan-tentang-prolog.html
        http://id.wikipedia.org/wiki/Prolog