{"id":9398,"date":"2023-08-30T03:12:02","date_gmt":"2023-08-29T20:12:02","guid":{"rendered":"https:\/\/man2kulonprogo.sch.id\/m2kp\/?p=9398"},"modified":"2024-08-30T15:39:41","modified_gmt":"2024-08-30T08:39:41","slug":"strategi-algoritmik-dan-pemrograman","status":"publish","type":"post","link":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/","title":{"rendered":"Strategi Algoritmik dan Pemrograman"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Daftar Isi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Pengertian_Algoritma\" >Pengertian Algoritma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Pengertian_Pemrograman\" >Pengertian Pemrograman<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Peran_Algoritma_dalam_Pemrograman\" >Peran Algoritma dalam Pemrograman<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Langkah-Langkah_Pemrograman\" >Langkah-Langkah Pemrograman<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Aplikasi_Pengolah_Program\" >Aplikasi Pengolah Program<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#1_Visual_Studio_Code\" >1. Visual Studio Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#2_PyCharm\" >2. PyCharm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#3_Eclipse\" >3. Eclipse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#4_IntelliJ_IDEA\" >4. IntelliJ IDEA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#5_Sublime_Text\" >5. Sublime Text<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#6_NetBeans\" >6. NetBeans<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#7_Atom\" >7. Atom<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#8_Xcode\" >8. Xcode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#9_Android_Studio\" >9. Android Studio<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#10_Jupyter_Notebook\" >10. Jupyter Notebook<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#11_Dev_C\" >11. Dev C++<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#12_Python_Interpreter\" >12. Python (Interpreter)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Contoh_Kasus_Siklus_Pemrograman\" >Contoh Kasus Siklus Pemrograman<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Mendefinisikan_Permasalahan\" >Mendefinisikan Permasalahan<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Mengidentifikasi_Jenis_Segitiga\" >Mengidentifikasi Jenis Segitiga<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Merancang_Solusi\" >Merancang Solusi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Mengimplementasikan_Solusi_dalam_Bentuk_Program_Coding\" >Mengimplementasikan Solusi dalam Bentuk Program (Coding)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Menguji_Program\" >Menguji Program<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#Solusi\" >Solusi<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Pengertian_Algoritma\"><\/span>Pengertian Algoritma<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\">Algoritma adalah serangkaian instruksi atau langkah-langkah logis yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam pemrograman, algoritma digunakan sebagai panduan untuk memecahkan masalah dengan cara yang sistematis dan terukur. Algoritma bisa diimplementasikan dalam berbagai bahasa pemrograman untuk mengolah data dan menghasilkan output yang diinginkan.<\/p>\n<p>Contoh sederhana algoritma adalah instruksi untuk membuat secangkir teh:<\/p>\n<ol>\n<li>Panaskan air.<\/li>\n<li>Masukkan teh ke dalam cangkir.<\/li>\n<li>Tuangkan air panas ke dalam cangkir.<\/li>\n<li>Tambahkan gula atau susu sesuai selera.<\/li>\n<li>Aduk dan sajikan.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Dalam konteks pemrograman, algoritma bisa mencakup proses seperti pengurutan data, pencarian elemen tertentu dalam sebuah daftar, atau menghitung nilai matematis. Algoritma yang baik harus jelas, efisien, dan dapat diimplementasikan dalam bahasa pemrograman yang relevan.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Pengertian_Pemrograman\"><\/span><span id=\"Pengertian_Pemrograman\"><strong>Pengertian Pemrograman<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\">Pemrograman menurut buku \u201cOxford Dictionary of Computer Science\u201d adalah seluruh aktivitas teknis yang dilakukan untuk menghasilkan suatu program, termasuk analisis kebutuhan dan seluruh langkah desain dan implementasi suatu program.<\/p>\n<p style=\"text-align: justify;\">Pemrograman adalah proses menulis, menguji, dan memelihara kode komputer untuk menciptakan perangkat lunak atau aplikasi. Kode ini ditulis dalam bahasa pemrograman, yang merupakan bahasa khusus yang dapat dimengerti oleh komputer. Pemrograman melibatkan penerjemahan masalah dunia nyata atau kebutuhan tertentu menjadi instruksi yang dapat dijalankan oleh komputer untuk melakukan tugas-tugas yang diinginkan.<\/p>\n<p style=\"text-align: justify;\">Dalam pemrograman, seorang programmer menentukan logika, urutan instruksi, dan cara komputer berinteraksi dengan data untuk menghasilkan output yang sesuai. Proses ini melibatkan berbagai konsep seperti algoritma, struktur data, dan kontrol aliran, serta penggunaan berbagai alat dan lingkungan pengembangan.<\/p>\n<p style=\"text-align: justify;\">Pemrograman adalah inti dari pengembangan perangkat lunak, mencakup segala hal mulai dari aplikasi sederhana seperti kalkulator hingga sistem kompleks seperti perangkat lunak pengolah data, game, atau sistem operasi.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Peran_Algoritma_dalam_Pemrograman\"><\/span>Peran Algoritma dalam Pemrograman<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\">Algoritma berperan penting dalam pemrograman sebagai panduan langkah-langkah logis untuk menyelesaikan masalah atau mencapai tujuan tertentu. Dalam konteks pemrograman, algoritma menentukan bagaimana suatu program harus bertindak untuk mengolah data dan menghasilkan output yang diinginkan. Peran utama algoritma dalam pemrograman meliputi:<\/p>\n<ol style=\"text-align: justify;\">\n<li><strong>Efisiensi<\/strong>: Algoritma yang baik memungkinkan program berjalan lebih cepat dan menggunakan lebih sedikit sumber daya, seperti memori dan prosesor.<\/li>\n<li><strong>Solusi Masalah<\/strong>: Algoritma memberikan solusi sistematis untuk berbagai masalah, dari yang sederhana hingga kompleks, seperti pengurutan data, pencarian, dan pengoptimalan.<\/li>\n<li><strong>Reusability<\/strong>: Algoritma yang sudah teruji dapat digunakan kembali dalam berbagai program atau situasi yang berbeda, mempercepat proses pengembangan perangkat lunak.<\/li>\n<li><strong>Struktur dan Pemahaman<\/strong>: Algoritma membantu programmer memecah masalah besar menjadi bagian-bagian kecil yang lebih mudah dipahami dan diimplementasikan, sehingga program menjadi lebih terstruktur dan mudah untuk dipelihara.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Dengan algoritma yang tepat, programmer dapat memastikan bahwa program yang mereka kembangkan berjalan dengan efisien dan efektif dalam mencapai tujuan yang diinginkan.<\/p>\n<h2><\/h2>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Langkah-Langkah_Pemrograman\"><\/span><span id=\"Langkah-Langkah_Pemrograman\"><strong>Langkah-Langkah Pemrograman<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul style=\"text-align: justify;\" type=\"1\">\n<li>Menganalisis permasalahan (<strong>Analyzing<\/strong>): pemrogram menganalisis suatu kebutuhan atau keadaan saat ini untuk menghasilkan definisi permasalahan yang perlu diselesaikan dengan program. Permasalahan yang dianalisis bisa berupa masalah yang baru atau penyempurnaan dari solusi yang sudah ada. Kemampuan berpikir komputasional digunakan untuk mencari abstraksi dari permasalahan yang akan diselesaikan. Permasalahan yang kompleks dapat didekomposisi ke beberapa masalah yang lebih kecil, namun saling berkaitan. Hingga akhirnya, pemrogram akan mengenali pola permasalahan tersebut sebagai sebuah variasi dari problem generik. Tahap ini menghasilkan pernyataan masalah (problem statement) yang menjelaskan masukan (input), keluaran (output), serta batasan-batasan (constraint) dari program yang akan dibuat.<\/li>\n<li>Mendesain solusi (<strong>Problem Solving<\/strong>): dari pernyataan masalah ini, pemrogram merencanakan strategi untuk menghasilkan keluaran berdasarkan masukan yang diterima. Pemrogram tidak harus merencanakan solusi dari awal. Mereka dapat menggunakan solusi atau potongan solusi yang sudah ada dari permasalahan yang telah diselesaikan sebelumnya. Bahkan, jika problem generik telah ditemukan, pemrogram dapat memodifikasi algoritma generik agar sesuai dengan permasalahan. Proses ini akan menghasilkan algoritma berupa narasi, pseudocode, atau diagram alir. Pada tahap ini, pemrogram juga akan mengevaluasi algoritma yang dibuat untuk memenuhi batasan dari permasalahan. Misalnya, apakah program dapat bekerja dengan cepat (kurang dari 1 detik) saat diberikan masukan yang berukuran besar, karena menunggu membuat pengguna tidak nyaman.<\/li>\n<li>Mengimplementasikan solusi dalam bentuk program (<strong>Coding<\/strong>): Pada tahap ini, pemrogram akan menulis kode program untuk menjalankan solusi yang telah direncanakan sebelumnya dengan menggunakan suatu bahasa pemrograman. Memilih bahasa pemrograman menjadi pertimbangan di tahap ini. Selain itu, mengubah algoritma menjadi kode program juga melibatkan banyak pertimbangan teknis (misalnya: tipe data, struktur kontrol yang digunakan, dan lain-lain).<\/li>\n<li>Menguji program (<strong>Testing<\/strong>): Setelah program dapat dijalankan, program tersebut harus diuji untuk memastikan program berjalan dengan benar, sesuai dengan batasanbatasan yang diberikan. Pengujian dapat dilakukan dengan menggunakan berbagai strategi pengujian. Salah satu yang telah kalian pelajari di Kelas X adalah menguji program menggunakan kasus uji (test case) yang dibuat sedemikan rupa sehingga mewakili seluruh kemungkinan masukan dari program.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Aplikasi_Pengolah_Program\"><\/span>Aplikasi Pengolah Program<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Berikut beberapa aplikasi yang sering digunakan untuk pemrograman, beserta tautan untuk mengunduhnya:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_Visual_Studio_Code\"><\/span>1. <strong>Visual Studio Code<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: Editor kode yang ringan namun kuat, mendukung berbagai bahasa pemrograman dan dilengkapi dengan banyak ekstensi.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_new\" rel=\"noopener\">Download Visual Studio Code<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"2_PyCharm\"><\/span>2. <strong>PyCharm<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE khusus untuk Python, dengan fitur canggih seperti debugging, testing, dan integrasi dengan framework.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/\" target=\"_new\" rel=\"noopener\">Download PyCharm<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"3_Eclipse\"><\/span>3. <strong>Eclipse<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE yang populer untuk pengembangan Java, namun juga mendukung berbagai bahasa lain melalui plugin.<\/li>\n<li><strong>Link<\/strong>: <a target=\"_new\" rel=\"noopener\">Download Eclipse<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"4_IntelliJ_IDEA\"><\/span>4. <strong>IntelliJ IDEA<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE yang kuat untuk pengembangan Java, namun juga mendukung banyak bahasa lain seperti Kotlin, Scala, dan Python.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/www.jetbrains.com\/idea\/download\/\" target=\"_new\" rel=\"noopener\">Download IntelliJ IDEA<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"5_Sublime_Text\"><\/span>5. <strong>Sublime Text<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: Editor kode yang cepat dan elegan, mendukung banyak bahasa pemrograman dan dapat disesuaikan dengan plugin.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/www.sublimetext.com\/\" target=\"_new\" rel=\"noopener\">Download Sublime Text<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"6_NetBeans\"><\/span>6. <strong>NetBeans<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE yang mendukung pengembangan aplikasi Java, HTML5, PHP, dan C\/C++ dengan antarmuka yang mudah digunakan.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/netbeans.apache.org\/download\/index.html\" target=\"_new\" rel=\"noopener\">Download NetBeans<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"7_Atom\"><\/span>7. <strong>Atom<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: Editor kode yang dapat disesuaikan, mendukung berbagai bahasa pemrograman, dan memiliki komunitas yang aktif.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/atom.io\/\" target=\"_new\" rel=\"noopener\">Download Atom<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"8_Xcode\"><\/span>8. <strong>Xcode<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE khusus untuk pengembangan aplikasi di ekosistem Apple, termasuk macOS dan iOS.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_new\" rel=\"noopener\">Download Xcode<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"9_Android_Studio\"><\/span>9. <strong>Android Studio<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE resmi untuk pengembangan aplikasi Android, dilengkapi dengan emulator dan alat pengembangan Android lainnya.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/developer.android.com\/studio\" target=\"_new\" rel=\"noopener\">Download Android Studio<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"10_Jupyter_Notebook\"><\/span>10. <strong>Jupyter Notebook<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: Alat interaktif untuk menulis dan menjalankan kode Python, populer di kalangan ilmuwan data dan pengembang AI\/ML.<\/li>\n<li><strong>Link<\/strong>: <a target=\"_new\" rel=\"noopener\">Download Jupyter Notebook<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"11_Dev_C\"><\/span>11. <strong>Dev C++<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: IDE yang sederhana dan ringan, khusus untuk pemrograman C dan C++. Cocok untuk pemula maupun pengembang yang membutuhkan alat cepat dan efisien.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/sourceforge.net\/projects\/orwelldevcpp\/files\/latest\/download\" target=\"_blank\" rel=\"noopener\">Download Dev C++<\/a><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"12_Python_Interpreter\"><\/span>12. <strong>Python (Interpreter)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Deskripsi<\/strong>: Python adalah bahasa pemrograman tingkat tinggi yang terkenal dengan sintaksis yang sederhana dan kemampuannya untuk mendukung berbagai aplikasi, mulai dari pengembangan web hingga ilmu data.<\/li>\n<li><strong>Link<\/strong>: <a href=\"https:\/\/www.python.org\/downloads\/\" target=\"_new\" rel=\"noopener\">Download Python<\/a><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Python dapat diintegrasikan dengan berbagai IDE atau editor kode seperti PyCharm, Visual Studio Code, dan lainnya untuk pengembangan yang lebih produktif.<\/p>\n<p>Setiap aplikasi ini memiliki fitur unik yang membuatnya cocok untuk tugas pemrograman tertentu. Pilihlah yang sesuai dengan kebutuhan dan preferensi bahasa pemrograman yang digunakan.<\/p>\n<p>&nbsp;<\/p>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Contoh_Kasus_Siklus_Pemrograman\"><\/span><span id=\"Contoh_Kasus_Siklus_Pemrograman\"><strong>Contoh Kasus Siklus Pemrograman<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\">Selanjutnya mari kita coba lakukan keempat langkah tersebut untuk membuat sebuah program yang dapat membantu seseorang mengidentifikasi jenis segitiga berdasarkan panjang ketiga sisinya. Seperti kita ketahui, ada beberapa jenis segitiga berdasarkan kondisi panjang masing-masing sisinya, misalnya segitiga sama sisi, segitiga sama kaki, atau pun segitiga sembarang. Bayangkan sebuah program yang dapat menentukan apakah sebuah segitiga termasuk segitiga sama kaki, sama sisi, atau bukan keduanya, jika diberikan data berupa ketiga panjang sisi-sisi dari segitiga yang dimaksud. Misalnya jika diberikan masukan berupa panjang sisi-sisi: 2, 2 dan 3, maka program tersebut tentunya harus menghasilkan keluaran \u201csegitiga sama kaki\u201d.<\/p>\n<div class=\"d8aa0768fe1dfa3a077cee5f68044f79\" style=\"text-align: justify;\" data-index=\"4\">\n<div id=\"0b0805c2460fd34756c326458f1642af\"><\/div>\n<\/div>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Mendefinisikan_Permasalahan\"><\/span><span id=\"Mendefinisikan_Permasalahan\">Mendefinisikan Permasalahan<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Deskripsi di atas sangat abstrak dan luas. Oleh karena itu, sebagai pemrogram kita perlu mendefinisikan ruang lingkup dari permasalahan yang diberikan. Pada pengembangan perangkat lunak, ruang lingkup tersebut disebut sebagai kebutuhan (requirement). Definisi ini perlu dibuat dengan baik karena pengecekan kebenaran program yang kita buat akan bergantung pada definisi permasalahan yang telah dibuat. Untuk menggali requirement, kalian dapat bertanya kepada pembuat soal, kepada guru, atau kepada orang-orang yang nantinya akan menggunakan program kalian.<\/p>\n<div class=\"d8aa0768fe1dfa3a077cee5f68044f79\" style=\"text-align: justify;\" data-index=\"2\">\n<div id=\"1b12189170921fa4ac5414db98f542de\"><\/div>\n<\/div>\n<p style=\"text-align: justify;\">Misalnya pada deskripsi mengidentifikasi jenis segitiga di atas, kita perlu mencari jawaban dari beberapa pertanyaan berikut: (a) Bagaimana caranya mengidentifikasi apakah data panjang sisisisi tersebut menunjukkan sisi sebuah segitiga? (karena bisa jadi tidak ada segitiga yang memiliki panjang sisi-sisi sebagaimana data yang diberikan) (b) Bagaimana menentukan jenis segitiga dari panjang sisi-sisinya? (c) Jenis segitiga apa saja yang harus kita identifikasi (misalnya: apakah kita harus bisa mengidentifikasi segitiga siku-siku?) (d) Batasan seperti apa yang harus dipenuhi oleh data masukan? (e) keluaran seperti apa yang harus diberikan oleh program? dan seterusnya. Setelah pertanyaan-pertanyaan tersebut terjawab, kalian dapat membuat definisi permasalahan yang lebih formal. Contoh berikut dapat menjadi salah satu cara untuk mendefinisikan permasalahan ini setelah kalian mendapatkan jawaban dari pertanyaan-pertanyaan di atas.<\/p>\n<h4 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Mengidentifikasi_Jenis_Segitiga\"><\/span><span id=\"Mengidentifikasi_Jenis_Segitiga\">Mengidentifikasi Jenis Segitiga<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p style=\"text-align: justify;\">Deskripsi: Diberikan tiga buah bilangan bulat yang berada pada rentang [1, 1000] yang merupakan panjang sisi dari sebuah segitiga. Identifikasi apakah ketiga sisi tersebut membentuk segitiga sama sisi, atau segitiga sama kaki, segitiga sembarang, atau tidak bisa membentuk segitiga!<\/p>\n<p style=\"text-align: justify;\">Masukan: Masukan terdiri atas tiga bilangan bulat a, b, dan c yang merupakan panjang masing-masing sisi segitiga pada rentang [1, 1000].<\/p>\n<div class=\"d8aa0768fe1dfa3a077cee5f68044f79\" style=\"text-align: justify;\" data-index=\"5\">\n<div id=\"9f7a84b2111e0f72879943df86f3742c\"><\/div>\n<\/div>\n<p style=\"text-align: justify;\">Proses: Dari masukan yang diberikan, kita harus menentukan terlebih dahulu, apakah ada segitiga dengan panjang sisi-sisi a, b dan c. Jika tidak ada, maka program dapat berhenti dan melaporkan bahwa data masukan tidak menunjukkan sisi-sisi sebuah segitiga. Jika ternyata a, b dan c merupakan sisi-sisi sebuah segitiga, maka program harus menentukan jenis segitiga apakah yang memiliki panjang sisi-sisi a, b dan c tersebut.<\/p>\n<p style=\"text-align: justify;\">Keluaran: Keluaran berupa teks sebagai berikut ini:<\/p>\n<ul style=\"text-align: justify;\" type=\"a\">\n<li>\u201cSegitiga Sama Sisi\u201d jika masukan berupa segitiga sama sisi.<\/li>\n<li>\u201cSegitiga Sama Kaki\u201d jika masukan berupa segitiga sama kaki.<\/li>\n<li>\u201cSegitiga Sembarang\u201d jika masukan berupa segitiga sembarang.<\/li>\n<li>\u201cBukan Segitiga\u201d jika masukan bukan berupa segitiga.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Merancang_Solusi\"><\/span><span id=\"Merancang_Solusi\">Merancang Solusi <\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Setelah definisi persoalan (masukan, proses, keluaran) dibuat seperti di atas. Selanjutnya kalian akan mencoba menyusun algoritma untuk menyelesaikan permasalahan tersebut. Pertama-tama, untuk menentukan apakah ada segitiga yang memiliki sisi-sisi dengan panjang sesuai masukan, yaitu a, b dan c, maka nilai-nilai tersebut haruslah memenuhi aturan \u201cTeorema Pertidaksamaan Segitiga\u201d berikut:<\/p>\n<p style=\"text-align: justify;\">\u201cUntuk semua segitiga dengan panjang a, b dan c, maka haruslah berlaku a + b &gt; c\u201d<\/p>\n<p style=\"text-align: justify;\">Jika kita terjemahkan teorema di atas untuk sebarang masukan a, b, dan c, kita harus memeriksa 3 buah kondisi berikut:<\/p>\n<ul style=\"text-align: justify;\" type=\"a\">\n<li>a + b &gt; c<\/li>\n<li>a + c &gt; b<\/li>\n<li>b + c &gt; a<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Ketiga kondisi tersebut harus terpenuhi, agar a, b dan c dapat membentuk segitiga. Dengan kata lain, jika setidaknya salah satu kondisi tersebut tidak dipenuhi, maka ketiga sisi tersebut tidak bisa membentuk segitiga. Jika hal ini terjadi, program dapat melaporkan hasil ini dan kemudian langsung berhenti.<\/p>\n<p style=\"text-align: justify;\">Jika tidak, berarti a, b dan c memang benar merupakan sisisisi sebuah segitiga, dan program dapat mengidentifikasi jenis segitiga yang sesuai. Selanjutnya, untuk mengidentifikasi jenis segitiga, kita dapat merancang aturan-aturan sebagai berikut:<\/p>\n<ul style=\"text-align: justify;\" type=\"a\">\n<li>Jika tiga panjang sisi sama, maka segitiga tersebut adalah sama sisi;<\/li>\n<li>Jika hanya dua panjang sisi sama, maka segitiga tersebut sama kaki;<\/li>\n<li>Jika ketiga panjang sisi berbeda, maka segitiga tersebut adalah segitiga sembarang.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Mengimplementasikan_Solusi_dalam_Bentuk_Program_Coding\"><\/span><span id=\"Mengimplementasikan_Solusi_dalam_Bentuk_Program_Coding\">Mengimplementasikan Solusi dalam Bentuk Program (Coding)<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Selanjutnya, kalian dapat mengimplementasikan algoritma tersebut ke dalam suatu program komputer. Misalnya, kita dapat mencoba implementasikan dalam bahasa pemrograman C. Tentunya, kalian juga dapat menuliskan algoritma di atas dalam bahasa pemrograman lainnya yang telah kalian pelajari seperti Python, atau bahkan menggunakan pemrograman blok.<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Menguji_Program\"><\/span><span id=\"Menguji_Program\">Menguji Program<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: justify;\">Setelah program selesai, kita perlu menguji kebenaran program tersebut. Ada banyak metode formal untuk menguji suatu program, namun yang akan dicontohkan adalah menguji program menggunakan kasus uji seperti yang telah diberikan di Kelas X<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Solusi\"><\/span>Solusi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>Aplikasi program editor: Dev-C++ <a href=\"https:\/\/sourceforge.net\/projects\/orwelldevcpp\/files\/latest\/download\"><strong><span style=\"color: #0000ff;\">Download disini<\/span><\/strong><\/a><\/li>\n<li>Kode Program:<\/li>\n<\/ol>\n<pre style=\"padding-left: 40px;\"><code class=\"!whitespace-pre hljs language-cpp\"><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n<span class=\"hljs-keyword\">using<\/span> <span class=\"hljs-keyword\">namespace<\/span> std;\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    <span class=\"hljs-type\">int<\/span> a, b, c;\r\n\r\n    cout &lt;&lt; <span class=\"hljs-string\">\"Masukkan panjang sisi a: \"<\/span>;\r\n    cin &gt;&gt; a;\r\n    cout &lt;&lt; <span class=\"hljs-string\">\"Masukkan panjang sisi b: \"<\/span>;\r\n    cin &gt;&gt; b;\r\n    cout &lt;&lt; <span class=\"hljs-string\">\"Masukkan panjang sisi c: \"<\/span>;\r\n    cin &gt;&gt; c;\r\n\r\n    <span class=\"hljs-keyword\">if<\/span> (a + b &gt; c &amp;&amp; a + c &gt; b &amp;&amp; b + c &gt; a) {\r\n        <span class=\"hljs-keyword\">if<\/span> (a == b &amp;&amp; b == c) {\r\n            cout &lt;&lt; <span class=\"hljs-string\">\"Segitiga Sama Sisi\"<\/span> &lt;&lt; endl;\r\n        } <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (a == b || a == c || b == c) {\r\n            cout &lt;&lt; <span class=\"hljs-string\">\"Segitiga Sama Kaki\"<\/span> &lt;&lt; endl;\r\n        } <span class=\"hljs-keyword\">else<\/span> {\r\n            cout &lt;&lt; <span class=\"hljs-string\">\"Segitiga Sembarang\"<\/span> &lt;&lt; endl;\r\n        }\r\n    } <span class=\"hljs-keyword\">else<\/span> {\r\n        cout &lt;&lt; <span class=\"hljs-string\">\"Bukan Segitiga\"<\/span> &lt;&lt; endl;\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n\r\nSelamat Belajar.<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Pengertian Algoritma Algoritma adalah serangkaian instruksi atau langkah-langkah logis yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam pemrograman, algoritma digunakan sebagai panduan untuk memecahkan masalah dengan cara yang sistematis dan terukur. Algoritma bisa diimplementasikan dalam berbagai bahasa pemrograman untuk mengolah data dan menghasilkan output yang diinginkan. Contoh sederhana algoritma adalah instruksi untuk &hellip;<\/p>\n","protected":false},"author":2,"featured_media":9399,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1588],"tags":[],"class_list":["post-9398","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-informatika-kelas-xi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO\" \/>\n<meta property=\"og:description\" content=\"Pengertian Algoritma Algoritma adalah serangkaian instruksi atau langkah-langkah logis yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam pemrograman, algoritma digunakan sebagai panduan untuk memecahkan masalah dengan cara yang sistematis dan terukur. Algoritma bisa diimplementasikan dalam berbagai bahasa pemrograman untuk mengolah data dan menghasilkan output yang diinginkan. Contoh sederhana algoritma adalah instruksi untuk &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/\" \/>\n<meta property=\"og:site_name\" content=\"MAN 2 KULON PROGO\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-29T20:12:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-30T08:39:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"744\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zuli Irawanto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zuli Irawanto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/\"},\"author\":{\"name\":\"Zuli Irawanto\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#\\\/schema\\\/person\\\/dcbaf205f3c77a2325704cd35b1d0b2b\"},\"headline\":\"Strategi Algoritmik dan Pemrograman\",\"datePublished\":\"2023-08-29T20:12:02+00:00\",\"dateModified\":\"2024-08-30T08:39:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/\"},\"wordCount\":1821,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/programming-skills.png\",\"articleSection\":[\"Informatika Kelas XI\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/\",\"name\":\"Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/programming-skills.png\",\"datePublished\":\"2023-08-29T20:12:02+00:00\",\"dateModified\":\"2024-08-30T08:39:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#primaryimage\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/programming-skills.png\",\"contentUrl\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/programming-skills.png\",\"width\":1200,\"height\":744},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/2023\\\/08\\\/30\\\/strategi-algoritmik-dan-pemrograman\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Beranda\",\"item\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Strategi Algoritmik dan Pemrograman\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#website\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/\",\"name\":\"MAN 2 KULON PROGO\",\"description\":\"Terwujudnya Insan yang Berakhlak Mulia, Unggul, Terampil, Inovatif, dan Berwawasan Lingkungan, Bebas dari Korupsi dan Bersih Melayani\",\"publisher\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#organization\",\"name\":\"MAN 2 KULON PROGO\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/logo.png\",\"width\":692,\"height\":748,\"caption\":\"MAN 2 KULON PROGO\"},\"image\":{\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/#\\\/schema\\\/person\\\/dcbaf205f3c77a2325704cd35b1d0b2b\",\"name\":\"Zuli Irawanto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g\",\"caption\":\"Zuli Irawanto\"},\"description\":\"Guru di MAN 2 KULON PROGO.\",\"url\":\"https:\\\/\\\/man2kulonprogo.sch.id\\\/m2kp\\\/author\\\/irawan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/","og_locale":"id_ID","og_type":"article","og_title":"Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO","og_description":"Pengertian Algoritma Algoritma adalah serangkaian instruksi atau langkah-langkah logis yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam pemrograman, algoritma digunakan sebagai panduan untuk memecahkan masalah dengan cara yang sistematis dan terukur. Algoritma bisa diimplementasikan dalam berbagai bahasa pemrograman untuk mengolah data dan menghasilkan output yang diinginkan. Contoh sederhana algoritma adalah instruksi untuk &hellip;","og_url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/","og_site_name":"MAN 2 KULON PROGO","article_published_time":"2023-08-29T20:12:02+00:00","article_modified_time":"2024-08-30T08:39:41+00:00","og_image":[{"width":1200,"height":744,"url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png","type":"image\/png"}],"author":"Zuli Irawanto","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"Zuli Irawanto","Estimasi waktu membaca":"7 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#article","isPartOf":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/"},"author":{"name":"Zuli Irawanto","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#\/schema\/person\/dcbaf205f3c77a2325704cd35b1d0b2b"},"headline":"Strategi Algoritmik dan Pemrograman","datePublished":"2023-08-29T20:12:02+00:00","dateModified":"2024-08-30T08:39:41+00:00","mainEntityOfPage":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/"},"wordCount":1821,"commentCount":1,"publisher":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#organization"},"image":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#primaryimage"},"thumbnailUrl":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png","articleSection":["Informatika Kelas XI"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/","name":"Strategi Algoritmik dan Pemrograman - MAN 2 KULON PROGO","isPartOf":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#primaryimage"},"image":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#primaryimage"},"thumbnailUrl":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png","datePublished":"2023-08-29T20:12:02+00:00","dateModified":"2024-08-30T08:39:41+00:00","breadcrumb":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#primaryimage","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png","contentUrl":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2023\/08\/programming-skills.png","width":1200,"height":744},{"@type":"BreadcrumbList","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/30\/strategi-algoritmik-dan-pemrograman\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Beranda","item":"https:\/\/man2kulonprogo.sch.id\/m2kp\/"},{"@type":"ListItem","position":2,"name":"Strategi Algoritmik dan Pemrograman"}]},{"@type":"WebSite","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#website","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/","name":"MAN 2 KULON PROGO","description":"Terwujudnya Insan yang Berakhlak Mulia, Unggul, Terampil, Inovatif, dan Berwawasan Lingkungan, Bebas dari Korupsi dan Bersih Melayani","publisher":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/man2kulonprogo.sch.id\/m2kp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#organization","name":"MAN 2 KULON PROGO","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#\/schema\/logo\/image\/","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2020\/12\/logo.png","contentUrl":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-content\/uploads\/2020\/12\/logo.png","width":692,"height":748,"caption":"MAN 2 KULON PROGO"},"image":{"@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/man2kulonprogo.sch.id\/m2kp\/#\/schema\/person\/dcbaf205f3c77a2325704cd35b1d0b2b","name":"Zuli Irawanto","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/secure.gravatar.com\/avatar\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3f830d7c6836a9da14f30b8a33fbfabe229117b5f8767139a3688aa74e6b4630?s=96&d=identicon&r=g","caption":"Zuli Irawanto"},"description":"Guru di MAN 2 KULON PROGO.","url":"https:\/\/man2kulonprogo.sch.id\/m2kp\/author\/irawan\/"}]}},"_links":{"self":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts\/9398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/comments?post=9398"}],"version-history":[{"count":2,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts\/9398\/revisions"}],"predecessor-version":[{"id":13255,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts\/9398\/revisions\/13255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/media\/9399"}],"wp:attachment":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/media?parent=9398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/categories?post=9398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/tags?post=9398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}