You are on page 1of 11

Conso alpro

SOAL DAN KUNCI JAWABAN


QUIS I ALGORITMA PEMOGRAMAN I
Dosen Pengasuh : Drs. Agus Wahyuni, ST, M.Pd
1.
2.

3.
a.
b.
c.
4.
1.

Sebuah benda berada pada posisi r=2t 2+8 . tentukan kelajuan benda pada saat
t=6 s
Buatlah sebuah program Pengulangan untuk menghasilkan output sebagai
berikut!
==========================
A
B
C
D
==========================
8
10
15
25
28
30
55
625
------------=========================
--------Sebuah supermarket memberikan diskon dengan ketentuan sebagai berikut:
Jika belanja diatas 10000 maka diskon 20%,
jika belanja diatas 5000 maka diskon 10 %
jika belanja dibawah 5000 maka tidak ada diskon
Gabungkanlah soal no. 1,2, dan 3 dalam bentuk case of
Jawaban
Posisi r=2t2+8
V = 4t
Program Kelajuan;
Uses crt;
Var v,t: real;
Begin
Clrscr;
Writeln (masukkan waktu : ); readln(t);
V:=4*t;
Writeln(kelajuannya adalah : ,v:3:0, m/s);
Readln;
End.
2.

Program Untuk menampilkan output seperti pada soal

Program iterasi;
uses crt;
var a,b,c,d,e,f,g,h,i,j: integer;
begin
clrscr;
writeln('=================================');

writeln('
a
b
c
d');
writeln('=================================');
for i:=1 to 5 do
begin
j:=(2*i)-1;
a:=(j*10)-2;
b:=J*10;
c:=(a+b)-3;
d:=sqr(c-b);
writeln(a:8,b:8,c:8,d:8);
e:=e+a;
f:=f+b;
g:=g+c;
h:=h+d;
end;
writeln('=================================');
writeln(e:8,f:8,g:8,h:8);
readln;
end.
3. Coding program no 3 adalah:
Program diskon;
Uses crt;
Var totalpembelian: LongInt;
Begin
Clrscr;
Write(Total Pembelian=); readln (totalpembelian);
IF totalpembelian>10000 then
Writeln(diskon sebesar 20%)
Else
IF totalpembelian>5000 then
Writeln(diskon sebesar 10%)
Else
Writeln(Tidak ada Diskon);
Readln;
End.
4.

Coding Program no 4 sebagai berikut:


Program caseof;
uses crt;
var a,b,c,d,e,f,g,h,i,j,t: integer;
v:real;
totalpembelian: longint;
pilih : char;
begin
clrscr;
writeln('MENU');
writeln('1. program kelajuan');
writeln('2. program iterasi');

writeln('3. program if');


writeln('masukkan pilihan:');readln(pilih);
case pilih of
'1' : begin
Writeln ('masukkan waktu : '); readln(t);
V:=4*t;
Writeln('kelajuannya adalah : ' ,v:3:0, ' m/s');
end;
'2':begin
writeln('=================================');
writeln('
a
b
c
d');
writeln('=================================');
for i:=1 to 5 do
begin
j:=(2*i)-1;
a:=(j*10)-2;
b:=J*10;
c:=(a+b)-3;
d:=sqr(c-b);
writeln(a:8,b:8,c:8,d:8);
e:=e+a;
f:=f+b;
g:=g+c;
h:=h+d;
end;
writeln('=================================');
writeln(e:8,f:8,g:8,h:8);
end;
'3':begin
Write('Total Pembelian='); readln (totalpembelian);
IF totalpembelian>10000 then
Writeln('diskon sebesar 20%')
Else
IF totalpembelian>5000 then
Writeln('diskon sebesar 10%')
Else
Writeln('Tidak ada Diskon');
end;
end;
readln;
end.

Pilihan ganda
SOAL - SOAL dan JAWABAN ALGORITMA PEMROGRAMAN DASAR

1. Yang bukan merupakan tipe data composite adalah .

A.

Image

B.

Date time

C.

Character

D.

Enumerasi

E.

Record

2. Identifier adalah .
A.

Tipe data

B.

Variabel

C.

Nama

D.

Nilai

E.

Konstanta

3. Nama lain dari flowchart adalah .


A.

Algoritma

B.

Alur

C.

Bagan alir

D.

Tree

E.

Diagram

4. Tipe data yang mampu menampung banyak data dengan tipe data yang berbeda-beda
adalah tipe data
A.

Array

B.

String

C.

Record

D.

Subrange

E.

Character

5. Urutan langkah-langkah logis untuk menyelessaikan masalah yang disusun secara


sistematis disebut .
A.

Algoritma

B.

Flowchart

C.

Variabel

D.

Tipe data

E.

Konstanta

6. Jenis tipe data yang mempunyai elemen-elemen yang harus disebut satu-persatu dan
bernilai konstanta integer sesuai dengan urutannya disebut .
A.

Array

B.

Record

C.

Enumerasi

D.

Int

E.

Boolean

7. Yang dimaksud dengan konstanta adalah .


A.

Variabel yang nilainya bersifat tetap dan bisa diubah-ubah

B.

Variabel yang nilainya bersifat tetap dan tidak bisa diubah-ubah

C.

Nilai dari suatu variabel

D.

Variabel yang selalu membutuhkan masukan/inputan dari user

E.

Variabel tetap/konstan

8. Yang disebut tipe data composite adalah .


A.

Tipe data yang telah disediakan oleh computer

B.

Tipe data yang telah disediakan bahasa pemrograman

C.

Tipe data yang terdiri dari satu macam tipe

D.

Gabungan dari dua/lebih tipe data

E.

Tipe data pada algoritma

9. Jika ingin mengisi nilai pada varibel seperti foto keluarga, maka tipe data yang digunakan
adalah jenis .
A.

Gambar/image

B.

Array

C.

Record

D.

Boolean

E.

Char

10. Tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang
ditetapkan adalah jenis tipe data .
A.

Enumerasi

B.

Array

C.

Subrange

D.

Record

E.

Float

11. Dalam flowchart, simbol dibawah ini disebut .

A.

Terminator

B.

Decision

C.

Process

D.

Data

E.

Connector

12. Penulisan algoritma yang menggunakan bahasa manusia dan dijabarkan dengan bahasa
inggris adalah cara penulisan .
A.

Structured English

B.

Structured Indonesian

C.

Flowchart

D.

Looping

E.

Sequencing

13. Simbol diagram alir (flow chart) yang digunakan untuk


menjelaskan inputmaupun output adalah ...
A.

B.

C.

D.

E.

14. Tentukan manakah nama-nama variabel berikut ini yang benar !


A.

nama.guru

B.

NamaGuru

C.

2x

D.

harga/buku

E.

harga buku

15. Tipe data yang cocok untuk menjelaskan data nama siswa adalah mengunakan tipedata
.
A.

Numeric

B.

Varchar

C.

Date time

D.

Array

E.

Integer

16. Tipe data yang cocok untuk menjelaskan data tanggal lahir adalah mengunakan tipedata
.
A.

Numeric

B.

Varchar

C.

Date time

D.

Array

E.

Integer

Untuk soal no 17-25 perhatikan program sederhana berikut:


#include <stdio.h>
#include <conio.h>
main()
{
int jamlembur;
long int gajipokok=500000,gajikotor,totalgajilembur;
float pajak,gajibersih;
char nama[50];
clrscr();
printf("Nama Pegawai : ");gets(nama);
printf("Lama Lembur : ");scanf("%i",&jamlembur);
totalgajilembur=(long int)5000*jamlembur;
gajikotor=gajipokok+totalgajilembur;
pajak=0.1*gajikotor;
gajibersih=gajikotor-pajak;
clrscr();
printf("Hasil Perhitungan\n");
printf("Nama Pegawai
printf("Gaji Pokok
printf("Lama Lembur

: %s\n",nama);
: Rp. %li\n",gajipokok);
: %i jam\n",jamlembur);

printf("Total Gaji Lembur : Rp. %li\n",totalgajilembur);


printf("Gaji Kotor
printf("Pajak (10%%)
printf("Gaji Bersih

: Rp. %li\n",gajikotor);
: Rp. %f\n",pajak);
: Rp. %f\n",gajibersih);

getch();
return 0;
}
17. Ada berapa header file pada program diatas?
A.

B.

C.

D.

E.

18. Di bawah ini adalah beberapa tipe data yang ada pada program diatas kecuali .
A.

int

B.

long int

C.

float

D.

char

E.

double

19. Jika seorang pegawai mempuyai gaji pokok Rp. 500.000,- dan jam lembur selama 50
jam, maka gaji bersih pegawai tersebut sebesar . (perhitungan berdasarkam rumus yang
ada pada program diatas)
A.

Rp. 675.000

B.

Rp. 600.000

C.

Rp. 510.000

D.

Rp. 575.000

E.

Rp. 725.000

20. Dibawah ini adalah variabel yang disediakan pada program diatas, kecuali .

A.

gajipokok

B.

pajak

C.

jamlembur

D.

namapegawai

E.

gaji kotor

21. Jika tanda semicolon pada baris ke-5 dihilangkan maka akan muncul pesan sebagai
berikut :
A.

file name too long

B.

for statement missing

C.

statement missing ;

D.

if statement missing

E.

error in symbol ;

22. Penerapan operasi perhitungan yang ada pada program diatas adalah menggunakan
operator-operator dibawah ini, kecuali .
A.

B.

C.

D.

E.

23. Yang termasuk konstanta pada program diatas adalah .


A.

gajikotor

B.

gajibersih

C.

totalgajilembur

D.

nama

E.

gajipokok

24. Jumlah variable yang terdapat pada program diatas adalah sebanyak .
A.

B.

C.

D.

E.

You might also like