Method setter() dan getter()

Posted under pemrograman oleh abdulwadud on Rabu 9 Mei 2012 at 11:02 am

Class Orang.java

01 /**
02 *
03 * @author AVRIQ
04 */
05 public class Orang {
06 //information hidding
07 private int Berat;
08 //method setter
09 public void setBerat(int newBerat){
10 Berat=newBerat;
11 }
12
13 //method getter
14 public int getBerat(){
15 return Berat;
16 }
17 }

Class TesOrang.java

01 /**
02 *
03 * @author AVRIQ
04 */
05 public class TesOrang {
06 public static void main(String[] args) {
07 Orang orang=new Orang();
08 //menggunakan method setter
09 orang.setBerat(45);
10 //menggunakan method getter
11 System.out.println("Orang itu beratnya "+orang.getBerat()+" kg");
12 }
13 }

Outputnya adalah :

method

Definisi dari VLSM Subnetting

Posted under rangkuman kuliah oleh abdulwadud on Selasa 24 April 2012 at 8:37 pm

Pengertian VLSM

Vlsm adalah pengembangan mekanisme subneting, dimana dalam vlsm dilakukan peningkatan dari kelemahan subneting klasik, yang mana dalam clasik subneting, subnet zeroes, dan subnet- ones tidak bisa digunakan. selain itu, dalam subnet classic, lokasi nomor IP tidak efisien.

Jika proses subnetting yang menghasilkan beberapa subjaringan dengan jumlah host yang sama telah dilakukan, maka ada kemungkinan di dalam segmen-segmen jaringan tersebut memiliki alamat-alamat yang tidak digunakan atau membutuhkan lebih banyak alamat. Karena itulah, dalam kasus ini proses subnetting harus dilakukan berdasarkan segmen jaringan yang dibutuhkan oleh jumlah host terbanyak. Untuk memaksimalkan penggunaan ruangan alamat yang tetap, subnetting pun diaplikasikan secara rekursif untuk membentuk beberapa subjaringan dengan ukuran bervariasi, yang diturunkan dari network identifier yang sama. Teknik subnetting seperti ini disebut juga variable-length subnetting. Subjaringan-subjaringan yang dibuat dengan teknik ini menggunakan subnet mask yang disebut sebagai Variable-length Subnet Mask (VLSM).

Karena semua subnet diturunkan dari network identifier yang sama, jika subnet-subnet tersebut berurutan (kontigu subnet yang berada dalam network identifier yang sama yang dapat saling berhubungan satu sama lainnya), rute yang ditujukan ke subnet-subnet tersebut dapat diringkas dengan menyingkat network identifier yang asli.

Teknik variable-length subnetting harus dilakukan secara hati-hati sehingga subnet yang dibentuk pun unik, dan dengan menggunakan subnet mask tersebut dapat dibedakan dengan subnet lainnya, meski berada dalam network identifer asli yang sama. Kehati-hatian tersebut melibatkan analisis yang lebih terhadap segmen-segmen jaringan yang akan menentukan berapa banyak segmen yang akan dibuat dan berapa banyak jumlah host dalam setiap segmennya.

Dengan menggunakan variable-length subnetting, teknik subnetting dapat dilakukan secara rekursif: network identifier yang sebelumnya telah di-subnet-kan, di-subnet-kan kembali. Ketika melakukannya, bit-bit network identifier tersebut harus bersifat tetap dan subnetting pun dilakukan dengan mengambil sisa dari bit-bit host.

Tentu saja, teknik ini pun membutuhkan protokol routing baru. Protokol-protokol routing yang mendukung variable-length subnetting adalah Routing Information Protocol (RIP) versi 2 (RIPv2), Open Shortest Path First (OSPF), dan Border Gateway Protocol (BGP versi 4 (BGPv4). Protokol RIP versi 1 yang lama, tidak mendukungya, sehingga jika ada sebuah router yang hanya mendukung protokol tersebut, maka router tersebut tidak dapat melakukan routing terhadap subnet yang dibagi dengan menggunakan teknik variable-length subnet mask.

Perhitungan IP Address menggunakan metode VLSM adalah metode yang berbeda dengan memberikan suatu Network Address lebih dari satu subnet mask. Dalam penerapan IP Address menggunakan metode VLSM agar tetap dapat berkomunikasi kedalam jaringan internet sebaiknya pengelolaan networknya dapat memenuhi persyaratan :

  1. Routing protocol yang digunakan harus mampu membawa informasi mengenai notasi prefix untuk setiap rute broadcastnya (routing protocol : RIP, IGRP, EIGRP, OSPF dan lainnya, bahan bacaan lanjut protocol routing : CNAP 1-2),

2.   Semua perangkat router yang digunakan dalam jaringan harus  mendukung metode VLSM yang menggunakan algoritma penerus packet informasi.

Penerapan VLSM

Contoh 1:

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 adalah4 maka

Jumlah subnet = (2x) = 24 = 16

Maka blok tiap subnetnya 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 nilai16 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 menjadi8 blok kelipatan dari 32 sehingga didapat :

Blok subnet VLSM 2-1 = 130.20.32.0/27

Blok subnet VLSM 2-2 = 130.20.32.32/27

Blok subnet VLSM 2-3 = 130.20.33.64/27

Blok subnet VLSM 2-4 = 130.20.34.96/27

Blok subnet VLSM 2-5 = 130.20.35.128/27

Blok subnet VLSM 2-6 = 130.20.36.160/27

Blok subnet VLSM 2-1 = 130.20.37.192/27

Blok subnet VLSM 2-1 = 130.20.38.224/27

Contoh 2:

Diberikan Class C network 204.24.93.0/24, ingin di subnet dengan kebutuhan berdasarkan jumlah host: netA=14 hosts, netB=28 hosts, netC=2 hosts, netD=7 hosts, netE=28 hosts. Secara keseluruhan terlihat untuk melakukan hal tersebut di butuhkan 5 bit host(2^5-2=30 hosts) dan 27 bit net, sehingga:

netA (14 hosts): 204.24.93.0/27 => ada 30 hosts; tidak terpakai 16 hosts
netB (28 hosts): 204.24.93.32/27 => ada 30 hosts; tidak terpakai 2 hosts
netC ( 2 hosts): 204.24.93.64/27 => ada 30 hosts; tidak terpakai 28 hosts
netD ( 7 hosts): 204.24.93.96/27 => ada 30 hosts; tidak terpakai 23 hosts
netE (28 hosts): 204.24.93.128/27 => ada 30 hosts; tidak terpakai 2 hosts

Dengan demikian terlihat adanya ip address yang tidak terpakai dalam jumlah yang cukup besar. Hal ini mungkin tidak akan menjadi masalah pada ip private akan tetapi jika ini di alokasikan pada ip public(seperti contoh ini) maka terjadi pemborosan dalam pengalokasian ip public tersebut.
Untuk mengatasi hal ini (efisiensi) dapat digunakan metoda VLSM, yaitu dengan cara sebagai berikut:

  1. Buat urutan berdasarkan penggunaan jumlah host terbanyak (14,28,2,7,28 menjadi 28,28,14,7,2).
  2. Tentukan blok subnet berdasarkan kebutuhan host:
    28 hosts + 1 network + 1 broadcast = 30 –> menjadi 32 ip ( /27 )
    14 hosts + 1 network + 1 broadcast = 16 –> menjadi 16 ip ( /28 )
    7 hosts + 1 network + 1 broadcast = 9 –> menjadi 16 ip ( /28 )
    2 hosts + 1 network + 1 broadcast = 4 –> menjadi 4 ip ( /30 )

Sehingga blok subnet-nya menjadi:
netB (28 hosts): 204.24.93.0/27 => ada 30 hosts; tidak terpakai 2 hosts
netE (28 hosts): 204.24.93.32/27 => ada 30 hosts; tidak terpakai 2 hosts
netA (14 hosts): 204.24.93.64/28 => ada 14 hosts; tidak terpakai 0 hosts
netD ( 7 hosts): 204.24.93.80/28 => ada 14 hosts; tidak terpakai 7 hosts
netC ( 2 hosts): 204.24.93.96/30 => ada 2 hosts; tidak terpakai 0 hosts

Sumber:

 http://compnetworking.about.com/od/worki…

 http://id.wikipedia.org/wiki/Subnet_mask

 http://elearning.amikom.ac.id/index.php/…

Pengertian Subnetting, Netmask, Network ID, Default Gateway & Broadcast

Posted under rangkuman kuliah oleh abdulwadud on Selasa 24 April 2012 at 8:15 pm

Subnetting
Kita juga harus menguasai konsep subnetting untuk mendapatkan IP address baru, dimana dengan cara ini kita dapat membuat network ID baru dari suatu network yang kita miliki sebelumnya. Subnetting digunakan untuk memecah satu buah network menjadi beberapa network kecil.

Untuk memperbanyak network ID dari suatu network id yang sudah ada, dimana sebagaian host ID dikorbankan untuk digunakan dalam membuat ID tambahan

Ingat rumus untuk mencari banyak subnet adalah 2 n – 2
N = jumlah bit yang diselubungi

Dan rumus untuk mencari jumlah host per subnet adalah 2 m – 2
M = jumlah bit yang belum diselubungi

Contoh kasus dengan penyelesaian I :

Ip address 130.200.0.0 dengan subnet mask 255.255.224.0 yang diidentifikasi sebagai kelas B.

Subnet mask : 11111111.11111111.11100000.00000000
3 bit dari octet ke 3 telah digunakan , tingal 5 bit yang belum diselubungi maka banyak kelompok subnet yang bisa dipakai adalah kelipatan 2 5 = 32 (256 – 224 = 32)
32 64 96 128 160 192 224

Jadi Kelompok IP yang bisa digunakan dalah ;

130.200.0.0 – 130.200.31.254  subnet loopback
130.200.32.1 – 130.200.63.254
130.200.64.1 – 130.200.95.254
130.200.96.1 – 130.200.127.254
130.200.128.1 – 130.200.159.254
130.200.160.1 – 130.200.191.254
130.200.192.1 – 130.200.223.254

Contoh kasus dengan penyelesaian II :

Terdapat network id 130.200.0.0 dengan subnet 255.255.192.0 yang termasuk juga kelas B, cara lain untuk menyelesaikannya adalah ;

• Dari nilai octet pertama dan subnet yang diberikan, dapat diketahui IP address adalah kelas B yang octet ketiga diselubungi dengan angka 192…
• Hitung dengan rumus (4 oktet – angka yang diselubung) 256 – 192 = 64
• Jadi kelompok subnet yang dapat dipakai adalah kelipatan 64 dan 128.

Jadi kelompok ip yang dapat dipakai adalah
130.200.64.1 sampai 130.200.127.254
130.200.128.1 sampai 130.200.199.254

Kasus ;
Kita memiliki kelas B dengan network ID 130.200.0.0 dengan subnet mask 255.255.224.0

Dengan cara yang sama diatas sebelumnya ;
• Dari nilai octet pertama dan subnet yang diberikan dapat diketahui IP address adalah kelas B dengan octet ketiga terseluibung dengan angka 224
• Hitung dengan rumus (256-224) =32
• Jadi kelompok subnet yang dapat dipakai adalah kelipatan 32 yaitu 64 96 128 160 192

Dengan demikian, kelompok IP address yang dapat dipakai adalah ;
130.200.32.1 sampai 130.200.63.254
130.200.64.1 sampai 130.200.95.254
130.200.96.1 sampai 130.200.127.254
130.200.128.1 sampai 130.200.159.254
130.200.160.1 sampai 130.200.191.254
130.200.192.1 sampai 130.200.223.254

Kasus :

misalkan kita menggunakan kelas C dengan network address 192.168.81.0 dengan subnet mask 255.255.255.240, maka

• Dari nilai octet pertama dan subnet yang diberikan dapat diketahui IP address adalah kelas C dengan oktat ketiga terselubung dengan angka 240
• Hitung (256 – 240) = 16
• Maka kelompok subnet yang dapat digunakan adalah kelipatan 16, yaitu 16 32 48 64 80 96 112 128 144 160 176 192 208 224

Maka kelompok IP address yang dapat digunakan adalah ;

192.168.81.17 sampai 192.168.81.20
192.168.81.33 sampai 192.168.81.46
192.168.81.49 sampai 192.168.81.62
192.168.81.65 sampai 192.168.81.78
192.168.81.81 sampai 192.168.81.94
192.168.81.97 sampai 192.168.81.110
192.168.81.113 sampai 192.168.81.126
192.168.81.129 sampai 192.168.81.142
192.168.81.145 sampai 192.168.81.158
192.168.81.161 sampai 192.168.81.174
192.168.81.177 sampai 192.168.81.190
192.168.81.193 sampai 192.168.81.206
192.168.81.209 sampai 192.168.81.222
192.168.81.225 sampai 192.168.81.238

Kasus :

Sebuah perusahaan yang baru berkembang mempunyai banyak kantor cabang dan tiap kantor cabang mempunyai 255 workstation, network address yang tersedia adalah 164.10.0.0, buatlah subnet dengan jumlah subnet yang terbanyak

Penyelesaian ; 164.10.0.0 berada pada kelas B, berarti octet 3 dan 4 digunakan untuk host, sedangkan 1 kantor cabang ada 254 host, maka ambil 1 bit lagi dari octet ke 3 agar cukup.

Maka subnetmask yang baru
11111111.11111111.11111110.00000000
255. 255. 254. 0

Subnet yang tersedia adalah 256 – 254 = 2, maka subnetnya kelipatan 2 sampai dengan 254.

Jumlah subnet (2 7 – 2) = 128 – 2 = 26 subnet
Jumlah host / subnetnya (2 9 – 2 ) = 512 – 2 = 510 host

164.10.0.0 sampai 164.10.1.0  dibuang
164.10.2 .1 sampai 164.10.3.254
164.10.4.1 sampai 164.10.5.254
164.10.6.1 sampai 164.10.7.254
164.10.8.1 sampai 164.10.9.254
.
.
.
164.10.252.1 sampai 164.10.253.254

Kasus :

Kita mendapatkan IP dari ISP yaitu 192.168.20.0 untuk alamat network dan subnet masknya 255.255.255.192 ini berarti notasi /26.

Jumlah subnet adalah 192, berarti 11000000, maka 22 – 2 = 2
Berapa banyak host per subnet, 26 – 2 = 62 host
Hitung subnet yang valid 256 – 192 = 64 subnet, maka terus tambahkan block size sampai angka subnet mask. 64 + 64 = 128. 128 + 64 = 192, yang tidak valid karena ia adalah sebuah subnet mask. Maka subnet yang valid adalah 64 dan 128.

Subnet 64 128
Host pertama 65 129
Host terakhir 126 190
Alamat Broadcast 127 191

Cara membaca tabel diatas yaitu dari atas ke bawah untuk setiap kolom subnet, contoh: kolom pertama subnet 64 atau lengkapnya 192.168.20.64 memunyai host pertama 65 atau 192.168.20.65, host terakhir 126 atau 192.168.20.126 dan alamat broadcast di 127 atau 192.168.20.127.

Kasus

Kita mendapatkan IP dari ISP yaitu 192.168.10.0 untuk alamat network dan subnet masknya 255.255.255.224 ini berarti notasi /27.

Berapa jumlah subnet, 224 adalah 11100000, jadi 23-3 = 6
Berapa banyak host per subnet, 25 – 2 = 30 host
Hitung subnet yang valid 256 – 224 = 32
32 + 32 = 64
64 + 32 = 96
96 + 32 = 128
128 + 32 = 160
160 + 32 = 192
192 + 32 = 224
224 tidak valid karena ia adalah sebuah subnet mask. Maka subnet yang valid adalah
32, 64, 96,128,160,129,224

Subnet 32 64 96 128 160 192
Host pertama 33 65 97 129 161 193
Host terakhir 62 94 126 158 190 222
Alamat Broadcast 63 95 127 159 191 223

Cara membaca tabel diatas yaitu dari atas ke bawah untuk setiap kolom subnet, contoh: kolom pertama subnet 32 atau lengkapnya 192.168.10.32 memunyai host pertama 33 atau 192.168.10.33, host terakhir 62 atau 192.168.10.62 dan alamat broadcast di 63 atau 192.168.10.63.

Kasus kelas C

Kita mendapatkan IP dari ISP yaitu 192.168.10.0 untuk alamat network dan subnet masknya 255.255.255.224 ini berarti notasi /27.

Berapa jumlah subnet, 224 adalah 11100000, jadi 23-3 = 6
Berapa banyak host per subnet, 25 – 2 = 30 host
Hitung subnet yang valid 256 – 224 = 32
32 + 32 = 64
64 + 32 = 96
96 + 32 = 128
128 + 32 = 160
160 + 32 = 192
192 + 32 = 224
224 tidak valid karena ia adalah sebuah subnet mask. Maka subnet yang valid adalah
32, 64, 96,128,160,129,224

Subnet 32 64 96 128 160 192
Host pertama 33 65 97 129 161 193
Host terakhir 62 94 126 158 190 222
Alamat Broadcast 63 95 127 159 191 223

Cara membaca tabel diatas yaitu dari atas ke bawah untuk setiap kolom subnet, contoh: kolom pertama subnet 32 atau lengkapnya 192.168.10.32 memunyai host pertama 33 atau 192.168.10.33, host terakhir 62 atau 192.168.10.62 dan alamat broadcast di 63 atau 192.168.10.63.

Kasus :

Di sebuah perusahaan manufacturing yang mempunyai banyak bagian dalam perusahaan tersebut, dimana setiap bagian mempunyai 700 host, network address yang didapat adalah 171.168.10.0, berarti ini kelas B…perhatikan bagaimana jika kita menggunakan kelas C karena kelas C hanya dapat menampung host sebanyak 254 !!!

Classless Inter-Domain Rouitng (CIDR)

Suatu metode yang digunakan oleh ISP untuk mengalokasikan sejumlah alamat pada perusahaan, kerumah seorang pelanggan. ISP menyediakan ukuran blok (block size) tertentu.

Contoh : kita mendapatkan blok IP 192.168.32/28. notasi garis miring atau slash notation (/) berarti berapa bit yang bernilai 1 (contoh diatas adalah /28 berarti ada 28 bit yang bernilai 1).

Nilai maksimum setelah garing adala /32. karena satu byte adalah 8 bit dan terdapat 4 byte dalam sebuah alamat IP (4 x 8 = 32). Namun subnet mask terbesar tanpa melihar class alamatnya adalah hanya /30, karena harus menyimpan paling tidak dua buah bit sebagai bit dan host.

Nilai CIDR

255.0.0.0 /8
255.128.0.0 /9
255.192.0.0 /10
255.224.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.254.0.0 /15
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255. 255.224.0 /19
255. 255.240.0 /20
255. 255.248.0 /21
255. 255.252.0 /22
255. 255.254.0 /23
255. 255.255.0 /24
255.255. 255.128 /25
255.255. 255.192 /26
255. 255. 255.224 /27
255. 255. 255.240 /28
255. 255. 255.248 /29
255. 255. 255.252 /30

Keterangan : pola yang dimaksudkan adalah pola 128, 192, 224, 240, 248, 252, dan 254
Dimana 128 dalam binary yaitu = 10000000 (1 bit subnet), 192 dalam binary yaitu 11000000 (2 bit binary) dan seterusnya. Maka hafalkan pola 128, 192, 224, 240, 248, 252 dan 254.

Contoh latihan subnetting : alamat class B

Alamat Network 172.16.0.0 dan subnet mask 255.255.192.0

Subnet 192 = 11000000, 2 2 – 2 = 2
Host 2 14 – 2 = 16.382 (6 bit di octet ketiga, dan 8 bit di octet keempat)
Subnet yang valid 256 – 192 = 64. 64 + 64 = 128

Subnet 64.0 128.0
Host pertama 64.1 128.1
Host terakhir 127.254 192.254
Broadcast 127.255 199.255

Keterangan, maka subnet 64.0 atau 172.16.64.0, mempunyai host pertama 64.1 atau 172.16.64.1 sampai dengan 171.16.127.254 dan alamat broadcastnya 172.16.127.255

Contoh latihan subnetting : alamat class A

Alamat Network 10.0.0.0 dan subnet mask 255.255.0.0

Subnet 255 = 11111111, 2 8 – 2 = 254
Host 2 16 – 2 = 65.534
Subnet yang valid 256 – 255 = 1, 2 , 3 dan seterusnya. (semua di octet kedua). Subnetnya menjadi 10.1.0.0, 10.2.0.0, 10.3.0.0 dan seterusnya sampai 10.254.0.0

Subnet 10.1.0.0 … 10.254.0.0
Host pertama 10.1.0.1 … 10.254.0.1
Host terakhir 10.1.255.254 … 10.254.255.254
Broadcast 10.1.255.255 … 10.254.255.255

NETMASK/SUBNETMASK

Untuk pengelompokan pengalamatan, selain nomor IP dikenal juga netmask atau subnetmask. Yang besarnya sama dengan nomor IP yaitu 32 bit. Ada tiga pengelompokan besar subnet mask yaitu dengan dikenal, yaitu 255.0.0.0 , 255.255.0.0 dan 255.0.0.0.
Pada dunia jaringan, subnetmask tersebut dikelompokkan yang disebut class dikenal tiga class yaitu :
1. Class A, adalah semua nomor IP yang mempunyai subnetmask 255.0.0.0
2. Class B, adalah semua nomor IP yang mempunyai subnetmask 255.255.0.0
3. Class C, adalah semua nomor IP yang mempunyai subnetmask 255.255.255.0

Gabungan antara IP dan Netmask inilah pengalamatan komputer dipakai. Kedua hal ini tidak bisa lepas. Jadi penulisan biasanya sbb :

IP : 202.95.151.129
Netmask : 255.255.255.0

Suatu nomor IP kita dengan nomor IP tetangga dianggap satu kelompok (satu jaringan) bila IP dan Netmask kita dikonversi jadi biner dan diANDkan, begitu juga nomor IP tetangga dan Netmask dikonversi jadi biner dan diANDkan, jika kedua hasilnya sama maka satu jaringan. Dan kita bisa berhubungan secara langsung.

Ketika kita berhubungan dengan komputer lain pada suatu jaringan, selain IP yang dibutuhkan adalah netmask. Misal kita pada IP 10.252.102.12 ingin berkirim data pada 10.252.102.135 bagaimana komputer kita memutuskan apakah ia berada pada satu jaringan atau lain jaringan? Maka yang dilakukan adalah mengecek dulu netmask komputer kita karena kombinasi IP dan netmask menentukan range jaringan kita.
Jika netmask kita 255.255.255.0 maka range terdiri dari atas semua IP yang memiliki 3 byte pertama yang sama. Misal jika IP saya 10.252.102.12 dan netmask saya 255.255.255.0 maka range jaringan saya adalah 10.252.102.0-10.252.102.255 sehingga kita bisa secara langsung berkomunukasi pada mesin yang diantara itu, jadi 10.252.102.135 berada pada jaringan yang sama yaitu 10.252.102 (lihat yang angka-angka tercetak tebal menunjukkan dalam satu jaringan karena semua sama).
Dalam suatu organisasi komersial biasanya terdiri dari beberapa bagian, misalnya bagian personalia/HRD, Marketing, Produksi, Keuangan, IT dsb. Setiap bagian di perusahaan tentunya mempunyai kepentingan yang berbeda-beda. Dengan beberapa alasan maka setiap bagian bisa dibuatkan jaringan lokal sendiri – sendiri dan antar bagian bisa pula digabungkan jaringannya dengan bagian yang lain.
Ada beberapa alasan yang menyebabkan satu organisasi membutuhkan lebih dari satu jaringan lokal (LAN) agar dapat mencakup seluruh organisasi :
 Teknologi yang berbeda. Dalam suatu organisasi dimungkinkan menggunakan bermacam teknologi dalam jaringannya. Semisal teknologi ethernet akan mempunyai LAN yang berbeda dengan teknologi FDDI.
 Sebuah jaringan mungkin dibagi menjadi jaringan yang lebih kecil karena masalah performanasi. Sebuah LAN dengan 254 host akan memiliki performansi yang kurang baik dibandingkan dengan LAN yang hanya mempunyai 62 host. Semakin banyak host yang terhubung dalam satu media akan menurunkan performasi dari jaringan. Pemecahan yang paling sedherhana adalah memecah menjadi 2 LAN.
 Departemen tertentu membutuhkan keamanan khusus sehingga solusinya memecah menjadi jaringan sendiri.

Pembagian jaringan besar ke dalam jaringan yang kecil-kecil inilah yang disebut sebagai subnetting. Pemecehan menggunakan konsep subnetting. Membagi jaringan besar tunggal ke dalam sunet-subnet (sub-sub jaringan). Setiap subnet ditentukan dengan menggunakan subnet mask bersama-sama dengan no IP.

Pada subnetmask dalam biner, seluruh bit yang berhubungan dengan netID diset 1, sedangkan bit yang berhubungan dengan hostID diset 0.
Dalam subnetting, proses yang dilakukan ialah memakai sebagian bit hostID untuk membentuk subnetID. Dengan demikian jumlah bit yang digunakan untuk HostID menjadi lebih sedikit. Semakin panjang subnetID, jumlah subnet yang dibentuk semkain banyak, namun jumlah host dalam tiap subnet menjadi semakin sedikit.

Gambar pembentukan subnet

Cara Pembentukan Subnet :

Misal jika jaringan kita adalah 192.168.0.0 dalm kelas B (kelas B memberikan range 192.168.0.0 – 192.168.255.255). Ingat kelas B berarti 16 bit pertama menjadi NetID yang dalam satu jaringan tidak berubah (dalam hal ini adalah 192.168) dan bit selanjutya sebagai Host ID (yang merupakan nomor komputer yang terhubung ke dan setiap komputer mempunyai no unik mulai dari 0.0 – 255.255). Jadi netmasknya/subnetmasknya adalah 255.255.0.0
Kita dapat membagi alokasi jaringan diatas menjadi jaringan yang kebih kecil dengan cara mengubha subnet yang ada.
Ada dua pendekatan dalam melakukan pembentukan subnet yaitu :
1. Berdasarkan jumlah jaringan yang akan dibentuk
2. Berdasarkan jumlah host yang dibentuk dalam jaringan.

Cara perhitungan subnet berdasarkan jumlah jaringan yang dibutuhkan :

1. Menentukan jumlah jaringan yang dibutuhkan dan merubahnya menjadi biner.
Misalkan kita ingin membuat 255 jaringan kecil dari nomor jaringan yang sudah ditentukan. 255  11111111
2. Menghitung jumlah bit dari nomor 1. Dan jumlah bit inilah yang disebut sebagai subnetID
Dari 255  11111111  jumlah bitnya adalah 8
3. Jumlah bit hostID baru adalah HosiID lama dikurangi jumlah bit nomor 2.
Misal dari contoh diatas hostIDbaru: 16 bit – 8 bit = 8 bit.
4. Isi subnetID dengan 1 dan jumlahkan dengan NetIDLama.
Jadi NetID baru kita adalah NetIDlama + SubNetID :
 11111111.11111111.11111111.00000000 (24 bit bernilai 1 biasa ditulis /24)
Berkat perhitungan di atas maka kita mempunyai 256 jaringan baru yaitu :
192.168.0.xxx, 192.168.1.xxx, 192.168.2.xxx, 192.168.3.xxx hingga 192.168.255.xxx dengan netmash 255.255.255.0.
xxx  menunjukkan hostID antara 0-255
Biasa ditulis dengan 192.168.0/24  192.168.0 menunjukkan NetID dan 24 menunjukkan subnetmask (jumlah bit yang bernilai 1 di subnetmask).
Dengan teknik ini kita bisa mengalokasikan IP address kelas B menjadi sekian banyak jaringan yang berukuran sama.

Cara perhitungan subnet berdasarkan jumlah host adalah sebagai berikut :

1. Ubah IP dan netmask menjadi biner
IP : 192.168.1.0  11000000.10101000.00000000.00000000
Netmask : 255.255.255.0  11111111.11111111. 11111111.00000000
Panjang hostID kita adalah yang netmasknya semua 0  16 bit.
2. Memilih jumlah host terbanyak dalam suatu jaringan dan rubah menjadi biner.
Misal dalam jaringan kita membutuhkan host 25 maka menjadi 11001.
3. Hitung jumlah bit yang dibutuhkan angka biner pada nomor 1. Dan angka inilah nanti sebagai jumlah host dalam jaringan kita.
Jumlah host 25 menjadi biner 11001 dan jumlah bitnya adalah 5.
4. Rubah netmask jaringan kita dengan cara menyisakan angka 0 sebanyak jumlah perhitungan nomor 3.
Jadi netmasknya baru adalah 11111111.11111111.11111111.11100000
Identik dengan 255.255.255.224 jika didesimalkan.
Jadi netmask jaringan berubah dan yang awalnya hanya satu jaringan dengan range IP dari 1 -254 menjadi 8 jaringan, dengan setiap jaringan ada 30 host/komputer

Alokasi Range IP
1 192.168.1.0 – 192.168.1.31
2 192.168.1.32 – 192.168.1.63
3 192.168.1.64 – 192.168.1.95
4 192.168.1.96 – 192.168.1.127
5 192.168.1.128 – 192.168.1.159
6 192.168.1.160 – 192.168.1.191
7 192.168.1.192 – 192.168.1.223
8 192.168.1.224 – 192.168.1.255

Nomor IP awal dan akhir setiap subnet tidak bisa dipakai. Awal dipakai ID Jaringan (NetID) dan akhir sebagai broadcast.
Misal jaringan A 192.168.1.0 sebagai NetID dan 192.168.1.31 sebagai broadcast dan range IP yang bisa dipakai 192.168.1.1-192.168.1.30.

IP ADDRESS

Agar unik setiap computer yang terkoneksi ke Internet diberi alamat yang berbeda. Alamat ini supaya seragam seluruh dunia maka pemberian alamat IP address diseluruh dunia diberikan oleh badan internasional Internet Assigned Number Authority (IANA), dimana IANA hanya memberikan IP address Network ID nya saja sedangkan host ID diatur oleh pemilik IP address tersebut.
Contoh IP address untuk cisco.com adalah 202.93.35.9 untuk www.ilkom.unsri.ac.id dengan IP nya 202.39.35.9

Alamat yang unik terdiri dari 32 bit yang dibagi dalam 4 oktet (8 bit)

00000000 . 00000000 . 00000000 . 00000000
o 1 o 2 o 3 o 4

Ip address dibagi menjadi 2 bagian yaitu Network ID dan Host ID,
Network ID yang akan menentukan alamat dalam jaringan (network address), sedangkan Host ID menentukan alamat dari peralatan jaringan yang sifatnya unik untuk membedakan antara satu mesin dengan mesin lainnya.

Ibaratkan Network ID Nomor jalan dan alamat jalan sedangkan Host ID adalah nomor rumahnya

IP address dibagi menjadi kelas yaitu ;

Kelas yang umum digunakan adalah kelas A sampai dengan kelas C.

Pada setiap kelas angka pertama dengan angka terakhir tidak dianjurkan untuk digunakan karena sebagai valid host id, misalnya kelas A 0 dan 127, kelas B 128 dan 192, kelas C 191 dan 224. ini biasanya digunakan untuk loopback addresss.

Catatan :
• alamat Network ID dan Host ID tidak boleh semuanya 0 atau 1 karena jika semuanya angka biner 1 : 255.255.255.255 maka alamat tersebut disebut floaded broadcast
• alamat network, digunakan dalam routing untuk menunjukkan pengiriman paket remote network, contohnya 10.0.0.0, 172.16.0.0 dan 192.168.10.0

Dari gambar dibawah ini perhatikan kelas A menyediakan jumlah network yang paling sediikit namun menyediakan host id yang paling banyak dikarenakan hanya oktat pertama yang digunakan untuk alamat network bandingkan dengan kelas B dan C.

Untuk mempermudah dalam menentukan kelas mana IP yang kita lihat, perhatikan gambar dibawah ini. Pada saat kita menganalisa suatu alamat IP maka perhatikan octet 8 bit pertamanya.

Pada kelas A : 8 oktet pertama adalah alamat networknya, sedangkan sisanya 24 bits merupakan alamat untuk host yang bisa digunakan.
Jadi admin dapat membuat banyak sekali alamat untuk hostnya, dengan memperhatikan
2 24 – 2 = 16.777.214 host
N ; jumlah bit terakhir dari kelas A
(2) adalah alamat loopback

Pada kelas B : menggunakan 16 bit pertama untuk mengidentifikasikan network sebagai bagian dari address. Dua octet sisanya (16 bits) digunakan untuk alamat host

2 16 – 2 = 65.534

Pada kelas C : menggunakan 24 bit pertama untuk network dan 8 bits sisanya untuk alamat host.

2 8 – 2 = 254

Nomor IP terdiri dari 32 bit yang didalamnya terdapat bit untuk NETWORK ID (NetID) dan HOST ID (HostID). Secara garis besar berikut inilah pembagian kelas IP secara default

GATEWAY/ROUTER

Gateway adalah komputer yang memiliki minimal 2 buah network interface untuk menghubungkan 2 buah jaringan atau lebih. Di Internet suatu alamat bisa ditempuh lewat gateway-gateway yang memberikan jalan/rute ke arah mana yang harus dilalui supaya paket data sampai ke tujuan. Kebanyakan gateway menjalankan routing daemon (program yang meng-update secara dinamis tabel routing). Karena itu gateway juga biasanya berfungsi sebagai router. Gateway/router bisa berbentuk Router box seperti yang di produksi Cisco, 3COM, dll atau bisa juga berupa komputer yang menjalankan Network Operating System plus routing daemon. Misalkan PC yang dipasang Unix FreeBSD dan menjalankan program Routed atau Gated. Namun dalam pemakaian Natd, routing daemon tidak perlu dijalankan, jadi cukup dipasang gateway saja.
Karena gateway/router mengatur lalu lintas paket data antar jaringan, maka di dalamnya bisa dipasangi mekanisme pembatasan atau pengamanan (filtering) paket-paket data. Mekanisme ini disebut Firewall.
Sebenarnya Firewall adalah suatu program yang dijalankan di gateway/router yang bertugas memeriksa setiap paket data yang lewat kemudian membandingkannya dengan rule yang diterapkan dan akhirnya memutuskan apakah paket data tersebut boleh diteruskan atau ditolak. Tujuan dasarnya adalah sebagai security yang melindungi jaringan internal dari ancaman dari luar. Namun dalam tulisan ini Firewall digunakan sebagai basis untuk menjalankan Network Address Translation (NAT).
Dalam FreeBSD, program yang dijalankan sebagai Firewall adalah ipfw. Sebelum dapat menjalankan ipfw, kernel GENERIC harus dimodifikasi supaya mendukung fungsi firewall. Ipfw mengatur lalu lintas paket data berdasarkan IP asal, IP tujuan, nomor port, dan jenis protocol. Untuk menjalankan NAT, option IPDIVERT harus diaktifkan dalam kernel.

DIVERT (mekanisme diversi paket kernel)
Socket divert sebenarnya sama saja dengan socket IP biasa, kecuali bahwa socket divert bisa di bind ke port divert khusus lewat bind system call. IP address dalam bind tidak diperhatikan, hanya nomor port-nya yang diperhatikan. Sebuah socket divert yang dibind ke port divert akan menerima semua paket yang didiversikan pada port tersebut oleh mekanisme di kernel yang dijalankan oleh implementasi filtering dan program ipfw. Mekanisme ini yang dimanfaatkan nantinya oleh Network Address Translator.
Itulah beberapa bahasan awal yang akan mengantar kita ke pembahasan inti selanjutnya.

BROADCAST

Alamat ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu jaringan. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada jaringannya? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth/jalur akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada jaringan yang sama harus memiliki broadcast address yang sama dan alamat tersebut tidak boleh digunakan sebagai nomor IP untuk host tertentu.
Jadi, sebenarnya setiap host memiliki 2 alamat untuk menerima paket : pertama adalah nomor IP yang bersifat unik dan kedua adalah broadcast address pada jaringan tempat host tersebut berada. Broadcast address diperoleh dengan membuat seluruh bit host pada nomor IP menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing.

dikutip dari:

http://f4bregaz.blogspot.com/2008/08/pengertian-subnetting-network-id.html


OSI DAN TCP/IP

Posted under IT, rangkuman kuliah oleh abdulwadud on Selasa 24 April 2012 at 8:11 pm

1. Pengertian Protokol

Sebelum membahas lebih jauh tentang pengertian dari masing-masing layer dalam protokol, alangkah baiknya kita mengetahui terlebih dahulu apa itu protokol dalam sebuah Jaringan Komputer ? .

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer.

Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.

Prinsip dalam membuat protokol ada tiga hal yang harus dipertimbangkan, yaitu efektivitas, kehandalan, dan Kemampuan dalam kondisi gagal di network. Protokol distandarisasi oleh beberapa organisasi yaitu IETF, ETSI, ITU, dan ANSI.

Tugas yang biasanya dilakukan oleh sebuah protokol dalam sebuah jaringan diantaranya adalah :

  • Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer / mesin lainnya.
  • Melakukan metode “jabat-tangan” (handshaking).
  • Negosiasi berbagai macam karakteristik hubungan.
  • Bagaimana mengawali dan mengakhiri suatu pesan.
  • Bagaimana format pesan yang digunakan.
  • Yang harus dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
  • Mendeteksi rugi-rugi pada hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya.
  • Mengakhiri suatu koneksi.

2. Pengertian Model Osi Layer

Pengertian model OSI (Open System Interconnection) adalah suatu model konseptual yang terdiri atas tujuh layer, yang masing-masing layer tersebut mempunyai fungsi yang berbeda.

OSI dikembangkan oleh badan Internasional yaitu ISO (International Organization for Standardization) pada tahun 1977.

Model ini juga dikenal dengan model tujuh lapis OSI (OSI seven layer model). Berikut dibawah ini merupakan gambar dari model OSI 7 Layer

Definisi masing-masing Layer pada model OSI

7. Application adalah Layer paling tinggi dari model OSI,  seluruh layer dibawahnya bekerja untuk layer ini, tugas dari application layer adalah Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan.

Mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, NFS.

6. Presentation berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan.

Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam windows NT) dan juga Network shell (semacam Virtual network komputing (VNC) atau Remote Dekstop Protokol (RDP).

5. Session Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.

4. Transport Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima.

Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.

3. Network Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer3.

2. Data Link Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras seperti halnya Media Access Control Address (MAC Address), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer2 beroperasi.

Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).

1. Physical adalah Layer paling bawah dalam model OSI, berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan.

Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

3. Cara Kerja Model OSI

Cara Kerja : Pembentukan paket dimulai dari layer teratas model OSI.

Aplication layer megirimkan data ke presentation layer, di presentation layer data ditambahkan header dan atau tailer kemudian dikirim ke layer dibawahnya, pada layer dibawahnya pun demikian, data ditambahkan header dan atau tailer kemudian dikirimkan ke layer dibawahnya lagi, terus demikian sampai ke physical layer.

Di physical layer data dikirimkan melalui media transmisi ke host tujuan.

Di host tujuan paket data mengalir dengan arah sebaliknya, dari layer paling bawah kelayer paling atas.

Protokol pada physical layer di host tujuan mengambil paket data dari media transmisi kemudian mengirimkannya ke data link layer, data link layer memeriksa data-link layer header yang ditambahkan host pengirim pada paket,  jika host bukan yang dituju oleh paket tersebut maka paket itu akan di buang, tetapi jika host adalah yang dituju oleh paket tersebut maka paket akan dikirimkan ke network layer, proses ini terus berlanjut sampai ke application layer di host tujuan.

Proses pengiriman paket dari layer ke layer ini disebut dengan “peer-layer communication”.

3. Pengertian TCP/IP

TCP/IP (Transmission Control Protokol / Internet Protokol ) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet.

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN).

TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja.

4. Definisi Masing-masing Layer pada model TCP/IP

4. Application merupakan Layer paling atas pada model TCP/IP, yang bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP.

Protokol ini mencakup protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya.

Dalam beberapa implementasi Stack Protocol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBios over TCP/IP (NetBT).

3. Transport berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless.

Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Diagram Protocol (UDP).

2. Internet berfungsi untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP.

Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP),Internet control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).

1. Network Interface berfungsi untuk meletakkan frame – frame jaringan di atas media jaringan yang digunakan.

TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), Man dan Wan (seperti halnya dial-up model yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM).

Perbedaan Layer OSI dan TCP IP

Layer OSI (Open System Interconnection) model, terhitung tidak sukses dalam implementasi, namun penting untuk mempelajarinya karena sering kali OSI dijadikan referensi dan standar perbandingan dengan model network yang lain.
OSI terdiri dari 7 layer :
http://home.unpar.ac.id/~gatut/pelatihan/Program-Web/IP-OSI-02tyt02.gif
Layer 7 (Application Layer)
• Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, dan NFS.
Layer 6 (Presentation Layer)
• Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop
Protocol (RDP)).
Layer 5 (Session Layer)
• Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.
Layer 4 (Transport Layer)
• Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan.
Layer 3 (Network Layer)
• Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.
Layer 2 (Data Link Layer)
• Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
Layer 1 (Physical Layer)
• Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.


TCP/IP (Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Setiap layer menyediakan servis-servis yang akan digunakan oleh layer diatasnya, ada 2 buah fungsi yang berbeda : same-layer interaction dan adjacent-layer interaction
• same-layer interaction : dua buah komputer menggunakan protokol untuk saling berkomunikasi dengan layer yang sama pada komputer lainnya.
• adjacent-layer interaction : pada satu komputer, sebuah layer menyediakan servis-servis yang akan digunakan oleh layer yang berada diatasnya.

1. Application Layer
• Protokol-protokol pada layer aplikasi TCP/IP menyediakan servis-servis bagi software-software yang berjalan pada komputer. Layer aplikasi tidak menyediakan software itu sendiri tapi hanya menyediakan servis-servis yang bisa dimanfaatkan oleh software yang berjalan pada komputer kita, misalnya Mozilla Firefox yang berjalan pada komputer kita memanfaatkan protokol HTTP untuk mengakses suatu halaman web.
• Beberapa protokol yang beroperasi pada layer ini antara lain : HTTP, FTP, POP3, SMTP, dsb.


2. Transport Layer
• Terdiri dari 2 buah protokol utama : Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
• Menyediakan servis yang akan digunakan oleh Application Layer, misalnya: HTTP software meminta TCP untuk menjamin sampainya data pada tujuan, jika terjadi gangguan pada saat transmisi maka HTTP tidak akan melakukan apa-apa, tapi TCP akan mengirim ulang data yang hilang dan memastikan sampainya data pada tujuan.

3. Internet Layer
• Menyediakan fungsi IP addressing, routing dan penentuan path terbaik
• Protokol yang paling terkenal adalah protokol IP (satu2nya protokol pada layer ini di TCP/IP)

4. Network Access Layer
• Mendefinisikan protokol-protokol dan juga hardware yang digunakan untuk pengiriman data misalnya cabling, pemberian header dan trailer sehingga data bisa melewati tipe-tipe network yang berbeda topologi, mentransmisi data yang berupa bits ke jaringan, dsb.
• Protokol pada layer ini antara lain Ethernet pada jaringan LAN atau PPP pada WAN, juga termasuk Frame Relay.

Prinsip Kerja OSI Layer vs TCP/IP serta Perbedaan dan Persamaannya.
Persamaan Model OSI dan TCP/IP :
1) Keduanya memiliki layer (lapisan).
2) Sama - sama memiliki Application layer meskipun memiliki layanan yang berbeda.
3) Memiliki transport dan network layer yang sama.
4) Asumsi dasar keduanya adalah menggunakan teknologi packet switching.
5) Dua-duanya punya transport dan network layer yang bisa diperbandingkan.
6) Dua-duanya menggunakan teknologi packet-switching, bukan circuit-switching ( Teknologi Circuit-Switching digunakan pada analog telephone).

Perbedaan Model OSI dan TCP/IP :
1) TCP/IP menggabungkan presentation dan session layers kedalam application layers.
2) TCP/IP menggabungkan OSI-data link dan physical layers kedalam network access layer.
3) TCP/IP Protocol adalah standar dalam pengembangan internet.

Prinsip Kerja OSI Layer :
Ketika data ditransfer melalui jaringan, sebelumnya data tersebut harus melewati ke-tujuh layer dari satu terminal, mulai dari layer aplikasi sampai physical layer, kemudian di sisi penerima, data tersebut melewati layer physical sampai aplikasi. Dari masing-masing layer mempunyai tugas tersendiri demi kelancaran data yang akan dikirimkan. Berikut adalah deskripsi singkat beberapa tugas dari masing-masing layer dari layer application sampai physical.

Prinsip Kerja TCP/IP :

  • Untuk memindahkan data antara dua komputer yang berbeda dalam suatu jaringan yang terdiri dari banyak komputer, dibutuhkan alamat tujuan dan perantara untukmemindahkan sinyal elektronik pembentuk data secara aman dan langsung.
  • Internet menggunakan protokol untuk menjamin sampainya data secara aman di tempat tujuan.
  • Saat seorang pengguna Internet mengirim sekelompok teks ke mesin lain, TCP/IP mulai bekerja. TCP membagi teks tersebut menjadi paket-paket data kecil, menambahkan beberapa informasi (dapat dianggap sebagai pengiriman barang), sehingga computer penerima memastikan bahwa paket yang diterimanya tidak mengalami kerusakan sepanjang pengiriman. IP menambahkan label yang berisikan informasi alamat pada paket tersebut.
  • Deretan paket-paket TCP/IP berjalan menuju tujuan yang sama dengan menggunakan berbagai jalur yang berbeda. Sebuah perangkat khusus yang disebut router dipasang di titik persimpangan antar jaringan dan memutuskan jalur mana yang paling efisien yang menjadi langkah berikut dari sebuah paket. Router membantu mengatur arus lalu lintas di Internet dengan membagi beban, sehingga menghindari kelebihan beban pada suatu bagian dari sistem yang ada.
  • Saat paket-paket TCP/IP tiba di tempat tujuannya, komputer akan membuka label alamat IP lalu menggunakan daftar pengiriman yang ada pada paket TCP untuk memeriksa apakah ada kerusakan paket yang terjadi selama pengiriman, dan menyusun kembali paket-paket tsb menjadi susunan teks seperti aslinya. Saat komputer penerima menemukan paket yang rusak, komputer tsb akan meminta komputer pengirim untuk mengirim salinan baru dari paket yang rusak.
  • Sebuah perangkat khusus yang disebut gateway memungkinkan beragam tipe jaringan yang ada di horison elektronik untuk berkomunikasi dengan Internet menggunakan TCP/IP. Gateway menerjemahkan protokol asli jaringan komputer tersebut menjadi TCP/IP dan sebaliknya.
  • Bagi seorang pemakai, Internet hadir seperti jaringan global raksasa yang tidak terbatas, yang langsung merespon jika diminta. Komputer, gateway, router, dan protokol yang membuat ilusi ini bekerja.

DATA RETRIEVAL PADA SQL

Posted under pemrograman oleh abdulwadud on Selasa 10 April 2012 at 8:41 am

Yang termasuk pada data retrieval pada SQL (Struktur Query Language) adalah select statement. Walaupun banyak sebagian pendapat bahwa select statement masuk pada DML(Data Manipulation Language), namun itu tidak jadi masalah karena yang terpenting adalah fungsi dan tujuan pembelajaran kita. Disini saya akan membahas beberapa jenis select statement, yaitu :

1. Basic select statement
Basic select statement adalah jenis yang paling dasar, yaitu hanya menampilkan data semua atau sebagian dengan tidak menampilkan suatu kondisi pada statement tersebut. Contoh Basic select statement adalah :
 Select * from pegawai;
Artinya adalah menampilkan semua data pada table pegawai.
2. Select dengan kolom alias
Select dengan kolom alias adalah jenis select statement dengan menampilkan kolom yang diinginkan sebagai alias. Jadi nama kolom asal diubah pada saat menampilkan tetapi tida mengubah nama kolom pada table asli. Contoh Select dengan kolom alias adalah :
 Select emp_name as nama_pegawai from pegawai ;
Artinya adalah menampilkan kolom emp_name yang ada pada table pegawai dan nama kolomnya diubah menjadi nama_pegawai.
3. Select dengan klausa where
Select dengan klausa where adalah jenis select statement dengan memberikan kondisi atau membatasi baris yang akan ditampilkan. Contoh Select dengan klausa where adalah :
 Select emp_name from pegawai where nip = 1110023 ;
Artinya adalah menampilkan emp_name dari table pegawai dengan nip = 1110023.
4. Select dengan klausa Order By
Select dengan klausa Order By adalah select statement dengan memberikan pengurutan pada data yang ditampilkan. Pengurutan berupa ascending atau descending. Cntoh Select dengan klausa Order By adalah :
 Select nip, emp_name from pegawai order by nip asc;
Artinya adalah menampilkan emp_name dan nip dari table pegawai diurutkan berdasarkan nip secara ascending.
5. Select dengan fungsi Group
Select dengan fungsi Group adalah select statement dengan mengelompokan data berdasarkan kolom tertentu. Contoh dari Select dengan fungsi Group adalah :
 Select nip, emp_name from pegawai Group by nip ;
Artinya adalah menampilkan emp_name dan nip dari table pegawai di kelompokan berdasarkan nip-nya.

Ini adalah sebagian kecil dari data retrieval ( select statement) yang ada, masih ada lagi beberapa select statement yang lain seperti subquery atau menampuilkan data dari beberapa table. Mungkin akan saya bahas pada penulisan selanjutnya.

RETRIEVING DATA USING THE SQL SELECT STATEMENT AND RESTRICTING AND SORTING DATA

Posted under pemrograman oleh abdulwadud on Selasa 10 April 2012 at 8:38 am

Berikut ini merupakan contoh penggunaan query SQL, semoga berguna…
1. select first_name ||’, ‘|| last_nama name, job_id, salary+salary*commission_pct sal from employees where department_id=80 and salary+salary*commission_pct is not null and (hire_date like ‘%JAN%’ or hire_date like ‘%MAY%’) order by salary+salary*commission_pct
Query ini digunakan untuk menampilkan nama pertama yang digabungkan dengan nama belakang dan diberi nama alias name, id perkerjaan gaji total diberi nama alias sal yang diperoleh dari salary+salary*commission_pct, kemudian data yang ditampilkan hanya yang memilki department_id sama dengan 80 dan total gaji tidak boleh sama dengan null dan hire_date hanya januari atau mei saja, data yang ditampilkan diurutkan berdasarkan gaji total.
2. select location_id,city,state_province||’/’||postal_code “Province/Postal” from locations where country_id like ‘US’
Query ini digunakan untuk menampilkan id lokasi, kota, propinsi dan kode pos yang digabungkan dengan tanda”/” dan diberi nama alias Province/Postal dari table lokasi dimana id Negara mengandung huruf ‘US’.
3. select employee_id “emp#”,first_name||’ ‘||last_name “Fullname”,job_id,salary from employees where department_id NOT IN(10,20,50) order by department_id,salary desc
Query ini digunakan untuk menampilkan id pegawai dengan nama alias emp#, nama pertama digabungkan dengan nama terakhir yang diberi alias Fullname,id pekerjaan, gaji yang diperoleh dari table pegawai dimana id departemen tidak sama dengan 10,20,50. Kemudian diurutkan berdasarkan id depertemen dan apabila ada gaji yang sama maka akan diurutkan berdasarkan gaji secara desending.
4. select distinct region_id from countries order by region_id
Query ini digunakan untuk menampilkan region id dari table region dan diurutkan berdasarkan id region. Distinict digunakan untuk menampilkan satu info saja apabila ada data yang sama persis.
5. select first_name||’ ‘||last_name||’ bekerja dengan posisi ‘||job_id “Detail Karyawan”,hire_date from employees where job_id like’%ST%’ or hire_date like ‘%NOV%’
Query ini digunakan untuk menampilkan nama pertama,terakhir, kemudian diberi kata sisipan yaitu ‘bekerja dengan posisi’ id pekerjaan kemudian diberi sisipan kata lagi ‘Detail Karyawan’ dilanjutkan menampilkan data hire_date dari table pegawai dimana id pekerjaan mengandung kata/huruf ‘ST’ atau pergawai tersebut bekerja mulai bulan November.
6. Query ini menampilkan employee_id, first_name||”|| last_name “Fullname” yang digabungkan dan dbieri nama alias Fullname, salary, email, phone_number, manager_id from employees where &condition order by &order_column. Untuk &condition digunakan untuk memperoleh kondisi dari user dan query &order_column untuk memperoleh data input dari user bahwa data akan diurutkan berdasarkan apa.
7. select employee_id, first_name ||”|| last_name “Fullname”, salary from employees where first_name like’%el%’ or last_name like ‘%el%’order by salary desc

Query ini digunakan untuk menampilkan id pegawai, nama lengkap yang terdiri dari nama depan dan belakang, gaji dari table pegawai dimana nama lengkap tersebut mengandung huruf ‘el’ dan diurutkan berdasarkan gaji secara desending.

Other exsample,
1. select first_name||’ ‘||last_name fullname, phone_number telepon, email||’@ulala.org’ email from employees where department_id in (50,60,90) and hire_date >= ‘01-JAN-87′ and (job_id like ‘%VP%’ or job_id like ‘%PROG%’) order by fullname asc
Query ini digunakan untuk menampilkan nama depan, nama belakang, nomor telepon dan email dari table pegawai yang bekerja pada departemen id 60,50, dan 90 dan karyawan bekerja sejak tahun 1987 dan job_id mengandung huruf ‘VP’ atau ‘PROG’ kemudian diurutkan berdasarkan nama lengkap atau fullname.
2. select employee_id, first_name, last_name, job_id, &&_namaKolom||’+’||&nim  &_namaKolom from employees where &kriteria order by &urut_kolom
Query ini digunakan untuk menampilkan id pagawai, nama depan, nama belakang, job_id, kemudian &&namaKolom digunakan untuk menerima inputan dari user berupa nama kolom yang ingin dimasukkan oleh user, dan &nim merupakan inputan dari user berupa nim dari praktikan dalam kasus ini nim dari praktikan adalah 5260 dari table pegawai. Variabel &kriteria digunakan untuk menentukan data yang ditampilkan sesuai dengan keinginan user dan variable &urut_kolom digunakan untuk menentukan urutan dari data sesuai dengan input dari user juga.
3. select substr(first_name,1,1)||’. ‘||last_name nama, job_id, concat(email,’@uajy.5260.com’) email from employees where length(last_name) > 4 order by employee_id

Query ini digunakan untuk menampilkan inisial nama depan dengan perintahsubstr(first_name,1,1)||’. ‘||last_name nama yang artinya nama depan akan ditampilkan satu karaktrer pertama sebanyak satu karaktek kemudian disambung dengan tanda ‘.’diteruskan dengan nama belakang yang diberi nama alias nama,menampilkan juga id pegawai,email yang diperoleh dari penggabungan email dari pegawai dan @uajy.5260.com dengan fungsi concat dari table pegawai dimana panjang karakter dari nama belakang lebih dari empat karakter dan diurutkan berdasarkan id pegawai

Posted under pemrograman oleh abdulwadud on Senin 9 April 2012 at 7:35 pm

[alias], …}
FROM table;

SELECT : Menampilkan paling tidak satu kolom
DISTINCT : Menghilangkan nilai duplikat
* : Menampilkan semua kolom
column: Menampilkan kolom tertentu
alias: Memberikan judul lain kolom
FROM table: Menunjukkan nama tabel asal

Penulisan Perintah SQL

  • Perintah-perintah SQL dapat ditulis dalam satu baris atau lebih, namun untuk kemudahan sebaiknya setiap klausa ditulis dalam baris yang berbeda
  • Perintah-perintah SQL tidak case-sensitive
  • Gunakan perintah ED untuk mengedit perintah-perintah SQL

SQL> ED;

2.1.1. Menampilkan Seluruh Kolom dan Baris

Menampilkan seluruh kolom dari suatu tabel dapat dilakukan dengan dua cara, yaitu:

  • Menyebutkan seluruh nama kolom

SELECT id, name, region_id
FROM department;

  • Menggunakan tanda bintang (*)

SELECT *
FROM department;

2.1.2. Menampilkan Kolom Tertentu

Menampilkan kolom tertentu dapat dilakukan dengan cara menyebutkan nama kolom yang ingin ditampilkan datanya. Contoh berikut ini menunjukkan bagaimana cara menampilkan kolom tertentu dari tabel Department.

SELECT name
FROM department;

2.2. Operasi Aritmatika

Perhitungan dapat dilakukan pada perintah SQL dengan menggunakan ekspresi aritmatika, yang dapat mengandung nama-nama kolom, nilai-nilai numerik yang teta, dan operator-operator aritmatika.

+ : Penjumlahan
- : Penguranan
* : Perkalian
/ : Pembagian

  • Operator perkalian dan pembagian memiliki prioritas di atas penjumlahan dan pengurangan
  • Operator dengan prioritas yang sama di evaluasi dari kiri ke kanan
  • Tanda kurung dapat digunakan untuk memaksa prioritas evaluasi dan memperjelas perintah

Contoh:

  • Menampilkan nama belakang dan menghitung gaji tahunan karyawan

SELECT last_name, salary*12
FROM employee;

  • Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan di kali dengan 12, ditambah dengan bonus 1.000.000

SELECT last_name, salary, salary*12+1000000
FROM salary;

  • Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan ditambah dengan bonus 1.000.000, di kali dengan 12

SELECT last_name, salary, 12*(salary+1000000)
FROM employee;

2.3. Alias Kolom

SQL*Plus menggunakan nama kolom sebagai judul dalam menampilkan hasil query. Padahal terkadang nama kolom sulit di mengerti atau bahkan tidak memiliki arti. Kita dapat mengubah tampilan judul kolom menggunakan alias (nama lain).

Contoh

Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan di tambah dengan bonus 1.000.000, di kali dengan 12 dan di tampilkan dengan judul GAJI_TAHUNAN.

SELECT last_name, salary, 12*(salary+1000000) AS GAJI_TAHUNAN
FROM employee;

Kita boleh menggunakan AS sebelum alias kolom untuk memenuhi standar ANSI SQL 92.

2.3.1. Alias Kolom dengan Tanda Petik Dua

Jika alias kolom mengandung spasi, karakter khusus seperti # atau $, atau case-sensitive (membedakan huruf besar dan kecil), gunakan tanda petik dua pada alias kolom tersebut.

Contoh

Memodifikasi query sebelumnya, gaji tahunan ditampilkan dengan judul Gaji Tahunan.

SELECT last_name, salary, 12*(salary+1000000) AS “Gaji Tahunan”
FROM employee;

2.4. Operator Penggabungan

Kita dapat menggabungkan satu kolom dengan lainnya, ekspresi aritmatika, atau nilai tetap untuk menciptakan ekspresi karakter menggunakan operator penggabungan (||). Kolom-kolom pada setiap sisi dari operator di kombinasikan untuk menghasilkan satu output kolom tunggal.

Contoh:

Menampilkan nama lengkap karyawan dengan judul Karyawan.

SELECT first_name||last_name AS “Karyawan”
FROM employee;

Menampilkan nama lengkap dan jabatan karyawan dengan judul Karyawan. Dalam contoh ini antara nama depan dan nama belakang di pisahkan spasi, dan antara nama lengkap dan jabatan di pisahkan koma.

SELECT first_name||’ ‘||last_name||’, ‘||title AS “Karyawan”
FROM employee;

2.5. Manajemen Nilai Null

Null adalah nilai yang tidak tersedia, tidak diberikan, tidak diketahui, atau tidak dapat digunakan. Null tidak sama dengan nol atau spasi. Nol adalah angka, dan spasi adalah karakter. Kolom dapat mengandung nilai null, kecuali kolom yang telah didefinisikan sebagai NOT NULL atau PRIMARY KEY ketika tabel diciptakan.

2.5.1. Nilai Null dalam Ekspresi Aritmatika

Jika nilai kolom dalam sebuah ekspresi adalah null, maka hasilnya juga null. Sebagai contoh, jika kita berusaha melakukan pembagian terhadap nol, maka akan terjadi kesalahan. Namun jika kita membagi terhadap null, maka hasilnya adalah null.

Contoh

Menampilkan nama belakang, gaji, jabatan, dan hasil perhitungan komisi.

SELECT last_name, title, salary, salary*commission_pct/100 KOMISI
FROM employee;

2.5.2. Fungsi NVL

Fungsi NVL digunakan untuk mengkonversi nilai null menjadi nilai yang kita kehendaki. Sintaks fungsi NVL adalah sebagai berikut:

NVL (expr1expr2)

expr1: nilai sumber atau ekspresi yang mungkin bernilai null
expr2: nilai target hasil konversi null

Kita dapat menggunakan fungsi NVL untuk mengkonversi tipe data apapun, namun hasilnya akan selalu sama dengan tipe data dari expr1.

Tipe data dan contoh konversi:

  • NUMBER
    • NVL (kolom_angka,9)
  • DATE
    • NVL (kolom_tanggal,’01-JAN-99′)
  • CHAR dan VARCHAR2
    • NVL (kolom_karakter,’Tidak tersedia’)

Contoh:

Berikut ini adalah modifikasi dari query sebelumnya, namun nilai null yang mungkin dihasilkan oleh prosentase komisi dalam hasil perhitungan komisi dikonversi menjadi nol.

SELECT last_name, title, salary, salary*NVL(commission_pct,0)/100 KOMISI
FROM employee;

2.6. Mencegah Tampilnya Nilai Duplikat

Tampilan default dari query adalah seluruh baris termasuk baris-baris duplikat (dobel).

Contoh:

Menampilkan seluruh nama departemen dari tabel DEPARTMENT.

SELECT name
FROM department;

2.6.1. Penggunaan Keyword DISTINCT

Baris-baris duplikat hasil query dapat dikurangi dengan menggunakan keyword DISTINCT dan SELECT.

Contoh:

Menampilkan nama departemen secara unik (tidak ada nilai duplikat).

SELECT DISTINCT name
FROM department;

Menampilkan kombinasi-kombinasi berbeda dari jabatan dan kode departemen.

SELECT DISTINCT title, dept_id
FROM employee;

2.7. Menampilkan Struktur Tabel

Dalam SQL*Plus kita dapat menampilkan struktur dari suatu tabel dengan menggunakan perintah DESCRIBE. Perintah ini menghasilkan nama kolom, tipe data, dan kolom mana yang harus berisi data (NOT NULL).

DESC[RIBE] tablename

tablename: nama dari tabel, view atau synonym yang boleh diakses user

Contoh:

Menampilkan struktur tabel DEPARTMENT.

DESCRIBE department;

atau

DESC department;

Name: nama kolom
Null?: menunjukkan apakah suatu kolom harus berisi data
Type: tipe data dari kolom

2.7.1. Tipe Data

  • NUMBER(p,s)

Digit maksimum p dan s angka dibelakang koma

  • VARCHAR2(s)
  • Tipe data karakter dengan panjang bervariasi (maksimum 2000)
  • CHAR(s)

Tipe data karakter dengan panjang tetap

  • DATE

Tipe data tanggal antara 1 Januari 4217 BC dan 4712 AD

2.8. Menciptakan Laporan

Kita dapat mengontrol format tampilan dari laporan menggunakan perintah COLUMN. Kita dapat mengubah judul, lebar, dan format kolom.

COL [ UMN ] [{ column | alias } [ option . . . ]]

2.8.1. Pilihan-pilihan Perintah COLUMN

  • CLE[AR]
  • FOR[MAT] format
  • HEA[DING] text
  • JUS[TIFY] {align}
  • NUL[L] text
  • PRI[NT]
  • TRU[NCATED]
  • WRA[PPED]
  • WOR[D_WRAPPED]

2.8.2. Menciptakan judul-judul kolom

COLUMN last_name HEADING ‘Nama|Karyawan’ FORMAT A15
COLUMN salary JUSTIFY LEFT FORMAT $99,990.00
COLUMN hire_date FORMAT A9 NULL ‘Tidak digaji’

Menampilkan setting terbaru kolom LAST_NAME

COLUMN last_name

Membersihkan setting kolom LAST_NAME

COLUMN last_name CLEAR

2.8.3. Menampilkan atau Membersihkan Setting

  • COL[UMN] column

Menampilkan setting terkini dari kolom tertentu

  • COL[UMN]

Menampilkan setting terkini dari seluruh kolom

  • COL[UMN] column CLE[AR]

Membersihkan setting dari kolom tertentu

  • CLE[AR] COL[UMN]

Membersihkan setting dari seluruh kolom

2.8.4. Model-model Format COLUMN

  • An

Mengatur lebar tampilan dari kolom-kolom karakter atau tanggal

  • 9

Posisi numerik (jumlah angka 9 menunjukkan maksimal panjang data yang dapat ditampilkan)

Contoh: 999999

Hasil: 1234

  • 0

Menambahkan awalan 0

Contoh: 099999

Hasil: 01234

  • $

Menambahkan awalan $

Contoh: $9999

Hasil: $1234

  • L

Menambahkan simbol local currency

Contoh: L9999

Hasil: L1234

  • .

Menambahkan posisi decimal point

Contoh: 9999.99

Hasil: 1234.00

  • ,

Menambahkan pemisah ribuan

Contoh: 9,999

Hasil: 1,234

2.9. Mengurutkan Data

Kita dapat menampilkan data secara urut berdasarkan satu atau beberapa kolom dengan menambahkan klausa ORDER BY pada perintah SELECT yang telah kita pelajari sebelumnya.

SELECT [DISTINCT] {*, column [alias], . . .}
FROM table
[ORDER BY {column, expr} [ASC|DESC]];

ORDER BY: menentukan dasar urutan data yang akan ditampilkan
ASC: menampilkan data secara urut menaik (ascending). Ini merupakan default pengurutan data
DESC: menampilkan data secara urut menurun (descending)

2.9.1. Default Pengurutan Data

Apabila kita tidak menuliskan klausa ASC atau DESC dalam klausa ORDER BY, maka proses pengurutan dilakukan secara ascending (default). Berikut ini hal-hal yang perlu diketahui mengenai pengurutan data.

  • Nilai-nilai numerik ditampilkan dengan nilai terkecil terlebih dahulu, contoh 1-999
  • Nilai-nilai tanggal ditampilkan dengan nilai paling awal terlebih dahulu, contoh 01-JAN-92 sebelum 01-JAN-95
  • Nilai-nilai karakter ditampilkan secara alphabet, contoh A pertama dan Z terakhir
  • Nilai-nilai null ditampilkan terakhir dalam urutan ascending dan pertama dalam urutan descending

Contoh:

Menampilkan data karyawan urut berdasarkan nama belakang.

SELECT last_name, dept_id, hire_date
FROM employee
ORDER BY last_name;

Contoh diatas dapat dimodifikasi sehingga urut berdasarkan nama belakang secara menurun (descending) dengan menambahkan klausa DESC.

SELECT last_name, dept_id, hire_date
FROM employee
ORDER BY last_name DESC;

2.9.2. Mengurutkan Data Menggunakan Alias Kolom

Kita dapat menggunakan alias kolom dalam klausa ORDER BY. Fitur ini tersedia sejak Oracle 7 Release 7.0.16.

Contoh

Menampilkan data karyawan urut berdasarkan nama belakang.

SELECT last_name EMPLOYEE, hire_date
FROM employee
ORDER BY EMPLOYEE DESC;

2.9.3. Mengurutkan Data Berdasarkan Posisi Kolom

Metode lain untuk mengurutkan data adalah berdasarkan posisi kolom. Hal ini khususnya berguna jika mengurutkan berdasarkan ekspresi yang panjang. Daripada harus mengetikkan ekspresi yang panjang, kita dapat menentukan posisi kolom dalam SELECT.

Contoh:

Menampilkan data karyawan urut berdasarkan gaji tahunan.

SELECT last_name, salary*12
FROM employee
ORDER BY 2;

2.9.4. Mengurutkan Data Berdasarkan Beberapa Kolom

Kita dapat mengurutkan hasil query berdasarkan beberapa kolom. Batasannya adalah jumlah kolom dalam tabel.

Contoh

Menampilkan data karyawan urut secara menaik (ascending) berdasarkan kode departemen, kemudian urut secara menurun (descending) berdasarkan gaji.

SELECT last_name, salary
FROM employee
ORDER BY dept_id, gaji DESC;

2.10. Latihan

Tampilkan seluruh tabel yang Anda miliki.

SELECT table_name
FROM user_tables;

Tampilkan struktur tabel DEPARTMENT.

DESCRIBE department;

Tampilkan semua data tabel DEPARTMENT.

SELECT *
FROM department;

Tampilkan nama belakang pegawai, kode departemen dimana pegawai tersebut bekerja, dan kode atasan pegawai tersebut.

SELECT last_name, dept_id, manager_id
FROM employee;

Tampilkan nama belakang, gaji tahunan dan prosentase komisi yang diterima oleh masing-masing pegawai.

SELECT last_name, salary*12, commission_pct
FROM employee;

Tampilkan nama belakang, gaji bulanan dan kompensasi tahunan pegawai. Hitunglah kompensasi tahunan dengan mengalikan gaji bulanan dengan 12, ditambah dengan bonus sebesar $100.

SELECT last_name, salary, 12*salary+100
FROM employee;

Tampilkan nama belakang, gaji bulanan dan kompensasi tahunan pegawai. Hitunglah kompensasi tahunan dengan menambahkan gaji bulanan dengan $100, kemudian dikalikan dengan 12.

SELECT last_name, salary, 12*(salary+100)
FROM employee;

Tampilkan kembali perintah diatas, namun khusus untuk kompensasi tahunan pegawai, ganti judul kolom dengan ANNUAL_SALARY.

SELECT last_name, salary, 12 * (salary + 100) AS ANNUAL_SALARY
FROM employee;

Tampilkan sekali lagi perintah diatas, namun khusus untuk kompensasi tahunan pegawai, ganti judul kolom dengan Annual Salary.

SELECT last_name, salary, 12 * (salary + 100) AS “Annual Salary”
FROM employee;

Tampilkan nama lengkap pegawai dengan judul Employees.

SELECT first_name | | last_name AS “Employees”
FROM employee;

Tampilkan nama lengkap dan jabatan pegawai dengan judul Employees. Diantara nama depan dan nama belakang pisahkan dengan spasi, dan diantara nama belakang dengan jabatan pisahkan dengan koma.

SELECT first_name | | ‘ ‘ | | last_name | | ‘, ‘ | | title “Employees”
FROM employee;

Tampilkan nama belakang, jabatan dan komisi bulanan pegawai. Hitung komisi pegawai dengan mengalikan gaji bulanan dengan prosentase komisi, kemudian beri judul COMM.

SELECT last_name, title, salary * commission_pct / 100 COMM
FROM employee;

Tampilkan kembali soal diatas, dengan ketentuan bahwa data komisi bulanan pegawai yang tadinya kosong (tidak ada nilainya) dirubah menjadi angka 0.

SELECT last_name, title, salary * NVL(commission_pct,0) / 100 COMM
FROM employee;

Tampilkan nama departemen dari tabel S_DEPT. Perhatikan bahwa terdapat beberapa data yang memiliki nilai sama.

SELECT name
FROM department;

Tampilkan kembali soal diatas dengan ketentuan data yang memiliki nilai sama cukup ditampilkan cukup satu kali saja.

SELECT DISTINCT name
FROM department;

Tampilkan kombinasi yang berbeda antara jabatan pegawai dan kode departemen dimana pegawai tersebut bekerja.

SELECT DISTINCT title, dept_id
FROM department;

Tampilkan nama belakang, gaji bulanan dan keterangan pegawai. Perhatikan bentuk tampilannya.

SELECT last_name, salary, comments
FROM employee;

Tampilkan kembali nama belakang , gaji bulanan dan keterangan pegawai. Judul untuk nama belakang adalah Employee Name, dengan ketentuan bahwa judul tersebut terdiri dari dua baris, baris pertama Employee dan baris kedua Name dengan panjang data maksimal 15 karakter. Sedangkan gaji bulanan pegawai memiliki format $99,999.00. Untuk keterangan yang kosong diganti dengan ‘No comment’ dengan panjang data maksimal 15 karakter.

COLUMN last_name HEADING ‘Employee|Name’ FORMAT A15
COLUMN salary FORMAT $99,999.00
COLUMN comments FORMAT A15 NULL ‘No comment’

SELECT last_name, salary, comments
FROM employee;

Tampilkan kembali soal diatas, dengan ketentuan data ditampilkan dengan format asli seperti sebelum diberikan perintah format column.

COLUMN last_name CLEAR;
COLUMN salary CLEAR;
COLUMN comments CLEAR;

SELECT last_name, salary, comments
FROM employee;

Silahkan melanjutkan membaca pembahasan Menampilkan Data Tertentu

Catatan:
Untuk mempraktekkan artikel-artikel mengenai Oracle SQL & PL/SQL Anda dapat mendownload script table disini, lalu jalankan sesuai live demo
(browser Anda harus mendukung Flash Player).

http://www.hastinapura.com/menampilkan-data.html

SQL

Posted under pemrograman oleh abdulwadud on Senin 9 April 2012 at 7:23 pm

SQL ( edd que el) digunakan untuk berkomunikasi dengan suatu database, berdasarkan ANSI (American National Standards Institute ), SQL merupakan bahasa setandar untuk relational database Management System (DBMS) pernyataan-pernyataan SQl digunakan untuk melakukan fungsi-fungsi seperti : Update data pada database, atau pengambilan data dari Database.

Beberapa Relational DBMS yang menggunakan SQl adalah: Oracle,Sybase. Microsoft SQL Server, Acces, igres, mySQl Postgre, dan masih banyak lagi. Meskipun hampir semua  DBMS menggunakan SQL banyak DBMS yang memiliki tambahan kemampuan dalam SQL nyadan biasanya digunakan Khusus untuk DBMS tersebut.

beberapa versi SQl adalah: SQL1 atau dikenal dengan SQL-86, SQL2 atau SQL-92 dan SQl 3 Yang dikenal dengan SQL-99, Java telah mendukung versi SQl hi

Katagori Pernyataan SQL

Perintah – perintah dalam lingkungan databases adalah :

SELECT
Pernyataan SELECT digunakan untuk query database tentang informasi database yang mana yang ditampilkan sebagai data. Format dasar dari pernyataan SELECT adalah :

SELECT kolom FROM namatabel where kondisi

Pernyataan SQL SELECT dimulai dengan kata kunci SELECT, diikuti oleh tanda koma dari kolom-kolom yang akan ditampilkan, kemudian clause FORM yang menentukan tabel yang berisi data yang akan ditampilkan. Secara bebas, clause WHERE dapat ditambahkan pada pernyataan SELECT, menjelaskan sebuah set dari kondisi yang harus ditemukan oleh data yang akan dikembalikan oleh database. Clause WHERE tidak dipisahkan oleh koma; melainkan, diatehubung oleh pernyataan AND atau OR yang fungsinya sama dengan logik mereka.
Menetapkan * sebagai nama kolom memberitahu database server untuk meretrieve semua kolom yang tersedia didalam tabel.
Contoh, jika kita ingin meretrieve semua data yang terdapat pada table yang bernama
users :
SELECT * from users;
Jika kita hanya ingin melihat untuk users yang bernama belakang Smith, pernyataan SQL-nya berupa:
SELECT * from users where nama =’Smith’;
SQL tidak bersifat case-sensitive pada kata kuncinya, SQL case-sensitive pada nilainya. Pernyataan berikut ini akan menghasilkan data yang berbeda jika dibandingkan dengan pernyataan diatas:
SELECT * from users where nama =’sMith’;
Operator lain yang dapat digunakan pada conditional statements:
• < – kurang dari
• <= – kurang dari atau sama dengan
• > – lebih besar dari
• >= – lebih besar dari atau sama dengan
• like – sama dengan
SQL dan JDBC 1

INSERT
Pernyataan INSERT digunakan untuk memasukkan baris data yang baru dari informasi tabel database yang aktif. Struktur dasar dari pernyataan INSERT adalah :
INSERT INTO nama-tabel VALUES(nilai1, nilai2, …)
Dimana nama-tabel adalah nama dari tabel yang akan berisi baris data yang baru. Parameter yang diberikan didalam kata kunci VALUES adalah daftar data dari nilai yang akan ditambahkan kedalam tabel. Jika seperti ini dimana hanya tabel yang ditetapkan, SQL akan memasukkan nilai yang diberikan pada pernyataan dengan field didalam database berdasarkan nilai yang dipesan dan field yang ditentukan pada tabel database.Jika, sebagai contoh, kita mempunyai tabel dengan nama users, dengan field userid, nama,alamat(pada pemesanan), pada baris berikut ini akan menambahkan data yang baru ke tabel:
INSERT INTO users VALUES(199700651, ‘Jeni Master’, ‘UP Ayala Technopark’);
Penting untuk diingat bahwa semua panggilan untuk INSERT harus diikuti aturan integritas pada tabel data. Oleh karena itu, jika sebuah field pada database ditetapkan non-null,berbagai usaha untuk memasukkan ni;ai-null kedalam field tersebut akan menyebabkan error pada database.

UPDATE
Pernyataan UPDATE akan mengupdate baris yang dipilih pada tabel, sebagai lawan dari pernyataan INSERT yang menambahkan baris data baru. Format dasar pernyataan UPDATE adalah:
UPDATE nama-tabel set nilai-kolom WHERE kondisi
Dimana nama-tabel adalah nama dari tabel yang berisi baris yang akan diupdate, dan nilai-kolom adalah daftar data dari nama kolom dan nilainya. Secara bebas, daftar data dari kondisi dapat ditambahkan secara spesifik dengan baris yang akan dimodofikasi pada tabel. Jika tidak diber kondisi, maka update data akan dilakukan pada tiap-tiap baris didalam tabel yang ditentukan.Berbagai update harus disesuaikan dengan aturan integritas pada database. Sebagai contoh, menyetting nilai null pada kolom yang sudah ditetapkan dengan nilai NOT NULL akan menyebabkan pernyataan tidak akan dijalankan dan terdapat pesan error pada relasi database.

DELETE
Pernyataan DELETE menghapus baris data pada tabel yang dipilih.
Struktur dasar dari pernyataan DELETE adalah :
DELETE FROM nama-tabel WHERE kondisi
Dimana nama-tabel adalah nama dari tabel yang berisi baris data yang akan dihapus. Daftar data dari kondisi secara bebas dapat dispesifikasikan sebaik mungkin. Jika tidak diberi kondisi, maka pernyataan akan mneghapus semua baris data pada tabel yang telah ditentukan

http://ryn247.wordpress.com/2011/07/11/sql-structure-query-language/

RESTRICTING AND SORTING DATA

Posted under Uncategorized, pemrograman oleh abdulwadud on Senin 9 April 2012 at 7:15 pm

Dalam suatu organisasi, informasi adalah hal yang terpenting dimana dengan informasi suatu organisasi dapat memperhitungkan masa depan atau merancang strategi ke depan. Informasi terdiri dari beberapa data dan data tersebut tersususn dalam suatu tabel.
Jika data pada tabel tidak terlalu banyak mungkin tidak ada masalah, tetapi jika data pada tabel sangat banyak maka harus meningkatkan ketelitian dalam menampilkan data. Sebagai contohnya jika ingin menampilkan beberapa data tidak perlu menampilakan keseluruhan data. Pada modul 2 ini membahas tentang restricting and sorting data atau dalam bahasa Indonesia adalah pembatasan dan pengurutan data.
Hal tersebut sangat penting dalam dalam pengolahan data pada database oracle 10g. Dalam modul ini saya menggunakan sql plus untuk menerapkan restcicting dan sorting data.
Dalam tugas pendahuluan ini ada juga beberapa contoh restricting dan sorting data dengan menggunakan query language dengan database oracle 10g Enterprise Edition.
Restricting data adalah penyederhanaan data seperti Where, Where between, where like, dan lain-lain. Jika data tersebut tidak ditampilkan secara restricting maka query yang dijalankan akan menampilakan keseluruhan tabel dan akan mempersulit dalam pencarian data.
Sedangkan sorting adalah pengurutan data dari yang besar ke yang kecil atau dari yang kecil ke yang besar.
Membatasi Baris-Baris yang Dipilih
Anda bisa membatasi baris-baris yang dihasilkan dari query dengan menggunakan klausa WHERE. Suatu klausa WHERE berisi suatu kondisi yang harus terpenuhi, dan tepat setelah klausa FROM. Jika kondisinya benar, baris yang memenuhi kondisi dikembalikan. Dalam sintak: WHERE membatasi query ke barisbaris yang memenuhi kondisi condition susunan namanama kolom, ekspresiekspresi,
Konstanta-konstanta dan operator pembanding Klausa WHERE dapat membandingkan nilai-nilai dalam kolom-kolom, nilai-nilai
literal, ekspresiekspresi aritmatika atau fungsifungsi (functions).

Klausa WHERE terdiri dari 3 bagian :
 Nama kolom
 Kondisi pembanding
 Nama kolom, konstanta atau daftar nilainilai

Karakter-Karakter String dan Tanggal
Karakter-karakter string (rangkaian) dan tanggal dalam klausa WHERE harus diapit dengan tanda petik satu (’ ’). Meskipun demikian, konstanta angka tidak harus diapit oleh tanda petik satu. Semua pencarian karakter adalah casesensitive. Dalam contoh berikut, tidak ada barisbaris yang dihasilkan karena tabel EMPLOYEES menyimpan semua nama belakang dalam bentuk campuran (mixed case):
SELECT last_name, job_id, departement_id
FROM employees
WHERE last_name = ‘WHALEN’;
Database Oracle menyimpan tanggal dengan format angka sendiri, yang menunjukkan abad, tahun, bulan, hari, jam, menit dan detik. Default tanggal yang ditampilkan adalah DDMONRR.
Catatan : :Lebih rinci tentang format RR dan tentang merubah default format tanggal

user HR

Posted under pemrograman oleh abdulwadud on Senin 9 April 2012 at 12:30 pm
Soal:
1. Masuk ke user tertinggi di Oracle/ Sys!
2. Buka user hr! (print screen)
3. Koneksikan ke user hr!
4. Tampilkan ke seluruh isi tabel yang ada di user hr! (print screen)
5. Tampilkan deskripsi dari tabel employees!
6. Tampilkan seluruh data pegawai dengan employee - id = 200! (print screen)
7. Tampilkan seluruh data pegawai dengan ubah jadi huruf besar semua!
1. Masuk ke user tertinggi!
Pertama, login ke Run SQL. Misalnya pada komputer saya, conn sys/oracle as sysdba;
Di sini yang menjadi user tertinggi adalah Sys dan diikuti sysdba;
Kemudian kedua yaitu system.
Dan ketiganya HR atau Human Resources.
Sudah masuk ke account saya. Dan di sini tugasnya yaitu masuk ke user tertinggi misalnya  HR (Human Resources).
2. Buka user hr!
3. Koneksikan ke user hr!

Caranya, kembali konek ke username oracle saya conn system/oracle; kemudian ketikkan conn hr/hr;
Maka kita telah masuk ke dalam user tertinggi atau HR.
Atau dengan cara ketikkan alter user hr identified by hr account unlock;
4. Tampilkan seluruh isi tabel pada user hr!
Setelah tersambung dengan akun hr, atau user tertinggi, ketikan select * from tab; untuk melihat seluruh tabel yang terdapat di dalamnya.
5. Tampilkan deskripsi dari tabel employees!
Deskripsi digunakan untuk melihat kolom apa saja yang terdapat pada tabel employees. Ketikan desc employees;
6. Tampilkan seluruh data pegawai dengan employee - id = 200! (print screen)
Menampilkan data pegawai yang memiliki nomer identitas 200 dari tabel pegawai. Dengan cara select first_name, last_name from employees where employee_id = ‘200′;

7. Tampilkan seluruh data pegawai dengan ubah jadi huruf besar semua!
Menampilkan data, misalnya nama pada tabel pegawai dengan menggunakan huruf besar atau kapital. Dengan select upper (first_name) from employees;
Halaman Berikutnya »