Beberapa hari yang lalu saya menerima pertanyaan dari salah seorang pengunjung masinosinaga.com yang intinya menanyakan apakah PHPMaker bisa menerapkan fuzzy-logic di Aplikasi Web yang dihasilkan olehnya? Jawabnya tentu saja bisa. Sangat mudah, bahkan!
Di artikel ini saya akan tunjukkan bagaimana mudahnya Anda sebagai Web Developer menerapkan fuzzy-logic di Aplikasi Web yang dihasilkan oleh PHPMaker.
-
Pertama sekali, buatlah sebuah Database baru di MySQL bernama fuzzylogic. Di dalam Database ini tambahkan sebuah table yang bernama jarak dengan script berikut:
-- ---------------------------- -- Table structure for jarak -- ---------------------------- DROP TABLE IF EXISTS `jarak`; CREATE TABLE `jarak` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Nama_Tujuan` varchar(30) DEFAULT NULL, `Jarak` double DEFAULT NULL, `Dekat` double DEFAULT NULL, `Sedang` double DEFAULT NULL, `Jauh` double DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
- Langkah selanjutnya, buatlah project baru di PHPMaker dengan mengarahkan ke Database di atas. Pastikan Anda memberi tanda centang pada table jarak dari panel Database agar PHPMaker memproses table ini saat generate file script nanti.
-
Klik tab Code (Server Events, Client Scripts and Custom Templates), lalu pastikan Anda memiliki kode berikut di server event Row_Inserting:
// Row Inserting event function Row_Inserting($rsold, &$rsnew) { // Enter your code here // To cancel, set return value to FALSE if ($rsnew["Jarak"] >= 1 && $rsnew["Jarak"] <= 50) { $rsnew["Dekat"] = 1; $rsnew["Sedang"] = 0; $rsnew["Jauh"] = 0; } elseif ($rsnew["Jarak"] > 50 && $rsnew["Jarak"] < 150) { $rsnew["Dekat"] = (((($rsnew["Jarak"] - 50)/100)-1)*-1); $rsnew["Sedang"] = (($rsnew["Jarak"] - 50)/100); $rsnew["Jauh"] = 0; } elseif ($rsnew["Jarak"] >= 150 && $rsnew["Jarak"] < 200) { $rsnew["Dekat"] = 0; $rsnew["Sedang"] = 1; $rsnew["Jauh"] = 0; } else if ($rsnew["Jarak"] >= 200) { $rsnew["Dekat"] = 0; $rsnew["Sedang"] = 0; $rsnew["Jauh"] = 1; } return TRUE; }
-
Demikian juga dengan server event Row_Updating, pastikan Anda memiliki kode seperti ini:
// Row Updating event function Row_Updating($rsold, &$rsnew) { // Enter your code here // To cancel, set return value to FALSE if ($rsnew["Jarak"] >= 1 && $rsnew["Jarak"] <= 50) { $rsnew["Dekat"] = 1; $rsnew["Sedang"] = 0; $rsnew["Jauh"] = 0; } elseif ($rsnew["Jarak"] > 50 && $rsnew["Jarak"] < 150) { $rsnew["Dekat"] = (((($rsnew["Jarak"] - 50)/100)-1)*-1); $rsnew["Sedang"] = (($rsnew["Jarak"] - 50)/100); $rsnew["Jauh"] = 0; } elseif ($rsnew["Jarak"] >= 150 && $rsnew["Jarak"] < 200) { $rsnew["Dekat"] = 0; $rsnew["Sedang"] = 1; $rsnew["Jauh"] = 0; } else if ($rsnew["Jarak"] >= 200) { $rsnew["Dekat"] = 0; $rsnew["Sedang"] = 0; $rsnew["Jauh"] = 1; } return TRUE; }
-
Karena nilai pada field Dekat, Sedang, dan Jauh akan terisi saat sistem menyimpan data baik pada saat menambah data maupun mengubah data, maka kita akan menyembunyikan ketiga field ini pada halaman Add dan Edit. Oleh karena itu, pastikan Anda sudah memiliki kode berikut pada server event Page_Load; masing-masing untuk halaman Add dan Edit (ingat, jadi ada dua kali kode berikut Anda tambahkan, yaitu satu di halaman Add, dan yang lainnya di halaman Edit):
// Page Load event function Page_Load() { //echo "Page Load"; $this->Dekat->Visible = FALSE; $this->Sedang->Visible = FALSE; $this->Jauh->Visible = FALSE; }
- Terakhir, silahkan generate semua file script dengan menggunakan PHPMaker seperti biasa.
PHPMaker memang keren. Semoga bermanfaat. 😀
erlangga mengatakan
WaĦ makasih pak,
Sudah saya praktekkan dan berhasil pak.
Terima kasih banyak untuk respon nya.
Ohiya pak.
Saya ingin tanya sedikit.
Saya kan menggunakan PHPMaker yang Trial Version sekarang.
Apakah ada bedanya untuk versi yang Trial dengan yang sudah Register License ?
Masino Sinaga mengatakan
Sama-sama. Jadi gimana, enak kan pakai PHPMaker? Hehehe… 😀
Mengenai perbedaan antara versi Trial dan Registered, hanya di fitur Extensions saja. Selebihnya sama. Untuk yang versi Trial, maka hanya 4 Extensions saja yang tersedia dan bisa digunakan maksimal 30 hari, sedangkan untuk yang versi Registered, maka ada 10 Extensions yang tersedia dan tidak ada batasan maksimal waktu lama penggunaan.
riskon mengatakan
Bagaimana Jika kita menggunakan / membuat aplikasi dgn PHP Maker yg Trial Version ( sblum 30 hari) ,
Jika aplikasi tersebut benar2 digunakan apakah ada efeknya ?
misalnya Error pada saat tertentu (pada waktu mendatang) atau ada efek yg lain ?
Masino Sinaga mengatakan
Tidak ada efek sama sekali. Anda bisa membuat Aplikasi Web dalam kurun waktu 30 hari tersebut tanpa adanya batasan di dalam source code-nya.
Lita mengatakan
bagaimana yah? cara untuk implementasi kan lojika fuzzy ke web ? saya bingun banget
Masino Sinaga mengatakan
Lha kan di artikel ini sudah ada contohnya. Tinggal ikutin dan coba saja.