digilib@itb.ac.id +62 812 2508 8800

Dokumen Asli
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

Pemahaman perangkat lunak merupakan bagian pengembangan perangkat lunak yang penting dan menghabiskan banyak waktu. Diperlukan pendekatan yang lebih efisien dalam melakukan pemahaman. Salah satu metode dalam melakukan pemahaman perangkat lunak adalah visualisasi graf representasi program. Namun, ukuran graf yang besar dapat menurunkan efisiensi metode tersebut. Tugas Akhir ini mengusulkan implementasi sistem penyederhanaan graf representasi program multirelasi dengan menggabungkan control flow graph (CFG) dan program dependence graph (PDG). Pola pikir pengembang yang diawali dengan berpikir procedural menyebabkan CFG cocok digunakan membantu pemahaman, sedangkan informasi dependensi yang sering ditanyakan pengembang terdapat pada PDG. Sistem ini juga mendukung visualisasi graf representasi dan pemberian konteks tiap simpul untuk mendukung analisis visual. Algoritma penyederhanaan graf secara umum tidak dapat diterapkan langsung pada graf multirelasi CFG dan PDG. Tugas Akhir ini juga mengusulkan bebrapa modifikasi algoritma yang dapat digunakan untuk menyederhanakan graf multirelasi tersebut tanpa kehilangan informasi relasi yang relevan. Pengujian algoritma menunjukkan beberapa algoritma yang diusulkan bekerja lebih baik dalam menyederhanakan graf CFG dan PDG. Perangkat lunak diuji dengan pengujian pengguna. Hasil pengujian menunjukkan aplikasi dapat membantu pemahaman perangkat lunak, khususnya dalam menjawab pertanyaan dependensi. Hasil pengujian pengguna juga menunjukkan algoritma greedy+ dengan modifikasi paling sesuai digunakan untuk menyederhanakan graf multirelasi. Pemberian konteks tiap simpul juga dinilai dapat memudahkan dalam memahami cuplikan kode dalam satu simpul, meskipun belum bisa menggantikan seluruh informasi yang hilang.