UTAMA
LEMBAR SOAL
PETUNJUK UMUM
1. Isikan identitas Anda ke dalam Lembar Jawaban Komputer (LJK) yang tersedia dengan
menggunakan pensil 2B, sesuai dengan petunjuk di Lembar Jawaban Komputer (LJK).
2. Tersedia waktu 120 menit untuk mengerjakan paket soal tersebut.
3. Pada setiap butir soal terdapat 5 (lima) pilihan jawaban.
4. Periksa dan bacalah soal-soal sebelum Anda menjawabnya.
5. Laporkan kepada pengawas ujian apabila terdapat lembar soal yang kurang jelas, rusak, atau
tidak lengkap.
6. Mintalah kertas buram kepada pengawas ujian, bila diperlukan
7. Tidak diizinkan menggunakan kalkulator, HP, table matematika atau alat bantu hitung lainnya.
8. Periksalah pekerjaan Anda sebelum diserahkan kepada pengawas ujian.
1. Dalam menyusun suatu program,langkah pertama yang harus di lakukan adalah….
A. Membuat program
B. Membuat algoritma
C. Membeli komputer
D. Menentukan proses
E. Membeli software
2. Diketahui bahwa kantong A kosong. Kantong B berisi 10 buah jeruk dan kantong C berisi 15
buah jeruk. Apabila yang terbawa hanya sebuah kantong dan di katakan BUKAN kantong A
yang terbawa, Maka jumlah buah jeruk yang terbawa adalah….
A. 10
B. 15
C. 10 atau 15
D. 10 dan 15
E. Kosong
3. Ada sebuah algoritma sebagai berikut : Apabila diinput warna merah maka hasilnya menjadi
hijau. Apabila input warna hijau maka hasil menjadi putih, selain warna merah dan hijau maka
menjadi ungu. Jika kondisi input warna adalah hitam, maka hasil warna menjadi….
A. Merah
B. Putih
C. Hitam
D. Ungu
E. Abu-abu
Start
Read num
N
num%2=1
Read num
End
5. Pada flowchart penjumlahan aritmatika berikut, notasi yang tepat untuk “Cetak Hasil” adalah….
Mulai A.
Input nilai B.
A dan B
C.
Hasil = A + B
D.
Cetak Hasil
E.
Selesai
6. Dalam kegiatan sehari-harinya Pak Heru bekerja sebagai kuli tinta, seringkali beliau kesulitan
dalam menghitung gajinya, tentukan sintak program manakah yang sesuai dengan urutan
keluarannya, “berapa jam bekerja?”, “berapa besar gaji tiap jamnya?”, “mendapatkan
gaji(Rp)” ....
#include <conio.h> #include <iostream>
A. using namespace std;
int main(){
double jam, besar, bayar;
cout << " mendapatkan Gaji (Rp)";
cin >> jam;
cout << "Berapa besar gaji tiap jamnya? ";
cin >> besar;
bayar = jam * besar;
cout << " Berapa Jam bekerja?" << bayar << endl;
getch();return 0;}
7. Bu Diana sedang mengikuti program diet sehat, untuk mengetahui keberhasilannya bantulah
dengan menghitung berat ideal pada sintak program berikut :
#include <iostream>
#include <conio>
int main ()
{
float tb,bideal;
cout<<"________________________________________________"<<endl;
cout<<"\t\tBerat Badan Ideal"<<endl;
cout<<"________________________________________________"<<endl;
cout<<"Masukkan tinggi badan anda (cm) : ";
cin>>tb;
bideal = (tb - 100)-((tb - 100)*0.10); // Rumus
cout<<"\nBerat badan ideal anda adalah : "<<bideal<<" Kg";
getch (); }
Berapakah berat badan ideal Bu Diana apabila mempunyai tinggi badan 160 cm....
A. 50 Kg
#include <iostream>
using namespace std;
main()
{
XXXX huruf_1 = 'C', huruf_2 = '+';
cout <<"Tipe Data XXXXpada " << huruf_1 << huruf_2<< huruf_2;
getch();
return 0 ;
}
Tipe data manakah yang tepat untuk mengganti XXXX pada kode program di atas menurut
keterangan tabel tersebut ....
A. Char
B. Int
C. Float
D. Double
E. FloatChar
Tentukan tipe data yang tepat untuk digunakan pada kode program di atas untuk menggantikan
XXXX agar berjalan sesuai dengan gambar output tersebut....
A. Char
B. Int
C. Float
D. Double
E. FloatChar
12. Operator logika yang menyatakan “atau” dalam lambang berikut ini adalah….
A. &&
B. ||
C. !
D. <>
E. =
13. Angga akan menghitung luas segitiga siku-siku yang diketahui alas dan tingginya. Pseudocode
yang paling tepat untuk menyelesaikan kasus tersebut adalah….
A.
Judul: Algoritma Luas Segitiga
Kamus:
alas,tinggi,luas : double
Algoritma:
Read alas
Read tinggi
luas = alas*tinggi*0.5
Read luas
C.
D.
E.
A. Can drive
B. Can not Drive
C. Thank You
D. Can drive Thank You
E. Can not Drive Thank You
void main ()
{
float a, b, s, P_A, P_B, AB, P_AB, P_AUB;
cout<<"Jumlah semua kejadian\t= "; cin>>s;
cout<<"Kejadian A\t\t= "; cin>>a;
cout<<"Kejadian B\t\t= "; cin>>b;
cout<<"=============================="<<endl;
P_A = a/s;
cout<<"P_A\t= "<<P_A<<endl;
P_B = b/s;
cout<<"P_B\t= "<<P_B<<endl;
AB = a-b;
cout<<"AB\t= "<<AB<<endl;
P_AB = a+b/s;
cout<<"P_AB\t= "<<P_AB<<endl;
P_AUB = P_A+P_B-P_AB;
cout<<"P_AUB\t= "<<P_AUB<<endl;
getch();
}
Jika jumlah semua kejadian adalah 4, nilai kejadian A adalah 2, dan nilai kejadian B adalah 2,
maka Peluang AB (P_AB) adalah….
A. 8
B. 4
C. 2
D. 1
E. 0
Jika A diisi dengan nilai 30 dan B diisi dengan nilai 15, maka outputnya adalah….
A. Bilangan terbesar A
B. Bilangan terbesar B
C. Bilangan A dan B sama
D. Bilangan terkecil A
E. Bilangan terkecil B
Jika variabel warna diganti menjadi “kuning”, baris program yang dijalankan setelah baris ke-4
adalah…
Pemrograman Dasar Halaman 10 dari 21
A. Baris ke-5
B. Baris ke-7
C. Baris ke-9
D. Baris ke-10
E. Baris ke-13
20. Output yang diharapkan dari kode progam berikut adalah menampilkan kalimat “Welcome to
My World” sebanyak 100 kali; Struktur kontrol yang sesuai untuk menghasilkan output yang
diharapkan adalah….
A.
B.
C.
E.
$input = 99;
Do {
print “Welcome to my World”;
$input –= 1;
}
While(input>=0);
21. Pada gambar flowchart berikut, struktur perulangan jenis apakah yang digunakan?
Mulai
A. Perulangan dengan 1 kondisi
B. Perulangan dengan 2 kondisi
Salah
Kondisi C. Perulangan dengan lebih dari 2 kondisi
D. Perulangan bersarang
Benar
E. Tidak ditemukan kondisi perulangan
Proses
Selesai
22. Sebuah perusahaan pemutaran film memiliki aturan yang dapat menonton film hanya bagi
penonton yang berusia 17 tahun atau lebih yang ditunjukan oleh flowchart dibawah ini!
Jika ada penonton yang lahir pada tahun 2004 maka
output yang ditunjukan oleh flowchart di samping
adalah …
A. Tidak Boleh Menonton
B. X
C. Kosong
D. Boleh Menonton
E. Error
int data=10;
A. do
{
cout << data << “,“ ;
data ++ ;
}
While (data>1);
int data=10;
B. do
{
cout << data << “,“ ;
data ++ ;
}
While (data<1);
Output : 1,2,3,4,5,7,8,9,10
27. Kode program berikut yang menunjukkan struktur pengulangan dengan kondisi di akhir
adalah….
A.
B.
C.
E.
28. Struktur control perulangan sebagai pencacah naik ,syarat tipe data variable pencacah adalah…
A. Dapat Dihitung
B. Tipe data apa saja
C. Harus Integer
D. Bilangan real
E. Karakter
29. Struktur perulangan sebagai pencacah turun Berikut ini pernyataan yang benar mengenai
algoritma perulangan dengan pencacah turun ,kecuali….
A. Dapat dikonversikan dalam bentuk WHILE DO
B. Dapat menggunakan variable bertipe data karakter sebagai pencacah
C. Banyaknya iterasi sudah ditentukan
D. Tidak dapat diubah dalam bentuk pencacah naik
E. Dapat digunakan sebagai algoritma untuk menentukan baris bilangan
30. Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak
(<kondisi>bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2. Hal tersebut
adalah penjelasan dari percabangan…
A. 1 Kondisi
B. 2 Kondisi
C. Lebih dari 2 kondisi
D. Percabangan bersarang
E. Perulangan
31. Struktur perulangan dengan kondisi diakhir penggunaan REPEAT UNTIL adalah struktur
perulangan dengan….
A. Kondisi di awal
B. Kondisi di akhir
C. 1 Kondisi
D. 2 Kondisi
E. Lebih dari 2 kondisi
B.
C.
D.
E.
Maka pernyataan yang benar untuk tipe data array yang digunakan adalah…
A. int data[2]= {5, 20, 31, 21, 56, 1};
B. int data[3]= {5, 20, 31, 21, 56, 1};
C. int data[4]= {5, 20, 31, 21, 56, 1};
D. int data[5]= {5, 20, 31, 21, 56, 1};
E. int data[6]= {5, 20, 31, 21, 56, 1};
36. Yustin ingin menghitung volum silinder, ia hanya memiliki nilai diameter dan tinggi dari
silinder tersebut. Fungsi yang sesuai untuk membantu Yustin adalah, kecuali….
A.
B.
D.
E.
37. Penjelasan yang paling tepat dari deklarasi berikut: int aksi (int x, int y) adalah…
A. fungsi aksi() mempunyai sebuah argumen bertipe integer
39. Hasil keluaran dari fungsi berikut, jika nilai panjang adalah 6 dan lebar adalah 8 adalah…
#include <iostream>
using namespace std;
void Luas()
{
int panjang,lebar;
cout << "Masukkan panjang: "; cin >> panjang;
cout << "Masukkan lebar: "; cin >> lebar;
cout<<"Luas Persegi Panjang: " << panjang*lebar;
}
int main()
{
Luas();
return 0;
}
A. 0.75
B. 14
C. 24
D. 48
E. 96
A. void
B. return
C. parameter
D. parallel
E. prototype