Tuesday, April 12, 2011

Zend Framework : Konfigurasi dengan Zend_Config (Article #3)

firman.efendi@gmail.com

Sebelum membaca artikel ini, sebaiknya rekan-rekan PHPer membaca kembali pembahasan kita sebelumnya tentang Zend Framework, yaitu artikel yang berjudul Zend Framework : Mari membuat aplikasi web sederhana (Article #2) 

Pada file index.php kita akan menemui baris kode seperti berikut :

$application = new Zend_Application(
                   APPLICATION_ENV,
                   CONFIG_PATH . DS . 'config.ini'
               );

Pertama kali yang dilakukan adalah membuat sebuah Class Object yang diberi label $application. Class Object $application merupakan Class Object Zend_Application yang telah di-create dengan sintaks new.

Untuk inisialisasi, Zend_Application mengambil nilai APPLICATION_ENV dan path file konfigurasi sebagai parameternya. Apa saja yang dikerjakan oleh Class Constructor Zend_Application pada saat inisialisasi ? Berikut ini adalah kode programnya. FYI, versi Zend Framework yang saya gunakan dalam contoh ini adalah 1.10.0


(Klik screenshot untuk Zooming)

Class Constructor diatas menerima 2 parameter, yaitu $environment dan $option, dimana nilai default $option adalah null. Dengan demikian, sebuah aplikasi tidak mesti/kudu/harus memiliki konfigurasi. Saya akan coba jelaskan baris kode diatas dengan sederhana.

Line 78 :
Parameter APPLICATION_ENV akan di simpan dalam object property $_environment. Nilai APPLICATION_ENV untuk contoh aplikasi ini adalah 'production'. Anggap saja aplikasi yang kita bahas sekarang telah berada pada fase 'production'. Object property $_environment memiliki peranan yang besar dalam menentukan konfigurasi seperti apakah yang akan dipakai pada saat aplikasi sedang running. Silahkan merujuk ke subtitle Inheritance in Configuration untuk penjelasan yang lebih rinci.

Line 80-81 :
Autoloader diaktifkan. Autoloader merupakan komponen dasar dalam praktek OOP (Object Oriented Programming) di Zend Framework.
Setelah membahas Zend Config kita akan membahas Zend Loader untuk menjelaskan fungsi dan peran Autoloader.

Line 83-92 :
Pada baris kode ini akan terjadi proses pengolahan data konfigurasi yang pertama kali. Catatan : parameter $option harus berbentuk string, atau object Zend_Config, atau array. Jika parameter berbentuk string, maka nilai dari parameter tersebut adalah path dari file konfigurasi. File konfigurasi yang diizinkan adalah yang berekstensi .ini, .xml, .php, .inc !
Pada aplikasi web yang sedang kita jadikan contoh saat ini, file konfigurasinya adalah config.ini dan pathnya adalah 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc' (lihat artikel #2). So, nilai dari parameter $option (pada contoh ini) adalah 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc\config.ini'

Inheritance in Configuration

Saturday, April 9, 2011

PEAR : Instalasi paket via PEAR Package Manager

firman.efendi@gmail.com

Minggu lalu kita telah membahas bagaimana cara menginstall PEAR Package Manager. Dan sekarang kita akan membahas bagaimana caranya menginstall paket-paket yang tersedia di repository menggunakan PEAR Package Manager. Syarat mutlak yang harus dipenuhi pertama kali sebelum memulai installasi adalah koneksi internet. Kita perlu koneksi internet untuk mengakses server yang menjadi repository.

Server yang menjadi repository disebut juga dengan istilah Channel Server. PEAR Package Manager secara default akan merujuk ke channel pear.php.net untuk PEAR dan ke channel pecl.php.net untuk PECL (PHP Extension Community Library). Bagaimana cara melihat daftar channel server yang tersedia di PEAR Package Manager ? Yaitu dengan mengetik command line di bawah ini pada Windows Command Prompt.

C:\> pear list-channels

Dan dibawah ini adalah screenshot yang merupakan output dari command line di atas



Daftar Paket

Untuk mengetahui paket-paket apa saja yang mungkin berguna bagi anda, silahkan klik tautan ini http://pear.php.net/packages.php atau dengan cara manual, yaitu ketik command line di bawah ini

C:\> pear list-all


Installasi PHP CodeSniffer

Jika anda seorang PHP Developer yang kerjaannya sehari-hari hanya berkutat dengan kode program, maka PHP CodeSniffer adalah salah satu tools yang efektif bagi anda.

Apa itu PHP CodeSniffer ? 

Yaitu sebuah tools berbasis PHP yang akan membantu anda dalam menilai atau memeriksa apakah file PHP, CSS, dan Javascript yang anda buat telah sesuai atau belum dengan Coding Standard yang anda terapkan.

Cara menginstall PHP_CodeSniffer dengan menggunakan PEAR Package Manager, yaitu adalah dengan mengetik commande line dibawah ini pada Windows Command Prompt

C:\> pear install --alldeps PHP_CodeSniffer

--alldeps adalah sebuah opsi dimana seluruh Dependency Package akan juga ikut di-install bersamaan dengan PHP CodeSniffer. Dibawah ini adalah screenshot hasil output command line diatas.



Excellence !!! Kita telah berhasil menginstall salah satu paket yang ada di repository, tepatnya di channel server pear.php.net


UnInstallasi PHP CodeSniffer

Bilamana anda sudah merasa tidak memerlukan lagi paket yang telah anda install, maka anda bisa melakukan proses uninstallasi via PEAR Package Manager. Caranya adalah dengan mengetik command line di bawah ini pada Windows Command Prompt :

C:\> pear uninstall PHP_CodeSniffer

Di bawah ini adalah screenshot yang memperlihatkan output dari command line diatas



Untuk sementara, hanya segini yang bisa saya share ke rekan-rekan PHPer Indonesia. Semoga jayalah selalu komunitas Programmer PHP Indonesia

Saturday, March 26, 2011

PEAR : Instalasi PEAR Package Manager pada Windows Platform (Article #2)

firman.efendi@gmail.com

Untuk mengambil dan menginstall berbagai aplikasi atau library di-repository ke local computer, kita harus terlebih dahulu menginstalasi PEAR Package Manager. Sebelum saya jelaskan langkah-langkah instalasi PEAR Package Manager, alangkah baiknya jika kita memastikan terlebih dahulu apakah PEAR Package Manager telah terinstall atau belum. Pertama-tama, masuklah ke Windows Command Prompt dengan mengklik Start > Run. Lalu sebuah box akan muncul. Ketik cmd pada field Open dan klik tombol OK. Selanjutnya anda ketik command line berikut :

C:\> pear version

Jika output yang keluar adalah nomor versi PEAR seperti ilustrasi dibawah ini, maka bisa dipastikan bahwa PEAR Package Manager telah terinstall di Windows anda.


Instalasi PEAR Package Manager Step by Step
  1. Browsing file go-pear.bat di folder PHP. Jika anda menggunakan WAMP Server, coba browse folder WAMP Server tersebut, dan cari folder PHP. Ilustrasi gambar dibawah ini menunjukan file go-pear.bat ada di folder C:\php


    File go-pear.bat merupakan batch file yang bisa langsung di-eksekusi dengan cara mengklik dua kali / double click file tersebut. Setelah anda temukan, langsung saja di-eksekusi. Kemudian Windows Command Prompt akan tampil.  Seperti Ilustrasi gambar dibawah ini.
    (Klik tepat pada screen shot untuk memperbesar !!!)


  2. Selanjutnya kita diminta untuk memilih, apakah akan menginstall dari local copy atau system-wide PEAR ? Ketik system untuk pilihan system-wide PEAR atau ketik local untuk pilihan local copy. Pada tahapan ini pilihan kita adalah system-wide PEAR yaitu dengan mengetik system.

    Gambar dibawah ini adalah ilustrasi setelah opsi system di-enter.
    (Klik tepat pada screen shot untuk memperbesar !!!)


    Ada 12 file layout yang disarankan kepada kita untuk proses installasi ini. Jika anda tidak mau repot, cukup tekan ENTER, dan ikuti proses selanjutnya. Di tahap akhir, file go-pear.bat akan membuat file PEAR_ENV.reg dan menempatkannya pada folder yang sama dengan file go-pear.bat yaitu di folder C:\php

  3. Tahap akhir adalah menambahkan instalasi path pada Windows PATH environment. Ada dua cara yang bisa kita lakukan, yaitu dengan cara Manual atau dengan cara yang praktis. Kita pilih yang praktis aja, yaitu dengan cara mengeksekusi/double-click file PEAR_ENV.reg

Yupss, proses instalasi PEAR Package Manager telah selesai. Sebelum memulai menginstall package yang ada di-repository, alangkah baiknya kita cek kembali hasil instalasi PEAR Package Manager barusan. Caranya ada dua :
  1. Dengan mengetik command line berikut pada Windows Command Prompt (seperti yang saya contohkan di bagian awal artikel ini)

    C:\> pear version

  2. Atau, dengan memeriksanya di file php.ini
    Jika anda temukan konfigurasi seperti dibawah ini, berarti PEAR Package Manager telah berhasil kita instal.

    ;***** Added by go-pear
    include_path=".;C:\php\pear"
    ;*****

Hanya itu yang bisa saya share... dan masih banyak kekurangan di sana-sini. Semoga rekan-rekan PHPer Indonesia diseluruh belahan dunia ada yang berkenan menambahkan, mengkoreksi, dll. Demi komunitas PHP Indonesia yang lebih baik

To be Continued

Saturday, March 19, 2011

PEAR : Definisi dan deskripsi umum mengenai PEAR (Article #1)

firman.efendi@gmail.com

PEAR adalah singkatan dari "PHP Extension and Application Repository". Yaitu tempat dimana berbagai aplikasi dan ekstensi PHP di simpan. PEAR merupakan sebuah sistem distribusi berbagai komponen PHP yang dikembangkan oleh komunitas PHP diseluruh dunia. Anda bisa menemukan berbagai Class, Function, Aplikasi, atau Ekstensi PHP di sini.

Dari komunitas, oleh komunitas, dan untuk komunitas

Pada awalnya proyek PEAR diperkenalkan sebagai sarana bagi komunitas PHP untuk saling berbagi library dan aplikasi PHP. Filosofi dasarnya adalah dari komunitas, oleh komunitas dan untuk komunitas. Tiap-tiap developer bebas menggunakan seluruh library yang ada di-repository untuk mengembangkan sebuah library/aplikasi yang baru. Bayangkan saja jika seluruh programer di dunia berkumpul dalam satu wadah dan mereka berkarya bersama-sama, maka sudah barang tentu mereka akan menghasilkan karya yang berbobot.

Setiap developer yang ingin menyumbangkan hasil karya/proyek mereka wajib terlebih dahulu mengajukan proposal. Kemudian proposal ini akan dibaca oleh seluruh anggota komunitas. Jika proposal yang diajukan dinggap layak, maka selanjutnya akan diadakan voting. Yang berhak melakukan voting adalah seluruh developer yang terdaftar. Hasil voting akan menentukan apakah proyek anda bisa lanjut atau tidak. Proyek anda akan selalu dipantau oleh tim khusus yang menilai Quality Assurance.

Keuntungan yang bisa kita manfaatkan

Lalu apa manfaatnya bagi masyarakat dunia, khususnya developer berbasis PHP ? Sudah barang tentu banyak manfaat yang bisa kita rasakan. Kita sebagai masyarakat umum dengan adanya PEAR ini diberikan kemudahan untuk mengakses berbagai library/aplikasi berbobot besutan programer kelas dunia. Salah satu contoh aplikasi yang bisa kita ambil di-repository adalah phpDocumentor. Aplikasi ini akan memberikan kemudahan bagi para programer atau software developer dalam membuat dokumentasi. Jika anda bekerja sebagai seorang programer/software developer, maka dengan adanya aplikasi ini, urusan susun-menyusun berbagai dokumentasi menjadi lebih gampang. Entah itu menyusun manual, atau yang lain-lainnya. Tidak hanya phpDocumentor, berbagai aplikasi/library yang bermanfaat bisa anda temukan di-repository.

Beberapa aplikasi/library yang sangat bermanfaat

Untuk memanipulasi Image, anda akan jumpai :
>> Image_Barcode,  urusan membuat barcode menjadi lebih mudah
>> Image_Text,  untuk memanipulasi teks dalam gambar
>> dll

Untuk software development tools, anda akan jumpai :
>> PHPUnit, untuk memudahkan anda dalam urusan unit testing
>> dll

Hanya itu dulu yang bisa saya share... Dari segi kualitas tulisan kayaknya masih jauh, karena tulisan ini dibuat dengan terburu-buru dan tidak fokus 100%. Proses pengeditan masih belum maksimal.

Salam PHPer Indonesia,
Jayalah Bangsa dan Negara Indonesia

To be Continued

Friday, January 21, 2011

Software Testing and Quality Assurance : Menganalisa data-data sebelum merancang Test Case (Article #3)

firman.efendi@gmail.com

Agar setiap Test Case berjalan efektif dan berbiaya rendah, alangkah baiknya rancangan Test Case dibuat berdasarkan hasil analisa terhadap sumber-sumber data berikut ini:
  • Requirements and functional specifications, adalah dokumen yang berisikan daftar spesifikasi untuk aplikasi yang sedang kita kembangkan. Dokumen ini disusun pada tahap awal, biasanya sebelum proyek berjalan atau masih dalam tahap proposal dan kemudian harus ditanda-tangani oleh klien sesaat sebelum proyek resmi berjalan. Dengan memahami spek secara akurat, software tester akan dapat merancang Test Case yang lebih efektif.
  • Source code akan menjelaskan lebih mendalam actual behaviour sebuah aplikasi/software, yaitu bagaimana sih proses yang sesungguhnya terjadi untuk melakukan perhitungan 2 pangkat 2. Mulai dari deklarasi variabel, fungsi apa saja yang terlibat, jika error terjadi maka algoritma apa yang akan berjalan selanjutnya. Dengan memahami source code secara mendalam, software tester akan dapat merancang Test Case yang lebih efektif.
  • Input and output domains menjadi faktor yang diperhatikan saat ini. Dulu kebutuhan orang dalam memaanfaatkan sebuah aplikasi/software tidaklah serumit saat ini. Sehingga apa saja yang diinput oleh user tidak perlu di validasi kembali. Coba anda buka program kalkulator yang ada di windows. Lalu input 1 dibagi 0. Apa yang terjadi ??? Akan ada pesan "cannot divide by zero". Nah pertanyaan selanjutnya, apakah sistem akan membagi 1 dengan 0 terlebih dulu lalu kemudian pesan itu tampil, atau sebaliknya yaitu menampilkan pesan dulu dan tidak melanjutkan proses pembagian 1 dengan 0 ??? Saya memilih jawaban yang terakhir. Karena program kalkulator di windows akan melakukan validasi input dulu baru memproses perhitungan. Beda dengan kalkulator tukang cabe yang perhitungan tersebut akan tetap dijalankan prosesnya. Alhasil error.
  • Operational profile mengacu pada sifat dan karakteristik pengoperasian sebuah sistem/aplikasi/software. Ada user yang lebih memilih mengurus setting-an dulu, baru kemudian menggunakan fitur-fitur yang lain. Atau ada juga yang sebaliknya. Pemahaman terhadap operational profile akan menghasilkan samples of system usage yang akan menjadi panduan bagi software tester dalam memilih Test Case yang tepat.
  • Fault model adalah permodelan dalam menemukan sebuah error/fault/bugs. Permodelan ini terbentuk setelah kita mengamati beberapa fault yang terjadi pada sebuah sistem/aplikasi/software. Ada pepatah "Jadikan kesalahan masa lalu sebagai pengalaman yang berharga untuk masa depan". Pepatah ini sejalan dengan teori Fault Model. Ada 3 jenis fault-based testing yaitu error guessing, fault seeding dan mutation analysis.
Demikian yang bisa saya share kepada rekan-rekan. Tiada gading yang tak retak. Ditunggu koreksi dari anda.

Blog ini adalah milik komunitas, maka bagi siapa saja yang berniat menyumbangkan ilmunya dengan senang hati kami terima. Silahkan kirim artikel dan biodata anda dalam bentuk PDF ke firman.efendi@gmail.com.

To be Continued

    Monday, January 17, 2011

    Zend Framework : Mari membuat aplikasi web sederhana (Article #2)

    firman.efendi@gmail.com

    Untuk lebih mempermudah kita dalam memahami cara kerja Zend Framework saya ingin mengajak anda untuk mencoba membuat sebuah aplikasi web sederhana. Pola atau Pattern dalam membuat sebuah aplikasi berbeda-beda antara tiap-tiap developer. Pola atau Pattern dari aplikasi web yang saya jadikan contoh di sini belum tentu efektif bagi developer lain. Namun paling tidak, aplikasi sederhana ini bisa memberikan kemudahan bagi kita untuk mengenal Zend Framework lebih mendalam lagi.

    Baiklah, kita akan memulainya dari menjabarkan struktur folder dan file. Pada contoh ini aplikasi web diletakan pada folder root. Agar lebih fokus, tiap sub folder tidak akan dijabarkan selengkap-lengkapnya, seperlunya saja sesuai dengan tema dan judul pembahasan.

    Sekarang mari kita cermati susunan folder dan sub folder dibawah ini ! Struktur ini akan membantu kita dalam memahami source code pada file index.php

    --- htdocs
          --- application
                --- core
                --- design
                --- etc
                      --- config.ini
                --- locale
          --- cache
          --- images
          --- library
                --- Zend
                      --- Application.php
          --- js
          --- css

          --- index.php

    Folder application memiliki 4 (empat) sub folder yaitu core, design, etc, dan locale. Sub folder core menampung file-file Model dan Controller dari tiap-tiap modul. Sub folder design menampung file-file html dari tiap-tiap modul. Sub folder etc menampung file-file konfigurasi global. Sub folder locale menampung file-file localization. Data cache akan ditempatkan pada folder cache. File gambar pada folder images. File javascript pada folder js. File css pada folder css. Zend Framework dan library pendukung akan ditempatkan pada folder library.

    Selanjutnya, kita akan membuat file index.php dengan source code berikut ini :

    <?php

    define('DS', DIRECTORY_SEPARATOR);
    define('BASE_PATH', realpath(dirname(__FILE__)));
    define('APPLICATION_PATH', BASE_PATH . DS . 'application');
    define('CONFIG_PATH', APPLICATION_PATH . DS . 'etc');
    define('APPLICATION_ENV', 'production');

    require_once 'library/Zend/Application.php';

    $application = new Zend_Application(
                        APPLICATION_ENV,
                        CONFIG_PATH . DS . 'config.ini'
                   );

    $application->bootstrap()
                ->run();

    ?>

    Pertama-tama kita harus mendefinisikan beberapa variable dan path. Agar fleksibel dalam menetapkan sebuah path, sebaiknya kita menggunakan konstanta DIRECTORY_SEPARATOR sebagai format pemisah direktori. Setelah itu kita definisikan sebagai DS agar lebih singkat. Kemudian mendefinisikan BASE_PATH, APPLICATION_PATH, CONFIG_PATH dan APPLICATION_ENV. Untuk aplikasi contoh ini, APPLICATION_ENV langsung saya set menjadi "production". Bisa anda set menjadi "development" manakala aplikasi ini masih dalam tahap Pengembangan. Bisa juga di-set menjadi "testing" manakala aplikasi ini masih dalam tahap Pengujian. APPLICATION_ENV akan saya coba diskusikan lebih detail dengan teman-teman pada pembahasan Zend_Application.

    Logika untuk mendapatkan value dari definisi BASE_PATH, APPLICATION_PATH, dan CONFIG_PATH saya yakin teman-teman sudah pada mengerti konsepnya. Jika disimulasikan dari komputer saya, maka :

    DS = ‘\’
    BASE_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs’
    APPLICATION_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application’
    CONFIG_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc’

    Kita memerlukan file 'library/Zend/Application.php' agar bisa menggunakan class Zend_Application. Pertama-tama file tersebut harus di-load oleh sistem, maka pada index.php kita harus secara eksplisit menyertakannya dengan sintaks require_once. Zend_Application adalah central class dari setiap aplikasi web yang dibangun dengan Zend Framework.

    Selanjutnya yang harus kita lakukan adalah membuat sebuah Class Object yang diberi label $application. Class Object $application merupakan Class Object Zend_Application yang telah di-create dengan sintaks new.

    $application = new Zend_Application(
                       APPLICATION_ENV,
                       CONFIG_PATH . DS . 'config.ini'
                   );

    Untuk inisialisasi, Zend_Application memerlukan parameter APPLICATION_ENV dan path dari file konfigurasi global. Apa saja yang dikerjakan oleh Class Object Zend_Application pada saat inisialisasi ? Akan saya coba share di pembahasan Zend_Application.

    Kemudian Class Object $application melakukan bootstrap dan setelah itu aplikasi dijalankan (run). Apa saja yang terjadi pada saat Bootstrap dan pada saat aplikasi dijalankan? Akan saya coba share di pembahasan berikutnya. Pokoknya step by step.

    Tiada gading yang tak retak, Tiada manusia yang tak punya khilaf.

    To be continued

    Friday, January 7, 2011

    Software Testing and Quality Assurance : Apa itu Test Case ? (Article #2)

    firman.efendi@gmail.com

    Masih melanjutkan pembahasan tempo hari mengenai Software Testing , hari ini kita akan membahas mengenai Test Case. Artikel ini adalah lanjutan dari artikel sebelumnya yang berjudul Pendahuluan (Article #1).

    Pengujian Piranti Lunak diselenggarakan dalam rangka mendeteksi cacat-cacat yang mungkin ada/timbul dalam sebuah software design. Lalu bagaimanakah cara kita melihat adanya cacat dalam sebuah piranti lunak ? Caranya yaitu dengan membandingkan antara perilaku sesungguhnya (actual behavior) terhadap spesifikasi yang dibutuhkan (specific requirements) sebuah piranti lunak. Anggap kita sedang mengembangkan sebuah program kalkulator sederhana yang bisa menghitung nilai kuadrat (pangkat 2). Sesuai dengan spesifikasi, nilai 2 kuadrat (2 pangkat 2) akan menghasilkan nilai 4. Nah, berapakah hasil yang akan kita dapat ketika kita menginput angka 2 pada kalkulator ? Jika hasilnya 4, maka piranti lunak yang telah kita rancang telah bekerja secara normal sesuai dengan spesifikasi yang kita butuhkan. Akan tetapi, jika hasilnya selain 4, maka dipastikan piranti lunak anda mengandung bugs atau kesalahan algoritma.

    Contoh diatas adalah ilustrasi sederhana dari Test Case. Secara sederhana Test Case dapat didefinisikan sebagai pasangan <input dan output>. Test Case untuk aplikasi Kalkulator diatas adalah :

    <2 4>
    <3 9>
    <4 16>

    Jika kita input 2 hasilnya 4, input 3 hasilnya 9, dan terakhir input 4 hasilnya 16, maka kesimpulan yang dapat diambil dari aktivitas Software Testing yang baru saja kita kerjakan adalah program Kalkulator tersebut telah berfungsi sesuai dengan spesifikasi atau dengan kata lain "bebas bugs".

    Apa yang baru saja kita bahas adalah bentuk sederhana dari sebuah pengujian terhadap piranti lunak. Perlahan-lahan akan kita bahas secara detail baik teknis dan non teknis.

    To be continued.

    Thursday, January 6, 2011

    Zend Framework : Pendahuluan (Article #1)

    firman.efendi@gmail.com

    Zend Framework adalah sebuah framework open source yang digunakan untuk pengembangan aplikasi berbasis web. Zend Framework menggunakan PHP versi 5. Bagi anda yang terbiasa menggunakan metode Object Oriented Programming, maka Zend Framework bisa menjadi salah satu alternatif. Disamping itu Zend Framework juga menerapkan MVC (Model/View/Controller).

    Tiap komponen Zend Framework dibuat agar satu dengan yang lainnya tidak saling bergantung atau paling tidak memiliki ketergantungan yang minimum satu dengan yang lainnya. Anda bisa menggunakan sebuah komponen tanpa harus memanggil komponen yang lain. Meskipun antar komponen dapat digunakan terpisah dan berdiri sendiri, tetapi ketika mereka digabungkan tiap komponen tersebut akan mampu membentuk sebuah aplikasi berbasis web yang solid.

    Apakah anda tipikal programer PHP yang selalu menggunakan pola coding from scratch dan antipati dengan Framework? Sebaiknya anda pertimbangkan kembali untuk menggunakan Framework. Kenapa? Menurut pengalaman orang dan pengalaman saya sendiri didapati bahwa coding from scratch akan banyak menghabiskan waktu anda. Jika anda berkecimpung dalam software development, maka jangan heran seandainya keuangan anda tersendat-sendat. Loh kok bisa begitu ? iya dong, untuk mengajukan tagihan ke klien anda harus bisa memperlihatkan progress (deliverables) yang telah anda capai. Seharusnya progress yang direncanakan akan tercapai dalam sebulan, eh ternyata molor selama 3 bulan gara-gara anda masih berkutat dengan kode-kode program. Masih harus bikin library ini, library itu, function ini, function itu, yang sesungguhnya telah tersedia di sebuah Framework.

    Apa saja fitur yang bisa kita manfaatkan dari Zend Framework ? Nah nanti akan kita bahas satu per satu. Apapun kebutuhan aplikasi anda, maka anda akan dengan mudah menemukannya pada Zend Framework.

    To be continued

    Wednesday, January 5, 2011

    Software Testing and Quality Assurance : Pendahuluan (Article #1)

    firman.efendi@gmail.com

    Apa yang menjadi pertimbangan utama anda sebelum membeli sebuah produk ? Saya yakin bahwa sebagian besar dari pembaca artikel ini akan menjawab kualitas. Anda akan merasa puas manakala produk yang telah anda beli memiliki kualitas sesuai dengan yang anda harapkan. Apalagi jika anda membelinya dengan harga yang terjangkau. Setelah itu saya yakin anda akan dengan senang hati merekomendasikan produk tersebut kepada rekan-rekan anda.

    Fakta bahwa kualitas mempengaruhi keputusan pembeli sudah tentu itu disadari oleh produsen. Mereka akan berlomba-lomba meningkatkan kualitas produk untuk memperoleh market share yang lebih banyak dari pesaing. Kondisi seperti ini juga pasti berlaku di industri IT. Siapa sih yang mau memakai software yang dipenuhi bugs di sana sini ?

    Test Process Improvement dan Test Maturity Model

    Software Testing memainkan peranan penting dalam Industri IT. Keberadaanya dalam proses pengembangan piranti lunak tidak boleh diabaikan. Berapa banyak biaya yang akan dikeluarkan oleh pengembang untuk memperbaiki error, fault, dan bugs yang ditemukan pengguna. Memperbaiki bugs/error/fault yang ditemukan di fase akhir yaitu distribusi produk akan menghabiskan biaya 50x lipat bahkan lebih dibandingkan dengan perbaikan pada fase unit. Untuk meningkatkan proses/mekanisme pengujian piranti lunak agar mencapai taraf optimum, maka para peneliti dan akademisi telah mengembangkan beberapa permodelan yaitu Test Process Improvement dan Test Maturity Improvement. Kedua permodelan tersebut merupakan framework bagi para software tester dalam mengoptimumkan proses pengujian terhadap piranti lunak.

    Nah, itu dulu yang dapat saya sharing kepada rekan-rekan.  

    To be continued.