Soal logika dan algoritma BSI

1. Array dikenal juga dengan istilah…
a. Variabel unik
b. Variabel larik
c. Varianel inti
d. Variabel fungsi
e. Variabel struktur

2. Jenis array yang terbagi kedalam suatu bentuk baris dan kolom disebut juga…
a. Array dimensi satu
b. Array dimensi dua
c. Array dimensi tiga
d. Array dimensi empat
e. Array dimensi lima

3. Indeks pertama pada variabel array berdimensi tiga menunjukan …
a. Tipe data
b. Nama array
c. Baris
d. Kolom
e. Jumlah data

4. Jenis variabel yang digunakan pada pemanggilan suatu fungsi disebut juga dengan istilah …
a. Variabel array
b. Variabel konstruk
c. Parameter formal
d. Parameter actual
e. Parameter main

5. Suatu fungsi dalam C++ yang berfungsi mengirimkan nilai dari suatu fungsi kepada fungsi lain yang memanggilnya disebut…
a. Return
b. Main
c. Clrscr
d. Getch
e. Void 

6. Jika terdapat dua buah variabel (int a dan int hitung[4]), maka sintaks pemasukan data variabel array yang tepat adalah…
a. cout<<”Perhitungan awal adalah : “;cin>>hitung[i];
b. cout<<”Perhitungan awal adalah : “;cin>>hitung[4];
c. cout<<”Perhitungan awal adalah : “;cin>>hitung[a];
d. cout<<”Perhitungan awal adalah : “;gets(hitung[i]);
e. cout<<”Perhitungan awal adalah : “;gets(hitung[4]);

7. Perintah dalam C++ yang digunakan untuk mengatur lebar tampilan antara nilai variabel yang tercetak yaitu…
a. Setiosflags()
b. Setprecision()
c. Iomanip()
d. Ios
e. Setw()

8. Diantara penulisan sintaks output berikut ini yang kurang tepat adalah…
a. cout<<”setiosflags(ios::left)<<setw(5)<<var_x[x];
b. cout<<”setiosflags(ios::center)<<setw(7)<<var_x[x];
c. cout<<”setiosflags(ios::right)<<setw(15)<<var_x[x];
d. cout<<”setprecision(2)<<” “<<var_x[x];
e. cout<<”setprecision(6)<<” “<<var_x[x]<<endl;
9. Jika terdapat suatu variabel array, int panjang[7]={70,55,35,44,21,68,34} dan perulangan for(m=0;m<7;m++), nilai array indeks kedua variabel panjang, yaitu…
a. 70
b. 55
c. 44
d. 35
e. 0
10. Nilai data kelas baris kedua kolom ketiga pada data berikut adalah…
Bulan ke Kelas A Kelas B Kelas C Kelas D
1 50 48 64 44
2 54 51 66 44
3 53 51 64 43
a. 51
b. 64
c. 66
d. 44
e. 43
11. Suatu variabel dalam C++ yang berisi alamat dari variabel lain, disebut…
a. Konstanta
b. Pointer
c. Fungsi
d. Class
e. Struct 
12. Penulisan sintaks sederhana untuk suatu fungsi yang paling tepat adalah…
a. Nama_fungsi(argument)
(… pernyataan/perintah;)
b. {argument}nama_fungsi
{… pernyataan/perintah;}
c. Nama_fungsi{argument}
{… pernyataan/perintah;}
d. Nama_fungsi{argument}
(… pernyataan/perintah;)
e. Nama_fungsi(argument)
{… pernyataan/perintah;}


13. Jika terdapat sintaks fungsi berikut ini, int luas(int panjang int lebar), maka tipe data untuk hasil output fungus tersebut adalah…
a. Luas
b. Panjang
c. Lebar
d. Int
e. Cm 
14. Berikut ini yang bukan termasuk jenis variabel dalam C++ …
a. Variabel global
b. Variabel local
c. Variabel statis
d. Variabel eksternal
e. Variabel terkait
15. Penulisan sintaks untuk structure yang paling tepat adalah …
a. Struct nama_tipe_struct
{elemen struct;};
b. Struct nama_tipe_struct
(elemen struct;);
c. Nama_tipe_struct struct
{elemen struct;}
d. Struct
{elemen struct; nama_tipe_struct};
e. Struct
{elemen struct;};
16. Suatu penyederhanaan dari suatu permasalahan yang berkaitan dengan objek dikenal dalam C++ dengan istilah…
a. Kelas
b. Fungsi
c. Array
d. Struct
e. Pointer 
17. Dalam pemrograman berbasis OOP, pewarisan sifat disebut juga dengan…
a. Abstraction
b. Encapsulation
c. Inheritance
d. Polymorphism
e. Constructor
 
18. Parameter untuk menampung nilai kembalian (output) darisuatu proses disebut…
a. Parameter masukan
b. Parameter keluaran
c. Parameter maksimum
d. Parameter minimum
e. Parameter value
19. Melewatkan parameter kedalam suatu fungsi berdasarkan alamat memori…
a. Pass by value
b. Pass by reference
c. Pass by return
d. Pass by memory
e. Pass by function
20. Berikut ini yang bukan termasuk metode pengurutan data pada elemen array…
a. Buble sort
b. Insertion sort
c. Quick sort
d. Maximum-minimum sort
e. Distance sort
21. #include<constrea.h>
#include<stdio.h>
#include<iomanip>
main(){
int m; char ket[5];
for(m=1; m<=3; m++)
{ cout<<”Keterangan : “;cin>>ket[m] }
cout<<”----------------------------\n”;
cout<<”Keterangan \n”;
cout<<”----------------------------\n”;
for(m=1; m<=3; m++)
{ cout<<setprecision(2)<<” “<<ket[m]<<endl;}
getch();}
Sintaks C++ diatas memiliki sumber kesalahan berada pada baris ke…
a. 10
b. 9
c. 8
d. 7
e. 6
22. #include<constrea.h>
#include<stdio.h>
#include<iomanip.h>
main(){
int i, nil[8], sub=0;
for(i=1; i<=2; i++)
{ cout<<”Nilai :”; cin>>nil[i]; }
clrscr();
cout<<”Nilai \n”;
cout<<”------\n”;
for(i=1; i<=2; i++)
{ cout<<setprecision(0)<<” “<<nil[i]<<endl; }
cout<<”------------\n”;
cout<<”Subtotal :”<<sub;
getch(); }
Sisipkan coding penjumlahan untuk menghasilkan output variabel sub, yaitu…
a. sub=sub+sub;
b. sub=nil[1]+nil[i];
c. sub=sub+nil[i];
d. sub=sub[i]+nil;
e. sub=sub[i]+nil[i];
23. #include<contrea.h>
#include<stdio.h>
int x=8;
void kirim();
void main(){
kirim();
cout<<”Pengiriman Nilai Fungsi”<<endl;
cout<<”Nilai X : “; cout<<x;
getch();}
void kirim()
{ x+=2;}
Hasil output nilai x pada coding C++ diatas adalah…
a. 8
b. 10
c. 2
d. 4
e. 6
24. #include<constrea.h>
#include<stdio.h>
main(){
float x=15, y;
y=hasil(&x);
printf(“Nilai y saat ini adalah %2.2f”,y);
getch();}
Untuk menghasilkan Nilai y 13.00, fungsi yang paling tepat digunakan adalah…
a. hasil(float y)
{ return(y=13);}
b. hasil(float x)
{ return(y=13);}
c. hasil(float *z)
{ return (*z=-2);}
d. hasil(float *z)
{ return (*z-=2);}
e. hasil(float *x)
{ return(y=x-2);}
25. Jika Hasil Nilai Akhir adalah 87.6, berapakah Nilai Tugas dari Coding dibawah ini…
#include<constrea.h>
#include<stdio.h>
main() {
struct
{ float Vtgs;
float Vhsl_akhir;}mhs;
cout<<”Masukan Nilai Tugas : “;cin>>mhs.Vtgs;
cout<<”Nilai Tugas : “<<mhs.Vtgs<<endl;
if(mhs.Vtgs>=85)
mhs.Vhsl_akhir=(mhs.Vtgs*0.5)+mhs.Vtgs;
else
mhs.Vhsl_akhir=(mhs.Vtgs*0.2)+mhs.Vtgs;
cout<<”Hasil Nilai Akhir : “<<mhs.Vhsl_akhir<<endl;
getch();}
a. 85
b. 87.5
c. 78
d. 75.2
e. 73
26. Penulisan Struct yang kurang tepat berikut ini adalah…
a. struct(char nama[15]
}cust;
b. struct {int hrg;
}jual;
c. struct(float pajak;
}hitung[8];
d. struct{char nm_siswa;
}pnd[15];
e. struct{int nil;
}lgi;
27. #include<constrea.h>
struct mobil
{ char *merk; int thn_prd;
public:
void setmobil()
{merk=Honda; thn_prd=2011;}
void showmobil()
{ cout<<”Merk : “<<merk<<endl; cout<<”Tahun : “<<thn_prd<<endl;}};
main() {
mobil x;
x.setmobil(); x.showmobil();
getch();}
Letak kesalahan coding C++ diatas berada pada baris ke…
a. 4
b. 5
c. 6
d. 7
e. 8
28. #include<constrea.h>
class nilai{
int nil;
public:
nilai() {nil=15;}
void Showx(){
cout<<”Nilai Z =+ 2 : “<<nil<<endl;}};
main(){
nilai z;
z.Showx();
getch();}
Variabel nil akan menghasilkan nilai…
a. 17
b. 13
c. 0
d. 15
e. Tak terhingga
29. Terdapat suatu pernyataan coding berikut ini…
Int L;
Int *K;
K = &L;
Maksud dari coding K = &L adalah
a. Mendapat alamat dari variabel L dengan menuliskan &L dan menyimpannya kedalam pointer K
b. Mendapat alamat dari variabel K dengan menuliskan &K dan menyimpannya kedalam pointer K
c. Mendapat alamat dari variabel L dengan menuliskan &L dan menyimpannya kedalam pointer L
d. Mendapat alamat dari variabel K dengan menuliskan &L dan menyimpannya kedalam pointer L
e. Mendapat alamat dari variabel K dengan menuliskan &K dan menyimpannya kedalam pointer L

30. #include<constrea.h>
#include<stdio.h>
#include<iomanip.h>
main()
{ int i,j; int hitung[3][3];
for(i=1; i<=2; i++)
{for(j=1; j<=2; j++)
{cout<<”Data Ke – “<<i<<” “<<j<<endl;
cout<<”Jumlah Hitung : “;cin>>hitung[i][j];}}
cout<<”Hasil Perhitungan”<<endl;
cout<<”-------------------------“<<endl;
cout<<”No A B “<<endl;
cout<<”------------------------“<<endl;
for(i=1; i<=2; i++)
{cout<<setiosflags(ios::left)<<setw(2)<<i;
for(j=1; j<=2; j++)
{cout<<setiosflags(ios::right)<<setw(4);
cout<<hitung[i][j];}cout<<endl;}
cout<<”-----------------------“<<endl;
getch();}
Pada coding Array dimensi dua diatas, pemasukan Jumlah Hitung dilakukan sebanyak…
a. 1
b. 2
c. 3
d. 4
e. 5

Tidak ada komentar:

Posting Komentar