ALGORITMA
ALGORITMA
pengertian Algoritma Menurut Para Ahli
Para ahli telah memberikan pengertian mengenai apa itu algoritma dan kami telah merangkum beberapa pendapat ahli tersebut. Berikut adalah beberapa pendapat para ahli mengenai algoritma
1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi
Istilah algoritma pertama kali diperkenalkan oleh seorang ilmuwan matematika sekitar tahun 825 Masehi. Beliau bernama Abu Ja’far Muhammad Ibn Musa Al Khwarizmi. Istilah algoritma berada di dalam buku yang ditulis oleh beliau dengan judul Al-Jabr Wa-al Muqabla. Abu Ja’far Muhammad Ibn Musa Al Khwarizmi mengatakan bahwa algoritma adalah sebuah cara atau metode khusus yang dapat digunakan untuk menyelesaikan satu atau beberapa masalah.
2. Marvin Minsky
Marvin Minsky merupakan seorang ahli Artificial Intelligence (AI) , berpendapat bahwa algoritma adalah suatu perangkat yang berbentuk aturan yang dapat menginformasikan kepada kita dari satu waktu ke waktu lainnya dan informasi yang diberikan merupakan bagaimana cara untuk bertindak.
3. Sismoro
Menurut Sismoro, algoritma adalah sekumpulan instruksi atau langkah-langkah yang sudah dituliskan secara sistematis dan digunakan untuk menyelesaikan suatu persoalan atau suatu permasalahan matematika dan logika dengan bantuan komputer.
4. Seymour Lipschutz dan Marc Lipson
Seymour Lipschutz dan Marc Lipson menyatakan bahwa algoritma adalah sebuah daftar yang berisi langkah demi langkah yang terhingga yang berasal dari berbagai macam perintah yang sudah dijelaskan supaya bisa digunakan untuk menyelesaikan atau memecahkan suatu permasalahan yang ada.
5. Kani
Menurut Kani, algoritma adalah suatu usaha dengan sebuah urutan operasi yang sudah disusun secara sistematis dan logis dan dapat dimanfaatkan untuk menyelesaikan sebuah permasalahan demi menciptakan sebuah output tertentu.
6. S. E. Goodman dan S.T. Hedetniemi
Menurut S. E. Goodman dan S.T. Hedetniemi, algoritma adalah suatu urutan atau susunan yang sifatnya terbatas dari berbagai operasi yang sudah bisa dijelaskan serta setiap operasi membutuhkan waktu dan memori yang terbatas untuk memecahkan suatu permasalahan tertentu.
7. Donald Ervin Knuth
Donald Ervin Knuth mengatakan bahwa algoritma adalah kumpulan aturan-aturan yang berhingga dan bisa memberikan serangkaian operasi agar dapat memecahkan suatu permasalahan yang sedang terjadi.
Dari pendapat para ahli , kami menarik kesimpulan bahwa. Algoritma adalah rangkaian instruksi dan aturan yang tersusun secara sistematis serta logis yang dapat dimanfaatkan untuk menyelesaikan masalah dan mendapatkan output yang diharapkan.
Contoh Kasus
Bagaimana cara menyusun angka dari yang terbesar ke terkecil dari angka random.
Pseudo code
1. Asumsikan bahwa angka pertama Adalah angka terkecil
2. Bandingkan angka pertama dengan angka disampingnya
3. Bila lebih kecil, ubah posisi dengan angka disampingnya
4. Lanjut bandingkan hingga angka terakhir
5. Ulangi dari Langkah pertama hingga tak ada lagi angka yang bisa dibandingkan
Input , Proses , Output
Pada percobaan kali ini , kami akan menggunakan input berupa angka random. Dibawah ini adalah angka yang akan kita gunakan.
int[] angka = {3, 9, 4, 32, 231, 5, 8, 0, 4};
Selanjutnya kita akan memasuki proses untuk menyusun angka random yang telah kita pilih menjadi angka yang berurutan dari yang terbesar ke yang terkecil
for (int i = 0; i < angka.length - 1; i++) {
for (int j = 0; j < angka.length - i - 1; j++) {
if (angka[j] < angka[j + 1]) {
int c = angka[j];
angka[j] = angka[j + 1];
angka[j + 1] = c;
}
}
}
Pada code diatas , kami membandingkan angka mulai dari yang paling kiri ke kanan. Asumsikan bahwa angka 3 adalah angka terkecil. Bandingkan angka 3 dengan angka disamping kanannya. Jika angka 3 lebih kecil , maka tukar posisi dari kedua angka tersebut. Selanjutnya kita akan membandingkan angka kedua ke angka ketiga. Perbandingan pertama akan terus di lanjut hingga tak ada lagi angka yang tersisa. Dengan begitu , angka terkecil akan pindah ke posisi terakhir. Kita akan mengulangi perbandingan mulai dari kiri lagi dengan aturan yang sama namun hanya dibandingkan hingga angka kedua paling akhir. Selanjutnya proses perbandingan akan terus diulangi dan akan terus dikurangi satu batas akhirnya hingga tak ada lagi angka yang bisa dibandingkan.
3, 9, 4, 32, 231, 5, 8, 0, 4
9, 4, 32, 231, 5, 8, 3, 4, 0
9, 32, 231, 5, 8, 4, 4, 3, 0
32, 231, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
231, 32, 9, 8, 5, 4, 4, 3, 0
Runtutan angka diatas adalah runtutan perubahan tiap putaranya. Angka berwarna merah merujuk pada angka yang tidak lagi dibandingkan dalam putarannya. Kita akhirnya mendapatkan output yang diinginkan yaitu
231 32 9 8 5 4 4 3 0
Berikut adalah code lengkap dalam bahasa pemrograman java
public class algoritmaSederhana {
public static void main(String[] args) {
int[] angka = {3, 9, 4, 32, 231, 5, 8, 0, 4};
for (int i = 0; i < angka.length - 1; i++) {
for (int j = 0; j < angka.length - i - 1; j++) {
if (angka[j] < angka[j + 1]) {
int c = angka[j];
angka[j] = angka[j + 1];
angka[j + 1] = c;
}
}
}
for (int a : angka) System.out.print(a + " ");
}
}
Efektivitas
Alasan mengapa algoritma ini efektif dikarenakan 3 hal , yaitu perbandingan, logika dan perulangan. Perbandingan berperan dalam menentukan manakah angka terbesar dan terkecil dalam daftar. Logika berperan untuk menukarkan angka terbesar dan terkecil ke dalam urutan yang diinginkan. Namun , urutan yang diinginkan tidak akan bisa tercapai hanya dengan satu kali membandingkan dan menukarkan angka. Maka disinilah kita membutuhkan perulangan untuk terus mengulang perbandingan dan pengurangan hingga tak ada lagi angka yang bisa dibandingkan dan ditukarkan. Angka yang dapat dibandingkan dan dipertukarkan akan berkurang satu disetiap perulangan yang berfungsi sebagai batas perulangan.
Lalu bagaimana jika inputnya diubah? Jika inputnya diubah , bisa saja terjadi masalah dan bisa juga tidak. Masalah akan terjadi jika angka yang dimasukan melebihi batas atas dan bawah tipe data , solusinya adalah dengan mengganti tipe data ke tipe data yang batas atas dan bawahnya lebih besar. Jika input tidak melebihi batas tipe data maka akan baik-baik saja.
Bagaimana cara Memastikan Algoritma yang di Buat dan Kembangkan Tidak Hanya Efektif dan Efisien tapi juga Adil dan Transparan
Untuk memastikan algoritma tetap adil dan transparan kita , kita harus melibatkan kelompok yang akan terdampak oleh program yang dibuat. Kita juga harus melakukan uji coba model dan mendapatkan feedback dari pengguna. Program yang kita buat harus dengan penuh etika , bila perlu libatkan seorang ahli etika. Untuk trasparasinya , dokumentasinya harus jelas agar orang orang bisa paham cara kerja dan batasannya. Ingatlah bahwa penting untuk mematuhi undang undang yang berlaku.

tutor bang
BalasHapussini ke perpus tak ajarin
HapusWidihhh gacor lagi mas wahyu
BalasHapuspunyamu juga gacor mas
HapusIngpo joki blog kak
BalasHapuskata mama
Hapusmahasiswa dak boleh joki
oooo jadigitu bang makasi babg
BalasHapusKeren kakaaa🔥🔥
BalasHapusGood job🔥🔥🔥
BalasHapus