Apa itu algoritma? Algoritma adalah suatu susunan langkah-langkah proses yang disusun secara sistematis untuk menyelesaikan suatu masalah. Langkah-langkah tersebut harus logis dan dapat ditentukan salah atau benarnya agar dapat melanjutkan atau menghasilkan proses dari masalah yang di kerjakan.
Artinya, algoritma akan mengeluarkan hasil (output) sesuai dengan yang dikehendaki berdasarkan sejumlah input yang dimasukkan dengan melalui proses yang sudah tersusunan dengan benar dan sistematis. Tidak peduli sesingkat atau sebagus apapun suatu algoritma, jika memberikan output yang salah. Maka dapat dikatakan algoritma tersebut tidaklah baik.
Selain itu algoritma juga harus memiliki efisiensi. Efisiensi algoritma dapat ditinjau dari 2 hal, yaitu waktu dan memori. Jika suatu algoritma dapat memberikan output dengan benar namun proses nya sangat memakan waktu karena susunannya terlalu kompleks sehingga dapat menghasilkan output sampai berjam-jam maka algoritma tersebut dipastikan tidak akan dipakai untuk memecahkan suatu masalah.
Begitu juga dengan memori, semakin besar memori yang digunakan untuk menghasilkan output yang dikehendaki maka algoritma tersebut dapat dikatakan tidak baik atau tidak efisien. Karena dalam kenyataannya setiap orang dapat membuat algoritma berbeda dengan hasil (output) yang sama. Maka buat atau carilah algoritma yang paling efisien.
Menilai Sebuah Algoritma
Ketika kita sebagai manusia berusaha memecahkan suatu masalah, metode tekhnik dan pemikiran suatu algoritma atau proses untuk memecahkan masalah tersebut pasti memiliki perbedaan satu dengan lainnya, walaupun hasil yang dikeluarkan sama atau identik namun tidak dengan prosesnya. Bahkan terkadang susunan langkah dan outputnya identik secara kasat mata, namun pasti memiliki perbedaan ketika algoritma tersebut diaplikasikan ke dalam suatu bahasa pemrograman.
Untuk menilai mana algoritma yang baik atau tidak dapat ditentukan dari beberapa kriteria algoritma itu sendiri.
Berikut kriteria Algoritma menurut Donald E. Knuth adalah :
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.
Penyajian Algoritma
Salah satu cara penyajian algoritma yang akan saya bahas adalah penyajian algoritma dengan gambar yang biasa dikenal dengan flowchart.
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
Disamping itu flowchart juga berguna sebagai fasilitas untuk komunikasi antara programmer yang bekerja sama dalam satu tim pada suatu proyek tertentu.
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya.
Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
1. Input,
2. Proses pengolahan dan
3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5. END, mengakhiri kegiatan pengolahan
Berikut adalah contoh simbol flowchart :
Contoh Kasus :
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.
Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan :
1. Simbol pertama menunjukkan dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa input data dari p dan l.
3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
Source Code dan Run
package test1;
import java.util.Scanner;
/**
*
* @author asus
*/
public class Test1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner (System.in);
int panjang;
int lebar;
int luas;
System.out.print("Masukkan Panjang : ");
panjang=input.nextInt();//input panjangnya!
System.out.print("Masukkan Lebar : ");
lebar=input.nextInt();//input lebarnya!
//Rumus Luas
luas= panjang*lebar;
//Perintah untuk cetak hasil
System.out.println("Luasnya adalah : "+luas);
}
}
import java.util.Scanner;
/**
*
* @author asus
*/
public class Test1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner input = new Scanner (System.in);
int panjang;
int lebar;
int luas;
System.out.print("Masukkan Panjang : ");
panjang=input.nextInt();//input panjangnya!
System.out.print("Masukkan Lebar : ");
lebar=input.nextInt();//input lebarnya!
//Rumus Luas
luas= panjang*lebar;
//Perintah untuk cetak hasil
System.out.println("Luasnya adalah : "+luas);
}
}
Bagikan
Tugas Mandiri Algoritma
4/
5
Oleh
Hery Prasetyo



