Anda di halaman 1dari 235

MODUL DIKLAT PKB GURU

PEDAGOGIK
GRADE 9

MODUL
GURU PEMBELAJAR

PAKET KEAHLIAN
PEDAGOGIK

Kelompok Kompetensi D

Penulis: Nasrah Natsir, S.Pd., M.Pd

Penulis : Dr. Syamsul Alam S.Pd., M.Pd

LEMBAGA PENGEMBANGAN PEMBERDAYAAN PENDIDIK DAN


TENAGA KEPENDIDIKAN
BIDANG KELAUTAN,
Direktorat PERIKANAN
Jenderal DAN
Guru dan TEKNOLOGI
Tenaga INFORMASI DAN
Kependidikan
KementrianKOMUNIKASI
Pendidikan (LPPPTK KPTK)
dan Kebudayaan
Tahun 20162015
NOVEMBER

i
HALAMAN PERANCIS

Penulis :
Dr. Syamsu Alam, M.Pd. [085242452399]
Email : syamsul_wi@yahoo.co.id

Penelaah:
1. Dadang Sudardan, Prof. Dr. M.Pd.,[ 08170258280]
dadang.supardan@gmail.com
2. Uum Suminar, Dra., M.Pd. [081320522095]
uum.suminar@yahoo.com

Ilustrator :
1. Descy Afriyani, S.Sn. [085643304927]
Email : sayadescy@gmail.com
2. Faizal Reza Nurzeha, A.Md. [085242177945]
Email : faizalrezanurzeha@gmail.com
Layouter :

1. Syamsul Hidayat, A.Md. [081355598663]


Email : sh92ciamis@gmail.com

Copyright ©2016
Lembaga Pengembangan dan Pemberdayaan Pendidikan Tenaga Kependidikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi.

Hak Cipta Dilindungi Undang-Undang


Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk kepentingan
komersial tanpa izin tertulis dari Kementrian Pendidikan Kebudayaan.

ii
iii
KATA SAMBUTAN

Peran guru profesional dalam proses pembelajaran sangat penting


sebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yang
kopeten membangun proses pembelajaran yang baik sehingga dapat
menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru
sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun
pemerintah daerah dalam peningkatan mutu pendidikan terutama
menyangkut kopetensi guru.
Pengembangan profesionalitas guru melalui program Guru
Pembelajar (GP) merupakan upaya peningkatan kompetensi untuk semua
guru. Sejalan dengan hal tersebut, pemetaan kopetensi guru telah dilakukan
melalui uji kompetensi guru (UKG) untuk kompetensi pedagogik dan
profesional pada akhir tahun 2015. Hasil UKG menunjukan peta kekuatan
dan kelemahan kompetensi guru dalam penguasaan pengetahuan. Peta
kompetensi guru tersebut dikelompokan menjadi 10 (sepuluh) kelopok
kompetensi. Tindak lanjut pelaksanaan UKG diwujudkan dalam bentuk
pelatihan guru paska UKG melalui program Guru Pembelajar. Tujuannya
untuk meningkatkan kompetensi guru sebagai agen perubahaan dan sumber
belajar utama bagi peserta didik. Program Guru Pembelajar dilaksanakan
melalui pola tatap muka, daring (online) dan campuran (blended) tatap muka
dengan online.
Pusat Pengembangan dan Pemberdayaan Pendidik dan Tenag
Kependidikan (PPPPTK), Lembaga Pengembangan dan Pemberdayaan
Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi
dan Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan
Pemberayaan Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di
lingkungan Direktorat Jendral Guru dan Tenaga Kependidikan yang
bertanggung jawab dalam mengembangkan perangkat dan melaksanakan
peningkaan kompetensi guru sesuai dengan bidangnya. Adapun peragkat
pembelajaran yang dikembangkan tersebut adalah modul untuk program
Guru Pembelajar (GP) tatap muka dan GP online untuk semua mata

iv
pelajaran dan kelompok kompetensi. Dengan modul ini diharapkan program
GP memberikan sumbangan yang sangat besar dalam peningkatan kualitas
kompetensi guru. Mari kita sukseskan program GP ini untuk mewujudkan
Guru Mulia Karena Karya.
Jakarta, Februari 2016
Direktur Jendral
Guru dan Tenaga Kependidikan

Sumarna Surapranata, Ph.D


NIP. 195908011985031002

v
KATA PENGANTAR

Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan


sebagai profesi yang bermartabat sebagaimana diamanatkan Undang-Undang
Nomor 14 Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan
tenaga kependidikan merupakan tenaga profesional yang mempunyai fungsi,
peran, dan kedudukan yang sangat penting dalam mencapai visi pendidikan
2025 yaitu “Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru
dan tenaga kependidikan yang profesional wajib melakukan pengembangan
keprofesian berkelanjutan.
Buku pedoman Pedoman Penyusunan Modul Diklat Pengembangan
Keprofesian Berkelanjutan Bagi Guru dan Tenaga Kependidikan untuk institusi
penyelenggara program pengembangan keprofesian berkelanjutan merupakan
petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan
modul yang merupakan salah satu sumber belajar bagi guru dan tenaga
kependidikan. Buku ini disajikan untuk memberikan informasi tentang
penyusunan modul sebagai salah satu bentuk bahan dalam kegiatan
pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan.
Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan
kepada berbagai pihak yang telah memberikan kontribusi secara maksimal
dalam mewujudkan buku ini, mudah-mudahan buku ini dapat menjadi acuan dan
sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan
penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan
saran yang membangun sangat diharapkan untuk menyempurnakan buku ini di
masa mendatang.

Makassar, Februari 2016


Kepala LPPPTK KPTK Gowa
Sulawesi Selatan,

Dr. H. Rusdi, M.Pd,


NIP 19650430 1991 93 1004

vi
vii
DAFTAR ISI

KATA SAMBUTAN ............................................................................................ iv

KATA PENGANTAR .......................................................................................... vi

DAFTAR ISI...................................................................................................... viii

PENDAHULUAN ...................................................................................... 1

A. Latar Belakang ............................................................................................ 1

B. Tujuan ......................................................................................................... 2

C. Peta Kompetensi ......................................................................................... 2

D. Ruang Lingkup ............................................................................................ 3

E. Saran dan Cara Penggunaan Modul ........................................................... 3

PRINSIP PENGEMBANGAN KURIKULUM ........................................................ 5

A. Tujuan ......................................................................................................... 5

B. Indikator ...................................................................................................... 5

C. Uraian ......................................................................................................... 5

1. Pengertian Kurikulum.................................................................................... 5

2. Prinsip-Prinsip Pengembangan Kurikulum .................................................... 7

3. Faktor-Faktor yang Perlu Diperhatikan dalam Pengembangan Kurikulum .... 8

4. Landasan Pengembangan Kurikulum ........................................................... 9

5. Membedakan Kurikulum 2006 dan Kurikulum 2013 .................................... 10

D. Aktivitas Pembelajaran .............................................................................. 12

E. Latihan ...................................................................................................... 12

F. Rangkuman............................................................................................... 12

G. Umpan Balik dan Tindak Lanjut ................................................................. 12

viii
H. Kunci Jawaban ......................................................................................... 13

MENENTUKAN TUJUAN KEGIATAN .............................................................. 15

A. Tujuan....................................................................................................... 15

B. Indikator .................................................................................................... 15

C. Uraian ....................................................................................................... 15

1. Pengertian Pembelajaran ............................................................................. 15

2. Pengertian Tujuan Pembelajaran ................................................................. 16

3. Tujuan Pembelajaran Ditinjau dari Ranah Kognitif, Afektif, dan Psikomotorik16

4. Penyusunan Tujuan Pembelajaran .............................................................. 17

5. Memotivasi Peserta Didik untuk Mencapai Tujuan Pembelajaran ............... 17

D. Aktivitas Pembelajaran.............................................................................. 18

E. Latihan ...................................................................................................... 18

F. Rangkuman .............................................................................................. 19

G. Umpan Balik dan Tindak Lanjut ................................................................ 19

H. Kunci Jawaban ......................................................................................... 19

PEMILIHAN MATERI KEGIATAN PENGEMBANGAN YANG MENDIDIK ....... 36

A. Tujuan....................................................................................................... 36

B. Indikator .................................................................................................... 36

C. Uraian Kegiatan ........................................................................................ 36

1. Identifikasi Materi Pembelajaran dengan Tujuan Pembelajaran.................. 36

2. Penerapkan Materi Pembelajaran Sesuai dengan Tujuan Pembelajaran ... 38

3. Penerapan Pengalaman Belajar yang Diperoleh Sesuai dengan Tujuan


Pembelajaran ............................................................................................. 40

D. Aktivitas Pembelajaran.............................................................................. 40

E. Latihan ...................................................................................................... 40

F. Rangkuman .............................................................................................. 41

G. Umpan Balik dan Tindak Lanjut ................................................................ 41

ix
H. Kunci Jawaban .......................................................................................... 41

PENYUSUNAN PERENCANAAN SEMESTER ................................................ 43

A. Tujuan ....................................................................................................... 43

B. Indikator .................................................................................................... 43

C. Uraian ....................................................................................................... 43

1. Perencanaan Pembelajaran........................................................................ 43

2. Pendekatan Pembelajaran .......................................................................... 45

3. Macam-macam Pendekatan Pembelajaran ................................................ 46

4. Pendekatan Saintifik dalam Proses Pembelajaran ...................................... 46

5. Penerapan Model Pembelajaran sesuai dengan Materi Pembelajaran ....... 46

D. Aktivitas Pembelajaran .............................................................................. 48

E. Latihan ...................................................................................................... 48

F. Rangkuman............................................................................................... 48

G. Umpan Balik dan Tindak Lanjut ................................................................. 49

H. Kunci Jawaban .......................................................................................... 49

PENGEMBANGAN INDIKATOR DAN INSTRUMEN PENILAIAN .................... 51

A. Tujuan ....................................................................................................... 51

B. Indikator .................................................................................................... 51

C. Uraian ....................................................................................................... 51

1. Pengertian Indikator Pencapaian Kompetensi ............................................ 51

2. Cara Mengembangkan Indikator ................................................................. 52

3. Mengembangkan Indikator ......................................................................... 53

D. Aktivitas Pembelajaran .............................................................................. 54

E. Latihan ...................................................................................................... 54

F. Rangkuman............................................................................................... 54

G. Umpan Balik dan Tindak Lanjut ................................................................. 55

H. Kunci Jawaban .......................................................................................... 55

x
PENUTUP ......................................................................................................... 57

DAFTAR PUSTAKA ..................................................................................... 58

xi
PENDAHULUAN

A. Latar Belakang
Pada hakikatnya, pendidikan di Indonesia dilaksanakan dengan tujuan
meningkatkan sumber daya manusia (SDM). SDM merupakan salah satu
modal dasar pembangunan dalam mencapai kesejahteraan seluruh bangsa
Indonesia untuk terciptanya suatu kehidupan yang adil dan makmur. Di
samping itu, pendidikan merupakan suatu usaha untuk menumbuhkan
manusia pembangunan yang mempunyai sikap dan perilaku kreatif, inovatif
dan selalu berkeinginan untuk maju.
Dalam Undang-Undang Sistem Pendidikan Nasional Nomor 20 Tahun
2005 dikemukakan bahwa pendidikan adalah usaha sadar dan terencana
untuk mewujudkan suasana belajar dan proses pembelajaran agar peserta
didik secara aktif mengembangkan potensi dirinya untuk memiliki kekuatan
spiritual keagamaan, pengendalian diri, kepribadian, kecerdasan, akhlak
mulia, serta keterampilan yang diperlukan dirinya, masyarakat, bangsa dan
negara. Hal ini perlu mendapat perhatian oleh para penentu kebijakan
mengenai pelaksananan pendidikan agar tujuan pendidikan dapat tercapai.
Keberhasilan pendidikan (pembelajaran), sangat ditentukan oleh kondisi
yang terbangun selama dalam pelaksanaan pembelajaran. Kondisi
pembelajaran yang kondusif menjadikan peserta didik berhasil dalam belajar
mengikuti pembelajaran. Dengan perkataan lain, terciptanya kondisi
pembelajaran yang efektif akan menjadikan proses pembelajaran
berlangsung secara efektif dan efisien dan peserta didik berhasil dalam
mewujudkan tujuan/kompetensi yang diharapkan sebagai dampak yang
diikutinya.
Dalam melaksanakan tugas, guru harus menguasai kurikulum dan
mampu menjabarkannya menjadi program pendidikan yang lebih
operasional dalam bentuk program tahunan, program semester, program
bulanan, program mingguan, sampai pada rencana harian (dalam bentuk
RPP) yang siap disajikan di muka kelas. Kurikulum 2013 untuk semua mata
pelajaran harus dipelajari dengan cermat, baik dan matang, sehingga dapat
berpengaruh pada proses belajar-mengajar (teaching-learning process) dan

1
hasil belajar peserta didik. Hal ini menjadi tantangan baru bagi para guru
untuk mempelajari kurikulum yang baru, sebagai landasan dalam mengelola
kelasnya untuk mencapai tujuan pengajaran yang telah ditetapkan.
Kurikulum merupakan salah satu unsur yang memberikan kontribusi
yang signifikan untuk mewujudkan proses berkembangnya kualitas potensi
peserta didik. Jadi, tidak dapat disangkal lagi bahwa kurikulum yang
dikembangkan dengan berbasis pada kompetensi sangat diperlukan sebagai
instrumen untuk mengarahkan peserta didik menjadi: (1) manusia
berkualitas yang mampu dan proaktif menjawab tantangan zaman yang
selalu berubah; (2) manusia terdidik yang beriman dan bertakwa kepada
Tuhan Yang Maha Esa, berakhlak mulia, sehat, berilmu, cakap, kreatif,
mandiri; dan (3) warga negara yang demokratis dan bertanggung jawab.

B. Tujuan
Tujuan yang diharapkan dalam mempelajari modul ini adalah sebagai
berikut:
1. Peserta pelatihan dapat memahami prinsip pengembangan kurikulum;
2. Peserta didik dapat menentukan tujuan kegiatan pembelajaran;
3. Peserta didik dapat menentukan kegiatan bermain sambil belajar
seuai untuk mencapai tujuan pengembangan
4. Peserta pelatihan dapat memilih materi kegiatan pengembangan yang
mendidik;
5. Peserta pelatihan dapat menyusun perencanaan semester.

C. Peta Kompetensi
Pendahuluan menguraikan tentang latar belakang, deskripsi singkat,
manfaat bahan ajar, kompetensi dasar dan indikator, materi pokok dan sub
materi pokok, manfaat modul, serta petunjuk belajar. Pembelajaran 1
membahas prinsip pengembangan kurikulum. Pembelajaran 2 membahas
penentukan tujuan kegiatan pembelajaran. Pembelajaran 3 membahas
penentuan kegiatan bermain sambil belajar yang sesuai untuk mencapai
tujuan pengembangan. Pembelajaran 4 membahas pemilihan materi
kegiatan pengembangan yang mendidik. Pembelajaran 5 berisi uraian

2
penyusunan perencanaan semester. Pembelajaran 6 berisi uraian
mengenai penyusunan indikator pencapaian kompetensi dasar. Pada bagian
akhir dibahas mengenai penutup yang terdiri dari rangkuman dan evaluasi.

D. Ruang Lingkup
Dalam modul ini, dibahas tentang landasan kurikulum yang meliputi prinsip
pengembangan kurikulum, penentukan tujuan kegiatan pembelajaran,
kegiatan bermain sambil belajar yang sesuai untuk mencapai tujuan
pengembangan, pemilihan materi kegiatan pengembangan yang mendidik,
penyusunan perencanaan semester yang difokuskan pada pendekatan dan
model pembelajaran.

E. Saran dan Cara Penggunaan Modul


Modul ini dirancang untuk dipelajari guru untuk menambah
pengetahuannya dalam bidang pedagogik. Oleh karena itu, langkah-
langkah yang harus dilakukan guru (peserta pelatihan) dalam mempelajari
materi ini mencakup aktivitas individual dan kelompok. Secara umum
aktivitas individual meliputi: membaca materi dan mengerjakan tugas/soal
secara individu. Sementara itu, aktivitas kelompok meliputi: mendiskusikan
materi, bertukar pengalaman, kerja kelompok serta bersama-sama
melakukan refleksi. Dari gambaran di atas jelas bahwa aktivitas kelompok
selalu didahului oleh aktivitas individu. Dengan demikian, maka aktivitas
kelompok lebih merupakan forum untuk berbagi, memberikan pengayaan,
dan penguatan terhadap kegiatan yang telah dilakukan oleh masing-masing
individu. Dengan mengikuti langkah-langkah yang dianjurkan dalam modul
ini, diharapkan peserta pelatihan secara individu dapat mengembangkan
kurikulum yang terkait dengan mata pelajaran yang diampu.

3
4
PRINSIP PENGEMBANGAN KURIKULUM
A. Tujuan
Pembelajaran ini bertujuan sebagai berikut:
1. Peserta pelatihan dapat menjelaskan pengertian kurikulum.
2. Peserta pelatihan dapat menjelaskan prinsip pengembangan kurikulum.
3. Peserta pelatihan dapat menentukan faktor yang mempengaruhi
pengembangan kurikulum.
4. Peserta pelatihan dapat menentukan landasan pelaksanaan kurikulum.

B. Indikator
Indikator pencapaian kompetensi, yakni:
1. Menjelaskan pengertian kurikulum;
2. Menjelaskan prinsip pengembangan kurikulum;
3. Menentukan faktor yang mempengaruhi pengembangan kurikulum;
4. Menentukan landasan pengembangan kurikulum.
C. Uraian

1. Pengertian Kurikulum
Secara etimologis, kurikulum merupakan terjemahan dari kata
curriculum dalam bahasa Inggris, yang berarti rencana pelajaran. Curriculum
berasal dari kata "currere" yang berarti berlari cepat, maju dengan cepat,
merambat tergesa-gesa, menjelajahi, menjalani, dan berusaha untuk
mencapai tujuan dengan cepat. Curriculum juga diartikan sebagai jarak yang
harus ditempuh oleh seorang pelari, mulai dari start hingga finish. Dalam
kamus Webster's (1857), kurikulum adalah sejumlah mata pelajaran yang
harus dikuasai oleh siswa untuk mendapatkan ijazah atau naik kelas.
Dalam kajian tentang pengertian kurikulum di kalangan praktisi
pendidikan dan pakar pendidikan, banyak persepsi tentang pemahaman
kurikulum. Itulah sebabnya, terdapat berbagai macam pengertian atau
pemahaman mengenai kurikulum. Beberapa pemahaman tersebut adalah
sebagai berikut.
a. Kurikulum dipandang sebagai suatu bahan tertulis yang berisi uraian
tentang program pendidikan suatu sekolah yang harus dilaksanakan dari
tahun ke tahun.

5
b. Kurikulum dilukiskan sebagai bahan tertulis untuk digunakan para guru
dalam melaksanakan tugasnya sebagai pendidik.
c. Kurikulum adalah suatu usaha untuk menyampaikan asas-asas dan ciri-
ciri yang penting dari suatu rencana dalam bentuk yang sedemikian rupa,
sehingga dapat dilaksanakan guru di sekolah.
d. Kurikulum diartikan sebagai tujuan pengajaran, pengalam-pengalaman
berajar, alat-alat pelajaran dan cara-cara penilaian yang direncanakan
dan digunakan dalam pendidikan.
e. Kurikulum dipandang sebagai program pendidikan yang direncanakan
dan dilaksanakan untuk mencapai tujuan-tujuan pendidikan tertentu.
Dalam beberapa pendapat, maka pemahaman-pemahaman tersebut
dapat dikelompokkan menjadi dua. Pertama, kelompok yang memandang
kurikulum sebagai suatu rencana atau bahan tertulis yang dapat dijadikan
pedoman bagi para guru di sekolah. Kedua, kelompok yang memandang
kurikulum sebagai program yang direncanakan dan dilaksanakan dalam
situasi yang yata di kelas.
Menurut Soedijarto (dalam Sagala, 2009), kurikulum adalah pengalaman
dan kegiatan belajar yang direncanakan untuk diatasi oleh peserta didik dalam
rangka mencapai tujuan pendidikan yang telah ditetapkan dalam suatu
lembaga. Adapun menurut UUSP No. 20 Tahun 2003, kurikulum adalah
seperangkat rencana dan pengaturan mengenai tujuan, isi, dan bahan
pelajaran serta cara yang digunakan sebagai pedoman penyelenggaraan
kegiatan pembelajaran dan evaluasi.
Kurikulum adalah suatu program yang direncanakan,dikembangkan, dan
akan dilaksanakan dalam situasi pembelajaran yang sengaja diciptakan di
sekolah. Oleh karena itu, kurikulum mempunyai fungsi bagi sekolah yaqng
bersangkutan, bagi sekolah di atasnya, bagi peserta didik, bagi orang tua,
bagi masyarakat, dan bagi pengguna lulusan. Komponen kurikulum terpenting
meliputi tujuan, isi, metode, dan evaluasi. Pengembangan kurikulum yang
ideal mesti memperhatikan asas filosofis, psikologis, sosiologis, dan
organitoris (Ismawati, 2012:17).

6
2. Prinsip-Prinsip Pengembangan Kurikulum
Kurikulum dikembangkan berdasarkan pada prinsip-prinsip yang dianutnya.
Prinsip itu pada dasarnya merupakan kaidah yang menjiwai kurikulum
tersebut. Prinsip-prinsip yang biasa digunakan dalam suatu pengembangan
kurikulum, menurut Sudirman adalah sebagai berikut.
a. Prinsip Relevansi
Secara umum, istilah relevansi diartikan sebagai kesesuaian atau
keserasian pendidikan dengan tuntutan kehidupan bermasyarakat. Masalah
relevansi ini dapat dikaji sekurang-kurangnya lewat tiga segi, yaitu seperti
berikut ini: (1) Relevansi dengan lingkungan hidup para peserta didik. ; (2)
Relevansi dengan perkembangan kehidupan masa kini dan masa yang akan
dating; (3) Relevansi dengan tuntutan dalam dunia perkerjaan.
b. Prinsip efektivitas
Dalam kajian pendidikan, prinsip efektivitas dikaitkan dengan efektivitas
guru ketika mengajar dan efektivitas para peserta didik yang belajar. Implikasi
prinsip ini dalam pengembangan kurikulum ialah mengusahakan agar setiap
kegiatan kurikuler membuahkan hasil tanpa ada kegiatan yang terbuang sia-
sia dan percuma.
c. Prinsip efisiensi
Implikasi prinsip ini mengusahakan agar kegiatan kurikuler dapat
menadayagunakan waktu, tenaga, biaya, dan sumber-sumber lain secara
cermat, tepat, sehingga hasil kegiatan kurikuler itu mewadahi dan memenuhi
harapan.
d. Prinsip fleksibilitas
Fleksibilitas ini artinya lentur/tidak kaku dalam memberikan kebebasan
bertindak. Dalam kurikulum, pengertian tersebut dimaksudkan untuk
kebebasan dalam memilih program pendidikan bagi para peserta didik dan
kebebasan dalam mengembangkan program pendidikan bagi para guru.
e. Prinsip kesinambungan (kontinuitas)
Implikasi ini mengusahakan agar antara berbagai tingkat dari jenis
program pendidikan saling berhubungan. Dalam tatanan bahan kurikulum
yang dikaitkan atau saling menjalin, maka dapat dijelaskan sebagai berikut.
1) Kesinambungan antara berbagai tingkat sekolah. Terdapat beberapa hal
yang harus diperhatikan dalam menyusun kurikulum di tingkat sekolah,

7
yaitu: (1) bahan pembelajaran yang diajarkan hendaknya sambung
menyambung antara tingkat yang satu dengan tingkat lain yang lebih tinggi;
(2) bahan pembelajaran yang sudah disajikan pada tingkat sekolah yang
lebih rendah tidak perlu lagi disajikan pada tingkat yang lebih tinggi.
2) Kesinambungan antara berbagai tingkat bidang studi. Seringkali bahan
sajian dalam berbagai bidang studi mempunyai hubungan yang satu
dengan yang lain. Sehubungan dengan dengan kennyataan itu, urutan
berbagai penyajian berbagai mata pelajaran hendaknya diusahakan agar
terjalin lebih baik.
f. Prinsip objektivitas
Implikasi prinsip ini mengusahakan agar semua kegiatan kurikulum
dilakukan dengan kegiatan catatan kebenaran ilmiah dengan
mengenyampingkan pengaruh-pengaruh emosional dan irasional.
g. Prinsip demokrasi
Implikasi ini ialah mengusahakan agar penyelenggaraan pendidikan
dikelola dan dilaksanakan secara demokratis.
Apabila prinsip pengembangan kurikulum di atas dijadikan pedoman
dalam mengembangkan kurikulum sekolah, maka kurikulum yang
dihasilkan akan semakin baik. Dengan demikian, kurikulum tersebut dapat
digunakan sebagai pedoman dalam melaksanakan kegiatan pembelajaran
di sekolah.

3. Faktor-Faktor yang Perlu Diperhatikan dalam Pengembangan


Kurikulum
Kurikulum merupakan salah satu pilar utama yang mempengaruhi
keberhasilan pendidikan nasional. Sebagai salah satu bagian dalam sistem
pendidikan yang telah direncanakan secara sistematis, kurikulum memiliki
peranan yang sangat penting bagi kegiatan pendidikan yang sedang
dilaksanakan. Kurikulum menurut Undang-undang Nomor 20 Tahun 2003
Pasal 1 Ayat (19) adalah seperangkat rencana dan pengaturan mengenai
tujuan, isi, dan bahan pelajaran serta cara yang digunakan sebagai pedoman
penyelenggaraan kegiatan pembelajaran untuk mencapai tujuan pendidikan
tertentu.

8
Kurikulum 2013 adalah bentuk penyempurnaan dari Kurikulum KTSP.
Kurikulum 2013 tersebut merupakan kurikulum pendidikan dengan
penekanan pada integrasi pendidikan karakter ke dalam semua mata
pelajaran dengan tujuan membentuk peserta didik menjadi manusia
berkualitas yang mampu dan proaktif menjawab tantangan zaman yang selalu
berubah; dan manusia terdidik yang beriman dan bertakwa kepada Tuhan
Yang Maha Esa, berakhlak mulia, sehat, berilmu, cakap, kreatif, mandiri; dan
warga negara yang demokratis dan bertanggung jawab. Pengembangan
Kurikulum 2013 merupakan langkah lanjutan Pengembangan Kurikulum
Berbasis Kompetensi yang telah dirintis pada tahun 2004 dan KTSP 2006
yang mencakup kompetensi sikap, pengetahuan, dan keterampilan secara
terpadu.

4. Landasan Pengembangan Kurikulum


Secara umum, makna landasan dapat dikategorikan menjadi tiga hal.
Pertama, sebuah fondasi yang dibangun di atas sebuah bangunan. Kedua,
pikiran abstrak yang dijadikan titik tolak bagi pelaksanaan suatu kegiatan.
Ketiga, pandangan abstrak yang telah teruji, kurikulum dipergunakan sebagai
titik tolak dalam menyusun konsep, pelaksanaan konsep, dan evaluasi
konsep. Terkait dengan makna landasan tersebut, maka ada empat landasan
yang digunakan dalam pengembangan kurikulum, yaitu sebagai berikut.
a. Landasan Filosofis/Yuridis
Sistem nilai atau pandangan hidup adalah dasar kehidupan yang
dianut oleh suatu masyarakat. Pancasila adalah pandangan dan falsafah
hidup bangsa Indonesia. Nilai-nilai yang tercantum dalam sila-sila
Pancasila harus dapat menjawai setiap arah pengembangan kurikulum.
Landasan filosofis ini kemudian diterjemahkan lebih rinci dalam landasan
yuridis, sebagaimana termuat dalam UU No. 20 Tahun 2003 yang
menyatakan bahwa pendidikan itu adalah suatu kegiatan yang
mempunyai tujuan; dalam kegiatan pendidikan itu terdapat suatu rencana
yang disusun; dan rencana tersebut dilaksanakan melalui cara yang
telah ditetapkan.

9
b. Landasan Psikologis
Landasan psikologis dimaksudkan agar dalam penyusunan kurikulum
patut diperhatikan hal-hal yang berkenaan dengan karakteristik peserta didik.
Sebagaimana diketahui bersama bahwa karakteristik peserta didik dalam
realitasnya sangatlah beragam dan memiliki tingkat perkembangan yang
berbeda di setiap jenjang pendidikannya. Karena itu, kurikulum diharapkan
dapat dirumuskan sesuai kebutuhan dan karakteristik peserta didik sehingga
nilai manfaat bagi perkembangan dan kemajuan peserta didik patut
diperhatikan dalam penyusunan kurikulum.
c. Landasan Sosiologis
Dengan menjadikan karakteristik masyarakat Indonesia sebagai
landasan dalam pengembangan kurikulum, maka pembelajar yang diajar
nantinya tidak akan teralienasi dari lingkungan sosialnya. Lembaga
pendidikan sebenarnya dibentuk oleh masyarakat dan dihidupi masyarakat,
karenanya pendidikan harus memberi kemanfaatan kepada masyarakat.
Dengan demikian, pendidikan tidak justru mengasingkan individu dari
lingkungannya. Kurikulum yang dikembangkan harus sesuai dengan
kebutuhan masyarakat.
d. Landasan Organisatoris
Dalam perumusan kurikulum, perlu disusun suatu desain yang tepat
dan fungsional. Desain yang tepat akan mampu membawa perubahan
yang positif terhadap peserta didik. Selain itu, desain yang fungsional juga
patut diperhatikan. Desain kurikulum yang tidak fungsional akan
berdampak pada tidak bermanfaatnya kurikulum. Semakin tepat dan
fungsional suatu kurikulum, maka dalam pelaksanaannya akan memberi
efektivitas dari keberadaan kurikulum tersebut.

5. Membedakan Kurikulum 2006 dan Kurikulum 2013


Dalam Standar Nasional pendidikan pasal 1 ayat 15 disebutkan
bahwa Kurikulum Tingkat Satuan Pendidikan (KTSP) adalah kurikulum
operasional yang disusun dan dilaksanakan oleh masing-masing satuan
pendidikan. Kurikulum ini dikembangkan berdasarkan Undang-Undang No.
20 Tahun 2003 tentang Sistem Pendidikan Nasional pasal 36 ayat 1 dan 2.
Kedua ayat tersebut adalah sebagai berikut.

10
a. Pengembangan kurikulum mengacu pada standar nasional untuk
mewujudkan tujuan pendidikan nasional.
b. Kurikulum pada semua jenjang dan jenis pendidikan dikembangkan
dengan prinsip diversifikasi sesuai dengan satuan pendidikan, potensi
daerah, dan peserta didik.
c. Hendaknva diusahakan agar terjalin dengan baik.
Mulyana (dalam Siregar, 2013:68) menjelaskan bahwa ada beberapa hal yang
perlu dipahami dalam kaitannya dengan kurikutum tingkat satuan pendidikan,
hal tersebut adalah sebagai berikut.
a. KTSP dikembangkan sesuai dengan kondisi satuan pendidikan, potensi
dan karakteristik daerah, serta sosial budaya masyarakat setempat dan
peserta didik.
b. Sekolah dan komite sekolah mengembangkan kurikulum tingkat satuan
pendidikan dan silabusnya berdasarkan kerangka dasar kurikulum dan
standar kompetensi lulusan, di bawah supervisi dinas pendidikan
kabupaten atau kota dan departemen agama yang bertanggung jawab di
bidang pendidikan.
c. Kurikulum tingkat satuan pendidikan untuk setiap program studi di
perguruan tinggi dikembangkan dan ditetapkan oleh masing-masing
perguruan tinggi dengan mengacu pada standar nasional pendidikan.
Kurikulum merupakan salah satu unsur yang memberikan kontribusi
untuk mewujudkan proses berkembangnya kualitas potensi peserta didik
tersebut. Kurikulum 2013 dikembangkan berbasis pada kompetensi sangat
diperlukan sebagai instrumen untuk mengarahkan peserta didik menjadi: (1)
manusia berkualitas yang mampu dan proaktif menjawab tantangan zaman
yang selalu berubah; (2) manusia terdidik yang beriman dan bertakwa
kepada Tuhan Yang Maha Esa, berakhlak mulia, sehat, berilmu, cakap,
kreatif, mandiri; dan (3) warga negara yang demokratis, bertanggung jawab.
Pengembangan Kurikulum 2013 merupakan langkah lanjutan
Pengembangan Kurikulum Berbasis Kompetensi yang telah dirintis pada
tahun 2004 dan KTSP 2006 yang mencakup kompetensi sikap,
pengetahuan, dan keterampilan secara terpadu.

11
D. Aktivitas Pembelajaran
Dalam mempelajari materi ini, aktivitas pembelajaran peserta
pelatihan dipaparkan berikut ini.
1. Peserta pelatihan menjelaskan pengertian kurikulum;
2. Peserta pelatihan menjelaskan prinsip pengembangan kurikulum;
3. Peserta pelatihan menentukan faktor yang mempengaruhi
pengembangan kurikulum;
4. Peserta pelatihan menentukan landasan pelaksanaan kurikulum.
E. Latihan
Jawablah pertanyaan di bawah ini.
1. Jelaskanlah pengertian kurikulum!
2. Jelaskan prinsip pengembangan kurikulum!
3. Kemukakanlah faktor-faktor yang mempengaruhi pengembangan
kurikulum!
F. Rangkuman
Kurikulum adalah pengalaman dan kegiatan belajar yang direncanakan
untuk diatasi oleh peserta didik dalam rangka mencapai tujuan pendidikan
yang telah ditetapkan dalam suatu lembaga.
Fungsi kurikulum difokuskan pada tiga aspek. Pertama, fungsi kurikulum
bagi sekolah yang bersangkutan. Kedua, fungsi kurikulum bagi tatanan
tingkat sekolah. Ketiga, fungsi bagi konsumen.
Kurikulum dikembangkan berdasarkan pada prinsip-prinsip berikut: (1)
Prinsip Relevansi, (2) Prinsip efektivitas, (3) Prinsip efisiensi, (4) Prinsip
fleksibilitas, (5) Prinsip kesinambungan (kontinuitas), (6) prinsip objektivitas,
(6) Prinsip demokrasi.
Ada empat landasan yang digunakan dalam pengembangan kurikulum,
yaitu sebagai berikut (1) landasan filosofis/yuridis, (2) landasan psikologis,
(3) landasan sosiologis, dan (4) landasan organisatoris.
G. Umpan Balik dan Tindak Lanjut
1. Apakah Saudara telah memahami materi yang telah Saudara pelajari?
2. Menurut Saudara, adakah materi yang disajikan pada bagian ini sulit
Saudara pahami?
3. Materi mana saja yang paling mudah Saudara pahami?

12
4. Apakah materi yang disajikan pada bagian ini memberikan informasi baru
kepada Saudara?
5. Pada bagian mana yang menurut Saudara perlu ditambahkan sehingga
menjadi lebih baik?
H. Kunci Jawaban
1. Kurikulum merupakan suatu rencana atau bahan tertulis yang dapat
dijadikan pedoman bagi para guru di sekolah dalam kegiatan belajar yang
direncanakan untuk mencapai tujuan pendidikan yang telah ditetapkan.
2. Prinsip pengembangan kurikulum yakni prinsip relevansi, efektivitas,
efisiensi, fleksibilitas, kesinambungan, objektivitas, dan demokratis.
3. Faktor-faktor yang mempengaruhi pengembangan kurikulum di antaranya
ketersediaan sarana dan prasarana, kesiapan guru, kepala sekolah, dan
pengawas sekolah, dukungan orang tua dan masyarakat, serta dukungan
manajemen sekolah.

13
14
MENENTUKAN TUJUAN KEGIATAN
A. Tujuan
Tujuan mempelajari materi ini adalah sebagai berikut:
1. Peserta pelatihan dapat menjelaskan pengertian pembelajaran.
2. Peserta pelatihan dapat menjelaskan tujuan pembelajaran.
3. Peserta pelatihan dapat menjelaskan tujuan pembelajaran berdasarkan
ranah kognitif, afektif, dan psikomotorik.
4. Peserta pelatihan dapat menentukan tujuan pembelajaran.
B. Indikator
Indikator yang akan dicapai dalam pembelajaran ini, yakni peserta pelatihan:
1. menjelaskan pengertian pembelajaran
2. menjelaskan tujuan pembelajaran,
3. menjelaskan tujuan pembelajaran berdasarkan ranah kognitif,
4. menentukan tujuan pembelajaran
C. Uraian

1. Pengertian Pembelajaran
Secara prinsip, kegiatan pembelajaran merupakan proses pendidikan
yang memberikan kesempatan kepada peserta didik untuk mengembangkan
potensinya menjadi kemampuan yang semakin lama semakin meningkat
dalam sikap, pengetahuan, dan keterampilan yang diperlukan untuk hidup
dan untuk bermasyarakat, berbangsa, serta berkontribusi pada
kesejahteraan hidup umat manusia. Oleh karena itu, kegiatan pembelajaran
diarahkan untuk memberdayakan semua potensi peserta didik menjadi
kompetensi yang diharapkan.
Untuk mencapai kualitas pembelajaran yang diharapkan, perlu dibuat
rancangan pembelajaran. Rancangan pembelajaran tersebut menggunakan
prinsip yang: (1) berpusat pada peserta didik, (2) mengembangkan
kreativitas peserta didik, (3) menciptakan kondisi menyenangkan dan
menantang, (4) bermuatan nilai, etika, estetika, logika, dan kinestetika, dan
(5) menyediakan pengalaman belajar yang beragam melalui penerapan
berbagai strategi dan metode pembelajaran yang menyenangkan,
kontekstual, efektif, efisien, dan bermakna.

15
Dalam kegiatan pembelajaran, peserta didik didorong untuk menemukan
sendiri dan mentransformasikan informasi kompleks, mengecek informasi
baru dengan yang sudah ada dalam ingatannya, dan melakukan
pengembangan menjadi informasi. Pandangan ini hendaknya menjadi dasar
bagi guru dalam melaksanakan pembelajaran.

2. Pengertian Tujuan Pembelajaran


Komponen tujuan memiliki fungsi yang sangat penting dalam sistem
pembelajaran. Tujuan tersebut harus dicapai dalam proses pembelajaran.
Dengan perkataan lain, sebagai kegiatan yang mempunyai tujuan, maka
segala sesuatu yang dilakukan guru dan peserta didik dalam proses
pembelajaran hendaknya diarahkan untuk mencapai tujuan yang telah
ditentukan. Tujuan merupakan pengikat segala aktivitas guru dan peserta
didik. Oleh sebab itu, merumuskan tujuan merupakan langkah pertama yang
harus dilakukan dalam merancang sebuah perencanaan program
pembelajaran.

3. Tujuan Pembelajaran Ditinjau dari Ranah Kognitif, Afektif, dan


Psikomotorik
Belajar adalah suatu proses usaha yang sengaja dilakukan
peserta didik untuk memperoleh suatu perubahan tingkah laku yang baru
secara keseluruhan, secara keseluruhan, secara sadar, dan perubahan
tersebut relatif menetap serta membawa pengaruh dan manfaat yang positif
bagi siswa dalam berinteraksi dengan lingkungannya. Dalam upaya
mencapai tujuan kurikuler program pendidikan di suatu lembaga pendidikan,
maka perlu dirumuskan tujuan pembelajaran umum maupun tujuan
pembelajaran khusus. Apabila tujuan pembelajaran suatu program atau
bidang pelajaran itu ditinjau dari hasil belajar, maka akan muncul tiga
ranah/aspek, yaitu ranah kognitif, afektif, dan psikomotorik (Hosnan,
2014:10-12).
a. Tujuan pembelajaran ranah kognitif
Taksonomi ini mengelompokkan ranah kognitif ke dalam enam
kategori. Keenam kategori itu mencakup keterampilan intelektual dari tingkat
rendah sampai dengan tingkat tinggi. Keenam kategori itu tersusun secara

16
hierarkis yang berarti tujuan pada tingkat di atasnya dapat dicapai apabila
tujuan pada tingkat di bawahnya telah dikuasai. Adapun keenam kategori
tersebut adalah sebagai berikut: (1) Kemampuan kognitif tingkat
pengetahuan (C1); (2) Kemampuan kognitif tingkat pemahaman (C2); (3)
Kemampuan kognitif tingkat penerapan (C3); (3) Kemampuan kognitif tingkat
analisis (C4); (4) Kemampuan kognitif tingkat sintesis (C5); dan (5)
Kemampuan kognitif tingkat evaluasi (C6).

b. Tujuan pembelajaran ranah afektif


Tujuan pembelajaran ranah afektif berorientasi pada nilai dan sikap.
Tujuan pembelajaran tersebut menggambarkan proses seseorang dalam
mengenali dan mengadopsi suatu nilai dan sikap tertentu menjadi pedoman
dalam bertingkah laku yang meliputi (1) pengenalan (receiving), (2)
pemberian respons (responding); (3) penghargaan terhadap nilai (valuing);
(4) pengorganisasian (organization), (5) pemeranan (characterization).

c. Tujuan pembelajaran ranah psikomotorik


Tujuan pembelajaran ranah psikomotorik secara hierarkis dibagi ke
dalam lima kategori berikut: (1) peniruan (imitation), (2) manipulasi
(manipulation); (3) ketetapan gerakan (precision), (4) artikulasi (articulation),
naturalisasi (naturalization).

4. Penyusunan Tujuan Pembelajaran


Setiap kegiatan pembelajaran yang dilakukan, guru harus
merumuskan tujuan pembelajaran. Tujuan pembelajaran tersebut menjadi
pedoman bagi guru dalam melaksanakan kegiatan pembelajaran.
Dalam Kurikulum 2013, tujuan pembelajaran tidak lagi dituliskan. Akan
tetapi, tujuan itu diungkapkan dalam bentuk indikator. Dengan tercapainya
indikator tersebut, berarti tujuan pembelajaran telah tercapai.

5. Memotivasi Peserta Didik untuk Mencapai Tujuan Pembelajaran


Belajar adalah suatu proses usaha yang sengaja dilakukan peserta
didik untuk memperoleh suatu perubahan tingkah laku yang baru secara
keseluruhan, secara sadar, dan perubahan tersebut relatif menetap serta

17
membawa pengaruh dan manfaat yang positif bagi peserta didik dalam
berinteraksi dengan lingkungannya. Dalam tujuan pembelajaran tersebut,
ada tiga ranah/aspek, yaitu ranah kognitif, afektif, dan psikomotorik.
Tujuan pembelajaran pada ranah kognitif mencakup keterampilan
intelektual dari tingkat rendah sampai dengan tingkat tinggi. Tujuan
pembelajaran pada ranah afektif berorientasi pada nilai dan sikap yang
menggambarkan proses seseorang dalam mengenali dan mengadopsi suatu
nilai dan sikap tertentu menjadi pedoman dalam bertingkah laku. Tujuan
pembelajaran ranah pada psikomotorik secara hierarkis dibagi ke dalam lima
kategori, yaitu (1) peniruan (imitation), (2) manipulasi (manipulation), (3)
ketetapan gerakan (precision), (4) artikulasi (articulation), dan (5) naturalisasi
(naturalization). Tujuan pembelajaran tersebut dapat dicapai jika peserta didik
termotivasi mengikuti pembelajaran.
Motivasi ada dua macam, yaitu motivasi intrinsik dan motivasi
ekstrinsik. Motivasi intrinsik adalah motivasi yang timbul dari dalam diri
seseorang, motivasi yang timbul tanpa paksaan dari orang lain, atau motivasi
yang timbul atas kemauan sendiri. Motivasi ekstrinsik adalah motivasi yang
timbul sebagai akibat pengaruh dari luar individu, baik dengan adanya ajakan,
suruhan, atau paksaan dari orang lain sehingga dengan keadaan yang
demikian peserta didik mau melakukan aktivitas belajar.

D. Aktivitas Pembelajaran
Dalam kegiatan pembelajaran ini, aktivitas pembelajaran dipaparkan di bawah
ini.
1. Peserta pelatihan menjelaskan pengertian tujuan pembelajaran.
2. Peserta pelatihan menjelaskan tujuan pembelajaran yang berupa ranah
kognitif, afektif, dan psikomotorik.
3. Peserta pelatihan menentukan tujuan pembelajaran.

E. Latihan
Jawablah pertanyaan di bawah ini!
1. Jelaskan pengertian tujuan pembelajaran!

18
2. Jelaskan tujuan pembelajaran berdasarkan ranah kognitif, afektif, dan
psikomotorik!
3. Tulislah salah satu kompetensi dasar pada mata pelajaran yang Saudara
ampu! Setelah itu, tuliskan tujuan pembelajaran berdasarkan kompetensi
dasar yang Saudara pilih!
F. Rangkuman
1. Komponen tujuan memiliki fungsi yang sangat penting dalam sistem
pembelajaran. Kalau diibaratkan, tujuan adalah komponen jantungnya
dalam sistem tubuh manusia. Proses pembelajaran dapat berlangsung
dengan baik jika ditentukan tujuan yang harus dicapai.
2. Tujuan pembelajaran dirumuskan berdasarkan ranah kognitif, afektif, dan
psikomotorik. Pencapaian tujuan pembelajaran berdasarkan ketiga ranah
ini sangat penting dilakukan.
3. Tujuan pembelajaran menjadi pedoman bagi guru dalam melaksanakan
kegiatan pembelajaran. Meskipun dalam Kurikulum 2013, tujuan
pembelajaran tidak lagi dituliskan, tetapi tujuan itu diungkapkan dalam
bentuk indikator. Dengan tercapainya indikator tersebut, berarti tujuan
pembelajaran telah tercapai.
G. Umpan Balik dan Tindak Lanjut
Setelah menjawab pertanyaan pada bagian ini, Saudara telah
memperoleh pemahaman yang memadai mengenai tujuan pembelajaran.
Dalam menentukan tujuan pembelajaran, Saudara diharapkan mencermati
kompetensi dasarnya. Dengan demikian, tujuan pembelajaran yang Saudara
rumuskan dapat dengan mudah dicapai.
H. Kunci Jawaban
1. Tujuan merupakan pengikat segala aktivitas guru dan peserta didik.
Tujuan tersebut harus dicapai dalam proses pembelajaran.
2. Dalam tujuan pembelajaran, ada tiga ranah/aspek, yang dicapai, yaitu
ranah kognitif, afektif, dan psikomotorik.

19
20
PENENTUAN KEGIATAN BERMAIN SAMBIL BELAJAR YANG SESUAI
UNTUK MENCAPAI TUJUAN PENGEMBANGAN

A. Tujuan
Tujuan mempelajari materi ini adalah sebagai berikut:
1. Peserta pelatihan dapat menjelaskan hakikat pengalaman belajar.
2. Peserta pelatihan dapat menjelaskan pertimbangan menentukan
pengalaman belajar.
3. Peserta pelatihan dapat menjelaskan penerapan pengalaman belajar
sesuai dengan usia dan tingkat kemampuan belajar peserta didik.
4. Peserta pelatihan dapat menjelaskan menjelaskan tahapan pengembangan
pengalaman belajar.
5. Peserta pelatihan dapat menjelaskan pengelolaan kelas berdasarkan
prinsip PAKEM .

B. Indikator
Indikator yang akan dicapai dalam pembelajaran ini, yakni peserta pelatihan:
1. menjelaskan hakikat pengalaman belajar
2. menjelaskan pertimbangan menentukan pengalaman belajar
3. menjelaskan penerapan pengalaman belajar sesuai dengan usia dan
tingkat kemampuan belajar peserta didik.
4. menjelaskan tahapan pengembangan pengalaman belajar
5. menjelaskan pengelolaan kelas berdasarkan prinsip PAKEM
C. Uraian Kegiatan

1. Hakikat Pengalaman Belajar


Pengalaman belajar (learning experiences) adalah sejumlah aktivitas peserta
didik yang dilakukan untuk memperoleh informasi dan kompetensi baru
sesuai dengan tujuan yang hendak dicapai. Ketika guru berpikir tentang
informasi dan kemampuan seperti yang harus dimiliki oleh peserta didik,
maka pada saat itu juga semestinya berpikir tentang pengalaman belajar
yang harus didesain agar tujuan dan kompetensi itu dapat diperoleh setiap
peserta didik. Hal ini sangat penting untuk dipahami, sebab segala sesuatu
yang akan dicapai sangat ditentukan oleh cara mencapainya.

21
Pengalaman belajar diperlukan untuk memahami cara individu memperoleh
pengetahuan. Melalui pemahaman tersebut, selanjutnya dapat ditentukan
strategi yang dapat digunakan untuk merancang pengalaman belajar, sesuai
dengan tujuan yang ingin dicapai dan sesuai dengan tahapan perkembangan
individu itu sendiri.

2. Pertimbangan Menentukan Pengalaman Belajar


Ada beberapa pertimbangan yang harus diperhatikan dalam merancang dan
mengembangkan pengalaman belajar peserta didik. Pertimbangan tersebut
dipaparkan berikut ini.
a. Sesuai dengan Tujuan atau Kompetensi yang akan Dicapai
Dalam sistem perencanaan dan desain pembelajaran, tujuan
merupakan komponen utama dan pertama yang harus dipikirkan oleh seorang
desainer pembelajaran. Segala sesuatu yang harus dilakukan guru dan
peserta didik diarahkan untuk mencapai tujuan itu. Dilihat dari domainnya,
tujuan itu terdiri atas tujuan kognitif, afektif, dan psikomotorik. Ketika
dirumuskan tujuan yang berada dalam kawasan kognitif harus berbeda
rancangan pengalaman belajarnya dengan rumusan afektif dan psikomotorik
karena masing-masing memiliki karakteristik yang berbeda.
b. Sesuai dengan Jenis Bahan atau Materi Pelajaran
Pengalaman belajar yang direncanakan dan didesain, harus
memerhatikan karakteristik materi pelajaran baik dilihat dari kompleksitas
materi maupun pengemasannya. Materi pelajaran yang bersifat data atau
fakta harus berbeda penyajiannya dibandingkan dengan jenis materi pelalaran
yang bersifat konsep atau prinsip. Demikian juga, materi pelajaran yang
dikemas sebagai bahan belajar mandiri harus berbeda dengan materi
pelajaran yang dikemas untuk belajar klasikal.
c. Ketersediaan Sumber Belajar
Selain pertimbangan tujuan dan isi bahan pelajaran, seorang desainer
pembelajaran dalam menentukan pengalaman belajar juga harus
memerhatikan ketersediaan sumber belajar yang dapat digunakan. Misalnya,
pengalaman belajar melalui penugasan untuk menganalisis buku akan efektif,
manakala bukunya tersedia secara memadai; pengalaman belajar melalui

22
wawancara untuk mendapatkan informasi tertentu akan efektif manakala ada
narasumber yang dapat dimintai informasinya.
d. Pengalaman Belajar Harus Sesuai dengan Karakteristik Peserta didik
Kondisi dan karakteristik peserta didik merupakan salah satu
pertimbangan yang harus diperhatikan, baik menyangkut minat dan bakat
peserta didik, kecenderungangaya belajar maupun kemampuan dasar yang
dimiliki peserta didik. Peserta didik yang dianggap telah memiliki kemampuan
dasar yang baik akan berbeda dengan peserta didik yang hanya sedikit atau
tidak memiliki kemampuan dasar.
Di samping beberapa pertimbangan di atas, ada sejumlah prinsip yang
harus diperhatikan jika akan mengembangkan pengalaman belajar. Prinsip-
prinsip tersebut dijelaskan di bawah ini.
1) Berorientasi pada tujuan
Dalam sistem pembelajaran, tujuan merupakan komponen yang utama.
Segala aktivitas guru dan peserta didik, mestilah diupayakan untuk mencapai
tujuan yang telah ditentukan. Ini sangat penting, sebab pembelajaran adalah
proses yang mempunyai tujuan. Oleh karenanya, efektivitas pengembangan
pengalaman belajar ditentukan dari keberhasilan peserta didik mencapai
tujuan pembelajaran.
2) Aktivitas
Pengalaman belajar peserta didik harus dapat mendorong agar peserta
didik beraktivitas melakukan sesuatu. Aktivitas tidak dimaksudkan terbatas
pada aktivitas fisik, tetapi juga meliputi aktivitas yang bersifat psikis seperti
aktivitas mental. Misalkan ketika guru berceramah, sebenarnya dalam proses
berceramah, guru harus mendorong agar peserta didik memiliki pengalaman
belajar yang bukan hanya sekadar mendengarkan penjelasan guru, tetapi
juga agar peserta didik memiliki pengalaman untuk menghayati materi
pelajaran yang dituturkan melalui proses menyimak dan meragukan tentang
segala sesuatu yang dituturkan, sehingga dari keraguan itu memunculkan
keinginannya untuk memperdalam mareri pelajaran. Individualitas
Mengajar adalah usaha mengembangkan setiap individu peserta didik.
Oleh sebab itu, pengalaman belajar dirancang untuk setiap individu peserta
didik. Walaupun guuru mengajar pada kelompok peserta didik, namun pada
hakikatnya yang ingin dicapai adalah perubahan perilaku setiap peserta didik.

23
Sama dengan penanganan yang dilakukan oleh seorang dokter. Dikatakan
seorang dokter yang jitu dan profesional manakala ia menangani 50 orang
pasien, seluruhnya sembuh; dan dikatakan dokter yang tidak baik manakala ia
menangani 50 orang pasien, 49 sakitnya bertambah parah atau malah mati.
Demikian juga halnya dengan guru, dikatakan guru yang baik dan profesional
manakala ia menangani 50 orang peserta didik, seluruhnya berhasil mencapai
tujuan; dan sebaliknya, dikatakan guru yang tidak baik atau tidak berhasil
manakala ia menangani 50 orang peserta didik, 49 tidak berhasil mencapai
tujuan pembelajaran. Oleh karena itu, dilihat dari segi jumlah peserta didik
sebaiknya standar keberhasilan guru ditentukan setinggi-tingginya. Semakin
tinggi standar keberhasilan ditentukan, maka semakin berkualitas proses
pembelajaran.
3) lntegritas
Mengajar bukan hanya mengembangkan kemampuan kognitif, tetapi juga
mengembangkan aspek afektif dan aspek psikomotorik. Oleh karena itu,
merancang pengalaman belajar peserta didik, harus dapat mengembangkan
seluruh aspek kepribadian sirwa secara terintegrasi. Penggunaan metode
diskusi, contohnya, guru harus dapat merancang pengalaman belajar, yang
tidak hanya terbatas pada pengembangan aspek intelektual, tetapi juga harus
mendorong peserta didik agar mereka dapat berkembang secara
keseluruhan, misalnya mendorong untuk dapat menghargai pendapat orang
lain, berani mengeluarkan gagasan atau ide-ide yang orisinal, dan bersikap
jujur, tenggang rasa.

3. Penerapan Pengalaman Belajar sesuai dengan Usia dan Tingkat


Kemampuan Belajar Peserta Didik
Dalam Bab IV pasal 19 Peraturan Pemerintah No. 19 Tahun 2005
dikatakan bahwa proses pembelajaran pada satuan pendidikan
diselenggarakan secara interaktif, inspiratif, menyenangkan, menantang,
memotivasi peserta didik untuk berpartisipasi aktif, serta memberikan ruang
yang cukup bagi prakarsa, kreativitas, dan kemandirian sesuai dengan bakat,
minat, dan perkembangan fisik serta psikologis peserta didik.
Sesuai dengan isi peraturan pemerintah di atas, maka ada sejumlah
prinsip khusus dalam merancang pengalaman belajar, yakni sebagai berikut:

24
a. Interaktif
Prinsip interaktif mengandung makna bahwa mengajar bukan hanya
sekadar menyampaikan pengetahum dari guru ke peserta didik; tetapi
mengajar dianggap sebagai proses mengatur lingkungan yang dapat
merangsang peserta didik untuk belajar. Dengan demikian, pengalaman
pembelajaran harus dapat mendorong agar peserta didik berinteraksi baik
antara guru dan peserta didik, antara peserta didik dan peserta didik; maupun
antara peserta didik dengan lingkungannya. Melalui proses interaksi,
memungkinkan kemampuan peserta didik berkembang baik mental maupun
intelektual.
b. lnspiratif
Proses pembelajaran adalah proses yang inspiratif, yang
memungkinkan peserta didik untuk mencoba dan melakukan sesuatu.
Berbagai informasi dan proses pemecahan masalah dalam pembelajaran
bukan harga mati, yang bersifat mutlak, akan tetapi merupakan hipotesis yang
merangsang peserta didik untuk berpengalaman mencoba dan mengujinya.
Oleh karena itu guru, mesti membuka berbagai kemungkinan yang dapat
dikerjakan peserta didik. Biarkan peserta didik berbuat dan berpikir sesuai
dengan inspirasinya sendiri, sebab pengetahuan pada dasarnya bersifat
subjektif, yang bisa dimaknai oleh setiap subjek belaiar.
c. Menyenangkan
Proses pembelajaran adalah proses yang dapat mengembangkan
seluruh potensi peserta didik. Seluruh potensi itu hanya mungkin dapat
berkembang manakala peserta didik terbebas dari rasa takut, dan
menegangkan. Oleh karena itu, perlu diupayakan agar pengalaman belajar
merupakan proses yang menyenangkan (enjoyful learning). Proses
pembelajaran yang menyenangkan dapat dilakukan pertama, dengan menata
ruangan yang apik dan menarik, yaitu yang memenuhi unsur kesehatan
misalnya dengan pengaturan cahaya, ventilasi dan sebagainya; serta
memenuhi unsur keindahan, misalnya cat tembok yang segar dan bersih,
bebas dari debu, lukisan dan karya-karya peserta didik yang tertata, dan vas
bunga. Kedua, melalui pengelolaan pembelajaran yang hidup dan bervariasi,
yakni dengan nenggunakan pola dan model pembelajaran, media dan sumber

25
belaiar yang relevan serta gerakan-gerakan guru yang mampu
membangkitkan motivasi belajar peserta didik.
d. Menantang
Proses pembelajaran adalah proses yang menantang peserta didik
untuk mengembangkan kemampuan berpikir, yakni merangsang kerja otak
secara maksimal. Kemampuan tersebut dapat ditumbuhkan dengan cara
mengembangkan rasa ingin tahu peserta didik melalui kegiatan mencoba-
coba, berpikir secara intuitif atau bereksplorasi. Apa pun yang diberikan dan
dilakukan guru harus dapat merangsang peserta didik untuk berpikir (learning
how to learn) dan melakukan (learning how to do).
e. Motivasi
Motivasi adalah aspek yang sangat penting untuk membelajarkan
peserta didik. Tanpa adanya motivasi tidak mungkin peserta didik memiliki
kemauan untuk belajar. Oleh karena itu, membangkitkan motivasi merupakan
salah satu peran dan tugas guru dalam setiap proses pembelajaran. Motivasi
dapat diartikan sebagai dorongan yang memungkinkan peserta didik untuk
bertindak melakukan sesuatu.
4. Tahapan Pengembangan Pengalaman Belajar
Proses memberikan pengalaman belajar pada peserta didik, secara
umum terdiri atas tiga tahap, yakni tahap permulaan (prainstruksional), tahap
pengajaran (instruksional), dan tahap penilaian/tindak lanjut. Ketiga tahapan
ini harus ditempuh pada setiap saat melaksanakan pengajaran. Jika satu
tahapan tersebut ditinggalkan, maka pengalaman belajar peserta didik tidak
akan sempurna.
a. Tahap Prainstruksional
Tahap prainstruksional adalah tahapan yang ditempuh guru pada saat ia
memulai proses belajar dan mengajar. Beberapa kegiatan yang dapat
dilakukan oleh guru atau oleh peserta didik pada tahapan ini:
1) Guru menanyakan kehadiran peserta didik dan mencatat yang tidak
hadir. Kehadiran peserta didik dapat dijadikan salah satu tolok ukur
kemampuan guru mengajar. Tidak selalu ketidakhadiran peserta didik
disebabkan kondisi peserta didik yang bersangkutan (sakit, malas, bolos,
dan), tetapi bisa juga terjadi karena pengajaran dan guru yang melakukan
kegiatan pembelajaran, tidak menyenangkan, sikapnya tidak disukai

26
karena dianggap merugikan peserta didik (misalnya penilaian tidak adil,
memberi hukuman yang menyebabkan frustasi).
2) Bertanya kepada peserta didik. Kalimat yang biasa digunakan, “Sampai
di mana pembahasan pembelajaran sebelumnya?” Dengan demikian,
guru mengetahui ada tidaknya kebiasaan belajar peserta didik di
rumahnya sendiri. Setidak-tidaknya kesiapan peserta didik menghadap
pelajaran hari itu.
3) Mengajukan pertanyaan kepada peserta didik di kelas, atau peserta didik
tertentu tentang bahan pelajaran yang sudah diberikan sebelumnya. Hal
ini dilakukan untuk mengetahui pemahaman peserta didik mengenai
materi yang telah dipelajarinya.
4) Memberi kesempatan kepada peserta didik untuk bertanya mengenai
bahan pelajaran yang belum dikuasainya dari pengajaran yang telah
dilaksanakan sebelumnya.
5) Mengulang kembali bahan pelajaran yang lalu (bahan pelajaran
sebelumnya) secara singkat, tetapi mencakup semua bahan aspek yang
telah dibahas sebelumnya. Hal ini dilakukan sebagai dasar bagi pelajaran
yang akan dibahas hari berikutnya nanti, dan sebagai usaha dalam
menciptakan kondisi belajar peserta didik.
Pada hakikatnya, tujuan tahapan ini adalah mengungkapkan kembali
tanggapan peserta didik terhadap bahan yang telah diterimanya, dan
menumbuhkan kondisi belajar dalam hubungannya dengan pelajaran hari itu.
Tahap prainstruksional dalam strategi mengajar mirip dengan kegiatan
pemanasan dalam olahraga. Kegiatan ini akan mempengaruhi keberhasilan
peserta didik dalam memahami materi pelajaran yang dipelajarinya.
b. Tahap lnstruksional
Tahap kedua adalah tahap pengajaran atau inti, yakni kegiatan yang
dilakukan dalam memberikan pengalaman belajar kepada peserta didik.
Tahap instruksional akan sangat tergantung pada strategi pembelajaran yang
akan diterapkan, misalnya strategi ekspositori, inkuiri dan cooperative
learning. Manakala tujuan pelajaran dan bahan pelajaran yang harus dicapai
bukan merupakan tujuan yang kompleks ditambah dengan jumlah peserta
didik yang besar sehingga dalam tahapan instruksional, guru memandang
pengalaman belajar dirancang agar peserta didik menyimak materi pelajaran

27
secara utuh. Untuk memudahkan memahami kegiatan pembelajaran yang
dilakukan, secara umum kegiatan tersebut dapat diidentifikasi sebagai
berikut.
1) Menjelaskan pada peserta didik tujuan pengajaran yang harus dicapai
peserta didik.
2) Menuliskan pokok materi yang akan dibahas hari itu.
3) Membahas pokok materi yang telah dituliskan tadi. Dalam pembahasan
materi itu dapat ditempuh dua cara. Cara pertama, pembahasan dimulai
dari gambaran umum materi pengajaran menuju kepada topik secara
lebih khusus. Cara kedua, pembahasan dimulai dari topik khusus menuju
topik umum.
4) Pada setiap pokok materi yang dibahas sebaiknya diberikan contoh-
contoh konkret. Demikian pula peserta didik harus diberikan pertanyaan
atau tugas untuk mengetahui tingkat pemahaman dari setiap pokok
materi yang telah dibahas.
5) Penggunaan alat bantu pengajaran sangat diperlukan untuk memperjelas
pembahasan setiap pokok materi.
6) Menyimpulkan hasil pembahasan dari pokok materi. Kesimpulan tersebut
dibuat oleh guru dan sebaiknya pokok-pokoknya ditulis di papan tulis
untuk dicatat peserta didik. Kesimpulan dapat pula dibuat guru bersama-
sama peserta didik. Bahkan, apabila memungkinkan, penyimpulan materi
pelajaran diserahkan sepenuhnya kepada peserta didik.
c. Tahap Evaluasi dan Tindak Lanjut
Tahapan yang ketiga atau yang terakhir dari strategi menggunakan model
mengajar adalah tahap evaluasi atau penilaian dan tindak lanjut dalam
kegiatan pembelajaran. Tujuan tahapan ini, ialah untuk mengetahui tingkat
keberhasilan dari tahapan kedua (instruksional).
Ketiga tahap yang telah dibahas di atas, merupakan satu rangkaian kegiatan
yang terpadu, tidak terpisahkan antara satu sama lain. Guru dituntut untuk
mampu dan dapat mengatur waktu dan kegiatan secara fleksibel, sehingga
ketiga rangkaian tersebut diterima oleh peserta didik secara utuh. Di sinilah
letak keterampilan profesional dari seorang guru dalam memberikan
pengalaman belajar. Kemampuan mengajar seperti diuraian di atas secara
teoretis mudah dikuasai, namun dalam praktiknya tidak semudah membalik

28
telapak tangan. Hanya dengan latihan dan kebiasaan serta perencanaan
yang matang, kemampuan itu dapat diperoleh.

5. Pengelolaan Kelas dengan Menerapkan PAKEM


a. Pengalaman Mengenai Pembelajaran
Beberapa hasil penelitian yang menunjukkan bahwa cara guru
mengajar di depan kelas masih kurang. Ada kecenderungan bahwa dalam
mengajar (1) guru banyak ceramah; (2) media belum dimanfaatkan; (3)
pengelolaan belajar cenderung klasikal dan kegiatan belajar kurang
bervariasi; (4) tuntutan guru terhadap hasil belajar dan produktivitas
rendah; (5) tidak ada pajangan hasil karya peserta didik; (6) guru dan buku
sebagai sumber belajar; (7) semua peserta didik dianggap sama; (8)
penilaian hanya berupa tes; (9) latihan dan tugas kurang dan tidak
menantang; (10) interaksi pembelajaran searah. Pembelajaran yang
demikian itu tidak menunjukkan upaya maksimal dari guru, hanya
menghabiskan waktu dan anggaran tanpa kemajuan berarti (Sagala,
2009:164-165). Model pembelajaran seperti itu harus segera ditinggalkan.
Belajar diartikan sebagai suatu proses yang dilakukan dengan
maksud memperoleh perubahan dalam diri seseorang, baik berupa
pengetahuan, keterampilan, maupun sikap. Kegiatan belajar di sekolah
merupakan upaya yang telah dirancang berdasarkan teori-teori belajar
yang dipandang relevan dengan jenjang pendidikan dan tujuan yang telah
ditentukan. Faktor yang mempengaruhi hasil belajar dapat dibedakan
menjadi dua jenis, yaitu (1) faktor yang bersumber dari manusia yang
belajar yang disebut faktor internal meliputi faktor biologis dan faktor
psikologis. Faktor biologis, antara lain usia, kematangan, dan kesehatan,
sedangkan faktor psikologis, antara lain kelelahan, suasana hati, motivasi,
minat, dan kebiasaan belajar; dan (2) faktor yang berasal dari luar diri
manusia yang belajar yang disebut faktor eksternal. Faktor ini antara lain
faktor manusia, seperti keluarga, sekolah, dan masyarakat. Selain itu, ada
faktor nonmanusia seperti alam, benda, hewan, udara, suara, bau-bauan,
dal ningkungan fisik. Kedua faktor ini bagi peserta didik akan
mempengaruhi prestasi belajar. Oleh karena itu, guru harus menguasai

29
dan memahami kedua faktor ini untuk mengatur strategi pembelajaran
yang lebih bermakna, menarik dan menyenangkan bagi peserta didik.

b. Pengertian PAKEM
Pembelajaran penuh makna sesuai kebutuhan dan minat peserta
didik, dan sedekat mungkin dihubungkan dengan kenyataan dan
kegunaannya dalam kehidupan yang lebih dikenal dengan pembelajaran
bermakna. Itulah sebabnya, setiap guru harus menciptakan lingkungan
yang baik agar tercipta pembelajaran yang menyenangkan. Pembelaran
yang seperti ini dinamakan PAKEM (Pembelajaran yang Aktif, Kreatif,
Efektif, dan Menyenangkan). Fokus PAKEM menurut Phillip Rekdade
(dalam Sagala, 2009) adalah kegiatan peserta didik di dalam bentuk group,
individu, dan kelas, partisipasi dalam proyek, penelitian, dan beberapa
macam strategi yang hanya dapat dilakukan oleh guru.
Dalam proses PAKEM terjadi hal berikut: (1) peserta didik menjadi
aktif dan kreatif; (2) guru sebagai fasilitator; (3) penerapan asas
fleksibilitas; (4) persiapan guru matang; (5) multi interaksi; (6) latihan dan
tugas lebih intensif; (7) sumber belajar bermacam-macam; dan (8)
memanfaatkan alat bantu. Ada empat komponen PAKEM, yaitu
mengalami, interaksi, komunikasi, dan refleksi.
Mengalami atau pengalaman (experience) adalah suatu kejadian
yang telah dialami, totalisasi dari kesadaran sekarang dan pengetahuan
atau keterampilan yang diperoleh dari praktik atau dari upaya peserta didik.
Jika peserta didik hanya mendengarkan paparan dari guru, tidak
mencobanya melalui sejumlah praktik sebagai pengalaman belajar, maka
kualitas perolehannya menjadi rendah. Untuk mempelajari sesuatu, perlu
diprakkan. Informasi yang kompleks sekalipun dapat diserap dan diingat
jika peserta didik benar-benar terlibat pada berbagai pelatihan dalam
proses pembelajaran.
Interaksi dalam pembelajaran selalu berdasarkan konteksnya.
Konteks di sini berarti semua faktor di luar orang-orang yang berinteraksi
dan berkomunikasi. Interaksi diartikan juga sebagai suatu pertalian sosial
antarindividu sedemikian rupa sehingga individu yang bersangkutan saling
mempengaruhi satu sama lainnya. Kajian empirik menunjukkan bahwa

30
interaksi dan komunikasi yang kuat, hangat dan bermakna antara guru
dengan peserta didik, menimbulkan dampak terhadap terjadinya
pembelajaran berkualitas dan efektif.
Komunikasi sebenarnya proses personal, karena makna atau
pemahaman yang diperoleh pada dasarnya bersifat pribadi. Namun
demikian, komunikasi sebenarnya bersifat dinamis. Itulah sebabnya,
komunikasi sebagai transaksi yang lebih sesuai untuk komunikasi tatap
muka dalam proses pembelajaran. Respons verbal dan nonverbal bisa
langsung diketahui peserta didik. Dalam komunikasi transaksional,
komunikasi guru dengan peserta didik telah berlangsung jika peserta didik
telah mampu menafsirkan perilaku peserta didiknya dan peserta didik
mampu memahami hal yang dimaksud oleh guru, baik perilaku verbal
maupun nonverbal. Komunikasi ini menekankan pada komunikasi dua arah
yakni penerima dan makna pesan bagi guru dan peserta didik mengubah
kualitas pemahaman terhadap materi pelajaran. Prinsip komunikasi
merupakan prinsip pertama dalan pembelajaran maupun pengajaran.
Komunikasi berkaitan dengan interaksi yang dijalin oleh guru dengan
peserta didik dalam proses pembelajaran. Interaksi menjadi ciri dari
keberlangsungan pembelajaran itu sendiri, bahkan dapat dijadikan alat
untuk memprediksi perolehan hasil belajar.
Refleksi diartikan sebagai berpikir mengenai pengalaman sendiri di
masa lalu atau melakukan introspeksi diri atau mawas diri. Refleksi
dilakukan oleh peserta didik setelah melaksanakan berbagai kegiatan
dalam bentuk pengalaman belajar. Peserta didik antara satu dengan
lainnya melakukan analisis, pemaknaan, penjelasan, penyimpulan, dan
tindak lanjut dari pengalaman belajar yang telah dilalui. Hasil refleksi ini
sebagai acuan pemaknaan, harapan, perubahan, dan konsep. Pertanyaan-
pertanyaan refleksi ini menjadi bukti bahwa proses pembelajaran
berlangsung penuh makna dan memberi pengalaman untuk memantapkan
kompetensi sesuai yang ditegaskan dalam kompetensi inti dan kompetensi
dasar.
c. Pengelolaan Kelas Model PAKEM
Pengelolaan kelas atau manajemen kelas (classroom management)
merupakan upaya guru untuk menciptakan dan mengendalikan kondisi

31
belajar serta memulihkannya apabila terjadi gangguan dan/atau
penyimpangan, sehingga proses pembelajaran dapat berlangsung secara
optimal. Optimalisasi proses pembelajaran menunjukan bahwa
keterlaksanaan serangkaian kegiatan pembelajaran (instructional activities)
yang sengaja direkayasa oleh guru dapat berlangsung secara efektif dan
efisien dalam memfasilitasi peserta didik sampai dapat meraih hasil belajar
sesuai harapan. Hal ini dimungkinkan, karena berbagai macam bentuk
interaksi yang terbangun memberikan kemudahan bagi peserta didik untuk
memperoleh pengalaman belajar (learning experiences) dalam rangka
menumbuh-kembangkan kemampuannya (kompetensi - competency), yaitu
spiritual, mental: intelektual, emosional, sosial, dan fisik (indera) atau
kognitif, afektif, dan psikomotorik.
Pembelajaran yang dilakukan guru di dalam kelas hendaknya dikelola
dengan baik. Untuk itu, guru perlu melakukan pengelolaan kelas dengan
tujuan berikut ini. Pertama, memberikan motivasi belajar kepada peserta
didik agar dapat mewujudkan ketercapaian tujuan pembelajaran secara
optimal. Kedua, membina kedisiplinan dan rasa tanggung-jawab peserta
didik dalam mengikuti aturan main kelas, sehingga masing-masing peserta
didik dapat belajar sesuai dengan kemampuannya. Ketiga, membimbing
dan mengendalikan kegiatan belajar peserta didik demi tercapainya tujuan
pembelajaran yang diharapkan. Keempat, mengarahkan sikap atau
perilaku peserta didik yang menyimpang dari tujuan pembelajaran yang
ingin dicapai. Kelima, memberdayakan sarana kelas guna mendukung
kelancaran kegiatan belajar peserta didik sesuai dengan tujuan
pembelajaran yang ingin dicapai. Keenam, mewujudkan lingkungan belajar
yang menyenangkan (kondusif) sebagai wahana bagi peserta didik dalam
menumbuhkembangkan potensinya secara seoptimal.
D. Aktivitas Pembelajaran
Dalam mempelajari materi ini, peserta pelatihan membaca materi pelatihan
dan menjawab pertanyaan mengenai isi materi.
E. Latihan
Jawablah pertanyaan di bawah ini.
1. Jelaskanlah pertimbangan dalam menentukan pengalaman belajar!

32
2. Bagaimanakah penerapanan pengalaman belajar sesuai dengan usia
dan tingkat kemampuan belajar peserta didik?
3. Jelakanlah faktor-faktor yang perlu diperhatikan dalam pengembangan
pengalaman belajar!
4. Jelaskanlah Pengertian dan komponen PAKEM!

F. Rangkuman
Pengalaman belajar adalah sejumlah aktivitas peserta didik yang
dilakukan untuk memperoleh informasi dan kompetensi baru sesuai dengan
tujuan yang hendak dicapai. Pengalaman belajar tersebut diperlukan
untuk memahami cara individu memperoleh pengetahuan.
Proses pembelajaran pada satuan pendidikan diselenggarakan secara
interaktif, inspiratif, menyenangkan, menantang, memotivasi peserta didik
untuk berpartisipasi aktif, serta memberikan ruang yang cukup bagi prakarsa,
kreativitas, dan kemandirian sesuai dengan bakat, minat, dan perkembangan
fisik serta psikologis peserta didik. Sesuai dengan isi Peraturan Pemerintah
No. 19 Tahun 2005, maka ada sejumlah prinsip khusus dalam merancang
pengalaman belajar, yakni sebagai berikut: (1) interaktif, (2) menyenangkan,
(3) menantang, dan (4) memotivasi.
Dalam proses PAKEM terjadi hal berikut: (1) peserta didik menjadi aktif
dan kreatif; (2) guru sebagai fasilitator; (3) penerapan asas fleksibilitas; (4)
persiapan guru matang; (5) multi interaksi; (6) latihan dan tugas lebih intensif;
(7) sumber belajar bermacam-macam; dan (8) memanfaatkan alat bantu. Ada
empat komponen PAKEM, yaitu mengalami, interaksi, komunikasi, dan
refleksi.

G. Umpan Balik dan Tindak Lanjut


1. Apakah Saudara telah memahami materi yang telah Saudara
pelajari?
2. Menurut Saudara, adakah materi yang disajikan pada bagian ini sulit
Saudara pahami?
3. Materi mana saja yang paling mudah Saudara pahami?
4. Apakah materi yang disajikan pada bagian ini memberikan informasi
baru kepada Saudara?

33
5. Pada bagian mana yang menurut Saudara perlu ditambahkan
sehingga menjadi lebih baik?
H. Kunci Jawaban
1. Pada hakikatnya, pengalaman belajar (learning experiences) adalah
sejumlah aktivitas peserta didik yang dilakukan untuk memperoleh
informasi dan kompetensi baru sesuai dengan tujuan yang hendak
dicapai.
2. Pertimbangan dalam menentukan pengalaman belajar, ada empat
hal. Pertama, sesuai dengan tujuan atau kompetensi yang akan
dicapai. Kedua, sesuai dengan jenis bahan atau materi pelajaran.
Ketiga, ketersediaan sumber belajar. Keempat, pengalaman belajar
harus sesuai dengan karakteristik peserta didik.
3. Penerapanan pengalaman belajar sesuai dengan usia dan tingkat
kemampuan belajar peserta didik dengan memberikan pengalaman
belajar pada peserta didik, yang secara umum terdiri atas tiga
tahap, yakni tahap permulaan (prainsrruksional), tahap pengajaran
(instruksional), dan tahap penilaian/tindak lanjut. Ketiga tahapan ini
harus ditempuh pada setiap saat melaksanakan pengajaran.
4. Faktor-faktor yang perlu diperhatikan dalam pengembangan
pengalaman belajar peserta didik, ada empat hal. Pertama,
menyesuaikan dengan tujuan atau kompetensi yang akan dicapai.
Kedua, menyesesuaikan dengan jenis bahan atau materi pelajaran.
Ketiga, memperhatikan ketersediaan sumber belajar. Keempat,
pengalaman belajar harus sesuai dengan karakteristik peserta didik.
Di samping beberapa pertimbangan di atas, ada sejumlah prinsip
yang harus diperhatikan jika akan mengembangkan pengalaman
belajar, yakni (1) berorientasi pada tujuan; (2) aktivitas; (3)
individualitas; (4) integritas.
5. Pengertian PAKEM (Pembelajaran Kreatif, Efektif, dan
Menyenangkan) adalah pembelajaran yang membuat peserta didik
senangkan dan nyaman mengikuti pembelajaran karena strategi
pembelajaran yang dibuat menantang peserta didik untuk belajar.

34
Komponen PAKEM adalah mengalami, komunikassi, interaaksi, dan
refleksi.

35
PEMILIHAN MATERI KEGIATAN PENGEMBANGAN YANG MENDIDIK
A. Tujuan
Tujuan mempelajari materi ini adalah sebagai berikut:
1. Peserta pelatihan dapat mengidentifikasi materi pembelajaran dengan
hakikat pengalaman belajar.
2. Peserta pelatihan dapat menerapkan materi pelajaran sesuai dengan
tujuan pembelajaran.
3. Peserta pelatihan dapat menerapkan pengalaman belajar yang diperoleh
sesuai dengan tujuan pembelajaran.

B. Indikator
Indikator yang akan dicapai dalam pembelajaran ini, yakni peserta pelatihan:
1. mengidentifikasi materi pembelajaran dengan tujuan pembelajaran,
2. menerapkan materi pembelajaran sesuai dengan tujuan pembelajaran,
3. menerapkan pengalaman belajar yang diperoleh sesuai dengan tujuan
pembelajaran.

C. Uraian Kegiatan

1. Identifikasi Materi Pembelajaran dengan Tujuan Pembelajaran


Bahan pelajaran merupakan seperangkat materi/substansi pembelajaran
yang disusun secara sistematis, menampilkan sosok utuh dari kompetensi
yang akan dikuasai peserta didik dalam kegiatan pembelajaran. Dengan
bahan ajar, memungkinkan peserta didik dapat mempelajari suatu
kompetensi secara runtut dan sistematis sehingga secara akumulatif mampu
menguasai semua kompetensi secara utuh dan terpadu. Bahan ajar
merupakan informasi, alat, dan teks yang diperlukan guru untuk perencanaan
dan penelaahan implementasi pembelajaran.
Apabila bahan ajar yang sesuai dengan tuntutan kurikulum tidak ada
ataupun sulit diperoleh, maka membuat bahan belajar sendiri adalah suatu
keputusan yang bijak. Untuk mengembangkan bahan ajar, referensi dapat
diperoleh dari berbagai sumber baik itu berupa pengalaman ataupun
pengetahuan sendiri, atau pun penggalian informasi dari narasumber, baik
orang ahli maupun teman sejawat. Demikian pula referensi dapat diperoleh,

36
antara lain dari buku, media masa, dan internet. Namun demikian, kalau pun
bahan yang sesuai dengan kurikulum cukup melimpah bukan berarti tidak
perlu dikembangkan bahan sendiri. Bagi peserta diklat, seringkali bahan yang
terlalu banyak membuat mereka bingung. Untuk itu, guru perlu membuat
bahan ajar untuk menjadi pedoman bagi peserta didik dalam mengikuti
pembelajaran.
Pertimbangan lain adalah karakteristik sasaran. Bahan ajar yang
dikembangkan orang lain seringkali tidak cocok untuk semua peserta dididk.
Ada sejumlah alasan ketidakcocokan, misalnya, lingkungan sosial, geografis,
dan budaya. Bahan ajar yang dikembangkan sendiri dapat disesuaikan
dengan karakteristik peserta diklat sebagai sasaran. Selain lingkungan sosial,
budaya, dan geografis, karakteristik sasaran juga mencakup tahapan
perkembangan peserta diklat, kemampuan awal yang telah dikuasai, minat,
dan latar belakang.
Bahan ajar disusun dengan tujuan menyediakan bahan ajar yang sesuai
dengan tuntutan kurikulum dengan mempertimbangkan kebutuhan peserta
diklat, yakni bahan ajar yang sesuai dengan karakteristik dan setting atau
lingkungan sosial peserta diklat. Selain itu, membantu peserta diklat dalam
memperoleh alternatif bahan ajar di samping buku-buku teks yang terkadang
sulit diperoleh, serta memudahkan guru dalam melaksanakan pembelajaran.
Dalam mengembangkan bahan ajar sendiri, banyak manfaat yang diperoleh
guru. Pertama, diperoleh bahan ajar yang sesuai tuntutan kurikulum dan
sesuai dengan kebutuhan belajar peserta didik. Kedua, tidak lagi tergantung
kepada buku teks yang terkadang sulit untuk diperoleh. Ketiga, bahan ajar
menjadi labih kaya karena dikembangkan dengan menggunakan berbagai
referensi. Keempat, menambah khasanah pengetahuan dan pengalaman
fasilitator dalam menulis bahan ajar. Kelima, bahan ajar akan mampu
membangun komunikasi pembelajaran yang efektif antara guru dengan
peserta didik karena peserta diklat akan merasa lebih percaya kepada
fasilitatornya. Di samping kelima manfaat itu, guru juga dapat memperoleh
manfaat lain, misalnya tulisan tersebut dapat diajukan untuk menambah
angka kredit ataupun dikumpulkan menjadi buku dan diterbitkan.
Apabila tersedia bahan ajar yang bervariasi, maka guru mendapatkan
manfaat, yaitu kegiatan pembelajaran menjadi lebih menarik. Peserta didik

37
lebih banyak mendapatkan kesempatan untuk belajar secara mandiri dan
mengurangi ketergantungan terhadap kehadiran fasilitator. Peserta didik
juga mendapatkan kemudahan dalam mempelajari setiap kompetensi yang
harus dikuasainya.
Pengembangan bahan ajar hendaklah memperhatikan keenam prinsip
pembelajaran, yaitu (1) penyajian, (2) pengulangan, (3) umpan balik positif,
(4) memberikan motivasi belajar, (5) mencapai tujuan, dan (6) mengetahui
hasil (Departemen Pendidikan Nasional, 2008:16-118).
Materi pelajaran dapat dibedakan menjadi: pengetahuan (knowledge),
keterampilan (skill), dan sikap (attitude). Pengetahuan menunjuk pada
informasi yang disimpan daIam pikiran (mind) peserta didik, dengan demikian
pengetahuan berhubungan dengan berbagai informasi yang harus dihafal
dan dikuasai oleh peserta didik, sehingga manakala diperlukan peserta didik
dapat mengungkapkan kembali. Keterampllan (skill) menunjuk pada
tindakan-tindakan (fisik dan non fisik) yang dilakukan seseorang dengan cara
yang kompeten untuk mencapai tujuan tertentu. Sikap menunjuk pada
kecenderungan seseorang untuk bertindak sesuai dengan nilai dan norma
yang diyakini kebenarannya oleh peserta didik.
Menurut Sanjaya (2013:147), sumber materi pelajaran yang dapat
dimanfaatkan untuk proses pembelajaran. Adapun sumber materi pelajaran
tersebut dapat dikategorikan sebagai berikut: (1) tempat atau lingkungan, (2)
orang atau narasumber, (3) objek, dan (4) bahan cetak dan noncetak..

2. Penerapkan Materi Pembelajaran Sesuai dengan Tujuan


Pembelajaran
Materi pelajaran pada hakikatnya adalah pesan-pesan yang ingin
disampaikan kepada peserta didik untuk dikuasai. Pesan adalah informasi
yang akan disampaikan baik berupa ide, data/fakta, konsep dan lain
sebagainya yang dapat berupa kalimat, tulisan, gambar, peta, ataupun tanda.
Pesan bisa disampaikan melalui bahasa verbal atau nonverbal.
Penerimaan pesan bisa dipengaruhi oleh keadaan individu yang
menerima pesan itu sendiri. Agar pesan yang ingin disampaikan bermakna
sebagai bahan pelajaran, maka menurut Sanjaya (2013:150), ada empat
kriteria yang harus diperhatikan, yaitu novelty, proximity, conflict, dan humor.

38
Novelty, artinya suatu pesan akan bermakna apabila bersifat baru atau
mutakhir. Pesan yang usang atau yang sebenarnya telah diketahui oleh
peserta didik, akan memengaruhi tingkat motivasi dan perhatian peserta didik
dalam mempelajari bahan pelajaran. Proximity, artinya pesan yang
disampaikan harus sesuai dengan pengalaman peserta didik. Pesan yang
disajikan jauh dari pengalaman peserta didik cenderung akan kurang
diperhatikan. Conflict, artinya pesan yang disajikan sebaiknya dikemas
sedemikian rupa sehingga menggugah emosi. Memang hal ini tidaklah
mudah sebab tidak semua materi pelajaran bisa dikemas seperti itu. Humor,
artinya pesan yang disampaikan sebaiknya dikemas sehingga menampilkan
kesan lucu. Pesan yang dikemas dengan lucu cenderung akan lebih menarik
perhatian.
Beberapa pertimbangan teknis dalam mengemas isi atau materi pelajaran
menjadi bahan belajar di antaranya adalah:
a. Kesesuaian dengan tuiuan yang harus dicapai
Kesesuaian antara pengemasan bahan pelajaran dengan tujuan yang harus
dicapai, seperti yang dirumuskan dalam kurikulum secara teknis harus
menjadi pertimbangan pertama, sebab dalam pendekatan sistem tujuan
adalah komponen yang utama dalam proses pembelaiaran. Oleh karena itu,
sebelum dilakukan pengemasan materi pelajaran sebaiknya ditentukan
terlebih dahulu tujuan yang harus dicapai baik tujuan dalam bentuk
perubahan perilaku vang bersifat umum (goals), maupun perilaku terukur
dalam bentuk indikator hasil belaiar (objectives).
b. Kesederhanaan
Bahan pelajaran dikemas dengan tujuan untuk mempermudah peserta didik
belajar. Dengan demikian, kesederhanaan pengemasan merupakan salah
satu pertimbangan yang harus diperhatikan. Pengemasan tersebut bukan
hanya tercerminkan dari bentuk pengemasannya itu sendiri, tetapi juga dilihat
dari bentuk penyajiannya.
c. Unsur-unsur desain pesan
Dalam setiap kemasan sebaiknya terdapat unsur gambar dan caption.
Pengemasan materi yang hanya terdiri atas gambar atau caption saja akan
mengurangi makna penyajian informasi. Walaupun bahan pelajaran dikemas
dalam bentuk visual misalnya, unsur caption harus menjadi bagian dari teknik

39
penyajian, sebab salah satu kriteria keberhasilan pengemasan adalah
apakah pengemasan pesan atau informasi yang disajikan itu mudah
dipahami atau tidak. Agar mudah dipahami, maka penyajian pesan dan
informasi harus menyertakan unsur gambar dan caption.
d. Pengorganisasian bahan
Bahan pelajaran sebaiknya disusun dalam bagian-bagian menuju
keseluruhan. Bahan pelajaran akan lebih mudah dipahami manakala disusun
dalam bentuk unit-unit terkecil atau dalam bentuk pokok-pokok bahasan yang
dikemas secara induktif. Selesai peserta didik mempelajari unit tertentu
segera berikan umpan balik, demikian seterusnya sampai peserta didik
menguasai materi secara keseluruhan secara tuntas (mastery).

3. Penerapan Pengalaman Belajar yang Diperoleh Sesuai dengan


Tujuan Pembelajaran
Merancang pengalaman belajar yang sesuai dengan tujuan pembelajaran
merupakan aspek penting baik dalam perencanaan maupun desain
pembelajaran. Merancang pengalaman belajar pada hakikatnya adalah
menyusun skenario pembelajaran sebagai pedoman untuk guru dan peserta
didik dalam melaksanakan proses pembelajaran. Oleh sebab itu, dalam
pengembangan pengalaman belajar perlu tergambarkan kegiatan guru dan
kegiatan peserta didik dalam upaya pencapaian tujuan pembelajaran.
Pengalaman belajar diberikan kepada peserta didik menjadi acuan bagi
guru untuk melihat keberhasilan pembelajaran yang telah dilakukannya.
Keberhasilan tersebut didukung oleh penggunaan materi pelajaran yang
sesuai dengan situasi dan kondisi peserta didik.
D. Aktivitas Pembelajaran
Dalam mempelajari materi ini, peserta pelatihan membaca materi pelatihan
dan menjawab pertanyaan yang tersedia.
E. Latihan
Jawablah pertanyaan di bawah ini.
1. Bagaimanakah mengidentifikasi materi pembelajaran dengan
memperhatikan hakikat pengalaman belajar?
2. Bagaimanakah mengembangkan materi pelajaran sesuai dengan tujuan
pembelajaran?

40
3. Bagaimanakah menerapkan pengalaman belajar yang diperoleh sesuai
dengan tujuan pembelajaran?

F. Rangkuman
Bahan pelajaran dapat dibedakan menjadi: pengetahuan (knowledge),
keterampilan (skill), dan sikap (attitude). Sumber bahan pelajaran yang dapat
dimanfaatkan untuk proses pembelajaran.
Pengalaman belajar yang diberikan kepada peserta didik menjadi acuan bagi
guru untuk melihat keberhasilan pembelajaran. Keberhasilan tersebut
didukung oleh penggunaan materi pelajaran yang sesuai dengan situasi dan
kondisi peserta didik.
G. Umpan Balik dan Tindak Lanjut
1. Apakah Saudara telah memahami materi yang telah Saudara pelajari?
2. Menurut Saudara, adakah materi yang disajikan pada bagian ini sulit
Saudara pahami?
3. Materi mana saja yang paling mudah Saudara pahami?
4. Apakah materi yang disajikan pada bagian ini memberikan informasi
baru kepada Saudara?
5. Pada bagian mana yang menurut Saudara perlu ditambahkan sehingga
menjadi lebih baik?
H. Kunci Jawaban
1. Dalam mengidentifikasi materi pembelajaran hendaknya memperhatikan
hakikat pengalaman belajar peserta didik.
2. Materi pelajaran dikembangkan sesuai dengan tujuan pembelajaran.
3. Penerapan pengalaman belajar yang diperoleh disesuaikan dengan
tujuan pembelajaran.

41
42
PENYUSUNAN PERENCANAAN SEMESTER
A. Tujuan
Pembelajaran ini bertujuan sebagai berikut:
1. Peserta pelatihan dapat menjelaskan perencanaan pembelajaran
2. Peserta pelatihan dapat menjelaskan pendekatan pembelajaran.
3. Peserta pelatihan dapat menentukan macam-macam pendekatan
pembelajaran yang pernah berlaku.
4. Peserta pelatihan dapat menjelaskan pendekatan saitifik dalam proses
pembelajaran.
5. Peserta pelatihan dapat menerapkan model pembelajaran sesuai dengan
materi pembelajaran.
B. Indikator
Indikator pencapaian kompetensi yakni peserta pelatihan:
1. menjelaskan pengertian perencanaan
2. menjelaskan pendekatan pembelajaran
3. menentukan macam-macam pendekatan pembelajaran yang pernah
berlaku
4. menjelaskan pendekatan saitifik dalam proses pembelajaran
5. menerapkan model pembelajaran sesuai dengan materi pembelajaran
C. Uraian

1. Perencanaan Pembelajaran
Perencanaan pembelajaran adalah proses pengambilan keputusan hasil
berpikir secara rasional tentang sasaran dan tujuan pembelajaran tertentu, yaitu
perubahan tingkah laku serta rangkaian kegiatan yang harus dilakukan sebagai
upaya pencapaian tujuan tersebut dengan memanfaatkan segala potensi dan
sumber belajar yang ada. Hasil dari proses pengambilan keputusan tersebut
adalah tersusunnya dokumen yang dapat dijadikan pedoman dalam
melaksanakan proses pembelajaran. Perencanaan pembelajaran mempunyai
karakteristik sebagai berikut. Pertama, perencanaan pembelajaran merupakan
hasil dari proses berpikir dengan mempertimbangkan segala aspek yang dapat
mendukung keberhasilan proses pembelajaran. Kedua, perencanaan
pembelajaran disusun untuk mengubah perilaku siswa sesuai dengan tujuan

43
yang hendak dicapai. Ketiga, perencanaan pembelajaran berisi rangkaian
kegiatan yang harus dilaksanakan untuk mencapai tujuan.
Perencanaan pembelajaran sangat penting bagi guru karena tanpa ada
perencanan yang baik, bukan hanya peserta didik yang tidak terarah dalam
proses belajar, tetapi guru juga tidak terkontrol dan bisa salah arah dalam
proses belajar yang dilakukannya. Penjabaran kegunaan atau fungsi
perencanaan pembelajaran dipaparkan sebagai berikut:
1) Fungsi kreatif
Pembelajaran dengan menggunakan perencanaan yang matang akan dapat
memberikan umpan balik yang dapat menggambarkan berbagai kelemahan
yang ada sehingga akan dapat meningkatkan dan memperbaiki program.
2) Fungsi Inovatif
Suatu inovasi pasti akan muncul jika direncanakan karena adanya kelemahan
dan kesenjangan antara harapan dan kenyataan. Kesenjangan tersebut akan
dapat dipahami jika kita memahami proses yang dilaksanakan secara
sistematis dan direncanakan dan diprogram secara utuh.
3) Fungsi selektif
Melalui proses perencanaan akan dapat diseleksi strategi mana yang
dianggap lebih efektif dan efisien untuk dikembangkan. Fungsi selektif ini juga
berkaitan dengan pemilihan materi pelajaran yang dianggap sesuai dengan
tujuan pembelajaran.
4) Fungsi Komunikatif
Suatu perencanaan yang memadai harus dapat menjelaskan kepada setiap
orang yang terlibat, baik guru, siswa, kepala sekolah, bahkan pihak eksternal
seperti orang tua dan masyarakat. Dokumen perencanaan harus dapat
mengkomunikasikan kepada setiap orang baik mengenai tujuan dan hasil
yang hendak dicapai dan strategi yang dilakukan.
5) Fungsi prediktif
Perencanaan yang disusun secara benar dan akurat, dapat menggambarkan
hal yang akan terjadi setelah dilakukan tindakan sesuai dengan program yang
telah disusun. Melalui fungsi prediktifnya, perencanaan dapat
menggambarkan berbagai kesulitan yang akan terjadi, dan menggambarkan
hasil yang akan diperoleh.

44
6) Fungsi akurasi
Melalui proses perencanaan yang matang, guru dapat mengukur setiap waktu
yang diperlukan untuk menyampaikan bahan pelajaran tertentu, dapat
menghitung jam pelajaran efektif.
7) Fungsi pencapaian tujuan
Mengajar bukanlah sekedar menyampaikan materi, tetapi juga membentuk
manusia yang utuh yang tidak hanya berkembang dalam aspek intelektualnya
saja, tetapi juga dalam sikap dan ketrampilan. Melalui perencanaan yang baik,
maka proses dan hasil belajar dapat dilakukan secara seimbang.
8) Fungsi kontrol dan evaluatif
Mengontrol keberhasilan siswa dalam mencapai tujuan merupakan bagian
yang tidak dapat dipisahkan dalam suatu proses pembelajaran. Melalui
perencanaan akan dapat ditentukan sejauh mana materi pelajaran telah dapat
diserap oleh siswa dan dipahami, sehingga akan dapat memberikan balikan
kepada guru dalam mengembangkan program pembelajaran selanjutnya.
Setiap guru harus membuat perencaan semester yang di dalamnya, ada
RPP dan silabus. Dalam pembahasan ini penyusunan perencanaan semester
difokuskan pada penggunaan pendekatan pembelajaran yang menjadi dasar
dalam menyusun RPP. Uraian selengkapnya dapat dilihat di bawah ini.

2. Pendekatan Pembelajaran
Pendekatan adalah seperangkat asumsi yang mendasari pembelajaran.
Pendekatan bersifat aksioma yang menggambarkan hakikat subjek yang akan
diajarkan secara benar. Pendekatan tersebut merupakan suatu rangkaian
tindakan yang terpola atau terorganisir berdasarkan prinsip-prinsip tertentu
(filosofis, psikologis, didaktis dan ekologis) yang terarah secara sistematis pada
tujuan-tujuan yang hendak dicapai.
Pendekatan yang digunakan dalam peroses pembelajaran, ada dua macam,
yaitu pendekatan ilmiah (pendekatan saintifik) dan pendekatan nonilmiah
(pendekatan tradisional). Pembelajaran berbasis pendekatan ilmiah lebih efektif
hasilnya dibandingkan dengan pembelajaran tradidional. Hasil penelitian
membuktikan bahwa pada pembelajaran tradisional, retensi informasi dari guru
sebesar 10 persen setelah 15 menit dan perolehan pemahaman kontekstual
sebesar 25 persen. Pada pembelajaran berbasis pendekatan ilmiah, retensi

45
informasi dari guru sebesar lebih dari 90 persen setelah dua hari dan perolehan
pemahaman kontekstual sebesar 50-70 persen.
Proses pembelajaran dengan berbasis pendekatan ilmiah harus dipandu
dengan kaidah-kaidah pendekatan ilmiah. Pendekatan ini bercirikan penonjolan
dimensi pengamatan, penalaran, penemuan, pengabsahan, dan penjelasan
tentang suatu kebenaran. Dengan demikian, proses pembelajaran harus
dilaksanakan dengan dipandu nilai-nilai, prinsip-prinsip, atau kriteria ilmiah.

3. Macam-macam Pendekatan Pembelajaran


Ada beberapa macam pendekatan pembelajaran yang dapat digunakan
dalam kegiatan pembelajaran di sekolah. Penggunaan pendekatan tersebut
digunakan sesuai dengan kurikulum yang berlaku. Pendekatan proses, misalnya
digunakan pada Kurikulum 1984, pendekatan integratif digunakan pada
Kurikulum 1994, pendekatan kontekstual digunakan pada Kurikulum 2004 dan
KTSP 2006, pendekatan saintifik digunakan dalam Kurikulum 2013.

4. Pendekatan Saintifik dalam Proses Pembelajaran


Proses pembelajaran dapat dipadankan dengan suatu proses ilmiah. Itulah
sebabnya, Kurikulum 2013 mengamanatkan esensi pendekatan ilmiah dalam
pembelajaran. Pendekatan ilmiah diyakini sebagai titian emas perkembangan
dan pengembangan sikap, keterampilan, dan pengetahuan peserta didik.
Kurikulum 2013 menekankan pada dimensi pedagogik modern dalam
pembelajaran, yaitu menggunakan pendekatan ilmiah. Pendekatan ilmiah
(scientific appoach) dalam pembelajaran semua mata pelajaran meliputi
menggali informasi melaui pengamatan, bertanya, percobaan, kemudian
mengolah data atau informasi, menyajikan data atau informasi, dilanjutkan
dengan menganalisis, menalar, kemudian menyimpulkan, dan mencipta. Untuk
mata pelajaran, materi, atau situasi tertentu, sangat mungkin pendekatan ilmiah
ini tidak selalu tepat diaplikasikan secara prosedural. Pada kondisi seperti ini,
tentu saja proses pembelajaran harus tetap menerapkan nilai-nilai atau sifat-sifat
ilmiah dan menghindari nilai-nilai atau sifat-sifat nonilmiah.

5. Penerapan Model Pembelajaran sesuai dengan Materi Pembelajaran


Ada tiga model pembelajaran yang dibahas pada bagian ini, yaitu model
Pembelajaran Berbasis Proyek (project based learning), model pembelajaran

46
berbasis masalah, dan model pembelajaran discovery learning. Ketiga model
pembelajaran ini dijelaskan satu demi satu.
a. Model Pembelajaran Berbasis Proyek (Project Based Learning)
Pembelajaran Berbasis Proyek dapat dikatakan sebagai operasionalisasi
konsep “Pendidikan Berbasis Produksi” yang dikembangkan di Sekolah
Menengah Kejuruan (SMK). SMK yang berfungsi menyiapkan lulusan untuk
bekerja di dunia usaha dan industri harus dapat membekali peserta didiknya
dengan “kompetensi terstandar” yang dibutuhkan. Dengan pembelajaran
“berbasis produksi” peserta didik di SMK diperkenalkan dengan suasana dan
makna kerja yang sesungguhnya di dunia kerja. Dengan demikian, model
pembelajaran yang cocok untuk SMK adalah pembelajaran berbasis proyek.
Langkah-langkah pelaksanaan Pembelajaran Berbasis Proyek dapat
dijelaskan dengan diagram sebagai berikut. Pertama, penentuan pertanyaan
mendasar. Kedua, menyusun perencanaan proyek. Ketiga, menyusun jadwal.
Keempat, monitoring. Kelima, menguji hasil. Keenam, evaluasi pengalaman.

b. Model Pembelajaran Berbasis Masalah (Problem Based Learning)


Model pembelajaran berbasis masalah dilakukan dengan adanya
pemberian rangsangan berupa masalah yang kemudian dilakukan pemecahan
masalah oleh peserta didik yang diharapkan dapat menambah keterampilan
peserta didik dalam pencapaian materi pembelajaran.
Dalam model pembelajaran berbasis masalah ada lima fase. Fase 1,
orientasi peserta didik kepada masalah. Fase 2, mengorganisasikan peserta
didik. Fase 3, membimbing penyelidikan individu dan kelompok. Fase 4,
mengembangkan dan menyajikan hasil karya. Fase 5, menganalisis dan
mengevaluasi proses pemecahan masalah.
b) Model Pembelajaran Penemuan (Discovery Learning)
Discovery Learning adalah proses belajar yang di dalamnya tidak disajikan
suatu konsep dalam bentuk jadi (final), tetapi peserta didik dituntut untuk
mengorganisasi sendiri cara belajarnya dalam menemukan konsep. Dalam
model Discovery Learning, peserta didik diarahkan untuk memahami konsep,
arti, dan hubungan, melalui proses intuitif hingga akhirnya sampai pada suatu
kesimpulan.

47
Dalam mengaplikasikan metode Discovery Learning di kelas, ada
beberapa prosedur yang harus dilaksanakan dalam kegiatan belajar mengajar
secara umum sebagai berikut: (1) stimulation (stimulasi/pemberian
rangsangan); (2) problem statement (pernyataan/ identifikasi masalah); (3)
data collection (pengumpulan data); (4) data processing (pengolahan data);
(5) verification (pembuktian); dan generalization (menarik
kesimpulan/generalisasi).
D. Aktivitas Pembelajaran
Dalam mempelajari materi ini, peserta pelatihan melakukan aktivitas
pembelajaran berikut ini.
1. Peserta pelatihan menjelaskan pengertian perencanaan pembelajaran.
2. Peserta pelatihan menjelaskan pendekatan pembelajaran.
3. Peserta pelatihan dapat menentukan macam-macam pendekatan
pembelajaran yang pernah berlaku.
4. Peserta pelatihan menjelaskan pendekatan saitifik dalam proses
pembelajaran.
5. Peserta pelatihan membaca dan menerapkan model pembelajaran
sesuai dengan materi pembelajaran.
E. Latihan
Jawablah pertanyaan di bawah ini!
1. Jelaskan pengertian pendekatan pembelajaran!
2. Tuliskanlah macam-macam pendekatan pembelajaran yang pernah
digunakan!
3. Jelaskan pengertian pendekatan saitifik dalam proses pembelajaran!
4. Jelaskan masing-masing konsep dasar model pembelajaran berbasis
proyek, model pembelajaran berbasis masalah, dan model
pembelajaran berbasis penemuan!
F. Rangkuman
Pendekatan yang digunakan dalam peroses pembelajaran, ada dua
macam, yaitu pendekatan ilmiah (pendekatan saintifik) dan pendekatan
nonilmiah (pendekatan tradisional).
Kurikulum 2013 menggunakan pendekatan ilmiah. Pendekatan ilmiah
dalam pembelajaran semua mata pelajaran meliputi menggali informasi

48
melalui pengamatan, bertanya, percobaan, kemudian mengolah data atau
informasi, menyajikan data atau informasi, dilanjutkan dengan menganalisis,
menalar, kemudian menyimpulkan, dan mencipta.
Ada tiga model pembelajaran yang disarankan digunakan saat ini, yaitu
model pembelajaran berbasis proyek (project based learning), model
pembelajaran berbasis masalah, dan model pembelajaran discovery
learning. Ketiga model pembelajaran ini disarankan untuk digunakan sesuai
dengan karakteristik materi pembelajaran.
G. Umpan Balik dan Tindak Lanjut
Setelah mempelajari bahan ajar ini, Saudara diharapkan memiliki
keterampilan dalam mengimplementasikan model pembelajaran. Dalam
menerapkan kurikulum 2013, khususnya model pembelajaran, Saudara
harus selalu mengembangkam mengembangkan kreativitas.

H. Kunci Jawaban
1. Pendekatan pembelajaran adalah adalah suatu rangkaian tindakan
pembelajaran yang dilandasi oleh prinsip dasar tertentu (filosofis,
psikologis, didaktis dan ekologis) yang mewadahi, menginspirasi,
menguatkan dan melatari metode pembelajaran tertentu.
2. Pendekatan pembelajaran yang pernah digunakan adalah pendekatan
proses, pendekatan integratif, pendekatan kontekstual, dan pendekatan
saintifik.
3. Pendekatan saitifik dalam proses pembelajaran yang dilakukan dengan
menggali informasi melalui pengamatan, bertanya, percobaan, kemudian
mengolah data atau informasi, menyajikan data atau informasi,
dilanjutkan dengan menganalisis, menalar, kemudian menyimpulkan, dan
mencipta.
4. Dalam menerapkan pendekatan saintifik, direkomendasikan tiga model
pembelajaran, yaitu model pembelajaran berbasis proyek, model
pembelajaran berbasis masalah, dan model pembelajaran berbasis
penemuan.
Evaluasi

49
Setelah mengerjakan tugas pada setiap bab dalam modul ini, Saudara
dapat memahami materi pengembangan dan penerapan kurikulum. Dengan
pemahaman tersebut, Saudara sudah memiliki pengetahuan dasar mengenai
kurikulum, sehingga nantinya dapat Saudara gunakan sebagai pegangan
dalam merancang program semester. Rancangan program semester tersebut
menjadi pedoman bagi Saudara dalam melaksanakan kegiatan pembelajaran
di sekolah.

50
PENGEMBANGAN INDIKATOR DAN INSTRUMEN PENILAIAN
A. Tujuan
Tujuan mempelajari materi ini adalah sebagai berikut:
1. Peserta pelatihan dapat menjelaskan pengertian indikator pencapaian
kompetensi.
2. Peserta pelatihan dapat menentukan cara mengembangkan indikator
pencapaian kompetensi dengan memperhatikan unsur spesifik, terukur,
memuat SPO dan berkecukupan.
3. Peserta pelatihan dapat mengembangkan pencapaian kompetensi.

B. Indikator
Indikator yang akan dicapai dalam pembelajaran ini, yakni peserta pelatihan:
1. menjelaskan pengertian indikator pencapaian kompetensi
2. cara mengembangkan indikator pencapaian kompetensi dengan
memperhatikan unsur spesifik, terukur, memuat SPO dan berkecukupan
3. mengembangkan indikator pencapaian kompetensi

C. Uraian

1. Pengertian Indikator Pencapaian Kompetensi


Indikator merupakan penanda pencapaian KD yang ditandai oleh
perubahan perilaku yang dapat diukur yang mencakup sikap,
pengetahuan, dan keterampilan. Indikator dikembangkan sesuai dengan
karakteristik peserta didik, mata pelajaran, satuan pendidikan, potensi
daerah dan dirumuskan dalam kata kerja operasional yang terukur
dan/atau dapat diobservasi.
Dalam mengembangkan pembelajaran dan penilaian, terdapat dua
rumusan indikator, yaitu: (1) indikator pencapaian kompetensi yang
dikenal sebagai indikator; dan (2) indikator penilaian yang digunakan
dalam menyusun kisi-kisi dan menulis soal yang di kenal sebagai
indikator soal.
Indikator dirumuskan dalam bentuk kalimat dengan menggunakan
kata kerja operasional. Rumusan indikator sekurang-kurangnya

51
mencakup dua hal yaitu tingkat kompetensi dan materi yang menjadi
media pencapaian kompetensi.
Indikator pencapaian kompetensi merupakan rumusan kemampuan
yang harus dilakukan atau ditampilkan oleh siswa untuk menunjukkan
ketercapaian kompetensi dasar (KD). Dengan demikian, indikator
pencapaian kompetensi merupakan tolok ukur ketercapaian suatu KD.
Hal ini sesuai dengan maksud bahwa indikator pencapaian kompetensi
menjadi acuan penilaian mata pelajaran.
Untuk mengetahui pencapaian hasil belajar, maka dilakukanlah
tes hasil belajar. Tes hasil belajar tersebut dibuat dengan menggunakan
kata kerja operasional.

2. Cara Mengembangkan Indikator


Pelaksanaan penilaian diawali dengan pendidik merumuskan
indikator pencapaian kompetensi pengetahuan dan keterampilan yang
dijabarkan dari Kompetensi Dasar (KD) pada setiap mata pelajaran.
Indikator pencapaian kompetensi untuk KD pada KI-3 dan KI-4
dirumuskan dalam bentuk perilaku spesifik yang dapat terukur dan/atau
diobservasi. Indikator pencapaian kompetensi dikembangkan menjadi
indikator soal yang diperlukan untuk penyusunan instrumen penilaian.
Indikator tersebut digunakan sebagai rambu-rambu dalam penyusunan
butir soal atau tugas. Instrumen penilaian memenuhi persyaratan
substansi/materi, konstruksi, dan bahasa.
Persyaratan substansi merepresentasikan kompetensi yang dinilai,
persyaratan konstruksi memenuhi persyaratan teknis sesuai dengan
bentuk instrumen yang digunakan, dan persyaratan bahasa adalah
penggunaan bahasa yang baik dan benar serta komunikatif sesuai
dengan tingkat perkembangan peserta didik. Indikator pencapaian
pengetahuan dan keterampilan merupakan ukuran, karakteristik, atau ciri-
ciri yang menunjukkan ketercapaian suatu KD tertentu dan menjadi acuan
dalam penilaian KD mata pelajaran. Setiap Indikator pencapaian
kompetensi dapat dikembangkan menjadi satu atau lebih indikator soal
pengetahuan dan keterampilan. Untuk mengukur pencapaian sikap,
digunakan indikator penilaian sikap yang dapat diamati.

52
Rumusan indikator pencapaian kompetensi tidak terpengaruh oleh
strategi kegiatan pembelajaran yang disusun guru karena rumusannya
lebih bergantung kepada karakteristik KD yang akan dicapai peserta
didik. Perlu diingat pula bahwa indikator pencapaian kompetensi menjadi
acuan penilaian, yaitu sebagai tolok ukur pencapaian KD, sehingga tujuan
pembelajaran harus searah dengan tolok ukurnya dan hendaknya dapat
memfasilitasi peserta didik agar dapat mencapai kemampuan yang
dirumuskan oleh tolok ukurnya.

3. Mengembangkan Indikator
Indikator pencapaian kompetensi pengetahuan dijabarkan dari
Kompetensi Dasar (KD) pada setiap mata pelajaran. Indikator pencapaian
kompetensi menggunakan kata kerja operasional. Kata kerja operasional
pada indikator digunakan sebagai acuan dalam penentuan butir soal.
Untuk menjadi dasar dalam penulisan soal pengetahuan, dapat
digunakan kata kerja operasional berikut ini.
Kemampuan mengingat: antara lain mengutip, menyebutkan,
menjelaskan, menelusuri, menulis. Kemampuan memahami: antara lain
memperkirakan, menjelaskan, mengkategorikan. Kemampuan
menerapkan: antara lain menugaskan, mengurutkan, menentukan,
menerapkan, menggunakan. Kemampuan menganalisis: antara lain
menganalisis, menyimpulkan, menemukan. Kemampuan mengevaluasi:
antara lain membandingkan, merangkum, memproyeksikan. Kemampuan
Mencipta: antara lain mengabstraksi, meningkatkan, merumuskan,
menggeneralisasi, menampilkan.
Pola pengembangan indikator pencapaian kompetensi digunakan
pola SPOK (Subjek – Predikat – Objek – Keterangan). Selain itu,
pengembangan indikator pencapaian kompetensi harus spesifik, terukur,
dan berkecukupan. Perhatikanlah contoh di bawah ini.
Kompetensi Dasar: Mengelola alat tangkap pancing (line)
Indikator Pencapaian Kompetensi:
a. Peserta didik menampilkan alat tangkap pancing (line)
b. Peserta didik menyimpulkan alat tangkap pancing (line)
c. Peserta didik mengintegrasikan alat tangkap pancing (line)

53
d. Peserta didik mendesain alat tangkap pancing (line)
D. Aktivitas Pembelajaran
Dalam kegiatan pembelajaran ini, aktivitas pembelajaran dipaparkan di
bawah ini.
a. Peserta pelatihan menjelaskan pengertian indikator pencapaian
kompetensi.
b. Peserta pelatihan menjelaskan cara mengembangkan indikator
pencapaian kompetensi.
c. Peserta pelatihan mengembangkan indikator pencapaian kompetensi.

E. Latihan
Jawablah pertanyaan di bawah ini!
a. Jelaskan pengertian indikator pencapaian kompetensi!
b. Jelaskan cara mengembangkan indikator pencapaian!
c. Tulislah salah satu contoh indikator pencapaian kompetensi dengan
memilih satu kompetensi dasar pada mata pelajaran yang Saudara ampu!
F. Rangkuman
Indikator merupakan penanda pencapaian KD yang ditandai oleh
perubahan perilaku yang dapat diukur yang mencakup sikap, pengetahuan,
dan keterampilan. Indikator dikembangkan sesuai dengan karakteristik
peserta didik, mata pelajaran, satuan pendidikan, potensi daerah dan
dirumuskan dalam kata kerja operasional yang terukur dan/atau dapat
diobservasi.
Indikator pencapaian kompetensi adalah perilaku yang dapat diukur
dan/atau diobservasi untuk menunjukkan ketercapaian kompetensi dasar
tertentu yang menjadi acuan penilaian mata pelajaran. Indikator pencapaian
kompetensi dirumuskan dengan menggunakan kata kerja operasional yang
dapat diukur, yang mencakup pengetahuan, sikap, dan keterampilan.
Pola pengembangan indikator pencapaian kompetensi digunakan pola
SPOK (Subjek – Predikat – Objek – Keterangan). Pengembangan indikator
juga harus spesifik, terukur, berkecukupan.

54
G. Umpan Balik dan Tindak Lanjut
Setelah Saudara menjawab semua pertanyaan yang ada pada bagian
ini, Saudara telah memperoleh pemahaman yang memadai mengenai
indikator pencapaian kompetensi. Dalam menentukan indikator soal, Saudara
diharapkan mencermati kompetensi dasarnya dan memilih kata kerja
operasional sehingga dapat mengukur pencapaian kompetensi. Dengan
demikian, indikator penilaian yang Saudara rumuskan dapat menilai
kompetensi yang seharusnya dinilai.
H. Kunci Jawaban
a. Tujuan merupakan pengikat segala aktivitas guru dan peserta didik.
Tujuan tersebut harus dicapai dalam proses pembelajaran. Komponen
tujuan memiliki fungsi yang sangat penting dalam sistem pembelajaran.
b. Dalam tujuan pembelajaran, ada tiga ranah/aspek, yang dicapai, yaitu
ranah kognitif, afektif, dan psikomotorik.

55
56
PENUTUP

Secara etimologis, kurikulum merupakan terjemahan dari kata curriculum


dalam bahasa Inggris yang berarti rencana pelajaran. Curriculum berasal dari
kata “currere” yang berarti berlari cepat, maju dengan cepat, merambat,
tergesa-gesa, menjelajahi, menjalani dan berusaha untuk melakukan
aktivitas. Curriculum juga diartikan sebagai jarak yang harus ditempuh oleh
seorang pelari mulai dari start hingga finish. Kurikulum adalah sejumlah mata
perajaran yang harus dikuasai oleh peserta didik untuk mendapatkan ijazah
atau naik kelas.
Dalam kajian tentang pengertian kurikulum di kalangan praktisi
pendidikan dan pakar pendidikan, banyak persepsi tentang pemahaman
kurikulum. Oleh karena itu, terdapat berbagai macam pengertian atau
pemahaman sekitar kurikulum. Beberapa pemahaman tersebut, antara lain
(a) kurikulum dipandang sebagai suatu bahan tertulis yang berisi uraian
tentang program pendidikan suatu sekolah yang harus dilaksanakan dari
tahun ke tahun; (b) kurikulum diartikan sebagai tujuan pengajaran,
pengalaman-pengalaman belajar, alat-alat pelajaran dan cara-cara penilaian
yang direncanakan dan digunakan dalam pendidikan.

57
DAFTAR PUSTAKA

Ansyar, Mohamad. 2015. Kurikulum: Hakikat, Fondasi, Desain, dan


Pengembangan. Jakarta: Kencana Prenadamedia Group.
Darmadi, Hamid. 2010. Kemampuan Dasar Mengajar. Bandung: Alfabeta.
Departemen Pendidikan Nasional. 2008. Panduan Pengembangan Bahan Ajar.
Jakarta: Departemen Pendidikan Nasional, Direktorat Jenderal
Manajemen Pendidikan Dasar dan Menengah, Direktorat Pembinaan
Sekolah Menengah.
Hosnan, M. 2014. Pendekatan Saintifik dan Kontekstual dalam Pembelajaran
Abad 21. Bogor: Ghalia Indonesia.
Ismawati, Esti. 2012. Telaah Kurikulum dan Pengembangan Bahan Ajar.
Yogyakarta: Ombak.
Pusat Pengembangan Tenaga Kependidikan, Badan Pengembangan Sumber
Daya Manusia Pendidikan dan Kebudayaan dan Penjaminan Mutu
Pendidikan. 2014. Pengembangan Keprofesian Berkelanjutan Kepala
Sekolah/Madrasah, Bahan Pembelajaran Utama: Pengelolaan
Kurikulum. Jakarta: Departemen Pendidikan Nasional.
Rianto, Milan. 2007. Pengelolaan Kelas Model PAKEM. Jakarta: Depdiknas,
Dirjen Pembinaan Mutu Pendidikan dan Tenaga Kependidikan,
Direktorat Pembinaan Mutu Pelatihan.
Sagala, Syaiful. 2009. Kemampuan Profesional Guru dan Tenaga Kependidikan.
Bandung: Alfabeta.
Sanjaya, Wina. 2013. Perencanaan dan Desain Sistem Pembelajaran. Jakarta:
Kencana Prenadamedia Group.
Siregar, Eveline dan Hartini Nara. 2013. Teori Belajar dan Pembelajaran. Bogor:
Ghalia Indonesia.
http://masnoer80.blogspot.co.id/2013/01/perencanaan-pembelajaran.html diuduh
tgl 7 Desember 2015.

58
MODUL
GURU PEMBELAJAR

Mata Pelajaran
Reakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)

Kelompok Kompetensi D

Penulis: Joko Pitono

Direktorat Jenderal Guru dan Tenaga Kependidikan


Kementrian Pendidikan dan Kebudayaan
Tahun 2016

i
HALAMAN PERANCIS

Penulis:
1. Joko Pitono
Emai: joko.pitono@yahoo.co.id

Penelaah:
1. Siarra Maulida Asrin, S.T [081562783394],
Email: abdulmuism@gmail.com
2. Abdul Haliq, S.Pd., M.Pd., [085341259862]
Email : abdulhaliq88@gmail.com

Ilustrator :
1. Sierra Maulida Asrin, S.T [081562783394]
Email : siera.asrin@gmail.com
2. Faizal Reza Nurzeha, A.Md. [085242177945]
Email : faizarezanurzeha@gmail.com

Layouter :
1. Syamsul Hidayat, A.Md. [081355598663]
Email : sh92ciamis@gmail.com

Copyright ©2016
Lembaga Pengembangan dan Pemberdayaan Pendidikan Tenaga
Kependidikan Bidang Kelautan Perikanan Teknologi Informasi dan
Komunikasi.

Hak Cipta Dilindungi Undang-Undang


Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk
kepentingan komersial tanpa izin tertulis dari Kementrian Pendidikan
Kebudayaan.

ii
iii
KATA SAMBUTAN

Peran guru profesional dalam proses pembelajaran sangat penting


sebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yang
kopeten membangun proses pembelajaran yang baik sehingga dapat
menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru
sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun
pemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkut
kopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar
(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalan
dengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui uji
kompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhir
tahun 2015. Hasil UKG menunjukanpeta kekuatan dan kelemahan kompetensi
guru dalam penguasaan pengetahuan. Peta kompetensi guru tersebut
dikelompokan menjadi 10 (sepuluh) kelopok kompetensi. Tindak lanjut
pelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melalui
program Guru Pembelajar.Tujuannya untuk meningkatkan kompetensi guru
sebagai agen perubahaan dan sumber belajar utama bagi peserta didik. Program
Guru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dan
campuran (blended) tatap muka dengan online.
Pusat Pengembangan dan Pemberdayaan Pendidik dan Tenag
Kependidikan (PPPPTK), Lembaga Pengembangan dan Pemberdayaan
Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi dan
Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan Pemberayaan
Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkungan
Direktorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawab
dalam mengembangkan perangkat dan melaksanakan peningkaan kompetensi
guru sesuai dengan bidangnya. Adapun peragkat pembelajaran yang
dikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)
tatap muka dan GP online untuk semua mata pelajaran dan kelompok
kompetensi. Dengan modul ini diharapkan program GP memberikan sumbangan
yang sangat besar dalam peningkatan kualitas kompetensi guru.Mari kita
sukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.

Jakarta, Februari 2016


Direktur Jendral
Guru dan Tenaga Kependidikan

Sumarna Surapranata, Ph.D


NIP. 195908011985031002

iv
v
KATA PENGANTAR

Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan sebagai
profesi yang bermartabat sebagaimana diamanatkan Undang-Undang Nomor 14
Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan tenaga
kependidikan merupakan tenaga profesional yang mempunyai fungsi, peran, dan
kedudukan yang sangat penting dalam mencapai visi pendidikan 2025 yaitu
“Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru dan tenaga
kependidikan yang profesional wajib melakukan pengembangan keprofesian
berkelanjutan.
Buku pedoman Pedoman Penyusunan Modul Diklat Pengembangan Keprofesian
Berkelanjutan Bagi Guru dan Tenaga Kependidikan untuk institusi
penyelenggara program pengembangan keprofesian berkelanjutan merupakan
petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan
modul yang merupakan salah satu sumber belajar bagi guru dan tenaga
kependidikan. Buku ini disajikan untuk memberikan informasi tentang
penyusunan modul sebagai salah satu bentuk bahan dalam kegiatan
pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan.
Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan
kepada berbagai pihak yang telah memberikan kontribusi secara maksimal
dalam mewujudkan buku ini, mudah-mudahan buku ini dapat menjadi acuan dan
sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan
penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan
saran yang membangun sangat diharapkan untuk menyempurnakan buku ini di
masa mendatang.
Makassar, Desember 2016
Kepala LPPPTK KPTK Gowa
Sulawesi Selatan,

Dr. H. Rusdi, M.Pd,


NIP 19650430 199103 1 004

vi
vii
DAFTAR ISI

KATA SAMBUTAN .....................................................................................................IV

KATA PENGANTAR....................................................................................................VI

DAFTAR ISI .............................................................................................................VIII

DAFTAR GAMBAR .................................................................................................... XII

DAFTAR TABEL........................................................................................................XVI

PENDAHULUAN ......................................................................................................... 1

A. LATAR BELAKANG ..................................................................................................................... 1


B. TUJUAN .................................................................................................................................. 1
C. PETA KOMPETENSI.................................................................................................................... 2
D. RUANG LINGKUP ...................................................................................................................... 2
E. SARAN CARA PENGGUNAAN MODUL ........................................................................................... 3
1. Cara Penggunaan Modul ................................................................................................ 3
2. Kebutuhan Minimal Penggunaan ................................................................................... 3
3. Cara Instalasi Program Pendukung...................................................................................... 3
A. Instalasi JDK 8 ...................................................................................................................... 3
B. Instalasi Netbeans 8.0.2...................................................................................................... 5
C. Instalasi Oracle XE 10g Database ........................................................................................ 9

MEMBUAT KOMPONEN GUI BERBASIS AWT (ABSTRACT WINDOW TOOLKIT) ............ 17

A. TUJUAN ................................................................................................................................ 17
B. INDIKATOR PENCAPAIAN KOMPETENSI ........................................................................................ 17
C. URAIAN MATERI .................................................................................................................... 17
1. Abstract Windowing Toolkit (AWT)............................................................................... 17
2. Window Classes Fundamental ...................................................................................... 18
3. Komponen didalam AWT .............................................................................................. 20
4. Layout Manager didalam AWT ..................................................................................... 22
D. AKTIVITAS PEMBELAJARAN ....................................................................................................... 27
E. LATIHAN/ KASUS /TUGAS ........................................................................................................ 30

viii
F. RANGKUMAN ......................................................................................................................... 31
G. UMPAN BALIK DAN TINDAK LANJUT............................................................................................ 31
H. KUNCI JAWABAN..................................................................................................................... 32
1. Source Code Jawaban .................................................................................................... 32
2. Output Source Code....................................................................................................... 33

MEMBUAT KOMPONEN GUI BERBASIS SWING..........................................................37

A. TUJUAN ................................................................................................................................ 37
B. INDIKATOR PENCAPAIAN KOMPETENSI ........................................................................................ 37
C. URAIAN MATERI ..................................................................................................................... 37
1. Java Swing ..................................................................................................................... 37
2. Komponen didalam Swing ............................................................................................. 37
3. Layout Manager didalam Swing.................................................................................... 42
D. AKTIVITAS PEMBELAJARAN........................................................................................................ 45
E. LATIHAN/ KASUS /TUGAS ......................................................................................................... 48
1. Tampilan Program ......................................................................................................... 48
2. Format Layout Program ................................................................................................ 49
F. RANGKUMAN ......................................................................................................................... 49
G. UMPAN BALIK DAN TINDAK LANJUT............................................................................................ 49
H. KUNCI JAWABAN..................................................................................................................... 50
1. Source Code Program .................................................................................................... 50
2. Tampilan Program ......................................................................................................... 51

MEMBUAT KOMPONEN GUI BERBASIS DRAG AND DROP DENGAN NETBEANS...........54

A. TUJUAN ................................................................................................................................ 54
B. INDIKATOR PENCAPAIAN KOMPETENSI ........................................................................................ 54
C. URAIAN MATERI ..................................................................................................................... 54
1. Definisi Netbeans........................................................................................................... 54
2. Bekerja dengan Netbeans.............................................................................................. 55
D. AKTIVITAS PEMBELAJARAN........................................................................................................ 58
E. LATIHAN/ KASUS /TUGAS ......................................................................................................... 66
1. Output Program............................................................................................................. 67
2. Properties Komponen Program ..................................................................................... 67
F. RANGKUMAN ......................................................................................................................... 68
G. UMPAN BALIK DAN TINDAK LANJUT............................................................................................ 68

ix
H. KUNCI JAWABAN .................................................................................................................... 69
1. Source Code Program.................................................................................................... 69
2. Tampilan Program ........................................................................................................ 77

EVENT HANDLING KOMPONEN GUI.......................................................................... 81

A. TUJUAN ................................................................................................................................ 81
B. INDIKATOR PENCAPAIAN KOMPETENSI ........................................................................................ 81
C. URAIAN MATERI .................................................................................................................... 81
1. Pengertian Event Handling ........................................................................................... 81
2. Class Event .................................................................................................................... 83
3. Event Listeners .............................................................................................................. 85
D. AKTIVITAS PEMBELAJARAN ....................................................................................................... 90
E. LATIHAN/ KASUS /TUGAS ........................................................................................................ 94
F. RANGKUMAN ........................................................................................................................ 94
G. UMPAN BALIK DAN TINDAK LANJUT ........................................................................................... 95
H. KUNCI JAWABAN .................................................................................................................... 96
1. Source Code Program.................................................................................................... 96
2. Output Tampilan Program .......................................................................................... 106

MEMBUAT TRANSFORMASI DENGAN KELAS GRAPHIC ............................................ 110

A. TUJUAN .............................................................................................................................. 110


B. INDIKATOR PENCAPAIAN KOMPETENSI ...................................................................................... 110
C. URAIAN MATERI .................................................................................................................. 110
1. Konsep Dasar Transformasi Objek .............................................................................. 110
2. Translasi Objek............................................................................................................ 111
3. Rotasi Objek ................................................................................................................ 112
4. Pengubahan Skala Objek/Scalling Object ................................................................... 114
5. Animasi Objek ............................................................................................................. 115
D. AKTIVITAS PEMBELAJARAN ..................................................................................................... 121
E. LATIHAN/ KASUS /TUGAS ...................................................................................................... 123
F. RANGKUMAN ...................................................................................................................... 124
G. UMPAN BALIK DAN TINDAK LANJUT ......................................................................................... 125
H. KUNCI JAWABAN .................................................................................................................. 125
1. Source Code Program.................................................................................................. 125
2. Tampilan Output Program .......................................................................................... 127

x
EVALUASI............................................................................................................... 128

KUNCI JAWABAN ................................................................................................... 136

DAFTAR PUSTAKA .................................................................................................. 138

GLOSARIUM........................................................................................................... 142

xi
DAFTAR GAMBAR

GAMBAR 1 SAAT APLIKASI JDK PERTAMA KALI DIBUKA UNTUK INSTALASI ................... 3
GAMBAR 2 PEMILIHAN FITUR PLUGIN INSTALASI JDK ............................................... 4
GAMBAR 3 PROSES INISIALISASI INSTALASI JDK...................................................... 4
GAMBAR 4 PEMILIHAN DIREKTORI INSTALASI JDK.................................................... 5
GAMBAR 5 INSTALASI JDK TELAH SELESAI .............................................................. 5
GAMBAR 6 PROSES PEMILIHAN FITUR INSTALASI NETBEANS ....................................6
GAMBAR 7 EULA NETBEANS .................................................................................. 6
GAMBAR 8 PEMILIHAN INSTALASI JUNIT ..................................................................7
GAMBAR 9 PEMILIHAN DIREKTORI UNTUK INSTALASI ................................................ 7
GAMBAR 10 PEMILIHAN FITUR CHECK FOR UPDATE ................................................. 8
GAMBAR 11 PROSES INSTALASI NETBEANS ............................................................. 8
GAMBAR 12 PEMILIHAN SURVEY PROGRAM NETBEANS ............................................9
GAMBAR 13 PROSES MENUNGGU LOADING APLIKASI ORACLE XE ............................ 9
GAMBAR 14 TAMPILAN AWAL INSTALASI APLIKASI ORACLE XE ............................... 10
GAMBAR 15 TAMPILAN EULA INSTALASI APLIKASI ORACLE XE .............................. 10
GAMBAR 16 PEMILIHAN DIREKTORI INSTALASI APLIKASI ORACLE XE ...................... 11
GAMBAR 17 PENULISAN PASSWORD UNTUK LOGIN DATABASE ORACLE XE ............ 11
GAMBAR 18 TAMPILAN PORT PENTING DALAM DATABASE ORACLE ......................... 12
GAMBAR 19 PROSES INSTALASI APLIKASI ORACLE XE........................................... 12
GAMBAR 20 PROSES INSTALASI APLIKASI ORACLE XE TELAH SELESAI ................... 13

GAMBAR 1. 1 TAMPILAN OUTPUT FRAME ............................................................... 19


GAMBAR 1. 2 TAMPILAN OUTPUT FRAME DENGAN PANEL ....................................... 20
GAMBAR 1. 3 TAMPILAN KOMPONEN AWT PADA FRAME ......................................... 21
GAMBAR 1. 4 TAMPILAN FRAME DENGAN FLOW LAYOUT......................................... 23
GAMBAR 1. 5 TAMPILAN FRAME DENGAN BORDER LAYOUT ....................................25
GAMBAR 1. 6 TAMPILAN FRAME DENGAN GRID LAYOUT.......................................... 27
GAMBAR 1. 7 TAMPILAN APLIKASI GUI AWT YANG DIBUAT .....................................30
GAMBAR 1. 8 TAMPILAN PROGRAM ....................................................................... 31
GAMBAR 1. 9 TAMPILAN FORM DATA ALUMNI ........................................................ 33

xii
GAMBAR 2. 1 TAMPILAN FRAME DENGAN FLOW LAYOUT ........................................ 41
GAMBAR 2. 2 TAMPILAN JOPTIONPANE................................................................. 41
GAMBAR 2. 3 TAMPILAN FRAME DENGAN FLOW LAYOUT SWING ............................. 43
GAMBAR 2. 4 TAMPILAN FRAME DENGAN GRID LAYOUT SWING .............................. 44
GAMBAR 2. 5 TAMPILAN APLIKASI SWING GUI YANG DIBUAT .................................. 48
GAMBAR 2. 6 HASIL TAMPILAN PROGRAM ............................................................. 48
GAMBAR 2. 7 SPESIFIKASI LAYOUT TAMPILAN PROGRAM ....................................... 49
GAMBAR 2. 8 TAMPILAN PROGRAM FORM PENDAFTARAN SISWA BARU ................... 51

GAMBAR 3. 1 MEMBUKA NETBEANS LEWAT START MENU....................................... 55


GAMBAR 3. 2 MEMBUAT PROJECT BARU DARI NETBEANS ....................................... 56
GAMBAR 3. 3 MEMBUAT APLIKASI JAVA APPLICATION............................................. 56
GAMBAR 3. 4 MENENTUKAN LOKASI PENYIMPANAN PROJECT JAVA ......................... 57
GAMBAR 3. 5 MEMBUAT FRAME BARU PADA PROJECT NETBEANS ........................... 57
GAMBAR 3. 6 TULIS NAMA FORM YANG DIBUAT ...................................................... 57
GAMBAR 3. 7 TAMPILAN FORM YANG DI BUAT ........................................................ 58
GAMBAR 3. 8 MENU FILE UNTUK MEMBUAT PROJECT JAVA ..................................... 58
GAMBAR 3. 9 MEMBUAT PROJECT JAVA ................................................................ 59
GAMBAR 3. 10 MENULISKAN NAMA PROJECT DAN LOKASI PENYIMPANANNYA ........... 59
GAMBAR 3. 11 MENAMBAHKAN FORM PADA PROJECT YANG DIBUAT ........................ 60
GAMBAR 3. 12 MENULISKAN NAMA FORM .............................................................. 60
GAMBAR 3. 13 MEMILIH BAGIAN PREFERREDSIZE PADA PROPERTIES ...................... 61
GAMBAR 3. 14 MENGATUR LEBAR DAN TINGGI FRAME YANG DIBUAT........................ 61
GAMBAR 3. 15 DRAG KOMPONEN PANEL KE FORM ................................................. 61
GAMBAR 3. 16 HASIL KOMPONEN LABEL ................................................................ 62
GAMBAR 3. 17 MENGGANTI TULISAN PADA JLABEL................................................. 62
GAMBAR 3. 18 MENGGANTI TIPE DAN UKURAN HURUF PADA JLABEL........................ 62
GAMBAR 3. 19 SEBELUM VARIABLE NAME DIGANTI ................................................. 63
GAMBAR 3. 20 SESUDAH DIGANTI ......................................................................... 63
GAMBAR 3. 21 LAYOUT AWAL APLIKASI ................................................................. 63
GAMBAR 3. 22 LAYOUT TEXT FIELD ...................................................................... 63
GAMBAR 3. 23 LAYOUT APLIKASI SETELAH DITAMBAHKAN BUTTON .......................... 64
GAMBAR 3. 24 LAYOUT APLIKASI SETELAH DITAMBAHKAN TABEL ............................. 64
GAMBAR 3. 25 KLIK KANAN TABEL YANG DITAMBAHKAN .......................................... 65

xiii
GAMBAR 3. 26 KONTEN TABEL YANG DIEDIT .......................................................... 65
GAMBAR 3. 27 LAYOUT AWAL APLIKASI..................................................................65
GAMBAR 3. 28 PEMILIHAN KELAS UTAMA APLIKASI YANG DIBUAT ............................. 66
GAMBAR 3. 29 APLIKASI GUI DENGAN DRAG AND DROP YANG DIBUAT ..................... 66
GAMBAR 3. 30 TAMPILAN KALKULATOR YANG DI BUAT ............................................ 67
GAMBAR 3. 31 TAMPILAN RUNNING SOURCE CODE ............................................... 77

GAMBAR 4. 1 DELEGATION OF EVENT MODEL ........................................................ 83


GAMBAR 4. 2 ACTIONLISTENER SEBELUM DAN SESUDAH DI KLIK ............................ 87
GAMBAR 4. 3 JIKA MOUSE KELUAR DARI FRAME .................................................... 88
GAMBAR 4. 4 JIKA MOUSE PADA FRAME ................................................................ 88
GAMBAR 4. 5 JIKA MOUSE DI KLIK ......................................................................... 88
GAMBAR 4. 6 JIKA MOUSE DI TEKAN...................................................................... 88
GAMBAR 4. 7 AWAL PROGRAM DIJALANKAN ........................................................... 89
GAMBAR 4. 8 JIKA TOMBOL “S” DI TEKAN............................................................... 89
GAMBAR 4. 9 JIKA TOMBOL “S” DI LEPAS ............................................................... 89
GAMBAR 4. 10 MENGAKSES MENU SOURCE ........................................................... 90
GAMBAR 4. 11 MENGAKSES EVENT KEYTYPED TEXT FIELD ....................................91
GAMBAR 4. 12 MEMBERIKAN EVENT PADA BUTTON SIMPAN ....................................92
GAMBAR 4. 13 PENGATURAN JUMLAH BARIS MENJADI 0.......................................... 92
GAMBAR 4. 14 VALIDASI INPUT NIS ...................................................................... 93
GAMBAR 4. 15 VALIDASI INPUT NAMA ...................................................................93
GAMBAR 4. 16 VALIDASI INPUT NILAI ....................................................................93
GAMBAR 4. 17 DATA YANG DI INPUTKAN ................................................................ 94
GAMBAR 4. 18 TAMPILAN DATA BERHASIL DI INPUT PADA TABEL............................. 94
GAMBAR 4. 19 OUTPUT TAMPILAN PROGRAM ...................................................... 106

xiv
xv
DAFTAR TABEL

TABEL 1. 1 KELAS DIDALAM AWT ......................................................................... 18


TABEL 1. 2 KOMPONEN AWT................................................................................ 20
TABEL 1. 3 KONSTRUKTOR FLOW LAYOUT ............................................................. 23
TABEL 1. 4 KONSTRUKTOR BORDERLAYOUT ......................................................... 24
TABEL 1. 5 KONSTRUKTOR GRID LAYOUT .............................................................. 26

TABEL 2. 1 KOMPONEN SWING ............................................................................. 38

TABEL 4. 1 EVENT SOURCE PADA JAVA................................................................ 82


TABEL 4. 2 CLASS-CLASS AWT EVENT ..................................................................84
TABEL 4. 3 EVENT LISTENER PADA JAVA.............................................................. 85

xvi
xvii
PENDAHULUAN

A. Latar Belakang
Guru dan tenaga kependidikan wajib melaksanakan kegiatan
pengembangan keprofesian secara berkelanjutan agar dapat melaksanakan
tugas profesionalnya.Program Guru Pembelajar(GP) adalah pengembangan
kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai
kebutuhan, bertahap, dan berkelanjutan untuk meningkatkan
profesionalitasnya.

GP sebagai salah satu strategi pembinaan guru dan tenaga kependidikan


diharapkan dapat menjamin guru dan tenaga kependidikan sehingga mampu
secara terus menerus memelihara, meningkatkan, dan mengembangkan
kompetensinya sesuai dengan standar yang telah ditetapkan. Pelaksanaan
kegiatan GP akan mengurangi kesenjangan antara kompetensi yang dimiliki
guru dan tenaga kependidikan dengan tuntutan profesional yang
dipersyaratkan.

Program Diklat GP ini membutuhkan modul yang berfungsi sebagai salah


satu sumber belajar. Modul Diklat GP Guru Rekayasa Perangkat Lunak
(RPL) Kelompok Kompetensi D “ Pemrograman Desktop ” ini dapat
digunakan oleh guru dan tenaga kependidikan dan berfungsi sebagai acuan
untuk memenuhi tuntutan kompetensinya, sehingga guru dapat
melaksanakan tugasnya secara professional sesuai dengan standar yang
telah ditetapkan.

B. Tujuan
Tujuan disusunnya modul diklat GP RPL Kelompok Kompetensi D ini adalah
memberikan pengetahuan dan ketrampilan kepada guru atau peserta diklat
tentang pembuatan antarmuka beserta aplikasinya dan pembuatan aplikasi
kelas graphics dengan benar melalui aktifitas observasi dan praktikum.
Setelah mempelajari modul ini diharapkan guru dapat : “ Membuat program

1
dengan bahasa pemrograman yang berorientasi obyek “. Sedangkan
indikator pencapaian kompetensinya adalah :
1. Membuat antarmuka-pengguna menggunakan frame, panel, dan
komponen-komponen GUI.
2. Membuat aplikasi GUI untuk memanipulasi basis data Memanipulasi
data menggunakan Data Manipulation Language.
3. Membuat aplikasi dengan kelas Graphics untuk menggambar teks
ataupun gambar

C. Peta Kompetensi

D. Ruang Lingkup
Modul ini terdiri dari lima (5) materi pokok. Setiap materi pokok dirancang
dalam kegiatan pembelajaran. Setiap kegiatan pembelajaran terdiri dari
tujuan pembelajaran, indikator essential, uraian materi, aktivitas
pembelajaran, latihan/tugas/kasus, rangkuman dan umpan balik. Lima (5)
materi pokok pada modul ini adalah : 1) Membuat Komponen GUI berbasis
AWT (Abstract Window Toolkit), 2) Membuat Komponen GUI berbasis Swing,
3) Membuat Komponen GUI berbasis Drag and Drop dengan Netbeans; 4)
Event Handling Komponen GUI; 5) Membuat Transformasi dengan Kelas
Graphik.

2
E. Saran Cara Penggunaan Modul
1. Cara Penggunaan Modul
Secara umum, penggunaan modul ini harus mempersiapkan
alat/komputer yang akan digunakan dalam membuat aplikasi desktop.
Aplikasi tambahan yang digunakan adalah JDK 8, Netbeans dan Oracle 10g
XE. Aplikasi JDK digunakan untuk mengompilasi sekaligus menjalankan
aplikasi dengan bahasa pemrograman JAVA yang dibuat melalui aplikasi
Netbeans, sedangkan aplikasi Oracle 10g XE digunakan sebagai database
tempat penyimpanan databasedari aplikasi-aplikasi yang dibuat.

2. Kebutuhan Minimal Penggunaan


Spesifikasi minimal penggunaan modul ini adalah:
a. Sistem operasi Windows 7.
b. Memori RAM 1024 MB.
c. Komputer yang digunakan untuk melakukan pembuatan program harus
terinstall aplikasi JDK dan Oracle XE 10g.

3. Cara Instalasi Program Pendukung


A. Instalasi JDK 8
1. Lakukan instalasi dengan cara melakukan double click file jdk-8u60-
windows-i586.exe. Pilih Next pada langkah berikut

Gambar 1 Saat aplikasi JDK pertama kali dibuka untuk instalasi


2. Pilih Next

3
Gambar 2 Pemilihan Fitur Plugin Instalasi JDK

3. Aplikasi akan melakukan instalasi pada komputer

Gambar 3 Proses Inisialisasi Instalasi JDK

4. Tentukan lokasi penyimpanan file installer JDK 8, anda dapat memilih


Next

4
Gambar 4 Pemilihan Direktori Instalasi JDK

5. Tunggu aplikasi JDK terinstal di komputer hingga menampilkan


tampilan seperti berikut. Pilih Close

Gambar 5 Instalasi JDK telah selesai

6. Aplikasi JDK sudah selesai diinstal

B. Instalasi Netbeans 8.0.2


1. Double click aplikasi Netbeans yang telah didownload dan tunggu
hingga muncul tampilan seperti berikut. Pilih Next untuk memulai
melakukan instalasi

5
Gambar 6 Proses Pemilihan Fitur Instalasi Netbeans

2. Centang bagian I Accept the License Agreement dan pilih Next

Gambar 7 EULA Netbeans

6
3. Pilih Next pada tampilan berikut

Gambar 8 Pemilihan instalasi JUnit

4. Pilih lokasi instalasi Netbeans dan lokasi instalasi JDK yang telah
diinstal sebelumnya

Gambar 9 Pemilihan Direktori untuk Instalasi

7
5. Pilih Install pada tampilan berikut untuk memulai melakukan instalasi

Gambar 10 Pemilihan Fitur Check for Update

6. Tunggu proses instalasi

Gambar 11 Proses Instalasi Netbeans

8
7. Jangan pilih bagian Contribute .... dan pilih Finish

Gambar 12 Pemilihan Survey Program Netbeans

8. Instalasi Netbeans telah selesai dan aplikasi siap digunakan

C. Instalasi Oracle XE 10g Database


1. Double click file Oracle XE.exe yang terdapat pada folder software
penggunaan moduldan tunggu proses loading aplikasi Oracle XE

Gambar 13 Proses Menunggu Loading Aplikasi Oracle XE

9
2. Pilih Next pada bagian berikut

Gambar 14 Tampilan Awal Instalasi Aplikasi Oracle XE

3. Pilih “I Accept the license agreement” pada kotak dialog EULA berikut,
jika sudah pilih Next

Gambar 15 Tampilan EULA Instalasi Aplikasi Oracle XE

10
4. Tentukan lokasi penyimpanan database Oracle, misal pada instalasi
menggunakan sistem drive C:/

Gambar 16 Pemilihan Direktori Instalasi Aplikasi Oracle XE

5. Tulis password yang digunakan untuk login ke database

Gambar 17Penulisan Password Untuk Login Database Oracle XE

11
6. Catat beberapa port penting yang ditampilkan pada preview sebelum
instalasi seperti pada gambar berikut, kemudian Pilih install pada tampilan
berikut

Gambar 18 Tampilan Port Penting dalam Database Oracle

7. Tunggu proses instalasi

Gambar 19 Proses Instalasi Aplikasi Oracle XE

12
8. instalasi sudah selesai, kemudian pilih Finish

Gambar 20 Proses Instalasi Aplikasi Oracle XE Telah Selesai

9. Konfigurasi database (akan dijelaskan pada modul Kegiatan


Pembelajaran 5)

13
14
15
16
Membuat Komponen GUI berbasis AWT
(Abstract Window Toolkit)

A. Tujuan
Setelah mengikuti kegiatan pembelajaran 1 ini diharapkan peserta diklat dapat:
1. MendesainaplikasiGUI menggunakanAWT.
2. Membuat layout GUI dengan flow
layout,borderlayout,dangridlayoutdalamFrameGUI AWT.
3. Membuattampilanyangkomplekdalam mendesainaplikasiGUI.

B. Indikator Pencapaian Kompetensi


 Membuat antarmuka-pengguna menggunakan frame,panel, dan
komponen-komponen GUI

C. Uraian Materi
1. Abstract Windowing Toolkit (AWT)
The Java Foundation Class (JFC), merupakan bagian penting dari
Java SDK, yang termasuk dalam koleksi dari API dimana dapat
mempermudah pengembangan aplikasi JAVA GUI (Graphical User
Interface). JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan
Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan
Drag and Drop. Semua itu membantu pengembang dalam mendesain dan
mengimplementasikan aplikasi visual yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan
dalam membuat aplikasi Java dan applet. AWT menjamin tampilan look and
feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi
terlihat sama. Swing API dibangun dari beberapa API yang
mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya,
komponen AWT dapat digunakan dengan komponen Swing.

17
2. Window Classes Fundamental
Dalam mengembangkan aplikasi GUI, komponen GUI seperti tombol
atau textfield diletakkan di dalam kontainer. Berikut ini adalah daftar dari
beberapa kelas penting pada kontainer yang telah disediakan oleh AWT:
Tabel 1. 1 Kelas didalam AWT
Kelas AWT Deskripsi
Komponen Abstract Class untuk objek yang dapat ditampilkan pada
console dan berinteraksidenganguser.Bagian utama
darisemua kelas AWT.
Kontainer Abstract Subclass dari Component Class. Sebuah komponen
yang dapat menampungkomponenyanglainnya.
Panel Turunan dari Container Class. Sebuah frame atau window
tanpa titlebar, menubartidak
termasukborder.Superclassdariappletclass.
Window Turunan dari Container class. Top level window, dimana berarti
tidak bisa dimasukkan
dalamobjekyanglainnya.Tidakmemilikiborder danmenubar.
Frame Turunan dari window class. Window dengan judul, menubar,
border dan pengatur ukuran di pojok. Memiliki empat
konstruktor , dua diantaranya
memilikipenulisansepertidibawahini:
Frame()
Frame(String title)

Untukmengatur ukuranwindow,menggunakanmethodsetSize.
Syntax : void setSize(int width, int height)

mengubahukurankomponen inidenganwidthdanheightsebagaiparameter.
Syntax : void setSize(Dimension d)

mengubahukurandengand.widthdand.heightberdasar pada
spesifikasiDimensiond.

Defaultdariwindow adalahnotvisibleatautak tampakhingga Andamengatur


visibilitymenjaditrue.Inilahsyntax untukmethodsetVisible.
void setVisible(boolean b)

18
Contoh 1, Membuat Frame pada JAVA:
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame
import java.awt.*;
publicclass SampleFrame extends Frame{
publicstaticvoid main(String[] args){
SampleFrame sf =new SampleFrame();
sf.setSize(400,200);//mengatur ukuran Frame
sf.setVisible(true); //Membuat window menjadi terlihat
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut

Gambar 1. 1 Tampilan output Frame

Kode diatas akan menampilkan suatu frame dengan ukuran panjang 400 pixel
dan lebar 100 pixel.

Contoh 2, Membuat Tampilan pada Frame:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Panel
import java.awt.*;
publicclass BuatPanel extends Panel{
public BuatPanel(){
setBackground(Color.blue);
}
publicvoid paint(Graphics g){
g.setColor(new Color(0,255,0));//tulisan hijau
g.setFont(new Font("Arial",Font.PLAIN,16));
g.drawString("Percobaan Membuat Panel",30,100);
g.setColor(new Color(1.0f,0,0));//garis merah
g.fillRect(30,100,150,10);
}
publicstaticvoid main(String[] args){

19
Frame f =new Frame("Frame dengan Panel");
BuatPanel gp =new BuatPanel();
f.add(gp);
f.setSize(600,300);
f.setVisible(true);
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut

Gambar 1. 2 Tampilan output Frame dengan Panel

Kode diatas akan membuat Panel dalam suatu Frame, dalam panel tersebut
terdapat tulisan hijau “Percobaan Membuat Panel” yang berjenis Arial ukuran
16. Selain itu, terdapat blok merah yang berada dibawah tulisan yang dibuat.

3. Komponen didalam AWT


Berikut ini adalah daftar dari kontrol AWT. Kontrol adalah komponen seperti
tombol atau textfield yang mengijinkan user untuk berinteraksi dengan aplikasi
GUI. Berikut ini semua subkelas dari Components class.
Tabel 1. 2 Komponen AWT
Label Button Choice

TextField Checkbox List

TextArea CheckboxGroup Scrollbar

20
Contoh 3, Membuat Komponen:
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan isi beberapa komponen yang terdapat pada AWT, seperti
button, Label, Textbox, Checkbox, Listbox, Combobox, Scroll dan yang lainnya
import java.awt.*;
publicclass KontrolFrame extends Frame{
publicstaticvoid main(String[] args){
KontrolFrame kf =new KontrolFrame();
kf.setLayout(new FlowLayout());
kf.setSize(900,120);
kf.add(new Button("Tombol"));//Menambahkan button
kf.add(new Label("Label"));//Menambahkan label
kf.add(new TextField());//Menambahkan textfield
CheckboxGroup cbg =new CheckboxGroup();
kf.add(new Checkbox("Check Box 1", cbg,true));// checkbox
kf.add(new Checkbox("Check Box 2", cbg,false));
kf.add(new Checkbox("Check Box 3", cbg,false));
List list =new List(3,false);
list.add("List Box 1");//Menambahkan listbox
list.add("List Box 2");
list.add("List Box 3");
list.add("List Box 4");
list.add("List Box 5");
kf.add(list);
Choice chooser =new Choice();
chooser.add("Combobox 1");//Menambahkan combobox
chooser.add("Combobox 2");
chooser.add("Combobox 3");
kf.add(chooser);
kf.add(new Scrollbar());//Menambahkan scrollbar
kf.setVisible(true);
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut

Gambar 1. 3 Tampilan komponen AWT pada Frame

21
4. Layout Manager didalam AWT
Posisi dan ukuran suatu komponen ditentukan oleh layout manager.
Layout manager mengatur tampilan dari komponen di dalam kontainer. Berikut
ini beberapa layout manager yang terdapat di dalam Java :
a. FlowLayout
b. BorderLayout
c. Box Layout
d. GridLayout
e. GridBagLayout
f. CardLayout
g. Spring Layout

Layout manager dapat diatur menggunakan method setLayout dari Container


class. Method ini dapat ditulis sebagai berikut:
void setLayout(LayoutManager mgr)

Jika kita memilih untuk tidak menggunakan layout manager, kita dapat mengisi
null sebagai argumen untuk method ini. Tetapi selanjutnya, kita akan
mengatur posisi elemen secara manual dengan menggunakan method
setBounds dari Components class.
public void setBounds(int x, int y, int width, int height)

Method ini mengatur posisi berdasarkan pada argumen x dan y, dan


ukuran berdasarkan argumen width dan height.

a. FlowLayout
FlowLayout Manager adalah default manager untuk Panel class
dan subkelasnya, termasuk applet class. Cara meletakkan komponen dari
FlowLayout Manager dimulai dari kiri ke kanan dan dari atas ke bawah,
dimulai dari pojok kiri atas. Seperti pada saat mengetik menggunakan
editor kata. Berikut adalah bagaimana FlowLayout Manager bekerja,
dimana memiliki tiga konstruktor seperti daftar di bawah ini.

22
Tabel 1. 3 Konstruktor FlowLayout
Konstruktor Deskripsi
FlowLayout() Membuatobjek baruFlowLayoutdenganposisiditengah
danlima unithorizontal danvertikal gapdimasukkan
pada komponensebagaidefault.
FlowLayout(int Membuat objek baru FlowLayout dengan posisi.
align) Posisi argumen mengikuti penulisan sebagai berikut:
FlowLayout.LEFT
FlowLayout.CENTER
FlowLayout.RIGHT
FlowLayout(int Membuat objek baru FlowLayout dengan argumen
align, int hgap, pertama sebagai posisi pada komponen dan hgap
int vgap) untuk horizontal dan vgap untuk vertikal pada
komponen. Gap dapat dikatakan sebagai jarak
antara komponen dan biasanya diukur dengan
satuan pixel.

Contoh 4, Membuat Frame dengan FlowLayout:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan isi 3 tombol dengan aligment kanan ukuran hgap = 10 px dan
vgap = 40 px.
import java.awt.*;
publicclass CobaFlowLayout extends Frame {
publicstaticvoid main (String args[]){
CobaFlowLayout fl =new CobaFlowLayout();
fl.setLayout(new FlowLayout(FlowLayout.RIGHT,10,40));
fl.add(new Button("ONE"));
fl.add(new Button("TWO"));
fl.add(new Button("THREE"));
fl.setSize(250,100);
fl.setVisible(true);
}
}
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 1. 4 Tampilan Frame dengan Flow Layout

23
b. BorderLayout
BorderLayout membagi kontainer menjadi lima bagian diantaranya
utara, selatan, timur, barat, dan tengah. Setiap komponen dimasukkan ke
dalam region yang spesifik. Region utara dan selatan membentuk jalur
horizontal sedangkan region timur dan barat membentuk jalur vertikal. Dan
region tengah berada pada perpotongan jalur horizontal dan vertikal. Tampilan
ini adalah bersifat default untuk objek Window, termasuk objek dari subkelas
Window yaitu tipe Frame dan Dialog.

Tabel 1. 4 Konstruktor BorderLayout


Konstruktor Deskripsi
BorderLayout() Membuatobjek BorderLayoutbarutanpa
spasiyangdiaplikasikandiantara komponenyang berbeda.
BorderLayout(i Membuatobjek
nt hgap, int BorderLayoutbarudenganspasiunithgaphorizontaldanunitvga
vgap) pvertikal yangdiaplikasikandiantarakomponenyang berbeda.

Seperti pada FlowLayout Manager, parameter hgap dan vgap disini juga
menjelaskan jarak antara komponen dengan kontainer. Untuk menambahkan
komponen kedalam region yang spesifik, gunakan method menambahkan dan
melewatkan dua argumen yaitu komponen yang ingin dimasukkan ke dalam
region dan region mana yang ingin dipakai untuk meletakkan komponen. Perlu
diperhatikan bahwa hanya satu komponen yang dapat dimasukkan dalam satu
region. Menambahkan lebih dari satu komponen pada kontainer yang
bersangkutan, maka komponen yang terakhir ditambahkan yang akan
ditampilkan. Berikut ini adalah daftar dari kelima region:
BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.EAST
BorderLayout.WEST
BorderLayout.CENTER

Contoh 5, Membuat Frame dengan BorderLayout:

24
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan layout tipe Border Layout
import java.awt.*;
publicclass CobaBorderLayout extends Frame{
publicstaticvoid main(String[] args){
CobaBorderLayout bl =new CobaBorderLayout();
bl.setLayout(new BorderLayout(10,10));
bl.add(new Button("Atas"), BorderLayout.NORTH);
bl.add(new Button("Bawah"), BorderLayout.SOUTH);
bl.add(new Button("Kanan"), BorderLayout.EAST);
bl.add(new Button("Kiri"), BorderLayout.WEST);
bl.add(new Button("Tengah"), BorderLayout.CENTER);
bl.setSize(200,200);
bl.setVisible(true);
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 1. 5 Tampilan Frame dengan Border Layout

c. GridLayout
Dengan GridLayout manager, komponen juga diposisikan dari kiri ke kanan
dan dari atas ke bawah seperti pada FlowLayout manager. GridLayout
manager membagi kontainer menjadi baris dan kolom. Semua region memiliki
ukuran yang sama. Hal tersebut tidak mempedulikan ukuran sebenarnya dari
komponen.Berikut ini adalah daftar dari konstruktor untuk GridLayout class.

25
Tabel 1. 5 Konstruktor GridLayout
Konstruktor Deskripsi
GridLayout() Membuatobjek
GridLayoutbarudengansatubaris
dansatukolomsebagaidefault
GridLayout(int rows, int Membuatobjek GridLayoutbarudenganjumlah
cols) baris dankolomsesuaidengankeinginan
GridLayout(int rows, int Membuatobjek GridLayoutbarudenganjumlah
cols, int hgap, int baris dankolomyang ditentukan.Unitspasi
vgap) hgaphorizontaldanvgapvertikaldiaplikasikanke
dalamkomponen.

Contoh 6, Membuat Frame dengan GridLayout:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame tipe layout Grid Layout.Dimana didalam Frame tersebut akan ada 2 baris
dan 3 kolom, dimana jarak vgap dan hgap-nya adalah 4 px.
import java.awt.*;
publicclass CobaGridLayout extends Frame{
publicstaticvoid main(String[] args){
CobaGridLayout gld =new CobaGridLayout();
gld.setLayout(new GridLayout(2,3,4,4));
gld.add(new Button("Tombol Baris 1 Kolom 1"));
gld.add(new Button("Tombol Baris 1 Kolom 2"));
gld.add(new Button("Tombol Baris 1 Kolom 3"));
gld.add(new Button("Tombol Baris 2 Kolom 1"));
gld.add(new Button("Tombol Baris 2 Kolom 1"));
gld.setSize(200,200);
gld.setVisible(true);
}
}

26
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti
berikut:

Gambar 1. 6Tampilan Frame dengan Grid Layout

D. Aktivitas Pembelajaran
1. Membuat kelas java dengan nama Latihan.java
2. Buat Pembagian Panel pada Frame
Pada langkah ini, buatlah 3 pembagian Frame (atas, tengah dan bawah).
Tuliskan kode berikut
Latihan cl =new Latihan();
Panel PanelAtas =new Panel();
Panel PanelTengah =new Panel();
Panel PanelBawah =new Panel();

3. Buat Komponen yang diisi Pada Panel Atas


Isikan kode berikut, kode berikut akan mengatur panel atas dengan layout
tipe flow layout
/* North Panel */
//Flow Layout
PanelAtas.add(new Label("FORM DATA GURU"));

27
4. Buat Komponen yang diisi Pada Panel Tengah
Kode berikut akan mengisi panel tengah dengan 3 jenis komponen yaitu
Label, Textfield dan Combobox. Layout yang digunakan pada panel
tengah yaitu layout tipe grid layout
/* Center Panel */
//Grid Layout
PanelTengah.setLayout(new GridLayout(4,4));
PanelTengah.add(new Label("Nama : "));
PanelTengah.add(new TextField("Isi Nama Anda"));
PanelTengah.add(new Label("NIP : "));
PanelTengah.add(new TextField("Isi NIP Anda"));
PanelTengah.add(new Label("Jenis Kelamin : "));
Choice chooser =new Choice();
chooser.add("Laki-Laki");
chooser.add("Perempuan");
PanelTengah.add(chooser);

5. Buat Komponen yang diisi Pada Panel Bawah


Kode berikut akan mengisi panel bawah dengan 2 jenis komponen yaitu
Button dan Check Box. Layout yang digunakan pada panel bawah ialah
layout tipe Border Layout
/* South Panel */
PanelBawah.setLayout(new BorderLayout());
PanelBawah.add(new Button("Submit"), BorderLayout.NORTH);
PanelBawah.add(new Checkbox("Advanced Mode"),
BorderLayout.WEST);
PanelBawah.add(new Checkbox("Mini Mode"), BorderLayout.EAST);

6. Atur Tipe Layout Utama dan ukuran Frame


Kode berikut akan mengatur secara total layout dari suatu Frame, tipe
layout yang digunakan alah tipe Border Layout
//Border Layout
cl.add(PanelAtas, BorderLayout.NORTH);
cl.add(PanelTengah, BorderLayout.CENTER);
cl.add(PanelBawah, BorderLayout.SOUTH);
cl.setSize(300,300);
cl.setVisible(true);

28
7. Mengecek kode yang telah dibuat. Secara keseluruhan, kode yang
dibuat ialah seperti berikut
import java.awt.*;
publicclass Latihan extends Frame{

publicstaticvoid main(String[] args){


Latihan cl =new Latihan();
Panel PanelAtas =new Panel();
Panel PanelTengah =new Panel();
Panel PanelBawah =new Panel();
/* North Panel */
//Flow Layout
PanelAtas.add(new Label("FORM DATA GURU"));
/* Center Panel */
//Grid Layout
PanelTengah.setLayout(new GridLayout(4,4));
PanelTengah.add(new Label("Nama : "));
PanelTengah.add(new TextField("Isi Nama Anda"));
PanelTengah.add(new Label("NIP : "));
PanelTengah.add(new TextField("Isi NIP Anda"));
PanelTengah.add(new Label("Jenis Kelamin : "));
Choice chooser =new Choice();
chooser.add("Laki-Laki");
chooser.add("Perempuan");
PanelTengah.add(chooser);
/* South Panel */
PanelBawah.setLayout(new BorderLayout());
PanelBawah.add(new Button("Submit"),
BorderLayout.NORTH);
PanelBawah.add(new Checkbox("Advanced Mode"),
BorderLayout.WEST);
PanelBawah.add(new Checkbox("Mini Mode"),
BorderLayout.EAST);
//Border Layout
cl.add(PanelAtas, BorderLayout.NORTH);
cl.add(PanelTengah, BorderLayout.CENTER);
cl.add(PanelBawah, BorderLayout.SOUTH);
cl.setSize(300,300);
cl.setVisible(true);
}
}

29
8. Langkah 8 Melihat jalannya aplikasi GUI yang dibuat
Hasil running aplikasi yang dibuat ialah

Gambar 1. 7 Tampilan Aplikasi GUI AWT yang dibuat

E. Latihan/Kasus /Tugas
Pak Alqodri adalah pegawai administrasi di SMK X di Kota Malang,
setiap tahun Pak Alqodri selalu mencacatat beberapa hal administrasi di
sekolahnya, salah satunya ialah mendata alumni. Setelah beliau amati,
ternyata cara yang dilakukan beliau sangatlah memboroskan karena data
alumni dikumpulkan pada lembaran kertas yang mudah rusak karena
ukuran yang tipis. Untuk mengatasi hal itu, Pak Alqodri berinisiatif
membuat suatu formulir berbasis komputer yang dapat digunakan oleh
siswa dalam mengisi data alumninya ke dalam database sekolah
tersebut.
Kegiatan yang dilakukan Pak Alqodri bukan tidak ada alasan, tentu
Pak Alqodri memiliki pandangan terkait penggunaan database dengan
model ter-komputerisasi di era saat ini. Namun, masalah mulai terjadi
ketika Pak Alqodri harus menginputkan data alumni satu-persatu dimana
format setiap tahun dari buku alumni sekolah tersebut berbeda yang
tentunya akan memakan banyak waktu untuk menginputkan data
tersebut. Untuk mengatasi hal tersebut, Pak Alqodri meminta bantuan
anda untuk membuat suatu form yang terdiri dari 5 bagian dalam form
yaitu Nama Lengkap, Alamat, Jenis Kelamin, Agama dan nomor HP.
Dimana 3 komponen (nama,alamat,nomor HP) merupakan komponen
TextField, agama dan jenis kelamin merupakan pilihan dengan tipe
Combo Box (untuk pilihan jenis kelamin hanya laki-laki dan perempuan,
dan pilihan agama terdiri dari Islam, Kristen, Hindu, Budha dan Agama
Lain). Selain itu, karena pak Alqodri sudah tua, beliau menginginkan
bahwa aplikasi yang dibuat berukuran 350 pixel X 300 pixel untuk
mengakomodasi kebutuhan Pak Alqodri tersebut.

30
Buat aplikasi GUI berbasis AWT yang dapat menampilkan form sesuai
kebutuhan pak Alqodri!

Gambar 1. 8 Tampilan program

F. Rangkuman
AWT (Abstract Window Toolkit) merupakan tool yang disedikan oleh JAVA
dalam pengembangan aplikasi GUI (Graphical User Interface). Untuk
menggunakan aplikasi GUI dengan tipe AWT, dapat dilakukan import library
AWT dengan memberikan syntax import java.awt.*;. Untuk mempercantik
tampilan GUI, pada AWT juga disediakan komponen-komponen seperti Button,
List Box, Combo box, TextField dan yang lainnya, yang dapat digunakan untuk
membangun aplikasi GUI yang menarik dan interaktif. Untuk mempermudah
pengaturan posisi pada Frame, pada aplikasi GUI yang dibuat dapat memakai
layout model seperti model flow layout, border layout dan grid layout.

G. Umpan Balik dan Tindak Lanjut


1. Apakah Anda sudah mampu mendesain aplikasi GUI menggunakan
AWTdan berapa prosen tingkat pencapaian kompetensinya?
2. Apakah Anda sudah mampu membuat layout GUI flow layout, border
layout, dan grid layout dalam Frame GUIAWT dan berapa prosen tingkat
pencapaian kompetensinya?

31
3. Apakah Anda sudah mampu Membuattampilanyangkomplekdalam
mendesainaplikasiGUI dan berapa prosen tingkat pencapaian
kompetensinya?

H. Kunci Jawaban
1. Source Code Jawaban
import java.awt.*;
publicclass Tugas extends Frame{

publicstaticvoid main(String[] args){


Tugas cl =new Tugas();
Panel PanelAtas =new Panel();
Panel PanelTengah =new Panel();
Panel PanelBawah =new Panel();
/* North Panel */
//Flow Layout
PanelAtas.add(new Label("FORM DATA ALUMNI"));
/* Center Panel */
//Grid Layout
PanelTengah.setLayout(new GridLayout(7,5));
PanelTengah.add(new Label("Nama Lengkap: "));
PanelTengah.add(new TextField(""));
PanelTengah.add(new Label("Alamat : "));
PanelTengah.add(new TextField(""));
PanelTengah.add(new Label("Jenis Kelamin : "));
Choice chooser =new Choice();
chooser.add("Laki-Laki");
chooser.add("Perempuan");
PanelTengah.add(chooser);
PanelTengah.add(new Label("Agama : "));
Choice chooser2 =new Choice();
chooser2.add("Islam");
chooser2.add("Kristen");
chooser2.add("Hindu");
chooser2.add("Budha");
chooser2.add("Agama Lain");
PanelTengah.add(chooser2);
PanelTengah.add(new Label("Nomor HP: "));
PanelTengah.add(new TextField(""));
/* South Panel */
PanelBawah.setLayout(new BorderLayout());
PanelBawah.add(new Button("Submit"), BorderLayout.NORTH);
//Border Layout
cl.add(PanelAtas, BorderLayout.NORTH);
cl.add(PanelTengah, BorderLayout.CENTER);
cl.add(PanelBawah, BorderLayout.SOUTH);
cl.setSize(350,300);
cl.setVisible(true);
}
}

32
2. Output Source Code

Gambar 1. 9 Tampilan Form Data Alumni

33
34
35
36
Membuat Komponen GUI berbasis Swing

A. Tujuan
Setelah mengikuti kegiatan pembelajaran 2 ini diharapkan peserta diklat dapat:
 Mendesain aplikasi GUI menggunakan Swing.
 Membuat layout tipe flow layout, border layout, dan grid layout dalam
komponen GUI Swing.
 Membuat tampilan yang komplek dalam mendesain aplikasi GUI Swing.

B. Indikator Pencapaian Kompetensi


 Membuat antarmuka-pengguna menggunakan frame,panel, dan
komponen-komponen GUI

C. Uraian Materi
1. Java Swing
Swing merupakan suatu cara untuk pembuatan aplikasi yang berbasis
GUI (Graphical User Interface) di Java dengan pendekatan yang lebih baru
dan lebih bagus hasilnya. Sebenarnya terdapat dua cara untuk pembuatan
aplikasi yang berbasis GUI di Java selain menggunakan Swing, kita juga
dapat menggunakan AWT, namun karena tingkat keamanannya rendah,
AWT sudah dibahas pada modul 8 dan 9. Cukup banyak paket di java untuk
melakukan pemrograman GUI, tetapi sebagai pengenalan anda cukup
memahami paket yang berada di javax.swing.

2. Komponen didalam Swing


Tidak seperti beberapa komponen AWT yang menggunakan native
code, keseluruhan Swing ditulis menggunakan bahasa pemrograman
Java. Swing menyediakan implementasi platform-independent dimana
aplikasi yang dikembangkan dengan platform yang berbeda dapat
memiliki tampilan yang sama.

Seperti pada package AWT, package dari Swing menyediakan banyak

37
kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di
javax.swing. Perbedaan utama antara keduanya adalah komponen
Swing ditulis menyeluruh menggunakan Java mengingat yang
belakangan tidak. Kesimpulannya, program GUI ditulis menggunakan
banyak kelas dari package Swing yang mempunyai tampilan look and
feel yang sama meski dijalankan pada beda paltform. Lebih dari itu,
Swing menyediakan komponen yang lebih menarik seperti color chooser
dan option pane.
Nama dari komponen GUI milik Swing hampir sama persis dengan
komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan
komponen. Pada dasarnya, nama komponen Swing sama dengan nama
komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai
contoh, satu komponen dalam AWT adalah button class. Sedangkan
pada Swing, nama komponen tersebut menjadi Jbutton class. Berikut
adalah daftar dari komponen Swing.
Tabel 2. 1 Komponen Swing
Komponen Penjelasan
Swing
JComponent Kelas induk untuk semua komponen Swing, tidak
termasuk top-level container checkbox class dalam
package AWT
JButton Tombol “push”. Korespondesi pada button class
dalam package AWT
JCheckBox Item yang dapat dipilih atau tidak oleh pengguna.
Korespondensi pada
JFileChooser Mengijinkan pengguna untuk memilih sebuah file.
Korespondensi pada cfilechooser class dalam package
AWT
JTextField Mengijinkan untuk mengedit text satu baris.
Korespondensi pada textfield class dalam package
AWT.

JFrame Turunan dan korepondensi pada frame class dalam

38
Komponen Penjelasan
Swing
package AWT tetapi keduanya sedikit tidak cocok
dalam kaitannya dengan menambahkan komponen
pada kontainer. Perlu mendapatkan content pane
yang terbaru sebelum menambah sebuah
komponen.
JPanel Turunan Jcomponent. Kontainer class sederhana tetapi
bukan top-level. Korespondensi pada panel class
dalam package AWT.
JApplet Turunan dan korepondensi ke Applet class dalam
package AWT. Juga sedikit tidak cocok dengan applet
class dalam kaitannya dengan menambahkan
komponen pada container
JOptionPane Turunan Jcomponent. Disediakan untuk
mempermudah menampilkan pop- up kotak dialog.
JDialog Turunan dan korespondensi pada dialog class dalam
package AWT. Biasanya digunakan untuk
menginformasikan sesuatu kepada pengguna atau
prompt pengguna untuk input.
JColorChooser Turunan Jcomponent. Mengijinkan pengguna untuk
memilih warna
JFileChooser Mengijinkan pengguna untuk memilih sebuah file.
Korespondensi pada cfilechooser class dalam package
AWT
JTextField Mengijinkan untuk mengedit text satu baris.
Korespondensi pada textfield class dalam package
AWT.
JFrame Turunan dan korepondensi pada frame class dalam
package AWT tetapi keduanya sedikit tidak cocok
dalam kaitannya dengan menambahkan komponen
pada kontainer. Perlu mendapatkan content pane
yang terbaru sebelum menambah sebuah

39
Komponen Penjelasan
Swing
komponen.
JPanel Turunan Jcomponent. Kontainer class sederhana tetapi
bukan top-level. Korespondensi pada panel class
dalam package AWT.
JApplet Turunan dan korepondensi ke Applet class dalam
package AWT. Juga sedikit tidak cocok dengan applet
class dalam kaitannya dengan menambahkan
komponen pada container
JOptionPane Turunan Jcomponent. Disediakan untuk
mempermudah menampilkan pop- up kotak dialog.
JDialog Turunan dan korespondensi pada dialog class dalam
package AWT. Biasanya digunakan untuk
menginformasikan sesuatu kepada pengguna atau
prompt pengguna untuk input.

Untuk daftar yang lengkap dari komponen Swing, Anda dapat melihatnya di
dokumentasi API.

Contoh 1, Membuat Frame dengan Swing:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame yang terdapat JPanel
import javax.swing.*;
publicclass BuatJPanel {
publicstaticvoid main(String[] args){
JFrame f =new JFrame("Tes JPanel");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//tutup
Frame
JPanel p =new JPanel();// membuat objek JPanel
p.add(new JButton("Tombol 1"));// button di kaitkan ke
panel
p.add(new JButton("Tombol 2"));// button di kaitkan ke
panel
p.add(new JButton("Tombol 3"));// button di kaitkan ke
panel
f.add(p);// mengaitkan panel ke frame
f.pack();// membuat ukuran default
f.setVisible(true);// menampilkan frame
}

40
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 2. 1 Tampilan Frame dengan Flow Layout

Contoh 2, Membuat MessageBox dengan Swing:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
JOptionPane
import javax.swing.*;
publicclass CobaOptionPane {
JOptionPane optionPane;
public CobaOptionPane(){
}

void launchFrame(){
optionPane =new JOptionPane();
String name = optionPane.showInputDialog("Tuliskan Nama
Anda");
optionPane.showMessageDialog(null,"Nama Anda Adalah "+ name
+".","Message",optionPane.PLAIN_MESSAGE);
System.exit(0);}

publicstaticvoid main(String[] args){


new CobaOptionPane().launchFrame();
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 2. 2 Tampilan JOptionPane

41
3. Layout Manager didalam Swing
a. FlowLayout
FlowLayout digunakan untuk melakukan pengaturan rata kiri, rata kanan,
rata tengah

Contoh 3, Membuat Frame dengan FlowLayout:


Perhatikan source code berikut, kode dibawah akan membuat Frame dengan
isi 3 tombol dengan aligment kanan ukuran hgap = 10 px dan vgap = 40 px.
import javax.swing.*;
import java.awt.*;
publicclass FlowLayoutSwing {
publicstaticvoid main(String[] args){
JFrame f =new JFrame("Flow Layout Swing");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b1 =new JButton("Tombol 1");
JButton b2 =new JButton("Tombol 2");
JButton b3 =new JButton("Tombol 3");

JPanel p1 =new JPanel();


p1.setLayout(new FlowLayout());
p1.add(b1);
p1.add(b2);
p1.add(b3);

f.add("South", p1);
JButton b4 =new JButton("Tombol 4");
JButton b5 =new JButton("Tombol 5");
JButton b6 =new JButton("Tombol 6");

JPanel p2 =new JPanel();


p2.setLayout(new FlowLayout(FlowLayout.CENTER,10,20));
p2.add(b4);
p2.add(b5);
p2.add(b6);

f.add("North", p2);
f.pack();
f.setVisible(true);
}
}

42
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 2. 3Tampilan Frame dengan Flow Layout Swing

b. BorderLayout

Penggunaan BorderLayout untuk meletakkan komponen

sesuai arah mata angin. Karena BorderLayout berada di

paket java.awt maka kita harus mengimport-nya sebelum

kita menggunakannya, dan kita juga harus mengaitkannya

ke method setLayout.

c. GridLayout

Sesuai dengan namanya, GridLayout menggunakan grid

dengan ukuran yang sama untuk setiap komponen.

Contoh 4, Membuat Frame dengan GridLayout:


Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame tipe layout Grid Layout.
import javax.swing.*;
import java.awt.*;
publicclass GridLayoutSwing {
publicstaticvoid main(String[] args){
JFrame f =new JFrame("Grid Layout Swing");
f.setDefaultLookAndFeelDecorated(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton b1 =new JButton("Tombol 1");


JButton b2 =new JButton("Tombol 2");
JButton b3 =new JButton("Tombol 3");

43
JButton b4 =new JButton("Tombol 4");
JButton b5 =new JButton("Tombol 5");
JButton b6 =new JButton("Tombol 6");

JPanel p1 =new JPanel();


p1.setLayout(new GridLayout(4,2));
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b4);
p1.add(b5);
p1.add(b6);
f.add("North", p1);

JButton b7 =new JButton("Tombol 7");


JButton b8 =new JButton("Tombol 8");
JButton b9 =new JButton("Tombol 9");
JButton b10 =new JButton("Tombol 10");
JButton b11 =new JButton("Tombol 11");
JButton b12 =new JButton("Tombol 12");

JPanel p2 =new JPanel();


p2.setLayout(new GridLayout(2,4,10,10));
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(b10);
p2.add(b11);
p2.add(b12);
f.add("South", p2);
f.pack();
f.setVisible(true);
}
}

Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut:

Gambar 2. 4 Tampilan Frame dengan Grid Layout Swing

44
D. Aktivitas Pembelajaran
1. Buat Kelas Java dengan nama Latihan2.java
2. Buat kontainer dan atur model layout kontainer tersebut
Buat fungsi overloading method, dan juga atur layout frame kedalam
border layout. Tuliskan kode berikut
public Latihan2(){
Container kontainer = getContentPane();
//layout border
kontainer.setLayout(new BorderLayout());

3. Buat Panel 1
Buat panel didalam overloading method tersebut dengan isi beberapa
tombol dengan aturan layout Grid Layout
//membuat panel
JPanel p1 =new JPanel();
p1.setLayout(new GridLayout(4,3));

//menampilkan tombol 1-12


for(int x=1;x<=9;x++){
p1.add(new JButton(""+x));
}
p1.add(new JButton(""+10));
p1.add(new JButton(""+11));
p1.add(new JButton(""+12));

45
4. Masukkan Panel 2
Buat panel 2 yang berada pada kanan frame dan masukkan panel
pertama tadi pada Panel 2
//membuat panel dan memasukkan p1 ke panel kedua
JPanel p2=new JPanel(new BorderLayout());
p2.add(new JLabel("TAMPILAN LAYOUT SWING"),
BorderLayout.NORTH);
p2.add(p1,BorderLayout.CENTER);

5. Memasukkan panel ke frame


Tulis kode berikut untuk memasukkan panel ke frame yang dibuat
/* South Panel */
PanelBawah.setLayout(new BorderLayout());
PanelBawah.add(new Button("Submit"),
BorderLayout.NORTH);
PanelBawah.add(new Checkbox("Advanced Mode"),
BorderLayout.WEST);
PanelBawah.add(new Checkbox("Mini Mode"),
BorderLayout.EAST);

6. Atur Tipe Layout Utama dan ukuran Frame


Kode berikut akan mengatur secara total layout dari suatu Frame, tipe
layout yang digunakan alah tipe Border Layout
//memasukkan panel ke frame
kontainer.add(p2,BorderLayout.EAST);
kontainer.add(new JButton("Tombol
Kiri"),BorderLayout.CENTER);

7. Buat fungsi utama


Kode berikut akan membuat frame dengan nama Latihan 2 dengan
ukuran frame 400 pixel X 300 pixel
publicstaticvoid main(String[] args){
Latihan2 tampilan =new Latihan2();
tampilan.setTitle("Latihan 2");

tampilan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tampilan.setSize(400,300);
tampilan.setVisible(true);

46
8. Kompilasi program GUI yang dibuat
Secara keseluruhan, kode yang dibuat ialah seperti berikut
import java.awt.*;
import javax.swing.*;
publicclass Latihan2 extends JFrame{
public Latihan2(){
Container kontainer = getContentPane();

//layout border
kontainer.setLayout(new BorderLayout());

//membuat panel
JPanel p1 =new JPanel();
p1.setLayout(new GridLayout(4,3));

//menampilkan tombol 1-12


for(int x=1;x<=9;x++){
p1.add(new JButton(""+x));
}
p1.add(new JButton(""+10));
p1.add(new JButton(""+11));
p1.add(new JButton(""+12));

//membuat panel dan memasukkan p1 ke panel kedua


JPanel p2=new JPanel(new BorderLayout());
p2.add(new JLabel("TAMPILAN LAYOUT SWING"),
BorderLayout.NORTH);
p2.add(p1,BorderLayout.CENTER);

//memasukkan panel ke frame


kontainer.add(p2,BorderLayout.EAST);
kontainer.add(new JButton("Tombol
Kiri"),BorderLayout.CENTER);
}

publicstaticvoid main(String[] args){


Latihan2 tampilan =new Latihan2();
tampilan.setTitle("Latihan 2");

tampilan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tampilan.setSize(400,300);
tampilan.setVisible(true);
}
}

47
9. Melihat jalannya aplikasi GUI yang dibuat
Hasil running aplikasi yang dibuat ialah

Gambar 2. 5 Tampilan Aplikasi Swing GUI yang dibuat

E. Latihan/Kasus /Tugas
Buat suatu form yang dengan nama “Form Pendaftaran Siswa
Baru”. Pada form tersebut, terdapat 7 isian yang harus diisi oleh
pengguna. Yaitu Nama, Alamat, Jenis Kelamin, Asal Sekolah,
Tingkatan Prestasi dan Nilai UN. Gunakan Flow Layout dengan
ukuran 1200 x 250 pixel untuk membuat suatu frame utama. Gunakan
3 panel untuk menginputkan komponen yang terdapat pada frame
tersebut. Panel 1 untuk flow layout, panel 2 untuk grid layout pertama
dan panel 3 untuk grid layout kedua.
Pada bagian Asal Sekolah, gunakan grid layout dengan ukuran 1
baris 2 kolom untuk meletakkan komponen Combo Box. Sedangkan
pada bagian Tingkatan Prestasi, gunakan grid layout 1 baris 5 kolom
untuk meletakkan komponen Check Box. Tambahkan 2 button yang
diletakkan diakhir form dengan nama Simpan dan Bersihkan Data.

1. Tampilan Program

Gambar 2. 6 Hasil Tampilan Program

48
2. Format Layout Program

Gambar 2. 7 Spesifikasi Layout Tampilan Program

F. Rangkuman
Swing GUI merupakan tool yang disediakan oleh JAVA dalam membangun
aplikasi GUI (Graphical User Intercae). Untuk menggunakan Swing GUI tersebut,
pengguna dapat mengimpor library Swing dengan menuliskan syntax import
javax.swing.*; diawal aplikasi yang dibuat. Swing merupakan pembaharuan
dari AWT, sehingga library AWT dapat digabungkan dengan aplikasi GUI Swing.
Komponen-komponen pada Swing GUI, diberi tambahan J pada prefix
komponen tersebut. Selain itu, untuk mempermudah membuat pengaturan
tampilan pada GUI Swing dapat memakai layout seperti pada AWT.

G. Umpan Balik dan Tindak Lanjut


1. Apakah Anda sudah mampu Mendesain aplikasi GUI menggunakan
Swing dan berapa prosen tingkat pencapaian kompetensinya ?
2. Apakah saudara sudah mampu membuat layout tipe flow layout, border
layout, dan grid layout dalam komponen GUI Swing dan berapa prosen
tingkat pencapaian kompetensinya?
3. Apakah saudara sudah mampu membuat tampilan yang komplek dalam
mendesain aplikasi GUI Swing dan berapa prosen tingkat pencapaian
kompetensinya?

49
H. Kunci Jawaban
1. Source Code Program
import javax.swing.*;
import java.awt.*;
class Tugas extends JFrame{

private Container konten =new Container();


private JPanel panel1 =new JPanel();
JLabel LBLnama =new JLabel();
private JTextField TBnama =new JTextField(10);
private JLabel LBLAlamat =new JLabel();
private JTextField TBalamat =new JTextField(25);
private JLabel LBprestasi =new JLabel();
private JPanel panel2 =new JPanel();
private JCheckBox CHsekolah =new JCheckBox("Sekolah");
private JCheckBox CHkota =new JCheckBox("Kabupaten/Kota");
private JCheckBox CHprov =new JCheckBox("Provinsi");
private JCheckBox CHnas =new JCheckBox("Nasional");
private JCheckBox CHinter =new JCheckBox("Internasional");
private JPanel panel3 =new JPanel();
private JLabel LBLasal_sek =new JLabel();
//Digunakan untuk mengelompokkan radio button
private ButtonGroup RBsekolah =new ButtonGroup();
private JRadioButton RBmts =new JRadioButton("Mts/MTsN");
private JRadioButton RBsmp =new JRadioButton("SMP/SMPN");
private JLabel JK =new JLabel();
String ARRjk[]={"Laki-Laki","Perempuan"};
private JComboBox CBjenis_kelamin =new JComboBox(ARRjk);
private JLabel LBLnun =new JLabel();
private JTextField TBnun =new JTextField(5);
private JButton BTNsimpan =new JButton("Simpan");
private JButton BTNselesai =new JButton("Bersihkan Data");

Tugas(){
super("Form Pendaftaran Siswa Baru");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(100,100);
this.setSize(1200,250);
konten=getContentPane();
konten.setLayout(new FlowLayout(FlowLayout.CENTER));
LBLnama.setText("Nama");
LBLAlamat.setText("Alamat");
LBLasal_sek.setText("Asal Sekolah");
LBprestasi.setText("Tingkatan Prestasi");
JK.setText("Jenis Kelamin");
LBLnun.setText("Nilai UN");
panel1.setLayout(new GridLayout(7,2));
panel1.add(LBLnama);
panel1.add(TBnama);
panel1.add(LBLAlamat);
panel1.add(TBalamat);

50
panel1.add(JK);
panel1.add(CBjenis_kelamin);
panel1.add(LBLasal_sek);
RBsekolah.add(RBmts);
RBsekolah.add(RBsmp);
panel3.setLayout(new GridLayout(1,2));
panel3.add(RBmts);
panel3.add(RBsmp);
panel1.add(LBLasal_sek);
panel1.add(panel3);
panel1.add(LBprestasi);
panel2.setLayout(new GridLayout(1,5));
panel2.add(CHsekolah);
panel2.add(CHkota);
panel2.add(CHprov);
panel2.add(CHnas);
panel2.add(CHinter);
panel1.add(panel2);
panel1.add(LBLnun);
panel1.add(TBnun);
panel1.add(BTNselesai);
panel1.add(BTNsimpan);
konten.add(panel1);
show();
}
publicstaticvoid main(String args[]){
new Tugas();
}
}

2. Tampilan Program

Gambar 2. 8 Tampilan Program Form Pendaftaran Siswa Baru

51
52
53
Membuat Komponen GUI berbasis Drag and
Drop dengan Netbeans

A. Tujuan
Setelah mengikuti kegiatan pembelajaran3 ini diharapkan peserta diklat dapat:
 Membuat komponen GUI berbasisDrag and Drop.
 Mendesain aplikasi GUI berbasisDrag and Drop.
 Membuat tampilan yang komplek dalam mendesain aplikasi GUI
berbasis Drag and Drop.

B. Indikator Pencapaian Kompetensi


 Membuat antarmuka-pengguna menggunakan frame,panel, dan
komponen-komponen GUI

C. Uraian Materi
1. Definisi Netbeans
NetBeans adalah suatu tool untuk membuat program dengan
menggunakanbahasa pemrograman Java berbasis grafis maupun teks.
Cara membuat program dengan merancangtampilan menggunakan
komponent visual dan proses diletakan pada event driven. Netbeans
menyediakan sekumpulan perangkat lunak modular yang disebut modul
yangdipakai untuk membangun suatu aplikasi. Sebuah modul adalah
merupakan arsip Java(Java Archive) yang memuat kelas-kelas Java yang
berinteraksi dengan NetBeans OpenAPI . Kemudian rancangan tampilan
yang dibuat menggunakan NetBens programnyasecara otomatis akan
digenerate menjadi kode. Tampilan lembar kerja Netbeans ditunjukkan pada
gambar berikut:

54
Di dalam Netbeans, banyak komponen GUI yang disertakan seperti
AWT (Abstract Window Toolkit) dan Swing (telah dipelajari di Kegiatan
Pembelajaran 1 dan 2). Beberapa komponen Swing yang terdapat pada
Netbeans ialah:
a. JButton
b. JPanel
c. JLabel
d. Combo Box
e. JCheckBox
f. Jtext Field
g. Jtable
h. Dan lain sebagainya

2. Bekerja dengan Netbeans


Untuk mulai membuat aplikasi GUI berbasiskan Drag and Drop dalam
aplikasi Netbeans dapat mengunduh aplikasi tersebut pada web resmi aplikasi
tersebut di alamat https://netbeans.org/downloads/. Lakukan instalasi aplikasi
tersebut seperti instalasi pada bagian Saran Penggunaan Modul di awal Modul,
Untuk mulai membuat aplikasi GUI dapat menggunakan langkah-langkah berikut:
1. Buka aplikasi netbeans dengan memilih StartNetbeans

Gambar 3. 1 Membuka Netbeans lewat Start Menu

55
2. Buat project baru pada aplikasi yang dibuat, pilih File  New Project

Gambar 3. 2 Membuat project baru dari Netbeans

3. Pilih kategori aplikasi yang dibuat dengan kategori Java dan Projectnya
ialah Java Application

Gambar 3. 3 Membuat aplikasi Java Application

4. Tuliskan nama project yang dibuat dan tentukan lokasi project yang
disimpan. Jangan centang pada bagian create main class, jika sudah
pilih Finish

56
Gambar 3. 4 Menentukan lokasi penyimpanan project Java

5. Buat Frame baru dengan melakukan Klik Kanan pada Project yang dibuat
 Pilih Jframe Form

Gambar 3. 5Membuat Frame baru pada project Netbeans

6. Tuliskan nama form yang dibuat, kemudian pilih Finish

Gambar 3. 6 Tulis nama Form yang dibuat

57
7. Frame telah selesai dibuat dan siap diisi komponen

Gambar 3. 7 Tampilan Form yang di buat

D. Aktivitas Pembelajaran
10. Buat Project Java dengan nama Latihan3.java.Pilih File  New
Project

Gambar 3. 8 Menu File untuk membuat project Java

11. Pilih Project Java Application. Pada bagian berikut, pilih


kategori Java dan jenis Project yang dibuat ialah Java Application. Jika
sudah pilih Next

58
Gambar 3. 9 Membuat project Java

12. Pilih lokasi penyimpanan. Tulis nama project yang dibuat, pada latihan
ini nama project yang dibuat ialah Latihan3. Setelah itu tentukan lokasi
penyimpanan project dengan memilih Browse. Pada bagian create main
class, jangan centang bagian tersebut, hal ini dikarenakan saat
pembuatan project aplikasi kelas utama yang dibuat berupa Form yang
nanti akan dibuat. Jika sudah pilih Finish

Gambar 3. 10 Menuliskan nama project dan lokasi penyimpanannya

13. Membuat Form baru. Setelah package project selesai dibuat, buat Form
untuk menempatkan komponen GUI. Klik Kanan project yang dibuat 
Pilih New Jframe Form

59
Gambar 3. 11 Menambahkan Form pada project yang dibuat

14. Menuliskan nama Form. Tulis nama Form yang dibuat, misal pada
latihan ini dengan nama Form1. Jika sudah pilih Finish

Gambar 3. 12 Menuliskan nama Form

15. Atur ukuran Form/Frame yang dibuat. Untuk mengatur ukuran form
yang dibuat, klik pada form yang sudah dibuat sebelumnya, kemudian
pada bagian properties window pilih bagian preferredSize. Klik pada
tanda “..” dan isikan bagian lebar dan tinggi form yang dibuat, misal pada
modul menggunakan 500 pixel X 450 pixel

60
Gambar 3. 13 Memilih bagian preferredSize pada properties

Gambar 3. 14 Mengatur lebar dan tinggi frame yang dibuat

16. Tambahkan komponen panel. Untuk menambahkan komponen panel,


pilih pada bagian pallete window bagian swing kemudian pilih panel untuk
didrag ke frame yang dibuat

Gambar 3. 15 Drag komponen Panel ke form

61
17. Tambahkan label. Untuk menambahkan komponen label, metode yang
digunakan sama halnya ketika menambahkan panel, yaitu dengan
melakukan drag and drop komponen label ke form yang sudah dibuat.

Gambar 3. 16 Hasil komponen label

Untuk mengubah tulisan jLabel tersebut, masuk ke menu properties pada


properties window, kemudian edit tulisan pada bagian text. Misal seperti
gambar berikut

Gambar 3. 17Mengganti tulisan pada jLabel

Untuk mengatur ukuran maupun jenis font dari jLabel, dapat menggunakan
bagian pada font. Misalkan seperti gambar berikut

Gambar 3. 18 Mengganti tipe dan ukuran huruf pada jLabel

Untuk mempermudah menghafalkan id komponen atau pembagian dari


komponen yang terdapat pada aplikasi, kita dapat mengatur nama variabel
dari komponen tersebut. Untuk menggantinya, masuk ke menu codepada
properties window pada bagian Variable Name, ubah sesuai kebutuhan
aplikasi yang digunakan. Misal jlabel1 diganti menjadi LBLjudul

62
Gambar 3. 19Sebelum variable name diganti

Gambar 3. 20 Sesudah diganti

18. Tambahkan Label untuk form isian. Tambahkan komponen label pada
form yang dibuat tersebut, buat layout seperti gambar dibawah ini (Jenis
font Tahoma ukuran 18)

Gambar 3. 21 Layout awal aplikasi

19. Tambahkan TextField pada setiap label. Tambahkan komponen Text


Field pada form yang dibuat tersebut, buat layout seperti gambar dibawah
ini

Gambar 3. 22 Layout Text Field

63
20. Tambahkan Komponen Button. Tambahkan komponen button (pada
pallete window komponennya ialah Button) pada form yang dibuat
tersebut, buat layout seperti gambar dibawah ini

Gambar 3. 23 Layout aplikasi setelah ditambahkan button

21. Tambahkan komponen tabel. Tambahkan komponen tabel pada form


yang dibuat tersebut, buat layout seperti gambar dibawah ini

Gambar 3. 24 Layout aplikasi setelah ditambahkan tabel

Setelah tabel ditambahkan, atur jumlah kolom dari tabel yang digunakan
misalnya 2 kolom. Lakukan klik kanan pada tabel yang ditambahkan 
kemudian pilih Table contents  Masuk pada bagian columns

64
Gambar 3. 25 klik kanan tabel yang ditambahkan

Ganti jumlah count dari kolom menjadi 3 (hanya contoh) dengan nama
kolomnya yaitu NIS, Nama dan Nilai kemudian pilih Close. Tampilan tabel
yang diatur ialah seperti berikut

Gambar 3. 26 Konten tabel yang diedit

22. Kompilasi program yang dibuat


Setelah layout selesai dibuat, lakukan kompilasi pada aplikasi yang
dibuat. Gunakan shortcut key “F6” atau memakai tombol run pada
menubar

Gambar 3. 27 Layout awal aplikasi

Jika muncul pemberitahuan pemilihan kelas utama dari aplikasi, pilih form
yang digunakan tadi

65
Gambar 3. 28 Pemilihan kelas utama aplikasi yang dibuat

23. Melihat hasil running aplikasi yang dibuat


Lihat jalannya aplikasi yang dibuat

Gambar 3. 29 Aplikasi GUI dengan drag and drop yang dibuat

E. Latihan/Kasus /Tugas
Pak Alqodri guru yang mengajar pelajaran Olah Raga di sekolah X.
Pak Alqodri sangat senang mengajar pelajaran yang di ampu olehnya
tersebut. Suatu hari, Pak Alqodri diminta tolong oleh anaknya yang masih
berumur 15 tahun (kelas 2 SMP) untuk membantu mengerjakan
Pekerjaan Rumah pelajaran matematika yang diberikan oleh gurunya
disekolah. Pak Alqodri yang memang suka berolah raga ternyata kurang
bisa dalam menghitung, apalagi tugas yang diberikan oleh guru
Matematika anaknya merupakan perhitungan matematika trigonometri
(hanya cosinus, sinus dan tangen) yang notabennya Pak Alqodri
memang kurang mampu dalam perhitungan trigonometri tersebut.

66
Untuk membantu mengajari anaknya tersebut, tentu Pak Alqodri
memerlukan suatu alat bantu berupa kalkulator yang tidak hanya mampu
menghitung operasi biasa (penjumlahan, pengurangan, perkalian,
pembagian), melainkan operasi perhitungan trigonometri (cosinus, sinus
dan tangen). Kalkulator yang dibuat harus terdiri dari 2 komponen pokok,
yaitu terdapat 19 Button (10 Button untuk angka 0 sampai 9 dan 10
Button untuk operasi) dan TextField (untuk menampilkan hasil operasi
perhitungan). Selain itu, karena Pak Alqodri sudah tua maka kalkulator
yang dibuat harus berukuran sedikit besar dari biasanya (lebar 450 pixel
dan tinggi 300 pixel) dan tampilan model kalkulator harus sesuai jenis
komponennya (kalkulator dibagi menjadi 3 panel yang terdiri dari 1 panel
untuk text field, 1 panel untuk angka dan 1 panel operasi.

Buatlah sebuah Layout kalkulator yang dapat membantu Pak Alqodri untuk
membantu mengerjakan tugas matematika anaknya tersebut!

Catatan : Layout kalkulator yang dibuat hanyalah tampilan saja tanpa kode

1. Output Program

Gambar 3. 30 Tampilan Kalkulator yang di buat

2. Properties Komponen Program


Tombol Nama Variabel
1 BTN1
2 BTN2
3 BTN3
4 BTN4

67
5 BTN5
6 BTN6
7 BTN7
8 BTN8
9 BTN9
0 BTN0
+ BTNplus
- BTNminus
X BTNkali
/ BTNbagi
Sin BTNsinus
Cos BTNcos

F. Rangkuman
Salah satu cara dalam membangun aplikasi GUI selain memakai kode native
(kode asli JAVA seperti AWT) dan juga Swing, terdapat pula cara membangun
aplikasi GUI dengan cara Drag and Drop. Cara ini lebih mudah digunakan dalam
membangun aplikasi dekstop GUI dari pada 2 cara sebelumnya (AWT dan
Swing), karena dengan cara ini pengguna hanya perlu melakukan Drag
kemudian Drop komponen GUI yang dipilih untuk diletakkan pada Form yang
telah tersedia, selanjutnya secara otomatis oleh aplikasi di generate kode dari
tampilan GUI tersebut. Salah satu aplikasi yang dapat digunakan untuk
membangun aplikasi desktop GUI tersebut adalah Netbeans. Aplikasi tersebut
akan melakukan generate code GUI dari kegiatan Drag and Drop pengguna
dalam membuat aplikasi desktop GUI.

G. Umpan Balik dan Tindak Lanjut


1. Apakah saudara sudah mampu membuat komponen GUI berbasis Drag
and Drop dan berapa prosen tingkat pencapaian kompetensinya?
2. Apakah saudara sudah mampu mendesain aplikasi GUI menggunakan
Drag and Drop dan berapa prosen tingkat pencapaian kompetensinya?
3. Apakah saudara sudah mampu membuat tampilan yang komplek dalam
mendesain aplikasi GUIberbasis Drag and Drop dan berapa prosen
tingkat pencapaian kompetensinya?

68
H. Kunci Jawaban
1. Source Code Program
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Anak Wadung
*/
publicclass Kalkulator extends javax.swing.JFrame {

/**
* Creates new form Kalkulator
*/
public Kalkulator(){
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
privatevoid initComponents(){

jPanel1 =new javax.swing.JPanel();


TBisi =new javax.swing.JTextField();
jPanel2 =new javax.swing.JPanel();
BTN0 =new javax.swing.JButton();
BTN1 =new javax.swing.JButton();
BTN2 =new javax.swing.JButton();
BTN3 =new javax.swing.JButton();
BTN4 =new javax.swing.JButton();
BTN5 =new javax.swing.JButton();
BTN6 =new javax.swing.JButton();
BTN7 =new javax.swing.JButton();
BTN8 =new javax.swing.JButton();
BTN9 =new javax.swing.JButton();
BTNClear =new javax.swing.JButton();
jPanel3 =new javax.swing.JPanel();
BTNplus =new javax.swing.JButton();
BTNminus =new javax.swing.JButton();
BTNkali =new javax.swing.JButton();
BTNbagi =new javax.swing.JButton();

69
BTNsin =new javax.swing.JButton();
BTNcos =new javax.swing.JButton();
BTNtangen =new javax.swing.JButton();
BTNhasil =new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLO
SE);
setTitle("Kalkulator");
setPreferredSize(new java.awt.Dimension(400,300));

TBisi.setFont(new java.awt.Font("Tahoma",0,14));//
NOI18N

javax.swing.GroupLayout jPanel1Layout =new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(TBisi)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(20, Short.MAX_VALUE)
.addComponent(TBisi, javax.swing.GroupLayout.PREFERRED_SIZE,36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);

BTN0.setText("0");

BTN1.setText("1");

BTN2.setText("2");

BTN3.setText("3");

BTN4.setText("4");

BTN5.setText("5");

BTN6.setText("6");

BTN7.setText("7");

70
BTN8.setText("8");

BTN9.setText("9");

BTNClear.setText("Clear");

javax.swing.GroupLayout jPanel2Layout =new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING,false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(BTN0)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTNClear, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(BTN1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN3))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(BTN4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN6))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(BTN7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTN9)))
.addContainerGap(14, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)

71
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.BASELINE)
.addComponent(BTN7)
.addComponent(BTN8)
.addComponent(BTN9))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.BASELINE)
.addComponent(BTN4)
.addComponent(BTN5)
.addComponent(BTN6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.BASELINE)
.addComponent(BTN1)
.addComponent(BTN2)
.addComponent(BTN3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING)
.addComponent(BTN0)
.addComponent(BTNClear)))
);

BTNplus.setText("+");

BTNminus.setText("-");

BTNkali.setText("X");

BTNbagi.setText("/");

BTNsin.setText("Sin");

BTNcos.setText("Cos");

BTNtangen.setText("Tg");
BTNtangen.setToolTipText("");

BTNhasil.setText("Hasil");
BTNhasil.setToolTipText("");

javax.swing.GroupLayout jPanel3Layout =new


javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignm

72
ent.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING,false)
.addComponent(BTNbagi, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING,false)
.addComponent(BTNplus, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BTNminus, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BTNkali, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(18,18,18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING,false)
.addComponent(BTNsin, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BTNcos, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel3Layout.createSequentialGroup()
.addGap(16,16,16)
.addComponent(BTNtangen,
javax.swing.GroupLayout.PREFERRED_SIZE,53,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18,18,18)
.addComponent(BTNhasil, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18,18,18))
);
jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING,false)
.addComponent(BTNhasil, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(BTNsin, javax.swing.GroupLayout.PREFERRED_SIZE,37,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELA

73
TED)
.addComponent(BTNcos, javax.swing.GroupLayout.PREFERRED_SIZE,37,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(BTNplus)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELA
TED)
.addComponent(BTNminus)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(BTNkali)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELA
TED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLay
out.Alignment.BASELINE)
.addComponent(BTNbagi)
.addComponent(BTNtangen))
.addGap(7,7,7)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

javax.swing.GroupLayout layout =new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRE
LATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali
gnment.LEADING)
.addComponent(jPanel3,

74
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);

pack();
}// </editor-fold>

/**
* @param args the command line arguments
*/
publicstaticvoid main(String args[]){
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel
setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay
with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/p
laf.html
*/
try{
for(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()){
if("Nimbus".equals(info.getName())){

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}catch(ClassNotFoundException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).l
og(java.util.logging.Level.SEVERE,null, ex);
}catch(InstantiationException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).l
og(java.util.logging.Level.SEVERE,null, ex);
}catch(IllegalAccessException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).l
og(java.util.logging.Level.SEVERE,null, ex);
}catch(javax.swing.UnsupportedLookAndFeelException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).l
og(java.util.logging.Level.SEVERE,null, ex);
}

75
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable(){
publicvoid run(){
new Kalkulator().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton BTN0;
private javax.swing.JButton BTN1;
private javax.swing.JButton BTN2;
private javax.swing.JButton BTN3;
private javax.swing.JButton BTN4;
private javax.swing.JButton BTN5;
private javax.swing.JButton BTN6;
private javax.swing.JButton BTN7;
private javax.swing.JButton BTN8;
private javax.swing.JButton BTN9;
private javax.swing.JButton BTNClear;
private javax.swing.JButton BTNbagi;
private javax.swing.JButton BTNcos;
private javax.swing.JButton BTNhasil;
private javax.swing.JButton BTNkali;
private javax.swing.JButton BTNminus;
private javax.swing.JButton BTNplus;
private javax.swing.JButton BTNsin;
private javax.swing.JButton BTNtangen;
private javax.swing.JTextField TBisi;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
// End of variables declaration
}

76
2. Tampilan Program

Gambar 3. 31 Tampilan Running Source Code

77
78
79
80
Event Handling Komponen GUI

A. Tujuan
Setelah mengikuti kegiatan pembelajaran4 ini diharapkan peserta diklat dapat:
 Memberikan action listener pada komponen GUI yang telah dibuat
 Memberikan key listener pada komponen GUI yang telah dibuat
 Memberikan mouse listener pada komponen GUI yang telah dibuat

B. Indikator Pencapaian Kompetensi


 Membuat antarmuka-pengguna menggunakan frame,panel, dan
komponen-komponen GUI

C. Uraian Materi
1. Pengertian Event Handling
Eventmerupakah kejadian yang mucul ketika seorang user
berinteraksi dengan suatu aplikasi sedangkan Handling merupakan
proses penanganan terhadap event yang terjadi. Event handling
merupakan suatu proses penanganan interaksi yang diberikan pada
aplikasi, dimana penanganan tersebut berupa pemberian respon
terhadap input yang ada. Pada bahasa JAVA, mekanisme event
handlingtentang bagaimana program merespon input user dikenal dengan
istilah Delegation of Event Model. Pada Delegation of Event Model,
terdapat 3 bagian utama yaitu:
1. Event Source
The event source mengacu pada komponen GUI yang men-generate
event. Sebagai contoh, jika user menekan tombol, event source dalam
hal ini adalah tombol. Berikut ini merupakan tabel event source pada
JAVA

81
Tabel 4. 1 Event Source pada JAVA
Event Source Keterangan

Button Membangkitkan ActionEvent pada saat button diklik

Checkbox Membangkitkan ItemEvent pada saat di-check atau


un-check
Choice Membangkitkan ItemEvent pada saat pilihan diubah

List Membangkitkan ActionEvent pada saat sebuah item


di-doubleclick dan membangkitkan ItemEvent pada
saat item dipilih/di-check maupun di-uncheck
Item Menu Membangkitkan ActionEvent pada saat item menu
diklik dan membangkitkan ItemEvent pada saat item
menu di-check maupun di-uncheck
Scrollbar Membangkitkan AdjustmentEvent pada saat scrollbar
diubah
Text Membangkitkan TextEvent pada saat user
memasukkan karakter pada komponen textarea atau
textfield
Window Membangkitkan WindowEvent pada saat sebuah
window atau frame diaktivasi, ditutup, dinonaktifkan,
di-minimize, di-maximize, dibuka, dan dikeluarkan

2. Event Listener/Handler
The event listener menerima berita dari event-event dan proses-proses
interaksi user. Ketika tombol ditekan, listener akan mengendalikan
dengan menampilkan sebuah informasi yang berguna untuk user.

3. Event Object
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan
komponen GUI), sebuah objek event diciptakan. Objek berisi semua
informasi yang perlu tentang event yang telah terjadi. Informasi meliputi
tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada

82
beberapa class event untuk kategori yang berbeda dari user action.
Sebuah event object mempunyai tipe data tentang salah satu dari class ini.

Gambar berikut merupakan gambar alur Delegation of Event Model

Gambar 4. 1 Delegation of Event Model

Pada awalnya, sebuah listener seharusnya diregistrasikan dengan sebuah


source sehingga dapat menerima informasi tentang event-event yang
terjadi pada source tersebut. Hanya listeners yang sudah teregistrasi yang
dapat menerima pemberitahuan event-event. Ketika telah teregistrasi, sebuah
listener hanya tinggal menunggu sampai event terjadi. Ketika sesuatu terjadi
dengan event source, sebuah event object akan menguraikan event yang
diciptakan. Event kemudian ditembak oleh source pada listeners yang
teregistrasi. Saat listener menerima sebuah event object (pemberitahuan)
dari source, dia akan bekerja. Menerjemahkan pemberitahuan dan
memproses event yang terjadi.

2. Class Event
Sebuah event object mempunyai sebuah class event sebagai tipe data
acuannya. Akardari hirarki class event adalah class EventObject, yang dapat
ditemukan pada paketjava.util. Immediate subclass dari class EventObject
adalah class AWTEvent. ClassAWTEvent didefinisikan pada paket java.awt.

83
Itu merupakan akar dari semua AWTbasedevents. Tabel berikut ini
menampilkan beberapa dariclass-classAWT event
Tabel 4. 2Class-class AWT event
Event Class Keterangan

ActionEvent Dibangkitkan pada saat objek button di-klik, item list


di-doubleclick, maupun item menu dipilih

AdjustmentEvent Dibangkitkan pada saat objek scrollbar diubah

ComponentEvent Dibangkitkan pada saat sebuah komponen


disembunyikan, dipindahkan, diubah ukurannya,
maupun diset mjd visible
ContainerEvent Dibangkitkan pada saat sebuah komponen
ditambahkan/dipiindahkan ke/dari sebuah container

FocusEvent Dibangkitkan pada saat sebuah komponen


memperoleh atau kehilangan fokus keyboard

InputEvent Kelas induk yg merupakan kelas abstrak dr semua


kelas yg termsk ke dalam event input
ItemEvent Dibangkitkan pada saat sebuah item dlm list atau
checkbox diklik; juga terjadi saat item-nya dibuat, dan
pada saat item menu di-check maupun un-check
KeyEvent Dibangkitkan pada saat input dilakukan melalui
keyboard
MouseEvent Dibangkitkan pada saat mouse di-drag, dipindahkan,
diklik, ditekan, maupun dilepas; juga terjadi pada
saat mouse masuk atau keluar dari sebuah
komponen
TextEvent Dibangkitkan pada saat teks yg berada dalam
komponen textarea atau textfield diubah
WindowEvent Dibangkitkan pada saat window atau form diaktivasi,
ditutup, di-minimize, di-maximize, dibuka, atau
dikeluarkan

84
3. Event Listeners
Event listeners adalah class yang mengimplementasikan
interfaces<Type>Listener. Tabel di bawah menunjukkan beberapa listener
interfaces yang biasanya digunakan.
Tabel 4. 3 Event Listener pada JAVA
Event Listener Deskripsi
ActionListener Bereaksi atas perubahan mouse atau atau
keyboard. Method pada event listener ini adalah
actionPerformed(ActionEvent).
KeyListener Untuk memberikan reaksi terhadap interaksi
yang terdapat pada keyboard. Setidaknya
terdapat 3 method yang digunakan dalam listener
ini, yaitu:
a. keyPressed(KeyEvent)
b. keyReleased(KeyEvent)
c. keyTyped(KeyEvent)
MouseListener Bereaksi atas pergerakan mouse. Terdapat
setidaknya 5 method yang terdapat pada event
listerner ini:
a. mouseClicked(MouseEvent)
b. mousePressed(MouseEvent)
c. mouseReleased(MouseEvent)
d. mouseEntered(MouseEvent)
e. mouseExited(MouseEvent)
MouseMotionListener Untuk mendukung event MouseListener.
Interface Menyediakan method yang akan memantau
pergerakan mouse, seperti drag dan pemindahan
mouse. Method yang digunakan oleh interface ini
adalah mouseDragged(MouseEvent)
Focus Listener merupakan event listener dari FocusEvent, pada
interface ini terdapat 2 method :
a. focusGained(FocusEvent)
b. focusLast(FocusEvent)
WindowListener Bereaksi atas perubahan window. Terdapat
setidaknya 4 method pada listener ini, yaitu:
a. windowClosing(WindowEvent)
b. windowOpened(WindowEvent)
c. windowActived(WindowEvent)
d. windowDeactived(WindowEvent)

Terdapat beberapa listener yang sering digunakan oleh para programmer


dalam membuat aplikasi GUI, diantaranya ialah ActionListener, KeyListener dan
MouseListener. Berikut ini beberapa contoh listener:

Contoh 1, ActionListener:

85
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

publicclass DemoAction extends JFrame{

private JButton BTNsimpan =new JButton("Simpan"),


BTNclear =new JButton("Clear");
private JLabel LBLsimpan =new JLabel("Anda Menekan Tombol Simpan"),
LBLclear =new JLabel("Anda Menekan Tombol Clear");

DemoAction(){
super("Demo Action Listener");
JPanel Panel1 =new JPanel();
Panel1.setLayout(new FlowLayout());
Panel1.add(BTNsimpan);
Panel1.add(BTNclear);
getContentPane().add(Panel1);
setSize(200,150);
setDefaultCloseOperation(EXIT_ON_CLOSE);
BTNclear.addActionListener(new ActionListener(){
publicvoid actionPerformed (ActionEvent evn){
BTNsimpan.setVisible(false);
BTNclear.setVisible(false);
LBLclear.setVisible(true);
Panel1.add(LBLclear);

BTNsimpan.setEnabled(false);
}
});

BTNsimpan.addActionListener(new ActionListener(){
publicvoid actionPerformed (ActionEvent evn){
BTNsimpan.setVisible(false);
BTNclear.setVisible(false);
LBLsimpan.setVisible(true);
Panel1.add(LBLsimpan);
BTNclear.setEnabled(false);
}
});

setVisible(true);
}
publicstaticvoid main(String[] args){
DemoAction Demoaksi =new DemoAction();
}
}

Jika dieksekusi, maka tampilan programnya adalah

86
Gambar 4. 2 ActionListener Sebelum dan Sesudah di klik

Contoh 2, MouseListener:
import java.awt.*;
import java.awt.event.*;

publicclass DemoMouse extends Frame implements MouseListener,


MouseMotionListener {
TextField TB;
public DemoMouse(){
super("Demo MouseListener");
TB =new TextField(60);
addMouseListener(this);
}
publicvoid launchFrame(){
add(TB, BorderLayout.SOUTH);
setSize(200,200);
setVisible(true);
}
publicvoid mouseClicked(MouseEvent me){
TB.setText("Mouse di klik");
}
publicvoid mouseEntered(MouseEvent me){
TB.setText("Mouse Terdapat pada Frame.");
}
publicvoid mouseExited(MouseEvent me){
TB.setText("Mouse Keluar dari Frame");
}
publicvoid mousePressed(MouseEvent me){
TB.setText("Mouse di tekan");
}
publicvoid mouseReleased(MouseEvent me){
TB.setText("Mouse Tidak Ditekan");
}
publicvoid mouseDragged(MouseEvent me){
TB.setText("Mouse di drag dari "+ me.getX()+","+ me.getY());
}
publicvoid mouseMoved(MouseEvent me){
TB.setText("Mouse dipindah dari "+ me.getX()+","+ me.getY());
}

publicstaticvoid main(String[] args){


DemoMouse med =new DemoMouse();
med.launchFrame();
}

87
}
Jika dieksekusi, maka tampilan programnya adalah

Gambar 4. 4 Jika Mouse pada Frame Gambar 4. 3 Jika Mouse Keluar


dari Frame

Gambar 4. 5 Jika Mouse di klik Gambar 4. 6 Jika Mouse di tekan

Contoh 3, KeyListener :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

publicclass DemoKey extends JFrame implements KeyListener {


private String baris1="";
private JTextArea textArea;

public DemoKey(){
super("Mencoba Key Event");

textArea =new JTextArea (10,15);


textArea.setText("Tekan sembarang tombol di
keyboard...");
textArea.setEnabled(false);

88
textArea.setDisabledTextColor(Color.BLACK);
getContentPane().add(textArea);
addKeyListener (this);
setSize (300,150);
setLocationRelativeTo(null);
setVisible(true);
}

publicvoid keyPressed (KeyEvent e){


textArea.setText("Tombol yang ditekan : "+
e.getKeyText(e.getKeyCode()));
}

publicvoid keyReleased (KeyEvent e){


textArea.setText("Tombol yang dilepas : "+
e.getKeyText(e.getKeyCode()));
}

publicvoid keyTyped (KeyEvent e){


textArea.setText("Tombol yang ditulis : "+
e.getKeyChar());
}

publicstaticvoid main (String args[]){


DemoKey test =new DemoKey();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Jika dieksekusi, maka tampilan programnya adalah

Gambar 4. 7 Awal Program dijalankan Gambar 4. 8 Jika Tombol “S” di tekan

Gambar 4. 9 Jika Tombol “S” di lepas

89
D. Aktivitas Pembelajaran
1. Buka project Latihan yang sudah dibuat pada Kegiatan
Pembelajaran 3
2. Import komponen awt.event.* dan komponen swing pada project.
Pada tampilan desain, pilih bagian source dan tambahkan syntax berikut

Gambar 4. 10 Mengakses menu source

Letakkan syntax dibawah ini pada baris paling awal dari project yang di
buat, hal ini dimaksudkan untuk mengimport komponen AWT dan Swing
sehingga operasi dapat dilakukan dengan baik
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;

3. Buat suatu fungsi yang dapat melakukan validasi input harus berupa
angka. Letakkan fungsi tersebut diatas konstruktor fungsi utama. Source
code untuk validasi tersebut adalah
publicvoid FilterHanyaAngka(java.awt.event.KeyEvent evt){
char c = evt.getKeyChar();
if(!((Character.isDigit(c)||(c == KeyEvent.VK_BACK_SPACE)||(c
== KeyEvent.VK_DELETE)))
)

{
JOptionPane.showMessageDialog(null,"Harus Angka");
evt.consume();
}
}

4. Buat suatu fungsi yang dapat melakukan validasi input harus berupa
huruf. Letakkan fungsi tersebut dibawah method FilterHanyaAngka.
Source code untuk validasi tersebut adalah

90
publicvoid FilterHanyaAngka(java.awt.event.KeyEvent evt){
char c = evt.getKeyChar();
if(((Character.isDigit(c)||(c == KeyEvent.VK_BACK_SPACE)||(c
== KeyEvent.VK_DELETE)))
)

{
JOptionPane.showMessageDialog(null,"Harus Huruf");
evt.consume();
}
}

5. Berikan suatu event pada komponen Text Field NIS


Klik kanan komponen TextField NIS  event KeyTyped

Gambar 4. 11 Mengakses event keyTyped Text Field

Tambahkan kode hingga method tersebut seperti berikut


privatevoid nis_siswaKeyTyped(java.awt.event.KeyEvent evt){
// TODO add your handling code here:
FilterHanyaAngka(evt);//kode yang ditambahkan
}

6. Berikan suatu event pada komponen Text Field Nama.


Klik kanan komponen TextField Nama  event KeyTyped  Masukan
kode berikut
privatevoid nama_siswaKeyTyped(java.awt.event.KeyEvent evt){
// TODO add your handling code here:
FilterHanyaHuruf(evt);
}

91
7. Berikan suatu event pada komponen Text Field Nilai
Klik kanan komponen TextField Nilai event KeyTyped Masukan
kode berikut
privatevoid nilai_siswaKeyTyped(java.awt.event.KeyEvent evt){
// TODO add your handling code here:
FilterHanyaAngka(evt);
}

8. Berikan suatu event pada komponen Button


Klik kanan komponen Button simpan event actionPerformed

Gambar 4. 12 Memberikan event pada Button Simpan

Masukan kode berikut


privatevoid jButton1ActionPerformed(java.awt.event.ActionEvent
evt){
DefaultTableModel model =(DefaultTableModel)
jTable3.getModel();
String row[]={ nis_siswa.getText(),
nama_siswa.getText(),nilai_siswa.getText()};
model.addRow(row);
}

9. Atur jumlah baris pada tabel sejumlah 0 baris


Masuk ke tab Desain  Klik Kanan Tabel  Table ContentsRow set
menjadi 0Close

Gambar 4. 13 Pengaturan jumlah baris menjadi 0

92
10. Kompilasi Program yang dibuat
11. Cek Validasi Input yang diberikan
Validasi input ini merupakan pemanggilan method FilterHanyaAngka dan
FilterHanyaHuruf. Sehingga input yang diberikan oleh user sesuai dengan
permintaan program.
12. Jika pada Field nis_siswa ditekan tombol “a” pada keyboard maka
akan menampilkan output message box seperti berikut

Gambar 4. 14 Validasi Input NIS

13. jika pada Field nama_siswa ditekan angka 1--9 pada keyboard maka
akan menampilkan output message box seperti berikut

Gambar 4. 15 Validasi Input Nama

14. jika pada Field nilai_siswa ditekan tombol “a” pada keyboard maka
akan menampilkan output message box seperti berikut

Gambar 4. 16 Validasi Input Nilai

15. Lakukan input data dan tekan tombol Simpan

93
Gambar 4. 17 Data yang di inputkan

16. Melihat data input pada tabel

Gambar 4. 18 Tampilan Data Berhasil di input pada Tabel

E. Latihan/Kasus /Tugas
Berikan suatu event pada setiap tombol kalkulator GUI yang sudah di
buat pada Kegiatan Pembelajaran 3 agar dapat berfungsi dengan baik.

F. Rangkuman
Event handling merupakan suatu proses penanganan interaksi yang
diberikan pada aplikasi, dimana penanganan tersebut berupa pemberian respon
terhadap input yang ada. Pada bahasa JAVA, mekanisme event handlingtentang
bagaimana program merespon input user dikenal dengan istilah Delegation of
Event Model. Pada Delegation of Event Model, terdapat 3 bagian utama yaitu:

94
1. Event Source
Event source mengacu pada komponen GUI yang men-generate event.
Sebagai contoh, komponen yang digunakan ialah Button, Checkbox, List,
Choice, dan yang lainnya.

2. Event Listener/Handler
Event listener ini juga berfungsi untuk memberikan reaksi terhadap implus
yang diberikan user pada objek event.

3. Event Object
Event Object berisi semua informasi yang perlu tentang event yang
telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti
ketika mouse telah di-klik. Ada beberapa class event untuk kategori
yang berbeda dari user action. Sebuah event object mempunyai tipe
data tentang salah satu dari class ini. Terdapat beberapa listener yang
sering digunakan oleh para programmer dalam membuat aplikasi GUI,
diantaranya ialah ActionListener, KeyListener dan MouseListener.

G.Umpan Balik dan Tindak Lanjut


1. Apakah Anda sudah mampu memberikan action listener pada komponen
GUI yang telah Anda buat dan berapa prosen tingkat pencapaian
kompetensinya?
2. Apakah Anda sudah mampu memberikan key listener pada komponen
GUI yang telah Anda buat dan berapa prosen tingkat pencapaian
kompetensinya?
3. Apakah Anda sudah mampu memberikan key listener pada komponen
GUI yang telah Anda buat dan berapa prosen tingkat pencapaian
kompetensinya?

95
H. Kunci Jawaban
1. Source Code Program
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Anak Wadung
*/
publicclass Kalkulator extends javax.swing.JFrame {
String angka;
double jumlah,angka1,angka2;
int pilih;

/**
* Creates new form Kalkulator
*/
public Kalkulator(){
initComponents();

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this method
is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
privatevoid initComponents(){

jPanel1 =new javax.swing.JPanel();


TBisi =new javax.swing.JTextField();
jPanel2 =new javax.swing.JPanel();
BTN0 =new javax.swing.JButton();
BTN1 =new javax.swing.JButton();
BTN2 =new javax.swing.JButton();
BTN3 =new javax.swing.JButton();
BTN4 =new javax.swing.JButton();
BTN5 =new javax.swing.JButton();
BTN6 =new javax.swing.JButton();
BTN7 =new javax.swing.JButton();
BTN8 =new javax.swing.JButton();
BTN9 =new javax.swing.JButton();
BTNClear =new javax.swing.JButton();
jPanel3 =new javax.swing.JPanel();

96
BTNplus =new javax.swing.JButton();
BTNminus =new javax.swing.JButton();
BTNkali =new javax.swing.JButton();
BTNbagi =new javax.swing.JButton();
BTNsin =new javax.swing.JButton();
BTNcos =new javax.swing.JButton();
BTNtangen =new javax.swing.JButton();
BTNhasil =new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE)
;
setTitle("Kalkulator");
setPreferredSize(new java.awt.Dimension(420,300));
getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

TBisi.setFont(new java.awt.Font("Tahoma",0,14));// NOI18N


jPanel1.add(TBisi,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,20,382,36));

getContentPane().add(jPanel1,new
org.netbeans.lib.awtextra.AbsoluteConstraints(0,0,402,-1));

jPanel2.setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

BTN0.setText("0");
BTN0.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN0ActionPerformed(evt);
}
});
jPanel2.add(BTN0,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,113,-1,-1));

BTN1.setText("1");
BTN1.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN1ActionPerformed(evt);
}
});
jPanel2.add(BTN1,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,79,-1,-1));

BTN2.setText("2");
BTN2.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN2ActionPerformed(evt);
}
});

97
jPanel2.add(BTN2,new
org.netbeans.lib.awtextra.AbsoluteConstraints(59,79,-1,-1));

BTN3.setText("3");
BTN3.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN3ActionPerformed(evt);
}
});
jPanel2.add(BTN3,new
org.netbeans.lib.awtextra.AbsoluteConstraints(108,79,-1,-1));

BTN4.setText("4");
BTN4.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN4ActionPerformed(evt);
}
});
jPanel2.add(BTN4,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,45,-1,-1));

BTN5.setText("5");
BTN5.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN5ActionPerformed(evt);
}
});
jPanel2.add(BTN5,new
org.netbeans.lib.awtextra.AbsoluteConstraints(59,45,-1,-1));

BTN6.setText("6");
BTN6.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN6ActionPerformed(evt);
}
});
jPanel2.add(BTN6,new
org.netbeans.lib.awtextra.AbsoluteConstraints(108,45,-1,-1));

BTN7.setText("7");
BTN7.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN7ActionPerformed(evt);
}
});
jPanel2.add(BTN7,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,11,-1,-1));

BTN8.setText("8");
BTN8.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN8ActionPerformed(evt);
}
});

98
jPanel2.add(BTN8,new
org.netbeans.lib.awtextra.AbsoluteConstraints(59,11,-1,-1));

BTN9.setText("9");
BTN9.addActionListener(new java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTN9ActionPerformed(evt);
}
});
jPanel2.add(BTN9,new
org.netbeans.lib.awtextra.AbsoluteConstraints(108,11,-1,-1));

BTNClear.setText("Clear");
BTNClear.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNClearActionPerformed(evt);
}
});
jPanel2.add(BTNClear,new
org.netbeans.lib.awtextra.AbsoluteConstraints(57,113,90,-1));

getContentPane().add(jPanel2,new
org.netbeans.lib.awtextra.AbsoluteConstraints(20,80,-1,-1));

jPanel3.setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

BTNplus.setText("+");
BTNplus.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNplusActionPerformed(evt);
}
});
jPanel3.add(BTNplus,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,11,40,-1));

BTNminus.setText("-");
BTNminus.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNminusActionPerformed(evt);
}
});
jPanel3.add(BTNminus,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,40,41,-1));

BTNkali.setText("X");
BTNkali.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNkaliActionPerformed(evt);
}

99
});
jPanel3.add(BTNkali,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,74,41,-1));

BTNbagi.setText("/");
BTNbagi.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNbagiActionPerformed(evt);
}
});
jPanel3.add(BTNbagi,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,103,41,-1));

BTNsin.setText("Sin");
BTNsin.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNsinActionPerformed(evt);
}
});
jPanel3.add(BTNsin,new
org.netbeans.lib.awtextra.AbsoluteConstraints(69,11,51,37));

BTNcos.setText("Cos");

BTNcos.addActionListener(newjava.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNcosActionPerformed(evt);
}
});
jPanel3.add(BTNcos,new
org.netbeans.lib.awtextra.AbsoluteConstraints(69,54,-1,37));

BTNtangen.setText("Tg");
BTNtangen.setToolTipText("");
BTNtangen.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNtangenActionPerformed(evt);
}
});
jPanel3.add(BTNtangen,new
org.netbeans.lib.awtextra.AbsoluteConstraints(67,103,53,-1));

BTNhasil.setText("Hasil");
BTNhasil.setToolTipText("");
BTNhasil.addActionListener(new
java.awt.event.ActionListener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
BTNhasilActionPerformed(evt);
}
});
jPanel3.add(BTNhasil,new

100
org.netbeans.lib.awtextra.AbsoluteConstraints(130,10,-1,122));

getContentPane().add(jPanel3,new
org.netbeans.lib.awtextra.AbsoluteConstraints(181,78,-1,140));

pack();
}// </editor-fold>

privatevoid BTN0ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="0";
TBisi.setText(angka);
}

privatevoid BTN1ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="1";
TBisi.setText(angka);
}

privatevoid BTN2ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="2";
TBisi.setText(angka);
}

privatevoid BTN3ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="3";
TBisi.setText(angka);
}

privatevoid BTN4ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="4";
TBisi.setText(angka);
}

privatevoid BTN5ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="5";
TBisi.setText(angka);
}

privatevoid BTN6ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="6";
TBisi.setText(angka);
}

privatevoid BTN7ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="7";
TBisi.setText(angka);

101
}

privatevoid BTN8ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="8";
TBisi.setText(angka);
}

privatevoid BTN9ActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka +="9";
TBisi.setText(angka);
}

privatevoid BTNClearActionPerformed(java.awt.event.ActionEvent
evt){
// TODO add your handling code here:
TBisi.setText("");
angka1=0.0;
angka2=0.0;
jumlah=0.0;
angka="";
}

privatevoid BTNplusActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka1=Double.parseDouble(angka);
TBisi.setText("+");
angka="";
pilih=1;
}

privatevoid BTNminusActionPerformed(java.awt.event.ActionEvent
evt){
// TODO add your handling code here:
angka1=Double.parseDouble(angka);
TBisi.setText("-");
angka="";
pilih=2;
}

privatevoid BTNkaliActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka1=Double.parseDouble(angka);
TBisi.setText("X");
angka="";
pilih=3;
}

privatevoid BTNbagiActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
angka1=Double.parseDouble(angka);
TBisi.setText("/");
angka="";

102
pilih=4;
}

privatevoid BTNhasilActionPerformed(java.awt.event.ActionEvent
evt){
// TODO add your handling code here:
switch(pilih){
case1:
angka2 = Double.parseDouble(angka);
jumlah = angka1 + angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
case2:
angka2 = Double.parseDouble(angka);
jumlah = angka1 - angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
case3:
angka2 = Double.parseDouble(angka);
jumlah = angka1 * angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
case4:
angka2 = Double.parseDouble(angka);
jumlah = angka1 / angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
case5:

// TBisi.setText(angka);
break;
case6:
angka2 = Double.parseDouble(angka);
jumlah = angka1 * angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
case7:
angka2 = Double.parseDouble(angka);
jumlah = angka1 / angka2;
angka = Double.toString(jumlah);
TBisi.setText(angka);
break;
default:
break;
}

privatevoid BTNsinActionPerformed(java.awt.event.ActionEvent evt){

103
// TODO add your handling code here:
String sin = TBisi.getText();
double derajat = Double.parseDouble(sin);
double pi = Math.PI;
//dalam bentuk degrees//
double hasil = Math.sin(derajat * pi/180);
TBisi.setText(Double.toString(hasil));
}

privatevoid BTNcosActionPerformed(java.awt.event.ActionEvent evt){


// TODO add your handling code here:
String cos = TBisi.getText();
double derajat = Double.parseDouble(cos);
double pi = Math.PI;
//dalam bentuk degrees//
double hasil = Math.cos(derajat * pi/180);
TBisi.setText(Double.toString(hasil));
}

privatevoid BTNtangenActionPerformed(java.awt.event.ActionEvent
evt){
// TODO add your handling code here:
String tan = TBisi.getText();
double derajat = Double.parseDouble(tan);
double pi = Math.PI;
//dalam bentuk degrees//
double hasil = Math.tan(derajat * pi/180);
TBisi.setText(Double.toString(hasil));
}

/**
* @param args the command line arguments
*/
publicstaticvoid main(String args[]){
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel
setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with
the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf
.html
*/
try{
for(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()){
if("Nimbus".equals(info.getName())){

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}catch(ClassNotFoundException ex){

104
java.util.logging.Logger.getLogger(Kalkulator.class.getName()).log(
java.util.logging.Level.SEVERE,null, ex);
}catch(InstantiationException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).log(
java.util.logging.Level.SEVERE,null, ex);
}catch(IllegalAccessException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).log(
java.util.logging.Level.SEVERE,null, ex);
}catch(javax.swing.UnsupportedLookAndFeelException ex){

java.util.logging.Logger.getLogger(Kalkulator.class.getName()).log(
java.util.logging.Level.SEVERE,null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable(){
publicvoid run(){
new Kalkulator().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton BTN0;
private javax.swing.JButton BTN1;
private javax.swing.JButton BTN2;
private javax.swing.JButton BTN3;
private javax.swing.JButton BTN4;
private javax.swing.JButton BTN5;
private javax.swing.JButton BTN6;
private javax.swing.JButton BTN7;
private javax.swing.JButton BTN8;
private javax.swing.JButton BTN9;
private javax.swing.JButton BTNClear;
private javax.swing.JButton BTNbagi;
private javax.swing.JButton BTNcos;
private javax.swing.JButton BTNhasil;
private javax.swing.JButton BTNkali;
private javax.swing.JButton BTNminus;
private javax.swing.JButton BTNplus;
private javax.swing.JButton BTNsin;
private javax.swing.JButton BTNtangen;
private javax.swing.JTextField TBisi;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
// End of variables declaration
}

105
2. Output Tampilan Program

Gambar 4. 19 Output Tampilan Program

106
107
108
109
Membuat Transformasi dengan Kelas
Graphic

A. Tujuan
Setelah mengikuti kegiatan pembelajaran5 ini diharapkan peserta diklat dapat:
 Memberikan aksi rotasi pada gambar yang dibuat dari kelas Graphic
 Memberikan aksi translasi pada gambar yang dibuat dari kelas Graphic
 Memberikan pengubahan skala pada gambar yang dibuat dari kelas
Graphic

B. Indikator Pencapaian Kompetensi


 Membuat aplikasi dengan kelas Graphic untuk menggambar tek ataupun
gambar

C. Uraian Materi
1. Konsep Dasar Transformasi Objek
Transformasi merupakan suatu operasi memodifikasi bentuk objek
tanpa merusak bentuk dasar dari objek yang ditransformasikan. Salah satu
contoh transformasi adalah transformasi dari window ke viewport. Pada
Viewport, Objek yang akan digambar pada layar biasanya mempunyai
ukuran yang jauh lebih besar dibanding dengan ukuran layar, sehingga perlu
dilakukan pemetaan transformasi yang memungkinkan objek tersebut bisa
seluruhnya digambar dilayar, tetapi pada layar dengan koordinat yang
terbatas, dan biasanya dibatasi oleh sebuah kotak yang disebut windows,
sedangkan layarnya tersebut disebut Viewport.
Penggunaan transformasi pada suatu objek gambar biasanya
digunakan untuk mempermudah dalam melihat objek tersebut ataupun.
Beberapa tujuan khusus diperlukannya transformasi objek adalah:
a. Merubah atau menyesuaikan komposisi pandangan.
b. Memudahkan membuat objek yang simetris
c. Melihat objek dari sudut pandang berbeda
d. Memindahkan satu atau beberapa objek dari satu tempat ke tempat lain,
biasanya digunakan pada animasi komputer.

110
Terdapat 2 jenis utama dari transformasi, yaitu Transformasi Objek
dan transformasi kordinat. Pada transformasi objek, bagian yang
ditransformasikan adalah titik-titik yang menyusun objek tersebut.
Sedangkan pada transformasi koordinat, yang diubah adalah sistem
koordinatnya sehingga objek mengalami transformasi dikarenakan
perubahan system koordinat tersebut. Diantara 2 jenis transformasi terdapat
3 jenis transformasi yang dikenal pada transformasi objek 2 dimensi yaitu
Rotasi, Translasi dan Skala.

2. Translasi Objek
Translasi merupakan bentuk transformasi yang memindahkan posisi
suatu objek, baik pada sumbu x, sumbu y, atau bahkan sumbu z (jika pada
objek 2 dimensi maka yang berpindah adalah sumbu x dan y saja). Fungsi
yang digunakan untuk melakukan translasi adalah :
translate(x_trans, y_trans);

nilai x_trans dan y_trans merupakan perpindahan yang dilakukan pada objek
yang ditranslasikan. Titik x_trans merupakan perpindahan yang terjadi pada
sumbu x dari titik awal. Sedangkan y_trans merupakan perpindahan yang
terjadi pada sumbu y dari titik awal. Suatu translasi pada akhirnya akan
menghasilkan titik x’ dan y’, dimana titik x’ dan y’ tersebut merupakan titik
setelah objek ditranslasi dari titik awal. Secara matematis, nilai x’ dan y’
dapat dihitung dengan menggunakan rumus:
x ’ = x_awal + x_trans
y ‘ = y_awal + y_trans

Perhatikan contoh berikut!


Contoh 1, Translasi Objek Persegi Panjang;
import java.awt.*;
import javax.swing.*;
publicclass Contoh1 extends JPanel
{
publicvoid paintComponent (Graphics g)
{
super.paintComponent(g);
Graphics2D g2d =(Graphics2D) g;

111
//Gambar bujur sangkar
g2d.setColor(Color.BLUE);
g2d.fillRect(10,100,120,130);
g2d.drawRect(10,100,120,130);
g2d.drawString("Objek Sebelum Translasi",10,250);
g2d.translate(200,100);//method untuk translasi
g2d.fillRect(150,100,120,130);
g2d.drawString("Objek Setelah Ditranslasi",150,250);
}

publicstaticvoid main(String[] args){


JFrame frame =new JFrame("Transformasi Objek 2 Dimensi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Contoh1());
frame.setSize(600,420);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

Jika kode diatas dikompilasi, maka output-nya adalah

Gambar 5. 1 Translasi objek Persegi

3. Rotasi Objek
Rotasi merupakan bentuk transformasi yang digunakan untuk memutar
posisisuatu benda terhadap suatu titik kordinat. Fungsi yang digunakan
untuk melakukan rotasi ialah :
rotate(derajat_rotasi)
Parameter derajat_rotasi yang dimasukkan pada fungsi rotate memiliki
2 macam perbedaan, jika parameter derajat_rotasi bernilai postif, maka

112
objek akan diputar berlawanan arah jarum jam. Sedangkan jika parameter
derajat_rotasi bernilai negatif, maka objek akan diputar searah jarum jam.

Perhatikan contoh berikut!


Contoh 2, Rotasi Objek Persegi Panjang;
package contoh2;

import java.awt.*;
import javax.swing.*;
publicclass Contoh2 extends JPanel
{
publicvoid paintComponent (Graphics g)
{
super.paintComponent(g);
Graphics2D g2d =(Graphics2D) g;

//Gambar bujur sangkar


g2d.setColor(Color.BLUE);
g2d.fillRect(10,100,140,90);
g2d.drawRect(10,100,140,90);
g2d.drawString("Objek Tanpa Rotasi",10,250);
g2d.translate(450,100);
g2d.rotate(45);//method untuk rotasi
g2d.fillRect(10,100,140,90);
g2d.drawString("Objek Rotasi Positif",10,250);
g2d.translate(30,100);
g2d.rotate(-90);//method untuk rotasi
g2d.fillRect(10,100,140,90);
g2d.drawString("Objek Rotasi Minus",10,250);
}

publicstaticvoid main(String[] args){


JFrame frame =new JFrame("Transformasi Objek 2 Dimensi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Contoh2());
frame.setSize(700,420);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

Jika kode diatas dikompilasi, maka output-nya adalah

113
Gambar 5. 2 Rotasi objek Persegi

4. Pengubahan Skala Objek/Scalling Object


Penskalaan/Scalling merupakan bentuk transformasi yang dapat
mengubah ukuran (besar maupun kecilnya) suatu objek. Fungsi yang
digunakan untuk melakukan rotasi ialah :
scale(x,y)

Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik


atau atau vertex pada objek dengan faktor skala pada masing-masing
sumbu (x dan y). Sebgai contoh untuk memperkecil objek maka dapat
menuliskan scale(0.5,0.5), maka otomatis objek akan berukuran lebih kecil
karena kordinatnya dikalikan 0.5 akan menghasilkan ukuran lebih kecil
(berukuran setengah dari objek awal).

Perhatikan contoh berikut!


Contoh 3, ScallingObjek Persegi Panjang;
import java.awt.*;
import javax.swing.*;
publicclass Contoh3 extends JPanel
{
publicvoid paintComponent (Graphics g)
{
super.paintComponent(g);
Graphics2D g2d =(Graphics2D) g;

//Gambar bujur sangkar


g2d.setColor(Color.BLUE);
g2d.fillRect(10,100,140,90);

114
g2d.drawRect(10,100,140,90);
g2d.drawString("Objek Tanpa Scalling",10,250);
g2d.translate(200,100);
g2d.scale(0.5,0.5);//fungsi skala
g2d.fillRect(10,100,140,90);
g2d.drawString("Scalling Lebih Kecil",10,250);
g2d.translate(150,10);
g2d.scale(3.5,3.5);
g2d.fillRect(10,100,140,90);
g2d.drawString("Scalling Lebih Besar",10,250);
}

publicstaticvoid main(String[] args){


JFrame frame =new JFrame("Transformasi Objek 2 Dimensi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Contoh3());
frame.setSize(600,600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

Jika kode diatas dikompilasi, maka output-nya adalah

Gambar 5. 3 Scalling objek Persegi

5. Animasi Objek
Animasi merupakan teknik untuk membuat objek seolah-olah bergerak
menjadi satu kesatuan utuh. Dalam bahasa JAVA, animasi dapat dilakukan
dengan cara melakukan perulangan sebanyak n kali dengan frekuensi

115
kemunculan pada rentang waktu tertentu. Terdapat beberapa contoh
animasi yang dapat dibuat pada bahasa JAVA, yaitu animasi teks berjalan,
animasi gambar, animasi objek bergerak (*.gif), dan yang lainnya. Berikut ini
contoh pembuatan animasi dengan teknik perulangan untuk menampilkan
tulisan “ALQODRI” dengan waktu delay 1 detik (1000ms).

Contoh 1. Membuat Animasi Teks


package tugas2;

// animasi sederhana

// modfikasi dari Tips & Trik IlmuKomputer.Com (2005)


import java.awt.*;
import java.awt.event.*;
publicclass animasiSederhana extends Frame implements
Runnable {
Thread animation;
// Mengatur waktu delay
int frameDelay =1000;//1000 ms = 1 detik
// Tulisan yang akan ditampilkan
String
frames[]={"A","AL","ALQ","ALQO","ALQOD","ALQODR","ALQODRI"};
// Menentukan variabel yang diperlukan
int numFrames = frames.length;
int currentFrame =0;
long lastDisplay =0;
int screenWidth =300;//lebar layar
int screenHeight =100;//tinggi layar
publicstaticvoid main(String args[]){
animasiSederhana app =new animasiSederhana();
}
public animasiSederhana(){
super("Animasi Sederhana");
setup();
setSize(screenWidth,screenHeight);
addWindowListener(new WindowEventHandler());
show();
animation =new Thread(this);
animation.start();
}
void setup(){
setFont(new Font("default",Font.BOLD,30));//mengatur
font
}
publicvoid paint(Graphics g){
g.drawString(frames[currentFrame],60,60);//membuat
frame
}
publicvoid run(){

116
// membuat animasi (perulangan)
do{
long time = System.currentTimeMillis();
if(time - lastDisplay > frameDelay){
repaint();
try{
Thread.sleep(frameDelay);//berhenti selama
frameDelay=100
}catch(InterruptedException ex){
}
++currentFrame;
currentFrame %= numFrames;
lastDisplay = time;
}
}while(true);
}
class MenuItemHandler implements ActionListener,
ItemListener {
publicvoid actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
if(s=="Exit"){
System.exit(0);
}
}
publicvoid itemStateChanged(ItemEvent e){
}
}
//Kelas yang digunakan agar tombol close pada frame bisa
berfungsi
class WindowEventHandler extends WindowAdapter {
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
}
}

Output Membuat Animasi Teks

Gambar 5. 4 tampilan hasil running program

Selain menggunakan teknik perulangan, terdapat pula pendekatan


dengan menggunakan Thread. Thread merupakan suatu metode untuk
memproses suatu proses program dengan cara mengakses suatu modul
program yang dieksekusi secara urut ataupun bersamaan. Penggunaan
Thread dalam memungkinkan seorang pembuat program dapat melakukan

117
animasi pada JAVA dengan langsung menentukan proses apa yang
dilakukan program dan berapa lama waktu tunggu menuju proses tersebut
(delay).

Contoh 2. Membuat Animasi Teks dengan Thread


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package gambarjava;

/**
*
* diperoleh dari
http://javalfi.blogspot.co.id/2012/10/membuat-animasi-gambar-
gerak.html;
*/
import java.awt.*;
import java.util.logging.Level;
import java.util.logging.Logger;

publicclass gambarJava extends Panel{

//atap rumah
int x[]=newint[]{90,150,210};//x1,x2,x3
int y[]=newint[]{260,200,260};//y1,y2,y3

//jalan
int a[]=newint[]{584,240,413,584};//x1,x2,x3,x4
int b[]=newint[]{200,460,460,320};//y1,y2,y3,y4

//garis jalan atas


int e[]=newint[]{537,563,573,547};//x1,x2,x3,x4
int f[]=newint[]{280,260,260,280};//y1,y2,y3,y4

//garis jalan tengah


int c[]=newint[]{442,468,478,452};//x1,x2,x3,x4
int d[]=newint[]{360,340,340,360};//y1,y2,y3,y4

//garis jalan bawah


int g[]=newint[]{337,363,373,347};//x1,x2,x3,x4
int h[]=newint[]{450,430,430,450};//y1,y2,y3,y4

public gambarJava(){//constructor
setBackground(new Color(207,245,243));//setBackground
dengan set warna secara manual
}

publicvoid paint(Graphics k){//method paint

//rumput tanah
k.setColor(new Color(130,235,24));//setColor secara
manual

118
k.fillRect(0,200,584,262);

//matahari
k.setColor(Color.yellow);//setColor menjadi warna
kuning
k.fillOval(430,50,80,80);/**
* x,y maksudnya 80,80 adalah lebar bulatannya, sama
karena membentuk lingkaran sempurna
*/

/** membuat gambar gerak */


Thread t =new Thread();//Sebuah thread merupakan
sebuah pengontrol aliran program
for(int i=1; i<=70;i++){
k.setColor(new Color(207,245,243));//setColor
dengan warna yang sama dengan warna langit
k.fillRect(0,0,300,200);//buat fillRect untuk
menimpa gambar awan yang bergerak
//awan
k.setColor(new Color(96,213,207));//setColor
secara manual
k.fillOval(120+i,60,70,40);//x,y maksudnya
70,40 adalah agar bentuknya tidak bulat sempurna(ouval)
k.fillOval(140+i,70,70,40);//x+i maksudnya
agar fillOval bergerak ke arah kanan
k.fillOval(100+i,70,70,40);
k.fillOval(160+i,60,70,40);
k.fillOval(60+i,70,70,40);
k.fillOval(80+i,50,70,40);
if(i ==70){//jika i sudah mencapai titik 70
i =1;//maka i akan kembali ke titik 1
atau awan kembali ke titik semula
}
try{//tambahkan blok try-catch
t.sleep(50);//sleep digunakan untuk mengatur
kecepatan gerak. Harus menggunakan blok try-catch
}catch(InterruptedException ex){

Logger.getLogger(gambarJava.class.getName()).log(Level.SEVERE
, null, ex);
}

//atap rumah
k.setColor(new Color(177,115,29));//setColor secara
manual
k.fillPolygon(x, y,3);//membuat fillPolygon dengan
jumlah titiknya 3, mengambil array dari x[] dan y[]

//cahaya matahari
k.setColor(new Color(245,135,14));//setColor secara
manual
k.drawLine(430,90,380,90);//garis kiri
k.drawLine(440,60,380,30);//garis kiri atas
k.drawLine(440,120,380,150);//garis kiri bawah
k.drawLine(560,90,510,90);//garis kanan
k.drawLine(560,30,500,60);//garis kanan atas

119
k.drawLine(560,150,500,120);//garis kanan bawah
k.drawLine(470,10,470,50);//garis atas
k.drawLine(470,130,470,170);//garis bawah

//dinding
k.setColor(new Color(67,177,114));//setColor secara
manual
k.fillRect(100,260,100,200);//titik koordinat x,y
lalu lebarnya,tingginya

//pintu
k.setColor(new Color(252,176,63));//setColor secara
manual
k.fillRect(150,370,50,90);//titik koordinat x,y lalu
lebarnya,tingginya

//gagang pintu
k.setColor(new Color(92,86,39));//setColor secara
manual
k.fillOval(185,415,10,10);//menentukan titik
koordinat x,y lalu lebar dan tinggi bulatan

//jalan
k.setColor(new Color(97,111,96));//setColor secara
manual
k.fillPolygon(a, b,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari a[] dan b[]

//garis jalan
k.setColor(new Color(255,255,255));//setColor secara
manual
k.fillPolygon(c, d,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari c[] dan d[]
k.fillPolygon(e, f,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari e[] dan f[]
k.fillPolygon(g, h,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari g[] dan h[]

}
}

publicstaticvoid main(String[] args){


Frame f1 =new Frame();//instansiasi class Frame
gambarJava H =new gambarJava();//instansiasi class
gambarJava
f1.add(H);
f1.setSize(600,500);//setSize window
f1.setVisible(true);//setVisible menjadi true agar
window dapat tampil
}

120
Output Membuat Animasi Teks

Gambar 5. 5 tampilan hasil running animasi program

D. Aktivitas Pembelajaran
17. Buat Kelas Java dengan nama Latihan8.java
18. Import beberapa komponen library yang diperlukan
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import java.util.Random;

19. Buat method paint dengan isi berupa garis yang memiliki waktu
delay. Tuliskan Source Code berikut untuk membuat objek pada
method paint
G.setColor(Color.black);//warna jam
int Panjang;
if(getWidth()<getHeight())Panjang=getWidth()-100;
else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-
Panjang/2,Panjang,Panjang);
float
Detik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISE
COND)/1000;
G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Pa
njang/2)),(int)(PY+(-
1*Math.cos(2*Math.PI*Detik/60)*Panjang/2)));

121
20. Secara garis besar, isi kelas Latihan8.java adalah sebagai berikut:
package latihan8;

import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import java.util.Random;
publicclass Latihan8 extends Frame {

privateint PX,PY,xorR,xorG,xorB;

Random Rdm;
public Latihan8(){
super("Waktu Detik");
setLayout(new FlowLayout());
setSize(800,600);
addWindowListener(new WindowListener(){
publicvoid windowActivated(WindowEvent e){}
publicvoid windowClosed(WindowEvent e){}
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
publicvoid windowDeactivated(WindowEvent e){}
publicvoid windowDeiconified(WindowEvent e){}
publicvoid windowIconified(WindowEvent e){}
publicvoid windowOpened(WindowEvent e){}
});

Rdm=new java.util.Random();
setBackground(Color.white);
new javax.swing.Timer(1000,new ActionListener(){//mengatur
kecepatan detik 1 detik 1000 ms
publicvoid actionPerformed(ActionEvent ev){
repaint();
PX=getWidth()/2;
PY=getHeight()/2;
xorR=Rdm.nextInt(255);
xorG=Rdm.nextInt(255);
xorB=Rdm.nextInt(255);
}
}).start();
}
publicstaticvoid main(String[]a){
new Latihan8().setVisible(true);
}
publicvoid paint(Graphics G){

G.setColor(Color.black);//warna jam
int Panjang;
if(getWidth()<getHeight())Panjang=getWidth()-100;
else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);
float
Detik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND

122
)/1000;

G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjan
g/2)),(int)(PY+(-1*Math.cos(2*Math.PI*Detik/60)*Panjang/2)));

}
privateint Waktu(int Jenis){
return Calendar.getInstance().get(Jenis);
}
}

21. Melihat jalannya program

Gambar 5. 6 Jalannya program detik

E. Latihan/Kasus /Tugas
Buatlah suatu objek jam analog yang mampu beroperasi selayaknya
jam analog yang ditempelkan pada jam-jam dinding. Jam tersebut
harus mampu melakukan rotasi jarum 1 detik dan jika mencapai 60
detik maka jarum menit akan bergerak (selayaknya jam analog).
Interval dari jam tersebut harus sesuai dengan interval detik pada jam
analog seperti biasanya.

Contoh Tampilan Program

123
Gambar 5. 7 Jalannya program jam

F. Rangkuman
Transformasi adalah perubahan yang terjadi pada objek gambar yang
telah dibuat pada suatu frame. Perubahan tersebut dibagi menjadi 3 macam,
yaitu translasi, rotasi dan skala (scalling). Translasi adalah suatu perubahan
posisi (perspektif vertex x atau y) yang terjadi pada objek yang dibuat.
Method yang digunakan untuk melakukan translasi adalah method
translate(x,y). Rotasi adalah suatu perubahan posisi berupa berputarnya
suatu objek dengan 1 titik inti sebesar beberapa derajat. Method yang
digunakan untuk melakukan rotasi adalah rotate(x). Skala (scalling) adalah
suatu perubahan ukuran yang terjadi pada objek yang telah dibuat,
perubahan tersebut berupa perubahan lebih kecil ataupun perubahan
menjadi lebih besar. Method yang digunakan untuk scalling adalah
scale(x,y). Untuk mengimplementasikan transformasi tersebut, dalam
bahasa JAVA dapat melakukan modifikasi terhadap method paint() yang
telah mendeklarasikan pada objek yang dibuat.
Animasi pada bahasa JAVA dapat dilakukan dengan 2 metode,
perulangan dan menggunakan Thread. Secara umum, untuk membuat
animasi melalui kedua metode tersebut, harus menampilkan delay time
(dalam satuan miliseconds). Thread merupakan suatu metode untuk
memproses suatu proses program dengan cara mengakses suatu modul
program yang dieksekusi secara urut ataupun bersamaan. Penggunaan
Thread dalam memungkinkan seorang pembuat program dapat melakukan

124
animasi pada JAVA dengan langsung menentukan proses apa yang
dilakukan program dan berapa lama waktu tunggu menuju proses tersebut
(delay).

G.Umpan Balik dan Tindak Lanjut


1. Apakah saudara sudah mampu memberikan aksi rotasi pada gambar
yang dibuat dari kelas Graphicdan berapa prosen tingkat pencapaian
kompetensinya?
2. Apakah saudara sudah mampu memberikan aksi translasi pada gambar
yang dibuat dari kelas Graphicdan berapa prosen tingkat pencapaian
kompetensinya?
3. Apakah saudara sudah mampu memberikan pengubahan skala pada
gambar yang dibuat dari kelas Graphicdan berapa prosen tingkat
pencapaian kompetensinya?

H. Kunci Jawaban
1. Source Code Program
package tugas3_jamanalog;

import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import java.util.Random;
publicclass Tugas3_JamAnalog extends Frame {
privateint PusatX,PusatY,xorR,xorG,xorB;
Random Rdm;
public Tugas3_JamAnalog(){
super("Jam");
setLayout(new FlowLayout());
setSize(800,600);
addWindowListener(new WindowListener(){
publicvoid windowActivated(WindowEvent e){}
publicvoid windowClosed(WindowEvent e){}
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
publicvoid windowDeactivated(WindowEvent e){}
publicvoid windowDeiconified(WindowEvent e){}
publicvoid windowIconified(WindowEvent e){}
publicvoid windowOpened(WindowEvent e){}
});
Rdm=new java.util.Random();
setBackground(Color.white);

125
new javax.swing.Timer(1000,new ActionListener(){//mengatur
kecepatan detik 1 detik 1000 ms
publicvoid actionPerformed(ActionEvent ev){
repaint();
PusatX=getWidth()/2;
PusatY=getHeight()/2;
xorR=Rdm.nextInt(255);
xorG=Rdm.nextInt(255);
xorB=Rdm.nextInt(255);
}
}).start();
}
publicstaticvoid main(String[]a){
new Tugas3_JamAnalog().setVisible(true);
}
publicvoid paint(Graphics G){

G.setColor(Color.black);//warna jam
int pjg;
if(getWidth()<getHeight())pjg=getWidth()-100;
else pjg=getHeight()-100;
G.drawOval(PusatX-pjg/2,PusatY-pjg/2,pjg,pjg);

for(int I=1;I<=12;I++){

G.fillOval((int)(PusatX+Math.sin(30*Math.PI*I/180)*pjg/2),(int)
(PusatY+Math.cos(30*Math.PI*I/180)*-1*pjg/2),5,5);

G.drawString(""+I,(int)(PusatX+Math.sin(30*Math.PI*I/180)*pjg/2
.2),(int)(PusatY+Math.cos(30*Math.PI*I/180)*-1*pjg/2.2));
}

float
Detik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND)
/1000;

G.drawLine(PusatX,PusatY,(int)(PusatX+(Math.sin(2*Math.PI*Detik
/60)*pjg/2)),(int)(PusatY+(-
1*Math.cos(2*Math.PI*Detik/60)*pjg/2)));

float Menit=Waktu(Calendar.MINUTE)+(float)Detik/60;

G.drawLine(PusatX,PusatY,(int)(PusatX+(Math.sin(2*Math.PI*Menit
/60)*pjg/2.1)),(int)(PusatY+(-
1*Math.cos(2*Math.PI*Menit/60)*pjg/2.1)));

float Jam=Waktu(Calendar.HOUR)+(float)Menit/60;

G.drawLine(PusatX,PusatY,(int)(PusatX+(Math.sin(2*Math.PI*Jam/1
2)*pjg/2.3)),(int)(PusatY+(-
1*Math.cos(2*Math.PI*Jam/12)*pjg/2.3)));

G.fillOval(PusatX-5,PusatY-5,10,10);
}

126
privateint Waktu(int Jenis){
return Calendar.getInstance().get(Jenis);//mengambil nilai jam
di komputer
}
}

2. Tampilan Output Program

Gambar 5. 8 Hasil kompilasi program

127
EVALUASI

1.

Source codedi atas adalah source code untuk layout tipe Grid
Layout.Berapakah ukuran kolom dari frame yang diatur oleh Grid
Layouttersebut?
a. 2
b. 3
c. 4
d. 5

2.
Perhatikan potongan source code di atas. Apakah yang terjadi jika pada
Check Box 2 juga bernilai true?
a. Kedua check box akan terpilih
b. Error saat kompilasi program
c. Hanya check box 2 yang terpilih
d. Hanya Check box 1 yang terpilih

3.

Perhatikan potongan source code di atas. Apakah yang terjadi jika pada
Check Box 2 dan 3 juga bernilai true?
a. Kedua check box akan terpilih
b. Error saat kompilasi program
c. Hanya check box 2 yang terpilih
d. Hanya Check box 3 yang terpilih

128
4. Tahap ke 4 dalam membangun koneksi database berbasis JDBC adalah
a. Connection
b. Driver
c. Result Set
d. Statement

5. Tahap ke 2 dalam membangun koneksi database berbasis JDBC adalah


a. Connection
b. Driver
c. Result Set
d. Statement

6. Input tombol Del pada Keyboard dapat diterima dengan fungsi …


a. KeyTyped(…)
b. KeyPressed(…)
c. MouseClicked(…)
d. MouseEntered(…)

7. Input tombol Alt pada Keyboard dapat diterima dengan fungsi …


a. KeyTyped(…)
b. KeyPressed(…)
c. MouseClicked(…)
d. MouseEntered(…)

8. Tuliskan SQL code yang mampu melakukan insert data pada database dari
hasil input yang diberikan pada JTextField1 yang diberi nama variabel nama
dan JTextField2 yang diberi nama variabel nisn
a. string s = “INSERT INTO data_siswa
VALUES(‘”+this.nama+”’,’”+this.nisn+”’)”;
b. String s = “INSERT INTO data_siswa
VALUES(‘”+this.nama+”’,’”+this.nisn+”)”;
c. String s = “INSERT INTO data_siswa
VALUES(”+this.nama+”,”+this.nisn+”)”;
d. String s = “INSERT INTO data_siswa
VALUES(‘”+this.nama+”’,’”+this.nisn+”’)”;

129
9.
Periksalah code di atas. Analisis yang tepat jika code tersebut dijalankan
adalah
a. Ukuran button kiri dan kanan akan berukuran sama
b. tampilan hgap dan vgap berukuran sama
c. Akan menampilkan frame dengan layout Atas, Bawah, Kiri, Kanan dan
Tengah
d. Jika dikompilasi, maka program akan menampilkan Compile Error

10.

Periksalah method paint di atas. Analisis yang tepat jika code tersebut
dijalankan adalah
a. Menampilkan kurva dengan titik balik di kanan atas
b. Menampilkan kurva dengan titik balik di kiri atas
c. Menampilkan kurva dengan titik balik di kiri bawah
d. Menampilkan kurva dengan titik balik di kanan bawah

11.

Bagaimanakah alur dari method paint di atas ?


a. Jika method diatas dipanggil, maka akan menampilkan suatu objek oval
dengan lebar w = 200 pixel dan tinggi h = 150 pixel

130
b. Jika method di atas dipanggil, maka akan menampilkan suatu objek oval
dengan tinggi h = 200 pixel dan lebar w = 150 pixel
c. Jika method di atas dipanggil, maka akan menampilkan suatu objek oval
dengan tinggi x = 150 pixel dan lebar y = 200 pixel
d. Jika method di atas dipanggil, maka akan menampilkan suatu objek oval
nilai y = 200 pixel dan x = 150 pixel

12.

Code yang dapat menghasilkan tampilan gradient seperti gambar di atas


adalah
a.
GradientPaint gp4 = new GradientPaint(25, 25,
Color.blue, 15, 25, Color.black, true);
b.
GradientPaint gp4 = new GradientPaint(25, 25,
Color.blue, 15, 25, Color.blue, true);

c.
GradientPaint gp4 = new GradientPaint(25, 25,
Color.black, 15, 25, Color.blue, true);

d.
GradientPaint gp4 = new GradientPaint(25, 25,
Color.black, 15, 25, Color.black, true);

13. Code yang mampu menghasilkan tampilan seperti gambar berikut adalah

a.
@Override
public void paint(Graphics g) {

131
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
arc.setFrame(70, 200, 150, 150);
arc.setAngleStart(0);
arc.setAngleExtent(145);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.gray);
g2.draw(arc);
g2.setColor(Color.red);
g2.fill(arc);
b.
@Override
public void paint(Graphics g) {
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
arc.setFrame(70, 200, 150, 150);
arc.setAngleStart(0);
arc.setAngleExtent(0);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.gray);
g2.draw(arc);
g2.setColor(Color.red);
g2.fill(arc);

c.
@Override
public void paint(Graphics g) {
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
arc.setFrame(70, 200, 150, 150);
arc.setAngleStart(145);
arc.setAngleExtent(0);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.gray);
g2.draw(arc);
g2.setColor(Color.red);
g2.fill(arc);

d.

132
@Override
public void paint(Graphics g) {
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
arc.setFrame(70, 200, 150, 150);
arc.setAngleStart(145);
arc.setAngleExtent(145);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.gray);
g2.draw(arc);
g2.setColor(Color.red);
g2.fill(arc);

14.
Code yang dapat menghasilkan tampilan gradient seperti gambar di atas
adalah
a.
GradientPaint gp1 = new GradientPaint(5, 5,
Color.red, 20, 20, Color.black, true);
b.
GradientPaint gp1 = new GradientPaint(5, 5,
Color.black, 20, 20, Color.red, true);

c.
GradientPaint gp1 = new GradientPaint(20, 20,
Color.red, 5, 5, Color.bclk, true);

d.
GradientPaint gp1 = new GradientPaint(5, 5,
Color.red, 20, 20, Color.black, not false);

15. Code yang mampu menghasilkan tampilan persegi seperti gambar berikut
adalah

133
a.
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

class MyCanvas extends JComponent {

publicvoid paint(Graphics g) {
g.drawRect (10, 10, 200, 200);
}
}

publicclass DrawRect {
publicstaticvoid main(String[] a) {
JFrame window = new JFrame();

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}
b.
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

class MyCanvas extends JComponent {

publicvoid paint(Graphics g) {
g.drawRect (200, 10, 100, 200);
}
}

publicclass DrawRect {
publicstaticvoid main(String[] a) {
JFrame window = new JFrame();

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}

134
c.
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

class MyCanvas extends JComponent {

publicvoid paint(Graphics g) {
g.drawRect (10, 10, 200, 150);
}
}

publicclass DrawRect {
publicstaticvoid main(String[] a) {
JFrame window = new JFrame();

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}

d.
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

class MyCanvas extends JComponent {

publicvoid paint(Graphics g) {
g.drawRect (10, 10, 150, 510);
}
}

publicclass DrawRect {
publicstaticvoid main(String[] a) {
JFrame window = new JFrame();

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}

135
KUNCI JAWABAN

1. B
2. C
3. D
4. C
5. A
6. B
7. B
8. D
9. D
10. B
11. A
12. A
13. A
14. A
15. A

136
137
DAFTAR PUSTAKA

___. 2012. Custom Graphics, (online).


(https://www3.ntu.edu.sg/home/ehchua/programming/java/J4b_CustomGra
phics.html), diakses pada 20 Oktober 2015

___. 2012. Java Game Programming 2D Graphics, Java2D and Images,


(online).(http://www3.ntu.edu.sg/home/ehchua/programming/java/j8b_game
_2dgraphics.html), diakses pada 20 Oktober 2015

___. 2012. Menampilkan Data ke JTable, (online).


(http://tutorialjavanetbeansmysql.blogspot.co.id/2012/03/menampilkan-
data-dalam-jtable-tetetete.html), diakses pada 25 Oktober 2015

___. 2012. Mengenal Action atau Event Listener pada Java, (online).
(http://tutorialjavanetbeansmysql.blogspot.co.id/2012/06/mengenal-action-
atau-event-listener.html), diakses pada 25 Oktober 2015

___. 2012. Mengenal Lebih Jauh Event Di Java, (online).


(http://tutorialjavanetbeansmysql.blogspot.co.id/2012/06/mengenal-lebih-
jauh-event-di-java.html), diakses pada 25 Oktober 2015

____.. What is the Difference Between Precision and Scale in Oracle, (online).
(http://stackoverflow.com/questions/5689369/what-is-the-difference-
between-precision-and-scale-in-oracle), diakses pada 20 Oktober 2015

____.2012. Membuat Animasi Gambar Bergerak, (online)


(http://javalfi.blogspot.co.id/2012/10/membuat-animasi-gambar-gerak.html),
diakses pada 10 Oktober 2015

Akakom. 2009. Panduan Praktikum PBO 2 Manajemen Informatioa 2009,


(online).(http://ns.akakom.ac.id/~kurikulum2009/lokakarya%20%20pandua
n%20prakitkum_19-
21Jan2010/Panduan%20Praktikum%202009_1/PBO2_MI/), diakses 26
Oktober 2015

Ardie. 2014. Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB,


(online).(http://jagocoding.com/tutorial/468/Tutorial_Java_Desktop_2_Mela
kukan_Koneksi_ke_Database_JavaDB), diakses pada 10 Oktober 2015

Bima, Ifnu. ____. Jawa Swing, (online). (https://project-


template.googlecode.com/files/swing-excerpt.pdf), diakses pada 12
Oktober 2015

Bodnar. ____. Transformations, (online),


(http://zetcode.com/gfx/java2d/transformations/), diakses pada 10 Oktober
2015

138
Bodnar.___. Painting in Swing, (online),
(http://zetcode.com/gfx/java2d/transformations/), diakses pada 15 Oktober
2015

Bodnar.___. Painting in Swing, (online),


(http://zetcode.com/tutorials/javaswingtutorial/painting/), diakses pada 15
Oktober 2015

Bodnar.___. Text and Fonts, (online), (http://zetcode.com/gfx/java2d/textfonts/),


diakses pada 15 Oktober 2015

_____.2012. DATABASE & PEMBUATAN LAPORAN, (online).


(http://dokumen.tips/documents/bahasa-pemrograman3-java-gui-
database.html), diakses pada 12 Oktober 2015

Edik. 2009. Setting JDBC Untuk Oracle 10g Express Edition, (online).
(khannedy.com/2009/03/08/setting-jdbc-untuk-oracle-10g-express-edition-
di-netbeans-2/), diakses pada 15 Oktober 2015

Diana. ___. MIDLet, (online).


(http://sendy_diana.staff.gunadarma.ac.id/Downloads/files/26548/PENGEN
ALAN+JAVA+BAB+8.doc), diakses pada 23 Oktober 2015

Gata, W. 2005. GUI, ERROR EXCEPTION, THREAD, I/O (INPUT/OUTPUT),


(online).
(http://dokumen.tips/documents/bahasa-pemrograman3-java-gui-
database.html), diakses pada 23 Oktober 2015

Java Tutorial.___. Draw Rectangle, (online).


(http://www.java2s.com/Tutorial/Java/0261__2D-
Graphics/0360__Rectangle.htm), diakses pada 15 Oktober 2015

Jayadi, P. 2014. CRUD dengan Java, (online).


(http://puguhjayadi.blogspot.co.id/2014/10/crud-dengan-java-dan-
oracle.html), diakses pada 14 Oktober 2015

Kukuh. 2014. Tugas Praktikum Simbada Oracle Dan Netbeans, (online).


(http://kukuhbonanza.blogspot.co.id/2014/02/tugas-praktikum-simbada-
oracle-dan.html), diakses pada 10 Oktober 2015

Kustiawan, R. 2011. Swing, (online).


(https://ratnokustiawan.files.wordpress.com/2011/03/swing.pdf), diakses 25
September 2015

Michael, Ben. 2014. Making a simple Java Calculator in Netbeans 7.4, (online).
(http://www.howsto.com/ken-michael/making-a-simple-java-calculator-in-
netbeans-7-4), diakses pada 20 Oktober 2015

139
Oracle Document. 2015. Graphics (Java Platform SE 7 b99), (online)
(http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html), diakses
pada 10 Oktober 2015

Putra, Ondra. 2015. Dasar-dasar JAVA GUI - SWING - Event handling-


Netbeans, (online). (http://uniqosmart.blogspot.co.id/2015/04/dasar-dasar-
java-gui-swing-event.html), diakses 15 Oktober 2015

____. 2014. Transformasi 2D, (online).(pdf.nscpolteksby.ac.id/2-


Transformasi%202D-20140317.pdf), diakses 15 Oktober 2015

Renitha. 2013. Transformasi Objek, (online).


(http://pendtiumrenitha.blogspot.co.id/2013/04/transformasi-
objek.html#sthash.dQ8Hfhl2.dpuf), diakses pada 12 Oktober 2015

Rohim, Abdul. 2013. Program Kalkulator Sederhana Menggunakan Java


Netbeans, (online). (http://www.dendicious.com/2013/11/program-
kalkulator-sederhana.html), diakses pada 12 Oktober 2015

JENI Center.AWT Swing, (online). (http://www.dendicious.com/2013/11/program-


kalkulator-sederhana.html), diakses pada 13 Oktober 2015

TutorialsPoint.___. AWT Quick Guide, (online).


(http://www.tutorialspoint.com/awt/awt_quick_guide.htm), diakses pada 27
September 2015

140
141
GLOSARIUM

Istilah Deskripsi
Abstract Windowing Suatu model pengembangan bahasa JAVA
Toolkit (AWT) native, dimana kode program masih bersifat
primitif
ActionListener Bereaksi atas perubahan mouse atau atau
keyboard. Method pada event listener ini adalah
actionperformed(actionevent).
BorderLayout Model layout membagi kontainer menjadi lima
bagian diantaranya utara, selatan, timur,
barat, dan tengah
Class AWTEvent Akar dari semua awtbased events
Class Color kelas yang dapat memberikan warna terhadap
objek gambar/tulisan yang terdapat pada Frame
Class Font merupakan kelas yang dapat menampilkan
tulisan pada frame dengan warna-warna
tertentu
Connection langkah kedua setelah langkah inisialisasi
Driver untuk melakukan koneksi database
Create/Insert Untuk menambahkan record pada database
Database suatu struktur penyimpanan data, dimana
tujuan penyimpanan tersebut akan mengolah
suatu data seperti melakukan insert database,
update database, read database dan delete
database

Delegation of Event Mekanisme event handling tentang bagaimana


Model program merespon input user
Delete Berkaitan dengan operasi untuk menghapus
suatu record dalam database
Drag and Drop Suatu metode pengembangan komponen GUI
dengan cara drag kemudian drop komponen ke
frame yang dikehendaki
drawLine() Method untuk membuat objek garis
drawLine() Method untuk membuat objek garis
Driver suatu driver yang menjadi identitas koneksi
database yang dilakukan
Event Kejadian yang mucul ketika seorang user
berinteraksi dengan suatu aplikasi
Event listeners Berita dari event-event dan proses-proses
interaksi user

142
Istilah Deskripsi
Event handling Suatu proses penanganan interaksi yang
diberikan pada aplikasi, dimana penanganan
tersebut berupa pemberian respon terhadap
input yang ada
Event Object Event yang ditampilkan oleh object
Event Source Komponen GUI yang men-generate event
fillRect(int x, int y, Mengisi sesuatu pada bujur sangkar yang
int width, int height) dipilih
fillRect(int x, int y, Mengisi sesuatu pada bujur sangkar yang
int width, int height) dipilih
FlowLayout model layout yang cara peletakan komponennya
dimulai dari kiri ke kanan dan dari atas ke
bawah, dimulai dari pojok kiri atas
Focus Listener merupakan event listener dari FocusEvent,
pada interface ini terdapat 2 method :
a. focusGained(FocusEvent)
b. focusLast(FocusEvent)
Frame Turunan dari window class. Window dengan
judul, menubar, border dan pengatur ukuran
di pojok. Memiliki empat konstruktor , dua
diantaranya memiliki penulisan seperti dibawah
ini :
Graphics2D sub kelas dari kelas Graphics yang terdapat
pada bahasa JAVA
Graphics2D sub kelas dari kelas Graphics yang terdapat
pada bahasa JAVA
GridLayout Model layout yang membagi kontainer menjadi
baris dan kolom
Handling proses penanganan terhadap event yang terjadi
Istilah Deskripsi
JApplet Turunan dan korepondensi ke Applet class
dalam package AWT. Juga sedikit tidak cocok
dengan applet class dalam kaitannya dengan
menambahkan komponen pada container
JApplet Turunan dan korepondensi ke Applet class
dalam package AWT. Juga sedikit tidak cocok
dengan applet class dalam kaitannya dengan
menambahkan komponen pada container
Java Database suatu fungsi dalam java yang menghubungkan
Connectivity (JDBC) aplikasi yang dibangun dengan menggunakan
bahasa Java dengan database
JAVA GUI Model layout program JAVA yang menampilkan
layout dengan model grafik dengan
menampilkan beberapa komponen tidak hanya
text
Java.awt.Graphics Teknologi grafis yang mampu melakukan
rendering grafis dengan jenis teks, gambar
vektor dan gambar bitmap

143
Istilah Deskripsi
JButton Tombol “push”. Korespondesi pada button class
dalam package AWT
JCheckBox Item yang dapat dipilih atau tidak oleh
pengguna. Korespondensi pada
JColorChooser Turunan Jcomponent. Mengijinkan pengguna
untuk memilih warna
JComponent Kelas induk untuk semua komponen Swing,
tidak termasuk top-level container checkbox
class dalam package AWT
JDBC API Penyedia metode akses sederhana ke sumber
data relational (RDBMS) menggunakan
pemrograman Java
JDBC Driver Manager Defisikan object-object yang dapat digunakan
untuk melakukan koneksi ke sebuah sumber
data
JDBC TestSuite membantu untuk mencara driver mana yang
cocok digunakan untuk melakukan sebuah
koneksi ke sumber data tertentu
JDBC-ODBC Bridge Penyedia fasilitas JDBC untuk melakukan
koneksi ke sumber data menggunakan ODBC
(Open DataBase Connectivity) driver
JDialog Turunan dan korespondensi pada dialog class
dalam package AWT. Biasanya digunakan
untuk menginformasikan sesuatu kepada
pengguna atau prompt pengguna untuk input.
JDialog Turunan dan korespondensi pada dialog class
dalam package AWT. Biasanya digunakan
untuk menginformasikan sesuatu kepada
pengguna atau prompt pengguna untuk input.
JFileChooser Mengijinkan pengguna untuk memilih sebuah
file. Korespondensi pada cfilechooser class
dalam package AWT
JFileChooser Mengijinkan pengguna untuk memilih sebuah
file. Korespondensi pada cfilechooser class
dalam package AWT
JFrame Turunan dan korepondensi pada frame class
dalam package AWT tetapi keduanya sedikit
tidak cocok dalam kaitannya dengan
menambahkan komponen pada kontainer. Perlu
mendapatkan content pane yang terbaru
sebelum menambah sebuah komponen.
JFrame Turunan dan korepondensi pada frame class
dalam package AWT tetapi keduanya sedikit
tidak cocok dalam kaitannya dengan
menambahkan komponen pada kontainer. Perlu
mendapatkan content pane yang terbaru
sebelum menambah sebuah komponen.
JOptionPane Turunan Jcomponent. Disediakan untuk

144
Istilah Deskripsi
mempermudah menampilkan pop- up kotak
dialog.
JOptionPane Turunan Jcomponent. Disediakan untuk
mempermudah menampilkan pop- up kotak
dialog.
JPanel Turunan Jcomponent. Kontainer class
sederhana tetapi bukan top-level.
Korespondensi pada panel class dalam
package AWT.
JPanel Turunan Jcomponent. Kontainer class
sederhana tetapi bukan top-level.
Korespondensi pada panel class dalam
package AWT.
JTextField Mengijinkan untuk mengedit text satu baris.
Korespondensi pada textfield class dalam
package AWT.
JTextField Mengijinkan untuk mengedit text satu baris.
Korespondensi pada textfield class dalam
package AWT.
KeyListener Untuk memberikan reaksi terhadap interaksi
yang terdapat pada keyboard. Setidaknya
terdapat 3 method yang digunakan dalam
listener ini, yaitu:
a. keyPressed(KeyEvent)
b. keyReleased(KeyEvent)
c. keyTyped(KeyEvent)
Komponen Abstract Class untuk objek yang dapat
ditampilkan pada console dan berinteraksi
dengang user. Bagian utama dari semua kelas
AWT.
Kontainer Abstract Subclass dari Component Class.
Sebuah komponen yang dapat menampung
komponen yang lainnya.
Layout Suatu pengaturan tampilan pada Frame
MouseListener Bereaksi atas pergerakan mouse. Terdapat
setidaknya 5 method yang terdapat pada event
listerner ini:
a. mouseClicked(MouseEvent)
b. mousePressed(MouseEvent)
c. mouseReleased(MouseEvent)
d. mouseEntered(MouseEvent)
e. mouseExited(MouseEvent)
MouseMotionListener Untuk mendukung event MouseListener.
Interface Menyediakan method yang akan memantau
pergerakan mouse, seperti drag dan
pemindahan mouse. Method yang digunakan
oleh interface ini adalah
mouseDragged(MouseEvent)

145
Istilah Deskripsi
NetBeans Suatu tool untuk membuat program dengan
menggunakan bahasa pemrograman Java
berbasis grafis maupun teks
Panel Turunan dari Container Class. Sebuah frame
atau window tanpa titlebar, menubar tidak
termasuk border. Superclass dari applet class.
Read/View Menampilkan record database
ResultSet variabel hasil operasi query yang dijalankan
Rotasi Bentuk transformasi yang digunakan untuk
memutar posisisuatu benda terhadap suatu titik
kordinat
Scalling Bentuk transformasi yang dapat mengubah
ukuran (besar maupun kecilnya) suatu objek
Statement Kelas pada Java yang digunakan untuk
mengeksekusi suatu query
Swing Swing merupakan suatu cara untuk pembuatan
aplikasi yang berbasis GUI (Graphical User
Interface) di Java dengan pendekatan yang
lebih baru dan lebih bagus hasilnya
Thread Suatu metode untuk memproses suatu proses
program dengan cara mengakses suatu modul
program yang dieksekusi secara urut ataupun
bersamaan
Transformasi Suatu operasi memodifikasi bentuk objek tanpa
merusak bentuk dasar dari objek yang
ditransformasikan
Translasi Bentuk transformasi yang memindahkan posisi
suatu objek, baik pada sumbu x, sumbu y, atau
bahkan sumbu z (jika pada objek 2 dimensi
maka yang berpindah adalah sumbu x dan y
saja)
Update Memperbarui record dari database berdasarkan
kategori tertentu
Viewport Pemetaan tampilan layar sehingga objek dapat
terlihat pada titik kordinat tertentu
Window Turunan dari Container class. Top level
window, dimana berarti tidak bisa
dimasukkan dalam objek yang lainnya.Tidak
memiliki border dan menubar.
WindowListener Bereaksi atas perubahan window. Terdapat
setidaknya 4 method pada listener ini, yaitu:
a. windowClosing(WindowEvent)
b. windowOpened(WindowEvent)
c. windowActived(WindowEvent)
d. windowDeactived(WindowEvent)

146

Anda mungkin juga menyukai