[Tips] Cara Merezise Gambar dengan SimpleImage PHP Script

PHP adalah sebuah bahasa pemrograman web sisi server. Sebagai bahasa pemrograman sisi server, maka PHP juga memiliki kemampuan melakukan olah data baik berupa data text dan data gambar. Kemampuan ini terutama digunakan ketika PHP mengerjakan Gallery gambar, atau sebuah profil produk dimana harus tersedia gambar berbagai ukuran Pixel dan Byte nya. Sebagai contoh kasus adalah sebuah toko online, memiliki kebutuhan sisi admin dimana operator harus mampu melakukan upload gambar dengan ukuran berapapun, selanjutnya akan diatur oleh PHP dengan dipecah menjadi beberapa. Antara lain adalah menjadi gambar thumbnail, gambar medium dan gambar besar. Bayangkan saja jika halaman depan sebuah profil produk menampilkan banyak gambar dan gambar tersebut masih berukuran besar 800kb – 1mb, tentu akan memakan waktu dan juga quota bandwidth bagi client.

SimpleImage ini bisa disalin di http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/ dan silakan dijadikan sebuah file dengan nama SimpleImage.php. Namun menurut saya, ada beberapa revisi dari script tersebut. Yaitu pada bagian yang melibatkan $this->getheight(), diubah menjadi $this->getHeight(). Sehingga script SimpleImage ini menjadi seperti ini

CARA MENGGUNAKAN.
Cara menggunakan script ini sangat mudah. Yaitu:

  1. Melakukan include SimpleImage.php
  2. Membuka sebuah object dari Class SimpleImage
  3. Meload gambar
  4. Mengolah gambar
  5. Menyimpan gambar dengan format baru

CONTOH: Misalkan kita akan membuat sebuah form upload gambar, dimana ketika diupload, maka gambar di server akan muncul dengan format ukuran 400×400 dan juga thumbnail 120×120. Dengan demikian script menjadi seperti demikian :

PENJELASAN:
Ketika script dipanggil request, maka jika tidak terset input type upload alias karena belum ada POST, maka hanya akan ditampilkan form biasa. Selanjutnya jika telah diisi, dan diPOST, maka script akan terpanggil dengan kondisi terset POST. Selanjutnya akan di-include SimpleImage, menentukan variable file yang diupload, diload, diolah resize, dan disimpan pada tempat yang telah ditentukan pada save.

Berikut beberapa operasional yang disediakan oleh SimpleImage ini:

  1. Load
  2. Save
  3. Output
  4. GetWidth dan GetHeight
  5. Resize to Height dan resize to width
  6. Scale
  7. Resize

Dengan SimpleImage, selamat mencoba proses upload gambar dan melakukan operasional standard SimpleImage. Semoga bermanfaat. :)

[Contoh] Cara Cepat Mengubah Parameter method GET POST menjadi variable

Dalam pemrograman web, method GET POST tidak dapat dilepaskan dari proses pemrograman itu sendiri. Di samping itu ada juga pengambilan parameter $_SERVER[], $_SESSION, $_REQUEST, dan lain sebagainya. Biasanya kita akan mengubah isi parameter GET POST ini akan seperti contoh berikut

 

Atau dalam bentuk GET misal terdapat URL seperti demikian :

Maka kita akan melakukan inisiasi variabel menjadi

Atau GET dan POST tersebut dapat juga diganti dengan $_REQUEST. $_REQUEST dapat memetakan secara cerdas. Namun perlu diingat adalah aspek keamanan. Misalnya hindari juga penggunaan REQUEST untuk Login HTTP yang diproses menggunakan POST. Karena bisa jadi orang akan mengacak dengan menggunakan method GET yang jelas lebih cepat prosesnya.

Inisiasi Variabel melalui GET dan POST seperti itu dapat dengan mudah kita lakukan. Namun bayangkan jika dalam sebuah form pendataan korban bencana alam, atau pendataan kesehatan dimana satu form dapat lebih dari 50 isian, tentu akan beresiko salah. Cara paling mudah melakukannya adalah dengan perintah fungsi php extract();

extract() adalah mengurai Array menjadi variabel sesuai dengan nama parameternya. Pada dasarnya $_SESSION, $_SERVER, $_POST, $_GET, $_REQUEST, adalah array, maka dapat diextract dengan mudah. Ingin membuktikan? Salah satu pembuatan array adalah dengan menggunakan $variabel[], memberikan tanda kurung siku di belakang variabel array. Cobalah dalam halaman anda tampilkan array yang ada dengan

Misal : kita memiliki parameter POST

nama -> $_POST['nama']
alamat -> $_POST['alamat']
telepon -> $_POST['telepon']

Maka, tinggal extract

Maka nama parameter POST seluruhnya akan berubah menjadi nama variabel sesuai dengan nama parameternya. Syarat penggunaannya adalah : pastikan dalam halaman itu tidak ada variabel yang sama. Selamat mencoba, semoga sukses dan bermanfaat

[Contoh] Cara Mengexport Data SQL ke File Excel 2007 ( xlsx ) dari MySQL dengan PHP

Berdasarkan komentar saudara Dahlan di http://bimosaurus.com/2012/04/09/contoh-3-membuat-laporan-export-data-dari-mysql-ke-excel-terencoding-dengan-php-no-pear, maka saya coba paparkan tentang melakukan export konversi data dari SQL ke Excel 2007 dengan menggunakan PHP. Sehingga data yang berasal dari SQL dapat di download ke dalam bentuk Excel 2007

STRUKTUR XLSX / Excel 2007

Jika kita periksa sebuah file excel 2007 adalah sebuah file berformat kompresi zip. Jika anda rename, mengganti extensi file xlsx dengan zip, dan anda extract ke suatu tempat, maka file tersebut akan berisi beberapa direktori dan file berformat xml. Ya, Microsoft Office 2007 memang merancang format Office menjadi format yang mudah dikembangkan terutama untuk mendukung DotNet dan networking.

Lantas, apakah kita akan gunakan koding PHP bertele-tele untuk membuat aplikasi untuk memodifikasi XML tersebut? Untuk hal itu, kita tidak perlu koding sendiri, hanya perlu belajar dan menggunakan sebuah fungsi dari http://www.phpexcel.net/ atau http://phpexcel.codeplex.com/. Silakan download paket aplikasi fungsi PHP-Excel tersebut, dan extract dalam direktori DocumentRoot yang anda gunakan. Kira-kira struktur data akan berformat seperti demikian :

1.7.6/changelog.txt

1.7.6/Classes/

1.7.6/Documentation/

1.7.6/install.txt

1.7.6/license.txt

1.7.6/Tests/

Kita hanya membutuhkan sesuatu di dalam directori Classes. Untuk kasus yang saya pakai, saya melakukan pengkopian direktori Classes ke aplikasi web yang saya butuhkan menjadi

{direktori_aplikasi}libs/phpexcel/

 

BAGAIMANA MENGEKSPOR DATA KE DALAM XLSX?

Berikut satu script aplikasi PHP untuk melakukan Export ke dalam XLSX

 

Cobalah anda lakukan dalam percobaan anda. Nah, sekarang bagaimana apabila kita akan melakukan pengambilan data dari MySQL Server dengan PHP dan direstore ke dalam XLSX?

Berikut satu contoh programnya di bawah ini. Saya masih menggunakan table lama saya yaitu tabel pegawai dari database kepegawaian.

nip nama honor status_ambil
10001 Susanto Rp. 1000000 Belum
10002 Susanti Rp. 1000000 Sudah
10003 Marwoto Rp. 2000000 Sudah
10004 Gunadi Rp. 1500000 Belum
10005 Nur Eko Rp. 1000000 Belum

Nah bandingkan juga penulisan format export ke kolom excel, dengan artikel lalu http://bimosaurus.com/2012/04/09/contoh-3-membuat-laporan-export-data-dari-mysql-ke-excel-terencoding-dengan-php-no-pear. Pastikan juga bahwa direktori tujuan Export file tersebut, writeable untuk Webserver anda.

Selamat mencoba, silakan melakukan respon jika perlu direspon. Saya siapkan juga satu artikel untuk pembacaan file excel 2007 untuk diupload ke dalam webserver dan akan terkonversi menjadi SQL database. Segera.

[Contoh] Cara Membuat Grafik Multi Line / Banyak Garis dengan PHP, MySQL, dan JQuery HighChart

Berikut dalam posting ini akan dipaparkan contoh pembuatan grafik Multiline dengan Highchart. Saya juga menyiapkan dua artikel untuk keperluan Grafik dengan JQPLot dan JPGraph untuk kasus yang sama. Dalam contoh ini digunakan contoh dengan dua tabel, dimana satu tabel adalah tabel negara, dan tabel lainnya adalah tabel angka_kelahiran. Kira-kira SQL nya adalah seperti berikut:

Tabel negara

 

Tabel angka_kelahiran

Kemudian secara visual, tabelnya adalah seperti ini :

Tabel Negara:

id negara
1 Indonesia
2 Singapura
3 Malaysia
4 Jepang

Tabel Angka Kelahiran (sebagian)

id negaraId bulan kelahiran
1 1 Jan 100
2 1 Feb 120
3 1 Mar 130
4 1 Apr 110

 

Jika server yang anda gunakan terhubung dengan koneksi internet, saya sarankan untuk mengambil include script jquery dan highcart secara online saja, hal ini akan menghemat space disk anda, terutama jika anda menggunakan hosting. Disamping itu akan lebih menghemat bandwidth quota. Namun jika server web yang anda offline, maka asumsi saya adalah menggunakan hardisk, sehingga tidak begitu memberatkan space dan quota, maka gunakan saja file jquery secara offline.

Untuk server online, maka gunakan script ini pada include script anda:

 

 

Untuk server offline, maka gunakan ini, atau sesuaikan dengan lokasi yang anda gunakan

 

Untuk kasus pembuatan grafik angka kelahiran, saya melakukan query untuk mendapatkan array kota terlebih dahulu. Script lengkap pembuatan grafiknya adalah sebagai berikut:

Nah kira-kira hasil dari perbuatan script anda adalah seperti berikut :

Nah, selamat mencoba, semoga berguna, dan sampaikan terimakasih pada developer Highcart yang telah membuat tools yang mempermudah bagi para developer ini. :)

Anda perlu bantuan membuat tabel, dapat berkonsultasi dengan team kami secara gratis. Selama dapat dibantu diselesaikan, akan dibantu..

[Contoh] Cara Membuat Grafik Dasar Web Dengan JQuery HighChart

Jika posting lalu telah dikenalkan dasar pembuatan Grafik dengan menggunakan JQuery JQPlot, maka sekarang dikenalkan dengan competitor JQuery Graphing Web juga. Tools berbasis JQuery itu adalah : HighChart. HighChart ini sama saja sebenarnya dengan JQPlot. Hanya saja menurut saya, HighChart ini lebih enak dalam dasar penulisan notasi data yang perlu dituliskan. JQPlot memiliki notasi penulisan data seri yang akan berpotensi lebih bertele (ribet) daripada HighChart.

Contoh adalah jika kita tuliskan pada JQPlot seperti demikian:

dan pada HighChart adalah:

Sedangkan biasanya data dari PHP akan berupa array dari data sejenis. Contoh adalah :

Namun tidak menutup kemungkinan bahwa data yang tersedia akan lebih nyaman menggunakan JQPlot. Pemilihan Tools akhirnya tergantung pada selera dan kebutuhan. Pembuatan grafik JPGraph pun akan memiliki kelebihan sendiri. Antara lain jika penggunaan grafik sekaligus akan dibentuk Gambar JPEG/PNG. Meskipun Highchart juga dapat membentuk JPG, namun terdapat satu keunggulan JPGraph dalam masalah pembuatan image.

Penggunaan Highchart

Source HighChart dapat diambil di http://www.highcharts.com/ demo dan contoh serta docs terletak lengkap disana. Extract Highchart tersebut dalam satu folder tertentu. Dalam contoh di sini digunakan Highchart pada http://bimosaurus.com/demo/highchart/

Selanjutnya untuk dasar penggunaan Grafik Line, akan digunakan seperti berikut langkahnya

  • Include script JQuery
  • Membuat script dengan diarahkannya grafik pada elemen yang dikehendaki
  • Melakukan penyisipan script Highchart
  • Menentukan letak elemen tujuan

Kira-kira akan seperti berikut ini script untuk membuat baris:

Kira-kira grafik yang akan dibentuk adalah seperti demikian.

Nah, selamat mencoba babak pertama JQPlot VS HighChart ini.. Selanjutnya akan kita buat sebuah contoh pembuatan grafik dengan JQPlot dan Highchart yang datanya diambil dari dalam database

Selamat Mencoba..

[TIPS] Contoh Cara Membuat Grafik Standard HTML Sederhana

Pembuatan grafik ternyata tidak harus rumit dengan tools tertentu. Grafik masih bisa disiasati dengan menggunakan kombinasi teknik CSS dan HTML. Tentu saja tidak semua grafik dapat dibentuk, karena keterbatasan CSS dan HTML. Disini kita pelajari grafik yang mudah seperti grafik batang/bar, dimana seluruh value akan dibentuk dengan menggunakan Bar. Lihat contoh dibawah ini:

 

Calon 1
Calon 2
Calon 3
Calon 4
Calon 5

 

 

Contoh Grafik Pemilihan Kepala Desa

Pembuatan grafik ini ternyata tidak sulit. Yaitu hanya dengan melakukan pembuatan elemen DIV yang diberi warna tertentu, dan diberi panjang tertentu, yang tentu saja panjangnya nanti akan menyesuaikan dari dalam tabel asal.

Sebagai contoh, apa yang terjadi apa bila kita membuat sintaks seperti demikian:

Hasilnya tentu saja akan langsung seperti tabel di atas. Panjangnya batang akan mengikuti aturan width pada div yang bersangkutan. Grafik tersebut juga dapat kita kombinasikan dengan link href. Grafik tersebut dibuat dengan cara menempatkan sebuah elemen div yang berukuran panjang yang diatur dari database. Div tersebut juga harus rata kiri untuk dapat dibaca dengan jelas

Kita pun dapat membuat grafik dalam posisi vertikal. Hanya saja, karena tabel html memiliki karakter standard rata vertikal tengah, maka kita harus menambahkan valign=bottom

Sebagai contoh adalah sebagai berikut

Hasilnya akan menjadi seperti ini:

Calon 1 Calon 2 Calon 3 Calon 4 Calon 5

Nah ternyata cukup sederhana. Tinggal kita akhirnya dapat melakukan manipulasi angka tersebut dengan menggunakan PHP dan mengambil dari database server MySQL.

Untuk grafik lanjut berbasis image, dapat dilihat di :

http://bimosaurus.com/2012/04/21/contoh-cara-membuat-grafik-dengan-jpgraph-dengan-php-dan-mysql dan
http://bimosaurus.com/2012/04/19/contoh-1-dasar-membuat-grafik-dengan-jpgraph-di-php

Contoh Cara Membuat Sendiri Site Tracker Sederhana

Anda tentu sudah terbiasa dengan counter online semacam feedjit, atau sitetracker, hitwebcounter, dan lain sebagainya. Sebenarnya bagaimana sih cara kerjanya. Cara kerjanya adalah mereka menanam program atau gambar program yang kemudian akan ikut ter-hit jika web dibuka oleh seseorang. Google analytics dan alexa pun juga melakukan hal yang serupa. Mereka meminta kita menanam suatu program atau file ke dalam struktur web kita, selanjutnya mereka akan selalu tahu ketika web kita dibuka. Sebenarnya dapat dibuat sendiri program site tracker sendiri, karena ternyata memang Apache dan bahasa pemrograman sisi server juga mendukung dibuatnya program untuk trace ip tersebut.

Untuk mengenalnya anda dapat membuka halaman http://php.net/manual/en/reserved.variables.server.php. Di sana dikenalkan beberapa hal tentang variable $_SERVER. Cobalah anda membuat sebuah halaman bernama : serverku.php, dan isilah dengan command seperti berikut:

 

bukalah dari sisi client. Apa yang terjadi.

 

Selanjutnya, mari kita kenali beberapa variable penting untuk keperluan site trace tracker ini. Antara lain adalah:

  1. $_SERVER['HTTP_USER_AGENT']; = adalah mesin yang digunakan oleh pengakses, meliputi Operating System, Browser, dan versi yang ada. Tertangkap ketika mengakses file program tracer.
  2. $_SERVER['REMOTE_ADDR']; = adalah IP Pengakses file, tertangkap ketika mengakses program tracer
  3. $_SERVER['HTTP_REFERER']; = adalah halaman yang dibuka (yang mengangkut program trace ) tertangkap ketika mengakses program tracer
  4. $_SERVER['HTTP_X_FORWARDED_FOR']; adalah IP Lokal jika terdeteksi atau IP sebenarnya dibalik Proxy

Sebenarnya masih sangat banyak parameter yang bisa digunakan untuk melengkapi tracer/tracker IP ini. Namun kita hanya akan melakukan pengambilan dengan parameter ini saja dulu.

Selanjutnya kita akan buat dua buah program dengan PHP , yang pertama adalah tracker, yang kedua adalah tampilan untuk melihat hasil tracing IP. Untuk itu kita buat dulu tabel dalam sebuah database dengan susunan kira-kira sebagai berikut: nama database:trace, tabel: hits, dengan kolom

 

Tabel yang terbentuk kira-kira adalah seperti berikut:

No IP Page Waktu Mesin IP Lokal/Proxy
1 127.0.0.1 http://localhost/latihan1/anu.php 2012-04-23 15:12:38
2 127.0.0.1 http://localhost/latihan1/ 2012-04-23 15:11:39

Lantas kita buat program tracer / tracker dengan nama counter.php yang bertujuan melakukan inject ke dalam server database sebagai berikut:

 

Kemudian sisi penampil hasil dengan nama lihat.php dibuat sebagai berikut:

 

Selanjutnya bukalah http://namaserver/dir/counter.php. Dan lihatlah di http://namaserver/dir/lihat.php. Seharusnya anda telah melihat satu IP record baru. Kemudian secara simple, ternyata counter.php ini meskipun berekstensi PHP, namun tetap dapat diload sebagai image. Maka masukkan counter.php ini ke dalam salah satu widget blog anda dengan cara <img src=”http://namaserver/dir/counter.php”>. Setiap kali halaman dibuka, maka file counter.php akan ikut terpanggil dan melakukan proses. Untuk demo dapat diakses di http://bimosaurus.com/demo/lihat.php. Di mana setiap kali anda refresh, anda akan dapat melihat record dari database bertambah. Lihat juga view Source nya dari Browser anda atau tekan tombol Ctrl U. Anda akan mendapati bahwa saya menyisipkan counter.php dengan img src.

Untuk paging halaman lihat.php tidak saya buat, silakan dikembangkan sendiri yang mungkin literaturnya di dapat dari posting lalu http://bimosaurus.com/2011/09/13/simple-advanced-paging-php/ dan http://bimosaurus.com/2012/04/11/contoh-menyiasati-paging-dengan-jquery-jcarousel

Sebenarnya proses tersebut dapat dikembangkan lagi antara lain:

  • Menentukan asal network dan negara
  • Membuka seluruh variabel server yang ada
  • counter.php benar-benar akan berupa gambar
  • Menentukan IP Unik
  • Membuat Statistik
  • Membuat counter berdasar gambar
  • dan lain sebagainya

Namun untuk tahap ini adalah pengenalan dasar pembuatan site tracker. Tentu akan kita bahas di lain posting. Semoga bermanfaat.