Pages

Senin, 29 April 2013

Tutorial Beberapa Teknik Looping Dalam PHP

Kali ini saya akan coba share sedikit pengetahuan saya mengenai Looping atau Pengulangan dalam bahasa pemrograman PHP dari berbagai sumber dan pengalaman pribadi sendiri dan semoga bisa bermanfaat bagi pembacanya amiiin . Ohh ya langsung aja yah udah kebelet hehe
Looping merupakan salah satu teknik untuk membuat suatu perintah secara berulang-ulang sampai batas yang ditentukan oleh si programmer. Ya dalam dunia pemrograman kita bisa melakukan “Perulangan” atau “Looping” tanpa merasa capek atau kelelahan, tapi coba kalau kita melakukan perulangan tersebut di dalam dunia nyata haha mungkin kita akan lelah melakukan rutinitas yang diakibatkan oleh proses looping tersebut.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiW-_sQt5DFZ5A7GE_3zRVsxW4Z4qbzikM0nqG8UTi0tBteLS-CKJTOJZCOz5Lv_x7_B_qLo9RfZ5YRKiv2UsEJUwTvI3Ikr4pG2tq0YYATgrYk01lT4xqvWjKfCey8P5NeVZBE7Vug4/s1600/looping.png
Baiklah langsung saja pada pembahasan yaaa!! Struktur Looping secara umum terdiri atas dua bagian yaitu,
  1. Kondisi pengulangan, yang biasanya merupakan ekspresi boolean yang harus dipenuhi untuk melakukan pengulangan tersebut,
  2. Alogoritma dari looping itu sendiri yang berisi algoritma yang di ulang-ulang
Seorang programer biasanya memilih-milih tipe konstruksi perulangan yang cocok untuk digunakan dalam programnya karena ada beberapa konstruksi pengulangan yang dapat dipakai untuk memecahkan masalah yang sama namu ada juga beberapa konstruksi pengulangan yang hanya cocok untuk dipakai dalam memecahkan masalah tertentu. Ya…maka dari itu pemilihan kontruksi looping(pengulangan) sangatlah penting dan akan sangat mempengaruhi sekali terhadap kebenaran algoritma pemrograman algoritma kita. Ada beberapa Teknik looping yang pada kesempaatan kali ini akan saya bahas dalam menggunakan bahasa pemrograman PHP seperti,
  • WHILE
  • DO – WHILE
  • FOR

WHILE

Struktur while adalah jenis pengulangan yang penulisan kondisi algoritma nya di awal blok, maksudnya jika kondisi algoritma tadi tidak terpenuhi maka kondisi bernilai false dan proses pengulangan pun tidak akan dilakukan. Dibawah ini merupakan bentuk umum penulisan dari struktur pengulangan menggunakan while.
while(ekspresi) {
blok program
}
Contoh Lainnya
<?php
 $a = 1;
 while($a<=10) {
  echo "$a<br />";
  $a++;
 }
?>

FOR

Sturktur for biasanya digunakan ketika kita akan melakukan pengulangan yang banyaknya sudah pasti atau sudah diketahui oleh kita sebelumnya. Dalam menuliskan pengulngan for ini sebelumnya kita harus mendefinisikan inisial dan kondisi terlebih dahulu untuk melakukan pengulangannya. Berikut adalah bentuk umum dari pengulangan menggunakan for.
for (inisial; kondisi; iterasi) {
//isi dari pengulangan

Contoh lainnya,
<?php
 $a = 10;
 for($i=10; $i>0; $i--) {
  echo "PHP $a <br />";
  $a--;
 }
?>
Program diatas akan mencetak teks “PHP” sebanyak 10 kali dengan indeks dimulai dari 10 sampai 1 (menurun)
Varisai FOR  (Menentukan Bilangan Prima)
<?php
 $n = 19; //membuat variable
 $prima = true;

 for($i=2; $i<=($n/2); $i++) {
  if(($n%$i)==0) {
   $prima = false;
   break; //untuk menghentikan looping pada program
  }
 }
 if($prima) {
  echo "$n merupakan bilangan prima";
 } else {
  echo "$n bukan bilangan prima";
 }
?>
Contoh Lainnya,
<?php
 $n = 3; //menentukan variable yang akan ditambahkan
 $hasil = 0;

 for($i=1; $i<=$n; $i++) {
  $hasil += $i;
  if($i !=$n) {
   echo "$i + ";
  } elseif($i = $n) {
   echo "$i = ";
  }
 }
 echo "$hasil";
?>
Hasil keluaran program diatas adalah melakukan penjumlahan seperti dibawah ini,
1 + 2 + 3 = 6

DO – WHILE

Sebelumnya kita tadi sudah mengenal pengulangan dengan menggunakan while ,  terus kenapa? haha…ya karena sebenarnya struktur pengulangan ini mirip dengan struktur while, mungkin perbedaannya hanya terdapat pada penempatan kondisi saja yang dengan kata lain pada struktur pengulangan ini kondisinya terletak di akhir blok pengulangan sedangkan pada struktur while yang kita kenal tadi berada di awal blok pengulangan. Berikut adalah bentuk umun dari penggunaan struktur pengulangan do-while,
inisial
do {
//proses pengulangan
iterasi
} while(kondisi); 

FOREACH

Selain fungsi yang telah dituliskan diatas PHP juga menyediakan cara mengakses data kedalam bentuk array dengan menggunakan fungsi foreach(). Adapun sintaknya adalah:
foreach($data as $value) {
$pernyataan yang akan diproses yaitu $value

Silahkan ketikan kode dibawah ini,
<?php
 $data = array("Sedan", "Bus", "Angkot", "Kereta Api");
 foreach($data as $value) {
  echo "Kendaraan " . $value;
  echo "<br />";
 }
?>

Perulang Dalam Perulangan

Adakalanya dalam menuliskan bahasa pemrograman sering terjadi dimana perulangan tersebut berada dalam pengulangan yang lain. Silahkan ketikan kode dibawah ini,
<?php
 for($i=1; $i<=5; $i++) {
  for($d=1; $d<=$i; $d++) {
   echo "A";
  }
 echo "<br />";
 }
?>
Semoga postingan kali ini bermanfaat

Membuat Sub Kategori Dinamis PHP dan MySQL

Mungkin sudah tidak asing lagi dengan judul diatas. Jika agan pernah lihat toko-toko online terdapat menu di sebelah kiri atau sebelah kanan atau sebelah atas terdapat menu yang apabila agan sorot maka akan muncul sub kategori didalamnya? hehe… ya pada postingan kali ini saya akan sedikit berbagi cara untuk membuat Kategori dan Sub Kategori yang sangat simple menggunakan PHP dan MySQL dan akan dijelaskan bagaimana cara kita menampilkan Kategori Induk dan Sub Kategorinya. Baiklah langsung saja ya…

1. Relasi Tabel

Adapun sintaks MySQL nya adalah sebagai berikut
CREATE TABLE `category` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
            `category` varchar(100) NOT NULL,
            PRIMARY KEY (`id`)
          ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1
CREATE TABLE `sub_category` (
                `id_sub` int(3) NOT NULL AUTO_INCREMENT,
                `id_category` int(3) NOT NULL,
                `nama_sub` varchar(100) NOT NULL,
                PRIMARY KEY (`id_sub`)
              ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
Ohh ya bisa juga langsung dibuat pake phpmyadmin dengan keterangan seperti sintaks MySQL diatas,
Keterangan:
  • id -> INT (3) *AUTO INCREMENT primary
  • category -> VARCHAR (100)
Untuk tabel sub_category sebagai berikut,
  • id_sub -> INT (3) *AUTO INCREMENT primary
  • id_category -> INT(3)
  • nama_sub -> VARCHAR(100)
Dua perintah SQL diatas merupakan perintah untuk membuat tabel yang bisa dilihat di gambar, nah sekarang kita masukan isi dari masing-masing tabel tersebut. Disini kamu bisa memberikan nilai seperti yang saya input kan *nampak seperti dibawah ini,

Isi Tabel “category”

Isi Tabel “sub_category”


Baiklah bisa dilihat pada bagian tabel sub_category terdapat field id_category yang menghubungkan dengan field id pada tabel category diatas. Pada gambar diatas dapat dilihat bahwa nilai id_category yaitu 14 yang memiliki relasi pada field id di tabel category. Dengan kata lain nama_sub atau id_sub yang memiliki id_category 14 adalah anak dari nama category dari tabel category yang memiliki id 14 . . . heheh maaf kalo muter-muter kata-katanya. :D

2. Tampil PHP

Ohh ya pertama silahkan salin sintaks PHP dibawah ini terlebih dahulu,
<?php
 mysql_connect('localhost','root','password') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <body>
 <ul id="menu">
 <?php
  $sql = mysql_query("SELECT id, category FROM category");

  while($r=mysql_fetch_array($sql)) {

   echo "<li><a href='#'>".$r['category']."</a>";

   $sql2 = mysql_query("SELECT * FROM sub_category WHERE id_category = '".$r['id']."'");

   if($sql2) {
    echo "<ul>";
    while($d=mysql_fetch_array($sql2)) {
     echo "<li><a href='#'>".$d['nama_sub']."</a></li>";

    }
    echo "</ul>";
   } else {
    echo "</li>";
   }
  }
 ?>
 </ul>
Baiiikkklaaah sekarang masuk pada tahap penampilan kategori-kategori tersebut. Mungkin sudah kebayang ya hasilnya? yaaa ga jauh beda sama kita memunculkan list waktu kita ngetik di blog agan masing-masing…

Taraaa…. ya kurang lebih akan tampil seperti tampilan diatas, jelek ya? haha untuk memperindah tampilan kita bisa memanfaatkan plugin-plugin jquery. Disini saya akan menggunakan plugin menu.js yang bisa di download di http://www.menujs.net/jika sudah anda download salin kode dibawah ini,
File yang bernama sub.php
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <head>
  <title>Membuat Sub Kategori Dinamis PHP dan MySQL</title>
  <script src="js/prototype.js" type="text/javascript"></script>
  <script src="js/Menu.js" type="text/javascript"></script>
  <script type="text/javascript">
   Menu.init("menu", {"orientation": Menu.VERTICAL});
  </script>

  <style type="text/css">
   a {
    text-decoration: none;
    }
   table {
    position: absolute;
    margin-top: 10px;
    }
   table tr td {
    background-color: #EDEDED;
    }
   /* reset default styles */
   #menu,
   #menu ul { margin: 0; padding: 0; }
   #menu li { list-style-type: none; }

   /* first level */
   #menu { width: 100px; float: left; margin-top: 100px; }
   #menu li,
   #menu a { float: left; width: 100px; }
   #menu a { display: block; background: #EEE; }
   #menu a:hover,
   #menu a.menu_open { background: #DDD; }

   /* second level */
   #menu ul { visibility: hidden; position: absolute; width: 100px; }
   #menu ul a { background: #DDD; }
   #menu ul a:hover,
   #menu ul a.menu_open { background: #CCC; }

   /* third level (colors) */
   #menu ul ul a { background: #CCC; }
   #menu ul ul a:hover { background: #BBB; }
  </style>
 </head>
 <body>
 <ul id="menu">
 <?php
  $sql = mysql_query("SELECT id, category FROM category");

  while($r=mysql_fetch_array($sql)) {

   echo "<li><a href='#'>".$r['category']."</a>";

   $sql2 = mysql_query("SELECT * FROM sub_category WHERE id_category = '".$r['id']."'");

   if($sql2) {
    echo "<ul>";
    while($d=mysql_fetch_array($sql2)) {
     echo "<li><a href='#'>".$d['nama_sub']."</a></li>";

    }
    echo "</ul>";
   } else {
    echo "</li>";
   }
  }
 ?>
 </ul>
 <table>
 <tr><td><a href="input.php?aksi=tambahkategori">Tambah Kategori</a></td><td><a href="input.php?aksi=tambahsub">Tambah Sub Kategori</a></td></tr>
 </table>
 </body>
</html>
Ohh ya bisa dilihat pada bagian pemanggilan plugin javascript diatas saya memasukan file nya kedalam satu folder yang bernama js .
Jika berhasil maka akan tampil seperti dibawah ini.

Sekarang tampilannya lebih indah bukan? haha ini adalah tampilan plugin dari menu.js yang saya download barusan *menurut saya sih kurang elegan hahaha, tapi pada fungsi nya sama saja lah…hehe, ketika kursor menyorot pada kategori maka akan muncul sub kategori yang bersangkutan dan jika tidak terdapat sub kategori maka tidak akan ditampilkan apa-apa.

3. Input PHP

Oke lanjut ke tahapan proses penginputan kategori dan sub kategori. Sebenernya sih bisa langsung rubah di phpmyadmin-nya, tapi itu bakalan memakan waktu apalagi proses nya tidak user friendly banget heheh. Maka alternatifnya kita akan membuat form input untuk proses input kategori dan sub kategori nya. Baiklah langsung aja kita salin sintaks PHP dibawah ini,
File yang bernama input.php
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");
?>
<html>
 <head>
  <title>Membuat Sub Kategori Dinamis PHP dan MySQL</title>
 </head>
 <body>
<?php
 if($_GET['aksi'] == 'tambahsub') { ?>
  <form method="POST" action="tambah_sub.php">
   <input name="nama_sub" type="text" /><br />
   <select name="category">
    <option value="0">Pilih Kategori</option>
   <?php
    $sql = mysql_query("SELECT id, category FROM category");

    while($r=mysql_fetch_array($sql)) {

     echo "<option value=".$r['id'].">".$r['category']."</option>";

    }
   ?>
   </select>*)Silahkan Masukan Nama kategori
   <p><input type="submit" value="Submit" name="submit" /></p>
  </form>
<?php }
 if($_GET['aksi'] == 'tambahkategori') { ?>
  <p>Masukan Nama Kategori</p>
  <form method="POST" action="tambah_kat.php">
   <input type="text" name="nama_category" />
   <input type="submit" value="Submit" />
  </form>
<?php } ?>
 </body>
</html>
ya itulah skirp untuk menampilkan form input kategori dan sub kategoridapat dilihat bahwa form action-nya membutuhkan dua file yang bernama tambah_sub.php dan tambah_kat.php , oke sekarang lanjut kita akan membuat ke dua file tersebut langsung salin aja sintaks dibawah ini hheehe.
Pertama agan buat file yang bernama tambah_sub.php 
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");

 $sql = mysql_query("INSERT INTO sub_category (id_sub, id_category, nama_sub) VALUES ('','$_POST[category]','$_POST[nama_sub]')") or die (mysql_error());

 if($sql) {
  echo "<h2>PROSES INPUT SUB KATEGORI BERHASIL</h2><p><a href='sub.php'>Klik Disini Untuk Melihat</a></p>";
 }
?>
Sekarang file kedua yang agan buat adalah tambah_kat.php 
<?php
 mysql_connect('localhost','root','') or die("Koneksi gagal");
 mysql_select_db('nama database yang agan buat') or die("Database tidak bisa dibuka");

 $sql = mysql_query("INSERT INTO category (id, category) VALUES ('','$_POST[nama_category]')") or die (mysql_error());

 if($sql) {
  echo "<h2>PROSES INPUT KATEGORI BERHASIL</h2><p><a href='sub.php'>Klik Disini Untuk Melihat</a></p>";
 }
?>
Baiklah mungkin segitu dulu postingan hari ini. Ohh ya jika ada kesalahan langsung aja kasih komentarnya ya gannnnn!!!

source : hitamcoklat

Tutorial Mengecek Online User Unik PHP dan MySQL + AJAX Simple

Pada postingan kali ini saya akan mencoba mengulas mengenai pengecekan pengguna atau pengecekan user yang sedang online dalam website kita. Ohh ya sebelumnya saya sebelumnya saya memposting mengenai hal ini mungkin terinspirasi oleh seorang teman yang bertanya kepada saya tentang cara bagaiman untuk mengetahui pengunjung yang sedang online di website kita. Mungkin sudah tidak asing lagi yaa.. dengan judul yang satu ini, dan mungkin agan – agan dan aganwati sekalian udah pada tahu bagaimana cara membuatnya.
Tetapi pada kasus ini saya akan mengintegrasikannya dengan AJAX, kenapa harus sambil menggunakan AJAX?? ohh ya jadi begini ceritanya.., berawal ketika saya membuat kode standar untuk membuat pengecekan online user dan ketika itu semuanya berjalan dengan lancar dalam kasus ini saya menggunakan 2 browser. Ketika saya buka browser skrip nya berjalan dengan baik dan menunjukan 2 pengunjung yang sedang online. Tapi setelah browser ke-dua saya tutup window-nya, pada browser pertama tadi tetap menampilkan dua pengunjung yang sedang online hingga saya me-refresh browser pertama tadi jadii dengan AJAX ini kita tidak perlu me-refresh lagi untuk mengecek berapa orang yang benar-benar online pada waktu tersebut .
close_pointer
Ohh ya sebelumnya bisa dikatakan unik karena saya menggunakan fungsi dari pengambilan session_id untuk mebuat setiap browser tampak unik selain itu skrip ini juga mirip – mirip dengan aplikasi chating yang ketika kita menutup jendela obrolan kita maka pengunjung yang sedang online akan berkurang…bagaimana? asyikan? hahah maaf saya terlalu lebay hehe…Oke langsung aja ke pembahasan ya, Cekidot ikuti langkah dibawah ini…

1.Pembuatan Table

Berikut adalah gambar penampakan table yang akan dibuat..
g_table
karena kita akan membuat skrip online usernya yang simple, jadi saya kira sudah lebih dari cukup untuk menggunakan dua field saja hehe :D , Untuk sintaks MySQL nya silahkan lihat dibawah ini…
?
1
2
3
4
5
CREATE TABLE IF NOT EXISTS `online_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_session` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=44 ;

2. File koneksi.php

Seperti biasa kita buat file koneksi secara terpisah :D
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $host ='localhost';
    $user ='root';
    $pass ='';
    $dbase   ='herey';
    $koneksi = mysql_connect($host, $user, $pass);
     
    if (!$koneksi)
    {
        die ('Tidak Bisa Konek: ' . mysql_error());
    }
     
    mysql_select_db($dbase, $koneksi);
     
?>

4.File cekOnline.php

File ini berfungsi untuk mengecek apakah user sedang online atau tidak dengan cara melakukan pengecekan ke dalam tabel.
?
1
2
3
4
5
6
7
8
9
<?php
include "koneksi.php";
$query = mysql_query("SELECT * FROM online_user");
$hitung = mysql_num_rows($query);
echo $hitung;
?>
dapat dilihat bahwa kita menggunakan fungsi mysql_num_rows() untuk menghitung jumlah rows yang ada dalam table yang dengan kata lain merupakan jumlah user yang sedang online :D

5. File online.php

File ini berfungsi untuk memasukan nilai kedalam tabel.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include "koneksi.php";
session_start();
$id_saya = session_id();
$query = mysql_query("SELECT id_session FROM online_user WHERE id_session = '".$id_saya."'");
$query2 = mysql_fetch_array($query);
if ($query2 == null)
{
    mysql_query("INSERT INTO online_user (id, id_session) VALUES ('', '$id_saya')");
}
?>
Dapat dilihat bahwa pada awal – awal baris kita menggunakan fungsi session yaitu session_start() yang berguna untuk memulai session dan mengecek setiap user yang unik atau berbeda seperti yang sudah dijelaskan diatas hehe :D . Jika dijelaskan skrip diatas adalah kita akan melakukan insert query kedalam table jika id_session tidak sama dengan variable $id_saya yang berarti browser yang kita pakai :)

6. File exit.php

File ini berguna untuk menghapus sesi online kita.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
$id_saya = session_id();
include "koneksi.php";
mysql_query("DELETE FROM online_user WHERE id_session='".$id_saya."'");
session_destroy();
?>

7. File index.php

File ini berfungsi untuk menampilkan pengunjung yang online, ohh ya file nya disatuin aja yaa sama javascriptnya biar agak jelas hehe..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<html>
    <head>
        <script>
            //Skirp yang wajib ada jika ingin menggunakan AJAX
            function GetXmlHttpObject()
                {
                var xmlHttp;
                try
                    {
                    // Firefox, Opera 8.0+, Safari
                    xmlHttp = new XMLHttpRequest();
                    }
                catch (e)
                    {
                    //Internet Explorer
                    try
                        {
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                        }
                    catch (e)
                        {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                    }
                return xmlHttp;
                }
                 
            function cekOnline()
            {
                xmlHttp = GetXmlHttpObject();
                 
                if (xmlHttp == null)
                {
                    alert("Browser Anda Tidak Mendukung HTTP Request");
                    return;
                }
                 
                var url = "cekOnline.php";
                xmlHttp.open("POST", url, true);
                xmlHttp.onreadystatechange = stateChanged;
                xmlHttp.send(null);
            }
             
            function stateChanged()
                {
                if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
                    {
                    var hitung = xmlHttp.responseText;
                    document.getElementById("jumlahOnline").innerHTML = "<font color='red'>" + hitung + "</font> user online";
                    window.setTimeout("cekOnline();", 2000);
                    }
                }
             
            function online()
            {
                online = GetXmlHttpObject();
                if (online == null)
                    {
                    alert("Browser Anda Tidak Mendukung HTTP Request");
                    return;
                    }
                var url = "online.php";
                online.open("POST", url, true);
                online.onreadystatechange = responeOnline;
                online.send(null);
            }
             
            function responeOnline()
            {
                if (online.readyState == 4 || online.readyState == 0)
                    {
                    cekOnline();
                    }
            }
                         
            function exit()
            {
                exit = GetXmlHttpObject();
                 
                if (exit == null)
                {
                    alert("Browser Tidak Support HTTP Request");
                    return;
                }
                 
                var url = "exit.php";
                exit.open("POST", url, true);
                exit.send(null);
            }
                         
        </script>
    </head>
     
    <body onload="online();" onbeforeunload="exit();">
        <h1>Yang sekarang sedang Online adalah: <span id="jumlahOnline"></span> </h1>
    </body>
</html>
Baiklah dapat dilihat bahwa pada
  • Baris ke 5 sampai baris ke 28 merupakan baris yang biasa digunakan dalam menggunakan AJAX, yaitu pendeklarasian penggunaan dalam XMLHttpRequest yang dilakukan didalam sebuah javascript..
  • Baris ke 30 sampai 54 merupakan fungsi untuk membuat request ke server untuk mebuka file cekOnline.php setelah itu pada baris ke 46 akan mengupdate data dengan elemen di html yang memiliki id=”jumlahOnline”
  • Pada baris ke 56 sampai baris 78 merupkan fungsi untuk membuat request ke server untuk membuka file online.php yang didalam file tersebut sudah dijelaskan diatas yaitu untuk memasukan nilai user yang sedang online yang setelah itu membuat respon pada fungsi responOnline()
  • Baris 80 sampai baris 93 merupakan fungsi untuk membuat request ke server untuk membuka file file exit.php yang berfungsi untuk melakukan delete rows pada table yang memiliki nilai dari id_session kita..
  • Baris ke 98 merupakan tag HTML body yang memiliki onload event yang berfungsi ketika halaman di load maka jalankan fungsi online() dan onbeforeunload event yang berfungsi untuk menjalankan fungsi exit()
  • Baris ke 99 terlihat tag HTML <span> yang memiliki attribut id=”jumlahOnline” yang berfungsi untuk menampilkan jumlah user yang sedang online dengan memanfaatkan fungsi jumlahOnline tadi :)
Ohh ya untuk penampakannya seperti nampak pada gambar dibawah ini…
online_user
Keterangan:
Ohh ya karena dalam skrip ini memanfaatkan event onbeforeunload() oleh karenan itu skrip ini akan berjalan dengan baik jika menggunakan chrome dan internet explorer :)

Casing The Join(Footprinting And Scanning)

Mencari Informasi mengenai target… tugas pertama saya di matakuliah Security System.. Semangat…:)
Persiapan yang harus ada:
  1. Koneksi internet
  2. Niat dan keberanian, maksudnya niatkan diri anda untuk belajar, dan keberanian untuk siap-siap tertangkap…hahaha…(becanda deng…^_^).. niatkan saja untuk belajar…(mungkin ini adalah hanya beberapa bekal dasar untuk menjadi “hacker“)
  3. Download software nmap silahkan kunjungi www.nmap.org, atau bisa juga anda download disini!
  4. selain itu tools berbasis web yang digunakan adalah www.ip-adress.com/whois/ (disana anda tinggal memasukan nama targetnya apa, misalnya: www.seamolec.org
Ok, kita ke tahap selanjutnya,
“ditengah kegelapan malam, hanya ditemani cahaya lampu belajar 5 watt dan cahaya dari monitor 17 inch, serta suara jari-jari yang menari diatas keyboard dan bunyi klik mouse, membuat suasana menjadi menegangkan….hahahaa lebay…:D”
  1. Setelah anda download, silahkan ekstrak dan install winpcap-nmap-4.12
  2. kemudian anda juga harus menginstall vcredist_x86 yang disertakan di dalam folder
  3. Tentukan targetnya (misal: www.seamolec.org)
  4. Buka alamat www.ip-adress.com/whois/   dan silahkan anda ketik www.seamolec.org kmudian klik tombol IP Whois
  5. Hasil yang didapatkan seperti IP Address, nama server, nomor kontak, lokasi server, alamat kontak, dll
  6. mungkin setiap domain target akan memaparkan hasil yang tidak selengkap yang kita inginkan, itu disebabkankan karena setiap target memiliki port yang tertutup dan port terbuka yang berbeda.
  7. untuk mengetahui port (services) mana saja yang terbuka, kita gunakan tolls nmap
sampai disini tugas anda sudah mencapai 65%, istirahat sejenak atau minumlah segelas coklat panas…..hmm…:D
LANJUTKANN…
  1. Buka cmd, kemudian ketik: cd\
  2. cd Program Files\nmap-5.61TEST4-win32\nmap-5.61TEST4 tekan enter
  3. kurang lebih tampilannya sebagai berikut:
    Command Prompt
    nmap
  4. ketik cls, untuk membersihkan layar
  5. ketik nmap -O namatarget, misalnya: nmap -O www.seamolec.org
  6. tunggu beberapa saat dan kemudian hasilnya kurang lebih:
    nmap -O www.seamolec.org
    hasil nmap -O www.seamolec.org
    disana akan dimunculkan port-port yang terbuka, termasuk OS yang digunakan
  7. sebetulnya banyak option yang dapat anda gunakan, semuanya dapat dipelajari di menu help. caranya ketik: nmap -h
  8. contoh nmap -A www.seamolec.org, kurang lebih hasilnya:
    nmap -A www.seamolec.org
    hasil nmap -A www.seamolec.org
    selain port mana saja yang terbuka, juga menampilkan perjalanan atau rute2 mana saja yang dilalui untuk mencapai target dari komputer yang kita gunakan..
    hasilnya bisa direkap dalam tabel berikut:
    Nama
    IP Address
    Alive
    OS
    Services
    seamolec.org
    118.98.222.33
    Ya
    Linux 2.6.X ssh, http,whois (dan masih banyak lagi)
    masterweb.com
    69.43.160.151
    Ya
    Linux 2.6.X http
    upi.edu
    103.23.44.6
    Ya
    FreeBSD 7.X ssh, http, mysql
    ebay.com
    66.211.160.88
    Ya
    Linksys BEFSR41 Etherfast router http, https
    paypal.com
    173.0.88.3
    Ya
    OpenBSD 4.0 http, https
    defendamerica.mil
    Redirect to defense.gov
    Redirect to defense.gov
    Redirect to defense.gov Redirect to defense.gov
    defense.gov
    24.143.196.27
    Ya
    Linux 2.6.X http, https
tabel diatas saya gunakan beberapa target dan bisa dilihat hasilnya tetapi menggunakan cara yang sama ….
Mungkin cukup sekian…semoga bermanfaat, dan tunggu tutorial-tutorial selanjutnya ^_^ keep on fighting

source : ijobaraya

VLSM (Variable Length Subnet Mask)

Sebelum belajar mengenai VLSM (Variable Length Subnet Mask) disarankan anda telah memahami materi Subneting
Proses subnetting menghasilkan beberapa subjaringan dengan jumlah host yang sama, maka ada kemungkinan di dalam segmen-segmen jaringan tersebut memiliki alamat-alamat yang tidak digunakan atau membutuhkan lebih banyak alamat. Oleh karena itu, dalam kasus seperti ini proses subnetting harus dilakukan berdasarkan segmen jaringan yang dibutuhkan oleh jumlah host terbanyak. Nah, untuk memaksimalkan penggunaan ruangan alamat yang tetap, subnetting pun dilakukan secara rekursif (rekursif maksudnya membagi menjadi beberapa sub jaringan yang diambil dari jaringan itu sendiri)untuk membentuk beberapa subjaringan dengan ukuran bervariasi, yang diturunkan dari network identifier yang sama. Jadi, dapat diambil kesimpulan bahwa VLSM adalah teknik subnetting untuk membentuk beberapa subjaringan dengan ukuran bervariasi yang diturunkan dari network identifier yang sama. Supaya lebih mengerti sebaiknya kita lakukan cara perhitungan menggunakan VLSM.
Misalnya ada alamat network 192.168.1.0/24 untuk mengkomunikasikan 4 buah gedung. Gedung A terdapat 14 PC, gedung B terdapat 30 PC, gedung C terdapat 20 PC, dan gedung D terdapat 6 PC. Bagaimanakah kita membuat subnet dengan menggunakan VLSM?
Penyelesaian:
  • Urutkan gedung dari pemakaian PC terbanyak ke yang terkecil
  • Urutannya menjadi gedung B, gedung C, gedung A, dan gedung D
  • Pahami tabel “desimal-biner” berikut:
    Desimal 128 64 32 16 8 4 2 1
    Biner 27 26 25 24 23 22 21 20
  • Menghitung penggunaan IP untuk gedung B
    • Rumus: banyaknya PC + 3 => 30 + 3=33 dari tabel “desimal-biner”, 2 dipangkatkan berapa supaya nilai 33 bisa termasuk didalamnya?
      Jawabannya 2 dipangkatkan 6, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 26, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 0 0 0 0 0 0
    • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64=192
    • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung B) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
      Sehingga didapat 26-2=62. Jadi range IP nya adalah:
      192.168.1.1 – 192.168.1.62
    • Setelah melakukan perhitungan diatas maka akan didapat data untuk  gedung B sebagai berikut:
Subnet Gedung B : 192.168.1.0
Subnet Mask : 255.255.255.192
Host Pertama : 192.168.1.1
Host Terakhir : 192.168.1.62
IP Broadcast : 192.168.1.63
Subnet berikutnya dari gedung B yaitu 192.168.1.64 akan digunakan sebagai subnet gedung C.
  • Menghitung penggunaan IP untuk gedung C
    • Rumus: Banyaknya PC + 3 => 20 + 3=23
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 5, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 25, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 0 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32=224
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung C) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 25-2=30. Jadi range IP nya adalah:
    192.168.1.65 – 192.168.1.94
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung C sebagai berikut:
Subnet Gedung C : 192.168.1.64
Subnet Mask : 255.255.255.224
Host Pertama : 192.168.1.65
Host Terakhir : 192.168.1.94
IP Broadcast : 192.168.1.95
Subnet berikutnya dari gedung C yaitu 192.168.1.96 akan diguanakan sebagai subnet gedung A.
  • Menghitung penggunaan IP untuk gedung A
    • Rumus: Banyaknya PC + 3 => 14 + 3=17
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 5, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 25, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 0 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32=224
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung A) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 25-2=30. Jadi range IP nya adalah:
    192.168.1.97 – 192.168.1.126
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung A sebagai berikut:
Subnet Gedung A : 192.168.1.96
Subnet Mask : 255.255.255.224
Host Pertama : 192.168.1.97
Host Terakhir : 192.168.1.126
IP Broadcast : 192.168.1.127
Subnet berikutnya dari gedung A yaitu 192.168.1.128 akan digunakan sebagai subnet gedung D.
  • Menghitung penggunaan IP untuk gedung D
    • Rumus: Banyaknya PC + 3 => 6 + 3=9
    • Dari tabel “desimal-biner” diatas, 2 dipangkatkan berapa supaya nilai 23 bisa termasuk didalamnya? Jawabannya 2 dipangkatkan 4, sehingga pola bitnya menjadi:
Desimal 128 64 32 16 8 4 2 1
Biner 27 26 25 24 23 22 21 20
Berikan angka 1 dari kiri ke kanan sampai sejajar dibawah 24, dan sisanya berikan angka 0 ke kanan hingga sejajar 20
Pola bit 1 1 1 1 0 0 0 0
  • Cari subnet mask yaitu menghitung jumlah desimal dengan melihat posisi angka 1 pada pola bit. Jadi subnet mask nya: 128+64+32+16=240
  • Hitung range IP (jatah penggunaan IP yang dapat dipakai oleh gedung D) Rumus: 2Y-2, dimana Y adalah banyaknya angka 0 pada pola bit.
    Sehingga didapat 24-2=14. Jadi range IP nya adalah:
    192.168.1.129 – 192.168.1.142
  • Setelah melakukan perhitungan diatas maka akan didapat data untuk gedung D sebagai berikut:
Subnet Gedung D : 192.168.1.128
Subnet Mask : 255.255.255.240
Host Pertama : 192.168.1.129
Host Terakhir : 192.168.1.142
IP Broadcast : 192.168.1.143
nah, sampai disini dulu ya . Mudah-mudahan postingan ini bisa membantu!…

source : ijobaraya

Klasifikasi IP Adress

Setiap perangkat yang berkomunikasi di dalam sebuah jaringan harus memiliki sebuah nomor IP yang unik, untuk membedakan satu perangkat dengan yang lainnya. Nomor IP adalah identitas sebuah sistem, dan ketika paket data dikirimkan oleh sebuah perangkat, maka nomor IP perangkat tersebut dicantumkan pada paket data tersebut. Jika IP yang dituju diketahui oleh si pengirim maka nomor IP ini dicantumkan pula di dalam paket data yang dikirimkan.
Pengalamatan IP Address terbagi menjadi lima kelas yaitu, kelas A, B, C, D, dan E. Pemisahan IP ke dalam kelas-kelas ini disebut classfull IP Addressing. Dalam sebuah IP terdapat dua istilah yang perlu dipahami yaitu:
  • Net ID, yaitu bagian dari nomor IP yang memiliki nilai sama untuk semua perangkat di dalam suatu jaringan/subnet yang sama
  • Host ID, yaitu bagian dari nomor IP yang berisi nilai unik untuk setiap perangkat di dalam jaringan
Sebuah nomor IP V 4 bernilai 4 byte yang terdiri dari 8 bit pada setiap byte nya. Perhatikan tabel berikut:
IPV4: 1111 1111 .1111 1111 .1111 1111 .1111 1111
Nilai desimal 255 .255 .255 .255
Kelas A X .Y .Y .Y
Kelas B X .X .Y .Y
Kelas C X .X .X .Y
Keterangan:
  • 255 adalah nilai maksimal tiap byte
  • X adalah jatah subnet (net id) tiap kelas (misal Kelas B sebanyak 255×255 = 65025, karena X-nya ada dua).
  • Y adalah jatah host (host id) tiap kelas (misal:Kelas B sebanyak 255X255=65025 host per subnet, karena Y-nya ada dua).
Dari tabel diatas dapat dibuatkan tabel pengalamatan kelas IP yaitu:
Kelas Banyaknya Bit Net ID Banyaknya Bit Host ID
A 8 24
B 16 16
C 24 8
Mungkin anda bertanya mengapa kelas D dan E tidak disertakan dalam tabel diatas?, karena kedua kelas tersebut memang tidak digunakan untuk mengalamatkan sebuah perangkat yang spesifik. Alamat-alamat kelas D digunakan untuk transmisi multicasting, sedangkan alamat-alamat kelas E dicadangkan untuk tujuan penelitian dan hal-hal khusus.
Sumber informasi:
  • tittle, Ed. 2004. “SCHAUM’S OUTLINES OF COMPUTER NETWORKING“. Jakarta: Erlangga.

Subnetting

Anda bertanya-tanya seberapa pentingkah subnetting, dan mengapa kita harus belajar subnetting ? Silahkan simak postingan berikut!
Subnetting digunakan untuk membagi sebuah jaringan menjadi beberapa subjaringan yang lebih kecil sehingga mengefisienkan pemakaian jumlah IP Address. Penulisan IP Address pada umumnya adalah misalnya dengan 192.168.1.2  . Namun adakalanya ditulis dengan 192.168.1.2/24, artinya bahwa IP Address 192.168.1.2 dengan subnet mask 255.255.255.0/24 artinya banyaknya bit angka 1 yang menyatakan subnet mask. Atau dengan kata lain subnet mask-nya adalah
1111 1111.1111 1111.1111 1111.0000 0000 (255.255.255.0)
Nah, konsep seperti ini disebut dengan CIDR (Classless Inter Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT. Dibawah ini terdapat tabel yang memuat subnet mask yang dapat dipakai untuk subnetting.
Subnet Mask CIDR
255.128.0.0 /9
255.192.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255.255.244.0 /19
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
Sebenarnya subnetting berkisar pada 4 masalah yaitu: Jumlah Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host-Broadcast.
Oke, sekarang mari kita mencoba menghitung subnetting seperti apa yang terjadi dengan sebuah network address 192.168.1.0/26 ?
Penyelesaian:
Analisa: 192.168.1.0 berarti kelas C dengan subnet mask /26 berarti:
1111 1111.1111 1111.1111 1111.1100 0000 (255.255.255.192)=> Lihat tabel diatas
Perhitungan:
  • Cari jumlah Subnet
    Rumus: 2X, dimana X adalah banyaknya angka biner 1 pada oktet/byte terakhir subnet mask (2 oktet terakhir untuk kelas B, 3 oktet terakhir untuk kelas A). Jadi jumlah subnetnya adalah 22 => 4 subnet.
  • Cari jumlah Host per subnet
    Rumus: 2Y – 2 , dimana Y adalah banyaknya angka biner 0(nol) pada oktet/byte terakhir subnet mask. Jadi jumlah subnetnya adalah 26 – 2 => 62 host.
  • Cari blok subnet
    Rumus: 256-(nilai oktet terakhir subnet mask) =>256-192=64. Subnet berikutnya adalah 64 + 64=128, dan 128 + 64=192. Jadi, subnet lengkapnya adalah 0, 64, 128, 192
  • Cari alamat broadcast
    Catatan: Host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
Setelah dilakukan perhitungan, maka didapat data sebagai berikut:
Subnet 192.168.1.0 192.168.1.64 192.168.1.128 192.168.1.192
Host Pertama 192.168.1.1 192.168.1.65 192.168.1.129 192.168.1.193
Host Terakhir 192.168.1.62 192.168.1.126 192.168.1.190 192.168.1.254
Broadcast 192.168.1.63 192.168.1.127 192.168.1.191 192.168.1.255

Source : ijobaraya

Pengenalan IP Adress,Host dan Subnet

Sebelum mempelajari materi Subnetting dan VLSM (Variable Length Subnet Mask), kiranya anda perlu memahami istilah-istilah berikut:
  • IP Address
    IP Address (Internet Protocol Address) adalah deretan angka biner 32 bit sampai 128 bit yang dipakai sebagai alamat identifikasi untuk tiap komputer (host) dalam jaringan. IP Address 32 bit dipakai untuk IP versi 4, sedangkan IP Address 128 bit untuk IP versi 6.
  • Host dan Subnet
    Host bisa diartikan sebagai komputer atau “tempat”. Subnet bisa diartikan sebagai jaringan atau gedung. Host dan subnet sangat berkaitan satu sama lainnya dalam suatu jaringan. Misalnya berapa banyak host kah yang dapat dibentuk dalam satu subnet atau berapa banyak komputer kah yang dapat dipakai dalam satu gedung.
  • Subnet Mask
    Ketika paket data tiba disebuah router (hardware untuk menghubungkan jaringan yang satu dengan yang lainnya) atau simpul jaringan apapun, perangkat tersebut harus menentukan kelas alamat dari alamat IP yang dituju oleh sang paket. Nah, disinilah Subnet Mask berperan dalam membantu router membedakan antara bagian jaringan dan bagian host dari sebuah alamat IP.
    Disini akan muncul istilah IP Broadcast. IP Broadcast itu bagian dari IP Address yang digunakan ketika pengirim tidak menemukan alamat dari tujuan pengiriman data dalam suatu jaringan, maka IP Broadcast akan mengirimkan paket data tersebut ke semua perangkat yang terdapat dalam satu jaringan dengan pengirimnya. Maksudnya begini, misalnya komputer A akan mengirimkan data ke komputer B yang berbeda jaringan, tetapi karena alamat komputer B tidak ada maka IP Broadcast akan mengirimkan paket data ke semua komputer yang berada dalam satu jaringan dengan komputer A.


sumber : ijobaraya

Install XAMPP on Ubuntu


 
Sedikit berbagai pengalaman, bagaimana caranya kita menginstall XAMPP di linux. jika kamu belum mempunyai XAMPP for linux, silahkan download disini. Kebetulan untuk OS yang saya pakai yaitu Ubuntu 12.04 32bit. Langsung saja caranya yaitu:
  1. Melalui terminal
    ketik perintah:
    sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt
  2. Nah, sebenarnya proses instalasinya berupa pengekstrakan file .tar  :D
  3. Nah, beres deh proses instalasinya. Sekarang cara menjalankan XAMPP yaitu
    sudo /opt/lampp/lampp start
  4. Jika berhasil, sekarang kamu bisa cek di browser kesayanganmu dgn cara ketikan pada address: http://localhost/xampp
  5. Proses instalasi beres. Namun bagaimana jika OS yang digunakan Ubuntu 12.04 64bit ?. Disinilah masalahnya maka tidak proses instalasi tidak bisa dilakukan.
    Jangan risau, kita punya solusinya yaitu agar program-program yang bertipe 32 bit dapat berjalan di OS yang 64 bit dengan cara melakukan install file ia32-libs melalui terminal

Automatic StartUp XAMPP on Linux

Setelah cari-cari di internet, mungkin kamu mengalami kesulitan setiap akan menjalankan XAMPP di linux, berikut adalah cara menjalankan secara otomatis (automatic start -up):
  1. Kamu harus menginstall dulu XAMPP nya,
  2. Jika sudah di instal, kamu masuk ke folder etc,
  3. Kemudian buka sebagai administrator file rc.local
  4. Ketik perintah berikut:
    opt/lampp/lampp start
    sebelum exit 0
  5. sekarang coba kamu restart komputernya
  6. Buka Browser kesayanganmu, langsung cek saja localhost -nya

Footprinting

Footprinting bagian dari struktur hacking. Footprinting itu mencari segala informasi tentang server atau target serangan. Sama halnya jika ingin mendekati orang yang kita sukai, maka ada beberapa hal yang harus diperhatikan, yaitu mencari informasi tentang si dia, seperti:
- hobinya apa, nama lengkap,
- makanan kesukaannya, acara yang disukai,
- no telepon (kalo kamu bisa)..hehe
kurang lebih seperti itu analoginya….:-) sebetulnya sama seperti server, jika kita ingin memasuki suatu server, kita harus mengumpulkan segala informasi tentang server tersebut, yaitu:
- Sistem Operasinya apa,
- IP Address dari server tersebut,
- Port berapa yang terbuka, dll
Footprinting terbagi menjadi 2, yaitu:
  1. Outer Footprinting, merupakan suatu proses pencarian informasi server dimana posisi kita tidak tersambung atau terkoneksi pada jaringan di dalam server, misalnya kita diwarnet atau menggunakan modem dirumah dan target kita berada ditempat lain, untuk itu perlu. Contoh tools yang dapat anda gunakan seperti:
    - www.netcraft.com
    - www.ip-adress.com/whois/
    - www.nmap.org
    informasi yang akan ditampilkan kurang lebih akan memuat mengenai:
    - administrative contact
    - ip address
    - lokasi server
    - nameserver, dll
  2. Inner Footprinting, merupakan suatu proses pencarian informasi server dimana posisi kita sudah berada di dalam jaringan server target. Misalnya target kita adalah kampus A (misal UPI) yang mempunyai hotspot di area kampus. Otomatis anda tidak perlu mencari informasi tentang siste operasi dan server kampus tersebut di Internet, tapi cukup membawa laptop dan melakukan koneksi lewat hotspot. Secara umum caranya sebagai berikut:
    • masuk ke DOS (Klik start-run-dan ketik cmd)
      Disk Operating System
      cmd
    • ketik telnet, setelah itu ketik set localecho
      telnet
      telnet

      set localecho
      set localecho
    • ketik open namaservertarget port (misalnya: open 192.168.1.1.80)

    source : ijobaraya