Post on 06-Mar-2019
i
MODUL DIKLAT PKB GURU
PEDAGOGIK
GRADE 9
Penulis: Nasrah Natsir, S.Pd., M.Pd
LEMBAGA PENGEMBANGAN PEMBERDAYAAN PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN, PERIKANAN DAN TEKNOLOGI INFORMASI DAN KOMUNIKASI (LPPPTK KPTK)
NOVEMBER 2015
MODUL GURU PEMBELAJAR
PAKET KEAHLIAN
PEDAGOGIK
Kelompok Kompetensi D
Penulis : Dr. Syamsul Alam S.Pd., M.Pd
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan Kebudayaan Tahun 2016
ii
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.
iii
iv
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
v
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
vi
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
vii
viii
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
ix
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
x
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
xi
PENUTUP ......................................................................................................... 57
DAFTAR PUSTAKA ..................................................................................... 58
1
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
2
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
3
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.
4
5
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.
6
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).
7
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,
8
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.
9
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.
10
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.
11
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.
12
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?
13
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.
14
15
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.
16
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
17
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
18
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!
19
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.
20
21
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.
22
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
23
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.
24
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:
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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!
33
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?
34
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.
35
Komponen PAKEM adalah mengalami, komunikassi, interaaksi, dan
refleksi.
36
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,
37
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
38
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.
39
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
40
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?
41
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.
42
43
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
44
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.
45
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
46
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
47
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.
48
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
49
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
50
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.
51
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
52
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.
53
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)
54
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.
55
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.
56
57
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.
58
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.
i
MODULGURU PEMBELAJAR
Mata PelajaranReakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)
Kelompok Kompetensi D
Penulis: Joko PitonoDirektorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan KebudayaanTahun 2016
i
MODULGURU PEMBELAJAR
Mata PelajaranReakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)
Kelompok Kompetensi D
Penulis: Joko PitonoDirektorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan KebudayaanTahun 2016
i
MODULGURU PEMBELAJAR
Mata PelajaranReakayasa Perangkat Lunak
Sekolah Menengah Kejuruan (SMK)
Kelompok Kompetensi D
Penulis: Joko PitonoDirektorat Jenderal Guru dan Tenaga Kependidikan
Kementrian Pendidikan dan KebudayaanTahun 2016
ii
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
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
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.
iiiiiiiii
iv
KATA SAMBUTAN
Peran guru profesional dalam proses pembelajaran sangat pentingsebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yangkopeten membangun proses pembelajaran yang baik sehingga dapatmenghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan gurusebagai komponen yang menjadi fokus perhatian pemerintah pusat maupunpemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkutkopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalandengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui ujikompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhirtahun 2015. Hasil UKG menunjukanpeta kekuatan dan kelemahan kompetensiguru dalam penguasaan pengetahuan. Peta kompetensi guru tersebutdikelompokan menjadi 10 (sepuluh) kelopok kompetensi. Tindak lanjutpelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melaluiprogram Guru Pembelajar.Tujuannya untuk meningkatkan kompetensi gurusebagai agen perubahaan dan sumber belajar utama bagi peserta didik. ProgramGuru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dancampuran (blended) tatap muka dengan online.
Pusat Pengembangan dan Pemberdayaan Pendidik dan TenagKependidikan (PPPPTK), Lembaga Pengembangan dan PemberdayaanPendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi danKomunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan PemberayaanKepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkunganDirektorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawabdalam mengembangkan perangkat dan melaksanakan peningkaan kompetensiguru sesuai dengan bidangnya. Adapun peragkat pembelajaran yangdikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)tatap muka dan GP online untuk semua mata pelajaran dan kelompokkompetensi. Dengan modul ini diharapkan program GP memberikan sumbanganyang sangat besar dalam peningkatan kualitas kompetensi guru.Mari kitasukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.
Jakarta, Februari 2016Direktur JendralGuru dan Tenaga Kependidikan
Sumarna Surapranata, Ph.DNIP. 195908011985031002
iv
KATA SAMBUTAN
Peran guru profesional dalam proses pembelajaran sangat pentingsebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yangkopeten membangun proses pembelajaran yang baik sehingga dapatmenghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan gurusebagai komponen yang menjadi fokus perhatian pemerintah pusat maupunpemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkutkopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalandengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui ujikompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhirtahun 2015. Hasil UKG menunjukanpeta kekuatan dan kelemahan kompetensiguru dalam penguasaan pengetahuan. Peta kompetensi guru tersebutdikelompokan menjadi 10 (sepuluh) kelopok kompetensi. Tindak lanjutpelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melaluiprogram Guru Pembelajar.Tujuannya untuk meningkatkan kompetensi gurusebagai agen perubahaan dan sumber belajar utama bagi peserta didik. ProgramGuru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dancampuran (blended) tatap muka dengan online.
Pusat Pengembangan dan Pemberdayaan Pendidik dan TenagKependidikan (PPPPTK), Lembaga Pengembangan dan PemberdayaanPendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi danKomunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan PemberayaanKepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkunganDirektorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawabdalam mengembangkan perangkat dan melaksanakan peningkaan kompetensiguru sesuai dengan bidangnya. Adapun peragkat pembelajaran yangdikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)tatap muka dan GP online untuk semua mata pelajaran dan kelompokkompetensi. Dengan modul ini diharapkan program GP memberikan sumbanganyang sangat besar dalam peningkatan kualitas kompetensi guru.Mari kitasukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.
Jakarta, Februari 2016Direktur JendralGuru dan Tenaga Kependidikan
Sumarna Surapranata, Ph.DNIP. 195908011985031002
iv
KATA SAMBUTAN
Peran guru profesional dalam proses pembelajaran sangat pentingsebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yangkopeten membangun proses pembelajaran yang baik sehingga dapatmenghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan gurusebagai komponen yang menjadi fokus perhatian pemerintah pusat maupunpemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkutkopetensi guru.
Pengembangan profesionalitas guru melalui program Guru Pembelajar(GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalandengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui ujikompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhirtahun 2015. Hasil UKG menunjukanpeta kekuatan dan kelemahan kompetensiguru dalam penguasaan pengetahuan. Peta kompetensi guru tersebutdikelompokan menjadi 10 (sepuluh) kelopok kompetensi. Tindak lanjutpelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melaluiprogram Guru Pembelajar.Tujuannya untuk meningkatkan kompetensi gurusebagai agen perubahaan dan sumber belajar utama bagi peserta didik. ProgramGuru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dancampuran (blended) tatap muka dengan online.
Pusat Pengembangan dan Pemberdayaan Pendidik dan TenagKependidikan (PPPPTK), Lembaga Pengembangan dan PemberdayaanPendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi danKomunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan PemberayaanKepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkunganDirektorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawabdalam mengembangkan perangkat dan melaksanakan peningkaan kompetensiguru sesuai dengan bidangnya. Adapun peragkat pembelajaran yangdikembangkan tersebut adalah modul untuk program Guru Pembelajar (GP)tatap muka dan GP online untuk semua mata pelajaran dan kelompokkompetensi. Dengan modul ini diharapkan program GP memberikan sumbanganyang sangat besar dalam peningkatan kualitas kompetensi guru.Mari kitasukseskan program GP ini untuk mewujudkan Guru Mulia Karena Karya.
Jakarta, Februari 2016Direktur JendralGuru dan Tenaga Kependidikan
Sumarna Surapranata, Ph.DNIP. 195908011985031002
vvv
vi
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 2016Kepala LPPPTK KPTK GowaSulawesi Selatan,
Dr. H. Rusdi, M.Pd,NIP 19650430 199103 1 004
vi
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 2016Kepala LPPPTK KPTK GowaSulawesi Selatan,
Dr. H. Rusdi, M.Pd,NIP 19650430 199103 1 004
vi
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 2016Kepala LPPPTK KPTK GowaSulawesi Selatan,
Dr. H. Rusdi, M.Pd,NIP 19650430 199103 1 004
viiviivii
viii
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
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
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
ix
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
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
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
x
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
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
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
xi
EVALUASI............................................................................................................... 128
KUNCI JAWABAN ................................................................................................... 136
DAFTAR PUSTAKA .................................................................................................. 138
GLOSARIUM........................................................................................................... 142
xi
EVALUASI............................................................................................................... 128
KUNCI JAWABAN ................................................................................................... 136
DAFTAR PUSTAKA .................................................................................................. 138
GLOSARIUM........................................................................................................... 142
xi
EVALUASI............................................................................................................... 128
KUNCI JAWABAN ................................................................................................... 136
DAFTAR PUSTAKA .................................................................................................. 138
GLOSARIUM........................................................................................................... 142
xii
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
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
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
xiii
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 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 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
xiv
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
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
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
xvxvxv
xvi
DAFTAR TABEL
TABEL 1. 1 KELAS DIDALAM AWT .........................................................................18
TABEL 1. 2 KOMPONEN AWT................................................................................20
TABEL 1. 3 KONSTRUKTOR FLOWLAYOUT ............................................................. 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
DAFTAR TABEL
TABEL 1. 1 KELAS DIDALAM AWT .........................................................................18
TABEL 1. 2 KOMPONEN AWT................................................................................20
TABEL 1. 3 KONSTRUKTOR FLOWLAYOUT ............................................................. 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
DAFTAR TABEL
TABEL 1. 1 KELAS DIDALAM AWT .........................................................................18
TABEL 1. 2 KOMPONEN AWT................................................................................20
TABEL 1. 3 KONSTRUKTOR FLOWLAYOUT ............................................................. 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
xviixviixvii
1
PENDAHULUAN
A. Latar BelakangGuru 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. TujuanTujuan 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
PENDAHULUAN
A. Latar BelakangGuru 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. TujuanTujuan 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
PENDAHULUAN
A. Latar BelakangGuru 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. TujuanTujuan 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
2
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 LingkupModul 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
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 LingkupModul 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
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 LingkupModul 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.
3
E. Saran Cara Penggunaan Modul
1. Cara Penggunaan ModulSecara 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 PenggunaanSpesifikasi 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 PendukungA. Instalasi JDK 81. 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
E. Saran Cara Penggunaan Modul
1. Cara Penggunaan ModulSecara 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 PenggunaanSpesifikasi 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 PendukungA. Instalasi JDK 81. 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
E. Saran Cara Penggunaan Modul
1. Cara Penggunaan ModulSecara 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 PenggunaanSpesifikasi 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 PendukungA. Instalasi JDK 81. 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
4
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 memilihNext
4
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 memilihNext
4
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 memilihNext
5
Gambar 4 Pemilihan Direktori Instalasi JDK
5. Tunggu aplikasi JDK terinstal di komputer hingga menampilkantampilan seperti berikut. Pilih Close
Gambar 5 Instalasi JDK telah selesai
6. Aplikasi JDK sudah selesai diinstal
B. Instalasi Netbeans 8.0.21. Double click aplikasi Netbeans yang telah didownload dan tunggu
hingga muncul tampilan seperti berikut. Pilih Next untuk memulai
melakukan instalasi
5
Gambar 4 Pemilihan Direktori Instalasi JDK
5. Tunggu aplikasi JDK terinstal di komputer hingga menampilkantampilan seperti berikut. Pilih Close
Gambar 5 Instalasi JDK telah selesai
6. Aplikasi JDK sudah selesai diinstal
B. Instalasi Netbeans 8.0.21. Double click aplikasi Netbeans yang telah didownload dan tunggu
hingga muncul tampilan seperti berikut. Pilih Next untuk memulai
melakukan instalasi
5
Gambar 4 Pemilihan Direktori Instalasi JDK
5. Tunggu aplikasi JDK terinstal di komputer hingga menampilkantampilan seperti berikut. Pilih Close
Gambar 5 Instalasi JDK telah selesai
6. Aplikasi JDK sudah selesai diinstal
B. Instalasi Netbeans 8.0.21. Double click aplikasi Netbeans yang telah didownload dan tunggu
hingga muncul tampilan seperti berikut. Pilih Next untuk memulai
melakukan instalasi
6
Gambar 6 Proses Pemilihan Fitur Instalasi Netbeans
2. Centang bagian I Accept the License Agreement dan pilih Next
Gambar 7 EULA Netbeans
6
Gambar 6 Proses Pemilihan Fitur Instalasi Netbeans
2. Centang bagian I Accept the License Agreement dan pilih Next
Gambar 7 EULA Netbeans
6
Gambar 6 Proses Pemilihan Fitur Instalasi Netbeans
2. Centang bagian I Accept the License Agreement dan pilih Next
Gambar 7 EULA Netbeans
7
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
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
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
8
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
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
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
9
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 Database1. 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
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 Database1. 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
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 Database1. 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
10
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
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
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
11
4. Tentukan lokasi penyimpanan database Oracle, misal pada instalasimenggunakan 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
4. Tentukan lokasi penyimpanan database Oracle, misal pada instalasimenggunakan 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
4. Tentukan lokasi penyimpanan database Oracle, misal pada instalasimenggunakan 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
12
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
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
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
13
8. instalasi sudah selesai, kemudian pilih Finish
Gambar 20 Proses Instalasi Aplikasi Oracle XE Telah Selesai
9. Konfigurasi database (akan dijelaskan pada modul KegiatanPembelajaran 5)
13
8. instalasi sudah selesai, kemudian pilih Finish
Gambar 20 Proses Instalasi Aplikasi Oracle XE Telah Selesai
9. Konfigurasi database (akan dijelaskan pada modul KegiatanPembelajaran 5)
13
8. instalasi sudah selesai, kemudian pilih Finish
Gambar 20 Proses Instalasi Aplikasi Oracle XE Telah Selesai
9. Konfigurasi database (akan dijelaskan pada modul KegiatanPembelajaran 5)
141414
151515
161616
17
Membuat Komponen GUI berbasis AWT(Abstract Window Toolkit)
A. TujuanSetelah 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
Membuat Komponen GUI berbasis AWT(Abstract Window Toolkit)
A. TujuanSetelah 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
Membuat Komponen GUI berbasis AWT(Abstract Window Toolkit)
A. TujuanSetelah 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.
18
2. Window Classes FundamentalDalam 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 DeskripsiKomponen Abstract Class untuk objek yang dapat ditampilkan pada
console dan berinteraksidenganguser.Bagian utamadarisemua kelas AWT.
Kontainer Abstract Subclass dari Component Class. Sebuah komponenyang dapat menampungkomponenyanglainnya.
Panel Turunan dari Container Class. Sebuah frame atau windowtanpa titlebar, menubartidaktermasukborder.Superclassdariappletclass.
Window Turunan dari Container class. Top level window, dimana berartitidak bisa dimasukkandalamobjekyanglainnya.Tidakmemilikiborder danmenubar.
Frame Turunan dari window class. Window dengan judul, menubar,border dan pengatur ukuran di pojok. Memiliki empatkonstruktor , dua diantaranyamemilikipenulisansepertidibawahini: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
2. Window Classes FundamentalDalam 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 DeskripsiKomponen Abstract Class untuk objek yang dapat ditampilkan pada
console dan berinteraksidenganguser.Bagian utamadarisemua kelas AWT.
Kontainer Abstract Subclass dari Component Class. Sebuah komponenyang dapat menampungkomponenyanglainnya.
Panel Turunan dari Container Class. Sebuah frame atau windowtanpa titlebar, menubartidaktermasukborder.Superclassdariappletclass.
Window Turunan dari Container class. Top level window, dimana berartitidak bisa dimasukkandalamobjekyanglainnya.Tidakmemilikiborder danmenubar.
Frame Turunan dari window class. Window dengan judul, menubar,border dan pengatur ukuran di pojok. Memiliki empatkonstruktor , dua diantaranyamemilikipenulisansepertidibawahini: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
2. Window Classes FundamentalDalam 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 DeskripsiKomponen Abstract Class untuk objek yang dapat ditampilkan pada
console dan berinteraksidenganguser.Bagian utamadarisemua kelas AWT.
Kontainer Abstract Subclass dari Component Class. Sebuah komponenyang dapat menampungkomponenyanglainnya.
Panel Turunan dari Container Class. Sebuah frame atau windowtanpa titlebar, menubartidaktermasukborder.Superclassdariappletclass.
Window Turunan dari Container class. Top level window, dimana berartitidak bisa dimasukkandalamobjekyanglainnya.Tidakmemilikiborder danmenubar.
Frame Turunan dari window class. Window dengan judul, menubar,border dan pengatur ukuran di pojok. Memiliki empatkonstruktor , dua diantaranyamemilikipenulisansepertidibawahini: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)
19
Contoh 1, Membuat Frame pada JAVA:Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frameimport java.awt.*;publicclass SampleFrame extends Frame{publicstaticvoid main(String[] args){
SampleFrame sf =new SampleFrame();sf.setSize(400,200);//mengatur ukuran Framesf.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
Panelimport java.awt.*;publicclass BuatPanel extends Panel{public BuatPanel(){
setBackground(Color.blue);}publicvoid paint(Graphics g){
g.setColor(new Color(0,255,0));//tulisan hijaug.setFont(new Font("Arial",Font.PLAIN,16));g.drawString("Percobaan Membuat Panel",30,100);g.setColor(new Color(1.0f,0,0));//garis merahg.fillRect(30,100,150,10);
}publicstaticvoid main(String[] args){
19
Contoh 1, Membuat Frame pada JAVA:Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frameimport java.awt.*;publicclass SampleFrame extends Frame{publicstaticvoid main(String[] args){
SampleFrame sf =new SampleFrame();sf.setSize(400,200);//mengatur ukuran Framesf.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
Panelimport java.awt.*;publicclass BuatPanel extends Panel{public BuatPanel(){
setBackground(Color.blue);}publicvoid paint(Graphics g){
g.setColor(new Color(0,255,0));//tulisan hijaug.setFont(new Font("Arial",Font.PLAIN,16));g.drawString("Percobaan Membuat Panel",30,100);g.setColor(new Color(1.0f,0,0));//garis merahg.fillRect(30,100,150,10);
}publicstaticvoid main(String[] args){
19
Contoh 1, Membuat Frame pada JAVA:Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frameimport java.awt.*;publicclass SampleFrame extends Frame{publicstaticvoid main(String[] args){
SampleFrame sf =new SampleFrame();sf.setSize(400,200);//mengatur ukuran Framesf.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
Panelimport java.awt.*;publicclass BuatPanel extends Panel{public BuatPanel(){
setBackground(Color.blue);}publicvoid paint(Graphics g){
g.setColor(new Color(0,255,0));//tulisan hijaug.setFont(new Font("Arial",Font.PLAIN,16));g.drawString("Percobaan Membuat Panel",30,100);g.setColor(new Color(1.0f,0,0));//garis merahg.fillRect(30,100,150,10);
}publicstaticvoid main(String[] args){
20
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 AWTBerikut 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
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 AWTBerikut 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
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 AWTBerikut 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
21
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 lainnyaimport 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 buttonkf.add(new Label("Label"));//Menambahkan labelkf.add(new TextField());//Menambahkan textfieldCheckboxGroup cbg =new CheckboxGroup();kf.add(new Checkbox("Check Box 1", cbg,true));// checkboxkf.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 listboxlist.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 comboboxchooser.add("Combobox 2");chooser.add("Combobox 3");kf.add(chooser);kf.add(new Scrollbar());//Menambahkan scrollbarkf.setVisible(true);
}}
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut
Gambar 1. 3 Tampilan komponen AWT pada Frame
21
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 lainnyaimport 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 buttonkf.add(new Label("Label"));//Menambahkan labelkf.add(new TextField());//Menambahkan textfieldCheckboxGroup cbg =new CheckboxGroup();kf.add(new Checkbox("Check Box 1", cbg,true));// checkboxkf.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 listboxlist.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 comboboxchooser.add("Combobox 2");chooser.add("Combobox 3");kf.add(chooser);kf.add(new Scrollbar());//Menambahkan scrollbarkf.setVisible(true);
}}
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut
Gambar 1. 3 Tampilan komponen AWT pada Frame
21
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 lainnyaimport 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 buttonkf.add(new Label("Label"));//Menambahkan labelkf.add(new TextField());//Menambahkan textfieldCheckboxGroup cbg =new CheckboxGroup();kf.add(new Checkbox("Check Box 1", cbg,true));// checkboxkf.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 listboxlist.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 comboboxchooser.add("Combobox 2");chooser.add("Combobox 3");kf.add(chooser);kf.add(new Scrollbar());//Menambahkan scrollbarkf.setVisible(true);
}}
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti berikut
Gambar 1. 3 Tampilan komponen AWT pada Frame
22
4. Layout Manager didalam AWTPosisi 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
4. Layout Manager didalam AWTPosisi 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
4. Layout Manager didalam AWTPosisi 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.
23
Tabel 1. 3 Konstruktor FlowLayout
Konstruktor DeskripsiFlowLayout() Membuatobjek baruFlowLayoutdenganposisiditengah
danlima unithorizontal danvertikal gapdimasukkanpada komponensebagaidefault.
FlowLayout(intalign)
Membuat objek baru FlowLayout dengan posisi.Posisi argumen mengikuti penulisan sebagai berikut:FlowLayout.LEFTFlowLayout.CENTERFlowLayout.RIGHT
FlowLayout(intalign, int hgap,int vgap)
Membuat objek baru FlowLayout dengan argumenpertama sebagai posisi pada komponen dan hgapuntuk horizontal dan vgap untuk vertikal padakomponen. Gap dapat dikatakan sebagai jarakantara komponen dan biasanya diukur dengansatuan 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
Tabel 1. 3 Konstruktor FlowLayout
Konstruktor DeskripsiFlowLayout() Membuatobjek baruFlowLayoutdenganposisiditengah
danlima unithorizontal danvertikal gapdimasukkanpada komponensebagaidefault.
FlowLayout(intalign)
Membuat objek baru FlowLayout dengan posisi.Posisi argumen mengikuti penulisan sebagai berikut:FlowLayout.LEFTFlowLayout.CENTERFlowLayout.RIGHT
FlowLayout(intalign, int hgap,int vgap)
Membuat objek baru FlowLayout dengan argumenpertama sebagai posisi pada komponen dan hgapuntuk horizontal dan vgap untuk vertikal padakomponen. Gap dapat dikatakan sebagai jarakantara komponen dan biasanya diukur dengansatuan 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
Tabel 1. 3 Konstruktor FlowLayout
Konstruktor DeskripsiFlowLayout() Membuatobjek baruFlowLayoutdenganposisiditengah
danlima unithorizontal danvertikal gapdimasukkanpada komponensebagaidefault.
FlowLayout(intalign)
Membuat objek baru FlowLayout dengan posisi.Posisi argumen mengikuti penulisan sebagai berikut:FlowLayout.LEFTFlowLayout.CENTERFlowLayout.RIGHT
FlowLayout(intalign, int hgap,int vgap)
Membuat objek baru FlowLayout dengan argumenpertama sebagai posisi pada komponen dan hgapuntuk horizontal dan vgap untuk vertikal padakomponen. Gap dapat dikatakan sebagai jarakantara komponen dan biasanya diukur dengansatuan 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
24
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 DeskripsiBorderLayout() Membuatobjek BorderLayoutbarutanpa
spasiyangdiaplikasikandiantara komponenyang berbeda.BorderLayout(int hgap, intvgap)
MembuatobjekBorderLayoutbarudenganspasiunithgaphorizontaldanunitvgapvertikal 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.NORTHBorderLayout.SOUTHBorderLayout.EASTBorderLayout.WESTBorderLayout.CENTER
Contoh 5, Membuat Frame dengan BorderLayout:
24
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 DeskripsiBorderLayout() Membuatobjek BorderLayoutbarutanpa
spasiyangdiaplikasikandiantara komponenyang berbeda.BorderLayout(int hgap, intvgap)
MembuatobjekBorderLayoutbarudenganspasiunithgaphorizontaldanunitvgapvertikal 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.NORTHBorderLayout.SOUTHBorderLayout.EASTBorderLayout.WESTBorderLayout.CENTER
Contoh 5, Membuat Frame dengan BorderLayout:
24
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 DeskripsiBorderLayout() Membuatobjek BorderLayoutbarutanpa
spasiyangdiaplikasikandiantara komponenyang berbeda.BorderLayout(int hgap, intvgap)
MembuatobjekBorderLayoutbarudenganspasiunithgaphorizontaldanunitvgapvertikal 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.NORTHBorderLayout.SOUTHBorderLayout.EASTBorderLayout.WESTBorderLayout.CENTER
Contoh 5, Membuat Frame dengan BorderLayout:
25
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan layout tipe Border Layoutimport 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
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan layout tipe Border Layoutimport 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
Coba perhatikan source code berikut, kode dibawah akan membuat suatu
Frame dengan layout tipe Border Layoutimport 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.
26
Tabel 1. 5 Konstruktor GridLayout
Konstruktor DeskripsiGridLayout() Membuatobjek
GridLayoutbarudengansatubarisdansatukolomsebagaidefault
GridLayout(int rows, intcols)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomsesuaidengankeinginan
GridLayout(int rows, intcols, int hgap, intvgap)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomyang ditentukan.Unitspasihgaphorizontaldanvgapvertikaldiaplikasikankedalamkomponen.
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
Tabel 1. 5 Konstruktor GridLayout
Konstruktor DeskripsiGridLayout() Membuatobjek
GridLayoutbarudengansatubarisdansatukolomsebagaidefault
GridLayout(int rows, intcols)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomsesuaidengankeinginan
GridLayout(int rows, intcols, int hgap, intvgap)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomyang ditentukan.Unitspasihgaphorizontaldanvgapvertikaldiaplikasikankedalamkomponen.
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
Tabel 1. 5 Konstruktor GridLayout
Konstruktor DeskripsiGridLayout() Membuatobjek
GridLayoutbarudengansatubarisdansatukolomsebagaidefault
GridLayout(int rows, intcols)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomsesuaidengankeinginan
GridLayout(int rows, intcols, int hgap, intvgap)
Membuatobjek GridLayoutbarudenganjumlahbaris dankolomyang ditentukan.Unitspasihgaphorizontaldanvgapvertikaldiaplikasikankedalamkomponen.
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);
}}
27
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti
berikut:
Gambar 1. 6Tampilan Frame dengan Grid Layout
D. Aktivitas Pembelajaran1. Membuat kelas java dengan nama Latihan.java2. Buat Pembagian Panel pada Frame
Pada langkah ini, buatlah 3 pembagian Frame (atas, tengah dan bawah).
Tuliskan kode berikutLatihan cl =new Latihan();Panel PanelAtas =new Panel();Panel PanelTengah =new Panel();Panel PanelBawah =new Panel();
3. Buat Komponen yang diisi Pada Panel AtasIsikan kode berikut, kode berikut akan mengatur panel atas dengan layout
tipe flow layout/* North Panel *///Flow LayoutPanelAtas.add(new Label("FORM DATA GURU"));
27
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti
berikut:
Gambar 1. 6Tampilan Frame dengan Grid Layout
D. Aktivitas Pembelajaran1. Membuat kelas java dengan nama Latihan.java2. Buat Pembagian Panel pada Frame
Pada langkah ini, buatlah 3 pembagian Frame (atas, tengah dan bawah).
Tuliskan kode berikutLatihan cl =new Latihan();Panel PanelAtas =new Panel();Panel PanelTengah =new Panel();Panel PanelBawah =new Panel();
3. Buat Komponen yang diisi Pada Panel AtasIsikan kode berikut, kode berikut akan mengatur panel atas dengan layout
tipe flow layout/* North Panel *///Flow LayoutPanelAtas.add(new Label("FORM DATA GURU"));
27
Jika kode tersebut dieksekusi, maka akan menampilkan output seperti
berikut:
Gambar 1. 6Tampilan Frame dengan Grid Layout
D. Aktivitas Pembelajaran1. Membuat kelas java dengan nama Latihan.java2. Buat Pembagian Panel pada Frame
Pada langkah ini, buatlah 3 pembagian Frame (atas, tengah dan bawah).
Tuliskan kode berikutLatihan cl =new Latihan();Panel PanelAtas =new Panel();Panel PanelTengah =new Panel();Panel PanelBawah =new Panel();
3. Buat Komponen yang diisi Pada Panel AtasIsikan kode berikut, kode berikut akan mengatur panel atas dengan layout
tipe flow layout/* North Panel *///Flow LayoutPanelAtas.add(new Label("FORM DATA GURU"));
28
4. Buat Komponen yang diisi Pada Panel TengahKode 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 LayoutPanelTengah.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 BawahKode 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 FrameKode berikut akan mengatur secara total layout dari suatu Frame, tipe
layout yang digunakan alah tipe Border Layout//Border Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);
28
4. Buat Komponen yang diisi Pada Panel TengahKode 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 LayoutPanelTengah.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 BawahKode 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 FrameKode berikut akan mengatur secara total layout dari suatu Frame, tipe
layout yang digunakan alah tipe Border Layout//Border Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);
28
4. Buat Komponen yang diisi Pada Panel TengahKode 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 LayoutPanelTengah.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 BawahKode 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 FrameKode berikut akan mengatur secara total layout dari suatu Frame, tipe
layout yang digunakan alah tipe Border Layout//Border Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);
29
7. Mengecek kode yang telah dibuat. Secara keseluruhan, kode yangdibuat ialah seperti berikutimport 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 LayoutPanelAtas.add(new Label("FORM DATA GURU"));
/* Center Panel *///Grid LayoutPanelTengah.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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);}
}
29
7. Mengecek kode yang telah dibuat. Secara keseluruhan, kode yangdibuat ialah seperti berikutimport 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 LayoutPanelAtas.add(new Label("FORM DATA GURU"));
/* Center Panel *///Grid LayoutPanelTengah.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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);}
}
29
7. Mengecek kode yang telah dibuat. Secara keseluruhan, kode yangdibuat ialah seperti berikutimport 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 LayoutPanelAtas.add(new Label("FORM DATA GURU"));
/* Center Panel *///Grid LayoutPanelTengah.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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(300,300);cl.setVisible(true);}
}
30
8. Langkah 8 Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 1. 7 Tampilan Aplikasi GUI AWT yang dibuat
E. Latihan/Kasus /TugasPak Alqodri adalah pegawai administrasi di SMK X di Kota Malang,
setiap tahun Pak Alqodri selalu mencacatat beberapa hal administrasi disekolahnya, salah satunya ialah mendata alumni. Setelah beliau amati,ternyata cara yang dilakukan beliau sangatlah memboroskan karena dataalumni dikumpulkan pada lembaran kertas yang mudah rusak karenaukuran yang tipis. Untuk mengatasi hal itu, Pak Alqodri berinisiatifmembuat suatu formulir berbasis komputer yang dapat digunakan olehsiswa dalam mengisi data alumninya ke dalam database sekolahtersebut.
Kegiatan yang dilakukan Pak Alqodri bukan tidak ada alasan, tentuPak Alqodri memiliki pandangan terkait penggunaan database denganmodel ter-komputerisasi di era saat ini. Namun, masalah mulai terjadiketika Pak Alqodri harus menginputkan data alumni satu-persatu dimanaformat setiap tahun dari buku alumni sekolah tersebut berbeda yangtentunya akan memakan banyak waktu untuk menginputkan datatersebut. Untuk mengatasi hal tersebut, Pak Alqodri meminta bantuananda untuk membuat suatu form yang terdiri dari 5 bagian dalam formyaitu Nama Lengkap, Alamat, Jenis Kelamin, Agama dan nomor HP.Dimana 3 komponen (nama,alamat,nomor HP) merupakan komponenTextField, agama dan jenis kelamin merupakan pilihan dengan tipeCombo Box (untuk pilihan jenis kelamin hanya laki-laki dan perempuan,dan pilihan agama terdiri dari Islam, Kristen, Hindu, Budha dan AgamaLain). Selain itu, karena pak Alqodri sudah tua, beliau menginginkanbahwa aplikasi yang dibuat berukuran 350 pixel X 300 pixel untukmengakomodasi kebutuhan Pak Alqodri tersebut.
30
8. Langkah 8 Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 1. 7 Tampilan Aplikasi GUI AWT yang dibuat
E. Latihan/Kasus /TugasPak Alqodri adalah pegawai administrasi di SMK X di Kota Malang,
setiap tahun Pak Alqodri selalu mencacatat beberapa hal administrasi disekolahnya, salah satunya ialah mendata alumni. Setelah beliau amati,ternyata cara yang dilakukan beliau sangatlah memboroskan karena dataalumni dikumpulkan pada lembaran kertas yang mudah rusak karenaukuran yang tipis. Untuk mengatasi hal itu, Pak Alqodri berinisiatifmembuat suatu formulir berbasis komputer yang dapat digunakan olehsiswa dalam mengisi data alumninya ke dalam database sekolahtersebut.
Kegiatan yang dilakukan Pak Alqodri bukan tidak ada alasan, tentuPak Alqodri memiliki pandangan terkait penggunaan database denganmodel ter-komputerisasi di era saat ini. Namun, masalah mulai terjadiketika Pak Alqodri harus menginputkan data alumni satu-persatu dimanaformat setiap tahun dari buku alumni sekolah tersebut berbeda yangtentunya akan memakan banyak waktu untuk menginputkan datatersebut. Untuk mengatasi hal tersebut, Pak Alqodri meminta bantuananda untuk membuat suatu form yang terdiri dari 5 bagian dalam formyaitu Nama Lengkap, Alamat, Jenis Kelamin, Agama dan nomor HP.Dimana 3 komponen (nama,alamat,nomor HP) merupakan komponenTextField, agama dan jenis kelamin merupakan pilihan dengan tipeCombo Box (untuk pilihan jenis kelamin hanya laki-laki dan perempuan,dan pilihan agama terdiri dari Islam, Kristen, Hindu, Budha dan AgamaLain). Selain itu, karena pak Alqodri sudah tua, beliau menginginkanbahwa aplikasi yang dibuat berukuran 350 pixel X 300 pixel untukmengakomodasi kebutuhan Pak Alqodri tersebut.
30
8. Langkah 8 Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 1. 7 Tampilan Aplikasi GUI AWT yang dibuat
E. Latihan/Kasus /TugasPak Alqodri adalah pegawai administrasi di SMK X di Kota Malang,
setiap tahun Pak Alqodri selalu mencacatat beberapa hal administrasi disekolahnya, salah satunya ialah mendata alumni. Setelah beliau amati,ternyata cara yang dilakukan beliau sangatlah memboroskan karena dataalumni dikumpulkan pada lembaran kertas yang mudah rusak karenaukuran yang tipis. Untuk mengatasi hal itu, Pak Alqodri berinisiatifmembuat suatu formulir berbasis komputer yang dapat digunakan olehsiswa dalam mengisi data alumninya ke dalam database sekolahtersebut.
Kegiatan yang dilakukan Pak Alqodri bukan tidak ada alasan, tentuPak Alqodri memiliki pandangan terkait penggunaan database denganmodel ter-komputerisasi di era saat ini. Namun, masalah mulai terjadiketika Pak Alqodri harus menginputkan data alumni satu-persatu dimanaformat setiap tahun dari buku alumni sekolah tersebut berbeda yangtentunya akan memakan banyak waktu untuk menginputkan datatersebut. Untuk mengatasi hal tersebut, Pak Alqodri meminta bantuananda untuk membuat suatu form yang terdiri dari 5 bagian dalam formyaitu Nama Lengkap, Alamat, Jenis Kelamin, Agama dan nomor HP.Dimana 3 komponen (nama,alamat,nomor HP) merupakan komponenTextField, agama dan jenis kelamin merupakan pilihan dengan tipeCombo Box (untuk pilihan jenis kelamin hanya laki-laki dan perempuan,dan pilihan agama terdiri dari Islam, Kristen, Hindu, Budha dan AgamaLain). Selain itu, karena pak Alqodri sudah tua, beliau menginginkanbahwa aplikasi yang dibuat berukuran 350 pixel X 300 pixel untukmengakomodasi kebutuhan Pak Alqodri tersebut.
31
Buat aplikasi GUI berbasis AWT yang dapat menampilkan form sesuai
kebutuhan pak Alqodri!
Gambar 1. 8 Tampilan program
F. RangkumanAWT (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 Lanjut1. 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
Buat aplikasi GUI berbasis AWT yang dapat menampilkan form sesuai
kebutuhan pak Alqodri!
Gambar 1. 8 Tampilan program
F. RangkumanAWT (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 Lanjut1. 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
Buat aplikasi GUI berbasis AWT yang dapat menampilkan form sesuai
kebutuhan pak Alqodri!
Gambar 1. 8 Tampilan program
F. RangkumanAWT (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 Lanjut1. 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?
32
3. Apakah Anda sudah mampu Membuattampilanyangkomplekdalam
mendesainaplikasiGUI dan berapa prosen tingkat pencapaian
kompetensinya?
H. Kunci Jawaban
1. Source Code Jawabanimport 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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(350,300);cl.setVisible(true);
}}
32
3. Apakah Anda sudah mampu Membuattampilanyangkomplekdalam
mendesainaplikasiGUI dan berapa prosen tingkat pencapaian
kompetensinya?
H. Kunci Jawaban
1. Source Code Jawabanimport 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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(350,300);cl.setVisible(true);
}}
32
3. Apakah Anda sudah mampu Membuattampilanyangkomplekdalam
mendesainaplikasiGUI dan berapa prosen tingkat pencapaian
kompetensinya?
H. Kunci Jawaban
1. Source Code Jawabanimport 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 Layoutcl.add(PanelAtas, BorderLayout.NORTH);cl.add(PanelTengah, BorderLayout.CENTER);cl.add(PanelBawah, BorderLayout.SOUTH);cl.setSize(350,300);cl.setVisible(true);
}}
33
2. Output Source Code
Gambar 1. 9 Tampilan Form Data Alumni
33
2. Output Source Code
Gambar 1. 9 Tampilan Form Data Alumni
33
2. Output Source Code
Gambar 1. 9 Tampilan Form Data Alumni
343434
353535
363636
37
Membuat Komponen GUI berbasis Swing
A. TujuanSetelah 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 SwingSwing 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 SwingTidak 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
Membuat Komponen GUI berbasis Swing
A. TujuanSetelah 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 SwingSwing 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 SwingTidak 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
Membuat Komponen GUI berbasis Swing
A. TujuanSetelah 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 SwingSwing 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 SwingTidak 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
38
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
KomponenSwing
Penjelasan
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
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
KomponenSwing
Penjelasan
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
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
KomponenSwing
Penjelasan
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
39
KomponenSwing
Penjelasan
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
KomponenSwing
Penjelasan
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
KomponenSwing
Penjelasan
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
40
KomponenSwing
Penjelasan
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 JPanelimport javax.swing.*;publicclass BuatJPanel {publicstaticvoid main(String[] args){
JFrame f =new JFrame("Tes JPanel");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//tutup
FrameJPanel p =new JPanel();// membuat objek JPanelp.add(new JButton("Tombol 1"));// button di kaitkan ke
panelp.add(new JButton("Tombol 2"));// button di kaitkan ke
panelp.add(new JButton("Tombol 3"));// button di kaitkan ke
panelf.add(p);// mengaitkan panel ke framef.pack();// membuat ukuran defaultf.setVisible(true);// menampilkan frame
}
40
KomponenSwing
Penjelasan
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 JPanelimport javax.swing.*;publicclass BuatJPanel {publicstaticvoid main(String[] args){
JFrame f =new JFrame("Tes JPanel");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//tutup
FrameJPanel p =new JPanel();// membuat objek JPanelp.add(new JButton("Tombol 1"));// button di kaitkan ke
panelp.add(new JButton("Tombol 2"));// button di kaitkan ke
panelp.add(new JButton("Tombol 3"));// button di kaitkan ke
panelf.add(p);// mengaitkan panel ke framef.pack();// membuat ukuran defaultf.setVisible(true);// menampilkan frame
}
40
KomponenSwing
Penjelasan
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 JPanelimport javax.swing.*;publicclass BuatJPanel {publicstaticvoid main(String[] args){
JFrame f =new JFrame("Tes JPanel");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//tutup
FrameJPanel p =new JPanel();// membuat objek JPanelp.add(new JButton("Tombol 1"));// button di kaitkan ke
panelp.add(new JButton("Tombol 2"));// button di kaitkan ke
panelp.add(new JButton("Tombol 3"));// button di kaitkan ke
panelf.add(p);// mengaitkan panel ke framef.pack();// membuat ukuran defaultf.setVisible(true);// menampilkan frame
}
41
}
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
JOptionPaneimport 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
}
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
JOptionPaneimport 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
}
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
JOptionPaneimport 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
42
3. Layout Manager didalam Swinga. 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
3. Layout Manager didalam Swinga. 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
3. Layout Manager didalam Swinga. 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);
}}
43
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
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
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");
44
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
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
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
45
D. Aktivitas Pembelajaran1. Buat Kelas Java dengan nama Latihan2.java2. Buat kontainer dan atur model layout kontainer tersebut
Buat fungsi overloading method, dan juga atur layout frame kedalam
border layout. Tuliskan kode berikutpublic Latihan2(){
Container kontainer = getContentPane();//layout border
kontainer.setLayout(new BorderLayout());
3. Buat Panel 1Buat 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-12for(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
D. Aktivitas Pembelajaran1. Buat Kelas Java dengan nama Latihan2.java2. Buat kontainer dan atur model layout kontainer tersebut
Buat fungsi overloading method, dan juga atur layout frame kedalam
border layout. Tuliskan kode berikutpublic Latihan2(){
Container kontainer = getContentPane();//layout border
kontainer.setLayout(new BorderLayout());
3. Buat Panel 1Buat 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-12for(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
D. Aktivitas Pembelajaran1. Buat Kelas Java dengan nama Latihan2.java2. Buat kontainer dan atur model layout kontainer tersebut
Buat fungsi overloading method, dan juga atur layout frame kedalam
border layout. Tuliskan kode berikutpublic Latihan2(){
Container kontainer = getContentPane();//layout border
kontainer.setLayout(new BorderLayout());
3. Buat Panel 1Buat 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-12for(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));
46
4. Masukkan Panel 2Buat 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 frameTulis 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 FrameKode 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 utamaKode berikut akan membuat frame dengan nama Latihan 2 dengan
ukuran frame 400 pixel X 300 pixelpublicstaticvoid 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
4. Masukkan Panel 2Buat 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 frameTulis 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 FrameKode 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 utamaKode berikut akan membuat frame dengan nama Latihan 2 dengan
ukuran frame 400 pixel X 300 pixelpublicstaticvoid 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
4. Masukkan Panel 2Buat 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 frameTulis 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 FrameKode 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 utamaKode berikut akan membuat frame dengan nama Latihan 2 dengan
ukuran frame 400 pixel X 300 pixelpublicstaticvoid 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
8. Kompilasi program GUI yang dibuatSecara keseluruhan, kode yang dibuat ialah seperti berikutimport java.awt.*;import javax.swing.*;publicclass Latihan2 extends JFrame{public Latihan2(){
Container kontainer = getContentPane();
//layout borderkontainer.setLayout(new BorderLayout());
//membuat panelJPanel p1 =new JPanel();p1.setLayout(new GridLayout(4,3));
//menampilkan tombol 1-12for(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 keduaJPanel p2=new JPanel(new BorderLayout());p2.add(new JLabel("TAMPILAN LAYOUT SWING"),
BorderLayout.NORTH);p2.add(p1,BorderLayout.CENTER);
//memasukkan panel ke framekontainer.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
8. Kompilasi program GUI yang dibuatSecara keseluruhan, kode yang dibuat ialah seperti berikutimport java.awt.*;import javax.swing.*;publicclass Latihan2 extends JFrame{public Latihan2(){
Container kontainer = getContentPane();
//layout borderkontainer.setLayout(new BorderLayout());
//membuat panelJPanel p1 =new JPanel();p1.setLayout(new GridLayout(4,3));
//menampilkan tombol 1-12for(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 keduaJPanel p2=new JPanel(new BorderLayout());p2.add(new JLabel("TAMPILAN LAYOUT SWING"),
BorderLayout.NORTH);p2.add(p1,BorderLayout.CENTER);
//memasukkan panel ke framekontainer.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
8. Kompilasi program GUI yang dibuatSecara keseluruhan, kode yang dibuat ialah seperti berikutimport java.awt.*;import javax.swing.*;publicclass Latihan2 extends JFrame{public Latihan2(){
Container kontainer = getContentPane();
//layout borderkontainer.setLayout(new BorderLayout());
//membuat panelJPanel p1 =new JPanel();p1.setLayout(new GridLayout(4,3));
//menampilkan tombol 1-12for(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 keduaJPanel p2=new JPanel(new BorderLayout());p2.add(new JLabel("TAMPILAN LAYOUT SWING"),
BorderLayout.NORTH);p2.add(p1,BorderLayout.CENTER);
//memasukkan panel ke framekontainer.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);
}}
48
9. Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 2. 5 Tampilan Aplikasi Swing GUI yang dibuat
E. Latihan/Kasus /TugasBuat suatu form yang dengan nama “Form Pendaftaran Siswa
Baru”. Pada form tersebut, terdapat 7 isian yang harus diisi olehpengguna. Yaitu Nama, Alamat, Jenis Kelamin, Asal Sekolah,Tingkatan Prestasi dan Nilai UN. Gunakan Flow Layout denganukuran 1200 x 250 pixel untuk membuat suatu frame utama. Gunakan3 panel untuk menginputkan komponen yang terdapat pada frametersebut. Panel 1 untuk flow layout, panel 2 untuk grid layout pertamadan panel 3 untuk grid layout kedua.
Pada bagian Asal Sekolah, gunakan grid layout dengan ukuran 1baris 2 kolom untuk meletakkan komponen Combo Box. Sedangkanpada bagian Tingkatan Prestasi, gunakan grid layout 1 baris 5 kolomuntuk meletakkan komponen Check Box. Tambahkan 2 button yangdiletakkan diakhir form dengan nama Simpan dan Bersihkan Data.
1. Tampilan Program
Gambar 2. 6 Hasil Tampilan Program
48
9. Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 2. 5 Tampilan Aplikasi Swing GUI yang dibuat
E. Latihan/Kasus /TugasBuat suatu form yang dengan nama “Form Pendaftaran Siswa
Baru”. Pada form tersebut, terdapat 7 isian yang harus diisi olehpengguna. Yaitu Nama, Alamat, Jenis Kelamin, Asal Sekolah,Tingkatan Prestasi dan Nilai UN. Gunakan Flow Layout denganukuran 1200 x 250 pixel untuk membuat suatu frame utama. Gunakan3 panel untuk menginputkan komponen yang terdapat pada frametersebut. Panel 1 untuk flow layout, panel 2 untuk grid layout pertamadan panel 3 untuk grid layout kedua.
Pada bagian Asal Sekolah, gunakan grid layout dengan ukuran 1baris 2 kolom untuk meletakkan komponen Combo Box. Sedangkanpada bagian Tingkatan Prestasi, gunakan grid layout 1 baris 5 kolomuntuk meletakkan komponen Check Box. Tambahkan 2 button yangdiletakkan diakhir form dengan nama Simpan dan Bersihkan Data.
1. Tampilan Program
Gambar 2. 6 Hasil Tampilan Program
48
9. Melihat jalannya aplikasi GUI yang dibuatHasil running aplikasi yang dibuat ialah
Gambar 2. 5 Tampilan Aplikasi Swing GUI yang dibuat
E. Latihan/Kasus /TugasBuat suatu form yang dengan nama “Form Pendaftaran Siswa
Baru”. Pada form tersebut, terdapat 7 isian yang harus diisi olehpengguna. Yaitu Nama, Alamat, Jenis Kelamin, Asal Sekolah,Tingkatan Prestasi dan Nilai UN. Gunakan Flow Layout denganukuran 1200 x 250 pixel untuk membuat suatu frame utama. Gunakan3 panel untuk menginputkan komponen yang terdapat pada frametersebut. Panel 1 untuk flow layout, panel 2 untuk grid layout pertamadan panel 3 untuk grid layout kedua.
Pada bagian Asal Sekolah, gunakan grid layout dengan ukuran 1baris 2 kolom untuk meletakkan komponen Combo Box. Sedangkanpada bagian Tingkatan Prestasi, gunakan grid layout 1 baris 5 kolomuntuk meletakkan komponen Check Box. Tambahkan 2 button yangdiletakkan diakhir form dengan nama Simpan dan Bersihkan Data.
1. Tampilan Program
Gambar 2. 6 Hasil Tampilan Program
49
2. Format Layout Program
Gambar 2. 7 Spesifikasi Layout Tampilan Program
F. RangkumanSwing 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 Lanjut1. 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
2. Format Layout Program
Gambar 2. 7 Spesifikasi Layout Tampilan Program
F. RangkumanSwing 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 Lanjut1. 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
2. Format Layout Program
Gambar 2. 7 Spesifikasi Layout Tampilan Program
F. RangkumanSwing 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 Lanjut1. 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?
50
H. Kunci Jawaban
1. Source Code Programimport 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 buttonprivate 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
H. Kunci Jawaban
1. Source Code Programimport 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 buttonprivate 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
H. Kunci Jawaban
1. Source Code Programimport 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 buttonprivate 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);
51
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
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
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
525252
535353
54
Membuat Komponen GUI berbasis Drag andDrop dengan Netbeans
A. TujuanSetelah 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 NetbeansNetBeans 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
Membuat Komponen GUI berbasis Drag andDrop dengan Netbeans
A. TujuanSetelah 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 NetbeansNetBeans 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
Membuat Komponen GUI berbasis Drag andDrop dengan Netbeans
A. TujuanSetelah 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 NetbeansNetBeans 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:
55
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 NetbeansUntuk 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 StartNetbeans
Gambar 3. 1 Membuka Netbeans lewat Start Menu
55
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 NetbeansUntuk 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 StartNetbeans
Gambar 3. 1 Membuka Netbeans lewat Start Menu
55
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 NetbeansUntuk 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 StartNetbeans
Gambar 3. 1 Membuka Netbeans lewat Start Menu
56
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
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
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
57
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
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
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
58
7. Frame telah selesai dibuat dan siap diisi komponen
Gambar 3. 7 Tampilan Form yang di buat
D. Aktivitas Pembelajaran10. 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
7. Frame telah selesai dibuat dan siap diisi komponen
Gambar 3. 7 Tampilan Form yang di buat
D. Aktivitas Pembelajaran10. 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
7. Frame telah selesai dibuat dan siap diisi komponen
Gambar 3. 7 Tampilan Form yang di buat
D. Aktivitas Pembelajaran10. 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
59
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 NewJframe Form
59
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 NewJframe Form
59
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 NewJframe Form
60
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. 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. 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
61
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
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
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
62
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
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
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
63
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
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
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
64
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
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
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
65
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 dibuatSetelah 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. 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 dibuatSetelah 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. 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 dibuatSetelah 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
66
Gambar 3. 28 Pemilihan kelas utama aplikasi yang dibuat
23. Melihat hasil running aplikasi yang dibuatLihat jalannya aplikasi yang dibuat
Gambar 3. 29 Aplikasi GUI dengan drag and drop yang dibuat
E. Latihan/Kasus /TugasPak Alqodri guru yang mengajar pelajaran Olah Raga di sekolah X.
Pak Alqodri sangat senang mengajar pelajaran yang di ampu olehnyatersebut. Suatu hari, Pak Alqodri diminta tolong oleh anaknya yang masihberumur 15 tahun (kelas 2 SMP) untuk membantu mengerjakanPekerjaan Rumah pelajaran matematika yang diberikan oleh gurunyadisekolah. Pak Alqodri yang memang suka berolah raga ternyata kurangbisa dalam menghitung, apalagi tugas yang diberikan oleh guruMatematika anaknya merupakan perhitungan matematika trigonometri(hanya cosinus, sinus dan tangen) yang notabennya Pak Alqodrimemang kurang mampu dalam perhitungan trigonometri tersebut.
66
Gambar 3. 28 Pemilihan kelas utama aplikasi yang dibuat
23. Melihat hasil running aplikasi yang dibuatLihat jalannya aplikasi yang dibuat
Gambar 3. 29 Aplikasi GUI dengan drag and drop yang dibuat
E. Latihan/Kasus /TugasPak Alqodri guru yang mengajar pelajaran Olah Raga di sekolah X.
Pak Alqodri sangat senang mengajar pelajaran yang di ampu olehnyatersebut. Suatu hari, Pak Alqodri diminta tolong oleh anaknya yang masihberumur 15 tahun (kelas 2 SMP) untuk membantu mengerjakanPekerjaan Rumah pelajaran matematika yang diberikan oleh gurunyadisekolah. Pak Alqodri yang memang suka berolah raga ternyata kurangbisa dalam menghitung, apalagi tugas yang diberikan oleh guruMatematika anaknya merupakan perhitungan matematika trigonometri(hanya cosinus, sinus dan tangen) yang notabennya Pak Alqodrimemang kurang mampu dalam perhitungan trigonometri tersebut.
66
Gambar 3. 28 Pemilihan kelas utama aplikasi yang dibuat
23. Melihat hasil running aplikasi yang dibuatLihat jalannya aplikasi yang dibuat
Gambar 3. 29 Aplikasi GUI dengan drag and drop yang dibuat
E. Latihan/Kasus /TugasPak Alqodri guru yang mengajar pelajaran Olah Raga di sekolah X.
Pak Alqodri sangat senang mengajar pelajaran yang di ampu olehnyatersebut. Suatu hari, Pak Alqodri diminta tolong oleh anaknya yang masihberumur 15 tahun (kelas 2 SMP) untuk membantu mengerjakanPekerjaan Rumah pelajaran matematika yang diberikan oleh gurunyadisekolah. Pak Alqodri yang memang suka berolah raga ternyata kurangbisa dalam menghitung, apalagi tugas yang diberikan oleh guruMatematika anaknya merupakan perhitungan matematika trigonometri(hanya cosinus, sinus dan tangen) yang notabennya Pak Alqodrimemang kurang mampu dalam perhitungan trigonometri tersebut.
67
Untuk membantu mengajari anaknya tersebut, tentu Pak Alqodrimemerlukan suatu alat bantu berupa kalkulator yang tidak hanya mampumenghitung operasi biasa (penjumlahan, pengurangan, perkalian,pembagian), melainkan operasi perhitungan trigonometri (cosinus, sinusdan tangen). Kalkulator yang dibuat harus terdiri dari 2 komponen pokok,yaitu terdapat 19 Button (10 Button untuk angka 0 sampai 9 dan 10Button untuk operasi) dan TextField (untuk menampilkan hasil operasiperhitungan). Selain itu, karena Pak Alqodri sudah tua maka kalkulatoryang dibuat harus berukuran sedikit besar dari biasanya (lebar 450 pixeldan tinggi 300 pixel) dan tampilan model kalkulator harus sesuai jeniskomponennya (kalkulator dibagi menjadi 3 panel yang terdiri dari 1 paneluntuk 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 ProgramTombol Nama Variabel
1 BTN12 BTN23 BTN34 BTN4
67
Untuk membantu mengajari anaknya tersebut, tentu Pak Alqodrimemerlukan suatu alat bantu berupa kalkulator yang tidak hanya mampumenghitung operasi biasa (penjumlahan, pengurangan, perkalian,pembagian), melainkan operasi perhitungan trigonometri (cosinus, sinusdan tangen). Kalkulator yang dibuat harus terdiri dari 2 komponen pokok,yaitu terdapat 19 Button (10 Button untuk angka 0 sampai 9 dan 10Button untuk operasi) dan TextField (untuk menampilkan hasil operasiperhitungan). Selain itu, karena Pak Alqodri sudah tua maka kalkulatoryang dibuat harus berukuran sedikit besar dari biasanya (lebar 450 pixeldan tinggi 300 pixel) dan tampilan model kalkulator harus sesuai jeniskomponennya (kalkulator dibagi menjadi 3 panel yang terdiri dari 1 paneluntuk 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 ProgramTombol Nama Variabel
1 BTN12 BTN23 BTN34 BTN4
67
Untuk membantu mengajari anaknya tersebut, tentu Pak Alqodrimemerlukan suatu alat bantu berupa kalkulator yang tidak hanya mampumenghitung operasi biasa (penjumlahan, pengurangan, perkalian,pembagian), melainkan operasi perhitungan trigonometri (cosinus, sinusdan tangen). Kalkulator yang dibuat harus terdiri dari 2 komponen pokok,yaitu terdapat 19 Button (10 Button untuk angka 0 sampai 9 dan 10Button untuk operasi) dan TextField (untuk menampilkan hasil operasiperhitungan). Selain itu, karena Pak Alqodri sudah tua maka kalkulatoryang dibuat harus berukuran sedikit besar dari biasanya (lebar 450 pixeldan tinggi 300 pixel) dan tampilan model kalkulator harus sesuai jeniskomponennya (kalkulator dibagi menjadi 3 panel yang terdiri dari 1 paneluntuk 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 ProgramTombol Nama Variabel
1 BTN12 BTN23 BTN34 BTN4
68
5 BTN56 BTN67 BTN78 BTN89 BTN90 BTN0+ BTNplus- BTNminusX BTNkali/ BTNbagiSin BTNsinusCos BTNcos
F. RangkumanSalah 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 Lanjut1. 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
5 BTN56 BTN67 BTN78 BTN89 BTN90 BTN0+ BTNplus- BTNminusX BTNkali/ BTNbagiSin BTNsinusCos BTNcos
F. RangkumanSalah 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 Lanjut1. 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
5 BTN56 BTN67 BTN78 BTN89 BTN90 BTN0+ BTNplus- BTNminusX BTNkali/ BTNbagiSin BTNsinusCos BTNcos
F. RangkumanSalah 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 Lanjut1. 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?
69
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
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
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();
70
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(400,300));
TBisi.setFont(new java.awt.Font("Tahoma",0,14));//NOI18N
javax.swing.GroupLayout jPanel1Layout =newjavax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(TBisi).addContainerGap()));
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.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
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(400,300));
TBisi.setFont(new java.awt.Font("Tahoma",0,14));//NOI18N
javax.swing.GroupLayout jPanel1Layout =newjavax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(TBisi).addContainerGap()));
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.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
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(400,300));
TBisi.setFont(new java.awt.Font("Tahoma",0,14));//NOI18N
javax.swing.GroupLayout jPanel1Layout =newjavax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(TBisi).addContainerGap()));
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.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");
71
BTN8.setText("8");
BTN9.setText("9");
BTNClear.setText("Clear");
javax.swing.GroupLayout jPanel2Layout =newjavax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN0).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).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.UNRELATED).addComponent(BTN2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN3)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN4).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN5).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN6)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN7).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN8).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN9))).addContainerGap(14, Short.MAX_VALUE)));
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
71
BTN8.setText("8");
BTN9.setText("9");
BTNClear.setText("Clear");
javax.swing.GroupLayout jPanel2Layout =newjavax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN0).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).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.UNRELATED).addComponent(BTN2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN3)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN4).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN5).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN6)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN7).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN8).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN9))).addContainerGap(14, Short.MAX_VALUE)));
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
71
BTN8.setText("8");
BTN9.setText("9");
BTNClear.setText("Clear");
javax.swing.GroupLayout jPanel2Layout =newjavax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN0).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).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.UNRELATED).addComponent(BTN2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN3)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN4).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN5).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN6)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(BTN7).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN8).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTN9))).addContainerGap(14, Short.MAX_VALUE)));
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
72
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN7).addComponent(BTN8).addComponent(BTN9)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN4).addComponent(BTN5).addComponent(BTN6)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN1).addComponent(BTN2).addComponent(BTN3)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.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 =newjavax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
72
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN7).addComponent(BTN8).addComponent(BTN9)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN4).addComponent(BTN5).addComponent(BTN6)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN1).addComponent(BTN2).addComponent(BTN3)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.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 =newjavax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
72
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN7).addComponent(BTN8).addComponent(BTN9)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN4).addComponent(BTN5).addComponent(BTN6)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTN1).addComponent(BTN2).addComponent(BTN3)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.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 =newjavax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
73
ent.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addComponent(BTNbagi, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addGap(18,18,18).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.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
ent.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addComponent(BTNbagi, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addGap(18,18,18).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.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
ent.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addComponent(BTNbagi, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addGap(18,18,18).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.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.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addComponent(BTNsin, javax.swing.GroupLayout.PREFERRED_SIZE,37,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELA
74
TED).addComponent(BTNcos, javax.swing.GroupLayout.PREFERRED_SIZE,37,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(jPanel3Layout.createSequentialGroup().addComponent(BTNplus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(BTNminus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTNkali))).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTNbagi).addComponent(BTNtangen)).addGap(7,7,7))).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));
javax.swing.GroupLayout layout =newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).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.UNRELATED).addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel3,
74
TED).addComponent(BTNcos, javax.swing.GroupLayout.PREFERRED_SIZE,37,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(jPanel3Layout.createSequentialGroup().addComponent(BTNplus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(BTNminus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTNkali))).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTNbagi).addComponent(BTNtangen)).addGap(7,7,7))).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));
javax.swing.GroupLayout layout =newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).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.UNRELATED).addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel3,
74
TED).addComponent(BTNcos, javax.swing.GroupLayout.PREFERRED_SIZE,37,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(jPanel3Layout.createSequentialGroup().addComponent(BTNplus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(BTNminus).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(BTNkali))).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(BTNbagi).addComponent(BTNtangen)).addGap(7,7,7))).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));
javax.swing.GroupLayout layout =newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).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.UNRELATED).addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel3,
75
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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, staywith the default look and feel.
* For details seehttp://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){
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);}
75
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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, staywith the default look and feel.
* For details seehttp://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){
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);}
75
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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, staywith the default look and feel.
* For details seehttp://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){
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);}
76
//</editor-fold>
/* Create and display the form */java.awt.EventQueue.invokeLater(new Runnable(){
publicvoid run(){new Kalkulator().setVisible(true);}});}
// Variables declaration - do not modifyprivate 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
//</editor-fold>
/* Create and display the form */java.awt.EventQueue.invokeLater(new Runnable(){
publicvoid run(){new Kalkulator().setVisible(true);}});}
// Variables declaration - do not modifyprivate 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
//</editor-fold>
/* Create and display the form */java.awt.EventQueue.invokeLater(new Runnable(){
publicvoid run(){new Kalkulator().setVisible(true);}});}
// Variables declaration - do not modifyprivate 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}
77
2. Tampilan Program
Gambar 3. 31 Tampilan Running Source Code
77
2. Tampilan Program
Gambar 3. 31 Tampilan Running Source Code
77
2. Tampilan Program
Gambar 3. 31 Tampilan Running Source Code
787878
797979
808080
81
Event Handling Komponen GUI
A. TujuanSetelah 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 HandlingEventmerupakah 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
Event Handling Komponen GUI
A. TujuanSetelah 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 HandlingEventmerupakah 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
Event Handling Komponen GUI
A. TujuanSetelah 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 HandlingEventmerupakah 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
82
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/HandlerThe 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 ObjectKetika 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
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/HandlerThe 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 ObjectKetika 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
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/HandlerThe 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 ObjectKetika 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
83
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 EventSebuah 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
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 EventSebuah 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
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 EventSebuah 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.
84
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
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
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
85
3. Event ListenersEvent 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 DeskripsiActionListener Bereaksi atas perubahan mouse atau atau
keyboard. Method pada event listener ini adalahactionPerformed(ActionEvent).
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalam listenerini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
MouseListener Bereaksi atas pergerakan mouse. Terdapatsetidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag dan pemindahanmouse. Method yang digunakan oleh interface iniadalah mouseDragged(MouseEvent)
Focus Listener merupakan event listener dari FocusEvent, padainterface ini terdapat 2 method :a. focusGained(FocusEvent)b. focusLast(FocusEvent)
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 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
3. Event ListenersEvent 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 DeskripsiActionListener Bereaksi atas perubahan mouse atau atau
keyboard. Method pada event listener ini adalahactionPerformed(ActionEvent).
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalam listenerini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
MouseListener Bereaksi atas pergerakan mouse. Terdapatsetidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag dan pemindahanmouse. Method yang digunakan oleh interface iniadalah mouseDragged(MouseEvent)
Focus Listener merupakan event listener dari FocusEvent, padainterface ini terdapat 2 method :a. focusGained(FocusEvent)b. focusLast(FocusEvent)
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 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
3. Event ListenersEvent 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 DeskripsiActionListener Bereaksi atas perubahan mouse atau atau
keyboard. Method pada event listener ini adalahactionPerformed(ActionEvent).
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalam listenerini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
MouseListener Bereaksi atas pergerakan mouse. Terdapatsetidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag dan pemindahanmouse. Method yang digunakan oleh interface iniadalah mouseDragged(MouseEvent)
Focus Listener merupakan event listener dari FocusEvent, padainterface ini terdapat 2 method :a. focusGained(FocusEvent)b. focusLast(FocusEvent)
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 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:
86
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
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
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
87
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
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
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();
}
88
}Jika dieksekusi, maka tampilan programnya adalah
Gambar 4. 4 Jika Mouse pada Frame
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);
Gambar 4. 3 Jika Mouse Keluar
dari Frame
Gambar 4. 5 Jika Mouse di klik Gambar 4. 6 Jika Mouse di tekan
88
}Jika dieksekusi, maka tampilan programnya adalah
Gambar 4. 4 Jika Mouse pada Frame
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);
Gambar 4. 3 Jika Mouse Keluar
dari Frame
Gambar 4. 5 Jika Mouse di klik Gambar 4. 6 Jika Mouse di tekan
88
}Jika dieksekusi, maka tampilan programnya adalah
Gambar 4. 4 Jika Mouse pada Frame
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);
Gambar 4. 3 Jika Mouse Keluar
dari Frame
Gambar 4. 5 Jika Mouse di klik Gambar 4. 6 Jika Mouse di tekan
89
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
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
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
90
D. Aktivitas Pembelajaran1. Buka project Latihan yang sudah dibuat pada Kegiatan
Pembelajaran 32. 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 baikimport java.awt.event.*;import javax.swing.*;import javax.swing.table.*;
3. Buat suatu fungsi yang dapat melakukan validasi input harus berupaangka. Letakkan fungsi tersebut diatas konstruktor fungsi utama. Source
code untuk validasi tersebut adalahpublicvoid 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 berupahuruf. Letakkan fungsi tersebut dibawah method FilterHanyaAngka.
Source code untuk validasi tersebut adalah
90
D. Aktivitas Pembelajaran1. Buka project Latihan yang sudah dibuat pada Kegiatan
Pembelajaran 32. 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 baikimport java.awt.event.*;import javax.swing.*;import javax.swing.table.*;
3. Buat suatu fungsi yang dapat melakukan validasi input harus berupaangka. Letakkan fungsi tersebut diatas konstruktor fungsi utama. Source
code untuk validasi tersebut adalahpublicvoid 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 berupahuruf. Letakkan fungsi tersebut dibawah method FilterHanyaAngka.
Source code untuk validasi tersebut adalah
90
D. Aktivitas Pembelajaran1. Buka project Latihan yang sudah dibuat pada Kegiatan
Pembelajaran 32. 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 baikimport java.awt.event.*;import javax.swing.*;import javax.swing.table.*;
3. Buat suatu fungsi yang dapat melakukan validasi input harus berupaangka. Letakkan fungsi tersebut diatas konstruktor fungsi utama. Source
code untuk validasi tersebut adalahpublicvoid 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 berupahuruf. Letakkan fungsi tersebut dibawah method FilterHanyaAngka.
Source code untuk validasi tersebut adalah
91
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 NISKlik kanan komponen TextField NIS event KeyTyped
Gambar 4. 11 Mengakses event keyTyped Text Field
Tambahkan kode hingga method tersebut seperti berikutprivatevoid 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 berikutprivatevoid nama_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaHuruf(evt);}
91
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 NISKlik kanan komponen TextField NIS event KeyTyped
Gambar 4. 11 Mengakses event keyTyped Text Field
Tambahkan kode hingga method tersebut seperti berikutprivatevoid 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 berikutprivatevoid nama_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaHuruf(evt);}
91
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 NISKlik kanan komponen TextField NIS event KeyTyped
Gambar 4. 11 Mengakses event keyTyped Text Field
Tambahkan kode hingga method tersebut seperti berikutprivatevoid 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 berikutprivatevoid nama_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaHuruf(evt);}
92
7. Berikan suatu event pada komponen Text Field NilaiKlik kanan komponen TextField Nilai event KeyTyped Masukankode berikutprivatevoid nilai_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaAngka(evt);}
8. Berikan suatu event pada komponen ButtonKlik kanan komponen Button simpan event actionPerformed
Gambar 4. 12 Memberikan event pada Button Simpan
Masukan kode berikutprivatevoid jButton1ActionPerformed(java.awt.event.ActionEventevt){
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 barisMasuk ke tab Desain Klik Kanan Tabel Table ContentsRow set
menjadi 0Close
Gambar 4. 13 Pengaturan jumlah baris menjadi 0
92
7. Berikan suatu event pada komponen Text Field NilaiKlik kanan komponen TextField Nilai event KeyTyped Masukankode berikutprivatevoid nilai_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaAngka(evt);}
8. Berikan suatu event pada komponen ButtonKlik kanan komponen Button simpan event actionPerformed
Gambar 4. 12 Memberikan event pada Button Simpan
Masukan kode berikutprivatevoid jButton1ActionPerformed(java.awt.event.ActionEventevt){
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 barisMasuk ke tab Desain Klik Kanan Tabel Table ContentsRow set
menjadi 0Close
Gambar 4. 13 Pengaturan jumlah baris menjadi 0
92
7. Berikan suatu event pada komponen Text Field NilaiKlik kanan komponen TextField Nilai event KeyTyped Masukankode berikutprivatevoid nilai_siswaKeyTyped(java.awt.event.KeyEvent evt){// TODO add your handling code here:
FilterHanyaAngka(evt);}
8. Berikan suatu event pada komponen ButtonKlik kanan komponen Button simpan event actionPerformed
Gambar 4. 12 Memberikan event pada Button Simpan
Masukan kode berikutprivatevoid jButton1ActionPerformed(java.awt.event.ActionEventevt){
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 barisMasuk ke tab Desain Klik Kanan Tabel Table ContentsRow set
menjadi 0Close
Gambar 4. 13 Pengaturan jumlah baris menjadi 0
93
10. Kompilasi Program yang dibuat11. 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 makaakan menampilkan output message box seperti berikut
Gambar 4. 14 Validasi Input NIS
13. jika pada Field nama_siswa ditekan angka 1--9 pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 15 Validasi Input Nama
14. jika pada Field nilai_siswa ditekan tombol “a” pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 16 Validasi Input Nilai
15. Lakukan input data dan tekan tombol Simpan
93
10. Kompilasi Program yang dibuat11. 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 makaakan menampilkan output message box seperti berikut
Gambar 4. 14 Validasi Input NIS
13. jika pada Field nama_siswa ditekan angka 1--9 pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 15 Validasi Input Nama
14. jika pada Field nilai_siswa ditekan tombol “a” pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 16 Validasi Input Nilai
15. Lakukan input data dan tekan tombol Simpan
93
10. Kompilasi Program yang dibuat11. 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 makaakan menampilkan output message box seperti berikut
Gambar 4. 14 Validasi Input NIS
13. jika pada Field nama_siswa ditekan angka 1--9 pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 15 Validasi Input Nama
14. jika pada Field nilai_siswa ditekan tombol “a” pada keyboard makaakan menampilkan output message box seperti berikut
Gambar 4. 16 Validasi Input Nilai
15. Lakukan input data dan tekan tombol Simpan
94
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 /TugasBerikan suatu event pada setiap tombol kalkulator GUI yang sudah dibuat pada Kegiatan Pembelajaran 3 agar dapat berfungsi dengan baik.
F. RangkumanEvent 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
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 /TugasBerikan suatu event pada setiap tombol kalkulator GUI yang sudah dibuat pada Kegiatan Pembelajaran 3 agar dapat berfungsi dengan baik.
F. RangkumanEvent 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
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 /TugasBerikan suatu event pada setiap tombol kalkulator GUI yang sudah dibuat pada Kegiatan Pembelajaran 3 agar dapat berfungsi dengan baik.
F. RangkumanEvent 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:
95
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 Lanjut1. 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
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 Lanjut1. 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
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 Lanjut1. 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?
96
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
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
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();
97
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(neworg.netbeans.lib.awtextra.AbsoluteLayout());
TBisi.setFont(new java.awt.Font("Tahoma",0,14));// NOI18NjPanel1.add(TBisi,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,20,382,36));
getContentPane().add(jPanel1,neworg.netbeans.lib.awtextra.AbsoluteConstraints(0,0,402,-1));
jPanel2.setLayout(neworg.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,neworg.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,neworg.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
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(neworg.netbeans.lib.awtextra.AbsoluteLayout());
TBisi.setFont(new java.awt.Font("Tahoma",0,14));// NOI18NjPanel1.add(TBisi,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,20,382,36));
getContentPane().add(jPanel1,neworg.netbeans.lib.awtextra.AbsoluteConstraints(0,0,402,-1));
jPanel2.setLayout(neworg.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,neworg.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,neworg.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
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(neworg.netbeans.lib.awtextra.AbsoluteLayout());
TBisi.setFont(new java.awt.Font("Tahoma",0,14));// NOI18NjPanel1.add(TBisi,new
org.netbeans.lib.awtextra.AbsoluteConstraints(10,20,382,36));
getContentPane().add(jPanel1,neworg.netbeans.lib.awtextra.AbsoluteConstraints(0,0,402,-1));
jPanel2.setLayout(neworg.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,neworg.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,neworg.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);
}});
98
jPanel2.add(BTN2,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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(BTN2,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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(BTN2,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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,neworg.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);
}});
99
jPanel2.add(BTN8,neworg.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,neworg.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,neworg.netbeans.lib.awtextra.AbsoluteConstraints(57,113,90,-1));
getContentPane().add(jPanel2,neworg.netbeans.lib.awtextra.AbsoluteConstraints(20,80,-1,-1));
jPanel3.setLayout(neworg.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,neworg.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,neworg.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
jPanel2.add(BTN8,neworg.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,neworg.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,neworg.netbeans.lib.awtextra.AbsoluteConstraints(57,113,90,-1));
getContentPane().add(jPanel2,neworg.netbeans.lib.awtextra.AbsoluteConstraints(20,80,-1,-1));
jPanel3.setLayout(neworg.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,neworg.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,neworg.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
jPanel2.add(BTN8,neworg.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,neworg.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,neworg.netbeans.lib.awtextra.AbsoluteConstraints(57,113,90,-1));
getContentPane().add(jPanel2,neworg.netbeans.lib.awtextra.AbsoluteConstraints(20,80,-1,-1));
jPanel3.setLayout(neworg.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,neworg.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,neworg.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);}
100
});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,neworg.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,neworg.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,neworg.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,neworg.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
});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,neworg.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,neworg.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,neworg.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,neworg.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
});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,neworg.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,neworg.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,neworg.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,neworg.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
101
org.netbeans.lib.awtextra.AbsoluteConstraints(130,10,-1,122));
getContentPane().add(jPanel3,neworg.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
org.netbeans.lib.awtextra.AbsoluteConstraints(130,10,-1,122));
getContentPane().add(jPanel3,neworg.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
org.netbeans.lib.awtextra.AbsoluteConstraints(130,10,-1,122));
getContentPane().add(jPanel3,neworg.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);
102
}
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.ActionEventevt){// 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.ActionEventevt){// 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
}
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.ActionEventevt){// 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.ActionEventevt){// 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
}
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.ActionEventevt){// 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.ActionEventevt){// 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="";
103
pilih=4;}
privatevoid BTNhasilActionPerformed(java.awt.event.ActionEventevt){// 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
pilih=4;}
privatevoid BTNhasilActionPerformed(java.awt.event.ActionEventevt){// 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
pilih=4;}
privatevoid BTNhasilActionPerformed(java.awt.event.ActionEventevt){// 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){
104
// 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.ActionEventevt){// 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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, stay withthe default look and feel.
* For details seehttp://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
// 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.ActionEventevt){// 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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, stay withthe default look and feel.
* For details seehttp://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
// 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.ActionEventevt){// 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 feelsetting code (optional) ">/* If Nimbus (introduced in Java SE 6) is not available, stay withthe default look and feel.
* For details seehttp://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){
105
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 modifyprivate 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
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 modifyprivate 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
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 modifyprivate 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}
106
2. Output Tampilan Program
Gambar 4. 19 Output Tampilan Program
106
2. Output Tampilan Program
Gambar 4. 19 Output Tampilan Program
106
2. Output Tampilan Program
Gambar 4. 19 Output Tampilan Program
107107107
108108108
109109109
110
Membuat Transformasi dengan KelasGraphic
A. TujuanSetelah 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 ObjekTransformasi 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
Membuat Transformasi dengan KelasGraphic
A. TujuanSetelah 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 ObjekTransformasi 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
Membuat Transformasi dengan KelasGraphic
A. TujuanSetelah 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 ObjekTransformasi 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.
111
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 ObjekTranslasi 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
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 ObjekTranslasi 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
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 ObjekTranslasi 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;
112
//Gambar bujur sangkarg2d.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 translasig2d.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 ObjekRotasi 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
//Gambar bujur sangkarg2d.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 translasig2d.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 ObjekRotasi 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
//Gambar bujur sangkarg2d.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 translasig2d.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 ObjekRotasi 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
113
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 sangkarg2d.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 rotasig2d.fillRect(10,100,140,90);g2d.drawString("Objek Rotasi Positif",10,250);g2d.translate(30,100);g2d.rotate(-90);//method untuk rotasig2d.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
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 sangkarg2d.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 rotasig2d.fillRect(10,100,140,90);g2d.drawString("Objek Rotasi Positif",10,250);g2d.translate(30,100);g2d.rotate(-90);//method untuk rotasig2d.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
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 sangkarg2d.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 rotasig2d.fillRect(10,100,140,90);g2d.drawString("Objek Rotasi Positif",10,250);g2d.translate(30,100);g2d.rotate(-90);//method untuk rotasig2d.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
114
Gambar 5. 2 Rotasi objek Persegi
4. Pengubahan Skala Objek/Scalling ObjectPenskalaan/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 sangkarg2d.setColor(Color.BLUE);g2d.fillRect(10,100,140,90);
114
Gambar 5. 2 Rotasi objek Persegi
4. Pengubahan Skala Objek/Scalling ObjectPenskalaan/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 sangkarg2d.setColor(Color.BLUE);g2d.fillRect(10,100,140,90);
114
Gambar 5. 2 Rotasi objek Persegi
4. Pengubahan Skala Objek/Scalling ObjectPenskalaan/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 sangkarg2d.setColor(Color.BLUE);g2d.fillRect(10,100,140,90);
115
g2d.drawRect(10,100,140,90);g2d.drawString("Objek Tanpa Scalling",10,250);g2d.translate(200,100);g2d.scale(0.5,0.5);//fungsi skalag2d.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 ObjekAnimasi 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
g2d.drawRect(10,100,140,90);g2d.drawString("Objek Tanpa Scalling",10,250);g2d.translate(200,100);g2d.scale(0.5,0.5);//fungsi skalag2d.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 ObjekAnimasi 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
g2d.drawRect(10,100,140,90);g2d.drawString("Objek Tanpa Scalling",10,250);g2d.translate(200,100);g2d.scale(0.5,0.5);//fungsi skalag2d.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 ObjekAnimasi 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
116
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 Tekspackage tugas2;
// animasi sederhana
// modfikasi dari Tips & Trik IlmuKomputer.Com (2005)import java.awt.*;import java.awt.event.*;publicclass animasiSederhana extends Frame implementsRunnable {
Thread animation;// Mengatur waktu delayint frameDelay =1000;//1000 ms = 1 detik// Tulisan yang akan ditampilkan
Stringframes[]={"A","AL","ALQ","ALQO","ALQOD","ALQODR","ALQODRI"};// Menentukan variabel yang diperlukanint numFrames = frames.length;int currentFrame =0;long lastDisplay =0;int screenWidth =300;//lebar layarint screenHeight =100;//tinggi layarpublicstaticvoid 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));//mengaturfont}publicvoid paint(Graphics g){
g.drawString(frames[currentFrame],60,60);//membuatframe}publicvoid run(){
116
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 Tekspackage tugas2;
// animasi sederhana
// modfikasi dari Tips & Trik IlmuKomputer.Com (2005)import java.awt.*;import java.awt.event.*;publicclass animasiSederhana extends Frame implementsRunnable {
Thread animation;// Mengatur waktu delayint frameDelay =1000;//1000 ms = 1 detik// Tulisan yang akan ditampilkan
Stringframes[]={"A","AL","ALQ","ALQO","ALQOD","ALQODR","ALQODRI"};// Menentukan variabel yang diperlukanint numFrames = frames.length;int currentFrame =0;long lastDisplay =0;int screenWidth =300;//lebar layarint screenHeight =100;//tinggi layarpublicstaticvoid 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));//mengaturfont}publicvoid paint(Graphics g){
g.drawString(frames[currentFrame],60,60);//membuatframe}publicvoid run(){
116
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 Tekspackage tugas2;
// animasi sederhana
// modfikasi dari Tips & Trik IlmuKomputer.Com (2005)import java.awt.*;import java.awt.event.*;publicclass animasiSederhana extends Frame implementsRunnable {
Thread animation;// Mengatur waktu delayint frameDelay =1000;//1000 ms = 1 detik// Tulisan yang akan ditampilkan
Stringframes[]={"A","AL","ALQ","ALQO","ALQOD","ALQODR","ALQODRI"};// Menentukan variabel yang diperlukanint numFrames = frames.length;int currentFrame =0;long lastDisplay =0;int screenWidth =300;//lebar layarint screenHeight =100;//tinggi layarpublicstaticvoid 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));//mengaturfont}publicvoid paint(Graphics g){
g.drawString(frames[currentFrame],60,60);//membuatframe}publicvoid run(){
117
// membuat animasi (perulangan)do{long time = System.currentTimeMillis();if(time - lastDisplay > frameDelay){
repaint();try{
Thread.sleep(frameDelay);//berhenti selamaframeDelay=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 bisaberfungsiclass 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
// membuat animasi (perulangan)do{long time = System.currentTimeMillis();if(time - lastDisplay > frameDelay){
repaint();try{
Thread.sleep(frameDelay);//berhenti selamaframeDelay=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 bisaberfungsiclass 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
// membuat animasi (perulangan)do{long time = System.currentTimeMillis();if(time - lastDisplay > frameDelay){
repaint();try{
Thread.sleep(frameDelay);//berhenti selamaframeDelay=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 bisaberfungsiclass 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
118
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 rumahint x[]=newint[]{90,150,210};//x1,x2,x3int y[]=newint[]{260,200,260};//y1,y2,y3
//jalanint a[]=newint[]{584,240,413,584};//x1,x2,x3,x4int b[]=newint[]{200,460,460,320};//y1,y2,y3,y4
//garis jalan atasint e[]=newint[]{537,563,573,547};//x1,x2,x3,x4int f[]=newint[]{280,260,260,280};//y1,y2,y3,y4
//garis jalan tengahint c[]=newint[]{442,468,478,452};//x1,x2,x3,x4int d[]=newint[]{360,340,340,360};//y1,y2,y3,y4
//garis jalan bawahint g[]=newint[]{337,363,373,347};//x1,x2,x3,x4int h[]=newint[]{450,430,430,450};//y1,y2,y3,y4
public gambarJava(){//constructorsetBackground(new Color(207,245,243));//setBackground
dengan set warna secara manual}
publicvoid paint(Graphics k){//method paint
//rumput tanahk.setColor(new Color(130,235,24));//setColor secara
manual
118
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 rumahint x[]=newint[]{90,150,210};//x1,x2,x3int y[]=newint[]{260,200,260};//y1,y2,y3
//jalanint a[]=newint[]{584,240,413,584};//x1,x2,x3,x4int b[]=newint[]{200,460,460,320};//y1,y2,y3,y4
//garis jalan atasint e[]=newint[]{537,563,573,547};//x1,x2,x3,x4int f[]=newint[]{280,260,260,280};//y1,y2,y3,y4
//garis jalan tengahint c[]=newint[]{442,468,478,452};//x1,x2,x3,x4int d[]=newint[]{360,340,340,360};//y1,y2,y3,y4
//garis jalan bawahint g[]=newint[]{337,363,373,347};//x1,x2,x3,x4int h[]=newint[]{450,430,430,450};//y1,y2,y3,y4
public gambarJava(){//constructorsetBackground(new Color(207,245,243));//setBackground
dengan set warna secara manual}
publicvoid paint(Graphics k){//method paint
//rumput tanahk.setColor(new Color(130,235,24));//setColor secara
manual
118
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 rumahint x[]=newint[]{90,150,210};//x1,x2,x3int y[]=newint[]{260,200,260};//y1,y2,y3
//jalanint a[]=newint[]{584,240,413,584};//x1,x2,x3,x4int b[]=newint[]{200,460,460,320};//y1,y2,y3,y4
//garis jalan atasint e[]=newint[]{537,563,573,547};//x1,x2,x3,x4int f[]=newint[]{280,260,260,280};//y1,y2,y3,y4
//garis jalan tengahint c[]=newint[]{442,468,478,452};//x1,x2,x3,x4int d[]=newint[]{360,340,340,360};//y1,y2,y3,y4
//garis jalan bawahint g[]=newint[]{337,363,373,347};//x1,x2,x3,x4int h[]=newint[]{450,430,430,450};//y1,y2,y3,y4
public gambarJava(){//constructorsetBackground(new Color(207,245,243));//setBackground
dengan set warna secara manual}
publicvoid paint(Graphics k){//method paint
//rumput tanahk.setColor(new Color(130,235,24));//setColor secara
manual
119
k.fillRect(0,200,584,262);
//mataharik.setColor(Color.yellow);//setColor menjadi warna
kuningk.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 programfor(int i=1; i<=70;i++){
k.setColor(new Color(207,245,243));//setColordengan warna yang sama dengan warna langit
k.fillRect(0,0,300,200);//buat fillRect untukmenimpa gambar awan yang bergerak//awan
k.setColor(new Color(96,213,207));//setColorsecara manual
k.fillOval(120+i,60,70,40);//x,y maksudnya70,40 adalah agar bentuknya tidak bulat sempurna(ouval)
k.fillOval(140+i,70,70,40);//x+i maksudnyaagar 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 70i =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 mengaturkecepatan gerak. Harus menggunakan blok try-catch}catch(InterruptedException ex){
Logger.getLogger(gambarJava.class.getName()).log(Level.SEVERE, null, ex);}
//atap rumahk.setColor(new Color(177,115,29));//setColor secara
manualk.fillPolygon(x, y,3);//membuat fillPolygon dengan
jumlah titiknya 3, mengambil array dari x[] dan y[]
//cahaya mataharik.setColor(new Color(245,135,14));//setColor secara
manualk.drawLine(430,90,380,90);//garis kirik.drawLine(440,60,380,30);//garis kiri atask.drawLine(440,120,380,150);//garis kiri bawahk.drawLine(560,90,510,90);//garis kanank.drawLine(560,30,500,60);//garis kanan atas
119
k.fillRect(0,200,584,262);
//mataharik.setColor(Color.yellow);//setColor menjadi warna
kuningk.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 programfor(int i=1; i<=70;i++){
k.setColor(new Color(207,245,243));//setColordengan warna yang sama dengan warna langit
k.fillRect(0,0,300,200);//buat fillRect untukmenimpa gambar awan yang bergerak//awan
k.setColor(new Color(96,213,207));//setColorsecara manual
k.fillOval(120+i,60,70,40);//x,y maksudnya70,40 adalah agar bentuknya tidak bulat sempurna(ouval)
k.fillOval(140+i,70,70,40);//x+i maksudnyaagar 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 70i =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 mengaturkecepatan gerak. Harus menggunakan blok try-catch}catch(InterruptedException ex){
Logger.getLogger(gambarJava.class.getName()).log(Level.SEVERE, null, ex);}
//atap rumahk.setColor(new Color(177,115,29));//setColor secara
manualk.fillPolygon(x, y,3);//membuat fillPolygon dengan
jumlah titiknya 3, mengambil array dari x[] dan y[]
//cahaya mataharik.setColor(new Color(245,135,14));//setColor secara
manualk.drawLine(430,90,380,90);//garis kirik.drawLine(440,60,380,30);//garis kiri atask.drawLine(440,120,380,150);//garis kiri bawahk.drawLine(560,90,510,90);//garis kanank.drawLine(560,30,500,60);//garis kanan atas
119
k.fillRect(0,200,584,262);
//mataharik.setColor(Color.yellow);//setColor menjadi warna
kuningk.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 programfor(int i=1; i<=70;i++){
k.setColor(new Color(207,245,243));//setColordengan warna yang sama dengan warna langit
k.fillRect(0,0,300,200);//buat fillRect untukmenimpa gambar awan yang bergerak//awan
k.setColor(new Color(96,213,207));//setColorsecara manual
k.fillOval(120+i,60,70,40);//x,y maksudnya70,40 adalah agar bentuknya tidak bulat sempurna(ouval)
k.fillOval(140+i,70,70,40);//x+i maksudnyaagar 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 70i =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 mengaturkecepatan gerak. Harus menggunakan blok try-catch}catch(InterruptedException ex){
Logger.getLogger(gambarJava.class.getName()).log(Level.SEVERE, null, ex);}
//atap rumahk.setColor(new Color(177,115,29));//setColor secara
manualk.fillPolygon(x, y,3);//membuat fillPolygon dengan
jumlah titiknya 3, mengambil array dari x[] dan y[]
//cahaya mataharik.setColor(new Color(245,135,14));//setColor secara
manualk.drawLine(430,90,380,90);//garis kirik.drawLine(440,60,380,30);//garis kiri atask.drawLine(440,120,380,150);//garis kiri bawahk.drawLine(560,90,510,90);//garis kanank.drawLine(560,30,500,60);//garis kanan atas
120
k.drawLine(560,150,500,120);//garis kanan bawahk.drawLine(470,10,470,50);//garis atask.drawLine(470,130,470,170);//garis bawah
//dindingk.setColor(new Color(67,177,114));//setColor secara
manualk.fillRect(100,260,100,200);//titik koordinat x,y
lalu lebarnya,tingginya
//pintuk.setColor(new Color(252,176,63));//setColor secara
manualk.fillRect(150,370,50,90);//titik koordinat x,y lalu
lebarnya,tingginya
//gagang pintuk.setColor(new Color(92,86,39));//setColor secara
manualk.fillOval(185,415,10,10);//menentukan titik
koordinat x,y lalu lebar dan tinggi bulatan
//jalank.setColor(new Color(97,111,96));//setColor secara
manualk.fillPolygon(a, b,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari a[] dan b[]
//garis jalank.setColor(new Color(255,255,255));//setColor secara
manualk.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 FramegambarJava H =new gambarJava();//instansiasi class
gambarJavaf1.add(H);f1.setSize(600,500);//setSize windowf1.setVisible(true);//setVisible menjadi true agar
window dapat tampil}
}
120
k.drawLine(560,150,500,120);//garis kanan bawahk.drawLine(470,10,470,50);//garis atask.drawLine(470,130,470,170);//garis bawah
//dindingk.setColor(new Color(67,177,114));//setColor secara
manualk.fillRect(100,260,100,200);//titik koordinat x,y
lalu lebarnya,tingginya
//pintuk.setColor(new Color(252,176,63));//setColor secara
manualk.fillRect(150,370,50,90);//titik koordinat x,y lalu
lebarnya,tingginya
//gagang pintuk.setColor(new Color(92,86,39));//setColor secara
manualk.fillOval(185,415,10,10);//menentukan titik
koordinat x,y lalu lebar dan tinggi bulatan
//jalank.setColor(new Color(97,111,96));//setColor secara
manualk.fillPolygon(a, b,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari a[] dan b[]
//garis jalank.setColor(new Color(255,255,255));//setColor secara
manualk.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 FramegambarJava H =new gambarJava();//instansiasi class
gambarJavaf1.add(H);f1.setSize(600,500);//setSize windowf1.setVisible(true);//setVisible menjadi true agar
window dapat tampil}
}
120
k.drawLine(560,150,500,120);//garis kanan bawahk.drawLine(470,10,470,50);//garis atask.drawLine(470,130,470,170);//garis bawah
//dindingk.setColor(new Color(67,177,114));//setColor secara
manualk.fillRect(100,260,100,200);//titik koordinat x,y
lalu lebarnya,tingginya
//pintuk.setColor(new Color(252,176,63));//setColor secara
manualk.fillRect(150,370,50,90);//titik koordinat x,y lalu
lebarnya,tingginya
//gagang pintuk.setColor(new Color(92,86,39));//setColor secara
manualk.fillOval(185,415,10,10);//menentukan titik
koordinat x,y lalu lebar dan tinggi bulatan
//jalank.setColor(new Color(97,111,96));//setColor secara
manualk.fillPolygon(a, b,4);//membuat fillPolygon dengan
jumlah titiknya 4, mengambil array dari a[] dan b[]
//garis jalank.setColor(new Color(255,255,255));//setColor secara
manualk.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 FramegambarJava H =new gambarJava();//instansiasi class
gambarJavaf1.add(H);f1.setSize(600,500);//setSize windowf1.setVisible(true);//setVisible menjadi true agar
window dapat tampil}
}
121
Output Membuat Animasi Teks
Gambar 5. 5 tampilan hasil running animasi program
D. Aktivitas Pembelajaran17. Buat Kelas Java dengan nama Latihan8.java18. 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 waktudelay. Tuliskan Source Code berikut untuk membuat objek pada
method paint
G.setColor(Color.black);//warna jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND)/1000;G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/2)),(int)(PY+(-1*Math.cos(2*Math.PI*Detik/60)*Panjang/2)));
121
Output Membuat Animasi Teks
Gambar 5. 5 tampilan hasil running animasi program
D. Aktivitas Pembelajaran17. Buat Kelas Java dengan nama Latihan8.java18. 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 waktudelay. Tuliskan Source Code berikut untuk membuat objek pada
method paint
G.setColor(Color.black);//warna jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND)/1000;G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/2)),(int)(PY+(-1*Math.cos(2*Math.PI*Detik/60)*Panjang/2)));
121
Output Membuat Animasi Teks
Gambar 5. 5 tampilan hasil running animasi program
D. Aktivitas Pembelajaran17. Buat Kelas Java dengan nama Latihan8.java18. 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 waktudelay. Tuliskan Source Code berikut untuk membuat objek pada
method paint
G.setColor(Color.black);//warna jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND)/1000;G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/2)),(int)(PY+(-1*Math.cos(2*Math.PI*Detik/60)*Panjang/2)));
122
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(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND
122
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(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND
122
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(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint Panjang;if(getWidth()<getHeight())Panjang=getWidth()-100;else Panjang=getHeight()-100;
G.drawOval(PX-Panjang/2,PY-Panjang/2,Panjang,Panjang);floatDetik=Waktu(Calendar.SECOND)+(float)Waktu(Calendar.MILLISECOND
123
)/1000;
G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/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 /TugasBuatlah suatu objek jam analog yang mampu beroperasi selayaknyajam analog yang ditempelkan pada jam-jam dinding. Jam tersebutharus mampu melakukan rotasi jarum 1 detik dan jika mencapai 60detik maka jarum menit akan bergerak (selayaknya jam analog).Interval dari jam tersebut harus sesuai dengan interval detik pada jamanalog seperti biasanya.
Contoh Tampilan Program
123
)/1000;
G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/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 /TugasBuatlah suatu objek jam analog yang mampu beroperasi selayaknyajam analog yang ditempelkan pada jam-jam dinding. Jam tersebutharus mampu melakukan rotasi jarum 1 detik dan jika mencapai 60detik maka jarum menit akan bergerak (selayaknya jam analog).Interval dari jam tersebut harus sesuai dengan interval detik pada jamanalog seperti biasanya.
Contoh Tampilan Program
123
)/1000;
G.drawLine(PX,PY,(int)(PX+(Math.sin(2*Math.PI*Detik/60)*Panjang/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 /TugasBuatlah suatu objek jam analog yang mampu beroperasi selayaknyajam analog yang ditempelkan pada jam-jam dinding. Jam tersebutharus mampu melakukan rotasi jarum 1 detik dan jika mencapai 60detik maka jarum menit akan bergerak (selayaknya jam analog).Interval dari jam tersebut harus sesuai dengan interval detik pada jamanalog seperti biasanya.
Contoh Tampilan Program
124
Gambar 5. 7 Jalannya program jam
F. RangkumanTransformasi 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
Gambar 5. 7 Jalannya program jam
F. RangkumanTransformasi 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
Gambar 5. 7 Jalannya program jam
F. RangkumanTransformasi 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
125
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 Lanjut1. 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 Programpackage 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
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 Lanjut1. 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 Programpackage 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
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 Lanjut1. 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 Programpackage 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);
126
new javax.swing.Timer(1000,new ActionListener(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint 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));}
floatDetik=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/12)*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
new javax.swing.Timer(1000,new ActionListener(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint 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));}
floatDetik=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/12)*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
new javax.swing.Timer(1000,new ActionListener(){//mengaturkecepatan detik 1 detik 1000 mspublicvoid 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 jamint 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));}
floatDetik=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/12)*pjg/2.3)),(int)(PusatY+(-1*Math.cos(2*Math.PI*Jam/12)*pjg/2.3)));
G.fillOval(PusatX-5,PusatY-5,10,10);}
127
privateint Waktu(int Jenis){return Calendar.getInstance().get(Jenis);//mengambil nilai jamdi komputer}}
2. Tampilan Output Program
Gambar 5. 8 Hasil kompilasi program
127
privateint Waktu(int Jenis){return Calendar.getInstance().get(Jenis);//mengambil nilai jamdi komputer}}
2. Tampilan Output Program
Gambar 5. 8 Hasil kompilasi program
127
privateint Waktu(int Jenis){return Calendar.getInstance().get(Jenis);//mengambil nilai jamdi komputer}}
2. Tampilan Output Program
Gambar 5. 8 Hasil kompilasi program
128
EVALUASI
1.
Source codedi atas adalah source code untuk layout tipe Grid
Layout.Berapakah ukuran kolom dari frame yang diatur oleh Grid
Layouttersebut?
a. 2b. 3c. 4d. 5
2.
Perhatikan potongan source code di atas. Apakah yang terjadi jika pada
Check Box 2 juga bernilai true?
a. Kedua check box akan terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. 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 terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. Hanya Check box 3 yang terpilih
128
EVALUASI
1.
Source codedi atas adalah source code untuk layout tipe Grid
Layout.Berapakah ukuran kolom dari frame yang diatur oleh Grid
Layouttersebut?
a. 2b. 3c. 4d. 5
2.
Perhatikan potongan source code di atas. Apakah yang terjadi jika pada
Check Box 2 juga bernilai true?
a. Kedua check box akan terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. 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 terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. Hanya Check box 3 yang terpilih
128
EVALUASI
1.
Source codedi atas adalah source code untuk layout tipe Grid
Layout.Berapakah ukuran kolom dari frame yang diatur oleh Grid
Layouttersebut?
a. 2b. 3c. 4d. 5
2.
Perhatikan potongan source code di atas. Apakah yang terjadi jika pada
Check Box 2 juga bernilai true?
a. Kedua check box akan terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. 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 terpilihb. Error saat kompilasi programc. Hanya check box 2 yang terpilihd. Hanya Check box 3 yang terpilih
129
4. Tahap ke 4 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. Statement
5. Tahap ke 2 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. 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 darihasil input yang diberikan pada JTextField1 yang diberi nama variabel namadan JTextField2 yang diberi nama variabel nisna. 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
4. Tahap ke 4 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. Statement
5. Tahap ke 2 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. 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 darihasil input yang diberikan pada JTextField1 yang diberi nama variabel namadan JTextField2 yang diberi nama variabel nisna. 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
4. Tahap ke 4 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. Statement
5. Tahap ke 2 dalam membangun koneksi database berbasis JDBC adalaha. Connectionb. Driverc. Result Setd. 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 darihasil input yang diberikan pada JTextField1 yang diberi nama variabel namadan JTextField2 yang diberi nama variabel nisna. 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+”’)”;
130
9.
Periksalah code di atas. Analisis yang tepat jika code tersebut dijalankan
adalah
a. Ukuran button kiri dan kanan akan berukuran samab. tampilan hgap dan vgap berukuran samac. Akan menampilkan frame dengan layout Atas, Bawah, Kiri, Kanan dan
Tengahd. 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 atasb. Menampilkan kurva dengan titik balik di kiri atasc. Menampilkan kurva dengan titik balik di kiri bawahd. 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 ovaldengan lebar w = 200 pixel dan tinggi h = 150 pixel
130
9.
Periksalah code di atas. Analisis yang tepat jika code tersebut dijalankan
adalah
a. Ukuran button kiri dan kanan akan berukuran samab. tampilan hgap dan vgap berukuran samac. Akan menampilkan frame dengan layout Atas, Bawah, Kiri, Kanan dan
Tengahd. 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 atasb. Menampilkan kurva dengan titik balik di kiri atasc. Menampilkan kurva dengan titik balik di kiri bawahd. 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 ovaldengan lebar w = 200 pixel dan tinggi h = 150 pixel
130
9.
Periksalah code di atas. Analisis yang tepat jika code tersebut dijalankan
adalah
a. Ukuran button kiri dan kanan akan berukuran samab. tampilan hgap dan vgap berukuran samac. Akan menampilkan frame dengan layout Atas, Bawah, Kiri, Kanan dan
Tengahd. 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 atasb. Menampilkan kurva dengan titik balik di kiri atasc. Menampilkan kurva dengan titik balik di kiri bawahd. 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 ovaldengan lebar w = 200 pixel dan tinggi h = 150 pixel
131
b. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi h = 200 pixel dan lebar w = 150 pixel
c. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi x = 150 pixel dan lebar y = 200 pixel
d. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovalnilai 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
b. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi h = 200 pixel dan lebar w = 150 pixel
c. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi x = 150 pixel dan lebar y = 200 pixel
d. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovalnilai 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
b. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi h = 200 pixel dan lebar w = 150 pixel
c. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovaldengan tinggi x = 150 pixel dan lebar y = 200 pixel
d. Jika method di atas dipanggil, maka akan menampilkan suatu objek ovalnilai 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) {
132
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
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
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.
133
@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 berikutadalah
133
@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 berikutadalah
133
@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 berikutadalah
134
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
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
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);
}}
135
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
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
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);
}}
136
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
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
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
137137137
138
DAFTAR PUSTAKA
___. 2012. Custom Graphics, (online).(https://www3.ntu.edu.sg/home/ehchua/programming/java/J4b_CustomGraphics.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%20panduan%20prakitkum_19-21Jan2010/Panduan%20Praktikum%202009_1/PBO2_MI/), diakses 26Oktober 2015
Ardie. 2014. Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB,(online).(http://jagocoding.com/tutorial/468/Tutorial_Java_Desktop_2_Melakukan_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 12Oktober 2015
Bodnar. ____. Transformations, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 10 Oktober2015
138
DAFTAR PUSTAKA
___. 2012. Custom Graphics, (online).(https://www3.ntu.edu.sg/home/ehchua/programming/java/J4b_CustomGraphics.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%20panduan%20prakitkum_19-21Jan2010/Panduan%20Praktikum%202009_1/PBO2_MI/), diakses 26Oktober 2015
Ardie. 2014. Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB,(online).(http://jagocoding.com/tutorial/468/Tutorial_Java_Desktop_2_Melakukan_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 12Oktober 2015
Bodnar. ____. Transformations, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 10 Oktober2015
138
DAFTAR PUSTAKA
___. 2012. Custom Graphics, (online).(https://www3.ntu.edu.sg/home/ehchua/programming/java/J4b_CustomGraphics.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%20panduan%20prakitkum_19-21Jan2010/Panduan%20Praktikum%202009_1/PBO2_MI/), diakses 26Oktober 2015
Ardie. 2014. Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB,(online).(http://jagocoding.com/tutorial/468/Tutorial_Java_Desktop_2_Melakukan_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 12Oktober 2015
Bodnar. ____. Transformations, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 10 Oktober2015
139
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 15 Oktober2015
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/tutorials/javaswingtutorial/painting/), diakses pada 15Oktober 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/PENGENALAN+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 25September 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
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 15 Oktober2015
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/tutorials/javaswingtutorial/painting/), diakses pada 15Oktober 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/PENGENALAN+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 25September 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
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/gfx/java2d/transformations/), diakses pada 15 Oktober2015
Bodnar.___. Painting in Swing, (online),(http://zetcode.com/tutorials/javaswingtutorial/painting/), diakses pada 15Oktober 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/PENGENALAN+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 25September 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
140
Oracle Document. 2015. Graphics (Java Platform SE 7 b99), (online)(http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html), diaksespada 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 JavaNetbeans, (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 27September 2015
140
Oracle Document. 2015. Graphics (Java Platform SE 7 b99), (online)(http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html), diaksespada 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 JavaNetbeans, (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 27September 2015
140
Oracle Document. 2015. Graphics (Java Platform SE 7 b99), (online)(http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html), diaksespada 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 JavaNetbeans, (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 27September 2015
141141141
142
GLOSARIUM
Istilah DeskripsiAbstract WindowingToolkit (AWT)
Suatu model pengembangan bahasa JAVAnative, dimana kode program masih bersifatprimitif
ActionListener Bereaksi atas perubahan mouse atau ataukeyboard. Method pada event listener ini adalahactionperformed(actionevent).
BorderLayout Model layout membagi kontainer menjadi limabagian diantaranya utara, selatan, timur,barat, dan tengah
Class AWTEvent Akar dari semua awtbased eventsClass Color kelas yang dapat memberikan warna terhadap
objek gambar/tulisan yang terdapat pada FrameClass Font merupakan kelas yang dapat menampilkan
tulisan pada frame dengan warna-warnatertentu
Connection langkah kedua setelah langkah inisialisasiDriver untuk melakukan koneksi database
Create/Insert Untuk menambahkan record pada databaseDatabase suatu struktur penyimpanan data, dimana
tujuan penyimpanan tersebut akan mengolahsuatu data seperti melakukan insert database,update database, read database dan deletedatabase
Delegation of EventModel
Mekanisme event handling tentang bagaimanaprogram merespon input user
Delete Berkaitan dengan operasi untuk menghapussuatu record dalam database
Drag and Drop Suatu metode pengembangan komponen GUIdengan cara drag kemudian drop komponen keframe yang dikehendaki
drawLine() Method untuk membuat objek garisdrawLine() Method untuk membuat objek garisDriver suatu driver yang menjadi identitas koneksi
database yang dilakukanEvent Kejadian yang mucul ketika seorang user
berinteraksi dengan suatu aplikasiEvent listeners Berita dari event-event dan proses-proses
interaksi user
142
GLOSARIUM
Istilah DeskripsiAbstract WindowingToolkit (AWT)
Suatu model pengembangan bahasa JAVAnative, dimana kode program masih bersifatprimitif
ActionListener Bereaksi atas perubahan mouse atau ataukeyboard. Method pada event listener ini adalahactionperformed(actionevent).
BorderLayout Model layout membagi kontainer menjadi limabagian diantaranya utara, selatan, timur,barat, dan tengah
Class AWTEvent Akar dari semua awtbased eventsClass Color kelas yang dapat memberikan warna terhadap
objek gambar/tulisan yang terdapat pada FrameClass Font merupakan kelas yang dapat menampilkan
tulisan pada frame dengan warna-warnatertentu
Connection langkah kedua setelah langkah inisialisasiDriver untuk melakukan koneksi database
Create/Insert Untuk menambahkan record pada databaseDatabase suatu struktur penyimpanan data, dimana
tujuan penyimpanan tersebut akan mengolahsuatu data seperti melakukan insert database,update database, read database dan deletedatabase
Delegation of EventModel
Mekanisme event handling tentang bagaimanaprogram merespon input user
Delete Berkaitan dengan operasi untuk menghapussuatu record dalam database
Drag and Drop Suatu metode pengembangan komponen GUIdengan cara drag kemudian drop komponen keframe yang dikehendaki
drawLine() Method untuk membuat objek garisdrawLine() Method untuk membuat objek garisDriver suatu driver yang menjadi identitas koneksi
database yang dilakukanEvent Kejadian yang mucul ketika seorang user
berinteraksi dengan suatu aplikasiEvent listeners Berita dari event-event dan proses-proses
interaksi user
142
GLOSARIUM
Istilah DeskripsiAbstract WindowingToolkit (AWT)
Suatu model pengembangan bahasa JAVAnative, dimana kode program masih bersifatprimitif
ActionListener Bereaksi atas perubahan mouse atau ataukeyboard. Method pada event listener ini adalahactionperformed(actionevent).
BorderLayout Model layout membagi kontainer menjadi limabagian diantaranya utara, selatan, timur,barat, dan tengah
Class AWTEvent Akar dari semua awtbased eventsClass Color kelas yang dapat memberikan warna terhadap
objek gambar/tulisan yang terdapat pada FrameClass Font merupakan kelas yang dapat menampilkan
tulisan pada frame dengan warna-warnatertentu
Connection langkah kedua setelah langkah inisialisasiDriver untuk melakukan koneksi database
Create/Insert Untuk menambahkan record pada databaseDatabase suatu struktur penyimpanan data, dimana
tujuan penyimpanan tersebut akan mengolahsuatu data seperti melakukan insert database,update database, read database dan deletedatabase
Delegation of EventModel
Mekanisme event handling tentang bagaimanaprogram merespon input user
Delete Berkaitan dengan operasi untuk menghapussuatu record dalam database
Drag and Drop Suatu metode pengembangan komponen GUIdengan cara drag kemudian drop komponen keframe yang dikehendaki
drawLine() Method untuk membuat objek garisdrawLine() Method untuk membuat objek garisDriver suatu driver yang menjadi identitas koneksi
database yang dilakukanEvent Kejadian yang mucul ketika seorang user
berinteraksi dengan suatu aplikasiEvent listeners Berita dari event-event dan proses-proses
interaksi user
143
Istilah DeskripsiEvent handling Suatu proses penanganan interaksi yang
diberikan pada aplikasi, dimana penanganantersebut berupa pemberian respon terhadapinput yang ada
Event Object Event yang ditampilkan oleh objectEvent Source Komponen GUI yang men-generate eventfillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
fillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
FlowLayout model layout yang cara peletakan komponennyadimulai dari kiri ke kanan dan dari atas kebawah, 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 denganjudul, menubar, border dan pengatur ukurandi pojok. Memiliki empat konstruktor , duadiantaranya memiliki penulisan seperti dibawahini :
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
GridLayout Model layout yang membagi kontainer menjadibaris dan kolom
Handling proses penanganan terhadap event yang terjadiIstilah DeskripsiJApplet Turunan dan korepondensi ke Applet class
dalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
JApplet Turunan dan korepondensi ke Applet classdalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
Java DatabaseConnectivity (JDBC)
suatu fungsi dalam java yang menghubungkanaplikasi yang dibangun dengan menggunakanbahasa Java dengan database
JAVA GUI Model layout program JAVA yang menampilkanlayout dengan model grafik denganmenampilkan beberapa komponen tidak hanyatext
Java.awt.Graphics Teknologi grafis yang mampu melakukanrendering grafis dengan jenis teks, gambarvektor dan gambar bitmap
143
Istilah DeskripsiEvent handling Suatu proses penanganan interaksi yang
diberikan pada aplikasi, dimana penanganantersebut berupa pemberian respon terhadapinput yang ada
Event Object Event yang ditampilkan oleh objectEvent Source Komponen GUI yang men-generate eventfillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
fillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
FlowLayout model layout yang cara peletakan komponennyadimulai dari kiri ke kanan dan dari atas kebawah, 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 denganjudul, menubar, border dan pengatur ukurandi pojok. Memiliki empat konstruktor , duadiantaranya memiliki penulisan seperti dibawahini :
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
GridLayout Model layout yang membagi kontainer menjadibaris dan kolom
Handling proses penanganan terhadap event yang terjadiIstilah DeskripsiJApplet Turunan dan korepondensi ke Applet class
dalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
JApplet Turunan dan korepondensi ke Applet classdalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
Java DatabaseConnectivity (JDBC)
suatu fungsi dalam java yang menghubungkanaplikasi yang dibangun dengan menggunakanbahasa Java dengan database
JAVA GUI Model layout program JAVA yang menampilkanlayout dengan model grafik denganmenampilkan beberapa komponen tidak hanyatext
Java.awt.Graphics Teknologi grafis yang mampu melakukanrendering grafis dengan jenis teks, gambarvektor dan gambar bitmap
143
Istilah DeskripsiEvent handling Suatu proses penanganan interaksi yang
diberikan pada aplikasi, dimana penanganantersebut berupa pemberian respon terhadapinput yang ada
Event Object Event yang ditampilkan oleh objectEvent Source Komponen GUI yang men-generate eventfillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
fillRect(int x, int y,int width, int height)
Mengisi sesuatu pada bujur sangkar yangdipilih
FlowLayout model layout yang cara peletakan komponennyadimulai dari kiri ke kanan dan dari atas kebawah, 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 denganjudul, menubar, border dan pengatur ukurandi pojok. Memiliki empat konstruktor , duadiantaranya memiliki penulisan seperti dibawahini :
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
Graphics2D sub kelas dari kelas Graphics yang terdapatpada bahasa JAVA
GridLayout Model layout yang membagi kontainer menjadibaris dan kolom
Handling proses penanganan terhadap event yang terjadiIstilah DeskripsiJApplet Turunan dan korepondensi ke Applet class
dalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
JApplet Turunan dan korepondensi ke Applet classdalam package AWT. Juga sedikit tidak cocokdengan applet class dalam kaitannya denganmenambahkan komponen pada container
Java DatabaseConnectivity (JDBC)
suatu fungsi dalam java yang menghubungkanaplikasi yang dibangun dengan menggunakanbahasa Java dengan database
JAVA GUI Model layout program JAVA yang menampilkanlayout dengan model grafik denganmenampilkan beberapa komponen tidak hanyatext
Java.awt.Graphics Teknologi grafis yang mampu melakukanrendering grafis dengan jenis teks, gambarvektor dan gambar bitmap
144
Istilah DeskripsiJButton Tombol “push”. Korespondesi pada button class
dalam package AWTJCheckBox Item yang dapat dipilih atau tidak oleh
pengguna. Korespondensi padaJColorChooser Turunan Jcomponent. Mengijinkan pengguna
untuk memilih warnaJComponent Kelas induk untuk semua komponen Swing,
tidak termasuk top-level container checkboxclass dalam package AWT
JDBC API Penyedia metode akses sederhana ke sumberdata relational (RDBMS) menggunakanpemrograman Java
JDBC Driver Manager Defisikan object-object yang dapat digunakanuntuk melakukan koneksi ke sebuah sumberdata
JDBC TestSuite membantu untuk mencara driver mana yangcocok digunakan untuk melakukan sebuahkoneksi ke sumber data tertentu
JDBC-ODBC Bridge Penyedia fasilitas JDBC untuk melakukankoneksi ke sumber data menggunakan ODBC(Open DataBase Connectivity) driver
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JOptionPane Turunan Jcomponent. Disediakan untuk
144
Istilah DeskripsiJButton Tombol “push”. Korespondesi pada button class
dalam package AWTJCheckBox Item yang dapat dipilih atau tidak oleh
pengguna. Korespondensi padaJColorChooser Turunan Jcomponent. Mengijinkan pengguna
untuk memilih warnaJComponent Kelas induk untuk semua komponen Swing,
tidak termasuk top-level container checkboxclass dalam package AWT
JDBC API Penyedia metode akses sederhana ke sumberdata relational (RDBMS) menggunakanpemrograman Java
JDBC Driver Manager Defisikan object-object yang dapat digunakanuntuk melakukan koneksi ke sebuah sumberdata
JDBC TestSuite membantu untuk mencara driver mana yangcocok digunakan untuk melakukan sebuahkoneksi ke sumber data tertentu
JDBC-ODBC Bridge Penyedia fasilitas JDBC untuk melakukankoneksi ke sumber data menggunakan ODBC(Open DataBase Connectivity) driver
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JOptionPane Turunan Jcomponent. Disediakan untuk
144
Istilah DeskripsiJButton Tombol “push”. Korespondesi pada button class
dalam package AWTJCheckBox Item yang dapat dipilih atau tidak oleh
pengguna. Korespondensi padaJColorChooser Turunan Jcomponent. Mengijinkan pengguna
untuk memilih warnaJComponent Kelas induk untuk semua komponen Swing,
tidak termasuk top-level container checkboxclass dalam package AWT
JDBC API Penyedia metode akses sederhana ke sumberdata relational (RDBMS) menggunakanpemrograman Java
JDBC Driver Manager Defisikan object-object yang dapat digunakanuntuk melakukan koneksi ke sebuah sumberdata
JDBC TestSuite membantu untuk mencara driver mana yangcocok digunakan untuk melakukan sebuahkoneksi ke sumber data tertentu
JDBC-ODBC Bridge Penyedia fasilitas JDBC untuk melakukankoneksi ke sumber data menggunakan ODBC(Open DataBase Connectivity) driver
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JDialog Turunan dan korespondensi pada dialog classdalam package AWT. Biasanya digunakanuntuk menginformasikan sesuatu kepadapengguna atau prompt pengguna untuk input.
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFileChooser Mengijinkan pengguna untuk memilih sebuahfile. Korespondensi pada cfilechooser classdalam package AWT
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JFrame Turunan dan korepondensi pada frame classdalam package AWT tetapi keduanya sedikittidak cocok dalam kaitannya denganmenambahkan komponen pada kontainer. Perlumendapatkan content pane yang terbarusebelum menambah sebuah komponen.
JOptionPane Turunan Jcomponent. Disediakan untuk
145
Istilah Deskripsimempermudah menampilkan pop- up kotakdialog.
JOptionPane Turunan Jcomponent. Disediakan untukmempermudah menampilkan pop- up kotakdialog.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalamlistener ini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
Komponen Abstract Class untuk objek yang dapatditampilkan pada console dan berinteraksidengang user. Bagian utama dari semua kelasAWT.
Kontainer Abstract Subclass dari Component Class.Sebuah komponen yang dapat menampungkomponen yang lainnya.
Layout Suatu pengaturan tampilan pada FrameMouseListener Bereaksi atas pergerakan mouse. Terdapat
setidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag danpemindahan mouse. Method yang digunakanoleh interface ini adalahmouseDragged(MouseEvent)
145
Istilah Deskripsimempermudah menampilkan pop- up kotakdialog.
JOptionPane Turunan Jcomponent. Disediakan untukmempermudah menampilkan pop- up kotakdialog.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalamlistener ini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
Komponen Abstract Class untuk objek yang dapatditampilkan pada console dan berinteraksidengang user. Bagian utama dari semua kelasAWT.
Kontainer Abstract Subclass dari Component Class.Sebuah komponen yang dapat menampungkomponen yang lainnya.
Layout Suatu pengaturan tampilan pada FrameMouseListener Bereaksi atas pergerakan mouse. Terdapat
setidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag danpemindahan mouse. Method yang digunakanoleh interface ini adalahmouseDragged(MouseEvent)
145
Istilah Deskripsimempermudah menampilkan pop- up kotakdialog.
JOptionPane Turunan Jcomponent. Disediakan untukmempermudah menampilkan pop- up kotakdialog.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JPanel Turunan Jcomponent. Kontainer classsederhana tetapi bukan top-level.Korespondensi pada panel class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
JTextField Mengijinkan untuk mengedit text satu baris.Korespondensi pada textfield class dalampackage AWT.
KeyListener Untuk memberikan reaksi terhadap interaksiyang terdapat pada keyboard. Setidaknyaterdapat 3 method yang digunakan dalamlistener ini, yaitu:a. keyPressed(KeyEvent)b. keyReleased(KeyEvent)c. keyTyped(KeyEvent)
Komponen Abstract Class untuk objek yang dapatditampilkan pada console dan berinteraksidengang user. Bagian utama dari semua kelasAWT.
Kontainer Abstract Subclass dari Component Class.Sebuah komponen yang dapat menampungkomponen yang lainnya.
Layout Suatu pengaturan tampilan pada FrameMouseListener Bereaksi atas pergerakan mouse. Terdapat
setidaknya 5 method yang terdapat pada eventlisterner ini:a. mouseClicked(MouseEvent)b. mousePressed(MouseEvent)c. mouseReleased(MouseEvent)d. mouseEntered(MouseEvent)e. mouseExited(MouseEvent)
MouseMotionListenerInterface
Untuk mendukung event MouseListener.Menyediakan method yang akan memantaupergerakan mouse, seperti drag danpemindahan mouse. Method yang digunakanoleh interface ini adalahmouseDragged(MouseEvent)
146
Istilah DeskripsiNetBeans Suatu tool untuk membuat program dengan
menggunakan bahasa pemrograman Javaberbasis grafis maupun teks
Panel Turunan dari Container Class. Sebuah frameatau window tanpa titlebar, menubar tidaktermasuk border. Superclass dari applet class.
Read/View Menampilkan record databaseResultSet variabel hasil operasi query yang dijalankanRotasi Bentuk transformasi yang digunakan untuk
memutar posisisuatu benda terhadap suatu titikkordinat
Scalling Bentuk transformasi yang dapat mengubahukuran (besar maupun kecilnya) suatu objek
Statement Kelas pada Java yang digunakan untukmengeksekusi suatu query
Swing Swing merupakan suatu cara untuk pembuatanaplikasi yang berbasis GUI (Graphical UserInterface) di Java dengan pendekatan yanglebih baru dan lebih bagus hasilnya
Thread Suatu metode untuk memproses suatu prosesprogram dengan cara mengakses suatu modulprogram yang dieksekusi secara urut ataupunbersamaan
Transformasi Suatu operasi memodifikasi bentuk objek tanpamerusak bentuk dasar dari objek yangditransformasikan
Translasi Bentuk transformasi yang memindahkan posisisuatu objek, baik pada sumbu x, sumbu y, ataubahkan sumbu z (jika pada objek 2 dimensimaka yang berpindah adalah sumbu x dan ysaja)
Update Memperbarui record dari database berdasarkankategori tertentu
Viewport Pemetaan tampilan layar sehingga objek dapatterlihat pada titik kordinat tertentu
Window Turunan dari Container class. Top levelwindow, dimana berarti tidak bisadimasukkan dalam objek yang lainnya.Tidakmemiliki border dan menubar.
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 4 method pada listener ini, yaitu:
a. windowClosing(WindowEvent)b. windowOpened(WindowEvent)c. windowActived(WindowEvent)d. windowDeactived(WindowEvent)
146
Istilah DeskripsiNetBeans Suatu tool untuk membuat program dengan
menggunakan bahasa pemrograman Javaberbasis grafis maupun teks
Panel Turunan dari Container Class. Sebuah frameatau window tanpa titlebar, menubar tidaktermasuk border. Superclass dari applet class.
Read/View Menampilkan record databaseResultSet variabel hasil operasi query yang dijalankanRotasi Bentuk transformasi yang digunakan untuk
memutar posisisuatu benda terhadap suatu titikkordinat
Scalling Bentuk transformasi yang dapat mengubahukuran (besar maupun kecilnya) suatu objek
Statement Kelas pada Java yang digunakan untukmengeksekusi suatu query
Swing Swing merupakan suatu cara untuk pembuatanaplikasi yang berbasis GUI (Graphical UserInterface) di Java dengan pendekatan yanglebih baru dan lebih bagus hasilnya
Thread Suatu metode untuk memproses suatu prosesprogram dengan cara mengakses suatu modulprogram yang dieksekusi secara urut ataupunbersamaan
Transformasi Suatu operasi memodifikasi bentuk objek tanpamerusak bentuk dasar dari objek yangditransformasikan
Translasi Bentuk transformasi yang memindahkan posisisuatu objek, baik pada sumbu x, sumbu y, ataubahkan sumbu z (jika pada objek 2 dimensimaka yang berpindah adalah sumbu x dan ysaja)
Update Memperbarui record dari database berdasarkankategori tertentu
Viewport Pemetaan tampilan layar sehingga objek dapatterlihat pada titik kordinat tertentu
Window Turunan dari Container class. Top levelwindow, dimana berarti tidak bisadimasukkan dalam objek yang lainnya.Tidakmemiliki border dan menubar.
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 4 method pada listener ini, yaitu:
a. windowClosing(WindowEvent)b. windowOpened(WindowEvent)c. windowActived(WindowEvent)d. windowDeactived(WindowEvent)
146
Istilah DeskripsiNetBeans Suatu tool untuk membuat program dengan
menggunakan bahasa pemrograman Javaberbasis grafis maupun teks
Panel Turunan dari Container Class. Sebuah frameatau window tanpa titlebar, menubar tidaktermasuk border. Superclass dari applet class.
Read/View Menampilkan record databaseResultSet variabel hasil operasi query yang dijalankanRotasi Bentuk transformasi yang digunakan untuk
memutar posisisuatu benda terhadap suatu titikkordinat
Scalling Bentuk transformasi yang dapat mengubahukuran (besar maupun kecilnya) suatu objek
Statement Kelas pada Java yang digunakan untukmengeksekusi suatu query
Swing Swing merupakan suatu cara untuk pembuatanaplikasi yang berbasis GUI (Graphical UserInterface) di Java dengan pendekatan yanglebih baru dan lebih bagus hasilnya
Thread Suatu metode untuk memproses suatu prosesprogram dengan cara mengakses suatu modulprogram yang dieksekusi secara urut ataupunbersamaan
Transformasi Suatu operasi memodifikasi bentuk objek tanpamerusak bentuk dasar dari objek yangditransformasikan
Translasi Bentuk transformasi yang memindahkan posisisuatu objek, baik pada sumbu x, sumbu y, ataubahkan sumbu z (jika pada objek 2 dimensimaka yang berpindah adalah sumbu x dan ysaja)
Update Memperbarui record dari database berdasarkankategori tertentu
Viewport Pemetaan tampilan layar sehingga objek dapatterlihat pada titik kordinat tertentu
Window Turunan dari Container class. Top levelwindow, dimana berarti tidak bisadimasukkan dalam objek yang lainnya.Tidakmemiliki border dan menubar.
WindowListener Bereaksi atas perubahan window. Terdapatsetidaknya 4 method pada listener ini, yaitu:
a. windowClosing(WindowEvent)b. windowOpened(WindowEvent)c. windowActived(WindowEvent)d. windowDeactived(WindowEvent)