Reverse Engineering Untuk Memahami
Pemrosesan & Reverse Engineering Untuk Memahami Data
Oleh
:
PUTU ARIANA
14.1401.081
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS INDONESIA TIMUR
MAKASSAR
2017
Puji syukur kita ucapkan kepada
tuhan Yang Maha Esa, yang telah melimpahkan rahmat dan hidayah-Hya, Sehingga
penulis dapat menyelesaikan makalah mata kuliah Rekayasa Ulang Perangkat Lunak (UPL), dengan baik dan tepat waktu.
Penulisan laporan ini bertujuan
untuk memenuhi salah satu tugas yang di berikan oleh dosen mata kuliah Rekayasa Ulang Perangkat Lunak (UPL),
Bapak I Komang Aryasa.,S.Kom.,MT Disadari
bahwa Makalah ini masih kurang sempurna. Untuk itu diharapkan berbagai masukan
yang bersifat membangun demi kesempurnaanya.
Semoga
Makalah ini bermanfaat.
Makassar,
….……..20…
Penulis
DARTAR ISI
KATA
PENGANTAR........................................................................................ 1
DAFTAR
ISI....................................................................................................... 2
BAB I
PENDAHULUAN ................................................................................. 3
A. Latar Belakang................................................................................... 3
BAB II Reverse Engineering
Pemrosesan & Data..................................... 4
A. Reverse Engineering........................................................................ 4
a.
Apasih pengertian reverse engineering................................... 7
B.
Rekayasa Balik (Reverse Engineering)......................................... 8
C.
Reverse Engineering Untuk Memahami Pemrosesan................ 10
D.
Reverse Engineering Untuk Memahami data............................... 10
BAB
III PENUTUP......................................................................................... 13
A. Kesimpulan.............................................................................................. 13
DAFTAR PUSTAKA...................................................................................... 14
BAB I
PENDAHULUAN
A.
Latar Belakang
Perkembangan
Teknologi Informasi (TI) sekarang ini meningkat dengan pesat seiring dengan
perkembangan teknologi computer yang terus meningkat dalam hitungan waktu.
Sehubungan dengan perkembangan TI yang membawa perubahan dalam berbagai sector,
termasuk dunia Pendidikan diantaranya perpustakaan, maka pemanfaatan TI sebagai
sarana dalam menigkatkan kualitas
layanan dan operasional telah membawa perubahan yang besar di dunia perpustakaaan.
Reverse
engineering adalah proses menganalisis sistem subjek untuk mengidentifikasi
sistem, komponen dan antar hubungan mereka, dan menciptakan representasi sistem
dalam bentuk lain atau tingkat abstrasksi yang lebih tinggi
Rekayasa Balik (Reverse
Engineering) adalah proses penganalisisan system dengan maksud mengidentidikasi
komponen-komponen system dan keterkaitan antara mereka dan mempresentasikan
system tersebut dalam bentuk yang mempunyai tigkat abstraksi yang lebih tinggi.
BAB II
Reverse
Engineering Pemrosesan & Reverse Engineering Data
A.
Reverse Engineering
Rekayasa
balik atau rekayasa mundur (reverse engineering) adalah proses penemuan prinsip-prinsip teknologi dari suatu perangkat, objek, atau
sistem melalui analisis strukturnya, fungsinya, dan cara
kerjanya. Proses ini biasanya
melibatkan pemisahan (perangkat mesin, komponen
elektronik, program komputer, atau
zat biologi, kimia, atau organik) dan analisis terhadap cara kerjanya secara
terperinci, atau penciptaan perangkat atau program baru yang memiliki cara
kerja yang sama tanpa memakai atau membuat duplikat (tanpa memahami) benda
aslinya. Pada dasarnya, prinsip rekayasa balik sama dengan penelitian ilmiah, namun objek yang ditelaah berbeda. Objek
yang ditelaah pada riset ilmiah biasanya adalah fenomena alami, sedangkan pada
rekayasa balik, objek yang ditelaah adalah benda buatan manusia
Rekayasa
balik sudah dilakukan pada zaman ketika analisis perangkat keras masih
bertujuan memperoleh keuntungan komersial atau militer. Tujuannya
adalah mengetahui cara merancang produk
akhir dengan sedikit atau tidak adanya informasi tambahan mengenai prosedur
pembuatan aslinya. Informasi pembuatan produk asli tersebut tidak tersedia
entah karena memang dirahasiakan oleh pembuatnya atau karena hilang atau rusak.
Teknik yang
sama kini diteliti untuk diterapkan pada sistem perangkat lunak turunan, bukan
untuk keperluan industri atau pertahanan, melainkan untuk menggantikan
dokumentasi yang salah, tidak lengkap, atau belum tersedia
Reverse engineering adalah
proses menganalisis sistem subjek untuk mengidentifikasi sistem, komponen dan
antar hubungan mereka, dan menciptakan representasi sistem dalam bentuk lain
atau tingkat abstrasksi yang lebih tinggi. Reverse engineering melibatkan
identifikasi atau recovery dari kebutuhan program dan / atau spesifikasi desain
yang dapat membantu dalam memahami dan memodifikasi program. Tujuan utama
adalah untuk menemukan fitur yang mendasari sistem, termasuk persyaratan,
spesifikasi, desain dan implementasi. Dengan kata lain, reverse engineering itu
ditujukan untuk memulihkan dan mencatat informasi tingkat tinggi tentang
sistem, termasuk:
· Struktur sistem - komponen dan antar hubungan mereka, seperti yang
diungkapkan oleh antarmuka;
· fungsionalitas - operasi apa yang dilakukan pada komponen apa;
· perilaku dinamis - Sistem pemahaman tentang bagaimana input diubah menjadi
output;
· Alasan - desain
melibatkan pengambilan keputusan antara sejumlah alternatif pada setiap langkah
desain
· konstruksi - modul, dokumentasi, test suite, dll.
Beberapa tujuan untuk melakukan reverse engineering dapat
diklasifikasikan ke dalam beberapa klasifikasi
- masalah
kualitas (quality issues), seperti penyederhanaan perangkat lunak yang
rumit, meningkatkan kualitas perangkat lunak yang mengandung kesalahan,
penghapusan efek samping dari perangkat lunak, dll.
- masalah
pengelolaan (management issues), seperti membuat standar pemrograman,
memfasilitasi teknik manajemen pemeliharaan perangkat lunak dengan lebih
baik, dan sebagainya.
- Masalah
teknis (technical issues), seperti memungkinkan perubahan dalam perangkat
lunak, menemukan dan merekam desain sistem, menemukan dan merepresentasikan model bisnis yang ada dalam
perangkat lunak, dll.
Tanpa dukungan Sarana yang tepat, biaya reverse engineering
sistem perangkat lunak sangat tinggi. Tools Reverse
engineering menyediakan mekanisme untuk ekstraksi data, Penciptaan model,
visualisasi, dan penjelasan untuk membantu pemrogram untuk memahami sebuah
sistem software.
a.
Apa sih pengertian reverse engineering?
Reverse engineering adalah sebuah
proses untuk mencari dan menemukan system teknologi, fungsi dan operasi yang
bekerja di balik suatu desain, komponen atau objek melalui sebuah proses
analisa yang mendalam pada setiap komponen struktur dari desain atau objek yang
diteliti. Secara singkat dapat disimpulkan bahwa reverse engineering adalah sebuah
proses peng-ekstrakan informasi yang ada pada sebuah desain atau objek baik
informasi dimensi ukuran, cara kerja atau bahkan informasi metode pembentukan
desain.
Konsep reverse engineering di industri pada dasarnya adalah menganalisa suatu produk
yang sudah ada (dari produsen lain) sebagai dasar untuk merancang produk baru
yang sejenis, dengan memperkecil kelemahan dan meningkatkan keunggulan produk
para kompetitornya.
1. Keuntungan reverse engineering
·
Waktu yang digunakan dalam
mendesain suatu produk semakin cepat.
·
Menciptakan desain yang lebih
inovatif dari desain-desain atau produk-produk yang sudah ada
·
Perubahan-perubahan desain yang
akan terjadi, akan semakin mudah dibuat
·
Dokumentasi dalam bentuk 3D data,
akan memudahkan pada proses selanjutnya baik dalam manufacturing atau
prototyping
2. Kerugian reverse engineering
·
Masalah kepemilikan. Suatu pihak
dapat menyalin karya asli dan mengaku karya tersebut sebagai miliknya. Pemilik
asli tidak dapat memberikan bantahan karena tidak ada bukti yang otentik
menandakan kepemilikan.
·
Pelanggaran copyright. Merupakan
penyalinan yang tidak berijin sehingga mengakibatkan kerugian dari pencipta
karya karena tidak diperolehnya royalti apapun dari penggandaan tersebut.
·
Masalah keaslian. Karya digital
dapat dengan mudah diubah, sehingga dapat menyebabkan hilangnya atau berubahnya
data-data yang penting dari sebuah karya desain
B. Rekayasa Balik (Reverse
Engineering)
Rekayasa Balik
(Reverse Engineering) adalah proses penganalisisan system dengan maksud
mengidentidikasi komponen-komponen system dan keterkaitan antara mereka dan
mempresentasikan system tersebut dalam bentuk yang mempunyai tigkat abstraksi
yang lebih tinggi. (Sonhaji,dkk,2010) .
Kelengkapan
proses rekayasa baik (Reverse Engineering) mengacu pada tingkat detail yang
diberikan pada suatu tingkat abstraksi. Kelengkapan meningkat berbanding lurus
dengan jumlah analisis yang dilakukan.
Tingkat abstraksi suatu proses
rekayasa baik (Reverse Engineering) harus mampu melakukan hal-hal berikut ini:
1.
Representasi procedural (tingkat
yang rendah).
2.
Program dan informasi struktur
data (tangkat yang lebih tinggi).
3.
Data dan model system control
(tingkat yang sangat tinggi).
4.
Model hubungan etitas (tingkat
yang tinggi).
Kelengkapan
proses reverse engineering (rakayasa balik) mengacu pasa tingkat detail yang
diberikan pada suatu tingkat abstaksi. Kelengkapan menigkat berbanding lurus
dengan jumlah analisis yang dilakukan.
Gambar 1. Proses
Rekayasa Balik (reverse engineering)
Pada gambar 1. Talah digambarkan
proses dari rekayasa balik (reverse engineering). Sebelum melakukan rekayasa
balik (reverse engineering), maka dapat melakukan rekostruksi kode dari kode
yang tidak terstruktur dengan baik, kemudian mengekstak menjadi sebuah bagian
interface, pemprosesan dan database.
C.
Reverse Engineering Untuk Memahami
pemprosesan
Aktivitas
rekayasa (reverse engineering) real pertama di mulai dengan usaha memahami
kemudian mengekstrak abstraksi procedural yang direpresentasukan oleh kode
sumber.
Fungsionalitas
keseluruhan dari system harus dipahami sebagai kerja rekayasa balik (reverse
engineering) yang lebih detail dilakukan. Teknik segmentasi program sebagai
cara untuk mengidentifikasi pola procedural dengan sebuah model dan kemudian
mengemas lagi pola-pola inti kedalam sebuah fungsi yang penting.(Sofy,2009).
Secara
sederhana teknik segmentasi bisa diartikan sebagai suatu ruang alamat atau
segment yang berada di memori. Segment-segment itu dalam keadaan independent.
Setiap segment berisi alamat 0 sampai maksimum secara linier. Panjang setiap
segment berbeda-beda sampai panjang maksimum. Perubahan panjang segment terjadi
selama proses eksekusi. (Silitonga, 2010).
D.
Reverse Engineering Untuk Memahami
Data
Pada
tingkat system, Struktur data global (missal file, database) sering direkayasa
ulang untuk mengakomodasi paradigma manajeman database baru (missal gerakan
dari flag file ke system database relasional atau OOP).
b. Struktur Data Internal
Pendekatan untuk kelas rekayasa
balik (reverse engineering)
1. Identitas flag dan struktur data
local pada program yang merekam informasi penting mengenai struktur data
global.
2. Tetapkan hubungan antara flag dan
struktur data local dan global.
3. Untuk setiap variable yang
mempresentasikan aray atau file, daftarlah semua variable lain yang memiliki
hubungan logis dengannya.
c. Struktur Database
Langkah-langkah
mendefenisikan model data yang ada ke model database baru, adalah sebagian
bentuk :
1. Bangunan model obyek awal.
2. Tentukan kunci calon.
3. Saling kelas-kelas tentatif.
4. Defenisikan generalisasi.
5. Temukan hubungan.
BAB III
PENUTUP
A.
KESIMPULAN
Reverse
engineering adalah proses menganalisis sistem subjek untuk mengidentifikasi
sistem, komponen dan antar hubungan mereka, dan menciptakan representasi sistem
dalam bentuk lain atau tingkat abstrasksi yang lebih tinggi
Aktivitas
rekayasa (reverse engineering) real pertama di mulai dengan usaha memahami
kemudian mengekstrak abstraksi procedural yang direpresentasukan oleh kode
sumber.
Reverse
engineering Untuk Memahami Pemrosesan Fungsionalitas
keseluruhan dari system harus dipahami sebagai kerja rekayasa balik (reverse
engineering) yang lebih detail dilakukan.
Reverse engineering Untuk Memahami Data Pada tingkat system, Struktur data
global (missal file, database) sering direkayasa ulang untuk mengakomodasi
paradigma manajeman database baru (missal gerakan dari flag file ke system
database relasional atau OOP).
DAFTAR PUSTAKA
http://www.partner3d.com/apa-sih-pengertian-reverse-engineering.
Sonhaji,dkk.2010. Rekayasa Ulang(Re-Engineering).
Sofy, Nelly. 2009.Re-Engineering
Silitonga. 2010. System Multiprogram
Dengan Memori Maya System paging, Segmentasi dan Kombinasi Paging dan
Segmentasi.
Belum ada tanggapan untuk "Apaan Sih Itu Reverse Engineering.?"
Posting Komentar