Blog

Cari

Why Zend Framework

Menurut saya, zend adalah tipikal hybrid framework ,dimana beberapa komponen zend framework dapat digunakan sebagai standalone component library. Zend juga sudah dianggap sebagai best practices dalam pengembangan Selain itu, proven. Zend Technologies adalah perusahaan yang berkontribusi tinggi di team developer The Zend Engine, the core of PHP. Jadi bisa dibilang Zend Framework berasal dari "pembuat PHP".

Diposkan oleh Devina Putri pada Minggu, 11 April 2010. Dibaca 112 kali.1 Comment(s)

Tulisan ini dibuat oleh programmer yang sedang menguliti zend framework karena (terpaksa) belajar karena suatu projek, tapi akhirnya malah tertantang untuk mengenal lebih dalem ^^

Framework terjemahan mudahnya adalah kerangka kerja, sedangkan dalam dunia pemrograman framework adalah bentuk kumpulan perintah suatu bahasa pemrograman yang telah diatur sedemikian rupa menjadi beberapa modul-modul untuk mempermudah pemrograman.

Why Use A Framework

Pertama kali mengenal framework,pertanyaan yang sering muncul yaitu  "Kenapa pake framework,kan bisa aja bikin berhalaman2 php tok plus folder include,script sama style terpisah aja kan udah cukup". Well,memang bisa aja, suatu project nda butuh framework, for whatever reason. Tapi ketika dihadapkan pada suatu non trivial project, berjibaku dengan ribuan line of code, menggabungkan dari berbagai sumber banyak programmer, utuh perubahan cepat n highly maintained, bagi saya make framework dalah opsi yang harus diambil. Terserah mau bikin sendiri atau pake yang udah ada, kalo saya sih prefer opsi yang kedua :)

Terutama untuk php, simplicity yang ditawari bisa jadi jebakan. Because there are less restrictions on the structure of the code you write, it's much easier to write bad code. But there is a solution: use a framework.Mari kita list keuntungan menggunakan framework :

  • Standarisasi , Dengan mengikuti pola dan aturan (konvensi)  yang ada di framework,membantu juga ke pola kerja para programmer. Fungsi dasar yang ada di framework nda bisa dirubah, kita bisa mengembangkan fungsi dasar tapi tidak boleh merubahnya.
  • Stable and Extensible. Semakin stabil, banyak feature dan mudah dikembangkan maka aplikasi web yang digunakan juga semakin bagus dan berkualitas.
  • Simplify , Reuse, Saving time, Dengan menggunakan framework , kita bisa menghemat banyak waktu, karena semua fungsi-fungsi untuk pembuatan udah disipain tinggal pake, bisa di reuse jadi programmer konsentrasi ke fungsional yang lebih besar untuk menyelesaikan persoalan. 
  • Robust API / standards / patterns

Ga fair kalo belajar sesuatu cuman diliatin enak2nya aja, framework juga ada kekurangannya. Sebenernya bagi saya itu bukan kekurangan, tapi kesulitan awal kalo pake framework :

  • Rumit dan learning curve nya tinggi, harus paham paradigma pemrograman strukturan dan juga Object Oriented Programming. Jadi, mulailah teguhkan diri untuk membuat suatu aplikasi yang berisi code yang "elegance" dari sekedar "bad codes" yang penting jalan.

Beberapa komponen umum dalam suatu framework antara lain :

Model View Controller (MVC) Structured Code

MVC adalah salah satu design pattern yang paling dikenal. Kebanyakan framework mengikuti, Model View Controller (MVC) untuk memisahkan data model dari business rules dan user interface. Jika kita ingin membangun aplikasi three tiers cocok pake pola ini. Arsitektur ini sering digunakan sebagai best practices jika ingin modularisasi kode, reuse code dan memanfaatkan banyak tampilan.MVC akan menghasilkan kode yang simple, bersih dan dapat dimengerti. Ada Video parodi tentang MVC bisa dilihat di

Video MVC Modularity
Video MVC Obesity

Enforcing of good coding standards

MVC code mudah ditulis dan memiliki aturan pengkodean. Jika semua developer yang telibat mengikuti konvensi tersebut maka akan menciptakan kode yang seragam, mudah dimaintain bila ada perubahan dan juga cepat di telusuri jika ada kesalahan(bug tracking). Its getting more interesting, isn't it?

Attractive URLs
Sebagian besar framework akanmenciptakan halaman2 URL yang menarik dan mudah diakses. Apache umumnya menggunakan mod_rewrite untuk membuat URL yang bersih. Apache  akan menghandle request ke URL tertentu ,dan tanpa sepengathuan client, akan mengembalikan URL ini ke index.php sebagai GET string. Lalu index pagi instansiasi bagian utama dari framework. Hal ini membantu dengan Search Engine Optimization(SEO) , contoh kasus : menghubungkan posting blog kita sebagai   /blog/view/why_you_should_be_using_a_framework/  akan meninggikan rangking di search engine untuk keyword tersebut daripada  /blog/view.php?id=12, misalnya.

Helpful helpers

Less time coding

-- to be continued --

Which Framework is Right for Me?

Setelah kita tahu esensi penggunaan framework, selanjutnya adalah memilih framework yang akan kita pakai. Fase ini bisa menghabiskan banyak waktu, bisa harian, mingguan sampe bulanan kalo pengen membandingkan satu persatu dari semua framework yang ada :D Untuk melihat daftar PHP framework yang ada plus daftar fitur masing masing,bisa check kesini

Kunci utama dalah memilih framework adalah mencari satu dengan pola yang natural untuk kita, menyediakan services yang paling umum yang dibutuhkan aplikasi kita, dan membuat kita fokus ke pengembangan kode business logic aplikasi kita. Bukan kah itu tujuan kita menggunakan framework? Dan karena topik pembahasan nya adalah Zend Framework, berarti saya sudah mempertimbangkan hal tersebut sebelum memilih zend :D So, selanjutnya pembahasan akan lebih fokus ke framework ini.
So just choose a framework and start coding!

Diposkan oleh Devina Putri pada Minggu, 11 April 2010. Dibaca 128 kali.0 Comment(s)

Belakangan ini lagi mencoba explore mapserver, supaya tidak lupa tentang apa yang sedang dipelajari karena banyak juga yang dipelajari, jadi saya tuangkan dalam tulisan kali ini dari berbagai referensi yang ada, oje langsung aja ke pembahasannya. MapServer adalah sebuah lingkungan pengembangan yang bersifat open source yang digunakan untuk pengembangan aplikasi internet yang memungkinkan pengolahan suatu data spasial (peta, citra dan data vektor).Aplikasi ini pertama kali dikembangkan di Universitas Minesotta, Amerika Serikat untuk proyek ForNet (sebuah proyek untuk menajemen sumber daya alam) yang disponsori NASA (Nasional Aeronautics and Space Administration). Dukungan NASA dilanjutkan dengan dikembangkan proyek TerraSIP untuk menajemen data lahan. Saat ini, karena sifatnya yang terbuka (open source), pengembangan MapServer dilakukan oleh pengembang dari berbagai negara.

Fitur Mapserver

* Dukungan pada bahasa script dan lingkungan pengembangan populer seperti: PHP, Python, Perl, Ruby, Java dan C#
* Dukungan lintas platform seperti: Linux, Windows, Mac OS X, Solaris dan lainnya
* Mendukung data spasial dalam format raster seperti TIFF/GeoTIFF, EPPL7 dan berbagai format data raster lain dengan menggunakan library GDAL
* Mendukung data spasial dalam format vektor seperti : Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format data vektor lain dengan menggunakan library OGR
* Mendukung rendering karakter berupa font TrueType
* Dukungan pada proyeksi peta : Proyeksi peta on-the-fly dengan lebih dari 1000 sistem proyeksi lewat library Proj. 4

Anatomy Aplikasi Mapserver

Sebuah aplikasi mapserver sederhana terdiri dari:

* Mapfile – adalah file konfigurasi terstruktur untuk aplikasi mapserver anda. Berisi konfigurasi wilayah peta anda,       lokasi data dalam server dan format output dan lainnya. Juga berisi layer-layer peta anda, sumber data, proyeksi dan simbologi. Biasanya adalah file teks dengan ekstensi .map.
* Data Geografis – Mapserver bisa menggunakan beberapa jenis/format sumber data geografis. Format utama yang didukung adalah ESRI Shapefile.
* Halaman HTML – merupakan jembatan antara user dan mapserver. Berupa file HTML dalam server/hosting anda. Mapserver bisa dipanggil untuk membuat peta statis dalam halaman HTML anda, atau untuk membuatnya interaktif anda bisa membuat form dalam HTML ini.

CGI adalah program yang ’stateless’, setiap rekues yang dikirim adalah selalu baru, dia tidak bisa mengingat apa yang sudah dilakukannya sebelumnya lewat permintaan anda. Itulah sebabnya, aplikasi anda harus mengirim terus parameter-parameter yang diinginkan (layer apa saja, di wilayah mana peta ditampilkan, mode aplikasi, dsb) yang bisa ditentukan lewat variabel tersembunyi dalam form atau lewat URL.

Aplikasi/form mapserver sederhana bisa terdiri dari dua halaman HTML:
o File inisialisasi – menggunakan form dengan variabel tersembunyi untuk mengirim kueri awal ke webserver dan mapserver. Form ini bisa ditempatkan secara terpisah atau digantikan dengan mengirim variabel lewat URL.
o File templat – untuk mengatur bagaimana tampilan peta, legenda dan informasi lainnya disajikan dalam halaman HTML lewat browser. Dengan mengirim referensi variabel Mapserver CGI pada templat HTML, anda akan meminta mapserver menerjemahkannya menjadi nilai variabel bergantung pada status terakhirnya (misalnya nama peta, peta referensi, besar/cakupan peta, dsb). Templat ini juga akan menentukan bagaimana nantinya pengunjung berinteraksi dengan aplikasi mapserver (perbesaran/pengecilan, menggeser peta, kueri, dsb).
* Mapserver CGI – file biner yang dieksekusi untuk menerima permintaan/rekues dan menerjemahkannya menjadi gambar peta, data, dsb. Berada di direktori cgi-bin atau direktori lain yang ditentukan pada webserver. Di RuangWeb.com ini berada di /cgi-sys pada domain anda.
* HTTP Server (Webserver) – aplikasi yang menyajikan halaman HTML pada browser. RuangWeb.com menggunakan Apache sebagai webservernya.

Cara Kerja Mapserver

 

Secara teknis MapServer adalah program CGI yang terpasang dan berjalan tapi tidak aktif dalam server, aktif hanya ketika pada saat di panggil saja. Ketika ada request dari klient, maka request tersebut akan dikirimkan ke mapserver, dari informasi yang dikirimkan lewat URL dan mapfile untuk membuat (generate) peta yang diinginkan. request ini bisa juga termasuk request untuk membuat legenda, peta referensi, skala, dan variabel lain yang dikirimkan ke CGI.

Diposkan oleh Yadi Rosadi pada Selasa, 30 Maret 2010. Dibaca 137 kali.0 Comment(s)

Follow these steps to give the beautiful transparent text effect in Fireworks.


 

Step 1
Open an image on the canvas.


Step 2
Type a text on the image and position it wherever you want.


Step 3
Select the text and go to the Properties window below the screen, select Effects > Bevel and Emboss > Raised Emboss


 

Step 4
On the Raised Emboss properties, un check the Show Object option and change the value : Width - 2, Contrast - 100%, Softness – 0 and  Angle - 30.


Diposkan oleh Fitri Puspitawati pada Senin, 15 Maret 2010. Dibaca 96 kali.0 Comment(s)

You can make a beautiful frame for your photograph collection by using Macromedia Fireworks. Here are the steps :
Step 1
Open a new page, then open image/foto


Step 2
Select the image


Step 3
Choose menu Filters>Alien Skin Splat LE>Edges. At the option Edge Mode, choose form of display frame that you likes.

Dot Edged Frame
Settings:
Edge Mode - Halftone dots
Edge Width - 40, Margin - 0, Feature size - 40, Direction - 45 and Random Seed - 1.

Line Edged Frame
Settings:
Edge Mode - Halftone Lines
Edge Width - 38, Margin - 0, Feature size - 38, Direction – 45 and Random Seed - 1.

Lumpy Edged Frame
Settings:
Edge Mode – Lumpy.
Edge Width - 32, Margin - 0, Feature size - 37, and Random Seed - 1.

Pixels Edged Frame
Settings:
Edge Mode – Lumpy.
Edge Width - 32, Margin - 0, Feature size - 37, Direction – 45 and Random Seed - 1.

Rough Edged Frame
Settings:
Edge Mode – Rough
Edge Width - 32, Margin - 0, Feature size - 5, and Random Seed - 5.

Torn Edged Frame
Settings:
Edge Mode – Torn
Edge Width - 32, Margin - 0, Feature size - 5, and Random Seed - 10.

Diposkan oleh Fitri Puspitawati pada Senin, 15 Maret 2010. Dibaca 132 kali.0 Comment(s)

Saat ini kita sudah banyak mengenal beberapa aplikasi yang menggunakan peta seperti Google Map, wikimapia, dan lain-lain. Aplikasi yang menggunakan peta untuk visualisasi informasi yang ada dalam sistem biasa kita sebut dengan Geographic Information System (GIS). GIS ini dapat dibangun dibangun spesifik sesuai kebutuhan pengguna yang merupakan suatu instansi tertentu atau perorangan. dalam tiga pilihan solusi yaitu: stand-alone, berbasis desktop, dan berbasis web.

  1. Pada GIS stand-alone, untuk melihat visualisasi peta dan informasinya, pengguna harus menggunakan client tools untuk menampilkan peta seperti ArcView, MapInfo, dan teman-temannya.
  2. Pada GIS berbasis desktop, pengguna dapat melihat visualisasi peta dan infonya pada aplikasi yang diinstal di desktop. Peta beserta aplikasi dan database harus tersimpan dalam PC agar dapat dimanfaatkan oleh pengguna.
  3. Pada GIS berbasis web, pengguna dapat melihat visualisasi peta dan infonya menggunakan browser. Pada basis web, pengguna hanya mengakses info dan peta yang diperlukan saja. Keseluruhan aplikasi, database dan peta disimpan di server.

ArcGIS Server adalah salah satu platform untuk pembangunan aplikasi GIS berbasis web. Beberapa contoh platform lain sebagai pembanding adalah ArcIMS (teknologi sebelum ArcGIS Server) dan Mapserver. ArcGIS Server merupakan solusi platform berbayar (lisensi) untuk pembangunan aplikasi GIS berbasis web yang dikeluarkan oleh ESRI. ArcGIS Server dilengkapi dokumentasi library dan contoh yang cukup lengkap, sehingga walaupun merupakan teknologi baru dibidang GIS berbasis web, kita dapat melakukan eksplorasi terhadap platform ini dengan cukup mudah.

ArcGIS Server dilengkapi dengan beberapa pilihan API tergantung kebutuhan seperti Javascript API, Flex, dan MS Silverlight. Pada tulisan ini yang saya bahas adalah khusus Javascript API. Javascript API ini berisi fungsi-fungsi terkait manipulasi visualisasi peta di aplikasi. JS API ini termasuk lengkap sehingga untuk membuat aplikasi GIS berbasis web standar (zoom, pan, marker), developer tidak perlu membuat script kode rumit melainkan cukup menggunakan apa yang sudah ada pada API ini. Kelas-kelas objek yang ada pada JS API di ArcGIS Server meliputi:

  • Map : kelas peta dan fungsi pengaturan peta dasar
  • Graphic : kelas dan fungsi untuk menggambarkan suatu objek di atas peta. Grapic dapat berupa objek symbol, geometry, atau InfoTemplate.
  • InfoTemplate : kelas dan fungsi untuk pengaturan penampilan/template info pada peta.
  • SpatialReference : refensi spasial yang mengacu ke suatu standar tertentu (wkid)
  • Units : kelas satuan
  • dijits : kelas bentukan untuk menampilkan jendela info pada peta
  • geometry : kelas geometry dan fungsi untuk manipulasinya yang meliputi point, line, polyline, dan polygon
  • layers : kelas dan fungsi manipulasi layer pada peta
  • renderer : kelas dan fungsi untuk render (mengirimkan) graphic (objek tertentu) pada peta
  • symbol : kelas dan fungsi untuk menggambarkan geometry pada peta
  • tasks : kelas dan fungsi tasks yang dapat dikenakan pada peta, contoh: query, routing, dsb
  • toolbars : kelas dan fungsi untuk menampilkan toolbar navigasi pada peta
  • virtualearth : (untuk yang satu ini saya masih kurang mengerti)

Dokumentasi lengkap untuk kelas-kelas di atas dapat dilihat disini.

Library kelas yang dijabarkan di atas dan segala fungsinya dibangun menggunakan Dojo sebagai framework javasript-nya.
Nah pertanyaan selanjutnya, apa itu Dojo? Dojo adalah sebuah framework javascript. Berbeda sedikit dengan scriptaculous atau jquery, dojo menyediakan dasar bagi developer untuk membangun sendiri fungsi javascript-nya atau menggunakan fungsi-fungsi yang memang sudah didefinisikan oleh Dojo. Instalasi Dojo mudah untuk dilakukan, kita hanya perlu men-download 1 package Dojo versi tertentu sesuai kebutuhan, dan di dalamnya sudah terdapat lengkap framework serta fungsi buatan yang bisa langsung digunakan oleh para developer. Sebuah package Dojo terdiri dari 3 sub-package, yaitu:

  1. Dojo: berisi kelas dan fungsi dasar dojo untuk membangun fungsi baru sesuai kebutuhan pengguna berbasis javascript. Jadi pada saat menulis script, pengguna menggunakan cara penulisan seperti yang sudah didefinisikan oleh dojo. Contoh: fungsi getElementById() pada dojo menjadi dojo.ById()
  2. Dijit: berisi kelas dan fungsi bentukan yang dapat langsung digunakan, seperti kelas form, kelas layout, kelas dialog dll
  3. Dojox: berisi kelas dan fungsi bentukan pada level yang lebih rumit, seperti: kelas grafik, tampilan menu fish eye (like mac), dan sebagainya.

Jadi dengan Dojo yang dapat kita sebut ‘one complete package, diharapkan developer tidak perlu lagi menyisipkan banyak potongan kode dari JS API/framework lainnya karena  didalam Dojo semua fungsi dasar javascript dan interaktivitas yang standar digunakan sudah disediakan.

Penjelasan masing-masing mengenai apa itu ArcGIS Server dan Dojo telah dijabarkan di atas. Kesimpulannya, bila para developer GIS butuh alternatif mengenai pilihan lingkungan pengembangan SIG berbasis web, jawabannya adalah ArcGIS Server dengan JS API menggunakan Dojo. ArcGIS Server pada saat ini masih terbilang teknologi baru, sehingga artikel terkait dengan implementasi, kekurangan, kelebihan, dan pengalaman developer dalam pembangunannya masih sedikit. Hal yang mempermudah developer untuk membangun aplikasi di atas arcGIS server adalah JS API itu sendiri, developer hanya perlu mempelajari lebih dalam mengenai JS API bawaan ArcGIS dan Dojo.

Semoga Berguna.. Selamat Mencoba ;)

p.s: untuk para yang lebih ahli, klo ada kesalahan dalam menjelaskan, mohon komentarnya.. :D terima kasih..

Diposkan oleh Amalia Rahmah pada Minggu, 14 Maret 2010. Dibaca 214 kali.0 Comment(s)