Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

RPL G

hgfhgfhgf

MODUL GURU PEMBELAJAR PAKET KEAHLIAN PEDAGOGIK KELOMPOK KOMPETENSI G Penulis : Drs. Muh. Hasri, M.Hum. Direktorat Jenderal Guru dan Tenaga Kependidikan Kementrian Pendidikan dan Kebudayaan Tahun 2016 HALAMAN PERANCIS Penulis: Drs. Muh. Hasri, M.Hum [ ] Email : Penelaah: 1. Prof. Dr. Dadang Supardan., M.Pd [08170258280] Email : dadangsupardan@gmail.com 2. Dr. Uum Suminar, M.Pd [081320320055] Email : uum.suminar@yahoo.com Ilustrator : 1. Faizal Reza Nurzeha, A.Md [085242177945] Email : faizalrezanurzeha@gmail.com Layouter : 1. Janwar Fajrin, S.T [085299970328] Email : djanwar_fajrin@yahoo.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 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 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 iii iv 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. 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, Dr. H. Rusdi, M.Pd NIP 19650430 199103 1004 v vi DAFTAR ISI KATA SAMBUTAN........................................................................................................iii KATA PENGANTAR..................................................................................................... v DAFTAR ISI .................................................................................................................. viii PENDAHULUAN ........................................................................................................... 1 A. Latar Belakang ....................................................................................................... 1 B. Tujuan ....................................................................................................................... 3 C. Peta Kompetensi ................................................................................................... 3 D. Ruang Lingkup ....................................................................................................... 4 E. Strategi Penggunaan Modul .............................................................................. 4 Kegiatan Pembelajaran 1 : Konsep dan Prinsip Komunikasi Efektif dalam Pembelajaran ................................................................................................................. 6 A. Tujuan ....................................................................................................................... 6 B. Indikator Pencapaian Kompetensi ................................................................... 6 C. Uraian Materi .......................................................................................................... 6 1. Konsep dan Prinsip Komunikasi .................................................................. 6 2. Konsep dan Prinsip Pembelajaran............................................................ 16 3. Komunikasi Efektif dalam Pembelajaran ................................................ 24 D. Aktifitas Pembelajaran ....................................................................................... 27 E. Latihan/kasus/Tugas .......................................................................................... 27 F. Rangkuman ........................................................................................................... 27 G. Umpan Balik dan Tindak Lanjut ...................................................................... 28 F. Kunci Jawaban ..................................................................................................... 28 KEGIATAN PEMBELAJARAN 2 : .......................................................................... 31 STRATEGI, MODEL, METODE, DAN TEKNIK KOMUNIKASI EFEKTIF DALAM PEMBELAJARAN ....................................................................................... 31 A. Tujuan ..................................................................................................................... 31 B. Indikator Pencapaian Kompetensi ................................................................. 31 vii C. Uraian Materi ........................................................................................................ 32 1. Model Komunikasi Berdasarkan Teori Belajar ..................................... 32 2. Metode dan teknik Komunikasi Efektif dalam Pembelajaran ............ 36 3. Praktik Komunikasi fektif dalam Pembelajaran ..................................... 48 D. Aktivitas Pembelajaran ...................................................................................... 53 E. Latihan/ Kasus/ Tugas ....................................................................................... 53 F. Rangkuman. .......................................................................................................... 54 G. Umpan Balik dan Tindak Lanjut ...................................................................... 55 H. Kunci jawaban. ..................................................................................................... 57 KEGIATAN PEMBELAJARAN 3 : ........................................................................... 62 HAMBATAN DAN SOLUSI KOMUNIKASI EFEKTIF ....................................... 62 A. Tujuan ..................................................................................................................... 62 B. Indikator Pencapaian Kompetensi.................................................................. 62 C. Uraian Materi ........................................................................................................ 62 D. Aktivitas Pembelajaran ...................................................................................... 67 E. Latihan / Kasus / Tugas ..................................................................................... 67 F. Rangkuman ............................................................................................................ 67 G. Umpan Balik dan Tindak Lanjut ....................................................................... 68 DAFTAR PUSTAKA .................................................................................................... 70 viii PENDAHULUAN A. Latar Belakang Kemampuan berkomunikasi menjadi mutlak bagi setiap manusia. Kehidupan akan sangat sulit bila kemampuan ini tidak dimiliki. Dalam kehidupan sehari-hari manusia selalu berhubungan dengan manusia lain. Berhubungan dengan manusia lain berarti berinteraksi dan beinterelasi. Hal itu akan lebih sempurna dan bermakna jika diiringi dengan kemampuan berkomunikasi bagi anggota masyarakat. Bahkan ada yang mengatakan, kehidupan itu sendiri adalah komunikasi, tanpa komunikasi kehidupan nyaris tidak ada. Atau sekurang-kurangnya kehidupan itu akan hambar dan tanpa makna jika komunikasi tidak ada. Pada zaman modern ini, kemampuan berkomunikasi menjadi mutlak dimiliki oleh semua orang. Ditinjau dari prosesnya, pendidikan adalah komunikasi dalam arti kata bahwa dalam proses tersebut terlibat dua komponen yang terdiri atas manusia, yakni guru sebagai komunikator dan peserta didik sebagai komunikan atau sebaliknya. Komunikan dan komunikator bisa pula terjadi antara satu peserta didik dengan peserta didik lainnya. Komunikasi yang didambakan setiap orang adalah komunikasi yang efektif. Komunikasi yang efektif merupakan komunikasi yang berdayaguna dan berhasilguna. Komunikasi ini memiliki kemampuan yang ampuh untuk menciptakan interaksi bermakna antarindividu, antara individu dengan kelompok, dan antara kelompok dengan kelompok. Oleh karena itu, komunikasi efektif diperlukan bagi setiap individu di dalam kelompoknya dan bagi kelompok di tengah kelompok lain. Jadi, kemampuan berkomunikasi yang sangat dibutuhkan pada hakikatnya adalah komunikasi yang efektif. 1 Kualitas pembelajaran dipengaruhi oleh efektif tidaknya komunikasi yang terjadi di dalamnya. Komunikasi efektif dalam pembelajaran merupakan proses transformasi pesan berupa ilmu pengetahuan dan teknologi dari pendidik kepada peserta didik, dimana peserta didik mampu memahami maksud pesan sesuai dengan tujuan yang telah ditentukan, sehingga menambah wawasan ilmu pengetahuan dan teknologi serta menimbulkan perubahan tingkah laku menjadi lebih baik. Guru adalah pihak yang paling bertanggungjawab terhadap berlangsungnya komunikasi yang efektif dalam pembelajaran, sehingga mereka dituntut memiliki kemampuan berkomunikasi yang baik agar menghasilkan proses pembelajaran yang efektif. Kegiatan pembelajaran merupakan proses transformasi pesan edukatif berupa materi belajar dari sumber belajar kepada pembelajar. Dalam pembelajaran terjadi proses komunikasi untuk menyampaikan pesan dari pendidik kepada peserta didik dengan tujuan agar pesan dapat diterima dengan baik dan berpengaruh terhadap pemahaman serta perubahan tingkah laku. Dengan demikian keberhasilan kegiatan pembelajaran sangat tergantung kepada efektivitas proses komunikasi yang terjadi dalam pembelajaran tersebut. Dalam proses pembelajaran, komunikasi digunakan untuk menyampaikan pesan, baik itu berupa ilmu pengetahuan maupun teknologi. Berhasil tidaknya informasi yang disampaikan kepada para peserta didik sangat ditentukan oleh keefektifan komunikasi. Untuk menciptakan proses komunikasi yang efektif, pendidik harus memahami seluk beluk komunikasi pembelajaran, antara lain mengenai metode yang tepat dalam komunikasi pembelajaran, strategi untuk meningkatkan efektivitas komunikasi dalam pembelajaran, serta yang tak kalah pentingnya adalah mengenai hambatan yang seringkali muncul dalam komunikasi pembelajaran. Tidak cukup hanya mengetahui dan memahami hal-hal tersebut, pendidik juga harus mampu menerapkan metode komunikasi yang tepat dalam 2 kegiatan pembelajaran dan strategi yang tepat untuk meningkatkan efektivitas komunikasi dalam pembelajaran. Selain itu, pendidik juga harus mampu mengantisipasi dan mengatasi hambatan komunikasi, baik yang berasal dari peserta didik maupun pendidik itu sendiri. Maka dari itu, hal-hal tersebut penting sekali untuk dibahas dan dikaji. B. Tujuan Secara umum bahan ajar ini bertujuan untuk: 7.1 Memahami konsep dan prinsip komunikasi efektif dalam pembelajaran 7.1.1 Mengemukakan konsep dan prinsip komunikasi 7.1.2 Mengemukakan konsep dan prinsip pembelajaran 7.1.3 Mengemukakan konsep komunikasi efektif dalam pembelajaran 7.2 Memahami strategi, model, metode, dan teknik komunikasi efektif dalam pembelajaran 7.2.1 Mengemukakan strategi dan model komunikasi pembelajaran berdasarkan teori belajar 7.2.2 Mengemukakan metode dan teknik komunikasi efektif dalam pembelajaran 7.2.3 Mempraktikkan komunikasi efektif dalam pembelajaran 7.3 Mengatasi hambatan pelaksanaan komunikasi efektif dalam pembelajaran. 7.3.1 Mengidentifikasi hambatan komunkasi efektif. 7.3.2 Menemukan solusi atas hambatan yang ditemukan dalam komunikasi efektif. C. Peta Kompetensi Berikut ini disajikan pemetaan materi komunikasi efektif dalam pembelajaran yang tertuang dalam modul ini. 3 Konsep dan Prinsip Koef Konsep Dasar Koef Prinsip Dasar Koef Strategi dan Model Koef Strategi Koef Komunikasi Efektif Metode dan Teknik Koef Praktik Koef Hambatan Hambatan Koef Solusi atas Hambatan D. Ruang Lingkup Modul ini membahas komunikasi efektif dalam pembelajaran dengan ruang lingkup sebagai berikut ini. 1. Konsep dan prinsip komunikasi efektif dalam pembelajaran 2. Strategi, Model, Metode, dan Teknik komunikasi efektiif dalam pembelajaran 3. Hambatan komunikasi efektif dalam pembelajaran E. Strategi Penggunaan Modul Modul ini digunakan sebagai bahan untuk peningkatan kompetensi guru melalui Diklat PKB. Modul ini dapat digunakan sebagai bahan diklat dalam bentuk tatap muka dan dapat pula sebagai bahan belajar mandiri bagi guru yang berkeinginan mengembangkan kompetensinya. Dalam kegiatan tatap muka modul ini dapat digunakan sebagai bahan berdiskusi sesama peserta di bawah kordinasi narasumber. 4 5 Kegiatan Pembelajaran 1 : Konsep dan Prinsip Komunikasi Efektif dalam Pembelajaran A. Tujuan Setelah menyelesaikan bab ini diharapkan peserta diklat dapat: 7.1.1 Mengemukakan konsep dan prinsip komunikasi 7.1.2 Mengemukakan konsep dan prinsip pembelajaran B. Indikator Pencapaian Kompetensi 1. menjelaskan konsep komunikasi 2. menjelaskan konsep pembelajaran 3. menjelaskan konsep komunikasi efektif dalam pembelajaran 4. menjelaskan prinsip-prinsip komunikasi 5. menjelaskan prinsip-prinsip pembelajaran C. Uraian Materi 1. Konsep dan Prinsip Komunikasi Komunikasi adalah faktor yang sangat penting dalam kegiatan belajar mengajar. Komunikasi yang efektif sangat diperlukan agar pesan yang disampaikan oleh guru dapat diterima dengan baik oleh peserta didik. Sebagai komunikator, seorang guru harus menguasai strategi, metode dan tehnik komunikasi yang efektif dalam pembelajaran. Secara etimologi, komunikasi berasal dari kata communicare yang berarti “membuat sama”. Definisi kontemporer menyatakan bahwa komunikasi berarti “mengirim pesan”. Menurut (Effendy. 2003: 9) istilah komunikasi (communication) berasal dari kata latin communication, dan bersumber dari kata communis yang berarti sama. Sama di sini maksudnya adalah sama makna. 6 Menurut Eveert M.Rogers komunikasi merupakan sebuah proses mengirimkan gagasan dari sumber kepada penerima dengan tujuan untuk merubah perilakunya. Pendapat serupa dikemukan oleh Theodore Herbert yang mendefinisikan komunikasi sebagai proses yang di dalamnya menunjukkan arti pengetahuan dipindahkan dari seseorang kepada orang lain, biasanya dengan maksud mencapai beberapa tujuan khusus, sedangkan menurut Carl I. Hovland, komunikasi adalah proses yang memungkinkan seseorang (komunikator) menyampaikan rangsangan (biasanya lambang-lambang verbal) untuk mengubah perilaku orang lain (komunikan). Sementara itu Theodore M. Newcomb berpendapat bahwa, setiap tindakan komunikasi dipandang sebagai suatu transmisi informsi, terdiri atas rangsangan yang diskriminatif, dari sumber kepada penerima. Seorang pemikir komunikasi yang cukup terkenal, Wilbur Schramm memiliki pengertian yang lebih detil. Menurutnya, komunikasi merupakan tindakan yang melaksanakan kontak antara pengirim dan penerima, dengan bantuan pesan; pengirim dan penerima memiliki beberapa pengalaman bersama yang memberi arti pada pesan dan simbol yang dikirim oleh pengirim, dan diterima serta ditafsirkan oleh penerima. Dari penjelasan di atas dapat disimpulkan, bahwa komunikasi dalam pembelajaran pada dasarnya merupakan suatu proses penyampaian informasi dari guru sebagai komunikator terhadap peserta didik sebagai komunikan melalui berbagai rangsangan dengan tujuan untuk mengubah prilaku peserta didik. Kesuksesan komunikasi bergantung kepada design pesan atau informasi dan cara penyampaiannya. Untuk itu guru perlu mengetahui unsur- unsur komunikasi, yakni : 1. Komunikator. Komunikator merupakan sumber dan pengirim pesan. Kredibilitas komunikator yang membuat komunikan percaya terhadap isi pesan angat berpengaruh terhadap keberhasilan komunikasi. 7 2. Pesan, Pesan harus memiliki daya tarik tersendiri, sesuai dengan kebutuhan penerima pesan, kesamaan pengalaman tentang pesan dan ada peran pesan dalam memenuhi kebutuhan penerima pesan. 3. Media. Metode dan media yang digunakan dalam proses komunikasi harus disesuaikan dengan kondisi atau karakteristik penerima pesan. 4. Komunikan. Agar komunikasi berjalan lancar, komunikan harus mampu menafsirkan pesan, sadar bahwa pesan sesuai dengan kebutuhannya, dan harus ada perhatian terhadap pesan yang diterima. 5. Efek. Terjadinya efek dalam suatu proses komunikasi sangat tergantung kepada cara penyampaian pesan dari komunikator kepada komunikan serta kebutuhan komunikan terhadap pesan yang disampaikan. Untuk lebih jelasnya perhatikan diagram di bawah ini. Sebagai penjabaran lebih jauh dari definisi dan hakekat komunikasi, Deddy Mulyana, Ph. D menguraikan 12 prinsip-prinsip komunikasi sebagai berikut: a. Komunikasi adalah proses simbolik. Komunikasi adalah sesuatu yang bersifat dinamis, sirkular dan tidak berakhir pada suatu titik, tetapi terus berkelanjutan. Salah satu kebutuhan pokok manusia, seperti dikatakan oleh Susanne K. Langer, adalah kebutuhan simbolisasi atau penggunaan lambang. Manusia memang satu- 8 satunya hewan yang menggunakan lambang, dan itulah yang membedakan manusia dengan makhluk lainnya. Ernst Cassier mengatakan bahwa keunggulan manusia atas makhluk lainnya adalah keistimewaan mereka sebagai animal symbolicum. Lambang atau simbol adalah sesuatu yang digunakan untuk menunjuk sesuatu lainnya, berdasarkan kesepakatan sekelompok orang. Lambang meliputi kata-kata (pesan verbal), perilaku non-verbal, dan objek yang maknanya disepakati bersama, misalnya memasang bendera di halaman rumah untuk menyatakan penghormatan atau kecintaan kepada negara. Kemampuan manusia menggunakan lambang verbal memungkinkan perkembangan bahasa dan menangani hubungan antara manusia dan objek ( baik nyata ataupun abstrak) tanpa kehadiran manusia dan objek tersebut. Lambang adalah salah satu kategori tanda. Hubungan antara tanda dengan objek dapat juga direpresentasikan oleh ikon dan indeks, namun ikon dan indeks tidak memerlukan kesepakatan. Ikon adalah suatu benda fisik (dua atau tiga dimensi) yang menyerupai apa yang direpresenasikannya. Representasi ini ditandai dengan kemiripan. Misalnya patung Soekarno adalah ikon Soekarno, dan foto pada KTP Anda adalah ikon Anda. Berbeda dengan lambang dan ikon, indeks adalah tanda yang secara alamiah mempresentasikan objek lainnya. Istilah lain yang sering digunakan untuk indeks adalah sinyal ( signal), yang dalam bahasa seharihari disebut juga gejala (symptom). Indeks muncul berdasarkan hubungan antara sebab dan akibat yang punya kedekatan eksistensi. Misalnya awan gelap adalah indeks hujan yang akan turun, sedangkan asap itu disepakati sebagai tanda bagi masyarakat untuk berkumpul misalnya, seperti dalam dalam kasus suku primitif, maka asap menjadi lambang karena maknanya telah disepakati bersama. Contohnya penampilan. Penampilan yang baik menggambarkan simbol yang baik pula, atau penggunaan bahasa harus menggunakan bahasa yang halus dan baik agar dapat diterima oleh masyarakat. 9 b. Setiap prilaku mempunyai potensi komunikasi. Setiap orang tidak bebas nilai, pada saat orang tersebut tidak bermaksud mengkomunikasikan sesuatu, tetapi dimaknai oleh orang lain maka orang tersebut sudah terlibat dalam proses berkomunikasi. Gerak tubuh, ekspresi wajah (komunikasi non verbal) seseorang dapat dimaknai oleh orang lain menjadi suatu stimulus. Kita tidak dapat tidak berkomunikasi (We cannot not communicate), tidak berarti bahwa semua perilaku adalah komuniaksi. Alih-alih, komunikasi terjadi bila seseorang memberi makna pada perilaku orang lain atau perilakunya sendiri. Amat sulit bagi seseorang untuk tidak berkomunikasi, karena setiap perilakunya punya potensi untuk ditafsirkan. Kalau ia tersenyum, ia ditafsirkan bahagia; kalau ia cemberut, ia ditafsirkan ngambek. Bahkan ketika kita berdiam diri sekalipun, ketika kita mengundurkan diri dari komunikasi dan lalu menyendiri, sebenarnya kita mengkomunikasikan banyak pesan. Contohya seorang pasien yang sedang dirawat inap di sebuah rumah sakit yang tidak hentinya memperbaiki posisi tidurnya, ini akan membuat perawat bertanya kepada pasien tersebut. c. Komunikasi mempunyai dimensi isi dan dimensi hubungan. Setiap pesan komunikasi mempunyai dimensi isi dimana dari dimensi isi tersebut kita bisa memprediksi dimensi hubungan yang ada di antara pihak-pihak yang melakukan proses komunikasi. Percakapan di antara dua orang pelayanan kesehatan dan antara pelayanan kesehatan dan pasien memiliki dimesi isi yang berbeda. Dimensi isi disandi secara verbal, sementara dimensi hubungan disandi secara nonverbal. Dimensi isi menunjukkan muatan (isi) komunikasi, yaitu apa yang dikatakan. Dimensi hubungan menunjukkan bagaimana cara mengatakannya yang juga mengisyaratkan bagaimana hubungan para peserta komunikasi itu dan bagaimana seharusnya pesan itu ditafsirkan. Sebagai contoh, kalimat “pergi...” yang diucapkan dengan nada yang berbeda justru berarti sebaliknya. Dimensi isi merujuk pada isi pesan, sedangkan dimensi hubungan merujuk kepada unsur-unsur lain, termasuk juga jenis saluran yang digunakan untuk menyampaikan pesan tersebut. Pengaruh suatu diagnosa penyakit misalnya, bukan hanya bergantung pada isinya, tapi juga 10 siapa penulisnya. Diagnosa yang sama dapat menimbulkan pengaruh berbeda bila disampaikan orang berbeda. Diagnosa yang ditulis orang yang sudah terkenal dan merupakan seorang profesor akan dianggap lebih berbobot bila dibandingkan dengan tulisan orang yang belum dikenal dan juga bukan seorang profesor. d. Komunikasi berlangsung dengan berbagai tingkat kesengajaan. Setiap tindakan komunikasi yang dilakukan oleh seseorang bisa terjadi mulai dari tingkat kesengajaan yang rendah artinya tindakan komunikasi yang tidak direncanakan (apa saja yang akan dikatakan atau apa saja yang akan dilakukan secara rinci dan detail), sampai pada tindakan komunikasi yang betul-betul disengaja (pihak komunikan mengharapkan respon dan berharap tujuannya tercapai). Kesengajaan bukanlah syarat untuk terjadinya komunikasi. Meskipun kita sama sekali tidak bermaksud menyampaikan pesan kepada orang lain, perilaku kita potensial ditafsirkan orang lain. Kita tidak dapat mengendalikan orang lain untuk menafsirkan atau tidak menafsirkan perilaku kita. Membatasi komunikasi sebagai proses yang disengaja adalah menganggap komunikasi sebagai instrumen seperti dalam persuasi. Niat atau kesengajaan bukanlah syarat mutlak bagi seseorang untuk berkomunikasi. Contohnya bila seorang dokter bertanya kepada seorang pasien yang kesakitan, kemudian pasien itu tidak menjawab dan hanya memegangi perutnya, maka itu dapat menunjukkan bahwa kemungkinan pasien tersebut mengalami kesakitan yang luar biasa sehingga tidak dapat menjawab pertanyaan dari dokter. e. Komunikasi terjadi dalam konteks ruang dan waktu. Pesan komunikasi yang dikirimkan oleh pihak komunikan baik secara verbal maupun non-verbal disesuaikan dengan tempat, di mana proses komunikasi itu berlangsung, kepada siapa pesan itu dikirimkan dan kapan komunikasi itu berlangsung. Makna pesan juga bergantung pada konteks fisik dan ruang (termasuk iklim, suhu, intensitas cahaya, dan sebagainya), waktu, sosial dan psikologis. Topik-topik yang lazim dipercakapkan di rumah, tempat kerja, atau tempat hiburan seperti “lelucon,” “ acara televisi,” 11 “mobil,” “bisnis,” atau “perdagangan” terasa kurang sopan bila dikemukakan di masjid. Waktu juga mempengaruhi makna terhadap suatu pesan. Dering telepon pada tengah malam atau dini hari akan dipersepsi lain bila dibandingkan dengan dering telpon pada siang hari. Dering telepon pertama itu mungkin berita sangat penting (darurat), misalnya untuk mengabarkan orang sakit, kecelakaan atau meninggal dunia atau upaya orang jahat untuk mengetes apakah di rumah ada orang atau tidak. f. Komunikasi melibatkan prediksi peserta komunikasi. Tidak dapat dibayangkan jika orang melakukan tindakan komunikasi di luar norma yang berlaku di masyarakat. Jika kita tersenyum maka kita dapat memprediksi bahwa pihak penerima akan membalas dengan senyuman, jika kita menyapa seseorang maka orang tersebut akan membalas sapaan kita. Prediksi seperti itu akan membuat seseorang menjadi tenang dalam melakukan proses komunikasi. Ketika orang-orang berkomunikasi, mereka meramalkan efek perilaku komunikasi mereka. Dengan kata lain, komunikasi juga terikat oleh aturan atau tatakrama. Artinya , orang-orang memilih strategi tertentu berdasarkan bagaimana orang yang menerima pesan akan merespons. Prediksi ini tidak selalu disadari dan sering berlangsung cepat. Kita dapat memprediksi perilaku komunikasi orang lain berdasarkan peran sosialnya. g. Komunikasi bersifat sistematik. Dalam diri setiap orang mengandung sisi internal yang dipengaruhi oleh latar belakang budaya, nilai, adat, pengalaman dan pendidikan. Bagaimana seseorang berkomunikasi dipengaruhi oleh beberapa hal internal tersebut. Sisi internal seperti lingkungan keluarga dan lingkungan dimana dia bersosialisasi mempengaruhi bagaimana dia melakukan tindakan komunikasi. Setiap individu adalah suatu sistem yang hidup (a living system). Organ-organ dalam tubuh kita saling berhubungan. Kerusakan pada mata dapat membuat kepala kita pusing. Bahkan, unsur 12 diri kita yang bersifat jasmani juga berhubungan dengan unsur kita yang bersifat rohani. Kemarahan membuat jantung kita berdetak lebih cepat dan berkeringat. Setidaknya dua sistem dasar beroperasi dalam transaksi komunikasi itu: Sistem Internal dan Sistem Eksternal. Sistem internal adalah seluruh sistem nilai yang dibawa oleh individu ketika ia berpartisipasi dalam komunikasi yang ia cerap selama sosialisasinya dalam berbagai lingkungan sosialnya (keluarga, masyarakat,setempat, kelompok suku, kelompok agama, lembaga pendidikan, kelompok sebaya, tempat kerja, dan sebagainya). Berbeda dengan sistem internal, sistem eksteernal terdiri dari unsur-unsur dalam lingkungan di luar individu, termasuk kata-kata yang ia pilih untuk berbicara, isyarat fisik peserta komunikasi, kegaduhan di sekitarnya, penataan ruangan, cahaya, dan temperatur ruangan. Elemen-elemen ini adalah stimuli publik yang terbuka bagi setiap peserta komunikasi dalam setiap transaksi komunikasi. h. Semakin mirip latar belakang sosial budaya, semakin efektiflah komunikasi. Jika dua orang melakukan komunikasi berasal dari suku yang sama, pendidikan yang sama, maka ada kecenderungan dua pihak tersebut mempunyai bahan yang sama untuk saling dikomunikasikan. Kedua pihak mempunyai makna yang sama terhadap simbol-simbol yang saling dipertukarkan. Komunikasi yang efektif adalah komunikasi yang hasilnya sesuai dengan harapan para pesertanya (orang-orang yang sedang berkomunikasi). Dalam kenyataannya, tidak pernah ada dua manusia yang persis sama, meskipun mereka kembar yang dilahirkan dan diasuh dalam keluarga yang sama, diberi makanan yang sama dan di didik dengan cara yang sama. Namun adanya kesamaan sekali lagi akan mendorong orangorang untuk saling tertarik dan pada gilirannya karena kesamaan tersebut komunikasi mereka menjadi lebih efektif. i. Komunikasi bersifat nonsekuensial. Meskipun terdapat banyak model komunikasi linier atau satu arah, sebenarnya komunikasi manusia dalam bentuk dasarnya (komunikasi 13 tatap-muka) bersifat dua-arah (sifat sirkuler). Ketika seseorang berbicara kepada seseorang lainnya, atau kepada sekelompok orang seperti dalam rapat atau kuliah, sebetulnya komunikasi itu bersifat dua-arah, karena orang-orang yang kita anggap sebagai pendengar atau penerima pesan sebenarnya juga menjadi “pembicara” atau pemberi pesan pada saat yang sama, yaitu lewat perilaku nonverbal mereka. Meskipun sifat sirkuler digunakan untuk menandai proses komunikasi, unsur-unsur proses komunikasi sebenarnya tidak berpola secara kaku. Pada dasarnya, unsur-unsur tersebut tidak berada dalam suatu tatanan yang bersifat linier, sirkuler, helikal atau tatanan lainnya. Unsur-unsur proses komunikasi boleh jadi beroperasi dalam susunan tadi, tetapi mungkin pula, setidaknya sebagian, dalam suatu tatanan yang acak. Oleh karena itu, sifat nonsekuensial dibandingkan sirkuler tampaknya lebih tepat digunakan untuk menandai proses komunikasi. j. Komunikasi bersifat prosesual, dinamis dan transaksional. Komunikasi sebagai suatu proses dapat dianalogikan dengan pernyataan Herclitus Enamabad sebelum Masehi bahwa “ Seorang manusia tidak akan pernah melangkah di sungai yang sama dua kali.” Pada saat yang kedua manusia itu berbeda dan begitu juga sungainya. Ketika kita menyebrang sungai untuk kedua kali, ketiga kali, dan seterusnya pada hari yang lain, maka sesungguhnya penyebrangan itu bukanlah fenomena yang sama. Begitu jugalah komunikasi; komunikasi terjadi sekali waktu kemudian menjadi bagian dari sejarah kita. Dalam proses komunikasi itu, para peserta saling mempengaruhi, seberapa kecil pun pengaruh itu, baik lewat komunikasi verbal ataupun lewat komunikasi nonverbal. Implikasi dari komunikasi sebagai proses yang dinamis dan transaksional adalah bahwa para peserta komunikasi berubah, dari sekedar berubah pengetahuan hingga berubah pandangan dan perilakunya. Ada orang yang perubahannya sedikit demi sedikit dari waktu ke waktu, tetapi perubahan akhirnya (secara kumulatif) cukup besar. Namun ada juga orang yang berubah secara tiba-tiba, melalui cuci otak 14 atau kontroversi agama, misalnya dari seorang nasionalis menjadi komunis, atau dari Hindu menjadi Kristen atau Muslim. Pandangan dinamis dan transaksional memberi penekanan bahwa seseorang mengalami perubahan sebagai hasil terjadinya komunikasi. k. Komunikasi bersifat irreversible. Suatu perilaku adalah suatu peristiwa. Oleh karena merupakan suatu peristiwa, perilaku berlangsung dalam waktu dan tidak dapat “diambil kembali.” Dalam komunikasi, sekali Anda mengirimkan pesan, Anda tidak dapat mengendalikan pengaruh pesan tersebut bagi khalayak, apalagi menghilangkan efek pesan tersebut sama sekali. Sifat irreversible ini adalah implikasi dari komunikasi sebagai proses yang selalu berubah. Prinsip ini seharusnya menyadarkan kita bahwa kita harus berhati-hati untuk menyampaikan pesan kepada orang lain, sebab, efeknya tidak bisa ditiadakan sama sekali, meskipun kita berupaya meralatnya. Apalagi bila penyampaian itu dilakukan untuk pertama kalinya. Curtis et al mengatakan bahwa kesan pertama itu cenderung abadi. Dalam komunikasi massa, sekali wartawan menyiarkan berita yang tanpa disengaja mencemarkan nama baik seseorang, maka nama baik orang itu akan sulit dikembalikan lagi ke posisi semula, meskipun surat kabar, majalah, radio atau televisi telah meminta maaf dan memuat hak jawab sumber berita secara lengkap. l. Komunikasi bukan panasea untuk menyelesaikan berbagai masalah. Banyak persoalan dan konflik antar manusia disebabkan oleh masalah komunikasi. Namun komunikasi bukanlah panasea (obat mujarab) untuk menyelasaikan persoalan yang mungkin berkaitan dengan masalah struktural. Agar komunikasi efektif, kendala struktural ini juga harus diatasi. Misalnya, meskipun pemerintah bersusah payah menjalin komunikasi yang efektif dengan warga Aceh dan warga Papua, tidak mungkin usaha itu akan berhasil bila pemerintah memberlakukan masyarakat di wilayah-wilayah itu secara tidak adil, dengan merampas kekayaan alam mereka dan mengangkutnya ke pusat. 15 2. Konsep dan Prinsip Pembelajaran Menurut Undang-Undang no. 20 Tahun 2003 tentang sisdiknas pasal 1 ayat 20, pembelajaran merupakan sebuah proses interaksi antara peserta didik dengan pendidik dan sumber belajar dalam suatu lingkungan belajar. Sedangkan menurut Dimyati dan Mudjiono, pembelajaran merupakan aktivitas pendidik atau guru secara terprogram melalui desain instruksional agar peserta didik dapat belajar secara aktif dan lebih menekankan pada sumber belajar yang disediakan. Menurut Sudjana, pembelajaran adalah setiap upaya yang sistematik dan sengaja untuk menciptakan kegiatan interaksi yang edukatif antara guru dan peserta didik. Corey mendefinisikan pembelajaran sebagai proses dimana suatu lingkungan secara disengaja dikelola untuk menghasilkan respon terhadap situasi dan kondisi tertentu yang mana pembelajaran ini merupakan substansi dari pendidikan. Slavin berpendapat, pembelajaran merupakan perubahan tingkah laku seorang individu yaang disebabkan oleh sebuah pengalaman. Sementara Munif Chatib mendefinisikan pembelajaran sebagai suatu proses transfer imu dari dua arah, yakni antara pendidik (sebagai sumber ilmu/informasi) dan peserta didik (sebagai penerima informasi). Dari definisi di atas dapat disimpulkan bahwa pembelajaran adalah proses transfer ilmu dari pendidik kepada peserta didik dalam suatu lingkungan yang dikelola secara sistematik dengan tujuan untuk merubah prilaku peserta didik. Agar transfer pengetahuan itu berjalan dengan baik, perlu diperhatikan prinsip-prinsip belajar sebagai berikut : a. Perhatian dan Motivasi Perhatian mempunyai peranan yang penting dalam kegiatan belajar. Dari kajian teori belajar pengolahan informasi terungkap bahwa tanpa adanya 16 perhatian tidak mungkin terjadi belajar. Perhatian terhadap pelajaran akan timbul pada siswa apabila bahan pelajaran sesuai dengan kebutuhannya. Apabila bahan pelajaran itu dirasakan sebagai sesuatu yang dibutuhkan, diperlukan untuk belajar lebih lanjut atau diperlukan dalam kehidupan sehari-hari, akan membangkitkan perhatian dan juga motivasi untuk mempelajarinya. Apabila dalam diri siswa tidak ada perhatian terhadap pelajaran yang dipelajari, maka siswa tersebut perlu dibangkitkan perhatiannya. Dalam proses pembelajaran, perhatian merupakan faktor yang besar pengaruhnya, kalau peserta didik mempunyai perhatian yang besar mengenai apa yang dipelajari peserta didik dapat menerima dan memilih stimuli yang relevan untuk diproses lebih lanjut di antara sekian banyak stimuli yang datang dari luar. Perhatian dapat membuat peserta didik untuk mengarahkan diri pada tugas yang akan diberikan; melihat masalahmasalah yang akan diberikan; memilih dan memberikan fokus pada masalah yang harus diselesaikan. Di samping perhatian, motivasi mempunyai peranan penting dalam kegiatan belajar. Motivasi adalah tenaga yang menggerakkan dan mengarahkan aktivitas seseorang. Motivasi mempunyai kaitan yang erat dengan minat. Siswa yang memiliki minat terhadap sesuatu bidang studi tertentu cenderung tertarik perhatiannya dan dengan demikian timbul motivasi untuk mempelajarinya. Misalnya, siswa yang menyukai pelajaran matematika akan merasa senang belajar matematika dan terdorong untuk belajar lebih giat, karenanya adalah kewajiban bagi guru untuk bisa menanamkan sikap positif pada diri siswa terhadap mata pelajaran yang menjadi tanggung jawabnya. Motivasi dapat diartikan sebagai tenaga pendorong yang menyebabkan adanya tingkah laku ke arah suatu tujuan tertentu. Adanya tidaknya motivasi dalam diri peserta didik dapat diamati dari observasi tingkah lakunya. Apabila peserta didik mempunyai motivasi, ia akanbersungguh-sungguh menunjukkan minat, mempunyai perhatian, dan rasa ingin tahu yang kuat untuk ikut serta dalam kegiatan belajar; berusaha keras dan memberikan waktu yang cukup untuk melakukan 17 kegiatan tersebut; Terus bekerja sampai tugas-tugas tersebut terselesaikan. Motivasi dapat bersifat internal, yaitu motivasi yang berasal dari dalam diri peserta didik dan juga eksternal baik dari guru, orang tua, teman dan sebagainya. Berkenaan dengan prinsip motivasi ini ada beberapa hal yang perlu diperhatikan dalam mengembangkan kegiatan pembelajaran, yaitu: memberikan dorongan, memberikan insentif dan juga motivasi berprestasi. b. Keaktifan Menurut pandangan psikologi anak adalah makhluk yang aktif. Anak mempunyai dorongan untuk berbuat sesuatu, mempunyai kemauan dan aspirasinya sendiri. Belajar tidak bisa dipaksakan oleh orang lain dan juga tidak bisa dilimpahkan pada orang lain. Belajar hanya mungkin terjadi apabila anak mengalami sendiri. John Dewey mengemukakan bahwa belajar adalah menyangkut apa yang harus dikerjakan siswa untuk dirinya sendiri, maka inisiatif harus datang dari dirinya sendiri, guru hanya sebagai pembimbing dan pengarah. Menurut teori kognitif, belajar menunjukkan adanya jiwa yang aktif, jiwa mengolah informasi yang kita terima, tidak hanya menyimpan saja tanpa mengadakan tansformasi. Menurut teori ini anak memiliki sifat aktif, konstruktif, dan mampu merencanakan sesuatu. Anak mampu mencari, menemukan dan menggunakan pengetahuan yang telah diperolehnya. Thordike mengemukakan keaktifan siswa dalam belajar dengan hukum "law of exercise"-nya yang menyatakan bahwa belajar memerlukan adanya latihan-latihan. Hubungan stimulus dan respon akan bertambah erat jika sering dipakai dan akan berkurang bahkan lenyap jika tidak pernah digunakan. Artinya dalam kegiatan belajar diperlukan adanya latihan-latihan dan pembiasaan agar apa yang dipelajari dapat diingat lebih lama. Semakin sering berlatih maka akan semakin paham. Sebagaimana yang dikemukakan oleh Mc.Keachie bahwa individu merupakan "manusia belajar yang aktif selalu ingin tahu". Dalam proses 18 belajar, siswa harus menampakkan keaktifan. Keaktifan itu dapat berupa kegiatan fisik yang mudah diamati maupun kegiatan psikis yang sulit diamati. Kegiatan fisik bisa berupa membaca, mendengar, menulis, berlatih keterampilan-keterampilan dan sebaginya. Kegiatan psikis misalnya menggunakan pengetahuan yang dimiliki dalam memecahkan masalah yang dihadapi, membandingkan suatu konsep dengan yang lain, menyimpulkan hasil percobaan dan lain sebagainya. c. Keterlibatan Langsung/Pengalaman Belajar haruslah dilakukan sendiri oleh siswa, belajar adalah mengalami dan tidak bisa dilimpahkan pada orang lain. Edgar Dale dalam penggolongan pengalaman belajar mengemukakan bahwa belajar yang paling baik adalah belajar melalui pengalaman langsung. Dalam belajar melalui pengalaman langsung siswa tidak hanya mengamati, tetapi ia harus menghayati, terlibat langsung dalam perbuatan dan bertanggung jawab terhadap hasilnya. Sebagai contoh seseorang yang belajar membuat tempe yang paling baik apabila ia terlibat secara langsung dalam pembuatan, bukan hanya melihat bagaimana orang membuat tempe, apalagi hanya mendengar cerita bagaimana cara pembuatan tempe. Pembelajaran yang efektif adalah pembelajaran yang menyediakan kesempatan belajar sendiri atau melakukan aktivitas sendiri. Dalam konteks ini, siswa belajar sambil bekerja, karena dengan bekerja mereka memperoleh pengetahuan, pemahaman, pengalaman serta dapat mengembangkan keterampilan yang bermakna untuk hidup di masyarakat. Hal ini juga sebagaimana yang di ungkapkan Jean Jacques Rousseau bahwa anak memiliki potensi-potensi yang masih terpendam, melalui belajar anak harus diberi kesempatan mengembangkan atau mengaktualkan potensi-potensi tersebut. Sesungguhnya anak mempunyai kekuatan sendiri untuk mencari, mencoba, menemukan dan mengembangkan dirinya sendiri. Dengan demikian, segala pengetahuan itu harus diperoleh dengan pengamatan sendiri, pengalaman sendiri, penyelidikan sendiri, bekerja sendiri, dengan fasilitas yang diciptakan sendiri. 19 Pembelajaran itu akan lebih bermakna jika siswa "mengalami sendiri apa yang dipelajarinya" bukan "mengetahui" dari informasi yang disampaikan guru, sebagaimana yang dikemukakan Nurhadi bahwa siswa akan belajar dngan baik apabila yang mereka pelajari berhubungan dengan apa yang telah mereka ketahui, serta proses belajar akan produktif jika siswa terlibat aktif dalam proses belajar di sekolah. Dari berbagai pandangan para ahli tersebut menunjukkan berapa pentingnya keterlibatan pembelajaran. Pentingnya siswa secara langsung dalam proses keterlibatan langsung dalam belajar dikemukakan oleh John Dewey dengan "learning by doing"-nya. Belajar sebaiknya dialami melalui perbuatan langsung dan harus dilakukan oleh siswa secara aktif. Prinsip ini didasarkan pada asumsi bahwa para siswa dapat memperoleh lebih banyak pengalaman dengan cara keterlibatan secara aktif dan proporsional, dibandingkan dengan bila mereka hanya melihat materi/konsep. Modus Pengalaman belajar adalah sebagai berikut: kita belajar 10% dari apa yang kita baca, 20% dari apa yang kita dengar, 30% dari apa yang kita lihat, 50% dari apa yang kita lihat dan dengar, 70% dari apa yang kita katakan, dan 90% dari apa yang kita katakan dan lakukan. Hal ini menunjukkan bahwa jika guru mengajar dengan banyak ceramah, maka peserta didik akan mengingat hanya 20% karena mereka hanya mendengarkan. Sebaliknya, jika guru meminta peserta didik untuk melakukan sesuatu dan melaporkan nya, maka mereka akan mengingat sebanyak 90%. Hal di atas ada kaitannya dengan pendapat yang dikemukakan oleh seorang filsof Cina Confocius, bahwa: “apa yang saya dengar, saya lupa; apa yang saya lihat, saya ingat; dan apa yang saya lakukan saya paham. Dari kata-kata bijak ini kita dapat mengetahui betapa pentingnya keterlibatan langsung dalam pembelajaran. d. ” Pengulangan Prinsip belajar yang menekankan perlunya pengulangan adalah teori psikologi daya. Menurut teori ini belajar adalah melatih daya-daya yang ada 20 pada manusia yang terdiri atas daya mengamati, menanggap, mengingat, mengkhayal, merasakan, berfikir dan sebagainya. Dengan mengadakan pengulangan maka daya-daya tersebut akan berkembang, seperti halnya pisau yang selalu diasah akan menjadi tajam, maka daya yang dilatih dengan pengadaan pengulangan-pengulangan akan sempurna. Dalam proses belajar, semakin sering materi pelajaran diulangi maka semakin ingat dan melekat pelajaran itu dalam diri seseorang. Mengulang besar pengaruhnya dalam belajar, karena dengan adanya pengulangan "bahan yang belum begitu dikuasai serta mudah terlupakan" akan tetap tertanam dalam otak seseorang. Mengulang dapat secara langsung sesudah membaca, tetapi juga bahkan lebih penting adalah mempelajari kembali bahan pelajaran yang sudah dipelajari misalnya dengan membuat ringkasan. Teori lain yang menekankan koneksionisme-nya Thordike. prinsip Dalam pengulangan teori adalah teori koneksionisme, ia mengemukakan bahwa belajar ialah pembentukan hubungan antara stimulus dan respon, dan pengulangan terhadap pengalaman-pengalaman itu memperbesar peluang timbulnya respon benar. e. Tantangan Teori medan (Field Theory) dari Kurt Lewin mengemukakan bahwa siswa dalam belajar berada dalam suatu medan. Dalam situasi belajar siswa menghadapi suatu tujuan yang ingin dicapai, tetapi selalu terdapat hambatan dalam mempelajari bahan belajar, maka timbullah motif untuk mengatasi hambatan itu dengan mempelajari bahan belajar tersebut. Apabila hambatan itu telah diatasi, artinya tujuan belajar telah tercapai, maka ia akan dalam medan baru dan tujuan baru, demikian seterusnya. Menurut teori ini belajar adalah berusaha mengatasi hambatan-hambatan untuk mencapai tujuan. Agar pada diri anak timbul motif yang kuat untuk mengatasi hambatan dengan baik, maka bahan pelajaran harus menantang. 21 Tantangan yang dihadapi dalam bahan belajar membuat siswa bersemangat untuk mengatasinya. Bahan pelajaran yang baru yang banyak mengandung masalah yang perlu dipecahkan membuat siswa tertantang untuk mempelajarinya. Penggunaan metode eksperimen, inquiri, discovery juga memberikan tantangan bagi siswa untuk belajar secara lebih giat dan sungguh-sungguh. Penguatan positif dan negatif juga akan menantang siswa dan menimbulkan motif untuk memperoleh ganjaran atau terhindar dari hukuman yang tidak menyenangkan. f. Balikan dan Penguatan Prinsip belajar yang berkaitan dengan balikan dan penguatan adalah teori belajar operant conditioning dari B.F. Skinner.Kunci dari teori ini adalah hukum effeknya Thordike, hubungan stimulus dan respon akan bertambah erat, jika disertai perasaan senang atau puas dan sebaliknya bisa lenyap jika disertai perasaan tidak senang. Artinya jika suatu perbuatan itu menimbulkan efek baik, maka perbuatan itu cenderung diulangi. Sebaliknya jika perbuatan itu menimbulkan efek negatif, maka cenderung untuk ditinggalkan atau tidak diulangi lagi. Siswa akan belajar lebih semangat apabila mengetahui dan mendapat hasil yang baik. Apabila hasilnya baik akan menjadi balikan yang menyenangkan dan berpengaruh baik bagi usaha belajar selanjutnya. Namun dorongan belajar itu tidak saja dari penguatan yang menyenangkan tetapi juga yang tidak menyenangkan, atau dengan kata lain adanya penguatan positif maupun negatif dapat memperkuat belajar. Siswa yang belajar sungguhsungguh akan mendapat nilai yang baik dalam ulangan. Nilai yang baik itu mendorong anak untuk belajar lebih giat lagi. Nilai yang baik dapat merupakan operan conditioning atau penguatan positif. Sebaliknya, anak yang mendapat nilai yang jelek pada waktu ulangan akan merasa takut tidak naik kelas, karena takut tidak naik kelas ia terdorong untuk belajar yang lebih giat. Di sini nilai jelek dan takut tidak naik kelas juga bisa mendorong anak untuk belajar lebih giat, inilah yang disebut penguatan negatif. 22 g. Perbedaan Individual Siswa merupakan makhluk individu yang unik yang mana masing-masing mempunyai perbedaan yang khas, seperti perbedaan intelegensi, minat bakat, hobi, tingkah laku maupun sikap, mereka berbeda pula dalam hal latar belakang kebudayaan, sosial, ekonomi dan keadaan orang tuanya. Guru harus memahami perbedaan siswa secara individu, agar dapat melayani pendidikan yang sesuai dengan perbedaannya itu. Siswa akan berkembang sesuai dengan kemampuannya masing-masing. Setiap siswa juga memiliki tempo perkembangan sendiri-sendiri, maka guru dapat memberi pelajaran sesuai dengan temponya masing-masing. Perbedaan individual di atas berpengaruh pada cara dan hasil belajar siswa. Karenanya, perbedaan individu perlu diperhatikan oleh guru dalam upaya pembelajaran. Sistem pendidikan kalsik yang dilakukan di sekolah kita kurang memperhatikan masalah perbedaan individual, umumnya pelaksanaan pembelajaran di kelas dengan melihat siswa sebagai individu dengan kemampuan rata-rata, kebiasaan yang kurang lebih sama, demikian pula dengan pengetahuannya. 23 3. Komunikasi Efektif dalam Pembelajaran Ditinjau dari prosesnya pembelajaran adalah komunikasi, dalam arti bahwa dalam proses tersebut terlibat dua komponen yang terdiri atas manusia, yakni pengajar sebagai komunikator dan pelajar sebagai komunikan. Pada umumnya setiap proses pembelajaran memiliki tujuan khusus. Tujuan pembelajaran akan tercapai apabila prosesnya komunikatif. Biasanya pembelajaran berlangsung secara terencana di dalam kelas melalui tatap muka. Meskipun komunikasi yang terjadi antara pelajar dan pengajar di dalam ruang kelas itu termasuk komunikasi kelompok, sewaktuwaktu bisa berubah menjadi komunikasi antar personal, maka terjadilah komunikasi dua arah. Terjadinya komunikasi dua arah ini, apabila pelajar bersikap responsif, menyatakan pendapat atau mengajukan pertanyaan, diminta atau tidak diminta. Jika pelajar pasif, dalam arti hanya mendengarkan tanpa ada gairah untuk mengekspresikan suatu pernyataan atau pertanyaan, maka meskipun komunikasi itu bersifat tatap muka, tetap saja berlangsung satu arah dan komunikasi itu tidak efektif. Salah satu contoh komunikasi efektif dalam pembelajaran adalah komunikasi dalam diskusi, hal ini disebabkan oleh 2 hal, yaitu materi yang didiskusikan dan meningkatan intelektualitas, dan komunkasi dalam diskusi bersifat intracommunication dan intercommunication. Secara teoritis, pada waktu seorang pelajar melakukan intra komunikasi, terjadilah proses yang terdiri atas 3 tahap : a. Persepsi. Persepsi adalah penginderaan terhadap suatu kesan yang timbul dalam lingkungannya. Penginderaan itu dipengaruhi oleh pengalaman, kebiasaan dan kebutuhan. Kemampuan mempersepsi setiap plajar berbeda-beda. Hal ini ditentukan aktivitas komunikasi, baik sebagai komunikator maupun sebagai komunikan. Pengetahuan dan pengalaman akan memperkaya dan memperkuat daya persepsinya. Semakin sering ia melibatkan diri dalam komunikasi, akan semakin kuat daya persepsinya. 24 b. Ideasi. Dalam tahap ini, pelajar mengonsepsi apa yang dipersepsinya. Ini berarti bahwa dia mengadakan selesksi dari skian banyak pengetahuan, dan pengalaman yang pernah diperolehnya, mengadaan penataan dengan yang relevan dari hasil resepsinya tadi, untuk kemudian ditransmisikan secara verbal kepada lawan diskusinya. c. Transmisi. Transmisi adalah proses penyampaian konsepsi karya penalaran sehingga, apa yang dilontarkan dari mulutnya adalah pernyataan yang manta, meyakinkan, sistematis dan logis. Dengan demikian berkat intrakomunikasi yang selalu terlatih, ia akan mengalami keberhasilan dalam proses interkomunikasi berikutnya. Beberapa unsur yang perlu diperhatikan untuk menciptakan komunikasi efektif dalam pembelajaran adalah : 1. Semua komponen dalam komunikasi pembelajaran diusahakan dalam kondisi ideal/baik ; a) Pesan (message) harus jelas, sesuai dengan kurikulum, terstruktur secara jelas, menarik dan sesuai dengan tingkat intelektual siswa. b) Sumber (guru) harus memiliki kompetensi dalam materi ajar, media yang digunakan, mampu menyandikan dengan jelas, mampu menyampaikan tanpa pembiasan dan menarik perhatian serta mampu memotivasi diri dan siswa dalam proses interaksi dan transaksi komunikasi. c) Penerima (siswa) harus dalam kondisi yang baik (sehat) untuk tercapainya prasyarat pembelajaran yang baik. d) Lingkungan komunikasi, (setting) misalnya mampu pencahayaan, mendukung penuh kenyamanan proses ruang dan sebagainya. e) Materi (media software) dalam kondisi baik/tidak rusak (sesuai dengan isi/pesan). f) Alat (Device) tidak rusak, sehingga tidak membiaskan arti (audiovisual). Media uang menarik (dapat dilihat dan didengar) akan memudahkan siswa dalam retensi dan pengingatan kembali pesan yang pernah didapat. 25 g) Teknik/prosedur penggunaan semua komponen pembelajaran harus memiliki instruksi jelas dan terprogram dalam pengelolaan. 2. Proses encoding dan decoding tidak mengalami pembiasan arti/makna. 3. Penganalogian harus dilakukan untuk membantu membangkitkan pengertian baru dengan pengertian lama yang pernah mereka dapat. 4. Meminimalisasi tingkat gangguan (barrier/noise) dalam proses komunikasi mulai dari proses penyandian sumber, proses penyimbolan dalam software dan hardware, dan proses penafsiran penerima. 5. Feedback dan respons harus ditingkatkan intensitasnya untuk mengukur efektifitas dan efisiensi ketercapaian. 6. Pengulangan (repetition) harus dilakukan secara kontinyu maupun progresif. 7. Evaluasi proses dan hasil harus dilakukan untuk melihat kekurangan dan perbaikan. 8. Delapan aspek pendukung dalam komunikasi; fisik, psikologi, sosial dan waktu harus dibentuk dan diselaraskan dengan kondisi komunikasi yang sedang berlangsung agar tidak menghambat proses komunikasi pembelajaran. (M. Miftah. M.Pd) 26 D. Aktifitas Pembelajaran 1. Pelajari konsep dan prinsip komunikasi efektif dalam pembelajaran pada modul. 2. Temukan konsep-konsep lain tentang komunikasi efektif dalam pembelajaran dan buat rangkumannya (sumber: buku atau internet). 3. Diskusikan hasilnya dalam kelompok anda. 4. Setelah selesai, presentasikan hasil diskusi kelompok anda. 5. Perbaiki hasil kerja kelompok anda jika ada masukan dari kelompok lain. E. Latihan/kasus/Tugas 1. Jelaskan tiga konsep komunikasi! 2. Jelaskan tiga konsep pembelajaran! 3. Jelaskan prinsip-prinsip komunikasi! 4. Jelaskan prinsip-prinsip pembelajaran 5. Jelaskan tiga konsep komunikasi! 6. Jelaskan tiga konsep pembelajaran! 7. Buatlah sintesa tentang komunikasi efektif dalam pembelajaran menurut pendapat Anda! F. Rangkuman  Komunikasi merupakan sebuah proses mengirimkan gagasan dari sumber kepada penerima dengan tujuan mengubah perilakunya.  Prinsip-prinsip komunikasi terdiri dari : 1. Komunikasi adalah proses simbolik. 2. Setiap prilaku memiliki prilaku komunitas. 3. Komunikasi mempunyai dimensi isi dan dimensi hubungan 4. Komunikasi berlangsung dengan berbagai tingkat kesengajaan 5. Komunikasi terjadi dalam konteks ruang dan waktu 6. Komunikasi melibatkan prediksi peserta komunikasi 7. Komunikasi bersifat sistematis 27 8. Semakin mirip latar belakang sosial budaya, semakin efektiflah komunikasi. 9. Komunikasi bersifat nonsekuensial 10. Komunikasi bersifat prosesual, dinamis dan transaksional 11. Komunikasi bersifat irreversible 12. Komunkasi bukan panasea untuk menyelesaikan berbagai masalah.  Pembelajaran merupakan sebuah proses interaksi antara peserta didik dan sumber belajar dalam suatu lingkungan belajar.  Prinsip-prinsip pembelajaran : 1. Perhatian dan motivasi 2. Keaktifan 3. Keterlibatan langsung/pengalaman 4. Pengulangan 5. Tantangan 6. Balikan dan penguatan 7. Perbedaan individual G. Umpan Balik dan Tindak Lanjut H. Kunci Jawaban 1. Eveert M.Rogers: komunikasi merupakan sebuah proses mengirimkan gagasan dari sumber kepada penerima dengan tujuan untuk merubah perilakunya. Theodore Herbert : komunikasi sebagai proses yang di dalamnya menunjukkan arti pengetahuan dipindahkan dari seseorang kepada orang lain, biasanya dengan maksud mencapai beberapa tujuan khusus. Carl I. Hovland : komunikasi adalah proses yang memungkinkan seseorang (komunikator) menyampaikan rangsangan (biasanya lambanglambang verbal) untuk mengubah perilaku orang lain (komunikan). 2. Undang-Undang no. 20 Tahun 2003 tentang sisdiknas pasal 1 ayat 20 : pembelajaran merupakan sebuah proses interaksi antara peserta didik dengan pendidik dan sumber belajar dalam suatu lingkungan belajar. 28 Dimyati dan Mudjiono: pembelajaran merupakan aktivitas pendidik atau guru secara terprogram melalui desain instruksional agar peserta didik dapat belajar secara aktif dan lebih menekankan pada sumber belajar yang disediakan. Sudjana: pembelajaran adalah setiap upaya yang sistematik dan sengaja untuk menciptakan kegiatan interaksi yang edukatif antara guru dan peserta didik. 3. Prinsip-prinsip komunikasi terdiri dari : a. Komunikasi adalah proses simbolik. b. Setiap prilaku memiliki prilaku komunitas. c. Komunikasi mempunyai dimensi isi dan dimensi hubungan d. Komunikasi berlangsung dengan berbagai tingkat kesengajaan e. Komunikasi terjadi dalam konteks ruang dan waktu f. Komunikasi melibatkan prediksi peserta komunikasi g. Komunikasi bersifat sistematis h. Semakin mirip latar belakang sosial budaya, semakin efektiflah komunikasi. i. Komunikasi bersifat nonsekuensial j. Komunikasi bersifat prosesual, dinamis dan transaksional k. Komunikasi bersifat irreversible l. Komunkasi bukan panasea untuk menyelesaikan berbagai masalah. 4. Prinsip-prinsip pembelajaran : a. Perhatian dan motivasi b. Keaktifan c. Keterlibatan langsung/pengalaman d. Pengulangan e. Tantangan f. Balikan dan penguatan g. Perbedaan individual 29 5. Eveert M.Rogers: komunikasi merupakan sebuah proses mengirimkan gagasan dari sumber kepada penerima dengan tujuan untuk merubah perilakunya. Theodore Herbert : komunikasi sebagai proses yang di dalamnya menunjukkan arti pengetahuan dipindahkan dari seseorang kepada orang lain, biasanya dengan maksud mencapai beberapa tujuan khusus. Carl I. Hovland : komunikasi adalah proses yang memungkinkan seseorang (komunikator) menyampaikan rangsangan (biasanya lambang-lambang verbal) untuk mengubah perilaku orang lain (komunikan). 6. Undang-Undang no. 20 Tahun 2003 tentang sisdiknas pasal 1 ayat 20: pembelajaran merupakan sebuah proses interaksi antara peserta didik dengan pendidik dan sumber belajar dalam suatu lingkungan belajar. Dimyati dan Mudjiono: pembelajaran merupakan aktivitas pendidik atau guru secara terprogram melalui desain instruksional agar peserta didik dapat belajar secara aktif dan lebih menekankan pada sumber belajar yang disediakan. Sudjana: pembelajaran adalah setiap upaya yang sistematik dan sengaja untuk menciptakan kegiatan interaksi yang edukatif antara guru dan peserta didik. 7. Jawaban bersifat individual. 30 KEGIATAN PEMBELAJARAN 2 : STRATEGI, MODEL, METODE, DAN TEKNIK KOMUNIKASI EFEKTIF DALAM PEMBELAJARAN A. Tujuan Setelah mempelajari modul ini, peserta diklat diharapkan dapat: 7.2.1 Mengemukakan strategi dan model komunikasi pembelajaran berdasarkan teori belajar 7.2.2 Mengemukakan metode dan teknik komunikasi efektif dalam pembelajaran 7.2.3 Mempraktikkan komunikasi efektif dalam pembelajaran B. Indikator Pencapaian Kompetensi Setelah mempelajari kegiatan pembelajaran ini, peserta diklat diharapkan dapat: 1. Mengemukakan strategi dan model komunikasi pembelajaran berdasarkan teori belajar 2. Mengemukakan metode dan teknik komunikasi efektif dalam pembelajaran 3. Mempraktikkan komunikasi efektif dalam pembelajaran 31 C. Uraian Materi 1. Model Komunikasi Berdasarkan Teori Belajar Model komunikasi berkembang pesat, seiring dengan berkembangnya teori belajar. Berikut ini diuraikan tentang sejumah model komunikasi sesuai dengan perkembangan teori belajar. a. Model mekanistik Model komunikasi mekanistis terdiri atas one way communication dan two way communication. Salah satu contoh model komunikasi mekanistis tipe pertama adalah metode ceramah di dalam proses pembelajaran, yaitu guru menyampaikan materi dan peserta didik menyimaknya dengan baik. Di dalam metode ini komunikan (peserta didik) akan bersikap pasif. Karena mereka hanya mendengar dan menghafal materi yang telah disampaikan oleh guru tersebut. Penggunaan model mekanistis ini cenderung membuat pembelajaran menjadi kuarang efektif. Mengapa? Karena guru tidak peduli apakah pelajaran yang ia sampaikan diminati dan dibutuhkan oleh para peserta didiknya atau tidak. Untuk menyiasati hal ini, penguasaan materi dan metode penyampaian yang efektif dan menarik harus dimiliki oleh guru tersebut. Apabila guru ingin menggunakan metode ceramah, guru tersebut harus mengusai sejumlah keterampilan, yaitu Guru harus menguasai materi tersebut sebaik mungkin. Guru menghindari membaca buku terlalu sering, karena hal tersebut membuat peserta didik tidak yakin dengan kemampuan yang dimiliki oleh sang guru. Keika menggunakan metode ceramah, guru wajib menunjukkan penampilan yang handal, karena hal itu memberikan representasi yang baik kepada peserta didiknya. Para peserta didik akan menginterpretasi sang 32 guru dengan baik. Sebaliknya, guru yang memberikan representasi yang buruk, maka para peserta didiknya akan menginterpretasi yang kurang baik pula dari diri guru tersebut. Jadi, dalam hal ini pencitraan image positif dari seorang guru menjadi hal yang harus diperhatikan agar tujuan pembelajaran berhasil. Penggunaan model komunikasi mekanistik mampu merangsang peserta didik lebih aktif, agresif karena rasa ingin tahu akan lebih besar. Namun dalam penyampaian dalam pembelajaran juga harus tepat, sehingga model pembelajaran ini akan terasa pengaruhnya terhadap peserta didik. b. Model interaksional Ciri utama model interaksional adalah terjadinya feedback atau umpan balik antara komunikator dan komunikan. Komunikasi yang berlangsung bersifat dua arah karena terjadi dialog. Setiap partisipan memiliki peran ganda, dalam arti pada satu saat bertindak sebagai komunikator, pada saat yang lain bertindak sebagai komunikan. Dalam model interaksional ini komunikasi berlangsung dua arah dari pengirim dan kepada penerima dan dari penerima kepada pengirim. Proses melingkar ini menunjukkan bahwa komunikasi selalu berlangsung. Para peserta komunikasi menurut model interaksional adalah orang-orang yang mengembangkan potensi manusiawinya melalui interaksi sosial, tapatnya melalui pengambilan peran orang lain. Bahwa model ini menempatkan sumber dan penerima mempunyai kedudukan yang sederajat. Satu elemen yang penting bagi model interkasional adalah umpan balik (feedback), atau tanggapan terhadap suatu pesan Dalam perspektif interaksionalisme seorang individu merupakan suatu penggabungan antara individualisme dan masyarakat, artinya individu yang menggabungkan potensi kemanusiaannya melalui interaksi sosialnya. Jika kita mengambil contoh lingkungan sosial atau masyarakatnya adalah ruang kelas, berarti guru dan peserta didik adalah komponen-komponen 33 masyarakat tersebut yang saling berinteraksi dan memiliki irisan karakteristik. Sebagai contoh, pada saat mata pelajaran bahasa. Guru dan peserta didik harus sama-sama memiliki ketertarikan terhadap mata pelajaran tersebut. Apabila ketertarikan atau kecenderungan antara guru dan peserta didik itu telah sama maka akan terdapat irisan kesamaan karakteristik antara guru dan peserta didik, yaitu menyenangi bahasa. Jika hal ini telah tercipta maka proses pembelajaran akan mudah dilaksanakan dan tujuan pembelajaran akan mudah tercapai. Untuk mencapai hal ini, guru harus mampu bersosialisasi dan berinteraksi dengan peserta didiknya. Disini guru harus memiliki keterampilan dalam bersosialisasi dan berinteraksi dengan peserta didik. Model interaksional sangat ideal digunakan dalam pembelajaran di kelas. Model interaksional memungkinkan adanya interaksi dalam kelas baik antara peserta didik dengan guru, ataupun peserta didik dengan peserta didik itu sendiri dan peserta didik dengan lingkungannya. Model ini akan membuat proses pembelajaran akan terasa lebih hidup. Peserta didik pun akan merasa puas atas semua pertanyaan dan jawaban dari guru yang dirasa belum dimengerti. c. Model psikologis Model komunikasi psikologis mempelajari perilaku individu, termasuk perilaku belajar, merupakan totalitas penghayatan dan aktivitas yang lahir sebagai hasil akhir saling pengaruh antara berbagai gejala, seperti perhatian, pengamatan, ingatan, pikiran dan motif Model komunikasi psikologis yaitu memahami perkembangan perilaku apa saja yang telah diperoleh peserta didik setelah mengikuti pembelajaran tertentu. Media menjadi stimulus dari luar diri khalayak yang akan menyebabkan terjadinya perubahan sikap. Psikologi adalah ilmu yang mempelajari tingkah laku atau kepribadian manusia. Korelasinya dengan pembelajaran psikologi adalah salah satu cara untuk menganalisis 34 kepribadian atau tingkah laku peserta didik agar tercapai tujuan pembelajaran yaitu behaviour change. Model komunikasi psikologis menerangkan bahwa dalam proses komunikasi, yang terlibat bukan hanya faktor fisik semata, tapi aspek psikologis setiap individu turut memegang peranan penting dalam proses komunikasi. Keadaan psikologis seorang individu akan mempengaruhi semua aspek kehidupannya. Salah satunya aspek pendidikan, yaitu kegiatan belajar. Apabila guru mampu menganalisis keadaan psikologis peserta didiknya, maka guru tersebut akan lebih mudah menentukan metode dan strategi yang akan digunakan dalam proses pembelajaran. Sebagai contoh, guru hendaknya tidak memaksakan diri untuk menyampaikan semua materi ketika ia melihat kondisi psikologis peserta didiknya tidak mendukung. Hendaknya guru tersebut berkomunikasi dengan peserta didiknya sehingga ia dapat menganalisis masalah apa yang sedang terjadi dan bagaimanakah penanganannya. Karena seorang guru tidak hanya berkewajiban menyampaikan materi pelajaran, tetapi unsur behaviour change dalam konteks kepribadian juga harus senantiasa menjadi tujuan utama pembelajaran seorang guru. Jadi, guru harus mampu berkomunikasi secara psikologis dengan peserta didiknya. Agar tujuan pembelajaran yaitu behaviour change tersebut dapat tercapai. d. Model pragmatis Model pragmatis ini berkaitan dengan kompleksitas waktu. Model pragmatis memiliki dua arah unsur yang dipandang amat penting, yaitu pertama, tindakan atau perilaku individu, yang dipandang sebagai unsur fundamental fenomenan komunikasi; inipun dianggap sebagai ‘Lokus’ komunikasi yang akibatnya komunikasi dipandang sama atau identik dengan perilaku itu sendiri. Kedua, Unsur waktu, yang dipandang sebagai dimensi tersendiri, yang muncul akibat dari kedua unsur itu sendiri. Tindakan atau perilaku individu dipandang terjadi dalam suatu rangkaian peristiwa yang berkesinambungan, sehingga keberurutan tindakan atau perilaku individu itu menjadi penting. 35 Urutan-urutan perilaku atau tindakan dari fase ke fase berikutnya membentuk dinamik suatu sistem komunikasi. Dalam sistem ini interaksiinteraksi ganda yang paling redundan” dinamakan ‘pola’. Jadi, untuk dapat memahami komunikasi manusia dalam perspektif pragmatis maka orang harus mencari dan memahami pola-pola interaksinya. Model komunikasi pragmatis akan efektif dalam memecahkan kendala belajar bila guru dapat mendesain, memanfaatkan, dan mengelolanya dengan baik. Guru dapat memanfaatkan kondisi atau keadaan kelas dengan efektif dan efisien apabila guru dapat memanfaatkan model komunikasi ini dalam proses pembelajaran. Model komunikasi pragmatis tentunya sulit untuk dikembangkan apabila suasana diskusi tersebut kurang mendukung. Untuk menjadikan metode diskusi ini efektif, lagi-lagi peranan guru dalam berkomunikasi dengan peserta didiknya, dan mengkomunikasikan dirinya dengan repserentasi yang tepat perlu di tingkatkan. Apabila model komunikasi pragmatis ini dapat diterapkan dalam proses pembelajaran melalui metode diskusi, maka hal ini akan mempermudah guru dalam menyampaikan materi dan tentunya mempermudah peserta didik dalam menyerap materi pembelajaran. Penerapan model komunikasi pragmatis dalam metode diskusi ini memiliki korelasi dengan keterampilan guru dalam menggunakan model komunikasi mekanistis, psikologis, dan interaksional. 2. Metode dan teknik Komunikasi Efektif dalam Pembelajaran a. Metode Komunikasi Efektif dalam Pembelajaran Sosok guru dimata peserta didiknya merupakan seorang yang serba tahu dan bijaksana, sehingga peserta didik merasakan ada orang lain tempat mengadu, selain orang tuanya di rumah. Mereka merasa mempunyai orang tempat berlindung, bertanya, berdiskusi, dan tempat meminta nasihat untuk bisa memecahkan persoalan yang dihadapinya. 36 Berhadapan dengan peserta didik di kelas, guru merupakan sumber informasi dan ilmu pengetahuan. Guru dituntut untuk lebih banyak merangsang peserta didiknya dengan mengomunikasikan beberapa fakta yang terkait dengan mata pelajarannya dan bisa mempengaruhi peserta didiknya ke arah suatu aktivitas tertentu. Dengan kata lain, dalam suasana pembelajaran terjadi proses komunikasi antara guru dengan peserta didiknya. Pada umumnya proses pembelajaran berlangsung secara terencana di dalam kelas dan bersifat tatap muka dalam kelompok yang relatif kecil. Meskipun demikian guru sewaktu-waktu dapat mengubah bentuk komunikasi kelompok itu menjadi komunikasi antar personal, bahkan tidak mustahil akan terjadi komunikasi intra personal pada diri peserta didiknya masing-masing. Dalam keadaan demikian akan terjadi pula suatu dialog yang menimbulkan komunikasi dua arah, dimana guru dan peserta didik bisa berubah-ubah kedudukan sebagai unsur komunikasinya. Suatu waktu guru berlaku sebagai komunikator, dan peserta didik merupakan komunikannya. Di saat lain, kondisi menghendaki si peserta didik menjadi komunikator, dan guru menjadi komunikannya. Komunikasi dua arah akan terwujud apabila peserta didik bersikap responsif. Sebaliknya apabila mereka bersikap pasif, hanya mendengar atau mencatat saja, tanpa ada gairah untuk mengajukan pertanyaan atau komentar, meskipun komunikasinya bersifat tatap muka, maka prosesnya tetap berlangsung satu arah dan komunikasipun tidak efektif lagi. Demi tepat gunanya komunikasi bagi suksesnya proses pembelajaran jelas bahwa bentuk-bentuk komunikasi yang terlibat tadi harus dipacu dengan suatu strategi dan teknik komunikasi yang mampu mewujudkan suasana belajar yang diwarnai dengan komunikasi dua arah. Secara strategis guru harus membaca situasi dan kondisi peserta didiknya, sedangkan secara teknis guru bisa menggunakan teknik persuasif berupa dialog atau diskusi, demonstrasi, penggunaan audio visual aids, retorika, dan sebagainya. 37 1) Diskusi Dalam usaha komunikasi untuk membangkitkan daya penalaran peserta didik, mereka sendiri ikut menentukan keberhasilannya, betapa tidak, para pelajar pada hakekatnya bukan hanya insan yang hanya siap untuk digiring atau didorong-dorong ke suatu sikap tertentu. Apabila mereka berada di alam demokrasi dan secara psikologis memiliki temperamen tinggi (Zakiah Daradjat, 1983: 1 – 20), serta dalam keadaan proses pembebasan diri (Gunarsa, 1978: 1 – 20). Demi efektifnya komunikasi yang berlangsung suasana pembelajaran hendaknya diciptakan menjadi suasana peserta didik aktif menggunakan kesempatannya untuk bertanya, berkomentar dan mengeluarkan pendapatnya, dengan demikian peserta didik merasa terbiasa atas kebenaran yang dikemukakannya. Dengan kata lain proses komunikasi dalam bentuk diskusi ini dapat berfungsi untuk (1) Meningkatkan intelektualitas peserta didik atas materi pelajaran yang didiskusikannya. (2) Mewujudkan komunikasi intra dan antar persona di kalangan peserta didik itu sendiri. Pada saat peserta didik melakukan komunikasi intra persona, terjadilah suatu proses bertahap dari persepsi ideasi, dan berakhir pada transmisi. Pada tahap persepsi, peserta didik melakukan penginderaan terhadap mata pelajaran yang disajikan gurunya, sehingga timbul kesan pada pusat sarafnya. Pusat sarafnya mengolah kesan tadi menjadi sandi yang berwujud ide-ide (tahap ideasi). Atas dasar pemikiran lebih lanjut yang mengacu pada pengetahuan dan pengalaman yang diperolehnya selama jalan hidupnya, ide-ide tadi disusun secara sistematis dan logis menjadi suatu kesatuan konsep yang siap ditransmisikan kepada rekan rekannya atau kepada gurunya dalam bentuk umpan balik dari cara gurunya mengajar mereka. Dengan demikian, terwujudlah produk penalaran peserta didik terhadap materi pelajaran yang disodorkan gurunya, sekaligus menjadi umpan yang berguna untuk menilai dan atau memperbaiki cara 38 guru berkomunikasi, sehingga dapat memperjelas materi atau masalah yang diajarkannya itu bagi peserta didiknya. 2) Demonstrasi Demonstrasi merupakan metode yang ampuh dalam upaya mempengaruhi orang lain. Sifat utama dari demonstrasi adalah merangsang peserta didik untuk ikut berpartisipasi dalam proses pembelajaran yang dilakukan oleh gurunya. Dalam hal ini si peserta didik dipacu untuk bisa mengenal serta mengalami apa yang menjadi persoalan dalam materi pelajaran itu, sekaligus mereka pun turut serta dalam memecahkan persoalan itu. Oleh karena itu, guru dituntut untuk dapat menyatakan tujuan demonstrasi secara verbal sedemikian rupa sehingga peserta didik merasa tertarik dan berminat untuk menyaksikan demonstrasi tersebut (Therber, 1959: 135). Peserta didik umumnya cepat menerima dan tertarik pada maksud demonstrasi yang ada hubungannya dengan bakat mereka, hal-hal yang aneh, dan atau luar biasa. Guru yang cerdik akan meminta peserta didiknya untuk melakukan sendiri apa yang ia kehendaki dalam demonstrasi itu, serta memikirkan hasilnya. Masalah-masalah yang menarik akan timbul pada saat peserta didik akan menemukan tujuan dan kegunaan apa yang didemonstrasikannya. Dengan demikian mereka memperoleh nilai tambah dalam hal pengetahuan yang sedang dipelajarinya. Ada beberapa cara yang harus diperhatikan dalam mencapai keberhasilan demonstrasi, yaitu harus dilakukan secara menarik dan diterangkan sejelas mungkin. Dalam hal ini guru harus memperkenalkan alat-alat yang akan dipergunakan dan ada hubungannya dengan mata pelajaran yang diberikan pada peserta didiknya. Untuk itu, guru harus mempersiapkan diri dengan baik dan mengatur menyampaikan keterangan secara sistematis sesuai dengan tingkat kecerdasan peserta didiknya. Ada baiknya disediakan waktu yang tepat, sebagai selingan dalam berlangsungnya demonstrasi itu, untuk membuat rangkuman atau ikhtisar dari bagian yang telah didemonstrasikan.Apa yang didemonstrasikan hendaknya dapat dilihat dengan terang, dan apa yang diucapkan dapat didengar dengan jelas. 39 Demonstrasi akan menarik apabila peserta didik digiring untuk dapat memenuhi harapannya. Untuk itu, guru harus mahir dan terampil melakukannya, melalui persiapan yang matang. Untuk kebutuhan perencanaan guru perlu: a) Mengetahui situasi dan kondisi peserta didik saat akan dilakukan demonstrasi, serta hal-hal yang paling menarik bagi mereka. b) Menuliskan pokok-pokok persoalan yang akan diperbincangkan, pada papan tulis atau melalui selebaran yang dibagi-bagikan. c) Menetapkan jadwal waktu penahapan pelaksanaan demonstrasi yang diselingi dengan penjelasan dan diskusi. d) Menyediakan pertanyaan-pertanyaan untuk bahan cheking terhadap pemahaman dan pengertian peserta didik akan tujuan dan isi demonstrasi yang telah dilakukan. e) Membuat kesimpulan dan mengulang pelaksanaan demonstrasi sedapat mungkin sehingga peserta didik merasa puas dan memahami benar apa yang dimaksud dengan demonstrasi. Bila perlu, peserta didik diberi kesempatan untuk mencobanya sendiri. b. Teknik Komunikasi Efektif Bagian di atas telah diuraikan strategi, model, dan metode komunikasi yang efektif dalam pembelajaran. Bagian tersebut terkait satu dengan lainnya. Strategi pembelajaran memuat aspek sistemik yang ada berkaitan dengan komunikasi efektif. Model pembelajaran memuat kerangka konseptual dan operasional keberlangsungan komunikasi efektif. Metode memuat cara yang digunakan dalam mengaplikasikan komunikasi efektif. Pada bagian ini akan diuraikan teknik yang dapat digunakan dalam penerapan komunikasi efektif. Teknik ini berkenaan dengan realitas yang terjadi dalam pelaksanaan komunikasi efektif. Rangkaian teknik yang ada akan menunjukkan metode yang digunakan dan rangkaian metode yang ada akan mengacu kepada suatu model komunikasi tertentu dalam rangka mewujudkan strategi komunikasi efektif yang dipraktikkan oleh guru dan peserta didik di dalam lingkungan kelas. 40 Secara teknis sejumlah hal penting yang perlu diperhatikan saat proses informasi untuk komunikasi dalam pembelajaran, antara lain: (1) hal yang akan disampaikan sampai kepada penerima tanpa ada pembiasan isi (subject = outcome), (2) hal yang akan disampaikan setingkat dengan kemampuan siswa dalam menelaah (tingkat intelegensi siswa, pengalaman-pengalaman yang pernah didapat), (3) siswa terikat secara aktif dalam proses belajar dengan cara menghubungkan apa yang mereka dapat sebelumnya dengan hal baru yang akan disampaikan, (4) siswa diminta menunjukkan kemajuan sehingga pencapaiannya dapat dianalisis, umpan balik mendapat respon sehingga terlihat jelas sukses dalam usahanya, dan (5) siswa diberi waktu luang yang cukup untuk berlatih dengan kondisi beragam untuk meyakinkan proses retensi dan tranfer yang sedang terjadi. Teknik komunikasi dalam proses belajar mengajar dapat dikategorikan dalam dua kelompok besar, yaitu teknik komunikasi berdasarkan nosinya dan teknik keomunikasi berdasarkan saluran yang digunakan. Teknik komunikasi berdasarkan nosinya, disajikan berikut ini. a) Komunikasi informatif (informatif communication) Teknik Suatu pesan yang disampaikan kepada seseorang atau sejumlah orang tentang hal-hal baru yang diketahuinya b) Komunikasi persuasif (persuasive communication) Proses mempengaruhi sikap, pandangan atau perilaku seseorang dalam bentuk kegiatan membujuk, mengajak, sehingga ia melakukan dengan kesadaran sendiri. c) Komunikasi instruktif/koersif (instructive/coersive communication) Komunikasi yang mengandung ancaman, sangsi dan lain-lain yang bersifat paksaan, sehingga orang-orang yang dijadikan sasaran melakukan sesuatu secara terpaksa, karena takut akibatnya. Selain teknik komunikasi yang diuraikan di atas, teknik komunikasi berikutnya yang perlu pula mendapatkan perhatian guru ketika melakukan 41 pembelajaran adalah teknik komunikasi berdasarkan saluran yang digunakan. Teknik ini diuraikan di bawah ini. a) Teknik Komunikasi Langsung Seorang guru memberikan pelajaran secara langsung dengan bertatap muka dengan para peserta didik dalam suatu ruangan ataupun di luar ruangan dalam konteks pembelajaran. Seperti yang terjadi di sekitar kita mulai dari sekolah dasar sampai perguruan tinggi. Dalam menerapkan strategi ini beberapa hal yang perlu diperhatian: (1) Dengarkan seutuhnya apa yang peserta didik inginkan Biarkan peserta didik tahu bahwa guru tertarik untuk mengetahui tentang mereka. Tanyakan kepada mereka apa yang terjadi di sekolah. Jangan beralih ke hal ian ketika mereka mulai bicara. Guru perlu menunjukkan rasa penasaran tentang apa yang peserta didik sampaikan. (2) Berikan waktu untuk merespon Peserta didik memerlukan beberapa saat untuk memproses dan memahami apa yang dikatakan oleh gurunya. Jadi berikan mereka waktu untuk merespon perkataan guru. (3) Lakukan komunikasi lebih sederhana dan jelas Hindari membuat peserta didik bingung dengan menunjukkan sikap dan kata-kata yang rumit. Mereka mungkin bisa salah mengartikan perkataan atau gerak tubuh guru sebagai akibat dari rumitnya kata-kata yang digunakan. (4) Hargai prestasi apa pun yang ditunjukkan peserta didik Berikan pujian atas hal positif yang ditunjukkan oleh peserta didik dan terhadap hal yang terlihat menyimpang atau terkesan gagal sampaikan kata-kata yang menghibur bukan kata-kata yang mematahkan semangat mereka. 42 (5) Senantiasalah Memotivasi peserta didik Ciptakan rasa aman di dalam kelas dan berikan peserta didik keempatan untuk berkarya sesuai keinginan mereka yang mendukung tujuan pembelajaran yang sedang dilaksanakan. (6) Katakan sesuatu dengan cara yang lebih positif Sebagian Guru sering memakai intonasi tinggi saat mengajarkan sesuatu. Kebiasaan ini sebaiknya mulai ditinggalkan karena membuat peserta didik merasa takut dan akhirnya tidak percaya diri. Guru bisa mengganti katakata itu dengan sesuatu yang lebih positif seperti "Tasnya kalau ditaruh di situ bisa lebih rapi, sayang." (7) Menanggapi sesuatu dengan sabar Luangkan waktu untuk berpikir tentang apa yang ingin peserta didik sampaikan dan respon dengan cara yang lembut dan penuh perhatian. Menanggapi sesuatu dengan sabar adalah cara terbaik untuk berkomunikasi dengan mereka. (8) Tunjukkan senyum yang terbaik Kesenangan ditunjukkan oleh tipe senyum yang diberikan. Semakin sering guru tersenyum akan menunjukkan suasana hatinya yang semakin senang dan hal ini membuka komunikasi efektif dengan peserta didik dengan komunikannya. Senyum akan mengusir emosi negatif yang ada di antara guru dan peserta didiknya. 43 (9) Beri tanggapan dengan cara memparaphrase kata-kata yang diucapkan, menggambarkan perilaku khusus yang diperlihatkan, dan tanggapan mengenai kedua hal tersebut. (10) Jaga nada suara, jangan sampai berteriak, menghakimi, atau seperti memusuhi. b) Teknik Komunikasi Tidak Langsung Komunikasi secara tidak langsung dilakukan melalui perantaraan saluran media. Guru dapat memberikan suatu pembelajaran melalui suatu media tanpa harus bertatap muka secara langsung dengan peserta didiknya. Peserta didiknya pun dapat memperoleh informasi secara luas melalui media tersebut. Seperti model sekolah jarak jauh yaitu memanfaatkan media internet sebagai alat untuk pembelajaran. Selain untuk menyajikan pesan, sebenarnya ada beberapa fungsi lain yang dapat dilakukan oleh media. Namun jarang sekali ditemukan seluruh fungsi tersebut dipenuhi oleh media komunikasi dalam suatu sistem pembelajaran. Sebaliknya suatu program media tunggal seringkali dapat mencakup beberapa fungsi sekaligus. Fungsi-fungsi tersebut antara lain: 1) Memberikan pengetahuan tentang tujuan belajar Pada permulaan pembelajaran, peserta didik perlu diberi tahu tentang pengetahuan yang akan diperolehmya atau ketrampilan yang akan dipelajarinya. Kepada peserta didik harus dipertunjukkan apa yang diharapkan darinya, apa yang harus dapat ia lakukan untuk menunjukkan bahwa ia telah menguasai bahan pelajaran dan tingkat kesulitan yang diharapkan. Untuk pembelajaran khususnya yang menampilkan gerak dapat mempertunjukkan kinerja (performance) yang harus dipelajari peserta didik. Dengan demikian dapat menjadi model perilaku yang diharapkan dapat dipertunjukkannya pada akhir pembelajaran. 44 2) Memotivasi peserta didik Salah satu peran yang umum dari media komunikasi adalah memotivasi peserta didik. Tanpa motivasi, sangat mungkin pembelajaran tidak menghasilkan belajar. Usaha untuk memotivasi peserta didik seringkali dilakukan dengan menggambarkan sejelas mangkin keadaan di masa depan, dimana peserta didik perlu menggunakan pengetahuan yang telah diperolehnya. Jika peserta didik menjadi yakin tentang relevansi pembelajaran dengan kebutuhannya di masa depan, ia akan termotivasi mengikuti pembelajaran. Media yang sesuai untuk menggambarkan keadaan masa depan adalah media yang dapat menunjukkan sesuatu atau menceritakan (tell) hal tersebut. Bila teknik bermain peran digunakan (seperti lawak atau drama), pengalaman yang dirasakan peserta didik akan lebih kuat. Film juga seringkali diproduksi dan digunakan untuk tujuan motivasi dengan cara yang lebih alami. 3) Menyajikan informasi Media seperti film dan televisi dapat digunakan untuk menyajikan informasi. Guru kelas bebas dari tugas mempersiapkan dan menyajikan pelajaran, ia dapat menggunakan energinya kepada fungsi-fungsi yang lain seperti merencanakan kegiatan peserta didik, mendiagnosa masalah peserta didik, memberikan konseling secara individual. Ada tiga jenis variasi penyajian informasi: a) Penyajian dasar (basic) Membawa peserta didik kepada pengenalan pertama terhadap materi pembelajaran, kemudian dilanjutkan dengan diskusi, kegiatan peserta didik atau review oleh guru kelas b) Penyajian pelengkap (supplementary) Setelah penyajian dasar dilakukan oleh guru kelas, media digunakan untuk membawa sumber-sumber tambahan ke dalarn kelas, melakukan apa yang tidak dapat dilakukan di kelas dengan cara apapun c) Penyajian pengayaan (enrichment) Merupakan informasi yang tidak merupakan bagian dari tujuan pembelajaran, didiadakan karena memiliki nilai motivasi dan dapat mencapai perubahan sikap dalam diri peserta didik. 45 4) Merangsang diskusi Kegunaan media untuk merangsang diskusi seringkali disebut sebagai papan loncat, diambil dari bentuk penyajian yang relatif singkat kepada sekelompok peserta didik dan dilanjutkan dengan diskusi. Format media biasanya menyajikan masalah atau pertanyaan, seringkali melalui drama atau contoh pengalaman manusia yang spesifik. Penyajian dibiarkan terbuka (open-end), tidak ada penarikan kesimpulan atau saran pemecahan masalah. Kesimpulan atau jawaban diharapkan muncul dari peserta didik sendiri dalam interaksinya dengan pemimpin atau dengan sesamanya. Penyajian media diharapkan dapat merangsang pemikiran, membuka masalah, menyajikan latar belakang informasi dan memberikan fokus diskusi. 5) Mengarahkan kegiatan peserta didik Pengarahan kegiatan merupakan penerapan dari metode pembelajaran yang disebut metode kinerja (performance) atau metode penerapan (application). Penekanan dari metode ini adalah pada kegiatan melakukan (doing). Media dapat digunakan secara singkat atau sebentar – sebentar untuk mengajak peserta didik mulai dan berhenti. Dengan kata lain program media digunakan untuk mengarahkan peserta didik dilakukan kegiatan langkah demi langkah (step-by-step). Penyajian bervariasi, mulai dari pembelajaran sederhana untuk kegiatan peserta didik, seperti tugas pekerjaan rumah sampai pengarahan langkah demi langkah untuk percobaan laboratorium yang kompleks. Permainan merupakan metode pembelajaran yang sangat disukai khususnya bagi peserta didik sekolah menengah, memiliki nilai motivasional yang tinggi, melibatkan peserta didik lebih baik daripada metode pembelajaran yang lain. 6) Menguatkan belajar Penguatan seringkali disamakan dengan motivasi, atau digolongkan dalam motivasi. Penguatan adalah kepuasan yang dihasilkan dari belajar, dimana cenderung meningkatkan kemungkinan peserta didik merespon dengan tingkah laku yang diharapkan. Penguatan paling efektif diberikan beberapa saat setelah respon diberikan. Suatu program media menyajikan pertanyaan kepada peserta didik, kemudian peserta didik menyusun jawabannya atau memilih dari beberapa kemungkinan jawaban. Setelah 46 peserta didik menentukan jawabannya, ia sangat termotivasi untuk segera mengetahui jawaban yang benar. Jika peserta didik mengetahui bahwa jawabannya benar, maka ia dikuatkan. Bahkan jika peserta didik tahu jawabannya salah, namun jika ditunjukkan seberapa dekat jawabannya mendekati kebenaran, maka hal tersebut juga merupakan penguatan. Media apapun yang dapat digunakan untuk menyajikan informasi juga mampu menyajikan pertanyaan dan merangsang peserta didik untuk menjawab. Media apapun yang mampu melakukan fungsi ini, ia juga dirancang untuk memberikan jawaban benar terhadap pertanyaan kognitif, segera setelah peserta didik diberi kesempatan menjawab, sehingga dimungkinkan untuk membandingkan dan memperoleh pengetahuan tentang hasil sesegera mungkin. Agus Suheri (2006:1) menyebutkan bahwa Lembaga Riset dan Penerbitan Komputer, yaitu Computer Technology Research (CTR) menemukan bahwa ”orang hanya mampu mengingat 20 % dari apa yang dilihat dan 30 % dari yang didengar. Tetapi orang dapat mengingat 50 % dari yang dilihat dan didengar dan 80 % dari yang dilihat, didengar dan dilakukan sekaligus. Komunikasi yang jelas dalam sebuah pembelajaran adalah salah satu syarat pembelajaran dapat berlangsung efektif. Jadi bila kita ingin menjadi guru yang efektif, marilah kita bersama-sama memperbaiki kemampuan kita berkomunikasi kepada peserta didik-peserta didik kita pada setiap pembelajaran yang kita laksanakan. Ada beberapa komponen dalam komunikasi pembelajaran yang efektif, yaitu: a) Penggunaan terminologi yang tepat b) Presentasi yang sinambung dan runtut c) Sinyal transisi atau perpindahan topik bahasan d) Tekanan pada bagian-bagian penting pembelajaran e) Kesesuaian antara tingkah laku komunikasi verbal dengan tingkah laku komunikasi nonverbal. 47 3. Praktik Komunikasi fektif dalam Pembelajaran Komunikasi dalam pembelajaran dikatakan efektif jika pesan yang dalam hal ini adalah materi pelajaran dapat diterima dan dipahami, serta menimbulkan umpan balik yang positif oleh peserta didik.Komunikasi efektif dalam pembelajaran harus didukung dengan keterampilan komunikasi antar pribadi yang harus dimiliki oleh seorang guru. Komunikasi antar pribadi merupakan komunikasi yang berlangsung secara informal antara dua orang individu. Komunikasi ini berlangsung dari hati ke hati, karena di antara kedua belah pihak terdapat hubungan saling mempercayai. Komunikasi antar pribadi akan berlangsung efektif apabila pihak yang berkomunikasi menguasai keterampilan komunikasi antar pribadi. Dalam kegiatan belajar mengajar, komunikasi antar pribadi merupakan suatu keharusan, agar terjadi hubungan yang harmonis antara guru dengan peserta didik. Keefektifan komunikasi dalam kegiatan belajar mengajar ini sangat tergantung dari kedua belah pihak. Akan tetapi karena guru yang memegang kendali kelas, maka tanggung jawab terjadinya komunikasi dalam kelas yang sehat dan efektif terletak di tangan guru. Dalam pembelajaran di kelas, komunikasi efektif guru dengan peserta didik didukung dengan kalimat-kalimat efektif dan efisien agar peserta didik memahami dan melaksanakan kegiatan dengan benar sesuai dengan apa yang dimaksud guru. Berikut ini disajikan sejumlah praktik komunikasi efektif dalam pembelajaran. Dinukilkan sejumlah dialog yang dipandang efektif dalam melakukan komunikasi dengan peserta didik. 48 1. Pembukaan/ apersepsi. Sebelum memulai kegiatan pembelajaran di kelas, guru menyapa peserta didik dengan bahasa yang efektif dan efisien yang mudah dipahami oleh peserta didik sebagai sarana komunikasi awal untuk menggali informasi kesiapan peserta didik melaksanakan kegiatan belajar, serta dapat memberikan motivasi kepada peserta didik. Beberapa contoh di antaranya, menanyakan kabar peserta didik tentang kesehatan, kesiapan belajar. Dengan memberikan beberapa pertanyaan seputar keadaan peserta didik, akan dapat menciptakan suasana pembelajaran yang lebih kondusif. Dengan kondisi yang kondusif, peserta didik lebih siap untuk menerima instruksi pembelajaran. Contoh: Guru : ” Selamat pagi. Apa kabar.” Peserta didik: Guru : “Siapa yang tidak hadir hari ini?” Peserta didik: Guru : “Ada yang tahu mengapa ...tidak hadir?” Peserta didik: Guru : “Jika sempat, jenguklah...di rumahnya.” Guru : “Selamat pagi. Apakah sudah siap belajar hari ini?” Peserta didik: Guru : “Baik, akan diberikan waktu 5 menit untuk membaca kembali pelajaran yang lalu, atau silakan jika ada yang ingin bertanya.” __________________________________________________________ ______ Guru : “Selamat pagi. Apa kabar. Sudah siap ulangan hari ini?” Peserta didik: Guru : “Baik, diberikan waktu 10 menit mempelajari kembali, kemudian kita mulai ulangan.” __________________________________________________________ ______ 49 2. Menginstruksikan. Dalam proses pembelajaran, guru akan memberikan instruksi kepada peserta didik, seperti mengerjakan tugas, melakukan kegiatan berdasarkan lembar kerja siswa, menampilkan karya peserta didik, baik individu maupun kelompok.Instruksi menggunakan kalimat efektif agar peserta didik dapat melakukan kegiatan sesuai yang diharapkan oleh guru. Contoh: Guru : “Buatlah naskah drama berdasarkan cerita pendek dari teks yang telah disediakan sebanyak dua halaman secara individu.” __________________________________________________________ ___ Guru : “Buatlah presentasi langkah-langkah melakukan sesuatu dalam bentuk power point berdasarkan konsep yang telah dibuat secara berkelompok sesuai dengan nama-nama yang telah ditentukan.” __________________________________________________________ ___ Guru : “Maju dan bacalah puisi yang telah dibuat dengan memperhatikan aspek-aspek membaca puisi, di antaranya, intonasi, ekspresi, gesture, dan penghayatan.” ___________________________________________________________ __ Guru : “Dengarkan dan perhatikan pembacaan puisi dari temanmu. Setelah itu,berikan pendapat dan saran dari pembacaan puisi tersebut secara lisan.” 3. Memuji dan memotivasi. Setiap peserta didik butuh diterima dan diakui eksistensinya oleh guru dan teman-temannya. Terkadang guru lupa atau jarang memberi pujian kepada peserta didik tentang perubahan yang telah mereka lakukan baik dalam bidang akademik maupun perilaku. Pujian dan motivasi yang diberikan guru dapat membuat peserta didik merasa istimew dan diterima 50 segala kelebihan dan kekurangannya. Dengan demikian hal ini akan meningkatkan rasa percaya diri dan selanjutya akan meningkatkan motivasi belajar. Pujian yang diberikan kepada peserta didik hendaklah tulus, tidak berlebihan, dan jelas, sehingga peserta didik mengetahui alasan perilaku atau prestasinya dihargai dan diapresiasi guru. Kalimat pujian yang diberikan tidak membuat peserta didik tersebut berbesar kepala dan peserta didik lain menjadi kecil hati serta merasa dibandingkan. Contoh: Awal pertemuan kelas bahasa, Guru membuka pelajaran dengan berdoa, menyanyikan lagu nasional dan mengecek kehadiran peserta didik dan memberi pujian kepada mereka yang hadir tepat waktu dalam pembelajaran. Pujian juga senantiasa diberikan ketika berlangsungannya proses belajar mengajar. Pujian diberikan atas selesainya peserta didik mengerjakan tugas tertentu atau menyajikan tugas di depan kelas. Bagi mereka yang telah mendapat nilai yang baik, pujian senantiasa diberikan dan sampai pada akhir pembelajaran pujian-pujian tersebut tetap terpelihara. Berikut ini sejumlah pujian yang dapat memotivasi peserta didik dalam kegiatan pembelajaran. “tampilan kamu menyenangkan kami semua” “karya ini layak dibaca masyarakat luas” “kamu sudah menunjukkan jati diri sebagai siswa” “ kamu tunjukkan kemampuan terbaikmu hari ini” “hari ini kami semua senang sekali menyaksikan presentasimu” “Tepuk tangan untuk Andi” “hadiah jempol ganda untukmu” Untuk pertemuan awal kelas bahasa Prancis tingkat pemula, guru diharapkan untuk menstimulus siswa mengemukakan hal-hal mengenai pengetahuannya tentang apapun yang berhubungan dengan Prancis. 51 Siswa menjawab: Paris, Eiffel, Tour de France, Rolland-Garros, Yves Saint Laurent, dan lain lain Guru memberikan tanggapan pada setiap murid yang menjawab dengan pujian: “Bien” (good), “Très Bien (very good), “parfait” (Excelent). Guru mengajukan pertanyaan kepada peserta didik dan dijawab dengan benar oleh peserta didik. Guru memberikan pujian berupa acungan jempol. Gesture ini menandakan guru mengapresiasi jawaban peserta didik. 4. Penguatan. Dalam interaksi yang terjadi antara guru dan murid, diperlukan penguatan yang menunjang proses pembelajaran di dalam kelas. Penguatan ini bukan hanya sekedar materi ajar, yang secara tekstual dapat dibaca oleh siswa, namun juga guru dapat memberikan materi tersebut dengan media media lainnya. Contoh: Dalam pembelajaran sejarah, guru menerangkan materi tentang Candi Borobudur. Kemudian, guru bertanya: “Candi borobudur dipengaruhi oleh kebudayaan apa? Hindu atau Budha?” Peserta didik: “Budha.” Guru : “Tepat sekali. Mari kita lihat bersama slide berikut. Pada gambar ini apa yang kalian temukan?” Peserta didik: “Stupa.” Guru : “Betul. Stupa merupakan salah satu ciri dari bangunan berkebudayaan Budha.” 5. Penutup/ refleksi. Setelah materi ajar selesai disampaikan, guru merangkum materi yang telah dipelajari pada pertemuan hari itu. Guru memberikan latihan untuk 52 dikerjakan secara mandiri agar materi hari ini dapat langsung diaplikasikan oleh murid. Guru juga memberikan kesempatan kepada murid untuk menanyakan kembali materi yang tidak mereka kuasai. Contoh: Guru : ”Demikian pelajaran hari ini. Apa saja yang telah kita pelajari hari ini?” Peserta didik: Guru : ”Betul sekali. Ada yang masih ingin ditanyakan?” Peserta didik: Guru : ”Baiklah, jika tidak ada pertanyaan, silakan kalian membawa gambar tokoh idola masing-masing untuk pertemuan berikutnya.” Peserta didik: D. Aktivitas Pembelajaran Cermati baik-baik penjelasan di atas, kemudian secara berkelompok lakukan diskusi untuk mengembangkan contoh-contoh yang ada. Tuliskan hasil diskusi Anda pada kertas plano atau sajikan dalam slide power poin kemudian sajikan di depan kelas. Mintalah masukan dari kelompok lain. E. Latihan/ Kasus/ Tugas 1. Tuliskan sebanyak-banyak kalimat pembuka yang santun dalam membuka kegiatan pembelajaran di kelas. 2. Tuliskan berbagai kalimat yang dapat digunakan dalam memuji peserta didik. Identifikasikan kalimat pujian tersebut berdasarkan kesamaan tujuan dan karakteristiknya. 3. Diskusikan dalam kelompok kecil 4 – 6 orang bebagai macam cara yang dapat digunakan dalam memberi pujian secara gesture. 4. Tuliskan pula berbagai kalimat yang dapat digunakan untuk memberi penguatan dan memberi instruksi kepada peserta didik. Bagaimana sebaiknya kalimat penguatan itu dan bagaiana pula sebaiknya kalimat 53 instruksi yang membuat peserta didik melakukannya dengan tanpa merasa dipaksa. Kelompokkan kalimat-kalimat tersebut sesuai dengan kesamaan karakteristiknya. 5. Situasi: Guru memasuki ruang kelas. Peserta didik masih sibuk dengan kegiatan masing-masing. Ada yang bernyanyi, ada yang mengobrol, ada yang membuka majalah, ada yang sedang makan. Pertanyaan: Apa yang harus Anda lakukan untuk menarik perhatian murid agar fokus terhadap mata pelajaran yang Anda ampu? F. Rangkuman. Agar tujuan pembelajaran tercapai, komunikasi antara guru dan peserta didik haruslah baik. Komunikasi yang efektif inilah yang menjadi salah satu kunci dari keberhasilan seorang guru. Dengan komunikasi yang baik dan efektif, materi pelajaran akan terserap dan tersampaikan dengan baik oleh peserta didik. Guru pun harus dengan jelas menginstruksikan apa yang harus dilakukan oleh peserta didik. Pujian, motivasi, dan penguatan pun harus diberikan kepada peserta didik agar mereka dapat bekerja lebih baik serta menghidupkan suasan kelas. Oleh karena itu, salah satu kemampuan seorang guru dalam mengelola kelas ditentukan oleh komunikasi yang efektif. Berikut contoh penerapan komunikasi aktif dalam pembelajaran: a. Guru menggunakan pertanyaan untuk mengetahui pemahaman dan menjaga murid, termasuk memberikan pertanyaan terbuka yang menuntut murid untuk menjawab dengan ide dan pengetahuan mereka. 54 b. Guru memberikan perhatian dan mendengarkan semua pertanyaan dan tanggapan murid, tanpa menginterupsi, kecuali jika diperlukan untuk membantu atau mengklarifikasi pertanyaan/tanggapan tersebut. c. Guru menanggapi pertanyaan murid secara tepat, benar, dan mutakhir, sesuai tujuan pembelajaran dan isi kurikulum, tanpa mempermalukannya. d. Guru menyajikan kegiatan pembelajaran yang dapat menumbuhkan kerja sama yang baik antarpeserta didik. e. Guru mendengarkan dan memberikan perhatian terhadap semua jawaban murid baik yang benar maupun yang dianggap salah untuk mengukur tingkat pemahaman murid. f. Guru memberikan perhatian terhadap pertanyaan peserta didik dan meresponnya secara lengkap dan relevan untuk menghilangkan kebingungan pada murid. G. Umpan Balik dan Tindak Lanjut 1. Apakah modul penerapan komunikasi efektif dalam pembelajaran menambah pengetahuan Saudara? 2. Apakah saudara mampu memahami materi penerapan komunikasi efektif dalam pembelajaran ini? 3. Praktikan komunikasi efektif dalam pembelajaran dan sesuaikan dengan situasi dan kebutuhan. 4. Komunikasikan dengan teman sejawat atau kelompok kerja apabila menemui kendala komunikasi efektif dalam pembelajaran. Cermati hasil pekerjaan Anda dalam kelompok, lalu beri penilain diri Anda terhadap hasil pekerjaan tersebut. Gunakan format berikut ini untuk menilai pekerjaan Anda. 4 Konstruksi Kalimat sangat lengkap 3 Konstruksi Kalimat lengkap 55 2 Konstruksi Kalimat kurang lengkap 1 Konstruksi Kalimat tidak lengkap 4 Kalimat sangat variatif 3 Kalimat variatif 2 Kalimat kurang variatif 1 Kalimat tidak variatif 4 Jumlah kalimat lebih dari atau sama dengan 20 untuk tiap poin 3 Jumlah kalimat 16 – 19 2 Jumlah kalimat 1 Jumlah kalimat kurag dari 10 10 – 15 Nilailah hasil pekerjaan Anda untuk setiap bagian (pujian, pembuka, instruksi, penguatan, penutup) dengan menggunakan rumus Skor Perolehan --------------------- x 100 Skor Maks (12) Untuk nilai akhir dengan 5 bagian, gunakan rumus Skor Perolehan --------------------- x 100 Skor Maks (60) Bilamana nilai Anda kurang dari 80, diskusilah kembali dengan teman Anda dan baca ulang isi pembelajaran 4 di atas. 56 H. Kunci jawaban. 1. Guru harus menarik perhatian peserta didik agar mereka menyadari kehadiran guru tersebut di dalam kelas. Guru menyapa peserta didik “Selamat Pagi”, “Bonjour”, “Ni men hao”. Jika peserta didik masih tidak menanggapinya, maka ulangi sapaan tersebut dengan intonasi suara yang lebih lantang. Jika peserta didik masih tidak tertib, guru menanyakan kesiapan peserta didik untuk mengikuti kegiatan pembelajaran. Guru berkeliling kelas memastikan peserta didik siap mengikuti kegiatan kelas sambil menjelaskan/ mengulang kembali topik pelajaran sebelumnya agar perhatian peserta didik perlahan-lahan kembali mengikuti kegiatan pembelajaran di kelas kembali. 2. a. Kejelasan informasi. b. Kejelasan target. c. Penggunaan bahasa. c) Aktivitas Pembelajaran Untuk dapat menguasai materi yang dipaparkan di atas, berikut ini aktivitas pembelajaran yang disarankan untuk dilakukan. a. Secara berkelompok 4 – 5 orang, lakukan pembahasan terhadap materi kegiatan pembelajaran kedua di atas. b. Cermati setiap poin temukan ide utama uraian yang terdapat dalam setiap sub bagian yang ada. 57 c. Tuangkan poin-poin yang Bapak/Ibu temukan ke dalam slide power point atau ke dalam kertas plano yang telah disediakan. d. Lakukan presentasi secara bergantian dengan kelompok lain. e. Tarik simpulan berdasarkan hasil presentasi dengan kelompok lain. d) Latihan/Tugas Jawablah dengan singkat dan tepat pertanyaan di bawah ini. a. Uraikan konsep stratifikasi strategi, model, metode, dan teknik komunikasi efektif dalam pembelajaran! b. Uraikan aspek apa sajakah yang perlu diperhatikan dalam strategi komunikasi efektif! c. Uraikan model komunikasi efektif dalam pembelajaran berdasarkan sudut pandang teori belajar. d. Uraikan teknik komunikasi langsung dan teknik komunikasi tak langsung komunikasi efektif dalam pembelajaran. e. Tuliskan aspek apasajakah yang perlu diperhatikan ketika melakukan kegiatan praktik komunikasi langsung pembelajaran di dalam kelas. e) Rangkuman Berikut ini disajikan rangkuman dari uraian yang disajikan dalam pembelajaran 2 di atas. a. Strategi, model, metode, dan teknik komunikasi efektif dalam pembelajaran bersifat hierakhis. Bagian tersebut terkait satu dengan lainnya. Strategi pembelajaran memuat aspek sistemik yang ada berkaitan dengan komunikasi efektif. Model pembelajaran memuat kerangka konseptual dan operasional keberlangsungan komunikasi efektif. Metode memuat cara yang digunakan dalam mengaplikasikan komunikasi efektif. Teknik berkenaan dengan realitas yang terjadi dalam pelaksanaan komunikasi efektif. Rangkaian teknik yang ada akan menunjukkan metode yang digunakan dan rangkaian metode yang ada akan mengacu kepada suatu model komunikasi tertentu dalam rangka 58 mewujudkan strategi komunikasi efektif yang dipraktikkan oleh guru dan peserta didik di dalam lingkungan kelas. b. Aspek yang perlu diperhatikan dalam strategi komunikasi efektif adalah komunikator, pesan, komunikan, dan media c. Model komunikasi efektif dalam pembelajaran berdasarkan sudut pandang teori belajar dapat dibagi ke dalam empat jenis, yakni model mekanistik, model interaksional, model psikologis, dan model pragmatis. d. Teknik komunikasi langsung adalah teknik komunikasi yang menghadirkan komunikator dan komunikan secara tatap muka. Teknik komunikasi tak langsung merupakan bentuk komunikasi yang dilangsungan dengan kontak antara komunikator dan komunikan menggunakan perantaraan media karena jarak antara komunikan dan komunikator berjauhan. e. Sejumlah hal yang perlu diperhatikan ketika melakukan kegiatan praktik komunikasi langsung pembelajaran di dalam kelas, yaitu:  Dengarkan seutuhnya apa yang peserta didik inginkan  Berikan waktu untuk merespon  Lakukan komunikasi lebih sederhana dan jelas  Hargai prestasi apa pun yang ditunjukkan peserta didik  Senantiasalah Memotivasi peserta didik  Katakan sesuatu dengan cara yang lebih positif  Menanggapi sesuatu dengan sabar  Tunjukkan senyum yang terbaik  Beri tanggapan dengan cara memparaphrase kata-kata yang diucapkan, menggambarkan perilaku khusus yang diperlihatkan, dan tanggapan mengenai kedua hal tersebut.  Jaga nada suara, jangan sampai berteriak, menghakimi, atau seperti memusuhi. . 59 f) Umpan Balik dan Tindak Lanjut Periksalah pekerjaan Anda, beri skor masing-masing sesuai pedoman penilaian sebagai berikut ini. No No Soal Skor Nilai 1 Skor maksimal 30 2 Skor Maksimal 10 3 Skor Maksimal 10 4 Skor Maksimal 20 5 Skor Maksimal 30 Skor Maksimal 100 Nilai Tuliskan berapa skor yang Anda dapatkan, bilamana skor Anda masih kurang dari 80, ulangi sekali lagi mempelajari bagian pembelajaran 2 di atas. g) Kunci Jawaban a. Strategi, model, metode, dan teknik komunikasi efektif dalam pembelajaran bersifat hierakhis. Bagian tersebut terkait satu dengan lainnya. Strategi pembelajaran memuat aspek sistemik yang ada berkaitan dengan komunikasi efektif. Model pembelajaran memuat kerangka konseptual dan operasional keberlangsungan komunikasi efektif. Metode memuat cara yang digunakan dalam mengaplikasikan komunikasi efektif. Teknik berkenaan dengan realitas yang terjadi dalam pelaksanaan komunikasi efektif. Rangkaian teknik yang ada akan menunjukkan metode yang digunakan dan rangkaian metode yang ada akan mengacu kepada suatu model komunikasi tertentu dalam rangka mewujudkan strategi komunikasi efektif yang dipraktikkan oleh guru dan peserta didik di dalam lingkungan kelas. b. Aspek yang perlu diperhatikan dalam strategi komunikasi efektif adalah komunikator, pesan, komunikan, dan media 60 c. Model komunikasi efektif dalam pembelajaran berdasarkan sudut pandang teori belajar dapat dibagi ke dalam empat jenis, yakni model mekanistik, model interaksional, model psikologis, dan model pragmatis. d. Teknik komunikasi langsung adalah teknik komunikasi yang menghadirkan komunikator dan komunikan secara tatap muka. Teknik komunikasi tak langsung merupakan bentuk komunikasi yang dilangsungan dengan kontak antara komunikator dan komunikan menggunakan perantaraan media karena jarak antara komunikan dan komunikator berjauhan. e. Sejumlah hal yang perlu diperhatikan ketika melakukan kegiatan praktik komunikasi langsung pembelajaran di dalam kelas, yaitu: • Dengarkan seutuhnya apa yang peserta didik inginkan • Berikan waktu untuk merespon • Lakukan komunikasi lebih sederhana dan jelas • Hargai prestasi apa pun yang ditunjukkan peserta didik • Senantiasalah Memotivasi peserta didik • Katakan sesuatu dengan cara yang lebih positif • Menanggapi sesuatu dengan sabar • Tunjukkan senyum yang terbaik  Beri tanggapan dengan cara memparaphrase kata-kata yang diucapkan, menggambarkan perilaku khusus yang diperlihatkan, dan tanggapan mengenai kedua hal tersebut. • Jaga nada suara, jangan sampai berteriak, menghakimi, atau seperti memusuhi. 61 KEGIATAN PEMBELAJARAN 3 : HAMBATAN DAN SOLUSI KOMUNIKASI EFEKTIF A. Tujuan Melalui modul ini peserta dapat mengidentifikasi hambatan-hambatan dalam komunikasi efektif dan menemukan solusi hambatan dalam komunikasi efektif B. Indikator Pencapaian Kompetensi - Mengidentifikasi hambatan komunkasi efektif. - Menemukan solusi atas hambatan yang ditemukan dalam komunikasi efektif. C. Uraian Materi Hambatan dan Solusi Komunikasi Efektif dalam Pembelajaran Kompetensi pedagogik menjadi salah satu kompetensi yang harus dimiliki seorang guru. Di antaranya guru harus memahami berbagai strategi berkomunikasi yang efektif, empatik, dan santun, secara lisan, tulisan, dan/atau bentuk lain, selanjutnya, guru juga harus mampu berkomunikasi secara efektif, empatik, dan santun dengan peserta didik dengan bahasa yang khas dalam interaksi kegiatan/permainan yang mendidik yang terbangun secara siklikal dari : (a) penyiapan kondisi psikologis peserta didik untuk ambil bagian dalam permainan melalui bujukan dan contoh, (b) ajakan kepada peserta didik untuk ambil bagian, (c) respons peserta didik terhadap ajakan guru, dan (d) reaksi guru terhadap respons peserta didik, dan seterusnya. Meskipun proses komunikasi sudah dirancang secara matang oleh guru dalam RPP, belum tentu tujuan komunikasi tercapai secara efektif karena terdapat beberapa hambatan komunikasi yang muncul dalam proses 62 pembelajaran antara guru sebagai komunikator dan peserta didik sebagai komunikan. Secara umum hambatan yang terjadi dalam proses komunikasi dapat berasal dari dalam (internal) maupun dari luar (eksternal). a. Hambatan internal, berasal dari diri peserta didik atau pembelajar itu sendiri. Dapat berupa hambatan psikologis (minat, sikap, pendapat, kepercayaan, intelegensi, pengetahuan, dll) dan hambatan fisik (kelelahan, sakit, keterbatasan daya indera, dan cacat tubuh). b. Hambatan eksternal, berasal dari lungkungan pembelajar. Dapat berupa hambatan kultural (adat-istiadat, kepercayaan, norma sosial, dan niali-nilai panutan) dan hambatan lingkungan (suasana yang panas, bising, dan berjubel). Marhaeni Fajar mengklasifikasikan hambatan komunikasi sebagai berikut: 1. Hambatan dari proses komunikasi a. Hambatan dari pengirim pesan, misalnya pesan yang akan disampaikan belum jelas bagi dirinya atau pengirim pesan. Hal ini dipengaruhi oleh perasaan atau situasi emosional, sehingga mempengaruhi motivasi yaitu mendorong seseorang untuk bertindak sesuai dengan keinginan, kebutuhan, atau kepentingan. b. Hambatan dalam penyandian atau symbol, hal ini dapat terjadi karena bahasa yang dipergunakan tidak jelas sehingga memiliki arti lebih dari satu, symbol yang dipergunakan antara si pengirim dengan penerima tidak sama atau bahasa yang dipergunakan terlalu sulit. c. Hambatan media, adalah hambatan yang terjadi dalam penggunaan media komunikasi. d. Hambatan dari penerima pesan, misalnya kurangnya perhatian pada saat menerima atau mendengarkan pesan, atau tidak mencari informasi lebih lanjut. 63 e. Hambatan dalam memberikan balikan. Balikan yang diberikan tidak menggambarkan apa adanya, akan tetapi interpretatif, tidak tepat waktu, atau tidak jelas, dan sebagainya. 2. Hambatan fisik Hambatan fisik dapat mengganggu komunikasi yang efektif, misalnya: a. Gangguan kesehatan b. Gangguan pada alat-alat komunikasi dan jaringan listrik 3. Hambatan semantik Kata-kata yang digunakan dalam komunikasi kadang-kadang mempunyai arti mendua yag berbeda, tidak jelas, atau berbelit-belit antara komunikator dengan komunikan. 4. Hambatan psikologis Hambatan psikologis dan sosial kadang-kadang mengganggu komunikasi. Misalkan, dalam musibah, menimbulkan trauma yang sangat tinggi pada korbannya, sehingga pada saat diajak komunikasi menjadi tidak nyambung. Selain itu juga karena masalah prasangka, yang merupakan penilaian sejak awal dalam diri komunikan terhadap komunikator. Biasanya prasangka ini terlalu besar dan negatif, sehingga menjadi hambatan berat dalam komunikasi. Menurut Ron Ludlow & Fergus Panton, hambatan-hambatan yang menyebabkan komunikasi tidak efektif yaitu : 1. Semantic Problems Faktor semantik menyangkut bahasa yang dipergunakan komunikator sebagai alat untuk menyalurkan pikiran dan perasaannya kepada komunikan. Demi kelancaran komunikasi, seorang komunikator harus benar-benar memperhatikan gangguan sematis ini, sebab kesalahan pengucapan atau kesalahan dalam penulisan dapat menimbulkan salah pengertian (misunderstanding) atau penafsiran (misinterpretation) yang pada gilirannya bisa menimbulkan salah komunikasi (miscommunication). 64 Misalnya kesalahan pengucapan bahasa dan salah penafsiran seperti contoh : pengucapan demonstrasi menjadi demokrasi, kedelai menjadi keledai, dan lain-lain. 2. Perceptual distorsion Perceptual distorsion dapat disebabkan karena perbedaan cara pandang yang sempit pada diri sendiri dan perbedaaan cara berpikir serta cara mengerti yang sempit terhadap orang lain. Sehingga dalam komunikasi terjadi perbedaan persepsi dan wawasan atau cara pandang antara satu dengan yang lainnya. 3. Cultural Differences Hambatan yang terjadi karena disebabkan adanya perbedaan kebudayaan, agama, dan lingkungan sosial. Dalam suatu lingkungan atau kelas terdapat beberapa suku, ras, dan bahasa yang berbeda. Sehingga ada beberapa kata-kata yang memiliki arti berbeda di tiap suku. Seperti contoh : kata “jangan” dalam bahasa Indonesia artinya tidak boleh, tetapi orang suku Jawa mengartikan kata tersebut sebagai suatu jenis makanan berupa sup. 4. Physical Distractions Hambatan ini disebabkan oleh gangguan lingkungan fisik terhadap proses berlangsungnya komunikasi. Contohnya : suara riuh orang-orang atau kebisingan, kelas yang berjubel, suara hujan atau petir, dan cahaya kelas yang kurang jelas. 6. Poor choice of communication channels Adalah gangguan yang disebabkan pada media yang dipergunakan dalam melancarkan komunikasi. Contoh dalam kehidupan sehari-hari, misalnya: sambungan telepon yang terputus-putus, suara radio yang hilang dan muncul, gambar yang kabur pada pesawat televisi, atau huruf ketikan yang buram pada surat, sehingga informasi tidak dapat ditangkap dan dimengerti dengan jelas. 7. No Feed back Hambatan tersebut adalah ketika seorang sender mengirimkan pesan kepada receiver tetapi tidak ada respon dan tanggapan dari receiver . Maka 65 yang terjadi adalah komunikasi satu arah yang sia-sia. Seperti contoh : seorang manajer menerangkan suatu gagasan yang ditujukan kepada para karyawan. Dalam penerapan gagasan tersebut para karyawan tidak memberikan tanggapan atau respon. Dengan kata lain tidak peduli dengan gagasan yang disampaikan seorang manajer. Untuk menghindari ataupun mengatasi ganggguan internal guru harus memfasilitasi peserta didik agar mereka mampu mengungkapkan gagasan atau ide dalam komunikasi baik lisan maupun tulisan. Misalnya, memberi waktu beberapa saat kepada peserta didik, memancing dengan memberikan beberapa kata, ataupun memberikan kesempatan pada peserta didik untuk menuliskan gagasan atau ide sebelum mengungkapkan secara lisan. Untuk menghindari atau mengatasi hambatan eksternal, guru mengatur strategi komunikasi dan pengaturan lingkungan belajar, sehingga komunikasi dapat terlaksana dengan efektif. Contohnya dengan cara mengatur posisi duduk, menggunakan media yang sesuai dan jelas, pemilihan tema pembelajaran yang dapat kepercayaan, norma sosial. 66 mengakomodasi perbedaan adat istiadat, D. Aktivitas Pembelajaran Untuk menguasai materi di atas aktivitas pembelajaran yang bisa dilakukan 1. Pelajari hambatan komunikasi efektif yang kemungkinan muncul dalam pembelajaran pada modul. 2. Temukan solusi lain untuk mengatasi hambatan yang muncul pada komunikasi efektif dalam pembelajaran dan buat rangkumannya (sumber: buku atau internet). 3. Kerjakan dengan berkelompok 4 – 5 orang 4. Diskusikan hasilnya dalam kelompok anda.Setelah selesai 5. Presentasikan hasil diskusi kelompok anda 4. Perbaiki hasil kerja kelompok anda jika ada masukan dari kelompok lain. E. Latihan / Kasus / Tugas 1. Masing-masing kelompok menentukan kasus mengenai hambatan komunikasi efektif dan solusi bagaimana mengatasinya dengan bermain peran 2. Mengamati kelompok yang bermain peran 3. Mengidentifikasi hambatan yang muncul pada komunikasi efektif dalam pembelajaran serta solusi yang tepat untuk mengatasinya, dari kelompok yang bermain peran F. Rangkuman Untuk mencapai komunikasi efektif dalam pembelajaran guru sebaiknya mampu mengidentifikasi hambatan komunikasi yang muncul dalam proses pembelajaran, dan guru diharapkan mampu mengatasi hambatan yang kemungkinan muncul dalam proses pembelajaran. 67 G. Umpan Balik dan Tindak Lanjut Mengamati kasus dengan bermain peran Buat sebuah kasus yang memuat hambatan komunikasi, lalu simulasikan kasus tersebut. Kelompok lain mendiskusikan tampilan simulasi tersebut. Indentifikasikan hambatan yang ada cari solusinya kemudian berikan ke kelompok simulator untuk menilaianya. Nilai simulasi yang ada dengan menggunakan format berikut ini. N Nama o kelompok Tuliskan Tuliskan hambatan solusi Ketepatan Ketepatan menemuk menemuka an n solusi hambatan 1. 2. Pedoman penilaian untuk ketepatan identifikasi hambatan 1 = jika menemukan 1 hambatan 2 = jika menemukan 2 hambatan 3 = jika menemukan 3 hambatan 4 = jika menemukan 4 hambatan Pedoman penilaian untuk ketepatan menemukan solusi 1 = jika solusi kurang 2 = jika solusi cukup 3 = jika solusi tepat 4 = jika solusi sangat tepat Untuk tiap poin yang dituliskan, hitung nilai dengan rumus. Nilai = skor x 100 68 Total Skor Nilai 8 Untuk nilai akhir Nilai = skor _______ x 100 Skor Maks 69 DAFTAR PUSTAKA Baryadi, I. P. 2007 Teori Ikon Bahasa: Salah Satu Pintu Masuk ke Dunia Semiotika. Yogyakarta: Penerbit Universitas Sanata Dharma. Bungin, M. B. 2008 Konstruksi Sosial Media Massa: Kekuatan Pengaruh Media Massa, Iklan TV dan Keputusan Konsumen serta Kritik terhadap Peter L. Burger & Thomas Luckmann. Jakarta: Kencana Prenada Media Group. ----200 8 litatif: Komunikasi, Kebijakan Publik, Ilmu Social Lainnya. Jakarta: Kencana Prenada Media Group. Eriyanto 2003 Analisis Wacana Pengantar Analisis Teks Media. Yogyakarta: LkiS. Fajar, Marhaeni 2009 Ilmu Komunikasi Teori dan Praktik, Jakarta: Graha ilmu. Hidayat, A. A. 2005 Filsafat Bahasa Mengungkap Hakikat Bahasa, Makna, dan Tanda. Bandung: PT Remaja Rosdakarya. 70 Ibrahim, I. S. 2007 Budaya Populer sebagai Komunikasi: Dinamika Popscape dan Media Scape di Indonesia Kontemporer. Yogyakarta: Jalasutra. Kaelan 2002 Filsafat Bahasa Masalah dan Perkembangannya. Yogyakarta: Paradigma. Kriyantono, R. 2008 Teknik Praktis Riset Komunikasi: Disertai Contoh Praktis Riset Media, Public Relation, Advertising, Komunikasi Organisasi, Komunikasi Pemasaran. Jakarta: Kencana. Muhtadi, A. S. 2008 Komunikasi Politik Indonesia. Bandung: PT Remaja Rosda Karya. Saussure, F. de 1988 Course de Linguistiqe Generale, diterjemahkan oleh Rahayu S. Hidayat, Pengantar Linguistik Umum. Yogyakarta: Gajah Mada University Press. Sobur, A. 2006 Analisis Teks Media Suatu Pengantar untuk Analisis Wacana, Analisis Semiotik, dan Analisis Framing. Bandung: PT Remaja Rosdakarya. 71 MODUL GURU PEMBELAJAR Mata Pelajaran Reakayasa Perangkat Lunak Sekolah Menengah Kejuruan (SMK) Kelompok Kompetensi G Penulis: EKO SUBIYANTORO,S.Pd.,S.ST.,MT. Direktorat Jenderal Guru dan Tenaga Kependidikan Kementrian Pendidikan dan Kebudayaan Tahun 2015 i HALAMAN PERANCIS Penulis: 1. Eko Subiyantoro, S.Pd., S.T., MT. Email: ekovedc@gmail.com 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. Faizal Reza Nurzeha., A.Md 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. KATA SAMBUTAN ii 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 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 iii iv 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 penyusunan modul sebagai salah satu bentuk bahan informasi tentang 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 2015 Kepala LPPPTK KPTK Gowa Sulawesi Selatan, Dr. H. Rusdi, M.Pd, NIP 19650430 199103 1 004 v vi DAFTAR ISI KATA SAMBUTAN .......................................................................... iii KATA PENGANTAR ......................................................................... v DAFTAR ISI..................................................................................... vii DAFTAR GAMBAR .......................................................................... xi DAFTAR TABEL ............................................................................. xii PENDAHULUAN ............................................................................... 1 Kegiatan Belajar 1 ............................................................................................... 7 Pengantar Grafika Komputer.......................................................... 9 A.Tujuan Pembelajaran ................................................................................... 9 B.Indikator Pencapaian Kompetensi................................................................ 9 C.Uraian Materi ............................................................................................... 9 D.Aktivitas Pembelajaran .............................................................................. 14 E.Latihan/Tugas ............................................................................................ 14 F.Rangkuman................................................................................................ 14 G.Kunci Jawaban .......................................................................................... 15 Kegiatan Belajar 2 ......................................................................... 17 OpenGL dan LWJGL ..................................................................... 19 A.Tujuan Pembelajaran ................................................................................. 19 B.Indikator Pencapaian Kompetensi.............................................................. 19 C.Uraian Materi ............................................................................................. 19 D.Aktivitas Pembelajaran .............................................................................. 22 E.Latihan/Tugas ............................................................................................ 31 F.Rangkuman................................................................................................ 32 G.Kunci Jawaban .......................................................................................... 32 Kegiatan Belajar 3 ......................................................................... 33 vii Primitif Objek ................................................................................. 35 A.Tujuan Pembelajaran ................................................................................. 35 B.Indikator Pencapaian Kompetensi.............................................................. 35 C.Uraian Materi ............................................................................................. 35 D.Aktivitas Pembelajaran............................................................................... 39 E.Latihan/Tugas ............................................................................................ 44 F.Rangkuman................................................................................................ 44 G.Kunci Jawaban .......................................................................................... 45 Kegiatan Belajar 4 ......................................................................... 49 Pemodelan Objek 2 Dimensi ........................................................ 51 A.Tujuan Pembelajaran ................................................................................. 51 B.Indikator Pencapaian Kompetensi.............................................................. 51 C.Uraian Materi ............................................................................................. 51 D.Aktivitas Pembelajaran............................................................................... 55 E.Latihan/Tugas ............................................................................................ 62 F.Rangkuman................................................................................................ 63 G.Kunci Jawaban .......................................................................................... 63 Kegiatan Belajar 5 ......................................................................... 67 Pembuatan Objek 3 Dimensi ........................................................ 69 A.Tujuan Pembelajaran ................................................................................. 69 B.Indikator Pencapaian Kompetensi.............................................................. 69 C.Uraian Materi ............................................................................................. 69 D.Aktivitas Pembelajaran............................................................................... 71 E.Latihan/Tugas ............................................................................................ 76 F.Rangkuman................................................................................................ 77 G.Kunci Jawaban .......................................................................................... 78 Kegiatan Belajar 6 ......................................................................... 81 Pembuatan Teksture ..................................................................... 83 A.Tujuan Pembelajaran ................................................................................. 83 viii B.Indikator Pencapaian Kompetensi.............................................................. 83 C.Uraian Materi ............................................................................................. 83 D.Aktivitas Pembelajaran .............................................................................. 87 E.Latihan/Tugas ............................................................................................ 94 F.Rangkuman................................................................................................ 95 Kegiatan Belajar 7 ....................................................................... 101 Transformasi Proyeksi ............................................................. 103 A.Tujuan Pembelajaran ............................................................................... 103 B.Indikator Pencapaian Kompetensi............................................................ 103 C.Uraian Materi ........................................................................................... 103 D.Aktivitas Pembelajaran ............................................................................ 107 E.Latihan/Tugas .......................................................................................... 112 F.Rangkuman.............................................................................................. 113 G.Kunci Jawaban ........................................................................................ 114 Kegiatan Belajar 8 ....................................................................... 115 Randering ..................................................................................... 117 A.Tujuan Pembelajaran.................................................................................. 117 B.Indikator Pencapaian Kompetensi............................................................... 117 C.Uraian Materi .............................................................................................. 117 D.Aktivitas Pembelajaran ............................................................................... 120 E.Latihan/Tugas ............................................................................................. 130 F.Rangkuman................................................................................................. 132 PENUTUP...................................................................................... 135 EVALUASI..................................................................................... 137 GLOSARIUM ................................................................................. 141 DAFTAR PUSTAKA...................................................................... 145 ix x DAFTAR GAMBAR Gambar 1 Peta Kedudukan Modul Grafika Komputer .......................................... 3 Gambar 2 Struktur Modul Grafika Komputer ........................................................ 4 Gambar 3 Translasi ........................................................................................... 52 Gambar 4 Rotasi................................................................................................ 52 Gambar 5 Skala................................................................................................. 53 Gambar 6 Koordinat .......................................................................................... 68 Gambar 7 Surface ............................................................................................. 68 Gambar 8 Vertex dan Edge ............................................................................... 68 Gambar 9 Penggunaan Teksture dalam Game Chect Out 3D ........................... 82 Gambar 10 Analogi Pengambilan Gambar oleh Kamera.................................. 102 Gambar 11 Transformasi Ortogonal dan Proyeksi ........................................... 103 Gambar 12 Transformasi Ortogonal................................................................. 104 Gambar 13 Ilustrasi Transformasi Ortogonal dari Kode Program..................... 104 xi xii DAFTAR TABEL Tabel 1 Peta Kompetensi..................................................................................... 3 Tabel 2 Data Algoritma DDA(Digital Differential Analyzer) ................................. 38 Tabel 4 Vertex Penyusun Kubus........................................................................ 93 Tabel 5 Permukaan Kubus ................................................................................ 93 xiii … xiv PENDAHULUAN A. Latar Belakang Guru dan tenaga kependidikan wajib melaksanakan kegiatan pengembangan keprofesian secara berkelanjutan agar dapat melaksanakan tugas profesionalnya. Program Pengembangan Keprofesian Berkelanjutan (PKB) adalah pengembangan kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai kebutuhan, bertahap, dan berkelanjutan untuk meningkatkan profesionalitasnya. PKB sebagai salah satu strategi pembinaan guru dan tenaga kependidikan diharapkan dapat menjamin guru dan tenaga kependidikan mampu secara terus menerus memelihara, meningkatkan, dan mengembangkan kompetensi sesuai dengan standar yang telah ditetapkan. Pelaksanaan kegiatan PKB akan mengurangi kesenjangan antara kompetensi yang dimiliki guru dan tenaga kependidikan dengan tuntutan profesional yang dipersyaratkan. Di dalam pelaksanaan diklat yang dilaksanakan oleh PPPPTK/LPPPTK KPTK diperlukan suatu modul yang berfungsi sebagai salah satu sumber belajar guru. Modul Diklat PKG Guru Rekayasa Perangkat Lunak (RPL) Level 7 “Grafika Komputer” ini dapat digunakan oleh guru dan tenaga kependidikan dan sebagai acuan untuk memenuhi tuntutan kompetensinya, sehingga guru dapat melaksanakan tugasnya secara professional sesuai dengan standar yang telah ditetapkan. Modul Diklat PKG Guru RPL Level 7 grafika komputer ini mempelajari tentang terori dan praktik tentang konsep dasar grafika komputer, penggunaan library OpenGL dan LWJGL ke dalam perangkat lunak yang dapat di integrasikan ke dalam Integrated Development Environment(IDE) , pemodelan 2 dimensi yang diawali dengan sistem koordinat dan pembuatan primitif objek, pemodelan 3 dimensi dengan pembuatan objek 3 dimensi dan ,pemanfaatan teknik lighting,shading, texture untuk menciptakan objek 3 yang nyata. 1 B. Tujuan Tujuan disusunnya modul diklat PKB Guru RPL Level 7 ini adalah memberikan pengetahuan, ketrampilan dan sikap kepada guru atau peserta diklat dalam membangun objek 2D dan 3D dengan konsep grafika komputer dengan terampil melalui aktifitas observasi dan praktikum. Setelah mempelajari modul ini diharapkan guru dapat : “Membangun objek 3D menggunakan konsep pemrograman grafik”. Sedangkan indikator pencapaian kompetensinya adalah : 1. Menganalisis Integrated Development Environment (IDE) pemrograman grafik 2. Membuat instruksi dasar OPENGL 3. Membuat pemodelan objek 3D menggunakan OPENGL 4. Membuat pergerakan objek 3D menggunakan OPENGL C. Peta Kompetensi Modul ini merupakan modul ke-7 dari 10 modul yang dikembangkan. Berdasarkan struktur jenjang diklat PKB Modul desain system basis data ini termasuk dalam jenjang lanjut. Modul ini akan digunakan untuk Program Pengembangan Keprofesian Berkelanjutan (PKB) bagi guru-guru produktif Sekolah menengah Kejuruan pada paket keahlian Rekayasa Perangkat Lunak. 2 Proyek Sistem Informasi Berbasis Dekstop (50 JP) 8 Proyek Sistem Informasi Berbasis Web (50 JP) 9 Pemrograman Web Dinamis (50 JP) 6 Grafika Komputer (50 JP) 7 4 Pemrograman Berbasis Dekstop (50 JP) 5 Pemrograman Berbasis Perangkat Bergerak (50 JP) Pemrograman Berorientasi Objek (50 JP) 3 1 Proyek Sistem Informasi Berbasis Perangkat Bergerak (50 JP) 10 Desain Sistem Basis Data (50 JP) 2 Sistem Manajemen Basis Data (50 JP) Gambar 1 Peta kedudukan Modul Grafika Komputer Tabel 1 Peta kompetensi Grafika Komputer Standar Kompetensi Guru Kompetensi Utama Profesional Kompetensi Inti Guru (KIG) 1. Menguasai Kompetensi Guru Keahlian (KGK) 20.13 Membangun Indikator pencapaian Kompetensi 20.13.1 Menganalisis Integrated materi, objek 3D Development struktur, menggunakan Environment konsep dan konsep pemrograman grafik pola pikir pemrograman keilmuan grafik (IDE) 20.13.2 Membuat instruksi dasar OPENGL yang mendukung mata 20.13.3 Membuat pemodelan pelajaran objek 3D menggunakan yang diampu OPENGL 20.13.4 Membuat pergerakan objek 3D menggunakan OPENGL 3 D. Ruang Lingkup Penggunaan Modul Modul ini disusun dengan empat pembahasan utama (materi pokok). Setiap materi pokok terdapat beberapa kegiatan pembelajaran untuk mencapai kompetensi yang telah ditentukan. Setiap kegiatan pembelajaran terdiri dari tujuan pembelajaran, indikator essential, uraian materi, aktifitas pembelajaran, latihan/tugas/kasus, rangkuman dan umpan balik. Materi dalam modul ini mencakup empat topik yaitu: 1) Dasar-Dasar Grafika Komputer, 2) Pemodelan Objek 2 Dimensi , 3) Pemodelan Objek 3 Dimensi dan, 4)Rendering Kegiatan Belajar 2 OpenGL dan LWJGL Kegiatan Belajar 4 Pembuatan Objek 2 Dimensi Kegiatan Belajar 6 Pembuatan Teksture Kegiatan Belajar 8 Lighting dan Shading Kegiatan Belajar 1 Pengantar Grafika Komputer Kegiatan Belajar 3 Primitif Drawing Kegiatan Belajar 5 Pembuatan objek 3 Dimensi Kegiatan Belajar 7 Transformasi Proyeksi Topik 1 Dasar-Dasar Grafika Komputer Topik 2 Pemodelan Objek 2 Dimensi Topik 3 Pemodelan Objek 3 Dimensi Topik 4 Rendering Gambar 2 Struktur modul PKB Guru RPL Grade 7 Grafika Komputer E. Saran Cara Penggunaan Modul Modul grafika komputer ini terdiri dari empat topik utama. Peserta diklat dapat mempalajari sesui dengan urutan topik mulai topik 1 sampai topik 4. Keempat topik tersebut tidak memiliki ketergantungan secara penuh, sehingga peserta diklat dapat mempelajari tidak secara berurutan. Akan tetapi untuk masingmasing topik setiap kegiatan belajar mempunyai keterkaitan secara penuh. Ini berarti untuk setiap topik materi yang dipelajarai harus secara berurutan sesuai urutan kegaitan belajaran. 4 Untuk setiap kegiatan belajara uruatan yang harus dilakukan oleh peserta diklat dalam mempelajari modul ini adalah : 1. Membaca tujuan pembelajaran sehingga memahami target atau goal dari kegiatan belajar tersebut. 2. Membaca indikator pencapaian kompetensi sehingga memahami obyek yang akan dijadikan kriteria pengukuran untuk mencapai tujuan pembelajaran. 3. Membaca uraian materi pembelajaran sehingga memiliki pengetahuan, ketrampilan dan sikap terhadap kompetensi yang akan dicapai 4. Melakukan aktifitas pembelajaran dengan urutan atau kasus permasalahan sesuai dengan contoh. 5. Mengerjakan latihan/soal atau tugas dengan mengisi lembar kerja yang telah disediakan. 6. Menjawab pertanyaan dalam umpan balik yang akan mengukur tingkat pencapaian kompetensi melalui penilaian diri. 5 6 7 8 DASAR-DASAR GRAFIKA KOMPUTER Pengantar Grafika Komputer A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 1 ini peserta diklat diharapkan dapat : 1. Melalui studi literatur peserta diklat dapat menganalisis peranan grafika komputer di berbagai bidang. 2. Melalui diskusi peserta diklat dapat menggambarkan peranan grafika komputer dalam berbagai bidang. B. Indikator Pencapaian Kompetensi 1. Memahami pengertian grafika komputer 2. Mencontohkan penerapan grafika komputer dalam berbagai bidang C. Uraian Materi 1. Pengertian Grafika Komputer Grafika komputer (computer graphics) merupakan salah satu ilmu informatika yang mempelajari pembuatan dan manipulasi gambar dengan komputer atau secara digital. Sehingga di dalam grafika komputer akan dibahas teknik-teknik menggambar. Salah satu bidang grafika komputer yang sangat terkenal adalah Desain Grafis. Bentuk sederhana dari grafika komputer yaitu titik, garis dan 2D, yang kemudian dikembangan menjadi 3D, pengolahan citra (image processing) dan pengenalan pola (pattern recognation). Dalam grafika komputer memiliki tiga tema utama : • Modeling, yaitu cara mempresentasikan sebuah objek atau lingkungan disekitar. • Animasi, yaitu mempelajari tentang menggambarkan dan memanipulasi gerakan objek, secara otomatis atau manual. 9 • Rendering, yaitu mempelajari algoritma untuk membuat dan menampilkan struktur/detail suatu objek. Grafika Komputer berbeda dengan Pengolahan Citra, jika di Grafika Komputer berisi tentang teknik menggambar dan menghasilkan suatu gambar atau foto. Sedangkan Pengolahan Citra, berisi cara untuk memperbaiki dan menyajikan informasi dari gambar atau foto, tidak menghasilkan gambar atau foto tetapi mengolah gambar atau foto yang sudah ada dan hasil dari Pengolahan Citra bisa berupa gambar atau informasi yang ada di dalam gambar atau foto. 2. Peran dan Penggunaan Grafika Komputer Grafika komputer telah menunjukkan kemajuan yang pesat dalam pengembangan berbagai aplikasi untuk menghasilkan gambar. Walaupun pada awalnya aplikasi dalam sains dan engineering memerlukan peralatan yang mahal, perkembangan teknologi komputer memberikan kemudahan penggunaan komputer sebagai alat bantu aplikasi grafik komputer interaktif. Pada saat ini grafika komputer digunakan secara rutin dibidang ilmu pengetahuan, teknik, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, pendidikan, periklanan, dan lain sebagainya. Berikut contoh peranan grafika komputer dalam berbagai bidang: 1) Desain Dalam proses desain grafika komputer terutama digunakan pada sistem engineering dan arsitektur. Pada umumnya Computer Aided Design (CAD) digunakan untuk pembuatan desain mobil, bangunan, pesawat terbang, kapal, komputer, tekstil, dan lain-lain. Pada beberapa aplikasi desain, objek ditampilkan dalam bentuk wireframe, dimana diperlihatkan keseluruhan bentuk, dengan 10 bentuk internal dari objek tersebut. Penggunaan wireframe bermanfaat bagi designer untuk melihat isi dari objek tersebut. Contoh perangkat lunak yang digunakan yaitu AutoCAD, 3D Studio Max, dan Maya. 2) Grafika Presentasi Bidang lain yang berhubungan dengan grafika komputer adalah grafik presentasi yang dapat berupa cetakan, slide, dan transparansi. Grafik presentasi biasanya digunakan untuk melengkapi laporan keuangan, sains, data ekonomi, dan lainlain. Bentuk grafik presentasi tersebut adalah chart, bar chart, pie chart, dan lain-lain. 3) Computer Art Metode grafika komputer digunakan dalam aplikasi commercial art dan fine art. Seniman menggunakan bermacam-macam perangkat lunak grafik, dan kadang dilengkapi dengan perangkat keras khusus. Contoh perangkat lunak yang digunakan yaitu Corel Draw, Adobe Photoshop, Adobe Ilustrator, Macromedia, dan sebagainya. 4) Film Pada pembuatan film layar lebar, komputer banyak digunakan untuk menunjang proses pemodelan, visualisasi, dan editing. Misalnya dalam proses special effect, film animasi. 5) Televisi Grafika komputer dalam tayangan televisi juga dapat berupa iklan, tampilan tiap acara, dan lainnya. 6) Video Musik Produksi video musik tidak terlepas dari grafika komputer, diantaranya pembuatan promosi, cover atau kemasan video, serta animasi yang mengiringi setiap lagu. Proses editing video dan audio dilakukan dengan menggunakan komputer. 11 7) Game Berbagai game dapat dijalankan pada komputer PC, video player dengan monitor TV, dan ada yang menggunakan perangkat keras khusus. Alat input interaktif seperti mouse dan joystick diperlukan untuk aplikasi game. 8) Pendidikan Komputer sebagai alat bantu pendidikan (Computer Assisted Instruction) sudah cukup dikenal. Komputer juga digunakan pada aplikasi-aplikasi bukan pengajaran untuk menunjang sistem pendidikan, seperti mengolah data, mencatat kehadiran, dan sebagainya. Aplikasi bidang pengajaran dengan komputer sebagai alat bantunya, diantaranya: • Drill and Practice (latih dan praktek) CAI menggantikan pengajar untuk memberikan latihan kepada siswa. • Tutorial (penjelasan) Sistem komputer digunakan untuk menyampaikan materi ajaran. • Simulasi Digunakan untuk mengkaji permasalahan yang rumit pada bidang biologi, transportasi, ekonomi, dan lain-lain. Aplikasi bidang bukan pengajaran dengan alat bantu komputer, diantaranya : a. Computer Assisted Testing (Ujian Berbantuan Komputer) Komputer digunakan untuk sarana ujian. b. Computer Assisted Guidance (Pengarahan Berbantuan Komputer) Komputer digunakan sebagai sarana untuk mencari informasi yang diperlukan. 12 c. Computer Managed Instruction Komputer digunakan untuk merencanakan pelajaran, evaluasi belajar, serta memantau prestasi siswa. 9) Visualisasi Ilmuwan, ahli kedokteran, analis bisnis, dan lain-lain sering menggunakan banyak informasi suatu masalah dalam mempelajari perilaku proses tertentu. Informasi tersebut berisi ribuan data untuk memberikan gambaran hasil suatu evaluasi. Data tersebut diproses sehingga mendapatkan hasil dalam bentuk visual. 10) Image Processing Image processing (pengolahan citra) merupakan teknik untuk memodifikasi atau menginterpretasi gambar yang ada, seperti foto dan rangkaian gambar film. Dua macam prinsip pengolahan citra adalah : • Meningkatkan kualitas gambar. • Memberikan persepsi dari informasi visual, seperti pada robotic. Untuk melakukan pengolahan citra, pertama-tama membuat digitasi dari foto atau membuat foto menjadi file image. Selanjutnya metode digital dapat digunakan untuk memodifikasi gambar sehingga mendapatkan kualitas yang baik. 11) Graphical User Interface (GUI) Graphical interface (antarmuka grafik) banyak digunakan dalam setiap aplikasi. Komponen utamanya adalah window manager, dimana pengguna dapat mengatur tampilan dari window. Interface juga menampilkan menu dan icon untuk mempercepat pemilihan yang dilakukan oleh pengguna. 13 D. Aktivitas Pembelajaran Peserta diklat dibagi menjadi beberapa kelompok untuk mendiskusikan materi tentang grafika komputer dan penerapan dalam berbagai bidang, kemudian membuat presentasi. Kegiatan Praktikum 1.1 1. Topik diskusi 1 : Teknik dan Teknologi dalam Grafika Komputer! 2. Topik diskusi 2 : Penerapan Grafika Komputer E. Latihan / Tugas 1. Suatu bidang ilmu yang mempelajari bagaimana membangun grafik (gambar) baik 2D maupun 3D yang kelihatan nyata menggunakan komputer adalah … 2. Berikut ini adalah implementasi dari grafika komputer, adalah ... a. Simulators ,CAD (Computer Aided Design) , Architectural visualization b. Simulators ,CAD (Computer Aided Design) , Artificial Intillegence c. Simulators , Artificial Intillegence, Architectural visualization d. CAD (Computer Aided Design) , Architectural visualization,Artificial Intillegence F. Rangkuman Grafika Komputer adalah proses untuk menciptakan suatu gambar berdasarkan deskripsi obyek maupun latar belakang yang terkandung pada gambar tersebut. Grafika komputer merupakan teknik untuk membuat gambar obyek sesuai dengan obyek tersebut di alam nyata (realism). Grafika komputer bertujuan menghasilkan gambar (lebih tepat disebut grafik/picture) dengan primitif-primitif geometri seperti garis, lingkaran, dsb. Primitif-primitif geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. Data 14 deskriptif : koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dsb. Grafika komputer berperan dalam visualisasi dan virtual reality. Grafika komputer (computer graphics) merupakan salah satu ilmu informatika yang mempelajari pembuatan dan manipulasi gambar dengan komputer atau secara digital. Pada saat ini grafika komputer digunakan secara rutin dibidang ilmu pengetahuan, teknik, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, pendidikan, periklanan, dan lain sebagainya. G. Kunci Jawaban 1. Grafika Komputer 2. a 15 16 17 18 OpenGL dan LWJGL A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 2 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisis fungsi-fungsi OpenGL untuk membuat objek 2. Melalui praktikum peserta diklat dapat mengintegrasikan LWJGL ke dalam Integrated Development Environment IDE NetBeans 3. Melalui praktikum peserta diklat dapat menulis kode program dengan perintah-perintah dasar OpenGL B. Indikator Pencapaian Kompetensi 1. Menerapkan fungsi-fungsi dasar OpenGL untuk membuat objek 2. Menerapkan LWJGL ke dalam IDE NetBeans 3. Membuat kode program dengan perintah-perintah OpenGL C. Uraian Materi 1. OpenGL OpenGL (Open Graphics Library) adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics Library, OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem. Fungsi dasar dari OpenGL adalah untuk mengeluarkan koleksi perintah khusus atau executable ke sistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras grafis yang ada yang berada pada hard drive atau 19 sumber tertentu lainnya. Setiap perintah dalam dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang terkait dengan grafis. OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya. OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL dipackage secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu, package OpenGL tersebut dapat didownload pada situs http://www.opengl.org sesuai dengan bahasa pemrograman yang akan digunakan. OpenGl melayani dua tujuan : • Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API. • Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan). 20 LWJGL Lightweight Java Game Library (LWJGL) merupakan salah satu jenis game engine yang berjalan dengan dasar bahasa java (open source dan free). Game engine sendiri merupakan perangkat lunak yang digunakan khusus dalam pembuatan video game. Inti LWJGL adalah untuk menyisipkan tampilan level yang lebih rendah dan tidak perlu memasukkan kode. Sintax Perintah OpenGL Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL adalah : <awalan library><perintah><optional jumlah argumen><optional tipe argumen> Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor). Untuk mendefinisikan konstanta diawali dengan GL_, dengan menggunakan huruf kapital dan garis bawah untuk memisahkan kata (seperti GL_POLY_STIPPLE). Terkadang beberapa huruf dan angka ditambahkan pada akhir perintah (seperti 3f pada glVertex3f). Dalam hal ini angka 3 menunjukkan berapa banyak argumen yang harus ada pada perintah tersebut dan akhiran huruf f menunjukkan jenis datanya yaitu floating. Sebagai contoh pada dua perintah berikut ini : glVertex3i(1,0,-2); glVertex3f(1.0, 0.0, -2.0); adalah sama yaitu meletakkan titik di layar pada koordinat x = 1, y = 0 dan z = -2, perbedaannya yaitu pada perintah pertama menspesifikasikan titik dengan tipe data integer 32-bit, sedangkan yang kedua dengan tipe data single precision floating point. 21 Beberapa perintah OpenGL menambahkan perintah huruf akhir v yang menunjukkan bahwa perintah tersebut menggunakan pointer ke array/vektor. Di bawah ini contoh perbedaannya. float color_array[]={1.0,0.0,0.0} glColor3f (1.0,0.0,0.0); glColor3fv(color_array); D. Aktivitas Pembelajaran Kegiatan Praktikum 2.1 Langkah-langkah instalasi LWJGL ke dalam IDE NetBeans 1. Pilih Lwjgl-X.X.zip yang tersedia dengan men-download file LWJGL http://lwjgl.org/download.php 2. Unduh Lwjgl-docs-X.X.zip, Javadoc lwjgl untuk di Netbeans (Direkomendasikan) 3. Unduh Lwjgl-source-X.X.zip, source code lwjgl untuk di Netbeans (Direkomendasikan) 4. Unduh Lwjgl-applet-X.X.zip jika ingin menggunakan Java Applet dengan Lwjgl 5. Ekstrak File Lwjgl-X.X.zip dan Lwjgl-source-X.X.zip kecuali Lwjgl-docsX.X.zip. a) Cara Instalasi LWJGL di NetBeans Berikut tahap-tahap instalasi LWJGL di NetBeans: 1. Buka Netbeans 2. Klik New Project, pilih Java Application > Next 22 Tulis Project Name denga TutorialLWJGL Klik Tools > Libraries di main menu 3. Klik Tombol New Library 23 4. Berikan nama library dengan LWJGL atau LWJGL-X.X 5. Pastikan Library sudah dipilih. Sekarang pilih tab Classpath untuk menambahkan library terbaru dan kemudian klik tombol Add JAR/Folder. 24 6. Pergi ke folder ekstrak LWJGL-X.X.zip dan folder Jar. lwjgl.jar, lwjgl_util.jar, dan jinput.jar merupakan file jar yang harus Anda pilih. Anda dapat memilih lebih dari 1 file dengan menahan tombol Ctrl pada Keyboard. 7. Pilih Tab Sources, kemudian klik Add JAR/Folder. Pergi ke folder ekstrak Lwjgl-source-X.X.zip dan klik folder src, kemudian pilih folder generated dan java. 25 8. Pilih Tab Javadoc dan klik Add JAR/Folder. Kemudian pilih file Lwjgl-docs-X.X.zip 9. Klik OK. Selesai. Library sudah ditambahkan ke dalam Netbeans. b) Menambahkan library LWJGL ke dalam library di aplikasi Berikut ini tahap-tahap menambah library LWJGL: 1. Buka Netbeans. 2. Klik kanan pada Libraries aplikasi kemudian pilih Add Library… 26 3. Pilih LWJGL > Klik Add Library. 4. Konfigurasi VM dengan cara klik kanan pada Tutorial lwjgl dan pilih Properties 27 Kemudian Pilih Run, dan tambahkan script berikut ke dalam kolom VM Options: -Djava.library.path="Directory\lwjgl-2.9.1\native\windows" 5. Selesai. 28 Kegiatan Praktikum 2.3 Struktur dasar OpenGL dan LWJGL ke dalam IDE NetBeans import java.util.logging.Level; import java.util.logging.Logger; import static komgraf01.KomGraf01.DISPLAY_HEIGHT; import static komgraf01.KomGraf01.DISPLAY_WIDTH; import org.lwjgl.LWJGLException; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.gluOrtho2D; public class OpenGL1 { public void draw() { glBegin(GL_LINE_LOOP);//Objek garis glVertex2d(200, 200); // koordinat x dan y glVertex2d(600, 200); glVertex2d(200, 325); glVertex2d(600, 325); glVertex2d(200, 450); glVertex2d(600, 450); glEnd(); } public void render() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3d(1, 0, 0); draw(); glFlush(); } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(800, 600)); 29 Display.setFullscreen(false); Display.setTitle("GAMBAR Primitives-Geometric POLYGON"); Display.create(); initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { //2D Scene glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } 30 : } Display.update(); Display.sync(60); } } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public static void main(String[] args) { OpenGL1 b1 = new OpenGL1(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(Belajar1.class.getName()).log(Level.SEVERE, null, ex); } } } E. Latihan / Tugas Latihan 1. OpenGL (Open Graphics Library) bersifat Open-Source, multiplatform dan multi-language adalah sebuah program aplikasi interface untuk mendifinisikan suatu objek yaitu .... 2. Fungsi dasar dari OpenGL adalah .... 31 F. Rangkuman OpenGL (Open Graphics Library) adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah menjadi alat yang biasa untuk digunakan dengan grafis 3D.OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. Lightweight Java Game Library (LWJGL) merupakan salah satu jenis game engine yang berjalan dengan dasar bahasa java (open source dan free). Game engine sendiri merupakan perangkat lunak yang digunakan khusus dalam pembuatan video game. Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL adalah : <awalan library><perintah><optional jumlah argumen><optional tipe argumen> Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor). G. Kunci Jawaban 1. Objek 2 dimensi dan objek 3 dimensi 2. Mengeluarkan koleksi perintah khusus(grafik) atau executable ke sistem operasi 32 33 34 PEMODELAN OBJEK 2 DIMENSI Primitif Objek A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 3 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat menganalisis output primitif grafika komputer untuk membuat objek. 2. Melalui praktikum peserta diklat membuat kode program berdasarkan algoritma pembentukan garis dan lingkaran. B. Indikator Pencapaian Kompetensi 1. Menerapkan perintah-perintah dasar OpenGL untuk menggambar primitif objek 2. Menulis kode program sesuai algoritma pembentukan garis dan lingkaran C. Uraian Materi 1. Primitif Objek Primitives merupakan geometri sederhana (basic) seperti titik (points), garis (lines) dan bangunan dua dimensi. Dalam grafika komputer penghasilan citra menggunakan primitive grafik dasar, primitif ini memudahkan untur merender atau menggambar pada layar monitor sebagaimana penggunaan persamaan geometri sederhana. Contoh primitive grafika dasar antara lain : titik, garis, kurva, fill area dan text. Objek kompleks dapat dibuat dengan kombinasi dari primitive ini. Misalkan, Poligaris atau yang dapat didefinisikan sebagai urutan garis lurus yang saling terhubung. Secara umum algoritma grafis memiliki persamaan yaitu bagaimana menampilkan hasil. Objek kompleks dapat dibuat dengan mengkombinasikan bentuk-bentuk primitive. 35 2. Titik dan Garis Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output. Random-scan (vektor ) sistem menyimpan instruksi pembentukan titik pada display list dan nilai koordinat menentukan posisi pancaran electron ke arah lapisan fosfor pada layer. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis. Untuk menggambar titik (point) digunakan perintah point(x,y) dimana nilai x dan y adalah koordinat pada layar. 3. Membuat Titik dan Garis Untuk menggambar titik (point) digunakan perintah point(x,y) dimana nilai x dan y adalah koordinat pada layar. Sedangkan untuk membuat garis digunakan perintah lines(x1,y1,x2,y2). Persamaan garis menurut koordinat Cartesian adalah: y = m.x + b dimana m adalah slope (kemiringan) dari garis yang dibentuk oleh dua titik yaitu (x1,y1) dan (x2, y2). Untuk penambahan x sepanjang garis yaitu dx akan mendapatkan penambahan y sebesar Δ y = m. Δ x • Algoritma DDA (Digital Differential Analyzer) DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δ x dan Δ y, menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer. Langkah-langkah pembentukan menurut algoritma DDA, yaitu : 1) Tentukan dua titik yang akan dihubungkan. 2) Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1). 3) Hitung Δ x = x1 – x0 dan Δ y = y1 – y0. 36 4) Tentukan step, yaitu jarak maksimum jumlah penambahan nilai x maupun nilai y dengan cara : • bila nilai |Δ y| > |Δ x| maka step = nilai |Δ y|. • bila tidak maka step = |Δ x|. 5) Hitung penambahan koordinat pixel yaitu x_increment = Δ x / step dan y_increment = Δ y / step. 6) Koordinat selanjutnya (x+x_incerement, y+y_increment). 7) Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut. 8) Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1 Contoh: Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan titik (5,5) dan (10,9), pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment. Δ x = x1 – x 0 = 10-5 = 5 Δ y = y1 – y0 = 9 -5 = 4 selanjutnya hitung dan bandingkan nilai absolutnya. |Δ x| = 5 |Δ y| = 4 karena |Δ x| > |Δ y|, maka step = |Δ x| = 5, maka diperoleh : x_inc = 5/5 = 1 y_inc = 4/5 = 0.8 37 Tabel 2 Data algoritma DDA K X Y Round(x), round(y) (5,5) 0 6 5.8 (6,6) 1 7 6.6 (7,7) 2 8 7.4 (8,7) 3 9 8.2 (9,8) 4 10 9 (10,9) 10 9 8 7 6 5 5 • 6 7 8 9 10 Algoritma Bressenham Prosedur untuk menggambar kembali garis dengan membulatkan membutuhkan nilai x atau y kebilangan waktu, serta variable x,y integer dan m merupakan bilangan real karena kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematika dengan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi 38 setiap pixel setiap waktu. Algoritma garis Bressenhem disebut juga midpoint line algorithm adalah algoritma konversi penambahan nilai integer yang juga dapat diadaptasi untuk menggambar sebuah lingkaran. Langkah-langkah untuk membentuk garis menurut algoritma ini adalah: 1) Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2) Tetukan salah satu titik disebelah kiri sebagai titik awal (x0, y0) dan titik lainnya sebagai titik akhir (x1, y1 ). 3) Hitung Δ x, Δ y, Δ 2x, dan 2Δ y – 2Δ x. 4) Hitung parameter p0 = 2Δ y – Δ x. 5) Untuk setiap xk sepanjang jalur garis, dimulai dengan k = 0 • bila pk <0 maka titik selanjutnya (xk+1, yk) dan pk+1 = pk +2Δ y • bila tidak maka titik selanjutnya adalah (xk+1, yk+1) dan pk+1=pk+2Δ -y2Δ x. 6) Ulangi langkah nomor 5 untuk menentukan posisi pixel selanjutnya, sampai x=xn. D. Aktivitas Pembelajaran Kegiatan Praktikum 3.1  Membuat Titik Create_Point.java public class Create_Point { public void render() { glClear(GL_COLOR_BUFFER_BIT); 39 glLoadIdentity(); glColor3f(0.0f, 1.0f, 0.0f); glPointSize(10); glBegin(GL_POINTS); glVertex2f(100, 100); glVertex2f(200, 100); glVertex2f(200, 300); glVertex2f(100, 300); glVertex2f(150, 375); glVertex2f(375, 375); glVertex2f(425, 300); glVertex2f(425, 100); glEnd(); } public static void main(String[] args) { Create_Point main = null; try { System.out.println("Keys:"); System.out.println("esc - Exit"); main = new Create_Point(); main.create(); main.run(); } catch (Exception ex) { LOGGER.log(Level.SEVERE, ex.toString(), ex); } finally { if (main != null) { main.destroy(); } } } private void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(DISPLAY_WIDTH, DISPLAY_HEIGHT)); Display.setFullscreen(false); Display.setTitle("Create Point"); Display.create(); //Keyboard Keyboard.create(); //Mouse Mouse.setGrabbed(false); Mouse.create(); //OpenGL initGL(); resizeGL(); //To change body of generated methods, choose Tools | Templates. } private void run() { while (!Display.isCloseRequested() !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { render(); } else { if (Display.isDirty()) { 40 && render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } Display.update(); Display.sync(60); } } private void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } private void initGL() { //2D Initialization glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } private void resizeGL() { //2D Scene glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } } Keluaran Program 41 Kegiatan Praktikum 3.2  Membuat Garis Create_Line.java public class Create_Line { public void render() { glColor3f(1.0f, 0.0f, 1.0f); glLineWidth(5); glBegin(GL_LINES); glVertex2f(100, 100); glVertex2f(100, 350); glVertex2f(200, 100); glVertex2f(300, 350); glVertex2f(350, 225); glVertex2f(550, 225); glEnd(); glFlush(); } public static void main(String[] args) { Create_Line main = null; try { System.out.println("Keys:"); System.out.println("esc - Exit"); main = new Create_Line(); main.create(); main.run(); } catch (Exception ex) { LOGGER.log(Level.SEVERE, ex.toString(), ex); } finally { if (main != null) { main.destroy(); } } } private void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(DISPLAY_WIDTH, DISPLAY_HEIGHT)); } private void run() { .... } 42 private void destroy() { .... } private void initGL() { .... } private void resizeGL() { .... } } Keluaran Program 43 E. Latihan/Tugas Buatlah kode program agar dapat menampilkan seperti sreenshoot di atas dengan menggunakan fungsi-fungsi primitive drawing dengan ketentuan sebagai berikut : Ukuran Window :DisplayMode(800, 600) Fungsi :glBegin(GL_LINE_LOOP); Titik awal :glVertex2d(200, 200); F. Rangkuman Primitives merupakan geometri sederhana (basic) seperti titik (points), garis (lines) dan bangunan dua dimensi. Dalam grafika komputer penghasilan citra menggunakan primitive grafik dasar, primitif ini memudahkan untur merender atau menggambar pada layar monitor sebagaimana penggunaan persamaan geometri sederhana. Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output. Random-scan (vektor ) system menyimpan instruksi pembentukan titik pada display list dan nilai koordinat menentukan posisi pancaran electron ke arah 44 lapisan fosfor pada layer. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis. Untuk menggambar titik (point) digunakan perintah point(x,y) dimana nilai x dan y adalah koordinat pada layar. Untuk menggambar titik (point) digunakan perintah point(x,y) dimana nilai x dan y adalah koordinat pada layar. Sedangkan untuk membuat garis digunakan perintah lines(x1,y1,x2,y2). G. Kunci Jawaban PrimitiveGaris.java import java.util.logging.Level; import java.util.logging.Logger; import static komgraf01.KomGraf01.DISPLAY_HEIGHT; import static komgraf01.KomGraf01.DISPLAY_WIDTH; import org.lwjgl.LWJGLException; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.gluOrtho2D; public class PrimitiveGaris { public void draw() { glBegin(GL_LINE_LOOP); glVertex2d(200, 200); glVertex2d(600, 200); glVertex2d(200, 325); glVertex2d(600, 325); glVertex2d(200, 450); glVertex2d(600, 450); glEnd(); } public void render() { 45 glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3d(1, 0, 0); draw(); glFlush(); } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(800, 600)); Display.setFullscreen(false); Display.setTitle("GAMBAR Primitives-Geometric : GARIS"); Display.create(); //OpenGL initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { //2D Scene glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { 46 while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } Display.update(); Display.sync(60); } } private void update() { // } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public static void main(String[] args) { PrimitiveGaris b1 = new PrimitiveGaris(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(PrimitiveGaris.class.getName()).log(Level .SEVERE, null, ex); 47 } 48 49 50 Pemodelan Objek 2 Dimensi A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 4 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisa pemodelan objek 2 Dimensi melalui transformasi geometri. 2. Melalui praktikum peserta diklat dapat membuat kode program dengan menggunakan operasi transformasi geomentri translasi, penskalaan,dan rotasi. B. Indikator Pencapaian Kompetensi 1. Menerapkan operasi transformasi geometri translasi, penskalaan, dan rotasi 2. Menulis kode program untuk memodelkan objek 2 dimensi melalui proses translasi, penskalaan, dan rotasi. C. Uraian Materi Grafika komputer merupakan bidang yang menarik minat banyak orang. Salah sub bagian dari grafika komputer adalah pemodelan objek (object modelling). Dalam pemodelan objek dua dimensi (2D), didapati berbagai objek dapat dimodelkan menurut kondisi tertentu, objek yang dimodelkan itu perlu dimodifikasi. Pemodifikasian objek ini dapat dilakukan dengan melakukan berbagai operasi fungsi atau operasi transformasi geometri. Transformasi ini dapat berupa transformasi transformasi geometri. dasar Contoh ataupun transformasi gabungan geometri dari berbagai adalah translasi, penskalaan, putaran (rotasi), shearing dan gabungan. Transformasi ini dikenal dengan transformasi affine. Pada dasarnya, transformasi ini adalah memindahkan objek tanpa merusak bentuk. 51 1. Definisi Objek Grafik 2 Dimensi Pada sub topik ini peserta akan mempelajari objek grafik 2 dimensi dan penerapannya dalam aplikasi sederhana. • Titik 2D Titik 2D mempunyai 2 nilai, yaitu x dan y yang menyatakan jarak horizontal dan vertikal dari titik pusat sumbu koordinat (0,0). • Polyline Polyline adalah suatu fungsi yang digunakan untuk menggambarkan objek 2D yang sudah didefinisikan di depan, dimana setiap titik pada objek mulai titik ke 0, 1, 2,3,..., n dihubungkan dengan garis lurus sehingga membentuk kurva terbuka. 2. Pengenalan Operasi Transformasi Geometri Pada sub topik ini akan dipelajari Operasi Transformasi Geometri dan penerapannya dalam aplikasi sederhana. 2.1 Operasi Translasi Transformasi translasi merupakan suatu operasi yang menyebabkan perpindahan objek 2D dari satu tempat ke tempat yang lain. Perubahan ini berlaku dalam arah yang sejajar dengan sumbu X dan sumbu Y. Gambar 3 Proses translasi suatu objek Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx adalah translasi menurut sumbu x dan ty adalah translasi menurut sumbu y. Koordinat baru titik yang ditranslasi dapat diperoleh dengan menggunakan rumus : 52 Translasi adalah transformasi dengan bentuk yang tetap, memindahkan objek apa adanya. Setiap titik dari objek akan ditranslasikan dengan besaran yang sama.Dalam operasi translasi, setiap titik pada suatu entitas yang ditranslasi bergerak dalam jarak yang sama. Pergerakan tersebut dapat berlaku dalam arah sumbu X saja, atau dalam arah sumbu Y saja atau keduanya. 2.2 Operasi Rotasi Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke atas bawah.Rotasi berbeda dengan translasi karena perubahan posisi pada translasi tidak mengacu pada suatu titik tertentu. Keistimewaan dari rotasi adalah jarak antara titik pusat dengan masingmasing bagian dari obyek yang diputar akan selalu tetap, seberapa jauh pun obyek itu diputar. Gambar 4 Proses rotasi dari sutu objek Pada sebuah game yang menggunakan grafik vektor dan grafik bitmap, rotasi dan translasi sangat di butuhkan. Kita bisa menggunakan source code yang tersedia yaitu: 53 • glTranslatef (x, y, z) digunakan untuk merubah titik posisi awal sumbu koordinat menuju posisi yang ditentukan sesuai koordinat x,y, dan z. • glRotatef (angle, x, y, z) digunakan untuk memutar suatu bidang pada sudut tertentu (angle). 2.3 Operasi Skala Penskalaan adalah suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. sx adalah faktor penskalaan menurut sumbu x dan sy faktor penskalaan menurut sumbu y. Koordinat baru diperoleh dengan x‟ = x + sx y„= y + sy (x,y) = titik asal sebelum diskala (x‟,y‟) = titik setelah diskala Nilai lebih dari 1 menyebabkan objek diperbesar, sebaliknya bila nilai lebih kecil dari 1, maka objek akan diperkecil. Bila (sx,sy) mempunyai nilai yang sama, maka skala disebut dengan uniform scalling. Gambar 5 Proses skala dari sutu objek Perintah yang terakhir yaitu glScale{f,d}(TYPEx,TYPEy,TYPEz) digunakan untuk mengalikan martiks yang sedang aktif dengan matriks yang memperbesar, objek. memperkecil atau merefleksikan Masing-masing koordinat x, y, z dari setiap titik pada objek dikalikan dengan argumen x, y, z. Perintah glScale merupakan satu-satunya perintah transformasi modelling yang mengubah ukuran objek. Jika nilai yang diberikan lebih besar dari 1.0 maka objek akan diperbesar, jika nilai yang diberikan kurang dari 1.0 maka 54 objek akan diperkecil, dan jika nilai yang diberikan negatif, maka objek akan direfleksikan (dicerminkan). D. Aktivitas Pembelajaran Kegiatan Praktikum 4.1  Translasi Membuat persegi panjang dengan warna merah. Kemudian hasil translasi(geser) sebesar 90 terhadap sumbu Y adalah persegi panjang dengan warna kuning dan di translasi(geser) sebesar 180 terhadap sumbu X dan 90 terhadap sumbu Y adalah persegi panjang warna biru. Translasi.java import import import import import import import import import import import java.util.logging.Level; java.util.logging.Logger; static komgraf01.KomGraf01.DISPLAY_HEIGHT; static komgraf01.KomGraf01.DISPLAY_WIDTH; org.lwjgl.LWJGLException; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.gluOrtho2D; public class Translasi { public void draw(){ } 55 public void render() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3d(1, 0, 0); buatKotak(); glTranslated(0,90, 0); glColor3f(1, 1, 0); buatKotak(); glTranslated(90,180, 0); glColor3f(0, 0, 1); buatKotak(); glFlush(); } public void buatKotak() { //membuat kotak glBegin(GL_POLYGON); glVertex2f(250, 120); //titik kiri bawah glVertex2f(450, 120); //titik kanan bawah glVertex2f(450, 200); //titik kanan atas glVertex2f(250, 200); //titik kiri atas glEnd(); } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(800, 600)); Display.setFullscreen(false); Display.setTitle("Proses Rotasi"); Display.create(); initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); 56 } try { Thread.sleep(100); } catch (InterruptedException ex) { } } Display.update(); Display.sync(60); } } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public static void main(String[] args) { Rotasi b1 = new Rotasi(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(Rotasi.class.getName()).log(Level.SEVERE, null, ex); } } } Kegiatan Praktikum 4.2  Rotasi Membuat persegi panjang dengan warna merah. Kemudian hasil rotasi(diputar) sebesar 15 derajat adalah persegi panjang dengan warna kuning dan di rotasi(diputar) kembali sebesar -45 derajat adalah persegi panjang warna biru. 57 Rotasi.java import import import import import import import import import import import java.util.logging.Level; java.util.logging.Logger; static komgraf01.KomGraf01.DISPLAY_HEIGHT; static komgraf01.KomGraf01.DISPLAY_WIDTH; org.lwjgl.LWJGLException; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.gluOrtho2D; public class Rotasi { public void draw(){ //membuat titik } public void render() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3d(1, 0, 0); buatKotak(); glRotated(15, 0, 0, 1.0); glColor3f(1, 1, 0); buatKotak(); glRotated(-45, 0, 0, 1.0); glColor3f(0, 0, 1); buatKotak(); glFlush(); } public void buatKotak() { //membuat kotak glBegin(GL_POLYGON); 58 glVertex2f(300, glVertex2f(500, glVertex2f(500, glVertex2f(300, glEnd(); 300); 300); 360); 360); //titik //titik //titik //titik kiri bawah kanan bawah kanan atas kiri atas } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(800, 600)); Display.setFullscreen(false); Display.setTitle("Proses Rotasi"); Display.create(); //OpenGL initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } Display.update(); Display.sync(60); } } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); 59 } public static void main(String[] args) { Rotasi b1 = new Rotasi(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(Rotasi.class.getName()).log(Level.SEVERE, null, ex); } } } Kegiatan Praktikum 4.3  Skala Membuat persegi panjang dengan warna merah. Kemudian hasil di skala sebesar x = 2, dan y=2 adalah menjadi persegi panjang dengan warna biru. Skala.java import import import import import import import import import import 60 java.util.logging.Level; java.util.logging.Logger; static komgraf01.KomGraf01.DISPLAY_HEIGHT; static komgraf01.KomGraf01.DISPLAY_WIDTH; org.lwjgl.LWJGLException; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.gluOrtho2D; public class Skala { public void draw(){ //membuat titik } public void render() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3d(1, 0, 0); buatKotak(); glScaled(2, 2, 0); glColor3d(0, 0, 1); buatKotak(); glFlush(); } public void buatKotak() { //membuat kotak glBegin(GL_POLYGON); glVertex2f(250, 120); //titik kiri bawah glVertex2f(450, 120); //titik kanan bawah glVertex2f(450, 200); //titik kanan atas glVertex2f(250, 200); //titik kiri atas glEnd(); } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(800, 600)); Display.setFullscreen(false); Display.setTitle("Proses SKALA"); Display.create(); //OpenGL initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { while (!Display.isCloseRequested() && 61 !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } Display.update(); Display.sync(60); } } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public static void main(String[] args) { Skala b1 = new Skala(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(Skala.class.getName()).log(Level.SEVERE, null, ex); } } } E. Latihan / Tugas 1. Buatlah aplikasi sederhana Objek 2 Dimensi seperti gambar dibawah ini 62 F. Rangkuman Translasi adalah transformasi dengan bentuk yang tetap, memindahkan objek apa adanya. Setiap titik dari objek akan ditranslasikan dengan besaran yang sama.Dalam operasi translasi, setiap titik pada suatu entitas yang ditranslasi bergerak dalam jarak yang sama. Pergerakan tersebut dapat berlaku dalam arah sumbu X saja, atau dalam arah sumbu Y saja atau keduanya. Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke atas bawah. Penskalaan adalah suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. sx adalah faktor penskalaan menurut sumbu x dan sy faktor penskalaan menurut sumbu y. G. Kunci Jawaban Jawaban No 1: Tugas2D.java import java.util.logging.Level; import java.util.logging.Logger; import static komgraf01.KomGraf01.DISPLAY_HEIGHT; import static komgraf01.KomGraf01.DISPLAY_WIDTH; import org.lwjgl.LWJGLException; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.gluOrtho2D; 63 public class Tugas2D { private int width=600; private int height=600; public void draw(){ //membuat titik } public void render() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, width, 0, height); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glClear(GL_COLOR_BUFFER_BIT); buatSegitiga(); glFlush(); } public void buatSegitiga() { //membuat triangle glBegin(GL_TRIANGLES); glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(width / 4.0f, height * 3.0f / 4.0f); glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(width / 4.0f, height / 4.0f); // Set color to violet glColor3f(1.0f, 0.0f, 1.0f); glVertex2f(width * 3.0f / 4.0f, height / 4.0f); // Set color to blue glColor3f(0.0f, 0.0f, 1.0f); // Top triangle glVertex2f(width / 4.0f, height * 3.0f / 4.0f); glVertex2f(width * 3.0f / 4.0f, height * 3.0f / 4.0f); glVertex2f(width * 3.0f / 4.0f, height / 4.0f); glEnd(); } public void create() throws LWJGLException { Display.setDisplayMode(new DisplayMode(600, 600)); 64 Display.setFullscreen(false); Display.setTitle("Tugas 2 Dimensi"); Display.create(); //OpenGL initGL(); resizeGL(); } void initGL() { glClearColor(0.0f, 1.0f, 1.0f, 1.0f); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); } public void resizeGL() { glViewport(0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPushMatrix(); } public void run() { while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (Display.isVisible()) { update(); render(); } else { if (Display.isDirty()) { render(); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } 65 Display.update(); Display.sync(60); } } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public static void main(String[] args) { Tugas2D b1 = new Tugas2D(); try { b1.create(); b1.run(); } catch (LWJGLException ex) { Logger.getLogger(Tugas2D.class.getName()).log(Level.SEVERE, null, ex); } } } 66 67 68 PEMODELAN OBJEK 3 DIMENSI Pembuatan Objek 3 Dimensi A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 5 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisis sistem koordinat 3 dimensi dan pembuatan objek 3 dimensi 2. Melalui praktikum peserta diklat dapat membuat kode program untuk melakukakan operasi transformasi pada objek 3 dimensi. B. Indikator Pencapaian Kompetensi 1. Memahami sistem koordinat dan struktur objek 3 dimensi 2. Menulis kode program untuk memodelkan objek 3 dimensi melalui proses translasi, penskalaan, dan rotasi. C. Uraian Materi Pembeda objek 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2 dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran tersebut disimbolkan dengan sumbu x, y, dan z. 1. Sistem Koordinat Salah satu sistem koordinat yang dikenal adalah sistem koordinat kartesian yang digunakan untuk membedakan lokasi atau posisi sembarang titik atau objek dengan titik atau objek yang lain. Sistem koordinat kartesian terdiri atas sistem koordinat kartesian 2 dimensi dan sistem koordinat kartesian 3 dimensi.Dalam sistem koordinat 3 dimensi terdapat satu sumbu lain selain sumbu x dan sumbu y, yaitu sumbu z yang arahnya tegak lurus terhadap sumbu x dan sumbu y. Hadirnya sumbu z 69 menyebabkan sistem koordinat ini menjadi lebih hidup karena efek jauh dekat. Untuk lebih jelasnya, lihat pada gambar di bawah ini : Gambar 6 Koordinat 2. Pemodelan Objek 3 Dimensi Benda tiga dimensi disusun dari sekumpulan surface. Gambar di bawah memberikan contoh bagaimana surface digunakan untuk menyusun benda tiga dimensi. Gambar 7 Surface Surface dapat dibuat dari rangkaian Polygon. Polygon adalah bentuk yang disusun dari serangkaian garis yang terhubung satu dengan yang lain dan berbentuk kurva tertutup sehingga membentuk sebuah objek gambar. Titik sudut dari Polygon disebut vertex sedangkan garis penyusun Polygon disebut edge. Gambar 8 Vertex dan Edge 70 Polygon digambar dengan menggambar masing-masing edge dengan setiap edge merupakan pasangan dari vertex – vertex kecuali untuk edge terakhir merupakan pasangan dari vertex – vertex . Bentuk polygon yang paling tepat digunakan untuk membuat permukaan benda tiga dimensii adalah polygon segitiga (triangle). Hal ini disebabkan polygon segitiga akan selalu berada dalam keadaan planar (datar) sementara polygon dengan vertex lebih dari 3 dapat berada dalam kondisi non-planar karena salah satu vertex tidak berada di lokasi yang sejajar. Satu hal yang harus diperhatikan pada saat menggunakan polygon segitiga adalah winding. Winding adalah urutan dan arah vertex-vertex penyusun polygon. Winding menganggap bahwa arah vertex berlawanan jarum jam sebagai tampak depan sedangkan arah vertex searah jarum jam dianggap sebagai bagian belakang benda. D. Aktivitas Pembelajaran Pembuatan kode program untuk pembuatan objek 3 dimensi dirancang dengan melibatkan beberapa file java untuk memudahkan dalam pengaturan dan operasi transformasi geometri. Beberapa file pendukung akan disertakan dalam lampiran. Kegiatan Praktikum 5.1 Keluaran Program 71 Perancangan class diagram 72 CfgApplication.java import import import import import import import import static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; java.awt.Font; org.lwjgl.LWJGLException; org.lwjgl.Sys; org.lwjgl.input.Keyboard; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; public abstract class CfgApplication { protected long lastFrame; protected int fps; protected long last; protected String windowTitle = ""; protected int width; protected int height; protected boolean fullscreen; protected boolean vsync; public final int DEFAULT_FONT_SIZE = 14; protected boolean showFPS; protected int oldfps; protected int activeFontTextureId; public void start(int width, int height, boolean fullscreen, boolean vsync, boolean showFPS, String windowTitle) { this.windowTitle = windowTitle; this.height = height; this.width = width; this.fullscreen = fullscreen; this.vsync = vsync; this.showFPS = showFPS; try { 73 createWindow(); init(); while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { render(); Display.update(); } deinit(); Display.destroy(); } catch (Exception e) { e.printStackTrace(); System.exit(0); } } public abstract void render(); public abstract void deinit(); private void createWindow() throws LWJGLException { Display.setTitle(windowTitle); Display.setFullscreen(fullscreen); Display.setVSyncEnabled(vsync); DisplayMode displayMode = null; DisplayMode d[] = Display.getAvailableDisplayModes(); for (int i = 0; i < d.length; i++) { if (d[i].getWidth() == width && d[i].getHeight() == height && d[i].getBitsPerPixel() == 32) { displayMode = d[i]; break; } } Display.setDisplayMode(displayMode); Display.create(); } private void setOrthoMode() { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); gluOrtho2D(0, width, height, 0); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); } private void unsetOrthoMode() { glPopMatrix(); glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); } public abstract void init(); } PrimitiveDrawing3D.java import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.*; import org.lwjgl.input.Keyboard; 74 import setting.CGApplication; public class PrimitiveDrawing3D extends CGApplication { private boolean wireframe = false; private boolean pressed = false; @Override public void init() { } @Override public void update(int delta) { toggleWireframe(); } public void toggleWireframe() { if (Keyboard.isKeyDown(Keyboard.KEY_R)) { if (!pressed) { wireframe = !wireframe; pressed = true; } } else { pressed = false; } } @Override public void render() { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, width / height, 1.0f, 100.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); if (wireframe) { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); } else { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); } glBegin(GL_TRIANGLES); // 4-side of pyramid glColor3f(0.0f, 1.0f, 0.0f); glVertex3f(-2, -2, -10); glVertex3f(2, -2, -10); glVertex3f(0, 4, -12); glColor3f(0.0f, 1.0f, 1.0f); glVertex3f(2, -2, -10); glVertex3f(2, -2, -14); glVertex3f(0, 4, -12); glColor3f(1.0f, 1.0f, 0.0f); glVertex3f(2, -2, -14); glVertex3f(-2, -2, -14); glVertex3f(0, 4, -12); glColor3f(0.0f, 0.0f, 1.0f); 75 glVertex3f(-2, -2, -10); glVertex3f(-2, -2, -14); glVertex3f(0, 4, -12); // Bottom of pyramid glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-2, -2, -10); glVertex3f(2, -2, -10); glVertex3f(-2, -2, -14); glColor3f(1.0f, 0.0f, 0.5f); glVertex3f(2, -2, -10); glVertex3f(2, -2, -14); glVertex3f(-2, -2, -14); glEnd(); renderText(); } private void renderText() { drawString(180, height - 25 , "Primitive Drawing : 4-Sisi Piramid Triangles."); drawString(200,height-35* getDefaultFont().getLineHeight(), "Tekann 'R' untuk Gambar Rangka"); } @Override public void deinit() { } public static void main(String[] args) { PrimitiveDrawing3D app = new PrimitiveDrawing3D(); app.start(800, 600, false, false, true, "3D Primitives"); } } E. Latihan / Tugas 1. Untuk menggambarkan translasi suatu objek berupa segitiga dengan koordinat A(3,4) B(2,1) dan C(4,1) dengan tx,ty(2,5), tentukan koordinat yang barunya ? 76 2. Untuk menggambarkan skala suatu objek berupa segempat dengan koordinat A(5,2) B(2,2) C(2,4) dan D(5,4) dengan skala faktor (1,2) tentukan koordinat yang barunya ? F. Rangkuman Pembeda objek 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2 dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran tersebut disimbolkan dengan sumbu x, y, dan z. Sebuah benda tiga dimensi dapat disusun dengan menghubungkan sejumlah vertex. Kumpulan vertex yang saling terhubung tersebut disebut sebagai wireframe atau kerangka, sedangkan benda yang disusun dari kumpulan titik dan permukaan tersebut disebut sebagai mesh. Transformasi pada dunia 3 dimensi, pada dasarnya sama dengan transformasi pada 2 dimensi, hanya pada 3 dimensi kita juga memperhitungkan sumbu 77 Z. Sama seperti pada 2 dimensi, ada tiga transformasi dasar yang dapat dilakukan yaitu translasi, penskalaan, rotasi. Perbedaannya adalah pada objek 3 dimensi mempertimbangkan proses koordinat transformasinya yang dilakukan dengan merupakan besarnya kedalaman dari objek. G. Kunci Jawaban Jawaban no 1 A = (3,4) B = (2,1) C = (2,5) Vektor (V) = (2,5) Rumus : ta 78 x’ = x + tx y’ = y + ty A = (3,4) X’ = x + tx =3+2=5 Y’ = y + ty =4+5=9 A’ = (5,9) V = (2,5) B = (2,1) X’ = x + tx =2+2=4 Y’ = y + ty =1+5=6 B’ = (4,6) V = (2,5) C = (4,1) X’ = x + tx = 4+2=6 Y’ = y + ty =1+5=6 C’ = (6,6) V = (2,5) Dengan demikian hasil translasi segitiga dengan A’(5,9) B’(4,6) C’(6,6). koordinat Segitiga yang baru sama bentuknya dengan segitiga yang lama. Berikut gambar translasi setelah perhitungan Jawaban no 2 A = (5,2) B = (2,2) C = (2,4) D = (5,4) Skala faktor = (1,2) Rumus: x’ = x . sx y’ = y . sy A = (5,2) Skala faktor = (1,2) X’ = X . Sx =5.1=5 Y’ = Y. Sy =2.2=4 A’ = (5,4) C = (2,4) Skala faktor = (1,2) X’ = X . Sx =2.1=2 Y’ = Y. Sy =4.2=8 C’ = (2,8) B = (2,2) Skala faktor = (1,2) X’ = X . Sx =2.1=2 Y’ = Y. Sy =2.2=4 B’ = (2,4) D = (5,4) Skala faktor = (1,2) X’ = X . Sx =5.1=5 Y’ = Y. Sy =4.2=8 D’ = (5,8) Dengan demikian hasil skala persegi panjang dengan koordinat A’ = (5,4), B’ = (2,4), C = (2,8), D = (5,8). Persegi panjang yang baru sama bentuknya dengan persegi panjang yang lama.Berikut gamabar koordinat setelah proses rotasi. 79 80 81 82 Pembuatan Teksture A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 6 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisis penggunaan teksture dalam objek 3 dimensi. 2. Melalui praktikum peserta diklat dapat menulis kode program pemasangan teksture dalam objel 3 dimensi B. Indikator Pencapaian Kompetensi 1. Memahami jenis-jenis tekture dalam OpenGL 2. Menulis kode program dengan memanfaatkan jenis-jenis teksture yang dalam library OpenGL. C. Uraian Materi 1. Pengantar Texture Pemetaan Tekstur – Menurut Alan Watt (Komputer Grafis 3D, bagian 7.3), “Pemetaan Tekstur adalah salah satu perkembangan pertama menuju membuat gambar tiga dimensi benda yang lebih menarik dan ternyata lebih kompleks.” Secara umum, pemetaan tekstur adalah proses “melukis” sebuah gambar ke permukaan dalam sebuah model. Karena gambar yang telah diberikan texture itu bisa sangat kompleks – tetapi biaya texture mapping gambar kompleks persis sama dengan texture mapping gambar sederhana. Penggunaan teksturpemetaan memungkinkan bentuk yang cukup sederhana untuk diberikan penampilan yang sangat realistis. Misalnya, dinding planar dapat memiliki tekstur batu dan dipetakan ke model untuk gambar yang sangat meyakinkan dari tigadimensi dinding batu (Contohnya, game check out 3D permainan komputer yang sangat baik dalam penggunaan texture mapping). 83 Gambar 9 Penggunaan teksture dalam game check out 3D Pada model memungkinkan kita untuk memberikan tekstur peta gambar favorit pada permukaan yang kita pilih dan kemudian memungkinkan kita melihat hasil dari perspektif yang berbeda. Perhatikan bahwa gambar resolusi yang lebih tinggi akan menghasilkan hasil yang lebih baik bila dilihat dari jarak kecil (karena daerah permukaan yang dilihat tidak berubah, gambar resolusi tinggi menyediakan lebih banyak data untuk pemeteaan pada model tersebut). Untuk melihat contoh ini penurunan kualitas, cobalah berjalan ke dinding dalam permainan favorit 3D dan mengamati cara dinding menampilkan texturenya untuk mendapatkan efek realistis nyata (dengan asumsi tidak memiliki kartu video/VGA yang memiliki texture mapping pada hardware). 2. Konsep Texture mapping Texturing merupakan proses mewarnai, memberi tekstur, atau memberi efek material pada sebuah model 3D. Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene. Fungsi yang dipetakan mencakup satu dimensi, dua dimensi, dan tiga dimensi dan dapat digambarkan sebagai array atau fungsi matematika atau gambar. • Bump mapping untuk memperjelas karakteristik permukaan yang bergelombang. • Bump mapping merupakan suatu proses dimana tekstur (texture), atau texture map diaplikasikan pada suatu permukaan dalam sebuah program grafis komputer tiga dimensi (3D) untuk membuat detail yang lebih baik pada permukaan tersebut. Bump map biasanya digunakan untuk menambahkan detail pada suatu permukaan, seperti benjolan, bubungan, 84 goresan dan detail lainnya yang mempengaruhi kemulusan suatu permukaan. Penggunaan pemetaan (mapping) ini memungkinkan objek yang dibuat oleh program komputer grafis biasanya dibentuk melalui penggunaan tardisional bump map, normal, atau parallax map. • Transparency mapping untuk mengatur intensitas cahaya permukaan tembus pandang. • Pemetaan Transparansi adalah metode lain menggunakan Bitmap untuk membuat bahan. Perbedaannya adalah bahwa ini adalah menggunakan alpha channel untuk menyingkirkan bagian yang tidak diinginkan dari Bitmap, hanya menyimpan bagian yang tertutup oleh alpha channel. Ini disebut topeng. • Specularity mapping untuk mengubah kehalusan permukaan • Illumination maaping untuk memodelkan distribusi cahaya yang datang dari berbagai arah • Namun dari semua itu yang paling penting adalah Geometrical mapping, geometrical mapping secara keseluruhan ditentukan dengan dengan transformasi tiga dimensi terhadap kamera, tansformasi model yang menggambarkan geometri scene dan pemberian parameter pada permukaan dengan tujuan memetakan tekstur ke permukaan. 3. Texture Mapping Texture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti tekstur yang diinginkan. Gambar 10 Teknik pemetaan teksture 85 4. Jenis - Jenis Texture pada OpenGl • GL_TEXTURE_1D : Gambar pada texture ini semuanya 1 dimensi.Mempunyai lebar tetapi tidak memiliki tinggi atau kedalaman • GL_TEXTURE_2D : Gambar pada texture ini semuanya 2 dimensi.Mempunyai lebar dan tinggi tetapi tidak memiliki kedalaman • GL_TEXTURE_3D : Gambar pada texture ini semuanya 3 dimensi.Mempunyai lebar, tinggi dan kedalaman. • GL_TEXTURE_RECTANGLE : Gambar dalam teksture ini 2 dimensi (hanya satu gambar,tidak memiliki multimapping).Koordinat teksture digunakan untuk teksture yang tidak dengan titik yang sebenarnya. • GL_TEXTURE_BUFFER: Gambar dalam teksture ini 1 dimensi (hanya satu gambar,tidak memiliki multimapping).Penyimpanan untuk data ini dating dari sebuah buffer object. • GL_TEXTURE_CUBE_MAP : Terdapat 6 sisi dari gambar 2D ,dan semua memiliki ukuran yang sama • GL_TEXTURE_1D_ARRAY : Gambar di teksture ini semuanya 1 dimensi.Bagaimanapun terdiri dari banyak set dari 1 gambar dimensi, semuanya dengan satu teksture. Panjang array adalah bagian dari ukuran teksture • GL_TEXTURE_2D_ARRAY : Gambar di teksture ini semuanya 2 dimensi.Bagaimanapun terdiri dari banyak set dari 2 gambar dimensi, semuanya dengan satu teksture. Panjang array adalah bagian dari ukuran teksture. • GL_TEXTURE_CUBE_MAP_ARRAY : Gambar di teksture ini semuanya peta kubus. Terdiri dari banyak set peta kubus,semuanya dengan satu teksture.Panjang array * 6 (angka dari sisi kubus) adalah bagian dari ukuran teksture • GL_TEXTURE_2D_MULTISAMPLE : Gambar di teksture ini 2 dimensi (hanya satu gambar,tidak ada multimapping).Kebanyakan pixel di gambar ini terdiri dari banyak contoh di dalamnya hanya satu nilai • GL_TEXTURE_2D_MULTISAMPLE_ARRAY : Kombinasi 2D array dan jenis 2D multisample.tidak ada multimapping 86 D. Aktivitas Pembelajaran Pembuatan kode program untuk texture terhadapa objek 3 dimensi dirancang dengan melibatkan beberapa file java untuk memudahkan dalam pengaturan dan operasi transformasi geometri. Beberapa file pendukung akan disertakan dalam lampiran. Kegiatan Praktikum 6.1 Keluaran Program Perancangan class diagram 87 Texture.java import import import import import import import import static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; java.awt.Font; org.lwjgl.LWJGLException; org.lwjgl.Sys; org.lwjgl.input.Keyboard; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; public abstract class CGApplication { protected long lastFrame; protected int fps; protected long last; protected String windowTitle = ""; protected int width; protected int height; protected boolean fullscreen; protected boolean vsync; public final int DEFAULT_FONT_SIZE = 14; protected boolean showFPS; protected int oldfps; protected int activeFontTextureId; public void start(int width, int height, boolean fullscreen, boolean vsync, boolean showFPS, String windowTitle) { this.windowTitle = windowTitle; this.height = height; this.width = width; this.fullscreen = fullscreen; this.vsync = vsync; this.showFPS = showFPS; try { 88 createWindow(); init(); while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { render(); Display.update(); } deinit(); Display.destroy(); } catch (Exception e) { e.printStackTrace(); System.exit(0); } } public abstract void render(); public abstract void deinit(); private void createWindow() throws LWJGLException { Display.setTitle(windowTitle); Display.setFullscreen(fullscreen); Display.setVSyncEnabled(vsync); DisplayMode displayMode = null; DisplayMode d[] = Display.getAvailableDisplayModes(); for (int i = 0; i < d.length; i++) { if (d[i].getWidth() == width && d[i].getHeight() == height && d[i].getBitsPerPixel() == 32) { displayMode = d[i]; break; } } Display.setDisplayMode(displayMode); Display.create(); } private void setOrthoMode() { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); gluOrtho2D(0, width, height, 0); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); } private void unsetOrthoMode() { glPopMatrix(); glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); } public abstract void init(); } GCApplication.java import java.awt.Color; import java.awt.Graphics; 89 import import import import import import import import import import import import import import import import java.awt.color.ColorSpace; java.awt.geom.AffineTransform; java.awt.image.AffineTransformOp; java.awt.image.BufferedImage; java.awt.image.ColorModel; java.awt.image.ComponentColorModel; java.awt.image.DataBuffer; java.awt.image.DataBufferByte; java.awt.image.Raster; java.awt.image.WritableRaster; java.io.IOException; java.net.URL; java.nio.ByteBuffer; java.nio.ByteOrder; java.util.Hashtable; javax.imageio.ImageIO; import org.newdawn.slick.util.ResourceLoader; public class Texture { private ColorModel glAlphaColorModel = new ComponentColorModel( ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 8, 8, 8, 8 }, true, false, ComponentColorModel.TRANSLUCENT, DataBuffer.TYPE_BYTE); private ColorModel glColorModel = new ComponentColorModel( ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 8, 8, 8, 0 }, false, false, ComponentColorModel.OPAQUE, DataBuffer.TYPE_BYTE); private ByteBuffer imageData; private int width; private int height; private ByteBuffer convertImageData(BufferedImage bufferedImage) { ByteBuffer imageBuffer; WritableRaster raster; BufferedImage texImage; int texWidth = bufferedImage.getWidth(); int texHeight = bufferedImage.getHeight(); if (bufferedImage.getColorModel().hasAlpha()) { raster= Raster.createInterleavedRaster( DataBuffer.TYPE_BYTE,texWidth, texHeight, 4, null); texImage = new BufferedImage(glAlphaColorModel, raster, false,new Hashtable<String, Object>()); } else { raster =Raster.createInterleavedRaster( DataBuffer.TYPE_BYTE,texWidth,texHeight,3,null); texImage= new BufferedImage(glColorModel, raster, false,new Hashtable<String, Object>()); 90 } AffineTransform tx = AffineTransform.getScaleInstance(1, -1); tx.translate(0, -bufferedImage.getHeight(null)); AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR); bufferedImage = op.filter(bufferedImage, null); Graphics g = texImage.getGraphics(); g.setColor(new Color(0f, 0f, 0f, 0f)); g.fillRect(0, 0, texWidth, texHeight); g.drawImage(bufferedImage, 0, 0, null); this.width = texWidth; this.height = texHeight; byte[] data=((DataBufferByte) texImage.getRaster().getDataBuffer()).getData(); imageBuffer = ByteBuffer.allocateDirect(data.length); imageBuffer.order(ByteOrder.nativeOrder()); imageBuffer.put(data, 0, data.length); imageBuffer.flip(); return imageBuffer; } public boolean load(String ref) { URL url = ResourceLoader.getResource(ref); if (url == null) { return false; } try { BufferedImage bufferedImage ImageIO.read(url); imageData = convertImageData(bufferedImage); } catch (IOException e) { return false; } = return true; } public ByteBuffer getImageData() { return imageData; } public int getWidth() { return width; } public int getHeight() { return height; } } TextureMappingTranformasi.java import org.lwjgl.BufferUtils; import setting.CGApplication; import setting.Texture; 91 import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.util.glu.GLU.*; public class TextureMappingTransformasi extends CGApplication { private Texture m_texture; private int m_texID; private float angle; @Override public void init() { // Load image data m_texture = new Texture(); if (!m_texture.load("pic/tree.png")) { System.out.println("Failed to load texture\n"); System.exit(1); return; } // Generate ID m_texID IntBuffer textureIDBuffer = BufferUtils.createIntBuffer(1); glGenTextures(textureIDBuffer); m_texID = textureIDBuffer.get(0); // Activate texture m_texID glBindTexture(GL_TEXTURE_2D, m_texID); // Copy image data into texture memory glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_texture.getWidth(),m_texture.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE,m_texture.getImageData()); // Set magnification and minification filter glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glDisable(GL_TEXTURE_2D); } @Override public void update(int delta) { angle += 0.05f; } private void drawTexturedQuads() { glBegin(GL_QUADS); glTexCoord2d(0, 0); glVertex3f(-2.0f, -2.0f, 0.0f); glTexCoord2d(1, 0); glVertex3f(2.0f, -2.0f, 0.0f); glTexCoord2d(1, 1); glVertex3f(2.0f, 2.0f, 0.0f); glTexCoord2d(0, 1); glVertex3f(-2.0f, 2.0f, 0.0f); glEnd(); 92 } @Override public void render() { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, (width) / (height), 1.0f, 100.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Transformasi glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Zoom-out glTranslatef(0.0f, 0.0f, -7.0f); // Rotasi glRotatef(angle, 0, 1, 0); glEnable(GL_DEPTH_TEST); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Texturing glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, m_texID); drawTexturedQuads(); glRotatef(90, 0, 1, 0); drawTexturedQuads(); glDisable(GL_DEPTH_TEST); glDisable(GL_ALPHA_TEST); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); renderText(); } private void renderText() { drawString(0, height – getDefaultFont().getLineHeight(),"Tekxture dengan Transformasi."); } public void deinit() { glDeleteTextures(m_texID); } public static void main(String[] args) { TextureMappingTransformasi app = new TextureMappingTransformasi(); app.start(800, 600, false, false, true,"Mapping Teksturing"); } } 93 E. Latihan / Tugas Buatlah ilustrasi teksture mapping pada sebuah gedung seperti dalam keluaran program di bawah ini : Disediakan dua buah file gambar seperti berikut ini : 94 gedungA.png gedungB.png F. Rangkuman Texturing merupakan proses mewarnai, memberi tekstur, atau memberi efek material pada sebuah model 3D. Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene. Fungsi yang dipetakan mencakup satu dimensi, dua dimensi, dan tiga dimensi dan dapat digambarkan sebagai array atau fungsi matematika atau gambar. Texture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti tekstur yang diinginkan. OpenGl menyediakan banyak sekali jenis texture yang dapat digunakan untuk membuat objek 2 dimensi dan 3 dimensi menjadi sangat menarik. 95 G. Kunci Jawaban Perancangan class diagram CGApplication.java Sama dengan kode program pada kegiatan praktikum 6.1 Texture.java Sama dengan kode program pada kegiatan praktikum 6.1 TextureGedung.java import import import import import import import import import import import import import import import import import import import 96 setting.CfgApplication; setting.Texture; java.awt.geom.Point2D; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; java.io.IOException; java.nio.IntBuffer; java.util.logging.FileHandler; java.util.logging.Level; java.util.logging.Logger; org.lwjgl.BufferUtils; org.lwjgl.LWJGLException; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; static org.lwjgl.opengl.Display.update; org.lwjgl.opengl.DisplayMode; org.lwjgl.opengl.GL11; static org.lwjgl.opengl.GL12.GL_CLAMP_TO_EDGE; import org.lwjgl.util.glu.GLU; public class TeksturGedung extends CGApplication { public static final int DISPLAY_HEIGHT = 480; public static final int DISPLAY_WIDTH = 640; private final int[] m_texID = new int[14]; public final static int NO_WRAP = -1; private Texture m_texture; public static void main(String[] args) { // TODO code application logic here TeksturGedung main = new TeksturGedung(); main.start(800,600,false,false,true,"Tekstur Gedung"); } public void render() { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f,(width)/(height), 1.0f, 700.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glEnable(GL_DEPTH_TEST); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_TEXTURE_2D); glPushMatrix(); glTranslatef(-50, 0, 25); for (int row = 0; row < 2; row++) { glPushMatrix(); for (int col = 0; col < 6; col++) { drawBuilding(4, 6, 10); glTranslatef(6, 0, 0); drawBuilding(4, 12, 11); glTranslatef(6, 0, 0); drawBuilding(4, 10, 10); glTranslatef(4, 0, 0); } glPopMatrix(); glTranslatef(0, 0, 12); } glPopMatrix(); glPushMatrix(); glTranslatef(-50, 0, -50); for (int row = 0; row < 2; row++) { glPushMatrix(); for (int col = 0; col < 6; col++) { drawBuilding(4, 6, 10); glTranslatef(6, 0, 0); drawBuilding(4, 12, 11); glTranslatef(6, 0, 0); 97 drawBuilding(4, 10, 10); glTranslatef(4, 0, 0); } glPopMatrix(); glTranslatef(0, 0, 12); } glDisable(GL_DEPTH_TEST); glDisable(GL_ALPHA_TEST); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); } private void update() { } public void destroy() { Mouse.destroy(); Keyboard.destroy(); Display.destroy(); } public void deinit() { } public void init() { IntBuffer textureIDBuffer = BufferUtils.createIntBuffer(14); glGenTextures(textureIDBuffer); m_texID[0] = textureIDBuffer.get(0); m_texID[1] = textureIDBuffer.get(1); m_texID[2] = textureIDBuffer.get(2); m_texID[3] = textureIDBuffer.get(3); m_texID[4] = textureIDBuffer.get(4); m_texID[5] = textureIDBuffer.get(5); m_texID[6] = textureIDBuffer.get(6); m_texID[7] = textureIDBuffer.get(7); m_texID[8] = textureIDBuffer.get(8); m_texID[9] = textureIDBuffer.get(9); m_texID[10] = textureIDBuffer.get(10); m_texID[11] = textureIDBuffer.get(11); m_texID[12] = textureIDBuffer.get(12); m_texID[12] = textureIDBuffer.get(12); loadTexture(m_texID[10], "pic/gedungA.png", false, GL_LINEAR, NO_WRAP); loadTexture(m_texID[11], "pic/gedungB.png", false, GL_LINEAR, NO_WRAP); } private void drawBuilding(float width, float height, int texID) { width = width / 2; glBindTexture(GL_TEXTURE_2D, m_texID[texID]); glBegin(GL_QUADS); // front side glTexCoord2d(0, 0); glVertex3f(-width, 0, width); glTexCoord2d(1, 0); glVertex3f(width, 0, width); glTexCoord2d(1, 1); glVertex3f(width, height, width); 98 glTexCoord2d(0, 1); glVertex3f(-width, height, width); // right side glTexCoord2d(0, 0); glVertex3f(width, 0, width); glTexCoord2d(1, 0); glVertex3f(width, 0, -width); glTexCoord2d(1, 1); glVertex3f(width, height, -width); glTexCoord2d(0, 1); glVertex3f(width, height, width); // back side glTexCoord2d(0, 0); glVertex3f(width, 0, -width); glTexCoord2d(1, 0); glVertex3f(-width, 0, -width); glTexCoord2d(1, 1); glVertex3f(-width, height, -width); glTexCoord2d(0, 1); glVertex3f(width, height, -width); // left side glTexCoord2d(0, 0); glVertex3f(-width, 0, -width); glTexCoord2d(1, 0); glVertex3f(-width, 0, width); glTexCoord2d(1, 1); glVertex3f(-width, height, width); glTexCoord2d(0, 1); glVertex3f(-width, height, -width); // top side glVertex3f(-width, height, width); glVertex3f(width, height, width); glVertex3f(width, height, -width); glVertex3f(-width, height, -width); glEnd(); } private void loadTexture(int texID, String path, boolean transparent,int filter, int wrap) { m_texture = new Texture(); if (!m_texture.load(path)) { System.out.println("Failed to load texture\n"); return; } glBindTexture(GL_TEXTURE_2D, texID); if (transparent) { glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA, m_texture.getWidth(), m_texture.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, m_texture.getImageData()); } else { glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_texture.getWidth(), m_texture.getHeight(), 0, GL_RGB , GL_UNSIGNED_BYTE, 99 m_texture.getImageData()); } glTexParameteri(GL_TEXTURE_2D, filter); glTexParameteri(GL_TEXTURE_2D, filter); if (wrap == -1) { return; } glTexParameteri(GL_TEXTURE_2D, wrap); glTexParameteri(GL_TEXTURE_2D, wrap); } } 100 GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, 101 102 Transformasi Proyeksi A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 7 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisis pemanfaatan teknik kamera dengan transformasi proyeksi 2. Melalui praktikum peserta diklat dapat menulis kode program untuk melakukan pergerakkan objek 3 dimensi melalui transformasi proyeksi B. Indikator Pencapaian Kompetensi 1. Memahami teknik pengambilan gambar dengan kamera 2. Menerapkan transformasi proyeksi, transformasi viewing, dan transformasi modeling 3. Menulis kode program untuk melakukan pengerakkan objek 3 dimensi melalui transformasi proyeksi, transformasi viewing, dan transformasi modeling C. Uraian Materi 1. Kamera Dalam grafika 3D, sudut pandang (point of view) adalah bagian dari kamera. Kamera dalam grafika 3D biasanya tidak didefinisikan secara fisik, namun hanya untuk menentukan sudut pandang kita pada sebuah world, sehingga sering disebut virtual camera. Sebuah kamera dipengaruhi oleh dua buah faktor penting. • Faktor pertama adalah lokasi (camera location). Lokasi sebuah kamera ditentukan dengan sebuah titik (x,y,z). • Faktor kedua adalah arah pandang kamera. Arah pandang kamera ditunjukkan dengan sebuah sistem yang disebut sistem koordinat acuan pandang atau sistem (U,N,V). 103 Arah pandang kamera sangat penting dalam membuat sebuah citra, karena letak dan arah pandang kamera menentukan apa yang terlihat oleh sebuah kamera. Penentuan apa yang dilihat oleh kamera biasanya ditentukan dengan sebuah titik (x,y,z) yang disebut camera interest. Pada kamera, dikenal field of view yaitu daerah yang terlihat oleh sebuah kamera. Field of view pada grafika 3D berbentuk piramid, karena layar monitor sebuah komputer berbentuk segiempat. Objek-objek yang berada dalam field of view ini akan terlihat dari layar monitor, sedang objek-objek yang berada di luar field of view ini tidak terlihat pada layar monitor. Field of view ini sangat penting dalam pemilihan objek yang akan diproses dalam rendering. Objek-objek diluar field of view biasanya tidak akan diperhitungkan, sehingga perhitungan dalam proses rendering, tidak perlu dilakukan pada seluruh objek. Gambar 10. Analogi pengambilan gambar oleh kamera Untuk menghasilkan gambar dari obyek dengan skenario tertentu kita harus melakukan beberapa proses, yaitu: • melakukan pengesetan kamera dalam bentuk setting lensa kamera ( Transformasi Proyeksi ), • mengarah kamera dengan mengatur letak tripod (Transformasi Viewing), • mengatur letak obyek (Transformasi Modeling), dan • mengatur skala dan layout dari foto (Transformasi Viewport) Transformasi Viewport dengan menggunakan perintah glViewport(). Pada bab ini, akan dipelajari transformasi-transformasi lainnya. 104 2. Transformasi Proyeksi Lensa kamera dan mata manusia memiliki daerah penglihatan (viewing volume) yang berbentuk kerucut, namun karena bentuk display yang biasanya berbentuk segiempat membuat OpenGL (dan hampir semua API grafika komputer lain) lebih efisien memodelkan daerah penglihatan sebagai volume berbentuk piramida. Tipe transformasi proyeksi ada dua macam, bergantung pada parameter dan bentuk piramidanya. Dua tipe transformasi tersebut adalah Ortogonal/Paralel (Orthogonal Transformation) dan Transformasi Transformasi Perspektif(Perspective Transformation). Gambar 11 Transformasi Ortogonal dan Transformasi Proyektif. Transformasi orthogonal dengan parameter default. Transformasi ini membuat jarak benda relatif terhadap kamera tidak berpengaruh pada citra benda tersebut. Biasanya transformasi ini digunakan pada aplikasi-aplikasi teknik seperti gambar teknik (cf. Gambar 6). Untuk merubah parameter transformasi ortogonal dapat 105 menggunakan perintah glOrtho() dengan didahului proses merubah status OpenGL mode ke proyeksi dengan perintah glMatrixMode(GL_PROJECTION). Gambar 1.2 Transformasi ortogonal Pada transformasi jenis ini jarak benda akan mempengaruhi gambar yang di buat. Parameter transformasi jenis ini dapat dirubah dengan menggunakan gluPerspective()/glFrustum() , juga dengan didahului proses merubah status OpenGL ke mode proyeksi dengan perintah glMatrixMode(GL_PROJECTION). glMatrixMode(GL_PROJECTION); glLoadIdentity( ); gluPerspective(fovy, aspect, near, far); fovy adalah sudut antara bidang bottom dan up.Dalam gambar berikut ini ditunjukkan ilustrasi dari implementasi kode program di atas. 106 Gambar 23 Ilustrasi transformasi ortogonal dari kode program 3. Transformasi Viewing Untuk menghasilkan gambar, kamera perlu diletakkan pada posisi yang tepat di depan pemandangan yang diinginkan. Secara default, dalam OpenGL kemera akan berada pada posisi (0,0,0) dengan menghadap ke arah z = -1 dengan sumbu y mengarah ke atas kamera. Hal ini dapat dilakukan dengan menggunakan perintah gluLookAt() dengan didahului proses merubah status OpenGL ke mode proyeksi dengan perintah glMatrixMode(GL_MODELVIEW). 4. Transformasi Modeling Selain posisi dan orientasi kamera yang dapat dirubah-rubah, secara natural obyek juga dapat berpindah posisi dan orientasi relatif terhadap yang lain.Transformasi obyek dapat direpresentasikan dengan dua cara, yaitu: • menggunakan matriks transformasi (glLoadMatrix) • menggunakan operasi transformasi (glRotate , glTranslate ) dengan didahului proses merubah status OpenGL ke mode proyeksi dengan perintah glMatrixMode(GL_MODELVIEW). D. Aktivitas Pembelajaran Pembuatan kode program untuk mentransformasi 3 dimensi melalui pemanfaatan seperti pada teknik kamera untuk melihat dan menggerakkan objek 3 dimensi. Perancangan kode program dengan melibatkan beberapa file pendukung akan disertakan dalam lampiran. 107 Kegiatan Praktikum 7.1 Keluaran Program Perancangan class diagram Block.java import import import import import import import import import 108 java.util.Random; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; java.io.IOException; java.util.logging.FileHandler; java.util.logging.Level; java.util.logging.Logger; org.lwjgl.LWJGLException; org.lwjgl.input.Keyboard; import import import public public public org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; class Block { float x, y, z, width, height, depth, shade; Random rand; public Block(float xx, float yy, float zz, float ww, float hh, float dd) { x = xx; y = yy; z = zz; width = ww; height = hh; depth = dd; rand = new Random(); shade = (rand.nextFloat() + 0.2f); } public void tick() { } public void render() { glBegin(GL_QUADS); glColor3f(0, shade, 1); //Front glTexCoord2f(0, 0); glVertex3f(x, y, z); glTexCoord2f(1, 0); glVertex3f(x + width, y, z); glTexCoord2f(1, 1); glVertex3f(x + width, y + height, z); glTexCoord2f(0, 1); glVertex3f(x, y + height, z); //Back glVertex3f(x, y, z + depth); glVertex3f(x + width, y, z + depth); glVertex3f(x + width, y + height, z + depth); glVertex3f(x, y + height, z + depth); //Left glVertex3f(x, y, z); glVertex3f(x, y, z + depth); glVertex3f(x, y + height, z + depth); glVertex3f(x, y + height, z); //Right glVertex3f(x + width, y, z); glVertex3f(x + width, y, z + depth); glVertex3f(x + width, y + height, z + depth); glVertex3f(x + width, y + height, z); //Top glVertex3f(x, y, z); glVertex3f(x + width, y, z); glVertex3f(x + width, y, z + depth); glVertex3f(x, y, z + depth); //Bottom glVertex3f(x, y + height, z); 109 glVertex3f(x + width, y + height, z); glVertex3f(x + width, y + height, z + depth); glVertex3f(x, y + height, z + depth); glEnd(); } } UjiCamera.java import import import import import import import import import import import import import import java.util.Random; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; java.io.IOException; java.util.ArrayList; java.util.logging.FileHandler; java.util.logging.Level; java.util.logging.Logger; org.lwjgl.LWJGLException; org.lwjgl.Sys; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; org.lwjgl.opengl.DisplayMode; public class UjiCamera { public static float camera_x, camera_y, camera_z, camera_rot; public static ArrayList<Block> blocks = new ArrayList<Block>(); public UjiCamera() { try { Display.setDisplayMode(new DisplayMode(800, 600)); Display.setTitle("Transformai Proyeksi dengan Kamera"); Display.create(); } catch (LWJGLException e) { e.printStackTrace(); } glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective((float) 45, 800f / 600f, 0.1f, 1000.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glEnable(GL_TEXTURE_2D); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); generateWorld(); glTranslatef(0, 15, 0); float dt, time, lastTime = 0; Mouse.setGrabbed(true); while (!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { time = Sys.getTime(); dt = (time - lastTime) / 1000.0f; 110 lastTime = time; render(); tick(); Display.update(); Display.sync(60); } Display.destroy(); System.exit(0); } public void tick() { camera_x = 0; camera_y = 0; camera_z = 0; camera_rot = 0; if (Keyboard.isKeyDown(Keyboard.KEY_SPACE)) { camera_z = +1; } else if (Keyboard.isKeyDown(Keyboard.KEY_MINUS)) { camera_z = -1; } if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) { camera_x = +1; } else if (Keyboard.isKeyDown(Keyboard.KEY_LEFT)) { camera_x = -1; } if (Keyboard.isKeyDown(Keyboard.KEY_DOWN)) { camera_y = -1; } else if (Keyboard.isKeyDown(Keyboard.KEY_UP)) { camera_y = +1; } while (Keyboard.next()) { if (Keyboard.isKeyDown(Keyboard.KEY_R)) { generateWorld(); } } for (int i = 0; i < blocks.size(); i++) { blocks.get(i).tick(); } camera_rot += Mouse.getDX(); } public void render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glTranslatef(camera_x, camera_y, camera_z); glRotatef(camera_rot, 0, 1, 0); for (int i = 0; i < blocks.size(); i++) { blocks.get(i).render(); } } public void generateWorld() { blocks.clear(); int heightlevel = 0; Random r = new Random(); for (int i = 0; i < 50; i++) { for (int j = 0; j < 50; j++) { 111 if (r.nextBoolean() == false) { heightlevel -= 4; } else { heightlevel += 4; } blocks.add(new Block((i * 4)-64, -8+heightlevel,(j*4)-64,4,4,4)); float y = -8 + heightlevel; for (int k = 0; k < 10; k++) { blocks.add(new Block((i * 4)-64,y-(k * 4), (j * 4)-64,4,4,4)); } } } } public static void main(String[] arguments) { new UjiCamera(); } } Keterangan Tombol keyboard Panah Atas(Pg Up)-> Pergerakkan ke atas Tombol keyboard Panah Bawah(Pg Dn)-> Pergerakkan ke bawah Tombol keyboard Panah Kanan(End)-> Pergerakkan ke kanan Tombol keyboard Panah Kiri(Home)-> Pergerakkan ke kiri Tombol keyboard Spasi-> Pergerakkan ke maju Tombol keyboard Minus-> Pergerakkan ke mundur E. Latihan / Tugas 1. Perhatikan gambar dibawah ini sebuah titik Pref berada dalam Word Coordinates system dilihat menggunakan kamera di posisi Peye. Dalam hal ini kamera bertindak sebagai Viewer Coordinates System. Jelaskan ilustrasi gambar di bawah ini : 112 2. Perhatikan gambar di bawah ini, Gambar (a) Obyek grafik yang berada di dunia dinyatakan dalam ruang koordinat 3D. (b) Gambar obyek tersebut ditampilkan di layar yang dinyatakan sebagai koordinat bidang 2D setelah melalui proses proyeksi. Jelaskan ilustrasi yang ditunjukkan dalam gambar di atas. F. Rangkuman Kamera dalam grafika 3D biasanya tidak didefinisikan secara fisik, namun hanya untuk menentukan sudut pandang kita pada sebuah world, sehingga sering disebut virtual camera.Lensa kamera dan mata manusia memiliki daerah penglihatan (viewing volume) yang berbentuk kerucut, namun karena bentuk display yang biasanya berbentuk segiempat membuat OpenGL (dan hampir semua API grafika komputer lain) lebih efisien memodelkan daerah penglihatan 113 sebagai volume berbentuk piramida. Tipe transformasi proyeksi ada dua macam, bergantung pada parameter dan bentuk transformasi tersebut adalah Transformasi piramidanya. Dua tipe Ortogonal/Paralel (Orthogonal Transformation) dan Transformasi Perspektif(Perspective Transformation). G. Kunci Jawaban Jawaban no 1 Gambar pada soal no 1 menunjukkan : (a) Sebuah titik dengan posisi Pref pada obyek silinder dilihat (menggunakan kamera) pada posisi Peye. (b) Sistem koordinat dunia yang digunakan untuk mengukur posisi titik Pref dan posisi mata Peye. Untuk menyatakan titik-titik dalam Word Coordinates system menjadi titik-titik dalam Viewer Coordinates System maka diperlukan beberapa parameter berikut: • Posisi mata pengamat Peye. • Posisi titik referensi Pref. • vektor arah pandang atas Vup Jawaban no 2 Titik-titik dalam Viewer Coordinates system tersimpan dalam koordinat ruang 3D. Titik-titik ini akan ditampilkan di layar yang dinyatakan sebagai koordinat bidang 2D. Untuk itu kita perlu mentransformasi titik-titik dalam koordinat ruang 3D menjadi titik-titik dalam koordinat bidang 2D. Yang menjadi permasalahan adalah bagaimana mentransformasi titik-titik dalam ruang 3D kedalam bidang 2D. Jawabannya adalah proyeksi. Proyeksi digunakan untuk mentransformasi titik dalam ruang 3D kedalam bidang 2D. 114 115 116 Rendering A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 8 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat dapat menganalisis pemanfaatan rendering pada image melalui lighting dan shanding. 2. Melalui praktikum peserta diklat dapat menulis kode program untuk melakukan rendering pada image melalui lighting dan shanding. B. Indikator Pencapaian Kompetensi 1. Memahami proses rendering pada sebuah image 2. Menerapkan proses lighting dan shading 3. Menulis kode program untuk melakukan rendering pada sebuah image melalui lighting dan shanding. C. Uraian Materi Rendering merupakan salah satu teknik pencitraan objek 3 dimensi untuk mendapatkan image yang realistis dengan penambahan beberapa efek, seperti pencahayaan dan shading. Kebanyakan manusia menggemari sesuatu yang hidup, bukan yang kaku dan statik. 1. Warna Warna sebenarnya merupakan persepsi kita terhadap pantulan cahaya dari benda-benda di depan mata. Tidak ada ketentuan jumlah warna dasar tetapi dalam implementasi dengan komputer hanya dibutuhkan tiga warna dasar. Ada berbagai model untuk menyatakan warna dasar serta rentang warna yang dihasilkan, salah satu diantaranya adalah RGB. Model warna RGB dapat digambarkan sebagai sebuah kotak yang mempunyai tiga sumbu yaitu : R(red), G(green), B(blue), dimana nilai masing-masing sumbu berkisar dari 0 sampaii 1. Warna ditentukan berdasarkan lokasi warna tersebut terhadap Sumbu RGB. 117 2. Pencahayaan (Lighting) Salah satu tujuan dari grafika komputer adalah menghasilkan tampilan yang senyata mungkin, dan karena pengaruh cahaya sangat besar terhadap hasil nyata maka dalam membuat tampilan akhir faktor pencahayaan harus diperhitungkan pula. Tetapi mengingat bahwa grafika komputer adalah model matematika dari kehidupan nyata maka pencahayaan juga harus diubah menjadi model matematika. Model matematika itu harus memenuhi persyaratan sebagai berikut : • Menghasilkan efek seperti cahaya sungguhan • Dapat dihitung dengan cepat Model pencahayaan tiga dimensi menyangkut yang realistik menyangkut dua elemen penting yang sangat berkaitan erat dengan shading model, yaitu : • Keakuratan dalam menggambarkan objek. • Teknik pencahayaan yang baik. Saat cahaya menimpa permukaan benda maka sebagian cahaya akan dipantulkan dan sebagian lain diserap. Bergantung kepada frekuensi atau panjang gelombang yang dipantulkan dan diserap maka kita akan melihat warna. Mata kita selain sensitif terhadap warna juga sensitif terhadap intensitas cahaya (brightness). Secara awam kita menyebut intensitas cahaya sebagai kecerahan. Bergantung kepada materi penyusun benda maka ada tiga kemungkinan arah pantulan cahaya ketika cahaya menimpa permukaan benda : diffuse, specular, translucent. a) Cahaya Tersebar (Diffuse) Suatu objek yang mempunyai permukaan yang kasar maka cahaya yang dipantulkan cenderung akan menyebar ke segala arah, cahaya yang menyebar ini disebut cahaya tersebar. Beberapa cahaya menembus permukaan dan diradiasi kembali secara seragam ke dalam semua arah. Penghitungan cahaya tersebar menggunakan m, v dan s. • Sebagaimana cahaya tersebar disebarkan secara seragam dalam semua arah, lokasi mata, v, tidak penting kecuali kalau v.m < 0 jika diinginkan intensitas cahaya I = 0 118 • Hubungan antara kecerahan permukaan dan orientasinya cahaya didasarkan pada cos(θ). Keterangan : = kuat cahaya tersebar (diffuse) = kuat cahaya di sumber cahaya = koefisien pantulan tersebar (diffuse) 3. Metode Flat Shading Flat shading mempunyai adalah salah satu teknik shading dimana satu face warna yang sama. Pada metode ini sebuah intensitas tunggal dihitung untuk masing-masing Polygon, semua titik pada permukaan Polygon dipaparkan dengan nilai intensitas yang sama. Karakteristik flat shading diantaranya : • Pemberian tone yang sama untuk setiap Polygon • Penghitungan jumlah cahaya mulai dari titik tunggal pada permukaan. • Penggunaan satu normal untuk seluruhnya. Secara umum flat shading dapat menghasilkan shading yang akurat dengan ketentuan sebagi berikut : • Objek berbentuk polihendra (segi banyak), yaitu jaring yang mempunyai ruang terhingga dan tertutup. Semua sumber cahaya jauh dari permukaan objek, maka ∙ adalah tetap untuk semua permukaan Polygon. Posisi penglihatan yang cukup jauh dari permukaan sehingga ∙ adalah tetap untuk semua permukaan Polygon. Definisi matematik : : Vektor sumber cahaya (arah) membentur permukaan (yang disingkat untuk ’ L’, tetapi ingat ini adalah suatu garis vektor). : Vektor sudut pandang (eyepoint) pemandangan di permukaan (yang disingkat untuk ’ V’, tetapi ingat ini adalah suatu garis vektor). 119 : Vektor normal (tegak lurus) pada permukaan (yang disingkat untuk ’ N’, tetapi ingat ini adalah suatu garis vektor). Sekalipun semua kondisi-kondisi ini tidak benar, kita masih bisa memperkirakan efek cahaya permukaan dengan menggunakan permukaan Polygon kecil dengan menggunakan flat shading dan menghitung intensitas untuk setiap permukaan, khususnya pada pusat Polygon. 4. Metode Gouraud Shading Metode ini merender sebuah permukaan Polygon dengan interpolasi linier yaitu nilai intensitas yang mengenai setiap permukaan berbeda. Warna yang dipantulkan dihitung tiap Membuat suatu vertex kemudian permukaan Polygon secara dengan halus diinterpolasikan. menginterpolasikan nilai intensitas secara linier ke seberang permukaan. Nilai intensitas untuk masingmasing Polygon dipasangkan sepanjang tepi (edges) dengan nilai dari Polygon yang bersebelahan yang umum, dengan begitu menghentikan penghapusan intensitas yang dapat terjadi di flat shading. Karakteristik shading yang dihasilkan : Shading yang dihasilkan halus (tampak nyata) Penggunaan diinterpolasikan menggunakan level abu-abu yang berbeda di antara titik.Masing-masing gouraud shading disepanjang permukaan Polygon Polygon dibuat dengan melakukan perhitungan sebagai berikut : • Tentukan satuan vektor normal rata-rata pada setiap titik ujung Polygon. • Pakaikan model iluminasi untuk setiap titik untuk menghitung intensitas titik. • Interpolasikan secara linier intensitas titik pada permukaan Polygon. D. Aktivitas Pembelajaran Pembuatan kode program untuk rendring terhadapa objek 3 dimensi dirancang dengan melibatkan beberapa file java untuk memudahkan dalam pengaturan dan 120 operasi transformasi geometri. Beberapa file pendukung akan disertakan dalam lampiran. Kegiatan Praktikum 8.1 Keluaran Program Perancangan class diagram 121 CGApplication.java Sama dengan kode program pada kegiatan praktikum 6.1 Texture.java Sama dengan kode program pada kegiatan praktikum 6.1 Camera.java import import import import public 122 static org.lwjgl.util.glu.GLU.*; org.lwjgl.input.Keyboard; org.lwjgl.input.Mouse; org.lwjgl.opengl.Display; class Camera { private float viewCamX, viewCamY, viewCamZ, upCamX, upCamY, upCamZ,posCamX, posCamY, posCamZ, CAMERA_SPEED; private void moveCamera(float speed) { float x = viewCamX - posCamX; float z = viewCamZ - posCamZ; posCamX = posCamX + x * speed; posCamZ = posCamZ + z * speed; viewCamX = viewCamX + x * speed; viewCamZ = viewCamZ + z * speed; } private void rotateCamera(float speed) { float x = viewCamX - posCamX; float z = viewCamZ - posCamZ; viewCamZ =(float)(posCamZ+Math.sin(speed)*x+ Math.cos(speed) * z); viewCamX = (float) (posCamX + Math.cos(speed) * x – Math.sin(speed) * z); } private void strafeCamera(float speed) { float x = viewCamX - posCamX; float z = viewCamZ - posCamZ; float orthoX = -z; float orthoZ = x; posCamX = posCamX + orthoX * speed; posCamZ = posCamZ + orthoZ * speed; viewCamX = viewCamX + orthoX * speed; viewCamZ = viewCamZ + orthoZ * speed; } private void mouseMove() { int width, height, mouseX, mouseY; width = Display.getWidth(); height = Display.getHeight(); int midX = width >> 1; int midY = height >> 1; float angleY = 0.0f; float angleZ = 0.0f; // Get mouse position mouseX = Mouse.getX(); mouseY = Mouse.getY(); if ((mouseX == midX) && (mouseY == midY)) { return; } Mouse.setCursorPosition(midX, midY); angleY = (float) ((midX - mouseX)) / 1000; angleZ = (float) ((midY - mouseY)) / 1000; viewCamY += angleZ * 2; if ((viewCamY - posCamY) > 8) { viewCamY = posCamY + 8; } if ((viewCamY - posCamY) < -8) { viewCamY = posCamY - 8; } rotateCamera(-angleY); } public void init() { 123 posCamX = 0.0f; posCamY = 1.0f; posCamZ = 8.0f; viewCamX = 0.0f; viewCamY = 1.0f; viewCamZ = 0.0f; upCamX = 0.0f; upCamY = 1.0f; upCamZ = 0.0f; CAMERA_SPEED = 0.01f; Mouse.setGrabbed(true); } public void setCameraSpeed(float speed) { CAMERA_SPEED = speed; } public void update() { if (Keyboard.isKeyDown(Keyboard.KEY_W)) { moveCamera(CAMERA_SPEED); } if (Keyboard.isKeyDown(Keyboard.KEY_S)) { moveCamera(-CAMERA_SPEED); } if (Keyboard.isKeyDown(Keyboard.KEY_A)) { strafeCamera(-CAMERA_SPEED); } if (Keyboard.isKeyDown(Keyboard.KEY_D)) { strafeCamera(CAMERA_SPEED); } mouseMove(); } public void render() { gluLookAt(posCamX, posCamY, posCamZ, viewCamX, viewCamY, viewCamZ,upCamX, upCamY, upCamZ); } } LightingShading.java import import import import import import import import import java.nio.FloatBuffer; java.nio.IntBuffer; org.lwjgl.BufferUtils; org.lwjgl.input.Keyboard; setting.CGApplication; setting.Camera; setting.Texture; static org.lwjgl.opengl.GL11.*; static org.lwjgl.util.glu.GLU.*; public class LightingShading extends CGApplication { private Texture m_texture; private final int[] m_texID = new int[2]; private boolean KEY_0_pressed, KEY_1_pressed, KEY_2_pressed, light0_ON,light1_ON, light2_ON; public final static int NO_WRAP = -1; 124 private Camera camera; @Override public void init() { camera = new Camera(); camera.init(); camera.setCameraSpeed(0.005f); KEY_0_pressed = KEY_1_pressed = KEY_2_pressed = false; light0_ON = light1_ON = light2_ON = false; IntBuffer textureIDBuffer = BufferUtils.createIntBuffer(2); glGenTextures(textureIDBuffer); textureIDBuffer.get(m_texID); loadTexture(m_texID[0], "pic/marble.png", false, GL_LINEAR, GL_REPEAT); loadTexture(m_texID[1], "pic/crate.png", false, GL_LINEAR, NO_WRAP); FloatBuffer ambientPointLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 0.5f, 0.5f, 0.5f, 1.0f }).flip(); FloatBuffer diffusePointLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 0.5f, 0.5f, 0.5f, 1.0f }).flip(); FloatBuffer specularPointLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 1.0f, 1.0f, 1.0f, 1.0f }).flip(); FloatBuffer ambientDirectionalLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 0.0f, 1.0f, 0.0f, 1.0f }).flip(); FloatBuffer diffuseDirectionalLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 0.0f, 1.0f, 0.0f, 1.0f }).flip(); FloatBuffer ambientSpotLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 1.0f, 0.0f, 0.0f, 1.0f }).flip(); FloatBuffer diffuseSpotLight = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 1.0f, 0.0f, 0.0f, 1.0f }).flip(); FloatBuffer directionallightPosition = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 6.0f, 0.5f, 0.0f, 0.0f }).flip(); FloatBuffer pointlightPosition = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 6.0f, 0.5f, 0.0f, 1.0f }).flip(); FloatBuffer spotlightPosition = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 10.0f, 3.0f, 0.0f, 1.0f }).flip(); FloatBuffer spotlightDirection = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { -1.0f, 0.0f, -1.0f, 1.0f }).flip(); FloatBuffer matAmbient = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 1.0f, 1.0f, 1.0f, 1.0f }).flip(); FloatBuffer matDiff = (FloatBuffer) BufferUtils.createFloatBuffer(4).put(new float[] { 125 1.0f, 1.0f, 1.0f, 1.0f }).flip(); FloatBuffer matSpecular = (FloatBuffer) BufferUtils .createFloatBuffer(4).put(new float[] { 1.0f, 1.0f, 1.0f, 1.0f }).flip(); glLight(GL_LIGHT0, GL_AMBIENT, ambientPointLight); glLight(GL_LIGHT0, GL_DIFFUSE, diffusePointLight); glLight(GL_LIGHT0, GL_SPECULAR, specularPointLight); glLight(GL_LIGHT0, GL_POSITION, pointlightPosition); glLight(GL_LIGHT1,GL_AMBIENT,ambientDirectionalLight); glLight(GL_LIGHT1, GL_DIFFUSE, diffuseDirectionalLight); glLight(GL_LIGHT1,GL_POSITION, directionallightPosition); glLight(GL_LIGHT2, GL_AMBIENT, ambientSpotLight); glLight(GL_LIGHT2, GL_DIFFUSE, diffuseSpotLight); glLight(GL_LIGHT2, GL_POSITION, spotlightPosition); glLightf(GL_LIGHT2, GL_SPOT_CUTOFF, 15.0f); glLightf(GL_LIGHT2, GL_SPOT_EXPONENT, 5.0f); glLight(GL_LIGHT2,GL_SPOT_DIRECTION, spotlightDirection); glEnable(GL_COLOR_MATERIAL); glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); glMaterial(GL_FRONT, GL_SPECULAR, matSpecular); glMaterial(GL_FRONT, GL_AMBIENT, matAmbient); glMaterial(GL_FRONT, GL_DIFFUSE, matDiff); glMaterialf(GL_FRONT, GL_SHININESS, 10.0f); } @Override public void update(int delta) { camera.update(); toggleKey(); } public void toggleKey() { if (Keyboard.isKeyDown(Keyboard.KEY_0)) { if (!KEY_0_pressed) { light0_ON = !light0_ON; KEY_0_pressed = true; } } else { KEY_0_pressed = false; } if (Keyboard.isKeyDown(Keyboard.KEY_1)) { if (!KEY_1_pressed) { light1_ON = !light1_ON; KEY_1_pressed = true; } } else { KEY_1_pressed = false; } if (Keyboard.isKeyDown(Keyboard.KEY_2)) { if (!KEY_2_pressed) { light2_ON = !light2_ON; KEY_2_pressed = true; } } else { 126 KEY_2_pressed = false; } } void drawCube(int texID, float width, float height) { width = width / 2; glBindTexture(GL_TEXTURE_2D, texID); glBegin(GL_QUADS); glNormal3f(0, 0, 1); glTexCoord2d(0, 0); glVertex3f(-width, 0, width); glTexCoord2d(1, 0); glVertex3f(width, 0, width); glTexCoord2d(1, 1); glVertex3f(width, height, width); glTexCoord2d(0, 1); glVertex3f(-width, height, width); // right side glNormal3f(1, 0, 0); glTexCoord2d(0, 0); glVertex3f(width, 0, width); glTexCoord2d(1, 0); glVertex3f(width, 0, -width); glTexCoord2d(1, 1); glVertex3f(width, height, -width); glTexCoord2d(0, 1); glVertex3f(width, height, width); // back side glNormal3f(0, 0, -1); glTexCoord2d(0, 0); glVertex3f(width, 0, -width); glTexCoord2d(1, 0); glVertex3f(-width, 0, -width); glTexCoord2d(1, 1); glVertex3f(-width, height, -width); glTexCoord2d(0, 1); glVertex3f(width, height, -width); // left side glNormal3f(-1, 0, 0); glTexCoord2d(0, 0); glVertex3f(-width, 0, -width); glTexCoord2d(1, 0); glVertex3f(-width, 0, width); glTexCoord2d(1, 1); glVertex3f(-width, height, width); glTexCoord2d(0, 1); glVertex3f(-width, height, -width); // top side glNormal3f(0, 1, 0); glTexCoord2d(0, 0); glVertex3f(-width, height, width); glTexCoord2d(1, 0); glVertex3f(width, height, width); glTexCoord2d(1, 1); glVertex3f(width, height, -width); glTexCoord2d(0, 1); 127 glVertex3f(-width, height, -width); // bottom side glNormal3f(0, -1, 0); glTexCoord2d(0, 0); glVertex3f(-width, 0, width); glTexCoord2d(1, 0); glVertex3f(width, 0, width); glTexCoord2d(1, 1); glVertex3f(width, 0, -width); glTexCoord2d(0, 1); glVertex3f(-width, 0, -width); glEnd(); } void drawFloor(int texID, float width) { // floor glBindTexture(GL_TEXTURE_2D, texID); glBegin(GL_QUADS); glNormal3f(0, 1, 0); glTexCoord2d(0, 0); glVertex3f(-width, 0, width); glTexCoord2d(width, 0); glVertex3f(width, 0, width); glTexCoord2d(width, width); glVertex3f(width, 0, -width); glTexCoord2d(0, width); glVertex3f(-width, 0, -width); glEnd(); } private void loadTexture(int texID, String path, boolean sparent, int filter, int wrap) { m_texture = new Texture(); if (!m_texture.load(path)) { System.out.println("Failed to load texture\n"); return; } glBindTexture(GL_TEXTURE_2D, texID); if (transparent) { glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA, m_tex ture.getWidth(), m_texture.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, m_texture.getImageData()); } else { glTexImage2D(GL_TEXTURE_2D,0,GL_RGB, m_texture.getWidth(), m_texture.getHeight(), 0, GL_RGB, GL_UNSIGNED_BYTE, m_texture.getImageData()); } glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,filter); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, filter); if (wrap == NO_WRAP) { 128 return; } glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrap); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrap); } private void toggleLighting(int lightID, boolean on) { if (on) { glEnable(lightID); } else { glDisable(lightID); } } public void render() { // Setting up default viewport glViewport(0, 0, width, height); // Set perspective projection glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, (width) / (height), 1.0f, 100.0f); // Transformation glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Clear color buffer to black glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Set background color to black glClearColor(0.0f, 0.0f, 0.0f, 0.0f); camera.render(); // Zoom out glTranslatef(0.0f, -3.0f, -10.0f); // Enable lighting glEnable(GL_LIGHTING); // toggle lighting toggleLighting(GL_LIGHT0, light0_ON); toggleLighting(GL_LIGHT1, light1_ON); toggleLighting(GL_LIGHT2, light2_ON); // Enable Depth Testing for correct z-ordering glEnable(GL_DEPTH_TEST); // Enable texture 2D glEnable(GL_TEXTURE_2D); drawFloor(m_texID[0], 10); // Draw cube drawCube(m_texID[1], 2, 2); glDisable(GL_DEPTH_TEST); glDisable(GL_TEXTURE_2D); glDisable(GL_LIGHTING); renderText(); } private void renderText() { drawString(300, height - 25 ,"Lighting & Shading"); drawString(100, height - 42 * getDefaultFont().getLineHeight(), "Tekan 0, 1, 2, Untuk ON-OFF point light, directional light, spot light"); } @Override public void deinit() { 129 glDeleteTextures(m_texID[0]); glDeleteTextures(m_texID[1]); } public static void main(String[] args) { LightingShading app = new LightingShading(); app.start(800, 600, false, false, true,"Lighting & Shading"); } } E. Latihan / Tugas 1. Rancang dan buatlah Virtual Kota seperti dalam gambar di bawah ini dengan menggunakan file gambar yang sudah disediakan class yang harus dibuat antara lain :  CGApplication.java bisa disalin dari kode program pada Kegiatan Belajar 6-7  Camera.java bisa disalin dari kode program Kegiatan Belajar 6 -7  Texture.java bisa disalin dari kode program Kegiatan Belajar 6 -7  Class baru yang harus dibuat adalah VirtualGedungKota.java yang merupakan implementasi dari kode program 130 File gambar sebagai berikut (berekstensi .jpg atau ,png) : 131 F. Rangkuman Rendering merupakan salah satu teknik pencitraan objek 3 dimensi untuk mendapatkan image yang realistis dengan penambahan beberapa efek, seperti pencahayaan dan shading. Model pencahayaan tiga dimensi menyangkut yang realistik menyangkut dua elemen penting yang sangat berkaitan erat dengan shading model keakuratan dalam menggambarkan objek dan teknik pencahayaan yang baik. Saat cahaya menimpa permukaan benda maka sebagian cahaya akan dipantulkan dan sebagian lain diserap. Bergantung kepada frekuensi atau panjang gelombang yang dipantulkan dan diserap maka kita akan melihat warna. Mata kita selain sensitif terhadap warna juga sensitif terhadap intensitas cahaya (brightness). Secara awam kita menyebut intensitas cahaya sebagai kecerahan. Flat shading mempunyai adalah salah satu teknik shading dimana satu face warna yang sama. Pada metode ini sebuah intensitas tunggal dihitung untuk masing-masing Polygon, semua titik pada permukaan Polygon 132 dipaparkan dengan nilai intensitas yang sama. Karakteristik flat shading diantaranya pemberian tone yang sama untuk setiap Polygon,penghitungan jumlah cahaya mulai dari titik tunggal pada permukaan dan penggunaan satu normal untuk seluruhnya. G. Kunci Jawaban Perancangan class diagram lwjgl.OpenGL CGApplication Texture -width : int -height : int +getWidth() : int +getHight() : int VirtualGedungKota -Camera : CGApplication = cmr -Texture : CGApplication = textr +loadImage () : void +main() : void Camera -viewCamX : int -viewCamY : int -viewCamZ : int -upCamX : int -upCamY : int -upCamZ : int -posCamX : int -posCamY : int -posCamZ : int -camaera _speed : int +moveCamera () : void +rotateCamera () : void +strafeCamera () : void +render() : void 133 134 PENUTUP Kesimpulan dan Saran Modul diklat PKB Guru RPL level 7 ini merupakan bagian dari Standar Kompetensi Guru (SKG) pada empat kompetensi utama yaitu pada kompetensi profesional. Kompetensi Inti Guru (KIG) sesuai permendiknas 16 tahun 2007 pada kompetensi profesional pada poin 20 menyebutkan guru harus “Menguasai materi, struktur, konsep dan pola pikir keilmuan yang mendukung mata pelajaran yang diampu”. Modul ini dibuat sesuai dengan Indikator Pencapaian Kompetensi(IPK), dimana setiap IPK dituangkan ke dalam Kegiatan Belajar(KB) 1- sampai KB 8 yang berisikan pengembangan pengetahuan dalam uraian materi dan praktikum yang tertuang dalam kegiatan praktikum. Latihan atau tugas berisikan permasalahan-permasalan yang nyata dalam kehidupan sehari-hari. Solusi yang ditawarkan dalam setiap penyelesaian masalah dalam bentuk UML class diagram dan kode program dalam bahasa C++ dan java sehingga pengguna dapat memilih sesuai dengan bahasa pemrograman yang sering digunakan. Grafik komputer 3D (dimensi) merupakan bentuk dari benda yang memiliki panjang, lebar, dan tinggi. perbedaan dengan grafik 2D pada pemodelan 3D memiliki 3 titik kordinat yakni titik x, y, dan z. Representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Tiga Dimensi, biasanya digunakan dalam penanganan grafis. 3D secara umum merujuk pada kemampuan dari sebuah video card (link). pemodelan ini juga berfungsi untuk menampilkan efek realistis pada video maupun game. Grafik 3D merupakan perkembangan dari grafik 2D. Di dalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Suatu objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada permukaan gambar. Proses pembuatan grafik komputer 3D dapat dibagi ke dalam tiga fase, yaitu 3D modeling yang mendeskripsikan bentuk dari sebuah objek, layout dan animation 135 yang mendeskripsikan gerakan dan tata letak sebuah objek, dan 3D rendering yang memproduksi image dari objek tersebut Pengguna modul ini terutama guru-guru Rekayasa Perangkat Lunak (RPL) dapat memperkaya dengan memberi latihan-latihan atau tugas yang lebih variatif untuk siswa-siswa SMK sesuai permasalahan di sekolah masing-masing. Pada perkembangan saat ini, pemanfaatan teknologi grafika computer sangat dibutuhkan untuk memvisualisasikan objek-objek dunia nyata menjadi objek grafis, dan implementasi yang real yaitu digunakannya teknologi grafika komputer pada fraktal untuk pembuatan aplikasi desain suatu benda. Dengan menguasai grafika komputer diharapkan guru dan siswa bisa bersama-sama membuat projek-projek yang dapat digunakan oleh sekolah dan masyarakat. 136 EVALUASI 1. Elemen-elemen yang menjadi konsentrasi utama pada grafika komputer adalah a. Modeling b. Rendering c. Animation d. Transformation 2. Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL adalah ... a. Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah contoh glClearColor. b. Semua perintah OpenGL menggunakan awalan GL diikuti dengan huruf kapital pada setiap kata membentuk nama perintah contoh GLClearColor. c. Semua perintah OpenGL menggunakan awalan _gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah contoh _glClearColor. d. Semua perintah OpenGL menggunakan awalan _GL diikuti dengan huruf kapital pada setiap kata membentuk nama perintah contoh _GLClearColor. 3. Perhatikan posisi titik dalam koordinat cartesian seperti dalam gambar di atas, pernyataan yang benar adalah ... 137 a. Satu pixel didefinisikan pada posisi (3,4) b. Satu pixel didefinisikan pada posisi (4,3) c. Satu pixel pada posisi(3,4) dapat membentuk gambar d. Satu pixel pada posisi(4,3) dapat membentuk gambar 4. Bidang tertutup yang dibentuk minimal 3 simpul (titik) yang terhubung oleh garis (sisi) dan garis-garis tersebut tidak saling memotong merupakan bidang ... a. Poligon b. Polyline c. Multigon d. Oktogonal 5. Garis a arah horisontal mempunyai panjang 400, dan garis b arah vertikal mempunyai tinggi 320. Tentukan pasangan titik koordinat untuk menggambar garis a dan garis b ... . Mengambar Garis (0,480) (320,100) a (100,240) b (0,0) (640,0) a. Garis a(100,240)(500,240) dan Garis b(320,100)(320,420) b. Garis a(100,240)(240,500) dan Garis b(320,100)(420,320) c. Garis a(100,240)(400,240) dan Garis b(320,100)(320,320) d. Garis a(100,240)(240,400) dan Garis b(320,100)(320,320) 6. Gambar dibawah ini adalah proses .... pada bidang komputer grafik 138 a. Translasi b. Transformasi c. Rotasi d. Skala 7. Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx adalah translasi menurut sumbu x dan ty adalah translasi menurut sumbu y. Koordinat baru titik yang ditranslasi adalah ... a. x’=x + tx dan y’=y + ty sehingga titik setelah translasi adalah (x’,y’) b. x’=x-tx dan y’=y - ty sehingga titik setelah translasi adalah (x’,y’) c. x’=x * tx dan y’=y * ty sehingga titik setelah translasi adalah (x’,y’) d. x’=x +(2 tx) dan y’=y +(2 ty) sehingga titik setelah translasi adalah (x’,y’) 8. Tiga elemen dasar dalam sistem koordinat 3D yang diperlukan dalam grafika komputer adalah ... a. Titik 3D, vektor 3D, dan matrik 3D b. Translasi 3D, rotasi 3D, dan skala 3D c. Titik 3D, translasi 3D, dan rotasi 3D d. Vektor 3D, translasi 3D, dan rotasi 3D 9. Gambar diatas adalah proses pembuatan objek 3D dari sebuah kubus, Hitunglah jumlah titik, sisi(face), dan jumlah titik setiap face .... a. 8 titik, 6 face , dan setiap face terdiri dari 4 vertex 139 b. 8 titik, 6 face , dan setiap face terdiri dari 2 vertex c. 8 titik, 6 face , dan setiap face terdiri dari 6 vertex d. 8 titik, 6 face , dan setiap face terdiri dari 8 vertex 10. Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx adalah translasi menurut sumbu x dan ty adalah translasi menurut sumbu y. Koordinat baru titik yang ditranslasi adalah ... a. x’=x + tx dan y’=y + ty sehingga titik setelah translasi adalah (x’,y’) b. x’=x-tx dan y’=y - ty sehingga titik setelah translasi adalah (x’,y’) c. x’=x * tx dan y’=y * ty sehingga titik setelah translasi adalah (x’,y’) d. x’=x +(2 tx) dan y’=y +(2 ty) sehingga titik setelah translasi adalah (x’,y’) 140 GLOSARIUM 3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan teknik penggambaran yg berpatokan pada titik koordinat sumbu x(datar), sumbu y(tegak), dan sumbu z(miring). Alogitma DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δ x dan Δ y, menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Flat shading mempunyai adalah salah satu teknik shading dimana satu face warna yang sama. Pada metode ini sebuah intensitas tunggal dihitung untuk masing-masing Polygon, semua titik pada permukaan Polygon dipaparkan dengan nilai intensitas yang sama. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis. Untuk menggambar titik (point) digunakan perintah point(x,y) dimana nilai x dan y adalah koordinat pada layar. Grafika Komputer adalah proses untuk menciptakan suatu gambar berdasarkan deskripsi obyek maupun latar belakang yang terkandung pada suatu gambar. Grafis komputer adalah suatu bidang ilmu yang mempelajari bagaimana membangun grafik (gambar) baik 2D maupun 3D yang kelihatan nyata dengan menggunakan komputer. Salah satu bidang grafika komputer yang sangat terkenal adalah desain grafis Kamera dalam grafika 3D biasanya tidak didefinisikan secara fisik, namun hanya untuk menentukan sudut pandang kita pada sebuah world, sehingga sering disebut virtual camera. 141 Lightweight Java Game Library (LWJGL) merupakan salah satu jenis game engine yang berjalan dengan dasar bahasa java (open source dan free). Game engine sendiri merupakan perangkat lunak yang digunakan khusus dalam pembuatan video game. Lighting atau Pencahayaan pada grafik komputer bertujuan untuk memberikan efek nyata pada objek. Efek nyata disini berarti, cahaya yang disebarkan ke objek dapat memberikan efek cahaya yang sesungguhnya. Objek grafik 2 dimensi adalah sekumpulan titik-titik 2 dimensi yangdihubungkan dengan garis lurus, baik berupa polyline, polygon atau kurva. OpenGL (Open Graphics Library) adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan komputer grafis 2D dan 3D. Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor). Polyline adalah suatu fungsi yang digunakan untuk menggambarkan objek 2D yang sudah didefinisikan di depan, dimana setiap titik pada objek mulai titik ke 0, 1, 2,3,..., n dihubungkan dengan garis lurus sehingga membentuk kurva terbuka. Primitive Drawing merupakan cara mudah untuk menggambar pada layar monitor menggunakan teori geometri sederhana. Macam-macam primitive drawing seperti menggambar sebuah titik, garis, atau gabungan antar keduanya. Rendering merupakan salah satu teknik pencitraan objek 3 dimensi untuk mendapatkan image yang realistis dengan penambahan beberapa efek, seperti pencahayaan dan shading. Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami 142 pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke atas bawah. Skala adalah suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. sx adalah faktor penskalaan menurut sumbu x dan sy faktor penskalaan menurut sumbu y. Texturing merupakan proses mewarnai, memberi tekstur, atau memberi efek material pada sebuah model 3D. Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene Titik (Point) atau dalam istilah komputer dikenal dengan Pixel (Picture Element) adalah elemen terkecil dari sebuah gambar atau pola dalam tampilan komputer. Kumpulan dari pixel membentuk sebuah gambar atau pola yang dapat dikenali dalam variasi warna dan jumlah yang banyak. Kumpulan pixel dalam jumlah panjang dan lebar tertentu disebut dengan resolusi. Vertek adalah titik dalam 3 dimensi yang terdiri dari (x,y,z) 143 144 DAFTAR PUSTAKA Achmad Basuki, Nana Ramadijanti. 2006. Grafika Komputer - Teori dan Implementasinya. Yogyakarta Andi Offset Chua Hock-Chuan. 2012. 3D Graphics with OpenGL. Basic Theory. Listian Pratomo. 2007. Membuat Grafik di Java. www.ilmukomputer.com Maliki, Irfan.2010. Grafika Komputer. Yogyakarta Andi Offset. Modul 4 Grafika Komputer Universitas Negeri Malang: Transformasi Objek. 2013. Prihatmanto, Ary Setijadi. 2007. EC5130 – Grafika Komputer dan Pemrograman GPU. Suplemen Diktat Kuliah. OpenGL Tutorial dengan GLUT: Fixed Pipeline. ______________.2015. Learning LWJGL. http://wiki.lwjgl.org/wiki/Learning_LWJGL (online). ______________.2006. Grafik Komputer :Transformasi Geometri2 Dimensi. Universitas Gunadarma ______________.Diktat Kuliah Grafika Kompute BAB 2 Transformasi 2D .http://pdf.nscpolteksby.ac.id/2-Transformasi%202D-20140317.pdf 145