Estimasi Biaya Perangkat Lunak
Sebuah proyek dikatakan berhasil apabila sistem tersebut bisa diserahkan tepat waktu, sesuai antara biaya dan kualitas yang diinginkan. Hal tersebut menandakan bahwa apa yang ditargetkan manajer proyek telah bisa dicapat. Meski target yang dibuat manajer proyek masuk akal, tapi tidak memperhitungkan catatan level produktivitas timnya, kemungkinan tidak akan bisa memenuhi deadline dikarenakan estimasi awal yang salah. Oleh karenanya, perkiraan yang realistik menjadi kebutuhan yang sangat krusial bagi seorang manajer proyek. Beberapa kendala estimasi sangat dipengaruhi oleh karakteristik perangkat lunak (software), khususnya kompleksitas dan hal-hal lain yang tidak kasat mata. Juga kegiatan SDM yang terlibat dalam pengembangan sistem tidak bisa diperhitungkan secara pasti dengan menggunakan cara-cara yang mekanistik. Belum lagi kesulitan lain yang menghalangi keberhasilan proyek perangkat lunak, sepert :
- Aplikasi perangkat lunak yang diusulkan : beberapa proyek mirip biasanya dikembangkan berdasarkan pengalaman sebelumnya. Padahal proyek perangkat lunak memiliki sifat yang unik sehingga sering ada hal-hal yang tidak terduga dan penuh ketidakpastian.
- Perubahan teknologi : perubahan bahasa pemrograman yang digunakan bisa menghambat waktu selesainya proyek.
- Kurang homoginnya pengalaman proyek : estimasi akan efektif bila dibuat berdasarkan proyek-proyek sebelumnya, hanya saja banyak perusahaan yang menyembunyikan data proyek-proyek sebelumnya dari para staf.
- Subyektifitas estimasi : orang cenderung berlaku under-estimate terhadap kesulitan dari pekerjaan-pekerjaan kecil dan ber bertindak over-estime pada proyek-proyek besar yang dianggap lebih komplek dan sulit.
- Implikasi Politik : kelompok berbeda dalam sebuah organisasi bisa memiliki tujuan berbeda. Manajer pengembang sistem informasi mungkin akan menekan pada bagian ‘estimator’ untuk mengurangi estimasi harga berdasarkan anjuran atasannya. Sedangkan pada bagian pemeliharaan berharap tidak terjadi pembengkaan biaya dan keterlambatan waktu penyerahan agar citranya tidak jelek. Sebagai jalan tengahnya, estimasi sebaiknya dibuat oleh tim khusus yang bersifat independen dari penngguna maupun tim proyek.
A. Dimana Estimasi Dilakukan ?
Estimasi bisa dilakukan pada tahapan yang berbeda dalam proyek perangkat lunak. Namun setiap tahap memiliki alasan dan metode estimasi yang berbeda-beda. Adapun tahapan dimana estimasi bisa dilakukan, antara lain :
- Perencanaan Strategis (strategic planning)
- Studi kelayakan (feasibility study)
- Spesifikasi Sistem (system specification)
- Evaluasi proposal supplier (evaluation of supplier’ proposals)
- Perencanaan Poyek (project planning)
Dua hal yang perlu diperhatikan :
- Karena proyek sedang berjalan, akurasi estimasi harus bisa memperbaiki pengetahuan tentang peningkatan proyek aslinya.
- Pada awal proyek, kebutuhan user merupakan hal yang sangat penting, sehingga pertimbangan yang tergesa-gesa pada implementasi fisik harus dihindari.
B. Problema ‘Over-Estimate’ Dan ‘Under-Estimate’
Estimasi yang berlebihan bisa menyebabkan waktu penyelesaian proyek molor dari biasanya. Hal ini bisa dijelaskan menggunakan hukum :
- Parkinson’s Law : ‘work expands to fill the time available’. Bila staf diberi target yang mudah akan bekerja kurang keras.
- Hukum Brooks’ Law : ‘ Putting more people on a late job makes it later’. Biaya yang diperlukan untuk mewujudkan sebuah proyek akan meningkat secara tidak proporsional terhadap jumlah staf yang dipekerjakan. Bila estimasi biaya yang diperlukan berlebihan menyebabkan jumlah staf yang dialokasikan lebih banyak dari yang diperlukan dan overhead manajemen akan meningkat.
C. Dasar Estimasi Perangkat Lunak
- Kebutuhan data historis : memerlukan informasi bagaimana proyek yang telah diimplementasikan sebelumnya, terutama bahasa pemrograman dan tool yang digunakan, standar yang dipakai dan pengalaman staf.
- Metrik pekerjaan: biasanya tidak mungkin menghitung langsung harga aktual atau waktu yang diperlukan untuk merealisasikan proyek. Waktu yang dipakai untuk menulis program bisa berbeda sesuai kompetensidan pengalaman software developer. Secara praktis, untuk mengukur volume pekerjaan didasarkan pada jumlah source lines of code (SLOC) atau function points.
- Kompleksitas : Telah banyak usaha yang dilakukan untuk mengukur kompleksitas secara obyektif, namun seringkali akan tergantung penilaian subyektif estimatornya.
D. Teknik-Teknik Estimasi Biaya Perangkat Lunak
- Algorithmic models : menggunakann ‘effort driver’ yang menggambarkan karakteristik dari sistem target dan lingkungan implementasi untuk memprediksi biaya.
- Expert judgement : dimana nasehat staf yang memiliki kemampuan sangat diharapkan
- Analogy : kemiripan, kelengkapan, proyek diidentifikasi dan biaya aktualnya digunakan sebagai dasar estimasi proyek baru.
- Parkinson : mengidentifikasi kelayakan biaya staf untuk mengerjakan proyek dan menggunakannya sebagai estimasi (bukan merupakan metode prediksi biaya yang sebenarnya).
- Price to win : estimasi harus kelihatan cukup rendah untuk memenangkan kontrak.
- Top-down: keseluruhan estimasi diformulasikan untuk keseluruhan proyek yang kemudian dipecah ke dalam usaha yang diperlukan untuk komponen-komponen tugas.
- Bottom-up : komponen-komponen tugas diidentifikasi, diukur dan dilakukan estimasi sendiri-sendiri untuk kemudian dijumlahkan
Estimasi Bottom-Up
Pendekatan bottom-up memecah proyek ke dalam komponen-komponen tugasnya dan kemudian menghitung berapa banyak biaya yang diperlukan untuk menyelesaikan setiap tugas tersebut. Untuk proyek besar, proses pemecahan akan berulang hingga mendapatkan komponen yang bisa dieksekusi oleh satu orang selama 1 hingga 2 minggu. Setiap komponen tugas dianalisa hingga komponen sub tugasnya, yang menghasilkan Work Breakdown Schedule (WBS). Bagian bottom-up muncul ketika terjadi penjumlahan biaya yang dihitung dari setiap aktifitas untuk memperoleh estimasi keseluruhan. Pendekatan ini lebih cocok digunakan di bagian akhir tahap perencanaan proyek. Jika digunakan pada awal siklus proyek, beberapa karakteristik sistem final harus diasumsikan.
Pendekatan Top-Down dan Model Parametrik
Pendekatan top-down normalnya dihubungkan dengan dengan model parametric (algoritma). Biaya yang diperlukan untuk implementasi proyek akan dikaitkan terutama dengan variabel yang berhubungan karakteristik sistem final. Bentuk dari model parametrik biasanya berupa satu atau lebih formula dalam bentuk :
Effort = (system size) x (productivity rate) …….(1)
Suatu model untuk memperkirakan biaya pengembangan perangkat lunak memiliki 2 komponen utama. Pertama, metode untuk menaksir ukuran pekerjaan pengembangan perangkat lunak (software) dan menaksir laju pekerjaan yang berhasil dikerjakan. Beberapa model parametrik (seperti Function Point ) berfokus pada sistem maupun ukuran pekerjaan, sementara metode lain (seperti COCOMO) lebih berkonsentrasi pada faktor produktifitas.
E. Experd Judgement
Metode ini digunakan ketika melakukan estimasi biaya yang diperlukan untuk mengubah sebagian software yang masih eksis. Estimator akan memberikan beberapa analisis dampak berdasarkan pendapat yang proporsional dengan kode yang ditambahkan. Seseorang yang telah terbiasa dengan software tersebut yang lebih tepat untuk mengerjakannya.
F. Estimasi Dengan Analogi
Penggunaan analogi disebut juga case-based reasoning. Estimator mencari proyek-proyek yang telah selesai dikerjakan (sumber) yang memiliki karakteristik hampir sama untuk referensi proyek baru (target). Biaya yang telah dilaporkan yang sesuai dengan kasus sumber dapat dijadikan pijakan estimasi proyek target. Estimator kemudian melakukan identifikasi perbedaan sistem target dengan sumber, selanjutnya menetapkan estmasi dasar untuk menghasilakan estimasi biaya proyek baru. Masalahnya adalah bagaimana mengidentifikasi kemiripan dan perbedaan yang sesungguhnya pada aplikasi yang berbeda, khususnya bila ada banyak proyek masa lampau sebagai gambaran. Untuk mengidentifikasi sumber yang paling dekat dengan target biasanya menggunakan ukuran jarak Euclidian :
Distance = square-root of ((target_parameter1 – source_parameter1)2 + …. + (target _parametern – source_parametern)2) …….(2)
G. Albrecht Function Point Analysis
Albrecht telah melakukan investigasi terhadap produktifitas pemrograman dan diperlukan beberapa cara menghitung ukuran fungsional program yang independen terhadap bahasa pemroghraman yang telah dikodekan. Ide yang dikembangkan disebut function pont (FP). Dasar analisa function point adalah lima komponen utama (external user type) :
- External input type : transaksi input untuk meng-update file komputer internal.
- External output type : transaksi data yang di-outputkan ke user, khususnya print-out laporan dan tidak termasuk yang di-displaykan ke layar monitor (termasuk external inquiry type)
- Logical internal file type : file yang dipakai oleh sistem, berupa grup data yang biasanya dipakai bersama-sama.
- External interface file type : mengikuti input dan output yang melewatkan aplikasi dari dan ke komputer lain.
- External inquire type : transaksi yang diajukan oleh user yang memberikan informasi tetapi tidak meng-update file internal.
Analis harus mengidentifikasi setiap external user type dalam sistem yang diproyekkan. Setiap komponen kemudian diklasifikasi kompleksitasnya dalam high, average ataupun low. Setiap external user type kemudian dikalikan dengan bobot tertentu (tabel 1) untuk mendapatkan skor function point (FP) yang dijumlahkan dengan keseluruhan FP yang mengindikasikan ukuran pemrosesan informasi. Problema FP versi Albrecht bahwa pengelompokan external user type bersifat subyektif sehingga The International FP User Group (IFPUG) perlu merumuskan aturan penilaian seperti dalam tabel 2, 3 dan 4.
| No | External User Type | Multiplier | ||
| Low | Average | High | ||
| 1 | External input type | 3 | 4 | 6 |
| 2 | External output type | 4 | 5 | 7 |
| 3 | Logical internal file type | 7 | 10 | 15 |
| 4 | External interface file type | 5 | 7 | 10 |
| 5 | External inquiry type | 3 | 4 | 6 |
Tabel 1. Bobot Kompleksitas Albrecht
| No | Number of record types | Number of data types | ||
| < 20 | 20 – 50 | > 50 | ||
| 1 | 1 | Low | Low | Average |
| 2 | 2 to 5 | Low | Average | High |
| 3 | > 5 | Average | High | High |
Tabel 2 Kompleksitas Tipe File IFPUG
Eksternal IFPUG
| No | Number of file type accessed | Number of data types | ||
| < 5 | 5 to 15 | > 15 | ||
| 1 | 0 or 1 | Low | Low | Average |
| 2 | 2 | Low | Average | High |
| 3 | > 2 | Average | High | High |
Tabel 3 Kompleksitas Input
| No | Number of file type | Number of data types | ||
| < 6 | 6 – 19 | > 19 | ||
| 1 | 0 or 1 | Low | Low | Average |
| 2 | 2 or 3 | Low | Average | High |
| 3 | > 3 | Average | High | High |
Tabel 4 Kompleksitas Output Eksternal IFPUG
H. Function point Mark II
Metode Mark II mengadakan perbaikan dan penggantian metode Albrect (IFPUG). Sama seperti Albrecht, ukuran pemrosesan informasi pertama-tama diukur dalam Unadjusted Function Point (UFP) yang mana Technical Complexity Adjusment (TCA) dapat diaplikasikan. Diasumsikan bahwa, sebuah sistem informasi terdiri dari transaksi yang mempunyai struktur dasar sbb:

Gambar 1. Model Suatu Transaksi
Jika sebuah sistem informasi terdiri dari transaksi-transaksi yang memiliki struktur dasar seperti gambar 1, maka setiap transaksi UFP dihitung sbb : Wi x (number of input data element types) + We x (number of entity types referenced) + Wo x (number of output data element types) …….(3) Dimana Wi, We dan Wo adalah bobot yang diperoleh dari permintaan developer yang proporsional dengan biaya yang telah dikeluarkan proyek pengembangan software sebelumnya pada bagian tersebut yang sepakat dengan pemrosesan input, akses, modifikasi penyimpanan data dan pemrosesan output. Jika metode FP ‘Original Albrecht’ mengidentifikasi 14 faktor pengaturan kompleksitas secara teknis, Mark II menambah 5 faktor lagi, yaitu :
- Interface to other applications
- Special security features
- Direct acces for third parties
- User training features
- Documentation requirements
Jika ada gambaran besarnya biaya yang dikeluarkan pada proyek sebelumnya dan juga ukuran sistemnya (FP), maka besarnya laju produktifitas bisa dipecahkan dengan menggunakan rumus :
Productivity = size/ effort …….(4)
Untuk proyek baru , besarnya FP dapat dihitung dan kemudian biaya dapat diproyeksikan menggunakan laju produktifitas sbb :
Effort = size / productivity …….(5)
Lebih bagus lagi, jika digunakan metode statistik yang disebut least squares regression dengan menggunakan persamaan :
Effort = constant1 + (size x constant2) …….(6)
I . COSMIC Full Function Points
Penggunaan pendekatan FP efektif digunakan pada organisasi yang mempunyai akses informasi historis tentang proyek-proyek masa lampau, khusus perihal FP untuk setiap proyek dan biaya aktual yang diperlukan. Metode pendekatan seperti IFPUG cocok untuk sistem informasi, tetapi kurang membantu untuk aplikasi ukuran real-time atau aplikasi yang telah canggih, maka the Common Software Measurement Consorsium (COSMIC) memasukkan tidak hanya versi originalnya tetapi juga versi lain menjadi the COSMIC FFP method. COSMIC sepakat dengan kebutuhan analis untuk memecah arsitektur sistem ke dalam hirarki lapisan software. Komponen software diukur dan menerima permintaan layanan dari lapisan diatasnya dan bisa meminta layanan di bawahnya. Di saat yang sama, ada juga komponen software terpisah yang berada dalam level sama yang dihubungkan dalam peer-to-peer communication. Hal ini membantu identifikasi batas komponen software yang diakses, jumlah input yang diterima dan transmisi output. Input dan output dikumpulkan dalam data-group, dimana setiap group membawa item data bersama yang berkaitan dengan obyek yang sama. Grup data dapat dipindahkan lewat 4 cara ;
- Entri (E) : dipengaruhi oleh sub-proses yang memindahkan grup data ke dalam komponen software atas permintaan user di luar lingkupnya, bisa dari lapisan lain atau komponen software terpisah yang lain dalam lapisan yang sama lewat peer-to-peer communication.
- Exit (X) : dipengaruhi oleh subproses yang memindahkan grup data dari komponen software ke user yang berada di luar batasan.
- Read (R) : gerakan data yang memindahkan group data dari storage tetap ke dalam komponen software.
- Write (W) : Perpindahan data yang mentransfer group data dari komponen software ke dalam storage tetap.
Jumlah keseluruhan FFP diperoleh dari penjumlahan sederhana keempat tipe perpindahan data. Unit yang dihasilkan disebut Cfsu (COSMIC functional size units). Metode ini tidak menghitung lagi pemrosesan data yang pernah dipindahkan sekali ke komponen software.
J. Procedural Code-Oriented Approach
Pendekatan yang dibahas sebelumnya berguna pada tahap desain proyek dimana bahasa pemrograman prosedural tidak merupakan sarana utama untuk pengembangan. Bagaimanapun biaya pengembangan modul software individual bisa diestimasi menggunakan pendekatan bahasa prosedural, dengan step-step sebagai berikut :
1. Pertimbangkan jumlah dan tipe modul software dalam sistem final.
Yang paling mudah, dimana merupakan sistem konvensional yang telah dipahami secara baik. Semua sistem informasi dibangun dari satu set operasi kecil seperti Insert, Amend, Update, Display, Delete, Print. Prinsip yang sama bisa diterapkan pada sistem terintegrasi (embedded), walaupun fungsi primitifnya berbeda.
2. Estimasikan jumlah SLOC setiap program teridentifikasi.
Estimator harus memilih bahasa implementasi tertentu. Untuk menaksir jumlah instruksi menggunakan bahasa tersebut, dengan cara menggambar diagram struktur program dan memvisualisasikan berapa banyak instruksi yang diperlukan untuk implementasi setiap prosedur teridentifikasi. Estimator mungkin harus melihat program eksisting yang mempunyai kemiripan deskripsi fungsional untuk membantu proses ini.
3. Estimasikan isi pekerjaan yang dimasukkan dalam perhitungan kompleksitas dan kesulitan modul.
Prakteknya dengan mengalikan estimasi SLOC dengan faktor kompleksitas dan kesulitan teknik. Faktor ini sangat tergantung pada penilaian subyektif estimator. Pembobotan diperlukan ketika ada hal-hal yang tak bisa dipastikan, namun jangan berlebihan.
4. Hitung biaya hari kerja
Data historis dapat digunakan untuk memberi rasio bobot biaya SLOC. Faktor konversi sering didasarkan produktifitas ‘standard programmer’ (kira berpengalaman 15 – 18 bulan)
K. COCOMO (Sebuah Model Parametrik)
COnstructive COst MOdel (COCOMO) diperkenalkan oleh Boehm di akhir tahun 70-an hasil kajian dari 63 proyek. Model yang diusulkan bisa digunakan untuk aplikasi lain (selain sistem informasi). Model dasar yang digunakan mendekati persamaan berikut :
Effort = c (size)k …(7)
Dimana :
Effort : jumlah ‘person-month’ (pm)
Size : thousands of delivered source code instructions (kdsi)
COCOMO mengelompokkan sistem dan lingkungan pengembangannya menjadi 3 :
- Organic mode: apabila software dikembangkan oleh tim yang relatif kecil dalam lingkungan yang sangat familier dan ketika sistem akan dikembangkan sedikit, kebutuhan interface yang diperlukan cukup fleksibel.
- Embedded-mode : produk yang dikembangkan harus beroperasi dengan spesifikasi yang tepat dan bila terjadi perubahan sistem sangat memakan biaya.
- Semi-detached mode: kombinasi elemen organik dan embedded-mode dan memiliki karakteristik antara keduanya.
Tabel 5. Konstanta COCOMO
| System Type | c | k |
| Organic | 2,4 | 1,05 |
| Semi-detached | 3,0 | 1,12 |
| Embedded | 3,6 | 1,20 |
Karena versi pertama dianggap kurang bagus, Boehm mengembangkan COCOMO versi intermediate dengan memasukkan 15 cost driver seperti tabel 6.
| Driver Type | Code | Cost Driver |
| Product attributes | RELY | Required software reliability |
| DATA | Database size | |
| CPLX | Product complexity | |
| Computer attributes | TIME | Execution time constraints |
| STOR | Main storage constraints | |
| VIRT | Virtual machine volatile-degree to which the operating system changes | |
| TURN | Computer turnaround time | |
| Personnel attributes | ACAP | Analyst capability |
| AEXP | Application experience | |
| PCAP | Programmer capability | |
| VEXP | Virtual machine volatility (missal : OS) experience | |
| LEXP | Programming language experience | |
| Project attributes | MODP | Use of modern programming practices |
| TOOL | Use of software tools | |
| SCED | Required development schedule |
Tabel 6. COCOMO81 Intermediate Cost Drivers Pada model intermediate, estimasi biaya nominal (pmnom) diturunkan sama dengan pada model dasar (basic). Sedangkan estimasi nominal kemudian diatur dengan pengali biaya pengembangan (dem) sehingga rumus pmest menjadi :
(pmest) = (pmest) x (dem) ….(8)
dimana dem dihitung dari bobot pengali berdasarkan biaya effort driver (tabel 6). Model COCOMO sendiri terus dikembangkan, yang terbaru disebut model COCOMO II. Mengingat estimasi diperlukan pada tahapan yang berbeda-beda dalam siklus hidup sistem, maka COCOMO II telah didesain untuk mengakomodasi hal tersebut dengan menyiapkan model untuk tiga tahapan yang berbeda :
- Komposisi Aplikasi (application composition)
Fitur eksternal dari sistem yang diperlukan oleh pengguna didesain. Prototipe yang khas akan digunakan untuk mengerjakannya. Dengan aplikasi kecil yang dapat dibangun menggunakan application building tool, pengembangan dapat berhenti pada poin ini.
- Desain awal (early design)
Struktur software dasar didesain. Dengan meluasnya permintaan, misalnya adanya peningkatan volume transaksi dan unjuk kerja menjadi penting, perhatian yang cermat perlu diberikan untuk arsitektur yang diadopsi.
- Arsitektur akhir (Post architecture)
Struktur software mendekati struktur final, modifikasi dan pengaturan untuk memperbaiki sistem seperti yang diinginkan masih dimungkinkan.
Estimasi biaya untuk komposisi aplikasi, jumlah poin obyek direkomendasi oleh pengembang COCOMO II. Hal ini mengikuti pendekatan function point dari perhitungan fitur nyata eksternal dari software. Hal ini berbeda dengan fokus pada fitur aplikasi fisik, seperti layar dan laporan dari pada fitur logikal seperti tipe-tipe entitas. Pada tahap desain awal, function point direkomendasi sebagai cara pengukuran ukuran sistem dasar. Sebuah FP mungkin dikonversikan ke dalam ekuivalen LOC dengan mengalikan FP dengan sebuah faktor untuk bahasa pemrograman yang diogunakan. Model berikut dapat digunakan untuk menghitung estimasi person-month :
Pm = A (size) (sf) x (em1) x (em2) x … x (emn) ……(9)
Dimana :
pm : biaya dalam ‘person-month’
A : konstanta
Size : jumlah FP (kdsi)
sf : eksponen faktor skala
Sedangkan faktor skala diturunkan dari rumus berikut :
sf = 1,01 + 0,01 x ∑ (exponent driver ratings) ……(10)
Kenyataannya bahwa faktor-faktor yang digunakan untuk menghitung sebuah eksponen menunjukkan rendahnya kualitas akan meningkatkan biaya yang diperlukan tidak proporsional lebih besar pada proyek yang lebih luas.
- Precedentedness : Menunjukkan derajat lebih diutamakan, mirip dengan kasus masa lalu, untuk proyek yang sedang direncanakan. Makin banyak hal-hal baru pada sistem baru, makin besar ketidakpastian dan semakin tinggi nilai yang diberikan exponent driver.
- Development flexibility : Menunjukkan derajat dimana kebutuhan dapat ditentukan dalam banyak cara yang berbeda. Hal ini kurang fleksibel dan semakin tinggi nilai exponent driver.
- Architecture/risk resolution : Berkaitan dengan derajat ketidakpastian tentang kebutuhan. Jika ada yang tidak meyakinkan (tidak tepat) dan dimungkinkan berubah maka besarnya exponent driver bernilai tinggi.
- Team cohesion : Memperlihatkan kondisi dimana semakin banyak tim yang dibubarkan karena bertentangan dengan tim yang yang kaitannya erat sekali.
- Process maturity : Makin terstruktur dan terorganisasi software yang dihasilkan, makin rendah ketidakpastian dan makin rendah pula rating untuk exponent driver. Dalam model COCOMO II, pengali biaya (em) sama dengan pengali biaya pengembangan (dem) yang digunakan dalam original-COCOMO. Ada 7 pengali yang relevan dengan desain awal dan kemudian menjadi 16 yang dapat digunakan pada arsitektur akhirnya.
Tabel 7. COCOMO II Early Design Effort Multipliers
| No | Code | Effort Modifier |
| 1 | RCPX | Product reliability and complexity |
| 2 | RUSE | Required reusability |
| 3 | PDIF | Platform difficulty |
| 4 | PERS | Personnel capability |
| 5 | PREX | Personnel experience |
| 6 | FCIL | Facilities available |
| 7 | SCED | Schedule pressure |
Tabel 8. COCOMO II Post Architecture Effort Multipliers
| Modifier Type | Code | Effort Modifier |
| Product Attributes | RELY | Required software reliability |
| DATA | Database size | |
| DOCU | Documentation match to life-cycle needs | |
| CPLX | Product complexity | |
| REUSE | Required reuseability | |
| Platform Attributes | TIME | Execution time constraint |
| STOR | Main storage constraint | |
| PVOL | Platform volatility | |
| Personnel Attributes | ACAP | Analyst capabilities |
| AEXP | Application experience | |
| PCAP | Programmer capabilities | |
| PEXP | Platform experience | |
| LEXP | Programming language experience | |
| PCON | Personnel continuity | |
| Project Attributes | TOOL | Use of software tools |
| SITE | Multisite development | |
| SCED | Schedule pressure |
Sama seperti COCOMO Intermediate (COCOMO81), masing-masing sub katagori bisa digunakan untuk aplikasi tertentu pada kondisi very low, low, manual, nominal, high maupun very high. Masing-masing kondisi memiliki nilai bobot tertentu. Nilai yang lebih besar dari 1 menunjukkan usaha pengembangan yang meningkat, sedangkan nilai di bawah 1 menyebabkan usaha yang menurun. Kondisi Laju nominal (1) berarti bobot pengali tidak berpengaruh pada estimasi. Maksud dari bobot yang digunakan dalam COCOMO II, harus dimasukkan dan direfisikan di kemudian hari sebagai detail dari proyek aktual yang ditambahkan dalam database.
Menggunakan CMS atau Framework?
Saya termasuk orang yang mengembangkan website tanpa pernah membuatnya dari nol. Maksudnya, saya tidak membuat komponen dari website itu secara manual satu demi satu. Mulai dari arsitektur website, komponen modul, file uploader, user access, image manager, dll. Biasanya semua dilakukan dengan menggunakan CMS yang OpenSource, seperti WordPress dan Drupal (jaman dulu juga termasuk PHPNuke). Biasanya memang saya melakukan modifikasi disana – sini agar website ini bisa bekerja sesuai keinginan. Umumnya akhirnya website tersebut akhirnya bisa berjalan sesuai harapan.
Tetapi kemudian datang masalah seperti berikut ini :
- Website tersebut membutuhkan galery foto dengan fasilitas slideshow.
- Website tersebut membutuhkan katalog produk.
- Website tersebut ingin mengimplementasikan fasilitas social network.
- Website itu ingin menyediakan fasilitas bagi membernya untuk bisa mengupload file MP3. Dan tiap member nantinya bisa mengatur level akses terhadap file MP3 yang dia upload.
- Website tersebut ingin mempunyai form yang terintegrasi untuk arsip wawancara.
- dll
Jika saya menggunakan CMS seperti Drupal. Mungkin hal ini masih bisa ditangani dengan ketersediaan modulnya yang sangat banyak. Atau jika memang modulnya belum tersedia, kita bisa membuat sendiri. Selain itu jika kurang puas, kita masih bisa melakukan oprek lebih dalam dengan menggunakan API yang disediakan Drupal. Dengan tujuan agar website ini sesuai dengan apa yang kita inginkan.
Tetapi, hal ini bisa jadi merupakan masalah baru. Tentunya kadangkala hal ini bisa menjadi solusi untuk satu masalah tetapi bukan tidak jarang malah menimbulkan masalah baru. Beberapa skenario yang sering terjadi :
- Modul untuk CMS tersedia. Tetapi ada bagian yang tidak sesuai, bahkan mungkin ada bagian yang akhirnya malah terasa mengganggu. Misal modul e-commerce dari Drupal menyediakan begitu banyak fasilitas yang pada kenyataannya tidak saya butuhkan. Sedangkan untuk beberapa bagian justru masih belum sesuai harapan. Dan untuk bisa merubah modul ini, kita harus memahami hampir kesuluruhan struktur modul ini. Ditambah pengetahuan tentang API dari Drupal.
- Terlalu banyak pilihan modul. Misal modul untuk upload gambar di Drupal. Secara default tidak ada. Kita masih bisa menginstal modul tambahan, sehingga nantinya upload gambar di Drupal akan semudah di WordPress. Tetapi ketika sampai di tahap theming, saya menyadari bahwa field untuk gambar hasil upload modul tersebut tidak bisa diakse langsung. Berbeda dengan image yang diupload menggunakan bantuan module Image Field (CCK).
- Dengan API yang disediakan, kadangkala kita masih membutuhkan pengetahuan tentang API lain. Dan pada akhirnya mau tidak mau saya harus mempelajari banyak API, hanya untuk mengetahui bagian mana dari API ini yang tepat untuk solusi masalah saya.
- Salah satu hal yang paling sulit adalah merubah alur kerja dari website ini. Misal jika user ingin register, tidaklah langsung ditampilkan ke halaman register, tetapi harus melalui satu halaman polling terlebih dahulu. Untuk bisa mengimplementasikan ini, secara tidak langsung kita harus tahu alur kerja (workflow) dari CMS yang kita gunakan.
- Butuh field yang custom untuk tiap post (tidak hanya field TITLE dan POST saja). Secara default WordPress menyediakan fasilitas Custom Fields, tetapi penggunaannya masih belum senyaman CCK di Drupal. Untuk itu harus dibuat modul sendiri.
- dll
Jika memang akhirnya saya ingin menjadi ahli dari CMS tersebut, saya rasa tidak masalah untuk mengikuti solusi yang saya berikan di atas. Tetapi jika saya hanya ingin menggunakan CMS ini sebagai bantuan, sepertinya effort nya terlalu besar.
Bahkan tidak jarang saya merasa, ketika mempelajari semua API, hook, templating, konvensi, dll dari suatu CMS, effortnya mungkin sama besarnya dengan jika saya membangun website tersebut dari nol.
Jadi apakah akhirnya membuat CMS dari nol?
Tidak. Bagi saya tetap tidak. Karena ada beberapa kemudahan di CMS yang tidak saya dapatkan jika saya harus membangun dari nol. Saya harus membangun kerangka / arsitektur dari website tersebut. Dan cukup banyak pula waktu yang tersita untuk membangunnya.
Jadi apa solusinya?
Framework. Bagi saya solusi di tengah – tengahnya adalah framework. Framework menjadi solusi yang tepat jika saya ingin mengembangkan website yang berbasis konten, tetapi dengan beberapa fasilitas yang tidak umum (seperti kasus di atas tadi). Dengan framework yang tepat, saya bisa membuat API saya sendiri, tetap mendapatkan fasilitas templating secara default, fasilitas layering untuk database, dan salah satu yang paling saya sukai adalah fasilitas URL Friendly secara default. Saya tidak tahu apakah semua framework menyediakan fasilitas tersebut, tetapi yang jelas Framework yang saya pakai (CodeIgniter) menggunakannya.
Pilihan framework yang cukup terkenal :
- Prado – PHP (contoh : website Univertias Indonesia) : Kalau tidak salah ini seperti menjadi ASP.Net pada PHP
- CodeIgniter – PHP(contoh : OkeZone.com), Jujur saja, saya tahu CodeIgniter dari situs OkeZone ini, dan sampai saat ini paling nyaman menggunakan ini, karena framework ini terdokumentasi dengan baik.
- Ruby On Rails – Ruby (contoh : SharingFoto.com) : Situs ini diklaim sebagai web aplikasi pertama di Indonesia yang menggunakan Ruby On Rails.
- CakePHP – PHP (contoh : OwnCafe.com) : Salah seorang yang sangat aktif dalam edukasi CakePHP di Indonesia adalah Sunu Wibirama (alumni Teknik Elektro UGM). Situs lokal cake-php bisa dilihat di idcake.web.id
- Symfony (PHP), Django (Python), dll
Saya sendiri masih penasaran dan menantikan Mambo CMS versi 5.0 yang akan menggunakan CakePHP sebagai basisnya. Dengan kondisi seperti itu, maka level kustomisasi bisa dilakukan dari tingkat yang paling dasar (langsung menggunakan framework),di lapis tengah (modul), maupun lapis akhir (theming).
Jika ada yang tertarik dengan framework – framework di atas, jangan lupa pahami satu istilah ini : MVC (Model View Controller)
source: http://okto.silaban.net/2008/02/website/menggunakan-cms-atau-framework/
Smart Segera Luncurkan BlackBerry CDMA
VIVAnews – Tersembunyi dari hingar bingar dan gegap gempita pembicaraan orang tentang perangkat RIM anyar BlackBerry Gemini, ternyata operator CDMA milik kelompok Sinar Mas, Smart, juga akan segera meluncurkan perangkat dan layanan BlackBerry CDMA pertama di Indonesia.
Informasi ini diketahui VIVAnews yang sempat memergoki kegiatan pemasaran secara terbatas di sekitar wilayah Kebagusan Jakarta Selatan. Beberapa tenaga pemasaran Smart dipergoki sedang membagikan flyer-flyer handset BlackBerry yang bakal dilansir dalam waktu dekat.
Namun demikian, saat dikonfirmasi, Head of VAS & Business Development Smart Telecom Tom Alamas Dinharsa mengunci mulutnya rapat-rapat. “Kami belum bisa mengeluarkan keterangan resmi apa-apa terkait peluncuran BlackBerry CDMA,” ujar Tom kepada VIVAnews, Senin 26 Oktober 2009.
Tom mengakui, sejauh ini Smart telah melakukan ujicoba BlackBerry CDMA di jaringannya. Bahkan, lebih jauh dari itu, Smart masih menunggu persetujuan dari pemerintah. “Seperti yang diketahui, semuanya harus memenuhi uji kelayakan dan beberapa persyaratan lainnya,” Tom menandaskan.
Sayangnya, Tom mengaku tak bisa memaparkan informasi lebih jauh. “Maaf, RIM (vendor pembuat perangkat BlackBerry asal Kanada – red) tidak memberi kita keleluasaan untuk berbicara banyak tentang BlackBerry. Nanti, saya baru bisa berbicara banyak setelah diluncurkan,” ujar Tom.
Dari informasi yang didapatkan VIVAnews, langkah Smart kali ini tak main-main, mereka langsung melansir 4 model BlackBerry anyar. Yakni Curve 8330, Curve 8830, Storm 9530, dan Tour 9630.
BlackBerry Curve 8330 yang akan dilempar Smart adalah ponsel CDMA yang bekerja di pita frekuensi 800/1900 MHz dan mampu mengadopsi teknologi EvDO (Evolution Data Optimazed), selain teknologi CDMA 2000 1x. EvDO adalah teknologi generasi ketiga CDMA dengan kecepatan akses maksimum di atas 2 Mbps.
Tak hanya itu, ponsel ini juga menyediakan koneksi Bluetooth dan GPS namun tanpa WiFi. Ponsel ini rencananya dijual tanpa slot UIM card (inject), dan dikunci hanya untuk pelanggan Smart. Kemungkinan ponsel ini bakal dibanderol seharga Rp 2,9 juta.
Adapun Curve 8830 adalah salah satu ponsel full QWERTY dari RIM yang paling ringan dan mungil. Keunggulannya, ia bisa beroperasi di dua jaringan, yakni GSM dan CDMA 2000 1x, yang bisa digunakan secara bergantian (tidak dual stand-by). 
Selain itu ia menyediakan koneksi Bluetooth dan GPS, serta memiliki layar resolusi tinggi dan kemampuan berfungsi sebagai modem (misalnya untuk laptop). Ia hanya menyediakan slot SIM card GSM, dan tidak menyediakan slot UIM card (inject) yang dikunci hanya untuk pelanggan Smart. Kemungkinan, model ini dijual sekitar Rp 3,3 juta.
Sementara Storm 9530 adalah ponsel BlackBerry dual mode (GSM dan CDMA) pertama yang menggunakan antarmuka sentuhan jari. Seperti halnya model Storm untuk GSM, ponsel pintar yang dilengkapi dengan kamera 3,2 megapiksel.
Belum jelas apakah ia sudah memiliki koneksi WiFi serta mendukung Bluetooth dan GPS. Seperti halnya Curve 8830, ia juga hanya menyediakan slot bagi SIM card dan mengunci kartu CDMA pengguna hanya untuk pelanggan Smart. Ia kemungkinan akan dibanderol sebesar Rp 5,5 juta.
Yang terakhir, Tour 9630 adalah ponsel yang beroperasi di jaringan quadband GSM/GPRS/EDGE dan dual band UMTS/ HSPA, sekaligus single band CDMA/ EvDO. Ia dilengkapi dengan kamera 3,2 megapiksel, koneksi Bluetooth, GPS, dan media player.
Seperti halnya Storm 9530, ia juga hanya menyediakan slot SIM card, tanpa kartu UIM (nomor CDMA diinject). Menurut desas-desus, SMart telah menyetok keempat jenis perangkat BlackBerry ini hingg berjumlah 20 ribu unit.
Padahal, sebelumnya Smart terlihat tak begitu optimis dengan potensi pasar BlackBerry CDMA. Tapi ternyata operator tersebut kemungkinan besar bakal segera “memboyong” layanan BlackBerry CDMA ke Indonesia.
Tips & Trik Mencegah Blacklist kaspersky!
Seperti yang kita tau salah satu hal yang menggangu klo kita pakai kaspersky bajakan adalah adalah blacklist (hayoooo!!) nah daripada kita pusing nyari key di sana sini yang bikin kita pusing dan ngabisin banyak waktu nih gw punya trik gmn cara memperpanjang masa aktif kaspersky mau tau???
Sebenarnya cara ini prinsipnya sangat sederhana dimana kita berusaha memperpanjang masa trial (udah kepikiran lum caranya?) masih lum tau??? gini lho khan tiap kita insatal kaspersky pertama kali khan ada pilihan trial 30 hari tuh… nah kita pakai aja tuh lisensinya yang trial (lho kok???) iya lisensi yang trial itu RESMI dari kasperskynya jadi selama 30 hari kita bisa update downloadannya gitu trus??? kelanjutannya gmn? (eitttssss sabar dunk!! hehehe peace) nah tips and trik yang gw kasih disini adalah menghapus jejak dalam registry komputer kita…
nah apalagi tuh registry?? registry itu adalah “suatu tempat” meletakkan semua ID (pengenal) program dan sistem operasi kita atau bahasa gampangnya databasenya gitu lah heheh~~~ jadi setiap ada program baru yang diinstal harus terdaftar di registry windows dulu klo gak ya gak bakalan jalan tuh program (*v*)
WOIII!! mana triknya?? kelamaan nih! (HUUUU!!!)
iya nih gw kasih tau caranya (daripada ditimpukin massa)gini caranya dengan menggunakan program penghapus jejak registry kita. Banyak kok jenisnya bisa pake Tune-up utilities, advance system optimizer, registri cleaner dan masih banyak lagi lah..
setelah masa 30 hari kita abis (trialnya abis) jangan lupa sehari sebelum masa aktif abis download dulu update terbarunya. penjelasan tentang update manual ada disini. setelah kita mengupdate yang terakhir sebelum kaspersky kita abis masa aktifnya ente uninstal dah tuh kaspersky (inget folder updatennya jangan lupa diletakkan dimana buat update kita nanti klo udah instal lagi)
abis gitu pakai dah program penghilang jejak di registry tersebut seperti yang gw tulis di atas, klo udah bersih jejak registrynya instal lagi deh tuh kaspersky dan kita dapat 30 hari lagi khan lisensinya… RESMI PULA jadi gak takut kena blacklist hehehe buat program penghilang jejak registry nih gw kasih dah hahaha!!
Speed Optimizer
DOWNLOAD DISINI
http://ad4msan.blogspot.com/2009/05/tips-and-trik-mencegah-blacklist.html
Kaspersky Internet Security 2010 V.9.0.0.459 – Full Version
Kaspersky telah merilis bersi terbarunya yaitu Kaspersky Anti Virus 2010 dan Kaspersky Internet Security 2010 . Kaspersky sebagai salah satu Program Anti Virus kini makin meyakinkan dan terkenal ketangguhannya untuk melindungi komputer kita.
Kaspersky dalam mengeluarkan produknya juga terbagi2 tergantung kebutuhan user. Kaspersky Internet Security lebih ditujukan untuk user (profesional) yang sering beraktivitas di internet, untuk mengamankan malicious code, adware, spyware, hacker attacks, dialers, spam and network fraud. Lalu ada Kaspersky Anti Virus, dan Kaspersky Mobile Security (untuk mobile).
Pada postingan ini saya akan memberikan anda Kaspersky Internet Security 2010 V.9.0.0.459 lengkap dengan key file yang di situs resminya dihargai beberapa puluh dollar, Kaspersky Internet Secuirty (KIS) sedikit lebih mahal dari Kaspersky Anti Virus (KAV) 2010. Kaspersky Internet Security 2009 sangat cocok digunakan untuk computer/laptop yang sering terhubung ke Internet. Karena ketika kita mengakses internet tentu akan terdapat banyak celah yang bisa masuk kekomputer kita dan menebarkan virus, trojan, malware, adware dan file-file berbahaya lainnya.

Kaspersky Internet Security 2010 kini hadir dengan tampilan yang baru, makin ringan dan mudah untuk digunakan. Selain ampuh untuk melindungi dan membasmi virus-virus, worms, trojan, adware, spyware, Pada KIS 2010 juga terdapat Online Security (Anti Pishing). Kemudian terdapat fitur “safer Wi-FI Connections” yang dapat mencegah orang lain menyusup ke komputer kita melalui jaringan Wi-Fi.

Kemudian terdapat sebuah fitur baru “Virtual Keyboard”, dengan fungsi ini kita dapat memasukkan sebuah account dan password untuk login dengan lebih aman dari browser. Virtual Keyboard terdapat pada ujung sebelah kanan halaman browser. Untuk lebih jelas dan melihat secara lengkap apa saja kelebihan yang terdapat pada Kaspersky Internet Security 2010 lihat descriptionnya dibawah ini.
Kaspersky Internet Security 2009 All Features :
Fully Automated Real-Time Protection
Kaspersky Internet Security 2010 stops your PC being slowed down by cybercriminals and delivers unsurpassed on-line safety whilst protecting your files, music and photos from hackers:
- Keeps your money and identity safe
- Protects against bank account fraud
- Safeguards against online shopping threats
- Cybercriminals won’t hi-jack your PC
- Family protection from on-line predators
- Your files won’t be ruined by hackers
- Keeps your PC running smoothly
- Safer Wi-Fi connections
- Two way personal firewall
New And Improved Features
Kaspersky Internet Security 2010 offers a number of new and improved features together with unique protection technologies to address the latest online threats, keep your PC running smoothly and customize protection according to your activities:
- Unique Safe Run Mode for questionable applications and websites
- Security Application Monitor to give you full picture on programs installed on your PC
- Identity Information Controller to give valuable data an extra layer of protection
- Kaspersky Toolbar for Internet browsers to warn you about infected or unsafe websites
- Advanced identity theft protection, including improved secure Virtual Keyboard
- Urgent Detection System to stop fast emerging threats
- Next generation proactive protection from zero-day attacks and unknown threats
- Special Game Mode to suspend alerts, updates and scans while you play

Advanced Features For Better Protection
Kaspersky Internet Security 2010 has a range of unique tools for heightened security. Protecting your family and keeping your PC healthy:
- Run questionable applications and websites in Safe Run Mode
- Enter logins and passwords using secure Virtual Keyboard
- Enable Parental Control for added child safety online
- Turn on Game Mode to suspend alerts, updates and scans
- Add folders and files with valuable data to the protected area
- Scan system and installed applications for vulnerabilities
- View applications working on your PC and customize their rules
- Tune up your OS and Internet browser settings for better security
- Restore correct system settings after malware removal
- Burn a Rescue CD to restore your system in case of infection
- Remove activity traces in your Internet browser (history, cookies, etc.)
Get Protection From a Range of Threats :
Award-winning technologies in Kaspersky Internet Security 2010 protect you from cybercrime and a wide range of IT threats :
- Viruses, Trojans, worms and other malware, spyware and adware
- Rootkits, bootkits and other complex threats
- Identity theft by keyloggers, screen capture malware or phishing scams
- Botnets and various illegal methods of taking control of your PC
- Zero-day attacks, new fast emerging and unknown threats
- Drive-by download infections, network attacks and intrusions
- Unwanted, offensive web content and spam
Disini saya juga akan memberikan file keysnya, jadi Kaspersky anda akan menjadi Full Version

Petunjuk Install :
Setelah anda download. Kemudian Install pada file kis9.0.0.459EN.exe . Sebelumnya jangan lupa untuk menguninstall anti virus lama anda. Setelah proses install KAV selesai nanti akan diminta untuk proses registrasi. Pilih saja pada pilihan : Activate Later . Untuk menjadikanya Full Version dengan Key File yang dapat anda download pada link dibawah, dan baca Petunjuk Lengkapnya Disini
Download : Kaspersky Internet Security 2010
Download : Key File KIS 2010
Lima langkah membuat efektif keyword

Rieset keyword adalah sesuatu aspek yang vital dari perencanaan Search Engine Optimizaton, jika situs anda memasang keyword yang salah, search engine dan customer anda tidak akan menemukan website anda
Proses riset keyword dapat di jabarkan dalam beberapa poin berikut ini:
1 ? Ciptakan Daftar Keyword dan Cek Daftar Tersebut 2x
2 ? Gunakan Tool Riset Keyword
3 ? Pastikan Daftar Keyword Anda Sekali Lagi
4 ? Rencanakan Langkah Anda
5 ? Submit ke Search Engine
Penjelasan:
1 ? Ciptakan Daftar Keyword dan Cek Daftar Tersebut 2x
Langkah pertama dalam proses adalah membuat daftar potensial keyword. Pikirkan semua kata-kata yang akan di ketikkan visitor dalam kotak search google atau search engine lainnya untuk menemukan website anda
contoh “tutorial photoshop” atau “laptop murah”
2 ? Gunakan Tool Riset Keyword
Dalam hal ini kita ambil contoh kita hendak memasang keyword “tutorial photoshop”, sebelumnya kita tidak tahu berapa nilai persainganm, dari keyword “tutorial photoshop” tersebut, semakin tinggi nilai persaingan maka semakin banyak visitor mencari keyword tersebut.
Contoh:
Perbandingan dan Nilai persaingan
tutorial photoshop 50
belajar photoshop 20
maka orang lebih suka mencari keyword “tutorial photoshop” daripada “belajar photoshop”
Nah dalam mencari perbandingan nilai keyword kita dapat menggunakan beberapa tool yang tersedia di internet, ada yang gratis dan ada yang bayar, diantaranya:
Overture Keyword Selector Tool (Gratis):
http://inventory.overture.com/d/searchinventory/suggestion/
Overture selain menunjukkan persaingan keyword, dia juga menampilkan kombinasi frase-frase keyword terkait
hal ini cocok untuk mencari “Niche Market”
Wordtracker: – tool bagus, tapi untuk versi gratisnya dia hanya menampilkan Search Result MSN,
http://www.wordtracker.com/
Google AdWords Keyword Tool:
https://adwords.google.com/select/KeywordToolExternal
Bagi yang ingin memasang Adwords anda bisa mengetahui harga keyword di sini
3 ? Pastikan Daftar Keyword Anda Sekali Lagi
Dibagian ini anda tahu sendiri apa yang harus nya di lakukan, apakah memilih keyword yang mempunyai persaingan tinggi atau persaingan rendah (Niche market)
Contoh:
Perbandingan dan Nilai persaingan
tutorial photoshop 50
belajar photoshop 20
Disini terserah, anda pilih menggunakan keyword yang mana
=> Jika anda menggunakan keyword yang mempunyai persaingan tinggi, maka untuk mengimbanginya website anda harus ber-pagerank tinggi pula
=> Jika anda menggunakan keyword yang mempunyai persaingan rendah (Niche Market), maka website anda dapat dengan mudah meraih Ranking #1 di Google
4 ? Rencanakan Langkah Anda
Siapkan langkah anda dan pasang keyword-keyword tersebut pada:
# Title Tag <title>
# Meta Description Tags <meta decscription=>
# Meta Keywords Tag <meta keyword=>
# Headings <h1> <h2>
# Alt text <alt>
# Anchor Text/ Navigational Links <a href=> keyword </a>
5 ? Submit ke Search Engine
Anda bisa mensubmit website anda ke Google di : www.google.com/addurl dan Yahoo
jQuery Ajax Display Untuk Loading Content

jQuery merupakan sebuahlibrary javascript yg saat pertama kali muncul langsung berimbas padaberalihnya para developper untuk segera memanfaatkan nya sebagai library yang powerfull untuk menyaingi ajax. Awal muncul nya sempatmembuat ajax hanya mendapat hitungan jari kelingking dari paradevelopper. Karena seperti motto jQuery sendiri adalah “Write Less, Do More”. Wah pantes aja posisi ajax langsung ketendang.
Berikutadalah tutorial sederhana cara mengimplementasikan jQuery sebagailibrary yang powerfull, dapat menciptakan interaktif user pada halamanwebsite lu
)
Sebelumnya download dlu library nya:
jQuery 1.2.6 {The Latest Release}
jQuery Ajax Display for Loading Content
Siapkan HTML kosong bwat halaman utama, pada header panggil dlu library jQuery na:
- Code:
- <script language=”javascript” src=”/jquery-1.2.6.min.js”></script>
untuk interaktif user na, gunakan Ajax jQuery Animation, atau dalam code na dinamakan sebagai AJAX DISPLAY
- Code:
- <script language=”javascript”>
//show animation
$(function(){
$(“#ajax_display”).ajaxStart(function(){
$(this).html(<div style=”position:absolute;”><imgsrc=”/ajax-loader-refresh.gif”/> <br><strong>Loading….</strong><br><br>Pleasebe patien, do not close the window. <br>Gathering data beingprogress …</div>);
});
$(“#ajax_display”).ajaxSuccess(function(){
$(this).html();
});
$(“#ajax_display”).ajaxError(function(url){
alert(jqSajax is error );
});
});
</script>
Sedangkanuntuk simulasi load external file na, gw pake script random padalibrary jQuery, script ini gw temukan di salah satu forum luar, gw lupanama forum na, mudah2an berguna bwat kalian:
- Code:
- <script type=”text/javascript”>
function getRandom() {
$(“#random”).hide(“slow”);
$(“#random”).load(“sleep.php”, , callback);
}
function callback() {
$(“#random”).show(“slow”);
setTimeout(“getRandom();”, 10000);
}
$(document).ready(getRandom);
</script>
<div id=”random”></div>
“sleep.php”adalah file external yang diload oleh javascript random, dengan timeout10000 (10 detik). Timeout berarti, setelah 10 detik halaman akan diload ulang dari awal kembali (setelah 10 detik).
sleep.php berisi script yg akan di load, lu bisa isi apa aja seperti contoh code dibawah ini untuk simulasi gw kasiin sleep(10)
- Code:
- <?
sleep(10);
echo “<span style=font-weight:bold;font-color:green;> All Data loaded successfully !!</span>”;
?>
Jadi untuk lengkapna, berikut code HTML na:
- Code:
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>jQuery Ajax Display</title>
<script language=”javascript” src=”/jquery-1.2.6.min.js”></script>
<script language=”javascript”>
//show animation
$(function(){
$(“#ajax_display”).ajaxStart(function(){
$(this).html(<div style=”position:absolute;”><imgsrc=”/ajax-loader-refresh.gif”/> <br><strong>Loading….</strong><br><br>Pleasebe patien, do not close the window. <br>Gathering data beingprogress …</div>);
});
$(“#ajax_display”).ajaxSuccess(function(){
$(this).html();
});
$(“#ajax_display”).ajaxError(function(url){
alert(jqSajax is error );
});
});
</script><style type=”text/css”>
<!–
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
}
body {
background-color: #FFFFFF;
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
a:link {
color: #0066FF;
}
a:visited {
color: #0066FF;
}
a:hover {
color: #009900;
}
a:active {
color: #0066FF;
}
–>
</style></head><body>
<div id=”ajax_display”></div>
<div style=”position:absolute; top:100px;”>
<script type=”text/javascript”>
function getRandom() {
$(“#random”).hide(“slow”);
$(“#random”).load(“sleep.php”, , callback);
}
function callback() {
$(“#random”).show(“slow”);
setTimeout(“getRandom();”, 10000);
}
$(document).ready(getRandom);
</script>
<div id=”random”></div>
This is an Implementation for jQuery Ajax Display, while loading a progress from an external source.<br />
developped by <a href=”http://dremi.info” target=”_blank”>dr.emi</a></div>
</body>
</html>
woke, siap dicoba, klik disini bwat preview hasil na:
ni bwat download code na:
Langkah-Langkah Sederhana Mengantisipasi Virus
Ciri-ciri file yang patut dicuragai terkena virus adalah sebagai berikut:
- Ber-icon folder tetapi mempunyai ekstensi misalnya *.exe atau *.scr dan mempunyai size apabila dilihat dengan tampilan Details. Untuk melihat details pada Explorer klik View>Details.
- Mempunyai nama yang mirip dengan nama file atau folder kita.
- Berukuran tidak lebih dari 1 Mb bahkan kurang dari 1oo Kb.
- Bericon aneh dan tidak sesuai dengan extensinya, misalnya bergambar Adobe Acroba Reader, Microsoft Office Ducument (doc), atau bergambar file terkompresi seperti zip / rar tetapi mempunyai ekstensi exe .
- Cari aja di Google (hehehe
)
Sumber : http://id.88db.com/id/Knowledge/
Tips – tips sebelum berpisah dengan pacar
Melewati masa – masa indah bersama pacar adalah hal yang sangat menyenangkan. Inginnya sech semua keindahan itu nggak akan berakhir. Tapi sayangnya terkadang segala sesuatu nggak berjalan sesuai dengan keinginan kita. Hubungan kita dengan pacar harus berakhir di tengah jalan karena berbagai macam hal, misalnya harus melanjutkan sekolah ke luar negeri atau di larang ortu pacaran. Sebelum perpisahan itu terjadi, pergunakanlah waktu yang tersisa untuk membuat kenangan yang tak terlupakan bersama pacar.
TAHAP 1 : Persiapan
Kita sudah tau dan menerima kalau hubungan kita dengan pacar nggak bisa di lanjutkan lagi. Makanya kita punya rencana untuk menghabiskan waktu sesering mungkin dengan pacar. Tapi sebelumnya, ada beberapa hal yang harus kita persiapkan.
- Diri sendiri. Hal pertama yang harus kita persiapkan dengan baik adalah diri kita sendiri. Karena cukup sulit lho untuk berusaha tetap tegar, padahal kita sedih banget setiap kali teringat akan kehilangan pacar. Siapkan mental baja kita untuk menjalani hari – hari terakhir bersama pacar.
- Pacar. Setelah berdamai dengan diri sendiri, sekarang kita perlu kompromi dengan pacar kita. Minta dia untuk mau meluangkan waktu bersama kita. Ada kemungkinan pacar kita menolak ide ini karena baginya semua itu hanya akan menambah rasa sakit hati. Tapi kalau menurut kita rencana ini baik untuk kita dan pacar, bujuk dia untuk mau mencobanya.
- Keluarga dan Teman. Namanya juga ingin menikmati masa terakhir, pastinya kita akan dimonopoli oleh pacar setiap hari. Nah, biar nggak ada yang protes karena kita sering menghilang, ngobrol dulu sama keluarga dan teman – teman tentang rencana ini. Apalagi sama ortu yang mungkin paling merasa keberatan. Minta mereka agar bisa mengerti dan memberikan kita kesempatan untuk berpisah dengan pacar tersayang melalui cara yang manis.
TAHAP 2 : Nikmati Bersama
Setelah pensiapan selesai, dimulailah tahap yang paling penting, yaitu menikmati sisa waktu bersama pacar. Agar kita bisa membuat kenangan yang indah di waktu yang singkat ini, coba lakukan hal di bawah ini:
- Mendatangi Tempat Favorit. Setiap pasangan biasanya punya tempat kencan favorit, begitu juga dengan kita. Datangi lagi tempat favorit itu dan ingat – ingat kembali semua hal menyenangkan yang pernah kita alami di sana. Resapi perasaan bahagia ketika kencan dengan pacar di tempat tersebut, karena mungkin kita nggak akan mengalaminya lagi.
- Membuat Kenangan Baru. Jika ada tempat yang ingin kita kunjungi bersama pacar, tapi belum kesampaian, well, sekarang saatnya untuk mengunjungi tempat tersebut. Atau lakukan hal yang selama ini ingin dilakukan bersama pacar, misalnya candle light dinner, berdansa atau melihat sunset bareng. Pokoknya buatlah kenangan baru sebanyak – banyaknya, sehingga kita nggak penasaran lagi.
- Bersikap Manis. Tahan ego dan sikap manja kita selama menghabiskan waktu dengan pacar. Jangan rusak hari – hari kencan terakhir kita dengan ngambek atau marah – marah, meskipun seandainya ada rencana kita yang nggak berjalan lancar. Ingatlah kalau kita ingin menciptakan kenangan indah, bukan kenangan buruk, jadi bersikaplah yang manis.
- Hadiah Spesial. Karena ini adalah kencan perpisahan, jadi siapkan hadiah spesial untuk pacar. Hadiah itu harus khusus, yang bisa membuat dia selalu mengingat kita. Bisa berupa barang yang sudah lama dia inginkan atau benda yang menjadi ciri khas kita. Agar semakin spesial, kita bisa memberikan hadiah untuk dia dari hasil karya kita sendiri.
- Dilarang Bersedih. Bersenang – senanglah bersama pacar di saat – saat terakhir ini. Jangan membuang waktu denagn membahas kesedihan. Nikmati aja kebersamaan kita dengan pacar. Meskipun dalam hati kita merasa sedih banget, coba untuk menahan tangis dan tetap tersenyum ceria.
TAHAP 3 : MELEPASKAN.
Ini adalah tahap terakhir dan terberat untuk dilakukan. Ketika D-Day untuk berpisah akhirnya datang juga, berarti kita sudah harus melepaskan kepergian pacar tersayang. Sedih banget pastinya, tapi dari awal kan kita sudah memantapkan hati untuk berpisah baik – baik dengan pacar.Kita juga sudah mengisi hari – hari terakhir bersama pacar dengan kegiatan yang menyenangkan. Biarkan kita mengingat itu semua sebagai kenangan yang manis dan pacar kita pun akan mengingat kita sebagai seseorang yang spesial yang memberikan kenangan indah dalam hidupnya.
Kemudian di hari – hari berikutnya kita bisa tetap berhubungan baik dengan mantan pacar kita. Perasaan dendam, penyesalan dan sakit hati akan cepat terhapus karena nggak ada masalah yang teringgal dan belum terselesaikan antara kita dan mantan pacar. Kita juga jadi lebih nyaman dan santai menjalani hidup kita selanjutnya sampai suatu saat nanti menemukan seseorang yang bisa menggantikan posisi mantan pacar di hati kita.
Sumber : hum-210203080010.blogspot.com
Mempercepat Mozilla Firefox with Fasterfox Plugins to Increase Internet Speed for CDMA, GPRS, Dial-Up, and Broadband
Bila anda sudah membaca artikel sebelumnya yang telah dibahas mengenai mempercepat internet via browser mozilla firefox, maka penggunaan browser ini tentunya tidak asing lagi dan sudah familiar dengan anda.
Jika sudah menginstall browser mozilla firefox tersebut dan merasakan kenyamanannya, maka anda dapat mempertimbangkan kembali untuk menginstall extensionnya yang cool satu ini, yakni plugin yang dibuat khusus untuk dapat mempercepat internet browser firefox anda, yeah Tweak Internet Speed with Fasterfox.
Setelah banyak bergumul dengan bahasan terdahulu tentang cFosSpeed, Toonel, Onspeed, OpenDNS, dan lainnya kali ini mari kita khususkan untuk: Fasterfox.
Sebelumnya, ada baiknya kita mengetahui dulu, apa itu Fasterfox, bagaimana kerjanya, dan apakah dapat mempercepat internet, khususnya browser Mozilla Firefox anda.
>>> DOWNLOAD FIREFOX ( 2X Faster than Internet Explorer )
What is Fasterfox?
-Fasterfox – performance and network tweaks for Firefox.
-Fasterfox is a Mozilla Firefox extension that tweaks network connection and caches web pages in order to increase page loading speed.
-Fasterfox allows you to tweak many network and rendering settings such as simultaneous connections, pipelining, cache, DNS cache, and initial paint delay.
>>Fasterfox adalah plugin / extension khusus untuk mozilla firefox anda dimana dapat mempercepat koneksi anda dengan melakukan optimasi setting network anda yang salah satunya dengan proses ‘cache‘.
Sebenarnya apa itu cache? Cache merupakan koleksi kumpulan data sebelumnya yang disimpan sementara dalam computer anda. Sewaktu anda browsing internet maka berbagai data akan otomatis disimpan browser dalam bentuk cache. Dengan adanya cache maka telah disediakan sebuah ‘temporary storage’ yang menyimpan data-data yang telah diakses browser anda sebelumnya.
Fungsinya cache untuk apa?
Cache ini menguntungkan bagi browser anda sewaktu akan membuka halaman yang sama di kemudian hari. Selama cache nya ada dan disimpan oleh browser anda, maka data yang sama akan dibaca lebih cepat, dan akan di load lebih cepat pula, sehingga akan menghemat waktu / proses loading time browser firefox anda.
Fasterfox melakukan optimasi setting network meliputi antara lain:
- HTTP pipelining
- Memory caching
- Disk caching
- DNS caching
- FastBack caching
FEATURES Fasterfox apa saja ?
(from OFFICIAL webnya di http://fasterfox.mozdev.org/)
- Prefetch Links
Dynamic speed increases can be obtained with Fasterfox’s unique prefetching mechanism, which recycles idle bandwidth by silently loading and caching all of the links on the page you are browsing.
- Tweak Network
Fasterfox allows you to tweak many network and rendering settings such as simultaneous connections, pipelining, cache, DNS cache, and initial paint delay.
- Page Load Timer
A millisecond accurate page load timer tests the effectiveness of your settings.
- Block Popups
A popup blocker for popups initiated by Flash plug-ins is also included.
- Locales included for Chinese, Czech, Dutch, English, Finnish, French, Frisian, German, Hebrew, Hungarian, Italian, Japanese, Korean, Lithuanian, Polish, Portuguese, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish and Ukrainian.
>> Keuntungannya selain melakukan proses cache yang dapat membantu browser untuk loading lebih cepat, tersedia pula beragam feature yang lainnya seperti block popus. Lalu ada pula feature ‘page loading timer’, dengan feature ini maka akan ditampilkan semacam ‘timer’ dibawah browser mozilla firefox anda selama membuka suatu halaman / loading page. Anda bisa tahu berapa lama waktu yang dibutuhkan untuk membuka suatu halaman friendster anda misalnya. Tidak perlu dihitung dalam hati atau dikira-kira lagi.
Tentang Link Prefetching:
Dynamic speed increases can be obtained with the unique prefetching mechanism, which recycles idle bandwidth by silently loading and caching all of the links on the page you are browsing.
>>Perlu dicermati masalah ‘link prefetching’, proses ini sebenarnya sudah menjadi standard bagi berberapa web browser, yakni dengan mendownload data link-link yang ada dalam suatu halaman web yang kemungkinan akan di kunjungi oleh pengguna selanjutnya . Data-data tersebut akan disimpan dalam bentuk cache. Sehingga akan mempercepat loading apabila nanti dikunjungi. Proses ini dilakukan saat-saat idle. Jadi mungkin akan ada sedikit bandwith yang dicurahkan disini, tetapi dengan imbalan akan mempercepat loading page tersebut. Keterangan lebih rinci selanjutnya mungkin dapat dibaca di : http://en.wikipedia.org/wiki/Link_prefetching.
Oya tentang tweak mozilla dengan ‘http pipelining’ yang dulu pernah saya baca, Sebenarnya Fasterfox ini sudah meng-apply edit settingan macam tersebut yang mungkin sudah familiar bagi para tweaker internet speed. Entah di forum apa dulu saya pernah membacanya sebagai berikut: (cmiimw)
Dalam about:config browser di setting sbb: network.http.pipelining > true , network.http.proxy.pipelining > true , network.http.pipelining.maxrequests > 32 , new integer > nglayout.initialpaint.delay > 0. dan tinggal restart, mungkin ada lagi lainnya yg HW sendiri lupa..
Tapi tidak perlu kuatir dan penasaran dengan kelupaan saya tersebut..hehe karena Seperti ada pada penjelasan diatas, Dengan menginstall Fasterfox, anda tidak perlu lagi melakukan editing manual seperti diatas karena fasterfox sudah menerapkan setting http pipelining tersebut untuk anda. Jadi tidak perlu repot-repot lagi.
Jadi tunggu apalagi, kalau anda rasa ini cocok atau patut untuk dicoba silakan saja apalagi gratis kok. Untuk mendownload fasterfox silakan ke: http://fasterfox.mozdev.org/
Ok, sekian dulu. Nantikan postingan berikutnya.. semuanya yang berbau ‘tweak internet speed’ buat internet cdma dial-up yang masik lemot, lelet, lan luambat.