Sunday, October 17, 2010

FlashBack Php yukk.. (part II)


-- Fungsi-fungsi String di PHP --

Sumber: Aplikasi Web Database Dengan PHP dan MySQL, karya Yahya Kurniawan, S.T., penerbit Elex Media Komputindo).

Giliran berikut dari rangkaian fungsi yang kita bahas adalah fungsi-fungsi String, yang digunakan untuk mengolah tipe data string atau memberikan tampilan dengan format tertentu. Beberapa fungsi-fungsi string yang akan kita bahas adalah:

Fungsi Echo() Dan Print()
Fungsi ini merupakan fungsi yang sangat sering dijumpai dalam PHP, karena fungsi ini digunakan untuk menampilkan suatu string atau teks ke browser. Sintaksnya adalah sebagai berikut:

Echo(string)
Print(string)

Fungsi Htmlentities()
Fungsi ini digunakan untuk menghentikan proses penerjemaahan tag HTML oleh browser, sehingga tag HTML akan dibiarkan muncul seperti apa adanya, tanpa diterjemahkan oleh browser. Sintaksnya adalah sebagai berikut:

Htmlentities(string)

Contoh:

$str = “ Klik Di Sini ”;
$result = htmlentities($str);
echo “$str”;
echo “$result”;
?>
 
Fungsi Strstr(), Stristr(), dan Strchr()
Ketiga fungsi ini digunakan untuk mencari keberadaan suatu string di dalam string lain. Sintaksnya adalah sebagai berikut:

Strstr(tujuan,pencari)
Stristr(tujuan,pencari)
Strchr(tujuan,pencari)

Dari ketiga fungsi tersebut, hanya stristr() yang tidak bersifat case sensitive. Parameter tujuan adalah string yang dicari oleh pencari. Hasil yang didapat adalah mulai dari karakter pencari pertama yang ditemukan sampai akhir string tujuan. Jika string pencari tidak terdapat pada string tujuan, maka fungsi akan menghasilkan nilai False.
Contoh:

$email = “user@domain.com”;
$domain = strstr($email,’@’);
// echo $domain akan menghasilkan “@domain.com”

Fungsi Strlen()
Fungsi ini digunakan untuk mengukur panjang karakter sebuah string. Sintaksnya adalah sebagai berikut:

Strlen(string)

Sebuah spasi akan dihitung sebagai sebuah karakter.
Contoh:

$str = “The quick brown fox jumps over the lazy dog”;
$pj = strlen($str)
// variabel $pj bernilai 43

Fungsi Strrev()
Fungsi ini digunakan untuk membalik urutan karakter-karakter penyusun string dari depan ke belakang menjadi dari belakang ke depan. Dengan kata lain fungsi ini digunakan untuk membaca string secara terbalik.

Strrev(string)

Contoh:

$str = “Belajar PHP itu mudah”;
echo strrev($str);
// hasilnya adalah “hadum uti PHP rajaleB”

Fungsi Str_replace()
Fungsi ini digunakan untuk mengganti suatu string dengan string yang lain. Sintaksnya adalah sebagai berikut:

Str_replace(yang_diganti,pengganti,tujuan)

Parameter yang_diganti menunjukkan string yang akan diganti.
Parameter pengganti menunjukkan string yang akan menggantikannya.
Parameter tujuan adalah string secara keseluruhan yang didalamnya mengandung string yang_diganti. Bisa juga merujuk pada variabel tertentu yang berisi sebuah string.

Contoh:

$str = “Belajar PHP itu sulit”;
echo str_replace(“sulit”, “mudah”, $str)
// hasilnya adalah “Belajar PHP itu mudah”

Fungsi Substr()
Fungsi ini digunakan untuk mengambil atau memotong suatu bagian sebuah string dan menampilkannya sebagai sebuah string tersendiri. Sintaksnya adalah sebagai berikut:

Substr(string,mulai[,panjang])

String akan diambil atau dipotong mulai dari karakter yang terletak pada nomor yang ditunjukkan oleh parameter mulai dengan jumlah sebanyak angka yang ditunjukkan oleh parameter panjang.
Contoh:

$rest = substr ("abcdef", 1); // menghasilkan "bcdef"
$rest = substr ("abcdef", 1, 3); // menghasilkan "bcd"

Parameter mulai juga dapat diisi dengan negatif. Jika negatif, maka perhitungan dimulai dari karakter yang paling belakang. Contoh:

$rest = substr ("abcdef", -1); // menghasilkan "f"
$rest = substr ("abcdef", -2); // menghasilkan "ef"
$rest = substr ("abcdef", -3, 1); // menghasilkan "d"

Fungsi Strtolower() dan Strtoupper()
Kedua fungsi ini digunakan untuk mengkonversi string menjadi huruf kapital semua atau huruf kecil semua. Sintaksnya adalah sebagai berikut:

Strtolower(string)
Strtoupper(string)

Contoh:

$str = “StrINg inI terDiRi DARi hurUF beSAr dan KECIl”;
echo strtolower($str);
// hasilnya adalah: “string ini terdiri dari huruf besar dan kecil”
echo strtoupper($str);
// hasilnya adalah: “STRING INI TERDIRI DARI HURUF BESAR DAN KECIL”

Fungsi Strpos()
Fungsi ini digunakan untuk mengetahui posisi sebuah string di dalam string yang lain. Sintaksnya adalah sebagai berikut:

Strpos(tujuan,pencari)

Jika pada string tujuan terdapat lebih dari satu karakter yang dicari oleh karakter pencari, maka karakter pertama yang ditemukan yang akan dipakai. Contoh:

$str = “bambang”;
$cari = strpos($str,”b”);
// echo $cari akan menghasilkan 0

Perhatikan bahwa sangat mudah terjadi kebingungan antara karakter yang ditemukan pada posisi ke nol dengan karakter tidak ditemukan. Oleh karena itu diperlukan suatu cara untuk membedakannya, sebagai berikut:

// pada PHP 4.0b3 dan terbaru:
$pos = strpos ($str, "b");
if ($pos === false) { // perhatikan jumlah tanda = ada 3
echo “Tidak ditemukan”;
}

// pada PHP sebelum 4.0b3:
$pos = strpos ($str, "b");
if (is_string ($pos) && !$pos) {
echo “Tidak ditemukan”;

Mungkin saja Anda bingung, untuk apa sih semua fungsi-fungsi tersebut? Memang saat diterangkan fungsi-fungsi tersebut nampaknya hanya untuk main-main string saja, tetapi nanti jika pembahasan kita telah masuk lebih dalam dan mulai membangun sebuah aplikasi web, fungsi-fungsi tersebut baru akan nampak kegunaannya. Tetapi tidak mungkin membangun suatu aplikasi web tanpa belajar dasarnya dulu, bukan?
Selamat belajar kawan :)
 
Read more »

Thursday, October 14, 2010

Membangun Aplikasi CRUD Php Menggunakan Framework CakePhp dengan Konsep Model-View-Controller Bag. II

Nah, Setelah bag. pertama waktu lalu kita membahas tentang bagaimana instalasi FrameWork CakePhp, maka kita akan lanjutkan dengan menampilkan hello world pada cakePhp (kalau ada yg blm berhasil, hrs berhasil dlu ya .. hehee..)

MVC dalam cakephp itu terdiri dari 4 komponen, tp kita akan belajar dlu 3 komponen sebagai dasarnya, yaitu :
1. Model
2. View
3. Controller

ke tiga komponen ini sudah ada dalam folder root anda di http://localhost/MyAppCake

skarang buat controller baru dengan nama : "HelloWorldController" dan isi kode berikut :

class HelloWorldController extends AppController {

var $name = 'HelloWorld';

function index() {
$tampil = "Hello World";
$this->set("tampil", $tampil);
}

nah lalu simpan di App/Controller

setalah itu buat file di app/views dengan nama : "HelloWorld.ctp" lalu ketik kode berikut :



maka akan tampil : "Hello World"..

selamat mencoba :)
Read more »

FlashBack Php yukk.. (part I)

Sudah mulai terbiasa dengan PHP? OK, kali ini kita belajar lebih dalam lagi.
nah, bagaimana cara skrip PHP mengambil keputusan dengan struktur kontrol If. Struktur kontrol If ini memiliki beberapa variasi, yaitu:

If
If ... Else
If ... ElseIf ... Else

1. If (kondisi) {
pernyataan;
pernyataan;
}

Sebagai contoh penggunaan struktur kontrol If ini akan diberikan sebuah skrip yang sederhana sebagai berikut:

");
if ($tes == true) {
echo('Teks ini muncul karena nilai $tes = true');
}
?>
Simpan dengan nama if.php. Jika nilai $tes Anda ganti dengan false, maka yang muncul pada browser hanyalah tulisan “Nilai $tes =”. Mengapa demikian? Skrip PHP menggantikan nilai true dengan 1 dan false dengan 0 atau tidak ada nilai sama sekali.
Perhatikan baik-baik fungsi echo() yang muncul pada skrip tersebut. Ada tiga fungsi echo() yang muncul, dua yang pertama menggunakan tanda petik ganda dan yang terakhir menggunakan tanda petik tunggal. Anda bisa perhatikan perbedaan yang terjadi pada hasil yang muncul di browser.
Perhatikan juga tanda sama dengan pada pernyataan if ($tes == true) ada dua! Hal ini berbeda dengan pernyataan pada bagian awal skrip yaitu $tes = true. Pernyataan $tes = true adalah pemberian nilai variabel, sehingga tanda sama dengannya hanyalah satu. Tapi pada pernyataan if ($tes == true) sifatnya adalah membandingkan apakah nilai $tes adalah true, sehingga tanda sama dengannya ada dua. Jangan sampai Anda lupa pada aturan ini, karena PHP mendukung pemberian nilai variabel langsung pada sebuah pernyataan. Jadi jika Anda menuliskan if ($tes = true) – hanya dengan satu tanda sama dengan – itu sama artinya dengan memberi nilai $tes dengan true. Akibatnya struktur kontrol if tersebut akan selalu bernilai true sehingga jalannya skrip secara keseluruhan akan salah.
Bentuk kedua dari struktur kontrol if adalah if ... else. Sintaks dari struktur kontrol ini adalah sebagai berikut:

If (kondisi) {
pernyataan1;
} else {
pernyataan2;
}

Penggunaan struktur if ... else mirip dengan penggunaan struktur if, namun memiliki kelebihan yaitu alternatif tindakan apabila kondisi yang dihadapi tidak sesuai. Sebagai contoh akan diberikan penggunaan skrip PHP untuk menentukan apakah sebuah bilangan bersifat genap atau ganjil.




Pada skrip tersebut terdapat operator dengan karakter persen (%) yang berarti adalah modulus. Modulus adalah proses pembagian dua bilangan dengan mengambil sisa pembagian sebagai hasilnya. Jadi jika ada persamaan y = 10 % 3, berarti nilai y adalah 1 karena 10 dibagi 3 menghasilkan 3 dengan sisa pembagian 1. Dalam skrip di atas penentuan apakah sebuah bilangan merupakan bilangan ganjil atau genap adalah dengan membaginya dengan dua. Jika sisa pembagian adalah 1 maka bilangan tersebut adalah bilangan ganjil. Jika tidak – artinya sisa pembagian adalah 0 – maka bilangan tersebut adalah bilangan genap.
Bentuk ketiga dari struktur kontrol if adalah if ... elseIf ... else. Struktur ini juga hampir sama dengan kedua struktur di atas, hanya saja memberikan lebih banyak kemungkinan kondisi dan keputusan yang diambil. Sintaksnya adalah sebagai berikut:

If (kondisi1) {
Pernyataan1;
} Elseif (kondisi2) {
Pernyataan2;
. . .
} Elseif (kondisiN) {
PernyataanN;
} else {
pernyataan;
}

Contoh penggunaan If…ElseIf…Else adalah sebagai berikut:


");
echo("\$b = $b BR>");
if ($a < $b) { echo('$a lebih kecil daripada $b'); } elseif ($a == $b) { echo('$a sama dengan $b'); } else { echo('$a lebih besar daripada $b'); } ?>

Simpanlah skrip tersebut dengan nama elseif.php. Jika dijalankan pada browser hasilnya akan nampak seperti gambar 3.
Pada contoh di atas dibandingkan dua buah bilangan yaitu a dan b. Proses pembandingan tersebut akan memberikan 3 kemungkinan, yaitu a lebih kecil daripada b, a sama dengan b, dan a lebih besar daripada b.
Struktur kontrol if juga mengenal bentuk alternatif. Bentuk alternatif tersebut adalah dengan mengganti tanda kurung kurawal ({}) dengan tanda titik dua (:) dan di akhir blok ditutup dengan endif. Jadi contoh ketiga di atas dapat dituliskan dengan bentuk sebagai berikut:

"");
echo("\$b = $b BR>");
if ($a < $b) : echo('$a lebih kecil daripada $b'); elseif ($a == $b) : echo('$a sama dengan $b'); else: echo('$a lebih besar daripada $b'); endif; ?>
mudahkan ?? :)
Read more »

Sunday, October 3, 2010

Bake dan Scaffolding Pada CakePhp

Dalam website resmi CakePhp(http://www.cakephp.org) Cakephp disebut sebagai Rapid Application Framework Salah satu alasannya adalah karena Cake memiliki fitur Scaffold dan Bake.

Bake
adalah fitur CakePhp yang mampu menggenerate model, view, dan controller (MVC) secara otomatis sesuai dengan database yang ada pada konfigurasi. Bake cocok digunakan sebagai template, karena Bake akan otomatis menghasilkan kode kode umum yang sering digunakan (kode kode CRUD) yang bisa diubah ataupun ditambahkan sesuai kebutuhan.

Untuk menggunakan fitur ini cukup mudah masuklah pada direktori cake/scripts pada instalasi CakePhp lalu ketikkan ketikkan “php bake.php”. Misal akan dibuat aplikasi yang menggunakan tabel Log.

Contoh penggunaan Bake pada pembuatan model

[M]odel[C]ontroller[V]iewPlease select a class to Bake: (M/V/C)>m—————————————————————

Model Bake:
—————————————————————
Possible models based on your current database:

1. Log

Enter a number from the list above, or type in the name of another model.

> 1

Would you like to supply validation criteria for the fields in your model? (y/n)[y]

> n

Would you like to define model associations (hasMany, hasOne, belongsTo, etc.)? (y/n)[y]

> n

—————————————————————
The following model will be created: —————————————————————

Model Name: Log

DBConnection: default

Model Table: logs

Validation: Array

(

)
—————————————————————
Look okay? (y/n)

[y] > y

Creating file /var/www/html/cake//app/models/log.php

File /app/models/log.php exists, overwrite? (y/n/q):y

Do you want to bake unit test files anyway? (y/n)[y] > n

Hasil eksekusi bake di atas akan

menghasilkan file app/model/log.php


Contoh penggunaan bake pada pembuatan controller

Please select a class to Bake: (M/V/C)> c---------------------------------------------------------------

Controller Bake:
---------------------------------------------------------------

Controller name? Remember that Cake controller names are plural.

> logs

Would you like bake to build your controller interactively?

Warning: Choosing no will overwrite Logs controller if it exist. (y/n)[y]

> y

Would you like this controller to use other models besides ‘Log’? (y/n)[n]

> n

Would you like this controller to use other helpers besides HtmlHelper? (y/n)[n]

> n

Would you like this controller to use any components? (y/n)[n]

> n

Would you like to include some basic class methods (index(), add(), view(), edit())? (y/n)[n]

> y

—————————————————————


The following controller will be created:

—————————————————————

Controller Name: logs

—————————————————————

Look okay? (y/n)[y]

> y

Creating file /var/www/html/cake//app/controllers/logs_controller.php

File /app/controllers/logs_controller.php exists, overwrite? (y/n/q):y

Wrote /app/controllers/logs_controller.php


Cake test suite not installed.

Do you want to bake unit test files anyway? (y/n)[y]

> n

Hasil pengeksekusian di atas akan menghasilkan file

app/controllers/Logs_Controller.php


Penggunaan bake pada pembuatan view

Please select a class to Bake: (M/V/C)---------------------------------------------------------------

View Bake:

---------------------------------------------------------------
Controller Name? (plural)

> logsWould you like bake to build your views interactively

?Warning: Choosing no will overwrite views if it exist.

(y/n)[y]

> y

Would you like to create some scaffolded views (index, add, view, edit) for this controller?

NOTE: Before doing so, you’ll need to create your controller and model classes

(including associated models). (y/n)[n]

> y

Creating file /var/www/html/cake//app/views/logs/index.thtml

Wrote /app/views/logs/index.thtml

Creating file /var/www/html/cake//app/views/logs/view.thtml

Wrote /app/views/logs/view.thtml

Creating file /var/www/html/cake//app/views/logs/add.thtml

Wrote /app/views/logs/add.thtml

Creatingfile /var/www/html/cake//app/views/logs/edit.thtml

Wrote /app/views/logs/edit.thtml—————————————————————Note:- If you’re using a non-domain install, change URL pathsfrom /controller/action to /cake_install/controller/action—————————————————————View Scaffolding Complete.

Pengeksekusian di atas akan menghasilkan file file :


app/views/logs/add.thtml
app/views/logs/index.thtml
app/views/logs/edit.thtml
app/views/logs/view.thtml

Scaffolding memiliki fungsi yang hampir sama denganBake, hanya saja dengan scaffolding tidak ada kode yang mesti kita buat hanya membuat kelas model dan controller. Lalu mendeklarasikan variabel scaffold pada controller.
Contoh model yang menggunakan fitur scaffolding



Contoh controller yang menggunakan fitur scaffolding




Kedua kelas di atas akan otomatis menghasilkan aplikasi web sederhana dengan kemampuan CRUD (Create Update Delete).

Kesimpulan:

CakePhp adalah sebuah Rapid ApplicationFramework yang bisa mempercepat
pembuatan sebuah aplikasi web. Salah satu fitur yang dimiliki CakePhp
adalah Bake dan Scaffolding. Dengan Bake dapat dibuat template untuk
masing masing model, view, dan controller sehingga developer tidak
perlu membuat kode dari awal. Sedang Scaffolding sangat berguna dalam membuat aplikasi web sederhana dengan fitur CRUD.
Read more »