struktur kendali proses-alpro-i_sns
TRANSCRIPT
Algoritma dan Pemrograman – I (4 sks)
Mengenal logical tree flow structure
Ir. Sihar, MT.
T.Informatika – Fak.Teknologi Informasi
Bandung – 2012
(Dalam perspektif C++ Language Programming)
Daftar Pustaka1) Schildt, H. Turbo C/C++: The Complete Reference. Osborne Publishing.
1992.
2) Sedgewick, R., Wayne, K. Algorithm (4th Edition). Addison Wesley.
2011.
3) Shaffer, C. A. A Practical Introduction to Data Structures and Algorithm
Analysis. Department of Computer Science, Virginia Tech. 2009.
4) Simamora, S.N.M.P. “Diktat Kuliah SI101 Pengantar Teknologi
Informasi”, Departemen Sistem Informasi. Fak. Teknik. ITHB. Bandung.
2002.
5) Simamora, S.N.M.P. “Diktat Kuliah IF101 Pengantar Teknik Informatika”.
Departemen Teknik Informatika. Fak. Teknik. ITHB. Bandung. 2002.
6) Simamora, S.N.M.P. “Diktat Kuliah CE113 Sistem Komputer”. Program
studi Teknik Komputer. Politeknik TELKOM. Bandung. 2007.
7) Simamora, S.N.M.P. “Diktat UBB105 Pengantar Teknologi Informasi”.
Program studi T. Informatika, FTI. Univ. BALE Bandung. 2011.
8) Skiena, S.S. The Algorithm Design Manual. Springer. 2008.
if-then-else
Struktur kendali proses secara umum dikenal terbagi atas:
• sebab-akibat
• Perulangan (looping)
• Pilihan (seleksi)
do.. while(...)
while(...)
for(...)
switch(...)
Kasus: Jika ingin ditampilkan kalimat berikut: “Pusat Studi Kontrol dan Akustik” ke layar
komputer sebanyak 5 kali; gunakan struktur kendali proses do..while(...).
Solusi: Perhatikan penempatan statement: i=i+1;i=i+1;i=i+1;i=i+1;
Tampilan jalannya program:Algoritma dan pemrograman C++:
atau, bisa juga dituliskan berikut ini:
Penjelasan:
Tampilan jalannya program:Algoritma dan pemrograman C++:
mulai:
tampilkan: “Pusat Studi Sistem Kontrol dan Akustik”
i←0+1;
i←1;
tampilkan: “Pusat Studi Sistem Kontrol dan Akustik”
i←1+1;
i←2;
tampilkan: “Pusat Studi Sistem Kontrol dan Akustik”
i←2+1;
i←3;
tampilkan: “Pusat Studi Sistem Kontrol dan Akustik”
i←3+1;
i←4;
tampilkan: “Pusat Studi Sistem Kontrol dan Akustik”
Kasus: Susunlah sebuah algoritma dan pemrograman C++ untuk membandingkan dua isi
variabel, x1 dan x2, yakni: jika x1=x2, tampilkan:’x1 sama dengan x2.’ namun jika
x1>x2, tampilkan: ’x1 lebih besar dari x2.’ namun jika x1<x2, tampilkan:’x1 lebih
kecil dari x2.’.
Solusi:
Alternatif-1 Alternatif-2
Misalkan: x1=0 dan x2=1, maka harus ditampilkan: ‘x1 lebih kecil dari x2.’
Tampilan jalannya program:
Algoritma dan pemrograman C++: Algoritma dan pemrograman C++:
Tampilan jalannya program:
Kasus: Jika ingin ditampilkan 5 kalimat berikut ke layar komputer :
“Kalimat-1: PUSMATIK”
“Kalimat-2: PUSMATIK”
“Kalimat-3: PUSMATIK”
“Kalimat-4: PUSMATIK”
“Kalimat-5: PUSMATIK”
Tulislah algoritma dan pemrograman C++ dengan menggunakan struktur kendali
proses while(...).
Solusi: Algoritma dan pemrograman C++:
Tampilan jalannya program:
Penjelasan:
Tampilan jalannya program:Algoritma dan pemrograman C++:
mulai:
tampilkan: “Kalimat-” 0+1; “: PUSMATIK” ↵
x←0+1;
x←1;
x←1+1;
x←2;
x←2+1;
x←3;
x←3+1;
i←4;
tampilkan: “Kalimat-” 1+1; “: PUSMATIK” ↵
tampilkan: “Kalimat-” 2+1; “: PUSMATIK” ↵
tampilkan: “Kalimat-” 3+1; “: PUSMATIK” ↵
tampilkan: “Kalimat-” 4+1; “: PUSMATIK” ↵
Kasus: Diketahui empat persegipanjang dengan rincian sebagai berikut :
persegipanjang-1: panjang=p dan lebar=l
persegipanjang-2: panjang=2.p dan lebar=2.l
persegipanjang-3: panjang=3.p dan lebar=3.l
persegipanjang-4: panjang=4.p dan lebar=4.l
Tulislah algoritma dan pemrograman C++ untuk menghitung luas masing-masing
keempat persegipanjang tersebut dengan menggunakan struktur kendali proses
while(...).
Tampilan jalannya program:Algoritma dan pemrograman C++:
Solusi: misalkan p=2 dan l=5
Penjelasan:
← p →
← - 2p - →
← - - - - 3p - - - - →
← - - - - - - - 4p - - - - - - →
←2l
→
←l→
←-
-3l
-→
←-
-4l
--→
mulai: x=0
tampilkan: “persegipanjang” (0+1)
x←0+1;x←1;
p = (0+1)*2 dan l = (0+1)*5 ↵
Luas = ((0+1)*2) * (l = (0+1)*5) ↵
tampilkan: “persegipanjang” (1+1)
x←1+1;x←2;
p = (1+1)*2 dan l = (1+1)*5 ↵
Luas = ((1+1)*2) * (l = (1+1)*5) ↵
tampilkan: “persegipanjang” (2+1)
x←2+1;x←3;
p = (2+1)*2 dan l = (2+1)*5 ↵
Luas = ((2+1)*2) * (l = (2+1)*5) ↵
tampilkan: “persegipanjang” (3+1)
p = (3+1)*2 dan l = (3+1)*5 ↵
Luas = ((3+1)*2) * (l = (3+1)*5) ↵
Kasus: Diketahui sepuluh segitigasamasisi dengan rincian sebagai berikut :
segitigasamasisi-1: sisi=s
segitigasamasisi-2: sisi=2.s
segitigasamasisi-3: sisi=3.s
segitigasamasisi-4: sisi=4.s
... ...
segitigasamasisi-10: sisi=10.s
Tulislah algoritma dan pemrograman C++ untuk menghitung keliling masing-
masing kesepuluh segitiga tersebut dengan menggunakan struktur kendali proses
do...while(...).
Tampilan jalannya program:Algoritma dan pemrograman C++:
Solusi: misalkan s=1.5 dan Keliling segitigasamasisi = (3).(sisi)
segitiga-1: s=1.5 ; K=3.(1.5) = 4.5
segitiga-2: s=2.(1.5) ; K=3.(2(1.5)) = 9
segitiga-3: s=3.(1.5) ; K=3.(3(1.5)) = 13.5
segitiga-4: s=4.(1.5) ; K=3.(4(1.5)) = 18
dst... ...Penjelasan
Kasus: Ada tiga pilihan diberikan kepada end-user untuk mengerjakan operasi
arithmatika dengan rincian sebagai berikut :
Operasi-1: perkalian
Operasi-2: pembagian
Operasi-3: modulo
Tulislah algoritma dan pemrograman C++ untuk menyelesaikan persoalan
tersebut dengan menggunakan struktur kendali proses switch(...) dengan
menggunakan satu variabel, yakni x, dan konstanta=4 dimana isi variabel
didapatkan dari input-an, dan hasilnya langsung ditampilkan ke layar komputer.
Lakukan proteksi apabila end-user mengetikkan bilangan pecahan.
Algoritma proteksi bilangan pecahan:
Solusi: berdasar soal, variabel yang digunakan adalah x.
Deklarasi: x←Bil.Pecahan; z←Bil.Bulat
masukkan: x?
tampungkan isi x ke var: z
jika (x-z ≠ 0) tampilkan: “Maaf, bilangan bulat, bukan pecahan.”, selain itu: kerjakan blok
proses selanjutnya
Tampilan jalannya program:Algoritma dan pemrograman C++:
Kasus: Diketahui tujuh kalimat berikut ini:
Pilihan-1: 2 text-book.
Pilihan-2: 3 text-book.
Pilihan-3: 4 text-book.
Pilihan-4: 5 text-book.
Pilihan-5: 6 text-book.
Pilihan-6: 7 text-book.
Pilihan-7: 8 text-book.
Tulislah algoritma dan pemrograman C++ untuk menyelesaikan persoalan
tersebut dengan menggunakan struktur kendali proses: for(...)for(...)for(...)for(...).
Tampilan jalannya program:Algoritma dan pemrograman C++:
Solusi:
Pilihan- 0+1: 0+2 text-book.
Pilihan- 1+1: 1+2 text-book.
Pilihan- 2+1: 2+2 text-book.
Pilihan- 3+1: 3+2 text-book.
dst... ...Penjelasan
Kasus: Tulislah algoritma dan pemrograman C++ untuk menampilkan kode ASCII berikut:
‘y’ , ‘:’ , ‘^’ , ‘Y’ , ‘♣’ , ‘|’
dengan menggunakan struktur kendali: do..while(..)do..while(..)do..while(..)do..while(..).
Algoritma dan pemrograman C++:
Solusi:
Tampilan jalannya program: