Bab 3
PENERAPAN VISUALISASI DIAGRAM PEWARNAAN DALAM
SOFTWARE
3.1
Software Untuk Cubehelix
Cubehelix
adalah sebuah plot command yang mudah dan berdasarkan gnuplot, juga merupakan
skema warna yang di gunakan untuk menampilkan gambar intensitas Astronomi, yang
sifatnya monoton atau hanya dapat meningkatkan kecerahan saat di tampilkan di
greyscale (hitam putih). Biasanya Cubehelix digunakan sebagai alat pembantu
bagi penderita buta warna, pemetaan Negara dan kependudukan, menentukan kontur,
dan degradasi warna.
Software
yang di gunakan biasanya berbentuk scientific plotting. Sebuah teknik grafis
untuk mewakili satu set data, biasanya sebagai grafik yang menunjukkan hubungan
antara dua variabel atau lebih. Fungsi merencanakan beroperasi pada frame data
dan array yang berisi seluruh dataset dan internal melakukan agregasi
diperlukan dan statistik model pas untuk menghasilkan plot informatif. Plot
dapat di gambar dengan tangan atau oleh plotter mekanik atau elektronik.
Grafik
adalah representasi visual dari hubungan antara variabel. Grafik juga dapat
digunakan untuk membaca nilai variabel yang tidak diketahui diplot. Grafik
fungsi dapat digunakan dalam matematika, ilmu pengetahuan, teknik, teknologi,
keuangan, dan lain lain. Plot memainkan peran penting dalam statistik dan
analisis data. Prosedur di sini dapat secara luas dibagi menjadi dua bagian :
kuantitatif dan grafis. Teknik kuantitatif adalah serangkaian prosedur
statistik yang menghasilkan keluaran numerik atau tabular.
Contoh
dari teknik kuantitatif :
• Uji hipotesa
•
Analisi varian
•
Estimasi titik dan
•
Interval Kuadrat regresi
Prosedur
grafis seperti plot adalah jalan singkat untuk mendapatkan wawasan ke dalam
kumpulan data dalam hal asumsi pengujian, pemilihan model, validasi model,
pemilihan estimator, identifikasi hubungan, faktor penentuan efek, deteksi
outlier. Grafik statistik memberikan wawasan aspek struktur yang mendasari
data.Beberapa fungsi petak langsung ke matplotlib sebuah kapak objek, sementara
yang lain beroperasi pada sosok seluruh dan menghasilkan plot dengan beberapa
panel. Dalam kasus terakhir, plot diambil menggunakan benda Grid yang
menghubungkan struktur sosok dengan struktur dataset dengan cara yang
abstrak.
3.2
Veusz
Veusz
merupakan salah satu jenis scientific plotting, aplikasi ini didirikan oleh QT
company yang merupakan salah satu perusahaan perangkat lunak. Aplikasi Veusz
ini di buat dengan bahasa pemrograman pyhton, PyQt dan NumPy. Software ini
tersedia secara gratis bagi siapa saja untuk mendistribusikan di bawah ketentuan
GPL (General Public License) yang banyak digunakan untuk lisensi perangkat
lunak yang tidak berbayar atau gratis, yang menjamin para pengguna (individu,
organisasi, perusahaan) dalam kebebasan untuk menjalakan, studi,
menyebarluaskan dan memodifikasi suatu prangkat lunak atau software. Hal ini di
rancang untuk menghasilkan publikasi plots yang berkualitas.
Veusz
memiliki plot pencar, dengan bar error opsional (dari beberapa jenis),
bergabung dengan garis atau kurva beziers), mengisi dan transparansi, dan
memungkinkan untuk kesenjangan dalam data. Veusz juga mendukung merencanakan
fungsi (yang dapat didefinisikan dengan menggunakan fungsi numpy atau di modul
python eksternal), histogram (yang dapat dihitung dari data), plot kontur
(termasuk tingkat sub-kontur dan kontur berlabel), kunci data otomatis, plot
gambar ( dengan peta yang berbeda warna), bar warna, bentuk (termasuk panah)
dan file gambar eksternal. Plot yang dibangun dari satu set merencanakan widget
yang dapat ditambahkan ke dokumen dan yang sifat yang diedit menggunakan
ainterfaces yang konsisten.
Fitur-fitur
yang tersedia di dalam veusz antara lain:
•
Plotting features
• X-Y
plots (with errorbars, colours and sizes)
• Line
and function plots
•
Contour plots Images (with colour mappings and colorbars)
•
Stepped plots (for histograms)
• Bar
graphs
•
Vector field plots
• Box
plots
• Polar
plots
•
Ternary plots
•
Plotting dates
•
Fitting functions to data
•
Stacked plots and arrays of plots
•
Nested plots
• Plot
keys
• Plot
labels
•
Shapes and arrows on plots
•
LaTeX-like formatting for text
•
Multiple axes
• Axes
with steps in axis scale (broken axes)
• Axes
scales using functional forms, optionally linked to another axis
•
Plotting functions of datasets
• Input
and output
•
EPS/PDF/PNG/SVG/EMF export
•
Dataset creation/manipulation
• Embed
Veusz within other programs
• Text,
CSV, HDF5, FITS, NPY/NPZ, QDP, binary and user-plugin importing
• Data
can be captured from external sources
•
Extending
• Use
as a Python 2/3 module
• User
defined functions, constants and can import external Python functions
•
Plugin interface to allow user to write or load code to
•
Import data using new formats
• Make
new datasets, optionally linked to existing datasets
•
Arbitrarily manipulate the document
•
Scripting interface Control with DBUS and SAMP
• Other
features
• Data
picker
•
Interactive tutorial
•
Multithreaded rendering
Veusz
dipublikasikan pertama kali tahun 2005 tepatnya pada tanggal 13 maret 2005
dengan versi 0.4 dan terus menerus di kembangkan beberapa versi terbaru dari
veusz
•
Version 1.23.2 di rilis tanggal 2015-12-24
•
Version 1.23.1 di rilis tanggal 2015-06-18
•
Version 1.23 di rilis tanggal 2015-04-18
•
Version 1.22 di rilis tanggal 2014-10-18
3.2.1
Fungsi Veusz
Tampilan
awal dari software veusz
Tombol-tombol
yang berada di dalam program veusz antara lain :
• Menu
Bar.
• File
: di dalam menu File terdapat New, Open, Save, Save as, Print, Eksport, Close
window, Quit.
• Edit
: Di dalam menu Edit terdapat Undo, Redo add, Select, Preferences, Default
style, Custom definition, Cut, Copy, Paste, Move up, Move down, Delete,
Rename.
• View
: Di dalam menu View terdapat Windows, Zoom in, Zoom out, Zoom 1:1, Zoom to width,
Zoom to height, Zoom to page, Previous page, Next page, Full screen, Select
items or scroll, Read data points, Zoom graph.
•
Insert : Di dalam menu Insert terdapat Add page, Add grid, Add graph, Axis, Add
xy, Add bar, Add fit, Add function, Add boxplot, Add image, Add contour, Add
vectorfield, Add key, Add label, Add color bar, Add polar, Add ternary,
Shape.
• Data
: Di dalam menu Data terdapat Opreation, Import, Editor, Create, Create 2D,
Capture, Filter, Histogram, Reload.
• Tools
: Di dalam menu Tools terdapat Colors, General, Widget.
• Help
: Di dalam menu Help terdapat Home page, GNA Project page, Suggestions and
bugs, Tutorial, Example documents, About.
3.2.2
Pemanfaatan Veusz
Manfaat
perangkat lunak veusz ini sendiri yaitu sebagai postscript yang dapat
dipublikasikan, dan dirancang untuk membuat PDF dan SVG output, yang merupakan
paket plot ilmu pengetahuan. Paket tersebut tertanam dalam script Python yang
dapat membuat script yang akan diberikan dengan antarmuka grafis yang mudah
digunakan dan antarmuka baris perintah. Hal ini dibangun dimasing-masing
komponen grafik secara modular. Dan dapat mengubah maupun mengatur data secara
interaktif atau dapat dibuat dari dalam program.
Perangkat
lunak ini juga sangat membantu dan bermanfaat bagi semua system operasi baik
itu, Microsoft, Linux, Mac IOS, dan system operasi yang lain. Perangkat ini pun
sangat memudahkan bagi para pekerja, hampir disemua bidang untuk membuat suatu
grafik dengan kontur-konturnya, karena kita hanya tinggal memasukan dataset
yang telah kita buat kedalam veusz dan jadilah sebuah plot ataupun grafik yang
diinginkan.
Namun
yang paling penting adalah pemanfaatan perangkat lunak ini (veusz) untuk
cubehelix. Veusz begitu sangat membantu dalam pembuatan plot dan grafik-grafik
yang begitu merumitkan. Veusz mengandung titik picker untuk mengidentifikasi
titik-titik pada grafik. Dan menurut data, titik warna widget pada Plot Data
dapat diatur.sehingga cubehelix membantu merubah warna titik-titik pada setiap
plot ataupun grafik pada veusz. Dengan begitu para programmar atau orang yang
memakai perangkat lunak ini, tidak perlu pusing memikirkan warna di setiap
titik-titik warna pada plot mereka, karena ketika dataset dimasukkan kita dapat
mengatur warna yang diinginkan pada bagian pnegaturan titik widget.
3.3
Microsoft Excel
Microsoft
Excel atau Microsoft Office Excel adalah sebuah program aplikasi lembar kerja
spreadsheet yang dibuat dan didistribusikan oleh Microsoft Corporation yang
dapat dijalankan pada Microsoft Windows dan Mac OS. Aplikasi ini memiliki fitur
kalkulasi dan pembuatan grafik yang, dengan menggunakan strategi marketing
Microsoft yang agresif, menjadikan Microsoft Excel sebagai salah satu program
komputer yang populer digunakan di dalam komputer mikro hingga saat ini.
Bahkan, saat ini program ini merupakan program spreadsheet paling banyak
digunakan oleh banyak pihak, baik di platform PC berbasis Windows maupun
platform Macintosh berbasis Mac OS, semenjak versi 5.0 diterbitkan pada tahun
1993. Aplikasi ini merupakan bagian dari Microsoft Office System, dan versi
terakhir adalah versi Microsoft Office Excel 2013 yang diintegrasikan di dalam
paket Microsoft Office System 2013.
3.4
Matlab
MATLAB
(Matrix Laboratory) adalah sebuah lingkungan komputasi numerikal dan bahasa pemrograman
komputer generasi keempat. Dikembangkan oleh The MathWorks, MATLAB bersifat
extensible dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk
ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak
dapat melakukan tugas tertentu. MATLAB (Matrix Laboratory) yang merupakan
bahasa pemrograman tingkat tinggi berbasis pada matriks sering digunakan untuk
teknik komputasi numerik, yang digunakan untuk menyelesaikan masalah-masalah
yang melibatkan operasi matematika elemen, matrik, optimasi, aproksimasi dll.
Meskipun hanya bernuansa numerik, sebuah kotak kakas (toolbox) yang menggunakan
mesin simbolik MuPAD, memungkinkan akses terhadap kemampuan aljabar komputer.
Sebuah paket tambahan, Simulink, menambahkan simulasi gra#s multiranah dan
Desain Berdasar-Model untuk sistem terlekat dan dinamik.
MATLAB
pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga spesialisasi
Little), tapi lalu menyebar secara cepat ke berbagai bidang lain. Kini juga
digunakan di bidang pendidikan, khususnya dalam pengajaran aljabar linear dan
analisis numerik, serta populer di kalangan ilmuwan yang menekuni bidang
pengolahan citra.
MATLAB
memiliki beberapa Toolbox, yaitu:
•
Toolbox Control System Merupakan perintah untuk membantu dalam penyelesaianteori
teknik sistem kendali.
•
Toolbox Signal Processing Merupakan perintah untuk membantu dalam penyelesaian
proses sinyal digital.
•
Toolbox Optimization Merupakan perintah untuk membantu dalam penyelesaian
optimasi fungsi umum non linier dan linier.
3.4.1
Toolbox Control System
Pada
Toolbox ini akan memberikan algoritma standar industri dan aplikasi untuk
sistematis menganalisis, merancang, dan tuning sistem kontrol linier. Disini
kita dapat menentukan sistemnya sebagai transfer function, state-space,
pole-zero-gain, or frequency-response model. Aplikasi dan fungsi seperti
langkah respon plot dan bode plot dapat memvisualisasikan perilaku sistem dalam
domain waktu dan domain frekuensi. Anda dapat mengatur parameter kompensator
otomatis menggunakan kontroler PID tuning, Bode lingkaran membentuk metode akar
lokus, LQR / LQG desain, dan teknik interaktif dan otomatis lainnya. Anda dapat
memvalidasi desain Anda dengan memverifikasi waktu naik, overshoot, settling
time, keuntungan dan margin fase, dan persyaratan lainnya.
3.4.2
Toolbox Signal Processing
Pada
Toolbox ini akan memberikan algoritma standar industri dan aplikasi untuk
analog dan digital signal processing (DSP). Anda dapat menggunakan toolbox
untuk memvisualisasikan sinyal dalam domain waktu dan frekuensi, menghitung
FFTs untuk analisis spektral, desain FIR dan IIR filter, dan menerapkan
konvolusi, modulasi, resampling, dan teknik pemrosesan sinyal lainnya.
Algoritma di toolbox dapat digunakan sebagai dasar untuk mengembangkan algoritma
khusus untuk audio dan pengolahan pidato, instrumentasi, dan baseband
komunikasi nirkabel.
3.4.3
Toolbox Optimization
Toolbox
ini akan memberikan algoritma yang banyak digunakan untuk optimasi standar
maupun besar. Algoritma ini dapat memecahkan masalah diskrit baik dibatasi dan
tidak dibatasi. Optimasi perangkat lunak toolbox ini meliputi fungsi untuk
pemrograman linear, pemrograman kuadratik, integer programming biner, optimasi
nonlinier, nonlinier kuadrat terkecil, sistem persamaan nonlinier, dan optimasi
multiobjective. Dengan menggunakan ini dapat mencari solusi yang optimal,
melakukan analisis tradeoff, menyeimbangkan beberapa alternatif desain, dan
memasukkan metode optimasi menjadi algoritma dan model.
3.4.4
Kelengkapan pada Sistem MATLAB
Sebagai
sebuah sistem, MATLAB tersusun dari 5 bagian utama (Iqbal, 2009):
a.
Development Environment
Merupakan
sekumpulan perangkat dan fasilitas yang membantu anda untuk menggunakan
fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini merupakan sebuah
graphical user interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan
Command Window, command history, sebuah editor dan debugger, dan browsers untuk
melihat help, workspace, files, dan search path.
b.
MATLAB Mathematical Function Library
Merupakan
sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar sepertri: sum,
sin, cos, dan complex arithmetic, sampai dengan fungsi-fungsi yang lebih kompek
seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier
transforms. c. MATLAB Language Merupakan suatu high-level matrix/array language
dengan control flow statements, functions, data structures, input/output, dan
fitur-fitur object-oriented 42 programming. Ini memungkinkan bagi kita untuk
melakukan kedua hal baik "pemrograman dalam lingkup sederhana" untuk
mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih
besar" untuk memperoleh hasil-hasil dan aplikasi yang komplek.
d.
Graphics MATLAB
Memiliki
fasilitas untuk menampilkan vector dan matrics sebagai suatu grafik. Didalamnya
melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi
data dua dimensi dan data tiga dimensi, image processing, animation, dan
presentation graphics.
e.
Grapics User Interface(GUI)
GUI
merupakan kelengkapan dari MATLAB yang memfasilitasi user dalam merancang
desain program yang akan dibuat. Seperti software sejenis yang lain, pada GUI
Builder MATLAB, terdiri atas bagian-bagian sebagai berikut.
1. Nama
File Bagian ini menjelaskan nama file yang sedang aktif atau sedang dibuka oleh
user.
2. Menu
Bar Bagian ini merupakan pusat pengaturan di dalam blank GUI. Menu ini dipakai
untuk mengatur semua yang ada dalam lingkungan kerja GUI Builder. Menu ini juga
dipakai untuk mengelola proses desain aplikasi, serta memberika fasilitas
petunjuk (help).
3.
Speed Bar Speed Bar berfungsi untuk mengakses secara cepat bagi operasi-operasi
yang sering digunakan seperti membuka file, menyimpan file, cut, paste, copy,
mengeksekusi program aplikasi, dan lain-lain.
4. Tool
Bar Bagian ini terletak disebelah kiri jendela utama GUI Builder. Bagian ini
berisi tools atau alat-alat dan memilih objek yang digunakan untuk membuat
program aplikasi.
5.
Bidang Gambar Bidang gambar merupakan bagian yang digunakan untuk mengggambar
atau meletakkan objek-objek yang dipilih dalam proses perancangan aplikasi pada
GUI Builder.
3.4.5
Dokumentasi Matlab
Matlab
memberikan kemudahan bagi para pengguna untuk menemukan bantuan sehubungan
dengan semua fasilitas yang diberikan oleh Matlab. Misalnya, bantuan tentang
bagaimana memulai Matlab pertama kali, trik pemrograman, membuat grafik 2 dan 3
dimensi, menggunakan tool akuisisi data, pengolahan sinyal, penyelesaian
persamaan diferensial parsial.
Untuk
memperoleh bantuan tersebut, kita dapat memilih MATLAB Menu dari menu Help.
Untuk bantuan tentang Matlab sendiri, dibagi atas beberapa bagian seperti:
•
Development Environment, bagian ini akan memberikan informasi yang lengkap
mengenai desktop dari Matlab.
•
Mathematics, bagian yang menjelaskan bagaimana menggunakan fitur yang dimiliki
oleh Matlab untuk dalam mengolah data matematis dan statistik. Isi dalam
bantuan ini dicakup antara lain: Matrks dan aljabar linier, polinomial dan
interpolasi, analisis data dan statistik, fungsi function, matriks jarang
(sparse matrix).
•
Programming and data type, bagian ini menjelaskan bagaimana membuat script dan
fungsi dengan menggunakan Matlab. Bantuan ini mencakup pemrograman M-File,
larik, larik multidimensi, optimalisai performance Matlab, tip pemrograman
Matlab.
•
Graphics, bagian ini menjelaskan tentang bagaimana membuat atau mengeplot
grafik dari data yang kita miliki. Yang termasuk dalam bagian ini antara lain,
dasar-dasar pengeplotan, format grafik, membuat grafik khusus misalnya grafik
dalam bentuk bar, histogram, contour dan lain-lain.
• 3-D
Visualization, bagian ini menjelaskan dengan tuntas bagaimana menampilkan data
yang kita miliki dalam grafik 3 dimensi, termasuk didalamnya membuat grafik 3D,
menentukan tampilan objek, transparansi objek, lighting dan lain-lain.
•
Creating Graphical User Interfaces, bagian ini menjelaskan bagaimana kita dapat
membuat GUI (Graphical User Interface) berbasis Matlab.
MATLAB
memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik.
Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk
visualisasi data dua dimensi dan data tiga dimensi, image processing,
animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah
yang memungkinkan bagi anda untuk membiasakan diri untuk memunculkan grafik
mulai dari bentuk yang sederhana sampai dengan tingkatan graphical user
interfaces pada aplikasi MATLAB.
MATLAB
juga Merupakan suatu library yang memungkinkan program yang telah ditulis dalam
bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan
fasilitas untuk pemanggilan routines dari MATLAB (dynamic linking), pemanggilan
MATLAB sebagai sebuah computational engine, dan untuk membaca dan menuliskan
MAT-files.
MATLAB
dibuat dengan mengacu pada bahasa MATLAB, kadang-kadang disebut M-code atau M
saja. Cara termudah mengeksekusi (menjalankan) M-code adalah dengan
mengetikkannya secara langsung di prompt pada jendela Command Window, sebuah
elemen UI di desktop MATLAB. Dengan cara ini, MATLAB dapat digunakan sebagai
shell (pengeksekusi perintah) matematis yang interaktif. Urutan-urutan perintah
yang lebih kompleks dapat disimpan dan dimasukkan ke dalam sebuah M-file,
dengan menggunakan MATLAB Editor, sebagai skrip sehingga dapat memperluas
perintah-perintah yang tersedia.
3.4.6
Lingkungan Kerja Matlab
Secara
umum lingkungan kerja Matlab terdiri dari tiga bagian yang penting yaitu:
•
Command Windows
Windows
ini muncul pertama kali ketika kita menjalankan program Matlab. Command windows
digunakan untuk menjalankan perintah-perintah Matlab, memanggil tool Matlab
seperti editor, fasilitas help, model simulink, dan lain-lain. Ciri dari
windows ini adalah adanya prompt (tanda lebih besar) yang menyatakan Matlab
siap menerima perintah. Perintah tersebut dapat berupa fungsi-fungsi bawaan
(toolbox) Matlab itu sendiri.
Workspace:
Menampilkan semua variable yang pernah dibuat meliputi nama variable, ukuran,
jumlah byte dan class.
Command
History : Menampilkan perintah-perintah yang telah diketikkan pada command
Window
•
Editor Windows
Windows
ini merupakan tool yang disediakan oleh Matlab yang berfungsi sebagai editor
script Matlab (listing perintah-perintah yang harus dilakukan oleh Matlab). Ada
dua cara untuk membuka editor ini, yaitu:
1. Klik
: File, lalu New dan kemudian M-File
2.
Ketik p ada command windows : ”edit”
Secara
formal suatu script merupakan suatu file eksternal yang berisi tulisan perintah
MatLAb. Tetapi script tersebut bukan merupakan suatu fungsi. Ketika anda
menjalankan suatu script, perintah di dalamnya dieksekusi seperti ketika
dimasukkan langsung pada MatLAb melalui keyboard. M-file selain dipakai sebagai
penamaan file juga bisa dipakai untuk menamakan fungsi, sehingga fungsi fungsi
yang kita buat di jendela editor bisa di simpan dengan ektensi .m sama dengan
file yang kita panggi dijendela editor. Saat kita menggunakan fungsi Matlab
seperti inv, abs, cos, sin dan sqrt, matlab menerima variabel berdasarkan
variabel yang kita berikan. Fungsi M-file mirip dengan script file dimana
keduanya merupakan file teks dengan ektensi .m sebagaimana script M-file,
fungsi m-file tidak dimasukkan dalam jendela command window tetapi file
tersendiri yang dibuat dengan editor teks. Membentuk dan menjalankan M-File:
– Klik
menu File , pilih New dan klik M-File
– Pada
editor teks, tulis argumen atau perintah
–
Simpan dengan cara klik File , pilih Save As dan beri nama dengan ekstensi
.m
–
Pastikan file yang akan dijalankan berada pada direktori aktif
–
Misalkan file graf1.m berada di C:\MATLAB, maka lakukan perintah cd
–
>> cd c:\matlab
–
Kemudian jalankan file graf1.m dengan cara
–
>> graf1
•
Figure Windows
Windows
ini merupakan hasil visualisasi dari script Matlab. Matlab memberikan kemudahan
bagi programmer untuk mengedit windows ini sekaligus memberikan program khusus
untuk itu, sehingga selain berfungsi sebagai visualisasi output yang berupa
grafik juga sekaligus menjadi media input yang interaktif.
•
Simulink windows
Windows
ini umumnya digunakan untuk mensimulasikan system kendali berdasarkan blok
diagram yang telah diketahui. Untuk mengoperasikannya ketik “simulink” pada
command windows.
•
Graphics
MATLAB
memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik.
Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk
visualisasi data dua dimensi dan data tiga dimensi, image processing,
animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah
yang memungkinkan bagi anda untuk membiasakan diri untuk memunculkan grafik
mulai dari bentuk yang sederhana sampai dengan tingkatan graphical user
interfaces pada aplikasi MATLAB.
•
MATLAB Application Program Interface (API)
Merupakan
suatu library yang memungkinkan program yang telah ditulis dalam bahasa C dan
Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk
pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB sebagai
sebuah computational engine, dan untuk membaca dan menuliskan MAT-files. MATLAB
dibuat dengan mengacu pada bahasa MATLAB, kadang-kadang disebut M-code atau M
saja. Cara termudah mengeksekusi (menjalankan) M-code adalah dengan
mengetikkannya secara langsung di prompt pada jendela Command Window, sebuah
elemen UI di desktop MATLAB. Dengan cara ini, MATLAB dapat digunakan sebagai
shell (pengeksekusi perintah) matematis yang interaktif. Urutan-urutan perintah
yang lebih kompleks dapat disimpan dan dimasukkan ke dalam sebuah M-file,
dengan menggunakan MATLAB Editor, sebagai skrip sehingga dapat memperluas
perintah-perintah yang tersedia. Variabel Variabel didefinisikan dengan
operator assignment, =. Perintah pada MATLAB bisa diketik secara dinamis, dalam
artian variabel-variabel dapat langsung diisi tanpa mendefinisikan jenisnya
terlebih dahulu, kecuali bila variabel tersebut merupakan objek simbolis. Nilai
yang diisikan ke sebuah variabel dapat berupa konstan, yang didapat dari hasil
perhitungan yang melibatkan variabel lainnya, atau dari keluaran suatu fungsi.
Contohnya:
>>
x = 17
x =
17
>>
x = ‘hat’
x =
hat
>>
x = [3*4, pi/2]
x =
12.0000 1.5708
>>
y = 3*sin(x)
y =
-1.6097 3.0000
Vektor/Matriks
dalam MATLAB
MATLAB
adalah sebuah “Matrix Laboratory”, dan karenanya ia menyediakan berbagai cara
untuk membuat matriks dengan dimensi berbeda-beda. Menurut gaya bahasa di dalam
MATLAB, sebuah vektor mengacu pada sebuah matriks satu dimensi (1×N or N×1),
yang biasanya disebut sebagai sebuah array di bahasa pemrograman lainnya.
Sebuah matriks umumnya multi-dimensional, yang artinya terdiri dari satu/lebih
dimensi, contohnya sebuah matriks N×M, matriks N×M×L, dsb, dimana N, M, and L
lebih besar dari 1. Di bahasa lain, matriks seperti ini dapat dilukiskan
sebagai array dari array-array, atau array dari array-array dari array-array,
atau array multi-dimensi saja. Untuk membuat array yang sederhana di MATLAB,
sintaks penulisan perintahnya adalah nilai awal:langkah:nilai akhir.
Contohnya:
perintah
>> array = 1:2:9 array = 1 3 5 7 9 akan membuat sebuah variabel bernama
array dengan isi 1, 3, 5, 7 dan 9. Yaitu, sebuah array dengan nilai awal 1,
dengan nilai selanjutnya berjarak 2 dari sebelumnya, kemudian berhenti ketika
sampai ke 9.
a.
Vektor
Baris
vektor adalah daftar angka-angka yang dipisahkan oleh koma (,) atau spasi.
Jumlah masukan dikenal sebagai panjang vektor. Masukan harus ditulis dalam
tanda kurung siku ([]).
b.
Matriks
Dapat
diasumsikan bahwa didalam MATLAB setiap data akan disimpan dalam bentuk
matriks. Dalam membuat suatu data matriks pada MATLAB, setiap isi data harus
dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk
membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik
koma’ (;) untuk memisahkan data tiap barisnya. MATLAB menyediakan beberapa
fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk matriks yang
diinginkan. Fungsi-fungsi tersebut antara lain: · zeros : untuk membuat matriks
yang semua datanya bernilai 0 · ones : matriks yang semua datanya bernilai 1 ·
rand : matriks dengan data random dengan menggunakan distribusi uniform · randn
: matris dengan data random dengan menggunakan distribusi normal · eye : untuk
menghasilkan matriks identitas
3.4.7
Grafik
Salah
satu keunggulan MATLAB ialah kemampuannya dalam menampilkan/mengolah grafik dan
suara dengan command yang sederhana dan fleksibel. Kita akan belajar mengenai
visualisasi data (plot grafik 2-dimensi dan 3-dimensi), serta penyuaraan.
Dengan bahasa pemrograman MATLAB, data hasil pengukuran atau hasil analisa
dapat divisualisasikan dalam bentuk grafik 2 dimensi atau 3 dimensi. Fungsi
untuk menggambarkan data dalam bentuk grafik 2 Dimensi. Yaitu: perintah plot,
perintah yang akan memvisualisasikan data perkawanan satu satu antara data pada
variabel dependen dengan data pada variabel independen. Bebera fungsi
penggambar grafik lainnya yang mirip dengan plot adalah bar dan stairs. MATLAB
juga mampu menggambarkan suata data yang berbentuk medan dalam bentuk 2D.
Banyak perintah yang dapat digunakan dua diantaranya adalah: menggambar kontur
dari medan contour dan menggambar sebaran dari medan pcolor(Z). Praktikum kali
ini akan mempelajari cara menggambarkan grafik 2 dimensi dengan MATLAB Integral
dengan batas tertentu atau luas daerah dibawah kurva dalam range yang finitive
dapat ditentukan dengan tiga buah fungsi yang dimiliki matlab yaitu :
trapz
quad
quad8
fungsi
trapz mendekati integral dengan metode trapesium, sedangkan quad berdasar pada
metode quadratude. Kebalikan dari integral, diferensial membahas fungsi dalam
satu selang yang sangat sempit. Dengan sedikit modifikasi deretan data dapat
dideferensial dengan fungsi yang dimiliki MATLAB yaitu polyval dan polyder.
3.5
Menggunakan HTML dan Java Sricpt
HyperText
Markup Language (HTML) adalah sebuah bahasa markah yang digunakan untuk membuat
sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah
web Internet dan pemformatan hiperteks sederhana yang ditulis dalam berkas
format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan
kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan
dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah
HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia
penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup
Language), HTML adalah sebuah standar yang digunakan secara luas untuk
menampilkan halaman web. HTML 7saat ini merupakan standar Internet yang
didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium
(W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee Robert ketika
mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika
energi tinggi di Jenewa).
JavaScript
adalah bahasa skrip yang populer di internet dan dapat bekerja di sebagian
besar penjelajah web populer seperti Internet Explorer (IE), Mozilla Firefox,
Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman web
menggunakan tag SCRIPT. JavaScript pertama kali dikembangkan oleh Brendan Eich
dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi
LiveScript, dan akhirnya menjadi JavaScript. Navigator sebelumnya telah
mendukung Java untuk lebih bisa dimanfaatkan para programmer yang non-Java.
Maka dikembangkanlah bahasa pemrograman bernama LiveScript untuk mengakomodasi
hal tersebut. Bahasa pemrograman inilah yang akhirnya berkembang dan diberi
nama JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan
JavaScript. JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk
membuat efek rollover baik di gambar maupun teks, dan yang penting juga adalah
untuk membuat AJAX. JavaScript adalah bahasa yang digunakan untuk AJAX.
CONTOH
1 DENGAN HTML & JS (pada file index1.html)
<!DOCTYPE
html>
<meta
charset="utf-8">
<style>
canvas
{
width:
960px;
height:
500px;
}
</style>
<canvas
width="960" height="1">
<script
src="d3.v3.min.js">
</script>
<script
src="cubehelix.js">
</script>
<script>
var
canvas = document.querySelector("canvas"),
width =
canvas.width,
color =
d3.scale.cubehelix().domain([0, width - 1]),
context
= canvas.getContext("2d"),
image =
context.createImageData(width, 1);
for
(var i = 1, j = 0, c; i < width; ++i) {
c =
d3.rgb(color(i));
image.data[++j]
= c.r;
image.data[++j]
= c.g;
image.data[++j]
= c.b;
image.data[++j]
= 255;
}
context.putImageData(image,
0, 0);
</script>
#d3.v3.min.js
(untuk mengkoneksikan cubehelix.js dengan index1.html)
Output
CONTOH
2 (pada file index2.html)
<!DOCTYPE
html>
<meta
charset="utf-8">
<style>
body
{
font-family:
"Helvetica Neue", Helvetica, Arial, sans-serif;
}
.ramp
{
position:
absolute;
}
.ramp
div {
position:
absolute;
top: 0;
right:
20px;
}
.ramp[name='Reversed']
div {
color:
#fff;
}
</style>
<body>
<script
src="d3.v3.min.js">
</script>
<script
src="cubehelix.js">
</script>
<script>
var
ramps = [
{
name:
"Default",
color:
d3.scale.cubehelix()
},
{
name:
"Reversed",
color:
d3.scale.cubehelix()
.domain([1,
0])
},
{ name:
"Hue [276°, 96°]",
color:
d3.scale.cubehelix()
.range([d3.hsl(276,
.6, 0), d3.hsl(96, .6, 1)])
},
{
name:
"Hue [-120°, 60°]",
color:
d3.scale.cubehelix()
.range([d3.hsl(-120,
.6, 0), d3.hsl(60, .6, 1)])
},
{
name:
"Hue [-40°, 60°, 160]",
color:
d3.scale.cubehelix()
.domain([0,
.5, 1])
.range([d3.hsl(-40,
.6, .3), d3.hsl(60, .6, 1), d3.hsl(160, .5, .3)])
},
{
name:
"Rainbow",
color:
d3.scale.cubehelix()
.range([d3.hsl(270,
.75, .35), d3.hsl(70, 1.5, .8)])
}
];
var y =
d3.scale.ordinal()
.domain(ramps.map(function(d)
{ return d.name; }))
.rangeRoundBands([0,
500], .1);
var
margin = y.range()[0],
width =
960 - margin - margin,
height
= y.rangeBand();
var
ramp = d3.select("body").selectAll(".ramp")
.data(ramps)
.enter().append("div")
.attr("class",
"ramp")
.attr("name",
function(d) { return d.name; })
.style("width",
width + "px")
.style("height",
height + "px")
.style("left",
margin + "px")
.style("top",
function(d) { return y(d.name) + "px"; });
var
canvas = ramp.append("canvas")
.attr("width",
width) .attr("height", 1)
.style("width",
width + "px")
.style("height",
height + "px")
.each(function(d)
{
var
context = this.getContext("2d"),
image =
context.createImageData(width, 1);
for
(var i = 1, j = 0, c; i < width; ++i) {
c =
d3.rgb(d.color(i / (width - 1)));
image.data[++j]
= c.r;
image.data[++j]
= c.g;
image.data[++j]
= c.b;
image.data[++j]
= 255;
}
context.putImageData(image,
0, 0);
});
ramp.append("div")
.style("line-height",
height + "px")
.text(function(d)
{ return d.name; });
</script>
Output
3.6
Penerapan Cubehelix pada Python
Contoh
3 dengan menggunakan python.
kode
pada cubehelix.py (berfungsi sebagai lib)
# -*-
coding: utf-8 -*-
from
matplotlib.colors import LinearSegmentedColormap as LSC
from
math import pi
import
numpy as np
def
cmap(start=0.5, rot=-1.5, gamma=1.0, reverse=False, nlev=256.,
minSat=1.2,
maxSat=1.2, minLight=0., maxLight=1.,
**kwargs):
“””
Sebuah
implementasi penuh Dave Green "cubehelix" untuk Matplotlib
Berdasarkan
FORTRAN 77 kode yang tersedia di T.H.E. Hijau 2011, BASI, 39, 289.
http://adsabs.harvard.edu/abs/2011arXiv1108.5083G.
Pengguna
dapat mengatur semua parameter dari algoritma cubehelix.
Hal ini
memungkinkan fleksibilitas yang lebih besar dalam memilih peta warna, sementara
selalu memastikan timbangan peta warna dalam intensitas dari hitam putih.
Beberapa
contoh sederhana:
Pengaturan
peta warna standar menghasilkan standar "cubehelix".
Buat
warna peta hanya biru dengan menetapkan busuk = 0 dan mulai = 0.
Buat
terbalik (putih menjadi hitam) mundur melalui pelangi sekali dengan menetapkan
busuk = 1 dan reverse = True.
-----------
Parameter
-----------
Start :
scala, opsional
Mengatur
posisi awal dalam ruang warna. 0 = biru, 1 = merah, 2 = hijau. Standarnya
0,5.
Rot :
skalar, opsional
Jumlah
rotasi melalui pelangi. Bisa positif atau negatif, menunjukkan arah pelangi.
nilai negatif sesuai dengan biru> merah arah. Standarnya -1.5 gamma :
skalar, opsional
Koreksi
gamma untuk intensitas. Standarnya 1.0
reverse
: boolean, opsional
Set to
True to reverse the color map. Will go from black to white. Good for density
plots where shade~density. Defaults to False
nlev:
skalar, opsional
Mendefinisikan
jumlah tingkat diskrit untuk membuat warna pada. Standarnya 256.
Sat :
skalar, opsional
Intensitas
saturasi faktor. Standarnya 1.2
CATATAN
: ini sebelumnya dikenal sebagai "warna" parameter
minSat
: skalar, opsional
Menetapkan
saturasi minimum tingkat. Standarnya 1.2
maxSat
: skalar, opsional
Menetapkan
saturasi maksimum tingkat. Standarnya 1.2
StartHue
: scalar, opsional
Mengatur
warna awal, mulai dari [0, 360], seperti pada versi D3 oleh @mbostock
CATATAN:
mengabaikan nilai dalam parameter awal Warna
endHue
: scalar, optional
Mengatur
warna berakhir, mulai dari [0, 360], seperti pada D3 versi oleh @mbostock
CATATAN:
mengabaikan nilai dalam parameter busuk
minLight:
skalar, opsional
Menetapkan
nilai minimum ringan. Standarnya 0.
maxLight
: skalar, opsional Menetapkan nilai maksimum ringan. Standarnya 1.
-------
Returns
-------
matplotlib.colors.Linear
Segmented Peta berwarna objek
--------
Example
-------
>>>
Impor cubehelix
>>>
Impor matplotlib.pyplot as plt
>>>
Impor numpy sebagai np
>>>
X = np.random.randn (1000)
>>>
Y = np.random.randn (1000)
>>>
Cx = cubehelix.cmap (mulai = 0., Busuk = -0,5)
>>>
Plt.hexbin (x, y, gridsize = 50, Cmap = cx)
---------
Revision
---------
2014-04
(jradavenport) Porting dari versi IDL
2014-04
(jradavenport) Ditambahkan kwargs mengaktifkan mirip dengan versi D3, Nama
berubah dari "hue" parameter untuk "sat"
“””
#
menimpa awal dan membusuk jika mulai warna dan berakhir warna ditetapkan
if
kwargs is not None: if ’startHue’ in kwargs:
start =
(kwargs.get(’startHue’) / 360. - 1.) * 3.
if
’endHue’ in kwargs:
rot =
kwargs.get(’endHue’) / 360. - start / 3. - 1.
if
’sat’ in kwargs:
minSat
= kwargs.get(’sat’)
maxSat
= kwargs.get(’sat’)
#setup
parameter
fract =
np.linspace(minLight, maxLight, nlev)
angle =
2.0 * pi * (start / 3.0 + rot * fract + 1.)
fract =
fract**gamma
satar =
np.linspace(minSat, maxSat, nlev)
amp =
satar * fract * (1. - fract) / 2.
#
komputer vektor RGB menurut persamaan utama
red =
fract + amp * (-0.14861 * np.cos(angle) + 1.78277 * np.sin(angle))
grn =
fract + amp * (-0.29227 * np.cos(angle) - 0.90649 * np.sin(angle))
blu =
fract + amp * (1.97294 * np.cos(angle))
#
menemukan di mana RBB berada di luar jangkauan [0,1], klip
red[np.where((red
> 1.))] = 1.
grn[np.where((grn
> 1.))] = 1.
blu[np.where((blu
> 1.))] = 1.
red[np.where((red
< 0.))] = 0.
grn[np.where((grn
< 0.))] = 0.
blu[np.where((blu
< 0.))] = 0.
#
opsional warna terbalik
if
reverse is True:
red =
red[::-1]
blu =
blu[::-1]
grn =
grn[::-1]
#masukkan
ke dalam tuple dan struktur kamus dibutuhkan
rr =
[]
bb = []
gg = []
for k
in range(0, int(nlev)):
rr.append((float(k)
/ (nlev - 1.), red[k], red[k]))
bb.append((float(k)
/ (nlev - 1.), blu[k], blu[k]))
gg.append((float(k)
/ (nlev - 1.), grn[k], grn[k]))
cdict =
{’red’: rr, ’blue’: bb, ’green’: gg}
return
LSC(’cubehelix_map’, cdict)
kode
pada setup.py (konfigurasinya)
#!/usr/bin/env
python
#
encoding: utf-8
import
os
from
setuptools import setup
def
read(fname):
return
open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(
name="cubehelix",
version="0.1.0",
author="",
#
author_email="",
description="Cubehelix
colormaps for matplotlib",
long_description=read(’README.md’),
#
license="BSD",
py_modules=[’cubehelix’],
classifiers=[
"Development
Status :: 3 - Alpha",
"Topic
:: Scientific/Engineering :: Visualization",
#
"License :: OSI Approved :: BSD License",
]
)
kode
pada test.py
import
numpy as np
import
matplotlib.pyplot as plt
import
cubehelix
# set
up some simple data to plot
x =
np.random.randn(10000)
y =
np.random.randn(10000)
cx1 =
cubehelix.cmap
(startHue=240,endHue=-300,minSat=1,maxSat=2.5,minLight=.3,maxLight=.8,gamma=.9)
plt.hexbin(x,y,gridsize=50,cmap=cx1)
plt.colorbar(
)
#plt.savefig(’rainbow.png’)
Cara
menjalankan nya
Penggunaan
dasar
import
cubehelix
cx =
cubehelix.cmap(start=0., rot=-0.5)
plot(x,cmap=cx)
Instalasi
• Place
cubehelix.py in your Python path.
From
source::
setup.py
install
or with
pip:: pip install git+git://github.com/jradavenport/cubehelix.git
beberapa
contoh sederhana cubehelix:
•
Pengaturan peta warna standar menghasilkan "cubehelix":
cubehelix.cmap()
• Buat
warna peta hanya biru: cubehelix.cmap(rot=0, start=0)
• Buat
terbalik (putih menjadi hitam) mundur melalui pelangi once:
cubehelix.cmap(rot=1,
reverse=True)
•
Similar to Matteo Niccoli’s perceptual
rainbow:cubehelix.cmap
(startHue=240,endHue=-300,minSat=1,maxSat=2.5,minLight=.3,maxLight=.8,gamma=.9)











Komentar
Posting Komentar