Introduction to Algorithm and Programming - E

advertisement
Introduction to Algorithm and
Programming
Pertemuan ke-1
Senin, 3 September 2007
Ruang 101
Agenda




Perkenalan Pengajar
Perkenalan Mahasiswa
Penjelasan Kontrak Kuliah
Kuliah
Sejarah Algoritma


Diambil dari kata Al-Khawarizmi, yaitu
nama akhir ilmuwan muslim Abu Ja’far
Muhammad bin Musa Al-Khawarizmi
(780 – 846 M)
Ahli di bidang matematika, geografi,
astronomi dan musik
Definisi Algoritma


urutan langkah-langkah untuk
memecahkan masalah
Urutan logis pengambilan keputusan
untuk pemecahan masalah (Kamus
Besar Bahasa Indonesia)
Contoh Algoritma Sederhana


Masalah : Membuat Kopi Panas
Algoritma :






Ambil gelas
Ambil gula masukkan ke dalam gelas
Ambil kopi masukkan ke dalam gelas
Ambil air panas, tuangkan ke dalam gelas
Aduk air, gula dan kopi sampai rata
Kopi panas siap disajikan
Penulisan Algoritma
1.
Uraian Deskriptif


2.
Pseudocode



3.
dengan bahasa natural (Indonesia, Jawa) seperti contoh
sebelumnya
Terlalu banyak akan membingungkan
Pseudo : tidak sebenarnya, PseudoCode : Code yang tidak
sebenarnya
Bahasa Natural tapi Lebih dekat ke bahasa pemrograman
Sulit dimengerti kecuali yang tahu pemrograman
Flow-Chart (Diagram Alir)


Bagus secara visual dan mudah dimengerti
Merepotkan untuk menggambar kalau algoritmanya
besar/banyak
Contoh Masalah dan
Pemecahannya dengan algoritma


Masalah : memilih bilangan terbesar
dari tiga bilangan
Algoritma :

…
Contoh Penulisan Algoritma
(Bahasa Natural)
1.
2.
3.
4.
5.
6.
7.
Sediakan wadah sementara untuk menyimpan
bilangan terbesar, beri nama maks
Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
Ambil bilangan kedua dan bandingkan dengan maks
Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
Ambil blangan ketiga dan bandingan dengan maks
Apabila bilangan ketiga lebih besar dari maks, set
maks sama dengan bilangan ketiga
Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Contoh Penulisan Algoritma
(Flow Chart)
Mulai
Sediakan wadah
bernama maks
maks = bilangan
pertama
maks <
bilangan
kedua?
Ya
maks = bilangan
kedua
Ya
maks = bilangan
ketiga
Tdk
maks <
bilangan
ketiga?
Tdk
Selesai
Contoh Penulisan Algoritma
(Pseudocode)


maks  bilangan pertama
if (maks < bilangan kedua)


maks  bilangan kedua
if (maks < bilangan ketiga)

maks  bilangan ketiga
Karakteristik Algoritma

Finite


Definite


Algoritma harus berhenti setelah jumlah langkah
tertentu (finite)
Setiap langkah harus didefinisikan secara jelas,
tidak membingungkan
Consistent

Jika serangkaian langkah yang sama dilakukan
berulang-ulang, maka hasilnya harus selalu sama
Definisi Pemrograman


suatu proses mendefinisikan masalah,
menyusun algoritma pemecahan
masalah dan menuliskan algoritma
tersebut dengan menggunakan bahasa
yang bisa diterjemahkan oleh komputer
menjadi perintah-perintah mesin
Pengkodean (Coding) : proses
menerjemahkan algoritma ke bahasa
pemrograman
Definisi Bahasa Pemrograman


suatu bahasa dengan aturan sintaks ,
instruksi dan aturan lain tertentu yang
bisa diterjemahkan oleh komputer
menjadi instruksi-instruksi mesin
Contoh : Pascal, C, C++, Java, VB, C#

Masing-masing bahasa mempunyai aturan
sendiri-sendiri
Langkah-langkah
pemrograman





Definisikan masalah
Temukan gambaran penyelesaian
masalah
Terjemahkan ke dalam algoritma
Terjemahkan algoritma ke dalam
bahasa pemrograman (Coding)
Uji Hasil (Testing)
Ciri Program yang bagus

Correct


Clear


Program dapat memberikan solusi yang tepat dari
suatu masalah
Program harus jelas, dapat dimengerti dengan
mudah, dan dapat di trace dengan mudah
Efesien

Terkait dengan sumber daya yang dibutuhkan.
Kecepatan juga menjadi hal yang perlu
diperhatikan
Selesai
Tugas 1: Algoritma dengan
Bahasa Natural
1.
2.

Buat algoritma untuk mengurutkan 5
bilangan
Buat algoritma untuk sebuah kalkulator
sederhana (penjumlahan, pengurangan,
pembagian dan perkalian)
Dikumpulkan dalam bentuk File Word/Pdf,
paling lambat 3 hari dari sekarang.
Tugas 2:

Membaca materi tentang flowchart
Download