Anda di halaman 1dari 11

Modul 10 Input dan Output

)*
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 MAT A! 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, MAT A! dapat melakukan penyimpanan terhadap data hasil proses pemrograman berupa file tertentu ataupun berupa perintah plot sebuah grafik.

10.2

Input / Output Dasar


Pada bab"bab sebelumnya, sudah ditampilkan perintah input dan output dasar

pada MAT A!, yaitu input dan disp. Perintah input akan menampilkan kepada user sebuah prompt. #emudian, prompt akan menunggu user memberikan harga terhadap sebuah $ariabel melalui keyboard. %arga yang diberikan user akan diproses setelah &nter ditekan. %arga input tersebut dapat berupa data numerik tunggal atau array maupun data string. !entuk umum perintah input adalah sebagai berikut' var = input(variable = ) untuk input numerik yang akan disimpan dalam $ariable var. (ariabel ini dapat digunakan untuk ekspresi apa saja dalam MAT A!, sebagaimana $ariabel biasa. Apabila user menekan keyboard tanpa memasukkan harga tertentu, maka harga

#11

83

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

$ariabel dianggap sebagai matriks *. +ika diinginkan $ariabel 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. !erikut ini adalah penggunaan perintah input yang disimpan dalam M",ile bernama resistor$in.m. % % % % % ------------------------------------Program Contoh 10.1 Dibuat oleh !n"i ! # Desember $00% -------------------------------------

%Perintah input string untu& memasu&an nama pengguna user = input('nama user ( ','s') %Perintah input untu& memasu&&an )umlah resistor n = input(')umlah resistor = ') %n = )umlah resistor %Perintah input untu& memasu&&an harga resistor %sesuai "engan )umlahn*a "alam satuan ohm +or i = 1 n r(i) = input('harga resistor (ohm) = ') %harga resitor &e -i en" #etika file resistor$in.m ini dijalankan pada Command Window, maka keluarannya adalah sebagai berikut' ,, resistor-in nama user ( an"i )umlah resistor = . n = . harga resistor (ohm) = r = 100 harga resistor (ohm) = r = 100 $00 harga resistor (ohm) = r = 100 $00 .00 ,, 100

$00

.00

#11

84

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

dimana $ariabel user akan menyimpan data string andi, $ariabel n akan menyimpan jumlah resistor dan $aribel r akan menyimpan harga resistor. %arga 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' "isp (---string arra*---) dimana seluruh data string di dalam tanda petik akan ditampilkan pada Command Window tanpa disimpan ke dalam $ariabel apapun. Penggunaan perintah input dan disp akan diaplikasikan pada program berikut ini, dengan nama resistor$seri.m. % % % % % ------------------------------------Program Contoh 10.$ Dibuat oleh !n"i ! # Desember $00% -------------------------------------

%Perintah input "an "isp untu& memasu&an nama pengguna "isp('/ama 0ser pa"a saat ini a"alah') user = input('nama user ( ','s') %user = 0ser saat ini %Perintah input "an "isp untu& memasu&&an )umlah resistor "isp('1asu&&an )umlah resistor *ang a&an "ihitung') n = input(')umlah resistor = ') %n = )umlah resistor %Perintah input "an "isp untu& memasu&&an harga resistor %sesuai "engan )umlahn*a "alam satuan ohm "isp('1asu&&an harga-harga resistor satu per satu') +or i = 1 n r(i) = input('harga resistor (ohm) = ') %harga resitor &e -i en" %Perhitungan seluruh resistor "ipasang seri "isp('2arga resistor bila "ipasang seri a"alah') total-seri = sum(r) %total-seri = r(1)3r($)3... +ika file tersebut dijalankan pada Command Window, maka hasilnya adalah sebagai berikut'

#11

85

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

,, resistor-seri /ama 0ser pa"a saat ini a"alah nama user ( an"i user = an"i 1asu&&an )umlah resistor *ang a&an "ihitung )umlah resistor = . n = . 1asu&&an harga-harga resistor satu per satu harga resistor (ohm) = $00 r = $00 harga resistor (ohm) = 400 r = $00 400 harga resistor (ohm) = #00 r = $00 400 #00 2arga resistor bila "ipasang seri a"alah total-seri = 1$00 ,, Dimana, terjadi kombinasi antara output dari perintah disp dengan input dari perintah input untuk menghasilkan sebuah interaksi yang baik antara pengguna ( user) dengan program.

10.%. Input / Output &ra'i(


-nput dan .utput juga dapat dilakukan pada hasil plot sebuah grafik. Proses input pada grafik diperlukan untuk mendapatkan harga sebuah titik pada grafik tersebut. %arga yang didapat dari input grafik adalah koordinat x dan y dari titik yang diklik oleh seorang pengguna melalui mouse. %arga tersebut dapat digunakan untuk melakukan perhitungan"perhitungan yang berdasarkan posisi atau letak suatu objek. Dengan harga koordinat itu, semua ekspresi matematika sebagaimana biasa. !entuk umum perintah input pada grafik, adalah sebagai berikut' 56,*7 = ginput(n) dimana x dan y adalah harga koordinat titik yang diklik oleh pengguna melalui mouse dan n adalah jumlah titik yang diinginkan sebagai input. Pengguna dapat memilih titik yang dikehendaki dengan menggerak"gerakkan mouse ke titik tersebut. !erikut ini adalah aplikasi perintah ginput yang mengambil data dua buah titik x dan y dari koordinat yang dibentuk. #emudian, kedua titik tersebut dihubungkan dengan sebuah garis. Terakhir, kedua titik tersebut dihitung jaraknya.

#11

86

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

% % % % %

------------------------------------Program Contoh 10.. Dibuat oleh !n"i ! # Desember $00% -------------------------------------

a6is(5-8 8 -8 87)9 %1en*iap&an &oor"inat untu& men"apat&an input gri" on9 %:oor"inat "engan gri" untu& memu"ah&an input 56,*7 = ginput($) plot(6,*,'r-p')9 a6is(5-8 8 -8 87)9 gri" on9 %Pengambilan input, berupa $ buah titi& %Plot &e"ua titi& %1engup"ate &oor"inat %:oor"inat "engan gri"

)ara& = s;rt((6(1)-6($))<$ 3 (*(1)-*($))<$) %1enghitung )ara& $ buah titi& Program tersebut disimpan dengan nama file "ara(2.m. +ika file ini dijalankan pada Command Window, maka akan tampil sebuah koordinat dengan cursor horisontal dan $ertikal untuk mengambil input dari user, sebagaimana tampak pada /ambar )*.) di ba0ah ini'

/ambar )*.). Tampilan #oordinat dan cursor untuk mengambil -nput dari 1ser

#11

87

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

Setelah 2 (dua) kali pengambilan input dari grafik, maka proses berikutnya akan memberikan hasil sebagai berikut' ,, )ara&$ 6 = -..==%% ..==%% * = ..==1$ -$.==%1

)ara& = 10.#1=0 ,, dan hasil plot sebagaimana tampak pada /ambar )*.2 di ba0ah ini.

5 4 3 2 1 0 -1 -2 -3 -4 -5 -5

-4

-3

-2

-1

/ambar )*.2. Tampilan /rafik dan /aris penghubung 2 titik input Selain dapat mengambil input melalui grafik, kita juga dapat mengirimkan output melalui grafik. .utput yang akan ditampilkan ke grafik adalah data string. Terdapat 2 (dua) 3ara untuk mengirimkan output ke sebuah grafik, yaitu perintah' gtext dan text. !entuk umum perintah gte4t adalah sebagai berikut' gte6t(string) dimana string adalah data yang akan ditampilkan pada grafik. Perintah ini akan menampilkan sebuah 0indo0 dengan cursor yang menunggu mouse atau keyboard

#11

88

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

ditekan. Data string akan ditampilkan pada posisi tertentu di mana mouse atau keyboard ditekan. Sedangkan bentuk umum perintah text adalah sebagai berikut' te6t(6,*,string) dimana string adalah data yang akan ditampilkan pada grafik sementara x dan y adalah koordinat dimana data string akan ditampilkan. !erikut ini adalah 3ontoh 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. #emudian, dua buah data string dikirimkan ke output grafik melalui kedua"dua 3aranya. ,ile disimpan dengan nama inp$gra'.m, sebagaimana tampak di ba0ah ini' % ------------------------------------% Program Contoh 10.4 % Dibuat oleh !n"i ! % # Desember $00% % ------------------------------------%Data *ang a&an "iplot 6 = linspa>e(-$0,$0,80)9 %"ata 6, -$0?6? $0, seban*a& 80 "ata * = sin(6).@69 %+ungsi * = sin 6 @ 6 plot(6,*,'r-."') %plot +ungsi, merah, garis titi&, "iamon" %!tribut Plot title(' :urva * = sin(6).@6 ') %)u"ul &urva ("i bagian atas) 6label(' Aariabel Bebas 6 ') %label untu& sumbu 6 *label(' Aariabel Ca& Bebas * ') %label untu& sumbu * %Dnput Era+i& gte6t ('Pun>a&1 F = GD/(H)@H') %Dnput Era+i& "gn posisi input "ari mouse te6t(8,-0.$,'Pun>a&$ F = GD/(H)@H') %Dnput Era+i& "gn posisi input "ari program +ika file tersebut dijalankan pada Command Window, maka akan tampil 0indo0 untuk memasukkan lokasi posisi data string yang diinginkan, seperti tampak pada /ambar )*.5 di ba0ah ini.

#11

89

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

/ambar )*.5. Tampilan /rafik untuk memberikan -nput Posisi Teks yang diinginkan Setalah mouse ditekan, maka input data string berikutnya akan ditampilkan sesuai dengan program, seperti tampak pada /ambar )*.6 berikut ini.

Kurva y = sin(x)./x 1 Puncak1 Y = SIN(X)/X 0.8

0.6 Variabel Tak Bebas y

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

/ambar )*.6. Tampilan /rafik dan Teks -nput

#11

90

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

10.). Input / Ouptu berupa *i+e Data


Proses interaksi pengguna dengan program lainnya adalah proses penyimpanan data dan pemanggilan data tersebut. Sekumpulan data dapat disimpan dalam sebuah file. #emudian, pada saat yang dibutuhkan, data yang telah disimpan dapat dipanggil kembali. Proses penyimpanan data dilakukan dengan perintah save dan proses pemanggilannya dengan perintah load. Perintah save adalah menyimpan beberapa data ke dalam sebuah file berekstensi ,.mat (atau disebut Mat",ile). ,ile tersebut disimpan di dalam dokumen sesuai dengan folder yang tersedia. !entuk berikut' save +ile-name "ata1 "ata$ dimana file_name adalah nama file yang akan disimpan serta data1 dan data2 adalah data"data yang akan disimpan. Sedangkan perintah load akan memanggil file berekstensi 7.mat yang terdapat pada folder tersedia. Perintah"perintah lain pada dapat dilakukan seperti biasa setelah pengambilan data tersebut. !entuk umum perintah load adalah sebagai berikut' loa" +ile-name dimana file_name adalah nama file penyimpan data yang akan dipanggil. !erikut adalah program untuk menyimpan beberapa data dengan menggunakan perintah save, disimpan pada M",ile dengan nama simpan.m. % % % % % ------------------------------------Program Contoh 10.8 Dibuat oleh !n"i ! # Desember $00% ------------------------------------umum perintah save adalah sebagai

%Iutput sebagai Campilan "isp ('Contoh 10.8')9 "isp ('Proses Pen*impanan Data')9 %Dnput untu& Data H aJal = input ('Data !Jal ')9 a&hir = input ('Data !&hir ')9 ban*a& = input ('Ban*a& Data ')9 6 = linspa>e (aJal,a&hir,ban*a&)9 %Data F *1 = sin(6).@69 *$ = sin(63pi@$).@(63pi@$)9 %2arga aJal "ari "ata H %2arga a&hir "ari "ata H %Ban*a&n*a "ata "ari "ata H %Penentuan Data H %Data F1 %Data F$

%Proses Pen*impanan Data "engan perintah save save "ata&u 6 *1 *$9 %Perintah Pen*impanan G!AK

#11

91

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

+ika program tersebut dijalankan pada Command Window, akan tampil hasil sebagai berikut' ,, simpan Contoh 10.8 Proses Pen*impanan Data Data !Jal -10 aJal = -10 Data !&hir 10 a&hir = 10 Ban*a& Data 100 ban*a& = 100 ,, Data x dari hasil program di atas akan disimpan pada folder dengan nama dataku yang berisi $ariable x, y1 dan y2. Setelah itu, data"data tersebut akan dipanggil dan diproses dengan mengaplikasikan perintah load, sebagai berikut' % ------------------------------------% Program Contoh 10.# % Dibuat oleh !n"i ! % # Desember $00% % ------------------------------------%Pengambilan Data loa" "ata&u %Ploting Data plot (6,*1,'r o') hol" on plot (6,*$,'b-.3') %Proses Pengambilan Data "engan LI!D %Plot Data

%!tribut Plot 6label (' H ') %Pemberian !tribut *label (' F = M (6) ') title (' Era+i& Mungsi H ') %Dnput &e Era+i& gte6t('F1 = H<$ GD/ (H)') %Pemberian Dnput melalui mouse &e Era+i& gte6t('F$ = H<$ GD/ (H)<$ CIG (H)') Program diatas disimpan dengan nama panggi+.m. #emudian file ini dijalankan pada Command Window. Setelah menekan mouse untuk memberikan posisi untuk

#11

92

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar

Modul 10 Input dan Output

menampilkan teks terhadap grafik sebanyak dua kali, maka akan dihasilkan grafik diba0ah 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

/ambar )*.8 Tampilan /rafik hasil dari load data #edua program ini menunjukkan sebuah kemudahan untuk menyimpan sekumpulan data dan memanggilnya kembali, tanpa harus mengulangi pekerjaan penyiapan data.

#11

93

Pemrograman Komputer I Ir.Andi Addriansyah, M.Eng

Pusat Pengembangan Universitas Mercu Buana

a!an A"ar