Anda di halaman 1dari 56

Kumpulan Soal Dasar-Dasar Algoritma

Dan Pemrograman

Last update: 04 November 2010

51 soal

http://awanrimbawan.wordpress.com

http://awanrimbawan.wordpress.com 04Nov2010 Page 1


DISCLAIMER

- 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

http://awanrimbawan.wordpress.com 04Nov2010 Page 2


1. Soal: Lama Bekerja
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/tampilan


masuk keluar

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 masuk Jam keluar Lama keluaran/tampilan

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

http://awanrimbawan.wordpress.com 04Nov2010 Page 5


Program:
#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);

system("PAUSE");
return 0;
}

3. Soal: Penggabungan Resistor


Tulis program untuk menghitung resistor pengganti dari 3 buah resistor yang disusun secara
seri atau paralel. Rumus untuk resistor pengganti sbb:

Seri: Rgab = R1 + R2 + R3

Paralel: 1/Rgab = 1/R1 + 1/R2 + 1/R3

Besar R1, R2 dan R3 serta jenis penyusunan (seri/paralel) diinput oleh user.

http://awanrimbawan.wordpress.com 04Nov2010 Page 6


Algoritma:
Algoritma Menghitung_Resistor

KAMUS DATA
iPilihan: Integer
fR1, fR2, fR3, fResPengganti: Float

BEGIN
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”)
End Case

Output(fResPengganti)

END

http://awanrimbawan.wordpress.com 04Nov2010 Page 7


Program:
#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");
}

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

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010 Page 8


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

KAMUS DATA
iKode,iHarga:integer
cJenis: character

BEGIN
Input(cJenis)
Input(iKode)
Input(iHarga)

Case(cJenis)
'A': iHDiskon  0,9 * iHarga
'B': iHDiskon  0,85 * iHarga
'C': iHDiskon  0,8 * iHarga
End Case

output(iHDiskon)
END

http://awanrimbawan.wordpress.com 04Nov2010 Page 9


Program:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{ int iKode,iDiskon;
char cJenis;
long int iHarga, iHDiskon;

printf(" Jenis : ");


scanf("%c",&cJenis);

printf(" Kode : ");


scanf("%d",&iKode);

printf(" Harga : ");


scanf("%d",&iHarga);

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

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 P a g e 10
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
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

KAMUS DATA
iGol, iJam, iUpah, iGaji : Integer

BEGIN

Input(iGol)
Input(iJam)

iUpah  0

Case(iGol)
1: iUpah  3000
2: iUpah  3500
3: iUpah  4000
4: iUpah  5000
End case

If (iJam > 40) Then


iGaji  40 * iUpah + ((iJam - 40) * 1.5 * iUpah)
Else
iGaji  iJam * iUpah
End if

Output(iGaji)

END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 11
Program:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{ int iGol,iJam, iUpah;
int iGaji;

iUpah=0;

printf(" Jumlah Jam Kerja : ");


scanf("%d",&iJam);

printf(" Golongan(1,2,3,4) : ");


scanf("%d",&iGol);

switch (iGol)
{ case 1:
iUpah=3000;
break;
case 2:
iUpah=3500;
break;
case 3:
iUpah=4000;
break;
case 4:
iUpah=5000;
break;
default:
printf("inputan golongan salah");
}

if (iJam > 40)


iGaji = 40 * iUpah + ((iJam - 40) * 1.5 * iUpah);
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 12
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:

Mulai Selesai Lama (menit) Lama


(jam,menit) (jam,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)

Input(iJamStop)
Input(iMenitStop)

iTotMenit1  iJamStart * 60 + iMenitStart


iTotMenit2  iJamStop * 60 + iMenitStop

If (iTotMenit2 >= iTotMenit1) Then


iSelangMenit  iTotMenit2 - iTotMenit1
Else
iSelangMenit  ((12*60)-iTotMenit1) + iTotMenit2
End if

iJamDurasi  iSelangMenit div 60


iMenitDurasi  iSelangMenit mod 60;

Output(iJamDurasi)
Output(iMenitDurasi)

END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 13
Program:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{ int iJamStart,iMenitStart,iJamStop,iMenitStop,iSelangMenit, iJamDurasi,
iMenitDurasi ;

long int iTotMenit1, iTotMenit2;

printf(" Masukkan Waktu Mulai (contoh 10:05) : ");


scanf("%d:%d",&iJamStart,&iMenitStart);

printf(" Masukkan Waktu Berhenti (contoh 11:04) : ");


scanf("%d:%d",&iJamStop,&iMenitStop);

iTotMenit1 = iJamStart * 60 + iMenitStart;


iTotMenit2 = iJamStop * 60 + iMenitStop;

if (iTotMenit2 >= iTotMenit1)


iSelangMenit = iTotMenit2 - iTotMenit1;
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");
return 0;
}

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 berada pada kuadran 4

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 14
Algoritma:
ALGORITMA Menghitung_Kuadran

KAMUS DATA
ix, iy: Integer

BEGIN
Input(ix,iy)

If (ix >= 0)
If (iy >=0)
Output(“Kuadran I”)
else
Output(“Kuadran IV”)
else
if (iy >=0)
Output(“Kuadran II”)
else
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;
}

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 15
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:

Jumlah Gaji Pokok Tunjangan Anak


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)

END

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

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

printf(" Masukkan Gaji Pokok : ");


scanf("%d",&iGajiPokok);

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

system("PAUSE");
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 Peserta Jumlah Minibus

5 1

7 1

8 2

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 17
Algoritma:
ALGORITMA Menghitung_Tunjangan

KAMUS DATA
iPeserta,iMinibus : Integer

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

Output(iMinibus)

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");
http://awanrimbawan.wordpress.com 04Nov2010 P a g e 18
return 0;
}
10. Soal: 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

10 Jumat

20 Selasa

Algoritma:
ALGORITMA Menentukan_Nama_Hari_1

KAMUS DATA
iNHari,iBelakang : Integer
cNamaHari[15]: String

BEGIN
Input(iNHari)

iBelakang  ( iNHari + 1)

Case (iBelakang)
1: cNamaHari "Senin"
2: cNamaHari "Selasa"
3: cNamaHari "Rabu"
4: cNamaHari "Kamis"
5: cNamaHari "Jumat"
6: cNamaHari "Sabtu"
7: cNamaHari "Minggu"
Otherwise: cNamaHari  "Inputan salah"
End Case

Output(cNamaHari)

END

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

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

int main()
{ int iNHari,iBelakang;
char cNamaHari[15];

printf("Masukkan N Hari yg lalu : ");


scanf("%d",&iNHari);

iBelakang = (iNHari+1) ;

switch (iBelakang){
case 1:
strcpy(cNamaHari,"Senin");
break;
case 2:
strcpy(cNamaHari,"minggu");
break;
case 3:
strcpy(cNamaHari,"sabtu");
break;
case 4:
strcpy(cNamaHari,"jumat");
break;
case 5:
strcpy(cNamaHari,"kamis");
break;
case 6:
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 20
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 lalu Hari ini Nama Hari

0 1 Senin

3 3 Minggu

5 4 Sabtu

Algoritma:
ALGORITMA Menghitung_Hari

KAMUS DATA
iNHari,iHariIni,iBelakang : Integer
cNamaHari[15] : String
cNamaHariLalu: Char

BEGIN

Input(iHariIni)
Input(iNHari)

If (iHariIni>iNHari) Then
iBelakang  iHariIni - iNHari
Else
iBelakang  7 - (iNHari - iHariIni)
End If

Case (iBelakang)
1: cNamaHari "Senin"
2: cNamaHari "Selasa"
3: cNamaHari "Rabu"
4: cNamaHari "Kamis"
5: cNamaHari "Jumat"
6: cNamaHari "Sabtu"
7: cNamaHari "Minggu"
End Case

Output(cNamaHari)
END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 21
Program:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{ int iNHari,iHariIni,iBelakang;
char cNamaHari[15],cNamaHariLalu;

printf("Masukkan Kode Hari ini : ");


scanf("%d",&iHariIni);

printf("Masukkan N Hari yg lalu : ");


scanf("%d",&iNHari);

if (iHariIni>iNHari)
iBelakang = iHariIni - iNHari;
else
iBelakang= 7 - (iNHari - iHariIni);

switch (iBelakang){
case 1: strcpy(cNamaHari,"Senin");
break;
case 2: strcpy(cNamaHari,"Selasa");
break;
case 3: strcpy(cNamaHari,"Rabu");
break;
case 4: strcpy(cNamaHari,"Kamis");
break;
case 5:
strcpy(cNamaHari,"Jumat");
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 22
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 Pemakaian Bayar


1 50 100.000
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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 23
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
{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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 24
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

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 25
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

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 26
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}

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 27
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

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 28
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");
return 0;
}

17.Soal: Segitiga
Buatlah program pengulangan bersarang dengan sintaks FOR untuk menampilkan output
sebagai berikut:

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

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

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 30
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

Input(i)

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

Output(k)

END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 31
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;
}

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 32
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 33
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;
}

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 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

Output("\n")
m--

End For

END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 35
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;
}

21.Soal: Bintang Ketupat


Buatlah program untuk menampilkan bintang berbentuk belah ketupat seperti berikut :
Contoh inputan :
Jumlah bintang : 5
*
* *
* *
* *
*
Jumlah bintang : 6
**

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 36
* *
* *
* *
* *
**
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
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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 37
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(" ");
}
}
}
}
printf("\n");
}

system("PAUSE");
return 0;
}

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 38
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 39
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 40
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”.

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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 41
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
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”)

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 42
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 43
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
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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 44
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

Output(J,M,D)
END

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 45
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
I1

While ( I <= 10)


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

Output(T)
End

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 46
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 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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 47
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
V  V+1
I++
End While

TS  TS + (SisaWaktu * V)

Output(TS)
End

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 48
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

menit  detik Div 60


detik  detik Mod 60

Output(jam, menit,detik)
End

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 49
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


Detik  Detik Mod 3600

Menit  Detik Div 60


Detik  Detik Mod 60

Output(Jam, Menit, Detik)


End

39.Jika user 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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 50
Output("\n\n") {ganti baris}
End For
End
40.Jika user 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.Jika user memasukkan angka 4 Apa Output dari algoritma berikut?

ALGORITMA loop3
KAMUS DATA
I,j,n: Integer
BEGIN
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.Jika user 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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 51
Output("\n\n") {ganti baris}
End For
End
43.Jika user 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.Jika user memasukkan angka 6 Apa Output dari algoritma berikut?

ALGORITMA loop6
KAMUS DATA
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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 52
45.Jika user 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 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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 53
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

48.Jika user 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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 54
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
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

http://awanrimbawan.wordpress.com 04Nov2010 P a g e 55
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

Output("\n")
End For
End

52.

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