Algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Algoritma harus dapat dijangkau oleh akal fikiran kita. Hal ini menyatakan bahwa algoritma harus mamiliki sifat logis. Penyajian algoritma secara garis besar dapat dibagi dalam dua bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga tepat digunakan dalam menggambarkan algoritma yang akan dikomunikasikan kepada programmer. Sedangkan untuk algoritma yang disajikan dengan gambar adalah dengan flowchart. Flowcart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau merupakan prosedur sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan untuk dokumentasi. Contoh algoritma sederhana adalah pada saat kita akan membuat mie instan. Maka langkah-langkah atau jika kita buat algoritma memasak mie akan seperti di bawah ini: Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkok, sendok, dan garpu Masukkan 400 ml air kedalam panci Masak air Tunggu hingga mendidih Masukkan mie kedalam panci yang sudah berisi air mendidih Tunggu dan aduk hingga 3 menit Jika sudah matang masukkan bumbu Aduk hingga rata Sajikan mie Dalam ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari beberapa instruksi yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Contoh misalnya Algoritma untuk menghitung nilai y dari persamaan y = 2x + 5 Algoritmanya adalah: Mulai Tentukan nilai x Hitung nilai y = 2x + 5 Cetak nilai x dan y Selesai Merancang Algoritma yang Baik Menurut Donald E. Knuth, dari pengertian algoritma diatas dapat diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut : 1. Masukan (Input): Algoritma mempunyai input 0 (nol) atau lebih 2. Keluaran (Output): Algoritma harus menghasilkan atau mengeluarkan minimal 1 output. 3. Terbatas (Finite): Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan. 4. Pasti (Definite): Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas. 5. Efisien: Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma. Bentuk Dasar Algoritma Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain : a. Algoritma Sekuensial (Sequence Algorithm) Sequence algorithm atau algoritma sekuensial adalah algoritma yang langkah-langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya seperti algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari atas sampai bawah. b. Algoritma Perulangan (Looping Algorithm) Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur pakaian: 1) Siapkan jemuran. 2) Ambil satu pakaian yang nantinya akan dijemur. 3) Peras pakaian tersebut terlebih dahulu. 4) Letakkan pakaian tersebut pada tiang jemuran. 5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis. Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara berulang-ulang hingga pakaian habis. c. Algoritma Percabangan atau Bersyarat (Conditional Algorithm) Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari algoritma bersyarat : 1) Siapkan panci. 2) Masukkan air secukupnya ke dalam panci. 3) tutup panci tersebut. 4) letakkan panci tersebut di atas kompor. 5) Hidupkan kompor. 6) Apabila air sudah mendidih, lalu matikan kompor. 7) Angkat panci tersebut dari kompor. Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan. Contoh Algoritma 1. Buatlah sebuah algoritma mengganti baterai pada jam dinding. Dari algoritma yang kamu buat, cermati apakah susah termasuk ciri algoritma yang baik atau belum Jawab: Langkah-langkah dari algoritma mengganti jam dinding adalah sebagai berikut Algoritma mengganti baterai pada jam dinding a. Ambil jam dinding dari tempatnya b. Buka tempat baterai jam dinding c. Ambil baterai yang telah habis d. Ganti dengan baterai yang baru e. Pastikan baterai baru sudah terpasang f. Cek jam dinding, jika sudah berfungsi pasang kembali. 2. Menghitung Keliling Persegi yang diketahui luas Algoritma Menghitung Keliling Persegi yang diketahui luas Analisis : Input : L (Luas) Input : S ( sisi ) Hitung Sisi : S = L : 2 Hitung Keliling Persegi : K= 4*S Algoritma : Inputkan Luas Persegi Hitung Sisi Menggunakan rumus diatas Hitung keliling persegi menggunakan rumus diatas Nilai K(Keliling Persegi ) akan dicetak sebagai output ke perangkat output (keluaran) Flowchart Menghitung Keliling Persegi yang diketahui luas