Pengertian Algoritma Pemrograman dan Contohnya



Nama : Toni Sion Samuel
NPM : 5A414813
Mata Kuliah : Algoritma dan Pemrograman 1A
Dosen : Kunto Bayu A , ST


Dalam matematika dan ilmu komputer, algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritma digunakan untukpenghitungan, pemrosesan data, dan penalaran otomatis.


Asal mula Kata Algoritma

Algoritma adalah langkah-langkah yang disusun secara tertulis dan berurutan untuk menyelesaikan suatu masalah.  Sedangkan Algoritma Pemrograman adalah langkah-langkah yang ditulis secara berurutan untuk menyelesaikan masalah pemrograman komputer. 'Algoritma' muncul dari 'Algoritmi', bentuk Latin dari al-Khwarizmi, matematikawan, ahli astronomi, dan ahli geografi dari Persia. Kata algoritma datang dari nama matematikawan Persia abad ke-9 Abu Abdullah Muhammad ibnu Musa Al-Khwarizmi, yang hasil kerjanya dibangun dari matematikawan India abad ke-7 Brahmagupta. Kata algorisma awalnya mengacu hanya pada aturan-aturan dalam melakukan aritmatika menggunakan bilangan Hindu-Arab namun berkembang lewat penerjemahan Latin Eropa dari nama Al-Khwarizmi menjadi algoritma pada abad ke-18. Penggunaan kata tersebut berkembang mengikutkan semua prosedur untuk menyelesaikan masalah atau melakukan unit kegiatan.

Dalam pemrograman yang sederhana, algoritma merupakan langkah pertama yang harus ditulis sebelum menuliskan program. Masalah yang dapat diselesaikan dengan pemrograman komputer adalah masalah-masalah yang berhubungan dengan perhitungan matematik.

Salah satu cara mengklasifikasikan algoritma yaitu dengan cara implementasi.

Rekursi atau iterasi

Sebuah algoritma rekursi yaitu algoritma yang memanggil dirinya sendiri berulang kali sampai kondisi tertentu tercapai, ini merupakan metode umum bagi pemrograman fungsional. Algoritma iteratif menggunakan konstruksi berulang seperti pengulangan dan terkadang struktur data tambahan seperti tumpukan untuk menyelesaikan permasalahan. Beberapa permasalahan secara alami cocok dengan satu implementasi atau lainnya. Sebagai contoh, Menara Hanoi dikenal dengan implementasi rekursif. Setiap versi rekursif memiliki kesamaan (tapi bisa lebih atau kurang kompleks) dengan versi iteratif, dan sebaliknya.

Logical

Sebuah algoritma bisa dilihat sebagai logika deduksi terkontrol. Pernyataan ini diekspresikan sebagai: Algoritma = logika + kontrol. Komponen logika mengekspresikan aksioma yang bisa digunakan dalam komputasi dan komponen kontrol menentukan cara deduksi digunakan pada aksioma. Ini merupakan dasar dari paradigma pemrograman logika. Dalam bahasa pemrograman logika murni komponen kontrol adalah tetap dan algoritma ditentukan dengan memberikan hanya komponen logikanya. Daya tarik dari pendekatan ini adalah semantik elegan: sebuah perubahan dalam aksioma memiliki perubahan dalam algoritma.

Serial, paralel atau terdistribusi

Algoritma biasanya dibicarakan dengan asumsi bahwa komputer menjalankan satu instruksi algoritma setiap waktu. Komputer tersebut terkadang disebut dengan komputer serial. Rancangan algoritma untuk lingkungan tersebut disebut dengan algoritma serial, terbalik dengan algoritma paralel atau algoritma terdistribusi. Algoritma paralel memanfaatkan arsitektur komputer yang mana beberapa prosesor bisa mengerjakan masalah di waktu yang sama, selain itu algoritma terdistribusi memanfaatkan banyak mesin yang terhubung dengan jaringan. Algoritma paralel atau terdistribusi membagi permasalahan menjadi banyak sub-masalah simetris atau asimetris dan mengumpulkan hasilnya kembali. Konsumsi sumber pada algoritma tersebut tidak hanya perputaran prosesor disetiap prosesor tapi juga daya komunikasi antara prosesor. Algoritma pengurutan bisa diparalelkan secara efisien, tapi biaya komunikasinya sangat mahal. Algoritma iteratif secara umum bisa diparalelkan. Beberapa permasalahan tidak ada algoritma paralelnya, dan disebut dengan permasalahan serial lahiriah.

Deterministik atau non-deterministik

Algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat disetiap langkah dari algoritma sedangkan algoritma non-deterministik menyelesaikan masalah lewat penerkaan walaupun penerkaan biasanya lebih akurat dengan menggunakan heuristik.

Tepat atau perkiraan

Bila banyak algoritma sampai pada solusi yang tepat, algoritma perkiraan mencari sebuah perkiraan yang terdekat dengan solusi benarnya. Perkiraan bisa menggunakan baik strategi deterministik atau acak. Algoritma seperti itu memiliki nilai guna untuk banyak permasalahan sulit.

Algoritma quantum

Berjalan di model realistik dari komputasi quantum. Istilah ini biasanya digunakan untuk algoritma yang tampak pada dasarnya quantum, atau menggunakan beberapa fitur penting komputasi quantum seperti superposisi quantum atau belitan quantum.


Hal yang penting dikuasai dalam pemrograman adalah logika berpikir bagaimana cara kita memecahkan masalah pemrograman yang akan dibuat. Terkadang ada masalah matematis yang sangat gampang jika diselesaikan secara tertulis, namun cukup sulit untuk diterjemahkan ke dalam pemrograman. Jika menemukan hal seperti itu, maka algoritma dan logika pemrograman sangat penting untuk memecahkan masalah.

Sebagai contoh, saya mengambil masalah Frekuensi data. Misalnya ada sekelompok data seperti berikut :

4    2    6    7    4    2    6    6    9    3    5    6    2    6    5    4

Secara tertulis, frekuensi data diperoleh dengan cara menghitung banyaknya tiap data dan menuliskan data mulai dari data yang terkecil ke terbesar dalam tabel. Kolom pertama berisi data dan kolom kedua berisi frekuensi masing-masing data.



Kalau belum mengerti, coba lihat gambar di bawah ini !



dengan kata lain pemecahan masalah dari gambar diatas adalah menbuat data yang acak menjadi data yang sistematis. mulai dari frekuensi yang terkecil menjadi yang terbesar dengan berurutan.

Cukup mudah bukan? Bagaimana jika cara  mencari frekuensi di atas dibuat dalam bentuk program? Cukup sulit karena kita perlu menguasai logika pemrograman. Namun kasus ini akan saya bahasa nanti, jika tidak ada halangan.

Baiklah kita mulai untuk membuat Algoritma pemrograman yang sederhana seperti contoh di bawah ini.
Contoh-1 :

Buatlah algoritma untuk menghitung frekuensi data seperti pada contoh kasus di atas.

Algoritmanya adalah :
Mulai
Tentukan banyaknya data (n)
Tentukan data sebanyak N
Urutkan data secara Ascending (Mulai dari data kecil ke besar)
Hitung banyaknya data (frekuensi ) tiap data
Tampilkan Frekuensi data dalam bentuk tabel
Selesai

Setelah menuliskan algoritma, maka langkah selanjutnya adalah menggambarkan algoritma tersebut dalam bentuk bagan alir yang disebut flowchart.
Semoga bermanfaat.
Referensi : Google.com
Sumber :
 http://spatabang.blogspot.com/2014/01/pengertian-algoritma-pemrograman-dan.html
id.wikipedia.org/wiki/Algoritma

4 komentar: