Senin, 30 April 2012
Kamis, 12 Januari 2012
Tipe Data PHP
Tipe data yang dikenali
PHP ada 8 yaitu :
Dalam PHP tipe data tidak
dideklarasikan oleh programmer akan tetapi ditentukan secara otomatis oleh
Intepreter PHP. Jadi anda tidak perlu deklarasikan tipe data tersebut jika
ingin memberikan nilai pada suatu variabel. Anda dapat menuliskan fungsi
gettype() untuk mengetahui type data dari nilai yang anda berikan.
Pendeklarasian Tipe Data
<?php
$a = 0.3;
$b = -3;
$c = "Fatih";
echo "$a adalah type data ".
gettype($a)."<br />";
echo "$b adalah type data ".
gettype($b)."<br />";
echo "$c adalah type data ".
gettype($c)."<br />";?>
Tipe data integer
Tipe data integer adalah tipe
data yang berguna untuk menyimpan bilangan bulat, bukan desimal. Sebagai contoh
(1),(2),(3),(4),(5),(-1),(-2),(-3),(-4) dan lain-lain. Tipe data ini memiliki
range antara -2,147,483,648 sampai dengan +2,147,483,648 platform 32bit.
Tipe data double / floating point
numbers
Tipe data floating point numbers
biasa juga disebut dengan “double”, ” float” atau “real” adalah tipe data yang
berguna untuk menyimpan bilangan desimal. Sebagai contoh (0.1),(1.3),(1.7),(1.8),(9.7),(2.4)
dan lain-lain.
Contoh
penulisan tipe data float
|
|
<?php
$a = 1.234;
$b = 1.2e3;
$c = 2E-6;
$d = 1.2E8;?>
| |
Tipe data boolean
Boolean merupakan sebuah type data
yang sangat sederhana, dan merupakan nilai sebuah kebenaran, karena akan
bernilai True atau False saja. Penulisannya tidak dipengaruhi penggunaan huruf
besar atau kecil.
Contoh
penulisan tipe data boolean
|
|
<?php
$a = TRUE; // bernilai 1
$b = true; // bernilai 1
$c = FALSE; // bernilai 0
$d = false; // bernilai 0
?>
|
|
Tipe data string
String adalah sebuah tipe data yang
terdiri dari kata, bisa berupa kata tunggal maupun kalimat. Penulisan string
harus diapit oleh tanda petik, baik petik tunggal(‘ ‘) maupun petik ganda (” “)
Contoh
penulisan tipe data string
|
|
<?php
$kata1
= 'string diapit
petik tunggal';
$kata2
= "string
diapit petik ganda";?>
|
|
Perbedaan antara petik ganda dan
petik tunggal adalah, ketika kita menggunakan
petik tunggal maka variabel tidak akan terbaca nilainya. Beda halnya dengan
penggunaan petik genap yang akan membaca nilai dari suatu variabel.
Contoh
perbedaan petik tunggal dan genap
|
|
<?php
$kata
= "Merah";
echo 'warna baju saya adalah $kata';
//jika menggunakan tanda petik
tunggal browser
//akan menampilkan $kata
echo "warna baju saya adalah
$kata";
//jika menggunakan tanda petik
tunggal browser
//akan menampilkan Merah
?>
|
|
Jika string yang tertutup dalam
tanda kutip ganda (” “), PHP akan menafsirkan escape sequence lebih untuk
karakter khusus. Maka penulisan untuk karakter khusus tersebut harus ditambahkan
slash didepan karakter tersebut
Sequence
|
Keterangan
|
/n
|
Linefeed
|
/r
|
Carriage
return
|
/t
|
Horizontal
tab
|
/v
|
Vertical
tab
|
/f
|
Form
feed
|
//
|
Backslash
|
/$
|
Dollar
|
/”
|
Doublequote
|
Tipe data object
Tipe data object dibuat dengan
tujuan agar para programmer terbiasa dengan OOP. Tipe data object bisa berupa
bilangan, variabel atau fungsi. Data ini dapat dimasukkan ke dalam kode program
sehingga meringkas beberapa fungsi dan memperkecil ukuran file. Biar ga’
bingung contoh mudahnya menggunakan variabel dengan nilai string :
Contoh
penulisan tipe data object
|
|
<?php
class
makan{var
$lauk
= "ayam";
function
makan_malam($lauk){$this->
lauk = $lauk;}}
$hari_ini
= new
makan;
echo $hari_ini->lauk;
?>
|
|
Tipe data array
Tipe data array digunakan untuk
menyimpan banyak data dalam satu variabel. Jenis array dalam php ada 3
(tiga) macam yakni
- numeric array
- associative array
- multidimensional array
Sebagai contoh untuk memasukkan
daftar nama- nama hari ke dalam suatu variabel, perhatikan script dibawah :
Contoh
penulisan array numeric
|
|
<?php
$hari[0]="Senin";
$hari[1]="Selasa";
$hari[2]="Rabu";
$hari[3]="Kamis";
$hari[4]="Jum'at";
$hari[5]="Sabtu";
$hari[6]="Minggu";
//menampilkan tanpa perulangan.
echo "sekarang adalah hari
$hari[3] <br />" ;
//menampilkan menggunakan
perulangan
//perulangan akan dijelaskan pada
artikel berikutnya
for($i=0;$i<=6;$i++){
echo
$hari[$i]."<br/>";}?>
|
|
Contoh
penulisan array numeric 2
|
|
<?php
$hari
=
array("Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");
//menampilkan tanpa perulangan.
echo "sekarang adalah hari
$hari[3] <br />" ;
//menampilkan menggunakan
perulangan
//perulangan akan dijelaskan pada
artikel berikutnya
for($i=0;$i<=6;$i++){echo
$hari[$i]."<br/>";}?>
|
|
Pada contoh numeric array diatas
dapat disimpulkan bahwa pemanggilan data array tersebut menggunakan angka,
angka dimulai dari 0 sampai jumlah data yang dimasukkan. $hari[0]$hari[1] adalah pemanggilan untuk data
kedua dan seterusnya. adalah
pemanggilan untuk data pertama,
Contoh
penulisan associative array
|
|
<?php
$hari
=
array("Senin"=>"Ayam","Selasa"=>"Lele","Rabu"=>"Tempe","Kamis"=>"Tahu","Jum'at"=>"Teri","Sabtu"=>"Krupuk","Minggu"=>"Puasa");
//menampilkan tanpa perulangan.echo "Menu hari senin adalah
$hari[Senin]" ;?>
|
|
Contoh
penulisan associative array 2
|
|
$hari["Senin"]=120;
$hari["Selasa"]=123;
$hari["Rabu"]=125;
$hari["Kamis"]=126;
$hari["Jum'at"]=127;
$hari["Sabtu"]=128;
$hari["Minggu"]=129;
echo "Siswa yang mengantri makan
pada hari senin sejumlah $hari[Senin]" ;
|
|
Pada contoh associative array
diatas dapat disimpulkan bahwa pemanggilan data array tersebut menggunakan string yang ditentukan oleh kita, dengan kata
lain pemanggilan menggunakan angka kita ganti menjadi string yang kita
inginkan.
Pengertian multidimension array
adalah
array didalam array. Pemanggilan array ini bisa menggunakan numeric array
maupun associative array. $makan[0]["pagi"] dapat diartikan
sebagai menampilkan nilai array pertama dan array pagi dari variabel makan, $makan["senin"]["pagi"]
dapat diartikan sebagai menampilkan nilai array senin dan array pagi dari
variabel makan.
Tipe data Null
Pengertian Null adalah
tipe data yang tidak mempunyai nilai.
Tipe data Resource
Pengertian tipe data resource adalah
tipe data baru yang diperkenalkan mulai PHP 4. Tipe ini termaksud tipe yang
spisial, karena data ini hanya dapat dibuat dengan beberapa fungsi spesial.
Pengantar PHP
·
PHP ?
Ø Bahasa berbentuk skrip yang
ditempatkan dalam server dan diproses
server ( Server side).
·
Perkembangan PHP
Ø PHP Versi I dibuat oleh Rasmus Lerdorf Thn 1995
Ø PHP Versi 2 diberi nama PHP/F1 Thn 1996
Ø PHP Versi 3 Thn 1997
Ø PHP versi 4 Oktober 2000
·
Memilih PHP ?
Ø PHP itu Free
Ø Life Cycle yang singkat
Ø Cros Platform
Ø Mendukung banyak database
·
INSTALASI PHP ?
Ø Install Web server ( Apache,
PWS, IIS)
Ø Install PHP
Ø PHP Triad
( download lewat www.PHPGreek.com)
( download lewat www.PHPGreek.com)
Struktur PHP
·
ANATOMI SKRIP PHP
Ø <?PHP…………?>
Ø <? ………………?>
Ø <script
language=”php”>……</script>
contoh
<HTML>
<HEAD>
<TITLE>Latihan
Menampilkan Variabel</TITLE>
</HEAD>
<BODY>
<?php
print("Selamat belajar PHP,
<B>$nama_pemakai</B>");
?>
</BODY>
</HTML>
Statement dan Comment
A.
Statement
Statement
adalah satuan perintah dalam PHP. Statement harus diakhiri dengan tanda
semicolon/titik-koma (;).
Contoh
statement :
echo(“hello user … !”);
echo(“4 + 5 = ” . 4+5);
B. Expression
Expression
adalah satu bagian kecil kode yang akan dihitung hasilnya oleh php. Contoh
expression :
4 + 5
Penggunaan
expression :
echo(“4 + 5 = ” . 4+5);
C. Comment
Comment adalah bagian dari kode yang tidak dieksekusi . Comment dibuat
untuk memperjelas atau memberi keterangan ada kode program. Ada dua cara
menulis comment : comment satu baris dan comment banyak baris.
Comment satu baris dibuat dengan menggunakan tanda //. Semua
statement yang ada di kanan // tidak dijalankan oleh interpreter.
Contoh
penggunaan:
echo(“4 +
5 = ” . 4+5); // menampilkan hasil 4 + 5
Comment
banyak baris dibuat dengan menggunakan pasangan /* dan */. Semua tulisan yang
dibuat di antara tanda tersebut tidak akan dieksekusi oleh interpreter. Contoh
penggunaan :
/*
kode ini akan menampilkan
hasil dari
4 + 5
*/
ec
Variabel dan Tipe Data
Variabel digunakan sebagai tempat penyimpanan data
sementara. Data yang disimpan dalam variabel akan hilang setelah program
selesai dieksekusi.Untuk penyimpanan data yang permanen, kita dapat menyimpan
data di database atau di disk.
Variabel
di PHP diawali dengan tanda $. Untuk dapat menggunakan variabel, ada dua
langkah yang harus dilakukan,deklarasi dan inisialisasi.
A.
Deklarasi variabel
Deklarasi
variabel bisa disebut juga memperkenalkan atau mendaftarkan variabel ke dalam
program.Dalam php, deklarasi variabel seringkali digabung dengan inisialisasi.
Variabel dalam PHP dinyatakan dengan awalan $.
Contoh
:
$namaPembeli
$jumlahBarang
$harga
Ada
beberapa aturan yang diikuti berkenaan dengan penggunaan nama
variabel.
Aturan pemberian nama variabel :
ÞDimulai dengan tanda $
ÞKarakter pertama harus huruf
atau garis bawah ( _ )
ÞKarakter berikutnya boleh
huruf, angka, atau garis bawah.
B.
Inisialisasi variabel
Inisialisasi
variabel adalah mengisi nilai untuk pertama kalinya ke dalamvariabel.
Contoh
inisialisasi :
$namaDepan = “Endy”;
$namaBelakang = “Muhardin”;
$jumlahBarang = 3;
$harga = 1000;
C. Tipe data
Dalam
bahasa pemrograman yang lain, ada bermacam-macam tipe data, misalnya
integer(bilangan bulat), float(bilangan pecahan),char(karakter angka dan
huruf), string(kumpulan huruf atau kata), dan berbagai tipe lainnya. PHP
mengenal dua tipe data sederhana; numerik dan literal. Ditambah dengan dua tipe
data yang tidak sederhana, yaitu array dan object.
Source : kodePHP.com
Kamis, 10 November 2011
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
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:
Untuk mengatasi hal ini (efisiensi) dapat digunakan metoda VLSM, yaitu dengan cara sebagai berikut:
- Buat urutan berdasarkan penggunaan jumlah host terbanyak (14,28,2,7,28 menjadi 28,28,14,7,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
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
Apa itu 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 :
- 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)
- Semua perangkat router yang digunakan dalam jaringan harus mendukung metode VLSM yang menggunakan algoritma penerus packet informasi.
Subnetting dan Supernetting
Subnetting & Supernetting
Subnetting
Subnet mask adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada angka biner 32 bit yang digunakan untuk membedakan network ID dengan host ID, menunjukkan letak suatu host, apakah berada di jaringan lokal atau jaringan luar.
RFC 950 mendefinisikan penggunaan sebuah subnet mask yang disebut juga sebagai sebuah address mask sebagai sebuah nilai 32-bit yang digunakan untuk membedakan network identifier dari host identifier di dalam sebuah alamat IP. Bit-bit subnet mask yang didefinisikan, adalah sebagai berikut:
- Semua bit yang ditujukan agar digunakan oleh network identifier diset ke nilai 1.
- Semua bit yang ditujukan agar digunakan oleh host identifier diset ke nilai 0.
Subnetting dilakukan dengan berbagai alasan, diantaranya:
1. Untuk efisiensi IP address,alokasi IP address berdasarkan pembagian kelas kurang efisien. Lebih baik jika network kelas misalnay kelas A dibagi beberapa ribu subnet.kemudian setiap subnet dialokasikan menjadi LAN. Hal tersebut akan membuat lebih efisien.
2. Untuk menjebatani perbedaan topologi fisik seringkali digunakan router. Router bekerja dengan cara meneruskan paket antar network yang berbeda. Sehingga untuk mengatasinya kita harus membagi sebuah network menjadi beberapa subnet yang kemudian dihubungkan oleh router.
3. Untuk memudahkan proses manajemen atau pengaturan security network.
4. Untuk mengisolasi trafik. Manakala satu host berkomunikasi dengan host lain pada subnet yang sama,pesan broadcast cukup disebarkan diantara anggota subnet dan tidak diteruskan ke subnet yang lain.
Pada subnet mask, bit-bit yang menyatakan network ID diset bernilai 1 sementara host ID diset bernilai 0. Dengan demikian untuk IP kelas A, B, dan C dapat diketahui bahwa subnet masknya adalah seperti berikut,
| Kelas IP | Subnet mask | Dalam desimal |
| A | 11111111.00000000.00000000.00000000 | 255.0.0.0 |
| B | 11111111.11111111.00000000.00000000 | 255.255.0.0 |
| C | 11111111.11111111.11111111.00000000 | 255.255.255.0 |
Supernetting
Supernetting adalah proses menggabungkan dua atau lebih blok IP address menjadi satu kesatuan. Jika proses subnetting dapat membagi sebuah network menjadi beberapa subnet, maka supernetting merupakan proses kebalikannya. Supernetting menggabungkan beberapa network yang berdekatan sehingga terbentukalah sebuah supernet. Pada umumnya diterapkan pada network yang cukup besar untuk memudahkan proses rounting. Supernetting disebut juga Classless Inter-Domain Rounting atau CIDR.
Manfaat dari SUPERNETTING, adalah mengupdate router dengan cara efisien, yaitu mengirimkan informasi banyak route dalam satu pemberitahuan sehingga menghemat bandwidth dan meminimalkan pekerjaan router.
Langganan:
Postingan (Atom)