(Sebelumnya Maaf ini artikel khusus untuk anak S1 Teknik Informatika Semester Satu yang mengambil Mata Kuliah Algoritma dengan saya di lab. Tetapi isi dapat dibaca umum :D)
Algroritma Mencari Bilangan Terkecil dan Terbesar dari beberapa variabel mulai dari 3 buah variabel, 4 buah variabel, dan 10 Variabel. Hal ini kenapa saya tugaskan karena supaya ada pemahaman konsep antara konsep percabangan dan perulangan. Karena untuk mencari bilangan terkecil maupun terbesar dari beberapa
variabel yang menampungnya kita bisa menggunakan percabangan IF, ataupun perulangan FOR untuk menyelesaikannya. Nah untuk IF sendiri kemampuanya terbatas karena semakin banyak variabel yang dibandingkan maka semakin banyak pula perlu kita mengkodingnya, berbeda dengan perulangan FOR, ini akan lebih simple mungkin hanya 10baris, bahkan kurang dan itu berlaku untuk berapapun variabel yang akan dibandingkan.
>Oke mulai saja sekarang akan kita selesaikan dengan percabangan IF dahulu
1.   Mencari bilangan terkecil dan terbesar dari 3 buah variabel
      Langkah-langkahnya langsung ke program saja :


#include "stdio.h"
#include "conio.h"

int main(){
                int v1,v2,v3,min,max;
                v1 = 12;
                v2 = 59;
                v3 = 44;
                //minimal
                if (v1 < v2 && v1 < v3){
                                                min = v1;
                }
                else if(v2 < v1 && v2 < v3){
                                min = v2;
                }
                else{
                                min = v3;
                }
                //maximal
                if (v1 > v2 && v1 > v3){
                                                max = v1;
                }
                else if(v2 > v1 && v2 > v3){
                                max = v2;
                }
                else{
                                max = v3;
                }             
                printf("Minimal : %d\n", min);
                printf("Maximal : %d", max);
                getch();
                return 0;
}

2.  Mencari bilangan terkecil dan terbesar dari 4 buah variabel 
      Langkah-langkahnya langsung ke program saja :


#include "stdio.h"
#include "conio.h"

int main(){
                int v1,v2,v3,v4,min,max;
                v1 = 12;
                v2 = 59;
                v3 = 44;
                v4 = 1;
                //minimal
                if (v1 < v2 && v1 < v3 && v1 < v4){
                                                min = v1;
                }
                else if(v2 < v1 && v2 < v3 && v2 < v4){
                                min = v2;
                }
                else if(v3 < v1 && v3 < v2 && v3 < v4){
                                min = v3;
                }
                else{
                                min = v4;
                }
                //maximal
                if (v1 > v2 && v1 > v3 && v1 > v4){
                                                max = v1;
                }
                else if(v2 > v1 && v2 > v3 && v2 > v4){
                                max = v2;
                }
                else if(v3 > v1 && v3 > v2 && v3 > v4){
                                max = v3;
                }
                else{
                                max = v4;
                }             
                printf("Minimal : %d\n", min);
                printf("Maximal : %d", max);
                getch();
                return 0;
}


2.  Mencari bilangan terkecil dan terbesar dari 10 buah variabel 
      Langkah-langkahnya langsung ke program saja :


#include "stdio.h"
#include "conio.h"

int main(){
                int v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,min,max;
                v1 = 12;
                v2 = 59;
                v3 = 44;
                v4 = 1;
                v5 = 6;
                v6 = 9;
                v7 = 26;
                v8 = 89;
                v9 = 154;
                v10 = 781;
                //minimal
                if (v1 < v2 && v1 < v3 && v1 < v4 && v1 < v5 && v1 < v6 && v1< v7 && v1 < v8 && v1 < v9 && v1 < v10){
                                min = v1;
                }
                else if(v2 < v1 && v2 < v3 && v2 < v4 && v2 < v5 && v2 < v6 && v2< v7 && v2 < v8 && v2 < v9 && v2 < v10){
                                min = v2;
                }
                else if(v3 < v1 && v3 < v2 && v3 < v4 && v3 < v5 && v3 < v6 && v3 < v7 && v3 < v8 && v3 < v9 && v3 < v10){
                                min = v3;
                }
                else if(v4 < v1 && v4 < v2 && v4 < v3 && v4 < v5 && v4 < v6 && v4 < v7 && v4 < v8 && v4 < v9 && v4 < v10){
                                min = v4;
                }
                else if(v5 < v1 && v5 < v2 && v5 < v3 && v5 < v4 && v5 < v6 && v5 < v7 && v5 < v8 && v5 < v9 && v5 < v10){
                                min = v5;
                }
                else if(v6 < v1 && v6 < v2 && v6 < v3 && v6 < v4 && v6 < v5 && v6 < v7 && v6 < v8 && v6 < v9 && v6 < v10){
                                min = v6;
                }
                else if(v7 < v1 && v7 < v2 && v7 < v3 && v7 < v4 && v7 < v5 && v7 < v6 && v7 < v8 && v7 < v9 && v7 < v10){
                                min = v7;
                }
                else if(v8 < v1 && v8 < v2 && v8 < v3 && v8 < v4 && v8 < v5 && v8 < v6 && v8 < v7 && v8 < v9 && v8 < v10){
                                min = v8;
                }
                else if(v9 < v1 && v9 < v2 && v9 < v3 && v9 < v4 && v9 < v5 && v9 < v6 && v9 < v7 && v9 < v8 && v9 < v10){
                                min = v9;
                }
                else{
                                min = v10;
                }
                //maximal
                if (v1 > v2 && v1 > v3 && v1 > v4 && v1 > v5 && v1 > v6 && v1 > v7 && v1 > v8 && v1 > v9 && v1 > v10){
                                max = v1;
                }
                else if(v2 > v1 && v2 > v3 && v2 > v4 && v2 > v5 && v2 > v6 && v2 > v7 && v2 > v8 && v2 > v9 && v2 > v10){
                                max = v2;
                }
                else if(v3 > v1 && v3 > v2 && v3 > v4 && v3 > v5 && v3 > v6 && v3 > v7 && v3 > v8 && v3 > v9 && v3 > v10){
                                max = v3;
                }
                else if(v4 > v1 && v4 > v2 && v4 > v3 && v4 > v5 && v4 > v6 && v4 > v7 && v4 > v8 && v4 > v9 && v4 > v10){
                                max = v4;
                }
                else if(v5 > v1 && v5 > v2 && v5 > v3 && v5 > v4 && v5 > v6 && v5 > v7 && v5 > v8 && v5 > v9 && v5 > v10){
                                max = v5;
                }
                else if(v6 > v1 && v6 > v2 && v6 > v3 && v6 > v4 && v6 > v5 && v6 > v7 && v6 > v8 && v6 > v9 && v6 > v10){
                                max = v6;
                }
                else if(v7 > v1 && v7 > v2 && v7 > v3 && v7 > v4 && v7 > v5 && v7 > v6 && v7 > v8 && v7 > v9 && v7 > v10){
                                max = v7;
                }
                else if(v8 > v1 && v8 > v2 && v8 > v3 && v8 > v4 && v8 > v5 && v8 > v6 && v8 > v7 && v8 > v9 && v8 > v10){
                                max = v8;
                }
                else if(v9 > v1 && v9 > v2 && v9 > v3 && v9 > v4 && v9 > v5 && v9 > v6 && v9 > v7 && v9 > v8 && v9 > v10){
                                max = v9;
                }
                else{
                                max = v10;
                }
                printf("Minimal : %d\n", min);
                printf("Maximal : %d", max);
                getch();
                return 0;
}

Wuih.. Panjang Banget ternyata. Kalau untuk mebandingka dari 3-4 nilai memang masih bisa ditangani dengan IF coba banyangkan jika nilai yang dibandingkannya adalah 10, atau bahkan 100, 10.000 Nah maka dari itu solusi yang di tawarkan oleh Perualngan. Untuk perulangan kita memakai FOR
Langsung saja ke program : (Copy lalu paste program di bawah ini di borland C++ atau Min GW cek perbedaannya dengan program dengan IF diatas.)
#include "stdio.h"
#include "conio.h"

int main(){
                int i, JmlData;
                int Angka[100];
                int min;
                int max;
               
                printf("Masukkan Jumlah Data : ");scanf("%d", &JmlData);
                printf("\n");
               
                if(JmlData>0){
                                for(i=0;i
                                                printf("Masukkan Angka Ke %d : ", i+1);scanf("%d", &Angka[i]);
                                }
                               
                                min=Angka[0];
                                for(i=1;i
                                                if(Angka[i]
                                                                min = Angka[i];
                                                }
                                }
                               
                                max=Angka[0];
                               
                                for(i=1;i
                                                if(Angka[i]>max){
                                                                max = Angka[i];
                                                }
                                }
                                printf("\nAngka Minimum : %d", min);
                                printf("\nAngka Maximum : %d", max);
                }
}

2 Komentar

  1. aliyah // Monday, November 8, 2010 at 8:17:00 PM GMT+7  

    lieeeuur k' ngeliatnyaaa.... hehehe
    makasih k'... teryanta sma ma yang aku, kurang lebih.
    (lebih banyak kurang nya..)

  2. Iswari Chaniago // Wednesday, December 1, 2010 at 6:26:00 PM GMT+7  

    haha,, komputerku terinfeksi virus dari laptop,, jadi BC n MinGw nya ilang..