03 pengantar algoritma

PENGANTAR ALGORITMA &
PEMROGRAMAN C/C++
Analisis Algoritma dan Struktur Data (TKE 670)
Jum’at, 04 Februari 2011

Topik Diskusi
Komputer dan Pemrograman
Mengenal Algoritma dan Struktur Data
Langkah Penyelesaian Masalah
Standar Algoritma dan Program yang Baik
Penyajian Algoritma

Komputer dan Pemrograman
Komputer : alat bantu penyelesaian masalah.
Langkah-langkah penyelesaian masalah ditentukan
oleh operator dalam runtunan instruksi
Program adalah sekumpulan instruksi untuk
menyelesaikan masalah
Bahasa pemrograman digunakan untuk menulis
program.
Low-level language dan high-level language

Interpreted dan compiled language

Algoritma & Struktur Data
Pemecahan masalah tidak harus dengan langsung menulis program
dengan bahasa pemrograman tertentu
Disain pemecahan masalah lebih penting
Algoritma menjadi sarana untuk merancang urutan langkahlangkah logis penyelesaian masalah yang disusun secara sistematis
Variasi algoritma muncul dalam hal penanganan data:
Bagaimana data disusun
Data mana yang disimpan di memori
Data mana yang digunakan pada saat tertentu, dll.
Perlu strategi penanganan data : struktur data

Algoritma
Ciri-ciri algoritma yang baik :
1. Benar secara logika
2. Jumlah langkah/step berhingga dan tertentu
3. Efektif
4. Harus terminate pada kondisi tertentu
5. Output yang dihasilkan tepat


Langkah Pemecahan Masalah
(1) Inisiasi solusi secara umum:
deskripsi masalah
merancang algoritma-algoritma untuk
memecahkan masalah (bisa lebih dari
satu solusi untuk satu permasalahan)
menekankan pada ketepatan solusi

Langkah Pemecahan Masalah
(2) Analisa algoritma :
Menekankan pada efisiensi
Efisiensi waktu dan efisiensi ruang
Melakukan analisa algoritma dari solusi-solusi yang
dirancang
Memilih metode struktur data yang tepat
Contoh: analisis kompleksitas algoritma
(Asymptotic Analysis) untuk membandingkan dua
metode sorting, yakni insertion sort dan merge sort
(akan dijelaskan di pertemuan berikutnya)


Langkah Pemecahan Masalah
(3) Implementasi solusi
Menggambar flowchart dan atau menulis
pseudocode
Menerjemahkan ke dalam bahasa
pemrograman tertentu
Melakukan pengujian (debugging) dan
perbaikan program

Standar Program yang Baik
1. Standar Penyusunan Program
a. Kebenaran logika
b. Waktu untuk penulisan program
c. Kecepatan maksimum eksekusi program
d. Ekspresi penggunaan memori
e. User friendly (bisa dikembangkan programmer
developer lain)
f. Portability (instalasi dan inisiasi mudah)
g. Pemrograman Modular (memudahkan perawatan)


Standar Program yang Baik
2. Standar Perawatan Program
a. Dokumentasi pemakaian untuk pengguna
b. Dokumentasi pengembangan untuk
programmer (biasanya berbentuk komentarkomentar pada source code program)
c. Konvensi penulisan instruksi (memudahkan
pengerjaan program oleh programmer lain)

Penyajian Algoritma

Algoritma disajikan dengan tulisan dan gambar.
Algoritma yang disajikan dengan tulisan berupa
pseudocode, sedangkan yang disajikan dengan
gambar berupa flowchart (bagan alir).

Contoh Penyajian Algoritma
Algoritma untuk mencari rata-rata dari 3 bilangan bulat yang diinputkan:
a.


Algoritma dengan struktur bahasa Indonesia
1. Baca bilangan a, b, dan c
2. Jumlahkan ketiga bilangan tersebut
3. Bagi jumlahnya dengan 3
4. Tulis hasilnya

b.

Algoritma dengan pseudocode
Algoritma CARI_RERATA
a, b, c, Jml: integer
Rerata : real
Input (a,b,c)
Jml