Cara membuat fungsi sendiri untuk dapat digunakan sebagai variable dalam php

Assalamu alaikum wr wb ?

Dalam pembuatan suatu program, kadang kita diharuskan untuk dapat membuat fungsi sendiri, seperti misalnya pembuatan fungsi untuk peringatan atau pesan error yang dapat memberitahu seorang pengguna jika ada kesalahan yang muncul dan lain sebagainya, tapi anda juga harus ingat bahwa fungsi tersebut harus dapat dijadikan sebuah variable, supaya kita dapat menempatkan kapan pesan kesalahan tersebut akan diperlihatkan.

Misalnya kita akan membuat sebuah website Toko Online yang menggunakan database MySQL untuk penyimpanan data nya, dan mungkin akan memerlukan beberapa pesan kesalahan seperti data barang tidak ada, jumlah pembelian barang melebihi stok yang ada, dan pesan-pesan kesalahan lainya yang diperlukan untuk memberitahu seorang pengguna terkait kesalahan yang ada.

IKLAN:


Dibawah ini adalah contoh fungsi kesalahan yang yang terkait dengan stok barang yang ada pada database MySQL :

<?php
function kosong()
{
 $kosong = "Maaf, data barang tidak ada pada database kami.";
 return $kosong;
}
function kurang()
{
 $kurang = "Maaf, sepertinya uang yang anda kirim kurang nih.";
 return $kurang;
}
function lebih()
{
 $lebih = "Maaf, barang yang anda pesan melebihi stok yang ada.";
 return $lebih;
}
?>

Untuk dapat menggunakan fungsi di atas anda cukup memanggilnya dengan nama masing-masing fungsi di tersebut, seperti contoh jika data barang tidak ada pada database :

<?php
$query_ke_mysql = mysql_query("SELECT * FROM table_database WHERE barang = '%string_pencarian%'");
$jumlah = mysql_num_rows($query_ke_mysql);
if ($jumlah > 0)
{
 echo "Definisikan data barang yang ada disini...";
}
 else
{
 echo kosong();
}
?>

Apakah anda sudah mengerti apa yang saya maksudkan ?
Silahkan lihat fungsi yang lainya yang saya jadikan sebagai contohnya :

<?php
function peringatan()
{
 $peringatan = "Ini adalah pesan peringatan yang tidak mungkin akan tampil";
 return $peringatan;
}
?>
 Contoh penggunaan nya adalah seperti ini :

<?php
$hasil = 1 +1;
if ($hasil = 2)
{
 echo "Hasil penjumlahan 1+1 adalah $hasil";
}
 else
{
 echo peringatan();
}
?>

Coba anda perhatikan, mengapa saya mengembalikan fungsi tersebut kepada variable yang akan di tampilkan, dengan menggunakan perintah return $variable ?
Karena jika pada fungsi yang kita buat lagsung di tampilkan dengan menggunakan perintah echo atau print, maka fungsi tersebut tidak akan bisa di jadikan variable terlebih dahulu, seperti contoh jika kita akan membuat sebuah fungsi yang ingin di tampilkan secara langsung, dan tanpa dijadikan variable terlebih dahulu:

<?php
function peringatan()
{
 $peringatan = "Ini adalah pesan peringatan";
 echo $peringatan;
}
?>

Penggunaan fungsi ini sederhana yaitu cukup memanggilnya dengan nama fungsi tersebut, tanpa memerlukan perintah echo atau print :

<?php
peringatan();
?>
IKLAN

Semoga tutorial singkat mengenai fungsi dasar pada program php ini bermanfaat untuk anda yang sedang belajar tentang php, semoga membantu, dan jangan lupa untuk memberikan tanggapan mengenai di atas, atau jika anda sekedar ingin menambahkan, silahkan saja...
Wassalam...!

Posting Komentar

15 Komentar

  1. Mohon pencerahan mengenai pemasalahan izin kuota 2 kali : 1. Kuota ke-1 50.000 ton buah, izin kuota berkaku 6 bulan sejak dikeluarkan misal 1 january 2013 akan habis 1 juni 2013, 2. Kuota ke-2 12.000 ton buah, izin kuota 6 bulan sejak tanggal 20 januari 2013 akan habis 20 juni 2013, penggunaan kuota bertahap sampai kuota habis, apabila tidak digunakan kuota akan otomatis hangus, bersambung---

    BalasHapus
  2. Lanjutan...
    1. Kuota dapat habis sebelum izin kuota habis
    2. Apabila kuota ke-1 habis sebelum izin kuota habis, langsung menggunakan kuota ke-2
    3. Apabila kuota ke1 digunakan setelah melewati masa izin berakhir, otomatis langsung ditolak dan ada pemberitahuan, langsung menggunakan kuota ke2, apabila kuota ke2 tidak ada, langsung ada pemberitahuan bahwa kuota sudah habis atau hangus, mohin pencerahan pencbangan dengan program php, terima kasih

    BalasHapus
    Balasan
    1. Maf br bs blz,, silahkan lihat contoh sederhana dibawah ini dengan kedua Fungsi yg menggunakan Database MySQL... silahkan sesuaikan detail Login ke database nya:

      CREATE TABLE `quota1` (
      `buah` int(11) NOT NULL,
      `tglregister` date NOT NULL,
      `tglexpire` date NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

      INSERT INTO `quota1` VALUES (50000, '2013-01-01', '2013-06-01');

      CREATE TABLE `quota2` (
      `buah` int(11) NOT NULL,
      `tglregister` date NOT NULL,
      `tglexpire` date NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

      INSERT INTO `quota2` VALUES (20000, '2013-01-20', '2013-06-20');

      Kemudian buat file php, yg isinya dibawah ini:

      <?php
      //Koneksi ke Database MySQL sederhana
      mysql_select_db("data", mysql_connect("localhost","root","1234"));
      //Buat Fungsi quota1, adalah fungsi utama.
      function Quota1(){
      $query1 = mysql_query("SELECT * FROM quota1 WHERE buah > 0 LIMIT 1");
      $jumlah1 = mysql_num_rows($query1);
      $data1 = mysql_fetch_array($query1);
      $expire1 = str_replace('-','',$data1['tglexpire']);
      $buah1 = $data1['buah'];
      if($jumlah1 > 0){
      $tgl1 = date("Ymd");
      if($expire1 > $tgl1){echo "=> Anda akan menggunakan Quota ke 1 (Jumlah Quota: $buah1, Expire: $data1[tglexpire]).";}
      else{echo "=> Quota ke 1 telah Expire ($data1[tglexpire]) > <blink>Sekarang cek Quota ke 2 ...</blink><br/>"; Quota2();}
      }else{echo "=> Quota ke 1 tidak ada! > <blink>Sekarang cek Quota ke 2 ...</blink><br/>"; Quota2();
      }}
      //Buat Fungsi quota2, yg digunakan pada Fungsi quota1.
      function Quota2(){
      $query2 = mysql_query("SELECT * FROM quota2 WHERE buah > 0 LIMIT 1");
      $jumlah2 = mysql_num_rows($query2);
      $data2 = mysql_fetch_array($query2);
      $expire2 = str_replace('-','',$data2['tglexpire']);
      $buah2 = $data2['buah'];
      if($jumlah2 > 0){
      $tgl2 = date("Ymd");
      if($expire2 > $tgl2){echo "=> Anda akan menggunakan Quota ke 2 (Jumlah Quota: $buah2, Expire: $data2[tglexpire]).";}
      else{echo "=> Quota ke 2 telah Expire ($data2[tglexpire]), silahkan membeli Quota terlebih dahulu!";}
      }else{echo "=> Quota ke 2 tidak ada, silahkan membeli Quota terlebih dahulu!";}
      }
      //Jalankan kedua Fungsi, dimulai dari Quota1
      Quota1();
      exit;
      ?>

      Semoga berguna, Thank's

      Hapus
  3. master ane punya studi kasus nih..
    misal kita mau pilih merk motor yamaha..
    nah di tabel bawahnya bakal muncul type-type yamaha tersebut..

    kalo berikut ini saya ganti merk honda nah nanti munculnnya merk honda semua,, itu gimana ya caranya??

    mohon pencerahan nya master..

    BalasHapus
    Balasan
    1. Gunakan jQuery sj mas,,

      Contoh:

      <?php
      include "koneksi.php";
      ?>
      <html>
      <head>
      <title>Form dengan ajax</title>
      <script type="text/javascript" src="jquery-1.6.2.min.js"></script>
      </head>
      <body>
      <script type="text/javascript">
      function merk(isi){
      $("#merk").html('<select><option>-- Loading data... --</option></select>');
      $('#merk').load('barang.php?merk='+isi+'');
      }
      </script>
      Merk:
      <select name="merk" onChange="merk(this.value);">
      <option value="" selected="selected">-- Merk Motor --</option>
      <option value="honda">Honda</option>
      <option value="suzuki">Suzuki</option>
      <option value="yamaha">Yamaha</option>
      </select>
      <br/><br/>
      Jenis:
      <span id="merk">
      <select><option value=''>-- Pilih Merk dulu --</option></select>
      </span>
      </body>
      </html>
      <?php
      exit;
      ?>

      Untuk Source lengkap nya bs di download dimari gan:
      http://www.ziddu.com/download/22479695/auto_load_mysql_dengan_jquery.zip.html

      Smoga membantu,, Thank's

      Hapus
  4. Mas Brow . Misalakan dalam melakukan transaksi penjualan
    QTY atau jumalah beli barang melebihi stok persediaan ..
    untuk menampilkan pesan peringatan nya gimana yah...

    BalasHapus
    Balasan
    1. Misalkan... Contoh:

      //SAAT PROSES MENAMBAHKAN BARANG KE KERANJANG
      if(isset($_POST['submit']))
      {
      $id_barang = $_POST['id_barang'];
      $jumlah_pesanan = $_POST['jumlah_pesanan'];
      $query = mysql_query("PILIH BARANG SESUAI DENGAN id_barang DAN jumlah_pesanan DIBAWAH ATAU SAMA DENGAN JUMLAH STOK YG ADA");
      $jumlah = mysql_num_rows($query);
      if($jumlah>0){echo "PROSES DISINI KELANJUTAN NYA GAN...!!";}
      else{echo "Maaf transaksi GAGAL, mungkin Stok Barang Tidak ada, atau sudah Habis...";}
      }

      Ini hanya contoh saja gan, kurang lebih seperti itu...!!

      Hapus
  5. mas gimana cara menampilkan kdmtk, mtk, sks matakuliah dengan ceklist dan menyimpan krs...?

    BalasHapus
  6. maaf gan bisa bantu ane ngak
    Misalakan dalam melakukan transaksi penjualan
    QTY atau jumalah beli barang melebihi stok persediaan ..
    untuk menampilkan pesan peringatan nya gimana yah
    kalau bikin Scripsnya disini gimana masukan

    BalasHapus
    Balasan
    1. ini contoh scrip ane gan soalnya stock barang 50 tapi pas dilakukan pembelian 100 di prosesnya gan?

      Hapus
    2. kode nya ga muncul gan,,
      Silahkan rubah dlu kode nya ke karakter standar, jangan langsung kode html dimasukan kesini, dijamin ga bkalan muncul...
      Thank's

      Hapus
  7. Maaf gan. Kalo barang udah d beli tapi stok barangnya ga berkurang . listingnya gmn ????? Trus listingnya d taro dgn nama php baru atau d gabung k keranjang belanjab?? Tolong ya gan . thx

    BalasHapus
  8. mohon bantuannya senpai..
    bagaimana carany membuat notifikasi jumlah obat pada sebuah apikasi apotik.
    contoh : stok awal ada 30 obat lalu tersisa 5 pcs maka aplikasi tsbt akan memunculkan sebuah notif jumlah barang & keterangan " obat akan segera habis "

    BalasHapus
    Balasan
    1. function stokobat($nama_obat){
      $obat = mysql_query("SELECT * FROM table_obat WHERE nama_obat = '$nama_obat' LIMIT 1");
      $jum_obat = mysql_num_rows($obat);
      $stok_obat = ['stok_obat'];
      if($jum_obat > 0){
      if($stok_obat <= 5){
      $info = "STOK OBAT $nama_obat, SUDAH HAMPIR HABIS, TERSISA $stok_obat LAGI!, SILAHKAN TAMBAH STOK";
      }else{
      $info = "STOK OBAT $nama_obat MASIH BANYAK, TERSISA $stok_obat LAGI!";
      }
      }else{
      $info = "TIDAK ADA DATA OBAT $nama_obat DALAM DATABASE!";
      }
      return $info;
      }

      //ini contoh saja gan, silahkan buat database nya dan sesuaikan sendiri,,
      //jalankan fungsi di atas dengan perintah stokobat('NAMA OBAT');

      Hapus