Syndicate content

tutorial

Menggabungkan Damn Small Linux dan GeeXboX

Berikut ini adalah tutorial langkah demi langkah membuat live cd yang berisi Damn Small Linux dan GeeXboX. Maaf kalau tidak ada penjelasan :P

Mengapa GeeXboX dan DSL?
Karena kebetulan keduanya menggunakan struktur direktori yang berbeda dalam menyimpan file image dari filesystem yang akan digunakan pada live cd. Sehingga proses penggabungan tidak terlalu rumit. Andaikan keduanya menggunakan direktori yang sama, maka perlu ada modifikasi pada script yang dijalankan pada saat menyiapkan live cd.

Membuat Template Engine Sederhana

Salah satu usaha yang dapat dilakukan untuk memisahkan antara logic dan presentation pada sebuah aplikasi php adalah dengan menggunakan template engine. Sudah banyak template engine siap pakai seperti Smarty, XTemplate, dan sebagainya.

Dalam tutorial kali ini saya akan menunjukkan cara membuat sebuah template engine yang sangat sederhana yang hanya terdiri dari beberapa baris php saja yang mudah-mudahan cukup mudah dipahami dan dipakai dan tentunya dapat berfungsi sebagai pemisah antara logic dan presentation.

Membuat Rich Text Editor dalam Situs Web

Pada dasarnya, tidak ada elemen HTML yang dapat membantu user untuk memasukkan tulisan yang mendukung visual formatting alias kita dapat memformat atau mengatur style dari tulisan secara visual (WYSIWIG). Namun seiring berkembangnya kebutuhan dan berkembangnya browser yang digunakan untuk menampilkan file HTML, sebuah text editor yang WYSIWIG (saya sebut saja rich text editor) dapat kita buat.

Perlu diperhatikan juga, fasilitas pembuatan rich text editor ini menggunakan fasilitas yang disediakan oleh browser dan ternyata tidak semua browser menyediakan fasilitas ini. Contoh browser yang memiliki fasilitas ini adalah Mozilla sekeluarga dan Internet Explorer. Selain itu, javascript ikut berperan serta dalam pembuatannya.

Crossbrowser CSS

Bagi yang suka ngutak-atik CSS pasti sudah mengalami masalah dengan kompatibilitas browser. Udah cape2 bikin CSS yang baru dicoba di satu browser ujicoba, pas dicoba di browser lain semua jadi kacau.

Ada 2 hal yang bisa dilakukan untuk mengatasi masalah ini, yaitu:

  1. Gak peduli mau kompatibel atau ngga, yang penting udah ada browser yang nampilin dg bagus
  2. Ngutak-atik CSSnya lagi sehingga ok di semua browser

Untuk solusi pertama rasanya usaha berikutnya yang harus dilakukan adalah memaksa user supaya memakai browser yang sama dengan pembuat CSS.

Sedangkan untuk solusi kedua, gw mo berbagi beberapa trik yang gw tau atau yang biasa gw pakai.

Canon i255 di Debian

Akhirnya, setelah nyoba2 lagi, gw dah bisa ngeprint di linux pake printer Canon i255. Kira2 caranya begini..

  1. Download drivernya. Gw download dari link yang dikasih oleh kaosgeek di linux.or.id. Silakan buka http://linux.or.id/node/183.
  2. Berhubung file yang dikasih berupa format rpm, convert dulu jadi deb pakai alien.
  3. Install seperti biasa

    # dpkg -i bjfiltercups_2.3-1_i386.deb
    # dpkg -i bjfilteri255_2.3-1_i386.deb
    
  4. Mungkin ada beberapa file binary yang kehilangan shared library yang dibutuhkannya. Dalam kasus gw, salah satunya adalah file /usr/local/bin/bjfilteri255. Coba aja lihat shared library yang dipake dg perintah ldd

Nginstal modul kernel

Yap.. ini adalah tutorial kecil gmana cara nginstall modul baru tuk kernel. Tentunya dengan “cara Debian”. :D

Misalnya gw mau nginstall modul bernama FUSE (FUSE: Filesystem in Userspace), inilah langkah-langkah mudah yang perlu dilakukan..

  1. Cek kernel yang dipake dengan perintah uname -r (atau pake uname -a kalau mau liat versi yang lebih lengkap). Pada mesin yg gw pake ini, perintah tadi ngeluarin tulisan

    # uname -r
    2.6.8-2-386
    
  2. Install paket kernel-headers-2.6.8-2-386

    # apt-get install kernel-headers-2.6.8-2-386
    

Remote Procedure Call dengan SunRPC

Salah satu implementasi RPC (Remote Procedure Call) adalah dengan menggunakan SunRPC. Dalam tutorial kali ini, saya akan mencontohkan pembuatan program sederhana yang menggunakan SunRPC.

Service yang disediakan oleh program adalah operasi matematika dasar, yaitu penjumlahan, pengurangan, perkalian, pembagian, dan pencarian modulo.

Membuat Web Service dengan PHP

Dalam tutorial kali ini, saya akan menjelaskan cara membuat server dan client web service dengan PHP. Web service yang akan kita buat adalah web service yang menyediakan layanan operasi-operasi dasar matematika.

Memproses Dokumen RSS dengan XML_RSS

Belakangan ini banyak situs di internet yang menawarkan fasilitas sindikasi data dengan mpenggunakan RSS. Dengan menggunakan RSS ini, kita dapat dengan mudah mengambil data dari situs lain dan menampilkannya di situs kita sendiri. Namun pembacaan dan pemrosesan format RSS itu dapat menjadi masalah tersendiri jika kita tidak tahu cara yang mudahnya.

PHP memiliki suatu repositori kelas-kelas yang dapat digunakan oleh kita selaku developer PHP yang disebut dengan PEAR (The PHP Extension and Application Repository). Salah satu paket yang ada dalam PEAR adalah XML_RSS yang dapat mempermudah hidup kita dalam memproses format RSS.

Persyaratan

Untuk menggunakan XML_RSS tentunya Anda harus sudah memiliki paket XML_RSS tersebut. Buatlah script di bawah ini untuk mengecek apakah Anda sudah memiliki paket XML_RSS atau belum.

<?

include('XML/RSS.php');

?>

Jalankan script tersebut dan lihat apa keluaran yang dihasilkan. Jika script tersebut mengeluarkan pesan kesalahan, berarti Anda belum memiliki paket XML_RSS. Mintalah kepada administrator komputer yang Anda gunakan untuk menginstallkan paket XML_RSS tersebut.

Jika Anda menggunakan komputer sendiri yang sudah terhubung dengan Internet, gunakanlah perintah di bawah ini untuk menginstall paket XML_RSS

pear install XML_RSS

Perlu diperhatikan bahwa paket XML_RSS tersebut memiliki ketergantungan dengan beberapa paket lain, sehingga Anda juga harus menginstall paket-paket tersebut terlebih dahulu. Anda akan diberitahu oleh script instalasi paket PEAR jika Anda membutuhkan paket lain untuk diinstall terlebih dahulu.

Pembacaan dokumen RSS

Ada tiga cara untuk menentukan dokumen yang akan dibaca oleh XML_RSS, yaitu dengan menyebutkan nama file yang berisi dokumen RSS, memberikan file handler untuk suatu dokumen RSS, dan memasukkan sebuah string yang berisi dokumen RSS.

Kondisi yang menyebabkan cara pertama atau kedua harus digunakan tidak berbeda jauh. Cara pertama atau kedua dapat digunakan jika Anda memiliki dokumen RSS yang terletak pada file lain (atau bahkan ada di sebuah situs web yang terpisah). Cara ketiga digunakan jika Anda memiliki sebuah variabel yang mengandung sebuah dokumen RSS yang ingin Anda proses.

Contoh penggunaan cara pertama

$rss = new XML_RSS('namafile.xml');
$rss->parse();

Contoh penggunaan cara kedua

$f = fopen('namafile.xml', 'r');
$rss = new XML_RSS($f);
$rss->parse();

Contoh penggunaan cara ketiga

$rss = new XML_RSS('');
$rss->setInputString($data_rss);
$rss->parse();

Setelah salah satu dari tiga cara di atas dilakukan, dokumen RSS Anda telah diproses dan siap untuk ditampilkan.

Menampilkan data dari dokumen RSS

Kelas XML_RSS memiliki 5 buah method yang dapat digunakan untuk menampilkan data dari dokumen RSS, yaitu getStructure(), getChannelInfo(), getItems(), getImages(), dan getTextInputs(). Dari kelima method tersebut, kita hanya akan menggunakan dua buah method, yaitu getChannelInfo() dan getItems().

Method getChannelInfo() digunakan untuk mendapatkan informasi umum mengenai dokumen RSS (data dari elemen channel pada dokumen RSS). Method ini akan mengeluarkan sebuah associative array yang berisi data-data yang dapat Anda gunakan, antara lain title, description, dan link.

Method getItems() digunakan untuk mendapatkan data-data yang ada dalam dokumen RSS. Method ini akan menghasilkan array yang masing-masing elemennya adalah suatu accosiative array yang berisi data title, link, pubDate, dan description.

Contoh implementasi

Script berikut akan membaca dokumen RSS dari http://fajran.net/blog/rss.php dan menampilkannya dalam bentuk HTML.

<?

include('XML/RSS.php');

$rss = new XML_RSS('http://fajran.net/blog/rss.php');
$rss->parse();

$channel = $rss->getChannelInfo();
$items = $rss->getItems();

?>
<html><head>
<title><?=$channel['title'];?></title>
</head><body>

<h1><a href="<?=$channel['link'];?>"><?=$channel['title'];?></a></h1>

<p><?=$channel['description'];?></p>

<?

for ($i=0; $i<count($items); $i++) {

?>

<h2><a href="<?=$items[$i]['link'];?>"><?=$items[$i]['title'];?></a></h2>

<p><?=$items[$i]['pubDate'];?></p>

<?=$items[$i]['description'];?>

<?

}

?>

Source code di atas dapat Anda lihat hasilnya melalui dengan membuka file memproses-rss.php.

Mudah bukan? Anda cukup mengetikkan sekitar 5 baris untuk memproses dan mengambil data dari sebuah dokumen RSS. Setelah itu, Anda dapat berkreasi lebih jauh lagi dalam memanfaatkan data yang terkandung dalam dokumen RSS tersebut.

Daftar dua kolom

Untuk membuat sebuah daftar dalam HTML, kita biasa menggunakan element ol atau ul. Elemen ol digunakan untuk membuat daftar terurut (ordered list) sedangkan ul digunakan untuk membuat daftar yang tidak terurut atau tidak memerhatikan urutan (unordered list).

Penggunaan element ol atau ul ini akan menghasilkan suatu daftar yang menurun ke bawah, seperti dicontohkan dalam contoh 1. Kita bisa membuat variasi lain dari penampilan daftar ini, yaitu menampilkan daftar dalam dua kolom. Untuk membuat daftar dalam dua kolom, kita akan menggunakan bantuan dari CSS.