Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku Tidak boleh menggunakan komputer untuk semua keperluan
Soal-1. Diperlihatkan algoritma untuk mencari jawaban sebuah permasalahan sebagai berikut : Algoritma dinyatakan dalam bentuk Flowchart Algoritma dinyatakan dalam bentuk algoritma umum START Read(A,B) X = A Y = B While( X < > Y) IF ( X < Y ) Then X = X + A else Y = Y + B End If End While Read A,B X = A Y = B < > Maksudnya : Tidak sama X < > Y False True write X X < Y False True Algoritma dituangkan kedalam Bahasa C++ END Y = Y+B X = X+A #include<iostream.h> void main() { int A,B, X,Y; cin >> A >> B; X = A; Y = B; while( X != Y) { if( X < Y ) { X = X + A; } else { Y = Y + B; } } cout << X; Pertanyaan : 1.a. Apa yang tercetak bila untuk A diinputkan 2, dan untuk B diinputkan 4 1.b. Apa yang tercetak bila untuk A diinputkan 4, dan untuk B diinputkan 7
Soal-2. Soal-3. Algoritma berikut ini, ditulis dalam Bahasa C++ Ali berangkat dari titik A ke titik B. Ali berangkat sebelum pukul 09:00:00 pagi. Badu mencatat dalam selembar kertas, 3 (tiga) buah bilangan yang menyatakan Jam, Menit dan Detik pukul keberangkatan Ali dari titik A. Setelah 8175 detik kemudian Ali tiba di titik B. Dengan memanfaatkan data keberangkatan yang dimiliki Badu, susunlah algoritma untuk mencetak pukul berapa (Jam, Menit, Detik) Ali tiba di titik B. #include<iostream.h> void main() { int N,X,T,Batas; N = ….. ; Batas = N + 100; X = 20; T = N; while( T <= Batas) { T = T + X; X = X + 10; } cout << T; Apa yang tercetak oleh algoritma diatas, bila N diisi dengan 2 digit terakhir NIM Saudara Soal-4. Disebuah negara berlaku satuan uang logam (coin) sebagai berikut: quarter (25 sen) dime (10 sen), nickel (5 sen) dan penny (1 sen). Apabila sebuah toko ingin mengembalikan uang belanjaan sebesar 64 sen, dengan jumlah keping coin yang paling sedikit, maka diperlukan 2 quarter, 1 dime dan 4 penny, (2*25+1*10+ 4*1) atau sebanyak 7 keping. Ia tidak boleh mengembalikan dengan 6 dime dan 4 penny (6*10+4*1) atau 10 keping, walaupun nilainya sama-sama 64 sen. Susun program untuk mencetak berapa keping masing-masing coin yang diperlukan untuk uang kembalian. Nilai uang kembalian diketik melalui keyboard. Contoh : Bila diinput Harus tercetak Catatan : Tercetak : 1 1 1 3 maksudnya, 1 keping quarter, 1 keping dime, 1 keping nickel, dan 3 keping penny 1 2 5 6 10 15 27 35 50 64 0 0 0 1 0 0 0 2 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 2 1 1 1 3 2 0 0 0 2 2 0 4
Soal-5. Ali mempunyai uang logam, yang terdiri dari 3 macam nilai satuan yaitu : 7, 3, dan 2 sen. Ali mau mengambil uang logam tersebut senilai minimal 2 sen dan tidak lebih dari 100 sen. Anda diminta membantu Ali untuk menentukan keping uang apa dan berapa keping jumlahnya untuk memenuhi nilai yang akan diambil Ali, dengan ketentuan mendahulukan keping nilai yang tertinggi agar didapat jumlah keping yang paling sedikit. Untuk itu Anda diminta membuat algoritma yang menginputkan sebuah nilai integer yang menyatakan nilain uang yang akan diambil Ali, kemudian cetak berapa keping uang logam bernilai 7 sen, berapa keping yang bernilai 3 sen, dan berapa keping yang bernilai 2 sen., untuk memenuhi jumlah nilai yang akan diambil Ali. Nilai sen uang yang akan diambil Kepingan yang diberikan Harus tercetak : 2 3 4 5 6 7 8 10 11 12 13 14 15 18 21 22 23 29 0 0 1 0 1 0 0 0 2 0 1 1 0 2 0 1 0 0 0 2 1 1 1 0 1 0 2 1 1 1 1 2 0 2 0 0 1 2 1 2 0 2 3 0 0 2 2 1 3 0 1 3 2 1 Catatan: Tercetak : 1 2 0 Maksudnya : 1 keping 7 sen 2 keping 3 sen 0 keping 2 sen Yang menyatakan total nilai = 13 3 2 1 Maksudnya : 3 keping 7 sen 2 keping 3 sen 1 keping 2 sen Yang menyatakan total nilai = 29
Soal-8. Disebuah negara berlaku satuan uang logam (coin) sebagai berikut: quarter (25 sen) dime (10 sen), nickel (5 sen) dan penny (1 sen). Apabila sebuah toko ingin mengembalikan uang belanjaan sebesar 64 sen, dengan jumlah keping coin yang paling sedikit, maka diperlukan 2 quarter, 1 dime dan 4 penny, atau sebanyak 7 keping. Ia tidak boleh mengembalikan dengan 6 dime dan 4 penny walaupun nilainya sama. Susun program untuk membantu pemilik toko menentukan coin apa saja dan berapa keping yang diperlukan untuk uang kembalian. Nilai uang kembalian diketik melalui keyboard, dan laporan dicetak di layar. Soal-2 Sebuah kebun besar ditanami pohon bibit sebanyak n baris. Setiap baris terdiri dari n pohon. Pohon-pohon tersebut kemudian dicabut dan ditanam ulang menjadi 13 buah kebun dengan ukuran lebih kecil. Pohon yang ditanam pada setiap kebun kecil tadi, terdiri dari m baris dan setiap baris terdiri dari m pohon. Setelah terbentuk 13 kebun kecil ukuran m x m, ternyata pada kebun besar masih tersisa 1 pohon. Susun program untuk mencetak berapa jumlah pohon semula yang ada di kebun besar. Soal-3. Titik A dan titik B dihubungkan hanya oleh sebuah jalan yang panjangnya = 1000 m. Ali berangkat dari titik A menuju titik B tepat jam 08:00:00 pagi dengan kecepatan tetap 5 m/detik. Tetapi 10 detik kemudian, kecepatannya naik 2m/detik menjadi 7m/detik. Demikian seterusnya, setiap 10 detik kecepatan Ali naik 2m/detik. Tepat pada jam yang sama (08:00:00) Badu berangkat dari titik B menuju titik A dengan kecepatan tetap 10 m/detik, tidak pernah berubah. Susun program untuk mencetak berapa detik setelah keberangkatan, Ali dan Badu bertemu, berpapasan dijalan. Catatan : Satuan waktu terkecil adalah dalam detik.
( xxx menyatakan jumlah keping) Contoh: Soal-4. Seorang pemberi pinjaman uang mempunyai uang logam dengan satuan 7, 3, dan 2 sen. Uang yang dipinjam minimal 2 sen. Anda diminta membantu pemberi pinjaman uang tadi untuk menentukan keping uang apa dan berapa keping jumlahnya untuk memenuhi semua permintaan peminjam, dengan jumlah kepingan uang logam yang paling sedikit. Untuk itu Anda diminta membuat program yang menginputkan sebuah nilai integer tidak lebih dari 100, yang menyatakan jumlah uang yang akan dipinjam., kemudian cetak berapa keping uang logam bernilai 7 sen, berapa keping yang bernilai 3 sen, dan berapa keping yang bernilai 2 sen., untuk memenuhi jumlah pinjaman. Besar pinjaman Kepingan yang diberikan 2 3 4 5 6 7 8 10 11 12 14 15 18 21 22 23 2 3 2 2 3 2 3 3 bukan : 2 2 2 7 bukan : 3 2 2 3 3 2 7 3 7 2 2 bukan : 3 3 3 2 7 3 2 bukan : 3 3 3 3 7 7 7 3 3 2 7 7 2 2 7 7 7 7 7 3 3 2 7 7 3 3 3 Format output : Kepingan 7 sen : xxx Kepingan 3 sen : xxx Kepingan 2 sen : xxx ( xxx menyatakan jumlah keping) Contoh: Bila diinput : Maka tercetak : 22 Kepingan 7 sen : 2 Kepingan 3 sen : 2 Kepingan 2 sen : 1
Soal-6. Sebuah toko mainan hanya menjual dua macam robot, Robot-A dan Robot-B. Robot-A berkepala 2 dan berkaki 3. Robot B berkepala 3 dan berkaki 4. Dalam toko tersebut mungkin hanya ada Robot-A,( karena Robot-B sudah habis terjual), atau hanya ada Robot-B, atau kedua macam robot ada tersedia. Seorang anak menghitung dari semua robot yang ada ternyata terdapat 22 kepala dan 31 kaki. Ternyata terdapat 5 Robot A dan 4 Robot B. Susun program untuk menginput dua buah nilai yang menyatakan jumlah kepala dan jumlah kaki hasil hitungan anak tersebut. Kemudian hitung dan cetak ada berapa buah Robot-A dan berapa buah Robot-B. Tetapi apabila anak tersebut salah menghitung , maka cetak perkataan “Hitungan Salah”. Contoh: Bila jumlah Kepala Kaki Tercetak 5 7 6 8 6 9 7 9 7 10 8 12 9 12 9 13 9 14 10 14 10 15 10 16 22 31 1 1 0 2 3 0 Hitungan Salah 2 1 4 0 0 3 3 1 2 2 5 0 5 4 Tercetak : x y Jumlah Robot-B Jumlah Robot-A
Soal Susun program untuk menginput sebuah nilai integer (misal X) lebih kecil dari 100. Nilai ini menyatakan jumlah uang dalam sen, yang akan ditukar dengan kepingan uang logam (koin). Koin yang tersedia hanya ada dua macam. Yang pertama bernilai 5 sen dan yang kedua bernilai 3 sen. Penukaran hanya dapat dilakukan bila seluruh nilai X dapat ditukar dengan sejumlah koin yang tersedia. Bila penukaran tidak mungkin dilakukan, maka cetak perkataan “Tidak Ada Solusi”. Bila penukaran dapat dilakukan, maka cetak jumlah koin 5 sen dan jumlah koin 3 sen, yang digunakan sebagai penukar nilai X, dengan prinsip : jumlah keping uang logam 5 sen dan 3 sen adalah jumlah yang paling sedikit, dengan perkataan lain, harus mengutamakan penukaran dengan koin 5 sen dibandingkan koin 3 sen. Contoh : Bila diinput Harus tercetak Yang maksudnya Bukan dalam kombinasi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Tidak Ada Solusi 0 1 1 0 0 2 1 1 0 3 2 0 1 2 0 4 2 1 1 3 3 0 2 2 1 4 3 1 2 3 4 0 3 2 - 3 5 3 3 5 3 3 3 3 5 5 5 3 3 3 3 3 3 5 5 3 5 3 3 3 5 5 5 bukan : 3 3 3 3 3 5 5 3 3 5 3 3 3 3 5 5 5 3 bukan : 3 3 3 3 3 3 5 5 3 3 3 5 5 5 5 5 5 5 3 3 bukan : 3 3 3 3 3 3 3