• Tidak ada hasil yang ditemukan

BUKU AJAR PEMROGRAMAN KOMPUTER. Oleh : Tim Dosen Pemrograman Komputer Program Studi Teknik Industri

N/A
N/A
Protected

Academic year: 2021

Membagikan "BUKU AJAR PEMROGRAMAN KOMPUTER. Oleh : Tim Dosen Pemrograman Komputer Program Studi Teknik Industri"

Copied!
52
0
0

Teks penuh

(1)

PEMROGRAMAN KOMPUTER

Oleh :

Tim Dosen Pemrograman Komputer

Program Studi Teknik Industri

Fakultas Teknik

Universitas Wijaya Putra

2009

(2)

Mata kuliah Dasar Pemrograman Komputer adalah jenis mata kuliah Keilmuan dan Ketrampilan di program Studi Teknik Industri Fakultas Teknik Universitas Wijaya Putra. Buku ajar Dasar dan Pemrograman Komputer ini berisi dasar-dasar pemrograman komputer dengan bahasa komputer tingkat tinggi Matlab. Matlab merupakan bahasa pemrograman yang biasa digunakan pada bidang teknik

Program kuliah direncanakan menggunakan pendekatan student center learning dimana mahasiswa harus aktif mencari bahan-bahan sendiri melalui text book maupun melalui online reading yang direkomendasikan.

Mudah-mudahan buku ajar Dasar dan Pemrograman Komputer ini dapat menambah bahan belajar bagi mahasiswa teknik industri. Terimakasih kepada seluruh asisten laboratorium Komputer di Program Studi Teknik Industri, Fakultas Teknik-UWP maupun pihak-pihak yang telah membantu penyusunan buku ajar ini. Demi penyempurnaan buku ajar ini, kami mengharapkan kepada semua pihak untuk dapat memberikan masukan dan saran.

Penyusun Tim Dosen Laboratorium Komputer

(3)

BAB I

RUANG LINGKUP MATLAB BAGI PEMULA

1. LINGKUNGAN KERJA MATLAB

Sebagaimana bahasa pemrograman lainnya, MATLAB juga menyediakan lingkungan kerja terpadu yang sangat mendukung dalam pembangunan aplikasi. Pada setiap versi MATLAB yang terbaru, lingkungan terpadunya akan semakin dilengkapi. Lingkungan terpadu ini terdiri atas beberapa form/window yang memiliki kegunaan masing-masing. Untuk memulai aplikasi Matlab, Saudara hanya perlu mengklik ikon Matlab pada Dekstop window, atau bisa juga dengan menu start seperti pada aplikasi-aplikasi lainnya.

Setiap pertama kali mulai membuka aplikasi Matlab, Saudara akan memperoleh beberapa form/window, yang sebenarnya menurut penulis hanya membuat dekstop Saudara kelihatan penuh. Saudara dapat menutup semua window tersebut kecuali Command Window yang menjadi window utama Matlab. Matlab akan menyimpan mode/setting terakhir lingkungan kerja yang Saudara gunakan sebagai mode/setting lingkungan kerja pada saat Saudara membuka aplikasi Matlab di waktu berikutnya.

(4)

2. WINDOW UTAMA MATLAB

Gambar 1.2. Window Utama MATLAB

Window ini adalah window induk yang melingkupi seluruh lingkungan kerja

MATLAB. Pada versi-versi pendahulu, window ini secara khusus belum ada namun terintegrasi dengan Command Window. Tidak ada fungsi utama yang ditawarkan oleh window ini selain sebagai tempat dock-ing bagi form yang lain.

3. LAUNCH PAD WINDOW

(5)

Window ini mulai diperkenalkan pada versi 6, berfungsi sebagai penuntun bagi pemakai dalam memilih opsi dari fungsi dan toolbox yang ditawarkan oleh MATLAB.

4. WORKSPACE WINDOW

Gambar 1.4. Workspace Window

Window ini juga baru diperkenalkan pada versi 6, berfungsi sebagai navigator bagi pemakai dalam penyediaan informasi mengenai variable yang sedang aktif dalam workspace pada saat pemakaian. Workspace adalah suatu lingkungan abstrak yang menyimpan seluruh variable dan perintah yang pernah digunakan selama penggunaan MATLAB berlangsung.

5. CURRENT DIRECTORY WINDOW

(6)

Window ini juga fasilitas yang diperkenalkan pada versi 6. Berfungsi sebagai browser direktori aktif, yang hamper sama dengan window explorer.

6. COMMAND HISTORY WINDOW

Gambar 1.6. Command History Window

window ini berfungsi sebagai penyimpan perintah-perintah yang pernah dikerjakan pada suatu workspace.

7. COMMAND WINDOW

Gambar 1.7. Command Window

Window ini berfungsi sebagai penerima perintah dari pemakai untuk menjalankan seluruh fungsi-fungsi yang disediakan oleh MATLAB. Pada dasarnya window inilah inti dari pemrograman MATLAB yang menjadi media utama satu-satunya bagi kita untuk berinteraksi dengan MATLAB.

(7)

8. MATLAB EDITOR

Gambar 1.8. Matlab Editor

Window ini berfungsi untuk membuat skrip program Matlab. Walaupun skrip program dapat dibuat dengan menggunakan berbagai program editor seperti notepad, wordpad, word dan lain-lain. Namun sangat dianjurkan untuk menggunakan Matlab editor ini karena kemampuannya dalam mendeteksi kesalahan pengetikan sintak oleh programmer.

Ketika window utama Matlab muncul, window Matlab editor tidak akan muncul dengan sendirinya, Saudara harus memanggilnya dengan cara mengklik pada ikon Create New.

9. CARA BEKERJA DENGAN MATLAB

Dalam melakukan pekerjaan pemrograman menggunakan bahasa MATLAB, Saudara dapat menggunakan salah satu cara yaitu :

1. Pemrograman di Command Window

Pemrograman yang paling sering dilakukan oleh tingkatan mahasiswa yang baru belajar tentang MATLAB, namun akan sulit bagi saudara untuk mengevaluasi perintah secara keseluruhan karena biasanya perintah hanya dilakukan baris per baris. (contoh ada di pembahasan Bab III)

2. Pemrograman Menggunakan M-File

Cara ini akan dipilih oleh Mahasiswa yang sudah memahami setingkat Programmer. Kelebihan cara ini adalah kemudahan untuk meng-evaluasi perintah secara keseluruhan. Terutama untuk program yang membutuhkan waktu pengerjaan yang cukup lama serta skrip yang cukup panjang. (Contoh

(8)

BAB II

SINTAK DASAR MATLAB

1. VARIABEL DAN OPERASI MATEMATIKA

Sebagaimana bahasa pemrograman pada umumnya, MATLAB juga memiliki metoda dan symbol tersendiri dalam penulisan bahasa pemrogramannya (sintak). Tipe data yang dikenal dalam pemrograman MATLAB hanya dua yaitu Numeric dan String. Tidak seperti bahasa pemrograman yang lain, dalam pemrograman MATLAB tidak dibutuhkan deklarasi eksplisit yang menyatakan tipe data, karena MATLAB memiliki kemampuan tersendiri untuk mengenali tipe data yang dimasukkan oleh pemrogram pada setiap variabelnya, dan dapat secara dinamis mengganti tipe data tersebut pada waktu yang relative bersamaan tanpa adanya kesalahan. Namun demikian ada beberapa hal penting yang harus mahasiswa perhatikan dalam penulisan sintak, yaitu :

1. Penamaan Variabel bersifat Case Sensitive artinya MATLAB akan membedakan adanya huruf besar dan kecil dalam penamaan (mis. lbr akan tidak sama dengan Lbr)

2. Panjang nama variable tidak dapat melebihi 31 karakter

3. Penamaan variable harus selalu diawali dengan huruf, tidak boleh dengan bilangan symbol dan lain-lain.

Cara Penulisan Variabel

MATLAB menggunakan variable sebagai media bagi pemrogram untuk menempatkan data input/output. Ada beberapa cara penulisan yang dapat anda gunakan sesuai jenis data yang ingin diolah, yaitu :

1. Data Numerik Tunggal Cara penulisan

(9)

2. Data Numerik Berdimensi Banyak (Array/Matrik)

Beberapa hal penting penggunaan perintah MATLAB

Tanda ( : ) pada akhir command menunjukkan hasil command tidak ditampilkan pada layar.

 Tanda ( [ ] ) digunakan untuk penulisan batas awal dan batas akhir elemen matrik.

 Tanda ( ; ) dalam deklarasi matrik digunakan untuk pemisahan antar baris dalam matrik (carriage return).

 Tanda ( , ) dalam deklarasi matrik berarti sama dengan spasi atau pemisah antar elemen dalam satu baris matrik

Diterjemahkan MATLAB sebagai :

3. Data String / Teks Cara penulisan

4. Cara Mengakses Variabel

Secara default MATLAB mengenali variable yang anda gunakan sebagai sebuah matrik/array. Maka untuk variable yang memiliki elemen lebih dari satu, pengalamatan setiap elemen variable pada MATLAB memakai notasi berikut :

(10)

Variable (baris ke, kolom ke)

Untuk ilustrasi cara penggunaannya, buatlah pada Command Window sebuah matrik a berdimensi 3x3 berikut :

Operasi Matematika

Operasi matematika dalam pemrograman MATLAB sangat sederhana, sama halnya dengan memakai kalkulator biasa. Berikut adalah table operator matematika yang digunakan dalam pemrograman MATLAB.

Tabel 2.1. Operasi Matematika

Operasi Simbol Contoh

Penjumlahan + A + B

Pengurangan - A – B

Perkalian * A * B

Pembagian / atau \ A / B atau A \ B

Perpangkatan ^ A ^ B

Pengetahuan tentang matrik adalah suatu hal yang sangat mendasar dalam pemrograman MATLAB, karena semua pola operasi matematika akan dikembalikan dalam pola operasi matematika matrik. Sebagai contoh adalah ketika melakukan deklarasi variable a yang diisi dengan nilai 5 dengan cara sebagai berikut :

Maka secara otomatis MATLAB akan mengenal variable a tersebut sebagai sebuah matrik yang memiliki dimensi 1 kali 1. dapat dibuktikan dengan cara sebagai berikut :

(11)

Perbedaan akan sangat terasa ketika melakukan operasi yang melibatkan perkalian dan perhitungan. Sebagai contoh Saudara dapat mempergunakan kasus perhitungan luas dari data panjang dan lebar, kasus pertama disediakan masing-masing satu data panjang (5) dan satu data lebar (6), penyelesaian untuk kasus ini sebagai berikut :

Sedang untuk kasus kedua, disediakan masing-masing empat pasang data, panjang (2, 4, 3, 5) dan lebar (3, 5, 2, 3), jika menggunakan metoda yang sama menghasilkan pesan kesalahan :

Pesan tersebut adalah pesan kesalahan yang disebabkan oleh tidak terpenuhinya syarat perkalian matrik (ingat kolom matrik pertama harus sama dengan baris pada matrik kedua). Padahal yang kita inginkan bukan perkalian matrik melainkan perkalian antar pasangan data. Untuk menyelesaikan kasus tersebut kita hanya perlu menambahkan titik sebelum symbol operasi , sehingga hasilnya sebagai berikut :

(12)

keputusan untuk menggunakan operasi matematika antar elemen (menggunakan titik) atau operasi matematika antar matrik (tanpa titik) adalah sesuai kebutuhan anda sebagai pemrogram

Operasi Bilangan Kompleks

Kelebihan lain dari pemrograman MATLAB adalah kemampuannya dalam mengolah data bilangan kompleks tanpa membutuhkan deklarasi variable khusus untuk itu. Berikut adalah cara mendeklarasikan variable untuk bilangan kompleks.

Kesimpulannya, tidak ada perbedaan menggunakan pengenal i atau j untuk bilangan kompleks. Untuk keperluan perhitungan matematika tidak dibutuhkan fungsi khusus, misalnya sebagai berikut :

(13)

Sedangkan untuk kebutuhan pemisahaan real dan imajiner dapat dengan mudah dilakukan, misalnya dengan contoh berikut :

Bentuk kompleks a + bi dalam aritmetika bilangan kompleks adalah bentuk rectangular, sedangkan bentuk polar dari bilangan kompleks tersebut direalisasikan dengan Magnitude dan sudut. Konversi dari bentukan rectangular ke polar dalam MATLAB dipenuhi melalui fungsi abs dan angle

Fungsi Matematika Umum

Fungsi-fungsi matematika umum yang sering digunakan juga disediakan dalam pustaka fungsi MATLAB, antara lain sebagai berikut :

(14)

Tabel 2.2. Fungsi Trigonometri

Fungsi Trigonometri Deskripsi

acos Invers kosinus

acosh Invers hiperbola kosinus

acot Invers kotangen

acoth Invers hiperbola kotangen

acsc Invers kosekan

acsch Invers hiperbola kosekan

asec Invers sekan

asech Invers hiperbola sekan

asin Invers sinus

asinh Invers hiperbola sinus

atan Invers tangent

atanh Invers hiperbola tangent

Cos Kosinus

Cosh Kosinus hiperbola

Cot Kotangen

coth Kotangen hiperbola

csc Kosekan

csch Kosekan hiperbola

sec Sekan

sech Sekan hiperbola

sin Sinus

sinh Sinus hiperbola

tan Tangent

tanh Tangent hiperbola

Prosedur Program Latihan 02.m (Penggunaan Fungsi Trigonometri)

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah berikut :

(15)

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan02.m

4. Pastikan direktori penyimpanan file sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan02 tanpa ekstensi :

5 Tekan Enter, selanjutnya program akan dijalankan, hasilnya sebagai berikut :

Penjelasan program latihan 02.m

Tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diola.

Perintah ini digunakan untuk membersihkan layar Command Window. % ---

% Program latihan 2 % MATLAB Programming % oleh : Onny Purnamayudhia

% ---

Clear all;

clc;

(16)

Fungsi disp digunakan untuk menampilkan string didalam kurung.

Membuat data x dari 0 sampai 180 dengan interval 10

Membuat perhitungan sinus dan kosinus dengan dari data x. perkalian x dengan pi dibagi 180 dimaksudkan untuk menghasilkan output dalam derajat. Karena default fungsi trigonometri adalah dalam radian.

Menyimpan hasil perhitungan ke dalam variable out. Diakhiri tanpa titik koma untuk memunculkan output secara langsung ke layar. Penggunaan tanda petik setelah variable (x’) adalah untuk men-transpos data x menjadi columnar.

MATLAB juga menyediakan fungsi-fungsi matematika lainnya seperti :

Tabel 2.3. Fungsi Eksponensial Fungsi Eksponensial Deskripsi

Exp Eksponensial

Log Logaritma natural

Log10 Logaritma basis 10 Log2 Logaritma basis 2

Sqrt Akar pangkat

2. Input dan Output Program Dinamis

MATLAB menyediakan fasilitas untuk dapat berinteraksi langsung dengan program tanpa harus merubah skrip. Untuk meminta input dari user, MATLAB menyediakan fungsi input.

disp(‘---’); disp(‘Program Latihan 2’);

disp(‘---‘);

x = [0:10:180]; % membangkitkan data sudut

y1 = sin (x*pi/180); % kalkulasi sinus data x y2 = cos(x*pi/180); % kalkulasi sinus teta

(17)

Prosedur Program Latihan 03.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan03.m

4. Pastikan direktori penyimpanan file Saudara sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan03 tanpa ekstensi

5. Tekan Enter, selanjutnya program akan dijalankan, hasilnya sebagai berikut :

>> edit

(18)

Penjelasan program Latihan 03.m

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diolah.

Perintah ini digunakan untuk membersihkan layar Command Window.

Fungsi disp digunakan dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

Fungsi input digunakan dengan argument input bertipe string, namun memiliki argument output bertipe varian (bisa berupa string maupun numeric). Untuk contoh diatas, argument output adalah numeric.

Bagian ini adalah rumus yang digunakan untuk mengolah data input.

Fungsi disp tampil dengan gaya berbeda. Pada dasarnya sama dengan sebelumnya, tetapi pada pemunculan terakhir berupa penggabungan dua tipe data string dan numeric(luas). Maka untuk tipe penggabungan ini fungsi disp membutuhkan tanda [] didalam tanda kurungnya, dan variable luas yang bertipe numeric harus

% --- % Program latihan 3

% MATLAB Programming % oleh : Onny Purnamayudhia

% --- Clear all; disp(‘---’); disp(‘Program Latihan 3’); disp(‘---‘); clc;

Pjg = input (‘Data Panjang = ’); Lbr = input (‘Data lebar = ’);

Luas = pjg * lbr;

(19)

dikonversi menjadi string terlebih dahulu (menggunakan num2str) agar dapat bersanding dengan string lainnya didalam tanda kurung tersebut.

3. Perulangan dan Kondisional – Control Flow

Dalam membuat sebuah program yang lebih kompleks, MATLAB mempunyai sintak untuk mengatur aliran proses program. Pengontrol aliran proses program (Control Flow) terdiri dari 2 jenis yaitu perulangan dan kondisional.

Control Flow 1 : Perulangan / Interasi / Looping

Perulangan adalah jenis pengontrol yang berguna untuk mengefisienkan penulisan skrip program, khususnya untuk program-program yang membutuhkan proses berulang-ulang. Perulangan ini sering juga disebut sebagai iterasi atau looping. Untuk selanjutnya hanya menggunakan istilah iterasi.

Iterasi Terbatas (for … end)

Sintak iterasi ini digunakan untuk melakukan pengulangan proses yang telah diketahui jumlahnya. Misalnya untuk menghitung factorial 5, maka jelas diketahui jumlah iterasi adalah 5.

Prosedur Program Latihan 04.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

(20)

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan04.m

4. Pastikan direktori penyimpanan file Saudara sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan04 tanpa ekstensi

5. Tekan Enter, selanjutnya program akan dijalankan, hasilnya sebagai berikut :

Penjelasan program latihan 04.m

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Fungsi disp digunakan dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

Perintah ini digunakan untuk membersihkan layar Command Window. % ---

% Program latihan 4 % MATLAB Programming % oleh : Onny Purnamayudhia

% ---

Clear all;

clc;

(21)

Fungsi disp digunakan dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

Meminta input batas iterasi dari user dan disimpan dalam variable ndat.

Mulai melakukan proses iterasi didalam iterasi, dimana iterasi pertama adalah iterasi maju, dan iterasi kedua adalah iterasi mundur, ditandai dengan pemakaian nilai interval minus (-1)

Melakukan proses pengisian data elemen a satu demi satu sesuai rumus tertentu. Diakhiri tanpa tanda titik koma agar hasil setiap iterasi ditampilkan ke layar.

Iterasi Terkondisi ( while … end )

Sintak iterasi ini digunakan untuk melakukan pengulangan proses tanpa diketahui jumlah pengulangannya. Iterasi jenis ini hanya berhenti melakukan pengulangan ketika mencapai syarat tertentu.

Control Flow 2 : Kondisional / Percabangan

Kondisional adalah pengontrol yang berguna untuk mengalihkan program ke proses tertentu. Biasanya digunakan untuk menyelesaikan program yang memiliki banyak proses tetapi dalam satu kesempatan eksekusi hanya menjalankan satu atau lebih proses pilihan berdasarkan syarat tertentu.

disp(‘---’); disp(‘Program Latihan 4’);

disp(‘---’);

ndat = input (‘batas iterasi = ’);

for n = 1 : ndat

for m = ndat : -1 : 1

a (n , m) = n^2 + (5*m)

end; end;

(22)

Kondisional nilai relative ( if … elseif … else … end )

Sintak kondisional ini dapat digunakan untuk syarat yang berada dalam nilai interval tertentu maupun absolute, baik numeric maupun string. Sehingga paling umum digunakan oleh programmer. Cara penulisannya adalah sebagai berikut :

Prosedur Program Latihan 05.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan05.m.

if syarat1 perintah-perintah elseif syarat2 perintah-perintah else perintah-perintah end >> edit

(23)

4. Pastikan direktori penyimpanan file Saudara sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan05 tanpa ekstensi 5. Tekan Enter, selanjutnya program akan dijalankan

Penjelasan program latihan 05.m

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diolah.

Perintah ini digunakan untuk membersihkan layar command window.

fungsi disp digunakan untuk menampilkan tulisan ke layar dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

meminta input data nilai uts1, uts2 dan uas dari user.

mengolah nilai akhir berdasarkan persentase tertent.

menampilkan nilai akhir

% --- % Program latihan 5

% MATLAB Programming % oleh : Onny Purnamayudhia

% --- Clear all ; clc; disp(‘---’); disp(‘Program Latihan 5’); disp(‘---’);

uts1 = input ( ‘nilai uts1 = ’ ); uts2 = input ( ‘nilai uts2 = ’ ); uas = input ( ‘nilai uas = ’ );

na = (uts1*20/100) + (uts2*30/100) + (uas*50/100);

disp ( [ ‘nilai akhir = ‘ num2str (na) ] ) ; >> latihan05

(24)

mulai kondisional if, dengan menggunakan parameter input “na”. pada setiap segmen if akan melakukan penyaringan berdasarkan nilai “na” yang diperoleh sebelumnya. Jika terpenuhi syarat bahwa nilai tersebut berada dalam interval pada bagian tertentu maka akan dijalankan proses pada bagian tersebut. Proses yang dimaksud adalah menampilkan grade yang diperoleh.

Cara penulisan syarat, menggunakan ekspresi matematika meliputi : == sama dengan

~= tidak sama dengan > lebih besar dari

>= lebih besar atau sama dengan < lebih kecil dari

<= lebih kecil atau sama dengan

Untuk mengkombinasikan saudara gunakan operator logika berikut : & and

/ or ~ not

Kondisional Nilai Absolut (switch … case … otherwise … end)

Sintak kondisonal ini hanya dapat digunakan untuk syarat dengan nilai yang tidak berada dalam interval tertentu, bisa berupa numeric maupun String. Sintak perintah

switch-case adalah sebagai berikut :

if na > 80

disp ( ‘ grade anda = A ’ ); elseif na <= 80 & na > 70

disp ( ‘ grade anda = B ’ ); elseif na <= 70 & na > 60

disp ( ‘ grade anda = C ’ ); elseif na <= 60 & na > 50

disp ( ‘ grade anda = D ’ ); else

disp ( ‘ grade anda = E ’ ); end;

(25)

Prosedur Program Latihan 06.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan06.m

4. Pastikan direktori penyimpanan file Saudara sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan06 tanpa ekstensi switch variable case value1 perintah-perintah case value2 perintah-perintah . . . otherwise perintah-perintah end >> edit

(26)

5. Tekan Enter, selanjutnya program akan dijalankan.

Penjelasan program Latihan 06.m

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diolah.

Perintah ini digunakan untuk membersihkan layar command window.

fungsi disp digunakan untuk menampilkan tulisan ke layar dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

menampilkan daftar pilihan perhitungan yang dapat dipilih.

meminta input pilihan dari user

mulai kondisional switch, dengan menggunakan parameter “pilih”. % ---

% Program latihan 6 % MATLAB Programming % oleh : Onny Purnamayudhia

% --- Clear all ; clc; disp(‘---’); disp(‘Program Latihan 6’); disp(‘---’);

disp ( ‘ Plihan Rumus Perhitungan ’) ; disp ( ‘ 1. Luas kotak ’ ) ;

disp ( ‘ 2. Volume kotak ’ ) ; disp ( ‘ 3. Luas Silinder ’ ) ; disp ( ‘ 4. Volume Silinder ’ ) ; disp ( ‘ ’ );

pilih=input ( ‘ pilihan anda ( 1 – 4 ) -> ’ );

(27)

Segmen program jika parameter bernilai 1, program akan menjalankan proses perhitungan luas kotak.

Segmen program jika parameter bernilai 2, program akan menjalankan proses perhitungan Volume kotak.

Segmen program jika parameter bernilai 3, program akan menjalankan proses perhitungan Luas Silinder

Segmen program jika parameter bernilai 4, program akan menjalankan proses perhitungan Volume silinder.

case 1

disp ( ‘ Hitung Luas Kotak ’ ); disp ( ‘ --- ’ ); pjg=input ( ‘ panjang kotak = ’ ); lbr=input ( ‘ Lebar kotak = ’ ); tg=input ( ‘ tinggi kotak = ’ ); luas=2*pjg+2*lbr+2*tg

disp ( [ ‘ luas kotak = ‘ num2str (luas) ] );

case 2

disp ( ‘ Hitung Volume Kotak ’ ); disp ( ‘ --- ’ ); pjg=input ( ‘ panjang kotak = ’ ); lbr=input ( ‘ Lebar kotak = ’ ); tg=input ( ‘ tinggi kotak = ’ ); vol=pjg*lb*tg;

disp ( [ ‘ volume kotak = ‘ num2str (luas) ] );

case 3

disp ( ‘ Hitung Luas Silinder ’ ); disp ( ‘ --- ’ ); r=input ( ‘ jari-jari silinder = ’ ); tg=input ( ‘ tinggi silinder = ’ ); luas=(2*pi*r*tg) + 2*(pi*r^2);

disp ( [ ‘ luas silinder = ‘ num2str (luas) ] );

case 4

disp ( ‘ Hitung Volume Silinder ’ ); disp ( ‘ --- ’ ); r=input ( ‘ jari-jari silinder = ’ ); tg=input ( ‘ tinggi silinder = ’ ); vol=pi*r^2*tg;

(28)

Segmen terakhir jika parameter bernilai selain 1 sampai 4, sekaligus menutup blok kondisional switch.

otherwise

disp ( ‘ pilihan anda ngawuuurrrr!!! ’ ) end;

(29)

BAB III

TEKNIK DASAR MANIPULASI DATA

1. Teknik 1 : Membangun data

Secara sederhana MATLAB menyediakan beberapa teknik untuk membangun data dengan cepat, sebagai berikut :

Membangun data dengan elemen yang telah ditentukan

Misalnya saudara akan membangun data x dengan nilai yang telah diketahui, maka cara penulisannya sebagai berikut :

Untuk data vector baris

Untuk data vector kolom

Membangun data dengan batas awal dan batas akhir

Misalnya saudara ingin membuat data sudut dari sudut 30 derajat sampai 35 derajat, maka cara penulisannya adalah sebagai berikut :

(30)

Membangun data dengan batas awal, increment dan batas akhir.

Misalnya saudara ingin membuat data sudut dari sudut 30 derajat sampai 90 derajat dengan pertambahan 10, maka cara penulisannya adalah sebagai

berikut :

Membangun data dengan batas awal dan batas akhir, tetapi jumlah data

ditentukan

Misalnya saudara ingin membuat data 5 buah sudut dalam interval sudut 30 derajat sampai 90 derajat, maka cara penulisannya adalah sebagai berikut :

Membangun data logaritmik dengan batas awal dan batas akhir, tetapi

jumlah data ditentukan

Misalnya anda ingin membuat data 5 nilai yang berada dalam interval 102 dan 104, maka caranya adalah sebagai berikut :

Membangun data menggunakan standar matrix MATLAB Cara membuat data matrix dengan semua elemen bernilai 1 :

(31)

Membangun data Random

Data random sangat sering digunakan dalam pemrograman, khususnya bidang pemodelan matematika. MATLAB menyediakan cara cepat untuk membangkitkan data random sebagai berikut :

2. Teknik 2 : Orientasi dan Augmentasi Data

Merubah orientasi dan menempelkan data (data augmented) sangat umum digunakan dalam program. Antara lain :

Mengubah Orientasi data dengan Transpos

(32)

Menempelkan data pada kolom

3. Teknik 3 : Pengurutan data

Teknik pengurutan data sangat sering digunakan dalam program pengolahan data. MATLAB menyediakan fungsi khusus yaitu sort untuk melakukan pengurutan. Menggunakan sort dapat dengan dua cara. Cara pertama digunakan untuk mengurutkan data pada arah kolom, sintaknya sebagai berikut :

var2=sort(var1,1)

var1 adalah matrik atau vector yang akan diurutkan. Berikut adalah cara menggunakan dalam program :

Cara kedua digunakan untuk mengurutkan data pada arah baris, sintaknya sebagai berikut :

(33)

var1 adalah matrik atau vector yang akan diurutkan. Berikut adalah cara menggunakannya dalam program :

4. Teknik 4 : Menyeleksi data

Melakukan pemrograman untuk pengolahan data, pasti tidak lepas dari seleksi data. Menyeleksi data berarti menggunakan sebagian data dari sebuah data yang lengkap tanpa merusak ukuran maupun nilai data tersebut. Untuk melakukan seleksi data, saudara dapat mempergunakan ekspresi matematika =, ~=, >, >=, < dan <=

Program diatas maksudnya adalah menyeleksi elemen pada data a, dengan syarat elemen tersebut lebih besar dari 7, lalu hasilnya disimpan pada variable b.

Prosedur Program Latihan 07.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah berikut :

(34)

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan07.m

4. Pastikan direktori penyimpanan file sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan07 tanpa ekstensi :

5. Tekan Enter, selanjutnya program akan dijalankan

6. pilihlah salah satu metoda dengan mengetikkan 1 atau 2 pada cursor, lalu bandingkan waktu runtime yang dibutuhkan.Untuk pilihan 1 program akan menggunakan waktu runtime yang lebih panjang dibandingkan pilihan 2!!!

Penjelasan Program latihan 07.m % --- % Program latihan 7

% MATLAB Programming % oleh : Onny Purnamayudhia

% --- >> latihan07

(35)

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diolah.

Perintah ini digunakan untuk membersihkan layar Command Window.

Fungsi disp digunakan untuk menampilkan tulisan ke layar dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

Meminta input pilihan dari user

Memulai kondisional switch dengan parameter “pilih”.

segmen program jika parameter bernilai 1, program akan menjalankan perhitungan dengan konsep iterasi konvensional.

Membangun data x dengan menggunakan iterasi konvensional Clear all;

disp(„---‟); disp(„Program Latihan 7‟);

disp(„---„); disp(„Pilihan Konsep ‟);

disp(„1. Hitung Iterasi Konvensional ‟); disp(„2. Hitung dengan Manipulasi Matrik ‟); disp(„ ‟);

clc;

pilih=input(„pilihan anda (1-2) -> „);

switch pilih

case 1

disp ( „ Hitung Iterasi Konvensional ‟ ); disp ( „ --- ‟ ); a=0; for i=1:100000 a=a+1; x(i)=a; end;

(36)

Menghitung nilai y dengan iterasi konvensional. Fungsi mod digunakan untuk mendapatkan nilai sisa pembagian dengan bilangan tertentu, dalam hal ini bilangan 3. jika nilai sisa adalah 0 perhitungan menggunakan rumus y = x2+15, selain itu perhitungan menggunakan rumus y = x2-25.

segmen program jika parameter bernilai 2, program akan menjalankan perhitungan dengan konsep manipulasi matrik yang dimiliki MATLAB.

membangun data dengan teknik MATLAB

mencari nilai x yang habis dibagi dengan 3 dan yang tidak habis dibagi 3. disimpan sebagai x1 dan x2.

Menghitung nilai y dengan menggunakan teknik MATLAB for i =1 : 100000 if mod (x (i) , 3) = = 0 y (i) = x (i)^2+15; else y (i) = x (i)^2-25; end; end; y case 2

disp ( „ Hitung dengan Manipulasi Matrix ‟ ); disp ( „ --- ‟ ); x = [ 1 : 100000 ]; x1 = ( mod ( x , 3 ) = = 0 ) . *x ; x2 = ( mod ( x , 3 ) ~ = 0 ) . *x ; y1 = ( x1. ^2+15 ). * ( mod ( x, 3 ) = = 0 ); y2 = ( x2. ^2-25 ). * ( mod ( x, 3 ) ~ = 0 ); y = y1 + y2 otherwise

disp ( „ Pilihan anda ngawuur!!! ‟ ) end;

(37)

BAB IV

VISUALISASI DATA DENGAN MATLAB

1. Teknik Visualisasi Dasar

Umumnya, user MATLAB mulai tertarik menggunakan MATLAB setelah melihat sekilas kemampuan bahasa pemrograman ini dalam memvisualisasikan data numeric. Sebagai ilustrasi, misalnya kita inginkan sebuah program sederhana yang memperlihatkan grafik sinusoidal dari sudut 0 sampai 360.

Pada command prompt MATLAB berturut-turut kita ketikkan sebagai berikut :

Memberi Judul dan Label Pada Grafik

Untuk menambahkan judul grafik pada hasil plot kita menggunakan skrip berikut :

dan untuk menambahkan label sumbu x pada hasil plot kita menggunakan skrip berikut :

lalu untuk menambahkan label sumbu y pada hasil plot kita menggunakan skrip berikut :

contoh program :

Title ( ‘ --- judulnya ---’ );

xlabel ( ‘ --- labelnya ---’ );

ylabel ( ‘ --- labelnya ---’ );

(38)

Memunculkan Grid pada Grafik.

Latar belakang grafik secara default berwarna putih dan polos. MATLAB menyediakan fungsi untuk membuat grid pada latar belakang grafik. Dengan menggunakan fungsi grid on dan grid off, akan terlihat tampilan yang berbeda.

Contoh program

Mengubah Garis, Tanda dan Warna Pada Kurva Grafik

Walaupun tampilan grafik yang diperoleh sudah memadai. Adakalanya kita menginginkan tampilan data tidak dalam bentuk grafik garis tetapi berupa titik, lingkaran atau kotak dan mungkin saja dalam warna yang berbeda-beda.

Pada fungsi plot sebenarnya masih dapat diberikan beberapa parameter input yang berhubungan dengan tampilan, sehingga sintaknya sebagai berikut :

x dan y adalah variable data yang akan di plot. Symbol adalah karakter yang akan digunakan untuk menggantikan format tampilan default grafik. Symbol ini dapat berupa karakter tunggal maupun kombinasi dari beberapa karakter.

Untuk mengisi symbol tersebut, tentu saja tidak sembarang. Berikut adalah table symbol yang dapat kita gunakan.

Tabel 4.1. Simbol Symbol Garis

- Solid line : Dotted line -. Dash dot line -- Dash line

plot ( x, y, symbol )

(39)

Symbol Tanda . Point o Circle x Cross + Plus sign * Asterisk s Square d Diamond v Triangle (down) ^ Triangle (up) < Triangle (left) > Triangle (right) p Pentagram h Hexagram Symbol Warna b Blue g Green r Red c Cyan m Magenta y Yellow k Black w White

Prosedur Program Latihan 08.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

>> edit

(40)

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan08.m

4. Pastikan direktori penyimpanan file sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan08 tanpa ekstensi :

5. Tekan Enter, selanjutnya program akan dijalankan, dan hasilnya sebagai berikut :

Gambar 4.1. Grafik Plot Penjelasan Program Latihan 08.m

tanda persen (%) digunakan untuk menulis komentar yang tidak akan diproses ketika eksekusi program. Biasanya digunakan untuk informasi program. Pada skrip bertipe function, bagian ini berguna untuk menempatkan info help-nya.

Perintah ini digunakan untuk mengosongkan memori MATLAB dari semua variable yang pernah diolah.

Perintah ini digunakan untuk membersihkan layar Command Window. % ---

% Program latihan 8 % MATLAB Programming % oleh : Onny Purnamayudhia

% ---

Clear all;

clc;

>> latihan08

(41)

Fungsi disp digunakan untuk menampilkan tulisan ke layar dengan argument input bertipe string, ditandai dengan tanda petik didalam tanda kurung.

membuat data sudut dari 0 sampai 180 dengan interval 10. dilanjutkan dengan menghitung nilai sinusnya dalam derajat (default MATLAB dalam radian).

menampilkan grafik dari data sudut dan nilai sinusnya. Perhatikan penggunaan fungsi plot, khususnya pada ‘*r’ yang artinya grafik menggunakan tanda asterisk (*) yang berwarna merah untuk menandai titik (x,y) pada grafik.

Membuat Tampilan Grafik Overlay

Masih pada fungsi plot, MATLAB memberikan keleluasaan pada user untuk menampilkan beberapa data secara tumpang tindih sekaligus pada satu grafik, berikut adalah sintaknya :

Pointing 1, 2 sampai n menunjukkan jumlah layer grafik yang akan ditampilkan. Fungsi hold on dan hold off juga bisa digunakan. Hold on digunakan untuk menghidupkan fasilitas overlay. Hold off digunakan untuk mematikan fasilitas overlay pada grafik.

Berikut adalah sintaknya :

disp(‘---’); disp(‘Program Latihan 8’); disp(‘---‘); sdt = [0 : 10 : 180]; y = sin (sdt*pi/180); Plot ( sdt, y, ‘*r’ ) Title ( ‘ Grafik Sinus ’ );

xlabel ( ‘ Sudut dalam derajat ’ ); ylabel ( ‘ Nilai sinus ’ );

plot ( x1, y1, simbol1, x2, y2, simbol2,… xn, yn, simboln )

plot ( x1, y1, simbol1 ) ; hold on ;

plot ( x2, y2, simbol2 ) ; hold on ;

plot ( xn, yn, simboln ) ;

(42)

Hasil program diatas menghasilkan grafik sebagai berikut :

Gambar 4.2. Grafik Overlay Membuat Tampilan Grafik Paralel

Adakalanya saudara ingin membuat sebuah visualisasi yang memperbandingkan dua atau lebih grafik. Karena misalnya teknik overlay membuat grafik terlalu penuh dan membingungkan untuk menganalisa. MATLAB memberikan teknik khusus untuk itu. Yaitu dengan menggunakan fungsi subplot. Fungsi ini membuat

(43)

olah grafik saudara sebagai sebuah elemen matrik dalam sebuah window. Sintaknya adalah sebagai berikut :

nbaris : adalah jumlah elemen baris nkolom : adalah jumlah elemen kolom igrafik : adalah indeks grafik

Prosedur Program Latihan 09.m

1. Pada Command Window, ketikkan :

2. Tekan enter, selanjutnya muncul MATLAB Editor dan Saudara ketik program dibawah ini :

3. Setelah selesai mengetik program diatas, Saudara simpan di direktori

c:/latihanku, dengan nama latihan09.m

4. Pastikan direktori penyimpanan file sudah terdapat didalam daftar pencarian direktori MATLAB. Lalu ketiklah nama file latihan09 tanpa ekstensi :

Subplot (n_baris, n_kolom, i_grafik)

>> edit

>> latihan09

(44)

5. Tekan Enter, selanjutnya program akan dijalankan, dan hasilnya sebagai berikut :

Gambar 4.3. Grafik Paralel

(45)

BAB V KONTROL PID

1. Pengantar

Pada bab ini mahasiswa diharapkan mampu memahami karakteristik dari setiap Pengontrol P, Pengontrol I, dan Pengontrol D serta bagaimana menggunakannya untuk mendapatkan respon yang diinginkan dengan menggunakan MATLAB. System yang digunakan adalah system unity feedback. Blok diagramnya adalah sebagai berikut :

Gambar 5.1. System Unity Feedback Dimana :

Plant = System yang harus dikontrol

Controller = Menyediakan / memberikan rencana yang mantab, didesain untuk mengontrol tingkah laku yang menyeluruh dari system tersebut.

2. Tiga Jenis Controller

Fungsi transfer dari PID Controller akan tampak sebagai berikut : K1 KDs2 + Kps + K1 Kp + + KDs = s s Dimana : Kp = Proportional gain KI = Integral gain KD = Derrivative gain

Cara kerja dari gambar 5.1. System Unity Feedback diatas adalah Variabel ( e ) menggambarkan tracking error, nilai masukan yang berbeda ( R ), keluaran actual ( Y ). Signal error ini akan dikirim ke PID controller, dan controller akan menghitung keseluruhan turunan dan integral dari signal error ini. Sinyal ( u ) yang telah melewati controller, sekarang sama dengan proporsional penguatan ( Kp )

Controller Plant

R e

+ -

(46)

dikalikan ukuran kesalahannya ditambah penguatan integral ( Ki ) dikalikan ukuran kesalahan integralnya ditambah penguatan turunan ( Kd ) dikalikan ukuran kesalahan derivasinya.

de u = Kpe + Ki e dt + KD

dt

Sinyal ( u ) akan dikirim ke plant, dan akan mendapatkan keluaran baru ( y ). Keluaran baru ( y ) ini akan dikirim kembali ke sensor untuk mencari kesalahan sinyal baru ( e ). Controller membawa kesalahan signal baru tersebut dan menghitung turunan-turunannya dan integral-integralnya sekali lagi.

3. Karakteristik dari P, I, D Controller

Proportional Controller (Kp) akan memberikan efek mengurangi waktu naik, tetapi

tidak menghapus kesalahan keadaan tunak. Integral controller ( Ki ) akan memberikan efek menghapus kesalahan keadaan tunak, tetapi berakibat memburuknya respon transient. Derivative controller akan memberikan efek meningkatnya stabilitas system, mengurangi overshoot dan menaikkan respon transfer. Efek dari setiap controller (Kp, Kd, Ki) dalam system loop tertutup seperti pada table dibawah ini :

Table 5.1. Karakteristik PID Controller

Dari table diatas terlihat bahwa hubungan korelasi tidak sepenuhnya akurat, karena Kp, Ki, dan Kd saling bebas. Untuk lebih jelasnya, mahasiswa dapat mempelajari pada definisi secara lengkap disertai dengan respon system dibawah ini dengan menggunakan MATLAB.

Respon Loop Waktu Naik Overshoot Waktu Turun Kesalahan

Tertutup Keadaan

Tunak Kp Menurun Meningkat Perubahan Kecil Menurun

Ki Menurun Meningkat Meningkat Hilang Kd Perubahan Menurun Menurun Perubahan

(47)

1) Contoh Sistem

Sebuah benda yang diberikan oleh massa 1 kg, peredam 10 N.s/m, pegas 20 N/m dan masukan 1, seperti gambar dibawah ini :

Gambar 5.2. Contoh Sistem

Persamaan model dari system dibawah ini adalah : Mx + bx + kx = F

Ambil transformasi Laplace dari persamaan model : Ms2X(s) + bsX(s) + kX(s) = F(s)

Fungsi transfer antara pergeseran X(s) dan masukan F(s) sehingga menjadi :

X (s) 1

=

F (s) Ms2 + bs + k

Kemudian data soal dimasukkan kedalam fungsi transfer sebagai berikut :

X (s) 1

=

F (s) s2 + 10s + 20

Tujuan masalah ini adalah menunjukkan bagaimana Kp, Ki, dan Kd untuk mendapatkan :

 Waktu naik yang cepat  Minimum overshoot  Tidak ada kesalahan tunak

Respon langkah terbuka disajikan dalam program command window :

num = 1; den = [1 10 20]; step (num,den) .. . bx F k M x

(48)

hasil respon system :

Gambar 5.3. Respon langkah loop terbuka

Dari grafik respon system diatas dapat dianalisa bahwa penguatan DC dari transfer fungsi ‘plant’ adalah 1/20, maka 0.05 adalah nilai akhir dari keluaran pada masukan sebuah langkah. Hal ini membuat kesalahan keadaan tunak 0.95 sebenarnya cukup besar. Terlebih lagi waktu naik sekitar satu detik dan waktu tunda sekitar 1.5 detik.

2) Proportional Control

Dari table diatas terlihat bahwa proportional controller (Kp) mengurangi waktu naik, meningkatkan overshoot dan mengurangi kesalahan keadaan tunak. Fungsi transfer loop tertutup dari system diatas dengan proportional controller adalah :

X (s) Kp

=

F (s) s2 + 10s + (20 + Kp)

Tentukan proportional gain (Kp) = 300 dan masukkan pada command window Matlab dibawah ini :

Kp = 300; num = [Kp];

den = [1 10 20+Kp]; t = 0 : 0.01 : 2; step (num,den,t)

(49)

hasil respon system :

Gambar 5.4. Respon langkah loop tertutup

Dari grafik respon system diatas dapat dianalisa bahwa plot diatas memperlihatkan bahwa proporsional controller mereduksi waktu naik dan kesalahan keadaan tunak, meningkatkan overshoot, mengurangi waktu turun dalam skala kecil.

3) Proportional – Derivative Control

dari table diatas, terlihat jelas bahwa Derivatif controller (Kd) mereduksi baik itu overshoot maupun waktu turun. Fungsi transfer loop tertutup dari system diatas dengan PD controller adalah sebagai berikut :

X (s) KDS + Kp

=

F (s) s2 + (10+KD)S + (20 + Kp)

Tentukan Kp = 300 dan Kd = 10. masukkan pada command window Matlab dibawah ini : Kp = 300; Kd = 10; num = [Kd Kp]; den = [1 10+Kd 20+Kp]; t = 0 : 0.01 : 2;

(50)

hasil respon system :

Gambar 5.5. Respon langkah dengan Proporsional Derricative

Dari grafik respon system diatas dapat dianalisa bahwa plot tersebut menunjukkan derivative controller mereduksi overshoot dan waktu turun dan memberikan efek kecil pada waktu naik dan kesalahan keadaan tunak.

4) Proportional Integral Control

Berdasarkan table 5.1. respon PI Control menunjukkan bahwa I controller (Ki) menurun pada waktu naik, meningkat pada overshoot dan waktu turun dan menghilangkan kesalahan keadaan tunak. Sehingga didapatkan fungsi transfer loop-tertutup dengan PI Controller sebagai berikut :

X (s) Kps + Ki

=

F (s) s3 + 10 s2 + (20+Kp)S + Ki

Tentukan Kp = 30 dan Kd = 70. Masukkan pada command window Matlab dibawah ini : Kp = 30; Kd = 70; num = [Kp Ki]; den = [1 10 20+Kp Ki]; t = 0 : 0.01 : 2;

(51)

hasil respon system :

Gambar 5.6. Respon langkah dengan Proporsional Integral

Dari grafik respon system diatas dapat dianalisa bahwa respon system telah mereduksi Kp karena I controller juga mereduksi waktu naik dan meningkatkan overshoot seperti yang dilakukan P controller. Respon diatas menunjukkan bahwa I controller menghilangkan kesalahan keadaan tunak.

5) PID Controller

Fungsi transfer loop tertutup pada system yang dicontohkan dengan PID Controller adalah :

X (s) Kps² + Kps + Ki

=

F (s) s3 + (10+KD) s2 + (20+Kp)S + Ki

Setal beberapa trial dan error dijalankan, penguatan Kp = 50, Ki 50 Kd = 50 memberikan respon yang diinginkan. Masukkan data tersebut pada command window : Kp = 350; Ki = 300; Kd = 50; num = [Kp Ki]; den = [1 10+Kd 20+Kp Ki]; t = 0 : 0.01 : 2;

(52)

hasil respon system :

Gambar

Gambar 1.1. Aplikasi MATLAB
Gambar 1.2. Window Utama MATLAB
Gambar 1.4. Workspace Window
Gambar 1.6. Command History Window
+7

Referensi

Dokumen terkait

dua benda yang berlainan. F s adalah gaya yang bekerja pada sebuah benda yang bergerak melingkar dimana arah F. selalu menuju ke pusat lingkaran.. Reaksi dari gaya sentripetal

Sesuai dengan Visi Universitas Sumatera Utara (USU) yakni The University for Industry, maka Visi Program Studi Teknik Industri Fakultas Teknik Universitas Sumatera Utara

Masalah-masalah khusus dalam LP metode Grafik • Multiple Optimum Solution Solusi yang dihasilkan lebih dari satu • No Feasible Solution Tidak ada solusi yang feasible •

Permasalahan yang akan diangkat menjadi topik laporan Kerja Praktek dimulai dari bagaimana mahasiswa mengenal lebih dekat dengan keadaan perusahaan dan terlibat

lebih didekatkan serta sesuai dengan posisi ketika akan diproses sehingga mempersingkat proses pengambilan dan proses pemosisian. Setelah dilakukan perbaikan selanjutnya

Pada tahap umpan balik, pengajar memberikan klarifikasi atas latihan yang telah dilaksanakan oleh mahasiswa dan dapat diikuti penugasan yang dikerjakan di rumah,

Mahasiswa Fakultas Teknik harus memiliki keterampilan dalam menggunakan standar menggambar secara keseluruhan agar dapat beradaptasi dengan baik dalam dunia industry.. Gambar

Sesuai dengan Visi Universitas Sumatera Utara (USU) yakni The University for Industry, maka Visi Program Studi Teknik Industri Fakultas Teknik Universitas Sumatera Utara