Anda di halaman 1dari 15

LAPORAN PRAKTIKUM

FISIKA KOMPUTASI
PRAKTIKUM I – PENDAHULUAN
KELAS G

Disusun Oleh:
Nama : Dinda Ega Fajarwati
NIM : 175090307111007
Asisten : Satrio Wiradinata Riady Boer
Hari/Tanggal Praktikum : Kamis, 4 Oktober 2018

LABORATURIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS BRAWIJAYA
2018
A. Jelaskan perbedaan pendekatan analitik dan pendekatan numerik
secara literatur
B. Jelaskan pengertian fungsi:
- display
- input
- fprintf
- sprintf
- for
- while
C. Buatlah sebuah program yang didalamnya terdiri dari membuat
file untuk meminta input, membuat perulangan, membuat if,
memasukkan data ke file, dan membuat grafik.

JAWABAN
A. Pendekatan analitik menitik beratkan pada kegiatan menganalisis
suatu materi. Dalam hal ini, dituntut untuk berpikir secara
sistematis dan kritis, karena cara kerja pendekatan ini merupakan
langkah-langkah untuk mengerjakan sesuatu secara urut dan
benar, sedangkan metode numerik adalah penyelesaian
persamaan matematis secara pendekatan, yang dilakukan karena
pendekatan analitik (eksak) belum dapat atau sulit untuk
dipecahkan. Penyelesaian model (persamaan) numerik ini akan
menghasilkan angka (numerik) yang bukan merupakan sebuah
fungsi. Biasanya, dua dasar yang digunakan unutk mengolah
angka pada metode numerik adalah deret Taylor matriks.

Source: Sasongko, S.B. 2010. Metode Numerik dengan Scilab.


Yogyakarta: Andi Offset.

B. – Display
Perintah yang ditulis pada Matlab akan ditampilkan bersama
dengan nama variabel. Jika tidak diakhiri dengan tanda titik
koma (; atau semicolon), untuk menampilkan perintah atau
output pada Matlab, bisa kita gunakan fungsi disp(x, sehingga
Syntax disp adalah syntax sederhana yang digunakan untuk
menampilkan string dan output tanpa nama variabel yang
mewakili output yang ditampilkan. Fungsi disp(x) dapat kita
gunakan untuk perintah skalar, vektor, atau matrik dengan tanpa
nama menampilkan nama variabel dari perintah tersebut. Fungsi
disp juga dapat digunakan untuk menampilkan sebuah teks.

– Input
Perintah input pada Matlab digunakan untuk memberikan
nilai suatu variabel pada saat program dijalankan. Data dari
keyboard juga kita masukkan dengan menggunakan fungsi input
ini. Input merupakan perintah untuk memasukan berbagai jenis
ekspresi yang dapat dikenali oleh Matlab, dapat berbentuk String
atau Number. 

– fprintf
Perintah output fprintf dapat digunakan untuk menampilkan
output pada command window ataupun menyimpan output
dalam bentuk file. Selain itu format output yang ditampilkan
dengan syntax ini dapat disesuaikan. Berbeda dengan syntax disp
yang tidak dapat melakukan formatting output yang akan
ditampilkan. Dengan beragamnya opsi formatting yang
disediakan fprintf, syntax ini menjadi sangat kompleks. fprintf
menampilkan nilai variabel menggunakan string format.

– sprintf
sprintf berfungsi untuk menggabungkan nilai dan variabel
dengan cara mengubah format ke dalam bentuk string. Fungsi
sprintf sebenarnya hampir sama dengan printf(), kecuali output
yang awalnya sebagai sebuah string langsung menjadi sebuah
standard output.
– for
Loop atau perulangan for pada Matlab merupakan
fundamental pemrograman yang berfungsi untuk mengulang
suatu perintah dalam jumlah yang ditentukan pengguna
berdasarkan pemenuhan fungsi ekspresi. Secara umum
perulangan For nested mempunyai sintak :
>> for x=array
{blok_perintah}
for y=array
blok_perintah2
end
{blok_perintah3}
end
Dengan sintak tersebut, setiap satu nilai dari array x,
blok_perintah2 akan diproses sebanyak anggota array y. Begitu
seterusnya sampai semua anggota array x terpakai. Sebagai
ilustrasi, jika array x mempunyai m anggota dan array y
mempunyai n anggota, maka banyaknya perulangan yang terjadi
adalah mn kali. Dalam sintak tersebut blok_perintah1 dan
blok_perintah3 bisa ada bisa tidak ada. Baik blok_perintah1
maupun blok_perintah3 hanya akan diulang berdasarkan
banyaknya anggota array x.

– While
Berbeda dengan perulangan For yang sudah pasti banyaknya
perulangan, dalam perulangan While banyaknya perulangan
belum dapat diketahui. Secara umum sintak untuk
perulangan while adalah :
>> while ekspresi
blok_perintah
end
Sebagaimana perulangan For, perulangan While dapat juga
muncul secara tersarang. Dalam pemrograman, dimungkinkan
juga bahwa perulangan For tersarang di dalam perulangan While,
atau sebaliknya, perulangan While yang tersarang di dalam
perulangan for.

C. – Editor

a
b
Gambar 1 a,b. Editor

- Workspace

Gambar 2. Workspace
- Command Window

b
c
Gambar 3 a-d.Command Window c

d
- Grafik S

Gambar 4. Grafik S sebagai Fungsi dari v dan t=2s

Perintah Program 1 (Meminta Input)


Gambar 1. Kode Program 1 (Input). Memasukkan input ‘Halo Ka Rio! Ini laporan
Praktikum pertama punya Dinda.hehe’.

Gambar2 . Kode Program 1 (Input). Mengeluarkan output ‘Halo Ka Rio! Ini


laporan Praktikum pertama punya Dinda.hehe’.

Penjelasan
Pada Gambar 1 Program 1, dilakukan perintah output dengan
menampilkan tulisan ‘Halo Ka Rio! Ini laporan Praktikum pertama
punya Dinda.hehe’, ketika dijalankan pada command window maka
akan ditampilkan output dengan bunyi kalimat yang sama (Gambar
2). Pada line pertama, perintah i=input agar memberikan data
masukan kepada program, sehingga sesuai dengan Gambar 2
Program 1, ketika program dijalankan (run), maka kalimat yang
diinputkan menjadi kalimat paling pertama yang muncul. Perintah
disp (sprint(‘hehe’,i)) pada line kedua adalah perintah agar kalimat
yang diapit oleh tanda kutip ditampilkan juga atau didisplaykan pula
setelah kalimat pertama tadi, tidak secara bersamaan. Kalimat
selanjutnya yang akan muncul dalam satu waktu dengan kalimat
‘hehe’ adalah ‘Berapa nilai yang diinginkan :’. ‘Berapa nilai yang
diinginkan :’ ini muncul sebagai hasil dari proses input atau
memasukkan data terhadap nilai variabel x sesuai dengan Gambar 2
Program 1 line ketiga. 9 adalah nilai yang dimasukkan untuk contoh.

Perintah Program 2 (Membuat Perulangan)


Gambar 1. Kode Program 2 (For). Memasukkan interval dari angka 1 hingga 10
dengan Kelipatan 1.

Gambar 2. Kode Program 2 (For). Mengeluarkan output untuk nilai total v


(akumulasi), dari angka 1 hingga 10 dengan interval 1.

Penjelasan
Perintah yang ditulis pada line keempat merupakan perintah
untuk melakukan inisiasi terhadap harga awal v sehingga
kecepatannya memiliki nilai awal sebesar 0, dengan satuan m/s. Pada
line kelima, ditulis input vmin = 10 agar nanti dapat diproses pada
perhitungan perintah if di program selanjutnya. Bentuk for atau
perulangannya dimulai pada line keenam. Perintah yang ditulis pada
line keenam merupakan perintah untuk membuat interval dari 1
hingga 10 dengan faktor kelipatan 1, sehingga, nilai v atau kecepatan
ada 10 nilai, yaitu dari 1 m/s hingga 10 m/s. Perintah pada line
ketujuh berarti untuk setiap v yang bernilai dari 1 hingga 10, v yang
kemudian akan diakumulasikan dan didisplaykan sebagai nilai v lalu
kemudian diproses pada bentuk if nantinya adalah nilai v yang
ditambah dengan nilai i terakhir. Kata end pada line kedelapan
menunjukkan proses akhir dari bentuk for. Perintah disp
(sprintf(‘jawaban=%.2f’,v)) pada line kesembilan adalah perintah
agar menampilkan nilai v akhir nantinya yang sudah memasuki
proses pada perintah if, dengan mengetikkan ulang secara persis
kalimat ‘jawaban=’ lalu diikuti dengan nilai v yang berupa angka.
Itulah mengapa %.2f diperlukan agar dapat menggabungkan antara
data numerik dan data non numerik. Gambar 2 Program 2 merupakan
hasil dari 1+2+3+4+5+6+7+8+9+10-10=55 m/s.
Perintah Program 3 (Membuat If)
Gambar 1. Kode Program 3 (If). Memasukkan syarat atau pertanyaan kondisi
‘apakah nilai v <=5 dan apakah v>=5?’

Gambar 2. Kode Program 3 (If). Menampilkan hasil akhir dari proses if beserta
kalimat yang harus diinputkan setelah nilai v memenuhi salah satu kondisi if.

Penjelasan
Line kesepuluh merupakan perintah awal dari if. Maksudnya

adalah jika nilai v akhir hasil akumulasi (v dari 1-10 m/s) bernilai
lebih kecil dari 5 atau sama dengan 5, maka nilai v akan diproses
pada perintah di line kesebelas, yaitu program memunculkan kalimat
‘kecepatan termasuk v<=5’ melalui perintah disp yang diketik pada
line kesebelas. Ingat, kondisi tersebut hanya terpenuhi apabila nilai v
akhir hasil akumulasi kurang dari atau sama dengan 5 m/s. End pada
line kedua belas menunjukkan akhir langkah dari bentuk if yang
pertama (bentuk if dari line kesepuluh sampai kesebelas). Namun,
jika v ternyata tidak kurang dari sama dengan 5 m/s seperti yang
tertera pada persyaratan atau kondisi yang diketik pada line ketiga
belas, ada proses lain yang harus dilakukan oleh program yang
dimulai dari line keempat belas. Sesuai dengan line keempat belas,
nilai v yang lebih dari sama dengan 5 m/s, akan dikurangi dengan
vmin sebesar 10 m/s yang nilai variabel vminnya sudah diinputkan
pada line kelima. Line kelima belas adalah perintah untuk
menampilkan ke layar berupa gabungan antara kalimat dan angka,
sehingga selain disp dan sprintf, %f juga diketikkan pada line kelima
belas ini. Maka hasil outputnya menjadi seperti yang dapat dilihat
pada gambar 2 program 3. End pada line keenam belas menunjukkan
akhir dari proses if.

Perintah Program 4 (Output to File)


Gambar 1. Kode Program 4 (Ouput to File). Memberikan variable-variabel yang
akan dimasukkan ke dalam data

Gambar 2. Kode Program 4 (Ouput to File).


Beberapa nilai s hasil program

Gambar 3. Kode Program 4 (Ouput to File). Data hasil output

PENJELASAN
fp=fopen(‘data.txt’,’w’); pada line ketujuh belas berarti
variable fp berisi perintah untuk membuka file data bertipe txt
dengan mode untuk dilakukan penulisan data (ditunjukkan oleh kode
‘w’). penulisan v=0 dan t=2 masing-masing di line 18 dan 19
menunjukkan proses inisiasi awal untuk menentukan harga awal dari
v dan t, yaitu 0 m/s dan 2s. while pada line selanjutnya menunjukkan
ekspresi yang digunakan untuk melakukan proses pengulangan
terhadap harga v. s=v*t pada line 21 berarti proses yang akan
dijalankan program apabila nilai v memenuhi syarat kondisi pada
while, yaitu selama v<=5 m/s. Pada line kedua puluh dua,
frintf(fp,’%f %f\n’,v,s) menunjukkan bahwa variable v dan s akan
ditampilkan dalam bentuk bilangan asli (float). v=v+0.25 di line
selanjutnya mengandung arti bahwa urutan nilai v yang akan
mengikuti looping while selama v<=5 m/s adalah v dengan selisih
antar nilai v nya adalah 0.25. end pada line dua puluh empat berguna
untuk mengakhiri looping while selama nilai v<=5 m/s. fclose(fp)
untuk menutup file fp. Disp ‘Done..’ yaitu untuk menampilkan kata
dalam tanda petik secara persis yaitu Done.. yang menandakan
bahwa file data telah selesai dibuat seperti pada gambar 3 baian kode
program 4.

Perintah Program 5 (Grafik)

Gambar 1. Kode Program 5 (Grafik). Memberikan


masukkan pada nilai grafik
Gambar 2. Kode Program 5 (Grafik).Hasil output berupa grafik s terhadap v
dengan t=2s

PENJELASAN
load data.txt artinya memberikan lokasi data yang akan
dibuat grafik. x=data (:,1) berarti nilai yang menjadi input untuk
sumbu x adalah data yang berada pada urutan ganjil dimulai dari 1,
dan y=data (:,2) berarti data untuk sumbu y adalah data di dokumen
urutan genap. Plot (x,y,’o’) adalah untuk memberitahu nilai-nilai
mana saja yang perlu ditandai dengan titik dan ditampilkan nilainya.
xlabel (‘v’) berarti sumbu x diberi label atau diberi keterangan
sebagai v atau kecepatan dan ylabel (‘s’) artinya memberi keterangan
pada gambar grafiknya sebagai s untuk sumbu y nya. Title (‘s=v*t’)
adalah untuk memberikan judul grafik.

Anda mungkin juga menyukai