AlPro-B_UTS_Kunci Jawaban

102 downloads 178 Views 76KB Size Report
KETENTUAN: Tidak diperbolehkan menggunakan Operator LOGIKA! Jawaban: ... Translasikan algoritma pada soal no (1) ke dalam Bahasa Pascal! Jawaban:.
Dosen Pengampu: Noor Ifada

KUNCI JAWABAN UJIAN TENGAH SEMESTER Kode/Nama Mata Kuliah Waktu/Sifat Ujian

: TKC106/Algoritma Pemrograman [Kelas B] : 90 Menit/Open Note

[Score = 30] 1. Dua buah bilangan bulat dimasukkan melalui piranti masukan. Buatlah sebuah algoritma (pseudocode) untuk melakukan operasi-operasi berdasarkan kemungkinan-kemungkinan berikut: a. Apabila kedua bilangan adalah bilangan yang berbeda:  Bilangan yang lebih kecil dijumlahkan dengan angka 10 dan hasilnya dicetak ke piranti keluaran  Bilangan yang lebih besar dijumlahkan dengan angka 5 dan hasilnya dicetak ke piranti keluaran b. Apabila kedua bilangan adalah bilangan yang sama:  Kedua bilangan dijumlahkan dan dibagi dengan angka 2, kemudian hasilnya dicetak ke piranti keluaran KETENTUAN: Tidak diperbolehkan menggunakan Operator LOGIKA! Jawaban: Algoritma operasi_PENYELEKSIAN Deklarasi: bil1,bil2: integer Deskripsi: read(bil1,bil2) if bil1 = bil2 then write((bil1 + bil2)/2); else if bil1 < bil2 then write(bil1 + 10) write(bil2 + 5) else write(bil1 + 5) write(bil2 + 10) endif endif

[Score = 10] 2. Translasikan algoritma pada soal no (1) ke dalam Bahasa Pascal! Jawaban: program operasi_PENYELEKSIAN; var bil1,bil2: integer; begin write('Masukkan bilangan bilangan pertama! ');readln(bil1); write('Masukkan bilangan kedua! ');readln ');readln(bil2); ln(bil2); if bil1 = bil2 then writeln('Oleh karena kedua bilangan adalah sama, maka hasil penjumlahan kedua bilangan yang kemudian dibagi 2 = ',((bil1 + bil2)/2):3:0) else if bil1 < bil2 then begin writeln('Hasil penjumlahan bilangan yang yang lebih kecil dengan angka 10 =',(bil1+10)); =',(bil1+10)); writeln('Hasil penjumlahan bilangan yang lebih besar dengan angka 5 = ',(bil2+5)); end else begin writeln('Hasil writeln('Hasil penjumlahan bilangan yang lebih besar dengan angka 5 = ',(bil1+5)); writeln('Hasil penjumlahan bilangan yang yang lebih kecil dengan angka 10 =',(bil2+10)); =',(bil2+10)); end; end.

[Score = 20] 3. Tentukan keluaran dari algoritma pseudocode berikut ini: Algoritma TEBAK_KELUARAN DEKLARASI: a, b, batas : integer DESKRIPSI: read(batas) read(batas) for a ← 1 to batas do write(a) write(a) for b ← 1 to a do write('*') write('*') endfor endfor

Jawaban: {misal} Batas = 4 {keluaran deret} 1*2**3***4**** Ujian Tengah Semester, Gasal 2009/2010 – S1 Teknik Informatika – Fakultas Teknik – Universitas Trunojoyo

Halaman 1/3

[Score = 30] 4. Buatlah algoritma (pseudocode) untuk menghitung jumlah angka-angka dari 1 sampai N. jumlah = 1 + 5 + 9 + ...

Nilai N dibaca terlebih dahulu dari piranti masukan. Misalnya, jika N = 4, maka jumlah deret: 1 + 5 + 9 + 13 = 28

Jawaban: {Soal dapat diselesaikan dengan menggunakan Struktur FOR, WHILE ataupun REPEAT} Dengan menggunakan Struktur FOR: Algoritma jumlah_deret_FOR Deklarasi: i,k,N,jumlah: integer Deskripsi: k ← 1 jumlah ← 0 read(N) for i ← 1 to N do jumlah ← jumlah + k k ← k + 4 endfor write(jumlah)

Dengan menggunakan Struktur WHILE: Algoritma jumlah_deret_WHILE Deklarasi: i,k,N,jumlah: integer Deskripsi: k ← 1 i ← 1 jumlah ← 0 read(N) read(N) while i ≤ N do jumlah ← jumlah + k i ← i + 1 k ← k + 4 endwhile write(jumlah)

Dengan menggunakan Struktur REPEAT: Algoritma jumlah_deret_REPEAT Deklarasi: i,k,N,jumlah: integer Deskripsi: k ← 1 i ← 1 jumlah ← 0 read(N) repeat jumlah ← jumlah + k i ← i + 1 k ← k + 4 until i > N write(jumlah)

[Score = 10] 5. Translasikan algoritma pada soal no (4) ke dalam Bahasa Pascal! Jawaban: {Soal dapat diselesaikan dengan menggunakan Struktur FOR, WHILE ataupun REPEAT} Dengan menggunakan Struktur FOR: program jumlah_deret_FOR; var i,k,N,jumlah: integer; begin k := 1; jumlah := 0; write('Masukkan batas! ');read(N); for i := 1 to N do begin jumlah := jumlah + k; k := k + 4; end; writeln('Hasil penjumlahan deret deret = ',jumlah); end. Ujian Tengah Semester, Gasal 2009/2010 – S1 Teknik Informatika – Fakultas Teknik – Universitas Trunojoyo

Halaman 2/3

Dengan menggunakan Struktur WHILE: program jumlah_deret_WHILE; var i,k,N,jumlah: integer; begin k := 1; i := 1; jumlah := 0; write('Masukkan batas! ');read(N); while i N; writeln('Hasil penjumlahan deret = ',jumlah); end.

Ujian Tengah Semester, Gasal 2009/2010 – S1 Teknik Informatika – Fakultas Teknik – Universitas Trunojoyo

Halaman 3/3