IP Addressing
02:53 | Author: Unknown

IP ADRESSING
IP address adalah bilangan biner 32 bit yang dipisahkan oleh tanda pemisah berupa tanda titik setiap 8 bitnya. Definisi di atas merupakan definisi untuk IPv4 , sekarang sudah dikembangkan IPv6 untuk mengatasi habisnya IP address, karena semakin banyaknya pengguna internet.
Sekarang saya akan membahas mengenai IPv4. Jika dilihat dari bentuknya, IP Address terdiri atas 4 buah bilangan biner 8 bit. Nilai terbesar dari bilangan biner 8 bit adalah 255 (27 + 26 + 25 + 24 + 23 + 22 +21 + 20). Karena terdiri dari 8 bit maka jumlah IP address yang tersedia adalah 255x255x255x255.IP address sebanyak ini harus dibagi ke seluruh pengguna jaringan internetdi seluruh dunia. Untuk mempermudah pembagiannya IP address dibagikan ke dalam kelas-kelas. Pembagian kelas IP address didasarkan pada network ID dan host ID.
Kelas dalam IP address dibagi menjadi 5 yaitu :
Kelas A
Format : 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Bit pertama : 0
Panjang Net ID : 8 bit
Panjang host ID : 24 bit
Jumlah : 126 Kelas A(0 dan 127 dicadangkan)
Range IP : 1.xxx.xxx.xxx sampai 126.xxx.xxx
Jumlah IP : 16.777.214 IP address pada tiap kelas A

Ip address kelas A diberikan pada jaringan yang mempunyai jumlah host yang sangat besar. Bit pertama pada kelas A selalu di set dengan 0 sehingaan bit pertama dari kelas A selalu bernilai angka antara 0 sampai 127.
IP address kelas A biasanya digunakan untuk backbone.

Kelas B
Format : 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
Bit Pertama : 10
Panjang Net ID : 16 bit
Panjang host ID : 8 bit
Jumlah : 16.384 kelas B
Range IP : 128.xxx.xxx.xxx sampai 191.xxx.xxx.xxx
Jumlah IP : 65.352 IP address pada tiap kelas B

IP address kelas B biasanya digunakan untuk jaringan berukuran sedang dan besar. Misalnya ISP .

Kelas C
Format : 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
Bit Pertama : 110
Panjang Net ID : 24 bit
Panjang host ID : 8 bit
Jumlah : 2.097.152 untuk kelas C
Range IP : 192.xxx.xxx.xxx sampai 223.xxx.xxx.xxx
Jumlah IP : 254 IP untuk tiap kelas C
IP address kelas C biasanya digunakan untuk jaringan berukuran kecil , misalnya LAN.

Kelas D
Format : 1110mmmm.mmmmmmmm.mmmmmmmm.mmmmmmmm
Bit Pertama : 1110
Bit Multicast : 28 bit
Byte Inisial : 224-227
Deskripsi : Kelas D adalah ruang alam multicast

IP address kelas D digunakan untuk keperluan IP multicasting. 4 bit pertama IP address kelas D di set 1110. Bit – bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicast tidak dikenal adanya Network ID dan host ID.

Kelas E
Format : 1111rrrr.rrrrrrrr.rrrrrrrr.rrrrrrrr
Bit pertama : 1111
Bit cadangan : 28 bit
Byte Inisial : 248-255
Deskripsi : Kelas E adalah ruang alamat yang dicadangkan untuk keperluan eksperimental

IP address kelas E tidak digunakan secara umum , 4 bit pertama IP address kelas E diset dengan 1111


Aturan – aturan dasar dalam menentukan Network ID dan host ID adalah network ID tidak boleh sama dengan 127 dan host ID tidak boleh 0. Selain itu, network ID dan host Id tidak boleh sama dengan 255(seluruh bit di set 1) karena network ID dan host ID tersebut diartikan sebagai alamat broadcast.
Pengiriman paket ke alamat ini akan mengakibatkan paket tersebut terdengar oleh semua anggota network tersebut.Host ID dalam suatu jaringan komputer juga harus unik, tidak boleh sama dengan yang lain.
Readmore...

Stack
02:29 | Author: Unknown

Struktur data dengan C++
Struktur data dengan stack
Stack adalah struktur data yagn sifatn ya LIFO (Last In First Out), yaitu yang masuk belakangan akan keluar duluan. Dalam kehidupan sehari-hari dapat kita jumpai contoh stack seperti : tumpukan buku, tumpukan koin , dan lain lain.
Dalam struktur data stack ada dua operasi yang digunakan pada stack, yaitu operasi push dan operasi pop. Operasi push merupakan operasi memasukkan elemen ke dalam stack, sedangkan operasi pop merupakan operasi mengeluarkan elemen ke dalam stack.
Berikut ini contoh implementasi program stack dengan array.
Deklarasi Class
#include<"iostream.h">
#include<"conio.h">
#include<"stdio.h">
#define max_stack 10

class Stack
{
private:
char data[max_stack];
int top;
public:
Stack(){ top = -1;}
int isFull();
int isEmpty();
void push();
void pop();
void print();
};

Implementasi method isFull() dan isEmpty().
Method isEmpty() digunakan untuk mengecek apakah stack dalam keadaan kosong atau sudah berisi, sedangkan method isFull() digunakan untuk mengecek apakah stack sudah dalam keadaan penuh.
int Stack :: isFull()
{
if (top == max_stack -1 ) return 1;
else
return 0;
}

int Stack :: isEmpty()
{
if(top == -1) return 1;
else return 0 ;
}

Implementasi Method push() dan pop()
Seperti sudah dijelaskan seb elumnya method push() digunakan untuk menambah elemen di dalam stack, sedangkan method pop() digunakan untuk mengeluarkan elemen di dalam stack.
void Stack :: push()
{
char insert;
int i ;
cout << "Much of data : ";
cin >> i;
if( i > max_stack -1) cout << "Out Of Range"; cout << endl;
for(int j = 0;j<=i-1;j++)
{
cout << "insert data : ";
cin >> insert;
top++;
data[top] = insert;
}

getche();
}

void Stack :: pop()
{
cout << "Insert Index Data : ";
cin >> top;
cout << "Data Deleted : " << data[top] << endl;
top--;
}

Implementasi Fungsi pri nt()
Fungsi print() digunakan untuk mencetak isi di dalam stack
void Stack :: print()
{

for(int i = top ; i>=0;i--)
{
cout << "Data " << i << " "<< data[i] << endl;

}
getche();

}
Sepertinya hanya itu saja yang bisa saya share dari materi struktur data yang pernah saya dapatkan , jika teman-teman semua ada yang mau menambahkan atau memperbaikinya silahkan berikan komentar,,,,OK!!^_^
Readmore...

Link list
02:26 | Author: Unknown

Struktur Data Dengan C++
Struktur Data Dengan Menggunakan Link List
Link List adalah salah satu bentuk struktur data yang dinamis dan saling sambung – menyambung.
Link List lebih fleksibel digunakan daripada array, karena bersifat dinamis(tidak ada batasan data), berbeda dengan array yang mempunyai batasan data maksimal. Link List dapat dihubungkan dengan variabel bertipe pointer.
Contoh :

//deklarasi Link List
Node *a;
Node *berikut;
a = new Node;
//pendeklarasian dengan menggunakan keyword new
//menyambung link list
Int data ;
a -> data = 1;
a->berikut = NULL;
//pendeklarasian node baru
Node * b;
b->data = 2;
b->berikut = NULL;
//menyambung node a dan node b
a->berikut = b;




Ilustrasi Link List Di atas
Deklarasi Node * a
NULL


Node *a
NULL


Deklarasi Node * b
Menyambung Node *a dengan Node * b
NULL


Node * a Node * b

Contoh Program:
#include
#include


class Node
{
public :
int data;
Node *next;
};

void main()
{
Node *a;
a = new Node;
a -> data = 1;
cout << "Isi Node a : " <<> data << endl;
Node *b;
b = new Node;
b -> data = 2;
b -> next = NULL;
cout << "Isi Node b : " <<> data << endl;
//menyambung node a dan node b
a-> next = b;
//cetak isi node setelah disambung
Node *bantu;
bantu = a;
cout << "Isi Node Setelah Disambung " << endl;
while(bantu != NULL)
{
cout <<> data << " ";
bantu = bantu -> next;
}
getche();
}
Readmore...

QUEUE
02:14 | Author: Unknown

Struktur Data Dengan C++
Antrian dengan Menggunakan Array
Antrian atau queue merupakan salah satu struktur data yang bersifata FIFO (FIRST IN FIRST OUT), artinya yang pertama masuk akan keluar pertama. Misalnya dalam antrian loket, orang yang datang pertama maka akan dilayani pertama kali.
Langsung Saja kita akan menuju ke Pembuatan Programnya

Deklarasi Class
#include
#include

#define max 8
class Queue
{
private:
int data[max];
int head;
int tail;
public:
Queue();
bool isEmpty();
bool isFull();
void enqueu(int insert);
int dequeue();
void clear();
void print();
};
Implementasi Konstruktor
Queue :: Queue()
{
head = -1;
tail = -1;
}
Pertama kali diciptakan nilai head dan tail di inisialisasi dengan nilai -1 (kosong)
Implementasi Method isEmpty() dan isFull()
bool Queue :: isEmpty()
{
if(tail == -1) return 1;
else
return 0;
}
Jika Nilai tail adalah -1 maka antrian tersebut masih kosong dan diberikan nilai kembalian 1, jika tidak maka akan di return 0.
bool Queue :: isFull()
{
if(tail == max -1) return 1;
else
return 0;
}

Jika Nilai tail sama dengan max-1 maka antrian sudah penuh, dan tidak bisa lagi dimasukkan data atau dilakukan pencegahan untuk memasukkan data sebelum ada data yang dihapus.

Implementasi Method Enqueue(int) dan dequeu
void Queue :: enqueu(int insert)
{
//Pengisian data ketika antrian kosong
if(isEmpty() ==1)
{
head = tail = 0;
data[tail] = insert;
cout << "\nData yang telah dimasukkan : " << data[tail];
}
//pengisian data ketika antrian tidak kosong
else if(isFull() == 0)
{
tail++;
data[tail] = insert;
cout << "\nData has been Entry : " << data[tail];
}
getche();
}
Data Yang Lebih Dulu Masuk Akan Dihapus!!!(Ingat Prinsip Antrian) FIF0!!!!!!
int Queue :: dequeue()
{
for(int i = head;i<=tail-1;i++)
{
data[i] = data[i+1];
}
tail--;
return data[head];
}
Implementasi Method Clear
Method clear digunakan untuk menghapus semua data dalam antrian
void Queue :: clear()
{
head = tail = -1;
cout << "Data Dihapus" << endl;
}
Implementasi Method print()
Method print digunakan untuk mencetak antrian yang sudah masuk
void Queue :: print()
{
if(isEmpty() == 0)
{
for(int i = tail;i >= head;i--)
{
cout << data[i] << endl;
}
}
else
{
cout << "Data Kosong" << endl;
}
}

Bagaimana???Mudah kan , HEHEHEHE ^_^
Kalo Ada Kekurangan Dari Materi Di atas Mohon Maklum , Karena Saya Juga Masih Belajar, Kebenaran datangnya dari Allah SWT, dan kesalahan datangnya dari saya,,,!!!!!!!
Readmore...

Make Hello World with C++
19:01 | Author: Unknown

The First program that will be we make when study programming language is Hello World Program.
So simple guys, we only write this script below on your favourite editor

void main()
{
cout << "Hello World" ;
getche();
}

So easy guys, isn't ?
Let's try it!
Readmore...