Tutorial Pemrograman PHP Berbasis MVC Menggunakan Framework CodeIgniter dan Doctrine Bagian 1 Setup dan Instalasi

dokumen-dokumen yang mirip
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

FRAMEWORK CODEIGNITER

Sering kita mendengar tentang MVC Framework PHP tetapi kurang mengerti belum arti dari

Fungsi Insert Data dalam CRUD (CREATE READ UPDATE DELETE) di Codeigniter

BERKENALAN DENGAN MODEL CODEIGNITER

Pemrograman Web Berbasis Framework. Pertemuan 4 : Konsep MVC : Controller. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

E-trik Ajax. Database MySQL. Dedi Alnas

Budi Permana, S.Kom Pendahuluan

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

CodeIgniter.

Membuat Database mysql dengan PhpMyAdmin

MODUL 8 Mengoperasikan Perangkat Lunak Basis Data

Framework CodeIgniter Part 1

Materi 2 E-Commerce Lanjut (CodeIgniter) 3 SKS Semester 7 S1 Sistem Informasi UNIKOM 2015 Nizar Rabbi Radliya

Validasi Form dengan CakePHP

IV HASIL DAN PEMBAHASAN. A. Perancangan Sistem Informasi Translate Indonesia Lampung

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

Membuat CRUD Sederhana pada Framework Laravel

PEMROGRAMAN PHP DASAR

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

MEMBUAT CRUD (CREATE, READ, UPDATE & DELETE) DENGAN CODEIGNITER

Bagian II Dasar-Dasar CodeIgniter

MySQL J A M K E T I G A

PHP dan Framework CodeIgniter

PRAKTIKUM. Rekayasa Web. Modul 2: CRUD CodeIgniter Part I. Laboratorium Teknik Informatika Universitas Pasundan

BAB III PEMBAHASAN 3.1 Analisa Sistem

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Belajar dasar codeigniter framework

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Tahap Instalasi PostgreSQL di Windows

Pemrograman Web Berbasis Framework. Pertemuan 6 : Konsep MVC : Model. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

Step by Step PHP Membuat Laporan PDF dengan FPDF Tutorial ini dibuat oleh Achmad Solichin,

Otodidak. MySQL untuk Pemula

Mengenal Pemrograman PHP7 Database untuk Pemula

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

Untuk mengimplementasikan sistem ini, diperlukan spesifikasi perangkat keras,

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

MODUL 8 Insert, Update, & delete

Framework untuk web yang dibuat dalam bentuk Web Berbasis Model-View-Controller (MVC)

Script PHP dan MySQL J A M K E E M P A T

Pemrograman PHP & MySQL

BAB IV IMPLEMENTASI DAN PENGUJIAN

DATABASE MYSQL DENGAN PHP

Mengenal Codeigniter (CI) Framework

Membuat sendiri active record sederhana ala framework

Analisis Penanganan SQL Injection pada Basis Data MySQL dengan Framework Code Igniter dan PHP

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom


MODUL JOOMLA! oleh: Putu A. Widhiartha dan Made J. Wiranatha BAB II INSTALASI JOOMLA

MODUL 12 PHP&MYSQL RELATIONAL DATABASE

Instalasi Web Server WAMP 5 versi Pemrograman Web

Menampilkan Data/Tabel MySQL di Ms.Access

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. dimana sistem yang baru ini dapat dioperasikan secara menyeluruh. Implementasi

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Membuat Template dengan Bootstrap pada Codeigniter

BAB IV IMPLEMENTASI DAN PENGUJIAN

Oleh : Hidayat Siddiq Kurniawan CARA INSTALL WORDPRESS DI LOCALHOST DENGAN XAMPP

Bab 4 Pembahasan Dan Hasil Pengujian

Koneksi Visual Basic, MySQL (ODBC) dan Crystal Report

Materi 1 E-Commerce Lanjut (Codeigniter) 3 SKS Semester 7 S1 Sistem Informasi UNIKOM 2015 Nizar Rabbi Radliya

Oleh: Ahmad Syauqi Ahsan

Cara Menggunakan MySQL

Membuat CRUD Sederhana Menggunakan PHP Dengan Mysqli Extension

MODUL 4 PHP PART 1 (PENGENALAN PHP + VARIABEL)

BAB IV IMPLEMENTASI DAN PENGUJIAN

Wordpress : Membuat Situs di PC Sendiri

Oleh: Ahmad Syauqi Ahsan

BAB III ANALISA DAN PERANCANGAN

BAB VII Database MYSQL

I. Pengenalan Play Framework

1. Halaman untuk member dan pengujung untuk melakukan pengupload/download. 2. Halaman pengupload/download dapat dikomentar.

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Mengembangkan Component Joomla Oleh : Garry B.

1. Install software PHPTriad yang ada pada folder software. 2. Copy file yang ada pada folder SOURCODE ke dalam folder

BAB IV DESKRIPSI KERJA PRAKTEK

Belajar Membuat Blog Wordpress Secara Offline dengan XAMPP Server

Lisensi Dokumen: Uraian Kasus :

Menangani Input dari User

BAB V IMPLEMENTASI DAN PENGUJIAN PROGRAM

Pemrograman Web Lanjut 2017

MEMBUAT CRUD DENGAN CODEIGNITER : INPUT DATA KE DATABASE

PHP & MYSQL. Ingat, PC anda tidak memerlukan tambahan khusus atau apapun untuk melihat hasil eksekusi kode PHP anda. Mengapa?

MEMBUAT DATABASE SEDERHANA DENGAN LOCALHOST DAN DREAMVEAVER

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

1.1 XAMPP. XAMPP cocok untuk pengguna Windows dan Linux, meskipun terdapat versi untuk Mac, tapi umumnya pengguna Mac menggunakan

BAB I Penginstallan dan setting PHPTriad

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

P - 7 Pembahasan UTS PSIK V

DAFTAR ISI. LAPORAN TUGAS AKHIR... ii

Seri 01 : Belajar Database MySQL

BAB IV IMPLEMENTASI DAN PENGUJIAN

Mengembangkan Website Berbasis Wordpress

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.

MODUL 4 INTERNET PROGRAMMING DATABASE

Kolaborasi Codeigniter & Bootstrap Membangun Aplikasi PSB Sekolah. Awan Pribadi Basuki CV. LOKOMEDIA

Pengembangan Aplikasi Menggunakan Framework Code Igniter 3 Level Basic. Helmy Faisal Muttaqin, S.Kom, M.T

MODUL 6 REDIRECT, SESSION & COOKIE

Transkripsi:

Tutorial Pemrograman PHP Berbasis MVC Menggunakan Framework CodeIgniter dan Doctrine Bagian 1 Setup dan Instalasi Terpesona oleh tutorial mengenai CodeIgniter dan Doctrine oleh Burak Guzel, seorang developer web PHP di Arizona yang berasal dari Istanbul, saya menyadur tutorial dia agar dapat lebih banyak dibaca oleh programmer PHP lokal dan tentu saja dengan seizin dia dan bumbubumbu tambahan dari saya hehe. Tutorial original dia ada di link ini Kenapa Framework? Mungkin masih banyak pengembang PHP di Indonesia yang suka ngotak-ngatik PHP dari awal. Contohnya untuk membuat validasi form HTML aja, kalau gak buat sendiri validasinya ya comot sana-sini di internet. Masalah keamanan data juga seperti pencegahan SQL Injection mungkin banyak yang menggunakan fungsi konversi query yang ada di PHP dan menggunakannya di ratusan baris kodingan. Hehe, lama kelamaan cara seperti ini akan membuat para pengembang PHP capek sendiri karena terus menerus melakukan kodingan yang itu-itu aja untuk fungsi yang sama dan memakan banyak waktu. Untuk mengatasi berbagai macam masalah-masalah di pengembangan PHP seperti yang disebutkan di atas, ada cara yang dapat mempermudah kalian dalam membuat web menggunakan PHP, yaitu dengan menggunakan framework. Framework yang akan dibahas di tutorial berseri ini adalah CodeIgniter dan Doctrine.

Kenapa Menambahkan Doctrine Pada CodeIgniter? Sebelum kita mulai, saya jelaskan kenapa menggunakan 2 framework di sini dengan penambahan framework Doctrine. Doctrine adalah Pemeta Relasi Objek (Object Relation Mapper) pada PHP. Tidak masalah jika anda tidak paham dengan istilah ini, hehe. Intinya anda dapat memetakan tabel-tabel database anda menjadi kelas-kelas di aplikasi web anda. Dan instance dari kelas-kelas ini (contohnya objek) merepresentasikan record pada database. Ini memudahkan kita untuk membuat, membaca, mengubah dan menghapus record-record di database, sembari menanganinya hampir seperti objek biasa, jadi kita tidak perlu menulis query apapun. Ia juga akan menangani relasi antara tabel-tabel. Ada keuntungan-keuntunga lainnya yang akan dibahas sejalan dengan tutorial ini. Lihat dokumentasi Doctrine jika anda ingin melihat info-info selanjutnya sekarang. Berikut adalah ilustrasi mengenai cara kerja Doctrine dengan CodeIgniter:

Ilustrasi Cara Kerja Doctrine + CodeIgniter Tahap Pertama: Persiapkan Lingkungan Pengembangan Anda Jika anda sudah mempunyai web server dengan PHP dan MySQL, anda bisa melompati beberapa poin di bawah. Download dan install WAMP (untuk Mac: MAMP) Untuk para pengguna Skype: Anda harus mematikan Skype terlebih dahulu sebelum anda menjalankan WAMP, dikarenakan ada konflik pada port yang digunakan. Setelah WAMP dijalankan, anda dapat menjalankan Skype kembali. Masuk ke http://localhost/ di browser anda untuk memastikan bahwa web server anda sudah berjalan. Buka folder www pada folder instalasi WAMP anda. Buat folder baru dengan nama ci_doctrine_day1. Kita akan menaruh file-file kita di sini nantinya. Install CodeIgniter Download CodeIgniter Extrak lalu kopi isi dari file instalasi CodeIgniter ke folder ci_doctrine_day1 yang baru dibuat Hapus folder user_guide jika anda tidak memerlukannya (folder tersebut berisi dokumentasi mengenai CodeIgniter) Folder baru anda akan tampak seperti di bawah ini:

Masuk ke http://localhost/ci_doctrine_day1 Anda akan melihat tampilan seperti di bawah ini:

Tutorial Singkat CodeIgniter: Controller Controller dipanggil oleh Code Igniter setiap membuka halaman web. Controller terletak di: system/application/controllers/ Struktur url-nya terlihat seperti di bawah ini: http://localhost/ci_doctrine_day1/index.php/nama_controller/nama_fungsi Sebagai contoh anda dapat membuka url di bawah ini: http://localhost/ci_doctrine_day1/index.php/hello/world CodeIgniter akan mencari kelas controller bernama Hello dan memanggil fungsi bernama world(). Sekarang kita akan membuat controller pertama kita. Controller Pertama Kita Buat file berikut: system/application/controllers/hello.php [sourcecode language="php"] // system/application/controllers/hello.php class Hello extends Controller { function world() { echo "Hello CodeIgniter!"; } } [/sourcecode] Masuk ke: http://localhost/ci_doctrine_day1/index.php/hello/world

Anda akan melihat seperti di bawah ini: Hello CodeIgniter! Harap diingat poin-poin di bawah ini: Kelas controller harus meng-extend Controller Nama kelas harus diawali dengan huruf kapital Nama file harus huruf kecil semua Untuk lebih lanjut anda bisa membaca artikel ini: http://codeigniter.com/user_guide/general/controllers.html Install Doctrine CodeIgniter memungkinkan kita untuk menambahkan plug-in. Itulah cara yang akan kita gunakan untuk menginstall Doctrine. Buat folder: system/application/plugins Buat folder: system/application/plugins/doctrine Download Doctrine Extrak file tersebut. Cari folder dengan nama lib di hasil ekstrak tersebut lalu kopi ke system/application/plugins/doctrine. Sekarang struktur folder anda akan terlihat seperti di bawah ini:

Buat file plug-in: system/application/plugins/doctrine_pi.php [sourcecode language="php"] // system/application/plugins/doctrine_pi.php // load librari Doctrine require_once APPPATH.'/plugins/doctrine/lib/Doctrine.php'; // load konfigurasi database dari CodeIgniter require_once APPPATH.'/config/database.php'; // Ini memungkinkan Doctrine untuk me-load kelas-kelas Model secara otomatis spl_autoload_register(array('doctrine', 'autoload')); // kita me-load koneksi database ke Doctrine_Manager // interasi ini memungkinkan kita untuk menggunakan banyak koneksi nantinya foreach ($db as $connection_name => $db_values) { // pertama kita harus mengkonversikan ke format dsn $dsn = $db[$connection_name]['dbdriver']. ://. $db[$connection_name]['username']. :. $db[$connection_name]['password'].

@. $db[$connection_name]['hostname']. /. $db[$connection_name]['database']; Doctrine_Manager::connection($dsn,$connection_name); } // Kelas Model CodeIgniter perlu di-load require_once BASEPATH. /libraries/model.php ; // Memberitahukan Doctrine dimana model-model terletak Doctrine::loadModels(APPPATH. /models ); // KONFIGURASI OPSIONAL // Ini memungkinkan kita untuk menggunakan mutator Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true); // Ini mengeset semua kolom tabel ke notnull dan unsigned (untuk tipe data integer) secara default Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_DEFAULT_COLUMN_OPTIONS, array( notnull => true, unsigned => true)); // Set default nama primary ke id, integer, 4 bytes Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS, array( name => id, type => integer, length => 4)); [/sourcecode] Baca komentar-komentar yang terdapat di kodingan di atas untuk penjelasan. Tidak masalah untuk saat ini jika anda tidak mengerti semuanya, kedepannya anda akan mengerti dengan sendirinya.

Setup dan Konfigurasi Database Buka phpmyadmin: http://localhost/phpmyadmin/ Buat database dengan nama ci_doctrine Edit file: system/application/config/database.php Cari baris berikut dan masukkan isinya: [sourcecode language="php"] // di: system/application/config/database.php // $db['default']['hostname'] = localhost ; $db['default']['username'] = root ; $db['default']['password'] = ; $db['default']['database'] = ci_doctrine ;

// [/sourcecode] Kita baru saja mengubah file konfigurasi database dari CodeIgniter. Konfigurasi Selanjutnya Semoga pembaca belum capek untuk mengkofigurasi Doctrine hehe, tenang saja sebentar lagi akan seleasi kita mengkofigurasinya. config.php Ubah file: system/application/config/config.php [sourcecode language="php"] // di: system/application/config/config.php // $config['base_url'] = http://localhost/ci_doctrine_day1/ ; // [/sourcecode] Sekarang CodeIgniter sudah mengetahui url dari situs kita. autoload.php Ubah file: system/application/config/autoload.php [sourcecode language="php"] // di system/application/config/autoload.php // $autoload['plugin'] = array( doctrine ); // [/sourcecode]

Ini memastikan bahwa plug-in Doctrine akan selalu di-load. Selesai! Sekarang kita dapat lanjut untuk otak-atik Doctrine hehe. Kita mulai dengan mengetes hasil setup kita. Model Doctrine Pertama Kita Buat Tabel User Buka phpmyadmin: http://localhost/phpmyadmin/ Masuk ke database ci_doctrine Buat tabel dengan nama user dan kolom sebagai berikut: id => int, primary key, auto_increment, username => varchar(255), unique, password => varchar(255), first_name => varchar(255), last_name => varchar(255) Anda dapat menggunakan query di bawah ini untuk melakukan hal di atas: [sourcecode language="sql"] CREATE TABLE `ci_doctrine`.`user` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` VARCHAR( 255 ) NOT NULL, `password` VARCHAR( 255 ) NOT NULL, `first_name` VARCHAR( 255 ) NOT NULL, `last_name` VARCHAR( 255 ) NOT NULL, UNIQUE ( `username` ) ) [/sourcecode]

Membuat Model Buat file: system/application/models/user.php [sourcecode language="php"] // system/application/models/user.php class User extends Doctrine_Record { public function settabledefinition() { $this->hascolumn( username, string, 255); $this->hascolumn( password, string, 255); $this->hascolumn( first_name, string, 255); $this->hascolumn( last_name, string, 255); }

} [/sourcecode] Catatan: Kita kali ini meng-extend Doctrine_Record, daripada Model (di mana ini biasanya kita lakukan di model-model CodeIgniter) Di dalam fungsi settabledefinition() kita harus mendefinisikan struktur tabel Secara default, Doctrine akan mencari tabel dengan nama yang sama seperti kelas terkait. Dalam kasus ini user (ini bisa diganti sesuka anda). Di file doctrine_pi.php di bagian sebelumnya dari artikel ini, kita telah menspesifikasikan untuk primar key default menggunakan id. Oleh karena itu kita tidak perlu menuliskannya lagi di dalam kelas User. Mengetes Model: Menambahkan Beberapa User Ubah controller yang kita buat sebelumnya: system/application/controllers/hello.php [sourcecode language="php"] // system/application/controllers/hello.php class Hello extends Controller { function world() { echo "Hello CodeIgniter!"; } function user_test() { $u = new User; $u->username = johndoe ; $u->password = secret ; $u->first_name = John ; $u->last_name = Doe ; $u->save();

$u2 = new User; $u2->username = phprocks ; $u2->password = mypass ; $u2->first_name = Codeigniter ; $u2->last_name = Doctrine ; $u2->save(); echo 2 user telah berhasil ditambahkan ; } } [/sourcecode] Kita baru saja membuat 2 objek, dan mengisinya dengan beberapa data. Hanya dengan memanggil fungsi save() akan menyimpan data-data tersebut ke dalam database, sangat mudah bukan hehe. Catatan: Kita dapat mengakses field-field dari tabel sebagai paramater (contoh $u->username), walaupun kita sebetulnya tidak membuat parameter tersebut. Baik sekali kan Doctrine hehe :-). Jika anda sudah mengenal CodeIgniter, makan anda tentu ingat bahwa kita pelu memanggil fungsi $this->load->model() untuk me-load model. Namun berhubung kita sudah meregistrasikan fungsi autoload Doctrine, hanya menulis new User() sudah cukup Kita tidak membuat fungsi save(), karena fungsi tersebut terdapat di kelas Doctrine_Record yang kita extend. Fungsi tersebut menyimpan objek-objek ke dalam database. Ada banyak fungsi-fungsi lainnya yang dapat kita gunakan sebetulnya, kita akan menggunakannya nanti sejalan dengan artikel berseri ini. Buka: http://localhost/ci_doctrine_day1/index.php/hello/user_test Anda akan melihat tampilan seperti di bawah ini:

2 user telah berhasil ditambahkan Sekarang kembali ke phpmyadmin: http://localhost/phpmyadmin/ Telusuri tabel user OK! Sekarang anda akan melihat 2 record baru telah dibuat Stay Tuned Kita baru saja melihat bagaimana caranya meng-install dan men-setup CodeIgniter dengan Doctrine. Agak banyak yang kita lakuakan memang, namun sekarang kita sudah mendapatkan framework MVC yang kuat dan kombinasi dengan ORM. Di tutorial selanjutnya, kita akan mecoba contoh-contoh yang lebih praktikal dan nantinya akan membuat website yang berfungsi. Anda akan melihat bagaimana mudahnya membuat model dengan menggunakan Doctrine dan mengirit waktu dari harus menulis kodingan CRUD (Create, Read, Update, Delete) berulang-ulang di semua model-model.

http://www.teknojurnal.com/2010/02/21/tutorial-pemrograman-php-berbasis-mvc-menggunakanframework-codeigniter-dan-doctrine-bagian-1-setup-dan-instalasi/