Ikhsanudin
195060701111012 / B
Algoritma
Algoritma adalah urutan dari beberapa langkah logis dan sistematis untuk memecahkan suatu masalah. Hal
ini ditekankan pada urutan langkah logis, yang artinya algoritma harus mengikuti suatu urutan tertentu, dan
langkah-langkahnya tidak boleh diloncat atau diacak. Algoritma digunakan untuk melakukan penghitungan,
penalaran otomatis, serta mengolah data pada komputer dengan menggunakan software. Dalam algoritma
terdapat rangkaian terbatas dari beberapa intruksi untuk menghitung suatu fungsi yang jika dieksekusi dan
diproses akan menghasilkan output, lalu berhenti pada kondisi akhir yang sudah ditentukan.
Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan/bahasa dan bentuk gambar. Penyajian
algoritma dalam bentuk bahasa/tulisan harus memakai sebuah bahasa yang dapat dimengerti manusia dalam
membuat langkah-langkah dari algoritma itu sendiri. Penyajian algoritma dalam bentuk tulisan/bahasa dapat
dilakukan dengan memakai pseudocode. Pseudocode berasal dari "pseudo" aritnya "menyerupai atau mirip"
dan "code" yaitu "kode program". Contoh dari beberapa bahasa pemrograman yang sering digunakan untuk
menyatakan pseudocode antara lain : pascal, BASIC, Pascal, C, dan lain sebagainya. Terdapat juga penyajian
algoritma yang dalam bentuk gambar disebut flow chart.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art Of Computer Programming, ada lima ciri
penting algoritma yaitu sebagai berikut :
Terbatas (Finite) : Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
Pasti (Definite) : Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas.
Setiap langkah-langkah harus dijelaskan dengan jelas.
Efisien : Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1
+ 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka
hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu
dimasukkan ke dalam sebuah algoritma.
Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari
awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya seperti algoritma memasak air.
Langkah demi langkah yang dijalankan harus urut dari atas sampai bawah.
Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa
langkah tertentu secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula sebuah langkah
yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur
pakaian:
Siapkan jemuran -> ambil satu pakaian yang nantinya akan dijemur -> peras pakaian tersebut terlebih dahulu
-> letakkan pakaian tersebut pada tiang jemuran -> ulangi langkah dari 2 sampai 4 hingga pakaian habis.
3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya
apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari algoritma bersyarat :
Membuat Mie Goreng
Siapkan mie goreng instant -> apakah mie instan ada? -> jika tika tidak, beli di warung -> keluarkan mie beserta
bumbu-bumbunya -> siapkan piring -> lihat kondisi piring, jika kotor dicuci dulu -> jika bersih siap digunakan
-> buka bumbu-bumbunya -> letakkan didalam piring -> siapkan panci -> lihat kondisi panci, jika kotor dicuci
dulu -> jika bersih panci dengan air secukupnya -> letakkan panci diatas kompor -> nyalakan kompor -> tunggu
hingga air mendidih -> jika sudah mendidih, masukkan mie -> tunggu hingga mie matang -> setelah mie
matang, matikan kompor -> siapkan saringan, lihat kondisi saringan jika kotor dicuci dulu -> tuang mie ke
saringan, tunggu sampai airnya tiris -> masukkan kedalam piring -> siapkan sendok dan garpu, lihat kondisinya
jika kotor dicuci dulu -> jika bersih aduk mie menggunakan sendok dan garpu -> mie goreng siap dihidangkan.
Algoritma rekursi adalah algoritma yang memanggil dirinya sendiri secara berulang-ulang. Sedangkan
algoritma iterasi adalah algoritma yang memakai konstruksi berulang dimana terkadang terdapat data
tambahan pada struktur yang dibuat.
Logical
Algoritma logical adalah algoritma yang dapat memposisikan diri seperti logika deduksi yang terkontrol.
Algoritma serial adalah algoritma yang menjalankan satu instruksi saja. Algoritma parallel adalah algoritma
yang dapat mengerjakan suatu perintah dalam waktu yang sama. Sedangkan algoritma terdistribusi adalah
algoritma yang memakai banyak mesin yang terkoneksi dengan jaringan.
Algoritma deterministik adalah algoritma yang dapat memecahkan suatu masalah dengan keputusan yang
tepat. Sedangkan algoritma Non-deterministik adalah algoritma yang memecahkan suatu masalah dengan
metode penerkaan.
Suatu algoritma mungkin saja memiliki solusi yang tepat, atau setidaknya mempunyai perkiraan yang
mendekati solusi yang benar. Dalam merumuskannya dapat dilakukan dengan strategi deterministic ataupun
secara acak.
Algoritma Quantum
Algoritma quantum adalah algoritma yang menggunakan model realistik dari komputasi quantum.
Adapun contoh penerapan algoritma dasar pemrograman adalah sebagai berikut:
1. Algoritma Narasi
Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai mahasiswa lebih besar atau sama
dengan 60 maka mahasiswa tersebut dinyatakan lulus. Sedangkan jika nilainya lebih kecil dari 60, maka
mahasiswa tersebut dinyatakan tidak lulus.
Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai mahasiswa lebih besar atau sama
dengan 60 maka mahasiswa tersebut dinyatakan lulus. Sedangkan jika nilainya lebih kecil dari 60, maka
mahasiswa tersebut dinyatakan tidak lulus.
3. Algoritma Flowchart
Berikut ini adalah beberapa contoh dari algoritma flowchart. Fungsi flowchart pada pemrograman adalah
untuk memudahkan programmer ketika merancang sebuah program komputer. Ini dia contoh-contohnya:
Algoritma flowchart di bawah ini adalah contoh flowchart untuk menghitung luas lingkaran
dengan rumus L = πr2:
Algoritma:
Program dimulai
Tentukan nilai phi dan r
Hitung L = phi x r2
Cetak Hasil L
Program Selesai
Moh. Ikhsanudin
195060701111012 / B
Algoritma
Algoritma adalah urutan dari beberapa langkah logis dan sistematis untuk memecahkan suatu masalah. Hal
ini ditekankan pada urutan langkah logis, yang artinya algoritma harus mengikuti suatu urutan tertentu, dan
langkah-langkahnya tidak boleh diloncat atau diacak. Algoritma digunakan untuk melakukan penghitungan,
penalaran otomatis, serta mengolah data pada komputer dengan menggunakan software. Dalam algoritma
terdapat rangkaian terbatas dari beberapa intruksi untuk menghitung suatu fungsi yang jika dieksekusi dan
diproses akan menghasilkan output, lalu berhenti pada kondisi akhir yang sudah ditentukan.
Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan/bahasa dan bentuk gambar. Penyajian
algoritma dalam bentuk tulisan/bahasa dapat dilakukan dengan memakai pseudocode. Pseudocode berasal
dari "pseudo" aritnya "menyerupai atau mirip" dan "code" yaitu "kode program". Contoh dari beberapa
bahasa pemrograman yang sering digunakan untuk menyatakan pseudocode antara lain : pascal, BASIC,
Pascal, C, dan lain sebagainya. Terdapat juga penyajian algoritma yang dalam bentuk gambar disebut flow
chart.
Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari
awal hingga akhir.
Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa
langkah tertentu secara berulang-ulang atau looping.
Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya
apabila terdapat syarat yang sudah dapat dipenuhi.
Algoritma rekursi adalah algoritma yang memanggil dirinya sendiri secara berulang-ulang. Sedangkan
algoritma iterasi adalah algoritma yang memakai konstruksi berulang dimana terkadang terdapat data
tambahan pada struktur yang dibuat.
Logical
Algoritma logical adalah algoritma yang dapat memposisikan diri seperti logika deduksi yang terkontrol.
Algoritma serial adalah algoritma yang menjalankan satu instruksi saja. Algoritma parallel adalah algoritma
yang dapat mengerjakan suatu perintah dalam waktu yang sama. Sedangkan algoritma terdistribusi adalah
algoritma yang memakai banyak mesin yang terkoneksi dengan jaringan.
Deterministik atau Non-deterministik
Algoritma deterministik adalah algoritma yang dapat memecahkan suatu masalah dengan keputusan yang
tepat. Sedangkan algoritma Non-deterministik adalah algoritma yang memecahkan suatu masalah dengan
metode penerkaan.
Suatu algoritma mungkin saja memiliki solusi yang tepat, atau setidaknya mempunyai perkiraan yang
mendekati solusi yang benar. Dalam merumuskannya dapat dilakukan dengan strategi deterministic ataupun
secara acak.
Algoritma Quantum
Algoritma quantum adalah algoritma yang menggunakan model realistik dari komputasi quantum.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art Of Computer Programming, ada lima ciri
penting algoritma yaitu sebagai berikut :
Terbatas (Finite) : Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
Pasti (Definite) : Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas.
Setiap langkah-langkah harus dijelaskan dengan jelas.
Efisien : Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1
+ 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka
hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu
dimasukkan ke dalam sebuah algoritma.
1. Algoritma Narasi
Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai mahasiswa lebih besar atau sama
dengan 60 maka mahasiswa tersebut dinyatakan lulus. Sedangkan jika nilainya lebih kecil dari 60, maka
mahasiswa tersebut dinyatakan tidak lulus.
3. Algoritma Flowchart
Berikut ini adalah beberapa contoh dari algoritma flowchart. Fungsi flowchart pada pemrograman adalah
untuk memudahkan programmer ketika merancang sebuah program komputer. Ini dia contoh-contohnya:
Algoritma flowchart di bawah ini adalah contoh flowchart untuk menghitung luas lingkaran dengan rumus L =
πr2:
Algoritma:
Program dimulai
Tentukan nilai phi dan r
Hitung L = phi x r2
Cetak Hasil L
Program Selesai