Pertemuan 1 – 15/11/2010
Dosen: Moh.Sjukani
Susun program dalam bahasa C/C++ untuk menghitung total dua buah bilangan (misal 5 dan 2), kemudian mencetak total tersebut
Bahasa C
START
Cara 1.
#include <stdio.h>
void main ()
{int A,B,T;
A=5;
B=2;
T=A+B; T=A+B
printf("Total = %i ", T);
}
Cara 2
#include <stdio.h>
void main ()
{int A,B,T;
A=5; printf “T”
B=2;
printf("Total = %i ", T=A+B);
}
Bahasa C++
END
Cara 1.
#include <iostream.h>
void main ()
{int A,B,T;
A=5;
B=2;
T=A+B;
cout << "Total = ";
cout << T;
}
1
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-2
START
Bahasa C
Cara 1.
Cara 2
T=A+B
#include <stdio.h>
void main ()
{int A,B,T;
scanf("%i", &A);
scanf("%i", &B);
printf("\nTotal Bilangan = %i ", T=A+B);
} printf “T”
Bahasa C++
END
Cara 1.
#include <iostream.h>
void main ()
{int A,B,T;
cin >> A;
cin >> B;
T=A+B;
cout << "\nTotal Bilangan = ";
cout << T;
}
2
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-2
START
Bahasa C
Cara 1.
printf
“Bilangan 1 = “
#include <stdio.h>
void main ()
{int A,B,T;
printf("Bilangan 1 = "); scanf “A”
scanf("%i", &A);
printf("Bilangan 2 = ");
scanf("%i", &B);
T=A+B;
printf("\nTotal Bilangan = %i", T); printf
“Bilangan 2 = “
}
Cara 2
END
Cara 2.
Cara 1.
#include <iostream.h>
#include <iostream.h> void main ()
void main () {int A,T;
{int A,B,T; T=0;
cout << "Bilangan 1 = "; cout << "Bilangan 1 = ";
cin >> A; cin >> A;
cout << "Bilangan 2 = "; T=A+T;
cin >> B; cout << "Bilangan 2 = ";
cin >> A;
T=A+B;
T=A+T;
cout << "\nTotal Bilangan = " << T; cout << "\nTotal Bilangan = " << T;
} }
3
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-3
Susun program untuk menginput 4 buah bilangan bulat, kemudian mencetak total keempat buah bilangan
tersebut
Bahasa C
START
Cara 1.
#include <stdio.h>
void main ()
{int A,B,C,D,T;
scanf("%i %i %i %i", &A,&B,&C,&D); scanf A,B,C,D
T=A+B+C+D;
printf("\nTotal Bilangan = %i ", T);
}
Bahasa C
Cara 2. T=A+B+C+D
#include <stdio.h>
void main ()
{int A,T;
T=0;
scanf("%i", &A); printf “T”
T=A+T;
scanf("%i", &A);
T=A+T;
scanf("%i", &A);
T=A+T;
scanf("%i", &A);
T=A+T; END
printf("\nTotal Bilangan = %i ", T);
}
Bahasa C Bahasa C
Menggunakan cara LOOP Cara 4.
Cara 3. #include <stdio.h>
void main ()
#include <stdio.h> {int A,T,I;
void main () T=0;
{int A,T,I; I=1;
T=0; while (I<=4)
for (I=1;I<=4;I=I+1) {scanf("%i", &A);
{scanf("%i", &A); T=A+T;
T=A+T; I=I+1;
} }
printf("Total Bilangan = %i ", T); printf("\nTotal Bilangan = %i ", T);
} }
4
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-4
Susun algoritma untuk mencetak LUAS sebuah segitiga bila diketahui ALAS = 7 cm, dan TINGGI = 5 cm
Bahasa C START
Cara 1.
#include <stdio.h>
void main ()
{int A,T;
float L;
A=7; L=A*T/2.0
T=5;
L=A*T/2.0;
printf("Luas Segitiga = %6.1f cm", L);
}
Cara 2
Bahasa C++
Cara 1.
#include <iostream.h>
void main ()
{float A,T,L;
A=7;
T=5;
L=A*T/2;
cout << "Luas Segitiga = ";
cout << L;
}
5
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-5
Detik J
J = Detik/3600
7425 2
Konversi Detik ke Jam, Menit & Detik
X = J*3600
Y = Detik - X
7200
M = Y/60
Y 225 3 M
Z = M*60
D=Y-Z
180
Bahasa C
3 D
Cara 1.
#include <stdio.h>
void main ()
{int Detik,J,M,D,X,Y,Z;
printf("Input Detik = ");
scanf("%i", &Detik);
J=Detik/3600;
X=3600*2;
Y=Detik-X;
M=Y/60;
Z=M*60;
D=Y-Z;
printf("\nHasil Konversi = %i Jam : %i Menit : %i Detik", J,M,D);
}
Cara 2
#include <stdio.h>
void main ()
{int Detik,J,M,D,X;
printf("Input Detik = ");
scanf("%i", &Detik);
J=Detik/3600;
X=Detik-(3600*2);
M=X/60;
D=X-(M*60);
printf("\nHasil Konversi = %i Jam : %i Menit : %i Detik", J,M,D);
}
Cara 3.
#include <stdio.h>
void main ()
{int Detik,J,M,D;
printf("Input Detik = ");
scanf("%i", &Detik);
J=Detik/3600;
M=(Detik-(3600*2))/60;
D=(Detik-(3600*2))-(M*60);
printf("\nHasil Konversi = %i Jam : %i Menit : %i Detik", J,M,D);
}
6
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-5 Detik J
J = Detik/3600
7425 2
Konversi Detik ke Jam, Menit & Detik –
Menggunakan Modulus % (Sisa Pembagian) Y = Detik%3600
M = Y/60
Y 225 3 M
D = Y%60
45 D
Bahasa C
Cara 1.
#include <stdio.h>
void main ()
{int Detik,J,M,D,Y;
printf("Input Detik = ");
scanf("%i", &Detik);
J=Detik/3600;
Y=Detik%3600;
M=Y/60;
D=Y%60;
printf("\nHasil Konversi = %i Jam : %i Menit : %i Detik", J,M,D);
}
Cara 2
#include <stdio.h>
void main ()
{int Detik,J,M,D;
printf("Input Detik = ");
scanf("%i", &Detik);
J=Detik/3600;
M=(Detik%3600)/60;
D=(Detik%3600)%60;
printf("\nHasil Konversi = %i Jam : %i Menit : %i Detik", J,M,D);
}
7
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
START
Pertemuan 2 – 24/11/2010
N>=80
Soal-1a
#include <stdio.h>
END
void main ()
{int N;
scanf("%i", &N); Gambarkan flowchart program berikut ini:
if (N>=80) Soal 1a. Apa yang tercetak bila untuk program 1a diinput nilai N =
printf("A"); A) 85
else B) 64
if (N>=70)
Jawab
printf("B"); A) A
else B) C
if (N>=60)
printf("C");
else
if (N>=40)
printf("D");
else
printf("E");
}
8
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-1b
Jawab
scanf N
A) A
B) C
N>=40
#include <stdio.h>
void main ()
{int N;
scanf("%i", &N);
if (N>=40)
if (N>=60)
END if (N>=70)
if (N>=80)
printf("A");
else
printf("B");
else
printf("C");
else
printf("D");
else
printf("E");
}
9
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-2
Susun program (penggalan program) dalam bahasa c untuk flowchart gambar diatas
START
scanf A,B,C
A>B
B>C A>C
START
#include <stdio.h>
void main ()
{int A,B,C;
scanf("%i %i %i", &A,&B,&C);
if (A>B)
{if (A>C)
printf("A");
else
printf("C");
}
else
{if (B>C)
printf("B");
else
printf("C");
}
}
10
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-3
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilai
sebagai berikut:
A) 5, 7, 10 tercetak: 10
B) 5, 10, 7 tercetak: 10
C) 7, 5, 10 tercetak: 10
D) 7, 10, 5 tercetak: 10
E) 10, 5, 7 tercetak: 10
F) 10, 7, 5 tercetak: 10
START
scanf A,B,C
A>B
B>C A>C
{if (A>C)
printf("%i", B);
else
printf("%i", C);
}
}
11
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-4
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilai
sebagai berikut:
A) 5, 7, 10 tercetak: 10
B) 5, 10, 7 tercetak: 7 START
C) 7, 5, 10 tercetak: 10
D) 7, 10, 5 tercetak: 10
E) 10, 5, 7 tercetak: 7 scanf A,B,C
F) 10, 7, 5 tercetak: 10
A>B
A>C B>C
START
#include <stdio.h>
void main ()
{int A,B,C;
scanf("%i %i %i", &A,&B,&C);
if (A>B)
{if (B>C)
printf("%i", A);
else
printf("%i", C);
}
else
{if (A>C)
printf("%i", B);
else
printf("%i", C);
}
}
12
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-5
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilai
sebagai berikut:
A) 5, 7, 10 tercetak: 10
B) 5, 10, 7 tercetak: 7 START
C) 7, 5, 10 tercetak: 10
D) 7, 10, 5 tercetak: 10
E) 10, 5, 7 tercetak: 7 scanf A,B,C
F) 10, 7, 5 tercetak: 10
A>B
B>C A>C
13
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal-6
Lanjutkan flowchart gambar dibawah sehingga maksudnya menggambarkan algoritma yang mencetak salah
satu bilangan yang nilainya terbesar dari 3 buah bilangan yang diinput
START
scanf A,B,C
A>B
A>C B>C
Soal-7
scanf
“8”
C>B
scanf
“7”
A>C
scanf
“6”
C>B
START
scanf
A>B
scanf
START
A,B,C
scanf
“5”
#include <stdio.h>
void main ()
{int A,B,C;
“4”
if (A>B)
{if (B>C)
if (C>A)
scanf
printf(“1”);
else
printf(“2”);
B>C
else
“3”
if (C>A)
printf(“3”);
scanf
else
printf(“4”);
}
else
“2”
{if (A>C)
C>A
if (C>B)
printf(“5”);
else
printf(“6”);
scanf
else
Untuk semua kemungkinan nilai A,B, dan C pd flowchart diatas dari 8 jalur yang ada
if (C>B) tunjukkan jalur mana saja yang tidak pernah dilalui
printf(“7”); Kemungkinan kombinasi nilai A,B dan C sebagai contoh adalah sbb:
A) 5, 7, 10 tercetak: 7
“1”
Soal-8
Susun algoritma untuk menginput 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksa
ketiga buah garis tersebut. Bila ketiga buah garis (sisi) tersebut panjangnya sama, maka cetak perkataan “SAMA SISI”. Bila hanya dua
sisi yang sama maka cetak perkataan “SAMA KAKI”. Tapi bila ketiga-tiganya tidak sama maka cetak perkataan “SEMBARANG”.
START
scanf A,B,C
A==B
B==C A==C
“SAMA
A==C printf printf “SAMA KAKI” printf “SAMA SISI”
KAKI”
#include <stdio.h>
START void main ()
{int A,B,C;
scanf("%i %i %i", &A,&B,&C);
1 4 2 4 SAMA KAKI if (A==B)
2 4 3 3 SAMA KAKI {if (A==C)
printf("Sama Sisi");
3 3 3 2 SAMA KAKI else
4 3 4 4 SAMA KAKI printf("Sama Kaki");
}
5 2 4 3 SEMBARANG else
6 2 2 2 SAMA SISI {if (B==C)
printf("Sama Kaki");
else
{if (A==C)
printf("Sama Kaki");
else
printf("Sembarang");
Pengecekan Program, }
terdapat 6 kali pengecekkan }
}
16
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1 A>B ? AB : A1 B2
B<C ? CB : C1 B2
Maka urutan 1=C 2=A 3=B
Soal Latihan Mandiri 1 Urut ke-2: C
START Urut ke-1: A
Komputer membaca urut ke-2 ke ke-1
dan ketika dibandingkan belum
diketahui apakah C>A atau C<A, namun
yang pasti hasil yang paling kecil adl B.
Soal-9 karena pembacaan dimulai dari urut ke-
2 dan belum bisa dipastikan mana yang
paling besar maka logika membacanya
adalah hasil yang paling besar dari urut
A<B ? BA : B1 A2 ke-2 yaitu C, kemudian hasil terbesar
B<C ? CB : C1 B2 scanf A,B,C dari urut ke-1 yaitu B baru kemudian
Maka urutan 1=C 2=B 3=A hasil yang paling kecil dari kedua urut
Urut ke-2: C A>B ? AB yaitu B
Urut ke-1: B A<B ? BA AB CAB
Komputer membaca urut ke-2 ke ke-1
dan ketika dibandingkan belum BA
diketahui apakah C>A atau C<A, namun
yang pasti hasil yang paling kecil adl A. BA AB
karena pembacaan dimulai dari urut ke-
2 dan belum bisa dipastikan mana yang A>B ? AB : A1 B2
paling besar maka logika membacanya A>B B>C ? BC : B1 C2
adalah hasil yang paling besar dari urut Maka urutan 1=A 2=B 3=C
ke-2 yaitu C, kemudian hasil terbesar Urut ke-2: B
dari urut ke-1 yaitu B baru kemudian Urut ke-1: A
hasil yang paling kecil dari kedua urut
yaitu A
CBA BAC A<B ? BA : B1 A2
CAB ABC Komputer membaca urut ke-2 ke ke-1 dan
ketika dibandingkan A>B maka tercetak A
CBA A>C ? AC : A1 C2 di urut 1 sebagai yang paling besar,
A>C Maka urutan 1=B 2=A 3=C
Urut ke-2: A
B>C kemudian B, diurut 2, kemudian C diurut 3
sebagai yang paling kecil
Urut ke-1: B ABC
A<B ? BA : B1 A2 CBA BCA Komputer membaca urut ke-2 ke ke-1 dan
ketika dibandingkan B>A maka tercetak B
A<C ? CA : C1 A2
B<C ? CB : C1 B2 di urut 1 sebagai yang paling besar,
Maka urutan 1=C 2=B 3=A B>C printf “B,A,C” kemudian A, diurut 2, kemudian C diurut 3
sebagai yang paling kecil
CAB ACB
Urut ke-3: C
Urut ke-2: C BAC
Urut ke-1: B A>C printf “A,B,C”
Komputer membaca urut ke-3 ke ke-2 ke
ke-1 dan ketika dibandingkan C lebih A>B ? AB : A1 B2
besar dari B di urut 3 dan A diurut 2, printf “C,B,A” printf “B,C,A” A>B ? AB : A1 B2 B<C ? CB : C1 B2
maka C paling besar. Kemudian yang B<C ? CB : B1 C2 A>C ? AC : A1 C2
terbesar kedua adl B karena pada urut A<C ? CA : A1 C2 Maka urutan 1=A 2=C 3=B
ke-1 B>A maka B tercetak kedua setelah Maka urutan 1=A 2=C 3=B Urut ke-3: A
C. kemudian yang paling kecil adalah A
karena lebih kecil dari C di urut 2 dan
Urut ke-3: C
Urut ke-2: C
printf “C,A,B” printf “A,C,B” Urut ke-2: C
Urut ke-1: A
dari A di urut 1 Urut ke-1: A Komputer membaca urut ke-3 ke ke-2 ke
CBA Komputer membaca urut ke-3 ke ke-2 ke ke-3 dan ketika dibandingkan A lebih
ke-1 dan ketika dibandingkan C lebih besar dari C di urut 3 dan B diurut 1,
besar dari A di urut 3 dan B diurut 2, maka A paling besar. Kemudian yang
maka C paling besar. Kemudian yang terbesar kedua adl C karena pada urut
terbesar kedua adl A karena pada urut ke-2 C>B maka C tercetak kedua setelah
ke-1 A>B maka A tercetak kedua setelah A. kemudian yang paling kecil adalah B
A<B ? BA : B1 A2 C. kemudian yang paling kecil adalah B karena lebih kecil dari C di urut 2 dan
A<C ? CA : C1 A2 karena lebih kecil dari C di urut 2 dan dari A di urut 1
B>C ? BC : B1 C2 dari A di urut 1 ACB
Maka urutan 1=B 2=C 3=A CAB
Urut ke-3: B
Urut ke-2: C
Urut ke-1: B
Komputer membaca urut ke-3 ke ke-2 ke
ke-3 dan ketika dibandingkan B lebih
besar dari C di urut 3 dan A diurut 1,
maka B paling besar. Kemudian yang
terbesar kedua adl C karena pada urut
ke-2 C>A maka C tercetak kedua setelah
START
B. kemudian yang paling kecil adalah A
karena lebih kecil dari C di urut 2 dan
dari B di urut 1
BCA
#include <stdio.h>
void main ()
{int A,B,C;
scanf("%i %i %i", &A,&B,&C); Susun algoritma untuk menginput 3 buah bilangan (anggap ketiga buah bilangan tersebut nilainya
if (A>B) tidak sama satu dengan yang lainnya). Kemudian cetak ketiga buah bilangan tersebut urut mulai dari
{if (B>C) bilangan yang nilainya terbesar sampai dengan nilai yang terkecil
printf("%i %i %i", A,B,C);
else Jawaban:
if (A>C) A=9
printf("%i %i %i", A,C,B); B=0
else C=4
printf("%i %i %i", C,A,B);
} Hasil:
else 940
{if (A>C)
printf("%i %i %i", B,A,C);
else
if (B>C)
printf("%i %i %i", B,C,A);
else
17
printf("%i %i %i", C,B,A);
}
}
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
START
Soal Latihan Mandiri 1
Soal-10
J=0
Susun program untuk menginput tiga buah bilangan yang menyatakan nilai ujian tiga buah mata kuliah.
Cetak perkataan “Tiga”, bila ketiga mata kuliah tersebut mendapat nilai lulus.
Cetak perkataan “Dua”, bila hanya dua dari ketiga mata kuliah tersebut yang mendapat nilai lulus. scanf A,B,C
Cetak perkataan “Satu”, bila hanya satu mata kuliah yang mendapat nilai lulus.
Cetak perkataan “Nol”, bila ketiga mata kuliah tersebut dinyatakan tidak lulus.
Sebuah mata kuliah dinyatakan mendapat nilai lulus bila nilainya lebih besar atau sama dengan 60.
A>=60
END
18
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal Latihan Mandiri 1
START
“Jam Keberangkatan”
Soal-11 “Menit Keberangkatan”
#include <stdio.h> “Detik Keberangkatan”
void main () “Jam Kedatangan”
{long int Jam,Detik,Menit,A,B,C,D,E,F,G,H,I,J,K,L,X,S;
printf “Menit Kedatangan”
printf("Jam Keberangkatan = "); “Detik Kedatangan”
scanf("%li", &A);
printf("Menit Keberangkatan = ");
scanf("%li", &B);
printf("Detik Keberangkatan = ");
scanf("%li", &C);
printf("\nJam Kedatangan = "); scanf Jam,Detik,Menit,A,B,C,D,E,F,G,H,I,J,K,L,X,S
scanf("%li", &D);
printf("Menit Kedatangan = ");
scanf("%li", &E);
printf("Detik Kedatangan = ");
scanf("%li", &F);
G=A*3600; G=A*3600;
H=B*60;
H=B*60;
I=G+H+C;
I=G+H+C;
J=D*3600; J=D*3600;
K=E*60; K=E*60;
L=J+K+F; L=J+K+F;
S=L-I;;
Jam=S/3600; S=L-I;
X=S%3600;
Menit=X/60; Jam=S/3600;
Detik=X%60; X=S%3600;
printf("\nLama Perjalanan = %li : %li : %li ", Jam, Menit, Detik); Menit=X/60;
} Detik=X%60;
printf Jam,Detik,Menit
START
Susun program untuk menginput jam keberangkatan dan jam kedatangan, kemudian menghitung serta mencetak jumlah waktu (lama)
dalam perjalanan. Semua waktu dinyatakan dengan notasi JAM, MENIT, dan DETIK.
Catatan, perjalanan dilakukan pada hari yang sama, dan notasi waktu dalam satu hari adalah mulai jam 00:00:00 sampai dengan jam
24:00:00
Contoh:
Bila Jam Keberangkatan = 8 : 45 : 30
Dan Jam Kedatangan = 10 : 20 : 17
Maka Lama Perjalanan = 1 : 34 : 47
Artinya, bila berangkat jam 8 lewat 45 menit 30 detik, dan jam kedatangan adalah jam 10 lewat 20 menit 17 detik, maka lama dalam
perjalanan adalah 1 jam 34 menit dan 47 detik
19
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
int I; A[3]=50;
printf(“%i”, A[I]); }
} }
int I; I=3;
} {printf(“%i”, A[I]);
} }
20
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 5. Apa yang tercetak dari Soal 7. Apa yang tercetak dari
susunan program berikut ini susunan program berikut ini
#include<stdio.h> #include<stdio.h>
int I; int I;
{printf(“%i”, A[I]); }
} for (I=0;I<=6;I++)
} {printf(“%i”, A[I]);
#include<stdio.h>
Soal 8. Apa yang tercetak dari
void main () susunan program berikut ini
A[I]=A[I+1]; int I;
} }
} for (I=0;I<=6;I++)
{printf(“%i”, A[I]);
21
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 9. Apa yang tercetak dari Soal 10. Apa yang tercetak dari
susunan program berikut ini susunan program berikut ini
#include<stdio.h> #include<stdio.h>
{A[I+1]=A[I]; {X=A[I];
} A[I]=A[I+1];
} A[I+1]=X;
for (I=0;I<=6;I++) }
{printf(“%i”, A[I]); }
} for (I=0;I<=6;I++)
} {printf(“%i”, A[I]);
22
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 11. Apa yang tercetak dari Soal 12. Apa yang tercetak dari
susunan program berikut ini susunan program berikut ini
#include<stdio.h> #include<stdio.h>
int I; int I;
} {B[I]=A[I];
for (I=0;I<=6;I++) }
{printf(“%i”, A[I]); }
} for (I=0;I<=6;I++)
for (I=0;I<=6;I++) }
} for (I=0;I<=6;I++)
} {printf(“%i”, B[I]);
23
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 13. Apa yang tercetak dari Soal 14. Apa yang tercetak dari
susunan program berikut ini susunan program berikut ini
#include<stdio.h> #include<stdio.h>
{X=B[I]; }
} {X=B[I];
} }
for (I=0;I<=6;I++) }
} }
printf(“\n”);
for (I=0;I<=6;I++)
{printf(“%i”, B[I]);
24
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 1.
0 1 2 3 4 5 6 #include<stdio.h>
A[7] diminta
menyediakan 7 void main ()
kolom
{int A[7];
for (I=0;I<=6;I++)
perintah ini
int I;
melakukan
pengulangan
sebanyak 6 kali
for (I=0;I<=6;I++)
1 2 3 4 5 6 7 {A[I]=I;
0 1 2 3 4 5 6
printf(“%i”, A[I]);
25
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 2.
0 1 2 3 4 5 6
15 12 17 25 10 5 22 #include<stdio.h>
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
for (I=0;I<=6;I++)
{printf(“%i”, A[I]);
0 1 2 3 4 5 6 }
15 12 17 25 10 5 22
}
Tercetak:
15 12 17 25 10 5 22
26
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 3.
0 1 2 3 4 5 6 #include<stdio.h>
15 12 17 25 10 5 22
50 void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
A[3]=50;
for (I=0;I<=6;I++)
0 1 2 3 4 5 6 {printf(“%i”, A[I]);
15 12 17 50 10 5 22
}
Tercetak:
}
15 12 17 50 10 5 22
27
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
#include<stdio.h>
I=3;
A[I]=50;
for (I=0;I<=6;I++)
{printf(“%i”, A[I]);
0 1 2 3 4 5 6
}
15 12 17 50 10 5 22
}
Tercetak:
15 12 17 50 10 5 22
28
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
#include<stdio.h>
Soal 5.
void main ()
0 1 2 3 4 5 6
15 12 17 25 10 5 22 {int A[7]={15,12,17,25,10,5,22};
25 25
int I;
A[2]=A[3];
for (I=0;I<=6;I++)
{printf(“%i”, A[I]);
}
0 1 2 3 4 5 6
15 12 25 25 10 5 22 }
Tercetak:
15 12 25 25 10 5 22
29
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 6. #include<stdio.h>
0 1 2 3 4 5 6 void main ()
15 12 17 25 10 5 22
25 25 {int A[7]={15,12,17,25,10,5,22};
int I;
I=2;
A[I]=A[I+1];
for (I=0;I<=6;I++)
0 1 2 3 4 5 6 {printf(“%i”, A[I]);
15 12 25 25 10 5 22
}
Tercetak:
}
15 12 25 25 10 5 22
30
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 7.
#include<stdio.h>
0 1 2 3 4 5 6 1
15 12 17 25 10 5 22 2 void main ()
0 12 12 17 25 10 5 22
1 12 17 17 25 10 5 22 {int A[7]={15,12,17,25,10,5,22}; 2
2 12 17 25 25 10 5 22 3
3 12 17 25 10 10 5 22 int I;
4 12 17 25 10 5 5 22
for (I=0;I<=5;I++) 5
5 12 17 25 10 5 22 22
12 17 25 10 5 22 22 4 {A[I]=A[I+1]; 3
}
5
for (I=0;I<=6;I++) 1
{printf(“%i”, A[I]); 4
atau
Tercetak:
12 17 25 10 5 22 22
31
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 8.
#include<stdio.h>
0 1 2 3 4 5 6 1
15 12 17 25 10 5 22 2 void main ()
0 15 15 17 25 10 5 22
1 15 15 15 25 10 5 22 {int A[7]={15,12,17,25,10,5,22};
2
2 15 15 15 15 10 5 22 3
3 15 15 15 15 15 5 22 int I;
4 15 15 15 15 15 15 22
for (I=0;I<=5;I++) 5
5 15 15 15 15 15 15 15
15 15 15 15 15 15 15 {A[I+1]=A[I];
4 3
}
5
for (I=0;I<=6;I++) 1
{printf(“%i”, A[I]); 4
atau
Tercetak:
15 15 15 15 15 15 15
32
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 9.
0 1 2 3 4 5 6 1 #include<stdio.h>
15 12 17 25 10 5 22 2
0 15 15 17 25 10 5 22 void main ()
1 15 15 17 25 10 5 22
2 15 15 17 25 10 5 22 {int A[7]={15,12,17,25,10,5,22}; 2
3 15 15 17 25 25 5 22
int I;
4 15 15 17 25 25 25 22
5 15 15 17 25 25 25 25
for (I=0;I<=5;I++)
15 15 17 25 25 25 25
4
{if (A[I]>A[I+1])
3
5 {A[I+1]=A[I];
for (I=0;I<=6;I++) 1
{printf(“%i”, A[I]); 4
atau
I I<=6 I++ printf A[I]=A[7] I I<=5 I++ if A[I]>A[I+1] A[I+1]=A[I] printf A[I]
0 True 1 15 0 True 1 A[0]>A[1] =>True 15 15
1 True 2 12 1 True 2 A[1]>A[2] => False - 15
2 True 3 17 2 True 3 A[2]>A[3] => False - 17
3 True 4 25 3 True 4 A[3]>A[4] => True 25 25
4 True 5 10 4 True 5 A[4]>A[5] => True 25 25
5 True 6 5 5 True 6 A[5]>A[6] => True 25 25
6 True 7 22 6 False Keluar Loop 25
7 False Keluar Loop
Tercetak:
15 15 17 25 25 25 25
33
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
#include<stdio.h>
0 1 2 3 4 5 6 1 {int A[7]={15,12,17,25,10,5,22}; 2
15 12 17 25 10 5 22 2
0 12 15 17 25 10 5 22 int I,X;
1 12 15 17 25 10 5 22
2 12 15 17 25 10 5 22 3 for (I=0;I<=5;I++) 5
3 12 15 17 10 25 5 22
4 12 15 17 10 5 25 22 {if (A[I]>A[I+1])
5 12 15 17 10 5 22 25
{X=A[I];
12 15 17 10 5 22 25 4 3
A[I]=A[I+1];
5 A[I+1]=X;
}
Tercetak:
for (I=0;I<=6;I++) 1
12 15 17 10 5 22 25
{printf(“%i”, A[I]); 4
}
atau
34
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
#include<stdio.h>
Soal 11.
void main ()
0 1 2 3 4 5 6
A[I]
15 12 17 25 10 5 22 {int A[7]={15,12,17,25,10,5,22};
int B[7];
0 1 2 3 4 5 6
B[I]
15 12 17 25 10 5 22 int I;
for (I=0;I<=6;I++)
atau
{B[I]=A[I];
15 12 17 25 10 5 22 {printf(“%i”, B[I]);
15 12 17 25 10 5 22 }
35
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
0 1 2 3 4 5 6 0 1 2 3 4 5 6 void main ()
15 12 17 25 10 5 22 10 27 12 15 18 12 3
{int A[7]={15,12,17,25,10,5,22};
Tercetak:
}
15 12 17 25 10 5 22
for (I=0;I<=6;I++)
15 27 17 25 18 12 22
{printf(“%i”, A[I]);
printf(“\n”);
for (I=0;I<=6;I++)
{printf(“%i”, B[I]);
36
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
0 1 2 3 4 5 6 void main ()
0 1 2 3 4 5 6
15 12 17 25 10 5 22 10 27 12 15 18 12 3
{int
A[7]={15,12,17,25,10,5,22};
4 10 18 False - - - 10 18 {X=B[I];
5 5 12 False - - - 5 12
6 22 3 True 3 22 3 3 22 B[I]=A[I];
A[I]=X;
Tercetak: }
10 12 12 15 10 5 3 }
15 27 17 25 18 12 22 for (I=0;I<=6;I++)
{printf(“%i”, A[I]);
printf(“\n”);
for (I=0;I<=6;I++)
{printf(“%i”, B[I]);
37
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
0 1 2 void main ()
0 1 2 3 4 5 6
15 12 17 10 17 12 15 18 12 3
{int A[3]={15,25,17};
int B[7]={10,17,12,15,18,22,3};
K A[K]=A[3] X=A[K] I B[I] if B[I]>X X=B[I] printf “X”
int I,K,X;
0 15 15 0 10 False -
1 25 25 1 17 False - for (K=0;K<=2;K++)
2 17 17 2 12 False -
15 3 15 False - {X=A[K];
25 4 18 False - }
17 5 22 True 22 22
15 6 3 False - for (I=0;I<=6;I++)
{if (B[I]>X)
Tercetak:
{X=B[I];
22 }
printf(“%i”, X);
38
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
1. Apa yang tercetak dari susunan program berikut ini (masukkan N dengan
menggunakan 2 digit terakhir NIM anda)
#include<stdio.h>
void main ()
{int I,J,N,T,X;
printf(“Input Nilai = “);
scanf(“%i”, &N);
T=0;
X=5;
for (I=1;I<=9;I=I+4)
{for (J=I;J<=9;J=J+3)
{T=T+N;
N=N+X;
X=X+J;
}
printf(“%i”, T);
}
}
2. Apa yang tercetak dari susunan program berikut ini (Masukkan Nilai N
dengan menggunakan 1 digit terakhir NIM anda)
#include<stdio.h>
void main ()
{int I,J,N,X;
printf(“Input Nilai = “);
scanf(“%i”, &N);
X=(N+5)/3;
for (I=1;I<=2;I=I+1)
{for (J=1;J<=3;J=J+1)
{printf(“%i”, N);
N=N+X;
}
printf(“\n”);
}
}
40
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
3. Buatlah susunan program dalam bahasa C dari hasil cetak berikut ini:
1 2 3 4 5
6 7 8 9
10 11 12
13 14
15
4. Apa yang tercetak dari susunan program berikut ini (Masukkan Nilai N
dengan menggunakan 2 digit terakhir NIM anda)
#include<stdio.h>
void main ()
{int A,B,N,X,Y;
printf(“Input Nilai = ”);
scanf(“%i”, &N);
if (N>=0)
{A=6; B=8;}
if (N>=25)
{A=9; B=12;}
if (N>=50)
{A=12; B=16;}
if (N>=75)
{A=6; B=18;}
X=A;
Y=B;
while (X!=Y)
{if (X<Y)
{X=X+A;}
else
{Y=Y+B;}
}
printf(“%i”, X);
}
41
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
5. Apa yang tercetak dari susunan program berikut ini (Masukkan Nilai N
dengan menggunakan 1 digit terakhir NIM anda)
#include<stdio.h>
void main ()
{int I,J,N,X;
printf(“Input Nilai = ”);
scanf(“%i, &N”);
for (I=1;I<=5;I=I+1)
{X=N;
for (J=I;J<=5;J=J+2)
{printf(“%i, X”);
X=X+I;
}
}
}
6. Apa yang tercetak dari susunan program berikut ini (Masukkan Nilai N
dengan menggunakan 2 digit terakhir NIM anda)
#include<stdio.h>
void main ()
{int B,N,T,X;
if (N>50) N=N-49;
if (N<51) N=N+20;
if (N>40) N=N-30;
if (N<21) N=N+10;
B=N+100;
T=0;
X=5;
while (T<=B)
{T=T+N;
printf(“%4i”, T);
N=N+X;
X=X+2;
}
}
42
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
#include<stdio.h>
void main ()
{int A,B,C;
if (A>C)
{if (C<B)
…………………
…………………
…………………
…………………
…………………
…………………
…………………
}
else
{if (A>B)
…………………
…………………
…………………
…………………
…………………
…………………
…………………
}
}
8. Susun algoritma untuk menginput tiga buah bilangan. Cetak perkataan “ADA”,
bila salah satu bilangan lebih besar dari jumlah dua buah bilangan yang lain.,
selainnya (bila tidak) cetak perkataan “TIDAK ADA”.
43
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 1
T=0
X=5
44
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 2
N=4
X=(4+5)/3=3
N=N+X
I J N X printf “N”
Menjadi N
1 1 4 3 4 7
1 2 7 3 7 10
1 3 10 3 10 13
2 1 13 3 13 16
2 2 16 3 16 19
2 3 19 3 19 22
13 16 19
45
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 3
mendatar 5 dari hasil cetak program disamping menunjukkan I
J
sebagai pembentuk cetakkan menurun dan tidak
1 2 3 4 5
berkurang seperti J yang mencetak mendatar. Ini
menurun 5
13 14
15
I
N=N+1 N=N+1
I J N printf “N” I J N printf “N”
Menjadi N Menjadi N
1 1 0 1 1 1 1 1 1 2
1 2 1 2 2 1 2 2 2 3
1 3 2 3 3 1 3 3 3 4
1 4 3 4 4 1 4 4 4 5
1 5 4 5 5 1 5 5 5 6
2 2 5 6 6 2 2 6 6 7
2 3 6 7 7 2 3 7 7 8
2 4 7 8 8 2 4 8 8 9
2 5 8 9 9 2 5 9 9 10
3 3 9 10 10 3 3 10 10 11
3 4 10 11 11 3 4 11 11 12
3 5 11 12 12 3 5 12 12 13
4 4 12 13 13 4 4 13 13 14
4 5 13 14 14 4 5 14 14 15
5 5 14 15 15 5 5 15 15 16
#include<stdio.h> #include<stdio.h>
void main () void main ()
{int I,J,N; {int I,J,N;
N=0; N=1;
for (I=1;I<=5;I=I+1) for (I=1;I<=5;I=I+1)
{for (J=I;J<=5;J=J+1) {for (J=I;J<=5;J=J+1)
{N=N+1; {printf("%4i", N);
printf("%4i", N); N=N+1;
} }
printf("\n"); printf("\n");
} }
} }
46
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 4
X=A
Y=B
if X<Y
X Y X!=Y printf “X”
X=X+A Y=Y+B
6 8 True 12 12
12 8 True 16 12
12 16 True 18 18
18 16 True 24 18
18 24 True 24 24
24 24 False
tercetak:
24
47
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 5
N=4
X=N
I J=I printf “X” X=X+I
Menjadi X
1 4 1 4 5
1 5 3 5 6
1 6 5 6 7
2 4 2 4 6
2 6 4 6 8
3 4 3 4 7
3 7 5 7 10
4 4 4 4 4
5 4 5 4 4
48
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 6
N=24
B=24+100
T=0
X=5
tercetak:
24 53 89 134
49
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 7
#include<stdio.h>
void main ()
{int A,B,C;
if (A>C) AC
{if (C<B) A
BC
{if (B<A) ABC
else
else
{if (A>B) C
AB
printf(“%i”, C); CAB
else
{if (C>B)
50
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 8
#include<stdio.h>
void main ()
{int A,B,C,X,Y,Z;
X=B+C;
Y=A+C;
Z=A+B;
if (A>X)
printf(“ADA”);
else
if (B>Y)
printf (“ADA”);
else
if (C>Z)
printf(“ADA”);
else
printf(“TIDAK ADA”);
51
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 1.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
5 10 15 20 25 30 35
int B[7] = {35,30,25,20,15,10,5 }; 35 30 25 20 15 10 5
int I;
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
5 10 15 20 25 30 35 35 30 25 20 15 10 5
52
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 2.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
5 10 15 20 25 30 35
int B[7] = {35,30,25,20,15,10,5 }; 5 10 15 20 25 30 35
int I;
for(I=0;I<=6;I++)
{ B[ I ] = A[ I ] ;
}
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
5 10 15 20 25 30 35 5 10 15 20 25 30 35
53
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 3.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
5 10 15 20 25 30 35
int B[7] = {35,30,25,20,15,10,5 }; 35 30 25 20 15 10 5
int I;
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
5 10 15 20 25 30 35 35 30 25 20 15 10 5
54
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 4.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
5 10 15 20 25 30 35
int B[7] = {35,30,25,20,15,10,5 }; 35 30 25 20 25 30 35
int I;
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
5 10 15 20 25 30 35 35 30 25 20 25 30 35
I A[7] B[7] A[I] B[I] A[I]>B[I] B[I]=A[I] printf “A[I]” printf “B[I]”
0 5 35 A[0]=5 B[0]=35 False - 5 35
1 10 30 A[1]=10 B[1]=30 False - 10 30
2 15 25 A[2]=15 B[2]=25 False - 15 25
3 20 20 A[3]=20 B[3]=20 False - 20 20
4 25 15 A[4]=25 B[4]=15 True B[2]=A[4] 25 25
5 30 10 A[5]=30 B[5]=10 True B[1]=A[5] 30 30
6 35 5 A[6]=35 B[6]=5 True B[0]=A[6] 35 35
55
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 5.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
5 10 15 20 15 10 5
int B[7] = {35,30,25,20,15,10,5 }; 35 30 25 20 25 30 35
int I, X;
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
5 10 15 20 15 10 5 35 30 25 20 25 30 35
56
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 6.
#include<stdio.h> Tercetak:
void main()
{ int A[7] = {5,10,15,20,25,30,35 };
35 30 25 20 25 30 35
int B[7] = {35,30,25,20,15,10,5 }; 5 10 15 20 15 10 5
int I, X;
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",A[I] );
printf("\n");
for(I=0; I<=6; I++)
printf("%4i",B[I] );
}
A[I] B[I]
0 1 2 3 4 5 6 0 1 2 3 4 5 6
35 30 25 20 25 30 35 5 10 15 20 15 10 5
57
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 7.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {5,10,15 };
int B[5] = {35,30,25,20,15 }; 15
int I,J, X;
X=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
X = A[I] ;
}
}
printf("\n");
printf("%i", X );
}
A[I] B[J]
0 1 2 0 1 2 3 4
5 10 15 35 30 25 20 15
58
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 8.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {10,20,30 };
int B[5] = {35,30,25,20,15 }; 30
int I,J, X;
X=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
X = A[I] ;
}
}
printf("\n");
printf("%i", X );
}
A[I] B[J]
0 1 2 0 1 2 3 4
10 20 30 35 30 25 20 15
59
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 9.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {5,10,15 };
int B[5] = {35,30,25,20,15 }; 1
int I,J, Jum;
Jum=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
Jum++;
}
}
printf("\n");
printf("%i", Jum );
}
A[I] B[J]
0 1 2 0 1 2 3 4
5 10 15 35 30 25 20 15
60
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 10.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {10,20,30 };
int B[5] = {35,30,25,20,15 }; 2
int I,J, Jum;
Jum=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
Jum++;
}
}
printf("\n");
printf("%i", Jum );
}
A[I] B[J]
0 1 2 0 1 2 3 4
10 20 30 35 30 25 20 15
61
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 11.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {5,10,15 };
int B[5] = {35,30,25,20,15 }; 0000000000015
int I,J, X;
X=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
X = A[I] ;
printf(“%i”, X);
}
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
5 10 15 35 30 25 20 15
62
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 12.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {5,10,15 };
0000
int B[5] = {35,30,25,20,15 }; 0000
int I,J, X; 00015
X=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
X = A[I] ;
printf("%i", X);
}
printf("\n");
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
5 10 15 35 30 25 20 15
63
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 12.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {5,10,15 };
0
int B[5] = {35,30,25,20,15 }; 0
int I,J, X; 15
X=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
X = A[I] ;
}
printf("%i", X);
printf("\n");
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
5 10 15 35 30 25 20 15
64
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 13.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {10,20,30 };
int B[5] = {35,30,25,20,15 }; 000000001112222
int I,J, Jum;
Jum=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
Jum++;
printf("%i", Jum );
}
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
10 20 30 35 30 25 20 15
65
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 14.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {10,20,30 };
00000
int B[5] = {35,30,25,20,15 }; 00011
int I,J, Jum; 12222
Jum=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
Jum++;
printf("%i", Jum );
}
printf(“\n”);
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
10 20 30 35 30 25 20 15
66
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 15.
#include<stdio.h> Tercetak:
void main()
{ int A[3] = {10,20,30 };
0
int B[5] = {35,30,25,20,15 }; 1
int I,J, Jum; 2
Jum=0;
for( I=0; I<=2; I++ )
{ for(J=0; J<=4; J++)
{ if(A[I] == B[J] )
Jum++;
}
printf(“% i”, Jum);
printf(“\n”);
}
}
A[I] B[J]
0 1 2 0 1 2 3 4
10 20 30 35 30 25 20 15
67
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 16.
#include<stdio.h> Tercetak:
void main ()
{ int A[3] = {15, 25, 17 };
22 25 22
int B[7] = {10, 7, 12, 15, 18, 22, 3 };
int I,K,X;
for( K = 0; K<=2; K++ )
{ X = A[K];
for( I=0; I<=6; I++ )
{ if(B[I] > X )
{ X = B[I];
}
}
printf("%i ", X );
}
}
A[K] B[I]
0 1 2 0 1 2 3 4 5 6
15 25 17 10 7 12 15 18 22 3
68
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 17.
#include<stdio.h> Tercetak:
void main ()
{ int A[3] = {15, 25, 17 };
15 15 15 15 18 22 22
int B[7] = {10, 7, 12, 15, 18, 22, 3 }; 25 25 25 25 25 25 25
int I,K,X; 17 17 17 17 18 22 22
for( K = 0; K<=2; K++ )
{ X = A[K];
for( I=0; I<=6; I++ )
{ if(B[I] > X )
{ X = B[I];
}
printf("%i ", X );
}
printf(”\n”)
}
A[K] B[I]
0 1 2 0 1 2 3 4 5 6
15 25 17 10 7 12 15 18 22 3
69
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 18.
#include<stdio.h> Tercetak:
void main ()
{ int A[3] = {15, 25, 17 };
22
int B[7] = {10, 7, 12, 15, 18, 22, 3 };
int I,K,X;
for( K = 0; K<=2; K++ )
{ X = A[K];
for( I=0; I<=6; I++ )
{ if(B[I] > X )
{ X = B[I];
}
}
}
printf(”% i”, X);
}
A[K] B[I]
0 1 2 0 1 2 3 4 5 6
15 25 17 10 7 12 15 18 22 3
70
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 19.
#include<stdio.h> Tercetak:
void main ()
12 10 5 15 17 22 25
{ int A[7] = {15,12,17,25,10,5,22};
int I,K, X;
for(K=1; K<=3; K++)
{ for( I=0; I<=5; I++ )
{ if (A[I] > A[I+1] )
{ X = A[I];
A[I] = A[I+1];
A[I+1] = X;
}
}
}
for( I=0; I<=6; I++ )
{ printf("%i ", A[I] );
} A[I]
}
0 1 2 3 4 5 6
15 12 17 25 10 5 22
71
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 20.
#include<stdio.h> Tercetak:
void main ()
{ char A[26] = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
A B C D E
int I,J,N; F G H I J
N=0; K L M N O
for( I = 1; I<=3; I++ )
{ for( J=1; J<=5; J++ )
{ printf(”% c”, A[N]);
N=N+1;
}
printf(”\n”);
}
}
A[N]
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
N=0;
I I<=3 I++
printf “A[N]” N=N+1
1 True 2 I J N
menjadi N
2 True 3
1 1 0 0[A] 1
3 True 4
2 1 1[B] 2
4 False
3 2 2[C] 3
4 3 3[D] 4
J J<=5 J++
5 4 4[E] 5
1 True 2
2 1 5 5[F] 6
2 True 3
2 6 6[G] 7
3 True 4
3 8 8[H] 9
4 True 5
4 9 9[I] 10
5 True 6
5 10 10[J] 11
6 False
3 1 11 11[K] 12
2 12 12[L] 13
3 13 13[M] 14
4 14 14[N] 15
5 16 16[O] 17
72
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1
Soal 21.
#include<stdio.h> Tercetak:
void main ()
{ char A[26] = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
A B C D E
int I,J,N; F G H I
N=0; J K L
for( I = 1; I<=3; I++ )
{ for( J=I; J<=5; J++ )
{ printf(”% c”, A[N]);
N=N+1;
}
printf(”\n”);
}
}
A[N]
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
N=0;
I I<=3 I++
printf “A[N]” N=N+1
1 True 2 I J N
menjadi N
2 True 3
1 1 0 0[A] 1
3 True 4
1 2 1 1[B] 2
4 False
1 3 2 2[C] 3
1 4 3 3[D] 4
1 5 4 4[E] 5
2 2 5 5[F] 6
2 3 6 6[G] 7
2 4 8 8[H] 9
2 5 9 9[I] 10
3 3 10 10[J] 11
3 4 11 11[K] 12
3 5 12 12[L] 13
73