Anda di halaman 1dari 20

LAPORAN PRAKTIKUM

KOMPUTASI DAN LOGIKA PEMROGRAMAN

DISUSUN OLEH:
NAMA : ALNISYA NUR AMALIA
NIM : 21 01 060
GRUP :C
Tanggal Praktikum : 07 November 2022

KEMENTERIAN PERINDUSTRIAN REPUBLIK INDONESIA


POLITEKNIK TEKNOLOGI KIMIA INDUSTRI
PROGRAM STUDI TEKNIK KIMIA
MEDAN
2022
MODUL 5
Kontrol Program

1.1 Tujuan Praktikum


1. Mahasiswa mengetahui dasar-dasar Kontrol Program pada aplikasi SCILAB
2. Mahasiswa memahami cara menggunakan Kontrol Program

1.2 Teori Dasar


Kontrol Program sangat berguna karena memungkinkan komputansi-komputansi
yang sebelumnya mempengaruhi komputansi yang akan dating. Jika anda pernah
menggunakan fasilitas control ini,maka bab ini bukan hal yang baru bagi anda.
Namun jika control program ini merupakan sesuatu yang baru bagi anda,mater ini
mungkintampak rumit.
Fungsi If-else-end pada MATLAB merupakan fungsi pernyataan bersyarat.
Conditional Statements atau pernyataan bersyarat adalah perintah yang digunakan untuk
melakukan eksekusi beberapa perintah dengan menyesuaikan variabel dengan syarat
terhadap masing-masing perintah sehingga perintah-perintah dapat dilewati atau di-
eksekusi.
Kontrol program adalah Suatu algoritme disusun terurut dari atas ke bawah,
demikian pula halnya dengan barisbaris program yang diproses oleh komputer
berurutan dari atas ke bawah; kecuali untuk kondisi tertentu harus melompat ke baris
yang ditentukan, kembali ke baris sebelumnya, dan sebagainya. Oleh karena itu, sering
dilakukan pengontrolan pemrosesan instruksi agar sesuai dengan masalah yang sedang
dipecahkan. Perhatikan contoh algoritme berikut:
jika rataan < 50 maka
cetak 'TIDAK LULUS'.
yang menunjukkan bahwa instruksi 'cetak TIDAK LULUS' akan dilakukan hanya jika
nilai rataan < 50. Contoh lain adalah:
selama counter < n lakukan:
• hasil ← hasil * 9
• counter ← counter + 1
yang berarti bahwa dua baris paling bawah akan diproses terus-menerus selama
terpenuhi kondisi 'counter < n'.
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer
atau bahasa pemrograman komputer adalah instruksi standar untuk memerintah
komputer atau kata-kata berupa instruksi/perintah-perintah yang biasanya terdiri dari
banyak baris yang bisa dimengerti oleh komputer.
Fungsi dari bahasa pemrograman untuk memerintahkan komputer dan mengolah
data sesuai dengan logika yang kita inginkan. Output dari bahasa pemrograman dalam
bentuk program / aplikasi.
Secara umum bahasa pemrograman dibagi menjadi empat kelompok, yaitu :
1. Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C).
2. Bahasa tinggi (seperti Pascal dan Basic).
3. Bahasa Tingkat Tengah (seperti C).
4. Bahasa Tingkat Rendah (seperti bahasa assembly).
Proses pembuatan program yang kita tulis, source code dalam editor teks seperti
notepad dan kemudian mengubahnya menjadi bahasa mesin yang dapat dieksekusi oleh
CPU. Proses konversi source code ke dalam bahasa mesin terdiri dari dua jenis
kompilasi dan interpretasi. Dalam proses kompilasi, yang pertama source code dibaca
dan jika tidak ada kesalahan dalam penulisan, program ini akan mengatur kode mesin
sehingga program dapat dijalankan. Program yang melakukan tugas ini disebut
Compiler. Program ini akan mengkompilasi hasil dalam bentuk yang dapat dieksekusi.
Program ini dapat dijalankan tanpa harus langsung memiliki compiler pada komputer
yang menjalankan program.
Scilab menyediakan empat struktur kontrol program, yaitu loop for, loop while,
kontruksi switch-case dan kontruksi if-else-end. Kontruksi-kontruksi tersebut seringkali
melibatkan banyak perintah Scilab, yang oleh karenanya kontruksi ini lebih banyak
terdapat dalam Scinotes.
1. Loop for
Loop for Scilab menyediakan empat struktur kontrol program, yaitu loop for,
loop while, kontruksi switch-case dan kontruksi if-else-end..Bentuk umum loop
for adalah:
for x= array
perintah
end
Keterangan: Perintah antara statemen for dan statemen end dikerjakan
sekali untuk setiap kolom dalam array Untuk tiap iterasi, x diisi dengan kolom
array berikutnya, yaitu dalam literasi ke-n dalam loop, dapat dilihat pada
Program 1. Dari hasil program 1. untuk n sama dengan satu sampai sepuluh,
kerjakan seluruh statemen sampai statemen end berikut. Pertama kali
dieksekusi loop for untuk n=1. lalu n-2 dan seterusnya sampai n=10..
2. Loop While
Loop for mengerjakan sekelompok perintah pengulangan yang diulang
sebanyak suatu jumlah yang kita tentukan, tetapi loop while mengerjakan
sekelompok perintah yang diulang secara tidak terbatas.
while ekspresi
perintahend
perintah yang terdapat diantara statemen while dan end dieksekusi berulang
kali selama semua elemen dalam ekspresi adalah benar
3. Kontruksi switch-else
Bila sederetan perintah harus dikerjakan dengan didasarkan pada
penggunaan berulang-ulang suatu tes dengan argumen yang sama, kontruksi
switch-else akan lebih tepat digunakan. Kontruksi ini mempunyai bentuk:
switch ekspresi
case test ekspresi 1
deret perintah 1
case test ekspresi 2
deret perintah 2
otherwise
deret perintah 3
end
Pada bagian diatas ekspresi dibandingkan dengan dengan test ekspresi 1
pada statemen case pertama, jika keduanya sama maka deret perintah akan
dikerjakan. dan deret statemen berikutnya yang berada sebelum statemen end
diabaikan.

4. Kontruksi if-else-end
Seringkali sederetan perintah harus dikerjakan dengan didasarkan pada hasil
tes rasional. Dalam bahasa pemograman, logical ini dikerjakan dengan
variasi kontruksi ifelse-end Bentuk paling sederhana kontruksi if-else-end
adalah:
if ekspresi
perintah
end

Perintah diantara statemen if dan end dikerjakan jika semua elemen didalam
ekspresi adalah benar, contoh:
Pada kasus chia pilihan, kontruksi if-else end adalah:
if ekspresi
perintah dikerjakan jika benar
elsez
perintah dikerjakan jika salah
end
Proses looping yang sedang berlangsung dapat diatur kembali dengan
menggunakan pernyataan break (yang mengakhiri struktur while, do-while, for, atau
switch terdekat yang mencakupnya), dan pernyataan continue (yang mengakhiri proses
iterasi yang sedang berlangsung. Perhatikan dan telaah contoh program berikut, serta
apa yang terjadi jika pernyataan 'break' diganti dengan 'continue':
http://julio.staff.ipb.ac.id/files/2011/12/4.pdf
Loop merupakan kode program yang berulang-ulang. Loop berguna saat kita
ingin melakukan sebuah perintah yang perlu dijalankan berulang-ulang seperti
melakukan perhitungan maupaun melakukan visualisasi terhadap banyak variabel
secara serentak. Hal ini tentu saja membantu kita karena kita tidak perlu menulis
sejumlah sintaks yang berulang-ulang. Kita hanya perlu
mengatur statement berdasarkan hasil yang kita harapkan.
Pada R bentuk loop dapat bermacam-macam (“for loop”,“while loop”,
dll). R menyederhanakan bentuk loop ini dengan menyediakan sejumlah fungsi
seperti apply(),tapply(), dll. Sehingga loop jarang sekali muncul dalam kode R.
Sehingga R sering disebut sebagai loopless loop.
Meski loop jarang muncul bukan berarti kita tidak akan melakukannya.
Terkadang saat kita melakukan komputasi statistik atau matematik dan belum
terdapat library yang mendukung proses tersebut, sering kali kita akan membuat
sintaks sendiri berdasarkan algoritma metode tersebut. Pada algoritma tersebut sering
pula terdapat loop yang diperlukan selama proses perhitungan.
For loop adalah Mengulangi sebuah statement atau
kelompok statement sebanyak nilai yang ditentukan di awal. Jadi operasi akan terus
dilakukan sampai dengan jumlah yang telah ditetapkan di awal atau dengan kata lain
tes kondisi (Jika jumlah pengulangan telah cukup) hanya akan dilakukan di akhir.
While loop merupakan loop yang digunakan ketika kita telah menetapkan stop
condition sebelumnya. Blok statement/kode yang sama akan terus dijalankan
sampai stop condition ini tercapai. Stop condition akan di cek sebelum melakukan
proses loop.

Scilab adalah freeware yang dikembangkan untuk komputasi numerik. Scilab


menyediakan ratusan fungsi yang merepresentasikan operasi matematika, analisis data
serta algoritma dalam komputasi numerik. Scilab juga merupakan bahasa pemrogaman
tingkat tinggi yang dapat digunakan untuk pengembangan suatu algoritma. Scilab
tersedia untuk sistem operasi Windows, Linux dan MacOS. Alamat situs Scilab adalah
httpp://www.scilab.org. Situs tersebut menyediakan dokumentasi dan informasi tentang
Scilab serta fille instalasinya. Scilab yang digunakan dalam penulisan artikel ini adalah
Scilab versi 6.0.1.
Scilab dilengkapi dengan sistem bantuan yang baik. Jendela sistem bantuan
Scilab dapat ditampilkan melalui menu ? - Scilab Help, menekan tombol F1 atau
dengan menggunakan perintah help. Pada jendela bantuan, kita dapat memperoleh
penjelasan yang detail mengenai suatu fungsi atau operator tertentu.
https://ilmukomputer.org/wp-content/uploads/2019/01/Scilab.pdf
SCILAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk
komputasi masalah teknik. Scilab mengintegrasikan komputasi, visualisasi, dan
pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-
masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang sering
digunakan.
"Flow Control" atau kontrol program adalah istilah pemrograman untuk
menentukan instruksi apa yang akan diberikan kepada komputer saat program bertemu
pada kondisi tertentu
1.3 Prosedur

Program 1
a. Scinotes

//Nama : Alnisya Nur Amalia


//NIM : 2101060
clc;
clear;
for i=1:10
x(i)=sin(i*%pi/10)
end

b. SCILAB Console

c. Variablel Browser

d. Command History
Program 2
a. Scinotes

//Nama: Alnisya Nur Amalia


//NIM : 2101060
clc;
clear;
for i=1:10
y(i)=sin(i*%pi/10)
i =9;
end

b. SCILAB Console

c. Variable Browser
d. Command History
Program 3
a. scinotes

//Nama : Alnisya Nur Amalia


//NIM : 2101060
clc;
clear;
for i=1:10
for j=1:5
U(i,j)=i^2+j^2;
end
end

b. SCILAB Console

c. Variabel Browser

d. Command History
Program 4
a. Scinotes
//Nama : Alnisya Nur Amalia
//NIM : 2101060
clc;
clear;
num=1
x=[];
while num<10
x(num)=num;
num=num+1
end
num2=1;
y=[];
while num2<10
num2=num2+1;
y(num2)=num2;
end

b. SCILAB Console

c. Variabel Browser
d. Command History
Program 5
a. Scinotes
//Nama : Alnisya Nur Amalia
//NIM : 20101060
clc;
clear;
bilangan=5
x=modulo(5,2);
select x
case 1
disp(['bilangan',string(43),'adalah bilangan ganjil'])
case 0
disp(['bilangan',string(90),'adalah bilangan genap'])
otherwise
disp('Bilangan ini tidak mungkin ada')
end

b. SCILAB Console

c. Variable Browser

d. Command History
Program 6
a. Scinotes
//Nama : Alnisya Nur Amalia
//NIM : 2101060
clc;
clear;
x1=2;
err=1;
while err > 0.0005
x2=1+(1/x1);
err=abs(x2-x1);
x1=x2;
end

b. SCILAB Console

c. Variabel Browser

d. Command History
Program 7
a. Scinotes
//Nama : Alnisya Nur Amalia
//NIM : 2101060
clc;
clear;
x1=2;
err=1;
i=1;
x=[ ];
x(1)=x1;
while err > 0.0005
i;
x2=1+(1/x1);
err=abs(x2-x1);
x(i+1)=x2;
x1=x2;
i=i+1;
end
t=1:length(x);
plot(t,x)

b. SCILAB Console

c. Variabel Browser
d. Command History

e. Graphic Window Number 0


1.4 Pembahasan

Pemrograman merupakan aktivitas yang dilakukan untuk membuat sebuah


program komputer dengan barisan kode. Biasanya, pemrograman sering disebut dengan
coding.Nantinya, barisan kode yang menjadi hasil akhir pemrograman dapat
memberikan instruksi khusus ke komputer. Saat membuat program, programmer juga
perlu menentukan aksi apa yang harus dikerjakan.Untuk menentukan aksi dan perintah
tersebut, maka dibutuhkannya struktur kontrol percabangan.
1. Program 1
a. clc; artinya membersihkan layar
b. clear;
c. for i=1:10 artinya input i adalah untuk bilangan 1-10
d. x(i)=sin(i*%pi/10) artinya nilai sin x(i)
e. end artinya mengakhiri perintah
2. Program 2
a. clc; artinya membersihkan layar
b. clear;
c. for i=1:10 artinya input i adalah untuk bilangan 1-10
d.y(i)=sin(i*%pi/10) artinya nilai sin y(i)
e. i =9; artinya dibuat index kompenen 9 untuk array x
f. end mengakhiri perintah
3. Program 3
a. clc; artinya memebersihkan layar
b. clear;
c. for i=1:10 artinya input i adalah untuk bilangan 1-10
d. for j=1:5 artinya input i adalah untuk bilangan 1-5
e. U(i,j)=i^2+j^2; artinya nilai U input i dipangkatkan dengan 2 kemudian
dijumlahkan dengan input j dipangkatkan 2
f. end artinya mengakhiri perintah
g. end artinya mengakhiri perintah
4. Program 4
a. clc; artinya memebersihkan layar
b. clear;
c. num=1; artinya nilai sama dengan 1
d. x=[]; nilai x
e. while num<10 artinya nilai num lebih kecil dar 10
f. x(num)=num; artinya nilai x(num) sama dengan num
g. num=num+1; artinya nilai num sama dengan num + 1
h. end artinya mengakhiri perintah
i. num2=1; artinya nilai num2 sama dengan 1
j. y=[]; nilai x
k. while num2<10 artinya nilai num2 lebih kecil dar 10
l. num2=num2+1; artinya nilai num2 sama dengan num2 + 1
m. y(num2)=num2; artnya nilai y(num2) sama dengan num
n. end artinya mengakhiri perintah

5. Program 5
a. clc; artinya memebersihkan layar
b. clear;
c. bilangan=5; artinya bilangan ganjil
d. x=modulo(5,2); artinya perkiraan awal bilangan 5 dan 2
e. select x artinya pilihan bilangan x
f. case 1 artinya perkiraan pertama
g. disp(['bilangan ' ,string(bilangan),' adalah bilangan ganjil']) artinya case
1
h. case 0 artinya perkiraan akhir
i. disp(['bilangan ' ,string(bilangan),' adalah bilangan genap']) artinya case 0
j. otherwise artinya ketidakmungkinan
k. disp('Bilangan ini tidak mungkin ada')
l. end artinya mengakhiri perintah

6. Program 6
a. clc; artinya memebersihkan layar
b. clear;
c. x1=2;artinya didefenisikan terlebih dahulu nilai Xo=2
d. err=1;artinya dibuat nilai error 1 supaya lebih dari 0.0005
e. while err > 0.0005 artinya untuk nilai error lebih dari 0.0005
f. x2=1+(1/x1);artinya persamaan untuk mencari nilai x r+1
g. err=abs(x2-x1); artinya mencari nilai error
h. x1=x2 artinya membuat looping agar nilai X2 yang didapat menjadi
masukan bagi persamaan diatas
i. end artinya mengakhiri perintah

7. Program 7
a. clc; artinya memebersihkan layar
b. clear;
c. x1=2; artinya didefenisikan terlebih dahulu nilai Xo=2
d. err=1; artinya dibuat nilai error 1 supaya lebih dari 0.0005
e. i=1; artinya dibuat index kompenen 1 untuk array x
f. x=[ ]; artinya array x
g.x(1)=x1;artinya membuat elemen pertama array x ==x1
h.while err > 0.0005 artinya nilai error lebih besar dari 0.0005
i. i; artinya input nilai i
j. x2=1+(1/x1); artinya persamaan untuk mencari nilai x r+1
k. err=abs(x2-x1); artinya mencari nilai error
l. x(i+1)=x2; artinya untuk menyimpan nlai x yang didapat di array x
m. x1=x2; artinya membuat looping agar nilai X2 yang didapat menjadi
masukan bagi persamaan diatas
n. i=i+1 artinya membuat indeks 1 bertambah 1 tiap satu kali looping
o.end artinya mengakhiri perintah
p.t=1:length(x); artinya membuat array berdasarkan banyaknya looping
q.plot(t,x) artinya membuat grafik t vs x
1.5 Kesimpulan
1. Scilab adalah software alternatif untuk Matlab. Perbedaan Matlab dan Scilab
adalah Matlab merupakan software berbayar dan memiliki file berukuran besar
sementara Scilab merupakan software open source (gratis) dan memiliki file berukuran
kecil. Kekurangan Scilab adalah tidak memiliki fitur selengkap Matlab atau memiliki
fitur yang terbatas. Namun untuk keperluan praktikum dan mempelajari tentang dasar
sistem kendali, Scilab sudah sangat cukup.
Dasar-dasar control program pada aplikasi SCILAB,yaitu
a.Loop for,
b.Loop While.
c.Kontruksi switch-else
d.Kontruksi if-else-end
Dasar-dasar kontrol pada scilab adalah loop for mengerjakan sekelompok perintah
pengulangan yang diulang sebanyak suatu jumlah yang kita tentukan, loop while tetapi
loop while mengerjakan sekelompok perintah yang diulang secara tidak terbatas,
kontruksi switch-case sederetan perintah harus dikerjakan dengan didasarkan pada
penggunaan berulang-ulang suatu tes dengan argumen yang sama dan kontruksi if-else-
end sederetan perintah harus dikerjakan dengan didasarkan pada hasil tes rasional.
2. Scilab menyediakan sejumlah kontrol pemrograman yang dapat kita gunakan
untuk mengatur jalannya eksekusi suatu program dengan menggunakan statemen
perulangan dan kondisional. Pada umumnya statemen perulangan dan kondisional
digunakan dalam sebuah skrip atau fungsi. Cara menggunakan control pemograman
pada scilab yaitu dengan mengetik kode pemograman pada scinotes kemudian
menyimpannya, setelah itu mengetik kode program pada console.
Control Program adalah berperan dalan mengatur dan mengawasi atau memomintor
penggunaan hardware oleh beberapa software aplikasi dan penggunann
Percabangan control program yaitu:
1.Percabangan IF
2.Percabangan IF/ELSE
3.Percabangan IF/ELSE
1.6 Daftar Pustaka
Baudin, M. 2011. Programming in Scilab. Thee Scilab Consortium - Digiteo.

Campbell, S.L, Chancelier, J-P, Nikoukhah, R. 2010. Modeling and Simulation in


Scilab/Scicos with Scicoslab 4.4 2ed. Springer. New York.
Gomez, C., dkk. 1999. Engineering and Scientifilc Computing with Scilab. Birkhauser.
Boston.
Heikell, J. 2011. Scilab for Real Dummies, Introducing an Open-Soure Alternative to
Matlab.Espoo.

Anda mungkin juga menyukai