buat algoritma untuk mencari nilai minikum dan maksimum dari 15

Berikut ini adalah pertanyaan dari pratiwifebriani502 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

buat algoritma untuk mencari nilai minikum dan maksimum dari 15 buah nilai yang memiliki nilai lebih kecil dari 80 yang diisikan ke dalam elemen array 1 dimensi​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Algoritma (dalam pseudocode atau notasi algoritmik)

procedure Min_Maks_KurangDari80(data: array[1..15] of integer)
{****
Diberikan data dalam bentuk array 1 dimensi dari elemen bertipe integer.
Mencari nilai minimum dan maksimum dari 15 buah nilai dalam array data, hanya pada elemen yang bernilai kurang dari 80.
Mencetak nilai minimum dan maksimum yang ditemukan, atau informasi bahwa tidak ada elemen data yang memenuhi syarat (bernilai kurang dari 80).
Konstanta terdefinisi:
◇ MAX_INT adalah konstanta nilai integer maksimum.
◇ MIN_INT adalah konstanta nilai integer minimum.
****}

Deklarasi
   min, max, i: integer
   min_max_ada boolean

Algoritma
  { Inisialisasi }
   min ← MAX_INT
   max ← MIN_INT
   min_max_ada ← false
   
{ Pencarian nilai min dan max }
   for i ← 1 to 15 do
       if data[i] < 80 then
           min_max_ada ← true
           if data[i] < min then
               min ← data[i]
           end if
           if data[i] > max then
               max ← data[i]
           end if
       end if
   end for
 
{ Output }
   if min_max_ada then
       print “Nilai minimum = ”, min

       print “Nilai maksimum = ”, max
   else
       print “Tidak ada elemen data yang bernilai kurang dari 80.”
   end if
{--- akhir algoritma ---}
________________

Pembahasan

Untuk menjawab pertanyaan ini, ditetapkan asumsi-asumsi berikut ini.

  • Diberikan array 1 dimensi berukuran 15 elemen, dengan elemen bertipe data numerik. Dalam hal ini, dipilih tipe data integer.
  • Elemen array dapat bernilai sembarang, tidak harus kurang dari 80.
  • Algoritma yang dirancang “bertugas“ mencari nilai minimum dan maksimum dari beberapa atau semua elemen array, terbatas pada elemen yang bernilai kurang dari 80. Sehingga, analisis kasus penentuan nilai minimum dan maksimum hanya dilakukan untuk elemen data yang bernilai kurang dari 80.

Algoritma di atas berbentuk procedure, atau function yang tidak mengembalikan nilai apapun, yang merupakan bagian dari sebuah program utama. Dalam program utama, dilakukan pembacaan elemen array dan pemanggilan procedure Min_Maks_KurangDari80.

Contoh algoritma program utama untuk persoalan ini adalah sebagai berikut.

program Mencari_Minimum_Maksimum

Deklarasi
   data: array[1..15] of integer
   i: integer

Algoritma
   { Input elemen array }
   for i ← 1 to 15 do
       read data[i]
   end for
   Min_Maks_KurangDari80(data)
{--- akhir algoritma ---}

Pada algoritma procedure Min_Maks_KurangDari80, digunakan dua buah konstanta terdefinisi, yaitu MIN_INT dan MAX_INT. Besaran nilainya tergantung dari implementasi tipe data integer pada bahasa pemrograman yang digunakan.

Contoh Kasus dan Penelusuran

Input:

  • data = [12, 15, 1, 30, 70, 80, 79, 55, 120, 100, 78, 45, 130, 17, 31]

Pemanggilan procedure Min_Maks_KurangDari80(data)

Tahap Inisialisasi

  • min = MAX_INT
  • max = MIN_INT
  • min_max_ada = false

Tahap Iterasi Pencarian Nilai Minimum dan Maksimum

  • (i = 1) Evaluasi data[1] = 12
    12 < 80 bernilai true
    ⇒ min_max_ada = true
    12 < min bernilai true
    ⇒ min = 12
    12 > max bernilai true
    ⇒ max = 12
  • (i = 2) Evaluasi data[2] = 15
    (min = 12, max = 12, min_max_ada = true)
    15 < 80 bernilai true
    ⇒ min_max_ada = true
    15 < min bernilai false
    15 > max bernilai true
    ⇒ max = 15
  • (i = 3) Evaluasi data[3] = 1
    (min = 12, max = 15, min_max_ada = true)
    1 < 80 bernilai true
    ⇒ min_max_ada = true
    1 < min bernilai true
    ⇒ min = 1
    1 > max bernilai false
  • (i = 4) Evaluasi data[4] = 30
    (min = 1, max = 15, min_max_ada = true)
    30 < 80 bernilai true
    ⇒ min_max_ada = true
    30 < min bernilai false
    30 > max bernilai true
    ⇒ max = 30
  • (i = 5) Evaluasi data[5] = 70
    (min = 1, max = 30, min_max_ada = true)
    70 < 80 bernilai true
    ⇒ min_max_ada = true
    70 < min bernilai false
    70 > max bernilai true
    ⇒ max = 70
  • (i = 6) Evaluasi data[6] = 80
    (min = 1, max = 70, min_max_ada = true)
    80 < 80 bernilai false
  • (i = 7) Evaluasi data[7] = 79
    (min = 1, max = 70, min_max_ada = true)
    79 < 80 bernilai true
    ⇒ min_max_ada = true
    79 < min bernilai false
    79 > max bernilai true
    ⇒ max = 79
  • (i = 8) Evaluasi data[8] = 55
    (min = 1, max = 79, min_max_ada = true)
    55 < 80 bernilai true
    ⇒ min_max_ada = true
    55 < min bernilai false
    55 > max bernilai false
  • (i = 9) Evaluasi data[9] = 120
    (min = 1, max = 79, min_max_ada = true)
    120 < 80 bernilai false
  • (i = 10) Evaluasi data[10] = 100
    (min = 1, max = 79, min_max_ada = true)
    100 < 80 bernilai false

Dan seterusnya...

  • (i = 15) Evaluasi data[15] = 31
    (min = 1, max = 79, min_max_ada = true)
    31 < 80 bernilai true
    ⇒ min_max_ada = true
    31 < min bernilai false
    31 > max bernilai false

Pada akhir iterasi, diperoleh:
min = 1, max = 79, min_max_ada = true

Tahap Output

Mencetak:

  • “Nilai minimum = 1”
  • “Nilai maksimum = 79”

________________

Detail Jawaban

Mata Pelajaran: Informatika
Kelas: 10 (X)
Materi: Algoritma dan Pemrograman
Kode Kategorisasi: 10.11.7

Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Mon, 26 Dec 22