Showing posts with label Postgresql. Show all posts
Showing posts with label Postgresql. Show all posts

Wednesday, October 9, 2013

Pengenalan Framework PHP CodeIgniter

Pengenalan Framework PHP CodeIgniter, Bab Konfigurasi CodeIgniter
Introduction to PHP Framework CodeIgniter, CodeIgniter Configuration Chapter

pertama-tama download CI terbaru dari web nya yaitu codeigniter.com

CodeIgniter tidak terlalu sulit, apalagi bagi anda yang sudah menguasai PHP dan lebih mudah lagi apabila anda memahami PHP yang berbasis OOP(Object Oriented Programming) maupun konsep MVC(Model View Controller). Framework Codeigniter berbasiskan konsep MVC yang memudahkan programmer dalam mengolah data.

Sebelum memulai membangun aplikasi web, alangkah baiknya mengetahui konfigurasi awal yang harus dilakukan sebelum menggunakan framework Codeigniter ini.

Pertama kita lihat file config.php di folder %CI_Root%\system\application\config
terdapat kode

$config['base_url'] = "";
ini adalah konfigurasi untuk mengakses alamat dari aplikasi yang akan kita bangun. Contoh
$config['base_url'] = "http://localhost/xxis/";
atau
$config['base_url'] = "http://192.168.0.114/xxis/";

xxis disini adalah nama folder root dari aplikasi CI yang kita bangun. Jadi apabila nama folder rootnya
adalah Contoh, maka kodenya harus
$config['base_url'] = "http://192.168.0.114/Contoh/";

Selanjutnya kita lihat file database.php yang masih se folder dengan file config.php
terdapat kode
$db['default']['hostname'] = "localhost";
kode ini untuk mendefinisikan host dari database yg akan kita pakai, secara default hostnya adalah localhost
$db['default']['username'] = "postgres";
kode ini untuk mendefinisikan username dari pengguna database (secara default untuk MySQL : root, Postgre : postgre dan oracle : system).


$db['default']['password'] = "xxis";
merupakan password yang kita pakai untuk mengakases database

$db['default']['database'] = "xxis";
merupakan database mana yang akan kita pilih

$db['default']['dbdriver'] = "postgre";
merupakan driver untuk mengakases database (untuk MySQL : mysql, postgresql : postgre, sedang oracle : oci8).

$db['default']['port'] = 5432;
port default CI khusus untuk mengakases database PostgreSQL. Jika selain PostgreSQL, $db['default']['port'] = 5432; bisa di abaikan/dihilangkan.

untuk kode-kode lain yang ada di file database.php bisa diabaikan sesuai dengan nilai defaultnya.

Selanjutnya mari kita menjelajah lagi ke file autoload.php yang juga masih se folder dengan file config.php dan database.php. Disini adalah file untuk menyimpan konfigurasi mengenai file yang akan di load pertama kali saat aplikasi dijalankan.
contoh
$autoload['libraries'] = array('database', 'session','site_sentry');
autoload file database.php, session.php dan site_sentry.php yang ada di folder libraries
$autoload['helper'] = array('url','form','html');
autoload file url_helper.php, form_helper.php dan html_helper.php yang ada di folder helper file ini bisa kita abaikan jika kita tidak menginginkan autoload.

dan yang terakhir dari folder config yang ingin kita bahas adalah file router.php terdapat kode
$route['default_controller'] = "welcome";
kode di atas adalah untuk memanggil controller welcome saat pertama kali dijalankan. Jadi saat aplikasi pertama kali dijalankan, controller welcome.php akan pertama kali dieksekusi.
contoh apabila kita klik address
http://localhost/xxis/

maka secara otomatis akan menjadi
http://localhost/xxis/index.php/welcome

apabila kode kita ubah menjadi
$route['default_controller'] = "";

maka untuk mengakses controller welcome.php harus dengan
http://localhost/xxis/index.php/welcome


karena apabila kita mengakases hanya dengan "http://localhost/xxis/" atau "http://localhost/xxis/index.php/"
framework Codeigniter tidak dapat mendefinisikan controller mana yang harus diakses.

Demikian dulu pengenalan Framework PHP Codeigniter untuk bagian konfigurasinya... ^_^


Referensi  : http://khendraardi.blogspot.com/2011/09/pengenalan-framework-php-codeigniter.html

Tuesday, October 8, 2013

Setup auto increment di postgresql

Jadi ceritanya, saya sedang memindahkan aplikasi saya untuk menggunakan postgresql dari sebelumnya mysql.  setelah sebelumnya punya pengalaman buruk dengan mysql. Prosesnya rada lama & ribet, karena code yang ditulis adalah mysql-centric. jadi begitu migrasi, hehehe rada berdarah2 gitu. harusnya sih pake PDO atau teknologi semacam itu agar dapat support ke beberapa database.
Nah salah satu feature database yang penting adalah autoincrement. Artinya nilai pada kolom tersebut akan teriisi otomatis jika kita melakukan operasi insert. contoh kolom yang menggunakan autoincrement: id, nomer invoice, dll.
Di mysql, feature autoincrement dimasukkan kedalam feature tabel. sehingga kalo alter table tersebut kita tinggal bilang ada bahwa colom anu adalah autoincrement.
di postgresql rada beda. autoincrement adalah sebuah entiti sendiri yang independent. di postgresql, ini disebut sequence. jadi lebih fleksible dalam penggunaannya. kita bisa ngeset start value, current value, increment, recycle, last value. nah setelah object sequence ini di create, maka selanjutnya adalah meng-assign sequence ke kolom tabel. contoh commandnya:
Create sequence:
CREATE SEQUENCE tbluser_userid_seq;
Alter tabel & colom. dalam kasus ini kolom tujuan (userid) harus bersifat UNIQUE atau sebagai primary key:
ALTER TABLE tbluser
ALTER COLUMN userid
SET DEFAULT NEXTVAL('user_userid_seq');
Update kolom userid:
UPDATE tbluser
SET userid = NEXTVAL('user_userid_seq');
Begitulah kira2, semoga bermanfaat.

Referensi : http://achmad.glclearningcenter.com/2011/08/28/setup-auto-increment-di-postgresql/