Reverse of Max Algorithm


pencarian data minimum seringkali kita temukan di banyak literatur atau pun media, namun pada kesempatan ini saya akan menjelaskan ada metode lain yakni, ‘reverse of max’, seperti apa alur logika yang digunakan atau diimplementasi di pemrograman?

berikut akan dijelaskan dan dicontohkan alur logika algoritma ‘reverse of max’ yang diimplementasikan di pemrograman Java.


public class Array01 {
 public static void main (String[] ar) {
  int[] data = new int[5]; // contoh array dimensi 1
  // sama saja dengan -> int data[] = new int[5];
  data[0] = 10; // data ke-1 di indeks 0
  data[1] = 40; // data ke-2 di indeks 1
  data[2] = 30; // data ke-3 di indeks 2
  data[3] = 20; // data ke-4 di indeks 3
  data[4] = 15; // data ke-5 di indeks 4

 // atau bisa kita deklarasikan sebagai berikut:
 /*
 int[] data = new int[] { 10, 40, 30, 20, 15};
int[] data = { 10, 40, 30, 20, 15};
 sedangkan tipe data `int` bisa diganti dan disesuaikan dengan kebutuhan, misal: double, boolean, String, char, atau tipe Class lainnya
 */

 // adapun yang bisa dilakukan di array dimensi 1,
 
 // pencarian
  int data_dicari = 25;
  for (int i = 0; i < data.length; i++) { // bisa dilakukan dengan struktur while atau do-while
   if (data[i] == data_dicari) {
    System.out.println ("data ada di indeks ke-" + i);
   }
  }

 // pencarian data nilai tertinggi
  int data_maks = data[0]; // ini hanya contoh, sebagai nilai pembanding awal
  for (int i = 0; i < data.lentgh; i++) {
   if (data[i] > data_maks) { // jika ditemukan data tertinggi baru di iterasi berikutnya, maka
    data_maks = data[i]; // nilai data_maks diganti dengan data maks terbaru tersebut
   }
  }
  System.out.println ("data maksimum: " + data_maks);

 /*
 alur logika untuk mencari nilai tertinggi hampir sama dengan alur logika mencari suatu nilai di sekumpulan data bertipe array.
 begitu juga halnya ketika ingin mencari nilai terendah di suatu data bertipe array.
 */


 // pencarian data nilai terendah
 // hampir mirip dengan sebelumnya, 
  int data_min = data[0];
  for (int i = 0; i < data.lentgh; i++) { 
   if (data[i] < data_min) {
    data_min = data[i];
   }
  }
  System.out.println ("data minimum: " + data_min);

 /*
 adapun pencarian nilai minimum bentuk lainnya 
 yakni dengan menggunakan metode Reverse of Max, sebagai berikut:
 */
 // pertama-tama kita lakukan perkalian nilai dengan angka -1,
  for (int i = 0; i < data.length; i++) {
   data[i] = data[i] * (-1);
  }
  int maks = data[0];
  for (int i = 0; i < data.length; i++) {
   if (data[i] > maks) {
    maks = data[i];
   }
  }
  System.out.println ("data minimum: " + maks * (-1));

 /*
 SELAMAT MENCOBA!
 */

 }
}

2 responses to “Reverse of Max Algorithm”

Leave a Reply