Algoritma Dan Struktur Data 1

73
Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

Transcript of Algoritma Dan Struktur Data 1

Page 1: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

Page 2: 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 <stdio.h>void main (){int A,B,T; A=5; B=2; T=A+B; printf("Total = %i ", T);}

Cara 2

#include <stdio.h>void main (){int A,B,T; A=5; B=2; printf("Total = %i ", T=A+B);}

Bahasa C++

Cara 1.

#include <iostream.h>void main (){int A,B,T; A=5; B=2; T=A+B; cout << "Total = "; cout << T;}

START

T=A+B

printf “T”

END

Page 3: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

2

Bahasa C

Cara 1.

#include <stdio.h>void main (){int A,B,T; scanf("%i", &A); scanf("%i", &B); T=A+B; printf("\nTotal Bilangan = %i ", T);}

Cara 2

#include <stdio.h>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 <iostream.h>void main (){int A,B,T; cin >> A; cin >> B; T=A+B; cout << "\nTotal Bilangan = "; cout << T;}

START

T=A+B

printf “T”

END

scanf

scanf

“A”

“B”

Page 4: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

3

Soal-2

Bahasa C

Cara 1.

#include <stdio.h>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 <stdio.h>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 <iostream.h>void main (){int A,B,T; cout << "Bilangan 1 = "; cin >> A; cout << "Bilangan 2 = "; cin >> B; T=A+B; cout << "\nTotal Bilangan = " << T;}

START

T=A+B

printf “T”

END

scanf

scanf

“A”

“B”

printf

printf

“Bilangan 1 = “

“Bilangan 2 = “

Bahasa C++

Cara 2.

#include <iostream.h>void main (){int A,T;T=0;cout << "Bilangan 1 = ";cin >> A;T=A+T;cout << "Bilangan 2 = ";cin >> A;T=A+T;cout << "\nTotal Bilangan = " << T;}

Page 5: Algoritma Dan Struktur Data 1

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 <stdio.h>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 <stdio.h>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 <stdio.h>void main (){int A,T,I;T=0;for (I=1;I<=4;I=I+1)

{scanf("%i", &A);T=A+T;}

printf("Total Bilangan = %i ", T);}

Bahasa CCara 4.#include <stdio.h>void main (){int A,T,I;T=0;I=1;while (I<=4)

{scanf("%i", &A);T=A+T;I=I+1;

}printf("\nTotal Bilangan = %i ", T);

}

Page 6: Algoritma Dan Struktur Data 1

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 <stdio.h>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 <stdio.h>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 <iostream.h>void main (){float A,T,L; A=7; T=5; L=A*T/2; cout << "Luas Segitiga = "; cout << L;}

START

L=A*T/2.0

printf “L”

END

Page 7: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

6

Soal-5

Konversi Detik ke Jam, Menit & Detik

Bahasa C

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

}

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

Page 8: Algoritma Dan Struktur Data 1

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

Page 9: Algoritma Dan Struktur Data 1

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 “A”N>=70

printf “B”

printf “D”

printf “C”

printf “E”

N>=60

N>=40

#include <stdio.h>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");}

Page 10: Algoritma Dan Struktur Data 1

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

Page 11: Algoritma Dan Struktur Data 1

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 “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 (A>C) printf("A"); else printf("C"); } else {if (B>C) printf("B"); else printf("C"); }}

Page 12: Algoritma Dan Struktur Data 1

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

Page 13: Algoritma Dan Struktur Data 1

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

Page 14: Algoritma Dan Struktur Data 1

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

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

Page 15: Algoritma Dan Struktur Data 1

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 “A”“C”

END

C>B

printf “C”printf “B”

C>A

printf “C”printf “A”

#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 {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); } }}

Page 16: Algoritma Dan Struktur Data 1

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

“5”“6”

“7”“8”

STAR

T

C>B

C>B

C>A

C>A

scanfscanf

scanfscanf

“1”“3”

“4”“2”

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 <stdio.h>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”);

}}

Page 17: Algoritma Dan Struktur Data 1

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 SISI”“SAMA KAKI”“SAMAKAKI”

“SAMA KAKI”“SEMBARANG”

#include <stdio.h>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

Page 18: Algoritma Dan Struktur Data 1

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 <stdio.h>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 ? ABAB

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 B2B<C ? CB : C1 B2Maka urutan 1=C 2=A 3=BUrut ke-2: CUrut ke-1: AKomputer membaca urut ke-2 ke ke-1dan ketika dibandingkan belumdiketahui apakah C>A atau C<A, namunyang pasti hasil yang paling kecil adl B.karena pembacaan dimulai dari urut ke-2 dan belum bisa dipastikan mana yangpaling besar maka logika membacanyaadalah hasil yang paling besar dari urutke-2 yaitu C, kemudian hasil terbesardari urut ke-1 yaitu B baru kemudianhasil yang paling kecil dari kedua urutyaitu B

CAB

A>B ? AB : A1 B2B<C ? CB : C1 B2A>C ? 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<C ? CB : B1 C2A<C ? CA : A1 C2Maka urutan 1=A 2=C 3=BUrut ke-3: CUrut ke-2: CUrut ke-1: AKomputer membaca urut ke-3 ke ke-2 keke-1 dan ketika dibandingkan C lebihbesar dari A di urut 3 dan B diurut 2,maka C paling besar. Kemudian yangterbesar kedua adl A karena pada urutke-1 A>B maka A tercetak kedua setelahC. kemudian yang paling kecil adalah Bkarena lebih kecil dari C di urut 2 dandari A di urut 1

CAB

A<B ? BABA

A<B ? BA : B1 A2A>C ? AC : A1 C2Maka urutan 1=B 2=A 3=CUrut ke-2: AUrut ke-1: BKomputer membaca urut ke-2 ke ke-1 danketika dibandingkan B>A maka tercetak Bdi urut 1 sebagai yang paling besar,kemudian A, diurut 2, kemudian C diurut 3sebagai yang paling kecil

BAC

A<B ? BA : B1 A2B<C ? CB : C1 B2Maka urutan 1=C 2=B 3=AUrut ke-2: CUrut ke-1: BKomputer membaca urut ke-2 ke ke-1dan ketika dibandingkan belumdiketahui apakah C>A atau C<A, namunyang pasti hasil yang paling kecil adl A.karena pembacaan dimulai dari urut ke-2 dan belum bisa dipastikan mana yangpaling besar maka logika membacanyaadalah hasil yang paling besar dari urutke-2 yaitu C, kemudian hasil terbesardari urut ke-1 yaitu B baru kemudianhasil yang paling kecil dari kedua urutyaitu A

CBA

A<B ? BA : B1 A2A<C ? CA : C1 A2B>C ? BC : B1 C2Maka urutan 1=B 2=C 3=AUrut ke-3: BUrut ke-2: CUrut ke-1: BKomputer membaca urut ke-3 ke ke-2 keke-3 dan ketika dibandingkan B lebihbesar dari C di urut 3 dan A diurut 1,maka B paling besar. Kemudian yangterbesar kedua adl C karena pada urutke-2 C>A maka C tercetak kedua setelahB. kemudian yang paling kecil adalah Akarena lebih kecil dari C di urut 2 dandari B di urut 1

BCA

A<B ? BA : B1 A2A<C ? CA : C1 A2B<C ? CB : C1 B2Maka urutan 1=C 2=B 3=AUrut ke-3: CUrut ke-2: CUrut ke-1: BKomputer membaca urut ke-3 ke ke-2 keke-1 dan ketika dibandingkan C lebihbesar dari B di urut 3 dan A diurut 2,maka C paling besar. Kemudian yangterbesar kedua adl B karena pada urutke-1 B>A maka B tercetak kedua setelahC. kemudian yang paling kecil adalah Akarena lebih kecil dari C di urut 2 dandari A di urut 1

CBA

Page 19: Algoritma Dan Struktur Data 1

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”

“Satu”“Nol”

#include <stdio.h>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");}

Page 20: Algoritma Dan Struktur Data 1

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 Keberangkatan”“Menit Keberangkatan”“Detik Keberangkatan”“Jam Kedatangan”“Menit Kedatangan”“Detik 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 <stdio.h>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);}

Page 21: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

20

Array Satu Dimensi

Soal 1. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7];

int I;

for (I=0;I<=6;I++)

{A[I]=I;

printf(“%i”, A[I]);

}

}

Soal 2. Apa yang tercetak darisusunan program berikut ini

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

}

}

Soal 3. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

A[3]=50;

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Soal 4. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

I=3;

A[I]=50;

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Page 22: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

21

Soal 5. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

A[2]=A[3];

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Soal 6. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{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++)

{printf(“%i”, A[I]);

}

}

Soal 7. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{A[I]=A[I+1];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Soal 8. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{A[I+1]=A[I];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Page 23: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

22

Soal 9. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{if (A[I]>A[I+1])

{A[I+1]=A[I];

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Soal 10. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I,X;

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

}

}

Page 24: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

23

Soal 11. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int B[7];

int I;

for (I=0;I<=6;I++)

{B[I]=A[I];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

Soal 12. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

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;I<=6;I++)

{if (A[I]>B[I])

{B[I]=A[I];

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

Page 25: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

24

Soal 13. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

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;I<=6;I++)

{if (A[I]>B[I])

{X=B[I];

B[I]=A[I];

A[I]=X;

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

Soal 14. Apa yang tercetak darisusunan program berikut ini

#include<stdio.h>

void main ()

{int A[3]={15,25,17};

int B[7]={10,27,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);

}

Page 26: Algoritma Dan Struktur Data 1

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<=6 I++ A[I]=I printf A[I]0 True 1 0 01 True 2 1 12 True 3 2 23 True 4 3 34 True 5 4 45 True 6 5 56 True 7 6 67 False Keluar Loop

#include<stdio.h>

void main ()

{int A[7];

int I;

for (I=0;I<=6;I++)

{A[I]=I;

printf(“%i”, A[I]);

}

A[7] dimintamenyediakan 7kolom

for (I=0;I<=6;I++)perintah inimelakukanpengulangansebanyak 6 kali

Tercetak:

0 1 2 3 4 5 6

Page 27: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7]0 True 1 151 True 2 122 True 3 173 True 4 254 True 5 105 True 6 56 True 7 227 False Keluar Loop

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

}

}

Tercetak:

15 12 17 25 10 5 22

Page 28: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7] A[3]=50 printf A[I]=A[7]0 True 1 15 15 151 True 2 12 12 122 True 3 17 17 173 True 4 25 50 504 True 5 10 10 105 True 6 5 5 56 True 7 22 22 227 False Keluar Loop

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

A[3]=50;

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}Tercetak:

15 12 17 50 10 5 22

Page 29: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7] A[3]=50 printf A[I]=A[7]0 True 1 15 15 151 True 2 12 12 122 True 3 17 17 173 True 4 25 50 504 True 5 10 10 105 True 6 5 5 56 True 7 22 22 227 False Keluar Loop

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

I=3;

A[I]=50;

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}Tercetak:

15 12 17 50 10 5 22

Page 30: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7] A[2]=A[3] printf A[I]=A[7]0 True 1 15 15 151 True 2 12 12 122 True 3 17 25 253 True 4 25 25 254 True 5 10 10 105 True 6 5 5 56 True 7 22 22 227 False Keluar Loop

#include<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

A[2]=A[3];

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

Tercetak:

15 12 25 25 10 5 22

Page 31: Algoritma Dan Struktur Data 1

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<=6 I++printf A[I]=A[7] I=2

A[I]=A[I+1]printf A[I]=A[7]

0 True 1 15 15 151 True 2 12 12 122 True 3 17 25 253 True 4 25 25 254 True 5 10 10 105 True 6 5 5 56 True 7 22 22 227 False Keluar Loop

#include<stdio.h>

void main ()

{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++)

{printf(“%i”, A[I]);

}

}

Tercetak:

15 12 25 25 10 5 22

Page 32: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7] I I<=5 I++ A[I]=A[I+1] printf A[I]0 True 1 15 0 True 1 A[0]=A[1] => 12 121 True 2 12 1 True 2 A[1]=A[2] => 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<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{A[I]=A[I+1];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

21

3

4

51

2

3

4

5

Tercetak:

12 17 25 10 5 22 22

Page 33: Algoritma Dan Struktur Data 1

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<=6 I++ printf A[I]=A[7] I I<=5 I++ A[I+1]=A[I] printf A[I]0 True 1 15 0 True 1 A[1]=A[0] => 15 151 True 2 12 1 True 2 A[2]=A[1] => 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<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{A[I+1]=A[I];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

21

3

51

2

4

5

Tercetak:

15 15 15 15 15 15 15

34

Page 34: Algoritma Dan Struktur Data 1

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

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I;

for (I=0;I<=5;I++)

{if (A[I]>A[I+1])

{A[I+1]=A[I];

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

}

1

3

4

2

Tercetak:

15 15 17 25 25 25 25

Page 35: Algoritma Dan Struktur Data 1

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 I<=6 I++ printfA[I]=A[7]

I I<=5 I++ ifA[I]>A[I+1]

X=A[I] A[I]=A[I+1] A[I+1]=X printfA[I]

0 True 1 15 0 True 1 A[0]>A[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<stdio.h>

void main ()

{int A[7]={15,12,17,25,10,5,22};

int I,X;

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

}

}

1

5

3

4

1

2

3

5

4

Tercetak:

12 15 17 10 5 22 25

Page 36: Algoritma Dan Struktur Data 1

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

void main ()

{int A[7]={15,12,17,25,10,5,22};

int B[7];

int I;

for (I=0;I<=6;I++)

{B[I]=A[I];

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

A[I]

B[I]

Tercetak:

15 12 17 25 10 5 22

15 12 17 25 10 5 22

Page 37: Algoritma Dan Struktur Data 1

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

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;I<=6;I++)

{if (A[I]>B[I])

{B[I]=A[I];

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

Tercetak:

15 12 17 25 10 5 22

15 27 17 25 18 12 22

Page 38: Algoritma Dan Struktur Data 1

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

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;I<=6;I++)

{if (A[I]>B[I])

{X=B[I];

B[I]=A[I];

A[I]=X;

}

}

for (I=0;I<=6;I++)

{printf(“%i”, A[I]);

}

printf(“\n”);

for (I=0;I<=6;I++)

{printf(“%i”, B[I]);

}

}

Tercetak:

10 12 12 15 10 5 3

15 27 17 25 18 12 22

Page 39: Algoritma Dan Struktur Data 1

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 “X”0 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<stdio.h>

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<=2;K++)

{X=A[K];

}

for (I=0;I<=6;I++)

{if (B[I]>X)

{X=B[I];

}

}

printf(“%i”, X);

}

Tercetak:

22

Page 40: Algoritma Dan Struktur Data 1

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)

#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 Ndengan 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”); }}

Page 41: Algoritma Dan Struktur Data 1

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)

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

Page 42: Algoritma Dan Struktur Data 1

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)

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

Page 43: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

43

7. Lanjutkan susunan program berikut ini

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

Page 44: Algoritma Dan Struktur Data 1

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 T

N=N+Xmjd N

X=X+Jmjd X

printf“T”

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

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

I=1 I<=9 I=I+41 True 55 True 99 True 139 False Keluar Loop => Bagian ini tdk diproses

ini merupakan loop yang mencetak berapakali pengulangan

I=1 J=I J<=9 J=J+31 1 True 41 4 True 71 7 True 101 10 False Keluar Loop => Bagian ini tdk diproses5 5 True 85 8 True 115 11 False Keluar Loop => Bagian ini tdk diproses9 9 True 129 12 False Keluar Loop => 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

Page 45: Algoritma Dan Struktur Data 1

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 “N”N=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

#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”); }}

I=1 I<=2 I=I+11 True 22 True 33 False Keluar Loop => Bagian ini tdk diproses

ini merupakan loop yang mencetak berapakali pengulangan

1

23

4I=1 J=1 J<=3 J=J+11 1 True 21 2 True 31 3 True 41 4 False Keluar Loop => Bagian ini tdk diproses2 1 True 12 2 True 22 3 True 32 4 False Keluar Loop => Bagian ini tdk diproses

ini merupakan loop pembentuktercetak:

4 7 10

13 16 19

3

1 dibaca sekali saja

dibaca berulangkali s/d keluar loop4

2

Page 46: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

46

Soal 3

I J N printf “N” N=N+1Menjadi N

1 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 <=5

#include<stdio.h>void main (){int I,J,N; N=0; for (I=1;I<=5;I=I+1) {for (J=I;J<=5;J=J+1) {N=N+1;

printf("%4i", N); } printf("\n"); }}

#include<stdio.h>void main (){int I,J,N; N=1; for (I=1;I<=5;I=I+1) {for (J=I;J<=5;J=J+1) {printf("%4i", N);

N=N+1; } printf("\n"); }}

Page 47: Algoritma Dan Struktur Data 1

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

printf “X”X=X+A Y=Y+B

6 8 True 12 1212 8 True 16 1212 16 True 18 1818 16 True 24 1818 24 True 24 2424 24 False

tercetak:

24

Page 48: Algoritma Dan Struktur Data 1

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

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

}

1

23

4

I=1 I<=5 I=I+11 True 22 True 33 True 44 True 55 True 66 False Keluar Loop => Bagian ini tdk diproses

ini merupakan loop yang mencetak berapakali pengulangan

I=1 J=I J<=5 J=J+21 1 True 21 3 True 51 5 True 71 7 False Keluar Loop => Bagian ini tdk diproses2 2 True 42 4 True 62 6 False Keluar Loop => Bagian ini tdk diproses3 3 True 53 5 True 73 7 False Keluar Loop => 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

Page 49: Algoritma Dan Struktur Data 1

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<=BT=T+N

menjadi T printf “T”N=N+X

menjadi NX=X+2

menjadi X0 24 5 True 24 24 29 7

24 29 7 True 53 53 36 953 36 9 True 89 89 45 1189 45 11 True 134 134 56 13134 56 13 False Keluar Loop

tercetak:

24 53 89 134

Page 50: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

50

Soal 7

#include<stdio.h>

void main ()

{int A,B,C;

if (A>C)

{if (C<B)

{if (B<A)

printf(“%i”, A);

else

printf(“%i”, B);

}

else

printf(“%i”, A);

}

else

{if (A>B)

printf(“%i”, C);

else

{if (C>B)

printf(“%i”, C);

else

printf(“%i”, B);

}

}

}

AC

ABC

ABC

ABC

BAC

ACB

CAB

CAB

CBA

BCA

Page 51: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

51

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

}

Page 52: Algoritma Dan Struktur Data 1

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

#include<stdio.h>void 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<=6; I++)

printf("%4i",A[I] ); printf("\n"); for(I=0; I<=6; I++)

printf("%4i",B[I] );}

A[I] B[I]

Tercetak:5 10 15 20 25 30 3535 30 25 20 15 10 5

Page 53: Algoritma Dan Struktur Data 1

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

#include<stdio.h>void 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<=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] );}

Tercetak:5 10 15 20 25 30 355 10 15 20 25 30 35

A[I] B[I]

Page 54: Algoritma Dan Struktur Data 1

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

#include<stdio.h>void 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<=6; I++ ) { B[6-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]

Tercetak:5 10 15 20 25 30 3535 30 25 20 15 10 5

Page 55: Algoritma Dan Struktur Data 1

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

#include<stdio.h>void 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<=6; I++ ) { if(A[I] > B[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] );}

Tercetak:5 10 15 20 25 30 3535 30 25 20 25 30 35

A[I] B[I]

Page 56: Algoritma Dan Struktur Data 1

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

#include<stdio.h>void 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<=6; I++ ) { if(A[I] > B[I] ) { X = B[I]; B[ I ] = A[ I ] ; A[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] );}

Tercetak:5 10 15 20 15 10 535 30 25 20 25 30 35

A[I] B[I]

Page 57: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

57

Soal 6.

I A[7] B[7] A[I] B[I] A[I]<B[I] X=B[I] B[I]=A[I] A[I]=X printf“A[I]”

Printf“B[I]”

0 5 35 A[0]=5 B[0]=35 True 35 5 35 35 51 10 30 A[1]=10 B[1]=30 True 30 10 30 30 102 15 25 A[2]=15 B[2]=25 True 25 15 25 25 153 20 20 A[3]=20 B[3]=20 False - - - 20 204 25 15 A[4]=25 B[4]=15 False - - - 25 155 30 10 A[5]=30 B[5]=10 False - - - 30 106 35 5 A[6]=35 B[6]=5 False - - - 35 5

0 1 2 3 4 5 635 30 25 20 25 30 35

0 1 2 3 4 5 65 10 15 20 15 10 5

#include<stdio.h>void 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<=6; I++ ) { if(A[I] < B[I] ) { X = B[I]; B[ I ] = A[ I ] ; A[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] );}

Tercetak:35 30 25 20 25 30 35 5 10 15 20 15 10 5

A[I] B[I]

Page 58: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

58

Soal 7.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 25 10 15

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 5 51 True 2 10 102 True 3 15 153 False Keluar Loop

I J A[I] B[J] A[I]==B[J] X=A[I] printf “X”0 0 5 35 False - 00 1 5 30 False - 00 2 5 25 False - 00 3 5 20 False - 00 4 5 15 False - 01 0 10 35 False - 01 1 10 30 False - 01 2 10 25 False - 01 3 10 20 False - 01 4 10 15 False - 02 0 15 35 False - 02 1 15 30 False - 02 2 15 25 False - 02 3 15 20 False - 02 4 15 15 True 15 15

#include<stdio.h>void main(){ int A[3] = {5,10,15 }; int B[5] = {35,30,25,20,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 );}

Tercetak:

15

A[I] B[J]

Page 59: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

59

Soal 8.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 210 20 30

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 10 101 True 2 20 202 True 3 30 303 False Keluar Loop

I J A[I] B[J] A[I]==B[J] X=A[I] printf “X”0 0 10 35 False - 00 1 10 30 False - 00 2 10 25 False - 00 3 10 20 False - 00 4 10 15 False - 01 0 20 35 False - 01 1 20 30 False - 01 2 20 25 False - 01 3 20 20 True 20 201 4 20 15 False - 202 0 30 35 False - 202 1 30 30 True 30 302 2 30 25 False - 302 3 30 20 False - 302 4 30 15 False - 30

#include<stdio.h>void main(){ int A[3] = {10,20,30 }; int B[5] = {35,30,25,20,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 );}

Tercetak:

30

A[I] B[J]

Page 60: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

60

Soal 9.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 25 10 15

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 5 51 True 2 10 102 True 3 15 153 False Keluar Loop

I J A[I] B[J] A[I]==B[J] Jum++ printf “Jum”0 0 5 35 False - 00 1 5 30 False - 00 2 5 25 False - 00 3 5 20 False - 00 4 5 15 False - 01 0 10 35 False - 01 1 10 30 False - 01 2 10 25 False - 01 3 10 20 False - 01 4 10 15 False - 02 0 15 35 False - 02 1 15 30 False - 02 2 15 25 False - 02 3 15 20 False - 02 4 15 15 True 1 1

#include<stdio.h>void main(){ int A[3] = {5,10,15 }; int B[5] = {35,30,25,20,15 }; 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 );}

Tercetak:

1

A[I] B[J]

Page 61: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

61

Soal 10.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 210 20 30

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 10 101 True 2 20 202 True 3 30 303 False Keluar Loop

I J A[I] B[J] A[I]==B[J] Jum++ printf “Jum”0 0 10 35 False - 00 1 10 30 False - 00 2 10 25 False - 00 3 10 20 False - 00 4 10 15 False - 01 0 20 35 False - 01 1 20 30 False - 01 2 20 25 False - 01 3 20 20 True 1 11 4 20 15 False - 12 0 30 35 False - 12 1 30 30 True 2 22 2 30 25 False - 22 3 30 20 False - 22 4 30 15 False - 2

#include<stdio.h>void main(){ int A[3] = {10,20,30 }; int B[5] = {35,30,25,20,15 }; 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 );}

Tercetak:

2

A[I] B[J]

Page 62: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

62

Soal 11.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 25 10 15

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 5 51 True 2 10 102 True 3 15 153 False Keluar Loop

I J A[I] B[J] A[I]==B[J] X=A[I] printf “X”0 0 5 35 False - 00 1 5 30 False - 00 2 5 25 False - 00 3 5 20 False - 00 4 5 15 False - 01 0 10 35 False - 01 1 10 30 False - 01 2 10 25 False - 01 3 10 20 False - 01 4 10 15 False - 02 0 15 35 False - 02 1 15 30 False - 02 2 15 25 False - 02 3 15 20 False - 02 4 15 15 True 15 15

#include<stdio.h>void main(){ int A[3] = {5,10,15 }; int B[5] = {35,30,25,20,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(“%i”, X); } }}

Tercetak:

0000000000015

A[I] B[J]

Page 63: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

63

Soal 12.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 25 10 15

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 5 51 True 2 10 102 True 3 15 153 False Keluar Loop

I J A[I] B[J] A[I]==B[J] X=A[I] printf “X”0 0 5 35 False - 00 1 5 30 False - 00 2 5 25 False - 00 3 5 20 False - 00 4 5 15 False - 01 0 10 35 False - 01 1 10 30 False - 01 2 10 25 False - 01 3 10 20 False - 01 4 10 15 False - 02 0 15 35 False - 02 1 15 30 False - 02 2 15 25 False - 02 3 15 20 False - 02 4 15 15 True 15 15

#include<stdio.h>void main(){ int A[3] = {5,10,15 }; int B[5] = {35,30,25,20,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("%i", X); }

printf("\n"); }}

Tercetak:0000000000015

A[I] B[J]

Page 64: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

64

Soal 12.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 25 10 15

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 5 51 True 2 10 102 True 3 15 153 False Keluar Loop

I J A[I] B[J] A[I]==B[J] X=A[I] printf “X”0 0 5 35 False - 00 1 5 30 False - 00 2 5 25 False - 00 3 5 20 False - 00 4 5 15 False - 01 0 10 35 False - 01 1 10 30 False - 01 2 10 25 False - 01 3 10 20 False - 01 4 10 15 False - 02 0 15 35 False - 02 1 15 30 False - 02 2 15 25 False - 02 3 15 20 False - 02 4 15 15 True 15 15

#include<stdio.h>void main(){ int A[3] = {5,10,15 }; int B[5] = {35,30,25,20,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("%i", X); printf("\n"); }}

Tercetak:0015

A[I] B[J]

Page 65: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

65

Soal 13.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 210 20 30

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 10 101 True 2 20 202 True 3 30 303 False Keluar Loop

I J A[I] B[J] A[I]==B[J] Jum++ printf “Jum”0 0 10 35 False - 00 1 10 30 False - 00 2 10 25 False - 00 3 10 20 False - 00 4 10 15 False - 01 0 20 35 False - 01 1 20 30 False - 01 2 20 25 False - 01 3 20 20 True 1 11 4 20 15 False - 12 0 30 35 False - 12 1 30 30 True 2 22 2 30 25 False - 22 3 30 20 False - 22 4 30 15 False - 2

#include<stdio.h>void main(){ int A[3] = {10,20,30 }; int B[5] = {35,30,25,20,15 }; 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 ); } }}

Tercetak:

000000001112222

A[I] B[J]

Page 66: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

66

Soal 14.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 210 20 30

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 10 101 True 2 20 202 True 3 30 303 False Keluar Loop

I J A[I] B[J] A[I]==B[J] Jum++ printf “Jum”0 0 10 35 False - 00 1 10 30 False - 00 2 10 25 False - 00 3 10 20 False - 00 4 10 15 False - 01 0 20 35 False - 01 1 20 30 False - 01 2 20 25 False - 01 3 20 20 True 1 11 4 20 15 False - 12 0 30 35 False - 12 1 30 30 True 2 22 2 30 25 False - 22 3 30 20 False - 22 4 30 15 False - 2

#include<stdio.h>void main(){ int A[3] = {10,20,30 }; int B[5] = {35,30,25,20,15 }; 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 ); } printf(“\n”); }}

Tercetak:000000001112222

A[I] B[J]

Page 67: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

67

Soal 15.

J J<=2 J++ B[5] B[J]0 True 1 35 351 True 2 30 302 True 3 25 253 True 4 20 204 True 5 15 155 True Keluar Loop

0 1 210 20 30

0 1 2 3 435 30 25 20 15

I I<=2 I++ A[3] A[I]0 True 1 10 101 True 2 20 202 True 3 30 303 False Keluar Loop

I J A[I] B[J] A[I]==B[J] Jum++ printf “Jum”0 0 10 35 False - 00 1 10 30 False - 00 2 10 25 False - 00 3 10 20 False - 00 4 10 15 False - 01 0 20 35 False - 01 1 20 30 False - 01 2 20 25 False - 01 3 20 20 True 1 11 4 20 15 False - 12 0 30 35 False - 12 1 30 30 True 2 22 2 30 25 False - 22 3 30 20 False - 22 4 30 15 False - 2

#include<stdio.h>void main(){ int A[3] = {10,20,30 }; int B[5] = {35,30,25,20,15 }; 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); printf(“\n”); }}

Tercetak:012

A[I] B[J]

Page 68: Algoritma Dan Struktur Data 1

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<=6 I++ B[7] B[I]0 True 1 10 101 True 2 7 72 True 3 12 123 True 4 15 154 True 5 18 185 True 6 22 226 True 7 3 37 True Keluar Loop

0 1 215 25 17

0 1 2 3 4 5 610 7 12 15 18 22 3

K K<=2 K++ K[3] A[K]0 True 1 15 151 True 2 25 252 True 3 17 173 False Keluar Loop

K I A[K] B[I] X B[I]>X X=B[I] printf ”X”0 0 15 10 15 False - 150 1 15 7 15 False - 150 2 15 12 15 False - 150 3 15 15 15 False - 150 4 15 18 18 True 18 180 5 15 22 22 True 22 220 6 15 3 22 False - 221 0 25 10 25 False - 251 1 25 7 25 False - 251 2 25 12 25 False - 251 3 25 15 25 False - 251 4 25 18 25 False - 251 5 25 22 25 False - 251 6 25 3 25 False - 252 0 17 10 17 False - 172 1 17 7 17 False - 172 2 17 12 17 False - 172 3 17 15 17 False - 172 4 17 18 17 True 18 182 5 17 22 17 True 22 222 6 17 3 17 False - 22

#include<stdio.h>void main (){ int A[3] = {15, 25, 17 }; 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 ); }}

Tercetak:22 25 22

A[K] B[I]

Page 69: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

69

Soal 17.

I I<=6 I++ B[7] B[I]0 True 1 10 101 True 2 7 72 True 3 12 123 True 4 15 154 True 5 18 185 True 6 22 226 True 7 3 37 True Keluar Loop

0 1 215 25 17

0 1 2 3 4 5 610 7 12 15 18 22 3

K K<=2 K++ K[3] A[K]0 True 1 15 151 True 2 25 252 True 3 17 173 False Keluar Loop

K I A[K] B[I] X B[I]>X X=B[I] printf ”X”0 0 15 10 15 False - 150 1 15 7 15 False - 150 2 15 12 15 False - 150 3 15 15 15 False - 150 4 15 18 18 True 18 180 5 15 22 22 True 22 220 6 15 3 22 False - 221 0 25 10 25 False - 251 1 25 7 25 False - 251 2 25 12 25 False - 251 3 25 15 25 False - 251 4 25 18 25 False - 251 5 25 22 25 False - 251 6 25 3 25 False - 252 0 17 10 17 False - 172 1 17 7 17 False - 172 2 17 12 17 False - 172 3 17 15 17 False - 172 4 17 18 17 True 18 182 5 17 22 17 True 22 222 6 17 3 17 False - 22

#include<stdio.h>void main (){ int A[3] = {15, 25, 17 }; 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 );

} printf(”\n”)

}

Tercetak:15 15 15 15 18 22 2225 25 25 25 25 25 2517 17 17 17 18 22 22

A[K] B[I]

Page 70: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

70

Soal 18.

I I<=6 I++ B[7] B[I]0 True 1 10 101 True 2 7 72 True 3 12 123 True 4 15 154 True 5 18 185 True 6 22 226 True 7 3 37 True Keluar Loop

0 1 215 25 17

0 1 2 3 4 5 610 7 12 15 18 22 3

K K<=2 K++ K[3] A[K]0 True 1 15 151 True 2 25 252 True 3 17 173 False Keluar Loop

K I A[K] B[I] X B[I]>X X=B[I] printf ”X”0 0 15 10 15 False - 150 1 15 7 15 False - 150 2 15 12 15 False - 150 3 15 15 15 False - 150 4 15 18 18 True 18 180 5 15 22 22 True 22 220 6 15 3 22 False - 221 0 25 10 25 False - 251 1 25 7 25 False - 251 2 25 12 25 False - 251 3 25 15 25 False - 251 4 25 18 25 False - 251 5 25 22 25 False - 251 6 25 3 25 False - 252 0 17 10 17 False - 172 1 17 7 17 False - 172 2 17 12 17 False - 172 3 17 15 17 False - 172 4 17 18 17 True 18 182 5 17 22 17 True 22 222 6 17 3 17 False - 22

#include<stdio.h>void main (){ int A[3] = {15, 25, 17 }; 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);}

Tercetak:22

A[K] B[I]

Page 71: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

71

Soal 19.

I I<=6 I++0 True 11 True 22 True 33 True 44 True 55 True 66 False

I I<=6 I++0 True 11 True 22 True 33 True 44 True 55 True 66 True 77 False

0 1 2 3 4 5 615 12 17 25 10 5 22

K K<=2 K++1 True 12 True 23 True 34 False

K I I A[I]>A[I+1] A[I] X=A[I] A[I]=A[I+1] A[I+1]=X printf “A[I]”1 0 0 True 15 15 12 15 121 1 1 False 12 - - - 151 2 2 False 17 - - - 171 3 3 True 25 25 10 25 101 4 4 True 10 25 5 25 51 5 5 True 5 25 22 25 221 6 252 0 0 False 12 - - - 122 1 1 False 15 - - - 152 2 2 True 17 17 10 17 102 3 3 True 10 17 5 17 52 4 4 False 5 - - - 172 5 5 False 22 - - - 222 6 6 253 0 0 False 12 - - - 123 1 1 True 15 15 10 15 103 2 2 True 10 15 5 15 53 3 3 False 5 - - - 153 4 4 False 17 - - - 173 5 5 False 22 - - - 223 6 6 False 25 - - - 25

#include<stdio.h>void main (){ 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] ); }

}

Tercetak:12 10 5 15 17 22 25

A[I]

Page 72: Algoritma Dan Struktur Data 1

Lukas Sapto Aji D.S. – Algoritma dan Struktur Data 1

72

Soal 20.

N=0;

J J<=5 J++1 True 22 True 33 True 44 True 55 True 66 False

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<=3 I++1 True 22 True 33 True 44 False

I J N printf “A[N]” N=N+1menjadi N

1 1 0 0[A] 12 1 1[B] 23 2 2[C] 34 3 3[D] 45 4 4[E] 5

2 1 5 5[F] 62 6 6[G] 73 8 8[H] 94 9 9[I] 105 10 10[J] 11

3 1 11 11[K] 122 12 12[L] 133 13 13[M] 144 14 14[N] 155 16 16[O] 17

#include<stdio.h>void main (){ char A[26] = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ”; int I,J,N; N=0; for( I = 1; I<=3; I++ ) { for( J=1; J<=5; J++ )

{ printf(”% c”, A[N]); N=N+1;

} printf(”\n”); } }

Tercetak:A B C D EF G H I JK L M N O

A[N]

Page 73: Algoritma Dan Struktur Data 1

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<=3 I++1 True 22 True 33 True 44 False

I J N printf “A[N]” N=N+1menjadi N

1 1 0 0[A] 11 2 1 1[B] 21 3 2 2[C] 31 4 3 3[D] 41 5 4 4[E] 52 2 5 5[F] 62 3 6 6[G] 72 4 8 8[H] 92 5 9 9[I] 103 3 10 10[J] 113 4 11 11[K] 123 5 12 12[L] 13

#include<stdio.h>void main (){ char A[26] = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ”; int I,J,N; N=0; for( I = 1; I<=3; I++ ) { for( J=I; J<=5; J++ )

{ printf(”% c”, A[N]); N=N+1;

} printf(”\n”); } }

Tercetak:A B C D EF G H IJ K L

A[N]