Anda di halaman 1dari 29

Pengolahan

Sinyal
Digital
Laboratorium Sistem Digital

Program Studi Teknik Elektro


Fakultas Teknik Informatika dan Elektro
Institut Teknologi Del

Institut Teknologi Del i


2017
KATA PENGANTAR
Puji syukur kami ucapkan kepada Tuhan Yang Maha Esa, karena dengan petunjuk, rahmat,
serta izinNya kami dapat menyelesaikan penyusunan Modul Praktikum ELS3104 Praktikum
Pengolahan Sinyal Digital sebelum kegiatan praktikum dimulai. Modul praktikum ini akan digunakan
sebagai petunjuk pelaksanaan praktikum Pengolahan Sinyal Digital semester V tahun akademik
2016/2017. Penulis mengucapkan terima kasih kepada Ibu Christin Erniati Panjaitan, ST., M.Sc yang
telah memberi penulis masukkan dan inspirasi dalam melakukan penyusunan modul praktikum ini.
Penulis berharap modul praktikum ini dapat memberi penjalasan yang mudah dimengerti mengenai
pelaksanaan praktikum Pengolahan Sinyal Digital. Penulis juga berharap modul praktikum ini dapat
menumbuhkan ketertarikan praktikan dalam dunia pengolahan sinyal digital sehingga memicu
timbulnya penelitian-penelitian baru di bidang ini. Penulis menyadari bahwa modul praktikum ini
masih jauh dari sempurna. Penulis menyambut dengan baik segala bentuk koreksi, saran, dan kritik
terhadap modul praktikum ini.

Institut Teknologi Del ii


DAFTAR ISI
KATA PENGANTAR .....................................................................................................................ii
DAFTAR ISI...................................................................................................................................iii
DAFTAR GAMBAR ...................................................................................................................... vi
MODUL 1 ....................................................................................................................................... 1
Tujuan Praktikum: ................................................................................................................... 1
Perangkat Praktikum:............................................................................................................... 1
DASAR TEORI ....................................................................................................................... 1
1.1. Variabel-Variabel ............................................................................................................. 1
1.1.1. Vektor dan Matriks ................................................................................................... 1
1.1.2. Array ......................................................................................................................... 3
1.1.3. Sel dan Struktur......................................................................................................... 4
1.2. Operasi dan Fungsi ........................................................................................................... 6
1.2.1. Operasi-operasi matriks ............................................................................................ 6
1.2.2. Operasi-operasi pointwise......................................................................................... 7
1.2.3. Konstanta dan inisialisasi.......................................................................................... 9
1.2.4. Matriks-matriks terdefinisi........................................................................................ 9
1.2.5. Fungsi-Fungsi Matematika ..................................................................................... 10
1.2.6. Fungsi-fungsi matriks ............................................................................................. 11
1.2.7. Fungsi-fungsi yang penting lainnya ........................................................................ 12
1.2.8. Operator-operator logika pada variabel-variabel boolean ...................................... 13
1.2.9. Program loop ........................................................................................................... 13
1.3. Menghasilkan Hasil Grafik ............................................................................................ 14
1.4. Mengkonversi Bilangan Menjadi String ........................................................................ 15
1.5. Masukan/Keluaran ......................................................................................................... 15
1.6. Menulis Program ............................................................................................................ 16
1.7. Beberapa Kasus Pembuatan Grafik dalam MATLAB ................................................... 16
1.7.1. Grafik jamak: subplot() ........................................................................................... 16
1.7.2. Grafik polar: polar() ................................................................................................ 17
1.7.3. Grafik 3-D: mesh() .................................................................................................. 18
1.7.4. Grafik kontur: contour() .......................................................................................... 18
1.7.5. Grafik diskrit 3-D: stem3() ..................................................................................... 19
1.7.6. Grafik 3-D dengan pita: ribbon() ............................................................................ 19
MODUL 2 ..................................................................................................................................... 21
Tujuan Praktikum: ................................................................................................................. 21
Perangkat Praktikum:............................................................................................................. 21
DASAR TEORI ..................................................................................................................... 21
2.1. Representasi Sinyal Waktu-Diskrit ............................................................................ 21
2.2. Ragam Runtun ............................................................................................................ 21

Institut Teknologi Del iii


2.3. Operasi-operasi Pada Runtun ..................................................................................... 22
2.4. Beberapa Hasil Penting .............................................................................................. 24
2.5. Konvolusi........................................................................................................................ 27
2.6. Implementasi MATLAB Atas Operasi Konvolusi ......................................................... 27
2.7. Implementasi MATLAB Atas Persamaan Perbedaan .................................................... 27
PERCOBAAN ....................................................................................................................... 28
MODUL 3 ..................................................................................................................................... 37
Tujuan Praktikum: ................................................................................................................. 37
Perangkat Praktikum:............................................................................................................. 37
DASAR TEORI ..................................................................................................................... 37
3.1. Persamaan Umum Transformasi Fourier Waktu Diskrit (DTFT) .............................. 37
3.2. Dua Waktu Penting DFTF .......................................................................................... 38
3.3. Watak Penting DTFT.................................................................................................. 39
3.4. Pencuplikan Dan Rekonstruksi Sinyal Analog ........................................................... 40
PERCOBAAN ....................................................................................................................... 44
MODUL 4 ..................................................................................................................................... 51
Tujuan Praktikum: ................................................................................................................. 51
Perangkat Praktikum:............................................................................................................. 51
DASAR TEORI ..................................................................................................................... 51
4.1. Definisi Transformasi Laplace ................................................................................... 51
4.2. Sifat-Sifat Transformasi Laplace ................................................................................ 52
4.3. Transformasi Laplace Atas Fungsi-Fungsi Waktu Umum ......................................... 57
4.4. Transformasi Laplace Atas Beberapa Bentuk-Gelombang Umum ............................ 57
4.5. Transformasi Laplace Balik........................................................................................ 59
4.5.1. Kasus-I Kutub yang Berbeda .................................................................................. 60
4.5.2. Kasus II Kutub Kompleks ....................................................................................... 61
4.5.3. Kasus-III: Kutub-kutub berulang ............................................................................ 63
PERCOBAAN ....................................................................................................................... 65
MODUL 5 ..................................................................................................................................... 68
Tujuan Praktikum .................................................................................................................. 68
Perangkat Praktikum .............................................................................................................. 68
DASAR TEORI ..................................................................................................................... 68
5.1. TRANSFORMASI Z BILATERAL........................................................................... 68
5.2. WATAK-WATAK PENTING TRANSFORMASI Z ................................................ 71
5.3. BEBERAPA PASANGAN UMUM TRANSFORMASI Z ....................................... 72
5.4. TRANSFORMASI Z BALIK ..................................................................................... 73
5.5. IMPLEMENTASI TRANSFORMASI Z BALIK MENGGUNAKAN MATLAB ... 75
5.6. REPRESENTASI SISTEM DALAM DOMAIN-Z ................................................... 77
5.7. RELASI ANTARA REPRESENTASI-REPRESENTASI SISTEM ......................... 79
5.8. SOLUSI PERSAMAAN PERBEDAAN.................................................................... 80
PERCOBAAN ....................................................................................................................... 82

Institut Teknologi Del iv


MODUL 6 ..................................................................................................................................... 87
Tujuan Praktikum: ................................................................................................................. 87
Perangkat Praktikum:............................................................................................................. 87
DASAR TEORI ..................................................................................................................... 87
6.1. Konsep Perancangan Filter FIR .................................................................................. 87
6.2. Watak-Watak Filter FIR Fase-Linier .......................................................................... 88
6.3. Teknik Prancangan Jendela ........................................................................................ 92
PERCOBAAN ....................................................................................................................... 99

Institut Teknologi Del v


DAFTAR GAMBAR
Gambar 1. Penugasan suatu matriks riil ........................................................................................ 1
Gambar 2. Program Enumerasi Implisit ......................................................................................... 2
Gambar 3. Program Enumerasi Implisit Terinkremen ................................................................... 2
Gambar 4. Program Ekstensi Suatu Matriks .................................................................................. 3
Gambar 5. Contoh Program Array dalam Matriks ......................................................................... 4
Gambar 6. Contoh Program Array Sel............................................................................................ 4
Gambar 7. Contoh Instruksi Struct................................................................................................. 5
Gambar 8. Contoh Program Mendefinisikan Suatu Struktur......................................................... 5
Gambar 9. Contoh Konversi Fungsi ................................................................................................ 6
Gambar 10. Contoh Perkalian Matriks........................................................................................... 6
Gambar 11. Contoh Operasi Backlash ........................................................................................... 6
Gambar 12. Beberapa Operasi Matriks ......................................................................................... 7
Gambar 13. Contoh Beberapa Operasi Pointwise ......................................................................... 8
Gambar 14. Contoh Transposition dan Transconjugation ............................................................. 8
Gambar 15. Perubahan Ukuran Pada Matriks ............................................................................. 10
Gambar 16. Contoh Matriks-matriks Terdefinisi ......................................................................... 10
Gambar 17. Contoh Program Fungsi Eksponensial ...................................................................... 11
Gambar 18. Bagian Riil Dari Suatu Sinyal Eksponensial Kompleks .............................................. 11
Gambar 19. Perintah whos .......................................................................................................... 11
Gambar 20. Contoh Fungsi roots ................................................................................................. 12
Gambar 21. Contoh Program Contoh 1-11 .................................................................................. 12
Gambar 22. Operator Logika Pada Variabel Boolean .................................................................. 13
Gambar 23. Program Loop ........................................................................................................... 13
Gambar 24. Contoh 1-14.............................................................................................................. 14
Gambar 25. Contoh Program Menggambar Suatu Lingkaran ..................................................... 14
Gambar 26. Dua usaha MATLAB untuk menggambar suatu lingkaran ....................................... 15
Gambar 27. String Karakter ......................................................................................................... 15
Gambar 28. Contoh Program Masukan/Keluaran ....................................................................... 16
Gambar 29. Rotasi dari suatu permukaan 3-D ............................................................................ 16
Gambar 30. Program Untuk Grafik Jamak ................................................................................... 17
Gambar 31. Grafik terhadap sin (2) ........................................................................................ 17
Gambar 32. Contoh Program Grafik Polar ................................................................................... 17
Gambar 33. Permukaan ............................................................................................................... 18
Gambar 34. Contoh Program Grafik 3-D ...................................................................................... 18
Gambar 35. Grafik kontur suatu kurva ........................................................................................ 18
Gambar 36. Contoh Program Grafik Kontur ................................................................................ 19
Gambar 37. Grafik diskrit 3-D suatu sinyal .................................................................................. 19
Gambar 38. Contoh Program Grafik diskrit 3-D ........................................................................... 19
Gambar 39. Grafik 3-D dengan pita ............................................................................................. 19

Institut Teknologi Del vi


Gambar 40. Contoh Program Grafik 3-D dengan pita ................................................................. 20
Gambar 41. Contoh Program Representasi Sinyal Waktu-Diskrit ............................................... 28
Gambar 42. Fungsi Sampel Unit................................................................................................... 28
Gambar 43. Program Sampel Unit ............................................................................................... 28
Gambar 44. Fungsi Step Unit ....................................................................................................... 29
Gambar 45. Contoh Program Step Unit ....................................................................................... 29
Gambar 46. Contoh Program Runtun Eksponensial Riil .............................................................. 29
Gambar 47. Contoh Program Runtun Eksponensial Kompleks ................................................... 30
Gambar 48. Contoh Program Runtun Sinusoidal ......................................................................... 30
Gambar 49. Sinyal diskrit: runtun acak, n=0:20; stem(n,rand(1,length(n))) ............................... 30
Gambar 50. Program Fungsi sinyaltambah .................................................................................. 31
Gambar 51. Program Penjumlahan Sinyal ................................................................................... 31
Gambar 52 Program Fungsi sinyalkali .......................................................................................... 31
Gambar 53. Program Perkalian Sinyal ......................................................................................... 32
Gambar 54. Program Fungsi sinyalgeser ..................................................................................... 32
Gambar 55. Program Penggeseran .............................................................................................. 32
Gambar 56 Program Fungsi sinyallipat ........................................................................................ 33
Gambar 57. Program Pelipatan.................................................................................................... 33
Gambar 58. Kode Program Latihan 4 ........................................................................................... 34
Gambar 59. Kode Program Latihan 5 ........................................................................................... 35
Gambar 60. Program Fungsi konv ................................................................................................ 35
Gambar 61. Program konv ........................................................................................................... 36
Gambar 62. Operasi Pencuplikan Dalam Domain Waktu dan Frekuensi .................................... 41
Gambar 63. Interpolasi Antar Sampel.......................................................................................... 44
Gambar 64. Kode Program Percobaan 1 ..................................................................................... 44
Gambar 65. Kode Program Percobaan 2 ..................................................................................... 45
Gambar 66. Kode Program Percobaan 3 ..................................................................................... 45
Gambar 67. Kode Program Percobaan 4 ..................................................................................... 46
Gambar 68. Prosedur transformasi Fourier waktu-diskrit secara numerik ................................. 46
Gambar 69. Kode Program Percobaan 6 ..................................................................................... 46
Gambar 70. Kode Program Percobaan 7 ..................................................................................... 47
Gambar 71. Kode Program Percobaan 8 ..................................................................................... 47
Gambar 72. Kode Program Percobaan 9 ..................................................................................... 47
Gambar 73. Kode Program Percobaan 10 ................................................................................... 48
Gambar 74. Kode Program Percobaan 11a ................................................................................. 48
Gambar 75. Kode Program Percobaan 11b ................................................................................. 49
Gambar 76. Kode Program Percobaan 12 ................................................................................... 49
Gambar 77. Kode Program Percobaan 13 ................................................................................... 49
Gambar 78. Kode Program Percobaan 13 ................................................................................... 50
Gambar 79. Kode Program Percobaan 15 ................................................................................... 50
Gambar 80. Contoh 4-1................................................................................................................ 57

Institut Teknologi Del vii


Gambar 81. Bentuk Gelombang Untuk Contoh 4-2 ..................................................................... 58
Gambar 82. Bentuk Gelombang Percobaan 11 ........................................................................... 65
Gambar 83. Bentuk Gelombang Percobaan 12 ........................................................................... 66
Gambar 84. Bentuk Gelombang Percobaan 13 ........................................................................... 66
Gambar 85. Bentuk Gelombang Percobaan 13 Diekspressikan Sebagai Penjumlahan Fungsi
Ramp Unit ..................................................................................................................................... 66
Gambar 86. Bentuk Gelombang Pada Latihan No.4 .................................................................... 67
Gambar 87. ROC pada transformasi Z ......................................................................................... 69
Gambar 88. ROC pada contoh 5.1 ............................................................................................... 70
Gambar 89. ROC pada contoh 5.2 ............................................................................................... 70
Gambar 90. ROC Pada Contoh 5.3 ............................................................................................... 71
Gambar 91. Tiga Kemungkinan ROC Pada Contoh 5.7 ................................................................ 74
Gambar 92. Kode Program Contoh 5-5........................................................................................ 75
Gambar 93. Bentuk Fungsi Rasional ............................................................................................ 76
Gambar 94. Kode Program Contoh 5-5........................................................................................ 76
Gambar 95. Verifikasi Menggunakan MATLAB ............................................................................ 77
Gambar 96. Vektor Nol dan vektor Kutub ................................................................................... 78
Gambar 97. Bentuk Pertama freqz .............................................................................................. 78
Gambar 98. Bentuk Kedua freqz .................................................................................................. 79
Gambar 99. Bentuk Ketiga freqz .................................................................................................. 79
Gambar 100. Representasi-representasi Sistem Dalam Format Grafikal .................................... 79
Gambar 101. Kode program filter ................................................................................................ 81
Gambar 102. Contoh Program Menggunakan Filter ................................................................... 81
Gambar 103. Fungsi filtic ............................................................................................................. 82
Gambar 104. Fungsi filtic Pada Contoh ........................................................................................ 82
Gambar 105. Fungsi zplane .......................................................................................................... 82
Gambar 106. Fungsi zplane Kedua ............................................................................................... 83
Gambar 107. Fungsi zplane Ketiga ............................................................................................... 83
Gambar 108. Fungsi zplane Keempat .......................................................................................... 83
Gambar 109. Percobaan Kedua ................................................................................................... 84
Gambar 110. Program Ekspansi Fraksi Parsial ............................................................................. 84
Gambar 111. Kode Program Respon Magnitudo dan Respon Fase. ............................................ 84
Gambar 112. Ekspansi Fraksi Parsial ............................................................................................ 85
Gambar 113. Keluaran Pada 8 Sampel Pertama Dari y(n). .......................................................... 85
Gambar 114. Spesifikasi Filter FIR ................................................................................................ 88
Gambar 115. Implementasi MATLAB ........................................................................................... 92
Gambar 116. Operasi penjendelaan pada domain frekuensi ...................................................... 94
Gambar 117. Jendela persegi panjang, M = 45............................................................................ 95
Gambar 118. jendela segitiga, M=45 ........................................................................................... 95
Gambar 119. Jendela Hanning, M=45.......................................................................................... 96
Gambar 120. Jendela Hamming, (M=45) ..................................................................................... 96

Institut Teknologi Del viii


Gambar 121. Jendela Blackman, M=45 ....................................................................................... 97
Gambar 122. Program Menciptakan Hd (n)................................................................................. 98
Gambar 123. Implementasi MATLAB ........................................................................................... 98
Gambar 124. Program Percobaan 1............................................................................................. 99
Gambar 125. Program Percobaan 2............................................................................................. 99
Gambar 126. Program Percobaan 3........................................................................................... 100
Gambar 127. Program Percobaan 4........................................................................................... 100
Gambar 128. Program Percobaan 5........................................................................................... 101
Gambar 129. Program Percobaan 6........................................................................................... 102
Gambar 130. Program Percobaan 7........................................................................................... 103
Gambar 131. Program Percobaan 8........................................................................................... 103
Gambar 132. Program Percobaan 9........................................................................................... 104
Gambar 133. Program Percobaan 10......................................................................................... 105

Institut Teknologi Del ix


MODUL 1
PENGENALAN MATLAB
Tujuan Praktikum:
Praktikan mampu memahami operator logika dan variabel boolean
Praktikan mampu memahami operasi dan fungsi: operasi matriks, operasi pointwise,
konstantat dan inisialisasi, matriks terdefinisi, fungsi-fungsi matematik, fungsi-fungsi
matriks
Praktikan mampu memahami variabel: vektor dan matriks, array, sel, dan struktur
Praktikan mampu menampilkan program loop dan grafik
Mahasiswa mampu mengkonversi bilangan menjadi string
Praktikan mampu memahami masukan dan keluaran
Praktikan mampu memahami penulisan program

Perangkat Praktikum:
Komputer / Laptop
Software MATLAB dengan Signal Processing Toolbox

DASAR TEORI
1.1. Variabel-Variabel
1.1.1. Vektor dan Matriks
Bahasa MATLAB disdekasikan untuk kalkulasi matriks dan sangat optimal dalam
melakukan operasi-operasi matriks. Variabel-variabel yang ditangani adalah matriks riil dan
matriks kompleks. Suatu skalar adalah matriks 1 x 1, suatu vektor kolom adalah suatu matriks
dengan hanya satu kolom. Dan suatu vektor baris adalah suatu matriks dengan hanya satu baris.
Notasi (m x n) mengindekasikan bahwa variabel yang ditinjau memiliki m baris dan n kolom.

Contoh 1-1 (Penugasan suatu matriks riil) Tulislah a=[1 2 3; 4 5 6] pada prompt MATLAB
di dalam jendela perintah. Jawabannya adalah sebagai berikut:

Gambar 1. Penugasan suatu matriks riil

Nilai-nilai ditugaskan kepada elemen-elemen suatu matriks menggunakan sepasang


kurung-siku. Suatu spasi (atau suatu koma) digunakan sebagai pemisah, dan mengantarkan anda
ke kolom berikutnya, sementara tanda titik-dua mengantarkan anda ke kolom berikutnya. Elemen-

Institut Teknologi Del 1


elemen matriks berindeks mulai dari 1. Indeks pertama adalah nomor baris, indeks kedua adalah
nomor kolom. Pada contoh ini, a(1,1)=1 dan a(2,1)=4. Penugasan a=[1 2; 4 5 6] akan mengarah
pada pesan kesalahan, karena jumlah kolom berbeda untuk baris pertama berbeda dengan untuk
baris kedua.

String-string karakter juga bisa ditugaskan pada elemen-elemen suatu matriks. Namun,
panjang string harus kompatibel terhadap striktur matriks. Sebagai contoh, N=['Yamari'; 'Bahari']
adalah contoh yang benar, sedangkan M=['Yamari'; 'Elektro'] akan menyebabkan error.
Saat komponen-komponen vektor membentuk suatu runtun nilai-nilai yang dipisahkan oleh
interval reguler, maka akan lebih mudah untuk menggunakan apa yang disebut dengan loop
implisit dengan tipe (indAwal:kangkah:indAkhr). Ekspersi ini merujuka pada suatu daftar nilai
yang berawal dari indAwal, berujung dan berakhir pada indAkhir, dengan inkremen sebesar
langkah. Nilai-nilai yang ada pada loom implisit tersebut tidak boleh melewakti indAkhir. Nilai
inkremen langkah bisa diabaikan, jika anda menginginkannya bernilai 1.

Contoh 1-2 (Enumerasi implisit) Tulislah a=(0:1:10) atau a=(0:10). MATLAB akan
menghasilkan sebagai berikut:

Gambar 2. Program Enumerasi Implisit

Contoh 1-3 (Enumerasi implisit terinkremen) Tulislah a=(0:4:10). MATLAB akan


menghasilkan sebagai berikut:

Gambar 3. Program Enumerasi Implisit Terinkremen

Elemen terakhir dari suatu vektor diindikasikan dengan resecvasi end. Pada contoh sebelumnya,
a(end) mengindikasikan bahwa nilainya adalah 8. Adalah hal yang memungkinkan di dalam
MATLAB untuk menekspansi ukuran suatu matriks, beirkut adalah beberapa teknik untuk
mengekspansi suatu matriks.

Institut Teknologi Del 2


Contoh 1-4 (Ekstensi suatu matriks) Tulislah perirntah-perintah berikut ini satu demi satu:

Gambar 4. Program Ekstensi Suatu Matriks

Ketika mendefinisiskan variabel-variabel dan objek-objek, MATLAB sensitif terhadap


huruf besar dan huruf kecil. Hal ini berarti MATLAB membedakan penamaan dengan
huruf besar dari penamaan dengan huruf kecil.
Mengetikkan(;) pada akhir suatu baris perintah akan mencegah program untuk
menampilkan hasil dari suatu operasi.
Format tampilan dapat dimodifikasikan menggunakan perintah format. Dengan
mengeksekusi format long, misalnya, mengubah jumlah dijit signifikan dari 5 menjad 15.
Pengguna harus mengingat bahwa MATLAB mengalokasikan memori setiap kali suatu
variabel digunakan untuk pertama kalinya. Semua variabel yang digunakan selama sesi
kerja akan disimpan didalam memory komputer, yang berarti bahwa penting untuk
membebaskan memori dari waktu ke waktu agar anda tidak mendapatkan pesa error OUT
OF MEMORY (lihat perintah clear pada dokumentasi MATLAB).

1.1.2. Array
Array multidimensi merupakan suatu ekstensi dari suatu matriks dua-dimensi. Salah satu
cara untuk mengkreasi suatu array semacam itu adalah dengan menggunakan suatu matriks dua-
dimensi yang sudah ada dan mengekspansinya. Ketiklah perintah-perintah berikut ini:

Institut Teknologi Del 3


Gambar 5. Contoh Program Array dalam Matriks

Fungsi-fungsi cat dan repmat disediakan MATLAB untuk menghasilkan array-array multi-
dimensi.

1.1.3. Sel dan Struktur


Dalam kebanyakan versi MATLAB, terdapat dua grup data yang lebih kompleks dari array
skalar dan array string; grup pertama disebut dengan sel, dan grup kedua disebut juga dengan
struktur. Didalam suatu array sel, elemen-elemennya bisa berupa apa saja, nilai numerik, string,
array dan lain-lain. Ketiklah perintah-perintah berikut ini:

Gambar 6. Contoh Program Array Sel

Yamarisel terdiri dari tiga elemen:


Elemen pertama adalah suatu string karakter
Elemen kedua adalah suatu vektor kolom

Institut Teknologi Del 4


Elemen ketiga adalah suatu skalar
Contoh ini menunjukkan perbedaan sintaks antara suatu array dengan suatu sel, suatu
kurung-kurawal kiri ({) dan suatu kurung kurawal kanan (}) dipakai menggantikan kurung siku
buka([) dan kurung siku tutup (]). Seperti yang telah anda perhatikan, yamarisel(2) merujuk kepada
vektor [6.500; 2.300], yamarisel{2} merujuk kepada isis dari vektor tersebut, dan yamarisel{2}(1)
merujuk kepada nilai numerik 6.500.

Suatu struktur didefinisikan dengan instruksi struct. Contoh berikut ini mendefinisikan
suatu struktur, disebut dengan yamaristruk, yang terdiri dari tiga bidang: bahasa,versi, dan tahun.
Instruksi ini menugaskan string karakter MATLAB kepada bidang pertama, sting karakter 7.04
kepada bidang kedua, dan nilai numerik 2005 kepada bidang ketiga:

Gambar 7. Contoh Instruksi Struct

Instruksi kedua menampilkan isi dari yamaristruk.Tahun, yaitu 2005. Suatu struktur
berdimensi 1x1 diorganisir sama dengan suatu array sel berdimensi nx1, dimana n adalah jumlah
bidang struktur. Oleh karena itu, sel dapat dikomparasi dengan struktur namun dengan bidang-
bidang yang tak bernama.

Contoh berikut ini mendefinisikan suatu struktur dengan nama yamaristruk, yang terdiri
dari dua perekaman, perekaman pertama memuat tiga bidang bahasa,versi dan tahun. Kepada
masing-masing bidang ditugaskan dua string karakter MATLAB dan C++, dua nilai 6.5 dan 7.04,
dan dua nilai 2005 dan 2008:

Gambar 8. Contoh Program Mendefinisikan Suatu Struktur

Institut Teknologi Del 5


Objek-objek ini dapat ditangani menggunakan beberapa fungsi tertentu: isstruct,
fieldnames, setfield,rmfield, cellfun, celldisp, num2cell, cell2mat, cell2struct,... Suatu contoh
konversi diberikan berikut ini:

Gambar 9. Contoh Konversi Fungsi

1.2. Operasi dan Fungsi


1.2.1. Operasi-operasi matriks
Operasi-perasi matriks utama adalah sebagai berikut:
Operasi-operasi(+,x), penjumlahan dan perkalian atas dua matriks.

Contoh 1-5(Perkalian matriks) ketiklah perintah-perintah berikut ini:

Gambar 10. Contoh Perkalian Matriks

Operasi backlash(\) menyediakan solusi terhadap masalah linier Ax=b dalam format x
=A\b. Jika A adalah suatu matriks kuadrat(jumlah baris sama dengan jumlah kolom) full-
rank, maka hal iniakan menghasilkan perkalian antara matriks inverse A dengan vektor
kolom b.

Gambar 11. Contoh Operasi Backlash

Operasi A/B menghasilkan operasi yang sama dengan operasi (B/A).

Institut Teknologi Del 6


Operasi ^ melaksanakan eksponensiasi argument, dimana dia bisa berupa suatu skalar
fraksional, positif atau negatif, atau suatu matriks.
Tanda kutip digunakan untuk melaksanakan operasi transpose-conjugate atau
transconjugate. Sebagai pengingat saja, jika A matriks berukuran (NxN) merupakan
conjugate-transpose dari matriks B, maka A= dan kita memiliki[ ]= [ ] untuk 1
, .

Contoh 1-6 (Beberapa operasi matriks) ketiklah perintah-perintah berikut ini:

Gambar 12. Beberapa Operasi Matriks

Vektor-vektor a dan b adalah vektor-vektor baris dan rii berukuran (4x1). Skalar c, jadi
sama dengan produk skalar dari vektor a dan vektor b. Di sisi lain, d adalah matriks berukuran
(4x4)

1.2.2. Operasi-operasi pointwise


Operasi-operasi .x,./, dan .^ dilakukan suku demi suku. Fase pointwise ini merujuk
pada istilah suku demi suku. Sebagai contoh, jika A=[ ] dan B=[ ] adalah dua matriks
berdimensi sama, maka A.*B akan menghasilkan matriks [ ].

Contoh 1-7 (Beberapa operasi pointwise) ketiklah perintah-perintah berikut ini dan periksalah

Institut Teknologi Del 7


Gambar 13. Contoh Beberapa Operasi Pointwise

Berikut adalah komentar atas rentetan perintah diatas:


a dan b merupakan dua matriks dengan 2 baris dan 4 kolom. Mereka diperoleh dengan
mengalikan suatu vektor kolom berdimensi 3 dengan suatu vektrot baris berdimensi 4.
c adalah suatu matriks yang memiliki sebagai elemen-elemen generiknya
d adalah suatu matriks yang memiliki elemen-elemen = / .
e adalah suatu matriks dengan elemen-elemen = .

Contoh 1-8 (Transposition dan Transconjugation) ketiklah perintah-perintah berikut ini:

Gambar 14. Contoh Transposition dan Transconjugation

Institut Teknologi Del 8


Komentar:
Dalam operasi suku demi suku, matriks harus memiliki dimensi yang sama
Operasi kutip() akan melaksanakan transconjugate atas suatu matriks, sedangkan operasi
titip-kutip(.) akan melaksanakan transpose atau suatu matriks tanpa conjugate.

1.2.3. Konstanta dan inisialisasi


Konstanta-konstanta pi, i, dan j adalah konstanta-konstanta yang telah didefinisikan di
dalam MATLAB: p=3.14159..., i=j=1. Perlu anda ingatbahwa dengan menginstruksikan pi=4
akan mengakibatkan pi kehilangan nilai yang telah terdefinisi. Direkombenasikan kepada anda
untuk tidak menggunakan pi, i dan j sebagai nama-nama variabel di dalam suatu program.
Eps,realmin, dan realmax adalah konstanta-konstanta lain yang telah didefinisikan di
dalam MATLAB yang digunakan untuk uji batas nilai. Nilai-nilai mereka secara berurutan adalah
2.220446049250313e-016,2.225073858507201e-308, dan 1.797693134862316e+308.

1.2.4. Matriks-matriks terdefinisi


Perintah-perintah berikut ini dapat digunakan untuk mendapatkan beberapa matriks yang telah
terdinisi di dalam MATLAB:
ones(L,C) akan menghasilkan suatu matriks dengan L baris dan C kolom yang semua
elemen-elemennya bernilai 1. Jadi, Ones(1,N) akan menghasilkan suatu vektor baris yang
memuat N buah elemen bernilai 1.
zeros(L,C) akan menghasilkan suatu matriks dengan L baris dan C kolom yang semua
elemen-elemennya bernilai 0.
eye(N) akan menghasilkan suatu matriks identitas dengan ukuran (N x N) dimana elemen-
elemen diagonalnya bernilai 1 dan elemen-elemen lainnya bernilai 0.
eye(L,C) akan memuat suatu matriks identitas dengan ukuran (N x N) , dimana N akan
merujuk kepada nilai yang terkecil dari L dan C, dan elemen-elemen lainnya bernilai nol sehingga
terbentuk matriks berukuran (L x C).
Jadi eye(1,N), misalnya, akan menghasilkan suatu vektor baris dengan elemen pertama
bernilai 1 diikuti dengan N-1 buah elemen bernilai 0.
randn(L,C) akan menghasilkan suatu matriks dengan L baris dan C kolom yang memuat
suatu sampel gaussian terdistribusi normal dengan suatu variansi 1.
rand(L,C) akan menghasilkan suatu matriks dengan L baris dan C kolom yang memuat
suatu sampel gaussian terdistibusi seragam dengan interval (0,1).
Disamping matriks-matriks biasa, seperi Hilbert , Hadamard, Vandermonde, dan lain-lain,
sejumlah matriks-matriks terdefinisi lainnya tersedia pada fungsi galerry. Ketik help
galerry untuk mendapatkan penjelasan lebih lanjut.

Fungsi reshape digunakan untuk mengubah ukuran suatu matriks, sebagai contoh, dari
matriks berukuran (2 x 6) menjadi suatu matriks berukuran (3 x 4). Perubahan ukuran ini dilakukan
secara langsung, seperti yang ditunjukkan dibawah ini:

Institut Teknologi Del 9


Gambar 15. Perubahan Ukuran Pada Matriks

Yang ekivalen dengan c=reshape(a,3,4). Perintah zeros(3,4) menginisialisasi pilihan


ukuran matriks c. Tujuan instruksi berikutnya c (:)=a adalah untuk mengisi matriks c, kolom demi
kolom, dengan runtun 12 nilai yang diambil dari matriks a kolom demi kolom. Matriks a dan c
harus memiliki jumlah elemen yang sama.

Contoh 1-9 (Matriks-matriks terdefinisi) ketiklah instruksi-instruksi berikut dan amati hasilnya:

Gambar 16. Contoh Matriks-matriks Terdefinisi

Instruksi-instruksi di atas menghasilkan suatu vektor baris dengan 10 elemen yang bertanda
saling bergantian. Seperti yang telah perhatian, hal yang sama terjadi dengan (-1).^[0:9].

1.2.5. Fungsi-Fungsi Matematika


Fungsi-fungsi tertentu menangani suatu matriks seperti layaknya array-array nilai-nilai.
Hal inilah yang terjadi pada fungsi-fungsi seperti: abs,aqrt, exp, cos, sin, log, tan, acos, asin, atan,
dan lain-lain.

Institut Teknologi Del 10


Contoh 1-10 (Fungsi eksponensial) ketiklah instruksi-instruksi berikut dan amati hasilnya:

Gambar 17. Contoh Program Fungsi Eksponensial

Gambar 18. Bagian Riil Dari Suatu Sinyal Eksponensial Kompleks

Waktu adalah suatu vektor baris berukuran (1 x 1024) dan oleh karena itu waktu*frek
adalah suatu matriks berukuran (1024 x 3). Anda dapat melihat sendiri dengan mengetikkan, pada
akhir contoh sebelumnya, perintah whos:

Gambar 19. Perintah whos

Instruksi sig=exp(2*j*pi*waktu*frek);menerapkan fungsi eksponensial terhadap masing-


masing elemen matriks 2*j*pi*waktu*frek. Hasilnya adalah matriks berukuran (1024 x 3), sig.
Pada instruksi terakhir, plot(waktu,real(sig(:,1))) merujuk kepada kolom terakhir dari matriks sig.

1.2.6. Fungsi-fungsi matriks


Seperti yang telah anda lihat, perintah exp(A) mengkalkulasi eksponensial atas masing-
masing elemen matriks A. Operasi ini jangan dicampur-adukkan dengan matriks eksponensial.
Huruf m pada akhir fungsi-fungsi expm(A), logm(A), dan sqrtm(A) mengindikasikan bahwa
anda sedang berhubungan dengan fungsi-fungsi matriks. Sebagai contoh, didefinisikan dengan:
= + + + +
! !

Institut Teknologi Del 11


Dan diperoleh dengan fungsi expm(A). Terdapat juga suatu fungsi yang bernama funm
untuk menjelaskan lebih lanjut.

1.2.7. Fungsi-fungsi yang penting lainnya


Fungsi eig memberikan hasil nilai-nilai eigen dan vektor-vektor atas suatu matriks. Fungsi
poly memberikan hasil berupa polinomial karakteristik yang berhubungan dengan suatu matriks,
atau suatu polinomial yang akar-akarnya adalah suatu vektor yang dihasilkan. Fungsi roots
menghasilkan akar-akar suatu polinomial.

Gambar 20. Contoh Fungsi roots

Nilai-nilai akar-akar kompleks atas polinomial ( ) = + + 1 bisa didaptkan dengan roots(a)

Contoh 1-11 Ketiklah instruksi-instruksi berikut dan amati hasilnya:

Gambar 21. Contoh Program Contoh 1-11

Pada contoh ini, a adalah matriks berukuran (2 x 2), polinomial karakteristiknya adalah
poly(a) yang sama dengan det( ) = 2 1. Vektor-vektor eigen dari a diberikan oleh

Institut Teknologi Del 12


vp,md adalah matriks diagonal dimana elemen-elemenyya merupakan nilai-nilai eigen, yang juga
merupakan akar-akar dari polinomial karakteristiknya.

1.2.8. Operator-operator logika pada variabel-variabel boolean


Operator-operator logika AND(simbol &), OR(simbol |), dan NOT(simbol ~) dapat
diterapkan pada kuantitas-kuantiatas boolean. Nilai boolean false dikodekan sebagai 0, dan nilai
bolean true dikodekan sebagai 1. Kuantitas-kuantitas boolean bisa digunakan di dalam struktur
seperti if...elseif...else...end,switch...case...otherwise...end, atau while...end

Gambar 22. Operator Logika Pada Variabel Boolean

Isnan, isinf, isinfinite, isstr, ischar, dan lain-lain merupakan fungsi boolean yang bisa
digunakan untuk tujuan-tujuan logika.

1.2.9. Program loop


Struktur program for...end dapat dipakai sebagai loop penghitung.

Contoh 1-13 (Program loop) ketiklah instruksi-instruksi berikut dan amati hasilnya:

Gambar 23. Program Loop

Institut Teknologi Del 13


Loop tersebut dapat ditulis-ulang menjadi satu baris, for k=1:5; M=M*A; end. Pada
kebanyakan kasus, loop cenderung memperlambat komputasi. Oleh karena itu, pengguna tidak
direkomendasikan untuk menggunakan program loop. Jika memungkinkan, anda bisa
menggantikannya dengan fungsi-fungsi matriks.

Contoh 1-14(menghindari loop) ketiklah instruksi-instruksi berikut dan amati hasilnya:

Gambar 24. Contoh 1-14

Instruksi terakhir menghasilkan suatu matriks c yang identik dengan matriks b. Eksekusinya jauh
lebih cepat. Anda bisa membuktikannya sendiri.

1.3. Menghasilkan Hasil Grafik


Jendela tampilan dipilih menggunakan perintah figure(n), dimana n adalah nomor jendela. Di
dalam jendela aktif, perintah plot dapat digunakan untuk menampilkan hasil-hasil grafik:
Jika x dan y adalah dua vektor riil sama panjang, plot(x,y) menampilkan grafik y sebagai
suatu fungsi x.
Jika x dan y merupakan dua matriks riil dengan ukuran sama, perintah plot(x,y)
menampilkan kolom pertama y sebagai suatu fungsi dari kolom pertama x, kolom kedua y
sebagai suatu fungsi kolom kedua x, dan seterusnya. Masing-masing baris memiliki warna
sendiri.
Jika x adalah suatu vektor riil dengan panjang N, dan y adalah suatu matriks riil dengan
ukuran (N x K), maka perintah plot(x,y) menampilkan sejumlah K grafik yang berkaitan
dengan K kolom y sebagai suatu fungsi x.
Jika x adalah suatu vektor kompleks, plot(x) akan menampilkan grafik bagian imajiner dari
x sebagai suatu fungsi dari bagian riil dari x.
Jika perintah subplot(3,2,4) atau subplot(324) ditambahkan sebelum perintah plot, maka
grafik akan dibagi menjadi enam sub-jendela yang diorganisisr dalam 3 baris dan 2 kolom,
dan pada kasus ini tampilan diberikan untuk sub-jendela nomor 4.

Contoh 1-15 (Menggambar suatu lingkaran) Ketiklah instruksi-instruksi berikut dan amati
hasilnya:

Gambar 25. Contoh Program Menggambar Suatu Lingkaran

Perintah axis(square) memaksa tampilan untuk muncul sehingga sumbu horizontal dan vertikal
sama panjang. Perintah axis yang kedua memaksa nilai-nilai tertentu menjadi maksimal dan
minimal pada koordinat x dan koordinat y.

Institut Teknologi Del 14


Gambar 26. Dua usaha MATLAB untuk menggambar suatu lingkaran

1.4. Mengkonversi Bilangan Menjadi String


Unutk suatu contoh, pertimbangkan perintah text(x,y,text). Perintah itu membolehkan anda untuk
menambahkan suatu teks pada grafik, ditempatkan pada koordinat(x,y). Untuk menambahkan
suatu nilai numerik pada perintah text, dia terlebih dahulu perlu dikonversi menjadi satu string
karakter. Hal ini bisa dilakukan dengan menggunakan perintah num2str.

Contoh 1-16 (Angka dan string karakter) Ketiklah instruksi-instruksi berikut dan amati
hasilnya:

Gambar 27. String Karakter

Perintah sprintf dapat juga digunakan unutk membentuk suatu string karakter.

1.5. Masukan/Keluaran
MATLAB juga menyediakan fasilitas masukan/keluaran dari papan ketik ke monitor atau dari
papan ketik ke file dan sebaliknya. Berikut adalah fungsi-fungsi utama yang digunakan:
Input, ginput, ... untuk akuisisi dari papan ketik.
Disp, sprintf, ... untuk menampilkan pada monitor.
Gtext, plot, grid, title, ... untuk menampilkan suatu grafik.
Load, save untuk memuat atau menyimpan variabel-variabel di dalam suatu file dalam
format yang spesifik terhadap MATLAB. Secara sefault, file-file tersebut berekstensi .mat.
Fopen, fread, fwrite untuk masukan/keluaran dengan fasilitas pemformatan.

Institut Teknologi Del 15


Contoh 1-17 (Masukan/keluaran di dalam suatu file) Ketiklah instruksi-instruksi berikut dan
amati hasilnya:

Gambar 28. Contoh Program Masukan/Keluaran

Program diatas menciptakan file coba1.dat yang masing-masing elemennya adalah integer 16 bit,
kemudian membaca kembali file tersebut dan ditugaskan kepada variabel y.

1.6. Menulis Program


Anda telah melihat suatu grup perintah yang bisa langsung secara bersamaan dijalankan pada
jendela perintah MATLAB. Program seperti itu menggunakan fungsi-fungsi dengan nama-nama
berkaitan dengan file-file berekstensi .m yang memuat mereka. Pada bab-bab berikut anda akan
diajak untuk membuat file .m sendiri yang di dalamnya berisi program buatan anda.

1.7. Beberapa Kasus Pembuatan Grafik dalam MATLAB


1.7.1. Grafik jamak: subplot()

Gambar 29. Rotasi dari suatu permukaan 3-D

Institut Teknologi Del 16


Gambar 30. Program Untuk Grafik Jamak

1.7.2. Grafik polar: polar()

Gambar 31. Grafik terhadap sin (2)

Gambar 32. Contoh Program Grafik Polar

Institut Teknologi Del 17


1.7.3. Grafik 3-D: mesh()

Gambar 33. Permukaan

Gambar 34. Contoh Program Grafik 3-D

1.7.4. Grafik kontur: contour()

Gambar 35. Grafik kontur suatu kurva

Institut Teknologi Del 18


Gambar 36. Contoh Program Grafik Kontur

1.7.5. Grafik diskrit 3-D: stem3()

Gambar 37. Grafik diskrit 3-D suatu sinyal

Gambar 38. Contoh Program Grafik diskrit 3-D

1.7.6. Grafik 3-D dengan pita: ribbon()

Gambar 39. Grafik 3-D dengan pita

Institut Teknologi Del 19


Gambar 40. Contoh Program Grafik 3-D dengan pita

LATIHAN
1. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.

2. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.

3. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.

Institut Teknologi Del 20

Anda mungkin juga menyukai