Tuesday, June 19, 2007

Permasalahan dalam pembuatan software Sistem Informasi Akademik (SIAKAD)

By yoyok seby 5106201804

Pendahuluan

Sebuah PTS telah membangun Sistem Informasi Akademik mulai tahun 2002. Sejak itu proses developnya berjalan. Masalah demi masalah tentang proses pelayanan akademik terselesaikan. Seiring perkembangannya, sampai sekarangpun tahun 2007 masih saja permasalahannya ada. Dari mulai compatible terhadap hardware, koneksi jaringan, pemilihan sistem operasi dan ada saja gangguan non teknis sehingga project SIAKAD ini belum pernah selesai sampai sekarang.

Masalah

Setelah saya klarifikasi, ternyata ada beberapa masalah yang hingga sekarang belum terselesaikan. Beberapa masalahnya antara lain :
1. Mengatasi mahasiswa transfer masih kesuliatan dalam konversi nilai yang dibutuhkan mahasiswa tersebut
2. Mahasiswa baru mengisikan biodata tapi tidak bisa diambil oleh BAAk karena programnya tidak terintegrasi
(per modul)
3. Report banyak yang tidak berjalan.

Dari pihak Developer software masih belum bisa memecahkan masalah-masalah diatas. Menurut saya karena pihak develop mungkin belum mengelolah permasalahan-permasalahan yang ada minimal terdokumentasi dengan baik. Hal ini terbukti belum pernah ada laporan penyerahan dokumentasi ke pihak client. Selain itu dipihak developer tidak memiliki penguji software (SOFTWARE TESTER). Sehingga software yang bekembang selama ini baru tahu kalau software tersebut bermasalah setelah di pakai di lapangan. Sehingga pihak client dan developer selalu saling menyalakan satu sama lain. Di sisi lain sistim ini di pakai setiap hari. Apakah hal ini di katagorikan failure project atau unfinish project? …

Perlunya Pendekatan teori RPL

Menurut saya, setelah mempelajari teori-teori RPL, ternyatah dalam membangaun software yang besar tidak cukup hanya setelah di coding dan tidak ditemukan error selesai. Ternyata banyak sekali yang harus dilewati. Idealnya untuk membangun software diatas diperlukan beberapa tahapan antara lain : tahap perencanaan , tahap desain dan tahap testing yang masing-masing 3 bagian tersebut ada sunbagian yang sangat detail. Salah satu kasus diatas saya soroti tentang tahapan TESTING.

Tahapan Testing pada RPL
Pengujian software (software testing) membutuhkan persiapan, sebelum pengujian dilakukan. Mengapa? Karena proses testing harus dilakukan secara sistematis, tidak bisa secara sembarang, karena software yang dihasilkan harus bebas dari error, untuk mengurangi resiko kerugian yang akan diderita oleh penggunanya. Produk software harus menguntungkan penggunanya pada saat digunakan.
Berikut persiapan yang dapat dilakukan untuk dapat melakukan proses testing:
• membuat checklist
o list yang akan ditest
o list requirement
o list rancangan
o list spesifikasi
o list manual, jika sudah ada - biasanya diperlukan untuk pengujian oleh user
• pembuatan test case
o merupakan elemen dasar yang harus ditesting
o merupakan list yang independent
• pembuatan grup test case
o kumpulan dari beberapa test case
o merupakan list yang akan memiliki status hasil test
• pembuatan modul test
o pembuatan skenario testing
o terdiri atas beberapa grup test case
o diasosiasikan dengan fungsionalitas modul
o mengacu kepada dokumen requirement dan desain/spec program
• pembuatan package testing
• pembuatan produk test
Dengan dimilikinya checklist, kita akan dapat mengetahui progress dari kegiatan testing itu sendiri. Mana yang sudah selesai dilakukan test, mana yang belum. Mana yang sudah dilakukan test pun, bisa diketahui mana yang benar modulnya sudah selesai, dan mana yang belum selesai. Jadi tidak sekedar mengetahui mana yang sudah dan mana yang belum. Pekerjaan persiapan juga membutuhkan software yang dapat membantu proses persiapan testing ini. Yang paling sederhana adalah dengan menggunakan Excel, jika memungkin menggunakan aplikasi yang dirancang khusus. Produk yang open source adalah TestLink. Untuk itu software SIAKAD ini supaya kulitasnya lebih baik, sebelum dilakukan running di lapangan sebaiknya melakukan testing software yang dilakukan oleh pihak developer melalui tim software tester-nya.
Profesi Software Tester
Profesi software tester (penguji software ) merupakan kelompok profesi yang dapat dikatakan masih baru di dalam dunia software; walaupun sebenarnya dalam dunia nyata pengembangan software, pekerjaannya ada dan sudah dilakukan, tetapi masih belum dipisahkan secara khusus. Umumnya melekat kepada pemrogram untuk melakukan pengujian software.
Software tester dalam pengertian umum adalah orang yang melakukan proses pengujian software. Software yang diuji, bisa software yang sedang dikembangkan, bisa juga software yang sudah jadi, seperti SIAKAD. Profesi ini dulu masih dipandang sebelah mata, sering diabaikan, bahkan tidak pernah dilakukan oleh pengembang software. Tetapi dengan semakin meningkatnya kompleksitas sistem yang dikembangkan, dan tuntutan akan mutu dan layanan, maka profesi ini menjadi sangat penting dan harus ada. Software tester dapat dipandang sebagai pengguna software; yang akan melakukan pengujian software secara menyeluruh, dari proses instalasi sampai dengan penggunaannya, dengan semua menu/fasilitas software dicoba semua. Sangatlah ironi, saat ini, jika suatu perusahaan pengembang software belum memiliki orang atau tim khusus untuk menjadi software tester. Perusahaan pengembang software tidak boleh mengandalkan pemrogramnya untuk melakukan pengujian software yang dikembangkan oleh pemrogram itu sendiri. Mengapa? Karena hasil pengujian oleh pemrogram itu sendiri, bisa jadi tidak akan objektif. Sudut pandang pengujian pemrogram dalam menguji software akan berbeda dengan sudut pandang penguji sebagai pengguna. Software tester, jika memungkinkan, per orangan atau tim yang berposisi sebagai pihak ketiga. Mengapa? Pihak ketiga diharapkan lebih netral, tidak memiliki konflik of interest, sehingga bisa lebih objektif.
Siapa saja yang bisa software tester?
Tidak ada ketentuan baku, tentang siapa yang bisa menjadi software tester, karena berhubungan dengan tahap pengembangan dari software yang sedang dikembangkan. Jika software masih dalam tahap pengembangan, maka tester haruslah orang yang memahami proses bisnis yang akan dibantu proses kerjanya dan orang yang memiliki penguasaan terhadap teknologinya. Jika sudah selesai dan akan dioperasionalkan, maka tester bisa penggunanya. Pelatihan formal tentang proses pengujian sebaiknya harus dibekalkan kepada setiap software tester. Mengapa? Tentu saja agar tester memiliki pengetahuan dasar tentang bagaimana melakukan proses pengujian software yang benar. Proses pengujian haruslah sistematis, dan jika mungkin dibantu dengan menggunakan software, yang bisa membantu dalam proses pengujian. Proses pengujian tidak harus dilakukan secara manual, tetapi juga harus bisa dilakukan dengan diotomatisasi. Proses pengujian software dapat dibedakan menjadi:
• pengujian manual (manual testing)
• pengujian diotomatisasi (automated testing)
• gabungan manual dan otomatis
Pengujian manual merupakan pengujian yang umum dilakukan oleh banyak tester. Proses pengujian manual membutuhkan suatu prosedur baku, ketekunan, dan ketelitian dari orang yang berperan sebagai penguji (tester). Mengapa? Karena proses pengujian merupakan proses yang berulang, dan bisa jadi sangat menjemukan. Pengujian yang diotomatisasi merupakan proses pengujian yang menggunakan alat bantu, dalam hal ini software untuk pengujian (testing software). Proses pengujian dirancang agar dapat dilakukan oleh software. Kita bisa membuat program dengan software untuk pengujian, agar proses pengujian dapat dilakukan secara otomatis. Software pengujian sangat diperlukan untuk membantu proses pengujian yang sifatnya berulang dan banyak sekali. Gabungan antara manual dan otomatis, merupakan proses pengujian yang ideal, karena tetap saja bahwa proses pengujian membutuhkan keputusan manusia sebagai penguji. Banyak pertimbangan dalam proses pengujian tidak bisa dimasukkan ke dalam software untuk pengujian yang diotomatisasi.
Sekilas Tentang Penguji Software?
Penguji software (software tester) kini merupakan profesi khusus di dalam suatu organisasi pengembangan software. Dulu posisi ini dianggap tidak memiliki kebanggaan, tetapi kini profesi ini sudah memiliki tempat tersendiri, dan dapat dikatakan sangat penting. Keberhasilan suatu pengembangan software sangat ditentukan oleh hasil dari pengujian. Jika proses pengujian dapat dilakukan dengan baik, maka suatu software yang telah melewati pengujian akan memiliki kualitas yang dapat dipertanggungjawabkan. Suatu software sebelum dilepas ke pasar, software harus melewati proses pengujian. Pengujian software dilakukan oleh programmer, sebagai penguji pertama kali. Setelah programmer menguji bahwa software yang dibuatnya telah melewati pengujian oleh programmer itu sendiri, softwre harus diuji oleh penguji software. Penguji software akan mencoba menggunakan software yang dibuat oleh programmer dengan berbagai macam cara, dari sekedar mencoba aplikasi apakah bisa menyelesaikan masalah sesuai dengan tujuan dari pembuatan software itu sendiri, sampai dengan menguji apakah software tersebut tahan terhadap penggunaan yang asal-asalan. Setiap penguji software yang berpengalaman, akan memiliki cara pengujian yang efisien dan efektif. Langkah demi langkah pengujian, dan bahan-bahan untuk melakukan pengujian selalu disiapkan dengan rapi. Sebelum suatu software dibuat, maka software harus memiliki daftar kasus yang akan dapat diselesaikan oleh software tersebut, jika sudah selesai. Daftar kasus ini disebut sebagai kasus uji (test case). Kasus uji disiapkan oleh pengguna software dan atau perancang software. Untuk menjadi penguji software yang baik, maka hal pertama yang harus dimiliki adalah sifat jahil, ingin menguji bahwa software yang akan diuji ini akan dengan mudah dibuat untuk tidak berfungsi atau akan kacau fungsinya. Sifat jahil ini, cenderung akan merusak dalam artian positif; karena penguji harus bisa memastikan bahwa software yang dibuat tersebut tahan banting, dengan diperlakukan secara sembarang oleh penguji. Penguji software sebaiknya memiliki pengalaman memrogram, atau setidaknya tahu cara memrogram, atau suka membaca kelemahan-kelemahan dari suatu program. Banyak pola program atau kebiasaan pemrogram yang tidak benar diterapkan, umumnya oleh pemrogram pemula atau pemrogram yang malas tidak mau meningkatkan kemampuannya. Setiap software house seharusnya memiliki tim penguji sendiri. Mengapa? Karena pemrogram tidak akan sempat melakukan pengujian secara komprehensif. Pemrogram cenderung menganggap bahwa program yang telah dibuatnya telah benar, bisa menyelesaikan masalah. Pemrogram cenderung fokus pada penyelesaian masalah yang harus diselesaikan oleh program. Jarang pemrogram yang berpikir juga untuk memvalidasi masukan atau pun proses yang ada di dalam program tersebut. Di sinilah penguji software diperlukan. Menguji software merupakan tantangan tersendiri, dan membutuhkan keterampilan dan pengetahuan yang memadai, untuk menjamin bahwa hasil pengujiannya bisa dipertanggungjawabkan.

Kesimpulan
Software SIAKAD ini akan lebih baik apabila pihak client dalam hal ini dari PTS dan pihak developer dalam hal ini Software House membentuk tim Software Tester yang bertugas untuk mengatasi masalah-masalah yang terjadi pada Software SIAKAD tersebut. Sehingga dengan melakukan Software Testing yang ditugaskan pada Software Tester, masalah yang selama ini terjadi dapat tereduksi dan kulalitas dari Software SIAKAD ini lebih baik.

Thursday, June 14, 2007

Konvergensi Total Dengan Java

Acara JavaONE 2007 yang berlangsung di Moscone Center, San Francisco, AS, memberikan agenda baru bagi siapa saja yang bergelut di dunia Java. Java merupakan simbol yang dibawa oleh Sun Microsystems sebagai sebuah platform untuk berkolaborasi menghasilkan sesuatu, di mana kepercayaan untuk mengubah dunia dengan inovasi sangat kencang.

JavaONE 2007 dibuka oleh Rich Green, Executive VP Sun Microsystems, termasuk lahirnya teknologi baru JavaFX yang diciptakan untuk solusi bergerak dan dalam waktu dekat akan dinikmati para pencinta perangkat bergerak. JavaFX menjadi teknologi baru dalam keluarga Java, yang mengutamakan interaktivitas, di antaranya dengan demo menggunakan telepon bergerak dengan sistem operasi Java, yaitu Savaje (yang baru diakuisisi Sun) serta Nokia N800.
Hari pertama JavaONE 2007 sarat dengan unsur promosi pihak Sun Microsystems serta rekan-rekan Java mereka, membuat adopsi Java semakin kuat terutama di area embeded. Kolaborasi antara Yahoo, Sony, Fox Studio, Motorola, sampai perangkat televisi dan robot menjadi topik utama.

Integrasi SmartCard dengan dotcom menandakan masuknya perangkat bergerak menjadi dotcom, artinya setiap manusia yang memegang perangkat bergerak adalah sebuah situs web. Apakah Anda siap menaruh CV di ponsel dan setiap umat manusia dapat browsing ke sana?

BluRay (teknologi saing HD-DVD) memungkinkan programmer Java bergabung dengan sumber content paling hot di AS, yaitu Holywood, juga menjadi sumber informasi yang baru. Integrasi perfilman dengan internet dan game di dalam Blu Ray memungkinkan sebuah paradigma baru dalam menonton film.

Sebelumnya, bila menonton sebuah film, kita hanya dapat menonton, dan sebuah menu untuk melihat trailer atau scenes. Tanpa melakukan aktivitas saat film ini diputar. Bluray dengan BluRau Java SDK-nya memungkinkan adanya content internet di dalam film serta melakukan interaksi dan multiplayer quiz. Contoh yang mungkin adalah saat menonton film, ada live quiz dari produser film tersebut dan berhadiah mobil.

Integrasi teve
Solusi Java, yang hanya dikenal untuk aplikasi server yang dituangkan dalam full stack Oracle Fussion Middleware pada acara tersebut, dibawakan Thomas Kurian, Senior VP Oracle. Stack Enterprise yang meninggalkan kesan integrasi yang banyak. Hal ini karena solusi enterprise telah menjadi backbone dari semua ini, yang berubahnya dari integrasi aplikasi menjadi integrasi komponen.

Berubah menjadi sebuah solusi Live, yang mengintegrasikan semua sisi kehidupan manusia sehingga semua manusia di muka Bumi ini terhubung secara virtual dapat berinteraksi.
Java, yang 12 tahun lalu diciptakan agar menjadi sebuah aplikasi untuk televisi, akhirnya mendapatkan momentumnya di JavaONE 2007, yang menyatakan bahwa teknologi Java yang diciptakan oleh tim James Gosling tidak berubah.

Televisi yang kompatibel dengan JavaTV ini telah membuat perusahaan kabel, perhotelan, dan ruang keluarga berubah, dari yang semula hanya sebuah perangkat menonton menjadi sebuah media interaksi yang memungkinkan menggabungkan semua acara dalam saluran televisi, internet, dan permainan.

Dapat dibayangkan jika kita menonton televisi berbasis JavaTV dengan BluRay atau main game di Playstation3 yang berbasis Bluray juga, ruangan keluarga terkoneksi internet, suasana apa yang akan muncul? Ini adalah sebuah panggung hiburan modern yang sama sekali baru.

Ada satu teknologi yang juga berperan serta dalam konvergensi ini, yaitu mesin fotokopi berbasis Java, mengadopsi teknologi yang saat ini ditemukan di perangkat bergerak, yaitu JavaME. Ricoh berhasil membuat mesin fotokopinya berkolaborasi dengan perangkat bergerak, berubah menjadi virtual library yang dapat diakses, bukan hanya oleh PC dalam jaringan, tetapi oleh perangkat bergerak.

Teknologi robot
Teknologi lainnya yang tidak kalah menarik adalah helikopter yang dikendalikan secara remote, dapat memetakan 3D, serta teknologi 3D Open Source dari Sun, yaitu Wonderland (versi Java dari game SecondLife), dan Darkstar (game server Open Source). Darkstar adalah sebuah multiuser game server yang memungkinkan pengembang multiplayer game mengembangkan aplikasi game, dan saat ini di situs Web Sun telah muncul game client lain, yaitu sebuah multiplayer game untuk ponsel.

Sebuah robot Robosapien terbaru berwarna merah, yaitu RS (RoboSapien) Media, yang versi putihnya atau versi 2.0 dapat ditemukan toko mainan anak-anak di mal-mal di Indonesia, telah memasukkan Java sebagai teknologi pengembangan. Ini terlihat di stan Robosapien yang tidak memiliki sales promotion, tetapi menaruh dua robot yang berpromosi mengenai keunggulan dan fitur-fitur dari robot ini.

Selain show-off teknologi, JavaONE juga merupakan tempat reuni bagi orang-orang yang aktif di komunitas global, mulai dari komunitas pengembangan Java (Java user group), Java Champions (orang-orang terpilih yang memiliki influencing charisma), dosen-dosen computer science yang mengajar pemograman. Mereka semua bertemu dan berbagi semua pengalaman yang didapatkan di negara masing-masing, yang menarik ternyata semua kasus yang didapat memiliki pola yang sama, mulai dari kendala mahasiswa sampai regulasi bisnis.

Frans Thamura Pendiri Java User Group Indonesia
Sumber : http://www.kompas.com/kompas-cetak/0706/04/tekno/3573572.htm