1
BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM
12.1. Mencari Data Maksimum
Untuk menjelaskan proses pencarian data terbesar atau data maksimum dari sekelompok data, di bawah ini akan diberikan contohnya terlebih dahulu. Jika diketahui sebuah larik data/ vektor A yang memiliki 6 elemen data, yaitu sebagai berikut :
A
:
45
24
43
23
66
55
Untuk menemukan data maksimum dalam vektor A, dapat dilakukan dengan cara sebagai berikut ini. Mula-mula elemen pertama dalam A, yaitu 45 dianggap sebagai data maksimum. Selanjutnya 45 kita bandingkan dengan elemen data ke-2, yaitu 24. Karena 45 lebih besar dari 24, maka data maksimumnya tetap, yaitu 45. Selanjutnya, 45 dibandingkan kembali dengan elemen data pada urutan ke-3, yaitu 43. Harga data maksimum sebelumnya yaitu 45 lebih besar dari 43, sehingga data maksimumnya tetap, yaitu 45. Proses dilanjutkan untuk membandingkan kembali data maksimum dengan data-data pada urutan berikutnya secara berurutan hingga data pada urutan terakhir. Ketika dibandingkan dengan data urutan ke-5, yaitu 66, ternyata 45 lebih kecil dari 66, sehingga data maksimum akan digantikan oleh 66. Pada akhirnya setelah dibandingkan dengan keseluruhan data dalam vektor A, data 66 merupakan data terbesar/maksimum.
Secara ringkas, jika N menyatakan cacah elemen data dalam vektor yang diberi nama A, kemudian I menyatakan variabel pencacah yang sekaligus berfungsi sebagai indeks untuk mengidentifikasi setiap elemen data dalam vektor A, sehingga elemen-elemen vektor A secara berurutan akan dapat diidentifikasi sebagai A[1], A[2], A[3], dan seterusnya hingga A[N]. Untuk mendapatkan data maksimum dalam
2
vektor A, mula-mula A[1] dianggap sebagai data maksimum. Selanjutnya A[1] dibandingkan dengan A[2]. Jika A[2] lebih besar dari A[1], maka data maksimumnya adalah A[2]. Sebaliknya jika A[2] lebih kecil dari A[1], maka A[1] akan tetap menjadi data maksimum. Proses kemudian diulang kembali untuk membandingkan data maksimum yang diperoleh dengan A[3]. Tukarkan kembali harga data maksimum jika diperlukan. Demikian proses seperti ini akan terus dilanjutkan hingga data maksimum selesai dibandingkan dengan semua data dalam vektor A. Pada akhirnya prosedur seperti ini akan memberikan hasil berupa elemen data maksimum yang terdapat dalam vektor A.
Jika MAKSIMUM menyatakan variabel untuk data maksimum yang akan dicari, maka algoritma prosedur untuk mencari data maksimum sebagaimana dijelaskan di atas dapat dituliskan di bawah ini. Dan selanjutnya Gambar 12.1 menunjukkan flowchart prosedurnya.
Masukan vektor A dengan N buah elemen data. 1. Mulai 2. Inisialisasi MAKSIMUM = A[1] 3. Proses berulang langkah-4 FOR I = 2 TO N 4. Proses perbandingan untuk menemukan data maksimum IF A[1] > MAKSIMUM Jika ya, tentukan MAKSIMUM = A[1] 5. Cetak hasil 6. Selesai
3
Mulai
Baca vektor A
MAKSIMUM = A[1]
FOR I = 2 TO N YA
TIDAK MAKSIMUM>A[1]
MAKSIMUM = A[1]
NEXT I
Cetak MAKSIMUM
Selesai
Gambar 12.1 : Flowchart prosedur untuk mencari data maksimum
12.2. Mencari Data Minimum
Pada kasus yang lain, jika diinginkan mencari data terkecil atau data minimum dari sekelompok data atau vektor, pada dasarnya langkah-langkah yang dilakukan adalah sama dengan algoritma prosedur pencarian data maksimum sebagaimana
4
dijelaskan pada Subbab 12.1. Perbedaannya adalah terletak pada langkah ke-4, yaitu pertukaran data akan dilakukan jika data pada ukuran berikutnya mempunyai harga yang lebih kecil dari data terkecil yang ditemukan pada langkah sebelumnya. Pada vektor A dalam contoh sebelumnya, data terkecil adalah 23, yaitu data pada urutan ke-4. Jika MINIMUM menyatakan variabel untuk menampung harga minimum yang akan dicari, maka algoritma prosedur untuk mencari data minimum dalam vektor A dapat dituliskan seperti di bawah ini. Sedangkan flowchart prosedurnya ditunjukkan pada Gambar 12.2.
Masukan vektor A dengan N buah elemen data. 1. Mulai 2. Inisialisasi MINIMUM = A[1] 3. Proses berulang langkah-4 FOR I = 2 TO N 4. Langkah proses perbandingan untuk menemukan data minimum IF A[1] < MINIMUM Jika ya, tentukan MINIMUM = A[1] 5. Cetak hasil 6. Selesai
5
Mulai
Baca vektor A
MINIMUM = A[1]
FOR I = 2 TO N YA
TIDAK MINIMUM
MINIMUM = A[1]
NEXT I
Cetak MINIMUM
Selesai
Gambar 12.1 : Flowchart prosedur untuk mencari data minimum