AMFPHP adalah Free Open Source implementasi PHP terhadap Action Message Format(AMF). AMFPHP sendiri bukan merupakan Framework, sehingga anda bebas menggunakan dengan cara anda. Versi terakhir dari amfphp ini merupakan versi 1.9 yang baru saja di release pada February 02, 2010. Pada tutorial ini saya akan memberikan Contoh membuat aplikasi sederhana menggunakan AMFPHP sebagai Backend dan Adobe Flex 3 sebagai Frontend, dengan database MySQL.
1. Download amfphp dari
http://waix.dl.sourceforge.net/project/amfphp/amfphp/amfphp%201.9.zip
2. Extract file “amfphp 1.9.zip” yang sudah anda download ke folder dimana anda menyimpan sebagai document root. Misalkan C:\xampp\htdocs. Lalu ubah folder “amfphp 1.9” yang sudah anda extract tadi menjadi “amfphp”. Sehingga anda akan mempunyai folder seperti ini “C:\xampp\htdocs\amfphp”, yang jika anda buka folder tersebut, akan terlihat seperti gambar dibawah ini

AMFPHP Folder
3. Selanjutnya eksekusi perintah SQL dibawah ini :
CREATE DATABASE `adobeusergroup` ;
USE adobeusergroup;
CREATE TABLE `adobeusergroup`.`user` (
`no` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nama` VARCHAR( 55 ) NOT NULL ,
`alamat` VARCHAR( 80 ) NOT NULL ,
`email` VARCHAR( 40 ) NOT NULL ,
`telp` VARCHAR( 24 ) NOT NULL ,
UNIQUE ( `email` ) ) ENGINE = MYISAM COMMENT = ‘Data User’;
INSERT INTO `adobeusergroup`.`user` (`no` ,`nama` ,`alamat` ,`email` ,`telp` )
VALUES (NULL , ‘Ahmad Fathi Hadi’, ‘Jl. Matraman Dalam II No:9b’, ‘ahmadfathihadi@gmail.com’, ‘0818084977xx’ );
NB : Anda dapat menggunakan SQL Editor apapun, seperti phpmyadmin, MySqlFront, SQL Yog,dll.
4. Selanjutnya kita harus menyiapkan VO (Value Object) yang akan dipakai oleh PHP. Prinsipnya adalah setiap Table akan menjadi Class, sedangkan field akan menjadi variable. Pada Table yang sudah kita miliki bernama User, dan memiliki field (no, nama, alamat, email dan telp). Sehingga akan terbentuk sebuah VO seperti berikut :
<?php
class UserVO
{
public $no;
public $nama;
public $alamat;
public $email;
public $telp;
var $_explicitType = “ifx.ifx.master.UserVO”;
}
?>
Simpanlah file VO tersebut dengan nama UserVO.php pada folder sesuai var $_explicitType di dalam folder Service/vo. Pada contoh kali ini berarti anda akan membuat folder C:\xampp\htdocs\amfphp\services\vo\ifx\ifx\master dan menyimpan file UserVO.php di dalamnya. Tujuan dibuatnya banyak folder seperti ifx/ifx adalah agar anda tidak bingung dan betrok jika anda bekerja dengan bayak service, sehingga anda tahu dimana service anda berada.
NB : Agar terstruktur dan tidak membingungkan saat bekerja tim, anda harus menyepakati aturan yang sudah umum, seperti menyimpan semua VO didalam folder service/vo
5. Selanjutnya buatlah Service yang akan mengolah Table tadi, seperti Select, Insert, dan Delete. Simpan code PHP dibawah ini di folder Service dengan nama User.php
<?php
mysql_connect(‘localhost’, ‘root’, ”);
mysql_select_db(‘adobeusergroup’);
require_once (‘./vo/ifx/ifx/master/UserVO.php’);
class User
{
public function getUser()
{
$query = “SELECT * from user”;
$result = mysql_query($query);
$ret = array();
while ($row = mysql_fetch_object($result))
{
$tmp = new UserVO();
$tmp->no = $row->no;
$tmp->nama = $row->nama;
$tmp->alamat = $row->alamat;
$tmp->email = $row->email;
$tmp->telp = $row->telp;
$ret[] = $tmp;
}
mysql_free_result($result);
return $ret;
}
public function saveUser($newUser)
{
$queryUser = “SELECT no from user where no=’”.$newUser->no.”‘”;
$resultUser = mysql_query($queryUser);
$ketUser = mysql_fetch_array($resultUser);
if($ketUser != NULL)
{
$query = “UPDATE user SET nama = ‘”.$newUser->nama.”‘,” .
“alamat = ‘”.$newUser->alamat.”‘,” .
“email = ‘”.$newUser->email.”‘,” .
“telp = ‘”.$newUser->telp.”‘” .
“WHERE no = ‘”.$newUser->no.”‘;”;
$result = mysql_query($query);
return NULL;
}
else
{
$query = “INSERT INTO user” .
“(no,” .
“nama,” .
“alamat,” .
“email,” .
“telp)” .
“VALUES” .
“(‘”.$newUser->no.”‘,” .
“‘”.$newUser->nama.”‘,” .
“‘”.$newUser->alamat.”‘,” .
“‘”.$newUser->email.”‘,” .
“‘”.$newUser->telp.”‘)”;
$result = mysql_query($query);
return NULL;
}
}
public function deleteUser($selectedUser)
{
$query = “DELETE FROM user WHERE no =’$selectedUser’”;
$result = mysql_query($query);
return NULL;
}
}
?>
Sebelum maju kelangkah selanjutnya, silahkan anda cek service yang anda buat, apakah sudah berjalan dengan baik. Silahkan buka url pada browser anda
http://localhost/amfphp/browser/ Apakah sudah terdapat Class “User” pada service browser ?, apakah jika anda plih, ada dapat mengakses method yang ada seperti deleteUser, getUser, dan saveUser ?

Service Browser AMFPHP
6. Sekarang buatlah project baru pada Adobe Flex Builder 3 dengan nama AMFPHP Test
7. Langkah pertama adalah menyiapkan VO yang akan dipakai di Project Flex, sama seperti VO pada PHP, kita akan membuat sama, silahkan buat folder ifx/ifx/master pada folder scr di Flex Builder, lalu buatlah Class ActionScript baru dengan nama UserVO.as
package ifx.ifx.master
{
[RemoteClass(alias="ifx.ifx.master.UserVO")]
[Bindable]
public class UserVO
{
public var no:Number;
public var nama:String;
public var alamat:String;
public var email:String;
public var telp:String;
}
}
8. Sekarang pada main Application silahkan ketikkan code berikut :
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” creationComplete=”init();”>
<mx:Script>
<![CDATA[
import ifx.ifx.master.UserVO;
import mx.rpc.events.ResultEvent;
[Bindable]
private var no:Number = new Number();
[Bindable]
private var dataUser:Array = new Array();
private function init():void
{
myUser.getUser.addEventListener(“result”,getUserHandler);
myUser.getUser();
}
private function getUserHandler(event:ResultEvent):void
{
dataUser = event.result as Array;
}
private function insert():void
{
var newUser:UserVO = new UserVO();
newUser.nama = namaInput.text;
newUser.alamat = alamatInput.text;
newUser.email = emailInput.text;
newUser.telp = telpInput.text;
myUser.saveUser(newUser);
myUser.getUser();
cancelHandler();
}
private function selectHandler():void
{
noLabel.text = dataGridUser.selectedItem.no;
namaInput.text = dataGridUser.selectedItem.nama;
alamatInput.text = dataGridUser.selectedItem.alamat;
emailInput.text = dataGridUser.selectedItem.email;
telpInput.text = dataGridUser.selectedItem.telp;
}
private function cancelHandler():void
{
noLabel.text = “”;
namaInput.text = “”;
alamatInput.text = “”;
emailInput.text = “”;
telpInput.text = “”;
dataGridUser.selectedItem = null;
}
private function deleteUser():void
{
var selectedUser = noLabel.text;
myUser.deleteUser(selectedUser);
myUser.getUser();
}
]]>
</mx:Script>
<mx:DataGrid x=”10″ y=”243″ width=”627″ dataProvider=”{dataUser}” id=”dataGridUser” click=”selectHandler();”>
<mx:columns>
<mx:DataGridColumn headerText=”No” dataField=”no” width=”40″/>
<mx:DataGridColumn headerText=”Nama” dataField=”nama”/>
<mx:DataGridColumn headerText=”Alamat” dataField=”alamat”/>
<mx:DataGridColumn headerText=”Email” dataField=”email”/>
<mx:DataGridColumn headerText=”telp” dataField=”telp”/>
</mx:columns>
</mx:DataGrid>
<mx:Form x=”10″ y=”10″ width=”410″ height=”225″ horizontalScrollPolicy=”off” verticalScrollPolicy=”off” id=”myForm”>
<mx:Label text=”No : {no}” id=”noLabel”/>
<mx:FormItem label=”Nama :” required=”true”>
<mx:TextInput width=”260″ id=”namaInput”/>
</mx:FormItem>
<mx:FormItem label=”Alamat :” required=”true”>
<mx:TextArea width=”260″ height=”62″ id=”alamatInput”/>
</mx:FormItem>
<mx:FormItem label=”Email :” required=”true”>
<mx:TextInput width=”260″ id=”emailInput”/>
</mx:FormItem>
<mx:FormItem label=”Telp :” required=”true”>
<mx:TextInput width=”260″ id=”telpInput”/>
</mx:FormItem>
<mx:HBox width=”100%” horizontalAlign=”center”>
<mx:Button label=”Save” click=”insert()”/>
<mx:Button label=”Delete” click=”deleteUser()”/>
<mx:Button label=”Cancel” click=”cancelHandler();”/>
</mx:HBox>
</mx:Form>
<mx:RemoteObject id=”myUser” destination=”User” source=”User” endpoint=”http://localhost/amfphp/gateway.php” showBusyCursor=”true”/>
</mx:Application>
Download AMFPHP Test Simple CRUD
Download Artikel ini versi PDF
Pada tanggal 6 Februari 2010 kemarin, Indonesian Flex Community Adobe User Group telah sukses mengadakan acara gathering mereka yang kesekian kalinya. Pada gathering kali ini yang di laksanakan di Cafe Oh La La Senayan City Jakarta, dimulai dari pukul 15:00 hingga 19:00 dan berjalan dengan cukup meriah dan lancar serta kedatangan sekitar 16 orang. Para pesertapun sangat antusias, dilihat dari tempat mereka berasa, kami kedatangan peserta dari Tanggerang, Bogor, dan Bandung.
Gathering kali ini diisi dengan Presentasi dan pembagian hadiah, berikut agenda gathering :
- Presentation “KTP Mobile”, By : Syakir Sirodj (Dinas Kependudukan Jakarta)
- Presentation “Flex Web Service”, By : Antonius Sulistyo
- Presentation “Adobe User Group Indonesia”, By : Ahmad Fathi Hadi
- Community Event “National Seminar RIA & Mobile Solution with Adobe Flash Platform”, UIN Jogja.
Gathering kali ini iFx kedatangan tamu kehormatan yaitu Pa’ Sulis dan Pa’ Jakir, mereka adalah orang-orang yang berada dibalik kesuksesan KTP Mobile yang saat ini sudah beroperasi penuh di Jakarta. Mereka datang sebagai AIR & Flex Developer dari Dinas kependudukan. Lalu kita juga kedatangan peserta sebagai perwakilan dari UIN Jakarta dan Al-Azhar, serta dari IPB dan bahkan ada alumni ITB yang sekarang menjadi CEO dari United Coder, Manager Hexacomm, dan Flex Developer dari AirFast
Thanks For Comming

Gathering Indonesian Flex Community Adobe User Group

Team pembagi Sticker Adobe sedang sibuk

Penjelasan mengenai KTP Mobile dari Pa' Syakir

Tubagus, Bang Dedy, dan Bang Yudi, Peserta Gathering yang bahagia

Team pembagi Sticker Adobe
esentation “KTP Mobile”, By : Syakir Sirodj (Dinas Kependudukan Jakarta)
§Presentation “Social GPS”, By : Ahmad Fathi Hadi
§Presentation “Flex Web Service”, By : Antonius Sulistyo
§Presentation “Adobe User Group Indonesia”, By : Ahmad Fathi Hadi
§Community Event “National Seminar RIA & Mobile Solution with Adobe Flash Platform”, UIN Jogja.
§Software Raffle $2100
Akhirnya setelah sekian lama tidak berkumpul lagi, kini Indonesian Flex Community akan mengadakan acara Gathering.

Gathering Indonesian Flex Community Adobe User Group - 6 Feb 2010
Klik pada gambar untuk lebih jelasnya.
Sabtu kemarin tepatnya tanggal 23-Januari-2010 saya di minta oleh ka’ Kris(mewakili D3 Unggulan Universitas Budi Luhur) untuk menjadi nara sumber pada acara yang jujur saya tidak tau apa nama acara kemarin
gathering orang tua
. Saya punya waktu untuk menyiapkan materi sekitar 6 Jam, kerena saya baru ditelfon sekitar jam16:00 hari Jumat.
Acara pada hari sabtu kemarin itu saya diminta memberikan pengalaman saya selama ini, serta motifasi untuk para mahasiswa baru dan orang tua. Saya lebih menekankan kepada cara dan kiat sukses serta apa saja yang harus dilakukan sebagai depoman untuk para mahasiswa baru. Namun waktu yang diberikan cukup singkat, hanya 30 Menit untuk menyampaikan semua materi.
Pada awalnya saya mejelaskan kepada para orang tua dan mahasiswa mengenai apa yang sudah pernah saya lakukan. singkatnya saya menjelaskan bahwa setiap semester saya mempunyai sebuah peningkatan. Lalu dilanjutkan dengan slide ke 9 sebagai awal diskusi, “Siapa Kalian ?”, “Kalian adalah Sekumpulan mahasiswa yang berharap dapat sukses di masa depan”. Semua menyatakan setuju dengan pendapat saya. Kemudian saya mulai menjelaskan apa langkah awal bagi para mahasiswa baru, Yaitu DOA(Hanya berlaku bagi yang memiliki Tuhan).
Saya menjelaskan kepada para mahasiswa mengapa doa menjadi langkah awal bagi mereka. Ini bersadarkan pengalaman saya juga loch. Dulu ketika semester 1, saya mendaftarkan diri saya sebagai calon Asisten di laboratorium komputer Universitas Budi Luhur(Lab yang sangat luas serta banyak tersimpan ilmu), saya diberikan projek pertama sebagai sarat kelulusan menjadi asisten. Pada projek pertama itu terdapat banyak pilihan projek dengan berbagai macam teknik, namun yang menjadi masalah adalah Projek-projek tersebut tidak bisa dipilih, melainkan diUndi. Nach loch, kalau misalkan saya mendapatkan sesuatu yang tidak saya sukai bagaimana jadinya ?, maka saya akan mengerjakannya dengan sangat amat terpaksa. Oleh karena itu saya berdoa memohon kepada Allah agar diberikan suatu yang akan menjadi Masa Depan Saya(Kunci dikabulnya doa bukan pada doa itu sendiri, melainkan keyakinan kita akan dikabulkannya doa tersebut). Maka setelah saya selesai berdoa, saya kembali ke Labkom menanti hasil kocokan. Dan ternyata keluarlah sebuah gulungan kertas dan bertuliskan “WebKom – Adobe Flex”. Pada saat itu saya tidak tau apa itu Adobe Flex, namun semua berawal dari sebuah Doa, dan sekarang saya menjadi Seorang Adobe User Group Manager yang manangani Komunitas Adobe Flex di Indonesia. Mendengar cerita itu para orang tua serta mahasiswa hanya bisa tersenyum dan diharapkan mereka yakin akan Langkah awal merupakan Doa.
Kemudian saya melanjutkan dengan Langkah Kedua, yaitu “Tetapkan motifasi, untuk siapa kalian hidup ? ( Ayah, Ibu, Agama, Negara, Pacar/Istri, atau Diri sendiri )”. Saya rasa hal ini tidak butuh penjelasan lebih, karena semua orang mengerti bahwa jika mempunyai tujuan hidup, untuk siapa anda hidup, maka kita akan memberikan yang terbaik untuk hidup kita.
Nah Sekarang kita masuk ke Intinya, yaitu “Kiat Sukses diawal Perkuliahan”, berikut kiat-kiat sukses diawal perkuliahan (Menurut Ahmad Fathi Hadi) :
- Perbanyak relasi.
- Pintar memilih teman.
- Dekati dosen.
- Manfaatkan waktu sebaik mungkin.
- Be different.
- Lihat dunia luar (Seminar, event,dll).
- Jangan pernah malu.
- Kurangi waktu dengan teman seumur.
- Jadikan setiap langkah sebagai batu loncatan.
- Jangan pernah biarkan indra anda berinteraksi dengan hal negatif.
Saya akan jelaskan sedikit mengenai Point Terakhir. Manusia memiliki 5 Indra, namun kita akan focus terhadap mata dan telinga. Sebuah contoh yang sangat umum adalah tugas, Misalkan terdapat sebuah tugas yang belum dikerjakan oleh Angga, lalu kemudian Angga bertanya kepada Toni(Toni merupakan mahasiswa yang malas dan kurang pintar, dan Angga pun tau akan hal ini) Tentunya Toni akan menjawab “wah susah banget, engga ngerti, males ah ngerjainnya”. Mendengar stimulus negative ini, indra pendengaran angga akan memberikan sugesti negative kepada otak, sehingga angga akan MALAS mengerjakan Tugas, dan bahkan bisa berakibat buruk dengan akan beranggapannya Angga bahwa tugas itu memang susah seperti yang dikatakan Toni. Berbeda dengan Halnya jika Angga betanya kepada temannya yang pintar dan sudah mengerjakan tugas.
Selesai saya menceritakan hal tersebut seluruh pesertapun kembali tersenyum . Well, lalu apa selanjutnya ?, saya menjelaskan bahwa Tidak semua yang didapatkan di kuliah akan menjadi bekal nanti, sehingga seharusnya mahasiswa harus mempelajari sendiri hal-hal yang tidak didapatkan. Dengan melakukan riset, serta penelitian, mahasiswa akan terbiasa menganggap dirinya pintar dan layak untuk menjadi seorang ilmuan(bukan mahasiswa), bahkan hasil dari penelitian itu pastinya bisa bermanfaat baginya. Dulu ketika saya semester 3, saya sudah mulai terlibat sebuah pengembangan Video Conference di Salah satu Instansi Militer Indonesia, yaitu Markas besar TNI AL. Projek itu selesai dalam 3 bulan riset dan 12 bulan masa implementasi. Walapun hasil akhirnya adalah riset tersebut menjadi mainan disana, tapi bagi saya ini merupakan hal yang cukup membanggakan, karena mainan saya bisa dimainkan di sana.
Kemudian saya memberikan tiga buah gambar yang saya rasa sudah cukup mewakili maksud saya, apa saja yang harus dihindari untuk dilakukan.

- Jangan Merokok

- Jangan Pacaran

- Jangan Nongkrong
Lalu saya lanjutkan dengan menjelaskan tiga mitos, yaitu :
- Umur tidak mempengaruhi kesuksesan
- Nasib/Takdir (Tidak ada istilah nasib/ takdir). Dengan doa dan usaha, kita dapat merubahnya J
- Tidak ada istilah kebetulan.

- Ahmad Fathi Hadi
Sudah berbulan-bulan saya menghabiskan waktu untuk melakukan riset ini, sebenarnya sangat mudah dan simple, namun berhubung saya harus membuat laporan dari tugas akhir saya ini untuk mendapatkan gelar S.Kom., maka setelah kurang lebih 3 bulan saya baru dapat menyelesaikan semua ini.
Pada awalnya, Social GPS merupakan sebuah konsep untuk interaksi sosial berdasarkan posisi, dimana seorang teman dapat melihat dan mengetahui keberadaan temannya. Namun pada percobaan awal, saya mengimplementasikan konsep Social GPS ini pada tugas akhir saya J.
Oh iya konsep Social GPS ini benar-benar saya fikirkan dan saya temukan sendiri, bukan mencontek atau mengikuti sesuatu yang sudah ada. Dalam arti kata lain, ini merupakan cikal bakal Social GPS yang lebih kompleks lagi.

- Skema Metode kerja Aplikasi Social GPS
Gambar diatas menunjukkan skema dari Social GPS. Di mana user yang memiliki mobile device dapat mengakses posisinya, serta melihat posisi keberadaan temannya. Tidak hanya disitu pemegang mobile device pun dapat menaruh status sesuai keberadaannya. Hal ini tentunya akan sangat menarik karena terkadang teman ingin mengetahui posisi temannya, namun biasanya dilakukan dengan cara SMS atau menelepon. Jika kita menggunakan dua cara tadi bisa saja terjadi kebohongan. Oleh karena itu dibutuhkan sesuatu yang pasti akuran, yaitu GPS Device.
Berikut keunggulan Social GPS :
- Meningkatkan interaksi sosial.
- Bentuk Monitoring keberadaan.
- Routing Jalan antar posisi teman,dll
- Pengembangan selanjutnya.
Pada pengembangan kali ini saya menggunakan mobile Nokia 5800XM. Dimana mobile jenis ini sudah memiliki GPS Receiver. Untuk Platform, anda dapat menggunakan J2ME, Qt, Symbian, Open C, Web Runtime, atau Flash Lite, tapi kali ini saya menggunakan Flash Lite 3.1. anda dapat melihat beberapa contoh di http://wiki.forum.nokia.com/index.php/Code_snippets_table_for_common_use_cases#Location
Teknologi GPS pada mobile device saat ini sudah cukup berkembang. Banyak teknik dan cara dalam mendapatkan data posisi, hingga saat ini mobile device sudah mendukung 4 metode, yaitu:
1) Integrated GPS
Mobile Device yang sudah terintegrasikan dengan Chip GPS jenis ini, membutuhkan waktu yang cukup lama untuk mendapatkan posisi karena dibutuhkan untuk mencari orbit, lokasi satelit, dan tidak tahu dari mana harus memulai pencarian.
2) Assisted GPS
Assisted GPS bukan merupakan chip, melainkan teknik untuk membantu integrated gps mendapatkan sinyal dari satelit dengan cepat. Layanan ini tidak tergantung operator. A-GPS menggunakan 3G dan 2G dan koneksi jaringan selular GPRS dan koneksi data paket EGPRS, jadi kita juga harus memiliki jalur akses internet yang sudah di setting terlebih dahulu. Akses internet nirkabel saat ini masih belum mendukung A-GPS. A-GPS tersedia di seluruh dunia selama kita memiliki sambungan data dan akses ke jaringan selular. Ketika kita menggunakan A-GPS, mobile device akan mendownload sekitar 10 kilobyte data dari server bantuan, semisal (supl.nokia.com) dan biaya bervariasi untuk setiap jaringannya
3) Network Based
Dalam kasus ini tidak ada sama sekali satelit yang terlibat, sel id yang melayani menara dikirimkan ke server (supl.nokia.com), lalu server mengirimkan balik berupa posisi Longitude dan Latitude termasuk ketidakpastian. Ada pemetaan antara sel id dan lokasi yang sesuai pada server dengan menggunakan teknologi internal. Dengan metode ini, lokasi di daerah perkotaan dapat lebih akurat dibandingkan dengan daerah pedesaan. Dalam kasus ini, tidak ada operator jaringan yang terlibat, hanya layanan komunikasi data mereka digunakan untuk mentransfer data antara server dan perangkat
4) Bluetooth GPS
Jika Mobile Device tidak memiliki GPS yang terintegrasi maka perangkat penerima GPS eksternal dapat digunakan untuk memperoleh data di perangkat komunikasi nirkabel melalui Bluetooth. Dalam kasus ini, tidak ada jaringan yang terlibat. Komunikasi yang terjadi hanya antara perangkat mobile dengan GPS eksternal. Lokasi didapat menggunakan data yang diterima melalui perangkat GPS Bluetooth.
Alat GPS biasa tidak dapat digunakan didalam ruangan, sehingga dirasa mobile device lebih unggul karena dapat mendapatkan posisi walaupun didalam ruangan(Network based).
Aplikasi Social GPS ini dibagi menjadi 3 bagian yaitu, Web User, Web Admin, dan Aplikasi Mobile.
Berikut beberapa screenshot dari Aplikasi Social GPS ini :

- Social GPS Print Scrn Web

- Social GPS Print Scrn Mobile App
[To Be Continue]

Flex 3 Cookbook
Sebelumnya selamat Ulang tahun fathi yang ke 19 (^_^). Kemarin adalah hari yang spektakuler, coba anda bayangkan mendapatkan 180 lebih ucapan selamat ulang tahun di wall facebook, sms, dan media lainnya. Sampai-sampai saya bingung untuk membalas semua ucapan ultah di facebook maupun sms, wah banyak banget, cape’. Makasih ya semua. Setelah melalui hari yang cukup melelahkan, akhirnya saya memutuskan untuk pulang kerumah di daerah matraman salemba. Setibanya disana saya melihat sebuah paket kiriman dari luar, dan ternyata pengirimnya adalah O’Reilly.
Hore, buku yang saya sangat inginkan diberikan cuma-cuma sebagai kado ulang tahun untuk saya dari O’Reilly. Sebagai rasa terima kasih saya kepada O’Rielly, maka saya akan mereview buku mereka sebagai bentuk promosi. (^_^)
Mungkin anda bertanya, kenapa buku ini yang saya inginkan bila dibandingkan buku Flex lainnya ?. Dikarenakan buku ini mempunyai isi yang begitu menarik, maksud saya adalah formatnya, coba lihat sample dibawah ini :
Problem : You need to select regions or items on your chart
Solution : Use the selectionMode attribute of your chart to set the selection type you want; then
use mouse, keyboard, or programmatic means to select items on your chart
Discussion : Just as with the different list components, chart elements are selectable. This might be
used for showing more detail on a data point with data grids or a secondary chart. To
make a chart selectable, you set the selectionMode attribute to single or multiple (the
default value of this attribute is none). A none value does not allow any selection, a
single value allows only one item to be selected at a time, and a multiple value allows
multiple items to be selected. bla bla bla . . . . . .
Bagus kan ?, buku ini memiliki jumlah halaman sebanyak 704 halaman. Bagi anda yang berminat untuk membeli buku atau hanya sekedar ingin melihat sample chapter, silahkan buka http://oreilly.com/catalog/9780596529857
Harga buku ini lumayan mahal, sekitar $45. Tapi apalah arti uang bila dibandingkan peningkatan skill (^_^)
Flash XML Graphics (FXG) adalah sintax untuk medefinisikan grafik dalam Flex. Mungkin bagi anda yang pernah membaca artikel saya mengenai degrafa yang berjudul “Degrafa untuk Pemula” di http://www.indonesianflexcommunity.org/tutorial-flex/41-design/91-degrafa-untuk-pemula , anda akan mudah dalam memahami FXG.
Sebenarnya FXG dibuat agar para designer bisa bekerja terpisah dengan developer. Maksudnya ?, ya maksud saya adalah dengan menggunakan tools seperti Adobe Photoshop CS4, Illustrator CS4 and Fireworks CS4, kita akan bisa merubahnya kedalah format FXG dan bisa dipakai dalam aplikasi Flex kita. Namun sayangnya format FXG bisa digunakan menggunakan Flex 4 SDK dan termasuk dalam bagian spark . Maaf ya
Anda bisa menggunakan FXG element langsung didalam sintax MXML ataupun berdiri sendiri sebagai Custom Component.
Contoh :
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/halo” minWidth=”1024″ minHeight=”768″>
<mx:Panel title=”Ellipse”
height=”247″ width=”279″ layout=”horizontal”
paddingTop=”10″ paddingBottom=”10″ paddingLeft=”10″ paddingRight=”10″ x=”259″ y=”154″>
<s:Graphic x=”0″ y=”0″>
<s:Ellipse height=”100″ width=”250″>
<s:stroke>
<s:SolidColorStroke color=”0×000000″ weight=”2″/>
</s:stroke>
<s:fill>
<s:RadialGradient>
<s:entries>
<s:GradientEntry color=”0×1c64a7″/>
<s:GradientEntry color=”0×114371″/>
</s:entries>
</s:RadialGradient>
</s:fill>
<s:filters>
<mx:DropShadowFilter/>
</s:filters>
</s:Ellipse>
</s:Graphic>
</mx:Panel>
</s:Application>

- Ellipse FXG
FXG bisa berada dalam file *.mxml dan *.fxg dengan syarat berada didalam tag <Graphic>
Tidak hanya itu, kita juga bisa menggunakan tag <Library> dan <Definition>, yang berfungsi semacam deklarasi FXG yang nantinya bisa kita pakai dengan memanggil namanya.
Contoh :
<?xml version=”1.0″ encoding=”utf-8″?>
<!– Ahmad Fathi Hadi/FXGLibraryExample.mxml –>
<s:Application
xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/halo”
xmlns:s=”library://ns.adobe.com/flex/spark” >
<fx:Library>
<fx:Definition name=”EllipseFathi”>
<s:Graphic x=”0″ y=”0″>
<s:Ellipse height=”100″ width=”250″>
<s:stroke>
<s:SolidColorStroke color=”0×000000″ weight=”2″/>
</s:stroke>
<s:fill>
<s:RadialGradient>
<s:entries>
<s:GradientEntry color=”0×1c64a7″/>
<s:GradientEntry color=”0×114371″/>
</s:entries>
</s:RadialGradient>
</s:fill>
<s:filters>
<mx:DropShadowFilter/>
</s:filters>
</s:Ellipse>
</s:Graphic>
</fx:Definition>
</fx:Library>
<mx:Panel title=”Library Example”
height=”314″ width=”528″ layout=”absolute”
paddingTop=”10″ paddingBottom=”10″ paddingLeft=”10″ paddingRight=”10″ x=”93″ y=”31″>
<fx:EllipseFathi x=”0″ y=”0″/>
<fx:EllipseFathi x=”255″ y=”105″/>
<fx:EllipseFathi x=”0″ y=”105″/>
<fx:EllipseFathi x=”255″ y=”0″/>
</mx:Panel>
</s:Application>

- FXG Library Example
Mungkin dengan anda melihat contoh kode yang saya berikan, anda bisa mengerti maksud saya. (^_^)
Well, mungkin sekian dari saya untuk penjelasan singkat mengenai FXG.

Adobe Flash Builder 4 Premium Beta
Kamarin malam tepat pukul 23:01, saya dapat email dari labs.adobe.com, setelah saya baca dan ternyata hal sangat saya tunggu telah hadir. Flash Builder 4 beta dan Flash Catalyst ternyata begitu mengagumkan. kali ini saya mau bagi pengalaman menggunakan Adobe Flash Builder 4 beta. Pasti anda bertanya kenapa bukan Flex Builder, melainkan Flash Builder ?, Pada dasarnya Flex adalah sebuah Framework untuk membuat file swf, mungkin dari situ Adobe merubah nama Flex menjadi Flash, walaupun Framework yang digunakan tetep bernama Flex. Ya ngga penting lah untuk dipermasalahkan (^_^).
Dalam menginstal Adobe Flash Builder 4 beta ini tidak dibutuhkan skill khusus, Next next dan Finish.
Untuk mendownloadnya, silahkan berkunjung ke labs.adobe.com

Flash Builder Start Page
Yang perlu kita lihat dan perhatikan adalah perubahan dan fitur-fitur baru yang terdapat dalam fersi beta ini. ketika kita membuat Project baru, terdapat pilihan Flex SDK Version.

New Flex Project
Ternyata komponent sudah berubah penampilannya, seperti pada gambar berikut
Flex 4 Component
Yang menarik disini adalah kita bisa memilih Theme, namun terdapat perbedaan jika kita memilih Versi Flex SDK pada saat awal membuat project, akan terasa perbedaan antara SDK 4 dan SDK 3. Bagi anda yang terbiasa menggunakan SDK 3, anda akan mengalami hal yang sama seperti saya alami, yaitu terdapat sesuatu yang ganji, aneh, dan kurang menarik

Themes
satu fitur lagi yang sangat dirasakan manfaatnya adalah Package Explorer, saya mencoba membrowse file .swc, dan cukup menarik, saya bisa melihat isi dari file berekstensi .swc

Package Explorer
Sebenarnya masih banyak fitur-fitur yang sangat bagus, namun akan terlalu panjang jika saya bahas semua disini.
Pada intinya Flash Builder 4 beta sudah sangat bagus, namun masih membutuhkan proses pematangan dari pihak Adobe.
Hari ini dapat email dari linda.com, katanya saya dapat sertifikat. hah ?, perasaan nga pernah ikut seminar di luar negeri deh. Setelah dibaca lagi, ternyata sertifikat ini diberikan karena telah menyelesaikan Pelatihan Cource dari Lynda.com. Sertifikat ini diberi nama “Certificate of Completion Program”. Berikut list sertifikat yang saya terima :
Pasti banyak yang belum mengetahui apa itu Lynda.com, Lynda.com adalah semacam Online training library. banyak sekali Training yang disediakan oleh Lynda.com. biasaya setiap perusahaan besar mempunya sebuah acount di Lynda.com untuk kebutuhan para staf IT yang ingin mempelajari sesuatu. Acount premiumnya pun tidak murah, sekitar $375.
Indonesian Flex Community bekerja sama dengan STMIK Widuri akan melaksanakan Workshop “Creating RIA with Adobe Flex Builder 3″. Keterangan terdapat pada Banner. oh iya lupa, salah satu trainernya adalah saya

Workshop - Creating RIA with Adobe Flex Builder 3
Ok, sampai ketemu pada workshop dan seminar selanjutnya di Binus (^_^) Read the rest of this entry »