Nilai Terbesar dan Terkecil

Nilai terbesar maupun nilai terkecil bisa didapatkan dengan membandingkan semua isi array di dalam loop. Hasilnya bisa disimpan ke dalam variabel. Variabel tersebut bisa diberi data pertama sebelum dibandingkan dengan data lain dalam loop. Jika loop diletakkan di dalam function, kalian bisa mengembalikan nilai variabel tersebut setelah loop selesai.

Contoh function untuk mencari nilai terbesar bisa kalian lihat di bawah ini.

float terbesar(dataku data, int jdata){
    int nilai=0;
    if(jdata > 0){
        nilai=data[0];
    	   for(int i=1;i<jdata;i++){
               if(data[i] > nilai)nilai=data[i];
        }
    }
    return nilai;
}

Hal yang sama bisa dilakukan saat mencari nilai terkecil. Bedanya cuma ada pada tanda perbandingan yang digunakan untuk kondisi if. Jika tanda untuk mencari nilai terbesar menggunakan operator "lebih besar dari ( > )", maka untuk mencari nilai terkecil operatornya adalah "lebih kecil dari ( < )".

float terkecil(dataku data, int jdata){
    int nilai=0;
    if(jdata > 0){
        nilai=data[0];
    	   for(int i=1;i<jdata;i++){
               if(data[i] < nilai)nilai=data[i];
        }
    }
    return nilai;
}
Contoh kode program utuhnya bisa kalian lihat di bawah ini.
#include <iostream>

using namespace std;

typedef float* dataku;

float terbesar(dataku data, int jdata){
	int nilai=0;
	if(jdata > 0){
	    nilai=data[0];
    	
            for(int i=1;i<jdata;i++){
	          if(data[i] > nilai)nilai=data[i];
    	    }
	}
	return nilai;
}

float terkecil(dataku data, int jdata){
	int nilai=0;
	if(jdata > 0){
	    nilai=data[0];
            for(int i=1;i<jdata;i++){
	        if(data[i] < nilai)nilai=data[i];
            }
	}
	return nilai;
}

int dapatkan_data(dataku data){
    int jdata=0;
    
    cout << "Banyaknya data : ";
    cin >> jdata;
    if(jdata < 100)
        for(int i=0;i<jdata;i++){
	    cout << "Data ke-" << i+1 << ":";
	    cin >> data[i];
        }
    return jdata;
}

int main(){
    float a[100];
    int jdata=0;
	
    jdata=dapatkan_data(a);
    cout << "Nilai minimum : ";
    cout << terbesar (a, jdata) << endl;
    cout << "Nilai maksimum : ";
    cout << terkecil (a, jdata) << endl;
    return 0;
}
Contoh :
Banyaknya data : 5
Data ke-1:23
Data ke-2:32
Data ke-3:22
Data ke-4:21
Data ke-5:40
Nilai minimum : 40
Nilai maksimum : 21

Versi Pascal

Kalau kalian butuh versi pascalnya, kalian bisa gunakan kode program seperti di bawah ini.

type dataku=array[1..100] of real;
var a:dataku;
    jdata:Integer;

function terbesar(var data:dataku;jdata:Integer):real;
var i:Integer;
    nilai:Real;
begin
  nilai:=0;
  if(jdata > 0)then
  begin
     nilai:=data[1];
     for i:=1 to jdata do
       if(data[i] > nilai)then
         nilai:=data[i];
  end;
  terbesar:=nilai;
end;

function terkecil(var data:dataku;jdata:Integer):real;
var i:Integer;
    nilai:Real;
begin
  nilai:=0;
  if(jdata > 0)then
  begin
     nilai:=data[1];
     for i:=1 to jdata do
        if(data[i] < nilai)then
          nilai:=data[i];
  end;
  terkecil:=nilai;
end;


function dapatkan_data(var data:dataku):Integer;
var jdata:integer=0;
    i:Integer;
begin
    writeln('Banyaknya data : ');
    readln(jdata);
    if(jdata < 100)then
    for i:=1 to jdata do
    begin
        write('Data ke-', i, ' : ');
        readln(data[i]);
    end;
    dapatkan_data:=jdata;
end;

begin
    jdata:=dapatkan_data(a);
    writeln('Nilai minimum : ', terkecil (a, jdata));
    writeln('Nilai maksimum : ', terbesar (a, jdata));
    readln;
end.