Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Wednesday, March 11, 2015

PostgreSQL vs MySQL

Saat ini dengan mudah kita bisa mengatakan, dua produk database open source paling terkenal dan banyak digunakan adalah MySQL dan PostgreSQL. “Mana yang lebih bagus?” adalah pertanyaan yang hingga akhir zaman nanti akan selalu terlontar. Kami tahu pertanyaan ini tidak ada artinya, dan tidak membantu sama sekali. Namun di artikel ini kami mencoba menyusun beberapa aspek dari kedua database yang berbeda satu sama lain. Harapan kami, perbandingan ini membantu Anda menjawab pertanyaan “mana yang sebaiknya dipakai untuk [sebutkan kebutuhan Anda di sini].” Jangan lupa pula, sebelum memutuskan selalu ceklah dulu homepage kedua database sebab dari waktu ke waktu fitur tiap database berubah/bertambah. Perbandingan di artikel ini sendiri menggunakan versi MySQL 3.23.49/4.0.1 dan PostgreSQL 7.2.

Tujuan Desain

Dari semula latar belakang dikembangkannya kedua database ini sudah berbeda. MySQL berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan. PostgreSQL, di lain pihak, berkembang dari riset akademik. Fokus pengembangan PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap. Namun, seiring kedua produk ini bertambah matang, keduanya semakin banyak memiliki sifat-sifat ini. MySQL versi 4.x misalnya, berjanji menambahkan fitur-fitur yang sejak lama diidamkan pemakainya: subselect, view, dsb. Sementara PostgreSQL, yang sempat memiliki masalah stabilitas dan skalabilitas di seri awal versi 6.x, juga kini telah amat menarik dari segi kecepatan.

Pengembangan

Pengembangan MySQL diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB). Perusahaan ini memperoleh pemasukan utamanya dari menjual layanan support dan konsultasi MySQL. PostgreSQL dikembangkan secara lebih terdesentralisasi dan merakyat, namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group.
MySQL dirilis dalam satuan yang lebih sering (sebulan bisa lebih dari satu kali), sementara PostgreSQL sekitar 4–6 bulan sekali.

Jumlah Pengguna

Menurut MySQL AB, saat ini jumlah instalasi MySQL sekitar 3 juta. PostgreSQL sendiri tidak diketahui pasti berapa jumlah penggunanya; kemungkinan masih berada di bawah MySQL karena banyaknya situs Web dan perusahaan webhosting yang hanya menggunakan MySQL. Plus secara keseluruhan popularitas MySQL (trafik milis, tutorial/artikel yang membahas, dsb) lebih besar daripada PostgreSQL. Tapi karena PostgreSQL juga disertakan secara default di distro-distro Linux seperti Red Hat dan SuSE, jumlah penggunanya pun sudah pasti banyak.

Arsitektur dan Portabilitas

MySQL memiliki arsitektur multithreading, sementara PostgreSQL multiproses (forking). Ini berarti PostgreSQL potensial memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi. Di sisi lain, arsitektur dengan forking ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented. Karena itulah, baru MySQL yang memiliki port natif ke Windows. PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.

ACID compliance

Sampai sekarang masih banyak yang bilang MySQL itu tidak ACID-compliant. Padahal sejak 2 tahun lalu MySQL sudah mempunyai handler tabel BerkeleyDB, dan belakangan ini InnoDB, sehingga MySQL sudah mendukung transaksi. Handler tabel MySQL yang lama, ISAM dan MyISAM, tidak ACID-compliant. PostgreSQL sendiri sejak lama telah ACID-compliant.

Lisensi

Lisensi PostgreSQL lebih liberal. Inilah sebabnya ada banyak produk closed-source dan komersial yang bisa dikembangkan dari source code PostgreSQL. MySQL, karena dilisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source.

Kecepatan

Soal kecepatan ini relatif dan kadang juga jadi isu sensitif. Baik kedua pihak, maupun pihak ketiga, pernah menerbitkan benchmark yang lalu ditepis atau dicibir karena tidak objektif.
Pada dasarnya perbandingan kecepatan keduanya seperti ini: MySQL terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memroses lebih banyak SQL per satuan waktu. Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar), PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, seperti dialami Tim Perdue saat mencoba kedua database untuk diimplementasikan di SourceForge.net. Penyebab utamanya adalah karena MySQL menggunakan locking level table dalam UPDATE, sehingga koneksi yang lain tidak bisa membaca table ybs sama sekali. Locking inilah juga sebabnya mengapa pada banyak benchmark, MySQL menunjukkan penurunan kinerja yang cukup drastis untuk kondisi jumlah klien simultan tinggi. PostgreSQL mendukung locking di level yang lebih rendah, yaitu row. Table handler baru di MySQL, InnoDB, juga mendukung row level locking. Benchmark InnoDB pada jumlah koneksi tinggi menunjukkan hasil yang cukup menjanjikan (www.innodb.com/bench.html).
Masalah locking tabel bisa diakali dengan membelah-belah tabel, agar satu kelompok row dapat dilock tanpa mengganggu kelompok row lain. Bahkan ada pengguna MySQL yang membelah sebuah tabel besar berisi jutaan record menjadi ribuan tabel kecil-kecil.

Stabilitas

Keduanya sudah bisa dibilang cukup hingga amat stabil. Tapi perlu diingat bahwa database manapun—bahkan Oracle—sesekali dapat menyebabkan kerusakan data. Karena itu backup/history periodik dan incremental tetap diperlukan.

Fungsi Built-In

MySQL terkenal kaya fungsi built-in, seperti modifikasi string (REPLACERIGHTLTRIMLCASE), matematika (LOGLOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul.

Interface

Keduanya sudah amat solid. Mulai dari API C/C++, driver database Perl/Python/PHP/Tcl, ODBC, JDBC telah didukung. Anda tidak akan kesulitan menggunakan database ini dari berbagai sistem dan bahasa pemrograman. MySQL juga mendukung OLEDB dan memiliki versi embedded untuk dilink bersama aplikasi buatan Anda sendiri.

Full Text Indexing

MySQL mendukung indeks full text secara natif. PostgreSQL mendukung full text searching lewat program lain (contohnya: OpenFTS, openfts.sourceforge.net) yang memanfaatkan tipe data arraynya untuk menyimpan indeks dokumen. Secara umum dapat dikatakan bahwa indexing dengan MySQL lebih praktis, tapi dengan program ketiga lebih banyak fitur dan opsi yang bisa diatur (mis: stemming, parsing kata non-Inggris, dsb). MySQL juga, tentu saja, dapat dipakai sebagai backend bagi program search eksternal (contoh: DBIx::KwIndex, search.cpan.org/search?dist=DBIx-KwIndex), meski mungkin tidak seefisien dibandingkan array di PostgreSQL.

Replikasi

Keduanya sudah memiliki replikasi, meski replikasi di MySQL barulah satu arah. Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya, namun Anda dapat mengunjungi situs gborg.postgresql.org/project/pgreplication/ (proyek pgreplication).

Manajemen User dan Keamanan

Kedua database menyimpan informasi user di sebuah database khusus. Sistem perizinan MySQL lebih mendetil daripada PostgreSQL. Misalnya, kita dapat mengeset agar user tertentu yang datang dari host tertentu hanya bisa membaca tabel saja tanpa bisa UPDATE. Di PostgreSQL ini masih bisa dilakukan dengan VIEW misalnya.
Untuk masalah enkripsi koneksi, keduanya mendukung SSL. Ada ekstensi PKIX bagi PostgreSQL yang menarik, sebab dapat membuat tabel terenkripsi: http://www.dimensional.com/~bgiles/pkixdoc/.

Tool Web/GUI

MySQL AB mengklaim lebih banyak tool grafis/web yang tersedia untuk MySQL, dan ini nampaknya cukup benar.

Tipe Data

PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY), tapi MySQL sudah mendukung semua tipe data umum.
Di PostgreSQL sebelum 7.1, masih ada keterbatasan yang cukup menyesakkan yaitu ukuran data BLOB maksimum adalah 8–32KB. Sejak 7.1, PostgreSQL juga dapat menyimpan data BLOB besar.
CHAR dan VARCHAR di PostgreSQL dapat menampung hingga 8 juta karakter (bandingkan dengan MySQL yang hanya 255).

Modifikasi Tabel

MySQL lebih fleksibel dalam ALTER TABLE. PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel. MySQL mendukung penambahan/penghapusan kolom, penggantian definisi kolom, dsb.

Fitur OO dan SQL

Dalam waktu beberapa tahun PostgreSQL akan tetap memiliki fitur yang lebih lengkap dibandingkan MySQL. Lebih banyak fitur dari standar SQL92 yang diimplementasi oleh PostgreSQL. MySQL bahkan belum mendukung subselek. View, trigger, foreign key checking (meski ini sudah ada di InnoDB) dan stored procedure semua hanya ada di PostgreSQL. Sebagai pengembang yang memutuskan memilih salah satu database, Anda perlu menanyakan kepada diri sendiri dulu apakah ingin lebih bersusah-payah melakukan code around fasilitas-fasilitas yang tidak ada di MySQL tersebut melalui bahasa pemrograman (misalnya, stored procedure diganti dengan user-defined function, subselek diganti beberapa kali SQL yang dibungkus dengan locking, dan tidak ada “trigger” berarti Anda harus melakukan pengecekan secara manual). Jika tidak ingin repot, lebih baik memilih PostgreSQL. Tapi jika tidak butuh fitur SQL yang rumit-rumit, Anda masih punya kebebasan memilih satu dari dua.
Di samping itu MySQL pun tidak memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis untuk menyimpan banyak item data di dalam satu record.

Fitur Unik

MySQL memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel, misalnya: yang transaksional dan tidak, yang berbasis di memori atau di disk, yang terkompresi dan yang read-only. MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi.

PostgreSQL memiliki tipe data array, pewarisan tabel dan tipe data, serta sistem rule. PostgreSQL memiliki tipe-tipe data “antik.” Di PostgreSQL Anda dapat menulis stored procedure (atau procedural language, istilah di PostgreSQL) dalam beberapa bahasa: PL/Perl, PL/Tcl, atau PL/PgSQL. PostgreSQL mendukung set/himpunan.
Ditulis oleh eMHa On 8:52 PM No comments Baca selengkapnya...

Monday, March 9, 2015

http://belajar-php.tk/
Ditulis oleh eMHa On 2:19 AM No comments Baca selengkapnya...


php Tutorial – Belajar Yii Framework

php Tutorial – Belajar Yii Framework Belajar Yii framework untuk Pemula.
Apa itu Yii Framework? Yii adalah, aplikasi Web Framework yang bersifat open source  dan ditulis dalam bahasa pemrograman PHP5. Yii framework mempromosikan cara penulisan kode yang bersih, DRY desain dan membantu pembuatan aplikasi yang cepat serta memastikan produk akhir yang sangat efisien, extensible, dan mudah di maintenance.  Saat ini Yii Framework menempati posisi sebagai PHP framework terpopuler, keunggulannya yang lain adalah adanya Code Generator yang  bisa membantu mempercepat proses kerja developer dalam membuat aplikasi.
Dalam artikel php tutorial kali ini saya akan coba memperkenalkan Yii framework dan mempelajarinya dari dasar dengan metode manual terlebih dahulu baru nanti kita akan lanjutkan dengan menggunakan code generator. Artikel ini mungkin akan menjadi beberapa bagian yang secara bertahap akan ditulis secara berkelanjutan.
Untuk lebih memudahkan dalam mempelajari yii framework, disarankan agar membaca tutorial yang diberikan di situs resminya di www.yiiframework.com dan membaca beberapa ebook tutorial yang ada, seperti ebook yang dibuat oleh salah seorang programer Yii yaitu sabit huraira, anda bisa mendownloadnya di sabitlabscode.wordpress.com. Opsi lain anda bisa membeli sebuah buku Yii Framework terbitan bukulokomedia.com.
Yii framework Tutorial
Baiklah kita mulai Yii framework tutorial dasar kita, yang akan kita lakukan pertama kali adalah mendownload aplikasi Yi di situs resminya. kemudian kita ekstrak hasil download kita dan kita simpan di folder local web server kita (dalam kasus kali ini saya menggunakan xampp di os Windows sehingga folder local server saya berada di c:\xampp\htdocs). jangan lupa rename nama folder aplikasi kita menjadi “yii” untuk memudahkan proses belajar kita.
yii framework tutorial
Download Yii Framework
Setelah selesai dengan proses diatas, kita buka jendela command prompt (kalau di Linux buka terminal) selanjutnya kita masuk ke folder yii dengan mengetikan :
cd c:\xampp\htdocs\yii\framework
yii framework tutorial
Membuat Aplikasi Yii Pertama
dilanjutkan dengan mengetikan :
yiic webapp c:\xampp\htdocs\belajar-yii
yii framework tutorial
Generated aplikasi Yii berhasil
jika berhasil maka akan ada pertanyaan untuk membuat aplikasi kita di folder ..\htdocs\belajar-yii. silahkan jawab yes dan ketik enter. bagi anda yang tidak berhasil ini dikarenakan path untuk PHP.exe belum diarahkan, untuk settingnya (Windows 7) silahkan klik start -> computer -> klik kanan -> pilih properties -> pilih advanced system setting -> pilih environment variables -> pilih “PATH” dan edit kemudian tambahkan di baris terakhir c:\xampp\php;
yii framework tutorial
Edit Environment Path
Setelah selesai mari kita lanjutkan tutorial kita dengan mengetikan alamat aplikasi yang baru saja kita buat di browser kita : localhost/belajar-yii.
yii framework tutorial
Aplikasi hasil generated
Tutorial Dasar Yii framework
Sekarang mari kita belajar membuat sebuah controller, buka editor kesayangan anda dan buat sebuah file dengan nama BelajarController.php perhatikan cara penulisan huruf besar dan kecilnya, simpan file tersebut di folder c:\ xampp \ htdocs \ belajar-yii \ protected \ controller. Ketikan dalam file tersebut code dibawah ini :
<?php

class BelajarController extends Controller{
    public $layout="null";

    public function actionIndex(){
        //menampilkan text/data melalui controller langsung
        echo "Sedang Belajar YII Framework";
    }
}
selanjutnya anda coba buka controller tsb di browser dengan mengetikan : localhost/belajar-yii/index.php?r=belajar
yii framework tutorial
Tampilan hasil eksekusi Controller
selanjutknya kita akan coba buat agar controller menampilkan data yang ada di file view, tambahkan kode dibawah dalam controller tadi :
<?php

class BelajarController extends Controller{
    public $layout="null";

    public function actionIndex(){
        //menampilkan text/data melalui controller langsung
        echo "Sedang Belajar YII Framework";
    }

    public function actionTampil(){
        $this->render('tampil_view');
    }
}
Dan buat sebuah folder di dalam folder “view” dengan nama “belajar” terus buat sebuah file dengan nama tampil_view.php dan ketikan kode ini didalamnya :
<h2>Saya Sedang Belajar YII Framework</h2>
selanjutnya buka browser dan ketikan : localhost/belajar-yii/index.php?=belajar/tampil
hasilnya :
yii framework tutorial
menampilkan data menggunakan view
mari kita lanjutkan dengan menampilkan array data di dalam view. Edit lagi file controller kita dengan menambahkan baris code seperti dibawah ini ;
<?php

class BelajarController extends Controller{
    public $layout="null";

    public function actionIndex(){
        //menampilkan text/data melalui controller langsung
        echo "Sedang Belajar YII Framework";
    }

    public function actionTampil(){
        $this->render('tampil_view');
    }

    public function actionTampildata(){
        $data=array('mangga','manggis','anggur','jeruk','rambutan','durian');
        $this->render('data_view',array('data'=>$data));
    }

}
kemudian kita buat file viewnya dengan membuat sebuah file di folder “view/belajar” dan diberi nama data_view.php dan mengetikan code dibawah ini :
<?php 

echo "<h2>Menampilkan Data Array</h2>"; 

foreach($data as $data){
    echo $data."<br>";
}

?>
dan selanjutnya kita buka di browser dengan mengetikan :
localhost/belajar-yii/index.php?r=belajar/tampildata
hasilnya :
yii framework tutorial
Hasil tampil data array
Tutorial terakhir kali  ini akan memberikan pelajaran membuat sebuah hyperlink di tampilan view kita. Silahkan edit controller anda agar tampak seperti dibawah ini ;
<?php

class BelajarController extends Controller{
    public $layout="null";

    public function actionIndex(){
        //menampilkan text/data melalui controller langsung
        echo "Sedang Belajar YII Framework";
    }

    public function actionTampil(){
        $this->render('tampil_view');
    }

    public function actionTampildata(){
        $data=array('mangga','manggis','anggur','jeruk','rambutan','durian');
        $this->render('data_view',array('data'=>$data));
    }

    public function actionTampillink(){
        $this->render('link_view');
    }
}
dan tidak lupa kita buat file viewnya dengan nama link_view.php dan simpan di folder ..view/belajar. ketikan codenya seperti dibawah ini :
<?php echo CHtml::link('Halaman Depan',array('belajar/')); ?>
dan silahkan anda buka di browser anda dengan mengetikan :
localhost/belajar-yii/index.php?r=belajar/tampillink
dan hasilnya ;
yii framework tutorial
Membuat Hyperlink
anda bisa klik link tersebut yang akan membawa anda ke halaman pertama tutorial kita yaitu :
localhost/belajar-yii/index.php?r=belajar
Sampai disini Yii framework tutorial tahap pertama kita, nanti akan kita sambung dengan beberapa tutorial dasar lagi sebelum kita menjamah code generator dan mengkustomisasinya sesuai kebutuhan kita. jika ada yang ingin anda tanyakan, anda bisa menggunakan kolom komentar untuk melakukannya. Belajar PHP dengan menggunakan Yii framework bisa membantu anda untuk membuat website atau aplikasi berbasiskan web dengan lebih cepat dan powerful.
Ditulis oleh eMHa On 2:14 AM No comments Baca selengkapnya...

Friday, March 6, 2015


Perintah Dasar Pemrograman PHP


<?php
…..
…..
…..
?>
itu merupakan dasar dan ciri khas dari pemrograman php itu sendiri .
selanjutnya untuk setiap baris perintah non fungsi selalu diakhiri dengan tanda “;” (tanpa tanda petik), contoh
<?php
echo “hello world”;
?>
penjelasan :
  1. <?php = adalah tag pembuka dann juga menandakan bahwa ini adalah pemrograman PHP
  2. echo =  syntak untuk menampilkan data
  3. ” ” = isi dari perintah yang akan ditampilkan
  4. ?> = penutup tag PHP
selain itu juga anda dapat menambahkan baris komentar atau keterangan untuk setiap baris program yang anda inginkan dengan menggunakan tanda “// untuk 1 baris komentar atau /* beberapa baris komentar dan diakhiri dengan tanda */” contoh :
<?php
//ini adalah perintah untuk menampilkan data
?>
atau
<?php
/* ini adalah perintah untuk membuat komentar pada baris pemrograman PHP yang lebih dari satu buah */
?>
serupa namun tak sama tentunya, perintah tersebut digunakan untuk memberi keterangan buat user yang awam yang ingin membaca baris program dan juga maksudnya selain itu juga untuk memberikan penjelasan dari vendor yang membuat sbuah aplikasi yang bersifat web base unyuk setting dasarnya biar kita ga ribet.
selanjutnya adalah gimana cara menyisipkan tag php kedalam tag html…???? ya ga bakal susah lah tiggal sisipin aja dimanapun yang kita mau tentunya harus pas sama desain webnya lah biar ga berantakan. contoh :
<HTML><HEAD><TITLE> contoh 1 </TITLE>
<BODY>
<?PHP
echo “ini contoh teks”;
echo “<BR>”;
?>
</BODY></HTML>
simple kan yang penting adan tanda <? dan ?> udah cukup kok santai aja.
nah sekarang silahkan kalian coa buat program php pertama kalian sebgai berikut
<?php
$barang=“Sepatu”;
$harga=35000;
$matauang=“Perak”;
echo “Nama barang adalah : $barang <br>”;
echo “Harga Barang adalah : $harga  <br>”;
echo “Mata Uangnya adalah : $matauang <br>”;
?>
dan file ini
<?php
$barang=“Sepatu”;
$harga=35000;
$matauang=“Perak”;
echo “Nama barang adalah : $barang <br>”;
echo “Harga Barang adalah : $harga  <br>”;
echo “Mata Uangnya adalah : $matauang <br>”;
?>
kalo bingung tinggal copy-paste aja deh nanti di kasih tau maksudnya apa, jangan lupa simpennya di folder kalian yang udah kalian buat tadi yaitu di C:\xampp\htdocs\belajar\ dan simpan kedua file tadi dengan nama belajar1.php dan belajar2.php, nah sekarang buka web browser kalian dan kemudian ketikkan di address bar localhost/belajar/belajar1.php ataulocalhost/belajar/belajar2.php, simpel dan mudah kan…………..????????????
Ditulis oleh eMHa On 12:31 AM No comments Baca selengkapnya...
  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube