Tampilkan postingan dengan label programming. Tampilkan semua postingan

Konsep Algoritma #4

Struktur Algoritma

Agar algoritma dapat ditulis lebih teratur maka struktur algoritma sebaiknya dibagi ke dalam beberapa bagian. Salah satu struktur yang dijadikan patokan adalah sebagai berikut:

1. Bagian Kepala (header): memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis.
2. Bagian deklarasi (definisi variabel): memuat definisi nama variabel, nama tatapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.
3. Bagian deskripsi (rincian langkah): memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output, dsb.

#Contoh 1:

Algoritma akan menghitung luas sebuah lingkaran dengan input jejari dalam lingkaran tersebut.

[ Luas lingkaran adalah phi * jari * jari. ]

Algoritma luas lingkaran
// menghitung luas sebuah lingkaran apabila jari jari lingkaran tersebut diberikan //

Deklarasi
// definisi nama tetapan //
const N = 10;
const phi = 3.14;
// definisi nama perubah / variabel//
real jari_jari, luas;

Deskripsi
read(jari_jari);
luas = phi * jari_jari * jari_jari;
write(luas);

#Contoh 2:

Algoritma untuk menghitung nilai rata sejumlah angka yang dimasukan lewat keyboard.

Algoritma Nilai_Rata
// menghitung nilai rata sejumlah bilangan yang dimasukan lewat keyboard //

Definisi variabel
 integer x, N, x, jumlah;
real nilai_rata;

Rincian langkah
// masukan jumlah data //
read(N);
k ← 1;
jumlah ← 0;
while (k <= N) do
// baca data //
read(x);
jumlah ← jumlah + x;
k ← k + 1;
endwhile
// hitung nilai rata //
nilai_rata ← jumlah / N;
write(nilai_rata);

#Contoh 3 :

Algoritma yang menerima dua buah angka bulat kemudian menampilkan angka yang lebih besar.

Algoritma lebih_besar
// menerima dua buah angka bulat kemudian menampilkan angka yang lebih besar //

Definisi variabel
integer angka1, angka2;

Rincian langkah
// memasukan angka //
write(“Masukan Angka : “);
read(angka1);
write(“Masukan Angka : “);
read(angka2);
// periksa yang lebih besar //
if(angka1 > angka2)
then write(“yang lebih besar = “, angka1);
else write(“yang lebih besar = “, angka1);
endif

#Contoh 4 :

Algoritma mencari angka terbesar dari suatu himpunan angka.

Algoritma terbesar
// membentuk himpunan angka, N = 25, kemudian mencari angka terbesar //

Definisi variabel
integer N=25,max,indeks;
integer Angka[N];

Rincian langkah
// memasukan anggota himpunan angka //
for(i=1 to N step 1)
write(“Masukan angka ke : “,i);
read(Angka[i]);
endfor
// anggap max adalah angka pertama //
max ← Angka[1];
indeks← 1;
// bandingkan max dengan setiap angka dalam himpunan //
while(indeks
indeks ← indeks + 1;
if(Angka[indeks] > max)
then max ← Angka[indeks];
enddo
write(“Angka terbesar = “, max);

Konsep Algoritma #3

Sifat Algoritma

Berdasarkan ciri algoritma yang dipaparkan Donald Knuth dan definisi algoritma, dapat disimpulkan bahwa sifat utama suatu algoritma adalah sebagai berikut:

1. Input : Suatu algoritma memiliki input atau kondisi awal sebelum dilaksanakan, bisa berupa nilai perubah yang diambil dari himpunan khusus.
2. Ouput : Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memberi kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.
5. Effectiveness : Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai yang diharapkan.
6. Generality : Langkah – langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.

Agar bentuk algoritma dan proses penyusunannya dapat mulai dipahami maka berikut ini akan diuraikan proses pembuatan algoritma mulai dari bentuk yang menggunakan bahasa sehari hari, disusul penjelasan format yang dapat dijadikan acuan, dan beberapa contoh pembuatan algoritma yang mengikuti suatu format tertentu.

#Contoh :

Susun algoritma untuk mencari angka terbesar (maksimum) dari suatu kumpulan bilangan bulat yang terbatas banyaknya
Solusi => Dalam bahasa sehari hari, penyelesaian untuk masalah diatas disusun sebagai berikut:

1. Ambil satu angka pertama dan anggaplah angka pertama dalam kumpulan ini sebagai yang terbesar (maksimum).
2. Bandingkan angka maksimum ini dengan angka berikutnya dalam kumpulan. Bila angka tersebut lebih besar maka jadikanlah ia maksimum.
3. Ulangi langkah 2 ini sehingga tidak ada lagi angka yang tersisa dalam himpunan.
4. Hentikan pembandingan setelah semua angka selesai dibandingkan maka angka terbesar dalam himpunan tersebut adalah angka maksimum terakhir.

Solusi tersebut dalam bentuk simbol intruksi adalah sebagai berikut:

1. Andaikan N = banyaknya angka dalam himpunan
2. Indeks = I
3. Maksimum = angka (indeks)
4. Selama indeks > N, lakukan:
a. Bila angka (indeks) > maksimum, maka Maksimum = angka (indeks)
b. Indeks = indeks + 1
c. Ulangi lagi untuk indeks berikutnya.
5. Angka terbesar dalam himpunan adalah maksimum terakhir.

Suatu algoritma tentu dapat ditulis menggunakan bahasa sehari hari seperti contoh di atas. Namun demikian algoritma yang seperti itu masih sulit untuk diterjemahkan apabila akan diimplementasikan ke dalam suatu bahasa pemrograman komputer. Setiap algoritma tentu memerlukan langkah “peralihan” ke suatu bahasa program ketika akan dilaksanakan menggunakan pemrograman komputer. Semakin dekat bentuk algoritma itu dengan bentuk program komputer maka semakin mudah penerjemahnya. Suatu algoritma juga dapat ditulis langsung dalam bentuk “bahasa program” namun algoritma seperti itu hanya bisa digunakan untuk bahasa program tertentu dan harus diubah dan disesuaikan apabila akan diimplementasikan dengan bahasa pemrograman lain.

Konsep Algoritma #2

Ciri-Ciri Algoritma :

Donald E. Knuth, penulis beberapa buku algoritma Abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu:

1. Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda, dan tidak membingungkan (not ambigous).
3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar benar maka akan menyelesaikan persoalan.

Ketika suatu pekerjaan akan dilakukan maka tanpa sadar otak kita sudah merencanakan bagaimana pekerjaan tersebut akan dilaksanakan, misalkan ketika kita berpikir akan makan siang di suatu kedai siap saji. Di dalam benak kita mulai timbul rencana, langkah rinci yang akan dilakukan adalah sebagai berikut:

1. Cari lokasi kedai
2. Bergerak menuju lokasi
3. Setelah sampai, cari tempat memesan makanan
4. Antri di tempat pemesanan
5. Melihat daftar menu dan memilih makanan
6. Memesan makanan sesuai selera
7. Membayar harga pesanan
8. Menunggu pesanan
9. Menerima pesanan
10. Mencari meja kosong
11. Meletakan makanan di atas meja kemudian duduk
12. Menikmati makanan
13. Setelah selesai makan, meninggalkan kedai tersebut.

Langkah rinci yang kita lakukan ini tidak lain merupakan algoritma untuk menyelesaikan masalah, yaitu makan siang.

Konsep Algoritma

Algoritma merupakan fondasi yang harus dikuasai oleh setiap pelajar / mahasiswa yang ingin menyelesaikan suatu masalah secara terstruktur, efektif, dan efisien, terutama bagi mereka yang ingin menyusun program komputer untuk menyelesaikan suatu persoalan.

Definisi
Algoritma :
1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.
2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlah-nya.
3. Susunan langkah yang pasti, yang bila diikuti maka akan men-transformasi data input menjadi output yang berupa informasi.

Ciri-Ciri Algoritma
Donald E. Knuth, penulis beberapa buku algoritma Abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu:
1. Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda, dan tidak membingungkan (not ambigous).
3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar benar maka akan menyelesaikan persoalan.