uts algoritma _ pemrograman saintifik - 2013

1
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 ratarata 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 (perempat minggu) untuk seorang karyawan c. Misalkan terdapat orang karyawan, lengkapi jawaban algoritma 4.b untuk menghitung total gaji perbulan masingmasing 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 (nonrekursif) dengan membuat algoritmanya dalam pseudocode

Upload: laharadeo

Post on 13-Jul-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Soal UTS Alprog 2013 Matematika UI

TRANSCRIPT

Page 1: UTS Algoritma _ Pemrograman Saintifik - 2013

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