Belajar Panada PHP Framework Bagian 1


Apa kabar sahabat semua? selamat tahun baru 2012 – tidak terasa sudah lebih dari dua tahun saya mengenal Linux dan telah banyak suka duka dalam menggunakannya sampai akhirnya bertahan dengan menggunakan Distro Ubuntu.

Cukup lama juga, hampir sepanjang tahun 2011 saya sudah jarang posting tentang Review Distro Linux, karena pada dasarnya semuanya sama saja. Perbedaan mendasar mungkin didasarkan pada rentang rilis distro, paket manajer dan desktop menager serta update software.

Baiklah kembali kepada topik, kali ini saya akan berbagi pengetahuan tentang membuat aplikasi web menggunakan Panada PHP framework yang merupakan hasil karya anak negeri yaitu Iskandar Soesman (kandar.info). untuk pengetahuan dasar PHP, sahabat bisa mengunjungi web w3shools.com atau download ebook Php Mysql versi Indo di achmatim.net. dan untuk Panada PHP Framework, sahabat bisa download di panadaframework.com.

persiapan perlengkapan yang dibutuhkan :

  1. Panada framework
  2. Netbeans IDE atau editor seperti gedit, geany, notepad++ (windows), komodo editor (windows), codelobster php edition.
  3. Local webserver, untuk windows bisa menggunakan WAMP, XAMPP, APPserv, easyPHP dll.

oke, saya asumsikan sahabat sudah faham menggunakan semua perlengkapan diatas, silahkan install panada framework di localhost anda, berikan nama foldernya sesuai keinginan anda – saya akan memberikan nama belajar_panada untuk tutorial ini, untuk pemahaman dasar silahkan baca dokumentasi yang disertakan dalam folder instalasi Panada.

Instalasi Panada
Hasil Instalasi Panada

setelah berhasil melakukan instalasi saatnya buka Netbeans IDE, kemudian buat project baru dengan pilihan PHP Application with existing sources. Kemudian pilih folder instalasi panada yang kita buat sebelumnya.

Buat Project baru
Buat Project baru
PIlih Berkas Instalasi Panada
PIlih Berkas Instalasi Panada

langkah selanjutnya adalah membka file config pada folder apps – dan merubah setting base url menjadi seperti dibawah ini :

$CONFIG['base_url'] = 'http://' .$_SERVER['HTTP_HOST'].'/<strong>belajar_panada</strong>/'; /* Change this with your application domain and/or path. */
$CONFIG['index_file'] = ''; /* Remove this index.php if you wish an url without "index.php" */

kemudian rename file file.htacces dengan menggunakan netbeans menjadi .htaccess. selanjutnya folder controller dan open file home.php rubah isinya menjadi seperti ini :

<?php

defined('THISPATH') or die('Can\'t access directly!');

class Controller_home extends Panada {

public function __construct() {
 parent::__construct();
 $this->request = new Library_request();
 }

public function index() {
 //cek jika ada submit form jalankan pengecekan variabel input,
 //jika tidak ada alihkan ke tampil form
 if (isset($_POST['submit'])) {
 //deklarasi variable namanya berdasarkan input user pada form
 $namanya = $this->request->post('nama');
 //filter nama utk menghilangkan spasi pada awal dan akhir input,
 //dan menjadikannya lower case
 $filter_nama = trim(strtolower($namanya));
 //jika input nama kosong, tampilkan pesan error 1
 if (empty($filter_nama)) {
 $error[1] = "Nama tidak boleh Kosong";
 } elseif (strlen($filter_nama) <= 3) {
 //jika input nama kurang dari 3 tampilkan pesan error 2
 $error[2] = "Nama Kurang Lengkap !";
 }
 $teleponnya = $this->request->post('telepon');
 $filter_telepon = trim($teleponnya);
//cek input dan sesuaikan pesan errornya
 if (empty($filter_telepon)) {
 $error[3] = "Nomor Telepon tidak boleh Kosong";
 } elseif (!is_numeric($filter_telepon)) {
 $error[4] = "Nomor Telepon Tidak Valid !";
 } elseif (strlen($filter_telepon) <= 3) {
 $error[5] = "Nomor Telepon Kurang Lengkap !";
 }
//jika tidak ada error tampilkan hasil
 if (!isset($error)) {
 $data['judulna'] = "Testing Form";
 $data['heading'] = "Pendaftaran Berhasil";
 $data['nama'] = $filter_nama;
 $data['telepon'] = $filter_telepon;
 $this->view_hasil($data);
 } else {
//jika terdapat error tampilkan pesan error
 $data['judulna'] = "Testing Form";
 $data['action'] = $this->base_url;
 $data['heading'] = "Testing Form";
 $data['nama'] = $filter_nama;
 $data['telepon'] = $filter_telepon;
 $data['pesanerror'] = $error;
 $this->view_form($data);
 }
 } else {
//jika tidak ada submit tampilkan form awal
 $data['judulna'] = "Testing Form";
 $data['action'] = $this->base_url;
 $data['heading'] = "Testing Form";
 $this->view_form($data);
 }
 }

}

selanjutnya buka folder view dan buat daua buah file – yang pertama, form.php dengan isi sebagai berikut :

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><?php echo $judulna; ?></title>
    </head>
    <body>

        <?php
        echo "<h1>$heading</h1>";

        if(isset($pesanerror)){
                echo "<p align=\"center\"><blink><font color='red' size='6px'>Pendaftaran Gagal</font></blink></p>";
            }
            ?>
        <fieldset>
            <form method="post" action="<?php echo $action; ?>">

                <label>Nama</label><br/>
                <input type="text" name="nama" value="<?php if(isset($nama)){echo $nama; }?>"/>
                <?php
                if(isset($pesanerror[1])){
                    echo "<br><i><font color='red'>".$pesanerror[1]."</font></i>";
                }elseif(isset($pesanerror[2])){
                    echo "<br><i><font color='red'>".$pesanerror[2]."</font></i>";
                }
                ?>
                <br/>
                <label>Nomor Telepon</label><br/>
                <input type="text" name="telepon" value="<?php if(isset($telepon)){echo $telepon; }?>" />
                 <?php
                if(isset($pesanerror[3])){
                    echo "<br><i><font color='red'>".$pesanerror[3]."</font></i>";
                }elseif(isset($pesanerror[4])){
                    echo "<br><i><font color='red'>".$pesanerror[4]."</font></i>";
                }elseif(isset($pesanerror[5])){
                    echo "<br><i><font color='red'>".$pesanerror[5]."</font></i>";
                }

                ?>
                <br/>
                <input type="submit" name="submit" value="kirim" />
            </form>
        </fieldset>
    </body>
</html>

kemudian file hasil.php untuk menampilkan hasil input data :

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><?php echo $judulna; ?></title>
    </head>
    <body>
        <fieldset>
            <legend>Hasilnya</legend>
            <?php
            echo "<h1>$heading</h1>";
            echo "<h2>Berikut ini adalah hasilnya :</h2>";
            echo "Nama Anda adalah : <b>" . ucfirst($nama) . "</b><br/>";
            echo "Nomor Telepon Anda adalah : <b>" . $telepon."</b>";
            ?>
        </fieldset>
        <br/>
        <a href="<?php echo $this->base_url; ?>"><button>KEMBALI</button></a>
    </body>
</html>

jika kode yang anda buat benar maka ketika anda membuka alamat project anda di browser maka akan tampil :

Tampilan awal Form Aplikasi
Tampilan awal Form Aplikasi

kemudian coba test dengan memasukan input yang tidak sesuai :

Tampilan jika input data tidak sesuai
Tampilan jika input data tidak sesuai

Dan jika input data sesuai maka akan ditampilkan view yang sesuai.

Tampilan JIka Input Data sesuai
Tampilan Jika Input Data sesuai

Selamat anda telah berhasil membuat dasar dari sebuah aplikasi, untuk tutorial mendatang akan saya perkenlakan kepada konsep CRUD (Create, Read, Update dan Delete) serta koneksi ke database menggunakan MySql. 

Panada Framework memiliki kemiripan dengan Framework Codeigniter serta memiliki fleksibilitas yang baik, sehingga bagi programmer prosedural tidak akan terlalu kesulitan dalam menggunakannya karena tidak ada batasan dalam penamaan MVC atau penamaan Databasenya. Kelak jika sudah menguasai dengan baik maka ada baiknya ditingkatkan dengan mempelajari Framework PHP untuk membangun Aplikasi kelas Enterprise seperti CakePHP, Zend Framework dan atau YII Framework.

Selamat berlatih.

12 thoughts on “Belajar Panada PHP Framework Bagian 1

  1. Noer 22 Januari 2012 / 06:12

    Info ttg aplikasi web-nya bermanfaat sekali kang untuk pembelajaran. Selamat tahun baru kang, semoga sukses selalu di 2012.

    • kangtatang 22 Januari 2012 / 18:13

      Amien, Selamat Tahun baru & sukses juga untuk Pak Noer🙂

  2. gadgetboi 31 Januari 2012 / 05:21

    awalnya saya mesti belajar apa dulu nih kang😀 saya pengen banget belajar pemograman … jadi playboy distro sudah melelahkan😀 melehakan benwitnya! hahaha … jadi ebook apa yang harus saya miliki dulu?

    • kangtatang 31 Januari 2012 / 08:29

      Awalnya belajar PHP dulu bisa di http://www.w3schools.com atau di achmatim.net (download ebooknya)😀
      terus kalau sudah menguasai dasar2nya dan bisa membuat sebuah aplikasi sederhana (buku tamu, data karyawan atau blog) baru beranjak menggunakan PHP framework – gunakan saja panadaframework.com utk belajar.

    • kangtatang 23 Mei 2012 / 05:05

      Betul😀

  3. suba 7 Juli 2012 / 06:26

    kang mau nanya ada buku atau e-book tentang panada framework

    • kangtatang 7 Juli 2012 / 14:59

      belum ada😀

  4. Namaku Akbar 1 September 2012 / 11:40

    Terima kasih. sangat membantu. Seumur umur conding belum pernah pake’ framework. mau tanya, kelebihan coding dengan framework dibandingkan dengan yang ga’ pake framework ap aj kang? trus Framework ap kira-kira yang cocok untuk sy? Sekali lagi terima kasih.

    • kangtatang 3 September 2012 / 01:39

      Framework hanyalah alat bantu untuk mempercepat proses kerja dan juga mambantu membuat pekerjaan lebih terstruktur, sehingga memudahkan proses poengembangan selanjutnya, mempermudah proses debugging serta untuk memudahkan dikerjakan secara kolaborasi dalam sebuah Team. Sebuah pekerjaan besar dan kompleks yang menggunakan metode PHP Native (prosedural) cenderung akan lebih sulit ketika dilakukan tracing Bug (debugging) atau untuk pengembangan system.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s