You are on page 1of 34
eranan komputer dalam kehidupan marwss semakin besar. Hal cut ditandai dengan semakin banyakrya ‘aplikasi yang dibangun terete enunjang Kehidupan manusia. Saat ‘ada banyak pekerjaan yang selama ini dilakukan secara ‘manual, dapat dilakukan secara refengan menggunakan program komputer otomatis oleh komputer yang dibangun. ‘hat bahwa proses packing yang dulunya dilakukan manu: ‘oleh robot yang diatur ‘oleh komputer. ‘Otomatisasi pekerjaan dapat cil ir program agar dapat menangani berbagai kondisi. Pengatu’ mengambil Keputusan dan menjalankan pekeria?) sesuai dengan persyaratan dari kondisi yang dipenuhi. Oleh karena itu, dalam bab ini akan dijelaskan berbagai kondis! yang umum ditemui dalam kasus-kasus pemrograman dan cara menangani berbagai kondisi tersebut. Scanned with CamScanner A. Algoritma, Variabel, dan Tipe Data perangkat komputer dapat bekerja untuk melakukan suatu pekerjaan jka kita sebagai pengguna dapat memerintahkan komputer tersebut dengan cara ang benar. Perintah tersebut dapat diberikan dengan menggunakan algoritma yang akan diterjemahkan ke dalam oge-kode program, dikompilasi, dan dijalankan oleh komputer. Dengan diberikan algoritma yang sesuai, komputer akan bekerja sesuai dengan yang pengguna inginkan Penerjemahan suatu algoritma menjadi kode-kode program disebut dengan pemrograman. Pada saat melakukan pemrograman tersebut, kita perlu menggunakan berbagai variabel yang akan digunakan untuk menangkap, menyimpan, memanipulasi, dan menampilkan suatu rilai, Oleh karena itu, pemahaman yang baik mengenai peranan dan penggunaan variabel penting dalam proses pemrograman. Penggunaan nilai-nilai yang disimpan dapat digunakan oleh variabel ditentukan sesuai dengan tipe data dari variabel tersebut. 1. Algoritma dan Perancangan Algoritma Komputer adalah suatu mesin, yang bekerja dengan menggunakan sinyal-sinyal digital. Artinya, semua perintah yang dijalankan dan data yang diproses diberikan dalam bentuk kode-kode digital. Saat ini, kemampuan komputer sudah sangat meningkat apabila dibandingkan dengan kemampuan komputer generasi pertama, baik dari segi kemampuan untuk memproses perintah dan data yang jauh lebih cepat ‘maupun ragam pekerjaan yang dapat dilakukan. Pada awal penggunaannya, komputer hanya digunakan untuk ‘melakukan pekerjaan tertentu sesuai dengan peruntukan komputer tersebut didesain dan dibuat. Sebagai contoh, komputer ENIAC (Electronic Numerical integrator and Computer) yang didesain dengan tujuan utama untuk melakukan penghitungan tabel tembakan artileri di Laboratorium Penelitian Senjata Balistik Amerika Serikat selama eo dunia kedua. Saat ini, komputer telah mampu_melakukan ae pekerjaan, seperti penghitungan matematika, pemrosesan im » Pengontrolan mesin, penerjemahan bahasa, simulasi, pemodelan, eatin keputusan layaknya manusia, dan sebagainya. deat dasarnya, komputer akan melakukan apa pun selamapengguna Wg remberikan perintah dan data yang diperlukan dengan cara Slakukan dimengerti oleh komputer tersebut. Pemberian perintah dapat dia cara menuliskan program-program yang sesuai yang ™enggunake lan dimengerti oleh komputer. Saat ini, pengguna dapat Mencar inf n komputer untuk membuat dokumen, mengolah data, formasi di internet, dan sebagainya. Aktivitas tersebut dapat BAB 2 ALGORITMA, VARIABEL, DAN KONDIS! DALAM PEMROGRAMAN a Scanned with CamScanner dilakukan karena adanya program atau aplikasi ya, | sesuai yang dibangun untuk memerintahkan Komp | melakukan berbagai pekerjaan tersebut, | Kode-kode program untuk memerintahkan komputer : kemudian dikompilasi menggunakan program kompilata, ro yang sesuai untuk menjadi program atau aplikasi yar dapat diinstal dan dijalankan di komputer. Program. program yang kamu kenal, seperti Microsoft Wory Excel, dan PowerPoint, merupakan contoh program yang telah dikompilasi, kemudian diinstal di komputer sehingga kamu dapat menggunakannya sesuai dengan tujuan dibuatnya Program tersebut, Sebelum menuliskan kode-kode program, kita perlu meranca algoritma untuk program yang akan dibangun. Algoritma adalah kumpulan langkah-langkah instruksi_ yang digunakan untuk menyelesaikan suatu pekerjaan atau persoalan. Algoritma tersebut akan diterjemahkan menjadi kode-kode program yang kemudian dikompilas, diinstal, dan dijalankan oleh komputer. Algoritma digunakan untuk memastikan apa yang kita inginkan untuk dijalankan oleh komputer diterjemahkan ke dalam program dengan benar sehingga komputer bekerja sesuai dengan yang diinginkan. Algoritma merupakan dasar kerja komputer sehingga ketepatan penulisan algoritma merupakan faktor yang menentukan apakah suatu komputer akan bekerja dengan benar atau tidak. Jika kita merancang algoritma yang sesuai, komputer akan bekerja sesuai dengan yang diinginkan. Sebaliknya, jika kita merancang algoritma yang salah, komputer akan menjalankan instruksi-instruksi yang salah juga. Oleh karena itu, ketika menuliskan algoritma kita harus memastikan bahwa algoritma tersebut mewakili dengan benar apa yang kita ingin komputer kerjakan, Program komputer dibangun untuk menyelesaikan permasalahan tertentu sehingga algoritma yang dibangun harus mengacu pada masalah tersebut, Masalah-masalah yang ada sering kali berbeda dati satu tempat dengan tempat yang lain, atau dari satu organisasi dengan paanisasi yang lain. Kita tidak mungkin membuat suatu program komputer untuk setiap permasalahan yang ada, Namun, masalatr mrasalah ‘tersebut biasanya memilki kemiripan sehingga sering Kel algoritma untuk program komputer dibangun dengan menerapkan Prinsip generalisasi, Meskipun demikian, saat prinsip generalisas! diterapkan, program masih dapat memenuhi us yang berbeda-beda dari Penggunanya, ee Pada umumnya, Pada Proses-proses yang ada dan Scanned with CamScanner yam untuk mengolah dokumen teks, yang dapat digunakan oleh pekerja profesional, pelajar, penulis bukwnovel, wartawan, dan sebagainya. Program tersebut didesain secara general sehingga dapat menjadi solusi pengolah kata bagi semua profesi tersebut. Meskipun demikian, program juga memberikan keleluasaan kepada pengguna untuk memilih ukuran halaman, jenis, warna, dan ukuran huruf, jumlah kolom, dan sebagainya pada dokumen mereka. Hal ini membuat setiap pengguna dapat memperoleh format dokumen sesuai dengan keinginan mereka. Meskipun aplikasi tersebut dibangun dengan menerapkan prinsip generalisasi permasalahan, aplikasi Microsoft Word masih dapat menjadi solusi pengolah kata bagi semua orang atau profesi. Berdasarkan contoh tersebut, maka ketika kita membangun suatu algoritma, kita dapat melakukan proses generalisasi pada persoalan yang serupa sehingga aplikasi yang dibangun dapat digunakan oleh banyak orang. Akan tetapi, kita dapat merancang algoritma yang memungkinkan pengguna melakukan pengaturan dengan cara memberikan input dan membuat pilihan yang sesuai sehingga masalah tertentu seorang pengguna dapat diselesaikan. Seperti telah dijelaskan di kelas Vil, ada dua cara yang dapat digunakan untuk menuliskan algoritma, yaitu §menggunakan pseudocode dan flowchart. Pseudocode adalah rangkaian instruksi yang menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Adapun flowchart adalah diagram yang mewakili kumpulan dari instruksi-instruksi yang ditampilkan menggunakan simbol standar untuk menggambarkan instruksi-instruksi yang berbeda-beda. Simbol standar yang digunakan pada flowchart dapat dilihat pada Tabel 2.1. Tabel 2.1 Simbol flowchart. rene Simbel Poeneen asian Digunakan untuk memulai dan Musaieetfent GS mengakhiri proses 2, | Proses [eg] Menjalankan perintah Membuat keputusarvpilihan Menerima input atau menampilkan output pada pengguna Berpindah ke baglar di flowchart 8. | Arah alan | Menunjukkan arab aliran flowchart UA" 2 ALGORITMA, VARIABEL, DAN KONDIS! DALAM PEMROGRAMAN Scanned with CamScanner Cara algoritma bekerja untuk menggambarkan instruksi-instruks| yang akan dijalankan di dalam program komputer akan ditunjukkan pada contoh program untuk menghitung berat badan ideal berikut, Pada program ini, pengguna akan memberikan input tinggi badan dan berat badan. Berdasarkan input tersebut, program akan menghitung berat badan ideal pengguna menggunakan metode Body Mass Index (BMI), kemudian menampilkan pesan apakah pengguna termasuk dalam kategori kurus, normal, gemuk, atau obesitas. Jika kita mendesain algoritma dalam bentuk pseudocode untuk program tersebut, pseudocode yang sesuai, sebagai berikut. OUTPUT ‘Masukkan tinggi badan anda’ INPUT Pengguna memasukkan tinggi badan STORE Input simpan di variabel Tinggi Badan OUTPUT ‘Masukkan Berat Badan anda’ INPUT Pengguna memasukkan Berat Badan STORE Simpan berat badan di variabel Berat Badan PROCESS Hitung BMI? IF BMI < 18,5 THEN OUTPUT ‘Anda Kurus’ OUTPUT ‘Tampilkan gambar kurus’ ELSEIF BMI < 22,9 THEN OUTPUT ‘Anda Normal’ OUTPUT ‘Tampilkan gambar normal’ IF BMI < 24,9 THEN OUTPUT ‘Anda Gemuk’ OUTPUT ‘Tampilkan gambar gemuk’ ‘Anda Obesitas’ ‘Tampilkan gambar Obesitas’ Sebaliknya, jika kita membuat algoritma untuk program di atas dalam bentuk flowchart, maka flowchart yang sesuai akan tampak seperti Gambar 2.1. Ketika membuat flowchart, kita dapat mendesain flowchart ‘menjadi langkah-langkah yang sangat detail ataupun tidak terlalu detail. Flowchart yang sangat detail akan memastikan semua langkah sudah dijelaskan secara pasti, tetapi dibutuhkan waktu yang lama ketika menyusun flowchart. Sebaliknya, langkah-langkah yang tidak terlalu detail akan menghemat waktu ketika menyusun flowchart, tetapi ad@ kemungkinan programmer akan menerjemahkan flowchart dengan cara yang salah. Oleh karena itu, ketika menuliskan flowchart, kita dapat membuat langkah-langkah sedetail mungkin pada alur berpikit yang tidak umum digunakan, Sebaliknya, pada langkah-langkah umum yang sudah dipahami bersama, maka langkah-langkah yang detail dapat diabaikan. We) INFORMATIKA UNTUK SMP/MTS KELAS VIII Scanned with CamScanner Gambar 2.1 Contoh algoritma dalam bentuk flowchart. 2, Memprogram Robot Sebelumnya telah dijelaskan bahwa algoritma adalah kumpulan perintah atau proses yang dirangkai untuk dijalankan oleh komputer. Algoritma kemudian diterjemahkan menjadi kode-kode program dan menjadi alat bagi pengguna untuk berkomunikasi dengan komputer. Sebagai contoh, mengenai cara algoritma diterjemahkan menjadi program komputer, berikutkitaakan membuat programuntuk robot visual yang akan bekerja membuat tulisan ‘I am Programmer’. Pemrograman ini akan dilakukan dengan menggunakan program RoboMind. Adapun algoritma untuk program tersebut adalah sebagai berikut. START Move ‘Posisi Awal’ part (OVE ‘Posisi Awal’ WATE A 'OVE ‘Posisi Awal’ wae wall OVE ‘Posisi Awal’ WATE ‘pr wal 125 2 ALGORITMA, VARIABEL, DAN KONDISI DALAM PEMROGRAMAN Scanned with CamScanner MOVE ‘Posisi Awal’ WRITE ‘R’ MOVE ‘Posisi Awal’ WRITE ‘O" MOVE ‘Posisi Awal’ WRITE ‘G’ MOVE ‘Posisi Awal” WRITE 'R’ MOVE ‘Posisi Awal’ WRITE ‘A’ MOVE ‘Posisi Awal’ WRITE ‘M’ MOVE ‘Posisi Awal’ WRITE ‘M’ MOVE 'Posisi Awal’ WRITE ‘E’ MOVE ‘Posisi Awal’ WRITE ‘R’ END Selanjutnya, algoritma tersebut akan diteriemahkan menjadi kode- kode program. Langah-langkah membuat suatu program robot visual yang mampu menuliskan kata/kalimat adalah sebagai berikut. (1) Jalankan program RoboMind. (2) Untuk memilih map yang sesuai, dari menu File, klik perintah Open Map. Kotak dialog Open akan ditampilkan. _ ae 2.2 Kotak dialog untuk mem ‘map yang sesual, inlah Map yang sesuai, dalam i bal ditampilkan di jendela RODMAN ee Mepesus INFORMATIKA irTuy, SMP/MTS KELAS vin, Scanned with CamScanner Gambar 2.3 Map untuk program menus kalimat. (4) Pada program ini, beberapa huruf akan digunakan secara berulang, seperti huruf A, M, dan R. Oleh karenaitu, perintah untuk menuliskan huruf tersebut akan ditempatkan dalam bentuk Procedure sehingga dapat dipanggil berulang-ulang dan kita tidak perlu menuliskan kode yang sama berulang kali. Kode program untuk membuat Procedure ketiga huruf tersebut adalah sebagai berikut. Procedure A() Procedure M() Procedure R() { { ( Paintwhite Paintwhite Paintwhite Forward (2) Forward (2) Forward (2) Right Right Right Forward (2) Forward(1) Forward (2) Right Right Right Forward (2) Forward (1) Forward Backward Backward (1) Right Right Left Forward (2) Forward (2) Forward (1) Backward (1) | StopPainting Right Left | , Forward (2) Forward i StopPainting StopPainting ! ) ) {5) Tambahkan kode berikut untuk menempatkan robot di posisi awal untuk menuliskan huruf I. Forward (3) lett Forward(8) Right. BAB 2 ALGORITMA, VARIABEL, DAN KONDISI DALAM PEMROGRAMAN Scanned with CamScanner . (6) Tambahkan kode berikut untuk memerintahkan robot meniligkay, huruf I. : tiurvt 1 PaintWhite Forward(2) StopPainting (7) Tambahkan kode berikut, untuk menempatkan robot di posisi awa) menuliskan huruf A. | Right Forward (2) Left Backward(2) (8) Tambahkan kode berikut untuk memerintahkan robot menuliskan huruf A. Dalam hal ini, kita akan menuliskan huruf A dengan cara memanggil Procedure A. [ Whurut * Lao " | (9) Tambahkan kode program untuk huruf-huruf yang lain. Kode program selanjutnya adalah sebagai berikut. pesky perneceowkn Back r Right #Hurut 0 Forward Left Backward PaintWhite Left Forward (1) Forward (2) Backward(2) fbuat Huruf M Right dHuruf B MO Forward (2) fHuruf R PaintWhite | | Right RQ) Forward (2) Left || Forward (2) Backward (2) Forward (2) Right Left Left | Left Porward(2) Forward (2) Forward | StopPainting Left Right | forut P Forward PaintWhite Forward(15) fHurut a Backward Forward(2) Left AO Left | | Right Forward (3) Forward | | Forwara¢2y weet Backwara(s) | | Right | Baahe Forward Right Forward (2) | Forwar Backward StopPainting | Righe | Moret 6 . Forward (2) Paintwhite dHuruf M d tur Forward | StopPainting | | Forvard(t) | mo Left 9 | Backward(2) | Backrard (3) Forward Right a ae | Right Right F tiomaceey || BB ay || Ropes | | smarts fet Right Backward (4) | this & Forward (2) Left wy He a, #Buat Hurt Forward(2) | orwar " | Forward (2 ere | Forvard(a) StopPainting MO INFORMATIKA UN TUK SWP/ATS KELAS Scanned with CamScanner untuk melihat apakah kode program bekerja dengan baik, j (10) Hogram tersebut. Tamplan program akan tampak aaeten Gambar 2.4 berikut. Bia eld aly “MEF perme ‘Gambar 2.4@mpilan program robot menus kalimat (11) ka program sudah bekerja dengan baik, simpanlah pekerjaan kamu. Pada kode program tersebut, perlu diingat bahwa baris yang didahului dengan tanda pagar ‘#’ adalah baris komentar. Artinya, baris tidak dibaca sebagai kode program oleh RoboMind serta tidak ikut dibaca dan dijalankan. Baris komentar pada contoh ini ditambahkan untuk memudahkan kita membaca program. Kamu telah melihat bagaimana kita mendesain suatu algoritma untuk memerintahkan robot dalam bentuk visual untuk menuliskan suatu kalimat. Algoritma tersebut kemudian diterjemahkan dalam bentuk program dan djalankan. Hasilnya adalah komputer akan melakukan pa yang kita inginkan. _ Pada contoh ini, kita menggunakan robot visual, yang lebih mudah dikontrol dibandingkan dengan robot dalam bentuk nyata. Di bab 4, kita akan belajar bagaimana memprogram robot untuk melakukan berbagai hal. 3. Variabel dan Tipe Data ena bekerja membuat program, nil fi lupun penghitungan, sering kal i penghnenggunakan nilai dalam penghitungan, dan menampilkan hasil peng tungan kepada pengguna. Oleh karena itu, nilai-nilal tersebut ane simpan dalam suatu objek yang disebut variabel. Variabel td dimaksud memiliki pengertian yang sama dengan variabel yang U kenal di pelajaran matematika. Artinya, variabel digunakan untuk Mer "vimpan suatu nilai dan besar nilai tersebut dapat berubah-ubah. TTekan Ctrl + D untuk menggandakan baris terpllih, atau Ctr + Shift + Arrow untuk memindahkan baris perintah terplih. baik program yang berupa game, li program perlu untuk membaca BAB 2 ALGORITMA, VARIABEL, DAN KONDISI DALAM PEMROGRAMAN Scanned with CamScanner Dalam penghitungan matematika, variabel yang kamu ken, umumnya digunakan untuk menyimpan nilai yang bersifat nu yaitu berupa angka dan dapat digunakan dalam penghitungan. Adapy, dalam program, nilai variabel tidak harus berupa angka, tetapi da, juga berupa teks/istilah atau berupa Yes/True dan No/False. Oleh karens itu, dalam pemrograman, variabel mempunyai tipe data, yang aks, menentukan nilai seperti apa yang dapat disimpan oleh variabel tersebys ‘Ada banyak tipe data untuk variabel-variabel yang dapat digunakan, dalam pemrograman. Pada pemrograman visual Scratch, ada tiga ting data digunakan, yaitu boolean, numerik, dan teks (string). Tipe data boolean hanya digunakan untuk menyimpan nilai yang berupa True atau False. Variabel dengan tipe data boolean biasanya digunakan untuk menyimpan nilai dari suatu pengujian kondisi. Misalnya, kita mempunyai variabel StatusMenang dengan tipe data boolean, maka kita dapat membuat logika program dengan StatusMenang adalah True jika Nilai lebih besar dari atau sama dengan 100. Sebaliknya, nilai variabel StatusMenang adalah False jika Nilai kurang dari 100. Tipe data numerik digunakan untuk menyimpan nilai yang berupa bilangan atau angka. Ketika membuat program yang berupa penghitungan di Scratch, kamu perlu menggunakan variabel untuk menyimpan nilai yang akan digunakan dalam penghitungan matematika. Contoh lain, ketika membuat program berupa game, kamu perlu menggunakan variabel untuk menyimpan nilai dari suatu karakter yang digunakan untuk menentukan apakah pengguna tersebut menang atau kalah ketika bermain game. Tipe data teks atau string digunakan untuk menyimpan nilai yang berupa teks. Misalnya, ketika kita menggunakan Scratch untuk membuat game, kita dapat menggunakan variabel dengan tipe data string untuk menyimpan pesan yang ingin disampaikan kepada pengguna, seperti Pesan “Anda Menang” atau "Anda Kalah”. Pesan dapat disimpan dalam variabel dan disampaikan berdasarkan kemampuan pengguna memainkan game tersebut. Contoh lain, jika kamu membuat program berupa cerita di Scratch, kamu dapat menggunakan variabel dengan tipe data string untuk menyimpan teks percakapan yang ditampilkan Oleh karakter-karakter yang ada di program. Ketika ingin menggunakan variabel di dalam program, kita harus eon jee tersebut dengan menjalankan perintah ‘Make 2 inate eae memberi ama untuk variabel tersebut. uit Suabina varite ea ss dan mengingat nama variabel, ion cae oe nama yang berhubungan dengan nilai yan9 menyimpan ntaea el tersebut, Sebagai “contoh, variabel Hon menyimpan status game diberi nama ‘Nilai', sedangkan variabel untu game diberi nama ‘StatusGame’. Pembuatan dan pemberi i . langkah-angkah pal aa nama variabel, dapat dilakukan deng2” INFORMATIKA uy Scanned with CamScanner tab Code, klik blok Variables sehingga blo tl oh Variables akan ditampilkan. 92 lok perintah yang ada Klik tombol Make a Variable. Kotak dialog New Vari (7) ditampilkan. fariable akan ‘Sumber ohumen pore Gambar 2.5Menambahkan variabel Nilal ke dalam program, (3) Beri nama untuk variabel tersebut. Selanjutnya, pilih apakah variabel ingin digunakan pada semua sprite (For all sprites) atau untuk satu sprite tertentu (For this sprite only). (4) Klik tombol OK. Variabel baru akan ditambahkan ke blok perintah di blok Variables. as Setelah memahami cara penambahan variabel ke dalam program di Scratch, kita akan belajar bagaimana memanipulasi nilai variabel-variabel tersebut. Manipulasi nilai variabel dilakukan dengan memberikan nilai, Mengubah nilai, menampilkan nilai, dan menyembunyikan nilai. Manipulasi tersebut dapat dilakukan dengan menjalankan Perintah-perintah yang ada di blok perintah Scratch, yang ditunjukkan oleh Gambar 2.6. Perintah tersebut terdiri atas perintah Set - to, change — by, show variable, dan hide variable. Cara menggunakan perintah- Perintah tersebut di dalam program akan dijelaskan pada subbab berikutnya. 4. Menggunakan Variabel di dalam Program et 292 contoh penggunaan variabel membuat programdiScratch, kitaakan Mbuat suatu program dalam subbab ini. Gambar 2.6 Vatiabel yang ditambahkan dan blok perintah yang ada di blok Variables. BAB 2 ALGORITMA, VARIABEL, DAN KONDISI DALAM PEMROGRAMAN Scanned with CamScanner Melalui program ini, akan dipelajari cara menerima input nila. dari Pengguna, menggunakannya dalam penghitungan, dan menampilkan, nilai variabelnya. Dalam mata pelajaran matematika, kamu bed tebe tera menghi k terdekat dari dua titik yang terdapat di koordinay une ee kita akan membuat program unty, kartesius. Pada kesempatan ini, J menghitung jarak kedua titik tersebut. Pengguna akan menginpyt e ma dan kedua. Program akan menghitung jarax see hedus tek: karan menampilkan hasil penghitungan kepada Penifada program ini, kita akan menggunakan beberapa varabel untuk menyimpan nilai yang diberikan pengguna dan nilai hasil penghitungan. Misalnya, kita akan menggunakan variabel X1 untuk menyimpan nilai X dari titik 1, variabel Y1 untuk menyimpan nilai Y dari titik 1, variabel x2 untuk menyimpan nilai X dari titik 2, dan variabel v2 untuk menyimpan nilai Y dari titik 2. Selanjutnya, kita akan menggunakan variabel JarakX dan JarakY untuk menyimpan nilai jarak dalam arah sumbu X dan Y dari kedua titik, serta variabel Jarak untuk menyimpan dan menampilkan jarak dari kedua titik. Untuk menghitung jarak dari kedua titik, program akan meminta pengguna menginput koordinat titik pertama dan kedua. Dengan menggunakan hukum Phytagoras, program akan menghitung jarak kedua titik dalam arah sumbu X dan Y. Selanjutnya, hasil Sumtecdoumeepeost penghitungan akan ditampilkan. Jika digambarkan oni 27 Algoma untsk progam dalam flowchart, program menghitung jarak dua titk menghitung jrak dua tk, ditunjukkan oleh Gambar 2.7. Langkah-langkah, untuk membuat program sesuai konsep tersebut adalah sebagai berikut. (1) Jalankan Scratch dan buatlah proyek baru. a= | (2) Tambahkan variabel-variabel berikut di blok Variables: x1, Y1, X2, Y2, | JatakX, JarakY, dan Jarak. Variabel yang ditambahkan akan ditampilkan di stage. (3) Susun —letak __variabel-variabel tersebut sehingga tampilan stage akan tampak seperti Gambar 2.8. | (4) Pada blok Events, tambahkan blok Perintah ‘When click’ ke blok Code ware ‘Sumber: dokuman pene untuk men j n ‘Gambar 2.8 Tampian slage steah pengauran elk varabe progr \gatur cara menjalankal ee MPIMTS KELAS Vit Scanned with CamScanner variabel JarakX dan JarakY tidak ditampikan 0 A pahkan dua perintah hide variable pada biok Yorpe! S298 nyikan variabel JarakX dan JarakY. Blok ane nu seperti Gambar 2.9. Variabel juga dapat disemin pew dengan cara menghilangkan tanda cek pada kotak cek yang ada 3 variabel yang bersangkutan. Surber damn penasa Gambar 2.9Blok perintah untuk menyembunyikan variabel, (6) Untuk meminta input dari pengguna, tambahkan Perintah ‘ask - and wait’ pada blok Sensing. (7) Untuk menyimpan input dari pengguna ke variabel x1 yang disediakan, tambahkan blok perintah set -1 to dan tambahkan blok perintah ‘answer’ ke blok perintah tersebut. (8) Dengan cara yang sama, gunakan blok perintah yang sama untuk meminta dan menangkap nilai input untuk variabel Y1, X2, dan Y2. Susunan perintah di code area akan tampak seperti Gambar 2.10. oem Masukkan Titk X17 Jeunes Sumber: dokumen penertit amber 2.10 Perintah-printah untuk meminta dan menangkap input dar pngguna. (9) Pada blok Vari erator, tambahkan blok perintah untuk menghitung, pe \soabel JarakX, JarakY, dan Jarak. Untuk Menghitung akar, qunakan blok perintah fungsi sqrt’ yang terdapat i blok Operator. Blok perintah yang digunakan untuk melakukan Perhitungan tersebut akan tampak seperti Gambar 2.11. BAB 2 ALGORITMA, VARIABEL, DAN KONDIS! DALAM PEMROGRAMAN Scanned with CamScanner tuk melakukan pekerjaan otomatisas, banyak proses yang digunakan un' program perlu menggunakan kongis, Untuk menangani hal seperti itu, percabangan. a Kondisi percabangan juga sering digunakan untuk mengakomodasi keinginan atau pilihan yang dibuat oleh pengguna. Alur proses yang dijalankan akan disesuaikan dengan pilihan yang dibuat oleh pengguna Ketika bekerja dengan kondisi percabangan, kita akan menggunakan operator perbandingan dan operator logika sebagai alat untuk menguj sebelum mempelajari satu atau lebih persyaratan. Oleh karena itu, berbagai jenis kondisi percabangan di subbab ini, kamu akan mengenal dan memahami operator perbandingan dan operator logika. 4. Operator Perbandingan dan Logika Ketika bekerja dengan kondisi percabangan, program akan menjalankan proses sesuai dengan hasil pengujian pada persyaratan kondisi yang diberikan. Persyaratan kondisi tersebut diberikan dengan menggunakan operator perbandingan dan operator logika. Operator perbandingan adalah operator yang digunakan untuk membandingkan dua nilai, Adapun operator logika adalah operator yang digunakan untuk menguji satu atau lebih kondisi logika. Scratch mempunyai tiga jenis operator perbandingan yang dapat digunakan sebagai persyaratan kondisi, yaitu lebih besar dari (>), lebih kecil dari (<), dan sama dengan (=). Operator lebih kecil dari digunakan untuk menguji apakah suatu nilai lebih kecil dari nilai artis) yang dijadikan sebagai acuan, operator lebih besar dari Word digunakan untuk menguji apakah suatu nilai lebih besar dari nilai yang dijadikan acuan, sedangkan operator Operator 5 perbandingan adalah sama dengan digunakan untuk menguji apakah suatu ‘operator yang nilai besarnya sama dengan nilai yang dijadikan acuan- digunakan untuk membandingkan dua nila, sedangkan Ketika operator ini dipakai dalam program, blok perintah yang sesuai ditunjukkan oleh Gambar 2.14. operator logika Samer | ES ‘menguji satu atau lebih kondisi logika. umber: dotanan pet Gambar 2.14 Operator perbandingan di Scratch, Ketika digunakan, oj i i 7 unakan, operator perbandingan akan memberikan hasil Bengujan beri Tue atau False. True jika hasil pengujian bernilai bena” mempury at aa pengulian bernilai salah. Sebagai contoh,jika kita el ‘nilai ujian’ seorang peserta didik yang besarny4 75, kemudian kita membt i ‘ yang diperoleh adalah sebagai barat seperti Gambar 2.14, Scanned with CamScanner i Ujian < 80, bernilai True. jjian > 80, bernilai False. 5 perbandingan: perbandingan: Nilai Ujian = 80, bernilai False. Ketika digunakan, sering kali kondisi Percabangan atau Perulangan di dalam program mempunyai lebih dari satu persyaratan. Pada kondisi ini, kita membutuhkan operator logika untuk menguji Persyaratan- wsyaratan tersebut. Scratch mempunyai tiga operator logika, yaitu And, Or, dan Not. abel 2.2 Kebenaran operator logika. a ee =) Ct) Sumber: dokumen pene Gambar 2.15 Operator logika di Scratch, ie gee Tabel 2.2, Operator And akan mengembalikan nilai ita a edua persyaratan dipenuti, operator Or akan bernilai True “a eee dari Persyaratan dipenuhi, sedangkan Operator Not Tabel nice Eee jika hasil Pengujian bernilai salah, dan sebaliknya. 22 ‘ebenaran dari ketiga operator logika dapat dilihat di Tabel Sel a erb; ma Perlu diingat bahwa Scratch tidak mempunyai operator “ebi, besar df yang dapat digunakan untuk mengakomodasi operasi dengan’ re atau sama dengan’ dan ‘lebih kecil dari atau sama kita han mn karena itu, untuk melakukan kedua operasi tersebut, Sebagai conto gzbungkan dua operator perbandingan yang berbeda, diakuan Hct perasi ‘lebih kecil dari atau sama dengan 90' dapat ‘Sama dengan Menggabungkan blok perintah ‘lebih kecil dari’ dan Serta menggunakan blok perintah ‘or’ di antaranya. Scanned with CamScanner Adapun untuk operasi untuk operasi ‘lebih besar El) dengan menggunakan blok perintah dengan’ serta menambahkan blok peri ‘Sumber. dohumen ponerbt Gambar 2.16 Menggunakan operator untuk Kod lebih keci dari atau sama dengan, lebih ‘besar dari atau sama dengan’, misalnya dari atau sama dengan 60’, dapat dilakukan ‘lebih besar dari’ dan ‘sama intah ‘or’ di antaranya. ae cat © | ‘Sumber: doumen pene ‘Gambar 2.17 Menggunakan operator untuk kondisi lebih besar dari atau sama dengan’. Tidak ea GD Sumber: dokuren pane Sambar 2.48 Rencana aur kegiatan iburan hari Minggu, ae NFORMATIKA UNTUK SHtP/itTs KFLAS 2. Kondisi Satu Percabangan Dalam kehidupan sehari-hari, sering kali kita perlumengambil keputusan atau memilih sesuatu berdasarkan kondisi. Misalnya dalam memilih kegiatan yang ingin dilakukan pada hari minggu berdasarkan berbagai kondisi, di antaranya kesibukan anggota keluarga, lingkungan, cuaca, biaya, dan sebagainya. Agar lebih sederhana, anggap kita akan memilih kegiatan hari minggu berdasarkan kondisi cuaca. Jika hari cerah, kita dapat Merencanakan pergi mendaki bukit di Pagi hari, memasak bersama di sore hati, kemudian menonton film favorit di rumah di malam hari. Sebaliknya, jika hari hujan, kita tidak akan pergi mendaki dan kita hany@ akan memasak bersama dan menonton film. vu Scanned with CamScanner pada kasus tersebut, dapat dilihat bahwa kegiatan mendaki akan igkukan tergantung pada hari hujan atau tidak. Adapun kegiatan vong in tidak tergantung kepada cuaca. Apapun cuaca di hari Minggu, kegiatan memasak dan menonton bersama akan tetap dilakukan. Jika digambarkan dalam flowchart, kegiatan hari Minggu dapat digambarkan sti Gambar 2.18. ‘Alur proses yang ditunjukkan Gambar 2.18 merupakan contoh ondisi dengan satu percabangan. Kondisi tersebut juga dapat kita temukan dalam program. Dalam program, kondisi satu percabangan adalah kondisi ketika suatu proses akan dijalankan jika kondisi bernilai benar atau True. Sebaliknya, jika kondisi bernilai salah atau False, tidak ada proses yang harus dijalankan. Di aplikasi Scratch, kondisi dengan satu percabangan ditangani dengan menggunakan blok perintah ‘if - then’ yang terdapat di blok Control (hat Gambar 2.19). Jika kondisi yang ada dipenuhi, semua perintah yang terdapat di blok perintah ‘if - then’ tersebut akan dialankan. Sebaliknya, jika kondisi tidak dipenuhi, semua perintah yang ada di dalam blok perintah ‘if - then’ akan diabaikan. Program akan langsung menjalankan perintah yang ada di bawah perintah ‘if - then’. PN ak in te FT ences) Tere Memesak Bersama ‘Sumber: dokumen penerbit ‘Gambar 2.19 Menggunakan kondisi satu |percabangan di Scratch. Jika program tersebut dijalankan, program akan mengecek apakah hujan atau tidak. Jika tidak hujan, berarti kondisi yang terdapat di blok etintah ‘if - then’ bernilai True. Oleh karena itu, aktivitas mendaki akan dijalankan, kemudian dilanjutkan aktivitas memasak bersama N menonton film. Sebaliknya, jika hujan, kondisi pengujian tersebut bernilai False, Oleh karena itu, aktivitas yang ada di blok perintah ‘if ~ then’ tidak dijalankan sehingga aktivitas yang dijalankan hanyalah memasak bersama dan menonton film. 3. Kondisi Dua Percabangan fi Kondisi dua percabangan adalah kondisi ketika program dapat milih untuk menjalankan salah satu rangkaian proses tergantung pada Pengujian kondisi. Sebagai contoh, ketika melakukan penerimaan Pesta dik baru, sekolah akan menyeleksi calon peserta didik dengan @ Melakukan ujian tertulis. Peserta didik yang memiliki jumlah rial BAB 2 ALGORITMA, VARIABEL, DAN KONDIS! DALAM PEMROGRAMAN Scanned with CamScanner lebih besar dari 250 akan dinyatakan diterima, sebaliknya peserta didik yang memiliki jumlah nilai kurang dari atau sama dengan 250 akan dinyatakan tidak diterima. Pada kasus ini, jumlah nilai digunakan unty, menentukan seorang calon peserta didik diterima atau tidak diterima Jika digambarkan dalam flowchart, kondisi dua percabangan akan tampak seperti Gambar 2.20. Ye Tidak ‘Sumber: dokumen penerbt Gambar 2.20 Flowchart untuk kondisi dua percabangan. Di program Scratch, kondisi dengan dua percabangan diterapkan dengan menggunakan blok perintah ‘if — then — else’ Jika_hasil pengujian kondisi bernilai True, program akan menjalankan rangkaian alur proses yang ada di dalam blok perintah ‘if - then’. Sebaliknya, jika hasil pengujian bernilai False, program akan menjalankan rangkaian alur proses yang ada di dalam blok perintah ‘else’. Jika contoh tersebut diterapkan di program Scratch, blok perintah akan tampak seperti Gambar 2.21. fee som eee orp id Gee ee occa ‘Sumber: damon poner Gambar 2.21 Menggunakan kondisi dua percabangan di Scratch. Jika program tersebut dijalankan, prograrn akan mengecek apaka" variabel Jumlah Nilai bernilai lebih besar dari 250 atau tidak. Jika jumilah nilai lebih besar dari 250, berarti kondisi pengujian bernilai True, m2? INFORMATIKA UNTUK SMP/MTs KELAS VIII Scanned with CamScanner jntah terdapat di blok perintah ‘if - then’ akan dijalankan dan calon pent ta didik dinyatakan diterima. Sebaliknya, jika Jumlah Nilai lebih kecil;dari atau sama dengan 250, berarti hasil pengujian bernilai False, maka blOk perintah yang ada di dalam blok ‘else’ yang akan dijalankan, Dengan kata lain, calon peserta didik dinyatakan tidak diterima. 4, Kondisi Tiga Percabangan atau Lebih Kondisi tiga percabangan atau lebih adalah kondisiketika terdapat jga atau lebih percabangan yang dapat dipilih sesuai dengan kondisi berlaku. Sebagai contoh, dosen di perguruan tinggi memberikan nilai dalam huruf, A, B, C, D, dan E yang ditentukan berdasarkan nilai rerata dari ujian-ujian mahasiswa. Kriterianya adalah nilai A untuk nilai rerata di atas 90, nilai B untuk nilai rerata lebih besar dari 80 dan lebih kecil dari atau sama dengan 90, nilai C untuk nilai rerata lebih besar dari 70 dan lebih kecil dari atau sama dengan 80, nilai D untuk nilai rerata lebih besar dari atau sama dengan 60 dan lebih kecil dari atau sama dengan 70, sedangkan nilai E untuk rerata yang lebih kecil dari 60. Pada contoh tersebut, dapat dilihat bahwa kondisi mempunyai lima percabangan yang ditentukan dengan menggunakan nilai rerata sebagai parameter pengujian. Jika digambarkan dalam flowchart, kondisi percabangan dengan tiga atau lebih percabangan ditunjukkan oleh Gambar 2.22. 6 mba" 2.22 Flowchart untuk kondis tga atau lebih bercabangan. Scanned with CamScanner Jika ingin menerapkan kondisi tiga atau lebih percabangan di Scrat kita dapat menggunakan blok perintah ‘if - then - else’ seperti ha} a yang digunakan pada kondisi dua percabangan. Namun, kareng perintah ‘if - then - else’ hanya mempunyai dua percabangan, kita harus menempatkan blok perintah tersebut di dalam blok perintah ‘if - then. else’ yang lain sampai jumlah percabangan yang dibutuhkan dipenu, Jika ada lima percabangan yang mungkin, kita dapat menempatkay blok perintah ‘if - then - else’ di dalam blok perintah ‘if - then ~ elgg yang lain seperti Gambar 2.23 Sumber: dtunen eet Gambar 2.23 Menggunakan kondisi dengan lima percabangan di Scratch. Jika blok perintah tersebut dijalankan, program akan mengecek apakah variabel Nilai Rerata bernilai lebih besar dari 90 atau tidak. Jka Nila Rerata lebih besar dari 90, berarti kondisi pengujian bernilai True. Mahasiswe yang bersangkutan akan diberi nilai A. Sebaliknya, jika Nilai Rerata tidak lebih besar dari 90, berarti kondisi pengujian bernilai False. Program akan melanjutkan pengujian ke cabang berikutnya. Di cabang berikutnya, ada dua kondisi pengujian yang harus dipenuhi. yaitu Nilai Rerata harus lebih kecil dari atau sama dengan 90 dan lebih besa" dari 80. Untuk pengujian seperti ini, kedua syarat harus dipenuhi agar bernilal True. Jika hasil pengujian bernilai True, mahasiswa yang bersangkutan ak" diberikan nilai B; sebaliknya jika hasil pengujian bernilai False, progr” akan melanjutkan pengujian kondisi di percabangan berikutnya. Pengui” kondisi akan dilakukan dari cabang pertama sampai cabang terakhir samp2! ada konaisi cabang yang bernilai True. Jika salah satu kondisi cabang sud dipenuhi, kondisi di cabang berikutnya tidak akan diyji lagi. INFORMATIKA UNTUK SMP/NATs KELAS VII Scanned with CamScanner

You might also like