Soal Aritmatika dan Logika Algoritma
Dalam kehidupan sehari-hari tanpa kita sadari sebenarnya kita sangat dekat dengan yang namanya Algoritma, bagamana tidak dalam menyelesaikan masalah sekecil apapun ternyata kita menggunakan metode Algoritma dalam menyelesaikannya.
Itulah kenapa manusia diberikan otak dan pikiran sebenarnya agar kita dapat belajar dan menyelesaikan masalah kita sendiri, tanpa kita sadari kita juga menggunakan logika yang bisa dibilang “Oh, bisa gitu ya?”, “Ternyata aku bisa ya?”.
Tapi bukan tentang algoritma sepenuhnyalah yang saya bahas di postingan blog yang berjudul Soal Aritmatika dan Logika Algoritma Berserta Jawaban Pembahasannya, disini saya akan berbagi soal aritmatika yang sering kita temui dalam kehidupan kita sehari-hari yang saya rangkum pembahasannya dan saja jelaskan dengan sejelas-jelasnya.
Soal 1 :
Berapa langkah minimal yang dibutuhkan untuk mengurutkan deret {3, 2, 1, 5, 7, 4, 8, 6, 10, 9} secara menaik apabila langkah yang hanya dapat anda lakukan adalah menukar posisi dari 2 buah bilangan manapun?
Pembahasan Soal 1 :
Banyaknya langkah minimum akan tercapai apabila kita melakukan selection sort. Pada mulanya: 3, 2, 1, 5, 7, 4, 8, 6, 10, 9
- Langkah 1: 1, 2, 3, 5, 7, 4, 8, 6, 10, 9
- Langkah 2: 1, 2, 3, 4, 7, 5, 8, 6, 10, 9
- Langkah 3: 1, 2, 3, 4, 5, 7, 8, 6, 10, 9
- Langkah 4: 1, 2, 3, 4, 5, 6, 8, 7, 10, 9
- Langkah 5: 1, 2, 3, 4, 5, 6, 7, 8, 10, 9
- Langkah 6: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Maka, dibutuhkan minimum 6 langkah.
Soal 2 :
Pak Zaki memiliki 12 buah permen yang akan dibagikan kepada 3 orang cucunya, yaitu Abi, Bibi, dan Cibi. Permen yang dibagikan tidak bersisa. Dalam pembagian tersebut bisa saja ada cucu yang tidak mendapatkan permen sama sekali. Tentu saja, satu permen tidak bisa dibagi kepada lebih dari satu orang.
Karena Cibi merupakan cucu kesayangan Pak Zaki, maka Cibi selalu mendapat lebih dari 6 permen. Berapakah banyak cara Pak Zaki membagikan permen tersebut ke cucucucunya? Suatu cara dianggap berbeda jika banyak permen yang diterima salah satu orang berbeda.
Pembahasan Soal 2 :
Terdapat beberapa kasus:
- Cibi mendapat 7 permen. Sisa permen = 5, cara membagikan ke Abi dan Bibi = 6.
- Cibi mendapat 8 permen. Sisa permen = 4, cara membagikan ke Abi dan Bibi = 5.
- Cibi mendapat 9 permen. Sisa permen = 3, cara membagikan ke Abi dan Bibi = 4.
- Cibi mendapat 10 permen. Sisa permen = 2, cara membagikan ke Abi dan Bibi = 3.
- Cibi mendapat 11 permen. Sisa permen = 1, cara membagikan ke Abi dan Bibi = 2.
- Cibi mendapat 12 permen. Sisa permen = 0, cara membagikan ke Abi dan Bibi = 1.
Soal 3 :
Perhatikan potongan program di bawah ini!
function hitung(n:integer):integer;
begin
if(n=0)then hitung:=0
else hitung:=hitung(n div 5) + (n mod 5);
end;
Berapa nilai dari hitung(2903)?
Pembahasan Soal 3 :
Fungsi hitung() bersifat rekursif. Cara sebelumnya tidak praktis digunakan karena terlalu banyak jika kita harus menghitung nilai hitung(0), hitung(1), …, hitung(2903). Perhatikan bahwa nilai hitung(n) bergantung pada nilai hitung(n div 5).
Dengan kata lain, pada setiap pemanggilan fungsi hitung, nilai n selalu berkurang menjadi seperlimanya. Oleh karena itu, lebih cepat jika kita menghitung dengan cara topdown.
hitung(2903) = hitung(580) + 3
= hitung(116) + 0 + 3
= hitung(23) + 1 + 0 + 3
= hitung(4) + 3 + 1 + 0 + 3
= hitung(0) + 4 + 3 + 1 + 0 + 3
= 0 + 4 + 3 + 1 + 0 + 3
= 11
ka ada soal tentang aritmatika dan logika dalam kehidpan sehari2 ngak ! tapi dengan jawabannya!
contoh
sebulan lalu pak ketut membeli 4 ekor kambing, lalu kemrin pak ketu membeli lagi 3 ekor kambong berapakah jumlah kambing pak ketut sekarang !