Wednesday, March 05, 2008

Iseng-iseng bikin wallpaper

inilah jadinya kalo lagi streesss ngerjain TA, apa aja jadinya dikerjain... (asal jangan ngerjain anak orang...)



silahkan ambil bagi yang berminat,
kalo ada yang kurang, bilang aja...
baca selengkapnya...


OMG! it's a great article, Share Oh!


Thursday, February 07, 2008

Ajax Livesearch with PRADO

Beberapa hari ini saya mencoba untuk bisa mengimplementasikan pembuatan Ajax dengan framework PRADO. Ternyata tidak semudah yang dibayangkan, tapi memang sebenarnya mudah.

Saya ada ide untuk membuat Livesearch, tapi tidak sekedar suggest, seperti halnya google suggest. Disini kita akan membuat livesearch seperti yang ada di Windows Vista. Jadi tinggal ketik, result nya langsung keluar, without button or enter pressed. Ini saya edit dari tutorial blog PRADO.

Ini code untuk tampilannya : LiveSearch.page

<com:TContent ID="Main">

<h3 class="portlet-title">Live-Search</h3>

<div id="load" style="display: none">

<com:TImage ImageUrl="/prado/blog/assets/img/load.gif" /></div>

<com:TAutoComplete ID="Live" OnSuggest="doSearch" >

<prop:ClientSide

OnLoading="Element.show('load')"

OnComplete="Element.hide('load')"/>

</com:TAutoComplete>

<br />

<br />

<com:TActiveLabel ID="LiveSearchLabel" Text="" />

<com:TActivePanel ID="ResultPanel" ActiveControl.EnableUpdate="true">

<com:TRepeater ID="PostList">

<prop:ItemTemplate>

<div class="post">

<com:TActiveHyperLink

Text="<%# $this->Data->title %>"

NavigateUrl="<%# $this->Service->constructUrl('posts.ReadPost',array('id'=>$this->Data->id)) %>" />

</div>

</prop:ItemTemplate>

</com:TRepeater>

</com:TActivePanel>

</com:TContent>

Ini code untuk controlnya : LiveSearch.php

<?php

class SearchPost extends TPage

{

private $criteria;

private $count_result;

public function doSearch($sender, $param)

{
// getToken, if you make OnSuggest...

$key=TPropertyValue::ensureString($param->getToken());

// make some criteria for query ?

$this->criteria = new TActiveRecordCriteria;

$this->criteria->Condition = 'content LIKE :key OR title LIKE :key';

$this->criteria->Parameters[':key'] = '%'.$key.'%';

// send databind ?

$this->PostList->DataSource = $this->matchSearch();

$this->PostList->VirtualItemCount = $this->count_result;

$this->PostList->dataBind();

// to indicate variable $key is update on browser

$this->LiveSearchLabel->Text = "Search ".$this->count_result." results for <b>".$key."</b> :";

$this->ResultPanel->render($param->getNewWriter());

//$this->ResultPanel->focus();

}

public function renderResult($sender, $param)

{

//$this->ResultPanel->render($param->getNewWriter());

}

public function matchSearch()

{

$posts= PostRecord::finder()->findAll($this->criteria);

$this->count_result = count($posts);

return $posts;

}

}

?>

Komponen utama yang kita pakai disini adalah TAutoComplete dan TRepeater. Kegunaannya adalah sebagai alat input tanpa menggunakan tombol (langsung perhuruf yang ditulis) dan TRepeater untuk menampilkan datanya. Sebenarnya kita juga bisa menggunakan TActiveTextBox, tapi perlu ada tambahan javascript-nya. Dan biar lebih menarik, kita tambahkan gambar loading.gif, agar tampak kesan Ajaxnya...


Gimana?

Mudah bukan. Mudah-mudahan bisa bermanfaat. Dan silahkan Anda kembangkan dengan ide masing-masing...

Thank’s untuk bantuan teman-teman di pradosoft.

;D


baca selengkapnya...


OMG! it's a great article, Share Oh!


Wednesday, February 06, 2008

Cara mudah Bikin Web sendiri

Iya, saya tidak mengada-ada, memang untuk membuat aplikasi web saat ini sangat mudah. Kalau ingat dulu (masa-masa awal kuliah), untuk membuat aplikasi web kita akan dibikin pusing oleh berbagai macam algoritma dan sintax. Apa arti web pun kita bingung, apalagi untuk mulai menggunakan javascript atau php. Belum lagi aplikasi harus dibangun dengan pendekatan object oriented (apa ini.....temennya study oriented ?? ).

Nah sekarang semua serba mudah. Kalo mau ngak repot sama sekali, kita tinggal gunakan CMS (Content Management System). Teknologi ini begitu mudahnya, sampai-sampai kita tidak perlu coding sama sekali dalam membangun aplikasi web. Tinggal ekstrak source file-nye ke server, setting sesuai keinginan, dan web sudah bisa digunakan. Fasilitasnya lengkap lagi, mulai dari halaman admin, manage user, manage posting, email, sampai untuk kebutuhan e-commers. Coba aja macam-macam CMS yang free dan open source, seperti : Joomla!, Mambo, Zencart, dll. Cocok untuk anda yang tidak mau pusing dengan syntax atau algoritma.

Tapi jadi masalah kalo CMS dipakai untuk kuliahan(apalagi bidang informatika seperti saya), pastinya dimarahin dosen. Karena kita akan terlalu dimanja, padahal kita juga pasti perlu tahu tentang web engineering. Mulai dari software, hardware, sampai metode pembangunan aplikasi web. Tapi kalo bangun sendiri dari nol akan repot dan tidak maksimal. Untuk itulah ada solusi kita menggunakan framework, framework untuk web engineering. Lho kan sudah ada CMS, ngapain repot? CMS selain alasan terlalu “mudah”, juga karena setiap CMS dibuat dengan spesifikasi tertentu, misalnya untuk keperluan e-commers, blog, portal, forum, dll. Sedangkan kalo kita menggunakan framework, kita akan lebih bebas ber-ekspresi, sesuai keinginan. Menggunakan Framework mengharuskan kita untuk coding, baik dalam bentuk HTML, PHP, Javascript, atau bahkan XML, dll. Tapi jangan khawatir, menggunakan framework pastinya akan lebih praktis dan mudah, bila dibandingkan kita coding sendiri dari nol (tanpa framework). Aplikasi yang dihasilkan juga akan lebih baik, dengan parameter kerapihan arsitektur, reusability, keamanan, kemudahan dipelajari, dan banyak kelebihan lainnya (tergantung framework yang digunakan).

Mungkin ada ratusan jumlah framework yang bertebaran seantero jagad raya ini, dan itu semua pada umumnya gratis. CakePHP, Symfony, PRADO, Zend, WATC, Seagull,dll. Konsep framework ini pastinya menggunakan pendekatan object-oriented programming, yang terkenal itu. Dan mayoritas menggunakan arsitektur Model-View-Controller, kecuali PRADO. Artinya pembangunan aplikasi web kita akan dibagi kedalam tiga concern yang berbeda, Model untuk representasi data, View untuk interaksi dengan end user, sedangkan Controller adalah tempat seluruh proses yang menjadi penghubung Model dengan View. Kalau anda merasa agak sulit, percayalah bahwa ini sebenarnya sangat mudah. PRADO sendiri menggunakan pendekatan arsitektur event-driven, mirip seperti Delphi. Untuk itu saya mengambil sebuah analogi untuk penggunaan framework ini, anda past bisa membandingkan mana lebih mudah menggunakan Delphi atau Pascal? (kedua memiliki dasar syntax yang sama). Sekali lagi, kalau pun saat ini Anda merasa kesulitan, maka saya sarankan untuk tetap percaya bahwa ini sebenarnya mudah. Tinggal masalah waktu saja, sampai Anda mengerti menggunakannya, dan Anda akan merasakan peningkatan produktifitas kerja dalam hal pembangunan aplikasi web (he….sedikit promosi dan maksa….).
baca selengkapnya...


OMG! it's a great article, Share Oh!


Monday, January 21, 2008

Memulai Ajax dengan CakePHP

Untuk memulai menggunakan Ajax di CakePHP, tidaklah sesulit yang kita bayangkan. Bahkan CakePHP menjamin kita tidak akan menuliskan script javascript untuk bisa membangun aplikasi Ajax.... masak siih ??

Pertama-tama, kita mulai dengan bismillah...

Kedua-dua, kita perlu mendapatkan tools atau library javascript yang telah tersohor namanya, yaitu prototype dan script.aculo.us, silahkan download semuanya.

Dan pastikan anda telah mengekstrak prototype.js (yanga ada di folder lib) dan semua file yang ada difolder src, letakkan didalam webroot/js anda.

Sekarang kita akan membuat file-file javascript tersebut dapat digunakan dihalaman manapun dari aplikasi CakePHP kita. Caranya, letakkan script ini di bagian head dari file app/views/layouts/default.ctp

if(isset($javascript)) {

echo $javascript->link('prototype.js');

echo $javascript->link('scriptaculous.js?load=effects.js');

echo $javascript->link('controls.js');

};

Artinya, kalau javascript anda telah diset ada, maka aplikasi akan bisa mengambil tools-tools ajax tersebut. Sebaliknya ini tidak akan berjalan bila browser anda mematikan javascript.

Sekarang tambahkan Helpers “Javascript” dan “Ajax” pada Controller anda.

Setelah itu, silalahkan anda baca API dan Manual dari CakePHP, untuk mempermudah menggunakan Helpers Ajax yang sudah disediakan. Sudah lengkap dan jelas kok, jadi jangan takut...

Saya kasih contoh satu hal untuk buat link yang ‘berbau’ ajax.

Gini caranya, silahkan perhatikan penjelasan yang ada di manual CakePHP :

link($title, $href, $options, $confirm, $escapeTitle);

options sendiri akan berisi :

$options[‘url’][‘update’][‘loading’]...bla...bla...

Nah, sebagai pemula kita pake 3 variable penting dulu aja ya....

Gini contohnya (lakukan ini di View anda) :

$ajax->link('klik saya', '/posts', array('update'=>'main',

'loading' =>"Element.show('load_page')", 'loaded'=>"Element.hide('load_page');

Effect.Appear('post')"));

Mudahkan? Begini penjelasannya..... untuk main, load_page, post...... merupakan nama id dari tag div, bagian yang akan kita update dengan menggunakan ajax, silahkan anda bikin sendiri sesuai kreatifitas. Nanti kalo anda sudah jago, ajarin saya juga ya...

baca selengkapnya...


OMG! it's a great article, Share Oh!


 

Followers

Social Share

[ttm]. topan tambunan menulis Copyright © 2009 Gadget Blog is Designed by Ipietoon Sponsored by Online Business Journal