3. Algoritma
Algoritma merupakan langkah-langkah sistematis untuk menyelesaikan suatu masalah atau tugas tertentu. Pada pemrograman komputer, algoritma berperan sebagai panduan atau rencana yang jelas untuk menjalankan suatu program dengan efisien. Adapun sebuah algoritma dapat dianggap sebagai serangkaian instruksi logis yang dirancang untuk mencapai tujuan tertentu.
Jenis- Jenis Algoritma
berbagai jenis algoritma dikembangkan untuk menangani berbagaimacam masalah atau tugas. Berikut beberapa contoh jenis algoritmA yang umum digunakan.
a. algoritma Pengurutan
Algoritma pengurutan digunakan untuk mengurutkan elemen-elemen data dalam urutan tertentu, seperti pengurutan dari yang terkecil ke yang terbesar atau sebaliknya. adapun contoh algoritma pengurutan termasuk bubble sort, insertion sort, dan quick sort.
b. Algoritma Pencarian
Algoritma pencarian membantu menemukan nilai terentu dalam kumpulan data. Algoritma ini digunakan untuk mencari elemen tertentu dan menentukan pakah elemen tersebut ada atau tidak dalam data. adapun contoh algoritma pencarian meliputi linear search dan binary search.
c. Algoritma rekursif
Algorithma rekursif memanfaatkan konsep pemanggilan diri sendiri. algoritma ini dapat memecahkan masalah dengan membaginya menjadi sub masalah yang lebih kecil. Adapun contoh algoritma rekursif termasuk faktorial dan fibonacci.
Kriteria algoritma menurut Donald E. Knuth
adapun algoritma menurut kriteria algoritma menurut Donald E. Knuth sebagai berikut.
a. input : algoritma dapat memiliki nol atau lebih inputan dari luar.
b. Output : algoritma harus memiliki minimal satu buah output keluaran.
c. Definiteness : (pasti) : algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
d. Finiteness (D batas) : algoritma harus memiliki titik berhenti (stoping role).
e. effectiveness (cepat dan efisien) : algoritma sebisa mungkin harus dapat dilaksasanakan dan efektif.
Penyajian algoritma
Algorotma dapat disajikan dalam dua bentuk, yaitu pseudocode (teknik penulisan algoritma seperti stuktur bahasa inggris) dan flowchart ( teknik visual). pseudocode adalah penyajian algoritma dalam bahasa Indonesia atau bahasa Inggris dan juga sering disebut sebagai outline dari sebuah program komputer. Sementara flowchart merupakan alur penulisan algoritma menggunakan simbol-simbol gambar yang dihibungkan dengan tanda panah sebagai penanda alur suatu proses.
a. Notasi Bagan Alir (Flowchart)
Flowchart digunakan untuk mengekspresikan instruksi-instruksi algoritma dalam bentuk geometri seperti persegi panjang, lingkaran, jajar genjang, dan intan (diamond). Kelebihan notasi algoritma ini memungkinkan visualisasi kumpulan instruksi algoritma dan mudah dipahami alurnya. Flowchart cocok untuk algoritma program yang tidak terlalu besar atau kompleks. Namun, kekurangannya adalah kurang praktis karena membutuhkan banyak tempat dan beberapa lembar kertas untuk mengambarkan aliran proses program. Selain itu, konversi kedalam bahasa pemrograman bisa menjadi lebih sulit. simbol-simbol flowchart umumnya digunakan adalah yang dikeluarkan oleh ANSI dan ISO. Berikut pnjelasan simbol-simbol flowchart
b. Notasi Menggunakan Pseudocode
Pseudocode adalah notasi yang digunakan untuk mendeskripsikan langkah-langkah algoritma menggunakan bahasa manusia yang lebih sederhana dan mudah dipahami. Pseudocode bukan merupakan bahasa pemrograman yang spesifik, tetapi lebih sebagai alat bantu dalam merencanakan dan mengomunasikan logika suatu algoritma sebelum diimplementasikan dalam bentuk bahasa pemrograman tertentu. Adapun contoh pseudocode sebagai berikut.
input: terima dua bilangan dari pengguna
. proses: jumlahkan kedua bilangan
. output: tampilkan hasil penjumlahan
Pseudocode membantu mengkomunakasikan ide dan langkah-langkah algoritma tanpa terikat pada sintaksis bahasa pemrograman tertentu, memudahkan pemahaman dan pengembangan program.