BAB I
PENDAHULUAN
1.1 latar belakang
Matlab adalah singkatan dari Matrix Laboratory, software yang dibuat
dengan menggunakan bahasa ini dibuat oleh The [Link] dan telah
memilki berbagai versi, kekuatan matlab terletak pada :
1.
2.
3.
4.
Kemudahan manipulasi struktur matriks.
Jumlah routine-routine powerful yang berlimpah yang terus berkembang.
Kekuatan fasilitas grafik tiga dimensi yang sangat memadai.
Sistem scripting yang memberikan keleluasaan bagi pengguna
mengembangkan dan memodifikasi software untuk kebutuhan sendiri.
5. Kemampuan interface( misal dengan bahasa C, word dan mathematica).
6. Dilengkapi dengan toolbox, simulink, stateflow dan sebagainya,
Serta mulai melimpahnya source code di internet yang dibuat dalam
matlab( contoh toolbox misalnya : signal processing, control system, neural
networks dan sebagainya). Semua itu merupakan perangkat yang powerful untuk
menyelesaikan permasalahan sains dan teknik terutama untuk wilayah dimana
komputasi numerik harus dibuat.
Salah satu yang cukup menarik dari matlab ini adalah kemudahan dan
kejelasannya dalam memahami contoh dan demo serta help yang ada pada matlab.
Kita akan berkenalan lebih dekat dengan yang satu ini. Kita bisa lihat dari demo
ini ternyata begitu banyak persoalan yang dapat dibangun dengan matlab dengan
cara lebih mudah dan lebih singkat, tanpa mengurangi kepahaman kita pada suatu
persoalan(bisa dibandingkan dengan bahasa C, pascal, delphi atau visual lainnya).
Dengan dilengkapinya matlab dengan toolbox, simulink dan sebagainya maka
semakin menambah kekuatan matlab untuk menyelesaikan permasalahan yang
rumit menjadi lebih mudah
1.2 Tujuan Pratikum
1. Mahasiswa mampu mengoperasikan MATLAB dan memanfaatkannya
sebagai perangkat Simulasi untuk praktikum Sinyal dan Sistem,Metode
Numeris(Akar-akar persamaan serta Sistem Persaman Linier)
2. Mahasiswa dapat menyelesaikan pemasalahan dalam metode numerit
dengan mengunakan sistem MATLAB.
3. Mempelajari penggunaan sistem help untuk mengetahui commands dan
syntax dasar MATLAB
4. Dapat menggunakan MATLAB untuk desain filter
5. Memudahkan mahasiswa dalam menyelesaikan permasalahan yang
berbasis data dan program.
1.3 Manfaat Praktikum
Adapun maksud dan tujuan dari pembuatan laporan Praktikum ini adalah :
1. Mampu melakukan perhitungan matematis dengan menggunakan matlab
2. Mampu membuat program dengan kondisi IFEND, FOR END,
WHILEEND, POLIVAL, POLIDER, dan sebagainya.
3. Mampu menggambarkan plot atau grafik dari suatu fungsi atau sistem
persamaan dengan menggunakan matlab.
4. Mampu menyelesaikan sistem persamaan linear seperti metode Setengah
interval, metode inperpolasi linear, metode newton raphson, metode
secant, metode iterasi dan sistem persamaan Linier dengan aplikasi matlab.
BAB II
LANDASAN TEORI
2.1 Metode Numerik
Persoalan yang melibatkan model matematika banyak muncul dalam berbagai
disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada
persoalan rekayasa (engineering), seperti Teknik Sipil, Teknik Mesin, Elektro,
Teknik Informatika dan sebagainya. Seringkali model matematika tersebut
muncul dalam bentuk yang tidak ideal alias rumit. Model matematika yang rumit
ini adakalanya tidak dapat diselesaikan dengan metode analitik yang sudah umum
untuk mendapatkan solusi sejatinya (exact solution). Yang dimaksud dengan
metode analitik adalah metode penyelesaian model matematika dengan rumusrumus aljabar yang sudah baku (lazim).
Bila metode analitik tidak dapat lagi diterapkan, maka solusi persoalan
sebenarnya masih dapat dicari dengan menggunakan metode numerik. Metode
numerik adalah teknik yang digunakan untuk memformulasikan persoalan
matematik sehingga dapat dipecahkan dengan operasi perhitungan/aritmetika
biasa (tambah, kurang, kali, dan bagi). Metode artinya cara, sedangkan numerik
artinya angka. Jadi metode numerik secara harafiah berarti cara berhitung dengan
menggunakan angka-angka.
Perbedaan utama antara metode numerik dengan metode analitik terletak pada
dua hal. Pertama, solusi dengan menggunakan metode numerik selalu berbentuk
angka. Bandingkan dengan metode analitik yang biasanya menghasilkan solusi
dalam bentuk fungsi matematik yang selanjutnya fungsi mateamtik tersebut dapat
dievaluasi untuk menghasilkan nilai dalam bentuk angka.
Kedua, dengan metode numerik, kita hanya memperoleh solusi yang
menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan
juga solusi hampiran (approxomation)atau solusi pendekatan, namun solusi
hampiran dapat dibuat seteliti yang kita inginkan. Solusi hampiran jelas tidak
tepat sama dengan solusi sejati, sehingga ada selisih antara keduanya. Selisih
inilah yang disebut dengan galat (error).
2.2 Pengenalan Matlab
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi
untuk komputasi masalah teknik.
Matlab mengintegrasikan komputasi,
visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai
dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi
matematika yang familiar. Penggunaan Matlab meliputi bidang-bidang:
Matematika dan Komputasi
Pembentukan Algorithm
Akusisi Data
Pemodelan, simulasi, dan pembuatan prototipe
Analisa data, explorasi, dan visualisasi
Grafik Keilmuan dan bidang Rekayasa
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data
dalam suatu array sehingga tidak lagi kita dipusingkan dengan masalah dimensi.
Hal ini memungkinkan kita untuk memecahkan banyak masalah teknis yang
terkait dengan komputasi, kususnya yang berhubungan dengan matrix dan
formulasi vektor, yang mana masalah tersebut merupakan momok apabila kita
harus menyelesaikannya dengan menggunakan bahasa level rendah seperti
Pascall, C dan Basic. Nama MATLAB merupakan singkatan dari matrix
laboratory. MATLAB pada awalnya ditulis untuk memudahkan akses perangkat
lunak matrik yang telah dibentuk oleh LINPACK dan EISPACK. Saat ini
perangkat MATLAB telah menggabung dengan LAPACK dan BLAS library, yang
merupakan satu kesatuan dari sebuah seni tersendiri dalam perangkat lunak untuk
komputasi matrix. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan
perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi
matematika, rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat
pilihan untuk penelitian dengan produktifitas yang tingi, pengembangan dan
analisanya. Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita
kenal dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab,
toolbox mana yang mandukung untuk learn dan apply technologi yang sedang
dipelajarinya. Toolbox toolbox ini merupakan kumpulan dari fungsi-fungsi
MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang
sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal,
system kontrol, neural networks, fuzzy logic, wavelets, dan lain-lain.
2.3 Bagian Dari Sistem MATLAB
Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment.
Merupakan sekumpulan perangkat dan
fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan filefile 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.
2. 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.
3. MATLAB Language. Merupakan suatu high-level matrix/array language
dengan control flow statements, functions, data structures, input/output,
dan fitur-fitur object-oriented 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.
4. 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 dikensi
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
benutk yang sederhana sampai dengan tingkatan graphical user interfaces
pada aplikasi MATLAB anda.
5. MATLAB Application Program Interface (API). Merupakan suatu library
yang memungkinkan program yang telah anda tulis 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.
2. 4 Variabel Dan Opertor
2.4.1 Variabel
Seperti bahasa pemrograman lainnya, matlab pun memiliki variabel, tetapi
dalam penulisannya, variabel di dalam matlab tidak perlu dideklarasikan, karena
matlab mampu mengenali tipe data dari variable dari isi variabel tersebut. Aturan
penulisan variabel pada matlab sama dengan aturan pada bahasa pemrograman
lainnya, yaitu bersifa case sensitive, diawali dengan huruf dan selanjutanya boleh
menggunakan gabungan huruf-angka atau tanda garis bawah. Matlab mampu
mengenali sampai 31 karakter pertama, selanjutnya diabaikan.
Contoh:
>> var1=7.1
var1 =
7.1
>> var_2=[4 6 7]
Var_2 =
4 6 7
Semua tipe data di matlab memiliki bentuk yang sama, yaitu array. Array
minimal berukuran 0x0 dan dapat bertambah menjadi array n x m dimensi dengan
sebarang ukuran. Matlab mempunyai beberapa tipe data dasar (atau class), yaitu:
logical, char, numeric, cell, structure, java classes, function handles.
2.5.2 Operator
Di dalam matlab, operator diklasifikasikan menjadi tiga bagian, yaitu:
a. Operator Arimatika
Operator aritmatika digunakan untuk mengerjakan komputasi numeric.
operto
r
Arti
+
*
.*
Penjumlaha
Pengurangan
Perkalian (aturan matrik)
Perkalian masing-masing ellemen yang
/
./
\
.\
^
.^
:
bersesauian (aturan array)
Pembagian kanan (matrik)
Pembagian kana (array)
Pembagian kiri (matrik)
Pembagian kiri (array)
Perpangkatan (matrik)
Perpangkatan (array)
Langkah
b). Operator Relasional
Operator relasional digunakan untuk membandingkan operand-operand
secara kuantitatif .
Operator Arti
c)
Logika
==
Sama dengan
~=
Tidak sama dengan
<
>
Kurang dari
Lebih dari
<=
Kurang dari sama dengan
>=
Operator
Lebih dari sama dengan
Operator arti
%
Akan menghasilkan nilai 1 jika kedua elemen yang
|
~
xor
bersesuaian memilki nilai true dan 0 untuk lain nya
Akan bernilai 1 jika salh satu elemen nya true
Komplen dari elemen yang di inputkan
Akan bernilai 1 jika salah satu dari kedua elemen
memilki nilai berbeda dan bernilai nol jika sama
Input Data
Terdapat dua cara untuk memasukkan data yaitu:
1. inisialisasi data, dimana data diberikan secara langsung pada saat
pembuatan program
Bentuk umum:
variabel = ekspresi
2. menggunakan perintah input, dimana data diberikan pada saat program dirunning.
Bentuk umum:
variabel = input(text) numerik dan string atau variabel =
input(text, s) string
Pada layar akan tampil apa yang tertulis di antara tanda petik (text), menanti
masukan data yang diikuti dengan menekan enter melalui keyboard
2.6 Mengenal Matlab Dan Dasar Pemrograman
2.6.1 Algoritma dan Flowchart
Algoritma sangat diperlukan dalam menyelesaikan berbagai masalah, salah
satunya dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka
proses pemrograman akan menjadi salah dan tidak efisien. Dalam Algoritma,
tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu,
melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa
pemrograman manapun.
Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu
masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma
harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari
Microsoft Press Computer and Internet Dictionaary 1997, 1998)
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara
[Link] ditekankan pertama adalah alur pikiran, sehingga algoritma
seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan
kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh
Sjukani hal 1)
Contoh Algoritma
Algoritma mengirim surat kepada teman:
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil
atau bilangan genap:
1. Masukkan suatu angka sembarang
2. Bagi bilangan dengan bilangan 2
3. Hitung sisa hasil bagi pada langkah 1.
4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap
tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan
ganjil.
2.6.2 Flowchart
Dalam pembuatan suatu program kita diharuskan untuk terlebih dahulu
membuat suatu urutan langkah pemecahan dalam bentuk diagram yang biasanya
disebut flowchart/diagram alir selain dari algoritma karena setiap program akan
mempunyai langkah-langkah dalam prosesnya dari awal sampai akhir. Antara
algoritma dan flowchart harus sejalan maksudnya mempunyai logika dan urutan
langkah yang [Link] satu kebaikan flowchart adalah karena dalam bentuk
gambar jelas akan lebih mudah dimengerti daripada uraian logika yang berbentuk
teks sehingga tujuan dari flowchart itu sendiri untuk mempermudah dalam
memahami suatu proses secara sederhana, terurai, rapi dan jelas terlebih lagi
untuk proses yang panjang .Begitu juga dengan program yang kita buat pun harus
sesuai dengan logika yang ada dalam flowchart. Karena flowchart merupakan
dasar pemikiran dari proses yang akan dijalankan oleh program.
Di dalamnya akan terdapat beberapa simbol-simbol khusus dan terhubung oleh
suatu garis berarah untuk menunjukkan alur/langkah-langkah instruksi dari
pemrogaman .Tiap simbol mempunyai tujuan dan maksud yang berbeda dalam
penggunaannya. Penggunaan symbol yang tepat akan memudahkan pengguna
dalam memahami logika pemrogaman. Setiap flowchart biasanya diawali dan
diakhiri oleh terminal simbol. Jadi dapat disimpulkan bahwa flowchart adalah
diagram alir yang menggambarkan urutan perintah dan proses pemecahan masalah
dengan menggunakan simbol-simbol tertentu yang sudah standard.
Simbol-simbol pada Flowchart :
Gambar
Keterangan
Menyatakan kegiatan yang akan ditampilkan dalam diagram
alir.
Proses / Langkah dimana perlu adanya keputusan atau
adanya kondisi tertentu. Di titik ini selalu ada dua keluaran
untuk melanjutkan aliran kondisi yang berbeda.
Digunakan untuk mewakili data masuk, atau data keluar.
Menunjukkan awal atau akhir sebuah proses.
Menunjukkan arah aliran proses atau algoritma.
Menunjukkan proses / langkah dimana ada inspeksi atau
pengontrolan.
2.6.3 Memulai Matlab
Matlab pada dasarnya adalah sebuah program komputasi teknis yang di
dalamnya mencakup perhitungan-perhitungan kompleks. Sistem komputasi
Matlab menggunakan basis matrix yang sangat flexibel jika dibanding sistem
yang lain. Untuk memulai Matlab, dapat dengan cara mengeksekusi lambang
Matlab pada dekstop.
Gambar 1.1 Lingkungan Kerja Matlab
Penjelasan:
1. Workspace Window
Berfungsi sebagai navigator bagi pemakai dalam penyediaan
informasi mengenai variabel yang sedang aktif dalam workspace pada
saat pemakaian. Workspace itu sendiri adalah suatu lingkungan abstrak
yang menyimpan seluruh variabel dan perintah yang pernah digunakan
selama penggunaan Matlab berlangsung.
2. Command History Window
Window ini berfungsi sebagai penyimpan perintah-perintah yang
pernah dikerjakan pada suatu workspace. Anda dapat mengulangi
perintah yang telah lalu dengan menekan tombol atas () pada keyboard.
3. Command Window
Window ini berfungsi sebagai penerima perintah dari pemakai
untuk menjalankan seluruh fungsi-fungsi yang disediakan oleh Matlab.
Pada dasarnya window inilah inti dari pemrograman Matlab yang
menjadi salah satu media bagi kita untuk berinteraksi dengan Matlab.
Output dari sebuah running program pada M-file dapat dilihat di sini jika
diperlukan.
4. Current Folder Window
Adalah window yang berfungsi menunjukkan directory dari program
yang kita punya.
5. Matlab Editor Window
Window ini berfungsi untuk membuat skrip program Matlab.
Walaupun skrip program dapat dibuat dengan menggunakan berbagai
editor seperti notepad, wordpad, word dan lain-lain namun sangat
dianjurkan untuk menggunakan Matlab editor ini karena kemampuannya
dalam mendeteksi kesalahan pengetikan sintak berbasis MATLAB oleh
programmer.
Window ini tidak akan muncul dengan sendirinya ketika kita
memulai Matlab. Matlab editor dapat dipanggil dengan mengetikkan edit
pada Command Window ataupun klik pada ikon create new.
2.6.4 Cara Bekerja Dengan Matlab
Ada dua cara untuk melakukan suatu pekerjaan pemrograman menggunakan
Matlab. masing-masing memiliki fungsi dan nilai yang sedikit berbeda.
a. Menggunakan Command Window
Cara ini adlah yang paling sering digunakan oleh pemula. Yaitu
dengan mengetikkkan langsung perhitungan ke dalam Command
Window. Cara ini lazim digunakan untuk perhitungan yang tidak
membutuhkan perubahan dalam variabelnya.
b. Menggunakan M-files
Cara ini biasa dipilih oleh programmer untuk mendapatkan hasil
berupa
executable
files
yang dapat digunakan oleh
user. Kelebihan dari cara
ini
adalah
untuk
kemudahan
mengevaluasi
perintah
secara
keseluruhan. M-files dapat
dibuat dengan menggunakan Matlab editor.
2.6.5 Manajemen File dan Direktori
Jika kita menggunakan M-files,
dan
ingin
memanggilnya
secara
berulang maka kita perlu memanage
direktori yang kita gunakan pada
Matlab. Misalnya kita telah membuat
sebuah file M yang disimpan di
direktori
yang
tidak
diketahui
Matlab, agar file m dapat kita panggil dengan Command Window, maka set
direktori pada Matlab dengan klik toolbar File - Set path akan keluar window
sebagai berikut
Untuk membuat direktori baru maka klik pada Add Folder
Untuk penggunaan M-file secara lengkap dapat dilihat pada Bab berikutnya.
2.7
Variabel dan Operasi Matematika
Untuk penggunaan perhitungan dasar kita dapat menggunakan MATLAB
layaknya kalkulator biasa. Operator matematika dasar yang tersedia pada
MATLAB dapat diketahui pada tabel berikut.
OPERASI
SIMBOL
CONTOH
Penjumlahan
2+3 =5
Pengurangan
2-3 = (-1)
Perkalian
2*3 = 6
Pembagian
2/3 = 0.667
Pembagian
2\3 = 1.5
2^3 = 8
terbalik
Perpangkatan
Hirarki operator mengikuti standar aljabar yang umum kita kenal:
1. Operasi di dalam kurung akan diselesaikan terlebih dahulu
2. Operasi pangkat
3. Operasi perkalian dan pembagian
4. Operasi penjumlahan dan penguragan
Dalam suatu perhitungan matematika, kita tidak akan lepas dari apa
yang disebut dengan variabel. Pada hakikatnya variabel adalah suatu wadah
untuk menyimpan nilai baik berupa bilangan maupun teks. Dalam
MATLAB, ada beberapa ketentuan dalam membuat suatu variabel yaitu:
a. Penamaan variabel harus selalu didahului dengan huruf alfabet (a-z)
setelah itu dapat digunakan angka untuk melengkapi. Contoh: coba1,
coba2, dll
b. Penamaan variabel bersifat case sensitif artinya penggunaan huruf
kapital berpengaruh dalam variabel pada MATLAB
c. Jangan gunakan spasi, titik, koma, atau operator aritmatik sebagai
bagian dari nama variabel
d. Penamaan variabel tidak boleh sama dengan fungsi yang ada pada
matlab. Contoh: int, diff, sins, dll
e. Panjang nama variabel tidak dapat melebihi 31 karakter
Ada dua jenis tipe data yang dapat dimasukkan dalam variabel
MATLAB yaitu tipe data numeric (berupa bilangan) dan tipe data string
(berupa teks). Adapun cara untuk menuliskan suatu variabel adalah sebagai
berikut:
Apabila terdapat variabel lama dengan nama yang sama maka
matlab secara otomatis akan me-replace
variabel baru yang dibuat user. Contoh :
variabel lama tersebut dengan
Pemakaian variabel yang berisi data string (huruf alfabet) harus diapit
dengan tanda petik satu <>. Penggunaan data bertipe string ini berguna pada saat
kita membuat keterangan pada suatu perhitungan dalam m-file.
Berikut ini adalah jenis-jenis variabel yang telah didefinisikan oleh MATLAB :
Nama
Penjelasan
Variabel
ans
Variabel answer digunakan untuk menyimpan data hasil
perhitungan terakhir jika pada perhitungan tersebut tidak
dimasukkan ke dalam sebuah variabel tertentu sebelumnya
eps
Bilangan yang bernilai sangat kecil mendekati nol yang
merupakan batas akurasi perhitungan pada Matlab
Pi
Konstanta bernilai +3.1415926
inf
Variabel infinity bernilai bilangan positif tak berhingga
NaN
Variabel not a number menyatakan hasil perhitungan yang tak
didefinisikan misalkan 0/0
i,j
Unit imajiner yang menyatakan bilangan kompleks misal
1
LATIHAN 1
1. Tentukan valid atau tidaknya variabel-variabel berikut ini :
a. panjang
b. lebar 2
c. 220a3cX99
d. RT:03
e. (^-^)
f. pi
g. 7_manusia_harimau
2.8 Format Tampilan Angka Anda
Dalam perhitungan metode numeris ketelitian merupakan faktor yang
sangat pernting. Seperti yang telah dikemukakan pada bab yang sebelumnya,
MATLAB secara otomatis akan menyederhanakan bentuk tampilan angka hasil
perhitungan dengan menggunakan mantissa exponent .
Angka
Mantissa-exponent
Pada Matlab
789.34
7.8934
7.8934e2
0.0001
1 x 104
1e-4
4 x 100
[Link]
4 x 1011
4e11
Fungsi format dapat memudahkan kita untuk mengatur tampilan output
angka. Meskipun begitu, penggunaan format tidak akan mempengaruhi proses
perhitungan oleh MATLAB. Ada beberapa jenis format yakni :
a. Format short : Menampilkan hasil dengan menggunakan 5 digit angka.
Secara default MATLAB menggunakan format ini sebagai output hasil
perhitungan.
b. Format long : Menampilkan hasil dengan menggunakan 15 digit angka
untuk data ketepatan ganda, dan 7 digit angka untuk data ketepatan
tunggal.
c. Format shorte : Menampilkan hasil dengan menggunakan 5 digit angka
dengan tambahan mantissa exponent,
d. Format longe : Menampilkan hasil dengan menggunakan 15 digit angka
untuk data ketepatan ganda, dan 7 digit angka untuk data ketepatan
tunggal dengan tambahan mantissa exponent,
e. Format shortg : Menampilkan hasil dengan menggunakan 5 digit angka
yang paling tepat
f. Format longg : Menampilkan hasil dengan menggunakan 15 digit angka
untuk data ketepatan ganda, dan 7 digit angka untuk data ketepatan
tunggal yang paling tepat.
g. Format shortg : Menampilkan hasil dengan menggunakan format
engineering
h. Format longg : Menampilkan hasil dengan menggunakan 15 digit angka
untuk data ketepatan ganda, dan 7 digit angka untuk data ketepatan
tunggal dengan menggunakan fiormat engineering
i. Format hex : menampilkan data dengan format hexadesimal
j. Format + : simbol +,-, dan blank ditampilkan untuk bilangan positif,
negatif, dan elemen nol. Sedangkan bilangan imaginer diabaikan
k. Format bank : format angka sebagai dolar dan sen
l. Format rat : menampilkan angka berupa perbandingan bilangan bulat.
>> format short; pi
ans =
3.1416
>> format long; pi
ans =
3.141592653589793
>> format shorte; pi
ans =
3.1416e+000
>> format longe; pi
ans =
3.141592653589793e+000
>> format shortg; pi
ans =
3.1416
>> format longg; pi
ans =
3.14159265358979
>> format shorteng; pi
ans =
3.1416e+000
>> format longeng; pi
ans =
3.14159265358979e+000
>> format hex; pi
ans =
400921fb54442d18
>> format +; pi
ans =
+
>> format rat; pi
ans =
355/113
Catatan : untuk format + hanya akan menampilkan simbol dari angka
yang diformat. Dalam kasus ini, hasil format + dari variabel pi bernilai
positif karena pi pada MATLAB bernilai positif. Hal ini berguna pada
saat kita ingin mencari nilai dari sebuah variabel pada saat penyortiran
data. Metode lain yang dapat digunakan adalah menggunakan perintah
kontrol program seperti if, for dan lainnya dengan aturan variabel > 0
(untuk bilangan positif) dan variabel < 0 (untuk bilangan negatif).
2.9 Teknik Input Data Dari Excel dan Notepad
Untuk data yang berasal dari excel lakukan langkah-langkah berikut ini :
1. Susun tampilan data pada excel
l
2. Rename sheet dengan nama yang anda kehendaki
3. Simpan file excel tersebut di tempat yang anda kehendaki. Dalam contoh
ini file disimpan dengan nama [Link] pada drive E:\
4. Panggil menggunakan perintah xlsread pada matlab
>> xlsread('E:\[Link]','a')
ans =
0.7866 0.0388 0.0000
0.6273 0.0440 0.0000
0.5222 0.0493 0.0000
0.4466 0.0547 0.0000
0.4162 0.0576 0.0000
0.3894 0.0605 0.0000
0.3656
0.3443
0.3251
0.3078
0.2920
0.2776
0.2644
0.0634
0.0663
0.0693
0.0723
0.0754
0.0785
0.0816
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
Ingat bahwa secara otomatis pada MATLAB menampilkan data dengan
format short. Sehingga untuk tampilan data pada kolom ketiga hanya ditampilkan
berupa 0.0000. Untuk menampilkan bentuk yang lain anda dapat menggunakan
perintah format seperti bab sebelumnya
>> format long;ans
ans =
0.786615915402451
0.038831105752995
0.000000000029365
0.627281657925504
0.044043053656179
0.000000000031850
0.522180987847374
0.049337702797045
0.000000000205349
0.446613902339054
0.054735764577287
0.000000001267136
0.416157395886331
0.057577663431926
0.000000003326365
0.389357958015894
0.060451534935954
0.000000008446738
0.365569539853382
0.063359811606476
0.000000020731378
0.344294006585861
0.066303078365165
0.000000048604414
0.325141632457821
0.069283540526830
0.000000107626101
0.307802186264815
0.072301486978705
0.000000223559715
0.292026218293916
0.075359117819080
0.000000435505842
0.277616594971764
0.078456484865595
0.000000800575741
0.264420538348287
0.081595659511887
0.000001403550176
Syntax dasar dari perintah xlsread memiliki beberapa parameter yakni
xlsread(path_file,nama_sheet,range_data_yang_akan_diambil)
Untuk range data contoh a1:b8 hanya akan mengambil data yang berada
pada range tersebut. Sedangkan pada file text sederhana anda dapat menggunakan
perintah importdata. Syntax dasar dari perintah importdata memiliki beberapa
parameter yakni
importdata(nama_file, delimeter)
Parameter delimeter merupakan pembatas antara dua buah data. Berikut
ini langkah-langkah yang diperlukan untuk mengambil data dari file berekstensi
.txt.
1. Persiapkan data anda dengan menggunakan notepad atau text editor
yang lain kemudian simpan pada direktori yang anda kehendaki.
2. Panggil dengan perintah importdata
>> data = importdata('E:\[Link]', '
data =
0.7866 0.0388 0.0000
0.6273 0.0440 0.0000
0.5222 0.0493 0.0000
0.4466 0.0547 0.0000
0.4162 0.0576 0.0000
0.3894 0.0605 0.0000
0.3656 0.0634 0.0000
0.3443 0.0663 0.0000
0.3251 0.0693 0.0000
0.3078 0.0723 0.0000
0.2920 0.0754 0.0000
0.2776 0.0785 0.0000
0.2644 0.0816 0.0000
')
Pada pemanggilan importdata ini digunakan delimeter berupa spasi
karena pada data sebenarnya menggunakan pemisah berupa spasi. Jika saja
pemisah berupa tanda (,) maka sisipkan tanda (,) pada isian delimeter.
2.10
Pembuatan Array Vektor
Variabel dengan tipe data tunggal (skalar) hanya dapat digunakan untuk
meyimpan sebuah nilai saja, sehingga untuk menyimpan beberapa nilai sekaligus
dalam suatu variabel khusus dibutuhkan variableel array atau variabel
[Link] array dapat digunakan untuk menampung banyak data yang
sejenis (numeric / string ) .
Untuk mendeklarasikan sebuah array dapat dilihat pada contoh berikut ini:
>> deret = [1:10]
deret =
1
>> deret2 = [1:2:10]
deret2 =
1
>> deret3 = linspace(1,10,5)
10
deret3 =
1.0000
3.2500
5.5000
7.7500 10.0000
>> deret4 = logspace(1,10,5)
deret4 =
1.0e+010 *
0.0000
0.0000
0.0000
0.0056
1.0000
Keterangan:
1. Pada variabel deret didefinisikan sebagai 1:10, artinya variabel deret
mewakili bilangan mulai dari angka 1 sampai angka 10.
2. Pada variabel deret2 didefinisikan sebagai 1:2:10, artinya variabel
deret2 mewakili bilangan mulai dari angka1 sampai angka 10 dengan
setiap kenaikannya adalah 2 angka.
3. Pada variabel deret3 didefinisikan sebagai linspace(1:10:5), artinya
variabel deret3 mewakili bilangan mulai dari angka1 sampai angka 10
dengan jumlah 5 angka. Script dari fungsi linspace dasarnya adalah
linspace(awal,akhir,jumlahelemen).
4. Pada variabel deret4 didefinisikan sebagai logspace(1:10:5), artinya
variabel deret3 mewakili bilangan dengan interval logaritma 101 dan
diakhiri dengan 1010 dengan jumlah elemen 5.
Penggunaan deret biasanya dipakai
sebagai fungsi waktu. Ada banyak
kegunaannya antara lain pada perhitungan berikut ini:
Untuk memvisualisasikan array yang telah kita buat dapat kita gunakan
fungsi plot sederhana. Contoh :
>> plot(f)
2.11
Matriks Dalam Matlab
Pertama-tama sebelum masuk lebih jauh ke dalam matriks dalam Matlab,
mari kita flashback terlebih dahulu untuk mendalami apa itu matriks sebenarnya.
Matriks adalah susunan segi empat siku-siku dari bilangan-bilangan. Bilanganbilangan dalam susunan tersebut dinamakan entri dalam matriks (Anton, 1988:
22). Jika A adalah sebuah matriks, maka akan meggunakan ij untuk menyatakan
entri yang terdapat di dalam baris i dan kolom j
dari matriks A. Secara umum
matriks dituliskan sebagai berikut:
Matriks di atas disebut matriks berukuran mxn karena memiliki m baris dan
n kolom. Penulisan matriks pada Matlab menggunakan prinsip yang sama dengan
variabel array vektor. Sebagai contoh kita ingin mendeklarasikan matriks M
dengan jumlah baris 4 dan kolom 3 dapat dilihat pada gambar berikut ini:
>> m = [1 2 3; 4 5 6; 7 8 9; 10 11 12 ]
m=
1
4
7
10
2
5
8
11
3
6
9
12
Keterangan untuk penulisan matriks diawali dan diakhiri tanda kurung besar
[]. Untuk menambah atau berganti kolom dapat menggunakan spasi,
sedangkan untuk menambah atau berganti baris dapat menggunakan tanda semi
colon ; . Perintah size(M) digunakan untuk mengetahui dimensi dari matriks M
yaitu [Link] mempunyai banyak sekali jenis diantaranya:
1. Matriks Zero
Matriks ini sesuai dengan namanya memiliki keseluruhan elemen bernilai 0.
Untuk mendeklarasikan matriks zero dalam Matlab dapat menggunakan perintah
zeros.
>> mzero = zeros(5,4)
mzero =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2. Matriks Baris
Matriks baris hanya memiliki satu baris saja, sama dengan array vektor.
Contoh penulisan dari matriks baris:
>> mbaris = [4 2 4 5 2]
mbaris =
4
3. Matriks Kolom
Sama dengan matriks baris, matriks kolom hanya memiliki satu kolom saja.
Penulisan setiap elemen dipisah dengan notasi semi kolon (;).
>> mkolom = [4; 2; 4; 5; 2]
mkolom =
4
2
4
5
2
4. Matriks Ones
Adalah matriks yang semua elemennya bernilai 1. Untuk penulisannya
dalam Matlab dapat menggunakan perintah ones.
>> mones = ones(4,5)
mones =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5. Matriks Diagonal
Merupakan matriks yang elemen di bawah dan di atas diagonal utamanya
bernilai nol, atau dengan kata lain elemen-elemen selain diagonal utamanya
bernilai nol. Untuk dapat membuat suatu matriks diagonal dengan mudah dapat
menggunakan cara di bawah ini
>> vektor_diagonal = [1 2 3 4 5]
vektor_diagonal =
1
>> mdiagonal = diag(vektor_diagonal)
mdiagonal =
1
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
4
0
0
0
0
0
5
6. Matriks Companion
Mencari matriks companion dari u di mana baris pertama dari matriks
tersebut merupakan u(2:n) / u(1) di mana u merupakan vektor dari koefisien
sebuah polinomial. Nilai eigen dari company(u) merupakan akar-akar
penyelesaian dari polinomial tersebut.
A = compan(u)
Contoh diberikan persamaan polinomial (x+2)(x-2) = x 2-4 dapat kita
tuliskan sebagai
>> p = [1 0 4]
p=
1
>> mcompanion = compan(p)
mcompanion =
0 -4
1 0
>> akar = eig(mcompanion)
akar =
0 + 2.0000i
0 - 2.0000i
Hasil pencarian akar yang sama juga dapat dicari dengan perintah root(p).
Untuk lebih detail mengenai polinomial pada Matlab lihat bab 2.9.
7.
Matriks Hadamard
Matriks yang dihasilkan dengan perintah hadamard(n) merupakan matriks
Hadamard pada orde ke-n. Matriks Hadamard merupakan metriks yang terdiri dari
angka 1 dan -1 yang kolom-kolomnya orthogonal. Matriks ini biasa digunakan
dalam beberapa aplikasi diantaranya aplikasi pemroses sinyal dan analisisa
numeris.
Inputan n memiliki syarat utama yakni n > 2 dan n, n/12, atau n/20
merupakan kelipatan 2.
>> n = 8
n
8
>> H = hadamard(n)
H=
1
1
1
1
1
1
1
1
1 1
-1 1
1 -1
-1 -1
1 1
-1 1
1 -1
-1 -1
1 1 1 1
-1 1 -1 1
-1 1 1 -1
1 1 -1 -1
1 -1 -1 -1
-1 -1 1 -1
-1 -1 -1 1
1 -1 1 1
1
-1
-1
1
-1
1
1
-1
Matriks H yang terbentuk sesuai dengan persamaan berikut ini :
H * H = n*I
di mana I = eye(n,n)
8. Matriks Hankel
Matriks Hankel merupakan matriks persegi di mana elemen setelah
antidiagonalnya bernilai 0. Contoh sebuah deret = 1, 8, 3, 0, 3 jika kita buat
matriks Hankel dari deret tersebut nilainya adalah sebagai berikut
>> deret = [1 8 3 0 3]
deret =
1
>> hankel(deret)
ans =
1
8
3
0
3
8
3
0
3
0
3
0
3
0
0
0
3
0
0
0
3
0
0
0
0
Matlab juga memberikan kemudahan bagi kita berupa sortir data yaitu
ketika suatu waktu pada perhitungan dibutuhkan pengambilan salah satu elemen
dari matriks, kita dapat menggunakan cara seperti contoh berikut ini:
Disediakan sebuah matriks M dengan isi sebagai berikut:
>> m = [ 1 2 3; 4 5 6; 7 8 9]
m=
1
4
7
2
5
8
3
6
9
Pada suatu kasus ingin diambil angka 5 maka dapat diambil dengan
mendekarasikan
>> m(2,2)
ans =
5
Untuk mengambil semua elemen pada suatu baris atau kolom dapat
dideklarasikan sebagai berikut
>> m(:,1)
ans =
1
4
7
2.12
Perhitungan Matriks
Perhitungan matriks pada Matlab tidak meninggalkan kaidah
perhitungan matriks yang sesungguhnya. Syarat-syarat perhitungan dalam
matriks antara lain:
a. Penjumlahan dan pengurangan matriks hanya dapat dilakukan apabila
kedua matriks memiliki ukuran atau tipe yang sama. Elemen-elemen
yang dijumlahkan atau dikurangi adalah elemen yang posisi atau letaknya
sama
a11 b11 a 12 b12 a13 b13
a21 b21 a 22 b22 a23 b23
c 11 c 12 c 13
c 21 c 22 c 23
b. Perkalian dan pembagian matriks dengan skalar dapat langsung
dikerjakan
c. Perkalian dan pembagian matriks dengan matriks harus memenuhi syarat
yaitu tiap baris dikalikan dengan tiap kolom, lalu dijumlahkan pada baris
yang sama. Contoh :
][
7 8
1 2 3
9 10
4 5 6
11 12
(17+29+311) (18+ 210+312)
(47+59+ 611) ( 48+510+612)
Untuk mencari determinan dari suatu matriks dapat langsung
menggunakan perintah det(m). Sedangkan perintah inv(m) digunakan
untuk mencari invers dari matriks m. Syarat penggunaan determinan dan
invers adalah matriks yang digunakan berupa matriks persegi.
>> m = [1 5 3; 2 5 3; 1 0 8]
m=
1
2
1
5
5
0
3
3
8
>> det(m)
ans =
-40
>> inv(m)
ans =
-1.0000 1.0000
0
0.3250 -0.1250 -0.0750
0.1250 -0.1250 0.1250
Dalam Matlab matriks yang telah kita buat dapat dibentuk ulang
sesuai dengan yang kita kehendaki. Berikut ini perintah-perintah untuk
membentuk ulang sebuah matriks.
Perintah
Keterangan
fliplr(m)
Menukar posisi elemen matriks m secara melintang. Yakni
elemen sebelah kiri ditukar dengan elemen sebelah kanan
flipud(m)
Menukar posisi elemen matriks m secara membujur. Yakni
elemen sebelah atas ditukar dengan elemen sebelah bawah
rot90(m)
Menukar posisi elemen matriks m dengan rotasi berlawanan
arah jarum jam 900
Reshape(m,brs,
Membuat matriks baru dengan isi yang sama dengan matriks
klm)
m berdimensi brs x klm. Dengan syarat jumlah elemen yang
matriks
baru
sebelumnya
sama
dengan
jumlah
elemen
matriks
m=
1
4
7
2
5
8
3
6
9
>> fliplr(m)
ans =
3
6
9
2
5
8
1
4
7
>> flipud(m)
ans =
7
4
1
8
5
2
9
6
3
>> rot90(m)
ans =
3
2
1
6
5
4
9
8
7
>> reshape(m,1,9)
ans =
1
>> reshape(m,9,1)
ans =
1
4
7
2
5
8
3
6
9
Penjumlahan dua matriks,
terdefinisi jika
A dan
A+B, dan selisih dua matriks,
B berukuran sama.
penjumlahan/pengurangan juga
Namun demikian,
bisa dilakukan antara matriks dengan
skalar. Untuk jelasnya mari kita praktekkan contoh berikut ini.
>> a
a=
1
4
7
2
5
8
3
6
9
>> b
b=
10
13
16
11 12
14 15
17 18
>> b-a
ans =
9
9
9
9
9
9
9
9
9
>> a+201
ans =
202 203 204
205 206 207
208 209 210
>> b-a+32-12
ans =
29
29
29
29
29
29
29
29
29
AB,
Perkalian matriks, misalkan C = AB, terdefinisi jika jumlah kolom
di A sama dengan jumlah baris di B. Selain itu, perkalian juga bisa
dilakukan antara matriks dengan skalar.
>> a = [1 2 3; 4 5 6]
a=
1
4
2
5
3
6
>> b = [7 8; 9 10; 11 12]
b=
7 8
9 10
11 12
>> c = a*b
c=
58 64
139 154
>> d = 9*a
d=
9 18 27
36 45 54
Selain perkalian di atas, dikenal pula perkalian vektor, yaitu: dotproduct (atau disebut juga inner-product), dan cross-product. Dotproduct dan cross-product dihitung berdasarkan formula baku. Misalkan
terdapat dua vektor x = (x1 x2 x3) dan
y = (y1 y2 y3), maka:
dot-product:
x y = x1y1 + x2y2 + x3y3
cross-product: x y = [x2y3 x3y2 x3y1 x1y3 x1y2 x2y1]
Perlu diingat bahwa hasil dot-product berupa skalar, sementara
hasil cross-product berupa vektor.
>> x = [1 2 3]
x=
1
>> y = [4 5 6]
y=
4
>> dot(x,y)
ans =
32
>> cross(x,y)
ans =
-3
-3
Kita sering menemui persamaan linier dengan beberapa variabel.
Di dalam aljabar, solusi persamaan tersebut bisa ditemukan, salah satunya
dengan menggunakan matriks. Misalkan kita tinjau sistem persamaan
linier dengan variabel x1 dan x2.
x1 2 x 2=32
12 x 1 +5 x2 =7
dalam bentuk matriks menjadi
AX = B
][ ] [ ]
1 2 x 1 = 32
12 5 x 2
7
Untuk mencari variabel x1 dan x2 anda dapat menggunakan operasi
X = A-1B. Selain itu dalam Matlab juga menyediakan pembagian terbalik
yang juga dapat digunakan X=A\B. Contoh:
>> A = [1 -2; 12 5]
A=
1 -2
12 5
>> B = [32; 7]
B=
32
7
>> X = inv(A)*B
X=
6.0000
-13.0000
>> X = A\B
X=
6.0000
-13.0000
Salah satu operasi yang penting dalam matriks ialah transposisi,
dituliskan dalam MATLAB dengan operator petik tunggal ( ) dan titikpetik ( . ).
Operasi ini mempertukarkan baris dan kolom dari suatu
matriks atau vektor.
Notasi
Keterangan
Tanda petik Pemberian
tunggal ()
notasi
petik
tunggal pada sebuah variabel
berisi
matriks
akan
menjadikan matriks tersebut
menjadi matriks transpos.
Jika digunakan pada matriks
yang
berisi
kompleks,
selain
bilangan
operasi
transpos juga akan dilakukan
operasi konjugasi
Tanda titik Pemberian notasi titik petik
petik
tunggal pada sebuah variabel
tunggal (.)
berisi
matriks
akan
menjadikan matriks tersebut
menjadi matriks transpos.
Jika digunakan pada matriks
yang
berisi
bilangan
kompleks, akan dilakukan
proses
transpos
konjugasi
>> m = [ 1 2 3; 4 5 6; 7 8 9]
m=
1
4
7
2
5
8
3
6
9
>> n = [4+8i 6+4i; 7-4i 3-8i]
n=
4.0000 + 8.0000i 6.0000 + 4.0000i
7.0000 - 4.0000i 3.0000 - 8.0000i
>> tm = m'
tm =
1
2
3
4
5
6
7
8
9
tanpa
>> tn = n'
tn =
4.0000 - 8.0000i 7.0000 + 4.0000i
6.0000 - 4.0000i 3.0000 + 8.0000i
>> tm2 = m.'
tm2 =
1
2
3
4
5
6
7
8
9
>> tn2 = n.'
tn2 =
4.0000 + 8.0000i 7.0000 - 4.0000i
6.0000 + 4.0000i 3.0000 - 8.0000i
Di dalam Matlab, operasi matematik juga bisa dilakukan elemen-perelemen. Dalam hal ini matriks atau vektor yang terlibat harus berukuran sama.
Operasi
yang bisa dilakukan ialah perkalian/ pembagian, penjumlahan/
pengurangan, serta pangkat. Operator yang digunakan diawali dengan tanda
titik (kecuali penjumlahan/pengurangan), yaitu:
Operator
Keterangan
+-
Penjumlahan
dan
pengurangan pada operasi
elemen per elemen
.* ./ .\
Perkalian, pembagian, dan
pembagian terbalik pada
operasi elemen per elemen
.^
Perpangkatan pada operasi
elemen per elemen
>> a = [1 3 4; 2 1 4; 1 1 1]
a=
1
2
1
3
1
1
4
4
1
>> b = [9 8 125; 64 1 27; 0 90 0]
b=
9 8 125
64 1 27
0 90 0
>> a.*b
ans =
9 24 500
128 1 108
0 90 0
>> a./b
ans =
0.1111 0.3750 0.0320
0.0313 1.0000 0.1481
Inf 0.0111
Inf
>> a.\b
ans =
9.0000 2.6667 31.2500
32.0000 1.0000 6.7500
0 90.0000
0
>> b.^2
ans =
81
4096
64
1
15625
729
8100
>> b.^(1/3)
ans =
2.0801 2.0000
4.0000 1.0000
0 4.4814
5.0000
3.0000
0
LATIHAN 2
1. Buatlah variabel-variabel dengan ketentuan sebagai berikut
a. Sebuah deret D = {1, 4, 7, 10, n}
di mana n = 20
b. Matriks A yang merupakan matriks diagonal dari deret D
2
D 2
(
)
c. Tentukan nilai dari fungsi F D = 2
c. Matriks B =
2. Diketahui 2 buah matriks sebagai berikut
M =
N =
e. M/(N.^2)
f. M * N * 29
3. Selesaikanlah persamaan linier berikut ini
5x + 43y 3z +21v = 430
-11y + 31 = 15x + 11y z
12v +10x = 100 21z
3(x+z-1)-(v/90) = y
Hitunglah :
a. M+N
b. M*N
c. M.*N
d. M./N
2.13
Fungsi Analisis Data
Dalam bab ini, kita akan belajar bagaimana menganalisis dan
memanipulasi data mempergunakan Matlab, terutama untuk perhitungan
statistik: rentang data, maksimum/minimum, rata-rata, deviasi, jumlah
kumulatif, dan sebagainya. Di Matlab fungsi-fungsi statistik semacam ini
telah ada dan bisa digunakan secara fleksibel.
Dalam penjelasan bab ini, x dan y kita misalkan sebagai vektor (baris
ataupun kolom), dan A dan B sebagai matriks mn.
Nilai maksimum dan minimum diperoleh dengan perintah berikut ini:
Perintah
Keterangan
max(m)
Mencari nilai terbesar dari elemen pada variabel x. Jika
variabel m merupakan vektor, hasil pencarian hanya
menampilkan satu hasil. Jika variabel m merupakan
matriks maka akan menghasilkan sebuah vektor di
mana elemennya merupakan nilai terbesar pada setiap
kolom matriks m
max(m1,m2)
Mencari
nilai
terbesar
pada
setiap
elemen
matriks/vektor m1 dan m2 dengan syarat kedua matriks
tersebut memiliki ukuran yang sama
min(m)
Mencari nilai terkecil dari elemen pada variabel x. Jika
variabel m merupakan vektor, hasil pencarian hanya
menampilkan satu hasil. Jika variabel m merupakan
matriks maka akan menghasilkan sebuah vektor di
mana elemennya merupakan nilai terkecil pada setiap
kolom matriks m
min(m1,m2)
Mencari
nilai
terkecil
pada
setiap
elemen
matriks/vektor m1 dan m2 dengan syarat kedua matriks
tersebut memiliki ukuran yang sama
Contoh penggunaan dari fungsi max dan min adalah ketika diketahui data
seperti tabel
di bawah ini
Data Pengambilan Suhu Secara Acak Pada Combustion Chamber (0C)
1230
1331
2134
1645
1123
1647
Data Kekerasan Spesimen Dengan Berbagai Macam Perlakuan Panas dan Variasi Holding
(BHN)
Jenis Perlakuan
5 Menit
10 Menit
20 Menit
Martempering
213
300
245
Normalizing
259
145
156
Annealing
100
113
256
>> data1 = [1230 1331 2134 1645 1123 1647]
data1 =
1230
1331
2134
1645
1123
1647
>> data2 = [213 300 245; 259 145 156; 100 113 256]
data2 =
213 300 245
259 145 156
100 113 256
>> max(data1)
ans =
2134
>> max(data2)
ans =
259 300 256
>> max(data2')
ans =
300 259 256
>> max(max(data2))
ans =
300
Jika kita menggunakan perintah max(data2), Matlab akan menyortir data terbesar
setiap kolomnya. Oleh karena itu untuk mencari data terbesar pada setiap baris kita ubah
terlebih dahulu matriks data2 menjadi data2 transpose. Sedangkan untuk mendapatkan nilai
terbesar pada matriks data2, dapat digunakan perintah max sebanyak dua kali. Untuk
penggunaan perintah min sama dengan penggunaan perintah max.
Berikutnya untuk operasi penjumlahan dapat kita gunakan perintah sum dan
cumsum. Syntaksnya adalah sebagai berikut ini
Perintah
Keterangan
sum(m)
Menjumlahkan isi dari elemen
pada variabel m. Jika variabel
m merupakan vektor, hasil
penjumlahan
hanya
menampilkan satu hasil. Jika
variabel m merupakan matriks
maka
sebuah
akan
menghasilkan
vektor
di
mana
elemennya merupakan hasil
penjumlahan
pada
setiap
kolom matriks m
cumsum(m)
Membuat sebuah matriks atau
vektor baru yang memiliki
ukuran sama dengan variabel
m di mana setiap elemennya
merupakan jumlah kumulatif
dari elemen sebelumnya.
>> sum(data1)
ans =
9110
>> sum(data2)
ans =
572 558 657
>> sum(data2)
ans =
758 560 469
>> sum(sum(data2))
ans =
1787
>> cumsum(data1)
ans =
1230
2561
>> cumsum(data2)
4695
6340
7463
9110
ans =
213 300 245
472 445 401
572 558 657
Sementara itu, produk (perkalian elemen-elemen) vektor dan matriks bisa
diperoleh dengan cara yang mirip
Perintah
Keterangan
prod(m)
Mengalikan isi dari elemen
pada
variabel
variabel
m.
Jika
merupakan
vektor, hasil perkalian hanya
menampilkan satu hasil. Jika
variabel
matriks
merupakan
maka
akan
menghasilkan sebuah vektor
di
mana
elemennya
merupakan hasil perkalian
pada setiap kolom matriks m
cumprod(m)
Membuat
atau
sebuah
vektor
memiliki
baru
ukuran
matriks
yang
sama
dengan variabel m di mana
setiap elemennya merupakan
perkalian
kumulatif
dari
elemen sebelumnya.
>> data1 = [1230 1331 2134 1645 1123 1647]
data1 =
1230
1331
2134
1645
1123
>> data2 = [213 300 245; 259 145 156; 100 113 256]
data2 =
213 300 245
259 145 156
100 113 256
>> prod(data1)
ans =
1.0630e+019
>> prod(data2)
ans =
5516700 4915500
>> prod(data2')
9784320
ans =
15655500
5858580
2892800
>> prod(prod(data2))
ans =
2.65324720856832e+020
>> cumprod(data1)
1647
ans =
Columns 1 through 4
1230
1637130
3493635420
5747030265900
Columns 5 through 6
6.4539149886057e+015
1.06295979862336e+019
>> cumprod(data2)
ans =
213
55167
5516700
300
245
43500
38220
4915500 9784320
Dalam mencari nilai rata-rata pada sebuah kumpulan data berupa matriks maupun
vektor dapat digunakan perintah mean(m). Dengan perhitungan hasil penjumlahan
setiap elemen dibagi dengan banyaknya elemen yang ada. Sedangkan perintah
median(m) dapat digunakan ketika kita membutuhkan nilai tengah dari data-data
tersebut. Nilai simpangan baku dapat diperoleh menggunakan
perintah std(m),
sedangkan nilai variansi dapat diperoleh dengan menggunakan perintah var(m).
Perintah
Keterangan
mean(m)
Mencari
nilai
rata-rata
dari elemen pada variabel
m.
Jika
variabel
merupakan vektor, hasil
perkalian
hanya
menampilkan satu hasil.
Jika
variabel
merupakan matriks maka
akan
menghasilkan
sebuah vektor di mana
elemennya
merupakan
nilai rata-rata pada setiap
kolom matriks m
median(m)
Mencari nilai tengah dari
elemen pada variabel m.
Jika
variabel
merupakan vektor, hasil
perkalian
hanya
menampilkan satu hasil.
Jika
variabel
merupakan matriks maka
akan
menghasilkan
sebuah vektor di mana
elemennya
merupakan
nilai tengah pada setiap
kolom matriks m
std(m)
Mencari standar deviasi
dari elemen pada variabel
m.
Jika
variabel
merupakan vektor, hasil
perkalian
hanya
menampilkan satu hasil.
Jika
variabel
merupakan matriks maka
akan
menghasilkan
sebuah vektor di mana
elemennya
standar
merupakan
deviasi
pada
setiap kolom matriks m
var(m)
Mencari
nilai
variansi
dari elemen pada variabel
m.
Jika
variabel
merupakan vektor, hasil
perkalian
hanya
menampilkan satu hasil.
Jika
variabel
merupakan matriks maka
akan
menghasilkan
sebuah vektor di mana
elemennya
merupakan
nilai variansi pada setiap
kolom matriks m
>> mean(data1)
ans =
1518.33333333333
>> mean(data2)
ans =
190.666666666667
186
219
>> mean(data2')
ans =
252.666666666667
186.666666666667
>> mean(mean(data2))
ans =
198.555555555556
>> median(data1)
ans =
1488
>> median(data2)
ans =
213 145 245
>> median(data2')
156.333333333333
ans =
245 156 113
>> median(median(data2))
ans =
213
>> std(data1)
ans =
370.449276779786
>> std(data2)
ans =
81.8189057207033
100.014998875169
54.8361194834208
62.8834901491109
86.5582655402321
>> std(data2')
ans =
44.0037877157562
>> std(std(data2'))
ans =
21.3222174296588
>> var(data1)
ans =
137232.666666667
>> var(data2)
ans =
6694.33333333333
>> var(data2')
10003
3007
ans =
1936.33333333333
3954.33333333333
7492.33333333333
>> var(var(data2))
ans =
12247953.037037
Dalam suatu proses tertentu dibutuhkan langkah pengurutan data. Perintah untuk
mengurutkan data dapat menggunakan perintah sort(m). Perintah ini mempunyai beberapa
modifikasi dengan penggunaan indeks. Indeks yang terbentuk pada
Perintah
Keterangan
sort(m,
Mengubah urutan isi dari
arah)
elemen pada variabel m.
Jika
variabel
merupakan matriks maka
akan
menghasilkan
sebuah matriks di mana
elemennya
merupakan
hasil urutan pada setiap
kolom matriks m. Isian
arah menentukan jenis
dari arah urutan yang
dapat diisi ascend untuk
urutan dari nilai terkecil
ke besar dan descend
untuk urutan dari nilai
terbesar ke kecil. Secara
default
jika
tidak
didefinisikan maka proses
sortir akan menggunakan
arah secara ascending.
[m2, ind] = Jenis perintah berikut ini
sort(m,
menghasilkan dua vektor
arah)
atau matriks baru dengan
m2
merupakan
vektor
atau matriks hasil proses
penyortiran
dan
ind
merupakan indeks yang
asli urutan sebelumnya.
>> sort(data1)
ans =
1123
1230
1331
1645
1647
2134
1331
1230
1123
1645
1647
2134
>> sort(data1, 'descend')
ans =
2134
1647
1645
>> [y, i] = sort(data1)
y=
1123
1230
1331
i=
5
>> sort(data2, 'ascend')
ans =
100 113 156
213 145 245
259 300 256
>> sort(data2', 'ascend')
ans =
213 145 100
245 156 113
300 259 256
>> [y2, i2] = sort(data2, 'ascend')
y2 =
100 113 156
213 145 245
259 300 256
i2 =
3
1
2
3
2
1
2.16
2
1
3
Polynomial
Suatu polinomial, p(x), berderajat n dinyatakan sebagai sebuah vektor baris p
berukuran n+1. Elemen vektor menunjukkan koefisien dari polinomial yang diurutkan
dari orde tertinggi ke terendah.
p(x) = anxn + an-1xn-1 + + a1x + a0
Pada Matlab dapat dinyatakan sebagai:
p = [ an an-1 a1 a0 ]
Beberapa jenis perhitungan dapat kita aplikasikan pada polinomial di Matlab. Perintah
berikut ini merupakan perintah-perintah yang digunakan untuk menangani polinomial:
Perintah
Keterangan
polyval(p,x)
Mencari
peerhitungan
hasil
dari
polinomial p pada saat
bernilai x.
poly(x)
Mencari
persamaan
polinomial
berdasarkan
akar-akar
yang
telah
diketahui. Masukan data x
berupa vektor yang berisi
akar-akar dari polinom
yang
ingin
dicari
persamaannya
roots(p)
Mencari nilai akar-akar
dari
persamaan
polinomial p. Hasilnya
akan
disajikan
dalam
bentuk vektor.
conv(p,q)
Mencari
hasil perkalian
antara dua polinomial p
dan q
[r,s]
= Mencari hasil pembagian
deconv(p,q)
antara p terhadap q. hasil
dari
pembagian
akan
disimpan pada polinom r,
sedangkan
jika
pembagian
tersebut
mempunyai
sisa
dimasukkan
akan
pada
polinom s.
polyder(p)
Mecari
turunan
dari
polinom p.
Misalkan kita memiliki dua polinomial sebagai berikut:
p(x) = 6x4-2x2+7x ; q(x) = 8x3+2x+9
Dapat kita tuliskan pada Matlab sebagai berikut
>> p = [6 0 -2 7 0]
p=
6
-2
>> q = [8 0 2 9]
q=
8
Pada polinomial p, koefisien x pangkat 3 dan x pangkat 0 bernilai 0. Oleh karena itu
kita isikan 0 pada isian Matlab. Sedangkan pada polinomial q hanya koefisien x pangkat 2
saja yang bernilai 0.
>> polyval(p,2)
ans =
102
>> x = [1:10]
x=
1
10
>> polyval(p,x)
ans =
11 102 489 1532 3735 7746
14357 24504 39267 59870
>> roots(p)
ans =
0
-1.1580
0.5790 + 0.8199i
0.5790 - 0.8199i
>> conv(p,q)
ans =
48
-4 110
-4
-4
63
>> [r,sisa] = deconv(p,q)
r=
0.7500
sisa =
0
0 -3.5000
0.2500
>> poly([2 -2])
ans =
1
-4
>> polyder(p)
ans =
24
-4
Jika dicermati pada contoh koding di atas, input x pada perintah polyval dapat
diisikan berupa vektor. Hasil perkalian antara polinom p dan q jika ditulis ulang adalah pq(x)
= 48x7 4x5 + 110x4 4x3 4x2 + 63x sedangkan pada pembagian menghasilkan polinom
r(x) = 0.75x + 0 sebagai hasil bagi dan polinomial sisa pembagian sisa(x) = 0x4 + 0x3 3.5x2
+ 0.25x + 0. Anda dapat membalik proses pembagian dengan cara
>> conv(q,r)+sisa
ans =
6 0
-2
Sehingga polinom p didapatkan. Perintah poly pada contoh di atas memiliki akar-akar
persamaan x = -2 dan x = 2. Oleh karena itu polinom yang didapatkan adalah x2 4.
2.17
Perintah-Perintah Dasar Matematika
Adapun perintah-perintah dasar operasi matematika dalam matlab secara keseluruhan
adalah sebagai berikut ini:
Perintah
Keterangan
sqrt(x)
Menghitung nilai akar kuadrat dari x
exp(x)
Mencari nilai pangkat natural (ex) dari x
log(x)
Mencari nilai logaritma natural (ln x) dari x
log10(x)
Mencari nilai logaritma berbasis 10 (log10 x)
log2(x)
Mencari nilai logaritma berbasis 2 (log2 x)
sin(x),
cos(x),
tan(x), Merupakan fungsi trigonometri pada Matlab. Input x
cot(x), sec(x), csc(x)
yang digunakan adalah dalam radian.
asin(x), acos(x), atan(x), Merupakan fungsi arcus trigonometri pada Matlab. Input
acot(x), asec(x), acsc(x)
x yang digunakan adalah dalam radian.
sinh(x), cosh(x), tanh(x), Merupakan fungsi trigonometri hiperbolik pada Matlab.
coth(x), sech(x), csch(x)
Input x yang digunakan adalah dalam radian.
asinh(x),
acosh(x), Merupakan fungsi arcus trigonometri hiperbolik pada
atanh(x),
acoth(x), Matlab. Input x yang digunakan adalah dalam radian.
asech(x), acsch(x)
abs(x)
Merupakan nilai absolut dari x. Jika x merupakan
bilangan kompleks, maka yang dicari adalah nilai
magnitude dari x
sign(x)
Perintah signu yang akan bernilai +1 jika x postif, -1
jika x negatif, dan 0 jika x bernilai 0.
round(x)
Mencari pembulatan x ke bilangan bulat terdekat
floor(x)
Mencari pembulatan x ke bilangan bulat terdekat yang
lebih kecil
ceil(x)
Mencari pembulatan x ke bilangan bulat terdekat yang
lebih besar
fix(x)
Mencari pembulatan x ke bilangan bulat terdekat yang
lebih besar jika x positif, dan ke bilangan bulat terdekat
yang lebih kecil jika x negatif
rem(x,y)
Mencari sisa hasil pembagian x terhadap y (x/y)
real(x)
Menghitung komponen riil dari bilangan kompleks x
imag(x)
Mencari komponen imajiner dari bilangan kompleks x
angle(x)
Mencari nilai argument dari bilangan kompleks x
conj(x)
Mencari nilai konjugasi dari bilangan kompleks x
---------------------------------- Metode Regresi Polinomial Order Dua--------Nama = Endah Nurliza-------NIM = 141947810758 ---------------------------------Masukkan Nilai x *dalam bentuk data: [0 1 2 3 4 5 6 7 8 9 10]
Masukkan Nilai y *dalam bentuk data: [4 5 6 7 8 9 10 3 1 2 3]
Masukkan Jumlai Data: 11
xi =
0 1 2 3 4 5 6 7 8 9 107
yi =
4 5 6 7 8 9 10 3 1 2 3:
A=
11
55
385
58
55
385
3025
252
385
3025
25333
1478
Persamaan-1
A=
1.0e+04 *
0.0001
0.0005
0.0035
0.0005
0.0055
0.0385
0.3025
0.0252
0.0385
0.3025
2.5333
0.1478
0.0035
0.0005
Persamaan-2
A=
1.0e+04 *
0.0001
0
0.0005
0.0385
0.0110
0.1100 -0.0038
0.3025
Persamaan-3
2.5333
0.1478
A=
1.0e+04 *
0.0001
0.0005
0.0035
0.0005
0.0110
0.1100 -0.0038
0.1100
1.1858 -0.0552
Persamaan-4
A=
1.0e+04 *
0.0001
0.0005
0.0035
0.0005
0.0001
0.0010 -0.0000
0.1100
1.1858 -0.0552
Persamaan-5
A=
1.0000
5.0000 35.0000
5.2727
1.0000 10.0000 -0.3455
0 858.0000 -172.0000
Persamaan-6
A=
1.0000
0 -15.0000
7.0000
1.0000 10.0000 -0.3455
0 858.0000 -172.0000
Persamaan-7
A=
1.0000
0
0 -15.0000
7.0000
1.0000 10.0000 -0.3455
0
1.0000 -0.2005
Persamaan-8
A=
1.0000
0
0
3.9930
1.0000 10.0000 -0.3455
0
Persamaan-9
A=
1.0000 -0.2005
1.0000
3.9930
1.0000
1.6592
1.0000 -0.2005
X1 =
3.9930
X2 =
1.6592
X3 =
-0.2005
Pembuktian, dengan memasukan ke Persamaan
=========================================
Persamaan ke 1
--------------43.9231 + 91.2564 + -77.1795 = 58
58 = 58
Benar
Persamaan ke 2
--------------219.6154 + 638.7949 + -606.4103 = 252
252 = 252
Benar
Persamaan ke 3
--------------1537.3077 + 5019.1026 + -5078.4103 = 1478
1478 = 1478
Benar
===================
Persamaan Kurva "Y"
===================
Y=
3.993 + 1.6592X + -0.20047X^2
>>