ABSTRAK
Selama penggunaannya, sistem warisan (legacy) dapat terjadi banyak aktifitas pemeliharaan (maintenance)
yang dapat menyebabkan penurunan kualitas sistem. Ketika sistem mengalami penurunan sampai tingkat kritis,
sistem warisan perlu direkayasa ulang.Untuk mempertahankan keberadaan dan keberlangsungan sistem perlu
dilakukan rekayasa ulang secara bertahap dalam domain aplikasi sistem warisan. Dalam prosesnya, pada
sistem warisan dilakukan rekayasa ulang komponen demi komponen baik program maupun data membentuk
sistem tujuan yang telah direkayasa ulang. Proses ini berakhir sampai akhirnya sistem warisan habis menjadi
sistem tujuan. Metode ini dinamakan Rekayasa Ulang Iteratif.
Metode Rekayasa Ulang Iteratif memperhatikan satu hal yang sangat penting dari metode rekayasa ulang
lain yaitu memastikan pembagian data dan fungsi antara sistem warisan dan sistem yang telah direkayasa
ulang. Selain itu selama proses rekayasa ulang antara komponen warisan dan komponen yang telah direkayasa
ulang dapat berjalan bersamaan. Implementasi dari Rekayasa Ulang Iteratif dalam penelitian ini dilakukan
pada studi kasus Sistem Informasi Akademik FTIF ITS Surabaya. Hasil dari Rekayasa Ulang Iteratif ini telah
dapat menyelesaikan permasalahan rekayasa ulang sistem warisan menjadi sistem yang telah direkayasa ulang
sebagian yaitu pada proses login, frs, dan perwalian.
Rekayasa ulang yang dilakukan pada ketiga proses tersebut menunjukkan bahwa proses Rekayasa Ulang
Iteratif berhasil dilakukan karena diantara proses yang sudah direkayasa ulang dan sistem warisan dapat
berjalan bersama. Dengan demikian proses Rekayasa Ulang Iteratif berlangsung tanpa membekukan Sistem
Informasi Akademik FTIF ITS Surabaya yang merupakan sistem warisan. Dalam hal ini sistem warisan selain
proses login, frs, dan perwalian yang masih ada masih terus berjalan sampai sistem warisan secara keseluruhan
berhasil direkayasa ulang.
Kata kunci: Rekayasa Ulang Iteratif, Sistem Warisan, Peremajaan Sistem Warisan.
19
Volume 5, Nomor 1, Januari 2006 : 19 - 25
20
Rochimah, Penerapan Rekayasa Ulang Iteratif pada Sistem Informasi Akademik
21
Volume 5, Nomor 1, Januari 2006 : 19 - 25
direkayasa ulang. Hal ini yang menjadi ciri khas dengan proses login, frs, dan perwalian dapat
dari metode Rekayasa Ulang Iteratif. dilihat dalam Tabel 1.
(j) Membersihkan Metadata
Tabel 1. Data Redundan yang ada di BasisData
Ketika seluruh sistem warisan direkayasa Tabel Kolom Fungsi yang Jenis Data
berhubungan
ulang, metadata hanya terdiri dari data yang
Mahasiswa MA_IPS UpdateIPSe Data
terfokus pada data yang dicatat pada desain basis mesterLalu Redundan
data tujuan. Semua data dalam metadata akan tidak Komputasi
berguna, dan data ini dapat dihapus pada akhir Mahasiswa MA_IPK UpdateIPKM Data
rekayasa ulang. hs Redundan
Komputasi
4. PROSES REKAYASA ULANG ITERATIF Mahasiswa MA_SKSLulus UpdateSKSL Data
PADA SISTEM INFORMASI AKADEMIK ulus Redundan
FTIF ITS SURABAYA Komputasi
Mahasiswa MA_SKSTempuh UpdateSKST Data
(a) Analisis Sistem Warisan empuh Redundan
Komputasi
Dalam proses analisis sistem warisan, terdapat Kelas KE_Terisi Update dari Data
pemisahan sistem menjadi beberapa sub komponen jumlah di Redundan
yang saling berdiri sendiri, sehingga proses tabel _temp Komputasi
Rekayasa Ulang pada suatu komponen tidak akan
tergantung pada komponen yang lain. Pemisahan (c) Desain Ulang Data
ini juga berfungsi untuk menentukan, komponen
apa saja yang sebaiknya direkayasa ulang terlebih Fase ini data mahasiswa.MA_IPS,
dahulu sehingga meminimalisir waktu pembekuan mahasiswa.MA_IPK, mahasiswa.MA_SKSLulus,
dari komponen tersebut. Untuk menentukan apakah mahasiswa.MA_SKSTempuh dan Kelas.Ke_terisi
sebuah komponen layak atau tidak menjadi sebuah akan dihilangkan karena bersifat redundan. Sebagai
komponen tunggal ataukah masih perlu dipecah gantinya akan dibuatkan fungsi agregasi untuk
lagi, secara umum digunakan rumus MTMR (mean menampilkan data tersebut. Dalam kasus ini tabel
time to maintenance request). _temp dapat dihilangkan pada desain basis data
tujuan.
Desain ulang data yang dilakukan di basis data
tujuan adalah mendesain basis data sesuai dengan
desain basis data warisan. Hanya saja dalam
Gambar 3. Rumus penentuan komponen Rekayasa Ulang Iteratif ini desain basis data tujuan
tunggal yang perlu untuk dipecah lagi dibedakan oleh klasifikasi data primer dan data
Merupakan waktu rata-rata akses data setiap residual saja. Desain hasil rekayasa ulang ini pun
kali komponen sistem melakukan tugasnya. Jika sudah ditambahkan relasi yang memungkinkan
perkiraan waktu merekayasa ulang suatu komponen konsistensi data di basis data tujuan.
RTi lebih dari MTTMRi, maka perlu adanya (d) Mengadaptasikan Program Warisan
pemecahan lagi menjadi komponen yang lebih
kecil. Ini digunakan sebagai acuan untuk Dalam proses adaptasi program warisan ke
meminimalisir waktu pembekuan komponen. basis data tujuan, terdapat analisis fungsi
Dalam kasus Sistem Informasi Akademik FTIF pengaksesan data pada sistem warisan. Proses ini
ITS Surabaya tidak diperlukan karena tidak ada mencari manakah program warisan yang berkaitan
permintaan perubahan fungsionalitas, hanya dengan data yang direkayasa ulang dan
diperlukan pengubahan platform dari ASP dan ASP mengadaptasikan fungsi baru untuk mengakses
.Net. basis data tujuan. Fungsi baru tersebut akan
Dalam proses ini juga terdapat analisis ditempatkan dalam file datalocator.asp sehingga
hubungan antara komponen dengan data sehingga memudahkan akses basis data.
diketahui data-data mana yang bersifat esensial Dalam kasus Sistem Informasi Akademik FTIF
maupun data yang residual. ITS Surabaya terdapat beberapa fungsi yang
terdapat di datalocator.asp untuk aplikasi warisan.
(b) Klasifkasi Data datalocator.asp merupakan komponen baru yang
Tahap ini adalah proses pengklasifikasian basis dibuat agar aplikasi warisan yang mengakses data
data warisan. Proses klasifikasi data ini akan residual dapat mendapatkan data tanpa mengakses
dibatasi hanya pada data yang berhubungan dengan basis data residual. Fungsi-fungsi yang terdapat di
proses Login, Frs, dan Perwalian. Data secara datalocator.asp seperti yang dilihat pada Tabel 2.
umum bersifat primer atau esensial, namun ada
beberapa data yang bersifat residual. Data residual
yang terdapat dalam entitas yang berhubungan
22
Rochimah, Penerapan Rekayasa Ulang Iteratif pada Sistem Informasi Akademik
Tabel 2. Fungsi yang berada di datalocator.asp Data banker adalah kelas yang dibuat untuk
Nama Fungsi Fungsi Tabel yang menyediakan akses basis data bagi aplikasi
berhubungan yang direkayasa ulang.
getIPSLalu() Menghasilkan kuliah,
IPS matakuliah, 2. Manajemen session
Mahasiswa val_nilai Dalam interaksi antara sistem warisan dan
getIPK() Menghasilkan Kuliah, sistem tujuan diperlukan manajemen session
IPK MataKuliah, yang dibuat oleh aplikasi yang sudah untuk
Mahasiswa val_nilai,
NilaiMinimalLul
digunakan oleh aplikasi warisan.
us 3. Desain Ulang Sistem Login
getIPKMhsEqiuvalensi() Menghasilkan Kuliah, Pengecekan login dan penyimpanan session
IPK hasil MataKuliah, untuk dipakai aplikasi warisan
ekivalensi val_nilai,
NilaiMinimalLul
4. Desain Ulang Sistem FRS
us Pembuatan kelas dalam sistem yang baru
getSKSLulus() Memproses MataKuliah dengan fungsi yang berhubungan dengan
jumlah SKS proses FRS
lulus 5. Desain Ulang Sistem Perwalian
getSKSTempuh() Mendapatkan MataKuliah
Jumlah SKS Pembuatan kelas dalam sistem yang baru
tempuh dengan fungsi yang berhubungan dengan
getJumlahPesertaKelas() Menghasilkan Kuliah proses Perwalian
Jumlah 6. Desain Ulang Sistem Header
Peserta Kelas
Pembuatan kelas dalam sistem yang baru
dengan fungsi yang berhubungan dengan menu
(e) Perpindahan Data yang ada di header
Proses perpindahan data dilakukan dengan
memanfaatkan fasilitas DTS (Data Transformation (g) Tes Ekivalensi
Service) pada SQL Server. Pada proses ini
Tes ekivalensi adalah pengecekan hasil
dilakukan pemindahan data dari SQL Server ke
rekayasa ulang apakah terdapat kesalahan atau
Oracle. Dalam implementasinya, keseluruhan tabel
ketidaksesuaian dengan aplikasi lama. Untuk
dipindahkan dari basis data warisan ke basis data
melakukan pengetesan, komponen yang baru
termasuk data residual yang ada. Dalam hal ini
diletakkan dalam domain warisan dalam hal ini
dapat dilakukan pemindahan data tabel secara
ASP. Dalam konteks ini, file default.aspx
sekaligus, karena pada dasarnya pemindahan data
menggantikan file default.asp, dan frs.aspx
tidak mempengaruhi basis data warisan yang masih
menggantikan file frs.asp dan jika fungsi-fungsi
dipakai oleh aplikasi warisan.
didalamnya memiliki kesamaan , maka tes
Setelah tabel dipindahkan ke basis data tujuan,
ekivalensi dapat dikatakan berhasil. Dalam proses
basis data tujuan berisi struktur tabel yang sama
ini dilakukan pembekuan komponen lama untuk
dengan basis data warisan. Selanjutnya
sementara waktu. Dan jika berhasil maka file
ditambahkan relasi-relasi serta primary key untuk
default.asp dan file frs.asp sudah direkayasa ulang.
menjaga konsistensi data. Dalam hal ini basis data
yang ada siap untuk digunakan oleh komponen (h) Membersihkan Data Residual
warisan yang siap direkayasa ulang.
Pada implementasi penelitian ini tempat data
(f) Desain Ulang Fungsi residual berada pada basis data tujuan bersamaan
dengan data primer. Data residual disimpan dalam
Dalam pengerjaan desain ulang fungsi ini tiap
tempat yang sama dengan data primer, namun
komponen utama akan dibuatkan dua kelas. Kelas
hanya dianggap sebagai catatan bahwa data tertentu
pertama bertanggung jawab menangani masalah
merupakan data residual yang pada akhir proses
tampilan dan kelas control yang bertanggung jawab
rekayasa ulang akan dihapus karena tidak ada
menangani masalah fungsionalitas. Untuk
komponen warisan yang menggunakannya.
kemudahan pemeriksaan kesamaan fungsi,
penamaan file pada sistem tujuan akan disamakan (i) Iterasi
dengan file yang lama, misalkan frs.asp menjadi
Proses kembali kepada analisis sistem warisan
frs.aspx. Untuk kelas control apabila diperlukan
dan melakukan hal yang sama berdasarkan pada hal
akan dinamakan Clsfrs.vb.
yang sudah dilakukan pada tahap sebelumnya,
Dalam kasus Sistem Informasi Akademik FTIF
karena prosesRekayasa Ulang Iteratif hanya
ITS Surabaya terdapat beberapa proses penting
melibatkan komponen kecil dan data yang sedikit
dalam desain ulang fungsi di sistem
pada setiap proses iterasinya.
Desain ulang fungsi dalam masing-masing
proses adalah sebagai berikut:
1. Data Banker
23
Volume 5, Nomor 1, Januari 2006 : 19 - 25
24
Rochimah, Penerapan Rekayasa Ulang Iteratif pada Sistem Informasi Akademik
tampilan seperti yang juga dilakukan header Saran dari penelitian ini adalah sebagai
pada sistem warisan. berikut.
Sedangkan untuk sub sistem yang lain tetap 1. Perlu dilakukan studi banding mengenai
mempergunakan yang telah ada dalam sistem metode rekayasa ulang lain yang pernah ada
warisan. sebelumnya yaitu Chicken Little Strategy
dan Butterfly Methodology.
2. Perlu penelitian lebih lanjut mengenai
6. KESIMPULAN DAN SARAN Rekayasa Ulang Iteratif terutama yang
Adapun kesimpulan penelitian ini adalah berkaitan dengan analisis data di sistem
sebagai berikut. warisan, karena pada Tugas Akhir ini
1. Rekayasa ulang yang telah dilakukan telah menitikberatkan pada saling berinteraksinya
menunjukkan bahwa sistem dapat direkayasa dua sistem, yaitu sistem warisan dan sistem
ulang sedikit demi sedikit, dengan tujuan.
melibatkan komponen yang kecil dan
bertahap dengan proses yang telah
dijabarkan walaupun hanya sub sistem login, 7. DAFTAR PUSTAKA
perwalian, dan frs. 1. Bianchi, Alessandro, Danilo Caivano, Society,
2. Dalam Rekayasa Ulang Iteratif diperlukan Vittorio Marengo, Iterative Reengineering of
analisis platform sistem warisan terlebih Legacy Systems, IEEE Transactions on
dahulu sebelum menentukan sistem tujuan Software Engineering, 2003.
agar sistem warisan dan sistem yang sedang 2. Sommerville, Ian, Software Engineering, 5th
dalam proses rekayasa ulang dapat edition. Chapter 34, 1995.
berkomunikasi dan berjalan bersama 3. G.Visaggio, “Ageing of a Data Intensive
3. Perpindahan data yang dilakukan dalam Legacy System: Symptoms and Remedies,”
rekayasa ulang ini dilakukan ternyata juga Journal on Software Maintenance and
dapat dilakukan dengan duplikasi data. Evolution,vol. 13, no. 5, pp. 281-308, 2001.
Duplikasi ini dilakukan dengan perpindahan
tabel per tabel dengan penambahan struktur
data berupa constraint seperti primary key.
25