Berikut ini adalah pertanyaan dari sitiarofah906 pada mata pelajaran TI untuk jenjang Sekolah Menengah Pertama
b. efisiensi memori
c. efisiensi pemakaian
d. efisiensi waktu
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Makin besar ruang penyimpanan yang terpakai maka makin buruklah algoritma tersebut. Pada kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Hal ini termasuk pertimbangan efisiensi algoritma dalam ruang lingkup:
efisiensi memori (opsi b)
Pembahasan
Contoh sederhana yang dapat menjadi ilustrasi efisiensi memoridalam penyusunan algoritma adalah penggunaan tipe datadan (karakter).
Misalkan: algoritma A mendeklarasikan variabel bertipe data, sedangkan algoritma B mendeklarasikan variabel bertipe data. Sementara, pada spesifikasi kebutuhan perangkat lunak / program, opsi jawaban dari user disimpan dalam bentuk 1 karakter.
Maka, yang lebih efisien adalah algoritma B, karena tepat menyimpan 1 karakter, yang pada umumnya direpresentasikan secara internal dengan blok data sepanjang 1 Byte (8 bit).
Sedangkan pada algoritma A, yang bertipe membutuhkan paling sedikit 2 karakter (dengan mekanisme alokasi memori khusus untuk string dapat menjadi fixed 2 karakter), yaitu karakter yang dibaca dari masukan user, dan karakter terminasi berupa karakter null (\0). Tipe data adalah untaian karakter yang diakhiri oleh karakter terminasinull, atau disebut juga null-terminated.
Contoh lainnya adalah pada kasus berikut ini.
Persoalan: Menyusun algoritma untuk menentukan nilai terbesar dari 3 bilangan yang dimasukkan user.
- Algoritma BilanganTerbesar1
input a, b, c
max ← a
if b > max then
max ← b
end if
if c > max then
max ← c
end if
return max
- Algoritma BilanganTerbesar2
input x # bilangan pertama
max ← x
input x # bilangan kedua
if x > max then
max ← x
end if
input x # bilangan ketiga
if x > max then
max ← x
end if
return max
Sekilas, algoritma BilanganTerbesar2 lebih panjang dari algoritma BilanganTerbesar1. Dan mungkin juga membingungkan karena untuk ketiga bilangan yang dimasukkan hanya digunakan sebuah variabel . Namun, perhatikan variabelnya.
- Algoritma BilanganTerbesar1 membutuhkan 4 variabel, yaitu a, b, c, dan max. Jika setiap variabel bertipe integer 32 bit (4 Byte), maka dibutuhkan blok memori sebesar 4 × 4 Byte = 16 Byte untuk semua variabelnya.
- Algoritma BilanganTerbesar2 membutuhkan 2 variabel saja, yaitu x dan max. Jika setiap variabel bertipe integer 32 bit (4 Byte), maka dibutuhkan blok memori sebesar 2 × 4 Byte = 8 Byte untuk semua variabelnya.
Jika tidak ada kebutuhan untuk menyimpan ketiga bilangan yang dimasukkan, maka algoritma BilanganTerbesar2 lebih efisien dalam hal penggunaan/alokasi memori.
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: Wed, 21 Dec 22