Menggunakan Bake Console

|

Untuk mempermudah dan mempercepat kerja kita dalam membangun sebuah web application, Cake PHP menyediakan sebuah CLI - Command Lie Interface - yang dikenal dengan nama Bake Console.
Untuk dapat menggunakan bake console, kita harus menampahkan directory path dari php dan cake console ke dalam environment variable dari sistem operasi yang kita gunakan. Misalkan saja dalam kasus ini saya mengunakan sistwm operasi Windows dan juga XAMPP sebagai bundled application server, maka saya akan menambahkan dua buah parameter berikut ini ke dalam variable path dari environment variable pada sistem operasi Windows yang saya gunakan.

C:\xampp\php;
C:\xampp\htdocs\cake\cake\console;

Setelah kedua pasth tersebut ditambahkan dalam environment variable, maka kita sudh dapat menggunakan bake console yang disediakan oleh Cake PHP. Mari kita segera mencobanya :)

Misalkan saja kali ini kita akan membuat project baru dengan nama percobaan, maka yang harus kita lakukan adalah membuka command prompt dan masuk ke root directory dari web server kita. Dalam hal ini saya menggunakan XAMPP sebagai bundled application server, dan root directory dari web server yang saya gunakan berada di C:\xampp\htdocs\
Pada directory tersebut kita dapat mengetikkan perintah berikut ini:

cake bake percobaan

Setelah perintah tersebut kita ketikkan, maka kita akan dimintai informasi berkenaan dengan parameter-parameter yang dibutuhkan seperti host dari database server kita, nama database yang akan digunakan, dan beberapa parameter dasar lainnya.

setelah semua parameter dimasukkan, maka Cake PHP akan membuatkan bagi kita sebuah directory baru (berserta semua file-file dasar yang dibutuhkan) dalam root directory dari web server yang kita gunakan. Dengan bake console kita juga dapat membuat controller dan model tanpa harus berinteraksi sama sekali dengan source code. Untuk membuat model pada project percobaan, kita terlebih dahulu harus masuk ke dalam directory percobaan melalui command prompt (C:\xampp\htdocs\percobaan\). Selanjutnya ketikkan perintah berikut ini:

cake bake model

Lalu masukkan setiap parameter yang dibutuhkan. Sedangkan untuk membuat controller, kita dapat mengetikkan perintah berikut ini:

cake bake controller

Sangat mudah sekali ya :) Selamat mencoba. Oh ya agar kita tidak dipusingkan dengan view, maka ada baiknya untuk sementara ini kita menggunakan scaffolding dahulu. Dengan menggunakan scaffolding, maka Cake PHP akan membuatkan default view sederhana untuk kita. Yang perlu diperhatikan di sini adalah tetaplah untuk mengikuti setiap konvensi yang ditetapkan oleh Cake PHP :) Sesuai moto yang diboyong oleh Cake, yaitu "Convention over Configuration"

Mengenal Hubungan "Has One" dan "Belongs To"

|

Kali ini saya akan melanjutkan tulisan saya seputar konsep dasar yang harus diketahui ketika mempelajari Cake PHP. Dalam konsep database kita tentunya telah mengenal beberapa model hubungan antar table, yaitu "one to one", "one to many", dan "many to many". Ketika kita akan membangun sebuah web application dengan PHP, maka kita perlu membawa bentuk hubungan antar table tersebut ke dalam bentuk hubungan yang sesuai degan konvensi yang ditetapkan oleh Cake PHP.
Dalam tulusan kali ini saya akan membahas bentuk hubungan yang paling sederhana, yaitu bentuk hubungan "one to one". Cake PHP mengenal hubngan "one to one" sebagai "has one" dan "belongs to".
Misalkan saja dalam kasus kali ini saya memiliki dua buah table yang saling berelasi, yaitu table students dan table profiles. Sekadar mengingatkan kembali bahwa dalam Cake PHP terdapat konvensi penamaan table di mana sebuah table harus diberi nama dalam bentuk plural. Setiap table juga harus diberi primary key dengan nama id dan bersifat auto increment.
Berikut ini adalah table yang dibuat:

CREATE TABLE students (
id INT(10) AUTO_INCREMENT PRIMARY KEY,
nim VARCHAR(8),
nama VARCHAR(25));

CREATE TABLE profiles (
id INT(10) AUTO_INCREMENT PRIMARY KEY,
student_id INT(10),
tanggal_lahir DATE,
alamat VARCHAR(50),
telp VARCHAR(15));

Table profiles akan memiliki sebuah field yang akan berperan sebagai foreign key dan akan berreferensi dengan primary key dari table students. Dalam Cake PHP juga terdapat konvensi penamaan nama field yang berperan sebagai foreign key. Setiap field yang berperan sebagai foreign key harus diberi nama dengan awalan nama table yang akan direferensikan (dituliskan dalam bentuk singular) dan diikuti dengan _id. Sebagai contoh pada table profiles terdapat sebuah foreign key dengan nama student_id yang digunakan untuk bereferensi dengan table students.
Dalam kasus ini hubungan antara kedua table tersebut adalah "one to one", di mana seorang student akan memiliki sebuah profile. Dan sebuah profile hanya akan dimiliki oleh seorang student. Bentuk hubungan seperti ini bila diterjemahkan dalam konvensi Cake PHP, maka akan berbunyi seperti ini: student "Has One" profile, dan profile "Belongs To" student.
Langkah selanjutnya adalah membuat model untuk setiap table yang ada. Sesuai dengan konsep MVC yang sebelumnya pernah saya sampaikan bahwa dalam aplikasi yang menerapkan konsep MVC, sebuah controller tidak diperbolehkan untuk melakukan akses langsung ke dalam database, oleh karenanya kita harus membuat model untuk setiap table.
Dalam Cake PHP, kita dapat membuat model dalam directory ./cake/models/
Sebuah model akan diberi nama sesuai dengan nama table yang akan dimodelkan, hanya saja penamaan model menggunakan bentuk singular. Dalam kasus kali ini berarti kita akan membuat dua buah model, yaitu student.php dan profile.php. Sebuah model akan berisi sebuah class dengan nama sesuai dengan nama table yang dimodelkan dan dituliskan dalam bentuk singular. Dan setiap class model tersebut akan melakukan inheritance / extends pada class AppModel.
Untuk lebih jelasnya bisa mempelajari source code dari kedua model tersebut:

students.php


profile.php


Tahapan sederhana berikutnya adalah membuat controller. Seperti dijelaskan pada tulisan saya sebelumnya, sebuah controller dibuat pada directory ./cake/controllers/
Berikut ini adalah source code dari controller yang dibuat. Bila Anda masih mengalami kebingungan dalam membuat controller pada Cake PHP, silakan mempelajari tulisan saya sebelumnya.

students_controller.php


profiles_controller.php


Hasil akhirnya bisa Ada akses dari http://localhost/cake/students atau http://localhost/cake/profiles
Sangat sederhana sekali :)

Dee's Blog

|

Wahhh senang sekali, hari ini tanpa sengaja menemukan URL dari blog milik Dee. Langsung saja aku add dalam fiend list ku :)
Gak sengaja juga sich menemukannya. Sewaktu mengawas UAS Algoritma, dalam rangka mengusir kebosanan aku mencoba melakukan koneksi via GSM modem yang baru saja aku beli :) Mode Pamer On He3.. sekarang aku sudah bisa melakukan koneksi internet di manapun aku mau. Catatan: selama tercover signal dari GSM provider :p
Sembari mengawas, aku coba melihat-lihat blog dari beberapa temanku termasuk juga blog mahasiswaku. Begitu akses ke blognya Ajeng, aku melihat ada nama Dewi Lestari dalam friend listnya. Wah kebetulan sekali, kebetulan aku sendiri salah satu penikmat karya sastra, jadi kalau memang bisa mendapatkan blog dari seorang pujangga tentunya sangat berharga sekali bagiku. Bisa sekalian belajar bagaimana sich seorang pujangga menuangkan kisah kesehariannya dalam suatu rangkaian kata :)

SAP Server Instalation. AGAIN

|

Seperti biasanya setiap akhir semester ada setumpuk tugas rutin yang harus aku kerjakan, salah satunya adalah melakukan instalasi ulang SAP server. He3... awalnya sich semangat, tetapi setelah sekian kali melakukan instalasi lama-kelamaan jadi muak juga. Weekkss.. Yang paling menyebalkan dari proses instalasi SAP server adalah waktu tunggunya yang luaaaamuuuaaa... buuuannggettt... Harus ditinggal seharian sewaktu melakukan instalasi database instance. Baru setelah itu bisa melanjutkan tahapan instalasi berikutnya.
Tetapi ada kabar baik nich, rencananya akan dilakukan upgrade SAP Server ke versi baru. Nah ini baru seru. Tantangan baru :) Untuk hardware sudah ready. SAP Server baru ini lumayan rakus. Untuk skala kelas training aja meminta RAM dengan kapasitas 8GB, entah bagaimana dengan skala enterprise beneran :p. Bener2 gila. Tapi ya gak apa juga sich, yang penting dapet pengalaman instal SAP server versi baru :)
Semangat!!!!!

CRUD Operation with Cake PHP

|

Cake PHP benar-benar merupakan framework yang sangat nyaman digunakan. Dalam tullisanku kali ini, aku akan mencoba mencontohkan betapa mudahnya melakukan operasi CRUD -Create, Read, Update, Delete- dengan memanfaatkan scaffold pada Cake PHP.

Langkah pertama yang harus dilakukan adalah membuat database dan table. Misalkan saja dalam kasus ini kita akan menggunakan MySQL sebagai Database Server.
Yang akan kita lakukan adalah membuat sebuah database dengan nama latihan.

CREATE DATABASE latihan;

Selanjutnya kita akan membuat sebuah table. Misalkan saja kita akan membuat sebuah aplikasi yang dapat menampung data-data film favorit, maka kita akan membuat sebuah table dengan nama movies. Oh ya ada hal penting yang harus diperhatikan di sini, kenyamanan dalam menggunakan Cake PHP baru benar-benar kita dapatkan selama kita mengikuti konvensi-konvensi penamaan yang ditetapan oleh Cake. Kovensi pertama yang harus kita perhatikan adalah, setiap kali kita membuat table, maka table yang kita buat harus diberi nama plural. Sebagai contoh di sini kita membuat table dengan nama movies (plural) dan bukan movie (singular). Konvensi semacam ini jangan dipandang remeh karena Cake PHP memiliki semboyan "Convention over Cofiguration", yang pada intinya Cake PHP akan membantu kita dalam menangani konfigurasi-konfigurasi dasar secara otomatis (tanpa perlu campur tangan kita sama sekali) selama kita menerapkan setiap konvensi penamaan yang ditetapkan.
Konvensi berikutnya berkenaan dengan table adalah setiap table harus memiliki sebuah primary key bernama id dan bertipe int auto increment.

CREATE TABLE movies (
id int(10) auto_increment PRIMARY KEY,
judul varchar(50),
pemain varchar(50),
sinopsis text
);

Setelah table tersedia, maka kita sudah siap untuk melakukan baking cake :)
Caranya sederhana sekali, kita cukup melakukan baking cake dengan menggunakan CLI (Command Line Interface). Pertama-tama kita harus masuk terlebih dahulu ke dalam root directory dari web server yang kita miliki. Misalkan saja dalam kasus kali ini aku menggunakan xampp sebagai dengan Apache sebagai web servernya. Maka yang perlu aku lakukan adalah mengetikkan perintah berikut ini.

C:\xampp\htdocs>cake bake percobaan

Perintah tersebut diperlukan setiap kali kita ingin membuild sebuah project baru dengan Cake PHP. Setelah perintah tersebut dieksekusi, kita akan diminta untuk menginputkan beberapa parameter dasar yang memang dibutuhkan oleh Cake untuk melakukan akses ke database yang baru saja kita buat. Setelah semua parameter dasar tersebut kita inputkan, maka akan terbentuk directory baru bernama percobaan di dalam root directory dari web server kita. Untuk melihat apakah project baru yang kita definisikan berhasil atau tidak, kita dapat mencobanya dengan melakukan akses via web browser ke http://localhost/percobaan.

Ok sekarang sudah saatnya kita memasuki tahapan penting di mana kita mulai megimplementasikan konsep MVC -Model View Controller- dalam Cake PHP.
Setiap table yang kita miliki harus dibuatkan model dalam Cake. Berkenaan dengan model ada beberapa konvensi yang harus diikuti. Pertama, nama file untuk model harus sesuai dengan table yang direferensikannya dan ditulis dalam format singular. Dalam kasus ini nama file dari model kita adalah movie.php. File tersebut harus diletakkan di dalam directory ./percobaan/models/. Kedua, nama class dari suatu model harus singular dan ditulis dalam format Camel Case. Camel Case merupakan sebuah istilah di mana huruf pertama dari setiap kata dalam nama class ditulis dalam huruf besar (upper case). Dalam kasus kali ini nama class dari model kita adalah Movie. Tetapi bila kita memiliki nama class yang terdiri dari dua suku kata, maka kita dapat menuliskannya sebagai berikut DaftarFilm. Dan perlu diingat juga bahwa nama class harus disesuaikan dengan nama filenya.

movie.php



Untuk membuat model dalam Cake sebenarnya kita bisa menggunakan fasilitas bake model. Tetapi ini akan aku bahas dalam tulisanku berikutnya.

Setelah model dibuat, selanjutnya kita akan membuat controller. File controller akan dibuat di dalam directory ./percobaan/controller/. Dalam membuat controller pun kita harus memperhatikan konvensi penamaan yang ditetapkan. Pertama, nama file controller yang mengacu pada data harus dituliskan dalam format plural dan diakhiri dengan _controller. Misalkan saja dalam kasus kali ini nama file controller yang akan kita buat adalah movies_controller.php. Kedua, nama class controller harus disesuaikan dengan nama file controller (plural) dan diakhiri dengan Controller menggunakan format Camel Case. Dalam contoh kita ini, maka nama class controller kita adalah MoviesController.

movies_controller.php



Dalam kasus ini kita menggunakan fitur scaffold dari Cake PHP di mana kita sama sekali tidak perlu ambil pusing perihal operasi CRUD termasuk dalam hal membuat tampilan HTML untuk operasi CRUD tersebut. Sekarang mari kita bersama-sama melihat kehebatan Cake PHP dalam menangani operasi CRUD dan menjadikannya begitu simple bagi seorang developer. Untuk melihat hasilnya kita dapat melakukan akses via web browser ke http://localhost/latihan/movies
Kita akan mendapati tampilan dasar yang sudah otomatis dibuatkan oleh fitur scaffold di mana kita dapat dengan mudahnya melakukan penambahan, pengeditan, dan penghapusan data-data film favorit kita :) Luar biasa sekali bukan?

Bak Kisah Laskar Pelangi

|

Minggu ini merupakan minggu terakhir kami belajar Bahasa Jerman di Goethe Institut. Selama satu semester ini kami telah menempuh tingkat A1 dan A2 dengan seabrek gramatik dan kosa kata baru yang kami pelajari. Dari pertemuan pertama di mana kami hanya bisa bengong ketika pengajar kami mulai berbicara dalam Bahasa Jerman sampai akhirnya kami pun bisa menulis sebuah surat sederhana dan sedikit melakukan percakapan dalam Bahasa Jerman. Wah benar-benar signifikan sekali peningkatan kemampuan kami :)

Akhir semester ini mengandung dua arti. Pertama berarti kami telah menyelesaikan leval A1 dan A2. Kedua berarti kami akan melakukan pendaftaran ulang untuk melanjutkan ke leval B1.1 dan B1.2.
Beberapa hari menjelang hari pendaftaran, Pak Bambang sempat masuk ke kelas kami dan mendistribusikan sebuah surat edaran yang intinya berbunyi, kelas hanya akan dibuka dengan jumlah minimal peserta 15 orang. Fünfzehnt Personen? Mein Got!!! Wir sind nur sieben Personen. Kabar ini benar-benar menjadikan kami shock. Dari kelas kami, berdasarkan hasil pendataan sementara, hanya ada sekitar 7 orang saja yang berniat melanjutkan. Ketujuh orang tersebut adalah aku, Rhama, Bayu, Nunu, Devis, Ina, dan Hakim. Pada hari pendaftaran pun kami terpaksa menghadap Pak Bambang. Beliau dan staff sekretariat menanyakan perihal teman-teman kami yang lain. Rina dan Suci jelas tidak melanjutkan lagi karena memang mereka saat ini sudah berada di Jerman sebagai asisten riset. Sharon dan Sahat pun tidak akan melanjutkan karena meraka berdua akan segera berangkat ke Jerman. Ibrahim dan Gilang juga tidak akan melanjutan karena orientasi mereka ke Jerman untuk bekerja dan bukan untuk studi, maka cukuplah sampai di tingkat A2 saja. Nanda memutuskan untuk fokus pada persiapan UAN. Anna sedang kerepotan dalam membagi waktu dengan pekerjaannya sebagai Dosen di ITB. Sedangkan Daniel belum ada kabar. Wahhh gawatt!!!!

Setelah tawar-menawar dengan Pak Bambang, maka akhirnya disepakati bahwa kelas akan berjalan dengan minimal 10 peserta. Tetapi jumlah kami saat ini baru 7 orang. Mulai muncul wajah-wajah cemas dan setengah kecewa di antara kami yang memang sudah bertekad untuk mengejar impian kami untuk studi di Jerman. "Bagaimana dengan nasib kita ini?", demikian kira-kira pertanyaan yang muncul dalam perbincangan kami.

Tetapi syukurlah, keesokan harinya kami mendapatkan kabar dari Pak Bambang bahwa ada beberapa siswa baru yang mendaftar untuk kelas B1.1 di periode berikutnya. Wahh.. senang sekali rasanya. Benar-benar bak kisah Laskar Pelangi saja ya :) Kami terselamatkan juga dan semangat untuk menggapai mimpi kami pun kembali timbul dan berkobar.
Wir wollen in Deutschland studieren :) Da ist unsere Traum. Dafür unsere Kampf. Zusammen lernen Wir Deutch am Goethe Institut.

Kisah Qian HongYan

|

Siang hari ini sempat menerima email dari rekan kerja. Isinya sarat dengan inspirasi dan memotivasi hidup.

Qian HongYan - Gadis Puntung yang masih tersenyum menyambut dunia
Qian Hongyan mengalami kecelakaan dan kehilangan kedua kakinya bahkan pinggulnya.
Qian Hongyan juga dikenal sebagai Basket Ball Girl. Mengapa?

Her family in China are poor and couldn’t afford false legs, so she uses a basketball to help her move.
Qian uses two wooden props to drag herself, and never complains, even though she has worn through six basketballs.


ia tetap ke sekolah, walaupun harus bersusah payah ke sana.
Dan.. ia tetap tersenyum menyambut dunia.

Zusammen Gehen

|

Pada Hari Minggu yang lalu, aku bersama-sama teman-teman Goethe mengadakan acara jalan-jalan bareng alias Zusammen Gehen :) Acaranya simple aja, mulai dari makan bersama, ngobrol-ngobrol, foto-foto, dan nonton film bareng :)
Untuk acara makan bersama, kami mengambil tempat di Sapu Lidi. Tempatnya asik banget, cocok untuk kongko-kongko dan foto-foto :) Kami yang cowok-cowok juga menyempatkan diri untuk mencoba berkeliling danau dengan sampan kayu. Benar-benar menyenangkan. Sayangnya kami hanya berkesempatan mengelilingi danau satu kali saja karena tetes-tetes air hujan mulai berjatuhan dengan deras. Dari Sapu Lidi, kami bertolak ke Ciwalk untuk nonton bareng. Di tengah perjalanan menuju Ciwalk, kami dihadang oleh hujan lebat. Fuih jadi berbasah ria dech kami di Ciwalk. Ha3.. nonton di bioskop yang dingin dengan udara yang dingin dan pakaian yang basah kuyup. Lengkap sudah dech :p Malam harinya aku langsung masuk angin :D

Presentasi Tugas / Proyek Akhir Perkuliahan

|

Minggu terakhir perkuliahan seharusnya menjadi minggu yang paling menyenangkan baik bagi dosen maupun bagi mahasiswa karena dalam minggu tersebut biasa digunakan sebagai sesi presentasi tugas / proyek akhir perkuliahan. Dalam sesi presentasi ini harapannya seorang atau sekelompok mahasiswa dapat mempresentasikan hasil dan effort terbaiknya setelah mengikuti suatu topik perkuliahan selama satu semester. Bagi dosen, sesi presentasi ini tentunya akan menjadi moment penuh senyum karena di sini seorang dosen dapat menyaksikan bahwa setiap materi yang sudah disampaikan selama satu semester ini telah dapat diserap dan diimplementasikan dengan baik oleh setiap mahasiswanya. Seorang mahasiswa dengan penuh senyum puas dan bangga akan mempresentasikan tugas / proyek akhirnya. Mereka layak untuk berbangga dan puas karena memang telah berhasil menyelesaikan tugas / proyek akhir yang diberikan sebagai wujud pembuktian pada dirinya sendiri (dan tentu saja pada teman-temannya) bahwa dia telah berhasil dalam memahami dan mengimplementasikan setiap point-point penting yang disampaikan dalam suatu perkuliahan.

Tetapi nampaknya pandangan tersebut merupakan suatu pendangan yang terlalu naif. Terlalu idealis. Too Good To Be True.
Ternyata realita yang muncul tidak seperti kondisi ideal yang diharapkan :(

Moment sakral tersebut harus tercoreng dan ternoda dengan menjamurnya aksi plagiatisme. Semboyan "Gak Usah Mikir" yang diboyong oleh salah satu penyedia jasa GSM di Indoensia ini nampaknya telah merasuk dalam jiwa setiap mahasiswa jaman sekarang. Dalih-dalih seperti "sebagian memang dibantu teman pak", "sebagaian kodenya saya copy paste dari Internet pak", dan berbagai dalih lainnya pun bermunculan ketika seorang mahasiswa mulai memasuki sesi tanya jawab dan terjebak dalam "blank zone". Dalih-dalih irasional semacam itu pun akhirnya semakin mengotori moment sakral ini :(

Sedih memang, moment yang seharusnya diwarnai senyum puas penuh rasa bangga tetapi justru harus diisi dengan kekecewaan.

Model View Controller

|


MVC merupakan suatu konsep pemrograman yang banyak diterapkan akhir-akir ini. Dengan menerapkan MVC dalam membangun suatu aplikasi akan berimbas pada kemudahan pada saat aplikasi tersebut memasuki fase maintenance. Proses pengembangan dan integrasi pun menjadi lebih mudah untuk dilakukan. Ide dasar dari MVC sebenarnya sangat sederhana, yaitu mencoba untuk memisahkan antara model, view, dan controller.

Model
Model di sini berperan sebagai representasi dari data yang terlibat dalam suatu proses transaksi. Setiap kali method / function dari suatu aplikasi butuh untuk melakukan akses ke dalam suatu data, maka function / method tersebut tidak langsung berinteaksi dengan sumber data tersebut melainkan harus melalui model terlebih dahulu. Dalam hal ini hanya model yang diijinkan untuk berinteraksi langsung dengan sumber data.

View
View di sini berperan sebagai presentation layer atau pengatur user interface (tampilan) bagi user dari suatu aplikasi. Data yang dibutuhkan oleh user akan diformat sedemikian rupa agar dapat tampil dan dipresentasikan dengan format tampilan yang memang disesuaikan dengan kebutuhkan user.

Controller
Controller di sini berperan sebagai logic aspect dari suatu aplikasi. Controller lah yang akan menentukan bussiness process dari aplikasi yang dibangun. Controller akan merespon setiap inputan dari user dengan melakukan pemanggilan terhadap model dan view yang sesuai sehingga request / permintaan dari user tersebugt dapat terpenuhi dengan baik.

Dengan menerapkan konsep MVC, penulisan source code dari suatu aplikasi menjadi lebih rapi dan lebih mudah untuk dimaintain dan dikembangkan.

Getting Started with Cake PHP

|

Menjelang liburan akhir tahun aku mengagendakan untuk mempelajari hal baru. Pilihanku kali ini jatuh pada Cake PHP. Cake PHP Framework merupakan salah satu framework PHP yang cukup banyak digunakan saat ini. Cake menerapkan konsep MVC - Model View Controller dengan sangat rapi sekali. He3.. sekalian mendalami konsep MVC ku yang masih semerawut nich :p
Langkah pertama yang baru aku lakukan adalah instalasi. He3.. ternyata proses instalasinya tidak rumit dan bisa dibilang sangat mudah sekali. Berikut ini adalah tahapan-tahapannya:

1. Sediakan web server yang mendukung PHP dan juga sebuah database server.
Dalam hal ini aku menggunakan Apache sebagai web server dan MySQL sebagai database server. Kalau memang ingin lebih praktis bisa menggunakan XAMPP atau LAMPP yang sudah membundle Apache, PHP, dan MySQL menjadi satu paket :)

2. Extract source Cake PHP.
Source Cake PHP bisa didownload dari http://cakephp.org. Dan Cake PHP merupakan framework PHP yang bersifat Open Source dan Free License. Artinya selain kita bisa mempelajari source code nya, kita juga bisa menggunakan Cake PHP untuk keperluan web application development tanpa harus membayar untuk license nya :) Source yang disediakan biasanya berupa file archive yang harus kita extract.Extract lah source Cake PHP pada root directory dari web server kita, lalu cobalah melakukan akses melalui browser melalui URL http://localhost/directory_cake/

3. Load module rewrite_module
Langkah berikutnya adalah me load salah satu module penting, yaitu rewrite_module. Caranya sederhana saja, kita cukup melakukan editing sederhana pada file httpd.conf dari Apache web server dengan menggunakan text editor sederhana seperti notepad atau vi. Untuk melakukan load module, hapuslah tanda # (tanda pagar) pada baris module yang ingin kita load. Dalam hal ini adalah: LoadModule rewrite_module modules/mod_rewrite.so. Setelah itu lakukan restart terhadap Apache web server dan akseslah kembali halaman utama dari Cake PHP melalui URL http://localhost/directory_cake/ dan lihatlah perbedaannya :) Sekarang halaman ini jadi nampak lebih colorfull dan setiap funsionalitasnya sudah siap digunakan :)

4. Melakukan cuztomisation pada Security Hashing Code
Langkah selanjutnya adalah melakukan customisasi pada hashing code. Secara default Cake PHP sudah memberikan default hashing code, tetapi sangat disarankan agar setiap developer tidak menggunakan default hashing code untuk alasan keamanan. Langkah yang perlu dilakukan juga sangat mudah, kita tinggal melakukan editing sederhana pada file core.php yang terletak pada directory /app/config/core.php dengan melakukan pengubahan pada baris
Configure::write('Security.salt', 'BOEDY3b0qyJfIxfs2guVoUubWwvniR2G0FgaBIOS');

5. Mempersiapkan Database
Tahapan berikutnya kita akan membuat sebuah database pada database server kita. Misalkan saja untuk kasus ini saya membuat sebuah database dengan nama universitas. Untuk mempermudah, proses pembuatan database bisa dilakukan dengan menggunakan PHP MyAdmin atau database tools lainnya. Tetapi bagi Anda yang memang lebih senang bekerja dengan console (seperti saya), Anda dapat juga membuatnya lewat command line interface (CLI) :D

6. Mengubungkan Database dengan Cake PHP
Langkah terakhir adalah menghubungkan Cake PHP framework dengan database yang baru saja dibuat. Langkahnya sangat sederhana sekali, kita hanya perlu melakukan rename atau penggantian nama file dari database.php.default menjadi database.php. File tersebut terletak di directory /app/config/database.php.default. Selanjutnya lakukan pengeditan sederhana pada class DATABASE_CONFIG (pada bagian akhir file dari database.php) agar Cake PHP dapat melakukan koneksi pada database yang sudah dibuat. Sesuaikan parameter $default dan $test dengan parameter-parameter yang dibutuhkan untuk melakukan koenksi ke dalam database yang tersedia. Driver diisi dengan database engine yang kita gunakan, host diisi dengan lokasi dari database server, username dan password diisi dengan username dan password yang dapat digunakan untuk melakukan akses ke dalam database, dan database diisi dengan nama database yang akan diakses.

Setelah keenam langkah tersebut dilakukan, maka Cake PHP sudah siap untuk digunakan :)
Bila Anda kembali melakukan akses melalui web browser ke URL http://localhost/directory_cake/, maka sudah tidak lagi didapati warning message pada tampilan utamanya :)

Tutorial seputar langkah-langkah membangung sebuat web application sederhana dengan Cake PHP akan aku susun dalam posting berikutnya.
Semoga bermanfaat.

Mein Lebenslauf

|

Mein Name ist Boedy. Ich bin 1981 in Cirebon geboren. Von 1991 bis 1996 ging ich in die Grundschule dann besuchte ich die Mittelschule von 1996 bis 1998 dannach ging ich von 1998 bis 2000 die Oberschule. Ich studierte von 2000 bis 2005 in Jogja in der Duta Wacana Unniversität. Da studierte ich Informatik. Von 2005 bis heute arbeite ich als Dozent in der Maranatha Universität in Bandung. Jeztz lerne ich Deutsch im Goethe Institut, weil ich in Deutschland studieren will.

TU Dresden

|

Keinginanku untuk studi lanjut sudah makin bulat nich. Aku sudah lirik-lirik beberapa uni, dan untuk saat ini pilihanku jatuh ke TU Dresden. He3... awalnya sich sempat naksir dengan Saarland Universität. Tetapi setelah mengetahui bahwa itu uni yang berbayar akhirnya aku mulai melakukan pencarian lagi. Pilihanku akhirnya jatuh ke TU Dresden. Kenapa? Alasan utama adalah karena uni tersebut tidak mengenakan tuition fee. Agak berat rasanya bila aku harus menyediakan dana sekian besar untuk tuition fee. Dengan memilih uni yang bebas tuition fee setidaknya aku tinggal memikirkan biaya hidupku saja. Alasan lainnya mengapa aku memilih TU Dresden adalah karena uni tersebut termasuk dalam salah satu jajaran Technische Universität terbaik di Deutschland. Kayaknya bakal mantap dech studi di sana. He3... walaupun di satu sisi aku agak deg-degan juga apakah aku bisa menyesuaikan diri dengan pola belajar masyarakat di sana. Tapi kalau tidak mencoba ya tidak akan pernah tahu. Semoga saja aku beroleh pencerahan demi pencerahan untuk menggapai cita-citaku studi di sana. Untuk saat ini aku akan berfokus pada studi bahasaku. Pokoknya harus lulus ujian TestDaf nich. Semangat!!!!
Oh ya berharap juga agar Rupiah makin menguat. He3.. gawat juga nich kalau Rupiah terus melemah, nilai Eouro jadi makin membumbung tinggi.
Ich bin vorlieben auf Deutschland :) Meine Traum ist nach Deutschland studieren.

Lo...La...

|

LoLa alias "Loading Lama". Nampaknya pernyataan itulah yang kiranya cocok untuk menggambarkan kondisi diriku akhir-akhir ini. Entah kenapa aku jadi agak lelet dalam berpikir. Kemampuan fokusku pun jadi melemah. Fuiihh... memang sudah semestinya aku kembali berlatih meditasi. Ayoooo semangatt!!!!....
He3.. latihan meditasi merupakan aktifitas yang cukup berat dilakukan, apalagi dengan kondisi tubuh yang sudah letih.
Tetapi aku harus ambil komitmen nich, bangun pagi dan latihan meditasi. Menjadi LoLa itu mengerikan!!!!!.....

Hukum Kekekalan Energi

|



Bagiku kehidupan ini penuh dengan aliran energi. Menurut ilmu fisika, suatu energi bersifat kekal. Artinya energi tidak dapat dimusnahkan. Energi dapat berubah bentuk dari bentuk energi yang satu ke bentuk energi lainnya. Misalkan saja energi listrik yang dapat berubah bentuk menjadi energi panas dan energi cahaya seperti yang kita temui pada lampu. Dalam kasus ini energi listrik yang digunakan tidak musnah begitu saja melainkan mengalami perubahan ke bentuk energi yang lain dengan nilai / besaran yang setara.
Dalam kehidupan ini aku mempercayai bahwa ada bermacam bentuk energi, ada energi semangat, energi kesedihan, energi cinta, energi uang, energi kesehatan, energi kedamaian, dan berbagai bentuk energi lainnya. Energi-energi tersebut pun dapat berubah menjadi berbagai bentuk energi lainnya. Dalam setiap aktifitas yang dilakukan sehari-hari juga akan selalu melibatkan energi. Untuk dapat beraktifitas, seseorang pasti membutuhkan energi. Dan energi yang digunakan untuk melakukan aktifitas tersebut akan mengalami perubahan bentuk ke suatu bentuk energi yang berbeda tetapi dengan nilai / besaran yang setara. Dengan kata lain, aktifitas di sini berperan dalam proses perubahan bentuk energi.
Dengan pemahaman semacam ini, aku jadi semakin berhati-hati dalam melakukan suatu atifitas. Jangan sampai aktifitas yang aku lakukan justru memnculkan suatu energi yang malah merugikan kehidupanku. Misalkan saja aktifitas berbohong. Bisa jadi energi hidup yang aku gunakan untuk melakukan aktifitas semacam ini justru akan menghasilkan suatu bentuk energi yang berdampak negatif bagi kehidupanku.
Dalam bekerja pun aku jadi makin bertanggungjawab. Jangan sampai energi uang yang aku terima setiap bulannya sebagai upah dari kerjaku justru tidak sebanding dengan energi yang aku gunakan selama aku bekerja. Jangan sampai selisih kekurangan energi tersebut justru akan memunculkan suatu bentuk energi negatif yang mengganggu tataran kehidupanku. Lebih baik aku mengerjakan sesuatu yang melebihi upah yang aku terima, dengan demikian aku memiliki tabungan energi positif bagi hidupku, dari pada aku harus mengerjakan sesuatu seadanya dan asal-asalan tetapi menerima upah layaknya seseorang yang bekerja penuh totalitas.
Aku jadi ingat kata mutiara yang berbunyi "MEMBERI adalah lebih baik dari pada MENERIMA". Bisa jadi kelebihan energi yang dikeluarkan untuk hal-hal positif akan mendatangkan kembali energi-energi positif dalam hidup, karena memang hakikat dari energi itu bersifat kekal.
Apakah kelebihan energi yang kita miliki merupakan kelebihan energi positif atau justru kelebihan energi negatif? Pertanyaan semacam ini rasanya layak untuk terus ditanyakan di setiap langkah kehidupan kita :)

Apakah Anda berbahasa Indonesia?

|


Malam hari ini aku menyempatkan untuk memeriksa laporan KP dan TA dari beberapa mahasiswa bimbinganku. Setiap kali aku membaca tulisan mahasiswa, aku selalu saja sedih. Yup sedih karena harus melihat realita di mana seseorang yang telah mengenyam pendidikan di tingkat Sarjana Strata 1 pun ternyata masih belum bisa berbahasa Indonesia dengan baik dan benar ketika menuangkan hasil penelitiannya dalam bentuk laporan ilmiah. Beberapa kesalahan yang terus saja terjadi di setiap laporan di antaranya adalah:

1. Membedakan penggunaan kata depan dan awalan.
Ini merupakan kesalahan yang paling sering aku temui. Dalam Bahasa Indoensia terdapat beberapa kata depan seperti "di" dan "ke" yang juga dapat digunakan sebagai awalan. Hanya saja penggunaan "di" dan "ke" sebagai kata depan (preposisi) tidak dapat digabungkan dengan kata berikutnya seperti pada penggunaan "di" dan "ke" sebagai awalan. Penggunaan "di" dan "ke" sebagai kata depan berfungsi sebagai penunjuk keterangan tempat (lokasi) maupun keterangan waktu (temporal). Sebagai contoh: di mana, ke mana, di saat itu, di situasi semacam itu, ke pasar, di restoran. Sedangkan penggunaan "di" dan "ke" sebagai awalan justru harus digabungkan dalam penulisannya. "Di" sebagai awalan digunakan untuk menghasilkan suatu bentuk kalimat pasif. Sebagai contoh: dimakan, dikarenakan, diberi, diarahkan.
Dan penggunaan "ke" sebagai awalan akan menghasilkan suatu keterangan keadaan dan biasa disertai dengan akhiran "an". Sebagai contoh: kenakalan, kekayaan, kesuksesan, kesimpulan.

2. Penggunaan istilah asing.
Dalam sebuah tulisan ilmiah, setiap penggunaan istilah asing harus dituliskan dalam bentuk cetak miring (italic). Dan ini pun menjadi point kesalahan yang tidak sedikit dilakukan oleh mahasiswa.

Kondisi memperihatinkan semacam ini pun harus ditambah lagi dengan kemampuan verbalik mahasiswa yang makin menurun. Tidak mengherankan memang bila fenomena ini terjadi mengingat makin menurunnya juga minat baca pada generasi muda saat ini. Penurunan minat baca tentunya akan berbanding lurus juga dengan penurunan kemampuan verbalik seseorang baik itu kemampuan dalam menuangkan pemikiran secara tertulis maupun kemampuan dalam mencerna dan memahami suatu susunan tulisan tertentu. Sedih rasanhya bila diperhadapkan pada kondisi semacam ini. Penggunaan tata bahasa pun makin lama makin kacau ditambah lagi dengan kesalahan-kesalahan linguistik yang sudah dipandang biasa dalam masyarakat.
Contoh nyata adalah penggunaan kata absensi. Tidak banyak orang ternyata yang cukup peka terhadap penggunaan kata absensi dan cenderung latah untuk menggunakan istilah tersebut dalam setiap pendataan yang berkaitan dengan kehadiran. Bahkan seringkali juga muncul pernyataan seperti, "Apakah kamu sudah absen?" dan "Ayo cepat absen dulu".
Penggunaan istilah "absensi" sudah menjadi rancu dengan istilah "presensi". Padahal absensi merupakan suatu proses pendataan ketidakhadiran seseorang sedangkan presensi merupakan suatu proses pendataan kehadiran seseorang. Lucu rasanya bila seseorang yang menghadiri rapat atau kegiatan apapun juga malah diminta untuk menandatangani lembar data absensi yang nota bene merupakan data ketidakhadiran. Fuihh.... bukankah Bahasa Indonesia masih menjadi bahasa resmi Bangsa Indonesia? Ataukah bangsa ini sudah berganti bahasa?