Input Output Matlab
Input Output Matlab
10
INPUT DAN OUPUT
10.1. Prinsip Input, Output dan Penyimpanan
Sebuah program, akan lebih bermanfaat jika dapat memproses masukan dari pengguna (user), dapat menampilkan hasil pemrograman untuk dianalisa dan dapat menyimpan serta memanggil kembali hasil maupun programnya oleh pengguna ( user). Sehingga, program tersebut menjadi interaktif, menarik dan mudah digunakan (user friendly). Dari sisi inilah, input, output dan proses penyimpanan menjadi amat penting untuk diketahui oleh programmer. Proses pemberian input pada MATLAB dapat dilakukan oleh user melalui keyboard ataupun mouse. Proses pemberian input melalui keyboard dilakukan pada command window sedangkan proses pemberian input melalui mouse dilakukan pada hasil perintah plot. Demikian juga hasil proses pemrograman (output) dapat ditampilkan pada command window maupun pada plot sebuah grafik. Sementara itu, MATLAB dapat melakukan penyimpanan terhadap data hasil proses pemrograman berupa file tertentu ataupun berupa perintah plot sebuah grafik.
10.2
pada MATLAB, yaitu input dan disp. Perintah input akan menampilkan kepada user sebuah prompt. Kemudian, prompt akan menunggu user memberikan harga terhadap sebuah variabel melalui keyboard. Harga yang diberikan user akan diproses setelah Enter ditekan. Harga input tersebut dapat berupa data numerik tunggal atau array maupun data string. Bentuk umum perintah input adalah sebagai berikut: var = input(variable = ) untuk input numerik yang akan disimpan dalam variable var. Variabel ini dapat digunakan untuk ekspresi apa saja dalam MATLAB, sebagaimana variabel biasa. Apabila user menekan keyboard tanpa memasukkan harga tertentu, maka harga
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Dr. Ir. Andi Adriansyah, M.Eng
PEMROGRAMAN KOMPUTER II
83
variabel dianggap sebagai matriks 0. Jika diinginkan variabel input berupa data string, maka bentuk umum perintahnya adalah sebagai berikut: var = input(string = ,s) dimana hasil ketikan setelah perintah ini akan disimpan dalam var dalam bentuk string. Berikut ini adalah penggunaan perintah input yang disimpan dalam M-File bernama resistor_in.m. % % % % % ------------------------------------Program Contoh 10.1 Dibuat oleh : Andi A 6 Desember 2007 -------------------------------------
%Perintah input string untuk memasukan nama pengguna user = input('nama user ? ','s') %Perintah input untuk memasukkan jumlah resistor n = input('jumlah resistor = ') %n = jumlah resistor %Perintah input untuk memasukkan harga resistor %sesuai dengan jumlahnya dalam satuan ohm for i = 1 : n r(i) = input('harga resistor (ohm) = ') %harga resitor ke -i end Ketika file resistor_in.m ini dijalankan pada Command Window, maka keluarannya adalah sebagai berikut: >> resistor_in nama user ? andi jumlah resistor = 3 n = 3 harga resistor (ohm) = r = 100 harga resistor (ohm) = r = 100 200 harga resistor (ohm) = r = 100 200 300 >> 100
200
300
PEMROGRAMAN KOMPUTER II
84
dimana variabel user akan menyimpan data string andi, variabel n akan menyimpan jumlah resistor dan varibel r akan menyimpan harga resistor. Harga resistor akan disimpan dalam bentuk array sebanyak jumlah resistornya. Programmer dapat melakukan pernyataan matematika apapun setelah mendapatkan harga-harga tersebut. Sedangkan bentuk umum perintah disp adalah sebagai berikut: disp (---string array---) dimana seluruh data string di dalam tanda petik akan ditampilkan pada Command Window tanpa disimpan ke dalam variabel apapun. Penggunaan perintah input dan disp akan diaplikasikan pada program berikut ini, dengan nama resistor_seri.m. % % % % % ------------------------------------Program Contoh 10.2 Dibuat oleh : Andi A 6 Desember 2007 -------------------------------------
%Perintah input dan disp untuk memasukan nama pengguna disp('Nama User pada saat ini adalah') user = input('nama user ? ','s') %user = User saat ini %Perintah input dan disp untuk memasukkan jumlah resistor disp('Masukkan jumlah resistor yang akan dihitung') n = input('jumlah resistor = ') %n = jumlah resistor %Perintah input dan disp untuk memasukkan harga resistor %sesuai dengan jumlahnya dalam satuan ohm disp('Masukkan harga-harga resistor satu per satu') for i = 1 : n r(i) = input('harga resistor (ohm) = ') %harga resitor ke -i end %Perhitungan seluruh resistor dipasang seri disp('Harga resistor bila dipasang seri adalah') total_seri = sum(r) %total_seri = r(1)+r(2)+... Jika file tersebut dijalankan pada Command Window, maka hasilnya adalah sebagai berikut:
PEMROGRAMAN KOMPUTER II
85
>> resistor_seri Nama User pada saat ini adalah nama user ? andi user = andi Masukkan jumlah resistor yang akan dihitung jumlah resistor = 3 n = 3 Masukkan harga-harga resistor satu per satu harga resistor (ohm) = 200 r = 200 harga resistor (ohm) = 400 r = 200 400 harga resistor (ohm) = 600 r = 200 400 600 Harga resistor bila dipasang seri adalah total_seri = 1200 >> Dimana, terjadi kombinasi antara output dari perintah disp dengan input dari perintah input untuk menghasilkan sebuah interaksi yang baik antara pengguna ( user) dengan program.
PEMROGRAMAN KOMPUTER II
86
% % % % %
axis([-5 5 -5 5]); %Menyiapkan koordinat untuk mendapatkan input grid on; %Koordinat dengan grid untuk memudahkan input [x,y] = ginput(2) plot(x,y,'r-p'); axis([-5 5 -5 5]); grid on; %Pengambilan input, berupa 2 buah titik %Plot kedua titik %Mengupdate koordinat %Koordinat dengan grid
jarak = sqrt((x(1)-x(2))^2 + (y(1)-y(2))^2) %Menghitung jarak 2 buah titik Program tersebut disimpan dengan nama file jarak2.m. Jika file ini dijalankan pada Command Window, maka akan tampil sebuah koordinat dengan cursor horisontal dan vertikal untuk mengambil input dari user, sebagaimana tampak pada Gambar 10.1 di bawah ini:
Gambar 10.1. Tampilan Koordinat dan cursor untuk mengambil Input dari User
PEMROGRAMAN KOMPUTER II
87
Setelah 2 (dua) kali pengambilan input dari grafik, maka proses berikutnya akan memberikan hasil sebagai berikut: >> jarak2 x = -3.9977 3.9977 y = 3.9912 -2.9971
jarak = 10.6190 >> dan hasil plot sebagaimana tampak pada Gambar 10.2 di bawah ini.
5 4 3 2 1 0 -1 -2 -3 -4 -5 -5
-4
-3
-2
-1
Gambar 10.2. Tampilan Grafik dan Garis penghubung 2 titik input Selain dapat mengambil input melalui grafik, kita juga dapat mengirimkan output melalui grafik. Output yang akan ditampilkan ke grafik adalah data string. Terdapat 2 (dua) cara untuk mengirimkan output ke sebuah grafik, yaitu perintah: gtext dan text. Bentuk umum perintah gtext adalah sebagai berikut: gtext(string) dimana string adalah data yang akan ditampilkan pada grafik. Perintah ini akan menampilkan sebuah window dengan cursor yang menunggu mouse atau keyboard
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Dr. Ir. Andi Adriansyah, M.Eng
PEMROGRAMAN KOMPUTER II
88
ditekan. Data string akan ditampilkan pada posisi tertentu di mana mouse atau keyboard ditekan. Sedangkan bentuk umum perintah text adalah sebagai berikut: text(x,y,string) dimana string adalah data yang akan ditampilkan pada grafik sementara x dan y adalah koordinat dimana data string akan ditampilkan. Berikut ini adalah contoh program untuk memberikan input melalui grafik dengan menggunakan perintah gtext dan text. Pada program tersebut, serangkaian data disiapkan untuk membuat plot grafik lengkap dengan atributnya. Kemudian, dua buah data string dikirimkan ke output grafik melalui kedua-dua caranya. File disimpan dengan nama inp_graf.m, sebagaimana tampak di bawah ini: % ------------------------------------% Program Contoh 10.4 % Dibuat oleh : Andi A % 6 Desember 2007 % ------------------------------------%Data yang akan diplot x = linspace(-20,20,50); %data x, -20x 20, sebanyak 50 data y = sin(x)./x; %fungsi y = sin x / x plot(x,y,'r-.d') %plot fungsi, merah, garis titik, diamond %Atribut Plot title(' Kurva y = sin(x)./x ') %judul kurva (di bagian atas) xlabel(' Variabel Bebas x ') %label untuk sumbu x ylabel(' Variabel Tak Bebas y ') %label untuk sumbu y %Input Grafik gtext ('Puncak1 Y = SIN(X)/X') %Input Grafik dgn posisi input dari mouse text(5,-0.2,'Puncak2 Y = SIN(X)/X') %Input Grafik dgn posisi input dari program Jika file tersebut dijalankan pada Command Window, maka akan tampil window untuk memasukkan lokasi posisi data string yang diinginkan, seperti tampak pada Gambar 10.3 di bawah ini.
PEMROGRAMAN KOMPUTER II
89
Gambar 10.3. Tampilan Grafik untuk memberikan Input Posisi Teks yang diinginkan Setalah mouse ditekan, maka input data string berikutnya akan ditampilkan sesuai dengan program, seperti tampak pada Gambar 10.4 berikut ini.
0.4
0.2
-0.2
Puncak2 Y = SIN(X)/X
-0.4 -20
-15
-10
-5 0 5 Variabel Bebas x
10
15
20
PEMROGRAMAN KOMPUTER II
90
%Output sebagai Tampilan disp ('Contoh 10.5'); disp ('Proses Penyimpanan Data'); %Input untuk Data X awal = input ('Data Awal: '); akhir = input ('Data Akhir: '); banyak = input ('Banyak Data: '); x = linspace (awal,akhir,banyak); %Data Y y1 = sin(x)./x; y2 = sin(x+pi/2)./(x+pi/2); %Harga awal dari data X %Harga akhir dari data X %Banyaknya data dari data X %Penentuan Data X %Data Y1 %Data Y2
%Proses Penyimpanan Data dengan perintah save save dataku x y1 y2; %Perintah Penyimpanan SAVE
PEMROGRAMAN KOMPUTER II
91
Jika program tersebut dijalankan pada Command Window, akan tampil hasil sebagai berikut: >> simpan Contoh 10.5 Proses Penyimpanan Data Data Awal: -10 awal = -10 Data Akhir: 10 akhir = 10 Banyak Data: 100 banyak = 100 >> Data x dari hasil program di atas akan disimpan pada folder dengan nama dataku yang berisi variable x, y1 dan y2. Setelah itu, data-data tersebut akan dipanggil dan diproses dengan mengaplikasikan perintah load, sebagai berikut: % ------------------------------------% Program Contoh 10.6 % Dibuat oleh : Andi A % 6 Desember 2007 % ------------------------------------%Pengambilan Data load dataku %Ploting Data plot (x,y1,'r:o') hold on plot (x,y2,'b-.+') %Proses Pengambilan Data dengan LOAD %Plot Data
%Atribut Plot xlabel (' X ') %Pemberian Atribut ylabel (' Y = F (x) ') title (' Grafik Fungsi X ') %Input ke Grafik gtext('Y1 = X^2 SIN (X)') %Pemberian Input melalui mouse ke Grafik gtext('Y2 = X^2 SIN (X)^2 COS (X)') Program diatas disimpan dengan nama panggil.m. Kemudian file ini dijalankan pada Command Window. Setelah menekan mouse untuk memberikan posisi untuk
PEMROGRAMAN KOMPUTER II
92
menampilkan teks terhadap grafik sebanyak dua kali, maka akan dihasilkan grafik dibawah ini:
Grafik Fungsi X 1 Y2 = X2 SIN (X)2 COS (X) 0.8 Y1 = X2 SIN (X)
0.6
Y = F (x)
0.4
0.2
-0.2
-0.4 -10
-8
-6
-4
-2
0 X
10
Gambar 10.5 Tampilan Grafik hasil dari load data Kedua program ini menunjukkan sebuah kemudahan untuk menyimpan sekumpulan data dan memanggilnya kembali, tanpa harus mengulangi pekerjaan penyiapan data.
PEMROGRAMAN KOMPUTER II
93