Skip to content

Bab 2: Struktur Dasar Algoritma

Published: at 10:57 PM

Pada bab ini, kita akan mempelajari struktur dasar dari algoritma yang digunakan dalam pemrograman dan ilmu komputer. Memahami struktur dasar ini penting karena mereka merupakan blok bangunan dari algoritma yang lebih kompleks.

2.1 Algoritma Linear

Algoritma linear adalah algoritma yang langkah-langkahnya dieksekusi satu per satu secara berurutan. Setiap langkah dalam algoritma linear bergantung pada langkah sebelumnya.

Contoh Algoritma Linear

Mari kita lihat contoh sederhana dari algoritma linear: menghitung jumlah elemen dalam array.

def hitung_jumlah(arr):
    jumlah = 0
    for elemen in arr:
        jumlah += elemen
    return jumlah

# Contoh penggunaan
arr = [1, 2, 3, 4, 5]
print(hitung_jumlah(arr))  # Output: 15

Dalam contoh ini, setiap elemen dalam array ditambahkan ke variabel jumlah satu per satu.

2.2 Algoritma Berulang (Looping)

Algoritma berulang adalah algoritma yang mengulangi satu atau beberapa langkah beberapa kali. Struktur berulang sangat penting dalam pemrograman karena banyak masalah yang memerlukan pengulangan.

Contoh Algoritma Berulang

Contoh sederhana dari algoritma berulang adalah pencarian maksimum dalam array.

def cari_maksimum(arr):
    maksimum = arr[0]
    for elemen in arr:
        if elemen > maksimum:
            maksimum = elemen
    return maksimum

# Contoh penggunaan
arr = [1, 3, 5, 7, 2, 8, 4]
print(cari_maksimum(arr))  # Output: 8

Di sini, algoritma mengulangi pemeriksaan setiap elemen dalam array untuk menemukan nilai maksimum.

2.3 Algoritma Percabangan (Branching)

Algoritma percabangan menggunakan pernyataan kondisional untuk mengambil keputusan berdasarkan kondisi tertentu. Percabangan memungkinkan algoritma untuk menjalankan langkah-langkah yang berbeda tergantung pada hasil dari suatu kondisi.

Contoh Algoritma Percabangan

Contoh sederhana dari algoritma percabangan adalah menentukan apakah suatu angka positif, negatif, atau nol.

def tentukan_angka(x):
    if x > 0:
        return "Positif"
    elif x < 0:
        return "Negatif"
    else:
        return "Nol"

# Contoh penggunaan
x = -5
print(tentukan_angka(x))  # Output: Negatif

Dalam contoh ini, algoritma menggunakan pernyataan if-elif-else untuk menentukan hasil berdasarkan nilai x.

2.4 Kombinasi Struktur Algoritma

Seringkali, algoritma yang lebih kompleks menggabungkan struktur linear, berulang, dan percabangan. Mari kita lihat contoh kombinasi ketiga struktur ini dalam satu algoritma: mencari nilai maksimum dan indeksnya dalam array.

def cari_maksimum_dan_indeks(arr):
    maksimum = arr[0]
    indeks = 0
    for i in range(len(arr)):
        if arr[i] > maksimum:
            maksimum = arr[i]
            indeks = i
    return maksimum, indeks

# Contoh penggunaan
arr = [1, 3, 5, 7, 2, 8, 4]
maksimum, indeks = cari_maksimum_dan_indeks(arr)
print(f'Nilai maksimum: {maksimum}, Indeks: {indeks}')  # Output: Nilai maksimum: 8, Indeks: 5

Di sini, kita menggunakan loop untuk mengulang pemeriksaan setiap elemen, percabangan untuk memeriksa apakah elemen lebih besar dari nilai maksimum saat ini, dan struktur linear untuk menetapkan nilai maksimum dan indeksnya.

Kesimpulan Bab 2

Pada bab ini, kita telah mempelajari tiga struktur dasar algoritma: linear, berulang, dan percabangan. Memahami dan menguasai struktur dasar ini adalah langkah penting dalam belajar algoritma dan pemrograman. Di bab-bab berikutnya, kita akan menerapkan struktur-struktur ini dalam berbagai jenis algoritma yang lebih kompleks, seperti algoritma pencarian dan pengurutan.