October 2007


Mungkin rekan rekan semua udah ada yang pernah denger symfony web application framework

Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.

di website nya bilang begituh… well anyway mari kita coba coba belajar symfony….

langkah nya cukup gampang koq

1. Download
Untuk intial project disarankan untuk mendonlot sf_sandbox. Kenapa ? karena di sandbox itu semua requirement nya symfony udah tersedia. Jadi tinggal pake dan utak atik…

2. Set PHP
Langkah berikutnya kita set PHP biar bisa di panggil lewat konsole. Klo di windows itu di Start->Setting->Control Panel->System->Advanced Options->Environment Variables lalu cari variable Path, lalu edit… tambahkan %PATH%:$PATH_TO_PHP … $PATH_TO_PHP itu tempat kita taruh php.exe

database
Sekarang kita akan coba membuat aplikasi database dalam hal ini kita coba buat aplikasi movie Review…

Didalam perencanaan nya kita ingin ada Movies, Movies bisa direview oleh banyak User, Setiap User bisa Mereview banyak movie sehingga kita dapatkan dua database dengan hubungan many to many. Untuk mempermudah kita buat satu table untuk membantu kita yaitu table review…
Jadi table kita menjadi

  1. Movie One to Many Review
  2. User One to Many Review
  3. Review Many to One User
  4. Review Many to One Movie

Untuk memperkirakan field database kita gunakan asumsi-asumsi…

Movie
Setiap Movie pasti ada judul, produsen, sutradara, tanggal release movie nya, sama sinopsis.

User
Setiap User punya user, password, etc….

Review
Ada Movie, ada User yang mereview, ada isi review, tanggal review, sama rating….

Saya kira segitu cukup untuk memberikan gambaran bagaimana database yang akan kita buat.

Untuk database di symfony sendiri, standardnya menggunakan
Propel
Propel ada sebuah ORM ( Object Relational Mapping ), yang menurut saya sih sangat membantu, yah lumayan lah walau klo di bandingkan dengan hibernate di Java masih kalah.

Sedikit mengutip dari Wikipedia :

Object-Relational mapping (aka O/RM, ORM, and O/R mapping) is a programming technique for converting data between incompatible type systems in databases and object-oriented programming languages. This creates, in effect, a “virtual object database” which can be used from within the programming language Wikipedia

Untuk mengedit database di symfony edit sebuah file di folder config/schema.yml
kira kira ini isi nya


propel:
 movie:
    _attributes: { phpName: Movie }
    id:
    movie_name: varchar(50)
    movie_detail: longvarchar
    movie_length: varchar(10)
    movie_status: varchar(25)
    movie_genres: varchar(50)
    movie_released: date
    movie_rating: varchar(100)
    movie_distributors: varchar(50)
    movie_production_co: varchar(50)
    movie_studio: varchar(50)
    movie_location: longvarchar
    movie_produced_in: varchar(50)
    created_at:

 critics:
    _attributes: { phpName: Critics }
    id:
    movie_id:
    reviews: longvarchar
    rating: varchar(5)
    user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
    created_at:

harap di perhatikan kalau settingan ini sangat sensitive masalah spasi , dan tidak boleh pake TAB

setelah di simpan
lalu coba buka directory symfony melalui konsole lalu ketik :


C:\>symfony propel-build-model
C:\>symfony propel-build-sql
C:\>symfony propel-insert-sql

dan viola!!! jadi deh database nya … default dari sandbox memakai sqllite…

CRUD
CRUD ada lah aplikasi dasar dalam PHP yang fungsinya hanya untuk Create Read Update Delete jadi untuk mempermudah dan mempercepat kita gunakan generator bawaan dari symfony…


C:\>symfony propel-generate-crud frontend movie Movie
C:\>symfony propel-generate-crud frontend critics Critics
C:\>symfony cc

frontend perintah di atas adalah nama aplikasi nya ….
movie adalah nama script nya sedangkan Movie adalah nama object nya..
– phpName: Movie di schema.yml –
symfony cc adalah perintah untuk membersihkan cache nya symfony…

lalu coba buka browser .. lalu buka url
http://localhost/sf_sandbox/web/frontend_dev.php/movie

jika semua langkah nya tepat seharusnya keluar

Symfony…

well segitu aja dulu sekarang … kita lanjutin lain waktu

Yups, leopard telah tiba… macintosh 10.5 …
haduh jadi pengen install mac ,
tapi sayang gak ada komputer yang bisa di cobain hehehehe.

Komputer impian gw itu :
Mobo : Gigabyte — serinya lupa, yang pasti chipset nya intel –
Proc : Intel Core 2 Duo apa dual core yah … lupa euy
hdd : 250 gb
vga : NVIDIA 7200 GS
mem : 2 GB
OS : mac 10.5 — itulah kenapa gw pilih intel –
Ubuntu 7.10

yups, and no windows … not yet

hehehehe yang laennya ?? ntar aja deh … itu aja perkiraan nya dah sampe 3 jtan.
FYI MB Gigabyte harga nya sekitar $54 dan Prosesor nya $154, klo ditambah hd 250Gb perkiraan nya sekitar $75, ram 1 Gb Rp 275rb, nvidia sekitar Rp 600rb berarti butuh modal sekitar $ 283 dan Rp 875 rb … ribet kan ??? sekarang (30 October 2007) itu klo gak salah dollar sekitar Rp 9100 jadi 283 dollar itu Rp 2575300 tambah 875000 sekitar 3.5 jt….

aduh duit darimana… ?? ini gara2 macintosh sama ubuntu GG sih nih =P

Horee akhirnya waktu yang di nanti tiba juga …

Canonical akhirnya mengumumkan bahwasanya Ubuntu 7.10 Gutsy Gibbon (GG) udah official release, dan ada pesta nya juga loh ….

Tanggal 3 November 2007
klo yang di Bogor di Plasa Ekalokasari@Food Court..
klo yang di Jakarta itu di Papa Ron’s Pizza Lantai 2 Kemang..

Masing masing punya acara buat nyambut GG … tapi apa sih yang baru dari GG ?

dapet dari Ubuntu 7.10 Tour

1. Gnome 2.20 Untuk Ubuntu n KDE 3.5.8 buat Kubuntu
new look new Experience…

2. 3D Desktop Effects
di GG, compiz fusion udah terinstall, kita tinggal make… wuih … Much Much More User Experience, Compiz fusion make vista seem so old :p

3. Desktop Search
Sekarang buat nyari file atau apa pun dah gampang… buat yang pernah nyoba google desktop pasti tau donk…

and many more….

jadi gak sabaran pengen install GG …

Pernah pengen punya widget gak ???

widget itu apa yah ??

In computer software, a widget engine is host software system for physically inspired applets on the desktop (desktop widgets).

Wikipedia

(more…)

Akhirnya setelah sekian lama perencanaan, dikontrakan di bikin juga jaringan. Jaringan sederhana dengan modal seadanya, tapi secara keseluruhan gw cukup puas. Jaringan itu ngehubungin komputer di kontrakan daniel sama komputers di kontrakan gw. Cukup panjang juga kabel yang di pake… sekarang lom di putusin sih siapa yang mau jadi DHCP server, soalnya gw gak bisa klo gak pake DHCP server dan itu juga harus gak ngubah domain.

Kira kira apa yah selanjut nya …. :-P

Next!!! World Domination!! Fasttt

Wah gimana yah rasa nya jadi kuli excel ?? yah gini deh rasanya… ngeselin.

Kenapa ?
gara2 di excel tuh gampang banget Hang dah gitu kejadian deh , kerjaan dah banyak dikerjain eh gak taunya file nya ada yang aneh akhirnya kudu ulang all the way lagi … tapi heran nya kenapa yah orang lebih excel ketimbang yang laennya. Buat yang gak tau program sejenis excel tuh spread sheet, dan program untuk spreadsheet tuh banyak, excel cuman salah satu nya dari sekian banyak program spreadsheet, contoh nya Openoffice Calc. Tapi kenapa gak dipake gak tau ?

mungkin kurang marketing nya. Yup, emang produk produk opensource itu di kenal hanya dari mulut ke mulut, dari kuping ke kuping. Beda jauh sama m$ yang gencar masarin produk nya. Walhasil orang tau nya spreadsheet yang Excel itu sama kaya orang tau nya pasta gigi itu Odol. Mungkin kita harus coba mikirin gimana cara marketing nya Open Source, secara Open Source lebih depends on community agains Giant Enterprise, just like david vs Goliath.