Sejarah Algoritma Kata Algoritma diambil dari nama ilmuan muslim Abu Jaâfar Muhammad bin Musa Al-Kharizmi 780-846 M Profil Lengkap Nama Muáž„ammad bin MĆ«sÄ al-KhawÄrizmÄ« Dikenal Al Khawarizmi Lahir Khwarezmia , Uzbekiztan, 780 M Wafat Bagdad, Irak, 850 M Asal Persia, Iran Sumbangsih Aljabar, Angka Nol, Geometri Apa Itu Algoritma ? AlKhuwarizmi dibaca orang barat menjadi perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan komputasi secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Algoritma disebut juga Jantung ilmu komputer atau informatika, Algoritma tidak selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari banyak terdapat proses yang digambarkan dalam suatu algoritma Contoh resep masakan membuat kue atau makanan, membuat pakaian pola pakaian,,merakit mobil panduan merakit, dll. Contoh Penerapan Algoritma dalam sehari-hari Dalam kehidupan sehari_hari kita banyak menemukan langkah_langkah pengerjaan sesuatu, meskipun kita tidak menyebutnya algoritma misalnya Resep membuat masakan. Mengkatifkan vocher pulsa. Panduan praktikum. Menggunakan alat kerja dll. Penulisan algoritma Tidak ada aturan yang baku untuk penulisan algoritma, pada umumnya penulisan algoritma dilakukan dengan 3 cara yaitu Deskriptif, flowchart dan Pseudocode. Contoh Penulisan Algoritma bertipe Deskriptif maksudnya adalah algoritma yang ditulis dengan bahasa manusia pada umumnya misalnya Bahasa Indonesia,Bahasa Inggris dan Dll . Setiap Langkahnya ditulis dalam satu kalimat atau lebih. Contoh notasi deskriptif. // Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan 1. Ambil bilangan pertama dan set maks sama dengan bilangan pertama 2. Ambil bilangan kedua dan bandingkan dengan maks 3. Apabila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua 4. Ambil bilangan ketiga dan bandingkan dengan maks 5. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga 6. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya Contoh Penulisan Algoritma Bertipe Flowchart Algoritma ini di tulis dalam bentuk diagram dimana setiap simbol diagram mempunyai fungsinya masing masing. Penjelasan gambar diagram diatas adalah sebagai berikut 1. Simbol terminal dapat menandakan awal start atau akhir end dari bagian algoritma. 2. Proses dimana data di assignment / dimasukan kesebuah variabel seperti gambar diatas bilangan pertama akan di simpan didalam Maks. 3. Decision merupakan simbol percabangan untuk menentukan pilihan. Gambar diatas menjelaskan proses pemilihan dimana jika nilai maks lebih kecil dari bilangan kedua, akan menghasilkan keputusan Yes / True maka nilai maks akan berganti nilai dengan bilangan kedua. Tetapi jika nilai maks lebih besar dari bilangan kedua akan menghasilkan keputusan No / False akan berlanjut keproses selanjutnya. 4. Decision pada langkah ini akan di bandingkan lagi apakah nilai maks lebih kecil dari bilangan ketiga jika yes / true maka nilai maks akan beganti dengan nilai bilangan ketiga. Jika menghasilkan nilai No / False maka akan berlanjut ke proses selanjutnya. 5. Selesai dapat diakatakan akhir dari algoritma dapat anda lihat diatas simbol flowchart selesai end sama dengan simbol mulai start diawal. Pada simbol ini berarti telah didapat kesimpulan algrotiam berhenti dengan mendapatkan bilangan terbesar dari semua bilangan . Fungsi simbol diagram flowchart Contoh Algoritma dengan Penulisan Pseudocode Pseudocode adalah penulisan kode yang hampir menyerupai kode program tetapi bukan kode program, Struktur Pseudocode terdiridari tiga buah blok Judul, Deklarasi, Implementasi Judul {Berisi Judul Algoritma} Deklarasi {Berisi Deklarasi Variabel atau Konstantan} Implementasi / Algoritma {Berisi Inti Algoritma} Contoh pseudocode { Judul program menentukan bilangan dari tiga buah bilangan bulat } Program penentuanbilangan { bagian ini digunakan untuk mengumumkan semua nama yang dipakai dalam algoritma tersebut } Deklarasi Bilangan pertama int ; Bilangan kedua int ; Bilangan ketiga int ; Maks int ; Algoritma maks â bilangan pertama if maks < bilangan kedua then maks â bilangan kedua else if maks < bilangan ketiga then else maks â bilangan ketiga Note untuk pembahasan penulisan pseudocode akan di bahas di artikel lain Klik Disini. Contoh Kasus Algoritma dalam kehidupan sehari hari Di pembahasan awal kita telah membahas bahwa algoritma kita gunakan dalamkehidupan sehari hari dan itu tanpa kita sadari seperti mengaktifkan voucher pulsa, masak air, menggunakan alat kerja , dll. Dalam hal ini jika ada kasus seperti dibawah ini Misalkan ada seorang pedangan masih muda yang hendak menyeberangi sungai pemuda ini membawa sayuran, se-ekor kambing dan se-ekor Serigala dengan niat hendak menyeberangi sungai tetapi msalahnya dalah perahu hanya bisa membawa dua orang sekali seberang. sisi sungai kita namakan A dan sisi sungai lainya kita namakan B. keadaanya awalnya, di sisi A ada pemuda P, serigala S, kambing K, dan sayur Y. Bagai mana cara seseorang dapat menyeberangi ? Keadaan akhir yang kita inginkan adalah di sisi B ada pemuda P, serigala S, kambing K, dan sayur Y, dimana aturan nya perahu hanya bisa membawa dua orang. Bagaimanakah meyelesaikanya masalah diatas. Jawaban diatas kita gambarkan seperti ini agar lebih mudah Penjelasan Langkah Diatas Langkah ke 1 Pemuda akan membawa kambing K , menyeberangi terlebih dahulu, karena Serigala S , tidak akan memakan sayuran . Langkah ke 2 Pemuda balik ke sisi A sendirian dengan meninggalkan kambing di sisi B. Langkah ke 3 Pemuda membawa sayuran Y ke titik B. Langkah ke 4 Pemuda membawa kambing K , ke titik A karena jika meninggalkan sayuran dengan kambing maka kambing akan memakan sayuranya. Langkah ke 5 Setelah pemuda sampai ketitik A. maka dia akan meninggalkan kambing dititk A dan membawa serigala ke titik B. di langkah ini S, Y ada di titik B. Langkah ke 6 Pemuda kembali sendirian ke titik A, Langkah ke 7 Pemuda membawa kambing dari titik A ke titik B maka dapat dikatakan in adalah langkah akhir dimana semuanya telah berpindah dari titik A ke titik B. Ciri-ciri Algoritma Yang baik 1. Tepat sasaran memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan 2. Flexible dan portable âą Flexible untuk dikembangkan lebih lanjut âą Portable untuk digunakan pada berbagai sistem dan mesin 3. Bersih dari kesalahan sistem ataupun logic. 4. Efektif setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. 5. Murah. 6. Didokumentasikan dengan baik untuk pengoperasian, pemeliharaan dan pengembangan. 7. Algoritma pemberian description pelaksanaan suatu proses. 8. Tidak ambiguous tidak bermakna ganda. 9. Harus berhenti setelah mengerjakan sejumlah langkah terbatas. Aspek Penting Algoritma 1. Finiteness Algoritma harus berhenti after a finite number of steps 2. Definiteness Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan ambiguous 3. Input Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan 4. Output Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input 5. Effectiveness Setiap algoritma diharapkan miliki sifat efektif
2N0G.