KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI BADAN STANDAR, KURIKULUM, DAN ASESMEN PENDIDIKAN PUSAT PERBUKUAN Informatika Informatika Hanson Prihantoro Putro, dkk. 2022 SMP/MTs KELAS IX
Hak Cipta pada Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi Republik Indonesia Dilindungi Undang-Undang Disclaimer: Buku ini disiapkan oleh Pemerintah dalam rangka pemenuhan kebutuhan buku pendidikan yang bermutu, murah, dan merata sesuai dengan amanat dalam UU No. 3 Tahun 2017. Buku ini disusun dan ditelaah oleh berbagai pihak di bawah koordinasi Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi. Buku ini merupakan dokumen hidup yang senantiasa diperbaiki, diperbarui, dan dimutakhirkan sesuai dengan dinamika kebutuhan dan perubahan zaman. Masukan dari berbagai kalangan yang dialamatkan kepada penulis atau melalui alamat surel buku@kemdikbud.go.id diharapkan dapat meningkatkan kualitas buku ini. Informatika untuk SMP/MTs Kelas IX Penulis Hanson Prihantoro Putro, Dean Apriana Ramadhan, Irya Wisnubhadra, Maresha Caroline Wijanto, Vania Natali, Adam Mukharil Bachtiar, Mewati Ayub, Wahyono, Natalia, Husnul Hakim, Musthofa, Auzi Asfarian, Kurniawan Kartawidjaja. Penelaah Inggriani, Paulina Heruningsih Prima Rosa, Adi Mulyanto Penyelia/Penyelaras Supriyatno E. Oos M. Anwas Futri F. Wijayanti Ilustrator Rana Rahmat Natawigena Editor Christina Tulalessy Desainer Nurul Fatonah Penerbit Pusat Perbukuan Badan Standar, Kurikulum, dan Asesmen Pendidikan Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi Kompleks Kemdikbudristek Jalan RS. Fatmawati, Cipete, Jakarta Selatan Cetakan pertama, 2022 ISBN 978-602-244-427-5 (no.jil.lengkap) ISBN 978-602-244-730-6 (jil. 3) Isi buku ini menggunakan huruf Newsreader 11/15 pt, Production Type. xvi, 304 hlm.: 17,6 x 25 cm.
Kata Pengantar Pusat Perbukuan; Badan Standar, Kurikulum, dan Asesmen Pendidikan; Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi memiliki tugas dan fungsi mengembangkan buku pendidikan pada satuan Pendidikan Anak Usia Dini, Pendidikan Dasar, dan Pendidikan Menengah. Buku yang dikembangkan saat ini mengacu pada Kurikulum Merdeka, dimana kurikulum ini memberikan keleluasaan bagi satuan/program pendidikan dalam mengembangkan potensi dan karakteristik yang dimiliki oleh peserta didik. Pemerintah dalam hal ini Pusat Perbukuan mendukung implementasi Kurikulum Merdeka di satuan pendidikan Pendidikan Anak Usia Dini, Pendidikan Dasar, dan Pendidikan Menengah dengan mengembangkan Buku Teks Utama. Buku teks utama merupakan salah satu sumber belajar utama untuk digunakan pada satuan pendidikan. Adapun acuan penyusunan buku teks utama adalah Capaian Pembelajaran PAUD, SD, SMP, SMA, SDLB, SMPLB, dan SMALB pada Program Sekolah Penggerak yang ditetapkan melalui Keputusan Kepala Badan Penelitian dan Pengembangan dan Perbukuan Nomor 028/H/KU/2021 Tanggal 9 Juli 2021. Sajian buku dirancang dalam bentuk berbagai aktivitas pembelajaran untuk mencapai kompetensi dalam Capaian Pembelajaran tersebut. Buku ini digunakan pada satuan pendidikan pelaksana implementasi Kurikulum Merdeka. Sebagai dokumen hidup, buku ini tentu dapat diperbaiki dan disesuaikan dengan kebutuhan serta perkembangan keilmuan dan teknologi. Oleh karena itu, saran dan masukan dari para guru, peserta didik, orang tua, dan masyarakat sangat dibutuhkan untuk pengembangan buku ini di masa yang akan datang. Pada kesempatan ini, Pusat Perbukuan menyampaikan terima kasih kepada semua pihak yang telah terlibat dalam penyusunan buku ini, mulai dari penulis, penelaah, editor, ilustrator, desainer, dan kontributor terkait lainnya. Semoga buku ini dapat bermanfaat khususnya bagi peserta didik dan guru dalam meningkatkan mutu pembelajaran. Jakarta, Juni 2022 Kepala Pusat, Supriyatno NIP 19680405 198812 1 001 iii
Prakata Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena berkah dan rahmat-Nya, buku siswa mata pelajaran Informatika Kelas IX ini dapat disusun dan diselesaikan dengan baik. Buku siswa ini merupakan bahan ajar mata pelajaran Informatika yang dapat digunakan sebagai panduan siswa di jejang Sekolah Menengah Pertama agar siswa dapat memahami dan menguasai keterampilan Informatika yang diharapkan. Informatika adalah bidang ilmu mengenai studi, perancangan, dan pembuatan sistem komputasi, serta prinsip-prinsip yang menjadi dasar perancangan tersebut. Seperti pada kelas VII dan VIII, mata pelajaran Informatika dibagi atas beberapa elemen yaitu: Berpikir Komputasional (BK), Teknologi Informasi dan Komunikasi (TIK), Sistem Komputer (SK), Jaringan Komputer dan Internet (JKI), Analisis Data (AD), Algoritma dan Pemrograman (AP), Dampak Sosial Informatika (DSI), dan Praktika Lintas Bidang (PLB). Dalam hal ini, Berpikir Komputasional (computational thinking) menjadi landasan berpikir untuk belajar Informatika. Oleh karena itu, isi materi dari setiap bab yang terdiri atas teori/konsep terkait bidang-bidang tersebut disajikan untuk mengasah metode berpikir siswa untuk menganalisis, memodelkan dan menyelesaikan persoalan. Materi-materi tersebut didukung dengan berbagai aktivitas yang dapat dilakukan oleh siswa, baik secara individu maupun berkelompok, baik secara plugged (dengan komputer) maupun unplugged (tanpa komputer). Harapannya siswa dapat memahami konsep dan implementasi Informatika dengan lebih baik dan bermakna. Materi dan aktivitas yang disampaikan sudah disesuaikan dengan kebutuhan siswa kelas IX yaitu sebagai pengantar menuju jenjang berikutnya di kelas X. Akhir kata, penulis berharap semoga buku siswa ini dapat bermanfaat dan digunakan untuk pendamping siswa belajar Informatika dengan sebaik- baiknya. Setiap saran dan kritik yang membangun sangat penulis harapkan untuk meningkatkan kualitas buku ini agar bisa lebih baik lagi. Jakarta, Juli 2021 Penulis iv
Daftar Isi Kata Pengantar ... iii Prakata ... iv Daftar Isi ... v Daftar Gambar ... vii Daftar Tabel ... xii Petunjuk Penggunaan Buku ... xiii Bab 1 Informatika SMP ... 1 A. Apa itu Informatika? ... 3 B. Informatika dan Profil Pelajar Pancasila ... 4 C. Apa yang dipelajari pada Mata Pelajaran Informatika SMP? ... 5 D. Rencana Pembelajaran Informatika Kelas IX ... 16 Bab 2 Berpikir Komputasional ... 25 A. Struktur Data ... 27 B. Ekspresi dan Operasi Logika ... 31 C. Algoritma ... 33 Bab 3 Teknologi Informasi dan Komunikasi ... 39 A. Integrasi Konten Aplikasi Perkantoran ... 41 B. Blog ... 54 C. Vlog ... 60 Bab 4 Sistem Komputer ... 65 Bab 5 Jaringan Komputer dan Internet ... 67 Bab 6 Analisis Data ... 69 Bab 7 Algoritma dan Pemrograman ... 71 A. Scratch vs Blockly ... 73 B. Literasi Numerik ... 81 C. Modularisasi Program ... 83 D. Modularisasi Program (2) ... 97 E. Literasi Sains ... 106 F. Konverter Sistem Bilangan ... 111 v
G. Penambahan Parity Bit pada Sistem Bilangan Biner ... 134 H. Wrap Up Konverter Bilangan ... 145 I. Modul Tambahan - Modularisasi Unplugged ... 151 J. Modul Tambahan - Pemrograman dengan Ozobot... 151 Bab 8 Dampak Sosial Informatika ... 163 A. Keamanan Data dan Informasi ... 165 B. Perkakas untuk Melindungi Data dan Informasi ... 186 C. Meningkatkan Keamanan Informasi ... 194 Bab 9 Praktik Lintas Bidang Informatika... 205 A. IoT Sensor Sederhana ... 212 B. IoT Sensor Cahaya Tanaman ... 221 C. IoT Sensor Kelembapan Tanah ... 247 D. Robot Line Follower ... 262 Glosarium ... 271 Daftar Pustaka ... 277 Daftar Sumber Gambar ... 279 Indeks ... 280 Profil Penulis ... 282 Profil Penelaah ... 299 Profil Editor ... 302 Profil Ilustrator ... 303 Profil Desainer ... 304 vi
Daftar Gambar Gambar 1.1 Peta Konsep Informatika SMP ... 2 Gambar 1.2 Bangunan Pilar Informatika ... 5 Gambar 1.3 Contoh Buku Kerja Siswa ... 24 Gambar 2.1 Peta Konsep Berpikir Komputasional... 26 Gambar 2.2 Contoh Struktur Data Tree (Pohon) ... 27 Gambar 2.3 Contoh Struktur Data Graf ... 28 Gambar 2.4 Contoh Struktur Data Graf ... 28 Gambar 2.5 Contoh Ekspresi Aritmatika ... 31 Gambar 2.6 Hiasan Dinding Hitam Putih ... 32 Gambar 3.1 Peta Konsep Teknologi Informasi dan Komunikasi... 40 Gambar 3.2 Aplikasi Google Docs (kiri) dan Office 365 (kanan) ... 42 Gambar 3.3 Antarmuka pengguna dengan perangkat lunak perkantoran ... 43 Gambar 3.4 Contoh grafik pemasukan uang kas kelas ... 49 Gambar 3.5 Presentasi Grafik di Aplikasi Presentasi ... 50 Gambar 3.6 Layanan blog oleh berbagai situs ... 54 Gambar 3.7 Contoh Blog Catatan Pribadi Menggunakan Layanan Gratis Wordpress ... 55 Gambar 3.8 Contoh Blog Catatan Pribadi Menggunakan Layanan Hosting Berbayar ... 55 Gambar 3.9 Kategori Konten pada Blog dengan Tema Masakan ... 56 Gambar 3.10 Antarmuka proses registrasi blog pada layanan Wordpress ... 58 Gambar 3.11 Tampilan Halaman Web OpenShot ... 60 Gambar 3.12 Tampilan Halaman Youtube Creator Academy ... 61 Gambar 4.1 Ilustrasi Penggunaan-Penggunaan Komputer ... 65 Gambar 4.2 Posisi Duduk yang Benar Ketika Menggunakan Komputer ... 66 Gambar 5.1 Ilustrasi Penggunaan Internet ... 68 vii
Gambar 6.1 Ilustrasi Penerapan Analisis Data dalam Kehidupan Sehari-hari ... 69 Gambar 7.1 Peta Konsep Algoritma Pemrograman ... 72 Gambar 7.2 Ilustrasi Perhitungan Nilai Siswa ... 81 Gambar 7.3 Mainan Balok Kayu ... 83 Gambar 7.4 Alur Program Perhitungan f(x) ... 92 Gambar 7.5 Percakapan Andi dan Ibu ... 99 Gambar 7.6 Tampilan Grafik f(x) ... 101 Gambar 7.7 Arah Koordinat pada Bidang Gambar Blockly ... 101 Gambar 7.8 Peningkatan Total Kasus dan Harian COVID-19 di Indonesia 107 Gambar 7.9 Colors windows pada komputer ... 132 Gambar 7.10 Contoh template poster ... 148 Gambar 7.11 Tampilan Aplikasi OzoBlockly ... 152 Gambar 7.12 Kategori Fitur Ozobot pada Tingkat 2 ... 153 Gambar 7.14 Kategori Fitur Ozobot pada Tingkat 3 ... 158 Gambar 7.15 Contoh peta dan benda kecil ... 161 Gambar 8.1 Peta Konsep Dampak Sosial Informatika ... 164 Gambar 8.2 Logo Badan Siber dan Sandi Negara ... 170 Gambar 8.3 Logo Peretas Topi Putih dan Topi Hitam ... 173 Gambar 8.4 Kuda Troya ... 174 Gambar 8.5 Tatakan Curah Ide ... 183 Gambar 8.6 Cara kerja enkripsi ... 186 Gambar 8.7 Cara Kerja Antivirus ... 189 Gambar 8.10 Contoh Tampilan Pengguna untuk Pengaturan Cookie ... 198 Gambar 8.11 Contoh Tampilan Pemberitahuan Pengguna Cookie ... 198 Gambar 8.12 Contoh Pengaturan Fitur Cookie pada Peramban Chrome ... 199 Gambar ‎9.1 Peta Konsep Praktik Lintas Bidang ... 206 Gambar 9.2 Pin Arduino Uno ... 209 Gambar 9.3 Lampu LED ... 210 Gambar 9.4 Breadboard ... 210 viii
Gambar 9.5 Kabel Jumper Male to Male ... 211 Gambar 9.6 PictoBlox IDE ... 211 Gambar 9.7 Peta Komponen IoT Lampu Lalu Lintas ... 212 Gambar 9.8 Memilih Board di PictoBox ... 214 Gambar 9.9 Memilih papan Arduino Uno ... 215 Gambar 9.10 Letak block code Arduino Uno ... 215 Gambar 9.11 Wait for 2 Second ... 216 Gambar 9.12 Upload kode satu LED ... 218 Gambar 9.13 Upload Code Arduino Lampu Lalu Lintas ... 221 Gambar ‎9.14 Peta Komponen IoT Sensor Cahaya Tanaman ... 222 Gambar 9.15 Modul Sensor DHT11 ... 223 Gambar 9.16 Kabel Jumper Male to Female ... 224 Gambar 9.17 Modul Sensor LDR ... 225 Gambar 9.18 Modul Breadboard Power Supply ... 226 Gambar 9.19 Adaptor untuk Arduino ... 226 Gambar 9.20 LCD 16 x 2 ... 227 Gambar 9.21 Pin Modul I2C ... 227 Gambar 9.22 Modul I2C yang dipasang pada LCD ... 228 Gambar 9.23 Power supply dipasang dengan memerhatikan polaritasnya ... 229 Gambar 9.24 Pin DHT11 yang dipasang ke Arduino ... 229 Gambar 9.25 Pemasangan kabel Arduino ... 230 Gambar 9.26 Memilih "Connect" ... 231 Gambar 9.27 Drag & drop blok When Clicked ... 231 Gambar 9.28 Drag & drop blok Forever ... 231 Gambar 9.29 Drag & drop blok SayHello ... 232 Gambar 9.30 Drag & drop blok join ke dalam blok SayHello ... 232 Gambar 9.31 Drag & drop blok Join ke dalam blok Join ... 233 Gambar 9.32 Drag & drop blok GetTemperature ... 233 Gambar 9.33 Kode lengkap untuk menampilkan suhu ... 234 ix
Gambar 9.34 Angka pin yang dipilih sesuai pin Arduino... 234 Gambar 9.35 Ubah Nama Label ... 235 Gambar 9.36 Baris kode untuk menampilkan kelembapan ruangan ... 235 Gambar 9.37 Tampilan setelah diklik ... 235 Gambar 9.38 Rangkaian lengkap LCD, dan breadboard ke papan Arduino .. 238 Gambar 9.39 Membuat File baru di PictoBlox ... 239 Gambar 9.40 Pengaturan untuk menyimpan proyek sebelumnya ... 239 Gambar 9.41 Mode Upload dipilih ... 239 Gambar 9.42 Ikon pensil dinyalakan ... 239 Gambar 9.43 Melihat alamat I2C pada Serial Monitor ... 240 Gambar 9.44 Drag & drop blok Initialise 16 × 2 I2C display at ... 241 Gambar 9.45 Gambar blok Say Join Suhu Ruangan yang dikeluarkan ... 241 Gambar 9.46 Drag & drop set cursor at column 242 Gambar 9.47 Drag & drop blok wait a seconds 242 Gambar 9.48 Blok set cursor at column dipasang tiga kali ... 243 Gambar 9.49 Drag & drop ke dalam blok forever ... 243 Gambar 9.50 Drag & drop blok Join ke dalam blok Write ... 244 Gambar 9.51 Ubah blok Wait menjadi 3 detik ... 244 Gambar 9.52 Ubah ke Mode Upload ... 245 Gambar 9.53 Notifikasi upload berhasil ... 247 Gambar 9.54 Peta Komponen Kelembapan Tanah ... 247 Gambar 9.55 Modul Sensor Kelembapan ... 248 Gambar 9.56 Pin sensor Modul Kelembapan ... 249 Gambar 9.57 Modul Sensor Hujan ... 250 Gambar 9.58 Pin Modul Sensor Hujan ... 250 Gambar 9.59 Membuat dua variabel ... 254 x
Gambar 9.60 Pembuatan variabel berhasil ... 255 Gambar 9.61 Drag & Drop Read Analog Sensor ... 255 Gambar 9.62 Soil Moisture dipilih ... 256 Gambar 9.63 Drag & drop blok Map ... 256 Gambar 9.64 Drag & drop Nilai Sensor ... 256 Gambar 9.65 Drag & drop blok SayHello ... 257 Gambar 9.66 Drag & drop blok join 2x ... 257 Gambar 9.67 Drag & drop blok cast ... 258 Gambar 9.68 Drag & drop blok Kelembapan Tanah ... 258 Gambar 9.69 Peta Komponen IoT Line Follower ... 262 Gambar 9.70 Prinsip Kerja Sensor Pendeteksi Garis ... 265 xi
Daftar Tabel Tabel 1.1 Daftar Materi dan Aktivitas Informatika Kelas IX ... 16 Tabel 1.2 Contoh Tabel Rencana Urutan Aktivitas Pembelajaran Satu Tahun ... 20 Tabel 3.1 Analisis konten dan Aplikasi yang dapat membuat konten ... 43 Tabel 3.2 Contoh Desain Tabel Pencatatan Arus Kas Kelas ... 48 Tabel 3.3 Contoh hasil pengisian data ke tabel di aplikasi pengolahan lembar kerja ... 48 Tabel 7.1 Perbandingan Blok-Blok dalam Scratch dan Blockly ... 76 Tabel 7.2 Tabel Eksperimen Terkait Modul F1 ... 92 Tabel 7.3 Eksperimen terhadap Parameter Persamaan 2 ... 94 Tabel 7.4 Eksperimen Fungsi Kuadrat ... 100 Tabel 9.1 Bagian-Bagian dari Papan Arduino Uno ... 209 Tabel 9.2 Alat, Software, dan Kegunaannya ... 222 Tabel 9.3 Pin dan Fungsinya ... 224 Tabel 9.5 Pin dan Kegunaanya pada Modul I2C ... 227 Tabel 9.6 Alat dan Software untuk Kelembapan Tanah ... 248 Tabel 9.7 Penggunaan Modul Kelembapan Tanah ... 249 Tabel 9.8 Penggunaan Modul Sensor Hujan ... 250 Tabel 9.9 Alat dan Bahan Pembuatan Robot Line Follower ... 262 Tabel 9.9 Pin dalam Modul Dual H-Bridge L298N ... 264 Tabel 9.10 Pin pada Modul Sensor Pendeteksi Garis ... 265 xii
Petunjuk Penggunaan Buku Buku teks pelajaran Informatika dirancang sebagai pendamping siswa dalam melakukan aktivitas dan merangsang siswa untuk dapat melakukan eksplorasi secara mandiri. Bagian-bagian penting dari buku ini dapat dijadikan acuan bagi siswa untuk belajar adalah: Tujuan Pembelajaran Berisi poin utama yang akan dicapai saat proses pembelajaran. Terdiri dari bentuk poin-poin ringkas yang digunakan siswa sebagai titik fokus pembelajaran. Apersepsi Bagian ini merupakan perumpamaan yang diberikan kepada siswa dalam rangka mendekatkan konsep yang akan dipelajari dengan kehidupan sehari- hari yang dialami oleh para siswa. Pertanyaan Pemantik Bagian ini merupakan daftar pertanyaan yang dapat dijawab oleh siswa sebagai bagian awal proses pembelajaran. Siswa kemudian mendiskusikannya bersama guru di kelas. Peta Konsep Bagian ini berisi gambaran umum tentang konsep yang akan dipelajari oleh siswa setiap bab. Berisi daftar kata kunci pada setiap sub-bab yang akan dipelajari oleh siswa. xiii
Kebutuhan sarana dan prasarana Bagian ini merupakan daftar sarana dan prasarana yang perlu disediakan untuk menunjang aktivitas kelas. Kata Kunci Merupakan daftar istilah yang dapat digunakan oleh siswa untuk melakukan eksplorasi lebih lanjut. Kegiatan Inti Bagian ini merupakan inti dari proses pembelajaran. Bagian ini berisi landasan teori dan metode penyampaian materi yang dapat digunakan siswa sebagai pijakan langkah-langkah melakukan aktivitas belajar di kelas. Bagian ini secara detail berisi rangkuman materi yang diberikan serta daftar aktivitas yang dilakukan oleh siswa selama proses pembelajaran. Ayo, Kita Berlatih Bagian ini merupakan sarana latihan siswa dengan pendampingan oleh guru. Siswa akan berlatih menyelesaikan permasalahan bersama dengan guru. Bagian ini merupakan kolaborasi pemecahan masalah antara guru dan murid. Ayo, Kita Kerjakan Pembelajaran dilakukan berbasis aktivitas. Bagian ini merupakan latihan yang diberikan kepada siswa setelah guru menyampaikan pertanyaan pemantik dan penjelasan pada kegiatan inti. Aktivitas dapat berupa aktivitas mandiri yang dilakukan oleh siswa, atau simulasi yang dilakukan oleh guru. Terdapat aktivitas individu dan aktivitas kelompok yang dilakukan oleh siswa. Pada bagian ini, aktivitas dilakukan secara mandiri oleh siswa. xiv
Ayo, Kita Diskusikan Bagian ini berisi tentang topik yang digunakan sebagai bahan diskusi sesama siswa. Ayo, Kita Renungkan Bagian ini mengajak siswa untuk berpikir kritis seputar materi yang diajarkan. Siswa dapat melakukan observasi atau eksplorasi lebih lanjut dengan menggunakan media ajar lain. Tahukah Kalian Kumpulan fakta dan suplemen informasi menarik terkait dengan materi yang disampaikan Ingin Tahu Lebih Bagian ini berisi daftar sumber referensi yang dapat digunakan oleh siswa sebagai bahan pendamping pembelajaran. Referensi ini dapat dieksplorasi secara mandiri oleh siswa. xv
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Hanson Prihantoro Putro ISBN: 978-602-244-730-6 Bab 1 Informatika SMP (Sumber: Tujuan Pembelajaran Siswa dapat menjelaskan pentingnya informatika, merefleksikan dan mengoneksikan konsep informatika dengan praktik pembelajaran yang sudah dilakukan pada kelas VII dan VIII, serta menyiapkan diri untuk pelajaran Informatika Kelas IX. Siswa juga mampu menjelaskan kontribusi informatika ke profil Pelajar Pancasila dan mata pelajaran lain. 1
Pertanyaan Pemantik Informatika memiliki sembilan elemen yang membangun sebuah "bangunan" Informatika. Apa saja sembilan elemen tersebut? Bangunan itu mencerminkan apa? Peta Konsep Gambar 1.1 Peta Konsep Informatika SMP 2
Apersepsi Informatika adalah salah satu disiplin ilmu yang banyak dipakai pada kehidupan kita sehari-hari. Konsep dan ilmu Informatika sangat bermanfaat khususnya untuk menyelesaikan berbagai permasalahan yang kita hadapi. Ingatkah kalian di kelas VII dan VIII, kalian belajar Informatika (dengan sembilan elemennya) melalui pembuatan kue, gelang, permainan kartu, alat musik, dan lain sebagainya. Di kelas IX ini, kalian akan kembali mendalami konsep dan keilmuan Informatika tersebut. Namun sebelumnya, kalian perlu mengingat kembali apa itu Informatika dan hubungannya dengan Profil Pelajar Pancasila, benang merah keterhubungan setiap elemen Informatika yang dipelajari mulai kelas VII dan VIII, serta agar kalian lebih siap untuk memulai kegiatan pembelajaran Informatika kelas IX. Kata Kunci Peta pikiran, Informatika, Berpikir Komputasional (BK), Teknologi Informasi dan Komunikasi (TIK), Sistem Komputer (SK), Jaringan Komputer dan Internet (JKI), Analisis Data (AD), Algoritma dan Pemrograman (AP), Dampak Sosial Informatika (DSI), Praktika Lintas Bidang (PLB), Profil Pelajar Pancasila. A. Apa itu Informatika? Informatika adalah disiplin ilmu mengenai studi, perancangan, dan pembuatan sistem komputasi, serta prinsip-prinsip yang menjadi dasar perancangan tersebut. Informatika mencakup science dan engineering. Beberapa prinsip yang perlu dipahami oleh siswa dalam mempelajari Informatika adalah seperti berikut. 1. 2. Informatika didasari berpikir komputasional (computational thinking) sebagai landasan berpikir. Berpikir merupakan elemen paling penting dalam belajar. Informatika bukan hanya memakai gawai atau komputer, tetapi juga memakai aplikasi (perangkat lunak) dan sistem komputasi. Informatika adalah salah satu cabang ilmu seperti halnya matematika, biologi, dan ekonomi. 3
3. 4. Informatika terdiri atas konsep dan praktik, dikemas dalam aktivitas pembelajaran yang diharapkan akan menjadi pengalaman belajar yang menyenangkan, bermakna, dan berkesan. Informatika merupakan ilmu yang berinteraksi dengan semua bidang lain. Oleh sebab itu, setelah belajar Informatika, kalian perlu memikirkan: Apa kaitannya dengan mata pelajaran lain? Apa yang kudapatkan pada pembelajaran informatika? Apa yang dapat membantuku untuk memahami mata pelajaran lain dengan lebih baik dan sebaliknya? 5. Pembelajaran Informatika akan mendidik kalian agar suatu hari menjadi pencipta ide, karya digital kreatif, aplikasi atau sistem komputasi di dunia digital, bukan hanya sebagai pengguna teknologi atau konsumen produk. 6. Pembelajaran Informatika ini dilakukan untuk pendalaman konsep informatika, membentuk keterampilan dan karakter yang mencerminkan Profil Pelajar Pancasila. Tidak terlalu cepat berteknologi. Yang penting berpikir! B. Informatika dan Profil Pelajar Pancasila Semua pelajaran dalam kurikulum Indonesia ditujukan untuk membentuk Profil Pelajar Pancasila. Lalu, apa itu definisi Profil Pelajar Pancasila? Rumusan Profil Pelajar Pancasila adalah: "Pelajar Indonesia merupakan pelajar sepanjang hayat yang memiliki kompetensi global dan berperilaku sesuai nilai-nilai Pancasila." Pernyataan ini memuat tiga kata kunci: pelajar sepanjang hayat, kompetensi global, dan pengamalan nilai-nilai Pancasila. Profil tersebut dinyatakan dalam 6 dimensi, yaitu: Beriman, bertakwa kepada Tuhan YME, dan berakhlak mulia; berkebinekaan global; bergotong royong, mandiri, bernalar kritis, dan kreatif. Informatika akan membantu kalian untuk menyiapkan diri sebagai warga dunia digital, yaitu dunia maya melalui internet. Di dunia digital, warga digital juga perlu membangun kebiasaan-kebiasaan baik yang menumbuhkan karakter warga digital yang baik pula. Kehidupan dunia digital sejalan dengan dunia nyata, kalian harus berkarakter baik di dunia nyata maupun dunia digital. Bagi pelajar Indonesia, karakter yang baik ini dirumuskan sebagai Profil Pelajar Pancasila. Melalui mata pelajaran informatika, kalian juga akan belajar menumbuhkan karakter-karakter tersebut, warga dunia nyata maupun sebagai warga dunia 4
maya. Saat membahas materi tentang berpikir komputasional, analisis data, pemrograman, dan dampak sosial informatika, kalian akan mengasah kemampuan bernalar kritis dan kreatif. Dalam proses belajar berbagai materi dalam informatika, kalian akan belajar untuk mandiri saat mengerjakan tugas- tugas yang diberikan oleh guru. Kalian juga akan mengembangkan kemampuan bergotong royong, bernalar kritis, dan kreatif dalam berdiskusi dan berkreasi menyelesaikan atau membuat proyek secara berkolaborasi dalam kelompok. Dalam sebuah kelompok, kalian mungkin akan bekerja dengan teman yang berasal dari berbagai daerah, bahkan tidak mustahil kalian bisa bertemu dan berkolaborasi dengan teman-teman dari berbagai negara melalui internet (dunia maya). Saat itulah, kalian akan belajar menumbuhkan toleransi dan saling menghargai teman yang beraneka ragam latar belakangnya. Hal itu tentu dilakukan karena kita meyakini bahwa semua makhluk ciptaan Tuhan YME itu baik dan harus dihormati. Cara berkomunikasi yang baik dengan sesama juga menunjukkan akhlak yang mulia. C. Apa yang Dipelajari pada Mata Pelajaran Informatika SMP? Melalui bab ini, kalian belajar mengoneksikan pengalaman belajar Informatika di masa lalu untuk dirajut dengan apa yang akan dipelajari satu tahun ke depan. Bab ini merupakan peta perjalanan belajar Informatika untuk pelajar SMP. Ingatkah kalian akan bangunan Informatika? Gambar 1.2 Bangunan Pilar Informatika 5
Ayo, kita simak dan ingat kembali, apa yang sudah kalian pelajari melalui aktivitas-aktivitas pada buku Informatika Kelas VII dan Kelas VIII, serta apa yang akan dipelajari di kelas IX dengan buku ini! 1. Berpikir Komputasional Ayo, Mengingat Di kelas VII, kalian telah mengenal dasar penyelesaian permasalahan dan empat fondasi dari berpikir komputasional lewat contoh-contoh kehidupan sehari- hari, yaitu Dekomposisi, Abstraksi, Algoritma dan Pengenalan Pola. Kalian belajar memikirkan bagaimana algoritma dieksekusi sehingga mendapatkan hasil yang sesuai dengan urutan instruksi dan syarat-syarat yang berlaku. Aktivitas yang sudah kalian lakukan antara lain seperti berikut. 1. Mencari solusi yang paling optimal dari sebuah permasalahan, misalnya melalui kasus waktu tersingkat yang diperlukan untuk mengisi air ke ember. 2. Berkenalan dengan struktur data linked-list melalui permainan menyusun huruf. 3. Memodelkan permasalahan sederhana agar penyelesaian masalah berjalan efisien, untuk pemodelan yang persoalan yang sifatnya boolean (biner) dan operasi logika OR. Ayo, Mengingat Di kelas VIII, kalian telah mempelajari konsep fungsi (input - proses - output) dan mengeksekusi serangkaian langkah yang terdiri atas beberapa kali pemanggilan fungsi yang sama. Kalian diminta untuk menentukan langkah yang tepat untuk menghasilkan sebuah output yang sudah ditentukan (algoritma). Kalian juga belajar beberapa representasi data, yaitu himpunan dan sistem bilangan (biner, oktal, desimal) serta menyelesaikan permasalahan yang menyangkut himpunan yang memerlukan penalaran logika. Kalian sudah mengenal dan memakai struktur data stack untuk mengubah ekspresi infix menjadi postfix. Sadarkah kalian bahwa dengan bekal tersebut, kalian akan terbiasa dengan sistem bilangan apa pun dan ekspresi dalam bentuk apa pun! Apa Selanjutnya? Di kelas IX, kalian akan berlatih menyelesaikan persoalan yang melibatkan struktur data lebih kompleks yaitu graf dan pohon (tree). Struktur data tersebut merupakan struktur yang menjadi dasar representasi data untuk 6
pemodelan berbagai persoalan sehari-hari. Kalian akan menyelesaikan masalah pengenalan pola yang didasari operasi logika XOR. Kalian juga akan belajar algoritma secara unplugged, yaitu merancang langkah robot. Melalui soal ini, kalian akan mengimplementasikan konsep pengulangan dengan efisien. Karena perlu pengulangan, denah tempat robot melangkah tersebut perlu didekomposisi untuk memunculkan bagian-bagian denah yang berulang. 2. Teknologi Informasi Komunikasi Ayo, Mengingat Di kelas VII, kalian belajar TIK sebagai perkakas (tools) yang digunakan untuk membantu menyelesaikan pekerjaan sehari-hari. Tidak hanya belajar mengoperasikan aplikasi, kalian juga memanfaatkannya untuk menyelesaikan persoalan dan mendukung tugas. Diharapkan, setelah berpengalaman menggunakan aplikasi, kalian juga merefleksikan konsepnya agar dapat dimanfaatkan untuk menggunakan aplikasi lain yang sejenis. Kalian telah menggunakan komputer, ponsel pintar, dan gawai saat ini dan mengenal antarmukanya. Selanjutnya, kalian juga telah beraktivitas untuk memanfaatkan berbagai aplikasi, antara lain aplikasi surat elektronik, aplikasi peramban, serta pengelola folder dan file. Semua aplikasi ini bukan hanya berguna dalam pelajaran Informatika, tetapi juga dalam mata pelajaran lainnya. Pembelajaran TIK kelas VII ditutup dengan aktivitas membuat dokumen dan presentasi untuk menyelesaikan persoalan tertentu. Walaupun fitur yang telah diperkenalkan hanya fitur dasar aplikasi, diharapkan bahwa kalian juga akan mampu menggunakan fitur-fitur lain yang tidak dipraktikan secara rinci karena kalian mengenali pola tampilan, fungsi, dan cara bekerja menggunakan aplikasi tersebut. Ayo, Mengingat Di kelas VIII, kalian tidak hanya memakai satu aplikasi. Kalian telah belajar memakai beberapa perkakas (tools) sekaligus untuk menghasilkan konten yang terintegrasi. Dalam situasi seperti itu, kalian perlu menggunakan penalaran dan memilih perkakas yang tepat untuk mencapai hasil yang optimal. Kalian juga telah belajar membaca beberapa bahan bacaan dalam bentuk digital (file) yang berbeda format, memahami isinya, merangkum, mengevaluasi, menyimpulkan, dan merefleksikan isinya. Masih ingatkah 7
berbagai format file tersebut? Mulai html yang dibaca melalui browser, file pdf, file doc, dan file video. Kalian telah bekerja mandiri atau dalam kelompok, untuk menghasilkan berbagai artefak komputasional. Aktivitas pembelajaran bermakna berikutnya adalah mengeksplorasi dan menggunakan laboratorium maya (virtual) yang sangat bermanfaat. Ketika pertemuan tatap muka tidak bisa dilakukan, laboratorium maya menjadi solusi untuk memahami fenomena alam/lainnya yang banyak digunakan untuk mata pelajaran lain. Dalam konteks Informatika, laboratorium maya dipandang sebagai artefak komputasional yang menerima input, melakukan proses komputasi (simulasi) terhadap model yang mendasari objek belajar, dan menghasilkan keluaran (output) yang dapat dianalisis dan diinterpretasi. Aktivitas pada laboratorium ini menjadi dasar kalian dalam membuat model maupun melakukan simulasi berbagai fenomena, yang diperlukan dalam pembelajaran materi apapun yang berbasis inkuiri. Kegiatan menggunakan laboratorium maya pada mata pelajaran lainnya (khususnya sains), diharapkan dapat kalian padukan dengan konsep Informatika (khususnya berpikir komputasional dan TIK) pada pelajaran Informatika. Apa Selanjutnya? Di kelas IX, kalian diajak untuk menganalisis aneka konten di dalam pembuatan dokumen di lingkungan sehari-hari, kemudian menentukan perkakas yang paling tepat untuk menghasilkan suatu artefak komputasional dengan menggunakan aplikasi pengolah kata, pengolah lembar kerja, pengolah presentasi, dan aplikasi pengolah dokumen. Kalian akan ditantang untuk menyelesaikan persoalan-persoalan pada kasus yang membutuhkan analisis dan pengambilan keputusan tentang perkakas yang paling efisien dan optimal untuk membuat dokumen yang disyaratkan. Kalian juga akan beraktivitas bersama dalam sebuah kolaborasi menggunakan aplikasi cloud based. Sebagai generasi saat ini, kalian diajak berkreasi membuat blog dan vlog, sebagai sarana berlatih mengorganisasikan konten digital ciptaan kalian. Menjadi blogger dan vlogger merupakan impian banyak anak muda, apa pun profesinya. 3. Sistem Komputer Ayo, Mengingat Di kelas VII, kalian telah belajar bahwa komputer yang hanya berupa perangkat keras tidak akan berdaya guna tanpa adanya perangkat lunak sistem dan 8
perangkat lunak aplikasi, melalui kegiatan plugged atau unplugged. Tahukah kalian, bahwa aktivitas unplugged selain untuk mengatasi ketiadaan perangkat, sekaligus juga melatih kalian untuk membangun abstraksi. Melalui kegiatan unplugged, kalian diajak untuk memahami apa itu perangkat lunak, perangkat keras, dan fungsi bagian-bagiannya serta bagaimana antarkomponen perangkat tersebut bekerja. Mekanisme tentang bagaimana bagian komputer bekerja dan berfungsi membentuk sebuah sistem komputasi adalah hal yang tidak kasat mata dan tidak akan kelihatan dari alat nyata. Dinamika ini hanya dapat dipahami dengan model perangkat dalam bentuk simulasi dinamika eksekusi. Kalian telah mengenal perangkat keras dan menentukan spesifikasi yang tepat untuk kebutuhan tertentu. Kalian memahami dan mempraktikkan interaksi antarperanti dengan menghubungkan beberapa device dengan menggunakan bluetooth. Kalian juga diajak untuk memahami permasalahan- permasalahan yang timbul pada perangkat keras melalui beberapa kasus yang didiskusikan sebagai bahan refleksi. Kalian juga memahami representasi data biner dan terampil melakukan konversi data yang menjadi dasar dari komputer. Kalian tahu caranya mengirimkan pesan rahasia! Ayo, Mengingat Di kelas VIII, kalian tidak hanya mengenal komputer dan piranti pelengkapnya sebagai benda konkret. Kalian memahami sistem komputer yang lebih abstrak dan tersembunyi sebagai sistem komputasi, yaitu komponen-komponen komputer dan bagaimana setiap komponen berfungsi. Kalian belajar tentang proses penyimpanan data dalam memori komputer yang membutuhkan pengalamatan heksadesimal, dan bagaimana proses perhitungan aritmatika dan logika dilakukan oleh unit pengolahan logika dan aritmatika dieksekusi. Kalian juga mengenal gerbang logika sebagai salah satu unit pengolahan data. Kalian tentunya menyadari, bahwa di kelas VIII perangkat keras yang dipelajari membutuhkan lebih banyak abstraksi sehingga pembelajaran Sistem Komputer pada kelas VIII lebih banyak dilakukan dengan moda unplugged. Di kelas IX, tidak ada alokasi jam pelajaran khusus untuk Sistem Komputer karena muatannya sudah cukup dengan yang diberikan pada kelas VIII. Namun demikian, di kelas IX, kalian diingatkan tentang penggunaan sistem komputer yang baik dan benar melalui sebuah ilustrasi terkait hal tersebut. 9
4. Jaringan Komputer dan Internet Ayo, Mengingat Di kelas VII, yang terpenting adalah bahwa kalian memahami "keberadaan" jaringan lokal dan internet, sebagai infrastruktur komunikasi antarsistem komputer yang memiliki manfaat. Kalian telah berpengalaman untuk "menghubungkan" gawai di tangan dengan internet, melalui jaringan kabel maupun nirkabel. Kalian mampu menghubungkan laptop/ponsel pintar dengan internet melalui wireless LAN (wifi) dan berbagai macam tethering (bluetooth). Semua aktivitas tersebut hanya dapat dilakukan jika sarananya tersedia. Jika sarana tidak tersedia, minimal kalian memahami prinsip- prinsipnya dan menyimpannya untuk dipakai saat diperlukan. juga mempelajari teknik keamanan/proteksi data melalui enkripsi. Kalian telah mencoba menggunakan algoritma enkripsi sederhana untuk merahasiakan data dan membatasi akses dengan menggunakan perkakas enkripsi pada aplikasi pengolah kata. Menyadari kondisi jaringan di beberapa daerah di Indonesia sangat berbeda, pembelajaran Jaringan Komputer dapat dilaksanakan tergantung ketersediaan jaringan. Ketiadaan jaringan seharusnya tidak menghalangi kalian untuk setidaknya memahami konsepnya melalui aktivitas permainan peran secara unplugged. Kalian Ayo, Mengingat Di kelas VIII, secara praktis, kalian telah mempelajari mekanisme komunikasi data yang terjadi dalam jaringan komunikasi pada ponsel yang mempertimbangkan keamanan. Kalian juga bereksplorasi untuk memahami bagaimana pengaruh lingkungan sekitar terhadap kekuatan sinyal komunikasi pada ponsel. Kalian belajar untuk menyusun konfigurasi sebuah jaringan yang kemudian diabstraksikan ke dalam sebuah graf, dan memahami proses routing (pengiriman pesan) dalam sebuah jaringan komputer. Yang paling penting, kalian sudah berlatih bagaimana berinternet dengan aman. Seperti halnya Sistem Komputer, di kelas IX, sudah tidak ada alokasi jam pembelajaran untuk Jaringan Komputer dan Internet, karena capaian kemampuan bidang Jaringan Komputer dan Internet yang ditargetkan untuk siswa tingkat SMP adalah sebagai pengguna. Oleh karena itu, materi JKI untuk kelas IX disajikan dalam bentuk ilustrasi terkait praktik baik penggunaan jaringan komputer dan internet. 10
5. Analisis Data Ayo, Mengingat Di kelas VII, kalian memulai kegiatan Analisis Data dengan memahami apa itu data dengan melakukan input, pengolahan, analisis dengan mengeksplorasi data menggunakan perkakas pengolah lembar kerja. Perkakas tersebut bukan hanya dipakai, tetapi juga dipahami dekomposisi strukturnya (worksheets, cell references, range, cell format, dan lainnya). Kalian menggunakan fungsi-fungsi dasar pada perkakas pengolah lembar kerja untuk mengolah berbagai tipe data teks, angka, dan date & time. Selain fungsi dasar, kalian juga memakai fungsi statistik dasar dan logical function untuk pemrosesan lebih lanjut, guna memahami cara kerja sorting, filter, validasi data, dan share & protect. Walaupun lebih optimal jika memakai perkakas, pembelajaran Analisis Data ini masih dapat dilakukan dengan aktivitas unplugged, terutama jika di sekolah kalian masih mempunyai kendala dengan perangkat TIK. Tidak adanya perangkat TIK hendaknya tidak menjadi hambatan belajar konsep karena analisis data sangat penting untuk literasi dan numerasi, serta menjadi bagian penting untuk persiapan tes PISA. Ayo, Mengingat Di kelas VIII, kalian memperdalam konsep analisis data dasar yang dipelajari di kelas VII, lalu diperdalam aspek analisisnya, lebih abstrak, serta diperluas lingkupnya. Kalian mempelajari peringkasan data dan melakukan berbagai proses seperti menyaring dan memvalidasi data, menampilkan data dalam berbagai bentuk visualisasi untuk analisis, interpretasi, dan prediksi. Kemampuan kalian dalam menalar berdasarkan data lebih diasah melalui kegiatan-kegiatan bertahap yang diakhiri dengan sebuah studi kasus yang membutuhkan semua kegiatan yang pernah dilakukan. Analisis Data dan studi kasus yang dirancang bisa disesuaikan dengan persoalan yang kalian hadapi dalam pelajaran lain atau dalam kehidupan sehari-hari. Kegiatan masih dapat dilakukan dengan moda unplugged walaupun mulai lebih sulit dan kurang presisi, serta tidak praktis. Karena analisis data memegang peranan penting dalam tes PISA untuk siswa berusia 15 tahun (rata-rata usia siswa kelas VIII), materi Analisis Data diselesaikan di kelas VIII dan hanya disajikan dalam bentuk ilustrasi pengingat di kelas IX. Ilustrasi diberikan dalam bentuk komik terkait praktik penggunaan analisis data dalam kehidupan sehari-hari. 11
6. Algoritma Pemrograman Ayo, Mengingat Di kelas VII, kalian memulai modul Algoritma Pemrograman dengan menggunakan bahasa pemrograman visual Scratch. Kalian telah belajar dengan bantuan tutorial yang disajikan dalam bentuk yang menyenangkan dan dirancang langkah demi langkah. Kalian melakukan latihan-latihan secara mandiri atau berpasangan. Guru kalian mungkin telah mengenalkan latihan pemrograman visual secara plugged atau unplugged. Kedua moda itu sama baiknya untuk awal belajar pemrograman. Jika dilaksanakan secara plugged, kalian telah mampu menghasilkan karya digital kreatif seperti animasi, komik, percakapan, dan permainan interaktif sederhana. Ayo, Mengingat Di kelas VIII, dalam modul Algoritma Pemrograman kalian diajak untuk menggunakan bahasa Blockly, untuk mengeksplorasi dan "memindahkan" konsep pemrograman visual Scratch ke lingkungan Blockly. Sangat mirip, bukan? Kalian juga mulai belajar bagaimana konsep-konsep dasar dalam pemrograman prosedural (variabel, instruksi sekuensial, percabangan serta perulangan) diekspresikan dalam bahasa visual. Bahasa visual yang kalian pelajari sudah bukan hanya murni bahasa blok yang mewakili objek yang tanggap terhadap event, tetapi juga dapat dipakai untuk menyatakan konsep program prosedural yang intinya berupa urutan instruksi, dan bekerja berdasarkan I-P-O (Input-Proses-Output). Apa, Selanjutnya Di kelas IX, kalian diajak melakukan refleksi tentang kesamaan dan perbedaan dua bahasa yang sudah dikenalkan di kelas VIII. Sebuah solusi dapat ditulis dalam berbagai bahasa, seperti halnya dalam kehidupan sehari-hari kita mengekspresikan hal yang sama dalam bahasa Indonesia dan bahasa daerah atau bahasa asing. Kalian juga diajak untuk menerapkan konsep pemrograman modular, di mana program yang telah dilakukan di kelas sebelumnya, diolah kembali untuk dapat dipaketkan ke dalam beberapa subprogram "modul". Kalian akan belajar pula bagaimana suatu model komputasi dirumuskan sebelum diprogram. 12
7. Dampak Sosial Informatika Ayo, Mengingat Di kelas VII, kalian telah mengalami belajar bermakna dalam elemen pengetahuan Dampak Sosial Informatika melalui diskusi terbimbing untuk memahami, menganalisis, dan menyimpulkan dampak teknologi informasi dan komunikasi dari kasus-kasus penemuan teknologi terbaru di dunia. Hasil simpulan kalian, selanjutnya disajikan dalam bentuk poster/presentasi yang dikembangkan secara kolaboratif dengan menggunakan media digital sebagai tempat penyimpanan bersama. Kalian diajak untuk menggunakan produk teknologi informasi secara kolaboratif yang merupakan elemen praktik inti. Kalian juga belajar tentang keterbukaan informasi dan dampak positif/negatif dari keterbukaan informasi. Hal penting yang dipelajari adalah bagaimana siswa dapat menjaga keamanan data dan informasi diri sehingga mampu untuk memilah informasi pribadi/privat mana yang boleh dipublikasi di dunia maya. Beberapa kasus dipaparkan untuk latihan mengasah pemikiran dan menggali pemahaman tentang topik-topik yang dibahas. Ayo, Mengingat Di kelas VIII, kalian belajar mengenai dampak sosial informatika dalam konteks penggunaan media sosial. Dampak media sosial yang telah banyak digunakan oleh masyarakat Indonesia, termasuk juga siswa SMP, perlu disadari agar kalian dapat berhati-hati dan dapat mencegah, menghindari, dan menguasai cara untuk mengatasi jika terkena dampak dari media sosial. Kalian beraktivitas dengan mengkaji kritis informasi di internet, dalam bentuk kasus-kasus. Kalian diajak untuk menentukan suatu berita di platform media sosial adalah berita bohong atau berita yang valid. Kemampuan tersebut diharapkan mampu untuk dilaksanakan pada kegiatan sehari-hari dan terbawa hingga dewasa. Dengan kesadaran dan kemampuan itu, diharapkan masyarakat akan tumbuh menjadi masyarakat digital madani yang memiliki sifat dan kelakuan yang baik. Di kelas VIII, kalian juga telah berdiskusi berbagai topik perundungan dunia maya yang banyak terjadi di negara kita. Kalian diharapkan mampu mengkaji kritis kasus-kasus perundungan di dunia maya agar selanjutnya mampu untuk mengantisipasinya. Apa Selanjutnya? Di kelas IX yang merupakan akhir fase D Informatika, kalian akan belajar elemen Dampak Sosial Informatika melalui diskusi untuk mempelajari, menganalisis, mengambil kesimpulan, dan merekomendasikan solusi terhadap kasus ancaman keamanan data dan informasi di dunia maya. Materi 13
keamanan data dan informasi akan dijelaskan secara komprehensif. Selain mengkaji kasus ancaman keamanan data dan informasi, kalian juga belajar mengenai perkakas atau tools untuk melindungi data dan informasi. Kalian belajar merancang mekanisme untuk perlindungan data dan informasi dengan otentikasi. Kalian juga diajak untuk mengeksplorasi penggunaan cookie sebagai fitur keamanan pada peramban. 8. Praktik Lintas Bidang PLB atau praktik lintas bidang memberi kalian kesempatan untuk belajar agar mampu menunjukkan perilaku dan cara berpikir seseorang yang "melek" komputasi (computationally literate student), agar siap terlibat dalam dunia digital yang kaya data dan dapat menghubungkan berbagai bidang. Informatika menawarkan peluang untuk mengembangkan berpikir komputasional yang dipraktikkan lewat berkarya menghasilkan artefak komputasional, yang pada praktiknya juga dapat diterapkan dalam mata pelajaran lain di luar Informatika. Kalian diharapkan mampu mempraktikkan penyelesaian masalah (problem solving) suatu kasus, untuk menghasilkan solusi yang menerapkan beberapa aspek dari tujuh aspek PLB, yaitu: (a) membina budaya kerja masyarakat digital dalam tim yang inklusif, (b) berkolaborasi untuk melaksanakan tugas dengan tema komputasi, (c) mengenali dan mendefinisikan persoalan yang pemecahannya dapat didukung dengan komputer, (d) mengembangkan dan menggunakan abstraksi (model), (e) mengembangkan artefak komputasi atau suatu produk dengan menerapkan berpikir komputasi, (f ) mengembangkan rencana pengujian, menguji dan mendokumentasikan hasil uji artefak komputasi (produk TIK), (g) mempresentasikan dan menjelaskan karya, dalam bentuk lisan, tertulis, atau dalam bentuk poster/gambar. Ayo, Mengingat Di kelas VII, kalian belajar berkarya untuk menghasilkan artefak komputasional melalui aktivitas pembelajaran bermakna sebagai berikut: (a) bermain (tinkering) dengan rangkaian elektronis Makey Makey. Salah satu cara belajar mengembangkan artefak komputasional adalah dengan tinkering. Kalian pada awalnya bermain dengan menggunakan rangkaian elektronik sederhana, yang selanjutnya dilanjutkan dengan menggabungkannya dengan papan sirkuit Makey Makey, (b) setelah selesai dengan tinkering, kalian mulai belajar mengembangkan artefak komputasional secara terbimbing dengan membuat proyek drum set, dan proyek piano. Selanjutnya kalian mengerjakan projek mandiri, yaitu water 14
synthesizers. Pendekatan pengembangan artefak komputasional secara unplugged juga diberikan dalam aktivitas pembelajaran di kelas VII ini, yaitu aktivitas bermain menciptakan algoritma untuk membuat langkah dari titik awal menuju titik tujuan dengan judul aktivitas "Tentukan Langkahmu". Ayo, Mengingat Di kelas VIII, kegiatan PLB dilanjutkan untuk tujuh aspek praktik inti (core practices) dalam kurikulum informatika. Pembelajaran bermakna pada kelas VIII adalah aktivitas pembelajaran pengembangan artefak komputasional yang masih menggunakan papan sirkuit Makey Makey sebagai alat bantunya. Aktivitas pembelajaran tersebut, yaitu: (a) aktivitas terbimbing untuk pengembangan media interaktif, (b) aktivitas tanpa bimbingan penuh secara berkelompok untuk menambah fungsionalitas media interaktif untuk kasus lempeng tektonik "Ring of Fire", (c) aktivitas pengembangan artefak komputasional yang lebih kompleks menggunakan variabel dan operator matematis, yaitu proyek Mesin Hitung Uang Koin. (d) aktivitas pengembangan Mesin Hitung Uang Koin dengan modifikasi untuk tampilan interaksi manusia dengan komputer, dan (e) aktivitas tanpa bimbingan penuh untuk memodifikasi Mesin Hitung Uang Koin dengan operasi yang lebih kompleks yaitu menghitung kembalian. Diharapkan, praktikum tersebut dapat memberikan inspirasi kepada kalian untuk membuat mesin otomatis yang memudahkan kehidupan sehari-hari. Pada akhir pembelajaran PLB di kelas VIII, kalian diharapkan telah semakin memahami artefak komputasional dan mampu untuk mengembangkannya dengan praktik yang benar. Apa Selanjutnya Di kelas IX, kalian memadukan elemen-elemen informatika yang telah dipelajari dengan mengembangkan suatu artefak komputasional yang memanfaatkan Single Board Computer untuk mewujudkan internet of things (IoT), agar dapat berkontribusi untuk menyelesaikan permasalahan di sekitar kalian. Pada buku kelas IX, akan dibahas empat contoh kasus pemrograman menggunakan arduino, yaitu membuat rangkaian Lampu Lalu Lintas, Sensor Cahaya, dan Kelembapan Tanaman. Kalian akan memahami bahwa di dunia IoT, pancaindra manusia akan dapat diwakili oleh sensor-sensor yang mengirimkan data ke komputer, dan ini baru awal dari sistem I-P-O yaitu menginput data. Kelak, kalian dapat mengolah data ini, melanjutkan prosesnya untuk mengontrol berbagai hal. Selain itu, dikenalkan juga paket ajar Robot Line Follower, yang hasilnya dipresentasikan dalam suatu kegiatan pameran / presentasi karya. Kalian diharapkan mampu bergotong royong untuk mengidentifikasi 15
persoalan, merancang, mengimplementasi, menguji, dan menyempurnakan artefak komputasional yang merupakan solusi dari persoalan tersebut, serta mengkomunikasikan secara lisan maupun tertulis produk dan proses pengembangan solusinya dalam bentuk karya kreatif yang menyenangkan. D. Rencana Pembelajaran Informatika Kelas IX Tabel 1.1 menunjukkan daftar materi dan aktivitas yang akan kalian lakukan selama belajar Informatika di kelas IX ini. Dari daftar kegiatan ini, kalian bersama guru dapat membuat rencana urutan kegiatan yang akan dilaksanakan baik di Semester Ganjil maupun Semester Genap. Tabel 1.1 Daftar Materi dan Aktivitas Informatika Kelas IX Pekan Materi Kode Aktivitas Nama Aktivitas 1 Informatika SMP IF-K9-01-U Informatika SMP BK-K9-01-U Pengantar Paket 2 Struktur Data BK-K9-02-U Pengantar Paket (2) 3 Ekspresi dan Logika BK-K9-03-U Hitam Putih 4 Algoritma BK-K9-04-U Jalar Keluar 5 6 Integrasi Konten Aplikasi Perkantoran TIK-K9-01 TIK-K9-02 Membuat Laporan Keuangan Sederhana Membuat Buku Tahunan Kelas 7 Blog TIK-K9-03 Membuat Blog Sederhana 8 Vlog TIK-K9-04 Membuat Vlog Sederhana 9 Scratch dan Blockly Sistem Komputer Jaringan Komputer dan Internet Analisis Data AP-K9-01 Bilangan Prima Tidak ada pertemuan khusus sehingga dapat menjadi bagian dari kegiatan lainnya. 16
Pekan Materi Kode Aktivitas Nama Aktivitas 10 11 12 Literasi Numerasi Modularisasi Program AP-K9-02 AP-K9-03 AP-K9-04 AP-K9-05 AP-K9-06 AP-K9-07 AP-K9-08 Proyek Hitung Rata-Rata Proyek Hitung KKM Fungsi Kuadrat Persamaan Linear Modul Program: Modifikasi Modul F1 Modul Program: Fungsi Kuadrat dan Plotting Modul Program: Hitung Volume Tabung 13 AP-K9-22-U Gelang Warna-Warni 14 Literasi Sains AP-K9-09 AP-K9-10 AP-K9-11 Proyek Pertumbuhan 3 Hari Proyek Pertumbuhan N Hari Proyek Capaian Pertumbuhan 15 Konverter Sistem Bilangan AP-K9-12 AP-K9-13 AP-K9-14 AP-K9-15 Konverter Bilangan Biner ke Desimal Konverter Bilangan Oktal ke Desimal Konverter Bilangan Desimal ke Biner Konverter Bilangan Desimal ke Oktal 16 Penambahan Parity Bit AP-K9-16 AP-K9-17 AP-K9-18 AP-K9-19 Pengantar Pesan Konverter Bilangan Desimal ke Biner dengan Parity Bit Genap Konverter Bilangan Biner dengan Parity Bit Genap ke Desimal Konverter Biner, Oktal, dan Desimal 17 Wrap Up Konverter Bilangan AP-K9-20 AP-K9-21 Poster Konverter Bilangan Poster Serunya Belajar Dua Bahasa 18 Ozobot (Tambahan) AP-K9-23-U Memprogram Ozobot (Tambahan) 17
Pekan Materi Kode Aktivitas Nama Aktivitas 19 Keamanan Informasi DSI-K9-01-U Diskusi: Kejahatan di Internet 20 Perkakas Pengamanan Informasi DSI-K9-02-U DSI-K9-03-U Eksplorasi: Situs dengan Cookie Perancangan: Merancang Autentifikasi Ruang Rahasia 21 IoT Sensor Sederhana PLB-K9-01 Lampu Lalu Lintas 22 23 24 25 IoT Sensor Cahaya IoT Sensor Kelembapan PLB-K9-02 PLB-K9-03 Sensor Cahaya Tanaman Sensor Kelembapan Tanah 26 IoT Motor PLB-K9-04 Line Follower Robot Ayo, Kita Berlatih Aktivitas Kelompok Aktivitas IF-K9-01-U: Informatika SMP Penjelasan-penjelasan yang sudah diberikan sebelumnya diharapkan dapat membawa kalian untuk mengingat kembali apa saja yang sudah dipelajari di kelas VII dan VIII untuk kemudian mengambil keterhubungan atau benang merah alur dari setiap konsep dan tujuan pembelajaran informatika di SMP ini. Untuk lebih memahami, kalian diminta untuk membuat sebuah peta konsep yang menggambarkan keterhubungan antarkonsep yang terkandung dalam elemen Informatika yang telah kalian pelajari di kelas VII dan VIII. Kegiatan ini akan terdiri atas dua bagian berikut. 1. Bagian I, membuat peta konsep Informatika kelas VII dan kelas VIII yang pernah kalian alami. Sesuaikan pengalaman kalian dengan uraian pada bagian sebelumnya 2. Bagian II, menuliskan rencana pembelajaran untuk Kelas IX Kegiatan ditutup dengan membuat jurnal dan menyiapkan Buku Siswa. 18
Lakukan kegiatan sesuai dengan tahapan berikut dengan memerhatikan petunjuk dari guru kalian. Tahapan Kegiatan Bagian I -Membuat Peta Konsep 1. Peserta kelas dibagi ke dalam delapan kelompok. 2. Setiap kelompok akan ditugasi untuk membuat sebuah peta konsep dari salah satu dari delapan elemen Informatika yang telah dipelajari di kelas VII dan Kelas VIII. Tujuannya adalah bahwa kalian juga harus dapat menganalisis dan membuat abstraksi dari setiap elemen yang telah dipelajari di kelas VII dan kelas VIII. Analisislah kesinambungan, kedalaman/lingkup materi yang sama atau lainnya. 3. Diskusikan dalam satu kelompok kira-kira akan seperti apa peta konsep yang akan dibuat. Sebagai catatan, peta konsep dapat dibuat dengan menggunakan alat bantu program aplikasi (mind-map tools). Guru akan mengarahkan, apakah kalian akan diminta menggambar di kertas kosong, atau bekerja dengan aplikasi. Sebagai informasi, saat ini, banyak tersedia sebagai aplikasi gratis di Internet, ada yang online dan ada yang harus diunduh kemudian diinstal di komputer lokal). Bentuk peta konsep juga beragam, kalian dapat bereksplorasi mencari berbagai contoh peta konsep dari internet. 4. Setelah itu, presentasikan peta konsep kalian kepada guru dan teman- teman untuk mendapatkan masukan. Bandingkan struktur peta konsep antarkelompok, apakah ada polanya, atau ada perbedaan struktur yang mencolok? Ayo, Kita Renungkan 1. Setelah melakukan refleksi terhadap pembelajaran Informatika kelas VII dan kelas VIII, apakah kalian menyukai pelajaran Informatika? Apa alasannya? 2. Berikan contoh beberapa pengalaman pemakaian konsep Informatika yang pernah dipelajari dalam kehidupan sehari-hari yang paling berkesan? 3. Menurut kalian, tantangan apa yang paling kalian rasakan dalam mempelajari Informatika? Jelaskan. Apa usaha kalian untuk mengatasi tantangan tersebut di kelas IX? 19
Tuliskan hasil peta pikiran dan jawaban refleksi kalian pada selembar kertas dan memasukkannya menjadi bagian Buku Kerja Siswa. Tahapan Kerja Bagian II - Membuat Rencana Kegiatan Catatlah urutan kegiatan yang direncanakan oleh Guru menjadi dua buah tabel Program Kegiatan Semester seperti pada Tabel 1.2. Setiap semester terdiri dari 18 minggu, atau jumlah minggu yang direncanakan karena kalian perlu menghadapi persiapan akhir tahun kelas IX. Tuliskan setiap tabel dalam satu lembar kertas, dan masukkan ke dalam Jurnal Kerja kalian. Tabel 1.2 Contoh Tabel Rencana Urutan Aktivitas Pembelajaran Satu Tahun Semester I Semester II Minggu ke- Materi Kode Aktivitas Minggu ke- Materi Kode Aktivitas 1. 1. 2. 2. 3. 3. 4. 4. 5. 5. 6. 6. 7. 7. 8. 8. 9. 9. 10. 10. 11. 11. 12. 12. 13. 13. 14. 14. 15. 15. 20
Semester I Semester II Minggu ke- Materi Kode Aktivitas Minggu ke- Materi Kode Aktivitas 16. 16. 17. 17. 18. 18. Ayo, Kita Renungkan 1. Apakah kalian siap dan semangat dalam menghadapi Informatika Kelas IX? 2. Jika tidak, bicarakanlah kekhawatiran kalian ke teman dan guru kalian! 3. Nyatakan tekad kalian untuk melaksanakan kegiatan dengan sebaik- baiknya agar dapat berprestasi semaksimal mungkin di bidang Informatika Penutup Kegiatan Siapkan jurnal dan Buku Kerja Siswa dalam bentuk map kerja dengan loose leaf sebelum memulai mata pelajaran Informatika seperti yang sudah kalian lakukan pada kelas VII. Kebiasaan journaling atau mengumpulkan lembar kerja yang dimulai dari kelas VII, merupakan hal yang tetap harus dilakukan sampai kalian lulus SMP. Kalian akan dinilai berdasarkan kelengkapan dan kualitas jurnal dan Buku Kerja Siswa. Jangan lupa, setiap kali melakukan kegiatan, kalian juga harus mencatat kegiatan dalam jurnal! Ini sama seperti yang pernah kalian lakukan mulai kelas VII. Oleh sebab itu, ayo tuliskan ringkasan aktivitas kali ini dalam jurnal Kegiatan pertama kelas IX. Sebagai pengingat, contoh jurnal dan map Buku Kerja Siswa disertakan pada lampiran bab ini. 21
LAMPIRAN - Rekaman Kegiatan Salah satu aspek penting informatika adalah mengorganisasi data agar menjadi informasi yang berguna. Hal ini akan kalian praktikkan, dengan mengorganisasi dan menyimpan data tentang kegiatan belajar sepanjang tahun, melalui jurnal kegiatan. Jurnal kegiatan akan dikumpulkan secara teratur dan konsisten sepanjang tahun, membentuk Buku Kegiatan Siswa. Jadikanlah Buku Kegiatan Siswa sebagai album kenangan yang merekam semua pengalaman kalian belajar informatika! Sama seperti di kelas VIII, setiap kali melakukan kegiatan, kalian harus mencatat kegiatan dalam jurnal, membuat catatan, mengerjakan latihan, dan mengisi Lembar Kerja Siswa yang dibagikan. Ini kebiasaan baik yang perlu dilanjutkan bahkan sampai kalian tamat SMP! Oleh karena itu, bagian ini sama dengan buku kelas Informatika Kelas VII. Siapkan jurnal siswa sebelum memulai mata pelajaran Informatika. Berikut ini adalah contoh Jurnal. a. Jurnal Siswa Nama : ... . Kelas/Rombel : ... . Semester : 1/2 Tahun Ajaran: ... . Mulai Tanggal ... ... s.d. ... ... Minggu ke- Aktivitas Topik yang Kupelajari Refleksiku 1 2 3 4 5 6 7 8 9 10 22
b. Evaluasi Diri dan Refleksiku di Akhir Semester 1. Aku sangat senang/senang/kurang senang/tidak senang 2. Karena ... ... 3. Aku merasa sudah belajar dengan baik dan berusaha. Jika dinilai skala 1 s.d. 4, aku akan menilai usahaku ... 4. Catatanku: ... c. Buku Kerja Siswa Buku Kerja Siswa adalah himpunan hasil belajar kalian selama satu tahun, yang lebih rinci dari jurnal. Semua Lembar Kerja Siswa (LKS) yang pernah dibuat dikumpulkan dalam Buku Kerja Siswa. Dengan menyusun buku kerja siswa dari LKS dan catatan terpisah, kalian sudah menyumbang ke lingkungan (green environment) karena Buku Siswa yang dicetak dapat dipakai kembali oleh adik -adik kalian. Oleh karena itu, tolong jangan mencoret-coret Buku Siswa. Jika kalian perlu membuat catatan, ambil selembar kertas dan tuliskan catatannya dikaitkan dengan nomor halaman Buku Siswa. Buku Kerja Siswa ini juga perlu dibuat, jika yang dipakai sebagai bahan belajar adalah buku siswa versi digital (tidak dicetak). Wujudkan Buku Kerja kalian dengan menggunakan "loose leaf", yaitu kertas lepasan yang digabungkan/dikumpulkan dalam map, dapat disisipkan sesuai keperluan. Dengan menggunakan map dan loose leaf, kalian berlatih untuk menerapkan computational thinking, mengorganisasikan artefak hasil tugas dan hasil belajar kalian dengan rapi dan terstruktur sehingga dengan mudah dapat dicari kembali. Setiap lembar kertas kerja harus mengandung identitas nama kalian, topik yang dipelajari, dan nomor halaman. Nomor halaman hanya perlu diurutkan dalam satu kelompok laporan. Rencanakanlah dengan baik penomoran halaman buku kerja kalian. Ini informatika! Menyusun kode lembar kerja, menyimpan sebagai arsip, dan dengan mudah kalian dapat menemukan kembali saat diperlukan. Dengan mengorganisasi lembar kerja kalian sebagai loose leaf, kalian juga dapat mengurutkan sesuai dengan urutan yang diperlukan. Ketika suatu tugas selesai dikerjakan, kertas terlepas dapat diperiksa oleh guru, kalian tetap dapat mengacu ke semua bahan yang ada dalam map. Jangan lupa mengarsipkannya, saat lembar sudah dikembalikan oleh guru kalian. 23
Catat di halaman akhir lembar tugas, kapan tugas kalian diserahkan dan kapan dikembalikan oleh guru kalian. Kreativitas kalian sangat dihargai dan harus dipupuk. Kalian boleh menggambar atau menambahkan ilustrasi pada setiap catatan, jika masih mempunyai waktu. Sisipkan lembar pemisah di antara kelompok berkas untuk memudahkan kalian mengakses suatu lembar kerja tertentu dengan lebih cepat. Jika tersedia komputer dan printer, kalian juga boleh mencetak dan mengarsipkan cetakan komputer menjadi bagian pada buku kalian. Buku ini akan menjadi buku kenang -kenangan (memori) belajar yang menyenangkan. Cara kalian memelihara buku kerja dan kerapian kalian dalam mengorganisasikan isinya, menunjukkan kemampuan kalian dalam mengorganisasi informasi dalam komputer. Ini adalah penerapan dari berpikir komputasional! Oleh sebab itu, buku kerja kalian di akhir tahun akan dinilai oleh guru secara menyeluruh. Gambar 1.3 Contoh Buku Kerja Siswa 24
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Vania Natali ISBN: 978-602-244-730-6 Bab 2 Berpikir Komputasional Tujuan Pembelajaran Pada setiap soal dalam bab Berpikir Komputasional ini, terdapat konsep- konsep Informatika yang dibungkus dalam bentuk soal cerita yang dekat dengan kehidupan sehari-hari. Secara khusus, pada materi kelas IX ini, kalian akan belajar mengidentifikasi algoritma (langkah-langkah) untuk menyelesaikan sebuah masalah, struktur data, ekspresi, dan operasi logika. 25
Pertanyaan Pemantik Konsep informatika apa sajakah yang telah kalian pelajari melalui materi Berpikir Komputasional? Peta Konsep Pohon (Tree) Pengenalan Pola Struktur Data Berpikir Komputasional Ekspresi dan Operasi Logika Graf (Graph) Algoritma Gambar 2.1 Peta Konsep Berpikir Komputasional Soal-soal pada Bab Berpikir Komputasional mencakup berbagai konsep Informatika, yang dapat dipilih dan direncanakan secara berjenjang agar tidak tumpang tindih. Tentunya, konsep-konsep tersebut tidak terbatas pada soal-soal yang disajikan pada materi Berpikir Komputasional pada jenjang kelas VII, VIII, dan IX. Maka, peta konsep yang diberikan pada bab ini tidak dapat menggambarkan konsep Berpikir Komputasional secara keseluruhan, tetapi terbatas pada materi yang dibahas pada kelas IX, yaitu terkait struktur data, pengenalan pola, serta algoritma. 26
Apersepsi Dalam materi Berpikir Komputasional kelas VII, VIII, dan IX, kemampuan kalian dalam berpikir komputasional selalu diasah. Menurut kalian, mengapa berpikir komputasional begitu penting dalam bidang Informatika? Kata Kunci Berpikir komputasional, penyelesaian masalah, algoritma, struktur data, ekspresi logika, operasi logika. A. Struktur Data Pada materi kelas VII dan VIII, kalian sudah mempelajari struktur data daftar (list) dan tumpukan (stack). Pada kelas IX ini, kalian akan mempelajari dua struktur data lain yang sering digunakan dalam bidang Informatika, yaitu graf (graph) dan pohon (tree). Apakah kalian pernah memerhatikan bagaimana struktur susunan kepengurusan dalam sebuah organisasi? Struktur organisasi tersebut biasanya digambarkan dengan struktur pohon seperti yang diberikan pada Gambar 2.2. Ketua Wakil Ketua Bendahara Koordinator bidang A Koordinator bidang B Divisi 1 Divisi 2 Divisi 3 Divisi 4 Divisi 5 Gambar 2.2 Contoh Struktur Data Tree (Pohon) 27
Struktur pohon menggambarkan sebuah hierarki. Ciri dari struktur pohon ialah bahwa "anak" (child) yang hierarkinya lebih rendah, hanya mempunyai satu "orang tua" (parent). Anak yang orang tuanya sama, sama levelnya, disebut "bersaudara". Dalam bidang Informatika, dikenal juga struktur data graf (graph) seperti yang diberikan pada Gambar 2.3. Gambar 2.3 Contoh Struktur Data Graf Struktur data graf dapat digunakan untuk merepresentasikan data dalam berbagai kasus, misalnya jalan yang menghubungkan 2 tempat. Secara spesifik, misalnya menggambarkan jalur kereta api dari suatu kota ke kota lain. Jika kita menggunakan kasus jalur kereta api, Gambar 2.3 dapat diartikan menjadi seperti berikut: terdapat jalur kereta api yang menghubungkan Kota A dan Kota D, terdapat jalur kereta api yang menghubungkan Kota A dan Kota C, Kota B dan Kota E tidak terhubung langsung melalui jalur kereta api, dst. Walaupun tidak terhubung langsung, jika kita ingin bepergian dari Kota B ke Kota E, maka kita dapat memanfaatkan jalan dari B ke A, kemudian ke Kota C. Hubungan dapat seperti yang disebutkan (dua arah) dan digambarkan sebagai busur yang menghubungkan data. Hubungan juga dapat hanya satu arah, misalnya jika jalan penghubung ada yang satu arah, dan ada yang dua arah, penghubung digambarkan sebagai "anak panah" yang berarah. Contoh: misalnya jalan dari A ke C hanya searah, yaitu dari A menuju C, sedangkan jalan lainnya dua arah, grafnya menjadi seperti Gambar 2.4. Gambar 2.4 Contoh Struktur Data Graf Hubungan searah atau dua arah tersebut dapat dimodelkan menjadi graf pada Gambar 2.4. Graf adalah sebuah model tentang hubungan antardata. 28
Ayo, Kita Berlatih Aktivitas Individu Aktivitas BK-K9-01-U: Pengantar Paket Hara ialah kurir pengantar paket yang sedang berada di sebuah kompleks perumahan. Kompleks tersebut terdiri atas sembilan rumah yang tersusun secara melingkar, dinomori dari A s.d. J. Waktu yang diperlukan untuk berpindah dari satu rumah ke rumah lainnya ialah 10 menit. Saat ini, Hara sedang berada di rumah H. Hara dapat berjalan searah jarum jam, maupun selesai mengantarkan sebuah paket, Hara pun dapat memilih ke arah mana dia akan berjalan. Hara mencatat waktu yang diperlukan untuk mengantar setiap paket. sebaliknya. Setelah Tantangan: Jika Hara mulai mengantar paket dari rumah H dan berakhir di rumah F, serta mencatat waktu perjalanan yang ditempuh ialah 20, 10, 20, dan 40 menit, tiga rumah mana sajakah yang dikunjungi Hara sebelum tiba di rumah F? Tuliskan langkah-langkah yang kalian gunakan untuk mendapatkan jawaban tersebut! Jawaban kalian adalah: Tuliskan dengan ringkas cara kalian menyelesaikan masalah ini! ... 29
Ayo, Kita Berlatih Aktivitas Individu Aktivitas BK-K9-02-U: Pengantar Paket (2) Hara, sang kurir pengantar paket, sedang berada di sebuah kota yang terdiri atas tujuh rumah. Sayangnya, di kota tersebut, tidak semua rumah saling terhubung oleh jalan. Gambar berikut menunjukkan nama pemilik rumah, jalan yang menghubungkan antar rumah, dan berat paket (dalam kilogram) yang harus diantarkan oleh Hara ke setiap rumah. 16 5 2 8 4 3 7 9 Berikut ialah aturan pengantaran paket yang digunakan oleh Hara. 1. Hara akan mengantarkan paket melalui jalan yang menghubungkan rumah yang satu ke rumah yang lain. 2. Jika terdapat beberapa pilihan jalur dari rumah yang saat ini dikunjungi Hara, dia akan memilih rumah yang memiliki bobot paket terkecil (paket yang paling ringan). 3. Jika semua rumah yang terhubung sudah menerima paket, Hara akan kembali ke rumah terakhir yang dia kunjungi sebelum dia mengunjungi rumah tempatnya berada saat ini. Tantangan: Hara mengantarkan paket pertama ke rumah Anto. Siapakah yang akan menerima paket terakhir dari Hara? Tuliskan urutan pengantaran paket yang dilakukan Hara! Jawaban kalian adalah: 30
Tuliskan dengan ringkas cara kalian menyelesaikan masalah ini! ... B. Ekspresi dan Operasi Logika Kalian tentu sudah tidak merasa asing lagi dengan ekspresi aritmatika seperti yang ditunjukkan pada Gambar 2.4. Gambar 2.5 Contoh Ekspresi Aritmatika Pada Gambar 2.5, terdapat ekspresi aritmatika sederhana yang terdiri dari tiga buah operand (1, 2, 3) dan tiga dua operator (+, x). Operan dan perator telah kalian kenal dalam Aktivitas Teka-teki Operasi Perhitungan pada Bab Berpikir Komputasional Kelas 8. Gabungan dari operator dan operand tersebut disebut dengan ekspresi aritmatika. Sedangkan proses untuk melakukan perhitungan operand-operand berdasarkan operator terkait, disebut dengan operasi. Melalui soal berikut ini, kalian akan diperkenalkan pada operator, ekspresi, dan operasi logika. 31
Ayo, Kita Berlatih Aktivitas Individu Aktivitas BK-K9-03-U: Hitam Putih Pada soal berikut ini, kalian akan kembali berlatih dengan tipe data boolean. Tipe data boolean ini dicetuskan oleh George Boole, yaitu seorang ahli Matematika, filsuf, pendidik, dan ahli logika yang berasal dari Inggris. Saat kelas VII, kalian pernah mengerjakan soal mengenai Peminjaman Ruang (BK- K7-05-U, pada Bab Berpikir Komputasional). Boolean adalah sebuah tipe data yang hanya dapat memiliki dua nilai, yaitu benar (true) atau salah (false). Dalam bidang Informatika, boolean adalah salah satu konsep yang penting. Nilai true atau false pada boolean dapat juga direpresentasikan dengan bilangan biner, yaitu 0 atau 1. Dalam soal ini, kita akan melihat contoh lain representasi tipe data boolean, yaitu dengan warna hitam dan putih. Persoalan: Rara sedang mengunjungi sebuah rumah makan dan dia tertarik untuk memerhatikan hiasan dinding yang ada pada restoran tersebut. Berikut ialah gambar yang dilihat oleh Rara. Jika kotak hitam putih A dan B dikombinasikan akan dihasilkan kotak hitam putih C A B C Berapa banyak kotak hitam yang didapatkan dari kombinasi kotak D dan E (terdapat pada kotak F) D E F Gambar 2.6 Hiasan Dinding Hitam Putih 32
Jika Rara berhasil menjawab pertanyaan tersebut, dia akan mendapat bonus kue cokelat kesukaannya dari restoran tersebut. Rara bingung dan meminta bantuan kalian untuk menyelesaikan teka-teki tersebut. Tantangan: Bantulah Rara untuk menemukan jawaban pertanyaan tersebut, yaitu menemukan banyaknya kotak hitam pada kotak F (perhatikan Gambar 2.6). Jawaban kalian adalah: Tuliskan dengan ringkas cara kalian menyelesaikan masalah ini! ... Ceritakan kepada teman-teman, cara kalian menyelesaikan masalah tersebut! C. Algoritma Dalam kehidupan sehari-hari, kalian dapat menemukan kegiatan yang perlu dilakukan berulang kali. Misalnya, ketika makan, kalian berulang kali menyuap makanan tersebut ke dalam mulut; ketika berjalan, kalian berulang kali melangkahkan kaki; dalam satu minggu, tentu ada kegiatan yang kalian lakukan berulang kali, yaitu sekolah - mengerjakan tugas - belajar. Masih banyak contoh lainnya yang dapat kalian amati dan dapati bahwa kalian sedang melakukan perulangan. 33
Ayo, Kita Berlatih Aktivitas Individu Aktivitas BK-K9-04-U: Jalan Keluar Yola sedang menyusun sekumpulan tanda panah yang dapat mengarahkan bola hijau tersebut menuju pintu keluar yang ditandai dengan x. Jenis tanda panah yang dimiliki oleh Yola adalah Yola hanya diperbolehkan menggunakan 8 buah tanda panah. Sekumpulan tanda panah yang disusun oleh Yola akan diulang sebanyak 4 kali. Bola hanya dapat bergerak di kotak yang berwarna putih. Tantangan: Isilah kotak-kotak berikut dengan 8 tanda panah yang dapat mengarahkan bola hijau menuju kotak yang ditandai dengan 'x'! Jawaban kalian adalah: Tuliskan cara kalian menyelesaikan masalah ini... 34
Ayo, Kita Renungkan Setelah mengerjakan beberapa soal berpikir komputasional dan berdiskusi, jawablah beberapa pertanyaan berikut ini dalam buku catatan kalian, untuk setiap tantangan yang diberikan. 1. Setelah kalian mencoba sendiri menemukan solusinya, menurut kalian, bagaimana kesulitan soal-soal tersebut? a. Sangat mudah b. Mudah c. Sedang d. Sulit e. Sangat sulit 2. Setelah berdiskusi dengan teman-teman kalian, apakah mereka menemukan solusi dengan langkah yang sama, mirip, atau sangat berbeda? 3. Apakah jawaban kalian sesuai dengan penjelasan guru? Jika tidak sesuai, apakah kalian menyadari ketidaksesuaiannya? 4. Kendala apakah yang kalian temukan saat mengerjakan soal-soal tersebut? Contoh kendala ialah misalnya sulit memahami soalnya atau tidak mendapatkan ide bagaimana menyelesaikan soal tersebut. Tuliskan pengalaman kalian! 5. Catatlah dalam buku kerja kalian, konsep informatika apa yang terkandung dalam setiap aktivitas. 6. Guru kalian tentu memberikan pengembangan dari soal ini. a. Ceritakan dalam bentuk tulisan, pengembangan soal tersebut dengan kalimat kalian sendiri! b. Jelaskan perbedaan utama soal yang sudah kalian kerjakan dibandingkan dengan soal yang baru c. Apakah soal yang merupakan pengembangan dari soal yang ada lebih susah? d. Pelajaran apa yang dapat kalian petik dari soal tersebut? 35
Uji Kompetensi Undangan Pesta Ulang Tahun Besok Petra akan merayakan ulang tahunnya. Sebagai rasa syukur, Petra ingin mengantarkan bingkisan untuk teman-temannya yang jarak rumahnya tidak lebih dari 20 km dari rumahnya. Tabel berikut ini menunjukkan jarak rumah Petra ke rumah teman-temannya. Perhatikan contoh cara membaca tabel tersebut berikut ini. Arti nilai 0 yang ditunjukkan oleh huruf A ialah jarak rumah Petra ke rumahnya sendiri ialah 0 km. Arti nilai 14 yang ditunjukkan oleh huruf B ialah jarak rumah Bagor ke rumah Cemlyn ialah 14 km. Arti nilai 5 yang ditunjukkan oleh huruf C ialah jarak rumah Penmon ke rumah Exter ialah 5 km. Arti tanda '-' pada tabel tersebut, seperti yang ditunjukkan pada huruf D, berarti tidak ada jalan yang menghubungkan rumah Exter ke rumah Holt. Petra dapat mencapai rumah lebih dari satu temannya dalam satu kali perjalanan. Misalnya, Petra dapat mencapai rumah Saron dengan jarak 16 km, yaitu Petra mencapai rumah Bath terlebih dahulu, dengan jarak 8 km, kemudian Petra melanjutkan perjalanan ke rumah Saron dari rumah Bath dengan jarak 8 km. 36
Orang tua Petra bertanya, berapa bingkisan yang harus mereka siapkan dan untuk siapa saja bingkisan tersebut akan diberikan? Selain itu, Ibu Petra ingin memberikan bonus cokelat kepada teman-teman Petra yang rumahnya berjarak lebih dari 17 km. Kepada siapa sajakah cokelat tersebut akan diberikan? Petunjuk: Data yang diberikan dalam bentuk tabel tersebut dapat kalian ubah menjadi bentuk struktur data lain, tentunya struktur data yang sudah kalian pelajari sebelumnya. Analisislah struktur data yang tepat untuk menggambarkan data tersebut agar lebih mudah diproses untuk mendapatkan jawaban yang kalian perlukan! Representasikan data tersebut dengan struktur data tersebut! Gambarkan data tersebut dalam struktur data yang tepat pada bagian ini. Jawaban kalian adalah: Ingin Tahu Lebih Jika kalian tertarik dengan materi ini dan ingin mendalaminya lebih jauh, berikut link yang bisa diakses: 37
Struktur data graf (graph): structure.htm Struktur data pohon (tree): structure.htm Data Structure for Kids 38
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Dean Apriana Ramadhan ISBN: 978-602-244-730-6 Bab 3 Teknologi Informasi dan Komunikasi Pada kelas VII dan VIII, kalian sudah mengenal berbagai macam aplikasi untuk mengolah kata, angka, gambar, presentasi, dan lain sebagainya. Saatnya di kelas IX ini, kalian berlatih untuk mengombinasikan penggunaan berbagai macam aplikasi dalam rangka menyelesaikan tugas yang diberikan kepada kalian. Pembuatan sebuah dokumen dapat dianalisis berdasarkan konten yang terdapat pada dokumen tersebut. Ketahuilah bahwa di dunia ini, banyak format dokumen dan banyak pula aplikasi yang dapat digunakan untuk mengolah dokumen. Tujuan Pembelajaran Setelah mempelajari bab ini, kalian mampu memanfaatkan tools (perkakas) yang banyak digunakan untuk menghasilkan dokumen yang berisi teks, data, dan gambar yang dapat dipakai sebagai laporan atau presentasi dan mengomunikasikan ide secara tertulis. Kalian juga akan mampu menganalisis aplikasi yang paling efisien untuk digunakan dalam pembuatan sebuah dokumen, bergantung pada tujuan dan penyajian isi dokumen. Selain itu, 39
kalian akan mampu membuat blog sederhana sebagai ruang pajang digital milik pribadi kalian serta mengelola konten di dalam blog kalian. Kalian juga mampu untuk membuat sebuah video blog atau yang kita sebut sebagai vlog. Pertanyaan Pemantik Pernahkah kalian melihat atau membaca majalah? Halaman majalah biasanya berisi kata, grafik, gambar, foto bahkan tabel dan angka. Menurut kalian, perkakas apa saja yang diperlukan untuk membuat sebuah halaman majalah? Bagaimana langkah-langkah membuat elemen seperti grafik, gambar maupun tabel? Apakah kita memerlukan lebih dari satu aplikasi untuk membuat hal itu? Peta Konsep Pengolah Kata Aplikasi Presentasi Integrasi Konten Analisis Konten Vlog TIK Aplikasi Lembar Kerja Blog Gambar 3.1 Peta Konsep Teknologi Informasi dan Komunikasi 40
Apersepsi Pada unit TIK ini, kalian akan lebih banyak belajar tentang bagaimana memanfaatkan berbagai aplikasi, khususnya dalam membuat dokumen yang menunjang tugas kalian dan kelak saat meniti karier di masa yang akan datang. Kalian juga akan belajar tentang ruang digital berupa blog dan vlog. Kedua hal tersebut merupakan salah satu bentuk eksistensi kalian di dunia maya dan kelak akan menjadi jejak digital kalian. Bayangkan, kalian membuat sebuah majalah dinding yang terdiri atas teks, gambar, dan mungkin grafik. Tentunya, kalian akan memikirkan komposisi teks, gambar dan grafik yang digunakan. Semua itu dilakukan agar pembaca dapat dengan mudah mencerna informasi yang disampaikan. Proses berpikir, menelaah, dan menganalisis berbagai konten yang akan dituangkan ke dalam sebuah media penyampaian informasi inilah yang akan dilakukan pada bab ini. Kata Kunci Aplikasi perkantoran, word processing (pengolah kata), aplikasi presentasi, aplikasi pengolah lembar kerja, blog/vlog, analisis tujuan dan konten. A. Integrasi Konten Aplikasi Perkantoran Penggunaan komputer sudah menjadi rutinitas di zaman sekarang. Hampir tidak ada pekerjaan perkantoran yang tidak berhubungan dengan pembuatan sebuah dokumen. Untuk membuat sebuah dokumen, tentu kalian akan menggunakan aplikasi pengolah kata, pengolah lembar kerja, bahkan sampai menggunakan aplikasi pembuat presentasi. Banyak aplikasi perkantoran yang sudah dikenalkan pada jenjang kelas VII dan VIII. Cobalah mengingat kembali materi tersebut. Aplikasi perkantoran merupakan alat pendukung yang wajib terpasang di komputer kantor. Setidaknya, ada tiga aplikasi perkantoran umum yang sering digunakan, yaitu aplikasi pengolah kata, aplikasi pengolah lembar kerja, dan aplikasi presentasi. Memiliki kemampuan untuk mengoperasikan aplikasi-aplikasi tersebut merupakan sebuah keharusan di era digital seperti sekarang. 41
Banyak aplikasi perkantoran yang dapat digunakan untuk mendukung pekerjaan membuat sebuah dokumen, mulai dari produk dari Microsoft, Apple atau produk dari OpenOffice. Saat ini, aplikasi perkantoran tersebut juga sudah tersedia dalam format web-apps yang memanfaatkan teknologi cloud. Contohnya ialah Office 365 yang dikeluarkan oleh Microsoft atau Google Suite yang merupakan produk dari Google seperti diperlihatkan pada Gambar 3.2. Perhatikanlah antarmuka aplikasi pengolah lembar kerja dan aplikasi pengolah kata yang dikeluarkan oleh Apple dan Microsoft seperti diperlihatkan pada Gambar 3.3! Secara garis besar, antarmuka aplikasi tersebut memiliki kesamaan dan dapat dipastikan juga bahwa cara penggunaannya juga banyak kesamaan. Gambar 3.2 Aplikasi Google Docs (kiri) dan Office 365 (kanan) Pengerjaan tugas-tugas sekolah atau perkantoran umumnya adalah membuat dokumen. Pembuatan dokumen mengandung banyak elemen seperti teks, gambar, tabel, dan grafik. Sering kali, kita membutuhkan lebih dari satu aplikasi untuk membuat elemen-elemen dokumen tersebut dan juga untuk menggabungkannya. (a) (b) 42
(c) (c) Gambar 3.3 Antarmuka pengguna dengan perangkat lunak perkantoran (a) Number, (b) Microsoft Excel for Mac, (c) Pages, dan (d) Microsoft Word for Mac Tahukah kalian bahwa kalian dapat menggabungkan sebuah elemen dokumen yang kalian buat pada aplikasi pengolah lembar kerja ke sebuah dokumen yang dibuat dengan menggunakan aplikasi pengolah kata? Tujuan pembelajaran materi ini adalah agar kalian dapat menggunakan berbagai macam aplikasi pengolah dokumen (kata, angka, grafik maupun tabel) untuk membuat sebuah dokumen yang tidak hanya terdiri atas satu elemen. Kalian juga akan belajar untuk menganalisis aplikasi apa yang akan kalian gunakan ketika akan membuat sebuah dokumen dengan bentuk tertentu. 1. Analisis Konten Konten ditentukan oleh tujuan dan juga kepada siapa dokumen ini akan dibaca. Mari, kita bedah satu per satu ciri khas dari setiap aplikasi perkantoran yang sudah kita kenal. Tabel 3.1 menunjukkan jenis aplikasi, contoh aplikasi dan ciri khas konten yang dapat dioleh menggunakan aplikasi tersebut. Tabel 3.1 Analisis konten dan Aplikasi yang dapat membuat konten No Jenis Aplikasi Contoh Aplikasi Ciri Khas Konten 1 Pengolah kata (word processor) Microsoft Word, Pages, Google Docs, OpenOffice Writer Konten lebih banyak mengandung teks. 43
No Jenis Aplikasi Contoh Aplikasi Ciri Khas Konten 2 Pengolah lembar kerja (spreadsheet) Microsoft Excel, Number, Google Sheet, OpenOffice Calc Konten dengan format angka, kalkulasi data numerik, grafik. 3 Pengolah presentasi (presentation processor) Microsoft PowerPoint, Keynote, Google Slides, OpenOffice Impress Konten untuk membuat presentasi yang lebih menonjolkan poin-poin dokumen (tidak detail karena hanya berupa poin utama dalam dokumen). 4 Pengolah gambar Microsoft Paint, Google Drawing, Inkscape Konten Gambar baik dalam format raster atau SVG (Scalable Vector Graphics). Pada awalnya, aplikasi pembuat dokumen memang dibuat khusus hanya untuk satu konten. Sejalan dengan perkembangan kebutuhan, aplikasi tersebut mulai bertambah fiturnya. Salah satu aplikasi pengolah kata yang populer saat periode awal ialah wordstar. Rilis pada tahun 1978, aplikasi wordstar merupakan pengolah kata yang sangat sederhana. Konten yang bisa dibuat menggunakan wordstar hanyalah konten teks, belum dapat menyisipkan gambar atau grafik. Seiring dengan berkembangnya kebutuhan manusia akan aplikasi pengolah kata, makin banyak aplikasi dan makin banyak pula fitur yang bermunculan. Saat ini, jarang sekali sebuah dokumen hanya dibuat dengan menggunakan satu konten seperti hanya teks. Sebagai contoh, buku yang kalian sedang baca ini mengandung banyak teks, gambar, dan juga grafik. laporan yang harus dipresentasikan di depan kelas? Biasanya, laporan ditulis menggunakan aplikasi pengolah kata. Ketika kalian diminta untuk mempresentasikan laporan tersebut, biasanya, kalian akan menggunakan aplikasi pembuat presentasi. Aplikasi yang bisa dipakai antara lain Microsoft Powerpoint, Google slides, Keynote, atau OpenOffice Impress. Tentu saja, dalam membuat presentasi laporan tersebut, kalian tidak bisa langsung menyalin apa yang ada di laporan dalam format dokumen teks seperti Microsoft word atau yang sejenis. Kalian harus membuat ringkasan agar presentasi kalian tidak membosankan. Presentasi, biasanya, dibuat dalam format slides. Sebuah slides Pernahkah kalian diminta membuat sebuah 44
biasanya berisi poin-poin penting berupa butir-butir. Selain terdapat konten dalam format teks, biasanya, sebuah slide juga memiliki konten pendukung lain seperti gambar, video, infografis, tabel bahkan grafik. Sebenarnya, kalian dapat membuat dokumen laporan keuangan rinci menggunakan Microsoft Word. Namun, ketika melihat struktur data yang ada di laporan keuangan, kalian akan menemukan berbagai bentuk perhitungan. Tentu saja tipe data yang membutuhkan perhitungan ini kurang cocok untuk dibuat dengan menggunakan Microsoft Word. Dibutuhkan aplikasi tambahan berupa kalkulator untuk menghitung data tersebut apabila menggunakan Microsoft Word. Aplikasi pengolah lembar kerja (spreadsheet) seperti Microsoft Excel adalah yang paling efisien untuk membuat dokumen seperti ini. Pernahkah kalian menggunakan gunting untuk memotong bungkus bumbu minyak mi instan? Mengapa kalian menggunakan gunting dan tidak menggunakan pisau? Penggunaan pisau atau gunting memiliki tujuan yang sama, yaitu sama- sama memotong sesuatu. Namun, tentu pemilihan pisau dan gunting sebagai alat potong sangat bergantung pada kondisi barang yang akan dipotong. Sama halnya dengan pemilihan aplikasi untuk membantu menyelesaikan sebuah pekerjaan pembuatan dokumen. Terkadang, kalian perlu menganalisis konten yang menjadi bagian dari dokumen yang akan dibuat. Dengan memerhatikan jenis konten yang ada, kalian perlu menentukan aplikasi yang cocok. Antara satu orang dan yang lain memiliki kebutuhan yang berbeda untuk membuat sebuah dokumen. Oleh karena itu, mungkin untuk kondisi tertentu, kita akan menggunakan aplikasi A; di kondisi lain, kita menggunakan aplikasi B. Tidak masalah menggunakan aplikasi apa pun, yang penting kalian dapat menentukan secara optimal aplikasi yang dapat membuat pekerjaan kalian menjadi lebih efisien. Ayo, Kita Berlatih Aktivitas Kelompok 1. Kalian diminta untuk membuat daftar pengurus kelas dalam bentuk tabel. Daftar pengurus tersebut kemudian dapat dicetak menggunakan printer jika tersedia. Aplikasi apa yang akan kalian pakai untuk membuat daftar pengurus tersebut? Apa alasannya? 2. Kalian diminta untuk mempresentasikan beberapa usulan logo dari kegiatan ekstrakurikuler di hadapan wali kelas. Aplikasi apa yang akan kalian pakai? Apa alasannya? 45
Aktivitas TIK-09-01: Membuat Sebuah Laporan Kas Kelas Sederhana Ambilah studi kasus dari pengelolaan uang kas di kelas kalian. Mintalah data dari bendahara kalian. Kalian akan menggunakan data pembayaran uang kas dalam aktivitas kali ini. Sebagai pengurus kelas yang mencoba untuk menjalankan kepengurusan dengan mengedepankan transparansi, kalian akan membuat sebuah presentasi sederhana tentang visualiasi arus uang kas di kelas kalian dalam rentang waktu tertentu. Untuk tugas ini, buatlah maksimal 3 slide yang terdiri atas lembar judul, paparan utama, dan penutup. Apa yang kalian perlukan? Alat dan bahan konten • • • • ... Apa yang harus kalian lakukan? 2. Proses Analisis Masalah Lakukan analisis masalah dengan melihat produk akhir yang diminta serta jenis konten yang terdapat pada produk tersebut. Produk akhir yang diminta: ... Target pembaca: ... 46
Tujuan/kegunaan dokumen: ... Jenis konten: ... 3. Mencari Alternatif Solusi Tentunya banyak cara untuk membuat produk dokumen yang diinginkan. Kalian dapat menuliskan apa pun yang menurut kalian bisa menjadi solusi. Tuliskan sebanyak mungkin yang ada di pikiran kalian. Sebagai contoh solusi, sebenarnya kalian bisa memilih: Menggunakan fitur tabel Microsoft Word untuk menampilkan semua • • • pemasukan uang kas dari hari ke hari ... 4. Pemilihan Solusi dan Aplikasi Pendukung Berdasarkan hasil analisis masalah dan alternatif solusi, kalian dapat memberikan penilaian dari setiap solusi yang ada. Terlihat bahwa untuk membuat sebuah visualisasi, kalian perlu memanfaatkan kemampuan aplikasi pengolah lembar kerja (spreadsheet) untuk mengubah angka-angka tersebut menjadi sebuah grafik. Sebagai contoh langkah, kalian akan memindahkan data catatan dari buku uang kas ke dalam tabel yang terdapat pada aplikasi pengolah lembar kerja yang kalian gunakan. Buatlah 5 kolom sederhana yang terdiri atas nomor, hari/tanggal, pemasukan, pengeluaran, jenis pengeluaran, dan saldo. Contoh desain tabel yang akan dibuat dapat dilihat pada Tabel 3.2 47
Tabel 3.2 Contoh Desain Tabel Pencatatan Arus Kas Kelas No Hari/ Tanggal Pemasukan (Rp) Pengeluaran (Rp) Jenis Pengeluaran Saldo (Rp) Kalian mungkin membutuhkan kolom tambahan sebagai informasi tambahan. Kolom apa yang mungkin kalian tambahkan untuk kasus di atas? Apa alasannya?
... Alasan ... Alasan ... Alasan ... Alasan ... Ayo, Kita Diskusikan Langkah selanjutnya ialah menghasilkan data tabel tersebut sesuai dengan data yang ada di buku uang kas kelas kalian. Jangan lupa sesuaikan rumus untuk saldo (Tabel 3.3). Tabel 3.3 Contoh hasil pengisian data ke tabel di aplikasi pengolahan lembar kerja No Hari/ Tanggal Pemasukan (Rp) Pengeluaran (Rp) Jenis Pengeluaran Saldo (Rp) 1 2 4 Februari 2021 5 Februari 2021 50.000 40.000 20.000 24.000 Kebersihan Sosial 30.000 46.000 48
No Hari/ Tanggal Pemasukan (Rp) Pengeluaran (Rp) Jenis Pengeluaran Saldo (Rp) 3 4 5 6 7 8 9 6 Februari 2021 7 Februari 2021 8 Februari 2021 9 Februari 2021 10 Februari 2021 11 Februari 2021 12 Februari 2021 13 Februari 2021 10.000 50.000 50.000 150.000 240.000 15.000 15.000 6.000 60.000 50.000 20.000 1.000 4.000 55.000 Kebersihan Kebersihan Sosial Kebersihan Kebersihan Sosial Lomba 50.000 40.000 40.000 170.000 409.000 420.000 380.000 10 15.000 20.000 Lomba 375.000 Ayo, Kita Diskusikan 1. Bagaimana cara kalian menghitung saldo pada baris pertama? Apakah rumus tersebut dapat digunakan pada baris kedua dan baris seterusnya untuk menghitung saldo? 2. Setelah tabel pemasukan dan pengeluaran selesai, lakukan langkah- langkah yang sudah kalian pelajari di kelas sebelumnya untuk membuat grafik seperti pada Gambar 3.4. Gambar 3.4 Contoh grafik pemasukan uang kas kelas 49
Tuliskan langkah yang perlu kalian lakukan untuk memindahkan konten berupa grafik di atas ke sebuah file presentasi seperti pada Gambar 3.5! Gambar 3.5 Presentasi Grafik di Aplikasi Presentasi Kalian dapat menambahkan judul yang sesuai agar informasi grafik dapat terbaca dengan mudah. Selamat, kalian sudah bisa menggunakan dua buah aplikasi, yaitu pengolah presentasi dan pengolah lembar kerja untuk membuat sebuah presentasi tentang informasi uang kas kelas kalian. Ayo, Kita Renungkan Apakah kalian pernah melihat informasi yang disajikan dengan rapi dan sistematis? Tentu akan mempermudah pembaca dalam memahami konteks informasi yang akan disampaikan. Sebagai contoh, banyak tipe grafik yang terdapat pada aplikasi pengolah lembar kerja. Menampilkan data dalam bentuk grafik memiliki tujuan agar pembaca dapat langsung mencerna informasi yang diberikan secara cepat dan mudah. Data yang disajikan dalam bentuk tabel membutuhkan waktu lebih untuk mencerna informasi yang disajikan. Informasi dalam bentuk grafik merupakan upaya untuk membantu pembaca dapat memahami dengan cepat sebuah informasi dalam bentuk visual gambar. Menurut kalian, apakah informasi yang tersusun sistematis dapat meminimalisir kesalahan dalam menafsirkan informasi yang disampaikan ke pembaca? 50
Sebagai contoh kasus pada aktivitas pembuatan informasi arus uang kas kelas, carilah tipe-tipe grafik yang dapat dibuat oleh aplikasi pengolah lembar kerja seperti Microsoft Excel. Kira-kira, tipe grafik apa saja yang dapat dibuat berdasarkan data arus uang kas dari kelas siswa serta kegunaannya? Tulislah dalam lembar kerja di bawah ini! Tipe Grafik Data Penyusun Hasil Grafik Fungsi/Kegunaan Ayo, Kita Berlatih Aktivitas Kelompok Aktivitas TIK-09-02: Membuat Sebuah Buku Tahunan Kelas Kelas IX merupakan kelas terakhir di jenjang pendidikan SMP. Tentu banyak momen yang tidak terlupakan selama bersekolah di kelas VII, VIII, dan IX. Untuk mendokumentasikan berbagai momen tersebut, kalian dapat membuat buku tahunan sederhana bersama rekan-rekan kelas kalian. Dalam aktivitas ini, kalian ditantang untuk membuat sebuah produk buku tahunan. Semua anggota kelas berhak membuat 2 halaman yang bebas dikreasikan. Tentunya, sebagai buku tahunan, kalian perlu mendesain konten apa saja yang harus ada di dalam buku tahunan tersebut serta aplikasi yang digunakan untuk membuat konten tersebut. Apa yang kalian perlukan? Alat dan bahan konten • • • • ... Apa yang harus kalian lakukan? 51
1. Proses Analisis masalah Lakukan analisis masalah dengan melihat produk akhir yang diminta serta jenis konten yang terdapat pada produk tersebut. Produk akhir yang diminta: ... Target pembaca: ... Tujuan / kegunaan dokumen: ... Jenis konten : ... 2. Mencari Alternatif Solusi Tentunya, banyak cara untuk membuat produk dokumen yang diinginkan. Kalian dapat menuliskan apa pun yang menurut kalian bisa menjadi solusi. 52
Tuliskan sebanyak mungkin yang ada di pikiran kalian. Sebagai contoh solusi, sebenarnya kalian bisa memilih: • • • ... 3. Pemilihan Solusi dan Aplikasi Pendukung Hasil Buku Tahunan Tangkapan layar buku tahunan: Ayo, Kita Renungkan Membuat buku tahunan di setiap komputer merupakan cara yang biasa dipakai. Setiap anggota kelas membuat desain di komputernya masing- masing, lalu mengirimkannya kepada satu orang anggota kelas yang bertindak sebagai integrator yang menyatukan pekerjaan. Apakah dalam membuat buku tahunan ini ada aplikasi yang dapat digunakan secara kolaboratif ? Sebagai contoh, pembuatan komik biasanya dilakukan oleh banyak penulis yang bekerja secara mandiri maupun kolaboratif. Setiap penulis bertanggung jawab atas setiap halaman yang menjadi bagiannya. Ketika sudah selesai, hasilnya digabungkan dengan karya penulis yang lain agar tercipta sebuah komik utuh. Apakah dengan bekerja secara berkolaborasi, pekerjaan akan menjadi lebih efisien? 53
B. Blog Kalian sudah bisa membuat dokumen yang berisi berbagai macam konten, mulai dari teks, grafik, tabel, bahkan gambar. Kemampuan membuat sebuah dokumen yang multikonten merupakan kemampuan dasar ketika kalian mau membuat sebuah blog. Definisi blog pada awalnya adalah sebuah tempat di internet (web) berupa catatan harian dari seseorang (log) yang disusun dengan pendekatan waktu atau berupa linimasa (timeline). Blog dipublikasikan melalui internet sehingga orang lain dapat dengan mudah membacanya tanpa harus meminjam catatan secara fisik. Blog menurut Kamus Besar Bahasa Indonesia adalah catatan harian atau jurnal pribadi di internet yang dapat diakses oleh siapa saja. Siapa pun dapat membuat blog sebagai sarana untuk berekspresi di dunia maya. Blog dapat diisi dengan berbagai macam konten. Saat awal kemunculan blog, kebanyakan konten yang dimasukkan ke dalam blog adalah cerita dari kehidupan penulisnya. Blog memungkinkan seseorang untuk berbagi cerita dalam bentuk tulisan kepada siapa pun di dunia internet. Terdapat dua layanan penyedia blog yang cukup popular di Indonesia, yaitu Blogger dan Wordpress (Gambar 3.6). Kedua layanan ini menyediakan layanan pembuatan blog secara gratis (Gambar 3.7). Selain menyediakan layanan gratis, kedua penyedia blog ini juga menyediakan layanan professional hosting blog yang memungkinkan nama domain menjadi domain pribadi milik setiap pemilik blog (Gambar 3.8) Gambar 3.6 Layanan blog oleh berbagai situs (a) Oleh Blogger (Sumber: (b) Oleh Wordpress (Sumber: 54
Gambar 3.7 Contoh Blog Catatan Pribadi Menggunakan Layanan Gratis Wordpress (Sumber: Gambar 3.8 Contoh Blog Catatan Pribadi Menggunakan Layanan Hosting Berbayar (Sumber: 1. Membuat Blog dengan Blogger Blogger merupakan sebuah layanan blog milik Google. Seperti halnya layanan Google yang lain, kalian dapat menggunakan alamat gmail kalian untuk membuat blog. Berikut adalah langkah untuk melakukan pembuatan blog disadur dari 55
1. Login ke Blogger. 2. Di sebelah kiri, klik panah bawah . 3. Klik blog baru. 4. Masukkan nama blog. 5. Klik berikutnya. 6. Pilih URL atau alamat blog. 7. Klik Simpan. 2. Mengelola Konten Blog Secara default, tampilan konten blog adalah linimasa. Halaman akan disusun berdasarkan konten yang paling terbaru. Berdasarkan pengalaman kalian dalam membuat berbagai macam konten, sekarang saatnya mulai mengklasifikasikan konten yang kalian buat di blog menjadi kanal-kanal informasi yang lebih tersusun. Penyusunan kategori di blog akan membuat pembaca blog kalian lebih mudah menemukan informasi yang diinginkan. Misalkan kalian memiliki hobi memasak, akan sangat memudahkan apabila setiap resep masakan yang kalian tulis di blog, diberi tag atau kategori untuk memudahkan pembaca mencari informasi di blog kalian. Ambil contoh pada blog masakan yang ada di awal. Penulis blog tersebut membuat kategori baru dari setiap resep masakan yang ditulis di blog. Kategorinya disusun berdasarkan bahan utama resep tersebut yaitu ayam, daging sapi, ikan, telur dan sebagainya (Gambar 3.9). Gambar 3.9 Kategori Konten pada Blog dengan Tema Masakan (Sumber: 56
Ayo, Kita Renungkan Selayaknya rumah yang harus dalam kondisi rapi, blog juga memiliki karateristik yang sama. Konten blog harus dibuat sedemikian rupa sehingga pembaca merasa nyaman berselancar di blog kita. Mengapa konten di blog perlu diorganisir? Kira-kira apa dasar seseorang dalam mengategorikan konten-konten di blognya? Tautan berikut berguna ketika kalian ingin membuat konten dan mengorganisirnya jika kalian menggunakan layanan blogger: • topic=3339243 topic=3339243 topic=3339243 topic=3339243 Kalian tidak dapat menemukannya? Mungkin, halaman tersebut sudah berubah. Silakan gunakan kemampuan kalian untuk mencari informasi tentang cara membuat dan mengatur konten di blog dengan menggunakan sebuah mesin pencari! Selain menggunakan layanan blogger, terdapat alternatif lain untuk membuat blog adalah dengan menggunakan layanan wordpress. Layanan ini dapat diakses di alamat Tampilan Antarmuka registrasi blog dengan menggunakan layanan Wordpress dapat dilihat pada Gambar 3.10 57
Gambar 3.10 Antarmuka proses registrasi blog pada layanan Wordpress (Sumber: Ayo, Kita Lakukan Aktivitas Individu Aktivitas TIK-K9-03 : Membuat Blog sederhana Pada aktivitas ini kalian akan berlatih membuat sebuah blog sederhana untuk menceritakan pengalaman kalian dalam melakukan kegiatan ekstrakurikuler. Apa yang kalian perlukan? 1. Komputer/laptop yang telah terpasang web browser dan terkoneksi dengan internet 2. Cerita tentang pengalaman kegiatan ekstrakurikuler di sekolah 3. 3 buah gambar/foto kegiatan 4. Alamat email Apa yang harus kalian lakukan? Rancanglah sebuah halaman blog yang berisi profil serta pengalaman- pengalaman kalian. Susun berbagai macam konten di blog kalian menjadi beberapa kategori. Kalian dapat melakukannya sambil mengisi lembar kerja yang disediakan 58
Lembar Kerja No Alamat Tautan Blog Tangkapan Layar Blog Deskripsi Halaman Blog Struktur informasi/kategori di blog yang akan kalian buat seperti berikut. No Kategori blog Deskripsi 1. Profil Berisi berbagai macam informasi tentang profil saya, yaitu .......,..........,....... 2. 3. 4. Selalu ingat! Tidak semua informasi harus ditampilkan di blog kalian. Informasi yang bersifat privat dan rahasia, tidak perlu dimasukkan menjadi sebuah konten blog. Semua konten yang ditampilkan di blog kalian akan terbuka pada publik dan akan menjadi jejak digital aktivitas kalian di internet. Bijaklah dalam mempublikasikan sebuah informasi di blog kalian. 59
C. Vlog Vlog merupakan pengembangan dari blog. Jika blog lebih mengarahkan untuk membaca konten, vlog merupakan blog yang dikemas dalam bentuk video. Istilah vlog berasal dari video blogging yang artinya membuat blog dalam format video. Vlog mulai marak saat ponsel berkamera mulai berkembang, khususnya pada bagian kamera depan. Untuk membuat vlog, kalian harus memiliki alat untuk merekam video seperti smartphone. Untuk hasil yang maksimal, kalian dapat menggunakan aplikasi untuk melakukan editing video. Contoh aplikasi editing video yang bersifat open source ialah openshoot. Aplikasi ini dapat diunduh di (Gambar 3.11). Gambar 3.11 Tampilan Halaman Web OpenShot (Sumber: Sebagaimana layaknya blog, vlog dapat dipublikasikan kepada semua orang. Layanan yang dapat digunakan untuk mempublikasi vlog yang telah dibuat salah satunya adalah Youtube. Awalnya, Youtube adalah sebuah perusahan kecil dengan layanan streaming video yang akhirnya diakuisisi oleh Google. Selain sebagai layanan untuk mempublikasikan vlog, Youtube juga menyediakan tutorial untuk belajar membuat konten video di Youtube Creator Academy (Gambar 3.12). 60
Gambar 3.12 Tampilan Halaman Youtube Creator Academy (Sumber: 1. Merekam Video Jika blog dibuat dengan cara ditulis menggunakan aplikasi pengolah kata, vlog dibuat dengan melakukan rekaman video. Kalian dapat merekam video dengan mudah menggunakan gawai yang kalian miliki seperti dengan menggunakan smartphone. Kalian dapat melakukan perekaman dengan kamera depan maupun kamera belakang. Untuk merekam video menggunakan smartphone, perhatikan hal berikut. a. Ketahui Posisi Mikrofon di Smartphone Sebelum mengambil gambar, pastikan posisi mikrofon di smartphone yang digunakan. Jangan sampai mikrofon tertutup oleh jari kalian. Jangan sampai kualitas gambar yang baik tak didukung dengan audio yang mumpuni sehingga hasil video keseluruhan tak cukup memuaskan dan harus melakukan pengambilan ulang rekaman. b. Gunakan Dua Tangan Kalian dapat menggunakan dua tangan untuk mengambil gambar. Hal ini akan meningkatkan stabilitas saat pengambilan gambar. Cara ini dapat meminimalisisr kejadian-kejadian seperti transisi yang kasar atau tiba-tiba serta pengambilan gambar yang bergetar. 61
c. Hindari Pemakaian Fitur Zoom Digital Agar mendapatkan kualitas gambar yang tidak kabur, hindari penggunaan zoom digital. Fitur zoom digital adalah memperbesar tangkapan gambar dengan melakukan pinch out pada layar ponsel. Dekati objek yang ingin direkam adalah langkah terbaik ketika mengambil gambar dengan menggunakan zoom normal. Pastikan smartphone tetap berada dalam kondisi stabil agar hasil tangkapan gambar tetap sempurna. d. Pilih Lokasi dengan Kontras yang Tak Terlalu Tinggi Selalu perhatikan kondisi cahaya saat akan mengambil rekaman. Hasil rekaman tidak akan maksimal apabila pencahayaan terlalu terang atau gelap. Posisikan diri di tempat dengan kontras yang tak begitu tinggi. Perhatikan bahwa posisi sumber cahaya akan sangat mempengaruhi hasil rekaman. e. Latih Pengambilan Gambar Tahap yang perlu diulang-ulang ialah tahap berlatih mengambil gambar. Makin sering mengambil gambar dan mendiskusikan hasilnya dengan teman kalian, akan semakin banyak pelajaran yang dapat kalian ambil. Kalian akan mendapatkan transisi yang lebih halus, gambar yang lebih stabil, dan pencahayaan yang baik jika sering berlatih melakukan pengambilan gambar. 2. Proses Editing Video Setelah melakukan perekaman video, hal selanjutnya yang perlu kalian lakukan ialah melakukan proses editing. Untuk melakukan proses editing, kalian dapat menggunakan aplikasi desktop maupun smartphone. Saat ini, terdapat juga layanan cloud untuk melakukan editing video. Kalian dapat mengunjungi halaman untuk mencobanya. Ayo, Kita Diskusikan Aktivitas Kelompok Aplikasi apa saja yang dapat membantu kalian untuk melakukan editing video? Untuk vlogger pemula, apakah bisa melakukan editing langsung di smartphone? Bagaimana caranya? 62
Uji Kompetensi Uraian 1. Apa keunggulan layanan aplikasi perkantoran yang berbasis cloud? 2. Apa perbedaan antara post dan page di dalam layanan blog wordpress? 3. Jelaskan langkah-langkah untuk menggabungkan 2 buah video yang direkam menggunakan smartphone! Masih ada tambahan soal Ayo, Kita Renungkan Setelah mempelajari materi ini, renungkan dan tuliskan pada buku kerja kalian. 1. Materi mana yang belum kalian pahami dan yang telah kalian pahami? 2. Materi mana yang paling menarik dan ingin kalian kuasai lebih dalam? 3. Tools TIK makin lama makin canggih. Interaksi antarmanusia dengan perangkat komputer juga semakin beragam dan canggih. Menurut kalian, apa permasalahan yang mungkin akan hadir seiring dengan bertambahnya fitur pada tools TIK? Ingin Tahu Lebih Jika kalian tertarik dengan materi ini dan ingin mendalaminya lebih jauh, berikut link yang bisa diakses. 1. Digital literasi: 63
2. Handout digital literasi, Dasar Internet, Dasar Search Engine, Dasar Email, Dasar Microsoft Word, Dasar Microsoft Excel, Dasar Microsoft Power Point: 3. 4. 5. 64
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Wahyono ISBN: 978-602-244-730-6 Bab 4 Sistem Komputer Di kelas IX ini tidak ada jam pelajaran untuk membahas materi Sistem Komputer. Akan tetapi, dari materi yang kalian telah pelajari di kelas VII dan VIII, ada beberapa hal yang penting untuk selalu kalian ingat dan praktikkan dalam keseharian ketika menggunakan komputer. Nah, agar kalian selalu ingat hal-hal penting itu, ada sekumpulan gambar dalam bab ini untuk kalian cermati dan ingat selalu saat kalian mempergunakan komputer. Gambar 4.1 Contoh Penggunaan Komputer yang Baik dan Tidak Baik 65
Gambar 4.2 Posisi Duduk yang Benar Ketika Menggunakan Komputer Belajar informatika tidak harus memiliki komputer. Hal yang paling utama dalam mata pelajaran Informatika ialah bagaimana kalian bisa belajar berpikir logis, terstruktur, dan sistematis saat menyelesaikan masalah. Masalah itu dapat berupa masalah sehari-hari yang sederhana hingga masalah yang lebih rumit dan kompleks. Maka, dalam buku Informatika ini, kalian juga dapat belajar berbagai materi yang dibahas, tanpa harus menggunakan komputer. Bahasa kerennya "CS unplugged", artinya belajar informatika (computer science) tanpa menggunakan komputer (unplugged). Dengan cara itu, kalian jadi lebih memahami cara mesin komputer bekerja, siap berinteraksi dengan mesin tanpa merasa canggung, dan suatu saat, kalian juga dapat menciptakan mesin semacam itu yang bisa membantu banyak orang. Asyik, bukan? Tetap bersemangat belajar dan bereksplorasi. Terus menggapai mimpi tanpa khawatir karena tidak memiliki alat yang memadai. 66
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Wahyono ISBN: 978-602-244-730-6 Bab 5 Jaringan Komputer dan Internet Di kelas IX, tidak ada jam pelajaran untuk membahas materi Jaringan Komputer dan Internet. Namun, kalian tentu masih ingat, di kelas VII dan VII, kalian sudah belajar tentang Jaringan Komputer dan Internet. Tentunya, kalian sudah tahu bahwa internet itu sangat bermanfaat untuk membantu kalian, orang tua kalian, bahkan orang lain. Nah, kalian harus selalu mengingat cara mengakses internet dengan aman. Ada beberapa hal yang harus selalu kalian ingat ketika terhubung dengan internet supaya hal buruk itu tidak menimpa diri kita sendiri, keluarga kita, maupun orang lain seperti ilustrasi- ilustrasi pada Gambar 5.1. Nah, di kelas IX, tidak akan ada jam pelajaran untuk membahas materi Jaringan Komputer dan Internet. Namun, di luar kelas, sambil berkumpul bersama teman-teman, bagaimana jika kita mencoba untuk berbuat sesuatu supaya hal buruk itu tidak menimpa diri kita sendiri, keluarga kita, maupun orang lain. Kalian bisa berkelompok bersama 2 atau 3 teman sekelas, lalu buat sebuah karya yang mengingatkan orang untuk melakukan hal-hal seperti pada komik di Gambar 5.1. Karya ini bisa dibuat dalam banyak bentuk, bisa berupa poster, komik, video pendek, program Scratch, atau lainnya. Agar bermanfaat untuk orang lain, tentu karya itu perlu dipajang dengan cara yang tepat. Kalian bisa memasangnya di lingkungan sekolah, di balai kelurahan, atau juga di media sosial yang kalian punyai. Jangan lupa, cantumkan nama tim kalian yang membuat karya itu, ya. Wah, pasti keren, karya kalian bisa jadi akan mencegah terjadinya hal-hal yang tidak diinginkan. Meskipun masih SMP, kalian juga sudah menyumbangkan sesuatu bagi terwujudnya kebaikan di lingkungan kalian. 67
Gambar 5.1 Contoh Penggunaan Internet yang Baik dan Tidak Baik Karya ini mungkin tidak akan bersifat wajib bagi kalian untuk dinilai oleh guru. Namun, tentu Ibu/Bapak guru pasti akan sangat bangga dan mengapresiasi karya kalian jika kalian membuatnya. Kalian sendiri pasti juga akan bangga karena kalian sudah berbuat sesuatu yang berguna dengan gembira ☺☺. Oh, ya! Kalian juga bisa, lho, mengadakan pameran karya bersama rekan- rekan sekelas lalu mengundang kelas lain melihatnya. Makin keren, bukan? Selamat berimajinasi dan berkreasi .... 68
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Mewati Ayub ISBN: 978-602-244-730-6 Bab 6 Analisis Data Di kelas IX, tidak ada jam pelajaran untuk membahas materi Analisis Data. Meskipun demikian, dari materi yang telah kalian pelajari di kelas VII dan VIII, terdapat beberapa hal yang penting untuk selalu diingat dan dipraktikkan dalam keseharian ketika mengolah data. Agar kalian selalu ingat hal-hal penting itu, dalam bab ini, terdapat sekumpulan gambar untuk kalian cermati dan ingat selalu pada saat kalian mengolah data. Kita coba ingat kembali pengertian data dan informasi. Gambar 6.1 Ilustrasi Penerapan Analisis Data dalam Kehidupan Sehari-hari 69
Data pada umumnya berupa nilai numerik atau teks yang diperoleh dari suatu observasi. Informasi adalah hasil pengolahan data, dapat berupa peringkasan data, visualisasi data, atau hasil analisis data yang memberikan manfaat lebih atau nilai tambah. Gambar 6.1 menunjukkan ilustrasi tentang praktik baik penerapan analisis data dalam keseharian. Dalam kehidupan sehari-hari, kita akan selalu berhadapan dengan data. Di era digital sekarang ini, data makin banyak tersedia dalam berbagai macam bentuk. Pengolahan data dapat dilakukan secara manual maupun dengan menggunakan perkakas TIK. Makin banyak data yang harus diolah tentu membutuhkan perangkat yang dapat memudahkan untuk mengolahnya seperti pengolah lembar kerja maupun bahasa pemrograman. Kemampuan mengakses, mengolah, mengelola, dan menganalisis data secara efisien, terstruktur, dan sistematis untuk menginterpretasi serta memprediksi sekumpulan data dari situasi konkret sehari-hari menjadi kemampuan yang sangat dibutuhkan dalam kehidupan. Dengan kemampuan tersebut, kita dapat terbantu dalam mengambil keputusan seperti ilustrasi komik di Gambar 6.1. Besarnya manfaat informasi yang didapat dari pengolahan data membuat data kini menjadi aset yang sangat berharga bagi pemiliknya. Dalam mata pelajaran Informatika, kalian belajar cara mengolah dan menganalisis data. Kemampuan ini dapat terus kalian asah dengan menerapkannya dalam penyelesaian tugas berbagai mata pelajaran lain maupun dalam kegiatan organisasi sekolah. Dengan demikian, nantinya, kalian akan dapat memetik manfaatnya untuk masa depan. 70
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Natalia, dkk. ISBN: 978-602-244-730-6 Bab 7 Algoritma dan Pemrograman Sumber: Tujuan Pembelajaran Setelah mempelajari bab ini, kalian mampu mengenali objek-objek dan memahami perintah atau instruksi dalam lingkungan pemrograman Scratch dan Blockly, memahami modularisasi program dan model komputasinya, mengembangkan program visual sederhana berdasarkan contoh-contoh yang diberikan, mengembangkan program visual yang mendukung literasi numerik dan sains maupun terwujudnya karya digital kreatif lainnya, serta menerapkan aturan translasi konsep dari satu bahasa visual ke bahasa visual lainnya. Apabila robot tersedia, kalian juga akan mampu memahami Ozobot atau robot lainnya. 71
Pertanyaan Pemantik Pernahkah kalian mengajarkan hal yang sama ke beberapa orang di saat yang berbeda? Bagaimana agar kalian tidak perlu berulang kali mengajarkan hal yang sama walau ke orang yang berbeda? Kalian menuliskannya dalam secarik kertas dan akan memakainya jika perlu? Hal yang sama juga mungkin terjadi dalam pemrograman, yaitu ada kode yang sama yang akan diulang. Bagaimana agar penulisan kode program dapat lebih singkat tanpa mengulang kode yang sama? Peta Konsep Parity Bit Gambar 7.1 Peta Konsep Algoritma Pemrograman 72
Apersepsi Makin rumit program yang kalian buat, besar kemungkinan akan ada bagian program yang mengerjakan hal yang sama, tetapi dilakukan berkali-kali. Akan lebih praktis jika bagian program yang sering berulang itu disimpan di suatu tempat dan dipanggil saat bagian program tersebut dibutuhkan. Cara untuk membungkus sebuah bagian program ialah dengan membuat prosedur atau fungsi. Kata Kunci Pemrograman visual; algoritma; pemrograman; scratch; blockly; parameter; fungsi; prosedur; sistem bilangan; parity bit; ozobot. Di kelas IX ini, kalian akan mempelajari algoritma dan pemrograman lebih lanjut lagi. Di kelas VII, kalian telah dikenalkan dengan pemrograman visual menggunakan Scratch, di kelas VIII, kalian juga telah dikenalkan dengan pemrograman visual menggunakan Blockly. Kalian akan mempelajari lebih lanjut tentang perbedaan dan kesamaan kedua bahasa dan lingkungan pemrograman ini. Selain itu, kalian juga akan mempelajari tentang fungsi dan prosedur dengan menggunakan Blockly, kasus pemrograman terkait numerasi dan sains (yang merupakan bagian dari numerasi), serta modularisasi program dan model komputasinya. Jika sarana memungkinkan, kalian juga dapat mempelajari bagaimana mengendalikan robot menggunakan pemrograman. Kalian akan belajar bagaimana modularsi bekerja, seperti modul-modul yang dihasilkan dari sebuah pabrik mainan pada gambar ilustrasi awal. A. Scratch vs Blockly Kalian sudah pernah memprogram dengan menggunakan Bahasa Scratch. Dalam Bahasa Scratch, kalian selalu mempunyai stage (panggung), backdrop, dan Sprite (yang dinyatakan dalam bentuk gambar kucing, manusia, ular, atau benda apapun). Sprite dapat kalian "mainkan" seperti kalian memainkan wayang melalui perintah (digerakkan/diubah posisinya, bersuara, 73
mengatakan sesuatu dalam bentuk tekstual). Dalam sebuah program Scratch, kalian dapat membuat karya interaktif, yaitu Sprite dapat merespons event yang diberikan, misalnya melalui klik mouse, ketukan keyboard, atau lewat interface lainnya seperti konduktor (buah, copper plate atau lainnya) yang dihubungkan ke Makey-Makey sebagai interface ke komputer. Sprite dapat bereaksi terhadap event, atau digerakkan melalui perintah-perintah yang tersedia. Program pun baru akan mulai dijalankan saat kalian memberikan event. Pada dasarnya, pemrograman dalam Scratch berbasis event. Artinya, objek-objek yang tersedia siap menerima event dan dapat dieksekusi atau dijalankan kode programnya "bersama-sama". Sebagai catatan, objek-objek tersebut kelihatannya dijalankan bersama-sama, padahal sebetulnya, dilakukan secara bergiliran. Itulah sebabnya, misalnya kalian dapat mempunyai sebuah game, di mana ada dua sprite (objek) kucing yang berkejar-kejaran, atau bahkan dua kucing berebut ikan asin yang berjatuhan dari atas. Kalian harus menulis kode program untuk setiap sprite yang dibuat. Jika sudah belajar dengan baik, kalian tentu dapat memahami bagian ini. Beberapa blok Scratch sama dengan blok yang tersedia di Blockly. Mari, pelajari kesamaannya. Akan tetapi, patut dicatat bahwa blok yang dicantumkan di sini adalah blok Blockly yang dasar, yang belum diperkaya dengan blok yang digunakan untuk keperluan tertentu. Perbandingan ini didasari tools yang ada di: 1. Scratch: 2. Blockly : Scratch: Create Stories, Games, animation! Blockly : com/blockly 74
Dari gambar di atas, terlihat bahwa blok dalam Blockly dasar lebih sedikit dibandingkan Scratch. Scratch memang dirancang untuk membuat cerita (komik), permainan, dan animasi. Fitur dasar Scratch dirancang untuk membuat aplikasi yang lebih interaktif dibanding Blockly. Fitur yang disediakan Blockly lebih sedikit, yaitu berupa fitur dasar (primitif ) saja. Akan tetapi, dengan fitur dasar tersebut, kalian dapat membuat produk-produk seperti yang dapat dibuat dengan Scratch, meskipun membutuhkan waktu yang lebih lama. Cara yang dipakai untuk memprogram dalam kedua lingkungan tersebut juga berbeda. Scratch merupakan program visual yang berbasis event dan aplikasi hasil memprogram Scratch lebih interaktif. Adapun Blockly merupakan program yang menerapkan teknik pemrograman prosedural, tetapi perintahnya menggunakan blok yang sangat mirip dengan Scratch. Tahukah kalian bahwa Scratch 3.0 dikembangkan dengan menggunakan Blockly? Jadi, sebuah bahasa pemrograman dikembangkan menggunakan bahasa pemrograman yang sudah ada. Kalian dapat membaca mengenai hal ini pada tautan berikut ini: Lalu, mengapa kalian perlu mempelajari Scratch dan juga juga Blockly? Mengetahui dan dapat memakai banyak bahasa itu perlu, seperti dalam kehidupan nyata. Mau tidak mau, kalian juga perlu mengetahui banyak bahasa. Sebagai contoh, di Indonesia kalian menggunakan bahasa Indonesia, bahasa daerah, serta bahasa Inggris karena bahasa Inggris saat ini paling banyak dipakai sebagai bahasa komunikasi internasional. Semakin banyak bahasa yang kalian pelajari, kalian akan semakin bisa berkomunikasi dengan lebih banyak kalangan. Dalam dunia informatika, juga sama. Sebaiknya, kalian juga mengenal lebih dari satu bahasa pemrograman seperti Scratch dan Blockly. Tabel berikut ini menunjukkan perbandingan blok-blok dalam Scratch dan Blockly. 75
Tabel 7.1 Perbandingan Blok-Blok dalam Scratch dan Blockly Kelompok Blok Blok Scratch Kelompok Blok Blok Blockly Control Nama Blok: repeat Loops Nama Blok: repeat n times Nama Blok: repeat until Nama Blok: repeat while Simbol Visual: Nama Blok: forever Nama Blok: repeat_ forever Nama Blok: for each item in list Nama Blok: if then Logic Nama Blok: if.. do Nama Blok: if then else Nama Blok: if.. do.. else 76
Kelompok Blok Blok Scratch Kelompok Blok Blok Blockly Operators Nama Blok: + Math Nama Blok: + Nama Blok: - Nama Blok: - Nama Blok: * Nama Blok: × Operators Nama Blok: / Math Nama Blok: ÷ Nama Blok: mod Nama Blok: remainder of Nama Blok: length of Text Nama Blok: length of Variables Nama Blok: set variable to V a r i - ables Nama Blok: set variable to Nama Blok: change variable by Nama Blok: change variable by Nama Blok: show variable Nama Blok: return variable value Nama Blok: hide varible 77
Kelompok Blok Blok Scratch Kelompok Blok Blok Blockly MyBlock Nama Blok: Make a Block Function Nama Blok: to do something Nama Blok: Make a Block - Add an input Nama Blok: to do something input name:x Nama Blok: to do something...return Catatan penting Karena Scratch adalah bahasa yang berbeda dengan Blockly, tentu saja ada blok Scratch yang tidak ada pada Blockly. Sebaliknya, ada blok pada Blockly yang tidak ada pada Scratch. Uji Pemahaman Sebelum mulai membuat program, ayo, uji terlebih dahulu pemahaman kalian tentang perbedaan Blockly dan Scratch yang sudah dijelaskan di atas! 1. Pemrograman dalam Bahasa Scratch adalah pemrograman berbasis event. Apa yang dimaksud dengan pemrograman berbasis event? 2. Mengapa kalian perlu menguasai banyak bahasa pemrograman? 3. Tuliskanlah dua nama blok yang ada di Scratch, tetapi tidak ada di Blockly! 4. Tuliskanlah dua nama blok yang ada di Blockly, tetapi tidak ada di Scratch! 78
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-01: Bilangan Prima Tujuan: Mengenal dan membandingkan blok-blok yang ada pada Scratch dan Blockly Tingkat Kesulitan: 1 Syarat Pengetahuan: Konsep Bilangan Prima Untuk mengingat kembali blok yang ada pada Blockly dan Scratch serta melihat perbandingannya, kalian dapat melakukan aktivitas ini. Pada aktivitas ini, kalian akan membuat program dalam Blockly dan Scratch untuk menentukan apakah sebuah bilangan bulat positif, yaitu N, adalah sebuah bilangan prima atau bukan. Input: Sebuah bilangan bulat positif, yaitu N. Output: Tulisan di layar berupa Prima jika N adalah sebuah bilangan prima. Bukan Prima jika N bukan sebuah bilangan prima. Contoh Input dan Output: Nomor Contoh Input Contoh Output 1. 2. 3. 2 150 173 Prima Bukan Prima Prima Analisis 1. Untuk dapat memeriksa apakah sebuah bilangan bulat positif adalah bilangan prima atau bukan, kalian perlu mendefinisikan sebuah variabel, yaitu bilangan bulat positif N, sebagai input. 2. Selanjutnya, untuk dapat menentukan apakah sebuah bilangan adalah bilangan prima atau bukan, kalian perlu mengingat kembali definisi dari bilangan prima. Sebuah bilangan bulat positif N disebut prima jika N hanya memiliki dua buah faktor pembagi, yaitu 1 dan N. Oleh karena itu, perlu diperiksa apakah ada faktor pembagi selain 1 dan N. Kalian tentu 79
mengetahui bahwa faktor pembagi dari N pasti ada di antara 1 sampai dengan N. 3. Untuk itu, kalian perlu membuat sebuah variabel, yaitu variabel i. Variabel ini akan bernilai 2 sampai dengan N-1. Jika ada nilai i yang merupakan faktor pembagi dari N, maka N pasti bukan bilangan prima. Jika sebaliknya, maka pasti N adalah bilangan prima. Algoritma/ Kerangka Program Input: bilangan bulat N Output: Prima jika N adalah bilangan prima, atau Bukan Prima jika N bukan bilangan prima. Langkah: 1)Untuk semua nilai i = 2 sampai i = N: 2)Periksa apakah N habis dibagi dengan i: 3)Jika iya, maka N bukan bilangan prima 4)Jika tidak ada i yang habis membagi N, maka N adalah bilangan prima Berdasarkan analisis di atas, ayo, buatlah program Blockly dan Scratch untuk memeriksa apakah sebuah bilangan adalah sebuah bilangan prima atau bukan! Simpan program yang sudah kalian buat ke dalam sebuah file. Berilah file tersebut nama dengan format berikut: AP-K9-01-<Nomor Absen><Nama>. Catatan: Kalian juga dapat memberi nama file sesuai instruksi dari guru kalian. Ayo, Kita Renungkan Setelah melakukan aktivitas tersebut, pertanyaan ini pada jurnal kalian! lakukan refleksi dan jawablah 1. Apakah kalian senang belajar materi ini? 2. Apakah kalian dapat menjelaskan mengapa kalian perlu menguasai berbagai bahasa pemrograman? 3. Apakah kalian dapat menjelaskan perbedaan apa saja yang ada pada kode program dalam Bahasa Scratch dan Blockly untuk aktivitas di atas? 4. Apakah materi ini dirasa sulit? 5. Apakah kalian dapat menyelesaikan tugas praktik dari guru tepat waktu? 80
B. Literasi Numerik Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-02: Proyek Hitung Rata-Rata dari N Nilai Tujuan: Menggunakan perulangan dalam sebuah kasus literasi numerasi Tingkat Kesulitan: 2 Konsep yang Digunakan: Variabel, Perulangan Di kelas VIII lalu, kalian telah membantu bapak/ibu guru menghitung nilai rata-rata seorang siswa dari dua nilai yang dimasukkan. Kali ini, bantulah bapak/ibu guru menghitung nilai rata-rata kelas dari sejumlah siswanya. Misalnya, dalam penilaian akhir semester, untuk suatu mata pelajaran Bahasa Indonesia, terdapat lima siswa yang telah mengikuti ujian. Buatlah program yang dapat menghitung nilai rata-rata dari kelima siswa tersebut! Gambar 7.2 Ilustrasi Perhitungan Nilai Siswa Agar makin jelas, perhatikan rincian program yang diharapkan berikut ini. Input: Terdiri atas dua kelompok input N yang menyatakan banyaknya siswa. Nilai ujian Bahasa Indonesia dari N siswa. Output: Tulisan di layar berupa nilai rata-rata ujian Bahasa Indonesia untuk N siswa tersebut. Kalian dapat menganalisis permasalahan ini dengan mengingat kembali bagaimana menghitung rata-rata. 81
Sebagai contoh, perhatikan contoh input dan output berikut ini: Contoh Input Contoh Output 5 65.6 50 66 78 54 80 Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-03: Proyek Hitung Kriteria Ketuntasan Minimum dari N nilai Tujuan: Mengombinasikan perulangan dan percabangan dalam sebuah kasus literasi numerasi Tingkat Kesulitan: 2 Konsep yang Digunakan: Variabel, Perulangan, Percabangan Kali ini, bantulah guru Bahasa Indonesia menghitung berapa siswa yang nilainya belum memenuhi Kriteria Ketuntasan Minimum (KKM) dari semua siswa yang telah mengikuti ujian. Guru menetapkan nilai KKM yang mungkin bisa berubah mengikuti peraturan yang berlaku. Oleh karena itu, program harus dapat membaca banyaknya siswa yang mengikuti ujian, diikuti dengan nilai ujian dari semua siswa tersebut, dan dilanjutkan dengan nilai KKM mata pelajaran. Program harus dapat menampilkan banyaknya siswa yang nilainya di bawah KKM. Berikut ini rincian program yang diharapkan. Input: Terdiri atas tiga kelompok input N yang menyatakan banyaknya siswa. • Nilai KKM mata pelajaran. • Nilai ujian Bahasa Indonesia dari N siswa. 82
Output: Tampilan di layar berupa banyaknya nilai yang kurang dari KKM. Kalian dapat menggunakan percabangan di dalam perulangan untuk menghitung setiap nilai yang kurang dari KKM. Sebagai contoh, perhatikan contoh input dan output berikut ini. Contoh Input Contoh Output 5 3 60 50 66 76 54 80 C. Modularisasi Program Pernahkah kalian membuat rumah-rumahan dari sekumpulan balok kayu seperti yang ditunjukkan pada Gambar 7.3? Gambar 7.3 Mainan Balok Kayu Pada Gambar 7.3, kalian dapat melihat bahwa secara keseluruhan, rumah atau bangunan tersebut disusun dari beberapa balok dengan bentuk yang berbeda-beda, dan beberapa balok yang sama akan dipakai ulang. Setiap balok 83
tersebut dapat disebut modul, dan balok yang sama dapat dipakai ulang walau kodenya hanya ditulis satu kali, seperti saat kalian mengacu lampiran atau rujukan yang hanya ditulis satu kali dalam sebuah teks. Program komputer pada umumnya juga terdiri atas modul-modul. Berdasarkan Kamus Besar Bahasa Indonesia, modul program didefinisikan sebagai "bagian dari program yang ditulis dan diuji secara terpisah dan kemudian digabungkan dengan modul lain untuk membentuk program yang lengkap". Sama seperti penggunaan balok-balok penyusun rumah-rumahan, modul program dapat digunakan berulang kali walau kodenya hanya ditulis satu kali. Penggunaan modul berulang tersebut sama seperti saat kalian mengacu lampiran atau rujukan yang hanya ditulis satu kali dalam sebuah teks. Pada pertemuan ke-3 dan ke-4 ini, kalian akan belajar untuk membuat program yang terdiri atas dua modul atau lebih. Untuk dapat memahami modul program, mari, kalian kerjakan aktivitas berikut ini. Namun sebelumnya, perhatikan penamaan file program Blockly yang dapat kalian terapkan seterusnya. Penamaan File Program-Program Blockly Kalian akan membuat program dengan aplikasi Coding with Chrome Jika pada suatu aktivitas kalian diminta menyimpan kode program kalian, simpanlah program yang kalian buat dengan format nama file "AP-K9-<No. Ganti <No.Aktivitas> dengan dua digit terakhir kode aktivitas yang kalian kerjakan. Ganti <No.Absen> dengan nomor absen kalian. Ganti <Nama> dengan nama kalian masing-masing. Contoh: Kode aktivitas yang dikerjakan: AP-K9-04; Nomor absen: 11; Nama: Andi. maka nama file menjadi: AP-K9-04-11-Andi.cwc Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. 84
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-04: Modul Program: Fungsi Kuadrat Tujuan: Pada aktivitas ini, kalian akan mengimplementasikan perhitungan persamaan kuadrat yang mempraktikkan pembuatan modul-modul program Tingkat Kesulitan: 3 Syarat Pengetahuan: Fungsi Kuadrat Saat ini, kalian akan mencoba membuat program yang terdiri atas dua buah modul. Berikut ini adalah langkah untuk membuat modul pada Blockly. Blok Keterangan a. Untuk membuat sebuah modul program, pilihlah menu Functions pada Blockly. b. Setelah kalian memilih menu Functions, pilihlah blok [to do something return] ke-2 dari atas. c. Letakkan blok tersebut pada lembar kerja Blockly. Setiap modul pada program memiliki nama. Nama modul dituliskan pada bagian yang ditandai dengan kotak merah. Jika kalian tidak mengganti nama modul tersebut, nama modul tersebut adalah [do something]. 85
Sampai tahap ini, kalian sudah memiliki sebuah modul kosong dengan nama [do something]. Nama "do something", yang artinya ialah "lakukan sesuatu", merepresentasikan bahwa setiap modul pada program akan memiliki manfaatnya masing-masing. Sekarang, mari buat modul yang berhubungan dengan Matematika. Dalam pelajaran Matematika, kalian tentu sudah mengenal persamaan kuadrat. Salah satu contohnya ialah persamaan berikut ini: f(x) =ax2 +bx + c Persamaan 1 Nilai f(x) pada Persamaan 1 ditentukan oleh empat buah variabel, yaitu a, b, c, dan x. Mari, sekarang, buatlah sebuah modul program untuk menghitung f(x). Input: 4 buah variabel, yaitu variabel a, b, c, dan x Output: Tampilan nilai f(x) pada layar. Tabel di bawah ini adalah contoh input dan output dari program ini. No Contoh Input variabel a Contoh Input variabel b Contoh Input variabel c Contoh Input variabel x Contoh Output 1. 2. 1 5 1 3 1 10 2 2 7 36 Ikuti langkah berikut ini untuk membuat modulnya: Nama Block Keterangan Modul F1 1. Buatlah sebuah modul dengan nama F1. Parameter input 2. Seperti yang kalian ketahui, nilai pada Persamaan 1 f(x) akan bergantung pada variabel a, b, c, dan x. Dengan demikian, kalian harus membuat modul kalian dapat menerima nilai-nilai variabel tersebut. Klik bagian yang ditandai dengan kotak merah. 86
Nama Block Keterangan Parameter input 3. Buatlah empat buah variabel, yaitu a, b, c, dan x, yang akan menjadi input untuk modul yang dibuat. Perhatikan bahwa input yang kalian buat pada bagian A akan tertera pada bagian B. Bagian B ini disebut dengan parameter. Modul Fungsi Kuadrat Dengan demikian, modul F1 adalah modul yang memiliki empat buah parameter. 4. Salinlah blok berikut pada layar kerja kalian. Pada bagian A, kalian sedang menghitung nilai dari ax2 dan menyimpan hasilnya pada variabel ax2. Pada bagian B, kalian menghitung nilai bx dan menyimpan hasilnya pada variabel dengan nama yang sama, yaitu bx. Pada bagian C, kalian menghitung ax2 + bx + c dan menyimpan hasilnya pada variabel fx. Pada bagian D, modul program akan memberi tahu nilai dari variabel fx kepada modul lain yang memanggil modul F1 ini. 87
Sampai saat ini, kalian telah membuat sebuah modul dengan nama F1 yang bertujuan untuk menghitung nilai berdasarkan Persamaan 1. Setelah membuat satu blok modul F1, ceritakan dengan kata-kata kalian sendiri f(x) mengenai definisi dari modul program! Tuliskan pada jurnal kalian! Mari, buat sebuah modul lain yang berinteraksi dengan modul F1. Ikuti langkah berikut ini. Nama Block Keterangan Pilihan blok program modul 1. Pada menu Function, pilihlah blok program yang paling atas. Modul utama 2. Karena kalian sedang membuat modul utama, yaitu modul yang akan memanggil modul F1, gantilah nama modul yang kalian buat dengan nama "utama". 3. Perhatikan bahwa pada menu Functions, saat ini sudah terdapat sebuah blok bernama F1. 88
Nama Block Keterangan 4. Salinlah blok berikut pada layar kerja kalian. Blok tersebut berarti kalian sedang melakukan pemanggilan modul F1 dari modul utama. Bagian yang diberi kotak merah menunjukkan bahwa kalian sedang menentukan nilai untuk empat buah parameter modul F1. Dengan demikian, modul F1 yang bertujuan menghitung nilai f(x) berdasarkan Persamaan 1 yang semula adalah f(x) = ax2 + bx + c menjadi: f(x) = 2 + 22 + 3 * 2 + 5 Maka, nilai dari f(x) adalah 19. Menjalankan modul "utama" 5. Untuk menjalankan program ini, kalian perlu melakukan pemanggilan terhadap modul "utama". Pilihlah nama modul "utama" tersebut dari daftar modul yang ada pada menu Functions. Letakkan modul "utama" tersebut pada layar kerja kalian. 89
Nama Block Keterangan 6. Gambar berikut menunjukkan apa yang seharusnya terdapat pada layar kerja kalian juga. Hasil dari program Simpan file 7. Perhatikan bahwa setelah kalian meletakkan nama modul "utama" pada layar kerja kalian, Blockly akan menampilkan hasil f(x) dari, yaitu 19. 8. Untuk menyimpan file program kalian, pilih menu yang pada bagian kiri atas layar Blockly. 90
Nama Block Keterangan Simpan file 9. Pilih bagian "Save as new file" dan beri nama file dengan format: A P - K 9 - 0 4 - < N o . A b - sen>-<Nama> Contoh nama file jika adalah siswa nama Andi dengan nomor absen 11, nama file menjadi: "AP-K9-04-11-Andi. cwc" Penamaan Catatan: file bisa saja berubah bergantung pada instruksi dari guru kalian. Selamat! Kalian sudah berhasil membuat program pertama kalian yang terdiri atas dua modul! Ayo, Berpikir 1. Pada program yang telah kalian buat, terdapat dua buah modul bernama F1 dan utama. 2. Ketika kalian selesai membuat modul F1 dan belum membuat modul utama, tidak terjadi apa-apa pada program kalian. Demikian halnya juga yang terjadi setelah kalian selesai membuat modul utama, tetapi belum melakukan pemanggilan terhadap modul utama tersebut. 3. Pada program tersebut, modul utama dapat dikatakan memanggil modul F1. 4. Modul F1 mengembalikan sebuah nilai hasil perhitungan ke modul utama. Nilai tersebut disimpan pada variabel fx. 91
5. Ketika kalian meletakkan nama modul utama pada layar kerja kalian, kalian sedang melakukan pemanggilan terhadap modul utama tersebut. Saat sebuah modul dipanggil, modul tersebut akan menjalankan perintah- perintah yang terdapat di dalamnya. Secara sederhana, prosesnya dapat digambarkan dengan Gambar 7.4. 1 mulai 4 2 3 memanggil selesai modul utama modul F1 mengembalikan hasil perhitungan f(x) Gambar 7.4 Alur Program Perhitungan f(x) Pada dasarnya, setiap program memiliki sebuah modul yang menjadi titik awal jalannya program tersebut. Pada aktivitas ini, titik awal jalannya program dimulai dari modul utama. Pada beberapa bahawa pemrograman lain, modul yang menjadi titik awal jalannya program biasanya disebut modul main (dalam Bahasa Inggris, yang artinya utama). Cobalah untuk mengubah nilai parameter-parameter pada modul utama dan isilah tabel berikut. Tabel 7.2 Tabel Eksperimen Terkait Modul F1 No Parameter Hasil perhitungan manual Hasil dari program Sesuai? (ya/ tidak) a b c x 1 1 1 1 1 2 3 10 8 5 3 10 20 70 10 Kesimpulan apa yang dapat kalian tangkap berdasarkan tabel di atas? Tuliskan pada jurnal kalian! 92
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-05: Modul Program: Persamaan Linier Tujuan: Mampu mengimplementasikan perhitungan persamaan linier yang mempraktikkan pembuatan modul-modul program Tingkat Kesulitan: 3 Syarat Pengetahuan: Persamaan Linier Pada aktivitas ini, kalian tidak diberi panduan berupa blok programnya. Silakan berlatih membuat blok program berdasarkan contoh-contoh yang sudah diberikan pada aktivitas-aktivitas sebelumnya. Salah satu bentuk persamaan linear ialah f(x,y) = bx + y Persamaan 2 - Contoh Persamaan Linier Buatlah sebuah program untuk menghitung nilai f(x,y) seperti yang ditunjukkan pada Persamaan 2. Input: 3 buah variabel, yaitu b, x, dan y Output: Tampilan pada labar berupa nilai dari Tabel di bawah ini adalah contoh input dan output dari program ini. f(x, y) No. Contoh Input variabel b Contoh Input variabel x Contoh Input variabel y Contoh Output 1. 2. 2 10 3 5 3 30 9 80 Analisis: Untuk membuat program yang dapat menghitung persamaan liner tersebut, diperlukan dua buah modul berikut ini. 1. Buatlah modul bernama persamaanLinier yang bertujuan untuk menghitung f(x,y) dari persamaan 2 tersebut. 2. Buatlah sebuah modul bernama utama yang memanggil modul oleh modul persamaanLinier. persamaanLinier didapatkan dari modul utama. Modul ini akan menampilkan hasil perhitungan f(x,y) ke layar. Parameter diterima yang 93
Jalankan program tersebut dan isilah tabel berikut ini. Tabel 7.3 Eksperimen terhadap Parameter Persamaan 2 No b Parameter x y Hasil perhitungan manual Hasil dari program Sesuai? (ya/ tidak) 1 2 2 100 3 50 5 750 3 70 3 700 Simpan file program dengan format nama file: "AP-K9-05-<No.Absen>-<Nama>. cwc". Ayo, Kita Renungkan Berdasarkan Aktivitas AP-K9-04 (Modul Program: Fungsi Kuadrat) dan AP- K9-05 (Modul Program: Persamaan Linier), hal-hal apa saja yang dapat kalian simpulkan? Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-06: Modul Program: Modifikasi Modul F2 Tujuan: Mampu memahami parameter modul program Tingkat Kesulitan: 3 Syarat Pengetahuan: Fungsi Kuadrat Pada bagian ini, kalian akan belajar lebih lanjut terkait dengan parameter modul program. Mari, kita buat sebuah modul lain, yaitu modul F2. Pada modul F2 tersebut, kita akan memodifikasi modul F1. Ikuti langkah-langkah berikut ini. 94
Nama Block Keterangan Buka file 1. Untuk membuka file program kalian, pilih menu yang pada bagian kiri atas layar Blockly. Buka file 2. Buka file yang kalian buat pada Aktivitas AP-K9-04 dengan memilih menu "Open file". Simpan file 3. Pilih bagian "Save as new file" dan beri nama file dengan format: AP-K9-06-<No.Absen>- <Nama> Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Modul F2 4. Tampilkan parameter- parameter dari modul F2. Hapus parameter a, b, c, dan x. 95
Nama Block Keterangan Modul F2 5. Modul F2 yang adalah salinan dari modul F1, sekarang tidak memiliki parameter lagi. Karena tidak memiliki parameter, nilai a, b, c, dan x untuk persamaan f(x) = ax2 + bx + c dapat kalian tulis langsung pada kode program tersebut. Ubahlah variabel a, b, c, dan x menjadi: a = 7 b = 3 c = 5 x = 2 M o d u l utama 6. Perhatikan bahwa sekarang, pada modul "utama", tidak terdapat baris program yang memungkinkan kalian untuk mengisi nilai variabel a, b, c, dan x. Pemanggi- lan modul utama 7. Lakukan pemanggilan terhadap modul "utama". Tampilan hasil pro- gram 8. Pada bagian tampilan hasil program, kalian tetap dapat melihat hasil perhitungan dari f(x) =7 × 22 +3 × 2 + 5, yaitu 39 96
Jika kalian sekarang bekerja dengan Modul F2 dan Modul utama-nya saja, jawablah pertanyaan-pertanyaan berikut. 1. Apakah kalian masih bisa mengatur parameter a, b, c, dan x pada fungsi f(x) = ax2+ bx + c dari modul utama? 2. Jika kalian kaitkan dengan eksperimen yang kalian lakukan saat mengisi Tabel 7.2, apa yang dapat kalian simpulkan? Tuliskan jawabannya pada jurnal kalian! Ayo, Kita Refleksi 1. Apakah kalian sudah dapat memahami bahwa program komputer dapat terdiri atas beberapa modul sub-program? Jika kalian menemukan kesulitan, kesulitan apa yang kalian temui? 2. Bagaimana perasaan kalian setelah menyadari bahwa sekarang kemampuan kalian sudah bertambah, kalian sudah mampu membuat program komputer yang terdiri atas beberapa modul? 3. Kesimpulan apa saja yang kalian dapatkan dari pertemuan ini? D. Modularisasi Program (2) Perhatikan percakapan Ibu dan Andi berikut ini. Percakapan 1 Percakapan 2 97
Percakapan 1 Percakapan 2 Keterangan: Pada percakapan ini, Ibu bertanya dan menunggu jawaban dari Andi. Andi memberi jawaban kepada ibunya. Keterangan: pada percakapan ini, Ibu memberi perintah kepada Andi. Andi melakukan perintah tersebut dan Andi melaksanakannya secara mandiri. Andi tidak wajib melaporkan hasil pekerjaannya kepada Ibu karena Ibu tidak memintanya, tetapi Ibu dapat mengetahui status hasil pelaksanaan pekerjaan Andi setelah Andi selesai mengerjakan tugasnya. Percakapan antara Ibu dan Andi dapat menjadi analogi untuk mempelajari procedure dan function pada program. Istilah "procedure" dan "function" di sini tidak diterjemahkan ke dalam bahasa Indonesia. Dua istilah ini dipakai untuk menjelaskan makna konsep "procedure" dan "function" dalam pemrograman. Bahasa pemrograman mengimplementasi "procedure" dan "function" dengan berbagai cara dan juga memakai berbagai kata kunci. Seperti yang kalian ketahui melalui pertemuan sebelumnya, bahwa ketika akan membuat sebuah modul program melalui menu "Function" pada Blockly, kalian dapat memilih dua jenis blok. 98
Blok program untuk function Blok program untuk procedure Pada blok program ini, terdapat bagian return statement (ditandai dengan kotak merah). Modul program yang memiliki return statement, akan mengembalikan 'jawaban' atas aksi yang telah dilakukan pada blok tersebut. Hal ini dapat dianalogikan dengan Andi yang menjawab pertanyaan ibunya setelah menghitung apel di atas meja. Dalam pemrograman, modul program yang memiliki return statement dapat disebut function. Pada blok program ini, tidak terdapat return statement. Modul program yang tidak memiliki return statement akan melaksanakan perintah-perintah (blok-blok) yang terdapat pada modul tersebut, tetapi setelahnya, tidak akan mengembalikan nilai apa pun kepada pemanggil modul tersebut. Hal ini dapat dianalogikan dengan Andi yang melaksanakan perintah ibunya untuk mencuci apel dan meletakkannya kembali di atas meja. Dalam pemrograman, modul program yang tidak memiliki return statement dapat disebut dengan procedure. Ayo, Berpikir Perhatikan percakapan lain antara Andi dan Ibu pada Gambar 7.5 Gambar 7.5 Percakapan Andi dan Ibu 99
Menurut analisis kalian, Gambar 7.5 dapat dikategorikan sebagai ilustrasi untuk procedure atau function? Jelaskan jawaban kalian! Semoga kesamaan nama menu "Function" pada Blockly tidak membuat kalian bingung dengan istilah function dan procedure yang baru saja kalian pelajari. Agar semakin memahami mengenai function dan procedure, kerjakanlah aktivitas berikut ini. Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-07: Modul Program: Fungsi Kuadrat dan Plotting Tujuan: Mampu membuat program untuk melakukan pemetaan titik-titik hasil perhitungan fungsi kuadrat pada bidang dua dimensi Tingkat Kesulitan: 4 Syarat Pengetahuan: Fungsi Kuadrat dan bidang Cartesian Pada aktivitas ini, kalian akan membuat program yang terdiri atas tiga buah modul, yaitu modul untuk menghitung fungsi kuadrat, modul untuk melakukan pemetaan hasil fungsi kuadrat pada bidang dua dimensi, dan modul utama. Sebelum membuat dengan program, mari, buat pemetaan fungsi kuadrat tersebut secara manual. Fungsi kuadrat yang akan digunakan adalah fungsi kuadrat yang sama dengan yang terdapat pada pertemuan ke-3, yaitu f(x)=ax^2+bx+c Jika nilai variabel-variabelnya adalah a=5, b=10, dan c=20, lengkapi Tabel 2 berikut ini. Tabel 7.4 Eksperimen Fungsi Kuadrat x f(x) 0 1 20 2 3 100
x f(x) 4 Setelah mengisi Tabel 7.4, lengkapilah grafik pada Gambar 7.6. 5 Gambar 7.6 Tampilan Grafik f(x) pada Blockly. Hasil pemetaan titik-titik nilai tidak akan menjadi sama persis dengan yang kalian gambar pada Gambar 7.6 karena adanya perbedaan sistem bidang dua dimensi yang digunakan dalam matematika (bidang Cartesian) dan Blockly. Satuan yang digunakan pada Blockly adalah pixel. Titik pada bidang gambar Blockly berada pada sudut kiri atas bidang gambar, seperti pada Gambar 7.7. Saat ini, kalian akan mencoba memetakan titik-titik nilai f(x) f(x) (0,0) ` Gambar 7.7 Arah Koordinat pada Bidang Gambar Blockly Untuk membuat program yang dapat menggambar pemetaan nilai , diperlukan tiga buah modul, yaitu: f(x) a. Procedure utama. Modul ini adalah modul utama dari program. Pada modul ini, akan dilakukan pengulangan untuk pemanggilan modul- modul lainnya. b. Function F1. Modul ini adalah modul yang sudah pernah kalian buat pada pertemuan ke-3 pada Aktivitas AP-K9-04: Modul Program: Fungsi . Perhatikan Kuadrat. Modul ini bertujuan untuk menghitung nilai f(x) 101
bahwa modul ini akan mengirimkan hasil perhitungan fungsi ke modul utama agar dapat dimanfaatkan oleh modul utama. c. Procedure plot. Modul ini bertujuan untuk menggambar sebuah lingkaran pada bidang gambar. Perhatikan bahwa prosedur ini tidak mengembalikan nilai ke modul utama, hanya menggambar di layar, dan kalau sudah selesai, kontrol program akan kembali ke modul utama. Perintah selanjutnya setelah pemanggilan prosedur yang akan dijalankan. Ikuti langkah berikut ini: Nama Block Keterangan Membuka file (sama dengan Aktivitas AP-K9-06: Modul Program: Modifikasi Modul F1) 1. Buka file yang kalian buat pada Aktivitas AP-K9-04 dan simpan kembali file tersebut dengan format nama: AP-K9-<No. Aktivitas>-<No. Absen>-<Nama>.cwc Modul F1 2. Gunakan kembali modul F1 yang sudah pernah kalian buat. Menu Draw 3. Untuk menggambarkan titik-titik yang merepresentasikan nilai , gunakan menu "Draw" dari Blockly, dan pilihlah "Circle". f(x) Pada blok Circle, kalian dapat mengatur variabel- variabel yang diperlukan untuk menggambar sebuah lingkaran. 102
Nama Block Keterangan Parameter x dan y merepresentasikan posisi titik pusat lingkaran. Parameter radius adalah radius dari lingkaran. Kalian pun dapat mengatur warna garis lingkaran tepi lingkaran dengan parameter border_ color, sedangkan warna isi lingkaran dengan parameter color. Ketebalan garis tepi lingkaran dapat diatur dengan parameter border_size. Modul plot 4. Pada modul ini, titik pusat lingkaran ditentukan oleh nilai x dan f(x). Modul utama 5. Seperti yang kalian sudah kerjakan pada Tabel 2, nilai x yang akan kita gambar memiliki nilai awal 0 dan nilai akhir 5. Hal ini dapat dilakukan pada bagian A. 103
Nama Block Keterangan Pada blok bagian B, dilakukan pemanggilan terhadap modul F1. Nilai parameter a, b, dan c dapat ditetapkan pada bagian ini. Nilai parameter x mengikuti nilai variabel i ( ). i ⋲ Pada blok bagian C, {0,1,2,3,4,5} dilakukan pemanggilan terhadap modul plot. Parameter yang dikirimkan pada pemanggilan modul ini akan menentukan posisi lingkaran yang digambar. Pemanggilan modul utama Lakukan pemanggilan modul utama. Hasil pemetaan f(x) terhadap x Pada bidang gambar Blockly, kalian dapat melihat hasil pemetaan titik f(x). Dapat kalian lihat, tentunya gambar ini berbeda hasilnya dengan apa yang kalian gambar pada Gambar 7.6. Selamat, kalian sudah berhasil membuat program yang terdiri atas 3 modul! Bagian yang berbeda dengan Aktivitas AP-K9-04: Modul Program: Fungsi Kuadrat adalah pada bagian ini kalian membuat sebuah procedure plot. Procedure ini tidak mengirim nilai kembalian pada modul yang memanggilnya, tetapi meninggalkan 'jejak' yang dapat kalian lihat hasilnya. Setiap kali prosedur plot dipanggil, procedure tersebut menghasilkan sebuah lingkaran kecil pada bidang gambar Blockly. 104
Ayo, Kita Renungkan 1. Ceritakan dengan kalimat kalian sendiri mengenai persamaan dan perbedaan antara cara kerja function (misalnya modul F1) dan procedure (misalnya modul plot)! 2. Menurut kalian, kapan sebuah modul perlu mengembalikan nilai (return value) dan kapan sebuah modul tidak perlu kembalian mengembalikan nilai kembalian? 3. Mengapa sebuah modul pada umumnya memerlukan parameter? 4. Apa yang terjadi jika sebuah modul function atau modul procedure tidak mengandung/memanggil function atau procedure lain? Tuliskan jawabannya pada jurnal kalian! Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-08: Modul Program: Hitung Volume Tabung Tujuan: Mampu membuat program menghitung volume tabung Tingkat Kesulitan: 4 Syarat Pengetahuan: Konsep lingkaran, luas dan volume lingkaran Pada aktivitas ini, kalian tidak diberi panduan berupa blok programnya. Silakan berlatih membuat blok program berdasarkan contoh-contoh yang sudah diberikan pada aktivitas-aktivitas sebelumnya. Dari pelajaran Matematika, kalian telah mengetahui bahwa rumus umum untuk menghitung volume bangun ruang ialah menghitung hasil perkalian antara luas alas dan tinggi bangun ruang tersebut. Buatlah program untuk menghitung volume sebuah tabung. Input: 2 buah variabel, yaitu variabel r, t Output: Tampilan pada layar berupa hasil perhitungan nilai volume Tabel di bawah ini adalah contoh input dan output dari program ini. 105
Nomor Contoh Input variabel r Contoh Input variabel t Contoh Output 1. 2. 10 5 1570 Analisis 5 10 785 Program tersebut terdiri atas tiga buah modul, yaitu seperti berikut. a. Modul hitungLuasLingkaran. Modul ini bertujuan untuk menghitung luas lingkaran yang menjadi alas dari tabung. Modul ini memiliki sebuah parameter, yaitu r yang merepresentasikan jari-jari lingkaran. b. Modul hitungVolume. Modul ini bertujuan untuk menghitung volume tabung. Parameter dari modul ini adalah r yang merepresentasikan jari- jari lingkaran dan t yang merepresentasikan tinggi tabung. Modul ini memanggil modul hitungLuasLingkaran. c. Modul utama. Modul ini adalah modul utama yang bertujuan untuk memanggil modul hitungVolume dan menampilkan hasil perhitungannya. Simpan file yang kalian buat dengan format nama file AP-K9-<No. E. Literasi Sains Banyak hal di dunia ini yang terus bertumbuh menjadi lebih besar dan lebih banyak, tidak terkecuali makhluk hidup ataupun organisme yang ada. Ini dialami dunia pada saat terjadi pandemi virus COVID-19. Saat penyebaran virus tidak terkendali, semakin banyak jumlah kasus pasien yang terjangkit COVID-19. Sebagai contoh, dari data Worldmeter (2021) seperti dalam Gambar 7.8, terlihat bahwa pada tanggal 1 Desember 2020, total kasus di Indonesia mencapai 543.975 kasus, dengan pertambahan kasus baru di tanggal tersebut sebanyak 5.092 kasus. Pada tanggal 1 Januari 2021, total kasus mencapai 751.270 kasus dengan pertambahan kasus baru sebanyak 8.072 kasus. Walaupun peningkatan untuk kasus COVID-19 ini dipengaruhi oleh banyak faktor, tetapi model peningkatan ini dapat berlaku umum untuk pertumbuhan organisme. 106
(a) (b) Gambar 7.8 (a) Jumlah total kasus Coronavirus di Indonesia (b) Jumlah kasus baru per hari Coronavirus di Indonesia Sumber: Pada aktivitas kali ini, kalian akan membuat proyek untuk memodelkan pertumbuhan organisme pada lingkungan yang ideal tanpa banyak faktor yang mempengaruhi. 107
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-09: Proyek Pertumbuhan 3 Hari Tujuan: Menggunakan modularisasi program dalam sebuah kasus literasi sains Tingkat Kesulitan: 2 Syarat Pengetahuan: Perbandingan Senilai (Matematika) Konsep yang Digunakan: Variabel, Procedure/Function Titi sang peneliti cilik sedang diberi tugas oleh Bapak guru untuk mengamati pertumbuhan salah satu spesies bakteri pada berbagai media. Dia mengamati bahwa pertumbuhan bakteri di media tersebut memiliki skala yang tetap dalam kurun waktu tertentu. Misalnya, jika di hari pertama, terdapat 10 organisme dan kemudian di hari kedua, terdapat 20 organisme, maka di hari ketiga akan terdapat 40 organisme. Jika pada hari pertama terdapat 20 organisme dan kemudian di hari kedua terdapat 26 organisme, maka di hari ketiga akan terdapat 33 organisme. Setelah mengobservasi banyaknya organisme di hari pertama dan kedua, bantulah Titi untuk mengetahui banyaknya organisme di hari ketiga. Perhatikan rincian program yang diharapkan berikut ini. Input: Terdiri atas dua bilangan, yaitu banyaknya bakteri di hari pertama (H1) dan hari kedua (H2) Output: Tulisan di layar berupa banyaknya organisme bakteri di hari ke-3 Kalian dapat menganalisis permasalahan ini dengan mengingat kembali bagaimana menghitung variabel yang memiliki perbandingan senilai dalam pelajaran Matematika. Sebagai contoh, perhatikan contoh input dan output berikut ini: Contoh Input Contoh Output 10 40 20 108
Contoh Input Contoh Output 20 33 26 Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-10: Proyek Pertumbuhan N Hari Tujuan: Menggunakan perulangan dan modularisasi program dalam sebuah kasus literasi sains Tingkat Kesulitan: 3 Syarat Pengetahuan: Perbandingan Senilai, Laju Pertumbuhan (Sains) Konsep yang Digunakan: Variabel, Perulangan, Procedure/Function Setelah diberi tugas selama tiga hari, ternyata Titi masih diberi tugas untuk mengamati pertumbuhan bakteri selama beberapa hari ke depan. Saat menyelesaikan tugas tersebut, Titi berpikir untuk mencoba mempergunakan program yang dibuat sebelumnya. Titi akan menyimulasikan pertumbuhan bakteri ini di hari yang diminta dengan menggunakan program komputer. Bantulah Titi untuk memodifikasi program sebelumnya agar mendapatkan banyaknya bakteri di hari ke-N berdasar observasi jumlah bakteri di hari pertama dan kedua. Untuk memperjelas, perhatikan rincian program yang diharapkan berikut ini. Input: Terdiri atas tiga bilangan 1. Banyaknya bakteri di hari pertama (H1) dan hari kedua (H2) 2. Jangka waktu/hari pengamatan yang diminta (N) Output: Tulisan di layar berupa banyaknya organisme bakteri di hari ke-N. Sebagai contoh, perhatikan contoh input dan output berikut ini. Contoh Input Contoh Output 20 33 26 3 109
Contoh Input Contoh Output 8 276 12 10 Keterangan untuk contoh kedua: Jika program kalian benar, banyaknya organisme bakteri pada hari ketiga =18, hari keempat = 27, hari kelima = 40, hari keenam = 59, hari ketujuh = 87, hari kedelapan = 128, hari kesembilan = 188, dan hari kesepuluh = 276. Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-11: Proyek Capaian Pertumbuhan Tujuan: Menggunakan perulangan dan modularisasi program dalam sebuah kasus literasi sains Tingkat Kesulitan: 3 Syarat Pengetahuan: Perbandingan Senilai, Laju Pertumbuhan (Sains) Konsep yang Digunakan: Variabel, Perulangan, Percabangan, Procedure/ Function Simulasi belum selesai. Bapak guru mengharapkan Titi bisa mendapatkan minimal M organisme bakteri. Bapak guru menanyakan, untuk bisa mendapatkan lebih dari M organisme, berapa hari yang diperlukan oleh Titi? Bantulah Titi dengan memodifikasi program sebelumnya untuk mengetahui waktu yang diperlukan untuk bisa menyelesaikan tugas bapak guru. Perhatikan rincian program yang diharapkan berikut ini. Input: Terdiri atas tiga bilangan 1. Banyaknya bakteri di hari pertama (H1) dan hari kedua (H2) 2. Banyaknya minimal bakteri yang diharapkan (M) Output: Jangka waktu/hari yang diperlukan untuk mendapatkan minimal M bakteri. Jika pada kasus sebelumnya kalian dapat membuat program tanpa petunjuk, pada kasus ini juga kalian pasti bisa. 110
Sebagai contoh, perhatikan contoh input dan output berikut ini: Contoh Input Contoh Output 8 10 12 270 Keterangan: Jika program kalian benar, pada hari ke-9, masih terdapat 188 organisme, dan di hari ke-10, sudah mencapai 276 organisme. Contoh Input Contoh Output 20 52 26 50000 Keterangan: Jika program kalian benar, pada hari ke-51, masih terdapat 48.671 organisme, pada hari ke-52, sudah mencapai 56.159 organisme. F. Konverter Sistem Bilangan Masih ingatkah kalian mengenai sistem bilangan? Sistem bilangan yang paling umum digunakan adalah sistem bilangan desimal (bilangan berbasis 10). Dalam sistem bilangan desimal, setiap digit pembentuk bilangan dapat bernilai 0-9. Digit berubah dari 0, 1, 2, 3, dan seterusnya hingga mencapai angka 9. Saat sudah mencapai 9, digit kembali menjadi 0 dan digit di sebelah kirinya akan bertambah 1. Misalnya: 1 angka setelah 9 adalah 10. Kalian diharapkan mempelajari kembali sistem bilangan yang sudah dibahas di materi SK kelas VII dan materi BK kelas VIII sebelum melanjutkan materi ini. Pertanyaan: Mengapa sistem bilangan yang paling umum digunakan adalah sistem bilangan desimal? Jawab : Nah, ada sistem bilangan lain yang digit tertingginya bukanlah 9. Angka tertinggi dalam sistem bilangan ditentukan oleh basis dari sistem bilangan tersebut: 111
1. Pada sistem bilangan dengan basis 2, angka tertingginya adalah 1. 2. Pada sistem bilangan dengan basis 3, angka tertingginya adalah 2. Seperti yang sudah kalian pelajari sebelumnya, terdapat beberapa buah sistem bilangan yang umum digunakan, yaitu sistem bilangan biner (bilangan berbasis 2), oktal (bilangan berbasis 8), desimal (bilangan berbasis 10). Bagaimana jika basisnya lebih dari 10 ? Sistem bilangan yang basisnya lebih dari 10 dan banyak digunakan adalah heksadesimal. Basis untuk sistem bilangan heksadesimal adalah 16. Sistem bilangan heksadesimal memakai huruf A, B, C, D, E, F untuk menyatakan bilangan 10, 11, 12, 13, 14, 15. Sebuah bilangan bisa memiliki makna yang berbeda jika berada di sistem bilangan yang berbeda. Misalnya, 10100 pada bilangan desimal dan bilangan biner. Bagaimana 10100 pada sistem bilangan desimal dan sistem bilangan biner? Pada sistem bilangan desimal, bilangan 10100 memiliki makna: Setiap digit pada sistem bilangan desimal dikali dengan perpangkatan 10, dimulai dari digit paling kanan. Digit paling kanan yang dikenal sebagai satuan dikali , kemudian digit di sebelah kirinya dikali dengan , dan seterusnya. Dengan ide yang sama, pada sistem bilangan biner, setiap digit pada sebuah bilangan dikali dengan perpangkatan , dimulai dari digit paling kanan dikali dengan 20, kemudian digit di sebelah kirinya dikali dengan 21, dan seterusnya. Sebagai contoh, bilangan biner 10100 memiliki makna: 2 Dalam sistem bilangan desimal, bilangan biner adalah . Mengapa perlu konversi bilangan? 10100 20 Dalam hidup sehari-hari, manusia umumnya menggunakan bilangan desimal. Namun, dalam komputer, semua data disimpan dalam bentuk bilangan biner. Maka, untuk mempermudah manusia, layar komputer tidak menampilkan 112
data dalam bentuk bilangan biner, walaupun komputer menyimpan data dalam bilangan biner. Agar data yang tampil pada layar merupakan bilangan desimal, komputer melakukan konversi dari biner menjadi desimal. Begitu pula sebaliknya, saat pengguna memberi masukan yang berupa bilangan desimal, komputer melakukan konversi untuk mengubah masukan tersebut menjadi biner sebelum menyimpan data tersebut. Selain sistem bilangan biner, sistem bilangan lain yang sering digunakan adalah sistem bilangan heksadesimal. Komputer sering menampilkan alamat memori dalam sistem bilangan heksadesimal. Kalian bisa membaca ulang materi SK kelas VIII untuk mengingat kembali mengenai sistem bilangan heksadesimal. Dari beberapa contoh ini, kalian bisa melihat ada berbagai jenis sistem bilangan yang umum digunakan. Oleh karena itu, diperlukan sistem konversi bilangan untuk mengomunikasikan objek-objek yang berbeda sistem bilangannya. Target Program Dari subbab F hingga H, kalian akan belajar membuat program untuk mengonversi bilangan. Target akhirnya ialah kalian mampu membuat sebuah program untuk melakukan konversi bilangan dari sebuah sistem bilangan ke sistem bilangan lainnya. Pada program tersebut, pengguna dapat memilih sistem bilangan asal dan sistem bilangan tujuan dari minimal 3 sistem bilangan (sistem bilangan biner, oktal, dan desimal). Sebelum membuat program tersebut, kalian perlu memahami konsep/ persoalan yang akan diprogram. Pada kasus ini, kalian harus memahami konsep representasi bilangan dan komputasinya untuk mengonversi bilangan dari satu sistem bilangan ke sistem bilangan lainnya. Program akan terlalu kompleks jika diwujudkan sekaligus, apalagi jika masih ada sistem bilangan lainnya. Oleh sebab itu, perlu dibuat strategi agar kalian dapat menyelesaikan masalah ini tahap demi tahap, dan memanfaatkan tahapan sebelumnya untuk membuat sebuah solusi. Tahap terakhir ialah merangkai semua solusi menjadi sebuah program. Menyelesaikan sebuah persoalan besar dengan membuat tahapan solusi program pembangunnya ini disebut dekomposisi. Tahapan Penyelesaian Subbab F: Pada subbab ini, kalian akan mempelajari dan membangun program untuk mengonversi bilangan biner atau oktal ke desimal dan sebaliknya. 113
1. Konversi bilangan biner atau oktal ke bilangan desimal Pada bagian ini, kalian akan membangun 2 program: a. Konversi bilangan biner ke bilangan desimal b. Konversi bilangan oktal ke bilangan desimal 3. Konversi bilangan desimal ke bilangan biner atau oktal Pada bagian ini, kalian akan membangun 2 program: a. Konversi bilangan desimal ke bilangan biner b. Konversi bilangan desimal ke bilangan oktal Subbab G: Pada subbab ini, kalian akan mempelajari sebuah konsep baru untuk melacak kesalahan yang mungkin terjadi saat pengiriman data. Kalian juga akan membangun dua buah program untuk melakukan: 1. Konversi bilangan desimal menjadi biner yang ditambah parity bit genap. 2. Konversi bilangan biner dengan parity bit genap menjadi bilangan desimal. Subbab H: Pada subbab ini, kalian akan menggabungkan kode-kode program yang sudah dibuat di subbab G dan H untuk menghasilkan program yang dapat melakukan konversi bilangan dari beberapa sistem bilangan. a. Konversi Sistem Bilangan Biner dan Oktal ke Sistem Bilangan Desimal Untuk mengubah bilangan biner menjadi bilangan desimal, kalian dapat melakukan perkalian terhadap setiap digit pada bilangan biner tersebut dengan bilangan 2n, di mana dimulai ). Setelah setiap digit dari dikali dengan 2n, kalian perlu menjumlahkan semua hasil perkalian tersebut untuk mendapatkan bilangan desimalnya. adalah posisi digit dari kanan. Nilai (artinya digit paling kanan menempati posisi n n 0 0 Sebagai contoh, berikut ini merupakan konversi bilangan biner menjadi bilangan desimal 20. Digit pada Bilangan Basis 2 Posisi Bilangan Biner 10100 Perpangkatan dari Posisi Arti 10100 20 0 x 20 = 0 0 0 1 0 2 1 0 3 Bilangan desimal hasil konversi 10100 adalah 4 1 21 22 23 24 0 x 21 = 0 1 x 22 = 4 0 x 23 = 0 1 x 24 = 16 0 + 0 + 4 + 0 + 16 = 20 114
Buatlah tabel yang sama seperti tabel di atas ini untuk mengubah bilangan biner menjadi bilangan desimal. Tadi, kalian sudah mempelajari bagaimana mengubah bilangan biner menjadi desimal. Dengan ide yang sama, kalian juga dapat mengubah bilangan oktal menjadi bilangan desimal. Sistem bilangan oktal adalah sistem bilangan dengan basis 8. Artinya, digit pada sistem bilangan oktal adalah 0 hingga 7. Untuk melakukan konversi dari bilangan oktal menjadi desimal, setiap digit pada bilangan dikalikan dengan 8n seperti pada konversi bilangan biner ke desimal. 1011 Sebagai contoh, berikut ini merupakan konversi bilangan oktal menjadi bilangan desimal 4160. Bilangan Oktal 10100 10100 Digit pada bilangan basis 2 Posisi Perpangkatan dari posisi Arti 80 0 x 80 = 0 81 0 x 81 = 0 0 0 1 0 2 1 0 3 Bilangan desimal hasil konversi 10100 adalah 4 1 Buatlah tabel yang sama seperti tabel di atas ini untuk mengubah bilangan oktal 1011 menjadi bilangan desimal. 82 1 x 82 = 64 83 0 x 83 = 0 84 1 x 84 = 4096 0 + 0 + 64 + 0 + 4096 = 4160 Setelah mengerti bagaimana mengubah bilangan pada sistem bilangan lain ke sistem bilangan desimal, kalian akan membuat 2 buah program untuk melakukan konversi. Dua buah program yang akan kalian buat: 1. Konverter bilangan biner ke bilangan desimal 2. Konverter bilangan oktal ke bilangan desimal Kalian dapat memeriksa apakah program kalian sudah benar dengan cara mencocokan hasil konversi program kalian dengan hasil konversi dari konverter online yang sudah tersedia pada link convert/number/index.html. 115
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-12: Konverter Bilangan Biner ke Desimal Tujuan: 1. Mampu membuat program untuk mengonversi bilangan biner menjadi desimal 2. Mampu membungkus kode konversi bilangan biner ke desimal dalam sebuah function Tingkat Kesulitan: 2 Hasil: Dua buah program: 1. Program untuk melakukan konversi bilangan biner ke desimal 2. Modifikasi program yang dibuat di nomor 1. Program ini akan memiliki 2 buah modul. a. Sebuah Function Untuk Konversi Bilangan Biner Ke Desimal b. Modul utama Skenario Aktivitas: Pada aktivitas ini, kalian akan membuat konverter dari bilangan biner ke desimal menggunakan Blockly. Mari, definisikan terlebih dahulu apa masukan dan keluaran dari program ini. Berikut ini adalah spesifikasi (rincian) program yang akan kalian buat: Input: Masukan untuk program ini adalah sebuah bilangan dengan nama bilBiner. bilBiner: merupakan bilangan yang akan dikonversi. Output: Tulisan di layar berupa isi dari variabel bilDesimal. bilDesimal: bilangan desimal yang merupakan konversi dari bilBiner. Tabel di bawah ini adalah contoh input dan output dari program ini: Nomor Contoh Input Contoh Output 1 2 111 1000 7 8 116
Algoritma Setelah menentukan masukan dan keluaran dari program yang akan dibuat, mari, mempelajari algoritma untuk mengubah bilangan biner menjadi desimal. Seperti yang sudah dibahas sebelumnya, untuk mengubah bilangan biner menjadi bilangan desimal, kalian dapat melakukan perkalian terhadap setiap digit pada bilangan biner tersebut dengan bilangan 2n, di mana n adalah posisi (artinya digit paling kanan menempati digit dari kanan dan n dimulai dari ). Setelah setiap digit dikali dengan 2n, kalian perlu menjumlahkan posisi 0 semua hasil perkalian tersebut untuk mendapatkan bilangan desimalnya. 0 Proses mengalikan setiap digit dengan bilangan 2n akan dilakukan dengan perulangan. Perulangan dilakukan ketika n = 0 yang berarti digit yang dikalikan adalah digit paling kanan. n bertambah satu setiap kali digit yang diproses bergeser ke kiri. Ayo, Kita Renungkan Sebelum membaca pembahasannya, mari renungkan bagaimana cara untuk mendapatkan digit-digit dari sebuah bilangan? Misal, kalian memiliki bilangan . Bagaimana untuk mendapatkan , , dan ? 215 Pembahasan 2 1 5 Digit bisa diperoleh dari: 215 modulo 10=1 Untuk mendapatkan digit 5 , dapat digunakan ide yang sama: 21 modulo 10=1 Kalau begitu, menjadi bawah. harus diubah dulu menjadi dengan 1 , kalian dapat membagi 21 10 215 rounddown(215 : 10) = 21 215 21 . Untuk mengubah kemudian dibulatkan ke 215 Dengan ide yang sama, kalian bisa mendapatkan juga digit . paling kiri dari bilangan yang berada di 2 Ayo, Lakukan 215 Jika , bagaimana cara mendapatkan digit 1 dan mengubah menjadi ? x = 21 x 2 117
Setelah mengetahui bagaimana cara mendapatkan digit-digit dari sebuah bilangan, kalian akan mampu membuat program untuk melakukan konversi dari bilangan biner ke desimal. Sebelum mulai membuat kode program, pertama-tama kalian perlu menganalisis variabel-variabel yang dibutuhkan di dalam program ini. Analisis Variabel 1. Dibutuhkan sebuah variabel untuk menampung bilangan biner yang menjadi masukan. 2. Dalam proses konversi, bilangan biner diproses digit per digit dari paling kanan. Oleh karena itu, dibutuhkan sebuah variabel untuk menampung banyaknya digit yang akan diproses. 3. Dibutuhkan sebuah variabel untuk menampung informasi urutan digit yang sedang diproses dari yang paling kanan (posisi paling kanan adalah posisi 0). Variabel ini akan berfungsi sebagai pangkat dari 2. 4. Dibutuhkan sebuah variabel untuk menampung bilangan desimal hasil konversi. Kerangka Program Setelah mengetahui variabel-variabel yang perlu dibuat, cobalah untuk membuat kode program dari langkah-langkah di bawah ini. Pendefinisian Variabel 1. Buatlah sebuah variabel bilBiner yang berfungsi untuk menyimpan bilangan biner yang akan dikonversi menjadi desimal. Isi variabel bilBiner dengan bilangan yang ingin kalian konversi. (Catatan: bilangan harus berisi digit-digit 1 atau 0 saja). 2. Buatlah sebuah variabel untuk menampung digit yang akan diproses, yang dihitung dari bilangan biner. Beri nama variabel tersebut digit. 3. Buatlah sebuah variabel yang berfungsi untuk memberi tahu digit yang sedang diproses berada di posisi ke berapa dari kanan. Beri nama variabel tersebut n. Isi variabel n dengan . 4. Buatlah sebuah variabel bilDesimal yang berfungsi untuk menyimpan penjumlahan dari perkalian digit-digit pada bilangan biner dengan 2n. Isi variabel bilDesimal dengan 0 . 0 118
Algoritma a. Ulangi hingga semua digit pada variabel bilBiner selesai diproses. Isi variabel digit dari sisa hasil bagi variabel bilBiner dengan 1. 2. Tambahkan isi variabel bilDesimal dengan hasil digit x 2n 10. 3. Tambahkan variabel n dengan 1. . 4. Ubah variabel bilBiner menjadi pembulatan ke bawah dari hasil bilBiner/ b. Tampilkan hasil dari variabel bilDesimal. 10. Saran Kalian dapat menggunakan blok perintah [repeat while] atau [repeat until] untuk melakukan perulangan dari langkah 5 sampai dengan 8. Tentukanlah syarat untuk menghentikan perulangan. Tuliskan ekspresi perulangan dalam lembar kerja kalian! Buatlah program yang mengimplementasikan langkah-langkah pada kerangka program. Simpan program kalian dengan format penamaan file: AP-K9-12a- <No.Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-12a-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Testing Untuk menguji kebenaran program kalian, cobalah untuk mengubah-ubah isi variabel bilBiner dan periksa apakah hasil bilDesimal dari program kalian sesuai dengan hasil dari konverter online com/convert/number/index.html. Tuliskan hasil pengujian program kalian dalam lembar kerja dengan format berikut. Lakukan pengujian minimal 5 kali. bilBiner 111 ... AP-K9-12a ... ... bilDesimal Konverter Online ... ... 119
Modifikasi Program Jika kalian sudah memastikan program kalian dapat melakukan konversi dengan benar, sekarang mari, membungkus kegiatan konversi bilangan biner ke desimal dalam sebuah function. Buatlah function BinerToDecimal dengan spesifikasi (rincian) sebagai berikut. Parameter : bilBiner Kembalian : bilDesimal Fungsi : mengubah bilangan bilBiner yang menjadi parameter menjadi bilangan desimal yang disimpan dalam variabel bilDesimal Masih ingatkah apa itu parameter dan kembalian? Saat mempelajari modularisasi program, kalian pernah belajar mengenai parameter dan kembalian (return value). Ayo, baca lagi materi tersebut apabila kalian lupa. Parameter: nilai yang menjadi masukan (input) untuk sebuah fungsi saat fungsi tersebut dipanggil. Kembalian: nilai yang dihasilkan (output) oleh fungsi saat fungsi tersebut dipanggil. Pada modul utama kalian, lakukan hal berikut. 1. Buatlah variabel bilBiner dan beri isi untuk variabel tersebut. 2. Panggil function BinerToDecimal dengan parameter bilBiner. 3. Tampilkan isi variabel bilDesimal yang merupakan kembalian dari function BinerToDecimal. Simpan program kalian dengan format penamaan file: AP-K9-12b-<No. Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-12b-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. 120
Testing Untuk menguji kebenaran program kalian, cobalah untuk mengubah-ubah isi variabel bilBiner dan periksa apakah hasil bilDesimal dari program kalian sesuai dengan hasil program yang sudah kalian buat sebelumnya (AP-K9-12a). Tuliskan hasil pengujian program kalian dalam lembar kerja dengan format seperti berikut. Lakukan pengujian minimal 5 kali. bilBiner 111 ... AP-K9-12a ... ... bilDesimal AP-K9-12b ... ... Asesmen 1. Mengapa variabel n harus diisi terlebih dahulu dengan ? Apa yang terjadi jika variabel n tidak diberi isi terlebih dahulu? Apakah variabel n bisa diisi dengan angka lain selain 0 ? 2. Mengapa variabel desimal harus diisi terlebih dahulu dengan ? Apa yang terjadi jika variabel desimal tidak diberi isi terlebih dahulu? Apakah variabel desimal bisa diisi dengan angka lain selain 0 0 ? 3. Mengapa variabel biner yang dibagi harus dibulatkan ke bawah? Apa yang terjadi jika kalian menggunakan blok fungsi [round] dan bukan blok fungsi [round down]? 0 10 4. Pada algoritma yang diberikan untuk mengubah bilangan biner menjadi desimal, isi variabel biner terus berubah saat dilakukan perulangan. Jika pada akhir program, kalian ingin kembali menampilkan bilangan biner awal (misal ingin menampilkan bilangan biner awal dan hasil bilangan desimalnya), apa yang harus kalian lakukan untuk memodifikasi program kalian? 121
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-13: Konverter Bilangan Oktal ke Desimal Tujuan: 1. Mampu memodifikasi program yang sudah dibuat di Aktivitias AP-K9- 12 2. Mampu memodifikasi program konversi bilangan biner ke desimal menjadi konversi bilangan oktal ke desimal sebagai wujud pemahaman algoritma konversi dari sebuah sistem bilangan ke sistem bilangan desimal Tingkat Kesulitan: 2 Hasil: Sebuah program yang memiliki 2 buah modul. 1. Sebuah function untuk konversi bilangan oktal ke desimal 2. Modul utama Skenario Aktivitas: Pada aktivitas ini, kalian diminta untuk memodifikasi program AP-K9-12b agar program tersebut melakukan konversi dari bilangan oktal menjadi bilangan desimal. Pada lembar kerja kalian, tuliskan blok-blok apa saja yang harus diubah dan apa perubahannya. No Blok pada AP-K9-12b Perubahan yang Dilakukan 1 ... ... ... ... ... Setelah menentukan perubahan apa saja yang perlu dilakukan, kalian akan diminta untuk membuat program yang terdiri atas sebuah function bernama OctalToDecimal dan modul utama. Berikut ini adalah spesifikasi masukan dan keluaran program yang akan kalian buat: Input: Masukan untuk program ini terdiri atas sebuah bilangan dengan nama bilOktal bilOktal : merupakan bilangan yang akan dikonversi 122
Output: Tulisan di layar berupa isi dari variabel bilDesimal bilDesimal: bilangan desimal yang merupakan hasil konversi dari bilOktal Tabel di bawah ini adalah contoh input dan output dari program ini. Nomor Contoh Input Contoh Output 1 2 12 24 10 20 Function bernama OctalToDecimal memiliki spesifikasi: Parameter : bilOktal Kembalian : bilDesimal Fungsi : mengubah bilangan bilOktal yang menjadi parameter menjadi bilangan desimal yang disimpan dalam variabel bilDesimal Pada modul utama kalian: 1. Buatlah variabel bilOktal dan beri isi untuk variabel tersebut. 2. Panggil function OctalToDecimal dengan parameter bilOktal. 3. Tampilkan isi variabel bilDesimal yang merupakan kembalian dari function OctalToDecimal. Simpan program kalian dengan format penamaan file: AP-K9-13-<No. Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-13-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Testing Untuk menguji kebenaran program kalian, cobalah untuk mengubah-ubah isi variabel bilOktal dan periksa apakah hasil bilDesimal dari program kalian sesuai dengan hasil dari konverter online com/convert/number/index.html. Tuliskan hasil pengujian program kalian dalam lembar kerja dengan format seperti berikut. Lakukan pengujian minimal 5 kali. 123
bilOktal 107 ... AP-K9-13 ... ... bilDesimal Konverter Online ... ... Pengayaan Bagaimana jika program diberi masukan yang tidak sesuai dengan sistem bilangan yang seharusnya? Misalnya, pada sistem bilangan oktal, tetapi bilangan yang dimasukkan lebih kecil dari 0 atau lebih besar dari 7? Apakah hasilnya tetap benar? Apa yang harus dilakukan agar program kalian dapat menangani kasus di mana ada masukan yang tidak sesuai dengan sistem bilangan yang sedang digunakan? b. Konversi Sistem Bilangan Desimal ke Sistem Bilangan Biner dan Oktal Pada subbab sebelumnya, kalian sudah melakukan konversi bilangan dari sistem bilangan biner dan oktal ke sistem bilangan desimal. Pada subbab ini, kalian akan melakukan hal yang sebaliknya. Kalian akan mengonversi bilangan desimal menjadi bilangan biner atau oktal. Mari, mulai dengan mengubah bilangan desimal menjadi bilangan biner. Pada konversi bilangan biner menjadi bilangan desimal, yang kalian lakukan adalah mengalikan setiap digit dengan 2n. Untuk mengubah bilangan desimal menjadi biner, yang kalian lakukan adalah kebalikannya. Konversi bilangan desimal menjadi bilangan biner dilakukan dengan terus-menerus membagi bilangan desimal tersebut dengan basis dari bilangan biner, yaitu dan kemudian mencatat sisa hasil bagi dari operasi pembagian tersebut. Setiap kali menemukan sisa hasil bagi yang baru, sisa hasil bagi tersebut diletakkan di depan sisa hasil bagi sebelumnya. 2 Perhatikan contoh konversi bilangan pada sistem bilangan desimal menjadi bilangan biner 10100. 20 Bilangan Desimal 20 Digit Pada Bilangan Basis 10 Operasi Pembagian dengan Basis Bilangan Bulat Hasil Pembagian Sisa Hasil Bagi Hasil (Bilangan Berwarna Merah adalah Bilangan yang Baru Ditambahkan) 20 10 124 20/2 10/2 10 5 0 0 0 00
Bilangan Desimal 20 Digit Pada Bilangan Basis 10 Operasi Pembagian dengan Basis Bilangan Bulat Hasil Pembagian Sisa Hasil Bagi Hasil (Bilangan Berwarna Merah adalah Bilangan yang Baru Ditambahkan) 5 2 Bilangan biner hasil konversi 20 adalah 1 5/2 2/2 1/2 2 1 0 1 0 1 100 0100 10100 10100 Untuk memastikan pemahaman kalian, buatlah tabel seperti tabel di atas ini untuk melakukan konversi bilangan 33 pada sistem bilangan dengan basis 10 menjadi bilangan berbasis 2. Jika kalian sudah memahami konversi bilangan desimal menjadi biner, kalian dapat menggunakan ide tersebut untuk melakukan konversi dari bilangan desimal menjadi oktal. Perbedaannya terletak pada basis yang digunakan sebagai pembagi. Lengkapilah tabel berikut ini untuk melakukan konversi bilangan 33 pada sistem bilangan dengan basis 10 menjadi bilangan berbasis 8. Bilangan Desimal 33 Digit Pada Bilangan Basis 10 Operasi Pembagian dengan Basis Bilangan Bulat Hasil Pembagian Sisa Hasil Bagi Hasil 33 33/8 Bilangan oktal hasil konversi 33 adalah ... 4 4 ... 1 ... 1 ... Setelah mengerti bagaimana mengubah bilangan pada sistem bilangan desimal ke sistem bilangan lain, sekarang, kalian akan membuat 2 buah program untuk melakukan konversi. Dua buah program yang akan kalian buat: 1. Konverter bilangan desimal ke biner 2. Konverter bilangan desimal ke oktal 125
Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-14: Konverter Bilangan Desimal ke Biner Tujuan: Mampu membuat program untuk mengonversi bilangan desimal menjadi biner dengan mempergunakan function Tingkat Kesulitan: 2 Hasil: Sebuah program yang memiliki dua buah modul. 1. Sebuah function untuk konversi bilangan desimal ke biner 2. Modul utama Skenario Aktivitas: Pada aktivitas ini, kalian akan membuat konverter dari bilangan desimal ke biner pada Blockly. Mari, definisikan terlebih dahulu apa masukan, keluaran, dan algoritma dari program ini. Berikut ini spesifikasi masukan dan keluaran dari program yang akan kalian buat: Input: Masukan untuk program ini adalah sebuah bilangan dengan nama bilDesimal bilDesimal: merupakan bilangan yang akan dikonversi. Output: Tulisan di layar berupa isi dari variabel bilBiner bilBiner: bilangan biner yang merupakan konversi dari bilDesimal Tabel di bawah ini adalah contoh input dan output dari program ini. Nomor Contoh Input Contoh Output 1 2 Algoritma 7 8 111 1000 Setelah menentukan masukan dan keluaran dari program yang akan dibuat, mari, pelajari algoritma untuk mengubah bilangan desimal menjadi biner. Seperti yang sudah dibahas sebelumnya, untuk mengubah bilangan desimal 126
menjadi bilangan biner, kalian dapat melakukan pembagian dengan menerus hingga bilangan desimal menjadi . 2 Dalam setiap pembagian, catat sisa hasil bagi bilangan dengan . Sisa hasil bagi tersebut akan membentuk bilangan biner. Setiap kali menemukan sisa hasil bagi yang baru, sisa hasil bagi tersebut diletakkan di depan sisa hasil bagi sebelumnya. 0 terus- 2 Untuk meletakkan sisa hasil bagi yang baru di depan yang sebelumnya ditemukan, sisa hasil bagi yang baru dikalikan dengan 10n dengan n adalah urutan ditemukannya sisa hasil bagi tersebut. Setelah dikali dengan 10n, sisa hasil bagi tersebut ditambah dengan yang sebelumnya sudah ditemukan. Untuk sisa hasil bagi yang pertama ditemukan, nilai n adalah . Berikut contoh meletakkan sisa hasil bagi yang baru di depan sisa hasil 0 bagi yang ditemukan sebelumnya. 1. Sisa hasil bagi yang pertama ditemukan adalah . dikali dengan 100 sehingga tetap . 1 2. Sisa hasil bagi yang ditemukan berikutnya adalah 1 lagi. ini dikali dari langkah 1 dengan 101 sehingga menjadi nomor . ditambah dengan 1 1 . 10 sehingga diperoleh 10 Setelah membahas algoritma untuk melakukan konversi, kalian akan membuat program yang mengimplementasikan algoritma tersebut. Program yang kalian buat harus memiliki 2 modul, yaitu seperti berikut. 1 11 1 1. Function DecimalToBiner dengan spesifikasi: Parameter : bilDesimal Kembalian : bilBiner Fungsi : mengubah bilangan bilDesimal yang menjadi parameter menjadi bilangan biner yang disimpan dalam variabel bilBiner 2. Modul utama yang melakukan hal-hal berikut. Buatlah variabel bilDesimal dan beri isi untuk variabel tersebut. • Panggil function DecimalToBiner dengan parameter bilDesimal. • Tampilkan isi variabel bilBiner yang merupakan kembalian dari function DecimalToBiner. Sebelum menganalisis langkah per langkah untuk membuat konversi desimal menjadi biner, kalian perlu menganalisis terlebih dahulu variabel apa saja yang dibutuhkan. 127
Analisis Variabel 1. Sebuah variabel untuk menampung bilangan desimal yang menjadi masukan. 2. Di setiap langkah, akan dicari sisa hasil bagi bilangan desimal dengan . Sisa hasil bagi ini yang akan menjadi digit pada bilangan biner. Oleh karena itu, dibutuhkan variabel untuk menampung sisa hasil bagi (calon 2 digit pada bilangan biner). 3. Sebuah variabel untuk menampung bilangan biner yang dihasilkan. 4. Sebuah variabel yang berfungsi untuk menghitung urutan ditemukannya sisa hasil bagi yang sedang diproses. Kerangka Program Setelah menentukan modul yang akan dibuat dan menganalisis variabel- variabel yang dibutuhkan, cobalah untuk membuat program dari langkah- langkah berikut ini: Pendefinisian Variabel 1. Buatlah sebuah variabel bernama bilDesimal untuk menyimpan bilangan desimal yang akan dikonversi menjadi biner. 2. Buatlah sebuah variabel bernama digit untuk menampung digit yang akan diproses. 3. Buatlah sebuah variabel bernama bilBiner untuk menyimpan bilangan biner yang terbentuk. 4. Buatlah sebuah variabel bernama n untuk menghitung urutan ditemukannya sisa hasil bagi. Algoritma Untuk function DecimalToBiner: 1. Isi variabel bilBiner dengan 0. 2. Isi variabel n dengan 0. 3. Ulangi hingga variabel bilDesimal selesai dikonversi. a. b. Tambahkan variabel bilBiner dengan (digit x 10n). c. Ubah variabel bilDesimal menjadi bilDesimal/2 yang dibulatkan Isi variabel digit dengan sisa hasil bagi bilDesimal dengan 2. ke bawah. d. Tambahkan variabel n dengan 1. 128
4. Kembalikan variabel bilBiner. Untuk modul utama: 1. Isi variabel bilDesimal. 2. Panggil function DecimalToBiner dengan parameter bilDesimal. 3. Tampilkan isi variabel bilBiner yang merupakan kembalian dari function DecimalToBiner. Buatlah program yang mengimplementasikan langkah-langkah pada kerangka program. Simpan program kalian dengan format penamaan file: AP-K9-14- <No.Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-14-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Testing Untuk menguji kebenaran program kalian, cobalah untuk mengubah-ubah isi variabel bilDesimal. Kalian bisa menguji menggunakan hasil dari program AP-K9-12b. Periksa apakah hasil bilBiner dari program kalian sesuai dengan hasil program yang sudah kalian buat sebelumnya (AP-K9-12b). Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-15: Konverter Bilangan Desimal ke Oktal Tujuan: Mampu memodifikasi program yang sudah dibuat di Aktivitias AP- K9-14 sebagai wujud pemahaman mengenai algoritma konversi dari sistem bilangan desimal ke sistem bilangan lainnya Tingkat Kesulitan: 2 Hasil: Sebuah program yang memiliki 2 buah modul. 1. Sebuah function untuk konversi bilangan desimal ke oktal 2. Modul utama 129
Skenario Aktivitas: Pada aktivitas ini, kalian diminta untuk memodifikasi program AP-K9- 14 agar program tersebut dapat melakukan konversi dari bilangan desimal menjadi bilangan oktal. Pada lembar kerja kalian, tuliskan blok-blok apa saja yang harus diubah dan apa perubahannya. Blok pada AP-K9-14 Perubahan yang Dilakukan ... ... ... ... Setelah menentukan perubahan apa saja yang perlu dilakukan, kalian akan diminta untuk membuat program yang terdiri atas sebuah function bernama DecimalToOctal dan modul utama. Berikut ini spesifikasi masukan dan keluaran dari program yang akan kalian buat: Input: Masukan untuk program ini adalah sebuah bilangan dengan nama bilDesimal. bilDesimal: merupakan bilangan yang akan dikonversi. Output: Tulisan di layar berupa isi dari variabel bilOktal. bilOktal: bilangan oktal yang merupakan konversi dari bilDesimal. Tabel di bawah ini adalah contoh input dan output dari program ini. Nomor Contoh Input Contoh Output 1 2 10 20 12 24 Function bernama DecimalToOctal memiliki spesifikasi: Parameter : bilDesimal Kembalian : bilOktal Fungsi : mengubah bilangan bilDesimal yang menjadi parameter menjadi bilangan desimal yang disimpan dalam variabel bilOktal Pada modul utama kalian: 1. Buatlah variabel bilDesimal dan beri isi untuk variabel tersebut. 130
2. Panggil function DecimalToOctal dengan parameter bilDesimal. 3. Tampilkan isi variabel bilOktal yang merupakan kembalian dari function DecimalToOctal. Simpan program kalian dengan format penamaan file: AP-K9-15-<No. Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-15-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Testing Untuk menguji kebenaran program kalian, cobalah untuk mengubah-ubah isi variabel bilDesimal dan periksa apakah hasil bilOktal dari program kalian sesuai dengan hasil program yang sudah kalian buat sebelumnya (AP-K9-13). Ayo, Kita Renungkan Setelah melakukan aktivitas tersebut, pertanyaan ini: lakukan refleksi dan jawablah 1. Apakah kalian senang belajar materi ini? 2. Apakah kalian dapat mengerjakan semua langkah dengan baik tanpa hambatan? Jika ada hambatan, apa hambatan yang kalian alami? Bagaimana kalian mengatasi hambatan tersebut? 3. Apakah kalian dapat menjelaskan algoritma yang kalian gunakan untuk melakukan konversi? 4. Apakah kalian dapat mengubah-ubah algoritma tersebut sehingga kalian dapat membuat konverter untuk sistem bilangan lain? 5. Apakah materi ini dirasa sulit? 6. Apakah kalian dapat menyelesaikan tugas praktik dari guru tepat waktu? Tantangan Sistem bilangan heksadesimal merupakan sistem bilangan yang banyak digunakan di komputer, misalnya pada warna. Di komputer, warna direpresentasikan dengan menggunakan heksadesimal. Perhatikan Gambar 131
7.9 berikut ini, bagian yang dilingkari adalah representasi bilangan heksadesimal untuk warna yang dipilih. Gambar 7.9 Colors windows pada komputer Sistem bilangan heksadesimal memiliki basis 16, artinya digit tertinggi adalah 15. Akan tetapi, 15 terdiri atas 2 digit, seperti halnya 10, 11, 12, 13, dan 14. Hal ini bisa membuat ambigu karena 15 bisa juga diartikan sebagai 1 dan 5. Oleh karena itu, pada sistem bilangan heksadesimal, bilangan 10, 11, 12, 13, 14, 15 dinyatakan sebagai A, B, C, D, E, F. Konversi Bilangan Heksadesimal ke Desimal Untuk melakukan konversi dari heksadesimal ke desimal, idenya sama dengan biner dan juga oktal. Setiap digit pada heksadesimal dikalikan dengan 16n di mana n adalah urutan digit tersebut dari kanan (pada digit paling kanan, ). Misalnya, terdapat bilangan 13AF, tabel berikut ini menunjukkan proses konversi bilangan 13AF menjadi bilangan desimal 5039. Bilangan Heksadesimal 13AF Digit Pada Bilangan Basis 16 Posisi Perpangkatan dari Posisi Arti F 0 16n 161 15 x 16n = 15 10 x 161 = 160 A 132 1
Bilangan Heksadesimal 13AF Digit Pada Bilangan Basis 16 Posisi Perpangkatan dari Posisi Arti 3 Bilangan desimal hasil konversi 13AF 1 2 3 162 162 3 x 162 = 768 1 x 163 = 4096 1 + 160 + 768 +4096 = 5039 Konversi Bilangan Desimal ke Heksadesimal Dengan ide yang sama seperti konversi desimal ke biner dan oktal, cara konversi desimal ke heksadesimal juga dilakukan dengan terus-menerus membagi bilangan desimal tersebut dengan basis dari bilangan heksadesimal, yaitu 16, dan kemudian mencatat sisa hasil bagi dari operasi pembagian tersebut. Tabel berikut ini menunjukkan proses konversi bilangan 5039 pada sistem bilangan desimal menjadi bilangan heksadesimal 13AF. Bilangan Desimal 5039 Digit Pada Bilangan Basis 10 Operasi Pembagian dengan Basis Bilangan Bulat Hasil Pembagian Sisa Hasil Bagi Hasil (Bilangan Berwarna Merah adalah Bilangan yang Baru Ditambahkan) 5039 314 19 Bilangan heksadesimal hasil konversi 5039 1 5039/16 314/16 19/16 1/16 314 19 1 0 15 10 3 1 F AF 3AF 13AF 13AF Latihan Sudahkah kalian paham bagaimana melakukan konversi desimal ke heksadesimal dan sebaliknya? Cobalah untuk melakukan konversi untuk: a. bilangan b. bilangan 4000 3A41 dari desimal menjadi heksadesimal, dari heksadesimal menjadi desimal. 133
Ayo, Lakukan Sekarang, kalian sudah mempelajari mengenai sistem bilangan heksadesimal. Buatlah program untuk melakukan konversi heksadesimal ke desimal dan juga sebaliknya. Perbedaan dengan konverter sistem bilangan lainnya adalah kalian perlu melakukan percabangan untuk memetakan: 10 ↔ A 11 ↔ B 12 ↔ C 13 ↔ D 14 ↔ E 15 ↔ F G. Penambahan Parity Bit pada Sistem Bilangan Biner Pada subbab sebelumnya, kalian sudah membuat program untuk melakukan konversi dari sistem bilangan desimal ke sistem bilangan lain dan juga sebaliknya. Pada subbab ini, kalian akan belajar sebuah konsep yang digunakan untuk mendeteksi apakah terjadi kesalahan saat pengiriman data. Pemantik Pernahkah kalian merasa bingung saat mendengar perkataan teman kalian? Misalnya, kalian mendengar teman kalian berkata, "Aku minum topi". Saat kalian merasa ada yang salah dengan kalimat tersebut, kalian akan mengonfirmasi apa yang kalian dengar ke teman kalian dan meminta dia mengulangi mengucapkan apa yang tadi dia katakan. Ternyata kalimat tersebut harusnya, "Aku minum kopi". Teman kalian mungkin sudah mengucapkan dengan benar, tetapi saat kalimat tersebut diucapkan bisa saja angin bertiup kencang atau ada suara bising lainnya sehingga saat sampai ke telinga kalian, kalian mendengar hal yang berbeda dari yang dikatakan. Dalam pengiriman data, terkadang terjadi gangguan sehingga data yang diterima berbeda dengan yang dikirim. Misalnya: data yang dikirim adalah data yang diterima menjadi 11001001 11001000 Hal tersebut dikarenakan ada 1 bit yang berubah dalam perjalanannya. Untuk itu, penerima perlu meminta data dikirimkan ulang. Namun, yang menjadi masalah adalah bagaimana penerima mendeteksi apakah terjadi kesalahan saat pengiriman atau tidak? Salah satu ide agar kesalahan yang sederhana dapat terdeteksi ialah menambah sebuah bit yang disebut parity bit. Untuk menggunakan parity bit, tambahkan satu buah bit (0 atau 1) di akhir sebuah bilangan biner. Penambahan 0 atau 1 bergantung pada jenis parity yang digunakan. 134
Jenis parity bit 1. Parity Ganjil Jika data direkam menggunakan parity ganjil, untuk setiap bilangan desimal yang dinyatakan dalam bilangan biner, banyaknya bit 1 dibuat ganjil. Untuk membuat banyaknya bit 1 ganjil: a. Jika banyaknya bit 1 sudah ganjil, tambahkan bit 0 di akhir bilangan. b. Jika banyaknya bit 1 adalah genap, tambahkan bit 1 di akhir bilangan. Misalnya: Bilangan Desimal Bilangan Biner Banyaknya bit 1 Setelah Ditambah Parity Bit Ganjil Genap 8 Digit berwarna merah menandakan bit yang ditambahkan untuk 10 membuat banyaknya bit 1 ganjil. 1000 1010 10000 10101 2. Parity Genap Jika data direkam menggunakan parity genap, untuk setiap bilangan desimal yang dinyatakan dalam bilangan biner, banyaknya bit 1 dibuat genap. Untuk membuat banyaknya bit 1 genap: a. Jika banyaknya bit 1 sudah genap, tambahkan bit 0 di akhir bilangan. b. Jika banyaknya bit 1 adalah ganjil, tambahkan bit 1 di akhir bilangan. Misalnya: Bilangan Desimal Bilangan Biner Banyaknya bit 1 Setelah Ditambah Parity Bit Ganjil Genap 8 Digit berwarna merah menandakan bit yang ditambahkan untuk 10 membuat banyaknya bit genap. 1000 1010 10001 10100 135
Kerjakan di lembar kerja kalian! 1. Cobalah untuk mengubah bilangan desimal berikut ini menjadi biner dengan parity bit genap. a. 10 b. 13 2. Jika bilangan biner berikut ini sudah ditambah dengan parity genap, tentukanlah apakah bilangan tersebut merupakan bilangan yang benar? Jika tidak, berikan alasannya! Jika benar, konversilah bilangan tersebut menjadi bilangan desimal! a. 111 b. 1100 Dengan menggunakan parity bit, adanya bit yang berubah saat pengiriman mungkin dapat dideteksi. Misalnya: saat menggunakan parity bit ganjil, penerima menerima bilangan 1100. Banyaknya bit 1 di bilangan tersebut adalah 2 (bilangan genap). Sistem dapat mendeteksi jika data yang diterima salah dan meminta agar data dikirim ulang. Namun, sekalipun kesalahan dapat dideteksi, tetapi kesalahan apa yang terjadi tidak dapat dideteksi. Ayo, Kita Renungkan 1. Apakah ada kasus di mana kesalahan tidak terdeteksi? Berikan contoh- contohnya! 2. Dengan menggunakan parity bit, kesalahan dapat dideteksi, tetapi tidak diketahui bit mana yang salah. Mengapa demikian? Untuk menjawab pertanyaan-pertanyaan tersebut, mari, lakukan kegiatan unplugged berikut ini. Ayo, Bermain Aktivitas Berkelompok Aktivitas AP-K9-16-U: Pengantar Pesan Tujuan: Memahami bagaimana parity bit dapat digunakan untuk mendeteksi terjadinya kesalahan dan mengetahui kapan terjadinya kegagalan dalam mendeteksi 136
Skenario Aktivitas: Ajaklah dua orang teman kalian untuk bermain mengirim pesan. Peran: 1 orang sebagai pengirim pesan. 1 orang sebagai pengantar pesan. 1 orang sebagai penerima pesan. Skenario 1. Peserta didik yang mengirim pesan diminta untuk memberikan sebuah bilangan biner yang sudah ditambahkan parity bit genap kepada pengantar pesan. Pesan tersebut tidak boleh diketahui oleh penerima pesan. 2. Pengantar pesan diberi kebebasan untuk mengubah bit-bit yang ada, tetapi tidak boleh mengurangi atau menambah bit. Pengantar pesan kemudian menyampaikan bilangan tersebut ke penerima pesan. 3. Peseerta didik yang menerima pesan diminta untuk menentukan apakah bilangan tersebut merupakan bilangan yang benar. Jika ya, tentukan berapa bilangan desimalnya. 4. Peserta didik yang mengirim pesan mengonfirmasi jawaban dari penerima pesan tersebut. Lakukan kegiatan ini berkali-kali dan amati pada kasus seperti apa saja, penerima pesan tidak dapat mendeteksi kalau pesan yang diterima berbeda dari pesan yang dikirim. Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-17: Konverter Bilangan Desimal ke Biner dengan Parity Bit Genap Tujuan: Kalian mampu memodifikasi function untuk mengonversi bilangan desimal menjadi biner. Modifikasi yang dilakukan adalah menambahkan parity bit genap pada bilangan biner hasil konversi Tingkat Kesulitan: 2 Hasil: Sebuah program yang memiliki 2 buah modul. 137
1. Sebuah function konversi bilangan desimal ke biner dengan parity bit genap 2. Modul utama Skenario Aktivitas Pada aktivitas ini, kalian akan membuat sebuah function DecimalToBinerEven. Mari, definisikan terlebih dahulu apa masukan dan keluaran dari program ini. Berikut ini adalah spesifikasi masukan dan keluaran program yang akan kalian buat: Input: Masukan untuk program ini terdiri atas sebuah bilangan dengan nama bilDesimal. bilDesimal : merupakan bilangan yang akan dikonversi. Output: Tulisan di layar berupa isi dari variabel bilBiner. bilBiner : bilangan biner dengan parity bit genap yang merupakan hasil konversi dari bilangan bilDesimal. Tabel di bawah ini adalah contoh input dan output dari program ini. Nomor Contoh Input Contoh Output 1 2 7 8 1111 10001 Untuk membuat program ini, kalian harus membuat sebuah function. Function yang perlu dibuat adalah Function DecimalToBinerEven dengan spesifikasi: Parameter : bilDesimal Kembalian : bilBiner Fungsi : mengubah bilangan bilDesimal yang menjadi parameter menjadi bilangan biner dengan parity bit genap yang disimpan dalam variabel bilBiner fungsi DecimalToBiner yang sudah pernah kalian buat. Hal-hal yang perlu kalian tambahkan ialah seperti berikut. Untuk membuat fungsi ini, kalian dapat memodifikasi 1. Buat 1 buah variabel untuk menghitung berapa banyak bit . 2. Setelah mengubah bilangan desimal menjadi biner, periksalah variabel yang dibuat di nomor 1. Jika variabel tersebut berisi bilangan genap, di akhir bilangan biner kalian. Jika variabel tersebut berisi tambahkan di akhir bilangan biner kalian. bilangan ganjil, tambahkan 1 0 1 2. Setelah mengubah bilangan desimal menjadi biner, periksalah variabel yang dibuat di nomor 1. Jika variabel tersebut berisi bilangan genap, di akhir bilangan biner kalian. Jika variabel tersebut berisi tambahkan di akhir bilangan biner kalian. bilangan ganjil, tambahkan 1 0 1
Kerangka Program Dengan tambahan 1 buah variabel dan beberapa hal yang harus dilakukan, algoritma untuk mengubah desimal menjadi biner dengan menambahkan parity bit genap (bagian yang berwarna merah adalah bagian yang ditambahkan dari program AP-K9-14) menjadi seperti berikut. Pendefinisian Variabel 1. Buatlah sebuah variabel bernama bilDesimal untuk menyimpan bilangan desimal yang akan dikonversi menjadi biner. 2. Buatlah sebuah variabel bernama digit untuk menampung digit yang akan diproses. 3. Buatlah sebuah variabel bernama bilBiner untuk menyimpan bilangan biner yang terbentuk. 4. Buatlah sebuah variabel bernama n untuk menghitung urutan ditemukannya sisa hasil bagi. 5. Buatlah sebuah variabel bernama hitung untuk menghitung banyaknya bit yang ditemukan. Algoritma Untuk function DecimalToBinerEven 1. Isi variabel bilBiner dengan 0. 2. Isi variabel n dengan 0. 3. Isi variabel hitung dengan 0. 4. Ulangi hingga variabel bilDesmial selesai dikonversi. a. b. Tambahkan variabel bilBiner dengan digit . 2. c. Jika digit adalah 1, maka isi variabel hitung bertambah 1. d. Ubah variabel bilDesimal menjadi bilDesimal/2 yang dibulatkan Isi variabel digit dari sisa hasil bagi bilDesimal dengan ke bawah. e. Tambahkan variabel n dengan 1. 6. Periksa isi variabel hitung. Jika: hitung berisi bilangan ganjil, tambahkan digit • hitung berisi bilangan genap, tambahkan digit 1 0 7. Kembalikan variabel bilBiner. di akhir variabel biner di akhir variabel biner 139
Untuk modul utama: 1. Isi variabel bilDesimal. 2. Panggil function DecimalToBinerEven dengan parameter bilDesimal. 3. Tampilkan isi variabel bilBiner yang merupakan kembalian dari function DecimalToBinerEven. Untuk menambahkan digit 1 di akhir variabel bilBiner, kalian tidak bisa langsung melakukan: bilBiner=bilBiner karena ini akan mengakibatkan bilBiner ditambah sebuah digit +1 di akhir bilangan. Contoh: 10 + 1 = 11. 1 1 bukannya menambah Sementara, yang diinginkan ialah menambah digit 1 di akhir bilangan sehingga harusnya 101. Ayo, Kita Renungkan Bagaimana cara menambahkan sebuah digit di akhir bilangan? Testing Setelah kalian membuat program, selalu lakukan pengujian untuk menentukan apakah program kalian sudah berjalan tanpa adanya kesalahan. Kalian bisa mencoba beberapa kasus uji berikut ini. bilDesimal bilBiner 10001 8 10100 10 11011 13 15 11110 Simpan program kalian dengan format penamaan file: AP-K9-17-<No. 100001 16 Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-17-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. 140
Pengayaan Variabel hitung adalah variabel yang menghitung banyaknya bit 1 yang ditemukan. Untuk mengubah isi variabel hitung di setiap perulangan, pada algoritma di atas, dilakukan pemeriksaan pada digit. Dapatkah kalian menemukan cara lain untuk mengubah isi variabel hitung di setiap perulangan tanpa melakukan pemeriksaan pada digit? Ayo, Kita Kerjakan Aktivitas Individu Aktivitas AP-K9-18: Konverter Bilangan Biner dengan Parity Bit Genap ke Desimal Tujuan: Mampu memodifikasi function untuk mengonversi bilangan biner menjadi desimal. Modifikasi yang dilakukan ialah melakukan pemeriksaan untuk melihat apakah bilangan biner yang menjadi masukan merupakan bilangan biner yang sesuai dengan jenis parity yang digunakan. Setelah itu, mengonversi bilangan biner menjadi desimal Tingkat Kesulitan: 2 Hasil: Sebuah program yang memiliki 2 buah modul. 1. Sebuah function konversi bilangan biner dengan parity bit genap ke desimal 2. Modul utama Skenario Aktivitas: Pada aktivitas sebelumnya, kalian sudah membuat konverter dari bilangan desimal ke biner dengan parity bit genap. Pada aktivitas ini, kalian akan membuat konverter dari bilangan biner dengan parity bit genap menjadi desimal. Mari, definisikan terlebih dahulu apa masukan dan keluaran dari program ini. Berikut ini adalah spesifikasi masukan dan keluaran program yang akan kalian buat: 141
Input: Masukan untuk program ini terdiri atas sebuah bilangan biner dengan parity bit genap dengan nama bilBiner bilBiner : merupakan bilangan yang akan dikonversi Output: Tulisan di layar berupa isi dari variabel bilDesimal bilDesimal : bilangan desimal yang merupakan hasil konversi dari bilangan bilBiner Jika masukan bilBiner bukanlah bilangan biner yang banyaknya bit 1 genap, program menampilkan hasil -1. Tabel di bawah ini adalah contoh input dan output dari program ini. Nomor Contoh Input Contoh Output 1 2 1111 10000 7 -1 Untuk membuat program ini, kalian harus membuat sebuah function. Function yang perlu kalian buat ialah function BinerEvenToDecimal. Untuk membuat function ini, kalian dapat memodifikasi function BinerToDecimal. Perbedaan dari BinerToDecimal function BinerEvenToDecimal dengan function Parameter function merupakan bilangan biner dengan parity bit genap. Oleh karena itu, untuk mengubah bilangan menjadi desimal, kalian perlu melakukan pemeriksaan terlebih dahulu apakah bilangan biner tersebut adalah bilangan yang benar.
Jika bilangan tersebut benar, kembalikan bilangan desimal yang merupakan hasil konversi dari bilangan biner tersebut.
Jika bilangan tersebut tidak benar, kembalikan bilangan -1 yang menunjukkan bilangan tersebut bukan bilangan yang benar. Modifikasi yang perlu dilakukan adalah: 1. Tidak mengonversi digit paling akhir dari bilangan biner. 2. Menghitung banyaknya bit 1 dari bilangan biner. Jika a. banyaknya bit 1 adalah ganjil, kembalikan -1; b. banyaknya bit 1 adalah 0, kembalikan bilangan desimal hasil konversi Untuk menghitung banyaknya bit, tentu diperlukan sebuah variabel tambahan untuk menampung banyaknya bit 1 yang sudah ditemukan. 142
Kerangka Program Dengan tambahan sebuah variabel dan beberapa hal yang harus dilakukan untuk pengecekan apakah bilangan biner yang menjadi masukan merupakan bilangan biner yang sesuai dengan ketentuan parity bit, algoritma untuk function BinerEvenToDecimal menjadi seperti berikut. Pendefinisian Variabel 1. Buatlah sebuah variabel bernama bilBiner untuk menyimpan bilangan biner yang akan dikonversi menjadi desimal. 2. Buatlah sebuah variabel bernama digit untuk menampung digit yang akan diproses. 3. Buatlah sebuah variabel bernama bilDesimal untuk menyimpan bilangan desimal yang terbentuk. 4. Buatlah sebuah variabel bernama n untuk menghitung urutan ditemukannya sisa hasil bagi. 5. Buatlah sebuah variabel bernama hitung untuk menghitung banyaknya bit yang ditemukan. Algoritma Untuk function BinerEvenToDecimal 1. Isi variabel bilDecimal dengan 0. 2. Isi variabel n dengan 0. 3. Isi variabel hitung dengan 0. 4. Ambilah digit terakhir di variabel bilBiner dengan cara mencari sisa hasil bagi bilBiner dengan 10. Simpan pada variabel digit. 5. Jika digit = 1, tambahkan isi variabel hitung dengan 1. 6. Ubah variabel bilBiner menjadi bilBiner/10 yang dibulatkan ke bawah. 7. Ulangi hingga semua digit pada variabel bilBiner selesai diproses. a. b. Tambahkan variabel bilDesimal dengan digit c. Jika digit adalah 1, isi variabel hitung bertambah 1. d. Ubah variabel bilBiner menjadi bilBiner/10 yang dibulatkan ke Isi variabel digit dari sisa hasil bagi bilBiner dengan 10. bawah. e. Tambahkan variabel n dengan 1. 143
6. Periksa isi variabel hitung. Jika: hitung bilangan ganjil, kembalikan -1 • hitung bilangan genap, kembalikan bilDesimal Untuk modul utama: 1. Isi variabel bilBiner. 2. Panggil function BinerEvenToDecimal dengan parameter bilBiner. 3. Tampilkan isi variabel bilDecimal yang merupakan kembalian dari function BinerEvenToDecimal. Testing Setelah kalian membuat program, selalu lakukan pengujian untuk menentukan apakah program kalian sudah berjalan tanpa adanya kesalahan. Kalian bisa mencoba beberapa kasus uji berikut ini. bilBiner bilDesimal 10001 10100 11011 11111 Simpan program kalian dengan format penamaan file: AP-K9-18-<No. 100000 Absen>-<Nama>. 8 10 13 -1 -1 Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-18-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Ayo, Kita Renungkan Setelah melakukan aktivitas tersebut, pertanyaan ini. lakukan refleksi dan jawablah 1. Apakah kalian senang belajar materi ini? 2. Apakah kalian dapat mengerjakan semua langkah dengan baik tanpa 144
hambatan? Jika ada hambatan, apa hambatan yang kalian alami? Bagaimana kalian mengatasi hambatan tersebut? 3. Apakah kalian dapat menjelaskan algoritma yang kalian gunakan untuk melakukan konversi? 4. Apakah kalian paham mengapa penting untuk menambahkan parity bit? 5. Apakah materi ini dirasa sulit? 6. Apakah kalian dapat menyelesaikan tugas praktik dari guru tepat waktu ? H. Wrap Up Konverter Bilangan Pada subbab ini, kalian akan menggabungkan program yang sudah kalian buat dari subbab F dan subbab G. Kalian akan membuat program untuk konversi dari sebuah sistem bilangan ke sistem bilangan lainnya. Ayo, Kita Kerjakan Aktivitas Berkelompok Aktivitas AP-K9-19: Konverter Biner, Oktal, dan Desimal Tujuan: Kalian mampu mengoneksikan program-program yang sudah dibuat sebelumnya untuk membuat program konversi bilangan. Program ini memungkinkan penggunanya untuk memilih sistem bilangan asal dan sistem bilangan tujuan. Tingkat Kesulitan: 3 Hasil: Sebuah program yang memungkinkan pengguna untuk memasukkan: 1. Bilangan yang ingin dikonversi 2. Sistem bilangan asal 3. Sistem bilangan tujuan Skenario Aktivitas: Pada aktivitas sebelumnya, kalian sudah membuat konverter dari desimal ke biner atau oktal dan juga sebaliknya. Bagaimana jika ingin mengubah bilangan biner ke oktal atau sebaliknya? 145
Ayo, Lakukan Tuliskan ide yang kalian untuk mengubah bilangan biner ke oktal pada lembar kerja kalian. Berikut ini adalah spesifikasi masukan dan keluaran program yang akan kalian buat. Input: Masukan untuk program ini terdiri atas 3 bilangan: 1. bilanganku: merupakan bilangan yang akan dikonversi 2. asal: sistem bilangan asal (2, 8, atau 10) 3. tujuan: sistem bilangan hasil konversi (2, 8, atau 10) Output: Hasil konversi dari bilanganku sesuai dengan sistem bilangan yang terpilih. Catatan: Nilai dari keluaran mungkin saja -1 jika masukan merupakan bilangan biner yang banyaknya bit 1 tidak genap. Contoh input dan output: Nomor Contoh Input Contoh Output 1 2 bilanganku: 110 asal: 2 tujuan: 10 bilanganku: 111 asal: 2 tujuan: 8 3 1 Kalian dapat memanfaatkan function-function yang sudah kalian buat pada aktivitas-aktivitas sebelumnya untuk membuat konverter dari sebuah sistem bilangan ke sistem bilangan yang lain. Buatlah sebuah program untuk melakukan konversi antarsistem bilangan dari sistem bilangan yang sudah kalian pelajari selama ini (biner, oktal, dan desimal). Program ini terdiri atas 4 buah function dan sebuah modul utama. Keempat function tersebut adalah: 1. BinerEvenToDecimal 2. OctalToDecimal 3. DecimalToBinerEven 4. DecimalToOctal Catatan: Kalian mungkin perlu mengubah isi dari beberapa function. 146
Pada modul utama, lakukanlah: 1. Meminta 3 buah masukan. 2. Memanggil function yang sesuai dengan masukan. 3. Menampilkan hasil dari proses. Simpan program kalian dengan format penamaan file: AP-K9-19-<No. Absen>-<Nama>. Contoh: Jika nama dan nomor absen kalian adalah Nani dan 16, beri nama file kalian dengan AP-K9-19-16-Nani. Catatan: Penamaan file bisa saja berubah bergantung pada instruksi dari guru kalian. Testing input. Untuk menguji kebenaran program kalian, cobalah beberapa Bandingkan hasil program kalian ini dengan program yang pernah kalian buat sebelumnya. Tuliskan hasil pengujian kalian dalam lembar kerja dengan format berikut. Lakukan setidaknya 5 kali pengujian. Input bilanganku asal tujuan Output Benar/Salah .. .. .. .. .. .. .. .. .. .. Ayo, Kita Kerjakan Aktivitas Berkelompok Aktivitas AP-K9-20: Poster Konverter Bilangan Tujuan: Mampu menyajikan penjelasan mengenai program yang dibuat dalam sebuah poster Skenario Aktivitas: Pada aktivitas sebelumnya, kalian baru saja membuat konverter bilangan secara umum. Kalian tidak hanya membuat program yang melakukan satu jenis konversi, tetapi program kalian dapat melakukan beberapa jenis konversi. Ayo, presentasikan program kalian melalui sebuah poster. 147
Poster yang kalian buat haruslah berisi: 1. Judul 2. Nama anggota kelompok 3. Screenshoot program yang kalian buat 4. Penjelasan teknis bagaimana menggunakan program kalian 5. Contoh hasil masukan dan keluaran dari program kalian Gambar 7.10 merupakan contoh template poster yang dapat dibuat. Silakan kalian berkreasi membuat poster yang menarik dan enak dibaca. Gambar 7.10 Contoh template poster Ayo, Kita Kerjakan Aktivitas Berkelompok Aktivitas AP-K9-21: Poster Serunya Belajar Dua Bahasa Tujuan: Mampu mengoneksikan pengalaman dalam menggunakan dua bahasa pemrograman visual 148
Skenario Aktivitas: Dari kelas VII hingga sekarang, kalian sudah belajar menggunakan 2 bahasa pemrograman visual, yaitu: Scratch dan Blockly. Bagaimana pengalaman kalian selama mempelajari kedua bahasa pemrograman visual tersebut? Ayo, tuliskan pengalaman kalian dalam sebuah poster. Poster yang kalian buat harus berisi: 1. Judul 2. Nama anaggota kelompok 3. Refleksi Ayo, Kita Renungkan 1. Apa pengalaman paling menantang selama belajar pemrograman dengan dua bahasa? 2. Apa pengalaman paling menyenangkan selama belajar pemrograman dengan dua bahasa? 3. Kesulitan yang kalian hadapi selama belajar pemrograman dengan dua bahasa? 4. Bagaimana kalian menghadapi kendala tersebut? 5. Apa yang kalian ingin lakukan mengenai pemrograman ke depannya (misal: program yang kalian ingin buat atau pelajari)? 6. Foto-foto program atau kegiatan yang kalian lakukan Uji Kompetensi Soal Esai Buatlah sebuah fungsi dengan nama "kabisat" untuk menentukan sebuah tahun merupakan tahun kabisat atau bukan. Parameter untuk fungsi "kabisat" ialah sebuah variabel "tahun". Kembalian dari fungsi tersebut ialah sebuah teks yang berisi "kabisat" atau "bukan kabisat". 149
Syarat sebuah tahun merupakan tahun kabisat ialah seperti berikut. 1. Jika tahun itu habis dibagi 400, tahun itu sudah pasti tahun kabisat. 2. Jika tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, tahun itu sudah pasti bukan merupakan tahun kabisat. 3. Jika tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, tahun itu merupakan tahun kabisat. 4. Jika tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, tahun tersebut bukan merupakan tahun kabisat. Ujilah fungsi yang kalian buat dengan blok berikut ini. Cobalah untuk beberapa tahun berikut ini. Tahun Kabisat/Bukan 800 200 16 7 Kabisat Bukan kabisat Kabisat Bukan kabisat Ingin Tahu Lebih Jika kalian tertarik dengan materi ini dan ingin mempelajari lebih lanjut, kalian dapat mengakses ke link berikut ini: 1. Kegiatan unplugged, atau curriculum/unplugged 2. Kurikulum plugged Scratch, 3. Materi Blockly, 4. 5. 6. 150
I. Modul Tambahan - Modularisasi Unplugged Ayo, Bermain Aktivitas Individu Aktivitas AP-K9-22-U: Gelang Warna-Warni (Aktivitas Unplugged Tambahan) Tujuan: Memahami manfaat modularisasi program dalam sebuah aktivitas pembuatan gelang Di kelas VII, kalian telah diperkenalkan dengan aktivitas menghitung kombinasi gelang warna-warni dalam modul Berpikir Komputasional. Kali ini, kalian akan diajak untuk mengerjakan sebuah proyek kerajinan tangan yang sangat istimewa hanya dari benang dan manik-manik berwarna-warni. Kerajinan tangan ini dapat berupa kreasi kalung, gelang, gantungan kunci, atau gantungan lain dengan benang dan manik-manik. Kalian akan diajak untuk mempersiapkan peralatannya bersama guru, mencoba sencara individu kemudian mencoba secara berpasangan, mengerjakan soal evaluasinya hingga mengambil pelajaran dari aktivitas tersebut. Aktivitas tambahan ini dapat kalian akses dari file pada alamat website berikut: Kalian dapat mengikuti petunjuk awalnya terlebih dahulu untuk membuat prakarya. Setelah paham, kalian dapat membuat prakarya kalian sendiri semenarik dan sekreativitas mungkin. Selamat berkarya. J. Modul Tambahan - Pemrograman dengan Ozobot Sama seperti di buku kelas VIII, modul ini adalah modul tambahan apabila kalian memang memiliki robot Ozobot atau robot line follower (robot yang dapat mengikuti garis perintah) lainnya. Jika kalian memiliki Ozobot, modul ini siap dipakai untuk dijadikan panduan dalam eksplorasi. Jika bukan Ozobot, terdapat banyak robot line follower yang tersedia di beberapa toko online dengan harga yang lebih terjangkau. Namun jika tidak ada robot line follower, kalian juga dapat berperan sebagai robot tersebut yang diperintah oleh teman kalian sehingga menjadi aktivitas unplugged. Ikuti perintah lebih lanjut dari Guru kalian terkait modul ini 151
Pada materi di kelas VIII, kalian telah mempelajari bagaimana cara kerja Ozobot secara manual. Di kelas IX ini kalian akan mempelajari bagaimana mengatur Ozobot melalui program. Kalian dapat mengendalikan gerakan Ozobot melalui sebuah program yang kalian buat sendiri. Untuk itu, diperlukan seperangkat komputer atau laptop yang terhubung dengan internet. adalah editor?lang=en&robot=bit&mode=2. Di dalam situs ini, disediakan aplikasi bernama OzoBlockly. OzoBlockly adalah aplikasi penyusun program yang memungkinkan kalian mengendalikan keseluruhan perilaku dari Ozobot. Kalian dapat membuat program dengan metode blok dan kemudian mengunggahnya ke dalam robot Ozobot. OzoBlockly ini dapat dijalankan oleh seluruh aplikasi peramban web terbaru dan dapat dijalankan di semua sistem operasi. Situs yang perlu dikunjungi Gambar 7.11 Tampilan Aplikasi OzoBlockly Pastikan robot Ozobot sudah terkalibrasi dengan layar monitor komputer kalian. Jika belum dilakukan, lihat kembali prosedur kalibrasi yang ada di buku kelas VIII. Mirip dengan tampilan Scratch dan Blockly, seperti terlihat pada Gambar 7.11, bagian kiri pada OzoBlockly ini juga berisi fungsi/method yang dapat dipilih dan di drag and drop ke bagian tengah. 152
Ayo, Bermain Aktivitas Berpasangan Aktivitas AP-K9-23: Memprogram Ozobot Tujuan: Mampu menjalankan robot Ozobot dengan program yang dibuat sendiri Skenario Aktivitas: Pada aktivitas ini, kalian akan mencoba menjalankan Robot Ozobot dengan program yang kalian buat sendiri. Mari, coba lakukan langkah per langkah. Pembuatan program untuk menjalankan robot Ozobot ini dilakukan mulai dari hal yang sederhana, lalu menjadi makin kompleks. Hal ini untuk membantu kalian dalam berkreasi juga. Langkah program yang akan dicoba seperti berikut. 1. Navigasi tanpa Garis 2. Permainan Lampu 3. Pengaturan Waktu 4. Pengulangan Blok 5. Navigasi dengan Garis 6. Blok Percabangan dengan Garis Mari, lakukan setiap langkahnya. 1. Navigasi Ozobot Tanpa Garis Langkah awal yang akan kalian lakukan Ialah mencoba membuat program agar Robot Ozobot kalian dapat bergerak tanpa garis. Perhatikan layar penyusun yang sudah dibuka. Gambar 7.12 Kategori Fitur Ozobot pada Tingkat 2 153
Pada Gambar 7.12, angka 1-5 yang berada di bawah judul OzoBlockly menunjukkan tingkat kemahiran pemakai. Kalian akan langsung mulai dari tingkat 2 karena tingkat pertama diperuntukkan untuk pemakai yang belum bisa membaca. Di dalam tingkat 2 ini, pemrograman Ozobot hanya dibatasi menjadi 4 bagian, yaitu gerakan (Movement), lampu (Light Effects), waktu (Timing) dan pengulangan (Loops). Tiap bagian dapat kalian buka lagi menjadi lebih lanjut. Gambar 7.13 Contoh Blok Program Light Effects (Lampu) Gambar 7.13 adalah contoh blok program di dalam menu lampu (Light Effects). Blok program ini dapat langsung di drag&drop ke bagian tengah. Untuk program sederhana pertama, kalian akan membuat Ozobot berjalan memakai alur segi empat sama sisi. Keterangan Contoh 1. Bukalah menu Movement, lalu tarik blok [move]. Tempatkan di layar penyusun, lalu ganti bagian distance (jarak) menjadi 5 steps. 154
Keterangan Contoh 2. Masukkan blok untuk berbelok, yaitu blok [rotate]. Atur arahnya antara ke kiri atau ke kanan. 3. Satukan blok berbelok pada langkah 2 dengan blok pada langkah 1. 4. Duplikasi 2 blok ini sebanyak 4 kali. Selanjutnya, unggah hasil program ini ke dalam robot Ozobot. Proses unggah dijelaskan pada langkah berikutnya. Kode program di OzoBlockly ini harus kalian koneksikan dengan robot Ozobot yang kalian miliki. Cara untuk melakukan Pengunggahan Program ke dalam Robot Ozobot adalah sebagai berikut. 1. Tekan ikon bertuliskan FLASHING di aplikasi OzoBlockly. 2. Nyalakan robot Ozobot. 3. Tempatkan Ozobot di atas gambar dasar Ozobot. 4. Tekan tombol "Load Bit". 5. Layar akan berkedip-kedip. Tunggulah proses ini sampai selesai. 155
6. Pastikan robot Ozobot juga berkedip hijau. Jika berkedip merah, berarti proses unggah gagal. Silakan lihat kembali cara kalibrasi. 7. Ketika selesai, tempatkan Ozobot di tempat datar. 8. Tekan tombol nyala sebanyak 2 kali. 9. Robot Ozobot akan berjalan sesuai dengan program yang diunggah. 2. Permainan Lampu di Robot Ozobot Robot Ozobot memiliki lampu di badannya. Kalian dapat mengatur lampu ketika Ozobot dinyalakan. Kalian akan belajar mengubah program yang sudah dibuat sebelumnya. Keterangan Contoh 1. Pada menu Light Effects, tarik blok [set top light color.] Ada 12 warna yang dapat dipilih. Silakan memilih warna lampu yang disukai. 2. Kalian akan membuat kode program agar robot dapat selalu mengubah warna ketika berubah arah. Kemudian, kalian juga akan mengatur agar robot mematikan lampu pada saat telah selesai menjalankan semua program. Setelah selesai, lakukan kembali proses unggah dan perhatikan hasilnya. 156
3. Pengaturan Waktu di Robot Ozobot Kali ini, kalian akan membuat robot Ozobot patuh terhadap waktu tunggu yang ditentukan. Keterangan Contoh Pada menu Timing, tarik blok wait. Tentukan waktu yang diinginkan. Atur agar robot Ozobot menunggu terlebih dahulu ketika pertama kali dijalankan. Lalu, kalian atur pula agar robot Ozobot berhenti dahulu sebelum berbelok. Setelah selesai, lakukan kembali proses unggah dan perhatikan hasilnya. 4. Pengulangan Blok dalam Pemrograman Robot Ozobot Perhatikan blok-blok yang sudah tersusun sebelumnya. Kalau diperhatikan dengan saksama, terdapat pola yang selalu berulang. Kalian dapat melakukan penyederhanaan dengan memakai blok pengulangan (Loops). Keterangan Contoh 1. Pada menu Loops, tarik blok [repeat X times]. Nilai X dapat diganti sesuai kebutuhan program. 157
Keterangan Contoh 2. Ada satu blok yang tidak memiliki pola yang sama, yaitu pengaturan lampu. Kalian perlu ubah sedikit programnya untuk pengaturan lampu. Buat agar ketika robot berjalan lurus, robot mengeluarkan lampu hijau; dan ketika berputar, robot mengeluarkan warna kuning. Atur pengulangan sebanyak 4 kali saja. Setelah selesai, lakukan kembali proses unggah dan perhatikan hasilnya. 5. Navigasi Ozobot dengan Memakai Garis Kalian akan menaikkan tingkat kemahiran pemakaian ke nomor 3. Di tingkat ke 3 ini, akan tampil beberapa menu blok baru untuk pemrograman kendali Ozobot sesuai dengan Gambar 7.14. Gambar 7.14 Kategori Fitur Ozobot pada Tingkat 3 Ada dua menu baru, yaitu, navigasi garis (Line Navigation) dan logika (Logic). Navigasi garis ini terdiri atas blok-blok pengaturan robot ketika mengikuti garis. 158
Keterangan Contoh Mula-mula, gambarlah medan tempat robot bergerak memakai spidol. Perhatikan jarak dan ketebalan antargaris. Ingat kembali materi pada buku Kelas VIII. Pada menu Line Navigation, tarik blok [follow line to next intersection or line end]. Blok ini mengatur agar robot terus berjalan sampai menemukan persimpangan atau jalan buntu. Tarik blok [pick direction]. Blok ini mengatur arah ketika robot sampai di persimpangan atau ketika sampai di jalan buntu. Kali ini, kalian akan memprogram robot Ozobot untuk bergerak dengan alur segi empat. Setelah selesai, lakukan kembali proses unggah dan perhatikan hasilnya. 159
Keterangan Contoh Tempatkan robot di kiri bawah dengan arah ke atas. Nyalakan robot tersebut dengan 2 kali menekan tombol power. Perhatikan, robot akan bergerak lurus terlebih dahulu ketika melewati persimpangan. Baru kemudian, mengambil arah ke kanan. Kalian dapat mencoba menambahkan blok lampu dan waktu. 6. Blok Percabangan dengan Memakai Garis Bagaimana caranya agar Ozobot dapat berbalik arah ketika menemui jalan buntu? Untuk mengatasi masalah ini, kalian perlu memakai blok percabangan. Keterangan Contoh Pada menu Logic, tarik blok [if there is - do]. Ada empat macam arah kondisi yang dapat dipilih, yaitu seperti berikut. • Jika ada jalan ke kiri (way left) Jika ada jalan ke kanan (way right) Jika ada jalan untuk lurus (way straight) Jika tidak ada jalan (line end)
Gabungkan program yang sebelumnya dengan kondisi yang ada. Kali ini, tempatkan robot di bagian kanan bawah menghadap ke atas. Setelah selesai, lakukan kembali proses unggah dan perhatikan hasilnya. 160
Keterangan Contoh Robot akan selalu berbalik arah ketika mencapai jalan buntu. Silakan bereksperimen dengan menambahkan sendiri blok lampu dan waktu ke dalam susunan blok. Kembali diingatkan untuk tidak menambahkan blok gerakan berwarna kuning. Tantangan Buat 2 regu. Siapkan di setiap regu 1 peta tempat bermain. Tempatkan benda kecil yang mudah dijatuhkan di titik-titik persimpangan tertentu. Tantanglah lawan kalian untuk menjatuhkan semua benda kecil yang ada di titik-titik persimpangan secepat mungkin (berarti dengan langkah sesedikit mungkin) dengan menggunakan robot Ozobot. Perhatikan juga aturan yang ditetapkan yaitu bahwa semua garis hanya dapat dilewati satu kali saja. Gambar 7.15 menunjukkan contoh peta dan benda kecil yang disiapkan untuk menantang regu lawan. Gambar 7.15 Contoh peta dan benda kecil Kalian dapat menggunakan peta dan benda kecil lainnya. 161
Ayo, Kita Renungkan Setelah mempelajari materi ini, renungkan dan tuliskan pada jurnal kalian. 1. Selama mencoba pemrograman dengan Ozobot, menurut kalian, fungsi/ method apa yang paling mudah dan yang paling sulit untuk digunakan/ dimengerti? Coba ceritakan dengan bahasa kalian. 2. Setelah menyelesaikan semua LKS, bagaimana perasaan kalian terkait Ozobot dan pemrograman visual ini? 3. Bagaimana pengalaman kalian mencoba permainan robot secara manual? 162
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Irya Wisnubhadra ISBN: 978-602-244-730-6 Bab 8 Dampak Sosial Informatika Tujuan Pembelajaran Setelah mempelajari bab ini, kalian mampu memahami keamanan data dan informasi di dunia maya, ancaman terhadap keamanan data yang kalian miliki ketika menggunakan perangkat lunak di gawai, laptop, dan perangkat lainnya, serta menjaga keamanan data diri kalian dari ancaman kejahatan di dunia maya. 163
Pertanyaan Pemantik Kejahatan tidak hanya terjadi di dunia yang riil sehari-hari tampak mata, tetapi ada juga yang terjadi di dunia digital. Apakah kalian telah memahami jenis-jenis kejahatan tersebut? Peta Konsep Kejahatan di dunia digital Keamanan Data dan Informasi Kerawanan di dunia digital Dampak Sosial Informatika Perkakas Keamanan Data dan Informasi Meningkatkan Keamanan Data dan Informasi Gambar 8.1 Peta Konsep Dampak Sosial Informatika Apersepsi Apakah kalian pernah mendengar kejahatan, misalnya tanpa ada perampokan fisik, sebuah perusahaan kehilangan kekayaannya dalam jumlah besar, bahkan sampai miliaran? Hal itu dapat terjadi pada keluarga kalian, seperti ayah atau ibu yang memiliki akun e-banking atau mobile-banking. Pada bab ini, kalian 164
akan belajar tentang keamanan data dan informasi digital yang tersimpan di gawai, di penyimpanan awan di internet, dll dan bagaimana menjaga data dan informasi tersebut agar aman. Kata Kunci Keamanan data dan informasi, peretasan, Information Theft, Fraud, kerawanan di internet, otentikasi, enkripsi. Penggunaan internet dan komputer/ponsel pintar yang makin meluas telah banyak menggantikan beberapa kegiatan fisik manusia menjadi kegiatan daring, seperti berkomunikasi, berdagang, bertransaksi perbankan, bersekolah, dll. Ketika banyak pekerjaan dilakukan secara daring, membuat data dan informasi pribadi dan sensitif mudah tersebar di jaringan internet kita. Data tersebut di antaranya adalah data pribadi yang disimpan di ponsel seperti nomor kontak teman kita, data yang disimpan di penyimpan awan oleh aplikasi yang kita gunakan (media sosial, e-commerce, dll.), di instansi pemerintah, maupun di institusi bisnis (bank, asuransi, dll). Hal ini menimbulkan kerawanan pencurian informasi yang selanjutnya berkembang menjadi kejahatan di dunia maya maupun di dunia nyata. Saat itulah, kalian harus memahami berbagai aspek keamanan data dan informasi untuk menjaga informasi pribadi kalian agar tetap aman dan terhindar dari kejahatan di internet. A. Keamanan Data dan Informasi Apa itu keamanan data dan informasi? Keamanan data dan informasi terdiri atas tiga kata, yaitu keamanan, data, dan informasi. Keamanan secara fisik dapat dianalogikan dengan perlindungan sebuah gedung, seseorang, organisasi atau negara dari ancaman kejahatan. Keamanan dapat dilakukan melalui objek fisik seperti dinding dan kunci. Namun, juga dapat dilakukan oleh orang, proses, pengawasan, otorisasi seperti yang kalian temukan di area tertentu seperti: objek penting negara, bandara, dll. Data berasal dari kata dalam bahasa Latin, datum, yang artinya fakta, keterangan yang benar, dan nyata yang dapat diobservasi dan dikumpulkan dari sumber data. Data dapat dijadikan dasar kajian (analisis atau kesimpulan). 165
Dalam bidang Informatika, data disimpan dalam bentuk yang dapat diproses oleh komputer, seperti representasi digital dari teks, angka, gambar, grafis, suara (audio), atau video. Data dapat bersifat kualitatif berarti menggambarkan yang sesuatu atau bersifat kuantitatif yang berupa numerik (angka). Data dapat direkam atau dimasukkan, disimpan, dan ditampilkan. Gambar 8.2 Logo Badan Siber dan Badan Negara Informasi adalah makna yang disampaikan oleh serangkaian representasi yang merupakan hasil pemrosesan data. Informasi karena telah memiliki makna, dapat berupa informasi fisik atau logika, misalnya, urutan genetik (DNA), hasil analisis, dan kesimpulan. Data dan informasi sering dipertukarkan artinya, tetapi sebenarnya memiliki arti yang berbeda. Informasi memiliki sifat yang akurat, tepat waktu, kontekstual, relevan, bertujuan, spesifik, dan dapat dikelola. Istilah keamanan data dan informasi sering muncul dalam konteks Informatika yang merujuk pada keamanan data dan informasi yang berkaitan dengan penggunaan peranti digital, seperti ponsel pintar, PC, atau gawai lainnya yang juga merupakan sumber data. Peranti-peranti tersebut biasanya terhubung dengan internet. Keamanan data dan informasi berkaitan dengan perangkat lunak/artefak komputasional yang kita gunakan. Saat ini, jika chatting di ponsel pintar, kita menggunakan aplikasi yang mungkin memiliki celah keamanan. Jika menggunakan sistem operasi pada ponsel pintar, data kita juga rawan untuk dicuri. Keamanan informasi terkait dengan pengembangan artefak komputasional yang aman, dari proses pengembangannya dimulai dari analisis kebutuhan, perancangan, pengkodean, pengujian, pengoperasian, dan perbaikannya jika ada kesalahan (bug). Bug ini dapat menjadi celah keamanan informasi. Pada beberapa tahun terakhir, muncul istilah cybersecurity (keamanan informasi di internet). Cybersecurity mencakup beberapa bidang ilmu yang berkaitan karena berhubungan dengan aspek manusia, hukum, kebijakan, etika, dan bahkan hubungan antarnegara. Keamanan data dan informasi lebih luas daripada keamanan dunia maya. Namun, pada materi ini, keamanan data dan informasi akan banyak dijelaskan dalam bingkai keamanan dunia maya. 166
1. Kejahatan di Dunia Digital Saat ini, dengan makin banyaknya pengguna komputer dan internet, komputer menjadi tempat yang dapat digunakan untuk berbuat kejahatan. Banyak orang belajar menjadi pemrogram/programmer yang selanjutnya digunakan untuk mengelola sistem dan menjaga keamanannya. Namun, di sisi lain, ada juga orang yang belajar untuk meretas dan melakukan kejahatan di internet. Muncullah istilah peretas atau peretasan yang memiliki konotasi yang positif dan negatif. a. Evolusi dari Peretasan Istilah "hacking/peretasan" saat ini, dipahami banyak orang sebagai tindakan tidak bertanggung jawab dan merusak yang dilakukan oleh penjahat atau yang disebut peretas. Peretas adalah individu yang melakukan aktivitas peretasan, membobol sistem komputer, atau dengan sengaja melepaskan virus komputer untuk mencuri data pribadi, untuk mencuri uang, membobol rahasia perusahaan dan pemerintah yang berisi informasi sensitif. Peretas juga merusak situs web, melakukan serangan ke situs web, menghapus file, dan mengganggu bisnis. Padahal, sebelumnya peretas adalah istilah yang positif. Evolusi dari peretasan adalah: Era 1 - tahun-tahun awal (1960-an dan 1970-an), saat peretasan adalah istilah yang positif. Era 2 - dari akhir 1970-an hingga akhir 1990-an, ketika peretasan memiliki arti yang lebih negatif. Era 3 - dari akhir 1990-an hingga saat ini, dengan pertumbuhan Web, e-commerce, dan smartphone batas antara positif dan negatif menjadi kabur. Setiap era memiliki jenis peretasannya tersendiri. Pada era tertentu, muncul jenis peretasan yang berbeda, ada yang dilakukan untuk aktivitas politik, menemukan celah keamanan, atau aktivitas lainnya. . 1) Era Peretasan 1: Kegembiraan dalam Memprogram Di masa-masa awal munculnya Informatika, seorang peretas adalah programmer kreatif yang menulis program dengan sangat elegan dan cerdas. Peretas disebut "ahli komputer" yang sangat memahami teknik komputasi sehingga mampu mengembangkan banyak program dalam bentuk permainan komputer, program untuk keperluan bisnis, dan sistem operasi. Para peretas terkadang menemukan cara untuk masuk ke sistem milik orang lain walaupun mereka bukan pengguna resminya. Hal 167
ini biasanya dilakukan karena keingintahuan, tantangan pengetahuan, menguji kemahiran, atau untuk mencari sensasi. Namun, diyakini bahwa para peretas tersebut tidak berniat melakukan kejahatan, mengganggu sistem, atau melakukan kerusakan. The New Hacker's Dictionary mendeskripsikan peretas sebagai orang "yang menikmati penjelajahan untuk melihat sistem secara rinci untuk mengembangkan kemampuannya; orang yang memprogram dengan antusias (bahkan secara obsesif ). " Jude Milhon mendeskripsikan peretasan sebagai "usaha pintar untuk mengeksploitasi batasan-batasan". Batasan tersebut di antaranya ialah teknis sistem, teknik keamanan, hukum, skill personal yang bertugas mengamankan sistem, dll. Peretas di era pertama ini seperti penjelajah di dunia baru yang bersemangat menemukan hal hal baru yang biasanya dilakukan oleh siswa sekolah menengah atau mahasiswa. Mereka berusaha melewati batas-batas keamanan dan selalu antusias dengan penemuan yang mereka buat. Beberapa kasus muncul seperti kasus penggemar konsol video game Nintendo Wii yang mampu memprogram ulang pengontrol jarak jauh Nintendo untuk melakukan fungsi yang belum pernah dibayangkan oleh Nintendo. Peretas menemukan celah keamanan pada Iphone sesaat setelah produk Apple tersebut diluncurkan, yang membuat Apple harus segera menutupnya merupakan contoh kasus betapa peretas membuat perusahaan menjadi lebih baik. Kita juga mengenal istilah "hack-a-thons", yang merupakan gabungan dari kata hack dan marathon, dimana ribuan orang secara maraton sepanjang hari bekerja secara intens mengembangkan inovasi baru produk perangkat lunak dan perangkat keras. Hack disini berarti melakukan pemrograman untuk berinovasi yang menandakan bahwa hacking merupakan istilah yang positif. . 2) Era Peretasan 2: Munculnya Sisi Gelap Peretasan Arti denotasi dan konotasi dari kata "hacker/peretas" berubah seiring dengan makin meluasnya penggunaan komputer. Orang tidak lagi cukup untuk mengeksploitasi batasan teknis sistem, tetapi juga mulai melanggar batasan etika dan hukum. Pada 1980-an, muncul sisi gelap peretasan yang dilakukan dengan lunak penyebaran virus komputer, yang pada saat diperdagangkan dalam bentuk disket. Perilaku peretasan muncul dalam bentuk vandalisme digital yang mengganti halaman muka situs web dengan itu, perangkat 168
lelucon, pencurian informasi pribadi yang berujung pada pencurian uang, memanipulasi sistem telepon, dll. Kata yang umum saat itu ialah pembobolan sistem dengan menggunakan akses tidak resmi. Pada saat itu, peretasan sistem komputer di pusat penelitian besar, perusahaan, atau lembaga pemerintah merupakan tantangan yang sangat menantang dan mendatangkan kepuasan tersendiri. Keberhasilan peretasan akan mendapat sanjungan dari teman sejawat, sesama peretas, dan orang lain. Hal ini mungkin terinspirasi oleh film "War Games", yang merupakan film peretasan superkomputer Departemen Pertahanan Amerika yang dilakukan oleh anak muda bernama David Lightman. Clifford Stoll menceritakan kasus serius dalam bukunya The Cuckoo's Egg. Setelah berbulan-bulan secara digital menyelidiki kesalahan akuntansi 75 sen, Stoll menemukan bahwa sistem di tempatnya bekerja diretas oleh seorang peretas Jerman. Peretas tersebut telah berhasil membobol lusinan komputer di Amerika Serikat, termasuk sistem militer, untuk mendapatkan informasi tentang nuklir dan intelijen dan menjual informasi tersebut ke Uni Soviet. Kasus tersebut disebut sebagai salah satu kasus awal peretasan di dunia. Pada tahun 1988, sebuah program komputer yang dikenal sebagai Internet Worm, atau Morris Worm, memanfaatkan kerentanan Internet menjadi peretasan yang berbahaya. Seorang mahasiswa pascasarjana di Cornell University membuat worm tersebut dan merilisnya ke internet. Worm tersebut sebenarnya tidak merusak file atau mencuri password, tetapi Worm menyebar dengan cepat ke komputer yang menjalankan sistem operasi UNIX dan memperlambat kerja sistem dengan menjalankan banyak salinan dari dirinya sendiri yang membuat sistem menjadi tidak normal. Hal ini tentu saja mengganggu pekerjaan dan membuat pekerja dan banyak orang menjadi tidak nyaman. Worm ini mampu memengaruhi ribuan orang pengguna komputer dan internet. Pemrogram sistem harus menghabiskan beberapa hari bekerja untuk menemukan, menyelesaikan, dan membersihkan sistem dari worm ini. Kejadian ini menimbulkan kekhawatiran karena berpotensi untuk mengganggu layanan komputer yang vital seperti rumah sakit, reaktor nuklir, dll. Hal ini kemudian memicu pendirian Pusat Koordinasi Tim Tanggap Darurat Komputer (Computer Emergency Response Team/CERT). Indonesia juga memiliki pusat koordinasi pada lembaga BSSN (Badan Siber dan Sandi Negara), yang disebut Pusat Operasi Keamanan Siber Nasional. Pusat Operasi 169
Keamanan Siber Nasional dipimpin oleh Kepala Pusat yang memiliki tugas dalam penyusunan, pelaksanaan, evaluasi dan pelaporan pengendalian operasi keamanan siber nasional. Logo Badan Siber dan Sandi Negara tampak pada Gambar 8.3. Melihat peluang peretasan yang menjanjikan, banyak organisasi kriminal mulai merekrut peretas untuk melakukan spionase bisnis, pencurian, dan penipuan melalui komputer dan internet. Salah satu kejahatan pertama pada bank online terjadi, dimana seorang Rusia, Vladimir Levin, beserta kaki tangannya yang ada di beberapa negara, menggunakan kata sandi karyawan dengan tidak sah untuk mencuri dari Perusahaan Keuangan Citicorp pada tahun 1994. Selanjutny,a dia mentransfer 11 juta dolar Amerika ke rekening bank di lain negara. Kaki tangannya tertangkap ketika akan menarik uang di Tel Aviv, Rotterdam, dan San Fransisco, yang akhirnya Levin sendiri ditangkap di Stansted Airport London ketika mengadakan perjalanan interkoneksi ke Moskow. Gambar 8.3 Logo Badan Siber dan Sandi Negara Tahukah kalian? Worm adalah program komputer yang mampu menyalin dirinya sendiri ke komputer lain. Konsep awal sebenarnya ialah dimanfaatkannya sumber daya komputasi yang tidak dipakai/idle, tetapi diadopsi untuk maksud kejahatan. . 3) Era Peretasan 3: Peretasan sebagai Alat yang Merusak dan Alat Kriminal Saat ini, internet telah digunakan secara luas di kalangan pemerintahan, baik ditingkat kota sampai tingkat nasional; perusahaan dari yang kecil, menengah sampai besar; dan institusi non-bisnis lainnya. Institusi tersebut melakukan transaksi online yang memindahkan catatan manual ke dalam form elektronik yang disimpan dalam komputer. Hal ini menyebabkan terjadinya ledakan informasi di internet. Banyak informasi pribadi dan sensitif yang bertebaran di internet. Hal ini membuat internet menjadi lebih menarik dan menantang bagi para peretas dunia maya. Target peretasan menjadi makin luas dan membawa risiko besar pada kehidupan kita sehari-hari. 170
Internet yang menjangkau seluruh dunia menyebabkan jangkauan peretasan dapat lintas negara dan bahkan benua. Epidemi virus komputer bahkan lebih cepat dari pandemi virus fisik, seperti Covid-19 misalnya. Sebagai contoh, virus Mellisa tahun 1999 yang menggunakan kode tersembunyi pada Microsoft Word. Virus ini akan mengirimkan surel berisi salinan file ke 50 orang pertama pada kontak list komputer yang terinfeksi, yang dengan cepat menginfeksi hampir 20% komputer di dunia. Tahun 2000, virus "ILOVEYOU" menyebar ke seluruh dunia dalam beberapa jam. Virus ini menghancurkan file gambar, musik, sistem operasi, dan kata sandi yang disimpan. Virus ini menginfeksi komputer pada perusahaan besar seperti Ford dan Siemens, dan menginfeksi 80% komputer yang digunakan agen federal AS, termasuk di dalamnya Departemen Luar Negeri dan Pentagon. Komputer anggota parlemen Inggris dan Kongres AS juga terinfeksi. Saat itu, banyak pemerintahan dan lembaga bisnis yang harus menutup server surel mereka untuk membersihkan virus dan memperbaiki kerusakan yang dilakukan virus ini. Virus ini, masih dianggap sebagai salah satu virus yang paling merusak hingga saat ini, menyerang puluhan juta komputer di seluruh dunia dan menyebabkan kerugian sekitar 160 triliun rupiah. Seorang remaja melumpuhkan sistem komputer yang menangani komunikasi antara menara bandara dan pesawat yang akan masuk di bandara kecil di Amerika. Di Indonesia, seorang peretas muda menggeser posisi satelit yang menyebabkan kerugian besar perusahaan telekomunikasi. Serangan juga dilakukan peretas Indonesia ketika suatu lembaga mewacanakan pemblokiran Google dan Youtube. Peretas di Inggris meniru pengontrol lalu lintas udara dan memberi instruksi palsu kepada pilot. Seorang peretas memodifikasi program di situs judi online sehingga semua orang menang; situs judi tersebut kehilangan 1,9 juta dolar. Pencurian 800.000 dolar terjadi di sistem kereta bawah tanah Kota New York dengan memanfaatkan kesalahan perangkat lunak di mesin penjual karcis dalam bentuk kartu. Peretas dapat juga melakukan serangan balas dendam. Hal ini terjadi di Swedia, sesaat setelah polisi menggerebek situs musik populer (situs pembajakan), serangan balasan dilakukan oleh peretas dengan menyerang situs utama pemerintah Swedia dan kepolisian. Setelah perusahaan Sony menggugat George Hotz karena menunjukkan cara menjalankan aplikasi dan game di Sony PlayStation yang tidak sah, kelompok peretas melakukan Denial-of-Service pada situs Sony, di tempat lain, para peretas juga mencuri informasi nama, tanggal lahir, dan kartu kredit jutaan pengguna sistem game Sony. 171
Seiring dengan pertumbuhan penggunaan ponsel cerdas dan jejaring sosial, sasaran peretasan meluas untuk pengguna teknologi ini. Pengguna e-banking, m-banking, atau m-commerce dapat diretas dengan mencuri kredensial perbankan saat menggunakan aplikasi ini. Peretasan dapat dilakukan melalui jalur telekomunikasi saat melakukan transaksi seperti internet yang tidak aman, seperti: wifi, jaringan lokal, telepon, atau jalur lainnya. Kejahatan di media sosial dapat dilakukan dengan menipu pengguna media sosial seperti facebook. Pengguna facebook ditipu dengan menggunakan umpan gambar gambar diskon, gambar produk gratis, video lucu, menarik, dan pornografi yang sebenarnya palsu. Dengan mengakses umpan tersebut, pengguna secara sengaja menjalankan malware yang mampu mencuri informasi pribadi kalian. Hal ini merupakan modus kejahatan yang sering terjadi. Jadi, kalian harus berhati-hati jika ada umpan seperti ini. Media sosial menjadi tempat yang rawan kejahatan bagi orang yang memiliki kesenangan untuk berbagi. Tahukah kalian? Kredensial: sertifikat, surat, atau pernyataan yang menyatakan kemampuan seseorang melakukan sesuatu; menjamin kepercayaan atau kerahasiaan (Kamus Besar Bahasa Indonesia). tidak Kredensial pada sistem informasi: objek untuk mengontrol akses ke informasi atau sumber daya lain. Kombinasi klasik dari nomor akun atau nama pengguna dan kata sandi rahasia ialah contoh kredensial yang banyak digunakan. Bentuk kredensial lain, seperti biometrik (sidik jari, pengenalan suara, pemindaian retina), X.509, sertifikat kunci publik, dan sebagainya. (Wikipedia) Dengan pembentukan CERT, ilmuwan komputer menanggapi peningkatan ancaman keamanan dengan teknologi keamanan yang lebih baik, walaupun sikap tentang keamanan dalam bisnis, organisasi, dan lembaga-lembaga termasuk terlambat dalam menghadapi risiko keamanan ini. Teknik keamanan dan praktik industri baru meningkat secara dramatis pada awal tahun 2000-an ketika beberapa virus dan pelanggaran keamanan yang menghancurkan banyak organisasi dan membuat berita yang menghebohkan. pemerintah Saat ini, bidang keamanan informasi ini telah matang dan pihak yang berkompeten telah bekerja sama dengan penegak hukum untuk melawan ancaman yang ditimbulkan oleh peretas. 172
Dalam konteks peretasan, pada era ini, sebenarnya kesan positif dan negatif dari hacker menjadi tidak jelas batasnya. Peretas selanjutnya dikenal dengan "White Hat Hacker/ Peretas Topi Putih" dan "Black Hat Hacker/Peretas Topi Hitam" yang diilhami dari film koboi. Peretas topi putih adalah peretas yang menggunakan keahlian mereka untuk mencari celah keamanan atau potensi kerawanan untuk meningkatkan keamanan sistem. Peretas ini meminta izin ketika akan melakukan penetrasi ke sistem dan akan memberikan peringatan dini tentang potensi ini termasuk ancaman. Peretas pakar keamanan siber yang berusaha keras untuk melindungi sistem yang menggunakan etika dalam bekerja. Gambar 8.4 Logo Peretas Topi Putih dan Topi Hitam Tahukah kalian? Anonymous (anonim) adalah gerakan aktivis/hacktivist internasional yang tersebar dan dikenal luas karena berbagai serangan dunia maya terhadap beberapa lembaga pemerintah, perusahaan, dan organisasi bisnis lain. Adapun peretas topi hitam menggunakan keahlian mereka untuk merusak, tidak memiliki etika yang baik, serta melakukan penetasi tanpa izin dan ilegal. Peretas topi hitam sering juga disebut "Cracker", yang sering mencuri, mengeksploitasi, dan menjual data untuk mendapatkan keuntungan pribadi. Cracker juga mencari kelemahan sistem, atau mengunci tempat penyimpan data sehingga tidak dapat diakses, dan akan dapat dibuka jika pemilik membayar kepada cracker dalam nominal tertentu. Anonim didirikan pada tahun 2003 pada imageboard 4chan yang mewakili konsep banyak pengguna komunitas online dan offline yang secara bersamaan berperan sebagai otak global digital yang anarkis. Anggota anonim (dikenal sebagai "anon") dapat dikenali dengan mengenakan topeng Guy Fawkes yang digambarkan dalam novel grafis dan film V for Vendetta. Namun, ada juga yang lebih memilih untuk menutupi wajah mereka dengan wujud lain. Beberapa anon juga memilih untuk menutupi suara mereka melalui pengubah suara atau program text-to-speech. (Wikipedia) 173
Wikipedia juga mendefinisikan peretas topi abu-abu yang merupakan kategori tengah. Mereka mungkin berusaha untuk memperbaiki dan mengeksploitasi kelemahan sistem dengan tanpa mendapatkan keuntungan finansial. Namun, pekerjaan mereka tetap akan menjadi hal yang tidak legal jika tidak memberitahukannya ke pemilik sistem dan masuk menjadi kategori peretas topi hitam. b. Perkakas Peretasan Untuk melakukan aksinya, peretas menggunakan tools/perkakas yang beragam dan berbagai jenis malware (malicious software) seperti virus, worm, trojan horse, rekayasa sosial, phising, pharming, spyware, ransomware, backdoor, dan botnet. . 1) Virus Virus adalah perangkat lunak yang menempel pada perangkat lunak lain. Virus yang banyak ditemui mampu mereplikasi dirinya sendiri ke perangkat lunak lain dan menjalankan fungsi lain yang berbahaya seperti menghapus file, mengubah ekstensi nama file, menyembunyikan file, mengirimkan surel, dll. Virus menyebar ketika seseorang menjalankan program atau membuka lampiran yang telah terinfeksi virus. . 2) Worm Worm mirip dengan virus, tetapi tidak perlu menempel ke program lain agar dapat berfungsi. Worm dirancang untuk mengeksploitasi kelemahan sistem tertentu. Worm bekerja dengan berusaha mendapatkan akses ke sistem host, ketika telah masuk ke sistem, worm akan memindai sistem terdekat untuk menemukan kelemahan serupa sehingga dapat menyebar ke sistem itu. Worm Conficker, pertama kali terdeteksi pada tahun 2008, menginfeksi jutaan komputer, dan, seperti penyakit, virus ini tetap hidup. Pada tahun 2015, varian dari conficker menginfeksi kamera lembaga kepolisian Amerika. Ketika salah satu dari kamera ini dipasang ke komputer tertentu, worm menyebar ke komputer lain. . 3) Trojan Horse Trojan horse merupakan malware yang tampak seperti aplikasi perangkat lunak jinak, tetapi perangkat lunak ini membawa komponen yang Gambar 8.5 Kuda Troya 174
jahat di dalamnya. Pengguna tidak sadar bahwa program yang akan mereka gunakan membawa komponen jahat. Pengguna yakin program tersebut aman dan menggunakannya, tetapi saat aplikasi berjalan, program ini melakukan aktivitas berbahaya seperti memasang virus atau mengirim surel spam ke semua kontak yang ada di buku alamat pengguna. Ilustrasi gambar kuda troya tampak pada Gambar 8.5. . 4) Rekayasa Sosial Jika sebelumnya virus menggunakan celah keamanan teknis, teknik rekayasa sosial melakukan manipulasi pengguna, yaitu orang untuk mengeluarkan informasi atau melakukan tugas yang melanggar protokol keamanan. Peretas mungkin akan berpura-pura sebagai kantor pendukung teknis yang melayani perusahaan. Peretas akan menelepon kalian untuk meminta informasi kredensial seperti login atau informasi penting lainnya. Peretas mungkin juga akan menyamar sebagai bagian teknis Windows yang mengatakan bahwa komputer kalian terkena virus atau malware, yang selanjutnya, kalian diminta untuk mengunduh file patch. Namun, ketika diunduh dan dijalankan, file tersebut ternyata adalah malware itu sendiri. Rekayasa sosial pada masa awal internet cukup berhasil, contoh nyatanya ialah kemunculan virus Mellisa dan ILOVEYOU yang berhasil menginfeksi banyak komputer. Menurut laporan, kasus kejahatan siber di Indonesia periode Januari-September 2020, salah satu kejahatan terbesar ialah penipuan online dengan 649 kasus (sumber: Kepolisian Republik Indonesia, 2020). Penipu dengan berbagai cara meminta PIN ATM, password, atau kode penting lainnya yang selanjutnya menggunakannya untuk mencuri uang atau menyalahgunakan kode penting tersebut untuk berbuat kejahatan. Penipuan berkedok mendapatkan hadiah undian juga marak yang membuat banyak masyarakat Indonesia tertipu. Oleh sebab itu, kita perlu waspada ketika akan memberikan PIN atau kode penting lainnya kepada orang yang tidak dikenal. Janganlah kita mudah dikelabui untuk mendapatkan hadiah apa pun, apalagi jika kita diharapkan untuk mengirimkan uang ke seseorang yang tidak kita kenal. 175
. 5) Phising Phishing adalah kejahatan di dunia maya dimana biasanya target dihubungi melalui surel, telepon, atau pesan teks oleh seseorang yang menyamar dari lembaga yang sah untuk mengelabui target agar memberikan data sensitif seperti informasi pribadi, detail data perbankan atau kartu kredit dan kredensialnya. Cara mengelabui biasanya dengan menggunakan situs palsu yang mirip atau bahkan dengan situs aslinya. Target yang berhasil dikelabui akan memberikan informasi pribadi dan kredensialnya pada situs tersebut sehingga dapat diakses oleh pelaku phising. Informasi tersebut kemudian digunakan untuk mengakses akun penting dan dapat mengakibatkan pencurian identitas dan kerugian finansial. Beberapa modus yang sering muncul dalam phishing ialah adanya surel tentang terjadi pelanggaran dalam keamanan bank dan penerima surel perlu untuk menanggapinya guna menentukan apakah ada orang lain menyalahgunakan akun penerima. Ada pesan yang memberi tahu penerima, bahwa baru saja ada transaksi pembelian yang sangat besar dan jika pembelian bukan milik penerima, penerima harus mengeklik tautan untuk membatalkan pesanan. Dalam keadaan panik, penerima akan mengeklik tautan dan memasukkan informasi identitas mereka saat diminta. Indonesia pernah dihebohkan dengan kejadian phising pada tahun 2001, dimana nama domain yang mirip dengan domain online banking salah satu bank terbesar di Indonesia, dibeli dan dipalsukan. Konten dari nama domain palsu tersebut sama persis dengan domain aslinya sehingga pengguna percaya dan memasukkan informasi kredensialnya ke sistem palsu tersebut. . 6) Pharming Pharming adalah usaha untuk memikat pengguna internet untuk masuk ke situs web palsu, dimana peretas akan mencuri data pribadi penggunanya. Hal itu terjadi karena saat kita akan mengunjungi situs web, browser akan mencari alamat IP dari banyak sekali server nama domain (Domain Name Server). Pharming dilakukan dengan menanamkan alamat internet palsu pada tabel DNS yang mengarahkan browser ke situs palsu yang telah disiapkan oleh peretas. . 7) Spyware Spyware adalah malware yang dapat memantau dan merekam aktivitas pengguna di komputer atau perangkat seluler, termasuk mencatat penekanan tombol pada keyboard untuk menangkap nama pengguna, 176
kata sandi, nomor akun, dan informasi lainnya. Spyware dapat mencatat situs web yang dikunjungi dan aktivitas jaringan lainnya dan mengirim data ke server jarak jauh milik peretas. Lebih dahsyat lagi, spyware dapat mengontrol webcam dan merekam aktivitas tanpa sepengetahuan pengguna - spyware dapat menonaktifkan lampu "aktif " webcam saat merekam. Miss Teen USA 2013, Cassidy Wolf, secara tidak sengaja membuka lampiran surel dari teman sekelasnya yang langsung mengaktifkan spyware di komputernya. Spyware tersebut digunakan untuk mengawasi dan foto-foto Miss Wolf dan teman-temannya. Foto- foto tersebut kemudian digunakan untuk memeras Miss Wolf dengan mengancam akan menjualnya ke publik. . 8) Ransomware Ransomware adalah malware yang mampu mengenkripsi beberapa atau semua file di komputer atau perangkat seluler dan kemudian menampilkan pesan yang menuntut pembayaran kunci untuk mendekripsi file. Seringkali, peretas menuntut pembayaran dalam bitcoin, mata uang digital yang anonim. Para korban baik individu maupun bisnis besar, terutama yang tidak memiliki backup yang aman dan data yang dienkripsi adalah data penting, biasanya membayar biayanya. Menurut Departemen Kehakiman AS, serangan ransomware meningkat menjadi rata-rata 4.000 kasus dalam sehari pada tahun 2016 dengan transaksi jutaan dolar. . 9) Backdoor Backdoor adalah perangkat lunak yang mampu untuk mendapatkan akses ke suatu sistem komputer atau peranti, dengan melewati lapisan security normal. Peretas mungkin untuk memasang backdoor pada suatu perangkat lunak, atau mungkin pengembang perangkat lunak dengan sengaja menulis backdoor ke dalam sistem sehingga dia bisa mendapatkan kembali akses dengan mudah untuk pemeliharaan sistem atau untuk mengumpulkan profil pengguna. . 10) Botnet Botnet adalah akronim Robot dan Network. Botnet berbentuk sekelompok komputer atau perangkat lain di internet yang memiliki virus atau bagian dari malware yang dikendalikan oleh peretas melalui server pusat. Singkatnya, botnet adalah pasukan terkoordinasi dari perangkat yang telah disusupi oleh virus. Perangkat yang terinfeksi disebut sebagai bot atau zombie. 177
Dengan bot ini, peretas mengeluarkan perintah dari server pusat untuk mengarahkan botnet bekerja, dengan tugas seperti mengirim spam, berpartisipasi dalam penipuan iklan online, atau memulai Denial of Service (DoS) yang merugikan komputer target. Pemilik sebenarnya dari botnet biasanya tidak menyadari bahwa komputer mereka sedang melakukan spamming, atau melakukan DoS. Botnet sangat sulit untuk dibasmi: sebagian besar botnet berjalan dari jutaan komputer dan perangkat lain, dan sebagai virus dapat menginfeksi ulang perangkat dengan cepat. Beberapa botnet yang menginfeksi banyak komputer dalam orde jutaan ialah: Mariposa, Conficker, BredoLab, Zeus, Ramnit, dan Necurs. Penipuan internasional yang canggih diketahui melibatkan 20 miliar pesan spam yang dikirim dalam periode dua minggu dari lebih dari 100.000 komputer di lebih dari 100 negara. Pesan tersebut mengarahkan orang ke situs e-commerce, dan jika orang tersebut tidak waspada, mereka memesan produk dengan kartu kredit mereka dan tidak menerima apa pun. Tagihan kartu kredit masuk ke sebuah perusahaan di Rusia. Penipuan ini menggambarkan makin kompleksnya kejahatan di Web yang menggabungkan peretasan, botnet, spam, situs web palsu, dan penipuan internasional. . Tahukah kalian? Denial of service (DoS) atau atau Distributed Denial of service (DDoS) - adalah serangan yang biasanya dilakukan oleh botnet dengan membanjiri situs web, server e-mail, atau lokasi internet lainnya dengan permintaan yang sangat banyak sehingga layanan dari server menjadi tidak dapat diakses oleh pengguna. Serangan tersebut dapat merusak situs. Serangan DDoS relatif mudah diterapkan dan dapat dilakukan setiap hari. Target seringkali ialah situs web perusahaan besar, tetapi dapat juga perseorangan. Serangan DoS dapat berupa membanjiri server dengan data yang besar yang menyebabkan jaringan penuh. Cara ini biasa disebut lintas jaringan server dengan data-data agar pengguna tidak dapat masuk ke dalam sistem jaringan dikarenakan jaringan tersebut penuh. Teknik ini dinamakan traffic flooding. Cara lain ialah membanjiri server dengan permintaan sehingga pengguna yang terdaftar tidak dapat mengakses layanan tersebut. Cara ini disebut request flooding. Contoh serangan DDoS di Amerika yang diaktifkan oleh malware pada ponsel cerdas menyebabkan ponsel menelepon 911 (nomor telepon yang dapat dihubungi siapa pun dalam keadaan darurat di Amerika). Tidakan ini berpotensi memperlambat respons terhadap keadaan darurat. 178
2. Kerawanan di Dunia Digital Pada penjelasan sebelumnya, mungkin, kalian bertanya-tanya, mengapa peretas tampak dengan mudah mendapatkan akses ke daftar kontak teman kita atau mengapa spam e-mail begitu banyak kita dapatkan? Ada apa dengan teknologi informasi? Kalian juga mendengar banyak serangan peretasan pada data dan peranti sensitif yang berhasil. Banyak perangkat medis yang dapat diretas. Mengapa perangkat medis tidak dilindungi? Saat ini, memang hampir semua peranti dalam sistem digital dari ponsel, tablet, bahkan peralatan rumah tangga kita di rumah dapat dikendalikan dengan Web. Namun, peranti tersebut ternyata memiliki kerentanan berupa kelemahan dan kekurangan yang dapat ditemukan dan dieksploitasi seseorang. Berbagai faktor berkontribusi kerawanan pada keamanan teknologi informasi, yaitu: a. kompleksitas yang melekat pada sistem komputer, b. sejarah perkembangan internet dan Web itu sendiri, c. perangkat lunak dan sistem komunikasi di balik penggunaan telepon, web, sistem industri, dan peranti lainnya, d. kecepatan pengembangan aplikasi baru, faktor ekonomi, bisnis, dan politik, dan e. f. sifat manusia. Secara umum, kerawanan tersebut dapat dikelompok dalam tiga hal besar, yaitu: kerawanan pada sistem operasi, kerawanan pada internet, dan kerawanan pada sifat manusia, serta teknologi Internet of Things. Simak penjelasan berikut tentang ketiga kerawanan tersebut. a. Kerawanan di Sistem Operasi Salah satu bagian terpenting dari komputer adalah sistem operasi. Perangkat lunak ini seperti napas pada manusia: tanpa sistem operasi, sebuah komputer hanyalah onggokan alat. Sistem operasi mengatur kerja komputer, mengontrol akses ke perangkat keras, mengatur cara aplikasi disimpan, dieksekusi, dan dapat digunakan oleh penggunanya. Hal ini termasuk cara mengendalikan file, perangkat penyimpan, perangkat masukan, dan perangkat keluaran. Sistem operasi telah banyak dijelaskan pada elemen Sistem Komputer. Sistem Operasi, seperti Microsoft Windows, MacOS Apple, dan Linux, semuanya dikembangkan dengan usaha untuk menyeimbangkan: 179
a. pemberian fitur kepada pengguna sebanyak mungkin, b. pemberian kemampuan untuk mengontrol fitur kepada pengguna sebanyak mungkin, c. kenyamanan dan kemudahan penggunaan, d. penyediaan sistem yang stabil, andal, tanpa error, dan e. penyediaan sistem yang aman. Setiap sistem operasi dan setiap versi sistem operasi memiliki keseimbangan kriteria yang berbeda. Pengembangan sistem operasi untuk mengelola komputer, keyboard, mouse, layar sentuh, hard disk, dan memori merupakan pekerjaan yang sangat kompleks. Belum lagi ada tambahan kompleksitas ketika komputer harus terkoneksi ke jaringan dan internet serta menjaga keseimbangan kriteria di atas. Pengembangan sistem operasi melibatkan ribuan pengembang perangkat lunak, dimulai dari perancang, pemrogram, dan penguji. Pada perangkat smartphone, kompleksitas makin bertambah dengan hadirnya kamera video depan dan belakang, multi-touch pressure-sensitive layar, pembaca sidik jari, penggunaan baterai, dan konektivitas nirkabel. Tahukah kalian? Patch adalah perangkat lunak yang dirancang untuk memperbaiki kesalahan atau kelemahan sistem, biasanya untuk perangkat lunak yang sudah ada di pasaran dan sedang digunakan. Maka, memang dapat dimaklumi bahwa terkadang, terjadi kesalahan pada sistem operasi karena kompleksitasnya. Perusahaan pengembang perangkat lunak secara teratur memperbaharui produk mereka dengan patch (tambalan) untuk menutup celah, memperbaiki kesalalahan. Namun terkadang, pembaharuan pada sistem operasi membuat aplikasi yang berjalan di atasnya tidak didukung sehingga tidak berjalan semestinya. Pembaharuan sistem operasi bahkan menghasilkan file tambal sulam yang tidak konsisten. Celah- celah keamanan dan tambal sulam inilah yang kemudian menjadi celah keamanan yang dapat dimanfaatkan oleh para peretas. b. Kerawanan di Internet Internet dimulai jaringan yang menghubungkan sejumlah universitas, perusahaan teknologi, dan instalasi pemerintah di Amerika. Pada tahun-tahun awal, internet sebagai ARPANET, sebuah 180
digunakan sebagai media komunikasi peneliti. Jadi, fokusnya pada akses terbuka, kemudahan penggunaan, dan kemudahan berbagi informasi. Banyak sistem awal di internet memang dibiarkan terbuka, tanpa kata sandi, dan sedikit yang terhubung ke jaringan telepon. Dalam hal ini, perlindungan sistem terhadap para penyusup memang tidak menjadi perhatian penting dan bergantung pada kepercayaan penggunanya. Didesain untuk keterbukaan, internet kini memiliki tiga miliar pengguna global dan miliaran perangkat yang terhubung dengannya. Ketika bisnis dan lembaga pemerintah mulai membuat situs web pada tahun 1990-an, pakar keamanan Internet dan Farmer menjalankan program untuk menyelidiki situs bank, surat kabar, lembaga pemerintah, dan situs hiburan untuk melihat celah perangkat lunak yang memudahkan peretas untuk menyerang atau merusak situs. Dari 1.700 situs yang diperiksa, ternyata, ditemukan sekitar dua pertiganya memiliki kelemahan keamanan - dan hanya empat situs yang tampaknya memerhatikan bahwa seseorang sedang menyelidiki keamanan mereka. Salah satu area kerentanan di World Wide Web adalah protokol untuk menemukan jalur terbaik untuk mengirimkan pesan. Ketika seseorang mengakses situs web tertentu, jalur yang dilalui dapat melewati ribuan jaringan interkoneksi yang lebih kecil. Pada suatu node yang dilewati, sebenarnya, node tersebut memiliki informasi jalur terpendek yang selalu diperbaharui. Namun, kelemahannya ialah tidak ada fasilitas untuk memverifikasi pembaruan ini. Setiap jaringan percaya bahwa perbaruan itu membuat informasi makin akurat. Namun kenyataannya, daftar ini telah dipalsukan, disengaja maupun tidak. Hasil daftar yang keliru dapat mengarahkan lalu lintas data militer AS melalui China, atau China ke Indonesia dan sebaliknya yang dapat menjadi isu spionase. Dalam kejadian lain, mungkin terjadi lalu lintas antara dua gedung yang bersebelahan, tetapi melakukan perjalanan ke negara lain yang jauh. Umum adanya, banyak usaha kecil tidak memiliki departemen TI dan hanya memiliki satu personel yang menangani komputer, perangkat lunak, dan jaringan komputer di kantor. Perusahaan ini biasanya mengandalkan perangkat lunak keamanan, anti-malware, yang gratis. Meskipun perangkat lunak anti-malware gratis memberikan perlindungan, tetapi cakupannya terbatas, mungkin tidak secara otomatis memindai virus, dan jarang memberikan pembaruan rutin ke daftar yang diketahui malware. 181
Banyak situs web bisnis kecil dibuat oleh perusahaan desain Web lokal kecil atau mungkin teman atau anggota keluarga dari pemilik bisnis. Keamanan biasanya tidak menjadi perhatian karena situs web itu sederhana dan menganggap tidak ada informasi berharga di situs. Situs-situs ini kemudian menjadi media yang berharga bagi para peretas. Peretas dapat membuat situs web baru yang tersembunyi di situs tersebut. Selanjutnya, mereka menggunakan situs tersembunyi itu untuk meniru situs web bank untuk penipuan phishing, untuk pharming, sebagai server perintah dan kontrol untuk botnet, atau untuk tujuan jahat lainnya. c. Kerawanan pada Sifat Manusia dan Internet of Things Faktor signifikan lain yang menyebabkan lemahnya keamanan adalah kecepatan inovasi dan keinginan orang akan hal baru yang diproduksi dengan cepat. Tekanan persaingan mendorong perusahaan untuk mengembangkan produk tanpa pemikiran atau anggaran yang dikhususkan untuk menganalisis potensi risiko keamanan. Konsumen lebih senang membeli produk baru dengan kenyamanan dan fitur baru yang memesona daripada yang bebas risiko dan aman. Sering kali, para peretas dan profesional keamanan secara teratur menemukan celah keamanan setiap kali produk, aplikasi, dan fenomena baru muncul di internet. Kerawanan pada sifat manusia juga disebabkan oleh ketidak-hati-hatian. Banyak kejadian pencurian data sensitif yang terjadi karena peranti portabel, seperti laptop dan ponsel yang dicuri. Hal ini menyebabkan pemikiran untuk menggunakan proteksi tambahan pada peranti portabel agar tidak mudah dicuri. Demikian juga dengan keamanan ponsel, tetapi saat ini, teknologi telah memungkinkan pelacakan ponsel yang dicuri dan melakukan penghapusan data yang ada pada ponsel tersebut. Ponsel juga dilengkapi dengan biometrik untuk mengakses piranti seperti wajah, suara, retina mata, dan sidik jari sehingga pencurian ponsel tidak serta merta mudah mengakses data yang ada didalamnya. Saat ini, peranti Internet of Things (IoT) telah mencakup miliaran perangkat dari ponsel pintar, mobil otonom, lampu dengan sensor di jalan, CCTV, televisi, DVD, drone pribadi, dll. Sebuah studi oleh Hewlett-Packard menunjukkan bahwa perangkat IoT rata-rata memiliki banyak kerentanan. Banyak dari perangkat ini memiliki aplikasi ponsel yang mampu menyimpan informasi pribadi, tetapi dapat diakses peretas. Konsultan keamanan menunjukkan, dengan menggunakan perangkat seukuran laptop, mereka 182
mampu membuat tiruan menara telepon seluler (BTS), dan meretas beberapa smartphone dari jarak 9 meter dan menyalin informasi yang tersimpan, memasang perangkat lunak, dan mengendalikan kamera dan mikrofon ponsel. Hal itu juga mungkin dapat dilakukan untuk mengendalikan lampu Phillips Hue versi awal dari jarak jauh. Televisi pintar dan pemutar DVD yang terhubung ke internet memiliki kerentanan yang memungkinkan peretas untuk memantau acara dan film yang ditonton di rumah mereka. Untuk memperbaikinya, seseorang biasanya perlu untuk mengunduh dan memasang tambahan aplikasi secara manual. Kadang-kadang, hal ini menjadi hal yang menakutkan untuk pengguna rumahan karena jika tidak dilakukan dengan benar, tidakan itu dapat menonaktifkan perangkat. Jika di rumah kalian, orang tua menggunakan perangkat IoT, teruslah belajar cara menggunakannya dengan aman. Ayo, Kita Diskusikan Aktivitas Kelompok Aktivitas DSI-K9-01: Keamanan Data dan Informasi di Internet Diskusikan topik secara berkelompok dengan maksimal 4 orang anggota kelompok. Kalian diberi brainstorming placemat, placemat dapat berupa hardcopy file atau online slides/jamboard, seperti tampak pada gambar berikut. Brainstroming Placement Gambar 8.6 Tatakan Curah Ide Setiap siswa menuliskan pendapatnya di setiap kotak. Jawaban yang disetujui sebagai hasil diskusi diletakkan di tengah. 183
Topik 1 Beberapa hacker muda berpendapat bahwa, jika pemilik sistem komputer ingin pihak luar tidak mengganggunya, tanggung jawab pemilik untuk memberikan keamanan yang lebih baik pada sistemnya. Ken Thompson, salah satu penemu sistem operasi UNIX, berpendapat, "Tindakan membobol sistem komputer harus diberikan stigma sosial yang sama seperti orang yang membobol rumah tetangga. Tidak masalah pintu tetangga itu tidak terkunci. " Pendapat siapa yang kalian setujui? Berikan alasan kalian... Topik 2 Perhatikan, analogi antara waktu henti sesekali yang terjadi di Web yang disebabkan oleh virus, worm, atau serangan denial-of-service. Lalu lintas kendaraan melambat di jalan selama jam sibuk atau cuaca buruk. Jelaskan kesamaannya... 184
Ayo, Kita Diskusikan Aktivitas Kelompok Aktivitas DSI-K9-02: Studi Kasus Kejahatan di Internet Kasus: Pusat Operasi Keamanan Siber Nasional (Pusopskamsinas) mencatat jumlah kasus peretasan di Indonesia selama tahun 2020 cukup besar. Hal itu disebabkan selama pandemi Covid-19, jumlah pengguna internet pun makin banyak. Dari laporan Pusopskamsinas yang dikutip Sabtu (6/3/2021) menjelaskan, kasus peretasan yang cukup banyak dilakukan melalui phising. "Pusopskamsinas pada tahun 2020 mendeteksi terjadinya email phishing sebanyak 2.549 kasus," tulis laporan tersebut. Peningkatan email phising ini terbanyak terjadi pada kuartal II tahun lalu, yakni bulan Maret-Mei 2020. Adapun jumlah kasus ini terjadi paling banyak pada saat jam kerja. "Sebanyak 55,53% email phising dikirim pada jam kerja (09.00 - 17.00) dan 44,37% dikirim di luar jam kerja," kata dia. Peretas mengirimkan sebuah surel dengan judul yang menarik untuk dibuka oleh korban, biasanya berkaitan dengan finansial ataupun periklanan (hadiah, voucher, diskon, dll.). Surel biasanya berisi file sisipan (attachment) atau link yang mengarahkan pada diunduhnya program berbahaya. Program ini dapat secara otomatis bekerja di komputer korban dan mencuri kredensial, password, akun, informasi kartu kredit, dan lainnya. Phishing menjadi pilihan yang populer di kalangan para peretas karena murah, dan kemudahan serta efektivitasnya cukup tinggi. Meskipun banyak organisasi yang telah menerapkan sistem keamanan untuk memblokir serangan phishing, tetapi penyerang juga makin memiliki peralatan phishing yang lebih canggih. (sumber: Apa yang kalian diskusikan? 1. Buatlah ringkasan dalam bentuk gambar/diagram dengan tools kolaborasi digital, tentang cara phising email bekerja. 2. Tentukan masuk dalam kategori kerawanan mana kejahatan internet di atas. 185
3. Apa akibat yang dapat terjadi karena phising email tersebut? 4. Apa yang kalian usulkan sehingga pengguna internet khususnya surel tidak menjadi korban dari kejahatan internet di atas? B. Perkakas untuk Melindungi Data dan Informasi Pada subbab sebelumnya, kalian telah mempelajari banyaknya ancaman kejahatan di dunia maya. Mungkin, hampir setiap hari, kita selalu mendengar adanya pelanggaran keamanan dan serangan dunia maya. Hal itu mungkin terjadi karena banyak kerentanan yang ada pada sistem kita. Pada bab ini, akan dibahas mengenai perkakas yang dapat melindungi data dan informasi kita di internet sehingga lebih aman. 1. Enkripsi Enkripsi adalah alat keamanan yang sangat berharga untuk pengamanan data pada komunikasi data di jaringan komputer/internet. Enkripsi adalah suatu metode yang mengodekan data sebelum dikirim melalui jaringan komputer. Data tersebut disandikan sedemikian rupa sehingga tidak dapat dibaca sebelum dikembalikan ke bentuk aslinya (di-decrypt). Dengan enkripsi, data yang menyebar dalam jaringan komputer, atau dalam bentuk lainnya tidak dapat dibaca tanpa di dekripsi. Metode ini membuat data menjadi lebih aman. Sebagai pengingat, secara ringkas enkripsi digambarkan dengan diagram pada Gambar 8.7. Pengirim : Agus Penerima : Dewi Halo, Pesan ini asli, dari: Agus Enkripsi / Encrypt @12d1324faf ufdqwcfdsaa Enkripsi / Encrypt Halo, Pesan ini asli, dari: Agus Data/ Teks Asli Data/ Teks Asli Data terenkripsi (ciphertext) Gambar 8.7 Cara kerja enkripsi 186
Beberapa perancang internet awal sangat menganjurkan penggunaan enkripsi pada komunikasi data. Pada saat dikembangkan, memang protokol utama komunikasi Internet, TCP/IP tidak melakukan enkripsi data karena enkripsi membutuhkan sumber daya komputasi yang besar dan mahal. Masalah juga diperparah dengan problem pendistribusian kunci (key) dekripsi yang sulit. Algoritma rinci enkripsi telah diajarkan pada materi sebelumnya. Saat ini, teknologi enkripsi sudah sangat mapan, tetapi masih dianggap mahal dan merepotkan. Teknologi ini membutuhkan biaya pengembangan dan sumber daya komputasi yang tidak sedikit sehingga pemerintah dan bisnis pun sering tidak menggunakannya bahkan untuk aplikasi yang sangat penting. Sebagai contoh, institusi militer di Amerika, pada awalnya tidak mengenkripsi sistem pemberi masukan (feeder) video pada sistem drone, celah ini kemudian mampu dimanfaatkan seseorang (musuh) untuk meretasnya dengan menggunakan perangkat lunak seharga 500 ribu rupiah yang tersedia di internet. Drone akan mendapatkan informasi yang salah sehingga tidak dapat melakukan operasi pengintaian yang tepat sasaran. Contoh lain, sebuah perusahaan retail (pengecer) TJX di Amerika menggunakan sistem enkripsi yang ketinggalan zaman untuk melindungi data yang dikirim melalui cash register ke komputer server melalui jaringan nirkabel. Peretas tahu celah ini, yang kemudian menggunakan antena kekuatan tinggi untuk melakukan intercept (cegatan) data transaksi penjualan ini, mengambil datanya, memecahkan kodesandi karyawan, dan kemudian melakukan peretasan ke basis data pusat. Selama periode sekitar 18 bulan, peretas berhasil mencuri jutaan nomor kartu debit dan kartu kredit beserta informasi identifikasi penting milik ratusan ribu orang. Nomor yang dicuri tersebut kemudian digunakan secara tidak sah setidaknya di delapan negara. Dua insiden tersebut menunjukkan contoh enkripsi data yang terabaikan dan tidak memadai dalam proses transmisi data. Penggunaan penting berikutnya dari enkripsi adalah untuk kepentingan data dan dokumen yang disimpan. Dalam beberapa kasus pencurian besar data pribadi konsumen dari perusahaan pengecer, didapatkan bahwa database mereka termasuk kata sandi, nomor kartu kredit, dan nomor penting lainnya tersimpan dalam keadaan tanpa enkripsi. Teknik lain yang banyak digunakan peretas untuk mendapatkan informasi kredensial pengguna adalah menggunakan Wi-Fi tidak terenkripsi. Peretas dengan santai duduk di kafe kopi sambil melakukan scanning transmisi Wi-Fi 187
untuk mencari orang yang terhubung ke jaringan. Jika ada pengguna yang melakukan login dengan menggunakan informasi pribadi dan kredensial, data tersebut dapat dicuri. Jadi, berhati-hatilah jika kalian berada di area publik dengan Wi-Fi gratis, koneksi dan data kalian dalam kondisi rentan. Gunakan koneksi data milik sendiri jika melakukan transaksi online. Saat ini, aplikasi bertukar pesan pada ponsel pintar telah banyak menggunakan teknik enkripsi dalam berkomunikasi. Aplikasi tersebut di antaranya ialah Whatsapp, Telegram, Facebook Messenger, dll. Whatsapp sebagai salah satu aplikasi dapat diatur untuk mendapatkan enkripsi dari ujung ke ujung (end-to-end encryption) 2. Antivirus Merebaknya malware atau virus menyebabkan pengguna merasa terganggu kenyamanannya ketika bekerja dengan komputer dan takut ketika bertransaksi di internet. Beberapa alat dan perangkat lunak telah tersedia untuk membantu pengguna melindungi peranti dan file dari gangguan virus, atau untuk menghindari menjadi mata rantai yang lemah dalam rantai sistem keamanan. Perangkat lunak di antaranya adalah antivirus atau anti-malware. Perangkat lunak antivirus akan mencari virus/malware di komputer dengan menggunakan dua cara berikut. Pertama, jika kalian telah memasang antivirus di komputer, saat kalian memasang peranti baru, seperti kamera, printer atau drive USB ke komputer, antivirus akan melakukan pemindaian semua file yang berhubungan dengan peranti tersebut. Antivirus akan mencari signature (tanda tangan) virus, yaitu urutan karakter unik yang berhubungan dengan virus tersebut, dengan mencocokkannya dengan signature virus yang disimpan dalam dictionary (kamus) antivirus. Jika cocok, ia akan memberi tahu kalian bahwa ada file yang mengandung virus dan akan dilakukan "karantina". Karantina biasanya dilakukan dengan menempatkannya pada folder khusus sampai kita memutuskan apakah file tersebut akan dibersihkan atau dihapus. Ilustrasi cara kerja antivirus tampak pada Gambar 8.8. Selain itu, kita dapat mengatur perangkat lunak antivirus untuk memindai file di komputer secara berkala untuk mengetahui apakah ada malware pada komputer. 188
Gambar 8.8 Cara Kerja Antivirus Kedua, teknik kedua yang dilakukan oleh perangkat lunak anti-malware ialah memantau sistem komputer untuk aktivitas yang ditetapkan sebagai "kegiatan virus". Beberapa kegiatan virus itu antara lain mengubah file sistem yang biasanya tidak akan diubah, memodifikasi bagian file memori komputer di luar area program yang diizinkan, atau memodifikasi beberapa program secara bersamaan. Ketika perangkat lunak anti-malware mendeteksi aktivitas semacam itu, perangkat lunak itu akan dinon-aktifkan dan pengguna akan diperingatkan. Namun, seiring waktu, peretas menemukan cara untuk menghindari perangkat lunak anti-malware, peretas mulai mengubah tanda tangan virus. Anti-malware meningkatkan kemampuan perangkat lunak mereka; peretas menemukan cara baru lagi untuk menghindari; dan seterusnya. Hal ini dapat dianalogikan dengan modus pencuri dan polisi. 3. Aplikasi Terpercaya Saat ini, dengan merebaknya malware, sebagian besar produsen sistem operasi telah menambahkan fitur ke sistem operasi mereka. Sistem operasi ini memberi peringatan kepada pengguna bahwa seharusnya semua perangkat lunak di komputer atau perangkat seluler berasal dari pengembang asli yang bersertifikat. Pengembang perangkat lunak dapat mengajukan permohonan ke produsen sistem operasi, misalnya, Apple, Microsoft, atau Google, untuk sertifikat digital. Jika telah memiliki sertifikat digital, aplikasi apa pun yang dibuat oleh pengembang akan memiliki sertifikat digital yang menempel dan 189
merupakan aplikasi tepercaya (trusted application). Dengan mengaktifkan fitur ini pada sistem operasi, perangkat lunak yang berjalan di peranti harus berasal dari pengembang bersertifikat, jika tidak maka sistem operasi tidak mengizinkannya untuk berjalan. Namun, sama seperti pembuatan virus, peretas mungkin juga menemukan kerentanan pada fitur ini, seperti proses yang digunakan sistem operasi Android untuk memvalidasi sertifikat. Peretas berhasil memalsukan sertifikat digital dari pengembang sehingga pembuat sistem operasi harus menambal sistem untuk mengatasi kesalahan. Beberapa produk sistem operasi memungkinkan fitur trusted application dapat dimatikan (disable). Dengan demikian, aplikasi yang dikembangkan oleh perusahaan kecil, individu, atau dipakai untuk diri sendiri yang tidak memiliki sertifikat dapat dijalankan di ponsel/komputer. Namun, menggunakan aplikasi yang belum memiliki sertifikat adalah tindakan yang berisiko. Sistem operasi seluler Apple, iOS, mengharuskan semua aplikasi yang terpasang pada perangkat iPhone/iPad berasal dari pengembang yang bersertifikat. Apple menyediakan App Store, dimana aplikasi yang dapat dipasang ialah yang ada di App Store. Banyak orang menilai kebijakan ini membatasi kreativitas dan mengurangi persaingan. Pengguna juga menganggap fitur ini menjadikan iPhone dan iPad mereka tidak leluasa dikendalikan dan tidak fleksibel sehingga pengguna iPhone/iPad berusaha untuk meretas dengan menonaktifkan persyaratan sertifikasi. Hal ini biasanya disebut jailbreaking. Namun, dengan melakukan jailbreaking, kita memperbesar kemungkinan perangkat akan terkena virus. Ada beberapa virus yang secara khusus menargetkan iPhone yang di-jailbreak. Jadi, sebenarnya sebagai pengguna perangkat teknologi informasi dan internet, kita harus menyeimbangkan antara: keamanan di satu sisi, atau fleksibilitas, kenyamanan, dan pengendalian oleh pengguna di sisi lainnya. 4. Alat Otentikasi Mekanisme keamanan berikutnya adalah otentikasi (authentication). Otentikasi dilakukan untuk memastikan dan mengonfirmasi bahwa suatu objek adalah otentik atau asli. Otentikasi dapat diterapkan pada beberapa objek, seperti situs web, user, surel, dokumen, dll. 190
a. Otentikasi Web Situs web sebagai salah satu sumber daya yang banyak digunakan di internet. Situs web dapat diotentikasi bahwa situs tersebut adalah otentik. Browser web, search engine, dan perangkat lunak tambahan (add-on) telah dapat membantu memfilter situs web yang dianggap otentik dan aman. Perangkat lunak tambahan juga memiliki fasilitas yang mampu untuk menampilkan peringatan bagi situs yang diketahui mengumpulkan dan menyalahgunakan informasi pribadi. Meskipun bermanfaat bagi pengguna, tetapi bentuk pemfilteran harus dilakukan dengan hati-hati. Filter yang terlalu ketat akan membuat situs web yang sebenarnya aman akan masuk kategori yang terfilter, seperti juga mekanisme filter spam pada surel. Kesalahan dalam menandai (memberi nilai/rating) untuk keperluan pemfilteran dapat merusak hubungan bisnis dan dapat mengakibatkan gugatan untuk perusahaan pemberi rating. Hal ini penting, baik dari perspektif etika maupun bisnis dalam bentuk kehati-hatian dalam merancang dan menerapkan sistem penilaian. Selain itu, dengan maraknya kejahatan internet seperti phising dan pharming yang memalsukan internet, banyak institusi bisnis dan keuangan seperti perbankan memberi keamanan lebih pada pengguna daringnya. Institusi bank dan bisnis keuangan juga mengembangkan sistem keamanan untuk web mereka. Teknik ini digunakan untuk meyakinkan pelanggan bahwa web yang diakses oleh pelanggan adalah web otentik sebelum pelanggan memasukkan kata sandi atau informasi sensitif lainnya. Misalnya, saat pelanggan membuat akun pertama kali, web site meminta pelanggan untuk mengunggah gambar digital (misalnya, kucing/anjing peliharaan) atau memilih dari gambar yang tersedia. Pada saat berikutnya, ketika pelanggan mengakses web site, sebelum proses login dengan mengisikan nama (atau pengenal lain yang tidak penting), sistem akan menampilkan gambar yang diunggah/dipilih sebelumnya. Dengan demikian, situs mengotentikasi dirinya sendiri kepada pelanggan sebelum pelanggan melakukan otentikasi dirinya dengan memasukkan kata sandi. b. Otentikasi Pengguna Otentikasi pengguna adalah bagian penting dari keamanan informasi. Banyak kejahatan peretasan terjadi karena otentikasi pengguna ini. Otentikasi pengguna umumnya menggunakan username dan password. Username dan password adalah data sensitif yang harus dijaga agar tidak diketahui orang lain. 191
Kejahatan dengan memanfaatkan otentikasi pengguna telah banyak terjadi. Di Amerika, seorang peretas membobol banyak akun milik pialang online, dan kemudian membeli saham menggunakan akun curian tersebut. Jumlah pembelian yang besar mendorong harga naik, dan peretas itu kemudian mendapatkan keuntungan dengan menjual sahamnya. Ketika seorang peretas dapat membobol akun kita, banyak hal yang dapat dilakukan oleh peretas tersebut. Pembobolan ini juga sering terjadi pada bank online dan situs keuangan lainnya. Di Indonesia, penyalahgunaan PIN ATM, kata sandi oleh orang yang tidak berhak marak terjadi yang disebabkan oleh penipuan atau banyak hal lainnya. Aksi phising juga pernah terjadi pada tahun 1990-an dimana situs palsu sebuah bank ternama di Indonesia mampu mendapatkan ribuan username dan password dari pengguna online banking dari bank tersebut. Hal inilah yang mendorong institusi keuangan untuk mengembangkan prosedur yang lebih baik untuk mengotentikasi pengguna. Walaupun berbekal identitas dan nomor curian serta informasi identitas lain yang lain, perusahaan diharapkan dapat membedakan pemilik akun asli atau palsu. Otentikasi pengguna atau pelanggan secara jarak jauh pada dasarnya sulit ttsehingga memang diperlukan informasi lebih dari yang biasa diperlukan untuk mengidentifikasi seseorang dan kemudian memberikan otorisasi. Metode otentikasi yang saat ini banyak digunakan, salah satunya ialah penggunaan biometrik dari pengguna seperti sidik jari, suara, wajah, retina mata, dll. Beberapa situs meminta memasukkan nama guru favorit, mobil yang dibeli pertama kali, dll. saat mendaftarkan diri sebagai pengguna, yang untuk selanjutnya diminta untuk dimasukkan kembali sebelum proses login. Ada juga situs yang menyimpan informasi mengenai peranti yang biasanya digunakan pelanggan untuk login dan meminta informasi tambahan ketika seseorang masuk dari peranti yang berbeda. Sebuah situs meminta pelanggan untuk memilih beberapa gambar saat membuka akun, dan kemudian meminta pelanggan untuk identifikasi gambar saat login. Hal-hal tersebut di atas merupakan contoh bahwa banyak metode yang terus berkembang untuk menambah keamanan berinternet. Kemajuan perangkat lunak otentikasi muncul dengan teknik kecerdasan buatan. Perangkat lunak ini mampu menghitung risiko kepalsuan berdasarkan data perbedaan waktu login, jenis browser yang digunakan, perilaku, transaksi khas pelanggan, dll. Termasuk juga lokasi geografis, dan tempat pengguna biasanya login ke situs web juga dapat digunakan untuk konfirmasi. 192
c. Biometrik Biometrik adalah karakteristik biologis yang unik bagi seorang individu. Termasuk di dalamnya ialah sidik jari, pola suara, struktur wajah, geometri tangan, pola mata (iris atau retina), dan DNA. DNA sudah lama digunakan dalam penegakan hukum dan sistem peradilan di Indonesia. Teknologi biometrik untuk identifikasi saat ini merupakan industri penting bernilai miliaran dolar dengan banyak aplikasi yang bermanfaat dan memberikan kenyaman dan keamanan. Saat ini, telah banyak penggunaan biometrik untuk otentikasi. Kita dapat membuka smartphone, tablet, dan pintu dengan menyentuh pemindai sidik jari. Dengan biometrik, kita tidak lagi menggunakan kata sandi yang mungkin dapat terlupa, atau kunci fisik yang mungkin tertinggal atau hilang. Dengan sidik jari akses peretas menjadi banyak terkurangi. Beberapa aplikasi ponsel cerdas saat ini telah menggunakan pengenalan sidik jari, wajah, atau suara yang bermanfaat untuk mengotentikasi pemilik dan melindungi pencurian informasi atau dana di dompet elektronik. Untuk mengurangi risiko terorisme, beberapa bandara menggunakan sistem identifikasi sidik jari untuk memastikannya bahwa hanya karyawan yang boleh memasuki area terlarang. Di pabrik, pekerja tidak lagi memasukkan kartu presensi fisik; sebagai gantinya, mereka gunakan scan sidik jari tangan. Sekolah dan kampus saat ini di Indonesia, bahkan telah banyak yang menggunakan sidik jari atau wajah untuk presensi kehadiran sekolah. Di sisi lain, peretas berusaha menemukan cara untuk mencari celah keamanan identifikasi biometrik. Peneliti di AS dan Jepang pernah melakukan riset mengganti sidik jari manusia dengan sidik jari mayat atau dengan jari palsu yang dibuat dari gelatin atau plastisin (Play-Doh). Pemindai mata juga dapat ditipu dengan menggunakan lensa kontak. Namun, teknologi biometrik juga berkembang jauh lebih baik. Saat ini, misalnya, pemindai jari dapat mengambil gambar sidik jari dengan resolusi sangat tinggi dari sidik jari subdermal sehingga dapat membedakan sidik jari orang mati. Pemindaian iris mata menggunakan analisis pola lingkaran berwarna yang mengelilingi pupil mata, yang telah ada pada smartphone. Pemindaian retina yang diklaim lebih akurat, di mana mengambil gambar dan menganalisis pola unik pembuluh darah di retina mata. Pola retina mata juga akan memudar dengan cepat setelah kematian. Pemindaian dengan retina dianggap hampir tidak mungkin dapat dipalsukan. 193
d. Otentikasi Multifaktor Otentikasi pengguna dengan menggunakan kata sandi dan pemindaian biometrik, saat ini cukup memadai. Namun, dengan banyaknya usaha untuk meretas, muncul otentikasi dengan metode lain. Metode lain tersebut disebut otentikasi multifaktor. Pada teknologi otentikasi, terdapat tiga kategori teknologi, yaitu seperti berikut. 1. Sesuatu yang diketahui oleh pengguna, misalnya kata sandi, PIN, atau frase kunci rahasia. 2. Sesuatu tentang diri pengguna, seperti: suara, sidik jari, atau pemindaian retina. 3. Sesuatu yang dimiliki pengguna, misalnya kartu (kartu masuk, debit, kredit), ponsel cerdas, pin generator (seperti key BCA, token Mandiri), atau fob Metode otentikasi multifaktor menggunakan setidaknya memiliki dua item dari kategori berbeda. Beberapa contohnya seperti berikut. a. Otentikasi menggeser kartu debit (3) dan memasukkan PIN (1) b. Memasukkan kata sandi (1), kemudian mengetik kode khusus situs web yang dikirim ke ponsel (3). c. Berbicara (2) dan frasa kunci rahasia (1). d. Menggunakan sidik jari (2) dan kode khusus dari fob (3). Memasukkan kata sandi dan PIN tidak akan menjadi otentikasi multifaktor karena kedua item berada dalam satu kesatuan kategori. Tahukah kalian? Fob adalah peranti kecil (perangkat keras) yang menghasilkan kode untuk akses ke jaringan. C. Meningkatkan Keamanan Informasi Saat ini, dengan makin banyaknya kejahatan di internet karena aktivitas online, pengembang perangkat lunak ikut bertanggung jawab terhadap keamanan pengguna dengan mengembangkan fitur untuk keamanan informasi. Fitur tersebut terdapat pada sistem operasi, browser, dan aplikasi. 194
1. Penggunaan Fitur Keamanan pada Sistem Operasi Salah satu fitur keamanan pada sistem operasi ialah fitur keamanan yang ada pada Windows 10. Windows 10 memiliki fitur Windows Security dimana fitur ini dapat digunakan untuk memproteksi peranti dan data yang ada pada komputer. Fitur Windows Security di antaranya seperti berikut. a. Virus and threat protection Perlindungan terhadap virus & ancaman lain. Fitur perlindungan terhadap dinamakan virus Microsoft Defender Antivirus. Fitur ini dapat digunakan untuk memonitor/ memantau ancaman keamanan di peranti yang kalian miliki. Dengan fitur ini, kalian mendapatkan perlindungan terhadap virus dan ancaman lain dengan antivirus terbaru. Peranti kalian akan dilindungi secara aktif ketika Windows 10 dihidupkan. Fitur ini akan terus-menerus memindai malware (perangkat lunak berbahaya), virus, dan ancaman keamanan lainnya. Selain perlindungan secara real-time (waktu nyata), pembaruan dapat diunduh secara otomatis untuk membantu menjaga perangkat tetap aman dan terlindungi dari ancaman keamanan. b. Account protection (Perlindungan akun). Akses login dengan bermacam pilihan dan settings, termasuk menggunakan kunci dinamis tersedia pada Windows Security. c. Firewall and network protection (Firewall & perlindungan jaringan). Fitur ini memungkinkan pengguna mengelola setelan firewall dan memonitor kegiatan dan aktivitas yang terjadi pada jaringan dan koneksi internet d. App. control and browser (kontrol aplikasi & browser). Fitur ini digunakan untuk mengatur Microsoft Defender SmartScreen yang digunakan untuk membantu melindungi peranti dari aplikasi, file, situs, dan unduhan yang berpotensi berbahaya. Pengguna dapat mengatur perlindungan sesuai dengan kebutuhan. e. Device Security (keamanan peranti). Fitur ini digunakan untuk membantu melindungi perangkat dari serangan perangkat lunak berbahaya. Pada fitur ini, pengaturan dapat dilakukan untuk mengisolasi proses pada sistem operasi dan memori dari jangkauan malware. Security processor digunakan untuk menambah kemampuan enkripsi pada perangkat. Fitur secure boot adalah fitur untuk mencegah malware dengan tipe RootKit untuk hidup di peranti, yang dicegah pada saat booting. 195
f. Device Performance and Health (kinerja & kesehatan perangkat). Fitur ini digunakan untuk menyajikan informasi tentang kesehatan kinerja perangkat, dan menjaga perangkat tetap bersih dan mutakhir dengan versi terbaru Windows 10. 2. Penggunaan Fitur Keamanan pada Peramban Maraknya malware dan virus di internet, menyebabkan komputer kalian rentan terhadap ancaman online. Ketika kalian melakukan penjelajahan di internet, selalu ada kemungkinan untuk tersusupi oleh ancaman tersebut. Namun, dengan berkembangnya teknologi keamanan informasi, perangkat lunak peramban yang kalian lakukan menjadi makin aman. Ada beberapa fitur penting dari peramban yang harus kalian ketahui, dan tips penting penjelajahan di internet yang aman. Fitur penting tersebut seperti berikut. a. Periksalah Alamat Situs Dewasa ini, banyak situs palsu yang bertebaran di internet, phising dan pharming adalah kejahatan yang mencoba mengecoh kita dengan situs palsu. Memeriksa ulang alamat situs merupakan teknik yang baik yang dapat digunakan untuk memastikan alamat situs yang kalian tuju adalah situs yang terpercaya. Sebagai contoh, situs dan situs hanya memiliki perbedaan satu huruf sehingga salah tulis akan membuat kalian akan dibawa ke situs yang berbeda. b. Yakinkan Simbol Keamanan Situs web yang aman adalah situs web yang menggunakan protokol HTTPS (Hypertext Transfer Protocol Secure), yang tampak dengan simbol gembok pada address bar dari situs web yang kita akses. Situs perbankan dan e-commerce biasanya menggunakan protokol ini. Protokol ini adalah protokol keamanan yang membuat situs web aman untuk digunakan bertransaksi di internet. Informasi pribadi dan keuangan kita aman untuk dimasukkan ke dalam web site dengan simbol ini. HTTPS menggunakan 196
Transport Layer Security (TSL) atau Secure Socket Layer (SSL) yang membuat komunikasi data dilakukan dengan enkripsi. tanda gembok c. Lakukanlah Pembaruan Berkala pada Peramban Dengan berjalannya waktu, ancaman keamanan di internet selalu bertambah dan diperbarui, termasuk munculnya virus dan malware baru. Peramban harus menyesuaikan diri dengan hal tersebut sehingga pembaruan peramban merupakan cara yang penting untuk menjaga keamanan berinternet. Peramban biasanya menginformasikan pesan jika ada pembaruan pada peramban, yang dapat dilakukan secara otomatis maupun manual. 3. Pelacakan pada Peramban Saat kalian menggunakan peramban untuk melakukan penjelajahan di internet, seluruh riwayat penjelajahan kita akan disimpan oleh peramban. Semua situs web yang kalian kunjungi dan jelajahi akan disimpan dalam cookie di peramban. Pelacakan aktivitas penjelajahan pengguna internet dan penyimpannya pada cookie digunakan untuk memaksimalkan kinerja dari peramban dalam hal kecepatan yang membuat penggunanya merasa nyaman. Namun, data pada cookie juga dapat digunakan untuk memetakan kebiasaan dan preferensi pengguna ketika menjelajahi internet. Cookie juga dapat digunakan oleh pengiklan untuk menampilkan iklan barang-barang yang kita sukai. Berikut adalah contoh-contoh pelacakan pada peramban. Youtube, Tokopedia, Netflix adalah situs web yang mempelajari video atau produk yang sering kalian tonton atau cari. Dengan data kalian di cookie, situs web tersebut akan merekomendasikan video yang berpeluang untuk kita tonton dan produk yang kalian sukai dan berpotensi untuk kalian beli. 197
Search engine seperti Google dan Bing juga menyimpan riwayat pencarian kalian di cookie. Riwayat pada cookie ini akan digunakan untuk menghasilkan hasil pencarian yang lebih relevan dan juga berhubungan dengan iklan di internet. 4. Bagaimana Cookie Bekerja? Cookie pada peramban adalah kumpulan data kecil yang digunakan untuk menyimpan informasi aktivitas kita dalam penjelajahan situs web. Ketika kalian menulis alamat web, mengeklik hyperlink atau ikon, semua aktivitas tersebut akan dicatat di cookie. Cookie juga dapat menyimpan informasi spesifik dari situs web tertentu yang kalian kunjungi. Jika kalian tidak memiliki akun pada situs tersebut, riwayat penjelajahan akan tersimpan pada cookie di peramban kalian. Sebagai contoh, misalnya ada situs berita yang menggunakan cookie. Semua berita yang kalian akses sebelumnya akan disimpan dan digunakan untuk memberikan rekomendasi berita yang tepat ketika kalian mengunjungi situs berita itu kembali. Pada umumnya, data pada cookie tidak terlalu berbahaya untuk aktivitas kalian di internet. Kecil kemungkinan data pada cookie akan disusupi dengan malware dan mencuri data pribadi kalian. Namun, walaupun begitu, kalian tetap dapat mengatur cookie pada peramban untuk tidak menyimpan riwayat penjelajahan kalian. Banyak situs web memberikan pilihan kepada kalian akan mengaktifkan cookie atau tidak. Jika tidak ingin mengaktifkan cookie, pilih decline/menolak. Gambar 8.10 menunjukkan contoh tampilan pengguna untuk memilih mengaktifkan cookie di situs antivirus. Gambar 8.10 Contoh Tampilan Pengguna untuk Pengaturan Cookie Gambar 8.11 menunjukkan contoh tampilan pemberitahuan penggunaan cookie pada situs salah satu bank di Indonesia. Gambar 8.11 Contoh Tampilan Pemberitahuan Pengguna Cookie 198
Peramban modern saat ini telah memberikan pengaturan yang dapat menon-aktifkan fitur cookie sehingga tidak mencatat riwayat penjelajahan kita. Cara untuk menon-aktifkan cookie ialah dengan menghidupkan setting "Do Not Track" di peramban kalian. Sebagian besar situs web sebenarnya secara default menon-aktifkan fitur ini. Berikut adalah contoh setting "Do Not Track" pada peramban Chrome. Gambar 8.12 Contoh Pengaturan Fitur Cookie pada Peramban Chrome Beberapa situs web terkadang tidak memberikan fitur "Do Not Track" kepada penggunanya. Jika kalian ingin menghindari pencatatan aktivitas internet kalian, dapat digunakan penjelajahan pribadi, yang berbeda menu pada tiap peramban. Pada Google Chrome, dikenal istilah Incognito Window, dimana dapat dipilih pada menu New incognito Window. Pada Microsoft Edge, dapat digunakan menu New InPrivate window. Pada Firefox, dapat digunakan dengan fitur New Private Window. Peramban Safari menggunakan menu New Private Window untuk private browsing. 5. Pelacakan Akun Meskipun fitur cookie pada peramban telah dinon-aktifkan, tetapi riwayat aktivitas pada akun tertentu masih dapat dilacak. Ketika kalian membuat akun pada situs media sosial seperti facebook misalnya, sebenarnya, kalian telah memberikan izin kepada facebook untuk mencatat aktivitas kalian dengan akun facebook tersebut. Catatan riwayat aktivitas kalian dengan 199
akun tidak disimpan secara lokal pada peramban di komputer kalian, tetapi dicatat di server. Riwayat ini biasanya diberikan kepada pengiklan di aplikasi facebook dan secara default, fitur ini adalah aktif. Pengaturan riwayat akun online biasanya dapat diatur. Berikut contoh pengaturan riwayat di facebook. Ayo, Kita Eksplorasi Aktivitas Individu Aktivitas DSI-K9-03-U: Situs yang Memanfaatkan Cookie dan Diinformasikan Aktivitas kalian melakukan penjelajahan di internet dengan menggunakan browser dicatat pada file yang disebut cookie. Segala sesuatu yang kalian lakukan di peramban akan dicatat di dalamnya, yang mungkin dapat dimanfaatkan oleh aplikasi lain atau malware untuk mencuri identitas pribadi kalian. Untuk itulah, kalian harus memahami cara melakukan pengaturan agar kalian dapat berinternet dengan aman. Apa yang Kalian Perlukan? Komputer yang telah terpasang peramban dan memiliki koneksi internet. Apa yang Kalian Lakukan? Dengan menggunakan search engine di internet, carilah 5 situs dari Indonesia yang memanfaatkan cookie dan menginformasikannya. Tulis lima situs 200
tersebut dengan tentukan apa kegunaan cookie untuk situs dan penggunanya. Selanjutnya, tentukan apakah di situs tersebut, pengguna diberi pilihan untuk tidak menggunakan cookie. Lembar Kerja Siswa No Nama situs Manfaat cookie Cookie mudah diatur (ya/tidak) Ayo, Kita Diskusikan Aktivitas Kelompok Aktivitas DSI-K9-04-U: Merancang Otentikasi Ruang Rahasia Kalian sebagai pengembang perangkat lunak, mendapat proyek untuk merancang otentikasi sebuah ruang yang menyimpan teknologi rahasia dan blueprint alat. Untuk amannya, ruang ini harus dilengkapi dengan otentikasi yang multifaktor, dan ruang ini hanya boleh diakses oleh pemilik dan keluarganya yang berjumlah 4 orang yang telah dewasa. Tantangan Rancanglah model otentikasi pada proyek ini. Jelaskan alasan menggunakan model tersebut. 201
Uji Kompetensi Jodohkanlah istilah berikut. Cookie Request Flooding Phising Perangkat lunak tambalan karena bug Biometrik Signature Botnet TSL Otentik Data kecil pencatat aktivitas di peramban Patch Situs palsu Denial of Service Otentikasi HTTPS Iris Mata AntiVirus Trusted Application Developer Certificate Robot and Network Uraian 1. Kalau dilihat dari sejarahnya, mengapa banyak kerawanan yang ada di internet? 2. Mengapa sistem operasi memiliki banyak celah keamanan? Sebutkan paling tidak tiga alasan. 3. Mengapa cookie sangat bermanfaat bagi situs web? Sebutkan minimal tiga kegunaannya. 4. Ketika menggunakan situs e-banking, kalian harus melakukan login dengan sidik jari dan menggunakan pin yang dikirimkan ke sms. Apakah cara e-banking tersebut telah masuk dengan kriteria otentikasi multifaktor? Jelaskan jawaban kalian. 202
Ayo, Kita Renungkan 1. Setelah kalian mempelajari materi tentang DSI ini, apakah kalian dapat memahaminya? Berapa persen derajat pemahaman kalian? 2. Setelah kalian mempelajari materi tentang DSI ini, manakah materi yang menurut kalian paling menarik? Mengapa materi tersebut menarik? 3. Apakah kalian telah pernah mengalami gangguan ketika menggunakan teknologi informasi di dunia maya seperti terkena virus, malware, atau menerima phising surel? Apa yang kalian lakukan pada saat itu? Apa yang kalian lakukan setelah mendapatkan materi DSI ini? 4. Jika jawaban nomor 3 adalah Ya, apa yang kalian akan lakukan untuk mencegah hal yang tidak diinginkan? 5. Apakah kalian tertarik menjadi penjaga keamanan internet di masa depan? 203
Ingin Tahu Lebih Ingin tahu lebih? Jika ingin mengetahu lebih rinci keamanan informasi di internet, dapat mengkases informasi di link ini: Keamanan internet: Windows Security: Sumber referensi: Sara Baase and Timothy M. Henry, A Gift of Fire, Social, Legal, and Ethical Issues for Computing Technology, Fifth Edition, Pearson, 2018. 204
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2022 Informatika untuk SMP/MTs Kelas IX Penulis: Adam Mukharil Bachtiar ISBN: 978-602-244-730-6 Bab 9 Praktik Lintas Bidang Informatika Sumber: Tujuan Pembelajaran Dalam elemen Praktik Lintas Bidang ini, diharapkan siswa dapat mengidentifikasi persoalan, merancang, mengimplementasi, menguji, dan menyempurnakan suatu artefak komputasional sebagai solusi dari suatu permasalahan dengan memanfaatkan teknologi IoT. 205
Pertanyaan Pemantik Di lahan pertanian beberapa negara maju, kalian dapat mengetahui kondisi tanaman kalian tanpa harus mendekati tanaman tersebut. Kalian bisa mengamatinya melalui alat, misalnya komputer atau smartphone. Bagaimana itu bisa dilakukan? Peta Konsep Gambar ‎9.1 Peta Konsep Praktik Lintas Bidang Apersepsi Informatika dapat kalian manfaatkan dalam berbagai bidang, salah satunya bidang pertanian. Kalian dapat membuat program seperti yang sudah dipelajari di modul sebelumnya untuk mengetahui kondisi suatu tanaman atau menyuruh semprotan air kalian untuk menyemprot tanaman secara otomatis dalam waktu tertentu. Kalian tidak perlu mendatangi tanaman kalian untuk 206
melihat kondisinya atau untuk menyalakan semprotan air di sana. Dengan Informatika, pekerjaan kita sehari-hari akan menjadi lebih mudah. Kata Kunci IoT, Arduino, LED, PictoBlox, Sensor Cahaya, Sensor Kelembapan, Robot Line Follower. Internet of Things (IoT) merupakan konsep yang memanfaatkan informatika dengan mengkolaborasikan dengan bidang ilmu yang lain. Dengan IoT, kita dapat menghubungkan perangkat yang sering disebut perangkat "bodoh" (dumb) seperti lemari es ke internet dan menggunakan perangkat lunak. Dengan hubungan ini, kita dapat memanfaatkannya dalam kehidupan sehari- hari, misalnya membuka-tutupnya secara otomatis, mengetahui ada makanan apa saja di sana tanpa membukanya. Bisakah mobil berkomunikasi dengan rumah? Di masa sekarang ini, sebuah mobil dapat memberi tahu rumah bahwa kita sedang dalam perjalanan pulang dan sudah dekat dengan rumah. Mobil kemudian dapat menyuruh rumah untuk menyalakan lampu dan AC pengatur ruangan. Ini contoh lain dari IoT. Karena jaringan wireless telah menjadi umum, benda-benda bodoh yang tidak dapat melakukan apa-apa sendiri seperti lemari es, mesin cuci, mobil, atau rumah dapat menggunakan akses internet untuk berkomunikasi antarsesama benda tersebut. Kembali ke contoh lemari es sebelumnya, kita berikan contoh yang lebih canggih. Kita dapat memindai (scan) bahan makanan yang kita masukkan ke dalam lemari es. Setiap item dapat memberitahu lemari es, bahan makanan apa itu, tanggal kadaluarsanya, dan informasi berguna lainnya. Lemari es kemudian dapat mengumpulkan dan mengatur informasi apa yang perlu dikirim kepada kita. Kita mungkin juga bisa mendapatkan surel tentang rekomendasi resep yang bisa dibuat berdasarkan persediaan makanan yang dimiliki. Kita juga bisa mendapatkan surel daftar belanjaan yang harus dibeli karena persediaan di dalam lemari es sudah atau akan habis. Dalam dunia di mana kita tidak sendiri, bayangkan pipa air atau jaringan listrik memberitahu kota secara langsung saat ada yang putus atau, sensor di hutan yang memberi tahu pemadam kebakaran tentang terjadinya kebakaran 207
di sebuah tempat. Para peneliti percaya bahwa di tahun 2020, akan ada lebih dari 26 miliar perangkat yang terhubung ke internet, hampir 4x lipat jumlah penduduk di dunia. Beberapa yang lain memperkirakan jumlahnya jauh lebih tinggi lagi, yaitu 100 miliar koneksi. IoT memiliki setidaknya elemen-elemen berikut. 1. Sensor untuk mendeteksi input dari lingkungan sekitar. 2. Perangkat keras untuk melihat data sensor, kemudian mengikuti aturan dan mengambil keputusan tentang bagaimana merespons data. 3. Perangkat lunak untuk mengelola pengoperasian perangkat yang mencakup satu atau lebih sensor atau untuk mengelola instruksi dan meneruskannya. 4. Koneksi internet untuk mengirim dan menerima data dan instruksi dari perangkat lain. Salah satu perangkat keras yang dapat "berpikir" untuk mengelola sensor yang kemudian juga bisa dipasang perangkat lunak, yaitu microcontroller Arduino atau Raspberry Pi. Arduino Uno Apakah kalian pernah belajar elektronika? Jika iya, pasti kalian tidak asing lagi dengan Arduino Uno. Jika belum belajar elektronika, bahkan sama sekali belum mendengar Arduino Uno, di sini akan dijelaskan secara mudah dan terperinci. Apa itu Arduino Uno? Arduino Uno merupakan papan elektronik yang digunakan untuk membuat perangkat digital yang dapat mengendalikan perangkat lain secara interaktif. Hal ini biasa disebut pengendali kecil serbaguna atau microcontroller. Arduino Uno memiliki 14 pin digital dan 6 pin analog yang masing-masing ditunjukkan pada Gambar 9.2 bagian No.1 & No.2. Fungsi pin digital & analog sebenarnya sama, yaitu sebagai media input data dan output hasil pengukuran dari sensor. Yang membedakan keduanya ialah data yang diterimanya. Pin analog menerima sinyal atau data yang mempertimbangkan nilai antara 0 dan 1. Jadi, nilai tersebut bisa saja bernilai (0.01 - 0.99). Adapun pin digital menerima sinyal atau data dalam bentuk 2 kondisi, yaitu ya atau tidak, 1 atau 0, high atau low, on atau off. Gambar 9.2 merupakan gambar Arduino Uno dan bagian-bagian yang sering dipakai. 208
Gambar 9.2 Pin Arduino Uno Tabel 9.1 Bagian-Bagian dari Papan Arduino Uno No Nama Fungsi 1 Pin Digital Sebagai media input/output 2 Pin Analog Sebagai media input/output 3 Pin Power Untuk memberikan tegangan ke perangkat elektronik lain 4 Soket Power Untuk memberikan daya ke Arduino Uno 5 Port USB Untuk meng-upload program dari PC ke Arduino Uno 6 Tombol Reset Untuk mereset program Arduino Uno LED Mungkin banyak dari kalian yang telah mengenal lampu LED. Sebenarnya, apa itu LED? LED (Light-Emitting Diode) merupakan perangkat elektronika yang dapat mengubah energi listrik menjadi cahaya. LED ini memiliki berbagai jenis warna lampu. Ada yang berwarna merah, kuning, hijau, putih dan biru. 209
Gambar 9.3 Lampu LED Pada LED terdapat 2 buah pin. Pin yang lebih pendek itu (No.1) merupakan pin yang digunakan untuk memberikan tegangan, sedangkan yang panjang (No.2) merupakan pin yang berfungsi untuk mengeluarkan output cahaya. Kedua pin ini nanti akan disambungkan ke Arduino Uno di mana pin No.1 disambungkan ke bagian GND (Ground), sedangkan pin No.2 disambungkan ke pin digital 13. Breadboard Breadboard biasanya disebut juga papan project. Breadboard merupakan papan yang digunakan untuk membuat rangkaian elektronik sementara dengan tujuan uji coba terlebih dahulu. Gambar 9.4 Breadboard Jumlah lubang pada Breadboard ialah 400 buah. Terdapat deretan warna merah dan biru. Deretan lubang yang ditandai warna merah menunjukkan jalur positif untuk disambungkan ke pin power modul elektronik, sedangkan deretan warna biru menunjukkan jalur negatif untuk disambungkan ke modul elektronik. Lubang yang terletak di tengah, baik bagian atas maupun bawah, digunakan untuk menyimpan modul elektronik seperti sensor, aktuator, atau alat elektronik lainnya. 210
Kabel Jumper Male to Male Gambar 9.5 menunjukkan kabel jumper male to male yang digunakan untuk menghubungkan komponen elektronik ke Arduino Uno. Gambar 9.5 Kabel Jumper Male to Male PictoBlox IDE PictoBlox IDE merupakan software yang digunakan untuk menyusun program berupa blok perintah yang nantinya akan diunggah ke Arduino Uno untuk menjalankan perintah tertentu. Untuk menjalankan perintah ke Arduino Uno, kalian hanya perlu melakukan drag and drop ke bagian tengah layar seperti yang terdapat dalam Gambar 9.6. Gambar 9.6 PictoBlox IDE 211
Keterangan: a. Kotak berwarna merah: menu yang berisi kumpulan logika pemrograman. b. Kotak berwarna biru: toolbox berisi fungsi untuk melakukan save file, pemilihan board yang dipakai, port yang digunakan, dan lain sebagainya. c. Kotak berwarna hijau: daerah kerja dari blok logika yang digunakan. d. Kotak berwarna kuning: daerah animasi untuk menampilkan hasil dari pembacaan nilai sensor ataupun hal lainnya. A. IoT Sensor Sederhana Proyek pertama yang kalian kerjakan ialah sensor sederhana pada lampu lalu lintas. Gambar 9.7 berikut adalah peta komponen dan alat. Gambar 9.7 Peta Komponen IoT Lampu Lalu Lintas 212
Ayo, Berlatih Aktivitas Kelompok Aktivitas PLB-K9-01: Lampu Lalu Lintas 1. Arduino untuk Kasus LED Setelah kalian memahami alat dan bahan, ayo, kita buat projek sederhana menggunakan LED dan Arduino untuk sebuah kasus. Kita siapkan terlebih dahulu alat & bahannya. a. Arduino Uno b. LED 1 buah c. Breadboard d. Kabel Jumper Male to Male e. PictoBlox IDE Setelah mempersiapkan alat dan bahan, kemudian rangkai LED ke Arduino Uno melalui breadboard, dengan langkah-langkah sebagai berikut. 1. Pasangkan LED ke breadboard. 2. Pasangkan kabel jumper ke sisi positif LED, kemudian sisi satunya lagi sambungkan ke Arduino Uno pin 13. 213
3. Sambungkan pula dengan kabel jumper sisi negatif LED, kemudian sisinya lagi sambungkan ke GND (Ground). Untuk memprogram LED dengan Arduino ini, kalian hanya perlu mempersiapkan PictoBlox terlebih dahulu sebagai media untuk memberikan perintah ke Arduino Uno untuk menghidupkan dan mematikan LED. Adapun langkahnya sebagai berikut. 1) Buka Aplikasi PictoBlox kemudian pilih Board di bagian atas seperti pada Gambar 9.8 berikut. Gambar 9.8 Memilih Board di PictoBox 214
2) Pilih pada Arduino Uno seperti pada Gambar 9.9 berikut. Gambar 9.9 Memilih papan Arduino Uno 3) Selanjutnya, akan muncul tampilan seperti dalam Gambar 9.10 berikut. Jika kita lihat di sisi kiri, akan tampak tambahan blockcode untuk Arduino Uno. Gambar 9.10 Letak block code Arduino Uno 215
4) Selanjutnya, kalian bisa mulai memprogram dengan memberikan perintah sebagai berikut untuk menyalakan dan mematikan LED. a. Drag and drop perintah blok when Arduino Uno starts up pada bagian blok kode Arduino Uno. b. Drag and drop perintah blok Set digital pin 13 (pilih 13 karena disesuaikan dengan pin LED yang tersambung ke Arduino Uno) output as High pada bagian blok kode Arduino Uno juga. 5) Beri jeda LED agar menyala selama 2 detik dengan memberikan perintah wait 2 seconds di bagian tab Control. Gambar 9.11 Wait for 2 Second 216
6) Kemudian, kembali ke block code Arduino Uno untuk memberikan perintah mematikan LED dengan memberikan perintah set digital pin 13 output as LOW. 7) Selanjutnya, beri jeda LED tersebut mati selama 2 detik dengan memberikan blok perintah wait 2 seconds di bagian Control. 217
8) Upload blok program tersebut ke Arduino Uno dengan klik upload di bagian kanan atas. Gambar 9.12 Upload kode satu LED Latihan dengan 2 LED Setelah membuat proyek dengan satu buah LED, kita berlatih menggunakan 2 LED. Sebelum mulai, buat rangkaian terlebih dahulu seperti dalam Gambar 9.11. Jika sudah siap, bukalah PictoBlox-nya, kemudian rangkai kode programnya. Silakan mencoba dan semoga latihannya bermanfaat. 2. Arduino untuk Lampu Lalu Lintas Untuk membuat lampu lalu lintas, sebenarnya, hampir sama dengan merangkai satu LED seperti projek di atas. Bedanya, di sini digunakan banyak 218
LED (sekitar 4 - 5 LED) dengan warna yang berbeda-beda. Sebelum kita merangkai, siapkan bahan & alat sebagai berikut. 1. Arduino Uno 2. LED 5 buah 3. Breadboard 4. Kabel Jumper Male to Male 5. PictoBlox IDE Jika sudah mempersiapkan alat & bahan, rangkai banyak LED ke Arduino Uno melalui breadboard. Adapun langkahnya sebagai berikut. 1. Pasangkan semua LED ke breadboard dengan posisi berderetan. Lalu, Pasangkan kabel jumper ke semua sisi negatif LED, kemudian sisi satunya sambungkan ke bagian negatif pada breadboard. 2. Kemudian, pasang kabel jumper di sisi negatif breadboard, lalu sambungkan ke GND (Ground) pada Arduino Uno. 3. Pasangkan kabel jumper ke semua sisi positif LED, kemudian sisi satunya sambungkan ke bagian pin digital Arduino Uno masing-masing pin 9,10,11,12 dan 13. Dari pin 9-13, pastikan warnanya berurutan seperti berikut: 219
Pin 9 = Warna Merah Pin 10 = Warna Kuning Pin 11 = Warna Hijau Pin 12 = Warna Biru Pin 13 = Warna Putih Sebenarnya, untuk memprogram kasus LED seperti lampu lalu lintas dengan Arduino ini, mirip dengan contoh di atas. Hanya perbedaannya, di sini digunakan 5 LED berwarna warni. Kalian bisa langsung membuat programnya di PictoBlox. Adapun langkah-langkahnya sebagai berikut. 1) Buka Aplikasi PictoBlox, kemudian pilih Board di bagian atas seperti pada Gambar 9.8 pada Kasus 1 LED sebelumnya. 2) Pilih papan Arduino Uno seperti pada Gambar 9.9 sebelumnya. 3) Selanjutnya, akan muncul tampilan seperti pada Gambar 9.10 sebelumnya. Jika dilihat di sisi kiri, akan tampak tambahan block code untuk Arduino Uno. 4) Lakukan drag and drop seperti pengerjaan kasus LED di atas. Bedanya, di sini digunakan 5 LED sehingga perlu menambahkan blok program di PictoBlox. Kode pada gambar berikut merupakan blok program untuk LED warna merah. Dengan contoh ini, kalian bisa melanjutkan untuk LED warna kuning, hijau, biru dan putih di bawah kode berikut. 220
5) Upload blok program tersebut ke Arduino Uno dengan klik upload di bagian kanan atas. Kemudian, lihat apa yang terjadi pada LED-nya. Selamat mencoba. Gambar 9.13 Upload Code Arduino Lampu Lalu Lintas Sumber: B. IoT Sensor Cahaya Tanaman Kita akan belajar tentang sensor cahaya tanaman. Sebelum memasuki aktivitasnya, terdapat peta komponen dan alat. Gambar 9.14 adalah peta komponen dan alat. 221
Gambar ‎9.14 Peta Komponen IoT Sensor Cahaya Tanaman Tool, alat, dan bahan yang diperlukan dalam latihan ini dapat berupa software, real tool kit, dan bahan lainnya. Guru atau sekolah dapat menyiapkan sebelumnya. Tabel 9.2 Alat, Software, dan Kegunaannya Alat & Software Kegunaan Pictoblox IDE Aplikasi untuk melakukan pemrograman pada Arduino. Modul DHT11 Sebagai sensor suhu dan kelembapan LCD 16×2 + I2C Untuk menampilkan informasi suhu dan kelembapan Modul LDR Untuk mendeteksi cahaya yang ditangkap oleh tanaman Kabel Jumper Untuk menghubungkan Arduino dengan sensor maupun modul lainnya Arduino Uno R3 Sebagai media pengontrol modul sensor dan aktuator Kabel USB Type A to Type B (Kabel Printer) Sebagai media untuk melakukan upload program (biasanya sudah satu paket dengan Arduino Uno) 222
Alat & Software Kegunaan Breadboard/Project Board Sebagai media merangkai rangkaian elektronika sementara Modul Power Supply Breadboard Sebagai input supply tegangan sistem pada breadboard / project board Adaptor 9 volt Sebagai pemasok tegangan pada Arduino. Selotip Untuk merapikan kabel Gunting Untuk memotong kabel ataupun selotip Wadah bertutup (seperti tempat makan) Untuk menyimpan instrumen IoT ketika sudah dirakit Laptop Untuk melakukan programming Berikut penjelasan dari komponen yang akan digunakan. 1. Modul Sensor Suhu dan Kelembapan (DHT11) Modul DHT11 merupakan salah satu sensor yang berfungsi untuk menangkap suhu dan kelembapan udara yang ada di sekitar modul. Modul DHT11 memiliki 3 kaki pin untuk mengaksesnya. DHT11 adalah sensor suhu dan kelembapan yang disusun dari dua buah komponen, yaitu sensor kapasitif yang berfungsi sebagai pengukur kelembapan udara dan termistor jenis NTC (Negative Temperature Coefficient) yang berfungsi sebagai pengukur suhu. NTC adalah sebuah resistor dimana hambatan yang ada pada resistor akan bergantung pada suhu yang ada di sekitarnya. Hambatan yang ada pada NTC akan makin besar ketika suhu yang ada di sekitar NTC rendah dan sebaliknya hambatan akan semakin kecil ketika suhu yang ada di sekitarnya tinggi. Gambar 9.15. Modul Sensor DHT11 223
Tabel 9.3 Pin dan Fungsinya No Nama Pin Fungsi 1 2 3 Pin Data Pin Power (+) Pin Ground (-) Berfungsi sebagai penerima data kelembapan dan suhu yang masuk melalui modul. Berfungsi sebagai penerima power positif sebesar 5V. Berfungsi sebagai penerima power negatif. 2. Kabel Jumper Male to Female Secara umum, fungsi dari kabel jumper male to female memiliki kesamaan dengan kabel jumper male to male. Hanya saja pada modul ini, kita menggunakannya untuk menghubungkan modul I2C yang ada pada LCD dengan breadboard yang akan kita gunakan, dan juga untuk menghubungkan pada Arduino Uno. Gambar 9.16 Kabel Jumper Male to Female 3. Modul Sensor LDR 224
Modul LDR (Light Dependent Resistor) merupakan sensor berupa resistor yang besaran hambatannya dipengaruhi oleh intensitas cahaya yang mengenai LDR itu sendiri. Nilai yang masuk akan semakin besar ketika keadaan di sekitar sensor LDR gelap, dan nilai yang masuk akan semakin kecil ketika keadaan di sekitar sensor LDR terang. Gambar 9.17 Modul Sensor LDR Tabel 9.4 Pin dan Kegunaannya pada Modul LDR No Nama Pin Fungsi 1 Pin Power 2 Pin Ground 3 Pin Data Berfungsi untuk mendapatkan tegangan positif 5V untuk menghidupkan modul LDR. Berfungsi untuk mendapatkan tegangan negatif ketika kita menggunakkan modul LDR. Berfungsi untuk memberikan hasil 4. Modul Breadboard Power Supply Modul power supply breadboard adalah power supply yang bisa memberikan tegangan pada breadboard tanpa perlu mendapatkan tegangan langsung dari Arduino. Power supply breadboard bisa memenuhi keperluan supply tegangan pada breadboard tanpa harus menancapkannya pada pin 5V atau 3.3V pada Arduino. Gambar 9.18 menunjukkan contoh implementasinya dengan half breadboard. 225
Gambar 9.18 Modul Breadboard Power Supply 5. Adaptor Pada modul ini, adaptor digunakan sebagai pemasok tegangan listrik untuk Arduino ketika kita telah selesai merangkai komponen yang dibutuhkan. Adaptor yang disarankan adalah adaptor yang memiliki rentang tegangan antara 7V sampai 12V. Penggunaan adaptor di luar dari rentang tersebut dikhawatirkan Arduino akan mudah rusak. Gambar 9.19 Adaptor untuk Arduino 6. LCD 16×2 dan Modul I2C LCD adalah salah satu komponen yang berfungsi untuk menampilkan teks maupun angka serta simbol-simbol khusus (seperti simbol "!@#$%^"). Banyak karakter yang dapat ditampilkan oleh sebuah LCD bergantung pada jenis LCD tersebut. Pada modul ini, kita akan menggunakkan LCD 16 × 2 yang artinya 16 kolom × 2 baris seperti pada Gambar 9.20. 226
Gambar 9.20 LCD 16 x 2 Agar LCD dapat digunakkan dengan mudah, kita akan menggunakan modul I2C. Dengan menggunakkan modul I2C, kita dapat menggunakkan LCD dengan mengontrol 4 buah pin. Gambar 9.21 Pin Modul I2C Tabel 9.5 Pin dan Kegunaanya pada Modul I2C No Nama Pin Fungsi 1 Pin Ground Berfungsi untuk mendapatkan power negatif. 2 Pin VCC Berfungsi untuk mendapatkan power positif 5V. 3 Pin Data 4 Pin Clock Berfungsi untuk melakukan pertukaran data antara LCD dengan Arduino. Berfungsi untuk memberikan sinyal waktu antara LCD dengan Arduino. Dengan demikian, jika kita menggunakkan modul I2C pada LCD, penggunaannya akan menjadi seperti Gambar 9.22. 227
Gambar 9.22 Modul I2C yang dipasang pada LCD Ayo, Berlatih Aktivitas Kelompok Aktivitas PLB-K9-02: Sensor Cahaya untuk Tanaman 1. Merangkai Sensor Suhu dan Kelembapan dengan Modul DHT11 Langkah pertama ialah mulai merangkai alatnya. Kita mulai dari merangkai sensor suhu dan kelembapan dengan cara sebagai berikut. 1. Siapkan bahan-bahan yang akan digunakan, yaitu breadboard, power supply untuk breadboard, modul DHT11, kabel jumper male to female, serta Arduino Uno. 2. Pasang modul DHT11 di breadboard . Posisi buat pasang sensornya bisa sesuka hati kalian, lho. Tapi, karena kita akan pakai banyak sensor dan breadboard-nya kecil, kita taruh di pojok saja, ya! 3. Jika sudah, sekarang, pasang power supply pada breadboard di ujung yang satunya. Perhatikan, jangan sampai terbalik polaritas positif-negatifnya, ya! 228
Gambar 9.23 Power supply dipasang dengan memerhatikan polaritasnya Tahukah kalian? Polaritas adalah dua sifat yang dimiliki oleh suatu komponen elektrokika. Dalam elektronika, kedua sifat tersebut biasa kita sebut kutub positif dan kutub negatif, dimana kutub positif merupakan aliran listrik positif (VCC, 5V, 3,3V, dan lain-lain) dan kutub negatif merupakan aliran listrik negatif (Ground/GND) 4. Pasang pin pada modul DHT11 dengan pin yang ada pada Arduino Uno. Gambar 9.24 Pin DHT11 yang dipasang ke Arduino 5. Lalu terakhir, pasang adaptor 9V pada power supply. Jangan lupa untuk memasang kabel Arduino-nya juga seperti pada Gambar 9.25. 229
Gambar 9.25 Pemasangan kabel Arduino Jangan lupa hubungkan kabel Arduino pada laptop untuk memulai pemrograman pada Arduino! 2. Memulai Pemrograman Sensor Suhu dan Kelembapan dengan PictoBlox IDE Setelah selesai merangkai sensor cahaya, sekarang, akan dibuat program pada Arduino agar Arduino berjalan sesuai dengan yang diinginkan. Bukalah aplikasi PictoBlox yang ada di laptop kalian. Jika kalian belum menginstal PictoBlox, kalian bisa meminta bantuan guru kalian. Selanjutnya, kalian bisa langsung bermain dengan bloknya, dengan cara sebagai berikut. 1. Klik menu Board, lalu pilih Arduino Uno seperti pada Gambar 9.8 dan 9.9. 2. Selanjutnya, klik Connect. Pastikan kalian sudah menghubungkan kabel Arduino ke laptop kalian! 230
Gambar 9.26 Memilih "Connect" 3. Klik Events di menu bar Code, lalu seret blok when 🏴 clicked ke kotak kerja. Gambar 9.27 Drag & drop blok When Clicked 4. Setelah itu, klik Control di menu bar Code, lalu seret blok forever dan taruh di bawah when 🏴 clicked, ya. Gambar 9.28 Drag & drop blok Forever 231
5. Jika sudah, klik Looks di menu bar Code. Setelah itu, seret blok Say Hello! For 2 Seconds. Taruh di bawah blok forever, ya. Gambar 9.29 Drag & drop blok SayHello 6. Selanjutnya, klik Operators, lalu seret blok join, dan timpa dialog box dengan kata Hello! pada blok Say Hello! For 2 Seconds. Gambar 9.30 Drag & drop blok join ke dalam blok SayHello 7. Ayo, lakukan langkah 6 sekali lagi! Seret dan taruh pada dialog box bertuliskan banana. 232
Gambar 9.31 Drag & drop blok Join ke dalam blok Join 8. Setelah itu, klik Sensors di menu bar Code, lalu seret blok Get Temperature from DHT sensor dan timpa kata apple pada blok Join kedua. Gambar 9.32 Drag & drop blok GetTemperature 233
Nah, jika sudah, pastikan hasilnya seperti pada Gambar 9.33. Gambar 9.33 Kode lengkap untuk menampilkan suhu 9. Sekarang, klik angka pada Get Temperature from DHT dan pilih angka 7. Pin ini harus disesuaikan dengan pin yang kalian pakai. Gambar ‎9.34 Angka pin yang dipilih sesuai pin Arduino 234
10. Agar kita tidak bingung, ayo, kita ubah tulisannya! Gambar 9.35 Ubah Nama Label 11. Jika sudah, kita lakukan sekali lagi langkah 6 sampai langkah 10, ya! Bedanya, kita pilih humidity pada blok get. Gambar 9.36 Baris kode untuk menampilkan kelembapan ruangan 12. Jika sudah, klik blok When 🏴 clicked. Gambar 9.37 Tampilan setelah diklik 235
3. Menambah Rangkaian Sensor Cahaya Untuk lebih memahami bagaimana cara memanfaatkan Arduino Uno sebagai komponen pemroses dari sensor yang digunakan, sekarang, kalian akan mencoba untuk menambahkan satu sensor lagi pada rangkaian yang telah dibuat, yaitu Sensor LDR yang berfungsi sebagai sensor cahaya. Kalian diminta untuk mendapatkan nilai intensitas cahaya tersebut dan menampilkannya pada layar monitor komputer/laptop kalian. Beberapa langkah yang harus kalian lakukan adalah sebagai berikut. 1. Memiliki Sensor LDR dengan jumlah kaki sebanyak 4 pin atau 3 pin (sama saja). 2. Untuk yang menggunakan Sensor LDR dengan jumlah kaki 4 pin, gunakan pin A0 (disebut juga pin analog) untuk mendapatkan hasil yang maksimal. 3. Hubungkan kaki pin VCC pada jalur positif (+) yang terdapat pada breadboard. 4. Hubungkan kaki pin GND pada jalur negatif (-) yang terdapat pada breadboard. 5. Pin kaki data (pin A0) dihubungkan pada pin A1 yang terdapat pada Arduino Uno. Kalian harus memastikan agar kedua kaki positif dan negatif dipasang pada tempat yang tepat karena Sensor LDR memiliki polaritas. Lakukan langkah yang sama seperti yang sudah dilakukan pada pemrograman Sensor DHT11. Pastikan untuk memerhatikan setiap penggunaan blok dengan teliti agar hasilnya dapat maksimal. Evaluasi Setelah kalian berhasil menambahkan sensor cahaya (Sensor LDR) pada rangkaian, jawablah beberapa pertanyaan yang ada di bawah ini sebagai tolak ukur sejauh mana pemahaman yang telah didapat. 1. Perbedaan apa yang terdapat antara pemrograman pada Sensor DHT11 dan pemrograman pada Sensor LDR? 2. Perhatikan berikut. 236
Jika kalian perhatikan, kedua blok tersebut memiliki fungsi yang sama, yaitu mengambil nilai dari sensor cahaya. Jelaskan perbedaan kedua blok tersebut! 3. Ambil 10 data dari rangkaian sensor DHT11 dan juga sensor LDR, lalu catat hasilnya pada tabel yang sudah disediakan. No Waktu Kelembapan Suhu Intensitas Cahaya 1 Detik ke-4 2 Detik ke-6 3 Detik ke-8 4 Detik ke-10 5 Detik ke-12 6 Detik ke-14 7 Detik ke-16 8 Detik ke-18 9 Detik ke-20 10 Detik ke-22 Untuk melihat perubahan yang signifikan dari sensor cahaya, coba tutup sensor cahaya menggunakan tangan atau bisa juga dengan mengarahkan lampu senter pada sensor (jika kalian melakukan percobaan di dalam ruangan) dan perhatikan perubahan seperti apa yang terjadi! Sementara, untuk melihat perubahan yang signifikan dari sensor suhu dan kelembapan udara, lakukan peniupan pada sensor DHT11 yang terpasang pada rangkaian, dan lihat perubahan seperti apa yang terjadi. Kalian juga bisa menggunakan media lain yang sekiranya cukup hangat untuk menaikan suhu di sekitar. 237
4. Mempersiapkan LCD untuk Menampilkan Data Setelah berhasil menggabungkan modul DHT11 untuk mencari kelembapan dan suhu ruangan, serta menggunakan sensor cahaya untuk mendeteksi cahaya, sekarang, kalian akan menampilkan data tersebut pada LCD! LCD yang akan kita gunakkan adalah LCD 16 × 2. Maksud dari 16 × 2 itu sendiri adalah LCD dengan total 16 kolom dan 2 baris. Kalian bisa langsung merangkai LCD dengan cara berikut. 1. Siapkan terlebih dahulu LCD yang akan digunakan dalam modul I2C. Untuk mempermudah penggunaan, kalian perlu memakai modul LCD yang sudah satu paket dengan modul I2C. 2. Pasang kabel jumper pada tempat yang sudah ditunjukkan pada Gambar 9.38 untuk menghubungkan LCD dan breadboard ke papan Arduino. Setelah semua selesai, kalian dapat melanjutkan pemrograman LCD untuk menampilkan data dari sensor. Gambar 9.38 Rangkaian lengkap LCD, dan breadboard ke papan Arduino Ada beberapa hal yang perlu diperhatikan sebelum kita menggunakan modul I2C, yaitu alamat dari modul I2C itu sendiri. Modul I2C memiliki alamat di mana alamat tersebut nantinya akan berfungsi sebagai identitas dari modul ketika kita menggunakan modul tersebut. Berikut adalah cara untuk mengetahui alamat dari modul I2C yang kita gunakan. 238
1. Buat file baru terlebih dahulu pada menu File > New. Gambar 9.39 Membuat File baru di PictoBlox 2. Jika muncul warning seperti Gambar 9.40, klik Yes untuk menyimpan project yang sudah kita kerjakan sebelumnya. Gambar 9.40 Pengaturan untuk menyimpan proyek sebelumnya 3. Setelah itu, lihat pada Mode yang ada di pojok kanan atas. Lalu, pindahkan mode dari Stage ke Upload dengan cara klik Upload. Gambar 9.41 Mode Upload dipilih 4. Setelah itu, perhatikan menu bar yang ada di bawah Mode. Lalu klik ikon pensil hingga tandanya berubah seperti Gambar 9.42. Gambar 9.42 Ikon pensil dinyalakan 239
5. Masuk ke URL di bawah ini dan salin (copy-paste) kode program yang ada pada laman tersebut, lalu tempelkan pada Pictoblox. 6. Setelah itu, klik Upload Code dan tunggu proses upload-nya selesai secara sukses. 7. Jika sudah, kalian bisa melihat alamat dari modul I2C dengan cara mengklik Serial Monitor yang ada di pojok kanan bawah. Pastikan untuk mengubah pengaturan baud rate ke angka 9600 seperti Gambar 9.43. Gambar 9.43 Melihat alamat I2C pada Serial Monitor 5. Pemrograman untuk Penggunaan LCD Setelah kalian memasang semua jumper pada breadboard dan Arduino, sekarang saatnya melakukan pemrograman pada Arduino agar LCD yang sudah dipasang dapat bekerja. Pemrograman akan dilakukan menggunakan bantuan software PictoBlox dengan langkah sebagai berikut. 1. Klik Display Modules, lalu seret blok initialise 16 × 2 I2C display at address dan blok clear display di bawah blok when 🏴 clicked yang sudah dibuat pada Gambar 9.35. Blok forever yang terlepas, letakkan di bawah blok ini sehingga tampilan akhirnya seperti diperlihatkan pada Gambar 9.44. 240
Gambar 9.44 Drag & drop blok Initialise 16 × 2 I2C display at BlokInitialize) 2. Keluarkan blok say join suhu ruangan dari blok kerja utama. Gambar 9.45 Gambar blok Say Join Suhu Ruangan yang dikeluarkan 3. Lalu, seret blok set cursor at column dan write Hello World. 241
Gambar 9.46 Drag & drop set cursor at column 4. Klik Control, lalu seret blok wait 1 seconds. Taruh di bawah blok write Hello World. Gambar 9.47 Drag & drop blok wait a 5. Lakukan langkah 3 dan 4 sebanyak tiga kali, ya. Hasil lengkapnya dapat dilihat pada Gambar 9.48. 242
Gambar 9.48 Blok set cursor at column dipasang tiga kali. 6. Jika sudah, seret semua blok yang sudah kita buat ke dalam blok forever. Gambar 9.49 Drag & drop ke dalam blok forever 7. Setelah itu, masukkan setiap blok join yang telah dikeluarkan pada Gambar 9.45 ke dalam blok write ini satu per satu seperti pada Gambar 9.50. 243
Gambar 9.50 Drag & drop blok Join ke dalam blok Write 8. Jika sudah, klik lagi Display Modules, lalu seret blok clear display. Sesuaikan pada blok join dengan kata-kata sesuai dengan yang ada di Gambar 9.51. Gambar 9.51 Ubah blok Wait menjadi 3 detil 244
Setelah itu, kalian bisa langsung eksekusi programnya seperti biasa. Klik blok when when 🏴 clicked dan lihat apa yang terjadi. Apakah berhasil? Jika sudah berhasil, selamat, yaaa! Jangan lupa untuk selalu berkreasi dengan ide yang kalian punya. 6. Upload Code pada Arduino Uno! Pasti kalian bertanya-tanya apa dan mengapa kita harus melakukan upload code? Ketika kita hanya mengklik blok when Arduino Uno starts up, program tersebut tidak langsung 'dipasang' pada Arduino Uno. Jadi, hanya bersifat sementara. Berbeda halnya ketika kita langsung melakukan upload code. Kode akan langsung dipasang pada Arduino Uno dan alat rangkaian kita bisa digunakan tanpa harus tertancap pada laptop. Caranya cukup mudah. Ikuti langkah-langkah berikut setelah kalian membuka kembali PictoBlox-nya. 1. Arahkan cursor mouse pada tulisan Upload di menu bar Mode, lalu klik tombol tersebut. Gambar 9.52 Ubah ke Mode Upload 2. Pisahkan blok when 🏴 clicked dengan blok lainnya. 3. Ganti blok when 🏴 clicked dengan blok when Arduino Uno starts up yang ada pada Arduino Uno. 245
4. Jika berhasil, akan muncul tampilan seperti ini, dan langsung saja klik Upload Code. 5. Tunggu sampai prosesnya selesai. 6. Jika berhasil, akan ada notifikasi Uploaded Successfully. 246
Gambar 9.53 Notifikasi upload berhasil C. IoT Sensor Kelembapan Tanah Di proyek selanjutnya, juga terdapat peta komponen dan alat. Gambar 9.54 memperlihatkan peta komponen dan alat untuk proyek Sensor Kelembapan Tanah. Gambar 9.54 Peta Komponen Kelembapan Tanah Tool, alat, dan bahan yang diperlukan dalam latihan ini dapat berupa software, real tool kit, dan bahan lainnya. Guru atau sekolah dapat menyiapkan sebelumnya. 247
Tabel 9.6 Alat dan Software untuk Kelembapan Tanah Alat & Software Kegunaan Pictoblox IDE Aplikasi untuk melakukan pemrograman pada Arduino Modul Sensor Kelembapan Tanah Sebagai sensor untuk mengukur kelembapan tanah. LCD 16×2 + I2C Untuk menampilkan informasi suhu dan kelembapan Modul Sensor Hujan Sebagai sensor untuk mendeteksi hujan Kabel Jumper Untuk menghubungkan arduino dengan sensor maupun modul lainnya Arduino Uno R3 Sebagai media pengontrol modul sensor dan aktuator Kabel USB Type A to Type B (Kabel Printer) Breadboard/Project Board Sebagai media untuk melakukan upload program (biasanya sudah satu paket dengan Arduino Uno) Sebagai media merangkai rangkaian elektronik sementara Modul Power Supply Breadboard Sebagai input supply tegangan sistem pada breadboard / project board Adaptor 9 volt Sebagai pemasok tegangan pada Arduino. Selotip Gunting Wadah bertutup (seperti tempat makan) Laptop Untuk merapikan kabel Untuk memotong kabel ataupun selotip Untuk menyimpan instrumen IoT ketika sudah dirakit Untuk melakukan programming Berikut penjelasan dari komponen yang akan digunakan. 1. Modul Kelembapan Tanah Modul kelembapan tanah merupakan salah satu sensor yang berfungsi untuk mengetahui kelembapan atau kondisi tanah di suatu tempat. Modul ini efektif untuk mengetahui keadaan suatu tanah dengan luas 10 × 10 cm saja. Untuk mempermudah penggunaannya, kita akan menggunakkan modul MH Sensor - Flying Fish. Penggunaanya dapat dilihat pada Gambar 9.56. Gambar 9.55 Modul Sensor Kelembapan 248
Gambar 9.56 Pin sensor Modul Kelembapan Berikut penjelasan singkat mengenai penggunaan modul kelembapan tanah. Tabel 9.7 Penggunaan Modul Kelembapan Tanah No Nama Fungsi 1 Data LED LED yang berfungsi sebagai indikator ketika ada data masuk yang diterima dari sensor kelembapan tanah. 2 Power LED LED yang berfungsi sebagai indikator bahwa modul menerima daya. Dalam artian lain, ketika modul berfungsi, LED akan hidup. 3 Trimpot Berfungsi untuk mengatur tingkat sensitivitas dari sensor kelembapan tanah. Pin Data Analog Pin yang berfungsi untuk menerima data kelembapan dalam bentuk analog (memiliki rentang nilai 0 - 1023). Pin Data Digital Pin yang berfungsi untuk menerima data kelembapan dalam bentuk digital (HIGH dan LOW). Pin Power Negatif (ground) Pin yang berfungsi untuk mendapatkan daya negatif untuk menghidupkan sensor kelembapan tanah. Pin Power Positif (5V) Pin yang berfungsi untuk mendapatkan daya positif untuk menghidupkan sensor kelembapan tanah. 249
2. Modul Sensor Hujan Raindrops sensor atau biasa disebut modul sensor hujan merupakan salah satu sensor yang berfungsi untuk mengetahui keadaan lingkungan sekitar, apakah sedang terjadi hujan atau tidak. Penggunaan modul sensor hujan itu sendiri sebenarnya sebagai pengingat dan juga untuk memastikan tanaman yang kita miliki tidak mendapatkan air secara berlebih yang berasal dari air hujan. Gambar 9.57 Modul Sensor Hujan Dalam menggunakan sensor hujan ini, kita menggunakan sebuah modul MH Sensor - Flying Fish. Untuk penggunaannya, dapat dilihat pada Gambar 9.58. Gambar 9.58 Pin Modul Sensor Hujan Tabel 9.8 Penggunaan Modul Sensor Hujan No Nama Fungsi 1 Data LED LED yang berfungsi sebagai indikator ketika ada data masuk yang diterima dari sensor kelembapan tanah. 2 Power LED LED yang berfungsi sebagai indikator bahwa modul menerima daya. Dalam artian lain, ketika modul berfungsi, LED akan hidup. 3 Trimpot Berfungsi untuk mengatur tingkat sensitivitas dari sensor kelembapan tanah. 250
No Nama Fungsi Pin Data Analog Pin yang berfungsi untuk menerima data kelembapan dalam bentuk analog (memiliki rentang nilai 0 - 1023). Pin Data Digital Pin yang berfungsi untuk menerima data kelembapan dalam bentuk digital (HIGH dan LOW). Pin Power Negatif (ground) Pin yang berfungsi untuk mendapatkan daya negatif untuk menghidupkan sensor kelembapan tanah. Pin Power Positif (5V) Pin yang berfungsi untuk mendapatkan daya positif untuk menghidupkan sensor kelembapan tanah. Ayo, Berlatih Aktivitas Kelompok Aktivitas PLB-K9-03: Sensor Kelembapan Tanah 1. Merangkai Sensor Kelembapan Tanah Selama proses pembelajaran, kita memerlukan beberapa komponen berikut. 1. Satu buah half breadboard. 2. Satu buah breadboard power supply. 3. Satu buah Arduino seri Uno (Arduino Uno). 4. Satu buah modul Soil Moisture Sensor sebagai sensor kelembapan tanah. 5. Satu buah modul Raindrops Sensor sebagai sensor pendeteksi hujan. 6. Beberapa kabel jumper male to male. 7. Beberapa kabel jumper female to male. Jika kalian kebingungan dengan komponen yang diperlukan, kalian bisa lihat komponen-komponen tersebut pada subbab-subbab sebelumnya. Jika sudah siap, kalian bisa mengikuti langkah-langkah berikut. 251
1. Pasang sensor kelembapan tanah ke breadboard. 2. Jangan lupa pasang power supply di breadboard. Sebagai catatan: Jangan lupa perhatikan polaritasnya seperti diperlihatkan pada Gambar 9.23. 3. Setelah itu, hubungkan kabel jumper pada Arduino Uno dan juga pada Breadboard ya! 4. Jangan lupa, hubungkan kabel Arduino pada laptop dan juga power supply ya! Tujuannya adalah agar kita bisa mulai memprogram Arduino yang kita pakai. 252
Penggunaan sensor kelembapan tanah ini sebenarnya sangat sederhana. Tancapkan sensor pada tanah dan sensor akan mengambil data tentang kelembapan tanah dan setelah itu, data akan dikirimkan pada Arduino. 2. Memulai Pemrograman Sensor Kelembapan Tanah Menggunakan PictoBlox IDE Agar sensor yang sudah kita rangkai tadi dapat bekerja dan menampilkan data yang kita inginkan, kita perlu untuk memberikan program pada Arduino Uno. Buka PictoBlox IDE dan kita mulai untuk melakukan pemrograman! 1. Klik Board pada toolbar seperti pada Gambar 9.8 2. Setelah muncul menu pilihan, pilihlah Arduino Uno seperti pada Gambar 9.9. 253
3. Selanjutnya, klik Connect dan pastikan untuk memilih port COM yang kalian pakai, seperti pada Gambar 9.26. 4. Setelah itu masuk ke menu Code dan klik Arduino Uno, lalu seret blok when 🏴 clicked seperti pada Gambar 9.27. 5. Lalu klik Control dan seret blok forever. Dan kita letakkan di bawah blok when 🏴 clicked seperti pada Gambar 9.28 6. Jika sudah, klik Variables, dan seret blok set my variable lalu taruh di dalam blok forever. 7. Setelah itu, klik Make a Variable untuk menyimpan data dari sensor soil moisture (kelembapan tanah). Gambar 9.59 Membuat dua variabel Lalu, kita buat dua buah variabel. Beri nama variabel dengan nama "Nilai Sensor" & "Kelembapan Tanah". 254
Jika berhasil, kedua variabel tadi akan muncul seperti Gambar 9.60. Gambar 9.60 Pembuatan variabel berhasil 8. Setelah itu, ubah menjadi variabel yang sudah kita buat tadi. 9. Lalu kita klik Sensors, seret blok read analog sensor dan letakkan di dalam blok set Nilai Sensor. Gambar 9.61 Drag & Drop Read Analog Sensor 255
10. Setelah itu pilih soil moisture pada blok read analog sensor. Gambar 9.62 Soil Moisture dipilih 11. Selanjutnya, klik Arduino Uno, seret blok map dan taruh di dalam blok set Kelembapan Tanah. Gambar 9.63 Drag & drop blok Map 12. Klik kembali Variables, lalu seret blok Nilai Sensor, dan taruh di blok map. Gambar 9.64 Drag & drop Nilai Sensor 256
Catatan: Jangan lupa untuk mengubah nilai yang ada di dalam blok map, ya! Untuk pengisian, sesuaikan dengan nilai yang ada pada Gambar 9.64. Setelah itu, klik Looks lalu seret blok Say Hello dan taruh di bawah blok set Kelembapan Tanah. Gambar 9.65 Drag & drop blok SayHello 13. Klik Operators lalu seret blok join dan taruh di dalam blok Say Hello. Lakukan dua kali, ya, dan pastikan agar bloknya sesuai dengan Gambar 9.66. Gambar 9.66 Drag & drop blok join 2x 257
14. Setelah itu, klik kembali Arduino Uno, dan seret blok cast lalu taruh di dalam blok join. Gambar 9.67 Drag & drop blok cast 15. Terakhir, klik kembali Variables, lalu seret blok Kelembapan Tanah dan taruh di dalam blok cast. Gambar 9.68 Drag & drop blok Kelembapan Tanah Agar mudah dalam membaca nilai dari sensor kelembapan tanah, ganti kata "Apple" menjadi "Kelembapan tanah: " dan ganti kata "banana" dengan "%" seperti pada Gambar 9.68. 258
3. Menambahkan Sensor Hujan Setelah merangkai dan menggunakan sensor kelembapan tanah, pastinya kalian akan menyadari ada hal yang berbeda. Ya! Penggunaan sensor kelembapan tanah dengan kelembapan suhu memiliki perbedaan yang cukup signifikan dalam proses pemrograman untuk mendapatkan nilai yang didapatkan oleh sensor. Hal ini didasari karena karakteristik dari alat yang digunakan berbeda. Agar pemahaman dalam menggunakan sensor dan menggabungkan dua atau lebih sensor dapat lebih mudah, kalian coba untuk menambahkan satu buah sensor ke dalam rangkaian. Sensor yang akan kalian gunakan ialah sensor pendeteksi hujan. Pahami terlebih dahulu bagaimana cara sensor ini bekerja agar ketika merangkai maupun melakukan pemrograman, kalian tidak akan menemukan kendala dan kesulitan. Beberapa langkah yang harus kalian lakukan seperti berikut. 1. Memiliki sensor pendeteksi hujan (Raindrops Sensor) satu paket lengkap. 2. Untuk menggunakan sensor pendeteksi hujan, kalian bisa menggunakan pin A0 pada sensor dan menghubungkannya pada pin A0 pada Arduino Uno. 3. Hubungkan kaki pin VCC pada jalur positif (+) yang terdapat pada breadboard. 4. Hubungkan kaki pin GND pada jalur negatif (-) yang terdapat pada breadboard. 5. Pin kaki data (pin D0) dihubungkan pada pin 7 yang terdapat pada Arduino Uno. 6. Kalian harus memastikan agar kedua kaki positif dan negatif dipasang pada tempat yang tepat karena sensor pendeteksi hujan memiliki polaritas. Kalian diminta untuk memprogram Arduino menggunakan PictoBlox. Apakah kalian masih ingat dengan pemrograman pada Pictoblox untuk mendapatkan nilai dari sensor DHT11? Lakukanlah hal yang sama pada rangkaian sensor hujan. 259
4. Menampilkan Data Kelembapan Tanah dan Data Hujan Menggunakan LCD Seperti yang kalian tahu, kita sudah berhasil mendapatkan nilai dari sensor dan menampilkannya pada layar komputer. Agar lebih keren lagi, kita akan menggunakan LCD untuk menampilkan nilai yang telah kita dapatkan dari sensor. Jika diingat-ingat lagi, kita pernah menggunakan LCD untuk menampilkan nilai dari sensor suhu dan sensor cahaya, masih ingatkah kalian? Untuk mempertajam pengetahuan kalian tentang penggunaan LCD, mari, kita coba secara mandiri. Mudah saja, kok, dan langkah-langkahnya tidak akan rumit. Beberapa langkah yang harus kalian lakukan seperti berikut. 1. Memiliki satu set lengkap LCD yang berisi satu buah modul I2C yang sudah terpasang (disolder) pada LCD seperti pada Gambar 9.22. 2. Perhatikan terlebih dahulu pin SDA dan pin SCL yang terdapat pada modul I2C. 3. Lalu hubungkan pin-pin berikut ini. Pin SDA pada I2C → Pin SDA pada Arduino Uno Pin SCL pada I2C → Pin SCL pada Arduino Uno 4. Hubungkan pin GND pada modul I2C pada pin GND Arduino Uno. 5. Hubungkan pin VCC pada modul I2C pada pin 5V Arduino Uno. 6. Perlu diingat bahwa kalian harus memastikan agar kedua kaki positif dan negatif dipasang pada tempat yang tepat karena jika dipasang secara terbalik, akan menyebabkan LCD tidak hidup. Nah, setelah LCD sudah dihubungkan pada rangkaian, di sini kalian diminta untuk memprogram LCD tersebut agar semua nilai yang ditampilkan 260
pada komputer dapat terlihat pada LCD. Dan jangan lupa, setelah kalian selesai melakukan pemrograman, lakukan upload code seperti yang sudah dilakukan pada saat kita melakukan pemrograman sensor kelembapan dan sensor cahaya. Evaluasi Setelah kalian berhasil menambahkan sensor pendeteksi hujan (raindrops sensor) dan LCD pada rangkaian, jawablah beberapa pertanyaan yang ada di bawah ini sebagai tolak ukur sejauh mana pemahaman yang telah didapat. 1. Jelaskan akibat dari pemasangan pin SDA dan pin SCL yang terbalik! 2. Setelah kalian mendapatkan nilai dari sensor hujan (raindrops sensor), bagaimana caranya membedakan apakah keadaan di luar sedang hujan atau tidak? 3. Tancapkan sensor kelembapan tanah pada sebuah pot bunga. Ambil 10 data dari rangkaian sensor kelembapan tanah (soil moisture) dan juga sensor pendeteksi hujan, lalu catat hasilnya pada tabel yang sudah disediakan. Catatan: semprotkan air pada setiap detik yang ditebalkan! No Waktu Kelembapan Tanah Keadaan di Luar 1 Detik ke-4 2 Detik ke-6 3 Detik ke-8 4 Detik ke-10 5 Detik ke-12 6 Detik ke-14 7 Detik ke-16 8 Detik ke-18 9 Detik ke-20 10 Detik ke-22 261
D. Robot Line Follower Selain peta konsep, terdapat peta komponen dan alat. Gambar 9.69 adalah peta komponen dan alat. Male to Male Arduino Uno Switch Male to Female Kabel Jumper Peta Komponen Robot AA Baterai 6V Dual H-Bridge Motor Driver (L298N) DC Sensor Pendeteksi Garis Gambar 9.69 Peta Komponen IoT Line Follower Tool, alat dan bahan yang diperlukan berupa software, real tool kit, atau bahan lainnya yang diperlukan. Hal ini berguna agar guru atau sekolah dapat menyiapkan sebelumnya. Tabel 9.9 Alat dan Bahan Pembuatan Robot Line Follower Alat & Bahan Jumlah Pictoblox IDE 1 Set Frame Robot (2WD Smart Robot Chassis Kit). Sudah termasuk motor, roda, dan tempat baterai. 1 Set Dual H-Bridge Motor Driver (L298N) DC 1 Buah Arduino Uno R3 1 Buah Sensor Pendeteksi Garis 2 Buah AA Baterai 6V (4 buah) 4 Buah Kabel USB Type A to Type B (Kabel Printer) 1 Buah Switch 1 Buah Kabel Jumper (Male to Male) 1 Set Kabel Jumper (Female to Male) 1 Set 262
Alat & Bahan Jumlah Solatip 1 Buah Gunting 1 Buah Wadah yang ada tutupnya (misal tempat makan) 1 Buah Laptop 1 Buah Berikut penjelasan dari komponen yang akan digunakan: 1. Frame Robot (2WD Smart Robot Chassis Kit) Frame robot merupakan kerangka dasar robot yang terdiri atas Chassis akrilik, sepasang Gearbox Motor DC, sepasang roda, switch, dan tempat baterai. Chassis akrilik berguna sebagai kerangka utama pada robot. Gearbox Motor DC berguna untuk menggerakkan robot sesuai dengan perintah yang diberikan oleh pengguna maupun perintah yang muncul dari hasil pengolahan data. Robot Line Follower dapat menggunakan 2 pilihan motor, yaitu motor DC atau motor servo. Untuk proyek ini digunakan motor DC. Roda merupakan salah satu komponen yang berfungsi sebagai penggerak robot agar mampu berbelok ke kiri dan ke kanan serta mengatur rotasi putaran yang diinginkan. Switch berguna untuk menghubungkan atau memutuskan aliran arus listrik. Tempat baterai berguna untuk menyimpan baterai. 2. Modul Driver Motor Dual H-Bridge L298N Modul driver motor merupakan penghubung antara mikrokontroler dengan motor DC pada robot. Kegunaannya untuk mengontrol kecepatan dan arah pergerakan motor. Dalam proyek ini, digunakan modul Driver Motor Dual H-Bridge L298N. Modul Dual H-Bridge L298N memiliki 13 pin terdiri atas 4 pin untuk motor, 6 pin untuk control dan 3 pin untuk catu daya. 263
Tabel 9.9 Pin dalam Modul Dual H-Bridge L298N No Nama Pin Fungsi 1 2 3 4 5 6 7 ENB IN4 IN3 IN2 IN1 ENA 5V Digunakan untuk mengaktifkan sinyal PWM untuk motor B Sebagai pin input motor B yang mengontrol arah putaran motor B Sebagai pin input motor B yang mengontrol arah putaran motor B Sebagai pin input motor A yang mengontrol arah putaran motor A Sebagai pin input motor A yang mengontrol arah putaran motor A Digunakan untuk mengaktifkan sinyal PWM untuk motor A Berfungsi menyuplai tegangan 5v ke sirkuit logika switching di dalam IC L298N Berfungsi sebagai acuan tegangan 0 rangkaian 8 GND 9 12V Berfungsi untuk input 12V dari sumber daya DC eksternal 3. Modul Sensor Pendeteksi Garis (Infrared Line Tracking) Modul sensor pendeteksi garis di dalam robot Line Follower, dapat dianalogikan sebagai "mata" sebuah robot yang berfungsi untuk membaca garis hitam dari track robot sehingga robot mampu mengetahui kapan dia akan berbelok ke kanan, kapan dia berbelok ke kiri, dan kapan dia berhenti. Sensor pendeteksi garis memiliki 3 kaki pin untuk mengaksesnya. Sensor ini disusun dari tiga buah komponen, yaitu infrared pengirim (IR Transmitter), infra merah penerima (IR Receiver), dan rangkaian pengolah sinyal. 264
Gambar 9.70 Prinsip Kerja Sensor Pendeteksi Garis Prinsip kerja dari sensor tersebut sederhana, yaitu memanfaatkan sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna gelap. Ketika transmitter (infra merah) memancarkan cahaya ke bidang berwarna putih, cahaya akan dipantulkan hampir semuanya oleh bidang berwarna putih tersebut. Sebaliknya, ketika transmitter memancarkan cahaya ke bidang berwarna gelap atau hitam, cahaya akan banyak diserap oleh bidang gelap tersebut sehingga cahaya yang masuk ke receiver tinggal sedikit. Agar mampu dibaca oleh mikrokontroler, tegangan sensor harus disesuaikan dengan level tegangan TTL, yaitu 0 - 1 volt untuk logika 0 dan 3 - 5 volt untuk logika 1. Hal ini bisa dilakukan dengan memasang operational amplifier yang difungsikan sebagai komparator. Tabel 9.10 Pin pada Modul Sensor Pendeteksi Garis No Nama Pin Fungsi 1 SIG Sebagai pin yang mengeluarkan sinyal output 2 VCC Berfungsi untuk mendapatkan tegangan positif 5V 3 GND Berfungsi sebagai acuan tegangan 0 rangkaian 265
4. Baterai Baterai berfungsi sebagai pemberi sumber daya agar dapat menghidupkan robot. 5. Switch Switch adalah perangkat atau saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik. Ayo, Berlatih Aktivitas Kelompok Aktivitas PLB-K9-04: Robot Line Follower Pada aktivitas ini kalian akan diajak untuk membuat sebuah robot yang dapat mengikuti garis-garis hitam yang digambar atau dipasang di sebuah papan atau lantai. Setelah sebelumnya kalian memahami komponen-komponen yang akan digunakan, kalian akan diajak untuk merangkai robotnya, mengawali programnya, menambahkan navigasi para robotnya, menguploadnya ke modul Arduino hingga mencobanya. Aktivitas tambahan ini dapat kalian akses dari file pada alamat website berikut: Selamat membuat robot. 266
Ayo, Kita Renungkan 1. Setelah kalian mempelajari mengenai Arduino dengan modul LED, apa yang dimaksud dengan Blinking LED & Jelaskan mengapa LED bisa menghasilkan cahaya? 2. Setelah kalian mempelajari penggunaan LDR, bagaimanakah cara kerja sensor LDR dalam menentukan nilai yang masuk pada Arduino Uno? 3. Mengapa Sensor DHT11 dapat mengukur kelembapan dan suhu udara yang ada di sekitar sensor? Apa yang membuatnya dapat melakukan hal itu? 4. Setelah kalian mempelajari penggunaan Sensor Hujan pada modul Kelembapan Tanah, manfaat apa yang diberikan dari penggunaan sensor tersebut pada tanaman? 5. Selama mencoba pemrograman dengan Line Follower Robot, menurut kalian, fungsi/method apa yang paling mudah dan yang paling sulit untuk digunakan/dimengerti? Coba ceritakan dengan bahasa kalian. 6. Setelah menyelesaikan semua LKS, bagaimana perasaan kalian terkait Line Follower Robot dan pemrograman visual ini? Uji Kompetensi 1. Bagaimana urutan merangkai satu LED yang benar ke Arduino Uno? 1) Pasangkan kabel jumper ke sisi positif LED, kemudian sisi satunya lagi sambungkan ke Arduino Uno pin 13. 2) Pasangkan kabel jumper ke sisi positif LED, kemudian sisi satunya lagi sambungkan ke Arduino Uno pin Reset. 3) Pasangkan kabel jumper ke sisi positif LED, kemudian sambungkan ke Arduino Uno pin A0. 4) Sambungkan pula dengan kabel jumper sisi negatif LED, kemudian sambungkan ke GND (Ground) pada Arduino Uno. 5) Pasangkan LED ke breadboard 6) Pasangkan kabel jumper ke sisi negatif Arduino, kemudian sisi satunya lagi sambungkan ke Arduino Uno pin 13. Urutan yang benar adalah? 267
b. 5-3-2 c. 5-1-6 d. 5-4-1 e. 5-3-1 2. Komponen utama yang terdapat pada Sensor DHT11 adalah a. NTC (Negative Temperature Coefficient) dan Sensor Kapasitif b. MH Sensor - Flying Fish dan Sensor Panas c. NTC (Negative Temperature Coefficient) dan MH Sensor - Flying Fish d. Sensor Panas dan MH Sensor - Flying Fish 3. Jodohkanlah istilah berikut. Cookie Request Flooding Phising Perangkat lunak tambalan karena bug Biometrik Signature Botnet TSL Otentik Data kecil pencatat aktivitas di peramban Patch Situs palsu Denial of Service Otentikasi HTTPS Iris Mata AntiVirus Trusted Application Developer Certificate Robot and Network 268
Ingin Tahu Lebih Jika kalian tertarik dengan materi ini dan ingin mempelajari lebih lanjut, kalian dapat mengakses link berikut ini: 269
Informatika SMP/MTs untuk Kelas IX 270
Glosarium Istilah Abstraksi / Abstraction Definisi Suatu prinsip yang mengabaikan aspek-aspek subjek yang tidak relevan dengan tujuan saat ini untuk berkonsentrasi hanya pada aspek-aspek yang ada. Aktuator / Actuator Perangkat yang menggerakkan atau mengontrol suatu mekanisme, mengubah sinyal kontrol menjadi aksi mekanis seperti motor listrik. Algoritma / Algorithm Suatu kumpulan instruksi terstruktur dan terbatas yang dapat diimplementasikan dalam bentuk program komputer untuk menyelesaikan suatu permasalahan komputasi tertentu. Antarmuka / Computer Interface Batas bersama di mana dua atau lebih komponen terpisah dari sistem komputer untuk saling bertukar informasi. Antivirus Program yang mendeteksi dan mengisolasi virus di perangkat penyimpanan file komputer. Ia juga memeriksa file yang masuk, misalnya file yang terlampir pada pesan email, dan memastikan bahwa file tersebut bebas dari virus. Aplikasi Lembar Kerja / Spreadsheet Program yang memanipulasi tabel yang terdiri dari baris dan kolom sel, dan menampilkannya di layar; sel berisi informasi dan rumus numerik, atau teks. Aplikasi Terpercaya / Trusted Application Peran atau tugas tertentu di mana sistem komputer dapat diterapkan yang memiliki, melibatkan, atau menunjukkan fitur keamanan yang diperlukan untuk menegakkan kebijakan keamanan" Arduino Arduino adalah perusahaan perangkat keras dan perangkat lunak sumber terbuka, proyek dan komunitas pengguna yang merancang dan memproduksi mikrokontroler papan tunggal dan kit mikrokontroler untuk membangun perangkat digital. Arduino Uno Arduino Uno adalah papan mikrokontroler sumber terbuka berbasis mikrokontroler Microchip ATmega328P yang dikembangkan oleh Arduino.cc. Papan ini dilengkapi dengan set pin input / output digital dan analog yang dapat dihubungkan ke berbagai papan ekspansi dan sirkuit lainnya. 271
Istilah Bahasa Pemrograman / Programming Language Blog (Web Log) Blogger Bluetooth Breadboard Buku Tahunan / Yearbook Cookie Dekomposisi / Decomposition Edit Video / Video Editing Enkripsi / Encryption Filter Fraud 272 Definisi Sebuah notasi untuk deskripsi yang tepat dari program komputer atau algoritma. Bahasa pemrograman adalah bahasa buatan, di mana sintaksis dan semantiknya didefinisikan secara ketat. Jadi, meski memenuhi tujuannya, mereka tidak mengizinkan kebebasan berekspresi yang merupakan ciri khas bahasa alami. Jurnal yang dapat diakses publik yang dikelola di web oleh individu atau kelompok. Topik yang tercakup dalam blog merupakan kewenangan utuh dari sang penulis dan sangat bervariasi. Seseorang yang menulis untuk dan mengelola blog Teknologi nirkabel yang dirancang untuk menggantikan fungsi dari kabel untuk ponsel, laptop, dan perangkat lainnya. Papan sirkuit yang mudah disesuaikan di mana pengaturan eksperimental komponen elektronik dapat direalisasikan. Akses ke masing-masing komponen sederhana dan karenanya pengaturan keseluruhan dapat dengan mudah dimodifikasi. Breadboards digunakan terutama untuk pengembangan desain sirkuit prototipe. Buku yang diterbitkan setiap tahun oleh sekolah, yang memberikan informasi tentang peristiwa dan pencapaian tahun sebelumnya, berisi foto-foto siswa di tahun tersebut. File kecil yang ditempatkan di hard disk pengguna oleh server, berisi detail tentang penggunaan situs web oleh pengguna. Pemecahan suatu program yang lengkap menjadi satu set bagian komponen, biasanya disebut modul Manipulasi dan pengaturan video, digunakan untuk menyusun dan menyajikan semua informasi dalam bentuk video, termasuk film dan acara televisi, iklan dan esai video Pemrosesan pesan oleh pengirim untuk merendernya tidak dapat dipahami selain penerima yang berwenang. Program yang memproses aliran teks secara berurutan, melakukan beberapa transformasi sederhana, misalnya memadatkan banyak spasi menjadi satu spasi, menghitung kata, dll. Teknik apa pun yang ditujukan untuk memanipulasi informasi dalam sistem komputer untuk tujuan keuntungan ilegal, biasanya finansial.
Istilah Definisi Fungsi / Function Unit program yang memberikan nilai untuk parameter input menghitung nilai. Contohnya termasuk fungsi standar seperti sin(x), cos(x), exp(x); selain itu, sebagian besar bahasa mengizinkan fungsi yang ditentukan pengguna. Hosting Proses di mana pihak ketiga menyediakan penyimpanan data dan kemampuan jaringan yang sesuai untuk menghosting layanan berbasis jaringan. Contoh khusus yang umum digunakan termasuk hosting web dan hosting repositori source-code. Integrator Orang atau alat yang mengintegrasikan/menyatukan IoT (Internet of Things) Keterhubungan antarbenda sehari-hari melalui perangkat komputasi yang terkandung didalamnya dan kemampuan mereka untuk mengirim dan menerima data menggunakan internet. Kata Sandi / Password Kumpulan karakter atau string yang unik yang digunakan oleh pengguna untuk memverifikasi identitas dirinya yang tersimpan di dalam suatu sistem. Keamanan Data dan Informasi / Data and Information Security keamanan data dan informasi yang berkaitan dengan penggunaan peranti digital, seperti ponsel pintar, PC, atau gawai lainnya yang juga merupakan sumber data. Peranti- peranti tersebut biasanya terhubung dengan internet. Keluaran / Output Hasil yang diperoleh dari suatu program yang berjalan yang dikirimkan ke luar dari program, misalnya kepada manusia atau program lainnya. Komputasi Awan / Cloud Ketersediaan sumber daya sistem komputer sesuai permintaan, terutama penyimpanan data dan daya komputasi, tanpa pengelolaan aktif langsung oleh pengguna. Komputasi awan atau jaringan awan sering kali memiliki fungsi yang tersebar di beberapa lokasi di mana setiap lokasi menjadi pusat data. Lampiran / Attachment File data yang disematkan ke dalam suatu pesan email. LCD (Liquid Crystal Display) Layar panel datar yang digunakan dengan banyak komputer pribadi, termasuk dalam instrumen digital lainnya. Teknologi LCD didasarkan pada kristal cair berupa senyawa yang pada suhu tertentu dapat mengubah struktur kristalnya untuk memungkinkannya mengalir seperti cairan. LED (Light- Emmiting Diode) Dioda semikonduktor yang memancarkan cahaya ketika bias maju diterapkan. LED berukuran kecil, murah, dan memiliki arus dan tegangan yang relatif rendah serta masa pakai yang lama. 273
Istilah Definisi Masukan / Input Data yang dimasukkan ke dalam program untuk diproses lebih lanjut. Nama Pengguna / Username Suatu identifikasi yang digunakan oleh seseorang untuk mengakses ke komputer, jaringan, atau layanan online. Nirkabel / Wireless Tanpa menggunakan kabel Otentikasi / Authentication Proses, cara, perbuatan membuktikan sesuatu secara otentik Papan Sirkuit / Circuit Board Teknologi yang memungkinkan perakitan suatu sirkuit atau data elektronik menggunakan lapisan material secara horizontal. Pemrograman Visual / Visual Programming jenis bahasa pemrograman yang memungkinkan manusia menggambarkan proses menggunakan ilustrasi Pencurian Informasi / Information Theft Pencurian informasi yang biasanya berkaitan dengan pencurian identitas, yaitu seseorang menggunakan informasi personal orang lain, seperti nama, nomor identifikasi, nomer credit card, dll untuk kejahatan Pengelabuan / Phishing Sebuah upaya penipuan dengan mengirim email yang mengaku dari sebuah instansi / individu untuk membujuk individu agar mengungkapkan informasi pribadi, seperti sandi dan nomor kartu kredit. Pengujian / Testing Aktivitas menguji sesuatu untuk menemukan sesuatu, melihat apakah itu berhasil atau tidak. Pengurutan / Sorting Mengatur ulang urutan dari suatu informasi secara naik atau turun dengan menggunakan suatu tombol sortkey. Penyortiran berguna untuk mengidentifikasi dan menghitung semua item dengan identifikasi yang sama, untuk membandingkan dua file, dan untuk membantu dalam pencarian, seperti yang digunakan dalam kamus Malware (Malicious Software) Perangkat lunak yang sengaja dirancang untuk menyebabkan kerusakan pada komputer, server, klien, atau jaringan komputer. Ada berbagai jenis malware, termasuk virus komputer, worm, trojan horse, adware, spyware Peretasan / Hacking Akses tanpa izin ke komputer, jaringan, perangkat elektronik lain Ponsel Pintar / Smartphone Ponsel yang memiliki fitur komputasi untuk membuat panggilan maupun menerima panggilan, dan mengirim atau menerima pesan SMS. 274
Istilah Program Prosedur / Procedure Raster Rekayasa Sosial / Social Engineering Saldo / Balance Sensor / Censor SIM (Surat Izin Mengemudi) / Driving License Slide / Presentation Slide Streaming Struktur Data / Data Structure Struktur Data Pohon / Tree Surel (Surat Elektronik) / Email SVG (Scalable Vector Graphics) Definisi Sekumpulan pernyataan yang dapat dieksekusi oleh komputer untuk menghasilkan prilaku yang diinginkan dari komputer Bagian dari program yang menjalankan beberapa operasi yang ditentukan dengan baik pada data yang ditentukan oleh parameter. Itu dapat dipanggil dari mana saja dalam suatu program, dan parameter yang berbeda dapat disediakan untuk setiap panggilan. Pola garis pemindaian yang telah ditentukan sebelumnya yang memberikan cakupan area tampilan yang sangat seragam. Suatu proses untuk mendapatkan akses ke komputer atau jaringan dengan cara melakukan penipuan, terutama dengan membujuk pengguna untuk mengungkapkan kata sandi, menginstal suatu program trojan horse, atau melakukan tindakan yang tidak aman lainnya. Selisih antara uang yang masuk dan yang keluar Perangkat yang mendeteksi atau mengukur properti fisik serta mencatat, menunjukkan, atau meresponsnya. bukti registrasi dan identifikasi yang diberikan oleh Polri kepada seseorang yang telah memenuhi persyaratan administrasi, sehat jasmani dan rohani, memahami peraturan lalu lintas dan terampil mengemudikan kendaraan bermotor. Satu halaman presentasi Proses menyediakan aliran data audio atau video yang stabil sehingga pengguna Internet dapat mengaksesnya saat dikirimkan. Cara tertentu dalam mengorganisasi data dalam komputer sehingga dapat digunakan secara efektif. Graf asiklik apa pun yang terhubung. Pesan yang dikirim antara pengguna sistem komputer, sistem komputer yang digunakan untuk menyimpan dan mengangkut pesan. Pengirim dan penerima tidak perlu online pada waktu yang sama, atau bahkan pada waktu yang sama Suatu bentuk XML yang digunakan untuk mendeskripsikan gambar. Gambar ditentukan oleh baris kode XML yang menentukan jalur, bentuk, isian, warna, dll. Teks dapat disertakan dengan instruksi untuk font, ukuran, berat, gaya, dan efek lainnya. 275
Istilah Tatakan Curah Ide / Brainstorming Placemat Trojan Unplugged Vlog (Video Log) Website Wifi (Wireless Fidelity) Window Zoom Digital PISA (The Program for International Student Assessment) 276 Definisi Sebuah format untuk digunakan hasil diskusi curah pendapat. Program yang tampaknya tidak berbahaya yang dirancang untuk menghindari fitur keamanan sistem. Metode yang biasa digunakan untuk memperkenalkan Trojan horse adalah dengan memberikan program atau bagian dari program kepada pengguna sistem yang keamanannya akan dilanggar. Aktivitas yang dilakukan tanpa komputer untuk memodelkan konsep-konsep kunci (misalnya seleksi, variabel, algoritma) dengan cara yang berbeda seperti permainan teka-teki, kartu, dan lain sebagainya. Sebuah blog yang dibuat dalam bentuk video. Kumpulan halaman web hyperlink milik individu, organisasi, atau perusahaan. Teknologi jaringan nirkabel yang memungkinkan perangkat seperti komputer (laptop dan desktop), perangkat seluler (ponsel pintar dan perangkat yang dapat dikenakan), dan peralatan lainnya (printer dan kamera video) untuk berinteraksi dengan Internet. Sebuah area pada layar yang menampilkan aktivitas komputer. Metode elektronik untuk membuat sesuatu agar tampak lebih dekat saat di foto tanpa menggerakkan lensa kamera. Studi yang dilakukan oleh organisasi kerjasama ekonomi pembangunan dunia (OECD) di hampir 80 negara yang menguji kinerja skolastik siswa berusia 15 tahun pada bidang matematika, sains, dan membaca.
Daftar Pustaka Arduino. (2021). 417 Arduino Projects. Project Hub. Diakses dari Autodesk Inc. (2021). A Beginner's Guide to Arduino. Instructables Circuits. Diakses dari Arduino/ Baase, S., & Henry, T.M. (2018). A Gift of Fire, Social, Legal, and Ethical Issues for Computing Technology, Fifth Edition. Pearson. CNBC Indonesia. (2021). Kasus Phising Email yang Serang Indonesia Makin Merajalela. Diakses dari indonesia-makin-merajalela Code.org. (2021) CS Fundamental Unplugged. unplugged Computer Science Education Research Group. (2021). CS Unplugged - Computer Science without a Computer. New Zealand: University of Cantenbury. Diakses dari Dobhal, Rajan. (2021). 7 Basic Data Structure for Kids. Diakses dari Electronics Hub.org. (2021). 200+ Arduino Projects List for Final Year Students. Diakses dari project-ideas/ Fitzgerald, S., Shiloh, Michael. (2012) Arduino Project Book. Torino, Italy: Arduino LCC. Geek for Geeks. (2021). Graph Data Structure and Algorithms. Diakses dari Goodwill Community Foundation. (2021). Free Keamanan Internet Tutorial at GCFGlobal. Diakses dari safety/ Google. (2021a). Bantuan Blogger. Diakses dari blogger/?hl=id#topic=3339243 Google. (2021b). Teach Computer Science & Coding to Kids - CS First. Diakses dari Google (2021c). Get Started | Blockly | Google Developers. Diakses dari Microsoft. (2021). Stay Protected with Windows Security. Diakses dari 277
Mulyanto, A., Nugraheni, C., Sularso., F.J., Inggriani, dkk. (2016). Bebras 2016 Kelompok Penggalang (untuk Siswa Indonesia Challenge setingkat SMP/MTs). Bebras Indonesia. NBO Bebras Indonesia. (2017). Tantangan Bebras Indonesia 2017 Bahan Belajar Computational Thinking Tingkat SMP. NBO Bebras Indonesia. NBO Bebras Indonesia. (2018). Tantangan Bebras Indonesia 2018 Bahan Belajar Computational Thinking Tingkat SMP. NBO Bebras Indonesia. Ozo EDU Inc. (2021). Lessons | Ozobot. Diakses dari educate/lessons Slavin, Tim. (2015). What is the Internet of Things? Owl Hill Media, LCC. Diakses dari Tutorials Point. (2021a). Data Structure - Graph Data Structure. Diakses dari data_structure.htm Tutorials Point. (2021b). Data Structure and Algorithms - Tree. Diakses dari structure.htm University of North Carolina. (2021a). Community Workshop Series - Digital Literacy for All Learners. Chappel Hill, US: University of North Carolina. Diakses dari University of North Carolina. (2021b). Community Workshop Series - Digital Literacy for All Learners - Handouts. Chappel Hill, US: University of North Carolina. Diakses dari Warren, J.D., Adams, J., Molle, H. (2011) Arduino Robotics. New York: Springer. Wordpress. (2021). Support - Official Diakses dari Youtube. (2021). Youtube Creator Academy. Diakses dari 278
Sumber Gambar Gambar 1.2 NBO Bebras Indonesia. (2017). Tantangan Bebras Indonesia 2017 Bahan Belajar Computational Thinking Tingkat SMP. NBO Bebras Indonesia. Hal 2. Gambar 7.3 Gambar 8.2 279
Indeks A abstraksi 9, 14, 19 aktuator 211, 222, 248 algoritma 6, 7, 10, 15, 25, 26, 27, 73, 117, 121, 122, 126, 127, 129, 131, 139, 141, 143, 145, 272, 276 analisis data 5, 11, 70 Analisis Data 71 antarmuka 42 aplikasi 3, 4, 7, 8, 9, 10, 19, 39, 40, 41, 42, 43, 44, 45, 47, 48, 50, 51, 53, 60, 61, 62, 63, 75, 84, 152, 155, 165, 166, 171, 172, 174, 175, 179, 180, 182, 183, 187, 188, 189, 190, 193, 194, 195, 200, 230 arduino 15, 248, 269, 278 B bahasa pemrograman 12, 70, 75, 78, 80, 148, 149, 274 berpikir komputasional 3, 5, 6, 8, 14, 24, 27, 35 Blockly 12, 16, 71, 73, 74, 75, 76, 78, 79, 80, 84, 85, 90, 95, 98, 100, 101, 102, 104, 105, 116, 126, 149, 150, 152, 278 blog 8, 40, 41, 54, 55, 56, 57, 58, 59, 60, 61, 63, 272, 276 blogger 8, 54, 55, 57, 64, 277 blogspot 55, 205 blok 12, 74, 75, 78, 79, 85, 87, 88, 89, 93, 99, 102, 104, 105, 119, 121, 122, 130, 150, 152, 154, 155, 156, 157, 158, 159, 160, 161, 211, 212, 216, 217, 218, 220, 221, 231, 232, 233, 235, 236, 237, 240, 241, 242, 243, 244, 245, 254, 255, 256, 257, 258 bluetooth 9, 10 brainstorming placemat 183 Breadboard 210, 213, 219, 223, 225, 226, 248, 252, 272 buku tahunan 51, 53 280 C cloud 8, 42, 62, 63 cookie 14, 197, 198, 199, 200, 201, 202 D Data 3, 11, 16, 26, 27, 28, 37, 38, 50, 51, 69, 70, 165, 166, 183, 186, 202, 224, 225, 227, 238, 249, 250, 251, 260, 268, 273, 274, 275, 277, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 295, 296, 297 dekomposisi 11, 113 E editing video 60, 62 enkripsi 10, 165, 186, 187, 188, 195, 197 F filter 11, 191 fungsi 6, 7, 9, 11, 73, 96, 100, 102, 120, 121, 138, 149, 150, 152, 162, 168, 174, 212, 224, 237, 267, 272, 273 H hosting 54, 273 I Ilmu Komputer 283, 287, 288, 290, 292, 293, 296 Informatika 1, 2, 3, 4, 5, 6, 7, 8, 13, 14, 16, 18, 19, 21, 22, 25, 26, 27, 28, 32, 39, 65, 66, 67, 69, 70, 71, 163, 164, 166, 167, 205, 206, 207, 282, 283, 284, 285, 286, 287, 288, 289, 291, 292, 294, 295, 296, 297, 298 integrator 53 internet of things 15 K kata sandi 170, 171, 172, 177, 181, 187, 191, 192, 193, 194, 275
keamanan data dan informasi 13, 14, 163, 165, 166, 273 keluaran 8, 116, 117, 122, 126, 130, 138, 141, 146, 148, 179 Komputer 3, 8, 9, 10, 16, 58, 65, 66, 67, 113, 169, 171, 179, 200, 283, 286, 287, 288, 290, 292, 293, 296 L Lampiran 21, 22, 273 M malware 172, 174, 175, 176, 177, 178, 181, 188, 189, 195, 196, 197, 198, 200, 203, 274 masukan 19, 112, 116, 117, 118, 120, 122, 124, 126, 128, 130, 138, 141, 142, 143, 146, 147, 148, 179, 187 N nama pengguna 172, 176 nirkabel 10, 180, 187, 272, 276 O otentikasi 14, 165, 190, 191, 192, 193, 194, 201, 202 P papan sirkuit 14, 15 pemrograman visual 12, 73, 148, 149, 162, 267 pencurian informasi 165, 169, 193 peretasan 165, 167, 168, 169, 170, 171, 172, 173, 178, 179, 185, 187, 191 phising 174, 176, 185, 186, 191, 192, 196, 203, 278 Program 17, 20, 74, 80, 82, 83, 84, 85, 92, 93, 94, 97, 100, 101, 102, 104, 105, 106, 113, 116, 118, 120, 127, 128, 139, 143, 145, 146, 154, 155, 185, 271, 272, 275, 276, 283, 285, 286, 287, 288, 289, 291, 292, 297 prosedur 73, 102, 104, 152, 192 R raster 44 rekayasa sosial 174, 175 S saldo 47, 48, 49 Sistem 297 Sistem Komputer 3, 8, 9, 10, 16, 65, 179 slide 45, 46 smartphone 60, 61, 62, 63, 167, 180, 183, 193, 206 sorting 11 spreadsheet 44, 45, 47 streaming 60 struktur data 6, 25, 26, 27, 28, 37, 45 surel 171, 174, 175, 176, 177, 185, 186, 190, 191, 203, 207 T teknologi informasi dan komunikasi 13 Trojan 174, 276 U unplugged 7, 9, 10, 11, 12, 15, 66, 136, 150, 151, 278 V vlog 8, 40, 41, 60, 61 W website 151, 266 wifi 10, 172 Window 199, 276 Wordpress 54, 55, 57, 58, 277 281
Profil Penulis Hanson Prihantoro Putro, S.T., M.T. Informasi Diri: Surel : hanson @uii.ac.id Instansi : Universitas Islam Indonesia Alamat Instansi : Jl Kaliurang Km 14,5 Sleman Yogyakarta Bidang Keahlian: Informatika / Rekayasa Perangkat Lunak Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): • Dosen Informatika, Universitas Islam Indonesia (2012 - sekarang) • Programmer, PT Lapi Divusi Bandung (2009 - 2011) • Riwayat Pendidikan dan Tahun Belajar: • S2 Informatika, Institut Teknologi Bandung (2009 - 2011) • S1 Informatika, Institut Teknologi Bandung (2005 - 2009) Judul Buku/Karya dan Tahun Terbit (10 Tahun Terakhir): 1. Diktat Praktikum Pemrograman Berorientasi Obyek, Laboratorium Komputasi dan Sistem Cerdas, Jurusan Teknik Informatika, Universitas Islam Indonesia (2012). Judul Penelitian dan Tahun Terbit (10 Tahun Terakhir): 1. Pengembangan Sistem Informasi Akademik MI-Gateway Berbasis Website, Kolokium Automata (2019). 2. Software Verification and Validation on Object Oriented Software Development Using Traceability Matrix, International Conference on Informatics and Computing (2018). 3. Sistem Pembelajaran Pemrograman Memanfaatkan Konsep Skill Tree, Seminar Nasional Aplikas dan Teknologi Informasi (2018). 4. Tingkat Kegagalan dan Keberhasilan Proyek Sistem Informasi di Indonesia, Seminar Nasional Teknologi Informasi dan Teknologi (2018). 5. Analisis dan Rancangan Prototipe Manajemen Dokumentasi Rekayasa Perangkat Lunak, Jurnal Compiler (2014). 282
6. Ancaman Keamanan pada Sistem Informasi Rumah Sakit, Seminar Nasional Informatika Medis (2014). 7. XML Representation of Program Code, International Conference on Electrical Engineering and Informatics (2013). 283
Dean Apriana Ramadhan, S.Komp., M.Kom. Informasi Diri: Surel : deanaprianaramadhan@apps.ipb. ac.id Instansi : Departemen Ilmu Komputer, FMIPA IPB Alamat Instansi : Departemen Ilmu Komputer Jl Meranti Wing 20 Level 5 Kampus IPB Darmaga 16680 Bidang Keahlian: Ilmu Komputer Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen Departemen Ilmu Komputer IPB 2. Direktorat Sistem Informasi dan Transformasi Digital, IPB University Riwayat Pendidikan dan Tahun Belajar: 1. Sarjana Ilmu Komputer, Departemen Ilmu Komputer IPB. Lulus 2012 2. Magister Ilmu Komputer, Departemen Ilmu Komputer IPB. Lulus 2015 Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Ramadhan DA, Nurhadryani Y. Hermadi I. 2014. Campaign 2.0: Analysis Of Social Media Utilization In 2014 Jakarta Legislative Election. International Conference on Advanced Computer Science and Information Systems (JCACSIS} 2014. Jakarta (ID): Fasilkom UI. 284
Irya Wisnubhadra, S.T., M..T. Informasi Diri: Surel : irya.wisnubhadra@uajy.ac.id Instansi : Universitas Atma Jaya Yogyakarta Alamat Instansi : Jl. Babarsari 44, Yogyakarta Bidang Keahlian : Pemrograman, Database System, Business Intelligence Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen Pengajar Tetap, Teknik Informatika Universitas Atma Jaya Yogyakarta, (1994-sekarang) 2. Fasilitator / Instruktur Nasional Mata Pelajaran Teknik Informatika, Kemendikbud (2019-sekarang) 3. Pengajar di Lembaga Pelatihan Teknologi Informasi, Pilar Teknotama, (2019 - sekarang ) Riwayat Pendidikan dan Tahun Belajar: 1. S1: Department Teknik Elektro dan Teknologi Informasi, Universitas Gadjah Mada (1988-1994) 2. S2: Teknik Informatika, Rekayasa Perangkat Lunak, Institut Teknologi Bandung (1998-2001) 3. S3: Faculty of Information and Communication Technology, Universiti Teknikal Malaysia, Melaka (2018-sekarang) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Copyright Perangkat Lunak, Aplikasi monitoring transportasi buah sawit, logtransawit.online, 2019 2. Sistem Informasi Berbasis Web Sebagai Sarana Penyebaran Informasi dan Pengelolaan Pemerintahan Desa Barepan, Proceeding of The URECOL, 2020 3. Modeling and querying spatiotemporal multidimensional data on semantic web: A survey, Journal of Theoretical and Applied Information Technology, 2019 4. Kendali Jumlah dan Waktu Berangkat Truk Pengangkut TBS untuk minimalisasi antrian di Pabrik Minyak Kelapa Sawit, Jurnal Teknik Pertanian Lampung (Journal of Agricultural Engineering), 2019 285
5. Development of mobile-based apps for oil palm fresh fruit bunch transport monitoring system IOP Conference Series: Earth and Environmental Science, 2019 6. Agriculture Spatiotemporal Business Intelligence using Open Data Integration, 2019 International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), 2019 Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Pengembangan mobility business intelligence untuk peningkatan produktivitas sistem transportasi TBS kelapa sawit secara berkelanjutan, Penelitian Terapan, Tahun 2020 - 2021, DIKTI 2. Sistem Informasi Desa untuk Efektivitas dan Efisiensi Pelayanan Masyarakat Desa Barepan, Program Kemitraan Masyarakat, Tahun 2019 - 2020, DIKTI 3. Pemodelan dan Pengembangan Query Mobility Business Intelligence pada Semantic Web, Tahun 2019 - 2020, DIKTI 4. Rancang Bangun Kendali Tinggi Muka Air Lahan Gambut Otomatis dan Real Time Untuk Menjamin Produktivitas Kelapa Sawit, Tahun 2019 - 2019, DIKTI. 286
Maresha Caroline Wijanto, S.Kom., M.T. Informasi Diri: Surel : maresha.cw@it.maranatha.edu Instansi : Universitas Kristen Maranatha Alamat Instansi : Jl. Surya Sumantri no. 65, Bandung Bidang Keahlian : Informatika Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Dosen di S1 Teknik Informatika (2010-sekarang) 2. Wakil Dekan bagian Keuangan Fakultas Teknologi Informasi (2016- 2020) Riwayat Pendidikan dan Tahun Belajar: 1. S1: Teknik Informatika Universitas Kristen Maranatha (2006-2009) 2. S2: Magister Informatika Institut Teknologi Bandung (2011-2013) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Gamification for Blended Learning in Higher Education - WTE&TE Vol. 2. 17 No. 1: 76-81 2019 Implementasi Market Basket Analysis Pada E-Commerce - STRATEGI Vol 1 No 1 2019 3. Pengembangan Fitur Notifikasi Pada Website Maranatha-Keimyung Korea Center dengan Javaserver Faces Framework - STRATEGI Vol 1 No 1 2019 4. Utilising Pair Programming to Enhance the Performance of Slow-Paced Students on Introductory Programming - Journal of Technology and Science Education Vol. 9 No. 3: 357-367 2019 5. Evaluasi Pelaksanaan Tantangan Bebras untuk Siswa di Biro Universitas Kristen Maranatha pada tahun 2017-2018 untuk Edukasi Computational Thinking - Sendimas Semarang, September 2019 6. Course Rating in Blended Learning Based on Student Engagement - 2019 Program Komputer - EC00201977590 287
Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Model Evaluasi Kegiatan Pembelajaran dengan Blended Learning untuk Pendidikan Tinggi - Hibah Penelitian Terapan Unggulan PT 2020-sekarang 2. Penerapan Pair Programming dan Evaluasi Dampak Kognitifnya pada Domain Pembelajaran Pemrograman Dengan Metoda Quasi- Experimental Design - LPPM UK Maranatha 2019 3. Pengembangan Sistem Pengolahan Data Tugas Akhir dengan Memanfaatkan Teknologi Firebase (Studi Kasus: S1 Desain Interior FSRD UK Maranatha) - LPPM UK Maranatha 2020 4. Penerapan TextMining untuk Analisis Sentimen dan Pembentukan Graf Kontribusi Kerja Mahasiswa sebagai Pendukung Blended Learning di Perguruan Tinggi - Hibah Penelitian Terapan Unggulan PT 2021-sekarang 288
Vania Natali, S.Kom., M.T. Informasi Diri: Surel : vania.natali@unpar.ac.id Instansi : Universitas Katolik Parahyangan Alamat Instansi : Jalan Ciumbuleuit No.94, Bandung, Jawa Barat Bidang Keahlian : Informatika Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Biro Teknologi Informasi, Universitas Katolik Parahyangan (2009-2013) 2. Dosen Program Studi Teknik Informatika, Universitas Katolik Parahyangan (2013-sekarang) Riwayat Pendidikan dan Tahun Belajar: 1. Ilmu Komputer - Universitas Katolik Parahyangan, Bandung (2004-2008) 2. Magister Informatika - Institut Teknologi Bandung (2013-2016) Judul Buku/Karya dan Tahun Terbit (10 Tahun Terakhir): 1. Pengantar Data Science dan Aplikasinya bagi Pemula. (2020). Bandung: UNPAR Press. 2. Analisis dan Perancangan Domain Specific Language untuk Data Generator pada Relational Database (2019) 3. Automated data consistency checking using SBVR: Case study: Academic data in a University (2015) 289
Adam Mukharil Bachtiar, S.T., M.Kom. Informasi Diri: Surel : adam@email.unikom.ac.id Instansi : Universitas Komputer Indonesia Alamat Instansi : Jl. Dipati Ukur No. 112-116, Kota Bandung Bidang Keahlian : Teknik Informatika Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Direktur Pengambangan Teknologi dan Sistem Informasi (PTSI), UNIKOM, Bandung (2018 - now) 2. Staff Pengajar Prodi Teknik Informatika, UNIKOM, Bandung (2009 - now) Riwayat Pendidikan dan Tahun Belajar: 1. S2 Informatika, Institut Teknologi Bandung, Indonesia (2010-2013) 2. S1 Teknik Informatika, Universitas Komputer Indonesia, Indonesia (2004-2008) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Pemrograman C dan C++ (Buku, 2019) 2. Pemrograman Berorientasi Objek menggunakan JAVA (Buku, 2019) Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Data Visualization for Content Marketing Domain in Social Media (2021) 2. Analisa Pemanfaatan Multiprotocol Label Switching Pada Routing Protocol Open Shortest Path First (2020) 3. Implementation of Micro Services Architecture on Comrades Backend (2019) 4. Analysis of Interaction Design Model in Content Marketing Domain Using Design Sprint Method (2019) 5. Data Visualization of Plant Resistant Towards Plant Disease at PT. East- West Seed Indonesia (2019) 290
Dr. Ir. Mewati Ayub, M.T. Informasi Diri: Surel : mewati.ayub@it.maranatha.edu Instansi : Universitas Kristen Maranatha Alamat Instansi : Jl.Prof.drg. Suria Sumantri, MPH no.65 Bandung Bidang Keahlian : Informatika Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Dosen tetap Program Magister Ilmu Komputer Universitas Kristen Maranatha (2018-sekarang) 2. Dosen tetap Prodi Sarjana Teknik Informatika Universitas Kristen Maranatha (2006 - 2018) 3. Ketua Program Magister Ilmu Komputer Universitas Kristen Maranatha (2018-2020) 4. Dekan Fakultas Teknologi Informasi Universitas Kristen Maranatha (2012 - 2016) 5. Ketua Jurusan Teknik Informatika Universitas Kristen Maranatha (2008 2012) Riwayat Pendidikan dan Tahun Belajar: 1. Program Sarjana Teknik Informatika Institut Teknologi Bandung (1981- 1986) 2. Program Magister Teknik Informatika Institut Teknologi Bandung (1994-1996) 3. Program Doktor Teknik Elektro Institut Teknologi Bandung (2000-2006) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Rossevine, Oscar Karnalim, Mewati Ayub, Integrating program and algorithm visualisation for learning data structure implementation, Egyptian Informatics Journal, 2019. 291
2. Mewati Ayub, Hapnes Toba, et. Al. Gamification for blended learning in higher education. World Transactions on Engineering and Technology Education, 2019. 3. Maresha Caroline Wijanto, Oscar Karnalim, Mewati Ayub, Hapnes Toba, Robby Tan. Transitioning from Offline to Online Learning: Issues from Computing Student Perspective, 2021 IEEE Global Engineering Education Conference (EDUCON) 4. Mewati Ayub, Oscar Karnalim, Laurentius Risal, Maresha Caroline Wijanto. The Impact of Pair Programming on the Performance of Slow-Paced Students: A Study on Data Structure Courses, Journal of Information and Organizational Sciences, 2020 5. Mewati Ayub, Oscar Karnalim, et.al. Utilising Pair Programming to Enhance the Performance of Slow-Paced Students on Introductory Programming, Journal of Technology and Science Education, 2019 Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Pembangunan Perangkat Piton Dan Evaluasi Dampak Kognitif Piton Pada Domain Pembelajaran Pemrograman Dengan Metoda Quasi- Experimental Design, LPPM Universitas Kristen Maranatha, 2018 2. Model Evaluasi Kegiatan Pembelajaran dengan Blended Learning untuk Pendidikan Tinggi, Penelitian Terapan Unggulan Perguruan Tinggi (Hibah Ristekdikti), 2019-2020 3. Penerapan Pair Programming Dan Evaluasi Dampak Kognitifnya Pada Domain Pembelajaran Pemrograman Dengan Metoda Quasi- Experimental Design, LPPM Universitas Kristen Maranatha, 2019. 4. Pembangunan Perangkat Online Repository Dan Penerapan Deteksi Plagiarisme Kode Sumber Pada Domain Pembelajaran Pemrograman, LPPM Universitas Kristen Maranatha, 2020. 5. Penerapan Text Mining untuk Analisis Sentimen dan Pembentukan Graf Kontribusi Kerja Mahasiswa sebagai Pendukung Blended Learning di Perguruan Tinggi, Penelitian Terapan Unggulan Perguruan Tinggi (Hibah Ristekdikti), 2021 - 2022. 292
Wahyono, S.Kom., Ph.D. Informasi Diri: Surel : wahyo@ugm.ac.id Instansi : Universitas Gadjah Mada Alamat Instansi : Sekip Utara Bulaksumur, Yogyakarta Bidang Keahlian : Ilmu Komputer Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Staff Pengajar Prodi Ilmu Komputer, UGM, Yogyakarta (2012 - sekarang) 2. Senior Developer, PT. Gamatechno Indonesia (2010-2012) Riwayat Pendidikan dan Tahun Belajar: 1. S3 Teknik Elektro, University of Ulsan, Korea (2012-2017) 2. S1 Ilmu Komputer, Universitas Gadjah Mada, Indonesia (2006-2010) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Classification of Traffic Vehicle Density Using Deep Learning (Karya Ilmiah, 2020) 2. Perbandingan Perhitungan Jarak pada K-NN di Data Tekstual (Karya Ilmiah, 2020) Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Pengembangan Sistem Surveilans Cerdas dan Terintegrasi Berbasis Kamera (2020) 2. Klasifikasi Tingkat Kepadatan Kendaraan Lalu Lintas Berbasis Convolutional Neural Network (2019) 293
Natalia, S.Si., M.Si. Informasi Diri: Surel : natalia@unpar.ac.id Instansi : Universitas Katolik Parahyangan Alamat Instansi : Jalan Ciumbuleuit No.94, Bandung, Jawa Barat Bidang Keahlian : Informatika Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen Program Studi Teknik Informatika, Universitas Katolik Parahyangan (2017-sekarang) Riwayat Pendidikan dan Tahun Belajar: 1. 2008 - 2012 : Matematika - Universitas Katolik Parahyangan, Bandung 2. 2012 - 2014 : Magister Matematika - Institut Teknologi Bandung Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Pengantar Data Science dan Aplikasinya bagi Pemula. (2020). Bandung: UNPAR Press. 294
Husnul Hakim, S.Kom., M.T. Informasi Diri: Surel : husnulhakim@unpar.ac.id Instansi : Universitas Katolik Parahyangan Alamat Instansi : Jalan Ciumbuleuit No.94, Bandung, Jawa Barat Bidang Keahlian: Informatika Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen Program Studi Teknik Parahyangan (2013-sekarang) Informatika, Universitas Katolik Riwayat Pendidikan dan Tahun Belajar: 1. 2006 - 2010 : Teknik Informatika - Institut Teknologi Sepuluh November (ITS), Surabaya 2. 2010 - 2012 : Magister Informatika - Institut Teknologi Bandung Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Pengantar Data Science dan Aplikasinya bagi Pemula. (2020). Bandung: UNPAR Press. Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. Seleksi PMDK dengan Fuzzy TOPSIS. (2018). Jurnal Teknologi Informasi (JUTI). 295
Dr. Musthofa, S.Kom., M.Sc. Informasi Diri: Email : mush@apps.ipb.ac.id Instansi : Institut Pertanian Bogor Alamat Instansi : Kampus IPB Dramaga, Bogor Bidang Keahlian : Ilmu Komputer Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen/peneliti di Departemen Ilmu Komputer IPB (2009 - sekarang) 2. Research Assistant di Ghent University, Belgium (2014 - 2018) Riwayat Pendidikan dan Tahun Belajar: 1. Sarjana Ilmu Komputer, IPB (2005) 2. Master's in Computational Logic, TU Vienna (2009) 3. Doctor in Computer Science/ Bioinformatics, Ghent University, Belgium (2018) Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Fuzzy Answer Set Programming: From Theory to Practice (Chapter pada Beyond Traditional Probabilistic Data Processing Techniques: Interval, Fuzzy etc. Methods and Their Applications (2020) 2. Network-based modelling of omics data (thesis), 2018 Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 3. Modeling multi-valued biological interaction networks using fuzzy answer set programming, 2018, Fuzzy Sets and Systems 4. Computing attractors of multi-valued gene regulatory networks using fuzzy answer set programming, 2016, IEEE International Conference on Fuzzy Systems, FUZZ-IEEE 2016 296
Auzi Asfarian, S.Kom., M.Kom. Informasi Diri: Surel : asfarian@apps.ipb.ac.id Instansi : Dept. Ilmu Komputer, FMIPA, Institut Pertanian Bogor Alamat Instansi : Wing 20, Jl. Meranti Kampus IPB, Babakan, Kec. Dramaga Bogor, Jawa Barat 16680 Bidang Keahlian : Ilmu Komputer, Interaksi Manusia- Komputer Riwayat Pekerjaan/Profesi (3 Tahun Terakhir): 1. Dosen, Ilmu Komputer, FMIPA, Institut Pertanian Bogor (2015 - sekarang). 2. Vice Chair, Indonesia ACM SIGCHI Chapter (2019 - sekarang). Riwayat Pendidikan dan Tahun Belajar: 1. Magister Ilmu Komputer, Institut Pertanian Bogor (2012 - 2014) 2. Sarjana Ilmu Komputer, Institut Pertanian Bogor (2007 - 2012) Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. E-Initiative for Food Security: Design of Mobile Crowdfunding Platform to Reduce Food Insecurity in Indonesia Using The Wheel Methods - 2020 2. Thymun: Smart Mobile Health Platform for The Autoimmune Community to Improve the Health and Well-being of Autoimmune Sufferers in Indonesia - 2020 297
Kurniawan Kartawidjaja, S.T. Informasi Diri: Surel : Instansi : SMPK1 BPK PENABUR Bandung Alamat Instansi : Jl. HOS Tjokroaminoto No.157 Bidang Keahlian: Informatika, Digital Design Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Guru TIK / Informatika (2004 - sekarang) 2. Dosen Multimedia ITHB (2013 - 2014) 3. Freelance Photographer, Videographer, Drone Pilot (1990 - sekarang) Riwayat Pendidikan dan Tahun Belajar: 1. Fakultas Teknologi Industri Universitas Katolik Parahyangan 1995 - 2002 Judul Buku/Karya dan Tahun Terbit (10 Tahun Terakhir): 1. Visual Basic Express untuk SMPK1 BPK PENABUR Bandung (2008 - 2018) 298
Profil Penelaah Dr. M.M. Inggriani Liem Informasi Diri: Surel : inge@informatika.org Instansi : Bebras Indonesia, ITB, IT Del Bidang Keahlian : Informatika Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan (3 Tahun Terakhir): 1. Anggota Asesor BAN PT (2014-sekarang) 2. Anggota Senat Akademik Institut Teknologi Del (2014-sekarang) 3. Dosen STEI ITB (1977-2018) - purnabakti Riwayat Pendidikan Tinggi dan Tahun Belajar : 1. 1977: Bachelor of Engineering Physics. 2. 1985: Master DESS-IDC (Diplôme D'Etudes Supérieures Spécialisées, Informatique Double Compétence), Université Grenoble I, France. 3. 1986: Master DEA Informatique, Institute Nationale Politechnique de Grenoble, France. 4. 1989: Doctor en Informatique, Université Joseph Fourier, Grenoble, France. Judul Buku/Karya Yang Pernah Ditulis dan Tahun Terbit (5 tahun terakhir): 1. Rouvrais S., Chelin N., Gerwel P. C., Audunsson H., Liem Inggriani., Tudela V. L., "Preparing 5.0 Engineering Students for an Unpredictable Post-COVID World", World Engineering Education Forum and the Global Engineering Deans Council (WEEF/GEDC) Virtual Conference, 16 - 19 November 2020. 299
Paulina Heruningsih Prima Rosa, S.Si., M.Sc. Informasi Diri: Surel : rosa@usd.ac.id Instansi : Universitas Sanata Dharma (USD) Alamat Instansi : Kampus III, Paingan, Maguwoharjo, Depok Sleman, Yogyakarta 55282 Bidang Keahlian : Informatika / Ilmu Komputer Data Penelitian dan Karya detail dapat dilihat di Google Scholar Riwayat Pekerjaan/Profesi 1. Dosen Prodi Teknik Informatika USD : 2008 - sekarang 2. Wakil Dekan I FST USD : 2015 - 2019 Riwayat Pendidikan dan Tahun Belajar: 1. 1988 -1993: S1 Prodi Ilmu Komputer - Universitas Gadjah Mada 2. 1996 -1999: S2 Department of Computer Science - Ateneo de Manila University, Philippines Judul Buku/Karya dan Tahun Terbit (3 Tahun Terakhir): 1. Kontributor artikel dalam Buku Kumpulan Hasil Penelitian Tentang Pemilu, Penerbit Universitas Sanata Dharma, 2015. 2. Kontributor artikel dalam Buku Manusia Pembelajar dalam Dunia Tarik Ulur, Sanata Dharma University Press, 2015. Judul Penelitian dan Tahun Terbit (3 Tahun Terakhir): 1. P.H.P Rosa, H. Sriwindono, R.A. Nugroho, K. Pinaryanto, 2020, Comparison of Crossover and Mutation Operators to Solve Teachers Placement Problem by Using Genetic Algorithm, Journal of Physics: Conference Series, Vol. 1566, July 2020. 300
Adi Mulyanto, S.T., M.T. Informasi Diri: Surel : adi@informatika.org Instansi : Institut Teknologi Bandung Alamat Kantor : Jl. Ganesha 10 Bandung Bidang Keahlian : Informatika Data Penelitian dan Karya detail dapat dilihat di Google Scholar Judul Buku/Karya Yang Pernah Ditulis dan Tahun Terbit (3 tahun terakhir): 1. Belajar Pemrograman Secara On Line dan Jarak Jauh, Pengenalan Sistem Penilaian Program Secara Otomatis Untuk Indonesia. Tahun 2015. 2. Aplikasi pada Perangkat Mobile untuk Mendukung Penulisan Program. Tahun 2015. Judul Penelitian dan Tahun Terbit (3 tahun terakhir): 1. Repositori Infomasi Objek Wisata dengan Teknologi Semantik Web dan Basis data Multimedia untuk Pengelolaan dan Promosi Desa Wisata. Tahun 2012 s.d 2014. 301
Profil Editor Dr. Christina Tulalessy Informasi Diri: Surel : Kantor : Pusat Kurikulum dan Perbukuan Bidang Keahlian : Kurikulum, Penelitian dan Evaluasi Pendidikan, Editor Riwayat pekerjaan/profesi dalam 10 tahun terakhir: 1. Pusat Perbukuan 1988 - 2010 2. Pusat Kurikulum dan Perbukuan 2010 - saat ini 3. Asesor Kompetensi Penulis dan Penyunting BNSP Riwayat Pendidikan Tinggi dan Tahun Belajar: 1. S3 Penelitian dan Evaluasi Pendidikan UNJ 2017 2. S2 Penelitian dan Evaluasi Pendidikan UHAMKA 2006 3. S1 Tata Busana IKIP Jakarta 1988 Publikasi (10 tahun terakhir): 1. Penelitian Tindakan Kelas: Apa, Mengapa, Bagaimana: 2020 302
Profil Ilustrator Rana Rahmat Natawigena Informasi Diri: Surel : Akun Facebook : Rana Rahmat Natawigena Alamat Kantor : PT.LAPI Divusi Jl. Dr. Djunjunan No. 194 Bandung Bidang Keahlian : Desain Grafis/Ilustrasi Riwayat Pekerjaan: 1. 2015-sekarang : Desainer/ Ilustrator Bebras Indonesia /Gerakan PANDAI, Desainer/Ilustrator karakter si Lintar Komik Edukasi Kelistrikan (PLN), Ilustrator Your Bandung, Bandung Tertib 2. 1999-2003 : Desainer Red Rocket Animation (Bandung), Desain Karakter Komik Jang Emqi (MQ media Bandung) 3. 2004 -2005 : Desainer/Ilustrator Purwa Caraka Music Studio (Jakarta -Bandung), Desainer PT Nariptra Daya Pradipta (Jakarta), Desainer/ Ilustrator Aritmetika Sempoa (ASMA Bandung) 4. 2005-2015 : Pengajar DKV Itenas (Bandung), Fikom UNPAD (Bandung). ARS International School (Bandung) Riwayat Pendidikan Tinggi dan Tahun Belajar: 1. 1986-1991 : Desain Grafis Fakultas Seni Rupa dan Desain ITB Buku yang Pernah dibuat Desain/ Ilustrasi (10 Tahun Terakhir): 1. Komiqolbu Jang Emqi, Juragan Kecil, Plong Kepompong, Gara Gara Sampah, Santri Idol 2011 2. Buku si Lintar Komik Edukasi Kelistrikan PLN 2015 sampai sekarang 3. Buku Belajar Musik 1, 2, 3 bersama Purwa Caraka Music Studio (Jakarta) 2014 sampai sekarang 4. Ilustrator/karakter design Bebras Indonesia 2019 sampai sekarang 5. Buku Komik Polda Bangka Belitung, Bike to School, Polisi Sahabatku, Polki dan Polwan 2018 6. Ilustrator Gerakan PANDAI Indonesia 2021 303
Profil Desainer Nurul Fatonah Informasi Diri: Surel : Bidang Keahlian : Desain dan Editor Riwayat Pekerjaan/Profesi (10 Tahun Terakhir): 1. Editor, Penerbit Kubus Media Group (2017-2018) 2. Desainer Buku, Pendidikan Agama Kristen Kelas VIII dan XI, Pendidikan Agama Buddha Kelas III, Pendidikan Agama Islam Kelas V Kurikulum 2013 (2013-2018) Riwayat Pendidikan Tinggi dan Tahun Belajar: 1. D3: Teknik Grafika dan Penerbitan, Politeknik Negeri Jakarta. 2011 Buku yang Pernah disunting/desain (10 tahun terakhir): 1. Jodoh, Penerbit Kubus Media, 2017 2. She's The Boss!, Penerbit Kubus Media, 2018 3. Aliandra, Penerbit Kubus Media, 2018 4. Haphephobia, Penerbit Kubus Media, 2018 5. Informatika SMA Kelas X, Pusat Kurikulum dan Perbukuan, 2020 304