Minggu, 23 Juli 2017

Agoritma Pemrograman Komputer


2.1.1 Pengertian Algoritma
A. Sejarah Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawarizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 “ Algorithmi de numero Indorum”. Pada awalnya kata algoritma adalah istilah yang merujuk kepada aturan-aturan arismetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerikarab (sebenarnya dari India, seperti tertulis pada judul diatas). Pada abad ke-18 istilah ini berkembang menjadi algoritma, yang mencangkup semua prosedur atau urutan langkah jelas yang diperlukan untuk menyelesaikan suatu permasalahan.
Masalah timbul saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja sesuai dengan yang diharapkan. Programmer computer akan lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas.
B. Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang juga dapat berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, dan tabel tertentu.
C. Jenis-Jenis Algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
·      Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus-menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
·      Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan karate permasalahan yang dihadapi.
·      Metode serakah. Sebuah algoritma serakah mirip dengan sebuah pemrograman dinamik, bedanya jawaban dari sub masalah tidak perlu diketahui dalam setiap tahap, dan meggunakan pilihan “serakah” dari apa yang dilihat terbaik pada saat itu.

2.1.2 Syarat Algoritma
Kriteria algoritma menurut Donald E. Knuth:
1.    Input (masukan)                  : algoritma dapat memiliki nol atau lebih input-an dari
  luar.
2.    Output (keluaran)               : algoritma harus memiiki minimal satu buah output
  keluaran.
3.    Definiteness (pasti)             : algoritma harus memiliki instruksi-instruksi yang jelas
  dan tidak memiliki dua arti.
4.    Finiteness (ada batas)         : algoritma harus memiliki titik berhenti.
5.    Effectiveness (efektivitas)   : algoritma harus dilakukan dan efektif.







2.1.3 Contoh Algoritma
Berikut ini adalah contoh dari algoritma penarikan uang di Anjungan Tunai Mandiri (ATM) Bank Rakyat Indonesia (BRI) dengan nominal kelipatan Rp50.000,00
1.    Mulai.
2.    Masukkan kartu ATM kedalam slot yang tersedia.
3.    Ketikkan PIN ATM Anda.
4.    Apa PIN ATM anda sudah benar?
·      Jika ya, lanjut ke langkah 6.
·      Jika tidak, lanjut ke langkah 5.
5.    Ketikkan kembali PIN yang benar.
6.    Pada menu utama, pilih penarikkan tunai.
7.    Ketikkan nominal uang yang ingin Anda tarik.
8.    Apa nominal uang berkelipatan Rp.50.000,00?
·      Jika ya, lanjut ke langkah 10.
·      Jika tidak, Lanjut ke langkah 9.
9.    Penarikan tidak dapat dilakukan.
10.    Transaksi Anda sedang diproses.
11.    Ambil uang yang keluar dari ATM
12.    Ambil kartu ATM Anda yang keluar dari slot kartu ATM.
13.    Selesai.

2.2 Flowchart
2.2.1 Pengertian Flowchart
Dalam pembuatan suatu program kita diharuskan untuk terlebih dahulu membuat suatu urutan langkah pemecahan dalam bentuk diagram yang biasanya disebut flowchart/ diagram alir selain dari algoritma, karena setiap program akan mempunyai langkah-langkah dalam prosesnya dari awal sampai akhir. Antara algoritma dan flowchart harus sejalan maksudnya mempunyai logika dan urutan langkah yang sama. Salah satu kebaikan flowchart adalah karena dalam bentuk gambar jelas akan lebih mudah dimengerti daripada uraian logika yang berbentuk teks sehingga tujuan dari flowchart itu sendiri untuk mempermudah dalam memahami suatu proses secara sederhana, terurai, rapi dan jelas terlebih lagi untuk proses yang panjang. Begitu juga dengan program yang kita buat pun harus sesuai dengan logika yang ada dalam flowchart. Karena flowchart merupakan dasar pemikiran dari proses yang akan dijalankan oleh program.
Didalamnya akan terdapat beberapa simbol-simbol khusus dan terhubung oleh suatu garis berarah untuk menunjukkan alur/ langkah-langkah instruksi dari pemrogaman. Tiap simbol mempunyai tujuan dan maksud yang berbeda dalam penggunaannya. Penggunaan symbol yang tepat akan memudahkan pengguna dalam memahami logika pemrograman. Setiap flowchart biasanya diawali dan diakhiri oleh terminal simbol. Jadi dapat disimpulkan bahwa flowchart adalah diagram alir yang menggambarkan urutan perintah dan proses. Pemecahan masalah dengan menggunakan simbol-simbol tertentu yang sudah standar.

2.2.2 Jenis-jenis Flowchart
Flowchart terbagi menjadi lima jenis, yaitu:
1.    Flowchart Sistem (System Flowchart)
Merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan didalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem.
2.    Flowchart Dokumen (Document Flowchart)
Flowchart Dokumen berguna untuk menelusuri alur dari data yang ditulis melalui sistem. Flowchart dokumen juga sering disebut Flowchart Paperwork.
3.    Flowchart Skematik (Schematic Flowchart)
Flowchart Skematik merupakan bagan yang mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Perbedaannya bukan hanya menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar - gambar komputer, peripheral, atau peralatan lain yang digunakan dalam sistem.
4.    Flowchart Program (Program Flowchart)
Flowchart Program merupakan bagan yang menjelaskan keterangan lebih rinci tentang langkah-langkah dari proses program. Flowchart Program juga dihasilkan dari Flowchart Sistem.
5.    Flowchart Proses (Process Flowchart)

Flowchart Proses merupakan bagan alir yang banyak digunakan di Teknik Industri. Flowchart ini juga digunakan untuk memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.

Tidak ada komentar:

Posting Komentar

Material Penyusun Komposit

     Komposit terdiri dari dua material penyusun yaitu serat dan matriks, dimana serat berfungsi untuk memberikan kekuatan dan kekaakuan dar...