Lompat ke konten Lompat ke sidebar Lompat ke footer

Widget Atas Posting

Pengertian dan Kriteria Algoritma

Pengertian dan Kriteria Algoritma. Pemahaman terhadap konsep kerja dan logika pemrograman merupakan hal awal yang harus dicapau dalam melakukan pemrograman. Sebuah pemrograman sangat erat kaitannya dengan konsep kerja sebuah komputer, yang terdapat logika dasar input, proses, dan output. Hal ini berarti bahwa harus ada data yang diinput, baik secara langsung maupun tidak langsung, selanjutnya akan diproses, kemudian hasil proses ini akan ditampilkan ke layar maupun ke media keluaran lainnya.

Dalam menyelesaikan masalah dengan komputer khususnya dalam membuat program, seseorang dituntut untuk memiliki pemahaman dan penguasaan yang baik mengenai Algoritma.

Pengertian Algoritma

Algoritma berasal dari kata al-kwarizmi yang terdapat di buku Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi. Beliau adalah seorang ahli Matematika dari Persia yang menulis buku dengan judul “Aljabar wal Muqabala”. Terdapat banyak definisi dari Algoritma, namun tujuannya adalah sama. Pada intinya Algoritma merupakan susunan langkah-langkah penyelesaian suatu masalah secara sistematis dan logis. Penekanan utama Algoritma dalan definsi tersebut adalah pada Sistematis dan Logis.

Membangun sebuah program pada dasarnya adalah membuat alat bantu untuk menyelesaikan suatu masalah. Sebelum kita dapat menghasilkan program yang mampu membantu kita menyelesaikan masalah tersebut, kita dihadapkan pada tiga tahapan pokok sebagai berikut.

  1. Memahami permasalahan dan tujuan sebuah program dibuat. Pada tahap ini kita harus mampu mengidentifikasi jenis, bentuk dan karakteristik input serta output yang diharapkan. Tetapi untuk skala permasalahan yang besar, selain jenis, bentuk dan karakteristik, kita juga perlu mengetahui dengan pasti asal, frekuensi dan volume data input serta tujuan, frekuensi dan volume data output yang diharapkan.

  2. Mampu menyusun konsep/rancangan/desain penyelesaian dari masalah yang akan kita selesaikan. Dari hasil pemahaman kita terhadap permasalahan di atas, kita harus mampu merancang sebuah alur proses untuk mengolah data input dan menghasilkan data output dengan jenis, bentuk dan karakteristik seperti yang diharapkan.

  3. Mampu mengimplementasikan hasil rancangan kita dalam bentuk program yang terstruktur. Program tersebut dapat kita buat dengan menggunakan sembarang bahasa pemrograman. Untuk itulah kita harus memahami dan menguasai komponen bahasa pemrograman dan teknik pemrograman dengan baik

Untuk tahap pertama, dapat dicapai dengan cara sering berlatih dalam mengamati dan memahami suatu permasalahan. Pada tahap kedua, hasil pengamatan dan pemahaman terhadap permasalahan riil harus dituangkan ke dalam sebuah bentuk alur penyelesaian masalah. Ini yang sering kali disebut sebagai algoritma. Terdapat sebuah alasan mengapa harus merumuskan penyelesaian masalah tersebut ke dalam bentuk alur yang terstruktur. Hal ini disebabkan komputer sebagai alat bantu yang berupa mesin tidak mampu menyelesaikan masalah seperti manusia yang sering kali berpikir tidak terstruktur. Komputer hanya mampu diberi perintah secara berurutan dan mengoptimalkan kemampuan komputer melakukan komputasi dengan cepat dan dalam jumlah besar. Selanjutnya pada tahap ketiga, hasil penyusunan alur penyelesaian masalah (yang sudah terbentuk dalam format algoritma) diaplikasikan ke dalam komputer melalui penulisan sebuah program dengan menggunakan bahasa pemrograman. Proses ini lazim disebut sebagai coding.

Sebuah program pada dasarnya berisi rangkaian instruksi yang saling terkait satu dengan lainnya (membentuk alur proses) dan tersusun secara terstruktur sedemikian hingga apabila program tersebut dijalankan akan dapat menghasilkan output seperti yang diharapkan. Pada sembarang bahasa pemrograman, alur instruksinya akan sama untuk masalah yang sama, perbedaannya hanya terletak pada cara penulisan instruksi (sintaks) yang berbeda antara satu bahasa pemrograman dengan bahasa pemrograman yang lain, seperti halnya pada bahasa yang digunakan untuk berkomunikasi antarmanusia. Karena alur dan bentuk rangkaian instruksi itulah yang mewakili logika pemikiran dalam menyelesaikan masalah tersebut, atau sering disebut algoritma. Dikatakan algoritma karena alur pemikiran tersebut ditulis dalam bentuk yang terstruktur hingga mudah untuk diimplementasikan menjadi sebuah program melalui bahasa pemrograman sembarang.

Kriteria Algoritma

Menurut Donald E. Knuth, algoritma yang baik memiliki kriteria sebagai berikut :

1. Input

Suatu algoritma harus memiliki 0 (nol) atau lebih masukan (input). Artinya, suatu algoritma itu dimungkinkan tidak memiliki masukan secara langsung dari pengguna tetapi dapat juga memiliki beberapa masukan. Algoritma yang tidak memiliki masukan secara langsung dari pengguna, maka semua data dapat diinisialisaikan atau dibangkitkan dalam algoritma.

2. Output

Suatu algoritma harus memiliki satu atau lebih algoritma. Suatu algoritma yang tidak memiliki keluaran (output) adalah suatu algoritma yang sia-sia, yang tidak perlu dilakukan. Algoritma dibuat untuk tujuan menghasilkan sesuatu yang diinginkan, yaitu berupa hasil keluaran.

3. Finiteness

Setiap pekerjaan yang dikerjakan pasti berhenti. Demikian juga algoritma harus dapat dijamin akan berhenti setelah melakukan sejumlah langkah proses.

4. Definiteness

Tidak menimbulkan makna ganda (ambiguous). Setiap baris aksi / pernyataan dalam suatu algoritma harus pasti, artinya tidak menimbulkan penafsiran lain bagi setiap pembaca algoritma, sehingga memberikan output yang sesuai dengan yang diharapkan oleh pengguna.

5. Effectiveness

Langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Suatu algoritma tidak terdapat suatu aksi yang tidak perlu dilakukan. Setiap aksi akan memerlukan waktu eksekusi, padahal aksi tersebut jelas tidak berpengaruh atau tidak ada gunanya. Misalnya aksi X ß X + 0. Aksi ini jelas tidak ada pengaruh dan tidak ada gunanya karena X + 0 akan menghasikan bilangan X juga yang berarti tidak berguna. Jadi, tidak perlu dilakukan karena sia-sia.

2 komentar untuk "Pengertian dan Kriteria Algoritma"