Wednesday, April 6, 2011

ALGORITMA PEMPROGRAMAN

PENGERTIAN ALGORITMA

    adalah kumpulan instruksi-instruksi / perintah–perintah / langkah-langkah yang berhingga jumlahnya yang digunakan untuk menyelesaikan masalah / persoalan logika dan matematika dengan bantuan komputer.



Tahap - tahap Pemrograman :

1. Fase Problem Solving

2. Fase Implementation




Fase Problem Solving

Hal-hal yang harus diketahui dalam analisis masalah :
  • Kondisi awal

  • Kondisi akhir

  • Data lain yang tersedia

  • Operator yang tersedia

  • Syarat / kendala yang harus dipenuhi



Ciri - ciri algoritma yang baik

Precise (Akurat)
Jumlah langkah/step berhingga dan tertentu
Efektif
Harus terminate
Output yang dihasilkan tepat




Fase Implementation

  • Pembuatan Program

  • Dokumentasi



PENYAJIAN ALGORITMA

Algoritma dapat disajikan dalam dua bentuk, yaitu : tulisan dan gambar/simbol.

Penyajian algoritma dalam bentuk tulisan biasanya menggunakan

metode English Structure (SE), Structure Indonesia (SI) dan Pseudocode,

Panyajian dalam bentuk gambar biasanya menggunakan metode :

Flowchart, HIPO, dan lain-lain.



FLOWCHART

Tujuan utama dari penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol simbol standart.



Flowchart Program

    Merupakan bagan alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah

Simbol Flowchart Program

(terminal symbol), menunjukkan awal dan akhir dari

program



(preparation symbol), memberikan niai awal pada suatu

variabel atau counter



(processing symbol), menunjukkan pengolahan aritmatika

dan pemindahan data



(input/output symbol), menunjukkan proses input atau output



 




(decision symbol), untuk mewakili operasi perbandingan logika



(predefined process symbol), proses yang ditulis sebagai sub program, yaitu

prosedur/ fungsi




  (connector symbol), penghubung pada

halaman yang sama

 (off page connector symbol), penghubung pada

halaman yang Berbeda

 Arah proses



 Contoh flowchart untuk menjumlahkan dua buah data:





Menentukan apakah suatu bilangan termasuk bilangan positif, negatif atau nol!

 

 



PSEUDOCODE

Pseudo berarti imitasi atau mirip atau menyerupai dan code menunjukkan kode dari program,

pseudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya.

Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya sepertin COBOL, FORTRAN, Pascal atau Basic sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada Programmer.



    Contoh:

    Pseudocode menhitung luas dan keliling lingkaran

    1. Input (jari)

    2. Keliling 2 * phi * jari

    3. Luas phi * jari * jari

    4. Print (kaliling, luas)



    Contoh:

    Untuk menukar nilai var A dan B

    1. temp = A

    2. A = B

    3. B = temp

    4. Print ( A, B )

Language Structure

Bentuk penyajian algortima ini berdasarkan struktur bahasa yang dipakaidalam sehari-hari tanpa melihat aturan-aturan yang berlaku di algortima.



Contoh : Algortima memasak telor dadar

    1. Mulai

    2. Siapkan bahan : telor, minyak goring, garam

    3. Siapkan alat : kompor, wajan dll

    4. Panaskan minyak

    5. Goreng telor

    6. Kalau telor sudah matang kelangkah 7, kalau belum kelangkah 5

    7. Angkat telor

    8. Letakan dipiring

    9. Selesai 




 Contoh Kasus
1.     Algoritma untuk mencari rata-rata dari 3 bilangan yang diinputkan
a. Algoritma dengan struktur bahasa Indonesia
Baca bilangan a, b, dan c
Jumlahkan ketiga bilangan tersebut
Bagi jumlahnya dengan 3
Tulis hasilnya


b. Algoritma dengan pseudocode

Input (a,b,c)

Jml ß a+b+c

Rerata ß Jml / 3

Output (Rerata)



c. Algoritma dengan flowchart

 

 





2. Algoritma untuk mencari Luas Lingkaran

a.) Algoritma dengan struktur bahasa Indonesia
Beri nilai phi dengan 3.14
Masukkan jari-jari lingkaran
Kalikan phi dengan kuadrat dari jari-jarinya
Tulis hasilnya


b.) Algoritma dengan pseudocode
phi ß 3.14
Input (R)
L ß phi * R^2
Output (L)


c.) Algoritma dengan flowchart

 

No comments:

Post a Comment