Selasa, Mei 29, 2012

Tips Cara Cepat Membangun Aplikasi Web dengan Scaffolding

JAMAN sekarang ada Open Source itu enak, saking enaknya, saat ini kalau membuat aplikasi cukup main generate sana generate sini, jadi hemat waktu. Syaratnya lakukan analisis dan perancangan yang benar, implementasi ke program tak sampai 5 menit! :-)

Percaya gak?

Ok, langsung saja. Kita coba membuat aplikasi CRUD peminjaman buku perpustakaan dengan menggunakan teknik Scaffolding. Scaffolding ini dulu digunakan Framework CodeIgniter versi 1.7.2, tapi versi 2.1 ini tidak lagi karena "konon" ada kelemahan. CMIIW. :-)

Nah, database perpustakaan ini setidaknya terdiri atas 2 buah entitas, yaitu 'anggota' dan 'buku', dan satu buah relasi 'miminjam'. Diagram ERD-nya sebagai berikut:

ERD Perpustakaan

Setelah itu, generate ERD tersebut dan import ke MySQL.

Jika berhasil, langkah berikut membuat aplikasi web CRUD dengan PHP. Anda tak perlu memprogram, cukup bermodal ERD yang benar tersebut. Unduh Scaffoldr versi terbaru, dan ikuti petunjuknya.

Voila! Tak sampai 5 menit program sudah jadi.

Form Edit Anggota Perpustakaan
Form Edit Buku

Form List Buku

Form Peminjaman

Betul enakan? :-D

Senin, Mei 28, 2012

Tarik ATM di BNI46 Hanya 50 Ribu, Biayanya 25 Ribu?

HARI Minggu sore kemarin, 27/5/2012, saya bersama anak-anak jalan-jalan ke Toko Buku Gramedia di Balikpapan Center untuk sekadar refreshing sambil melihat kalau saja ada informasi buku baru. Mengingat sekadar jalan-jalan, kami membatasi uang jajan harus tak lebih dari anggaran.

Dalam perjalanan menuju tempat tujuan, kami sempatkan mampir di anjungan tunai SPBU Pertamina Kalianyar Balikpapan untuk mengambil sejumlah kecil dana. Awalnya, saya masuk ke mesin ATM BCA karena memang saya miliki kartu ATM BCA. Di mesin ATM tersebut ternyata hanya menyediakan nominal 100 ribuan saja, padahal saya butuh 150 ribu. Setelah berhasil menarik 100 ribu, saya menuju ATM Mandiri, tetapi batal karena tidak menyediakan 50 ribuan.

Pilihan berikutnya saya beralih ke deretan mesin ATM BNI, dan berhasil menarik 50 ribuan dengan kartu ATM BCA saya. Tetapi saya tersentak, jumlah saldo saya berkurang cukup drastis! Sekitar 25 ribuan!

Bukti transaksi dilihat melalui Internet Banking BCA, Senin, 28/5/2012. Dok. pribadi.


Senin pagi ini, 28/5/2012, saya sempatkan cek di Internet Banking BCA dan memang benar, saldo Interchange berkurang 25 ribu. Saya tidak tahu apakah biaya sebesar 25 ribu tersebut adalah biaya untuk BCA atau BNI, atau untuk keduanya?

Alangkah baiknya jika di mesin ATM (semua Bank) tersebut ditempel pemberitahuan mengenai rincian biaya tarik antar bank (Interchange) dalam jaringannya. Agar masyarakat yang tidak menjadi nasabahnya tidak menjadi korban biaya yang tidak diketahui seperti ini. Bukankah saat ini kita masuk dalam era keterbukaan informasi?

Sungguh ini pengalaman berharga, barangkali ini bermanfaat untuk pembaca yang lain.

Update:
Informasi lengkap disini!

Sabtu, Mei 26, 2012

Tutorial PHP dan MySQL: Form Update Banyak Data Record

DALAM membuat aplikasi web, bisa dikatakan selalu ada form aplikasi yang digunakan mengubah atau memperbarui data. Contohnya seperti yang pernah saya bahas sebelumnya, form update tersebut hanya memperbarui 1 buah record data.

Bagaimana dengan banyak data sekaligus?

Pada prinsipnya logikanya sama saja, hanya saja disini menggunakan Array untuk menyimpan variabel sementara. Kemudian Array tersebut ditangkap untuk proses query ke database.

Hasilnya kira-kira begini:

Selanjutnya...

Selasa, Mei 08, 2012

Tutorial PHP dan MySQL: Form Update Data

SEBENARNYA ini melanjutkan kuliah pemrograman web diploma-3 tadi pagi, yang membahas bagaimana membuat form update. Dalam diktat saya sudah ada langkah-langkahnya, namun tampaknya ada kendala versi, sehingga beberapa penulisan variable tidak dikenal oleh PHP versi terbaru (yang saya pakai PHP Version 5.3.10-1ubuntu3.1). Karena keterbatasan waktu, praktikum menjadi melebihi batas waktu yang tersedia karena tersita mencari solusi tersebut, apalagi ada juga sintaks SQL yang saya lupa, halah... :-D

Untuk itu perlu saya tulis disini dalam bentuk tutorial yang sudah jadi, barangkali bisa bermanfaat dan meningkatkan rating blog ini. :-D

Agar membuat program lebih mudah, biasakan untuk menggunakan logika. Logika ini berdasarkan analisis atas data yang kita peroleh beserta rancangannya. Secara sederhana, program yang akan dibangun akan bekerja sesuai dengan logika yang kita susun berdasarkan desain yang kita rancang. Soal konsistensi program, keamanan, dan lain-lain kita abaikan lebih dulu.

Data

Ambil contoh data siswa dengan database kuliah pada MySQL, dengan struktur tabel siswa sebagai berikut:

CREATE TABLE `siswa` (
`nim` varchar(10) NOT NULL,
`nama` varchar(50) default NULL,
`tanggal_lahir` date default NULL,
PRIMARY KEY (`nim`)
);


Analisis dan Desain

Disini saya jelaskan melalui alur logika yang menjelaskan bagaimana program nanti akan bekerja. Alur logika ini saya tulis di papan tulis berupa Flow Chart basic seperti gambar di bawah ini, yang di sebelah kanan menjelaskan desain antarmuka salah satu langkah. Adapun algoritma atau perintah-perintah di dalam alur logika tersebut yang memerlukan pengulangan atau pengambilan keputusan langsung saya jelaskan di kelas. :-)



Implementasi

Berikut kode programnya:


Testing

Jika diakses hasilnya kurang lebih seperti ini.



Semoga bermanfaat.

* Catatan: style programming masing-masing orang mungkin berbeda, tutorial ini hanyalah untuk pemula yang baru belajar.

Minggu, Mei 06, 2012

Mobile Blog Post by Blogger-droid, Tak Ada Alasan nge-Blog

PEMBACA yang budiman, jika Anda adalah pengguna Android dan seorang blogger, maka mungkin kini Anda tidak ada alasan untuk tidak nge-blog barang sehari saja. Mengapa? Di Android kini telah tersedia berbagai tools yang bisa digunakan untuk posting artikel blog secara mobile. Nah loh!


Bagi Blogger pengguna Wordpress ada aplikasi  Wordpress for Android yang cukup apik meski di layar sempit, dan bagi pengguna blogger.com juga tersedia aplikasi Blogger-droid, seperti yang saya gunakan untuk posting artikel ini.


Memang sih, baik Blogger-droid maupun Wordpress for Android hanyalah alat atau tools yang digunakan untuk membantu saja, perumpamaannya sama dengan pisau.


Seorang ibu rumah tangga yang  punya pisau tajam belum tentu mahir menggunakan pisau tersebut untuk mengupas bawang merah misalnya, pun juga belum tentu mahir memasak. Tapi ingat, meski tidak langsung mahir, setidaknya ia menjadi cepat belajar mengupas dan memasak dengan cepat, plus semangat karena pisaunya keren dan tajam.


Apakah tulisan ini berarti pernyataan bahwa saya akan nge-blog rutin minimal sehari sekali, entah apapun isinya? Oh, tentu saja tidak. Ibu rumah tangga pun tak selalu memasak setiap hari bila ada kesibukan lain, dan mengupas bawang merah pun tak melulu menggunakan pisau itu juga kan?


Jadi, alasan (tidak) nge-blog masih ada juga kan ya... :-D


Published with Blogger-droid v2.0.4

Tutorial CodeIgniter: Hello World dan Listing Data

PEMBACA yang budiman, berikut tutorial CodeIgniter (CI) Framework secara singkat tentang program pertama Hello World dengan listing data dari array. Disini tidak dibahas apa itu Framework, CodeIgniter, MVC (Model-View-Controller), serta manfaat dan tujuan penggunaan Framework tersebut. Anda bisa mencari di berbagai sumber di Internet yang cukup banyak. Untuk teori PHP dapat Anda pelajari materi pemrograman web, konsep OOP seperti fungsi dan metode, array, array assosiatif, SQL, design pattern dan sebagainya.

Kemudian tentang praktek Framework, setidaknya Anda pernah mencoba Framework web CMS semisal Wordpress atau Joomla -- yang juga menggunakan MVC -- seperti membuat tema.

Persiapan

Siapkan laptop atau PC yang bisa menjalankan sistem operasi seperti Linux (Windows juga bisa). Dalam kasus ini saya gunakan Linux Mint Isadora dan AMP (Apache, MySQL 5.0.7 keatas dan PHP 5.2.3 keatas).

Siapkan CI (download) dan Netbeans 7.1 IDE, bisa juga menggunakan IDE kesayangan Anda sendiri, serta browser yang mendukung HTML 5. Dalam tutorial ini menggunakan CI versi 2.1.0 yang mengalami banyak perubahan daripada versi 1.7.2.

Penerapan

Berikut hasil yang akan dibuat.
Screenshot hasil yang akan dikerjakan.

Langkah-langkahnya:
1. Ekstrak CI ke var/www/codeIgniter/
2. Masuk ke Controller var/www/codeIgniter/controller/
3. Buat berkas blog.php , dengan isi berkas:



4. Ubah nilai variabel default_controller pada berkas routes.php yang ada di var/www/codeIgniter/config/routes.php, baris 41 $route['default_controller'] = "welcome"; menjadi $route['default_controller'] = "blog";

5. Buat berkas blog_view.php pada direktori var/www/codeIgniter/view/blog_view.php berisi:


6. Buka browser dan akses URL http://localhost/codeIgniter/index.php/ atau http://localhost/codeIgniter/index.php/blog/ atau http://localhost/codeIgniter/index.php/blog/index/

Loh kok bisa ini begini dan itu begitu, ada penjelasan lain gak sih? Umm... silakan ikuti juga tutorial disini dan referensi di bawah ini, karena terlalu panjang bila dijelaskan disini. :-)

Semoga bermanfaat.

Referensi:
[1] Archived Tutorial,
[2] Model View Controlle
[3] CodeIgniter User Guide Version 2.1.0
[4] Introduction

Mengatasi Problem Ubuntu 12.04 Precise Pangolin pada Acer TravelMate 2420

BELUM lama ini sistem operasi Linux Ubuntu 12.04 telah dirilis untuk publik dunia, dan sudah menjadi kebiasaan sebelumnya jika saat akan menggunakan sistem versi baru, saya menunggu beberapa lama untuk mengetahui perkembangan kelebihan dan kekurangannya lebih dulu. Alasannya sederhana, untuk mengganti sistem lama dengan sistem baru itu butuh waktu dan effort yang tidak sedikit. Tapi saya pikir, hari Jumat kemarin ada waktu luang untuk mencobanya, maka langsung saja deh dimulai.

Saat mencoba Live DVD dan instalasi. Dok. pribadi.


Berikut catatan saya:

Spesifikasi komputer yang akan saya pasang Ubuntu 12.04 adalah laptop lawas dengan usia sekira 6 tahunan, Acer TravelMate 2420, memory 1.5 GB, dan ruang HDD < 10 GB (untuk direktori root / dan swap 1.5 GB).

Live DVD 

Selesai membakar ubuntu-12.04-dvd-i386.iso yang diunduh di kambing.ui.ac.id, langsung saya coba Live DVD tersebut. Hal pertama yang terlihat loading cukup berat. Unity desktop berjalan by default. Satu kendala tampak saat memutar Swansong yang dinyanyikan Josh Wooward, speaker laptop tak mengeluarkan suara, tapi bersuara saat dicolok earphone atau speaker booster.

Instalasi

Setelah mem-backup database dan beberapa berkas penting, proses instalasi dijalankan dengan waktu < 1 jam. Saya pertahankan Windows XP -- original, academic version, yang biasa digunakan untuk pekerjaan lain dalam menjalankan program khusus -- agar berdampingan atau dual boot. Proses instalasi tak ada masalah berarti, semua proses dilalui dengan lancar.

Gnome Shell pada Ubuntu 12.04 saya, cukup nyaman dan stabil.

Testing

Secara keseluruhan proses instalasi dan menjalankan beberapa aplikasi cukup lancar, dan saat ini hanya ada 3 masalah yang saya temui, masing-masing kasus mungkin berbeda tiap orang:
  1. GRUB rusak, saat booting muncul pesan ini:
    error: file not found
    grub rescue>
  2. Saat memutar aplikasi film dan musik, Sound tidak keluar suara sama sekali baik dari speaker laptop maupun booster.
  3. Gagal instalasi MySQL Workbench karena belum tersedia versi untuk Ubuntu 12.04 ini.

Penyelesaian

Solusi GRUB,
  1. Jalankan Live DVD dan terhubung ke Internet
  2. Lalu ikuti langkah di sini: https://help.ubuntu.com/community/Boot-Repair

Solusi Sound tak keluar suara,
  1. Sediakan koneksi Internet dengan bandwidth memadai dan stabil.
  2. Selesaikan dengan langkah yang ada disini: https://help.ubuntu.com/community/SoundTroubleshootingProcedure, jangan lupa pilih untuk versi 12.04

Catatan:
Ketika dalam tahap unduh saya kehabisan quota bandwidth, sehingga proses unduh macet di tengah jalan, dan proses instalasi tidak sempurna. Meski begitu, ternyata suara keluar saat jack speaker dicolok ke speaker booster. Untuk saya solusi ini sudah cukup. :-)

Solusi instalasi MySQL Workbench,

Masalah ada pada tidak tersedianya library yang sudah tidak disediakan untuk versi 12.04 ini: libmysqlclient16 dan libzip1

Library tersebut tersedia untuk versi 11.10 Oneiric, untuk itu ambil saja masing-masing libmysqlclient16 disini http://packages.ubuntu.com/oneiric/libmysqlclient16 dan libzip1 disini http://packages.ubuntu.com/oneiric/libzip1 sesuai masing-masing arsitektur mesin komputer Anda, lalu instal.

$ sudo dpkg -i *.deb


Setelah itu, install masing-masing library berikutnya:

$ sudo apt-get install python-paramiko python-pysqlite2 libctemplate0 libgtkmm-2.4-1c2a


Unduh MySQL Workbench untuk Ubuntu versi 11.04, lalu install dengan dpkg.

Jika semua berhasil jalan dengan baik, saya ucapkan selamat Anda layak jadi Linuxer! :-D