Wednesday, February 25, 2015

ALGORITMA DAN PEMROGRAMAN

Sebelum kita membahas hubungan antara algoritma dan pemrograman, mari kita berkenalan terlebih dahulu dengan algoritma dan pemrograman.

Apakah algoritma itu?

Dalam bidang pemrograman, algoritma adalah urutan langkah-langkah yang ditulis secara sistematis yang berisi tahapan penyelesesaian masalah, sehingga memberikan solusi atau keluaran dari permasalahan tersebut. Hubungan algoritma, masalah dan solusi dapat digambarkan sebagai berikut:


Agorism-algorithm adalah asal kata dari Algoritma yang diambil dari nama ilmuan muslim Abu ja’far Muhammad bin Musa Al-Khwarizmi. Beliau hidup di tahun 780-846 M dan telah menghasilkan karya-karya yang luar biasa diantaranya dalam bidang matematika yang menjelaskan persamaan linear dan kuadrat, menuliskan buku berjudul kitab aljabar al-muqabala yang berarti buku pemugaran dan pengurangan. Dari buku tersebut diperkenalkannya aljabar. Selain itu beliau juga ahli di bidang seni, astronomi dan geografi.

Algoritma terjadi karena adanya permasalahan. Masalah adalah suatu kejadian yang terjadi dan tidak dapat diselesaikan. Penyelesaian suatu masalah pada dasarnya adalah menemukan langkah-langkah tertentu yang saat dijalankan langkah tersebut dapat memecahkan masalahnya. Misalnya ingin memindahkan air dalam gelas ke gelas yang lain.

Masalah: ada dua gelas yang berisi teh(gelas A) dan kopi (gelas B). Bagaimanakah memindahkan teh ke gelas B dan kopi ke gelas A?
Penyelesaiannya: dibutuhkan gelas kosong (gelas C) sebagai tempat penampung sementara
Langkah-langkah: 1.    Tuangkan kopi kegelas C
              2.    Tuangkan teh ke gelas B
              3.    Tuangkan kopi ke gelas A

Urutan langkah-langkah itulah yang disebut algoritma. Langkah-langkah tersebut haruslah dinyatakan dengan jelas dan tidak rancu.

Dari contoh di atas, dapat ditarik beberapa syarat atau karakteristik algoritma diantaranya :
1.    Tidak ambigu (unambiguous)
Langkah-langkah dalam algoritma harus dideskripsikan dengan tafsiran atau makna tunggal. Oleh sebab itu, sebuah bahasa pemograman seperti pascal sering digunakan untuk menuliskan algoritma, sehingga langkah-langkah yang dituliskan hanya mempunyai tafsiran atau makna tunggal, terutama menurut komputer.
2.    Jelas
Algoritma harus menyatakan urutan langkah-langkahnya dengan jelas. Kapan sebuah langkah x atau langkah y dilakukan atau kapan berhenti dari sebuah langkah untuk melanjutkan ke langkah berikutnya.

Menurut Donald E. Kurth, ada 5 syarat algoritma yaitu :
1.    Finiteness (keterbatasan)
Setelah melakukan sejumlah langkah proses, algoritma harus berakhir.
2.    Definitess (kepastian)
Setiap langkah algoritma harus dinyatakan atau didefinisikan dengan tepat dan tidak mengakibatkan makna ganda
3.    Input (masukan)
Sebelum dijalankan, algoritma memiliki nol atau lebih input (masukan) yang diberikan kepada algoritma.
4.    Output (keluaran)
Setiap algoritma memberikan satu atau lebh hasil keluaran
5.    Efectiveness(efektivitas)


Ketika manusia berusaha menyelesaikan masalahnya, ada banyak teknik atau metode yang terlintas di pikirannya untuk digunakan menyelesaikan masalah tersebut. Namun dari sekian banyak teknik atau metode itu  kita harus memilih mana yang terbaik. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan di selesaikan dengan metode dan logika yang berbeda. Lalu bagaimana mengukur algoritma yang terbaik?

Di bawah ini beberapa syarat untuk menjadikan algoritma yang baik:
•    Tingkat kepercayaannya tinggi(realibility).
Hasil yang didapat dari proses harus berakurasi tinggi dan benar.
•    Pemrosesan yang efisien(cost rendah).
Prosesnya diselesaikan dengan secepat dan frekuensi kalkulasi yang sependek mungkin.
•    Sifatnya general.
Tidak hanya dapat menyelesaikan satu kasus tetapi juga juga kasus lain yag lebih general.
•    Bisa dikembangkan (expandable).
Sesuatu yang dapat dikembangkan lebih jauh lagi berdasarkan requirement yang ada.
•    Mudah dimengerti
Siapapun yang melihatnya, dia dapat mengerti algoritma yang anda buat. Program yang sulit dimengerti akan membuat sulit di kelola (maintenance)
•    Portabilitas yang tinggi (Portability)
Mudah diterapkan atau di implementasikan di berbagai platform komputer.


Pemrograman

Ada beberapa istilah dasar yang perlu dipahami sebelum membahas pemrograman, yaitu :
a.    Program adalah kumpulan kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi urutan langkah untuk menyelesaikan masalah yang di implementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
b.    Bahasa pemrograman adalah prosedur tata cara untuk menuliskan program. Ada dua faktor penting pada bahasa pemrograman yaitu sintax dan sematik. Sintax adalah aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi, atau pernyataan sedangkan semantik adalah aturan untuk menyatakan suatu arti.
c.    Pemrograman adalah proses dimana urutan langkah diimplementasikan dengan menggunakan bahasa pemrograman untuk menyelesaikan suatu masalah.
d.    Pemrograman terstruktur adalah proses pengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan program yang memiliki rancang bangun yang terstrukur dan tidak terbelit-belit sehingga mudah dipahami dan ditelusuri oleh siapa saja.
e.    Pemrogram adalah orang yang bertugas menyusun program.


Ciri teknik pemrograman terstruktur

Ciri-ciri atau karakteristik yang dimiliki teknik pemrograman terstruktur adalah sebagai berikut:
1.    Mengandung algoritma penyelesaian masalah yang tepat, benar, sederhana, dan efektif
2.    Memiliki struktur logika dan struktur program yang benar dan mudah dipahami serta menghindari penggunaan intruksi GOTO
3.    Membutuhkan biaya testing, pemeliharaan dan pengembangan yang rendah
4.    Memiliki dokumentasi yang baik


Standar pemrograman dibutuhkan untuk membuat suatu program yang baik. Untuk menentukan standar program yang baik dibutuhkan beberapa standar sebagai dasar penilaian, seperti :
a.    Standar teknik penyelesaian masalah
Teknik pemecahan masalah dikenal dengan teknik Top-Down dan teknik Bottom-Up. Teknik Top-Down adalah teknik pemecahan dengan membagi masalah yang kompleks ke beberapa tingkatan kelompok masalah hingga subbagian yang paling terkecil, kemudian disusun langkah-langkah untuk menyelesaikannya secara detail. Sedangkan teknik Bottom-Up adalah teknik pemecahan masalah dengan melakukan standarisasi proses dari prosedur-prosedur yang sudah ada untuk digabungkan menjadi satu kesatuan.
b.    Penyusunan program
Faktor-faktor yang perlu diperhatikan untuk menyusun program yaitu kebenaran logika dan penulisan, waktu minimum untuk penulisan program, kecepatan maksimum eksekusi program, ekspresi penggunaan memori, kemudahan merawat dan mengembangkan program, user friendly, portabilitas, pemrograman modular.
c.    Perawatan program
Untuk memudahkan pemrogram dalam merawat dan pemrograman program beberapa standar telah ditentukan para ahli yaitu dokumentasi dan penulisan intruksi.
d.    Standar prosedur  
Seorang pemrogram memiliki kebebasan menuangkan ide-ide atau gagasan tahap penyelesaian masalah dalam menyusun program, tetapi sebaiknya pemrogram menggunakan prosedur yang teruji kebenarannya dan dikenal banyak orang.



Langkah-langkah pemrograman komputer :

1.    Mendefinisikan masalah
Ini adalah langkah pertama yang sering dilupakan orang mendefinisikan masalah bertujuan untuk memahami masalah yang ada lebih mendalam. Dengan demikian diperoleh asumsi-asumsi yang baik dan benar guna menyelesaian masalah.

2.    Menemukan solusi
Langkah berikutnya setelah mendefinisikan masalah adalah menentukan solusi. Menenukan solusi dapat di cari dengan menggunakan teknik pemecahan masalah (teknik Top-Down/teknik Bottom-Up)

3.    Memilih algoritma
Pilihlah algoritma yang sesuai dan efisien untuk permasalahan tersebut

4.    Menulis program
Pilihlah bahasa yang mudah dimengerti, mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.

5.    Menguji program
Setelah program jadi, ujilah program tersebut dengan segala kemungkinan yang ada, termasuk error-handlingnya. Pastikan bahwa program tersebut telah bebas dari kesalahan

6.    Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah ditulis agar kita dapat mengingat lagi dan mudah membacanya. Caranya yaitu dengan menuliskan komentar kecil tentang apa maksud kode tersebut, digunakan untuk apa saja variabel itu, dan apa parameter-parameter yang ada pada suatu prosedur dan fungsi.

7.    Merawat program
Merawat program yang sudah jadi diperlukan untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Perawatan program berarti melakukan koreksi, adaptasi, melengkapi fasilitas guna mengantisipasi kebutuhan masa depan.


Hubungan algoritma dan pemrogram diumpamakan seperti nyawa dari program tersebut sedangkan program adalah bahasa dari algoritma.
  



Ditulis oleh Sitti Nurul Jannah F (D1041141044)

7 comments: