22
Algoritma dan Pemrograman Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

alpro Chapter01

Embed Size (px)

Citation preview

Page 1: alpro Chapter01

Algoritma dan Pemrograman

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 2: alpro Chapter01

Definisi Algoritma• Algoritma adalah urutan langkah-

langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah.

• Kata logis (logika) merupakan kunci dalam algoritma.

• Langkah-langkah dalam algoritma harus logis, hasil algoritma harus dapat ditentukan bernilai benar atau salah.

• Langkah yang salah akan memberikan hasil yang salah.Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 3: alpro Chapter01

Algoritma Dalam Kehidupan

• Algoritma dapat dikatakan jantung dalam ilmu komputer dan informatika.

• Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma.

• Selain itu algoritma juga dapat ditemukan dalam kehidupan sehari-hari.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 4: alpro Chapter01

Algoritma Dalam Kehidupan

• Contoh algoritma dalam kehidupan sehari-hari adalah resep masakan.

• Di dalam resep masakan terdapat langkah-langkah yang merupakan algoritma.

• Selain itu masih banyak contoh algoritma yang lain dalam kehidupan sehari-hari.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 5: alpro Chapter01

Contoh Algoritma Sederhana

• Sebagai contoh, menukarkan isi dua buah gelas.

• Gelas A berisi cairan biru dan gelas B berisi cairan merah.

• Tukarkanlah isi kedua gelas tersebut.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 6: alpro Chapter01

Contoh Algoritma Sederhana

• Algoritma 1 :1. Tuangkan isi gelas A ke gelas B2. Tuangkan isi gelas B ke gelas A

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 7: alpro Chapter01

Contoh Algoritma Sederhana

• Jawaban pada Algoritma 1 diatas tidak menghasilkan pertukaran yang benar.

• Cairan pada kedua gelas bisa saja tercampur.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 8: alpro Chapter01

Contoh Algoritma Sederhana

• Algoritma 2 :1. Tuangkan isi gelas A ke gelas C2. Tuangkan isi gelas B ke gelas A3. Tuangkan isi gelas C ke gelas B

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 9: alpro Chapter01

Contoh Algoritma Sederhana

• Jawaban pada Algoritma 2 sudah tepat.

• Dengan menggunakan bantuan sebuah gelas C, maka kedua isi gelas dapat ditukarkan tanpa tercampur.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 10: alpro Chapter01

Bahasa Pemrograman• Agar suatu algoritma dapat dilaksanakan

oleh komputer, maka notasi algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.

• Jadi program merupakan implementasi teknis algoritma yang ditulis dengan bahasa pemrograman tertentu.

• Contoh bahasa pemrograman misalnya : Pascal, C++, Delphi, Basic dan lainnya.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 11: alpro Chapter01

Bahasa Pemrograman• Notasi algoritma nantinya dapat

dituangkan ke dalam bahasa pemrograman apapun, dengan kata lain algoritma bersifat independen.

• Belajar bahasa pemrograman tidak sama dengan belajar algoritma.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 12: alpro Chapter01

Notasi Algoritma• Notasi algoritma umumnya

dapat dibuat dalam tiga cara yaitu :– Kalimat Deskriptif– Flowchart– Pseudo-code

• Dalam belajar algoritma notasi yang umum digunakan adalah Flowchart dan Pseudo-code.

• Flowchart dan Pseudo-code memiliki keunggulan tersendiri.Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 13: alpro Chapter01

Contoh Soal• Terdapat tiga buah cakram

seperti pada gambar, dimana cakram yang lebih kecil berada lebih diatas. Buatlah algoritma untuk memindahkan cakram dari tempat A ke B dimana satu kali perpindahan hanya boleh satu cakram. Cakram yang lebih kecil harus selalu berada diatas cakram yang lebih besar.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 14: alpro Chapter01

Contoh Soal

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 15: alpro Chapter01

Contoh Soal1. Pindahkan cakram A ke B2. Pindahkan cakram A ke C3. Pindahkan cakram B ke C4. Pindahkan cakram A ke B5. Pindahkan cakram C ke A6. Pindahkan cakram C ke B7. Pindahkan cakram A ke B

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 16: alpro Chapter01

Soal• Buatlah algoritma untuk mencari

luas sebuah lingkaran.• Berdasarkan permasalahan

tersebut kita ketahui untuk mencari luas lingkaran dapat dihitung dengan menggunakan rumus matematis: Luas Lingkaran = Л X R^2

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 17: alpro Chapter01

Solusi • Berikut ini adalah penulisan

algoritmanya :

1. Masukkan nilai jari-jari (R)2. Tetapkan nilai Pi = 3.143. Hitung luas = Pi * R * R4. Cetak nilai Luas

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 18: alpro Chapter01

Buatlah algoritma deskriptif untuk masalah berikut:• Tiga orang pemburu membawa tiga orang kanibal dari

sebuah pulau terpencil menuju desa terdekat. Antara pulau terpencil dengan desa terdekat dibatasi oleh sebuah sungai yang memiliki arus yang deras. Untuk menyeberangi sungai, mereka hanya dapat menggunakan sebuah perahu kecil. Perahu tersebut dapat digunakan untuk bolak balik tetapi minimal harus ada satu orang untuk mengendarai perahu dan perahu hanya dapat menampung maksimal dua orang sekali jalan. Hal yang penting dalam permasalahan ini adalah bahwa jumlah pemburu tidak boleh lebih sedikit dibandingkan dengan jumlah kanibal, baik di sisi pulau maupun di sisi desa karena jika jumlah kanibal lebih banyak dibandingkan jumlah pemburu maka kanibal dapat memakan pemburu. Buatlah algoritma untuk menyebrangkan tiga orang kanibal dan tiga orang pemburu selurunya selamat tiba desa.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 19: alpro Chapter01

Pemahaman Permasalahan• Hasil yang diharapkan: seluruh pemburu dan

kanibal selamat menyebrangi sungai

Intruksi Pengerjaannya:- Hanya dapat menggunakan perahu untuk

menyebrangi sungai.- perahu minimal berisi 1 orang, maksimal

berisi 2 orang.- Jumlah pemburu harus lebih banyak dari

jumlah kanibal.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 20: alpro Chapter01

Solusi Algoritma Penyebrangan sungai• P1, P2, P3, K1, K2, K3 { P adalah pemburu, K adalah

kanibal } • PT, DS { PT adalah pulau terpencil, DS adalah desa }

• Algoritma penyeberangan sungai ini adalah salah satu contoh algoritma runtunan, karena jika langkah yang dilaksanakan tidak berurutan maka tidak akan memecahkan masalah.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 21: alpro Chapter01

• Deskripsi:

1. P1, K1 menyebrang dari PT ke DS { P2, P3, K2, K3 berada di PT } { P1, K1 di DS } P1 menyebrang kembali ke PT { P1,P2, P3, K2, K3 berada di PT } { K1 di DS }

2. K2, K3 menyebrang dari PT ke DS { P1,P2, P3 berada di PT } { K1,K2,K3 di DS } K1 menyebrang kembali ke PT { P1,P2, P3, K1 berada di PT } { K2,K3 di DS }

3. P1,P2 menyebrang dari PT ke DS { P3, K1 berada di PT } { P1, P2, K2, K3 di DS } P2, K2 menyebrang kembali ke PT { P2, P3, K1,K2 berada di PT } { P1, K3 di DS }

4. P2, P3 menyebrang dari PT ke DS { K1, K2 berada di PT } { P1,P2, P3, K3 di DS } K3 menyebrang kembali ke PT { K1, K2, K3 berada di PT } { P1, P2, P3 di DS }

5. K1,K2 menyebrang dari PT ke DS { K3 berada di PT } { P1, P2, P3, K1, K2 di DS } K2 menyebrang kembali ke PT { K2, K3 berada di PT } { P1, P2, P3, K1 di DS }

6. K2 dan K3 menyebrang dari PT {---} ke DS { P1, P2, P3, K1, K2, K3 di DS }

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman

Page 22: alpro Chapter01

Tugas : 1. Tulislah algoritma untuk meminta masukan dua

bilangan dari pengguna, kemudian menampilkan bilangan terbesar dari kedua bilangan tersebut.

2. Tiga pasang suami istri dari desa A mendapatkan undangan dari desa B. Untuk menempuh perjalanan dari desa A ke desa B hanya dapat dilakukan dengan sepeda motor. Di desa A hanya tersedia satu buah sepeda motor yang hanya dapat dinaiki maksimal oleh 2 orang. Perjalanan tersebut dirumitkan dengan kenyataan bahwa para suami sangat pencemburu, sehingga tidak mau meninggalkan istri mereka jika ada lelaki lain.Buatlah algoritma untuk menunjukkan bagaimana perjalanan dari desa A ke desa b dapat dilakukan.

3. Tulislah algoritma untuk meminta pengguna memasukkan tiga buah bilangan bulat, kemudian menampilkan bilangan terkecil dari ketiga bilangan tersebut.

Edi Ismanto,S.T,M.Kom | Algoritma dan Pemrograman