Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
291
2
11. 2 11.6 Mengisi Array Dengan Data Yang Diketik Melalui Keyboard 291
3
Memory 5 5 Ilustrasi menginput data melalui keyboard
11. 3 Ilustrasi menginput data melalui keyboard Memory 5 5 KEYBOARD SCREEN Data yang diketik melalui keyboard harus diterima oleh sebuah variabel.
4
Memory 5 Ilustrasi menginput data melalui keyboard 5
11. 4 Ilustrasi menginput data melalui keyboard Memory 5 5 KEYBOARD SCREEN Data yang diketik melalui keyboard dapat diterima oleh sebuah variabel atau sebuah elemen array.
5
5 Memory Ilustrasi menginput data melalui keyboard 5 5
11. 5 Ilustrasi menginput data melalui keyboard 5 Memory 5 KEYBOARD 5 SCREEN Data yang diketik melalui keyboard dapat diterima oleh sebuah variabel kemudian disalin kesebuah elemen array.
6
Contoh-1. Dalam lembar dokumen ada data berupa nilai ujian mahasiswa,
integer positip sebagai berikut: 57, 75, 90, 55, 60, 62, 72, 58, 76, 69, 67, 82, 65, 48, 79, 64, 50, dst. Sudah ada (sudah dibuat) array satu dimensi int A[11], belum ada isinya. Soal : Susun program untuk menginput data dari luar melalui keyboard, dan mengisinya ke dalam array sehingga isi array menjadi : 57 75 90 55 60 62 72 58 76 69 67
7
Data yang diinput dari Keyboard
57, 75, 90, 55, 60, 62, 72, 58, 76, 69, 67, 82, 65, 48, 79, 64, 50, dst. Disimpan dalam array : int A[11] 57 75 90 55 60 62 72 58 76 69 67 Cara-1. int X,I; I = 0; while( I<= 10) { scanf(“%i”, &X ); A[I] = X; I++; } int X,I; for(I=0; I<=10; I++) { scanf(“%i”, &X ); A[I] = X; } 291
8
Data yang diinput dari Keyboard
57, 75, 90, 55, 60, 62, 72, 58, 76, 69, 67, 82, 65, 48, 79, 64, 50, dst. Disimpan dalam array : int A[11] 57 75 90 55 60 62 72 58 76 69 67 Cara-2. int I; I = 0; while( I<= 10) { scanf(“%i”, &A[I] ); I++; } int I; for(I=0; I<=10; I++) { scanf(“%i”, &A[I] ); } 291
9
11. 9
10
Contoh-2. Dalam lembar dokumen ada data berupa nilai ujian mahasiswa,
integer positip sebagai berikut: 57, 75, 90, 55, 60, 62, 72, 58, 76, 69, 67, 82, 65, 48, 79, 64, 50, dst. Sudah ada (sudah dibuat) array satu dimensi int A[11], belum ada isinya. Soal : Susun program untuk menginput data dari luar melalui keyboard. Bila data yang diinput nilainya < 60, tidak disimpan ke dalam array. Tapi bila nilai yang diinput >=60, maka disimpan ke dalam array sehingga isi array menjadi : 75 90 60 62 72 76 69 67 82 65 79
11
Cara-1. (hanya satu cara)
Contoh-2 Data yang diinput dari Keyboard 57, 75, 90, 55, 60, 62, 72, 58, 76, 69, 67, 82, 65, 48, 79, 64, 50, dst. Disimpan dalam array : int A[11] 75 90 60 62 72 76 69 67 82 65 79 Cara-1. (hanya satu cara) int X,I; I = 0; while( I<= 10) { scanf(“%i”, &X ); if(X>=60) A[I] = X; I++; } int X,I; for(I=0; I<=10; I++) { scanf(“%i”, &X ); if(X>=60) A[I] = X; } 291
13
11. 13 292 menginput String
14
Menginput String kedalam array
Contoh-3. Susun program (penggalan program) untuk menginput suatu kalimat dan memasukkannya ke dalam array satu dimensi. Kemudian cetak isi array tersebut Misal panjang kalimat tidak lebih dari 9 karakter (10 karakter dengan tanda ‘end’ hasil ketikan tombol <Enter>). 292
15
#include<stdio.h> void main() { char S[10]; scanf(“%s”, S);
Contoh-3. Susun program (penggalan program) untuk menginput suatu kalimat dan memasukkannya ke dalam array satu dimensi. Kemudian cetak isi array tersebut Misal panjang kalimat tidak lebih dari 9 karakter (10 karakter dengan tanda ‘end’ hasil ketikan tombol <Enter>. Jawab-3 Input dengan scanf( ) #include<stdio.h> void main() { char S[10]; scanf(“%s”, S); printf(“%s”, S); } atau dicetak dengan puts(S); 292
16
#include<stdio.h> void main() { char S[10]; int I;
Contoh-3. Susun program (penggalan program) untuk menginput suatu kalimat dan memasukkannya ke dalam array satu dimensi. Kemudian cetak isi array tersebut Misal panjang kalimat tidak lebih dari 9 karakter (10 karakter dengan tanda ‘end’ hasil ketikan tombol <Enter>. #include<stdio.h> void main() { char S[10]; int I; scanf(“%s”, S); I=0; while(S[I] != ‘\0’) { printf(“%c”, S[I]); I++; } 292
17
scanf( ) \0 292 Bila data yang di INPUT bila dicetak dengan :
printf( “%s “, S ); atau puts(S) Akan disimpan dalam variable array S ABC Tercetak : ABC (\0 = Tanda untuk batas nilai) A B C \0 ABC DE Tercetak : ABC A B C \0 Tercetak : ABC (b= blank didepan tidak ikut disimpan) bbABC A B C \0 “ABC DE” “ A B C \0 tercetak : “ABC ABCDEFGHI Tercetak : ABCDEFGHI (Untuk S[10] maksimum 9 karakter) A B C D E F G H I \0 ABCDEFGHIJ Error lebih dari 9 karakter 12345 1 2 3 4 5 \0 Tercetak karakter : 12345 \0 Tak ada yang tercetak 292
18
293
19
atau dicetak dengan puts(S); Jawab-3 Input dengan gets()
#include<stdio.h> void main() { char S[10]; gets(S); printf(“%s”, S); } atau dicetak dengan puts(S);
20
Jawab-3 Input dengan gets()
#include<stdio.h> void main() { char S[10]; int I; gets( S ); I=0; while(S[I] != ‘\0’) { printf(“%c”, S[I]); I++; }
21
ABC ABCbbDE bbABC “ABCbbDE” ABCDEFGHI ABCDEFGHIJ 12345
bila dicetak dengan : printf( “%s “, S ); atau puts(S) Bila data yang di INPUT dengan get(S) Akan disimpan dalam variable array S ABC A B C \0 Tercetak : ABC ABCbbDE Tercetak : ABC DE A B C D E \0 bbABC A B C \0 Tercetak : bbABC (b= blank) “ABCbbDE” “ A B C D E “ \0 tercetak : “ABC DE” ABCDEFGHI A B C D E F G H I \0 Tercetak : ABCDEFGHI ABCDEFGHIJ Error lebih dari 9 karakter 12345 1 2 3 4 5 \0 Tercetak : 12345 \0 Tak ada yang tercetak
22
Menginput String pada Bahasa Java :
lihat Bab 7 (tidak diuji)
23
Pada program Java, ada cara yang lebih mudah untuk menginput sebuah kalimat atau string melalui keyboard dengan menggunakan metode readLine(). Perhatikan contoh berikut ini : import java.io.*; public class Contoh { public static void main (String[] args ) { BufferedReader sebarisTeks = new BufferedReader ( new InputStreamReader(System.in) ); System.out.println( “Input Nama Kota : “); String S = “”; try { S = sebarisTeks.readLine(); } catch (IOException i) { System.out.println(“Nama Kota Anda : “ + S); Bila program diatas dijalankan, maka terlihat dilayar sebagai berikut : 294 Input Nama Kota : Jakarta Raya Nama Kota Anda : Jakarta Raya
24
11.7 Mencetak Isi Array Satu Dimensi
295
25
Contoh-1. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 12 17 10 - 19 Program? 295
26
{ printf(“\n%i”, A[I] ); }
Contoh-1. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 12 17 10 - 19 for(I=0; I<= 10; I++) { printf(“\n%i”, A[I] ); } 295
28
Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 19 16 3 8 11 - 12 Program? 295
29
{ printf(“\n%i”, A[10-I] ); }
Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 19 16 3 8 11 - 12 Cara-1 for(I=0; I<= 10; I++) { printf(“\n%i”, A[10-I] ); }
30
{ printf(“\n%i”, A[I] ); }
Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 19 16 3 8 11 - 12 Cara-2 for(I=10; >= 10; I--) { printf(“\n%i”, A[I] ); }
31
296 Contoh-3
32
Contoh-3. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 12 10 15 11 3 19 Program? 296
33
{ printf(“\n%i”, A[I] ); }
Contoh-3. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : 12 10 15 11 3 19 for(I=0; I<= 10; I+=2) { printf(“\n%i”, A[I] ); } 296
35
Contoh-4. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array yang nilainya lebih besar dari 10, sehingga tercetak dengan urutan sebagai berikut : 12 17 15 25 11 16 19 Program? 296
36
for(I=0; I<= 10; I++) { if(A[I] > 10 ) printf(“\n%i”, A[I] ); }
Contoh-4. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array yang nilainya lebih besar dari 10, sehingga tercetak dengan urutan sebagai berikut : 12 17 15 25 11 16 19 for(I=0; I<= 10; I++) { if(A[I] > 10 ) printf(“\n%i”, A[I] ); } 296
38
Contoh-5. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak TOTAL seluruh isi array : Program? 296
39
T = 0; for(I=0; I<= 10; I++) { T = T + A[I]; } printf(“\n%i”, T );
Contoh-5. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak TOTAL seluruh isi array : T = 0; for(I=0; I<= 10; I++) { T = T + A[I]; } printf(“\n%i”, T ); 296
41
Contoh-6. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array yang nilainya merupakan bilangan genap. Program? 296
42
printf(“\n%i”, A[I]; ); }
Contoh-6. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak isi array yang nilainya merupakan bilangan genap. for(I=0; I<= 10; I++) { if( A[I] % 2 == 0 ) printf(“\n%i”, A[I]; ); } 296
43
297
45
11. 45 Contoh-7. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Ada 3 baris (diatur oleh I : 1-3 ) setiap baris ada 5 karakter (diatur oleh J : 1-5 ) Jawab-7 Cara-1 menggunakan nested loop N = 0; for(I=1; I <= 3; I++) { for(J=1; J<=5; J++) { printf(“%2c”, A[ N ] ); N = N + 1; } printf(“\n”); Digunakan format 2c agar ada jarak satu spasi antar karakter yang tercetak printf(“\n”) untuk turun satu spasi I dan J digunakan untuk pembentuk loop (nested loop) N digunakan untuk indeks penunjuk elemen array N tidak dihubungkan dengan nilai I dan J, tapi N berdiri sendiri mulai dari 0 (nol) dan selalu naik 1 Perkembangan nilai I, J dan N I 1 2 3 J 1 2 3 4 5 N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dari daftar nilai I, J dan N, terlihat bahwa nilai N dapat dibentuk dengan menggunakan nilai I dan J dengan rumus : N = ( I-1)*5 + J-1 sehingga program diatas dapat dibuat tanpa menggunakan variabel N sebagai berikut : Cara-2 Tidak menggunakan variabel N N = 0; for( I=1; I <= 3; I++) {for(J=1; J<=5; J++ ) { printf(“%2c”, A[(I-1)*5 + J-1]); } printf(“\n”);
46
A B C D E F G H I J K L M N O Program? Contoh-7
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
47
A F K B G L C H M D I N E J O a. A B C D E F G H I J K L M N O b. c. A
A B C D E F G H I J K L M N O a. A B C D E F G H I J K L M N O b. c. A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O A F K B G L C H M D I N E J O f. d. A B C D E F G H I J K L M N O e. A B C D E F G H I J K L M N O
48
A B C D E F G H I J K L M N O Program? Contoh-7
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
49
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1.
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-1. Pakai for(): for(I=0; I<=14; I++) { printf(“%c “, A[I] ); } Pakai while() I=0; While(I<=14) { printf(“%c “, A[I] ); I++; }
50
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-2.
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-2. Pakai for(): N=0; for(I=0; I<=14; I++) { printf(“%c “, A[N] ); N++; } Pakai while() N=0; I=0; While(I<=14) { printf(“%c “, A[N] ); N++; I++; }
51
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-1 for(I=0; I<=14; I++) { printf(“%c “, A[I] ); } Cara-2 N=0; for(I=0; I<=14; I++) { printf(“%c “, A[N] ); N++; }
52
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1 I=0;
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-1 I=0; While(I<=14) { printf(“%c “, A[I] ); I++; } Cara-2 N=0; I=0; While(I<=14) { printf(“%c “, A[N] ); N++; I++; }
53
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-3
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-3 for(I=0; I<=2; I++) { for(J=0;J<=4;J++) { printf(“%c “, A[………………………] ); } Cara-4 N=0; for(I=0; I<=2; I++) { for(J=0;J<=4;J++) { printf(“%c “, A[N] ); N++; }
54
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1 I=0;
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : A B C D E F G H I J K L M N O Cara-1 I=0; While(I<=14) { printf(“%c “, A[I] ); I++; } Cara-2 N=0; I=0; While(I<=14) { printf(“%c “, A[N] ); N++; I++; }
55
Contoh-7b Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
56
A B C D E F G H I J K L M N O Program? Contoh-7c.
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
57
A B C D E F G H I J K L M N O Program? Contoh-7d.
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
58
A B C D E F G H I J K L M N O Program? Contoh-7e.
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Program? 297
59
A F K B G L C H M D I N E J O Program? Contoh-7f.
Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A F K B G L C H M D I N E J O Program? 297
60
A B C D E F G H I J K L M N O Contoh-7. I J N Tercetak : 1 2 3 1 2 3 4
A B C D E F G H I J K L M N O I J N Tercetak : A B C D E F G H I J K L M N O 1 2 3 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Cara-1, menggunakan nested loop N = 0; for(I=1; I <= 3; I++) { for(J=1; J<=5; J++) { printf(“%2c”, A[ N ] ); N = N + 1; } printf(“\n”); 297
61
Contoh-7. A B C D E F G H I J K L M N O I J N 1 2 3 1 2 3 4 5 1 2 3 4
A B C D E F G H I J K L M N O Tercetak : A B C D E F G H I J K L M N O I J N 1 2 3 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 N = 0; for(I=1; I <= 3; I++) { for(J=1; J<=5; J++) { printf(“%2c”, A[ N ] ); N = N + 1; } 297
62
A B C D E F G H I J K L M N O Contoh-7. Tercetak :
A B C D E F G H I J K L M N O I J (I-1)*5 + J-1 Tercetak : A B C D E F G H I J K L M N O 1 2 3 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Cara-2, Tidak menggunakan variabel N for(I=1; I <= 3; I++) { for(J=1; J<=5; J++) { printf(“%2c”, A[(I-1)*5 + j-1 ] ); } printf(“\n”); 297
63
Cara-3, Tidak menggunakan Nested Loop Menggunakan MOD
Contoh-7. A B C D E F G H I J K L M N O Tercetak : A B C D E F G H I J K L M N O I I % 5 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 Cara-3, Tidak menggunakan Nested Loop Menggunakan MOD for(I=1; I<=15; I++ ) { printf(“%2c”, A[ I-1] ); if ( I%5 == 0) printf(“\n”); } 298
64
Cara-4, Tidak menggunakan MOD
Contoh-7. A B C D E F G H I J K L M N O Tercetak : A B C D E F G H I J K L M N O I n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 Cara-4, Tidak menggunakan MOD n = 0; for(I=0; I <= 14; I++ ) { printf(“%2c”, A[ I] ); n = n + 1; if(n == 5) { printf(“\n”); n = 0; } } 298
65
n = 0; for(I=0; I <= 14; I++ ) { printf(“%2c”, A[ I] ); n = n + 1; if(n == 5) { printf(“\n”); n = 0; } } Perkembangan nilai I dan nilai n while (I<=14) n = n+1 if (n==5) printf ( “\n” ) nilai n sekarang I n printf I++ 1 2 3 4 5 6 7 8 9 10 dst 1 2 3 4 dst T dst A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] dst 1 2 3 4 5 dst F F F F True 1 dst pindah baris tetap = 1 tetap = 2 tetap = 3 tetap = 4 menjadi 0 dst 1 2 3 4 5 6 7 8 9 10 11 dst
66
Contoh-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15],
sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Ada 5 baris, ----> I = 1 to 5 Baris 1, I=1 --> J = 1 to 1 atau 1 to I Baris 2, I=2 --> J = 1 to 2 atau 1 to I Baris 3, I=3 --> J = 1 to 3 atau 1 to I Baris 4, I=4 --> J = 1 to 4 atau 1 to I Baris 5, I=5 --> J = 1 to 5 atau 1 to I Jawab-8 Cara-1 menggunakan nested loop atau N = 0; I = 1; while( I<= 5) {J = 1; while (J <= I) { printf(“%2c”, A[N]); N = N + 1; J++; } printf(“\n”); I++; N = 0; for( I=1; I <= 5; I++) {for(J=1; J<=I; J++ ) { printf(“%2c”, A[ N ] ); N = N + 1; } printf(“\n”); Batas tertinggi nilai J adalah I Perkembangan nilai I, J dan N I 1 2 3 4 5 J 1 2 3 4 5 N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 I dan J digunakan untuk pembentuk loop (nested loop) N digunakan untuk indeks penunjuk elemen array N tidak dihubungkan dengan nilai I dan J, tapi N berdiri sendiri mulai dari 0 (nol) dan selalu naik 1, sampai dengan sebanyak yang diatur oleh loop
67
11. 67 Contoh-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Ada 5 baris, ----> I = 1 to 5 Baris 1, I=1 --> J = 1 to 1 atau 1 to I Baris 2, I=2 --> J = 1 to 2 atau 1 to I Baris 3, I=3 --> J = 1 to 3 atau 1 to I Baris 4, I=4 --> J = 1 to 4 atau 1 to I Baris 5, I=5 --> J = 1 to 5 atau 1 to I Jawab-8 Cara-1 menggunakan nested loop atau N = 0; I = 1; while( I<= 5) {J = 1; while (J <= I) { printf(“%2c”, A[N]); N = N + 1; J++; } printf(“\n”); I++; N = 0; for( I=1; I <= 5; I++) {for(J=1; J<=I; J++ ) { printf(“%2c”, A[ N ] ); N = N + 1; } printf(“\n”); Batas tertinggi nilai J adalah I Perkembangan nilai I, J dan N I 1 2 3 4 5 J 1 2 3 4 5 N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 I dan J digunakan untuk pembentuk loop (nested loop) N digunakan untuk indeks penunjuk elemen array N tidak dihubungkan dengan nilai I dan J, tapi N berdiri sendiri mulai dari 0 (nol) dan selalu naik 1, sampai dengan sebanyak yang diatur oleh loop
68
11. 68 Contoh-9. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B C D E F G H I J K L M N O Ada 5 baris, ----> I = 1 to 5 Baris 1, I=1 --> J = 1 to 5 atau 1 to 6-I Baris 2, I=2 --> J = 1 to 4 atau 1 to 6-I Baris 3, I=3 --> J = 1 to 3 atau 1 to 6-I Baris 4, I=4 --> J = 1 to 2 atau 1 to 6-I Baris 5, I=5 --> J = 1 to 1 atau 1 to 6-I Jawab-9 atau N = 0; I = 1; while( I<= 5) { J = 1; while( J<=6-I) { printf(“%2c”,A[N]); N = N + 1; J++; } printf(“\n”); I++; N = 0; for( I=1; I <= 5; I++) { for(J=1; J<=6-I; J++ ) { printf(“%2c”,A[N]); N = N + 1; } printf(“\n”); Dalam setiap loop batas tertinggi nilai J adalah = 6-I Perkembangan nilai I, J dan N I 1 2 3 4 5 J 1 2 3 4 5 N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 I dan J digunakan untuk mengatur loop (nested loop) N digunakan untuk indeks penunjuk elemen array N tidak dihubungkan dengan nilai I dan J, tapi N berdiri sendiri mulai dari 0 (nol) dan selalu naik 1, sampai dengan sebanyak yang diatur oleh loop
69
11. 69 Contoh-10. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A F K B G L C H M D I N E J O Ada 5 baris, ----> I = 0 to 4 Baris 1, I=0 --> dicetak : A[0], A[5], A[10] Baris 2, I= atau : A[I], A[I+5], A[I+10] Baris 3, I=2 Baris 4, I=3 Baris 5, I=4 Jawab-10 I = 0; while( I<= 4) { printf(“%c %c %c \n”, A[I], A[I+5], A[I+10] ); I++; } pada satu harga I dicetak 3 elemen array ada jarak satu spasi Contoh-11. Sudah ada array Satu Dimensi yang dibuat dengan char A[16], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O P Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak dengan urutan sebagai berikut : A B D G K P A B C D E F G H I J K L M N O P Nilai I : Jawab.11 X = 1; I = 0; while( I<= 15) { printf(“\n%c”,A[I]); I = I + X; X++; } X sebagai penambah nilai I. X nilai awalnya dibuat = 1 I tidak ditambah 1 tapi ditambah dengan X dimana X awalnya = 1 dan selalu naik 1
70
11. 70 11.8 Menyalin isi array ke array lain.
Contoh-1. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin isi array A ke array B, sehingga isi array B menjadi : B 12 17 10 5 15 25 11 7 25 16 19 Jawab-1 Ilustrasi proses: A 12 17 10 5 15 25 11 7 25 16 19 B 12 17 10 5 15 25 11 7 25 16 19 Cara-1. Cara-2. Cara-3. I = 0; while( I<= 10) { B[I] = A[I]; I++; } I = 0; J = 0; while( I<= 10) { B[J] = A[I]; J++; I++; } I = 10; while( I>= 0) {B[I] = A[I]; I--; } Disalin dari A[0] sampai dengan A[10] Disalin dari A[10] sampai dengan A[0] Disalin dari A[0] sampai dengan A[10] A dengan indeks I, dan B dengan indeks J
71
11. 71 Contoh-2. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin isi array A ke array B, sehingga isi array B menjadi : B 19 16 25 7 11 25 15 5 10 17 12 Jawab-2 Ilustrasi Proses A 12 17 10 5 15 25 11 7 25 16 19 B 19 16 25 7 11 25 15 5 10 17 12 Cara-1. Cara-2. Cara-3. I = 0; while( I<= 10) { B[10-I] = [I]; I++; } I = 0; J = 10; while( I<= 10) { B[J] = A[I]; I++; J--; } I = 10; while( I>= 0) { B[10-I] = A[I]; I--; } Disalin dari A[0] ke B[10] sampai dengan A[10] ke A[0] Disalin dari A[0] ke B[10] sampai dengan A[10] ke A[0] dimana A menggunakan indeks I dan B menggunakan indeks J Disalin dari A[10] ke B[0] sampai dengan A[0] ke B[10]
72
11. 72 Contoh-3. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin isi array A yang nilainya lebih besar dari 15 ke array B, sehingga isi array B menjadi : B 17 25 25 16 19 Jawab-3 Ilustrasi proses: A 12 17 10 5 15 25 11 7 25 16 19 B 17 25 25 16 19 Cara-1. Cara-2. Cara-3. I = 0; while( I<= 10) {if(A[I] > 15) B[I] = A[I]; I++; } I = 0; J = 0; while( I<= 10) {if(A[I] > 15) B[J] = A[I]; J++; I++; } I = 10; while( I>= 0) {ifA[I] > 15) B[I]=A[I]; I--; } Disalin dari A[0] sampai dengan A[10] Disalin dari A[10] sampai dengan A[0] Disalin dari A[0] sampai dengan A[10] A dengan indeks I, dan B dengan indeks J
73
11. 73 Contoh-4. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin isi array A yang nilainya lebih besar dari 15 ke array B, sehingga isi array B menjadi : B 17 25 25 16 19 Jawab-4 Ilustrasi proses: A 12 17 10 5 15 25 11 7 25 16 19 B 17 25 25 16 19 Cara-1. I = 0; J = 0; while( I<= 10) { if(A[I] > 15) { B[J] = A[I]; J++; } I++; } J baru ditambah dengan 1 bila sudah mengisi satu elemen pada array B Array A dengan indeks I, dan array B dengan indeks J.
74
11. 74 Contoh-5. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin 6 elemen pertama isi array A , ke array B, sehingga isi array B menjadi : B 12 17 10 5 15 25 Jawab-5 Ilustrasi proses: Array A naik satu langkah A 12 17 10 5 15 25 11 7 25 16 19 B 12 17 10 5 15 25 Array B naik dua langkah Cara-1. I = 0; J = 0; while( I<= 10) { B[J] = A[I]; J+=2; I++; } J selalu ditambah 2, sedangkan I selalu ditambah 1 Array A naik satu langkah, array B naik 2 langkah.
75
11. 75 Contoh-6. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : A 12 17 10 5 15 25 11 7 25 16 19 Sudah ada array B Satu Dimensi yang dibuat dengan int B[11]. Belum diisi dengan ilustrasi sebagai berikut : B Susun program untuk menyalin 5 elemen pertama isi array A , ke array B, sehingga isi array B menjadi : B 12 17 10 5 15 Jawab Ilustrasi proses: A 12 17 10 5 15 25 11 7 25 16 19 Array A selalu naik satu langkah B 12 17 10 5 15 Array B selalu naik X langkah, dimana X awalnya = 1, kemudian X selalu naik 1. Cara-1. I = 0; J = 0; while( I<= 10) { B[J] = A[I]; J+=X; X++; I++; } J selalu ditambah X, dimana X selalu ditambah 1
76
11. 76 11.9. Soal-Soal Latihan Mandiri.
Soal-1. Sudah ada array A Satu Dimensi yang dibuat dengan int A[9]. Belum ada isinya dengan ilustrasi sebagai berikut : Gambarkan kembali array tersebut lengkap dengan isinya bila diisi dengan program sebagai berikut : a. I=0; while(I<=8) { A[I] = I; I++; } b. I=0; while(I<=8) { A[I] = I; I+=2; } c. I=8; while(I>=0) { A[I] = I; I--; } d. I=0; while(I<=8) { A[I] = I*2+1; I++; } e. I=0; while(I<=8) { A[I] = pow(2,(I-1)); I++; } f. N =1; I=0; while(I<=8) { A[I] = N; N++; I++; } g. N =1; I=0; while(I<=8) { A[I] = N; N+=2; I++; } h. N =5; I=0; while(I<=8) { A[I] = N; N+=3; I++; } i. N =1; I=0; while(I<=8) { A[I] = N; N++; I+=N; } j. N = 1; X = 1; I = 0; while(I<=8) { A[I] = N; N+=X; X+=1; I++; } k. N = 1; X = 1; I = 0; while(I<=8) { A[I] = N; N++; X+=1; I+=X; }
77
11. 77 Soal-2. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Belum ada isinya dengan ilustrasi sebagai berikut : Susun program (penggalan program) untuk mengisi array tersebut sehingga isinya menjadi sebagai berikut : a. 1 2 3 4 5 6 b. 1 3 5 7 9 11 c. 1 3 6 10 d. 2 5 9 e. 2 6 12 20 30 f. 100 95 85 70 50 g. 5 4 3 2 1 h. 1 2 3 4 5 i. 1 3 6 10
78
11. 78 Soal-3. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Belum ada isinya dengan ilustrasi sebagai berikut : Dalam dokumen ada data tertulis dengan urutan sebagai berikut : 12, 15, 7, 10, 5, 2, 17, 25, 9, 20, 35, 28, 14, 11, 999 (999 sebagai End Of Data) Susun program (penggalan program) untuk menginput data dalam dokumen diatas, satu persatu (mulai dari urutan paling kiri) dan menyimpannya kedalam array sehingga isi array menjadi : a. 12 15 7 10 5 2 17 25 9 20 35 b. 35 20 9 25 17 2 5 10 7 15 12 diisi berurutan dari belakang c. 12 15 7 10 5 2 Yang disimpan hanya bila data yang diinput bernilai lebih besar dari 9.Disimpan sesuai dengan urutan letak data dalam dokumen, Diinput sebatas data yang ada dan sebatas tempat array yang tersedia. d. 12 15 10 17 25 20 35 Yang disimpan hanya bila data yang diinput bernilai lebih besar dari 9. Disimpan berderetan dalam array, Diinput sebatas data yang ada dan sebatas tempat array yang tersedia. e. 12 15 10 17 25 20 35 28 14 Yang disimpan hanya bila nilai yang diinput yang bernilai ganjil. Nilai yang diinput sebatas nilai yang ada, dan sebatas tempat yang tersedia Nilai 999 hanya sebagai batas, tidak ikut disimpan f. 15 7 5 17 25 9 35 11 Yang disimpan hanya bila data yang diinput yang bernilai ganjil. Disimpan dalam array sesuai dengan tata letak (urutannya) dalam okumen. Nilai yang diinput sebatas nilai yang ada, dan sebatas tempat yang tersedia Nilai 999 hanya sebagai batas, tidak ikut disimpan g. 15 7 5 17 25 9 35
79
11. 79 Soal-4. Sudah ada array A Satu Dimensi yang dibuat dengan int A[12]. Sudah ada isinya dengan ilustrasi sebagai berikut : 12 15 7 10 5 2 17 25 9 20 35 14 Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak sebagai berikut : Catatan : Setiap nilai menempati 4 lokasi (space) a. b. c. (hanya yang bernilai lebih besar dari 9) d (hanya yang bernilai ganjil) Untuk Soal e, f dan g, setiap baris, maksimal 3 buah nilai e. f. 35 14 g. 35 ( hanya yang bernilai lebih besar dari 9) ( hanya yang bernilai ganjil) Soal-5. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Susun program (penggalan program) untuk mencetak isi array tersebut sehingga tercetak sebagai berikut : a. A B C D E F G H I J K L M N O b. A B C D E F G H I J K L M N O c. A B C D E F G H I J K L M N O d. A B C D E F G H I J K L M N O e. A B C D E F G H I J K L M N O f. A B C D E F G H O N M L K J I H g. A B C D E F G H I J K L M N O h. A B D G K
80
11. 80 Soal-6. Sudah ada array A Satu Dimensi yang dibuat dengan int A[12]. Sudah ada isinya dengan ilustrasi sebagai berikut : 12 15 7 10 5 2 17 25 9 20 35 14 Apa yang tercetak bila array diatas dicetak dengan instruksi (penggalan program) berikut ini : a. I=0; while(I<=11) {printf(“%4i”, A[I]); I++; } b. I=0; while(I<=11) {printf(“\n%4i”, A[I]); I+=4; } c. I=0; while(I<=11) {printf(“%4i”, A[11-I]); I++; } d. I=0; while(I<=11) {printf(“\n%4i”, A[I*2+1]); I+=3; } e. I=0; while(I<=11) {if(I<20) printf(“%4i”, A[I]); I++; } f. I=0; while(I<=11) {if(I%2 == 0) printf(“%4i”, A[I]); I++; } g. I=0; while(I<=11) {if(fmod(I,2) == 0) printf(“%4i”, A[I]); I++; } h. N=1; I=0; while(I<=11) { printf(“%4i”, A[N]); N++; I+=2; } g. N=1; I=0; while(I<=11) { printf(“%4i”, A[N]); N++; I+=N; } h. N=1; X=1; I=0; while(I<=11) { printf(“%4i”, A[N]); N++; I+=X; X++; }
81
11. 81 Soal-7. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Apa yang tercetak bila array diatas dicetak dengan instruksi (penggalan program berikut ini : a. I=0; while(I<=4) {J=0; while(J<=2) {printf(“%3c”, A[I*3 + J]); J++; } printf(“\n”); I++; b. N=0; I=0; while(I<=4) { J=0; while(J<=2) { printf(“%3c”, A[N]); J++; } printf(“\n”); I++; c. I=0; while(I<=14) { printf(“%3c”, A[I]); if((I+1)%3 == 0) printf(“\n”); I++; } d. N=0; I=0; while(I<=14) { printf(“%3c”, A[I]); N++; if( N == 3) { printf(“\n”); N = 0; } I++; e. N=0; I=1; while(I<=4) { J=I; while(J<=4) { printf(“%3c”, A[N]); J++; } printf(“\n”); I++; f. N=0; I=1; while(I<=4) { J=1; while(J<=I) { printf(“%3c”, A[N]); J++; } printf(“\n”); I++;
82
11. 82 Soal-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : A B C D E F G H I J K L M N O Apa yang tercetak bila array diatas dicetak dengan instruksi (penggalan program berikut ini : a. N=0; I=1; while(I<=4) { X=1; while(X <= I-1) { printf(“ “); X++; } J=I; while(J<=4) { printf(“%3c”, A[N]); J++; printf(“\n”); I++; b. N=0; I=1; while(I<=4) { X=I; while(X <= 3) { printf(“ “); X++: } J=1; while(J<=I) { printf(“%3c”, A[N]); J++; printf(“\n”); I++;
90
291
94
N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } N I N
Contoh-9 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 2, pakai for N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } 289
95
N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } N I N
Contoh-9 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 2, pakai while N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } 289
97
for(I=0; I<=10; I++) { A[I] = I*3+5; } N I N Cara - 1, pakai for
Contoh-9 I 1 2 3 4 5 6 7 8 9 10 11 N I N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 1, pakai for for(I=0; I<=10; I++) { A[I] = I*3+5; } 289
98
I=0; while( I<=10 ) { A[I] = I*3+5; I++; } N I N
Contoh-9 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 1, pakai while I=0; while( I<=10 ) { A[I] = I*3+5; I++; } 289
99
N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } N I N
Contoh-9 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 2, pakai for N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } 289
100
N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } N I N
Contoh-9 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 11 14 17 20 23 26 29 32 35 5 8 11 14 17 20 23 26 29 32 35 Cara - 2, pakai while N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } 289
102
5 8 13 20 29 40 53 68 85 104 I N Contoh-10 Program?
103
Program? I N X X awalnya = 3, dan selalu bertambah 2 5 8 13 20 29 40
53 68 85 104 I N Contoh-11 X Program? X awalnya = 3, dan selalu bertambah 2
104
N = 5; X = 3; for ( I=1; I<=10; I++) { A[I] = N; N = N + X;
Contoh-11 I I 1 2 3 4 5 6 7 8 9 10 11 N N 5 8 13 20 29 40 53 68 85 104 5 8 13 20 29 40 53 68 85 104 Cara - 1 N = 5; X = 3; for ( I=1; I<=10; I++) { A[I] = N; N = N + X; X = X + 2; }
105
for(I=1; I<=10; I++) { A[I] = I * I + 4; } A[I] = (I+1)(I-1) + 5 I
Contoh-11 I I 1 2 3 4 5 6 7 8 9 10 11 N 5 8 13 20 29 40 53 68 85 104 5 8 13 20 29 40 53 68 85 104 Cara - 2 for(I=1; I<=10; I++) { A[I] = I * I + 4; } Rumus Asli A[I] = (I+1)(I-1) + 5
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.