Minggu, 14 Desember 2014

Boyer-Moore Algorithm


String searching merupakan suatu proses yang umum dilakukan dalam proses-proses yang dilakukan komputer karena teks merupakan bentuk utama penyimpanan data. Terdapat beberapa macam cara yang dapat dilakukan untuk mencari sebuah string pada kumpulan string lain yang lebih besar. Beberapa diantaranya adalah algoritma Boyer- Moore, Turbo Boyer-Moore dan Tuned Boyer-Moore. Guna mengetahui bagaimana performa algoritma-algoritma tersebut, terutama di bidang waktu yang diperlukan, maka dibuatlah aplikasi yang dapat digunakan untuk mengetahui waktu yang diperlukan untuk mencari suatu pattern dalam text.
             Permasalahan string searching adalah untuk mencari beberapa karakter (pattern) dalam sejumlah besar teks (Hartoyo, Vembrina, & Meilana, 2011). Dengan demikian dapat disimpulkan bahwa pencarian string atau string searching adalah pencarian sebuah pattern dari teks. Algoritma yang digunakan untuk pencarian string semakin berkembang dari hari ke hari. Tujuan utamanya tentu saja untuk mencari string seakurat dan secepat mungkin. Hingga saat ini algoritma pencarian string terbagi atas 3 kategori berdasarkan arah pencocokan string yaitu dari kiri ke kanan, kanan ke kiri, dan dari arah yang ditentukan secara spesifik. Metode pencocokan dari kiri ke kanan merupakan metode yang paling natural karena sesuai dengan arah membaca, pencocokan string dari kanan ke kiri merupakan metode yang dianggap paling efisien dalam praktiknya, dan pencocokan string dari arah yang ditentukan secara spesifik merupakan algoritma yang memiliki hasil yang paling baik secara teoritis (Kumara, 2009).
            Algoritma Boyer Moore  merupakan metode yang praktis dalam pencocokan string, terutama dalam 2 kategori :
-          Alphabet yang luas (large)
-          Alphabet yang panjang
            Algoritma yang dianggap memiliki hasil yang paling baik dalam praktiknya merupakan algoritma yang bergerak mencocokan string dari arah kanan ke kiri. Algoritma Boyer-Moore adalah salah satu contoh algoritma yang menggunakan arah dari kanan ke kiri. Algoritma ini telah banyak dikenal oleh masyarakat dan dianggap paling efisien untuk pencarian string. Ide dibalik algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat (Fauzy, 2011). Algoritma ini kemudian dikembangkan sehingga tercipta algoritma Turbo Boyer-Moore dan Tuned Boyer-Moore.

            Algoritma pencarian string atau sering disebut juga pencocokan string adalah algoritma untuk melakukan pencarian semua kemunculan string pendek pattern[0..n − 1] yang disebut pattern di string yang lebih panjang teks[0..m − 1] yang disebut teks (Wiramuda, 2008).

Sabtu, 06 Desember 2014

Cara Membuat ERD dari Database


ERD seharusnya di bangun sebelum membangun database, tapi ada kalanya kita membuat sebuah ERD dari database yang ada. untuk permasalah sekarang adalah membuat rancangan ERD dengan menggunakan database yang ada. di sini saya menggunakan sebuah aplikasi yang bernama : MySQL Workbench . step by step caranya adalah sebagai berikut :
1. Buat sebuah model baru
dapat dengan menggunakan key " CTRL + N "
2. Buat Diagram baru

3. Pilih database -> Reverse Engineer 
lakukan konfigurasi dan lakukan pemilihan database yang di inginkan






Sekarang anda dapat membuat ERD sesuai dengan databasenya.
Selamat Mencoba "Cara Membuat ERD dari Database"  :D

Rabu, 03 Desember 2014

Input Data secara simultan [PHP]


Bingung bikin judul artikel ini. okey di jelasin saja maksud tujuan dari artikel ini yah.
maksud dan tujuan nya adalah kita akan membuat sebuah inputan yang mana akan ada tombol tambah, saat klik tombol tambah akan muncul sebuah form inputan dan kalau klik lagi tombol tambah maka akan ada tombol inputnya. dan akan ada tombol hapusnya juga.
Melakukan inputan secara simultan ini berguna bagi anda melakukan inputan secara banyak tapi dengan jumlah yang berbeda. Ini adalah sebuah request sewaktu kemaren mengisi acara workshop Framework COdeIgniter di UNP, seorang mahasiswa yang bernama asrul tanya bagaimana cara melakukan inputan secara simultan tersebut, pada kesempatan kali ini saya akan coba membantu bagaimana membuatnya, tapi kali ini tidak ada function insertnya. Untuk codinganya adalah sebagai berikut ini :
    <link rel="stylesheet" type="text/css" href="asset/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="asset/css/bootstrap-theme.min.css">
<script src="asset/js/bootstrap.min.js"></script>
 <script src="asset/js/jquery-1.5.2.js" type="text/javascript"></script>
<script> $(document).ready(function() {
            var count = 0;
            $("#btn_plg").click(function(){
                    count += 1;
                $('#pelanggan').append(
      '<tr class="records" valign="top">'
    + '<td><select class="form-control" id="status_' + count + '" name="status_' + count + '"> <option value ="-">PILIH STATUS</option><option value="tetap" >Tetap</option><option value="tidak" >Tidak Tetap</option></select></td>'
    + '<td><input class="form-control" id="nama_' + count + '" name="nama_' + count + '" type="nama" placeholder="Nama Pelanggan"></td>'
+ '<td><input class="form-control" id="alamat_' + count + '" name="alamat_' + count + '" type="text" placeholder="Alamat Pelanggan"></td>'
    + '<td><button name="hapus_trayek" id="hapus_trayek" type="button" class="remove_item btn btn-danger">Hapus</button>'
    + '<input id="pel_' + count + '" name="pel[]" value="'+ count +'" type="hidden"></td><tr/>'
                    );
                });
                $(".remove_item").live('click', function (ev) {
                if (ev.type == 'click') {
                $(this).parents(".records").fadeOut();
                        $(this).parents(".records").remove();
            }
            });
   
        });
</script>
<div class="container">
<form action="#" method="post" class="form-horizontal">
             <div class="row-fluid">
<div class="span12">
<div class="widget-box">
<div class="widget-title">
<span class="icon">
<i class="icon-align-justify"></i> </span>
<h5>DATA PELANGGAN</h5>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div class="widget-box">
<div class="field">
  </fieldset>
<div class="field" align="right">
      <button name="btn_plg" id="btn_plg" class="btn btn-primary" type="button">Masukan Data Pelanggan</button>
</div>
<fieldset style="width:97%; margin-left:15px;">
        <table style="width: 98%; height: 67px;">
            <tbody>
            <tr>
            </tr>
            </tbody>
            <tbody class="field" id="pelanggan">
     </tbody>
        </table>
</fieldset>
</div> </div>
</div>
</div>
<div class="form-actions">
<button type="submit" name="submit" class="btn btn-primary">SIMPAN</button>
</div>
</form>
</div></div>
</br>

Untuk melihat demonya silahkan klik link berikut :