Volume II No 18 - Juli 2004



DR. Ir. Richardus Eko Indrajit M.Sc., M.B.A.
dilahirkan di Jakarta pada 24 Januari 1969. Menyelesaikan studi sarjananya di Jurusan Teknik Komputer Institut Teknologi Sepuluh Nopember Surabaya pada 1992. Setelah memperoleh gelar insinyur di bidang teknik komputer, Eko berhasil mendapatkan beasiswa dari Pertamina untuk melanjutkan studi pasca sarjananya di Amerika. Pada 1993, Eko diterima di Harvard University dan berhasil mendapatkan gelar Master of Applied Computer Science pada 1995. Pada saat yang sama, Eko belajar pula di Boston University dan Massachusetts Institute of Technology (MIT). Sekembalinya ke tanah air, Eko bergabung dengan sebuah perusahaan konsultan multinasional sambil mengambil program jarak jauh Master of Business Administration di Leicester University, Inggris. Kemudian Eko mengambil program riset doctoral dari University of the City of Manila dan berhasil mendapatkan gelar Doctor of Business Administration pada pertengahan 1999. Saat ini, selain bekerja sebagai konsultan independen yang telah membantu sejumlah perusahaan swasta di berbagai jenis industri dan institusi pemerintahan dalam merencanakan dan mengembangkan teknologi informasinya Eko juga aktif mengajar di beberapa universitas terkemuka di Indonesia, seperti Program Pasca-Sarjana Universitas Bina Nusantara-Curtin University, Program Sarjana ITS Surabaya Program Magister Komputer Teknologi Informasi Universitas Indonesia, dan Institut Kesenian Jakarta. Di samping mengajar Eko berperan secara aktif sebagai konsultan dan peneliti khusus Kelompok Kerja Ketahanan Nasional dan Wakil Ketua Kelompok Kerja Sistem Manajemen Nasional Lembaga Ketahanan Nasional (Lemhannas). Tak kurang dari 12 buku telah ditulisnya, yang mencakup Teknologi Informasi, eBusiness, Supply Chain Management (SCM), Linux, Penuntun Mencari Informasi di Internet, dan lain sebagainya.•


Kiat Memilih Software

Yth. Pak Eko Indrajit. Yang ingin saya tanyakan adalah bagaimana cara terbaik mengevaluasi software terbaik yang kita butuhkan? Apakah karena vendornya yang ternama, atau adakah sejumlah kriteria spesifik dalam menentukan hal itu? Apakah, dari pengalaman Bapak, software yang bagus itu pasti harganya mahal? Bagaimana meyakinkan pimpinan mengenai “manfaat” dan “mahal tidaknya” suatu software?

Rizka Alaida, Manajer Pengembangan, Bandung

Secara prinsip sebuah software dikatakan baik apabila dapat secara utuh dan “sempurna” memenuhi kriteria spesifik dari organisasi atau perusahaan yang membutuhkannya. Hal ini sering diistilahkan sebagai pemenuhan terhadap “user requirements” (kebutuhan pengguna software yang telah terlebih dahulu didefinisikan secara jelas dan detail).

Disamping itu, terlepas dari apakah software tersebut dibeli jadi (off-the-shelf shelf software) atau dikembangkan secara khusus (tailor-made software), sebuah software yang baik haruslah pula berkualitas. Dalam salah satu referensi disebutkan bahwa sebuah software dikatakan berkualitas apabila memenuhi tiga ketentuan pokok:

  1. Memenuhi kebutuhan pemakai – yang berarti bahwa jika software tidak dapat memenuhi kebutuhan pengguna software tersebut, maka yang bersangkutan dikatakan tidak atau kurang memiliki kualitas;
  2. Memenuhi standar pengembangan software – yang berarti bahwa jika cara pengembangan software tidak mengikuti metodologi standar, maka hampir dapat dipastikan bahwa kualitas yang baik akan sulit atau tidak tercapai; dan
  3. Memenuhi sejumlah kriteria implisit – yang berarti bahwa jika salah satu kriteria implisit tersebut tidak dapat dipenuhi, maka software yang bersangkutan tidak dapat dikatakan memiliki kualitas yang baik.

McCall dan kawan-kawan pada tahun 1977 telah mengusulkan suatu penggolongan faktor-faktor atau kriteria yang mempengaruhi kualitas software. Pada dasarnya, McCall menitikberatkan faktor-faktor tersebut menjadi tiga aspek penting, yaitu yang berhubungan dengan:

  1. Sifat-sifat operasional dari software (Product Operations);
  2. Kemampuan software dalam menjalani perubahan (Product Revision); dan
  3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).
Product Operations

Sifat-sifat operasional suatu software berkaitan dengan hal-hal yang harus diperhatikan oleh para perancang dan pengembang yang secara teknis melakukan penciptaan sebuah aplikasi. Hal-hal yang diukur di sini adalah yang berhubungan dengan teknis analisa, perancangan, dan konstruksi sebuah software. Faktor-faktor McCall yang berkaitan dengan sifat-sifat operasional software adalah:

•  Correctness – sejauh mana suatu software memenuhi spesifikasi dan mission objective dari users;

•  Reliability – sejauh mana suatu software dapat diharapkan untuk melaksanakan fungsinya dengan ketelitian yang diperlukan;

•  Efficiency – banyaknya sumber daya komputasi dan kode program yang dibutuhkan suatu software untuk melakukan fungsinya;

•  Integrity – sejauh mana akses ke software dan data oleh pihak yang tidak berhak dapat dikendalikan; dan

•  Usability – usaha yang diperlukan untuk mempelajari, mengoperasikan, menyiapkan input, dan mengartikan output dari software.

Product Revision

Setelah sebuah software berhasil dikembangkan dan diimplementasikan, akan terdapat berbagai hal yang perlu diperbaiki berdasarkan hasil uji coba maupun evaluasi. Sebuah software yang dirancang dan dikembangkan dengan baik, akan dengan mudah dapat direvisi jika diperlukan. Seberapa jauh software tersebut dapat diperbaiki merupakan faktor lain yang harus diperhatikan.

Faktor-faktor McCall yang berkaitan dengan kemampuan software untuk menjalani perubahan adalah:

•  Maintainability – usaha yang diperlukan untuk menemukan dan memperbaiki kesalahan (error) dalam software;

•  Flexibility – usaha yang diperlukan untuk melakukan modifikasi terhadap software yang operasional

•  Testability – usaha yang diperlukan untuk menguji suatu software untuk memastikan apakah melakukan fungsi yang dikehendaki atau tidak

Product Transition

Setelah integritas software secara teknis diukur dengan menggunakan faktor product operational dan secara implementasi telah disesuaikan dengan faktor product revision, faktor terakhir yang harus diperhatikan adalah faktor transisi – yaitu bagaimana software tersebut dapat dijalankan pada beberapa platform atau kerangka sistem yang beragam.

Faktor-faktor McCall yang berkaitan dengan tingkat adaptibilitas software terhadap lingkungan baru:

  • Portability – usaha yang diperlukan untuk mentransfer software dari suatu hardware dan/atau sistem software tertentu agar dapat berfungsi pada hardware dan/atau sistem software lainnya.
  • Reusability – sejauh mana suatu software (atau bagian software) dapat digunakan ulang pada aplikasi lainnya
  • Interoperability – usaha yang diperlukan untuk menghubungkan satu software dengan lainnya

Dalam pengembangannya lebih lanjut, ketiga aspek tersebut kerap dihubungkan dengan sejumlah metric yang sering digunakan sebagai alat ukur dalam membandingkan kualitas software satu dengan lainnya.

Adapun metric yang dimaksud dalam skema pengukuran di atas adalah sebagai berikut:

  • Auditability – kemudahan untuk memeriksa apakah software memenuhi standar atau tidak;
  • Accuracy – ketelitian dari komputasi dan kontrol;
  • Communication Commonality – sejauh mana interface, protokol, dan bandwidth digunakan;
  • Completeness – sejauh mana implementasi penuh dari fungsi-fungsi yang diperlukan telah tercapai;
  • Conciseness – keringkasan program dalam ukuran LOC (line of commands);
  • Consistency – derajat penggunaan teknik-teknik desain dan dokumentasi yang seragam pada seluruh proyek pengembangan software;
  • Data Commonality – derajat penggunaan tipe dan struktur data baku pada seluruh program;
  • Error Tolerance – kerusakan yang terjadi apabila program mengalami error;
  • Execution Efficiency – kinerja run-time dari program;
  • Expandability – sejauh mana desain prosedur, data, atau arsitektur dapat diperluas;
  • Generality – luasnya kemungkinan aplikasi dari komponen-komponen program;
  • Hardware Independence – sejauh mana software tidak bergantung pada kekhususan dari hardware tempat software itu beroperasi;
  • Instrumentation – sejauh mana program memonitor operasi dirinya sendiri dan mengidentifikasi error yang terjadi;
  • Modularity – functional independence dari komponen-komponen program;
  • Operability – kemudahan mengoperasikan program;
  • Security – ketersediaan mekanisme untuk mengontrol dan melindungi program dan data terhadap akses dari pihak yang tidak berhak;
  • Self-Dokumentation – sejauh mana source-code memberikan dokumentasi yang berarti;
  • Simplicity – Kemudahan suatu program untuk dimengerti;
  • Traceability – kemudahan merujuk balik implementasi atau komponen program ke kebutuhan pengguna software; dan
  • Training – sejauh mana software membantu pemakaian baru untuk menggunakan sistem.

Melihat penjelasan tersebut, maka terlihat bahwa faktor harga dan tipe vendor tidak secara langsung berpengaruh terhadap baik atau berkualitas tidaknya sebuah produk software. Namun, adalah merupakan suatu kenyataan bahwa kebanyakan vendor ternama telah memiliki pengalaman selama berpuluh-puluh tahun dalam menerapkan metodologi pengembangan software yang berpegang teguh pada pencapaian aspek-aspek kualitas standar yang ada. Jika metodologi yang digunakan perlu menerapkan langkah-langkah yang menyerap cukup banyak sumber daya perusahaan, maka dengan sendirinya software yang dijual atau dikembangkan pun pada akhirnya menjadi mahal.

Khusus untuk perusahaan yang ingin bekerjasama dengan pihak ketiga atau vendor dalam mengembangkan perangkat lunak yang spesifik, maka ada baiknya dicek apakah vendor yang bersangkutan telah memiliki sertifikat CMM (Capability Maturity Model) dan berada pada level berapa perusahaan tersebut. Paling tidak, yang bersangkutan harus memiliki sertifikat dengan minimum level 3 (dari skala 5) sebagai jaminan bahwa software yang dihasilkan benar-benar berkualitas. CMM adalah sebuah standar pengembangan software berkualtias yang diperkenalkan oleh Software Engineering Institute (SEI) dan diakui kehandalannya di seluruh dunia.

Mengenai cara meyakinkan pimpinan mengenai pengadaan software yang mahal, memang perlu dilakukan proses analisa biaya dan manfaat (cost-benefit analysis). Tentu saja hal ini harus dilakukan secara “case-by-case”, karena setiap perusahaan memiliki kebutuhan yang berbeda dan beranekaragamnya karakteristik dari software. Namun, di era globalisasi dan informasi ini perlu direnungkan oleh para pimpinan akan pendapat berikut ini:

“… bukan jamannya lagi memikirkan manfaat apa yang akan diperoleh perusahaan dengan menerapkan teknologi informasi, namun yang perlu direnungkan apakah perusahaan akan tetap dapat bertahan dan memenangkan persaingan usaha tanpa menggunakan teknologi informasi…”

© 2003 - 2004 eBizzAsia. All rights reserved.