Algoritma dan Pemrograman

Satu Biru Satu Hati Satu Tujuan...

Definisi Algoritma
Algoritma adalah urutam 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.

Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis buku algoritma abad XX, menyatakn 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, seihingga tidak memiliki arti ganda, tidak membingungkan
  3. Memiliki masukan (input) atau kondisi awal
  4. Memiliki keluaran (output) ondisi akhir
  5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan masalah.
Sifat Algoritma
Sesuai dengan ciri-ciri dari algoritma pada penjelasan di atas, maka dapat disimpulakn bahwa sifat suatu algoritma adalah :
  1. Input : Suatu algoritma mempunyai input atau kondisi awal sebelum dilaksanakan, bisa berupa nilai-nilai peubah yang diambil dari himpunan khusus.
  2. Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan. Suatu algoritma akan mengubah sebuah 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 terdefini dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
  4. Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.
  5. Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang diharapkan.
  6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.
Struktur Algoritma
Agar algoritma yang ditulis lebih teratur, maka struktur algoritma sebaiknya dibagi ke dalam beberapa bagian. Diantaranya :
  1. Bagian kepala (header) : memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis
  2. Bagian Deklarasi ( definisi variable ) : memuat definisi nama variable, nama tetapan, 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.

Contoh berikut ini adalah struktur algoritma. Algoritma ini akan menghitung luas sebuah luas lingkaran dengan input jejari lingkaran tersebut. Luas lingkaran adalah phi*jari*jari.

Algoritma Luas_lingkaran
{Menghitung sebuah luas lingkaran apabila jari-jari tersebut diberikan}
Deklarasi
{Definisi nama tetapan}
Const phi = 3.14;
{Definisi nama peubah/variabel}
Real jari-jari, Luas;
Deskripsi
Read(jari-jari);
Luas = phi * jari-jari * jari_jari;
Write(Luas);

Definisi Pemrograman

Pemrograman adalah aktifitas yang berhubungan dengan pembuatan program dengan mengikuti kaidah bahasa pemrograman tertentu. Dalam konteks pemrograman terdapat sejumlah bahasa pemrograman seperti Pascal, C, C#, dan BASIC.
Adapun secara garis besar bahasa pemrograman dikelompokkan menjadi : 
  • Bahasa pemrograman tingkat tinggi (high-level language)
Bahasa pemrograman yang berorientasi kepada bahasa manusia. Program yang dibuat dengan menggunakan bahasa pemrograman yang mudah dipahami oleh manusia, biasanya menggunakan bahasa inggris, misalnya IF, FOR, While, dll. 
Contoh bahasa pemrograman tingkat tinggi adalah : C, C#, BASIC, PHP, VB, VB.NET, JAVA, dll.   
  • Bahasa pemrograman tingkat rendah (low-level language)
Bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode sederhana untuk menggantikan kode-kode tertentu dalam system biner.
Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan biner.

Langkah-langkah Penyelesaian Masalah dengan Pemrograman
Sebelum dapat menyelesaikan masalah dengan program, terdapat langkah-langkah yang perlu dilakukan terlebih dahulu :
  • Menganalisis masalah
Yaitu tindakan untuk mengidentifikasi informasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadi masukan.
Dengan kerangka pemecahan masalah = Masukan ->Algoritma -> Keluaran
  • Membuat algoritma
Yaitu menuangkan ide dari pengidentifikasian masalah ke dalam bentuk algoritma baik dengan menggunakan Flowchart atau PseudoCode
  • Menuangkan algoritma ke dalam bentuk program
Yaitu proses membuat kode dengan menggunakan sebuah  bahasa pemrograman untuk mendapatkan hasil sesuai dengan permasalahan
  • Mengeksekusi dan menguji program (implementasi)
Yaitu proses pengujian terhadap suatu program yang digunakan, apakah nantinya berhasil sesuai yang diharapkan atau masih terjadi kesalahan-kesalahan.
Contoh Algoritma
Contoh 1 :

Ada tiga bejana yaitu bejana A, B. Bejana A berisi tinta berwarna merah, bejana B berisi tinta berwarna hijau. Pertanyaannya adalah :
  • bagaimana caranya agar bejana A dapat terisi dengan tinta berwarna hijau dari bejana B, dan bejana B terisi dengan tinta berwarna merah dari bejana A ?
Jawab :
Dari pertanyaan di atas dapat kita definisikan bahwa untuk memindahkan isi dari bejana A ke bejana B maka dibutuhkan satu lagi bejana kosong, misalnya adalah bejana C.
Maka langkah-langkahnya penyelesaiannya adalah :
    1. Isi bejana C (asalnya kosong) dari bejana A (Tinta Merah)
    2. Isi bejana A (yang sudah kosong) dari bejana B (Tinta Hijau)
    3. Isi bejana B (yang sudah kosong) dari bejana C (Tinta Merah)
Jadi bejana A berisi tinta Hijau, bejana B berisi tinta Merah dan bejana C tetep kosong.

Komentar

Postingan populer dari blog ini

Ternyata Ini Alasan Banyak Orang Beralih ke Usaha Kecil

Berita PERSIB