- Back to Home »
- JAVA »
- Algoritma
Posted by : Unknown
Selasa, 03 Juli 2012
Pengertian Algoritma
Algoritma didefinisikan sebagai urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Langkah didalam algoritma harus logis yang berarti urutan langkah tersebut
harus dapat ditentukan benar atau salah.
Karakteristik Algoritma
Bejana A dan B berisi air dengan warna yang
berbeda. Kita akan tukarkan isi kedua bejana sedemikian sehingga Bejana A
beirisi larutan berwarna biru dan Bejana B berwarna merah.
Gambar 1.1
Dua buah bejana
berisi larutan yang berbeda warna
Algoritma Tukar Bejana
Diberikan dua buah bejana, A
dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna
biru. Pertukarkan isi kedua bejana tersebut sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan
dari bejana A ke dalam bejana B
2. Tuangkan larutan
dari bejana B ke dalam bejana A
|
Algoritma Tukar Bejana diatas tidak menghasilkan pertukaran
yang benar karena langkahnya yang tidak logis. Pertukaran yang terjadi adalah
percampuran keduanya. Jadi algoritma tersebut salah.
Untuk mempertukarkan isi kedua buah bejana
tersebut kita memerlukan sebuah bejana tambahan sebagai tempat penampungan
sementara. Kita sebut saja bejana C. Maka algoritma yang benar sebagai berikut
:
Algoritma Tukar Bejana
Diberikan dua buah bejana, A
dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna
biru. Pertukarkan isi kedua bejana tersebut sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.
Tuangkan larutan dari bejana A ke dalam bejana C
2.
Tuangkan larutan dari bejana B ke dalam bejana A
3.
Tuangkan larutan dari bejana C ke dalam bejana B
|
Dengan algoritma tersebut isi bejana A dan B telah
ditukarkan dengan benar. Contoh
algoritma pertukaran isi bejana memberikan kesimpulan bahwa algoritma mempunyai
karakteristik sebagai berikut :
1) Algoritma harus tidak ambigu (unambiguous)
Deskripsi langkah-langkah dalam
algoritma harus dan hanya membuat tafsiran tungal.
2) Agoritma harus tepat (precise)
Algoritma harus menyatakan urutan
langkah-langkahnya. Kapan sebuah langkah x dilakukan, apakah sebelum atau
sesudah langkah y. Algoritma harus menyatakan dengan jelas kapan berhenti
sebuah langkah untuk meneruskan ke langkah berikutnya.
3) Algoritma harus pasti(definite)
Jika serangkaian langkah yang sama
dilakukan dua kali maka hasilnya harus sama. Ilustrasi, jika dua orang koki
mengikuti resep yang sama maka rasa kue yang dihasilkan harus sama. Jika tidak
pasti ada beberapa perbedaan yang tidak disadari seperti merek bahan yang
berbeda, atau lama masak yang berbeda atau ada perbedaan pada sesuatu yang
lain.
4) Algoritma harus berhingga (finite)
Serangkaian langkah dalam algoritma
harus dapat dilaksanakan pada rentang waktu tertentu seperti yang telah
diuraikan.
Contoh :
Buatlah algoritma dan program untuk menghitung luas dan
keliling suatu lingkaran. Adapun rumus luas dari lingkaran adalah πr2, sedangkan keliling
lingkaran adalah Keliling = 2πr.
Cat: r adalah jari jari dan π=3.14.
Jari jari diinputkan oleh user.
Algoritma dari permasalahan diatas adalah :
- Masukan jari jari
- Hitung Luas
- Hitung keliling
- Tampilkan luas
- Tampilkan keliling
sumber : smkn 11 bdg
import java.io.*;
public class input_lingkaran{
private static BufferedReader stdin= new
BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args) throws IOException{
double luas,keliling;
int jari2;
final double phi=3.14;
System.out.print(“masukan jari-jari : ”);
jari2=integer.parseInt(stdin.readLine());
luas=jari2*jari2*phi;
keliling=2*jari2*phi;
System.out.println(“Luas lingkaran = ”+luas);
System.out.println(“Keliling Lingkaran= ”+keliling);
} }
public class input_lingkaran{
private static BufferedReader stdin= new
BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args) throws IOException{
double luas,keliling;
int jari2;
final double phi=3.14;
System.out.print(“masukan jari-jari : ”);
jari2=integer.parseInt(stdin.readLine());
luas=jari2*jari2*phi;
keliling=2*jari2*phi;
System.out.println(“Luas lingkaran = ”+luas);
System.out.println(“Keliling Lingkaran= ”+keliling);
} }