1
BAB 2
LANDASAN TEORI Pada bab ini akan dijelaskan mengenai teori – teori yang digunakan dalam penulisan penelitian ini. 2.1
Interaksi Manusia dan Komputer (IMK) Menurut Ben Shneiderman (2010: 4-5), interaksi manusia dan komputer
adalah cabang ilmu yang mempelajari hubungan antara manusia dan komputer yang mencakup perancangan, evaluasi, dan implementasi antarmuka pengguna agar mudah digunakan oleh manusia. Menurut Ben Sneiderman (2010: 88-89), delapan aturan emas yang digunakan untuk merancang suatu antar muka, yaitu: 1. Mencoba untuk konsisten Konsistensi dalam antarmuka pengguna, dengan menerapkan konsistensi pada warna, layout, kapitalisasi, huruf dan lainnya yang digunakan. Konsistensi pada antarmuka pengguna sangat bermanfaat ketika digunakan oleh user, dimana user akan merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman. 2. Memenuhi kebutuhan universal Yang dimaksud dalam memenuhi kebutuhan universal adalah memahami kebutuhan berbagai macam user dan membuat suatu desain yang fleksibel yang mendukung perubahan dalam konten. Berbagai pertimbangan terhadap berbagai macam user, baik pemula sampai pengguna ahli, perbedaan umur, kecacatan fisik harus diperhatikan dalam membuat sebuah desain antarmuka pengguna.
7
8 3. Memberikan umpan balik yang informatif Umpan balik harus diberikan sistem terhadap setiap aksi yang dilakukan oleh user. Untuk aksi sederhana yang dilakukan user bisa diberikan umpan balik yang sederhana, sedangkan untuk aksi besar yang biasanya jarang dilakukan oleh user, harus lebih diperhatikan dan dibuat lebih tegas. Setiap umpan balik yang diberikan harus jelas dan dapat dimengerti oleh user tanpa mengandung unsur ambiguitas. 4. Dialog untuk keadaan akhir Urutan aksi hendaknya disusun menjadi kategori awal, tengah, dan akhir. Untuk memberikan kepuasan pencapaian, kelegaan, dan sebagai tanda untuk mempersiapkan diri memasuki kategori aksi selanjutnya, dibuatlah umpan balik yang informatif pada penyelesaian salah satu kategori aksi. 5. Pencegahan kesalahan Sistem harus didesain sebagaimana agar user tidak membuat kesalahan. Salah satu contohnya adalah tidak memperbolehkan input karakter alphabet pada kotak entry nomor. Sistem harus bisa mengetahui kesalahan dan memberikan peringatan kepada user yang mudah dimengerti, membangun, dan jelas. 6. Pembalikan aksi yang sederhana Dalam suatu aplikasi, pada setiap aksi harus terdapat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, karena user tahu bahwa aksi dapat dibatalkan. Pembalikan bisa saja atas suatu aksi seperti saat memasukan data, atau serangkaian aksi seperti memasikan nama dan alamat di kotak pengisian. 7. Mendukung pusat kendali internal User harus memiliki kendali atas antarmuka dan mendapatkan tanggapan pada setiap aksinya. Pada saat user sudah terbiasa dengan suatu aplikasi,
9 biasanya mereka ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Aksi antarmuka yang tidak seperti biasanya, rangkaian pemasukan data yang membosankan, tidak bisa atau sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user. 8. Mengurangi beban ingatan jangka pendek Pada umumnya, manusia memiliki keterbatasan dalam memproses informasi dalam jangka pendek, maka itu sistem harus didesain dengan tampilan yang ringan, penggabungan halaman-halaman, pengurangan frekuensi windowmotion, pemberian waktu latihan yang cukup untuk kode-kode, hafalan, dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh user. 2.2
Rekayasa Piranti Lunak Piranti lunak adalah kumpulan instruksi yang dijalankan yang mengandung
fitur – fitur, fungsi, dan performa yang diinginkan (Pressman, 2011: 4). Rekayasa piranti lunak adalah sebuah aplikasi sistematik yang disiplin terhadap proses pemgembangan, operasi, dan perawatan terhadap sebuah piranti lunak (Pressman, 2011: 4). Menurut Roger S. Pressman (2011: 14) rekayasa piranti lunak bisa dibagi menjadi beberapa lapisan seperti:
10
Gambar 2.1 Software engineering layers (Pressman, 2011:14) Pada lapisan a quality focus adalah dasar dari suatu rekayasa piranti lunak, dalam setiap proses yang dilakukan, selalu mengacu kepada kualitas akhir yang dihasilkan. Pada lapisan process merupakan dasar manajemen dalam mengontrol dari suatu proyek piranti lunak secara rasional dan teratur. Lapisan methods menyediakan teknik bagaimana membangun sebuah piranti lunak. Proses yang dilakukan pada metode itu adalah analisis kebutuhan, desain, pembuatan program, pengujian, dan perawatan. Lapisan tools menyediakan support terhadap lapisan mehods dan process sehingga ketika lapisan tools diintegrasikan dengan lapisan yang lainnya, informasi dapat dihasilkan suatu alat untuk digunakan oleh yang lain. Sistem yang mendukung pengembangan piranti lunak disebut sebagai computer-aided software engineering (Pressman, 2011: 13-14) 2.3
Unified Modeling Language (UML) Menurut Whitten dan Bentley (2007: 371), UML versi 2.0 adalah
sekumpulan model konvensional yang digunakan untuk mendeskripsikan sebuah sistem piranti lunak yang terkait dengan objek.
11 UML dapat dibagi menjadi empat kelompok ketika memodelkan suatu sistem, yaitu: use case diagram, activity diagram, class diagram, dan sequence diagram. 2.4
Use Case Diagram Menurut Whitten dan Bentley (2007: 247) use case diagram adalah urutan
interaksi antara sistem dan sistem eksternal dan user. Use case diagram menggambarkan skenario dan user yang saling berhubungan. Aktor atau pengguna adalah objek yang berinteraksi dengan sistem untuk memberikan atau mendapatkan informasi sedangkan skenario adalah urutan langkah yang menjelaskan interaksi antara actor atau pengguna terhadap sistem.
Gambar 2.2 Contoh use case diagram
Hubungan yang terdapat dalam sebuah use case diagram adalah (Whitten & Bentley, 2007: 248-250): 1.
Association
Association yang dilambangkan dengan symbol garis dengan, atau tanpa tanda panah melambangkan interaksi antara use case dengan aktor atau
12 pengguna. Hubungan Association bisa dibagi menjadi dua, yaitu bidirectional association dan unidirectional association. Bidirectional association adalah association yang bersifat dua arah, dilambangkan dengan sebuah garis lurus sedangkan unidirectional association adalah association yang bersifat satu arah dan dilambangkan oleh sebuah garis lurus dengan tanda panah.
Gambar 2.3 Contoh association pada use case diagram
2.
Extends Extends akan digunakan ketika sebuah use case cukup rumit dan terdapat beberapa tahap di dalamnya sehingga sulit dimengerti. Extends akan menghasilkan use case baru yang mewakilkan suatu fungsi tertentu dari use case awal yang nantinya disebut sebagai extended use case.
Gambar 2.4 Contoh extended use case
13 3.
Includes / Uses Includes / uses berguna ketika terdapat dua atau lebih use case yang melakukan langkah yang sama. Langkah tersebut dipisahkan menjadi sebuah use case terpisah yang disebut abstract use case. Tujuan dari abstract use case adalah untuk mengurangi redundansi pada use case.
Gambar 2.5 Contoh includes / uses pada use case diagram
4.
Depends On Depends On adalah hubungan keterkatian antara sebuah use case dimana sebuah use case baru bisa dijalankan ketika use case yang
14 lainnya
sudah
dilakukan. Gambar 2.6 Contoh depends on dalam use case diagram 5.
Inheritance Inheritance adalah suatu keadaan dimana dua atau lebih aktor melakukan langkah yang sama. Inheritance akan membuat sebuah aktor abstrak yang baru dengan tujuan untuk menyederhanakan use case.
Gambar 2.7 Contoh inheritance dalam use case diagram
15
2.5
Activity Diagram Activity
diagram
adalah
diagram
grafik
yang
digunakan
untuk
menggambarkan serangkaian aktifitas baik proses bisnis, langkah-langkah use case, atau logika perilaku dari objek. Activity diagram digunakan untuk membuat permodelan aksi yang dilakukan ketika sebuah operasi dijalankan dan memodelkan hasil dari aksi tersebut (Whitten & Bentley, 2007: 390-391).
Gambar 2.8 Contoh activity diagram
16 Dalam sebuah activity diagram, terdapat beberapa notasi yang digunakan, yaitu (Whitten & Bentley, 2007: 391). 1.
Initial Node Dilambangkan dengan sebuah lingkaran dengan warna yang padat dan utuh untuk menggambarkan awal dari sebuah proses.
2.
Actions Dilambangkan dengan kotak dengan sudut-sudut seperti lingkaran yang menggambarkan langkah individu
3.
Flow Dilambangkan dengan sebuah panah di dalam diagram, yang menandakan adanya perkembangan dalam sebuah aksi.
4.
Decision Dilambangkan dengan sebuah permata, terdapat satu aliran yang masuk dan dua atau lebih aliran yang keluar yang ditandai untuk mengidentifikasi kondisi ini.
5.
Merge Dilambangkan dengan sebuah permata dengan dua atau lebih aliran yang masuk dan satu aliran yang keluar. Merge menggabungkan aliran yang sebelumnya dipisahkan oleh decision kemudian diproses menjadi satu aliran.
6.
Fork Dilambangkan dengan balok hitam dengan satu aliran masuk dan dua atau lebih aliran keluar. Aliran parallel di bawah fork dapat terjadi dalam urutan yang tidak sama ataupun bersamaan.
17 7.
Join Dilambangkan dengan kotak hitam dengan dua atau lebih aliran yang masuk dan satu aliran yang keluar. Setiap aksi yang masuk ke dalam join harus selesai sebelum proses dilanjutkan.
8.
Activity Final Dilambangkan dengan lingkaran dengan warna yang utuh di dalam lingkaran kosong. Activity final menandakan akhir dari sebuah proses.
2.6
Sequence Diagram Sequence diagram adalah diagram UML yang menggambarkan logika dari
sebuah use case dengan cara menggambarkan bagaimana objek berinteraksi satu sama lain. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima di antara objek dan dalam sekuen apa (Whitten & Bentley, 2007: 659).
Gambar 2.9 Contoh sequence diagram Dalam activity diagram terdapat beberapa notasi yang digunakan dalam mengilustrasikan diagram, yaitu (Whitten & Bentley, 2007: 660): 1. Actor Actor berinteraksi dengan objek kelas interface. 2. Interface class
18 3. Interface class adalah kotak yang mengindetifikasikan kode kelas dari tampilan antarmuka. 4. Controller class Stiap use case
akan memiliki satu atau lebih controller classes, digambar
dengan notasi yang sama dengan interface class dan diberi tanda <
>. 5. Entity classes Entity classes adalah kotak tambahan untuk setiap kesatuan yang membutuhkan kolaborasi dalam tahap-tahap sequence. 6. Messages Messages digunakan untuk menyampaikan method dari setiap objek.
7. Activation bars Activation bars adalah kotak yang berfungsi untuk mengidentifikasikan waktu keberadaan dari setiap objek yang ada. 8. Return messages Return messages adalah jawaban atas pesan yang disampaikan oleh suatu objek. 9. Self-call Self-call adalah sebuah objek yang dapat mengirimkan pesan ke objek itu sendiri. 10. Frame Frame digunakan untuk menandakan area pada diagram yang mengalami perulangan (looping), mengalami seleksi (alternative), atau memiliki sebuah ketentuan (optional)
19 2.7
Python Python merupakan salah satu bahasa pemrograman tingkat tinggi (High Level
Language) yang bersifat interpreter, interaktif, dan berorientasi objek (Jaan Kiusalaas, 2010). Di dalam bahasa python sendiri pun terdapat bahasa tingkat rendah (Low Level Languange) yang berhubungan dengan bahasa mesin atau assembly. Pada
dasarnya
komputer
hanya
memahami
instruksi
dari
bahasa
pemrograman tingkat rendah. Untuk memahami bahasa pemograman tingkat tinggi, maka bahasa pemrograman tingkat tinggi harus diterjemahkan ke dalam bahasa pemrograman tingkat rendah terlebih dahulu sebelum instruksi-instruksi tersebut dijalankan. Ada dua jenis penerjemah dari bahasa pemrograman tingkat tinggi ke bahasa pemrograman
tingkat
rendah,
yaitu:
compiler
dan
interpreter.
Interpreter membaca kode program baris per baris, sehingga membutuhkan waktu lebih sedikit sedangkan compiler membaca program secara keseluruhan, kemudian menerjemahkan seluruh instruksi dalam program sekaligus.
Gambar 2.9 Perbandingan Interpreter dan Compiler
20 2.8
Integrated Developer Environment Integrated Developer Environment (IDLE) merupakan salah satu editor yang
sudah terintegrasi dengan interpreter bahasa pemrograman python yang umumnya digunakan oleh software developer. IDLE memudahkan software developer dalam mengembangkan sebuah aplikasi yang berbasis python.
Gambar 2.10 Tampilan IDLE Python Gambar 2.10 merupakan tampilan awal dari IDLE yang biasa disebut sebagai window interpreter. Dengan interpreter, setelah kita menulis sebuah perintah, python akan mengeksekusi perintah tersebut dan kemudian akan menampilkan hasilnya. 2.9
Gelombang Berdasarkan arah perambatannya, gelombang dibagi menjadi dua yaitu
gelombang transversal dan gelombang longitudinal. Gelombang transversal merupakan gelombang yang arah perambatanya tegak lurus terhadap arah getarannya. Perambatan gelombang tranversal menyerupai
21 bentuk bukit atau bentuk lembah, perambatan tipe ini hanya terjadi dalam zat padat dan cair. Contoh dari gelombang transversal adalah gelombang pada seutas tali dan gelombang pada permukaan air. Gelombang longitudinal merupakan gelombang yang arah perambatannya searah dengan arah getarannya. Pada gelombang longitudinal, yang merambat adalah rapatan dan renggangan. Contoh dari gelombang longitudinal adalah gelombang bunyi dan gelombang pada slinki (pegas) yang diberikan getaran mendatar. Gelombang memiliki empat besaran dasar berikut: 1.
Periode, , adalah waktu yang diperlukan untuk menempuh satu gelombang.
Satu gelombang dalam gelombang transversal adalah satu bukit dan satu lembah, sedangkan untuk gelombang longitudinal, satu gelombang adalah satu renggangan dan satu rapatan. 2.
Frekuensi,
, adalah banyak gelombang yang ditempuh dalam waktu satu
sekon. 3.
Panjang gelombang, , adalah jarak yang ditempuh gelombang dalam waktu
satu periode. 4.
Cepat rambat gelombang, , adalah hasil bagi antara panjang gelombang dan
periode. Hubungan keempat besaran dasar gelombang bisa dinyatakan dengan rumus sebagai berikut. atau
atau
22 2.10
Aliran Zat Cair Aliran fluida bisa mantap atau tak mantap; merata atau tak merata; laminer
atau turbulen; satu dimensi, dua dimensi atau tiga dimensi, dan rotasional atau tak rotasional (Munson, Bruce R, 2009). Aliran satu dimensi dari suatu fluida tak kompresibel terjadi bila arah dan besar kecepatannya di semua titik sama. Akan tetapi analisis aliran satu dimensi bisa diterima bila dimensi tunggalnya ditentukan di sepanjang garis arus tengah dari aliran, dan bila kecepatan dan percepatan yang tegak lurus pada garis arus tersebut dapat diabaikan. Dalam hal-hal seperti itu, harga ratarata dari kecepatan dan percepatan dan ketinggian dianggap menyatakan aliran sebagai suatu keseluruhan dan penyimpangan-penyimpangan kecil bisa diabaikan. Aliran air yang ada di alam ini memiliki bentuk yang beragam, karena berbagai sebab dari keadaan alam baik bentuk permukaan tempat mengalirnya air juga akibat arah arus yang tidak mudah untuk digambarkan. Misalnya aliran sungai yang sedang banjir, air terjun dari suatu ketinggian tertentu, dan sebagainya. Contoh yang disebutkan di bagian depan memberikan gambaran mengenai bentuk yang sulit dilukiskan secara pasti. Namun demikian, bila kita kaji secara mendalam maka dalam setiap gerakan partikel tersebut akan selalu berlaku hukum kedua Newton. Oleh sebab itu, agar kita lebih mudah untuk memahami perilaku air yang mengalir diperlukan pemahaman yang berkaitan dengan kecepatan (laju air) dan kerapatan air dari setiap ruang dan waktu. Bertolak dari dua besaran ini aliran air akan mudah untuk dipahami gejala fisisnya, terutama dibedakan macam-macam alirannya. Berikut ini akan diuraikan beberapa jenis aliran yang nantinya akan digunakan untuk menganalisis permasalahan dalam skripsi ini.
23 2.10.1 Aliran Viscous dan Aliran non Viscous Aliran viscous adalah aliran dengan kekentalan, atau sering disebut aliran fluida pekat. Kepekatan fluida ini tergantung pada gesekan antara beberapa partikel penyusun fluida. Di samping itu juga gesekan antara fluida itu sendiri dengan tempat terjadinya aliran tersebuut. Untuk aliran air lebih didekatkan pada aliran dengan kekentalan yang rendah, sehingga aliran air dapat berada pada aliran non viscous. 2.10.2 Aliran Termampatkan dan Aliran tak Termampatkan (Incompressible and Compressible Flows) Aliran termampatkan adalah aliran fluida yang selama pengalirannya dapat dimampatkan atau berubah volumenya, sehingga akan mengubah pula massa jenis fluida tersbeut. Aliran termampatkan ini pada umumnya berlangsung pada gas, sedangkan pada air alirannya lebih didekatkan pada pengertian aliran tak termampatkan yakni bahwa selama pengaliran air tersebut massa jenis air dianggap tetap besarnya. 2.10.3 Aliran Irrotational dan Rotational
Gambar 2.11. Ilustrasi aliran Irrotational dan rotational.
24 Aliran irrotasional adalah aliran dimana nilai rotasinya atau setiap komponen vektor rotasinya sama dengan nol. Contoh aliran irrotasional adalah medan aliran pada aliran seragam. Penjabaran matematisnya disajikan pada pesamaan berikut
Omega (kapital) sering dinotasikan sebagai vortisitas (vorticity), sehingga didefinisikan sebagai sebuah vektor yang nilainya dua kalinya vektor rotasi. Sedangkan aliran rotasional adalah aliran dimana nilai rotasinya atau setiap komponen vektor rotasinya tidak sama dengan nol. Hal ini berarti medan aliran dengan kecepatan vektor
atau curl V tidak sama dengan nol.
2.10.4 Aliran Steady dan Unsteady
Gambar 2.12. Ilustrasi aliran Steady dan Unstead. Aliran air dikatakan steady (mantap) apabila laju air pada setiap titik tertentu setiap saat adalah konstan.. Hal ini berati bahwa pada aliran steady (mantap), kelajuan pada satu titik tertentu adalah tetap setiap saat, meskipun kelajuan aliran
25 secara keseluruhan itu berubah/berbeda. Aliran steady ini akan banyak dijumpai pada aliran air yang memiliki kedalaman yang cukup, atau pada aliran yang yang memiliki kecepatan yang kecil. Sebagai contoh, aliran laminer adalah aliran steady. Pada aliran laminer, arus air memiliki arus yang sederhana (streamline/arus tenang), laju geraknya kecil dan dimensi vektor kecepatannya berubah secara kontinyu dari nol pada dinding dan maksimum pada sumbu pipa (dimensi linearnya kecil) dan banyak terjadi pada air yang memiliki kekentalan rendah.
Gambar 2.13. Ilustrasi aliran Laminar dan Turbulent. Aliran mantap terjadi jika di sembarang titik, kecepatan partikel-partikel fluida yang bersifat sama pada jangka waktu yang berurutan. Jadi, kecepatannya tetap terhadap waktu atau
, tapi bisa berubah-ubah pada titik-titik yang
berbeda-bedaatau terhadap jarak. Contoh aliran yang meliputi keadaan – keadaan aliran mantap, misalnya jalur-jalur pipa yang mnegalirkan cairan pada keadaan head tetap atau mulut sempit (orifice) yang mengalir pada keadaan tetap, menggambarkan aliran mantap.
26 2.11
Persamaan Air Dangkal Linier (Linier Shallow Water Equation) Persamaan air dangkal diperoleh melalui hukum kekekalan massa dan
momentum. Kedua persamaan tersebut yang mengatur aliran fluida. Persamaan air dangkal berlaku pada fluida (air) yang dangkal. Pada persamaan ini, yang dimaksud dengan dangkal adalah suatu gelombang air yang memiliki panjang gelombang yang cukup besar bila dibandingkan dengan kedalamannya. Bila suatu gelombang memiliki kedalaman yang kurang dari sepersepuluh panjang gelombangnya, maka gelombang tersebut tergolong ke dalam gelombang air dangkal atau
10.
Gambar 2.14 Gelombang Permukaan Air
Perhatikan gambar 2.11. Misalkan kedalam air pada dasar tak rata adalah . Aliran fluida di sini memenuhi persamaan air dangkal linier (SWE)
berikut ini (2.1) (2.2)
dengan
menyatakan simpangan air laut dalam keadaan setimbang,
kecepatan horizontal partikel fluida,
menyatakan
merupakan percepatan gravitasi. Persamaan
27 2.1 dan 2.2 diketahui sebagai persamaan air dangkal. Kedua persamaan tersebut akan dilinierkan supaya lebih mudah untuk dipelajari. Untuk melinierkan kedua persamaan tersebut, diperlukan solusi equilibrium dan
, yaitu solusi yang tidak mengandung unsur . Solusi equilibrium
yang memenuhi persamaan air dangkal adalah
Dimisalkan
dan
berorde
dan
juga berorde
dan
.
sehingga expansi adalah
di sekitar equilibrium adalah seperti berikut:
(2.3)
(2.4)
dengan adalah sebuah bilangan yang sangat kecil.
Substitusikan persamaan 2.3 dan persamaan 2.4 ke dalam persamaan 2.1, sehingga diperoleh
(2.5)
Suku-suku berorde pada persamaan 2.5 memberikan persamaan berikut:
(2.6) Kemudian substitusikan persamaan 2.3 dan 2.4 ke persamaan 2.2 sehingga diperoleh
(2.7)
Suku-suku berorde pada persamaan 2.7 memberikan persamaan berikut:
28
(2.8) Persamaan 2.6 dan 2.8 dikenal sebagai persamaan air dangkal linier (SWE). 2.12
Ekspansi Asimtotik Metode ekspansi asimtotik digunakan untuk mencari solusi dari persamaan
dengan orde yang sangat kecil (Holmes, 1995). Berikut ini akan didefinisikan
yang merupakan fungsi skalar dengan peubah
dan
dengan parameter .
Definisi 1: 1. fungsi
dikatakan ‘O besar’ dari fungsi
, jika terdapat suatu
untuk
dan suatu lingkungan
, ditulis
di
untuk
sehingga
(2.9) Hal khusus, jika
untuk
,
(2.10)
2. Fungsi
dikatakan ‘o-kecil’ dari fungsi
terdapat suatu lingkungan
di
untuk
, jika untuk setiap
sehingga
(2.11) Hal khusus, jika
untuk
,
29
(2.12)
Notasi lain untuk
adalah
Defisini 2: Diberkan
dari
untuk
untuk
dan
jika
.
. Fungsi
dinamakan hampiran asimtotik
untuk
. Pada kasus ini dapat ditulis
.
di sekitar
Jika
, maka
adalah hampiran asimtotik dari
untuk
dapat ditulis sebagai
(2.13)
Definisi 3: Barisan fungsi
dinamakan barisan asimtotik untuk
jika
dan hanya jika
untuk setiap
.
Definisi 4: Jika
asimtotik untuk
yang memenuhi
adalah barisan asimtotik maka
memiliki ekspansi
suku yang berkatian dengan barisan tersebut jika dan hanya jika
,
Dimana
dan
dengan
tidak bergantung pada . Pada kasus ini, dapat ditulis
(2.14)
30
(2.15) Fungsi
disebut fungsi skala.
Berikut ini adalah langkah-langkah untuk menyelesaikan suatu persamaan dengan metode asimtotik 1. Misalkan diketahui suatu persamaan sebagai berikut: (2.16) dengan
suatu operator (dalam tugas akhir ini,
merupakan suatu operator
diferensial). 2. Nilai ekspansi asimtotik yang digunakan adalah (2.17) 3. Substitusikan persamaan yang disusun oleh suku-suku berorde 1 sehingga dapat diperoleh solusi untuk
.
4. Selesaikan persamaan yang disusun oleh suku-suku berorde 1 sehingga dapat diperoleh solusi untuk
5. Substitusikan
.
ke dalam persamaan yang disusun oleh suku-suku berorde ,
kemudian selesaikan untuk memperoleh solusi
6. Langkah-langkah untuk memperoleh
sistematis untuk memperoleh
dan
.
dapat diteruskan secara
, dan seterusnya.
31 7. Hampiran solusi asimtotik dapat diperoleh dengan mensubstitusikan fungsi-fungsi ,
2.13
, dan seterusnya ke dalam persamaan 2.17.
Transformasi Fourier Fourier mendefinisikan transformasi Fourier dari deret Fourier bentuk
kompleks (eksponensial), yaitu dengan menganggap fungsi non periodik adalah fungsi periodik dengan perioda tak berhingga. Kita mulai dengan bentuk bentuk eksponensial deret Fourier :
f (t ) =
~
∑c
n=−~
n
e jnωot
(2.18)
dengan : cn =
1 T
T /2
∫ f (t ) e
− jnω o t
dt
(2.19)
−T / 2
dan
ωo =
2π T
(2.20)
Seperti telah dijelaskan sebelumnya bahwa fungsi non periodik, dapat disebut fungsi periodik dengan perioda tak berhinggga (T → ∞). Dengan demikian, dari persamaan 2.20 diperoleh bahwa ω o adalah bilangan yang amat kecil ( ω o →0). Kita nyatakan limit ini dengan diferensial
ω o → dω maka
32
1 ωo dω = → T 2π 2π
(2.21)
Perhatikan bahwa n bilangan -∞ sampai +∞, maka mudah dipahami bahwa
nω o haruslah menunjukkan variabel frekuensi, sebab untuk n tak berhingga dan ω o mendekati nol, perkaliannya adalah terbatas, sehingga dapat kita nyatakan :
nω o
ω
(2.22)
Jika keempat operasi limit ini digunakan untuk persamaan 2.19, maka kita dapatkan bahwa cn haruslah mendekati nol, kemudian jika kita mengalikan tiap ruas pada persamaaan 2.19 dengan perioda T dan kemudian menggunakan proses limit, maka diperoleh : ~
cnT →
− jωt
∫ f (t ) e
dt
(2.23)
−~
Ruas kanan fungsi ini adalah fungsi dari ω (dan bukan fungsi ), dan pernyataan inilah yang dipakai oleh Fourier sebagai definisi transformasi Fourier
Jadi definisi transformasi fourier dari suatu fungsi f(t) adalah : ~
F ( jw) =
∫ f (t ) e
− jωt
dt
(2.24)
−~
Sedangkan invers transformasi Fourier adalah :
f (t ) = ℑ −1 [F ( jω ] = 2.14
1 2π
~
∫ F ( jω ) e
jωt
dt
(2.25)
−~
Teori Residu Berikut ini akan diuraikan teori dasar residu yang nantinya akan digunakan
sebagai alat untuk pemodelan. Teori ini diambil dari (James Ward Brown, 2008).
33 Misalkan f(z) adalah fungsi kompleks yang bernilai tunggal dan analitik di dalam dan pada suatu daerah R, kecuali di titik singularnya. Tujuan kita adalah menhitung integral berikut
∫ f ( z )dz
(2.26)
C0
dimana C0 adalah lingkaran yang pusatnya di z0, dimana f memiliki singularias di titik pusat tersebut. Asumsikan bahwa jari-jari C0 cukup kecil sehingga fungsi f tidak memiliki titik singular yang lain. Asumsikan pula bahwa arah C0 berlawanan dengan arah jarum jam. Di sekitar titik z0, f(z) dapat dinyatakan sebagai deret Laurent yang diberikan oleh
f ( z) =
∞
∑a
k = −∞
k
( z − z0 ) k
(2.27)
Dengan demikian, persamaan (2.26) dapat dituliskan sebagai berikut
∫
f ( z )dz =
C0
∞
∫ ∑a
C0 k = −∞
k
( z − z 0 ) k dz =
∞
∑ a ∫ (z − z
k = −∞
k
0
) k dz
(2.28)
C0
Ingat bahwa dengan menggunakan teorema integral Cauchy, kita dapat memperoleh
∫ (z − z C0
0
0, k ≠ −1 ) k dz = 2πi, k = −1
(2.29)
Substitusikan (2.29) ke dalam (2.28) diperoleh
∫ C0
f ( z )dz =
∞
∑ a ∫ (z − z
k = −∞
k
C0
0
0, k ≠ −1 ) k dz = = 2πia −1 2πi, k = −1
(2.30)
Hal ini menunjukkan bahwa koefisien a-1 dalam deret Laurent dari fungsi f di sekitar titik z0 menentukan nilai integral f atas lingkaran cukup kecil yang berpusat di z0. Nilai a-1 disebut residu f di z0, dan dilambangkan dengan Resz0(f).
34
2.14.1 Teorema Residu Misalkan f adalah fungsi bernilai tunggal di daerah R, dan misalkan C adalah loop sederhana yang memiliki orientasi berlawanan arah jarum jam. Asumsikan C mengelilingi himpunan titik {z0, z1, z2,….} dan fungsi f mungkin tidak analitik di titik-titik tersebut. Asumsikan pula bahwa f analitik di titik-titik lainnya pada dan di dalam C. Maka,
∫ f ( z )dz = 2πi∑ Re s C0
zz
(f)
(2.31)
k
Teorema residu dapat dilihat sebagai erluasan dari teorema integral Cauchy.
2.14.2 Menghitung Residu Untuk memperoleh residu dari suatu fungsi f(z) di z = a, pertama-tama f(z) harus diuraikan ke dalam deret Laurent di sekitar z = a. Tetapi jika z = a adalah suatu titik singular bertingkat k, maka terdapat suatu rumus sederhana untuk a-1 yang diberikan oleh
a−1 = lim x →a
2.15
[
1 d k −1 ( z − a) k f ( z ) (k − 1)! dz k −1
]
(2.32)
Metode Numerik Seringkali pemodelan matematika muncul dalam bentuk yang rumit. Dengan
demikian, solusi eksak dari pemodelan yang rumit akan sulit dicari secara analitik. Ketika metode analitik tidak bisa lagi digunakan dalam mencari jawaban, maka metode numerik merupakan salah satu cara untuk mencari jawaban dalam permodelan matematika yang tidak dapat diselesaikan secara analitik. Solusi yang dihasilkan oleh metode numerik merupakan solusi pendekatan atau hampiran terhadap solusi eksak. Solusi hampiran yang didapat dari metode
35 numerik tidak sama dengan solusi eksak dikarenakan ada selisih diantara kedua solusi tersebut, yang disebut sebagai galat (error). Metode numerik melakukan proses perhitungan secara iteratif dengan menggunakan alat bantu, yaitu komputer. Dengan menggunakan komputer yang dapat menerima input secara digital, data bisa diproses sesuai dengan kebutuhan numeriknya, dan hasil informasi bisa dihasilkan. Sebelum suatu permodelan matematika bisa diselesaikan secara numerik dengan menggunakan komputer, ada beberapa langkah yang harus dilakukan (Djojodiharjo,2000: 12) yaitu: 1.
Memodelkan masalah di dunia nyata ke dalam bentuk formulasi matematika,
2.
Menyediakan input yang sesuai dengan permodelan
3.
Membuat algoritma program
2.15.1 Tahapan Memecahkan Persoalan Secara Numerik Ada enam tahapan yang harus dilakukan dalam menyelesaikan suatu permodelan matematika dengan menggunakan metode numerik, yaitu: 1.
Permodelan Pada Tahap yang pertama, persoalan dari dunia nyata harus dimodelkan menjadi sebuah permodelan matematika.
2.
Penyederhanaan Model Permodelan yang didapatkan dari tahap pertama disederhanakan dengan tujuan agar solusinya lebih mudah diperoleh.
3.
Formulasi Numerik
36 Setelah permodelan matematika disederhanakan, maka langkah selanjutnya adalah untuk membuat formulasi numerik dengan memilih metode numerik yang akan digunakan. 4.
Membuat Program Numerik Pada tahap ini, akan dibuat sebuah algoritma berdasarkan metode numerik yang digunakan. Setelah algoritma selesai dibuat, kemudian algoritma ini akan diterapkan ke dalam bahasa pemrograman.
5.
Operasional Program yang sudah dibuat pada tahap empat dijalankan untuk mendapatkan solusi dari permodelan matematika secara numerik.
6.
Evaluasi Ketika hasil solusi hampiran numerik sudah didapatkan, maka hasil tersebut akan dievaluasi.
2.15.2 Metode Integrasi Trapesium Metode integrasi trapesium bekerja dengan cara membagi suatu daerah yang dibatasi menjadi
bagian yang sudah ditentukan. Kemudian untuk setiap partisi
yang dihasilkan maka akan dihitung luasnya dengan menggunakan rumus luas trapesium.
37
Gambar 2.15 Contoh Metode Integrasi Trapesium
Pada dasarnya, integral dari suatu fungsi dapat diintrepretasikan sebagai luas daerah. Perhatikan gambar 2.11. Misalkan terdapat suatu daerah yang dibatasi oleh fungsi
, sumbu
dan sumbu
. Metode integrasi trapesium bekerja
dengan cara membagi daerah tersebut menjadi N bagian yang sudah ditentukan. Kemudian untuk setiap partisi yang dihasilkan, maka akan dihitung luasnya dengan menggunakan rumus luas trapesium. Dari jumlah partisi, dapat diketahui lebar partisi ( ) dengan cara
. Dalam hal ini, batas bawah adalah
dan batas atas adalah
. Semakin tinggi jumlah partisi yang digunakan, maka hasil perhitungan akan
semakin akurat. Perhitungan iterasi akan dimulai dari batas bawah dan akan terus mendekati batas atas sejumlah
pada setiap iterasinya. Untuk setiap partisi akan dianggap
sebagai sebuah trapesium dan akan dihitung luasnya dengan
38
2.15.3 Analisis Sensitivitas Analisis sensitivitas merupakan suatu analisis yang dilakukan untuk melihat pengaruh yang terjadi akibat keadaan yang berubah-ubah. Pada pemecahan solusi numerik, suatu batas akan selalu dibagi menjadi N partisi. Untuk mengetahui jumlah partisi (N) yang sesuai maka perlu dilakukan analisis sensitivitas dengan membandingkan hasil analitik dengan hasil numerik.