Senin, 26 Mei 2014

MySQL REGEXP operator

2 komentar

Pada postingan ini saya akan coba jawab pertanyaan dari bapak Suendri


pencarian menggunakan operator like akan mencari kata yang ada di dalam field tersebut, contohnya angka 123 akan di cari pada kumpulan kata 1234567890, tentu akan menemukan kata 123 karena 123 serangkai katanya.
bagaimana jika kumpulan katanya adalah 1248753215 kalau menggunakan operator like 123 tentu tidak akan di termukan karena tidak ada kata 123 , jadi untuk operator like akan mencari satu kelompok kata. bagaimana cara solusi untuk masalah tersebut ? Mysql sudah memberikan solusi atau pencarian tingkat lanjut menggunakan operator Regular Expression atau yang sering kita kenal dengan "REGEXP
untuk memperkenalkan sintax operator dari REGEXP maka saya membuat database dengan mempunyai isi sebagai berikut/;
Data ini ada rekayasa belaka, jika ada kemiripan nama atau nomor saya mohon maaf
Operator :  ^
contoh : ^J
arti : Pernyatan MySql akan menemukan nama yang dimulai dengan 'J'.
Menampilkan nama yang berawalan J

Operator : BINARY 
contoh :  BINARY  ^j
arti : Pernyatan MySql akan menemukan nama yang dimulai dengan 'j' tepatnya adalah huruf kecil, menampilkan semua nama yang berawalan huruf "j". Untuk mencarian sensitif gunakan operator Binary
Tidak ada data yang di tampilkan, karena tidak ada nama yang berawalan huruf "j" kecil

Operator : $ 
contoh :  'H$'
arti : Pernyatan MySql akan menemukan nama yang diakhir dengan huruf "H"
Menampilkan Akhiran H
Operator : "Karakter"
contoh :  "R"
arti : Pernyatan MySql akan menemukan nama yang berisikan huruf "R"
Menampilakan nama yang mengandung huruf "R"
Operator : []
contoh :  [JLD]
arti : Pernyatan MySql akan menemukan nama yang berisikan huruf "J" atau "L" atau "D". pada operator ini permasalahan diatas dapat di pecahkan.

Operator : [karakter - Karakter]
contoh :  [A-D]
arti : Pernyatan MySql akan menemukan nama yang berisikan huruf  "A" sampai "D"
Nemapilkan nama yang berisikan huruf A-D
Operator : ....
contoh : '.......'
arti : Pernyatan MySql akan menemukan nama yang berisikan huruf  dengan jumlah 7 atau lebih
Operator : {}
contoh : '^.{7}%'
arti : Pernyatan MySql akan menemukan nama yang berisikan huruf  dengan jumlah 7

Sekian dulu artikel ini, semoga bermanfaat ^_^oSuendri En PhpBego

Kamis, 22 Mei 2014

USER MULTI LOGIN [PHP]

6 komentar
Sebelum masuk ke inti pembahasanya, saya bercerita sedikit, kali ini bangun pagi, dengan semangat pagi saya melihat hasil kerupuk yang sudah 2 hari di jemur tapi tak kunjung kering2 juga :'(
ini ada;ah kerupuk yang saya buat
Ayo tebak kerupuk apaan yang saya buat ini :D. yah ini bukan kerupuk ubi atau kerupuk ikan, maupun kerupuk terasi. saya bukan seorang yang pintar bikin kerupuk, tapi ide ini muncul 1 minggu yang lalu sekitaran jam 2 malam di pos ronda di dekat rumah, bersama teman yang bernama Yudha dan panjul. kami bercerita bagaimana sebuah olahan yang terbuang menjadi sebuah yang menarik ? dari 3 otak pemikiran yang sempat berdiskusi yang panjang dan sengit seperti perdebatan di gedung DPR. sampailah beberapa wancana atau yang bagus di sebut sebuah ide galau sambil menunggu pagi di pos ronda.
dari beberapa ide tersebut dan ini adalah experiment kami yang pertama yah ini adalah sebuah kerupuk. semoga hari ini cerah sehingga nanti malam bisa di goreng dan dinikmati bersama teman2 di pos ronda nanti malam :D.
lalu apa hubungan kerupuk dengan User multi login ? yah ngk ada hubungan nya lah :D.
karena blog saya ini ( http://h4nk.blogspot.com ) sudah lama ngk update berita atau informasi, sambil cek2 pesan ehh ternyata ada pesan masuk dalam hal bagaimana membuat user multi login. skema dapat kita lihat seperti dibawah ini :

Pada contoh ini saya mempunya 3 buah user yaitu : admin , Admin1, Admin2 yang mana setiap user mempunyai hak akses lebih dari satu.
jadi pada user "admin" mempunyai hak akses terhadap " Halaman Admin, Halaman Operator, Halaman Panitia"
sedangkan user "admin1" mempunyai hak akses terhadap " Halaman Admin"
sedangkan user "admin2" mempunyai hak akses terhadap " Halaman Admin, Halaman Operator"
dengan begitu saya merancan sebuah database yang simpel seperti gambar di bawah ini :

oiya untuk mempermudahkannya hak akses admin saya inisialkan dengan nilai "1", operator bernilai "2" dan  panitia bernilai "3"
sekarang lihat pada field akses, 1:2:3 menunjukan hak akses yang akan di tempuhnya.
di sini saya membutuhkan sebuah form login dengan sintax sebagai berikut :
<form method="post" action="proses.php">
 <table>
 <tr>
 <td>Username</td>
 <td>:</td>
 <td><input type="text" name="username"></td>
 </tr>
 <tr>
 <td>Password</td>
 <td>:</td>
 <td><input type="password" name="password"></td>
 </tr>
 <tr>
 <td>Akses</td>
 <td>:</td>
 <td><select name="akses"> <option value="1">Admin</option>
 <option value="2">Operator</option>
 <option value="3">Panitia</option>

 </select></td>
 </tr>
 <tr>
 <td><input type="submit" name="submit" value="Login"></td>
 </tr>
 </table>
</form>
karena action nya ada pada proses.php makan saya membuatkan sebuah baris program sebagai berikut :
<?php
session_start();
mysql_connect("localhost", "root", "root");
mysql_select_db("login");

$username = $_POST['username'];
$password = md5($_POST['password']);
$akses = $_POST['akses'];
$admin = mysql_query("select * from user where username='$username' and password='$password' and akses LIKE '%$akses%'");
$tot= mysql_num_rows($admin);
$r= mysql_fetch_array($admin);
if ($tot > 0) {//jika data ada maka akan diproses
 $_SESSION['uname'] = $username;
 $_SESSION['passwd'] = $password;
 $_SESSION['level'] = $_POST['akses'];
 if($akses=='1'){
 echo"<script>location.href='halaman_admin.php'</script>";
 }
 elseif($akses=='2'){
 echo"<script>location.href='halaman_operator.php'</script>";
 }
 elseif($akses=='3'){
 echo"<script>location.href='halaman_panitia.php'</script>";
 }
} else {
 echo"<script>history.back();</script>";
}
?>
untuk menyelesaikan kasus tersebut sebenarnya hanya menfaatkan sintax query like saja  ""select * from user where username='$username' and password='$password' and akses LIKE '%$akses%"
nilai akses saya gunakan operator like untuk menyeleksinya.
dan baris ini :
 if($akses=='1'){
 echo"<script>location.href='halaman_admin.php'</script>";
 }
 elseif($akses=='2'){
 echo"<script>location.href='halaman_operator.php'</script>";
 }
 elseif($akses=='3'){
 echo"<script>location.href='halaman_panitia.php'</script>";
 }
} else {
 echo"<script>history.back();</script>";
}
adalah melakukan rendirect akse tergantung akses yang di pilih.
bagaimana cukup mudah bukan.

Download Scriptnya di sini :  DOWNLOAD

Minggu, 04 Mei 2014

Source Code : Sistem Pakar Bayes Berbasis Web

78 komentar

Beberapa belakang ini beberapa banyak yang tanya tentang sistem pakar dengan metoda bayes yang pernah saya tampilkan pada postingan terdahulu :
SISTEM PAKAR DETEKSI PENYAKIT LEUKEMIA [Teorema Bayes]
pada postingan terdahulu hanya menampilkan beberapa tampilan dari Screen saja. kali ini saya akan kasih script nya biar dapat di pelajari.
Sebelumnya saya akan memberikan sedikit penjelasan karena banyak yang tanya soal solusi saya mencari nilai keputusan pada metoda ini di BBM, Wechat,Mail dan ada juga yang sempat telp saya langsung.
Karena kesusahan ngetik pada mobile saya perjelaskan saja di sini yah :D
Sebagaimana yang sudah kita ketahui bahwa rumusan yang digunakan adalah
P(H/x) = [P(x/H)(P(H)]/P (x)
lalu ada beberapa yang tanya bagaimana cara mengetahui nilai probalitas dan memberikan solusi pada sistem ini ?
disini saya sudah menyediakan rule seperti gambar di bawah ini
kalau kurang Jelas bisa Double klik untuk memperbesar gambar
 Metode Naive Bayesian merupakan pendekatan statistik untuk melakukan inferensi induksi pada persoalan klasifikasi. Metode ini menggunakan probabilitas bersyarat sebagai dasarnya.  Pendekatan ini  cara adalah salah satu cara untuk mengatasi ketidakpastian dengan menggunakan Formula Bayes.
                     
Jika setelah dilakukan pengujian terhadap hipotesis, muncul satu atau lebih evidence atau observasi baru, maka :

Adapun perhitungan probabilitas diagnosa gangguan diabetes berdasarkan gejala yaitu :
1.      Trombositopenia

- probabilitas terkena leukemia jika   leukemia(ya);p[leukemia(ya)|gejala(ya)]
  -  probabilitas terkena leukemia jika  trombositopenia(ya);p[trombositopenia(ya)|p(leukamia(ya)]


Nilai 11/24 dan 8/11 didapat dari perhitungan klasifikasi gejala yang “ya” dari tiap gejala. Nilai 11 didapat dari perhitungan hasil “ya” untuk field leukemia dibandingkan dengan banyaknya gejala (24). Sedangkan nilai 8 didapat dari perhitungan “ya” dari field  trombositopenia yang menghasilkan leukemia “ya” dibandingkan dengan p[leukemia(ya)] yaitu 11. 
Setelah menghitung klasifikasi gejala yang “ya” kemudian dihitung lagi klasifikasi gejala yang “tidak” sebagai bahan pertimbangan antara “hasil ya” dan “hasil tidak”
untuk dijadikan keputusan.


Dari hasil ini kemudian dibandingkan dengan hasil perhitungan sebelumnya yaitu hasil perhitungan dari trombositopenia ya. Jika hasil “ya” lebih besar maka dapat dikatakan terdeteksi leukemia sedangkan jika hasil “ya” lebih kecil dari hasil “tidak” maka tidak terdeteksi leukemia. 
Begitulah untuk mencari nilai probalitas keputusannya. Jika anda sudah mempunya nilai probalitas masing2 gejalan maka nilai tersebut dapat anda jadikan perbandingan untuk mendapatkan keputusan.
Jika masih bingung atau mau bagi2 ilmu silahkan komentar yah.
Download Script nya di sini : 
http://sih4nk.com/Download/lihat/34

Demo : 
http://sistem-pakar.sih4nk.com/

Fans Page