09.5 Hari-9
09.5 Menyalin isi array ke array yang 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
I = 0; while( I<= 10) { B[I] = A[I]; I++; } Cara-1. Cara-2. Cara-3. 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++; } Cara-2. Cara-3. 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. 5 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. 6 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. 8 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. 9 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. 10 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. 11 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. 12 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. 13 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. 14 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. 15 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. 16 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. 17 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++;
Bersambung ke : 09.6 Menyalin isi aray ke array yang lain