Anda di halaman 1dari 56

Kumpulan Soal Dasar-Dasar

Algoritma Dan Pemrograman

Last update: 04 November 2010

51 soal

http://awanrimbawan.wordpress.com

DISCLAIMER

http://awanrimbawan.wordpress.com 04Nov2010
Page 1
- For educational purpose only

- Compiler menggunakan Dev C++ 4.9.9.2

- Mari berbagi,jika menemukan kesalahan tentang


algoritma atau source code, silahkan hubungi
awanrmb@gmail.com.

- Semoga bisa membantu kita untuk belajar algoritma dan


pemrograman 

1. Soal: Lama Bekerja

http://awanrimbawan.wordpress.com 04Nov2010
Page 2
Tulis program untuk menentukan lama bekerja seorang pegawai, jika jam
masuk dan jam pulang diinput. Catatan: jam berupa angka 1-12, dan
seorang pegawai bekerja kurang dari 12 jam.

Contoh Masukan dan keluaran:

Jam Jam Keluaran/tampila


mas keluar n
uk

10 11 Lama bekerja 1
jam

10 2 Lama bekerja 4
jam

10 7 Lama bekerja 9
jam

Algoritma:
Algoritma Lama_Bekerja
{jam berupa angka 1-12, dan seorang pegawai bekerja kurang
dari 12 jam}

KAMUS DATA
iMasuk, iKeluar, iLama: Integer

BEGIN
Input(iMasuk)
Input(iKeluar)

If (iKeluar >= iMasuk) Then


iLama  iKeluar - iMasuk
Else
iLama  (12-iMasuk) + iKeluar
end if

Output(iLama)
END

http://awanrimbawan.wordpress.com 04Nov2010
Page 3
Program:
#include <stdio.h>
#include <stdlib.h>

/*Tulis procgram untuk menentukan lama bekerja seorang


pegawai, jika jam masuk dan jam pulang diinput.
Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja
kurang dari 12 jam.
asumsi jam yang dimasukkan adalah tepat (tidak memasukkan
menit)
*/

int main()
{ int iMasuk, iKeluar, iLama;

printf("Menentukan lama bekerja\n\n");


printf(" Jam Masuk : ");
scanf("%d",&iMasuk);

printf(" \nJam Keluar : ");


scanf("%d",&iKeluar);

if (iKeluar >= iMasuk)


iLama = iKeluar - iMasuk;
else
iLama = (12-iMasuk) + iKeluar;

printf("\n\n Lama bekerja adalah : %d Jam\n", iLama);

system("PAUSE");
return 0;
}

2. Soal: Biaya Parkir


Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan
lama parkir. Lama parkir dihitung dari selisih jam masuk dan jam keluar
diinput. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.

Contoh Masukan dan keluaran:

Jam Jam keluar Lama keluaran/tamp


masuk ilan

10 11 1 Biaya = 2000

10 2 4 Biaya = 3000

http://awanrimbawan.wordpress.com 04Nov2010
Page 4
Algoritma:
Algoritma Biaya_Parkir
{menghitung biaya parkir}

KAMUS DATA
iMasuk, iKeluar, iLama, iBiaya: Integer

BEGIN
Input(iMasuk)
Input(iKeluar)

If (iKeluar >= iMasuk) Then


iLama  iKeluar - iMasuk
Else
iLama  (12-iMasuk) + iKeluar
End If

If (iLama > 2) Then


iBiaya  2000 + ((iLama - 2)*500)
else
iBiaya  2000

Output(iBiaya)
END

#include <stdio.h>
#include <stdlib.h>

int main()
{ int iMasuk, iKeluar, iLama;
long int iBiaya;

printf("Menghitung Biaya Parkir\n\n");


printf(" Jam Masuk : ");
scanf("%d",&iMasuk);

printf(" \nJam Keluar : ");


scanf("%d",&iKeluar);

if (iKeluar >= iMasuk)


iLama = iKeluar - iMasuk;
else
iLama = (12-iMasuk) + iKeluar;

if (iLama > 2)
iBiaya = 2000 + ((iLama - 2)*500);
else
iBiaya = 2000;

printf("\n\n Biaya parkir adalah : Rp %d \n", iBiaya);


Program:
system("PAUSE");
return 0;
http://awanrimbawan.wordpress.com 04Nov2010
P a g e 5}
3. Soal: Penggabungan Resistor
Tulis program
Algoritma untuk menghitung resistor pengganti dari 3 buah resistor
Menghitung_Resistor
yang disusun secara seri atau paralel. Rumus untuk resistor pengganti
sbb:
KAMUS DATA
iPilihan: Integer
Seri: Rgab = R1 + R2 + R3
fR1, fR2, fR3, fResPengganti: Float
Paralel: 1/Rgab = 1/R1 + 1/R2 + 1/R3

BEGIN
Besar R1, R2 dan R3 serta jenis penyusunan (seri/paralel) diinput oleh
user.Input(fR1,fR2,fR3)
Input(iPilihan)

Case iPilihan
1: fResPengganti  fR1+ fR2+ fR3
2: fResPengganti  (1.0/fR1)+ (1.0/fR2)+ (1.0/fR3)
fResPengganti  1.0/fResPengganti
Otherwise: output(“pilihan salah”)
Algoritma:
End Case
http://awanrimbawan.wordpress.com
Output(fResPengganti) 04Nov2010
Page 6
END
#include <stdio.h>
#include <stdlib.h>

/*Resistor Pengganti. Modul Praktikum Poltek. hal 27*/

int main()
{ int iPilihan;
float fR1, fR2, fR3;
float fResPengganti;

printf("Menghitung Resistor Pengganti");


printf("\n\nMasukkan Nilai R1: ");
scanf("%f",&fR1);
printf("\nMasukkan Nilai R2: ");
scanf("%f",&fR2);
printf("\nMasukkan Nilai R3: ");
scanf("%f",&fR3);

printf(" \n\nPenyusunan Resistor: ");


printf("\n 1.Seri");
printf("\n 2.Paralel");
printf("\nMasukkan pilihan penyusunan (1 atau 2): ");
scanf("%d",&iPilihan);

switch (iPilihan)
{ case 1:
fResPengganti = fR1+ fR2+ fR3;
break;
case 2:
fResPengganti = (1.0/fR1)+ (1.0/fR2)+ (1.0/fR3);
fResPengganti = 1.0/fResPengganti;
break;
default:
printf("inputan salah");
}

Program:
printf("\n\nBesar resistor pengganti adalah : %.2f \n",
fResPengganti);

system("PAUSE");
return 0;
http://awanrimbawan.wordpress.com
} 04Nov2010
Page 7
4. Soal: Harga barang
Buatlah program untuk menyelesaikan masalah berikut :
Program akan menerima masukan berupa kode, jenis dan harga, dengan
jenis adalah "A", "B", dan "C". Untuk setiap jenis, masing-masing akan
diberikan diskon sebesar 10% untuk A, 15% untuk B, dan 20% untuk C.

http://awanrimbawan.wordpress.com 04Nov2010
Page 8
Program akan menghitung berapa harga setelah didiskon.
Contoh masukan :
Jenis = B
kode = 10
harga = 10000
Contoh keluaran :
Jenis barang B mendapat diskon = 15%, Harga setelah didiskon = 8500

Algoritma:
Algoritma Menghitung_Barang
#include <stdio.h>
KAMUS DATA
#include <stdlib.h>
iKode,iHarga:integer
#include <conio.h>
cJenis: character
int main()
BEGIN
{ int iKode,iDiskon;
Input(cJenis)
char cJenis;
Input(iKode)
long int iHarga, iHDiskon;
Input(iHarga)
printf(" Jenis : ");
Case(cJenis)
scanf("%c",&cJenis);
'A': iHDiskon  0,9 * iHarga
'B': Kode
printf(" iHDiskon
: ");  0,85 * iHarga
'C': iHDiskon  0,8 * iHarga
scanf("%d",&iKode);
End Case
printf(" Harga : ");
output(iHDiskon)
scanf("%d",&iHarga);
END
switch (cJenis)
{ case 'A':
iDiskon=10;
iHDiskon = 0.9 * iHarga;
break;
case 'B':
iDiskon=15;
iHDiskon = 0.85 * iHarga;
break;
case 'C':
iDiskon=20;
iHDiskon = 0.8 * iHarga;
break;
default:
printf("inputan salah");
}

Program:
printf("\n\n Jenis barang %c mendapat diskon %d %%, Harga
setelah didiskon : Rp %d \n", cJenis, iDiskon, iHDiskon);

system("PAUSE");
return 0;
}
http://awanrimbawan.wordpress.com 04Nov2010
Page 9
5. Soal: Gaji karyawan mingguan
Sebuah perusahaan swasta menggaji karyawannya secara mingguan
dengan hitungan sebagai berikut :

golongan 1 dengan upah per jam 3.000 rupiah


golongan 2 dengan upah per jam 3.500 rupiah

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 10
golongan 3 dengan upah per jam 4.000 rupiah
golongan 4 dengan upah per jam 5.000 rupiah

Bila seorang karyawan bekerja kurang atau sama dengan 40 jam per
minggu, akan dihitung dengan upah per jam seperti di atas, tetapi apabila
bekerja lebih dari 40 jam, maka lebihnya akan dihitung sebagai lembur
dengan upah per jam 1½ kali upah biasa.
Tulis algoritma untuk menghitung gaji mingguan karyawan, bila golongan
dan jam kerja diinput dari keyboard.

Algoritma:
Algoritma Menghitung_Gaji
#include <stdio.h>
#include
KAMUS DATA<stdlib.h>
#include <conio.h>
iGol, iJam, iUpah, iGaji : Integer
int main()
BEGIN
{ int iGol,iJam, iUpah;
int iGaji;
Input(iGol)
Input(iJam)
iUpah=0;
iUpah  0
printf(" Jumlah Jam Kerja : ");
scanf("%d",&iJam);
Case(iGol)
1: iUpah  3000
printf(" Golongan(1,2,3,4) : ");
2: iUpah  3500
scanf("%d",&iGol);
3: iUpah  4000
switch4: iUpah
(iGol)  5000
End case
{ case 1:
iUpah=3000;
If (iJam > 40) Then
break;
iGaji
case 2: 40 * iUpah + ((iJam - 40) * 1.5 * iUpah)
Else iUpah=3500;
iGaji  iJam * iUpah
break;
End
caseif 3:
iUpah=4000;
Output(iGaji)
break;
case 4:
END iUpah=5000;
break;
default:
printf("inputan golongan salah");
}

if (iJam > 40)


iGaji = 40 * iUpah + ((iJam - 40) * 1.5 * iUpah);
Program:
else
iGaji = iJam * iUpah;

printf("\n\n Gaji : Rp %d \n", iGaji);

system("PAUSE");
return 0;
http://awanrimbawan.wordpress.com 04Nov2010
}
P a g e 11
6. Soal: Menghitung selisih waktu dalam jam dan
menit
Buat program menghitung selisih waktu (dalam jam dan menit)
berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data
yang diinput adalah jam dan menit mulai, jam dan menit selesai.

Contoh Masukan dan Keluaran:

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 12
Mulai Selesai Lama Lama
(jam,menit) (jam,menit) (menit) (jam,menit
)

10:30 12:10 100 1 jam 40


menit

10:30 1:40 130 3 jam 10


menit

Algoritma:
ALGORITMA MENGHITUNG_JAM_MENIT

KAMUS DATA
iJamStart,iMenitStart,iMenitStop,iJamStop: integer
iTotMenit1,iTotMenit2,iSelangMenit,iJamDurasi,iMenitDurasi:
integer

BEGIN
Input(iJamStart)
Input(iMenitStart)
#include <stdio.h>
Input(iJamStop)
#include <stdlib.h>
Input(iMenitStop)
#include <conio.h>

intiTotMenit1
main()  iJamStart * 60 + iMenitStart
iTotMenit2  iJamStop * 60 + iMenitStop
{ int iJamStart,iMenitStart,iJamStop,iMenitStop,iSelangMenit,
iJamDurasi, iMenitDurasi ;
If (iTotMenit2 >= iTotMenit1) Then
longiSelangMenit  iTotMenit2
int iTotMenit1, iTotMenit2;- iTotMenit1
Else
iSelangMenit
printf(" ((12*60)-iTotMenit1)
MasukkanWaktu + iTotMenit2
Mulai (contoh 10:05) : ");
End if
scanf("%d:%d",&iJamStart,&iMenitStart);

printf(" Masukkan
iJamDurasi  iSelangMenit
Waktu Berhenti
div 60 (contoh 11:04) : ");
scanf("%d:%d",&iJamStop,&iMenitStop);
iMenitDurasi  iSelangMenit mod 60;

iTotMenit1 = iJamStart * 60 + iMenitStart;


Output(iJamDurasi)
iTotMenit2 = iJamStop * 60 + iMenitStop;
Output(iMenitDurasi)

if (iTotMenit2 >= iTotMenit1)


END
iSelangMenit = iTotMenit2 - iTotMenit1;
Program:
else
iSelangMenit = ((12*60)-iTotMenit1)+iTotMenit2;

iJamDurasi = iSelangMenit / 60;


iMenitDurasi = iSelangMenit % 60;

printf("\n\n Durasi adalah %d Jam %d Menit\n", iJamDurasi,


iMenitDurasi);

system("PAUSE");
http://awanrimbawan.wordpress.com 04Nov2010
return 0;
P a g e 13
}
7. Soal: Kuadran dari koordinat titik
Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah
system koordinat kartesian, kemudian ditentukan di kuadran mana titik
tersebut.

Contoh Masukan :
Koordinat titik (x,y) : 10 -20

Contoh keluaran:
Titik 10,-20
ALGORITMA berada pada kuadran 4
Menghitung_Kuadran

KAMUS DATA
ix, iy: Integer

Algoritma:
BEGIN
Input(ix,iy)

If (ix >= 0)
If (iy >=0)
Output(“Kuadran I”)
else
Output(“Kuadran IV”)
else
if (iy >=0)
Output(“Kuadran II”)
http://awanrimbawan.wordpress.com 04Nov2010
else
P a g e 14 Output(“Kuadran III”)
END
Program:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int ix, iy;

printf(" Masukkan koordinat x,y : ");


scanf("%d,%d",&ix,&iy);

if (ix >= 0)
if (iy >=0)
printf("\nKuadran I\n");
else
printf("\nKuadran IV\n");
else
if (iy >=0)
printf("\nKuadran II\n");
else
printf("\nKuadran III\n");

system("PAUSE");
return 0;
}

8. Soal: Tunjangan Anak


Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai
3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.

Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan
jumlah anak diinput oleh user.

Contoh Masukan dan Keluaran:

Jumla Gaji Pokok Tunjangan Anak

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 15
h
anak

0 1.000.000 0

1 1.000.000 100.000

3 1.000.000 300.000

5 1.000.000 300.000

Algoritma:
ALGORITMA Menghitung_Tunjangan

KAMUS DATA
iGajiPokok, iTunjangan, iJmlAnak: Integer

BEGIN

Input(iGajiPokok)
Input(iJmlAnak)

If (iJmlAnak <= 3 && iJmlAnak > 0) Then


iTunjangan  iJmlAnak * 0.1 * iGajiPokok
Else If (iJmlAnak > 3)
iTunjangan  3 * 0.1 * iGajiPokok
Else
iTunjangan  0
End if

Output ( iTunjangan)
#include <stdio.h>
END
#include <stdlib.h>

int main()
{ int iGajiPokok, iTunjangan, iJmlAnak;

printf(" Masukkan Gaji Pokok : ");


scanf("%d",&iGajiPokok);
Program:
printf(" Masukkan JmlAnak : ");
scanf("%d",&iJmlAnak);

if (iJmlAnak<=3 && iJmlAnak>0)


iTunjangan = iJmlAnak * 0.1 * iGajiPokok;
else if (iJmlAnak>3)
iTunjangan = 3 * 0.1 * iGajiPokok;
else
iTunjangan =0;

printf("\nTunjangan Anak adalah sebesar Rp.%d \n",


iTunjangan);
http://awanrimbawan.wordpress.com 04Nov2010
system("PAUSE");
P a g e 16 return 0;
}
9. Soal: Minibus pariwisata
Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per
mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka
minibus yang digunakan ditambah 1. Tulis program untuk menghitung
jumlah minibus yang diperlukan, bila jumlah pesertanya diinput.

Contoh Masukan dan Keluaran:

Jumlah Jumlah Minibus


Peserta

5 1

7 1

8 2

ALGORITMA Menghitung_Tunjangan

KAMUS DATA
iPeserta,iMinibus : Integer

Algoritma:
BEGIN
Output(iPeserta)

iMinibus0

If (iPeserta > 7) Then


iMinibus  iPeserta / 7
If (iPeserta % 7 != 0) Then
iMinibus  iMinibus + 1
End If
Else if (iPeserta > 0) Then
iMinibus  1
End if
http://awanrimbawan.wordpress.com 04Nov2010
Output(iMinibus)
P a g e 17
END
Program:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int iPeserta,iMinibus;

printf(" Masukkan jml peserta : ");


scanf("%d",&iPeserta);

iMinibus=0;

if (iPeserta > 7){


iMinibus = iPeserta / 7;
if (iPeserta % 7 != 0)
iMinibus++;
}else if (iPeserta > 0)
iMinibus=1;

printf("Minibus yg diperlukan: %d\n",iMinibus);

system("PAUSE");
return
10. Soal: 0;
Menentukan
N hari yang lalu tanpa
}
menginputkan Hari Ini
Diinput jumlah berapa hari yang lalu, kemudian ditentukan nama harinya.
Tulis program untuk menentukan nama hari dari sekian hari yang lalu
yang diinput. (Catatan, gunakan Hari ini = ‘Senin’)

Contoh Masukan dan Keluaran:

N hari yang lalu Nama Hari

0 Senin

1 Minggu

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 18
10 Jumat

20 Selasa

Algoritma:
ALGORITMA Menentukan_Nama_Hari_1

KAMUS DATA
iNHari,iBelakang
#include <stdio.h>: Integer
cNamaHari[15]:
#include <stdlib.h> String
#include <string.h>
BEGIN
intInput(iNHari)
main()
{ int iNHari,iBelakang;
iBelakang  ( iNHari + 1)
char cNamaHari[15];

Case (iBelakang) N Hari yg lalu : ");


printf("Masukkan
1: cNamaHari "Senin"
scanf("%d",&iNHari);
2: cNamaHari "Selasa"
iBelakang = (iNHari+1)
3: cNamaHari "Rabu";
4: cNamaHari "Kamis"
switch (iBelakang){
5: cNamaHari "Jumat"
case 1:
6: cNamaHari "Sabtu"
strcpy(cNamaHari,"Senin");
7: cNamaHari "Minggu"
break;
Otherwise: cNamaHari  "Inputan salah"
case 2:
End Case
strcpy(cNamaHari,"minggu");
break;
Output(cNamaHari)
case 3:
strcpy(cNamaHari,"sabtu");
END
break;
case 4:
strcpy(cNamaHari,"jumat");
break;
case 5:
strcpy(cNamaHari,"kamis");
break;
case 6:
Program: strcpy(cNamaHari,"rabu");
break;
case 7:
strcpy(cNamaHari,"selasa");
break;
default:
strcpy(cNamaHari,"Inputan salah");
}

printf("\n Sekarang Hari Senin. %d Hari yang lalu adalah hari


%s \n",iNHari,cNamaHari);

system("PAUSE");
return 0;
}
http://awanrimbawan.wordpress.com 04Nov2010
P a g e 19
11. Soal: Menentukan N hari yang lalu dengan
menginputkan Hari Ini
Diinput jumlah berapa hari yang lalu, kemudian ditentukan nama harinya.
Tulis program untuk menentukan nama hari dari sekian hari yang lalu dan
nomor hari ini yang diinput.

Contoh Masukan dan Keluaran:

N hari yang Hari ini Nama Hari


lalu

0 1 Senin

3 3 Minggu

5 4 Sabtu

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 20
Algoritma:
ALGORITMA Menghitung_Hari

KAMUS DATA
iNHari,iHariIni,iBelakang : Integer
#include <stdio.h>
cNamaHari[15] : String
#include <stdlib.h>
cNamaHariLalu: Char
#include <string.h>
BEGIN
int main()
{ Input(iHariIni)
int iNHari,iHariIni,iBelakang;
char cNamaHari[15],cNamaHariLalu;
Input(iNHari)

printf("Masukkan
If (iHariIni>iNHari)Kode
ThenHari ini : ");
scanf("%d",&iHariIni);
iBelakang  iHariIni - iNHari
Else
printf("Masukkan
iBelakang  7 - N Hari yg
(iNHari lalu : ");
- iHariIni)
scanf("%d",&iNHari);
End If
if (iHariIni>iNHari)
Case (iBelakang)
iBelakang
1: cNamaHari= iHariIni - iNHari;
"Senin"
else
2: cNamaHari "Selasa"
iBelakang= 7 - (iNHari - iHariIni);
3: cNamaHari "Rabu"
4: cNamaHari
switch (iBelakang){"Kamis"
5: cNamaHari
case "Jumat"
1: strcpy(cNamaHari,"Senin");
6: cNamaHari
break; "Sabtu"
7: cNamaHari
case 2:strcpy(cNamaHari,"Selasa");
"Minggu"
End Case break;
case 3:strcpy(cNamaHari,"Rabu");
Output(cNamaHari)break;
END case 4: strcpy(cNamaHari,"Kamis");
break;
case 5:
strcpy(cNamaHari,"Jumat");
Program: break;
case 6:
strcpy(cNamaHari,"Sabtu");
break;
case 7:
strcpy(cNamaHari,"Minggu");
break;
default:
strcpy(cNamaHari,"Inputan salah");
}

printf("\n %d Hari yang lalu adalah hari %s


\n",iNHari,cNamaHari);

system("PAUSE");
return 0;
http://awanrimbawan.wordpress.com 04Nov2010
}
P a g e 21
12. Soal: Penghitungan Pembayaran Listrik
PLN menerapkan pembayaran listrik perumahan dengan cara perhitungan
sebagai berikut :
- Untuk golongan 1 tarif : Rp 1000/kWh
- Untuk golongan 2 tarif : Rp 2000/kWh

Dengan syarat penghitungan:


Minimum pembayaran adalah 100 kWh sedangkan untuk pemakaian 1000
kWh dan seterusnya tarifnya ditambah 10% dari total pembayaran.

Golongan Pemakai Bayar


an
1 50 100.000

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 22
2 150 300.000
1 1000 1.100.000

ALGORITMA Menghitung_Pembayaran_Listrik

KAMUS DATA
iGol,iPakai,iTarif,iBayar : Integer

BEGIN
Input(iGol)
Input(iPakai)

If ( iGol = 1) Then
iTarif 1000
Else
iTarif  2000
End If

If (iPakai < 100) Then


iBayar  100 * iTarif
Else If ( iPakai >= 1000)
iBayar  iPakai * iTarif * 1.1
Else
iBayar  iPakai * iTarif
End If

Output(iBayar)
END

SOURCE CODE:

#include <stdio.h>
#include <stdlib.h>

int main()
{ int iGol,iPakai,iTarif,iBayar;

printf("masukkan golongan: ");scanf("%d",&iGol);


printf("masukkan jam pemakaian: ");scanf("%d",&iPakai);

if (iGol == 1 )
{iTarif=1000;}
else

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 23
{iTarif=2000;}

if (iPakai < 100)


{iBayar=100*iTarif;}
else if (iPakai >= 1000)
{iBayar=iPakai*iTarif*1.1;}
else
{iBayar=iPakai * iTarif;}

printf("\n yg harus dibayarkan %d\n",iBayar);

system("PAUSE");
return 0;
}

13. Soal: Penghitungan Bulan


Buatlah algoritma untuk menghitung bulan pernikahan dengan menginputkan
bulan saat ini dan berapa bulan kedepan. Misal data:

Bulan Saat Ini N Bulan Kedepan Bulan


Pernikahan
1 2 3
12 1 1
10 5 3

ALGORITMA Menghitung_Bulan_Pernikahan

KAMUS DATA
iBlnSekarang, iNbulan, iBlnPernikahan : Integer

BEGIN
Input (iBlnSekarang)
Input (iNBulan)

If ( (iBlnSekarang + iNbulan) <= 12 ) Then


iBlnPernikahan  iBlnSekarang + iNbulan
Else
iBlnPernikahan  (iBlnSekarang + iNbulan) mod 12
End If

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 24
Output (iBlnPernikahan)

END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int iBlnSekarang, iNbulan, iBlnPernikahan;

printf("masukkan Bulan Sekarang: "); scanf("%d",&iBlnSekarang);


printf("masukkan N Bulan Kedepan: "); scanf("%d",&iNbulan);

if ( (iBlnSekarang + iNbulan) <= 12 )


{iBlnPernikahan=iBlnSekarang + iNbulan;}
else
{iBlnPernikahan=(iBlnSekarang + iNbulan) % 12;}

printf("\n Bulan Pernikahan adalaha bulan ke-%d\n",iBlnPernikahan);

system("PAUSE");
return 0;
}

14. Soal: Deret Ganjil


Buatlah sebuah program untuk menampilkan bilangan ganjil antara 1-20
dengan menggunakan struktur while.

ALGORITMA Menampilkan_deret_ganjil

KAMUS DATA
i : Integer
BEGIN
i1

While (i <= 20)


Output(i)
ii+2
End While
END

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 25
SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i=1;

while(i<=20){
printf("%d ",i);
i=i+2;
}

system("PAUSE");
return 0;
}

15. Soal: Menampilkan bilangan kelipatan 3


Buatlah sebuah program untuk menampilkan bilangan kelipatan 3, dengan
range berupa inputan dari user. Gunakan struktur do…while

Contoh inputan :
Awal : 1
Akhir : 10
Kelipatan 3 : 3 6 9
Awal : 15
Akhir : 30
Kelipatan 3 : 15 18 21 24 27 30

ALGORITMA Kelipatan_Tiga

KAMUS DATA
i : Integer
BEGIN
Input(i) {awalan}

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 26
Input(j) {akhiran}

Do
If (i mod 3 = 0) Then
Output(i)
End If

i  i+1
While (i <= j)

END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,j,k;

printf("awal : ");
scanf("%d",&i);

printf("akhir : ");
scanf("%d",&j);

do{

if (i % 3 == 0)
printf(" %d ",i);

i=i+1;
}while(i<=j);

system("PAUSE");
return 0;
}

16. Soal: menghitung sederet bilangan


Buatlah program pengulangan untuk menghitung jumlah sederet bilangan
berurut yang dimulai dari 1 hingga bilangan inputan. Contoh:

INPUT :7
PROSES : 1+2+3+4+5+6+7
OUTPUT : 28

ALGORITMA Menghitung_sederet_bilangan

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 27
KAMUS DATA
i,j,k : Integer
BEGIN
k0
Output("Input : ")
Input(i)

Output("Proses : ")
j  1;

While (j <= i)
Output(j)
If (j <> i) Then
Output(" + ")
End If
k  k+j
jj+1
End While

Output(k)
END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,j,k=0;

printf("Input : ");
scanf("%d",&i);

printf("Proses : ");
j = 1;

while(j <= i)
{
printf("%d",j);
if (j != i)
printf(" + ");

k=k+j;
j = j + 1;
}

printf(" = %d\n",k);

system("PAUSE");

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 28
return 0;
}

17. Soal: Segitiga


Buatlah program pengulangan bersarang dengan sintaks FOR untuk
menampilkan output sebagai berikut:

Masukkan angka: 4
*
**
***
****

ALGORITMA Menampilkan_Segitiga

KAMUS DATA
i,j,k : Integer
BEGIN
Input(k)

For (i  1; i <= k ; i++)


For(j  1 ; j<=i ; j++)
Output("*")
End For
Output("\n")
End For
END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,j,k;

printf("masukkan angka : ");


scanf("%d",&k);

for (i=1;i<=k;i++){

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 29
for(j=1; j<=i; j++){
printf("*");
}
printf("\n");
}

system("PAUSE");
return 0;
}

18. Soal: Faktorial


Buatlah program untuk menghitung nilai faktorial suatu bilangan yang
diinputkan oleh user.
Rumus faktorial adalah sebagai berikut :

n! = n*(n-1)*(n-2)*…*(n-(n-1))

n merupakan inputan dari user.

Boleh menggunakan struktur pengulangan manapun.

Contoh inputan

Faktorial dari : 3

3! = 3*2*1=6

Faktorial dari : 5

5! = 5*4*3*2*1 = 120

ALGORITMA Faktorial

KAMUS DATA
i,j,k : Integer
BEGIN
k1

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 30
Input(i)

While(i >= 1)
k  k*i
ii-1
End While

Output(k)

END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,j,k=1;

printf("faktorial dari : ");


scanf("%d",&i);

printf("\n!%d = ",i);

while(i >= 1)
{
printf("%d",i);
if (i != 1)
printf(" * ");

k=k*i;
i = i - 1;
}

printf(" = %d\n",k);

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 31
19. Soal: Gaji Karyawan
Buatlah sebuah program untuk menghitung gaji n karyawan, n merupakan
sebuah bilangan bulat yang akan diinputkan oleh user, kemudian akan
dihitung gaji perkaryawan dengan ketentuan sebagai berikut :
Gaji per jam : Rp 10.000,-
Bila jam kerja > 7 jam, maka sisa jam kerja dihitung sebagai lembur yg
besarnya 1.5 * gaji per jam
Kemudian ditampilkan total gaji karyawan yang harus dibayarkan oleh
perusahaan.
Jumlah jam kerja tiap karyawan akan diinputkan oleh user
Contoh inputan
Jumlah karyawan : 3 [inputan user]
Jam kerja karyawan 1 : 8 [inputan user]
Total Gaji : 85000
Jam kerja karyawan 2 : 6 [inputan user]
Total Gaji : 60000
Jam kerja karyawan 3 : 12 [inputan user]
Total Gaji : 145000

Total Gaji karyawan : 290000

ALGORITMA Faktorial

KAMUS DATA
i,j,k : Integer
BEGIN
iTotalGaji  0
input(iKaryawan)

For (i1 ; i <= iKaryawan ; i++)

Output("jam kerja karyawan: ")


Input(iJam)

If (iJam > 7) Then


iLembur  iJam - 7
iGaji  7 * 10000 + iLembur * 1.5 * 10000
Else
iGaji = iJam * 10000
End If

Output(iGaji)
iTotalGaji  iTotalGaji + iGaji

End For

Output(iTotalGaji)
END

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 32
SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,iKaryawan,iJam,iLembur,iGaji,iTotalGaji=0;

printf("jml karyawan: ");


scanf("%d",&iKaryawan);

for (i=1;i<=iKaryawan;i++){
printf("\njam kerja karyawan %d: ",i);
scanf("%d",&iJam);

if (iJam > 7){


iLembur = iJam - 7;
iGaji = 7 * 10000 + iLembur * 1.5 * 10000;
}else{
iGaji = iJam * 10000 ;
}
printf("Gaji karyawan %d \n",iGaji);

iTotalGaji = iTotalGaji + iGaji;


}

printf("\nGaji karyawan %d: ",iTotalGaji);

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 33
20. Buatlah program untuk menampilkan angka
seperti berikut :
Contoh inputan :

Jumlah angka : 5
1 5
2 4
3
2 4
1 5
Jumlah angka : 6
1 6
2 5
34
34
2 5
1 6
Jumlah angka : 9
1 9
2 8
3 7
4 6
5
4 6
3 7
2 8
1 9

ALGORITMA Bintang_x

KAMUS DATA
i,j,k,l,m : Integer
BEGIN
Output("mmasukkan angka : ")
Input(k)

l1
m  k;

For (i  1; i<=k ; i++)


For (j  1 ; j<=k ; j++)
If (i = j or j = m) Then
Output(j)
Else
Output(" ")
End If
End For

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 34
Output("\n")
m--

End For

END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{ int i,j,k,l,m;

printf("mmasukkan angka : ");


scanf("%d",&k);

l=1;
m=k;

for (i=1;i<=k;i++){
for(j=1; j<=k; j++){
if (i==j or j==m)
printf("%d",j);
else
printf(" ");
}
printf("\n");
m-- ;
}

system("cls");

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 35
21. Soal: Bintang Ketupat
Buatlah program untuk menampilkan bintang berbentuk belah ketupat
seperti berikut :
Contoh inputan :
Jumlah bintang : 5
*
* *
* *
* *
*
Jumlah bintang : 6
**
* *
* *
* *
* *
**
Jumlah bintang : 9
*
* *
* *
* *
* *
* *
* *
* *
*

ALGORITMA Bintang_Ketupat

KAMUS DATA
i,j,k,l,m,input,tengah : Integer
BEGIN
m0

Output("masukkan angka: ")


Output(input)

k  input / 2
l  input % 2

tengah  k + l

For (i 1; i<=input; i++)


For(m  0; m<=tengah; m++)
If (i=m+1 || i=input-m)
For(j1; j<=input; j++)
If (l) Then

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 36
If (j = tengah-m || j = tengah+m)
Then
Output(*)
Else
Output(" ")
End If
Else
If (j = tengah-m || j = tengah+m+1)
Then
Output (*)
Else
Output (" ")
End If
End If
End For
End If
End For
Output("\n")
End For
END

SOURCE CODE:
#include <stdio.h>
#include <stdlib.h>

int main()
{ int i,j, k, l,m=0,input,tengah;

printf("masukkan angkaa: ");


scanf("%d",&input);

k=input / 2;
l=input % 2;

tengah=k+l;

for (i=1;i<=input;i++){
for(m=0;m<=tengah;m++){
if(i==m+1 || i==input-m){
for(j=1; j<=input; j++){
if(l){
if (j==tengah-m || j==tengah+m)
printf("*");
else
printf(" ");
}else{
if (j==tengah-m || j==tengah+m+1)
printf("*");
else
printf(" ");
}
}
}
}

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 37
printf("\n");
}

system("PAUSE");
return 0;
}

22. Soal: Buatlah algoritma yang menginputkan 4 bilangan


yang merupakan nilai ujian mahasiswa, serta mencetak
nilai tertinggi yang didapat mahasiswa.

ALGORITMA Input_nilai1

KAMUS DATA
N, Max, i : Integer

BEGIN
Input(N)
Max  N

i2
While ( i <= 4)
Input(N)
If (N > Max) Then
Max  N
End If
i++
End While

Output(i)
END

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 38
23. Soal: Buatlah algoritma yang menginputkan 7 bilangan
yang merupakan nilai ujian mahasiswa, mencetak nilai
tertinggi yang didapat mahasiswa dan juga mencetak
berapa orang yang mendapat nilai tertinggi tersebut.

Misal bilangan yg diinput: 72 80 80 92 95 87 95


Nilai Tertinggi: 95
Jumlah: 2

ALGORITMA Nilai2
KAMUS DATA
N, Max, i, Jumlah : Integer

BEGIN
Input(N)
Max  N

i2
While ( i <= 7)
Input(N)
If (N > Max) Then
Max  N
Jumlah  1
Else if ( N = Max )
Jumlah++
End If
i++
End While

Output(Max)
Output(Jumlah)
END

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 39
24. Soal:Buatlah algoritma yang menginputkan 10
bilangan yang merupakan nilai ujian mahasiswa,
kemudian mencetak nilai tertinggi dan nilai terendahnya.

ALGORITMA Input_nilai3
KAMUS DATA
N, Max, Min, i : Integer
BEGIN
Input(N)
Max  N
Min  N

i2
While (i <= 10)
Input(N)

If (N > Max) Then


Max  N
Else If (N < Min)
Min  N
End If

i++
End While

Output(Max)
Output(Min)
END

25. Soal: Buatlah algoritma yang menginputkan sebuah


bilangan bulat yang merupakan nilai ujian. Apabila nilai
yang diinput < 0 atau > 100 maka ulangi menginput data.
Bila nilainya berada dalam batas 0-100, maka periksa nilai
tersebut. Bila nilainya >= 60 maka cetak perkataan
“LULUS”, selainnya cetak perkataan “COBA LAGI TAHUN
DEPAN”.

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 40
ALGORITMA Input_nilai4
KAMUS DATA
nilai : Integer
BEGIN
nilai  -1
While ( nilai < 0 Or nilai > 100)
Output(“Masukkan nilai Ujian (0-100):”)
Input(nilai)
End While

If (nilai >= 60) Then


Output(“LULUS”)
Else
Output(“Coba Lagi Tahun Depan”)
End If
END
26. Soal: Buatlah algoritma yang menginputkan sebuah
bilangan bulat yang merupakan nilai ujian. Apabila nilai
yang diinput < 0 atau > 100 maka cetak perkataan “Data
salah, silahkan ulangi lagi” dan ulangi menginput data.
Bila nilainya >= 60 maka cetak perkataan “LULUS”,
selainnya cetak perkataan “COBA LAGI TAHUN DEPAN”.
Gunakan format Do While

ALGORITMA Input_nilai5
KAMUS DATA
nilai: integer
BEGIN
Do
Output(“Masukkan nilai (0-100):”)
Input(nilai)
If (nilai<0 Or nilai>100)
Output(“Data salah, silahkan ulangi lagi”)
End If
While(nilai<0 Or nilai>100)

If (nilai>=60) Then
Output(“LULUS”)
Else
Output(“Coba lagi tahun depan”)
End If
END

27. Soal: Dalam lembar dokumen tersedia banyak sekali


data berupa bilangan-bilangan integer. Susun algoritma
untuk menginput data-data tersebut dan
menjumlahkannya. Kondisi berhenti adalah ketika jumlah
dari data tersebut sudah melebihi 1000. Cetak berapa
banyak bilangan yang diinputkan.
Cth:
Data Input: 300, 300, 500

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 41
Output: 3

Data Input: 200, 400, 100, 200,100,1


Output: 6

ALGORITMA Input_jumlah
KAMUS DATA
nilai,i,jumlah : integer
BEGIN
jumlah  0
i0
While ( jumlah <= 1000)
Output(“Input Nilai”)
Input(nilai)
jumlah  jumlah + nilai
i++
End While
Output(i)
END
28. Soal: Buat algoritma untuk menghitung rata-rata nilai
mahasiswa. Berapa banyak nilai mahasiswa tidak
diketahui. Kondisi berhenti adalah ketika diinputkan nilai
999 yang pasti bukan merupakan nilai ujian.
Misal data yang ada: 60, 50, 999, 65, 75, 999
Maka rata-ratanya: (60+50+70+65+75) / 5 = 64
Note: data bisa berupa n bilangan (n tidak diketahui)

ALGORITMA Rata_rata
KAMUS DATA
nilai, jumlah, banyak, ratarata : Integer
BEGIN
banyak  0
jumlah  0
Input(nilai)

While (nilai <> 999)


jumlah  jumlah + nilai
banyak++
Input(nilai)
End While

ratarata  jumlah/banyak
Output(ratarata)
END

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 42
29. Buatlah algoritma yang menentukan apakah sebuah
bilangan genap atau ganjil. Bilangan diinputkan oleh user.
Jika genap maka cetak perkataan “Even”, jika ganjil maka
cetak perkataan “Odd”. Susun algoritma pengecekan
genap atau ganjil ini tidak menggunakan Mod tetapi
menggunakan loop

ALGORITMA Genapganjil_loop
KAMUS DATA
nilai,
BEGIN
Output(“Inputkan sebuah nilai: ”)
Input(nilai)

While (nilai > 0)


nilai  nilai - 2
End While

If (nilai = 0)
output(“Even”)
Else
output(“Odd”)
End If
END

30. Buat algoritma yang inputannya sebuah bilangan.


Kemudian menentukan apakah bilangan tersebut adalah
bilangan prima atau bukan.

ALGORITMA cekprima
KAMUS DATA
nilai, x, batasatas, penanda: Integer
BEGIN

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 43
Input(nilai)
x2
batasatas  nilai – 1
penanda  0

While (penanda = 0 And x <= batasatas)


If (nilai Mod x = 0) Then
penanda  1
End If
x  x+1
END WHILE

If (penanda = 0) Then
Output(“prima”)
Else
Output(“bukan prima”)
End If
END

31. Buat Algoritma yang menginput sebuah bilangan bulat


yang menyatakan waktu dalam detik. Kemudian
konversikan dan cetak waktu itu dalam satuan Jam, Menit,
Detik.
Cth:
Input: 7405
Output: 2 Jam, 3 Menit, 25 Detik

Note:
Gunakan mekanisme loop untuk menentukan jam dan menit. Untuk
mendapatkan jam kurangi terus menerus detik dengan 3600, sampai nilainya
< 3600. Setiap detik dikurangi 3600 maka Jam bertambah 1. Untuk
mendapatkan menit kurangi terus detik dengan 60, sampai nilainya < 60.
Setiap detik dikurangi 60 menitnya ditambah 1.

ALGORITMA UbahDetik
KAMUS DATA
J, M, D: Integer
BEGIN
Input(D)
J 0
M0

While (D >= 3600)


D  D – 3600
J ++
End While

While (D >= 60)


D  D – 60
M++
End While

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 44
Output(J,M,D)
END

32. Buat algoritma yang menampilkan deret: 1 2 3 5 8


13 21....

ALGORITMA BuatDeret
KAMUS DATA
J, M, D: Integer
BEGIN
a1
b1
i1
Input(banyak)
Output(b)
While ( i < banyak)
ca+b
Output(c)
a b
bc
i++
End While
End

33. Dalam sebuah kandang ada 1000 bebek. Setiap akhir


bulan bebek tersebut serempak melahirkan satu bebek
baru. Namun sebelum melahirkan, 20% dari bebek
tersebut mati. Susun program untuk menghitung dan
mencetak jumlah bebek setelah 10 bulan.

ALGORITMA HitungBebek
KAMUS DATA
I, M, T : Integer
BEGIN
T1000

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 45
I1

While ( I <= 10)


M  T * 0.2
TT–M
TT*2
I++
End While

Output(T)
End

34. Sebuah truk bergerak dari Kota Malang ke Pulau


Sempu. Pada Km pertama ia menghabiskan 10kg bahan
bakar. Pada Km ke 2 ia menghabiskan 8kg bahan bakar
(atau 80% dibanding Km pertama). Demikian seterusnya
setiap Km sebelumnya. Susun algoritma untuk
menghitung dan mencetak total bahan bakar yang
dihabiskan setelah mencapai 100km.

ALGORITMA HitungBahanBakar
KAMUS DATA
i: Integer
n,t: Float
BEGIN
t0
n10
i1

While ( i <= 100)


tt+n
n  n*0.8
i++
End While
Output(t)
End

35. Seseorang menyimpan uang 1.000.000 di bank dengan


bunga 2% perbulan. Jadi setelah satu bulan uangnya
menjadi 1.020.000. satu bulan berikutnya uang 1.020.000
ini mendapat bunga lagi 2% sehingga setelah 2 bulan
uangnya menjadi 1.020.000 + 20.400 = 1.040.400. Buat

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 46
algoritma untuk menghitung dan mencetak jumlah uang
setelah 10bulan.

ALGORITMA HitungBunga1
KAMUS DATA
u, b: Float
i: Integer
BEGIN
u1000000
i1

While ( i <= 10)


b  U * 0.02
uu+b
i++
End While

Output(u)
End

36. Seseorang mengendarai mobil dengan kecepatan tetap.


Tepat pukul 08:25:10 pagi kecepatannya masih tetap 5
m/detik. Tetapi sepuluh menit kemudian, kecepatannya
dinaikkan 1 m/detik sehingga kecepatannya menjadi tetap
6 m/detik. Demikian 10 menit berikutnya kecepatannya
selalu dinaikkan 1 m/detik. susun algoritma untuk
menghitung jarak yang ditempuhnya sejak pukul 08:25:10
sampai jam tepat menunjukkan 10:00:00 pagi pada hari
yang sama.

ALGORITMA HitungJarak
KAMUS DATA
Jam1, Jam2, JumWaktu, Interval, SisaWaktu, V, TS, I: Integer
BEGIN
Jam1  8*3600 + 25*60 + 10
Jam2  10*3600
JumWaktu Jam2 – Jam1
Interval  10 * 60
JumInterval  JumWaktu Div Interval
SisaWaktu  JumWaktu Mod Interval

V5
TS 0
I1

While ( I <= JumInterval)


S  Interval * V
TS  TS + S

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 47
V  V+1
I++
End While

TS  TS + (SisaWaktu * V)

Output(TS)
End

37. Ali berangkat dari titik A menuju titik B tepat pukul


08:00 dengan kecepatan tetap 5 m/detik. Badu juga
berangkat dari titik A menuju titik B tepat pukul 09:00
dengan kecepatan tetap 8 m/detik. Buat algoritma untuk
menghitung dan mencetak pada pukul berapa Ali dan
Badu tepat berada pada titik yang sama dimana Badu
mulai akan mendahului Ali.

ALGORITMA Balapan
KAMUS DATA
JamBerangkatBadu,JarakAli,JarakBadu,JamBertemu: Integer
t, jam,menit,detik: Integer
BEGIN
JamBerangkatBadu  9*3600
t 1
JarakBadu 0
JarakAli 3600*5

While ( JarakBadu < JarakAli)


JarakAli  JarakAli + 5
JarakBadu  JarakBadu + 8
t++
End While

JamBertemu  JamBerangkatBadu + t

jam  JamBertemu Div 3600


detik  JamBertemu Mod 3600

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 48
menit  detik Div 60
detik  detik Mod 60

Output(jam, menit,detik)
End

38. Ali berangkat dari titik A menuju titik B yang


berjarak 100km dengan kecepatan tetap 10 m/detik.
Tetapi setelah 10menit kemudian, kecepatannya menjadi
11 m/detik. Demikian setelah 10 menit berikutnya
kecepatan konstan dengan lebih cepat 1 m/detik
dibandingkan 10 menit sebelumnya. Buat algoritma yang
menghitung dan mencetak berapa lama Ali menempuh
perjalanan (dalam Jam, Menit dan Detik) dari titik A
sampai titik B.

ALGORITMA BuatDeret
KAMUS DATA
V, Detik, Jarak: Integer
BEGIN
V10
Detik 0
Jarak0

While ( Jarak < 100000)


Detik++
Jarak  Jarak + V
If (Detik Mod 600 = 0) Then
V++
End If
End While

Jam  Detik Div 3600

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 49
Detik  Detik Mod 3600

Menit  Detik Div 60


Detik  Detik Mod 60

Output(Jam, Menit, Detik)


End

39. Jikauser memasukkan angka 5 Apa Output dari


algoritma berikut?

ALGORITMA loop1
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j<n; j++)


Output(i+1)
End For

Output("\n\n") {ganti baris}


End For
End
40. Jikauser memasukkan angka 5 Apa Output dari
algoritma berikut?

ALGORITMA loop2
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j<n; j++)


Output(j+1)
End For

Output("\n\n") {ganti baris}


End For
End

41. Jikauser memasukkan angka 4 Apa Output dari


algoritma berikut?

ALGORITMA loop3
KAMUS DATA
I,j,n: Integer
BEGIN

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 50
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j<n-i; j++)


Output(i+1)
End For

Output("\n\n") {ganti baris}


End For
End

42. Jikauser memasukkan angka 4 Apa Output dari


algoritma berikut?

ALGORITMA loop4
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j<n-i; j++)


Output(j+1)
End For

Output("\n\n") {ganti baris}


End For
End
43. Jikauser memasukkan angka 6 Apa Output dari
algoritma berikut?

ALGORITMA loop5
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j < i+1; j++)


Output(i+1)
End For

Output("\n\n") {ganti baris}


End For
End

44. Jikauser memasukkan angka 6 Apa Output dari


algoritma berikut?

ALGORITMA loop6
KAMUS DATA

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 51
I,j,n: Integer
BEGIN
Input(n)
For (i 0 ; i<n ; i++)

For(j0; j < i+1; j++)


Output(j+1)
End For

Output("\n\n") {ganti baris}


End For
End

45. Jikauser memasukkan angka 5 Apa Output dari


algoritma berikut?

ALGORITMA loop7
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n; j++)
If ( (i = j) || (i+j = n-1) ) Then
Output(i+1)
Else
Output(" ")
End If
End For

Output("\n")
End For
End

46. Jika user memasukkan angka 5 Apa Output dari

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 52
algoritma berikut?

ALGORITMA loop8
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n; j++)
If ( (i = j) || (i+j = n-1) ) Then
Output(j+1)
Else
Output(" ")
End If
End For

Output("\n")
End For
End

47. Jika user memasukkan angka 5 Apa Output dari


algoritma berikut?

ALGORITMA loop9
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n-1; j++)
If ( (i = j) || (i+j = n-1) ) Then
Output(i+1)
Else
Output(" ")
End If
End For

Output("\n")
End For
End

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 53
48. Jikauser memasukkan angka 5 Apa Output dari
algoritma berikut?

ALGORITMA loop10
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n-1; j++)
If ( (i=j) || (i+j = n-1) ) Then
Output(j+1)
Else
Output(" ")
End If
End For

Output("\n")
End For
End

49. Jika user memasukkan angka 4 Apa Output dari


algoritma berikut?

ALGORITMA loop11
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n; j++)
If (i+j = n-1) Then
Output(i+1)
Else
Output(" ")
End If
End For

Output("\n")
End For

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 54
End

50. Jika user memasukkan angka 4 Apa Output dari


algoritma berikut?

ALGORITMA loop12
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n; j++)
If (i+j = n-1) Then
Output(j+1)
Else
Output(" ")
End If
End For

Output("\n")
End For
End

51. Jika user memasukkan angka 4 Apa Output dari


algoritma berikut?

ALGORITMA loop13
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For(i0; i<n; i++)
For(j0; j<n; j++)
If (i=j) Then
Output(i+1)
Else
Output(" ")
End If
End For

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 55
Output("\n")
End For
End

52.

http://awanrimbawan.wordpress.com 04Nov2010
P a g e 56