#include <iostream.h>
#include <conio.h>
void main()
{
int Tugas ,Quis ,UTS ,UAS ,Rata_Rata ;
cout<<"Masukkan Nilai Tugas : ";
cin>>Tugas;
cout<<"Masukkan Nilai Quis : ";
cin>>Quis;
cout<<"Masukkan Nilai UTS : ";
cin>>UTS;
cout<<"Masukkan Nilai UAS : ";
cin>>UAS;
Rata_Rata = (Tugas + Quis + UTS + UAS)/4;
cout<<"---------------------------------------"<<endl;
cout<<"Nilai Rata_Rata : "<<Rata_Rata<<endl;
getch();
}
My Name is Oka Antara
Rabu, 02 Januari 2013
C++ Menentukkan Nilai Max Min Jumlah Rata-Rata Menggukan Array
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int bil, sisa;
cout<<"Masukkan sebuah bilangan :";
cin>>bil;
sisa = bil % 2;
if (sisa ==0)
cout<<bil<<" adalah bilangan genap"<<endl;
else
cout<<bil<<" adalah bilangan ganjil"<<endl;
getch();
}
#include <conio.h>
void main()
{
clrscr();
int bil, sisa;
cout<<"Masukkan sebuah bilangan :";
cin>>bil;
sisa = bil % 2;
if (sisa ==0)
cout<<bil<<" adalah bilangan genap"<<endl;
else
cout<<bil<<" adalah bilangan ganjil"<<endl;
getch();
}
C ++ Menggabungkan Antara Tipe data dan nilai
#include <iostream.h>
#include <conio.h>
void main()
{
char nim[256];
char nama[256];
char alamat[256];
char jurusan[256];
cout<<"Masukkan NIM Anda : ";
cin.getline(nim,256);
cout<<"Masukkan Nama Anda : ";
cin.getline(nama,256);
cout<<"Masukkan Alamat Anda : ";
cin.getline(alamat,256);
cout<<"Masukkan Jurusan Anda : ";
cin.getline(jurusan,256);
getch();
clrscr();
cout<<"NIM : "<<nim<<endl;
cout<<"Nama : "<<nama<<endl;
cout<<"Alamat : "<<alamat<<endl;
cout<<"Jurusan : "<<jurusan<<endl;
getch();
cout<<"---------------------------------------"<<endl;
int Tugas ,Quis ,UTS ,UAS ,Rata_Rata ;
cout<<"Masukkan Nilai Tugas : ";
cin>>Tugas;
cout<<"Masukkan Nilai Quis : ";
cin>>Quis;
cout<<"Masukkan Nilai UTS : ";
cin>>UTS;
cout<<"Masukkan Nilai UAS : ";
cin>>UAS;
Rata_Rata = (Tugas + Quis + UTS + UAS)/4;
cout<<"---------------------------------------"<<endl;
cout<<"Nilai Rata_Rata : "<<Rata_Rata<<endl;
getch();
}
#include <conio.h>
void main()
{
char nim[256];
char nama[256];
char alamat[256];
char jurusan[256];
cout<<"Masukkan NIM Anda : ";
cin.getline(nim,256);
cout<<"Masukkan Nama Anda : ";
cin.getline(nama,256);
cout<<"Masukkan Alamat Anda : ";
cin.getline(alamat,256);
cout<<"Masukkan Jurusan Anda : ";
cin.getline(jurusan,256);
getch();
clrscr();
cout<<"NIM : "<<nim<<endl;
cout<<"Nama : "<<nama<<endl;
cout<<"Alamat : "<<alamat<<endl;
cout<<"Jurusan : "<<jurusan<<endl;
getch();
cout<<"---------------------------------------"<<endl;
int Tugas ,Quis ,UTS ,UAS ,Rata_Rata ;
cout<<"Masukkan Nilai Tugas : ";
cin>>Tugas;
cout<<"Masukkan Nilai Quis : ";
cin>>Quis;
cout<<"Masukkan Nilai UTS : ";
cin>>UTS;
cout<<"Masukkan Nilai UAS : ";
cin>>UAS;
Rata_Rata = (Tugas + Quis + UTS + UAS)/4;
cout<<"---------------------------------------"<<endl;
cout<<"Nilai Rata_Rata : "<<Rata_Rata<<endl;
getch();
}
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
/
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
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”).
Untuk pengenalan lebih lanjut mengenai baris perintah Linux, silakan baca pengenalan baris perintah di wiki Ubuntu.
Penyuntingan Teks
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 -wUntuk 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
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.
|
|
Harap berhati-hati ketika melakukan tugas administratif -- sebab dapat merusak sistem Anda! |
-
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
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
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)
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} };
Langganan:
Postingan (Atom)