Penerapan Algoritma Komputer

Konsep Dasar Algoritma

Definisi dari algoritma adalah urutan langkah –langkah logis penyelesaian masalah yang disusun secara sistematis dan logis serta dituangkan secara tertulis. Berbeda dengan logika yang terkait tentang “bagaimana manusia berpikir dengan benar”, algoritma membahas tentang “bagaimana cara penyelesaian yang baik”.

Manusia berinteraksi dengan komputer dengan cara memberikan perintah berupa instruksi-instruksi yang disebut program. Agar instruksi tersebut bisa di jalankan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman.

Logika dan Algoritma Komputer

Dalam memahami algoritma komputer terdapat 3 elemen penting yaitu : struktur dasar algoritma, penulisan algoritma, dan operator algoritma.

Struktur dasar algoritma

Setiap langkah didalam algoritma dinyatakan dalam sebuah pernyataan (statement) atau dikenal juga dengan istilah instruksi. Sebuah instruksi terdapat aksi (action) yang dilakukan. Ketika aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU komputer. Contoh :

“L adalah luas persegi”

Satu kalimat diatas adalah contoh instruksi dan aksi yang dilakukan adalah membuat variable L sebagai luas dari persegi.

Untuk menyusun suatu algoritma terdapat 3 buah struktur dasar yaitu :

Runtutan (sekuensial)

Pada struktur sekuensial, langkah-langkah algoritma dikerjakan secara berurutan. Sebuah runtutan terdiri atas satu atau lebih instruksi dan setiap instruksi dapat dikerjakan berurutan sesuai dengan penulisannya.

Contoh:

  • Aksi 1
  •  Aksi 2
  •  Aksi 3

Berikut penerapan struktur sekuensial :

Ada tiga buah gelas. Gelas A berisi susu, gelas B berisi kopi dan gelas C kosong. Lakukan pergantian isi gelas sehingga gelas A berisi kopi dan gelas B berisi susu.

Algoritmanya sebagai berikut :

  1. Tuang isi gelas A ke gelas C
  2. Tuang isi gelas B ke gelas A. (komentar sekarang gelas A berisi kopi)
  3. Tuang isi gelas C ke gelas B. (komentar sekarang gelas B berisi susu)
  4. Selesai

Seleksi (pemilihan)

Pemilihan adalah instruksi yang dikerjakan dengan kondisi tertentu. Kondisi merupakan persyaratan yang bernilai benar atau salah. Beberapa instruksi akan dilaksanakan jika kondisi memiliki nilai benar, sebaliknya apabila salah maka instruksi tidak dapat dilaksanakan.

Contoh :

Jika kondisi maka aksi (atau if kondisi then aksi)

Untuk aksi ada dua.

If kondisi then aksi 1

Else aksi 2

Terjemahan Else “selain itu”

Untuk aksi ada tiga

If kondisi 1 then aksi 1

Else

                If kondisi 2 then aksi 2

                Else

                                If kondisi 3 then aksi 3

Penerapan :

If hari hujan then berangkat dengan mobil

Else pergi dengan motor

Artinya : Jika hari hujan maka berangkat dengan mobil. Selain itu, pergi dengan motor.

Pengulangan (Repetisi)

Pengulangan merupakan suatu tindakan atau langkah yang di jalankan beberapa kali. Pada sebuah komputer tidak perlu menulis instruksi yang sama berulang kali, tetapi hanya melakukan pengulanagan  dengan instruksi yang tersedia.

Beberapa pernyataan pengulangan pada bahasa pemrograman, sebagai berikut :

for…, while()…, do…while()…, repeat…until, for…down to…do, dan for…to…do

Penerapan :

Algoritma menulis “Siswa SMK”  sebanyak 10 kali mengunakan repeat…until.

Pencatat_jumlah_kalimat = 0

Repeat

Tulis “Siswa SMK”

Naikkan pencatat_jumlah_kalimat dengan 1

Until pencatat_jumlah_kalimat = 10

Artinya : Repeat artinya mengulang, until artinya sampai. Agar mengulang sampai 10 kali maka harus ada variable yang setiap perulangan berubah nilai sampai 10. Variable yang dimaksud adalah pencatat_jumlah_kalimat dan diatur nilai awalnya 0 “nol”. Setiap pengulangan variable ini ditambah dengan angka 1, sambil menampilkan tulisan “Siswa SMK” dan terus berulang sampai nilainya berjumlah 10, kemudian proses berhenti.

Penulisan Algoritma

Ada tiga cara penulisan algoritma, yaitu :

  • Menggunakan kalimat dalam bahasa manusia, tetapi kelemahannya adalah sulit dipahami terkadang kalimat dalam bahasa manusia menimbulkan ambigu (bermakna lebih dari satu).
  • Menggunakan flowchart (diagram alir). Alur algoritma akan terlihat dengan jelas, tetapi untuk algoritma yang panjang tidak praktis.
  • Menggunakan pseudocode artinya suatu pengkodean atau  penandaan yang menyerupai suatu program.

Untuk notasi flowchart (diagram alir) kita akan bahas lebih detail disini.

Operator Algoritma

Operator algoritma merupakan suatu tanda atau symbol yang biasa dilibatkan dalam pemrograman untuk melakukan suatu operasi atau manipulasi. Operator algoritma memiliki beberapa fungsi yaitu :

  •  Mengalikan nilai dua variabel
  • Menginisialisasi nilai pada variabel
  • Membandingkan nilai dalam dua variabel

Operator algoritma dibagi menjadi tiga, antara lain :

Operator aritmatika (Numerik)

Operator aritmatika (Numerik) merupakan operator yang digunakan untuk melakukan operasi matematika seperti penambahan, pengurangan, pembagian, dan modulus (sisa pembagian). Berikut tabel operator aritmatika.

Simbol

Nama Operator

Contoh Penggunaan

+

Operator Penjumlahan

n = n + 1

-

Operator Pengurangan

n = n - 1

*

Operator Perkalian

n = n * 1

/

Operator Pembagian

n = n / 1

%

Operator Sisa pembagian (Modulus)

n = n % 1

^

Operator Pangkat

n = n ^²

Sqrt

Operator Akar pangkat dua

n = ²√n

 

Operator Relasi(Hubungan)

Operator relasi (hubungan) merupakan operator yang digunakan untuk membandingkan dua buah nilai. Oerator ini akan menghasilkan kondisi benar (true) dan salah (false). Berikut tabel penggunaan operator relasi.

Simbol

Nama Operator

Contoh Penggunaan

Hasil

=

Operator Sama dengan

5 = 8

FALSE

Operator Tidak sama dengan

5 ≠ 8

TRUE

< 

Operator Lebih kecil

5 < 8

TRUE

> 

Operator Lebih besar

5 > 8

FALSE

<=

Operator Lebih kecil sama dengan

5 <= 8

FALSE

>=

Operator Lebih besar sama dengan

5 >= 8

FALSE

Operator Logika

Operator logika merupakan operator yang digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi. Berikut contoh penggunaan operator logika.

Simbol

Nama Operator

Contoh Penggunaan

Hasil

&

Operator AND (dan)

a & b

benar jika a dan b adalah benar

|

Operator OR (atau)

a | b

benar jika salah satu dari a atau b adalah benar

ǃ

Operator NOT (bukan)

ǃa

benar jika a lebih dari atau sama dengan b