Algoritma pemrograman#1

11

Click here to load reader

Transcript of Algoritma pemrograman#1

Page 1: Algoritma pemrograman#1

04/03/2013

1

By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

Email: [email protected] Website: http://viliaekameyana.blogspot.com

• Absensi : 10% • UTS : 30% • UAS : 40% • Tugas & Kuis : 20%

Page 2: Algoritma pemrograman#1

04/03/2013

2

Selama kuliah…. • Ajukan pertanyaan dan berikan

feedback • Jika Anda merasa saya terlalu cepat,

silakan interupsi • There’s no point in giving classes if

nobody understands me • Do Exercise!

– You’re deluding yourself if you think you can learn the material without doing the exercises

Pendahuluan LOGIKA DAN ALGORITMA Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Definisi Algoritma 1. Langkah- langkah yg dilakukan agar solusi masalah dapat

diperoleh. 2. Suatu prosedur yg merupakan urutan langkah-langkah yg

berintegrasi. 3. Suatu metode khusus yg digunakan untuk menyelesaikan

suatu masalah yg nyata.(Webster Dictionary) 4. Urutan langkah atau kegiatan untuk memecahkan masalah

TAHAP PENYELESAIAN MASALAH Masalah

Model

Algoritma

Program

Eksekusi

Hasil

Data

Analisis

Analisis

Analisis

Page 3: Algoritma pemrograman#1

04/03/2013

3

Kriteria Pemilihan Algoritma 1. Ada Output, 2. Efektifitas dan Efesiensi, 3. Jumlah Langkahnya Berhingga, 4. Berakhir, ( SEMI ALGORITMA ) 5. Terstruktur,

Suatu Algoritma yg terbaik (The Best) : “ Suatu

algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk ada solusinya. “

Kriteria Algoritma (Donald E. Knuth) • Input: algoritma dapat memiliki nol atau lebih

inputan dari luar. • Output: algoritma harus memiliki minimal satu buah

output keluaran. • Definiteness (pasti): algoritma memiliki instruksi-

instruksi yang jelas dan tidak ambigu. • Finiteness (ada batas): algoritma harus memiliki titik

berhenti (stopping role). • Effectiveness (tepat dan efisien): algoritma sebisa

mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Pernyataan dan Aksi

langkah penyelesaian

pernyataan (Statement)

aksi (action) dieksekusi

operasi dikerjakan oleh pemroses

Algoritma dan Pemrograman I

Page 4: Algoritma pemrograman#1

04/03/2013

4

Contoh Pernyataan dan Aksi :

• Pernyataan pada algoritma : Tulis “Hello, world”

• menggambarkan aksi menuliskan “Hello, world”

ke piranti keluaran (layar). • efek dari aksi ini, dilayar akan tertera tulisan Hello, world

Algoritma dan Pemrograman I

Struktur Dasar Algoritma 1. Runtunan (Sequence)

instruksi dikerjakan secara sekuensial, berurutan.

2. Pemilihan (Selection) instruksi dikerjakan jika memenuhi kriteria tertentu

3. Pengulangan (Repetition) instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Algoritma dan Pemrograman I

Runtunan (Sequence) • Algoritma merupakan runtunan

(sequence) satu atau lebih instruksi/pernyataan,

• setiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan.

• Urutan instruksi menentukan keadaan akhir algoritma

Algoritma dan Pemrograman I

Page 5: Algoritma pemrograman#1

04/03/2013

5

Contoh 1 (Runtunan) : Diberikan 2 buah gelas, A dan B; gelas A berisi air berwarna merah, gelas B berisi air

berwarna biru. Pertukarkan isi kedua gelas itu sedemikian sehingga

gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.

A B A B

Algoritma dan Pemrograman I

ALGORITMA:

Tuangkan air dari gelas A kedalam gelas B Tuangkan air dari gelas B kedalam gelas A Caranya : Kita siapkan satu buah gelas C untuk

menampung sementara air dari gelas A sebelum dipindah ke gelas B

Algoritma dan Pemrograman I

ilustrasi

A C

A

C

B

A

B A

Algoritma dan Pemrograman I

Page 6: Algoritma pemrograman#1

04/03/2013

6

ilustrasi

C

B

C

B A

Algoritma dan Pemrograman I

Program Tukar_isi Diberikan 2 buah gelas, A dan B; gelas A berisi air

berwarna merah, gelas B berisi air berwarna biru. Isi kedua gelas A dan B ditukar sedemikian sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.

KAMUS : gelas A,gelas B, gelas C : air ALGORITMA: Tuangkan air dari gelas A kedalam gelas C Tuangkan air dari gelas B kedalam gelas A Tuangkan air dari gelas C kedalam gelas B Hasil akhir algoritma adalah: gelas A berisi air dari gelas B, dan gelas B berisi air dari gelas A semula

Contoh 2 (runtunan):

Misal nilai A=8, B=5. Tukarkan nilai A dan B, sehingga menjadi A=5, B=8.

Algoritma : B A A B Algoritma : C A A B B C Algoritma dan Pemrograman I

Page 7: Algoritma pemrograman#1

04/03/2013

7

Pemilihan (Selection)

If kondisi then aksi endIf

If kondisi then aksi1 else aksi2 endIf Algoritma dan Pemrograman I

Contoh (Pemilihan) : If A>B then Max A endIf If B>A then Max B endIf If A>B then Max A Else Max B endIf

Algoritma dan Pemrograman I

Pengulangan (Repetition) for var awal to akhir do aksi Endfor repeat aksi until kondisi_stop while kondisi_ulang do aksi endwhile

Algoritma dan Pemrograman I

Page 8: Algoritma pemrograman#1

04/03/2013

8

Contoh (Pengulangan) : For i 1 to 5 do output(“MAAF”) EndFor i1 Repeat output(“MAAF”) ii+1 Until (i>5) i1 While (i<=5) do output(“MAAF”) ii+1 endwhile Algoritma dan Pemrograman I

ATURAN PENULISAN TEKS ALGORITMA

1. KEPALA ALGORITMA Kepala algoritma adalah bagian yang

terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.

2. DEKLARASI bagian untuk mendefinisikan semua

nama yang dipakai didalam algoritma. 3. DESKRIPSI Bagian ini berisi uraian langkah-

langkah penyelesaian masalah.

Flowchart • Bentuk gambar/diagram yang mempunyai

aliran satu atau dua arah secara sekuensial • Simbol-simbol dalam flowchart

Page 9: Algoritma pemrograman#1

04/03/2013

9

Lanjutan Flowchart

Pseudo Code

• Adalah Kode atau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah.

Contoh Algortima • Problem: mencari bilangan terbesar dari dua

bilangan yang diinputkan • Contoh Algoritma: 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Jika bilangan pertama > bilangan kedua maka

kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4. Tampilkan bilangan pertama 5. Tampilkan bilangan kedua

Page 10: Algoritma pemrograman#1

04/03/2013

10

Contoh Pseudo-code • Contoh Pseudo-code: Input a Input b If a > b then kerjakan langkah 4 print a print b

TAHAPAN ANALISA ALGORITMA 1. Bagaimana merencanakan suatu algoritma.

2. Bagaimana menyatakan suatu algoritma Dengan bahasa semu (pseudocode), Contoh : Hitung konversi jam Deklarasi jam, mnt, dtk, jum_dtk; Deskripsi 1. input jam, mnt, dtk 2. Jum_dtk (jam * 3600) + (mnt * 60) + dtk 3. Cetak jum_dtk

Dengan diagram alur atau flowchart scanf ( “%d %d %d”,&jam, &mnt, &dtk);

Jum_dtk := (jam* 3600) +(mnt * 60) + dtk

Printf (“%d”, jum_dtk)

input

Jam,mnt,dtk

start

Jum_dtk =(jam * 3600) +(mnt* 60) + detik

write jum_dtk

end

Page 11: Algoritma pemrograman#1

04/03/2013

11

1. Buatlah Algoritma untuk mencari luas persegi panjang disertai flowchart dan pseudocodenya

2. Buatlah Algoritma untuk menampilkan NIM dan Nama Anda disertai flowchart dan Psudocodenya