Algoritma Percabangan dan Algoritma Perulangan
November 9, 2017 | Author: Sakina Mawardah | Category: N/A
Short Description
Algoritma Percabangan dan Algoritma Perulangan...
Description
ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN
Disusun Oleh :
Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T
UNIVERSITAS NASIONAL PASIM
DAFTAR ISI
A. Algoritma Percabangan...........................................................................................
1
1. Pengertian Algoritma Percabangan ..................................................................
1
2. Ekspresi Boolean ...............................................................................................
1
3. Algoritma Teks dan Flowchart Percabangan ....................................................
3
4. Percabangan Tersarang ....................................................................................
6
5. Menggunakan Operator Boolean .....................................................................
8
6. Percabangan 3 Kondisi atau Lebih ....................................................................
10
B. Algoritma Perulangan .............................................................................................
12
1. Pengertian Algoritma Perulangan.....................................................................
12
2. Perulangan For – Do..........................................................................................
14
3. Perulangan While – Do .....................................................................................
17
4. Perulangan Repeat – Until ................................................................................
19
A. ALGORITMA PERCABANGAN 1. Pengertian Algoritma Percabangan Pada algoritma runtunan telah kita lihat bahwa setiap pernyataan selalu dilakukan bila telah sampai gilirannya. Namun demikian ada kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila memenuhi suatu kondisi atau persyaratan tertentu. Algoritma ini kita sebut dengan algoritma seleksi kondisi atau juga percabangan. Contoh. Misalnya kita ingin menentukan apakah suatu bilangan merupakan bilangan genap atau ganjil. Algoritmanya dapat kita jabarkan 1. Mulai 2. Masukkan satu bilangan (X) 3. jika X habis dibagi dua maka lanjut ke 4. Jika tidak lanjut ke 5
4. tulis ‘X bilangan genap’. Lanjut ke 6. 5. tulis ‘X bilangan ganjil’ 6. Selesai Perhatikan bahwa ada dua kemungkinan perintah yang akan dikerjakan setelah perintah ke-3 dikerjakan. Jika X habis dibagi dua maka selanjutnya perintah ke-4 yang dikerjakan, kemudian melompat ke 6 (perintah 5 tidak dikerjakan). Sebaliknya jika X tidak habis dibagi dua perintah selanjutnya melompat ke-5 (perintah 4 tidak dikerjakan) dan kemudian berakhir pada perintah ke-6.
2. Ekspresi Boolean Ada dua komponen utama dalam ekspresi percabangan yaitu kondisi dan pernyataan. Kondisi adalah syarat dilakukannya sebuah (atau sekelompok) pernyataan, sedangkan pernyataan dalam konteks ini adalah perintah yang berkaitan dengan suatu kondisi. Contoh umum pernyataan kondisi-pernyataan
1
1.
Jika hari hujan, maka saya tidak jadi keluar rumah kondisi
2.
pernyataan
Jika nilai ujian lebih besar atau sama dengan 60, maka ujian dinyatakan lulus kondisi 1
pernyataan 1
Jika nilai ujian kurang dari 60, maka ujian dinyatakan gagal kondisi 2
pernyataan 2
Sebagaimana contoh sebelumnya dapat dilihat bahwa adakalanya suatu perintah dilakukan jika kondisi yang mempersyaratkannya telah jelas nilai benar salahnya. Dalam hal pemrograman kondisi tersebut harus bisa dinyatakan dalam suatu ekspresi boolean. Ekspresi boolean adalah ekspresi yang hasil ekspresinya bernilai boolean (true atau false).
Ekspresi Boolean dapat diperoleh dengan menggunakan dua jenis operasi : 1. Operasi Boolean. Operasi boolean adalah operasi yang menggunakan operator boolean seperti and, or, not, xor. Contoh operasi relasional 1. z1 x and y 2. z2 a=2 or b=10 3. z3 not(x) 4. z4 p+2=4 xor q=0
2
2. Operasi Relasional (Operasi Perbandingan) Operasi relasional adalah operasi yang membandingkan dua buah operan dengan menggunakan operator perbandingan (ingat, operator perbandingan : =, , , ≥). Contoh operasi relasional 1. z1 x > y 2. z2 a 10 3. z3 x + y = 17 4. z4 p div q < r 5. z5 p mod 2 = 0 Hasil dari operasi perbandingan memiliki dua kemungkinan, yaitu true (benar) atau false (salah). Oleh karena itu tipe hasil (z1, z2, z3, z4, z5) dari setiap operasi di atas adalah boolean.
3. Algoritma Teks dan Flowchart Percabangan Ada dua tipe algoritma percabangan yang akan kita bahas berikut ini yaitu : - Satu kondisi (if-then) : artinya hanya ada satu kondisi yang menjadi syarat untuk melakukan satu atau satu blok (sekelompok) pernyataan. Bentuk umum algoritma teks standar percabangan dengan satu kondisi : if then pernyataan
Jika bernilai benar maka pernyataan dikerjakan, sedangkan jika tidak, maka pernyataan tidak dikerjakan dan proses langsung keluar dari percabangan (begin).
3
Contoh. if A>B then write (A) Ekspresi
di
atas
menunjukkan
bahwa
perintah
menulis
/
menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar. Jika yang terjadi adalah sebaliknya, tidak ada pernyataan yang dilakukan atau proses langsung keluar dari percabangan (endif). Secara flowchart ekspresi itu dapat ditulis seperti berikut.
A>B?
t
y Write(A)
Perhatikan bahwa pada kotak belah ketupat memiliki dua cabang arus data, yang satu untuk kondisi bernilai benar (y, artinya ya), sedang yang lain untuk kondisi bernilai salah (t, artinya tidak). Jika kondisi bernilai benar (y) maka perintah yang dikerjakan adalah write(A). Jika kondisi salah (t) maka arus data langsung menuju ke bawah tanpa mengerjakan pernyataan apapun.
- Dua kondisi (if-then-else) : artinya ada dua kondisi yang menjadi syarat untuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangan dengan dua kondisi : if then pernyataan1 else
pernyataan2 4
Jika bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak ( bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2. Berbeda dengan percabangan satu kondisi, pada percabangan dua kondisi ada dua pernyataan untuk dua keadaan kondisi, yaitu untuk yang bernilai benar dan yang bernilai salah. Contoh algoritma percabangan dua kondisi : if A>B then write (A) else
write (B) Ekspresi di atas sedikit berbeda dengan sebelumnya. Perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar, sedangkan jika yang terjadi adalah sebaliknya maka pernyataan yang dilakukan adalah menulis B. Secara flowchart pernyataan di atas dapat ditulis sebagai berikut.
A>B?
Write (B)
Write (A)
5
Berikut ini adalah beberapa contoh lainnya. a. If x > 0 then ket ‘bilangan positif’ b. if m = n i m*n write(i) c. if bil>=0 then ket (‘bilangan positif’) else ket (‘bilangan negatif’) d. if m = n then i m*n j m-n else i m/n j m+n write(i,j)
4. Percabangan Tersarang Percabangan tersarang adalah percabangan di dalam percabangan. Banyak sekali bentuknya, namun salah satu contohnya adalah sebagai berikut. If
then if then Pernyataan1 else Pernyataan2 else If else
Pernyataan3
6
Pernyataan4 Misalnya, buatlah algoritma untuk menentukan apakah suatu bilangan merupakan bilangan kelipatan 2 saja, atau kelipatan 5 saja, atau kelipatan 2 dan 5, atau bukan kelipatan 2 dan 5. Bilangan yang dimaksud merupakan input algorritma.
t
Kondisi1
y
Kondisi3
Pernyataan4
Kondisi2
Pernyataan3
Pernyataan2
Pernyataan1
Algoritma Kelipatan2 Kelipatan5
Deklarasi Bil
: integer
Ket
: string
Deskripsi read (bil) if bil mod 2 = 0 then if bil mod 5 = 0 then Ket ‘ Kelipatan 2 dan Kelipatan 5’ 7
else else
Ket ‘ Kelipatan 2 tapi Bukan Kelipatan 5’
if bil mod 5 = 0 then Ket ‘Bukan Kelipatan 2 tapi Kelipatan 5’ else Write(Ket)
Ket ‘Bukan Kelipatan 2 atau 5’)
5. Menggunakan Operator Boolean Kita dapat menyederhanakan persoalan percabangan dengan menggunanakan operator boolean (and, or, not, dan xor) untuk ekspresi boolean yang lebih dari satu. Misalnya, sebuah univeritas memberlakukan yudisium cumlaude untuk mahasiswa yang lulus dengan IPK lebih besar sama dengan 3.5 dan masa kuliah tidak lebih dari 4 tahun. Bagaimana algoritma penentuan yudisiumnya? (Input : IPK dan masa kuliah) Algoritma yudisium1 Deklarasi IPK, MK
: real
Ket
: string
Deskripsi
Read (IPK,MK) If (IPK>=3.5) and (MK=3.5) and (MK
View more...
Comments