Ditinjau dari asal suku kata, kata algoritma memiliki sejarah yang cukup menarik. Kata algoritma dalam bahasa Indonesia diserap dari kata algorithm dalam bahasa inggris. Kata algorithm sendiri diserap dari kata algorism yang diambil dari nama ahli matematika Arab yang bernama Abu Ja’far Muhammad Ibn Musa Al-Khuwarizmi.
Algoritma adalah urutan langkah-langkah logis yang disusun secara sistematis untuk
menyelesaikan masalah. Itulah kata-kata kunci dalam algoritma, yaitu sebagai suatu
langkah yang logis. Artinya setiap langkah-langkah dalam algoritma harus jelas dan
dapat ditentukan benar atau salahnya.
Algoritma mempunyai lima ciri penting, yaitu:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Artinya
algoritma harus punya garis finish dalam menjalankan langkah - langkahnya.
2. Setiap langkah harus didefinisikan dengan jelas dan tidak ambigu. Pembaca maupun pemroses algoritma harus mengerti setiap perintah-perintah yang ada pada langkah-langkah algoritma.
3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma mempunyai nol atau lebih keluaran (output).
5. Algoritma harus efektif.
Contoh Masalah :
Algoritma pertukaran isi gelas. Kasusnya adalah terdapat dua buah gelas dimana gelas
Aberisi air dan gelas B berisi sirup. Bagaimana caranya supaya air menjadi berada di
gelas B dan sirup berada di gelas A.
Algoritma :
Untuk dapat mempertukarkan kedua isi gelas, diperlukan sebuah gelas lagi sebagai
tempat penampungan sementara dan akan kita sebut sebagai “Gelas C”. Dengan bantuan gelas C, maka algoritma pertukaran is gelas adalah sebagai berikut:
Algoritma Pertukaran Isi Gelas
Terdapat dua buah gelas dimana gelas A berisi air dan gelas B
berisi sirup. Tukarkan isi kedua gelas itu sedemikian sehingga
air menjadi berada di gelas B dan sirup berada di gelas A.
DESKRIPSI
1. Tuangkan air di gelas A ke gelas C.
2. Tuangkan sirup di gelas B ke gelas A.
3. Tuangkan air di gelas C ke gelas B.
Selasa, 23 Juni 2009
MU akan datang tapi kok Christiano Ronaldo gak ikut ya???kasihan para penggemarnya
#include void main() { //deklarasi variable int A[10], i,j,k,tkr,low,high,pos,tm; //proses penginputan data for(i=0;i<10;i++) { printf("data ke-%d:",i+1); scanf("%d",&A[i]); } //Input data yang akan dicari printf("Masukkan data yang akan anda cari:"); scanf("%d",&k); //proses pengurutan data for(i=0;i<10;i++) { for(j=i+1;j<10;j++) { if (A[i]>A[j]) { tkr=A[i]; A[i]=A[j]; A[j]=tkr; } } } //proses pencarian data tm=0; high=9; low=0; do { pos = ((k - A[low]) / (A[high] - A[low]))*(high-low) + low; if (A[pos] == k) { tm++; break; } if (A[pos] > k) high = pos-1; else if (A[pos] < k) low = pos + 1; } while(k >= A[low] && k <= A[high]); if (tm>0) { printf("data %d yang dicari ada dalam array\n",k); } //jika tidak ditemukan else { printf("data tidak ditemukan dalam array\n"); } }
#include #include #include void main()
{
int i, j, tmp, jumdata,x,ketemu;
clrscr(); //hapus layar
int data [] = { 5, 200, 300, 30, 15, 150, 55, 75, 3, 5, 55};
jumdata = sizeof(data) / sizeof(int);
// menampilkan data
cout<<"Data semula = ";
for(i =0; i cout<cout<//pindah baris
cout</pindah baris c
out<<"Masukkan 1 data : "<cin>>x;
ketemu=0; f
or(i=0; i{
if(data[i] == x) { ketemu=!ketemu; //ubah menjadi benar break;
}
}
if(ketemu)
cout<<"Data tersebut ada pada posisi ke-" <}