Konsep Algoritma

Algoritma pada dasarnya merupakan alur pikiran dalam menyelesaikan suatu pekerjaan atau permasalahan yang dituangkan dalam bentuk tertulis sehingga dapat dimengerti oleh orang lain. Dengan demikian, algoritma bukan sekadar kumpulan perintah untuk komputer. Algoritma merupakan urutan langkah yang menunjukkan bagaimana suatu permasalahan diselesaikan. Penyajian algoritma dapat dilakukan dalam beberapa bentuk, antara lain:

  1. Narasi atau kalimat deskriptif
  2. Gambar atau diagram
  3. Pseudo Code

Hal terpenting dalam sebuah algoritma adalah bahwa langkah-langkah penyelesaiannya harus dapat dipahami dan diikuti secara jelas.

Algoritma untuk Komputer

Apabila suatu tugas akan diselesaikan oleh komputer, maka langkah-langkah dalam algoritma harus disusun secara:

  • Logis, yaitu setiap langkah memiliki hubungan yang masuk akal dengan langkah lainnya.
  • Benar, yaitu menghasilkan penyelesaian sesuai dengan permasalahan.
  • Efisien, yaitu menggunakan langkah atau sumber daya yang sesuai dan tidak berlebihan.

Secara sederhana, prosesnya dapat digambarkan sebagai:

Oleh karena itu, kemampuan menyusun algoritma menjadi dasar penting sebelum seseorang menulis program.

Pengertian Program

Program adalah kumpulan instruksi yang diberikan kepada komputer untuk menyelesaikan suatu tugas. Instruksi-instruksi tersebut pada dasarnya merupakan implementasi dari langkah-langkah yang telah dirancang dalam algoritma. Hubungan antara algoritma dan program dapat dipahami sebagai berikut: Algoritma menentukan langkah penyelesaian masalah, sedangkan program menerjemahkan langkah tersebut menjadi instruksi yang dapat dijalankan oleh komputer. Karena program terdiri atas instruksi yang harus dijalankan secara berurutan dan benar, maka penyusunan program membutuhkan logika yang benar. Kesalahan dalam logika algoritma dapat menyebabkan program menghasilkan keluaran yang salah meskipun program tersebut dapat dijalankan oleh komputer.

Bahasa Pemrograman

Program ditulis menggunakan suatu bahasa yang disebut bahasa pemrograman (programming language). Bahasa pemrograman menyediakan aturan dan sintaks yang memungkinkan manusia memberikan instruksi kepada komputer. Beberapa contoh bahasa pemrograman adalah:

  • Python
  • FORTRAN
  • Pascal
  • BASIC
  • C++
  • Java
  • PHP
  • C#

Pengertian Komputer

Komputer merupakan alat pengolah data yang memiliki konstruksi elektronik dan dapat bekerja berdasarkan program yang diberikan kepadanya. Komputer mempunyai beberapa komponen penting yang mendukung proses pengolahan data, yaitu Processor, RAM, dan Operating System

1. Processor

Processor merupakan bagian komputer yang bertugas menjalankan instruksi dan melakukan proses pengolahan data, misalnya Intel Core i3.

2. RAM

RAM (Random Access Memory) merupakan memori yang digunakan komputer untuk menyimpan data dan instruksi yang sedang digunakan selama proses berlangsung, contoh kapasitas RAM sebesar 2 GB.

3. Operating System

Komputer bekerja dengan bantuan sistem operasi (operating system). Contoh sistem operasi:

  • Windows
  • Linux
  • Mac

Sistem operasi menjadi lingkungan yang memungkinkan program dapat dijalankan oleh komputer.

Struktur Dasar Algoritma

Sebuah algoritma terdiri atas langkah-langkah yang digunakan untuk menyelesaikan suatu masalah atau tugas. Secara umum terdapat tiga struktur dasar algoritma, yaitu:

  1. Runtunan (Sequence)
  2. Pemilihan (Selection)
  3. Pengulangan (Repetition)

Ketiga struktur tersebut merupakan konsep fundamental dalam algoritma dan pemrograman.

1. Runtunan (Sequence)

Runtunan merupakan struktur algoritma yang menjalankan instruksi secara berurutan, dari langkah pertama sampai langkah terakhir. Sebagai contoh, untuk menghitung jumlah dua bilangan urutannya sebagai berikut:

  1. Membaca bilangan pertama.
  2. Membaca bilangan kedua.
  3. Menjumlahkan kedua bilangan.
  4. Menyimpan hasil penjumlahan.
  5. Menampilkan hasil.

Tidak terdapat percabangan atau pengulangan dalam proses tersebut.

Secara sederhana:

2. Pemilihan (Selection)

Pemilihan merupakan struktur algoritma yang digunakan ketika program harus memilih suatu tindakan berdasarkan kondisi tertentu. Sebagai contoh, apabila ingin menentukan apakah sebuah bilangan positif atau negatif, algoritma harus memeriksa kondisi bilangan tersebut. Secara konsep:

Jika kondisi terpenuhi → lakukan tindakan tertentu

Jika kondisi tidak terpenuhi → lakukan tindakan lainnya

Struktur pemilihan memungkinkan algoritma menangani permasalahan yang mempunyai lebih dari satu kemungkinan tindakan.

3. Pengulangan (Repetition)

Pengulangan merupakan struktur algoritma yang digunakan untuk menjalankan suatu langkah atau sekumpulan langkah secara berulang. Pengulangan digunakan ketika suatu proses harus dilakukan beberapa kali. Sebagai contoh, apabila ingin mencetak angka 1 sampai 10, kita tidak perlu menuliskan perintah pencetakan sebanyak sepuluh kali. Algoritma dapat menggunakan struktur pengulangan untuk melakukan proses tersebut.

Notasi Algoritmik

Algoritma perlu dituliskan menggunakan suatu notasi agar langkah-langkah penyelesaian masalah dapat dikomunikasikan dengan jelas. Notasi algoritmik bukan merupakan notasi bahasa pemrograman. Artinya, notasi algoritmik tidak terikat pada sintaks bahasa pemrograman tertentu. Seseorang dapat menggunakan bentuk notasi yang berbeda dalam menggambarkan algoritma. Walaupun demikian, penggunaan notasi tetap harus dilakukan secara konsisten dan mengikuti aturan yang digunakan agar tidak menimbulkan kekeliruan. Terdapat tiga bentuk notasi algoritmik yang dibahas dalam materi:

  1. Kalimat deskriptif
  2. Diagram alir (flowchart)
  3. Pseudo-code

1. Kalimat Deskriptif

Kalimat deskriptif merupakan cara menuliskan algoritma menggunakan bahasa yang jelas dan mudah dipahami. Setiap langkah penyelesaian masalah dituliskan menggunakan kalimat atau instruksi yang menggambarkan apa yang harus dilakukan. Contoh permasalahan:

Mengalikan dua buah bilangan bulat A dan B kemudian menyimpan hasilnya ke dalam variabel C.

Maka algoritma menggunakan kalimat deskriptif sebagai berikut:

  1. Baca nilai A dan B.
  2. Kalikan A dengan B dan berikan hasilnya kepada C.
  3. Cetak nilai C.

Bentuk ini mudah dipahami karena langkah algoritmanya dituliskan menggunakan bahasa sehari-hari.

2. Diagram Alir (Flowchart)

Flowchart atau diagram alir merupakan bentuk penyajian algoritma menggunakan simbol-simbol grafis. Flowchart digunakan untuk menggambarkan alur atau urutan proses penyelesaian masalah secara visual. Dengan flowchart, seseorang dapat melihat hubungan antara input, proses, keputusan, dan output dalam suatu algoritma. Beberapa simbol dasar flowchart digunakan untuk menunjukkan proses tertentu, seperti:

  • Start/End — menunjukkan awal dan akhir algoritma.
  • Input/Output — menunjukkan proses membaca atau menampilkan data.
  • Process — menunjukkan proses atau pengolahan data.
  • Decision — menunjukkan pengambilan keputusan berdasarkan suatu kondisi.
  • Flow line — menunjukkan arah aliran proses.

3. Pseudo-Code

Pseudo-code atau kode semu merupakan notasi algoritmik yang menyerupai bentuk bahasa pemrograman tingkat tinggi, tetapi bukan merupakan bahasa pemrograman yang sebenarnya. Istilah pseudo berarti semu, tidak sebenarnya, atau pura-pura. Pseudo-code digunakan untuk menggambarkan algoritma secara lebih terstruktur sebelum algoritma tersebut diterjemahkan ke bahasa pemrograman tertentu.

Notasi Dasar Pseudo-Code

Berikut beberapa bentuk notasi dasar pseudo code:

a. Penulisan (Write)

Digunakan untuk menampilkan nilai ke piranti keluaran. Contoh:

Write(x)

Artinya nilai x dicetak atau ditampilkan. Untuk menampilkan dua nilai:

Write(x, y)

Untuk menampilkan teks:

Write(“hello”)

b. Pembacaan (Read)

Digunakan untuk membaca nilai masukan. Contoh:

Read(a)

Artinya membaca nilai dan menyimpannya ke dalam a. Untuk membaca dua nilai:

Read(a, b)

c. Penugasan (Assignment)

Penugasan digunakan untuk memberikan nilai suatu ekspresi kepada variabel. Contoh:

Bil ← x

Artinya nilai x diberikan atau disimpan ke dalam variabel Bil. Simbol menunjukkan proses penugasan.

Struktur Teks Algoritma

Teks algoritma dalam bentuk pseudo-code terdiri atas beberapa bagian utama:

1. Head / Judul

Bagian head memberikan nama atau judul algoritma. Nama algoritma sebaiknya dapat memberikan gambaran mengenai prosedur atau permasalahan yang akan diselesaikan. Contoh:

Algoritma Penjumlahan

Judul tersebut menunjukkan bahwa algoritma digunakan untuk melakukan proses penjumlahan.

2. Deklarasi

Deklarasi digunakan untuk menyatakan elemen data atau variabel yang digunakan dalam algoritma. Pada bagian ini dapat ditentukan jenis data yang digunakan.

Contoh:

A, B : integer

C    : integer

Artinya variabel A, B, dan C digunakan untuk menyimpan bilangan bertipe integer.

3. Deskripsi

Deskripsi merupakan inti dari prosedur penyelesaian masalah. Bagian ini berisi:

  • Pernyataan
  • Operasi
  • Fungsi
  • Langkah pemrosesan
  • Penjelasan lainnya yang diperlukan

Dengan kata lain, bagian deskripsi menjelaskan langkah-langkah yang harus dilakukan algoritma untuk menghasilkan penyelesaian.

Studi Kasus: Penjumlahan Dua Bilangan

Sebagai contoh penerapan ketiga notasi algoritmik, digunakan permasalahan:

Buat algoritma untuk menjumlahkan dua buah bilangan bulat. Hasil penjumlahan kedua bilangan tersebut disimpan dalam variabel T.

Misalnya:

  • A = bilangan pertama
  • B = bilangan kedua
  • T = hasil penjumlahan

Secara matematis:

T = A + B

1. Penyelesaian dengan Kalimat Deskriptif

Algoritmanya adalah:

  1. Baca nilai A dan B.
  2. Jumlahkan A dengan B dan simpan hasilnya ke T.
  3. Cetak nilai T.

Bentuk tersebut merupakan penyelesaian algoritma menggunakan bahasa deskriptif.

2. Penyelesaian dengan Flowchart

Alur algoritmanya dapat dijelaskan sebagai berikut:

Urutan tersebut menunjukkan bahwa program dimulai dengan membaca dua nilai, kemudian melakukan penjumlahan, dan akhirnya menampilkan hasilnya.

3. Penyelesaian dengan Pseudo-Code

Head/Judul:

Algoritma Penjumlahan
Program mencari hasil penjumlahan dua buah nilai A dan B

Deklarasi:

A, B : integer {input}

T    : integer {hasil}

Deskripsi:

Read(A, B)

T ← A + B

Write(T)

Pseudo-code tersebut memperlihatkan struktur algoritma secara lebih formal, yaitu terdiri atas judul, deklarasi variabel, dan deskripsi proses.

Struktur Bahasa Python

Secara umum, struktur program Python meliputi:

1. Import Modul

Dalam Python, tidak terdapat preprocessor atau compiler directive seperti pada bahasa C++. Sebagai gantinya, Python menggunakan perintah import untuk memanggil atau menggunakan modul dan pustaka (library) yang diperlukan dalam program. Contoh:

import math

Perintah tersebut digunakan untuk mengimpor modul math agar fungsi-fungsi matematika di dalamnya dapat digunakan.

Selain itu, Python juga dapat mengimpor bagian tertentu dari sebuah modul. Contoh:

from math import sqrt

2. Deklarasi Variabel dan Fungsi

Bagian deklarasi digunakan untuk membuat atau mendefinisikan variabel, fungsi, kelas, dan elemen program lainnya.

Dalam Python, variabel tidak perlu dideklarasikan dengan tipe data secara eksplisit seperti pada C++. Tipe data akan ditentukan secara otomatis berdasarkan nilai yang diberikan. Contoh:

nama = "Budi"

umur = 20

nilai = 85.5

Fungsi dalam Python dideklarasikan menggunakan kata kunci def. Contoh:

def tampilkan_pesan():

  print("Selamat belajar Python")

3. Tubuh Program

Tubuh program merupakan bagian utama tempat instruksi-instruksi program dituliskan dan dijalankan.

Berbeda dengan C++, Python tidak menggunakan tanda kurung kurawal {} untuk menandai blok program. Python menggunakan indentasi atau penjorokan untuk menunjukkan bagian dari suatu blok program. Contoh:

if umur >= 17:

    print("Anda sudah cukup umur")

Pada contoh tersebut, perintah:

print("Anda sudah cukup umur")

merupakan bagian dari blok if karena ditulis dengan indentasi.

Secara umum, tubuh program Python dapat berisi berbagai instruksi, seperti:

  • Menampilkan informasi.
  • Melakukan perhitungan.
  • Menggunakan percabangan.
  • Melakukan perulangan.
  • Memanggil fungsi.
  • Mengolah data.

Contoh:

nama = "Andi"

print("Halo", nama)

print("Selamat belajar Python")

4. Baris Komentar

Komentar digunakan untuk memberikan keterangan pada program agar kode lebih mudah dipahami. Dalam Python, komentar satu baris menggunakan tanda pagar (#). Contoh:

# Program untuk menampilkan nama

nama = "Budi"

print(nama)

Komentar tidak akan dijalankan sebagai bagian dari program. Python juga dapat menggunakan tanda petik tiga (”’ atau “””) untuk menuliskan keterangan dalam beberapa baris. Namun, secara umum cara tersebut juga sering digunakan sebagai docstring untuk memberikan dokumentasi pada fungsi atau kelas. Contoh:

print("Hello Python")

Struktur Sederhana Program Python

Secara konseptual, struktur program Python dapat digambarkan sebagai berikut:

"""
Program sederhana
untuk menampilkan
pesan kepada pengguna
"""

print("Hello Python")

Struktur Sederhana Program Python

Secara konseptual, struktur program Python dapat digambarkan sebagai berikut:

Program Python
│
├── Import Modul
│
├── Deklarasi
│ ├── Variabel
│ ├── Fungsi
│ └── Kelas
│
├── Tubuh Program
│ └── Instruksi-instruksi
│
└── Komentar

Contoh Struktur Program Python

Berikut adalah contoh program Python yang menggunakan struktur dasar tersebut:

# Import modul
import math

# Deklarasi variabel
nama = "Budi"
angka = 25

# Deklarasi fungsi
def tampilkan_hasil():
    hasil = math.sqrt(angka)
    print("Nama:", nama)
    print("Akar dari", angka, "adalah", hasil)

# Tubuh program
tampilkan_hasil()

Pada contoh tersebut:

  1. import math merupakan bagian import modul.
  2. nama dan angka merupakan bagian deklarasi variabel.
  3. def tampilkan_hasil() merupakan bagian deklarasi fungsi.
  4. tampilkan_hasil() merupakan bagian dari instruksi utama program.
  5. Baris yang diawali tanda # merupakan komentar.

Dengan memahami struktur dasar tersebut, dapat lebih mudah memahami bagaimana sebuah program Python disusun dan bagaimana setiap bagian saling berhubungan dalam proses pembuatan program.

Hubungan Algoritma, Pseudo-Code, dan Program

Ketiga konsep tersebut memiliki hubungan yang erat dalam proses pengembangan program, dapat digambarkan sebagai berikut:

Algoritma menjadi dasar dalam menentukan langkah penyelesaian. Setelah algoritma dirancang, langkah tersebut dapat direpresentasikan menggunakan flowchart atau pseudo-code. Selanjutnya, algoritma dapat diterjemahkan ke dalam bahasa pemrograman untuk menghasilkan program yang dapat dijalankan komputer.

Rangkuman

Algoritma merupakan alur pikiran atau langkah-langkah yang digunakan untuk menyelesaikan suatu pekerjaan atau permasalahan. Algoritma harus disusun secara logis sehingga dapat menghasilkan penyelesaian yang benar dan efisien.

Program merupakan kumpulan instruksi yang diberikan kepada komputer untuk menyelesaikan suatu tugas. Program ditulis menggunakan bahasa pemrograman seperti Python, C++, Java, PHP, dan bahasa lainnya.

Dalam penyusunan algoritma terdapat tiga struktur dasar, yaitu:

  1. Sequence (runtunan) — instruksi dijalankan secara berurutan.
  2. Selection (pemilihan) — instruksi dipilih berdasarkan kondisi.
  3. Repetition (pengulangan) — instruksi dijalankan berulang kali.

Algoritma dapat dituliskan menggunakan 3 notasi, yaitu:

  • Kalimat deskriptif
  • Flowchart
  • Pseudo-code

Pseudo-code bukan bahasa pemrograman yang sebenarnya, tetapi merupakan notasi yang menyerupai bahasa pemrograman dan digunakan untuk menggambarkan algoritma secara terstruktur.

Pemahaman terhadap konsep-konsep tersebut menjadi dasar bagi mahasiswa untuk mempelajari implementasi algoritma ke dalam bahasa pemrograman.

Slide materi dapat dilihat di sini.

Mungkin Anda Menyukai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *