Kategori
PHP

Fungsi Sorting (Pengurutan) Instan dengan PHP

Discussion Board : Menggunakan implementasi dari salah satu fungsi instan yang ada dalam PHP, yaitu fungsi sort.
Kebutuhan : Webserver Package, already installed. Tentu saja karena anda hanya akan menggunakan PHP, modul untuk mysql tidak harus anda instal.

Fungsi sort dalam PHP adalah fungsi yang dapat digunakan untuk mengurutkan data berbentuk array secara instan dalam PHP. Dalam tutorial kali ini kita akan membahas berbagai fungsi sort built in yang ada di PHP beserta contoh langsung penggunaannya.

1. Mengurutkan data angka secara ascending ( dari kecil ke besar )
Ketikkan script berikut.
[sourcecode language=”php”]
<?php
$data = array("3", "5", "12", "6");
sort($data);

print_r($data);
?>
[/sourcecode]

script diatas akan menghasilkan output sorting seperti berikut ini,
3
5
6
12
Seperti dapat dilihat pada contoh diatas, fungsi sort() akan melakukan sorting pada array dengan cara ascending. Untuk pengurutan kebalikannya, dapat dilihat pada contoh 2.

2. Mengurutkan data angka secara descending ( dari besar ke kecil)
Ketikkan script berikut.
[sourcecode language=”php”]
<?php
$data = array("3", "5", "12", "6");
rsort($data); //reverse sort

print_r($data);
?>
[/sourcecode]

script diatas akan menghasilkan output sorting seperti berikut ini,
12
6
5
3

3. Mengurutkan data huruf / string secara ascending ( urut abjad / alfabet )
Ketikkan script berikut.
[sourcecode language=”php”]
<?php
$data = array("apel", "jeruk", "jambu", "mangga");
sort($data);

print_r($data);
?>
[/sourcecode]

script diatas akan menghasilkan output sorting seperti berikut ini,
apel
jambu
jeruk
mangga

Dapat dilihat pada contoh diatas bahwa fungsi sort() juga dapat digunakan untuk data yang berbentuk string (yang penting string tersebut tersimpan dalam data array).

4. Mengurutkan data berdasar lebih dari 1 parameter
Misalkan anda memiliki data berikut,
nomor | umur
—————
1 | 12
3 | 11
2 | 12
4 | 15

kasus : anda ingin mengurutkan data diatas berdasarkan parameter 1 yaitu umur secara ascending, dan parameter ke 2 yaitu nomor secara descending.
Ketikkan script berikut.
[sourcecode language=”php”]
<?php
$data[] = array(‘nomor’ => 1, ‘umur’ => 12);
$data[] = array(‘nomor’ => 3, ‘umur’ => 11);
$data[] = array(‘nomor’ => 2, ‘umur’ => 12);
$data[] = array(‘nomor’ => 4, ‘umur’ => 15);

foreach ($data as $param => $row) {
$nomor[$param] = $row[‘nomor’];
$umur[$param] = $row[‘umur’];
}
array_multisort($umur, SORT_ASC, $nomor, SORT_DESC, $data);
?>
[/sourcecode]

script diatas akan menghasilkan output sorting seperti berikut ini,
11 3
12 2
12 1
15 4
Kesimpulannya adalah, apabila kita ingin mengurutkan data untuk lebih dari 1 array (lebih dari 1 parameter pengurutan), salah satu caranya adalah anda bisa menggunakan array_multisort()

happy coding 😀

Kategori
PHP

Code Igniter : Export Data ke File PDF

Studi Kasus : Export Data Mysql Database ke dalam file PDF dalam Code Igniter.
Kebutuhan :
1. Webserver package, already installed.
2. Code Igniter Bundle.
3. Cezpdf library –> download here

Adakalanya, ketika kita membuat aplikasi, kita akan membutuhkan untuk mengexport data ke dalam file pdf (selain dari file excel), misalkan untuk membuat surat atau laporan tertentu. Dengan library cezpdf (karya Wayne Munro ), membuat laporan dalam bentuk pdf tidak akan terlalu sulit.

A. Mempersiapkan Database
1. Buat database dengan nama db_tutorial.
2. Buat tabel dengan nama tb_member, dengan struktur tabel dibawah ini,

3. Insert-kan beberapa sample data dalam tb_member, misal seperti data dibawah ini,

4. Okay, done with database.

B. Mempersiapkan file dan struktur direktori
1. Install Codeigniter, dengan mengekstrak bundle CI dan menempatkannya dalam document root anda.
2. Atur setting database (system-application-config-database.php) dengan setting database yang akan digunakan (db name : db_tutorial)
3. Atur config base url (system-application-config-config.php)
4. Letakkan file cezpdf.php dan class.pdf.php (hasil download Cezpdf library diatas) dalam folder system-application-libraries
5. Letakkan file pdf_helper.pdf dalam folder system-application-helper.
6. Ok 😀

C. Membuat model
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<?php
class Member_model extends Model {
function Member_Model() {
parent::Model();
}
function alldata()
{
$this->db->select(‘*’);
$this->db->from(‘tb_member’);
$this->db->order_by(‘no’,’ASC’);
$getData = $this->db->get();
if($getData->num_rows() > 0)
return $getData->result_array();
else return null;
}
}
?>
[/sourcecode]
2. Simpan dengan nama member_model.php dalam folder system-application-models

D. Membuat Controller
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<?php
class Member_con extends Controller {
public function __construct() {
parent::__construct();
$this->load->model(‘member_model’);
$this->load->helper(‘url’);
}
public function index() {
$data[‘member’] = $this->member_model->alldata();
$this->load->view(‘member_view’, $data);
}

function topdf () {
$this->load->library(‘cezpdf’);
$this->load->helper(‘pdf’);
prep_pdf();
$data[‘member’]= $this->member_model->alldata();
$titlecolumn = array(
‘no’ => ‘no’,
‘name’ => ‘name’,
‘address’ => ‘address’
);
$this->cezpdf->ezTable($data[‘member’], $titlecolumn,’Member Data’);
$this->cezpdf->ezStream();
}
}
?>
[/sourcecode]
2. Simpan dengan nama member_model.php dalam folder system-application-models

E. Membuat View
1. Ketikkan script berikut ini,
[sourcecode language=”php”]
<h4>Member Data</h4>
<?php if(count($member) > 0) { ?>
<table border="1">
<tr>
<th>No</th>
<th>Name</th>
<th>Address</th>
</tr>
<?php
foreach($member as $rows) {
echo "<tr>";
echo "
<td>". $rows[‘no’]."</td>
<td>". $rows[‘name’] ."</td>
<td>". $rows[‘address’] ."</td>
"; } ?>
</table>
<?php } ?>
<br> <br>
<a href='<?php echo base_url(); ?>index.php/member_con/topdf’><span

style=’color:green;’>Export to Pdf</span></a>
[/sourcecode]2. Simpan dengan nama member_model.php dalam folder system-application-models

F. Testing code
1. Buka http://localhost/ci_tutor/index.php/member_con. Anda akan melihat data yang ada dalam tb_member seperti gambar dibawah ini,

2. Klik link export to pdf untuk mengeksport data ke dalam file pdf.
3. Maka secara otomatis browser anda (atau download manager) akan men-download file pdf.
4. Buka file pdf, anda akan melihat data dari tb_member tertampil dalam file pdf tersebut 🙂 Lihat gambar dibawah.

Happy coding 😀

Kategori
PHP

Fungsi – Fungsi String dalam PHP

Discussion Board : Pengenalan berbagai fungsi – fungsi String dasar (yang sering digunakan) dalam PHP beserta contoh penggunaannya.
Kebutuhan : Webserver Package, already installed.

Text adalah salah satu sumber unstructured data yang paling besar, karena sebagian besar informasi tersimpan dalam text, baik text dalam berbagai filetype (doc txt pdf dll) maupun web text (html). Dewasa ini semakin sering dilakukan riset yang melibatkan text, dan bidang ilmu komputer yang melibatkan text diantaranya adalah Natural Language Processing, Text (Web) Mining, ataupun Information Retrieval.

Berikut adalah beberapa fungsi text (string) dalam PHP yang akan sering digunakan apabila anda berkutat dengan penelitian yang melibatkan text processing.

1. Menambahkan slash (\) dalam string –> addslashes.
[sourcecode language=”php”]
<?php
$text = "This is Anne’s book.";
echo addslashes($text);
?>
[/sourcecode]
Output :
This is Anne\’s book.

Kenapa hal ini penting? Dalam pemrosesan teks, seringkali tanda quote (‘) akan menimbulkan eror ketika dilakukan parsing terhadap text tersebut, terutama ketika kita menggunakan regular expression.

2. Memecah string dengan string –> explode.
[sourcecode language=”php”]
<?php
$sentence = "My name is June";
$word = explode(" ", $sentence);
print_r($word);
?>
[/sourcecode]
Output :
Array
(
[0] => My
[1] => name
[2] => is
[3] => June
)

Explode akan memecah text dan membaginya ke dalam array, seperti contoh diatas, $text di-explode dengan string ” ” (spasi). Hal ini merupakan dasar dari algoritma tokenizing, yaitu memecah kalimat dalam kata – kata penyusunnya. Tokenizing akan sering sekali digunakan dalam text processing.

3. Menggabungkan array string dalam satu string –> implode.
[sourcecode language=”php”]
<?php
$arrayWord = array(‘This’, ‘is’, ‘a’, ‘sentence’);
$joinString = implode(" ", $arrayWord);
echo $joinString;
?>
[/sourcecode]
Output :
This is a sentence

Implode, seperti terlihat dari contoh diatas (contoh : array dalam contoh di-implode / digabung dengan menggunakan string spasi), merupakan kebalikan dari fungsi no 2 (explode). Fungsi implode memiliki alias, yaitu Join.

4. Memberikan nilai MD5 dari string –> md5.
[sourcecode language=”php”]
<?php
$string = ‘password’;
$stringMd5 = md5($string);
echo $stringMd5;
?>
[/sourcecode]
Output :
5f4dcc3b5aa765d61d8327deb882cf99

MD5 merupakan salah satu fungsi hash (kriptografi satu arah) yang cukup terkenal dan sering digunakan untuk security (meskipun sekarang sudah banyak md5 decryptor). Fungsi md5 seperti ini akan sering digunakan apabila kita membangun sebuah aplikasi yang memerlukan autentikasi (misal untuk login ke dalam sistem).

5. Menghilangkan HTML Tag dalam string –> strip_tags
[sourcecode language=”php”]
<?php
$text = ‘<b>June Susan</b> <i> June June</i>’;
echo strip_tags($text); echo ‘<br>’;
echo strip_tags($text, ‘<i>’); // Allow tag <i>
?>
[/sourcecode]
Output :
June Susan June June

Sebelum kita bisa memproses text dari web (yang biasanya berbentuk hypertext / html), maka kita harus “membersihkan” tag – tag html yang ada dalam text tersebut. Disinilah fungsi strip_tags berguna. Kita bisa menghilangkan seluruh tag, ataupun mengijinkan tag tertentu untuk tetap berada dalam text (lihat contoh).

6. Menghitung panjang string –> strlen.
[sourcecode language=”php”]
<?php
$string = ‘I am a superman’;
echo strlen($string);
?>
[/sourcecode]
Output :
15

Strlen menghitung jumlah karakter (panjang) dari string, spasi, dan simbol – simbol yang ada dalam string juga akan dihitung dalam fungsi strlen.

Happy coding, then! 😀

Kategori
PHP

Menampilkan Data dari Database dengan CodeIgniter + AJAX dalam Template JQuery UI

Studi Kasus : Membaca data dari database, menampilkan dalam JQuery UI Tab dengan AJAX.
Kebutuhan : Webserver package already installed.
File Download: 1. CodeIgniter. 2. JQuery. 3. JQuery UI Kalau belum pernah menggunakan UI ini, download saja tema yang sudah ada tanpa customize dulu. 4. Mic JQuery Template Plugin.
Skill khusus : PHP. Codeigniter.

A. Mempersiapkan Database
1. Buat database dengan nama db_tutorial.
2. Buat tabel dengan nama tb_book, dengan struktur tabel dibawah ini,

3. Insert-kan beberapa sample data dalam tb_book.
4. Buat tabel lagi dengan nama tb_member, dengan struktur tabel dibawah ini,

5. Insert-kan beberapa sample data dalam tb_member.
6. Okay, done with database.

B. Mempersiapkan folder kerja dan file – file yang dibutuhkan.
1. Persiapkan folder dengan nama ci_tutor dalam document root anda.
2. Ekstrak codeigniter dalam folder yang baru saja dibuat (disini file user_guide dalam CI saya hapus), dan atur config nya meliputi base_url, serta konfigurasi database dalam system-application-config-database.php
3. Buat tabel dengan nama cssjs, kemudian taruh file JQuery (file download 2) JQuery UI (hasil download file 3 : saya memilih template flickr), dan file Mic JQuery Template Plugin (file 4) ke dalam folder cssjs.
4. Struktur folder ci_tutor adalah seperti ini,

5. Struktur folder cssjs adalah seperti ini,

C. Model
1. Kita akan membuat model yang akan mengambil seluruh data yang ada dalam tb_book dan tb_member. Ketikkan script dibawah ini,

[sourcecode language=”php”]
<?php
class Book_model extends Model {

public function getBook() {
$query = $this->db->get( ‘tb_book’ );
if( $query->num_rows() > 0 ) {
return $query->result();
} else {
return array();
}
}

public function getMember() {
$query = $this->db->get( ‘tb_member’ );
if( $query->num_rows() > 0 ) {
return $query->result();
} else {
return array();
}
}
}
?>
[/sourcecode]

2. Simpan dengan nama book_model.php dan simpan dalam system-application-models.

D. Controller
1. Ketikkan script dibawah ini,

[sourcecode language=”php”]
<?php
class Book_con extends Controller {
public function __construct() {
parent::__construct();
$this->load->model(‘book_model’);
}
public function index() {
$this->load->view(‘book_view’);
}
public function readBook() {
echo json_encode( $this->book_model->getBook() );
}
public function readMember() {
echo json_encode( $this->book_model->getMember() );
}
}
?>
[/sourcecode]

2. Simpan dengan nama book_con.php dan simpan dalam system-application-controllers.

E. View
1. Ketikkan script dibawah ini,

[sourcecode language=”php”]
<html>
<head>
<title>ITX.WEB.ID</title>
<base href="<?php echo base_url(); ?>" />
<link type="text/css" rel="stylesheet" href="cssjs/flick/jquery-ui-1.8.2.custom.css" />
<link type="text/css" rel="stylesheet" href="cssjs/styles.css" />
</head>
<body>
<center><h2> Book & Member List</h2></center>
<div id="tabs">

<ul>
<li><a href="#read">Book List</a></li>
<li><a href="#read2">Member List</a></li>
</ul>

<div id="read">
<table id="tabel"></table>
</div>

<div id="read2">
<table id="tabel2"></table>
</div>

</div>

<script type="text/javascript" src="cssjs/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="cssjs/jquery-ui-1.8.2.min.js"></script>
<script type="text/javascript" src="cssjs/jquery-templ.js"></script>

<script type="text/template" id="readTemp">
<tr>
<td>${id}</td>
<td>${title}</td>
<td>${author}</td>
</tr>

</script>

<script type="text/template" id="readTemp2">
<tr>
<td>${no}</td>
<td>${name}</td>
<td>${address}</td>
</tr>

</script>

<script type="text/javascript" src="cssjs/all.js"></script>
</body>
</html>
[/sourcecode]

2. Simpan dengan nama book_view.php dan simpan dalam system-application-views.

F. Membuat file Javascript yang akan membaca record tabel dari server dengan AJAX.
1. Ketikkan script dibawah ini,

[sourcecode language=”javascript”]
$( function() {
$( ‘#tabs’ ).tabs({
fx: { height: ‘toggle’, opacity: ‘toggle’ }
});

$.ajax({
url: ‘index.php/book_con/readBook’,
dataType: ‘json’,
success: function( response ) {
$( ‘#readTemp’ ).render( response ).appendTo( "#tabel" );
}
});

$.ajax({
url: ‘index.php/book_con/readMember’,
dataType: ‘json’,
success: function( response ) {
$( ‘#readTemp2’ ).render( response ).appendTo( "#tabel2" );
}
});

});
[/sourcecode]

2. Simpan dengan nama all.js dan simpan dalam folder cssjs.

G. Mengatur tampilan
1. Ketik script berikut ini dan simpan dengan nama style.css

[sourcecode language=”css”]
body {
font-family: Arial, Helvetica, sans-serif;
}

#tabs {
font-size: .9em;
margin: 0 auto;
width: 800px;
}

.ui-widget-content {
font-size: .8em;
}

#tabel, #tabel2 {
font-size: 1.3em;
width: 100%;
}

#tabel tr:nth-child(2n) {
background: #EAEAEA;
}

#tabel tr:hover {
background: #CCCCCC;
}

#tabel td {
padding: 6px;
margin: 8px;
}
[/sourcecode]

H. Testing code
1. Pergi ke browser, dan jalankan http://localhost/ci_tutor/index.php/book_con/
2. Jika sukses, anda akan melihat tampilan di bawah ini.

3. Klik pada tab Member List, maka akan ditampilkan data member dari dalam tb_member

4. Silahkan berkreasi dengan JQuery UI yang lain 😀

Happy coding 😀

Kategori
PHP

Pembulatan Bilangan dalam PHP

Discussion Board : Salah satu fungsi penting dalam perhitungan matematika, yaitu melakukan pembulatan angka dengan PHP
Requirements : Webserver package, already installed.

Salah seorang teman yang sedang membangun sebuah ecommerce pernah bertanya seperti ini : “Bagaimana saya bisa membuat program bahwa, barang yang beratnya kurang dari 1 kg sampai 1 kg dianggap 1 kg, kemudian lebih dari 1 kg sampai 2 kg dianggap 2 kg, dan seterusnya?”
Masalah diatas dapat dituliskan seperti berikut :
1 >= berat > 0 —> dianggap 1 kg
2 >= berat > 1 —> dianggap 2 kg
dst..

Sebenarnya, masalah diatas bukanlah masalah yang rumit. Sama sekali tidak rumit malah. Contoh kasus diatas hanyalah salah satu contoh kasus yang bisa diselesaikan dengan mudah dengan Pembulatan. Dalam PHP, dikenal 3 fungsi matematika yang dapat digunakan untuk pembulatan, yaitu Ceil, Floor, dan Round.

1. Pembulatan keatas (Ceil).
Misalnya untuk kasus diatas

[sourcecode language=”php”]
<?php
$berat1 = 0.5;
$berat2 = 1.5;
$berat3 = 2;
echo ‘berat 1 =’.ceil($berat1); echo ‘<br />’;
echo ‘berat 2 =’.ceil($berat2); echo ‘<br />’;
echo ‘berat 3 =’.ceil($berat3);
?>
[/sourcecode]

Kalau script diatas dijalankan, maka outputnya adalah sebagai berikut,
berat 1 = 1
berat 2 = 2
berat 3 = 2
Jadi kesimpulannya adalah, fungsi PHP ceil akan melakukan pembulatan keatas pada angka yang diberikan. Fungsi ini akan menghasilkan nilai integer terdekat keatas dari angka.

2. Pembulatan kebawah (floor).
Floor digunakan untuk melakukan pembulatan ke bawah. Lihat contoh dibawah ini,

[sourcecode language=”php”]
<?php
$berat1 = 0.5;
$berat2 = 1.5;
$berat3 = 2;
echo ‘berat 1 =’.floor($berat1); echo ‘<br />’;
echo ‘berat 2 =’.floor($berat2); echo ‘<br />’;
echo ‘berat 3 =’.floor($berat3);
?>
[/sourcecode]

Script diatas akan menghasilkan output,
berat 1 = 0
berat 2 = 1
berat 3 = 2
Berkebalikan dengan ceil, floor akan melakukan pembulatan ke nilai integer terdekat kebawah dari suatu bilangan.

3. Pembulatan ke terdekat
ROUND membulatkan suatu bilangan ke nilai terdekatnya sesuai dengan jumlah deciman dibelakang koma yang diinginkan. Sebagai contoh,

[sourcecode language=”php”]
<?php
$berat1 = 0.58989;
$berat2 = 1.6;
$berat3 = 2.4;
echo ‘berat 1 =’.round($berat1, 2); echo ‘<br />’; // with 2 decimal
echo ‘berat 2 =’.round($berat2, 0); echo ‘<br />’; // 0 decimal
echo ‘berat 3 =’.round($berat3); // without parameter, so it will rounded in to the nearest integer
?>
[/sourcecode]

Jika dijalankan, maka script akan memberi output :
berat 1 = 0.59
berat 2 = 2
berat 3 = 2

Semoga membantu 😀 Happy coding 😀

Kategori
PHP

Efisien Code Menggunakan PHP Include

Discussion Board : Menggunakan Include untuk membuat listing code PHP lebih efisien.
Kebutuhan : Webserver Package, already installed.

INCLUDE, pada umumnya digunakan untuk code php yang akan sering digunakan, maksudnya adalah code yang akan sering ditulis berulangkali dalam membangun aplikasi atau coding apapun dalam PHP.

Kenapa menggunakan Include ?
1. Akan sangat tidak efisien apabila kita harus menulis code yang sama tersebut berulang kali.
2. Apabila terjadi kasus ada bagian dari code tersebut yang harus diubah, maka, sekali lagi, akan sangat tidak efisien apabila anda harus mengubah bagian yang salah tersebut satu per satu.

Dan sekali lagi, hal ini akan sangat redundant dan menghabiskan waktu serta memicu potensi terjadinya human error. Dengan menggunakan include, masalah – masalah diatas dapat diatasi.

Apakah Include itu?
Include adalah file PHP yang diselipkan dalam file PHP yang lain, pada umumnya include mengandung informasi yang akan berulangkali digunakan dalam code yang lain. Sebagai contoh, apabila anda ingin membangun navigasi situs yang harus ditampilkan dalam setiap halaman situs anda, maka anda cukup menulis code navigasi tersebut dalam satu file untuk kemudian meng-include nya dalam setiap halaman situs tersebut.

Studi Kasus : Menggunakan Include untuk Header dan Footer.

1. Membuat header.
Misalkan kita ingin menampilkan tanggal hari ini sebagai header. Ketikkan script dibawah ini.

[sourcecode language=”php”]
<?php
echo "This is a HEADER, And ";
echo "Today is ";
echo date("F d");
echo ", ";
echo date("Y");
?>
[/sourcecode]

Code date diatas akan menampilkan tanggal hari ini. Simpan script diatas dengan nama header.php.

2. Membuat footer.
Misalnya kita akan menampilkan copyright sebagai footer untuk situs kita. Ketikkan script dibawah.

[sourcecode language=”php”]
<?php
echo "Copyright by itx.web.id";
?>
[/sourcecode]

Simpan script diatas dengan nama footer.php

3. Menempatkan header dan footer dalam halaman situs.
Ketikkan script berikut.

[sourcecode language=”php”]
<?php
include "header.php";
echo "<h1> This is the BODY of site !</h1>";
include "footer.php";
?>
[/sourcecode]

Misalkan kita ingin menempatkan header dibagian atas halaman situs, maka code untuk header.php harus diinclude dibagian atas code juga (diatas body). Begitu juga untuk footer, karena terletak dibagian bawah halaman, maka code footer.php juga ditempatkan dibagian bawah code.

4. Hasilnya?
Jalankan body.php, maka akan ditampilkan gambar seperti berikut.

p.s. OHYA, simpan semua file php diatas dalam satu folder. Ok, haapy cooding yah 😀

Kategori
PHP

Melewatkan Variable antar Halaman PHP dengan URL dan Session

Studi Kasus : Melewatkan variable antar halaman dalam PHP dengan PHP Session.
Kebutuhan : Webserver Package, already installed.

Untuk kasus kali ini, asumsikan bahwa anda akan membuat aplikasi login dimana untuk halaman – halaman berikutnya setelah user tersebut login, anda ingin terus menyapa user tersebut. Tentu saja, anda harus menyimpan variable nama dari user tersebut kan? Pada dasarnya, terdapat empat cara untuk melakukan hal ini, yaitu :
1. Melewatkan variable dalam URL.
2. Melalui Session.
3. Via Cookie dan,
4. Dengan HTML Form.

Tutorial kali ini akan membahas mengenai point ke satu dan dua dari empat cara diatas, yaitu melewatkan variable melalui gabungan dari URL dan Session.

1. Ketikkan script dibawah ini (namai script1.php).

[sourcecode language=”php”]
<?php
session_start();
$_SESSION[‘username’] = "June";
?>
<html>
<head>
<TITLE>Just A Sample – ITX.WEB.ID</TITLE>
</head>
<body>
<?php
$mybook = "My Name is June";
echo "<a href=’mybook.php?book=$mybook’>";
echo "Click here to see your book!";
echo "</a>";
?>
</body>
</html>
[/sourcecode]

Perhatikan bahwa dalam script diatas, variable username kita assign secara manual (asumsi : bahwa user telah login dan username telah disimpan dalam session). Jadi, cara untuk menyimpan value dalam session adalah dengan syntax berikut :
$_SESSION['username'] = "June";

Sedangkan, variable book akan dilewatkan melalui URL. Syntax nya adalah sebagai berikut :
mybook.php?book=$mybook, dengan variable mybook telah diassign sebelumnya.

Setelah dijalankan, script diatas akan memberikan output sebagai berikut :
Click here to see your book!

2. Ketikkan script berikut (simpan dengan nama mybook.php). Script berikut adalah script dari link output script 1 diatas. Script ini yang akan membaca variable yang telah dilewat melalui URL dan Session.

[sourcecode language=”php”]
<?php
session_start();
echo "<h2> Welcome to your Book, ";
echo $_SESSION[‘username’];
echo "! </h2> <br>";
echo "Your favorite book is ";
echo $_REQUEST[‘book’];
echo "<br>";
?>
[/sourcecode]

Perhatikan bagian diatas. Dari script1.php, kita tahu bahwa kita telah melewatkan 2 buah variable, yaitu variable book dan variable username, dengan masing – masing value nya adalah My Name is June untuk variable book, dan June untuk variable username.
Maka cara membaca kedua variable tersebut adalah :
1. Membaca variable book (yang dilewatkan via URL) : $_REQUEST['book'].
2. Membaca variable username (yang dilewatkan via Session) : $_SESSION['username'].

Klik link yang dihasilkan script1.php, maka anda akan diarahkan ke halaman script 2 (mybook.php), dengan tampilan seperti gambar dibawah ini.

Haaaapy Coding 😀

Kategori
PHP

Regular Expression (Regex) dengan PHP

Discussion Board : Mengenal Regular Expression dalam PHP, beserta contoh – contoh kasus singkat dari penggunaan PHP Regex.
Requirement : webserver package, already installed (atau sebenarnya PHP saja sudah cukup, tanpa mysql atau apache).

Regex? What it is?
Regular Expression (Regex) adalah suatu konsep pencocokan pola (pattern matching) di dalam suatu string. Pada umumnya, regular expression digunakan untuk validasi (dalam sebuah pembangunan sistem informasi), atau digunakan untuk proses pengolahan teks (text processing). Namun, adakalanya regular expression juga sering digunakan dalam Information Retrieval.

Tutorial – tutorial dibawah ini akan mengkover kasus – kasus yang bisa ditangani dengan Regex, sebagai contoh pattern matching dengan menggunakan Regex.

1. Apakah pattern “indomie” ada dalam string?

[sourcecode language=”php”]
$string = ‘iloveindomieverymuch’;

$isMatch = preg_match("/indomie/", $string); //here the regex

echo $isMatch;
[/sourcecode]

Script diatas akan menghasilkan output “1” karena pattern “indomie” ada dalam string “iloveindomieverymuch”. Dapat dilihat, bahwa preg_match akan menghasilkan nilai boolean 1 apabila ditemukan matching, dan 0 apabila tidak ditemukan.

2. Apakah string dimulai dengan pattern “ilove” ?
Untuk pengecekan awal string, dapat digunakan simbol ^

[sourcecode language=”php”]
<?php
$string = ‘iloveindomieverymuch’;
isMatch = preg_match("/^ilove/", $string)

if($isMatch) {
echo ‘The string begins with ilove’; //if there’s a match
}
else {
echo ‘The string does not begin with ilove’; //if there isn’t match
}
?>
[/sourcecode]

Script diatas akan menghasilkan output seperti berikut,
The string begins with ilove

3. Apakah string diakhiri dengan pattern “much” ?
Dapat digunakan pattern $, atau mungkin lebih baik dengan seperti dibawah ini,

[sourcecode language=”php”]
<?php
$string = ‘iloveindomieverymuchactually’;
isMatch = preg_match("/much\z/i", $string)

if($isMatch) {
echo ‘The string ends with much’; //if there’s a match
}
else {
echo ‘The string does not end with much’; //if there isn’t match
}
?>
[/sourcecode]

Apabila dijalankan, script diatas akan memberikan output sebagai berikut,
The string does not end with much
Hal ini dikarenakan preg_match memberikan nilai 0, karena string tidak memenuhi rule yang ditetapkan dengan regex.

4. String, termasuk huruf atau angka?
Script dibawah akan mengecek apakah suatu kata termasuk number (angka), ataukah tersusun dari huruf (name).

[sourcecode language=”php”]
<?php
$word= ‘ALAN’;
if(preg_match("/^[A-Z]/", $word)) {
$type = ‘name’;
}
else if(preg_match("/^[0-9]/", $word)) {
$type = ‘number’;
}
echo $type;
?>
[/sourcecode]

Output yang mungkin dihasilkan dari script diatas adalah sebagai berikut,
name

Namun apabila kita mengganti $word diatas dengan string “1231”, maka akan dihasilkan output,
number

Tutorial diatas hanya memberikan contoh melakukan regular expression dengan preg_match. Tentu ada yang lain, dalam PHP sendiri untuk penggunaan regular expression dapat digunakan dengan fungsi – fungsi seperti preg_match_all, ereg, eregi, ereg_replace, preg_replace.
… dan lain-lain.

Untuk cheatsheet PHP regular expression, dapat dikunjungi disini.

Ok, Happy Coding 😀

Kategori
PHP

Pemrograman Berorientasi Object dengan PHP

Discussion Board : Mengenal konsep pemrograman berorientasi objek dalam PHP, terutama class dan inheritance.
Kebutuhan : webserver package, already installed (atau sebenarnya PHP saja sudah cukup, tanpa mysql atau apache).

Menurut Wikipedia.Com, Pemrograman Berorientasi Object adalah paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam class atau object.

Kunci dalam OOP adalah object. Object dapat dikatakan sebagai kumpulan variabel dan fungsi (yang mana dalam OOP, variabel disebut sebagai properties, dan fungsi disebut sebagai method) yang dikumpulkan dalam satu entitas. Method digunakan untuk memanipulasi data dalam object, properties adalah bagian yang mengandung informasi mengenai data tersebut.

Untuk tutorial kali ini kita akan membahas mengenai 2 konsep dasar dalam OOP, yaitu Class, dan Inheritance.

Class.
Class adalah representasi dari object, didalam class terdapat method dan properties. Langsung saja kita membuat class (simpan dengan nama student.class.php, dan letakkan semua script dalam tutorial kali ini dalam satu folder yang sama).

[sourcecode language=”php”]
<?php
class student {

public $name;
public $address;

/*constructor, adalah function yang akan selalu dijalankan ketika sebuah object diinstansiasi / diciptakan. Apabila sebuah class harus menjalankan sebuah fungsi tertentu sebelum menjalankan suatu code, maka disinilah tempat untuk menaruh fungsi tertentu tersebut (biasanya untuk memanggil library). */

public function __construct(){
echo ‘Student’s Data.<br />’;
}

public function show_name {
echo ‘Student’s name is : ‘.$this->name.'<br/>’;
}

public function show_address {
echo ‘Student’s address is : ‘.$this->address.'<br/>’;
}

}
?>
[/sourcecode]

Yup, kamu telah membuat sebuah class. Untuk bisa menggunakan class tersebut, kita perlu membuat, atau menginisialisasi sebuah object dari class tersebut. Sekarang, mari kita mencoba membuat sebuah object dari class Student diatas.

[sourcecode language=”php”]
<?php
$student1 = new student; //this create new object in the class student named object student1

//assigning data into properties
$student1->name = ‘Alan’;
$student1->address = ‘Temari Street, 15’;

//call the method
$student1->show_name();
$student1->show_address();

?>
[/sourcecode]

Script diatas akan menghasilkan output kira2 seperti ini,

Student’s Data
Student’s name is : Alan
Student’s address is : Temari Street, 15

Inheritance.
Inheritance adalah kemampuan untuk meng-extend class yang akan mewarisi semua karakter dari parent class nya. Dalam hal ini, class yang mewarisi disebut child class.

[sourcecode language=”php”]
<?php
include(‘student.class.php’);

class newstudent extends student {
privat $register_number;

public function show_register_number () {
echo ‘Student’s Register Number is : ‘.$this->register_number.'<br/>’;
}

}
?>
[/sourcecode]

Dapat dijelaskan bahwa object murid baru (new student) tentunya memiliki properti yang berbeda dengan object murid (student), dimana untuk murid baru memiliki properti register_number (nomor pendaftaran) yang tidak dimiliki oleh object murid. Sedangkan object murid baru memiliki semua karakter yang dimiliki oleh object murid. Disinilah konsep Inheritance berguna. Daripada harus membuat sebuah class baru untuk object murid baru, kita bisa meng-extend nya dari Object yang telah ada, yaitu object murid, dengan menambahkan properti dan method khusus untuk object murid baru tersebut.

Dalam kasus ini,
object student (murid) –> parent class
object newstudent (murid baru) –> child class

Untuk menggunakan child class tersebut dapat dicoba dibawah ini,

[sourcecode language=”php”]
<?php
$student2 = new newstudent; //this create new object in the class student named object student1

//assigning data into properties
$student2->name = ‘June’;
$student2->address = ‘Kebangkitan Street, 28’;
$student2->register_number = ‘193-123-111’;

//call the method
$student1->show_name();
$student1->show_register_number();
?>
[/sourcecode]

Script diatas kira-kira akan menghasilkan output seperti berikut,

Student’s Data
Student’s name is : June
Student’s address is : Kebangkitan Street, 28
Student’s register number is : 193-123-111

Sekian 😀 Semoga tutorial diatas dapat memberikan konsep dasar untuk Pemrograman berorientasi object dengan PHP, walopun -tentunya- masih sangat kurang untuk anda yang ingin mempelajari OOP.

Happy Coding 😀

Kategori
PHP

Menghitung Karakter TextArea dalam Form dengan PHP

Studi Kasus : Membuat script untuk menghitung karakter yang tertulis dalam textarea
Kebutuhan : WebServer Package, already installed.

Mungkin kita pernah menemukan aplikasi web sms, yaitu aplikasi yang digunakan untuk mengirim sms via aplikasi web. Disini kita tidak akan membahas mengenai pemrosesan sms, namun kita akan membahas mengenai interface yang digunakan dalam mengirim sms, biasanya berbentuk textarea, yang akan memberikan batasan terhadap sejumlah karakter tertentu yang telah ditentukan (pada sms, umumnya adalah 160 karakter)
Nah. Bagaimana cara kita menghitung karakter yang tertulis dalam textarea?

Dengan Javascript.

Step 1 : Persiapkan Folder Kerja

  1. Buat folder dengan nama tutorial dalam document root anda
  2. Simpan semua file dalam praktikum ini dalam folder tutorial tersebut.

Step 2 :Membuat Form Textarea

  1. Ketikkan script berikut,
    [sourcecode language=”php”]
    <html><head>
    <title>Itx.Web.Id</title>
    <script type="text/javascript" src="cek_karakter.js"></script>
    </head>
    <body>
    <form name=form method=post>
    <h3> Write Your Message Here </h3>
    <textarea onKeyPress=cek_karakter(this.form); onKeyDown=cek_karakter(this.form); name=teks rows=4 cols=30></textarea>
    <br> <br>
    <input size=1 value=10 name=total>
    </form>
    </body>

    </html>
    [/sourcecode]

  2. Simpan dengan nama hitung_textarea.php

Step 3 : Membuat Javascript untuk Menghitung panjang Karakter

  1. Ketikkan script berikut,
    [sourcecode language=”javascript”]
    function cek_karakter(form) {
    maks = 10; // max character
    if (form.teks.value.length >= maks) {
    var message = "0 Character Left ! "; //alert if character limit reacher
    alert(message);
    form.teks.value = form.teks.value.substring(0, maks); //trim the textarea
    }
    else {
    form.total.value = maks – form.teks.value.length;} //count the character
    }
    [/sourcecode]
  2. Simpan dengan nama cek_karakter.js


Step 4 : Testing Code

  1. Pergi ke http://localhost/tutorial/hitung_karakter.php. Anda akan melihat form yang telah anda buat, dengan batasan karakter adalah 10 (bisa anda setting sendiri)
  2. Coba ketikkan sesuatu dalam textarea, maka counter akan mulai menghitung mundur, dan ketika batasan karakter telah dicapai, maka muncul alert seperti gambar dibawah