Contoh Algoritma: Sehari-hari, Pseudocode, dan Pemrograman

Algoritma bukan hanya istilah untuk programmer. Saat kamu menentukan urutan memasak, memeriksa apakah sebuah angka genap, atau mencari nama dalam daftar, kamu sebenarnya sedang memakai langkah pemecahan masalah yang dapat disusun sebagai algoritma. Perbedaannya, algoritma yang baik menjelaskan apa yang harus dilakukan, dalam urutan apa, dan kapan proses selesai tanpa menyisakan instruksi yang membingungkan.

Artikel ini berfokus pada contoh algoritma yang bisa langsung dipraktikkan, mulai dari kegiatan sehari-hari, perhitungan sederhana, percabangan, perulangan, pengurutan, hingga rekursi. Untuk pembahasan definisi dan klasifikasi secara lebih luas, kamu juga bisa membaca pengertian dan jenis-jenis algoritma di Aikerja.

Apa Itu Algoritma dan Apa Bedanya dengan Program?

Algoritma adalah rangkaian langkah yang ditentukan dengan jelas untuk mencapai suatu hasil. Menurut kamus algoritma dari National Institute of Standards and Technology (NIST), inti algoritma adalah langkah-langkah yang dapat dikerjakan untuk memperoleh hasil yang diinginkan. Algoritma dapat dijelaskan menggunakan kalimat, daftar bernomor, diagram alir, atau pseudocode sebelum ditulis menjadi program.

Program adalah implementasi instruksi dalam bahasa yang dapat dijalankan komputer, sedangkan algoritma adalah metode pemecahan masalahnya. Satu algoritma dapat diterapkan dalam berbagai bahasa pemrograman. Misalnya, cara memeriksa angka ganjil-genap sama secara konsep meskipun kodenya ditulis dalam Python, JavaScript, atau bahasa lain. Jika kamu baru mulai belajar, kenali pula pengertian bahasa pemrograman dan cara kerja perangkat lunak.

Ciri langkah algoritma yang mudah diuji

  • Masukan jelas: data yang diperlukan disebutkan, misalnya alas dan tinggi segitiga.
  • Proses terdefinisi: instruksi tidak bergantung pada tebakan pembaca.
  • Keluaran bisa diperiksa: hasilnya dapat dibandingkan dengan jawaban yang benar.
  • Berakhir: ada kondisi selesai; perulangan tidak berjalan tanpa batas.
  • Menangani kasus khusus: input kosong, nol, atau tidak valid dipikirkan sejak awal.

Contoh Algoritma dalam Kehidupan Sehari-hari

1. Menyiapkan minuman hangat

Contoh paling dekat adalah menyiapkan minuman: siapkan gelas dan bahan, panaskan air dengan aman, masukkan bahan sesuai takaran, tuangkan air, aduk, lalu sajikan. Langkahnya berurutan dan punya titik selesai. Namun instruksi “buat sampai enak” bukan algoritma yang cukup jelas karena setiap orang bisa menafsirkannya berbeda.

Dalam sistem digital, logika serupa dipakai untuk menyusun prosedur kerja dan pembagian tugas: siapa melakukan apa, kapan memeriksa hasil, dan tindakan apa yang diambil jika terjadi kesalahan.

2. Memilih rute perjalanan

Masukkan lokasi awal dan tujuan, daftar rute yang mungkin, serta kriteria seperti waktu tempuh atau jarak. Sistem kemudian membandingkan pilihan yang memenuhi syarat dan menampilkan rute. Dalam praktiknya, aplikasi navigasi juga harus mempertimbangkan informasi jalan yang tersedia, sehingga hasilnya bisa berubah ketika data lalu lintas diperbarui. Algoritma pemilihan rute bukan jaminan bahwa kondisi perjalanan selalu sama.

3. Menentukan prioritas pekerjaan

Catat tugas, tenggat, tingkat kepentingan, dan perkiraan waktu pengerjaan. Urutkan berdasarkan aturan yang dipilih, misalnya tugas mendesak dan penting lebih dahulu. Tinjau kembali jika ada tugas baru. Ini contoh algoritma pengambilan keputusan sederhana; aturan prioritasnya perlu disesuaikan dengan tujuan, bukan dianggap satu-satunya metode yang benar.

See also  Cadangan Likuiditas

Contoh Algoritma Matematika: Menghitung Luas Segitiga

Untuk segitiga, rumus luas adalah setengah hasil kali alas dan tinggi yang tegak lurus terhadap alas. Agar bisa dipakai, algoritma perlu meminta dua angka dan memastikan nilainya masuk akal.

  1. Mulai dan minta nilai alas dalam sentimeter.
  2. Minta tinggi yang tegak lurus terhadap alas dalam sentimeter.
  3. Periksa bahwa kedua input merupakan angka dan tidak negatif.
  4. Hitung luas = alas × tinggi ÷ 2.
  5. Tampilkan hasil dalam sentimeter persegi, lalu selesai.

Contoh perhitungan: alas 12 cm dan tinggi 8 cm menghasilkan luas 12 × 8 ÷ 2 = 48 cm². Jika salah satu input tidak valid, tampilkan pesan kesalahan alih-alih angka yang menyesatkan. Pendekatan langkah demi langkah ini juga membantu saat mengerjakan soal barisan dan deret.

Contoh Algoritma Percabangan: Ganjil atau Genap

Percabangan berarti langkah berikutnya bergantung pada kondisi tertentu. Bilangan bulat genap memiliki sisa bagi nol saat dibagi dua. Jika sisanya bukan nol, bilangan itu ganjil.

MULAI
BACA bilangan_bulat
JIKA bilangan_bulat MOD 2 = 0
    TULIS "Genap"
SELAIN ITU
    TULIS "Ganjil"
SELESAI

Misalnya, 18 MOD 2 = 0 sehingga hasilnya genap; 19 MOD 2 = 1 sehingga hasilnya ganjil. Pengecekan hanya berlaku setelah masukan dipastikan sebagai bilangan bulat. Logika kondisi yang sama dapat dipelajari lewat contoh fungsi IF di Excel, meskipun sintaks Excel berbeda dari pseudocode.

Penerapan percabangan pada validasi formulir

Bayangkan formulir pendaftaran: jika kolom wajib kosong, tampilkan pesan untuk melengkapinya; jika semua kolom valid, lanjutkan proses. Di sini kondisi menentukan jalur tindakan. Validasi di tampilan saja belum cukup untuk aplikasi nyata: sistem juga harus memeriksa data di sisi server sebelum menyimpan informasi.

Contoh Algoritma Perulangan: Menghitung Total Belanja

Perulangan digunakan ketika satu tindakan harus diterapkan pada beberapa data. Untuk menghitung total belanja, siapkan daftar harga dan jumlah barang, lalu kunjungi setiap item satu per satu.

  1. Set total awal menjadi nol.
  2. Untuk setiap item, hitung harga satuan dikalikan jumlah.
  3. Tambahkan subtotal item ke total.
  4. Setelah semua item diproses, tampilkan total dan selesai.

Contoh: dua buku masing-masing Rp25.000 dan tiga pensil masing-masing Rp5.000 menghasilkan Rp50.000 + Rp15.000 = Rp65.000, sebelum diskon atau ongkir. Dalam spreadsheet, proses penjumlahan bisa dibantu fungsi SUM, sementara COUNTIF berguna untuk menghitung data yang memenuhi syarat.

Kapan perulangan harus berhenti?

Perulangan dapat selesai setelah seluruh daftar dibaca atau ketika kondisi penghentian terpenuhi. Kesalahan umum adalah membuat kondisi yang tidak pernah berubah, sehingga program terus berjalan. Sebelum menulis kode, tentukan dengan jelas variabel yang diperbarui dan syarat berhentinya.

Contoh Algoritma Pengurutan Angka

Misalnya daftar angka adalah 7, 2, 9, 4 dan kita ingin urutan naik. Salah satu cara untuk belajar adalah bubble sort: bandingkan dua angka yang bersebelahan, tukar jika urutannya salah, lalu ulangi sampai tidak ada pertukaran.

  1. Bandingkan 7 dengan 2; tukar sehingga menjadi 2, 7, 9, 4.
  2. Bandingkan 7 dengan 9; biarkan.
  3. Bandingkan 9 dengan 4; tukar menjadi 2, 7, 4, 9.
  4. Ulangi putaran: 7 dan 4 bertukar, menghasilkan 2, 4, 7, 9.
  5. Jika satu putaran penuh tidak membutuhkan pertukaran, selesai.
See also  Bank Sekunder

Bubble sort mudah dipahami, tetapi pada daftar besar biasanya kurang efisien dibanding metode lain. Materi algoritma dari Khan Academy juga membahas selection sort, merge sort, dan quick sort. Memilih algoritma yang tepat bergantung pada jumlah data, kebutuhan memori, dan karakteristik input.

Mencari data: pencarian linear dan biner

Pencarian linear memeriksa item satu per satu sampai ketemu atau sampai daftar habis. Pencarian biner membagi ruang pencarian menjadi dua pada setiap langkah, tetapi membutuhkan data yang sudah diurutkan menurut kriteria yang sama. Jangan memakai pencarian biner pada daftar acak tanpa menyiapkan urutannya terlebih dahulu.

Contoh Algoritma Rekursif

Rekursi adalah teknik ketika fungsi menyelesaikan masalah dengan memanggil dirinya sendiri untuk kasus yang lebih kecil. Setiap rekursi harus mempunyai base case, yaitu kondisi berhenti. Tanpa kondisi tersebut, pemanggilan bisa terus berulang sampai batas sistem terlampaui.

Contoh klasik adalah faktorial bilangan bulat tak negatif: 4! = 4 × 3 × 2 × 1 = 24, sedangkan 0! = 1. Aturannya dapat ditulis sebagai n! = n × (n−1)! untuk n lebih besar dari nol.

FAKTORIAL(n):
    JIKA n = 0
        KEMBALIKAN 1
    SELAIN ITU
        KEMBALIKAN n * FAKTORIAL(n - 1)

Contoh ini ditujukan untuk n bilangan bulat tak negatif. Dalam implementasi nyata, periksa tipe dan rentang input; pada nilai sangat besar, pendekatan iteratif bisa lebih praktis karena pemanggilan rekursif memakai ruang tumpukan.

Bagaimana Menulis Algoritma dengan Pseudocode dan Flowchart?

Pseudocode adalah cara menjelaskan proses menggunakan struktur yang menyerupai kode tanpa terikat sintaks satu bahasa. Flowchart menggunakan bentuk dan panah untuk menunjukkan alur, keputusan, serta titik mulai dan selesai. Keduanya berguna saat berdiskusi dengan tim sebelum membangun aplikasi.

Langkah menyusun algoritma sendiri

  1. Rumuskan masalah dan hasil yang diharapkan dalam satu atau dua kalimat.
  2. Tentukan input, batasan, serta contoh data normal dan tidak normal.
  3. Tulis urutan langkah dari awal hingga akhir.
  4. Tambahkan percabangan dan perulangan hanya ketika memang diperlukan.
  5. Uji dengan contoh sederhana, kasus tepi, dan input yang tidak valid.
  6. Bandingkan beberapa pendekatan jika proses harus menangani banyak data.

Untuk memetakan ide sebelum menulis pseudocode, aplikasi mind mapping bisa membantu. Saat algoritma siap diterapkan menjadi kode, kamu dapat memilih text editor untuk programmer dan meninjau buku pengantar coding untuk latihan pemula.

Bagaimana Mengukur Efisiensi Algoritma?

Algoritma yang benar belum tentu menjadi pilihan paling hemat sumber daya. Dua pendekatan bisa menghasilkan jawaban sama, tetapi membutuhkan jumlah langkah atau memori berbeda ketika input membesar. Analisis kompleksitas membantu membandingkan pertumbuhan kebutuhan sumber daya tanpa terpaku pada satu perangkat.

  • O(1): jumlah operasi tidak bertambah seiring banyaknya data, misalnya mengambil elemen array berdasarkan indeks pada model akses acak.
  • O(n): pekerjaan bertambah sebanding dengan jumlah data, seperti memeriksa setiap item sekali.
  • O(log n): ruang pencarian berkurang secara bertahap, seperti pencarian biner pada data terurut.
  • O(n²): pada beberapa metode pengurutan sederhana, jumlah perbandingan dapat bertumbuh kuadratis dalam kasus buruk.
See also  Transaksi Pendapatan

Notasi Big O menggambarkan batas atas pertumbuhan, bukan waktu pasti dalam detik. Performa sesungguhnya juga dipengaruhi implementasi, perangkat, dan sifat data. Konsep ini penting dalam pengembangan kecerdasan buatan dan pengolahan serta visualisasi data, meskipun kedua bidang memakai banyak teknik lain di luar contoh dasar ini.

Kesalahan Umum Saat Belajar Algoritma

  • Melompat langsung ke kode: masalah belum dipahami, tetapi sintaks sudah ditulis. Buat contoh input-output dahulu.
  • Mengabaikan kondisi berhenti: perulangan atau rekursi tidak pernah selesai. Tambahkan dan uji syarat akhir.
  • Tidak memvalidasi masukan: program gagal pada input kosong, teks, atau angka di luar rentang.
  • Menilai hanya dari satu contoh: uji juga angka nol, daftar kosong, nilai duplikat, dan data besar.
  • Menganggap satu algoritma selalu terbaik: pendekatan yang tepat bergantung pada kebutuhan dan ukuran data.

Kemampuan memecah masalah menjadi langkah yang dapat diuji juga termasuk keterampilan yang bermanfaat di luar pekerjaan teknis. Baca pula pembahasan hard skill dan soft skill untuk memahami bagaimana keterampilan teknis dan komunikasi saling melengkapi.

FAQ tentang Contoh Algoritma

Apakah algoritma harus dibuat dengan bahasa pemrograman?

Tidak. Algoritma dapat ditulis sebagai daftar langkah, pseudocode, atau flowchart. Bahasa pemrograman dibutuhkan saat langkah itu hendak dijalankan oleh komputer.

Apa contoh algoritma paling mudah untuk pemula?

Menghitung luas segitiga dan menentukan ganjil-genap cocok sebagai latihan awal karena input, rumus, keputusan, dan hasilnya mudah diperiksa.

Apakah semua algoritma menggunakan perulangan?

Tidak. Ada algoritma yang cukup menjalankan langkah berurutan atau satu percabangan. Perulangan dipakai jika memang ada tindakan yang perlu diulang.

Apa perbedaan rekursi dan perulangan?

Rekursi menyelesaikan submasalah melalui pemanggilan fungsi sendiri, sedangkan perulangan menjalankan blok instruksi berulang sesuai kondisi. Banyak masalah dapat diselesaikan dengan keduanya, tetapi penggunaan memori dan kemudahan pembuktiannya dapat berbeda.

Mengapa algoritma perlu diuji?

Karena instruksi yang tampak benar pada satu contoh bisa gagal untuk input lain. Pengujian membantu menemukan kondisi tak tertangani, hasil salah, atau proses yang tidak berhenti.

Kesimpulan

Belajar algoritma paling efektif dimulai dari masalah nyata: tentukan input, susun langkah yang jelas, tetapkan kondisi berhenti, lalu periksa hasilnya. Setelah menguasai contoh perhitungan, percabangan, perulangan, pengurutan, dan rekursi, kamu akan lebih siap memahami kode serta memilih solusi yang efisien sesuai kebutuhan.

Referensi dan Bacaan Lanjutan

Selain membaca blog karir Aikerja, follow juga akun instagram aikerja untuk informasi terbaru seputar lowongan kerja, dan dunia kerja.

Kamus Istilah

Leave a Reply