Script untuk mencari nilai terkecil sebuah array

Sempat membuat saya sedikit pusing memikirkan logika mencari nilai terkecil dari sebuah array. Padahal waktu kuliah dulu sempat rasanya membuat cuma lupa. Setelah beberapa kali mencoba, akhirnya ketemu juga. Ternyata gampang banget.

Saya menggunakan script ini untuk sebuah project yang logika bisnisnya mencari member yang memiliki downline paling sedikit sehingga penyebaran refferal-nya bisa merata. Nah maka dari itu saya harus mencari anggota mana yang memiliki downline yang paling sedikit, kemudian sistem akan menambahkannya kepada anggota tersebut.

Logika dasar yang harus saya cari pertama kali adalah bagaimana cara saya membandingkan nilai yang ada dalam sebuah array kemudian membandingkan masing – masing nilai tersebut untuk mencari nilai yang paling kecil.

Saya menggunkan script PHP berikut:


function bandingkan_array(){
    $MAX_VALUE=100;

    $a=array(5,3,7);
    for($i=0;$i<count($a) ;$i++)
             if($a[$i] < $MAX_VALUE){
                 $MAX_VALUE=$a[$i];
             }
    }
    return $MAX_VALUE;
}

Pada baris kode diatas, pertama – tama yang saya lakukan adalah menentukan nilai Maximum ($MAX_VALUE) terlebih dahulu. Kemudian saya mendefinisikan sebuah array yang saya isi beberapa bilangan yang nantinya akan saya bandingkan untuk mencari nilai terkecilnya.

Selanjutnya saya tinggal melakukan looping / perulangan sebanyak jumlah array $a untuk melakukan perbandingan. Looping saya mulai dari array ke “0″

Setiap looping / perulangan saya melakukan perbandingan nilai, apakah nilai array ke $i lebih kecil dari nilai maximum $MAX_VALUE? Jika nilainya lebih kecil maka saya mengganti nilai $MAX_VALUE sebelumnya menjadi nilai $MAX_VALUE yang baru yang lebih kecil.

Ok mari kita coba teliti lebih detail lagi step demi step:

  1. $MAX_VALUE=100;
  2. Do Looping, $a[0]=5, $MAX_VALUE=100;
  3. Comparing, Apakah $a[0] = 5 lebih kecil dari $MAX_VALUE=100 (apakah 5 < 100), YA
  4. $MAX_VALUE yang baru = 5
  5. Next Looping,$a[1]=3, $MAX_VALUE=5;
  6. Comparing, Apakah $a[1] = 3 lebih kecil dari $MAX_VALUE=5 (apakah 3 < 5), YA
  7. $MAX_VALUE yang baru = 3
  8. Next Looping,$a[2]=7, $MAX_VALUE=3;
  9. Comparing, Apakah $a[2] = 7 lebih kecil dari $MAX_VALUE=3 (apakah 7 < 3), TIDAK
  10. EXIT LOOPING
  11. RETURN $MAX_VALUE = 3

Begiutulah kira – kira logika sederhananya. MUDAH KAN? Selamat mencoba :)

Di PHP telah disediakan fungsi untuk mencari nilai minimum atau maximum dari sebuah array. misalnya echo min($a); atau echo max($a); tergantung kebutuhan Anda mau menggunakan yang mana :)

This entry was posted in PHP and tagged , . Bookmark the permalink.

7 Responses to Script untuk mencari nilai terkecil sebuah array

  1. wira says:

    mantep logikanya, btw, kenapa nama variabel-nya MAX_VALUE, bukan MIN_VALUE? hehehe

  2. wahya says:

    @Wira: Biar ada yang nanya heheheheh. Saya beri nama MAX karena nilai pertama yang saya definisikan adalah nilai yang paling maximum yaitu 100. Setelah itu baru nilai maximumnya di ganti2 menjadi nilai yang minimum gitulah kira2….apalah artinya sebuah nama juragan :)

  3. made gelgel says:

    waduh gak ngerti bli, mungkin nanti kalau udah kuliah hehehe :D

  4. syd says:

    mirip pelajaran saya di kampus :D

  5. Wahya says:

    waahhh…mudah – mudahan bisa membantu syd di kampus ya.

  6. budhi says:

    mas…. logika nya hebat…. tapi sayang kurang efesien……

    kenapa??? Karena batasan nilai maksimumnya ditentukan…. artinya tidak fleksible buat cari yang lebih besar

    setau saya sih pake fungsi min($variable) udah cukup…..

    maaf saya juga baru beajar….. klw salah mohon dikoreksi

  7. wahya says:

    @Budhi: Tergantung kasusnya juga sih mas. Tapi betul apa yang Anda katakan, makanya saya isi note paling bawah hehehe. Tapi dalam kasus saya, nilai maksimum itu harus ditentukan dan bisa di ubah – ubah oleh admin sesukanya heheh..terima kasih sudah mampir

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>