- Back to Home »
- Belajar Bahasa C , Mahir Bahasa C , Materi Bahasa C , Menguasai Bahasa C , Pemrograman Bahasa C »
- Mencari Nilai Maksimum/Minimum dengan Bahasa C
Posted by : ClownMan
Saturday, August 1, 2015
Program untuk
mencari nilai maksimu/minimum ini merupakan kombinasi dari penggunaan array dan
fungsi.
Bagan alur
program yang akan dibuat ditampilkan pada gambar 1 dan gambar 2.
Gambar 1 |
Gambar 2 |
Pencarian nilai maksimum
Pada prinsipnya
alur dari pencarian nilai maksimum adalah sebagai berikut:
- Dideklarasikan
sebuah variabel bernama maks.
- Variabel
maks tersebut diisi dengan data pertama dari kumpulan data.
- Program
melakukan iterasi dengan looping for menuju ke data kedua, ketiga, dan
seterusnya hingga data terakhir.
- Setiap
kali iterasi, data dibandingkan dengan nilai data variabel maks. Jika data
pada langkah iterasi tersebut nilainya lebih besar daripada data
variabel maks, maka data tersebut dimasukkan ke variabel maks menggantikan
data sebelumnya.
Program mencari nilai maksimum diberikan
pada listing 1.
Listing 1. Mencari nilai maksimum
#include <stdio.h>
#define N 20
float maks();
int i;
main()
{
float nmaks, bil[N];
int jml;
clrscr();
printf("Program mencari nilai maksimum \n\n");
// input jumlah bilangan
printf("Jumlah bilangan (maks 20) : ");
scanf("%d",&jml);
printf("\n");
// input data
for (i=0;i<jml;i++)
{
printf("Bilangan
ke %d : ",i+1);
scanf("%f",&bil[i]);
}
// mencari nilai maksimum
nmaks = maks(bil,jml);
// mencetak nilai maksimum
printf("Nilai maksimum adalah : %f",nmaks);
}
// fungsi menentukan nilai maksimum
float maks(X,k);
float X[];
int k;
{
float maksimum = X[0];
for (i=0;i<k;i++)
{
if (X[i] >
maksimum)
{
maksimum
= X[i];
}
}
return maksimum;
}
|
Jika program
tersebut dijalankan, salah satu kemungkinan hasilnya adalah sebagai berikut:
Program mencari nilai maksimum
Jumlah bilangan (maks 20) : 5
Bilangan ke 1 : 12
Bilangan ke 2 : 65
Bilangan ke 3 : 32
Bilangan ke 4 : 73
Bilangan ke 5 : 49
Nilai maksimum adalah : 73.000000
Bandingkan
dengan gambar 3.
Gambar 3 |
Pencarian nilai minimum
Pada prinsipnya
alur dari pencarian nilai minimum sama dengan pencarian nilai maksimum, hanya
ada sedikit perbedaan pada pembandingan nilai variabel. Alurnya adalah sebagai
berikut:
- Dideklarasikan
sebuah variabel bernama min.
- Variabel
min tersebut diisi dengan data pertama dari kumpulan data.
- Program
melakukan iterasi dengan looping for menuju ke data kedua, ketiga, dan
seterusnya hingga data terakhir.
- Setiap
kali iterasi, data dibandingkan dengan nilai data variabel min. Jika data
pada langkah iterasi tersebut nilainya lebih kecil daripada data
variabel min, maka data tersebut dimasukkan ke variabel min menggantikan
data sebelumnya.
Program mencari nilai minimum diberikan pada
listing 2.
Listing 2. Mencari nilai minimum
#include <stdio.h>
#define N 20
float min();
int i;
main()
{
float nmin, bil[N];
int jml;
clrscr();
printf("Program mencari nilai minimum \n\n");
// input jumlah bilangan
printf("Jumlah bilangan (maks 20) : ");
scanf("%d",&jml);
printf("\n");
// input data
for (i=0;i<jml;i++)
{
printf("Bilangan
ke %d : ",i+1);
scanf("%f",&bil[i]);
}
// mencari nilai minimum
nmin = min(bil,jml);
// mencetak nilai minimum
printf("Nilai minimum adalah : %f",nmin);
}
// fungsi menentukan nilai minimum
float min(X,k)
float X[];
int k;
{
float minimum = X[0];
for (i=0;i<k;i++)
{
if (X[i] <
minimum)
{
minimum
= X[i];
}
}
return minimum;
}
|
Salah satu
kemungkinan hasil apabila program tersebut dijalankan adalah sebagai berikut:
Program mencari nilai minimum
Jumlah bilangan (maks 20) : 5
Bilangan ke 1 : 12
Bilangan ke 2 : 65
Bilangan ke 3 : 32
Bilangan ke 4 : 73
Bilangan ke 5 : 49
Nilai minimum adalah : 12.000000
Bandingkan
dengan gambar 4.
Nah, sebagai
latihan, Anda bisa menggabungkan kedua program tersebut menjadi satu program
dengan misalnya ditambah suatu kondisi agar pengguna program memilih apakah
akan mencari nilai maksimum atau nilai minimum. Jika yang ingin dicari adalah
nilai maksimum, maka program akan menjalankan fungsi maks(), sedangkan bila yang
ingin dicari adalah nilai minimum, maka program akan menjalankan fungsi min().
Namun bisa juga
dalam satu program yang sama, output yang dihasilkan adalah nilai maksimum dan
minimum sekaligus.
Selamat mencoba.