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 :


Minggu, 19 Oktober 2014

REMOTE MYSQL DARI LUAR VIA CPANEL

PHPMyadmin sering di gunakan untuk media interaksi ke dalam database, tapi beberapa kali laptop saya bermasalah saat buka phpmyadmin sehingga tidak dapat dibuka secara sempurna. Hal ini membuat saya terkendala dalam import dan export database.
PHPMyadmin Error
Gambar diatas penampakan saat akses ke PHPMyadmin, saat masukin password maka tampilan Blank saja.
solusinya database harus di remote dan menggunakan beberapa aplikasi pendukung seperti MySQL Workbench 
Sebelumnya kita musti membuka akses terlebih dahulu dengan cara :
1. Login ke Cpanel


2. Pilih Menu Remote MYSQL


3. Cek IP PUBLIK anda, cek di sini : http://ipgue.com/
4. Copy IP ADDRESS yang muncul di ipgue.com tersebut
5. Masukan ke dalam Remote MYSQL
6. Klik Add Host
7. Buka File akses database di sini saya menggunakan MySQL Workbench 

8. Klik (+) MYSQL Connections
9. Isikan data berikut :
Connections Name : [ isikan nama koneksinya ]
Connections Method : [ Standard (TCP/IP) ]
Hostname : [ masukan ipaddress hostingan / domain ]
port = [ 3306 ]
Username : [ isikan username MySql di hostingan ]
password : [ masukan password MySql di hostingan ]
10 . Lakukan Tes Koneksi
11. SIlahkan exekusi sqlnya


Sabtu, 18 Oktober 2014

Trik Menampilkan awalan nol saat export ke Excel


Kemaren ( 18-10-2014) dapat PR ( Pekerjaan Rumah ) dari Yuni Roza tantang kali ini adalah saat melakukan export data dari database ke Excel jika ada format angka seperti ini : 081933536231 saat di export maka di excel akan menjadi 81933536231 ? karena di excel format akan di kenali sebagai integer , karena integer tidak perlu memakai 0 ( Nol ).
ini adalah gambar saat pertama kali data berhasil di export tapi angka awalan 0 ( nol ) nya hilang
Data pada lingkaran merah aslinya adalah : 0610115262023
untuk awalnya script menggunakan sintax sebagai berikut :
<?php
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=exceldata.xls");
header("Pragma: no-cache");
header("Expires: 0");
?>
karena cara script di atas adalah cara termudah melakukan export ke excel.
permasalah datang saat angka 0 di atas. script di atas tidak dapat melakukan perubahan type pada kolom di excel, hal ini saya membutuhkan library tambahan, disini saya menggunakan PHPExcel.
Pada PHP Excel untuk menambah data pada kolom adalah seperti contoh di bawah ini :

$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $dt['nobp']);
 jika sintax ini akan di exekusi maka angka nol tetap akan hilang, oleh karena kita butuh melakukan set type nya terlebih dahulu.
pertama ganti sintax setCellValue menjadi setCellValueExplicit
kedua set type menggunakan sintax berikut :
 PHPExcel_Cell_DataType::TYPE_STRING
sehingga untuk sintax lengkap adalah :
 $objPHPExcel->getActiveSheet()->setCellValueExplicit('A'.$i, $dt['nobp'], PHPExcel_Cell_DataType::TYPE_STRING);
dengan trik di atas permasalahan angka nol pada excel dapat teratasi.
berikut adalah hasilnya :
Gimana cukup mudah bukan :D

Senin, 06 Oktober 2014

Perulangan Bintang Kebawah [PHP]

Pertanyaan muncul di Group PHP Indonesia :
SOlusinya :

Jika menggunakan perulangan seperti ini :
for($i=1;$i<=5;$i++){
for($j=1;$j<=$i;$j++){
echo '*';
}
echo "<br>";
}
maka perulangan bintang menjadi :
 bintang akan tampil tapi dimulai dari kiri, karena pertanyaannya adalah menampilkan bintang dari kanan. kalau begitu kita hanya menambah beberapa sintax css untuk memindahkan posisi bintang yang pertama dari kiri kekanan
kita hanya membutuhkan sintax 
<div style='text-align: right'>
sehingga menjadi
  <?php
for($i=1;$i<=5;$i++)
{
echo "<div style='text-align: right'>" . str_repeat("*",$i) . "</div>";
}?>
 NB :
function str_repeat berfungsi untuk melakukan pengulangan  string

Rabu, 03 September 2014

Memilih Nilai Tertinggi antara 2 Nilai [PHP]


ada pertanyaan yang meluncur di group PHP Indonesia, yang mana kasusnya pernah saya hadapi dulu kala.
berikut kasusnya
Oleh karena itu saya akan coba buat data yang sama sehingga menghasilkan seperti ini.
Gimana cukup sama bukan :D.
jadi permasalahnya adalah mencari Nilai tertinggi dari nilai Semester dan Remedial.
tidak terlalu rumit dan hasilnya adalah seperti berikut ini :
Gmn kelar kan. Caranya cukup mudah disini saya masih menggunakan CodeIgniter.
pertama yang saya belum tahu apakah yang di dalam database nilai semester dan remedial menyimpan value angka atau huruf, disini saya menggunakan value angka.
dengan hitungan saya adalah :
nilai Angka = Nilai Huruf
4 = A
3 = B
2 = C
1 = D
0 = E
supaya saat outputnya meuncul nilai huruf saya membuat sebuah helper function 
function huruf($nilai)
{
if( $nilai == 4 )
{
$huruf = 'A';
}
else if ( $nilai == 3 )
{
$huruf = 'B';
}
else if ( $nilai == 2 )
{
$huruf = 'C';
}
else if ($nilai == 1)
{
$huruf = 'D';
}
else
{ $huruf = 'E';
}
return $huruf;
}
dengan menggunakan function  helper huruf ini permasalah konversi nilai dari angka ke huruf sudah teratasi.
tinggal mengambil nilai tertinggi dari kedua nilai tersebut. disini saya masih menggunakan function  helper lagi.
function tertinggi($a,$b)
{
if( $a > $b )
{
$tinggi = $a;
}
else if ( $b > $a)
{
$tinggi = $b;
}
else if ( $a == $b )
{
$tinggi = $a;
}
else
{ $tinggi = 'ERROR';
}
return $tinggi;
}
saya mengasumsikan adalah :
$a = Nilai Semester
$b = Nilai Remedial
jika anda menjalakan Function ini maka akan muncul nilai angka saja, jadi harus menggunakan sub function seperti contoh saya membuatnya seperti ini :
<?= huruf(tertinggi($dt->semester,$dt->remedial));?> 
 $dt->semester = mengambil nilai semester dan menjadikan $a
$dt->remedial = mengambil nilai remedial dan menjadikan $b
tertinggi = function pemelihan nilai tertinggi
huruf = konversi nilai yang di hasilkan oleh function tertinggi menjadi huruf.
Itulah solusi dari permasalah di atas. bagaiman cukup mudah bukan :D. semoga bermanfaat

Parse Template [CodeIgniter] Part 2


Melanjutkan artikel sebelumnya yang masih tentang Parse Template CodeIgniter.
Sebelumnya kita mempunyai controllers Tes
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Tes extends CI_Controller {
public function index()
{
$this->load->library('parser');
  $data=array(
   'title'=>'Belajar Parse',
   'judul'=>'Parse Template [CodeIgniter]',
   'link'=>'http://h4nk.blogspot.com/2014/09/parse-template-codeigniter.html',
   );
        $this->parser->parse('tes',$data);
}
}
dan pada View tes Kita mempunyai script :
<html>
<head>
<title>{title}</title>
</head>
<body>
<a href="{link}">{judul}</a></br>
Linknya di sini : {link}</body>
</html> 
 Sekarang kita akan melakukan parse dari database, yang mana sebelumnya buat sebuah tabel pada database
CREATE TABLE IF NOT EXISTS `artikel` (
  `id_artikel` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(250) NOT NULL,
  `judul` varchar(250) NOT NULL,
  `link` text NOT NULL,
  PRIMARY KEY (`id_artikel`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

INSERT INTO `artikel` (`id_artikel`, `title`, `judul`, `link`) VALUES
(1, 'Belajar Parse Part 1', 'Parse Template [CodeIgniter]  Part 1', 'http://h4nk.blogspot.com/2014/09/parse-template-codeigniter.html'),
(2, 'Belajar Parse Template [CodeIgniter] Part 2', 'Parse Template [CodeIgniter] Part 2', 'http://h4nk.blogspot.com/2014/09/parse-template-codeigniter-part-2.html');
lakukan konfigurasi database pada CodeIgniter dengan benar.
pada Controller tahap pertama kita akan melakukan load 2 library yaitu database dan parse
$this->load->database();
  $this->load->library('parser');
Melakukan pemanggilan data ke tabel artikel yang mana sebelumnya sudah kita buat.
  $sql=$this->db->query('Select * from artikel');
Memasukan hasil Sql kedalam array :
 $data=array(
   'artikel'=>$sql->result(),
   );
Melakukan parse data ke tampilan view
        $this->parser->parse('tes',$data);
Pada Script Views tes kita akan menambahkan beberapa sintax supaya data dalam database terbaca dengan benar.
<html>
<head>
{artikel}
<title>{title}</title>
</head>
<body>
<a href="{link}">{judul}</a></br>
Linknya di sini : {link}</body></br>
{/artikel}
</html>
sehingga akan menghasilkan output seperti gambar dibawah ini :
 Untuk melihat script controller full :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Tes extends CI_Controller {
public function index()
{
$this->load->database();
  $sql=$this->db->query('Select * from artikel');
  $this->load->library('parser');
  $data=array(
   'artikel'=>$sql->result(),
   );
        $this->parser->parse('tes',$data);
    }
}
Coba anda lihat pada view tes
ada {artikel} , {/artikel} , {judul} ,{link} dan {title}

Intinya pada artikel tersebut ada nama-nama field pada tabel artikel tersebut.
Keterangan :
{artikel} = Memulai fetch data
{/artikel} = Mengakhiri fetch data
{judul} {link} {title}= mengambil field pada tabel artikel

Download Script

Baca Juga :
Parse Template [CodeIgniter] Part 1

Parse Template [CodeIgniter]


Website Parse Template (WPT) adalah format terbuka berbasis XML yang menyediakan HTML deskripsi struktur pada halaman situs web.
pada sebagian pendapat parse adalah membuat shortcode untuk digunakan pada sebuah file html. Anda masih bingung akan hal ini, oleh karena itu saya akan menjelaskan dengan beberapa contoh, untuk hal ini saya menggunakan Framework CodeIgniter.
Kita sudah mengenal memberikan data terhadap view dengan menggunakan :
$data['title']='Hello World!';
$this->load->view('tes',$data);
pada View seperti ini :
<html>
<head>
<title><?= $title;?></title>
</head>
<body>
<?= $title;?>
</body>
</html>
Dengan sintax seperti itu akan menghasilkan seperti gambar di bawah ini :
View hasil pengiriman data
 sekarang kita akan menggunakan teknik parse pada CodeIgniter
sebelumnya load library parse
$this->load->library('parser');
Saya akan membuat sebuah array 

$data=array(
   'title'=>'Belajar Parse',
   'judul'=>'Parse Template [CodeIgniter]',
   'link'=>'http://h4nk.blogspot.com/2014/09/parse-template-codeigniter.html',
   );
 Lalu akan view lewat parse      
 $this->parser->parse('tes',$data);
Pada View saya menggunakan script ini :

<html>
<head>
<title>{title}</title>
</head>
<body>
<a href="{link}">{judul}</a></br>
Linknya di sini : {link}</body>
</html> 


Sehingga menghasilkan pada output nya

Pada view kita tidak perlu lagi melakukan <?= $title;?> tapi langsung pada {title}.
tujuan artikel ini adalah untuk mempermudah anda untuk membangun sebuah templatenya. Untuk kelanjutan artikel ini adalah kita akan mencoba parse dengan menggunakan database.

Download Script

Baca Juga :
Parse Template [CodeIgniter] Part 2

Senin, 01 September 2014

Multiple Input [CodeIgniter]


Multiple Input adalah melakukan inputan data sekaligus , beda dengan inputan data satu persatu. Pada kasus ini saya akan memberikan contoh adalah input katalog buku. yang mana pada tabel databasenya mempunyai field penerbit,nama,tahun.
untuk exekusi saya menggunakan Framework CodeIgniter. ada beberapa cara untuk melakukan multiple inputa ini, untuk kasus ini saya menggunakan cara memberikan jumlah masukan input.
Tampilan Masukan Jumlah Inputan
Sebelum melakukan inputan kita harus memasukan jumlah item yang akan di proses. menurut saya ini metode yang simpel untuk melakukan multiple inputan.
tahap-tahap yang dapat di atur adalah :
1. Download FrameWork CodeIgniter terlebih dahulu.
Download Disini
2. Buat Folder tempat pembuatannya.
3. Buat Sebuah database dengan .
script Database :
CREATE TABLE IF NOT EXISTS `buku` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `penerbit` varchar(50) NOT NULL,
  `nama` varchar(100) NOT NULL,
  `tahun` year(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
4. Atur Konfigurasi pada CodeIgniter dengan Database anda
path : application/config/database.php 
$db['default']['hostname'] = 'localhost'; // Masukan sesuai dengan Host database
$db['default']['username'] = ''; // Masukan sesuai dengan user database
$db['default']['password'] = ''; // Masukan sesuai dengan password database
$db['default']['database'] = ''; // Masukan sesuai dengan Nama database
$db['default']['dbdriver'] = 'mysqli';
5.  Buat Sebuah Controller disini saya beri nama Buku.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Buku extends CI_Controller {

function add_multiple() {
        if($_POST==NULL) {
            $this->load->view('add_multiple');
        }else {
            redirect('Buku/add_multiple_post/'.$_POST['banyak_data']);
        }
    }
    function add_multiple_post($banyak_data=0) {
        if($_POST==NULL) {
            $data['banyak_data'] = $banyak_data;
            $this->load->view('add_multiple_form',$data);
        }else {
            foreach($_POST['data'] as $d){
                $this->db->insert('buku',$d);
            }
            redirect('Buku/lihat_data');
        }
    }
function lihat_data(){
        $data['buku'] = $this->db->get('buku')->result();
        $this->load->view('list_buku',$data);
    }
}
6. Buah File View add_multiple.php

<h2>Multiple Form Input Katalog Buku</h2><form action="" method="post">    Banyak Buku Yang kan dimasukan :    <input name="banyak_data" size="3" /> Buah<br />    <input type="submit" value="Lanjut" /></form>
7. Buat File view add_multiple_form.php

<h2>Multiple Form Input Katalog Buku</h2>
<form action="" method="post">
    <table>
        <tr>  
   <td>No</td>
            <td>Penerbit</td>
            <td>Nama Buku</td>
            <td>Tahun Terbit</td>
        </tr>
        <?php for($i=1;$i<=$banyak_data;$i++): ?>
        <tr>  <td><?= $i ?></td>
            <td><input type="text" name="data[<?= $i ?>][penerbit]" /></td>
            <td><input type="text" name="data[<?= $i ?>][nama]" /></td>
            <td><input type="text" name="data[<?= $i ?>][tahun]" /></td>
        </tr>
        <?php endfor ?>
    </table>
    <input type="submit" value="simpan" />
</form>

8. Buat File View list_buku.php

<h2>Daftar Katalog Buku</h2>
<table>
    <tr>
        <th>No</th>
        <th>Penerbit</th>
        <th>Nama Buku</th>
        <th>Tahun Terbit</th>
    </tr>
    <?php $i = 0 ?>
    <?php foreach($buku as $bk): ?>
    <tr>
        <td><?= $i++ ?></td>
        <td><?= $bk->penerbit ?></td>
        <td><?= $bk->nama ?></td>
        <td><?= $bk->tahun ?></td>
    </tr>
    <?php endforeach ?>
</table>
<?php echo anchor('Buku/add_multiple','Tambah Data') ?>
Download Script

Jumat, 29 Agustus 2014

Sejarah Pucuak Parancih


Sabtu pagi ini lagi ngalai2 ( Santai bahasa indonesia ), ehh ternyata ada pucuak parancih. mengingat pucuak parancih ini saya teringat sebuah gambar di DP BBM

jika anda lihat pasti sekilas terlihat seperti daun Ganja, tapi ada yang nyebutnya Daun Ganja Dari Sumatera Barat. tapi sebenarnya pucuak parancih ini  merupakan salah satu jenis sayuran yang umum ditemukan pada masyarakat Minang. Sayuran tersebut berasal dari pucuk daun ketela pohon. saya tidak tahu apakah di daerah lain menggunakan daun ketela pohon ini sebagai sayur2an atau hanya menfaatkan ubi2nya saja.
di daerah sumatera barat, daun katela ( Pucuak Parancih ) di gunakan untuk sayur2an, pengelolaanya bisa di rebus atau di gulai. kalau di rebus enaknya di makan sama samba lado tanak atau uok di tambah dengan gatok jariang mudo atau patai, dan di kasih ikan asin baka ondeh yo sero.
kembali ke topik, iseng2 saya coba tanya sama mbah google kenapa daun ketela di namakan pucuak parancih, sebenarnya kan daun ketela . alhasil ternyata benar ada beberapa postingan yang membahas asal usul pucuak parancih ini. berikut kutipannya :

 Sungguh unik, jika masyarakat lain hanya mengambil umbinya untuk dimakan tapi bagi masyarakat Minang daunnya pun dapat dijadikan sayur. Mengenai penamaan pucuk parancih, berkenaan dengan nama Francis yang dieja dengan francis atau parancih dalam lidah orang Minang.
Emanuel Francis

Siapakah Francis itu?Emanuel Francis, begitu nama lengkapnya, merupakan Residen (sekarang Gubernur) Sumatera Barat pada tahun 1834. Sebelumnya dia pernah menjabat sebagai asisten residen (wagub) Sumatera Barat dengan REsidennya De Stuers.

Francis sebenarnya orang Inggris tulen yang lahir di India. Dia kemudian menikah dengan orang Belanda. Riwayat hidupnya cukup menarik pada usia yang mash muda dia menjadi seorang pelaut. Kemudian menjadi juru tulis pada kantor dagang inggris di Banten (1815). Dia pindah haluan dengan mengabdi pada pemerintah Hindia Belanda. Selama di pemerintahan dia sudah beberapa kali ditugaskan ke beberapa daerah seperti Banten, Kalimantan, Palembang, Makassar, Bengkulu, Timor, Sumatera Barat, Rembang, Madiun dan Manado. Jabatan tertingginya adalah Inspektur Keuangan. Setelah pensiun dia masih diminta untuk menjadi Presiden De Javasche Bank (sekarang Bank Indonesia) selama 12 tahun. Prestasi cukup hebat untuk orang inggris di pemerintahan Belanda.

Gubernur Jenderal Hindia Belanda, Van den Bosch, mengangkat Francis sebagai residen Sumatera Barat karena pengalamannya di sumatera Barat. Pada waktu itu Belada dalam kondisi terjepit akibat Perang Paderi dan Perang Diponigoro. Batavia memutuskan cara lunak untuk menaklukan Sumatera Barat. Dengan mengeluarkan Plakat Panjang. Plakat Panjang merupakan pernyataan Batavia yang mengakui keberadaan pemerintahan dan peradilan adat di Sumatera Barat. Belanda berjanji tidak akan memungut pajak dan memberi gaji kepada para penghulu. Plakat ini dikeluarkan untuk mengantisipasi serangan kaum paderi yang telah bergabung bersama kaum adat.

Francis begitu percaya terhadap isi plakat Panjang tersebut tanpa mengetahui itu hanya akal-akalan Batavia semata. Selama di Padang, Francis aktif melakukan pendekatan terhadap pemberontak. Dia bahkan berhasil membujuk Tuanku Imam Bonjol untuk menyerah. Bahkan francis sendiri memberi jaminan bahwa Tuanku Imam tidak akan dibuang dari kampungnya. Namun karena permainan pihak tentara, Tuanku Imam malah dijebak dan dibuang. Francis membujuk Batavia agar Tuanku Imam cukup dibuang ke Batavia saja. Namun oleh Batavia malah dibuang jauh sampai ke utara Sulawesi. Sikap Batavia yang demikian membuat Francis sangat malu. Dia melihat bagaimana Tuanku Imam diperdaya dengan cara yang sangat kotor.

Mengenai sayur pucuk “parancih” tadi, sewaktu menjadi residen Francis berusaha mencari simpati masyarakat. dia membawa ubi ketela pohon untuk dibudidayakan di Padang. Namun oleh masyarakat Minang daunnya juga dimanfaatkan sebagai sayuran. Untuk mengingat bahwa tanaman tersebut diusahakan oleh Francis maka masyarakat menyebutnya sayur “prancis” atau “parancih”

Tujuan Penggunaan UML (Unified Modeling Language)


Pada artikel sebelumnya sudah di jelaskan Apa Itu UML (Unified Modeling Language) ? dan Bagian-bagian UML (Unified Modeling Language),
melanjutkan artikel tentang UML oleh karena pada artikel ini akan menjelaskan Tujuan Penggunaan UML (Unified Modeling Language)
Begitu banyak kegunaan dari UML, oleh karena itu akan saya jelas cuma beberapa bagian saja. Tujuan dalam penggunaan UML adalah :

1. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
UML tidak terikat pada salah satu bahasa pemrograman, hal ini bahwa UML dapat di terapkan terhadap semua bahasa Pemrograman.  Bebas dari proses rekayasa adalah dengan menggunakan UML seseorang dapat membaca alur terhadap sebuah rancangan model secara real, jika ada kesalahan dalam rancangan akan ketahuan diawal sebelum rancangan tersebut di jadikan kedalam kenyataan real.

2. Menyatukan pratikel-pratikel  terbaik yang terdapat dalam pemodelan.
UML dapat menyatukan pratikel-pratikel yang di anggap paling baik dalam pemodelan , sehingga dapat memberikan pengelompokan pratikel2 tersebut.

3. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
UML akan mempermudah dan dimengerti secara umum, sehingga dalam proto type akan mempermudahkan dalam melakukan realisasi rancangan .

4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bisa diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).

Baca Juga
Apa Itu UML (Unified Modeling Language) ?
Bagian-bagian UML (Unified Modeling Language)