291
11. 2 11.6 Mengisi Array Dengan Data Yang Diketik Melalui Keyboard 291
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.
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 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.
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 : 0 1 2 3 4 5 6 7 8 9 10 57 75 90 55 60 62 72 58 76 69 67
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] 0 1 2 3 4 5 6 7 8 9 10 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
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] 0 1 2 3 4 5 6 7 8 9 10 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
11. 9
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 : 0 1 2 3 4 5 6 7 8 9 10 75 90 60 62 72 76 69 67 82 65 79
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] 0 1 2 3 4 5 6 7 8 9 10 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
11. 13 292 menginput String
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
#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
#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
scanf( ) \0 292 Bila data yang di INPUT bila dicetak dengan : printf( “%s “, S ); atau puts(S) Akan disimpan dalam variable array S 0 1 2 3 4 5 6 7 8 9 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
293
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);
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++; }
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 0 1 2 3 4 5 6 7 8 9 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
Menginput String pada Bahasa Java : lihat Bab 7 (tidak diuji)
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
11.7 Mencetak Isi Array Satu Dimensi 295
Contoh-1. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
{ printf(“\n%i”, A[I] ); } Contoh-1. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
{ printf(“\n%i”, A[10-I] ); } Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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] ); }
{ printf(“\n%i”, A[I] ); } Contoh-2. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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] ); }
296 Contoh-3
Contoh-3. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
{ printf(“\n%i”, A[I] ); } Contoh-3. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
Contoh-4. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
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 : 0 1 2 3 4 5 6 7 8 9 10 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
Contoh-5. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 12 17 10 5 15 25 11 8 3 16 19 Susun program (penggalan program) untuk mencetak TOTAL seluruh isi array : Program? 296
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 : 0 1 2 3 4 5 6 7 8 9 10 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
Contoh-6. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
printf(“\n%i”, A[I]; ); } Contoh-6. Sudah ada array Satu Dimensi A[11], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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
297
11. 45 Contoh-7. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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”);
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-2. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1 I=0; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
A B C D E F G H I J K L M N O Char A[15][ a. Tercetak : Cara-1 I=0; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++; }
Contoh-7b Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
A B C D E F G H I J K L M N O Contoh-7. Tercetak : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
Cara-3, Tidak menggunakan Nested Loop Menggunakan MOD Contoh-7. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
Cara-4, Tidak menggunakan MOD Contoh-7. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
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
Contoh-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
11. 67 Contoh-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
11. 68 Contoh-9. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
11. 69 Contoh-10. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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=1 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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A B C D E F G H I J K L M N O P Nilai I : 0 1 3 6 10 15 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
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 : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin isi array A ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 12 17 10 5 15 25 11 7 25 16 19 Jawab-1 Ilustrasi proses: 0 1 2 3 4 5 6 7 8 9 10 A 12 17 10 5 15 25 11 7 25 16 19 0 1 2 3 4 5 6 7 8 9 10 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
11. 71 Contoh-2. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin isi array A ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 19 16 25 7 11 25 15 5 10 17 12 Jawab-2 Ilustrasi Proses 0 1 2 3 4 5 6 7 8 9 10 A 12 17 10 5 15 25 11 7 25 16 19 B 19 16 25 7 11 25 15 5 10 17 12 0 1 2 3 4 5 6 7 8 9 10 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]
11. 72 Contoh-3. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin isi array A yang nilainya lebih besar dari 15 ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 17 25 25 16 19 Jawab-3 Ilustrasi proses: 0 1 2 3 4 5 6 7 8 9 10 A 12 17 10 5 15 25 11 7 25 16 19 0 1 2 3 4 5 6 7 8 9 10 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
11. 73 Contoh-4. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin isi array A yang nilainya lebih besar dari 15 ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 17 25 25 16 19 Jawab-4 Ilustrasi proses: 0 1 2 3 4 5 6 7 8 9 10 A 12 17 10 5 15 25 11 7 25 16 19 B 17 25 25 16 19 0 1 2 3 4 5 6 7 8 9 10 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.
11. 74 Contoh-5. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin 6 elemen pertama isi array A , ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 12 17 10 5 15 25 Jawab-5 Ilustrasi proses: 0 1 2 3 4 5 6 7 8 9 10 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 0 1 2 3 4 5 6 7 8 9 10 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.
11. 75 Contoh-6. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 B Susun program untuk menyalin 5 elemen pertama isi array A , ke array B, sehingga isi array B menjadi : 0 1 2 3 4 5 6 7 8 9 10 B 12 17 10 5 15 Jawab-10.7.6 Ilustrasi proses: 0 1 2 3 4 5 6 7 8 9 10 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. 0 1 2 3 4 5 6 7 8 9 10 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
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 : 0 1 2 3 4 5 6 7 8 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; }
11. 77 Soal-2. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Belum ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 Susun program (penggalan program) untuk mengisi array tersebut sehingga isinya menjadi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 a. 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10 b. 1 3 5 7 9 11 0 1 2 3 4 5 6 7 8 9 10 c. 1 3 6 10 0 1 2 3 4 5 6 7 8 9 10 d. 2 5 9 0 1 2 3 4 5 6 7 8 9 10 e. 2 6 12 20 30 0 1 2 3 4 5 6 7 8 9 10 f. 100 95 85 70 50 0 1 2 3 4 5 6 7 8 9 10 g. 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 h. 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 10 i. 1 3 6 10
11. 78 Soal-3. Sudah ada array A Satu Dimensi yang dibuat dengan int A[11]. Belum ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 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 : 0 1 2 3 4 5 6 7 8 9 10 a. 12 15 7 10 5 2 17 25 9 20 35 0 1 2 3 4 5 6 7 8 9 10 b. 35 20 9 25 17 2 5 10 7 15 12 diisi berurutan dari belakang 0 1 2 3 4 5 6 7 8 9 10 c. 12 15 7 10 5 2 0 1 2 3 4 5 6 7 8 9 10 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 0 1 2 3 4 5 6 7 8 9 10 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 0 1 2 3 4 5 6 7 8 9 10 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 0 1 2 3 4 5 6 7 8 9 10 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
11. 79 Soal-4. Sudah ada array A Satu Dimensi yang dibuat dengan int A[12]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 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. 12 15 7 10 5 2 17 25 9 20 35 14 b. 14 35 20 9 25 17 2 5 10 7 15 12 c. 12 15 10 17 25 20 35 14 (hanya yang bernilai lebih besar dari 9) d 15 7 5 17 25 9 35 (hanya yang bernilai ganjil) Untuk Soal e, f dan g, setiap baris, maksimal 3 buah nilai e. 12 15 7 10 5 2 17 25 9 20 35 14 f. 12 15 10 17 25 20 35 14 g. 15 7 5 17 25 9 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 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
11. 80 Soal-6. Sudah ada array A Satu Dimensi yang dibuat dengan int A[12]. Sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 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++; }
11. 81 Soal-7. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++;
11. 82 Soal-8. Sudah ada array Satu Dimensi yang dibuat dengan char A[15], sudah ada isinya dengan ilustrasi sebagai berikut : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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++;
291
N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } N I N Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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
N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } N I N Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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
for(I=0; I<=10; I++) { A[I] = I*3+5; } N I N Cara - 1, pakai for Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I 1 2 3 4 5 6 7 8 9 10 11 N I 0 1 2 3 4 5 6 7 8 9 10 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
I=0; while( I<=10 ) { A[I] = I*3+5; I++; } N I N Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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
N = 5; for ( I=0; I<=10; I++) { A[I] = N; N+=3; } N I N Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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
N = 5; I=0; while( I<=10 ) { A[I] = N; N+=3; I++; } N I N Contoh-9 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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
5 8 13 20 29 40 53 68 85 0 1 2 3 4 5 6 7 8 9 10 104 0 1 2 3 4 5 6 7 8 9 10 I N Contoh-10 Program?
Program? I N X X awalnya = 3, dan selalu bertambah 2 5 8 13 20 29 40 53 68 85 0 1 2 3 4 5 6 7 8 9 10 104 0 1 2 3 4 5 6 7 8 9 10 I N Contoh-11 X 3 5 7 9 11 13 15 17 19 Program? X awalnya = 3, dan selalu bertambah 2
N = 5; X = 3; for ( I=1; I<=10; I++) { A[I] = N; N = N + X; Contoh-11 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 N 0 1 2 3 4 5 6 7 8 9 10 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; }
for(I=1; I<=10; I++) { A[I] = I * I + 4; } A[I] = (I+1)(I-1) + 5 I Contoh-11 0 1 2 3 4 5 6 7 8 9 10 I I 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 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