Anda di halaman 1dari 42

Diktat Aplikasi Komputer

Program Studi Teknik Mesin


Fakultas Teknik
Universitas Tridinanti Palembang

2013
Aplikasi Komputer Aplikasi Komputer

Kata Pengantar Daftar Isi 

Bab 1 Hardware dan Software Komputer ................................................................................. 1


A. Perangkat Keras (Hardware) Komputer ..................................................................... 1
1) Input/Output Device (I/O Device) .......................................................................... 1
Diktat ini dimaksudkan untuk membantu kelancaran proses belajar-mengajar dan 2) Storage Device (tempat penyimpanan) ................................................................... 1
sebagai tambahan referensi bagi mahasiswa untuk mata kuliah Aplikasi Komputer, Program 3) Monitor /Screen ...................................................................................................... 2
Studi Teknik Mesin, Fakultas Teknik, Universitas Tridinanti Palembang. 4) Casing Unit ............................................................................................................. 2
5) Central Procesing Unit (CPU) ................................................................................ 2
B. Perangkat Lunak (Software) Komputer .................................................................. 10
Pemprograman dalam diktat ini diarahkan ke dalam bahasa pemprograman Matlab 1) Perangkat lunak aplikasi (application software)................................................... 10
(beserta Simulink). Alasannya karena Matlab sangat sesuai untuk penyelesaian 2) Sistem operasi (operating system) ........................................................................ 10
permasalahan dalam keteknikan, selain itu Matlab juga sangat luas pemakaiannya di masa 3) Software Development Tool .................................................................................. 10
sekarang ini. 4) Pengendali perangkat keras (device driver) .......................................................... 11
5) Perangkat lunak menetap (firmware) .................................................................... 11
6) Perangkat lunak pengganggu / perusak (malware) ............................................... 11
Diktat ini bebas untuk diedarkan / diperbanyak / disalin baik dalam bentuk print-out / 7) Perangkat Utilitas (Utility software) ..................................................................... 11
hard copy maupun dalam bentuk soft copy di dalam lingkungan Program Studi Teknik 8) Software Berbayar (Commercial Software).......................................................... 11
Mesin, Fakultas Teknik, Universitas Tridinanti Palembang. 9) Freeware................................................................................................................ 12
10) Free Software ........................................................................................................ 12
11) Shareware.............................................................................................................. 12
Diktat ini masih jauh dari kata sempurna, karena itu penulis sangat mengharapkan
masukan, kritik dan saran dari semua pihak terhadap isi, gaya penulisan maupun pengaturan Bab 2 Model Matematika dan Penyelesaiannya di Keteknikan.............................................. 14
dalam diktat ini. Untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya. A. Sebuah Model Matematika Sederhana ..................................................................... 14
1) Contoh 2.1 (Solusi analitis persoalan penerjun yang terjun bebas) ...................... 18
2) Contoh 2.2 (Solusi numerik persoalan penerjun yang terjun bebas) .................... 20
B. Teknik dan Hukum Kekekalan ................................................................................. 21
Palembang, Agustus 2013 Bab 3 Aproksimasi, Round-Off Error dan Truncation Error .................................................. 25
A. Angka Signifikan...................................................................................................... 25
Penulis B. Akurasi dan Presisi ................................................................................................... 26
C. Definisi Error (Kesalahan) ....................................................................................... 26
1) Contoh 3.1 (Kalkulasi Error) ................................................................................ 27
2) Contoh 3.2 (Estimasi error untuk metode iterasi) ................................................. 29
D. Round-Off Error ....................................................................................................... 30
1) Error Representasi ................................................................................................. 31
2) Cara Meminimalkan Round-Off Error .............................................................. 32
E. Truncation Error ....................................................................................................... 32
1) Deret Taylor......................................................................................................... 32
2) Suku Sisa Perluasan Deret Taylor .................................................................... 36
3) Pernggunaan Deret Taylor untuk Perkiraan Truncation Error ..................... 38
4) Diferesiasi Numerik ............................................................................................ 39
F. Kesalahan Numerik Total......................................................................................... 42
G. Kekeliruan, Kesalahan Perumusan dan Ketidakpastian Data .................................. 43
1) Kekeliruan ............................................................................................................. 43
2) Kesalahan Perumusan ........................................................................................... 43
3) Ketidakpastian Data .............................................................................................. 44

Bab 4 Dasar-Dasar Pemprograman......................................................................................... 45


A. Pemprograman dan Program Komputer................................................................... 45
B. Pemprograman Terstruktur ...................................................................................... 46
C. Representasi Logika ................................................................................................ 48
D. Pemprograman Modular........................................................................................... 55
E. Matlab....................................................................................................................... 57

ii iii
Aplikasi Komputer

Bab 5 Pengantar Pemprograman di Matlab ............................................................................ 61 Bab 1 Hardware dan Software Komputer
A. Klasifikasi Bahasa Pemprograman........................................................................... 61
1) Klasifikasi Perbandingan antara Struktur Bahasa Pemprograman
dengan Mesin Komputer ....................................................................................... 61
2) Klasifikasi Berdasarkan Urutan Pengembangan Bahasanya ................................ 62
B. Matlab Secara Umum ............................................................................................... 63 Komputer adalah serangkaian ataupun sekelompok mesin elektronik yang terdiri dari ribuan
C. Pengoperasian Dasar di Matlab ................................................................................ 64 bahkan jutaan komponen yang dapat saling bekerja sama, serta membentuk sebuah sistem
1) Memulai Matlab .................................................................................................... 64 kerja yang rapi dan teliti. Sistem ini kemudian dapat digunakan untuk melaksanakan
2) Operasi Aritmatika di Matlab ............................................................................... 65
3) Fungsi Matematika di Matlab ............................................................................... 65 serangkaian pekerjaan secara otomatis, berdasar urutan instruksi ataupun program yang
4) Konstanta dan Variabel ......................................................................................... 66 diberikan kepadanya.
5) Format di Matlab................................................................................................... 67
6) Komentar atau Catatan.......................................................................................... 68 Definisi yang ada memberi makna bahwa komputer memiliki lebih dari satu bagian yang
7) Gambar Grafik di Matlab ...................................................................................... 68
8) Array dan Dasar-Dasar Matriks di Matlab............................................................ 70 saling bekerja sama, dan bagian-bagain itu baru bisa bekerja kalau ada aliran listrik yang
9) Dasar-Dasar Bilangan Kompleks di Matlab ......................................................... 75 mengalir di dalamnya. Istilah mengenai sekelompok mesin, ataupun istilah mengenai jutaan
komponen kemudian dikenal sebagai hardware komputer atau perangkat keras komputer.
Daftar Pustaka ......................................................................................................................... 79
Hardware komputer juga dapat diartikan sebagai peralatan fisik dari komputer itu sendiri.
Peralatan yang secara fisik dapat dilihat, dipegang, ataupun dipindahkan.

Dalam hal ini, komputer tidak mungkin bisa bekerja tanpa adanya program yang telah
dimasukkan ke dalamnya. Program ini bisa berupa suatu prosedur pengoperasian dari
komputer itu sendiri ataupun berbagai prosedur dalam hal pemrosesan data yang telah
ditetapkan sebelumnya. Dan program-program inilah yang kemudian disebut sebagai
software komputer atau perangkat lunak komputer.

A. Perangkat Keras (Hardware) Komputer


Perangkat keras / ‘hardware’ ialah suatu komponen peralatan komputer yang
membentuk suatu sistem, sehingga mampu menjalankan program (peralatannya) yang
terdiri dari beberapa rangkaian hardware antara lain sebagai berikut:

1) Input/Output Device (I/O Device)


Input Device, adalah perangkat keras komputer yang
berfungsi untuk memasukkan data ke dalam memori
komputer, seperti keyboard, mouse, joystick dan
lain-lain.

2) Storage Device (tempat penyimpanan)


Storage Device (tempat penyimpanan)
adalah media untuk menyimpan data seperti
disket, harddisk, CD-I, flash disk dll.

iv 1 | Halaman
Aplikasi Komputer Aplikasi Komputer

3) Monitor /Screen dengan transfer datanya 133 MBps. IDE yang baru menggunakan SATA {serial
ATA} yang sebelumnya menggunakan paralel ATA (PATA). Penggunaan hard
Monitor /Screen merupakan sarana untuk menampilkan apa yang disk jenis SATA masih sedikit dan mahal, tetapi kecepatan transfernya lebih
kita ketikkan pada papan keyboard setelah diolah oleh prosesor. cepat daripada PATA.
Monitor disebut juga dengan Visual Display Unit (VDU).
Peningkatan kapasitas penyimpanan data hard disk naik secara signifikan. Di
4) Casing Unit Windows 3.1, hard disk berukuran 300 MB sudah cukup. Pada Windows 98,
hard disk berukuran 8.3 GB sudah lebih dari cukup. Untuk pemakaian hard disk
Casing Unit adalah tempat dari semua peralatan komputer, baik itu yang intensif, ukuran tersebut sangat kurang, apalagi menggunakan OS yang
motherboard, card, peripheral lain dan Central Procesing Unit baru dan program yang baru pula. Mungkin untuk ukuran standar, hard disk yang
(CPU).Casing unit ini disebut juga dengan System Unit. dipakai sekarang minimal 80 GB atau lebih tergantung kebutuhan anda.
5) Central Procesing Unit (CPU) Kecepatan putar hard disk juga bermacam-macam, antara lain 5400 RPM, 7200
RPM, atau lebih. Putaran yang dihasilkan hard disk yang memiliki RPM 7200
Central Procesing Unit (CPU) adalah salah satu bagian komputer yang paling lebih bising daripada 5400 RPM, akibatnya hard disk menjadi lebih cepat panas.
penting, karena itu jenis prosesor menentukan pula jenis komputer. Baik tidaknya Anda memerlukan kipas pendingin untuk mendinginkan dan menjaga peranti ini
suatu komputer, jenis komputer, harga komputer, ditentukan terutama oleh jenis agar dapat bertahan lama.
prosesornya. Semakin canggih prosesor komputer, maka kemampuannya akan
semakin baik dan biasanya harganya akan semakin mahal. Selain itu, sudah ada generasi baru hard disk, yaitu Solid-
State Drive (SSD) yang sebenarnya bukanlah jenis hard
Kata CPU itu sendiri berarti suatu komponen/rangkaian elektronika yang bertindak disk lagi. SSD ini adalah media penyimpanan data yang
sebagai alat pengolah informasi atau data yang paling utama pada komputer. Nah, tidak memakai cakram magnetis seperti pada hard disk
kecepatan dan ketepatan dari pengolahan data suatu komputer ditentukan oleh konvensional. Dari sisi sifatnya, SSD dapat digolongkan
kinerja CPU ini. menjadi dua, yaitu berbasis flash dan berbasis DRAM
(Dynamic Random Access Memory).
Dalam kehidupan sehari-hari, istilah CPU ini lebih sering digunakan untuk
menyatakan perangkat komputer yang berupa kotak (casing) yang di dalamnya Di pasaran saat ini banyak kita temui teknologi SSD berbasis flash, misalnya
terdapat beberapa perangkat keras (hardware), seperti motherboard, hardisk, memori Flash Disk, Secure Digital (SD Card), Micro SD Card, Multi Media Card (MMC)
(RAM card), VGA card, sound card, LAN card, modem, power suplay, dan dan Compact Flash (CF). Sementara SSD dengan ukuran fisik sebesar hard-disk
perangkat-perangkat keras lainnya. Akan tetapi, yang dimaksud dengan CPU konvensional, yaitu ukuran 1,8 inci dan 2,5 inci dengan kapasitas hingga diatas
sebenarnya adalah perangkat keras yang terdapat di dalam casing komputer tersebut 128 GB, sejak tahun 2008 sudah mulai populer di pasaran seiring dengan
dan biasanya terdapat pada bagian motherboard.
harganya yang makin terjangkau.
Secara umum, penjelasan beberapa bagian CPU antara lain:
SSD berbasis flash memanfaatkan sejumlah kecil DRAM untuk cache yang
dipakai untuk menyimpan informasi tentang penempatan blok data serta
a) Hard disk Drive informasi wear levelling (sebuah teknik untuk memperpanjang usia pemakaian
Harddisk drive (HDD) merupakan tempat menyimpan data memori berbasis flash). Sementara pada SSD dengan kinerja tinggi biasanya juga
pada CPU. Jika hardisk dibuka, maka di dalamnya terlihat dilengkapi dengan penyimpanan daya listrik sementara (energy storage).
piringan logam sebagai tempat menulis data. Komponen ini umumnya disusun dari rangkaian kapasitor atau baterai yang
berfungsi untuk memindahkan data dari cache SSD ke flash memory saat
Semakin cepat hard disk bekerja, semakin cepat pula transfer yang dihasilkan. komputer dimatikan/ mati mendadak (jika berbasis kapasitor) atau untuk
Hard disk IDE mempunyai 4 tingkatan kelas, masing-masing Ultra DMA/33, menyimpan data sementara dalam cache (jika menggunakan baterai).
Ultra DMA/66, Ultra/100, dan Ultra DMA/133. DMA singkatan dari Direct
Memory Access yang berfungsi untuk meningkatkan transfer data. Maksud Ultra
DMA/33 adalah daya transfer rata-ratanya 33 MBps. Jadi,Ultra DMA/133 sama

2|Halaman 3|Halaman
Aplikasi Komputer Aplikasi Komputer

SSD berbasis DRAM memiliki kecepatan akses data yang sangat tinggi akan membaca atau menulis data pada disket itu. Saat ini disket sudah jarang
(umumnya kurang dari 1 mili detik). Perangkat ini biasanya dilengkapi dengan digunakan, bahkan bisa dikatakan bahwa sudah tidak dipakai lagi.
baterai internal dan sistem penyimpanan data cadangan untuk memastikan tetap
adanya data dalam SSD saat komputer dimatikan atau mati mendadak. Dalam c) DVD/CD-ROM Drive
kondisi ini, baterai dalam SSD akan memasok daya bagi rangkaian sel untuk
menyalin semua informasi dari DRAM ke perangkat penyimpanan cadangan. Fungsinya adalah untuk membaca data dari sebuah DVD / Compact Disc (CD).
Saat komputer dinyalakan lagi, semua informasi ini akan dikembalikan lagi ke ROM adalah singkatan dari Read Only Memory yang artinya penyimpan data
DRAM. yang hanya bisa dibaca. Jadi CD-ROM hanya bisa digunakan untuk membaca
data, tidak dapat digunakan untuk menyimpan data. Namun saat ini, ada alat
Ada banyak kelebihan Solid State Drive jika dibandingkan dengan hard disk serupa yang dapat digunakan untuk menulis / menyimpan data ke sebuah DVD /
konvensional (IDE, SATA atau PATA), diantaranya adalah: CD. Namanya DVD / CD-RW (CD Read and Write atau CD baca dan tulis).

™ Waktu mulai bekerja (start-up) yang lebih cepat yang berdampak pada akses Cara kerja DVD / CD-ROM maupun DVD / CD-RW sama
data yang lebih tinggi, keterlambatan / delay pembacaan data (latency) yang dengan cara kerja harddisk atau floppy disk drive. Bedanya,
lebih rendah dan waktu pencarian data (seek time) yang jauh lebih cepat. bagian yang diputar adalah kepingan DVD / CD. Alat
™ Tidak bising/ dengung (noise) mengingat tidak adanya komponen yang pembacanya juga bukan head magnet tetapi sinar laser yang
berputar. berkekuatan kecil.
™ Lebih hemat daya listrik, meskipun untuk SSD berbasis DRAM masih
diperlukan catu daya yang cukup tinggi, namun jika dibandingkan dengan Sekarang sudah muncul generasi baru penerus DVD/CD-ROM, yaitu Blue Ray,
hard-disk konvensional masih jauh lebih hemat energi. yang kapasitas simpannya untuk satu keping Blue Ray lebih kurang mirip dengan
™ Lebih kebal terhadap guncangan, getaran, dan temperatur yang tinggi. hard disk. Misalnya, PS3 sudah memakai Blue Ray.
™ Dengan kapasitas penyimpanan yang sama, SSD memiliki bobot yang lebih
ringan dan ukuran fisik yang lebih ramping jika dibandingkan dengan hard- d) Prosesor
disk biasa (khususnya saat ini hingga ukuran penyimpanan 256 GB) sehingga
lebih portable untuk notebook dan mobile external storage. Prosesor, adalah perangkat utama komputer yang mengelola seluruh aktifitas
™ Karena dapat menyimpan data meskipun catu daya tidak ada, kelak teknologi komputer itu sendiri. Prosesor terdiri dari dua bagian utama, yaitu ;
SSD ini jika digabungkan dengan teknologi Memristor (Memory Transistor)
membuka kemungkinan tercapainya pembuatan sebuah komputer yang dapat ™ Control Unit (CU), merupakan komponen utama prosesor yang mengontrol
dihidup-matikan layaknya sebuah televisi, sehingga istilah start-up, shut semua perangkat yang terpasang di komputer, mulai dari input device sampai
down, hang, blue screen dan sejenisnya hanya menjadi catatan sejarah untuk output device.
anak cucu kita.
™ Arithmetic Logic Unit (ALU), merupakan bagian dari prosesor yang khusus
b) Floopy disk Drive mengolah data aritmatika (menambah, mengurang dll) serta data logika
(perbandingan).
Floppy disk drive adalah alat untuk membaca atau menulis
Prosesor berfungsi untuk memproses semua perhitungan
pada sebuah disket. Beberapa tahun lalu, masih banyak orang
yang harus dilakukan oleh komputer. Kekuatan prosesor
yang menggunakan floppy disk.
diukur dari frekuensinya, seperti 550 MHz (Mega Hertz)
Ada floppy disk (disket) berukuran 5 1/4 inchi (disket besar), yang menyimpan sampai saat ini sudah ada yang mencapai 3,1 GHz (Giga
data sebanyak 700 Kilobyte. Selain itu ada juga disket kecil yang berukuran 3 1/2 Hertz) untuk Intel i7.
inchi dengan kapasitas menyimpan data sebesar 1,4 Megabyte.
Jika komputer dihidupkan, prosesor langsung bekerja dan cepat naik suhunya.
Cara kerja floppy disk hampir sama dengan harddisk. Plat bundar berisi data Oleh karena itu setiap prosesor saat ini sudah dilengkapi dengan besi penyalur
dalam disket akan diputar oleh motor dalam floopy disk drive. Sebuah magnet panas (heat sink) dan kipas pendingin. Saat ini prosesor yang banyak digunakan
adalah Intel, AMD dan IBM.

4|Halaman 5|Halaman
Aplikasi Komputer Aplikasi Komputer

Adapun beberapa jenis prosesor Intel akan dijelaskan di bawah ini: f) Memori
1) Intel Atom, terdiri dari 1 core (inti) di satu die (keping) chip silikon (IC).
2) Intel Celereon, terdiri dari 1 core (inti) di satu die (keping) chip silikon Memori adalah media penyimpan data komputer. Memori terbagi atas dua
(IC). macam, yaitu ;
3) Intel Pentium, terdiri dari 1 core (inti) di satu die (keping) chip silikon
(IC), dengan kecepatan 50-3733 Mega Hertz. i) Read Only Memory (ROM)
4) Intel Core Duo, terdiri dari 2 core (inti) di satu die (keping) chip silikon
(IC), dengan kecepatan 1600-3333 Mega Hertz. ™ PROM (Programable ROM), yaitu ROM yang bisa diprogram kembali
5) Intel Core Solo, terdiri dari 2 core (inti) di satu die (keping) chip silikon dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat
(IC), tetapi hanya satu core (inti) yang aktif. lagi diprogram.
6) Intel Core 2 Duo, sama dengan Core Duo, tapi memakai IC yang lebih ™ RPROM (Re-Programable ROM, merupakan pengembangan dari PROM
baik. dimana bisa diubah berulangkali sesuai dengan yang diinginkan.
7) Intel Core 2 Solo, sama dengan Core Solo, tapi memakai IC yang lebih ™ EPROM (Erasable Program ROM), merupakan ROM yang dapat dihapus
baik. dan diprogram kembali, tapi cara penghapusannya dengan menggunakan
8) Intel Core 2 Quad, terdiri dari 2 core (inti) di dua die (keping) chip silikon sinar ultraviolet.
(IC), jadi total memiliki 4 (quad) core (inti). ™ EEPROM (Electrically Erasable Program ROM), perkembangan
9) Intel Core i3, mirip seperti Core 2 Duo, hanya saja dia mendukung mutakhir dari ROM dimana dapat diubah dan dihapus program ROM-nya
beberapa teknologi yang tak didukung oleh Core 2 Duo, seperti dengan menggunakan teknik elektrik. EEPROM ini merupakan jenis yang
Hyperthreading dan L3 data cache, dengan kecepatan 1233-3333 Mega paling banyak digunakan saat ini.
Hertz.
10) Intel Core i5, mirip Core i3, dengan didukung teknologi baru seperti ii) Random Access Memori (RAM)
Hyper-threading, TurboBoost (yang memungkinkan meng-overclock
kecepatan prosesor-nya), juga mendukung L3 data cache yang lebih besar Random Access Memori (RAM) berfungsi untuk
(sampai 8 MB). Kecepatan prosesornya 1060-3600 Mega Hertz, dengan 2 menyimpan program yang diolah untuk sementara (power
core (inti) atau 4 (quad) core . on). Jika komputer dimatikan, seluruh data yang tersimpan
11) Intel Core i7, mirip Core i5, dengan didukung teknologi baru seperti di RAM akan hilang.
Hyper-threading, TurboBoost (yang memungkinkan meng-overclock
kecepatan prosesor-nya), juga mendukung L3 data cache yang lebih besar Tujuan RAM adalah mempercepat pemprosesan data pada komputer. Agar
(sampai 12 MB). Kecepatan prosesornya 1060-3460 Mega Hertz, dengan 4 data yang kita buat tidak dapat hilang pada saat komputer dimatikan, maka
(quad) core (inti) atau 6 core . diperlukan media penyimpanan lainnya, seperti Disket, Harddisk, flash disk,
PCMCIA card dan lain-lain. Kecepatan membaca data RAM ini lebih cepat
e) Kartu Grafis (VGA Card) jika dibandingkan dengan Harddisk
Kartu VGA (Video Graphic Adapter) berguna untuk
menerjemahkan output komputer ke monitor. Untuk g) Kartu Suara (Sound Card)
menggambar / desain grafik ataupun untuk bermain game,
kita perlu VGA yang tinggi kekuatannya. Perangkat ini berguna untuk output suara, yaitu untuk
mendengarkan audio/ musik. Modenya stereo, surround
Saat ini ada VGA dengan memori 16, 32 hingga 128 (bergema) bahkan suara 3D, sehingga kita seakan berada di
Megabyte, bahkan ada yang sampai 2 Gigabyte lebih. tempat kejadian.
Jenisnya yang terkenal adalah GeForce buatan perusahaan
Nvidia, selain itu ada juga ATI dengan produknya Radeon. Hanya saja perangkat ini kurang lengkap jika tidak ada
speaker. Karena itu perlu dihubungkan dengan speaker
dengan sebuah kabel yang disambung langsung ke soundcard.

6|Halaman 7|Halaman
Aplikasi Komputer Aplikasi Komputer

h) Motherboard
AGP (Accelerated Graphics Port) adalah bus yang dikhususkan sebagai bus
Motherboard / mainboard adalah papan PCB induk, yaitu untuk pendukung kartu grafis berkinerja tinggi, menggantikan bus ISA, bus VESA atau
tempat menghubungkan semua alat utama CPU yang telah bus PCI.Sebenarnya AGP dibuat berdasarkan bus PCI, tapi memiliki beberapa
disebutkan di atas. Bentuk motherboard seperti sebuah papan kemampuan yang lebih baik. Selain itu, secara fisik, logis dan secara elektronik,
sirkuit elektronik (papan PCB). AGP bersifat independen dari PCI. Tidak seperti bus PCI yang dalam sebuah
sistem bisa terdapat beberapa slot, dalam sebuah sistem, hanya boleh terdapat
Motherboard merupakan tempat berlalu-lalangnya data. satu buah slot AGP saja.
Motherboard menghubungkan semua peralatan komputer dan
membuatnya bekerja sama agar komputer berjalan lancar. Spesifikasi AGP ada banyak, misalnya:
66 MHz (AGP 1x) = 266 Mbyte per detik
i) LAN Card 133 MHz (AGP 2x) = 533 Mbyte per detik
266 MHz (AGP 4x) = 1066 Mbyte per detik
533 Mhz (AGP 8x) = 2133 Mbyte per detik
Pengertian LAN (Local Area Network) adalah sebuah jaringan komputer yang
hanya mencakup wilayah kecil. Jaringan LAN biasanya hanya mencakup satu
AGP mulai banyak ditinggalkan, karena kecepatannya kalah jauh dibanding PCI
gedung atau rumah, misalnya jaringan LAN di kantor, hotel, bandara, warnet,
express. Dimana kecepatan dianggap penting karena game 3D zaman sekarang
atau di dalam rumah.
lebih menuntut banyak bandwith.
Pada sebuah jaringan LAN, kecepatan transfer datanya berkisar 10, 100, atau
PCI Express (PCI-E / PCIex) adalah slot ekspansi module didesain untuk meng-
1000 Mbit/s. Teknologi yang paling banyak digunakan dalam jaringan LAN
gantikan PCI bus yang lama. Sekarang banyak Motherboard mengadopsi PCI
adalah teknologi IEEE 802.3 Ethernet di mana hardware yang di gunakan biasa
Express dikarenakan PCI Express memiliki transfer data yang lebih cepat,
di sebut LAN card.
terutama untuk keperluan grafis 3D.
Slot PCI Express ini memiliki kecepatan 1x, 2x, 4x, 8x, 16x and 32x, tidak
Fungsi LAN card adalah untuk menghubungkan antara komputer satu dengan
seperti PCI biasa dengan sistem komunikasi paralel. PCI Express menggunakan
yang lainnya dalam sebuah jaringan LAN, melalui LAN ini setiap komputer
sistem serial dan mampu berkomunikasi 2 kali ( tulis / baca) dalam satu rute
dapat saling bertukar data maupun mengakses perangkat keras seperti printer,
clock.
tentu saja untuk dapat saling bertukar informasi antar komputer (yang
memerlukan setting-tertentu).
Kalau di VGA card tertulis PCI Express x16 itu berarti kecepatan PCI Express-
nya 16 x 250mb = 4000 mb per detik.
j) Bus ISA, PCI, AGP, PCI Express
k) Kipas Pendingin (Fan / Cooler)
Bus ISA/EISA adalah slot jadul yang biasanya digunakan
dalam komputer IBM PC lama atau yang kompatibel. Prosessor komputer bekerja terus menerus mulai dari saat
Sedangkan PCI, AGP dan PCI express itu adalah Slot komputer dihidupkan sampai komputer dimatikan lagi. Oleh
tempat memasang VGA card ataupun alat tambahan karena itu prosessor menjadi panas dan semakin panas jika
lainnya. dipakai dalam waktu yang lama terutama saat menjalankan
program yang berat khususnya pada program aplikasi grafis.
PCI (Peripheral Component Interconnect) adalah bus / slot
yang didesain untuk menangani beberapa perangkat keras. Standar bus PCI ini Untuk mengatasi hal itu kini semua prosessor selalu dilengkapi dengan sebuah
dikembangkan oleh konsor-sium PCI Special Interest Group yang dibentuk oleh unit pendingin. Beberapa teknik pendingin bisa dipakai namun yang paling
Intel Co.dan beberapa perusahaan lainnya, pada tahun 1992. Tujuan dibentuknya banyak dipakai adalah pendingin dengan sistem kipas pendingin. Pada sistem ini
bus ini adalah untuk menggantikan Bus ISA/EISA. Dengan PCI kamu bisa prosessor ditempelkan ke sebuah logam (biasanya alumunium) lalu pada logam
pasang TV Tuner (alat untuk nonton tv), Modem Dial-up, dll. tersebut ditempel sebuah kipas untuk membuang suhu panas.

8|Halaman 9|Halaman
Aplikasi Komputer Aplikasi Komputer

Selain itu pada beberapa komputer gamer dipergunakan pendingin dengan sistem 4) Pengendali perangkat keras (device driver)
radiator menggunakan zat cair seperti pada radiator mobil. Sistem pendingin ini
memang bagus dalam menjaga suhu komputer namun agak ribet dan mahal. Software sebagai penghubung / pengendali / pengatur suatu hardware sehingga
hardware itu dapat dihubungi / dikendalikan / diatur oleh komputer, misalnya
B. Perangkat Lunak (Software) Komputer software untuk barcode scanner pada aplikasi database, atau software driver untuk
sebuah printer sehingga dapat dikenali / diperintah oleh komputer.
Software adalah perangkat lunak. Karena disebut juga sebagai perangkat lunak, maka
sifatnya pun berbeda dengan hardware, jika hardware adalah komponen yang nyata 5) Perangkat lunak menetap (firmware)
yang dapat dilihat dan disentuh secara langsung, maka software tidak dapat disentuh dan
dilihat secara fisik. Software memang tidak berwujud fisik tapi bisa dioperasikan. Software tetap yang tertanam dalam suatu alat, seperti yang dipasang dalam jam
tangan digital dan pengendali jarak jauh, kalkulator, dll.
Pengertian Software komputer adalah kumpulan data elektronik yang disimpan dan
diatur oleh komputer. Data elektronik yang disimpan oleh komputer itu dapat berupa 6) Perangkat lunak pengganggu / perusak (malware)
program atau instruksi untuk menjalankan perintah. Melalui
software atau perangkat lunak inilah suatu komputer dapat Pada prinsipnya software ini sama dengan software aplikasi, hanya saja tujuannya
menjalankan suatu perintah. bisa dikatakan kurang baik/benar. Jadi dapat dikatakan, software ini adalah software
aplikasi yang bertujuan untuk menggambil keuntungan dari berbagai situasi yang
Untuk melihat hubungan antara hardware, software dan brainware diciptakan software ini.
(pengguna komputer), dapat dilihat di gambar di sebelah ini.
Software ini mempunyai kelebihan dibanding aplikasi lainnya, yaitu kemampuan
Software atau perangkat lunak komputer berdasarkan distribusi untuk menggandakan diri (di satu tempat atau ke tempat lainnya) tanpa diperintah
dan / atau pemakaiannya dibedakan menjadi beberapa macam, terlebih dahulu. Jadi software ini secara otomatis akan mengerjakan apapun perintah
yaitu: yang sudah dimasukkan ke dalam program mereka saat program ini dibuat. Adapun
software ini banyak macamnya, antara lain; virus, adware, malware, spyware, trojan
1) Perangkat lunak aplikasi (application software) horse, worm, rootkit, dll.
Adalah software aplikasi tertentu yang tujuan tergantung pembuatnya. Misalnya: 7) Perangkat Utilitas (Utility software)
9 pengolah kata / ‘word processing’, contohnya MS Word Program utilitas ini, seperti Norton Utility, Scandisk, PC Tools, Anti Virus, dll.
9 lembar tabel hitung / ‘spreadsheet’, contohnya MS Excel Program ini berfungsi untuk membantu atau mengisi kekurangan/kelemahan dari
9 pemutar media, misalnya Vlc Player sistem operasi, misalnya PC Tools dapat melakukan perintah format sebagaimana
9 paket aplikasi perkantoran, misalnya OpenOffice Calk DOS, tapi PC Tools mampu memberikan keterangan dan animasi yang bagus dalam
proses pemformatan. File yang dihapus di DOS tidak dapat dikembalikan lagi tapi
2) Sistem operasi (operating system) dengan program ini dapat dilakukan.

Adalah software yang berfungsi sebagai sistem operasi, juga disebut sebagai 8) Software Berbayar (Commercial Software)
program yang memberi sistem pada komputer, misalnya Windows XP, Windows 7,
Red Hat, Ubuntu, Mac. Software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan
komersial. Ssetiap pengguna yang ingin menggunakan atau mendapatkan software
3) Software Development Tool tersebut haruslah membeli atau membayar pada pihak yang membuat /
mendistribusikannya. Pengguna yang menggunakan software ini umumnya tidak
Software ini berfungsi sebagai penerjemah atau bisa juga sebagai konverter, seperti diizinkan untuk menyebarluaskan software tersebut secara bebas tanpa izin dari
Kompilator untuk bahasa pemrograman tingkat tinggi (Matlab, Pascal) dan bahasa penerbitnya. Contoh software berbayar ini misalnya adalah sistem microsoft
pemrograman tingkat rendah yaitu bahasa rakitan (Assembly). windows, microsoft office, adobe photoshop, dan lain-lain.

10 | H a l a m a n 11 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Selain itu, ada gerakan bawah tanah yang bertujuan sebaliknya dari software sangat jelas dari tipe ini adalah perangkat lunak antivirus, perusahaan-perusahaan
berbayar ini. Mereka membuat crack, keygen, atau membagikan serial number (sn) ini biasanya memudahkan pelepasan produk evaluasi yang hanya berlaku untuk
bagi pengguna lainnya yang masih awam. Jadi sebenarnya tujuan mereka baik, walau jumlah hari tertentu. Setelah melewati maksimum, program akan berhenti bekerja
mungkin berlawanan dengan hokum karena melanggar hak cipta. dan Anda perlu membeli produk jika Anda ingin tetap menggunakannya.

9) Freeware Kita juga dapat menemukan perangkat lunak bebas sepenuhnya, namun termasuk
dalam program periklanan, distribusi jenis ini disebut Adware. Sebuah contoh yang
Freeware atau perangkat lunak gratis adalah perangkat lunak komputer berhak cipta jelas adalah program Messenger dari Microsoft yang memungkinkan penggunaan
yang gratis digunakan tanpa batasan waktu, berbeda dari shareware yang perangkat lunak bebas dalam pertukaran untuk masuk dengan cara iklan banner
mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan atau pop-up.
tertentu atau untuk memperoleh fungsi tambahan). Para pengembang perangkat
gratis seringkali membuat program freeware “untuk disumbangkan kepada
komunitas”, namun juga tetap ingin mempertahankan hak mereka sebagai
pengembang dan memiliki kontrol terhadap pengembangan selanjutnya. Freeware
juga didefinisikan sebagai program apapun yang didistribusikan gratis, tanpa biaya
tambahan. Sebuah contoh utama adalah suite browser dan mail client dan Mozilla
News, yang juga didistribusikan di bawah GPL (Free Software).

10) Free Software

Free Software lebih mengarah kepada bebas penggunaan tetapi tidak harus gratis.
Dari namanya, berarti bebas untuk mencoba software sumber terbuka (Open Source)
dan di sanalah letak inti dari kebebasan. Program-program di bawah GPL, sekali
diperoleh dapat digunakan, disalin, dimodifikasi dan didistribusikan secara bebas.
Jadi free software tidak mengarah kepada gratis pembelian tetapi gratis dalam
penggunaan dan distribusi. Sesuai lisensinya, ada banyak cara untuk
mendistribusikan perangkat lunak, termasuk freeware, shareware atau Adware.
Klasifikasi ini mempengaruhi cara di mana program dipasarkan, dan dari lisensi
perangkat lunak mana mereka berasal.

Perbedaan yang nyata antara Free Software dan Freeware muncul dalam arti kata
free dalam bahasa Inggris, yang bisa berarti “bebas” dan “gratis”. Oleh karena itu,
dan seperti yang disebutkan sebelumnya, Free Software tidak perlu gratis, sama
seperti Freeware tidak harus bebas.

11) Shareware

Shareware juga bebas tetapi lebih dibatasi untuk waktu tertentu. Shareware
biasanya adalah program berbayar (komersial) yang memiliki keterbatasan fungsi
yang memang sudah ditentukan oleh pembuatnya. Program ini didistribusikan baik
sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau
dengan menggunakan batas waktu yang ditetapkan (misalnya 30 hari) . Dengan
demikian, memberikan pengguna kesempatan untuk menguji produk sebelum
membeli dan kemudian membeli versi lengkap dari program. Sebuah contoh yang

12 | H a l a m a n 13 | H a l a m a n
Aplikasi Komputer

Bab 2 Model Matematika dan Penyelesaiannya di secara fisik dalam bahasa matematika. Dalam bentuk yang sangat umum, dapat
dinyatakan dalam bentuk hubungan fungsional:
Keteknikan

………….. (2.1)
Pengetahuan dan pemahaman menjadi prasyarat dalam Dimana:
implementasi yang efektif dari suatu persoalan. Tak dependent variable biasanya berupa suatu karakteristik yang biasanya
peduli seberapa bagus peralatan anda, anda pastilah akan mencerminkan tingkah pola sistemnya;
kesulitan memperbaiki sebuah mobil jika anda tidak independent variables biasanya berupa dimensi, seperti ruang/waktu selama
memahami bagaimana cara kerja mobil tersebut. tingkah pola sistemnya berlangsung;
parameters merupakan refleksi komposisi atau sifat-sifat sistemnya;
Hal yang sama juga terjadi saat anda menggunakan forcing function adalah pengaruh eksternal yang terjadi pada system.
komputer untuk menyelesaikan permasalahan dalam
keteknikan. Meski mempunyai peralatan, komputer, atau Berdasarkan ekspresi matematika di atas, maka persamaan yang didapatkan dapat saja
sarana yang lainnya yang hebat, tapi semua itu akan sangat sederhana atau bisa juga berupa persamaan yang sangat rumit. Sebagai contoh, di
menjadi percuma tanpa pemahaman dasar akan cara kerja observasinya, Newton menyatakan dalam hukum keduanya bahwa laju waktu dari
sebuah sistem tersebut. perubahan momentum suatu benda adalah resultan gaya yang bekerja pada benda
tersebut. Yang secara matematika diekspresikan:
Pemahaman ini dimulai dengan pemaknaan secara
empiris, dengan observasi dan eksperimen. Meski
informasi yang didapatkan sangatlah penting, tetapi itu ……………. (2.2)
hanyalah sebagian saja. Karena berdasarkan Dimana:
pengalaman insinyur-insinyur terdahulu, kebanyakan F adalah gaya total yang bekerja pada benda (N, atau kg.m/s2);
penyelesaian permasalahan dalam keteknikan itu, m adalah massa dari benda (kg);
melibatkan pendekatan empirisme dan analisis teoritis. a adalah percepatan benda tersebut (m/s2).
Gambar 2.1 Proses Penyelesaian
Permasalahan Keteknikan Anda lihat, rumus itu bisa kita ubah bentuknya menjadi seperti persamaan (2.1):

Di sini perlu diperhatikan bahwa kedua pendekatan tersebut akan selalu berpasangan. Karena
itu di bahasan selanjutnya, kita akan membahas tentang model matematika yang merupakan …………… (2.3)
perpaduan antara kedua pendekatan di atas. Gambarnya dapat dilihat di Gambar 2.1. Dimana:
a adalah dependent variable yang mencerminkan tingkah pola sistem;
Pemahaman ini dimulai dengan pemaknaan secara empiris, dengan observasi dan F adalah forcing function;
eksperimen. Meski demikian, meski informasi yang didapatkan penting, tetapi itu hanyalah m adalah parameters yang menyatakan sifat-sifat sistemnya.
sebahagian saja. Karena berda-sarkan pengalaman insinyur-insinyur terdahulu, kebanyakan
penyelesaian permasalahan dalam keteknikan itu, melibatkan pendekatan empirisme dan Catatan: Untuk kasus sederhana, tidak ada ‘independent variables’ karena belum ada prediksi
analisis teoritis. Di sini perlu diperhatikan bahwa kedua pendekatan tersebut akan selalu bagaimana variasi percepatannya dalam ruang atau waktu.
berpasangan. Karena itu di bahasan selanjutnya, kita akan membahas tentang model
matematika yang merupakan perpaduan antara kedua pendekatan di atas. Gambarnya Persamaan (2.3) menyatakan beberapa karakteristik yang merupakan tipikalnya suatu
dapat dilihat di sebelah ini. model matematika dari suatu fenomena nyata di dunia ini, yaitu:

A. Sebuah Model Matematika Sederhana ™ Melukiskan suatu proses atau sistem yang alami dalam bahasa matematika.

Sebuah model matematika secara umum dapat didefinisikan sebagai rumus atau ™ Merupakan penyederhanaan dan pengidealan dari suatu kenyataan. Di sini model
persamaan yang mengekspresikan bagian-bagian utama dari suatu system atau proses mengabaikan detail-detail kecil dari suatu proses alamiah dan fokus pada bagian

14 | Halaman 15 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

utamanya. Bahwa, hukum kedua tidak memperhatikan efek relativitas yang penting Jika gaya ke bawah diberi tanda positif, maka hukum kedua dapat dipakai untuk
(tapi untuk sementara akan diabaikan dulu) jika berkenaan dengan objek dan gaya- memformulasi gaya akibat gravitasi sebagai:
gaya yang bekerja atau tentang permukaan bumi yang berhubungan dengan
kecepatan yang tampak di mata manusia. Fv = m g ..................... (2.6)

™ Terakhir, hal yang disebutkan di atas akan segera menghasilkan output, dan Dimana:
konsekuensinya, hal ini dapat dipakai sebagai prediksi. Misalnya, jika gaya dan g adalah konstanta gravitasi, atau percepatan akibat gravitasi yang nilainya
massa objeknya diketahui, maka percepatannya akan segera diketahui juga. mendekati 9,8 m/s2.

Karena bentuknya yang simpel, maka solusinya juga dapat dicari dengan mudah. Hanya Tahanan udara dapat dirumuskan dalam berbagai cara. Pendekatan sederhana adalah
saja, banyak model matematika dari suatu fenomena fisik yang bentuknya kompleks dan dengan mengasumsikannya linier proporsional terhadap kecepatan(1) dan bekerja ke arah
memerlukan teknik matematika yang lebih canggih juga untuk mendapatkan solusinya. atas, seperti:
Untuk mengilustrasikannya, hukum kedua Newton dapat dipakai mencari kecepatan
dari benda jatuh bebas di dekat permukaan bumi. Misalnya, sebuah parasut (Gambar Fu = - c v .................... (2.7)
2.2), dimana sebuah model untuk kasus ini dapat diturunkan dengan mengekspresikan Dimana:
percepatan sebagai laju waktu dari perubahan kecepatan (dv/dt) dan c adalah konstanta proporsional yang disebut koefisien gesekan (kg/s).
mensubstitusikannya ke persamaan (2.3):
(1) Walaupun pada kenyataannya, hubungan tersebut sebenarnya non linier dan sebaiknya dinyatakan dalam hubungan
perpangkatan seperti Fv = - c v2. Hal ini akan dibicarakan di akhir bab ini

. Sehingga, semakin besar kecepatan jatuh, semakin besar pula gaya angkat ke atas akibat
Dimana: tahanan udara. Besarnya parameter c tergantung sifat-sifat objek yang jatuh, (seperti
v adalah kecepatan (m/s); bentuk atau kekasaran permukaannya) yang mempengaruhi tahanan udara. Pada kasus
t adalah waktu (s). ini, c bisa saja berupa suatu fungsi dari peralatan terjunnya atau orientasi si penerjun saat
jatuh bebas.
Sehingga, massa dikalikan dengan laju perubahan kecepatan adalah sama dengan gaya
total yang bekerja pada benda. Jika gaya total yang bekerja adalah positif, bandanya Gaya totalnya adalah selisih antara gaya ke bawah dan gaya ke atas. Sehingga bila
akan dipercepat. Jika negatif, bendanya mengalami perlambatan. Jika gaya total yang persamaan (2.4) dikombinasikan dengan persamaan (2.7), didapatkan:
bekerja sama dengan nol, maka kecepatan objeknya konstan.

Selanjutnya, kita akan mengekspresikan gaya total dalam terminologi parameter dan
variabel yang dapat diukur. Untuk benda yang jatuh di sekitar permukaan bumi (Gambar ......................... (2.8)
2.2), gaya total terdiri dari dua gaya yang berlawanan; gaya ke bawah akibat gravitasi Fv Atau disederhanakan:
dan gaya angkat ke atas akibat tahanan udara Fu:

.......................... (2.9)
F = Fv + Fu .................... (2.5)
Bisa anda lihat, persamaan (2.9) adalah sebuah model yang menghubungkan percepatan
sebuah objek yang jatuh dengan gaya yang bekerja padanya. Model ini berupa
persamaan diferensial karena ditulis dalam terminologi laju pendiferensialan dari
perubahan (dv/dt) dari variabel yang kita gunakan dalam prediksi.

Jadi, kalau kita bandingkan dengan solusi dan hukum kedua Newton di persamaan (2.3),
solusi eksak dari persamaan (2.9) tentang kecepatan jatuh penerjun, tidak dapat
Gambar 2.2 Diagram skematik gaya yang bekerja pada penerjun
diselesaikan dengan manipulasi aljabar sederhana. Jadi, dibutuhkan teknik yang lebih
yang terjun payung
canggih seperti dengan kalkulus untuk mendapatkan solusi eksak atau analitis. Sebagai

16 | H a l a m a n 17 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

contoh, jika saat penerjun baru akan terjun dianggap kondisi awal (v = 0 saat t = 0), Persamaan (2.10) disebut solusi analitis / eksak karena benar-benar (eksak) dan
maka kalkulus dapat dipakai untuk menyelesaikan persamaan (2.9), yaitu: merupakan persamaan diferensial aslinya. Sayangnya, banyak model matematika
yang tidak dapat diselesaikan secara eksak. Dalam banyak kasus, metode alternatif
lainlah yang dipakai seperti solusi numerik yang hanya mendekati solusi eksaknya.
.............................. (2.10)

Catatan: Jika persamaan (2.10) diarahkan ke persamaan umum (2.1), maka v(t) adalah
dependent variable, t adalah independent variables, c dan m adalah
parameters, dan g adalah forcing function.

1) Contoh 2.1 (Solusi analitis persoalan penerjun yang terjun bebas)


Soal : Seorang penerjun berbobot 68.1 kg terjun dari sebuah balon udara.
Gunakan persamaan (2.10) untuk menghitung kecepatannya mulai dia
terjun sampai parasutnya terbuka. Koefisien gesekan 12,5 kg/s.

Solusi : Bila variabel yang diketahui di atas dimasukkan ke persamaan (2.10),


didapatkan:

Gambar 2.4 Penggunaan selisih hingga untuk memperkirakan turunan pertama


dari v berdasarkan nilai t
Sehingga setelah dihitung didapatkan tabel di sebelah
berikut ini: Dimana, pada metode numerik, persoalan matematika dirumuskan ulang
(reformulated) sehingga bisa diselesaikan dengan operasi aritmetika. Hal ini dapat
Berdasarkan modelnya, penerjun mengalami percepatan diilustrasikan (untuk hukum kedua Newton) dengan menyadari bahwa laju waktu
secara drastis (Gambar 2.3). Kecepatan 44,87 m/s dicapai dari perubahan kecepatan dapat diperkirakan dengan (Gambar 2.4):
setelah 10 detik. Perlu diingat bahwa setelah beberapa
waktu, akan tercapai kecepatan konstan 53,39 m/s yang
....................... (2.11)

Dimana:
disebut kecepatan peralihan
v adalah selisih pada kecepatan, dihitung dengan ‘finite interval’;
(terminal velocity). Kecepatan
t adalah selisih pada waktu, dihitung dengan ‘finite interval’;
ini konstan karena gravitasi
v(ti) adalah kecepatan saat waktu awal (initial) ti;
setara dengan tahanan udara,
v(ti+1) adalah kecepatan saat waktu selanjutnya ti+1.
sehingga gaya totalnya adalah
dv/dt  v/t adalah perkiraan karena t adalah terhingga.
nol dan percepatan terhenti.
dv 'v
Ingat bahwa di kalkulus: lim
dt 't o 0 't
Gambar 2.3 Solusi analitis untuk Persamaan (2.11) adalah proses kebalikan. Persamaan ini disebut perkiraan ‘finite
persoalan penerjun bebas pada divided difference’ dari penurunan saat waktu ti. Yang bila disubstitusikan ke
Contoh 2.1 persamaan (2.9) didapat:

18 | H a l a m a n 19 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Hasilnya digambarkan (Gambar 2.5) bersamaan dengan solusi eksaknya. Sehingga


dapat dilihat bahwa metode numerik menangkap bagian-bagian yang esensial dari
solusi eksaknya. Tetapi, karena kita menerapkan garis lurus yang patah-patah untuk
diubah menjadi: memperkirakan suatu kurva fungsi
yang kontinyu, maka ada perbedaan
.......................(2.12) antara kedua hasilnya. Untuk
mengurangi perbedaannya, gunakan
Perhatikan bahwa elemen yang ada di dalam kurung adalah elemen di kanan dari langkah loncatan yang lebih kecil,
persamaan (2.9), yang berarti bahwa dalam hal ini menghitung pertambahan dari misalnya interval 1 detik yang akan
perubahan atau kemiringan v. Sehingga, persamaan diferensialnya ditransformasikan mengurangi eror-nya sehingga garis
menjadi suatu persamaan yang dapat dipakai untuk menentukan kecepatan patah-patah yang terbentuk mendekati
solusi sebenarnya.
secara aljabar saat ti+1 dengan menggunakan kemiringan dan nilai v dan t
sebelumnya. Jika nilai kecepatan awal saat waktu ti ditentukan, maka anda dapat
dengan mudah menghitung kecepatan di waktu selanjutnya (ti+1). Nilai kecepatan Gambar 2.5 Perbandingan solusi
yang baru ini (saat ti+1) selanjutnya dapat digunakan untuk menghitung kecepatan numerik dan analitis untuk persoalan
selanjutnya lagi (misalnya untuk ti+2), yaitu: penerjun yang terjun bebas

Nilai baru = Nilai lama + kemiringan (slope) x langkah loncatannya Jadi, apabila diterapkan interval yang sangat kecil ( 0), anda akan mendapatkan
hasil yang benar-benar mirip dengan solusi eksaknya yang tentu saja untuk
Catatan: Pendekatan ini biasanya dikenal dengan metode Euler. melakukan itu anda memerlukan bantu komputer untuk merealisasikannya.

2) Contoh 2.2 (Solusi numerik persoalan penerjun yang terjun Dari hasil di atas, kita lihat bahwa akan ada pertimbangan plus-minus antara
bebas) persoalan akurasi dan penerapan komputansi yang berulang.
Soal : Tampilkan perhitungan yang sama seperti pada Contoh 2.1, tetapi
gunakan persamaan (2.12) untuk menghitung kecepatannya. Gunakan B. Teknik dan Hukum Kekekalan
langkah loncatannya 2 detik untuk perhitungan.
Selain dari hukum kedua Newton, masih banyak prinsip-prinsip lainnya yang digunakan
Solusi : Di awal perhitungan (ti = 0), kecepatan penerjunnya adalah 0. Dari di keteknikan. Yang paling penting adalah hukum kekekalan. Meskipun hukum ini
informasi ini dan nilai parameter dari Contoh 2.1, persamaan (2.12) mendasari bermacam model matematika yang rumit dan canggih, hukum kekekalan
dapat dipakai untuk menghitung kecepatan saat (ti+1) = 2 detik : dalam sains dan keteknikan ini secara konseptual nuadah dimengerti. Secara ringkas,
bentuknya:

…………. (2.13)

Untuk interval selanjutnya (dari t = 2 sampai 4 detik), Bentuk ini mirip seperti format yang dipakai untuk mendapatkan kesetimbangan gaya di
perhitungan diulang: hukum Newton untuk penerjun yang terjun bebas (persamaan (2.8)). Bisa anda lihat,
meski sederhana, persamaan (2.13) merupakan salah satu cara paling mendasar dimana
hukum kekekalan dipakai dalam keteknikan, yaitu memprediksi perubahan terhadap
waktu. Persamaan ini dinamakan perhitungan ‘time-variable (or transient)’.

Selain dari memprediksi perubahan, cara yang lain penerapan hukum kekekalan adalah
Perhitungannya dilanjutkan untuk nilai-nilai yang lainnya, untuk kasus-kasus dimana perubahannya tidak terjadi. Jadi, jika perubahan adalah nol,
sehingga didapatkan table di sebelah. persamaan (2.13) menjadi:

20 | H a l a m a n 21 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Tabel 2.1 merumuskan beberapa model keteknikan sederhana dan hukum kekekalan
yang berhubungan yang merupakan dasar dari banyak aplikasi keteknikan. Kebanyakan
Atau: aplikasi teknik kimia fokus pada kesetimbangan massa dalam reaktor. Kesetimbangan
massa diturunkan dari kekekalan massa, yang menyatakan bahwa perubahan massa dari
…………… (2.14) bahan kimia dalam reaktor tergantung pada banyaknya massa yang mengalir masuk
dikurangi yang keluar.

Aplikasi di teknik mesin dan teknik sipil juga fokus pada model yang dikembangkan
dari keke-kalan momentum. Untuk teknik sipil, kesetimbangan gaya dipakai untuk
menganalisis stuktur seperti rangka sederhana di Tabel 2.1. Prinsip yang sama dipakai
juga di aplikasi teknik mesin untuk menganalisis pergerakan transien naik dan turun atau
getaran dari kendaraan bermotor.

Tabel 2.1 Alat dan tipe kesetimbangan yang umum dipakai di 4 bidang utama
keteknikan, dimana setiap kasusnya, didasarkan pada kesetimbangan hukum kekekalan.

Gambar 2.6 Sebuah kesetimbangan aliran untuk aliran fluida tak mampu
mampat tunak pada suatu sambungan pipa

Sehingga, jika tak ada perubahan yang terjadi, increases dan decreases seharusnya
setimbang. Kasus ini dinamakan perhitungan ‘steady state’ yang aplikasinya banyak
dipakai di keteknikan. Sebagai contoh, untuk aliran fluida tak mampu mampat tunak
dalam pipa, aliran masuk sambungan harus setara dengan aliran yang keluar, yaitu:

Untuk sambungan seperti pada Gambar 2.6, kesetimbangan dipakai untuk menentukan
bahwa aliran keluar dari pipa ke-4 haruslah 60.

Untuk kasus penerjun yang terjun bebas, kondisi tunak berhubungan dengan kasus
dimana gaya totalnya adalah nol, atau (persamaan (2.8) dengan dv/dt = 0):

……………….. (2.15)

Sehingga, saat tunak, gaya ke atas dan ke bawah dalam keadaan setimbang, dan
persamaan (2.15) dapat diselesaikan untuk ‘terminal velocity’:

Meskipun persamaan (2.13) dan (2.14) kelihatannya sederhana dan sepele, mereka
merupakan dua aspek dasar dimana hukum kekekalan dipakai dalam keteknikan.
Mereka adalah elemen penting, misalnya untuk mengilustrasikan hubungan antara
metode numerik dan keteknikan.

22 | H a l a m a n 23 | H a l a m a n
Aplikasi Komputer

Selanjutnya, berikut ini adalah beberapa isu praktis dalam aplikasi keteknikan: Bab 3 Aproksimasi, Round-Off Error dan Truncation Error
1. Non linier versus linier

Banyak keteknikan klasik tergantung pada linierisasi untuk mendapatkan solusi


analitis. Meskipun hal ini biasanya dapat diterima, pemahaman yang lebih mendalam A. Angka Signifikan
seringkali diraih jika masalah non liniernya diperhitungkan.

2. Sistem kecil versus besar

Tanpa komputer, penganalisisan sistem dengan lebih dari tiga komponen yang
bekerja, sangatlah jarang dilakukan. Dengan komputer dan metode numerik, sistem
dengan multi komponen secara realistik bisa dilakukan.

3. Non ideal versus ideal

Pengidealan sangatlah lumrah di keteknikan. Seringkali, pada suatu kasus sebenarnya


kondisi non ideal lebih realistik, tetapi untuk itu dituntut komputasi yang lebih lagi.
Sehingga, pendekatan perkiraan secara numerik dapat memfasilitasi pengaplikasian
hubungan non ideal ini.
Gambar 3.1 Speedometer dan odometer mengilustrasikan konsep angka signifikan
4. Analisis Kesensitifan
Dari gambar diatas, terlihat speedometer menunjukkan mobil berjalan dengan kecepatan
Karena benar-benar terpakai, banyak perhitungan manual butuh banyak waktu dan 48 atau 49 km/jam. Mungkin lebih tepatnya sekita 49 km/jam. Jika diinginkan 1 angka
usaha demi implementasi yang sukses. Hal ini terkadang menyurutkan para analis dibelakang koma, maka kita masih bisa memperkirakan kira-kira nilainya 48,7 atau
untuk memakai pengimplementasian multi komputasi yang seenarnya diperlukan mungkin 48,8 km/jam. Adanya keterbatasan speedometer tadi menyebabkan kita tak
untuk melihat bagaimana suatu sistem bereaksi di bawah kondisi yang berbeda. dapat memastikan (hanya mengira saja) digit ketiga (digit kedua di belakang koma). Jadi
Sepertinya, analisis kesensitifan difasilitasi saat metode numerik membolehkan menggelikan sekali kalau kita memperkirakan kece-patan mobil itu 48,8642138 km/jam.
komputer mengasumsikan hal-hal yang perlu/rumit.
Angka signifikan menyatakan suatu kehandalan sebuah nilai numerik. Banyaknya angka
5. Desain signifikan adalah banyaknya digit tertentu yang dapat meyakinkan kita. Speedometer
tadi memiliki taksiran 3 angka signifikan. Sedangkan odometernya memiliki taksiran 7
Penentuan perfomansi suatu sistem sebagai fungsi dari parameter-parameternya, angka signifikan.
seringkali langsung ditentukan saja. Dan biasanya akan lebih sulit lagi untuk
menyelesaikan kebalikannya, yaitu menentukan parameter-parameternya saat Selain itu, adanya beberapa angka 0 (setelah tanda koma / desimal tapi sebelum angka
perfomansi sudah ada (sudah ditentukan). Biasanya dengan metode numerik dan lainnya), tak selamanya menyatakan angka signifikan, karena mereka sekedar
komputer, pengimplementasiannya dilakukan dengan langkah yang efisien. menyatakan bilangan per (sekian) saja. Jadi bilangan 0,00001845, lalu 0,0001845, lalu
0,001845, semuanya memiliki 4 angka signifikan.

Sebaliknya, jika beberapa angka 0 dipakai di bagian ekor suatu bilangan (tak jelas
berapa banyaknya), jumlah angka 0 inilah yang signifikan. Misalnya: 45,300 dapat
memiliki 3, 4, atau 5 buah angka signifikan (tergantung apakah harga 0 itu telah
diketahui dengan pasti atau tidak). Ketidakpastian ini dapat diselesaikan dengan notasi
ilmiah, yaitu 4,53 x 104, 4,530 x 104, 4,5300 x 104 yang menandakan bahwa angka-
angka tersebut memiliki 3, 4, dan 5 angka signifikan.

24 | H a l a m a n 25 | Halaman
Aplikasi Komputer Aplikasi Komputer

Implikasi dari angka signifikan: metode numerik mengandung hasil pendekatan. x Kesalahan pembulatan (round-off error), terjadi saat angka aproksimasi dipakai
Keyakinannya ditentukan oleh angka signifikan. Pernyataan secara eksak besaran yang untuk menyatakan angka-angka eksak.
signifikan, dibatasi oleh tipe data yang disimpan komputer dalam digit tertentu,
selebihnya diabaikan. Peng-abaian ini dinamakan dengan kesalahan pembulatan (round- Hubungan antara hasil yang eksak / benar dan aproksimasinya dapat dirumuskan:
off error).
Nilai sebenarnya = Nilai aproksimasi + error .............. (3.1)
B. Akurasi dan Presisi
sehingga kesalahan (error) adalah:
Akurasi mengacu pada seberapa dekatnya nilai perhitungan / pengukuran terhadap harga
sebenarnya. Sedangkan presisi (mengacu pada jumlah angka signifikan yang) Et = Nilai sebenarnya - Nilai aproksimasi ................(3.2)
menyatakan seberapa dekatnya suatu nilai perhitungan / pengukuran terhadap hasil
Dimana: Et adalah nilai error eksak (dengan t berarti benar (true)).
perhitungn / pengukuran yang lainnya.
Bila besaran diperhitungkan dengan menormalisasi error terhadap harga sebenarnya:
Konsep ini dapat diilustrasikan secara grafis dengan analogi papan ‘dart’. Di gambar 3.2
bisa kita lihat perbedaan antara akurasi dan presisi. Anggap saja titik di tengah papan Error eksak
‘dart’ itu menyatakan nilai ‘benar’. Ketidakakurasian (disebut juga ‘bias’) dinyatakan Error relatif fraksional ................(3.3a)
sebagai deviasi (penyimpangan) sitematik dari nilai ‘benar’. Ketidakpresisian (disebut nilai sebenarnya
juga ‘uncertainty’)
Error relatif juga bisa dikalikan dengan persentase:

Error eksak
Ht 100% ................(3.3b)
nilai sebenarnya

Dimana t menunjukkan error relatif persen eksak.

1) Contoh 3.1 (Kalkulasi Error)


Soal : Anggap anda punya tugas untuk mengukur panjang sebuah jembatan dan
paku keling yang panjangnya 9999 dan 9 cm. Jika harga sebenarnya
adalah 10.000 dan 10 cm, hitunglah a) error eksaknya dan b) error relatif
persen eksaknya.
Gambar 3.2 Contoh ilustrasi konsep akurasi dan presisi. .
a) tak akurat, tak presisi; b) akurat, tak presisi; c) tak akurat, presisi; d) akurat, presisi. Solusi : a) Error eksak dihitung dengan persamaan (3.2):

Et = 10.000 – 9999 = 1 cm (untuk jembatan)


Metode numerik seharusnya cukup akurat (tidak bias) dalam penyelesaian masalah di
teknik. Dan juga seharusnya cukup presisi untuk pendesainan teknik yang baik. Et = 10 – 9 = 1 cm (untuk paku keling)

C. Definisi Error (Kesalahan) b) Error relatif persen eksak dihitung dengan pers. (3.3):

Error secara numerik timbul dari penggunaan aproksimasi. Yang meliputi: 1


Ht 100% 0.01% (untuk jembatan)
10000
x Kesalahan pemotongan (truncation error), terjadi saat aproksimasi dipakai untuk
menyatakan prosedur matematika eksak. 1
Ht 100% 10% (untuk paku keling)
10

26 | H a l a m a n 27 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Jadi, meski error eksasknya sama-sama 1 cm, error relatif paku keling 2) Contoh 3.2 (Estimasi error untuk metode iterasi)
lebih besar. Kita sudah sukses untuk pengukuran panjang jembatan,
sebaliknya untuk pengu-kuran panjang paku keling, errornya sulit Soal : Di matematika, fungsi seringkali dinyatakan dengan deret tak hingga.
diterima. Misalnya, fungsi eksponensial dapat dihitung dengan:

Anda perhatikan, di persamaan (3.2) dan (3.3), E dan  memiliki elemen subskrip t yang x2 x3 xn
menyatakan errornya diaproksimasi terhadap harga sebenarnya. Tapi dalam ex 1 x    .....  ...............(E3.2.1)
2 3! n!
kenyataannya, sangat jarang kita mengetahui harga sesungguhnya itu (bisa didapat kalau
memakai fungsi yang dapat diselesaikan secara analitis). Karena itu digunakan cara Persamaan ini dikenal dengan perluasan deret Maclaurin, dimana
alternatifnya (untuk menormalisasi error dengan menggunakan tafsiran terbaik dari
aproksimasi nilai eksak ex akan menjadi semakin baik, seiring semakin
harga sebenarnya, yaitu:
panjang / banyak deretnya.
Error aproksimasi
Ha 100% ................(3.4) Dimulai dari versi sederhananya, ex = 1, tambahkan terus suku deretnya
nilai aproksimasi
satu demi satu untuk estimasi e 0.5 . Setelah setiap sukunya ditambahkan,
dengan a menyatakan bahwa errornya dinormalisasi menjadi suatu nilai aproksimasi. hitung error eksak dan aproksimasikan error relatif persen dengan
Perlu dicatat bahwa untuk aplikasi di dunia nyata, persamaan (3.2) tidak dapat dipakai persamaan (3.3) dan (3.5). Sebagai catatan, nilai eksak e 0.5
untuk menghitung masalah error di persamaan (3.4). Salah satu tantangan di metode =1.648721....... Tambahkan sukunya sampai nilai absolut dari taksiran
numerik adalah menentukan tafsiran error saat nilai sebenarnya tidak diketahui, error aproksimasi H a di bawah kriteria error H s yang disyaratkan.
contohnya, metode numerik tertentu memakai pendekatan iterasi untuk mencari .
jawabannya. Pada pendekatan ini, aproksimasi yang sekarang didapatkan dari Solusi : Pertama, persamaan (3.7) dapat dipakai untuk menentukan kriteria error
aproksimasi sebelumnya. Proses ini dilakukan secara berulang / iterasi, untuk yang menjamin hasilnya benar (minimal dengan tiga angka signifikan):
mendapatkan aproksimasi yang lebih baik. Pada beberapa kasus, error seringkali
ditafsirkan sebagai perbedaan antara aproksimasi yang sekarang dengan yang Hs (0.5 x 10 23 )% 0.05%
sebelumnya, sehingga error relatif persen dinyatakan dengan:
Jadi, kita tambahkan sukunya ke deret sampai nilai H a di bawah nilai ini.
aproksimasi yang sekarang  aproksimasi yang sebelumnya
Ha 100% ................(3.5)
aproksimasi yang sekarang Taksiran pertama (persamaan E3.2.1) dengan suku tunggal, sehingga
taksiran pertama = 1. Taksiran kedua didapatkan dengan menambahkan
Nilai persamaan (3.2) dan (3.5) bisa positif atau negatif. Tapi itu tidaklah penting, karena suku kedua. yaitu:
yang diperlukan adalah nilai absolutnya. Karena itu, pada kasus tersebut, komputasi ex 1 x
diulang sampai:
atau, untuk x = 0.5,
H a  H s ................(3.6) e 0.5 1  0.5 1.5

Ini menyatakan error relatif persen eksak dari pers. (3.3)


Jika hubungan ini bertahan, hasilnya diasumsikan mendekati level H s yang diterima (dan
1.648721  1.5
yang disyaratkan). Sebagai catatan, kita akan seringkali memakai nilai absolut ini saat Ht 100% 9.02%
kita menggunakan error relatif. Juga, hal yang lumrah untuk mengaitkan error ini dengan 1.648721
jumlah angka signifikan dalam aproksimasi. Bisa dilihat (Scarborough, 1966), jika
kriterianya terpenuhi, kita dapat yakin bahwa hasilnya adalah benar (setidaknya pada Persamaan (3.5) dapat dipakai untuk menyatakan sebuah taksiran
angka signifikan ke-n). aproksimasi dari errornya, seperti:
1.5  1
Ha 100% 33.3%
................. (3.7) 1.5

28 | H a l a m a n 29 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Karena H a masih di atas nilai H s , komputasi dilanjutkan dengan 1) Error Representasi


menambahkan suku lainnya, x2/2!, dan mengulangi kalkulasi errornya.
Error yang dihasilkan dengan percobaan untuk merepresentasikan suatu angka di
Prosesnya berlanjut sampai H a < H s . Semua komputasinya ada di tabel
komputer disebut error representasi. Beberapa contohnya dapat dilihat di tabel
berikut: berikut:

Jadi, setelah enam suku dihitung, error aproksimasinya berada di bawah


H s 0.05% dan komputasinya berakhir. Perhatikan, hasilnya bukan
hanya terdiri dari tiga angka signifikan, melainkan 5. Bertambahnya jumlah angka yang diizinkan dalam suatu representasi akan
mengurangi tingkat kemungkinan terjadinya round-off error, tetapi banyaknya
D. Round-Off Error representasi dibatasi oleh angka hingga yang banyak (yang juga dapat menyebabkan
round-off error untuk bilangan nyata (real) yang tak terhitung banyaknya. Error
Kesalahan pembulatan (round-off error) berawal dari fakta bahwa komputer hanya dapat seperti ini tak bisa dihindari untuk representasi angka konvensional, tetapi dapat
menyimpan sejumlah angka signifikan selama kalkulasi. Bilangan seperti , e, atau 7 dikurangi dengan penggunaan angka penjaga (guard digits).
tak bisa diekspresikan dengan jumlah angka signifikan yang tetap. Sebagai tambahan,
karena komputer berdasarkan basis dua (bilangan biner), maka tidaklah bisa menyatakan Pembulatan ganda dapat meningkatkan round-off error. Misalnya, jika angka
angka yang berbasis 10 (bilangan desimal) seecara presisi. Ketidaksesuaian akibat 9,945309 dibulatkan menjadi dua angka di belakang koma (9,95) untuk entry data,
pengurangan / kehilangan angka signifikan inilah yang disebut dengan kesalahan lalu dibulatkan lagi menjadi satu angka di belakang koma (10,0) untuk display-nya,
pembulatan (round-off error). maka round-off
error-nya menjadi 0,054691. Padahal kalau angka aslinya (9,945309) dibulatkan
Juga, analisis numerik secara spesifik berusaha menaksir error ini saat menggunakan menjadi satu angka di belakang koma (9,9), sehingga round-off error-nya hanya
persamaan dan/atau algoritma aproksimasi, terutama saat menggunakan angka hingga 0,045309.
yang banyak untuk menyatakan bilangan nyata (yang dalam teori adalah angka tak
hingga yang banyak). Ini merupakan bentuk dari kesalahan quantisasi (quantization Ada lima cara standar untuk melakukan pembulatan (sesuai dengan aritmetika
error). standar IEEE):

Selain itu, perlu diketahui bahwa selama kalkulasi, komputer hanya dapat menyimpan x round to zero Pembulatan ke nol, dilakukan dengan langsung memotong
angka signifikan dalam jumlah tertentu saja. Contohnya adalah angka 3,14159265. angka yang tersisa; disebut juga truncation. 0,142857 
Angka tersebut akan disimpan sebagai 3.141592, sehingga terdapat error sebesar 0,142 (dengan membuang semua angka setelah desimal
0,00000065. Adapun teknik untuk penyimpanan di komputer disebut ‘chopping’ (yang ketiga).
tergantung pada tipe data yang digunakan). Di teknik ini, cara yang paling mudah adalah x round to nearest Pembulatan ke nilai terdekat, yaitu dengan dua cara;
dengan cukup mengambil digit bilangan yang disesuaikan dengan maksimal tipe datanya 0,142857  0,143 (Pembulatan untuk tiga desimal.
(dan ini sering kali dilakukan). Cara lainnya adalah dengan memperhitungkan juga Dibulatkan ke atas karena 8 > 5). 0,142857  0,14 (Pem-
angka selanjutnya (yang akan dipotong), apakah angka yang akan dipotong tadi perlu bulatan untuk dua desimal. Dibulatkan ke bawah karena 2
dipotong atau tidak. Tetapi cara ini akan memperlama waktu komputasi, karena itulah < 5).
cara pertama tadilah yang diambil, yaitu ‘chopping’ sederhana. x round to - Pembulatan selalu dilakukan ke arah kiri dari deretan
bilangan.

30 | H a l a m a n 31 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

x round to + Pembulatan selalu dilakukan ke arah kanan dari deretan Persamaan 3.9 menghasilkan taksiran yang sempurna jika fungsi yang diaproksimasi
bilangan. adalah konstan. Bila fungsinya berubah sepanjang suatu interval, suku tambahan
x round to up or down Jika angka terakhirnya 5, tak masalah dibulatkan ke atas diperlukan agak taksirannya tetap baik. Jadi suku keduanya:
atau ke bawah karena round-off errornya sama saja.
f xi 1 # f xi  f ' xi xi 1  xi .....................(3.10)
2) Cara Meminimalkan Round-Off Error
Dimana, suku yang baru terdiri dari kemiringan (slope) f’(xi) dikalikan dengan jarak
Efek round-off error dapat diminimalisasi dengan mengubah komputasi antara xi dan xi+1. Dari ekspresi di atas, kita bisa memprediksi pertambahan atau
algoritmanya (walaupun kemungkinan satu kasus berbeda dengan kasus lainnya). pengurangan fungsi antara xi dan xi+1 (yang berupa garis lurus atau linier).
Beberapa strategi yang dapat dipakai adalah:
Sedangkan untuk memprediksi titik tambahan lainnya (sehingga persamaannya
x Mengubah tipe datanya menjadi presisi ganda ‘double precision’ [McCracken]. menjadi kurva), perlu ditambahkan suku selanjutnya (suku ketiga):
x Grouping
x f ' ' xi
Perluasan deret Taylor f xi 1 # f xi  f ' xi xi 1  xi  xi 1  xi 2 .....................(3.11)
x Mengubah definisi variabel 2!
x Menuliskan kembali persamaan penting (yang dapat mencegahnya dari operasi
pengurangan). Dengan cara yang sama, suku selanjutnya bisa ditambahkan untuk mendapatkan
deret Taylor yang lengkap:
E. Truncation Error
f ' ' xi
f xi 1 # f xi  f ' xi xi 1  xi  xi 1  xi 2
Kesalahan pemotongan (truncation error) diakibatkan adanya penggunaan aproksimasi 2!
untuk menggantikan prosedur matematika eksak. Sebagai contoh, di bab sebelumnya,
kita mengaproksimasikan turunan dari keepatan penerjun yang terjun bebas (persamaan f ( 3) x i f ( n ) xi
2.11):  xi1  xi 3  ...... xi 1  xi n  Rn .....................(3.12)
3! n!
dv 'v v t1i 1  v t i
# .....................(3.8)
dt 't t i 1  t i Perlu dicatat, Karena persamaan (3.12) adalah deret tak hingga, maka tanda sama
dengan (=) seharusnya diganti menjadi tanda aproksimasi seperti yang dipakai pada
Kesalahan pemotongan (truncation error) digunakan dalam solusi numerik karena persamaan (3.9). Suku sisa diikutkan untuk menghitung semua sukunya dari n + 1
persamaan diferensial hanya mengaproksimasi nilai eksak dari turunan (gambar 2.4). sampai tak hingga:

f ( n 1) [
1) Deret Taylor Rn x  x n1 .....................(3.13)
n  1 ! i 1 i
Teorema Taylor dan rumusnya (deret Taylor) sangat berguna dalam studi metode
numerik. Intinya, deret Taylor dapat memprediksi nilai suatu fungsi di suatu titik, Dimana tanda n berarti aproksimasi orde ke-n dan [ adalah nilai dari x yang ada di
dimana dikatakan bahwa suatu fungsi yang mulus dapat diaproksimasikan menjadi antara xi dan xi+1. Pengenalan [ sangatlah penting karena selanjutnya kita banyak
sebuah polinomial. membahas tentang penurunan. Selain itu, deret Taylor juga bisa di sederhanakan
dengan mengambil langkah step h = xi+1 - xi:
Cara termudah untuk memahami derat Taylor, dengan mengem-bangkan sukunya
satu per satu. Misalnya, suku pertamanya: f ' ' xi 2 f (3) xi 3
f xi 1 # f xi .....................(3.9) f xi 1 f xi  f ' xi h  h  h  ......
2! 3!
f ( n ) xi n
Hubungan di atas disebut aproksimasi orde nol (zero-order approximation) yang  h  Rn ...........(3.14)
menyatakan bahwa nilai f di titik yang baru sama dengan nilainya di titik yang lama. n!
Hasil ini dimungkinkan bila xi dan xi+1 jaraknya dekat (bahkan sangat dekat).

32 | H a l a m a n 33 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Dimana suku sisanya menjadi: Untuk n = 2, turunan kedua harus dievaluasi saat x = 0:

f ( n 1) [ n 1 f’(0) = – 1,2 (0,0)2 – 0,9 (0,0) – 1.0 = - 1,0


Rn h .....................(3.15)
n  1 !

Contoh 3.3 (Aproksimasi deret Taylor dari suatu Polinomial)

Soal : Gunakan perluasan deret Taylor orde ke-0 sampai ke-4 untuk
mengaproksimasi fungsi f(x) = - 0,1 x4 – 0,15 x3 – 0,5 x2 – 0,25 x + 1.2
(untuk xi = 0 dengan h = 1). Jadi, prediksilah nilai fungsi saat xi+1 = 1.
.
Solusi : Karena kita berurusan dengan fungsi yang tak dikenal, kita dapat
menghitung nilai untuk f(x) antara 0 dan 1. Hasilnya (Gambar 3.3)
menunjukkan bahwa fungsi dimulai dari f(0) = 1,2 lalu menurun sampai
f(1) = 0,2. Sehingga, nilai eksak yang coba kita prediksi adalah 0,2.

Aproksimasi deret Taylor dengan n = 0 (didapat dengan persamaan 3.9)


adalah:
Gambar 3.3 Aproksimasi dari f(x) = - 0,1 x4 – 0,15 x3 – 0,5 x2 – 0,25 x + 1.2
f xi 1 # 1,2
Sehingga aproksimasi orde kedua (persamaan 3.11) adalah:
Sehingga, seperti di Gambar 3.3, aproksimasi orde nol adalah konstan. f xi 1 # 1,2  0,25h  0,5h 2
Dengan rumus ini menghasilkan truncation error (persamaan 3.2):
dan substitusikan h = 1, f(1) = 0,45. Dan truncation error-nya berkurang
Et = 0,2 – 1,2 = - 1,0 menjadi:
pada x = 1. Et = 0,2 – 0,45 = - 0,25
Untuk n = 1, turunan pertama harus dievaluasi saat x = 0: Penambahan suku akan meningkatkan aproksimasi lebih baik lagi.
Kenyataannya, penambahan turunan ke-3 dan ke-4 menghasilkan
persamaan yang benar-benar sama dengan persamaan awal kita:
f’(0) = - 0,4 (0,0)3 – 0,45 (0,0)2 – 1,0 (0,0) – 0,25 = - 0,25

pada x = 1 (orde 0, orde 1, dan orde 2) pada perluasan deret Taylor. f(x) = 1.2 – 0,25 h – 0,5 h2 – 0,15 h3– 0,1 h4

Sehingga aproksimasi orde pertama (persamaan 3.10) adalah: Dimana suku sisanya
f (5) [ 5
f xi 1 # 1,2  0,25h R4
5!
h 0

yang dapat dipakai untuk menghitung f(1) = 0,95. Karena turunan ke-5 dari polinomial orde ke-4 adalah nol. Maka dapat
disimpulkan bahwa perluasan deret Taylor ini (sampai turunan ke-4)
Dengan rumus ini menghasilkan truncation error: merupakan suatu taksiran eksak saat xi+1 = 1, yaitu:

Et = 0,2 – 0,95 = - 0,75 f(1) = 1.2 – 0,25 (1) – 0,5 (1)2 – 0,15 (1)3– 0,1 (1)4 = 0,2

34 | H a l a m a n 35 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Pada umumnya, perluasan deret Taylor akan menghasilkan nilai yang eksak untuk Penyederhanaan alternatifnya (yang mentransformasi aproksimasi menjadi suatu
polinomial orde ke-n. Untuk fungsi diferensial dan fungsi kontinu lainnya (seperti persamaan) adalah berdasarkan pemahaman secara grafis. Seperti di Gambar 3.5,
eksponensial dan sinusoidal), didapatkan hasil yang kurang memuaskan (untuk suatu teorema nilai rata-rata turunan menyatakan bahwa jika suatu fungsi f(x) dan
jumlah sukunya). Karena, penambahan orde-orde berikutnya hanya memberikan turunan pertamanya berkelanjutan sepanjang interval xi sampai xi+1, juga eksis
sedikit perbaikan terhadap aproksi-masinya. Hasil yang mendekati nilai eksak hanya setidaknya pada fungsi yang punya kemiringan (‘slope’, ditandai dengan f’([)) yang
didapatkan bila jumlah sukunya tak hingga. paralel terhadap garis yang menghubungkan f(xi) dan f(xi+1). Parameter [ menandai
nilai x-nya dimana slope ini terjadi (Gambar 3.5). Sebuah ilustrasi fisik teorema ini
2) Suku Sisa Perluasan Deret Taylor adalah jika anda berusaha berjalan antar dua titik dengan kecepatan rata-rata, maka
akan ada setidaknya suatu momen (selama perjalanan itu) saat kecepatan anda di
Anggap kita memotong perluasan deret Taylor (persamaan 3.13) setelah suku orde bawah atau di atas kecepatan rata-rata itu.
nol, sehingga:
f xi 1 # f xi Dengan memperhatikan teorema ini, kita akan sadar bahwa (seperti diilustrasikan di
Gambar 3.5) ‘slope’ f’([) sama dengan kenaikan R0 dibagi laju h, atau:
R0
Gambaran visual dari prediksi orde nol ini ditunjukkan di Gambar 3.4. Sisa (error) f ' [
dari prediksi (yang juga ditunjukkan di ilustrasi), terdiri dari deret suku yang tak h
hingga yang terpotong: yang dapat diubah menjadi:
f ' ' xi 2 f (3) xi 3
R0 f ' xi h  h  h  ...... R0 f ' [ h .................(4.17
2! 3!

Nyata bahwa susah diterima bila harus berhubungan dengan sisa ini dalam format Jadi, kita sudah mendapatkan versi orde nol dari persamaan (3.15). Versi orde yang
deret yang tak hingga. Salah satu penyederhanaannya bisa dengan memotong lagi lebih tinggi hanyalah ekstensi logika seperti yang dipakai untuk mendapatkan
suku sisa tadi: persamaan (3.17). Versi orde pertamanya:
R0 # f xi h .....................(3.16)
f '' [ 2
R1 h .................(3.18)
2!

Gambar 3.4 Gambaran grafis prediksi dan sisa dari deret Taylor orde nol

Meski, dinyatakan sebelumnya, turunan orde rendah biasanya dianggap berperan Gambar 3.5 Gambaran grafis dari teorema nilai tengah turunan
lebih besar terhadap sisa suku, hasilnya tetaplah tidak eksak karena adanya
pengabaian suku kedua(dan / atau yang berorde tinggi). Ketidakeksakan ini Untuk kasus ini, nilai [ mendekati nilai x yang berhubungan dengan turunan kedua,
dinyatakan oleh simbol sama dengan aproksimasi (#) seperti di persamaan (3.16). sehingga persamaan (3.18) eksak. Versi orde yang lebih tinggi yang sama dapat
dikembangkan dari persamaan (3.15).

36 | H a l a m a n 37 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

3) Pernggunaan Deret Taylor untuk Perkiraan Truncation Error 4) Diferesiasi Numerik


Walaupun deret Taylor sangat berguna dalam menaksir truncation error, tapi Persamaan (3.21) diberi label resmi dalam metode numerik, yaitu diferensi terbagi
mungkin masih kurang jelas bagaimana sesungguhnya perluasan tersebut dapat hingga (finite divided difference). Secara umum dapat dinyatakan sebagai:
diterapkan untuk metode numerik. Faktanya, kita sudah memakainya dalam contoh
penerjun yang terjun bebas. Ingatlah, bahwa tujuan Contoh 2.1 dan Contoh 2.2 f xi 1  f xi
adalah untuk memprediksi kecepatan sebagai fungsi waktu. Jadi kita tertarik untuk f ' xi  O xi 1  xi .....................(4.22)
xi 1  xi
menentukan v(t). Seperti tertulis pada persamaan (3.12), v(t) dapat diperluas ke suatu
atau
deret Taylor:
' fi
v' ' ti f xi 1  O h .....................(4.23)
v ti 1 v ti  v' ti ti 1  ti  ti 1  ti 2  ......  Rn ............ 3.19 h
2!
Diman fi dianggap sebagai diferensi depan pertama (first forward difference) dan h
Sekarang mari kita potong deretnya sesudah suku turunan pertama: disebut ukuran step-nya, yang merupakan panjang interval selama aproksimasi
dibuat. Disebut diferensi “ke depan” karena memanfaatkan data pada i dan i+1 untuk
menaksir turunan-nya (Gambar 3.6a). Keseluruhan suku fi / h dianggap sebagai
v t i 1 v t i  v' t i t i 1  t i  R1 ............ 3.20 suatu diferensi terbagi hingga pertama (first finite divided difference).

Lalu persamaan (3.20) dapat diselesaikan dengan: Diferensi terbagi ke depan ini merupakan satu dari banyak deret Taylor yang dapat
dikembangkan untuk mencari aproksimasi turunan secara numerik. Misalnya,
aproksimasi diferensi terpusat dan diferensi mundur dari turunan pertama yang
v t i 1  v t i R1 dapat dikembangkan dengan cara yang mirip dengan penurunan pada persamaan
v' t i  ............ 3.21 (3.21). Dimana yang ‘terpusat’ memakai data pada xi+1 dan xi (Gambar 3.6b),
t i 1  t i t i 1  t i


sedangkan yang ‘ke belakang’ menggunakan nilai yang berspasi relatif sama di
Aproksimasiordepertama Truncationerror
sekitar titik dimana turunannya ditaksirkan (gambar 3.6c).
Bagian pertama persamaan (3.20) merupakan hubungan yang benar-benar sama
Aproksimasi turunan pertama yang lebih akurat didapatkan dengan mengikutkan
dengan yang dipakai untuk mengaproksimasi turunan di Contoh 2.2. Tapi, dengan
suku deret Taylor berorde lebih tinggi. Terakhir, semua versi di atas dapat juga
pendekatan deret Taylor, sekarang kita harus mendapatkan suatu taksiran dari
dikembangkan untuk turunan kedua, ketiga dan yang lebih lagi. Berikut ini
truncation error yang berkaitan dengan aproksimasi turunannya. Dengan persamaan
rangkuman singkat yang mengilustrasikan bagaimana kasus-kasus di atas diturunkan.
(3.13) dan (3.21) didapatkan:
a) Aproksimasi diferensi mundur dari turunan pertama
R1 v' ' [
ti1  ti ............ 3.22 Deret Tylor dapat diperluas dengan mundur untuk menghitung harga sebelumnya
t i 1  t i 2! berdasarkan harga sekarang, yaitu:
atau
f ' ' xi 2
R1
O t i 1  t i ............ 3.23 f xi 1 f xi  f ' xi 1 h  h  ....................(3.24)
t i 1  t i 2!

Potong persamaan ini setelah turunan pertama:


Sehingga, taksiran turunan (persamaan (2.11)) atau bagian pertama dari persamaan
(3.21) punya orde truncation error ti 1  ti . Dengan kata lain, error dari aproksimasi
turunan kita haruslah proporsional dengan ukuran step-nya. Konsekuensinya, jika f xi  f ( xi 1 ) ’f 1
ukuran step-nya dibagi dua, diharapkan error dari turunannya dibagi dua juga. f ' xi # ....................(4.25)
h h

38 | H a l a m a n 39 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Dimana error-nya adalah O(h), dan ’f1 merupakan diferensi mundur pertama. pernyataan turunan yang lebih akurat (Gambar 3.6c). Misalnya, jika kita
Lihat gambar 3.6b untuk representasi grafisnya. membagi dua ukuran stepnya dengan diferensi maju atau mundur, maka secara
aproksimasi truncation errornya juga menjadi separuh, dimana untuk diferensi
terpusat, errornya dapat menjadi seperempatnya.

c) Aproksimasi diferensi hingga dari turunan lebih tinggi


Selain turunan pertama, perluasan deret Tylor dapat digunakan untuk
menurunkan taksiran numerik dari turunan yang lebih tinggi. Untuk
melakukannya, tulis sebuah perluasan maju deret Taylor untuk f(xi+2) dengan
suku f(xi):
f ' ' xi
f xi  2 f x i  f ' x i ( 2h )  (2h) 2  ..................(3.28)
2!

Persamaan (3.26) dapat dikalikan 2 dan dikurangi persamaan (3.28), hasilnya:


f xi  2  2 f ( xi 1 )  f xi  f ' ' xi (h)2  ...

Gambar 3.6 Gambaran grafis aproksimasi penurunan pertama: a) maju; yang dapat diselesaikan untuk:
b) mundur; c) terpusat
f xi  2  2 f ( xi 1 )  f xi
f ' ' xi  O(h) ....................(3.29)
b) Aproksimasi diferensi terpusat dari penurunan pertama h2
Cara ketiga untuk mengaproksimasi turunan pertama adalah dengan membuang Hubungan ini disebut diferensi maju terbagi hingga kedua (second forward finite
persamaan (3.24) dari perluasan maju deret Taylor: divided difference). Manipulasi yang sama dapat dipakai untuk menurunkan
versi mundurnya:
f ' ' xi 2
f xi 1 f xi  f ' xi h  h  ...................(3.26)
2! f xi  2 f ( xi 1 )  f xi  2
f ' ' xi  O ( h)
menghasilkan: h2
2 f 3 xi 3
f xi 1 f ( xi 1 )  2 f ' xi h  h  ..... dan versi terpusatnya:
3!
f xi 1  2 f ( xi )  f xi 1
yang dapat diselesaikan untuk: f ' ' xi  O (h 2 )
h2
f xi 1  f ( xi 1 ) f 3 xi 2
f ' xi  h  ..... Sama seperti pada kasus aproksimasi turunan pertama, yang terpusat lebih
2h 6 akurat. Dimana versi terpusat dapat ditulis juga:
atau
f xi 1  f ( xi 1 ) f xi 1  f ( xi ) f ( xi )  f ( xi 1 )
f ' xi  O(h 2 ) ....................(3.27) 
2h f ' ' xi h h
h
Persamaan (3.26) adalah sebuah representasi diferensi terpusat untuk turunan
pertama. Perhatikan bahwa truncation error adalah berorde h2 yang bertentangan Sehingga, hanya jika turunan kedua adalah turunan dari turunan, maka
dengan aproksimasi maju (mundur) yang berorde h. Akibatnya, analisis aproksimasi diferensi terbagi kedua adalah diferensi dari dua diferensi terbagi
deret Taylor mengandung informasi praktis bahwa diferensi terpusat merupakan pertama.

40 | H a l a m a n 41 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

F. Kesalahan Numerik Total tidak terlalu dominan. Meski demikian, round-off error terkadang benar-benar terjadi
dan diperlukan prinsip
Kesalahan numerik total adalah penjumlahan dari truncation error dan round-off error.
Secara umum, satu-satunya jalan untuk meminimalisasi round-off error adalah dengan numerik tak tentu (numerical uncertainty principle) untuk menye-lesaikannya. Dimana
menaikkan jumlah angka signifikan di komputer. Juga didapatkan bahwa round-off error prinsip ini menempatkan suatu batas (limit) absolut terhadap akurasi, sehingga
akan bertambah karena jumlah komputasi dalam analisis dinaikkan. Sebaliknya, selanjutnya bisa diselesaikan dengan metode komputasi numerik tertentu.
truncation error dapat dikurangi dengan mengurangi ukuran step. Karena pengurangan
ukuran step mengakibatkan kenaikkan komputasi. Jadi, truncation error berkurang jika G. Kekeliruan, Kesalahan Perumusan dan Ketidakpastian Data
round-off error bertambah.
Walaupun sumber kesalahan berikut ini tidak secara langsung berhubungan dengan
Sehingga di sini ada satu dilema (buah simalakama). Dimana, dalam komputasi, kita bisa kebanyakan metode numerik, tapi dampak dari kesalahan ini cukup besar. Karena itu,
mengurangi ukuran step untuk meminimalkan truncation error. Hanya saja, dengan step kehadiran mereka tetap perlu diperhitungkan dalam penerapan metode-metode dengan
yang kecil akan menghasilkan output yang angka di belakang komanya panjang sekali, teknik numerik di dunia nyata.
sehingga perlu untuk dilakukan pembulatan (sehingga akan muncul roumd-off error
yang akan besar juga). 1) Kekeliruan

Tantangannya adalah untuk mencari suatu ukuran step yang pas untuk suatu komputasi Kita semua akrab dengan banyak kesalahan, atau kekeliruan (blunder). Di awal
tertentu. Untuk lebih mudahnya, kita lihat saja Gambar 3.7, dimana kita berharap dapat pengembangan komputer, hasil kesalahan numerik terkadang menyebabkan
memilih ukuran step yang besar untuk mengurangi banyaknya pengkalku-lasian dan malfungsi terhadap komputer itu sendiri. Sekarang tidaklah demikian lagi, dan
round-off error tanpa dirugikan oleh truncation error yang besar pula. Jika error total kebanyakan blunder diakibatkan ketidaksempurnaan manusianya.
seperti yang digambarkan di Gambar 3.7, tantangannya adalah mengiden-tifikasikan titik
balik pengurangannya dimana round-off error mulai meniadakan keuntungan dari Blunder dapat terjadi di setiap tahaf proses pemodelan matematika dan
reduksi ukuran step. mempengaruhi semua komponen error. Hal ini dapat dihindari dengan pemahaman
prinsip fundamental dan memperhatikan cara pendekatan desain solusi terhadap
suatu masalah.

Blunder biasanya disepelekan dalama diskusi metode numerik. Padahal, dari yang
kita tahu, kesalahan adalah sesuatu yang tak bisa dielakkan. Meskipun demikian, ada
sejumlah cara unuk meminimalisasinya. Salah satunya dengan menggunakan
kebiasaan pemprograman yang baik (seperti dituliskan di Bab 2 dan 4).

2) Kesalahan Perumusan
Kesalahan perumusan / kesalahan model berhubungan dengan bias / penyimpangan
akibat model matematika yang tak sempurna. Sebuah contoh dari kesalahan
perumusan yang diabaikan adalah fakta bahwa hukum kedua Newton adalah tidak
memperhitungkan efek relativitas. Hal ini tidak mengurangi kelayakan solusi di
Contoh 2.1 karena error ini minimal untuk skala ruang dan waktu si penerjun.
Gambar 3.7 Gambaran grafis kompromi antara round-off error dan truncation error
Bagaimanapun, tahanan udara secara linier tidaklah proporsional terhadap kecepatan
yang terkadang muncul dalam metode numerik. Terlihat titik balik
jatuh (seperti di persamaan 2.7), melainkan suatu fungsi kuadrat dari kecepatan. Jika
pengurangannya (point of diminishing returns), dimana round-off
hal yang disebutkan tadi benar, maka baik solusi analitis maupun numerik (di Bab 2),
error mulai meniadakan keuntungan dari reduksi ukuran step.
hasilnya adalah salah besar akibat kesalahan perumusan.
Sekarang ini, bagaimanapun, situasi seperti itu jarang didapatkan karena kebanyakan
komputer dapat menangani angka signifikan yang cukup besar, sehingga round-off error

42 | H a l a m a n 43 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

3) Ketidakpastian Data Bab 4 Dasar-Dasar Pemprograman


Kesalahan hadir dalam analisis karena ketidakpastian data fisik yang mendasari
suatu model. Misalnya, kita ingin mengetes model penerjun yang jatuh bebas dengan
melakukan lompatan yang berulang, mengukur kecepatannya (setelah interval waktu Di bab sebelumnya, digunakan gaya total untuk mengembangkan model matematika untuk
tertentu). Ketidakpastian tak diragukan akan muncul pada pengukuran, karena si memprediksi kecepatan jatuh penerjun. Model ini berbentuk persamaan diferensial:
penerjun akan jatuh lebih cepat beberapa kali di banding lompatan yang lainnya.
Kesalahan ini dapat mengurangi akurasi dan presisi. Jika peralatan menaksir terlalu
rendah / tinggi terhadap kecepatan, maka ada faktor ketidakakuratan peralatan.
Sebaliknya, jika pengu-kuran secara acak terkadang tinggi dan/atau rendah, maka Kita juga sudah tahu bahwa solusi dari persamaan ini bisa didapatkan dengan pendekatan
kita berhadapan dengan masalah presisi. numerik sederhana yang disebut metode Euler.
Pengukuran error bisa dikuantifikasikan dengan statistik yang tepat, sehingga didapat
informasi karakter spesifik datanya. Statistik deskriptif yang paling sering dipilih
untuk merepresentasikan lokasi pusat distribusi data, derajat penyebaran data. Dengan suatu kondisi awal, persamaan ini dapat diimplementasikan secara berulang untuk
Dimana hal itu dapat menggambarkan suatu ukuran bias dan ketidakpresisian menghitung kecepatan sebagai fungsi waktu. Akan tetapi, untuk mendapatkan akurasi yang
sistemnya. baik, loncatan langkah yang sekecil mungkin harus diambil. Dibutuhkan energi dan waktu
yang banyak untuk mengerjakannya secara manual, tetapi dengan bantuan komputer,
perhitungannya dapat dilakukan dengan mudah. Karena itu di bab ini kita akan mulai
menggunakan komputer untuk mendapatkan solusinya.

A. Pemprograman dan Program Komputer


Ada dua tipe pengguna software. Salah satunya adalah pengguna yang hanya mengambil
apa yang diberikan pada mereka. Dalam hal ini, berarti mereka membatasi diri mereka
pada keterbatasan yand dimiliki oleh standar mode software yang dipakai, ini
dikarenakan itulah yang termudah. Selanjutnya, apa yang akan terjadi bila persoalan
yang dihadapi meluas melewati kemampuan mode standar software tadi?

Pada kasus ini, anda hanya punya alternatifnya. Anda bisa belajar, tumbuh dan
berkembang menjadi pengguna yang mahir dengan belajar menulis program di m-
files-nya Matlab. Dimana program ini akan membantu anda menyelesaikan persoalan
sampai ke batas yang sulit dikatakan dengan kalimat. Yang perlu diperhatikan, seorang
insinyur tidak boleh tergantung pada alat bantu, mereka harus melakukan apapun yang
perlu untuk menyelesaikan persoalan. Salah satu cara ampuh untuk melakukannya
adalah dengan belajar menulis program di lingkungan Matlab. Perlu diingat, keahlian
memprogram dengan m-files ini samalah dengan seseorang yang secara efektif
menguasai bahasa lainnya, seperti Fortran 90, C, ataupun MS Excel dengan VBA-nya .

Menulis program adalah memberi instruksi ke komputer, karena sebenarnya program


hanyalah kumpulan instruksi untuk komputer agar melakukan pekerjaan tertentu.
Banyak orang yang menulis program pada range aplikasi yang luas (kebanyakan
memakai bahasa tingkat tinggi seperti Fortran 90 dan C) sebenarnya punya kemampuan
yang tinggi. Meskipun tidak semuanya dikuasai, setidaknya mereka menguasai
kemampuan untuk menerapkan keteknikan berorientasi kalkulasi numerik.

44 | H a l a m a n 45 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Dari perspektif di atas, kita dapat membagi kekompleksan menjadi beberapa topik dan repetisi (peng-ulangan). Dengan membatasi diri kita dengan tiga struktur ini, kode
pemprograman, yaitu: komputer yang dihasilkan akan lebih jelas dan lebih mudah diikuti.

x Representasi informasi sederhana (konstanta, variabel, dan tipe-tipe deklarasi). Selanjutnya akan digambarkan strukturnya. Agar gambarannya tetap umum, akan
x Representasi informasi lanjutan (struktur data, array, dan catatan). disertakan diagram alir (flowchart) dan ‘pseudocode’. Diagram alir adalah pernyataan
x Rumus Matematika (ujian, aturan prioritas, fungsi intrinsik). algoritmanya secara visual atau grafik. Diagram alir menggunakan sejumlah kotak dan
x Input / output. panah. Kotak mewakili langkah atau operasi tertentu dalam algoritmanya (Gambar 4.1),
x Representasi Logika (urutan, seleksi, dan repetisi ). sedangkan panah menyatakan urutan saat suatu operasi diimple-mentasikan.
x Pemprograman Modular (fungsi dan sub rutin).
Tidak semua pemprogram komputer setuju bahwa pembuatan diagram alir adalah
Karena diasumsikan sebelumnya anda sudah pernah mengetahui tentang pempro- langkah yang produktif karena pada kenyataannya pemprogram komputer yang ahli
graman, kita tidak akan menghabiskan waktu untuk membahas empat poin yang tidak memakai diagram alir. Walau demikian, ada tiga alasan kenapa diagram alir
pertama. Yang terbaik (bagi yang belum familiar dalam pemprograman), akan diberikan diperlukan, yaitu:
daftar lis hal-hal yang berguna dalam pengimplementasian program yang akan diikuti.
x Dipakai untuk mengekspresikan dan mengurutkan algoritma.
Jadi yang akan dibahas adalah dua topik yang terakhir, dengan menitikberatkan pada
x Meskipun tidak secara rutin dipakai, ada waktunya dimana diagram alir ini benar-
representasi logika karena merupakan bagian yang paling mempengaruhi koherensi dan
benar berguna dalam perencanaan, pemilahan, atau membahas logika program anda
pengertian akan algoritma. Kita memasukkan pemprograman modul karena hal ini juga
atau program orang lain.
bertanggungjawab terhadap pengorganisasian program. Sebagai tambahan, modul
membuat nilai mean untuk mencatat algoritma yang berguna dalam format yang tepat x Diagram alir adalah jalan termudah untuk memahami logika pemprograman. Dimana
untuk aplikasinya. dalam perspektif pengajaran, diagram alir adalah sarana yang ideal untuk memvi-
sualisasikan struktur kontrol dasar yang digunakan dalam pemprograman komputer.
B. Pemprograman Terstruktur
Pendekatan alternatif untuk mengekspresikan algoritma yang menjembatani jurang
Dulunya, pemprogram biasanya tidak terlalu memperhatikan apakah program mereka
antara diagram alir dengan kode komputer adalah yang disebut dengan ‘pseudocode’.
cukup jelas dan mudah dimengerti. Tetapi sekarang sudah berubah, seiring semakin
Teknik ini menggunakan pernyataan (seperti kode) di tempat simbol grafik dari diagram
banyaknya keuntungan-keuntungan yang akan didapat apabila penulisan suatu program
alir. Di sini akan ditunjukkan beberapa contoh ‘pseudocode’. Kata kunci seperti ‘IF’,
itu terorganisasi dengan baik dan kodenya terstruktur pula. Selain agar software tersebut
‘DO’, ‘INPUT’, dll, semuanya dalam huruf besar, sedangkan kondisi, langkah proses,
mudah dibagi-bagikan, tetapi juga membantu pengembangan program yang efisien.
dan tugas / perintahnya dalam huruf kecil.
Karena algoritma yang terstruktur dengan baik biasanya lebih mudah dikoreksi dan
dites, yang mempersingkat waktu pengembangan, pengetesan dan peng-update-tannya.

Ilmuwan komputer sudah mempelajari secara sistematik faktor dan prosedur yang
diperlukan untuk mengembangkan software yang berkualitas tinggi. Intinya,
pemprograman terstruktur merupakan kumpulan peraturan yang mensyaratkan pola
tingkah laku yang baik dalam pemprograman. Meskipun pemprograman terstruktur
cukup fleksibel dalam kreatifitas danekspresi pribadi, aturannya memberikan batasan
yang cukup untuk menghasilkan hasil yang jauh lebih superior / unggul dibanding versi
yang tak terstruktur. Terutama, produk akhirnya lebih elegan dan lebih mudah
dimengerti.

Ide kunci di balik pemprograman terstruktur adalah apakah ada algoritma numerik yang
dapat dihasilkan dengan menggunakan tiga struktur kontrol fundamental; urutan, seleksi,
Gambar 4.1 Simbol-simbol yang dipakai di diagram alir

46 | H a l a m a n 47 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Salah satu keuntungan ‘pseudocode’ adalah lebih mudah mengembangkan program dari Keputusan alternatif ganda, atau struktur IF/THEN/ELSE (Gambar 4.3b), polanya sama
‘pseudocode’ ketimbang dari diagram alir. “Pseudocode’ juga lebih mudah dalam tukar- pada kondisi logika yang benar. Jika kondisinya salah, program mengimplementasikan
menukar dan modifikasi. Bagaimanapun, karena bentuk grafiknya, diagram alir kode antara ELSE dan ENDIF.
terkadang lebih baik digunakan untuk memvisualisasikan algoritma yang kompleks.
Singkat kata, dalam proses belajar mengajar digunakan diagram alir, sedangkan Meskipun bentuk IF/THEN dan IF/THEN/ELSE sudah cukup untuk menyusun suatu
‘pseudocode’ digunakan sebagai alat untuk membahas algoritma yang berhubungan algoritma numerik, masih ada dua varian lainnya yang umum dipakai. Anggap saja
dengan meode numerik. klausal ELSE dari IF/THEN/ELSE berisi IF/THEN lainnya, jadi untuk kasus ini, ELSE
dan IF-nya dapat dikombinasikan dalam struktur IF/THEN/ELSEIF seperti yang tertulis
C. Representasi Logika di Gambar 4.4a.

Urutan. Struktur urutan mengekspresikan ide-ide remeh,


dimana kode komputer diimplementasikan satu
instruksi per satu satuan waktu. Seperti pada
Gambar 4.2, strukturnya biasanya bisa
diekspresikan sebagai diagram alir atau
‘pseudocode’.

Gambar 4.2 a) Diagram alir; b) ‘pseudocode’


untuk struktur urutan

Seleksi Kebalikan dari langkah


satu-satunya struktur
urutan, seleksi berarti
membagi aliran program
menjadi bercabang-
cabang berdasarkan hasil
dari kondisi logikanya.
Gambar 4.3 menam-
pilkan dua cara yang
paling dasar untuk
melakukannya.

Keputusan alternatif tunggal, atau


struktur IF/THEN (gambar 4.3a),
membolehkan suatu penyim-
pangan pada aliran program jika Gambar 4.4 Diagram alir dan ‘pseudocode’ untuk seleksi tambahan (ekstra) atau bentuk
kondisi logikanya adalah benar. cabang. a) multi seleksi alternatif (IF/THEN/ELSEIF); b) Bentuk CASE
Jika salah, tak ada yang terjadi dan
program berlanjut ke pernyataan
Perhatikan Gambar 4.4a, ada rantai atau urutan tingkat keputusan. Yang pertama
selanjutnya diikuti dngan ENDIF.
pernyataan IF, dan setiap keputusan yang berurutan adalah suatu pernyataan ELSEIF. Ke
bawah rantainya, bertemu dengan kondisi pertama yaitu pengetesan kebenaran yang
Gambar 4.3 Diagram alir dan ‘pseudocode’ untuk kerangka seleksi sederhana: membentuk cabang ke blok / kumpulan kodenya diikuti dengan jalur keluar strukturnya.
a) seleksi alternatif tunggal (IF/THEN); b)seleksi alternatif ganda (IF/THEN/ELSE)

48 | H a l a m a n 49 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Di akhir dari rantai kondisinya, jika semua kondisinya yang dites adalah salah, blok Sebaliknya, loop pengontrol hitungan ( loop DOFOR, Gambar 4.6) menampilkan jumlah
ELSE tambahan / pilihan dapat ditambahkan. repetisi / iterasi tertentu.

Struktur CASE adalah suatu varian pada tipe pengambilan keputusan ini (Gambar 4.4b).
Kebalikan dari mengetes kondisi individual, percabangan berdasarkan harga dari
ekspresi pengetesan tunggal. Tergantung pada harganya, blok-blok kode yang berbeda
akan diimplementasikan. Sebagai tambahan, sebuah blok pilihan / tambahan dapat
diterapkan jika ekspresinya tidak mengambil harga yang disyaratkan (CASE ELSE).

Repetisi Repetisi berarti mengimplementasikan instruksi secara berulang-ulang.


Hasil yang dibentuk, disebut ‘loop(s)’, ada dua yang dibedakan
berdasarkan bagaimana mereka berakhir.

Gambar 4.6 Bentuk pengontrol hitungan atau DOFOR

Loop pengontrol hitungan bekerja seperti berikut. Indeks (dinyatakan sebagai i di


Gambar 4.6) adalah sebuah variabel yang ditentukan di harga awal dari ‘start’-nya.
Program lalu mengetes apakah indeksnya kurang dari atau sama dengan harga akhirnya.
Jika memang begitu, maka badan dari loopnya dieksekusi, lalu siklus kembali ke
pernyataan DO. Setiap kali pernyataan ENDDO tercapai, indeksnya otomatis
ditambahkan (‘step’ atau) langkahnya. Sehingga indeksnya berfungsi sebagai
penghitung. Lalu, saat indeksnya lebih besar dari harga akhir, komputer otomatis keluar
dari loop dan memindahkan pengontrolan ke baris yang mengikuti pernyataan ENDDO.
Perlu dicatat, hampir di semua bahasa pemprograman (termasuk Excel dan Matlab), jika
step-nya dihilangkan, maka komputer akan mengasumsi-kannya sama dengan 1.
Gambar 4.5 Loop DOEXIT atau pemutus
Algoritma numerik di halaman berikut ini, dikembangkan dari struktur di Gambar 4.2
Tipe pertama (yang paling fundamental) disebut sebagai loop keputusan karena berakhir sampai Gambar 4.6. Contoh berikut menggambarkan pendekatan dasar dengan
berdasarkan hasil dari kondisi logikanya. Gambar 4.5 menunjukkan tipe paling umum mengembangkan suatu algoritma untuk menentukan akar-akar dari rumus kuadrat.
loop keputusan, bentuk DOEXIT, yang juga disebut loop pemutus. Struktur ini berulang
Contoh 4.1 (Algoritma untuk akar-akar kuadrat)
sampai suatu kondisi logika adalah benar.
Soal : Akar akar dari suatu persamaan kuadrat: ax2 + bx +c = 0, ditentukan dengan
Tidaklah perlu memasukkan dua blok ke dalam struktur ini. Jika di blok pertama tidak rumus ABC,
ada, struktur ini terkadang disebut loop ‘pretest’ karena tes logikanya ditampilkan
sebelum sesuatu terjadi. Alternatifnya, jika blok keduanya dihilangkan, maka disebut
loop ‘posttest’. Karena kedua blok ada, kasus umum di Gambar 4.5, terkadang disebut
loop ‘midtest’.

Perlu dicatat bahwa loop DOEXIT ada di Fortran 90 digunakan untuk menyeder- Dimana pengembangan algoritmanya harus mengikuti:
hanakan loop keputusan (juga di MS Excel dengan VBA-nya). Bentuk kontrol ini Langkah 1 : Tampilkan koefisien a, b, dan c.
tidaklah digunakan di bahasa C dan Matlab (tapi menggunakan WHILE struktur). Loop Langkah 2 : Terapkan rumus kuadratnya, hindarkan dari kemungkinan
pemutus di Gambar 4.5 disebut loop logika karena berakhir pada kondisi logika. error (misalnya, hindari dari ‘pembagian dengan nol dan
pemakaian bilangan kompleks).

50 | H a l a m a n 51 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Langkah 3 : Tampilkan solusinya, yaitu nilai dari x. ™ Jika d  0, maka ada dua akar-akar nyata.
Langkah 4 : Berikan kesempatan memilih opsi untuk kembali ke langkah 1
dan mengulangi prosesnya. ™ Jika d < 0, maka ada dua akar-akar kompleks.

Solusi : Kita menggunakan pendekatan dari atas ke bawah untuk mengembangkan Perhatikan daerah yang diwarnai yaitu (struktur keputusan) mengenai matematika.
algoritmanya. Jadi kita langsung kerjakan secara berurutan sehingga kita Struktur ini sudah diubah ke suatu kumpulan struktur IF/THEN/ELSE yang bisa
tidaklah perlu mengerjakan semua detailnya dalam sekali jalan. disisipkan ke tempat pernyataan yang diwarnai di kode sebelumnya, sehingga
menghasilkan algoritma akhir:
Untuk awalnya, kita asumsikan rumus kuadratnya sudah sederhana,
sehingga algoritma terstruktur untuk menerapkannya adalah: DO
INPUT a, b, c
r1 = 0: r2 = 0: i1 = 0: i2 = 0
DO
IF a = 0 THEN
INPUT a, b, c IF b  0 THEN
r1 = (-b + SQRT(b2 - 4ac))/(2a) r1 = -c/b
r2 = (-b - SQRT(b2 - 4ac))/(2a) ELSE
DISPLAY “Solusi Trivial”
DISPLAY r1, r2 ENDIF
DISPLAY ‘Coba lagi? Jawab Y atau N’
INPUT jawaban ELSE
diskrim = b2 – 4 * a * c
IF jawaban = ‘N’ EXIT IF diskrim  0 THEN
ENDDO r1 = (-b + SQRT(diskrim))/(2a)
r2 = (-b - SQRT(diskrim))/(2a)
Bentuk DOEXIT digunakan untuk menerapkan rumus kuadrat secara berulang ELSE
sepanjang kondisinya salah. Kondisinya tergantung pada harga dari respons r1 = -b/(2 * a)
varaiabel karakter. Jika respons sama dengan ‘Y’ kalkulasi diterapkan. Jika tidak r2 = r1
(respons = ‘N’), maka loop-nya berakhir. Sehingga, pengguna mengontrol akhirnya i1 = SQRT((Abs(diskrim))/(2a)
dengan memasukkan suatu harga untuk responsnya. i2 = - i1
ENDIF
Sekarang, meski algoritma di atas berjalan baik untuk kasus tertentu, tapi ini solusi ENDIF
yang kacangan (mudah). Jadi tergantung pada harga koefisien, sehingga mungkin DISPLAY r1, r2, i1, i2
saja algoritma itu tak jalan. Berikut ini hal-hal yang mungkin terjadi: DISPLAY ‘Coba lagi? Jawab Y atau N’
INPUT jawaban
x Jika a = 0, sebuah masalah langsung muncul karena pembagian dengan nol IF jawaban = ‘N’ EXIT
(division by zero). Kenyataannya, dari penelusuran pada persamaan 4.1, ada dua ENDDO
masalah yang dapat muncul, yaitu:
Pendekatan di contoh sebelumnya dapat dipakai untuk mengem-bangkan algoritma
™ Jika b  0, persamaan menjadi persamaan linier dengan salah satu akar pada persoalan penerjun sebelumnya. Kalau kita cek lagi, dengan diberi kondisi awal
realnya, -c/b. untuk waktu dan kecepatannya, persoalan itu diselesaikan secara iterasi dengan
rumus:
™ Jika b = 0, maka tak ada solusinya. Jadi persoalan minor.

x Jika a  0, dua kasus yang kemungkinan terjadi tergantung harga diskriminannya,


d = b2 – 4ac, yaitu:

52 | H a l a m a n 53 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Ingat bahwa jika diinginkan akurasi yang baik, diperlukan langkah (step) yang kecil. t=t+h
Jadi kita perlu memakai rumusnya secara berulang dari waktu awal sampai waktu IF t  tf EXIT
berakhirnya. Konsekuensinya, algoritma untuk menyelesaikan persoalannya harus ENDDO
memakai loop. Misalnya, anggap kita memulai komputasi saat t = 0 dan ingin DISPLAY v
menghitung kecepatan saat t = 4 detik dengan menggunakan step waktu t = 0,5
detik. Lalu kita perlu menerapkan persamaan 4.2 sebanyak 8 kali (yang didapat dari): Begitu kita masuk ke loop-nya, kita gunakan struktur IF/THEN untuk mengetes
apakah dengan menambahkan t + dt, akhir intervalnya tercapai. Jika tidak, berarti
programnya berhasil. Jika iya, kita harus memperpendek interval dengan mengeset
step variabel h menjadi tf. (Dengan begitu, langkah selanjutnya pastilah di tf.)
Dimana n adalah jumlah iterasi dari loop-nya. Karena hasilnya eksak, maka rasionya Setelah kita terapkan langkah akhirnya, loop-nya akan berakhir karena kondisi t  tf
adalah integer (bilangan bulat), dimana kita memakai loop pengontrol hitungan akan menghasilkan ‘benar’.
sebagai dasar algoritmanya. Berikut adalah contoh ‘pseudocode’-nya:
Perlu diperhatikan sebelum memasuki loop-nya, kita cek dulu harga step waktunya
g = 9.8 (dt) terhadap variabel lainnya (h). Kita jadikan demikian agar rutin (routine)-nya
INPUT cd, m tidak mengubah harga dt yang diberikan jika dan saat kita pendekkan step waktunya.
INPUT ti, vi, tf, dt Kita lakukan ini sebagai antisipasi bahwa kita perlu memakai harga orisinil dt-nya di
t = ti suatu tempat / waktu dimana kode ini terintegrasi dengan program yang lebih besar.
v = vi
n = (tf - ti) / dt Perlu dicatat juga, bahwa algoritma tetap saja bukan sesuatu yang remeh.Misalnya,
DOFOR i = 1 TO n pengguna dapat saja salah memasukkan ukuran step (yang lebih besar dari interval
dvdt = g – (cd / m) * v kalkulasinya, misalnya tf – ti = 5 dan dt = 20). Sehingga anda ingin memasukkan
v = v + dvdt * dt perangkat error dlam kode anda untuk menyingkirkan error-nya dan selanjutnya
t = t + dt mempersilahkan pengguna memperbaiki kesalahannya.
ENDDO
DISPLAY v D. Pemprograman Modular

Meskipun skema ini adalah program sederhana, solusi ini tidaklah kacangan. Pada Dalam pemrograman modular program dipecah ke dalam sub-program / modul yang
kasus tertentu, hanya akan bekerja jika interval komputasi dapat dibagi dengan step lebih kecil dimana setiap modul menunjukkan fungsi dan tugas tertentu (yang dapat
waktunya.2 Untuk mengatasinya, loop keputusan dapat menggantikan daerah yang dikembangkan dan dites secara terpisah). Biasanya modul-modul ini pendek (50- 100
diwarnai dari ‘pseudocode’ di atas. Hasil akhirnya: instruksi) dan benar-benar terfokus ke tujuan / tugasnya masing-masing.

g = 9.8 Di bahasa tingkat tinggi standar seperti Fortran 90 atau C, elemen pemprograman utama
INPUT cd, m yang dipakai untuk menyatakan modul disebut prosedur. Prosedur adalah rangkaian
INPUT ti, vi, tf, dt instruksi komputer yang menampilkan tugas yang diberikan. Dua jenis prosedur yang
t = ti umum dikenal, yaitu fungsi dan sub-rutin. Fungsi biasanya menghasilkan hasil tunggal,
v = vi sedangkan sub-rutin menjadi beberapa hasil. Selain itu, pemprograman biasanya
h = dt tergantung paket software-nya (seperti Excel dan Matlab), sehingga berkaitan juga
dengan pengembangan sub-programnya.
DO
IF t + dt > tf THEN Pemprograman modular punya banyak keuntungan. Penggunaan unit kecil membuat
H = tf – t logika dasarnya lebih mudah dipahami baik bagi pengembang maupun pengguna. Untuk
ENDIF program yang besar, dapat dikerjakan oleh banyak pemprogram yang bekerja bersama-
dvdt = g – (cd / m) * v sama pada bagiannya masing-masing. Selain itu, perbaikan programnya lebih mudah
v = v + dvdt * h karena kesalahan yang terjadi lebih mudah ditemukan. Yang terakhir adalah karena

54 | H a l a m a n 55 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

modifikasi. Bila ada modifikasi, perbaikan, atau ‘update’, maka program tak perlu E. Matlab
diperbaiki semua, cukup hanya modul-modul yang memang akan dimodifikasi saja.
Matlab adalah produk Mathworks. Inc, dimana awalnya dikembangkan sebagai
Pendekatan ini digambarkan di Gambar 4.7 (menampilkan fungsi yang dikembangkan laboratorium matrikss (matrix laboratory). Dalam manipulasi matrikss, Malab memiliki
untuk penerapan metode Euler). Sebagai catatan, aplikasi fungsi ini dengan versi beragam fungsi numerik, komputasi simbolik, dan media visualisasi. Di Matlab,
sebelumnya berbeda (dalam hal bagaimana mereka menangani input dan output). Di program dapat ditulis di m-files (sistem file-nya Matlab yang berekstensikan .m).
versi sebelumnya, input dan output langsung dimasukkan (lewat pernyataan INPUT dan
DISPLAY). Sedangkan di fungsi ini, inputnya melalui FUNCTION, yaitu: Pertama-tama, anda harus tahu bahwa penggunaan Matlab normalnya selalu ke arah
pemprograman. Sebagai contoh, kita coba mencari solusi analitis dari persoalan penerjun
Function Euler (dt, ti, tf, yi) dimana penulisan di Matlab (dengan mengetik langsung di jendela perintah):
Dan outputnya:
>> g=9.8;
y = Euler(dt, ti, tf, yi) >>m=68.1;
>>cd=12.5;
Sebagai tambahan, kenali bagaimana bentuk umum rutin ini. Jadi tak ada referensi >>tf=2;
spesifik untuk persoalan penerjun (di contoh sebelumnya). Berikut contohnya: >>v=g*m/cd*(1-exp(-cd/m*tf))

FUNCTION Euler (dt, ti, tf, yi) Dengan hasilnya:


t = ti
v = 16.4050
y = yi
h = dt Sehingga, urutan perintahnya seperti layaknya urutan instruksi dalam suatu bahasa
DO pempro-graman. Selain itu, anda juga bisa memakai skrip m-file(s)-nya Matlab dengan
IF t + dt > tf THEN masuk ke: File>New>Mfile. Setelah muncul jendela (window) yang baru (dengan
h = tf - t judulnya: MATLAB Editor/Debugger), anda tinggal ketikkan kode berikut:
ENDIF
dydt = dy(t, y) g=9.8;
y = y + dydt * h m=68.1;
t=t+h cd=12.5;
IF t  tf EXIT tf=2;
ENDDO v=g*m/cd*(1-exp(-cd/m*tf))
Euler = y
END Setelah itu simpan file tersebut dengan nama: penerjun_analitis.m, sehingga Matlab akan
menyimpan file anda dengan nama ‘penerjun_analitis.m’. Setelah itu, anda tinggal
Gambar 4.7 Pseudocode untuk sebuah fungsi yang menyelesaikan sebuah persamaan menjalankan programnya dengan meng-klik (di menu pulldown) menu: ‘Debug>Run
diferensial dengan metode Euler penerjun_analitis.m’ atau dengan menekan tombol F5.

jadi ketimbang memanggil variabel dependent v untuk kecepatan, lebih baik Sekarang anda sudah menghitung persamaannya. Anda bisa membuat-nya jadi lebih
menggunakan penamaan (label) yang lebih umum (y) di fungsi ini. Selanjutnya, fleksibel dengan membolehkan pengguna memasukkan variabel sesuai dengan
perhatikan bahwa penurunan tidaklah dihitung dengan persamaan yang eksplisit di keinginannya sendiri. Misalnya anda mau melihat hasil dari input massa pada
fungsi ini, melainkan fungsi lainnya (dy). Hal ini dipakai karena kita mau memakai kecepatan 2 detik:
fungsi ini untuk banyak persoalan yang berbeda (di masa depan) dalam pemecahan
masalah penerjun yang mungkin agak berbeda permasalahannya. g=9.8;
m=input (‘massa (kg) :’);

56 | H a l a m a n 57 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

cd=12.5; Sekarang anda sudah mengerti bagaimana membuat program di Matlab untuk sebuah
tf=2; solusi numerik dengan m-file. Selanjutnya, kita coba memahami bagaimana Matlab
v=g*m/cd*(1-exp(-cd/m*tf)) menangani struktur logika dan loop. Gambar 4.8 menampilkan ‘pseudocode’ untuk kode
Matlab untuk semua struktur kontrol dari sesi sebelumnya. Perhatikan, meskipun
Setelah itu simpan file tersebut dengan nama: penerjun_analitis2. Coba jalankan lagi detailnya berbeda, struktur ‘pseudocode’ dan kode Matlabnya masih sama.
programnya, sehingga akan tampil di layar:
Terutama, lihat bagaimana struktur DOEXIT dinyatakan. Di tempat DO, digunakan
massa (kg) : pernyataan WHILE(1). Karena Matlab menafsirkan angka 1 sebagai ‘benar’, dimana
pernyataan ini akan mengulang langkah terus-menerus (seperti halnya pernyataan DO).
Pengguna bisa mengisi harganya (misalnya) dengan 100, sehingga didapatkan hasilnya: Loop-nya akan berakhir dengan perintah ‘break’. Perintah ini memindahkan
pengontrolan ke pernyataan yang mengikuti pernyataan akhir (end) dari loop-nya.
v = 17.3420
M-file Matlab berikut dapat dikembangkan langsung dari ‘pseudocode’ di Gambar 4.7.
Tinggal ketik saja di editornya Matlab:

g=9.8;
m=input (‘massa (kg) :’);
cd=12.5;
ti=0;
tf=2;
vi=0;
dt=0.1;
t = ti;
v = vi;
h = dt;
while (1)
if t + dt > tf
h = tf – t;
end
dvdt = g – (cd / m) * v;
v = v + dvdt * h;
t = t + h;
if t >= tf, break, end
end
disp(‘kecepatan (m/s) :’)
disp(v)

Simpan sebagai penerjun_numerik.m, lalu jalankan, dan hasilnya:

Gambar 4.8 Struktur Massa (kg) : 100


kontrol fundamental
dalam a) pseudocode; dan didapatkan:
b) Matlab Kecepatan (m/s) :
17.4381

58 | H a l a m a n 59 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Terakhir, kita coba m-file di atas dengan memakai fumgsi, yaitu: Bab 5 Pengantar Pemprograman di Matlab
function euler = f(dt,ti,tf,yi,m,cd)
t = ti;
y = yi;
h = dt; A. Klasifikasi Bahasa Pemprograman
while (1)
Bahasa Pemrograman adalah teknik komando/instruksi standar untuk
if t + dt > tf
memerintah komputer yang merupakan suatu himpunan dari aturan sintaks dan
h = tf – t;
semantik yang dipakai untuk mendefinisikan program komputer.
end
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis
dydt = turunan (t, y, m,cd);
data mana yang akan diolah oleh komputer, bagaimana data ini akan
y = y + dydt * h;
disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam
t = t + h;
berbagai situasi.
if t >= tf, break, end
end 1) Klasifikasi Perbandingan antara Struktur Bahasa Pemprograman
euler = y;
dengan Mesin Komputer
Simpan file ini sebagai euler.m, lalu buat m-file lainnya untuk menghitung Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman
penurunannya: terdiri dari:
function turunan = (f(t, v, m, cd) ¾ Bahasa Mesin
g = 9.8; Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai
dy = g – (cd / m) * v; kode bahasa biner, contohnya 01100101100110

Simpan file ini sebagai turunan.m. Untuk menjalan fungsinya dan melihat hasilnya, ketik ¾ Bahasa Tingkat Rendah
saja perintah berikut (di desktop-nya Matlab) : Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris
Assembly), yaitu memberikan perintah kepada komputer dengan memakai
>> m=68.1; kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE,
>> cd=12.5; JL, LOOP, dsb.
>> ti=0;
>> tf=2; ¾ Bahasa Tingkat Menengah
>> vi=0; Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran
>> dt=0.1; instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi
>> euler (dt,ti,tf,vi,m,cd) di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&,
||, dsb.
Saat perintah terakhir dimasukkan, jawabannya ditampilkan:
¾ Bahasa Tingkat Tinggi
ans = 16.5309 Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal
dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and,
Inilah kombinasi Matlab dengan pemprograman di m-file-nya yang memungkinkan bagi or, dsb.
para insinyur menyelesaikan permasalahan.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi,
hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan
Assembly yang merupakan Bahasa Tingkat Rendah.

60 | H a l a m a n 61 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

2) Klasifikasi Berdasarkan Urutan Pengembangan Bahasanya o Generasi Keempat


Merupakan Bahasa Non-Prosedural. Bahasa pemrograman Generasi
Klasifikasi bahasa pemrograman berdasarkan pengembangannya ada 5, yaitu: Ke-4 dirancang untuk mengurangi waktu pemrogram untuk membuat program
sehingga pembuatan program dibuat dengan waktu lebih cepat.
o Generasi Pertama Program ini dapat digunakan oleh pemakai yang kurang mengenal hal-
Bahasa yang berorientasi pada mesin. Program disusun menggunakan hal teknis pemrograman tanpa perlu bantuan seorang programmer professional.
bahasa mesin/kode mesin. Bahasa Mesin adalah bahasa tingkat rendah yang Contoh : Membuat program database sederhana dengan Microsoft Access.
hanya dipahami oleh komputer. Bahasa mesin ini sangat sulit dipahami oleh Bahasa generasi ke-4 disebut juga dengan Very High Level Language
orang awam sehingga programmer harus menguasai operasi komputer secara atau Problem Oriented Language (bahasa yang berorientasi pada masalah)
teknis. karena memungkinkan pemakai menyelesaikan masalah dengan sedikit
Abstraksi bahasa ini adalah kumpulan kombinasi kode biner "0" dan penulisan kode pemrograman dibandingkan dengan bahasa prosedural.
"1" yang sangat tidak alamiah bagi kebanyakan orang - kecuali insinyur Fasilitas yang tersedia :
pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, 9 Program Generator (untuk membuat aplikasi mudah).
bahasa mesin juga disebut bahasa tingkat rendah. 9 Report Generator (membuat laporan secara cepat, mudah)
9 Bahasa Query (SQL).
o Generasi Kedua Dengan adanya fasilitas ini programmer sedikit dalam menuliskan kode
Bahasa pemrograman yang menggunakan bahasa rakitan / Assembly. instruksi. Contoh Bahasa Generasi ke-4: Oracle, Microsoft Access dsb.
Bahasa Assembly adalah bahasa pemrograman yang menggunakan instruksi
yang sama seperti pada bahasa mesin, tetapi instruksi dan variable yang o Generasi Kelima
digunakan mempunyai nama sehingga mempermudah proses pemrograman. Bahasa pemrograman yang ditujukan untuk menangani kecerdasan
Karena tidak lagi menggunakan deretan kode biner untuk melakukan buatan (artificial intelligence, AI). AI adalah disiplin dari ilmu komputer yang
pemrograman. mempelajari cara komputer meniru kecerdasan manusia.
Contoh Aplikasi :
o Generasi Ketiga 9 Pemrosesan Bahasa Alami, mengatur komputer agar bisa berkomunikasi
Bahasa pemrograman yang menggunakan pendekatan prosedural. dengan manusia melalui bahasa manusia.
Instruksi program ditulis menggunakan kata-kata yang biasa digunakan oleh 9 Aplikasi Sistem Pakar, program komputer yang bisa meng-hasilkan
manusia. Contoh : WRITE (untuk menampilkan kelayar) pemikiran yang setara dengan seorang pakar.
READ (untuk membaca data masukan dari keyboard). Bahasa pada Sedangkan contoh bahasa pemrograman : PROLOG dan LISP.
generasi ini disebut juga Bahasa tingkat tinggi (high level language). Contoh
bahasa pemrogaman : PASCAL, FORTRAN, C, COBOL, BASIC, MATLAB
dll. B. Matlab Secara Umum
Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara
interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan MATLAB adalah software komputasi numerik dan bahasa pemprograman generasi
terpadu (IDE = integrated development environment). Cara interpretasi keempat. Dikembangkan oleh MathWorks, MATLAB memungkinkan manipulasi
memudahkan dalam pembuatan program secara interaktif dan cara kompilasi matriks, menggambarkan suatu fungsi dan data, implementasi algoritma, kreasi
menjadikan eksekusi program lebih cepat. pengguna antar muka (user interfaces), dan kemampuan bertukar informasi dengan
Pertama program dikembangkan interaktif, kemudian setelah tidak ada bahasa lainnya.
kesalahan keseluruhan program dikompilasi. Contoh bahasa program seperti ini
adalah Visual BASIC yang berbasis BASIC dan Delphi yang berbasis Meski hanya sekedar numerik, yaitu suatu alat bantu (toolbox) alternatif yang
PASCAL. menggunakan mesin simbolik MuPAD, MATLAB memungkinkan akses ke
Bahasa tingkat tinggi bersifat portable. Program yang dibuat kemampuan aljabar komputer. Juga ada paket tambahan, Simulink, yang menambahkan
menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem kemampuan simulasi grafik multidomain dan Model-Based Design untuk sistem
operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan dinamik dan embedded. Di tahun 2004, MathWorks menyatakan bahwa MATLAB
aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali. digunakan lebih dari satu juta orang yang bergerak di bidang industri dan dunia
akademik.

62 | H a l a m a n 63 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer
K

MATLAB (artinya “MATrix LABoratory”) ditemukan di akhir 1970-an oleh Cleve 2) Ope
erasi Aritm
matika di Matlab
M
Moler, yang lalu menjadi kepala departemen ilmu komputer di Universitas New
Mexico. Dia merancangnya untuk memberikan siswanya akses ke LINPACK dan Operrator matem matika di MATLAB
M a
adalah ‘+’ untuk penaambahan, ‘--’ untuk
EISPACK tanpa harus belajar Fortran. Hal ini segera menyebar dan mendapat dukungan pengurangan, ‘*’’ untuk perkalian, ‘/’ unttuk pembagiian, ‘^’ untukk perpangkaatan, dan
dari komunitas matematika terapan. Lalu dia dan temannya mendirikan MathWorks di ‘sqrt’’ untuk penaarikan akar. Contoh:
C
1984 dan menulis ulang MATLAB di bahasa C untuk pengembangan lebih lanjut
(JACKPACK). Di 2000, MATLAB ditulis ulang agar bisa memakai pustaka (libraries) >> 2+3
2 >> 2-55
yang lebih baru untuk manipulasi matriks (LAPACK). ans = ans =
5 -3
MATLAB pertama kali diadopsi oleh insinyur kontrol desain tapi segera menyebar ke
bidang-bidang lainnya. MATLAB sekarang di pakai juga di dunia pendidikan, terutama >> 3*4
3 >> 2/33
dalam pembelajaran aljabar linier dan analisa numerik, dan juga dalam bidang image ans = ans =
processing. 12 0.6667

C. Pengoperasian Dasar di Matlab >> 5*5*5


5 >> 5^33
ans = ans =
1) Memulai Matlab 125 1255

Pertama-tama MATLAB harus sudah terinstal di komputer. Kemudian, untuk >> 5^2.5
5 >> 5^((-3)
mengaktifkan MATLAB, kita cukup men-double click icon MATLAB di ans = ans =
deskstop. Saat MATLAB berjalan akan terbuka sebuah jendela kerja MATLAB 55.9017
7 0.0080
yang tampilan standarnya dapat dilihat pada gambar berikut ini.
Perhaatikan dua contoh penngurangan berikut.
b Kedduanya menghasilkan hal
h yang
Cara termudah untuk mengeksekusi kode MATLAB adalah dengan mengetiknya identtik.
langsung di prompt “>>” di command window (salah satu elemen dari desktop
MATLAB). Dengan cara ini MATLAB bisa digunakan langsung sebagai lembar >> 6/3 >> 3\66
ans = ans =
kerja interaktif. Urutan command dapat disimpan dalam suatu file, secara spesifik
2 2
menggunakan MATLAB editor sebagai tempat catatan untuk diubah jadi fungsi,
sebagai jaminan ketersediaan command yang sebelumnya.
3) Fungsi Matem
matika di Matlab
M

Catatan: Niilai x-nya harus dalam


d radian (pi), jadi bila yang dicari adalah sin (3300) maka harus
diiubah terlebih daahulu menjadi sinn (pi/6).

Conttoh:
>> sin(pi/6
s ) >> sin(pi)
ans = ans
s =
0.5000 1.2246ee-016

64 | H a l a m a n 65 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

>> cos(0) >> tan(pi/4) 5) Format di Matlab


ans = ans =
1 1.0000 Format dasar di MATLAB adalah 4 angka di belakang koma.

>> asin(1) >> acos(1) >> pi


ans = ans = ans =
1.5708 0 3.1416

>> atan(1) >> atan2(0,(-1)) Formatnya dapat diubah menjadi bentuk panjang (14 angka di belakang koma):
ans = ans =
0.7854 3.1416 >> format long
>> pi
4) Konstanta dan Variabel ans =
3.141592653589793
Variabel dinyatakan dengan tanda operator “=”. Variabel ini dapat ditulis
secara dinamik tanpa memperhatikan tipenya, kecuali jika mengenai objek Formatnya dapat diubah menjadi bentuk eksak yang pendek:
simbolik, dan tipenya itu dapat berubah. Nilainya bisa konstan dari komputasi yang
berhubungan dengan nilai dari variabel lain, atau dari output suatu fungsi. Contoh: >> format short e
>> pi
>> x = 17 >> x = 'hat' ans =
3.1416e+000
x = x =

17 hat Formatnya dapat diubah menjadi bentuk eksak yang panjang:

>> x = [3*4, pi/2] >> y = 3*sin(x) >> format long e


>> pi
x = y = ans =
12.0000 1.5708 -1.6097 3.0000 3.141592653589793e+000

Penambahan tanda titik koma di belakang pernyataan, menyebabkan Formatnya dapat diubah menjadi bentuk format bank (hanya 2 angka di belakang
komputer tak akan menampilkan hasil dari perintah tersebut. Lihat contoh berikut: koma):

>> alpha=30 >> alpha=30; >> format bank


>> pi
alpha = >>   (Tidak ada data ans =
30 yang ditampilkan.) 3.14

Selain itu, pemakaian karakter dengan huruf besar dan huruf kecil, hasilnya Formatnya dapat dikembalikan ke format dasar:
berbeda. Contohnya:
>> format
>> a=2; >> A=5; >> pi
ans =
>> 2*a >> 2*A 3.1416
ans = ans =
4 10 Formatnya dapat diubah untuk memberikan aproksimasi rasional (bilangan
pecahan) dari suatu bilangan desimal berkoma:

66 | H a l a m a n 67 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

>> format rat Program 1:


>> pi
ans = [X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
355/113
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
6) Komentar atau Catatan
mesh(X,Y,f);
Komentar atau catatan dapat digabungkan dengan perintah yang dikomentari. axis([-10 10 -10 10 -0.3 1])
Dimana komentar atau catatan tersebut ditandai dengan tanda persen ‘%’, sehingga
MATLAB tidak mengeksekusi komentar atau catatan tersebut. Komentar dan xlabel('{\bfx}')
catatan ini hanya digunakan sebagai penanda, inisial, pengingat, atau kegunaan ylabel('{\bfy}')
yang lainnya yang tidak mengubah sedikitpun terhadap skrip Matlabnya.
zlabel('{\bfsinc} ({\bfR})')
Contoh:
hidden off
>> r=0.2; % Jari-jari Dasar Silinder, m Kode ini menghasilkan sebuah jaring-jaring (wireframe) grafik 3D dari sinc
>> h=2.3; % Tinggi Silinder, m function dua dimensi yang tidak dinormalisasi:
>> S=2*pi*r*h % Permukaan Lateral Silinder, m^2
S =
2.8903

7) Gambar Grafik di Matlab 1

0.8
Berikut ini dicontohkan program untuk menggambarkan grafik di Matlab. Dimana,
0.6
fungsi ‘plot’ dapat dipakai untuk memproduksi grafik dua vektor x dan y. Kodenya:

sinc (R)
0.4
x = 0:pi/100:2*pi; 0.2
y = sin(x);
0
plot(x,y)
grid -0.2
xlabel('x, radian') 10
ylabel('sin(x)') 5 10
1
0 5
yang menghasilkan 0.8 0
-5 -5
gambar fungsi: 0.6
y -10 -10
x
0.4

0.2
sin(x)

0
Program 2:
-0.2
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
-0.4
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
Sebagai catatan, grafik -0.6 surf(X,Y,f);
3D dapat diproduksi axis([-10 10 -10 10 -0.3 1])
-0.8
dengan menggunakan xlabel('{\bfx}')
fungsi surf, plot3 atau -1 ylabel('{\bfy}')
mesh. 0 1 2 3
x, radian
4 5 6 7
zlabel('{\bfsinc} ({\bfR})')

68 | H a l a m a n 69 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Kode ini menghasilkan sebuah permukaan grafik 3D dari sinc function dua dimensi A =
yang tidak dinormalisasi: 16 3 2 13 >> zeros(2,3)

5 10 11 8 ans =

1 9 6 7 12 0 0 0

0.8 4 15 14 1 0 0 0
0.6
>> A(2,3) >> A(2:4,3:4)
sinc (R)

0.4
ans = ans =
0.2

0 11 11 8

-0.2 7 12
10
14 1
5 10
0 5
0
-5 -5
-10
>> ones(2,3) >> eye(3)
y -10
x
ans = ans =

1 1 1 1 0 0
8) Array dan Dasar-Dasar Matrikss di Matlab
1 1 1 0 1 0
MATLAB adalah “MATrix LABoratory”, karena itu dapat memberikan
beragam pilihan dalam kreasi vektor, matrikss dan arrays multi dimensi. MATLAB 0 0 1
memberikan cara yang sederhana untuk menyatakan suatu arrays sederhana dengan
sintaks: Init:increment:terminator. [J,I] = meshgrid(1:n);

Contoh: A = mod(I+J-(n+3)/2,n);

>> array = 1:2:9 >> array = 1:3:9 B = mod(I+2*J-2,n);

array = array = M = n*A + B + 1;

1 3 5 7 9 1 4 7 Array 2 dimensi disebut juga matrikss. Untuk membuatnya, kita dapat


menulis semua barisnya dalam satu baris dengan memisahkan setiap barisnya
dengan titik koma:
Nilai increment dapat dibuang untuk memakai nilai dasarnya (default) 1.
>>A=[1 2 3; 4 5 6; 7 8 9]
>> ari = 1:5

ari =
A =
1 2 3
1 2 3 4 5 4 5 6
7 8 9
Atau bisa dengan memakai kurung kotak (parentheses)
Atau bisa juga menulis setiap barisnya terpisah dengan menekan enter antara setiap
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] barisnya:

70 | H a l a m a n 71 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

>>A=[1 2 3 Kita dapat membuat matriks baru dengan menggabungkan dua matriks (misalnya
4 5 6 matriks A dan matriks B). Hal ini disebut ‘juxtaposition’.
7 8 9]
>> C=[A B]
A = ans =
1 2 3 1 2 3 9 8 7
4 5 6 4 5 6 6 5 4
7 8 9 7 8 9 3 2 1

Tentu saja kita dapat memisahkan elemen-elemen dari setiap barisnya dengan Dimana dimensi matriks yang baru adalah:
koma:
>> size(C)
>> A=[1,2,3 ans =
4,5,6 3 6
7,8,9]
Jadi dimensi matriks di atas adalah 3x6. Kita juga dapat membuat matriks baru
A = dimana matriks A di atas matriks B, yaitu:
1 2 3
4 5 6 >> D=[A;B]
7 8 9 D =
1 2 3
Dari beberapa contoh di atas, setiap elemen matriks tersebut dapat diidentifikasi 4 5 6
dengan dua komponennya (baris dan kolom). Contoh: 7 8 9
9 8 7
>> A(2,1) >> A(2,3) 6 5 4
3 2 1
ans = ans =
4 6 Selain itu, dimungkinkan juga untuk mengambil sebahagian saja dari suatu
Jumlah baris dan kolom pada suatu matriks dapat diketahui dengan fungsi ‘size’. matriks. Misalnya kita ingin mengambil baris pertama dari matriks C:
Contoh:
>> C(1, :)
>> size(A)
ans =
ans = 1 2 3 9 8 7
3 3
Atau kita ingin mengambil kolom pertama dari matriks D:
Sehingga dapat dikatakan matriks A berdimensi 3x3. Jadi matriks ini adalah matriks
bujur sangkar yang mempunyai jumlah baris dan kolom yang sama banyaknya. >> D(:, 1)
Sekarang kita coba membuat matriks baru yang kita sebut sebagai matriks B.
ans =
>> B=[9 8 7;6 5 4;3 2 1] 1
4
B = 7
9 8 7 9
6 5 4 6
3 2 1 3

72 | H a l a m a n 73 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

Juga di contoh berikut ini kita akan mengekstrak baris kedua sampai baris kelima >> [m, n]=size(A); ones(m,n)
dan kolom kedua sampai kolom ketiga: ans =
1 1 1
>> D(2:5,2:3) 1 1 1
1 1 1
ans = Atau dapat saja diganti dengan perintah:
5 6
8 9 >> ones(size(A))
8 7
5 4 9) Dasar-Dasar Bilangan Kompleks di Matlab
Selanjutnya, kita bisa melakukan suatu operasi aritmetika terhadap matrikss. Pada bilangan kompleks, unit imajiner dari bilangan kompleks,  1 , disimpan di
Dimana, jumlah dari 2 buah matriks A dan B, yang bentuk umumnya adalah aij dan MATLAB di dalam konstanta i dan j,
bij, adalah matriks baru, sebut saja sebagai matriks S, dimana elemen umumnya
adalah Sij = aij + bij. Coba saja:
>> S=A+B >> i^2 >> j^2
S = ans = ans =
10 10 10 -1 -1
10 10 10
10 10 10 Dimana, dengan bantuan unit imajiner kita dapat mendefinisikan bilangan kompleks
dengan cara yang biasa, seperti contoh berikut:
Juga kita dapat melakukan operasi pengurangan matriks, misalkan kita mencoba
dengan: >> z1=3+4i
>> F=A-B z1 =
3.0000 + 4.0000i
F =
-8 -6 -4 Dimana konjugate kompleksnya didapat dari:
-2 0 2
4 6 8 >> z1_bar=conj(z1)

Selanjutnya, setelah operasi dasar berupa penambahan dan pengurangan, dengan z1_bar =
dua matriks A dan B di atas kita juga bisa melakukan operasi perkalian, yaitu: 3.0000 - 4.0000i

>> K=A*B Kita juga dapat menampilkan perhitungan secara mudah terhadap bilangan
kompleks. Sekarang kita buat dulu bilangan kompleks kedua:
K =
30 24 18 >> z2=4+3i
84 69 54
138 114 90 z2 =
4.0000 + 3.0000i
Selain itu juga kita dapat membuat suatu matriks dengan semua elemennya sama
dengan satu, dengan perintah: Sekarang kita dapat menambahkan kedua bilangan kompleks yang tersebut di atas:

74 | H a l a m a n 75 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

>> z1+z2 Bilangan Kompleks z1 = 3 + 4i


5

ans = 4.8
7.0000 + 7.0000i
4.6

4.4
Kita juga bisa melakukan operasi dengan mengalikan mereka:
4.2

Imaginary
>> z1*z2
4

ans = 3.8
0 +25.0000i
3.6

Ataupun membagikan satu terhadap yang lain: 3.4

>> z1/z2 3.2

3
ans = 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4
0.9600 + 0.2800i Real

Kita juga dapat melakukan operasi perpangkatan terhadap bilangan kompleks: Lalu coba perintah berikut (lihat bagaimana hasil yang didapat):

>> z1^2 >> plot(z1, '*')


ans = Jika kita hanya menggambar hanya satu bilangan kompleks, kita dapat
-7.0000 +24.0000i
memakai fungsi berikut untuk mendapatkan suatu grafik dari vektor:
Kita juga bisa menggambarkan bilangan kompleks. Dimana, bilangan kompleks >> compass(z1)
dapat dianggap sebagai suatu titik di sumbu bilangan kompleks. Untuk
melakukannya, kita harus memisahkan bagian-bagian dari bilangan tersebut. Seperti Hasilnya:
bilangan z1 = 3 + 4i, terpisah menjadi bagian real dan bagian imajiner, yaitu:
90
5
>> a=real(z1) >> b=imag(z1) 120
4
60

3
a = b = 150 30
2
3 4
1

Dan kita coba menggambarnya dengan perintah: 180 0

>> plot(a, b, '*')


210 330
>> xlabel('Real')
>> ylabel('Imaginary') 240 300

>> title('Bilangan Kompleks z1 = 3 + 4i') 270

>> figure(1) Bilangan kompleks juga dapat dimasukkan ke dalam fungsi-fungsi


(misalnya, fungsi trigonometri). Dimana, fungsi-fungsi dari variabel bilangan
Hasilnya ditunjukkan pada gambar di halaman selanjutnya.
kompleks dapat dihitung dengan mudah seperti fungsi-fungsi variabel bilangan real.
Contohnya, untuk bilangan z1 di atas:

76 | H a l a m a n 77 | H a l a m a n
Aplikasi Komputer Aplikasi Komputer

>> sin(z1)
ans = Daftar Pustaka
3.8537 -27.0168i
>> cos(z1)
ans = 1. Chapra, S. C., & Canale, R. P. (2001). Numerical Methods for Engineers (4th ed.).
-27.0349 - 3.8512i New York: McGraw-Hill Co.
2. Harman, T. L., Dabney, J. B., & Richert, N. J. (2000). Advanced Engineering
>> sin(z1)^2+cos(z1)^2 Mathematics with MATLAB (2nd ed.). California: Brooks/Cole.
ans = 3. Hunt, B. R., Lipsman, R. L., & Rosenberg, J. M. (2006). A Guide to MATLAB -
For Beginners and Experienced Users (2nd ed.). New York:
Cambridge University Press.
4. Andriessen, W. (2007). Catatan Perkuliahan di Control System Engineering.
Arnhem: HAN University.
5. Hahn, B. D., & Valentine, D. T. (2007). Essential MATLAB for Engineers and
Scientists (3rd ed.). Chennai: Elsevier Ltd.

78 | H a l a m a n 79 | H a l a m a n

Anda mungkin juga menyukai