Senin, 24 Desember 2012

Pengenalan Linux Debian

Debian adalah sistem operasi berbasis kernel Linux. Debian termasuk salah satu sistem operasi Linux yang bebas untuk dipergunakan dengan menggunakan lisensi GNU. Debian adalah ‘kernel independen’, yaitu sistem operasi Debian dikembangkan murni tanpa mendasarkan pada sistem operasi yang telah ada.

Sejarah

Debian pertama kali diperkenalkan oleh Ian Murdoch, seorang mahasiswa dari Universitas Purdue, Amerika Serikat, pada tanggal 16 Agustus 1993, Nama Debian berasal dari kombinasi nama mantan-kekasihnya Debra dan namanya Ian.
Pada awalnya, Ian memulainya dengan memodifikasi distribusi SLS (Softlanding Linux System). Namun, ia tidak puas dengan SLS yang telah dimodifikasi olehnya sehingga ia berpendapat bahwa lebih baik membangun sistem (distribusi Linux) dari nol (Dalam hal ini, Patrick Volkerding juga berusaha memodifikasi SLS. Ia berhasil dan distribusinya dikenal sebagai “Slackware”).
Proyek Debian tumbuh lambat pada awalnya dan merilis versi 0.9x di tahun 1994 dan 1995. Pengalihan arsitektur ke selain i386 dimulai ditahun 1995. Versi 1.x dimulai tahun 1996.
Ditahun 1996, Bruce Perens menggantikan Ian Murdoch sebagai Pemimpin Proyek. Dalam tahun yang sama pengembang debian Ean Schuessler, berinisiatif untuk membentuk Debian Social Contract dan Debian Free Software Guidelines, memberikan standar dasar komitmen untuk pengembangan distribusi debian. Dia juga membentuk organisasi “Software in Public Interest” untuk menaungi debian secara legal dan hukum.
Di akhir tahun 2000, proyek debian melakukan perubahan dalam archive dan managemen rilis. Serta di tahun yang sama para pengembang memulai konferensi dan workshop tahunan “debconf”.
Di April 8, 2007, Debian GNU/Linux 4.0 dirilis dengan nama kode “Etch”. Rilis versi terbaru Debian, 2009, diberi nama kode “Lenny”.
Kalo Setelah baca artikel ni, sobat2 pengen Instal Debian (Khususnya Debian 4) download aja tutorial Instalasi di blog ini.

Mengenal Linux

Dasar-dasar Linux

Linux terinspirasi oleh sistem operasi Unix yang pertama kali muncul pada tahun 1969, dan terus digunakan dan dikembangkan sejak itu. Banyak dari konvensi disain untuk Unix juga ada pada Linux, dan adalah bagian penting untuk memahami dasar-dasar dari sistem Linux.
Orientasi utama dari Unix adalah penggunaan antarmuka baris perintah, dan warisan ini ikut terbawa ke Linux. Jadi antarmuka pengguna berbasis grafik dengan jendela, ikon dan menunya dibangun di atas dasar antarmuka baris perintah. Lagipula, hal ini berarti bahwa sistem berkas Linux tersusun agar dapat dengan mudah dikelola dan diakses melalui baris perintah.

Direktori dan Sistem Berkas

Sistem berkas Linux dan Unix diorganisir dalam struktur hirarki, seperti pohon. Level tertinggi dari sistem berkas adalah / atau direktori root. Dalam filosofi disain Unix dan Linux, semua dianggap sebagai berkas, termasuk hard disks, partisi dan removable media. Ini berarti bahwa semua berkas dan direktori (termasuk cakram dan partisi lain) ada di bawah direktori root.
Sebagai contoh, /home/jebediah/cheeses.odt menampilkan alur (path) ke berkas cheeses.odt yang ada di dalam direktori jebediah yang mana ada di bawah direktori home, yang berada di bawah direktori root (/).
Di bawah direktori root (/), ada beberapa kumpulan direktori sistem penting yang umum digunakan oleh banyak distribusi Linux lainnya. Di bawah ini adalah daftar dari direktori umum yang berada tepat di bawah direktori root (/) :
  • /bin - aplikasi biner penting
  • /boot - lokasi berkas konfigurasi untuk boot.
  • /dev - berkas peranti (device)
  • /etc - berkas konfigurasi, skrip startup, dll (etc)...
  • /home - direktori pangkal (home) untuk pengguna
  • /lib - libraries yang diperlukan oleh sistem
  • /lost+found - menyediakan sistem lost+found untuk berkas yang berada dibawah direktori root (/)
  • /media - mount (memuat) removable media seperti CD-ROM, kamera digital, dll...
  • /mnt - untuk me-mount sistem berkas
  • /opt - tempat lokasi untuk menginstal aplikasi tambahan (optional)
  • /proc - direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses-proses (processes) yang sedang berjalan
  • /root - direktori pangkal untuk root, diucapkan 'slash-root'
  • /sbin - sistem biner penting
  • /sys - mengandung informasi mengenai system
  • /tmp - berkas sementara (temporary)
  • /usr - tempat aplikasi dan berkas yang sering digunakan oleh pengguna (users)
  • /var - berkas variabel seperti log dan database

 

Hak Akses

Semua berkas dalam sistem Linux mempunyai hak akses yang dapat mengizinkan atau mencegah orang lain dari menilik, mengubah atau mengeksekusi. Pengguna super "root" mempunyai kemampuan untuk mengakses setiap berkas dalam sistem. Setiap berkas memiliki pembatasan akses, pembatasan pengguna, dan memiliki asosiasi pemilik/grup.
Setiap berkas dilindungi oleh tiga lapis hak akses berikut ini:
  • pengguna
    berlaku bagi pengguna yang adalah pemilik dari suatu berkas
  • grup
    berlaku bagi grup yang berhubungan dengan suatu berkas
  • lainnya
    berlaku bagi semua pengguna lainnya
Di dalam setiap dari tiga setelan hak izin ada hak izin sesungguhnya. Hak izin, dan cara penggunaannya untuk berkas dan direktori, diuraikan dibawah ini:
  • baca
    berkas dapat ditampilkan/dibuka
    isi direktori dari ditampilkan
  • tulis
    berkas dapat disunting atau dihapus
    isi direktori dari dimodifikasi
  • eksekusi
    berkas eksekusi dapat dijalankan sebagai program
    direktori dapat dimasuki
Untuk menilik dan menyunting hak izin pada berkas dan direktori, buka Applications->Accessories->Home Folder dan klik kanan di berkas atau direktori. Kemudian pilih Properties. Info hak izin ada di tab Permissions dan Anda dapat mengubah seluruh level hak izin, apabila Anda adalah pemilik dari berkas tersebut.
Untuk mempelajari lebih lanjut mengenai hak izin berkas di Linux, baca halaman hak izin berkas di Wiki Ubuntu.

Terminal

Bekerja dengan baris perintah tidaklah tugas yang menakutkan seperti yang Anda pikir sebelumnya. Tidak dibutuhkan pengetahuan khusus untuk mengetahui bagaimana menggunakan baris perintah, ini adalah program seperti yang lainnya. Semua tugas di Linux dapat diselesaikan menggunakan baris perintah, walaupun telah ada alat berbasis grafik untuk semua program, tetapi kadang-kadang itu semua tidak cukup. Disinilah baris perintah akan membantu Anda.
Terminal berada di Applications->Terminal . Terminal sering disebut command prompt atau shell. Di masa lalu, hal ini adalah cara pengguna untuk berinteraksi dengan komputer, dan para pengguna Linux berpendapat bahwa penggunaan perintah melalui shell akan lebih cepat dibanding melalui aplikasi berbasis grafik dan hal ini masih berlaku sampai sekarang. Disini Anda akan mempelajari bagaimana menggunakan terminal.
Kegunaan awal dari terminal adalah sebagai peramban (browser) berkas dan kenyataannya saat ini masih digunakan sebagai peramban berkas, di saat lingkungan berbasis grafik tidak tersedia. Anda dapat menggunakan terminal sebagai peramban berkas untuk melihat berkas dan membatalkan perubahan yang telah dibuat.

Perintah Umum

Menilik Direktori - ls
Perintah ls (LiSt) melihat daftar berkas dalam suatu direktori.
Membuat Direktori: - mkdir (nama direktori)
Perintah mkdir (MaKeDIRectory) untuk membuat direktori.
Mengubah Direktori: - cd (/direktori/lokasi)
Perintah cd perintah (ChangeDirectory) akan mengubah dari direktori Anda saat ini ke direktori yang Anda tentukan.
Menyalin Berkas/Direktori: - cp (nama berkas atau direktori) (ke direktori atau nama berkas)
Perintah cp (CoPy) akan menyalin setiap berkas yang Anda tentukan. Perintah cp -r akan menyalin setiap direktori yang Anda tentukan.
Menghapus Berkas/Direktori: - rm (nama berkas atau direktori)
Perintah rm perintah (ReMove) akan menghapus setiap berkas yang Anda tentukan. Perintah rm -rf akan menghapus setiap direktori yang Anda tentukan.
Ganti Name Berkas/Direktori - mv (nama berkas atau direktori)
Perintah mv (MoVe) akan mengganti nama/memindahkan setiap berkas atau direktori yang Anda tentukan.
Mencari Berkas/Direktori: - mv (nama berkas atau direktori)
Perintah locate akan setiap nama berkas yang anda tentukan yang ada di dalam komputer. Perintah ini menggunakan indeks dari berkas dalam sistem Anda untuk bekerja dengan cepat: untuk memutakhirkan indeks ini jalankan perintah updatedb. Perintah ini berjalan otomatis setiap hari, apabila komputer Anda nyala terus setiap hari. Dan perintah ini harus dijalankan dengan hak istimewa administratif (lihat “Root Dan Sudo”).
Anda juga dapat menggunakan wildcard untuk mencocokkan satu atau lebih berkas, seperti "*" (untuk semua berkas) atau "?" (untuk mencocokkan satu karakter).
Untuk pengenalan lebih lanjut mengenai baris perintah Linux, silakan baca pengenalan baris perintah di wiki Ubuntu.

Penyuntingan Teks

Semua konfigurasi dan setelan di Linux tersimpan di dalam berkas teks. Walaupun biasanya Anda menyunting konfigurasi ini melalui antarmuka berbasis grafik, sesekali mungkin Anda harus menyuntingnya secara manual. Geditadalah editor teks baku di Ubuntu, yang dapat Anda luncurkan dengan mengeklik Applications->Accessories->Mousepad di sistem menu desktop.
Anda juga dapat menjalankan Mousepad lewat baris perintah menggunakan gksudo, yang akan menjalankan Mousepad dengan hak akses administratif, dalam rangka untuk mengubah berkas konfigurasi.
Jika Anda ingin menggunakan editor teks dari baris perintah, Anda dapat menggunakan nano, editor teks sederhana yang mudah dipakai. Saat menjalankannya dari baris perintah, selalu gunakan perintah berikut, untuk memastikan editor tidak memasukkan jeda baris:

nano -w
        
Untuk informasi lebih lanjut bagaimana menggunakan nano, silakan lihat panduan di wiki.
Selain ini ada juga beberapa editor berbasis terminal yang tersedia di Ubuntu, paling populer adalah seperti VIM dan Emacs. Aplikasi ini lebih kompleks untuk digunakan dibandingkan nano, akan tetapi lebih handal.

Root Dan Sudo

Pengguna root di GNU/Linux adalah pengguna yang mempunyai akses administratif untuk mengelola sistem. Pengguna biasa tidak mempunyai akses ini karena alasan keamanan. Akan tetapi, Kubuntu tidak menyertakan pengguna root. Malahan, akses pengelolaan diberikan kepada pengguna individu, yang dapat menggunakan aplikasi "sudo" untuk melakukan tugas pengelolaan. Akun pengguna pertama yang Anda buat pada sistem saat instalasi akan, dengan baku, mempunyai akses ke sudo. Anda dapat membatasi atau mengaktifkan akses sudo ke pengguna lain dengan aplikasi Users and Groups (lihat “Mengelola Pengguna dan Grup” untuk informasi lebih lanjut).
Ketika Anda menjalankan aplikasi yang membutuhkan hak akses root, sudo akan menanyakan Anda untuk memasukkan kata sandi pengguna normal. Hal ini untuk memastikan agar aplikasi berbahaya tidak merusak sistem Anda, dan berfungsi sebagai pengingat bahwa Anda sedang melakukan tugas administratif sistem yang mengharuskan Anda agar berhati-hati!
Untuk menggunakan sudo pada baris perintah, cukup ketik "sudo" sebelum perintah yang Anda ingin jalankan. Sudo kemudian akan menanyakan kata sandi.
Sudo akan mengingat kata sandi Anda untuk waktu yang telah ditentukan sebelumnya (bakunya 15 menit). Fitur ini didisain untuk mengizinkan pengguna melakukan multitugas administratif tanpa harus menanyakan kata sandi setiap waktu.
[Catatan]
Harap berhati-hati ketika melakukan tugas administratif -- sebab dapat merusak sistem Anda!
Beberapa tips lain untuk menggunakan sudo:
  • Untuk menggunakan terminal "root", ketik "sudo -i" pada baris perintah.
  • Seluruh grup perkakas konfigurasi berbasis grafik dalam Ubuntu sudah menggunakan sudo, jadi Anda akan ditanyakan kata sandi jika dibutuhkan.
  • Ketika menjalankan perkakas berbasis grafis dengan "sudo", cobalah jalankan dengan "gksudo". Perintah ini akan membuka window kecil yang akan menanyakan kata sandi pengguna. "gksudo" sangat berguna jika Anda ingin men-setup launcher untuk Synaptic di panel Anda, atau aplikasi lainnya.
  • Untuk informasi mengenai program sudo dan penjelasan tentang tidak adanya pengguna root di Ubuntu, silakan baca halaman sudo di wiki Ubuntui.

Bantuan Lebih Lanjut

Banyak sekali informasi mengenai Linux yang tersedia di Internet. Untuk memulai, silakan lihat tutorial bagus mengenai Getting Started with Linux.

Sabtu, 22 Desember 2012

Mengenal Apa Itu IP Address Dan Subnetting

IP Address & Subnetting

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 adalah 202.93.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



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

C++ Array


PENDAHULUAN

-  Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe data tertentu.
-    Misalnya :

int a1, a2, a3, a4, a5;

Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masing- masing variabel diberi nama a1, a2, a3, a4, dan a5.
-   Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita proses tidak kita ketahui atau bersifat dinamis?   Kita tidak mungkin menggunakan variabel seperti diatas.
-  Di dalam C dan pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan data-data yang bertipe data sama dengan suatu nama tertentu.


DEFINISI ARRAY

-  Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
-  Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.
-    Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

-    Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda.





- Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu

- Pengaksesan  elemen  array  dapat  dilakukan  berurutan  atau  random  berdasarkan indeks tertentu secara langsung.
-  Pengisian  dan  pengambilan  nilai  pada  indeks  tertentu  dapat  dilakukan  dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
-  Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum.  Hal ini merupakan tanggung jawab programmer.   Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.
  

DEKLARASI ARRAY 1 DIMENSI

tipe_data nama_var_array[ukuran];

tipe_data                 : menyatakan jenis tipe data elemen larik (int, char, float, dll)

nama_var_array       : menyatakan nama variabel yang dipakai. 
ukuran     : menunjukkan jumlah maksimal elemen larik.


Contoh:







char huruf[9]:     
berarti akan memesan tempat di memori komputer sebanyak 9 tempat dengan 
indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya.  Kalau  
satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte.

int umur[10]:    
berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan 
indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya.  Kalau  
satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 20 
bytes.

int kondisi[2]: 
  
berarti akan memesan tempat di memori komputer sebanyak 2 tempat dengan  
indeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan  pada  
contoh  di  atas  isi  elemen-elemennya  yang
 
int arr_dinamis[]:

sebanyak  2  buah  diisi  sekaligus  (diinisialisasi)  yaitu  pada  elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1. berarti  mendeklarasikan  array  dengan  ukuran  maksimum  array  tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3.. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.
  
PENJELASAN ARRAY 1 DIMENSI

 -    Tanda [ ] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.

-   Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.

BERBAGAI CONTOH ARRAY 1 DIMENSI

Contoh 1 (variabel array dan variabelbiasa)

Bagaimana jika kita ingin menghitung total dari variabel biasa?


total = x1 + x2 + x3 + x4 + x5;




ARRAY DIMENSI DUA


-    Sering kali digambarkan/dianalogikan sebagai sebuah matriks.

     -     Jika  array  berdimensi  satu  hanya  terdiri  dari  1  baris  dan  banyak  kolom,     array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama 

ILUSTRASI ARRAY 2 DIMENSI
  
Gambar array berdimensi (baris x kolom = 3 x 4):

 

DEKLARASI BENTUK UMUM ARRAY 2 DIMENSI

  
tipe_data nama_var_array[batas_baris][batas_kolom];

Contoh:

int matriks[3][4];

int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };