Enkripsi Teks di CodeIgniter

Jika Ada mengaktifkan $config[‘sess_encrypt_cookie’] = TRUE di config.php , saat mencoba buka cookies Anda dengan print_r($_COOKIE) , maka hasil cetak yang keluar adalah data cookies Anda tapi sudah terenkripsi sehingga sulit dibaca. Tapi jika menonaktifkan $config[‘sess_encrypt_cookie’] = FALSE saat dicetak akan muncul data cookies Anda dalam format JSON yang bisa dipahami. Proses tersebut disebut enkripsi, salah satu faktor mengapa proses itu ada adalah karena faktor keamanan. Penjelasan lengkap bisa dibaca di CodeIgniter User Guide.

Berikut contoh kode enskripsi text file. (keterangan ada di sumber kode) :

Continue reading Enkripsi Teks di CodeIgniter

Template Engine Sederhana

.php
.php

Beberapa waktu lalu, sempat terpikir oleh gw, untuk sistem (web) yang sederhana (dari segi fitur) __ yang mungkin __ terlalu boros jika dibikin pakai framework ataupun berorientasi objek sehingga dibuat alurnya prosedural saja, tapi strukturnya masih rapi, minimal ada pemisahan kode php dengan template. Tidak perlu memakai template engine yang sudah komplek seperti Smarty atau yang lainnya, karena ya itu terlalu boros (dilihat ukuran size aplikasinya).

Continue reading Template Engine Sederhana

[Update] FusionCharts (Free) + CodeIgniter

www.fusioncharts.com
www.fusioncharts.com

FusionCharts adalah komponen pemetaan dalam basis flash yang dapat digunakan untuk merender data dalam bentuk animasi grafik. Dengan basis Adobe Flash, FusionCharts dapat digunakan dengan berbagai macam bahasa scripting web seperti HTML, .NET, ASP, JSP, PHP, ColdFusion dan lain sebagainya, untuk menghasilkan chart yang interaktif dan powerfull. Menggunakan XML sebagai data interface-nya, FusionCharts mampu menciptakan charts yang compact, interaktif, dan visually-arresting.

Tulisan kali ini adalah update dari tulisan saya Agustus 2008 silam tentang Fusion Chart dan CodeIgniter. Saya tulis kembali sebab banyak yang bertanya tentang ketidakcocokan librari yang saya buat dengan Fusion Chart sekarang. Poin yang patut diketahui adalah versi yang saya pakai dulu adalah versi Fusion Chart lama yaitu Fusion Chart 2 (masih bersifat trial) sebelum ada rilis versi free untuk Fusion Chart 3. Ada beberapa perubahan yang cukup signifikan, seperti penggantian inisialisasi awal XML dari fusion chart, dari :

Continue reading [Update] FusionCharts (Free) + CodeIgniter

Upload and Crop Image with CodeIgniter and JQuery Image Area Select

JQuery Crop
JQuery Crop

Pada tulisan kali ini, saya akan mencoba mengimplementasi antara PHP, CodeIgniter , jQuery (image area select), dan librari image_moo. Sebagian besar ilmunya saya dapatkan dari WebMotionUK. Pada artikel WebMotionUK dijelaskan implementasi PHP + jQuery (image area select), saya mencoba menggabungkan dengan CodeIgniter dibantu dengan librari Image_moo yang implementasinya telah saya jelaskan pada artikel sebelumnya.

Continue reading Upload and Crop Image with CodeIgniter and JQuery Image Area Select

Image Manipulation with Image_moo’s library (CodeIgniter)

Image Manipulation
Image Manipulation

Tulisan saya kali ini menyambung dari tulisan saya terdahulu tentang Image Resizing di PHP CodeIgniter , jika sebelumnya library yang saya gunakan adalah bawaan dari CodeIgniter, kali ini saya akan memakai library Image_moo yang saya dapatkan dari Mat-moo melalui forum Codeigniter.

Kekuatan dari librari ini jika dibandingkan dari bawaan CodeIgniter adalah adanya multiple process sehingga menghemat baris kode untuk melanjutkan proses images manipulation berikutnya. Contoh dapat dilihat pada tulisan saya terdahulu dimana antara proses resize ke ukuran thumbnail dan medium perlu ada jeda (penghapusan proses sebelumnya) yang tandai dengan : $this->image_lib->clear() , sedangkan pada Image_moo proses tersebut bisa terus berlanjut tanpa harus menghapus proses sebelumnya.

Kekurangannya pada libari ini adalah hanya bisa berjalan PHP 5 di atas atau sama dengan dan hanya menggunakan librari GD 2 untuk proses images manipulation.
Continue reading Image Manipulation with Image_moo’s library (CodeIgniter)

CodeIgniter + JQuery + JSON

Write Less, Do More
Write Less, Do More

JQuery adalah framework Javascript yang menekankan bagaimana interaksi antara Javascript dan HTML. JQuery merupakan salah satu framework yang membuat program web di sisi klien (Achmad Solichin).

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (www.json.org).

Pada tulisan kali ini, akan ditunjukkan salah satu implementasi penggunaan JSON dan JQuery dalam CodeIgniter. Pada contoh kali ini akan diimplementasi bagaimana proses pengambilan data dari database (MySQL) dengan metode GET dengan request dari klien ke server tanpa melalui proses submit.
Continue reading CodeIgniter + JQuery + JSON

Value to Variable

Seringkali gw melihat kode fungsi yang dtuliskan seperti bawah ini

	function contoh_fungsi($a = NULL, $b = 8, $c = NULL, $d = 'D', $e = '150', $f = '30', $g = NULL, $h = 7200) {
		// bla ... bla ..
	}

Kode di atas benar, dan tentu aja gak salah sama sekali ^-^ . Tapi sungguh menyenangkan (bagi gw) jika disederhanakan lagi fungsinya menjadi :

       function contoh_fungsi($data = array()) {
		// bla ... bla ..
	}

Lho kok bisa? Continue reading Value to Variable

Menghindari duplikasi nama file saat proses upload

Seringkali kita membuat kode (PHP) untuk membuat upload file seperti di bawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Folder tempat isi file upload
$dir		= "upload/" ;
 
// Nama File yang diupload
$filename	= $_FILES['upload']['name'] ;
 
// Spesifikasi lokasi file yang akan diupload
$target_dir = $dir . $filename ;
 
// upload
if(move_uploaded_file($_FILES['upload']['tmp_name'], $target_dir))
	return TRUE ;
else 
	return FALSE ;

Kode di atas memiliki kelemahan, salah satunya adalah jika diupload file berkas.odt kedalam folder “upload“, dimana sebelumnya di dalam folder upload telah ada file berkas.odt, maka berkas.odt yang lama akan te-replace oleh berkas.odt yang baru. Mungkin tidak akan ada masalah jika file-file tersebut serupa dan sama. Tapi jika file-file tersebut serupa tapi tidak sama (maksudnya nama file sama tetapi isi atau konten di dalamnya berbeda), tentu proses Continue reading Menghindari duplikasi nama file saat proses upload

Tip dan Trik Optimasasi Query SQL (bag 1)

Misalkan gw punya tiga tabel di database yang mana ketiga database tersebut saling berhubungan , yaitu Tabel Mahasiswa , MataKuliah, dan Mahasiswa_MataKuliah .

Tabel Mahasiswa terdiri dari dua kolom , yaitu : ID_Mahasiswa dan Nama_Mahasiswa. Tabel MataKuliah terdiri dari dua kolom, yaitu ID_MataKuliah dan Nama_MataKuliah. Dan terakhir tabel Mahasiswa_MataKuliah yang terdiri dari ID_Mahasiswa dan ID_MataKuliah. Tabel terakhir menunjukkan hubungan antara Mahasiswa dan MataKuliah yang bersifat many to many, dimana satu mahasiswa bisa memiliki banyak mata kuliah dan begitu juga sebaliknya.

Continue reading Tip dan Trik Optimasasi Query SQL (bag 1)