Skip to main content

Pengertian Algoritma dan Contohnya

[images4446.jpeg]Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik d engan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
[al.jpeg]
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
  


Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanyam dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan tujuan dan fungsinya. Diantaranya adalah :

• Belajar memprogram ≠ belajar bahasa pemrograman
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang
disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program
• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder
• program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program

Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya. Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep diikuti. Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya.

Demikian juga halnya dengan komputer. Meskipun setiap komputer berbeda teknologinya, tetapi secara umum semua komputer dapat melakukan operasi-operasi dasar dalam pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika, dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi dasar it, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain setiap program dalam bahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelum akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasi dasar yang sesuai, dan menghasilkan efek netto yang sama pada setiap komputer.

[java.jpeg]Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma
adalah proses yang procedural.

Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :

1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.

Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural.

Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural. Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming). Paradigma pemrograman ini merupakan trend baru dan sangat populr akhir-akhir ini. Paradigma pemrograman yang lain adalah Pemrograman Fungsional, Pemrograman Deklaratif dan Pemrograman Konkuren.

Perhatikan algoritma sederhana berikut. 

Contoh 5.10. Algoritma menghitung luas segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali. 

Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu: tidak ada pembatasan pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar menjadi tidak sesuai dengan yang diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang dari 0, maka program tidak akan dijalankan. Sehingga algoritma di atas dapat dirubah menjadi seperti contoh berikut. 

Contoh 5.11. Hasil perbaikan algoritma perhitungan luas segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua, algoritma harus berhenti dan setelah berhenti, algoritma memberikan hasil yang benar.

Comments

Post a Comment

Popular posts from this blog

Pemakaian Gotoxy Pada Program Pascal

Suatu informasi yang terdapat dilayar monitor tentu harus enak dilihat dan rapi. Jika melihat hasil program Menampilkan Lebih 1 Record Pada Pascal kurang menarik, hasilnya masih berantakan. Bagaimana membuat tampilan menjadi lebih tersusun? Untuk menyelesaikan hal ini, kita wajib menggunakan gotoxy. Gotoxy digunakan untuk menuju ke suatu koordinat tertentu pada layar monitor. Dengan menggunakan gotoxy, maka tampilan di layar akan lebih tersusun/rapi, sehingga lebih enak dilihat. Berikut pemakaian gotoxy pada program pascal. uses crt ; type     mahasiswa = record ;     nim    : string[8] ;     nama   : string[30] ;     jenjang: string[2] ;     prodi  : string[30] ;     Nilai  : byte ;     end; var    recMhs : array[1..30] of mahasiswa ;    ket    : string[10];    i      : byte ; Begin      for i:= 1 to 12 do      begin           Write('NIM       : '); readln(recMhs[i].nim) ;           Write('Nama      : '); readln(recMhs[i

Contoh Program Perkalian Menggunakan FOR BERSARANG Pada Turbo Pascal

    Berikut ini adalah program yang menghasilkan tabel perkalian dari angka 1 sampai angka 5. Program ini menggunakan for dalam for atau sering disebut juga dengan for bersarang. Kode Program: program buat_kolom_baris;   {for bersarang} var    a,b  : integer; begin    writeln('_____________________________________________________');    writeln('-----------------------------------------------------');    a := 0;    for a := 1 to 10 do    begin      for b := 1 to 5 do      begin      write (a:5,'*',b,'=',(a*b):2);      end;    writeln;    end;    writeln('-----------------------------------------------------');    writeln('_____________________________________________________'); readln; end. Hasil Program: Selamat Mencoba,, semoga berhasil... ^_^

Contoh Program Perkalian Menggunakan WHILE BERSARANG Pada Turbo Pascal

    Berikut ini adalah program yang menghasilkan tabel perkalian dari angka 1 sampai angka 5. Program ini menggunakan while dalam while atau sering disebut juga dengan while bersarang. Kode Program: program buat_kolom_baris;   {while dalam while}{while bersarang} var    a,b  : integer; begin    writeln('_____________________________________________________');    writeln('-----------------------------------------------------');    a := 1;    while a <= 10 do    begin       b := 1;       while b <= 5 do       begin       write (a:5,'*',b,'=',(a*b):2);       b := b + 1;       end;    writeln;    a := a + 1;    end;    writeln('-----------------------------------------------------');    writeln('_____________________________________________________');    readln; end. Hasil Program: Semoga artikel Contoh Program Perkalian Menggunakan WHILE BERSARANG Pada Turbo Pascal ini