{"id":1549,"date":"2022-10-23T03:19:41","date_gmt":"2022-10-23T03:19:41","guid":{"rendered":"https:\/\/imilkom.usu.ac.id\/?p=1549"},"modified":"2022-10-23T03:42:18","modified_gmt":"2022-10-23T03:42:18","slug":"imilkom-belajar-1-apakah-itu-algoritma-dan-pemrograman","status":"publish","type":"post","link":"https:\/\/imilkom.usu.ac.id\/?p=1549","title":{"rendered":"IMILKOM BELAJAR &#8211; #1 Apakah Itu Algoritma dan Pemrograman?"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/4332351_18907-1-1024x771.jpg\" alt=\"\" class=\"wp-image-1553\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/4332351_18907-1-1024x771.jpg 1024w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/4332351_18907-1-300x226.jpg 300w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/4332351_18907-1-768x578.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Ilustrasi Programming (Sumber : Freepik)<\/figcaption><\/figure>\n\n\n\n<p>Jika kamu tertarik dengan dunia pemrograman pasti kamu tidak asing lagi dengan kata algoritma dan pemrograman. Algoritma dan pemrograman adalah dua kata yang berhubungan sangat erat. Tapi, tahukah kamu apa itu algoritma dan pemrograman? Mari kita sama &#8211; sama mempelajarinya!<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pengertian Algoritma<\/strong><\/h2>\n\n\n\n<p>Agar komputer bisa mengerti dan menjalankan perintah kita, kita perlu menuliskan sebuah prosedur yang berisi urutan langkah &#8211; langkah. Komputer menjalankan prosedur pengurutan tersebut untuk memberikan solusi dari setiap persoalan yang kita berikan. Kita sebut langkah &#8211; langkah itu sebagai penyelesaian atau pemecahan masalah (<em>problem solving<\/em>) dan prosedur yang berisi langkah langkah penyelesaian persoalan disebut dengan <strong>algoritma<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><br><br>Jadi\u2026<strong>&nbsp;Algoritma <\/strong>adalah urutan langkah &#8211; langkah yang tersusun secara sistematis untuk menyelesaikan suatu persoalan.<\/p><\/blockquote>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Adapun definisi lain mengenai algoritma menurut para ahli :<\/p>\n\n\n\n<ol><li>Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masuka menjadi luaran. (Cormen, 1990)<\/li><li>Algoritma adalah deretan instruksi yang jelas untuk memecahkan persoalan, yaitu untuk memperoleh luaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas. (Levitin, 2003)<\/li><\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Karakteristik Algoritma<\/strong><\/h2>\n\n\n\n<p>Adapun beberapa karakteristik yang harus dimiliki algoritma menurut Donald E. Kenuth di dalam <em>Art of Computer Programming<\/em>&nbsp;adalah sebagai berikut :<\/p>\n\n\n\n<ul><li>Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.<\/li><li>Setiap langkah harus didefinisikan dengan tepat dan tidak boleh berarti ganda (ambigu).<\/li><li>Algoritma memiliki nol atau lebih masukan.<\/li><li>Algoritma memiliki nol atau lebih keluaran.<\/li><li>Algoritma harus efektif.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Program dan Pemrograman<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423-300x300.jpg\" alt=\"\" class=\"wp-image-1554\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423-300x300.jpg 300w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423-150x150.jpg 150w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423-768x768.jpg 768w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423-1024x1024.jpg 1024w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/21864184_6502423.jpg 2000w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption>Ilustrasi Pemrograman (Sumber : Freepik)<\/figcaption><\/figure><\/div>\n\n\n\n<p>Komputer adalah mesin yang menjalankan instruksi-instruksi di dalam algoritma. Agar komputer dapat mengerti instruksi tersebut, maka kita harus menuliskannya dalam bahasa yang dapat dimengerti oleh komputer. Algoritma yang ditulis dalam bahasa komputer dinamakan <strong>program<\/strong>. Bahasa komputer yang digunakan untuk menulis program disebut <strong>bahasa pemrograman<\/strong>. Orang yang membuat program disebut <strong>pemrogram<\/strong>&nbsp;(<em>programmer<\/em>) dan kegiatan yang dilakukan tersebut dinamakan <strong>pemrograman<\/strong>&nbsp;(<em>programming<\/em>).<\/p>\n\n\n\n<p>Berikut adalah contoh program sederhana dalam bentuk pseudo-code :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PROGRAM Halo\n{Program yang menerima input &lt;nama> dan mencetak sapaan \u2018Halo &lt;nama>\u2019}\n\nDEKLARASI:\n\tnama : string\n\nALGORITMA:\n\tread(nama)\n\twrite(\u2018Halo \u2019, nama)<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bahasa Pemrograman<\/strong><\/h2>\n\n\n\n<p>Sampai saat ini ada saaaangat banyak bahasa pemrograman yang bisa gunakan. Sebenarnya apapun bahasa pemrograman yang kita pakai sama saja, hanya berbeda di cara penulisannya. Berdasarkan tujuan aplikasinya, bahasa pemrograman bisa dikelompokkan menjadi dua kelompok, yaitu:<\/p>\n\n\n\n<p>Bahasa pemrograman bertujuan khusus:<\/p>\n\n\n\n<ul><li>Cobol (untuk terapan bisnis dan administrasi)<\/li><li>Fortran (aplikasi komputasi ilmiah)<\/li><li>Bahasa assembly (aplikasi pemrograman mesin)<\/li><li>Prolog (aplikasi kecerdasan buatan)<\/li><li>Dsb.<\/li><\/ul>\n\n\n\n<p>Bahasa pemrograman bertujuan umum:<\/p>\n\n\n\n<ul><li>Pascal<\/li><li>C<\/li><li>C++<\/li><li>Java<\/li><li>Dsb.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Notasi Algoritma<\/strong><\/h2>\n\n\n\n<p>Untuk menulis algoritma kita bisa menggunakan salah satu dari notasi yang akan dijelaskan dibawah ini. Mau tahu apa saja notasinya? Berikut beberapa notasi algoritma yang dapat kamu gunakan:<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">1. Menyatakan langkah-langkah algoritma dalam deretan kalimat deskriptif.<\/h6>\n\n\n\n<p>Contoh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PROGRAM Euclidean\n{Diberikan 2 buah bilangan bulat tak-negatif m dan n (m \u2265 n). Algoritma Euclidean mencari pembagi bersama terbesar, gcd, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n}\n\nALGORITMA:\n1.Jika n = 0 maka m adalah jawabannya; stop.\nTetapi jika n \u2260 0, lanjutkan ke langkah 2.\n2.Bagilah m dengan n dan misalkan r adalah sisanya.\n3.Ganti nilai m dengan nilai n dan ganti nilai n dengan nilai r, lalu ulang kembali ke langkah 1.<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">2. Megunakan diagram alir (<em>flowchart<\/em>)<\/h6>\n\n\n\n<p>Contoh flowchart menentukan bilangan genap atau ganjil:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"323\" height=\"539\" src=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/ganjilgenap.png\" alt=\"\" class=\"wp-image-1555\" srcset=\"https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/ganjilgenap.png 323w, https:\/\/imilkom.usu.ac.id\/wp-content\/uploads\/2022\/10\/ganjilgenap-180x300.png 180w\" sizes=\"(max-width: 323px) 100vw, 323px\" \/><figcaption>Flowchart menentukan bilangan ganjil atau genap (Sumber : https:\/\/www.nesabamedia.com\/contoh-flowchart-sederhana\/)<\/figcaption><\/figure><\/div>\n\n\n\n<h6 class=\"wp-block-heading\">3. Menggunakan pseudo-code<\/h6>\n\n\n\n<p>Pseudo-code (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang mirip dengan notasi bahasa pemrograman tingkat tinggi. Untuk lebih memahaminya silahkan lihat contoh di bawah ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PROGRAM HelloWorld\n{Program untuk mencetak tulisan \u2018Hello world!\u2019}\n\nDEKLARASI\n{tidak ada}\n\nALGORITMA\n\twrite(\u2018Hello world!\u2019)<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nah.. kira-kira begitulah pelajaran hari ini. Apakah kamu mengerti? Untuk pelajaran lebih lanjut nantikan artikel berikutnya ya! Kalau ada yang tidak mengerti silahkan komen di kolom bawah ini! See ya \ud83d\ude00<\/p>\n\n\n\n<div style=\"height:95px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Sumber :<\/p>\n\n\n\n<ol><li>Cormen, Thomas H., Leirserson, Charles E., Rivest, Ronald L. (1990). Introduction to Algorithms. McGraw-Hill Book Company.<\/li><li>Levitin, Anany. (2003). Introduction to The Design and Analysis of Algorithms. Addison-Wesley.<\/li><li>Munir, R., &amp; Lidya, L. (2016). Algoritma dan Pemrograman dalam bahasa pascal, C, dan C++.<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Jika kamu tertarik dengan dunia pemrograman pasti kamu tidak asing lagi dengan kata algoritma dan pemrograman. Algoritma dan pemrograman adalah dua kata yang berhubungan sangat erat. Tapi, tahukah kamu apa&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1557,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,3],"tags":[10,14,12,11],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1549"}],"collection":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1549"}],"version-history":[{"count":18,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1549\/revisions"}],"predecessor-version":[{"id":1575,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/posts\/1549\/revisions\/1575"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=\/wp\/v2\/media\/1557"}],"wp:attachment":[{"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imilkom.usu.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}