Modul Algoritma Pemrograman I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer harus menuliskan kode-kode program agar objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja sesuai dengan yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah program pasti terdapat alur logika yang menyebabkan program tersebut dapat bekerja dengan benar. Konsep yang dijelaskan di sini tidak hanya dapat diimplementasikan dalam bahasa pemrograman Pascal saja, tetapi dapat juga diterapkan dengan menggunakan bahasa pemrograman lainnya termasuk bahasa pemrograman aras tinggi yang lainnya. Modul algoritma dan pemrograman ini sangat penting bagi mahasiswa program studi Ilmu Komputer pada khususnya karena menjadi dasar bagi mahasiswa untuk mempelajari bahasa pemrograman. Pada modul ini diberikan contoh-contoh kasus untuk mempermudah memahami konsep. Karena sebuah contoh dapat memberikan inspirasi pemecahan masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di dalam pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi mempunyai aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang kusut karena banyak sekali percabangannya, sampai pada algoritma yang kurang efisien karena banyak sekali pengulangan instruksi yang sama dalam menganalisa kasus. Dengan mempelajari modul ini diharapkan nantinya Anda dapat memecahkan masalah secara metodologis, yaitu sesuai dengan skema (model) yang benar. Ketaatan menggunakan skema niscaya akan menghasilkan algoritma yang efisien dan mudah dipahami. Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca dalam mempelajari komputer, khususnya yang mempelajari mengenai konsep algoritma dan pemrograman serta dapat menambah wawasan bagi para pembaca dalam pembuatan program secara terstruktur. Yogyakarta, Desember 2007 Penulis Modul Ke-1 - Hal 1 Modul Algoritma Pemrograman II. PENDAHULUAN Dewasa ini komputer digunakan dihampir semua bidang kehidupan manusia, mulai dari pendidikan, bisnis, sampai dengan permainan. Berbicara tentang komputer tidak lepas dari pemrograman komputer. Hal ini karena komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin pintar ini dapat memecahkan suatu masalah. Dalam kehidupan sehari-hari untuk berkomunikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersbut. Apabila kita menggunakan Bahasa Indonesia, lawan bicara kita juga harus mengerti bahasa Indonesia. Kalau lawan bicara kita tidak mengerti bahasa Indonesia, kita masih bisa berkomunikasi dengan melalui seorang penterjemah. Dalam pemrograman komputer, berlaku hal yang sama, kita harus menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi. Dan untuk membantu Anda mengkonversikan suatu permasalahan ke dalam bahasa komputer maka digunakan algoritma. Dan biasaya untuk pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma diatas kertas, tetapi biasanya dia menuliskan di dalam kepalanya dan langsung memprogram berdasarkan algoritma di kepalanya. Modul Ke-1 - Hal 2 Modul Algoritma Pemrograman III. PENGANTAR ALGORITMA DAN PROGRAM A.1. Tujuan Instruksional Umum Setelah mempelajari modul ini Anda diharapkan mampu memahami posisi algoritma dan program dalam menyelesaikan berbagai macam permasalahan 2. Tujuan Instruksional Khusus Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menyebutkan langkah-langkah dalam proses pembuatan program sedikitnya 6 langkah dengan benar. b. menjelaskan perbedaan antara belajar memprogram dan belajar bahasa pemrograman minimal 2 perbedaan dengan benar. c. menjelaskan konsep algoritma dengan memberikan contoh dalam kehidupan nyata minimal 80% urutan langkahnya benar. B. URAIAN MATERI 1. Pemrograman Komputer Berbicara tentang komputer tidak lepas dari pemrograman komputer. Hal ini karena komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin pintar ini dapat memecahkan suatu masalah. Langkah-langkah yang kita lakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrograman komputer. Sehingga yang dimaksud dengan program adalah sederetan perintah yang harus dikerjakan oleh komputer untuk menyelesaikan suatu masalah. Pada dasarnya komputer adalah mesin digital artinya komputer hanya mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrograman komputer. Bahasa pemrograman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Anda tentu bisa bayangkan bagaimana sulitnya memprogram dengan bahasa mesin. Modul Ke-1 - Hal 3 Modul Algoritma Pemrograman Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah dipahami manusia. Singkatan kata ini kemudian sering disebut mnemonic code. Bahasa pemrograman yang menggunakan singkatan kata ini disebut bahasa assembly. Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011. perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, 0D, yang artinya bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari CoMPare. Dapat Anda lihat di sini bahwa perintah CMP AL, 0D jauh lebih mudah dipahami dari pada 0011 1010 0000 1011. tentu saja ini jika dilihat dari sudut pandang manusia, bagi komputer kombinasi 0 dan 1 tentu lebih mudah dipahami. Perangkat lunak yang mengkonversikan perintah-perintah assembly ke dalam bahasa mesin sering disebut juga assembler. Pemrograman dengan bahasa assembly dirasakan masih terlalu sulit, kemudian dikembangkanlah bahasa pemrograman yang lebih mudah digunakan. Bahasa pemrograman ini menggunakan kata-kata yang mudah dikenali oleh manusia. Bahasa pemrograman seperti ini disebut bahasa generasi ketiga atau 3GL (third generation language). Beberapa orang menyebut bahasa ini dengan bahasa tingkat tinggi atau HLL (high level language). Yang termasuk bahasa generasi ketiga antara lain Basic, Pascal, C, C++, dsb. Perangkat lunak yang menterjemahkan program dalam bahasa manusia ke dalam bahasa assembly atau bahasa mesin ada dua macam yaitu interpreter dan kompiler. Interpreter menterjemahkan program baris per baris, artinya jika suatu baris akan dieksekusi,maka baris tersebut diterjemahkan terlebih dahulu ke bahasa mesin. Apabila baris berikutnya akan dieksekusi, maka baris tersebut baru diterjemahkan ke dalam bahasa mesin. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic. Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan kompiler adalah Pascal, C, dan C++. Khusus untuk Pascal ada beberapa kompiler tetapi memang jumlahnya tidak banyak, misalnya Turbo Pascal, GNU Pascal, Free Pascal, Pascal for Window, dsb. Perkembangan bahasa pemrograman selanjutnya adalah bahasa generasi ke empat atau 4GL (fourth generation language). Bahasa ini banyak digunakan untuk mengembangkan aplikasi basis data (database). Salah satu contohnya adalah SQL. Modul Ke-1 - Hal 4 Modul Algoritma Pemrograman Dalam melakukan suatukegiatan tentu saja kita memerlukan langkah-langkah yang harus dilalui. Dalam pemrograman komputer kita juga memerlukan beberapa langkah yang harus dilakukan. Dan setiap langkah ini tidak harus melakukannya dari langkah pertama, kedua, dst. Ada beberapa langkah yang harus atau mungkin diulang sampai berkali-kali. Beberapa langkah dalam proses pembuatan suatu program atau software : 1 ). Mendefinisikan masalah dan menganalisanya Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah antara lain tujuan dari pembuatan program, parameter-parameter yang digunakan, fasilitas apa saja yang akan disediakan oleh program. Dalam hal ini adalah menentukan apa masukannya dan bagaimana keluarannya. 2 ). Menentukan solusi. Setelah masalah didefinisikan dengan jelas, masukan apa yang diberikan sudah jelas, langkah selanjutnya adalah mencari jalan bagaimana masalah tersebut diselesaikan. Yaitu menentukan metode atau algoritma apa yang akan diterapkan untuk menyelesaikan masalah tersebut dan terakhir menentukan bahasa program yang digunakan untuk pembuatan program. 3 ). Memilih Algoritma Menentukan algoritma yang baik untuk memecahkan masalah. Karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. 4 ). Menulis Program Pada langkah ini proses penulisan program menggunakan salah satu bahasa pemrograman tingkat tinggi berdasarkan algoritma yang telah disusun untuk memecahkan masalah tersebut. Ada beberapa hal yang harus dipertimbangkan saat memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb. 5 ). Menguji Program Setelah program selesai ditulis, Anda harus mengujinya. Pengujian pertama adalah apakah program berhasil dikompilasi dengan baik. Kemudian diuji apakah program dapat menampilkan keluaran yang diinginkan. Dan program ini juga harus dicobakan untuk banyak kasus untuk menentukan kevalitan dari hasil keluaran program. Modul Ke-1 - Hal 5 Modul Algoritma Pemrograman Langkah 4 dan 5 ini bisa dilakukan berulang kali sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan. 6 ). Menulis Dokumentasi. Hal ini bisanya dilakukan bersamaan dengan menulis program, artinya pada setiap baris program atau setiap beberapa baris program, Anda menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan. Dan akn lebih baik apabila dituliskan dalam dokumen tersendiri kemudian mencetaknya diatas kertas atau disimpan dalam file tersendiri. 7 ). Merawat Program Langkah ini dilakukan setelah prorgram selesai dibuat dan sudah digunakan oleh pengguna Anda. Hal yang paling sering terjadi di sini adalahnya munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna ingin tambahan suatu fasilitas baru. Apabila hal-hal seperti ini terjadi, Anda harus melakukan revisi terhadap program Anda. 2. Belajar Memprogram Dan Belajar Bahasa Pemrograman Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Belajar Memprogram • Belajar memprogram ≠ belajar bahasa pemrograman • Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama • Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis • Belajar memprogram, titik berat : designer program Modul Ke-1 - Hal 6 Modul Algoritma Pemrograman Belajar Bahasa Pemrograman • Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa • Belajar bahasa pemrograman , titik berat : coder Produk yang dihasilkan pemrogram : • Program dengan rancangan yang baik (metodologis, sistematis) • Dapat dieksekusi oleh mesin • Berfungsi dengan benar • Sanggup melayani segala kemungkinan masukan • Disertai dokumentasi • Belajar memprogram, titik berat : designer program Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan tujuan dan fungsinya. Diantaranya adalah : 3. Algoritma Dari materi diatas, Anda sudah mengetahui dimanakah posisi algoritma dalam dunia pemrograman komputer. Sekarang akan dibahas mengenai algoritma itu sendiri. “Algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Modul Ke-1 - Hal 7 Modul Algoritma Pemrograman Dalam kehidupan sehari-hari baik sadar maupun tidak sebenarnya Anda juga menggunakan algoritma untuk melakukan sesuatu. Contoh 1 : • Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas ruang lingkupnya) • Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State) • Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya • Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi. • Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan. • Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian • Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang. Contoh mengupas kentang dapat dijelaskan : • o Ambil kantong kentang dari rak o Ambil panci dari almari o Kupas kentang o Kembalikan kantong kentang ke rak Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang diambil dari rak sebelum ambil panci) : o Ambil kantong kentang dari rak dan ambil panci dari almari o Kupas kentang o Kembalikan kantong kentang ke rak Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama ? Ini tergantung jawabannya bisa sama bisa tidak. Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengan kemarin Sama karena kemiripan pola yang dilakukan Contoh 2 : Misalkan Anda ingin menulis surat, maka Anda perlu melakukan beberapa langkah berikut : 1 ). Mempersiapkan kertas dan amplop Modul Ke-1 - Hal 8 Modul Algoritma Pemrograman 2 ). Mempersiapkan alat tulis, seperti pena atau pensil 3 ). Mulai menulis 4 ). Memasukkan kertas ke dalam amplop 5 ). Pergi ke kantor pos untuk mengeposkan surat tersebut. Dalam banyak kasus algoritma yang Anda lakukan tidak selalu berurutan seperti diatas. Kadang-kadang Anda harus memilih dua atau beberapa pilihan. Sebagai contoh, jika Anda ingin makan, Anda harus menentukan akan makan di rumah makan atau memasak sendiri. Jika Anda memilih untuk makan di rumah makan, Anda akan menjalankan algoritma yang berbeda dengan jika Anda memilih memasak sendiri. Dalam algoritma hal semacam ini sering disebut percabangan. Dalam kasus lain, Anda mungkin harus melakukan langkah-langkah tertentu beberapa kali. Sebagi contoh, saat Anda menulis surat, sebelum memasukkan kertas ke dalam amplop, mungkin Anda harus mengecek apakah surat tersebut sudah benar atau belum. Jika belum benar, berarti Anda harus mempersiapkan kertas baru dan menulis lagi. Demikian seterusnya sampai surat Anda sesuai dengan yang diharapkan. Dalam algoritma hal semacam ini sering disebut perulangan. C. EVALUASI FORMATIF 1 ). Jelaskan apa yang dimaksud dengan algoritma! 2 ). Jelaskan apa yang dimaskud dengan program ! 3 ). Tuliskan 6 langkah dalam menyusun suatu program untuk memecahkan suatu masalah ! 4 ). Tuliskan sedikitnya 2 (dua) perbedaan antara belajar memprogram dengan belajar bahasa pemrograman ! 5 ). Tuliskan algoritma untuk memecahkan masalah matematika, yaitu untuk menghitung luas bujur sangkar dari masukan berupa panjang dan lebar. Modul Ke-1 - Hal 9 Modul Algoritma Pemrograman IV. NOTASI YANG DIGUNAKAN UNTUK PENYUSUNAN ALGORITMA A.1. Tujuan Instruksional Umum Setelah mempelajari modul ini Anda diharapkan mampu menyusun algoritma untuk menyelesaikan berbagai macam permasalahan dengan menggunakan notasi algoritma. 2. Tujuan Instruksional Khusus Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menjelaskan 2 cara merepresentasikan algoritma dengan benar. b. membuat algoritma untuk memecahkan masalah dalam waktu maksimal 10 menit B. URAIAN MATERI 1. Representasi Algoritma Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya. Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep diikuti. Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya. Algoritma bisa dipresentasikan dengan 2 macam cara, yaitu : a. Flowchart Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut. Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart : Modul Ke-1 - Hal 10 Modul Algoritma Pemrograman SIMBOL b. NAMA FUNGSI TERMINATOR Permulaan/akhir program GARIS ALIR (FLOW LINE) Arah aliran program PREPARATION Proses inisialisasi/pemberian harga awal PROSES Proses perhitungan/proses pengolahan data INPUT/OUTPUT DATA Proses input/output data, parameter, informasi PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub program/proses menjalankan sub program DECISION Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya ON PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman OFF PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman berbeda Pseudocode Pseudo berarti imitasi atau mirip atau menyerupai dan code nenunjukkan kode dari program, berarti pseudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya. Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya sepertin COBOL, FORTRAN, Pascal atau Basic sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada Programmer. Pseudocode akan memudahkan programmer untuk memahami dan menggunakannya, karena mirip dengan kode-kode program yang sebenarnya. Modul Ke-1 - Hal 11 Modul Algoritma Pemrograman Pseudocode labih terinci, seperti menjelaskan juga tentang pemberian nilai awal dari suatu variabel, membuka dan menutup file, subcscrip atau tipe-tipe data yang digunakan (misalnya real, integer, boolean). Pseudocode ini yang kemudian dikenal dengan istilah algoritma 2. Aturan Penulisan Pseudocode / Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : a. Judul (Header) b. Kamus c. Algoritma Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal, contoh { Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program. Contoh : a. Judul (Header) Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut. Modul Ke-1 - Hal 12 Modul Algoritma Pemrograman Contoh : Catatan : Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama algoritma. b. Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan : • Nama type • Nama konstanta • Nama variabel • Nama fungsi • Nama prosedur Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan). Contoh : Modul Ke-1 - Hal 13 Modul Algoritma Pemrograman c. Algoritma (Deskripsi) Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa : • Instruksi dasar seperti input/output, assignment • Sequence (runtutan) Modul Ke-1 - Hal 14 Modul Algoritma Pemrograman • Analisa kasus • Perulangan Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah. Contoh : Catatan : Untuk kata-kata input, output, if then else, output akan dipelajari lebih mendalam dalam bab-bab selanjutnya. 3. Contoh Penyelesaian Masalah Dengan Algoritma Contoh 1 : Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti Keluaran. Flowchart : Start Output ‘Selamat Belajar Algoritma dan Pemrograman End Modul Ke-1 - Hal 15 Modul Algoritma Pemrograman Contoh 2 : Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran. Flowchart : Start A Input X,Y Hasil = Y Y Apakah X<Y Cetak Hasil T Hasil = X End A C. EVALUASI FORMATIF 1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan genap atau ganjil, kemudian buat flowchart untuk program tersebut ! Modul Ke-1 - Hal 16 Modul Algoritma Pemrograman 2. Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat, kemudian buat flowchart untuk program tersebut ! 3. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut : Sn = 3 + 7 + 11 + …… + (4n-1) Modul Ke-1 - Hal 17 Modul Algoritma Pemrograman EVALUASI Isilah titik-titik dibawah ini dengan jawaban yang tepat (mengacu pada modul) 1 ). Program adalah ………………………………. Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh computer. 2 ). Produk yang dihasilkan pemrogram adalah : a. ……………………………………………………….. b. ……………………………………………………….. c. ……………………………………………………….. d. ……………………………………………………….. e. ............................................................................. 3 ). Dalam menyusun sebuah program, langkah-langkah yang harus dikerjakan adalah a. …………………………………………………… b. ………………………………………………….. c. ………………………………………………….. d. ………………………………………………….. e. …………………………………………………... f. ....................................................................... g. ...................................................................... 4) Lengkapi penulisan algoritma untuk menghitung luas lingkaran dibawah ini Program Luas_Lingkaran Kamus Phi, diameter, radius, luas : real Algoritma (a) ……………………………. (b) ……………………………. (c) ……………………………. (d) ……………………………. (e) ……………………………. Modul Ke-1 - Hal 18 Modul Algoritma Pemrograman 5) Lengkapi flowchart untuk menampilkan kelipatan dari bilangan yang diinputkan Program Kelipatan Kamus S, lipat, i : integer Algoritma Input (S, lipat) IÅs Do Output ( I ) I Å I + lipat While ( I <= lipat ) 6) Buatlah algoritma untuk menuliskan nilai absolut dari nilai yang dimasukkan pengguna. Bila diketahui definisi dari nilai absolut adalah sebagai berikut : ⎧x x =⎨ ⎩− x jika x ≥ 0 jika x < 0 Program absolut Kamus a. ....................................... Algoritma b. ....................................... c. ....................................... d. ...................................... e. ...................................... Modul Ke-1 - Hal 19 Modul Algoritma Pemrograman Umpan Balik dan Tindak Lanjut Cocokkanlah jawaban anda dengan Kunci Jawaban Evaluasi yang terdapat di bagian lampiran modul ini dan hitunglah jumlah jawaban anda yang benar. Kemudian gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan anda dalam materi Modul ke-1. Rumus : Tingkat penguasaan = Jumlah jawaban anda yang benar × 100% 30 Arti tingkat penguasaan yang anda capai : 90% - 100% = baik sekali 80% - 89% = baik 70% - 79% = sedang - 69% = kurang Kalau Anda mencapai tingkat penguasaan 80% atau lebih, Anda dapat meneruskan ke modul berikutnya. Bagus ! Tetapi kalau nilai Anda dibawah 80%, Anda harus mengulang Modul ke-1 terutama yang belum Anda kuasai. Modul Ke-1 - Hal 20 Modul Algoritma Pemrograman BAHAN BACAAN Brassard, Gilles, and Bratley, Paul, 1996, Fundamentals of Algorithmics, Prentice Hall, Englewood Cliffs, New Jersey. Budiyanto, Alex, 2003, Pengantar Algoritma dan Pemrograman, www.Ilmu Komputer.com Jogiyanto H.M, 1995, Turbo Pascal versi 5.0, jilid 1, Andi Offset, Yogyakarta. Munir, Rinaldi, Ir, dan Lidya, Leoni, Ir., 1998, Algoritma dan Pemrograman I, Informatika, Bandung. Pranata, Antony, 2000, Algoritma dan Pemrograman, J & J Learning, Yogyakarta. Modul Ke-1 - Hal 21 Modul Algoritma Pemrograman LAMPIRAN KUNCI JAWABAN FORMATIF 1. Perwujudan atau implementasi tekniks 2. a. Program dengan rancangan yang baik (metodologis, sistematis) b. Dapat dieksekusi oleh mesin c. Berfungsi dengan benar d. Sanggup melayani segala kemungkinan masukan e. Disertai dokumentasi 3. a. Mendefinisikan masalah b. Menentukan solusi c. Memilih algoritma d. Menulis program e. Menguji program f. Menulis Dokumentasi g. Merawat program 4. a. phi Å 3.14 b. input ( diameter ) c. radius Å diameter / 2 d. luas Å phi * radius * radius e. output ( luas ) 5. a. Start b. Input ( S, lipat ) c. I = S d. Output ( I ) e. I = I + lipat f. I < = lipat g. stop 6. Program Absolut Kamus X : integer Modul Ke-1 - Hal 22 Modul Algoritma Pemrograman Algoritma Input (X) If x <= 0 then hasil Å x * (-1) Else hasil Å x Output (hasil) Modul Ke-1 - Hal 23