Tutorial Dasar Membangun Website dengan CodeIgniter

June 9, 2008

Saya sendiri adalah orang yang baru sekali belajar komputer (apalagi internet, itu mah baru kemaren sore) dan sedikit suka mengulik cara pembuatan website. Belajarnya otodidak aja, ga dapet sekolahnya dan pembelajaran formal lainnya. Jadi disini saya mau share tentang hal itu bersama anda sekalian, hehehe. Kalo ada yang salah atawa anda lebih tahu mengenai CodeIgniter, atau mungki juga anda adalah seorang Web Developer yang canggih, mohon bantuannya untuk proses perkembangan pembelajaran saya di bidang ini.

Framework CodeIgniter memiliki kemampuan untuk mempermudah pembangunan website php kita. Menghemat waktu dan juga mampu menyusun struksur file php kita menjadi lebih rapi dan ter-ogranisir. Untuk tingkat kesalahan coding dan waktu untuk debugging aplikasi website kita juga sudah dapat diatasi dengan baik oleh framework ini. Ukuran file CodeIgniter sangat kecil dan sangat ringan dijalankan oleh server. Itu karena kehebatan coding dari pembuatnya, si Rick Ellis. Awalnya dia adalah seorang musisi rock (sedikit sama ama guwe ya?) terus beralih menjadi programmer.

Tetapi CodeIgniter juga bukan segalanya, kita tidak akan menemukan engine yang dapat menciptakan halamannya sendiri seperti pada Joomla. Disini kita diajarkan semi otomatik-lah, base-base pentingnya sudah disiapkan, tinggal menentukan bagaimana cara meramunya sendiri-sendiri tergantung selera (makanan kaleee…).

Oke kita mulai!!! Untuk tutorial simple yang hanya mengetes tulisan “Hello Word” sudah banyak dibuat oleh blogger lain, dan anda pun bisa menemukannya di help filenya sendiri (biasanya orang-orang males baca help, padahal disana uda ada semua). Disini saya akan membahas yang lebih advance-lah lagi dikit.

Di dalam CodeIgniter, anda akan menemukan file-file seperti pada gambar.

Pembangunan simple website dalam tutorial ini anda akan difokuskan untuk mengedit di bagian folder application beserta sub folder di dalamnya. Kecuali file CSS-nya saya taruh di root directory, andapun bisa menaruhnya di folder manapun asalkan telah dikonfigurasi dan dapat menentukan alamat filenya.

Di dalam folder views anda bisa menaruh file-file yang berhubungan dengan tampilan website anda.

Folder config berisi tentang konfigurasi base_url (root folder website anda) dan anda bisa menambahkan configurasi lainnya disini, seperti $config['css'] = ’style.css’; yaitu kita menentukan nama CSS yang akan kita pakai. Terdapat juga settingan untuk database website dengan nama database.php. Anda bisa mengedit konfigurasi koneksi ke database anda dengan mudah dan cepat. Isinya seperti ini:

Di dalam folder controller, anda akan menaruh file utama yang akan mengakses view, model dan library.

The tutor:

1. Konfigurasi file config.php yang terdapat di folder config. Cari script berikut:

$config['base_url']           =  "http://localhost/NamaFolderUtama/";

Disini saya menamakan foldernya moodeesign. Jadi scriptnya diubah menjadi,

$config[‘base_url'] = "http://localhost/moodeesign/"

2. Buka routes.php dan cari script berikut:

$route['default_controller'] = "welcome";

Cek di folder controllers, disana ada file bernama welcome.php. Secara default, ketika kita mengakses http://localhost/moodeesign/ kita akan diarahkan ke file welcome.php Selanjutnya ganti script diatas menjadi

$route['default_controller'] = "site";

3. Karena kita mengubah script pada default controller, jadi harus dibuat file php di dalam folder controllers dengan nama site.php yaa… Untuk welcome.php bisa anda hapus karena tidak diperlukan.

4. Mari kita buat file .php di folder views yang lumayan banyak. Beri nama dan extension filenya seperti pada gambar:

5. Isi script pada home_view.php:

<? $this->load->view('head_view'); ?>
<? $this->load->view('navigator_view'); ?>
<? $this->load->view('content_home_view'); ?>
<? $this->load->view('footer_view'); ?>

Untuk file about_view.php, gallery_view.php, links_view.php dan contact_view.php diisi sama seperti diatas tetapi pada baris ketiga disesuaikan dengan masing-masing nama. Contoh about_view pada baris ketiga menjadi

<? $this->load->view(‘content_about_view'); ?>

Sudahkah anda mengerti???? Kenapa buat banyak file ya? Ga kayak contoh2 lainnya? Btw inikan tutorial-tutorial guwe, ya mau-mau guwe donk ah….

6. Capek ah… istirahat dulu bentar nyok….

7. Lanjut, file head_view.php isinya:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title><? echo $webtitle; ?></title>
<link rel="stylesheet" type="text/css" href="<?php echo "$base/$css"?>" />
</head>

Navigator_view.php:

<body>
<div id="wrap">
<div id="top_content">
<div id="header">
<!-- rightheader -->
<div id="rightheader">
</div>
<!-- topheader -->
<div id="topheader">
<h1 id="title">
<a href="#"></a>
</h1>
</div>
<!-- navigation -->
<div id="navigation">
<ul>
<li><?php echo anchor($base,'Home'); ?></li>
<li><?php echo anchor('site/about','About'); ?></li>
<li><?php echo anchor('site/gallery','Gallery'); ?></li>
<li><?php echo anchor('site/links','Links'); ?></li>
<li><?php echo anchor('site/contact','Contact'); ?></li>
</ul>
</div>
</div>
<!-- header ends here -->

Untuk content_home_view.php, content_about_view.php, content_gallery_view.php, content_links_view.php

<div id="content">
<p id="whereami">
<?php echo anchor($base,'MooDeeSign'); ?>
</p>
<h1> Welcome to MooDeeSign </h1>
Disini bisa diisi apa aja untuk nge-tes isi masing-masing content
</div>
</div>
<!-- here ends header + content ( topcontent ) -->

Nah yang spesial nih, hanya di content_contact_view.php, isinya adalah:

<div id="content">
<p id="whereami">
<?php echo anchor($base,'MooDeeSign'); ?> >
<?php echo anchor('site/contact','Contact'); ?>
</p>
<!-- and a form example -->
<? echo heading($forminput,3) ?>
<? echo form_open('site/contact'); ?>
<table cellpadding="0" cellspacing="0" border="0" class="form_table">
<tr><td align="right"><? echo $front ?></td><td><? echo form_dropdown('front',$fronts).br(); ?></td></tr>
<tr><td align="right"><? echo $name ?> :</td><td>
<? echo form_input($fname).br(); ?></td></tr>
<tr><td align="right"><? echo $email ?> :</td><td>
<? echo form_input($femail).br(); ?></td></tr>
<tr><td align="right"><? echo $website ?> :</td><td>
<? echo form_input($fwebsite).br(); ?> </td></tr>
<tr><td align="right"><? echo $messages ?> :</td><td>
<? echo form_textarea($fmessages).br(); ?></td></tr>
<tr><td> </td><td><? echo form_submit('mysubmit','Submit'); ?></td></tr>
</table>
<? echo form_close(); ?>
</div>
</div>
<!-- here ends header + content ( topcontent ) -->

Males ngetik? Uda copy-paste aja….

Sebenarnya semua tadi diatas itu adalah file satu-kesatuan namun dibagi menjadi beberapa bagian yang terpisah. Selanjutnya akan dipanggil kembali menjadi satu oleh masing main view (home_view.php).

8. Untuk file css-nya silahkan download style.css

Nantinya kalo ada yang error, itu pasti karena image-nya ga ada, hehehe

(tutorial yang aneh)

9. Untuk cotrollernya, site.php:

<?
class Site extends Controller{
function Site(){
parent::Controller();
}
function Index(){
$this->load->model('mood_model');
$data = $this->mood_model->home();
$this->load->view('home_view',$data);
}
function About() {
$this->load->model('mood_model');
$data = $this->mood_model->about();
$this->load->view('about_view',$data);
}
function Gallery() {
$this->load->model('mood_model');
$data = $this->mood_model->gallery();
$this->load->view('gallery_view',$data);
}
function Links() {
$this->load->model('mood_model');
$data = $this->mood_model->links();
$this->load->view('links_view',$data);
}
function Contact() {
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('mood_model');
$data = $this->mood_model->contact();
if($this->input->post('mysubmit')){
$this->mood_model->entry_insert();
}
$this->load->view('contact_view',$data);
}
}
?>

Kenapa function yang pertama bukan home? Kan nama filenya home_view.php? Guwe buat begini biar pas kita akses http://localhost/moodeesign/ maka akan langsung mengarah ke home_view.php. File yang paling demen dibaca ama browser untuk defaultnya adalah index.php, ga tahu kenapa… Loh kok? Iya alnya guwe blajarnya otodidak gitu…… Asal tahu ye untuk mengakses function Contact, kalo di CI akan menjadi http://localhost/moodeesign/index.php/site/contact.

Melewati parent controller (site = site.php yang ada di folder controllers) dulu baru baca function contact-nya.

10. Untuk isi mood_model.php yang ada di folder models:

<?
class mood_model extends Model {
function mood_model() {
parent::Model();
$this->load->helper('url');
}
function home() {
$data['base']      = $this->config->item('base_url');
$data['css']        = $this->config->item('css');
$data['webtitle']='Home';
return $data;
}
function about() {
$data['base']      = $this->config->item('base_url');
$data['css']        = $this->config->item('css');
$data['webtitle']='About';
return $data;
}
function gallery() {
$data['base']      = $this->config->item('base_url');
$data['css']        = $this->config->item('css');
$data['webtitle']='Gallery';
return $data;
}
function links() {
$data['base']      = $this->config->item('base_url');
$data['css']        = $this->config->item('css');
$data['webtitle']='Links';
return $data;
}
function contact() {
$data['base']      = $this->config->item('base_url');
$data['css']        = $this->config->item('css');
$data['webtitle']='Contact';
$data['front']                   = '';
$data['fronts']     = array ('Mr.'=>'Mr.','Mrs.'=>'Mrs.','Miss.'=>'Miss.');
$data['name']                 = 'Name';
$data['email']                 = 'Email';
$data['website']    = 'Website';
$data['messages']   = 'Messages';
$data['forminput']  = 'Send your message here';
$data['fname']     = array('name'=>'name',
'size'=>30
);
$data['femail']    = array('name'=>'email',
'size'=>30
);
$data['fwebsite'] = array('name'=>'website',
'size'=>30
);
$data['fmessages']   = array('name'=>'messages',
'rows'=>5,
'cols'=>30
);
return $data;
}
function entry_insert(){
$this->load->database();
$data = array(
'front'=>$this->input->post('front'),
'name'=>$this->input->post('name'),
'email'=>$this->input->post('email'),
'website'=>$this->input->post('website'),
'messages'=>$this->input->post('messages'),
);
$this->db->insert('messages',$data);
}
}
?>

Inget buat database dengan configurasi seperti berikut:

Konfigurasi file database.php disesuaikan dengan user dan nama databasenya yang telah dibuat. Kalo menamai database dengan yang lain boleh-boleh aja, dan di cek sendiri konfigurasinya. Inget juga field Id itu auto_increment dan jadiin primary key yaaa… Guwe yakin kalian semua lebih pinter dari guwe si pemula ini.

Bincang-bincang

  • Guwe : Udah jadi dan mau jalan kan?
  • Loe : Loe kok ga dijelasin?
  • Guwe : Cape deeee, yaa karena guwe anggap loe lebih ngerti script php-nya daripada guwe lah….Loe ulik sendiri dan kembangkan pasti nantinya jadi lebih bagus. Edit cssnya juga ya, buat bannernya dengan ukuran yang telah ditentukan, dan gambar lainnya boleh kok ga diisi, yang penting konsepnya loe tahu…

Untuk tampilan akhirnya jadi kayak gini:


Bisnis Domain lebih baik daripada Bisnis Togel

June 9, 2008

Setelah membaca buku yang berjudul “15 Cara Menjadi Kaya di Internet” karya penulis bernama “Budhi Kristianto” pikiranku jadi lebih terbuka tentang dunia Internet. Sebelumnya ku pikir cara dapat duit dari internet adalah melakukan tindakan carding (mencuri, mencari no CC orang lain), membangun situs komersil, ada juga yang mengklak-klik banner iklan dapet duit walaupun duitnya pake bayar sewa warnet aja uda habis tuh, memajang hasil karya design yang sukur-sukur kalo ada yang niat beli dan menyediakan jasa design website. Dari buku itu, yang merupakan buku pinjaman dari seorang temen (maklum ga bisa and males beli, mending minjem selagi bisa) aku baca pada topik berjudul “Domain, Domain, Domain” yang isinya ngebahas secara detail apa itu itu bisnis domain dan bagaimana cara melakukan bisnis itu.

Jadi posting ini isinya adalah kesimpulan aku sendiri tentang bisnis Domain dan walaupun sudah banyak yang nge-bahas, ya bakalan tetep aku bahas disini. Merdeka!!! Dan bodonya lagi, buku ini uda terbit taon 2006 tapi aku baru tahu karang di taon 2008. Lumayan parah ga tuh?

Di dalam buku itu banyak diceritakan mengenai orang-orang yang berhasil menggeluti bisnis domain. Domain bernama sex.com saat itu terjual 12 juta dolar amerika asal loe tahu yee… Nah loe, bayangin berapa orang yang berminat dengan domain tersebut dan coba deh cari berapa harganya saat ini…

Apakah domain itu anak-anak? Domain adalah serangkaian huruf yang membentuk kata dan memiliki arti, digunakan sebagai alamat sebuah website di internet. Domain itu sebenarnya juga adalah penterjemahan dari IP (Internet Protocol) sebuah komputer/server yang berupa angka-angka menjadi rangkaian huruf yang lebih mudah diingat oleh manusia (mungkin binatang ada yang bisa mengingatnya dengan mudah) dan harus ada satu di seluruh dunia. Makanya nama domain yang memiliki arti bagus and mudah diinget jadi rebutan. Ada banyak extension atau Top Level Domain (TLD) seperti .com, .net, .org, .edu, .biz, atau .info. Selain itu juga ada yang disebut Country Code Top Level Domain (ccTLD) seperti .co.id (domain komersial untuk Indonesia), .co.uk (domain komersial untuk Inggris), .com.au (domain komersial untuk Australia), .de (domain komersial untuk Jerman), dan sebagainya.

Organisasi yang mengatur segala sesuatu tentang domain adalah Icann.Org. Organisasi ini merupakan wadah bagi semua pihak yang terlibat di industri domain dan internet untuk merumuskan aturan-aturan tentang domain dan pengalamatan di internet.

Untuk pemula yang ingin belajar, seperti saya juga, ada baiknya kunjungi dulu situs NameNewbie.com. Situsnya simpel dan ga banyak variasi. Tapi ga tahu pemiliknya uda berapa punya duit. Disana dia juga nyeritain dengan sangat mendasar, tentunya menggunakan bahasa Inggris.

Lebih lanjut untuk tahu tentang bisnis ini kita diwajibkan untuk mengunjungi korannya bisnis domain ini. Namanya DNJournal.com. Disini juga ditampilkan informasi tentang penjualan domain perminggunya. Hanya 20 penjualan tertinggi saja yang dicatat setiap minggunya. Sebagai informasi, data penjualan domain diupdate setiap hari Selasa waktu Amerika atau hari Rabu waktu Indonesia.

Di dalam bisnis ini tidak selamanya orang yang mempunyai domain terbanyak yang akan mendulang sukses. Tetapi orang yang paling teliti, kreatif dan pinter memperkirakan nama domain yang potensial-lah yang akan sukses. Untuk mendaftarkan domain anda, seperti yang saya pernah alami, itu sangat mudah. Asalkan uda siap dengan nama domainnya kita bisa langsung browsing di Google tempat hosting-hosting website atau domain yang terdekat atau yang anda percayai. Yang saya coba sampai saat ini, hosting website plus domainnya di rumahweb.com. Saya yang bertempat tinggal di Bali kok malah memilih hosting ke Jakarta? Ga takut ilang tuh duit? Itu sih setelah melalui beberapa penelitian, sedikit tanya jawab dengan temen dan memperhitungkan kualitas service hostingnya ya, akhirnya kepilih deh rumah web. Ato mungkin ada referensi lain yang menjamin harga lebih murah tapi berkualitas? Nah, setelah mantap dengan nama domain dan tempat beli domainnya uda kepilih, kita tinggal chat dengan CS web hosting tersebut. Loe bisa nanya apa saja kok. Terakhir guwe cek di rumahweb, harga domain tanpa hosting dengan extension .com itu harganya Cuma Rp 85.000. Lanjut boss, kita masuk ke halaman pemesanan domain, masukkan identitas anda, email, dan tetek bengek lainnya. Pembayarannya bisa dilakukan dengan PayPal ato lewat ATM, tapi pastikan dulu no rekening yang ditujukan untuk transfernya. Sesudah melakukan pembayaran, kita lakukan verify lewat account email yang anda gunakan. Uda jadi deh. Kalo aku yang sekalian sewa hostingnya, username dan password ke Cpanelnya dikasi juga lewat email. Nah udah punya deh nama domain sendiri.

Cara untuk memperkirakan nama domain yang berpotensi bisa dilakukan dengan search kontent kata yang telah anda perkirakan di Google atau menggunakan Overture Sugestion Tools (http://inventory.overture.com/d/searchinventory/suggestion). Cara lainnya yang cukup ampuh untuk mengetahui value dari sebuah domain adalah dengan View Bid Tools miliki overture (http://uv.bidtool.overture.com/d/search/tools/bidtool/?Keywords=&mkt=us〈=en_US)). Semua tools ini berguna untuk mengetahui berapa banyak pihak yang bersedia memasang iklan pada situs-situs yang berhubungan dengan sebuah kata yang dimasukkan.

Untuk mengetahui sebuah domain yang belum digunakan biasanya tiap tempat kita memesan domain atau web hosting menyediakan kolom untuk mengeceknya. Atau anda bisa juga mengecek di NetCheap.com yang mensupport banyak jenis/extension domain. Untuk mengecek siapa nama pemilik domain yang sudah kepake, anda bisa mengetikkan di address bar anda http://Whois.Sc/namaDomain.com. Anda akan disuguhi data-data lengkap pemilik domain tersebut.

Untuk membeli domain yang sudah dimiliki orang lain (kalo punya uang banyak banget) atau menjual nama domain yang sudah kita miliki kita harus mampir ke pasar domain dengan terlebih dahulu kita harus mendaftar sebagai pedagang di pasar itu.

Ada banyak “pasar” untuk berdagang domain. Aturannya adalah, jika sebuah domain yang sudah ditawarkan di pasar yang kita pilih tidak boleh ditawarkan di pasar lain karena menyangkut komisi yang menjadi hak pemilik “pasar”. Beberapa pasar domain yang sangat ramai adalah Sedo.com, AfterNIC.com, Pool.com dan SnapNames.com.

Ayo kita nyoba bisnis ini dude, siapa tahu kita beruntung dan ada yang menawarkan harga tinggi atas domain yang kita miliki. Itung-itung dari pada taruhan togel yang biasanya lebih banyak kalahnya daripada menangnya trus dengan jangka waktu yang pendek, khan lebih baik pake tuh uang togel untuk beli domain yang masa kepemilikannya setahun. Selain usaha menjadi legal, kita juga bisa lebih melek teknologi internet, trus jadi lebih pinter, trus banyak belajar, trus-trusan deh kalo uda berhasil ngejalanin alias kecanduan.


Kenapa harus mencoba nge-Blog?

June 9, 2008

Belajar membuat Blog bukanlah suatu keharusan bagi anda. Tapi tahukah anda saat ini orang-orang cenderung mencari informasi menggunakan blog daripada mencarinya di sebuah situs komersial? Mereka mempunyai beberapa alasan:

a. Blog lebih bersifat personal, biasanya berisi tentang komentar terhadap sesuatu, pendapat, review dan ide-ide dari penulisnya sendiri (blogger).

b. Blog sangat dinamis. Dengan adanya kolom input komentar, topik yang dibahas akan menjadi semakin menarik untuk dibaca karena berisi respon dari pembaca lain atau blogger lainnya.

c. Kata-kata yang digunakan dalam blog biasanya lebih santai dan enak dibaca karena tidak terlalu formal.

Bagi blooger sendiri:

a. Blog sangat praktis dan mudah digunakan, bahkan oleh seseorang yang baru berkecimpung dan baru belajar menggunakan internet. Tidak perlu mengerti bahasa scripting seperti dalam pembuatan website manual. Dan tidak usah mendaftarkan blog anda ke Google karena secara otomatis blog anda ter-index apabila anda sering tukar komen dengan blogger lainnya. Note: berlaku bila nge-blognya di wordpress.com, ga peduli yang gratis atau berbayar. Tapi kalo blog anda buat sendiri dengan membeli layanan hosting beserta domainnya, it’s your own problems…Pake yang semi jadi aja yach…

b. Blogging dapat menghasilkan uang. Ketika blog kita sudah mempunyai traffic pengunjung yang lumayan banyak, para pemasang iklan akan mulai tertarik untuk mempromosikan barang dan jasanya di blog kita. Tentunya kita harus berusaha sedikit dengan mendaftarkan blog kita ke situs-situs yang menyediakan layanan tersebut. Cara lain lagi yaitu mendaftarkan blog kita di situs yang menyediakan Pay Per Review (PPR). Diharuskan blog kita memiliki traffic yang uda lumayan dan berisi banyak postingan. Situs penyedia PPR nantinya memberikan kita kerjaan untuk me-review sesuatu yang telah ditentukan dan dengan batasan jumlah kata tertentu. Mereka akan membayar kita atas review yang telah kita buat. So, nge-blog bisa kita gunakan sebagai kerjaan sampingan atau bahkan kerjaan pokok kita. Tau ga sih loe…??? Ya sekarang pasti mulai tahu khan?

c. Ketika mempunyai blog sendiri kita memberikan komen ke blog orang lain yang masih satu naungan (wordpress.com), maka komen kita akan memunculkan nama pemosting yang akan menjadi link ke blog kita sendiri. Tambah banyak ngasi komen blog orang lain dapat menambah tingkat popularitas blog kita sendiri gitu…

d. Nge-blog merupakan seni dan dapat memberikan kebanggan tersendiri.

e. Anda akan dituntut untuk belajar berpikir lebih ter-organisir, belajar menulis dan belajar menghargai hasil karya orang lain. Upss.. ada lagi neh Anda akan dituntut belajar bahasa. Jadi buat yang dapet bahasa Indonesia-nya ato Bahasa Inggris-nya 4,5 kebawah (kayak gue), belajar lagi dan perbanyak buka-buka kamus yeeee….

f. Blogging is The best time killer!!!!!!

Pertanyaan: Pernahkah anda men-search kata kunci yang anda masukkan di Google untuk mencari informasi yang anda butuhkan? Kebanyakan link yang diberikan adalah blog seseorang dari seluruh penjuru dunia.

Nah, apabila anda sedang atau akan memulai membuat blog (harus awas ga!!!), guru yang paling baik yang bisa mengajarkan tata cara dan aturannya adalah blog orang lain yang anda anggap bagus dan memiliki topik bahasan yang menurut anda menarik. Tiap blogger memiliki taste-nya sendiri-sendiri. Ada rasa coklat, keju, strawberrry, banana… Pokoknya pilihlah sendiri.

Warning: hindari copy-paste artikel orang lain terlalu banyak, karena dapat berakibat buruk nantinya. Ya, setidaknya anda edit dulu lah dan gunakan kata-kata sendiri gitu…Kalo mau ngutip inget cantumkan penulis aslinya.

Anjuran: tetaplah konsisten nge-blog walau apapun yang terjadi, siapa tahu tulisan anda bisa bermanfaat buat orang laen. Kan beramal tuh…At last, nge-bloglah sebelum nge-blog itu dilarang n guwe yakin loe semua pinter nulis n punya ide-ide yang belum tersalurkan, heh heh heh heh…