Anda di halaman 1dari 8

LAPORAN AKHIR AP V - ARRAY 1 DIMENSI

SUNNY INEZA PUTRI 140310110017

I.

Tugas Akhir 1 Buatlah program C yang bertujuan untuk menghitung deret Fibonacci menggunakan array List program:
#include <stdio.h> #include <conio.h> main() { int i, N, A[99]; printf("Masukkan jumlah deret: "); scanf("%d", &N); printf("Masukkan bilangan pertama: "); scanf("%d", &A[1]); printf("Masukkan bilangan kedua: "); scanf("%d", &A[2]); printf("Deret Fibonacci: %d %d ", A[1], A[2]); for(i=3;i<=N;i++) { A[i]=A[i-1] + A[i-2]; printf("%d ", A[i]); } getch(); }

Tampilan:

Analisa: Dengan menggunakan array kirta juga dapat menghitung deret Fibonacci dengan kita menentukan indeks akhir dari array sebagai batas batas maksimal jumlah bilangan yang akan ditampilkan. Setelah diinput banyak bilangan yang akan ditampilkan, bilangan pertama dan kedua, kemudian akan dilakukan pengulangan untuk menampilkan bilangan selanjutnya dengan cara menjumlahkan dua bilangan sebelumnya sampai batas bilangan yang ingin ditampilkan. II. Tugas Akhir 2 Buatlah program C yang bertujuan menampilkan deret Pascal List program:
#include<stdio.h> #include<conio.h>

int faktorial(int N,int& F) { int k; F=1; for(k=1;k<=N;k++) F=k*F; } int kombinasi(int N,int r,int& C) { int fn,fr,fnr; faktorial(N,fn); faktorial(r,fr); faktorial(N-r,fnr); C=fn/(fr*fnr); } main() {

int N,F,i,j,k,C; printf("Tingkat segitiga pascal : ");scanf("%d",&N); for (i=1;i<=N;i++) { for(j=N;j>=i;j--) { printf(" "); } for(k=0;k<i;k++) { kombinasi(i-1,k,C); printf("%2d ",C); } printf("\n\n"); } printf(""); getch(); }

Tampilan:

Analisa: Dalam program ini digunakan fungsi factorial, kemudian fungsi factorial tersebut dimasukkan kedalam fungsi kombinasi. Dalam program utama menggunakan for bersarang untuk menampilkan deret Pascal. III. Tugas Akhir 3 Modifikasi program-program dalam percobaan program praktikum sehingga rutinnya disimpan dalam sebuah fungsi dengan argument. (fungsi maks(), fungsi min(), bubble() dll). List program:
#include <stdio.h>

#include <conio.h> void minmax (int BIL[], int N) { int i, max, min; min = BIL[0]; max = BIL[0]; for(i=1;i<N;i++) { if (BIL[i]<min) min = BIL [i]; if (BIL[i]>max) max = BIL[i]; } printf("Nilai minimum :%d\n", min); printf("Nilai maximum :%d\n", max); } void descending (int BIL[], int N) { int i, j, temp; for(i=1;i<=N-1;i++) { for(j=i;j<N;j++) { if (BIL[i-1]<BIL[j]) { temp = BIL[j]; BIL[j] = BIL[i-1]; BIL[i-1] = temp; } } } printf("Diurutkan secara descending: "); for(i=0;i<N;i++) printf("%d ", BIL[i]); printf("\n"); }

void ascending (int BIL[], int N) {

int i, j, temp; for(i=1;i<=N-1;i++) { for(j=i;j<N;j++) { if (BIL[i-1]>BIL[j]) { temp = BIL[i-1]; BIL[i-1]=BIL[j]; BIL[j] = temp; } } } printf("Diurutkan secara ascending: "); for(i=0;i<N;i++) printf("%d ", BIL[i]); printf("\n"); } main() { int i, N, BIL[15],min, max; printf("Masukkan banyaknya bilangan (maksimum 15): "); scanf("%d",&N); if (N<16) { for(i=0;i<N;i++) { printf("Input bilangan ke %d : ",i+1); scanf("%d", &BIL[i]); } minmax(BIL, N); ascending(BIL, N); descending(BIL, N); } else printf("Banyak bilangan yang Anda masukkan melebihi batas"); getch (); }

Tampilan:

Analisa: Dengan menggunakan array dapat dibuat sebuah pencarian maks-min, pengurutan ascending dan descending. Dalam program ini dibuat fungsi masingmasing untuk setiap rutin. Sehingga saat di fungsi utama tinggal melakukan panggilan terhadap fungsi yang dibuat sesuai keinginan. IV. Tugas Tambahan Buatlah program dimana data telah diurutkan, setelah itu buat program untuk menghitung nilai median List program:
#include <stdio.h> #include <conio.h> int i, j, n, temp; float med, data [100], x; main() { printf("Masukkan banyaknya data (maksimal 100) = "); scanf("%d", &n); for (i=1; i<=n; i++) { printf("Input data ke %d = ", i); scanf("%f", &data[i]); }

for (i=1; i<=n; i++) {

for (j=n; j>=(i+1); j--) { if (data[j] > data[j-1]) { temp = data[j]; data[j] = data[j-1]; data[j-1] = temp; } } }

printf("\nSetelah diurutkan : "); for (i=1; i<=n; i++) { printf("%.0f ", data[i]); }

x = n%2; if (x != 0) med = data[(n+1)/2]; else med = (data[n/2]+ data[((n+2)/2)])/2;

printf("\n"); printf("\nNilai median = %.2f\n", med); getch (); }

Tampilan:

Analisa: Dalam program ini kita mengurutkan datra yang dimasukkan terlebih dahulu secara ascending maupun descending. Setelah itu baru dilakukan pencarian nilai median dengan pengkondisian jika modulusnya tidak sama dengan nol bearti ganjil maka menggunakan rumus data[(n+1)/2]. Sedangkan jika modulus sama dengan nol bearti genap dapat digunakan rumus data[n/2]+ data[((n+2)/2)])/2. V. Analisa Umum Array dapat dignakan dalam program yang menggunakan tipe data sama. Dalam array dapat juga menggunakan fungsi baru yang kmudian akan dipakai pada fungsi utama. Program array dapat digunakan untuk pencarian dan pengurutan data. VI. Kesimpulan Array dapat digunakan untuk melakukan pencarian maksimum, minimum dan nilai median. Selain itu juga dapat dilakukan pengurutan secara ascending ataupun descending. Array juga dapat menggunakan fungsi baru dalam program agar lebih efisien.