Skip to main content
Algoritma dan pemrograman adalah fondasi utama dalam ilmu komputer. Sebelum menulis satu baris kode pun, seorang programmer harus mampu merancang langkah-langkah logis untuk memecahkan masalah. Mata kuliah ini membekali Anda dengan kemampuan berpikir komputasional, mulai dari menyusun algoritma sederhana hingga mengimplementasikannya dalam bahasa Python secara terstruktur dan efisien.

Apa itu Algoritma?

Algoritma adalah sekumpulan langkah-langkah instruksi yang terdefinisi dengan jelas, logis, dan terbatas untuk menyelesaikan suatu permasalahan tertentu. Dalam dunia pemrograman, algoritma menjadi “cetak biru” sebelum kode ditulis.

Ciri-Ciri Algoritma yang Baik

Finiteness (Terbatas)

Algoritma harus berhenti setelah sejumlah langkah yang terbatas. Tidak boleh berjalan selamanya tanpa akhir.

Definiteness (Jelas)

Setiap langkah harus dirumuskan secara tepat dan tidak ambigu sehingga tidak menimbulkan penafsiran ganda.

Input & Output

Algoritma menerima nol atau lebih input dan menghasilkan setidaknya satu output yang bermakna.

Effectiveness (Efektif)

Setiap langkah harus cukup sederhana sehingga dapat dilaksanakan dalam waktu terbatas dengan sumber daya yang wajar.

Pseudocode dan Flowchart

Sebelum menulis program sungguhan, programmer biasanya merancang solusi menggunakan pseudocode atau flowchart untuk memperjelas alur logika.

Pseudocode

Pseudocode adalah representasi informal dari algoritma menggunakan bahasa sehari-hari yang menyerupai kode program. Tidak terikat pada sintaks bahasa tertentu, sehingga mudah dibaca oleh siapa pun.Contoh pseudocode mencari nilai maksimum:

Flowchart

Flowchart adalah diagram alir yang merepresentasikan algoritma secara visual menggunakan simbol-simbol standar.Simbol umum flowchart:
  • Oval → Mulai / Selesai
  • Persegi panjang → Proses / Instruksi
  • Jajar genjang → Input / Output
  • Belah ketupat → Keputusan (kondisi)
  • Panah → Arah aliran

Tipe Data Dasar

Tipe data menentukan jenis nilai yang dapat disimpan dalam sebuah variabel. Python memiliki beberapa tipe data dasar yang wajib dipahami.
Python adalah bahasa yang dinamis — Anda tidak perlu mendeklarasikan tipe data secara eksplisit. Python akan menentukannya secara otomatis berdasarkan nilai yang diberikan.

Percabangan

Percabangan memungkinkan program mengambil keputusan dan menjalankan blok kode yang berbeda berdasarkan kondisi tertentu. Python menggunakan kata kunci if, elif, dan else.
elif (singkatan dari else if) memungkinkan pengecekan kondisi tambahan jika kondisi sebelumnya bernilai False. Python akan memeriksa kondisi secara berurutan dari atas ke bawah, dan hanya menjalankan blok pertama yang kondisinya True. Setelah satu blok dieksekusi, blok elif dan else berikutnya akan dilewati.

Perulangan

Perulangan (loop) digunakan untuk mengeksekusi blok kode secara berulang. Python menyediakan dua jenis perulangan utama: for dan while.

Perulangan for

Digunakan ketika jumlah iterasi sudah diketahui atau kita ingin mengiterasi elemen dalam suatu koleksi.

Perulangan while

Digunakan ketika perulangan harus terus berjalan selama suatu kondisi terpenuhi, dan jumlah iterasi belum tentu diketahui.
Hati-hati dengan infinite loop pada perulangan while! Pastikan kondisi perulangan pada akhirnya akan bernilai False, atau gunakan break untuk keluar dari loop. Infinite loop dapat menyebabkan program Anda berhenti merespons.

Fungsi

Fungsi adalah blok kode yang dapat digunakan kembali (reusable) untuk menjalankan tugas tertentu. Penggunaan fungsi membuat kode lebih terorganisir, mudah dibaca, dan menghindari pengulangan kode yang tidak perlu (DRY — Don’t Repeat Yourself).
1

Definisikan Fungsi

Gunakan kata kunci def diikuti nama fungsi dan parameter di dalam kurung. Nama fungsi sebaiknya mencerminkan tugasnya (gunakan kata kerja).
2

Tulis Docstring

Tambahkan docstring (komentar dalam tanda """) di baris pertama fungsi untuk menjelaskan apa yang dilakukan fungsi tersebut, parameter yang diterima, dan nilai yang dikembalikan.
3

Isi Badan Fungsi

Tulis logika program di dalam fungsi. Gunakan indentasi konsisten (4 spasi) untuk menandai blok kode milik fungsi tersebut.
4

Kembalikan Nilai

Gunakan return untuk mengembalikan hasil komputasi. Fungsi tanpa return akan mengembalikan None secara implisit.
5

Panggil Fungsi

Panggil fungsi dengan menyebutkan namanya beserta argumen yang diperlukan. Hasil kembalian dapat disimpan ke variabel untuk digunakan kemudian.

Tips Belajar Efektif: Konsep algoritma dan pemrograman hanya bisa dikuasai melalui latihan yang konsisten. Cobalah menyelesaikan minimal satu soal pemrograman setiap hari di platform seperti HackerRank atau LeetCode. Jangan takut membuat kesalahan — error adalah bagian normal dari proses belajar pemrograman!