Labels

Cari di blog ini

Codeigniter Development Tutorial

CI Tuts #4 - Simple Authentication

2 comments
Library session paling sering digunakan sebagai alat untuk menyimpan data autentikasi. Saya ga tau apakah ada cara lain selain menggunakan session untuk menyimpan data login user. Tapi untuk saat ini, terutama dalam implementasi autentikasi di CodeIgniter, kita akan menggunakan library session.

Ringkasannya, pada modul ini, kita akan menambahkan fitur login-logout pada aplikasi yang sudah pernah kita buat pada modul sebelumnya. Kita akan membatasi akses pada halaman data mahasiswa hanya bagi user yang sudah berhasil login saja. Kalo belum login, user akan diarahkan ke form login untuk login terlebih dahulu. Apabila kombinasi username dan password ditemukan di dalam tabel mahasiswa, maka user tersebut boleh masuk sistem.

Silakan dicoba proyeknya di modul berikut.

Unduh Modul


Codeigniter Development Tutorial

CI Tuts #3 - CRUD Sederhana

Silakan Ngomen
Sampai sekarang saya masih beranggapan bahwa aplikasi itu, terutama yang terkait erat dengan penyimpanan data, secara sederhana bisa dikatakan hanya terdiri dari sekumpulan CRUD (Create-Read-Update-Delete) data saja. Bedanya ada yang sederhana dan ada yang kompleks, ada yang tinggal tampil dan ada yang memerlukan pengolahan data terlebih dahulu. Memang sih tidak sepenuhnya benar. Karena walau bagaimanapun, kalo saya taksir, CRUD itu kira-kira ga lebih dari 40% total struktur sebuah aplikasi.

Tapi sebenernya ga penting juga bahas itu. Maksud saya, CRUD biasanya dijadikan tahapan awal dalam belajar pemrograman. Engga juga sih. Tapi biasanya kalo udah bisa simpan-update-hapus data ke database rasanya udah keren lah. Meskipun ternyata ada banyak teknik dalam membuat aplikasi di samping managemen data.

Anyway, saya bikin tutorial CInya ini langsung ke project based. Biar kerasa langsung "ooh ternyata gini ya style ngoding di CI.." Kalo saya memilih untuk menerangkan teori, user guide CI kayaknya udah komplit deh. So, silakan dinikmati bagian ketiga dari Seri Tutorial CodeIgniter Dasar inih.

Happy Coding! :)

Unduh Modul Unduh Contoh Kode


Codeigniter Development Tutorial

CI Tuts #2 - Program Pertama dengan CodeIgniter

Silakan Ngomen
Bagian kedua dari seri Tutorial CodeIgniter dasar ini saya buat dalam bentuk modul tutorial PDF, dan kemungkinan untuk bagian selanjutnya pun seperti itu. Alasannya supaya selain mudah dibaca dan diunduh, juga karena kemarin saya udah coba integrasiin plugin Syntax Highlighter ke blogger saya ini supaya kodenya enak dilihat. Hasilnya, ribed, meskipun berjalan lancar. Saya tetep harus memasukkan karakter pembuka tag html dengan < dan itu untuk kode program yang cukup besar lumayan leukleuk, yu know leukleuk? Ya itu tadi, ribed dan tidak efisien lagi.

Kembali ke topik. Bagian kedua ini membahas tentang cara setup awal CodeIgniter dan program pertama dengan memanfaatkan controller dan view.

So, silakan dinikmati dan diunduh modulnya, mudah2an bermanfaat. Ini dia kita tampilkan, Modul CI Tuts #2 dengan judul Program Pertama dengan CodeIgniter. :D

Unduh Modul Unduh Contoh Kode


Codeigniter Development Tutorial

CI Tuts #1 - Berkenalan dengan CodeIgniter

Silakan Ngomen
Selamat datang di artikel pertama tutorial CodeIgniter. Tutorial ini saya dedikasikan untuk para programmer pemula yang ingin mendalami pemrograman web PHP menggunakan framework Codeigniter. Bagi teman-teman yang sudah kenal dengan framework Codeigniter dapat melewati artikel ini dan berlanjut ke tutorial [CI #2 - Program Pertama dengan Codeigniter].

Apa itu Codeigniter?

CodeIgniter adalah salahsatu framework PHP yang sangat ringan dan mudah digunakan dengan ketersediaan library yang dapat dimanfaatkan untuk mempermudah dan mempercepat pengembangan aplikasi. Bagi yang baru nemu istilah framework, framework adalah –sesuai namanya–  kerangka kerja yang disediakan sebagai patokan untuk memudahkan pembuatan dan pengembangan aplikasi.

Aplikasi yang dibuat berdasarkan framework memiliki source code yang lebih ramping karena satu kode untuk fungsi yang sama dapat digunakan di banyak tempat. Selain itu framework memudahkan kita dalam pengembangan suatu aplikasi, kemudahan dalam penambahan dan perubahan suatu fitur. Contohnya, apabila kita membuat suatu fungsi yang digunakan di banyak tempat, kemudian hendak mengubah atau memperbaiki fungsi tersebut, maka kita cukup mengubah fungsi yang dimaksud di satu tempat dan semua fitur yang menggunakan fungsi tersebut pun berubah sesuai dengan perubahan yang dilakukan. Lain halnya bila kita membuat aplikasi tanpa menggunakan fungsi prosedural, bila untuk fitur yang sama di banyak tempat hendak kita perbaiki atau ubah, maka akan ada lebih dari satu kode yang mesti dirubah. Nah, framework dibuat  untuk mengeliminasi kekurangan tersebut.

Satu hal lagi yang penting, dengan framework kita tidak mesti membuat suatu aplikasi dari nol, karena biasanya suatu framework sudah menyediakan fungsi-fungsi standar yang biasa digunakan dalam pembuatan sebuah program sehingga kita tinggal menggunakan fungsi tersebut. Contohnya, fungsi-fungsi untuk menangani kemamanan input data, konversi suatu bentuk data ke bentuk lain, managemen sessi, dan lain sebagainya tidak perlu kita buat dari nol, karena semua keperluan tersebut sudah tersedia dan siap untuk digunakan.

Kembali ke judul, Codeigniter adalah framework PHP yang mudah dalam penggunaan dan memiliki library yang lengkap untuk pengembangan suatu aplikasi berbasis web. Sebenarnya ada banyak framework PHP yang dapat kita pakai, diantaranya Zend Framework, Yii Framework, Simfony, Kohana, CakePHP dan lain-lain. Codeigniter, sejauh pengamatan penulis dan pendapat dari berbagai literatur, merupakan framework yang paling ringan dan cepat, serta mudah untuk dipelajari.

Tentang MVC

Codeigniter menggunakan pendekatan MVC dalam penyusunan kerangka kerjanya. MVC singkatan dari Model View Controller. Berikut bagan MVC standar.


Bagan MVC ini menunjukkan alur data dan aturan penyusunan program. Secara sederhana, Model adalah bagian yang bersentuhan langsung dengan database. View adalah bagian yang berhubungan dengan interface atau antarmuka pengguna. View biasanya berupa kode HTML, CSS dan Javascript yang disisipi kode PHP untuk mencetak data yang dikirimkan oleh Controller. Controller sendiri adalah bagian untuk mengambil data dari Model, mengatur dan menipulasi data, melakukan perhitungan dan mengirimkan data ke view untuk ditampilkan di layar.

Codeigniter sendiri memiliki bagan alur aplikasi seperti berikut

  1. index.php berlaku sebagai bagian paling depan aplikasi, menginisiasi resource dasar yang diperlukan untuk menjalankan Codeigniter.
  2. Router memeriksa HTTP request untuk memutuskan apa yang mesti dilakukan selanjutnya dengan permintaan tadi.
  3. apabila terdapat file cache, maka cache akan dikirimkan langsung ke browser dengan melewati eksekusi normal.
  4. Security atau keamanan, sebelum controller pada aplikasi dimuat, semua HTTP request dan semua data yang dikirimkan oleh pengguna disaring terlebih dahulu untuk menjamin keamanan.
  5. Controller memuat model, core libraries, helpers, dan resource lain yang diperlukan untuk menjalankan suatu proses tertentu.
  6. Terakhir, View dirender kemudian dikirimkan ke browser. Apabila caching diaktifkan, maka view dicache terlebih dahulu.
Skema tersebut diwujudkan ke dalam sebuah susunan folder seperti berikut.

Terdapat dua folder utama, yakni system/ dan application/. Folder system/ berisi kode program utama yang membangun framework codeigniter. Kita tidak perlu mengubah atau menambah apapun di dalam folder ini, kecuali kamu penasaran mau sekedar lihat seperti apa isi kode program di dalamnya. Tempat kerja kita ada di dalam folder application/. Semua kode program kita disimpan di dalamnya. Untuk permulaan, kita cukup perhatikan tiga folder utama tempat kita bekerja yakni folder /controllers, /models, dan /views, serta folder /config yang berisi file-file konfigurasi untuk aplikasi kita.

Mudah-mudahan penjelasan singkat dan sederhana tentang ulasan awal Codeigniter ini bisa mengawali pemahaman kamu dalam belajar Codeigniter. Untuk lebih lengkapnya, kamu bisa membuka langsung websitenya di http://codeigniter.com dan membaca keterangan lebih lanjutnya disitu atau di user guide yang tersedia di dalam file unduhan program. Kamu juga bisa langsung mengunduh Codeigniter disini. Versi terbaru saat tulisan ini dibuat adalah versi 2.1.4. Untuk tutorial selanjutnya, kita akan selalu menggunakan versi ini.

Selamat berlatih dan, Lanjutkan! ;)
Codeigniter Daily Development

Membangun Seri Tutorial CodeIgniter

1 comment
Rasanya bagi sebagian programmer web, CodeIgniter ini framework yang sudah hampir usang. Hal ini terjadi selain karena Ellislab sebagai pengembang CodeIgniter hendak menyerahkan kepengurusan kepada orang/lembaga lain, seperti diumumkan dalam salahsatu artikelnya http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter, juga karena pergerakan pengembangan versi yang lambat. Terakhir rilis itu versi 2.1.4 bulan Juli 2013. Jarak waktu rilis dari versi 2.1.3 ke 2.1.4 cukup lama, hampir setengah tahun kalo ga salah. Fitur keren namespace yang ada di PHP versi 5.5 saja masih belum terintegrasi. Padahal banyak programmer CI yang udah nunggu fitur tersebut kompatibel di CI akhirnya sebagian pindah ke framework yang lain seperti Laravel.

Tapi, walau bagaimanapun sepertinya CodeIgniter tetap masih jadi pilihan sebagian besar para programmer PHP terutama programmer pemula. Hal ini dikarenakan CodeIgniter memang mudah dipelajari, dan sampai saat ini masih cocok untuk digunakan dalam pembuatan aplikasi web. So, saya akhirnya bikin lagi modul tutorial CodeIgniter yang simpel dan bisa dipelajari oleh programmer PHP yang baru kenal CodeIgniter.

Modul Ini sebenarnya saya gunakan juga di pelatihan CodeIgniter di salahsatu lab di kampus Ilmu Komputer UPI. So, baik modulnya maupun sourcenya sudah lumayan teruji lah, setidaknya sudah bisa membantu temen-temen saya belajar dasar CodeIgniter.

Seri tutorial ini rencananya akan saya bikin sampe tahapan yang intermediate. Mungkin sampai cara pakai dan bikin library dan helper sendiri, atau mungkin sampai memodifikasi file core dan mengintegrasikan plugin HMVC.

Mudah-mudahan bisa lancar dan sesuai target. Buat temen-temen yang pake tutorial ini ditunggu tanggapan dan masukannya biar lebih komplit dan efektif.
geje nglamun

[Lirik] Motor Bebek

Silakan Ngomen
Motor bebek angsa, di cuci di kali
Motornya dibangsat, bangsatnya dibui

Potong tangan kiri, potong tangan kanan
syalala lala lala lala tuman

Potong kaki kiri, potong kaki kanan
lalala lala lala lala insaf
Cerpen Mikir Refleksi

Kenapa Aku Ada?

Silakan Ngomen
"Kenapa aku ada, kalo begitu? kalo ternyata keberadaanku hanya jadi pengacau bagi sekitarku?" Topan merenung, di atas sebuah motor biru tua yang tengah melaju kencang menyalip motor dan mobil di depannya.

"woi woi, sabar Brooo, gua ngeri nih dibonceng lu kayak gitu!" teriak suara Toha di belakang telinga si sopir motor itu. Topan memperlambat laju motornya, seiring melambatnya degup jantungnya. "lagi lagi kamu, menginterupsi setiap pertanyaanku!" Topan berbisik agak ketus.

"Bukankah aku ada untuk membantumu menemukan setiap jawaban atas pertanyaanmu, bukankah kita sepakat tentang itu, Top?" Toha tersenyum tenang, tatapan matanya sayu, seperti mencerminkan kelelahan dan rasa kasihan. "Kamu tahu, pertanyaanmu barusan adalah salahsatu dari pertanyaan eksistensial yang akan selalu dilontarkan setiap manusia yang sadar akan keberadaannya di dunia, yang tidak setiap manusia punya kesempatan untuk bertanya tentang hal itu"

"Kau tak perlu menyanjung, aku memang manusia. Aku berpikir, maka aku ada, begitu kan kata Descartes?"

"Begitulah kamu, sombong seperti biasanya hahaha.." celoteh Toha.

"Iya, aku memang sombong" tukas Topan. Wajahnya antara marah dan sedih, marah pada dirinya sendiri, sekaligus sedih karena tidak banyak yang bisa dia lakukan, atau lebih tepatnya yang dia ketahui tentang bagaimana merubah dirinya menjadi lebih baik.

"Lalu, sudahkah kau dapatkan jawabannya, kenapa kamu ada?" tanya Toha, alisnya naik.

"aku ga tau, kenapa aku ada. kenapa Allah menciptakan aku"

"lho, bukankah jawaban atas pertanyaan itu sudah ada?"

"bukan yang itu maksudku. Aku tahu dan aku berusaha yakin, atas jawaban yang sudah disediakan dengan begitu murahnya. kalo aku bertanya, kenapa Allah menciptakanku, jawabannya pasti karena supaya aku beribadah kepadaNya. Kalo aku bertanya lagi kenapa aku harus beribadah, jawabannya karena Allah telah menciptakanku. Hal itu akan selalu berputar di tempat."

"Lalu, masalahnya apa?" tanya Toha lagi, memancing.

"iya, lalu kenapa?" Topan mengangkat kedua bahu dan sebelah tangannya di samping.

"kenapa apa? pertanyaannya yang jelas dong hihi.." Toha ketawa kecil.

"iyaa.., kenapa, mesti seperti itu? Oke, biarkan aku mengeluarkan dulu semua yang ada di dalam pikiranku. Dan kalo kamu ga bisa membantuku mencari titik terangnya, kupikir kamu ga perlu lagi ada di sampingku."

"Baik, silakan"

"Oke. Aku ada. Disini, tapi entah dimana ini sebenarnya. Aku hidup bersama orang-orang disekitarku, tapi aku tidak pernah tahu siapa mereka sebenarnya. tempat-tempat itu, dan orang-orang itu, semuanya hanyalah identifikasi belaka yang dibuat oleh manusia untuk memudahkan mereka menyebut dan menemukan kembali. Bahkan tentang diriku sendiri. Siapa aku sebenarnya. Oke, itu pertanyaan yang lain. Yang pasti aku yakini, aku ada karena ada Tuhan yang menciptakanku. Aku menyebutnya Allah, sebagaimana Ia memperkenalkan diriNya di dalam kitabNya. Aku diciptakan oleh Allah, maka aku ada. Pemikiran ini tidak akan pernah ada andaikata aku tiada. Tapi, kalaupun aku tiada, orang yang kupanggil ibu sekarang tetap akan melahirkan anak dan menjadi keberadaan baru. Kalaupun aku tiada, istri dan anakku sekarang tetap hidup seperti halnya, dengan orang lain selain aku. Kalaupun aku tidak dilahirkan disini, dalam kondisi ini, mungkin aku akan tetap dilahirkan di tempat yang lain, sebagai orang lain, dengan kondisi yang lain. Mungkin aku yang sekarang adalah penolakan dari keberadaanku di tempat yang lain seperti pikiranku sekarang yang mempertanyakan keberadaanku hari ini. Dan itu sekaligus tidak mungkin karena pemikiran ini ada karena aku ada."

"Maka, .." Toha melontarkan kata setelah ia kira Topan selesai dengan renungannya.

"Maka apa, Toh?"

"Kau sudah tahu, dengan begitu kesimpulannya, keberadaanmu itu diluar batas kekuasaanmu, diluar sesuatu yang bisa kau pengaruhi"

"itu benar" Sejenak sepi, sepi dari obrolan. Yang terdengar hanya deru motor dan kendaraan lainnya di jalan itu. Setidaknya untuk Toha. Topan mungkin tengah asyik dengan keramaian di dalam pikirannya.

"Naah, berarti kembali lagi kan ke pertanyaanku tadi di awal? kenapa Allah menciptakanku? Kenapa Allah tidak menciptakan orang yang lain saja dan membiarkanku dalam ketiadaan??" Topan seperti menemukan jejak kakinya di padang pasir yang hilang tersapu angin.

"Pertanyaanmu seolah meniadakan penciptaan manusia" Toha, kali ini dengan nada agak berat.

"Maksudnya?" Topan bertanya dengan hati-hati.

"Ketika kamu bilang, kenapa Allah tidak menciptakan orang lain saja dan bukan kamu, kamu membayangkan dirimu dan manusia sebagai sesuatu yang memiliki kepala, dua tangan, dua kaki, memiliki tubuh seperti kamu sekarang"

"Lalu, aku masih belum menangkap apa maksudmu.."

"Pemikiranmu menolak untuk diciptakan itu muncul setelah kamu diciptakan. So, sekalipun Allah dahulu tidak menciptakan kamu dan menciptakan orang yang lain, apakah kamu bisa menjamin orang-orang itu bukanlah dirimu yang sekarang? Tidak ada yang tahu kecuali Allah. Intinya, Allah menciptakan siapapun, pasti tidak berharap pertanyaan itu muncul. Dan kamu tau apa artinya itu?" Tanya Toha.

"Itukah jawaban atas pertanyaanku?"

"Yap, bisa jadi. Kalo kamu bertanya kenapa Allah menciptakanmu, tujuan sebenarnya ada di dalam tujuan Allah menciptakanmu"

"Ibadah?"

"Yap, betul. Allah menciptakan Manusia dan Jin supaya mereka beribadah kepadaNya. Jawaban sebenarnya ada di dalam tujuan penciptaaan itu, ibadah. Wajar kalo kamu mempertanyakan hal itu. Sama seperti orang yang bertanya bagaimana rasanya eskrim paria, bisa dipastikan bahwa orang itu belum pernah mencobanya." Toha menjelaskan dengan apik.

"Dengan kata lain, beribadah itu tujuan dari penciptaan, tapi bukan alasan penciptaan. Beribadah itu jalan untuk menemukan alasan penciptaan itu. Begitukah?" Topan begitu gembiranya seperti menemukan sesuatu yang belum pernah ia dapatkan.

"Hahaha.. Boleh jadi. Kamu sendiri percaya kan kalo Allah tidak menciptakan sesuatu dengan sia-sia. Ada maksud di balik ini semua. Ada maksud di setiap masalah-masalah yang kamu temui. Aku kira, sepertinya kamu sudah membuka beberapa pintu rahasia. Pintu pertama adalah pertanyaan eksistensial. Bila seseorang sudah mulai mempertanyakan hal tersebut, maka itu artinya dia sudah membuka pintu pertama dan akan menemukan pintu kedua. Boleh jadi pintu kedua itu bukan pintu yang menutupi jawaban dari kehidupan ini. Boleh jadi ada pintu lagi di dalamnya dan ada pintu lagi didalamnya." Toha tersenyum. "Jadi kesimpulannya apa?"

"Aku berarti, harus mencari tahu ada apa di balik ibadah itu. Memang benar, selama ini aku akui, ibadahku belum benar. Tentu saja. Kalo sudah benar, mungkin aku sudah temukan jawabannya. Begitukah?"

"Ya, gitulah kira-kira. Barangsiapa yang mengajarkan dan tentu saja mengamalkan apa yang sudah ia ketahui, maka Allah akan mengajarkan padanya apa-apa yang tidak ia ketahui" Toha tersenyum lebar.

Topan merenung sejenak. Kembali sepi, selain hiruk pikuk jalan yang saat itu mulai macet. Namun kali ini kemacetan tidak membuat Topan gusar. Ada hal lain yang lebih menarik untuk dipikirkan dibanding mengeluhkan kemacetan.

Topan lalu bertanya lagi "Tapi, memangnya sesulit apakah mempertanyakan eksistensi? Terus kenapa harus mempertanyakan eksistensi?"

"Ada beberapa jalan seseorang menemukan kesadaran untuk mempertanyakan eksistensinya. Kamu, dengan kondisimu yang sedemikian sengsaranya, akan mempertanyakan kenapa ada begitu banyak masalah di dalam hidup, hingga akhirnya muncul pertanyaan kenapa aku hidup dan kenapa aku dilahirkan."

"Aku tidak sesengsara itu juga kali" Topan memicingkan mata.

"Hahaha.. tapi beruntunglah kamu memikirkannya ketika masih hidup. Masih ingatkah ayat yang menggambarkan penderitaan orang yang disiksa di akhirat sampai mereka berharap tidak pernah dilahirkan. Dengan demikian pertanyaan eksistensial yang muncul ketika seseorang masih hidup itu menjadi sesuatu yang penting." kata Toha sambil mengangkat telunjuknya.

"Baiklah. Kupikir, aku tidak perlu memikirkan apapun selain beribadah. Begitu kan?"

"Yups. Tetap ingat, ibadah untuk setiap tarikan nafasmu, bukan hanya untuk sekian menit sholatmu saja"

"In Syaa` Allah"

Topan melajukan motornya lebih cepat lagi. Kini dengan lebih mantap. Sekuat tenaga ia kesampingkan kesedihan dan sakit hati yang terus menggoda untuk singgah di hatinya. Tak ada seorang pun yang tahu bagaimana akhir hidupnya. Tak ada seorang pun yang dapat memastikan bagaimana nasibnya di akhirat kelak. Masalah datang dan pergi, seperti udara yang masuk dan keluar dari pernapasan.