Anda di halaman 1dari 16

LABORATORIUMTEKNIK GEOFISIKA

FAKULTAS ILMU DAN TEKNOLOGI KEBUMIAN


UNIVERSITAS HALUOLEO

PRAKTIKUM KOMPUTASI GEOFISIKA

SEMESTER GANJILTAHUNAJARAN 20191

NAMA : ASMA
NIM : R1A117004
KELOMPOK : C1
ASISTEN : MUARIF YUDA BASKARA
NAMA KELOMPOK : DANDI RETNO
AKMAL ZIHA
MOEHAMMAD QHODI AKBAR
NAFIUN ARDI TANTO
SUCI INDAH SARI
WA ODE YUNDA AMARAD

MODUL 2
PERCABANGAN

KENDARI – INDONESIA
© 2019 – TEKNIK
GEOFISIKA

©2019TeknikGeofisika,UniversitasHaluOle 1
o
LAPORANPRAKTIKUM
TeknikGeofisika,UniversitasHaluOleo
Modul2Percabangan

Nama:Asma
NIM :R1A117004
Tanggal Praktikum:01 Nopember 2019

ABSTRAK

MATLAB adalah bahasa pemrograman tinggi, tertutup, dan case


sensitive dalam lingkungan komputasi numerik yang dikembangkan oleh
MathWorks.Percabangan (Branches) merupakan salah satu teknik
pemrograman dalam MATLAB yang mengizinkan penggunanya untuk
memilih dan mengeksekusi source code spesifik (disebut blok) dan juga
melewatkan blok yang lain jika kondisinya tidak terpenuhi. Operasi yang
dilakukan oleh percabangan (branches) di dalam MATLAB semuanya
dikendalikan oleh tipe data logical Tipe data logika merupakan tipe data
yang spesial dimana nilai yang mungkin ada pada tipe data ini hanya dua
yaitu 1 (jika benar) dan 0 (jika salah). Terdapat 4 kasus yang harus
diselesaikan menggunakan Teknik percabangan. Masing-masing kasus
tersebut setidaknya memiliki 2 sampai 6 kondisi. Dimana jika salah satu
kondisi pada studi kasus tersebut terpenuhi maka source kode dalam
kondisi tersebut akan dieksekusi tetapi jika kondisi tidak terpenuhi maka
akan dieksekusi source kode yang lain.

I. TUJUAN

Tujuan yang ingin dicapai padapraktikum ini adalah sebagai berikut :

1. Memahami syntax if.


2. Memahami cara kerja dari teknik percabangan dalam MATLAB
khususnya if.

© 2019 Teknik Geofisika, Universitas Halu Oleo 2


II. TEORI DASAR

Tipe data logika merupakan tipe data yang spesial dimana nilai yang
mungkin ada pada tipe data ini hanya dua yaitu 1 (jika benar) dan 0 (jika
salah). Dua nilai tersebut hanya bisa dihasilkan oleh operator logika, operator
relational, dan fungsi true or false. Operasi yang dilakukan oleh percabangan
(branches) di dalam MATLAB semuanya dikendalikan oleh tipe data logical.
Jika salah satu kondisi terpenuhi (true) maka suatu bagian source code akan
diseksekusi dan jika tidak maka bagian source code yang lain yang akan
dieksekusi. Untuk mengecek tipe data dari suatu variable gunakan whos pada
command window (Anonim,2019)
Percabangan (Branches) merupakan salah satu teknik pemrograman
dalam MATLAB yang mengizinkan penggunanya untuk memilih dan
mengeksekusi source code spesifik (disebut blok) dan juga melewatkan blok
yang lain jika kondisinya tidak terpenuhi. Salah satu vriasi teknik
percabanagn yaitu If dan switch. Fungsi If-end,If-else-end dan If-elseif-else-
end merupakan fungsi pernyataan bersyarat(conditional statement).
Pernyataan bersyarat adalah perintah yang digunakan untuk melakkan
eksekusi beberapa perintah dengan menyesuaikan variabel dengan syarat
terhadap masing-masing perintah sehingga perintah-perintah dapat dilewati
atau dieksekusi.
Fungsi Switch-case pada matlab merupakan fundamental statement
pemrograman untuk menghasilkan diagram alir berupa input langsung nilai
variabel baik berupa string maupun numerik untuk menjalankan comment
group suatu program ata script file. Baris pertama dari fungsi ini adalah
syntax switch dilanjutkan dengan switch ekspression. Fungsi switch
expressions adalah variabel yang digunakan sebagai nilai syarat yang
digunakan pada case atau switch statement. Kemudian dilanjutakan dengan
case yang merupakan statement dari fungsi switch untuk melakukan eksekusi
tertentu.case statement dapat memuat lebih lebih dari satu nilai. Jika input
terhadap switch ekspression tidak terdapat dalam switch statement, maka

© 2019 Teknik Geofisika, Universitas Halu Oleo 3


ditambahkan syntax otherwise sebagai eksekusi yang dillakukan.

III. DATA DANPENGOLAHAN

1. DATA OBSERVASI

a. Problem Sheet 1
Syarat Proses
x>=0 & y>=0 z=x+y
x>=0 & y<0 z=x+y2
x<0 & y>=0 z=x2+y
x<0 & y<0 z=x2+y2

Dengan: x = -3 dan y = -1

b. Problem Sheet 2

= sin
Bagian a
= 1,0
= 1,7
= 45°

Syarat Proses
> gelombang akan dipantulkan kembali ke
region 1 dengan sudut =

< gelombang akan direfraksikan dengan


sudut =

Bagian b
= 1,7
= 1,0
= 45°

© 2019 Teknik Geofisika, Universitas Halu Oleo 4


Syarat Proses
> gelombang akan dipantulkan kembali
ke region 1 dengan sudut =

< gelombang akan direfraksikan dengan


sudut =

c. Problem Sheet 3
= 1500
= 426,69

=
+
Syarat Proses
-1<Rc<1 & Rc~=0 gelombang seismik akan dipantulkan.
Rc = 0 gelombang seismik akan diteruskan.

d. Problem Sheet 4
Syarat Nilai
95 < nilai A
86<nilai<=95 B
76<nilai<=86 C
66<nilai<=76 D
0<nilai<=66 E

© 2019 Teknik Geofisika, Universitas Halu Oleo 5


2. LANGKAH-LANGKAH PENGOLAHAN DATA

1) Untuk langkah-langkah pengolahan data pada problem sheet


nomor satu dapat dilihat pada flowchart dibawah ini

Mulai

X
Y

X>=0

Y>=0

X>=0

Y<0 Z=X+Y

X<0

Y>=0
Z=X+Y2

X<0

Y<0 Z=X2+Y

Z=X2+Y2

Disp(Z) Selesai

© 2019 Teknik Geofisika, Universitas Halu Oleo 6


2) Untuk langkah-langkah pengolahan data pada problem sheet
nomor dua dapat dilihat pada flowchart dibawah ini

Mulai

N1
N2
T1

N1>N2

N1<N2

T2 =
Asin((N1/N2)*sin(T1))

Disp(T2)

Selesai

© 2019 Teknik Geofisika, Universitas Halu Oleo 7


3) Untuk langkah-langkah pengolahan data pada problem
sheetnomor tiga dapat dilihat pada flowchart dibawah ini

Mulai

V1=1500
V2=330
P1=1
P2=1,293

RC=-
1&RC<1

RC=0

RC=(Z2-Z1)/(Z2+Z1)

Disp(RC)

Selesai

© 2019 Teknik Geofisika, Universitas Halu Oleo 8


4) Untuk langkah-langkah pengolahan data pada problem sheet
nomor empat dapat dilihat pada flowchart dibawah ini

START

Nilai = [98; 78; 88; 80]

No
95<x

No
Yes x>86
&x<=95

A No
Yes x>76
&x<=86

B No
Yes x>66 &
x<=76
ni
C
Yes x>0 &
x<=66
D
Yes

END

© 2019 Teknik Geofisika, Universitas Halu Oleo 9


3. HASIL PENGOLAHAN DATA
a. Source code yang digunakan pada problem sheet nomor 1 yaitu :

% problem sheet 1
clear all
clc
x=-3;
y=-1;
if x>=0 &y>=0
a=x+y

elseif x>=0 &y<0


b=x+y^2
disp(b)

elseif x<0 &y>=0


c=(x^2)+y
disp(c)
else
d=(x^2)+(y^2)

end

d=

10

b. Source code yang digunakan pada problem sheet nomor 2 yaitu :

% =================================
% PROBLEM SHEET 2
% Bagian a
% =================================

clear all;
clc;
n1=1.0;
n2=1.7;
teta1= 45;

if n1>n2;

© 2019 Teknik Geofisika, Universitas Halu Oleo 10


teta2=asin((n1/n2)*sin(teta1));
fprintf('\n gelombang seismik di pantulkan dengan sudut %f \n', teta2)
else n1<n2;
teta2=asin((n1/n2)*sin(teta1));
fprintf('\n gelombang seismik di refraksikan dengan sudut %f \n', teta2)
end

gelombang seismik di refraksikan dengan sudut 0.524213

% =================================
% PROBLEM SHEET 2
% Bagian b
% =================================

clear all;
clc;
n1=1.7;
n2=1.0;
teta1= 45;

if n1>n2;
teta2=asin((n1/n2)*sin(teta1));
fprintf('\n gelombang seismik di pantulkan dengan sudut %f \n', teta2)
else n1<n2;
teta2=asin((n1/n2)*sin(teta1));
fprintf('\n gelombang seismik di refraksikan dengan sudut %f \n', teta2)
end

gelombang seismik di pantulkan dengan sudut 1.570796


c. Source code yang digunakan pada problem sheet nomor 3 yaitu :

%=================================
%PROBLEM SHEET 3
%=================================
clear all;
clc;
Vupper=1500;
rho_upper=1
Vlower=330;
rho_lower=1.293;
Zupper=rho_upper*Vupper;
Zlower=rho_lower*Vlower;

© 2019 Teknik Geofisika, Universitas Halu Oleo 11


RC=(Zlower-Zupper)/(Zlower+Zupper)

if RC>-1 & RC<1


fprintf('\n gelombang akan di pantulkan dengan sudut %f \n', RC )
else RC==0
fprintf('\n gelombang akan di teruskan dengan sudut %f \n', RC )
end

rho_upper =

RC =

-0.5571

gelombang akan di pantulkan dengan sudut -0.557075

d. Source code yang digunakan pada problem sheet nomor 4 yaitu :

% Problem sheet 4
clear all;
clc;
Nilai = [98; 78; 88; 80];
Nama = char('Sultan', 'Ali', 'Alfatih', 'Kumala');
Huruf = char();
for i=1:numel(Nilai)
if Nilai(i)>95;
Huruf(i) = char('A');
elseif Nilai(i)>86 && Nilai(i)<=95
Huruf(i) = char('B');
elseif Nilai(i)>76 && Nilai(i)<=85
Huruf(i) = char('C');
elseif Nilai(i)>66 && Nilai(i)<=75
Huruf(i) = char('D');
else
Huruf(i) = char('E');
end
end
Huruf = Huruf';

© 2019 Teknik Geofisika, Universitas Halu Oleo 12


T = table(Nama,Nilai,Huruf);
disp(T)

Nama Nilai Huruf


_______ _____ _____

Sultan 98 A
Ali 78 C
Alfatih 88 B
Kumala 80 C

IV. ANALISIS

Percabangan (Branches) merupakan salah satu teknik pemrograman


dalam MATLAB yang mengizinkan penggunanya untuk memilih dan
mengeksekusi source code spesifik (disebut blok) dan juga melewatkan blok
yang lain jika kondisinya tidak terpenuhi. Terdapat 3 variasi teknik percabangan
yaitu if, switch, dan try/catch (Anonim,2019). Kondisional dengan (if … elseif
… else … end) digunakan untuk mengontrol alur suatu program. Kondisional if-
else sering digunakan di dalam program.
Praktikum komputasi acara kedua ini berjudul “Percabangan”
menggunakan konsep if. Pada praktikum ini,untuk problem sheet pertama
diketahui beberapa fungsi dengan syarat masing-masing. Ketika nilai x dan y yang
diinput memenuhi persyaratan pada satu fungsi maka nilai input ini akan terproses
pada fungsi persamaannya. Misalnya di berikan input x=-3 dan y=-1, pada
persyaratan pertama nilai x>=0 &y>=0 karena nilai x dan y yang diinput tidak
memenuhi syarat tersebut maka akan masuk lagi kepersyaratan kedua dimana
x>=0 &y<0 karena tidak memenuhi syarat ini juga maka akan masuk lagi
kepersyaratan ketiga x<0 &y>=0 namun persyaratan ini juga tidak terpenuhi lalu
masuk kepersyaratan keempat dimana x<0 &y<0. Karena nilai x dan y memenuhi
syarat keempat, maka x dan y akan dieksekusi pada persyaratan keempat ini dan
akan ditampilkan hasil eksekusinya
Problem sheet kedua dengan kasus menentukan apakah gelombang

© 2019 Teknik Geofisika, Universitas Halu Oleo 13


seismic akan di pantulkan atau diteruskan menggunakan program matlab dengan
konsep percabangan if. Terdapat dua kondisi,yaitu jika n1>n2 maka akan
ditampilkan hasil bahwa gelombang dipantulkan, untuk kondisi kedua yaitu jika
n1<n2 maka akan ditampilkan hasil bahwa gelombang direfraksikan. Diberikan
dua nilai untuk masing-masing n1 dan n2. Kasus pertama nilai n1=1,0 dan
n2=1,7 sedangkan untuk kasus kedua nilai n1=1,7 dan n2=1,0. Untuk kasus
pertama akan dieksekusi pada persyaratan kedua karena pada persyaratan
pertama tidak terpenuhi dan hasilnya gelombang akan direfraksikan karena
n1<n2. Sedangkan kasus kedua akan dieksekusi pada persyaratan pertama
dimana gelombang
Problem sheet ketiga terdapat kasus dimana hanya terdapat satu nilai
saja untuk dua kondisi. Kondisi pertama yaitu ketika nilai RC lebih dari (-1) dan
kurang dari 1 maka akan ditampilkan hasil gelombang di pantulkan. Namun jika
RC=0 maka akan ditampilkan hasil gelombang diteruskan. Pada kasus ini
diketahui nilai kecepatan lapisan 1(V upper)=1500 m/s dan kecepatan lapisan
kedua(V lower)=330 untuk mencari nilai RC. Seperti yang kita ketahui
kecepatan akan bertambah seiring bertambahnya kedalaman namun pada kasus
ini kecepatan lapisan kedua lebih kecil dibandingkan kecepatan lapisan pertama
sehingga dapat dikatakan pada lapisan ini terdapat kejanggalan atau anomali.
Problem sheet keempat dengan kasus mengubah nilai siswa ke dalam
nilai huruf dengan rentan tertentu. Yang pertama dilakukan yaitu membuat
matriks yang mewakili data nilai empat siswa tersebut. Dan kemudian dibuat
perulangan dan percabangannya. Ketika nilai tersebut telah memenuhi syarat
dari kondisi tertentu maka kemudian akan muncul hasil output untuk kondisi
yang sesuai. Untuk nilai 98, karena 98>95 maka akan dieksekusi pada syarat
pertama dan ditampilakan huruf A. Nilai 78 akan dieksekusi pada persyaratan
ketiga karena berada pada rentan 76 sampai 85 dan menampilkan huruf C. Nilai
88 akan dieksekusi pada persyaratan kedua dan menampilakan huruf B
sedangakan untuk nilai 80 dan dieksekusi pada persyaratan ketiga dan
menampilkan huruf C.

© 2019 Teknik Geofisika, Universitas Halu Oleo 14


V. KESIMPULAN
Kesimpulan yang dapat diperoleh padapraktikumperulanganadalah
sebagai berikut :

1. Syntax if merupakan suatu kondisi atau perintah jika benar. Fungsi if


ini hanya menjalanakan 1 perintah tanpaalternatif perintah. Sehingga
jika kondisi bernilai salah maka tidak ada output yang dikeluarkan.
2. Fungsi If-end,If-else-end dan If-elseif-else-end merupakan fungsi
pernyataan bersyarat(conditional statement). Pernyataan bersyarat
adalah perintah yang digunakan untuk melakkan eksekusi beberapa
perintah dengan menyesuaikan variabel dengan syarat terhadap masing-
masing perintah sehingga perintah-perintah dapat dilewati atau
dieksekusi.

VI. MANFAAT PRAKTIKUM

Manfaat praktikum yangingin diperoleh padapraktikum ini


adalah sebagai berikut :
1. Menerapkan syntax if pada suatu pernyataan
2. Mampu memahami sistem dari percabangan pada aplikasi MATLAB.

© 2019 Teknik Geofisika, Universitas Halu Oleo 15


DAFTAR PUSTAKA

[1] Anomim. 2019. Modul 2 branches Universitas Halu Oleo: Kendari.

[2] Http://www.google.com/amp/s/www.advernesia.com/blog/matlab/oper
asi-logika-pada-matlab

© 2019 Teknik Geofisika, Universitas Halu Oleo 16

Anda mungkin juga menyukai