2016 PRAKTIKUM 18 : ARRAY 1 BAHASA C : BAB ARRAY DWI SETIYA NINGSIH // 210 315 7 025 [COMPANY NAME] [Company address]
PERCOBAAN 1. Deklarasikan sebuah variabel array of int, selanjutnya isi array tsb kemudian tampilkan isi variabel tersebut menggunakan statement for(). Ingat apabila jumlah deklarasi index adalah n maka nilai index-nya adalah dimulai dari 0 sampai dengan n-1. Penyelesaian: a) Listing Program #include<stdio.h> #include<conio.h> #define maks 100 void input(int); int main(){ int n; printf("\n\t********************************************* *************\n"); printf("\t\tmenampilkan ISI VARIABLE ARRAY of INT"); printf("\n\t********************************************* *************\n"); printf("\nmasukkan batas n: "); scanf("%d", &n); input(n); getch(); void input(int n){ int a[maks],i; for(i=0;i<n;i++) { printf("masukkan data ke-%d=", i+1); scanf("%d", &a[i]);
b) SS Program c) Analisis Program Array merupakan variable yang dapat menyimpan data lebih dari 1 namun tipenya harus sama. Sebelum digunakan array perlu dideklarasikan dahulu ukurannya. Elemen dari suatu array dapat kita akses nilai dari elemennya cukup dengan memanggil indeks dari elemen array t ersebut, con t ohnya, angka[indeks]. Agar nilai dari array mudah ditampilkan, maka digunkanlah looping for sesuai dengan ukuran array tersebut. 2. Deret fibonacci adalah deret yang dimulai dengan dua angka yang bernilai 0 dan 1, kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Sehingga didapatkan deret fibonanci sebagai berikut: 0 1 1 2 3 5 8 13 21
Buatlah program untuk meminta input dari user berupa sebuah bilangan, kemudian tampilkan deret fibonacci mulai dari 1 sampai dengan bilangan tsb. Penyelesaian: a) Listing Program #include<stdio.h> #include<conio.h> void fibonacci(int); int main(){ int n; printf("\n\t**************************************** ****\n"); printf("\t\t\tfibonacci of ARRAY"); printf("\n\t**************************************** ****\n"); printf("\nmasukkan batas n: "); scanf("%d", &n); fibonacci (n); printf("\n"); getch(); void fibonacci (int n){ int i,a[100]; for(i=0;i<n;i++){ if(i==0){ a[i]=0; printf("0"); else if(i==1){ a[i]=1;
printf("1"); else{ a[i]=a[i-1]+a[i-2]; printf("%d",a[i]); b) SS Program c) Analisis Program D e r e t F i b o n a c c i a d a l a h d e r e t y a n g d i m u l a i d e n g a n d u a a n g k a y a n g b e r n i l a i 0 d a n 1, kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Untuk melakukan hal tersebut dalam bahasa pemrograman dapat menggunakan array agar prosesnya lebih mudah. Pertama kita perlu menginisialisasikan nilai pertama dan kedua sebagai awal, kemudian selanjutnya dengan pengulangan kita isi nilai array ketiga dan seterusnya dengan menjumlahkan nilai dari dua elemen array sebelumnya.
3. Buat penjumlahan dua matriks A[2][2]dengan B[2][2]. Hasil penjumlahan tersebut disimpan dalam matrik C. Tampilkan di layar masing-masing isi dari matriks A, B dan C. Catatan modifikasi (gunakan nested loop) : - indeks MAKS dibuat konstanta - variabel ordo matriks diinputkan - memungkinkan pengulangan proses dengan menginputkan ordo yang lain Penyelesaian: a) Listing Program #include<stdio.h> #define maxcol 10 #define maxrow 10 int ma[maxrow][maxcol]; int mb[maxrow][maxcol]; int mc[maxrow][maxcol]; void inputmatriksa(int row, int col) { int i, j; for(i=0;i<row;i++){ for(j=0;j<col;j++){ printf("matriks A[%d, %d] = ",i,j); scanf("%d",&ma[i][j]); void inputmatriksb(int row, int col) { int i, j;
for(i=0;i<row;i++){ for(j=0;j<col;j++){ printf("matriks B[%d, %d] = ",i,j); scanf("%d",&mb[i][j]); void cetakmatriks(int a[maxrow][maxcol],int row, int col){ int i,j; for(i=0;i<row;i++){ for(j=0;j<col;j++){ printf(" %d ",a[i][j]); printf("\n"); int main() { int nrow, ncol; int i,j; nrow = 2; ncol = 2; printf("\n\t**************************************** *********\n"); printf("\t\thasil TAMBAH 2 MATRIKS ORDO [2x2]"); printf("\n\t**************************************** *********\n"); printf("\nmasukkan Matriks A : \n");
inputmatriksa(nrow,ncol); printf("\nmasukkan Matriks B: \n"); inputmatriksb(nrow,ncol); printf("\ncetak Matriks A: \n"); cetakmatriks(ma,nrow,ncol); printf("\ncetak Matriks B: \n"); cetakmatriks(mb,nrow,ncol); printf("\npenjumlahan Matriks A + B: \n"); for(i=0;i<nrow;i++){ for(j=0;j<ncol;j++){ mc[i][j] = ma[i][j] + mb[i][j]; printf(" %d ",mc[i][j]); printf("\n"); b) SS Program
c) Analisis Program Sebenarnya k o nsep m a triks d a n a r ray d u a d i mensi h a m pir sama. J a d i, u n tuk m e n jumlahkan d u a m a t r i k s d e n g a n a r r a y, h a l pertama y a n g d i l a k u k a n t e n t u s a j a memasukkan nilai dari semua elemen matrik / array dari kedua array. Setelah semua dimasukkan, tinggal ditambahkan antara nilai elemen dengan indeks yang sama pada kedua array. 4. Buatlah sebuah variabel array of int yang memiliki ukuran MAKS. Dengan menggunakan looping for(), masukkan sebanyak n data ke dalam array tsb kemudian carilah nilai terbesar yang ada dalam array tsb. Penyelesaian: a) Listing Program # include <stdio.h>
#define Maks[5] main () { int data [5]; int a,b; int max,min; // masukan untuk batas printf("jumlah bilangan yang dimasukkan (maks 5): "); scanf ("%d",&a); //pengulangan untuk memasukkan data ke dalam array for (b=1;b<=a;b++) { printf("\n\nbilangan ke-%d: ",b); scanf("%d",&data [b]); //mencari nilai terbesar dan terkecil di array dengan looping max=data[1]; min=data[1]; for (b=1;b<=a;b++) if (data[b]>=max){ max=data[b]; else if (data[b]<=min){ min=data[b]; printf("\n\nnilai tertinggi:%d", max); getch(); b) SS Program
c) Analisis Program Untuk mencari nilai terbesar dari suatu elemen array. Maka yang kita lakukan adalah membanding-bandingkan nilai dari semua elemen array tersebut setelah diinputkan. P e r tama k i t a h a r u s m e n g a s u m s i k a n b a h wa n i l a i e l e m e n a r r a y pertama a d a l a h n i l ai terbesar, kemudian dibandingkan bila nilai element array selanjutnya, apabila lebih besar maka dia yang terbesar. Begitu selanjutnya hingga semua elemen selesai dibandingkan. KESIMPULAN 1. Array adalah kumpulan dari nilai - nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. 2. Elemen dari array array dapat kita akses dengan memanggil indeksnya. 3. Array dapat memiliki dimensi sebanyak satu, dua, tiga atau lebih. 4. Pada bahasa C, ukuran dari array tidak dapat diubah setelah dideklarasikan.