FUNGSI Oya Suryana http://ozs.web.id Lisensi Dokumen : Copyright © 2013 ozs.web.id Dokumen ini dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari penulis.
Didalam bahasa pemrograman apapun selalu dikenal apa yang disebut dengan fungsi, pada beberapa bahasa pemrograman tertentu bahkan selain fungsi ada juga yang disebut dengan procedure. Perbedaan utamanya terletak dari nilai balik yang dihasilkan, procedure tidak memberikan nilai balik ketika dieksekusi sedangkan fungsi memberikan nilai balik ketika dieksekusi. Sedangkan pada php sendiri procedure tidak dikenal, seluruhnya baik yang memberikan nilai balik maupun yang tidak dinamakan dengan fungsi. Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Fungsi merupakan elemen utama dalam bahasa PHP karena bahasa PHP sendiri terbentuk dari kumpulan fungsi- fungsi. Fungsi banyak diterapkan dalam program-program PHP yang terstruktur. Keuntungan penggunaan fungsi dalam program yaitu program akan memiliki struktur yang jelas (mempunyai readability yang tinggi) dan juga akan menghindari penulisan bagian program yang sama. Dalam bahasa PHP fungsi dapat dibagi menjadi dua, yaitu
built in function (fungsi bawaan) dan user defined function (fungsi yang dibuat oleh
programmer).
1.1.Built in Function (Fungsi Bawaan PHP) Adalah fungsi-fungsi yang telah disediakan oleh php sehingga programmer cukup memanggilnya ketika memerlukan fungsi yang dimaksud. Dari tipe datanya maka fungsi bawaan dibagi menjadi : a. Fungsi MySQL
Tujuan Fungsi Mysql DI PHP adalah untuk mengambil data di MySQL, sebelum memberikan perintah sql dan mengambil data maka harus dilakukan koneksi terlebih dahulu, untuk melakukan koneksi ke mysql dari php, php menyediakan fungsi-fungsi bawaan yang dibutuhkan untuk mengelola database di MySQL. Untuk memulai tutorial dibawah ini sebaiknya anda siapkan sebuag database dengan nama db_siswa, dan buat sebuah tabel dengan nama data_siswa dengan syntax sebagai berikut :
CREATE TABLE IF NOT EXISTS data_siswa ( no_induk char(3) PRIMARY KEY, nama_depan varchar(30) , nama_belakang varchar(30) , nama_ot varchar(30), hoby varchar(20), alamat varchar(75) ); Masukan data kedalam tabel data_siswa dengan syntax sql :
INSERT INTO data_siswa (no_induk, nama_depan, nama_belakang, alamat) VALUES ('001', 'Ade', 'Dadan', 'Kuningan'), ('002', 'Budi', 'Setiabudi', 'Cigadung'), ('003', 'Cepi', 'Sunarya', 'Cileuleuy'), ('004', 'Dede', 'Rahmana', 'Awirarangan'); Setelah siap database dan tabel, saatnya meakukan query ke database melalui php. Secara umum berikut adalah fungsi-fungsi MySQL yang sering digunakan : 1. Mysql_connect Fungsi bawaan dari php untuk mengkoneksikan dengan database MySQL, adapun syntax penggunaan adalah sebagai berikut :
$variabel_hasil_koneksi=mysql_connect(mysql_host,mysql_user,mysql_pass word) Keterangan hasil_koneksi = variabel yang digunakan untuk menampung hasil koneksi ke server, nama variabel boleh diubah, hasil yang diperoleh adalah berupa true atau false, ketika koneksi berhasil maka variabel state bernilai true dan jika gagal terkoneksi maka bernilai false
Mysql_host = IP atau nama komputer atau PC yang terinstal MySQL Mysql_user= user yang akan mengakses MySQL server, misal root Mysql_password=password untuk user yang akan mengakses MySQL Dari format diatas beriktu adalah contoh script-nya : Contoh script diatas berarti anda membuat script untuk melakukan koneksi ke server database dengan nama host (komputer) localhost menggunkan user root dengan password 123. Ketika dijalankan maka akan tampak seperti gambar dibawah ini :
Gb. 2.1 Membuat Koneksi ke MySQL Script diatas sama dengan perintah mysql ketika anda akan melakukan konkesi dengan mysql client dengan perintah : C:\xampp\mysql\bin>mysql –u root –p Enter your password : ***
2. mysql_select_db fungsi ini digunakan untuk memilih / membuka dan menggunakan (Use) salah satu database yang ada di MySQL Server, perintah ini membutuhkan variabel koneksi agar database dapat dipilih dan digunakan, adapun syntax nya adalah :
mysql_select_db(nama_database,hasil_koneksi);
sebagai contoh, menyambung dari fungsi mysql_connect, setelah berhasil terkonesi ke server maka selanjutnya memilih database (misal) database employees untuk dikelola, maka syntak nya adalah sebagai berikut : Perhatikan script diatas setelah sukses terkoneksi maka kita akan menggunakan database employees dan hasil select database disimpan dalam sebuah variabel $hasil_select_db, jika ditemukan database employees maka perintah select sukses dijalankan dan kini ada sedang membuka database employees, namun jika tidak ditemukan database employees maka variabel $hasil_select_db akan bernilau false dan menampilkan pesan tidak ada database employees. Script diatas jika dijalankan akan tampak :
Gb. 2.2 Select database gagal
Gb. 2.3. Database ditemukan didalam server database MySQL 3. mysql_query Syntak mysql_query digunakan untuk mengirimkan perintah SQL melalui script PHP, format dasarnya adalah : $variabel_hasil=mysql_query(“perintah sql”); Contoh :
* from data_siswa");
if ($perintah_sql) { echo "perintah sql
benar";} else { echo "perintah sql
salah"; } ?>
Gb. 2.4. Contoh ketika perintah sql benar 4. mysql_fetch_array Syntak yang digunakan untuk mengambil hasil dari perintah query (mysql_query) berupa baris array satu dimensi. Syntax nya : $variabel_array=mysql_fetch_array(mysql_query(“perintah query”)); Contoh :
//use
$hasil_query=mysql_query("select * from data_siswa where no_induk='1001'"); $baris_array=mysql_fetch_array($hasil_query); ?> Nomor Induk :
Nama Lengkap :
Tempat, Tanggal Lahir : ,
Alamat :
Gb. 2.5. Menampilan data dari MySQL ke Browser
Contoh diatas adalah contoh ketika data yang dihasilkan diyakini hanya memiliki satu baris data, namun apabila data yang akan ditampilkan lebih dari satu baris, maka contoh syntaxnya adalah sebagai berikut :
No. Urut | No Induk | Nama Lengkap | Tempat, Tanggal Lahir | Alamat |
"; while ($baris_array=mysql_fetch_array($hasil_query)) { $no_urut++; echo "
$no_urut | $baris_array[no_induk] | $baris_array[nama_depan] $baris_array[nama_belakang] | $baris_array[tempat_lahir], $baris_array[tgl_lahir] | $baris_array[alamat] |
"; } echo ""; ?> Maka hasilnya akan tampak :
//use
Gb. 2.6. Hasil dari mysql_fetch_array multi row 5. mysql_num_rows Untuk menghitung jumlah baris (banyaknya data) dari hasil perinta sql (mysql_query), merupakan padanan perintah di mysql ‘select count(*) form nama_table’ , perhatikan contoh berikut : Jumlah Baris data dalam table : baris ?> b. Fungsi Date Dalam membangun aplikasi PHP, fungsi date akan sering sekali digunakan. Contoh sederhananya, kita akan menggunakan fungsi date untuk menghitung usia, lama kerja dan lain-lain. Berikut ini adalah beberapa contoh penggunaan fungsi date/time yang sering digunakan dalam develop aplikasi dengan php. 1. Menampilkan Hari Ini ( Current Date ) dengan berbagai format Asumsi : hari ini adalah Kamis, 25 November 2010 Format : 2010-11-25 Codenya adalah : date("Y-m-d"); Format : November 25, 2010, 8:17 PM
Code : date("F j, Y, g:i a"); Untuk lebih lengkapnya tentang output format dari date, lihat pada daftar berikut : a
- "am" or "pm" A - "AM" or "PM"
B
- Swatch Internet time
d
- day of the month, 2 digits with leading zeros; i.e. "01" to "31" D - day of the week, textual, 3 letters; i.e. "Fri"
F
- month, textual, long; i.e. "January"
g
- hour, 12-hour format without leading zeros; i.e. "1" to "12" G - hour, 24-hour format without leading zeros; i.e. "0" to "23" h - hour, 12-hour format; i.e. "01" to "12"
H
- hour, 24-hour format; i.e. "00" to "23" i - minutes; i.e. "00" to "59"
I
- (I besar) "1" if Daylight Savings Time, "0" otherwise. j - day of the month without leading zeros; i.e. "1" to "31"
l
- (L kecil) day of the week, textual, long; i.e. "Friday"
L
- boolean for whether it is a leap year; i.e. "0" or "1" m - month; i.e. "01" to "12"
M - month, textual, 3 letters; i.e. "Jan" n
- month without leading zeros; i.e. "1" to "12" s - seconds; i.e. "00" to "59"
S
- English ordinal suffix, textual, 2 characters; i.e. "th", "nd" t - number of days in the given month; i.e. "28" to "31"
T
- Timezone setting of this machine; i.e. "MDT" U - seconds since the epoch
w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday) Y - year, 4 digits; i.e. "1999" y
- year, 2 digits; i.e. "99"
z
- day of the year; i.e. "0" to "365"
Z
- timezone offset in seconds (i.e. "-43200" to "43200")
2. Penghitungan Rentang/Selisih Tanggal Biasanya digunakan untuk menghitung usia, masa kerja dan sejenisnya, adapun contoh scriptnya adalah sebagai berikut :
date("Y", $diff) - $base_year, "months_total" => (date("Y", $diff) - $base_year) * 12 + date("n", $diff) - 1, "months" => date("n", $diff) - 1, "days_total" => floor($diff_secs / (3600 * 24)), "days" => date("j", $diff) - 1, "hours_total" => floor($diff_secs / 3600), "hours" => date("G", $diff), "minutes_total" => floor($diff_secs / 60), "minutes" => (int) date("i", $diff), "seconds_total" => $diff_secs, "seconds" => (int) date("s", $diff) ); } $tgl1 = '1989-06-06'; $tgl2 = date("Y/m/d/ h:m:s"); $a = datediff($tgl1, $tgl2); echo 'tanggal 1 = '.$tgl1; echo '
'; echo 'tanggal 2 = '.$tgl2; echo '
'; echo 'Selisih = '.$a[years].' tahun '.$a[months].' bulan '.$a[days].' hari '.$a[hours].' jam '.$a[minutes].' menit '.$a[seconds].' detik'; ?> Script diatas akan menghasilkan contoh output seperti gambar dibawah ini :
Gb. 2.7. Hasil perhitungan selisih antara dua tanggal
c. Fungsi String Fungsi string didalam php digunakan untuk memanipulasi string. String sendiri merupakan sebuah nilai dari variable atau konstanta. Terkadang string yang ada disajikan oleh program ingin ditampilkan berbeda dengan aslinya, missal semula huruf besar otomatis diubah menjadi huruf kecil, atau sebaliknya. Bahkan memotong teks berdasarkan parameter yang ditentukan. Berikut secara umum fungsi string yang sering digunakan. 1. Echo Fungsi echo digunakan untuk menampilkan teks dan atau syntax-syntax html didalam browser, contoh penggunaannya sebagai berikut : Echo.php echo di PHP"; ?> Jika dijalankan maka hasilnya sebagai berikut :
Gb. 2.8. Hasil dari fungsi echo 2. addslashes Addslases berfungsi menambahkan karakter backslash sebelum karakter kutip satu (‘), kutip dua (“) dan tanda backslash (\) sendiri didalam sebuah string. Fungsi ini akan sangat berguna untuk memasuan data yang mengandung ketiga karakter diatas, dan jika tidak digunakan maka proses input data akan error dan data tidak akan pernah dapat dimasukan kedalam database. Berikut contoh sebuah nama yang akan disimpan kedalam database MySQL.
addslash.php $nama
Nama yang akan dimasukan ke database bukan
$nama tetapi
$nama_ke_db"; ?> Ketika dijalankan maka hasilnya akan tampak seperti berikut :
Gb. 2.9. Hasil fungsi addslashes 3. stripslashes Fungsi stripslashes merupakan kebalikan dari fungsi addslahses, kalau fungsi addslahses berfungsi untuk menambahkan tanda slash s(\) sebelum karakter single quote (‘), double quote(“), slash (\), sedangkan fungsi stripslash digunakan untuk menghilangkan tanda slash pada karakter yang mengandung karakter slash. Biasanya fungsi ini digunakan untuk menampilkan data dari database yang mengandung karakter slash kedalam browser, sehingga tampilan dibrowser lebih nyaman untuk dibaca. Untuk jelasnya perhatikan contoh dibawah ini. $nama
Nama yang akan disimpan ke database bukan
$nama tetapi
$nama_ke_db"; echo "
"; echo "Nama yang diambil dari database
$nama_ke_db Tetapi akan ditampilkan di browser dengan stripslahes menjadi
".stripslashes($nama_ke_db).""; ?> Ketika dijalankan dibrowser akan tampak seperti pada gambar berikut :
Gb. 2.10. Hasi fungsi stripslashes 4. Explode Fungsi explode merupakan fungsi yang berguna untuk memecah serangkaian kalimat atau text berdasarkan tanda pemecah tertentu, tanda pemecah bersifat flexiber karena merupakan parameter input didalam fungsi explode. Fungsi explode akan merubah serangkaian text menjadi sebuah array sehingga hasil pemisahan dipanggil dengan format pemanggilan array. Untuk jelasnys perhatikan contoh berikut : exlode.php Index ke- adalah : ".$hasil_explode[1]; ?> 5. htmlentities Fungsi htmlentities digunakan mem-bypass tag-tag html sehingga tag-tag html tidak akan diproses oleh browser tetapi akan ditampilkan apa adanya seperti tampilan text biasa. FUngsi ini bisa digunakan sebagai bentuk pertahanan sekuritas atas serangan html injection agar halaman web tidak dapat di deface oleh hacker. Berikut contoh penggunaan html entities. htmlentities.php
defaced by me
";
echo htmlentities($str); ?> Ketika dijalankan akan tampak seperti berikut :
Gb. 2.11. Hasil dari fungsi htmlentitis 6. number_format Number_format digunakan untuk memformat angka menjadi format yang diinginkan sesuai dengan lokal seting, misla untuk local seting inggris pemisa ribuan ditandai dengan tanda koma dan pemisah decimal dengan tanda titik, atau format prancis tanda ribuan menggunakan spasi dan decimal menggunakan tanda koma sedangkan di Indonesia tanda pemisah ribuan menggunakan tanda titik sedangkan tanda decimal dipisahkan dengan tanda koma, sebagi contoh perhatikan script dan hasilnya dibawah ini. number_format.php Format Francis : '.$francis_format; echo '
Format Inggris (tanpa pemisah ribuan) : '.$english_format_2; echo '
Format Indonesia : '.$indonesia_format; ?>
'); ''); '.'); tanpa desimal) :
Jika dijalankan maka hasilnya akan tampak seperti pada gambar dibawah ini, perhatikan tanda pemisah ribuan dan decimal pada masing-masing format !
Gb. 2.12. Hasil fungsi number_format 7. nl2br Fungsi nl2br digunakan untuk merubah penekanan tombol enter (new line) menjadi tag html
(break) sehingga otomatis akan ditampilkan sebagai baris baru, seolah-olah kita membuat tag
pada sekumpulan string padahal kita hanya menekan tombol enter untuk berpindah baris, nl2br sendiri sebagai akronim dari new line to break. Untuk jelasnya perhatikan contoh script dibawah ini : '.$string; echo '
'; echo 'String ditampilkan dengan fungsi nl2br :
'.nl2br($string); ?> Jika dijalankan maka script diatas akan menghasilkan tampilan sebagai berikut :
Gb.2.13. Hasil dari fungsi nl2br dan tanpa nl2br 8. str_repeat
Fungsi ini digunakan untuk mengulang string sebanyak n kali, contoh penggunaan adalah bagaimana membuat garis vertical dari sebuah karakter sama dengan (=) sebanyak 100 karakter sama dengan (=) sehingga kita tidak perlu mengetik karakter sama dengan (=) sebanyak 100 kali namun cukup mengulang karakter sama dengan (=) sebanyak 100 x, perhatikan contoh dibawah Ini ! str_repeat.php Hasilnya jika script tersebut dijalankan akan menghasilkan tampilan seperti berikut :
Gb. 2.14. Hasil fungsi str_repeat 9. str_replace Fungsi str_replace digunakan untuk menganti strinf dengan string lain yang telah didefinisikan, untuk jelasnya silahkan perhatikan contoh script dibawah ini. str_replace.php
= "You should eat fruits, vegetables, and fiber every day.";
$sehat = array("fruits", "vegetables", "fiber"); $lezat
= array("pizza", "beer", "ice cream");
$kata_baru = str_replace($sehat, $lezat, $kata);
$str = str_replace("o", "", "good golly miss molly!", $hitung); echo echo echo echo echo echo echo ?>
$hanya_konsonan; '
'; $kata; '
'; $kata_baru; '
'; $hitung;
Dari contoh diatas str_replace bisa digunakan untuk mengganti karakter lama dengan karakter baru bahkan bisa digunkan untuk menganti array lama dengan array baru, serta untuk mencari berapa karakter yang telah dilakukan penggantian. Jika script diatas dijalankan maka akan tampil hasilnya seperti tampak pada gambar dibawah ini :
Gb. 2.15. Hasil string replace 10.strtolower Fungsi strtolower digunakan untuk merubah string dari huruf capital menjadi huruf kecil. Berikut contoh penggunaan strtolower. Strtolower.php String Asal : '.$string_asli; echo '
'; echo '
String dengan fungsi strtolower : '.strtolower($string_asli); ?> Jika file tersebut dijalankan maka hasilnya akan tampak seperti berikut :
Gb. 2.16. Hasil fungsi strtolower 11.strtoupper Fungsi strtoupper merupakan kebalikan dari fungsi strtolower dimana fungsinya akan merubah semua huruf kecil menjadi huruf capital, perhatikan contoh script dibawah ini, Strtoupper.php String Asal : '.$string_asli; echo '
'; echo '
String dengan fungsi strtoupper : '.strtoupper($string_asli); ?> Maka jika script tersebut dijalankan hasilnya akan tampak seperti pada gambar berikut :
Gb. 2.17. Hasil fungsi strtoupper 12.ucfirst Fungsi ucfirst digunakan untuk merubah setiap awal paragraf menjadi huruf capital, untuk jelasnya perhatikan contoh script berikut. Ucfirst.php String Asal : '.$string_asli; echo '
'; echo '
String dengan fungsi ucfirst : '.ucfirst($string_asli);
?> Jika file tersebut dijalankan maka hasilnya akan tampak seperti pada gambar berikut :
Gb. 2.18. Hasil fungsi ucfirst 13.ucwords Berbeda dengan ucfirst, ucwords digunakan untuk merubah setiap awal kata menjadi huruf besar, fungsi ini cocok digunakan untuk membuat judul sebuah artikel atau nama orang, judul buku, dan lain-lain. Untuk jelasnya perhatikan contoh berikut : Ucwords.php String Asal : '.$nama; echo '
'; echo '
String dengan fungsi ucword : '.ucwords($nama); ?> Jika dijalankan maka hasil dari script diatas akan tampak seperti pada gambar berikut :
Gb. 2.19. Hasi ldari fungsi ucwords 14.substr Fungsi substr digunakan untuk mengambil sebagian karakter dari sebuah rangkaian string, missal dari 10 karakter diambil 3 karakter dari awal atau diambi 3 karakter setelah karakter ke-4. Untuk jelasnya perhatikan contoh script dibawah ini :
Substr_1.php Nama bulan format panjang : '.$nama_bulan; echo '
'; echo '
Nama bulan format pendek : '.substr($nama_bulan,0,3); ?> JIka script diatas dijalankan maka hasilnya akan tampak seperti berikut :
Gb. 2.20. Hasil fungsi substr Atau perhatikan contoh yang kedua berikut ini : Substr_2.php Nomor Surat : '.$nomor_surat; echo '
'; echo '
Nomor urut surat : '.substr($nomor_surat,0,3); echo '
'; echo '
Yang menerbitkan surat urut surat : '.substr($nomor_surat,4,8); echo '
'; echo '
surat tersebut dikeluarkan bulan : '.substr($nomor_surat,13,2); echo '
'; echo '
surat tersebut dikeluarkan tahun : '.substr($nomor_surat,16,4); ?> Jika script yang kedua dijalankan maka akan tampak seperti pada gambar berikut :
Hasil fungsi substr
2.2.User Defined Function Seperti kita ketahui PHP menyediakan banyak fungsi bulit in seperti fungsi date, fungsi time, fungsi string dan fungsi lainnya. Namun dari sekian banyak fungsi ternyata kita juga membutuhkan fungsifungsi yang tidak terdapat dalam bawaan php (fungsi built in), jadi mau tidak mau kita harus membuat fungsi sendiri atau istilah keren nya user defined function (UDF). Namuan apa sebenarnya tujuan kita membuat fungsi ? tujuan utama adalah menghemat pengetikan script php yang berulang ulang dan menyederhakan penulisan syntax program. Ketika program sudah mulai bertambah kompleks maka penggunaan fungsi mutak diperlukan sehingaa akan mempermudah pekerjaan kita ketika membutuhkan suatu action yaitu cukup dengan memanggil fungsi yang telah kita buat. Ada dua macam fungsi yang akan diberikan contohnya pada artikel kali ini, fungsi yang pertama adalah fungsi yang tidak membutuhkan parameter dan tidak memberikan nilai balik (return value), dan yang kedua adalah fungsi yang membutuhkan parameter satu atau lebih parameter dan memberikan nilai balik (return value). a. Membuat User Defined Function Untuk membuat user defined function perhatikan contoh berikut : 1. Sebagai langkah awalbuat koneksi.php untuk mengkoneksikan ke database
2. berikutnya buat file fungsi.php dan kita buat sebuah fungsi tanpa parameter dan nilai balik "; }?>
3. Masih di file fungsi.php dan kita buat sebuah fungsi dengan satu parameter dan satu nilai balik
$tulisan"; return $hasil; } ?>
4. dan Masih di file fungsi.php dan kita buat sebuah fungsi dengan beberapa parameter dan satu nilai balik
5. Terakhir masih di file fungsi.php dan kita buat sebuah fungsi dengan beberapa parameter dan beberapa nilai balik serta melakukan query dari database
No. | No. Induk | Nama | Tempat Lahir | Tgl. Lahir |
"; while($hasil_cari=mysql_fetch_array($sql_cari)) { $no++; $row="
$no. | $hasil_cari[no_induk] | $hasil_cari[nama] | $hasil_cari[tmptlhr] | $hasil_cari[tgllhr] |
"; $row2=$row2.$row; } $footer=""; return $header.$row2.$footer; } ?> b.
$field
like
Menjalankan User Defined Function
Saatnya melakukan pemanggilan fungsi-fungsi yang telah kita buat untuk dijalankan, buat file index.php dan panggil fungs-fungsi yang telah kita buat seperti tampak pada gambar dibawah ini : Index.php ".luas_segitiga(5,10).""; echo buat_baris(); echo cari_siswa('nama','ade'); ?>
Daftar Pustaka http://www.php.net/ http://www.w3schools.com/