Grafik Dua Dimensi - Copy

66
BAB 17 GRAFIK DUA DIMENSI Buku panduan ini telah membahas beberapa fasilitas grafis MATLAB. Dalam bab ini berikutnya, berbagai fasilitas grafis MATLAB tersebut akan dibahas secra lebih jelas. 17.1 Penggunaan Perintah Plot Seperti yang telah Anda saksikan dalam contoh-contoh yang lalu, perintah plot sangat sering digunakan untuk menggambarkan grafik dua dimensi. Perintah istimewa ini menggambarkan data dalam array pada sumbu yang bersesuaian, dan menghubungkan titik-titik tersebut dengan garis lurus. Di bawah ini Anda dapat melihat kembali contoh yang sudah pernah Anda lihat: EDU» x=linspace(0,2*pi,30) EDU» y=sin(x); EDU» plot(x,y) Contoh ini membuat 30 titik data dalam interval 0≤x≤2π untuk membentuk sumbu datar dan membuat vektor lain bernama y yang membuat sinus dari data-data dalam x. Perintah plot membuka suatu jendela grafis, yang dinamakan jendela Figure, mengatur skala sumbu supaya memuat data, menggambarkan grafik data dengan menghubungkan titik-titik tersebut dengan garis lurus. Secara otomatis pula sumbu-sumbu diberi skala numerik dan tanda titik. Jika jendela Figure telah tercipta maka perintah plot akan membersihkan jendela Figure tersebut dan kemudian menggambar grafik yang baru.

description

grafik

Transcript of Grafik Dua Dimensi - Copy

Page 1: Grafik Dua Dimensi - Copy

BAB 17

GRAFIK DUA DIMENSI

Buku panduan ini telah membahas beberapa fasilitas grafis MATLAB. Dalam bab ini berikutnya, berbagai fasilitas grafis MATLAB tersebut akan dibahas secra lebih jelas.

17.1 Penggunaan Perintah Plot

Seperti yang telah Anda saksikan dalam contoh-contoh yang lalu, perintah plot sangat sering digunakan untuk menggambarkan grafik dua dimensi. Perintah istimewa ini menggambarkan data dalam array pada sumbu yang bersesuaian, dan menghubungkan titik-titik tersebut dengan garis lurus. Di bawah ini Anda dapat melihat kembali contoh yang sudah pernah Anda lihat:

EDU» x=linspace(0,2*pi,30)

EDU» y=sin(x);

EDU» plot(x,y)

Contoh ini membuat 30 titik data dalam interval 0≤x≤2π untuk membentuk sumbu datar dan membuat vektor lain bernama y yang membuat sinus dari data-data dalam x. Perintah plot membuka suatu jendela grafis, yang dinamakan jendela Figure, mengatur skala sumbu supaya memuat data, menggambarkan grafik data dengan menghubungkan titik-titik tersebut dengan garis lurus. Secara otomatis pula sumbu-sumbu diberi skala numerik dan tanda titik. Jika jendela Figure telah tercipta maka perintah plot akan membersihkan jendela Figure tersebut dan kemudian menggambar grafik yang baru.

Gambar 17.1

Page 2: Grafik Dua Dimensi - Copy

Mari kita gambarkan fungsi sinus dan cosinus pada satu grafik:

EDU» x=cos(x) ;

EDU» plot (x,y,x,z)

Gambar 17.2

Contoh di atas menunjukkan bahwa Anda dapat menggambar lebih dari satu set data pada saat yang bersamaan hanya dengan memberikan sepasang argumen tambahan pada plot. Kali ini sin(x) terhadap x dan cos(x) terhadap x digambarkan pada grafik yang sama. Plot secara otomatis menggambarkan kurva yang kerdua dengan warna yang berbeda. Banyak kurva dapat digambarkan pada saat yang sama jika Anda memberikan tambahan pasangan argumen pada plot.

Jika salah satu argumen berbentuk matriks dan argumen yang lain berbentuk vektor, perintah plot akan menggambarkan setiap kolom pada matriks terhadap vektor:EDU» W=[y;z] ; %menciptakan matriks fungsi sinus dan cosinus

EDU» plot(x,W) %menggambarkan kolom-kolom W terhadap x

Page 3: Grafik Dua Dimensi - Copy

Gambar 17.3

Jika Anda mengubah urutan argumen, grafik yang dihasilkan akan berotasi 90 derajat:

EDU» plot(W,x) %menggambarkan x terhadap kolom-kolom W

Jika fungsi plot dipanggil hanya dengan sebuah argumen, misalnya plot(y), hasil grafisnya akan berbeda-beda tergantung pada data yang tersimpan pada Y. Jika Y adalah vektor yang menyimpan nilai-nilai kompleks, plot(Y) akan diinterpresentasikan sebagai plot(real(Y). Pada kasus-kasus lain, bagian imajiner vektor input akan diabaikan. Tetapi jika Y berisi nilai-nilai real, maka plot(Y) diiterpresentassikan sebagai plot(1:length(Y),(Y), dimana Y digambarkan terhadap indeks nilai-nilainya. Jika Y berbentuk matriks, interpresentasi ini dilakukan terhadap kolom-kolom Y.

17.2 Style Baris, Warna, dan Penandaan

Page 4: Grafik Dua Dimensi - Copy

Pada contoh-contoh yang sudah diberikan, MATLAB memilih style garis mulus serta warna biru dan hijau untuk grafiknya. Sebenarnya Anda dapat memilih sendiri style penandaan, warna, dan bentuk garis dengan memberikan argumen ketiga pada fungsi plot untuk setiap pasangan array data. Argumen tambahan ini adalah suatu karakter string yang terdiri dari satu atau lebih karakter dari tabel berikut ini:

Simbol Warna Simbol Penandaan

Simbol Style Garis

b biru g hijau c merah m magenta y kuning k hitam w putih

. titik o lingkaran x tanda x + tanda plus * bintang s bujursangkar d diamon ˅ segitiga kebawah ˄ segitiga keatas > segitiga kekanan < segitiga kekiri P pentagram H heksagram

- garis lurus : garis titik-titik -. garis terpotong dan titik -- garis terpotong-potong

Jika Anda tidak memilih warna dan Anda menggunakan scheme default, MATLAB akan memulainya dengan warna biru dan berputar berurutan ke ketujuh warna pertama dalam tabel untuk setiap penambahan garis. Default style garis adalah garis mulus, kecuali jika Anda memberikan style garis yang lain. Tidak terdapat default penandaan; jika tidak ada penandaan yang terpilih, maka tidak ada penandaan yang diberikan. Penggunaan penandaan berarti menempatkan simbol yang dipilih pada setiap titik data, tetapi tidak menghubungkan titik-titik data dengan garis lurus, kecuali style garis juga dipilih.

Jika suatu warna, penandaan, dan style garis, semua diberikan dalam string, warna yang dipilih juga berlaku untuk penandaan dan garis yang digunkan. Untuk memilih warna yang berbeda bagi penandaan, gambarkan data yang sama dengan string spesifikasi yang berbeda. Di bawah ini contoh yang menggunakan style garis, warna, dan penandaan yang berbeda:

EDU» plot(x,y,’b:p’,x,r.’C-`,x,r,’m+’)

Page 5: Grafik Dua Dimensi - Copy

Seperti semua grafik dalam bab ini, komputer Anda menampilkan warna, tetapi gambar yang dicetak disini tidak. Jika Anda membaca buku ini sambil menggunakan MATLAB, Anda cukup memasukkan perintah dalam contoh yang diberikan untuk melihat efek pewarnaan.

17.3 Style Grafik

Perintah colordef membuat Anda dapat memilih style untuk seluruh grafik Anda. Style default yang digunakan adalah colordef white. Style ini menggunakan latar belakang putih, warna abu-abu di sekeliling latar belakang putih, sumbu berwarna hitam dan memakai warna biru, hijau gelap, dan merah sebagai tiga warna pertama. Jika Anda menyukai latar belakang hitam, gunkan colordef black. Style ini menggunakan latar belakang hitam, abu-abu gelap di sekeliling latar belakang, sumbu berwarna putih, dan kuning, magenta, dan cyan sebagai tiga warna pertama. Jika Anda menggunakan colordef none, MATLAB akan menggunakan style seperti yang digunakan dalam versi MATLAB dahulu. Versi tersebut menggunkan latar belakang hitam, sumbu berwarna putih, dan menggunakan kuning, magenta dan cyan sebagai tiga warna pertama.

17.4 Menggambar Grid, Kotak Keterangan, Label, dan Legenda

Perintah grid on memberikan garis-garis grid pada grafik yang ada pada titik-titik tanda pada sumbu. Perintah grid off menghilangkan garis-garis grid tersebut. Grif tanpa argumen segera akan menampilkan dan menghilangkan grid, yaitu seperti toggle. Secara default MATLAB dimulai dengan grid off untuk grafik dua dimensi. Normalnya, sumbu dua dimensi dibatasi dengan garis mulus, yang disebut kotak sumbu. Kotak tersebut dapat dihilangkan dengan perintah box off; perintah box on akan menggembalikan kotak sumbu. Perintak box berfungsi seperti toggle untuk mengubah status kotak sumbu. Sumbu horizontal dan sumbu vertikal dapat diberi label dengan perintah xlabel dan ylabel. Perintah title akan menambahkan satu

Page 6: Grafik Dua Dimensi - Copy

baris teks pada bagian atas grafik. Mari kita gunakan kembali grafik sinus dan cosinus sebgai contoh:

EDU» x=linspace(0,2*pi,30);

EDU» y=sin(x);

EDU» r=cos(x);

EDU» plot (x,y,x,z)

Gambar 17.5b

Sekarang hilang kotak sumbu dan tambahkan judul grafik dan label sumbu x:

EDU» box off %menghilangkan kotak sumbu

EDU» xlabel(‘Variabel Bebas X’) %label sumbu horizontal

EDU» ylabel(‘Variabel Bebas Y dan Z’) &label sumbu vertikal

EDU» title(‘Kurva Sinus dan Cosinus’) %Judul grafik

Page 7: Grafik Dua Dimensi - Copy

Kurva sinus & cosinus

Variabel bebas x

Gambar 17.6

Anda dapat menambahkan label atau teks apapun dan dimanapun juga dalam grafik dengan menggunakan perintah text. Format yang digunkan adalah text(x,y,’string’), dengan (x,y) merepresentasikan koordinat titik tengah tepi kiri dari teks dengan satuan unit diambil dari sumbu-sumbu grafik. Untuk menambahkan suatu label identifikassi kurva sinus padda lokasi (2.5,0.7);

EDU» grid on, box on %menampilkan garis grafik dan kotak sumbu

EDU» text(2.5,0.7,’sin(x)’)

Page 8: Grafik Dua Dimensi - Copy

Kurva sinus & cosinus

Variabel bebas X

Gambar17.7

Jika Anda ingin memberikan label tetapi tidak mau bersusah payah menentukan koordinatnya, Anda dapat menempatkan teks dengan menggunakan mouse. Perintah gtext akan memindahkan jendela aktif ke jendela Figure, memunculkan tanda silang yang mengikuti mouse sambil menunggu klik pada mouse atau penekanantombol. Jika salah satu dari even tersebut terjadi, teks ditempatkan dengan sudut kiri bawah karakter pertama di lokasi tersebut. Cobalah untuk memberi label kurva kedua dalam plot:

EDU» gtext(‘cos(x)’)

Page 9: Grafik Dua Dimensi - Copy

Sine and Cosine Curves

Independeni Variabel X

Gambar 17.8

Alternatif lain dari penggunaan teks untuk mengidentifikasi data set dalam grafik, Anda dapat menggunakan legenda. Perintah legend menghasilkan kotak legenda di pojok kanan atas grafik, menampilkan teks apapun yang Anda berikan untuk setiap garis dalam grafik. Jika Anda ingin memindahkan legenda, lakukan dengan klik dan tahan tombol kiri mouse di dekat pojik legenda dan tarik legenda ke lokasi yang diinginkan. Perintah legend off akan menghapus legenda. Cobalah contoh berikut:

EDU» legend(‘sin(x)’, ‘cos(x)’)

Cobalah memindahkan legenda dalam grafik Anda dengan mouse dan kemudian lenyapkan legenda tersebut dengan:

EDU» legend off

Fungsi legend dapat digunkan untuk jenis-jenis grafik yang lain. Ia juga mempunyai argumen tambahan untuk memberikan lokasi legenda. Lihat on-line Help untuk keterangan lebih lengkap.

17.5 Pengaturan Sumbu-sumbu Grafik

MATLAB memberikan fasilitas pengontrolan lengkap terhadap penskalaan dan tampilan sumbu horizontal dan vertikal pada grafik Anda dengan perintah axis. Karena perintah ini mempunyai banyak fasilitas, hanya yang paling sering digunakan yang akan dibahas di sini. Untuk keterangan lebih lengkap tentang axis, lihat on-line Help atau referensi. Fasilitas utama perintah axis diberikan dalam tabel berikut:

Page 10: Grafik Dua Dimensi - Copy

Perintah KeteranganAxis ([xmin xmax ymin ymax])

V=axis

Axis auto

Axis manual

Axis xy

Axis ij

Axis square

Axis equal

Axis tightequal

Axis vis3d

Axis normal

Axis off

Axis on

Mengatur nilai minimum dan maksimum sumbu-sumbu dengan menggunakan nilai-nilai yang diberikan dalam vektor barisV adalah vektor baris yang memuat penskalaan untuk grafik yang sedang aktif: [xmin xmax ymin ymax]Mengembalikan penskalaan axis pada default otomatisnya: xmin=min(x), xmax=max(x),dsbMenetapkan sumbu pada skala saat ini, sehingga jika perintah hold on diberikan, maka plot berikutnya akan digambar dengan menggunakan skala sumbu yang samaMenggunakan sistem koordinat Cartesius (default) dengan titik pusat (orgin) pada pojok kiri bawah. Sumbuh horizontal bertambah dari kiri ke kanan, dan sumbu vertikal bertambah dari bawah ke atasMenggunakan sistem koordinat matriks, dengan origin pada pojok kiri atas. Sumbu horizontal bertambah dari kiri ke kanan tetapi sumbu vertikal bertambah dari atas ke bawahMembuat grafik yang aktif menjadi bujursangkar, bukan segiempatMengeset faktor penskalaan untuk kedua sumbu menjadi samaSama seperti axis equal, tetapi kotak grafik sangat mendekati dataMembuat MATLAB tidak mengubah prporsi sumbu jika sudut pandang diubahMenghilangkan efek dari axis square, equal, tight, dan vis3dMenghilangkan latar belakang sumbu, label, grid, kotak, dan titik tanda sumbu. Judul dan setiap label yang dihasilkan oleh perintah text dan gtext tidak dihilangkanMenampilkan latar belakang sumbu, label, titik tanda sumbu, dan kotak serta gris jika diaktifkan kembali

Cobalah beberapa perintah axis pada grafik Anda. Dengan menggunakan contoh sebelumnya didapatkan hasil berikut ini:

EDU» axis off %menghilangkan sumbu

Page 11: Grafik Dua Dimensi - Copy

EDU» axis on, grid off %menampakkan sumbu kembali, mematikan grid

EDU» axis ij %menampilkan grafik terbalik

EDU» axis square equal %memberikan fungsi axis dua perintah bersamaan

Page 12: Grafik Dua Dimensi - Copy

EDU» axis xy normal %mengembalikan pada default

17.6 Mencetak Gambar

Apakah artinya suatu grafik jika tidak dapat dicetak? Pencetakan suatu grafik dapat dilakukan dengan menggunakan perintah dari menu bar atau dari perintah MATLAB.

Untuk mencetak suatu grafik dari menu bar, klik jendela Figure supaya menjadi jendela yang aktif dan kemudian gunakan perintah Print dari menu File (jendela Figure pada versi Windows). Hasilnya, grafik yang sedang aktif dikirim ke printer dengan menggunakan parameter yang terdapat dalam item menu Print Setup atau Page Setup.

MTLAB juga mempunyai perintah pencetakan yang dapat digunakan dari jendelah Command. Untuk mencetak suatu jendela Figure, klik jendela tersebut dengan mouse atau gunakan perintah figure(n) untuk membuatnya aktif. Setelah itu berikan perintah Print.

EDU» print %mencetak gambar yang sedang aktif

Perintah orient mengubah mode orientasi pencetakan. Mode portrait, yang merupaka default, akan mencetak secara vertikal di tengah-tengah halaman. Mode landscape akan mencetak secara horizontal dan memenuhi halaman. Mode tall mencetak secara vertikal, namun memenui seluruh halaman. Mode pencetakan yang Anda pilih tidak akan berubah kecuali jika Anda mengubahnya atau Anda mengakhiri sesi MATLAB Anda.

EDU» orient %orientasi apakah yang sedang digunakan?

ans=

Page 13: Grafik Dua Dimensi - Copy

portrait

EDU» orient landscape %mencetak mendatar pada halaman

EDU» orient tall %menarik gambar untuk memenuhi halaman vertikal

Untuk informasi lebih lanjut mengenai pencetakan, lihat Help on-line atau referensi untuk print.

17.7 Memanipulasi Gambar

Anda dapat menambahkan garis pada grafik yang sudah ada dengan perintah hold. Jika Anda mengeset hold on, MATLAB tidak akan mengganti sumbu-sumbu yang sudah ada jika perintah plot yang baru diberikan; tetapi MATLAB akan langsung menambahkan kurva yang baru pada grafik yang telah ada. Namun apabila data yang baru tidak mencukupi untuk batasa-batasan sumbu yang ada maka akan dilakukan penskalaan ulang. Mengeset hold off akan membuat jendelah Figure membuat gambar yang baru. Perintah hold tanpa argumen berfungsi seperti toggle. Kembali pada contoh sebelum ini:

Sekarang, perhatikan 17.14 dan tambahkan kurva cosinus:

EDU» hold on

EDU» ishold %fungsi logika ini menghasilkan !(Benar) jika hold ON

ans =

1

EDU» plot (x,z,’m’)

EDU» hold off

EDU» ishold %hold idak lagi ON

ans =

Page 14: Grafik Dua Dimensi - Copy

perhatikan bahwa contoh ini menghasilkan kurva kedua. Karena hanya terdapat sau set data array untuk setiap perintah plot, waarna garis untuk setiap plot akan sama dengan warna pertama dalam daftar, menghasilkan dua kurva yang digambar dengan warna sama. Perhatikan juga bahwa ishold menyediakan cara mengetahui status hold.

Jika Anda ingin dua atau lebih gambar dalam jendela Figure yang berbeda-beda, gunakan perintah figure dalam jendela Window, atau pilihan New Figure dari menu File. Perintah figure tanpa argumen menciptakan jendela Figure yang baru. Anda dapat memilih jendela Figure tertentu sebagai default dengan memilihnya dengan mouse, atau menggunakan perintah figure(n), dimana n adalah nomor jendela yang akan diaktifkan untuk perintah plot berikut.

Suatu jendela Figure, di sisi lain, dapat memuat lebih dari satu set sumbu. Perintah subplot(m,n,p) membagi jendela Figure yang aktif menjadi suatu matriks mxn area grafik dan sekaligus mengaktifkan area ke-p. Subplot dinomori dari kiri ke kanan sepanjang baris teratas, kemudian baris kedua, dst. Contoh:

EDU» x=linspace(0,2*pi,30);

EDU» y=sin(x);

EDU» z=cos(x);

EDU» a=2*sin(x).*cos(x);

EDU» b=sin(x)./(cos(x)+eps);

EDU» subplot(2,2,1) %meletakkan subplot kiri atas dari array subplot 2x2

EDU» plot(x,y), axis([0 2*pi -1 1]), title(‘sin(x)’)

EDU» subplot(2,2,2) %meletakkan subplot kanan atas dari 4 subplot

EDU» plot(x,z) , axis ([0 2*pi -1 1]), title (‘cos(x)’)

EDU» subplot(2,2,3) %meletakkan subplot kiri bawah dari 4 subplot

Page 15: Grafik Dua Dimensi - Copy

EDU» plot (x,a), axis ([0 2*pi -1 1]), title (‘2sin(x)cos(x)’)

EDU» subplot(2,2,4) %meletakkan subplot kanan bawah dari 4 subplot

EDU» plot(x,b), axis ([0 2*pi -1 1]), title (‘sin(x)/cos(x)’)

0 2 4 6-1

-0.5

0

0.5

1sin(x)

0 2 4 6-1

-0.5

0

0.5

1cos(x)

0 2 4 6-1

-0.5

0

0.5

12sin(x)cos(x)

0 2 4 6-1

-0.5

0

0.5

1sin(x)/cos(x)

Gambar 17.16

Perhatikan bahwa jika suatu subplot teraktifkan, maka subplot tersebut akan menjadi satu-satunya subplot yang terpengaruh oleh perintah axis, hold, xlabel, ylabel, grid dan box. Subplot yang lain tidak terpengaruh. Bahkan, subplot yang aktif akan tetap aktif sampai perintah subplot atau figure yang lain diberikan. Jika perintah subplot yang baru mengubah jumlah subplot dalam jendela Figure, subplot sebelumnya dihapus untuk menyediakan tempat bagi orientasi yang baru. Untuk kembali pada mode default dan menggunakan seluruh jendela Window untuk satu set sumu, gunakan perintah subplot(1,1,1). Jika Anda mencetak suatu jendela Figure yang memuat beberapa subplot, seluruh plot tersebut akan tercetak pada halaman yang sama. Sebagai contoh, jika jendela Figure yang aktif memuat empat subplot dengan orientasi mode landspace, maka setiap plot akan menggunakan seperempat dari halaman tercetak.

MATLAB menyediakan alat interaktif untuk melebarkan sebagian dari suatu plot dua dimensi untuk dilihatnya detailnya, atau untuk membesarkan suatu daerah yang diperhatikan. Perintah zoom on menyalakan mode zoom. Klik tombol mouse pada Macintosh atau tombol kiri mouse pada komputer dengan sistem Windows dalam jendela Figure membesarkan grafik dua kali di sekitar titik di sekitar pointer mouse. Setiap kali Anda meng-klik, grafik

Page 16: Grafik Dua Dimensi - Copy

akan membesar. Klik tombol mouse kanan pada suatu sistem Windows, atau shift-klik pada Macintosh, untuk membesarkan dua kali. Anda juga dapat melakukan klik dan tarik suatu area bujursangkar agar membesar di suatu area tertentu. Zoom(n) membesarkan sebesar n kali. Zoom out mengembalikan grafik pada kondisi semula. Zoom off mematikan mode zoom. Zoom tanpa argumen berfungsi seperti togel untuk status zoom dari jendela Figure yang aktif.

Cobalah melakukan zoom in dan zoom out pada suatu grafik hasil M-file bernama peaks.m. ini merupakan fungsi menarik yang menghassilkan data matriks bujursangkar. Data didasarkan pada suatu fungsi dua variabel dan memuat poin-poin data untuk x dan y dalam range -3 sampai 3. Fungsinya adalah:

f(x,y)=3(1-x)2e-x2 -10( – x3 – y5)e-x2 – y2 - e-(x+1)2 –y2

anda dapat menentukan ukuran matriks bujursangkar yang dihasilkan peaks dengan memberikan suatu argumen. Jika Anda tidak memberikan argumen, default adalah [[31]]. Cobalah contoh berikut:

EDU» M=peaks(25); %membuat data matriks 25x25

EDU» plot(M) %menggambar kolom-kolom M

EDU» title(‘Grafik peaks untuk latihan ZOOM’)

EDU» zoom on

Perintah plot(M), dengan M addalah suatu matriks, menggambar setiap kolom M terhadap indeksnya. Contoh tersebut akan menggambar 25 baris pada grafik. Lakukan zoon in dan zoom out pada grafik untuk bereksperimen dengan zoom.

Karena baik perintah baik perintah zoom dan perintah legend bereaksi terhadap penekanan tombol mouse dalam jendela Figure, maka keduanya akan saling mempengaruhi. Oleh sebab itu jika zoom digunakan maka legend harus terlebih dulu dimatikan.

17.8 Fasilitas Penggambaran Grafik Dua Dimensi Lain

Loglog berfungsi sama dengan plot, tetapi skala yang digunkan untuk kedua sumbu adalah skala logaritmis

Semilogy berfungsi sama dengan plot, tetapi sumbu x menggunkan skala logaritmis dan sumbu y menggunakan skala linear

Semilogy berfungsi sama dengan plot, tetapi sumbu y menggunakan skala logaritmis dan sumbu x menggunakan skala linear

Area(x,y) berfungsi sama dengan plot(x,y), tetapi daerah antara 0 dan y diisi. Basis nilai y dapat ditentukan, tetapi defaultnya adalah nol.

Page 17: Grafik Dua Dimensi - Copy

0 2 4 6-1

-0.5

0

0.5

1sin(x)

0 2 4 6-1

-0.5

0

0.5

1cos(x)

0 2 4 6-1

-0.5

0

0.5

12sin(x)cos(x)

7%

14%

22%

17%

11%

29%

contoh grafik lingkaran

Grafik lingkaran dapat dibuat dengan menggunkan perintah pie(a,b), dengan a adalah nilai vektor dan b adalah vektor logika opsional yang mendeskripsikan suatu jaringan atau jaring yang dilepaskan dari grafik lingkaran

Gambar17.17

EDU» a=[.5 1 1.6 1.2 .8 2.1]; EDU» pie(a,a==max(a)); %grafik a dan melepaskan bagian terbesar EDU» title(‘contoh grafik lingkaran’) Cara lain untuk memvisualisasikan data yang sama adalah dengan grafik pareto

dimana nilai-nilai dalam argumen vektor digambar sebagai batang dalam urutan menurun terhadap akumulasi nilai grafik. Gunkan vektor a dari contoh sebelumnya sehingga kita memperoleh:

EDU» pareto(a);

EDU» title(‘Contoh grafik Pareto’)

Page 18: Grafik Dua Dimensi - Copy

6 3 4 2 5 10

1

2

3

4

5

6

7

Contoh grafik Pareto

0%

14%

28%

42%

56%

69%

83%

97%

Gambar 17.18

Kadang-kadang Anda ingin menggambarkan dua fungsi yang berbeda pada sumbu yang sama dengan menggunaka sumbu skala sumbu y yang berbeda. Plotxy dapat melakukan hat tersebut:

EDU» x=-2*pi:pi/10:2*pi;EDU» y=sin(x) ; z=2*cos(x);EDU» subplot(2,1,1) , plot(x,y,x,z)EDU» title (‘Dua grafik pada skala yang sama’)EDU» subplot(2,1,2) , plotyy(x,y,x,z)EDU» title(‘Dua grafik dengan skala yang berbeda’);

Perhatikan bahwa baik pareto dan plotyy sesungguhnya membuat dua pasang sumbu pada jendela Figure yang sama. Setiap perintah yang mempengaruhi sumbu yang ada (seperti axis, zoom, atau legend) hanya akan berpengaruh pada sepassang sumbu sehingga dapat memberikan hasil yang tidak diharapkan. Jadi sebaiknya hindari penggunaan perintah-perintah tersebut jika sedang menggunakan fungsi pareto dan potyy.

Grafik batang dan grafik tangga dapat dibuat dengan menggunakan perintah bar, bar3, barh, dan stairs. Di bawah ini contoh kurva bel:

EDU» x=-2.9:0.2:2.9;EDU» y=exp (-x.*x);EDU» figureEDU» subplot (2,2,1)EDU» bar(x,y)EDU» title(‘Grafik batang dari kurva bel’)

Page 19: Grafik Dua Dimensi - Copy

EDU» subplot(2,2,2)EDU» bar3(x,y)EDU» title(‘Grafik batang 3-D dari kurva bel’)EDU» subplot(2,2,3)EDU» stairs(x,y)EDU» title(‘Grafik tangga dari kurva bel’)EDU» subplot(2,2,4)EDU» barh(x,y)EDU» title (‘Grafik batang mendatar’)

-8 -6 -4 -2 0 2 4 6 8-2

-1

0

1

2Dua grafik pada skala yang sama

-8 -6 -4 -2 0 2 4 6 8-1

-0.5

0

0.5

1Dua grafik dengan skala yang berbeda

-8 -6 -4 -2 0 2 4 6 8-2

-1

0

1

2

Gambar 17.19

Page 20: Grafik Dua Dimensi - Copy

-4 -2 0 2 40

0.5

1Grafik batang dari kurva bel

-5

0

5

0

0.5

1Grafik batang 3-D dari kurva bel

-4 -2 0 2 40

0.5

1Grafik tangga dari kurva bel

0 0.5 1-4

-2

0

2

4Grafik batang mendatar

Gambar 17.20

Hist(y) menggambar 10 batang histogram untuk data dalam vektor y. Hist(y) dengan n suatu skalar, menggambar suatu histogram dengan n batang. Hist(y,x) dengan x berupa vektor akan menggambar suatu histogram dengan menggunakan batang yang terdapat dalam x. Di bawah ini adalah suatu contoh dari suatu kurva histogram bel dari data Gauss:EDU» x=-2.9:0.2:2.9; %menentukan interval untuk digunakanEDU» y=randn(5000,1); %menghasilkan 5000 titik data acakEDU» hist(y,x) %menggambar histogramEDU» title (‘Histogram data Gauss’)

Page 21: Grafik Dua Dimensi - Copy

-4 -3 -2 -1 0 1 2 3 40

50

100

150

200

250

300

350

400

450Histogram data Gauss

Gambar 17.21

Deret diskrete dapat digambarkan dengan menggunakan fungsi stem. Stem(z) membuat suatu grafik dari titik-titik data dalam vektor z dihubungkan dengan sumbu mendatar oleh suatu garis. Argumen karakter string opsional dapat digunkan untuk menentukan sytle garis. Stem(x,z) menggambarkan poin-poin di z pada nilai-nilai yang ditentukan oleh x.

EDU» r=rand(50,1); %menciptakan beberapa data acak

EDU» stem(z, ‘:’); %menggambar grafik stem dengan style garis titik-titik

EDU» title(;Grafik stem pada data acak’)

Suatu grafik dapat melibatkan garis kesalahan pada poin-poin data.errorbar(x,y,e) menciptakn grafik x terhdapa vektor y dengan garis kesalahan yang ditentukan oleh vektor e. Semua vektor harus mmpunyai panjang yang sama. Untuk setiap poin data(x,y), sebuah garis kesalahan akan digambar dengan jarak atar e, dan jarak bawah ei.EDU» x=linspace(0,2,21); %membuat suatu vektorEDU» y=erf(x); %y adalah fungsi kesalahn xEDU» e=rand(size(x))/10; %e membuat nilai kesahan acakEDU» errorbar(x,y,e) %membuat grafiknyaEDU» title(‘Grafik Garis Kesalahan’)

Page 22: Grafik Dua Dimensi - Copy

0 5 10 15 20 25 30 35 40 45-2

-1.5

-1

-0.5

0

0.5

1

1.5

2Grafik stem pada data acak

-0.5 0 0.5 1 1.5 2 2.5-0.2

0

0.2

0.4

0.6

0.8

1

1.2Grafik Garis Kesalahan

Gambar 17.22 Grafik pada koordinat polar dapat dibuat dengan menggunakan perintah polar(t,r,s),

dengan t adalah sudut vektor alam radian, r adalah radius vektor, dan S adalah karakter string opsional yang mendeskripsikan warna, simbol penandaan, dan sytle garis. Lihat pad aplot untuk keterangan mengenai nilai-nilai string tersebut.

Page 23: Grafik Dua Dimensi - Copy

0.1

0.2

0.3

0.4

0.5

30

210

60

240

90

270

120

300

150

330

180 0

Grafik Polar sin(2t)cos(2t)

0 2 4 6 8 10 12 14 16 18 20-5

-4

-3

-2

-1

0

1

2

3

4

5Grafik Feather dari nilai Eign suatu Matriks Acak

50

100

150

30

210

60

240

90

270

120

300

150

330

180 0

Histogram Sudut dari Sudut-sudut Acak

EDU» t=linspace(0,2*pi);

EDU» r=sin(2*t).*cos(2*t);

EDU» polar(t,r)

EDU» title (‘Grafik Polar sin(2t)cos(2t)’)

Gambar 17.23

Kompleks data juga dapat digrafikkan menggunakan compass dan feather. Compass(z) menggambar suatu grafik yang menampilkan sudut dan besarnya elemen-elemen kompleks dalam z sebagai anak panah yang berasal dari pusat koordinat. Feather(z) menggambarkan data yang sama dengan menggunkan anak panah yang berasal dari titik kesamaan tempat pada garis mendatar. Compass(x,y) dan feather(x,y) sama dengan compass(x+i*y) dan feather(x+i*y).

Page 24: Grafik Dua Dimensi - Copy

-8 -6 -4 -2 0 2 4 6 8-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Gambar sin(x)2/x

EDU» z=eig(randn(20,20));EDU» compass(z)EDU» title (‘Grafik compass dari nilai Eign suatu Matriks Acak’)EDU» title(‘Grafik Compass dari nilai Eign suatu Matriks Acak’)EDU» feather(z)EDU» title(‘Grafik Feather dari nilai Eign suatu Matriks Acak’)

Rose(v) menggambar suatu histogram polar 20 bagian menggunakan sudut-sudut dalam vektor v. Rose(v,n) dengan n berupa skalar, menggambar histogram dengan n merupakan bagian. Rose(v,n), dengan x adalah sebuah vektor, menggambarkan suatu histogram dengan menggunakan bagian-bagian yang ditentukan oleh x. Di bawah ini suatu contoh mengenai histogram sudut:

EDU» v=rand(1000,1)*pi;EDU» rose(v)EDU» title (‘Histogram Sudut dari Sudut-sudut Acak’)

Gambar 17.24

Ginput merupakan cara untuk memilih titik-titik dari grafik aktif dengan bantuan mouse, [x,y]=ginput(n) mengambil n titik dari sumbu aktif dan mengisikan koordinatnya dalam vektor kolom x dan y. Jika n tidak diberikan, sejumlah tak terbatas titik akan diambil sampai tombol Return atau Enter ditekan. Sebagai contoh, marilah kita gambar suatu fungsi, dan kemudian menggambar suatu garis yang menghubungkan delapan titik yang dipilih dengan mouse.EDU» x=linspace(-2*pi,2*pi,60);EDU» y=sin(x).^2./(x+eps);EDU» plot(x,y)EDU» title (‘Gambar sin(x)^2/x’)

Page 25: Grafik Dua Dimensi - Copy

-20 -15 -10 -5 0 5 10 15 20-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2Grafik fungsi f(x)=sin(x)/x

x

f(x)

EDU» [a,b]=ginput(8); %mengambil 8 titik dari grafikEDU» hold onEDU» plot(a,b,’mo’) %menggambarkan titik-titik data yang baru dikumpulkanEDU» hold off

Karena perintah legend,zoom, dan ginput semuanya bereaksi terhadap klik mouse di jendela Figure, perintah-perintah tersebut akan berinterferensi satu dengan yang lain. Oleh karena itu, jika salah satu digunakan, maka yang lain harus dimatikan terlebih dahulu.

Gambar 17.25

Perintah fplot memberikan kepada Anda suatu cara sederhana untuk secara otomatis menggambar suatu fungsi satu variabel di antara limit yang ditentukan tanpa harus membuat kumpulan titik data untuk variabel itu. Fplot(‘fun’,[xmin xmax]) menggambar fungsi fun dalam range xmin≤x≤xmax dengan penskalaan otomatis pada sumbu y. Fplot (‘run’,[xmin xmax ymin ymax]) sekaligus menetukan limit sumbu y juga. Terdapat batasan mengenai jenis fungsi yang dapat digambar, dan argumen tambahan dapat ditentukan. Lihat bagian Analisis Numerik dan Tutorial Symbolic Math Toolbox untuk informasi lebih lanjut.EDU» fplot(‘sin(x)./x’,[-20 20 -.4 1.2])EDU» title(‘Grafik fungsi f(x)=sin(x)/x’)EDU» xlabel(‘x’)EDU» ylabel(‘f(x)’)

Fill(x,y,’c’) mengisi poligon dua dimensi yang didefinisikan oleh vektor kolom x dan y dengan warna yang ditentukan oleh c. Sudut-sudut poligon ditentukan oleh

Page 26: Grafik Dua Dimensi - Copy

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

STOP

Tanda STOP Merah

pasangan (xi,yi). Jika perlu, poligon dibuat tertutup dengan menghubungkan titik sudut terakhir dengan titik pertama. Lihat Help on-line untuk informasi lebih lanjut. Cobalah contoh berikut ini:EDU» t=(1/8:2/8:15/8)’*pi;EDU» x=sin(t);EDU» y=cos(t);EDU» fill(x,y, ’r’)EDU» axis squareEDU» Text(0,0,’STOP’,’Fontsize’,96,’HorizontalAlignment’,’center’)EDU» title (‘Tanda STOP Merah’)

Gambar 17.26

Contoh tersebut menggunakan perintah text(x,y,’string’) dengan argumen tambahan. Argumen ‘Fontsize’ dan ‘Horizontal-Alignment’ memerintahkan MATLAB untuk menggunakan Handle Graphics® untuk memodifikasi teks. Handle Graphics adalah nama arsitektur dasar grafis MATLAB. Beberapa fasilitas Handle Graphics akan dibahas kemudian.

Grafik tersebar dapat dibuat dengan perintah plotmatriks. Lihatlah Help on-line untuk memperoleh informasi lebih lanjut mengenai plotmatrikx.

Page 27: Grafik Dua Dimensi - Copy

17.9 Ringkasan

Perintah plot menciptakan grafik suatu vektor atau kolom-kolom matriks. Bentuk perintahnya adalah plot(x1,y1,x2,y2,S2,...), dengan (xn,yn) adalah himpunan data dan Sn

adalah string tambahan yang menentukan warna, simbol penandaan, dan style garis. Grid berfungsi sebagai togle untuk titik tanda nilai sumbu pada grafik. Box berfungsi sebagai togle untuk kotak sumbu. Judul dan label sumbu dapat ditambahkan menggunakan title, xlabel, dan ylabel. Perintah text(x,y,S) menambahkan karakter string s pada grafik yang aktif pada

koordinat x,y. Gtext membuat Anda dapat menempatkan teks pada grafik dengan bantuan mouse. Axis([xmin xamax ymin ymax]) mengatur skala grafik aktif dengan nilai-nilai yang

diberikan sebagai argumen. Axis(‘string’) dengan ‘string’ adalah salah satu pilihan spesifik mengubah batasan sumbu atau penampakan grafis dalam banyak cara.

Orientasi dari cetakan grafik dalam jendela Figure yang aktif dapat diubah dengan perintah orient. Tiga pilihan orientasi yang tersedia adalah portrait, landscape, dan tall.

Anda dapat menambahkan grafik fungsi pada grafik fungsi yang sudah ada dengan mengeset hold on. Mengest hold off membuat perintah figure selanjutnya untuk membersihkan jendela Figure sebelum melakukan penggambaran grafik.

Beberapa jendela Figure dapat dibuat dengan perintah figure. Figure(n) dengan memilih jendela Figure ke n sebagai jendela aktif.

Suatu jendela Figure dapat dibagi-bagi dan setiap bagian dapat diaktifkan dengan perintah subplot.

Jika Anda mengeset zoon on, jendela Figure yang aktif dapat diperbesar secara interaktif menggunakan mouse.

Skala grafik dapat dibuat menggunakan loglog, semilogx, semilogy, dan plotyy. Banyak grafik dua dimensi dapat dibuat dengan area, pie, pareto, polar, bar, stairs,

hist, stem, errorbar, compass, feather, rose, fill, dan plotmatrix. Fungsi-fungsi bantuan untuk grafik antara lain ginput, fplot, dan legend. Perintah legend, zoom, dan ginput saling berinterferensi. Jadi Anda hanya dapat

menggunakan salah satu dari ketiganya pada suatu saat.

Page 28: Grafik Dua Dimensi - Copy

BAB 18

GRAFIK TIGA DIMENSI

MATLAB menyediakan berbagai fungsi untuk menampilkan data secara tiga dimensi. Beberapa fungsi menggambar garis dalam tiga dimensi, sedang yang lain menggambar permukaan dan menempatkan bingkai. Warna dapat dipergunakan untuk menghadirkan dimensi keempat.

18.1 Grafik Garis

Perintah plot dari dunia dua dimensi disempurnakan oleh perintah plot3 untuk bekerja dalam tiga dimensi. Format yang digunkan sama dengan perintah plot untuk dua dimensi, kecuali data yang digunkan adalah tiga satuan, bukan sepasang. Format umum dari plot3 adalah plot3(x1,y1,z1,S1,x2,y2,z2,S2,...) dengan xn dan yn adalah vektor atau matriks, sedangkan Sn

adalah karakter string opsional yang mengatur warna, simbol penanda, atau style garis. Di bawah ini adalah contoh sebuah heliks tiga dimensi:

EDU» t=linspace(0,10*pi);

EDU» polt3(sin(t),cos(t),t)

EDU» title(‘Heliks’), xlabel(‘sin(t)’), ylabel(‘cos(t)’)

EDU» zlabel(‘t’)

-1-0.8

-0.6-0.4

-0.20

0.20.4

0.60.8

1

-1-0.8

-0.6-0.4

-0.20

0.20.4

0.60.8

10

5

10

15

20

25

30

35

sin(t)

Heliks

cos(t)

t

Gambar 18.1

Page 29: Grafik Dua Dimensi - Copy

Perhatikan bahwa dalam contoh di atas terdapat fungsi zlabel yang serupa dengan fungsi xlabel dan y label di grafik dua dimensi. Dengan cara yang serupa, perintah axis mempunyai bentuk tiga dimensi: axis ([xmin xmax ymin ymax zmin zmax]) untuk mengatur batasan-batasan ketiga sumbu yang digunkan. Perintah-perintah lain yang berkaitan degan sumbu yang digunakan. Perintah-perintah lain yang berkaitan dengan sumbu juga dapat digunakan untuk grafik tiga dimensi. Mari kita coba mengubah titik pusat (origin) grafik di atas:

EDU» axis(‘ij’) %mengubah sumbu y supaya bertambah dari belakang ke depan

Fungsi text juga mempunyai bentuk tiga dimensi: text (x,y,z,’string’) akan menempatkan teks ‘string’ pada koordinat (x,y,z) pada grafik yang sedang aktif. Berbeda dengan grafik dua dimensi, grid on dan box off adalah keadaan default untuk grafik tiga dimensi. Subplot dan penggunaan beberapa jendela Figure bersama-sama tidak akan mengalami perubahan bila digunakan dalam tiga dimensi.

-1-0.8

-0.6-0.4

-0.20

0.20.4

0.60.8

1

-1-0.8

-0.6-0.4

-0.20

0.20.4

0.60.8

1

0

5

10

15

20

25

30

35

sin(t)

Heliks

cos(t)

t

Gambar 18.2

18.2 Grafik Jala dan Permukaan

MATLAB mendefinisikan suatu permukaan jala dengan koordinat z sebuah titik di atas grid segi empat pada bidang x-y. Permukaan jala membentuk suatu grafik dengan menghubungkan titik-titik yang berdekatan dengan garis lurus. Hasil yang diberikan seperti jala ikan dengan simpul-simpul pada titik-titik data. Grafik jala sangat berguna untuk memvisualisasikan matriks besar atau untuk menggambar grafik fungsi dua variabel.

Langkah pertama untuk membuat suatu grafik dari fungsi dua variabel, z=f(x,y), adalah membuat X dan Y yang terdiri dari baris dan kolom yang berulang atas beberapa range variabel x dan y. MATLAB menyediakan fungsi meshgrid untuk keperluan ini. [X,Y]=meshgrid(x,y) menciptakan suatu matriks X dengan baris-barisnya adalah duplikat dari vektor x, dan suatu matriks Y dengan kolom-kolomnya adalah duplikat dari vektor y.

Page 30: Grafik Dua Dimensi - Copy

Pasangan matriks ini kemudian digunakan untuk mengevaluasi nilai fungsi dua variabel dengan menggunakan fasilitas matematika array MATLAB.

Berikut ini contoh penggunaan meshgrid untuk menghasilkan poin-poin data teratur di bidang x-y antara -7.5 sampai 7.5 baik pada x maupun y.

EDU» x=-7.5:.5:7.5;

EDU» y=x;

EDU» [X,Y]=meshgrid(x,y);

X dan Y adalah sepasang matriks yang merepresentasikan gris segiempat dari titik-titik data pada bidang x-y. Segala jenis fungsi z=f(x,y) dapat dihasilkan dengan menggunakan titik-titik tersebut.

EDU» R=sqrt(X.^2+Y.^2)+eps; %menemukan jarak dari pusat grafik (0,0)

EDU» Z=sin(R)./R; %menghitung sin(r)/r

Matriks R memuat radius dari stiap titik [X,Y]. Radius adalah jarak antara setiap titik ke pusat matriks, yang adalah pusat grafik atau orgin. Menambahkan eps perlu untuk mencegah pembagian dengan nol, yang akan menghasilkan NaN (Not a Number/Bukan Bilangan) dalam data. Matriks Z sekarang memuat sinus dari radius dibagi dengan radius setiap titik data dalam bidang. Perintah berikut ini akan menggambar grafiknya:

EDU» mesh(X,Y,Z)

Page 31: Grafik Dua Dimensi - Copy

-10-5

05

10

-10

-5

0

5

10-0.5

0

0.5

1

Gambar 18.3

Grafik yang ditampilkan di gambar 18.2 hanya menggunakan satu warna, tetapi haarap perhatikan pada monitor Anda bagaimana warna garis dihubungkan dengan ketinggian dari jala di atas bidang x-y. Mesh akan menerima argumen opsional untuk mengatur warna dan range yang digunakan dalam plot. Kemampuan untuk mengubah bagaimana MATLAB menggunakan warna akan dibahas pada bagian selanjutnya mengenai peta warna.

Dalam contoh ini mesh menggambarkan nilai-nilai elemen matriks pada titik (X ij,Yij,Zij) dalam ruang tiga dimensi. Mesh dapat juga menggunakan matriks tunggal sebagi argumen; mesh(Z) menggunakan titik(i,h,Zij). Yaitu, Z digambarkan terhdap indeks-indeksnya sendiri. Pada kasus demikian, mesh(Z) hanya mengubah skala dari sumbu x dan sumbu y sebagai indeks dari matriks Z. Cobalah sendiri hal ini.

Grafik permukaan dari matriks Z yang sama tampak seperti grafik jala yang telah dihasilkan tadi, kecuali bahwa ruang antara garis-garis (dinamakan patch) diisi. Grafik jenis ini dihasilkan menggunakan fungsi surf yang mempunyai susunan argumen sama dengan fungsi mesh. Di bawah ini adalah satu contoh:

EDU» surf(X,Y,Z)

Page 32: Grafik Dua Dimensi - Copy

-10-5

05

10

-10

-5

0

5

10-0.5

0

0.5

1

Gambar 18.4

Sebagai ilustrasi bagi topik-topik berikut, marilah kita kembali pada fungsi peaks yang telah dibahas terdahulu. Grafik jala tiga dimensi fungsi ini dapat digambar dengan:

EDU» mesh(peaks)

EDU» title(‘Grafik Jala dari fungsi Peaks’)

Grafik kontur garis-garis menunjukkan ketinggian yang tetap. Mungkin Anda telah melihat hal tersebut sebelumnya. Sesungguhnya jika Anda pernah melihat suatu peta topologi, Anda telah memahami apa sesungguhnya kontur itu. Dalam MATLAB, kontur digambar dalam dua dimensi dan tiga dimensi menggunkan funsti contour dan countur3 secara berurutan. Grafik menggunkan perintah-perintah berikut seperti yang diilustrasikan dalam Color Plate 1 (Color Plate menggantikan Gambar 18.5)

EDU» [x,y,z]=peaks

EDU» contour(x,y,z,20) %menghasilkan 20 garis kontur 2-D

EDU» title(‘Grafik Kontur Peaks’)

EDU» contour3(x,y,z,20) %menggunakan kontur yang sama di 3-D

EDU» axis ([-3 3 -3 3 -6 8]) %menggunakan skala yang lebih baik

Page 33: Grafik Dua Dimensi - Copy

EDU» title (‘Grafik Contour3 Peaks’)

Cara lain untuk memvisualisasikan informasi kontur adalah dengan menggunakan warna untuk merepresentasikan tinggi. Fungsi pcolor memetakan ketinggian dengan suatu himpunan warna dan memberikan informasi yang sama seperti yang dihasilkan contour dengan skala yang sama pula. Di bawah ini fungsi peaks digunkan kembali:EDU» [x,y,z]=peaks;

EDU» pcolor(x,y,z)

EDU» title(‘Grafik Psedocolor Peaks’)

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3Grafik Psedocolor Peaks

Gambar 18.5

Karena baik pcolor maupun contour memberikan informasi yang sama pada skala yang sama, maka seringkali sangat berguna untuk menggabungkan kedua grafik tersebut. Contoh berikut ini menggunakan shading untuk mengubah tampilan grafik. Shading akan dibahas kemudian dalam buku panduan ini.

EDU» [x,y,z]=peaks

EDU» pcolor(x,y,z) %menghasilkan grafik pseudocolor

EDU» shading interp %menghilangkan garis-garis grid

EDU» hold on

EDU» contour (x,y,z,20,’k’) %menggambar 20 garis kontur dengan warna hitam

EDU» hold off

EDU» title(‘Grafik Pseudocolor Peaks dengan contour’)

Page 34: Grafik Dua Dimensi - Copy

Lihat pada Color Plate1 melihat ilustrasi dari contoh di atas.

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3Grafik Pseudocolor Peaks dengan contour

Gambar 18.6

18.3 Memanipulassi Grafik

Dengan MATLAB, Anda dapat menentukan susut untuk melihat grafik tiga dimensi. Fungsi view(azimuth,ketinggian) mengeset sudut pandang dengan menentukan azimuth dan ketinggian Anda. “Ketinggian” mendeskripsikan lokasi dari orang yang melihat gambar sebagai sudut dalam derajat di atas bidang x-y. “Azimuth” mendeskripsikan sudut dalam bidang x-y di mana orang yang melihat gambar berdiri. Konsep ini digambarkan dalam Gambar 18.10

Azimuth diukur dalam derajat dari sumbu y negatif. Gambar 18.9 menunjukkan nilai default azimuth MATLAB, yaitu -37.5 derajat; artinya, sumbu y dirotasikan berlawanan dengan arah jarum jam, menjauhi Anda sejauh 37.5 derajat. Ketinggian adalah sudut dari mana mata Anda melihat bidang x-y. Gambar 18.11 mencoba memberi gambaran atas nilai ketinggian default MATLAB, yaitu 30 derajat. Artinya, Anda melihat ke bawah ke arah bidang x-y pada sudut 30 derajat. Dengan menggunakan view untuk mencoba berbagai variasi sudut pandang memungkinkan Anda untuk melihat grafik dari berbagai sudut pandang. Sebagai contoh, jika ketinggian dibuat negatif, Anda melihat gambar dari bawah. Jika azimuth diset positif, gambar berputar searah jarum jam dari sudut pandang default. Anda bahkan dapat melihat grafik dari sisi atas dengan mengeset sudut pandang dengan view(0,90). Dalam dunia nyata,

Page 35: Grafik Dua Dimensi - Copy

gambar demikian adalah sudut pandang default grafik dua dimensi, dengan sumbu x meningkat dari kiri ke kanan dan sumbu y meningkat dari bawah ke atas. Perintah view(2) adalah perintah yang sama dengan view(0,90), sudut pandang default dua dimensi. Sedangkan view(3) menghasilkan sudut pandang default tiga dimensi view(-37.5,30)

Sedikit contoh dari grafik jala peaks dari berbagai sudut pandnag terdapat pada Color Plate 2 (Color Plate 2 menggantikan Gambar 18.6)

Perintah vieww mempunyai bentuk lain yang mungkin dalam keadaan-keadaan tertentu akan lebih berguna. View([x y z]) menempatkan sudut pandnag Anda paa suatu vektor yang mempunyai koordinat Kartesius (x,y,z) dalam ruang tiga dimensi. Jarak Anda dari pusat koordinat tidak akan terpengaruh. Contoh, view([0 -10 0]), view([0 -1 0]) dan view(0,0) semuanya menghasilkan sudut pandang yang sama. Sebagai tambahan, azimuth dan ketinggian sudut pandang yang sekarang digunakan dapat diperoleh menggunkan [az, tg]=view. Contoh:

EDU» view([-7 -9 7]) %pada suatu garis dari pusat koordinat melalui (-7, -9, 7)

EDU» [az, tg]=view %menemukan azimuth dan ketinggian sudut pandang ini

az =

-37.8750

tg =

31.5475

Alat lain yang sangat berguna untuk melihat grafik tiga dimensi adalah fungsi rotate3d. Azimuth dan ketinggian dapat diset secara interaktif dengan menggunakan mouse. Rotate3d on menghidupkan rotasi sudut pandang berdasar pada mouse, rotate3d off mematikannya. Rotate3d tanpa argumen berfungsi sebagai toggle.

Perintah hidden mengatur penghapusan garis yang tersembunyi. Jika Anda menggambar suatu grafik jala yang saling tumpang-tindih dari sudut pandang Anda (misalnya peaks, atau topi sombrero yang digambar di awal), bagian dari grafik jala yang tersembunyi ialah bagian lain. Bagian yang tersembunyi itu akan dihilangkan. Jika Anda justru memberikan hidden off,

Page 36: Grafik Dua Dimensi - Copy

maka Anda akan dapat melihat bahwa seolah-olah grafik jalanya tembus pandang. Di bawah ini suatu contoh:

EDU» mesh(peaks(20+7) %grafik jala kasar (20), terangkat ke atas

EDU» hold on

EDU» pcolor(peaks(20)) %menambahkan grafik pseudocolor

EDU» hold off

EDU» title(‘Grafik jala dengan hidden on’)

Sekarang, “off”-kan penghilangan garis tersembunyi dan lihat hasilnya:

EDU» hidden off

EDU» title(‘Grafik jala dengan hidden off’)

Anda dapat memilih di antara 3 cara shading utuk garis mesh, surf, pcolor, dan fill: flat, interpolated, dan faceted shading (default). Dengan shading flat, setiap bagian garis dari jala atau jejak permukaan akan memiliki warna tetap. Faceted shading adalah shading datar dengan garis-garis jala berwarna hitam dan bertumpuk-tumpuk. Interpolated shading mempunyai variasi warna bagian garis secara linear.

Cobalah, shading flat, shading interp, dan shading faceted pada grafik jala dan grafik permukaan untuk melihat efeknya.

Page 37: Grafik Dua Dimensi - Copy

18.4 Fasilitas Penggambaran Tiga Dimensi

Fungsi ribbon(x,y) berfungsi sama dengan plot(x,y), kecuali bahwa kolom y digambar dengan tinta terpisah dalam tiga dimensi. Di bawah ini adalah kurva sinus:

EDU» x=linspace(0,2*pi,30); EDU» y=sin(x); EDU» ribbon(x,y) EDU» title(‘Grafik Ribbon sebuat kurva Sinus’) Fungsi clabel akan menambahkan label ketinggian untuk grafik kontur. Terdapat tiga

bentuk: clabel(cs,’manual’). Clabel(cs) dengan cs adalah struktur kontur yang dihasilkan oleh suatu perintah contour, yaitu cs=contour(z), memberi label seluruh grafik kontur dnegan ketinggian masing-masing. Posisi label dipilih secara random, clabel(c,V) hanya memilih tingkat kontur yang diberikan dalam vektor V. Clabel(c,’manual’) mnempatkan label kontur pada posisi yang diklik dengan mouse, mirip dengan perintah ginput yang telah dibahas sebelum ini. penekanan tombol Return akan menghentikan pelabelan.

Fungsi contour akan menggambar suatu grafik kontur; daerah di antara garis-garis kontur akan diisi dengan warna.

Terdapat dua bentuk alternatif perintah mesh. Meshc menggambar grafik jala dan menambahkan grafik kontur di bawahnya. Meshz menggambar grafik jala dan menggambar grafik tirai, atau bidang referensi. Cobalah meshc(peaks) dan meshz(peaks) untuk melihat hasilnya.

Fungsi waterfall hampir mirip dengan mesh, kecuali bahwa garis-garis jala hanya tampak daria arah sumbu x

Terapat dua laternatif bentuk untuk perintah surf, surfc menggambar grafik permukaan dan menambahkan grafik kontur di bawahnya. Surfl menggambar grafik permukaan, tetapi menambahkan pengaturan tampilan permukaan berdasarkan suatu sumber cahaya. Bentuk umumnya adalah surfl(X,Y,Z,S,K) dnegan X,Y dan Z sama seperti pada surf. S adalah vektor opsional dalam Kartesius (S=[Sx Sy Sz]) atau koordinat bola (S=[az, tg]) yang menentukan arah perputaran sumber cahaya. Jika tidak ditentukan, S default adalah 45 derajat berlawanan arah jarum jam dengan sudut pandang yang ada. K adalah vektor opsional yang menentukan kontribusi dari cahaya sekeliling, refleksi dari segala arah, refleksi sebagian, dan penyebaran sebagian koefisien (K=[ka,kd,ks,spread])

EDU» colormap(gray) EDU» surfl(peaks), shading interp EDU» title(‘Grafik surfl dari peaks dengan Pencahayaan Default’)

Page 38: Grafik Dua Dimensi - Copy

Fill3, versi tiga dimensi dari fill, menggambar poligon tiga dimensi terisi dalam ruang tiga dimensi. Bentuk umumnya adalah fill3(x,y,z,c) dengan titik-titik sudut poligon yang ditentukan dengan tiga rangkaian x, y, dan z. Jika perlu, poligon dibuat tertutup dengan menghubungkan titik sudut terakhir dengan titik sudut pertama. Jika c adalah karakter, poligon diisi dengan warna yang telah ditentukan dalam tabel untuk plot. C dapat juga vektor baris RGB ([r g b]) dengan r,g, dan b masing-masing adalah nilai antara 0 samapai dengan 1 yang merepresentasikan kadar warna merah (red), hijau (green), dan biru (blue). Jika c adalah suatu vektor atau suatu matriks, c digunakan suatu indeks untuk suatu peta warna (akan dibahas kemudian). Banyak poligon dapat ditentukan dengan menambahkan argumen lebih banyak lagi: fill3(x1,y1,z1,c1,x2,y2,z2,c2,...). latihan berikut akan mengisi empat segitiga random dengan warna.

EDU» colormap(cool) EDU» fill3(rand(3,4), rand(3,4), rand(3,4), rand(3,4)) Bar3 dan bar3h adalah versi tiga dimensi dari bar dan barh, sedangkan pie3 adalah

versi tiga dimensi dari pie.

18.5 Memahami Peta Warna

Warna dan peta telah disebutkan beberapa kali dalam buku panduan ini. bagian ini akan menjelaskan secara gamblang mengenai warna dan peta warna. MATLAB mendefinisikan peta warna sebagai sebuah matriks tiga kolom. Setiap baris dari matriks tersebutmendefinisikan warna tertentu menggunakan bilangan dalam range antara 0 sampai dengan 1. Bilangan- bilangan tersebut memberi spesifikasi nilai-nilai RGB: yaitu intesitas komponen warna merah(red),hijau(green), dan biru(blue) dari suatu warna. Beberapa sample representatif diberikan dalam tabel berikut ini :

Merah Hijau Biru Warna0 0 0 Hitam1 1 1 Putih1 0 0 Merah0 1 0 Hijau0 0 1 Biru1 1 0 Kuning1 0 1 Magenta0 1 1 Cyan.5 .5 .5 Abu- abu sedang.5 0 0 Merah tua

Page 39: Grafik Dua Dimensi - Copy

1 .62 .40 Merah coklat.49 1 .83 Biru kehijauan

Dibawah ini beberapa fungsi MATLAB yang menghasilkan peta warna yang sudah didefinisikan :

Fungsi Deskripsi Peta WarnaHsv Hot Gray BoneCopper Pink White FlagJetPrismCoolLinesColorcubeSummerAutumnWinterSpring

hue-saturation-value(nilai kejenuhan hue)hitam-merah-kuning-putihskala abu-abu linearskala abu-abu ditambah sedikit warna biruwarna tembaga linearpastel dengan warna-warna merah muda peta warna semuanya putihalternatif merah, putih, biru, dan hitamsuatu variasi dari hvspeta warna prismawarna-warna cyan dan magentapeta warna menggunakan grafik garis warnapeta warna kubus warna disempurnakanwarna-warna hijau dan kuningwarna-warna merah dan kuningwarna-warna biru dan hijauwarna-warna magenta dan kuning

Dalam keadaan default, setiap peta warna dalam tabel akan menghasilkan matriks 64x3, menspesifikasikan deskripski RGB dari 64 buah warna. Masing-masing dari fungsi di atas dapat menerima argumen, menentukan jumlah baris yang akan dihasilkan. Contoh: hot(m) akan menghasilkan matriks mx3 yang memuat nilai-nilai RGB dari warna-warna dengan range hitam melalui merah, oranye, kuning, menuju putih.

Sebagian besar komputer dapat menampilkan sampai 256 warna dalam tabel pencarian warna 8-bit, meskipun beberapa di antaranya bahkan mempunyai kartu display yang dapat menangani lebih banyak warna sekaligus. Ini berarti bahwa secara normal, sampai dengan tiga atau empat 64x3 peta warna dapat digunakan pada saat yang bersamaan dalam gambar-gambar yang berbeda. Jika lebih banyak entri peta warna digunakan, komputer biasanya harus menukar warna-warna dalam tabel pencarian hardware. Oleh karena itu, hati-hatilah menjaga jumlah warna keseluruhan dalam peta warna yang berbeda dalam suatu saat tetap di bawah 256.

18.6 Menggunakan Peta Warna

Statemen colormap(M) menempatkan matriks M pada peta warna untuk digunakan oleh gambar-gambar yang aktif. Sebagai contoh : colormap(cool) akan menempatkan peta warna cool yang berisi 64 entri.

Fungsi plot dan plot3 tidak menggunakan peta warna : mereka hanya menggunakan warna yang ada dalam daftar plot, penandaan, dan style garis. Namun sebagian besar fungsi-fungsi

Page 40: Grafik Dua Dimensi - Copy

grafis yang lain seperti mesh, surf, contour, fill, pcolor, dan variasi-variasinya menggunakan peta warna yang aktif.

Fungsi yang menggunakan warna sebagai argumen biasanya menerima argumen dalam suatu dari tiga bentuk : karakter string yang mempresentasikan salah satu warna dalam tabel warna-warna plot, penandaan, dan style garis, misalnya ‘r’; atau suatu vektor kolom atau suatu matrik. Jika argumen warna adalah vektor dan kolom atau matriks, elemen-elemennya diberi skala dan digunakan sebagai indeks bagi matriks peta warna aktif.

Di bawah ini adalah satu contoh penggunaan argumen warna bagi fungsi surf untuk menunjukkan sudut pandang sebagai warna :

EDU » [ X, Y, Z]=peaks(30);

EDU » surf ( X, Y, Z, a tan2 ( X,Y) )

EDU » colormap (hsv), shading flat

EDU » axis ( [ -3 3 -3 3 -6.5 8.1 ] ), axis off

EDU » title ( ‘ menggunakan satu argumen warna untuk surf ‘ )

menggunakan satu argumen warna untuk surf

Gambar 18.13

Sudut pandang lain juga menarik adalah melihat permukaan sisi dari atas. Cobalah ini :

EDU » view(2)

18.7 Menggunakan Warna Untuk Menambahkan Informasi

Page 41: Grafik Dua Dimensi - Copy

Warna dapat digunakan untuk menambahkan informasi pada grafik tiga dimensi sehingga grafik tersebut dapat menampilkan variasi dimensi keempat. Fungsi-fungsi seperti mesh dan surf memberi variasi warna sepanjang sumbu z, kecuali bila suatu argumen diberikan, misalnya surf ( X, Y, Z ) yang sama dengan surf ( X, Y, Z ,Z). Argumen keempat tersebut digunakan sebagai indeks bagi peta warna. Hal demikian akan membuat suatu grafik menjadi penuh warna, tetapi tidak mengandung informasi baru karena sumbu z telah ada.

Di bawah ini beberapa cara untuk menggunakan argumen warna guna menambahkan informasi baru atau menekankan suatu informasi yang telah ada di dalam grafik berikut (Color Plate3 menggantikan gambar 18.17).

EDU» x=-7.5:.5:7.5; y=x %membuat himpunan data

EDU» [X,Y]=meshgrid(x,y); %menciptakan petak-petak data

EDU» R=sqrt(X.^2+Y.^2)+eps; %menciptakan jari-jari data

EDU» Z=sin(R)./R; %menciptakan sombrero

EDU» subplot(2,2,1), surf(X,Y,Z),

EDU» title(‘Warna bervariasi sesuai dengan sumbu Z’)

EDU» subplot(2,2,2), surf(X,Y,Z,R)

EDU» title(‘Warna bervariasi sesuai-dengan radius’)

EDU» subplot(2,2,3), surf(X,Y,Z, del2(Z))

EDU» title(‘Warna bervariasi sesuai dengan kurva’)

EDU» [dZdx, dZdy]=gradient(Z); %menghitung kemiringan

EDU» dZ=sqrt(dZdx.^2+dZdy.^2); %menghitung kemiringan

EDU» subplot(2,2,4), surf(X,Y,Z,dZ)

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 21

2

3

4

5

6

7

8

9Menggunakan Pcolor untuk Menampilkan suatu Peta Warna

Page 42: Grafik Dua Dimensi - Copy

EDU» title(‘Warna bervariasi sesuai dengan besarnya kemiringan’)

18.8 Menampilkan Peta Warna

Anda dapat menampilkan peta warna dngan beberapa cara. Salah satu di antaranya adalah dengan melihat elemen dalam matriks peta warna secara langsung:

EDU» hot(8)

ans =

0.3333 0 0

0.6667 0 0

1.0000 0 0

1.0000 0.3333 0

1.0000 0.6667 0

1.0000 1.0000 0

1.0000 1.0000 0.5000

1.0000 1.0000 1.0000

-2

0

2

-2

0

2

-6

-4

-2

0

2

4

6

8

-6

-4

-2

0

2

4

6

8

Gambar 18.15

Sebagai tambahan, fungsi pcolor dapat digunakan untuk menampilkan peta warna. Cobalah contoh berikut ini sebentar. Gunkan berbagai fungsi peta warna dan variasi parameter n:

EDU» n=8;

Page 43: Grafik Dua Dimensi - Copy

EDU» colormap(jet(n))

EDU» pcolor([1:n+1;1:n+1]’)

EDU» title (‘Menggunakan Pcolor untuk Menampilkan suatu Peta Warna’)

Fungsi colorbar menambahka suatu colorbar vertikal atau horizontal (skala warna) pada jendela Figure, menunjukkan pemetaan warna untuk sumbu-sumbu yang ada. Colorbar(‘h’) akan menempatkan colorbar horizontal di bawah grafik Anda. Colorbar(‘v’) akan menempatkan colorbar vertikal di sebelah grafik Anda. Colorbar tanpa argumen akan menempatkan suatu colorbar vertikal jika belum terdapat colorbar, atau membaruhui colorbar yang sudah ada.

EDU» [X,Y,Z]=peaks;

EDU» mesh(X,Y,Z);

EDU» colormap(hsv)

EDU» axis([-3 3 -3 3 -6 8])

EDU» colorbar

Gambar 18.16

18.9 Membuat dan menghapus peta warna

Fakta bahwa peta warna adalah matriks berarti bahwa anda dapat memanipulasinya seperti anda dapat memanipulasi matriks-matriks yang lain. Fungsi brigten mengambil keuntungan dari fakta ini untuk mengatur peta warna dengan menungkatkan atau mengurangi intensitas warna-warna gelap. Brigthen (n) mem-perterang(0<n≤1) atau mempergelap (-1≤n<0) peta warna yang ada. Perintah newmap=brighten(n) menciptakan versi yang telah diperbaiki dari peta warna tertentu tanpa mempengaruhi peta warna yand

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 21

2

3

4

5

6

7

8

9Menggunakan Pcolor untuk Menampilkan suatu Peta Warna

Page 44: Grafik Dua Dimensi - Copy

sedang aktif atau cmap. Bentuk brighten(gcf,n) mem-perterang semua objek dalam jendela figure yang aktif.

Anda dapat membuat peta warna anda sendiri dengan membuat suatu m×3 matriks mymap dan memberikannya pada sistem dengan colormap(mymap). Setiap nilai dalam suatu matriks peta warna harus ada antara 0 dan 1. Jika anda mencoba untuk menggunakan matriks dengan lebih atau kurang dari tiga kolom atau memuat nilai yang kurang dari nol atau lebih besar daripada satu, colormap akan memberikan laporan kesalahan.

Anda dapat menggabungkan peta warna secara aritmatik,meskipun hasilnya kadang-kadang tidak dapat diperkirakan. Contoh, peta yang disebut pik adalah sederhana :

EDU>>pinkmap=sqrt(2/3*gray+1/3*hot) ;

Karena peta warna adalah matriks maka peta warna dapat gambarkan grafiknya. Perintah rbgplot menggambarkan grafik nilai-nilai matriks peta warna, sama seperti cara fungsi plot menggambarkan grafik, tetapi menggunakan warna merah, hijau dan biru untuk garis-garis warna. Cobalah rgbplot(hot). Percobaan akan menunjukan bahwa komponen merah akan meningkat yang pertama kali, kemudian hijau, dan terakhir biru. Rgbplot(gray) menunjukkan bahwa ketiga kolom akan meningkat secara linear sama (ketiga garis saling tumpang tindih). Cobalah rgbplot dengan beberapa peta warnaang lain, seperti jet,hsv, dan prism.

Secara normal, peta wrana menggunakan skala dari nilai-nilai data minimum menuju maksimum; yaitu, seluruh peta warna digunakan untuk mengubah grafik anda. Anda kadang-kadang mungkin ingin ingin untuk mengubah cara penggunaan warna. Fungsi caxis membuat. Anda dapat menggunakan seluruh isi peta warna sebagai himpunan bagian dari range data anda, atau hanya menggunakan sebagaian dari peta warna yang ada untuk seluruh grafik data.

Nilai-nilai cmin dan cmax dihasilkan oleh caxis tanpa argumen. Nilai-nilai tersebut adalah nilai-nilai minimum dan maksimum data anda. Caxis([cmin cmax]) menggunakan seluruh isi peta warna untuk data dalam range antara cmin dan cmax; poin data yang lebih besar dari ccmax akan diubah diantara cmin dan cmax, dan poin data yang lebih besar dari cmax akan diubah diantara cmin dan cmax, dan poin data yang lebih kecil dari cmin akan diubah dengan warna yang bersosiasi dengan cmin. Jika cmin kurang dari min (data) atau cmax lebih besar dari max(data),warna yang berasosiasi dengan cmin atau cmax tidak akan pernah dipergunakan. Caxis(‘auto’) akan mengembalikan nilai-nilai default cmin dan cmax. Contoh berikut diilustrasikan dalam colcor plate4(color plate 4 menggantikan gambar 18. 7b)

EDU>>pcolor ([1:17;1:17]’)

EDU>>title (‘range warna default)

EDU>>colormap(hvs(8))

EDU>> caxis(‘auto’)

EDU>> colorbar

Page 45: Grafik Dua Dimensi - Copy

EDU>> caxis

Ans =

17

Title =range warna yang diperbesar

Seperti dapat anda lihat, seluruh warna dari delapan warna yang ada dalam peta warna yang digunakan untuk seluruh himpunan data:dua bar unuk setiap warna. Jiak warna dipetakan ke nilai-nilai dari -3 sampai dengan 23, hanya lima warna yang akan digunakan dalam grafik seperti akan ditunjukan berikut :

EDU>>title (‘range warna yang diperbesar’)

EDU>>caxis([-3 23]) %memperbesar range warna

EDU>> colorbar %menggambar ulang skala warna

Title=range warna yang dibatasi

Jika warna yang diperbesar pada nila-nilai dari 5-12, semua warna kan digunakan . tetapi data yang kurang dari 5 atau lebih dari 12 akan diwarnai dengan warna yang berasosiasi dengan 5 atau 12 secara 12 berturutan :

EDU>>title (‘range warna yang dibatasi’)

EDU>>caxis ([5 12]) %membatasi rang warna

EDU>> colorbar %menggambar ulang skala warna

Page 46: Grafik Dua Dimensi - Copy

18. 10 Ringkasan

Plot3 adalah versi tiga dimensi dari peritah plot dan digunakan dengan cara yang sama. Plot (x,y,z) akan menggambarkan suatu garis dalam bidang ruang tiga dimensi.

Zlabel digunakan untuk memberi label sumbu z pada grafik tiga dimensi. Perintah axis([xmin xmax ymin ymax zmin zmax]) mengeset batas-batas ketiga

sumbu. Axis(‘ij’) memindahkan pusat koordinat grafik tiga dimensi dan mengubah sumbu y sehingga meningkat dari kiri ke kanan dalam sudut pandang default.

Bentuk tiga dimensi fungsi text, yaitu(x,y,z,S), akan menempatkan karakter string S pada lokasi (x,y,z) pada grafik yang sedang aktif.

Grid segi empat dari poin-poin yang tersebar merata dalam bidang x-y dapat dibuat dengan mudah menggunakan meshgrid [X,Y]=meshgrid(x,y) dengan x dan y adalah vktor, menghasilkan suatu matriks X dengan baris-baris yang merupakan duplikat vektor y. Koordinat (Xij,Yij) merepresentasikan grid segi empat biasa dalam bidang x-y.

Mesh(Z) dengan Z berupa matriks, menggambar grafik jala tiga dimensi dengan perpotongan pada titik (i,j,z,Zij). Argumen warna tambahan bersifat opsional.

Surf adalah versi permukaan dari mesh dan menggunakan argumen-argumen yang sama. Surf menggambar satu grafik jala dan mengisi lubang-lubang jala tersebut dengan warna yang sesuia.

Grafik kontur dapat dihasilkan dengan countour. Fungsi ini menggunakan bentuk umum countour(X,Y,Z,n,S) dengan X dan Y adalah vektor opsional yang menentukan sumbu x dan sumbu y, Z adalah matriks data, n adalah jumlah garis kontur yang akan digambar (opsional), S adalah karakter string yang menentukan warna atau jenis garis, seperti pada perintah plot. Contour3 menggambar kontur dalam ruang tiga dimensi, sedangkan contourf menggambar kontur terisi.

Pseudocolor grafik dapat dihassilkan dengan menggunakan pcolor. Pcolor(C), menghasilkan grafik papan pengecekan dari matriks C dimana nilai elemen-elemen C akan mnentukan warna dari setiap sel grafik. Pcolor(X,Y,C) dengan X atau Y berupa matriks, menggambarkan grafik pseudocolor pada grid yang didefinisikan oleh X dan Y. Pcolor sesungguhnya adalah surf dengan sudut pandang yang diset di atas bidang x-y.

Sudut pandang dari grafik tiga dimensi dapat diatur dengan perintah view(az,tg) dengan az addalah azimuth (sudut dari sumbu y dalam derajat) dan tg adalah ketinggian, yaitu sudut ketinggian (dalam derajat diatas bidang x-y). Bentuk alternatif adalah view([x y z]) dengan (x,y,z) adalah koordinat Kartesius dari pengamat. View(2) mengeset sudut pandang default dua dimensi, yaitu view(0,90). View(3) mengeset sudut pandang default tiga dimensi, yaitu view(-37.5,30).

Azimuth dan ketinggian dapat diset secara interaktif dengan menggunakan mouse yaitu dengan bantuan fungsi rotate3d.

Baris-baris yang tersembunyi dibalik grafik dapat menghilangkan. Hal tersebut diatur dengan fungsi hidden off dan hidden on.

Page 47: Grafik Dua Dimensi - Copy

Bar3, bar3h, pie3, dan fill3 adalah bentuk tiga dimensi yang ekuivalen dengan bar, barh, pie dan fill.

Tiga tipe bayangan dapat digunakan dengan shading flat, shading interp, dan shading feceted.

Suatu peta warna adalah suatu matriks 3 kolom yang baris-barisnya membuat nilai-nilai RGB suatu warna dalam bentuk [r g b].

MATLAB menyediakan fungsi-fungsi untuk menghasilkan berbagai peta warna, diantaranya hsv, cool, summer, jet, copper, dan banyak lagi yang lain.

Colormap(M) menginstal matriks M sebagai peta warna yang aktif. M harus matriks 3 kolom dan nilai elemn-elemennya haruslah di antara 0 dan 1.

Fungsi yang menggunakan argumen warna biasanya menerima suatu karakter yang merepresentasikan salah satu dari warna-warna yang ada dalam tabel watna fungsi plot, penandaan dan style garis; satu nilai RGB tunggal dalam bentuk [r g b]; atau suatu vektor kolom atau matriks yang elemen-elemennya diskala dan digunkan sebagai indeks untuk peta warna yang aktif.

Warna dapat memberikan informasi tambahan bagi grafik tiga dimensi. Argumen warna bari fungsi-fungsi seperti mesh dan surf dapat digunkan untuk mendeskripsikan beberapa sifat dari data yang tidak dapat dinyatakan dalam tiga sumbu. Dengan kata lain, warna digunakan mendeskripsikan dimensi keempat.

Peta warna dapat ditampilkan dengan melihat elemen-elemen matriks peta warna, menggunakan fungsi pcolor untuk menampilkan colorbar atau menggunakan fungsi colorbar untuk menambahkan suatu skala warna pada grafik yang sudah ada.

Brighten mempengaruhi keterangan peta warna yang ada ,atau menciptakan peta warna baru dari peta warna yang ada.

Peta warna dapat dibuat dengan segala operasi array, dan dapat diinstal dan digunakan selama mereka tersusun dari tiga kolom dan nilai elemen-elemennya terletak di antara 0 dan 1.

Page 48: Grafik Dua Dimensi - Copy

BAB 19

SEL ARRAY DAN STRUKTUR

MATLAB 5 memperkenalkan dua tipe data baru yang bernama Sel Array dan Struktur. Sel array dapat dipandang sebagai array atau kotak-kotak atau kontainer yang dapat memuat data yang berbeda atau tipe data MATLAB yang lain. Bayangkan kotak-kotak surat yang terdapat di Kantor Pos: setiap kotak surat memuat berbagai jenis surat dengan jumlah yang berbeda. Dengan cara yang sama, setiap sel dalam array dapat memuat data yang mungkin saja berbeda baik jenis maupun ukurannya. Struktur adalah konstruksi data berorientasi array dengan field-field bernama yang dapat memuat segala jenis data, termasuk didalamnya sel array dan bahkan struktur yang lain. Struktur menyediakan cara untuk mengelompokkan data-data yang berdata baru ini, sel array dan struktur, akan memampukan Anda untuk untuk mengorganisasikan data-data MATLAB kedalam paket-paket yang sesuai.

19.1 Sel Array

Sel array adalah suatu yang elemennya berupa sel. Setiap sel dalam sel array dapat memuat semua jenis tipe MATLAB, meliputi array, teks, objek simbolik, sel array, dan struktur. Sebagai contoh, satu sel dari sebuah sel array mungkin memuat array numerik, sel yang memuat teks string, dan sel yang lainnya lagi memuat vector dengan nilai-nilai kompleks. Sel array dapat berukuran lebih dari dua dimensi; namun untuk menghemat tempat, contoh-contoh dalam bab ini dibatasi sampai dua dimensi saja.

Page 49: Grafik Dua Dimensi - Copy

19.5 Sel Array yang Memuat Karakter String

Sel array sangat sering digunakan dalam penciptaan teks array. Array standar berisi karakter string yang dibatasi syarat bahwa semua string harus mempunyai panjang yang sama. Karena sel array dapat memuat tipe-tipe data yang berbeda dalam setiap elemen, teks string dalam sel array tidak dibatasi oleh syarat di atas. Contoh:

EDU>>T={‘Tom’; ‘Dick’; ‘Harry Smith’; ‘Mohamad’; ‘Suzanne’}

‘Tom’

‘Dick’

‘Harry Smitch”

‘Mohamad’

“Suzanne’

T dan elemen-elemennya dapat digunakan di manapun suatu teks string atau beberapa baris teks diperlukan. Untuk informasi lebih jelas tentang sel array berisi string, lihat kembali Bab 9.

19.6 Struktur

Struktur adalah objek MATLAB dengan “container data” yang dinamakan field. Seperti elemen-elemen suatu array, field dari suatu struktur dapat memuat jenis tipe data. Perbedaannyua adalah bahwa field dari struktur diakses dengan namanya, bukan dengan indeks, serta tidak terdapat batasan tambahan pada jumlah atau konfigurasi field-field suatu struktur. Seperti sel array struktur dapat memuat struktur lain dan dimasukkan pada array atau

Page 50: Grafik Dua Dimensi - Copy

sel array. Seperti semua objek MATLAB, struktur-struktur array 1x1, sama seperti bilangan 3.25 adalah array numerik 1x1.

19.7 Menciptakan Struktur

Notasi dot digunakan untuk mengakses field-field struktur. Penciptaan suatu struktur dapat dilakukan sesederhana mengisikan suatu data suatu field. Contoh berikut ini menciptakan suatu catatan klien untuk pengetesan laboratorium.

EDU>> client.name=’John Doe’;

EDU>>client.cost=86.50;

EDU>>client.test.ALC=[6.3 6.8 7.1 7.0 6.7 6.5 6.3 6.1 6.4];

EDU>>client.test.CHC=[2.8 3.4 3.6 4.1 3.5];

EDU>> client

client =

nama: ‘John Doe’

biaya: 86.5000

tes : [1x1 struct]

EDU>> client.test

Ans=

ALC: [6.3000 6.8000 7.1000 7 6.7000 6.5000 6.3000 6.1000 6.4000]

CHC: [2.8000 3.4000 3.6000 4.1000 3.5000]

Sekarang, buat catatan klien yang kedua.

EDU>> client(2).name =’Alice Smith’;

EDU>> client(2).cost=112.35;

EDU>> client(2).test.ALC=[5.3 5.8 7.0 6.5 6.7 5.5 6.0 5.9 6.1]

EDU>> client(2).test.CHC=[3.8 3.6 3.2 3.1 2.5]

Page 51: Grafik Dua Dimensi - Copy

EDU>> client

Client =

1x2 struct array with fields:name

cost

test

Jika Anda memperbesar suatu struktur array, MATLAB mengisi field-field yang belum terisi dengan matriks numeric kosong sehingga seluruh struktur dalam array memiliki jumlah dan nama field sama.

Struktur juga dapat diciptakan dengan menggunakan fungsi struct untuk mengalokasikan lebih dulu suatu array yang berisi struktur. Sintaksnya adalah struct(‘field1’, V1, ‘filed2’, V2,…) dengan field1, field2 dst adalah nama-nama field, dan array V1, V2 dst harus berupa sel array berukuran sama, sel scalar, atau nilai tunggal. Sebagai contoh, suatu struktur array dapat dibuat sebagai berikut:

EDU>> N={‘John Doe’, ‘Alice Smith’}

EDU>> C={86.50, 112.35}

EDU>> P={[10.00 20.00 45.00], [100.00 12.35]};

EDU>> bills=struct (‘name’,N,’cost’,C,’payment’,P)

bills =

1x2 struct array with fields:

name

cost

payment