Sabtu, 23 Mei 2009
Nilai Psikomotor dan Ulangan Harian
Silahkan anda download nilainya di sini.
Yang sudah diupload:
1. Nilai Psikomotor 1
2. Nilai Psikomotor 2
3. Nilai UH 2
4. Nilai Psikomotor 3
Jumat, 22 Mei 2009
Tugas Perbaikan Ulangan Harian ke Dua
program isengk;
uses crt;
var
kal:string;
huruf:char;
i,jml,pj:byte;
begin
clrscr;
write('Kalimat: ');
readln(kal);
write('Huruf yang disembunyikan: ');
readln(huruf);
pj:=length(kal);
for i:= 1 to pj do
begin
if copy(kal,i,1)=huruf then
begin
insert('*',kal,i);
delete(kal,i+1,1);
jml:=jml+1;
end;
end;
writeln('Jumlah huruf ',huruf,' yang disembunyikan adalah ',jml);
writeln('Hasilnya adalah ',kal);
readln;
end.
Jelaskan beberapa poin berikut ini :
1. Fungsi dari program.
2. Cara kerja program, meliputi cara penggunaan fungsi2 yang disebutkan, dan jalannya program.
Tugas dikumpulkan dalam bentuk dokumen word (.doc) ke email youngky_h@yahoo.co.id paling lambat tanggal 26 Mei 2009 pk 18:00 . Pada subjek harus dituliskan : her uh2
Ketentuan HER Psikomotor 1 - 3
subjek : psikomotor [kelas] [no absen=""] [nama].
Contohnya: psikomotor x-i 09 cecep
Bagi yang her psikomotor satu:
Kerjakan prak 1 no 2, prak1 no 3, prak 2 no 1
Bagi yang her psikomotor dua:
Kerjakan prak 3 no 1, prak 3 no 2 dan prak 3 no 3
Untuk psikomotor 3, yang mempunyai nilai dibawah 85 diperbolehkan mengulang. Buat program untuk mengalikan bilangan dengan input dan output seperti ini:
Bilangan:5 ==> ini dimasukkan oleh pengguna
Perkalian: 1 * 2 * 3 * 4 *5 ==> output oleh komputer
Hasil: 120 ==> output oleh komputer
Khusus psikomotor 3, her diberikan nilai maksimal 85, bila mengumpulkan sebelum Senin(tanggal 25) jam 18:00 (jam email server). Bila dikumpulkan setelah jam itu, berlaku ketentuan seperti biasa.
Keterlambatan tidak dilayani.
Selasa, 19 Mei 2009
Latihan Soal UKK
Biar lebih mansstap blajar juga lat uh2. Met belajar!
1. Perhatikan kata-kata berikut :
1 pascal a bahasa tingkat rendah
2 C++ b bahasa mesin murni
3 C c bahasa tingkat lanjut
4 assembler d bahasa tingkat tinggi
5 bahasa mesin e bahasa tingkat menengah
Pasangan yang tepat adalah …
a. 1 - a , 2 - b, 3 - b
b. 1 - d, 2 - e, 4 - a
c. c. 3 - e, 4 - e, 5 - b
d. 3 - a, 4 - a, 5 - e
e. 4 - a, 5 - a, 2 - c
Jawab: b
Pembahasan:
Pembagian bahasa pemrograman berdasarkan sintaks dan kecepatan ada 3, yaitu: tingkat rendah, tingkat menengah, tingkat tinggi. Jadi option yang mengandung b(bahasa mesin murni) dan c (bahasa tingkat lanjut) pasti salah. Jawaban pilihan [a] dan [e] bisa dicoret dari daftar kemungkinan.
Selanjutnya tinggal diperiksa bahasa mana yang cocok dengan pembagiannya. Pilihan [c] salah karena 4(assembler )dipasangkan dengan e(bahasa tingkat menengah). Pilihan [d] salah karena 3( C ) dipasangkan dengan a ( bahasa tingkat rendah).
2. Desainer dari sebuah sistem secara keseluruhan dari awal sampai dengan akhir dikenal dengan istilah ....
a. Designer
b. Programmer
c. Surveyor
d. System Analyst
e. Tester
Jawab: C
Pembahasan:
Pada proses pembuatan program, ada beberapa tahapan yang harus dilalui. Pada tahap awal ada proses analisa kebutuhan pengguna lalu perancangan sistem. Orang yang bertanggung jawa b pada proses ini disebut System Analyst. Sedangkan programmer bertanggung jawab untuk mewujudkan program/sistem yang telah dirancang tersebut.
3. Simbol flowchart untuk case adalah ….
a. belah ketupat/diamond
b. persegi
c. segitiga
d. lingkaran
e. elips
Jawab: A
Pembahasan:
Case merupakan bentuk percabangan di pascal. Dalam membuat flowchart, bentuk percabangan diwakili dengan belah ketupat/diamond. Begitu juga 'if' dilambangkan dengan belah ketupat.
===fungsi dan prosedur===
4. Perhatikan pernyataan berikut ini:
i. procedure mempunyai 'return value'
ii. sebuah statement bisa dibuat dengan sebuah fungsi dan operator aritmat ika saja.
iii. procedure dan fungsi dapat mempunyai parameter.
iv. delete adalah contoh procedure
Pernyataan yang benar adalah:
a. i dan ii
b. i dan iii
c. ii dan iii
d. iii dan iv
e. semua salah
Jawab: D
Pembahasan:
Pernyataan [i] salah karena yang mempunyai return value atau nilai kembalian adalah fungsi. Contoh: pada perintah x := sqr(4) , fungsi sqr akan mengembalikan nilai kuadrat dari 4 (16) kepada variabel x.
Pernyataan [ii] salah karena membuat statement dengan fungsi , harus disertai operator assignment ( := ) atau prosedur.
Pernyataan [iii] dan [iv] benar. Fungsi dan prosedur mempunyai parameter, yaitu nilai yang berfungsi sebagai inputan (yang diletakkan di antara tanda kurung). Contoh:
x := sqr(panjang);
writeln('hai');
Pada contoh di atas yang disebut parameter adalah panjang dan 'hai'.
5. Perhatikan potongan program berikut:
kalimat:='apa kabar?':
huruf:=copy(kalimat,5,1);
Isi dari variabel huruf adalah …
a. kabar?
b. apa kabar?
c. apa k
d. k
e. kosong
Jawab: D
Pembahasan:
Perintah di atas adalah untuk mengkopi isi dari variabel kalimat dimulai dari posisi ke 5 sebanyak 1 karakter.
===percabangan===
6. Perhatikan source code berikut:
Kesalahan saat program di compile terdapat pada baris ke berapa dan apa alasannya?
a. baris 1 karena nama program menggunakan spasi
b. baris 12 karena tipe variabel yang digunakan bukan ordinal expression.
c. baris 15 karena sebelum 'else' menggunakan titik koma.
d. baris 13 karena angka nol seharusnya ditulis dengan tanda petik tunggal('0'..10')
e. baris 18 karena 'end' pada baris tersebut tidak mempunyai 'begin' sebagai pasangannya.
Jawab: A
Pembahasan:
Baris 12, tipe variabel qtt adalah byte. Jadi baris ini benar, karena byte, integer, char merupakan tipe variabel yang dapat digunakan pada case(termasuk ordinal expression). Lihat power poin perulangan yang ke tiga.
Pada baris 13 sudah benar, karena penulisan bilangan tidak menggunakan tanda petik. Beda jika yang dimaksudkan oleh programmer memang adalah string yang berisi angka, misalnya '100'.
Pada baris 15 dan 18 sudah benar. Pada case, aturan penulisannya memang seperti demikian. Lihat buku hal 55.
===perulangan===
7. For j:= 1 to batas do
if j mod 3 = 0 then write ('*')
else write (j);
Jika batas bernilai 4 maka potongan program di atas akan menghasilkan …
a. 12*4
b. **3*
c. *****
d. 12345
e. 12*45
Jawab: A
Pembahasan:
Perintah perulangan tersebut akan mengulang sebanyak 4 kali, dimulai dari j bernilai 1 sampai 4. Perintah 'if' merupakan perintah yang akan diulang 4 kali.Pada saat j mempunyai nilai kelipatan 3 ( 3, 6, 9, dst) 'if' akan mengerjakan perintah cetak '*'. Pada saat j mempunyai nilai selain dari kelipatan 3 (1,2,4,5,7, dst) 'if' akan mengerjakan perintah cetak isi j. Jadi yang tercetak adalah 12*4
===analisa program===
8. Analisa program ini:
program jumlah_deret;
uses crt;
var
batas,jum,i:integer;
begin
clrscr;
write('Batas : ');
readln(batas);
for i:=batas div 2 to batas do
begin
write(i,' ');
if i <> batas then write(' + ');
jum:=jum+i;
end;
writeln(' = ',jum);
readln;
end.
Soal:
a. Buatlah analisa dari perulangan yang terjadi jika inputan user adalah5(lima) 7(tujuh)!
b. Dari hasil akhirnya, jelaskan tujuan program ini!
Jawab
a. Jika inputan user adalah 7 maka variabel batas akan terjadi perulangan sebanyak 5 kali karena var i akan bernilai 3 (7 div 2) sampai 7. Dengan perulangan seperti pada tabel berikut:
setelah perulangan selesai, perintah writeln('= ',jum) dikerjakan satu kali, karena tidak termasuk dalam perulangan(diluar begin dan end milik for). Jadi hasil akhirnya adalah
3 + 4 + 5 + 6 + 7 = 25
b. Program ini berfungsi untuk mencetak deretan bilangan dari batas div 2 hingga bilangan batas, lalu menampilkan jumlahnya.
9. Perhatikan tampilan program berikut:
Nama barang: topi
Jumlah barang: 10
Harga barang: 25000
Total: 250000
Diskon : 25000
Buatlah flowchart dan program berdasarkan tampilan program di atas!
Jawab:
program gebyar_hadiah;
uses crt;
var
nm_brg:string;
total,hrg:longint;
jml:byte;
diskon:real;
begin
clrscr;
write('Nama barang: ');
readln(nm_brg);
write('Jumlah barang: ');
readln(jml);
write('Harga barang: ');
readln(hrg);
total:=jml*hrg;
if total>=100000 then
begin
diskon:=0.1 * total;
writeln('Diskon: ',diskon:0:0);
end;
if nm_brg='topi' then
writeln('Kamu dapat hadiah boneka lucu.')
else
writeln('Kamu tidak dapat hadiah. Kacian deh lu.');
readln;
end.
Flowchart:
###koreksi(22/5)
no 8, inputan bukan 5 tapi 7
Minggu, 26 April 2009
Senin, 20 April 2009
Pembahasan Latihan Soal UH2 [part 1]
sudah akan saya bahas. Berhubung ada acara keluarga, jadinya tertidur pulas
sekembalinya ke rumah, hahaha..
Berikut pembahasannya:
Jawaban: d
Penjelasan:
Untuk pilihan <a>, tidak tepat karena terdapat operator 'and' yang termasuk
operator logika. Begitu juga dengan pilihan <b>. Pilihan <c> dan <e>,
merupakan operator aritmatika.
Jawaban: e
Penjelasan:
Yang termasuk operator perbandingan adalah nomor <iii>, <iv>, dan <v>.
Nomor <i> adalah operator penugasan. Sedangkan nomor <ii> adalah
operator logika.
Jawaban: d
Penjelasan:Sudah jelas.
Jawaban: a
Penjelasan:
Operator '++' tidak terdapat pada freepascal.
Jawaban: e
Penjelasan:Sudah jelas.
Jawab: a
Penjelasan: Sudah jelas.
Jawab: d
Penjelasan: Untuk membandingkan string, operator yang digunakan sama seperti
membandingkan nilai angka.
Jawab: b
Penjelasan:
Jika bilangan bernilai 5, maka 2 + bil menjadi 7. Agar bernilai true, ekspresi
tersebut harus dalam bentuk 7 < 20.
Jawab: d
Penjelasan:
Pilihan <a> menggunakan operator penugasan (:=) , sehingga terjadi kesalahan
sintaks. Pada pilihan <b> digunakan operator yang tidak terdapat dalam
pascal, yaitu '=='. Pilihan <c> kehilangan kata 'then'. Sedangkan pilihan <e>,
penggunaan tanda kurung kurang lengkap, seharusnya (a=5) and (b=7).
Jawab: b
Penjelasan:
Pilihan <a> menggunakan operator penugasan, yang seharusnya tidak terdapat
dalam sebuah kondisi. Pilihan <c> terdapat kesalahan pada penggunaan
operator perbandingan, yaitu tertukarnya posisi = dan >. Pilihan <d> melupakan
kata 'and'. Sedangkan pilihan <e> terdapat kesalahan dalam kondisi. Seharusnya
kondisi bernilai true atau false, tidak bernilai angka.
Jawab: b
Penjelasan:
Dalam flowchart, percabangan digambarkan dengan lambang decision(belah ketupat),
yang memiliki 2 panah keluar. Satu bertuliskan 'Y' dan yang lain bertuliskan
'T'.
Jawab: a
Penjelasan:
Kondisi dalam percabangan adalah ekspresi yang bernilai true atau false saja.
Jawab:d
Penjelasan:
Nilai dari usia > 17 menjadi false karena usia bernilai 17. Nilai dari kondisi
status <> 'menikah' menjadi false. Sehingga nilai menjadi false or false,
yang hasilnya adalah false. Sehingga pernyataan if akan mengerjakan perintah
kedua.
Jawab: a dan b
Penjelasan:
Pilihan <d> dan <e> tidak perlu kita analisa lebih lanjut karena
perintah cetak yang akan dikerjakan bukan perintah yang kita inginkan. Yang
perlu kita perhatikan adalah pilihan <a>, <b>, dan <c>.
Pada tabel, dapat kita lihat bahwa hasil dari kedua ekspresi, yaitu waterflow =
0 dan outputvalue = 1, adalah false. Sehingga pada proses selanjutnya, yaitu
false AND false, akan dihasilkan nilai false. Jadi perintah cetak tidak akan
dikerjakan.
Pada pilihan <a> dan <b>, perintah cetak akan dikerjakan. karena
nilai akhir dari kondisi pada pilihan <a> dan <b> bernilai true.
Jawab: d
Penjelasan:
Lambang decision(belah ketupat) merupakan lambang yang harus ada. Karena decision
melambangkan if dalam program. Sedangkan lambang proses, input/output, preparation,
dan konektor, tidak harus ada.
Jawab: a
Penjelasan:
Pilihan <e> adalah pilihan pertama yang kita coret dari daftar kita,
karena menggunakan dua buah kata 'if'. Sedangkan sebuah kata 'if' mewakili
sebuah lambang decision.
Lambang decision di atas dapat kita terjemahkan menjadi
IF m mod n = 0 THEN
Lalu kita lihat pada panah yang tertera huruf 'Y'. Di sana terdapat perintah
output n faktor m, yang kita terjemahkan menjadi
writeln(n, ' faktor ' , m)
Pada arah panah 'T' terdapat perintah output n bukan faktor m, yang diterjemahkan
menjadi
writeln( n , ' bukan faktor ', m);
Jika digabungkan menjadi
IF m mod n = 0 THEN
writeln(n, ' faktor ' , m)
ELSE
writeln(n, ' bukan faktor ' , m);
Jawab: a
Penjelasan:
Percabangan CASE hanya bisa menggunakan tipe char dan tipe angka bulat (byte,
integer, longint,dll);
Jawab: c
Penjelasan:
Variabel abjad akan dibandingkan nilainya dengan karakter 'a', 'b', dan 'c'.
Sehingga harus memiliki tipe data yang sama, yaitu char.
Jawab: a dan e
Penjelasan:
Sintaks case adalah CASE <ekspresi> OF
Dari sintaks di atas, pilihan <b> bukan merupakan ekspresi yang benar
karena menggunakan operator penugasan. Pilihan <c> dan <d> mengandung
kesalahan sintaks yang jelas terlihat. Pilihan <a> dan <e> menggunakan
ekspresi yang benar.
Jawab: e
Penjelasan:
Perulangan FOR dan WHILE termasuk perulangan pretest loop, karena syarat terjadi perulangan diletakkan di atas. Sedangkan REPEAT disebut posttest loop, karena syarat perulangan diletakkan di bawah.
Jawab: a
Penjelasan:
Perulangan FOR dapat menggunakan tipe data untuk angka bulat dan char.
Jawab: b
Penjelasan:
Perulangan akan terjadi empat kali, karena untuk setiap bilangan yang ada di
antara 2 dan 5 akan terjadi sebuah perulangan. Karena dari bilangan 2 sampai
5 termasuk bilangna itu sendiri terdapat empat bilangan, maka akan terjadi
empat kali perulangan.
Jawab: d
Penjelasan:
Di antara bilangan 5 sampai -5 termasuk bilangan itu sendiri, terdapat 11 bilangan.
Jawab: e
Penjelasan:
Kita abaikan tipe data dari variabel kontrolnya (i, angka, abjad). Yang perlu kita perhatikan adalah sintaks dari FOR
FOR <variabel> := <awal> to <akhir> do
atau
FOR <variabel> := <akhir> downto <awal> do
Pilihan <a> terdapat kesalahan pada penggunaan '='. Pilihan <b> salah,
karena terdapat spasi diantara : (titik dua) dan = (sama dengan). Pilihan <c> dan <d> kurang kata 'do'. Pilihan <e> benar.
Jawab: e
Penjelasan:
Pada perulangan FOR tersebut, i akan memiliki nilai yang naik dari empat hingga
sembilan pada tiap kali terjadi perulangan. Pada setiap perulangan, perintah
if akan dikerjakan, sehingga terjadi output.
Pada perulangan pertama, i akan bernilai 4, sehingga ekspresi 4 mod 2 = 0
bernilai true. Karena kondisinya true maka komputer akan mengerjakan perintah
di bawah 'if'. Yaitu mencetak tanda pagar (#). Pada perulangan kedua, i akan
bernilai 5, sehingga ekspresi 5 mod 2 =0 akan bernilai false. Jadi komputer
akan mencetak tanda bintang(*). Begitu seterusnya sampai pada perulangan ke
enam. Output akhir dari program dapat kita lihat di baris ke enam, yaitu: #*#*#*.
Jumat, 17 April 2009
Jawaban Praktikum Pascal
22/5/2009: tambah praktikum 4