You are on page 1of 17

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

4. Perhatikan flowchart berikut:

Start

Read num

N
num%2=1

Read num

End
Pernyataan yang tepat mengenai flowchart di atas adalah….
A. Jika input = 0, output = 0
B. Jika input = 6, output = 6
C. Jika input = 1, output = 1
D. Jika input = 8, output = 2
E. Jika input = 5, output = 0

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;}

#include <conio.h> #include <iostream>


B. using namespace std;
int main(){
double jam, besar, bayar;
cout << "Berapa Jam bekerja? ";
cin >> jam;
cout << " mendapatkan Gaji (Rp) ";
cin >> besar;
bayar = jam * besar;
cout << " Berapa besar gaji tiap jamnya? " << bayar << endl;
getch();return 0;}
#include <conio.h> #include <iostream>
C. using namespace std;
int main(){
double jam, besar, bayar;
cout << " Berapa besar gaji tiap jamnya ?";
cin >> jam;
cout << " Berapa Jam bekerja? ";
cin >> besar;
bayar = jam * besar;
cout << "mendapatkan Gaji (Rp)" << bayar << endl;
getch();return 0;}

#include <conio.h> #include <iostream>


D.
using namespace std;
int main(){
double jam, besar, bayar;
cin << "Berapa Jam bekerja? ";
cout >> jam;
cout << "Berapa besar gaji tiap jamnya? ";
cin >> besar;
bayar = jam * besar;
cout << "mendapatkan Gaji (Rp)" << bayar << endl;
getch();return 0;}

E. #include <conio.h> #include <iostream>


using namespace std;
int main(){
double jam, besar, bayar;
cout << "Berapa Jam bekerja? ";
cin >> jam;
cout << "Berapa besar gaji tiap jamnya? ";
cin >> besar;
bayar = jam * besar;
cout << "mendapatkan Gaji (Rp)" << 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
B. 51 Kg
C. 52 Kg
D. 53 Kg
E. 54 Kg

8. Berikut ini adalah tabel tipe data dalam C


TIPE FORMAT KETERANGAN
char %c Karakter/string
int %i, %d Integer/bilangan bulat
float %f Float/bilangan pecahan presisi tunggal
double %lf Bilangan pecahan presisi ganda

#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

9. Data yang berisi sederet karakter disebut….


A. String
B. Array
C. Integer
D. Boolean
E. Float

10. Berikut ini output dari syntax program di bawah ini


#include<iostream>#include<conio.h>int main(){
int subme; char menu; atas: clrscr();
cout<<" "<<endl;
cout<<"\t\tProgram luas bangun ruang"<<endl;
cout<<" "<<endl;
cout<<"Pilih Menu Program \n";
cout<<"\n1. Luas Lingkaran\n";
cout<<"2. Luas Bujursangkar\n";
cout<<"3. Luas Segitiga\n";
cout<<"4. Luas Trapesium\n";
cout<<"5. Luas Layang-layang";
cout<<"\nPilih program yang akan dijalankan : ";
cin>>subme; switch (subme){
case 1: { xxxx r,L;
cout<<" \n";
cout<<"\nInput jari-jari : ";
cin>>r;
L=3.14*r*r;
cout<<"Luas Lingkaran = "<<L<<endl; }break;
case 2: { xxxx s,L;
cout<<" \n";
cout<<"\nInput sisi : ";
cin>>s;
L=s*s;
cout<<"Luas Bujursangkar = "<<L<<endl; }break;
case 3: { xxxx a,t,L;
cout<<" \n";
cout<<"\nInput alas : ";
cin>>a;
cout<<"Input tinggi : ";
cin>>t;
L=a*t/2;
cout<<"Luas Segitiga : "<<L<<endl; }break;
case 4: { xxxx s1,s2,t,L;
cout<<" _\n";
cout<<"\nInput sisi ke-1 : ";
cin>>s1;
cout<<"Input sisi ke-2 : ";
cin>>s2;
cout<<"Input tinggi : ";
cin>>t;
L=s1*s2*t/2;
cout<<"Luas Trapesium : "<<L<<endl; }break;
case 5: { xxxx d1,d2,L;
cout<<" \n";
cout<<"\nInput diagonal ke-1 : ";
cin>>d1;
cout<<"Input diagonal ke-2 : ";
cin>>d2;
L=d1*d2/2;
cout<<"Luas Layang-layang : "<<L<<endl; } break;}
cout<<"\n\nApakah akan mengulang kembali <y/n> ?"; cin>>menu;
if (menu == 'y'||menu=='Y')
{
goto atas;}
else{
cout<<"\nTerima Kasih sudah menggunakan program ini";}
getch ();}

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

11. ++ dan -- merupakan operator....


A. Operator Aritmatika
B. Operator Increment dan Decrement
C. Operator Majemuk
D. Operator Relasional
E. Operator Logika

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
B.

C.

D.

E.

14. Keluaran dari kode program berikut adalah….

A. Can drive
B. Can not Drive
C. Thank You
D. Can drive Thank You
E. Can not Drive Thank You
15. #include <conio.h>
#include <iostream.h>
#include <math.h>
#include <string.h>

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

16. Perhatikan algoritma percabangan dengan pseudocode berikut!


Judul : Algoritma Membandingkan Dua Buah Nilai
Deklarasi:
A, B : integer
Algoritma:
Input (A,B)
If (A>B) then
Output (“Bilangan terbesar A”)
Else
If(A<B) then
Output (“Bilangan terbesar B”)
Else
Output (“Bilangan A dan B sama”)
Endif
Endif

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

17. Perhatikan struktur percabangan berikut!


If(x>0)
Cout << “x is positif”;
Else if(x<0)
Cout << “x is negative”;
Else
Cout <<”x is 0”;

Jika variabel diisi dengan nilai 5, maka outputnya adalah….


A. X is positif
B. X is negative
C. X is 0
D. Undefined
E. X is 15

18. Perhatikan kode program Java berikut!

Jika variabel warna diganti menjadi “kuning”, baris program yang dijalankan setelah baris ke-4
adalah…
A. Baris ke-5
B. Baris ke-7
C. Baris ke-9
D. Baris ke-10
E. Baris ke-13

19. Perhatikan algoritma perulangan berikut!


Judul : Algoritma Deret Bilangan
Deklarasi:
a : integer
Algoritma:
a 0
for (a  1; a<=5; a  a++)
End for
Output (a)
Output yang akan tampil adalah….
A. 1,2,3,4,5,6,7,8,9,10
B. 1,2,3,4,5,6,7
C. 1,2,3,4,5,6
D. 1,2,3,4,5
E. 1,2,3

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.
D.

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
23. Perhatikan kode dibawah ini!
#include <iostream> Output yang memungkinkan untuk opsi A dan B
#include <string.h>
using namespace std;
berurutan adalah …
int main(){ A. Ganjil - Genap
int angka=7;
char hasil[50]; B. Genap - Ganjil
if (angka % 2 == 0) C. Benar - Salah
strcpy(hasil, … A … )
else D. Salah - Benar
strcpy(hasil, ... B … ) E. Cacah - Bulat
cout<<”Jenis Bilangan Untuk Angka “;
cout<<angka<<” adalah = “<<hasil;
return 0 ;
}
24. Perhatikan kode dibawah ini!
#include <iostream> Hasil dari contoh kasus pengulangan di samping
using namespace std; merupakan …
int main(){
int bilangan=10; A. Nomor berurut menaik sampai 10
do
{
B. Nomor berurut menurun dari 10
cout << bilangan << “,“ ; C. Bilangan genap menaik sampai 10
bilangan -=2;
} D. Bilangan genap menurun dari 10
While (bilangan>1); E. Bilangan Ganjil menurun dari 10
return 0 ;
}

25. Di bawah ini perintah pengulangan decrement yang benar adalah …

int data=10;
A.
do
{
cout << data << “,“ ;
data ++ ;
}
While (data>1);

int data=10;
B. do
{
cout << data << “,“ ;
data ++ ;
}
While (data<1);
int data=10;
C. While (data<1)
{
cout << data << “,“ ;
++ data ;
}

D. For (data = 1 ; data <= 10 ; data ++)

E. For (data = 10 ; data >= 1 ; data - - )


26. Perhatikan kode di bawah ini!
#include <iostream> Untuk mendapatkan output dari kode disamping,
using namespace std; perintah untuk melengkapi kode X adalah …
int main(){
int nilai ; A. Continue ;
For (nilai = 1; nilai <=10 ; nilai ++) B. Break ;
{
C. Strcat ;
If (nilai ==6)
……. X ……. D. Strcmp ;
cout << nilai << “,”; E. Clrscr ;
}
return 0;
}

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.
D.

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

You might also like