CARI MP3 KAJIAN, EBOOK, TUTORIAL PEMROGRAMAN PHP, MATERI KULIAH DATABASE, DLL

Loading

November 6, 2009

Class Grafik Kacung - Sample Grafik Dengan PHP

Didalam Katagori: Uncategorized, PHP

Kemarin habis bikin Class buat nge-generate Grafik dalam bentuk gambar dengan PHP, Grafik ini hanya melapporkan dua item (Rata-Rata dan Total), item ini bisa diubah sesuai kebutuhan, cuma ganti caption-nya doang :D ,

<?php
   
    /*
      Author : Didin Nurdin Ahmadi
                  <didinonpqcms{ a t }gmail{ d o t }com>
      date   : 2009-11-2 3:44:13 AM     
    */
   
    class Grafik_Kacung {
   
        private $imageTemp;
        private $Font;
        private $Width;
        private $Height;
        private $ScaleX;
        private $ScaleY;
        private $XY;
       
        function __construct(){
          $this -> Scale = 30;
          $this -> XY = array();
        }
       
        public function setFont($font){
          $this -> Font = $font;
        }
       
        public function setData($data){
          $this -> Data = $data;
        }
       
        public function setCanvas($height, $width,$file = null){
          $this -> Height = $height;
          $this -> Width  = $width; 
          $this -> imageTemp = imagecreate( $this -> Width + 150, $this -> Height + 80 );
          imagecolorallocate($this -> imageTemp, 255, 255, 244);
          $this -> setColor(); 
          $this -> drawLineXY();
          $this -> drawData();
          //header(’Content-type: image/png’);
          imagepng($this -> imageTemp, $file);
        }
       
        private function drawLineXY(){
          imageline($this -> imageTemp, 20, 5, 20, $this -> Height, $this -> black);
          imageline($this -> imageTemp, 20, $this -> Height, $this -> Width, $this -> Height, $this -> black);
          $xOrdinate = array(0,10,20,30,40,50,60);
          $tempH = $this -> Height;
          $this -> ScaleY = round($tempH / count($xOrdinate));
          foreach($xOrdinate as $v){
            $i++;
            $text = " ";
            if(empty($v)){
              $text = null;
            }
            imagettftext($this -> imageTemp, 12, 0, 17, $tempH ,$this -> black, $this -> Font, $text);
            if($i>1) imageline($this -> imageTemp, 25, $tempH, $this -> Width, $tempH, $this -> grey);
            imagettftext($this -> imageTemp, 10, 0, 3, $tempH ,$this -> black, $this -> Font, $v);
            $tempH-= $this -> ScaleY;
          }
         
          $tempW = 50;
          $this -> ScaleX = ($this -> Width  / count($this -> Data));
          foreach($this -> Data as $k => $v){
            imagettftext($this -> imageTemp, 10, 0 , $tempW ,$this -> Height + 20 ,$this -> black, $this -> Font, $k);
            imageline($this -> imageTemp, $tempW, $this -> Height - 10, $tempW, 10, $this -> grey);
            imagettftext($this -> imageTemp, 9, 0 , $tempW - 30 ,$this -> Height + 40 , $this -> black, $this -> Font, wordwrap($v[’nama’], 20, "\n"));
            $tempW += $this -> ScaleX;
          }
         
        }
       
        private function drawData(){
          $tempW = 50;
          $keyInserted = array();
          foreach($this -> Data as $k => $v){
            $i++;
            $pOrd = $this -> scaleConverter($v[’total’]);
            $rOrd = $this -> scaleConverter($v[’rata’]);
            imagettftext($this -> imageTemp, 10, 0 , $tempW , $pOrd ,$this -> red, $this -> Font, " " . $v[’total’]);
            imagettftext($this -> imageTemp, 10, 0 , $tempW , $rOrd ,$this -> blue, $this -> Font, " " . $v[’rata’] );
            $this -> createSign($tempW, $pOrd);                       
            $this -> createSign($tempW, $rOrd, $this -> blue);
            $a = next($this -> Data);
            if($i < count($this -> Data)){           
              imageline($this -> imageTemp, $tempW, $pOrd, $tempW + $this -> ScaleX, $this -> scaleConverter($a[’total’]), $this -> red);
              imageline($this -> imageTemp, $tempW, $rOrd, $tempW + $this -> ScaleX, $this -> scaleConverter($a[’rata’]), $this -> blue);
            }
            $tempW += $this -> ScaleX;           
          }
         
          $this -> createNotes();
        }
       
        public function setColor(){
          $this -> violet   = imagecolorallocate($this->imageTemp, 0x00, 0x00, 0xCD);
          $this -> white    = imagecolorallocate($this->imageTemp, 0xFF, 0xFF, 0xFF);
          $this -> red      = imagecolorallocate($this->imageTemp, 0xFF, 0x66, 0x66);
          $this -> grey     = imagecolorallocate($this->imageTemp, 0xCF, 0xCF, 0xCF);
          $this -> yellow   = imagecolorallocate($this->imageTemp, 0xFF, 0xFF, 0x99);
          $this -> black    = imagecolorallocate($this->imageTemp, 0x00, 0x00, 0x00);
          $this -> green    = imagecolorallocate($this->imageTemp, 0x66, 0xCC, 0x66);
          $this -> blue     = imagecolorallocate($this->imageTemp, 0x33, 0x99, 0xFF);
        }
       
        private function scaleConverter($nilai){
          $max = $this -> Height;
          $result = $this -> Height - ($nilai * ($this -> ScaleY / 10));
          return $result;
        }
       
        private function createSign($x,$y, $color = null){
          if($color == null){
            imagefilledellipse($this -> imageTemp, $x, $y, 5, 6, $this -> red);
          }else{
            imagefilledellipse($this -> imageTemp, $x, $y, 5, 6, $color);
          }
        }
       
        private function createNotes(){
          $this -> createSign( $this -> Width + 30 , 35);
          imagettftext($this -> imageTemp, 10, 0 ,$this -> Width + 40, 40 , $this -> red, $this -> Font, "TOTAL");         
          $this -> createSign( $this -> Width + 30 , 55, $this -> blue);
          imagettftext($this -> imageTemp, 10, 0 ,$this -> Width + 40, 60 , $this -> blue, $this -> Font, "RATA-RATA");
        }
     
   
   
    } 

?>

cara pake nya bisa seperti ini

<?

$sampelData = array(
      ‘1′ => array(
        ‘nama’  => ‘TO Pertama’,
        ‘total’ => 60,
        ‘rata’ => 56
      ),
      ‘2′ => array(
        ‘nama’  => ‘TO Kedua’,
        ‘total’ => 50,
        ‘rata’ => 40
      ),
      ‘3′ => array(
        ‘nama’  => ‘TO Ketiga’,
        ‘total’ => 43,
        ‘rata’ => 60
      ),
      ‘4′ => array(
        ‘nama’  => ‘TO Keempat’,
        ‘total’ => 12,
        ‘rata’ => 40,
      ),
      ‘5′ => array(
        ‘nama’  => ‘TO Kelima’,
        ‘total’ => 59,
        ‘rata’ => 40
      ),
      ‘6′ => array(
        ‘nama’  => ‘TO Keenam’,
        ‘total’ => 7,
        ‘rata’ => 10
      )
      ,
      ‘7′ => array(
        ‘total’ => 13,
        ‘rata’ => 34
      ),
      ‘8′ => array(
        ‘total’ => 4,
        ‘rata’ => 21
      ) ,
      ‘9′ => array(
        ‘total’ => 0,
        ‘rata’ => 40
      ),
      ‘10′ => array(
        ‘total’ => 30,
        ‘rata’ => 40
      )                                                           
    );
   
   
    $graph = new Grafik_Kacung;
    $graph -> setFont(’bookos.ttf’);
    $graph -> setData($sampelData);
    $graph -> setCanvas(350,550);

?>

 Kurang lebih hasilnya seperti ini:

Sample Grafik Kacung

Semoga Bermanfaat

Comments (0)

November 5, 2009

Tip & trik menyisipkan nomor HP CDMA ke dalam HP GSM

Didalam Katagori: Uncategorized, Hacking

Teknologi HandPhone CDMA dan GSM terkadang membuat orang bingung harus memilih yang mana, di satu sisi, CDMA dikenal karena biaya operasional (bacaulsa) yang lebih murah, namun disisi lain GSM punya keunggulan jangkauan yang lebih luas.

Trik ini sebenarnya sudah lama, tapi mungkin hanya sedikit yang tahu dan biasanya paling cuma orang-orang counter HP saja. Tapi karena trik ini sebenarnya bukanlah suatu rahasia besar (TOP SECRET) yang hanya orang tertentu saja yang boleh tahu, maka BuL akan mengungkapkannya disini.

Manfaat yang bisa didapatkan dengan menyisipkan nomor CDMA ke nomor GSM antara lain:

1. HP GSM akan memiliki 2 nomor sekaligus dalam satu Handphone.
2. HP anda akan dapat dihubungi secara lokal bahkan lewat telepon koin pun bisa.
3. Nomor CDMA lokal anda masih dapat dihubungi sekalipun berada diluar daerah.
4. Nggak perlu beli HP CDMA untuk menggunakan nomor CDMA.

Tapi ini bukannya tanpa kelemahan maupun keterbatasan :

1. Nomor CDMA lokal anda hanya dapat digunakan untuk menerima telepon saja, sedangkan fungsi untuk menelpon, mengirim dan menerima SMS tetap ditangani oleh nomor GSM.
2. Bagaimanapun juga pulsa nomor CDMA tetap harus diisi sekalipun tidak digunakan, karena nomor CDMA bisa tidak berfungsi kalau pulsa hangus atau kosong.
3. Dikenakan biaya airtime yang dipotong langsung dari pulsa CDMAnya walaupun cuma terima telepon saja.

Tapi paling nggak Trik ini bisa dimanfaatin bagi anda yang sibuk dan harus mobile ke luar daerah, ataupun untuk tetap keep in touch pada saat pulang kampung ataupun liburan.

Yang harus disiapkan yaitu:

1. HP GSM dan nomor GSM tentunya untuk ditambahkan nomor CDMA.
2. HP CDMA sebaiknya dengan Fasilitas Ruim Dual Band yang menggunakan kartu dan bukan yang di injek) seperti : Nokia 2115, 6015, 6016, 6585, dll. Dan nggak perlu beli, karena cuma dipakai sebentar aja, bisa pinjem sama saudara, temen, tetangga ataupun tempat dimana beli nomor CDMA nya.
3. Kartu Perdana CDMA, pilih yang sesuai untuk di sisipkan ke nomor GSM anda.
1. Star One untuk : Mentari, IM3, dan Matrix
2. Flexy untuk : Simpati, Kartu AS, Kartu Hallo
3. Esia untuk : Simpati, Kartu AS, Kartu Hallo dan XL

Pemilihan kartu harus benar-benar sesuai, jika tidak maka trik ini nggak akan berhasil.

Cara Menyisipkannya:

1. Masukkan kartu perdana CDMA yang telah dibeli kedalam HP CDMA .
2. Lakukan Pengaktifan

A. Untuk Star One :

1. Tekan *92 + Nomor HP anda (No. HP GSM yang ingin disisipi) misalnya: *92081512345678
2. Tekan OK/Yes.. lalu dengarkan
3. Setelah selesai tutup HP CDMA nya
4. Di test dengan menelpon ke No. CDMA, jika yang berdering adalah HP GSM berarti anda telah berhasil !!

B. Untuk Flexy :

1. Tekan *71 + Nomor HP anda (No. HP GSM yang ingin disisipi) misalnya: *7108125712345
2. Tekan OK/Yes dan dengarkan…
3. Setelah selesai tutup HP CDMA nya
4. Di test dengan menelpon ke No.CDMA, jika HP GSM anda berdering, maka anda telah berhasil !!

C. Untuk Esia :

1. Tekan *12 + Nomor HP anda (No. HP GSM yang ingin disisipi) misalnya: *12081612345678
2. Tekan OK/Yes dan dengarkan…
3. Setelah selesai tutuh HP CDMA nya
4. Di test kembali dengan menelpon ke No.CDMA, jika HP GSM anda yang berdering, maka anda telah berhasil !!

Nggak sulit kan, kurang lebih seperti mengisikan pulsa dari voucher yang kita beli saja.

Suatu saat mungkin kita ingin mengembalikan nomor CDMA kedalam kartu asalnya agar bisa digunakan di HP CDMA, berikut cara-cara untuk mengembalikannya.

A. Untuk Star One

1. Tekan *920
2. Tekan OK/Yes dan dengarkan…
3. Setelah selesai tutup
4. Di test dengan menelpon ke nomor CDMA, jika HP CDMA berdering, maka nomor telah kembali ke kartu asalnya.

B. Untuk Flexy

1. Tekan *710
2. Tekan OK/Yes dan dengarkan…
3. Setelah selesai tutup
4. Di test dengan menelpon ke nomor CDMA, jika HP CDMA berdering, maka nomor telah kembali ke kartu asalnya.

C. Untuk Esia

1. Tekan *120
2. Tekan OK/Yes dan dengarkan…
3. Setelah selesai tutup
4. Di test dengan menelpon ke nomor CDMA, jika HP CDMA berdering, maka nomor telah kembali ke kartu asalnya.

Comments (0)

Cara mengetahui Jenis Server yang digunakan sebuah Domain

Didalam Katagori: Uncategorized, Hacking

Bismillah…

Hari kamis (5 November 2009), huh suasana mendung + internet yang gak stabil.. lelet tapi kadang oke…

Sambil nungguin loading, iseng2 nyari situs buat konversi dari IP ke doman, nemu deh http://www.myipneighbors.com/search/check Lumayan gratis….

Tiba2 muncul ide buat nyari informasi sebuah website domain, apakah domain tersebut berada di server shared atau bukan.

Mungkin secara tidak langsung ini bisa jadi sebuah cara untuk mengetahui server jenis apa yang digunakan sebuah domain.

Entah itu dedicated, collocation atau shared server :D

Oke cara pertama… Saya pake cmd aja…

Terus ketikan perintah

C:\Users\didin >Tracert situstujuan.com

Tracing route to situstujuan.com [202.134.0.xxx] over a maximum of 30 hops:

1 2 ms 1 ms 1 ms 192.168.1.2

2 * * * Request timed out.

3 252 ms 98 ms 100 ms 125.166.200.1

4 * * * Request timed out.

5 221 ms 187 ms 98 ms vr–ge.emm.telkom.net.id [202.134.0.1]

6 170 ms 95 ms 140 ms 202.134.0.xxx

7 89 ms 90 ms 89 ms 202.134.0.xxx

8 90 ms 89 ms 88 ms 202.134.0.xxx

9 89 ms 92 ms 102 ms 202.134.0.xxx

Trace complete.

 

Dari hasil tracert diatas, kita tahu bahwa IP address situstujuan.com adalah 202.134.0.xxx OK kita langsung aja masukin ip tersebut di situs http://www.myipneighbors.com/search/check

kalo ternyata dari IP tersebut dihasilkan hanya 1 domain, maka kemungkinan domain tersebut memakai server dedicated (wuiiiiih) tapi kalo lebih dari 1 bisa jadi domain tersebut berada di shared :D Semoga bermanfaat

Comments (0)

Tutorial Posting Table di Blog

Didalam Katagori: Uncategorized, Internet, Ngalor-Ngidul


Karena banyaknya permintaan (walaupun Cuma 2) CMIWW…. He.

Untuk membuat table yang nantinya akan diposting dib log/ web, maka anda tidak bisa serta merta mengkopi dari MS Word langsung, walaupun bisa tapi tidak jarang hasilnya tidak sesuai dengan yang diharapkan.

Ada dua cara untuk memposting table ke blog/ web : dengan membuat table menggunakan HTML, atau mengkonversi table di (MS WORD) ke dalam bentuk image.

Cara pertama :

Dengan menggunakan HTML,

Harus minimal ngerti apa itu HTML dan bagaimana cara membuatnya.

 

Atau kalo gak mau report, pake aja software Macromedia Dreamweaver, adobe go live, Microsoft FrontPage, dll.

 

Selain menggunakan cara diatas, mungkin ada alternative yang bisa dijadikan walalupun hasilnya kdang2 gak sesuai dengan yang diharapkan juga (devaju he..)

 

Gini

  • Buka Document anda (MS WORD) yang sudah anda buat table didalamnya
  • Klik save as kemudian pada combobox, save as file type pilih Web Page (*.html)
  • Lalu simpan di lokasi terserah anda, misal n amanya (table.html)
  • Lalu buka (table.html) (double click file yang sudah ada simpan tadi) (sebaiknya gunakan pake firefox)
  • Setelah itu klik kanan lalu pilih View Page Source (Firefox)
  • Lalu copy semua kode
  • Selanjutnya login ke blog atau web anda,
  • Dan pastekan kode tadi di form postingan anda (sebelumnya gunakan methode HTML) yang biasanya ada dalam setiap editor dib log masing-masing/ web masing-masing.
  • Simpan…….
  • Finish

Selanjutnya cara  yang kedua, yaitu dengan mengkonversi dengan image… itu pake “print Screen” biasa….. dan saya kira cara pertama diatas sudah mencukupi..

 

Semoga bermanfaat

 

 

Comments (0)

October 25, 2009

LIPIA

Didalam Katagori: Ngalor-Ngidul

Salah satu keinginan ku yang sampai saat ini belum tercapai adalah…. "Pengen Kuliah di Lipia" emoticon

Comments (3)

October 21, 2009

IE 6++ Hacks CSS Tutorials

Didalam Katagori: Aktual, CSS

Bismillah…

Masalah jadul yang biasanya ditemui web designer adalah seputar CSS yang tidak bisa crossing browser, khususnya kalo sudah ketemu sma IE (Internet Explorer 6). sebenarnya standarisasi javascript sudah mulai diterapkan di berbagai browser (Firefox, Opera, Safari, IE 8) versi terbaru. namun karena IE 6 lebih dulu booming dikalangan pengguna komputer mau tidak mau masalah crossing browser harus tetap menjadi perhatian. 

Menurut statistik berbagai tracker web, IE 6 masih menempati posisi terbesar ke-dua setelah firefox. Nah sudah cukup basa basinya.

Mari Kita mulai tutorial pertama bagaimana cara meng-hacks CSS di IE 6.

perhatikan CSS berikut:

.merah{
   color:red;
}

 simpan script css diatas dengan nama style.css

lalu berikutnya buat file dengan nama misal:ie-hacks.html dan isi dengan script dibawah ini:

<html>
  <head>
    <title>IE 6++ Hacks Tutorial</title>
    <link style="text/css" rel="stylesheet" href="style.css" />
  </head>
  <body>
 
  <span class="merah">
       HALLO DUNIA!!
  </span>
 
  </body>
</html>

Ketika file ie-hacks.html itu dibuka dengan firefox/ opera/ chrome maka akan menampulkan tulisan HALLO DUNIA!! dengan warna merah, begitu juga ketika di buka di IE (baik IE 6 atau yang terbaru).

Nah sekarang coba anda lakukan modifikasi di file style.css, menjadi seperti dibawah ini:

 .merah{
   color:red;
  *color:blue;
}

 Bagaimana hasilnya ketika di buka dengan browser (firefox/opera/chrome) dan IE??

 di browser yang sudah standarisasi CSS (firefox/opera/chrome) warna tulisan HALLO DUNIA!! adalah merah, tapi ketika anda buka melalui IE, warna tulisan tersebut adalah biru Cool, kita bisa melakukan IE hacks dengan bantuan tanda Asterik (*).

Cara ini juga bisa diterapkan pada penamaan selector. misal:

.merah {
    color:red;
}

*.merah{
    color:blue;
}

atau bisa juga

#merah{
    color:red;
}

*#merah{
    color:red;
}

Jangan malas untuk mencoba ya!! soalnya… saya males bikin demonya Jittery

 Mungkin itu dulu aja, semoga bermanfaat… :)

Comments (0)

October 17, 2009

Pertamina, Kerja Keras Adalah Energi Kita

Didalam Katagori: Uncategorized, Ngalor-Ngidul, kerja keras adalah energi kita

Pertamina sudah menjadi bagian dari Indonesia, Pertamina selalu menjadi sumber untuk mendapatkan BBM (itu bagi saya pribadi), walaupun kini bermunculan POM BBM lain dari luar, pertamina menurut saya pribadi tetap menjadi pilihan utama? kenapa??????

  1. Pertamina adalah produk Indonesia, (saya pribadi berharap, rakyat indonesia dapat terbantu oleh pertamina baik itu karyawannya maupun orang-orang yang membutuhkan entahlah itu siapa) 
  2. Petugasnya ramah2… (Ini jelas sangat penting, walaupun laki2, bagi saya pribadi keramahan kepada customer membuat customer nyaman dan memberikan respon serupa)
  3. Pertamina ada dimana-mana!! (Ini adalah bagian yang saya suka, saya pernah melakukan perjalan jauh seharian dari jawa timur ke jawa barat, kebetulan waktu mudik lebaran, dengan adanya pertamina dihampir setiap ruas jalan-jalan utama, membuat perjalanan lancar :-) )
  4. selanjutanya adalah,…. ada musholaaaaaaa (Alhamdulllah… ini membuat saya sering beristirahat dan menunaikan beberapa kewajiban disini, bila kadang ketika sudah tidak kuat * nyetir mobil, terpaksa saya cari tempat istirahat, dan biasanya tujuan utama adalah Pertamina (POM BBM Indonesia))
  5. Harganya terjangkau, kalo ada motor kadang saya pake motor, karena harganya terjangkau, ya lumayan dengan 10 ribu bisa dapet 1 liter lebih, itu cukup lah buat 3 hari bolak balik sana-sini.

Mungkin itu sekelumit hal yang saya rasakan :)

Namun mungkin ada beberapa hal yang harus diwaspadai, karena semakin hari BBM akan semakin susah didapatkan, mungkin kepada pihak pertamina untuk mengupayakan bagaimana supaya bisa menghemat BBM, menggunakannya secara efektif dan efisien tapi hal ini juga bukan hanya dari pihak pertamina lho mungkin lebih tepatnya kepada seluruh warga yang menggunakannya, entah bagaimana caranya saya tidak tahu, tapi yang penting hal ini mulai dari pribadi saya sendiri dulu ..he..he.. Flushdan juga yang baca artikel ini Jittery

dan satu lagi harapan pribadi saya, sekali lagi mudah-mudahan pertamina lebih bermanfaat lagi bagi semua yang menggunakannya. karena pertamina adalah hasil kerja keras kita (khusunya Bangsa Indonesia), sehingga hal itu akan terus menjadi energi bagi kita.

semoga bermanfaat…

Comments (3)

October 16, 2009

Sekilas Tentang DDOS & SQL Injection

Didalam Katagori: Internet

Salah satu tantangan bagi seorang web developer ketika membuat sistem, adalah kemampuan security yang handal, handal bukan berarti kuat dan tidak dapat dihack,,, dikatakan dalam sebuah buku tentang security, tingkat keamanan sebuah sistem dikatakan sangat aman ketika,

membutuhkan usaha, tenaga, waktu yang sangat besar untuk menghacknya bagi seorang hacker (cracker lebih cocoknya)

tidak ada satupun sistem yang aman didunia ini, kalau pun ada, maka itu bisa terjadi bila sebuah PC/ Komputer disimpan disebuah lemari besi, dikunci dengan kunci yang sangat kuat, kemudian dimasukan ke ruangan baja yang dikunci dengan kunci lebih kuat lalu dijaga oleh ratusan tentaraemoticon, dan putus koneksi internet didalamnya. (itu baru dikatakan aman 100% dari cracker), so, tidak ada sistem yang aman.

kemanan selalu berbanding terbalik dengan kenyamanan

hal ini seakan-akan menjadi rumus yang belum bisa terbantahkan, tanya kenapa?? atau barangkali ada yang tahu? silahkan share  {$lang_emotions_smiling}

Salah satu serangan yang dilakukan para cracker adalah DDOS, (Distributed Deniel of Service), adalah paket data2 yang dikirim ke server target dengan jumlah besar sehingga menyebabakan lalu lintas komputer target down biasanya menggunakan paket-paket SYN untuk melakukan serangan DDOS.

Jenis Serangan lainnya diantaranya adalah SQL Injection, ini adalah semacam kegiatan dengan menggunakan script atau perintah tertentu yang menyebabkan sebuah website/ target terupdate databasenya. jadi intinya databasenya di inject. sehingga kontentnya bisa diubah, dan biasanya cracker mengubah tampilan awal sebuah website.

jenis serangan pertama DDOS, bisa diatasi dengan meingnstall beberapa tools keamanan untuk mencegah serangan DDOS, sementara SQL Injection bisa dicegah dengan mengupdate script website (dan ini bisanya dilakukan oleh developer web itu sendiri atau yang bertanggun jawab terhadap aplikasi tersebut)

beberapa hal lain yang bisa digunakan untuk mencegah DDOS Attack:

  • Meningkatkan ukuran buffer koneksi TCP untuk meningkatkan jumlah percobaan pembuatan koneksi yang dapat dilakukan secara simultan. Hal ini memang menjadi solusi sementara, karena penyerang juga mungkin meningkatkan ukuran paket SYN yang ia kirimkan untuk memenuhi buffer tersebut.
  • Mengurangi nilai waktu kapan sebuah percobaan pembuatan koneksi TCP menjadi "timed-out". Hal ini juga menjadi solusi sementara, apalagi jika jaringan di mana sistem berada sangat sibuk atau lambat.
  • Mengimplementasikan penapisan paket yang masuk ke dalam router, sehingga memblokir semua serangan yang menggunakan alamat palsu. Hal ini juga menjadi solusi sementara, karena tidak semua ISP mengimplementasikan fitur seperti ini.
  • Memantau firewall dan mengonfigurasikannya untuk memblokir serangan SYN flood ketika hal tersebut terjadi. Pendekatan ini merupakan pendekatan yang sering dilakukan oleh banyak organisasi, apalagi jika ditambah dengan Intrusion Prevention System (IPS), meski hal ini membutuhkan kejelian dari seorang administrator jaringan untuk memantau catatan (log) dari IPS dan firewall yang ia atur. Bahkan, dengan kedua perangkat tersebut, klien-klien yang valid dapat ditolaknya karena konfigurasi yang tidak benar.

 

 Sumber http://id.wikipedia.org/wiki/Serangan_DoS

 

Comments (0)

October 15, 2009

perbedaan menggunakan window.onload dan tidak pada javascript

Didalam Katagori: Uncategorized, Javascript

dalam javascript dikenal istilah Event, atau suatu aturan yang menangani semua interaksi user dengan aplikasi, dalam hal ini website.

salah satu event yang sering digunakan adalah onload().

silahkan lihat contoh pada script berikut:

<html>
  <head>
    <title>DOM</title>
  </head>
  <body>
       <div id="text">Hello World!</div>
       <script type="text/javascript">
       window.onload = function(){
         alert(document.getElementById(’text’).innerHTML);
       }
       </script> 
  </body>
</html>

script diatas akan menghasilkan prompt alert "Hello World"

sekarang kembali ke judul artikel ini, kita akan mengetahui dimana letak perbedaan antara menggunakan event window.onload() dengan yang tidak menggunakannya. perhatikan contoh dibawah yang tidak menggunakan event onload():

<html>
  <head>
    <title>DOM</title>
  </head>
  <body>
       <div id="text">Hello World!</div>
       <script type="text/javascript">
                alert(document.getElementById(’text’).innerHTML);
       </script> 
  </body>
</html> 

 Ternyata hasilnya tetap sama, dengan script sebelumnya (yang menggunakan event window.onload()), nah lalu dimana letak perbedaannya??

 Oke sekarang perhatikan contoh selanjutnya:

<html>
  <head>
    <title>DOM</title>
  </head>
  <body>
       <script type="text/javascript">
                alert(document.getElementById(’text’).innerHTML);
       </script> 
       <div id="text">Hello World!</div>
  </body>
</html>  

 pada script diatas, posisi tag div saya pindahkan dibawah tag script, dan perhatikan bahwa script tersebut tanpa menggunakan event window.onload();, lihat bagaimana hasilnya??

YA! benar, hasilnya adalah error

document.getElementById("text") is null

tag dengan ID text tidak terdeteksi oleh script tersebut, itu dikarenakan letaknya tidak urut, karena secara default javascript akan diproses oleh browser dari atas ke bawah,  Nah gimana?? {$lang_emotions_happy}

Untuk memperjelas perbedaannya (nya => judul ) , perhatikan (atau kalo gak males dicobaDreamer ) sekali lagi script dibawah,

 <html>
  <head>
    <title>DOM</title>
  </head>
  <body>
       <script type="text/javascript">
       window.onload = function(){
         alert(document.getElementById(’text’).innerHTML);
       }
       </script> 
       <div id="text">Hello World!</div>
  </body>
</html>

 script diatas saya tambahi event window.onload(). lihat hasilnya!!

 kesimpulan :

  • penggunaan window.onload() lebih aman
  • bila tidak ingin menggunakan window.onload(), maka perhatikan urutan javascript DOM dan HTML TAG (Object) mana yang lebih dulu menjadi acuan/ program dibaca dari atas ke bawah
  • bila menggunakan window.onload(), maka urutan script antara javascript DOM dan HTML TAG (Object) boleh diabaikan
Comments (0)

October 14, 2009

JavaScript Object Oriented Programing (OOP)

Didalam Katagori: Javascript

Hari hari antara awal oktober hingga artikel ini ditulis, saya pribadi merasakan hari ini berbolak-balik, sering gak merasa puas dengan metode pemrograman yang saya pake, padahal sering improvisasi, tapi tetap saja belum merasakan kepuasan dengan beberapa framework yang saya  kembangkan sendiri,

Akhirnya tanggal 14 Oktober kemarin, saya iseng2 mencoba mempelajari javascript OOP secara pure, tanpa pake framework JS apapun, karena awalnya saya biasa pake jQuery setelah memutuskan beralih dari prototype .

<script type="text/javascript">
   // Person adalah nama Class beserta constructornya
    function Person(){
       this.name = "Didin Nurdin Ahmadi";
       this.age  = function(a){
        return a;
       }
    }
   

    Person.prototype.School = function(alamat){
        this.Alamat = function(alamat){
        return (alamat) ? alamat : "Margonda";
      }
      return "MI";
    }
   
    Person.prototype.Age = function(){
      return (new Person().age(5));
    }

 </script>

Potongan script diatas adalah implementasi OOP secara simple dengan javascript. Class tersebut bernama class Person, walaupun kelihatannya seperti function biasa, perlu diketahui, javascript mempunyai beberapa cara untuk membuat Class, dan salah satunya adalah dengan cara yang saya pakai.

perintah prototype berguna untuk meregister function/ method/ property ke dalam Class , sehingga penggunaannya adalah

ClassName.prototype.method = function(){

}

Selain dengan sintax prototype, register methode kedalam sebuah object bisa juga dengan menggunakan

this.method = function(){

}

bedanya, penggunaan kata this ini harus ada di dalam scope function.object. misalnya:

Person.prototype.School = function(alamat){
        this.Alamat = function(alamat){
        return (alamat) ? alamat : "Margonda";
      }
      return "MI";
 }

 Pada potongan script diatas, kita tahu bahwa dalam method School ada sebuah function/ methode lagi yang bernalam Alamat(arg);

 Kedudukan methode Alamat() sama dengan School(), walaupun kelihatannya methode Alamat() berada didalam methode School(), itu karena rujukan this kembali ke Object Person (dalam contoh ini). jadi jika ingin mengakses method Alamat(), caranya sama dengan School(). misal:

  man = new Person();
  document.write(man.Alamat() + "<br/>");
  document.write(man.School() + "<br/>");

dari Class Person yang telah dibuat diatas, kita bisa mengetahui methode/property apa saja yang ada didalamnya, kita bisa melihatnya dengan menggunakan funcion for in:

  man = new Person();
 
  for(a in man){
    document.write(a + " = " +man[a] + "<br>");
  }

 OK sekian dulu, semoga bermanfaat…

 

Comments (0)