Jumat, 20 Januari 2017

VISUALISASI DIAGRAM PEWARNAAN (BAB 3)

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) 


Tidak ada komentar:

Posting Komentar

Pengantar Komputasi Modern Tugas 2

I. PENGERTIAN DAN PENDAHULUAN CLOUD COMPUTING Cloud computing  (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer ...