WELCOME TO MY BLOG

Rabu, 30 September 2015

Materi Algoritma (Bahasa Pemrograman)



Dasar Teori Tentang Algoritma dan Pemrograman
Algoritma adalah salah satu bidang ilmu yang pertama kali ditemukan oleh matematikawan asal Persia yang bernama “Muhammad Ibn Musa Al-Khawarizm”  lahir sekitar tahun 730 M dan meninggal antara tahun 835-850 M. Algoritma merupakan suatu metode atau langkah-langkah umum yang disusun secara sistematis dan logis  yang dugunakan untuk menyelesaikan  masalah atau kasus-kasus tertentu.
Dalam menuliskan algoritma,  dapat  digunakan  bahasa  natural  atau menggunakan notasi matematika, sehingga masih belum dapat dijalankan pada komputer. Dalam  kehidupan  sehari-hari,  kita  sudah  melakukan  penyusunan algoritma untuk menyelesaikan permasalahan atau tantangan  yang  dihadapi.  Sebagai  contoh,  pada  saat  diminta untuk  membuat  telur  dadar.  Sebelum  membuat  algoritmanya, kita  perlu  mendefinisikan  masukan  (input)  dan  luaran  (output) terlebih  dahulu, dimana  input  berupa telur  mentah, dan  output berupa telur dadar yang sudah matang.
Susunan algoritmanya sebagai berikut:
1.  Nyalakan api kompor
2.  Tuangkan minyak ke dalam wajan
3.  Pecahkan telur ayam ke dalam mangkok
4.  Tambahkan garam secukupnya
5.  Aduk campuran telur dan garam
6.  Tuang adonan telur ke dalam wajan
7.  Masak telur hingga matang
Algoritma  akan  lebih  baik  jika  ditulis  secara  sistematis menggunakan  beberapa  skema.
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.
Algoritma dapat dituliskan ke dalam berbagai bentuk, namun struktur yang rapi dan mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan diimplementasikan ke bahasa pemrograman. Algoritma dapat dituliskan ke dalam berbagai bentuk, namun dan mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan
PROGRAM
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata  algoritma dan kata program seringkali dipertukarkan dalam penggunaannya.  Algoritma adalah urutan langkah-langkah penyelesaian masalah sedangkanProgram adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut programmer. Tiap-tiap  langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Secara garis besar komputer tersusun atas empat komponen utama, yakni:
1. piranti masukan berfungsi untuk memasukkan data atau program ke dalam memori komputer
2. piranti keluaran berfungsi untuk menampilkan hasil dari eksekusi program komputer
3. unit pemroses utama berfungsi mengerjakan operasi-operasi dasar
4. memori berfungsi untuk menyimpan program dan data atau informasi.

Mekanisme eksekusi sebuah program adalah sebagai berikut:
1. Program disimpan di dalam memori melalui piranti masukan.
2. Ketika sebuah program dieksekusi maka setiap instruksi  program akan dikirim dari memori ke unit pemroses utama. Unit pemroses utama kemudian akan menjalankan operasi sesuai instruksi-instruksi yang dibaca.
3. Apabila sebuah instruksi membutuhkan data masukan, maka piranti masukan akan membaca data masukan, mengirimkan ke memori kemudian mengirimkan ke unit pemroses utama untuk diproses.
4. Apabila eksekusi program menghasilkan data keluaran, maka data keluaran akan disimpan di dalam memori, kemudian dikirim ke piranti keluaran.

KRITERIA ALGORITMA
Menurut Bapa "Analisis Algoritma" Donald Ervin Knuth, atau biasa dipanggil dengan Knuth ini, algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
1.      Input
2.      Output
3.      Finite
4.      Definite
5.      Efisien
1. Input
Program minimal harus memiliki nol input atau lebih dari pengguna. Setiap program pasti memiliki input. Yang dimaksud dengan memiliki nol input berarti program tidak mendapat masukan data dari pengguna secara langsung, namun semua data akan digunakan oleh program yang sudah dideklarasikan di dalam kode program yang akan dieksekusi. Jadi tidak perlu diinputkan dari luar. Sedangkan mendapat input dari pengguna, data bisa dimaksukkan melalui program.
2. Output
Program minimal harus memiliki 1 output. Setiap program pasti memiliki output karena program dibuat untuk tujuan tertentu. Output program bisa berbentuk file, video, teks, dll, atau disimpan di clipboard yang kemudian digunakan di program lain atau disimpan dalam basis data.
3. Finite (Terbatas) 
Program yang dibuat harus pasti dan terbatas. Suatu program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus di-kill atau dimatikan dengan paksa. Suatu program dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer.
 Walau sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati jika komputer di shutdown.
4. Define (Pasti)
Suatu program harus jelas arah dan tujuannya. Program harus jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas agar dapat menghasilkan uotput yang sesuai dengan yang diinginkan.
5. Efisien
 Program harus efisien, artinya program tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan tidak mungkin program tesebut akan lelet.

Dibuat oleh : Shamaratul Fuadi 
Mapel            : Bahasa pemrograman
Prodi             : Teknik Elektro Industri
Universitas Negeri Padang

Tidak ada komentar:

Posting Komentar