46959704-algoritma-dan-struktur-data-1 (2).pdf
DESCRIPTION
tutorial struktur dataTRANSCRIPT
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
1
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
Cara 1.
#include void main (){int A,B,T; A=5; B=2; T=A+B; printf("Total = %i ", T);}
Cara 2
#include void main (){int A,B,T; A=5; B=2; printf("Total = %i ", T=A+B);}
Bahasa C++
Cara 1.
#include void main (){int A,B,T; A=5; B=2; T=A+B; cout
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
2
Bahasa C
Cara 1.
#include void main (){int A,B,T; scanf("%i", &A); scanf("%i", &B); T=A+B; printf("\nTotal Bilangan = %i ", T);}
Cara 2
#include void main (){int A,B,T; scanf("%i", &A); scanf("%i", &B); printf("\nTotal Bilangan = %i ", T=A+B);}
Soal-2
Input 2 Bilangan & Cetak Total
Bahasa C++
Cara 1.
#include void main (){int A,B,T; cin >> A; cin >> B; T=A+B; cout
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
3
Soal-2
Bahasa C
Cara 1.
#include void main (){int A,B,T; printf("Bilangan 1 = "); scanf("%i", &A); printf("Bilangan 2 = "); scanf("%i", &B); T=A+B; printf("\nTotal Bilangan = %i", T);}Cara 2
#include void main (){int A,T; T=0; printf("Bilangan 1 = "); scanf("%i", &A); T=A+T; printf("Bilangan 2 = "); scanf("%i", &A); T=A+T; printf("\nTotal Bilangan = %i ", T);}
Bahasa C++
Cara 1.
#include void main (){int A,B,T; cout > A; cout > B; T=A+B; cout A;T=A+T;cout
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
4
Susun program untuk menginput 4 buah bilangan bulat, kemudian mencetak total keempat buah bilangantersebut
Soal-3
Input 4 Bilangan & Cetak Total
Bahasa C
Cara 1.
#include void main (){int A,B,C,D,T;scanf("%i %i %i %i", &A,&B,&C,&D);T=A+B+C+D;printf("\nTotal Bilangan = %i ", T);}
Bahasa C
Cara 2.
#include void main (){int A,T;T=0;scanf("%i", &A);T=A+T;scanf("%i", &A);T=A+T;scanf("%i", &A);T=A+T;scanf("%i", &A);T=A+T;printf("\nTotal Bilangan = %i ", T);}
START
T=A+B+C+D
printf T
END
scanf A,B,C,D
Bahasa CMenggunakan cara LOOPCara 3.
#include void main (){int A,T,I;T=0;for (I=1;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
5
Susun algoritma untuk mencetak LUAS sebuah segitiga bila diketahui ALAS = 7 cm, dan TINGGI = 5 cm
Soal-4
Mencetak Luas Segitiga
Bahasa C
Cara 1.
#include void main (){int A,T; float L; A=7; T=5; L=A*T/2.0; printf("Luas Segitiga = %6.1f cm", L);}
Cara 2
#include void main (){float A,T,L; A=7; T=5; L=A*T/2; printf("Luas Segitiga = %6.1f cm", L);}
Bahasa C++
Cara 1.
#include void main (){float A,T,L; A=7; T=5; L=A*T/2; cout
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
6
Soal-5
Konversi Detik ke Jam, Menit & Detik
Bahasa C
Cara 1.
#include 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 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);
}
7425
Detik
2
JJ = Detik/3600
7200Y = Detik - X
X = J*3600
225 3M = Y/60
Y M
180
Z = M*60
D = Y - Z
3 D
Cara 3.#include 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);}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
7
Soal-5
Konversi Detik ke Jam, Menit & Detik Menggunakan Modulus % (Sisa Pembagian)
7425
Detik
2
JJ = Detik/3600
225 3Y M
45
Y = Detik%3600
M = Y/60
D = Y%60D
Bahasa C
Cara 1.
#include 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 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);}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
8
Pertemuan 2 24/11/2010
Dosen: Moh.Sjukani
Gambarkan flowchart program berikut ini:Soal 1a. Apa yang tercetak bila untuk program 1a diinput nilai N =A) 85B) 64
JawabA) AB) C
Soal Latihan Mandiri 1
Soal-1a
START
scanf
N>=80
END
N
printf AN>=70
printf B
printf D
printf C
printf E
N>=60
N>=40
#include void main (){int N; scanf("%i", &N); if (N>=80) printf("A"); else if (N>=70) printf("B"); else if (N>=60) printf("C"); else if (N>=40) printf("D"); else printf("E");}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
9
Gambarkan flowchart program berikut ini:Soal 1b. Apa yang tercetak bila untuk program 1a diinput nilai N =A) 85B) 64
JawabA) AB) C
Soal-1b
Soal Latihan Mandiri 1
START
scanf N
N>=40
printf E N>=60
printf D N>=70
printf C N>=80
printf B printf A
END
#include void main (){int N; scanf("%i", &N); if (N>=40) if (N>=60) if (N>=70) if (N>=80) printf("A"); else printf("B"); else printf("C"); else printf("D"); else printf("E");}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
10
Susun program (penggalan program) dalam bahasa c untuk flowchart gambar diatas
Soal-2
Soal Latihan Mandiri 1
START
scanf
A>B
A,B,C
A>CB>C
scanfscanfscanfscanf ACBC
START
#include 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"); }}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
11
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilaisebagai berikut:A) 5, 7, 10 tercetak: 10B) 5, 10, 7 tercetak: 10C) 7, 5, 10 tercetak: 10D) 7, 10, 5 tercetak: 10E) 10, 5, 7 tercetak: 10F) 10, 7, 5 tercetak: 10
Soal-3
Soal Latihan Mandiri 1
START
scanf
A>B
A,B,C
A>CB>C
scanfscanfscanfscanf ACBC
START#include 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); }}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
12
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilaisebagai berikut:A) 5, 7, 10 tercetak: 10B) 5, 10, 7 tercetak: 7C) 7, 5, 10 tercetak: 10D) 7, 10, 5 tercetak: 10E) 10, 5, 7 tercetak: 7F) 10, 7, 5 tercetak: 10
Soal-4
Soal Latihan Mandiri 1
START
scanf
A>B
A,B,C
B>CA>C
scanfscanfscanfscanf ACBC
START
#include 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); }}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
13
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilai A,B, dan C berturut-turut diinputkan nilaisebagai berikut:A) 5, 7, 10 tercetak: 10B) 5, 10, 7 tercetak: 7C) 7, 5, 10 tercetak: 10D) 7, 10, 5 tercetak: 10E) 10, 5, 7 tercetak: 7F) 10, 7, 5 tercetak: 10
Soal-5
Soal Latihan Mandiri 1
START
scanf
A>B
A,B,C
A>CB>C
scanfscanfscanfscanf ACBC
START#include 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); }}
Dari hasil (jawaban) yang diperoleh dari soal-4, dapat diambilkesimpulan bahwa flowchart gambar diatas menggambarkanalgoritma yang tidak mencetak salah satu bilangan yangnilainya terbesar dari 3 buah bilangan yang diinput
Jawaban : Salah
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
14
Lanjutkan flowchart gambar dibawah sehingga maksudnya menggambarkan algoritma yang mencetak salahsatu bilangan yang nilainya terbesar dari 3 buah bilangan yang diinput
Periksa flowchart gambar diatas, apa yang tercetak bila untuk nilaiA,B, dan C berturut-turut diinputkan nilai sebagai berikut:A) 5, 7, 10 tercetak: 10B) 5, 10, 7 tercetak: 10C) 7, 5, 10 tercetak: 10D) 7, 10, 5 tercetak: 10E) 10, 5, 7 tercetak: 10
F) 10, 7, 5 tercetak: 10
Pembuktian algoritma yg mencetak salah satu bilangan yangnilainya terbesar dari 3 buah bilangan yg diinput ternyata BENAR.ini terbukti dari nilai 10 yg selalu tercetak dalam 6 kali pengecekkan.
Soal-6
Soal Latihan Mandiri 1
START
scanf
A>B
A,B,C
B>CA>C
printfprintf AC
END
C>B
printf Cprintf B
C>A
printf Cprintf A
#include void main (){int A,B,C; scanf("%i %i %i", &A,&B,&C); if (A>B) {if (B>C) printf("%i", A); else {if (C>A) printf("%i", C); else printf(%i, A); } } else {if (A>C) printf("%i", B); else {if (C>B) printf("%i", C); else printf(%i, B); } }}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
15
Soal-7
Soal Latihan Mandiri 1
STAR
T
scanf
A>B
A,B
,C
B>C
A>C
scanfscanf
scanfscanf
56
78
STAR
T
C>B
C>B
C>A
C>A
scanfscanf
scanfscanf
13
42
Untuk semua kemungkinan nilai A,B, dan C pd flowchart diatas dari 8 jalur yang adatunjukkan jalur mana saja yang tidak pernah dilaluiKemungkinan kombinasi nilai A,B dan C sebagai contoh adalah sbb:A) 5, 7, 10 tercetak: 7B) 5, 10, 7 tercetak: 8C) 7, 5, 10 tercetak: 3D) 7, 10, 5 tercetak: 6E) 10, 5, 7 tercetak: 4F) 10, 7, 5 tercetak: 2
Jadi jalur yang tidak terlewati adalah 1 & 5
#include void main (){int A,B,C;scanf("%i %i %i", &A,&B,&C);if (A>B)
{if (B>C)if (C>A)
printf(1);else
printf(2);else
if (C>A)printf(3);
elseprintf(4);
}else
{if (A>C)if (C>B)
printf(5);else
printf(6);else
if (C>B)printf(7);
elseprintf(8);
}}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
16
Susun algoritma untuk menginput 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksaketiga buah garis tersebut. Bila ketiga buah garis (sisi) tersebut panjangnya sama, maka cetak perkataan SAMA SISI. Bila hanya duasisi yang sama maka cetak perkataan SAMA KAKI. Tapi bila ketiga-tiganya tidak sama maka cetak perkataan SEMBARANG.
Soal Latihan Mandiri 1
Soal-8
START
scanf
A==B
A,B,C
A==CB==C
printfprintf printfA==C
printfprintf
START
SAMA SISISAMA KAKISAMAKAKI
SAMA KAKISEMBARANG
#include void main (){int A,B,C; scanf("%i %i %i", &A,&B,&C); if (A==B) {if (A==C) printf("Sama Sisi"); else printf("Sama Kaki"); } else {if (B==C) printf("Sama Kaki"); else {if (A==C) printf("Sama Kaki"); else printf("Sembarang"); } }}
1
2
3
4
5
6
4
4
3
3
2
2
2
3
3
4
4
2
4
3
2
3
4
2
SAMA KAKI
SAMA KAKI
SAMA KAKI
SAMA KAKI
SEMBARANG
SAMA SISI
Pengecekan Program,terdapat 6 kali pengecekkan
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
17
START
scanf
A>B
B>C
A>C printf
printf printf
A>C
printfB>C
printfprintf
START
A,B,C
ABBA
ABCCAB
CAB ACB
A,B,C
C,A,B A,C,B
BAC
B,A,C
CBA
CBA
C,B,A
BCA
B,C,A
#include void main (){int A,B,C; scanf("%i %i %i", &A,&B,&C); if (A>B) {if (B>C) printf("%i %i %i", A,B,C); else if (A>C) printf("%i %i %i", A,C,B); else printf("%i %i %i", C,A,B); } else {if (A>C) printf("%i %i %i", B,A,C); else if (B>C) printf("%i %i %i", B,C,A); else printf("%i %i %i", C,B,A); }}
Susun algoritma untuk menginput 3 buah bilangan (anggap ketiga buah bilangan tersebut nilainyatidak sama satu dengan yang lainnya). Kemudian cetak ketiga buah bilangan tersebut urut mulai daribilangan yang nilainya terbesar sampai dengan nilai yang terkecil
Jawaban:A = 9B = 0C = 4
Hasil:9 4 0
Soal-9
Soal Latihan Mandiri 1
A>B ? AB??AB
A>B ? AB : A1 B2B>C ? BC : B1 C2Maka urutan 1=A 2=B 3=CUrut ke-2: BUrut ke-1: AKomputer membaca urut ke-2 ke ke-1 danketika dibandingkan A>B maka tercetak Adi urut 1 sebagai yang paling besar,kemudian B, diurut 2, kemudian C diurut 3sebagai yang paling kecil??ABC
A>B ? AB : A1 B2BA atau CB ? AB : A1 B2BC ? AC : A1 C2Maka urutan 1=A 2=C 3=BUrut ke-3: AUrut ke-2: CUrut ke-1: AKomputer membaca urut ke-3 ke ke-2 keke-3 dan ketika dibandingkan A lebihbesar dari C di urut 3 dan B diurut 1,maka A paling besar. Kemudian yangterbesar kedua adl C karena pada urutke-2 C>B maka C tercetak kedua setelahA. kemudian yang paling kecil adalah Bkarena lebih kecil dari C di urut 2 dandari A di urut 1??ACB
A>B ? AB : A1 B2B
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
18
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.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.
Soal Latihan Mandiri 1
Soal-10
START
J = 0
scanf
A>=60
B>=60
J = J + 1
C>=60
J = J + 1
J = J + 1
J==3
printf
A,B,C
J==2
printfJ==1
printfprintf
END
Tiga
Dua
SatuNol
#include void main (){int J,A,B,C; J=0; scanf("%i %i %i", &A,&B,&C); if (A>=60) J=J+1; if (B>=60) J=J+1; if (C>=60) J=J+1; if (J==3) printf("Tiga"); else if (J==2) printf("Dua"); else if (J==1) printf("Satu"); else printf("Nol");}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
19
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 jam24:00:00Contoh:Bila Jam Keberangkatan = 8 : 45 : 30Dan Jam Kedatangan = 10 : 20 : 17Maka 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 dalamperjalanan adalah 1 jam 34 menit dan 47 detik
Soal Latihan Mandiri 1
Soal-11
START
scanf Jam,Detik,Menit,A,B,C,D,E,F,G,H,I,J,K,L,X,S
printf
Jam KeberangkatanMenit KeberangkatanDetik KeberangkatanJam KedatanganMenit KedatanganDetik Kedatangan
G=A*3600;H=B*60;I=G+H+C;
J=D*3600;K=E*60;L=J+K+F;
S=L-I;
Jam=S/3600;X=S%3600;Menit=X/60;Detik=X%60;
printf
START
Jam,Detik,Menit
#include void main (){long int Jam,Detik,Menit,A,B,C,D,E,F,G,H,I,J,K,L,X,S; printf("Jam Keberangkatan = "); scanf("%li", &A); printf("Menit Keberangkatan = "); scanf("%li", &B); printf("Detik Keberangkatan = "); scanf("%li", &C); printf("\nJam Kedatangan = "); scanf("%li", &D); printf("Menit Kedatangan = "); scanf("%li", &E); printf("Detik Kedatangan = "); scanf("%li", &F); G=A*3600; H=B*60; I=G+H+C; J=D*3600; K=E*60; L=J+K+F; S=L-I;; Jam=S/3600; X=S%3600; Menit=X/60; Detik=X%60; printf("\nLama Perjalanan = %li : %li : %li ", Jam, Menit, Detik);}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
20
Array Satu Dimensi
Soal 1. Apa yang tercetak darisusunan program berikut ini
#include
void main ()
{int A[7];
int I;
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
21
Soal 5. Apa yang tercetak darisusunan program berikut ini
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
A[2]=A[3];
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
22
Soal 9. Apa yang tercetak darisusunan program berikut ini
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
for (I=0;IA[I+1])
{A[I+1]=A[I];
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
23
Soal 11. Apa yang tercetak darisusunan program berikut ini
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int B[7];
int I;
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
24
Soal 13. Apa yang tercetak darisusunan program berikut ini
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int B[7]={10,27,12,15,18,12,3};
int I,X;
for (I=0;IB[I])
{X=B[I];
B[I]=A[I];
A[I]=X;
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
25
Jawaban Soal Array Satu Dimensi
Soal 1.
0 1 2 3 4 5 6
1 2 3 4 5 6 7
0 1 2 3 4 5 6
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
26
Soal 2.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 1 2 3 4 5 615 12 17 25 10 5 22
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
27
Soal 3.
0 1 2 3 4 5 615 12 17 25 10 5 22
50
0 1 2 3 4 5 615 12 17 50 10 5 22
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
28
Soal 4.
0 1 2 3 4 5 615 12 17 25 10 5 22
50
0 1 2 3 4 5 615 12 17 50 10 5 22
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
29
Soal 5.
0 1 2 3 4 5 615 12 17 25 10 5 22
25 25
0 1 2 3 4 5 615 12 25 25 10 5 22
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
30
Soal 6.
0 1 2 3 4 5 615 12 17 25 10 5 22
25 25
0 1 2 3 4 5 615 12 25 25 10 5 22
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
31
Soal 7.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 12 12 17 25 10 5 221 12 17 17 25 10 5 222 12 17 25 25 10 5 223 12 17 25 10 10 5 224 12 17 25 10 5 5 225 12 17 25 10 5 22 22
12 17 25 10 5 22 22
atau
I I 17 172 True 3 17 2 True 3 A[2]=A[3] => 25 253 True 4 25 3 True 4 A[3]=A[4] => 10 104 True 5 10 4 True 5 A[4]=A[5] => 5 55 True 6 5 5 True 6 A[5]=A[6] => 22 226 True 7 22 6 False Keluar Loop 227 False Keluar Loop
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
32
Soal 8.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 15 15 17 25 10 5 221 15 15 15 25 10 5 222 15 15 15 15 10 5 223 15 15 15 15 15 5 224 15 15 15 15 15 15 225 15 15 15 15 15 15 15
15 15 15 15 15 15 15
atau
I I 15 152 True 3 17 2 True 3 A[3]=A[2] => 15 153 True 4 25 3 True 4 A[4]=A[3] => 15 154 True 5 10 4 True 5 A[5]=A[5] => 15 155 True 6 5 5 True 6 A[6]=A[5] => 15 156 True 7 22 6 False Keluar Loop 157 False Keluar Loop
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
33
Soal 9.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 15 15 17 25 10 5 221 15 15 17 25 10 5 222 15 15 17 25 10 5 223 15 15 17 25 25 5 224 15 15 17 25 25 25 225 15 15 17 25 25 25 25
15 15 17 25 25 25 25
atau
I IA[1] =>True 15 151 True 2 12 1 True 2 A[1]>A[2] => False - 152 True 3 17 2 True 3 A[2]>A[3] => False - 173 True 4 25 3 True 4 A[3]>A[4] => True 25 254 True 5 10 4 True 5 A[4]>A[5] => True 25 255 True 6 5 5 True 6 A[5]>A[6] => True 25 256 True 7 22 6 False Keluar Loop 257 False Keluar Loop
21
5
4
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I;
for (I=0;IA[I+1])
{A[I+1]=A[I];
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
34
Soal 10.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 12 15 17 25 10 5 221 12 15 17 25 10 5 222 12 15 17 25 10 5 223 12 15 17 10 25 5 224 12 15 17 10 5 25 225 12 15 17 10 5 22 25
12 15 17 10 5 22 25
atau
I IA[1]=>True 15 12 15 12
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 4A[3]>A[4]=> True 25 10 25 10
4 True 5 10 4 True 5A[4]>A[5]=> True 25 5 25 5
5 True 6 5 5 True 6 A[5]>A[6]=> True
25 22 25 22
6 True 7 22 6 False Keluar Loop 257 False Keluar Loop
2
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int I,X;
for (I=0;IA[I+1])
{X=A[I];
A[I]=A[I+1];
A[I+1]=X;
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
35
Soal 11.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 1 2 3 4 5 615 12 17 25 10 5 22
atau
I A[I]=A[7] printf A[I] B[I]=A[I] printf B[I]0 15 15 15 151 12 12 12 122 17 17 17 173 25 25 25 254 10 10 10 105 5 5 5 56 22 22 22 22
#include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int B[7];
int I;
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
36
Soal 12.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 1 2 3 4 5 610 27 12 15 18 12 3
I A[I]=A[7] B[I]=B[7]if
A[I]>B[I] B[I]=A[I]printfA[I]
printfB[I]
0 15 10 True 15 15 151 12 27 False - 12 272 17 12 True 17 17 173 25 15 True 25 25 254 10 18 False - 10 185 5 12 False - 5 126 22 3 True 22 22 22
B[I]A[I] #include
void main ()
{int A[7]={15,12,17,25,10,5,22};
int B[7]={10,27,12,15,18,12,3};
int I;
for (I=0;IB[I])
{B[I]=A[I];
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
37
Soal 13.
0 1 2 3 4 5 615 12 17 25 10 5 22
0 1 2 3 4 5 610 27 12 15 18 12 3
I A[I]=A[7] B[I]=B[7]if
A[I]>B[I] X=B[I]B[I]=A[I]
A[I]=X
printfA[I]
printfB[I]
0 15 10 True 10 15 10 10 151 12 27 False - - - 12 272 17 12 True 12 17 12 12 173 25 15 True 15 25 15 15 254 10 18 False - - - 10 185 5 12 False - - - 5 126 22 3 True 3 22 3 3 22
B[I]A[I] #include
void main ()
{intA[7]={15,12,17,25,10,5,22};
int B[7]={10,27,12,15,18,12,3};
int I,X;
for (I=0;IB[I])
{X=B[I];
B[I]=A[I];
A[I]=X;
}
}
for (I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
38
Soal 13.
0 1 215 12 17
K A[K]=A[3] X=A[K] I B[I] if B[I]>X X=B[I] printf X0 15 15 0 10 False -1 25 25 1 17 False -2 17 17 2 12 False -
15 3 15 False -25 4 18 False -17 5 22 True 22 2215 6 3 False -
0 1 2 3 4 5 610 17 12 15 18 12 3
B[I]A[K] #include
void main ()
{int A[3]={15,25,17};
int B[7]={10,17,12,15,18,22,3};
int I,K,X;
for (K=0;K
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
40
Soal Ujian Algoritma UTS
1. Apa yang tercetak dari susunan program berikut ini (masukkan N denganmenggunakan 2 digit terakhir NIM anda)
#includevoid main (){int I,J,N,T,X; printf(Input Nilai = ); scanf(%i, &N); T=0; X=5; for (I=1;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
41
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 Ndengan menggunakan 2 digit terakhir NIM anda)
#includevoid 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
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
42
5. Apa yang tercetak dari susunan program berikut ini (Masukkan Nilai Ndengan menggunakan 1 digit terakhir NIM anda)
#includevoid main (){int I,J,N,X; printf(Input Nilai = ); scanf(%i, &N); for (I=1;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
43
7. Lanjutkan susunan program berikut ini
#includevoid main (){int A,B,C; if (A>C) {if (CB) }}
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.
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
44
Jawaban Soal Ujian Algoritma UTS
Soal 1
T=0
N=4 (diisi dengan nomor NIM 2 digit dari belakang)
X=5
I J T N X T=T+Nmjd TN=N+Xmjd N
X=X+Jmjd X
printfT
1 1 0 4 5 4 9 6 41 4 4 9 6 13 15 10 131 7 13 15 10 28 25 17 285 5 28 25 17 53 42 22 535 8 53 42 22 95 64 30 959 9 95 64 30 159 94 39 159
#includevoid main (){int I,J,N,T,X; printf(Input Nilai = ); scanf(%i, &N); T=0; X=5; for (I=1;I Bagian ini tdk diproses
ini merupakan loop pembentuktercetak:
28 95 159
2
3
1
4
3 4
1 2 ? dibaca sekali saja
? dibaca berulangkali s/d keluar loop
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
45
Soal 2
N=4
X=(4+5)/3=3
I J N X printf NN=N+X
Menjadi N1 1 4 3 4 71 2 7 3 7 101 3 10 3 10 132 1 13 3 13 162 2 16 3 16 192 3 19 3 19 22
#includevoid main (){int I,J,N,X; printf(Input Nilai = ); scanf(%i, &N); X=(N+5)/3; for (I=1;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
46
Soal 3
I J N printf N N=N+1Menjadi N1 1 1 1 21 2 2 2 31 3 3 3 41 4 4 4 51 5 5 5 62 2 6 6 72 3 7 7 82 4 8 8 92 5 9 9 103 3 10 10 113 4 11 11 123 5 12 12 134 4 13 13 144 5 14 14 155 5 15 15 16
I J N N=N+1Menjadi N printf N
1 1 0 1 11 2 1 2 21 3 2 3 31 4 3 4 41 5 4 5 52 2 5 6 62 3 6 7 72 4 7 8 82 5 8 9 93 3 9 10 103 4 10 11 113 5 11 12 124 4 12 13 134 5 13 14 145 5 14 15 15
1 2 3 4 5
6 7 8 9
10 11 12
13 14
15
mendatar 5
menurun 5
I
Jdari hasil cetak program disamping menunjukkan Isebagai pembentuk cetakkan menurun dan tidakberkurang seperti J yang mencetak mendatar. Iniberarti J mengikuti I atau J=I. Batasan Loop I dan Jadalah
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
47
Soal 4
N=4 (A=6 B=8)
X=A
Y=B
X Y X!=Yif X
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
48
Soal 5
N=4
X=N => X=4
I X=NMenjadi X J=I printf X X=X+I
1 4 1 4 51 5 3 5 61 6 5 6 72 4 2 4 62 6 4 6 83 4 3 4 73 7 5 7 104 4 4 4 45 4 5 4 4
#includevoid main (){int I,J,N,X; printf(Input Nilai = ); scanf(%i, &N); for (I=1;I Bagian ini tdk diproses4 4 True 64 6 False Keluar Loop => Bagian ini tdk diproses5 5 True 75 7 False Keluar Loop => Bagian ini tdk diproses
ini merupakan loop pembentuk
2
1 ? dibaca sekali saja
? dibaca berulangkali s/d keluar loop4
3
? untuk nilai X tidak bertambahsetiap kali pengulangan. X nilainyasama dengan N setiap kali awalpengulangan
3tercetak:
4 5 6 4 6 4 7 4 4
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
49
Soal 6
N=24
B=24+100
T=0
X=5
T N X T
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
50
Soal 7
#include
void main ()
{int A,B,C;
if (A>C)
{if (CB)
printf(%i, C);
else
printf(%i, B);
}
}
}
? AC
? ABC? ABC
? ABC
? BAC
? ACB
? CAB
? CAB
? CBA
? BCA
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
51
Soal 8
#include
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);
}
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
52
Soal 1.
I A[7] B[7] A[I] B[I] printf A[I] printf B[I]0 5 35 A[0]=5 B[0]=35 5 351 10 30 A[1]=10 B[1]=30 10 302 15 25 A[2]=15 B[2]=25 15 253 20 20 A[3]=20 B[3]=20 20 204 25 15 A[4]=25 B[4]=15 25 155 30 10 A[5]=30 B[5]=10 30 106 35 5 A[6]=35 B[6]=5 35 5
0 1 2 3 4 5 65 10 15 20 25 30 35
0 1 2 3 4 5 635 30 25 20 15 10 5
#includevoid main(){ int A[7] = {5,10,15,20,25,30,35 }; int B[7] = {35,30,25,20,15,10,5 }; int I;
printf("\n"); for(I=0; I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
53
Soal 2.
I A[7] B[7] A[I] B[I] B[I]=A[I] printf A[I] printf B[I]0 5 35 A[0]=5 B[0]=35 B[0]=A[0] 5 51 10 30 A[1]=10 B[1]=30 B[1]=A[1] 10 102 15 25 A[2]=15 B[2]=25 B[2]=A[2] 15 153 20 20 A[3]=20 B[3]=20 B[3]=A[3] 20 204 25 15 A[4]=25 B[4]=15 B[4]=A[4] 25 255 30 10 A[5]=30 B[5]=10 B[5]=A[5] 30 306 35 5 A[6]=35 B[6]=5 B[6]=A[6] 35 35
0 1 2 3 4 5 65 10 15 20 25 30 35
0 1 2 3 4 5 65 10 15 20 25 30 35
#includevoid main(){ int A[7] = {5,10,15,20,25,30,35 }; int B[7] = {35,30,25,20,15,10,5 }; int I;
for(I=0;I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
54
Soal 3.
I A[7] B[7] A[I] B[I] B[6-I]=A[I] printf A[I] printf B[I]0 5 35 A[0]=5 B[0]=35 B[6]=A[0] 5 351 10 30 A[1]=10 B[1]=30 B[5]=A[1] 10 302 15 25 A[2]=15 B[2]=25 B[4]=A[2] 15 253 20 20 A[3]=20 B[3]=20 B[3]=A[3] 20 204 25 15 A[4]=25 B[4]=15 B[2]=A[4] 25 155 30 10 A[5]=30 B[5]=10 B[1]=A[5] 30 106 35 5 A[6]=35 B[6]=5 B[0]=A[6] 35 5
0 1 2 3 4 5 65 10 15 20 25 30 35
0 1 2 3 4 5 635 30 25 20 15 10 5
#includevoid main(){ int A[7] = {5,10,15,20,25,30,35 }; int B[7] = {35,30,25,20,15,10,5 }; int I;
for( I=0; I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
55
Soal 4.
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 351 10 30 A[1]=10 B[1]=30 False - 10 302 15 25 A[2]=15 B[2]=25 False - 15 253 20 20 A[3]=20 B[3]=20 False - 20 204 25 15 A[4]=25 B[4]=15 True B[2]=A[4] 25 255 30 10 A[5]=30 B[5]=10 True B[1]=A[5] 30 306 35 5 A[6]=35 B[6]=5 True B[0]=A[6] 35 35
0 1 2 3 4 5 65 10 15 20 25 30 35
0 1 2 3 4 5 635 30 25 20 25 30 35
#includevoid main(){ int A[7] = {5,10,15,20,25,30,35 }; int B[7] = {35,30,25,20,15,10,5 }; int I;
for( I=0; I B[I] ) B[I ] = A[ I ] ; }
printf("\n"); for(I=0; I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
56
Soal 5.
I A[7] B[7] A[I] B[I] A[I]>B[I] X=B[I] B[I]=A[I] A[I]=X printfA[I]PrintfB[I]
0 5 35 A[0]=5 B[0]=35 False - - - 5 351 10 30 A[1]=10 B[1]=30 False - - - 10 302 15 25 A[2]=15 B[2]=25 False - - - 15 253 20 20 A[3]=20 B[3]=20 False - - - 20 204 25 15 A[4]=25 B[4]=15 True 15 25 15 15 255 30 10 A[5]=30 B[5]=10 True 10 30 10 10 306 35 5 A[6]=35 B[6]=5 True 5 35 5 5 35
0 1 2 3 4 5 65 10 15 20 15 10 5
0 1 2 3 4 5 635 30 25 20 25 30 35
#includevoid main(){ int A[7] = {5,10,15,20,25,30,35 }; int B[7] = {35,30,25,20,15,10,5 }; int I, X;
for( I=0; I B[I] ) { X = B[I]; B[ I ] = A[ I ] ; A[I] = X; } }
printf("\n"); for(I=0; I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
57
Soal 6.
I A[7] B[7] A[I] B[I] A[I]
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
58
Soal 7.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
59
Soal 8.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
60
Soal 9.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
61
Soal 10.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
62
Soal 11.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
63
Soal 12.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
64
Soal 12.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
65
Soal 13.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
66
Soal 14.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
67
Soal 15.
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
68
Soal 16.
X=A[K] => 15 ini untuk pertamanya saja sehabis itunilai x berubah mengikuti syarat if B[I]>X yg menjadiX=B[I]
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
69
Soal 17.
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
70
Soal 18.
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
71
Soal 19.
I I
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
72
Soal 20.
N=0;
J J
-
Lukas Sapto Aji D.S. Algoritma dan Struktur Data 1
73
Soal 21.
N=0;
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 25A 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
I I