Selasa, 23 Februari 2010

Algoritma & Pemrograman Kasus Teknik Elektro

Algoritma dan Pemrograman

Konsep Algoritma

Algoritma merupakan dasar/pondasi yang harus dikuasai jika kita ingin menyelesaikan masalah secara berstruktur, efektif dan efisien, apalagi bila permasalahan itu diselesaikan melalui program komputer.

Untuk menyelesaikan masalah dengan pemrograman tentunya terlebih dahulu kita lakukan hal sebagai berikut :

1. Menganalisa masalah dan membuat algoritma.

Didalam analisa masalah diperlukan tindakan untuk mengidentifikasi informasi (data-data masukan) yang menjadi keluaran pemecahan masalah. Untuk hal tersebut diperlukan prosedur untuk mengolah masukan menjadi keluaran yang dikehendaki. Langkah demi langkah untuk penyelesaian masalah iniah yang disebut dengan algoritma.

Definisi Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis“.
Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Secara umum, pihak (benda) yang mengerjakan proses
disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau —mengeksekusi“ algoritma yang menjabarkan proses tersebut.

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.

Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :

1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

Sebagai contoh sederhana, hitunglah keliling persegi panjang dengan komputer, maka sebelum membuat program kita buat dahulu algoritmanya sebagai berikut :

1. Dapatkan nilai panjang dan lebar persegi panjang
2. Hitung keliling persegi panjang dengan menggunakan rumus 2 x (panjang+lebar)
3. Cetak hasil keliling persegi panjan

Algoritma di atas dinyatakan dalam bentuk bahasa manusia yang mudah dimengerti oleh kita. Biasanya untuk penyelesaian masalah yang menggunakan komputer algoritmanya dapat disajikan dalam salah satu dari 2 bentuk algoritma yaitu Diagram Alir (Flowchart) atau Pseudocode.


Menggunakan Pseudocode

Pseudocode yaitu suatu bentuk algoritma yang menggunakan berbagai notasi yang dimaksudkan untuk menyederhanakan bentuk kalimat manusia.

1. Panjang 6
2. Lebar 8
3. Keliling 0
4. Keliling 2 * ( P + L )
5. cetak K


Menggunakan Flowchart.

Diagram alir atau flowchart adalah suatu standar untuk menggambarkan urutan langkah dalam suatu proses. Setiap langkah dalam algoritma dinyatakan dengan sebuah symbol dan aliran setiap langkah dinyatakan dengan garis yang bertanda panah.



2. Menuangkan algoritma ke dalam bentuk 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 pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.

Perbedaan belajar pemrograman dengan belajar bahasa pemrograman adalah
Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.

Berikut program hasil dari algoritma menghitung keliling persegi panjang menggunakan bahasa pemrograman BASIC.

1 0 . IN P U T — M a s u k k a n P a n ja n g p e rs e g i p a n ja n g —, p
2 0 . IN P U T — M a s u k k a n L e b a r p e rs e g i p a n ja n g —, l
3 0 . K = 0
4 0 . K = 2 * ( P + L )
5 0 . P R IN T K



3. Mengeksekusi Program

Setelah program dibuat program perlu dijalankan untuk diuji kebenarannya. Ada beberapa kemungkinan kesalahan sewaktu proses kompilasi hingga pengeksekusian program :

1. Kesalahan sintaksis
2. Kesalahan logika
3. Kesalahan runtime

Kesalahan sintak disebabkan adanya kesalahan dalam menuliskan program yang tidak sesuai dengan kaidah bahasa pemrograman yang dibuat.

Kesalahan logika adalah kesalahan yang terjadi karena ada logika yang salah. Misalnya menuliskan 31,4 untuk menyatakan phi, padahal yang benar adalah 3.14. Kesalahan seperti ini sulit dideteksi terutama kalau program sangat kompleks.

Kesalahan runtime atau kesalahan fatal adalah kesalahan yang terjadi karena suatu operasi dalam program tidak dapat dilakukan oleh komputer. Contoh pembagian dengan nol, maka pesan kesalahan akan ditampilkan dan eksekusi program dihentikan.


Belajar Memprogram Dan Belajar Bahasa Pemrograman


Belajar Memprogram

• Belajar memprogram• belajar bahasa pemrograman
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program

Belajar Bahasa Pemrograman

• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder

Produk yang dihasilkan pemrogram

• Program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program