Pr oye k Aplik a si Ba b 3 – Ja va Kids Fou n da t ion

Pr oye k Aplik a si Ba b 3 – Ja va Kids Fou n da t ion

Karena proyek ini source codenya cukup banyak m aka kit a akan m em buat nya dalam wakt u dua hari. Yait u hari ke t iga belas dan hari ke em pat belas. Jadi proyek bab 3 ini diharapkan selelsai dalam wakt u dua hari.

Unt uk proyek kali ini akan sangat berbeda dengan proyek- proyek sebelum nya. I ni karena kit a sudah t idak m em akai file sebagai m edia penyim panan. Tapi kit a sekarang m enggunakan sist em dat abase. Proyek bab 3 kali ini bert it el “ Java Kids Foundat ion” . Websit e ini nant inya m em iliki sist em m e m be r sh ip art inya t erdapat m em ber area dan unt uk m asuk user harus m enget ikkan usernam e dan password.

Selain it u kit a j uga m enam pilkan berit a disebelah kiri halam an. Berit a ini j uga m enggunakan dat abase sebagai m edia penyim panan. Pada halam an ut am a berit a yang kit a t am pilkan hanya cuplikannya saj a yait u sebanyak 25 kat a pert am a. Dan unt uk m em baca secara lengkap user perlu m engklik link berit a lengkap.

Pada proyek ini j uga t erdapat fasilit as buku t am u dan form kont ak kam i. Jadi boleh dibilang proyek kali ini m erupakan proyek yang paling m endekat i aplikasi web sebenarnya. Unt uk keperluan m anaj em en berit a, m em ber yang bergabung dan penghapusan ent ry buku t am u. Kit a sediakan con t r ol pa n e l unt uk adm in.

Beberapa fasilit as yang ada pada proyek ini sudah pernah kit a t erapkan sebelum nya. Hanya saj a kali ini lebih kit a kem bangkan. Fasilit as- fasilit as yang ada ant ara lain:

ƒ Fasilit as m em ber ƒ Fasilit as berit a ƒ Buku t am u ƒ Kont ak kam i ƒ Lupa password ƒ Cont rol panel unt uk adm in

Cont rol panel yang kit a sediakan nant inya dapat kit a gunakan unt uk m enghapus, m engedit , dan m enam bah berit a. Selain it u dapat pula digunakan unt uk m enghapus m em ber at au buku t am u yang kit a anggap “ sam pah” .

Unt uk it u ikut i beberapa langkah konfigurasi sebelum kit a m ulai m em buat proyek bab 3 ini, ikut i langkah- langkah berikut :

ƒ Buat folder baru pada C: \ Apache2\ ht docs\ webm ast er\ Bab3\ ƒ Nam ai folder t ersebut ha ri- 1 3 - 1 4 ƒ Masuk pada direkt ori C: \ Apache2\ ht docs\ webm ast er\ Bab3\ hari- 13- 14\ ƒ Buat folder baru, nam ai folder t ersebut Proyek - Ba b3 ƒ Masuk pada direkt ori C: \ Apahce2\ ht docs\ webam st er\ Bab3\ hari- 13- 14\ Proyek- Bab3\ ƒ Buat beberapa folder baru, yait u a dm in, m em ber, dan t em pla t e

Daft ar file yang akan kit a buat unt uk aplikasi proyek bab 3 ini dit unj ukkan pada t abel 3.7 berdasarkan let ak direkt ori.

Ta be l 3 .7 Daft ar file unt uk proyek Java Kids Foundat ion

Direkt ori Pr oye k - Ba b3

N a m a File

Fu ngsi

index.php Menam pilkan halam an ut am a dan cuplikan berit a daft ar.php

Menam pilkan form regist rasi m em ber Menam pilkan form regist rasi m em ber

Menam pilkan form login

bukut am u.php Menam pilkan dan m em proses form buku t am u kont ak.php Menam pilkan form kont ak

Menam pilkan form lupa password

j avakids.sql Unt uk m em buat dat abase dan t abel

Direkt ori Pr oye k - Ba b3 \ a dm in

N a m a File

Fu ngsi

index.php Menam pilkan form login at au m enu ut am a unt uk adm in berit a.php

Mengedit , m enam bah dan m enghapus berit a

bukut am u.php

Menghapus ent ry buku t am u

m em ber.php

Menam pilkan halam an m em ber area

fungsi.php Menyim pan kum pulan fungsi

Direkt ori Pr oye k - Ba b3 \ t e m pla t e

N a m a File

Fu ngsi

index_var.php Menyim pan kum pulan variabel unt uk halam an non m em ber m em ber_var.php

Menyim pan kum pulan variabel unt uk halam an m em ber area j ava_skin.php

Tem plat e unt uk halam an non m em ber

m em ber_skin

Tem plat e unt uk halam an m em ber area

t em plat e.php Menyim pan class skin index.php Meredirect ke halam an ut am a

Direkt ori Pr oye k - Ba b3 \ m e m be r

N a m a File

Fu ngsi

index.php

Menam pilkan halam an ut am a m em ber

profil.php Mengupdat e profil

Unt uk file pert am a yang akan kit a buat , kit a m ulai dari direkt ori a dm in . Sekarang Jalankan PHP DESI GNER 2006 klik m enu File - N e w - SQL unt uk m em buat file SQL baru. Ket ik kode berikut ini

-- File untuk membuat database -- buat database bernama javakids -- hapus jika sudah ada

DROP DATABASE IF EXISTS javakids ; CREATE DATABASE javakids ;

-- aktifkan database javakids USE javakids;

-- buat tabel admin CREATE TABLE admin ( username varchar (16) NOT NULL , password varchar (16) NOT NULL , PRIMARY KEY ( username )

) TYPE ='MyISAM';

-- buat tabel bukutamu -- kolom id_bt bersifat auto increment artinya otomatis bertambah satu -- saat dilakukan UPDATE pada tabel

CREATE TABLE bukutamu (

id_bt int (4) NOT NULL auto_increment ,

tgl_post varchar (20) NOT NULL , nama varchar (30) NOT NULL , email varchar (30) NOT NULL , komentar varchar (255) NOT NULL ,

PRIMARY KEY (id_bt) ) TYPE ='MyISAM';

-- buat tabel member CREATE TABLE member ( username varchar (16) NOT NULL , password varchar (16) NOT NULL , nama varchar (30) NOT NULL ,

email varchar (30) NOT NULL , alamat varchar (100) NOT NULL , kodepos int (7) NOT NULL , kota varchar (20) NOT NULL , PRIMARY KEY ( username ) ) TYPE ='MyISAM';

-- buat tabel news CREATE TABLE news (

id_berita int (4) NOT NULL auto_increment ,

jdl_berita varchar (75) NOT NULL ,

isi_berita text NOT NULL ,

tgl_berita varchar (12) NOT NULL , PRIMARY KEY ( id_berita )

) TYPE ='MyISAM';

-- masukkan username dan password untuk admin INSERT INTO admin VALUES ('admin', 'javakids123');

Sim pan pada direkt ori Pr oye k - Ba b3 \ a dm in \ dengan nam a j a va k ids.sql.

Sepert i yang pernah kit a bahas unt uk m engeksekusi file SQL kit a dapat m enggunakan MySQL Monit or at au phpMyAdm in. Karena pada webhost ing banyak digunakan phpMyAdm in m aka kit a akan m enggunakan m et ode ini agar anda t erbiasa. Jalankan browser anda arahkan ke ht t p: / / localhost / webm ast er/ phpMyAdm in2.x.x gant i x dengan versi anda. Klik gam bar yang t erlet ak diat as daft ar dat abase.

Set elah m uncul window klik t om bol t ab I m por t file s pada query box klik t om bol browse arahkan ke C: \ Apache2\ ht docs\ webm ast er\ Bab3\ hari- 13- 14\ Proyek- Bab3\ adm in\ pilih j a va k ids.sql lalu klik Open. Langkah yang t erakhir klik t om bol Go unt uk m em proses file.

Selanj ut nya kit a akan m em buat file yang m em bangun sist em Cont rol Panel unt uk adm in. Kit a m ulai dengan m em buat file yang isinya adalah kum pulan fungsi yang akan kit a gunakan ham pir diseluruh file yang kit a buat . Jalankan PHP DESI GNER 2006 klik File - N e w - PH P lalu salin list ing kode berikut

Script dari file fu n gsi.ph p

<?php

// fungsi untuk koneksi ke MySQL function konek_db ( $localhost = 'localhost' , $user = 'javauser' , $pass = 'pas123' , $db = 'javakids' ) {

@ $koneksi = mysql_connect ( $localhost , $user , $pass ); if (! $koneksi ) return false ;

mysql_select_db ( $db ); }

//fungsi untuk login //fungsi untuk login

// cegah dari SQL Injection dan cross site scripting function filter_str ( $string ) { $filter = ereg_replace ( '[^a-zA-Z0-9_]' , '' , $string ); return $filter ; }

//cek setiap field apa ada yang kosong function cek_field ($ var ) {

foreach ( $var as $field )

{ if ( $field == '' || ! isset ( $field )) return false ; } return true ; }

// cek kevalidan email function cek_email ( $email ) { // fungsi untuk mengecek kevalidan email if ( ereg ( '^[a-zA-Z0-9_\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$' , $email )) return true ; else return false ; }

// fungsi untuk logout function logout ( $nama_session ) { if ( isset ( $_SESSION [ $nama_session ])) { unset ( $_SESSION [ $nama_session ]); session_destroy ();

return true ; } else return false ; }

// cek session function cek_session ( $nama_session ) { if ( isset ( $_SESSION [ $nama_session ])) return true ;

// session login terisi

else return false ;

// session login kosong

Sim pan pada direkt ori Pr oye k - Ba b3 \ a dm in \ dengan nam a fu ngsi.ph p.

SQL I n j e ct ion m erupakan suat u m et ode unt uk m engeksploit asi sist em dengan cara m em anipulasi query SQL. Manipulasi biasanya dilakukan pada form input yang m enyediakan t ext box.