Jenis Sekolah : SMA Alokasi Waktu: 180 menit (4 jam pelajaran)
Mata Pelajaran: Teknologi Informasi dan Komunikasi Jumlah Soal : 6
Kurikulum : KTSP Penulis : Zulkifli
Sub Kompetensi : Mengenal bahasa pemrograman
|
No. Urut |
Kompetensi Dasar / Indikator |
Bahan Kelas / Semester |
Materi |
Indikator Soal |
Bentuk Tes |
No. Soal |
Hirarki Soal |
|
1.
2.
3.
|
Mengenal perintah dasar dan menu suatu bahasa pemrograman
Mengenal tipe data dan operator
Membuat program untuk operator logika
|
XI / 2 |
Algoritma dan Pemrograman | Mengetahui menu dan submenu pada Turbo Pascal
Menjelaskan pemecahan masalah dengan algoritma
Menjelaskan struktur program sederhana
Menyebutkan perbedaan tipe-tipe data
Menggunakan if-then-else dalam pernyataan bersyarat
Menggunakan case-of dalam pernyataan bersyarat |
Uraian
Uraian
Uraian
Uraian
Uraian
Uraian |
1
3
4
2
5
6 |
C1
C3
C2
C4
C5
C6 |
- Sebutkan Sub Menu yang terdapat pada menu Window di Turbo Pascal?
Jawab:
Cascade, Tile, Arrange icon, Close All
- Jelaskan perbedaan dari tipe data “char” dan “string”?
Jawab:
Tipe data Char dan String melibatkan semua karakter, akan tetapi pada tipe data char hanya karakter alfabet dan string meliputi semua karakter yang berupa teks mengandung arti
- Buatlah sebuah algoritma mengirim sebuah surat ke kantor post dengan menggunakan diagram alir
Jawab:
|
|
|
Mulai |
|
Alamat amplop |
|
Melipat surat |
|
Memasukkan surat ke dalam amplop |
|
Punya perangko? |
|
Tempelkan perangko pada amplop |
|
Berhenti |
|
Beli perangko |
- Sebutkan dan rincikan struktur penulisan Program Pascal
Jawab:
Program ; Judul Program
Uses ;
Label ;
Const ; Bagian deklarasi
Type ;
Var ;
Begin
Statement ; Bagian pernyataan
…
- End. Akhir Program
- Perbaiki program di bawah ini:
Program Menulis_Angka
Uses wincrt;
Var
Angka : integer;
Begin
Write (‘Masukkan nilai (1-2);); readln (nilai);
If nilai=1 then;
Write (‘Angka yang diketik adalah satu’);
Else;
Write (‘Angka yang diketik adalah satu’);
Readln;
End
Jawab:
Program Menulis_Angka;
Uses wincrt;
Var
Angka : integer;
Begin
Write (‘Masukkan nilai (1-2);;); readln (nilai);
If nilai=1 then
Write (‘Angka yang diketik adalah satu’)
Else
Write (‘Angka yang diketik adalah satu’);
Readln;
End.
- Buatlah sebuah program untuk menentukan jumlah hari dalam satu bulan. Misal, Bulan Januari 31 hari, April 30 hari, Februari 29 hari dan 28 hari jika tahun kabisat.
Jawab:
Program JumlahHari;
Var
No_bulan, Tahun, Jumlah_hari : integer;
Begin
Write (‘Bulan (1-12)?’); readln (no_bulan);
Write (‘Tahun?’); readln (tahun);
Case no_bulan of
1, 3, 5, 7, 8, 10, 12 : jumlah_hari := 31;
4, 6, 9, 11 : jumlah_hari := 30;
2 : if ((tahun mod 4=0) and (tahun mod 100<>0)) or (tahun mod 400=0)
Then
Jumlah_hari := 29
Else
Jumlah_hari := 28
End;
Writeln (‘Jumlah hari dalam bulan ‘, nomor_bulan, ‘adalah’, jumlah_hari);
End.






