Minggu ke 4 PENDAHULUAN ALGORITMA DAN DIAGRAM ALIR 1. Deskripsi singkat Pada minggu ini dipelajari pengertian program, algoritma sebagai prosedur dalam penyusunan program, pengertian dan simbol-simbol yang digunakan, serta penuangan algoritma dalam bentuk. Selain itu dipraktekkan pula langkah-langkah pembuatan algoritma dan penyusunannya dalam bentuk diagram alir dengan mengambil contoh kasus permaan yang sederhana, seperti mencari luas dan keliling persegi panjang, membandingkan dua buah bilangan, mengurutkan bilangan ganjil dan mencari jumlah serta nilai rata-ratanya. 2. Manfaat, relevansi Sebelum memulai penyusunan program dengan menggunakan suatu bahasa pemrograman tertentu, mahasiswa terlebih dahulu dapat mengenali permaan yang dihadapi, dan menyusun langkah-langkah detil guna menyelesaikan ma tersebut secara urut dan logik dalam bentuk suatu algoritma, serta kemudian menuangkannya dalam bentuk. 3. Learning Outcomes Kognitif: Menjelaskan pengertian algoritma, perbedaan program dan algoritma, arti simbolsimbol yang digunakan pada, dan cara menuangkan algoritma ke dalam bentuk. Psikomotorik: Membuat untuk berbagai kasus dan permaan yang diberikan. Afektif: bekerja dalam sebuah kelompok, dan mendiskusikan hasil kerjanya, serta berpikir logis. PENYAJIAN 1. Program dan Algoritma Program adalah sekumpulan perintah yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu. Tanpa program, komputer sesungguhnya tidak dapat berbuat apa-apa. Oleh karena itu, sebuah sistem komputer pada dasarnya mencakup tiga aspek penting, yaitu berupa perangkat keras (hardware), perangkat lunak (software) yang dalam hal ini berupa program, dan manusianya sendiri yang berperan dalam operasi komputer (brainware). Orang yang membuat program biasa disebut pemrogram (programmer), sedangkan aktivitas yang berhubungan dengan pembuatan program disebut pemrograman (programming). Dalam konteks pemrograman, terdapat sejumlah Program Studi Teknik Geodesi dan Geomatika FT-UGM 1
bahasa pemrograman tingkat tinggi (high-level language), seperti Basic, Pascal, Fortran, C, dan C++. Untuk apa sebuah program dibuat? Tentu saja untuk menyelesaikan suatu permaan. Namun demikian sebelum dapat menyelesaikan ma dengan menyusun program, terdapat beberapa langkah penting yang perlu dilakukan terlebih dulu, yaitu : a. Mengenali permaan yang dihadapi, b. Menyusun langkah-langkah detil guna menyelesaikan ma tersebut dengan urutan yang dan logik, dan c. Menuangkan langkah-langkah tersebut dalam bentuk. Prosedur tata urutan langkah-langkah detil yang telah disusun sedemikian rupa secara runtut dan logik/nalar tersebut dinamakan dengan algoritma. Algoritma berbeda dengan program, karena algoritma secara teoritis bersifat bebas terhadap bahasa pemrograman. Dengan kata lain, algoritma dapat disusun tanpa seseorang perlu mengetahui bahasa pemrograman terlebih dulu. Sebagai contoh sederhana, Anda diminta untuk menghitung luas dan keliling suatu bentuk geometri persegi panjang dengan membuat program komputernya. Pada ma ini, Anda harus dapat menentukan terlebih dulu hal apa yang merupakan masukan dan keluaran bagi penyelesaian ma tersebut. Dalam hal ini, masukan berupa nilai panjang dan lebar, sedangkan keluarannya berupa nilai luas dan keliling. Selanjutnya berdasarkan logika yang, Anda harus dapat menentukan bagaimana luas dan keliling persegi panjang tersebut dihitung berdasarkan data panjang dan lebar. Tentu saja Anda dapat menghitung luas dan keliling persegi panjang dengan rumus: luas = panjang x lebar keliling = 2 x (panjang + lebar) Inilah inti dari mengenali permaan yang dihadapi, yang untuk selanjutnya dituangkan dalam bentuk prosedur tata urutan yang logik sebagai algoritma sebagai berikut : a. Peroleh masukan nilai panjang dan lebar persegi panjang, b. Hitung luas dan keliling persegi panjang dengan rumus di atas, c. Tampilkan nilai luas dan keliling persegi panjang. Untuk lebih memperjelas lagi algoritma yang dipakai, biasanya digunakan gambar-gambar yang akan memperlihatkan aliran proses atau kegiatan yang harus dilakukan. Gambar aliran inilah yang disebut (flowchart). 2. Diagram Alir Diagram alir biasanya digunakan sebagai alat bantu untuk memahami algoritma, karena dapat menyajikan urutan penyelesaian permaan secara visual dengan menggunakan simbol-simbol khusus untuk menyatakan suatu operasi yang harus dilaksanakan. Simbol-simbol standar yang digunakan untuk menyusun seperti ditunjukkan pada Tabel 1. Tabel 1. Simbol standar untuk SIMBOL NAMA ARTI TEINAL Menunjukkan tanda mulai (start) atau selesai (end) Program Studi Teknik Geodesi dan Geomatika FT-UGM 2
INPUT OUTPUT Menunjukkan tanda masukan atau keluaran PROSES Menunjukkan suatu proses pengolahan data atau tanda komputasi TESTING Menunjukkan suatu kondisi yang harus diuji atau dites CONNECTOR Menunjukkan bahwa bagian sambungan dari berada pada halaman yang sama OFF-PAGE CONNECTOR Menunjukkan bahwa bagian sambungan dari berada pada halaman yang berbeda ARAH ALIRAN Menunjukkan arah aliran kegiatan Contoh penggunaan simbol-simbol pada kasus menghitung luas dan keliling suatu persegi panjang di atas ditunjukkan pada Gambar 1. Mulai Masukan panjang, lebar luas = panjang x lebar keliling = 2 x (panjang + lebar) Keluaran luas, keliling Selesai Gambar 1. Diagram alir penghitungan luas dan keliling persegi panjang Program Studi Teknik Geodesi dan Geomatika FT-UGM 3
3. Struktur Dasar Algoritma dan Penuangannya ke Diagram Alir Pada dasarnya terdapat tiga buah struktur dasar yang digunakan dalam menyusun suatu algoritma, yaitu sekuensial (urut), seleksi (pengujian), dan pengulangan (looping). Pada struktur sekuensial, langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan, sebagaimana diperlihatkan pada Gambar 2. Langkah 1 Langkah 2 Langkah 3 Gambar 2. Diagram alir struktur sekuensial Dari Gambar 2 di samping, terlihat bahwa langkah 1 merupakan langkah yang akan dijalankan pertama kali, setelah itu langkah 2 dikerjakan dan diikuti dengan langkah 3. Contoh penghitungan luas dan keliling persegi panjang pada Gambar 1 merupakan contoh penuangan struktur algoritma sekuensial ke bentuk. Pada struktur seleksi, dicirikan adanya pemilihan langkah yang didasarkan oleh suatu kondisi yang dites, sebagaimana diperlihatkan pada Gambar 3. Dari Gambar 3 di samping, langkah 1 hanya akan dijalankan kalau kondisi bernilai, sedangkan langkah 2 hanya akan kondisi dijalankan kalau kondisi bernilai. Contoh penuangan struktur Langkah 1 Langkah 2 algoritma seleksi ke dalam bentuk dapat dilihat pada Gambar 5 yang menunjukkan menentukan bilangan terbesar dari dua buah bilangan x dan y. Gambar 3. Diagram alir struktur seleksi (titik masuk) Pada struktur pengulangan, dicirikan adanya suatu tindakan atau langkah yang dijalankan beberapa kali, sebagaimana diperlihatkan pada Gambar 4. Dari Gambar 4 di samping, sebelum Prosedur dijalankan pertama kali, kondisi diuji terlebih dulu. Selama kondisi masih bernilai, maka Prosedur akan dijalankan terus. Namun begitu kondisi bernilai, maka proses pengulangan akan berakhir. Contoh penuangan struktur algoritma pengulangan ke dalam bentuk dapat dilihat pada Gambar 6 yang menunjukkan untuk menampilkan (titik keluar) kondisi Prosedur tulisan Selamat Belajar sebanyak 5 kali. Gambar 4. Struktur pengulangan Program Studi Teknik Geodesi dan Geomatika FT-UGM 4
Masukkan x,y pencacah = 1 terbesar = x pencacah < 6 terbesar < y Tampilkan Selamat Belajar terbesar = y Tampilkan terbesar Selesai pencacah = pencacah + 1 Gambar 5. Diagram alir menentukan bilangan terbesar antara dua buah bilangan Gambar 6. Diagram alir menampilkan tulisan Selamat Belajar sebanyak 5 kali 4. Aktivitas Ada dua jenis aktivitas yang dikerjakan mahasiswa terkait dengan materi yang diberikan pada minggu ke 4 ini, yaitu: a. Klasikal, yang meliputi: Diskusi kelompok Mengerjakan tugas b. Praktikum di Lab. Komputer, dapat mengerjakan materi tugas 5. Tugas Buatlah untuk : a. Mengkonversi suatu suhu dalam derajad Celcius (C) ke dalam derajad Reamur (R) dan Fahrenheit (F). Diberikan rumus konversinya sebagai berikut: R = 4/5 x C F = 9/5 x C + 32 b. Menghitung akar persamaan kuadrat: ax 2 + bx + c, yang diketahui koefisien-koefisien persamaannya (a, b, dan c) dengan menguji terlebih dulu harga deskriminannya, yaitu: Jika deskriminan > 0, ada dua akar berlainan Jika deskriminan = 0, ada satu akar (akar kembar) Jika deskriminan < 0, akar imajiner c. Menghitung jarak dua buah titik dan azimuthnya apabila diketahui Program Studi Teknik Geodesi dan Geomatika FT-UGM 5
koordinat (x, y) dari kedua titik tersebut. Gunakan rumus hitungan azimuth sisi (persoalan pokok II Ilmu Ukur Tanah) dan ketentuan letak kuadrannya yang telah diberikan pada minggu sebelumnya. d. Mengurutkan bilangan ganjil dari 100 sampai 500 dengan urutan turun, menghitung jumlah dan nilai rata-ratanya. 6. Rangkuman Sebelum membuat program, pertama kali harus ditentukan langkah apa yang harus diambil terlebih dulu. Kemudian prosedur urutan langkah-langkah tersebut harus ditata atau disusun secara dan logik. Prosedur tata urutan langkah tersebut dinamakan algoritma. Algoritma berbeda dengan program, karena algoritma secara teoritis bersifat bebas terhadap bahasa pemrograman. Sebagai alat bantu untuk dapat lebih memahami algoritma, digunakanlah simbol-simbol khusus yang menyatakan suatu operasi yang harus dilaksanakan dan memperlihatkan aliran proses atau kegiatan yang dinamakan (flowchart). Dalam menyusun perlu diperhatikan struktur dasar yang digunakan dalam menyusun suatu algoritma, yaitu sekuensial (urut), seleksi (pengujian), dan pengulangan (looping). PENUTUP Tes Formatif 1. Simbol apa yang digunakan untuk menunjukkan adanya suatu kondisi yang harus dites? 2. Apa ciri utama dari struktur dasar algoritma seleksi dan pengulangan? 3. Diberikan suatu sebagai berikut: bil = 1 bil < 10 bil 5 Tampilkan bil Selesai bil = bil + 1 Program Studi Teknik Geodesi dan Geomatika FT-UGM 6
Tampilkan hasil dari tersebut. Jawaban Tes Formatif 1. Simbol belah ketupat (diamond) 2. Ciri struktur seleksi adalah adanya suatu kondisi yang dites, sedangkan ciri struktur pengulangan adalah adanya suatu tindakan yang dikerjakan secara berulang kali. 3. Hasilnya: 1, 2, 3, 4, 6, 7, 8, 9 Petunjuk Penilaian Mahasiswa dinilai dari hasil tugas dan praktikum yang dilakukan di Lab. Komputer dengan memperhatikan learning outcomes yang telah disebutkan di atas dan berdasarkan kriteria-kriteria yang ditunjukkan dalam rubrik penilaian sebagai berikut : No. Kriteria 1 2 3 Aspek Kognitif 1. Menjelaskan pengertian algoritma 2. Menjelaskan perbedaan program dan algoritma 3. Menjelaskan arti simbol-simbol yang digunakan pada 4. Menjelaskan cara menuangkan algoritma ke dalam bentuk Aspek Psikomotorik 1. Membuat membuat pengertian algoritma, namun masih kurang tepat perbedaan program dan algoritma, namun masih kurang tepat Hanya dapat arti beberapa simbol saja (kurang dari 5) dan masih ada yang cara menuangkan algoritma ke dalam bentuk, namun masih kurang tepat membuat pengertian algoritma dengan perbedaan program dan algoritma dengan arti semua simbol yang digunakan pada dengan cara menuangkan algoritma ke dalam bentuk dengan dan tepat membuat Program Studi Teknik Geodesi dan Geomatika FT-UGM 7
untuk berbagai kasus dan permaan yang diberikan hanya pada kasus dan permaan yang struktur dasar algoritmanya sekuensial untuk berbagai kasus dan permaan dengan struktur dasar algoritmanya kombinasi sekuensial, seleksi dan pengulangan, serta hasilnya Umpan Balik Umpan balik dari mahasiswa dapat diperoleh dari tingkat keaktifan mahasiswa pada saat pelaksanaan diskusi kelompok, hasil tugas, dan dari hasil praktikum di Lab. Komputer. Tindak Lanjut 1. Untuk mahasiswa yang tingkat keaktifannya dalam pelaksanaan diskusi kelompok masih kurang, diharapkan untuk mempelajari terlebih dahulu materi pada minggu berikutnya dan membuat daftar pertanyaan untuk didiskusikan pada sesi klasikal minggu tersebut. 2. Untuk mahasiswa yang hasil tugas dan praktikumnya masih belum baik, diharapkan untuk mengulangi kembali materi yang dipraktekkan dan menemui asisten untuk memperoleh bantuan tutorial/asistensi. Daftar Pustaka 2. Basuki, S., 2011, Ilmu Ukur Tanah, Edisi kedua (revisi), Gadjah Mada University Press, Yogyakarta. 7. Kadir, A., dan Heriyanto, 2005, Algoritma Pemrograman Menggunakan C++, Penerbit Andi Offset, Yogyakarta. 10. Soesianto, F., dkk., 1987, Pemrograman Basic, Edisi Kedua, Penerbit Andi Offset, Yogyakarta. Program Studi Teknik Geodesi dan Geomatika FT-UGM 8
Rencana Kegiatan Pembelajaran Mingguan (RKPM) Minggu ke 4 Media Ajar Minggu ke LO (Learning Outcomes) yang akan dicapai Pokok Bahasan (Topik) Sub Pokok Bahasan Teks Presentasi Laptop/PC Lembar Kerja Soal-Tugas Web Metode Ajar (STAR) Aktivitas Mahasiswa Aktivitas Dosen Metode Evaluasi dan Penilaian Sumber Ajar 4 Kognitif: Menjelaskan pengertian algoritma, perbedaan program dan algoritma, arti simbol-simbol yang digunakan pada, dan cara menuangkan algoritma ke dalam bentuk Algoritma dan Diagram Alir a. Pengertian algoritma dan program b. Permaan dan urutan penyelesaiannya dalam bentuk algoritma c. Simbol-simbol dalam d. Menuangkan algoritma dalam bentuk diagram alir - - Klasikal, mahasiswa berkelompok dan berdiskusi (Cooperative learning & Problem-based learning) a. Baca bahan ajar sebelum kuliah b. Diskusi antar kelompok c. Mengerjakan tugas a. Menentukan kelompok b. Menyiapkan dan materi c. Fasilitator & evaluator diskusi d. Memberikan tugas Tugas: membuat untuk: Menghitung akar persamaan kuadrat Menghitung azimuth Mengurutkan bilangan Menghitung ratarata Pustaka: 2, 7, 10 Afektif: bekerja dalam sebuah kelompok, dan mendiskusikan hasil kerjanya, serta berpikir logis Tabel rubrik Kriteria penilaian 1-3 Psikomotorik: Membuat untuk berbagai kasus dan permaan yang diberikan Program Studi Teknik Geodesi dan Geomatika FT-UGM 9