Algoritmaadalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma.
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
Algoritmaadalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak benda yang mengerjakan proses disebut pemroses processor. Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus 1. Mengerti setiap langkah dalam algoritma. 2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Dalamilmu komputer dan matematika, pengertian algoritma adalah suatu urutan dari beberapa langkah logis dan sistematis yang digunakan untuk menyelesaikan masalah tertentu. Pendapat lain mengatakan definisi algoritma adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh
Sejarah ALGORITMA Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalam terminologi algoritma, misalnya algoritma perutean routing pesan di dalam jaringan komputer, algoritma brensenham untuk menggambar garis lurus bidang grafika komputer, algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks bidang information retrievel, dan sebagainya. Ditinjau dari asal usul kata, kata “algoritma” sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses meghitung angka Arab. Anda dikatakan algorist jika anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal muasal kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi al-Khuwarizmi dibaca orang Barat menjadi algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” The book of restoration and reduction. Dari judul buku itu kita juga memperoleh akar kata “aljabar” algebra. Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi -thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang sudah biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur diapaki sebagai metode perhitungan komputasi secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”. Pada tahun 1950, kata algoritma pertama kali digunakan pada “algoritma Euclidean” Euclid’s algorithm. Euclid, seorang matematikawan Yunani lahir pada tahun 350 M, dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar common greatest divisor atau gcd, dari dua buah bilangan bulat, m dan n. tentu saja Euclid tidak menyebut metodenya itu sebagai algoritma, baru di abad modernlah orang-orang menyebut metodenya itu sebagai “algoritma Euclidean”. Pembagi bersama terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan m=80 dan n=12 Semua faktor pembagi 80 adalah 1,2,4,5,8,10,16,20,40,80dan semua faktor pembagi 12 adalah 1,2,3,4,6,12maka gcd80,12 = 4. Langkah – langkah mencari gcd80,12 dengan algoritma Euclidean sebagai berikut 80 dibagi 12 hasilnya = 6 sisa = 8 atau 80 = 12 dibagi 8 hasilnya = 1, sisa = 4 atau 12 = 8 dibagi 4 hasilnya = 2, sisa = 0 atau 8 = pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd80,12. Jadi, gcd80,12 = gcd12,8 = gcd4,0 = 4. Proses mencari gcd dari 80 dan 12 juga dapat diilustrasikan dalam diagram berikut Terdapat beberapa versi algoritma Euclidean, salah satu versinya dituliskan dibawah ini. ALGORITMA Euclidean {Diberikan dua buah bilangan bulat tak-negatif m dan n m ≥ n. Algoritma Euclidean mencari pembagi bersama terbesar, gcd, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.} 1. Jika n = 0 maka m adalah jawabannya ; stop. tetapi jika n ≠ 0, lanjutkan ke langkah 2. 2. Bagilah m dengan n dan misalkan r adalah sisanya. 3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1. Dengan menggunakan algoritma Euclidean ini, kita dapat menghitung gcd dari dua bilangan bulat sembarang secara sistematis. Contoh-contoh algoritma yang sudah dijelaskan di atas memberi dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberi hasil yang Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, sebuah algoritma harus mempunyai lima ciri penting1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, tinjau kembali algoritma Euclidean. Pada langkah 1, jika n=0, algoritma berhenti. Jika n ≠ 0, maka nilai n selalu berkurang sebagai akibat langkah 2 dan 3, dan pada akhirnya nilai n=0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua ambiguous. Pembaca harus mengerti apa yang dimaksud dengan “m dan n adalah bilangan bulat tak-negatif”. Contoh lainnya, pernyataan “bagilah p dengan sejumlah beberapa buah bilangan bulat positif” dapat bermakna ganda. Berapakah yang dimaksud dengan “beberapa”?Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”3. Algoritma memiliki nol atau lebih masukan input. Masukan ialah besaran yang diberikan kepada algoritma untuk diproses. Algoritma Euclidean mempunyai dua buah masukan, m dan Algoritma mempunyai nol atau lebih keluaran output. Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai satu keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua Algoritma harus sangkil effective. Setiap langkah harus sederhana sehinggan dapat dikerjakan dalam sejumlah waktu yang masuk akal.≠ Post navigation
FRXYV43.