8/19/2019 Materi Semester 2 (1)
1/21
-Algoritma, ciri-ciri algoritma yang baik
-Masalah, Program dan Pemrograman
8/19/2019 Materi Semester 2 (1)
2/21
Setelah menyelesaikan materi ini, Siswadiharapkan dapat:
Mengerti tentang algoritma.Membuat algoritma dari suatu permasalahan.Mengerti tentang fowchart.Membuat fowchart dari suatu permasalahan.
8/19/2019 Materi Semester 2 (1)
3/21
• Kamus esar ahasa !ndonesia:Algoritma adalah urutan logis pengambilanputusan untuk pemecahan masalah
adalah kumpulan instruksi-instruksi"perintah#
perintah"langkah-langkah yang berhingga $umlahnya yang digunakan untukmenyelesaikan masalah"persoalan logika danmatematika dengan bantuan komputer
8/19/2019 Materi Semester 2 (1)
4/21
Adalah Alur pemikiran dalam menyelesaikansuatu peker$aan yang dituangkan secaratertulis. %ang ditekankan pertama adalah alurpikiran, sehingga algoritma seseorang dapat
$uga berbeda dari algoritma orang lain.Sedangkan penekanan kedua adalah tertulis,yang artinya dapat berupa kalimat, gambar,atau tabel tertentu.
8/19/2019 Materi Semester 2 (1)
5/21
&ontoh Algoritma dalam kehidupan nyata:
• 'ika seorang ingin memasak atau membuat kue,baik itu melihat resep ataupun tidak pasti akanmelakukan suatu langkah-langkah tertentu
sehingga masakannya atau kuenya $adi.• 'ika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, langkah yang harusdilakukan adalah: – Menulis surat
– Surat dimasukkan ke dalam amplop tertutup – Amplop ditempeli perangko secukupnya. – Pergi ke Kantor Pos terdekat untuk
mengirimkannya.
8/19/2019 Materi Semester 2 (1)
6/21
Pelaksana algoritma adalah Komputer. Agaralgoritma dapat memerintah (diproses)komputer, maka dirubah men$adi bentukprogram (melalui proses pemrograman).
Algoritma dibutuhkan untuk memerintahkomputer mengambil langkah-langkahtertentu dalam menyelesaikan masalah
8/19/2019 Materi Semester 2 (1)
7/21
*alam bahasa natural (ahasa !ndonesia,ahasa !nggris, dan bahasa manusialainnya) +api sering membingungkan (ambiguous)
Menggunakan fow chart (diagram alir)agus secara isual akan tetapi repot kalau
algoritmanya pan$ang
Menggunakan pseudo-codeSudah lebih dekat ke bahasa pemrograman,
namun sulit dimengerti oleh orang yang tidakmengerti pemrograman
8/19/2019 Materi Semester 2 (1)
8/21
• adalah suatu bagan yang menggambarkan"mempresentasikan suatu algoritma"prosedur untuk menyelesaikan masalah.
lowchart ada dua macam
– Flowchart system %aitu bagan yang menggambarkan suatu prosedurdan proses suatu le dalam suatu media men$adi le
dalam media yang lain dalam suatu sistem data – Flowchart program
%aitu bagan yang menggambarkan urutan logika darisuatu prosedur pemecahan masalah
8/19/2019 Materi Semester 2 (1)
9/21
Algoritma untuk mencari rata-rata dari /bilangan yang diinputkan
8/19/2019 Materi Semester 2 (1)
10/21
aca bilangan a, b, dan c
'umlahkan ketiga bilangan tersebutagi $umlahnya dengan /
+ulis hasilnya
8/19/2019 Materi Semester 2 (1)
11/21
End
Start
Input a,b,c
Jml = a+b+c
Print Rerata
Rerata = Jml/3
Simbol0low
8/19/2019 Materi Semester 2 (1)
12/21
!nput (a,b,c)
'ml a1b1c
2erata 'ml"/
3utput (2erata)
8/19/2019 Materi Semester 2 (1)
13/21
• inite algoritma harus berhenti setelah menger$akan se$umlahlangkah terbatas
• *enite setiap langkah didenisikan secara tepat, tidak bolehmembingungkan (ambigu)
• !nput sebuah algoritma memiliki nol"lebih input sebelum
di$alankan• 3utput algoritma memiliki satu"lebih output, yang biasanya
bergantung kepada input
• 45ectie setiap algoritma diharapkan memiliki si6at e6ekti6.(setiap langkah harus sederhana dan sehingga dapat diker$akandalam waktu yang masuk akal)
• Adainput danoutput• #46ektiitasdanesien• #+erstruktur
8/19/2019 Materi Semester 2 (1)
14/21
• Sequence Structure (struktur runtunan)
*igunakan untuk program yang instruksinyase7uential"urutan
• Selection Structure (struktur percabangan)*igunakan untuk program yang menggunakanpilihan"penyeleksian kondisi.
• Repetition Structure (struktur perulangan)
*igunakan untuk program yang instruksinyaakan dieksekusi berulang-ulang.
8/19/2019 Materi Semester 2 (1)
15/21
• adalah kata, ekspresi, pernyataan yangdisusun dan dirangkai men$adi satu kesatuanprosedur yang berupa urutan langkah untukmenyelesaikan masalah yang
diimplementasikan dengan menggunakanbahasa pemrograman sehingga dapatdieksekusi oleh komputer
• Adalah kumpulan instruksi-instruksi tersendiri
yang biasanya disebut source code yangdibuat oleh programmer (pembuat program)
8/19/2019 Materi Semester 2 (1)
16/21
adalah proses mengimplementasikan urutanlangkah untuk menyelesaikan suatu masalahdengan menggunakan suatu bahasapemrograman.
8/19/2019 Materi Semester 2 (1)
17/21
Permulaan"Akhir Program
Arah Aliran Program
Proses inisialisasi "Pemberian 8arga Awal
Proses Perhitungan"Proses Pengolahan data
Proses !nput"3utput data,
Parameter,!n6ormasi
8/19/2019 Materi Semester 2 (1)
18/21
Permulaan subProgram"
Proses men$alankanprogramPerbandinganpernyataan,
Penyeleksian data yangmemberikan Pilihan
untuk langkahselan$utnya
Penghubung bagian-bagian fowchart
yang berada pada
satu halaman
Penghubung bagian-bagian fowchart yangberada pada halaman
berbeda
8/19/2019 Materi Semester 2 (1)
19/21
&ontohAlgoritma 0
Mencari akar bulat positi6 dari bilangan bulat (integer) positi6 a:
9.Masukkan bilangan bulat positi6 a
0.erikan harga awal sama dengan 9
/.8itung y sebesar ;
8/19/2019 Materi Semester 2 (1)
20/21
Menentukan apakah suatu bilangan
merupakanilangan gan$il atau bilangan genap.
9.Masukkan sebuah bilangansembarang0.agi bilangan tersebut dengan
bilangan 0/.8itung sisa hasil bagi pada langkah0
8/19/2019 Materi Semester 2 (1)
21/21
SOAL LATIHAN :
9.uatlah algoritma untuk menghitung
luas dan keliling lingkaran. *enganmasukan berupa $ari-$ari.0.uatlah fowchart dari algoritma pada
soal no 9 diatas./.uatlah algoritma untuk mengecekbilangan diantara 0 bilangan masukan,
apakah sama ataukah lebih besar salahsatunya, dan tampilkan hasilnya.