Anda di halaman 1dari 7

UAS METODE KOMPUTASI

1. Jawablah pertanyaan dengan menulis Betul atau Salah pada lembar jawab yang diberikan.
Tulislah Betul, bila pernyataan yang sesuai betul, atau tulis Salah bila salah.

a. RAM adalah memory primer yang diakses secara sekuential. (SALAH)

b. Bilangan, bilangan real atau integer , disimpan pada mesin computer dalam bentuk
bilangan berbasis 2 (biner). (BENAR)

c. Mesin komputer hanya mengenal perintah dalam bentuk bahasa mesin sehingga
perintah atau program yang ditulis dalam bahasa lain, misalnya Bahasa C atau Java, perlu
ditranslasi (diterjemahkan) ke bahasa mesin oleh Compiler. (SALAH)

d. Tree adalah bentuk khusus graph, sehingga dalam tree mungkin saja dijumpai cyclic.
(SALAH)

e. Binary tree adalah bentuk khusus Tree, dimana setiap node dalam binary tree memiliki
anak 2 yaitu anak kiri dan anak kanan. (BENAR)

2. Jawablah pertanyaan berikut

a) Jelaskan apa yang dimaksud dengan istilah “Open Source”

open source adalah program komputer yang lisensinya memberi kebebasan


kepada pengguna dalam menjalankan program tersebut untuk apa saja,
mempelajari dan memodifikasi program tersebut, dan mendistribusikan
penggandaan program asli atau yang sudah dimodifikasi tanpa harus membayar
royalti kepada pembuat sebelumnya.

SUMBER: http://www.filmpelajar.com/tutorial/apa-itu-open-source

b) Elaborasi kelebihan dan kekurangan menggunakan program atau paket “Open


Source”?

1. Keuntungan menggunakan open source software, antara lain :

a. Pengurangan Pembajakan
Open source software dengan berbagai kelebihannya, juga legal, penggunaan
open source software di seluruh Indonesia akan menyebabkan tingkat pembajakan
software di Indonesia menjadi turun drastic, dari 88% menjadi 0%.
b. Penyelamatan devisa Negara
Dengan menggunakan OSS ini, maka dapat dilakukan penghematan devisa
Negara secarasignifikan. Kemudian dana tersebut dapat dialokasikan ke usaha-
usaha yang bertujuan untuk kesejahteraan rakyat.
c. Keamanan Negara/Perusahaan
Open source softwar ini bebas dari bahaya, karena bisa dilakukan audit terhadap
kode programnya, maka keamanan Negara atau perusahaan dapat terjaga dengan
baik.
d. Keamanan sistem
Dalam setiap pengoperasian komputer banyak terdapat berbagai masalah
keamanan sepertiadanya virus, spyware, trojan namun dengan menggunakan open
source software inipermasalahan-permasalahan yang terdapat pada komputer
dapat diketahui karena penanganannya pun lebih transparan.
e. Bebas memodifikasi sesuai keperluan.
Open source software ini dikarenakan kode programnya lebih mudah
dibuka dan diakses olehsiapa saja, serta bisa dimodifikasi sesuai dengan
kebutuhan penggunanya.
f. Bebas disebarluaskan
Customer bebas untuk menggandakan software open source sebanyak mungkan
sesuai yang diperlukan tanpa perlu mereka cemas akan pembajakan software
tanpa disengaja.
g. Ekonomis
Jika customer memiliki akses internet, maka berbagai open source software
tinggal diambil saja dari internet.
h. Menyejahterakan industri dalam negeri.
Industri dalam negeri non-IT turut menikmati, karena mendapat akses ke
software yangekonomis dan berkualitas sehingga bisa menjadi lebih kompetitif
dengan pesaing-pesaing dari luar negeri.
2. Kerugian dalam penggunaan open source software, antara lain :
a. Tidak ada garansi dari pengembangsn open source software.
b. Masalah yang berhubungan dengan intelektual property.
c. Kesulitan dalam mengetahui status project.
d. Masih terus dalam pengembangan dan penyempurnaan.
SUMBER: http://catatan-magangku.blogspot.co.id/2014/08/kelebihan-dan-
kekurangan-menggunakan.html

3. Perhatikan fungsi berikut:

function res = jk(n)

res = 0

for i = 1:n

res = res+i^2

end

endfunction
a. Bila fungsi jk dipanggil dengan parameter bernilai 5 atau dipanggil sbb : disp(jk(5))

Berapa nilai yang akan ditampilkan?

NILAI AWAL : res = 0

Perulangan(Looping) dengan for:

for i = 1:n

res = res+i^2

i = 1, res = res+1^2=0+1=1

i =2, res = 1+2^2=1+4=5

i=3, res = 5+3^2=5+9=14

i=4, res = 14+4^2=14+16=30

i=5, res = 30+5^2=30+25=55

n=5, maka iterasi BERHENTI.

Jadi, output yang keluar adalah 55.

b. Buatlah fungsi jkrec, yaitu fungsi yang melakukan hal yang sama dengan fungsi jk,
tetapi dilakukan secara rekursif.

function res = jkrec(n)

if (n==1) then

res=1

else

res = n^2*jkrec(n-1)

end

endfunction
4. 4. Misalkan 100 bilangan integer disimpan pada peubah array A secara berurutan, dari
nilai yang terkecil ke nilai terbesar. Bila x menyimpan suatu nilai yang akan dicari pada
array A.

a. Tulislah dalam kata-kata, bagaimana mencari nilai x pada array A yang terbaik atau
tercepat menurut saudara?

Untuk mencari nilai x yang akan dicari untuk array dengan data yang sudah terurut itu
lebih mudah dilakukan. Kita lakukan perbandingan untuk isi array pada indeks
pertama. Jika x kita sudah lebih kecil dari isi array yang pertama maka sudah bisa
dipastikan x yang kita cari tidak ada dalam array. Namun jika tidak maka ada
kemungkinan x yang kita cari itu ada dalam array. Lalu kita lakukan looping dan
membandingkan tiap isi array dengan x yang kita cari.

b. Misalkan fungsi Cari dengan parameter x dan A, sehingga dipanggil di main program
sbb : k=Cari(x,A)dimana k adalah indeks posisi nilai yang disimpan pada variabel x
dalam array A. Tulislah fungsi Cari dalam Scilab. Misalnya, bila A=[10,12,13,14,15],
dan x=14 maka eksekusi perintah berikut k=Cari(x,A) akan menghasil k bernilai 4

function k=Cari(x,A)

if x<A[1] then

disp(“angka yang dicari tidak ada dalam array”)

else

i=1;

while A[i]~=x

i=i+1

end

k=i

end

ATAU CARA LAIN dengan menggunakan looping for

function k=Cari(x,A)

if x<A[1] then

disp(“angka yang dicari tidak ada dalam array”)


else

n=length(A)

for i=1:n do

if a[i]==x then

k=i;

else

disp(“angka yang dicari tidak ada dalam array”)

end

end

end

5. Ordered linked list adalah linked list yang selalu terurut (dari kecil ke terbesar). Ordered
linked list menggunakan struktur SCILAB sbb :

node=struct(“info”,0,”next”,[])

dimana field “info” menyimpan bilangan integer, sedangkan field “next” menyimpan link
ke node berikutnya atau field “next” berisikan [] (address nol) bila node sedang dikunjungi
merupakan node yang terakhir yang dikunjungi dalam linked list. Bila variabel head
merupakan header dari ordered linked list,

node=struct(“info”,0,”next”,[]);head=node;

maka fungsi berikut mencetak informasi:

function printlist()

x=head.next;

while(x<>[])

disp(x.info)

x=x.next;

end
endfunction

a) Bila fungsi insertlist (x) adalah fungsi yang menginsert node x ke ordered linked
list, seperti perintah berikut (misal k adalah nilai info yang akan diinsert)

node = struct(“info”,0,”next”,[]);

head = node;

x = node;

x.info = k;

x.next = [];

p = head;

function insertlist(x)

while(p.next <> []) && (x.info > p.next.info)

p.next = p.next.next;

end

if (p.next <> []) then

x.next = p.next;

p.next = x;

else

p.next = x;

end

endfunction

b) Lengkapilah fungsi deletelist(k) yaitu fungsi untuk menghapus sebuah node


dengan info yang bernilai k pada linked list.

node = struct(“info”,0,”next”,[]);

head = node;
k = 5;

p = head;

found = false;

function deletelist(k)

while (p.next <> [])

if (p.next.info == k) then

found = T;

break

else

p = p.next;

end

end

if (found == T) then

p.next = p.next.next;

else

disp(“node yang akan dihapus tidak ditemukan”)

end

endfunction

Anda mungkin juga menyukai