Anda di halaman 1dari 10

BAB II

LANDASAN TEORI

2.1 Pengertian Flash

Flash adalah perangkat lunak untuk membuat aplikasi dengan antarmuka


grafis. Bahasa pemrograman yang digunakan untuk membuat aplikasi dengan
Flash adalah ActionScript. Dalam pembuatan aplikasi, penulis menggunakan
ActionScript versi 3 yang tergolong bahasa pemrograman berorientasi obyek.
Pada awalnya Flash pertama kali diperkenalkan dan dikembangkan oleh
Macromedia pada tahun 1996 hingga 2005. Pada akhir tahun 2005, Macromedia
dan produknya (termasuk Flash) diakuisisi oleh Adobe. Tahun 2007 penerus
Macromedia Flash diluncurkan oleh Adobe dengan nama baru Adobe Flash [2].
Dengan Aplikasi Flash, programmer dapat membuat aplikasi untuk
desktop tanpa adanya koneksi ke jaringan atau aplikasi yang dapat ditempel di
laman internet untuk dijalankan siapapun dengan akses jaringan internet.

2.1.1 Kelebihan Flash

Menurut sumber Wikipedia [5] dan artikel online [1] kelebihan dari aplikasi
Flash antara lain :
• Multiplatform. Dengan kelebihan ini pemrogram cukup menulis sebuah
aplikasi Flash dan dikompilasi (diubah dari bahasa yang dimengerti
manusia menjadi bahasa yang dapat dimengerti mesin) kemudian hasilnya
dapat dijalankan di atas beberapa sistem operasi. Sistem operasi yang
didukung aplikasi dari Flash sampai saat ini adalah Windows, Macintosh,
Linux, dan Solaris asalkan pada sistem operasi tersebut sudah terinstal
Flash Player.
• Dapat digunakan untuk membuat aplikasi desktop atau aplikasi yang
berjalan pada jaringan internet.

4
5

• Tampilan yang konsisten. Untuk menampilkan aplikasi Flash dari jaringan


internet dibutuhkan web browser seperti Internet Explorer, Mozilla
Firefox. Meskipun menggunakan web browser dan sistem operasi yang
berbeda, tidak akan terjadi perbedaan tampilan pada aplikasi Flash.
• Mudah digunakan. Menurut hemat penulis, dalam hal membuat antarmuka
grafis yang cantik dan interaktif menggunakan Flash akan lebih mudah
dibandingkan dengan IDE (Integrated Development Environment) untuk
C/C++, Java, atau Visual Basic.
• Hasil akhir Flash memiliki ukuran yang lebih kecil (setelah dipublish).
• Flash dapat mengimpor hampir semua gambar dan file-file audio.
• Animasi dapat dibentuk, dijalankan dan dikontrol.
• Gambar Flash tidak akan pecah meskipun di zoom beberapa kali karena
gambar flash bersifat gambar vektor.
• Hasil akhir dapat disimpan dalam berbagai macam bentuk seperti *.avi,
*.gif, *.mov, maupun file dengan format lain.

2.1.2 Kekurangan Flash

Sedangkan kekurangannya berdasarkan Wikipedia [5] dan artikel pada Tempo


Interaktif [3] yaitu :
• Bukan Open Source.
Kode sumber dari Flash tidak dibuka untuk umum sehingga hanya yang
mengetahui kode sumber dan memegang kepemilikannya saja (Adobe)
yang berhak untuk mengembangkan Flash. Akibatnya Flash tidak dapat
bebas dipergunakan oleh siapa saja kecuali yang mendapatkan lisensi dari
Adobe.
• Tidak dapat berjalan pada sistem operasi yang tidak terinstal Flash Player
atau pada web browser yang tidak terintegrasi dengan Flash Player.
• Pada aplikasi untuk jaringan internet, mesin pencari seperti Google, Yahoo
6

Search, dll tidak dapat mengindeks isi yang ada pada aplikasi Flash seperti
pada aplikasi internet yang lainnya.
• Dibutuhkan waktu yang lebih lama saat menjalankan aplikasi Flash pada
jaringan internet dibandingkan dengan aplikasi web yang lainnya.
• Flash tidak aman. Menurut laporan yang dikeluarkan oleh Symatec pada
tahun 2009, Flash disebut-sebut sebagai pembawa malapetaka bagi
pengguna Mac. Pasalnya, beberapa program jahat diklaim dapat
menyerang melalui Flash.
• Flash boros baterai. Hal ini dikarenakan Flash masih menggunakan
decoder lama dan mengandalkan software untuk memutar video,
sedangkan decoder yang lebih canggih telah tersedia pada H.264. Pada
iPad dan iPhone video diputar dengan decode hardware prosesor dan
bukan software, jadi lebih irit baterai.
• Flash bukan untuk layar sentuh. Flash sejatinya dirancang untuk aplikasi
yang memakai papan ketik dan tetikus. Contohnya, Flash mengadopsi
teknologi roll over, gambar berganti saat jursor melewati ikon tertentu.
Fitur ini tak ada di layar sentuh. Flash tak cocok untuk layar sentuh seperti
iPhone ataupun iPad. Untuk itulah Apple memutuskan untuk lebih memilih
CSS, HTML5 dan JavaScript.
7

2.2 Algoritma Dijkstra

Algoritma merupakan cara penyelesaian masalah yang berbentuk instruksi-


instruksi atau langkah-langkah yang tersusun dan terstruktur. Dijkstra merupakan
algoritma pencarian jalur yang dapat menyelesaikan masalah dengan mencari nilai
terendah pada graf. Algoritma ini ditemukan oleh Edsger Dijkstra pada tahun 1956
[7].

Luh Joni Erawati Dewi, seorang mahasiswi Universitas Pendidikan


Ganesha Bali menulis jurnal mengenai pencarian rute terpendek yang dengan
menggunakan Algoritma Dijkstra. Dalam jurnal tersebut juga disertakan
Algoritma Dijkstra dalam pseudocode sebagai berikut:

1. procedure dijkstra (w,a,z,L)


2. L(a) := 0
3. S := { }
4. for semua verteks x≠a do
5. L(x) := ∞
6. T := himpunan semua vertex
7. while z(T do
8. begin
9. pilih v(T dengan minimum L(v)
10. T:= T-{v}
11. S:= S union {v}
12. for setiap x(T di samping v
do
13. L(x):=min{L(x), L(v)+w(v,x)}
14. end
15. end dijkstra

Dalam jurnal menyatakan bahwa cara kerja algoritma Dijkstra memakai


stategi greedy, di mana pada setiap langkah dipilih sisi dengan bobot terkecil yang
menghubungkan sebuah simpul yang sudah terpilih dengan simpul lain yang
belum terpilih. Algoritma Dijkstra juga membutuhkan parameter tempat asal, dan
tempat tujuan. Hasil akhir dari algoritma ini adalah jarak terpendek dari tempat
asal ke tempat tujuan beserta rutenya [4].
8

Berikut ini contoh pencarian jalur pada graf satu arah menggunakan
Algoritma Dijkstra. Diawali dengan 7 buah titik (a, e, g, i, k, b, l) dengan
hubungan dan kondisi:

Titik terhubung Nilai / biaya


a i 70
i l 70
a g 70
g b 10
b l 80
a e 80
e k 50
k l 20
g e 30
b k 10
Tabel 2.1: Tabel Contoh Keterhubungan Titik

Penggambarannya berdasarkan aplikasi buatan Carla Laffra [6] sebagai berikut:

Gambar 2.1: Contoh Graf


9

Pencarian dimulai dari titik a sebagai titik awal dan titik l sebagai titik
tujuan. Dari titik awal, Dijkstra akan mencari titik mana saja yang terhubung
dengan titik awal (titik a). Pada graf tersebut ditemukan tiga titik yang
berhubungan langsung dengan titik a yaitu titik i, g, dan e. Titik biru menunjukkan
titik asal dan titik dengan warna merah menunjukkan titik selanjutnya yang bisa
ditempuh atau bisa diproses kemudian sedangkan titik berwarna abu-abu
menunjukkan titik tersebut menunjukkan titik yang belum diketahui nilai
biayanya.

Gambar 2.2: Pencarian Jalur 1

Setelah titik penerus dari titik awal ditemukan, kemudian membandingkan


biaya dari ketiganya untuk menentukan yang mana titik selanjutnya yang akan
diproses terlebih dahulu. Dari ketiga titik tersebut didapatkan biaya titik i, g, dan e
dengan masing-masing biayanya 70, 70, 80. Terdapat dua titik yang memiliki
berat biaya yang sama yaitu titik i dan g. Kedua titik ini tidak masalah yang mana
yang akan diproses terlebih dahulu. Titik yang akan diproses selanjutnya adalah
10

titik g. Titik berwarna kuning menunjukkan titik yang telah diproses dan nantinya
tidak boleh diproses kembali.

Gambar 2.3: Pencarian Jalur 2

Selanjutnya titik g yang sebelumnya telah dibandingkan hasilnya tidak


boleh diproses kembali dengan penanda warna kuning. Titik g kemudian dicari
penerusnya dan didapatkan titik e dan b dengan biaya masing-masing sebesar 100
dan 80. Titik e dari titik g memiliki nilai yang lebih besar (100) dibandingkan
dengan nilai titik e dari titik a (80) sehingga nilai yang dipakai dalam titik e adalah
nilai dari titik a (80).
11

Gambar 2.4: Pencarian Jalur 3

Ketiga titik e, b, dan i dengan nilai 80, 80, 70 dicari bobot yang terkecil
dari ketiganya dan didapatkan titik i untuk selanjutnya diproses kembali. Titik i
dicari penerusnya dan didapatkan titik l dengan nilai bobot 140. Titik i sekarang
sudah diproses dan tidak boleh diproses dengan ditandai warna kuning pada
gambar di bawah ini.

Titik yang masih menunggu untuk diproses selanjutnya adalah titik e, b,


dan l. Meskipun telah mendapatkan nilai biaya pada titik tujuan (titik l) yaitu 140,
tetapi belum menjamin bahwa biaya 140 pada titik l adalah biaya yang paling
minimal sehingga masih harus dilakukan pemrosesan pada titik lainnya yang
belum diproses.

Titik yang akan diproses (e, b, dan l) dilihat biayanya. Pemrosesan boleh
dilakukan kepada titik e atau b karena keduanya sama-sama bernilai kecil
dibanding yang lain. Kali ini titik yang diambil adalah titik e.
12

Gambar 2.5: Pencarian Jalur 4

Titik yang mungkin untuk diproses selanjutnya adalah titik b, k, dan l


dengan nilai masing-masing 80, 130, dan 140. Titik dengan nilai terkecil saat ini
adalah titik b sehingga titik b diproses. Dari titik b, titik yang mungkin untuk
ditempuh selanjutnya adalah titik k dan l. Nilai titik k dari titik b sebesar 90
menyebabkan perubahan nilai titik k sedangkan titik l dari titik b sebesar 160 tidak
menyebabkan perubahan nilai titik l.

Gambar 2.6: Pencarian Jalur 5


13

Saat ini titik yang dapat diproses berkurang menjadi 2 titik yaitu titik k dan
l. Titik k diproses dengan titik yang mungkin selanjutnya hanyalah titik l. Nilai
yang didapatkan oleh titik l dari titik k adalah 110 sehingga nilai l dirubah menjadi
110.

Gambar 2.7: Pencarian Jalur 6

Titik terakhir yang mungkin untuk diproses hanyalah titik l yang


merupakan titik tujuan sehingga pencarian berakhir dengan nilai minimal sebesar
110. Jalur yang didapatkan mulai dari titik awal hingga titik akhir dengan nilai
minimal adalah yang melalui titik a, g, b, k, dan l.

Gambar 2.8: Pencarian Jalur 7