Tuesday, February 24, 2015

Dasar Pengenalan Algoritma dan Pemrograman

Algoritma dan Pemrograman

Kata algoritma diambil dari nama ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khwarizmi (780-846 M) yang banyak menghasilkan karya dalam bidang matematika, di samping karya-karyanya dalam bidang lainnya seperti geografi dan music
Pemecahan sebuah masalah pada hakekatnya adalah menemukan langkah-langkah tertentu yang jika dijalankan efeknya akan memecahkan masalah tersebut. Misalnya, dalam masalah telpon menelpon seseorang. Sewaktu akan menelepon di telepon rumah misalnya, maka urutan langkah-langkah tertentu mesti dilakukan. Langkah-langkah tersebut secara garis besar adalah:
1.    Angkat gagang telepon
2.    Tekan nomor yang akang dihubungi
3.    Bicara
4.    Letakkan gagang telepon tersebut.
Dari uraian tersebut, secara umum dapat ditarik beberapa karakteristik atau syarat algoritma:
1.    Algoritma semestinya harus tidak ambigu
Pendeskripsian langkah-langkah dalam algoritma semestinya harus dan hanya mempunyai rafsiran tunggal. Maka dari itu, sebuah bahasa pemrograman seperti Pascal sering digunakan untuk menuliskan algoritma, sehingga langkah-langkah tersebut yang dituliskan hanya mempunyai tafsiran tunggal, terutama menurut computer.

2.    Algoritma harus tepat
Algoritma wajib menyatakan urutan langkah-langkahnya. Kapan sebuah langkah atau langkah y dilakukan, apakah sebelum langkah z atau sesudahnya, harus dinyatakan dengan sangat jelas. Algoritma harus dinyatakan dengan jelas kapan berhenti dari sebuah langkah untuk meneruskan ke langkah beerikutnya.

3.    Algoritma harus pasti
Jika serangkaian langkah yang sama dilakukan selama dua kali maka hasilnya harus selalu sama. Sebagai contoh, jika dua orang mengikuti resep kue yang sama, maka rasa dan kelezatan kue yang dihasilkan harus sama. Kalau tidak sama, berarti ada beberapa perbedaan yang tidak disadari.

4.    Algoritma harus berhingga
Beberapa langkah dalam algoritma harus bisa dilaksanakan pada rentang waktu tertentu seperti yang diuraikan di-atas.

Cara Penulisan Algoritma
Algoritma sebagai langkah-langkah pemecahan masalah dapat dituliskan dalam salah satu cara, contohnya yaitu:
1.    Uraian deskriptif
2.    Pseudocode
3.    flow chart
Algoritma dapat dituliskan dalam kode-kode yang disepakati dan mempunyai arti tertentu. Kode-kode seperti ini disebut dengan pseudocode. Algoritma dalam uraian deskriptif diatas jika dituliskan dengan salah satu pseudocode yang mirip dengan bahasa Pascal menjadi
Input (b)
i ← 0
j ← 0
while (i<b) do
i ← i + 1
if  i mod 2 = 0 then
 j ← j + i
output (j)
Algoritma tersebut dapat juga dituliskan dalam notasi grafik yang setiapnya mempunyai arti tertentu. Disitu dinamakan dengan flow chart. Terdapat beberapa notasi dasar penggambaran bagan flowchart seperti:




a.    Notasi kapsul digunakan untuk menggambarkan awal (mulai) dan akhir (selesai) sebuah bagan alir atau flowchart
b.    Notasi jajaran genjang digunakan untuk menggambarkan pembacaan data (input) dan untuk menampilkan daya (output)
c.    Notasi empat persegi panjang digunakan untuk menggambarkan proses dalam bagan alir.
d.    Notasi belah ketupat mempunyai dua panah keluar (dua nilai keluaran) yang masih bernilai true (ya, benar) dan false (tidak, salah) digunakan untuk pengujian sebuah kondisi.
Langkah yang dilakukan setelah pengujian tergantung kepada hasil pengujian, true atau false.


Belajar Memogram dan Belajar Bahasa Pemrograman.
Belajar mengprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar yang dimana tentang metodologi pemecahan masalah itu tersebut, kemudian meletakkannya dalam notasi itu tersebut yang tentunya mudah dibaca dan dipahami juga. Sedangkan jika belajar bahasa pemrograman berarti kita belajar menggunakan bahasa aturan yang memiliki tata-tata bahasanya, pernyataannya, tata cara bagaimana pengoperasian compiler itu tersebut, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program-program yang ditulis hanya dalam bahasa yang dibuat untuk program itu saja. Sampai saat ini terdapat banyak sekali bahasa pemrogram, antara lain yaitu bahasa rakitan atau assembl), Fortran, CoboI, Pascal, Algol, C++, C, Basic, LISP, Java, bahasa simulasi seperti CSMP, Simscript, GPSS, terdapat Dinamo juga dan lain-lain.

Bahasa pemrograman memiliki tujuan yang khusus. Kelompok ini adalah Cobol  atau untuk terapan bisnis dan administrasi. Fortran (terapan komputasi di bidang ilmiah), bahasa rakitan (terapan atau pemrograman mesin), terapan dalam kecerdasan buatan atau yang biasa dikenal dengan prolog, bahasa simulasi, dan sebagainya.

Bahasa perograman juga memiliki tujuan umum, yaitu sebagai aplikasi. Kelompok ini adalah bahasa Basic, Pascal dan C. Tentu saja pembagian kelompok ini tidak kaku. Bahasa ini bertujuan khusus bukan berarti tidak bisa digunakan untuk aplikasi lain. Misalnya Cobol, dapat juga digunakan untuk bidang ilmiah, hanya saja kemampuannya terbatas. Bahasa - bahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda juga.

Berdasarkan apakah notasi bahasa - bahasa pemrograman itu lebih dekat ke bahasa mesin atau ke bahasa manusiawi, maka bahasa pemrograman dikelompokkan atas 2 macam :

Bahasa Program Tingkat Rendah
Jenis ini dirancang untuk setiap instruksinya langsung dikerjakan di dalam komputer, tanpa harus melalui penerjemah. Contohnya adalah bahasa bahasa mesin. CPU mengambil instruksi dari memori itu, langsung mengerti hal tersebut dan langsung mengerjakan operasinya. Bahasa tingkat rendah sifatnya primitif, sederhana, orientasinya lebih ke mesin, dan sulit dipahami oleh manusia. Sedangkan bahasa rakitan termasuk ke dalam kelompok ini, karena alasan Bentuk notasi yang dipakai dalam bahasa lebih dekat ke mesin, meskipun melaksanakan instruksinya masih perlu translator ke dalam bahasa mesin.

Bahasa Program Tingkat Tinggi
Bahasa ini yang membuat pemrograman sangat mudah dipahami, lebih sangat manusiawi, dan masuk ke dalam bahasa manusia seperti bahasa Inggris. Hanya saja memogram dalam bahasa tingkat tinggi tidak dapat langsung diterjemahkan kedalam  komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah penerjemah atau translator bahasa (yang disebut compiler atau kompilator) ke dalam bahasa mesin dan akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah PL/I, Pascal, Cobol, Ada, Java, Basic Fortran, C++, C, dan masih banyak lagi.

Bahasa pemrograman juga dapat dikelompokkan sebagai berikut:

Kaidah Umum Pembuatan Program Flowchart

Dalam pembuatan flowchart Program tidak ada patokan yang bersifat mutlak. Karena flowchart adalah gambaran pemikiran dalam menganalisa suatu masalah dengan menggunakan komputer. Sehingga flowchart yang dihasilkan dapat memiliki variasi antara satu pemogram dengan yang lain.

Namun dalam garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
Untuk masalah pengolahan data dengan menggunakan komputer, urutan dasar dalam pemecahan suatu masalah:
-    START, untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan dalam persoalan.
-    READ, kegiatan untuk membaca data data dari suatu peralatan input.
-    PROSES, berisi yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
-    WRITE, pernyataan untuk merekam hasil dari kegiatan ke peralatan output.
-    END, mengakhiri kegiatan pengolahan data.

Walaupun disini tidak adanya kaidah-kaidah yang baku dalam penyusunan - penyusunan flowchart, namun terdapat anjuran penting, yaitu :
-    Hindari pengulangan proses yang tidak penting dan logika yang berbelit sehingga dapat mengganggu jalannya proses menjadi singkat.
-    Jalannya proses ditentukan atau digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas prose situ tersebut.
-    Sebuah flowchart diawali dengan satu titik START dan diakhiri dengan menggunakan END.

Sumber    : - Buku Dasar Algoritma dan Pemrograman
                   - https://andikafisma.wordpress.com/algoritma-dan-pemrograman/

Created by:  - DWIKI RAMADHAN (D1041141038)
                    - ANDRI (D1041141060)
                    - MUHAMMAD FAJRI SAPARIANTO (D1041141032)
                    - MUHAMMAD RIZKI FIRDAUS ARITONANG (D1041141040)
                    - RIDHA ADITYA PRATAMA (D1041141046)

No comments:

Post a Comment