Copyright © Hieppies
Design by Dzignine
Senin, 26 Mei 2014

Memasang Artikel Di Blogger Dengan PHP Zend Framework


Blogger adalah sebuah layanan publikasi blog yang dibuat oleh Pyra Labs yang selaku Evan Williams and Meg Hourihan sebagai co-foundernya. Pada tahun 2003, Pyra Labs diakusisi oleh Google dan berada dibawah subdomain blogspot.com.

Zend Framework adalah salah satu framework bahasa pemrograman PHP yang berbasis OOP (Object Oriented Programming) atau Pemrograman Berorientasi Objek, sederhana, dan Open-Source.

Sebelum memulai, download Librari Zend Client Google Data API terlebih dahulu yang tersedia secara bebas sebagai interaksi dengan API.

Ekstrak file dan kemudian salin (copy) folder library, kemudian tempatkan pada folder yang akan dibuat untuk memasang artikel pada blogger.

Contoh pemanggilan Zend Client Google Data API:

<?php

require_once 'library/Zend/Loader.php';

$user = 'user@email.com'; //Nama User Email anda.
$pass = 'secretPasswd';   //Kata Sandi Email anda.
$service = 'blogger';

$blogclient = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null,
        Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
        Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');

$gdClient = new Zend_Gdata($blogclient);

?>
Kode diatas menggunakan metode Zend_Gdata_ClientLogin::getHttpClient untuk melakukan permintaan ke layanan ClientLogin, mengambil token otentikasi, dan membuat objek Zend_Http_Client dengan header otentikasi yang sesuai. Kemudian, HttpClient dikembalikan oleh metode ini digunakan untuk membangun sebuah objek layanan Zend_Gdata.

<?php

$blogID = "ID_Blog_Anda";                        //ID Blog anda.
$title  = "Memasang artikel blogger dengan PHP"; //Judul Artikel.
$label  = "PHP";                                 //Label untuk Artikel.
$html   = "PHP Rocks!. dan lebih baik lagi,
           jika dikombinasi dengan jQuery, CSS, dan HTML
           Rock & Roll";                         //Isi Artikel.

$uri = 'http://www.blogger.com/feeds/'.$blogID.'/posts/default';
$entry = $gdClient->newEntry();
//Set judul Artikel
$entry->title = $gdClient->newTitle($title);
//Set Isi Artikel
$entry->content = $gdClient->newContent($html);

//Set Label untuk artikel
$labels = $entry->getCategory(); 
$newLabel = $gdClient->newCategory($label, 'http://www.blogger.com/atom/ns#'); 
$labels[] = $newLabel; //Tambahkan label baru pada daftar label. 
$entry->setCategory($labels);

$entry->content->setType('text');
  
$createdPost = $gdClient->insertEntry($entry, $uri);

?>
Dari kode diatas, anda bisa mendapatkan ID Blog anda dengan cara membuka halaman Dashboard Blogger, disitu terdapat ID Blog pada situs URL, seperti yang ditunjukkan gambar dibawah:

Catatan : ID Blog untuk tiap blog berbeda-beda.



Contoh keseluruhan dari kode diatas:

<?php

require_once 'library/Zend/Loader.php';

$user = 'user@email.com'; //Nama User Email anda.
$pass = 'secretPasswd';   //Kata Sandi Email anda.
$service = 'blogger';

$blogclient = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null,
        Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
        Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');

$gdClient = new Zend_Gdata($blogclient);

$blogID = "ID_Blog_Anda";                        //ID Blog anda.
$title  = "Memasang artikel blogger dengan PHP"; //Judul Artikel.
$label  = "PHP";                                 //Label untuk Artikel.
$html   = "PHP Rocks!. dan lebih baik lagi,
           jika dikombinasi dengan jQuery, CSS, dan HTML
           Rock & Roll";                         //Isi Artikel.

$uri = 'http://www.blogger.com/feeds/'.$blogID.'/posts/default';
$entry = $gdClient->newEntry();
//Set judul Artikel
$entry->title = $gdClient->newTitle($title);
//Set Isi Artikel
$entry->content = $gdClient->newContent($html);

//Set Label untuk artikel
$labels = $entry->getCategory(); 
$newLabel = $gdClient->newCategory($label, 'http://www.blogger.com/atom/ns#'); 
$labels[] = $newLabel; //Tambahkan label baru pada daftar label. 
$entry->setCategory($labels);

$entry->content->setType('text');
  
$createdPost = $gdClient->insertEntry($entry, $uri);

?>
Jika Anda memiliki keraguan atau pertanyaan gunakan formulir komentar di bawah ini. Semoga artikel bermanfaat bagi yang suka programming dan tentu juga blogging. Untuk keterangan lebih lanjut anda bisa mengunjungi situs Developer Google.
Baca Selengkapnya »
Jumat, 23 Mei 2014

Panduan Kompilasi FFmpeg Dengan CentOS 6.x


Panduan ini berdasarkan pada instalasi OS dengan minimal CentOS, yang akan memberikan instalasi lokal yang bukan pada sistem dengan beberapa librari encoding eksternal. Instruksi ini juga bisa bekerja pada Red Hat Enterprise Linux (RHEL) dan Fedora versi yang baru.

Mengatur Dependensi:

Catatan: Tanda # menunjukkan bahwa perintah harus dieksekusi sebagai superuser atau root.

# yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel
Membuat sebuah direktori untuk menempatkan semua kode sumber:

# mkdir ~/ffmpeg_sources
Kompilasi dan Instalasi

Catatan: Jika anda tidak memerlukan encoder tertentu, anda dapat melewatinya dan kemudian menghapus sesuai konfigurasi pilihan ./configure di FFmpeg tersebut. Sebagai contoh, jika libvorbis tidak diperlukan, anda melewati bagian tersebut dan menghapus konfigurasi -enable-libvorbis pada bagian Instalasi FFmpeg.

Yasm
Yasm adalah assembler yang digunakan oleh x264 dan FFmpeg.

cd ~/ffmpeg_sources
curl -O http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
export "PATH=$PATH:$HOME/bin"
libx264
H.264 video encoder.
Konfigurasi ffmpeg : --enable-gpl --enable-libx264 --extra-libs=-ldl.

cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean
libfdk_aac
AAC audio encoder.
Konfigurasi ffmpeg : --enable-libfdk_aac (dan --enable-nonfree jika anda juga menambahkan --enable-gpl).

cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
libmp3lame
MP3 audio encoder.
Konfigurasi ffmpeg : --enable-libmp3lame.

cd ~/ffmpeg_sources
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
make distclean
libopus
Opus audio decoder and encoder.
Konfigurasi ffmpeg : --enable-libopus.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
tar xzvf opus-1.1.tar.gz
cd opus-1.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
libogg
Librari Ogg bitstream. Dibutuhkan oleh libtheora dan libvorbis.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
libvorbis
Encoder audio Vorbis. Membutuhkan libogg.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
libvpx
VP8/VP9 video encoder.
Konfigurasi ffmpeg : --enable-libvpx.

cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean
FFmpeg

cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
make
make install
make distclean
hash -r
. ~/.bash_profile
Kompilasi selesai dan ffmpeg (juga ffprobe, ffserver, lame, dan x264) siap untuk digunakan. Berikut panduan menunjukkan bagaimana untuk memperbarui atau menghapus ffmpeg.

Catatan: Simpan direktori ffmpeg_sources dan semua isinya jika anda ingin untuk memperbarui atau menghapus seperti yang ditunjukkan di bawah ini.


Librari Tambahan

Librari codec lain yang mungkin anda butuhkan (tapi mungkin tidak). Ini harus diinstal sebelum anda mengkompilasi ffmpeg.

libfreetype
Librari Font rendering. Dibutuhkan untuk filter video DrawText.
Konfigurasi ffmpeg : --enable-libfreetype.

# yum install freetype-devel
libspeex
Speex audio decoder dan encoder.
Konfigurasi ffmpeg : --enable-libspeex.

# yum install speex-devel
libtheora
Theora encoder video. Membutuhkan libogg.
Konfigurasi ffmpeg : --enable-libtheora.

cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-examples --disable-shared --disable-sdltest --disable-vorbistest
make
make install
make distclean


Memperbarui (Update)

Pengembangan ffmpeg aktif dan update sesekali dapat memberikan fitur baru dan perbaikan bug. Pertama, menghapus file lama dan kemudian memperbarui dependensi.

rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
# yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel
Update libx264

cd ~/ffmpeg_sources/x264
make distclean
git pull
Kemudian jalankan ./configure, make, dan make install seperti yang ditunjukkan di bagian instalasi libx264.

Update libfdk_aac

cd ~/ffmpeg_sources/libfdk_aac
make distclean
git pull
Kemudian jalankan ./configure, make, dan make install seperti yang ditunjukkan di bagian instalasi libfdk_aac

Update libvpx

cd ~/ffmpeg_sources/libvpx
make clean
git pull
Kemudian jalankan ./configure, make, dan make install seperti yang ditunjukkan di bagian instalasi libvpx

Update FFmpeg

cd ~/ffmpeg_sources/ffmpeg
make distclean
git pull
Kemudian jalankan ./configure, make, dan make install seperti yang ditunjukkan di bagian instalasi FFmpeg


Menghapus (Remove)

rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
# yum erase autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel
hash -r
Baca Selengkapnya »

PHP Simple HTML DOM Parser


Apa itu Simple HTML DOM Parser?.
Simple HTML DOM Parser adalah sebuah kumpulan format atau sintax (kode) yang dibuat untuk mempermudah penggunaannya, dimana yang mempunyai tujuan untuk menguraikan elemen-elemen HTML untuk diambil dan dirubah atau dihapus pada elemen-elemen HTML tertentu menjadi sesuatu tampilan yang diinginkan.

Apa itu HTML DOM?.
HTML DOM (Document Object Model) adalah kumpulan obyek-obyek pada elemen HTML. HTML (HyperText Markup Language) sendiri bisa berarti sebuah bahasa untuk membuat situs web, dan menampikan informasi pada suatu situs penjelajah web internet dalam format hypertext ASCII agar dapat menghasilkan tampilan yang terintegrasi.

Hal pertama yang Anda harus lakukan adalah men-download salinan librari simple HTML DOM, tersedia secara bebas dari sourceforge.

Ada beberapa file yang di download, tetapi satu-satunya yang Anda butuhkan adalah file simple_html_dom.php sisanya hanya contoh dan dokumentasi.


Librari ini sangat mudah digunakan, tetapi ada beberapa dasar-dasar anda harus meninjau terlebih dahulu sebelum anda menjalankannya.

Contoh penggunaan Simple HTML DOM:

<?php

require_once 'simple_html_dom.php';

//menguraikan sebuah halaman situs http:// atau https://
$html = file_get_html("http://hieppies.blogspot.com");

//menguraikan pada file lokal
$html = file_get_html("index.html");

//menguraikan pada file lokal yang didalam direktori
$html = file_get_html("/menu/index.html");

//menguraikan string pada kode HTML
$html = str_get_html("<html>
                      <body>
                         <p>Hi, Cantik!.</p>
                         <p>Lagi ngapain?.</p>
                      </body>
                      </html>");

?>
Mengakses Elemen HTML DOM Anda bisa menginspeksi elemen HTML dengan menggunakan browser versi terbaru seperti Firefox, Google Chrome, Opera, yang sudah tersedia tools "Inspect Element". Disini saya menggunakan AddOns Firebug untuk browser Firefox.


Setelah anda memiliki objek DOM, anda dapat mulai bekerja dengan dengan menggunakan fungsi find() dan menciptakan rangkaian. Rangkaian ini adalah sekelompok object yang ditemukan melalui penyeleksi (selector) - (sintak ini sangat mirip dengan jQuery).

<html>
<body>
    <p>Hi, Cantik!.</p>
    <p>Lagi ngapain?.</p>
</body>
</html>
Dalam contoh HTML diatas, kita akan melihat bagaimana untuk mengakses informasi pada kedua paragraf, mengubahnya, dan kemudian menampilkan hasilnya.

<?php

require_once 'simple_html_dom.php';

//menguraikan string pada kode HTML
$html = str_get_html("<html>
                      <body>
                         <p>Hi, Cantik!.</p>
                         <p>Lagi ngapain?.</p>
                      </body>
                      </html>");

$elements = $html->find("p");

//menampilkan string pada paragraf pertama
echo $elements[0]->plaintext;

//menampilkan string pada paragraf kedua
echo $elements[1]->plaintext;

//menambahkan atribut class pada paragraf pertama
$elements[0]->class = "nama_class";

//menampilkan HTML yang ditambah class
echo $html->save();

?>
Dan HTML yang dihasilkan dari perintah $html->save():

<html>
<body>
    <p class="nama_class">Hi, Cantik!.</p>
    <p>Lagi ngapain?.</p>
</body>
</html>
Penyeleksian (Selector) lainnya.
Berikut adalah beberapa contoh lain dari penyeleksian melalui atribut. Jika anda terbiasa menggunakan jQuery, ini sangat mudah bagi anda.

<?php

//ambil elemen index pertama dengan atribut id="foo"
$single = $html->find("#foo", 0);

//ambil semua tag elemen yang beratribut class="foo"
$collection = $html->find('.foo');

//ambil semua tag elemen "a"
$collection = $html->find('a');

//ambil semua tag elemen a yang didalam tag elemen h1
$collection = $html->find('h1 a');

//ambil semua tag elemen img yang beratribut title="himom"
$collection = $html->find('img[title=himom]');

?>
Saya kira contoh-contoh ini cukup bagi anda untuk memulai dengan menggunakan PHP Simple HTML DOM Parser. Jika Anda memiliki keraguan atau pertanyaan gunakan formulir komentar di bawah ini. Semoga artikel ini membantu anda mengambil data yang efisien. Nanti akan ada artikel tentang scrap situs menggunakan librari ini yang agak kompleks, semoga bermanfaat.
Baca Selengkapnya »
Kamis, 22 Mei 2014

PHP Class Spintax


Jika anda ingin memutar (Spinning) kata dari suatu kalimat, itu cukup mudah untuk dilakukan dengan menggunakan kode PHP.

Catatan: Google sudah sangat baik dalam mendeteksi penggunaan teknik ini, jadi saya tidak merekomendasikan untuk penggunaan dalam konten halaman penuh.

Apa itu Spintax?.
Spintax itu terdiri dari gabungan 2 buah kata yaitu Spinning & Syntax.

Spintax adalah format atau sintax (kode) yang digunakan untuk memutar kata dari suatu kalimat, itu bisa berupa perangkat lunak (Software) atau website.

Artinya anda dapat membuat beberapa versi kata dari satu buah kata. Hal ini dapat dilakukan dengan secara acak dan menghasilkan satu buah kata dari beberapa kata yang ditentukan diantara pipa-pipa dalam rangkaian Spintax tersebut.

Contoh sederhana dari bentuk Spintax:

{Halo|Hi|Hola}

Dari rangkaian diatas, jika dieksekusi maka secara acak menghasilkan satu buah kata Halo atau Hi atau Hola.

Seperti yang anda lihat, ini benar-benar berguna untuk memutar suatu kata dari kata tunggal.

Berikut Class kode PHP:

<?php
/**
* Spintax - A helper class to process Spintax strings.
* @name Spintax
* @author Jason Davis - https://www.codedevelopr.com/
*/
class Spintax
{
    public function process($text)
    {
        return preg_replace_callback(
            '/\{(((?>[^\{\}]+)|(?R))*)\}/x',
            array($this, 'replace'),
            $text
        );
    }

    public function replace($text)
    {
        $text = $this->process($text[1]);
        $parts = explode('|', $text);
        return $parts[array_rand($parts)];
    }
}
?>
Penggunaan Class PHP Spintax:

<?php

$spintax = new Spintax();
$string = '{Halo|Hi|Hola}, Selamat {Pagi|Siang|Sore|Malam} cantik!.';
echo $spintax->process($string);

?>
Rangkaian Spintax: {Halo|Hi|Hola}, Selamat {Pagi|Siang|Sore|Malam} cantik!.
Hasil Spintax : Halo, Selamat Malam cantik!.

Spintax Bersarang (Nested)
Anda juga dapat menggunakan rangkaian Spintax bersarang. Berikut contohnya:
{{Pagi|Siang|Sore|Malam}|Menjelang Sore|Menjelang Malam}
Baca Selengkapnya »

Mana yang terbaik dari PostgreSQL atau MySQL serta contoh koneksi dengan PHP

Mengenal lebih jauh sejarah tentang PostgreSQL, MySQL, dan PHP.

Ketika anda memilih sebuah database, anda membuat keputusan dalam jangka panjang, karena untuk mengubah database kemudian hari sangat sulit dan membutuhkan biaya mahal. Tentukan salah satu pilihan yang terbaik menurut anda untuk pertama kali diantara dua database Open-Source yang populer, MySQL atau PostgreSQL. Berikut sekilas tentang PostgreSQL dan MySQL.

PostgreSQL
PostgreSQL (diucapkan Post-gress-cue-ell) menyebutnya sendiri sebagai  database Open-Source yang paling canggih di dunia. Beberapa penggemar PostgreSQL mengatakan sebaik seperti Oracle, tapi tanpa membutuhkan biaya tinggi dan layanan pelanggan berkelas. PostgreSQL memiliki sejarah panjang yang telah dikembangkan awalnya pada tahun 1985 di universitas California, Berkeley sebagai keturunan dari database Ingres.

PostgreSQL adalah sebuah proyek open source berbasis 100% komunitas, dikelola oleh komunitas di seluruh dunia lebih dari seribu kontributor. PostgreSQL menyediakan versi secara fungsional tunggal, daripada beberapa komunitas yang berbeda, komersial, dan versi perusahaan seperti yang ditawarkan MySQL. Lisensi adalah liberal BSD / MIT, yang memungkinkan organisasi untuk menggunakan, menyalin, memodifikasi, dan mendistribusikan ulang kode dengan hanya pemberitahuan hak cipta yang diperlukan.

Kehandalan adalah prioritas utama dari PostgreSQL. Dikenal sangat kokoh, dirancang dengan baik, mampu mendukung transaksi tinggi, dan aplikasi yang kritis. Dokumentasi adalah tingkat pertama, dengan manual yang komprehensif yang tersedia online secara gratis, bersama dengan arsip manual untuk versi yang lama. Dukungan komunitas sangat baik, dan dukungan komersial tersedia dari vendor yang independen.

Konsistensi dan integritas data juga prioritas tinggi. PostgreSQL sepenuhnya ACID-compliant (Atomicity, Consistency, Isolation, Durability) Memiliki keamanan yang kuat untuk mengontrol akses ke database, membuat baik penggunaan alat-alat keamanan perusahaan seperti Kerberos dan OpenSSL. Anda dapat menentukan cek Anda sendiri untuk memastikan kualitas data sesuai dengan aturan bisnis Anda sendiri. Sebuah fitur favorit banyak admin adalah point-in-time recovery (PITR), fitur ketersediaan tinggi yang fleksibel dengan kekuatan seperti kemampuan untuk membuat server siaga untuk failover dengan cepat, dan membuat cadangan dan mengembalikan ke titik-titik tertentu dalam waktu. Tapi itu tidak semua, proyek juga menyediakan beberapa metode untuk mengelola PostgreSQL untuk ketersediaan tinggi, load-balancing, dan replikasi, sehingga Anda dapat menggunakan apa yang sesuai dengan kebutuhan khusus Anda.

MySQL
MySQL sendiri masih tergolong relatif muda, pertama kali muncul pada tahun 1994. MySQL menyebut dirinya paling populer database open source di dunia. MySQL adalah M di LAMP, kumpulan perangkat lunak yang sering digunakan untuk pengembangan web yang juga termasuk Linux, Apache, dan Perl / PHP / Python. Kebanyakan aplikasi yang dibangun di LAMP stack menggabungkan MySQL, termasuk seperti aplikasi dikenal sebagai WordPress, Drupal, Zend, phpBB atau sejenisnya.

Awalnya MySQL dirancang untuk Back End seperti CMS (Content Managemen System), menggunakan Indexed Sequential Access Method (ISAM) atau Metode Akses Index secara berurutan yang cepat. Pada hari-hari awal MySQL telah menambahkan dukungan untuk sejumlah mesin penyimpanan tambahan dan penyesuaian ACID yang sudah tersedia via InnoDB. MySQL juga mendukung mesin penyimpanan lain, memberikan kemampuan seperti tabel sementara dengan menggunakan mesin penyimpanan MEMORY.

Dokumentasi MySQL berlimpah, dan termasuk manual yang baik referensi gratis, banyak buku dan artikel online, dan pelatihan dan dukungan dari Oracle dan vendor pihak ketiga.

MySQL telah mengalami perubahan kepemilikan dan sedikit drama dalam beberapa tahun terakhir. Pertama kali dikembangkan oleh MySQL AB, yang kemudian dijualnya ke Sun Microsystems dengan harga miliaran dollar pada tahun 2008, dan Sun pada gilirannya diakuisisi oleh Oracle pada tahun 2010. Oracle mendukung beberapa edisi: Standard, Enterprise, Classic, Cluster, Embedded, dan Community. Beberapa di antaranya adalah download gratis, dan beberapa dikenakan biaya. Kode inti adalah GPL, dan lisensi komersial tersedia untuk pengembang dan vendor yang memilih untuk tidak menggunakan GPL.

Saat ini ada lebih banyak pilihan untuk database berdasarkan kode MySQL asli, karena beberapa pengembang utama MySQL telah merilis varian dari MySQL. Michael "Monty" Widenius, salah satu pendiri dari MySQL menyesalkan penjualan dari SUN, dan mengembangkan varian MySQL sendiri yaitu MariaDB, gratis dan berlisensi di bawah GPL. Drizzle, varian oleh pengembang terkemuka MySQL Brian Aker, dengan penulisan ulang besar-besaran dan perubahan dalam konsep inti yang dioptimalkan untuk multi-CPU, cloud, dan aplikasi net, dan Konkurensi yang besar.

Berikut situs-situs populer yang memakai database MySQL dan PostgreSQL:

MySQL:
1. Slashdot
2. Twitter
3. Facebook
4. Wikipedia

PostgreSQL:
1. Yahoo! menjalankan multi-petabyte database PostgreSQL yang dimodifikasi dan memproses miliaran kegiatan per hari.
2. Reddit
3. Disqus

Baik MySQL dan PostgreSQL berjalan di beberapa sistem operasi: Linux, Unix, Mac OS X, dan Windows. Keduanya open source dan gratis, sehingga biaya hanya untuk menguji mereka adalah waktu Anda dan perangkat keras. Keduanya fleksibel dan skala baik untuk keperluan mulai dari penyebaran kecil untuk sistem terdistribusi yang besar. MySQL berjalan satu tingkat lebih kecil dari PostgreSQL, yang tertanam menggunakan libmysqld. PostgreSQL tidak mendukung aplikasi embedded, menempel bukan dengan arsitektur client / server tradisional.

PHP
Awalnya PHP merupakan singkatan dari "Personal Home Page" (Situs personal) yang dibuat pertama kali oleh Rasmus Lerdorf pada tahun 1995, dan PHP masih bernama Form Interpreted (FI), yang berwujud berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Rasmus merilis kode sumber untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi Open-Source, maka banyak developer yang tertarik untuk ikut mengembangkan PHP.

Pada November 1997, dirilis PHP/FI 2.0. Pada versi ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.

Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.

Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.

Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

Berikut contoh pengoneksian PHP dengan PostgreSQL dan MySQL:

PHP dengan MySQL:

<?php

$nama_server = 'localhost'; //Nama MySQL Server atau IP address
$db_nama_user = 'root'; //Nama User database
$db_password = 'test'; //Kata Sandi database
$db_nama = 'db_test'; //Nama database
$db = mysql_connect("$nama_server","$db_nama_user","$db_password");
if(!$db) die("Tidak Bisa Membuka Database!.");
mysql_select_db($db_nama,$db) or die ("Gagal membuka Database!.");

//Misal query dari isi tabel
$rs = mysql_query("select * from tabel_isi");
while($rows = mysql_fetch_array($rs)) {
    echo $rows['isi']; 
    //$rows['isi'] : dimana "isi" adalah nama kolom dari tabel
}

?>

PHP dengan PostgreSQL:

<?php

$nama_server = 'localhost'; //Nama PostgreSQL Server atau IP address
$db_nama_user = 'root'; //Nama User database
$db_password = 'test'; //Kata Sandi database
$db_nama = 'db_test'; //Nama database
$dbconn = pg_connect("host=$nama_server 
                     port=5432 
                     dbname=$db_nama 
                     user=$db_nama_user 
                     password=$db_password ") 
                     or die('Koneksi ke Database Gagal!.');

//Misal query dari isi tabel
$rs = pg_query("select * from tabel_isi");
while($rows = pg_fetch_array($rs)) {
    echo $rows['isi']; 
    //$rows['isi'] : dimana "isi" adalah nama kolom dari tabel
}

?> 
Baca Selengkapnya »