A. Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M
B. Definisi Algoritma
• Urutan langkah-langkah untuk memecahkan masalah
• Urutan logis pengambilan putusan untuk memecahkan masalah
– urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu,tidak boleh melompat-lompat.
• Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
– alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain.
– tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
• Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman,terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
• Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah
• Algoritma -> Pemrograman -> Program
• Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).
C. Tahap penylesaian masalah
D. Kriteria Pemilihan Algoritma
1. Ada Output
2. Efektifitas dan Efisiensi
3. Jumlah Langkahnya Berhingga
4. Berakhir
5. Terstruktur
Contoh :
Sebuah prosedur ketika akan mengirimkan surat kepada teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat
E. Penulisan Algoritma
• Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
• Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang
• Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman
F. Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma
2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
3. Bagaimana validitas suatu algoritma
4. Bagaimana Menganalisa suatu Algoritma
5. Bagaimana Menguji Program dari suatu Algoritma
Ad.1. Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7.
Ad.2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
– Dengan psudocode
Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan – Dengan flowchart / diagram alir
Program Flowchart, yaitu bagan yang menggambar-kan urutan logika dari suatu prosedur pemecahan masalah.G. Tahap Proses Uji Algoritma
1. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis maupun logika.
2. Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyak nya memori program yang digunakan.
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari:
1. Waktu Tempuh dari Suatu Algoritma
2. Jumlah memori yang digunakan
v Hal-hal yang dapat mempengaruhi waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
I. Sifat - Sifat Algoritma
Aspek Penting Algoritma :
• Finite > algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
• Definite > setiap langkah didefinisikan secara tepat, tidak boleh membingungkan (ambigu).
• Input > sebuah algoritma memiliki nol/lebih input sebelum dijalankan.
• Output > algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input.
• Effective > setiap algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu yang masuk akal).K. Ciri penting Algoritma
§ Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
§ Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
§ Algoritma memiliki nol atau lebih masukkan.
§ Algoritma memiliki nol atau lebih keluaran.
§ Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
L. Notasi Algoritma
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
0 komentar:
Posting Komentar