Rabu, 10 Desember 2008

script PHP u/ membuat counter

Pada artikel kali ini, aku akan men-share sedikit script PHP untuk membuat counter sederhana seperti yang terdapat di bagian footer website ini. Bagi kamu yang udah ngerasa expert, sebaiknya berhenti membaca sekarang juga, karna dari judulnya, kamu seharusnya tau bahwa kita cuma mo bikin counter simple. Cara kerja counter ini kurang lebih kayak gini: halaman utama dibuka->input ke database->Output berupa jumlah records dari table yang dijadikan counter. OK, lets do this...

  • Pertama, buatlah table dengan nama counter pada database MySQL kamu dengan field sebagai berikut:
    • ip
    • user_agent
    • tanggal
  • Sekarang, tambahkan script berikut pada halaman utama website kamu. Ingat, tempatkan script ini di bagian paling atas sebelum tag

    $ip=getenv(remote_addr);
    $date=getdate(date("U"));
    $day=$date[mday];
    $month=$date[month];
    $year=$date[year];

    if (!isset($_COOKIE["visitor"]))
    {
    setcookie("visitor", "$ip", time() +3600);
    mysql_connect("localhost", "user", "password"); //sesuaikan host, user, dan password-nya !
    mysql_select_db("nama_db") or die(mysql_error()); //sesuaikan nama database-nya

    mysql_query("INSERT INTO counter(ip, user_agent, tanggal) VALUES('$ip', '$_SERVER[HTTP_USER_AGENT]', '$day/$month/$year')");
    }
    ?>

  • Pada code di atas, saat pertama kalo diakses halaman website kita akan membuat cookies dengan nama visitor yang isinya IP address dari visitor kita. Kalo cookies belom diset, maka record table Counter akan ditambah satu.
  • Untuk mendapatkan jumlah pengunjung, kita tinggal menghitung berapa jumlah records dari table Counter, gunakan code berikut:

    $qhit=mysql_query("SELECT * FROM counter");
    $hit=mysql_num_rows($qhit);

    echo "

    Kamu adalah pengunjung ke: $hit

    ";
    ?>
  • Sekarang, kamu tinggal meletakkan code di atas untuk menampilkan berapa jumlah pengunjung website kamu.

Semoga bermanfaat dan mohon dimaafkan kalo ada kesalahan.

Membuat Guest Book dengan PHP & MySQL - 2

Pada bagian 1, kita sudah mempelajari mengenai pengertian buku tamu alias guest book. Kita juga sudah menyiapkan tabel sebagai wadah penyimpanan pesan dari pengunjung. Jangan lupa, siapkan password, database dan user id tabel itu ya? Pada bagian 2 ini, kita akan ngebahas cara membuat form isian buku tamu kita.

Dalam pembuatan buku tamu, kita akan membuat tabel, form isian bukutamu.htm dan file php bukutamu.php. Untuk memperjelas tentang pembuatan buku tamu ini, sebelumnya akan saya jelasin hubungan antara ketiganya.
Halaman yang pertama dilihat oleh pengunjung situs kita saat akan mengisi buku tamu adalah bukutamu.htm. Di halaman ini mereka akan mengisikan nama dan komentar mereka pada form tersebut. Setelah selesai mengisi, pengunjung tersebut akan mengklik tombol 'kirim' yang akan mengeksekusi file bukutamu.php. File ini bertugas untuk menangkap isi dari form bukutamu.htm dan memasukkannya ke dalam tabel yang sudah kita siapkan pada bagian 1. Gimana, dah jelas kan? kalau sudah, kita akan melanjutkan pada pembuatan script bukutamu.htm.
Tag HTML yang digunakan dalam bukutamu.htm sangat sederhana. Kita akan menggunakan beberapa tag HTML yaitu
, dan ......
Script HTMLnya seperti di bawah ini:

Nama :

Pesan :




Berikut penjelasan baris per barisnya:

  • Baris I bertugas membuat sebuah formulir isian. Yang perlu kamu perhatikan di sini adalah parameter ACTION. Dalam parameter ini kamu harus menentukan nama file yang akan dieksekusi setelah klik pada tombol kirim.
  • Baris II akan memunculkan kata Nama : diikuti sebuah kolom yang bisa diisi oleh pengunjung dengan nama mereka. Parameter penting di sini adalah NAME. Kamu bisa mendefinisikan sebuah nama sebagai tempat menyimpan hasil pengisian si pengunjung tadi. Nah isi parameter NAME tersebut (dalam kasus ini nama) akan dapat diambil isinya oleh file bukutamu.php sebagai variabel $nama. Gampang to?
  • Baris III penjelasannya sama, dengan nama variabelnya adalah $pesan.
  • Baris IV akan menampilkan tombol bertuliskan kirim.

Ternyata ndak terlalu rumit kan? Guaampang ko. :)
nah, kalau sudah mudeng, kita akan bikin file bukutamu.php yang akan memasukkan isi dari input nama dan pesan ke dalam tabel yang sudah kita buat sebelumnya.

Selasa, 18 November 2008

Bahasa Pemrograman

Bahasa Pemrograman
~ Bahasa pemrograman adalah bahasa yang menjadi sarana manusia untuk berkomunikasi dengan komputer.
~ Pikiran manusia yang tidak terstruktur harus dibuatterstruktur agar bisa berkomunikasi dengan komputer.
~ Komputer memerlukan kepastiandan logika yang benaruntuk dapat melakukan suatu instruksi tertentu.
~ Untuk itu diperlukan algoritma yg baikdan benar.

Bahasa Mesin
~ Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer.
~ Bahasa mesin sering juga disebut native code(sangat tergantung pada mesin tertentu). Bahasa ini merupakan bahasa level terendah dan berupa kode biner: 0 dan 1.
~ Sekumpulan instruksi dalam bahasa mesin dapat membentuk microcode(semacam prosedur dalam bahasa mesin).
Contoh:
untuk mesin IBM/370
0001100000110101 = 1835 yang berarti mengkopikan isi
register 5 ke register 3

Keuntungan: Eksekusi cepat
Kerugian: Sangat sulit dipelajari manusia

Bahasa Assembly (mnemonic code)
~ Bahasa assembly adalah bahasa simbol dari bahasa mesin.
~ Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain.
~ Sekumpulan kode-kode bahasa assembly dapat membentuk makroinstruksi.
~ Bahasa assembly juga memiliki program pen-debug-nya, tidak seperti bahasa mesin. Misalnya: Turbo Assembler dan debug pada DOS. Assembler akan mencocokkan token simbol dari awal s/d akhir, kemudian dikodekan menjadi bahasa mesin.

Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file hasil sangat kecil
Kekurangan: Tetap sulit dipelajari, program sangat panjang


Bahasa Tingkat Tinggi (High Level Language)
~ Bahasa ini lebih dekat dengan bahasa manusia. Bahasa inilah yang akan dibahas pada matakuliah ini.
~ Bahasa ini juga memberikan banyak sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain. Contoh: Pascal, Basic, C++, dan Java.
~ Mendukung information hiding, enkapsulasi, dan abstract data type.
~ Bahasa Tingkat tinggi memiliki generasi, misalnya generasi ke-3 (Pascal, C/C++) dan generasi ke-4 (Delphi, VB, VB.NET
Visual Foxpro)
Keuntungan:
-Mudah dipelajari
-Mendekati permasalahan yang akan dipecahkan
-Kode program pendek
Kerugian: Eksekusi lambat

Bahasa yang berorientasi pada masalah spesifik
(specificproblem oriented).
~ Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu masalah tertentu. Misalnya SQLuntuk database, Regexuntuk mencocokkan pola pada string tertentu.
~ Jenis bahasa ini juga masuk ke bahasa
tingkat tinggi.

HTML

HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
Versi terakhir dari HTML adalah HTML 4.01, meskipun saat ini telah berkembang
XHTML yang merupakan pengembangan dari HTML.

HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.
HTML dokumen tersebut mirip dengan dokumen teks biasa, hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: TAMPIL TEBAL. Tanda digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh teks yang ingin ditebalkan, dan diakhiri dengan tanda untuk menonaktifkan cetak tebal tersebut.

Php

PHP adalah salah satu bahasa pemrograman di Internet. PHP bersifat cepat, gratis dan murah ( gratis ), selain itu PHP mendukung penggunaan database seperti MySQL, PostgreSQL, mSQL, Oracle etc.
Untuk dapat menjalankan PHP melalui browser, maka anda diharuskan terlebih dahulu menginstall web server ( misalnya Apache, PWS, IIS ) lalu menginstall PHP, sedangkan untuk menjalankan MySQL anda tidak perlu menginstall web server, hanya saja jika ingin dijalankan melalui browser, maka anda harus menginstall web server. Prosedur penginstallan web server, PHP dan MySQL dapat anda baca pada manual masing – masing. Adapun manual dan instalan Apache, PHP maupun MySQL dapat anda cari di
http://ftpsearch.itb.ac.id .
Jika anda tidak ingin direpotkan dengan prosedur penginstallan PHP, anda dapat menjalankan PHP di direktori public_html anda di s.ee.itb.ac.id. Hal itu dapat dilakukan karena PHP bersifat server side artinya script PHP di jalankan di server, bukan di computer client. Jadi semakin banyak client yang menjalankan script PHP di suatu situs, maka beban yang ditanggung oleh server semakin bertambah.
Sintaks – sintaks dalam PHP banyak yang sama dengan C++, dalam hal ini penulis tidak memberikan penjelasan penggunaan sintaks – sintaks tersebut mengingat para cakru telah memperoleh pengajaran tersebut di dalam kuliah maupun praktikum EL – 207 Komputer dan Pemrograman.

mySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain :

1. Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2. Open Source
MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
3. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Column types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Command dan functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query.
7. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
8. Scalability dan limits
MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9. Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Localisation
MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya.
11. Interface
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunak
12. Clients dan tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
13. Struktur tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun ORACLE.

MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.
Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual secara komersial antara lain: MySQL front, Navicat dan EMS SQL Manager for MySQL.