PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
Modul 3. APPLET
1. TUJUAN INSTRUKSIONAL KHUSUS
a.
Mahasiswa dapat membuat aplikasi menggunakan class Applet/JApplet
b.
Mahasiswa dapat menggunakan method pada Class Applet
2. DASAR TEORI
Applets adalah satu dari fitur yang paling menarik dalam java. Applet merupakan program
yang dapat dijalankan melalui web browser dan tipe spesial dari program java yang
dieksekusi melalui internet. Secara khusus berjalan pada suatu web browser seperti
Netscape Navigator, Mozilla, atau Microsoft Internet Explorer. Jika dibandingkan dengan
aplikasi Java yang normal, tidak diijinkan mengakses applet pada komputer yang mana
dijalankan untuk alasan keamanan. Ada dua langkah dalam penulisan program Applet:
a. Menuliskan source code java menggunakan Class Applet atau JApplet sebagai superclass
dan menambah package Applet ke dalam subclass yaitu import java.applet.*;
Contoh applet sederhana yang menampilkan "Hello world!":
import java.awt.*;
// package Class Graphics
import java.applet.*; // package Class Applet
public class AppletDemo extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 80, 25);
}
}
Method paint() bertanggung jawab untuk menggambar grafis. Argumen atau parameter
metode ini adalah instans dari kelas Graphics. Adapun method umum digunakan pada
kelas Graphics sebegai berikut:
Tabel 3.1 Method Graphics
Method Applet
Kegunaan
drawString(String str, int x, int y)
menggambar string tertentu
drawRect(int x, int y, int width, int
menggambar persegi panjang
height)
dengan
lebar
dan
tinggi
tertentu.
fillRect(int x, int y, int width, int
mengisi
height)
dengan warna default dan
persegi
panjang
lebar dan tinggi tertentu.
drawOval(int x, int y, int width, int
menggambar
height)
lebar dan tinggi tertentu.
Modul Praktikum Pemrogram Java Lanjut 2016
27
oval
dengan
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
Method Applet
Kegunaan
fillOval(int x, int y, int width, int
mengisi oval dengan warna
height)
default dan lebar dan tinggi
tertentu.
drawLine(int x1, int y1, int x2, int menarik garis antara titik-titik
y2)
(x1, y1) dan (x2, y2).
drawImage(Image
img,
int
x,
int
y, menggambar gambar tertentu
ImageObserver observer)
drawArc(int x, int y, int width, int menggambar busur lingkaran
height, int startAngle, int arcAngle)
atau elips
fillArc(int x, int y, int width, int mengisi busur lingkaran atau
height, int startAngle, int arcAngle)
elips
setColor(Color c)
mengatur
grafis
warna
tertentu
setFont(Font font)
mengatur grafis font tertentu
b. Menuliskan script html berisi tag Applet sehingga aplikasi Applet dapat berjalan melalui
browser. (Sumber:J. E N I )
Sintak: <HTML>
<APPLET
[CODEBASE = codebaseURL]
CODE = appletFile
[ATL = alternateText]
[NAME = appletInstanceName]
WIDTH = widthInPixels HEIGHT = heightInPixels
[ALIGN = alignment]
[VSPACE = vspaceInPixels] [HSPACE = hspaceInPixels]
>
[<PARAM NAME = parameterName1 VALUE = parameterValue1>]
[<PARAM NAME = parameterName2 VALUE = parameterValue2>]
...
[<PARAM NAME = parameterNamen VALUE = parameterValuen>]
[HTML that will be dsiplayed in the absence of Java]
</APPLET>
</HTML>
Tabel 3.2 Applet HTML Tags (Sumber:J. E N I )
CODEBASE
Directory dimana class applet diletakkan. Untuk dokumen HTML, directory URL sesuai
dengan setting awalnya/defaultnya.
CODE
Modul Praktikum Pemrogram Java Lanjut 2016
28
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
Nama file yang berisi kode applet applet. Dengan atau tanpa nama ekstensi .java atau
.class .
ALT
Text ditampilkan jika browser mengerti applet tags tapi applet tidak dapat dieksekusi
secara langsung. Mungkin terjadi jika Javanya disabled.
NAME
Nama dari applet, diigunakan untuk memungkinkan applets yang lain untuk
berkomunikasi dengan applet ini dengan menunjukkan suatu applet berdasarkan
namanya.
WIDTH, HEIGHT
Width dan height dari window applet. Dinyatakan dalam pixel.
ALIGN
Alignment atau pengaturan posisi dari applet. satu diantara "left", "right", "top",
"bottom", "middle", "baseline", "texttop", "absmiddle", atau "absbottom". Peletakan
posisi secara Default tergantung pada lingkungan."top" posisi atas dari applet
diratakan dengan item tertinggi dalam baris yang ada. "bottom", baseline posisi
bawah dari applet diratakan dengan bawah dari content lain dalam baris yang sama.
"middle" tengah dari applet diratakan dengan bawah dari content yang lain dalam
baris yang sama.
"texttop" posisi atas dari applet diratakan dengan posisi atas dari applet diratakan
dengan posisi tertinggi dari posisi atas pada baris yang sama.
"absmiddle" tengah dari applet diratakan dengan vertical middle dari content lain
pada baris yang sama.
"absbottom" posisi bawah dari applet diratakan dengan posisi bawah dari content
lain dalam baris yang sama.
VSPACE, HSPACE
Spasi diatas dan dibawah (VSPACE) dan pada sisi (HSPACE) dari applet..
PARAM NAME, VALUE
Untuk mengelompokkan parameter yang dapat menampilkan applet; applet dapat
meminta method getParameter(String paramName).
Contoh:
<-- masukkan bagian ini dalam kode html misal Applet.html ->
<html>
<applet code="AppletDemo" width=300 height=100>
</applet>
</html>
c. Setelah penulisan kode program Applet, selanjutnya kompilasi dan menjalankan atau
memulai eksekusi program melalui command prompt atau terminal.
Sintaks: appletviewer <java filename>
Contoh:
C:\Users\...>javac AppletDemo.java
C:\Users\...>appletviewer Applet.html
Modul Praktikum Pemrogram Java Lanjut 2016
29
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
Tabel 3.3 Method Applet
Method Applet
init
Keterangan
method yang dipanggil pertama kali yang sebenarnya berisi
permintaan pertama ketika applet di load.
start
method ini meminta dokumen HTML yang ditampilkan applet setiap
waktu. Eksekusi ringkasan dengan method ini dilakukan ketika applet
ditampilkan kembali.
stop
Ketika web browser meninggalkan dokumen HTML applet, method ini
dipanggil
untuk
menginformasikan
applet
bahwa
dia
harus
menghentikan proses eksekusinya.
destroy
method ini dipanggil ketika applet perlu dihapus dari memory dan
Method stop selalu dipanggil sebelum method ini diminta untuk
dijalankan.
paint
Class Applet menurunkannya dari class induknya yaitu class
Component, dan meminta output applet setiap waktu yang diperlukan
untuk dapat digambar kembali.
ShowStatus
Applet memiliki window status, dimana memberi informasi tentang apa
Method
yang sebenarnya dilakukan applet. Jika ingin memberi output ke
window status, secara sederhana memanggil method showStatus.
d. Memainkan Audio Clips. Applets menyediakan layanan untuk memainkan file audio.
Memainkan audio clips dalam sebuah applet melalui dua langkah dasar :
1. Dapatkan
audio
clip
menggunakan
method
getAudioClip(getCodeBase(),
namafile.wav) dimana getCodeBase() digunakan untuk membangun path ke file lain
atau folder yang berada di lokasi yang sama dengan kelas yang sedang berjalan atau
mendapatkan base URL.
2. Memainkan audio clip, menggunakan method play() atau loop() pada objek audio clip.
Method play() untuk memainkan audio satu kali mengingat loop() berulang pada audio
clip dan berhenti hanya ketika method stop() dipanggil.
Contoh Kode program untuk memutar audioclip sebagai berikut:
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Graphics;
public class AudioApplets extends Applet {
AudioClip ac;
public void init() {
try { // getCodeBase()=BASE URL dan namafilelagu="musik.wav"
ac = getAudioClip(getCodeBase(), "musik.wav");//sambung
ac.loop();
}
catch
Modul Praktikum Pemrogram Java(Exception
Lanjut 2016 e) {
30
System.out.println(e);
}
}
public void stop() {
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
//lanjutan
ac.loop();
} catch (Exception e) {
System.out.println(e);
}
}
public void stop() {
ac.stop();
}
public void paint(Graphics g) {
g.drawString("BASE URL anda : "+getCodeBase() , 80, 80);
g.drawString("Taruhlah file lagu sesuai alamat Base URL" , 80, 125);
g.drawString("Putar musik!", 80, 165);
}
}
3. PERSIAPAN PRAKTIKUM
a. Instalasi Lingkungan Pengembang Aplikasi yaitu Java Development Kit (JDK)
dan IDE Netbeans.
b. Pembuatan File java
Klik menu File kemudian pilih New File, akan muncul tampilan sebagai berikut :
1. Pada Categories : pilih Java dan Projects : Applet atau JApplet. klik next maka akan
muncul tampilan sebagai berikut :
Modul Praktikum Pemrogram Java Lanjut 2016
31
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
2. Tulis nama Applet atau JApplet pada Class Name, jika ingin membuat package maka
isi nama paket pada bagian Package (opsional) kemudian Finish maka akan muncul
tampilan sebagai berikut :
4. PELAKSANAAN PRAKTIKUM
1. Percobaan : Membuat Project dan Package
Buatlah project bernama PraktekJavaL3 pada direktori bernama NIM_ANDA
(kelanjutan praktikum2) Contoh:
Nama Direktori
: 13020140001 (NIM ANDA)
Nama Project
: PraktekJavaL3
Nama Package
: javaa.applets
Modul Praktikum Pemrogram Java Lanjut 2016
32
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
2. Percobaan : Membuat program menggunakan Class Applet
/* namafile: AppletDemo.java */
package javaa.applets;
import java.applet.Applet;
import java.awt.Graphics;
public class AppletDemo extends Applet {
public void paint(Graphics g) {
g.drawString("Praktikum ke-3 Pemrog. Java", 80, 25);
g.drawString("NAMA_ANDA (NIM_ANDA)", 80, 50);
showStatus("Belajar Java applet");
}
}
3. Percobaan : Membuat program menggunakan Class JApplet
/* namafile: JAppletDemo.java */
package javaa.applets;
import java.awt.Graphics;
import javax.swing.JApplet; //package JApplet
public class JAppletDemo extends JApplet {
public void paint(Graphics g) {
g.drawString("Praktikum ke-3 Pemrog. Java", 80, 25);
g.drawString("NAMA_ANDA (NIM_ANDA)", 80, 50);
showStatus("Belajar Java applet");
}
}
4. Percobaan : Penggunaan Class Graphics untuk pembuatan grafis/gambar
/* namafile: Belajar.java */
//package javaa.applets;
import java.awt.*;
import java.applet.*;
public class Belajar extends Applet {
public void paint(Graphics g) {
Font jnsHuruf = new Font("Courier New", Font.BOLD, 36);
g.setFont(jnsHuruf); //mengubah jenis huruf
g.setColor(Color.red); //mengubah warna
g.drawString("corat coret", 10, 40); //menulis di applet
g.setColor(Color.black);
//menggambar di applet
g.drawLine(10, 50, 100, 70); //menggambar garis
//menggambar segi empat
g.drawRect(10,
Modul Praktikum Pemrogram
Java Lanjut 201680, 50, 50); 33
g.setColor(Color.orange);
g.fillRect(100, 80, 100, 50);
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
/* lanjutan namafile: Belajar.java */
g.drawRect(10, 80, 50, 50);
g.setColor(Color.orange);
g.fillRect(100, 80, 100, 50);
g.setColor(Color.black);
g.drawRoundRect(10, 150, 50, 50, 25, 25);
g.setColor(new Color(123, 177, 75));
g.fillRoundRect(100, 150, 50, 100, 25, 25);
g.setColor(Color.black);
}
}
//menggambar oval/lingkaran
5. Percobaang.drawOval(10,
: Menjalankan 290,
applet
class
melalui browser dan command
50,
50);
prompt
g.setColor(Color.blue);
g.fillOval(100,
290, -
100, 50);
<!-- namafile:
belajar.html
<HTML>
g.setColor(Color.black);
<BODY>
//menggambar
Mari kitalengkung
belajar menggunakan applet
g.drawArc(10, 360, 150, 50, 60, 200);
<APPLET code="Belajar.class" width=350 height=200></APPLET>
g.fillArc(200, 360, 100, 100, 150, -280);
</BODY>
g.setFont(new Font("Comic Sans MS", Font.ITALIC, 25));
</HTML>
g.drawString("tulis menulis", 10, 450);
6. Percobaang.setColor(Color.black);
: Menampilkan posisi teks berada tengah aplikasi Applet
/* namafile: TampilTengah.java */
package javaa.applets;
//menggambar polygon
import java.awt.*;
int titikX[] = {450, 470,
import javax.swing.JApplet;
350, 425};
public class TampilTengah extends
int titikY[] = {120, 200,
250,public
230}; void paint(Graphics g)
580, 520, 600, 460, 400, 420,
JApplet {
180, 270, 350, 330, 400, 300,
{
Font
f = new Font("Arial",
Font.BOLD,
36);
g.drawPolygon(titikX,
titikY,
10);
FontMetrics fm = getFontMetrics(f);
g.fillPolygon(titikX,
titikY, 5);
g.setFont(f);
g.setColor(Color.gray);
String teks = "Teks ini tampil ditengah";
int
xpos = (this.size().width
- fm.stringWidth(teks))/2;
//menggambar
kotak 3D
int ypos = (this.size().height) / 2;
for
(int i = 0; i <=
10; i++)
{
g.drawString(teks,
xpos,
ypos);
g.drawRect(xpos, ypos - fm.getAscent(),
g.draw3DRect(10 + i, 480 + i, 80 - i * 2, 50 - i * 2,
fm.stringWidth(teks), fm.getHeight());//sambung
true);
g.setFont(new Font("TimesRoman", Font.PLAIN, 12));
Modul Praktikum Pemrogram
Java Lanjut 2016
34
}
g.drawString("Tinggi teks " + (fm.getAscent() +
}
fm.getDescent())
+ " pixel", xpos, ypos + 30);
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
/*lanjutan
namafile: TampilTengah.java */
g.setFont(new Font("TimesRoman", Font.PLAIN, 12));
g.drawString("Tinggi teks " + (fm.getAscent() +
fm.getDescent())
+ " pixel", xpos, ypos + 30);
g.drawString("Lebar teks " + fm.stringWidth(teks) + "
pixel", xpos, ypos + 50);
g.drawString("Jenis huruf " + f.getFamily(), xpos, ypos +
70);
g.drawString("Style huruf " + f.getStyle(), xpos, ypos +
90);
g.drawString("Ukuran huruf " + f.getSize(), xpos, ypos +
110);
}
}
7. Percobaan : Penggunaan Class SimpleDateFormat untuk format
Tanggal
/* namafile: JamDigital.java */
package javaa.applets;
import java.applet.Applet;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class JamDigital extends Applet implements Runnable {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy
hh:mm:ss");
Font huruf = new Font("Comic Sans MS", Font.BOLD, 24);
Date tgl;
Thread jam;
public void init() {
setFont(huruf);
}
public void start() {
if (jam == null) {
jam = new Thread(this);
jam.start();
}
}
public void stop() {
if (jam != null) {
jam.stop();
jam = null;
}
} //sambung
public void run() {
Modul Praktikum Pemrogram
Java(true)
Lanjut 2016
while
{
tgl = new Date();
repaint();
try {
35
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
/* namafile: JamDigital.java */
//lanjutan
public void run() {
while (true) {
tgl = new Date();
repaint();
try {
jam.sleep(1000);
} catch (InterruptedException e) {
}
}
}
public void paint(Graphics g) {
g.drawString(df.format(tgl).toString(), 10, 50);
}
}
5. LATIHAN
1. Modifikasi kode program percobaan 4 (gambarkan oval, lengkung, polygon
dan 3D) dengan menggunakan Objek Graphics g sebagai parameter dari
method paint !
//menggambar oval/lingkaran
g.drawOval(10, 290, 50, 50);
g.setColor(Color.blue);
g.fillOval(100, 290, 100, 50);
g.setColor(Color.black);
//menggambar lengkung
g.drawArc(10, 360, 150, 50, 60, 200);
g.fillArc(200, 360, 100, 100, 150, -280);
g.setFont(new Font("Comic Sans MS", Font.ITALIC, 25));
g.drawString("tulis menulis", 10, 450);
g.setColor(Color.black);
//menggambar polygon
int titikX[] = {450, 470, 580, 520, 600, 460, 400,
420, 350, 425};
int titikY[] = {120, 200, 180, 270, 350, 330, 400, 300,
250, 230};
g.drawPolygon(titikX, titikY, 10);
g.fillPolygon(titikX, titikY, 5);
g.setColor(Color.gray);//sambung
//menggambar kotak 3D
for (int i = 0; i <= 10; i++) {
g.draw3DRect(10 + i, 480 + i, 80 - i * 2, 50 - i * 2, true);
}
Modul Praktikum Pemrogram Java Lanjut 2016
36
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
2. Tulis dan eksekusi kode program untuk memutar audioclip (lihat pada teori)!
6. TUGAS
1. Buatlah dua program java yang menerapkan Applet class dan JApplet class (selain
yang ada pada praktikum dan contoh)!
2. Buatlah Program yang mengatur posisi teks berada di kiri dan kanan!
3. Apa kegunaan method berikut :
a) setBackground()
i)
getDescent()
b) setFont()
j) getFamily()
c) setColor()
k) getStyle()
d) drawString()
l)
e) drawLine()
m) start() pada objek jam
f) stringWidth()
n) stop() pada objek jam
g) getHeight()
o) sleep() pada objek jam
h) getAscent()
p) format()
getSize()
4. Apa perbedaan antara:
a) Metode drawrect() dengan fillrect()
b) Metode drawrect() dengan fillrect()
c) Metode drawroundrect() dengan fillroundrect()
d) Metode drawrect() dengan fillrect()
e) Metode drawoval() dengan filloval()
f) Metode drawarc() dengan fillarc()
g) Metode drawpolygon() dengan fillpolygon()
Modul Praktikum Pemrogram Java Lanjut 2016
37