Secara umum algoritma terdiri dari 3 bagian yaitu

Ditulis oleh Muhammad Erfan, dipublikasi sejak 17 Juli 2018 pukul 22:08, disimpan dalam kategori Project, Tutorial. Ingin mengomentari tulisan ini?

Setelah konstruksi dasar pembentuk algoritma, sekarang kita lihat bagaimana struktur dasar dari teks algoritma. Sehingga dengan mengikuti struktur tersebut kita dapat menyusun algoritma-algoritma tertentu untuk menyelesaikan masalah dengan efektif.

Algoritma disusun oleh 3 bagian (blok) yang biasanya selalu ada dalam sebuah algoritma. 3 bagian itu adalah :

  1. bagian judul (header)
  2. bagian deklarasi (declaration)
  3. bagian algoritma (sebagian menyebutnya dengan deskripsi)

Ketiga bagian tersebut secara umum ditunjukkan dalam notasi algoritmik seperti di bawah.

PROGRAM nama program
{berisi judul algoritma, singkat dan jelas}

DEKLARASI
{sebagai tempat untuk mengenalkan nama atau variabel apa saja yang digunakan dan tipe datanya serta prosedur dan fungsi yang dipakai}

ALGORITMA :
{berisi langkah-langkah penyelesaian masalah}

Pada setiap bagian sebaiknya diberikan komentar untuk memperjelas maksud dari pernyataan tersebut. Untuk komentar, penulisannya diapit oleh tanda kurung kurawal { dan }. Dengan komentar, algoritma yang kita buat menjadi lebih dimengerti dan dipahami, dan komentar ini tidak akan dieksekusi karena akan dilewati saja oleh program. 😀 Namanya juga komentar…

Bagian Judul (header)

Sesuai bagiannya, kita perlu memberi judul terhadap algoritma yang kita buat. Judul sebaiknya singkat, dan jelas serta menggambarkan apa yang dilakukan oleh program. Di bawah judul, sebaiknya juga diberikan komentar singkat tentang masalah yang ingin diselesaikan itu, dan bagaimana masukan dan keluarannya.

Contohnya :

PROGRAM ucapan selamat datang
{program untuk menampilkan ucapan selamat datang kepada pengguna dengan masukan nama pengguna}

Bagian Deklarasi (declaration)

Digunakan untuk memperkenalkan semua variabel atau nama-nama yang akan terlibat dalam algoritma termasuk tipe data dan sebagainya. Apapun nama dan variabel yang digunakan dalam algoritma harus di ‘umumkan’ terlebih dahulu di bagian deklarasi ini, jika tidak, algoritma (dan program) tidak akan bisa menyelesaikan masalah. Justru malah menjadi masalah 😀 😀

Contoh deklarasi adalah :

DEKLARASI

nama : string
usia : integer

Nama atau variabel adalah satu kesatuan leksikal, sehingga nama tidak boleh mengandung spasi, tanda baca, tanda operator dan sebagainya kecuali tanda “_” (garis bawah). Pada algoritma, tidak dibedakan antara huruf besar (kapital) atau huruf kecil, semuanya dianggap sama. Lebih jelasnya akan kita lihat pada posting berikutnya…

Bagian Algoritma (deskripsi)

Bagian ini adalah inti dari program untuk menyelesaikan masalah. Berisi instruksi-instruksi untuk pemecahan masalah dengan menggunakan notasi pseudo-code. Tidak perlu berpanjang lebar, kita lihat saja contohnya.

ALGORITMA :
read(nama, usia)
write(‘Selamat Datang ‘, nama)
write(‘Usia Anda sekarang adalah ‘, usia, ‘tahun’)

Nah, kalau ketiga bagian di atas digabungkan menjadi 1 kesatuan algoritma akan menjadi :

PROGRAM ucapan selamat datang
{program untuk menampilkan ucapan selamat datang kepada pengguna dengan masukan nama pengguna}

DEKLARASI
nama : string
usia : integer

ALGORITMA :
read(nama, usia)
write(‘Selamat Datang ‘, nama)
write(‘Usia Anda sekarang adalah ‘, usia, ‘tahun’)

Setelah program dieksekusi dan dijalankan, misalnya nama diisi dengan Mr. X dan usia diisi 27, maka akan dihasilkan :

Selamat Datang Mr. X
Usia Anda sekarang adalah 27 tahun

Bagaimana? Sekarang sudah agak terang… sampai jumpa…

Struktur Dasar Algoritma terdiri dari 3 macam, yaitu struktur sekuensial, struktur pemilihan dan struktur perulangan.

1. Struktur Sekuensial (runtutan)

Runtunan merupakan struktur dasar algoritma terdiri dari satu atau lebih instruksi, yang setiap instruksinya dikerjakan secara berurutan sesuai dengan urutan penulisan algoritma tersebut. Sebuah instruksi dikerjakan setelah instruksi sebelumnya dikerjakan. 2. Struktur Pemilihan (selection) Sruksur seleksi menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi atau pengambilan suatu keputusan. Struktur ini ditandai selalu dengan bentuk flowcart decision (flowcart yang berbentuk belah ketupat). Bentuk Instruksi pemilihan : Instruksi ini lebih cocok digunakan untuk pengambilan keputusan berdasarkan perbandingan nilai dengan operator <, <=, >, >= maupun operator = =,!=. Bentuk-bentuk unstruksi IF :

  1. Pernyataan IF Sederhana
  2. Pernyataan IF-ELSE
  3. Pernyataan IF Bertingkat
Instruksi ini lebih cocok dipakai untuk pengambilan keputusan berdasarkan perbandingan nilai = =.

3. Struktur Perulangan

Struktur ini memberikan suatu perintah atau tindakkan yang dilakukan beberapa kali. Misalnya jika teman mau menuliskan kata “Belajar C” sebanyak sepuluh kali. akan lebih efisien jika teman menggunakan sturktur ini dari pada sekedar menuliskannya berturut-turut sebanyak sepuluh kali.

Jakarta -

Pernahkah kamu mendengar tentang algoritma? Mungkin terdengar asing untukmu, tetapi algoritma merupakan fondasi penting untuk menyelesaikan masalah dengan sistem komputer, lho.

Secara sederhana, algoritma adalah susunan langkah penyelesaian atau metode untuk menyelesaikan suatu masalah secara sistematis dan logis.

Untuk bisa mengenalinya, algoritma memiliki ciri-ciri sebagai berikut:

1. Memiliki masukan atau input,2. Memiliki keluaran atau output,3. Menjabarkan langkah yang pasti, jelas, dan tidak ambigu,4. Langkah yang digunakan sederhana,

5. Memiliki batasan waktu.

Simak penjelasan mengenai prinsip kerja, struktur, dan cara penyajian algoritma dalam pemrograman computer yang dikutip dari buku Algoritma dan Pemrograman karya Lamhot Sitorus, yuk.

Prinsip Kerja Algoritma

Pada dasarnya, algoritma merupakan deskripsi proses untuk mengerjakan sesuatu yang disusun dalam sederet aksi. Secara sederhana, prinsip kerja algoritma terbagi menjadi, masukan [input], proses, dan keluaran [output].

Dalam kehidupan sehari-hari, prinsip kerja algoritma dapat dipahami ketika kita ingin membuat telur dadar. Sebelum membuat algoritma, hal yang perlu kita lakukan adalah mendefinisikan masukan [input] dan keluaran [output].

Berdasarkan contoh di atas, maka yang menjadi masukan adalah telur mentah dan yang menjadi keluaran adalah telur dadar matang. Dengan demikian, susunan algoritmanya menjadi sebagai berikut:

1. Nyalakan api kompor,2. Tuangkan minyak ke dalam wajan,3. Pecahkan telur ayam ke dalam mangkuk,4. Tuangkan garam secukupnya,5. Kocok campuran telur dan garam,6. Tuang adonan telur ke dalam wajan,

7. Masak telur hingga matang.

Struktur Dasar Algoritma

Secara umum, struktur dasar algoritma terdiri dari sekuensial [sequential], test kondisi atau percabangan [branching], dan perulangan [looping].

1. Algoritma Sekuensial

Algoritma sekuensial adalah langkah-langkah yang dilakukan secara berurutan sesuai dengan urutan penulisannya. Struktur ini merupakan struktur yang paling sering dilakukan.

Contoh:
Algoritma memiliki empat baris aksi, yaitu t1, t2, t3, dan t4, maka semua aksi akan dilakukan secara berurutan mulai dari aksi t1 sampai t4.

2. Algoritma Percabangan [Branching]

Dalam kehidupan sehari-hari ada kalanya suatu kegiatan akan dilakukan dan tidak dilakukan tergantung situasi tertentu. Begitu pun dengan algoritma, ada kalanya satu atau beberapa aksi akan dikerjakan dan tidak dikerjakan tergantung situasi tertentu.

Nah, struktur algoritma percabangan ini digunakan untuk mengerjakan satu aksi dari beberapa pilihan yang diberikan.

3. Algoritma Perulangan [Looping]

Sama halnya dengan manusia, algoritma juga mengenal kegiatan pengulangan, yakni melakukan satu atau beberapa kegiatan secara berulang-ulang. Namun, berbeda dengan manusia, komputer tidak mengenal istilah lelah atau bosan dalam melakukan kegiatan yang sama secara berulang.

Dengan demikian, struktur perulangan atau looping digunakan untuk menjalankan kegiatan yang dilakukan berulang-ulang.

Cara Penyajian Algoritma

Penyajian algoritma akan lebih baik jika ditulis secara sistematis. Ada tiga cara yang bisa kamu gunakan untuk menyajikan algoritma, yakni secara naratif, flowchart atau diagram/bagan alir, dan pseudocode.

1. Naratif

Penyajian algoritma secara naratif dituliskan dengan menggunakan cerita seperti dalam bahasa sehari-hari.

Contoh: Menghitung luas segitiga menggunakan naratifLangkah-1 : MulaiLangkah-2 : Baca nilai AlasLangkah-3 : Baca nilai TinggiLangkah-4 : Hitung Luas = [Alas x Tinggi] / 2Langkah-5 : Cetak Hasil Luas

Langkah-6 : Selesai

2. Flowchart

Dengan flowchart, cara penyajian algoritma dibuat dalam urutan simbol-simbol khusus. Urutan simbol digambarkan sesuai dengan arah tanda panah.
Contoh:

Contoh flowchart Foto: Ist

Sumber gambar: Algoritma dan Pemrograman [Sitorus, 2015]

3. Pseudocode

Langkah-langkah penyelesaian masalah ini ditulis dengan cara yang mirip atau menyerupai program. Pseudocode tidak spesifik terhadap salah satu bahasa pemrograman sehingga algoritma ini dapat diterjemahkan menyesuaikan bahasa pemrograman yang ada dalam suatu program.

Contoh: Menghitung luas segitiga menggunakan pseudocode

Input [Alas]Input [Tinggi]Luas ← [Alas x Tinggi] / 2

Output [Luas]

Meskipun ada tiga cara penyajian yang berbeda, hasil algoritma yang diberikan tetap sama. Maka dari itu, tidak ada aturan yang menyatakan harus menggunakan penyajian tertentu. Kamu bebas memilih bentuk penyajian sesuai keinginan dan pemahaman.

Meski begitu, algoritma yang dibuat dengan kalimat memiliki kelemahan, yaitu hanya bisa dimengerti oleh praktisi yang mengerti bahasanya.

Simak Video "Sistem Transportasi di New York Dihack, Negara-negara Ini Dicurigai"

[Gambas:Video 20detik]

[pal/pal]

KOMPAS.com - Pada pagi hari apa yang kamu lakukan sebelum berangkan ke suatu tempat? Pertama kali kamu akan bangun, berjalan ke kamar mandi, menganggalkan pakaian, mandi, menggunakan pakaian kembali, sarapan, lalu pergi.

Hal tersebut adalah urutan lengkap sebelum pergi, karena tidak mungkin kita mandi dulu padahal belum bangun tidur ataupun mandi tanpa menganggalkan pakaian terlebih dulu. Urutan tersebut adalah algoritma rutinitas pagi.

Definisi algoritma dalam program komputer adalah daftar langkah atau instruksi untuk menyelesaikan masalah atau pekerjaan tertentu. Dengan adanya algoritma, akan lebih mudah untuk membuat program computer yang rumit sekalipun.

Ciri-ciri algoritma, yaitu: 

  • Ada input atau masukan
  • Ada output atau keluaran
  • Langkahnya pasti, jelas, dan tidak ambigu
  • Langkahnya sederhana
  • Ada batasan waktu [stoping role]

Baca juga: Sistem Operasi Komputer: Pengertian, Fungsi, Jenis, Cara Kerja, dan Contohnya

Jenis algoritma

Algoritma memiliki beberapa jenis, sebagai berikut: 

  • Algoritma Divide and Conquer

Algoritma divide and conquer adalah algoritma pemecahan suatu masalah dengan membaginya ke dalam dua masalah yang lebih kecil.

Pertama-tama masalah dibagi menjadi dua sub masalah, lalu masing-masing sub masalah tersebut diselesaikan. Setelah kedua submasalah terselesaikan, solusinya digabungkan kembali menjadi satu.

Algoritma divide and conquer sangat sering digunakan karena dinilai stabil dan sederhana.

khanacademy.org Contoh algoritma divide and conquer yang kompleks

Dilansir dari Analytic Step, algoritma rekursif memecah masalah menajadi submasalah dan memanggil dirinya sendiri berulang-ulang sampai masalah terurai atau sebuah kondisi dasar yang ditentukan terpenuhi.

Baca juga: Jaringan Komputer: Pengertian dan Manfaatnya

  • Algoritma Pemrograman Dinamis

Algoritma pemrograman dinamis adalah perwujudan dari kalimat “melihat masa lalu dan membenarkan masa depan”.

Algoritma pemrograman dinamis memecahkan submasalah dengan hasil pemecahan submasalah sebelumnya.

Karena hasil pemecahan submasalah sebelumnya bisa apa saja, inilah mengapa algoritma ini disebut dinamis atau tidak tetap.

Algoritma greedy atau algoritma serakah adalah algoritma yang menyelesaikan masalah dalam submasalah dengan mencari solusi yang paling jelas secara global.

Algoritma greedy tidak mempertimbangkan hasil sebelumnya maupun konsekuensi kedepannya dan hanya memiliki hasil terbaik, sehingga disebut serakah.

Algoritma brute force adalah algoritma paling mendasar dengan mencoba semua peluang sampai hasil yang diinginkan tercapai. Algoritma brute force adalah algoritma logis yang mempertimbangkan banyak opsi dengan optimal namun waktu pemecahannya tergolong lama.

Baca juga: Hal-hal yang Perlu Diperhatikan dalam Penggunaan Komputer

Algoritma backtracking atau algoritma mundur adalah algoritma yang menyelesaikan masalah secara rekursif atau memanggil dirinya sendiri berulang-ulang.

Bedanya, saat suatu opsi tidak memecahkan masalah, algoritma akan menghapus opsi tersebut dan mundur ke belakang untuk mengulang pencarian solusi kembali.

Algoritma memiliki tiga struktur dasar yaitu sequence, selection, dan repetition. Sequence atau urutan adalah struktur yang menadung runtutan langkah-langkah algoritma dari awal hingga akhir secara berurutan.

Selection adalah proses seleksi atau pemilihan solusi masalah yang paling tepat. Sedangkan repetition atau pengulangan struktur algoritma yang memungkinkan suatu fungsi untuk diulang atau digunakan berulang kali hingga didapat kondisi atau solusi yang diinginkan.

Contoh algoritma

Dapatkan update berita pilihan dan breaking news setiap hari dari Kompas.com. Mari bergabung di Grup Telegram "Kompas.com News Update", caranya klik link //t.me/kompascomupdate, kemudian join. Anda harus install aplikasi Telegram terlebih dulu di ponsel.