Array 1 Dimensi
-
Upload
sunny-ineza -
Category
Documents
-
view
111 -
download
3
description
Transcript of Array 1 Dimensi
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 masing-
masing 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.