Software Slicing

Program slicing adalah teknik analisis program untuk menyederhanakan program dengan cara memfokuskan pada aspek tertentu yang dipilih dari semantik. Sepanjang proses slicing, akan dilakukan penghapusan beberapa bagian dalam program yang sudah diketahui tidak akan berdampak pada semantik yang diinginkan. Slicing dapat diaplikasikan pada beberapa aspek seperti testing dan debugging, re-engineering, pemahaman suatu program, dan software measurement.

Sebagai contoh, dalam debugging, fokus seorang debugger pada saat menganalisis tentunya hanya pada bagian – bagian dari program yang mungkin mengandung kesalahan dan bisa menyebabkan bug, bukan pada bagian – bagian yang sudah pasti benar dan tidak mungkin muncul bug dari bagian itu, disini Program Slicing berperan dengan menghilangkan bagian – bagian yang sudah pasti benar tersebut. Contoh teknisnya, adalah ketika seorang programmer meng-klik salah satu statement yang perlu untuk diperhatikan, contohnya karena nilai variabel yang salah, program slicer (tool untuk melakukan program slicing) akan menandai (highlight) semua statement dalam program yang mungkin menyebabkan nilai yang salah tersebut dalam bentuk hubungan antar entity dalam program seperti definisi variabel dan penggunaannya akan divisualisasikan Continue reading

Software Refactoring

Memproduksi sebuah perangkat lunak merupakan proses yang sangat kompleks dan membutuhkan banyak waktu. Perancangan sistem perangkat lunak yang buruk sangat sulit dipahami dan dipertahankan. Memodifikasi sebuah kode di suatu tempat dapat menyebabkan perubahan kode di tempat lain yang tidak diinginkan karena adanya faktor high-coupling. Menambahkan fitur-fitur baru pada sebuah perangkat lunak dapat menyebabkan penurunan pada kualitas kode jika desain dan arsitektur yang tepat tidak diterapkan. Pembangunan sebuah sistem seperti itu di perusahaan besar akan menyebabkan banyak kekhawatiran kecuali jika sistem secara berkala dirombak atau di-refactor dalam beberapa cara.

Software Refactoring merupakan bagian penting dalam pengembangan perangkat lunak, khususnya dalam fase pemeliharaan (maintanence). Beberapa penelitian menyebutkan bahwa harga (cost) pemeliharaan software lebih besar dari cost pengembangan software. Software Refaction dapat membantu pengembang untuk meningkatkan desain dari code dan membuatnya lebih bersih, tanpa merubah sifat dari code tersebut.

Refactoring merupakan sebiah proses perubahan sistem dari software dengan beberapa cara tanpa merubah sifat – sifat eksternal dari sebuah kode. Salah satu caranya adalah dengan memperbaiki struktur kode internal. Continue reading

MSP Gathering Jatim @Gotha

Rabu, 9 November 2011 dilaksanakan MSP Gathering untuk wilayah Jawa Timur. Pada gathering kali ini, acara dilaksanakan di rumah makan Gotha Tunjungan Plasa Surabaya. Selain MSP dari ITS Surabaya dan UM Malang, turut hadir MUGI Surabaya dan Pak Julius Fenata. Tujuan diadakannya acara gathering ini adalah untuk membahas persiapan Dev Camp WP 7 di regional Jawa Timur serta mempererat tali silaturahmi antaranggota MSP.

MSP Gathering Jatim diselenggarakannya pasca seminar Road To Imagine Cup 2012 di Teknik Informatika ITS. Malam hari, tepatnya pukul 17.30 WIB. MSP dari ITS : Dewa, Intan, Ivan, dan Mas Izzudin, MSP dari Universitas Muhammadiyah Malang : Robbi, serta Pak Julius Fenata selaku Academic Evangelist berkesempatan untuk menghadiri acara ini. Karena kami mencari suasana yang tenang dan tidak penuh sesak, Rumah Makan Gotha pun kami pilih sebagai lokasi Gathering.

Gathering memang merupakan acara yang selalu deselenggarakan oleh MSP, di samping acara seminar atau workshop. Tujuan dilaksanakannya gathering kali ini adalah untuk mempererat suasana kekeluargaan antaranggota MSP. Selain itu, ada pembahasan khusus mengenai persiapan MSP Jatim dalam menyelenggarakan DevCamp WP 7 di beberapa universitas di Jawa Timur. Tidak lupa juga acara diwarnai oleh canda – canda hangat para sesepuh dari MUGI Surabaya yang turut menghadiri acara ini.

Continue reading