Selasa, 19 Maret 2013

Tentang VLSM dan CIDR


VLSM (Variable Length Subnet Mask)
· Pengertian
VLSM adalah suatu teknik untuk mengurangi jumlah terbuang [ruang;spasi] alamat. Sebagai ganti memberi suatu kelas lengkap A, B atau C jaringan [bagi/kepada] suatu Admin, kita dapat memberi suatu subnet ke seseorang, dan dia dapat lebih lanjut membagi lebih lanjut membagi subnet ke
dalam beberapa subnets. Oleh karena lebar dari subnet akan diperkecil, maka disebut dengan
variable subnet length mask Jaringan yang berkaitan dengan router serial interface hanya mempunyai 2 alamat, oleh karena itu jika kita memberi suatu subnet, mungkin paling kecil adalah (/ 30) untuk itu. Perhitungan IP Address menggunakan metode VLSM adalah metode yang berbeda
dengan memberikan suatu Network Address lebih dari satu subnet mask, jika menggunakan
CIDR dimana suatu Network ID hanya memiliki satu subnet mask saja, perbedaan
yang mendasar disini juga adalah terletak pada pembagian blok, pembagian blok VLSM bebas
dan hanya dilakukan oleh si pemilik Network Address yang telah diberikan kepadanya atau
dengan kata lain sebagai IP address local dan IP Address ini tidak dikenal dalam jaringan
internet, namun tetap dapat melakukan koneksi kedalam jaringan internet, hal ini terjadi
dikarenakan jaringan internet hanya mengenal IP Address berkelas.



Gambar 1 Penggunaan IP Address


Perhitungan IP Address menggunakan metode VLSM adalah metode yang berbeda dengan memberikan suatu Network Address lebih dari satu subnet mask, jikamenggunakan CIDR dimana suatu Network ID hanya memiliki satu subnet mask saja, perbedaan yang mendasar disini juga adalah terletak pada pembagian blok, pembagian blok VLSM bebas dan hanya dilakukan oleh si pemilik Network Address yang telah diberikan kepadanya atau dengan kata lain sebagai IP address local dan IP Address ini tidak dikenal dalam jaringan Internet, namun tetap dapat melakukan koneksi kedalam jaringan Internet, hal ini terjadi dikarenakan jaringan Internethanya mengenal IP Address berkelas.

Dalam penerapan IP Address menggunakan metode VLSM agar tetap dapat berkomunikasi kedalam jaringan Internetsebaiknya pengelolaan network-nya dapat memenuhi persyaratan ; routing protocol yang digunakan harus mampu membawa
informasi mengenai notasi prefix untuk setiap rute broadcast-nya (routing protocol: RIP, IGRP, EIGRP, OSPF dan lainnya,
bahan bacaan lanjut protocol routing: CNAP 1-2), semua perangkat router yang digunakan dalam jaringan harus mendukung
metode VLSM yang menggunakan algoritma penerus paket informasi. Tahapan perihitungan menggunakan VLSM IPAddress yang ada dihit ung menggunakan CIDR selanjutnya baru dipecah kembali menggunakan VLSM, sebagai contoh: 130.20.0.0/20 Kita hitung jumlah subnet terlebih dahulu menggunakan CIDR, maka didapat 11111111.11111111.11110000.00000000 =/20 Jumlah angka binary 1 pada 2 oktat terakhir subnet adalah 4 maka Jumlah subnet = (2x) = 24 = 16 Maka blok tiap subnet-nya adalah:
Blok subnet ke 1 = 130.20.0.0/20
Blok subnet ke 2 = 130.20.16.0/20
Blok subnet ke 3 = 130.20.32.0/20
Dst … sampai dengan
Blok subnet ke 16 = 130.20.240.0/20
Selanjutnya kita ambil nilai blok ke 3 dari hasil CIDR yaitu 130.20.32.0 kemudian:
· Kita pecah menjadi 16 blok subnet, dimana nilai 16 diambil dari hasil perhitungan subnet pertama yaitu /20 = (2x) = 24 = 16
· Selanjutnya nilai subnet di ubah tergantung kebutuhan untuk pembahasan ini kita gunakan /24, maka didapat 130.20.32.0/24 kemudian diperbanyak menjadi 16 blok lagi sehingga didapat 16 blok baru yaitu:
Blok subnet VLSM 1-1=130.20.32.0/24
Blok subnet VLSM 1-2=130.20.33.0/24

Blok subnet VLSM 1-3=130.20.34.0/24
Blok subnet VLSM 1-4=130.20.35.0/24
Dst … sampai dengan
Blok subnet VLSM 1-16=130.20.47/24
· Selanjutnya kita ambil kembali nilai ke 1 dari blok subnet VLSM 1-1 yaitu 130.20.32.0 kemudian kita pecah menjadi 16:2 = 8 blok subnet lagi, namun oktat ke 4 pada Network ID yang kita ubah juga menjadi 8 blok
kelipatan dari 32 sehingga didapat : B. subnet VLSM 2-1=130.20.32.0/27
B. subnet VLSM 2-2=130.20.32.32/27
B. subnet VLSM 2-3=130.20.33.64/27
B. subnet VLSM 2-4=130.20.34.96/27
B. s. VLSM 2-5=130.20.35.128/27
B. s. VLSM 2-6=130.20.36.160/27
B. s. VLSM 2-1=130.20.37.192/27
B. s. VLSM 2-1=130.20.38.224/27
Metode VLSM hampir serupa dengan CIDR hanya blok subnet hasil daro CIDR dapat kita bagi lagi menjadi sejumlahBlok subnetdan blok IP address yang lebih banyak dan lebih kecil lagi. Variable Length Subnet Mask (VLSM) juga dapat diartikan sebagai teknologi kunci pada jaringan skala besar. Mastering konsep VLSM tidak mudah, namun VLSM adalah
sangat penting dan bermanfaat untuk merancang jaringan.


Manfaat dari VLSM adalah:
· Efisien menggunakan alamat IP:  alamat IP yang dialokasikan sesuai dengan kebutuhan ruang host setiap subnet.
· VLSM mendukung hirarkis menangani desain sehingga dapat secara efektif mendukung rute agregasi, juga disebut
route summarization.
· Yang terakhir dapat berhasil mengurangi jumlah rute di routing table oleh berbagai jaringan subnets dalam satu ringkasan alamat. Misalnya subnets 192.168.10.0/24, 192.168.11.0/24 dan 192.168.12.0/24 semua akan dapat diringkas menjadi
192.168.8.0/21.


CIDR adalah singkatan dari Classless Inter-Domain Routing yaitu sebuah cara alternatif untuk mengklasifikasikan alamat-alamat IP berbeda dengan sistem klasifikasi ke dalam kelas-kelas (misal : kelas A, kelas B, kelas C, kelas D, dan kelas E). Disebut juga sebagai supernetting.

CIDR merupakan mekanisme routing yang lebih efisien dibandingkan dengan cara yang asli, yakni dengan membagi alamat IP jaringan ke dalam kelas-kelas A, B, dan C. permasalahan yang sering muncul dari penggunaan sistem yang lama adalah bahwa sistem tersebut meninggalkan banyak sekali alamat IP yang tidak digunakan alias terbuang sia-sia. Sebagai contoh, alamat IP kelas A secara teoritis mendukung hingga 16 juta host komputer yang dapat terhubung, sebuah jumlah yang sangat besar tentunya. Dalam kenyataannya, para pengguna alamat IP kelas A ini jarang yang memiliki jumlah host sebanyak itu, sehingga menyisakan banyak sekali ruangan kosong di dalam ruang alamat IP yang telah disediakan.

Sehingga CIDR dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak terpakai tersebut untuk digunakan di mana saja. Dengan cara yang sama, kelas C yang secara teoritis hanya mendukung 254 alamat tiap jaringan, dapat menggunakan hingga 32766 alamat IP, yang seharusnya hanya tersedia untuk alamat IP kelas B.



Rabu, 16 Januari 2013

TUGAS 3 INDIVIDU Sistem Manajemen Basis Data


TUGAS 3
SISTEM MANAJEMEN BASIS DATA




NAMA             : Nur Arifah Juliyanti 
                                                   NIM                  : 101051047







FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
INSTITUT SAINS DAN TEKNOLOGI AKPRIND
YOGYAKARTA
2013





·       STRUKTUR TABEL DATABASE YG DIGUNAKAN (DALAM BENTUK 3NF)
·       PRIMARY KEY & FOREIGN KEY


1. Tabel: user
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
user_name
VarChar
20
No
-
Primary Key
           2            
password
VarChar
20
No
-
-
           3            
level_user
Char
1
No
5
1 =  admin; 2 =  kepala sekolah; 3 =  kepala perpustakaan
4 =  anggota; 5 = pengunjung

2. Tabel: tanggal_libur
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
tanggal_libur
Date

no
-
Primary Key
           2            
Keterangan_libur
Varchar
50
no
-
-

3. Tabel: tarif_denda
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
jumlah_hari_maksimal
Num
3
No
-
Primary Key
           2            
jumlah_denda
Num
7
No
-
-

4. Tabel: tarif _hilang
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
harga_maksimal
Num
7
No
-
Primary Key
           2            
jumlah_denda
Num
7
No
-
-

5. Tabel: tarif _rusak
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
harga_maksimal
Num
7
No
-
Primary Key
           2            
jumlah_denda
Num
7
No
-
-

6. Tabel: anggota
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_anggota
Char
6
no
-
Primary Key
           2            
nama_anggota
VarChar
100
no
-
-
           3            
alamat
VarChar
100
no
-
-
           4            
kode_kecamatan
Char
6
no
-
Foreign Key
           5            
telepon
VarChar
12
yes
-
-
           6            
email
VarChar
20
yes
-
-
           7            
tgl_mulai_anggota
Date

no
-
-
           8            
jenis_anggota
Char
1
no
2
1 =  guru/ karyawan; 2 =  siswa
           9            
status_anggota
Char
1
no
2
1 = aktif; 2 = tidak aktif

7. Tabel: jenis
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_jenis_buku
Char
4
No
-
Primary Key
           2            
nama_jenis_buku
VarChar
20
No
-
-

8. Tabel: bidang
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_bidang
Char
4
No
-
Primary Key
           2            
nama_bidang
VarChar
20
No
-
-

9. Tabel: penerbit
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_penerbit
Char
4
No
-
Primary Key
           2            
nama_penerbit
VarChar
30
No
-
-
           3            
alamat
VarChar
100
no
-
-
           4            
kode_kecamatan
Char
6
no
-
Foreign Key
           5            
telepon
VarChar
12
yes
-
-
           6            
email
VarChar
20
yes
-
-

10. Tabel: penulis
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_penulis
Char
4
No
-
Primary Key
           2            
nama_penulis
VarChar
100
No
-
-
           3            
alamat
VarChar
100
no
-
-
           4            
kode_kecamatan
Char
6
no
-
Foreign Key
           5            
telepon
VarChar
12
yes
-
-
           6            
email
VarChar
20
yes
-
-


11. Tabel: propinsi
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_propinsi
Char
2
No
-
Primary Key
           2            
nama_propinsi
VarChar
30
No
-
-

12. Tabel: kabupaten
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_kabupaten
Char
4
No
-
Primary Key
           2            
nama_kabupaten
VarChar
30
No
-
-
           3            
kode_propinsi
Char
2
No
-
Foreign Key

13. Tabel: kecamatan
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_kecamatan
Char
6
No
-
Primary Key
           2            
nama_kecamatan
VarChar
30
No
-
-
           3            
kode_kabupaten
Char
4
No
-
Foreign Key

14. Tabel: pinjam
Catatan: kode_pinjam boleh tidak digunakan
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_pinjam




Primary Key
           2            
kode_anggota
Char
6
No
-
Primary Key / Foreign Key
           3            
kode_buku
Char
10
No
-
Primary Key / Foreign Key
           4            
tanggal_pinjam
Date

No

Primary Key / Foreign Key
           5            
tanggal_harus_kembali
Date

N0
-
-

15. Tabel: kembali
Catatan:
·         kode_kembaliboleh tidak digunakan
·         jika tabel pinjam tidak menggunakan kode_pinjam, maka harus ada kode_anggota+kode_buku+tanggal_pinjam
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_pinjam




Primary Key / Foreign Key
           2            
kode_kembali




Primary Key
           3            
kode_anggota
Char
6
No
-
Primary Key / Foreign Key
           4            
kode_buku
Char
10
No
-
Primary Key / Foreign Key
           5            
tanggal_pinjam
Date

No

Primary Key / Foreign Key
           6            
tanggal_kembali
Date

No
-
-


16. Tabel: bayar_denda
Catatan: jika tabel kembali tidak menggunakan kode_kembali, maka harus ada kode_anggota+kode_buku+tanggal_pinjam+tanggal_kembali
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_kembali




Primary Key / Foreign Key
           2            
kode_anggota
Char
6
No
-
Primary Key/ Foreign Key
           3            
kode_buku
Char
10
No
-
Primary Key/ Foreign Key
           4            
tanggal_pinjam
Date

No

Primary Key/ Foreign Key
           5            
tanggal_bayar
Date

No
-
-
           6            
jumlah_denda
Num
9
No
0
Dihitung otomatis

17. Tabel: bayar_hilang
Catatan: jika tabel pinjam tidak menggunakan kode_pinjam, maka harus ada kode_anggota+kode_buku+tanggal_pinjam
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_pinjam




Primary Key  / Foreign Key
           2            
kode_anggota
Char
6
No
-
Primary Key  / Foreign Key
           3            
kode_buku
Char
10
No
-
Primary Key  / Foreign Key
           4            
tanggal_pinjam
Date

No

Primary Key  / Foreign Key
           5            
tanggal_bayar
Date

No
-
-
           6            
jumlah_denda
Num
9
No
0
Dihitung otomatis


18. Tabel: buku
No
Nama Field
Tipe
Ukuran
Null
Default
Keterangan
           1            
kode_buku
Char
10
No
-
Primary Key
           2            
Judul_buku
VarChar
100
No
-
-
           3            
kode_jenis
Char
4
No
-
Foreign Key
           4            
kode_bidang
Char
4
No
-
Foreign Key
           5            
kode_penulis_utama
Char
4
No
-
Foreign Key
           6            
kode_penerbit
Char
4
No
-
Foreign Key
           7            
jumlah
Num
1
No
-
-
           8            
bahasa
Char
1
No
1
1 = Indonesia; 2 = Asing
           9            
isbn
Char
12
No
-
-
         10          
tahun
Char
4
No
-
-
         11          
jumlah_halaman
Num
1
No
-
-
         12          
edisi
Char
1
No
1
-
         13          
cetakan_ke
Char
1
No
1
-
         14          
status
Char
1
No
1
1 = Baik; 2 = Rusak

    DIAGRAM KERELASIAN ANTAR TABEL DATABASE


o   DEFINISI DATABASE
create database dbperpustakaan;

o   DEFINISI TABEL DALAM DATABASE
use dbperpustakaan

create table user (
user_namevarchar(5) not nullunique primary key,
password varchar(20) not null,
level_user char(1) default ‘5’check(level_user=‘1’ or level_user=‘2’ or level_user=‘3’ or level_user=‘4’ or level_user=‘5’));

create table tanggal_libur (
tanggal_liburdate not nullunique primary key,
keterangan_libur varchar(50) not null);

create table tarif_denda (
jumlah_hari_maksimal tinyint(3) not null unique primary key,
jumlah_denda mediumint(9) not null);

create table tarif_hilang (
harga_maksimal mediumint (9) not null unique primary key,
jumlah_denda mediumint(9) not null);

create table anggota (
kode_anggota char(6) not null unique primary key,
nama_anggota varchar(100) not null,
alamat varchar(100) not null,
kode_kecamatan char(6) not null,
telepon varchar(12),
email varchar(20),
tgl_mulai_anggota date not null,
jenis_anggota char(1) not null default ‘2’ check(jenis_anggota=‘1’ or jenis_anggota=‘2’),
status_anggota char(1) not null default ‘1’ check(status_anggota=‘1’ or status_anggota=‘2’),
foreign key(kode_kecamatan) references kecamatan on update cascade on deletecascade;

create table jenis (
kode_jenis_buku char(4) not null unique primary key,
nama_jenis_buku varchar(20) not null;

create table bidang (
kode_bidang char(4) not null unique primary key,
nama_bidang varchar(20) not null;

create table penerbit (
kode_penerbit char(4) not null unique primary key,
nama_penerbit varchar(30) not null,
alamat varchar(100) not null,
kode_kecamatan char(6) not null,
telepon varchar(12),
email varchar(20),
foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table penulis (
kode_penulis char(4) not null unique primary key,
nama_penulis_utama varchar(100) not null,
alamat varchar(100) not null,
kode_kecamatan char(6) not null,
telepon varchar(12),
email varchar(20),
foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table propinsi (
kode_propinsi char(2) not null unique primary key,
nama_propinsi varchar(30) not null;

create table kabupaten (
kode_kabupaten char(4) not null unique primary key,
nama_kabupaten varchar(30) not null,
kode_propinsi char(2) not null,
foreign key(kode_propinsi) references propinsi on update cascade on delete cascade;

create table kecamatan (
kode_kecamatan char(6) not null unique primary key,
nama_kecamatan varchar(30) not null,
kode_kabupaten char(4) not null,
foreign key(kode_kabupaten) references kabupaten on update cascade on delete cascade;

create table pinjam (
kode_anggota char(6) not null,
kode_buku char(10) not null,
tanggal_pinjam date not null,
tanggal_harus_kembali date not null,
foreign key(kode_anggota) references anggota on update cascade on delete cascade,
foreign key(kode_buku) references buku on update cascade on delete cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table kembali (
kode_anggota char(6) not null,
kode_buku char(10) not null,
tanggal_pinjam date not null,
tanggal_ kembali date not null,
foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade
primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_denda (
kode_anggota char(6) not null,
kode_buku char(10) not null,
tanggal_pinjam date not null,
tanggal_bayar date not null,
jumlah_denda mediumint(9),
foreign key(kode_anggota, kode_buku, tanggal_pinjam) references kembali on update cascade on delete cascade
primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_hilang (
kode_anggota char(6) not null,
kode_buku char(10) not null,
tanggal_pinjam date not null,
tanggal_bayar date not null,
jumlah_denda mediumint(9),
foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade
primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_rusak (
kode_anggota char(6) not null,
kode_buku char(10) not null,
tanggal_pinjam date not null,
tanggal_bayar date not null,
jumlah_denda mediumint(9),
foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade
primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table buku (
kode_buku char(10) not null unique primary key,
judul_buku varchar(100) not null,
kode_jenis char(4) not null,
kode_bidang char(4) not null,
kode_penulis char(4) not null,
kode_penerbit char(4) not null,
jumlah tinyint(2) not null,
bahasa char(1) not null default ‘1’ check(bahasa=‘1’ or bahasa=‘2’),
isbn char(12) not null,
tahun char(4) nor null,
jumlah_halaman mediumint(4) not null,
edisi char(1) not null,
cetakan_ke char(1) not null,
status char(1) default ‘1’ check(status=’1’ or status=’2’),
foreign key(kode_jenis) references jenis on update cascade on delete cascade,
foreign key(kode_bidang) references bidang on update cascade on delete cascade,
foreign key(kode_penulis) references penulis on update cascade on delete cascade,
foreign key(kode_penerbit) references penerbit on update cascade on delete cascade;