APA ITU ALGORITMA?

 






1. ETIMOLOGI

Asal-usul algoritma dapat ditelusuri kembali ke masa prasejarah. Sejak sekitar tahun 2500 SM, matematikawan di Babilonia kuno dan kemudian di Mesir (sekitar tahun 1550 SM) telah menggunakan algoritma aritmatika, seperti metode pembagian. Sekitar 240 SM, ahli matematika Yunani seperti Eratosthenes dan Euclid juga memanfaatkan algoritma. Eratosthenes menggunakan Saringan Eratosthenes untuk menemukan bilangan prima, sementara Euclid menggunakan Algoritma Euklides untuk menentukan pembagi persekutuan terbesar dari dua bilangan. Selain itu, pada abad ke-9, matematikawan Arab, termasuk al-Kindi, menerapkan algoritma kriptografi yang didasarkan pada analisis frekuensi untuk memecahkan kode.

Asal Nama "Algoritma"

Nama "algoritma" berasal dari nama seorang matematikawan Persia abad ke-9, Muḥammad bin Mūsā al-Khwārizmī. Namanya, yang dilatinkan menjadi Algoritmi, menunjukkan bahwa ia berasal dari Khwarezmia, sebuah wilayah yang kini menjadi bagian dari Uzbekistan. Sekitar tahun 825, al-Khwārizmī menulis sebuah risalah berbahasa Arab tentang sistem angka Hindu-Arab. Ketika diterjemahkan ke dalam bahasa Latin pada abad ke-12, terjemahan itu dimulai dengan frasa, *Dixit Algorizmi* (Maka berkatalah Al-Khwarizmi). **Algorizmi** di sini adalah versi Latin dari nama al-Khwārizmī yang digunakan oleh penerjemah.

Buku al-Khwārizmī yang terkenal, **Aljabar**, menjadi salah satu buku matematika yang paling banyak dibaca di Eropa selama Abad Pertengahan. Nama al-Khwārizmī kemudian diadaptasi ke dalam bahasa Latin abad pertengahan menjadi *algorismus*, yang awalnya merujuk pada "sistem bilangan desimal". Pada abad ke-15, kata ini diubah menjadi *algorithmus* di bawah pengaruh kata Yunani *ἀριθμός* (*arithmos*), yang berarti "angka".

Dalam bahasa Inggris, kata *algorithm* pertama kali tercatat sekitar tahun 1230 dan kemudian muncul dalam karya Chaucer pada tahun 1391, yang diadopsi dari bahasa Prancis. Namun, kata ini baru mendapatkan maknanya yang modern seperti sekarang pada abad ke-19.

2. PENGERTIAN


Dalam matematika dan ilmu komputer, algoritma adalah serangkaian instruksi yang terstruktur dan terbatas, yang dirancang untuk memecahkan atau melaksanakan masalah komputasi. Algoritma berfungsi sebagai panduan untuk melakukan perhitungan dan pemrosesan data. Versi yang lebih canggih bahkan bisa melakukan penalaran otomatis (deduksi otomatis) dan mengambil keputusan secara mandiri (pengambilan keputusan otomatis) dengan menggunakan tes matematis dan logis. Penggunaan istilah-istilah yang merujuk pada sifat manusia, seperti "ingatan," "pencarian," dan "rangsangan," untuk menjelaskan fungsi mesin, sudah dilakukan oleh Alan Turing.
Sebaliknya, heuristika adalah pendekatan pemecahan masalah yang tidak selalu terjamin menghasilkan solusi yang benar atau optimal. Metode ini sering digunakan dalam situasi di mana tidak ada solusi yang terdefinisi dengan jelas atau solusi optimalnya tidak pasti.
Sebagai metode yang efisien, algoritma harus bisa diekspresikan dalam jumlah ruang dan waktu yang terbatas, menggunakan bahasa formal yang terdefinisi dengan jelas untuk menghitung suatu fungsi. Mulai dari kondisi dan input awal, instruksi-instruksi yang ada akan menggambarkan sebuah komputasi yang bergerak melalui serangkaian tahapan terbatas, hingga akhirnya menghasilkan "output" dan berhenti pada kondisi akhir. Meskipun demikian, transisi antar tahapan tidak selalu tetap; beberapa algoritma, yang dikenal sebagai algoritma acak, bisa menggabungkan input yang bersifat acak.

3. Komponen Dasar Algoritma

Dalam penyusunan algoritma, ada beberapa komponen utama yang menjadi pondasi agar algoritma bisa berjalan dengan baik dan dapat diterjemahkan ke dalam program komputer.

1. Input


Definisi: Data atau informasi yang dibutuhkan algoritma untuk memulai proses pengolahan.
Karakteristik Input:

· Dapat berasal dari pengguna (user input), file, sensor, atau sistem lain.

· Harus memiliki format yang jelas (misalnya angka, teks, atau data terstruktur).

· Jumlah dan jenis input harus sesuai dengan kebutuhan algoritma.

Contoh:

· Pada algoritma menghitung luas segitiga, input-nya adalah alas dan tinggi.

· Pada algoritma login, input-nya adalah username dan password.

2. Proses


Definisi: Langkah-langkah logis yang mengubah input menjadi output sesuai tujuan.
Karakteristik Proses:

· Harus jelas urutannya (dijalankan dari langkah awal sampai akhir tanpa ambigu).

· Bisa berupa operasi matematika, logika, atau manipulasi data.

· Memanfaatkan struktur kendali seperti:

o Sequence (Urutan Langkah): Instruksi dijalankan berurutan dari atas ke bawah.

o Selection (Pemilihan Kondisi): Langkah dipilih berdasarkan kondisi tertentu (if-else, switch-case).

o Looping (Perulangan): Langkah yang diulang selama kondisi terpenuhi (for, while, do-while).

Contoh:

· Mengalikan alas × tinggi lalu membaginya dengan 2 untuk mendapatkan luas segitiga.

· Mengecek apakah username dan password sesuai dengan database.

3. Output
Definisi: Hasil akhir yang dihasilkan algoritma setelah proses selesai.
Karakteristik Output:

· Harus sesuai dengan tujuan awal algoritma.

· Dapat ditampilkan di layar, disimpan ke file, dikirim ke server, atau digunakan untuk proses berikutnya.

· Format output harus mudah dipahami oleh pengguna atau sistem yang memproses selanjutnya.

Contoh:

· Nilai luas segitiga dalam satuan cm².

· Pesan “Login berhasil” atau “Password salah”.

4. Variabel
Definisi: Wadah penyimpanan data sementara yang digunakan selama algoritma berjalan.
Karakteristik Variabel:

· Memiliki nama unik (identifier).

· Memiliki tipe data tertentu (misalnya integer, float, string).

· Nilainya dapat berubah selama proses algoritma.

Contoh:

· alas = 10, tinggi = 5, luas = 25.

5. Konstanta
Definisi: Nilai tetap yang tidak berubah selama eksekusi algoritma.
Karakteristik Konstanta:

· Ditetapkan di awal.

· Tidak dapat diubah selama proses.

· Berguna untuk nilai yang bersifat tetap seperti nilai π (3.14), jumlah hari dalam seminggu (7), dll.

Contoh:

· PI = 3.14 pada perhitungan luas lingkaran.

6. Struktur Kendali
Struktur kendali adalah pola aliran eksekusi instruksi dalam algoritma. Ada tiga jenis utama:

1. Sequence (Urutan) → Langkah dieksekusi secara berurutan dari awal hingga akhir.

2. Selection (Pemilihan) → Memilih langkah berdasarkan kondisi (if, if-else, switch).

3. Looping (Perulangan) → Mengulang langkah tertentu hingga kondisi berhenti terpenuhi.

Contoh: pseudocode
1. Masukkan nilai N

2. Jika N > 0 maka tampilkan "Positif"
Jika tidak, tampilkan "Negatif"

3. Ulangi proses untuk 5 data





Post a Comment

0 Comments