Bantu Jawabannya !!!!

Posted on

Bantu Jawabannya !!!!

Bantu Jawabannya !!!!

Bantu Jawabannya !!!!

Jawaban:

Jawaban output ada di gambar pembahasan (yang latar belakang warna (background) hitam).

Penjelasan:

Begini.

Ini yang buat soal ini cukup rumit sesuai di soal.

Sesuai nama program di soal algoritma pencarian interpolasi.

Algoritma pencarian interpolasi mencari nilai 28 (int key = 28) yang ada di array dari 2 5 9 sampai angka 31.

Aku emang bingung kenapa si pembuat soal buat soal kaya gini, tapi aku tau gimana algoritma bahasa C++ ini. Tapi yaudahlah ini emang pembuat soal yang buat soal ini.

Aku paham gimana maksud algortima yang dibuat sama pembuat soal ini.

1. Alur pertama

Pertama, dibuat dulu prosedur utamanya dengan int n =10 yang n ini buat si array 2 5 9 sampai 31 yang ( int data[n])

Pembuat soal ini mau cari nilai 28 dari array 2 5 9 sampai 31 (int key = 28) lalu dilanjutkan memanggil function "interoplationSearch" (baca lagi pengertian function dalam bahasa C++)

2. Alur kedua

Terus, dibuat int low high dan pos untuk program selanjutnya.

3. Alur ketiga

Program alur ketiga yang aku sebut ini dibuat statement while yang dimana statement ini akan seleksi:

key > data[low] && key <= data[high])

Jika ditranslate (diterjemahkan / jabarkan): 28 > 2 && 28 <= 31.

True dan True hasilnya true dan bisa dijalankan dengan rumus:

pos = low+frac{(key-data[low])*(high-low)}{data[high]-data[low]}

pos = 0+frac{(28-data[0])*((10-1)-0)}{data[10-1]-data[0]}

pos = 0+frac{(28-2)*(9-0)}{31-2}

pos = 0+frac{26*9}{29}

pos = 8,068

Karena tipe data pos itu integer jadinya ditaksirkan ke nilai ternedah

pos = 8

Dituliskanlah pos = 8

4. Alur keempat

Lalu masuk ke statement if yang seleksi:

key > data[pos]

28 > data[8] (tidak dieksekusi)

else if: key < data[pos]

28 < data[8] (tidak dieksekusi)

else:

low = pos = 8

Jadi nilai low diambil dari nilai pos yang rumit itu. Artinya low = 8

5. Alur kelima

Terus, diseleksi lagi di statement if:

key == data[low]

28 == data[8]

28 == 28

Lalu di print jadi:

28 ditemukan pada indeks ke- 8

Kesimpulannya nilai 28 yang ingin dicari di dalam array ketemu, yaitu berada di indeks ke-8 dari array int data[n].

Begitu.

Maaf terlambat jawab.

Aku harap kamu ngerti yang aku jelasin panjang gini.

Gambar Jawaban