September
4

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 Read More

March
27

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.

Read More

March
20

Umumnya jika membuat pagination di CI, dasarnya seperti ini :

class Blog extends Controller {
 
    public function  __construct() {
        parent::Controller();
    }
 
    public function index() {
        $this->load->library('pagination');
 
        $config['base_url'] = site_url('blog/index') ; 
        $config['total_rows'] = '200';
        $config['per_page'] = '20';
 
        $this->pagination->initialize($config);
 
        echo $this->pagination->create_links();
    }
 
}

 

Tautannya akan membentuk seperti ini :

www.example.com/blog/index/10

Dengan Blog sebagai nama class dan index sebagai nama method. Permasalahannya saat ini gw pengen menghapus nama methodnya, sehingga di URL akan kelihatan seperti ini :

www.example.com/blog/10

Cara dengan menambahkan method _remap() , source codenya akan seperti ini :

 class Blog extends Controller {
 
    public function  __construct() {
        parent::Controller();
    }
 
    public function index($page = 0) {
        $this->load->library('pagination');
 
        $config['base_url'] = site_url('blog') ; 
        $config['total_rows'] = '200';
        $config['per_page'] = '20';
        $config['cur_page'] = $page; // Halaman terakhir yang dilihat
 
        $this->pagination->initialize($config);
 
        echo $this->pagination->create_links();
    }
 
    // Method untuk menyederhanakan URI
    public function _remap($method) {
        $this->index($method) ;
    }
}

Pengembangannya selanjutnya diserahkan kepada pembaca. Happy coding!

January
2

Web Crawling

Posted In: IT-Q, PHP, Programming-Q by kohaci
Berbagai macam komponen sebuah web search engine (Manning et al. 2008)

Berbagai macam komponen sebuah web search engine (Manning et al. 2008)

Gambar di atas menjelaskan struktur dari web crawler dan indexing yang nantinya mendukung proses sistem mesin pencari. Pada tulisan kali ini hanya akan dibahas secara singkat tentang web crawling.

Read More

December
14

Pada tulisan kali ini akan diberikan contoh kode tentang bagaimana cara membuat sistem upload gambar dimana saat proses penyimpanan gambar ke sistem juga dilakukan proses modifikasi ukuran gambar ke medium dan thumbnail. Menggunakan framework PHP CodeIgniter dengan Library PHP yang digunakan adalah GD2.

Berikut struktur direktori khusus untuk upload gambar (optional) :

        uploads/
              real/
              medium/
              thumbnail/

Direktori “real” untuk menyimpan gambar dengan ukuran sebenarnya, “medium” dan “thumbnail” untuk menyimpan gambar yang telah mengalami proses resizing ke ukuran medium dan thumbnail. Read More

December
14

Fungsi utama dari highlight phrase ini adalah memberi penebalan/pewarnaan/tanda tertentu pada masukan string tertentu terhadap suatu teks. Contoh :

Teks :

Ini Budi, Kakak sedang pergi ke pasar menemani Ibu berbelanja. Setelah itu Kakak pergi ke toko membantu Ayah. Sedangkan Ibu sebelum ke rumah, akan pergi mengambil titipan pesanan baju di rumah Ibu Andi.

Masukan string : Ibu

Hasil :

Ini Budi, Kakak sedang pergi ke pasar menemani Ibu berbelanja. Setelah itu Kakak pergi ke toko membantu Ayah. Sedangkan Ibu sebelum ke rumah, akan pergi mengambil titipan pesanan baju di rumah Ibu Andi.

Pada contoh di atas masukan string yang ada di teks diberi penandaan berupa pewarnaan teks berupa warna merah.

Secara umum, highlight phrase ada dua metode. Agar lebih jelas berikut penerapannya di PHP. Read More

November
15

Berikut beberapa kutipan yang diambil dari ebook MySQL 5.0 Refernce Manual mengenai Stored Procedure and Function :

Stored routines (procedures and functions) are supported in MySQL 5.0. A stored procedure is a set of SQL statements that can be stored in the server. Once this has been done, clients don’t need to keep reissuing the individual statements but can refer to the stored procedure instead.

Some situations where stored routines can be particularly useful:

  • When multiple client applications are written in different languages or work on different platforms, but need to perform the same database operations.
  • When security is paramount. Banks, for example, use stored procedures and functions for all common operations. This provides a consistent and secure environment, and routines can ensure that each operation is properly logged. In such a setup, applications and users would have no access to the database tables directly, but can only execute specific stored routines.

Stored routines can provide improved performance because less information needs to be sent between the server and the client. The tradeoff is that this does increase the load on the database server because more of the work is done on the server side and less is done on the client (application) side. Consider this if many client machines (such as Web servers) are serviced by only one or a few database servers. (From : MySQL 5.0 Reference Manual)

Sorry, lagi malas terjemahin , semoga dapat dipahami (^-^)

Read More

November
12

Stored Procedure and Function

Posted In: IT-Q, PHP, Programming-Q by kohaci

Function di MySQL

Dimisalkan gw punya database dengan salah satu nama tabelnya adalah “provinsi”, dengan isi tabelnya adalah :

kode_prov nama_prov
11 NANGGROE ACEH DARUSSALAM
12 SUMATERA UTARA
13 SUMATERA BARAT
14 RIAU
15 JAMBI

Dengan dibantu bahasa pemrograman basis web (contoh di artikel ini memakai PHP) , ingin ditampilkan di browser keseluruhan tampilan isi tabel provinsi dari database (contoh di artikel ini memakai MySQL) dengan format tampilan berupa tabel. Dengan header kode_prov diganti dengan KODE PROVINSI dan nama_prov diganti dengan NAMA PROVINSI. Ada beberapa macam cara untuk menampilkannya, secara garis besar gw ambil dengan 2 cara, yaitu : Read More

August
20

Membuat Fungsi Seperator

Posted In: PHP, Programming-Q by kohaci

Berikut contoh sumber kode untuk fungsi separator (biasa digunakan untuk penjumlahan mata uang) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
/**
 * Created by. Kohaci
 * link  : http://www.kohaci.com/
 * email : freddy(underscore)august(at)yahoo(dot)co(dot)id
*/
 
function separator($num, $suffix = '') {
 
	$ina_format_number = number_format($num, 3, ',','.');
	$result = str_replace(',000',$suffix,$ina_format_number) ;
 
	return $result ;
}
 
// How To Use
$num   = "2000000" ;
 
echo separator($num) ; // output : 2.000.000
echo separator($num,',-') ; // output : 2.000.000,- 
 
?>

Good Luck !! (^-^)/

August
20

FusionCharts + CodeIgniter

Posted In: PHP, Programming-Q by kohaci

FusionCharts adalah komponen pemetaan dalam basis flash yang dapat digunakan untuk merender data dalam bentuk animasi grafik. Dengan basis Adobe Flash 8, 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.

Untuk lebih jelasnya tentang FusionCharts dapat diakses situs resminya di www.fusioncharts.com.

Berikut tata cara menggabungkan FusionCharts dengan CodeIgniter : Read More