<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5284874418824954884</id><updated>2012-01-20T12:13:53.392-08:00</updated><category term='PHP'/><category term='J2ME'/><category term='Web Development'/><category term='iPhone'/><category term='blogger'/><category term='Google AJAX API'/><category term='jQuery'/><category term='MySQL'/><category term='SEO'/><category term='3D'/><category term='Wisata'/><category term='Situs menarik'/><category term='gOS'/><category term='Ubuntu'/><category term='Theme'/><category term='Security'/><category term='JavaScript'/><category term='Java'/><category term='Icons'/><category term='Ebook gratis'/><category term='Pattern'/><title type='text'>Plug and Play Programming Partner</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3338212854070711736</id><published>2009-06-24T14:10:00.001-07:00</published><updated>2009-06-24T14:11:14.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>Terrestrica</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;img width='431' height='207' src='http://lh6.ggpht.com/__vC83XgntjU/SkKSpAijveI/AAAAAAAAAeU/rQVCN9LU3ic/%5BUNSET%5D.png?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;a href='http://www.terrestrica.net'&gt;Terrestrica.net&lt;/a&gt; menawarkan sesuatu yang menarik. Mungkin belum ada layanan seperti ini sebelumnya. Kita bisa sharing tempat-tempat menarik yang kita tahu kepada pengguna aplikasi ponsel Terrestrica. Pada waktu yang sama, kita bisa menambah uang jajan karena iklan yang dilihat orang ketika melihat ke lokasi yang kita input. Menarik. Rasanya mirip seperti ide saya, tetapi tetap saja beda.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.terrestrica.net/Pages/My_Locations/Add.aspx' target='_blank'&gt;Website ini dilengkapi dashboard&lt;/a&gt; di mana kita bisa menambahkan lokasi, melihat statistik lokasi yang kita input. Bagi pemasang iklan, bisa juga memasang iklan di sini. Saya ada kelemahan. Sedikit tapi krusial.&lt;br/&gt;&lt;br/&gt;&lt;img width='519' height='259' src='http://lh6.ggpht.com/__vC83XgntjU/SkKVTxmcfDI/AAAAAAAAAeY/S9GcPpjGRJY/%5BUNSET%5D.png?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;Saya tidak bisa menambahkan lokasi. Padahal saya sudah repot-repot mengisi form, kemudian menyiapkan foto tempat menarik tersebut. Tetapi waktu saya akan menentukan lokasinya di peta yang disediakan di sebelah kanan (saya diminta untuk me-resize kotak merah di peta tersebut), kotak merah itu tidak pernah saya temukan. Ketika saya mencari di mana saya bisa menemukan kotak merah tersebut, saya tidak menemukannya. Entahlah apa penyebabnya? Mungkinkah browser? Saya menggunakan Firefox 3. Entahlah, mungkin saya harus lihat kode programnya (Google MAP API yang mereka gunakan). Mungkin saja mereka khilaf.&lt;br/&gt;&lt;br/&gt;Atau saya ambil saja idenya, lalu saya bikin saja layanan serupa?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3338212854070711736?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3338212854070711736/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3338212854070711736' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3338212854070711736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3338212854070711736'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/terrestrica_24.html' title='Terrestrica'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/__vC83XgntjU/SkKSpAijveI/AAAAAAAAAeU/rQVCN9LU3ic/s72-c/%5BUNSET%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5190466399127288109</id><published>2009-06-23T11:27:00.001-07:00</published><updated>2009-06-24T14:11:39.436-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wisata'/><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>Panoramio, simpan tempat-tempat favorit Anda</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;img width='365' height='175' src='http://lh6.ggpht.com/__vC83XgntjU/SkEdZY4v0tI/AAAAAAAAAeM/N8XJgV3CZvQ/%5BUNSET%5D.png?imgmax=800' style='max-width: 800px; float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;' title='Panoramio' alt='Panoramio'/&gt;&lt;a href='http://www.panoramio.com/'&gt;Panoramio - Photos of the World&lt;/a&gt;&lt;br/&gt;Panoramio adalah website yang cukup menarik. Databasenya menyimpan foto-foto tempat menarik di dunia dari sumbangan penggunanya. Anda juga bisa menyimpan tangkapan kamera Anda tentang tempat wisata di daerah Anda.&lt;br/&gt;&lt;br/&gt;Saya sendiri lebih tertarik untuk mempelajari cara kerja Google Map API yang dipakainya. Menarik sekali.&lt;br/&gt;&lt;blockquote/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5190466399127288109?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5190466399127288109/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5190466399127288109' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5190466399127288109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5190466399127288109'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/panoramio-simpan-tempat-tempat-favorit.html' title='Panoramio, simpan tempat-tempat favorit Anda'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/__vC83XgntjU/SkEdZY4v0tI/AAAAAAAAAeM/N8XJgV3CZvQ/s72-c/%5BUNSET%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6850596193263279197</id><published>2009-06-21T07:42:00.000-07:00</published><updated>2009-06-21T08:11:32.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><category scheme='http://www.blogger.com/atom/ns#' term='Ebook gratis'/><title type='text'>Ebook Tutorial J2ME Client Server Database</title><content type='html'>&lt;a href="http://www.scribd.com/doc/16633694/Tutorial-J2ME-Client-Server-Database"&gt;Download ebook&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/247015476/tutorial-j2me-client-server-database.zip"&gt;Download source code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Akhirnya selesai juga ebook tutorial yang saya janjikan untuk Pak Sugeng. Mohon maaf ini kalau untuk menulis ebook ini membutuhkan waktu 1 minggu, meskipun sebagian konten-nya sudah saya tulis juga di blog ini.&lt;br /&gt;&lt;br /&gt;Dalam ebook ini saya mencoba memberikan asistensi kepada pembaca untuk membangun aplikasi client-server dengan protokol yang sangat sederhana dengan Java pada ponsel. Teknologi yang digunakan dalam membangun apllikasi ini adalah J2ME, PHP dan MySQL. Topik-topik yang dibahas antara lain:&lt;br /&gt;1. Bagaimana menggunakan Netbeans untuk membangun aplikasi J2ME dengan mudah&lt;br /&gt;2. Bagaimana membuat project PHP dengan Eclipse&lt;br /&gt;3. Bagaimana membuat fungsi dengan PHP&lt;br /&gt;4. Bagaimana melakukan koneksi ke database dengan PHP dan MySQL&lt;br /&gt;5. Bagaimana menangani request HTTP dengan method GET&lt;br /&gt;6. Bagaimana membuat flow aplikasi J2ME dengan mudah menggunakan Netbeans&lt;br /&gt;7. Bagaimana membuat koneksi dengan jaringan (protokol HTTP) pada J2ME&lt;br /&gt;8. Bagaimana membuat koneksi J2ME ke resource menjadi multi threading sehingga tidak berrasa hang&lt;br /&gt;9. Bagaimana mengimplementasikan Interface&lt;br /&gt;&lt;br /&gt;Saya melengkapi ebook ini dengan source code lengkap yang saya gunakan dalam tutorial ini. Harapan saya, dengan adanya source code lengkap ini, pemahaman pembaca lebih mengena. Tetapi saya tidak berharap pembaca menjadi malas mengetikkan sendiri kode program yang ada dalam tutorial ini.&lt;br /&gt;&lt;br /&gt;Ebook ini bisa didownload gratis dan bebas juga digunakan untuk keperluan pendidikan, termasuk bahan kuliah.&lt;br /&gt;&lt;br /&gt;Silakan download ebook ini. Saya mengharapkan kritik, saran, masukan dan pertanyaan atas ebook tersebut. Selamat membaca.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6850596193263279197?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6850596193263279197/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6850596193263279197' title='11 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6850596193263279197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6850596193263279197'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/ebook-tutorial-j2me-client-server.html' title='Ebook Tutorial J2ME Client Server Database'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-1452751695556833496</id><published>2009-06-17T07:21:00.000-07:00</published><updated>2009-06-17T08:01:32.450-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Melindungi website Anda dari SQL injection</title><content type='html'>Kadang saya berpikir, mengapa sih teman-teman white hacker tidak menulis dengan jelas tentang materi-materi pengamanan. Maksud saya dari sudut pandang developer. Intinya begini. Salah satu kelemahan dari aplikasi berbasis web (yang memakai database) adalah kerentanannya terhadap SQL injection. Pada waktu-waktu tertentu, misalnya mendekati masa Pemilu, juga ketika ada konflik dengan negara lain (seperti saat ini, Indonesia-Malaysia), para hacker dan adik-adik mereka, script kiddies, senang sekali melakukan hal ini: deface.&lt;br /&gt;&lt;br /&gt;Deface sering kali menjadi kendaraan untuk membuat nama (setidaknya nick name) pelakunya menjadi dikenal. Kemudian, para pakar keamanan mengecam tindakan deface ini. Beberapa membeberkan bahwa teknik yang digunakan oleh defacer (kalau boleh saya menyebutnya begitu) adalah ini, itu dan anu. Mungkin anu adalah SQL injection. Sayangnya, meskipun mereka membeberkan tentang cara kerja SQL injection (yang saya sendiri rasanya sudah cukup jelas memahaminya, tetapi selalu tidak berhasil memberikan contohnya :( ), mereka tidak memberikan solusi praktis untuk dilakukan.&lt;br /&gt;&lt;br /&gt;Saya bersyukur, ada yang berinisiatif menulis blog tentang ini. &lt;a href="http://srandal.com/algoritma-dan-teknik-menangkal-sql-injection/"&gt;Algoritma dan teknik menangkal SQL injection&lt;/a&gt;. Rajiva telah menulisnya sehingga cukup mudah dipahami, disertai dengan code snippet dengan PHP. Sayangnya, tidak diberikan contoh working example yang menunjukkan suksesnya sebuah SQL injection terhadap script yang tidak disertai &lt;span style="font-style: italic;"&gt;penangkal&lt;/span&gt;. Tapi bagaimanapun juga, saya salut kepada Rajiva. Good works! Nice post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-1452751695556833496?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/1452751695556833496/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=1452751695556833496' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/1452751695556833496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/1452751695556833496'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/melindungi-website-anda-dari-sql.html' title='Melindungi website Anda dari SQL injection'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-1752996794212222320</id><published>2009-06-17T07:09:00.000-07:00</published><updated>2009-06-17T07:16:23.901-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>Google Code Playground</title><content type='html'>Ketika mempelajari Google Map API, saya menemukan alamat menarik di dalam Google Code, yaitu &lt;a href="http://code.google.com/apis/ajax/playground/"&gt;Google Code Playground&lt;/a&gt;. Google Code Playground menyediakan cukup banyak code snippet untuk Google API. Di sini kita bisa learning by doing mempelajari Google API. Saya sendiri cukup menyesal mengetahui situs ini sekarang. Coba dulu-dulu, kan saya tidak usah belajar lama-lama.&lt;br /&gt;&lt;br /&gt;Anda tertarik belajar Google API? Buka dulu Google Code Playground. Bener deh, situs ini layak di bookmark.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-1752996794212222320?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/1752996794212222320/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=1752996794212222320' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/1752996794212222320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/1752996794212222320'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/google-code-playground.html' title='Google Code Playground'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3623335911228512242</id><published>2009-06-15T16:29:00.000-07:00</published><updated>2009-06-15T16:33:01.001-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Puzzle yang ditulis oleh Bruce Schneier untuk Wired Magazine</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.yesbutnobutyes.com/17986077.jpg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 242px; height: 334px;" src="http://www.yesbutnobutyes.com/17986077.jpg.jpg" alt="" border="0" /&gt;&lt;/a&gt;Beberapa saat yg lalu Bruce Schneier memberi tahu saya, bahwa dia diminta membuat cryptographic puzzle untuk edisi terbaru Wired Magazine.&lt;br /&gt;&lt;br /&gt;Idenya sangat sederhana tapi menarik. Bahkan beberapa orang blogger memposting solusi mereka untuk masalah ini, dan mereka menyatakan edisi inilah yang paling menarik selama ini.&lt;br /&gt;&lt;br /&gt;Anda juga ingin mencobanya?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3623335911228512242?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3623335911228512242/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3623335911228512242' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3623335911228512242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3623335911228512242'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/puzzle-yang-ditulis-oleh-bruce-schneier.html' title='Puzzle yang ditulis oleh Bruce Schneier untuk Wired Magazine'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-7878281051494557709</id><published>2009-06-15T16:00:00.000-07:00</published><updated>2009-06-15T16:12:31.203-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>PhotoDiary, kabar gembira untuk Photo Blogger</title><content type='html'>Jika Anda senang berbagi foto di blog Anda, kenapa harus memaksakan Wordpress sebagai engine blog Anda? Kemudian baru menambahkan theme untuk membuat Wordpress menjadi Photo Blog? Coba &lt;a href="http://www.alessandroronchi.com/photodiary10/#photodiary10-english"&gt;PhotoDiary&lt;/a&gt;, engine blog yang memang khusus untuk Photo Blogging.&lt;br /&gt;&lt;br /&gt;Fitur:&lt;br /&gt;1. Mudah mengirimkan foto&lt;br /&gt;2. Control panel&lt;br /&gt;3. Front-end yang dibuat dengan Flash, melindungi foto-foto Anda dari pembajakan&lt;br /&gt;4. Pembaca bisa menambahkan komentar di foto blog Anda&lt;br /&gt;5. Fullscreen view&lt;br /&gt;&lt;br /&gt;Sudah tidak sabar ingin mencoba? Anda bisa &lt;a href="http://code.google.com/p/photodiary"&gt;download PhotoDiary di sini&lt;/a&gt;. Atau Anda bisa &lt;a href="http://photodiary.webgriffe.com/demo/"&gt;mencoba front-end-nya dulu secara online di sini&lt;/a&gt;. Atau sudah mau mencoba upload foto? Silakan &lt;a href="http://photodiary.webgriffe.com/demo/admin/"&gt;lihat bagaimana control panelnya bekerja&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-7878281051494557709?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/7878281051494557709/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=7878281051494557709' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7878281051494557709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7878281051494557709'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/photodiary-kabar-gembira-untuk-photo.html' title='PhotoDiary, kabar gembira untuk Photo Blogger'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3636595325267517587</id><published>2009-06-09T09:06:00.000-07:00</published><updated>2009-06-09T09:44:34.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>Patterncooler, koleksi background pattern terbaik dan gratis</title><content type='html'>&lt;a href="http://www.patterncooler.com/"&gt;Patterncooler&lt;/a&gt; adalah situs penyedia background pattern yang gratis untuk dipakai pada aplikasi web, blog, Twitter, aplikasi ponsel maupun wallpaper background Anda. Anda bisa mendownload pattern background manapun yang Anda temukan pada situs tersebut.&lt;br /&gt;&lt;br /&gt;Yang cukup mengejutkan bagi saya, di website tersebut kita selain bisa memilih pattern yang Anda, kita juga &lt;a href="http://www.patterncooler.com/editor.php?P=F2F3DA75583A95C7FFFFF8CAFFB95C_80"&gt;bisa menentukan warna-warna yang digunakan dalam pattern tersebut&lt;/a&gt; selain juga ukuran grafik per &lt;span style="font-style: italic;"&gt;tile&lt;/span&gt;-nya. Cukup menarik.&lt;br /&gt;&lt;br /&gt;Saya sendiri sudah mendownload 3 pattern yang saya sukai, bahkan sudah saya jadikan &lt;a href="http://3.bp.blogspot.com/__vC83XgntjU/Si6NSXddtJI/AAAAAAAAAZQ/390Wk7IJnYk/s1600-h/nice-pattern.png"&gt;wallpaper di Ubuntu saya&lt;/a&gt;. Salah satunya adalah file ini:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/Si6LbeXqStI/AAAAAAAAAZI/gl9D2l6vwWw/s1600-h/131617FF46016AEBFF695444BEB3A1_129.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 225px; height: 130px;" src="http://4.bp.blogspot.com/__vC83XgntjU/Si6LbeXqStI/AAAAAAAAAZI/gl9D2l6vwWw/s320/131617FF46016AEBFF695444BEB3A1_129.png" alt="" id="BLOGGER_PHOTO_ID_5345363111860390610" border="0" /&gt;&lt;/a&gt;Cukup unik bukan?&lt;br /&gt;&lt;br /&gt;Menurut saya, pattern yang ada di website ini semuanya bersih sampai ke pixel-pixel terkecilnya, sehingga tidak pecah jika digunakan untuk website kita, tentu dengan penggunaan yang wajar (artinya tidak di-&lt;span style="font-style: italic;"&gt;stretch&lt;/span&gt; terlalu besar). Selain itu, pattern ini bekerja layaknya pattern seharusnya. Maksud saya, jika pattern ini digunakan sebagai background, satu petak pattern tersebut bisa langsung menyatu di semua sisinya, atas, bawah, kiri dan kanan. Silakan perhatikan tampilan desktop saya berikut ini:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/Si6NSXddtJI/AAAAAAAAAZQ/390Wk7IJnYk/s1600-h/nice-pattern.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/__vC83XgntjU/Si6NSXddtJI/AAAAAAAAAZQ/390Wk7IJnYk/s320/nice-pattern.png" alt="" id="BLOGGER_PHOTO_ID_5345365154410116242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Menurut dugaan saya, pattern-pattern ini dibuat dengan script. Bisa jadi menggunakan &lt;a href="http://www.phpgd.com/"&gt;library GD&lt;/a&gt; atau semacamnya, sebab jika tidak, bagaimana &lt;a href="http://www.patterncooler.com/news_blog/designers/root2art/"&gt;Harvey Rayner&lt;/a&gt; bisa mempersilakan kita memilih pattern, warna-warna juga ukuran gambar untuk tiap tile-nya.&lt;br /&gt;&lt;br /&gt;Meskipun saya menyukai situs ini, tetapi ada beberapa hal yang saya harapkan tapi tidak saya temukan di website ini, yaitu pattern alami seperti pattern kayu, batu atau pattern sederhana seperti pattern yang digunakan pada widget Mac OSX (hehehe, sebenarnya ini yang saya cari-cari). Memang, saya bisa menemukan pattern-pattern kayu, batu, daun, dll di situs lain, tetapi umumnya pattern-pattern itu tidak bisa menyatu jika dijadikan wallpaper atau background. Hasilnya selalu terlihat kotak-kotak.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.patterncooler.com/img/wigger.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 300px; height: 400px;" src="http://www.patterncooler.com/img/wigger.jpg" alt="" border="0" /&gt;&lt;/a&gt;Harvey selalu menampilkan foto lucunya menggunakan wig yang jelek sekali di halaman download, selain meminta donasi sebesar 1 dollar saja yang bisa dibayarkan melalui PayPal. Maklum, dia kan perlu cari makan juga. Betul nggak? Tapi saya yakin pembaca Indonesia pasti nggak mau bayar kan? Kebiasaan!!! Hehehe, tapi saya juga sih.&lt;br /&gt;&lt;br /&gt;Intinya, website ini bermanfaat banget kalau Anda kehabisan akal, mau pake background apa untuk aplikasi web based Anda.&lt;br /&gt;&lt;br /&gt;Selamat mencoba!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3636595325267517587?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3636595325267517587/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3636595325267517587' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3636595325267517587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3636595325267517587'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/patterncooler-koleksi-background.html' title='Patterncooler, koleksi background pattern terbaik dan gratis'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__vC83XgntjU/Si6LbeXqStI/AAAAAAAAAZI/gl9D2l6vwWw/s72-c/131617FF46016AEBFF695444BEB3A1_129.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-4959266846521361249</id><published>2009-06-06T10:39:00.000-07:00</published><updated>2009-06-06T11:56:37.606-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 4</title><content type='html'>Sudah lama saya pengen nulis ini. Melanjutkan tutorial sebelumnya (bagian 3). Mestinya kita sudah punya file PHP untuk menangani permintaan HTTP GET yang dikirim dari ponsel. Kalau belum nyambung, silakan baca tutorial sebelumnya. Oh ya, jika Anda temukan kode program dalam artikel ini berantakan, tidak masalah. Copy dan paste saja ke Netbeans. Netbeans bisa memformatnya untuk Anda. Cukup klik kanan di source code editor lalu pilih Format.&lt;br /&gt;&lt;br /&gt;Dalam artikel kali ini kita akan melakukan:&lt;br /&gt;1. Membuka koneksi HTTP ke server dan mengambil hasilnya&lt;br /&gt;2. Mem-parsing field-field dari String sederhana yang didapat dari Server&lt;br /&gt;3. Menyimpan hasil parsing ke dalam sebuah variabel instan class yang khusus dibuat untuk satu record&lt;br /&gt;4. Menampilkan nilai field-field dalam record di tampilan ponsel&lt;br /&gt;semuanya dengan J2ME.&lt;br /&gt;&lt;br /&gt;Yang Anda butuhkan untuk melakukannya adalah:&lt;br /&gt;1. Netbeans (rekomendasi: versi 6.5) dengan tambahan modul J2ME&lt;br /&gt;2. File-file PHP yang telah disiapkan sebelumnya, bersama database MySQL dan web server&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Membuat project J2ME dengan Netbeans&lt;/span&gt;&lt;br /&gt;Yang perlu Anda lakukan adalah mengklik File | New Project, kemudian dari dialog yang muncul pilih J2ME Project&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/Siqt2-MPEZI/AAAAAAAAAYw/geedIiKr0yY/s1600-h/j2me-netbeans-project-baru.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 175px;" src="http://3.bp.blogspot.com/__vC83XgntjU/Siqt2-MPEZI/AAAAAAAAAYw/geedIiKr0yY/s320/j2me-netbeans-project-baru.JPG" alt="" id="BLOGGER_PHOTO_ID_5344275067747373458" border="0" /&gt;&lt;/a&gt;Berikan nama yang baik, dan seterusnya. Secara default, Anda akan mendapatkan file Main.java yang berupa Visual Midlet (buat jika tidak ada). Dengan Visual Midlet, Anda bisa membuat flow aplikasi J2ME dengan cara drag and drop.&lt;br /&gt;&lt;br /&gt;Tambahkan sebuah Form dengan cara klik kanan pada Flow View, pilih New/Add | Form. Drag sebuah flow dari &lt;span style="font-weight: bold;"&gt;Mobile Device&lt;/span&gt; (Midlet) ke &lt;span style="font-weight: bold;"&gt;form&lt;/span&gt;, atau apapun nama yang Anda berikan untuk Form yang baru Anda tambahkan (defaultnya form). Klik kanan pada title bar &lt;span style="font-weight: bold;"&gt;form&lt;/span&gt;, kemudian New/Add | Ok Command dan command-command lain yang Anda butuhkan.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__vC83XgntjU/SiqvpN0RCqI/AAAAAAAAAY4/Yxlg78FTuGo/s1600-h/j2me-gui-flow-tambah-form.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 118px;" src="http://2.bp.blogspot.com/__vC83XgntjU/SiqvpN0RCqI/AAAAAAAAAY4/Yxlg78FTuGo/s320/j2me-gui-flow-tambah-form.JPG" alt="" id="BLOGGER_PHOTO_ID_5344277030446893730" border="0" /&gt;&lt;/a&gt;Berikutnya, klik title bar &lt;span style="font-weight: bold;"&gt;form&lt;/span&gt;, kemudian klik Screen View (persis di bagian atas diagram). Di bawah tab-tab nama file.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__vC83XgntjU/Siq6QhxLqiI/AAAAAAAAAZA/ABBk9hn6iDo/s1600-h/j2me-screen.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 254px;" src="http://2.bp.blogspot.com/__vC83XgntjU/Siq6QhxLqiI/AAAAAAAAAZA/ABBk9hn6iDo/s320/j2me-screen.JPG" alt="" id="BLOGGER_PHOTO_ID_5344288700933843490" border="0" /&gt;&lt;/a&gt;Pada Screen View, Anda bisa menambahkan beberapa komponen. Untuk contoh kita ini saya tambahkan 5 buah TextField yang masing-masing saya beri nama (variabelnya):&lt;br /&gt;1. textFieldId&lt;br /&gt;2. textFieldName&lt;br /&gt;3. textFieldAddress&lt;br /&gt;4. textFieldBillValue&lt;br /&gt;5. textFieldNotes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Membuat koneksi HTTP&lt;/span&gt;&lt;br /&gt;Untuk melakukan koneksi HTTP ke server, kita membutuhkan pengetahuan tentang class dan konsep &lt;span style="font-weight: bold;"&gt;Thread&lt;/span&gt;, class &lt;span style="font-weight: bold;"&gt;Connector&lt;/span&gt;, dan class &lt;span style="font-weight: bold;"&gt;HttpConnection&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Kita perlu membuat thread baru untuk melakukan koneksi dengan HTTP agar aplikasi kita tidak blocking (terrasa seperti hang) ketika koneksi berjalan. Ya, Anda tahu kan, melakukan koneksi jaringan kadang membutuhkan waktu tertentu.&lt;br /&gt;&lt;br /&gt;Class Connector diperlukan untuk membuat object HttpConnection pada J2ME. Begitulah ringkasnya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;import java.io.ByteArrayOutputStream;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import java.io.IOException;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import java.io.InputStream;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import javax.microedition.io.Connector;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import javax.microedition.io.HttpConnection;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;/*&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * To change this template, choose Tools | Templates&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * and open the template in the editor.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; *&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * @author Amri Shodiq&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;public class &lt;span style="font-weight: bold;"&gt;HttpThread&lt;/span&gt; implements &lt;span style="font-weight: bold;"&gt;Runnable&lt;/span&gt; {&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    String command = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    String[] parameters = null;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    ThreadListenable parent = null;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    public HttpThread(String command, String[] parameters, &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            ThreadListenable parent) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // command digunakan untuk menentukan fungsi apa yang&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // akan dipanggil&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.command = command;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;        // parameters digunakan untuk memberikan parameter fungsi tersebut&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.parameters = parameters;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.parent = parent;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void run() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        HttpConnection con = null;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        InputStream is = null;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // pada contoh ini kebetulan yang dijalankan hanya fungsi READ&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // yang menggunakan 1 parameter saja&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // silakan ubah sendiri jika Anda ingin menjalankan fungsi lainnya&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            con = (&lt;span style="font-weight: bold;"&gt;HttpConnection&lt;/span&gt;) &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    &lt;span style="font-weight: bold;"&gt;Connector&lt;/span&gt;.open("http://localhost/Tutorial/function.php?function="+command+"&amp;amp;parameters=" +&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    parameters[0]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            con.setRequestMethod(HttpConnection.GET);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            con.setRequestProperty("Content-Type", "//text plain");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            con.setRequestProperty("Connection", "close");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            String str = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            if (con.getResponseCode() == HttpConnection.HTTP_OK) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                is = con.openInputStream();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                int len = (int) con.getLength();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                if (len != -1) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    byte incomingData[] = new byte[len];&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    is.read(incomingData);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    str = new String(incomingData);&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;                    // hanya untuk testing&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    System.out.println("String: " + str);&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;                    // kirim hasilnya ke Midlet&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    parent.setHttpResult(str);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                } else {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    ByteArrayOutputStream bytestream =&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                            new ByteArrayOutputStream();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    int ch;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    while ((ch = is.read()) != -1) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                        bytestream.write(ch);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    str = new String(bytestream.toByteArray());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    // hanya untuk testing&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    System.out.println("String: " + str);&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;                    // kirim hasilnya ke Midlet&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    parent.setHttpResult(str);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                    bytestream.close();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            } else {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Server memberi jawaban tidak OK");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        } catch (IOException ex) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            System.out.println(ex.getMessage());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;Perhatikan di atas, kita membuat file HttpThread khusus untuk menangani koneksi HTTP dengan Thread. Pada kasus ini kita menggunakan Thread yang mengimplement interface Runnable (artinya nanti class ini bisa diperlakukan sebagai thread).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Membuat interface ThreadListenable&lt;/span&gt;&lt;br /&gt;Perhatikan pada source code di atas, kita menggunakan class ThreadListenable untuk variabel parent. Kepada parent inilah HttpThread akan mengembalikan hasil. Siapakah ThreadListenable? Kita akan mengimplementasikan ThreadListenable untuk Main (Visual Midlet kita) agar sebuah variabel dalam midlet tersebut dapat diupdate oleh HttpThread.&lt;br /&gt;&lt;br /&gt;Inilah source code interfacenya:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; *&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * @author Amri Shodiq&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;public interface ThreadListenable {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setHttpResult(String someString);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Membuat class CustomerRecord&lt;/span&gt;&lt;br /&gt;Class ini akan kita gunakan sebagai Bean untuk menyimpan record yang kita dapat dari HTTP server. Kode programnya sebagai berikut. Sebentar, saya akan beritahukan satu rahasia untuk Anda. Untuk menulis kode program di bawah ini saya hanya menulis variabel-variabelnya saja (customerId, customerName, dll). Method-methodnya digenerate otomatis oleh Netbeans setelah saya block variabel-variabel yang saya tulis, kemudian klik kanan. Pilih &lt;span style="font-weight: bold;"&gt;Refactor | Encapsulate Fields&lt;/span&gt;. Klik tombol Select All, kemudian klik Refactor. Selesai.&lt;br /&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; *&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * @author Amri Shodiq&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;public class CustomerRecord {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private int customerId = 0;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private String customerName = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private String address = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private int billValue = 0;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private String billNotes = "";&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    public CustomerRecord() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    public CustomerRecord(int id, String name, String address, &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            int value, String notes) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.customerId = id;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.customerName = name;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.address = address;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.billValue = value;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.billNotes = notes;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the customerId&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public int getCustomerId() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return customerId;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param customerId the customerId to set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setCustomerId(int customerId) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.customerId = customerId;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the customerName&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public String getCustomerName() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return customerName;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param customerName the customerName to set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setCustomerName(String customerName) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.customerName = customerName;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the address&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public String getAddress() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return address;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param address the address to set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setAddress(String address) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.address = address;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the billValue&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public int getBillValue() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return billValue;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param billValue the billValue to set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setBillValue(int billValue) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.billValue = billValue;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the billNotes&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public String getBillNotes() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return billNotes;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param billNotes the billNotes to set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void setBillNotes(String billNotes) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        this.billNotes = billNotes;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Menyelesaikan Main.java (Midlet utama)&lt;/span&gt;&lt;br /&gt;Saya menambahkan 2 variabel di dalam Main.java:&lt;br /&gt;&lt;br /&gt;      &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;private String httpResult = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private CustomerRecord currentCustomer = null;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Saya menambahkan beberapa method di dalam Main.java seperti:&lt;br /&gt;1. split&lt;br /&gt;Method ini berfungsi untuk memecah sebuah string berdasarkan separator yang ditentukan dalam parameternya. Kita menggunakannya karena hasil dari HTTP request kita menggunakan format ini.&lt;br /&gt;&lt;br /&gt;2. setHttpResult&lt;br /&gt;Method ini digunakan untuk mengupdate variabel httpResult dari HttpThread. Lebih jauh, di akhir method ini juga mengupdate variabel currentCustomer.&lt;br /&gt;&lt;br /&gt;3. showCurrentCustomer&lt;br /&gt;Method ini digunakan untuk menampilkan nilai variabel currentCustomer ke dalam Form.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;    private void &lt;span style="font-weight: bold;"&gt;showCurrentCustomer()&lt;/span&gt; {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (currentCustomer instanceof CustomerRecord) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            try {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Id: " + currentCustomer.getCustomerId());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Name: " + currentCustomer.getCustomerName());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Address: " + currentCustomer.getAddress());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Bill value: " + currentCustomer.getBillValue());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Bill notes: " + currentCustomer.getBillNotes());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldId.setString(String.valueOf(currentCustomer.getCustomerId()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldName.setString(currentCustomer.getCustomerName());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldAddress.setString(currentCustomer.getAddress());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;//                textFieldAddress.setString(String.valueOf(currentCustomer.getAddress().trim()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldBillValue.setString(String.valueOf(currentCustomer.getBillValue()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldNotes.setString(currentCustomer.getBillNotes());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            } catch (Exception e) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                e.printStackTrace();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;br /&gt;&lt;br /&gt;  private String[] &lt;span style="font-weight: bold;"&gt;split(String original, String separator)&lt;/span&gt; {&lt;br /&gt;      Vector nodes = new Vector();&lt;br /&gt;      System.out.println("split start...................");&lt;br /&gt;      // Parse nodes into vector&lt;br /&gt;      int index = original.indexOf(separator);&lt;br /&gt;      while (index &gt;= 0) {&lt;br /&gt;          nodes.addElement(original.substring(0, index));&lt;br /&gt;          original = original.substring(index + separator.length());&lt;br /&gt;          index = original.indexOf(separator);&lt;br /&gt;      }&lt;br /&gt;      // Get the last node&lt;br /&gt;      nodes.addElement(original);&lt;br /&gt;&lt;br /&gt;      // Create splitted string array&lt;br /&gt;      String[] result = new String[nodes.size()];&lt;br /&gt;      if (nodes.size() &gt; 0) {&lt;br /&gt;          for (int loop = 0; loop &lt; style="font-weight: bold;"&gt;setHttpResult(String string)&lt;/span&gt; {&lt;br /&gt;      httpResult = string;&lt;br /&gt;&lt;br /&gt;      String[] result = split(string, "##");&lt;br /&gt;      if (result[0].equals("0")) {&lt;br /&gt;          String[] texts = split(result[1], "||");&lt;br /&gt;          for (int i = 0; i &lt; currentcustomer =" new" alert =" new"&gt;&lt;/span&gt;Setelah kita memiliki ketiga method di atas, kita perlu menambahkan event yang men-trigger pemanggilan httpThread. Kita tambahkan baris-baris berikut pada method commandAction, pada syarat untuk tombol yang berlabel Edit (pada kasus saya, variabel tombolnya adalah okCommand1).&lt;br /&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-family:courier new;"&gt;                HttpThread thread = new HttpThread("READ", new String[]{"3"}, this);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                new Thread(thread).start();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Htp Result: " + httpResult);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                String[] result = split(httpResult, "##");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                //if (result[0].equals("0")) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                result = split(result[1], "||");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                for (int i = 0; i &lt;&gt; &lt;span style="font-family:courier new;"&gt;                    System.out.println(result[i]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Baik, mungkin sebaiknya saya share saja seluruh isi file Main.java agar Anda mendapatkan gambaran lebih jelas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;import java.util.Vector;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import javax.microedition.midlet.*;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;import javax.microedition.lcdui.*;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; * @author Amri Shodiq&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;public class Main extends MIDlet implements CommandListener, ThreadListenable {&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    private boolean midletPaused = false;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private String httpResult = "";&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private CustomerRecord currentCustomer = null;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Fields "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Form form;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private TextField textFieldAddress;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private TextField textFieldName;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private TextField textFieldId;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private TextField textFieldBillValue;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private TextField textFieldNotes;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Command okCommand;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Command exitCommand;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Command okCommand1;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Command exitCommand1;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private Command okCommand2;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * The Main constructor.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Main() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Methods "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: initialize "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Initilizes the application.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * It is called only once when the MIDlet is started. The method is called before the &lt;code&gt;startMIDlet&lt;/code&gt; method.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    private void initialize() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write pre-initialize user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-initialize user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Performs an action assigned to the Mobile Device - MIDlet Started point.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void startMIDlet() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        switchDisplayable(null, getForm());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Performs an action assigned to the Mobile Device - MIDlet Resumed point.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void resumeMIDlet() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Switches a current displayable in a display. The &lt;code&gt;display&lt;/code&gt; instance is taken from &lt;code&gt;getDisplay&lt;/code&gt; method. This method is used by all actions in the design for switching displayable.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param alert the Alert which is temporarily set to the display; if &lt;code&gt;null&lt;/code&gt;, then &lt;code&gt;nextDisplayable&lt;/code&gt; is set immediately&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param nextDisplayable the Displayable to be set&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void switchDisplayable(Alert alert, Displayable nextDisplayable) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write pre-switch user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        Display display = getDisplay();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (alert == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            display.setCurrent(nextDisplayable);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        } else {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            display.setCurrent(alert, nextDisplayable);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    // write post-switch user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: commandAction for Displayables "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Called by a system to indicated that a command has been invoked on a particular displayable.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param command the Command that was invoked&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param displayable the Displayable where the command was invoked&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void commandAction(Command command, Displayable displayable) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (displayable == form) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            if (command == exitCommand1) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                exitMIDlet();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            } else if (command == okCommand1) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                HttpThread thread = new HttpThread("READ", new String[]{"3"}, this);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                new Thread(thread).start();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Htp Result: " + httpResult);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                String[] result = split(httpResult, "##");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                //if (result[0].equals("0")) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                result = split(result[1], "||");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                for (int i = 0; i &lt;&gt; &lt;span style="font-family:courier new;"&gt;                    System.out.println(result[i]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            //}&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            } else if (command == okCommand2) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                // write pre-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt; &lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    // write post-action user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: form "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of form component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Form getForm() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (form == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            form = new Form("Form Input", new Item[] { getTextFieldId(), getTextFieldName(), getTextFieldAddress(), getTextFieldBillValue(), getTextFieldNotes() });&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            form.addCommand(getOkCommand1());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            form.addCommand(getExitCommand1());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            form.addCommand(getOkCommand2());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            form.setCommandListener(this);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return form;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: textFieldName "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of textFieldName component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public TextField getTextFieldName() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (textFieldName == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            textFieldName = new TextField("Nama", " ", 32, TextField.ANY);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return textFieldName;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: textFieldAddress "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of textFieldAddress component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public TextField getTextFieldAddress() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (textFieldAddress == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            textFieldAddress = new TextField("Alamat", " ", 100, TextField.ANY);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return textFieldAddress;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: okCommand "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of okCommand component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Command getOkCommand() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (okCommand == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            okCommand = new Command("Ok", Command.OK, 0);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return okCommand;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: exitCommand "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of exitCommand component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Command getExitCommand() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (exitCommand == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            exitCommand = new Command("Exit", Command.EXIT, 0);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return exitCommand;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: textFieldId "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of textFieldId component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public TextField getTextFieldId() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (textFieldId == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            textFieldId = new TextField("Id", " ", 32, TextField.ANY);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return textFieldId;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: okCommand1 "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of okCommand1 component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Command getOkCommand1() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (okCommand1 == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            okCommand1 = new Command("Edit", "Edit", Command.OK, 0);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return okCommand1;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: exitCommand1 "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of exitCommand1 component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Command getExitCommand1() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (exitCommand1 == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            exitCommand1 = new Command("Keluar", Command.EXIT, 0);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return exitCommand1;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: okCommand2 "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of okCommand2 component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Command getOkCommand2() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (okCommand2 == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            okCommand2 = new Command("Simpan", Command.OK, 0);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return okCommand2;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: textFieldBillValue "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of textFieldBillValue component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public TextField getTextFieldBillValue() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (textFieldBillValue == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            textFieldBillValue = new TextField("Tagihan", " ", 32, TextField.ANY);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return textFieldBillValue;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    //&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: textFieldNotes "&gt;&lt;/editor-fold&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns an initiliazed instance of textFieldNotes component.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the initialized component instance&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public TextField getTextFieldNotes() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (textFieldNotes == null) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            // write pre-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            textFieldNotes = new TextField("Catatan", " ", 32, TextField.ANY);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // write post-init user code here&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return textFieldNotes;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    //&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Returns a display instance.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @return the display instance.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public Display getDisplay() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        return Display.getDisplay(this);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Exits MIDlet.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void exitMIDlet() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        switchDisplayable(null, null);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        destroyApp(true);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        notifyDestroyed();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Called when MIDlet is started.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Checks whether the MIDlet have been already started and initialize/starts or resumes the MIDlet.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void startApp() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (midletPaused) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            resumeMIDlet();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        } else {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            initialize();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            startMIDlet();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        midletPaused = false;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Called when MIDlet is paused.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void pauseApp() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        midletPaused = true;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * Called to signal the MIDlet to terminate.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     * @param unconditional if true, then the MIDlet has to be unconditionally terminated and all resources has to be released.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    public void destroyApp(boolean unconditional) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    private void showCurrentCustomer() {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (currentCustomer instanceof CustomerRecord) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            try {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Id: " + currentCustomer.getCustomerId());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Name: " + currentCustomer.getCustomerName());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Address: " + currentCustomer.getAddress());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Bill value: " + currentCustomer.getBillValue());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println("Bill notes: " + currentCustomer.getBillNotes());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldId.setString(String.valueOf(currentCustomer.getCustomerId()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldName.setString(currentCustomer.getCustomerName());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldAddress.setString(currentCustomer.getAddress());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;//                textFieldAddress.setString(String.valueOf(currentCustomer.getAddress().trim()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldBillValue.setString(String.valueOf(currentCustomer.getBillValue()));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                textFieldNotes.setString(currentCustomer.getBillNotes());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            } catch (Exception e) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;                e.printStackTrace();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    public void setHttpResult(String string) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        httpResult = string;&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;        String[] result = split(string, "##");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (result[0].equals("0")) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            String[] texts = split(result[1], "||");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            for (int i = 0; i &lt;&gt; &lt;span style="font-family:courier new;"&gt;                System.out.println(i + ". " + texts[i]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            currentCustomer = new CustomerRecord(Integer.parseInt(texts[0]), texts[1], texts[2], Integer.parseInt(texts[3]), texts[4]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            showCurrentCustomer();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        } else {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            Alert alert = new Alert("Ada yang tidak beres.");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            alert.setTimeout(Alert.FOREVER);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            Display.getDisplay(this).setCurrent(alert);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;    private String[] split(String original, String separator) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        Vector nodes = new Vector();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        System.out.println("split start...................");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // Parse nodes into vector&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        int index = original.indexOf(separator);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        while (index &gt;= 0) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            nodes.addElement(original.substring(0, index));&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            original = original.substring(index + separator.length());&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            index = original.indexOf(separator);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        // Get the last node&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        nodes.addElement(original);&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;        // Create splitted string array&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        String[] result = new String[nodes.size()];&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        if (nodes.size() &gt; 0) {&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            for (int loop = 0; loop &lt;&gt; &lt;span style="font-family:courier new;"&gt;                result[loop] = (String) nodes.elementAt(loop);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            //System.out.println(result[loop]);&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;        return result;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Selamat mencoba.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-4959266846521361249?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/4959266846521361249/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=4959266846521361249' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/4959266846521361249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/4959266846521361249'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/bagaimana-melakukan-read-insert-update.html' title='Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 4'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__vC83XgntjU/Siqt2-MPEZI/AAAAAAAAAYw/geedIiKr0yY/s72-c/j2me-netbeans-project-baru.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8018455012285603499</id><published>2009-06-03T06:23:00.000-07:00</published><updated>2009-06-03T07:30:28.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Manohara pernah diperkosa di Malaysia</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://celebrity.okezone.com/images-data/content/2009/04/21/33/212723/6igDKJr9r5.jpg" title="Manohara pernah diperkosa di Malaysia"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 264px; height: 210px;" src="http://celebrity.okezone.com/images-data/content/2009/04/21/33/212723/6igDKJr9r5.jpg" alt="foto bugil Manohara" border="0" /&gt;&lt;/a&gt;Ya, semua berita berkaitan dengan konflik &lt;span style="font-weight: bold;"&gt;Indonesia-Malaysia&lt;/span&gt; memang selalu menarik. Terutama untuk media massa, terutama elektronik seperti TV dan internet. Nah, yang cukup seru, setidaknya di Indonesia (karena di Malaysia sendiri hampir tidak dikenal), adalah kisah Cinderella Indonesia, &lt;span style="font-weight: bold;"&gt;Manohara&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Mengapa saya sebut kisah Cinderella?&lt;/h3&gt; Ada beberapa sebab:&lt;br /&gt;1. Sebelum tahun ini, Manohara tidak dikenal, bahkan oleh salah satu media yang paling banyak dibaca umat manusia, Google. &lt;a href="http://www.google.com/trends?q=manohara&amp;amp;geo=idn&amp;amp;sa=N"&gt;Buktinya bisa dilihat di sini&lt;/a&gt;.&lt;br /&gt;2. Karakter ibunya Manohara, mirip ibunya Cinderella. Ya, saya memang tidak mengenalnya, saya hanya &lt;a href="http://jakartasocial.wordpress.com/2008/04/30/current-obsession-manohara-odelia-pinot/"&gt;baca dari sini&lt;/a&gt;.&lt;br /&gt;3. Manohara orangnya cantik. Sebelum saya nonton TV yang menayangkan kepulangan &lt;span style="font-style: italic;"&gt;Manohara&lt;/span&gt; yang dramatis, meskipun tidak sesuai bayangan saya (sebelumnya, saya membayangkan wajah Manohara agak biru-biru, dengan tubuh yang kurus kering dan rambut agak acak-acakan). Yang saya lihat, justru wajahnya yang cantik, licin meski agak tembem yang pasti bukan tembem karena habis ditampar.&lt;br /&gt;&lt;br /&gt;Mengapa saya tiba-tiba membahas Manohara yang jelas bukan termasuk keahlian saya. Jangan salah sangka, ini masih di lingkungan keilmuan saya. Jika saya turut memberitakan Manohara, apalagi dengan jumlah kata kunci yang cukup padat seperti ini. Didukung konten gambar seperti berikut ini:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Foto Manohara&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jakartasocial.files.wordpress.com/2008/04/mano4.jpg" title="Foto Manohara diperkosa di Malaysia"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 324px; height: 453px;" src="http://jakartasocial.files.wordpress.com/2008/04/mano4.jpg" alt="Foto Manohara diperkosa di Malaysia" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;insya Allah, blog saya bisa terdongkrak popularitasnya berkat Manohara.&lt;br /&gt;&lt;br /&gt;Terlebih lagi jika saya berikan kutipan yang cukup mengundang kontroversi sebperti berikut ini:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Sebuah pernyataan kontroversial tentang kisah sedih Manohara&lt;/h3&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div class="entry"&gt;     &lt;p&gt;Ibu dessy sering kawin cerai, awal dari background yg nggak baik.&lt;br /&gt;Mantan suaminya yg Narapidana &amp;amp; mendekam di penjara jadi awal yg nggak baik pula.&lt;br /&gt;Kalau dia ibu yang baik, anak umur 15 tahun tdk akan diizinkan utk mulai pacaran, apalagi dg pria berusia 30-an tahun.&lt;/p&gt; &lt;p&gt;Ibu dessy jelas mencari pria super kaya utk anak yg masih dibawah umur, apalagi kalau bkn menggunakan kecantikan Mano utk kepentingan dessy sendiri.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manohara diperkosa TT desember 2007&lt;/span&gt; (Status: Masih pacar Ardhi). Kalau dia ibu yg baik tentu dia akan menjaga baik2 anaknya jgn sampai diambil keperawanannya oleh om2 berumur 31-an.&lt;/p&gt; &lt;p&gt;Setelah Mano tdk perawan, dan dessy juga tahu Mano tidak perawan, Dessy masih mendukung Mano pacaran dg Ardhi. Kemungkinan dessy &amp;amp; dewi tdk mau ketinggalan liburan ke Amerika naik pesawat jet Bakrie.&lt;/p&gt; &lt;p&gt;Masih juga tdk puas dpt calon mantu super kaya, dessy berusaha menarik perhatian bapaknya si calon mantu yg jelas2 sdh beristri. Yg sayangnya si bapak nggak tertarik sama sekali dg dessy, dan yg ada dessy dpt adl teguran keras dr keluarga si bapak &amp;amp; dpt dampratan yg super keras dr istri si bapak, dan diusir dari pada saat pestanya Adinda Bakrie.&lt;br /&gt;Nah bbrp hari kemudian, dessy membawa Mano ke Kelantan utk dinikahkan dengan TT.&lt;/p&gt; &lt;p&gt;Saat Mano menikah (berdasarkan pengakuan dessy sendiri) wkt berdandan dengan Mano di ruangan istana, dessy memakai perhiasan kerajaan yg tersedia utk dipakai Mano, saat orang kerajaan meminta dilepas, dessy tersinggung.&lt;br /&gt;Kalau dessy tdk kampungan dan tau diri, dia tdk akan berani memakai perhiasan kerajaan tanpa ijin dulu. Ibarat spt Lady Di sewaktu menikah diberi ratu Elisabeth tiara kerajaan yg diwariskan turun temurun, masuk akal nggak kalau sampai dipakai ibunya? Yg ada malu kaliii…&lt;/p&gt; &lt;p&gt;TT sdh menyerahkan sejumlah uang dan perhiasan sbg Mas Kawin (Yang tentunya sdh diterima dessy) Setelah menikah, TT menginginkan malam pertama, tapi Mano mengatakan sdg haid, TT masih sabar.&lt;br /&gt;Saat bulan madu Mano &amp;amp; suaminya bulan madu ke Thailand, yg anehnya dessy &amp;amp; dewi ngekor aja. Kelihatan spt nggak mau kehilangan uang sesenpun, selalu ngekor kemana Mano pergi even utk honeymoon yg seharusnya jadi acara romantis berdua saja. TT mulai naik pitam..&lt;/p&gt; &lt;p&gt;Setelah 2 bulan menikah TT belum pernah tidur dg Mano, dg alasan yg sama, Mano lagi haid. Pastinya ini juga tekanan dari dessy krn tuntutan uang dessy baru diberi setengahnya saja. Jelas TT mengamuk. Sdh menikah tapi si istri selalu menolak utk berhubungan intim.&lt;br /&gt;Tdk tahan dg TT yg sering marah2 krn ajakan utk tidur bersama, Mano kabur ke jakarta (tentunya atas desakan dessy), yg anehnya nggak lama kemudian dia kedapatan dugem di Bali. Herannya lagi nih , status masih suami TT, Mano malah berhubungan dg pembalap Ryan Haryanto. (Lihat foto2 mereka ketka dugem di Bali di bawah ini)&lt;/p&gt; &lt;p&gt;Jika dessy ibu yg baik dan benar Mano kabur ke Jakarta bkn krn tekanan dari dessy, saat TT ke jakarta utk jemput Mano, dessy tdk akan mengizinkan Mano kembali ke TT. Tdk ada org bodoh yg mau tertipu 2x jika bkn krn serakah.&lt;br /&gt;Dessy terlalu banyak menuntut. Uang, apartemen dan mobil mewah. Setelah tuntutannya dikabulkan, dessy marah krn jumlah uang tdk sesuai dg yg diharapkan alias tdk cukup utk bayar hutangnya yg menggunung. Serta Mobil dan Apartemen bkn atas nama dessy. Dessy menolak apartemen tersebut, yg saya heran ini mobil Alphard sempat dipakai kemana2.&lt;/p&gt; &lt;p&gt;Dessy sekeluarga beserta TT berangkat Umroh, dimana TT mungkin sgt kesal dg ulah dessy yg mata duitan maka dibawalah Mano ke Kelantan tanpa dessy.&lt;br /&gt;Kalau memang dia mdptkan kesulitan utk dpt penanganan scr hukum krn posisi TT sbg anak raja dan dia pikir perlu bantuan publikasi utk tujuan membebaskan Mano, nggak usahlah soal pribadi Mano diumumkan lewat media massa. Sangat miris sekali melihat ibu yg spt ini.&lt;/p&gt; &lt;p&gt;Setelah melihat tayangan heboh dessy di tv, tiap orang mulai bertanya, lho ini kan dessy yg pernah menipu saya, uang saya ada lho di dia ratusan juta dan belum dibayar. Temannya yg lain juga mulai bertanya, lho dia juga menipu saya, uang saya ratusan juta pun masih ada di dia dan belum dibayar.&lt;br /&gt;Kedapatanlah dessy berhutang 5 milyar dari sekian banyaknya orang (itupun yg ketahuan, yg nggak ketahuan??) Kenapa dessy selalu membawa bangsa Indonesia dalam perdagangan manusia ini? Ini bukan masalah bangsa, bukan masalah Indonesia-Malaysia, tapi masalah individu.&lt;br /&gt;Bisa dimengerti kenapa desy berteriak2 di Indonesia bkn di Amerika (bapaknya Mano org Amerika), krn rakyat Indonesia terlalu mudah diprovokasi, apalagi krn dr dulu hub Indonesia&amp;amp;Malaysia selalu diwarnai ketegangan.&lt;/p&gt; &lt;p&gt;Tidak usah saling menghujat mengatasnamakan bangsa,permasalahan bangsa ini saja sdh cukup rumit, kemiskinan dimana2. Sedangkan Mano? Ibu dan kakak yg ngakunya bergaul dg kalangan jetset, bukannya semua perlu uang yg sgt banyak,pakaian mahal &amp;amp; bermerek? Patut dipertanyakan asal uangnya dari mana.&lt;/p&gt; &lt;p&gt;Suami ke2 dessy org Amerika, Suami ke3 Dessy org Perancis, Mano disuruh kawin (dijual) ke Pangeran Malaysia. Giliran susah minta tolong ke Indonesia. Harus dicek apakah dessy ada npwp atau tdk. Sdh ngga bayar pajak, hidup bergaya socialita, ngga bawa devisa spt TKI, maunya kawin dg org luar negri terus, pas susah bawa2 rasa kebangsaan.&lt;/p&gt; &lt;p&gt;Anak sdh dijual, mana bisa minta kembali.&lt;br /&gt;Presiden dan Wakil Presiden beserta menteri nggak level urus masalah ini.&lt;br /&gt;Banyak masalah yg lebih penting dan urgent yg harus diurus. Daripda mengurus dessy yg doyan ngutang.&lt;/p&gt; &lt;p&gt;Pesawat jet di foto diatas diakui dessy sbg pesawat pribadinya. Mentok2 ketahuan juga kalau itu punya Bakrie. Pernyataan di Perancis dia tinggal di Cannes, mentok2nya ketahuan juga kalau dia ternyata numpang di rumah Bakrie, sekalian numpang tenar, numpang kaya. Persoalan ini juga lagi2 dia dpt teguran yg lumayan keras dr Bakrie.&lt;br /&gt;Persoalan hutang bermilyar2 kenapa orang tdk ada yg melaporkan, itu tinggal menunggu bom waktu yang siap meledak kapan saja, dan sebelum itu terjadi,&lt;/p&gt; &lt;p&gt;Semoga bu dessy segera bertobat. Amien.&lt;/p&gt;          &lt;/div&gt;&lt;/blockquote&gt;Maaf, ini hanya kutipan. No offence. Saya tidak berniat menyerang keluarga Manohara. Saya juga tidak bermaksud memberi dukungan moral kepada Manohara untuk minggat meninggalkan suaminya yang sah menurut hukum. Yang saya lakukan hanyalah mencoba meningkatkan omzet pembaca blog saya yang mungkin salah mampir hehehe. Sedikit beda dengan tujuan media massa yang menayangkan berita tentang Manohara yang jelas adalah keuntungan sebesar-besarnya dari iklan. Tujuan saya saat ini baru traffic saja. Hanya traffic (karena saya belum menampilkan satu iklan pun di blog saya ini). Tetapi tidak menutup kemungkinan lo.&lt;br /&gt;&lt;br /&gt;Ah, ya, mengenai judul yang saya pakai, yang memang provokatif, sebenarnya judul itu tidak bermaksud untuk mencerminkan isi artikel saya ini. Juga tidak bermaksud menipu pembaca. Ini hanya salah satu penerapan &lt;a href="http://blog-indonesia.com/gotoblog.php?blogger=3289&amp;amp;site=http%3A%2F%2Famrishodiq.wordpress.com%2F2008%2F05%2F05%2Faida-kekasih-baru-saya%2F"&gt;konsep AIDA&lt;/a&gt;. Konsep ini bukan hal yang baru karena sudah diperkenalkan oleh seorang ahli hipnosis. Coba saja kalau saya menulis judulnya, "Tips SEO, Membuat Judul yang Provokatif". Siapa yang mau membaca artikel ini? Tulisan berjudul semacam itu saingannya ribuan.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Foto Bugil Manohara&lt;/h3&gt;"Ini dia yang ditunggu-tunggu pembaca. Foto bugil Manohara. Tentunya Manohara sering tampil seksi mengingat kehidupannya yang cukup glamour dan tak jauh-jauh dari diskotik dan hotel."&lt;br /&gt;&lt;br /&gt;Bayangkan jika Anda mencari kata kunci "&lt;span style="font-style: italic;"&gt;Manohara&lt;/span&gt;" kemudian menemukan judul di atas dengan detail di bawahnya bertuliskan seperti itu. Apa yang Anda lakukan? Mengkliknya? Jelas!&lt;br /&gt;&lt;br /&gt;Lucunya, jika saya lebih berani lagi, tentu saya akan beri judul, "&lt;span style="font-weight: bold;"&gt;Foto Bugil Manohara&lt;/span&gt;", tapi tdak saya lakukan. Gila kali. Saya sangat yakin bukan hanya saya yang mencoba mengetikkan kata ini di Google, dan mereka pasti menyesal karena tidak menemukan satu pun halaman yang berjudul persis sama seperti itu. Saya yakin, jika ada 1 orang saja yang menemukan, tentu popularitasnya akan segera mengalahkan foto bugil Sarah dan Rahma Azhari, maupun Wiwid Gunawan, hihihi. Atau kasus perkosaan Sherina. Paling banter, dengan kata kunci itu, yang didapat adalah, "Manohara Odelia Pinot Buah Dadanya Disilet-silet ...". Maaf, saya tidak berikan link-nya karena link ke sana akan menambah popularitas artikel saingan saya.&lt;br /&gt;&lt;br /&gt;Akhir kata, coba Anda perhatikan title gambar-gambar Manohara di atas. Silakan geser mouse Anda di atas gambar tersebut. Jangan bilang kalau tulisannya GILA!!! Karena ini teknik CEO juga.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8018455012285603499?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8018455012285603499/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8018455012285603499' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8018455012285603499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8018455012285603499'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/06/manohara-pernah-diperkosa-di-malaysia.html' title='Manohara pernah diperkosa di Malaysia'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-7678882510065984176</id><published>2009-05-30T08:54:00.000-07:00</published><updated>2009-05-30T09:14:29.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Memakai fungsi PHP dengan JavaScript</title><content type='html'>Web programmer seperti Anda (barangkali) dan saya umumnya menguasai satu bahasa lebih baik daripada bahasa lainnya. Misalnya jika Anda menguasai PHP, meskipun Anda bisa juga menggunakan JavaScript atau ASP atau JSP atau juga yang lainnya, tetap saja Anda merasa coding dengan PHP lebih mudah. Akibatnya, Anda mengalami pengalaman yang menyenangkan ketika programming dengan PHP. Sebaliknya, ketika Anda menulis aplikasi web base menggunakan JavaScript, misalnya ketika Anda berniat membangun Rich Internet Application, terpaksa Anda menggunakan JavaScript, Anda membangunnya mungkin agak lamat dibandingkan jika Anda coding apa saja dengan PHP.&lt;br /&gt;&lt;br /&gt;Dari situ saya melihat masalah. Kita terpaksa harus paham PHP dan JavaScript sekaligus. Ya ya, memang ini suatu yang wajar, tetapi tetap saja kita selalu berpikir, "Bagaimana sih melakukan ini ... di JavaScript? Biasanya kalau pakai PHP begini caranya ...". Begitulah kira-kira. Saya sendiri, karena terbiasa bekerja dengan PHP ingin fungsi yang ada di PHP, ada juga di JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://phpjs.org/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 170px; height: 90px;" src="http://phpjs.org/img/phpjs.png" alt="" border="0" /&gt;&lt;/a&gt;Alhamdulillah, kebutuhan itu telah terpenuhi. Saat ini ada PHP.JS. PHP.JS adalah proyek open source untuk porting fungsi-fungsi PHP agar tersedia juga di JavaScript. Sejarahnya panjang, lebih baik Anda baca sendiri karena cukup menarik kalau dibaca dari situs aslinya, kalau saya tulis ulang dalam bahasa Indonesia takutnya kehilangan sentuhan emosionalnya (ngeles, padahal karena Englishnya jelek hehehe).&lt;br /&gt;&lt;br /&gt;Ada tiga pendekatan yang bisa kita pakai untuk memakai PHP.JS:&lt;br /&gt;1. Download &lt;a href="http://phpjs.org/packages/view/php.default.min.js"&gt;full package&lt;/a&gt; kemudian mengimport file &lt;span style="font-weight: bold;"&gt;php.default.min.js&lt;/span&gt; ke dalam file HTML kita.&lt;br /&gt;2. &lt;a href="http://phpjs.org/packages/configure"&gt;Costumize&lt;/a&gt; fungsi-fungsi apa saja yang Anda butuhkan, kemudian download file yang hanya berisi fungsi-fungsi yang Anda butuhkan saja untuk diimport ke file HTML kita.&lt;br /&gt;3. Atau copy dan paste fungsi yang kita butuhkan dari &lt;a href="http://phpjs.org/functions/index"&gt;daftar fungsi yang didukung PHP.JS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Kalau saya, saya jelas memilih opsi kedua, setidaknya untuk production. Sedangkan selama development, mungkin saya memilih cara ketiga. Karena saya belum bisa memastikan fungsi mana yang saya butuhkan, jadi daripada repot, copy paste saja. Sesuai dengan tema blog ini, Plug and Play Programming.&lt;br /&gt;&lt;br /&gt;Bagaimana informasi ini? Berguna? Lumayan kan? Selamat mencoba. Jangan ragu-ragu untuk meng-klik salah satu ikon social network di bawah ini.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-7678882510065984176?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/7678882510065984176/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=7678882510065984176' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7678882510065984176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7678882510065984176'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/memakai-fungsi-php-dengan-javascript.html' title='Memakai fungsi PHP dengan JavaScript'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-4605153761395742842</id><published>2009-05-29T08:35:00.000-07:00</published><updated>2009-05-29T08:49:50.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Theme'/><title type='text'>Color Scheme Generator</title><content type='html'>Anda sadar? Kadang hal sepele seperti warna theme aplikasi yang sedang kita bangun sering kali menyita banyak waktu. Kadang programmer web seperti saya harus berlama-lama  menatap tampilan prototype aplikasi yang kita buat di browser, hanya sekedar untuk menemukan paduan warna yang tepat. Misalnya, apa sebaiknya warna form-nya, font, juga background-nya.&lt;br /&gt;&lt;br /&gt;Masalah ini juga saya alami ketika saya menggunakan jQuery UI. Mestinya dengan disediakan 15 theme default, saya cukup memilih salah satu dari pilihan tersebut. Tetapi entah kenapa rasanya saya pengen membuat yang lain. Makanya, saya coba pilih salah satu theme, kemudian saya edit dengan &lt;a href="http://jqueryui.com/download/?themeParams=%3FffDefault%3DVerdana%252CArial%252Csans-serif%26fwDefault%3Dnormal%26fsDefault%3D11px%26cornerRadius%3D0px%26bgColorHeader%3D8B5A1D%26bgTextureHeader%3D03_highlight_soft.png%26bgImgOpacityHeader%3D75%26borderColorHeader%3D37270B%26fcHeader%3D222222%26iconColorHeader%3D222222%26bgColorContent%3DE6C68E%26bgTextureContent%3D01_flat.png%26bgImgOpacityContent%3D75%26borderColorContent%3D8B631D%26fcContent%3D222222%26iconColorContent%3D222222%26bgColorDefault%3D8B631D%26bgTextureDefault%3D03_highlight_soft.png%26bgImgOpacityDefault%3D75%26borderColorDefault%3D37270B%26fcDefault%3Dffffff%26iconColorDefault%3Dffffff%26bgColorHover%3DFEA810%26bgTextureHover%3D04_highlight_hard.png%26bgImgOpacityHover%3D75%26borderColorHover%3D8B631D%26fcHover%3D212121%26iconColorHover%3D454545%26bgColorActive%3DE6C68E%26bgTextureActive%3D04_highlight_hard.png%26bgImgOpacityActive%3D80%26borderColorActive%3D8B631D%26fcActive%3D212121%26iconColorActive%3D454545%26bgColorHighlight%3Dfbf9ee%26bgTextureHighlight%3D02_glass.png%26bgImgOpacityHighlight%3D55%26borderColorHighlight%3Dfcefa1%26fcHighlight%3D363636%26iconColorHighlight%3D2e83ff%26bgColorError%3Dfef1ec%26bgTextureError%3D02_glass.png%26bgImgOpacityError%3D95%26borderColorError%3Dcd0a0a%26fcError%3Dcd0a0a%26iconColorError%3Dcd0a0a%26bgColorOverlay%3Daaaaaa%26bgTextureOverlay%3D01_flat.png%26bgImgOpacityOverlay%3D0%26opacityOverlay%3D30%26bgColorShadow%3Daaaaaa%26bgTextureShadow%3D01_flat.png%26bgImgOpacityShadow%3D0%26opacityShadow%3D30%26thicknessShadow%3D8px%26offsetTopShadow%3D-8px%26offsetLeftShadow%3D-8px%26cornerRadiusShadow%3D8px"&gt;Theme Roller&lt;/a&gt;. Masalahnya, untuk akhirnya menentukan warna-warna yang saya gunakan, saya harus menggunakan tool yang ada. Padahal saya juga belum punya ide bagaimana tampilan program saya nanti. Jadi, development time yang mestinya cepat, menjadi lama.&lt;br /&gt;&lt;br /&gt;Kemudian saya menemukan website yang bisa membantu kita menentukan &lt;span style="font-style:italic;"&gt;paduan warna apa saja yang cocok satu sama lain&lt;/span&gt;. Saya sendiri baru sadar bahwa rangkaian kata tersebut disebut dengan kata sederhana, &lt;span style="font-style:italic;"&gt;theme&lt;/span&gt;. Ya, website ini adalah Color Scheme Generator atau pembangkit skema warna.&lt;br /&gt;&lt;br /&gt;Perhatikan screenshot di bawah ini:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.colorsontheweb.com/colorwizard.asp#wizard"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 216px;" src="http://4.bp.blogspot.com/__vC83XgntjU/SiAC-wfqZ9I/AAAAAAAAAYo/C6i1gJcU4j8/s320/color-scheme-generator.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5341272435254257618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anda bisa gunakan &lt;a href="http://www.colorsontheweb.com/colorwizard.asp#wizard"&gt;Color Scheme Generator&lt;/a&gt; untuk memudahkan Anda memilih warna yang benar-benar matching satu sama lain. Kenapa Anda tidak coba?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-4605153761395742842?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/4605153761395742842/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=4605153761395742842' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/4605153761395742842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/4605153761395742842'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/color-scheme-generator.html' title='Color Scheme Generator'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__vC83XgntjU/SiAC-wfqZ9I/AAAAAAAAAYo/C6i1gJcU4j8/s72-c/color-scheme-generator.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3136323664157146565</id><published>2009-05-27T11:41:00.000-07:00</published><updated>2009-05-28T12:43:06.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Cara mendownload jQuery UI custom theme</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://72.47.209.59/images/rollerLogo_white.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 198px; height: 204px;" src="http://72.47.209.59/images/rollerLogo_white.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Berkali-kali saya mencoba membuat sendiri theme jQuery UI saya supaya matching dengan style aplikasi yang saya bangun. Ini pekerjaan yang cukup mudah.&lt;br /&gt;&lt;br /&gt;Caranya? Kita cukup mengunjungi &lt;a href="http://jqueryui.com/themeroller/"&gt;jQuery UI Theme Roller&lt;/a&gt;. Memilih salah satu theme default yang ada di sebelah kiri halaman. Jika Anda belum menemukannya, silakan klik tab Gallery. Di sana ada 15 theme default. Anda bisa mencoba-coba mereka dengan mengklik pada gambar thumbnailnya kemudian perhatikan perubahan pada komponen-komponen di bagian tengah halaman. Menarik bukan?&lt;br /&gt;&lt;br /&gt;Selanjutnya, Anda bisa memilih salah satu theme untuk diedit. Ini yang saya lakukan. Saya memilih theme Smoothness. Kemudian klin Edit. Muncullah berbagai fasilitas customisasi pada tab Roll Your Own. Maka saya ubah di banyak tempat, termasuk saya ubah corner yang semula membentuk rounded, saya buat siku saja. Kemudian saya ubah beberapa warna agar dominan biru dari semula abu-abu dan putih.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Setelah saya puas, saya klik Download theme. Harapan saya tentu saja, theme yang sudah saya custom tadi bisa saya peroleh. Betul, saya bisa mendownloadnya dari halaman berikutnya, dengan menekan tombold sebelah kanan halaman, agak ke bawah. Tombol berwarna hitam.&lt;br /&gt;&lt;br /&gt;Proses download berjalan lancar.&lt;br /&gt;&lt;br /&gt;Saya penasaran, ketika file tersebut saya coba untuk ekstrak, ternyata GAGAL!!!! Saya coba berkali-kali, bahkan termasuk dengan IE 7, tetap belum berhasil. Untuk mendownloadnya dengan browser lain, Anda cukup mengcopy isi address bar pada browser sebelumnya ke address bar browser berikutnya.&lt;br /&gt;&lt;br /&gt;Cari-punya cari solusinya dengan Google, saya temukan juga solusinya di &lt;a href="http://dev.jqueryui.com/ticket/4431"&gt;http://dev.jqueryui.com/ticket/4431&lt;/a&gt;. Di sana dikatakan bahwa masalah terpecahkan hanya dengan refresh halaman tersebut. Aneh ya? Culun juga. Saya tidak percaya. Tetapi untuk memastikannya, saya coba juga.&lt;br /&gt;&lt;br /&gt;Tahu nggak hasilnya? Download berjalan lancar, setelah halaman direfresh dan saya klik tombol hitamnya. Ketika saya buka file hasil download tersebut, kemudian saya ekstrak, ternyata BERHASIL!!!&lt;br /&gt;&lt;br /&gt;Ingat, jangan menggunakan download manager apapun untuk mendownload custom theme ini, termasuk Down-Them-All bawaan Mozilla Firefox. Cukup download biasa dari browser, toh ukuran file-nya kecil, hanya 713 KByte saja.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3136323664157146565?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3136323664157146565/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3136323664157146565' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3136323664157146565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3136323664157146565'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/cara-mendownload-jquery-ui-custom-theme.html' title='Cara mendownload jQuery UI custom theme'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-2922852962735268718</id><published>2009-05-22T18:13:00.000-07:00</published><updated>2009-05-22T19:16:00.106-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Situs menarik'/><title type='text'>Membuat presentasi cantik dengan 280Slides</title><content type='html'>Saya pernah merasa hutang budi kepada Micro*t. Sederhana saja, karena 3 atau 4 tahun yang lalu saya memenangkan suatu lomba karya tulis ilmiah dan mendapatkan laptop, yang saya pakai ini. Waktu itu bahkan saya tidak terpikir untuk membeli sebuah laptop, rasanya di luar budget saya.&lt;br /&gt;&lt;br /&gt;Singkat cerita, saya menggunakan Ms Power Po*nt 2007 untuk mempresentasikan konsep yang saya paparkan dalam karya tulis saya. Waktu itu, belum banyak yang menggunakan Office 2007. Karena berbagai fasilitas yang ada padanya, saya terpaksa meninggalkan OpenOffice 2.1. Hasilnya, presentasi saya memukau hampir seratus orang hadirin.&lt;br /&gt;&lt;br /&gt;Fitur yang saya gunakan waktu itu antara lan:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Picture effect, sehingga saya bisa menampilkan foto yang dipercantik dengan bayangan cermin di bawahnya, juga rounded edge.&lt;/li&gt;&lt;li&gt;Smart art, membuat gambar atau diagram yang cantik dengan berbagai pilihan warna dan bentuk.&lt;/li&gt;&lt;li&gt;Effect untuk font, membuat font yang saya gunakan untuk title berkesan seperti kaca, cantik sekali.&lt;/li&gt;&lt;li&gt;Template yang benar-benar cantik.&lt;/li&gt;&lt;/ol&gt;Keempat fitur ini yang tidak saya temui di OpenOffice 2.1. No offence.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.webdesignerdepot.com/wp-content/uploads/2009/02/280slides.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 453px; height: 368px;" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/02/280slides.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pagi ini saya menemukan &lt;a href="http://280slides.com/"&gt;280Slides&lt;/a&gt;. Sebuah website yang menyediakan Webapps berupa tools presentasi. Saya harus mencobanya. Anda juga bisa mencobanya, It's free, katanya.&lt;br /&gt;&lt;br /&gt;Pertama saya memilih Theme defaultnya, Sagan, yang mirip desktop Mac Leopard. Mendekati fitur aplikasi presentasi pada desktop, dengan 280Slides Anda juga bisa menambahkan gambar maupun video. Beberapa fitur mengharuskan Anda untuk login terlebih dahulu. Misalnya insert gambar.&lt;br /&gt;&lt;br /&gt;Memang fitur-fitur yang saya sebutkan belum tersedia, tapi kita bisa berharap saja akan ada segera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-2922852962735268718?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/2922852962735268718/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=2922852962735268718' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2922852962735268718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2922852962735268718'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/membuat-presentasi-cantik-dengan.html' title='Membuat presentasi cantik dengan 280Slides'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-2837375691950292806</id><published>2009-05-20T11:34:00.000-07:00</published><updated>2009-05-20T19:54:26.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google AJAX API'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Bagaimana cara pakai jQuery dan jQuery UI dari Google?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/ShRdQgfQ2zI/AAAAAAAAAXw/P9M_VwpHi3Y/s1600-h/logo_jquery.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 242px; height: 76px;" src="http://1.bp.blogspot.com/__vC83XgntjU/ShRdQgfQ2zI/AAAAAAAAAXw/P9M_VwpHi3Y/s320/logo_jquery.png" alt="" id="BLOGGER_PHOTO_ID_5337993996521233202" border="0" /&gt;&lt;/a&gt;Jika Anda meng-hosting sendiri website Anda, dan Anda menggunakan jQuery (juga jQuery UI), mungkin masalah utama Anda adalah lambatnya akses web tersebut. Mungkin ini akibat server yang kita yang sedikit lambat, atau file jQuery dan jQuery UI yang memang besar sehingga waktu downloadnya agak lama, atau bisa jadi karena bandwidth server kita kecil. Pilihan manapun tidak menyenangkan karena kita ingin website kita tampil cantik, tetapi juga cepat.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://crm-advantage.com/us/images/stories/logos/google_logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 235px; height: 165px;" src="http://crm-advantage.com/us/images/stories/logos/google_logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;Ada solusi baru yang ditawarkan Google. Lagi-lagi Google ya. Hebat emang si Google. Anda bayangkan saja, client-client website kita mendownload file JavaScript dan CSS yang dibutuhkan jQuery dan jQuery UI dari server Google yang cepat, handal dan bandwidthnya mungkin tidak terbatas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Masalah&lt;/span&gt;&lt;br /&gt;Masalahnya, sampai saat ini belum ada tutorial lengkap tentang cara pakai jQuery UI yang disediakan Google agar tetap menampilkan theme yang cantik. Tutorial ini saya share karena sebelumnya saya sempat mengalami masalah ketika ingin mencobanya. Masalahnya antara lain:&lt;br /&gt;1. Saya tidak tahu path file JavaScript-nya&lt;br /&gt;2. Ketika saya beri fungsi pada $ seperti halnya Script jQuery lainnya, ternyata jQuery tetap tidak nongol&lt;br /&gt;3. Ketika akhirnya saya menemukan solusinya, jQuery bisa nongol tapi theme jQuery UI belum bisa keluar, terpaksa saya pakai file CSS dan gambar yang saya host sendiri&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solusi&lt;/span&gt;&lt;br /&gt;Setelah saya menemukan masalah-masalah ini, memang saya Googling, tetapi solusinya hanya berfungsi untuk mengatasi satu per satu masalah di atas. Tidak mencakup semuanya. Akhirnya ketika saya berhasil merajut solusi-solusi itu jadi satu, sebaiknya saya share saja di sini supaya teman-teman bisa juga menikmatinya, dan saya juga nggak lupa.&lt;br /&gt;&lt;br /&gt;Ini contoh penggunaannya untuk menampilkan komponen Accordion.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tambahkan baris-baris ini di dalam tag HEAD HTML Anda&lt;br /&gt;&lt;/p&gt;&lt;span class="code"&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;script type="text/javascript" src="http://www.google.com/jsapi"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;// Tolong, jangan buang nama saya ya: Amri Shodiq, yah sekedar credit lah&lt;br /&gt;google.load("jquery", "1.3.2");&lt;br /&gt;google.load("jqueryui", "1.7.1");&lt;br /&gt;&lt;br /&gt;google.setOnLoadCallback(function(){&lt;br /&gt;   $("#accordion").accordion();&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/ui-darkness/jquery-ui.css" type="text/css" media="screen" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tambahkan contoh ini di dalam tag BODY HTML Anda&lt;br /&gt;&lt;span class="code"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;div class="demo"&amp;gt;&lt;br /&gt;&amp;lt;div id="accordion"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;&lt;br /&gt;   Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer&lt;br /&gt;   ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit&lt;br /&gt;   amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut&lt;br /&gt;   odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.&lt;br /&gt;   &amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;&lt;br /&gt;   Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet&lt;br /&gt;   purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor&lt;br /&gt;   velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In&lt;br /&gt;   suscipit faucibus urna.&lt;br /&gt;   &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Section 3&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;&lt;br /&gt;   Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.&lt;br /&gt;   Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero&lt;br /&gt;   ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis&lt;br /&gt;   lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.&lt;br /&gt;   &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;ul&amp;gt;&lt;br /&gt;       &amp;lt;li&amp;gt;List item one&amp;lt;/li&amp;gt;&lt;br /&gt;       &amp;lt;li&amp;gt;List item two&amp;lt;/li&amp;gt;&lt;br /&gt;       &amp;lt;li&amp;gt;List item three&amp;lt;/li&amp;gt;&lt;br /&gt;   &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Section 4&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;&lt;br /&gt;   Cras dictum. Pellentesque habitant morbi tristique senectus et netus&lt;br /&gt;   et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in&lt;br /&gt;   faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia&lt;br /&gt;   mauris vel est.&lt;br /&gt;   &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;p&amp;gt;&lt;br /&gt;   Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.&lt;br /&gt;   Class aptent taciti sociosqu ad litora torquent per conubia nostra, per&lt;br /&gt;   inceptos himenaeos.&lt;br /&gt;   &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mau coba? Silakan. Jangan lupa kasih back link ya. Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-2837375691950292806?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/2837375691950292806/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=2837375691950292806' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2837375691950292806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2837375691950292806'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-cara-pakai-jquery-dan-jquery.html' title='Bagaimana cara pakai jQuery dan jQuery UI dari Google?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/ShRdQgfQ2zI/AAAAAAAAAXw/P9M_VwpHi3Y/s72-c/logo_jquery.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3089979128472657485</id><published>2009-05-19T15:40:00.000-07:00</published><updated>2009-05-19T15:54:59.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Bagaimana membuat menu seperti iPod dengan jQuery?</title><content type='html'>Anda bisa menggunakan &lt;a href="http://www.filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/"&gt;tutorial ini&lt;/a&gt; untuk membuat menu dropdown dengan sebuah HTML list. Menu ini memiliki tampilan yang cantik, seperti menu pada iPhone atau iPod dengan ada beberapa variasi lokasi meletakkan child menu-nya.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/ShM4qsTHN2I/AAAAAAAAAXg/dZeRq4xGUGg/s1600-h/ipod-menu.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 199px;" src="http://3.bp.blogspot.com/__vC83XgntjU/ShM4qsTHN2I/AAAAAAAAAXg/dZeRq4xGUGg/s320/ipod-menu.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5337672289461155682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Untuk menggunakan menu ini, Anda membutuhkan jQuery dan pengetahuan tentang HTML dan JavaScript yang cukup matang. Pemahaman tentang CSS juga Anda perlukan jika ingin mengubah-ubah tampilan dan gaya menunya. Tapi saya rasa, style defaultnya sudah cantik sekali. Anda mungkin tidak perlu mengubahnya.&lt;br /&gt;&lt;br /&gt;Anda bisa melihat ke halaman berikut untuk melihat bagaimana menu-menu ini bisa ditampilkan dengan lebih fleksibel, dan Anda bisa melihat source-nya (View Source pada browser Anda):&lt;br /&gt;1. &lt;a href="http://www.filamentgroup.com/examples/menus/flat.php"&gt;Flat&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.filamentgroup.com/examples/menus/ipod.php"&gt;Dengan link untuk Back dan breadcrumb&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.filamentgroup.com/examples/menus/flyout.php"&gt;Fly out menu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anda juga bisa &lt;a href="http://www.filamentgroup.com/examples/menus/fg-menu.zip"&gt;mendownload seluruh file yang ada pada tutorial ini di sini&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3089979128472657485?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3089979128472657485/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3089979128472657485' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3089979128472657485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3089979128472657485'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-membuat-menu-seperti-ipod.html' title='Bagaimana membuat menu seperti iPod dengan jQuery?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__vC83XgntjU/ShM4qsTHN2I/AAAAAAAAAXg/dZeRq4xGUGg/s72-c/ipod-menu.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5348497614302625487</id><published>2009-05-19T15:20:00.000-07:00</published><updated>2009-05-19T15:35:58.863-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Icons'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Bagaimana membuat icon sendiri?</title><content type='html'>Asli, membuat icon sendiri kadang perlu juga. Apalagi kalau kita mau membuat aplikasi yang sifatnya komersil. Selain icon yang kita buat sendiri bisa tampil lebih sesuai dengan theme web atau aplikasi yang kita buat, juga kita bisa merasa lebih aman dari tuntutan hukum pembuat icon aslinya (kalau kita sekedar mengambil icon-icon dari sumber-sumber yang ada).&lt;br /&gt;&lt;br /&gt;Berikut ini beberapa tutorial tentang bagaimana membuat icon:&lt;br /&gt;1. &lt;a href="http://gimp-tutorials.net/How-to-make-an-icon-from-a-picture"&gt;Membuat icon dengan Gimp&lt;/a&gt;&lt;br /&gt;Dalam artikel tersebut, kita diajarin membuat icon dari gambar yang kita dapatkan (misalnya dari Google Search) dengan Gimp (software semacam photoshop yang berlisensi GPL, biasa digunakan di Linux). Ternyata gampang bikin icon.&lt;br /&gt;&lt;br /&gt;2. &lt;a href="http://www.photoshopsupport.com/tutorials/cian/how-to-make-icons.html"&gt;Membuat icon dengan Adobe Photoshop&lt;/a&gt;&lt;br /&gt;Berbeda dengan artikel sebelumnya yang menggunakan gambar yang sudah ada. Di artikel ini, kita diajarin membuat icon dengan gambar yang kita buat sendiri. Buat sendiri lo! Mantab banget nih artikel. Sayang pendek banget.&lt;br /&gt;&lt;br /&gt;Lalu baiknya mana yang kita ikuti? Terserah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5348497614302625487?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5348497614302625487/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5348497614302625487' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5348497614302625487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5348497614302625487'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-membuat-icon-sendiri.html' title='Bagaimana membuat icon sendiri?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6627669162244321031</id><published>2009-05-19T13:56:00.000-07:00</published><updated>2009-05-19T15:18:05.116-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Icons'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>100 icon cantik yang bisa di download gratis</title><content type='html'>Bagi programmer, khususnya web programmer, icon bagaikan garam. Tanpa icon, software kita akan terrasa hambar alias sepi tanpa warna-warni. Saya pernah membuat aplikasi yang molor penyelesaiannya hingga 2 minggu hanya karena belum menemukan icon yang tepat.&lt;br /&gt;&lt;br /&gt;Googling juga kadang gak membantu. Googling dengan kata kunci "&lt;span style="font-weight:bold;"&gt;free icon&lt;/span&gt;", misalnya. Memang akan menghasilkan web-web penyedia icon gratis yang paling populer. Tetapi kita tetap harus memilah-milah mana yang bisa kita pakai, karena toh web-web tersebut menyediakan berbagai kategori icon dan umumnya icon-icon yang ada di web-web itu duplikasi antara satu situs dengan situs lain. Nampaknya karena memang sebenarnya jumlah icon set yang free itu juga terbatas.&lt;br /&gt;&lt;br /&gt;Pada kesempatan ini, saya ingin berbagi resource dengan temen-temen. Saya sudah mengumpulkan sumber-sumber icon yang bagus. Barangkali ada temen-temen yang perlu, silakan di unduh di situs aslinya. Tentang penggunaannya tentu saja menyesuaikan term of condition yang berlaku di masih-masing sumber ya.&lt;br /&gt;&lt;br /&gt;Situs-situs ini menyediakan icon yang cantik-cantik.&lt;br /&gt;1. Project Icon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.smashingmagazine.com/2009/04/27/project-icon-set-for-free-download/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 199px;" src="http://www.webappers.com/img/2009/04/project-icons.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Web Injection&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.tutorial9.net/resources/free-icon-pack-web-injection/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 295px;" src="http://www.webappers.com/img/2009/04/web-injection.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Free iPhone Style Sidebar Icon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://macthemes2.net/forum/viewtopic.php?id=16794062"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 400px;" src="http://www.webappers.com/img/2009/03/sidebar-icons.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. 2S Space Emoticon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://kirozeng.deviantart.com/art/2s-space-Emotions-v2-72785912"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 200px;" src="http://www.webappers.com/img/2009/02/2s-emoticons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. The Blacy Emoticon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.rokey.net/?page_id=24"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 200px;" src="http://www.webappers.com/img/2009/02/blacky-emoticons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Colorful 32px Mania Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.midtonedesign.com/portfolio/category/goodies/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 200px;" src="http://www.webappers.com/img/2009/01/colorful-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Social Media Icon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blogperfume.com/social-media-icons-pack-in-3-sizes-for-download/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 194px;" src="http://www.webappers.com/img/2009/01/social-media-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8. Glossy Browser Icon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://morcha.blogbus.com/logs/30886671.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 514px;" src="http://www.webappers.com/img/2008/11/browsers-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;9. Finance and Appplication Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.smashingmagazine.com/2008/10/09/finance-and-applications-a-free-icon-set/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 337px;" src="http://www.webappers.com/img/2008/10/finance-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;10. Torqua 3D Isometric Icon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.monofactor.com/free-vector-icon-set-2-turqua-3d-isometric-icons-part1"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 306px;" src="http://www.webappers.com/img/2008/09/3d-vector-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;11. On Stage Free Vector Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.smashingmagazine.com/2008/08/27/on-stage-a-free-icon-set/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 247px;" src="http://www.webappers.com/img/2008/08/vector-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;12. Coqueta Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dryicons.com/free-icons/preview/coquette-icons-set/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 225px;" src="http://www.webappers.com/img/2008/08/coquette-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;13. Blogging Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blogperfume.com/free-glossy-blogging-icons-set-for-bloggers/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 228px;" src="http://www.webappers.com/img/2008/06/blogging-icons-set.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;14. Bright&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://min.frexy.com/article/bright_a_free_icon_set/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 228px;" src="http://www.webappers.com/img/2008/05/bright-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;15. Web Application Iconset&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.webappers.com/download/Web-Application-Icons-Set.zip"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 228px;" src="http://www.webappers.com/img/2008/02/web-application-icons.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gimana? Manteb-manteb kan?&lt;br /&gt;&lt;br /&gt;Kalau teman-teman ingin mengunjungi situs penyedia icon-icon gratis, silakan coba link-link berikut ini:&lt;br /&gt;1. &lt;a href="http://www.freeiconsweb.com/"&gt;Free Icons Web&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.iconarchive.com/"&gt;Icon Archive&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.freeiconsdownload.com/"&gt;Free Icons Download&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://www.bestfreeicons.com"&gt;Best Free Icons&lt;/a&gt;&lt;br /&gt;5. &lt;a href="www.nesoft.org/free_icon_gallery.htm"&gt;Nesoft Icon Gallery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy surfing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6627669162244321031?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6627669162244321031/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6627669162244321031' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6627669162244321031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6627669162244321031'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/100-icon-cantik-yang-bisa-di-download.html' title='100 icon cantik yang bisa di download gratis'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-2227530326835570517</id><published>2009-05-18T12:46:00.000-07:00</published><updated>2009-05-18T12:56:41.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development'/><title type='text'>Bagaimana membuat website untuk iPhone?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://iwebkit.net/templates/iwebkit/images/photo.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 442px; height: 177px;" src="http://iwebkit.net/templates/iwebkit/images/photo.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Seorang teman bercerita bahwa seorang remaja telah menjadi milyuner di Singapore setelah dia memasarkan sebuah game untuk ponsel iPhone. Lalu terpikir oleh saya untuk melakukannya juga. Saya menelusuri website Apple untuk mengetahui caranya. Begitu mengetahui caranya, saya kecewa berat karena saya harus menginstall sebuah aplikasi, yang ternyata hanya jalan di Mac OS. Yah, sayang, saya hanya punya Ubuntu dan Wind*s bajakan.&lt;br /&gt;&lt;br /&gt;Waktu itu saya belum menyerah, saya coba menginstal Hackintosh. Bahkan saya membeli DVD nya dari seorang kenalan di Surabaya. Tetap saja saya tidak bisa menginstallnya di laptop saya. Naseeb.&lt;br /&gt;&lt;br /&gt;Tapi, tak apalah, mungkin saya bisa membuat aplikasi untuk iPhone tetapi berbasis web. Saya mengenal sebuah tools untuk melakukannya, &lt;a href="http://iwebkit.net/"&gt;iWebKit&lt;/a&gt;. Anda bisa &lt;a href="http://iwebkit.net/downloads"&gt;mendownloadnya secara gratis&lt;/a&gt; karena iWebKit berlisensi LGPL. Anda bisa mendapatkan sebuah ebook di dalamnya dan mempelajari bagaimana menggunakan iWebKit.&lt;br /&gt;&lt;br /&gt;Selamat mencoba.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-2227530326835570517?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/2227530326835570517/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=2227530326835570517' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2227530326835570517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2227530326835570517'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-membuat-website-untuk-iphone.html' title='Bagaimana membuat website untuk iPhone?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8103820261382943796</id><published>2009-05-18T12:13:00.000-07:00</published><updated>2009-05-18T12:42:01.086-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Wisata'/><title type='text'>Ingin wisata ke puluhan tempat terindah di dunia?</title><content type='html'>Pernahkah terpikirkan untuk berkunjung ke Grand Canyon, di Amerika? Atau memanjat gunung es di Alaska? Atau ingin melihat megahnya Machu Pichu, piramid Indian? Yah, mungkin untuk itu kita perlu menabung bertahun-tahun, atau Anda tidak ingin menyia-nyiakan uang Anda hanya untuk perjalanan yang tidak menghasilkan?&lt;br /&gt;&lt;br /&gt;Klik saja gambar-gambar di bawah ini, dan Anda akan mendapatkan pengalaman seolah-olah Anda berrada di tempat-tempat tersebut karena Anda bisa melihat 360 derajat ke sekeliling Anda. Bahkan ke atas!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.panorama360.es/america/usa/HorseShoeBendKrpano/HorseShoeBend_krpano_Grande.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 200px;" src="http://www.webdesignerdepot.com/wp-content/uploads/panoramas/59.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.panoramas.dk/fullscreen6/f2-machu-picchu.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 200px;" src="http://www.webdesignerdepot.com/wp-content/uploads/panoramas/16.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.direct2brain.net/d2blog/Lonely-Beach-High-Resolution-.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 200px;" src="http://www.webdesignerdepot.com/wp-content/uploads/panoramas/68.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.abaco-digital.es/QTVRcompleto.html?file=http://www.ad-fotos.com/qtvr/pineta1.mov&amp;pie=Escalada%20en%20hielo%20en%20Pineta%2C%20Pirineo%20Aragon%E9s"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 200px;" src="http://www.webdesignerdepot.com/wp-content/uploads/panoramas/57.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ah, ya, saya malah sudah bernostalgia ke Fontana Di Trevi. Saya pernah mengunjungi tempat ini tahun 2005. Tempat yang amat indah, meskipun saat itu saya kehabisan uang hahaha. Menginap semalam saja menghabiskan biaya 1,5 juta rupiah.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.panorama360.es/europa/italia/FontanaTreviMini.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 150px;" src="http://www.panorama360.es/europa/italia/FontanaTreviMini.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anda bisa mendapatkan puluhan tempat wisata terindah di &lt;a href="http://www.panorama360.es/"&gt;Panorama 360&lt;/a&gt;. Sayang, saya tidak mengerti bahasa dalam website ini. Tetapi yang jelas, ini adalah pengalaman yang indah. Selamat mencobanya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8103820261382943796?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8103820261382943796/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8103820261382943796' title='2 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8103820261382943796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8103820261382943796'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/ingin-wisata-ke-puluhan-tempat-terindah.html' title='Ingin wisata ke puluhan tempat terindah di dunia?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8451216699589655640</id><published>2009-05-16T18:19:00.001-07:00</published><updated>2009-05-18T12:58:05.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 3</title><content type='html'>Dalam function.php saya tambahkan baris program yang meminta PHP untuk menggunakan skema database tutorial.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$link = mysql_connect('localhost', 'root', 'Ultimate10');&lt;br /&gt;if (!$link) {&lt;br /&gt;    die("Koneksi database gagal: " . mysql_error() . ".");&lt;br /&gt;}&lt;br /&gt;mysql_select_db("tutorial") or die("Database tidak dapat dibuka.");&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Sampai tahapan ini, kita sudah memiliki koneksi ke skema database tutorial. Jika tidak berhasil, misalnya skema database belum dibuat, maka akan muncul pesan Database tidak dapat dibuka.&lt;br /&gt;&lt;br /&gt;Kemudian, saya melengkapi program kita dengan fungsi-fungsi yang sudah dijanjikan pada bagian pertama seri ini, yaitu untuk insert, read, update dan delete data dalam tabel. Silakan perhatikan kode program berikut:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;function insertCustomerData($nama, $alamat, $tagihan, $catatan) {&lt;br /&gt;  global $link;&lt;br /&gt;  $sql = "INSERT INTO datapelanggan (nama, alamat, tagihan, catatan) &lt;br /&gt;  VALUES ('$nama', '$alamat', '$tagihan', '$catatan')";&lt;br /&gt;  $result = mysql_query($sql);&lt;br /&gt;  return $result;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function readCustomerData($idPelanggan) {&lt;br /&gt;  global $link;&lt;br /&gt;  $error = 0;&lt;br /&gt;  $data = array();&lt;br /&gt;  $sql = "SELECT nama, alamat, tagihan, catatan FROM datapelanggan &lt;br /&gt;  WHERE idpelanggan='$idPelanggan'";&lt;br /&gt;  $result = mysql_query($sql);&lt;br /&gt;&lt;br /&gt;  if ($result) {&lt;br /&gt;    if (mysql_num_rows($result)) {&lt;br /&gt;      while ($row = mysql_fetch_assoc($result)) {&lt;br /&gt; $data = array("nama"=&gt;$row["nama"], &lt;br /&gt;   "alamat"=&gt;$row["alamat"],&lt;br /&gt;   "tagihan"=&gt;$row["tagihan"], &lt;br /&gt;   "catatan"=&gt;$row["catatan"]&lt;br /&gt; );&lt;br /&gt;      }&lt;br /&gt;    } else {&lt;br /&gt;      // Data tidak ditemukan&lt;br /&gt;      $error = 2;&lt;br /&gt;    }&lt;br /&gt;  } else {&lt;br /&gt;    // Query SQL gagal&lt;br /&gt;    $error = 1;&lt;br /&gt;  }&lt;br /&gt;  $result = array("errorcode"=&gt;$error,&lt;br /&gt;    "data" =&gt; $data&lt;br /&gt;  );&lt;br /&gt;  return $result;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function updateCustomerData($idPelanggan, $nama, $alamat, $tagihan, $catatan) {&lt;br /&gt;  global $link;&lt;br /&gt;  $sql = "UPDATE datapelanggan &lt;br /&gt;  SET nama='$nama', alamat='$alamat', tagihan='$tagihan', catatan='$catatan' &lt;br /&gt;  WHERE idpelanggan='$idPelanggan'";  &lt;br /&gt;  $result = mysql_query($sql);  &lt;br /&gt;  return $result;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function deleteCustomerData($idPelanggan) {&lt;br /&gt;  global $link;&lt;br /&gt;  $sql = "DELETE FROM datapelanggan WHERE idpelanggan='$idPelanggan'";&lt;br /&gt;  $result = mysql_query($sql);&lt;br /&gt;  return $result;&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Hingga tahap ini, kita sudah memiliki fungsi-fungsi yang dibutuhkan. Tetapi kapan fungsi ini digunakan? Kita perlu melengkapi program kita dengan kode berikut untuk menangani permintaan GET.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;// Fungsi utama untuk &lt;br /&gt;if (isset($_GET["function"])) {&lt;br /&gt;  switch ($_GET["function"]) {&lt;br /&gt;    case "INSERT": {&lt;br /&gt;      if (isset($_GET["parameters"])) {&lt;br /&gt; $parameters = explode("||", $_GET["parameters"]);&lt;br /&gt; if (count($parameters)==4) {&lt;br /&gt;   $result = insertCustomerData($parameters[0], $parameters[1], $parameters[2], $parameters[3]);&lt;br /&gt;   echo $result;&lt;br /&gt; }&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;    case "READ": {&lt;br /&gt;      if (isset($_GET["parameters"])) {&lt;br /&gt; $parameters = $_GET["parameters"];&lt;br /&gt; $result = readCustomerData($parameters);&lt;br /&gt; if ($result) {&lt;br /&gt;   echo $result["errorcode"];&lt;br /&gt;   if ($result["errorcode"]==0) {&lt;br /&gt;     echo "##";&lt;br /&gt;     echo $result["data"]["nama"] . "||" .&lt;br /&gt;            $result["data"]["alamat"] . "||" .&lt;br /&gt;     $result["data"]["tagihan"] . "||" .&lt;br /&gt;     $result["data"]["catatan"];&lt;br /&gt;   }&lt;br /&gt; };&lt;br /&gt; &lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;    case "UPDATE": {      &lt;br /&gt;      if (isset($_GET["parameters"])) {&lt;br /&gt; $parameters = explode("||", $_GET["parameters"]);&lt;br /&gt; if (count($parameters)==5) {   &lt;br /&gt;   $result = updateCustomerData($parameters[0], $parameters[1], $parameters[2], $parameters[3], $parameters[4]);&lt;br /&gt;   echo $result;&lt;br /&gt; } else echo 3; // 3 adalah error code parameter tidak cocok&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;    case "DELETE": {&lt;br /&gt;      if (isset($_GET["parameters"])) {&lt;br /&gt; $parameters = $_GET["parameters"];&lt;br /&gt; $result = deleteCustomerData($parameters);&lt;br /&gt; echo $result;&lt;br /&gt; &lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;  }&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Selesailah script PHP sebagai server aplikasi kita.&lt;br /&gt;&lt;br /&gt;Anda bisa mengeceknya dengan mengetikkan URL berikut ini ke address bar browser Anda:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;http://localhost/Tutorial/function.php?function=INSERT&amp;parameters=Nunik%20Yulianingsih||Perumahan%20Kurnia%20Alam%20Permai%20Blok%20E%20No%209%20Depok||150000||Lunas&lt;br /&gt;&lt;br /&gt;http://localhost/Tutorial/function.php?function=UPDATE&amp;parameters=2||Nunik%20Kutoarjo%20Yulianingsih||Perumahan%20Kurnia%20Alam%20Permai%20Blok%20E%20No%209%20Depok||150000||Lunas&lt;br /&gt;&lt;br /&gt;http://localhost/Tutorial/function.php?function=READ&amp;parameters=2&lt;br /&gt;&lt;br /&gt;http://localhost/Tutorial/function.php?function=DELETE&amp;parameters=2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;URL-URL di atas berturut-turut digunakan untuk menambah, mengubah, membaca dan menghapus data sebuah record di tabel pelanggan dalam skema database tutorial. Penasaran? Silakan mencoba.&lt;br /&gt;&lt;br /&gt;Di posting berikutnya, kita akan mulai membuat projek J2ME-nya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8451216699589655640?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8451216699589655640/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8451216699589655640' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8451216699589655640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8451216699589655640'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-melakukan-read-insert-update_5139.html' title='Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 3'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6715506560163755369</id><published>2009-05-16T16:49:00.000-07:00</published><updated>2009-05-18T12:58:27.770-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 2</title><content type='html'>Ok. kita lanjut tutorial kemaren. Kondisinya, saya sudah punya Apache HTTPD, MySQL dan PHP, juga PhpMyAdmin. Entah kenapa, MySQL Query Browser saya masih error.&lt;br /&gt;&lt;br /&gt;Ok. Hal pertama yang saya lakukan adalah membuat database-nya seperti yang dibicarakan kemarin.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/Sg9SEV_6MgI/AAAAAAAAAXU/gYZzZjeZXBg/s1600-h/database.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 137px;" src="http://1.bp.blogspot.com/__vC83XgntjU/Sg9SEV_6MgI/AAAAAAAAAXU/gYZzZjeZXBg/s320/database.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336574318035481090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tabel di atas saya buat menggunakan PhpMyAdmin. Mudah-mudahan Anda sudah cukup mengenalnya. Setelah saya Save skema tersebut, saya melanjutkan dengan membuat file PHP untuk servernya.&lt;br /&gt;&lt;br /&gt;Saat ini saya memakai Linux dan installasi Apache-nya menggunakan APT. Maka ini yang saya lakukan:&lt;br /&gt;1. Membuat direktori Tutorial dalan direktori Projects (direktori tempat saya menyimpan proyek-proyek PHP saya. Lokasinya kurang lebih seperti ini &lt;span style="font-weight:bold;"&gt;/home/pokemon/Projects/Tutorial&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;2. Membuat file &lt;span style="font-weight:bold;"&gt;function.php&lt;/span&gt; di dalam direktori tersebut. Di dalamnya saya membuat kerangka fungsi-fungsi yang dibutuhkan dan menambahkan koneksi ke MySQL yang sederhana di awalnya, dan ditutup di akhir file.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;?&lt;br /&gt;// Koneksi ke database MySQL&lt;br /&gt;$link = mysql_connect('localhost', 'root', 'password-mysql');&lt;br /&gt;if (!$link) {&lt;br /&gt;    die('Koneksi database gagal: ' . mysql_error());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Fungsi-fungsi&lt;br /&gt;function insertCustomerData() {&lt;br /&gt;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function readCustomerData() {&lt;br /&gt;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function updateCustomerData() {&lt;br /&gt;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function deleteCustomerData() {&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Menutup koneksi&lt;br /&gt;mysql_close($link);&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;3. Mengubah file konfigurasi Apache agar bisa mendeteksi projek baru saya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;   $ sudo kate /etc/apache2/apache2.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Perintah di atas berfungsi untuk membuka Kate (text editor sederhana di Kubuntu) dengan mode admin (root). Saya tambahkan entry berikut ini&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    Alias /Tutorial/ "/home/pokemon/Projects/Tutorial/"&lt;br /&gt;&lt;br /&gt;    &lt;Directory "/home/pokemon/Projects/Tutorial"&gt;&lt;br /&gt;        AllowOverride None&lt;br /&gt;        Options IncludesNoExec&lt;br /&gt;        AddOutputFilter Includes html&lt;br /&gt;        AddHandler type-map var&lt;br /&gt;        Order allow,deny&lt;br /&gt;        Allow from all&lt;br /&gt;        LanguagePriority en cs de es fr it nl sv pt-br ro&lt;br /&gt;        ForceLanguagePriority Prefer Fallback&lt;br /&gt;    &lt;/Directory&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Perhatikan di atas, lokasi projek saya ditulis 2 kali. Langkah ini gunanya adalah agar nanti jika saya mengetikkan &lt;span style="font-weight:bold;"&gt;http://localhost/Tutorial/function.php&lt;/span&gt;, maka script PHP yang dijalankan adalah &lt;span style="font-weight:bold;"&gt;/home/pokemon/Projects/Tutorial/function.php&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;4. Restart server Apache saya&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;   $ sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sampai tahap ini, function.php sudah diakses dan jika tidak ada pesan error ketika kita buka dengan Browser, maka mestinya koneksi dengan MySQL sudah benar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6715506560163755369?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6715506560163755369/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6715506560163755369' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6715506560163755369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6715506560163755369'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-melakukan-read-insert-update_16.html' title='Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME bagian 2'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/Sg9SEV_6MgI/AAAAAAAAAXU/gYZzZjeZXBg/s72-c/database.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3548953854399290607</id><published>2009-05-14T12:45:00.000-07:00</published><updated>2009-05-14T12:51:22.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Me-reset password MySQL yang kelupaan</title><content type='html'>Rupanya saya lupa saya pakai password apa ketika install database server MySQL di komputer Kubuntu 9.04 saya. Agak panik juga. Tetapi seperti biasa, Oom Google membantu saya. Jika Anda mengalami masalah yang sama, silakan lakukan ini:&lt;br /&gt;&lt;br /&gt;$ sudo dpkg-reconfigure mysql-server-5.0&lt;br /&gt;&lt;br /&gt;Nantinya, akan muncul prompt berwarna biru untuk mengisikan password root MySQL Anda (jangan tertukar dengan prompt password sudo ya) yang baru. Masukkan dan ingat-ingat, jangan sampai lupa lagi.&lt;br /&gt;&lt;br /&gt;Terima kasih &lt;a href="http://ubuntu-tutorials.com/2008/01/08/how-to-reset-the-mysql-password-ubuntu-710/"&gt;http://ubuntu-tutorials.com/2008/01/08/how-to-reset-the-mysql-password-ubuntu-710/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3548953854399290607?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3548953854399290607/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3548953854399290607' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3548953854399290607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3548953854399290607'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/me-reset-password-mysql-yang-kelupaan.html' title='Me-reset password MySQL yang kelupaan'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-2407049625946406552</id><published>2009-05-14T11:10:00.000-07:00</published><updated>2009-05-20T08:13:30.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME</title><content type='html'>Siang ini seorang teman menelpon, menanyakan realisasi janji saya beberapa waktu yang lalu. Benar, pada waktu itu saya menjanjikan akan memberikan semacam tutorial tentang bagaimana mengakses data di server.&lt;br /&gt;&lt;br /&gt;Latar belakangnya begini, Pak Sugeng (sebut saja begitu), ingin membuat aplikasi ponsel yang bisa digunakan untuk menampilkan data-data pelanggan, kemudian mengeditnya sembari di depan muka pelanggan, hingga menyimpannya kembal ke server. &lt;br /&gt;&lt;br /&gt;Untuk melakukannya, saya sebenarnya perlu melakukan persiapan terlebih dahulu. Justru ini yang sedang saya lakukan (sampe begadang-begadang, padahal besok pagi harus meeting dari pagi sampai sore, hiks). Berikut ini yang perlu saya persiapkan:&lt;br /&gt;1. IDE (Integrated Development Environment untuk coding J2ME,&lt;br /&gt;2. Database server (MySQL),&lt;br /&gt;3. Server side scripting (PHP),&lt;br /&gt;4. Sebuah mekanisme remote procedure call atau fungsi di server yang bisa dipanggil dari client&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IDE, idealnya menggunakan Netbeans 6.5&lt;/h3&gt;&lt;br /&gt;Untuk coding J2ME secara drag and drop, idealnya saya menggunakan Netbeans 6.5. Saya sudah pernah mendownload aplikasi ini. Nanti akan saya install kembali di OS baru saya, Kubuntu 9.04. Wah, lumayan juga nih, refreshing ilmu lama.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Apache, MySQL dan PHP&lt;/h3&gt;&lt;br /&gt;Saya sudah menginstall Apache, MySQL dan PHP beberapa saat yang lalu di Kubuntu 9.04 ini. Berikut ini perintahnya:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server&lt;br /&gt;&lt;br /&gt;Perintah tersebut digunakan untuk mendownload langsung Apache2, MySQL dan PHP5, sekaligus menginstallnya di sistem saya.&lt;br /&gt;&lt;br /&gt;Untuk pengguna Windows, mereka dapat menggunakan &lt;a href="www.apachefriends.org/en/xampp-windows.html"&gt;paket Xampp&lt;/a&gt; yang di dalamnya sudah tercakup Apache, MySQL dan PHP. Bayar gak? Tentu saja free open source.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Remote procedure call untuk melakukan insert, read, update dan delete&lt;/h3&gt;&lt;br /&gt;Sebelum bisa punya mekanisme ini, tentu saja saya harus membuat terlebih dahulu databasenya, juga table dan field-fieldnya. Untuk lebih sederhananya, saya akan membuat sebuah skema database bernama &lt;span style="font-weight:bold;"&gt;tutorial&lt;/span&gt;. Di dalamnya saya membuat tabel &lt;span style="font-weight:bold;"&gt;datapelanggan&lt;/span&gt; yang memiliki field-field: &lt;span style="font-weight:bold;"&gt;idpelanggan&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;nama&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;alamat&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;tagihan&lt;/span&gt;, dan &lt;span style="font-weight:bold;"&gt;catatan&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Saya menggunakan tool MySQL Query Browser untuk melakukannya. Ada sedikit masalah, ketika saya menjalankan MySQL Query Browser, saya tidak bisa terhubung ke database MySQL di localhost. Padahal saya sudah nyalakan servicenya. Hmm... aneh. Saya coba tool lain deh, mungkin PhpMyAdmin. Tapi saya harus download aplikasi ini, hiks. &lt;br /&gt;&lt;br /&gt;$ sudo apt-get install phpmyadmin &lt;br /&gt;&lt;br /&gt;Untuk pengguna Xampp, Anda boleh gembira karena PhpMyAdmin sudah tersedia untuk Anda.&lt;br /&gt;&lt;br /&gt;Ok, sembari menunggu, saya akan ceritakan dulu rencana saya.&lt;br /&gt;&lt;br /&gt;Nanti, kalau database udah jadi, saya akan buat 4 fungsi dengan script PHP dalam sebuah file saja, &lt;span style="font-weight:bold;"&gt;function.php&lt;/span&gt;. Fungsi-fungsi tersebut antara lain, &lt;span style="font-weight:bold;"&gt;insertCustomerData()&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;readCustomerData()&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;updateCustomerData()&lt;/span&gt;, dan &lt;span style="font-weight:bold;"&gt;deleteCustomerData()&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Keempat fungsi tersebut tentunya harus melakukan fungsinya, mengacak-acak database, tentu saja. Nah, kemudian, saya harus juga menyediakan suatu cara agar fungsi-fungsi tersebut bisa diakses dengan ponsel. Maka saya sediakan sebuah &lt;span style="font-style:italic;"&gt;listener&lt;/span&gt; dengan PHP untuk mendengarkan, jika ada permintaan fungsi, maka function.php akan mengecek, apakah fungsi yang diminta terdapat di sistem atau tidak. Jika ya, cek lagi, apakah parameternya lengkap atau tidak. Jika ya, jalankan fungsi yang diminta, kemudian berikan hasilnya kepada peminta.&lt;br /&gt;&lt;br /&gt;Peminta yang saya maksud adalah ponsel. Sampai di sini sisi server sudah selesai.&lt;br /&gt;&lt;br /&gt;Saya kemudian akan membuat fungsi/method dengan J2ME untuk memanggil keempat fungsi tersebut. fungsi tersebut adalah pemetaan dari tiap fungsi server, berikut parameternya. Setiap method tersebut nantinya akan dikirimkan dengan format tertentu ke server menggunakan protokol HTTP. Berarti juga, saya harus membuat method untuk mengirimkan data apapun melalui protokol HTTP. Setelahnya, saya juga harus menambahkan fungsi untuk parsing data dari ponsel ini di sisi servernya (&lt;span style="font-weight:bold;"&gt;function.php&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Hasil dari server akan dikembalikan ke ponsel dalam bentuk HTTP Response dari request yang dikirim. Dalam format tertentu pula. Maka, pada ponsel pun harus disiapkan method untuk parsing response dari server ini.&lt;br /&gt;&lt;br /&gt;Terakhir, saya harus membuat tampilan program di ponsel untuk simulasi program ini. Ini mudah dilakukan dengan Netbeans 6.5.&lt;br /&gt;&lt;br /&gt;Ok. Kira-kira begitulah skenario yang akan saya kerjakan, mungkin lusa, karena jadwal meeting besok padat (meskipun cuma sebagai pendengar) dan sorenya saya harus ikut Outbond sampai Sabtu siang. Sepertinya Pak Sugeng harus bersabar sementara waktu.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://amrishodiq.blogspot.com/2009/05/bagaimana-melakukan-read-insert-update_16.html"&gt;Bagian 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://amrishodiq.blogspot.com/2009/05/bagaimana-melakukan-read-insert-update_5139.html"&gt;Bagian 3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-2407049625946406552?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/2407049625946406552/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=2407049625946406552' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2407049625946406552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2407049625946406552'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-melakukan-read-insert-update.html' title='Bagaimana melakukan read, insert, update dan delete data di server dengan J2ME'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5287807880969275160</id><published>2009-05-14T07:12:00.000-07:00</published><updated>2009-05-14T07:32:18.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Bagaimana mengganti template blog di blogspot/blogger?</title><content type='html'>Di sela-sela 'kesibukan', sah sibuk :P, saya menyempatkan diri mengunjungi blog saya ini yang sudah lama nggak dimaintain. Biasanya memang saya cuman maintain &lt;a href="http://amrishodiq.wordpress.com"&gt;blog utama saya&lt;/a&gt;. Ternyata setelah dilihat-lihat, isi blog ini lumayan keren juga yah. Sayang kalau ditelantarkan. Apalagi tampilan sebelumnya, dafault banget.&lt;br /&gt;&lt;br /&gt;Terilhami dari blognya &lt;a href="http://clog.ammar.web.id/"&gt;Ammar&lt;/a&gt; (tepatnya sih clog-nya, apa tuh maksudnya clog?), saya jadi pengen ganti template. Tapi yang nggak standar gitu lo. Beda dengan Wordpress yang menyediakan blog dengan theme yang lumayan banyak tapi static, blogger atau blogspot menyediakan sedikit template tapi sangat dinamis. Kita bisa mengubah-ubah theme yang ada, bahkan menggantinya sama sekali. Perhatikan aja blognya Ammar, Anda pasti nggak menyangka itu dari blogspot. Oh iya, nggak usah jauh-jauh lah, lihat aja blog ini. Beda toh dengan blog-blog yang lain?&lt;br /&gt;&lt;br /&gt;Kita bisa download theme-theme blogger yang banyak dishare sama temang-teman di Internet. Nggak usah takut, gratis! Nggak percaya? Silakan kunjungi web-web ini:&lt;br /&gt;1. &lt;a href="www.anewmorning.com/2008/08/23/10-best-blogger-themes-templates-including-magazine-style-blogger-themes/ "&gt;A new morning dot com&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://blogger-themes.blogspot.com/"&gt;Blogger themes&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://mashable.com/2008/05/17/70-plus-new-and-beautiful-blogger-templates/"&gt;Mashable&lt;/a&gt;&lt;br /&gt;4. dll&lt;br /&gt;&lt;br /&gt;Kalau mau pilihan lebih banyak lagi, silakan googling aja. Cari dengan kata kunci &lt;span style="font-weight:bold;"&gt;blogger theme&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;blogger template&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;blogspot theme&lt;/span&gt; atau &lt;span style="font-weight:bold;"&gt;blogspot XML template&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Kalau udah milih salah satu dari banyak pilihan itu, silakan buka dashboard account blogger Anda. kemudian pilih &lt;span style="font-weight:bold;"&gt;Tata Letak&lt;/span&gt; | &lt;span style="font-weight:bold;"&gt;Edit HTML&lt;/span&gt;. Di halam tersebut akan ada pilihan untuk mengupload dari sebuah template yang ada di komputer kita. Klik aja &lt;span style="font-weight:bold;"&gt;Browse&lt;/span&gt; kemudian pilih &lt;span style="font-weight:bold;"&gt;Unggah&lt;/span&gt;. Maka template baru Anda akan diaktifkan. Terakhir, Anda masih bisa mengotak-atik template pilihan Anda tersebut sehingga bisa menjadi template unik Anda.&lt;br /&gt;&lt;br /&gt;Perhatikan gambar di bawah ini, barang kali Anda bisa melihat lebih jelas.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/Sgwq_q_WhyI/AAAAAAAAAW0/k4uoe7hBRXI/s1600-h/ganti-template-blogspot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 128px;" src="http://3.bp.blogspot.com/__vC83XgntjU/Sgwq_q_WhyI/AAAAAAAAAW0/k4uoe7hBRXI/s320/ganti-template-blogspot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5335686931887327010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hehehe, lucu juga ya bahasa Indonesianya upload ternyata Unggah. Bener gak sih berdasarkan kamus? Kayanya ini versi Google deh.&lt;br /&gt;&lt;br /&gt;Tertarik? Silakan mencoba.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5287807880969275160?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5287807880969275160/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5287807880969275160' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5287807880969275160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5287807880969275160'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2009/05/bagaimana-mengganti-template-blog-di.html' title='Bagaimana mengganti template blog di blogspot/blogger?'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__vC83XgntjU/Sgwq_q_WhyI/AAAAAAAAAW0/k4uoe7hBRXI/s72-c/ganti-template-blogspot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6523789052905305035</id><published>2008-03-25T05:34:00.000-07:00</published><updated>2008-03-25T06:25:35.495-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Hello world project at Android</title><content type='html'>After successing in Android SDK installation, it's time to try my first Android code. Anyway, it's written in Java, but a little different from J2ME I've known before.&lt;br /&gt;&lt;br /&gt;Here's the steps (use Eclipse):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a new Android project: &lt;span style="font-weight: bold;"&gt;File&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;New&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Android Project&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Fill the project detail. I filled the Project name by Terminator1 (since I remember Arnold's movie "Terminator" when I heard Android); package name com.caliphsoft.firstandroid (since this is my first Android program and I have a website named www.caliphsoft.com; Activity name: terminating (so my executable file will be terminating.java); Application name: Terminator1 (this name will be used by Android phone to name my application)&lt;/li&gt;&lt;li&gt;Select &lt;span style="font-weight: bold;"&gt;Finish&lt;/span&gt; button&lt;br /&gt;&lt;/li&gt;&lt;li&gt;See the left panel (Package Explorer), you have project named &lt;span style="font-weight: bold;"&gt;Terminator1&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Double click at the &lt;span style="font-weight: bold;"&gt;src&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;com.caliphsoft.firstandroid&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;terminating.java&lt;/span&gt;, you will have the file is auto generated by Eclipse and ADT plugin.&lt;/li&gt;&lt;li&gt;I modify this file with these line&lt;span style="color: rgb(255, 102, 0);font-size:85%;" &gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package com.caliphsoft.firstandroid;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.widget.TextView;&lt;br /&gt;&lt;br /&gt;public class terminating extends Activity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle icicle) {&lt;br /&gt;        super.onCreate(icicle);&lt;br /&gt;        TextView tv = new TextView(this);&lt;br /&gt;        tv.setText("Hello, I'm Arnold Schwarzeneger.\nWho are you Android?");&lt;br /&gt;        setContentView(tv);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I saved it&lt;/li&gt;&lt;li&gt;Right click at &lt;span style="font-weight: bold;"&gt;Terminator1&lt;/span&gt;, select &lt;span style="font-weight: bold;"&gt;Run As&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Android Application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;At this point you will see Android phone emulator with &lt;span style="font-weight: bold;font-family:courier new;" &gt;ANDROID_&lt;/span&gt; word then turn into bouncing red light. At this point you should be patient. The application will appear soon&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/R-j2GtayQOI/AAAAAAAAAC4/kf-iewOsL5w/s1600-h/3.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/__vC83XgntjU/R-j2GtayQOI/AAAAAAAAAC4/kf-iewOsL5w/s320/3.png" alt="" id="BLOGGER_PHOTO_ID_5181661966421344482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Congratulations, it works! Isn't it pretty?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6523789052905305035?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6523789052905305035/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6523789052905305035' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6523789052905305035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6523789052905305035'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/03/hello-world-project-at-android.html' title='Hello world project at Android'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__vC83XgntjU/R-j2GtayQOI/AAAAAAAAAC4/kf-iewOsL5w/s72-c/3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5724713950306063489</id><published>2008-03-25T04:10:00.000-07:00</published><updated>2008-03-25T06:26:43.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Install Google Android SDK in my Ubuntu</title><content type='html'>Really, I love Java mobile application developing. And right now, I want install Android SDK in my laptop:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First, we must have the Android SDK from &lt;a href="http://code.google.com/android/download.html"&gt;here&lt;/a&gt; (download it),&lt;/li&gt;&lt;li&gt;Extract the SDK at some location. You can right click the file from Nautilus then select &lt;span style="font-weight: bold;"&gt;Open with "Archive Manager"&lt;/span&gt;. Left click on the &lt;span style="font-weight: bold;"&gt;android SDK ...&lt;/span&gt; then click &lt;span style="font-weight: bold;"&gt;Extract&lt;/span&gt; button. Select where you want it installed. Remember this location,&lt;/li&gt;&lt;li&gt;I also download Eclipse IDE from &lt;a href="http://www.eclipse.org/"&gt;www.eclipse.org&lt;/a&gt;. Before I usually use EasyEclipse. but unfortunately it doesn't fits well. So I download a fresh copy from Eclipse.org. And it works. Also I extract it to some location,&lt;/li&gt;&lt;li&gt;Run Eclipse IDE by left click on &lt;span style="font-weight: bold;"&gt;eclipse&lt;/span&gt; (executable file).&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R-jrENayQMI/AAAAAAAAACo/VuYGH3PXJI0/s1600-h/i.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R-jrENayQMI/AAAAAAAAACo/VuYGH3PXJI0/s320/i.jpg" alt="" id="BLOGGER_PHOTO_ID_5181649828843765954" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Click Help&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Software Updates&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Find and Install&lt;/span&gt;. After that &lt;span style="font-weight: bold;"&gt;Search for new features to install&lt;/span&gt;.&lt;br /&gt;Click &lt;span style="font-weight: bold;"&gt;Next&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;New Remote Site&lt;/span&gt; button. Fill Name field with &lt;span style="font-style: italic;"&gt;Google Android&lt;/span&gt; and URL with &lt;span style="font-style: italic;"&gt;http://dl-ssl.google.com/android/eclipse/&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Let the Update Manager works&lt;/li&gt;&lt;li&gt;Select the checkbox for &lt;span style="font-weight: bold;"&gt;Android Plugin&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Developer Tools&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click on the checkbox for &lt;span style="font-style: italic;"&gt;Accept term of the license agreement&lt;/span&gt; then press &lt;span style="font-weight: bold;"&gt;Next&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Press &lt;span style="font-weight: bold;"&gt;Finish&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Select Install All&lt;/li&gt;&lt;li&gt;Restart Eclipse&lt;/li&gt;&lt;li&gt;After restarting, update your eclipse preference by clicking on menu &lt;span style="font-weight: bold;"&gt;Window&lt;/span&gt; | &lt;span style="font-weight: bold;"&gt;Preferences&lt;/span&gt;. Select &lt;span style="font-weight: bold;"&gt;Android&lt;/span&gt; of the left panel&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Browse&lt;/span&gt; the SDK location from setp 2. Click &lt;span style="font-weight: bold;"&gt;Apply&lt;/span&gt; then &lt;span style="font-weight: bold;"&gt;OK&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/R-ju89ayQNI/AAAAAAAAACw/S4qqD_GUgbM/s1600-h/2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/__vC83XgntjU/R-ju89ayQNI/AAAAAAAAACw/S4qqD_GUgbM/s320/2.png" alt="" id="BLOGGER_PHOTO_ID_5181654102336225490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Thats it! You can create new Android project now.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5724713950306063489?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5724713950306063489/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5724713950306063489' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5724713950306063489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5724713950306063489'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/03/install-google-android-sdk-in-my-ubuntu.html' title='Install Google Android SDK in my Ubuntu'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/R-jrENayQMI/AAAAAAAAACo/VuYGH3PXJI0/s72-c/i.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8045755557430838173</id><published>2008-03-12T13:03:00.000-07:00</published><updated>2008-03-25T06:25:35.496-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Eclipse</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What is Eclipse?&lt;/span&gt;&lt;br /&gt;Eclipse is a nice and really fast programming tools. It's an Integrated Development Environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What can we do with Eclipse?&lt;/span&gt;&lt;br /&gt;We can do a lot things. Programming of cource. Unit testing our programs. We can code in Java, PHP, C and C++. That's the language I've ever tested using Eclipse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where can we get this software?&lt;/span&gt;&lt;br /&gt;You can download it from www.eclipse.org. For newbie, I recommend you to download it form www.easyeclipse.org. Why easyeclipse? Because they give the easy version of Eclipse. If you wish to develop desktop Java application, just download the Java desktop version. You can also have the mobile java, PHP and some other version. If you have choose one, you can add some plugins to it. You can download the plugins at the same site (www.easyeclipse.org).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Can I see how is it looks? Is it better then my IDE?&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/R9g7qTOocjI/AAAAAAAAACg/3lROYhI1Dig/s1600-h/eclipse.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/__vC83XgntjU/R9g7qTOocjI/AAAAAAAAACg/3lROYhI1Dig/s320/eclipse.png" alt="" id="BLOGGER_PHOTO_ID_5176953369564574258" border="0" /&gt;&lt;/a&gt;Here, you can see Eclipse to be used for J2ME programming. I program a simple Java program for cellphone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8045755557430838173?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8045755557430838173/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8045755557430838173' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8045755557430838173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8045755557430838173'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/03/eclipse.html' title='Eclipse'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__vC83XgntjU/R9g7qTOocjI/AAAAAAAAACg/3lROYhI1Dig/s72-c/eclipse.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-157828625729451061</id><published>2008-03-12T01:50:00.001-07:00</published><updated>2008-03-25T06:26:06.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Adding Calibri and Cambria Fonts</title><content type='html'>I added two of Microsoft's fonts to my Ubuntu these ways:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Copy the truetype fonts from the mounted Windows partition&lt;br /&gt;/media/sda1/WINDOWS/Fonts [read as directory WINDOWS/Fonts in Windows]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To /usr/share/fonts/truetype/msttcorefonts. If it doesn't exists yet then create one. Don't change the name&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's done!&lt;/li&gt;&lt;li&gt;Please select System | Preference | Appearance and click Fonts tab&lt;/li&gt;&lt;li&gt;See, there is Calibri and Cambria&lt;/li&gt;&lt;li&gt;You like it?&lt;/li&gt;&lt;/ol&gt;What? you cannot copy them? Of course you need to do sudo.&lt;br /&gt;$ sudo nautilus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-157828625729451061?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/157828625729451061/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=157828625729451061' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/157828625729451061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/157828625729451061'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/03/adding-calibri-and-cambria-fonts.html' title='Adding Calibri and Cambria Fonts'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8240233934716395022</id><published>2008-03-12T00:29:00.001-07:00</published><updated>2008-03-12T01:18:25.897-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Fight for SopingSenter</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/R9eLITOocfI/AAAAAAAAACA/IFeO2lUGwWI/s1600-h/cara-kerja.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/__vC83XgntjU/R9eLITOocfI/AAAAAAAAACA/IFeO2lUGwWI/s320/cara-kerja.jpg" alt="" id="BLOGGER_PHOTO_ID_5176759271402533362" border="0" /&gt;&lt;/a&gt;Yesterday, I went to Yogya to presentate my software named SopingSenter in UGM Open Source Competition. It's just a simple program by now. Working as a couple application. One side (server side) made with PHP on Apache server. The other side made with J2ME (for the phone). It works like the illustration at the left side.&lt;br /&gt;&lt;br /&gt;There present 9 of 10 applications author which presentate their software for the competition. One of them is my friend M. Taufik Yusuf who brought his software Smess. Smess is a secure messaging application via SMS. Simply a crypto SMS application. The others are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I Made Budi from Denpasar with BiOS (Billing Open Source), such an interesting and fully working billing system for internet cafe in Indonesian way.&lt;/li&gt;&lt;li&gt;Chandra with his Etix, a new Linux distro made from Linux From Scratch. He lives in Yogya.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Shihabul Milah with his gSpeedyDownloadAlert who came from Batam&lt;br /&gt;&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;It's just an interesting competition since it was an open source competition but the judge, Mr. Azahari (which act as Simon in American Idol), always using his Windows XP to surf the web during the competition.&lt;br /&gt;&lt;br /&gt;Really I didn't think that I would win this competition. I thought Budi will. He seems too ready and looks too cool. Thank God I won thefirst prize because God knows I need it.&lt;br /&gt;&lt;br /&gt;Here are some screenshot of my application:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/R9ePYjOociI/AAAAAAAAACY/Ot56NwfjHDA/s1600-h/pembeli-membaca-data-barang-dan-pedagang.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/__vC83XgntjU/R9ePYjOociI/AAAAAAAAACY/Ot56NwfjHDA/s320/pembeli-membaca-data-barang-dan-pedagang.png" alt="" id="BLOGGER_PHOTO_ID_5176763948621918754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R9eOtzOocgI/AAAAAAAAACI/LgkbJ2tvC7Q/s1600-h/pedagang-list-dan-input-dagangan.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R9eOtzOocgI/AAAAAAAAACI/LgkbJ2tvC7Q/s320/pedagang-list-dan-input-dagangan.jpg" alt="" id="BLOGGER_PHOTO_ID_5176763214182511106" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R9ePDzOochI/AAAAAAAAACQ/iv5avnfHGv0/s1600-h/pembeli-melihat-daftar-hasil-pencarian.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R9ePDzOochI/AAAAAAAAACQ/iv5avnfHGv0/s320/pembeli-melihat-daftar-hasil-pencarian.png" alt="" id="BLOGGER_PHOTO_ID_5176763592139633170" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8240233934716395022?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8240233934716395022/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8240233934716395022' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8240233934716395022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8240233934716395022'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/03/fight-for-sopingsenter.html' title='Fight for SopingSenter'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__vC83XgntjU/R9eLITOocfI/AAAAAAAAACA/IFeO2lUGwWI/s72-c/cara-kerja.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5732222439373383388</id><published>2008-02-10T03:25:00.000-08:00</published><updated>2008-02-10T03:35:37.393-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>Now Rhythm, maybe next Eclair</title><content type='html'>gOS has by default installed by Rhythm Music Player. I wondered why didn't they includes Eclair as their default music player, because Eclair is developed for E17. Then I tried to install Eclair.&lt;br /&gt;&lt;br /&gt;After finishing the installation, I ran it. I see the looks is really good. But when I played some music using Eclair, sometime problems are occured. Maybe this problem makes them using Rhythm instead. But I am sure, for further development Eclair will get more stable. I hope.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5732222439373383388?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5732222439373383388/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5732222439373383388' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5732222439373383388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5732222439373383388'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/now-rhythm-maybe-next-eclair.html' title='Now Rhythm, maybe next Eclair'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-3227505630081708289</id><published>2008-02-08T02:19:00.000-08:00</published><updated>2008-02-08T03:13:22.790-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>E17 Desktop Tutorial Part 2</title><content type='html'>Continuing the &lt;a href="http://amrishodiq.blogspot.com/2008/02/e17-dekstop-tutorial.html"&gt;previous tutorial&lt;/a&gt;, now I will write about File Manager.&lt;br /&gt;&lt;br /&gt;There is one default E17 File Manager installed by default from gOS CD. Although it looks good with a few buttons and simple control, I really missed many other features founded in other File Manager. If you used to using Nautilus or Konqueror, you will think that E17 is imperfect. Only a few operations can be done. Even if you want to copy a file from removable storage, you will have a trouble to move from one place to another.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PCMan File Manager&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/R6wySD01bBI/AAAAAAAAABY/WCQGyXLQsKQ/s1600-h/PCMan.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/__vC83XgntjU/R6wySD01bBI/AAAAAAAAABY/WCQGyXLQsKQ/s320/PCMan.jpg" alt="" id="BLOGGER_PHOTO_ID_5164558158533061650" border="0" /&gt;&lt;/a&gt;In order to solve this, finally I choose to install another independent file manager. I mean a file manager that is not depends on a desktop manager like Nautilus which is depends on Gnome or Konqueror which is depends on KDE. So I search for such an application in SourceForge.net and I found &lt;a href="http://sourceforge.net/projects/pcmanfm"&gt;PCMan File Manager&lt;/a&gt;. It's quite a simple and fast file manager. I browse the bonary package hoping to find the &lt;span style="font-weight: bold;"&gt;.deb&lt;/span&gt; package so I need no more compilation.&lt;br /&gt;&lt;br /&gt;I download it and install it. To install it, I open the default E17 file manager. Browse the downloaded file then double click on the icon. System will open GDebi Package Installer. If you connect to Internet, you will be able to install it. Otherwise you cannot because it will need to download other files it depends. Finally, you can use it with &lt;span style="font-weight: bold;"&gt;menu | Applications | Settings | PCMan File Manager&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Well, actually I wouldn't do it if I don't need it. It looks bad. If you want to change the icon theme, I think you really need to download Gnome icon theme somewhere in Internet such as &lt;a href="http://www.gnome-look.org/"&gt;www.gnome-look.org&lt;/a&gt;. If you decided to use it also, please beware of bugs. Some bugs may be occure.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Original (default) File Manager&lt;/span&gt;&lt;br /&gt;If you decided not to use other file manager, please read these tipss.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Don't ever press your keyboard if you want to search for files, e.g. if you want to search for a file beginning with &lt;span style="font-weight: bold;"&gt;Ubu&lt;/span&gt;; you need to read it manually before find it,&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;You can go up one directory using right click then &lt;span style="font-weight: bold;"&gt;Go to Parent Directory&lt;/span&gt;; this is the best way you can have right now (hope it will be growing better),&lt;/li&gt;&lt;li&gt;If you know the location you want to navigate, please write it in the &lt;span style="font-weight: bold;"&gt;Location:&lt;/span&gt; text field,&lt;/li&gt;&lt;li&gt;If you want to copy a big file, you better do it with &lt;span style="font-weight: bold;"&gt;Root Terminal&lt;/span&gt; because if you use it with the default file manager, there will be no progress indicator; if you use Root Terminal, at leas you know when the prompt occure it means the copying operation is done,&lt;/li&gt;&lt;li&gt;You can see the hidden file (files beginning with a dot/ .[something]), you can right click then check &lt;span style="font-weight: bold;"&gt;Show Hidden&lt;/span&gt; Files&lt;/li&gt;&lt;/ol&gt;At least that is what I can say right now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-3227505630081708289?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/3227505630081708289/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=3227505630081708289' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3227505630081708289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/3227505630081708289'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/e17-desktop-tutorial-part-2.html' title='E17 Desktop Tutorial Part 2'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__vC83XgntjU/R6wySD01bBI/AAAAAAAAABY/WCQGyXLQsKQ/s72-c/PCMan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6647099364167310841</id><published>2008-02-07T18:51:00.000-08:00</published><updated>2008-02-07T22:12:54.054-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>E17 Dekstop Tutorial</title><content type='html'>E17 is quite different with other popular desktop manager like Gnome, KDE even Microsoft Windows. So if you used to using Microsoft Windows or Ubuntu, there is possibilities you will confuse with the desktop layout. even the menus. But, here I will write some usefull guide for new gOS/E17/Enlightenment users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access the menu using left click on desktop&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R6vPdj01a-I/AAAAAAAAABA/SAfqDy-VkTI/s1600-h/menu.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R6vPdj01a-I/AAAAAAAAABA/SAfqDy-VkTI/s320/menu.jpg" alt="" id="BLOGGER_PHOTO_ID_5164449504450407394" border="0" /&gt;&lt;/a&gt;Unlike Ubuntu which menu is in the top-left side of the desktop, E17 menu is accessed using a &lt;span style="font-weight: bold;"&gt;single left click&lt;/span&gt; at the desktop screen. If you right click at the desktop then &lt;span style="font-weight: bold;"&gt;Favourite Applications&lt;/span&gt; menu will be displayed.&lt;br /&gt;&lt;br /&gt;See this screenshot at the left.&lt;br /&gt;The application listed at the right side of the menu is grouped by it's genre. Like in Ubuntu or LinuxMint.&lt;br /&gt;&lt;br /&gt;You can also click at the gOS logo at the top-left corner of the desktop. The popup menu which occure is axactly the same. This way, you will have the same feeling when accessing Ubuntu's menu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changing the wallpaper&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R6vWHj01a_I/AAAAAAAAABI/4yudnkW4TYY/s1600-h/wallpaper-setting.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R6vWHj01a_I/AAAAAAAAABI/4yudnkW4TYY/s320/wallpaper-setting.jpg" alt="" id="BLOGGER_PHOTO_ID_5164456823074679794" border="0" /&gt;&lt;/a&gt;To change the wallpaper, we just left click on the desktop, then select &lt;span style="font-weight: bold;"&gt;Configuration | Wallpaper&lt;/span&gt;. There we will have &lt;span style="font-weight: bold;"&gt;Wallpaper Settings&lt;/span&gt; window. We could import our picture or downloaded wallpaper using &lt;span style="font-weight: bold;"&gt;Picture...&lt;/span&gt; button.&lt;br /&gt;&lt;br /&gt;After pressing Picture... button, you can choose the picture by browsing it using the &lt;span style="font-weight: bold;"&gt;Select a Picture...&lt;/span&gt; window.&lt;br /&gt;&lt;br /&gt;You can also use animated background file (&lt;span style="font-weight: bold;"&gt;.edj&lt;/span&gt; file). This feature is really different from other Desktop Manager. E17 wallpaper is able to animated. You  can download it from &lt;a href="http://www1.get-e.org/Backgrounds/Animated/"&gt;www.get-e.org&lt;/a&gt; or &lt;a href="http://www.e17-stuff.org/index.php?xcontentmode=7050&amp;amp;PHPSESSID=27213018904f106694b339a411a9c703"&gt;www.e17-stuff.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changing E17 theme&lt;/span&gt;&lt;br /&gt;The theme used by gOS is pretty. With white and green colors, it looks fresh. But if you want to use another theme you can also have it. &lt;a href="http://www.e17-stuff.org/index.php?xcontentmode=7000&amp;amp;PHPSESSID=27213018904f106694b339a411a9c703"&gt;e17-stuff.org&lt;/a&gt; and &lt;a href="http://www1.get-e.org/Themes/E17/"&gt;get-e.org&lt;/a&gt; hosts some nice theme. You should try one. Please download and have a try.&lt;br /&gt;&lt;br /&gt;For illustration, here I have downloaded DarkRevolution theme. I will demonstrate it how to use the theme.&lt;br /&gt;&lt;br /&gt;From the menu, I choose &lt;span style="font-weight: bold;"&gt;Configuration | Theme&lt;/span&gt;. Then comes Theme Selector window. I import  &lt;span style="font-weight: bold;"&gt;darkrevolution.edj&lt;/span&gt; which I downloaded previously. Click the Apply button. Whoala ... the theme is used. It's dark and purple. The windows will looks black, the gOS logo changed to Enlightenment's logo, and the menu looks dark, blinking. The theme will looks nice if you change also the wallpaper from Wallpaper Settings by checking the &lt;span style="font-weight: bold;"&gt;Use Theme Wallpaper&lt;/span&gt;. Then click Apply. It will looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/R6virD01bAI/AAAAAAAAABQ/TzgBos1fLuQ/s1600-h/changing-theme.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/__vC83XgntjU/R6virD01bAI/AAAAAAAAABQ/TzgBos1fLuQ/s320/changing-theme.jpg" alt="" id="BLOGGER_PHOTO_ID_5164470627099569154" border="0" /&gt;&lt;/a&gt;It looks futuristic, but I prefer to use original gOS theme.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6647099364167310841?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6647099364167310841/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6647099364167310841' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6647099364167310841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6647099364167310841'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/e17-dekstop-tutorial.html' title='E17 Dekstop Tutorial'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/R6vPdj01a-I/AAAAAAAAABA/SAfqDy-VkTI/s72-c/menu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-6112280814204332997</id><published>2008-02-06T01:12:00.000-08:00</published><updated>2008-02-06T02:01:17.906-08:00</updated><title type='text'>Ms Exchange is difficult</title><content type='html'>&lt;div class="post-body"&gt;A few weeks ago we tried to set up an email server. We used Microsoft Exchange Server 2003 with Ms Windows Server 2003 as the operating system. We didn't use Linux because it was so hard to implements Qmail or Postfix. We needed also this server since we want to use Funambol. An open source push mail server written in Java. Funambol had pretty good enough documentation to deal with Ms Exchange, not other mail server.&lt;br /&gt;&lt;br /&gt;Then comes a problem. We didn't know how to activate the push mail feature. Wether we also didn't know how to start the POP3 service, since if we start POP3 service then IIS server will down (causing the SMTP also down). I didn't have any idea why was it so.&lt;br /&gt;&lt;br /&gt;After a few search, finally we found &lt;a href="http://www.microsoft.com/technet/solutionaccelerators/mobile/deploy/msfpdepguide.mspx"&gt;this page&lt;/a&gt;. It should be worth to read since it came from the origin of the software (Microsoft). I am reading these pages, and it should be usefull for further reading (in case my team want to read it too).&lt;br /&gt;&lt;br /&gt;My conclusion is Microsoft's solution is always buy BUY and more BUY!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-6112280814204332997?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/6112280814204332997/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=6112280814204332997' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6112280814204332997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/6112280814204332997'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/few-weeks-ago-we-tried-to-set-up-email.html' title='Ms Exchange is difficult'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-2470174112113544078</id><published>2008-02-04T20:52:00.000-08:00</published><updated>2008-02-07T00:57:02.273-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>MySQL GUI front end for gOS (and other Linux)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__vC83XgntjU/R6gtmj01a8I/AAAAAAAAAAw/Qj3pZ_5MdIY/s1600-h/mysql-query-browser.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/__vC83XgntjU/R6gtmj01a8I/AAAAAAAAAAw/Qj3pZ_5MdIY/s320/mysql-query-browser.jpg" alt="" id="BLOGGER_PHOTO_ID_5163427113255398338" border="0" /&gt;&lt;/a&gt;PhpMyAdmin is good, but sometime we need more comfortable application but is is not as easy as I expected. Especially in the case when we need to insert more records at once. What I need is a desktop application to deal with MySQL database.&lt;br /&gt;&lt;br /&gt;MySQL GUI tool from MySQL AB is a good solution. For gOS and other Ubuntu based Linux dsitribution can install it using APT or Synaptic. Here is the command to use:&lt;br /&gt;&lt;br /&gt;#apt-get install mysql-admin&lt;br /&gt;&lt;br /&gt;I didn't use &lt;span style="font-weight: bold;"&gt;sudo&lt;/span&gt; because I use &lt;span style="font-style: italic;"&gt;Root Terminal&lt;/span&gt;. After the installation is done, We can access the application from menu Application | Programming | MySQL Administrator and MySQL Query Browser.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__vC83XgntjU/R6gtRz01a7I/AAAAAAAAAAo/UPO2RsFpNdc/s1600-h/mysql-admin.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/__vC83XgntjU/R6gtRz01a7I/AAAAAAAAAAo/UPO2RsFpNdc/s320/mysql-admin.jpg" alt="" id="BLOGGER_PHOTO_ID_5163426756773112754" border="0" /&gt;&lt;/a&gt;I've tried it and it's running well. For gOS (also Ubuntu) users, don't get bother by downloading from MySQL official site, because you will get more problems. Beleive me, I've tried it. APT way is better.&lt;br /&gt;&lt;br /&gt;With MySQL Administrator, you could start and stop mysql easily using it's GUI. I don't mean that using console to start and stop MySQL is difficult. What I mean is, it will feel better to do this using some kinda GUI. You can also do something more complex using this application.&lt;br /&gt;&lt;br /&gt;MySQL Query Browser enables us to manage a single database. We can restructure a table, insert or delete the records easily, adding more fields and much more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-2470174112113544078?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/2470174112113544078/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=2470174112113544078' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2470174112113544078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/2470174112113544078'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/mysql-gui-front-end-for-gos-and-other.html' title='MySQL GUI front end for gOS (and other Linux)'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__vC83XgntjU/R6gtmj01a8I/AAAAAAAAAAw/Qj3pZ_5MdIY/s72-c/mysql-query-browser.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-7041647682249828493</id><published>2008-02-04T00:37:00.000-08:00</published><updated>2008-03-12T01:19:11.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>Installing Apache, MySQL and PHP in gOS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R6fR-j01a5I/AAAAAAAAAAY/cMGu__r45yU/s1600-h/localhost.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R6fR-j01a5I/AAAAAAAAAAY/cMGu__r45yU/s320/localhost.jpg" alt="" id="BLOGGER_PHOTO_ID_5163326370502503314" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Apache2&lt;/span&gt;&lt;br /&gt;In fact, gOS is inherited from Ubuntu, so the way Ubuntu to install Apache, MySQL and PHP should also work here. So I open Ubuntu's official documentation about installing them &lt;a href="https://help.ubuntu.com/7.10/server/C/"&gt;here&lt;/a&gt;. I tried the tutorial there and hoped that it'll work. So this is the steps (I use Root terminal so no need to sudo):&lt;br /&gt;&lt;br /&gt;#apt-get install apache2&lt;br /&gt;&lt;br /&gt;Above line will alse install apache2-mpm-worker, apache2-utils, apache2.2-common, libapr1 libaprutil1, libpcre3 libpq5 and also apache2-doc.&lt;br /&gt;&lt;br /&gt;Right after the installation is done, the apache2 should also been started by default. You can check it using firefox browser by pointing to localhost. It should seems like the picture in the left.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MySQL&lt;/span&gt;&lt;br /&gt;The next step is to install mysql server (also we need mysql client to manage the database). The command is simply like this:&lt;br /&gt;&lt;br /&gt;#apt get install mysql-server mysql-client&lt;br /&gt;&lt;br /&gt;This line will install mysql-server, mysql-client together with it's required libraries. You needs just answer it "Yes" when the system ask for confirmation.&lt;br /&gt;&lt;br /&gt;While waiting for the installation which take sometime, I will prepare an application to create and manage my PHP scripts. It's Eclipse with PHP module. I don't like to use Bluefish neither Nvu. It does not suits me. So I choose Eclipse, since I used to using it while coding Java applications. I browse to &lt;a href="http://www.easyeclipse.org"&gt;www.easyeclipse.org&lt;/a&gt;, checking for the latest version. I should download the PHP distribution &lt;a href="http://www.easyeclipse.org/site/distributions/php.html"&gt;&lt;span style="text-decoration: underline;"&gt;here&lt;/span&gt;&lt;/a&gt;. I choose the classic version since I need it to code PHP.&lt;br /&gt;&lt;br /&gt;Aaahhh. Finally mysql installation is done. Once the download (the installation is simply downloading and setting up the applications) is finished, system will prompt you for a new password for "root" user in mysql database. You have to set the password taht you can remember it well yet difficult to guess.&lt;br /&gt;&lt;br /&gt;After the new password is inserted, system will test the database,and finally restart it. So MySQL shoul be started by now. You can check it this way from the Root Terminal:&lt;br /&gt;&lt;br /&gt;#netstat -tap|grep mysql&lt;br /&gt;&lt;br /&gt;After a few seconds, the console will show something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre class="programlisting"&gt;tcp        0      0 localhost.localdomain:mysql           *:* LISTEN -&lt;/pre&gt;&lt;br /&gt;This means the mysql works good and listening for requests.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PHP5&lt;/span&gt;&lt;br /&gt;Next step is install PHP5.&lt;br /&gt;&lt;br /&gt;#apt-get install php5-common php5 libapache2-mod-php5 php5-mysql&lt;br /&gt;&lt;br /&gt;Ok, if the installation is finished, then we are ready to write our first PHP script. First I write a script to test my PHP installation, called info.php. From Root Terminal, I write:&lt;br /&gt;&lt;br /&gt;#leafpad /var/www/apache2-default/info.php&lt;br /&gt;&lt;br /&gt;Then in Leafpad, I write:&lt;br /&gt;&lt;br /&gt;phpinfo();&lt;br /&gt;&lt;br /&gt;Of course we also must use the php identifier. Then I browse the script using Firefox to http://localhost/apache2-default/info.php. For first attempt, my Firefox prompt for a download. It means the PHP script MIME type is not correctly managed. We should restart apache to solve this problem.&lt;br /&gt;&lt;br /&gt;#/etc/init.d/apache2 restart&lt;br /&gt;&lt;br /&gt;Then, once again browse to http://localhost/apache2-default/info.php. You will see, it is correctly done:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R6flsj01a6I/AAAAAAAAAAg/kE9PUs56tM0/s1600-h/info.php.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R6flsj01a6I/AAAAAAAAAAg/kE9PUs56tM0/s320/info.php.jpg" alt="" id="BLOGGER_PHOTO_ID_5163348051497413538" border="0" /&gt;&lt;/a&gt;There, you see php is integrated correctly with Apache2 and MySQL.&lt;br /&gt;&lt;br /&gt;Congratulations, we have our system installed with Apache2, MySQL and PHP. For further implementation maybe we need also PhpMyAdmin to deal with MySQL database easily.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-7041647682249828493?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/7041647682249828493/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=7041647682249828493' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7041647682249828493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7041647682249828493'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/installing-apache-mysql-and-php-in-gos.html' title='Installing Apache, MySQL and PHP in gOS'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/R6fR-j01a5I/AAAAAAAAAAY/cMGu__r45yU/s72-c/localhost.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-8822095900431707069</id><published>2008-02-03T20:20:00.000-08:00</published><updated>2008-02-07T00:57:02.273-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>Install Filezilla on gOS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__vC83XgntjU/R6aqez01a4I/AAAAAAAAAAQ/nHRmIrRmhwE/s1600-h/filezilla.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/__vC83XgntjU/R6aqez01a4I/AAAAAAAAAAQ/nHRmIrRmhwE/s320/filezilla.jpg" alt="" id="BLOGGER_PHOTO_ID_5163001469111462786" border="0" /&gt;&lt;/a&gt;I really need Filezilla to upload and download files to my server. Don't get wrong, Filezilla works with SSH too. I used this way, with sftp.&lt;br /&gt;&lt;br /&gt;My gOS has no FTP client pre installed. So I downloaded Filezilla, Linux version, &lt;a href="http://optusnet.dl.sourceforge.net/sourceforge/filezilla/FileZilla_3.0.6_i586-linux-gnu.tar.bz2"&gt;here&lt;/a&gt;. Then trying to installed on my system hoping it will runs well. So, after the download finished, I extracted the downloaded file to &lt;span style="font-weight: bold;"&gt;/home/pokemon/Download/FileZilla3&lt;/span&gt;. It is said that the binary file is located inside &lt;span style="font-weight: bold;"&gt;bin&lt;/span&gt; directory. So I move there using file explorer. I see 2 files but I dunno how to execute these files.&lt;br /&gt;&lt;br /&gt;I try to use Root Terminal. Going to the bin directory of Filezilla3. Then execute the program this way:&lt;br /&gt;&lt;br /&gt;# ./filezilla&lt;br /&gt;&lt;br /&gt;Done. That way is correct. But next time I should palce this program at some place so that I can execute it using only button from menus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-8822095900431707069?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/8822095900431707069/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=8822095900431707069' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8822095900431707069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/8822095900431707069'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/install-filezilla-on-gos.html' title='Install Filezilla on gOS'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__vC83XgntjU/R6aqez01a4I/AAAAAAAAAAQ/nHRmIrRmhwE/s72-c/filezilla.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-7714241882288995671</id><published>2008-02-03T17:34:00.000-08:00</published><updated>2008-02-07T18:31:10.354-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gOS'/><title type='text'>Problems in gOS</title><content type='html'>I decided to make &lt;a href="http://www,thinkgos.com/"&gt;gOS&lt;/a&gt; as my working desktop Operating System. It has a quite nice looks (with E17 and green dominated colors) and applications. But truly, without desired of any harm, I would like to share my problems (but solved) with this nice OS. I installed the beta version of version called Rocket.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First problem, login&lt;/span&gt;&lt;br /&gt;When I finished installing gOS, then I try to restarted it, I found a problem at logon state. It's just me who make this problem actually. I forgot what my login username is. So, after I insert my name to the first textfield of login screen I failed to move to second textfield (password field). I used to use Tab button to switch to the password field since it is the way GDM login works. I dunno that gOS use Entrance. I think Entrance check first wether such user is exists or not. If it's exists than you can go to the password field. A good solution.&lt;br /&gt;&lt;br /&gt;So the problem is because I insert the wrong username then Entrance won't move my cusor to the password field. Finally this problem solved after I try to login via console (using Ctrl+Alt+F1). I see it prompts &lt;span style="font-weight: bold;"&gt;pokemon login&lt;/span&gt;. So my real username should be &lt;span style="font-style: italic;"&gt;pokemon&lt;/span&gt;. I inserted &lt;span style="font-style: italic;"&gt;amri&lt;/span&gt;. Then I try again to use pokemon as the user name, then I pressed Enter button of my keyboard. It works. The cursor moved to the password field. When I insert my password, it's logged in. So the first problem solved.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Second problem, screenshot application needed&lt;/span&gt;&lt;br /&gt;First login, I really want to share my experiences in using gOS via my this blog. What I need is a screenshot of my desktop. I hardly find a way to take a screenshot with gOS. Finally I didn't find one.&lt;br /&gt;&lt;br /&gt;After some minutes of search via Google, I find an E17's module called emodule-screenshot. Then I try to install it using Synaptic. It listed in Synaptic but the installation failed because Synaptic cannot find where the package is. So I search again and find a blog tell me that I have to add this repo to /etc/apt/sources.list. Then, I open Root terminal via Run Command (left click on the desktop) and insert Root terminal. After Root terminal opened, I entered this line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#leafpad /etc/apt/sources.list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then I added these lines to the end of this file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# repo for emodules and E17 applications&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;deb http://e17.dunnewind.net/ubuntu gutsy e17&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These lines is information about repo for E17 aplications packed for Ubuntu 7.10 (Gutsy Gibbon) which is compatible too for gOS Rocket.&lt;br /&gt;&lt;br /&gt;The next move is to add this repo's key. The steps are:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# wget http://lut1n.ifrance.com/repo_key.asc &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to download the key of the repository then install the key whit this command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# apt-key add repo_key.asc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When the key installed, I update the applications list using&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# apt-get update&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It tooks a while. After finishing these steps, I open Synaptic again and search for &lt;span style="font-weight: bold;"&gt;emodule-screenshot&lt;/span&gt;. I found it and installed it. I activate the emodule via &lt;span style="font-weight: bold;"&gt;Configurations&lt;/span&gt; (left click on desktop)&lt;span style="font-weight: bold;"&gt; | My Settings | Extensions | Modules&lt;/span&gt;. I selected &lt;span style="font-weight: bold;"&gt;Screenshot&lt;/span&gt;. After that, I show it to shelf 2, &lt;span style="font-weight: bold;"&gt;Configuratios | Shelves | shelf 2&lt;/span&gt;. I pressed &lt;span style="font-weight: bold;"&gt;Configure&lt;/span&gt; button, then &lt;span style="font-weight: bold;"&gt;Configure Contents ...&lt;/span&gt; in the next window. I selected Screenshot and press Add gadget. Look, the screenshot icon is showing in the upper right corner of my desktop. Click &lt;a href="http://www.caliphsoft.com/wp-content/uploads/2008/02/2008-02-02-1504251.png"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Third problem, screen resolution&lt;/span&gt;&lt;br /&gt;gOS is well done at detecting my hardware, including my VGA card and monitor. It first used 1680 x 1080. The problem is it makes the fonts not clear and the window looks awfull. So I degrade the resolution to 1280 x 1024. It looks good. To change the resolution I use these path &lt;span style="font-weight: bold;"&gt;Configuration | My Settings | Screen (Categories) | Screen Resolution&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fourth problem, no image viewer&lt;/span&gt;&lt;br /&gt;gOS comes with no image viewer application (I think). There is Gimp and OpenOffice Drawing. That are not exactly what we need to just view images, shince we don't need to edit it at first glance. So, using Synaptic, I installed &lt;span style="font-weight: bold;"&gt;Exhibit&lt;/span&gt;. Exhibit is an image viewer built with Etk library which makes it best fit for E17 (gOS's desktop manager).&lt;br /&gt;&lt;br /&gt;So that are some gOS problems, I've found, which is solved easily.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fifth problem, new Firefox window each web application&lt;/span&gt;&lt;br /&gt;We should appreciate that gOS's docking applications launcher is really pretty and inspiring. See this screenshot.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__vC83XgntjU/R6u7gT01a9I/AAAAAAAAAA4/He3g1SYOVUQ/s1600-h/docking.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/__vC83XgntjU/R6u7gT01a9I/AAAAAAAAAA4/He3g1SYOVUQ/s320/docking.png" alt="" id="BLOGGER_PHOTO_ID_5164427561462492114" border="0" /&gt;&lt;/a&gt;If we click one of the launcher, example Blogger. Then Firefox will open www.blogger.com. Unfortunately, if we click another application, a new Firefox window will occure. Maybe this is not exactly what we want. I want if I click the second and third application, I will use the running Firefox instead of a new one.&lt;br /&gt;&lt;br /&gt;To solve this problem, I should change the path of the launcher so it will only open a new tab in the running Firefox window. So I right click on the Blogger launcher. Select &lt;span style="font-weight: bold;"&gt;Edit Icon&lt;/span&gt; (the last option in the popup menu).&lt;br /&gt;&lt;br /&gt;At the Desktop Entry Editor window, I edit the textfield having a lable Executable. The current text is &lt;span style="font-weight: bold;"&gt;firefox http://www.blogger.com&lt;/span&gt;. I should change this to &lt;span style="font-weight: bold;"&gt;firefox -new-tab http://www.blogger.com&lt;/span&gt;. This means, system will open a new tab of the current running Firefox window and point it to http://www.blogger.com. The last think I should do is applying the change. So I press the Apply button.&lt;br /&gt;&lt;br /&gt;It's done. The problem is solved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-7714241882288995671?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/7714241882288995671/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=7714241882288995671' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7714241882288995671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/7714241882288995671'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/problems-in-gos.html' title='Problems in gOS'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__vC83XgntjU/R6u7gT01a9I/AAAAAAAAAA4/He3g1SYOVUQ/s72-c/docking.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5284874418824954884.post-5153084588634014869</id><published>2008-02-02T00:49:00.000-08:00</published><updated>2008-02-02T00:51:43.866-08:00</updated><title type='text'>I will share working tips only</title><content type='html'>From now on, I will share only working tips. Well, I love programming and also Linux. So for now, before I meet other interesting topics, I will share my experience in programming in Linux machine. It's about my experience using Java, PHP and Ubuntu family distro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5284874418824954884-5153084588634014869?l=amrishodiq.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amrishodiq.blogspot.com/feeds/5153084588634014869/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5284874418824954884&amp;postID=5153084588634014869' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5153084588634014869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5284874418824954884/posts/default/5153084588634014869'/><link rel='alternate' type='text/html' href='http://amrishodiq.blogspot.com/2008/02/i-will-share-working-tips-only.html' title='I will share working tips only'/><author><name>Amri Shodiq</name><uri>http://www.blogger.com/profile/06377903814932369079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
