Apaan Sih Itu Reverse Engineering.?

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
KATA PENGANTAR
            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.


Postingan terkait:

Belum ada tanggapan untuk "Apaan Sih Itu Reverse Engineering.?"

Posting Komentar