perpustakaan.fmipa.unpak.ac.idperpustakaan.fmipa.unpak.ac.id/file/bab i-iv rizal.docx · web...

59
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 1

Upload: dinhque

Post on 15-Jun-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

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

Gambar 12. Flowchart File Data.

4.5 Tahap Implementasi

25

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

28

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