BAB I
PENDAHULUAN
1.1 Latar Belakang
Penggunaan komputer yang sebelumnya hanya digunakan sebagai
peralatan pembantu dalam pekerjaan, seperti pengolah kata, aplikasi bisnis
perkantoran, dan lain-lain. Saat ini informasi dapat berupa text, gambar, suara dan
lain-lain. Perkembangan software dan jaringan komputer juga berkembang pesat
saat ini. Banyak software berjalan dengan konsumsi memori yang sangat besar
contohnya software pengolahan grafis dan film. Selain itu penggunaan jaringan
komputer dalam berbagi resource juga menuntut memori komputer yang
memadai.
Dunia animasi terutama program untuk membuat animasi, pasti mengenal
apa itu swf dan fla. Swf merupakan salah satu jenis file animasi dari hasil dari
software Adobe Flash setelah di compile, sedangkan fla adalah extension dari file
asli ( file mentah ) dari software tersebut. Software Adobe Flash merubah fla
menjadi swf, tapi tidak bisa merubah dari swf ke fla.Oleh sebab itu untuk
memecah file swf kembali ke file asal maka di buatlah aplikasi software untuk
merubah file swf ke fla supaya mempermudah pengguna untuk memisahkan file
swf seperti gambar, sound dan script.
Kompilator (Inggris: compiler) adalah sebuah program komputer yang
berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa
pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman
lain.File-file shockwave flash merupakan kumpulan kumpulan dari file-file dalam
bentuk suara, image, video, scrift, teks, masalahnya pada saat ini dalam format
bentuk tersebut sulit di pecah dan dapat dipecahkan kembali dalam file-file
multimedia dengan menggunakan software.
1
1.2 Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat Aplikasi SHOCKWAVE FLASH
DECOMPILER dengan menggunakan Bahasa Visual C#. Aplikasi untuk
mengkompilasi flashTM (SWF File yang di eksrak di file terpisah).
1.3 Ruang Lingkup
Ruang lingkup dalam penelitian ini terdiri dari input File SWF, proses
kompilasi, dan output file kompilasi. Sedangkan proses kompilasi adalah untuk
proses kompilasi file – file SWF menjadi file Fla dikompilasi (SWF file),dan
ekstrak di file terpisah, semua gambar dan semua file MP3. Hasil output dari
kompilasi file SWF tersebut langsung disimpan di file computer yang sudah
ditentukan sendiri dan sudah dapat dilihat hasil script yang bisa dibuka dalam
program flash.
1.4 Manfaat
Manfaat dalam penulisan tugas akhir ini adalah sebagai pengetahuan akan
teknik kompilasi SHOCKWAVE FLASH ke fla yang menjadi terpisah satu sama
lainnya, dan penggunaan aplikasinya.
2
BAB II
TINJAUAN PUSTAKA
2.1 File SWF
SWF (awalnya berdiri untuk "Format Web Kecil" kemudian berubah menjadi
"Shockwave Flash" oleh Macromedia, kemudian kembali berubah kembali ke
Small Web Format ketika perusahaan memilih untuk memiliki frase "Shockwave"
hanya merujuk kepada Direktur, diucapkan swiff atau "swoof" adalah sebagian
terbuka repositori untuk multimedia dan terutama untuk vector graphics, berasal
dari FutureWave Software dan telah datang di bawah kendali Adobe.
Dimaksudkan untuk menjadi cukup kecil untuk dipublikasikan di web, SWF file
dapat berisi animasi atau applet dari berbagai tingkat interaktivitas dan fungsi.
SWF saat ini berfungsi sebagai format yang dominan untuk menampilkan
"animasi" vektor grafik di web, jauh melebihi penggunaan W3C standar terbuka
SVG, yang telah bertemu dengan masalah-masalah di atas implementasi bersaing.
Mungkin juga digunakan untuk program-program, biasanya permainan,
menggunakan Actionscript.
2.2 Gambar
Gambar adalah sebuah obyek array 2 dimensi yang terdiri dari pixel. Pada
gambar bertipe greyscale pixel hanya memiliki satu lapis byte atau 8 bit yang
menggambarkan intensitas warnannya. Pada gambar berwarna, satu pixel
memiliki tiga lapis atau layer byte warna sehingga satu pixel pada file gambar
berwarna terdapat 24 bit yang menggambarkan intesitas warna pada tiga warna
utama yaitu merah (Red), hijau (Green), dan biru (Blue).
Setiap gambar memiliki dua bagian yaitu Header dan Raster, Header
berisikan identifikasi tipe gambar yang bersangkutan, dan Raster berisikan
rangkaian bit yang menggambarkan pixel pada data gambar tersebut. Pada data
gambar tidak terkompresi (Uncompressed) atau raw image rangkaian bit
menggambarkan setiap pixel warnanya sehingga ukuran data menjadi lebih besar,
contoh gambar berekstensi PNG, BMP. Pada gambar terkompresi (Compressed)
setiap pixel diubah sehingga tidak semua detail gambar ditampilkan tetapi sama
3
sekali tidak merusak data gambar tesebut dan ukuran file pun menjadi lebih kecil,
contoh gambar berekstensi JPEG.
2.3 File Sound
Format/bentukjadi berkas audio (bahasa Inggris: audio file format) adalah
suatu bentukjadi yang digunakan dalam menyimpan berkas audio pada sistem
komputer. Bentukjadi audio terbagi menjadi 3 golongan: mentah, pemampatan
tanpa kehilangan mutu, dan pemampatan biasa. Bunyi atau suara adalah kompresi
mekanikal atau gelombang longitudinal yang merambat melalui medium. Medium
atau zat perantara ini dapat berupa zat cair, padat, gas. Jadi, gelombang bunyi
dapat merambat misalnya di dalam air, batu bara, atau udara.
Kebanyakan suara adalah merupakan gabungan berbagai sinyal, tetapi
suara murni secara teoritis dapat dijelaskan dengan kecepatan osilasi atau
frekuensi yang diukur dalam Hertz (Hz) dan amplitudo atau kenyaringan bunyi
dengan pengukuran dalam desibel. Manusia mendengar bunyi saat gelombang
bunyi, yaitu getaran di udara atau medium lain, sampai ke gendang telinga
manusia. Batas frekuensi bunyi yang dapat didengar oleh telinga manusia kira-
kira dari 20 Hz sampai 20 kHz pada amplitudo umum dengan berbagai variasi
dalam kurva responsnya. Suara di atas 20 kHz disebut ultrasonik dan di bawah 20
Hz disebut infrasonik.
2.4 File Script
Bahasa skrip atau lebih dikenal dalam bahasa Inggris: scripting language,
merupakan bahasa pemrograman yang menyediakan fasilitas penerjemahan serta
kompilasi kode dalam satu rangkaian proses secara integratif sehingga
memungkinkan kode dibuat dapat langsung dijalankan sebagai program secara
dinamis. Skrip atau kode program yang akan dijalankan umumnya akan
diterjemahkan terlebih dulu dari kode sumber ke dalam P-Code, sebagai
tambahan, beberapa bahasa skrip bahkan telah menyediakan kompiler JIT
terintegrasi yang akan mengevaluasi serta menerjemahkan bagian-bagian kritis
atas P-Code tersebut menjadi kode mesin sehingga menghasilkan eksekusi proses
4
yang lebih cepat hingga secara relatif bisa menandingi program yang ditulis
dengan menggunakan bahasa pemrograman kompilatif seperti C.
Pada awalnya bahasa skrip seringkali disebut sebagai batch language
karena tujuan awalnya adalah untuk membantu fungsi administratif pemeliharaan
sistem dengan cara mengotomatisasikan tugas administrator sistem melalui
serangkaian instruksi pemeliharaan sistem yang dieksekusi dalam satu waktu
secara periodik. Pada awal era komputer mainframe tahun 1950-an, komputer-
komputer pada masa tersebut tidak bersifat interaktif, semua proses dilakukan
secara batch (serangkaian instruksi diekseskusi dalam satu proses). IBM Job
Control Language (JCL) merupakan salah satu bahasa skrip tertua yang diketahui
digunakan untuk mengontrol proses batch.
Antar muka interaktif berbasis text pertama dikembangkan sejak tahun
1960-an yang memungkinkan pengguna secara langsung berinteraksi dengan
komputer-komputer tersebut, setiap perintah yang diketikkan oleh pengguna akan
langsung dieksekusi oleh sistem, pengguna juga dapat memanfaatkan fasilitas
interaktif tersebut untuk menulis instruksi-instruksi dalam satu berkas yang dapat
dieksekusi oleh sistem sebagai proses batch. Bahasa-bahasa pemrograman tertentu
seperti Tcl dan Lua secara spesifik didisain sebagai bahasa skrip untuk keperluan
umum yang dapat disisipkan sebagai pustaka ke dalam aplikasi utama sehingga
menyediakan fitur eksekusi skrip dalam berbagai jenis aplikasi.
Bahasa lainnya seperti Visual Basic (VBA) menyediakan integrasi yang
erat dengan fasilitas otomatisasi sistem dengan sejumlah fitur serta kapabilitas
yang cukup kaya yang memungkinkan administrator sistem melakukan banyak
hal terkait dengan sistem secara terotomatisasi, meski demikian keberadaan fitur
serta kapabilitas ini seringkali pula dimanfaatkan oleh sekelompok tertentu untuk
membuat virus komputer. Beberapa perusahaan perangkat lunak menyediakan
sejumlah bahasa skrip pada produk yang mereka pasarkan. Peramban web modern
saat ini umumnya menyediakan bahasa skrip yang ditujukan untuk membuat fitur-
fitur tambahan atas peramban tersebut termasuk menyediakan fasilitas yang
memungkinkan skrip tersebut berinteraksi dengan pengguna, contoh bahasa skrip
yang paling umum digunakan dalam kasus ini adalah JavaScript, atau XUL.
5
2.5 Unified Modeling Language (UML)
2.5.1 Definisi
UML merupakan satu kumpulan konvensi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem software yang terkait dengan
objek (Whitten L. Jeffery et al, 2004). Sementara menurut Henderi (2007: 4)
Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah
menjadi standar dalam industri software untuk visualisasi, merancang, dan
mendokumentasikan sistem perangkat lunak. Bahasa Pemodelan UML lebih
cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi
objek (C+ , Java, VB.NET), namun demikiantetap dapat digunakan pada bahasa
pemrograman prosedural, Penggunaan
1. Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum,
dibuat dengan use case dan actor
2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara
umum, dibuat dengan interaction diagrams
3. Menggambarkan representasi struktur statik sebuah sistem dalam bentuk
class diagrams
4. Membuat model behavior ”yang menggambarkan kebiasaan atau sifat
sebuah sistem” dengan state transition diagrams
5. Menyatakan arsitektur implementasi fisik menggunakan component and
development diagrams
6. Menyampaikan atau memperluas fungsionality dengan stereotypes
UML merupakan salah satu alat bantu yang sangat handal dalam bidang
pengembangan sistem berorientasi objek karena UML menyediakan bahasa
pemodelan visual yang memungkinkan pengembang sistem membuat blue print
atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam
mengkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis
yang bisa dikombinasikan menjadi diagram. UML mempunyai banyak diagram
yang dapat mengakomodasi berbagai sudut pandang dari suatu perangkat lunak
yang akan dibangun.
6
Diagram-diagram tersebut digunakan untuk (Henderi et al, 2008:71):
1. Mengkomunikasikan ide
2. Melahirkan ide-ide baru dan peluang-peluang baru
3. Menguji ide dan membuat prediksi
4. Memahami struktur dan relasi-relasinya
2.5.2 Konsep Pemodelan Menggunakan Unified Modeling Language (UML)
Pemodelan menggunakan Unified Modeling Language merupakan
metode pemodelan berorientasi objek dan berbasis visual. Karenanya pemodelan
menggunakan UML merupakan pemodelan objek yang fokus pada pendefinisian
struktur statis dan model sistem informasi yang dinamis daripada mendefinisikan
data dan model proses yang tujuannya adalah pengembangan tradisional. UML
menawarkan diagram yang dikelompokan menjadi lima perspektif berbeda untuk
memodelkan suatu sistem. Seperti satu set blue print yang digunakan untuk
membangun sebuah rumah.
2.5.3 Jenis-jenis diagram pada UML
- Use Case Diagram dibuat untuk memvisualisasikan/menggambarkan
hubungan antara Actor dan Use Case
Tabel 1. Simbol Use Case Diagram
NO GAMBAR NAMA KETERANGAN
1 Actor
Menspesifikasikan himpuan peran yang
pengguna mainkan ketika berinteraksi
dengan use case.
2 Dependency
Hubungan dimana perubahan yang terjadi
pada suatu elemen mandiri (independent)
akan mempengaruhi elemen yang
bergantung padanya elemen yang tidak
mandiri (independent).
7
3Generalizatio
n
Hubungan dimana objek anak
(descendent) berbagi perilaku dan struktur
data dari objek yang ada di atasnya objek
induk (ancestor).
4 IncludeMenspesifikasikan bahwa use case
sumber secara eksplisit.
5 Extend
Menspesifikasikan bahwa use case target
memperluas perilaku dari use case sumber
pada suatu titik yang diberikan.
6 AssociationApa yang menghubungkan antara objek
satu dengan objek lainnya.
7 System
Menspesifikasikan paket yang
menampilkan sistem secara terbatas.
8 Use Case
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu aktor
9Collaboratio
n
Interaksi aturan-aturan dan elemen lain
yang bekerja sama untuk menyediakan
prilaku yang lebih besar dari jumlah dan
elemen-elemennya (sinergi).
10 Note
Elemen fisik yang eksis saat aplikasi
dijalankan dan mencerminkan suatu
sumber daya komputasi
- Sequence Diagram adalah suatu diagram yang
memperlihatkan/menampilkan interaksi-interaksi antar objek di dalam
sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi
antar objek tersebut termasuk pengguna, display, dan sebagainya berupa
”pesan/message”. Sequence Diagram digunakan untuk menggambarkan
skrenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah
respon dari suatu kejadian/even untuk menghasilkan output tertentu.
8
Tabel 2. Simbol Sequence Diagram
NO GAMBAR NAMA KETERANGAN
1 LifeLine
Objek entity, antarmuka yang saling
berinteraksi.
2 Message
Spesifikasi dari komunikasi antar objek
yang memuat informasi-informasi
tentang aktifitas yang terjadi
3 Message
Spesifikasi dari komunikasi antar objek
yang memuat informasi-informasi
tentang aktifitas yang terjadi
- Class Diagram adalah diagram yang menunjukan class-class yang ada
dari sebuah sistem dan hubungannya secara logika. Elemen-eleman class
diagram dalam pemodelan UML terdiri dari: Class-class, struktur class,
sifat class (class behavior), perkumpulan/gabungan (association),
pengumpulan/kesatuan (aggregation), ketergantungan (dependency),
relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role
name (peranan/tugas nama).
Tabel 3. Simbol Class Diagram
NO GAMBAR NAMA KETERANGAN
1 Generalization
Hubungan dimana objek anak
(descendent) berbagi perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
2Nary
Association
Upaya untuk menghindari asosiasi
dengan lebih dari 2 objek.
9
3 ClassHimpunan dari objek-objek yang berbagi
atribut serta operasi yang sama.
4 Collaboration
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu aktor
5 Realization
Operasi yang benar-benar dilakukan oleh
suatu objek.
6 Dependency
Hubungan dimana perubahan yang terjadi
pada suatu elemen mandiri (independent)
akan mempegaruhi elemen yang
bergantung padanya elemen yang tidak
mandiri
7 Association
Apa yang menghubungkan antara objek
satu dengan objek lainnya
- Activity Diagram adalah suatu diagram yang menggambarkan berbagai
alir aktivitas dalam sistem yang sedang dirancang, menggambarkan
bagaimana ”how” setiap alir berawal, pilihan keputusan yang mungkin
terjadi, dan bagaimana setiap alir tersebut berakhir.
Tabel 4. Simbol Actifity Diagram
NO GAMBAR NAMA KETERANGAN
1 Actifity
Memperlihatkan bagaimana masing-
masing kelas antarmuka saling berinteraksi
satu sama lain
2 ActionState dari sistem yang mencerminkan
eksekusi dari suatu aksi
3 Initial Node Bagaimana objek dibentuk atau diawali.
4 Actifity Final Bagaimana objek dibentuk dan
10
Node dihancurkan
5 Fork NodeSatu aliran yang pada tahap tertentu
berubah menjadi beberapa aliran
2.6 Framework
Platform .NET Framework Microsoft .NET yang awalnya disebut Next
Generation Windows Services (NGWS) adalah suatu platform untuk membangun
dan menjalankan generasi penerus aplikasi-aplikasi terdistribusi. Microsoft.NET
merupakan framework (kerangka) pengembangan yang menyediakan antarmuka
pemrograman baru untuk layanan Windows dan API (Application Programming
Interface).
Microsoft .NET merupakan strategi Microsoft untuk menghubungkan
sistem, informasi, dan alat (device), sehingga orang dapat berkomunikasi serta
berkolaborasi dengan lebih efektif. Teknologi .NET terintegrasi penuh melalui
produk - produk Microsoft, dan menyediakan kemampuan untuk
mengembangkan solusi dengan menggunakan Web service. Platform
Microsoft .NET terdiri dari lima komponen utama yang tersusun dalam tiga
lapisan (layer). Lapisan paling bawah adalah sistem operasi; lapisan kedua terdiri
dari tiga komponen; lapisan teratas adalah Visual Studio .NET.
2.7 Visual C#
Microsoft Visual C# adalah sebuah program alat bantu pemrograman
(Rapid Application Development tool) yang dibuat oleh Microsoft Corporation
dan dapat digunakan untuk membuat program berbasis grafis dengan
menggunakan bahasa pemrograman mirip C++. Program ini telah dimasukkan ke
dalam produk Microsoft Visual Studio, bersama-sama dengan Visual C++, Visual
Basic, Visual FoxPro serta Visual J#. Sejauh ini, program ini merupakan program
yang paling banyak digunakan oleh para programmer untuk membuat program
dalam bahasa C#.
11
C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang
berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif
kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa
C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat
pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan
lain-lain) dengan beberapa penyederhanaan. Menurut standar ECMA-334 C#
Language Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043)
yang diikuti oleh tanda pagar yang menandakan angka # (U+0023).
2.8 Adobe Flash
AdobeFlash (dahulu SmartSketch FutureSplash, FutureSplash Animator d
an MacromediaFlash) adalah platform multimedia yang digunakan untuk
menambah kananimasi, video, dan interaktivitas ke halaman web. Flash sering
digunakan untuk iklan, game dan animasi flash untuk siaran. Baru-baru ini,
telah diposisikan sebagai alat untuk"Rich Internet Applications" ("RIA").
Flash memanipulasi grafik vektor dan raster untuk memberikan animasi teks,
gambar, dan gambar diam.
Ini mendukung streaming dua arah audio dan video, dan dapat
menangkap input pengguna melalui mouse, keyboard, mikrofon, dan
kamera. Flashdiskberisi sebuah bahasa berorientasi obyek yang disebut
ActionScript dan mendukungotomatisasi melalui Javascript flash bahasa (JFSL).
Konten Flash dapat ditampilkan pada berbagai sistem komputer dan perangkat,
menggunakan Adobe Flash Player, yang tersedia gratis untuk web browser umum,
beberapa ponsel dan beberapa perangkat elektronik lainnya (menggunakan
FlashLite).
Beberapa pengguna merasa bahwa Flash memperkaya pengalaman
web mereka, sementara yang lain menemukan ekstensif
menggunakan Flash animasi, terutama dalam periklanan, mengganggu dan
menjengkelkan, menimbulkan industri rumahanyang mengkhususkan diri dalam
memblokir konten Flash. Flash juga telah dikritik karena dapat
mempengaruhi kegunaan dari halaman web.
12
2.9 Visual Studio.Net
Microsoft Visual Studio .NET merupakan kumpulan lengkap tools
pengembangan untuk membangun aplikasi Web ASP.NET, XML Web Services,
aplikasi dekstop, dan aplikasi mobile. Di dalam Visual Studioinilah bahasa-bahasa
pemrograman .NET seperti Visual Basic, Visual C++, Visual C# (CSharp), dan
Visual J# (JSharp) semuanya menggunakan lingkungan pengembangan
terintegrasi atau IDE yang sama sehingga memungkinkan untuk saling berbagi
tools dan fasilitas.
Visual Basic .NET (atau VB.NET) merupakan salah satu bahasa
pemrograman yang bisa digunakan untuk membangun aplikasi-aplikasi NET di
platform Microsoft .NET. Tidak seperti generasi sebelumnya Visual Basic versi
6.0 ke bawah yang lebih difokuskan untuk pengembangan aplikasi desktop,
Visual Basic .NET memungkinkan para pengembang membangun bermacam
aplikasi, baik desktop maupun aplikasi web. Seiring dengan perkembangan
aplikasi perangkat lunak yang semakin kompleks, saat ini Visual Basic .NET
memasuki versi kelima (Visual Basic 2008).
2.9.1 Struktur Visual Basic.Net IDE
Secara umum struktur aplikasi dari Visual Basic.Net IDE adalah sebagai
berikut :
Gambar 1. Tampilan Interface Visual Basic.Net
13
Source Editor
Direktori Proyek
Menubar
PERENCANAAN
ANALISIS
PERANCANGAN
IMPLEMENTASI
UJI COBA
PENGGUNAAN
VALID ?
BAB III
METODOLOGI PENELITIAN
3.1 Metodologi Penelitian
Metode dalam penelitian yang dilakukan pada praktek lapang ini
menggunakan pendekatan SDLC (System Development Life Cycle). Tahap-
tahapannya ialah seperti berikut pada gambar.
tidak
ya
Gambar 2. Pendekatan SDLC
14
3.1.1 Tahap Perencanaan
Tahap perencanaan dilakukan dengan memperkirakan sistem yang akan
dibuat, juga melakukan penelitian tentang sistem seperti apa yang dibutuhkan.
Penggunaan teknologi pada sistem kelak.
Teknologi sistem dibuat dengan menggunakan bahasa C# dengan bantuan
Visual Studio 2008, serta perangkat lunak lain.
3.1.2 Tahap Analisis
Tahap analisis ini, merupakan tahapan untuk menganalisis gambaran
sistem yang akan dibangun dengan cara mempelajari permasalahan yang dihadapi
oleh pengguna, sehingga sistem atau informasi yang dirancang sesuai dengan
keinginan dan permintaan user atau pengguna. Tahap ini juga sebagai tahap
pengumpulan data. Fungsi yang akan dibuat difokuskan pada kebutuhan sistem
atau informasi yang akan disampaikan. Perihal ini dilakukan guna mempermudah
dalam merancang sistem yang akan dibangun.
3.1.3 Tahap Perancangan
Tahap perancangan dilakukan dengan membuat rancangan alur atau
flowchart dari sistem yang akan dibuat. Lalu akan dibuat juga diagram dari
pemrograman berorientasi obyek, yaitu dengan pembuatan diagram UML
( Unified Modelling Language ). Untuk perancangan tampilan program yaitu
dengan merancang GUI atau Antarmuka Sistem yang akan di integrasikan dengan
sistem. Lalu tata letak input area, button, dan lain-lain untuk menciptakan user
interface yang seefektif mungkin.
3.1.4 Tahap Implementasi
Pada tahap ini dilakukan proses penerapan hasil perancangan yang terarah
ke dalam bentuk pengimplementasian sebuah program aplikasi dengan
menggunakan Visual Basic.Net 2008.
15
3.1.5 Tahap Uji Coba
Pada tahap ini pengujian dilakukan untuk memastikan bahwa hasil
implementasi telah sesuai dengan struktur dan fungsi yang sudah ada pada
tahap perancangan, apabila dalam uji coba mengalami kegagalan sebelum
melanjutkan ketahap berikutnya, terlebih dahulu kembali ketahap perancangan
dan seterusnya sampai sistem yang dibuat sesuai dengan yang diinginkan atau
valid. Tahap-tahap pengujian yang dilakukan adalah :
a. Uji Coba Struktural
Uji coba Struktural merupakan uji coba yang dilakukan untuk
mengetahui kesesuaian rancangan dengan hasil implementasi. Dari hasil
uji coba struktural dengan pengujian tiap-tiap form dapat diperoleh
kesimpulan bahwa sistem berjalan dengan baik sehingga diperoleh data
valid.
b. Uji Coba Fungsional
Setelah melakukan uji coba secara struktural, kemudian dilakukan
uji coba sistem fungsional. Uji coba fungsional merupakan uji coba yang
dilakukan untuk mengetahui apakah setiap button/form telah berfungsi
atau tidak.
c. Uji Coba Validasi
Uji coba validasi merupakan pemeriksaan keakuratan hasil data yang telah
dimasukan kedalam aplikasi. Uji coba tersebut dilakukan dengan validasi sistem
pengisian data ke dalam sistem dan hasil akhirnya sesuai dengan data yang
dimasukkan.
3.1.6 Tahap Penggunaan
Pada tahap ini dilakukan proses penggunaan dan pemeliharaan sistem
yang akan berguna untuk menjaga kehandalan sistem yang telah dibuat dan
memungkinkan untuk dikembangkan lagi di waktu mendatang.
16
BAB IV
RANCANGAN DAN IMPLEMENTASI
4.1 Tahap Perencanaan
Perencanaan dilakukan dengan membaca sumber-sumber berupa literatur
yang berhubungan dengan proses kompiler. Dalam tahapan ini juga dilakukan
penelitian struktur pada media Script, sound, picture.
4.2 Tahap Analisis
Tujuan dilakukannya tahapan ini adalah mengidentifikasikan
permasalahan dalam komponen atau file yang sulit dipecahkan kembali, dan
mencari solusi dari permasalahannya.
4.2.1 Analisis Permasalahan
Dalam proses decompile file, misalkan pemecahan file swf kembali
terpisah masing – masing. Banyak permasalahan sulitnya mendapatkan data yang
di inginkan dari salah satu file yang ada dalam file swf tersebut dan ingin merubah
data yang ada dalam file tersebut. Sedangkan Software Adobe Flash merubah fla
menjadi swf, tapi tidak bisa merubah dari swf ke fla.
4.2.2 Solusi Masalah
Dari permasalahan yang ada, maka dibuatlah aplikasi yang dapat merubah
file swf ke fla dengan memudahkan pengguna untuk memecahkan file swf
tersebut masing – masing seperti file gambar, file sound dan file script yang yang
sudah menjadi satu dalam file swf. Pengguna pun dapat melihat atau mengedit
bagian yang akan di rubah seperti script yang bisa di jalankan memakai program
macromedia flash dan mengganti file sound ataupun gambar yang di inginkan.
4.3 Tahap Perancangan
Perancangan dilakukan dengan membuat flowchart sistem yang akan
dibuat, lalu membuat model sistem, terdiri dari beberapa diagram yang termasuk
dalam metode pemodelan UML.
17
4.3.1 Class Diagram
Gambar 3. Class Diagram
4.3.2 Use Case Diagram
Use Case adalah teknik untuk menggambarkan alur berjalannya sistem.
Use case dibuat dengan menjelaskan interaksi standar antara pengguna (aktor)
dengan sistem itu sendiri, dan menyediakan narasi tentang bagaimana sistem itu
digunakan.
Gambar 4. Use Case Diagram.
18
4.3.3 Activity Diagram
Diagram Activity adalah teknik untuk menggambarkan logika
prosedural, proses kegiatan, dan alur kerja aplikasi Swf Decompiler. Dalam
banyak hal, diagram ini hampir menyerupai flowchart, perbedaan mencolok pada
keduanya adalah notasi diagram activity mendukung kebiasaan sistem yang
parallel.
Gambar 5. Actifity Diagram
19
4.3.4 Squence Diagram
Diagram sequence ini digunakan untuk menggambarkan perilaku pada
sistem notifikasi swf decompiler. Diagaram ini menunjukkan sejumlah contoh
objek dan message (pessan) yang diletakkan diantara objek-objek di dalam use
case.
Gambar 6. Squence Diagram
4.3.5 Perancangan Antarmuka
Suatu sistem dapat dikatakan baik apabila tata letak antarmuka
memberikan kemudahan bagi pengguna untuk mengerti tujuan sistem. Suatu
sistem sangat tergantung pada tata letak antarmuka karena karakteristik pengguna
yang berbeda-beda. Berikut gambar form utama aplikasi swf decompiler.
20
Gambar 7. Form Utama
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melakukan penyisipan
data informasi dengan menyisipkan data swf yang ingin dipecah kembali, output
yang akan menjadi gambar, sound dan script. Terdapat beberapa panel untuk
mengisikan data file swf File info untuk melihat hasil data yang sudah berhasil di
pecah, tab pictures untuk melihat hasil data gambar yang sudah di pecah, tab
sound juga untuk melihat hasil data sound dan format sound tersebut, kemudian
tab script pun hanya untuk melihat file info saja sedangkan hasil data data yang
sudah di pecah dapat dilihat di folder output yang sudah di pilih.
21
Gambar 8. Form Menu Tab Pictures
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
gambar yang sudah di decompile, di menu tab pictures dengan memindahkan tab
berikutnya yang isinya ada file name data gambar tersebut dan format gambar
yang sudah berhasil di pecahkan.
Gambar 9. Form Menu Tab Sound.
22
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
sound yang sudah di decompile, di menu tab sound dengan memindahkan tab
berikutnya yang isinya ada file name data sound tersebut dan format sound yang
sudah berhasil di pecahkan.
Gambar 10. Form Menu Tab Action Script Bytecode.
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
script yang sudah di decompile, di menu tab script dengan memindahkan tab
berikutnya yang isinya ada file name data script tersebut dan format script yang
sudah berhasil di pecahkan.
23
4.4 Rancangan Flowchart Sistem
4.4.1 Flowchart aplikasi SHOCKWAVE FLASH DECOMPILER
Gambar 11. Flowchart sistem.
4.4.2 Flowchart File Data
24
Tahapan ini adalah tahapan dimana rancangan-rancangan yang telah dibuat
diimplementasikan ke dalam bentuk dan fungsi yang sesuai dengan yang
diharapkan menggunakan bantuan bahasa pemrograman dan perangkat-perangkat
lunak pendukungnya.
4.6 Pembuatan Proyek
Untuk mengimplementasikan program rancangan aplikasi swf decompile
rmenggunakan Visual Basic .Net Langkah – langkah pembuatan form secara garis
besar dapat dilihat pada uraian berikut ini:
1. Buka program Microsoft Visual Basic .Net seperti gambar dibawah ini:
26
Gambar 13. Membuka Microsoft Visual Basic .Net
2. Pilih creat project kemudian mulai member nama project.
27
Gambar 14. Pembuatan Project Baru
3. Buatlah design form dengan menggunakan components dan control toolbar dan buat design form seperti beberapa rancangan interface yang telah diuraikan sebelumnya. Sebagai contoh adalah form aplikasi sockwave flash decompiler:
Gambar 15. Contoh Hasil Rancangan Form
4. Isi script program dengan masuk ke solution explorer lalu pilih file yang akan diisi script, klik kanan view code , maka akan tampil gambar dibawah ini:
29
Gambar 16. View Code.
BAB V
HASIL DAN PEMBAHASAN
5.1 Hasil
Berikut adalah hasil dari implementasi aplikasi swf decompiler,
5.1.1 Form Utama
Pada form menu utama terdapa pencarian untuk memasukkan file swf
yang belum terpisahkan masing-masing seperti gambar, suara dan script. File
tersebut masih menjadi satu bisa di lihat pada gambar 17 di dalam file swf tersebut
terdapat gambar, suara dan juga script.
Gambar 17 . Tampilan File SWF Yang Belum Terpisah.
30
Gambar 18 . Form utama.
Pada form ini pengguna dapat memilih salah satu dari dua tab yang
tersedia. Tab aktif merupakan tab tempel, tab ini berguna untuk operasi
menyisispkan data informasi, yang dapat berupa file apapun, ke dalam media
gambar. Berikut beberapa keterangannya:
1. Panel untuk memilih file yang akan disisipkan
2. Panel untuk memilih tempat penyimpanan file yang dipecah.
3. Panel untuk mengkompilasi file swf yang telah disisipkan.
4. Deskripsi file info, pictures, sound, action script bytecode.
5. Panel info, untuk melihat hasil dari file swf yang dipecah seperti, swf
version, dimensions, file siza, fps, frames count, signature, dan bg color.
Pada tab file info dapat melihat seperti versi file swf yang di ekstra seperti
pada gambar 18 yang isinya hanya sampai versi 7. Di dalam program swf
decompiler ini di batasi sampai versi 1 sampai 7. Dimensi gambar yang ada di
dalam file dapat di lihat pada gambar 18 dengan dimensi gambar yang sudah di
pecah contohnya dengan ukuran 240 x 320.
31
2
3
4
5
Ukuran file juga bisa di lihat dalam file info, dan warna pun dapat dilihat
pula kode warnanya dengan berbagai macam warna yang sudah di atur dalam
program ini. Pada menu file info sebelum memecah file swf yang sudah di input
masih belum terisi seperti pada gambar 18 didalam program diisi dengan N/A
yang di maksud dengan kode tersebut kosong atau belum terisi.
Listing Program file info :“private void buttonGenerate_Click(object sender, EventArgs e) { int numImg = 0; int numSound = 0; int numActionScript = 0;
string fileName = this.textBoxSwf.Text; string outputDir = this.textBoxDir.Text; TestPath(fileName, outputDir);
if (log.IsDebugEnabled) log.Debug("**************** Start to decompile file " + fileName);
this.listViewPix.Items.Clear(); this.listViewSounds.Items.Clear(); this.listViewActionScript.Items.Clear();
SwfReader swfReader = null; try { Cursor.Current = Cursors.WaitCursor;
swfReader = new SwfReader(fileName); Swf swf = swfReader.ReadSwf(); this.labelSwfVersion.Text = swf.Version.ToString(); this.labelSwfDim.Text = swf.Header.Width + "x" + swf.Header.Height; this.labelSwfFps.Text = swf.Header.Fps.ToString(); this.labelSwfFrames.Text = swf.Header.Frames.ToString(); this.labelSwfSize.Text = swf.Header.FileSize.ToString(); this.labelSwfSign.Text = swf.Header.Signature;”
32
5.1.2 Form Tab File Info
Gambar 19. Form utama Tab File Info.
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
yang sudah di decompile, di menu tab file info dengan memindahkan tab
berikutnya yang isinya ada file name data seperti swf version, Dimensions, file
size, fps, frames count, signature, bg color tersebut dan format yang sudah
berhasil di pecahkan.
Pada info file ini dapat dilihat dalam gambar 20 dan listing program
dengan proses pengambilan file swf tersebut pada button cari kemudian masukkan
file swf yang sudah tersimpan pada partisi di komputer.
Gambar 20. Penginputan untuk file swf.
33
Listing program proses pengambilan file :
“public partial class Form1 : Form { private static readonly ILog log = LogManager.GetLogger(typeof(Form1));
public Form1() { InitializeComponent();
string currentPath = Directory.GetCurrentDirectory(); if (currentPath.EndsWith(Path.DirectorySeparatorChar.ToString()) == false) currentPath += Path.DirectorySeparatorChar; string output = currentPath + "output\\"; string input = currentPath + "input\\sample.swf"; this.textBoxDir.Text = output; this.textBoxSwf.Text = input; }
private void buttonBrowseSwf_Click(object sender, EventArgs e) { DialogResult res = this.openFileDialog1.ShowDialog(); if (res == DialogResult.OK) { if (File.Exists(this.openFileDialog1.FileName)) this.textBoxSwf.Text = this.openFileDialog1.FileName; } }
private void buttonBrowseDir_Click(object sender, EventArgs e) { DialogResult res = this.folderBrowserDialog1.ShowDialog(); if (res == DialogResult.OK) { if (Directory.Exists(this.folderBrowserDialog1.SelectedPath)) this.textBoxDir.Text = this.folderBrowserDialog1.SelectedPath; } }”
34
5.1.3 Form Tab File Pictures
Gambar 21. Form Menu Tab Pictures.
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
gambar yang sudah di decompile, di menu tab pictures dengan memindahkan tab
berikutnya yang isinya ada file name data gambar tersebut dan format gambar
yang sudah berhasil di pecahkan. Format gambar pun hanya bisa dengan format
.jpg dapat lihat dalam listing program proses pemecahan file gambar.
Gambar 22. Hasil Gambar Yang Sudah Di pecah.
35
Listing program proses hasil gambar :
string shortName = Path.GetFileName(outfileName); ListViewItem listViewItem1 = new ListViewItem(new string[] {shortName, "jpg"}, -1); this.listViewPix.Items.Add(listViewItem1); }”
5.1.4 Form Tab File Sound.
Gambar 23. Form Menu Tab Sound.
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
sound yang sudah di decompile, di menu tab sound dengan memindahkan tab
berikutnya yang isinya ada file name data sound tersebut dan format sound yang
sudah berhasil di pecahkan.
36
Gambar 24. Hasil Sound Dengan Format yang sudah di pecah.
Hasil sound dari pemecahan file tersebut hanya bisa dengan format mp3
dan wav bisa di lihat dalam listing program proses hasil sound.
Listing Program Hasil Sound :
“else if (tag is DefineSoundTag) //Extract a sound file: { numSound++; string outfileName = outputDir + GetRandomName(); DefineSoundTag soundTag = (DefineSoundTag)tag; if (soundTag.SoundFormat == SoundCodec.MP3) outfileName += ".mp3"; else outfileName += ".wav"; soundTag.DecompileToFile(outfileName);
string shortName = Path.GetFileName(outfileName); ListViewItem listViewItem1 = new ListViewItem(new string[] {shortName, ""}, -1); this.listViewSounds.Items.Add(listViewItem1);” }
5.1.5 Form Tab File Action Script Bytecode
37
Gambar 25. Form Tab File Action Script Bytecode.
Keterangan :
Form ini adalah form untuk pengguna ketika ingin melihat hasil data file
script yang sudah di decompile, di menu tab script dengan memindahkan tab
berikutnya yang isinya ada file name data script tersebut dan format script yang
sudah berhasil di pecahkan dengan format file script tersebut adalah as bias dilihat
dalam listing proses hasil script tersebut.
Gambar 26. Hasil Script Dengan Format yang sudah di pecah.
Listing Program Hasil Script :
“if (tag.ActionRecCount != 0){
StringBuilder sb = new StringBuilder();IEnumerator enum2 =
tag.GetEnumerator();while (enum2.MoveNext()){
Decompiler dc = new Decompiler(swf.Version); ArrayList actions = dc.Decompile((byte[])enum2.Current);
foreach (BaseAction obj in actions)
{ sb.AppendLine(obj.ToString());
}}
string outfileName = outputDir + GetRandomName() + ".as";
StreamWriter writer = new StreamWriter(outfileName); writer.Write(sb.ToString()); writer.Close(); numActionScript++;
string shortName = Path.GetFileName(outfileName); ListViewItem listViewItem1 = new ListViewItem(new string[] {shortName, ""}, -1); this.listViewActionScript.Items.Add(listViewItem1);
}
38
}”
5.2 Pembahasan
5.2.1 Tahap Uji Coba
Pada tahap ini pengujian dilakukan untuk memastikan bahwa hasil
implementasi telah sesuai dengan struktur dan fungsi yang sudah ada pada
tahap perancangan, apabila dalam uji coba mengalami kegagalan sebelum
melanjutkan ketahap berikutnya, terlebih dahulu kembali ketahap perancangan
dan seterusnya sampai sistem yang dibuat sesuai dengan yang diinginkan atau
valid. Tahap-tahap pengujian yang dilakukan adalah :
a. Uji Coba Struktural
Uji coba Struktural merupakan uji coba yang dilakukan untuk
mengetahui kesesuaian rancangan dengan hasil implementasi. Dari hasil
uji coba struktural dengan pengujian tiap-tiap form dapat diperoleh
kesimpulan bahwa sistem berjalan dengan baik sehingga diperoleh data
valid.
b. Uji Coba Fungsional
Setelah melakukan uji coba secara struktural, kemudian dilakukan
uji coba sistem fungsional. Uji coba fungsional merupakan uji coba yang
dilakukan untuk mengetahui apakah setiap button/form telah berfungsi
atau tidak.
Tabel 5. Uji Coba Fungsional
Form Utama Tombol Hasil
Tab Tempel
Swf file Cari, untuk
memilih data file swf.
Berfungsi
Output dir cari, untuk
memilih tempat
Berfungsi
39
penyimpanan data.
Decompile, Untuk
memulai Operasi
pemecahan file data swf.
Berfungsi
Tab File Info,
Pictures, Sound,
Action Script Byte
Code
File Info, melihat info
hasil file yang sudah di
decompile.
Berfungsi
Pictures dan sound,
melihat hasil dari output
picture dan sound yang
di hasilkan.
Berfungsi
Action Script Byte
Code, melihat hasil dari
output script yang di
hasilkan.
Berfungsi
C. Uji Coba Validasi
Uji coba validasi merupakan pemeriksaan keakuratan hasil data
yang telah dimasukan kedalam aplikasi. Uji coba tersebut dilakukan
dengan validasi sistem pengisian data ke dalam sistem dan hasil akhirnya
sesuai dengan data yang dimasukkan.
Gambar 27. Tampilan Form File Swf Yang
40
Form ini akan muncul ketika program yang di decompile sudah
berhasil di pisahkan masing-masing diantaranya 10 gambar dengan format
jpg, 1 file suara dengan format mp3 dan juga 9 file action script bias
dilihat dalam gambar.
Tabel 6. Uji Coba Validasi
No Jenis File Keterangan Hasil
PicturesNama : 5diXMi9e4o.jpg Berhasil
Nama : 9eiCsiB8.jpg Berhasil
Nama : 9XaijiJ8At.jpg Berhasil
Nama:aSi4Wi9rim.jpg Berhasil
Nama : bi8BNoi34i.jpg Berhasil
Nama : di2R4Dinw.jpg Berhasil
Nama : iDi7Ti8af.jpg Berhasil
Nama : jGi9K3ri.jpg Berhasil
Nama : xHi36jFi.jpg Berhasil
Nama : zi9CH7diix.jpg Berhasil
No Jenis File Keterangan Hasil
Sound Nama : ni3X5jEiM.mp3
Berhasil
No Jenis File Keterangan Hasil
Script Nama : dOkumen Gw3TyiPi9q.as
Berhasil
Nama : dOkumen GwAe6i4iiNW.as
Berhasil
Nama : dOkumen GwcDi7T8gi6.as
Berhasil
41
Nama : dOkumen GwDd4iyiH5i9.as
Berhasil
Nama : dOkumen GwDie69Pirf.as
Berhasil
Nama : dOkumen GwiCi37wGiX.as
Berhasil
Nama : dOkumen GwJiw6iz7Z.as
Berhasil
Nama : dOkumen GwKy5i3ikH.as
Berhasil
Nama : dOkumen Gwxi3A6iCii.as
Berhasil
Setelah proses decompile selesai maka hasil dapat dilihat pada tempat
yang sudah di atur dalam output pencarian pada program tersebut dan dapat
dilihat hasilnya pada gambar.
Gambar 28. Tampilan file data yang sudah berhasil terpisah masing-masing.
42
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Rancangan dan implementasi aplikasi “shockwave flash decompiler”
dengan menggunakan bahasa visual c# memiliki perancangan form, dan
perancangan proses (flowchart). Perancangan beberapa form seperti form utama,
form file info, form file pictures, form file sound, forma file action script bytecode.
Setelah melakukan tahap perancangan kemudian ke tahapan implementasi yang
sesuai dengan rancangan yang telah dilakukan. Proses pengimplementasian sistem
menggunakan beberapa software (perangkat lunak) diantaranya adalah Microsoft
Visual Studio 2008 sebagai bahasa pemrograman C#.
Tahap uji coba dalam menguji sistem ini dibagi menjadi 3 bagian, yaitu uji
coba struktural, uji coba fungsional, dan uji coba validasi. Uji coba struktural
adalah uji coba yang dilakukan untuk mengetahui kesesuaian rancangan dengan
hasil implementasi. Uji coba fungsional adalah uji coba yang dilakukan untuk
mengetahui apakah setiap tombol atau button telah berfungsi atau tidak.
Uji coba validasi uji coba yang dilakukan dengan cara memasukkan,
mengubah, dan mencari data dari form-form yang ada kemudian divalidasikan
sesuai dengan data. File swf yang bias di compile dalam program ini masih
terbatas hanya dengan format dimensi swf versi dari 1 sampai 7.
Memecahkan hasil yang ada pada file swf yang belum terpisah dan
kemudian menjadi file yang terpisah. File yang sudah di pecah terdapat file
gambar yang hanya dengan format jpg, begitu juga dengan hasil suara dengan
format yang sudah di atur dalam program dengan format mp3 dan wav.
43
6.2. Saran
Dengan adanya Rancangan dan implementasi aplikasi “shockwave flash
decompiler” dengan menggunakan bahasa visual c# ini diharapkan dapat
membantu para pengguna dalam memecahkan file swf yang dapat terpisah masing
– masing dan mempermudah pengguna untuk mengubah salah satu file yang di
inginkan pada file swf tersebut seperti gambar, suara dan script.
Dengan adanya program tersebut untuk kedepannya dapat memecah file
yang belum bisa seperti file gambar dengan format gif, png dan juga format
gambar yang lain. Format file suara pun di harapkan tidak hanya file mp3 saja tapi
juga dengan format suara yang lain seperti, mp4, amr dan yang lainnya.
44
Top Related