P. 1
pendahuluan

pendahuluan

|Views: 215|Likes:
Published by cokbin

More info:

Published by: cokbin on Oct 28, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

02/01/2013

pdf

text

original

Pemrograman Komputer

I Gusti Bagus Budi Dharma, ST., M.Eng.

Pendahuluan
• Komputer ≠ Mesin ‘pintar’ • Fakta: - Komputer vs Gary Kasparov - Komputer dapat meramal - Film Komputer = alat bantu Komputer perlu instruksi yang ‘dimasukkan’ ke dalam komputer Instruksi = program

• Instruksi harus ditulis dalam suatu bahasa komputer • Bahasa untuk ‘berkomunikasi’ dengan komputer = bahasa pemrograman • Bahasa pemrograman: - Bahasa tingkat rendah : primitif : sulit dipahami - Bahasa tingkat tinggi : bahasa manusia : bahasa inggris : mudah dipelajari

• Dahulu: sebuah bahasa pemrograman hanya untuk sebuah sistem operasi tertentu • Sekarang: sebaliknya Ditekankan pada sebuah design suatu pemecahan masalah. Design ini berisi langkah-langkah untuk mencapai penyelesaian.

• Urutan langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah  algoritma. • Notasi untuk menuliskan algoritma  notasi algoritmik. • Notasi algoritmik ≠ Notasi bahasa pemrograman.

Algoritma
• ≠ Logaritma • Algorism dari buku Arab  Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi • al-Khuwarizmi  algorism : proses menghitung dengan angka arab Algorism  Algorithm  Algoritma

•1950  ‘algoritma Euclidean’ (Euclid’s algorithm) : proses untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat.
“Diberikan dua buah bilangan bulat positif m dan n (m ≥ n). Carilah pembagi bersama terbesar (pbt) dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.”

• Langkah-langkah: • Bagilah m dengan n. Kemudian misalkan r adalah sisanya. • Jika r = 0 maka
n adalah jawabannya; stop. Tetapi jika r ≠ 0, lanjutkan ke langkah 3

3. Ganti nilai m dengan nilai n, dan ganti nilai n dengan r, lalu ulangi langkah 1. #Contoh m = 30, n = 12

Contoh: m=30 , n=12 • • • Hitung m/n = 30/12 = 2, sisanya r = 6 Karena r = 6 ≠ 0, maka lanjutkan ke lankah 3. Nilai m = n = 12, dan n = r = 6. Kembali ke langkah 1.

1. Hitung m/n = 12/6 = 2, sisanya r = 0 2. Karena r = 0, maka n = 6 adalah jawabannya. Stop

Definisi
• Algoritma adalah urutan langkahlangkah logis penyelesaian masalah yang disusun secara sistematis. Kamus Besar Bahasa Indonesia, 1998 Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Logis  nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah tidak benar  hasil pasti salah

Contoh

A

B

Kita ingin menukar isi kedua bejana itu sedemikian sehinga bejana A berisi larutan biru dan bejana B berisi larutan merah.

Algoritma TUKAR ISI BEJANA Langkah-langkah: 4. Tuangkan larutan dari bejana A ke dalam bejana B 5. Tuangkan larutan dari bejana B ke dalam bejana A

Tidak Logis !!! Algoritma salah !! Hasil tidak tercapai !!

Solusi: Kita memerlukan bejana tambahan, bejana C Algoritma:

5. Tuangkan larutan dari bejana A ke dalam bejana C 6. Tuangkan larutan dari bejana B ke dalam bejana A 7. Tuangkan larutan dari bejana C ke dalam bejana B

Logis !!! Algoritma Benar !!! Hasil tercapai !!!

Ciri penting Algoritma
Donald E. Knuth, The Art of Computer Programming 2. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Program yang tidak pernah berhenti  algoritma salah. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak ambiguous. “bagilah p dengan beberapa buah bil. bulat positif” “bagilah p dengan 10 buah bil. bulat positif”

Ciri penting Algoritma
3. Algoritma memiliki nol atau lebih masukan (input)  besaran yg diberikan ke algoritma sebelum algoritma mulai bekerja. 4. Algoritma memiliki nol atau lebih keluaran (output).  bisa mempunyai hubungan dengan input. 5. Algoritma harus efektif.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->