Minggu, 15 April 2012

Prototype & script.aculo.us


sfProtoculousPlugin : Plugin Prototype & Scriptaculous di Symfony


scriptaculous
Ajax : scriptaculous & prototype
sfProtoculousPlugin merupakan plugin yang dibuat oleh pengembang symfony, untuk mempermudah penerapan Ajax pada framework symfony. Sebenarnya tutorial tentang penggunaan Plugin ini cukup lengkap, bisa dilihat di documentasi Ajax Integration. Dan jangan lupa juga untuk berkunjung ke web nyaprototype dan scriptaculous, karena disana juga ada panduan lebih detil tentang penggunaan Ajax nya.

Cara Install?

Untuk cara instalasi nya cukup mudah, seperti yang telah dijelaskan pada web sfProtoculousPlugin. Jangan lupa untuk mengikuti setiap step nya. Jika Anda mengalami kesulitan karena error PEAR, saya sarankan untuk mendownload manual, dan install di command symfony. Misalnya, setelah download file plugin disimpan di C:, maka cara install nya seperti ini,
> symfony plugin:install C:\sfProtoculousPlugin.tgz
Kalau ternyata cara ini juga tidak berhasil, maka coba untuk meng-extrak source plugin itu, kemudian copy ke dalam direktory plugins.

Untuk Apa Plugin Ajax ini?

Agak ribet juga menjelaskan kegunaan Ajax. Tapi inti nya adalah untuk membuat tampilan web menjadi lebih interakti. Misal, ketika kita meng-klik tombol, maka hanya element tertentu saja yang berubah, sehingga loading web nya bisa lebih cepat. atau ketika kita mengisi form, bisa langsung otomatis memunculkan suggestion, dsb. Maka nya dikenal istilah, autocomplete, drag n drop, auto suggestion, ajax link, remote link, event listener, edit in place, update element, dsb.
Ini dia beberapa function Ajax yang tersedia pada Plugin ini (dari namanya kita sudah bisa menebak seperti apa kegunaannya),
§  link_to_remote
§  form_remote_tag
§  submit_to_remote
§  submit_image_to_remote
§  periodically_call_remote
§  remote_function
§  observe_field
§  observe_form
§  button_to_remote
§  draggable_element
§  drop_receiving_element
§  input_auto_complete_tag
§  input_in_place_editor_tag
§  sortable_element
§  visual_effect
Untuk penjelasan lebih lanjut, sebaiknya Anda melihat beberapa contoh penerapannya di web scriptaculous demos.

Bagaimana Menggunakannya?

(nanya mulu nih.. :-) )
Ada beberapa hal penting tentang penggunaan plugin ini. Diantaranya Anda harus mengetahui Javascript, kalau pun tidak yang penting punya referensi untuk bisa mengetahui penggunaan Javascript. Begitu juga referensi tentang prototype dan scriptaculous.
Kita harus menyertakan helper Javascript disetiap template action yang akan menggunakan script dari plugin ini. Letakkan definisi helper diposisi paling atas (wajib) file template action.
<?php use_helper('Javascript') ?>
Dan pada umumnya, Plugin yang berkaitan dengan Ajax (seperti prototype atau JQuery), hanya dipasang pada template action, sehingga tidak membutuhkan modifikasi di action.class nya.
Setelah Anda mendeklarasikan penggunaan Helper Javascript, maka silahkan dicoba beberapa contoh penggunaan fitur pada plugin ini. Bisa dilihat detilnya dan langsung copy-paste contoh script nya, disini.

Experiment #1

Saya akan ikuti salah satu contoh script yang ada, untuk membuat link remote (tombol) menampilkan halaman tertentu, tanpa harus me-refresh semua halaman web. Nanti nya halaman (url) yang kita ingin tampilkan, akan ditampilkan pada element (div) tertentu saja. Ini dia contoh sederhananya (lihat listing 11-25), misalkan kita isikan di template view (module tesplugin) tulisan bebas. Kemudian isi template index (module tesplugin) dengan script ini,
<div id="feedback"></div>
<div id="indicator" style="display: none">Loading...</div>
<?php echo link_to_remote('Show this post', array(
    'update'   => 'feedback',
    'url'      => 'tesplugin/view',
    'loading'  => visual_effect('appear', 'indicator'),
    'complete' => visual_effect('fade', 'indicator').
                  visual_effect('highlight', 'feedback'),
)) ?>
Silahkan perhatikan script diatas, sebenarnya tidak lah rumit. Ada element (div) feedback dan indicator. Ada function link_to_remote (ini ajax nya) yang nantinya akan menjadi tampilan tombol dengan tulisan “show this post”. Jika tombol itu ditekan, maka element (div) feedback akan menampilkan isi dari halaman “tesplugin/view”. Element itu ditampilkan secara otomatis tanpa me-reload halaman web, dan memunculkan effect appear, fade, dan highlight. Agak susah menjelaskan dengan kata-kata, silahkan Anda copy-paste dan rasakan sendiri “sensasinya”.

Experiment #2

Sekarang mari kita coba menggunakan plugin ini untuk menampilkan hasil pengolahan inputan form secara otomatis. Kita akan menggunakan function observe_field (lihat bagian listing 11-13 dan 11-14). Jadi kita akan membuat inputan text, jika user memasukkan inputan tertentu maka akan ada element (div) yang otomatis menampilkan hasil tertentu.
<form action="<?php echo url_for(tesplugin/tes);?>" method="POST">
 
<label for="item">Item:</label> 
<input type="text" id="item" />
 
<div id="item_suggestion"></div> 
<?php echo observe_field('item', array(
      'update'   => 'item_suggestion', 
      'url'      => 'tesplugin/view',  )) ?>  
 
</form>
Jadi, function observed_field akan melakukan “pemantauan” secara otomatis. Setiap ada perubahan pada element (input) “item”, maka function tersebut akan aktif melakukan update terhadap element (div) “item_suggestion”, yang akan diisi dengan tampilan dari template “tesplugin/view”. Kita dapat memodifikasi agar tampilan “tesplugin/view” menampilkan hasil query sesuai inputan yang dilakukan pada element (input) “item”.
Experiment #3
Ini juga cukup menarik, edit_in_place. Silahkan langsung coba script yang ada di listing 11-34.
<div id="edit_me">You can edit this text</div>
<?php echo input_in_place_editor_tag(
        'edit_me',
        'mymodule/myaction',
         array(
           'cols'  => 40,
           'rows'  => 10,))
 ?>
Silahkan langsung dicoba, dan kemudian coba di klik tulisan “you can edit this text” pada tampilan browser anda. Apa yang terjadi? :-)

Butuh Kreatifitas dan Ketelitian dalam penggunaan Plugin yang berhubungan dengan Ajax. Sebenarnya sangat mudah dan menarik loh. :-)
silahkan mencoba!


Selasa, 10 April 2012


Pikirkan  Nasib Rakyat jika BBM Jadi Naik
http://assets.kompas.com/data/photo/2012/03/08/1344459p.jpg

KOMPAS/PRIYOMBODO
Antrean kendaraan bermotor yang akan mengisi bahan bakar minyak (BBM) di SPBU seperti ini, tak terlihat lagi di Kota Pontianak tiga hari terakhir ini.

JAKARTA, KOMPAS.com - Partai Keadilan Sejahtera merasa pemberitaan media dan opini publik yang lebih banyak menyorot nasib PKS dalam koalisi, dikhawatirkan justru akan menghilangkan esensi atau mereduksi makna penolakan penaikan harga BBM oleh rakyat.
Janganlah isu penolakan penaikan harga BBM yang menjadi isu publik berubah arah menjadi isu elitis soal polemik dan konflik politik diantara partai-partai, khususnya yang tergabung dalam koalisi.

"Janganlah isu penolakan penaikan harga BBM yang menjadi isu publik berubah arah menjadi isu elitis soal polemik dan konflik politik diantara partai-partai, khususnya yang tergabung dalam koalisi," ujar anggota Ketua DPP PKS Bidang Ekonomi dan Kewirausahaan Jazuli Juwaini di Jakarta, Rabu (4/4/2012).

Menurut anggota Fraksi PKS yang duduk di Badan Anggaran DPR RI ini, Paripurna DPR telah usai. Sikap fraksi-fraksi juga sudah jelas. Keputusan telah diambil, meskipun keputusan DPR RI tersebut masih akan diuji materi, baik secara formil maupun materiil. Bagi PKS yang terpenting adalah bagaimana nasib rakyat seteleh keputusan Paripurna tersebut.

"Sikap kami jelas. Kami dengar suara rakyat, tolak kenaikan harga BBM. Sebagai konsekuensi kami berbeda dengan pendapat mayoritas fraksi koalisi, silakan Pak SBY evaluasi PKS. Kami siap apapun keputusannya karena prerogatif ada di tangan Presiden SBY. Demikian saja, titik, tidak usah diperdebatkan," tegas Jazuli Juwaini.
"Selebihnya kami tidak tertarik bicara nasib kami di koalisi. Lebih penting bagi kami untuk membicarakan nasib rakyat pasca paripurna yang menyetujui penaikan harga BBM dengan syarat sebagaimana diatur pada Pasal 7 Ayat 6A UU APBN 2012," lanjut Jazuli.
PKS akan tetap mendesak dan mendorong pemerintah untuk melakukan gerakan penghematan (efisiensi) nasional yang masif dan efektif pada pos-pos anggaran di semua kementerian/lembaga. PKS juga akan mendesak pemerintah untuk secara bertahap melakukan penghematan penggunaan energi fosil ini, serta melakukan alih energi dari minyak ke energi alternatif supaya kita tidak salalu kerepotan menghadapi fluktuasi harga minyak dunia.
"Apapun akan kami lakukan agar harga BBM bersubsidi tidak jadi naik, dan hal ini juga sangat mungkin dilakukan oleh pemerintah di bawah kepemimpinan Pak SBY. Sehingga rakyat miskin yang hidupnya sudah sulit dan terhimpit tidak bertambah lagi bebannya. Inilah pendapat dan pendirian kami," pungkas Jazuli. 


Opini :
            Pada sumber berita di atas terdapat pro dan kontra yang bisa menjadi opini kali ini. Dari banyak perdebatan yang ada dapat di ambil kesimpulan bahwa dari kenaikan BBM memang sebaiknya terjadi.
            Karena dilihat dari kondisi Negara kita yang sangat memprihatinkan, memang benar dari kenaikan BBM akan meningkatkan rakyat miskin, meningkatnya pengangguran, harga-harga kebutuhan pokok akan meningkat. Namun karena demi memenuhi tuntutan rakyat yang semakin menjadi-jadi tanpa memikirkan calon penerus bangsa, subsidi pun dilakukan oleh pemerintah yang pada akhirnya hutang-hutang Negara akan semakin membengkak juga, mereka sama sekali tidak memikirkan hal tersebut. Jika di hitung-hitung, hutang Negara bias mencapai ratusan triliun. Jika kita tidak berusaha membangun Negara kita hanya demi kebutuhan pribadi, mau makan apa calon penerus bangsa kita.