Pages

Wednesday, January 14, 2009

Tutorial HTML - Video Youtube di Blog


Apakah anda pernah melihat suatu website dengan tambahan video dari youtube? Hmm... terlihat bagus kan? Anda bisa menambahkan nya dengan cara menambahkan script HTML embed video tersebut, caranya?
  1. Anda buka Youtube.com
  2. Search video yang anda inginkan
  3. Setelah  itu copy code embed nya
  4. Paste di halaman website anda
Perlu anda ketahui untuk kecepatan akses nya, kalau visitor mengakses video youtube website anda dari warnet, kemungkinan agak lambat.

------
Selamat menikmati :D~~
Sumber dari situs Ilmu Website dalam kategori html dengan judul Video Youtube di Website Anda

Tuesday, January 13, 2009

Tutorial HTML - Membuat Box Style Link Cantik CSS

Membuat Box Style Link Cantik ala dr.emi dengan CSS

Jimanee nDesign box link cantik dengan menggunakan CSS ?

Pernah liat page link nyang ada di :
    http://www.dremi.info/tutorial/photoshop-forum.php ???

nah bagian paging na gw pake CSS bwat bikin box link na, kali ini kita bikin nyang sama tapi dengan style CSS nyang berbeda.

Simple aja mulai dengan style ke gini:

 

<style>
    #pagin a
    {
    font-family:Tahoma;
    font-size:11px;
    display:block;
    float:left;
    cursor:pointer;
    color:#00c;
    text-decoration:none;
    display:inline-block;
    border:1px solid #ccc;
    padding:.3em .7em;
    margin:0 .38em 0 0;
    text-align:center
    }
    #pagin a:hover
    {
    background:#f0f7e8;
    border:1px solid #83bc46
    }
    #pagin a.sel
    {
    color:#333;
    font-weight:normal;
    background:#f0f7e8;
    cursor: default;
    border:1px solid #83bc46
    }
    </style>

 

Tros terapkan ke dalam halaman HTML lu:

 

<div id="pagin">
    <a class="sel">1</a><a href="http://csslovers.co.cc">2</a>
    <a href="http://dremi468.blogspot.com">3</a>
    <a href="http://dremi.info/tutorial/photoshop-forum.php">4</a>
    </div>

heehe jadi dah, lagi lagi tutorial CSS na singket !!! biarin weks :P !!

Penasaran kan mao liat hasilna ?? klik ajah link dibawah ini, bwat preview hasilna:

http://www.dremi.info/web/tips/css-box-style-design.html

 

Tros kalo mao download disini:

http://www.ziddu.com/download/1774822/css-box-style-design.rar.html

 

Thanks, dr.emi

Thanks to brotherhood and sister of ilmuwebsite.com

Bwat ephi.... opo iku boooyoooo ??????? gyaahahahahahhahahaha :P


Sumber dari situs Ilmu Website dalam kategori html dengan judul Membuat Box Style Link Cantik ala dr.emi dengan CS

Belajar PHP - Redirect Halaman Kompleks


Lagi-lagi penulis coba untuk membayar hutang. :D. Hutang mengenai
tutorial yang membahas redirect halaman secara kompleks. Sebelum menuju
inti pembahasan, penulis akan beri penjelasan apa dan bagaimana contoh
kasus dari redirect halaman secara kompleks ini.
Mungkin ada
sebagian orang yang pernah mencoba searching di google mengenai artikel
yang dia cari, namun ketika mendapatkan artikel tersebut, web tersebut
hanya membolehkan user yang sudah teregistrasi saja yang dapat
mengakses artikel tersebut. Maka, langkah selanjutnya yang dilakukan
oleh user tersebut adalah meregistrasikan dirinya untuk menjadi member
pada website tersebut, pada form yang letak halamannya berbeda dengan
artikel yang dicari. Namun setelah proses registrasi selesai, dan
proses login berhasil, user secara otomatis di redirect ke halaman yang
dia tuju sebelumnya. Ini adalah contoh kecil dari redirect kompleks.
Contoh lainnya, ketika user yang akan mencoba untuk mendownload sebuah
file pada halaman tertentu di suatu website, user tersebut diharuskan
untuk login terlebih dahulu, tapi setelah login user langsung
diredirect secara otomatis menuju halaman download. :D. Pada tutorial
kali ini, penulis akan coba jawab itu berbagai persoalan tersebut. Mari
.. mari ... :D

Ya, persiapkan terlebih dulu databasenya :

create database simple_cms ;
use simple_cms ;
create table user( id int(5) PRIMARY KEY auto_increment, username varchar(20), password varchar(50));
create table article (id int(5) PRIMARY KEY auto_increment, penulis varchar(20), judul varchar(200), isi text);

insert into user values ('','admin',md5('admin'));
insert
into article values('','Loka Dwiartara','Kegantengan
Abadi','Kegantengan abadi terpancar dari kekerenan sejati. Aura
kegantengan selalu terpancar dari kerennya seseorang. :D. Kadang banyak
yang berpikir keindahan secara fisik itu melebihi dari segalanya. Kita
tahu bahwa b_scorpio itu tidak ganteng, tapi setidaknya tolong hargai
dia :D'),  ( '','Loka Dwiartara','PHP is powerfull easy
language ... ', 'Kekerenan php dalam menangani pengembangan sistem
informasi berbasis website patut di acungi 4 jempol kaki dan tangan,
kehebatannya melebihi b_scorpio yang tidak pandai menggaet i#a, wanita
yang dia suka. ;D~~~, peace ... damai ... ') ;


Selanjutnya, config.php :
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "simple_cms" ;

$connect = mysql_connect($host, $username, $password);
mysql_select_db( $database , $connect) or die ("MySQL is error!!");
?>

Kemudian, halaman login.php :

<html>
<head><title>Login Page ...!</title></head>
<body>
<form action=cek.php method=POST>
<table
border=0
bcolor=#DFDFDF><tr><td>username</td><td><input
type=text name=username></td></tr>

<tr><td>password</td><td><input type=password name=password></td></tr>
<tr><td></td><td><input type=submit name=submit value=submit></td></tr>
</table>
</form>
</body>
</html>

Selanjutnya, file cek.php, disinilah redirect kompleks halaman berada :

<?php
session_start();
require_once "config.php";

if (ISSET($_POST['username']) && ISSET($_POST['password']) )
{
    $username = $_POST['username'];
    $password = md5($_POST['password']);
    $session_halaman = $_SESSION['halaman'];

    $cekuser = "select username, password from user where username = '$username' and password = '$password'";
    $query_cekuser = mysql_query($cekuser);
    $exist = mysql_num_rows($query_cekuser);

    if ($exist >= 1)
    {
        $_SESSION['user'] = session_id();
        header("location: index.php?view=page&id=$session_halaman");
    }
    
    else
    {
        header("location: login.php");
    }

}

?>

Dan halaman index.php, untuk menampilkan artikelnya :

<?php
session_start();
require_once "config.php";
if (!ISSET($_REQUEST['id']) )
{
    $list_article = "select * from article";
    $query_list_article = mysql_query($list_article);
    echo "<h3>Article Today</h3>";    
    if (ISSET($_SESSION['user']))
    {
  
     echo "</p><b>Welcome back User</b>. Do you want
<a href=logout.php>logout</a> ? :D~~ </p>";

    }
    
    
    while ($showlist = mysql_fetch_array($query_list_article))
    {    
        $id = $showlist['id'];
        $penulis = $showlist['penulis'];
        $judul = $showlist['judul'];
        $isi = $showlist['isi'];
        $panjangartikel = strlen($isi);
        $isi_dipotong = substr($isi, 0, 60);
        $isi_fix = substr($isi, 0, strrpos($isi_dipotong, " "));
        $isi_fix .= "...";
        
        echo "<b>$judul</b><br>
              Oleh : $penulis<br>
              <p>$isi_fix <a href=index.php?view=page&id=$id>selengkapnya</a></p>
              <hr width=45% align=left>";
              
    }
}

else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
{

    $id = $_REQUEST['id'] ;
    if (!ISSET($_SESSION['user']))
        {
        $_SESSION['halaman'] = $id ;
        echo "Login dulu dong <a href=login.php>di sini</a>";
        }
        
    else
        {
        $list_article = "select * from article where id = '$id' ";
        $query_list_article = mysql_query($list_article);
    
        while ($showlist = mysql_fetch_array($query_list_article))
            {    
            $id = $showlist['id'];
            $penulis = $showlist['penulis'];
            $judul = $showlist['judul'];
            $isi = $showlist['isi'];
        
            echo "<h3>Article Today</h3>";
            echo "<b>$judul</b><br>
                    Oleh : $penulis<br>
                    <p>$isi</p>
                    <hr width=100% align=left>";
              
            }
            
            echo "<a href=index.php?view=page>Kembali...</a>";
        }
    
}

?>


Terakhir adalah, file logout.php :

<?php
session_start();
unset($_SESSION['user']);
session_destroy();
header("location: index.php");
?>

Hmmm..
panjang juga scriptnya. :D~ Penulis coba jelaskan beberapa baris yang
penting saja. Lihat ke halaman index.php, di situ terdapat baris
seperti ini  :

....
else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
{

    $id = $_REQUEST['id'] ;
    if (!ISSET($_SESSION['user']))
        {
        $_SESSION['halaman'] = $id ;
        echo "Login dulu dong <a href=login.php>di sini</a>";
        }
        

...

else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
Ini berarti, jika user mengklik salah satu artikel di halaman index,

if (!ISSET($_SESSION['user']))
dan jika user belum login,

$_SESSION['halaman'] = $id ;
maka, rekam halaman yang akan dibuka, simpan halaman tersebut ke dalam variable session.

echo "Login dulu dong <a href=login.php>di sini</a>";
Persilahkan user untuk login dulu.

Nah selanjutnya, jika user telah login maka artikel langsung di perlihatkan seluruhnya, seperti pada baris ini

....
else
        {
        $list_article = "select * from article where id = '$id' ";
        $query_list_article = mysql_query($list_article);
    
        while ($showlist = mysql_fetch_array($query_list_article))
            {    
            $id = $showlist['id'];
            $penulis = $showlist['penulis'];
            $judul = $showlist['judul'];
            $isi = $showlist['isi'];
        
            echo "<h3>Article Today</h3>";
            echo "<b>$judul</b><br>
                    Oleh : $penulis<br>
                    <p>$isi</p>
                    <hr width=100% align=left>";

....

Kemudian untuk script cek.php

if (ISSET($_POST['username']) && ISSET($_POST['password']) )
Jika user telah mengisi password dan username,

....

$cekuser = "select username, password from user where username = '$username' and password = '$password'";
maka buat sebuah query yang akan menyeleksi apakah username dan passwordnya ada.

...

$query_cekuser = mysql_query($cekuser);
Jalankan querynya ...

$exist = mysql_num_rows($query_cekuser);
Apakah username dan password yang dimasukkan tersebut ada dalam database?

if ($exist >= 1)
{
Jika ada,

$_SESSION['user'] = session_id();
maka buat session baru untuk user

header("location: index.php?view=page&id=$session_halaman");
Redirectkan
si user ke halaman yang dia tuju sebelumnya ... Ya, disinilah letak
dari redirect kompleksnya. :D. Cukup manfaatkan saja session yang ada
untuk meredirect user ke halaman yang dituju.

}

else
{
header("location: login.php");
jika username dan password salah, persilahkan user untuk login ulang.

}

}
Untuk screenshoot demonya seperti ini :


Ini adalah halaman pertama kali


Ketika salah satu link akan diklik, maka user diperintahkan untuk login terlebih dahulu


Setelah login berhasil maka user secara otomatis langsung di redirect ke halaman tujuan yang awal.


Yup,
penulis kira sudah cukup jelas untuk redirect kompleks. Jika ada yang
ditanyakan silahkan kirim email ke alkemail@gmail.com. Selamat mencoba.


Script tersebut dapat di download di sini
http://networkandgame.890m.com/ilmuwebsite/article/redir-complex-by-alk.zip

Greetz
: b_scorpio, abuzahra, peterpanz, kandar, phii_, syahrilrohman, ivan,
dr.emi, safril, najwa. Special for jojo. :). Hi, Jo! Have a nice day.


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Redirect Halaman Kompleks

Belajar PHP - Operasi String


Operasi string begitu penting dalam dunia per-php-an. Kenapa begitu penting ? Karena melakukan pekerjaan dengan php, baik itu membangun suatu sistem informasi, membuat fasilitas searching di web, dan berbagai hal lain yang berhubungan dengan web development tak lepas dari operasi string. Begitu banyak fungsi operasi string yang ada, dan banyak pula fungsi string yang sering digunakan, sehingga penulis perlu membaginya menjadi beberapa artikel mengenai operasi string ini. Untuk artikel bagian pertama penulis akan menjelaskan 2 fungsi yang memiliki tugas tambahan selain dari mencari string. Antara lain :

  • substr()
  • strstr()

Substr(), memiliki fungsi untuk mengambil satu, atau banyak karakter dari suatu variable. Implementasinya seperti mengambil karakter yang dihasilkan dari fungsi DATE() –nya mysql. Contoh penggunaannya adalah sebagai berikut :

<?php
$tanggal = '012409';

$bulan = substr($date, 0, 2);
$hari = substr($date, 2, 2);
$tahun = substr($date, -2);

echo "$hari/$bulan/$tahun";
?>

Hasilnya adalah :
24/01/09

Penjelasannya adalah sebagai berikut :

$bulan = substr($date, 0, 2);
Ambil 2 karakter dari digit terdepan, hasilnya adalah 01

$hari = substr($date, 2, 2);
Ambil 2 karakter dari digit ke 3. Karena string  memiliki urutan awal 0, maka angka 2 pada variable $tanggal memiliki posisi di urutan ke 2. Hasilnya adalah 24.

Untuk membuktikannya :
<?php
$tanggal = '012409';
echo $tanggal[2];
?>

hasilnya adalah :
2

Dan yang terakhir adalah
$tahun = substr($date, -2);
Ini berarti ambil 2  karakter dari belakang. Hasilnya adalah 09.


Strstr(),  fungsi ini digunakan untuk mengembalikan semua string dibelakang string yang dicari. Misalnya ada sebuah kalimat :
"Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k",
karakter yang dicari adalah "--",
maka hasil dari fungsi strstr() adalah "--Al-k"

Contoh penggunaanya :

<?php
$kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k";
$tanda = '--';
$yangdicari = strstr ($kalimat, $tanda);
echo $yangdicari;
?>

Hasilnya adalah :
--Al-k

Implementasi penggunaan strstr() contohnya seperti ini :
<?php
$kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k";
$tanda = '--';

if ($yangdicari = strstr ($kalimat, $tanda)) {
   echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'";
} else {
   echo "Nggak ada ungkapan tuhh !!";
}
?>

Penjelasannya adalah sebagai berikut :

if ($yangdicari = strstr ($kalimat, $tanda)) {
jika karakter yang di cari dalam hal ini $tanda ada pada  string $kalimat, maka kembalikan string yang berada di belakang tersebut kedalam variable $yangdicari.

echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'";

bagian intinya adalah substr ($yangdicari , strlen ($tanda))

Jika di ubah kedalam nilai sebenarnya adalah
substr ("--Al-k" , 2 )

tampilkan string yang dicari tersebut dengan melewatkan tanda --.

Hasilnya adalah :
Al-k

Sehingga hasil keutuhan dari script

<?php
$kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k";
$tanda = '--';

if ($yangdicari = strstr ($kalimat, $tanda)) {
   echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'";
} else {
   echo "Nggak ada ungkapan tuhh !!";
}
?>

Adalah :

Ungkapan mantap tadi di buat oleh 'Al-k'

Cukup mudah ya ? Cukup narsis juga ! :D

Artikel Lebih dalam dengan operasi string bagian pertama saya cukupkan sampai disini. Untuk bagian ke 2 dan terakhir akan penulis jelaskan di belajar php berikutnya.

Greetz : b_scorpio, abuzahra, peterpanz, kandar, phii_, syahrilrohman, ivan, dr.emi, safril, najwa, Lapak-online Team!


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam dengan operasi string bag.1

Tuesday, May 27, 2008

Apakah telapak tanganmu berkeringat, hatimu berdebar kencang dan suaramu tercekat di dadamu? Itu bukan Cinta, itu NGAREP.

Apakah kamu merasa terdorong untuk tidak melepaskan pandangan atau mata darinya setiap saat? Itu bukan Cinta, itu NAFSU.

Apakah kamu menginginkannya karena kamu tahu ia ada di sana dan bersama-samanya pasti terasa menyenangkan? Itu bukan Cinta, itu KESEPIAN.

Apakah kamu mencintainya karena itu yang diajarkan semua orang yang kamu kenal? Itu bukan Cinta, itu LOYALITAS.

Apakah kamu tetap tinggal untuk pengakuan cintanya karena kamu tidak ingin melukai hatinya? Itu bukan Cinta, itu BELAS KASIHAN.

Apakah kamu ada disana karena dia mencium atau memegang tanganmu? Itu bukan Cinta, itu KURANG PEDE.

Apakah kamu menjadi miliknya karena pandangan matanya membuat hatimu melompat? Itu bukan Cinta, itu TERGILA-GILA.

Apakah kamu memaafkan kesalahannya karena kamu memperdulikannya? Itu bukan Cinta, itu PERSAHABATAN.

Apakah kamu mengatakan padanya bahwa setiap hari hanya dia yang kamu pikirkan? Itu bukan Cinta, itu DUSTA.

Apakah kamu rela memberikan seluruh hal yang kamu senangi untuk kepentingan dirinya? Itu bukan Cinta, itu KEMURAHAN HATI.

Friday, February 03, 2006

10 ATURAN MAIN Teman Tapi Mesra ( TTM )

Punya temen curhat yg bisa diajak nemenin nonton, dugem malem
minggu-an or sekedar nebeng pulang kantor, tapi tetep bisa ngecengin yg laen
emang seru, asal tau aturan mainnya!!!!

Nih die aturannye :

1. JUST FOR FUN

Buang jauh-jauh khayalan romantis qta dgn si dia . Soalnya rugi banget
kalo blom apa-apa qta udah berharap yg muluk, ujung-ujungnya bisa jadi
makan hati

TTM-an juga berarti nggak "melegalkan" qta tuk ngambek kalo si dia
tiba-tiba menghilang ato gak ada disamping qta saat dibutuhkan. Cukup dgn
menikmati perhatiannya, SMSnya yg lucu2, telepon iseng buat ngobrol
kalo lg nganggur. Begitu jg sebaliknya, dia ga berhak nuntut qta
bersikap sbg pacarnya. So jgn tempatkan diri sbg pacarnya. INGAT-INGAT
HUBUNGAN INI CUMA BUAT SENENG2 DOANG TITIK!!!!!

2. SIAP-SIAP DIGOSIPIN

Gosip qta dan dia pacaran mungkin bakal beredar secepat jamur tumbuh
dimusim ujan karena qt slalu berdekatan dgnnya. Bisa jadi akibatnya qt
bakal turun pasaran dan "yang" mo ngedeketin qt jadi mikir tiga belas
kali (banyak amat…). Jangan ambil pusing soal ini, but kalo ada yg mo
konfirmasi, jawab aja "TIDAK" dgn tegas. Anggap saja qt selebritis yg
sedang punya pacar gelap dan paparazi disana siap melumat qt kalo
rahasia ini sampai bocor.

3.CEMBURU? NO WAY !

Jangan beri kesempatan rasa cemburu menguasai hati dan pikiran qta.
Dia mo deket ama gebetannya kek ato mo jadian sekalipun, qta ga perlu
sakit hati. Toh qta jg bisa pergi dgn siapa dan kapan saja qta mau.
Emang sich, yg namanya TTM pasti ada rasa sayang dan peluang buat cemburu
gede banget

Tapi gimana kalo dia yg jadi cemburuan?. Ambil sikap tegas n bilang
terus terang, " HEI, aku sama kamu khan cuman temen, kamu nggak berhak
cemburu!!!". HABIS PERKARA.

4.TETEP LIRIK-LIRIK YANG LAEN, DONG!!!!

Biar punya TTM jangan sampai qt melupakan tujuan qt " HUNTING". Coz,
secara de jure n de facto qt masih JOMBLO lho….Artinya , usaha ngeceng
n TP alias tebar pesona kudu musti tetep jalan terus atuh !.Buka
pintu hati qta selebar mungkin buat cintalaen yg bakal mampir.

5. HAPPY BEING SINGLE

Pastikan, saat qta memutuskan hanya TTM-an pd saat itu jg qt sedang
tdk ada masalah dgn status men jomblo. Jadikan TTM sbg kesempatan tuk
mengenal lawan jenis saja, bukan untuk menjadi komitmen. Pastikan dia jg
tau soal ini, supaya nggak membuai qta dgn janji2 palsu. So, kalo
skrg lagi ngebet banget pengen pacaran, mendingan lupain aja deh niat
TTM-an. Ujung2nya cuma bikin sakit hati.

6. JANGAN TERLALU BERHARAP, DECH!!

Jodoh itu ditangan Tuhan, jadi bukalah mata qta selebar-lebarnya.
Nggak perlu ngotot krn udah deket n saling mengenal lantas qt n dia pasti
berjodoh. Sering banget justru apa yg qt mau bukanlah yg qt butuhkan.
Bagaimanapun usaha qta buat mendapatkan seseorang kalo si dia bukan
jodoh qta, nggak akan pernah dapat. Begitu jg sebaliknya, kalo sudah
jodoh nggak perlu dikejar jg datang sendiri.

7. HINDARI JANJI PALSU !

Janji berarti memberikan harapan. Makanya hindarilah saling memberi
janji, apalagi qt tau kalo itu nggak mungkin terwujud. Saling memuji
sich boleh, tapi kata2 konyol " Kalo sampai usia 30 th qt blom ktemu
orang yg tepat, qt merried yuk…!" mendingan dibuang jauh2.

8.KADO-KADO NETRAL

Si dia ulang taon, boleh jg qt kasih kado tapi pilih yg "netral".
Nggak perlu dech memberi kaos lucu dengan sulaman khusus or gambar khusus
yg qt kerjakan selama berminggu-minggu lengkap dgn inisial nama qt n
dia. It's too much, darling….!

9. ATURAN FISIK

Sebaiknya aturan ini ditegaskan dari awal krn cukup sensitif lho.
Paling aman hindari semua sentuhan fisik yg sengaja tuk memberi rasa
nyaman. Kecuali kalo secara reflek qt memukul lengan dia pas lg bercanda or
sekedar " cipika-cipiki"alias cium pipi kanan-cium pipi kiri pas dia
ulang taon itu sih sah-sah aja. Tapi kalo dia mulai memegang tangan qt
pas nonton or ngajak ciuman, waduh…nanti dulu dah…..!!!!

10. TAHU KAPAN HARUS BERHENTI

Jika perasaan qt udah nggak "normal" lg, bilang terus terang dgn dia n
tanyakan perasaannya. Jika ternyata si dia biasa-biasa aja, itu berarti
udah saatnya masa TTM-an diakhiri. Sama halnya kalo qt or dia udah
punya pacar,nggak perlu lg ada TTM-an. Nggak mau jg khan kalo pacar qt
punya TTM.

Monday, January 02, 2006

Naek Gunung Gede


Kemaren kita bersama-sama melakukan pendakian ke gunung Gede Pangrango sekaligus merayakan pergantian tahun baru , perjalanan biarpun jauh dan melelahkan tapi lumayan seru meski hampir terlambat sampe lokasi perkemahan jam 23.40 gara2 ada teman yang hilang kesasar dalam konvoi pas masuk kota Sukabumi , kejadian lucu tujuan kita pas naek adalah niatnya sampe ke puncak tapi berhubung salah ambil rute malah nyasar ke air terjun, yaudah skalian terjun masuk air bersama sampe mengigil kedinginan brrr dan disana pula watak asli temen gw kliatan mengeluarkan suara2 merdu yg mirip bgt dengan monyet :)) , it was funny i thought, btw i hope moga2 ada kesempatan lagi buat naek gunung bareng2 dengan temen2 sekantor tahun ini, amien

Friday, December 23, 2005

Tutorial Instalasi W-LAN Jilid I

Tutorial ini sangat bagus untuk dilirik oleh para netmaster wireless.
Silahkan baca & terapkan secara teknis...

Peralatan
1. Kompas dan peta topografi
2. Penggaris dan busur derajat
3. Pensil, penghapus, alat tulis
4. GPS, altimeter, klinometer
5. Kaca pantul dan teropong
6. Radio komunikasi (HT)
7. Orinoco PC Card, pigtail dan PCI / ISA adapter
8. Multimeter, SWR, cable tester, solder, timah, tang potong kabel
9. Peralatan panjat, harness, carabiner, webbing, cows tail, pulley
10. Kunci pas, kunci ring, kunci inggris, tang (potong, buaya, jepit), obeng set, tie rap, isolator gel, TBA, unibell
11. Kabel power roll, kabel UTP straight dan cross, crimping tools, konektor RJ45
12. Software AP Manager, Orinoco Client, driver dan AP Utility Planet, firmware dan operating system (NT, W2K, W98 / ME, Linux, FreeBSD + utilitynya)

Survey Lokasi
1. Tentukan koordinat letak kedudukan station, jarak udara terhadap BTS dengan GPS dan kompas pada peta
2. Perhatikan dan tandai titik potensial penghalang (obstructure) sepanjang path
3. Hitung SOM, path dan acessories loss, EIRP, freznel zone, ketinggian antena
4. Perhatikan posisi terhadap station lain, kemungkinan potensi hidden station, over shoot dan test noise serta interferensi
5. Tentukan posisi ideal tower, elevasi, panjang kabel dan alternatif seandainya ada kesulitan dalam instalasi
6. Rencanakan sejumlah alternatif metode instalasi, pemindahan posisi dan alat

Pemasangan Konektor
1. Kuliti kabel coaxial dengan penampang melintang, spesifikasi kabel minimum adalah RG 8 9913 dengan perhitungan losses 10 db setiap 30 m
2. Jangan sampai terjadi goresan berlebihan karena perambatan gelombang mikro adalah pada permukaan kabel
3. Pasang konektor dengan cermat dan memperhatikan penuh masalah kerapian
4. Solder pin ujung konektor dengan cermat dan rapi, pastikan tidak terjadi short
5. Perhatikan urutan pemasangan pin dan kuncian sehingga dudukan kabel dan konektor tidak mudah bergeser
6. Tutup permukaan konektor dengan aluminium foil untuk mencegah kebocoran dan interferensi, posisi harus menempel pada permukaan konektor
7. Lapisi konektor dengan aluminium foil dan lapisi seluruh permukaan sambungan konektor dengan isolator TBA (biasa untuk pemasangan pipa saluran air atau kabel listrik instalasi rumah)
8. Terakhir, tutup seluruh permukaan dengan isolator karet untuk mencegah air
9. Untuk perawatan, ganti semua lapisan pelindung setiap 6 bulan sekali
10. Konektor terbaik adalah model hexa tanpa solderan dan drat sehingga sedikit melukai permukaan kabel, yang dipasang dengan menggunakan crimping tools, disertai karet bakar sebagai pelindung pengganti isolator karet

Pembuatan PoE

1. Power over ethernet diperlukan untuk melakukan injeksi catu daya ke perangkat Wireless In A Box yang dipasang di atas tower, POE bermanfaat mengurangi kerugian power (losses) akibat penggunaan kabel dan konektor
2. POE menggunakan 2 pair kabel UTP yang tidak terpakai, 1 pair untuk injeksi + (positif) power dan 1 pair untuk injeksi – (negatif) power, digunakan kabel pair (sepasang) untuk menghindari penurunan daya karena kabel loss dan gunakan adaptor dengan daya (Ampere) lebih besar dari standar bawaan perangkat agar mampu mencapai redaman sepanjang kabel UTP
3. Perhatikan bahwa permasalahan paling krusial dalam pembuatan POE adalah bagaimana cara mencegah terjadinya short, karena kabel dan konektor power penampangnya kecil dan mudah bergeser atau tertarik, tetesi dengan lilin atau isolator (silicon) gel agar setiap titik sambungan terlindung dari short
4. Sebelum digunakan uji terlebih dahulu semua sambungan dengan multimeter.


Instalasi Antena

1. Pasang pipa dengan metode stack minimum sampai ketinggian 1st freznel zone terlewati terhadap obstacle terdekat
2. Perhatikan stabilitas dudukan pipa dan kawat spanner, pasang dudukan kaki untuk memanjat dan anker cows tail
3. Cek semua sambungan kabel dan konektor termasuk penangkal petir bila ada
4. Pasang antena dengan rapi dan benar, arahkan dengan menggunakan kompas dan GPS sesuai tempat kedudukan BTS di peta
5. Pasang kabel dan rapikan sementara, jangan sampai berat kabel menjadi beban sambungan konektor dan mengganggu gerak pointing serta kedudukan antena
6. Perhatikan dalam memasang kabel di tower / pipa, jangan ada posisi menekuk yang potensial menjadi akumulasi air hujan, bentuk sedemikian rupa sehingga air hujan bebas jatuh ke bawah.


Instalasi Perangkat Radio

1. Instal PC Card dan Orinoco dengan benar sampai dikenali oleh OS tanpa konflik dan pastikan semua driver serta utility dapat bekerja sempurna
2. Instalasi pada OS W2K memerlukan driver terbaru dari web site dan ada di CD utility kopian, tidak diperlukan driver PCMCIA meskipun PNP W2K melakukannya justru deteksi ini menimbulkan konflik, hapus dirver ini dari Device Manager
3. Instalasi pada NT memerlukan kecermatan alokasi alamat IO, IRQ dan DMA, pada BIOS lebih baik matikan semua device (COM, LPT dll.) dan peripheral (sound card, mpeg dll.) yang tidak diperlukan
4. Semua prosedur ini bisa diselesaikan dalam waktu kurang dari 30 menit tidak termasuk instalasi OS, lebih dari waktu ini segera jalankan prosedur selanjutnya
5. Apabila terus menerus terjadi kesulitan instalasi, untuk sementara demi efisiensi lakukan instalasi dibawah OS Win98 / ME yang lebih mudah dan sedikit masalah
6. Pada instalasi perangkat radio jenis Wireless In A Box (Mtech, Planet, Micronet dlll.), terlebih dahulu lakukan update firmware dan utility
7. Kemudian uji coba semua fungsi yang ada (AP, Inter Building, SAI Client, SAA2, SAA Ad Hoc dll.) termasuk bridging dan IP Addressing dengan menggunakan antena helical, pastikan semua fungsi berjalan baik dan stabil
8. Pastikan bahwa perangkat Power Over Ethernet (POE) berjalan sempurna.


Pengujian Noise

1. Bila semua telah berjalan normal, install semua utility yang diperlukan dan mulai lakukan pengujian noise / interferensi, pergunakan setting default
2. Tanpa antena perhatikan apakah ada signal strength yang tertangkap dari station lain disekitarnya, bila ada dan mencapai good (sekitar 40 % – 60 %) atau bahkan lebih, maka dipastikan station tersebut beroperasi melebihi EIRP dan potensial menimbulkan gangguan bagi station yang sedang kita bangun, pertimbangkan untuk berunding dengan operator BTS / station existing tersebut
3. Perhatikan berapa tingkat noise, bila mencapai lebih dari tingkat sensitifitas radio (biasanya adalah sekitar – 83 dbm, baca spesifikasi radio), misalnya – 100 dbm maka di titik station tersebut interferensinya cukup tinggi, tinggal apakah signal strength yang diterima bisa melebihi noise
4. Perhitungan standar signal strenght adalah 0 % – 40 % poor, 40 % - 60 % good, 60 % - 100 % excellent, apabila signal strenght yang diterima adalah 60 % akan tetapi noisenya mencapai 20 % maka kondisinya adalah poor connection (60 % - 20 % - 40 % poor), maka sedapat mungkin signal strength harus mencapai 80 %
5. Koneksi poor biasanya akan menghasilkan PER (packet error rate – bisa dilihat dari persentasi jumlah RTO dalam continous ping) diatas 3 % – 7 % (dilihat dari utility Planet maupun Wave Rider), good berkisar antara 1 % - 3 % dan excellent dibawah 1 %, PER antara BTS dan station client harus seimbang
6. Perhitungan yang sama bisa dipergunakan untuk memperhatikan station lawan atau BTS kita, pada prinsipnya signal strenght, tingkat noise, PER harus imbang untuk mendapatkan stabilitas koneksi yang diharapkan
7. Pertimbangkan alternatif skenario lain bila sejumlah permasalahan di atas tidak bisa diatasi, misalkan dengan memindahkan station ke tempat lain, memutar arah pointing ke BTS terdekat lainnya atau dengan metode 3 titik (repeater) dll.

Perakitan Antena

1. Antena microwave jenis grid parabolic dan loop serta yagi perlu dirakit karena terdiri dari sejumlah komponen, berbeda dengan jenis patch panel, panel sector maupun omni directional
2. Rakit antena sesuai petunjuk (manual) dan gambar konstruksi yang disertakan
3. Kencangkan semua mur dan baut termasuk konektor dan terutama reflektor
4. Perhatikan bahwa antena microwave sangat peka terhadap perubahan fokus, maka pada saat perakitan antena perhatikan sebaik-baiknya fokus reflektor terhadap horn (driven antena), sedikit perubahan fokus akan berakibat luas seperti misalnya perubahan gain (db) antena
5. Beberapa tipe antena grid parabolic memiliki batang extender yang bisa merubah letak fokus reflektor terhadap horn sehingga bisa diset gain yang diperlukan.


Pointing Antena

1. Secara umum antena dipasang dengan polarisasi horizontal
2. Arahkan antena sesuai arah yang ditunjukkan kompas dan GPS, arah ini kita anggap titik tengah arah (center beam)
3. Geser antena dengan arah yang tetap ke kanan maupun ke kiri center beam, satu per satu pada setiap tahap dengan perhitungan tidak melebihi ½ spesifikasi beam width antena untuk setiap sisi (kiri atau kanan), misalkan antena 24 db, biasanya memiliki beam width 12 derajat maka, maksimum pergeseran ke arah kiri maupun kanan center beam adalah 6 derajat
4. Beri tanda pada setiap perubahan arah dan tentukan skornya, penentuan arah terbaik dilakukan dengan cara mencari nilai average yang terbaik, parameter utama yang harus diperhatikan adalah signal strenght, noise dan stabilitas
5. Karena kebanyakan perangkat radio Wireless In A Box tidak memiliki utility grafis untuk merepresentasikan signal strenght, noise dsb (kecuali statistik dan PER) maka agar lebih praktis, untuk pointing gunakan perangkat radio standar 802.11b yang memiliki utility grafis seperti Orinoco atau gunakan Wave Rider
6. Selanjutnya bila diperlukan lakukan penyesuaian elevasi antena dengan klino meter sesuai sudut antena pada station lawan, hitung berdasarkan perhitungan kelengkungan bumi dan bandingkan dengan kontur pada peta topografi
7. Ketika arah dan elevasi terbaik yang diperkirakan telah tercapai maka apabila diperlukan dapat dilakukan pembalikan polarisasi antena dari horizontal ke vertical untuk mempersempit beam width dan meningkatkan fokus transmisi, syaratnya kedua titik mempergunakan antena yang sama (grid parabolic) dan di kedua titik polarisasi antena harus sama (artinya di sisi lawan polarisasi antena juga harus dibalik menjadi vertical)


Pengujian Koneksi Radio

1. Lakukan pengujian signal, mirip dengan pengujian noise, hanya saja pada saat ini antena dan kabel (termasuk POE) sudah dihubungkan ke perangkat radio
2. Sesuaikan channel dan nama SSID (Network Name) dengan identitas BTS / AP tujuan, demikian juga enkripsinya, apabila dipergunakan otentikasi MAC Address maka di AP harus didefinisikan terlebih dahulu MAC Address station tersebut
3. Bila menggunakan otentikasi Radius, pastikan setting telah sesuai dan cobalah terlebih dahulu mekanismenya sebelum dipasang
4. Perhatikan bahwa kebanyakan perangkat radio adalah berfungsi sebagai bridge dan bekerja berdasarkan pengenalan MAC Address, sehingga IP Address yang didefinisikan berfungsi sebagai interface utility berdasarkan protokol SNMP saja, sehingga tidak perlu dimasukkan ke dalam tabel routing
5. Tabel routing didefinisikan pada (PC) router dimana perangkat radio terpasang, untuk Wireless In A Box yang perangkatnya terpisah dari (PC) router, maka pada device yang menghadap ke perangkat radio masukkan pula 1 IP Address yang satu subnet dengan IP Address yang telah didefinisikan pada perangkat radio, agar utility yang dipasang di router dapat mengenali radio
6. Lakukan continuos ping untuk menguji stabilitas koneksi dan mengetahui PER
7. Bila telah stabil dan signal strenght minimum good (setelah diperhitungkan noise) maka lakukan uji troughput dengan melakukan koneksi FTP (dengan software FTP client) ke FTP server terdekat (idealnya di titik server BTS tujuan), pada kondisi ideal average troughput akan seimbang baik saat download maupun up load, maksimum troughput pada koneksi radio 1 mbps adalah sekitar 600 kbps dan per TCP connection dengan MTU maksimum 1500 bisa dicapai 40 kbps
8. Selanjutnya gunakan software mass download manager yang mendukung TCP connection secara simultan (concurrent), lakukan koneksi ke FTP server terdekat dengan harapan maksimum troughput 5 kbps per TCP connection, maka dapat diaktifkan sekitar 120 session simultan (concurrent), asumsinya 5 x 120 = 600
9. Atau dengan cara yang lebih sederhana, digunakan skala yang lebih kecil, 12 concurrent connection dengan trouhput per session 5 kbps, apa total troughput bisa mencapai 60 kbps (average) ? bila tercapai maka stabilitas koneksi sudah dapat dijamin berada pada level maksimum
10. Pada setiap tingkat pembebanan yang dilakukan bertahap, perhatikan apakah RRT ping meningkat, angka mendekati sekitar 100 ms masih dianggap wajar.

Tutorial Instalasi W-LAN Jilid II tunggu aja kelanjutannya di blog berikutnya ... ^_^

Cheers,

NP Nugraha aka Ojiex