Algoritma

Algoritma adalah serangkaian langkah atau petunjuk yang menggambarkan cara kita melakukan tugas atau menyelesaikan masalah secara sistematis. Pada dasarnya, algoritma adalah rencana atau panduan yang membantu kita mencapai tujuan tertentu dengan langkah-langkah yang terurut.

Bayangkan algoritma seperti resep untuk memasak makanan. Ketika kita ingin membuat makanan tertentu, kita mengikuti serangkaian langkah yang terstruktur, seperti mencuci bahan, memotong, memasak, dan mencampur bumbu. Begitu juga dalam pemrograman, algoritma memberi tahu komputer langkah-langkah yang harus diikuti untuk menyelesaikan tugas tertentu.

Coba ingat lagi kasus pemindahan mobil dari posisinya menuju kotak yang memiliki bendera yang kita lihat pada topik "Function", sebelum kita menuliskan kode, kita sudah tahu langkah-langkah yang diperlukan yaitu gerak ke kanan 4 kali kemudian ke atas 5 kali. Hal itu kelihatannya sepele, tapi itu merupakan contoh dari sebuah algoritma. Jadi kamu sudah menerapkan algoritma mu sendiri untuk mencapai hasil yang kamu inginkan.

visualisai algoritma

Apakah ada algoritma lain untuk menyelesaikan masalah yang sama di atas? Ya, bisa saja kita pakai cara ke atas dulu, atas 5 kali, baru ke kanan 4 kali.

algoritma atas kanan (algoritma atas baru kanan)

Atau jika kita memungkinkan untuk menggerakkan mobil secara diagonal maka kita hanya perlu bergerak diagonal kanan atas 4 kali, kemudian ke atas 1 kali.

algoritma diagonal (algoritma diagonal)

Efisiensi

Dalam kasus nyata nanti, kita akan dihadapkan pada cara mengefisienkan algoritma yang akan kita pakai untuk mencapai tujuan tertentu.

Misalnya pada contoh di atas, kita memiliki 3 algoritma yang kita sebut:

  • algoritma kanan dulu baru atas
  • algoritma atas dulu baru kanan
  • algoritma diagonal

Dari ketiga algoritma di atas, jika kita diminta untuk menilai algoritma mana yang paling efisien dalam konteks jumlah pemanggilan fungsi / langkah tiap kotak, mana yang paling efisien?

Kita bisa bilang bahwa algoritma yang paling efisien adalah algoritma diagonal, karena secara keseluruhan hanya membutuhkan 5 step, sementara algoritma lainnya sama-sama membutuhkan 9 step.

Tentu ini contoh yang sangat disederhanakan, tapi saya berharap kamu mendapatkan gambaran terkait apa itu algoritma dan seperti untuk apa kita perlu memahaminya, yakni untuk mencari cara mana yang paling efisien dalam mencapai tujuan yang sama.

Karakteristik Algoritma

Algoritma terdiri dari beberapa karakteristik penting:

  1. Input: Langkah pertama adalah menentukan apa yang dibutuhkan oleh algoritma. Seperti resep masakan, kita membutuhkan bahan-bahan tertentu sebelum memulai.

  2. Langkah-langkah: Ini adalah bagian utama algoritma yang menjelaskan langkah-langkah yang harus diambil. Langkah-langkah ini harus jelas dan terurut, seperti instruksi dalam resep.

  3. Output: Ini adalah hasil atau jawaban yang diharapkan setelah mengikuti algoritma. Misalnya, dalam resep makanan, outputnya adalah hidangan yang lezat.

  4. Terseleksi dan Terulang: Algoritma bisa memiliki bagian yang berulang atau bisa memutuskan langkah mana yang harus diambil berdasarkan kondisi tertentu. Ini seperti melakukan tindakan yang sama berulang kali dalam resep atau memilih bahan berdasarkan kondisi.

  5. Solusi yang Efisien: Algoritma sebaiknya memberikan solusi yang efisien dan efektif, menghindari langkah-langkah yang tidak perlu atau berlebihan.

  6. Terminasi: Algoritma harus berakhir dan menghasilkan hasil dalam waktu yang wajar. Ini mirip dengan mengakhiri proses memasak dan menyajikan hidangan.

Dalam dunia pemrograman, algoritma sangat penting karena mereka membantu kita merancang cara mengatasi masalah secara sistematis dan efisien. Ketika kita belajar pemrograman, kita akan mempelajari bagaimana membuat algoritma untuk berbagai tugas, seperti mencari data, mengurutkan daftar, atau menghitung nilai matematika.

⚠️

Sebagai pemula, ketika nanti kamu memutuskan untuk belajar pemrograman dengan bahasa tertentu, tidak perlu terlalu overthinking soal algoritma mana yang terbaik, mana yang paling efisien, fokusmu sebagai pemula adalah menikmati pembelajarannya dan fokus untuk segera menciptakan sesuatu yang konkrit. Soal benar atau salah, terbaik atau terefisien bisa kamu pelajari nanti, setelah kamu luwes dalam hal dasar pemrograman.

Jadi, secara sederhana, algoritma adalah langkah-langkah yang terstruktur untuk menyelesaikan masalah, mirip dengan resep masakan yang membantu kita memasak makanan dengan sukses.


Layanan

Hai, ada 2 cara untuk mendapatkan ilmu terkait Remote Work dari Saya, yaitu:

Privat

Konsultasi 1 on 1

  • Kira-kira 1 jam kamu boleh tanya seputar cara dapat kerja remote work.
  • Kamu boleh kulik apa yang saya praktikan selama ini sehingga bisa dapat klien di Singapura, Amerika, dan bisa masuk Toptal dengan gaji 3 digit.
  • Biaya: 400rb / jam
  • Mekanismenya adalah nanti saya ajukan dulu beberapa pertanyaan yang bisa kamu jawab secara tertulis (sebelum sesi dimulai).

    Dan juga kamu nulis daftar pertanyaan-pertanyaan yang ingin kamu ketahui. Tujuannya supaya lebih paham kondisimu saat ini dan bisa saya berikan saran yang lebih personalized.

    Baru setelah itu masuk sesi Gmeet call.
  • Kalau mau lanjut silahkan booking, kalau tidak lanjut pun gak masalah
Lanjut konsultasi? Silahkan...
atau
Online Course

Menjadi Pekerja Remote Internasional

  • Kumpulan hasil pemikiran saya terkait hal-hal utama sebagai perantara saya bisa menembus kerja remote, dalam bentuk tulisan (dan video)
  • Insight jitu meningkatkan chance job offer
  • Materi terkait apa yang saya praktikan selama ini sehingga bisa dapat klien di Singapura, Amerika, dan bisa masuk Toptal dengan gaji 3 digit.
  • Kumpulan insight dari sesi konsultasi yang saya lakukan selama ini.
  • Investasi: Hanya 447rb*
    *Harga promo
© 2024 Literasikode.
Supported by
Asset 1