Kamis, 19 September 2013

Algoritma Pemrograman

Dasar Teori tentang algoritma dan pemrograman

Beberapa definisi Algoritma adalah  seperti berikut ini :
  • Pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
  • Urutan logis pengambilan keputusan untuk pemecahan masalah.
  • Urutan langkah berhingga untuk memecahkan masalah logika dan matematika
  • Kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir.
  • Urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis
          Kosep algoritma sering disetarakan dengan sebuah resep. Sebuah resep biasanya memiliki daftar bahan atau bumbu yang digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut. Apabila bahan yang digunakan tidak tertera maka resep terebut tidak dapat dikerjakan. Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.
          Umumnya, algoritma yang dapat menyelesaikan suatu masalah dalam waktu yang sangat singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang dapat meyelesaikan suati masalah dalam waktu yang lama meimiliki tingkat kerumitan yang tinggi.



Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman.

Karakteristik Algoritma

  1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
  2. Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
  3. Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
  4. Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
  5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.

Bahasa Pemrograman

          Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
          Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
          Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

Flowchart atau diagram alir

          Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah.
          Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.

Pada flowchart ada simbol penting yang digunakan untuk membuat algoritma :




Jenis-Jenis Diagram Alir

          Sterneckert (2003) menyarankan untuk membuat model diagram alir yang berbeda sesuai dengan perspektif pemakai (managers, system analysts and clerks) sehingga dikenal ada 4 jenis diagram alir secara umum

•    Diagram Alir Dokumen, menunjukkan kontrol dari sebuah sistem aliran dokumen.
•    Diagram Alir Data, menunjukkan kontrol dari sebuah sistem aliran data.
•    Diagram Alir Sistem, menunjukkan kontrol dari sebuah sistem aliran secara fisik.
•    Diagram Alir Program, menunjukkan kontrol dari sebuah program dalam sebuah sistem.

Pseudo-code

          Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudo-code merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin.
          Kode palsu biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik. Bahasa pemrograman yang digunakan lebih diperbanyak dengan deskripsi dalam bahasa natural atas sesuatu hal yang bersifat detail, atau dengan menggunakan notasi matematis.
          Tujuan dari penggunaan kode-palsu adalah untuk mempermudah manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama dalam suatu algoritma.
          Kode-palsu umumnya digunakan dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.

  • Tidak ada satu pun standar yang berlaku atas kode-palsu, sebuah program yang masih berupa kode-palsu tidak dapat dijalankan. Kode-palsu menyerupai pula kerangka program (skeleton programs), termasuk dummy code, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsu.
  • Buku-buku teks dan publikasi ilmiah yang membahas tentang ilmu komputer serta komputasi numerik sering menggunakan kode palsu dalam mendeskripsikan suatu algoritma dengan tujuan agar programer dapat memahaminya meskipun mereka tidak memahami bahasa pemrograman yang digunakan. Dalam buku-buku teks biasanya disertakan pula pengantar yang membahas tentang notasi dan konvensi yang digunakan, termasuk di dalamnya notasi dan konvensi yang digunakan pada kode palsu. Tingkat kejelasan secara lebih detail atas penggunaan suatu bahasa pemrograman kadang-kadang digunakan pula sebagai pendekatan — sebagai contoh, buku teks Donald Knuth "The Art of Computer Programming" menggunakan bahasa assembly untuk mikroprosesor yang sebenarnya tidak ada.
  • Seorang programer yang akan mengimplementasikan suatu algoritma yang bersifat spesifik, utamanya algoritma yang masih belum begitu dikenalinya, umumnya menggunakan kode palsu sebagai penjelasan, kemudian ia akan dengan mudah "menerjemahkan" penjelasan tersebut ke dalam bahasa pemrograman dan mengubahsuai agar dapat berinteraksi secara benar dalam program secara keseluruhan. Programer dapat pula memulai sebuah proyek dengan membuat sketsa kode dengan menggunakan kode palsu di atas kertas sebelum menulisnya dalam bahasa pemrograman yang sesungguhnya, sebagai mana dilakukan dalam pendekatan "top-down".
  • Kode palsu umumnya tidak mengikuti aturan umum yang berlaku pada suatu bahasa pemrograman; dalam arti tidak ada suatu bentuk standar yang sistematik, namun meskipun penulis umumnya menggunakan tata cara ataupun sintaksis, contoh struktur kontrol, dari bahasa pemrograman umum yang digunakan. Umumnya sintaksis yang populer digunakan menggunakan sintaksis bahasa pemrograman Pascal, BASIC, C, C++, Java, Lisp, dan ALGOL. Deklarasi variabel umumnya tidak digunakan, begitu pula halnya dengan blok kode yang seringkali digantikan dengan satu baris penjelasan dalam bahasa manusia (natural).
  • Bentuk serta corak dari kode palsu bisa sangat beragam bergantung pada penulis dari masing-masing publikasi dan buku teks tersebut, dari yang model kode palsu paling sederhana hingga sangat detail sehingga hampir serupa dengan bahasa pemrograman yang sesungguhnya.



Refrensi
  1. http://sindarku.wordpress.com/2009/06/24/karakteristik-algoritma/
  2. http://id.wikipedia.org/wiki/Pemrograman
  3. http://wismarini.staff.unisbank.ac.id/2013/06/20/definisi-dasar-teori-algoritma-dan-pemrograman/
  4. http://id.wikipedia.org/wiki/Algoritma
  5. http://id.wikipedia.org/wiki/Diagram_alir
  6. http://id.wikipedia.org/wiki/Bahasa_pemrograman
  7. http://id.wikipedia.org/wiki/Kode_palsu

Tidak ada komentar:

Posting Komentar