Solusi UTS Genap 2011 Beserta Langkah

  • View
    136

  • Download
    0

Embed Size (px)

Transcript

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011

SOAL A

Buatlah sebuah program untuk menampilkan sejumlah bilangan / angka. Kumpulan angka tersebut pada posisi ganjil memiliki selisih 2. Sedangkan pada posisi genap merupakan kelipatan 3. LIHAT CONTOH BERIKUT INI: 3 10 3 12 6 14 9 16 12 18 15 20 2 Kriteria program: 1. Program akan meminta input batas bawah dan batas atas. Program juga akan meminta input jumlah angka yang akan ditampilkan. 2. Syarat: batas bawah HARUS lebih kecil dari batas atas. Jika tidak dipenuhi, program akan meminta kembali nilai batas bawah dan batas atas. 3. Syarat: jumlah bilangan yang ditampilkan MINIMAL 3. Jika jumlah bilangan kurang dari 3, maka program akan meminta kembali input jumlah bilangan yang hendak ditampilkan. 4. Untuk langkah 5-8 hanya dikerjakan dalam 1 looping. 5. Angka ke-1 merupakan nilai batas bawah, angka ke-3,5,7,9,11, (ganjil) memiliki selisih 2 dari bilangan posisi ganjil sebelumnya (lihat contoh di atas). 6. Angka ke-2 selalu mulai dari angka 3. Angka ke-4,6,8,10,12, (genap) merupakan bilangan kelipatan 3. 7. Bilangan/angka dalam kumpulan tersebut, yang merupakan bilangan ganjil diberi warna CYAN (yang diberi warna biru, dicontohkan dengan di BOLD), angka lainnya berwarna WHITE. 8. Angka / bilangan yang ditampilkan sejumlah input yang diinginkan ATAU sampai batas atas, kalau jumlahnya tidak mencukupi keluar peringatan bahwa angka yang ditampilkan tidak mencukupi permintaan. Bobot masing-masing: no. 1 4,7 8 maks 10; no. 5 6 maks 20 Perintah untuk memberi warna sebelum perintah write adalah textcolor(cyan), textcolor(white) atau textcolor(lightgray) Contoh Input: BB = 10; BA = 20; n = 8 (angka yang dibold + underline adalah angka yang harus berwarna biru) 10 3 12 6 14 9 16 12 BB = 5; BA = 14; n = 10 (angka yang dibold + underline adalah angka yang harus berwarna biru) 5 3 7 6 9 9 11 12 13 15

Langkah-langkah : 1. Input batas bawah, batas atas dan nilai n 2. Ulangi langkah 1 sampai batas bawah lebih kecil daripada batas atas 3. Ulangi langkah 1 dan 2 sampai n lebih besar daripada 3 4. Angka posisi ganjil dimulai dari batas bawah dan ditambah 2 dari angka posisi ganjil sebelumnya 5. Tulis sampai angka posisi ganjil lebih besar daripada batas atas 6. Pertama kali akan ditulis angka batas bawah, tetapi karena angka posisi ganjil sudah ditambah 2 terlebih dahulu (yang ditulis pertama akan menjadi batas bawah +2) maka dilakukan sedikit perbaikan dengan mengganti angka posisi ganjil dimulai dari batas bawah -2. 7. Angka posisi genap dimulai dari 3 dan ditambah 3 dari angka posisi genap sebelumnya

Soal A - 1

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011 8. Tulis sampai angka posisi ganji lebih besar daripada batas atas atau angka posisi genap lebih besar daripada batas atas 9. Angka posisi genap pertama kali harusnya adalah 3, tetapi karena angka posisi ganjil sudah ditambah 3 terlebih dahulu (yang ditulis pertama akan menjadi 6) maka dilakukan sedikit perbaikan dengan mengganti angka posisi genap dimulai dari 0. 10. Sebelum angka posisi ganjil dan genap ditulis, periksa terlebih dahulu. Bila angkanya ganjil ditulis dengan warna cyan selain itu diberi warna putih 11. Setelah menulis angka (baik posisi ganjil atau posisi genap), counter ditambah 1. 12. Jika counter masih lebih kecil daripada n, tulis angka posisi ganjil dan angka posisi genap. 13. Ulangi sampai counter = n, atau salah satu dari angka posisi genap atau angka posisi ganjil sudah melebihi batas atas 14. Bila counter lebih kecil daripada n, maka angka yang ditampilkan tidak mencukupi permintaan

Langkah 1 : Input batas bawah, batas atas dan nilai nprogram SOAL_UTS_A; uses crt; var bb,ba: integer; n : byte;

begin clrscr; write('Input Batas Bawah : '); readln(bb); write('Input Batas Atas : '); readln(ba); write('Input Banyak Bilangan : '); readln(n); readkey; end.

Langkah 2 : Ulangi langkah 1 sampai batas bawah lebih kecil daripada batas atasprogram SOAL_UTS_A; uses crt; var bb,ba: integer; n : byte;

begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=ba); readkey; end.

Langkah 6 : Pertama kali akan ditulis angka batas bawah, tetapi karena angka posisi ganjil sudah ditambah 2 terlebih dahulu (yang ditulis pertama akan menjadi batas bawah +2) maka dilakukan sedikit perbaikan dengan mengganti angka posisi ganjil dimulai dari batas bawah -2.program SOAL_UTS_A; uses crt; var bb,ba,posisiganjil: integer; n : byte;

Soal A - 3

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011

begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; repeat posisiganjil := posisiganjil+2; write(posisiganjil,' '); until (posisiganjil>=ba); readkey; end.

Langkah 7 : Angka posisi genap dimulai dari 3 dan ditambah 3 dari angka posisi genap sebelumnyaprogram SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 3; repeat posisiganjil := posisiganjil+2; write(posisiganjil,' '); posisigenap := posisigenap +3; until (posisiganjil>=ba); readkey; end.

Langkah 8 : Tulis sampai angka posisi ganji lebih besar daripada batas atas atau angka posisi genap lebih besar daripada batas atasprogram SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 3; repeat

Soal A - 4

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011posisiganjil := posisiganjil+2; write(posisiganjil,' '); posisigenap := posisigenap +3; write(posisigenap, ); until (posisiganjil>=ba) or (posisigenap>=ba); readkey; end.

Langkah 9 : Angka posisi genap pertama kali harusnya adalah 3, tetapi karena angka posisi ganjil sudah ditambah 3 terlebih dahulu (yang ditulis pertama akan menjadi 6) maka dilakukan sedikit perbaikan dengan mengganti angka posisi genap dimulai dari 0.program SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 0; repeat posisiganjil := posisiganjil+2; write(posisiganjil,' '); posisigenap := posisigenap +3; write(posisigenap,' '); until (posisiganjil>=ba) or (posisigenap>=ba); readkey; end.

Langkah 10 : Sebelum angka posisi ganjil dan genap ditulis, periksa terlebih dahulu. Bila angkanya ganjil ditulis dengan warna cyan selain itu diberi warna putihprogram SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 0; repeat posisiganjil := posisiganjil+2; if(posisiganjil mod 2 = 1) then textcolor(cyan) else textcolor(white); write(posisiganjil,' '); posisigenap := posisigenap +3; if (posisigenap mod 2 = 1) then textcolor(cyan) else textcolor(white); write(posisigenap,' '); until (posisiganjil>=ba) or (posisigenap>=ba); readkey; end.

Soal A - 5

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011 Langkah 11 : Setelah menulis angka (baik posisi ganjil atau posisi genap), counter ditambah 1.program SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n,counter : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 0; repeat posisiganjil := posisiganjil+2; if(posisiganjil mod 2 = 1) then textcolor(cyan) else textcolor(white); write(posisiganjil,' '); inc(counter); posisigenap := posisigenap +3; if (posisigenap mod 2 = 1) then textcolor(cyan) else textcolor(white); write(posisigenap,' '); inc(counter); until (posisiganjil>=ba) or (posisigenap>=ba); readkey; end.

Langkah 12 : Jika counter masih lebih kecil daripada n, tulis angka posisi ganjil dan angka posisi genap.program SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n,counter : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 0; repeat posisiganjil := posisiganjil+2; if(posisiganjil mod 2 = 1) then textcolor(cyan) else textcolor(white); if counter < n then begin write(posisiganjil,' '); inc(counter); end; posisigenap := posisigenap +3; if (posisigenap mod 2 = 1) then textcolor(cyan) else textcolor(white); if counter < n then begin write(posisigenap,' '); inc(counter); end; until (posisiganjil>=ba) or (posisigenap>=ba); readkey; end.

Soal A - 6

Solusi dan Penjelasan UTS Prokom Semester Genap 2010/2011 Langkah 13 : Ulangi sampai counter = n, atau salah satu dari angka posisi genap atau angka posisi ganjil sudah melebihi batas atasprogram SOAL_UTS_A; uses crt; var bb,ba,posisiganjil,posisigenap: integer; n,counter : byte; begin clrscr; repeat write('Input Batas Bawah : ');readln(bb); write('Input Batas Atas : ');readln(ba); write('Input Banyak Bilangan : ');readln(n); until (bb=3); clrscr; posisiganjil := bb-2; posisigenap := 0; repeat posisiganjil := posisiganji