uts algoritma _ pemrograman saintifik - 2013
DESCRIPTION
Soal UTS Alprog 2013 Matematika UITRANSCRIPT
UJIAN TENGAH SEMESTER ALGORITMA DAN PEMROGRAMAN SAINTIFIK DEPARTEMEN MATEMATIKA, FMIPA UI 4 APRIL 2013 (Open Book, 120 menit) 1. (10) Dengan menggunakan definisi dari Big Oh (O), tunjukkan :
2𝑛! − 100𝑛 ∈ 𝑂(𝑛!)
2. (10) a. Gambarkan flowchart untuk pseudocode di bawah ini : Program Eg(n) do i = 1...n do j = 1...i do k = 1...j write “HI” end do end do end do end Program (10) b. Tentukan Big Oh (O) dari running time 𝑇(𝑛) untuk algoritma pada soal no. 2a dan jelaskan jawaban Anda
3. (20) Bila diberikan sejumlah data sebanyak 𝑛 yang diinput asatu per satu ke dalam suatu program, maka buatlah suatu algoritma (dapat dalam pseudocode atau flowchart) yang langsung memberikan output/hasil yang menghitung: a. Jumlah nilai total dari seluruh 𝑛 data tersebut b. Nilai rata-‐rata dari 𝑛 data tersebut c. Nilai maksimum dari 𝑛 data tersebut
4. (20) Sebuah perusahaan X memberlakukan perhitungan gaji sebagai berikut: • Gaji dibayar sesuai dengan rate standar perjam yang ditentukan oleh
perusahaan • Jika jumlah kerja perminggu kurang daru atau sama dengan 40 jam
maka gajinya dibayar sebesar rate standar perjamnya
• Jika jam kerja perminggunya lebih dari 40 jam, maka 40 jam pertama dihitung dengan rate standar dan kelebihan jamnya dihitung sebagai lembur sebesar 1,5 rate standar perjam
a. Buatlah algoritma berupa flowchart atau pseudocode untuk
menghitung gaji perminggu yang harus dibayarkan perusahaan X kepada seorang karyawan
b. Lengkapi jawaban algoritma 4.a untuk menghitung total gaji perbulan (per-‐empat minggu) untuk seorang karyawan
c. Misalkan terdapat 𝑛 orang karyawan, lengkapi jawaban algoritma 4.b untuk menghitung total gaji perbulan masing-‐masing karyawan dan total gaji yang harus dikeluarkan perbulan oleh perusahaan X untuk semua 𝑛 karyawan tersebut
5. (15) Bila diberikan algoritma sebagai berikut :
Input n Sum = 0 For k = 1 to n Print Sum Sum = Sum + (2*k) End For a. Ubahlah menjadi struktur REPEAT ... UNTIL dalam flowchart b. Bila diberikan nilai input n = 10, bagaimana output/hasil dari
algoritma di atas?
6. (15) Ubahlah struktur rekursiif berikut : 𝐹 𝑛 = 2 𝐹(𝑛 − 1) dengan 𝐹 1 = 1
menjadi struktur iterative (non-‐rekursif) dengan membuat algoritmanya dalam pseudocode