P. 1
11. BAB II: LANDASAN TEORI

11. BAB II: LANDASAN TEORI

|Views: 591|Likes:
Published by Aji Widhi Wibowo
Landasan Teori -> teori apa saja yang digunakan dalam penelitian
Landasan Teori -> teori apa saja yang digunakan dalam penelitian

More info:

Published by: Aji Widhi Wibowo on Mar 06, 2011
Copyright:Attribution

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF or read online from Scribd
See more
See less

05/16/2013

pdf

original

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 instruksiinstruksi 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 a i a g b a e k g b i l g b l e k l e k Nilai / biaya 70 70 70 10 80 80 50 20 30 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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->