Sabtu, 30 Januari 2010

Pengenalan PHP


1. Pengenalan PHP
PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada serverside. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja.
Pastikan web server dan skrip PHP anda telah berjalan dengan baik sebelum anda memulai pemrograman PHP. Untuk membuat web dengan script PHP, cukup anda persiapkan editor teks.
Fungsi-fungsi yang ada di PHP uncase sensitive, tetapi variabelnya case sensitive (membedakan huruf besar dan kecil). Script PHP diawali dengan tanda lebih kecil ( < ) dan diakhiri dengan tanda lebih besar ( > ). Ada tiga cara untuk menuliskan script PHP yaitu:
1. Script PHP
?>
2. Script PHP
?>
3.
Setiap instruksi dipisahkan oleh tanda titik koma (;). Untuk membuat atau menambahkan komentar, Cara menuliskannya adalah:
/* komentar */
// komentar
# komentar


File contoh3_2.php:


Contoh Sederhana Script PHP


Tanggal :
/* Mencetak tanggal sekarang dengan echo */
echo date(“d F Y”);echo “
”;
?>
Tanggal :
// Mencetak tanggal sekarang dengan print
print (date(“d F Y”));
?>



2. Variable
Variabel digunakan untuk menyimpan data sementara dan nilainya bisa berubah-ubah setiap kali program dijalankan. Dalam PHP setiap nama variable diawali tanda dollar ($) dan diikuti dengan nama variabelnya, tidak memandang data tersebut apakah integer, real maupun string, PHP otomatis akan mengkonversi data menurut tipenya. Misalnya nama variable a dalam PHP ditulis dengan $a. Jenis suatu variable ditentukan pada saat jalannya program dan tergantung pada konteks yang digunakan. Aturan penamaan variabel dalam PHP:
 Diawali dengan tanda dolar ($)
 Penamaan variabel bersifat case sensitive
 Nama variabel hanya bisa diawali dengan huruf atau garis bawah, baru dapat diikuti dengan beberapa huruf atau angka maupun garis bawah.
Variabel dalam PHP tidak harus dideklarasikan terlebih dahulu sebelum digunakan.
File contoh3_3.php:


Variabel dalam PHP

$a="5";
$b="2.5";
$komentar="Selamat Datang di PHP";
echo ("Nilai variabel a adalah = $a
"); //variabel bertipe integer
echo ("Nilai variabel b adalah = $b
"); //variabel bertipe real
echo ("Nilai variabel komentar adalah = $komentar
"); //variabel bertipe string
$hasil=$a+$b;
echo ("Hasil jumlah a dan b adalah = $hasil
");//variabel bertipe double
$tgl = date("d F Y");
$nama = "SMK PGRI 3 Malang";
$garis= "=====================================";
echo "

";
echo $garis."
";
echo $komentar. " Di Lab ". $nama. "
Belajar dengan giat ya....
";
echo $garis."
";
echo "Tanggal ".$tgl;
?>
hasilnya adalah:

File contoh3_4.php:
$a=”5”;
$b=”2”;
$hasil=$a.$b;
echo($hasil);
?>



hasilnya adalah:

3. Type Data
PHP mempunyai lima macam tipe data yaitu:
a. Integer
b. Float/double atau bilangan pecahan
c. String
d. Array
e. Objek
4. Konstanta
Konstanta adalah variabel yang nilainya tetap.
Sintak:
Define (“nama_konstanta”,”nilai_konstanta”);
Contoh:




Define (“kampus”,”SMK PGRI 3 Malang”);
Echo kampus;
?>


5. Operator Dalam PHP
Operator merupakan suatu simbol yang dipakai untuk memanipulasi data seperti perkalian, penjumlahan, pengurangan, pembagian.
Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan fungsi matematika, yaitu:
Operator Operasi Penggunaan
* Perkalian $a*$b
/ Pembagian $a/$b
% Modulus $a%$b
-- Pre/Post decrement --$b atau $b--
+ Penjumlahan $a+$b
- Pengurangan $a-$b
Operator Increment/Decrement
Pre/Post increment dan decrement masing-masing adalah penambahan dan pengurangan satu. Apabila operator diletakkan sebelum variabel, misal ++$i atau --i maka nilai $i akan ditambahkan atau dikurangkan 1 sebelum keseluruhan operasi dalam ekspresi dikerjakan dan sebaliknya apabila operator diletakkan setelah variabel, misal $i++ atau $i-- maka nilai $i akan ditambah atau dikurangi 1 setelah operasi dalam ekspresi dikerjakan.
Operator Operasi Penggunaan
++ Pre/Post Increment ++$a atau $a++
-- Pre/Post Decrement --$b atau $b--
Operator String
Hanya ada satu operator string, yaitu operator concatenation (.).
Contoh
$a = “Hallo”;
$b = $a.”Selamat Dtang di PHP”;
//$b berisikan “Hallo Selamat datang di PHP”
?>
Operator Perbandingan
Operator Operasi Penggunaan
$a > $b Lebih dari True jika $a lebih besar dari $b
$a <= $b Kurang dari atau sama dengan True jika $a lebih kecil dari $b atau
$a sama dengan $b
$a < $b Kurang dari True jika $a lebih kecil dari $b
$a >= $b Lebih besar atau sama dengan True jika $a lebih besar dari $b atau
$a sama dengan $b
$a == $b Sama dengan True jika $a sama dengan $b
$a != $b Tidak sama dengan True jika $a tidak sama dengan $b
6. Struktur Kontrol/Kendali (Statement)
Statement IF
Konstruksi IF digunakan untuk melakukan eksekusi suatu statement secara bersyarat. Cara penulisannya adalah sebagai berikut:
if (syarat)
{
statement
}
atau:
if (syarat)
{
statement
}
else
{
statement lain
}
atau:
if (syarat pertama)
{
statement pertama
}
elseif (syarat kedua)
{
statement kedua
}
else
{
statement lain
}
File contoh3_5.php:
$a=4;
$b=9;
if ($a>$b)
{
echo(“a lebih besar dari pada b”);
}
elseif ($a<$b)
{
echo(“a lebih kecil b”);
}
else
{
echo(“a sama dengan b”);
}
?>
Hasilnya adalah:

Statement WHILE
Pernyataan ini digunakan untuk mengulangi sebuah perintah sampai jumlah atau kondisi tertentu terpenuhi. Bentuk dasar dari statement While adalah sebagai berikut:
while (syarat)
{
statement
}
Arti dari statemant While adalah memberikan perintah untuk menjalankan statement dibawahnya secara berulang-ulang, selama syaratnya terpenuhi.
File contoh3_6.php:
$a=1;
while ($a<10)
{
echo($a);
$a++;
}
?>
Hasilnya adalah:

Statement FOR
Perintah ini digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui. Pada statement ini perlu dituliskan nilai awal dan nilai akhir varibel penghitung yang secara otomatis akan bertambah atau berkurang setiap kali sebuah pengulangan dilaksanakan.
Cara penulisan statement FOR adalah sebagai berikut:
for (ekspresi1; ekspresi2 ; ekspresi3)
statements;
ekspresi1 menunjukkan nilai awal untuk suatu variable
ekspresi2 menunjukkan syarat yang harus terpenuhi untuk menjalankan statemant
ekspresi3 menunjukkan pertambahan nilai untuk suatu variable
File contoh3_7.php:
for ($a=0;$a<10;$a++)
{
echo(“Nilai A = ”);
echo($a);
echo(“
”);
}
?>
Hasilnya adalah:




File contoh3_8.php:


Latihan Perulangan dengan For


Tanggal :




Hasilnya adalah :

Statement SWITCH
Statement SWITCH digunakan untuk membandingkan suatu variable dengan beberapa nilai serta menjalankan statement tertentu jika nilai variable sama dengan nilai yang dibandingkan. Penggunaan statement SWITCH hampir sama dengan penggunaan statement IF, sehingga bisa digunakan sebagai pengganti statement IF.
Untuk Keluar dari suatu blok statement dalam statement switch, dapat mengunakan perintah BREAK
Struktur Switch adalah sebagai berikut:
switch (variable)
case nilai:
statement
case nilai:
statemant
case nilai:
statement
.
.
.
File contoh3_9.php:
$a=2;
switch($a)
{
case 1:
echo(“Nilai variable a adalah satu”);
break;
case 2:
echo(“Nilai variable a adalah dua”);
break;
case 3:
echo(“Nilai variable a adalah tiga”);
break;
}
?>

Hasilnya adalah:



Statement REQUIRE
Statement Require digunakan untuk membaca nilai variable dan fungsi-fungsi dari sebuah file lain.
Cara penulisan statement Require adalah:
require(namafile);
Statement Require ini tidak dapat dimasukkan diadalam suatu struktur looping misalnya while atau for. Karena hanya memperbolehkan pemangggilan file yang sama tersebut hanya sekali saja.
File contoh3_10.php:
$a=”Saya sedang belajar PHP”;
function tulistebal($teks)
{
echo(“$teks”);
}
?>
File contoh3_11.php:
require(“contoh3_10.php”);
tulistebal(“Ini adalah tulisan tebal”);
echo(“
”);
echo($a);
?>
Hasilnya adalah:

Statement INCLUDE
Statement Include akan menyertakan isi suatu file tertentu. Include dapat diletakkan didalam suatu looping misalkan dalam statement for atau while.
File contoh3_12.php:
echo(“--------------------------------------
”);
echo(“PHP adalah bahasa scripting
”);
echo(“--------------------------------------
”);
echo(“
”);
?>

File contoh3_13.php:
for ($b=1; $b<5; $b++)
{
include(“contoh11.php”);
}
?>

Hasilnya adalah:

1. Aplikasi hitung penjumlahan
File Latihan1.php


Penjumlahan a+b



Masukkan Nilai A :



Masukkan Nilai B :







Ketika tombol HITUNG diklik, program memanggil file tambah.php (perhatikan pada tag
) yang akan digunakan untuk menampung hasil perhitungan. Maka buat lagi file dan beri nama tambah.php dan simpan dalam satu direktori.
File tambah.php


Hasil Penjumlahan a+b


echo "Nilai \$A adalah = $a
";
echo "Nilai \$B adalah = $b
";
$c=$a+$b;
echo "Hasil \$A+\$B adalah = $c

";
echo "Terimakasih anda telah mengisi form kami ...";
?>


Hasilnya adalah:

dan tampilan setelah tombol hitung di-klik adalah:

2. Operasi Aritmatika
File Latihan2.php


::: Operasi Aritmatika :::



Operasi Aritmatik A dan B


















Masukkan Nilai A
Masukkan Nilai B
Operasi






File operasi.php


Hasil Operasi Aritmatika


if ($operasi==1)
{
$c=$a+$b;
$oper='[a + b]';
}
elseif ($operasi==2)
{
$c=$a-$b;
$oper='[a - b]';
}
elseif ($operasi==3)
{
$c=$a*$b;
$oper='[a * b]';
}
else
{
$c=$a/$b;
$oper='[a / b]';
}
echo "Nilai A adalah = $a dan Nilai B adalah = $b
";
echo "Hasil Operasi $oper adalah = $c
";
?>




Tampilan setelah tombol hitung ditekan adalah


3. Pengolahan data dengan form
File Latihan3.html


Form dan Elemen Form secara lengkap



Biodata






































Nama :
Password :
Jenis Kelamin :
Laki-laki
Perempuan
Hoby :
Memancaing

Shopping

Bersepeda

Naik Gunung
Pekerjaan :
Komentar :









File biodata.php


Form dan Elemen Form secara lengkap



Biodata

































Nama :
Password : value="" size=15 maxlength=25>
Jenis Kelamin :
if ($gender=='L')
{
echo "Laki-laki";
}
else
{
echo "Perempuan";
}
?>
Hoby :
echo "$hoby1 ";
echo "$hoby2 ";
echo "$hoby3 ";
echo "$hoby4 ";
?>
Pekerjaan :

Komentar
:




Terimakasih atas saran dan kritiknya!

Kembali ke Biodata...





7. Dasar-dasar MySQL
Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom (column atau field). Sedangkan dalam sebuah database dapat terdiri dari beberapa table. MySQL adalah database jenis RDBMS (Relational Database Management System). Jadi dalam MySQL tetap menggunakan Table, Baris dan Kolom. Sebuah Database dalam MySQL mengandung beberapa table dan satu table dalam database terdiri dari sejumlah baris dan kolom.
7.1. Tipe Data
a. Tipe Data Numerik
Tipe data numerik dibedakan menjadi dua, tipe data integer dan tipe data floating point. Tipe data integer untuk bilangan bulat sedangkan tipe data floating point digunakan untuk bilangan desimal. Tipe data numerik seperti dalam table di bawah ini :
Tipe Data Kisaran Nilai
Tinyint (-128) – 127 atau 0-225
Smallint (-32768) – 32767 atau 0 – 65535
Mediumint (-8388608)-8388607 atau 0-16777215
Int (-2147683648)-(2147683647) atau 0-4294967295
Bigint (-9223372036854775808)-(9223372036854775807) atau
0 – 18446744073709551615
Float(x) (-3.402823466E+38)-(-1.175494351E-38), 0, dan
1.175494351E-38 – 3.402823466E + 38
Float Idem
Double (-1.7976E+308)–(-2.22E-308),0,dan(2.22E-308)-(1.79E+308)
b. Tipe Data String
Yang termasuk dalam tipe data string adalah tipe-tipe data berikut :
Tipe kolom
Kisaran Nilai
CHAR 1 – 255 karakter
VARCHAR 1 – 255 karakter
TINYBLOB, TINYTEXT 1 – 255 karakter
BLOB, TEXT 1 – 65535 karakter
MEDIUMBLOB, MEDIUMTEXT 1 – 16777215 karakter
LONGBLOB, LONGTEXT 1 – 4294967295 karakter
ENUM('value1','value2',...) Maksimum 65535 karakter
SET('value1','value2',...) Maksimum 64 elemen

c. Tipe Data Waktu dan Tanggal
Yang termasuk dalam tipe data tanggal dan waktu adalah sebagai berikut :
Tipe Data
Kisaran Nilai
DATETIME 1000-01-01 00:00’ to ‘9999-12-31 23:59:59’
1000-01-01’ to ‘9999-12-31’
DATE 1970-01-01 00:00:00’ – 2037
TIMESTAMP -838:59:59’ to ‘838:59:59:59’
TIMEYEAR 1901-2155
7.2. Membuat Database dan Table
Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
1. Masuk pada direktori utama mysql, seperti perintah berikut:
C:\WINDOWS>cd\apache\mysql\bin
2. Kemudian ketikkan perintah seperti contoh berikut:
C:\apache\mysql\bin>mysql
Kemudian akan masuk kedalam Prompt MySQL seperti tampilan dibawah ini:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.47-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Bentuk prompt “mysql>” adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma “;”.
Cara untuk membuat sebuah database baru adalah dengan perintah:
create database namadatabase;
Contoh:
mysql> create database alamat;
Query OK, 1 row affected (0.27 sec)

mysql> _
Untuk mengaktifkan database dapat menggunakan perintah berikut ini:
use namadatabase;
Contoh:
mysql> use alamat;
Database changed
mysql> _
Setelah database aktif, sebuah tabel baru dapat dibuat. Perintah untuk membuat tabel baru adalah:
create table namatabel
(
struktur
);
Contoh:
Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini:
Kolom/Field Tipe Data Keterangan
nomor int(6), not null,
primary key Angka dengan panjang maksimal 6, sebagai primary key, dan tidak boleh kosong.
nama char(40), not null Teks dengan panjang maksimal 40 karakter dan tidak boleh kosong
email char(25), not null Teks dengan panjang maksimal 25 karakter dan tidak boleh kosong
alamat char(255), not null Teks dengan panjang maksimal 255 karakter dan tidak boleh kosong
kota char(20), not null Teks dengan panjang maksimal 20 karakter dan tidak boleh kosong
Perintah MySQL untuk membuat tabel seperti diatas adalah:
mysql> create table anggota (
-> nomor int(6) not null primary key,
-> nama char(40) not null,
-> email char(25) not null,
-> alamat char(255) not null,
-> kota char(20) not null);
Query OK, 0 rows affected (0.33 sec)
mysql> _
Sedangkan data yang akan diisikan dalam tabel anggota adalah sebagai berikut:
No. Nama E-Mail Alamat Kota
1. M. Nurullah nurul@hotmail Jl. Merak Pamekasan 4 Madura
2. Avicenna Arya Avis@yahoo.com Jl. Durian No. 10 Malang
3. Bayu bayu@astaga.com Jl. Candi II/23 Semarang
4. Yusuf ucuf@yahoo.com Jl. Rajawali 78 Mojokerto
5. Ari Mulyaningsih ira@astaga.com Jl. Lebani Waras 100 Gresik
6. Latief latief@hotmail Jl. Pakis 172 Surabaya
7. Ajie jie@yahoo.com Jl. Kali Utik 99 Surabaya
8. Jam ‘Iyatul Khoir Jack_delphi@yahoo.com Jl. Agus Salim 33 Lamongan
9. Sandra alex@hotmail.com Jl. Adelaide 22 Malang
10. Remy Dian dian@plaza.com Jl. Dermo 7 Malang
11. Paul paul@telkom.net Jl. Mertojoyo 88 Malang
12. Riza iza@yahoo.com Jl. Bunga Jombang
Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut:
insert into namatabel values(kolom1, kolom2, kolom3,…);
Contoh:
mysql> insert into anggota
-> values('1','Wilujeng Handayani','lulu@hotmail.com','Jl. Janti Barat 60',
-> 'Surabaya');
Query OK, 1 row affected (0.44 sec)
mysql> _

7.3. Menampilkan Isi Table
Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT, cara penulisan perintah SELECT adalah:
select kolom from namatable;


Contoh:
 Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota;
 Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota;
 Untuk menampilkan semua kolom pada tabel anggota yang berada pada kota ‘Surabaya’
select * from anggota where kota=’Surabaya’;
 Untuk menampilkan semua kolom pada tabel anggota dengan urut nama
select * from anggota order by nama;
 Untuk menghitung jumlah record pada tabel anggota
select count(*) from anggota;
 Untuk menampilkan kota pada tabel anggota
select kota from anggota;
 Untuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel anggota
select distinct kota from anggota;
 Untuk menampilkan nama dan email yang mempunyai email di ‘yahoo.com’
select nama,email from anggota where email like ‘%yahoo.com’;
7.4. Menghapus Record
Untuk menghapus suatu record dengan kriteria tertentu digunakan perintah sebagai berikut:
delete from namatabel where kriteria;
Contoh:
Menghapus record dari tabel anggota yang bernomor ‘3’
delete from anggota where nomor=’3’;
7.5. Memodifikasi Record
Untuk memodifikasi (merubah) isi record tertentu adalah dengan menggunakan perintah sebagai berikut:
update namatabel set kolom1=nilaibaru1,
kolom2=nilaibaru2 … where kriteria;
Contoh:
Merubah e-mail dari anggota yang bernomor 2 menjadi ‘dian@hotmail.com’.
update anggota set email=’dian@hotmail.com’ where nomor=’2’;
7.6. Menghubungkan PHP dengan MySQL
Agar script PHP yang kita buat dapat berhubungan dengan database dari MySQL dapat menggunakan fungsi berikut ini:
File utama.php:
function open_connection()
{
$host=”localhost”;
$username=”root”;
$password=””;
$databasename=”alamat”;
$link=mysql_connect($host,$username,$password) or
die ("Database tidak dapat dihubungkan!");
mysql_select_db($databasename,$link);
return $link;
}
?>
Isi dari variabel $host, $username, $password dan $databasename dapat disesuaikan sesuai dengan setting pada MySQL server yang ada.
Contoh:
Menampilkan data anggota yang telah dibuat dengan menggunakan script PHP.
File contoh3_14.php:
// ----- ambil isi dari file utama.php
require("utama.php");
// ----- hubungkan ke database
$link=open_connection();
// ----- menentukan nama tabel
$tablename="anggota";
// ----- perintah SQL dimasukkan ke dalam variable string
$sqlstr="select * from $tablename";
// ------ jalankan perintah SQL
$result = mysql_query ($sqlstr) or die ("Kesalahan pada perintah SQL!");
// ------ putus hubungan dengan database
mysql_close($link);
// ------ buat tampilan tabel
echo("

");
echo("");
// ------ ambil isi masing-masing record
while ($row = mysql_fetch_object ($result))
{
// ----- mengambil isi setiap kolom
$nomor=$row->nomor;
$nama=$row->nama;
$email=$row->email;
$alamat=$row->alamat;
$kota=$row->kota;
// ------ menampilkan di layar browser
echo("
$nama


");
}
echo("
NoNamabgcolor=#CCCCCC>E-MailAlamatbgcolor=#CCCCCC>Kota
$nomor $email $alamat $kota
");
?>

8. Fungsi-Fungsi Umum
8.1. Fungsi String
Fungsi string digunakan memanipulasi string untuk berbagai macam kebutuhan. Disini akan dibahas beberapa fungsi string yang sering digunakan dalam membuat program aplikasi web.
AddSlashes
Digunakan untuk menambahkan karakter backslash ( \ ) pada suatu string. Hal ini penting digunakan pada query string untuk database, misalkan pada MySQL. Beberapa karakter yang akan ditambahkan tanda backslash adalah karakter tanda petik satu ( ‘ ), karakter petik dua ( “ ), backslash ( \ ) dan karakter NULL.
Sintaks:
addslashes(string)
StripSlashes
Digunakan untuk menghilangkan karakter backslash ( \ ) pada suatu string.
Sintaks:
string stripslashes(string)
Crypt
Digunakan untuk meng-encrypt dengan metode DES suatu string. Fungsi ini sering digunakan untuk mengacak string password sebelum disimpan dalam database. Dalam penggunaan fungsi crypt ini dapat ditambahkan parameter string ‘salt’. Parameter ‘salt’ ini ditambahkan untuk menentukan basis pengacakan. ‘Salt’ string terdiri atas 2 karakter. Jika ‘salt’ string tidak ditambahkan pada fungsi crypt maka PHP akan menentukan sendiri ‘salt’ string tersebut secara acak.
Sintaks:
crypt(string [ , salt ] )
Echo
Digunakan untuk mencetak isi suatu string atau argumen.
Sintaks:
echo( string argumen1, string argumen2 , ….)
Explode
Digunakan untuk memecah-mecah suatu string berdasarkan tanda pemisah tertentu dan memasukkan hasilnya kedalam suatu variable array.
Sintaks:
explode(string pemisah , string [, int limit] )
Contoh:
$namahari = “minggu senin selasa rabu kamis jumat sabtu”;
$hari = explode(“ ”, $namahari);
Implode
Kegunaan fungsi ini adalah kebalikan daripada fungsi explode. Fungsi implode digunakan untuk menghasilkan suatu string dari masing-masing elemen suatu array. String yang dihasilkan tersebut dipisahkan oleh suatu string telah yang ditentukan sebelumnya.
Sintaks:
implode(string pemisah , array)
StripTags
Digunakan untuk menghilangkan kode-kode tag HTML pada suatu string.
Sintaks:
striptags(string [, string tags yang tidak dihilangkan] )
StrLen
Digunakan untuk menghitung jumlah karakter suatu string.
Sintaks:
strlen(string)
StrPos
Digunakan untuk mencari posisi pertama suatu sub string pada suatu string. Fungsi ini biasanya digunakan untuk mencari suatu sub string didalam suatu string.
Sintaks:
strlen(string , sub string)
Str_Repeat
Digunakan untuk mengulang isi suatu string.
Sintaks:
str_repeat(string , int jumlah perulangan)

StrToLower
Digunakan untuk merubah suatu string menjadi huruf kecil (lowercase).
Sintaks:
strtolower(string)
StrToUpper
Digunakan untuk merubah suatu string menjadi huruf besar (uppercase)
Sintaks:
strtoupper(string)
SubStr
Digunakan untuk mengambil suatu sub string dengan panjang tertentu dari suatu string pada posisi tertentu pula.
Sintaks:
substr(string, int posisi , int posisi)
Contoh:
substr(“abcdefg”,0,3); // mengasilkan string “abc”
substr(“abcdefg”,3,2); // menghasilkan string “de”
SubStr_Count
Digunakan untuk menghitung jumlah sub string dalam suatu string
Sintaks:
substr_count( string , string substring)
Contoh:
substr_count(“This is a test”,”is”); // menghasilkan nilai 2
UCFirst
Digunakan untuk mengganti karakter pertama pada suatu string menjadi huruf besar.
Sintaks:
ucfirst(string)
UCWords
Digunakan untuk mengganti karakter pertama pada setiap kata dalam suatu string menjadi huruf besar.
Sintaks:
ucwords(string)
Fungsi Date
Digunakan untuk mengambil tanggal dan jam. Hasil dari fungsi ini adalah sebuah string yang berisi tanggal/jam sesuai dengan format yang diinginkan. Format yang dikenal dalam fungsi date ini adalah sebagai berikut:
a - "am" or "pm"
A - "AM" or "PM"
B - Swatch Internet time
d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"
D - day of the week, textual, 3 letters; i.e. "Fri"
F - month, textual, long; i.e. "January"
g - hour, 12-hour format without leading zeros; i.e. "1" to "12"
G - hour, 24-hour format without leading zeros; i.e. "0" to "23"
h - hour, 12-hour format; i.e. "01" to "12"
H - hour, 24-hour format; i.e. "00" to "23"
i - minutes; i.e. "00" to "59"
I (capital i) - "1" if Daylight Savings Time, "0" otherwise.
j - day of the month without leading zeros; i.e. "1" to "31"
l (lowercase 'L') - day of the week, textual, long; i.e. "Friday"
L - boolean for whether it is a leap year; i.e. "0" or "1"
m - month; i.e. "01" to "12"
M - month, textual, 3 letters; i.e. "Jan"
n - month without leading zeros; i.e. "1" to "12"
s - seconds; i.e. "00" to "59"
S - English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
t - number of days in the given month; i.e. "28" to "31"
T - Timezone setting of this machine; i.e. "MDT"
U - seconds since the epoch
w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
Y - year, 4 digits; i.e. "1999"
y - year, 2 digits; i.e. "99"
z - day of the year; i.e. "0" to "365"
Z - timezone offset in seconds (i.e. "-43200" to "43200")
Sintaks:
date(string format)
Contoh:
date(“Y-m-d”); // menghasilkan “2001-07-28”
date(“l, j F Y”); // menghasilkan “Saturday, 28 July 2001”
date(“H:i:s”); // menghasilkan “20:15:07”
Fungsi Mail
Digunakan untuk mengirimkan e-mail ke alamat e-mail tertentu.
Sintaks:
mail(string tujuan , string subject , string isi [, string header] );
Contoh:
$pengirim = “From: saya@email.com”;
$tujuan = “anonkuncoro@yahoo.com”;
$subject = “Pemberitahuan”;
$isi = “Ini adalah percobaan pengiriman e-mail dengan menggunakan PHP”;
mail($to,$subject,$isi,$pengirim);
Rangkuman 2
a. Bahasa pemrograman PHP terbukti sangat handal dalam membangun sebuah program berbasis web
b. Waktu yang digunakan untuk memproses data dan menjalankan perintah-perintah query sangat cepat
c. Dengan berjalan dalam sebuah web server, maka secara otomatis program ini bersifat multiuser
d. Database MySQL menyimpan data didalam direktori khusus yang terpisah dari file program PHP sehingga keamanan data lebih terjamin
e. Web server dan database server terpisah sehingga menyulitkan pihak luar untuk mengakses data yang terdapat didalam database.
f. Bahasa program PHP dan Database MySQL lebih fleksibel karena dapat diakses oleh sistem operasi Windows maupun Linux.
g. Bahasa program PHP dan MySQL adalah open source sehingga kita tidak perlu mengeluarkan biaya tambahan untuk membeli software tersebut.
h. Variable dalam PHP tidak perlu di-deklarasikan terlebih dahulu sebelum digunakan.
i. Dalam PHP mengenal lima macam tipe data yaitu: integer, float, string, array dan objek.
j. Struktur kontrol/kendali dalam php meliputi: statement IF, While, For, Switch, Require dan Include.
k. Program untuk menghitung faktorial adalah:
C. File faktorial.php


::: Program Faktorial :::









Mencari Faktorial



Masukkan Nilai Faktorial :









File hasil.php


::: Program Faktorial :::










Mencari Faktorial



$c=1;
if ($a<1)
{
$a=0;
$c=0;
};
echo "Faktorial $a adalah : ";
for ($b=1;$b<$a+1;$b++)
{
$c=$c*$b;
}
echo("= $c");
?>









1. File-file yang diperlukan untuk membuat formulir online seperti yang diharapkan soal tersebut adalah:
File formulir1.php:


::: Formulir Online :::





FORMULIR ONLINE





































Nama :
Email :
Alamat :
Kota :
Telepon :

Tulis pesanan Anda dibawah ini:







2. Untuk membuat buku tamu, langkah-langkah yang harus dilakukan adalah:
a. Membuat table
Struktur table untuk menyimpan buku tamu adalah sebagai berikut:
Kolom/Field Tipe Data Keterangan
id int(10) unsigned auto_increment not null primary key Angka dengan panjang maksimal 10, sebagai primary key, tidak boleh kosong dan nilai secara otomatis bertambah
posted date Tanggal
name varchar(80) Teks dengan panjang maksimal 80 karakter
email varchar(128) Teks dengan panjang maksimal 128 karakter
address varchar(128) Teks dengan panjang maksimal 128 karakter
city varchar(80) Teks dengan panjang maksimal 80 karakter
msg longblob Teks panjang
Adapun perintah MySQL untuk membuat table guestbook dengan struktur seperti diatas adalah:
CREATE TABLE guestbook (
id int(10) unsigned NOT NULL auto_increment,
posted date NOT NULL,
name varchar(80),
email varchar(128),
address varchar(128),
city varchar(80),
msg longblob,
PRIMARY KEY (id));
b. Membuat form pengisian buku tamu
File bukutamu1.php:


::: Guestbook :::


Signup Guestbook





	

Name :
E-Mail :
Address :
City :
Message :





View Guestbook






c. Program untuk menerima masukan data dari form
File bukutamu2.php:


Guestbook



Signup Guestbook


require("utama.php");
$link=open_connection();
$tablename="guestbook";
$tgl=date("Y-m-d");
$pesan=addslashes($pesan);
$sqlstr="INSERT INTO $tablename
VALUES('','$tgl','$nama','$email','$alamat','$kota','$pesan')";
if (!mysql_query ($sqlstr))
{
echo("Invalid Query!
Please register again...
");
exit;
}
mysql_close($link);
echo("Thank you for signing up Guestbook...

");
?>


View Guestbook
Sign Up





d. Program untuk menampilkan isi buku tamu
File bukutamu3.php:


Guestbook



View Guestbook


require("utama.php");
$link=open_connection();
$tablename="guestbook";
$sqlstr="SELECT * FROM $tablename ORDER BY id DESC";
$result = mysql_query ($sqlstr) or die ("Invalid query");
while ($row = mysql_fetch_object ($result))
{
$name=$row->name;
$posted=substr($row->posted,8,2)."-".
substr($row->posted,5,2)."-".substr($row->posted,0,4);
$email=$row->email;
$address=$row->address;
$city=$row->city;
$msg=stripslashes($row->msg);
echo("Posted : $posted
");
echo("Name : $name
");
echo("E-Mail : $email
");
echo("Address : $address
");
echo("City : $city
");
echo("Message :
");
echo("$msg
");
echo("
");
}
mysql_close($link);
?>


Sign Up








Jumat, 22 Januari 2010

Tips dan Triks Mempercepat Kinerja Browser Internet Anda


Kadang sering sekali kita kesal kalo lama banget buka situs, apalagi kalo sedang diburu waktu, bisa banting tuh komputer, hehehe. Kesempatan ini saya sharing tip untuk mempercepat, kinerja browsing internet, semoga bermanfaat :

1. Start - Run - Regedit.exe

2. HKEY_CURRENT_USER - Software - Microsoft - Windows - Current Version -
Policies - Explorer.Buat dengan nama value DWORD( NoRecentDocsNetHood )
Isi dengan nilai 1 .

3. Buat lagi dengan nama value DWORD ( UseDesktopIniCache ) Isi dengan nilai 1 .

4. HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services -
LanmanServer - Parameters Buat dengan nama value DWORD ( SizReqBuf )
Isi dengan nilai FFFF dalam hexa

Catatan : Jika regedit dikunci admin anda ketikan ini di window explorer
computer anda C:WINDOWS, regedit.exe



Mempercepat Akses Internet
(Intenet Explorer)

1. Klik menu [Tools] [Internet Option], klik tab [General].
2. Pada opsi "Temperory Internet files", klik [Settings] lalu Geser slider-nya.
Hal itu untuk membuat cache (lokasi penyimpanan sementara) untuk web yang anda buka,
sebaliknya disediakan sekitar 5% dari Hard disk.

( Mozilla Firefox )

1. Ketik "about:config" pada address bar
setelah itu ubah "network.http.pipelining" dan "network.http.proxy pipelining" menjadi "true",
serta isi "network.http.pipelining.maxrequests" antara 30 –100 ( semakin besar semakin cepat ).
2. klik kanan dimana saja dan pilih New->Integer ,
tuliskan "nglayout.initialpaint.delay" lalu isi dengan 0.

Selasa, 19 Januari 2010

Graphic Card (Nvidia)

Extreme Nvidia Cuda Graphic Card

CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.

CUDA merupakan singkatan dari Compute Unified Device Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile (VGA notebook).

Software yang sudah pasti dapat menggunakan teknologi CUDA antara lain :
Photoshop Creative Suite CS 4. Dengan menggunakan kartu grafis yang sudah support CUDA, proses editing gambar dengan photoshop terutama untuk gambar beresolusi tinggi bisa dipercepat sampai ratusan persen, proses zooming dan rotate gambar bisa sangat cepat dilakukan. Selain itu proses import animasi 3D dan manipulasinya ke dalam photoshop pun dapat dilakukan dengan mulus.
Pegasys TMPGenc 4.0. Software ini merupakan aplikasi pengolahan video. Dengan menggunakan kartu grafis dengan teknologi CUDA, proses encoding sebuah video dapat dijalankan lebih cepat dari pemakaian CPU saja sampai dengan 400 %. Selama ini orang menggunakan CPU yang kencang dan MultiCore untuk berusaha mengolah lebih cepat video encoding.
Serta beberapa software lainnya.

Tidak mau ketinggalan dari Nvidia, AMD juga menggunakan teknologi kartu grafisnya untuk menjalankan atau mempercepat proses sebuah aplikasi. AMD menamakan teknologi ini dengan ATI STREAM, yaitu teknologi hardware dan software yang memungkinkan graphics processor (GPU) AMD, bekerja secara bersama-sama dengan processor (CPU) untuk mempercepat aplikasi-aplikasi umum, dan tidak terbatas hanya pengolahan gambar saja. Pengolahan video encoding, enkripsi, dan lain sebagainya bisa dilakukan dengan cepat menggunakan GPU. AMD merilis teknologi ini bersamaan dengan keluarnya driver terbaru mereka Catalist 8.12. Kartu grafis yang sudah mendukung ATI STREAM adalah kartu grafis Radeon seri 4000, diantaranya adalah : Ati Radeon 4870 X2, ATI 4870, ATI 4850, ATI Radeon 4670, dan lain sebagainya.

Software yang sudah mendukung ATI STREAM antara lain :

* ATI Avivo Video Converter
* Adobe Acrobat Reader
* Adobe Photoshop CS 4
* Adobe After Effect
* Microsoft Power Point 2007
* ArcSoft Total Media Theater
* Cyberlink Power Director 7


Dari beberapa pengujian yang dilakukan, penggunaan teknologi yang sering disebut GPGPU (General-Purpose Computing on Graphics Processing Units) ini memang sangat membantu kinerja processor. Dengan menggunakan kartu grafis yang lebih bagus kinerja yang dicapai cenderung lebih tinggi dibandingkan jika kita mengganti processor dengan yang lebih bagus.
Sebagai konsumen yang selalu disuguhi dengan teknologi baru, tentunya sayang sekali jika Anda tidak memanfaatkannya. Silakan mencoba fitur CUDA bagi Anda yang memiliki kartu grafis Nvidia, dan silakan mencicipi ATI ASTREAM bagi anda yang mempunyai kartu grafis AMD Ati Radeon.

Selasa, 12 Januari 2010

Teknik Komputer Jaringan


TUTORIAL FIREWALL / GATEWAY DENGAN SHOREWALL
Pada artikel kali ini, saya mencoba memberikan langkah-langkah singkat untuk membuat
sebuah Firewall / Gateway dengan menggunakan komputer apa adanya. Apa yang saya
lakukan ini sudah saya coba dan Alhamdulillah tanpa masalah dan system Firewall /
Gatewaynya dapat bekerja dengan baik dan benar.Untuk Firewall / Gateway saya
menggunakan aplikasi Shorewall yang saya rasa cukup mudah untuk melakukan
konfigurasinya dibanding melakukan konfigurasi melalui iptables secara langsung.
Ok kita akan mulai tutorial singkat ini, ada beberapa langkah yang akan kita lakukan, antara
lain :
1. Lakukan fresh install Ubuntu Linux, pada tutorial kali ini, saya menggunakan Ubuntu
Linux Server 8.10 dengan spesifikasi komputer P IV dengan memory 512 MB, disini
saya menggunakan mode text untuk melakukan konfigurasi, sekalian membiasakan
diri melakukan konfigurasi tanpa harus menggunakan XWindows nya.
2. Saya membuat kebijakan firewall untuk untuk koneksi dari Internet ke Firewall adalah
DROP begitu juga dari jaringan LAN Local ke Internet adalah DROP, kecuali koneksi
dari Firewall ke Internet dan dari Firewall ke LAN Local adalah ACCEPT.
3. Di komputer yang akan saya jadikan Firewall / Gateway saya mempunyai 2 Lan
Card, yakni eth0 untuk koneksi ke modem (Internet) dan eth1 untuk koneksi ke LAN
Local.
4. Setelah proses instalasi Server Ubuntu selesai, saya melakukan modifikasi :
/etc/network/interfaces dengan melakukan : sudo nano /etc/network/interfaces dan
kemudian melakukan konfigurasi kartu jaringan untuk eth0 dan eth1, berikut
konfigurasi yang saya lakukan untuk Server saya :
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# The second network interface
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
Di konfigurasi di atas, anda bisa melihat bahwa eth0 saya terhubung dengan modem
ADSL dengan konfigurasi mendapatkan IP secara otomatis (DHCP) IP standarnya
adalah 192.168.0.*, sedangkan untuk eth1 saya melakukan setting manual (IP secara
manual) dengan memberikan IP untuk eth1 adalah 192.168.1.1.
5. Langkah berikutnya adalah membuat Server DHCP, sehingga komputer di seluruh
jaringan LAN Local akan mendapatkan IP secara otomatis, langkah-langkahnya
adalah dengan cara menginstall software DHCP Server dengan cara : sudo apt-get
install dhcp3-server, setelah itu melakukan sedikit konfigurasi di : /etc/default/dhcp3-
server dengan memberi nilai pada variabel INTERFACES=”eth1”. Langkah
selanjutnya adalah melakukan modifikasi konfigurasi pada : /etc/dhcp3/dhcpd.conf biar
aman, sebelumnya buat backup file asli dari /etc/dhcp3/dhcpd.conf itu dengan cara :
sudo mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.original, setelah itu baru kita
membuat file konfigurasi baru dengan cara : sudo nano /etc/dhcp3/dhcpd.conf dengan
isi dari file konfigurasi seperti berikut :
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
option domain-name "IBM-UBUNTU";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.130;
}
Di konfigurasi di atas saya memberi range untuk komputer LAN Local (30 Komputer)
dari IP 192.168.1.100 – 192.168.1.130.
6. Langkah selanjutnya adalah menginstall Shorewall dengan cara : sudo apt-get install
shorewall dnsmasq, kemudian copy kan settingan standar dari Shorewall dari direktori
/usr/share/doc/shorewall-common/examples/two-interfaces ke /etc/shorewall. Setelah
itu lakukan konfigurasi pada file : /etc/shorewall/shorewall.conf dengan cara : sudo
nano /etc/shorewall/shorewall.conf untuk kemudian melakukan modifikasi “IPFORWARDING=
Keep” menjadi “IP-FORWARDING=On” langkah selanjutnya adalah
melakukan konfigurasi terhadap file : /etc/default/shorewall dengan cara : sudo nano
/etc/default/shorewall untuk kemudian mengubah nilai status startup menjadi 1.
7. Pada langkah berikut kita akan membuat rule untuk firewall kita. Kita akan melakukan
konfigurasi file : /etc/shorewall/policy dengan cara : sudo nano /etc/shorewall/policy.
Nah contoh konfigurasi yang saya lakukan adalah seperti ini :
loc net DROP info
loc $FW DROP info
loc all DROP info
$FW net ACCEPT
$FW loc ACCEPT
net $FW DROP info
net loc DROP info
all all DROP info
8. Langkah berikut kita akan melakukan konfigurasi pada file : /etc/shorewall/rules, pada
konfigurasi kali ini saya hanya akan membolehkan akses SSH (22), HTTP (80),
HTTPS (443), FTP (21 dan 20), DNS (53), SMTP (25), POP3 (110) dan Yahoo
Messengger (5050) dari Lan Local ke Internet dan Firewall, berikut konfigurasi Firewall
yang saya lakukan :
### Settingan Port Yang Boleh
ACCEPT loc $FW tcp 20,21,22,25,53,80,110,443,5050
ACCEPT loc $FW udp 20,21,22,25,53,80,110,443,5050
ACCEPT loc net tcp 20,21,22,25,53,80,110,443,5050
ACCEPT loc net udp 20,21,22,25,53,80,110,443,5050
9. Selesai lah konfigurasi Firewall yang telah kita lakukan, langkah selanjutnya adalah
Restart Server Anda dan Setting Komputer di jaringan Lokal untuk mendapatkan IP
Automatic dari Server yang sudah kita buat.
Mudah-mudah langkah-langkah yang saya berikan bisa dengan mudah dimengerti dan
diaplikasikan dengan mudah. Mohon maaf jika bahasa yang saya gunakan agak sulit
dimengerti, maklum saya juga pemula dalam hal ini, saya membuat tutorial ini untuk
mempermudah mengingat langkah-langkah yang saya lakukan dalam membuat Firewall /
Gateway. Semoga bermanfaat...

TERMINOLOGI TOPOLOGI PROTOKOL
Dalam tutorial jaringan komputer ini kita akan membahas masalah terminologi topologi protokol. Perhatikan dan baca dengan seksama biar nyantol .
A. Pengertian Jaringan Komputer
A computer network consists of two or more computers or other intelligent devices linked by communication media (e.g cable or wireless media) achieve successful communication.
(Nurul I. Sarkar, Auckland University of Technology, New Zealand. 2006)
Secara harfiah jaringan komputer adalah sebuah sistem yang terdiri dari komputer dan perangkat jaringan lainnya yang bekerja sama untuk mencapai tujuan yang sama pula (Eko Priyo U., 2006). Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) dan yang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer.
B. Terminologi Jaringan
Pembangunan sebuah jaringan komputer tergantung pada kondisi dan kebutuhan dari masing-masing individu. Pada konsepnya penggunaan teknologi menurut penyusun merujuk pada teori 3 K yaitu kebutuhan (need), kualitas (quality) dan keuangan (finance). Begitu pula pada implementasi jaringan yang akan kita dirancang sesuai kebutuhan. Dalam hal ini dikenal dengan istilah networking terminology atau terminologi jaringan. Pada dasarnya LAN dan WAN merupakan desain orisinal jaringan komputer. Seirin k ajuan teknologi konsep ini mengalami perkembangan
Terminologi jaringan berdasarkan skala atau ruang lingkupnya adalah :
• Local Area Network (LAN)
• Personal Area Network (PAN)
• Campus Area Network (CAN)
• Server Area Network (SAN)
• Metropolitan Area Network (MAN)
• Wide Area Network (WAN)
• Global Area Network (GAN)
Berdasarkan fungsi : Pada dasarnya setiap jaringan komputer ada yang berfungsi sebagai client dan juga server. Tetapi ada jaringan yang memiliki komputer yang khusus didedikasikan sebagai server sedangkan yang lain sebagai client. Ada juga yang tidak memiliki komputer yang khusus berfungsi sebagai server saja. Karena itu berdasarkan fungsinya maka ada dua jenis jaringan komputer:
1. Client Server
Yaitu jaringan komputer dengan komputer yang didedikasikan khusus sebagai server. Sebuah service/layanan bisa diberikan oleh sebuah komputer atau lebih. Contohnya adalah sebuah domain seperti www.detik.com yang dilayani oleh banyak komputer web server. Atau bisa juga banyak service/layanan yang diberikan oleh satu komputer. Contohnya adalah server jtk.polban.ac.id yang merupakan satu komputer dengan multi service yaitu mail server, web server, file server, database server dan lainnya.
2. Peer to peer
Yaitu jaringan komputer dimana setiap host dapat menjadi server dan juga menjadi client secara bersamaan. Contohnya dalam file sharing antar komputer di Jaringan Windows Network Neighbourhood ada 5 komputer (kita beri nama A,B,C,D dan E) yang memberi hak akses terhadap file yang dimilikinya. Pada satu saat A mengakses file share dari B bernama data_nilai.xls dan juga memberi akses file soal_uas.doc kepada C. Saat A mengakses file dari B maka A berfungsi sebagai client dan saat A memberi akses file kepada C maka A berfungsi sebagai server. Kedua fungsi itu dilakukan oleh A secara bersamaan maka jaringan seperti ini dinamakan peer to peer.
C. Topologi Jaringan
Topologi jaringan merupakan gambaran struktur jaringan yang akan dibangun. Ada dua jenis topologi yang digunakan dalam jaringan yaitu :
1. Physical Topology adalah gambaran nyata hubungan kabel dalam satu jaringan.
2. Logical Topology adalah bagaimana cara pengaksesan media oleh host-host.
Berdasarkan topologi jaringan: Berdasarkan [topologi jaringan], jaringan komputer dapat dibedakan atas:
• Topologi bus
• Topologi bintang (star)
• Topologi cincin (ring)
• Topologi mesh
• Topologi pohon
• Topologi linier
D. Protokol Jaringan
1. Terminologi Protokol
Protokol merupakan suatu rule atau aturan main yang mengatur komunikasi data. Dalam jaringan komputer terjadi proses komunikasi antar perangkat lainnya yang berlainan sistem. Perangkat yang ada tersebut dapat mengirim dan menerima data yang dibutuhkan. Analogi dari protokol adalah bahasa inggris sebagai bahasa international.
2. Protokol TCP/IP
TCP/IP (Transmission Control Protocol / Internet Protocol) merupakan sekumpulan protokol yang melakukan fungsi komunikasi data antarkomputer dalam sebuah LAN atau WAN. Semua layanan protokol mempunyai fungsi masing-masing.
FTP (File Transfer Protokol) adalah layanan protokol antarkomputer yang dapat saling mengirim file baik berupa teks maupun gambar.
HTTP (Hypertext Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.
SMTP (Simple Mail Transfer Protocol) merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di Internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima.
Tutorial Jaringan Komputer terminologi topologi protokol diatas semoga dapat menambah ilmu komputer tentang jaringan komputer dan jaringan internet kita
Sharing Internet untuk 2 PC menggunakan Bridge Windows
Gambar


Tutorial Jaringan kali ini erat sekali hubungannya dengan tutorial penulis sebelumnya, yakni mengenai “Koneksi 2 PC menggunakan kabel Cross”, sehingga sebelum membaca artikel ini lebih lanjut, penulis sarankan untuk membaca artikel tersebut.
Bagi seorang yang memiliki akses internet di rumah mungkin pernah menemui kasus seperti bagaimana caranya membagi koneksi internet hanya untuk 2 pc. Bisa saja menggunakan switch atau hub, kemudian memasangkan kabel modem adsl ke dalam switch atau hub tersebut kemudian membagi koneksi berdasarkan topologi jaringan star. Penulis rasa ini hanya menghabiskan resource saja, dan dana yang keluar tentunya lebih besar lagi. Kira-kira gambarannya adalah seperti ini :



Dibutuhkan satu buah switch, sekitar beberapa minggu yang lalu penulis cek harga hub 8 port itu sekitar Rp 250 ribu. :(, dan dibutuhkan 2 kabel jenis strike, di tambah 4 buah RJ 45, hmmm... berapa kira-kira dana yang habis di keluarkan ?? Kurang lebih sekitar Rp 270 ribu. :( Mungkin bisa kurang. Tergantung yang jual temen atau bukan. Harga temen sekitar ... Lah jadi jualan ?? :D~~
Beda halnya jika kita menggunakan topologi bus yang hanya membutuhkan satu buah lan card tambahan, dipasang pada salah satu pc, dan satu buah kabel jenis cross, tentunya bisa meminimalisir biaya yang akan dikeluarkan, satu buah lan card harganya sekitar Rp 45 ribu. Sisanya bisa dipakai untuk pedi cure dan medi cure ... :D~~ Ya, kira-kira gambaran dari topologi bus yang dapat meminimalisir pengeluaran, seperti ini :



Hanya dibutuhkan satu buah lancard tambahan, dan satu buah kabel cross. Lan card tambahan dipasang di salah satu pc, dan pc ini harus terhubung secara langsung ke modem adsl, seperti pada gambar di atas. Dengan kata lain, 2 lan card inilah yang nantinya akan dijadikan sebagai bridge. Perlu diketahui bridge dalam windows XP biasanya hanya memiliki satu alamat IP.
Penulis tegaskan kembali, teknik yang satu ini berbeda dengan teknik ketika anda membuat dial connection type PPoE (biasanya digunakan pada broadband ADSL). Dial connection langsung dari PC berakibat pc yang mendial connection tersebut akan memiliki IP Public. Nah itu adalah alasan penulis membuat artikel ini. Dengan kata lain, pada teknik ini yang memiliki ip public nantinya adalah si modem itu sendiri. Bukan PC yang melakukan Dialing connection. PC di sini hanya berfungsi sebagai bridge saja. Bukan mendial connection.
Setelah terpasang jaringan seperti pada gambar, langkah selanjutnya adalah menyetting komputer yang memiliki 2 lan card tersebut.

1. Klik Start > Run > ketik Regedit [enter]
2. Masuk ke : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. Ubahlah Nilai dari “IPEnableRouter” menjadi 1
4. Tutup Regedit.
5. Restart PC.
Langkah selanjutnya adalah membuat bridge dari 2 LAN Card pada pc tersebut. Caranya adalah, masuk ke Control Panel  Network Connection, kemudian klik kanan dan pilih bridge connection.





Tunggu sebentar hingga terdapat 1 koneksi baru, yaitu network bridge.




Kemudian klik kanan Network Bridge tersebut, pilih properties, pada adapters centang 2 lancard yang akan dijadikan bridge,




pada This Connection Use the following items, pilih Internet Protocol (TCP/IP) kemudian klik button Properties. Untuk pengisian IP Address, di haruskan 1 class dengan modem adsl, pada gambar ini terlihat, PC yang di jadikan Bridge mempunyai IP, 192.168.1.2, dan Modem ADSL sebagai Gatewaynya adalah 192.168.1.1, Preferres DNS server di sini adalah DNS milik ISP.




Selesai kemudian Ok.

Selanjutnya adalah settingan pada client, yakni di haruskan untuk menggunakan IP Class yang sama dengna bridge, anda bisa menggunakan 192.168.1.3 – 192.168.1.254, dengan Default Gatewaynya mengarah kepada Bridge, yakni 192.168.1.2, dan DNS Server mirip dengan propertiesnya bridge. Ya, selesai, anda sudah dapat menggunakan fasilitas bridge ini untuk berinternet ria.

MACAM - MACAM JARINGAN
1.LAN (Local Area Network)
LAN, adalah jaringan yang dibatasi oleh area yang relatif kecil, umumnya dibatasi oleh area lingkungan seperti sebuah perkantoran di sebuah gedung, atau sebuah sekolah, dan biasanya tidak jauh dari sekitar 1 km persegi. Secara garis besar LAN terdapat dua tipe jaringan LAN yaitu jaringan Peer to Peer dan jaringan Client Server. Peer to Peer artinya adalah setiap komputer yang terhubung ke dalam jaringan dapat bertindak sebagai komputer pengguna (workstation) maupun komputer penyedia layanan (server). Sedang pada jaringan Client Server hanya ada satu komputer yang bertindak sebagai Server dan yang lain sebagai Client.
Beberapa model konfigurasi LAN, satu komputer biasanya dijadikan sebuah file server untuk menyimpan perangkat lunak (software )yang mengatur aktifitasi jaringan, ataupun sebagai perangkat lunak yang dapat digunakan oleh komputer-komputer yang terhubung ke dalam network. Biasanya kemampuan workstation di bawah file server dan mempunyai aplikasi lain di dalam harddisknya selain aplikasi untuk jaringan. Kebanyakan LAN menggunakan media kabel untuk menghubungkan satu komputer dengan komputer lainnya.

2.MAN (Metropolitan Area Network)
MAN, biasanya meliputi area yang lebih besar dari LAN, misalnya antar wilayah dalam satu propinsi. Dalam hal ini jaringan menghubungkan beberapa buah jaringan-jaringan kecil ke dalam lingkungan area yang lebih besar, sebagai contoh yaitu: jaringan Bank dimana beberapa kantor cabang sebuah Bank di dalam sebuah kota besar dihubungkan antara satu dengan lainnya. Misalnya Bank Mandiri yang ada di seluruh wilayah Jakarta – Bogor – Depok – Tangerang – Bekasi.


3.WAN (Wide Area Network)
Wide Area Networks (WAN) adalah jaringan yang lingkupnya biasanya sudah menggunakan sarana satelit atau kabel bawah laut sebagai contoh keseluruhan jaringan BANK MANDIRI yang ada di Indonesia ataupun yang ada di Negara-negara lain. WAN mencakup daerah geografis yang luas, seringkali mencakup sebuah negara atau benua.

Menggunakan sarana WAN, sebuah Bank yang ada di Jakarta bisa menghubungi kantor cabangnya yang ada di Singapura, hanya dalam beberapa menit. Biasanya WAN agak rumit dan sangat kompleks, menggunakan banyak sarana untuk menghubungkan antara LAN dan WAN ke dalam komunikasi global seperti Internet.Tetapi bagaimanapun juga antara LAN, MAN dan WAN tidak banyak berbeda dalam beberapa hal, hanya lingkup areanya saja yang berbeda.

PERANGKAT LUNAK JARINGAN
Piranti Lunak
Seperti telah dijelaskan di atas bahwa piranti lunak yang dimaksud dalam buku ini adalah software termasuk sistem operasi yang digunakan dalam membangun suatu jaringan, baik jaringan berbasis Windows (Workgroup atau Client Server) maupun sistem operasi lain. Namun dalam buku ini saya membatasi hanya menggunakan sistem operasi produk Microsoft, yaitu keluarga Microsoft Windows.
Sistem Operasi
Operating sistem yang digunakan dalam buku ini adalah Microsoft Windows Server 2003, Microsoft Windows XP dan WIndows Vista untuk Client. Namun demikian Anda juga bisa menggunakan Microsoft Windows 2000 Server dan Microsoft Windows 2000 Professional, karena pada prinsipnya sama dan buku ini masih tetap bisa digunakan. Disarankan untuk saat ini sebaiknya sistem operasi server yang digunakan adalah Microsoft Windows Server 2003 dengan client Windows Vista atau Windows XP.
Bagi Anda yang ingin membangun jaringan kecil dengan Workgroup, bisa menggunakan sistem operasi Microsoft Windows XP, Windows Vista atau Windows 2000 Professional.
Program Aplikasi
Program aplikasi yang digunakan bebas. Namun saya menyarankan gunakan beberapa aplikasi saja, seperti untuk mengolah kata, mengolah angka, mengolah data, dan aplikasi grafik yang diperlukan.
Selain aplikasi tersebut Anda juga bisa menambah aplikasi lain apabila komputer Anda dilengkapi Scaner. Aplikasi yang saya maksud adalah aplikasi yang mendukung pengolahan gambar hasil scaner tersebut.
Program Internet Sharing
Agar semua komputer yang terkoneksi ke jaringan LAN bisa berinternet seluruhnya, Anda bisa memanfaatkan fasilitas Internet Sharing. Microsoft Windows Server 2003, Windows Vista, Windows XP, sudah menyediakan fasilitas untuk Internet Sharing Connection (ICS) dan ICF (Internet Connection Firewall). Namun demikian Anda juga bisa menggunakan apliksi lain yang disediakan penyelenggara atau ISP.
Program Untuk Internet
Program yang dimaksud di sini adalah program untuk menjalankan fasilitas yang berhubungan dengan Internet. Sehingga dengan program ini pemakai atau semua user bisa menggunakan fasilitas seperti browsing, chating, e-mail, dan sebagainya.
Program yang dimaksud antara lain sebagai berikut:
• Microsoft Internet Explorer
• Microsoft Outlook
• Windows Messanger

KABEL UNTUK JARINGAN
Kabel Jaringan
Saat ini ada beberapa tipe dan jenis kabel yang digunakan untuk suatu jaringan. Kabel UTP (unshielded twisted pair), coaxial, dan fiber optik adalah yang populer dan banyak digunakan.
Kabel yang paling umum dan mudah pemasangannya adalah kabel jenis Coaxial. Namun sesuai perkembangan HUB atau Concentrator penggunaan kabel ini pun mulai berkembang dan kabel UTP yang dipilih, karena selain harganya tidak terlalu mahal namun kemampuannya bisa diandalkan.
Kabel jenis lain yang sempat populer awal tahun 1990-an adalah kabel coaxial. Kabel jenis ini hampir sama seperti kabel antena televisi. Kabel lain yang juga sangat populer adalah Fiber Optik (F/O). Kabel jenis ini sangat mahal harganya, tetapi kemampuannya mendukung kecepatan transfer data sangat tinggi.
Twisted Pair Cable (UTP)
Kabel Twisted Pair Cable ini ada dua jenis yaitu shielded dan unshielded. Shielded adalah jenis kabel yang memiliki selubung pembungkus sedangkan unshielded tidak mempunyai selubung pembungkus. Untuk koneksinya kabel jenis ini menggunakan konektor RJ-11 atau RJ-45.
Twisted-pair (dikenal juga sebagai 10 BaseT) cocok untuk jaringan kecil, sedang maupun besar yang membutuhkan fleksibilitas dan kapasitas untuk berkembang sesuai dengan pertumbuhan pemakai network.
Pada twisted-pair network, komputer disusun membentuk suatu pola star. Setiap PC memiliki satu kabel twisted-pair yang tersentral pada HUB, contoh jaringan seperti ini seperti terlihat pada gambar 3.
Twisted-pair umumnya lebih reliable dibandingkan dengan thin coax karena HUB mempunyai kemampuan data error correction dan meningkatkan kecepatan transmisi. Bahkan dengan HUB ini bisa dirangkai menjadi suatu jaringan yang besar.
Saat ini ada beberapa grade, atau kategori, dari kabel twisted-pair. Category 5 adalah yang paling reliable dan memiliki kompatibilitas yang tinggi, dan yang paling disarankan. Berjalan baik pada 10 Mbps network, dan Fast Ethernet. Anda dapat membeli kabel Category 5 yang telah dibuat, atau membuatnya sendiri.
Kabel Category 5 dapat dibeli atau dibuat baik yang straight-through atau crossed. Suatu kabel Category 5 memiliki 8 kabel kecil yang masing-masing memiliki kode warna di dalamnya dari ujung ke ujung. Hanya kabel kecil 1, 2, 3, dan 6 yang digunakan oleh Ethernet network untuk komunikasi. Walaupun hanya 4 kabel yang akan digunakan, tetapi masing-masing 8 kabel semuanya terhubung ke jack.



Gambar 9. Contoh kebl UTP untuk jaringan
Tipe kategori Kabel UTP (Unshielded Twisted Pair) :
- Kategori 1 : Untuk koneksi suara / sambungan telepon/telpon
- Kategori 2 : Untuk protocol localtalk (Apple) dengan kecepatan data hingga 4 Mbps
- Kategori 3 : Untuk protocol ethernet dengan kecepatan data hingga 10 Mbps
- Kategori 4 : Untuk protocol 16 Mbps token ring (IBM) dengan kecepatan data hingga 20 Mbps
- Kategori 5 : Untuk protocol fast ethernet dengan kecepatan data hingga 100 Mbps
Kabel Straight-through digunakan untuk menghubungkan komputer ke HUB. Kabel Crossed digunakan untuk menghubungkan HUB ke HUB (ada beberapa pengecualian: beberapa jenis HUB memiliki up-link port yang telah dicross secara internal, yang mana memungkinkan Anda melakukan uplink HUB dengan suatu straight cable sebagai gantinya).
Pada suatu kabel straight-through, kabel 1, 2, 3, dan 6 pada satu ujung juga di kabel 1, 2, 3, dan 6 pada ujung lainnya. Pada suatu kabel crossed, urutan dari kabel diubah dari ujung yang satu ke ujung lainnya: kabel 1 menjadi 3, dan 2 menjadi 6.
Untuk menggambarkan urutan kabel mana yang nomor 1, pegang RJ-45 tip dengan bagian tembaganya menghadap pada Anda sesuai gambar berikut.



Gambar 10. Contoh kebl UTP yang dipasang conector RJ45
Coaxial Cable
Media ini paling banyak digunakan sebagai media LAN meskipun lebih mahal dan lebih sukar penggunaannya dibandingkan twisted pair. Kabel ini memiliki bandwith yang lebar, sehingga bisa digunakan untuk komunikasi broadband. Thick Coaxial biasanya digunakan untuk kabel backbone pada jaringan instalasi Ethernet antar gedung. Dapat menjangkau jarak 500 m bahkan 2500 m dengan menggunakan repeater.
Thin coax (dikenal juga sebagai 10 Base 2) adalah cocok untuk network rumah atau kantor, dengan dua atau tiga komputer. Kabel ini mirip seperti kabel antena TV, harganya tidak terlalu mahal dan mudah pemasangannya.
Kabel jenis ini proses pemasangannya menggunakan konektor BNC. Pada jaringan jenis ini untuk menyambung ke masing-masing komputer menggunakan konektor T (T-connector) dan setiap ujungnya menggunakan terminator atau penutup (50 ohm) jika tidak menggunakan HUB.



Gambar 11. Contoh kabel Coaxial yang sudah dipasang konektor
Kabel coaxial terdiri dari :
• sebuah konduktor tembaga
• lapisan pembungkus dengan sebuah “kawat ground”.
• sebuah lapisan paling luar.
Penggunaan Kabel Coaxial
Kabel coaxial terkadang digunakan untuk topologi bus, tetapi beberapa produk LAN sudah tidak mendukung koneksi kabel coaxial.
Protokol Ethernet LAN yang dikembangkan menggunakan kabel coaxial:
10Base5 / Kabel “Thicknet” :
• adalah sebuah kabel coaxial RG/U-8.
• merupakan kabel “original” Ethernet.
• tidak digunakan lagi untuk LAN modern.
10Base2 / Kabel “Thinnet”:
• adalah sebuah kabel coaxial RG/U-58.
• mempunyai diameter yang lebih kecil dari “Thicknet”.
• menggantikan “Thicknet”.
• tidak direkomendasikan lagi, tetapi masih digunakan pada jaringan LAN yang sangat kecil.
Fiber Optic (F/O)
Jaringan yang menggunakan F/O ini memang sangat jarang digunakan. Biasanya hanya perusahaan besar saja yang menggunakan jaringan dengan media F/O. Karena harganya relatif mahal dan proses pemasangannya lebih sulit.
Namun demikian, jaringan yang menggunakan F/O ini dari segi kehandalan dan kecepatan tidak diragukan lagi. Kecepatan pengiriman data dengan media F/O ini lebih dari 100 Mbps dan bebas dari pengaruh lingkungan (noise).



Gambar 12. Contoh F/O (Fiber Optic) yang sudah terpasang konektor (Parch cord)
Kabel Fiber Optik adalah teknologi kabel terbaru. Terbuat dari glas optik. Di tengah-tengah kabel terdapat filamen glas, yang disebut “core”, dan di kelilingi lapisan “cladding”, “buffer coating”, material penguat, dan pelindung luar.Informasi ditransmisikan menggunakan gelombang cahaya dengan cara mengkonversi sinyal listrik menjadi gelombang cahaya. Transmitter yang banyak digunakan adalah LED atau Laser.
Kelebihan menggunakan kabel Fiber Optik
Kabel Fiber Optik mempunyai beberapa kelebihan, diantaranya :
• Kapasitas bandwidth yang besar (gigabit per detik).
• Jarak transmisi yang lebih jauh ( 2 sampai lebih dari 60 kilometer).
• Kebal terhadap interferensi elektromagnetik.
Kabel Fiber Optik banyak digunakan pada jaringan WAN untuk komunikasi suara dan data. Kendala utama penggunaan kabel fiber optik di LAN adalah perangkat elektroniknya yang masih mahal. Sedangkan harga kabel Fiber Optiknya sendiri sebanding dengan kabel LAN UTP.
Kabel Telepon
Beberapa tahun belakangan ini mulai banyak digunakan kabel telepon untuk jaringan komputer (LAN). Kabel ini biasanya digunakan untuk menghubungkan jaringan antar gedung. Biasanya kabel yang digunakan untuk menghubungkan antar gedung ini jenis yang cukup kuat dan dilengkapi dengan kawat baja, sehingga kalau dibentang tidak patah.
Biasanya kabel telepon yang digunakan untuk diluar gedung (out door) ini dilengkapi dengan 3 kawat, 2 kawat yang akan digunakan seagai penghubung data dan satu kawat digunakan agar tidak putus apabila kawat tersebut dibentang. Akan lebih baik jika ujung dari baja sebagai penguat tersebut dihubungkan ke grounding agar apabila terjadi petir tidak akan bermasalah. Jadi pada intinya hanya dua kawat yang ada dalam kabel tersebut yang digunakan.
Memilih jenis kabel
Untuk membangun suatu jaringan umumnya yang menjadi masalah adalah yang berhubungan dengan pemilihan kabel. Karena kabel merupakan kebutuhan pokok dari suatu jaringan.
Perlu diketahui, kabel yang sudah tertanam biasanya tidak akan diangkat atau dipindahkan kecuali dalam keadaan terpaksa. Oleh karena itu, perencanaan yang matang untuk menentukan jenis kabel ini mutlak diperlukan. Jika kita salah mengambil keputusan, maka suatu saat apabila akan ada pengembangan masalah kabel ini menjadi kendala.
Untuk itu saya menyarankan apabila akan membangun suatu jaringan tentukan jenis kabel yang akan digunakan dengan asumsi bahwa jaringan tersebut bisa berjalan dengan baik sampai 10 tahun atau lebih. Dengan demikian tentukan jenis dan kualitas kabel ini sebelum Anda memutuskan untuk menginstalasi jaringan.
Selain itu, masalah yang berhubungan dengan kabel ini tidak hanya jenisnya saja, masalah yang berhubungan dengan kecepatan dan jarak akses data juga perlu dipertimbangkan. Untuk itu berikut ini saya jelaskan beberapa jenis kabel, jarak terjauh yang didukung oleh jenis kabel tertentu, dan sebagainya.

Tipe Kecepatan Jarak Konektor
UTP
Kategori 5 10 Mbps <>300 kaki RJ45
Coaxial atau kabel BNC RG 58 10 Mbps <>2500 kaki BNConnector
T
Terminator
Kabel Telepon (RJ11) Konverter
RJ11
Wireles > 10 Mbps Tergantung jenis dan merk
Serat Optik (F/O) 100 Mbps <> 3 mil ST(spring loaded twist)
Tabel . Beberapa tipe kabel, kecepatan dan jarak yang didukungnya

PRINSIP KOMUNIKASI DATA
Pernahkah Saudara melihat seorang turis dengan pemandunya? Jika Saudara perhatikan guide tersebut membantu turis untuk berdialog dengan penduduk lokal dalam menterjemahkan atau menjelaskan maksud pembicaraan di antara mereka. Demikian juga komunikasi dalam jaringan komputer. Untuk dapat mengatur komunikasi di dalam jaringan komputer haruslah dibuat stsaudarar yang berfungsi memudahkan dalam komunikasi di antara mereka.
Model OSI
Jika dalam kehidupan sehari-hari untuk dapat berkomunikasi dengan orang di seluruh dunia digunakan bahasa yang stsaudarar yaitu bahasa Inggris, maka dalam dunia komputer ada badan dunia yang menangani masalah stsaudararisasi, yaitu International Stsaudarardization Organization (ISO). ISO membuat aturan baku yang dikenal dengan nama Open System Interconnection (OSI). Aturan baku OSI ini selanjutnya akan digunakan oleh perusahaan-perusahaan yang mengembangkan perangkat jaringan agar dapat berkomunikasi satu dengan lainnya. OSI menjelaskan bagaimana data dan informasi sebuah aplikasi pada komputer melewati media jaringan berkomunikasi ke aplikasi pada komputer lain.
Model OSI terdiri dari 7 lapisan/layer, mulai dari lapisan fisik sampai dengan aplikasi seperti yang Saudara lihat pada tabel berikut:
No Lapisan
7 Aplikasi
Berfungsi sebagai interface antara user dan komputer (Telnet, FTP, DNS)
6 Presentasi
Berfungsi untuk menyediakan sistem penyajian data ke lapisan aplikasi, translation, format coding, compression, decompression, encryption, decryption misalnya format image (JPEG), audio video (MIDI, MPEG), teks (EBCDIC, ASCII)
5 Sessi
Berfungsi untuk mengkoordinasikan jalan komunikasi antar sistem, mengendalikan dialog antar node (komputer, printer) misal Remote Procedure Call (RPC), Structured Query Language (SQL)
4 Transport
Bertanggung jawab dalam proses pengiriman data antar host.
Misal protokol TCP/IP
3 Network
Bertanggung jawab melakukan routing antar jaringan, mengelola sistem pengalamatan logika terhadap jaringan komputer. Misal IP (Internet Protokol) yang merupakan bagian dari TCP/IP
2 Datalink
Berfungsi untuk membungkus paket data dari network dan menjamin paket terkirim ke host lain dengan alamat yang tepat.
1 Fisik
Melakukan pengiriman dan penerimaan bit. Lapisan ini berhubungan secara langsung dengan media komunikasi yang berbeda-beda.
Tabel 1. Lapisan OSI.
Saudara tidak perlu pusing dengan pembagian lapisan di atas. Pembagian lapisan tersebut sudah diatur pada perangkat jaringan. Artinya kita sebagai pengguna tinggal memakainya sesuai keperluan. Tetapi untuk menambah pengetahuan Saudara bahwa dari tabel urutan lapisan di atas, aplikasi merupakan lapisan yang paling dekat dengan kita sebagai pengguna komputer.

Belajar Menjadi Hacker


Hacker dengan keahliannya dapat melihat & memperbaiki kelemahan perangkat lunak di komputer; biasanya kemudian di publikasikan secara terbuka di Internet agar sistem menjadi lebih baik. Sialnya, segelintir manusia berhati jahat menggunakan informasi tersebut untuk kejahatan – mereka biasanya disebut cracker. Pada dasarnya dunia hacker & cracker tidak berbeda dengan dunia seni, disini kita berbicara seni keamanan jaringan Internet.

Saya berharap ilmu keamanan jaringan di tulisan ini digunakan untuk hal-hal yang baik – jadilah Hacker bukan Cracker. Jangan sampai anda terkena karma karena menggunakan ilmu untuk merusak milik orang lain. Apalagi, pada saat ini kebutuhan akan hacker semakin bertambah di Indonesia dengan semakin banyak dotcommers yang ingin IPO di berbagai bursa saham. Nama baik & nilai sebuah dotcom bisa jatuh bahkan menjadi tidak berharga jika dotcom di bobol. Dalam kondisi ini, para hacker di harapkan bisa menjadi konsultan keamanan bagi para dotcommers tersebut – karena SDM pihak kepolisian & aparat keamanan Indonesia amat sangat lemah & menyedihkan di bidang Teknologi Informasi & Internet. Apa boleh buat cybersquad, cyberpatrol swasta barangkali perlu di budayakan untuk survival dotcommers Indonesia di Internet.


Berbagai teknik keamanan jaringan Internet dapat di peroleh secara mudah di Internet antara lain di http://www.sans.org, http://www.rootshell.com, http://www.linuxfirewall.org/, http://www.linuxdoc.org, http://www.cerias.purdue.edu/coast/firewalls/, http://www.redhat.com/mirrors/LDP/HOWTO/. Sebagian dari teknik ini berupa buku-buku yang jumlah-nya beberapa ratus halaman yang dapat di ambil secara cuma-cuma (gratis). Beberapa Frequently Asked Questions (FAQ) tentang keamanan jaringan bisa diperoleh di http://www.iss.net/vd/mail.html, http://www.v-one.com/documents/fw-faq.htm. Dan bagi para experimenter beberapa script / program yang sudah jadi dapat diperoleh antara lain di http://bastille-linux.sourceforge.net/, http://www.redhat.com/support/docs/tips/firewall/firewallservice.html.

Bagi pembaca yang ingin memperoleh ilmu tentang jaringan dapat di download secara cuma-cuma dari http://pandu.dhs.org, http://www.bogor.net/idkf/, http://louis.idaman.com/idkf. Beberapa buku berbentuk softcopy yang dapat di ambil gratis dapat di ambil dari http://pandu.dhs.org/Buku-Online/. Kita harus berterima kasih terutama kepada team Pandu yang dimotori oleh I Made Wiryana untuk ini. Pada saat ini, saya tidak terlalu tahu adanya tempat diskusi Indonesia yang aktif membahas teknik-teknik hacking ini – tetapi mungkin bisa sebagian di diskusikan di mailing list lanjut seperti kursus-linux@yahoogroups.com & linux-admin@linux.or.id yang di operasikan oleh Kelompok Pengguna Linux Indonesia (KPLI) http://www.kpli.or.id.

Cara paling sederhana untuk melihat kelemahan sistem adalah dengan cara mencari informasi dari berbagai vendor misalnya di http://www.sans.org/newlook/publications/roadmap.htm#3b tentang kelemahan dari sistem yang mereka buat sendiri. Di samping, memonitoring berbagai mailing list di Internet yang berkaitan dengan keamanan jaringan seperti dalam daftar http://www.sans.org/newlook/publications/roadmap.htm#3e.

Dijelaskan oleh Front-line Information Security Team, “Techniques Adopted By ‘System Crackers’ When Attempting To Break Into Corporate or Sensitive Private Networks,” fist@ns2.co.uk http://www.ns2.co.uk. Seorang Cracker umumnya pria usia 16-25 tahun. Berdasarkan statistik pengguna Internet di Indonesia maka sebetulnya mayoritas pengguna Internet di Indonesia adalah anak-anak muda pada usia ini juga. Memang usia ini adalah usia yang sangat ideal dalam menimba ilmu baru termasuk ilmu Internet, sangat disayangkan jika kita tidak berhasil menginternetkan ke 25000 sekolah Indonesia s/d tahun 2002 – karena tumpuan hari depan bangsa Indonesia berada di tangan anak-anak muda kita ini.

Nah, para cracker muda ini umumnya melakukan cracking untuk meningkatkan kemampuan / menggunakan sumber daya di jaringan untuk kepentingan sendiri. Umumnya para cracker adalah opportunis. Melihat kelemahan sistem dengan mejalankan program scanner. Setelah memperoleh akses root, cracker akan menginstall pintu belakang (backdoor) dan menutup semua kelemahan umum yang ada.

Seperti kita tahu, umumnya berbagai perusahaan / dotcommers akan menggunakan Internet untuk (1) hosting web server mereka, (2) komunikasi e-mail dan (3) memberikan akses web / internet kepada karyawan-nya. Pemisahan jaringan Internet dan IntraNet umumnya dilakukan dengan menggunakan teknik / software Firewall dan Proxy server. Melihat kondisi penggunaan di atas, kelemahan sistem umumnya dapat di tembus misalnya dengan menembus mailserver external / luar yang digunakan untuk memudahkan akses ke mail keluar dari perusahaan. Selain itu, dengan menggunakan agressive-SNMP scanner & program yang memaksa SNMP community string dapat mengubah sebuah router menjadi bridge (jembatan) yang kemudian dapat digunakan untuk batu loncatan untuk masuk ke dalam jaringan internal perusahaan (IntraNet).

Agar cracker terlindungi pada saat melakukan serangan, teknik cloacking (penyamaran) dilakukan dengan cara melompat dari mesin yang sebelumnya telah di compromised (ditaklukan) melalui program telnet atau rsh. Pada mesin perantara yang menggunakan Windows serangan dapat dilakukan dengan melompat dari program Wingate. Selain itu, melompat dapat dilakukan melalui perangkat proxy yang konfigurasinya kurang baik.

Setelah berhasil melompat dan memasuki sistem lain, cracker biasanya melakukan probing terhadap jaringan dan mengumpulkan informasi yang dibutuhkan. Hal ini dilakukan dengan beberapa cara, misalnya (1) menggunakan nslookup untuk menjalankan perintah ‘ls ’ , (2) melihat file HTML di webserver anda untuk mengidentifikasi mesin lainnya, (3) melihat berbagai dokumen di FTP server, (4) menghubungkan diri ke mail server dan menggunakan perintah ‘expn ’, dan (5) mem-finger user di mesin-mesin eksternal lainnya.

Langkah selanjutnya, cracker akan mengidentifikasi komponen jaringan yang dipercaya oleh system apa saja. Komponen jaringan tersebut biasanya mesin administrator dan server yang biasanya di anggap paling aman di jaringan. Start dengan check akses & eksport NFS ke berbagai direktori yang kritis seperti /usr/bin, /etc dan /home. Eksploitasi mesin melalui kelemahan Common Gateway Interface (CGI), dengan akses ke file /etc/hosts.allow.

Selanjutnya cracker harus mengidentifikasi komponen jaringan yang lemah dan bisa di taklukan. Cracker bisa mengunakan program di Linux seperti ADMhack, mscan, nmap dan banyak scanner kecil lainnya. Program seperti ‘ps’ & ‘netstat’ di buat trojan (ingat cerita kuda troya? dalam cerita klasik yunani kuno) untuk menyembunyikan proses scanning. Bagi cracker yang cukup advanced dapat mengunakan aggressive-SNMP scanning untuk men-scan peralatan dengan SNMP.

Setelah cracker berhasil mengidentifikasi komponen jaringan yang lemah dan bisa di taklukan, maka cracker akan menjalan program untuk menaklukan program daemon yang lemah di server. Program daemon adalah program di server yang biasanya berjalan di belakang layar (sebagai daemon / setan). Keberhasilan menaklukan program daemon ini akan memungkinkan seorang Cracker untuk memperoleh akses sebagai ‘root’ (administrator tertinggi di server).

Untuk menghilangkan jejak, seorang cracker biasanya melakukan operasi pembersihan ‘clean-up’ operation dengan cara membersihkan berbagai log file. Dan menambahkan program untuk masuk dari pintu belakang ‘backdooring’. Mengganti file .rhosts di /usr/bin untuk memudahkan akses ke mesin yang di taklukan melalui rsh & csh.

Selanjutnya seorang cracker dapat menggunakan mesin yang sudah ditaklukan untuk kepentingannya sendiri, misalnya mengambil informasi sensitif yang seharusnya tidak dibacanya; mengcracking mesin lain dengan melompat dari mesin yang di taklukan; memasang sniffer untuk melihat / mencatat berbagai trafik / komunikasi yang lewat; bahkan bisa mematikan sistem / jaringan dengan cara menjalankan perintah ‘rm -rf / &’. Yang terakhir akan sangat fatal akibatnya karena sistem akan hancur sama sekali, terutama jika semua software di letakan di harddisk. Proses re-install seluruh sistem harus di lakukan, akan memusingkan jika hal ini dilakukan di mesin-mesin yang menjalankan misi kritis.

Oleh karena itu semua mesin & router yang menjalankan misi kritis sebaiknya selalu di periksa keamanannya & di patch oleh software yang lebih baru. Backup menjadi penting sekali terutama pada mesin-mesin yang menjalankan misi kritis supaya terselamatkan dari ulah cracker yang men-disable sistem dengan ‘rm -rf / &’.

Bagi kita yang sehari-hari bergelut di Internet biasanya justru akan sangat menghargai keberadaan para hacker (bukan Cracker). Karena berkat para hacker-lah Internet ada dan dapat kita nikmati seperti sekarang ini, bahkan terus di perbaiki untuk menjadi sistem yang lebih baik lagi. Berbagai kelemahan sistem di perbaiki karena kepandaian rekan-rekan hacker yang sering kali mengerjakan perbaikan tsb. secara sukarela karena hobby-nya. Apalagi seringkali hasil hacking-nya di sebarkan secara cuma-cuma di Internet untuk keperluan masyarakat Internet. Sebuah nilai & budaya gotong royong yang mulia justru tumbuh di dunia maya Internet yang biasanya terkesan futuristik dan jauh dari rasa sosial.

Pengembangan para hobbiest hacker ini menjadi penting sekali untuk keberlangsungan / survival dotcommers di wahana Internet Indonesia. Sebagai salah satu bentuk nyatanya, dalam waktu dekat Insya Allah sekitar pertengahan April 2001 akan di adakan hacking competition di Internet untuk membobol sebuah server yang telah di tentukan terlebih dahulu. Hacking competition tersebut di motori oleh anak-anak muda di Kelompok Pengguna Linux Indonesia (KPLI) Semarang yang digerakan oleh anak muda seperti Kresno Aji (masaji@telkom.net), Agus Hartanto (hartx@writeme.com) & Lekso Budi Handoko (handoko@riset.dinus.ac.id). Seperti umumnya anak-anak muda lainnya, mereka umumnya bermodal cekak – bantuan & sponsor tentunya akan sangat bermanfaat dan dinantikan oleh rekan-rekan muda ini.

Mudah-mudahan semua ini akan menambah semangat pembaca, khususnya pembaca muda, untuk bergerak di dunia hacker yang mengasyikan dan menantang. Kalau kata Captain Jean Luc Picard di Film Startrek Next Generation, “To boldly go where no one has gone before”.

Jumat, 08 Januari 2010

Masalah IPconfig Dan Ping

Masalah IPconfig Dan Ping

Beberapa macam Utility untuk Troubleshooting koneksi Jaringan TCP/IP pada suatu jaringan koneksi internet atau jaringan koneksi internetwork
Dalam suatu infrastructure jaringan yang berskala besar dalam suatu organisasi, kemampuan untuk melakukan suatu troubleshooting masalah jaringan dan juga masalah system adalah sangat penting. Masalah dalam suatu jaringan adalah kebanyakan masalah konesi kepada jaringan. Strategy dasar untuk troubleshooting koneksi jaringan adalah berangkat dari sumber masalah / lokasi masalah, dan kita bisa memulai memferifikasi fungsional pada layer-layer jaringan bagian bawah. Jika sebuah komputer mengalami masalah koneksi kepada jaringan local langkah pertama yang bisa kita lakukan adalah memeriksa konfigurasi TCP/IP meliputi IP address, subnet mask, gateway, atau parameter IP lainnya.
• Untuk troubleshooting konfigurasi jaringan gunakan tool berikut: ipconfig, network diagnostic, dan Netdiag
• Untuk troubleshooting masalah koneksi gunakan tool berikut: ping, pathping, tracert, dan juga arp
Troubleshooting konfigurasi TCP/IP
Misalkan konfigurasi sederhana pada diagram jaringan berikut ini adalah diagram umum untuk jaringan internet di rumahan untuk koneksi ke Internet. Jika anda menggunakan layanan Speedy Telkom, maka modem-router yang digunakan biasanya mempunyai konfigurasi default dengan IP address 192.168.1.1 yang mana IP address ini merupakan IP address Gateway bagi komputer yang terhubung dengan jaringan. Modem-router yang dipakai biasanya juga berfungsi sebagai DHCP server yang memberikan konfigurasi IP address kepada komputer dalam jaringan. Misalkan pada komputer A ada masalah tidak bisa koneksi terhadap komputer B atau tidak bisa koneksi ke Internet.

Troubleshooting Koneksi Internet
Untuk troubleshooting konfigurasi TCP/IP maka kita bisa memulai dari komputer yang bermasalah. Kita bisa memeriksa konfigurasi TCP/IP dengan menggunakan tool ipconfig pada command prompt. Bagaimana caranya? Tekan tombol ‘Windows’ dan tombol ‘R’ secara bersamaan untuk memunculkan windows RUN berikut dan ketik “cmd” terus klik “OK”.
Setelah itu pada command prompt ketik ipconfig, dan akan muncul konfigurasi IP address, subnet mask, dan gateway. Atau jika ingin melihat konfigurasi lebih lengkap gunakan parameter /all menjadi ipconfig /all dan tekan Enter, maka akan muncul konfigurasi lengkap seperti gambar dibawah ini dan kita bisa melihat konfigurasi DNS server yang dipakai (pada contoh terlihat DNS server dari Telkom).

Troubleshooting Dg ipconfig /all
Misalkan terjadi IP address duplikat dengan komputer lain yang ada pada jaringan maka pada subnet mask akan muncul: 0.0.0.0. kemungkinan terjadi IP duplikat jika anda tidak menggunakan DHCP server, dan IP address di setup manual ke komputer-2. Untuk memastikan bahwa konfigurasi TCP/IP pada komputer anda benar, maka gunakan ping loopback dengan mengetikkan di command promp ping 127.0.0.1 atau ping localhost, dan jika konfigurasi sudah benar maka akan muncul respon dengan “0% lost” seperti pada gambar berikut ini.

Troubleshooting Koneksi – Ping Localhost
Jika semua tampak bagus tapi anda masih tidak bisa juga akses ke internet Speedy, cobalah ping ke computer satunya dengan mengetikkan command berikut ke IP address computer B, ping 192.168.1.5. jika respon nya juga tidak bagus dengan 0% lost, maka perhatikan lampu di modem-router apakah lampu ADSL dan Internet juga nyala normal, bisa jadi lampu Internet mati, berarti ada masalah dengan Speedy. Hal ini bisa saja terjadi jika anda mengubah password account anda di website nya Telkom Speedy dengan password yang anda gampang mengingatnya.
Jika anda mengubah password account anda di Website Telkom Speedy, maka anda juga harus mengubah password yang ada di modem-router di rumah anda, anda bisa menelpon 147 untuk minta bantuan – setidaknya dipandu untuk mengganti password di modem-router anda.
Network Diagnostic
Dalam suatu infrastructure jaringan windows server 2003, network diagnostic biasa digunakan untuk untuk troubleshooting jaringan juga. Network Diagnostic dalah interface grafis yang sudah ada dalam Windows server 2003 yang bisa memberikan informasi detail tentang konfigurasi jaringan local. Untuk mengaksesnya, jalankan Help and Support dari Start Menu => Tools pada Support Task area => klik Tools => cari Network Diagnostics dan klik => akan muncul disisi kanan seperti pada gambar dibawah berikut ini.

Network Diagnostic – Scan
Ketika “Scan Your System” di klik, Network Dianostic akan menjalankan serangkaian test yang akan mengumpulkan informasi tentang environment local seperti gambar berikut ini.

Network Diagnostic – Hasil Scan
Informasi yang dikumpulkan akan dijabarkan dalam serangkainan category yang secara default ada tiga katagory:
• Internet service category, meliputi informasi tentang Outlook Express Mail, Microsoft Outlook Express News, dan konfigurasi Internet Explorer Web Proxy
• Category informasi komputer, meliputi setting parameter Registry, Operating system dan versinya
• Category Modem and Network Adapter, meliputi setting parameter registry modem, network adapter dan network clients.
NETDIAG Utility
Netdiag adalah utility command line yang harus dinstall terlebih dahulu dari CD instalasi Windows server 2003 yang berada pada directory \Support\Tools dan dobel klik file Supports.msi.
Untuk melakukan troubleshooting masalah jaringan, anda bisa melakukan scan Netdiag dan periksa hasilnya atas error message yang mungkin ada.
Troubleshooting Koneksi menggunakan Ping dan Pathping
Ping adalah utilitas untuk memeriksa koneksi level IP, sementara Pathping digunakan untuk mendeteksi kehilangan paket saat paket menjelajah dari hop ke hop (dari router ke router). Command Ping digunakan untuk mengirim permintaan echo ICMP (Internet Control Message Protocol) kepada host yang di target seperti pada contoh diatas.
1. Untuk verifikasi konfigurasi TCP/IP gunakan ping 127.0.0.1 pada command prompt. Jika test ping gagal atau tidak ada response (100% lost) maka bisa jadi driver tidak benar, network adapternya rusak, atau terjadi interferensi IP dengan service lain.
2. Untuk verifikasi IP address sudah benar ditambahkan ke komputer lakukan ping ke IP address local host pada command prompt
3. Secara umum gunakan ping dengan IP address atau host name. jika ping dengan IP address sukses, bisa jadi ping ke hostname gagal dikarenakan masalah name resolution
Jika usaha ping gagal di setiap titik, periksa yang berikut
• Pastikan bahwa IP address local komputer dan juga subnet mask sudah dikonfigure dengan benar
• Default gateway juga dikonfigure dengan benar dan link antara local host dan gateway juga sudah dikonfigure dengan benar.
Jika ping ke remote host pada link yang lambat seperti sambungan link satellite, maka response akan memakan waktu agak lambat untuk merespon. Gunakan parameter –w untuk respon time-out yang agak lama misal 10000 msec gunakan “ping –w 10000 IP_Address”. Default time-out dari ping adalah 1000 msec (1 detik).
Troubleshooting dengan Tracert
Tracert adalah utility untuk tracing route yang bisa anda gunakan untuk tracking path sampai 30 hops router-to-router. tracert juga menggunakan ICMP echo request kepada suatu IP address, dengan menaikkan TTL (time to live) pada header IP dimulai dari 1, dan menganalisa error ICMP saat respon kembalian. Misal pada contoh berikut dilakukan tracert yahoo.com dari local komputer.
Jika ingin mendapatkan link yang sering tersendat-sendat gunakan pathping untuk melihat disisi router mana terjadinga delay / kehilangan paket yang sangat besar.
Troubleshooting menggunakan utility ARP
Jika anda bisa melakukan ping pada kedua IP address local anda dan juga loopback dengan sukses, akan tetapi anda tidak bisa ping ke suatu host pada subnet local, maka periksalah cache ARP (Address Resolution Protocol) barangkali ada kesalahan / error. Utility ARP ini sangat berguna untuk melihat cache daftar ARP, gunakan arp –a pada local host. Untuk membersihkan daftar arp, gunakan parameter –d, arp –d IP_address.
Untuk melihat address physical (MAC address) gunakan ipconfig /all atau getmac. Jika anda tidak mendapatkan error pada command ARP –a dan anda juga tidak berhasil ping ke host pada subnet yang sama, maka anda bisa memeriksa pada media fisik seperti LAN Card, Switch, dan atau cable jaringan.