BAB II LANDASAN TEORI

advertisement
BAB II
LANDASAN TEORI
2.1
VIDEO-ON-DEMAND STREAMING
Dahulu jika kita ingin menyaksikan video dari Internet, kita harus
mengunduhnya dahulu secara keseluruhan, setelah selesai diunduh (dengan
menunggu beberapa lama tentunya) kita bisa menonton video tersebut. Dengan
menggunakan teknologi video streaming, hal tersebut diatas tidak perlu terjadi
lagi karena video dapat langsung kita saksikan seketika itu juga tanpa harus
menunggu sampai keseluruhan file video tersebut selesai diunduh.
2.1.1
Video
Video dalam dunia digital adalah multimedia yang menggabungkan baik
gambar (bergerak maupun diam), suara, dan atau tulisan menjadi satu. Tidak
heran jika file video memiliki ukuran besar. Video digital terdiri dari serangkaian
gambar bitmap dua dimensi yang ditampilkan secara cepat dengan kecepatan
tetap. Setiap gambar dinamakan frame, kecepatan laju frame menampilkan setiap
gambar dalam satu detik dinamakan frame rate yang direpresentasikan dengan
frame per detik (FPS – Frame Per Second). Setiap gambar adalah gambar dua
dimensi, masing-masing gambar memiliki dimensi panjang dan lebar berupa pixel
(picture elements). Dimensi setiap frame itu yang biasa kita kenal dengan resolusi
(frame size), jika resolusi video adalah 640x480 artinya video tersebut memiliki
ukuran frame dengan panjang 640 pixel dan lebar 480 pixel. Pixel hanya memiliki
satu atribut, yaitu warna. Warna setiap pixel disusun dari susunan bit yang
panjangnya tetap. Semakin panjang bit warna yang digunakan, semakin banyak
variasi warna yang bisa digunakan. Panjang bit tersebut umum dikenal dengan
kedalaman warna. Satu lagi atribut yang dimiliki video adalah durasi, yaitu waktu
yang dibutuhkan video tersebut untuk diputar dari awal sampai akhir.
7
8
Agar lebih jelas bisa kita lihat contoh sebagai berikut: sebuah video
memiliki durasi (T) selama 10 menit (3600 detik), ukuran frame adalah 320x240
(WxH) dengan kedalaman warna (CD) 24 bit dan laju frame (frame rate) 25 fps
(frame per second). Rumus yang digunakan adalah (Bock, 2009):
Menghitung laju bit (BR – Bit Rate)
BR = W * H * CD * fps
......................(1)
Menghitung ukuran video (VS – Video Size)
VS = BR * T
atau
W * H * CD * fps * T
.......(2)
Keterangan:
BR
W&H
CD
VS
T
Bit Rate (kecepatan laju bit) dalam bit/s.
Width dan Height (panjang dan lebar video) dalam pixels.
Color Depth (kedalaman warna) dalam bit.
Video Size (ukuran video) dalam bit atau byte.
Time (durasi video) dalam detik.
Dari contoh diatas dapat kita tuliskan sebagai berikut:
Laju bit BR (bit rate) =
=
=
Ukuran video (VS) =
=
=
=
W * H * CD * fps
320 * 240 * 24 * 25
184,25 Mbps (Megabit per second).
BR * T
184 Mbps * 600 detik = 110,400 Mbit
13,800 Mbyte
13,8 Gbyte.
Perhitungan diatas berlaku bagi video (hanya video, belum termasuk suara)
yang tidak dikompresi. Bayangkan ukuran video yang dihasilkan untuk video
dengan durasi 1 jam dengan kualitas SDTV (Standard Definition Television –
televisi berdefinisi standar) jika harus ditransmisikan melalui Internet. Selain
ukurannya terlalu besar, juga kecepatan laju bit yang tinggi sangat tidak
memungkinkan untuk ditransmisikan ke klien-klien dengan koneksi standar.
9
2.1.2
Video-On-Demand
Video-On-Demand (video sesuai permintaan) adalah sistem video server
yang memberikan kebebasan bagi klien untuk memilih video mana yang ingin
ditonton. Semua video tersebut sudah tersedia di server (prerecorded sudah
direkam sebelumnya), sehingga klien hanya perlu mencarinya, melihat gambar
pra-pertunjukannya (preview), jika sesuai, klien bisa menonton video tersebut.
2.1.3
Streaming
Streaming berasal dari kata stream yang artinya aliran. Streaming lebih
ditujukan kepada cara data dikirimkan, bukan menjelaskan media pengiriman
yang digunakan. Klien secara konstan menerima data yang dikirimkan dari server.
Video-on-demand streaming adalah perpaduan antara teknik kompresi video
dan teknik penyangga (buffering) yang dapat mengirimkan video dan
menampilkannya secara waktu nyata (realtime) melalui Internet. Dengan video
streaming, kita dapat langsung memainkan video tersebut seketika itu juga sesaat
setelah proses unduh dimulai, selama file tersebut masih terus diunduh dari server.
File-file video tersebut sudah ada dan tersedia di server, sehingga klien bisa
memilih dan menontonnya kapanpun diinginkan.
Perkembangan Video Streaming sebenarnya sangat pesat, sampai saat ini
hambatan yang paling besar adalah terbatasnya lebar jalur (bandwidth) yang
dibutuhkan untuk mengirimkan video yang berkualitas tinggi. Bagaimanapun,
teknologi jaringan sebagai media transmisi juga terus mengalami perkembangan
yang luar biasa untuk menyediakan kebutuhan lebar jalur yang makin bertambah
sehingga semakin hari akan semakin memungkinkan untuk mentransmisi video
streaming dengan kualitas dan resolusi yang semakin tinggi.
Sebelum adanya teknologi video streaming, video maupun audio yang ingin
kita lihat ataupun dengar, harus diunduh dahulu sebagai sebuah file (biasanya file
berekstansi .AVI , .MPEG, .MP3) lalu didisimpan ke dalam harddisk. Lalu file
tersebut harus dibuka dengan program aplikasi pemutar video atau audio. Dengan
teknologi streaming, kita bisa langsung memainkannya sesaat setelah kita mulai
10
mengunduhnya dan beberapa saat untuk proses penyanggaan (buffering), sehingga
kita bisa langsung memainkan file tersebut tanpa perlu mengunggu sampai
keseluruhan file tersebut selesai diunduh. Dalam hal ini, kita tidak perlu lagi
menyediakan ruang harddisk untuk menyimpan file multimedia tersebut.
Seperti kita ketahui, hambatan terbesar satu-satunya dalam video streaming
adalah ketersediaan lebar jalur (bandwidth) untuk mengirimkan file tersebut. Hal
ini sangat mempengaruhi kualitas video yang tersedia pada video streaming
server. Semakin bagus kualitas video streaming, semakin besar juga kebutuhan
lebar jalur untuk mengirimkannya sampai ke pengguna. Untuk mensiasati
ketersediaan bandwidth yang terbatas tersebut, diperlukan teknik untuk
mengecilkan ukuran file multimedia tersebut sehingga bisa ditransmisikan melalui
Internet dengan tetap menjaga kualitas dari file multimedia tersebut. Teknik
tersebut dinamakan dengan teknik kompresi. Cara kerja kompresi video adalah
dengan menggunakan rumus matematika yang kompleks, memisahkan antara
objek bergerak dengan objek tidak bergerak pada masing-masing frame,
kemudian objek bergerak dari masing-masing frame diambil lalu menebak bagian
bergerak mana yang akan menjadi frame berikutnya. Dengan hanya mengambil
bagian yang bergerak saja dari masing-masing frame serta membiarkan objek
statik, maka ukuran dan kecepatan file multimedia tersebut bisa dikurangi.
Agar dapat memainkan video streaming, yang perlu ada adalah pemutar
video streaming ataupun perangkat tambahan (plugin) untuk peramban anda.
Kebanyakan bisa diunduh secara gratis dan diinstall di komputer anda. Berikut
adalah pemutar video streaming yang umum digunakan:
1.
RealNetwork's RealPlayer
2.
Microsoft's Windows Media Player
3.
Apple's QuickTime
4.
Flash Player
11
2.2
OPTIMASI VIDEO SERVER
2.2.1
Optimasi
Optimasi secara umum berarti memaksimalkan sesuatu. Definisi optimasi
adalah proses produksi lebih efisien (lebih kecil dan / atau lebih cepat), melalui
seleksi dan desain struktur data, algoritma, dan urutan instruksi dan lain-lainnya.
Optimasi memang diperlukan untuk hal apapun dan optimasi itu artinya membuat
sesuatu sebagus mungkin.atau paling maksimal.
2.2.2
Optimasi pada Video
Bila kita lihat contoh perhitungan ukuran video dengan resolusi 320x240
pixel berdurasi 10 menit yaitu sebesar 13,8 GB adalah sangat besar sekali. Dengan
laju bit (bit rate) sebesar 184 Mbps mungkin tidak menjadi masalah jika
dimainkan dari harddisk pada komputer desktop, tetapi akan menjadi masalah
besar jika akan dipublikasikan pada weblog dalam bentuk video streaming karena
perlu paling tidak di sisi klien harus memiliki lebar jalur (bandwidth) sebesar 186
Mbps untuk dapat memainkan video tersebut secara mulus. Oleh sebab itu
diperlukan suatu teknik untuk dapat memanipulasi video digital tersebut agar
ukuran file menjadi kecil serta membuat laju bit (bit rate) menjadi mungkin untuk
bisa dikirimkan melalui media Internet tanpa penurunan kualitas video yang
berarti. Untuk kebutuhan tersebut, maka lahir teknologi yang kita kenal saat ini
yaitu teknik video kompresi.
Video kompresi lahir karena kebutuhan untuk mengecilkan ukuran video
dengan laju bit yang masuk akal untuk dapat dikirimkan melalui media transmisi
dengan kecepatan relatif lambat (seperti jaringan atau Internet). Pada dasarnya,
video kompresi memanfaatkan redundansi data (data yang terduplikasi atau
berulang) pada video digital, sebab tidak semua data video digital penting bagi
otak manusia untuk diproses. Data video bisa dikompresi atapun terkadang bisa
dibuang sama sekali sehingga dapat mengecilkan ukuran serta laju bit.
12
Redundansi data bisa dieliminasi dengan dua cara: spatial dan temporal (Bock,
2009).
•
Kompresi spatial atau juga dikenal dengan intraframe bekerja dengan
memanfaatkan kekurangmampuan mata manusia untuk merasakan perbedaan
kecil pada warna (mata manusia lebih baik dalam merasakan perbedaan pada
kecerahan). Kompresi spatial menghilangkan warna-warna yang memiliki
perbedaan-perbedaan kecil dalam area gambar yang berdekatan.
•
Kompresi temporal atau juga dikenal dengan interframe bekerja dengan
membandingkan gambar setiap frame lalu mendeteksi jika ada bagian gambar
dari beberapa frame yang memiliki kesamaan diabaikan, bagian frame yang
diabaikan kemudian tidak diikutsertakan pada data hasil kompresi. Kedua
cara kompresi ini mampu mengurangi data video secara dramatis.
2.2.3
Optimasi pada cara mentransmisi Video
Setelah berbagai macam teknik kompresi video digunakan, memungkinkan
bagi file video untuk didistribusikan melalui media transmisi (jaringan maupun
Internet) dengan metode klien server. Tetapi masih ada kelemahan pada sistem
ini, yaitu kita harus menyediakan server yang memiliki lebar jalur yang cukup
besar untuk dapat melayani klien-klien secara bersamaan. Jika kita ingin dapat
melayani 100 penonton simultan dengan rata-rata laju bit setiap video adalah 500
kbps, maka paling tidak lebar jalur data (bandwidth) adalah 100 * 500 kbps = 50
Mbps.
Dari sekian banyak penonton simultan, pasti ada beberapa atau sebagian
yang sedang menonton video yang sama, sehingga video server akan tetap
mengirimkan file video yang sama ke penonton-penonton yang menonton video
yang sama tersebut. Sudah banyak ide mengenai adopsi teknologi p2p untuk
membantu transmisi suatu video yang ditonton secara bersama oleh banyak
pengguna pada saat yang bersamaan, dengan cara mendistribusikan file video
diantara penonton-penonton yang sedang menonton video tersebut, sehingga
video server tidak harus mengirimkan seluruh salinan file video ke setiap
13
penonton karena masing-masing penonton dapat saling bertukar potonganpotongan file yang sudah dimilikinya.
2.3
JARINGAN PEER TO PEER (P2P)
Semenjak munculnya Napster pada tahun 1999, jaringan peer to peer (p2p)
terus berkembang sangat cepat hingga saat ini. Napster adalah program berbagi
file mp3 yang pertama kali menerapkan jaringan peer to peer. Server pusat
Napster menyimpan data-data mengenai siapa yang memiliki file tertentu,
sehingga pengguna yang ingin mencari file tersebut akan menghubungi server
pusat Napster untuk mendapatkan data-data tersebut. Setelah itu pertukaran file
akan dilakukan langsung antara komputer yang mencari file dengan komputer
yang memiliki file tanpa campur tangan dari server pusat Napster lagi. Dengan
menggunakan teknologi p2p, server Napster mampu menangani lebih dari 20 juta
pengguna, dimana hal tersebut adalah sesuatu yang tak mungkin dilakukan dengan
menggunakan teknologi biasa (klien – server) yang dengan pengguna sebanyak itu
akan membuat server utama berbenti total karena terlalu banyak pengguna yang
harus dilayani.
Peer to peer (p2p) adalah suatu cara yang digunakan untuk berkomunikasi
antara dua titik, bisa dianalogikan seperti hubungan yang terjadi pada percakapan
lewat telpon. Percakapan telpon hanya melibatkan dua orang (peers) yang
statusnya setara, berkomunikasi dari titik satu ke titik yang lainnya. Arsitektur
jaringan peer to peer adalah masing-masing pengguna (peer) memiliki
kemampuan dan tanggung jawab yang sama baik sebagai pemakai maupun
sebagai penyedia. Sangat berbeda dengan arsitektur klien – server, dimana server
hanya sebagai penyedia bagi klien.
2.3.1
Bittorrent
BitTorrent adalah sebuah protokol yang memungkinkan mengunduh file-file
besar dengan cepat menggunakan bandwidth Internet yang kecil. Tidak ada biaya,
iklan pop-up maupun spyware dalam menggunakannya.
14
Tidak seperti metode unduh lainnya, BitTorrent memaksimalkan kecepatan
transfer dengan mengumpulkan potongan-potongan file yang diinginkan dan
mengunduh potongan-potongan ini secara simultan dari orang-orang yang sudah
memilikinya. Proses ini membuat file yang populer dan sangat besar - seperti
video dan program televisi – proses unduh akan jauh lebih cepat daripada yang
mungkin bisa dilakukan menggunakan protokol lain.
Untuk memahami bagaimana BitTorrent bekerja dan mengapa hal ini
berbeda dengan metode klien-server, mari kita memeriksa apa yang terjadi ketika
Anda men-download file dari sebuah situs Web. Prosesnya seperti berikut ini:
1.
Anda membuka halaman Web, lalu klik tautan (link) untuk mendownload file
ke komputer Anda.
2.
Perangkat lunak Web browser pada komputer Anda (klien) memberitahu
server (sebuah komputer pusat yang menyimpan halaman Web dan file yang
ingin Anda unduh) untuk mentransfer salinan file ke komputer Anda.
3.
Transmisi file ditangani oleh protokol (seperangkat aturan), seperti FTP (File
Transfer Protocol) atau HTTP (HyperText Transfer Protocol).
Kecepatan transfer dipengaruhi oleh sejumlah variabel, seperti jenis
protokol, keseluruhan lalu lintas data di server dan jumlah komputer lain yang
sedang mengunduh file tersebut. Jika file yang diunduh adalah file yang populer
dan berukuran besar, kerja server akan menjadi lebih berat, dan download akan
menjadi lambat.
Berbagi file melalui jaringan peer-to-peer (p2p) berbeda dalam mengunduh
file, caranya tidak sama seperti cara tradisional. Dalam p2p, Anda menggunakan
program perangkat lunak untuk menemukan komputer yang memiliki file yang
diinginkan (tidak seperti cara tradisional yang menggunakan peramban
menggunakan HTTP). Komputer-komputer yang terhubung adalah komputer
biasa seperti komputer yang Anda gunakan, bukan mesin server yang memiliki
spesifikasi besar, mereka disebut peers. Proses kerjanya sebagai ini:
1.
Anda menjalankan perangkat lunak p2p (misalnya, program Gnutella,
uTtorrent) pada komputer anda dan mengirimkan permintaan untuk file yang
ingin diunduh.
15
2.
Untuk mencari file, perangkat lunak mencarinya ke komputer lain yang
terhubung ke Internet serta menjalankan perangkat lunak p2p.
3.
Ketika perangkat lunak menemukan sebuah komputer yang memiliki file
yang Anda inginkan pada hard drivenya, dimulailah proses unduh.
4.
Demikian juga dengan komputer lain yang menggunakan perangkat lunak
p2p, dapat memperoleh file yang mereka inginkan dari hard drive komputer
Anda.
Gambar 2.1 Cara kerja BitTorrent (diambil dari www.howstuffworks.com)
Mengunduh potongan-potongan file pada secara bersamaan membantu
memecahkan masalah yang sering dihadapi dalam jaringan p2p: upload dari
masing-masing peer kebanyakan memiliki kecepatan rata-rata yang kecil. Dengan
mengunduh beberapa bagian secara bersama-sama, kecepatan keseluruhan dapat
ditingkatkan. Semakin banyak peer yang berpartisipasi dalam jaringan p2p,
semakin cepat transfer file terjadi karena ada lebih banyak sumber potongan file.
Dengan alasan ini, BitTorrent ini sangat cocok digunakan untuk mengunduh filefile besar dan populer.
16
2.4
BAHASA PEMROGRAMAN JAVA
2.4.1
Sejarah
Bahasa pemrograman Java diciptakan oleh tim pengembang perangkat lunak
(software) dari Sun Microsystem yang dipimpin oleh James Gosling dan Patrick
Naughton. Ide dasar pengembangan bahasa permograman Java berawal dari
proyek Sun Microsystem yang pada waktu itu sedang mengembangkan suatu
bahasa pemrograman yang berukuran kecil untuk diimplementasikan pada alat
elektronik rumah tangga seperti switchbox TV kabel. Berhubung alat tersebut
tidak memiliki banyak memori, maka bahasa yang digunakan harus menghasilkan
kode yang sangat kecil. Permasalahan lain adalah alat-alat tersebut memiliki CPU
yang berbeda-beda karena dibuat oleh manufaktur yang berbeda. Jadi sangat
diharuskan bahasa pemrograman tersebut tidak terikat pada sebuah arsitektur
mesin tertentu saja.
Untuk memenuhi prasyarat tersebut, Java menggunakan metode yang mirip
seperti Niklaus Wirth lakukan pada bahasa pemrograman yang ia ciptakan yaitu
bahasa pemrograman Pascal. Bahasa pemrograman Pascal komersial yang disebut
UCSD Pascal menghasilkan kode program intermediate yang diperuntukkan bagi
sebuah mesin virtual, sehingga pemrograman tersebut tidak bergantung kepada
msein ataupun platform sistem operasi karena hasil dari UCSD Pascal yang
berbentuk kode intermediate tersebut akan dikompilasi atau diterjemahkan oleh
mesin virtual menjadi kode mesin dimana kode tersebut di jalankan. Pada Java,
mesin virtual ini dinamakan Java Virtual Machine (JVM), sedangkan kode
program intermediate disebut dengan Bytecode. Jika di masing-masing mesin
yang berbeda-beda terdapat JVM, maka kode asli program tersebut dapat
dijalankan pada mesin-mesin tersebut. Java dikembangkan menggunakan bahasa
C++ sebagai dasarnya. Pada awal pengembangannya, bahasa pemrograman ini
diberi nama “Oak”, akan tetapi setelah menyadari bahwa sudah ada bahasa
pemrograman lain yang menggunakan nama tersebut, akhirnya diganti nama
menjadi “Java”. Menurut Sun Microsystem, seperti yang dikutip dari websitenya,
kata Java bukanlah sesuatu singkatan ataupun akronim, asal kata Java adalah
17
berasal dari minuman panas yang beraroma khas, yang sering dimimun oleh para
programer, yaitu kopi murni yang digiling langsung dari bijinya.
2.4.2
Java Bytecode
Dalam sebagian besar bahasa pemrograman, sebuah kode program harus
dikompilasi (compile) maupun diterjemahkan (interpret) sehingga dapat
dijalankan di sebuah komputer. Perangkat lunak yang digunakan untuk melakukan
kompilasi kode program disebut dengan Compiler, sedangkan yang digunakan
untuk melakukan interpretasi disebut dengan Interpreter. Perbedaan mendasar
dari keduanya adalah terletak pada proses eksekusi kodenya. Pada Compiler, kode
akan diterjemahkan secara keseluruhan, sedangkan pada Interpreter akan
menterjemahkannya secara barus demi baris. Karena proses eksekusinya
dilakukan per baris, maka interpreter lebih lambat dibandingkan dengan compiler.
Bahasa pemrogaman Java menerapkan kedua proses tersebut diatas,
sehingga Java berperan sebagai Compiler sekaligus sebagai Interpreter.
Konsepnya sederhana, mula-mula kode program yang ditulis dengan bahasa Java
(berekstensi .java) akan dikompilasi (oleh Compiler) menjadi suatu kode objek.
Dalam java, kode objek ini dinamakan bytecode (berekstensi .class), berbeda
dengan compiler lainnya yang menghasilkan file dengan ekstensi .exe.
Selanjutnya, bytecode akan dieksekusi baris demi baris (oleh Java interpreter).
Dengan demikian proses kompilasi hanya dilakukan sekali, tetapi proses interpret
akan dilakukan setiap bytecode tersebut dijalankan. Berikut adalah gambaran yang
mengilustrasikan konsep pembentukan program dalam Java.
18
Gambar 2.2 Proses pembentukan dan eksekusi program di dalam Java
Bytecode dapat dianggap sebagai sekumpulan perintah dalam bahasa mesin
untuk sebuah JVM. Program yang dibuat dengan Java tidak mungkin dapat
dijalankan di dalam komputer maupun alat lain yang tidak memiliki JVM. Dengan
konsep ini maka dikenal istilah dalam Java yaitu “write once, run anywhere”,
yang artinya kita hanya perlu menulis sekali saja kode program Java dan
melakukan kompilasi terhadapnya, maka bytecode tersebut dapat dijalankan
dalam platform manapun selama platform tersebut memiliki JVM. Sun
Microsystem telah menyediakan berbagai versi JVM yang dapat di download dan
diinstall sesuai dengan mesin ataupun platform yang anda miliki seperti Windows,
Linux, Solaris, MacOS, dan lain sebagainya (Raharjo, Heryanto, & Haryono,
2007).
19
Gambar 2.3 Program Java dapat dieksekusi pada platform yang berbeda
2.4.3
Java : Pemrograman Berorientasi Objek
Seperti yang telah kita ketahui, semua program komputer terdiri dari kode
dan data. Kode adalah sekumpulan proses logis program (misalnya fungsi),
sedangkan data dapat berupa variabel maupun konstanta. Selanjutnya, kode dan
data diatur sedemikian rupa sehingga dapat bekerja sama untuk menghasilkan
program keluaran sesuai dengan proses yang diinginkan.
Para model pemrograman tradisional atau prosedural (disebut dengan
porcess-oriented model), semua data dan kode digabung menjadi satu bagian
dalam satu program. Untuk program sederhana yang hanya membutuhkan
beberapa buar baris kode, penggunaan model ini tentu tidak menjadi masalah.
Permasalahan baru akan timbil pada saat program tersebut berkembang ke arah
yang lebih besar dan kompleks, dimana pasti akan melibatkan ratusan atau bahkan
ribuan baris kode serta ratusan macam variabel. Hal ini akan sangat
membingungkan programer karena data dan fungsi akan berantakan tidak
terorganisir dengan baik.
Alasan semacam inilah yang menjadi benih
diciptakannya model pemrograman baru, yaitu model pemrograman berorientasi
objek
(Object-oriented model).
Pemrograman
berorientasi
objek
adalah
20
pendekatan atau metodologi perancangan program berdasarkan objek, dimana
sesuatu diperlakukan sebagai objek yaitu memiliki data-data (misalnya: nama,
jenis kelamin, alamat dsb) serta memiliki metode (misalnya: cara bicara, cara
berjalanm cara marah dsb). Beberapa keuntungan pada pemrograman berorientasi
objek adalah :
1. objek-objek dapat digunakan ulang (reuseable) untuk program-program lain
2. programnya lebih terstruktur dan lebih mudah untuk dikembangkan
3. bersifat natural atau alami, karena perilaku dan sifat-sifat objek didalam
program akan disesuaikan dengan objek-objek nyata yang ada di alam sekitar
kita
2.4.4
Java Applet
Java applet adalah sebuah program yang ditulis dengan menggunakan
bahasa pemrograman Java, yang diakses melalui halaman Web dan dapat
dijalankannya di dalam jendela penjelajah web (Web Browser). Java applet dapat
secara dinamis menambahkan beberapa fungsi kepada halaman-halaman Web
yang bersifat statis. Akan tetapi, untuk menjalankannya sebuah komputer harus
memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft
Internet Explorer 4.0 ke atas, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika sebuah Java applet dibuat, semua pernyataan Java yang terkandung di
dalam kode sumbernya akan dikompilasi menjadi Java bytecode, yakni sebuah
bahasa mesin semu (virtual engine/machine language) yang dibentuk oleh Java.
Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas
Java (Java class file) di dalam sebuah Web server, seperti Apache HTTP Server
atau Microsoft Internet Information Services (IIS). Ketika sebuah penjelajah Web
milik klien melakukan request kepada halaman Web tersebut dan menemukan
bahwa di dalamnya terdapat kode Java applet, bytecode di dalam Java class file
akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat
berupa Microsoft Java Virtual Machine atau Java Runtime Engine dari Sun
Microsystems.
21
Pemrograman Java applet sangat mirip dengan pemrograman Java untuk
aplikasi desktop. Yang menjadi perbedaan adalah, banyak sekali aturan yang
dibatasi pada Java Applet dibanding dengan pemrograman Java aplikasi untuk
desktop, seperti tidak bisa akses file, tidak bisa buka port koneksi jaringan dan
fungsi lainnya yang dianggap berbahaya atau kritis oleh Java sistem. Tetapi
dengan menambahkan sertifikasi khusus (Java applet signed), kemampuan Java
applet bisa ditingkatkan mendekati kemampuan Java aplikasi untuk desktop dalam
mengakses hal-hal kritis seperti yang disebutkan diatas.
Untuk membuat sertifikasi sendiri (self signed) pada Java applet yang telah
dibuat, perlu dilakukan langkah-langkah sebagai berikut:
1.
Membuat set kunci. Set kunci bisa dibuat menggunakan perintah bawaan dari
Java yaitu “keytool”, perintah lengkapnya adalah:
keytool -genkey -alias nama_alias -keystore nama_file_kunci
nama_alias
adalah sebagai nama pengenal saja, bisa diisikan apapun yang
diinginkan, nama_file_kunci merupakan nama file yang akan digunakan
untuk menyimpan kunci hasil dari menjalankan perintah “keytool”. Perintah
tersebut diketikkan pada jendela “cmd” lalu akan diminta untuk menjawab
beberapa pertanyaan yang diperlukan seperti: kata sandi yang ingin
digunakan, nama, unit organisasi, nama organisasi, kota, provinsi, serta dua
huruf kode negara.
2.
Memberikan
sertifikasi
kepada
java
applet,
menggunakan
perintah
“jarsigner”, perintah lengkapnya adalah:
jarsigner -keystore nama_file_kunci file_jar nama_alias
nama_file_kunci
dan nama_alias adalah nama file dan nama alias yang
digunakan pada langkah pertama diatas. file_jar adalah nama file java
applet. Ketikkan perintah tersebut pada jendela “cmd”, lalu akan diminta
untuk memasukkan kata sandi seperti yang digunakan pada langkah pertama.
22
Download