BAB II LANDASAN TEORI
2.1 SIMULASI 2.1.1 Pengertian Simulasi Simulasi adalah tiruan dari sebuah sistem dinamis dengan menggunakan model komputer untuk melakukan evaluasi dan meningkatkan kinerja sistem (Harrell, dkk, 2003). Atau singkatnya, simulasi merupakan upaya untuk melakukan pendekatan terhadap sistem dengan menggunakan model (Lala, 2012).
2.1.2 Perlu dan Tidak Perlunya Simulasi Di kehidupan nyata, kadang seseorang memerlukan suatu simulasi untuk tujuan tertentu. Alasan simulasi itu diperlukan, karena (Harrell, dkk, 2003): 1. Menyediakan metode analisis dan meramalkan kinerja sistem, bahkan untuk sistem yang paling rumit. 2. Mendukung pengambilan keputusan. 3. Dapat terhindar dari resiko. 4. Menggunakan cara try-it-and-see-it. 5. Menghilangkan faktor emosi dari proses pengambilan keputusan dengan menyediakan bukti objektif.
6
http://digilib.mercubuana.ac.id/
7
Tetapi tidak semua permasalahan dapat diselesaikan dengan bantuan simulasi. Ada beberapa hal yang membuat simulasi itu tidak diperlukan, di antaranya (Lala, 2012): 1. Jika masalah mudah diselesaikan dengan metode sederhana. 2. Diselesaikan dengan analitik. 3. Eksperimen langsung yang lebih murah, mudah, dan dimungkinkan. 4. Data tidak tersedia.
2.1.3 Keuntungan dan Peran Simulasi Kehadiran simulasi untuk suatu sistem tentunya memberikan beberapa keuntungan. Keuntungan yang diberikan itu di antaranya menghemat waktu, dapat melebarluaskan waktu, dapat mengawasi sumber-sumber yang bervariasi, dapat dihentikan dan dijalankan kembali, serta mudah diperbanyak (Lala, 2012). Dan berikut ini merupakan peran dari simulasi (Lala, 2012). 1. Mempelajari interaksi dalam sistem yang kompleks. 2. Untuk visualisasi. 3. Sebagai verifikasi model yang dikembangkan. 4. Sebagai alat untuk melakukan percobaan, sensivity analysis, dan prediksi dari model yang dikembangkan.
http://digilib.mercubuana.ac.id/
8
2.1.4 Karakteristik Simulasi Setelah melihat penjelasan mengenai keuntungan dan peran simulasi, dapat disimpulkan bahawa karakteristik simulasi adalah sebagai berikut (Harrell, dkk, 2003): 1. Mencakup saling ketergantungan sistem. 2. Memperhitungkan variabilitas sistem. 3. Sanggup membuat model untuk sistem apapun. 4. Memperlihatkan perilaku sistem setiap saat. 5. Lebih murah, tidak menghabiskan banyak waktu, dan tidak mengganggu sistem nyata. 6. Menarik perhatian. 7. Menyediakan hasil yang mudah dimengerti dan dikomunikasikan.
2.2 INTERPOLASI 2.2.1 Pengertian Interpolasi Interpolasi adalah suatu teknik
untuk mendapatkan nilai yang belum
diketahui dengan menggunakan pasangan nilai yang sudah ada (Astuti, tanpa tahun). Dalam bidang matematika analisis numerik, interpolasi adalah metode menghasilkan titik-titik data baru dalam suatu jangkauan dari suatu set diskrit data-data yang diketahui (Novita, 2012).
http://digilib.mercubuana.ac.id/
9
2.2.2 Jenis-jenis Interploasi 2.2.2.1 Interpolasi Liner Interpolasi Linier adalah interpolasi yang paling sederhana dengan menganggap hubungan berupa garis antara dua titik data (Choiron, tanpa tahun).
= ( )
Gambar 2.1 Interpolasi Linier
Persamaan
Interpolasi
Linier
atau
persamaan
garis
lurus
yang
menghubungkan dua titik data seperti pada gambar di atas adalah:
=
+
− −
( −
)
2.2.2.2 Interpolasi Kuadrat Interpolasi Kuadrat adalah suatu teknik interpolasi yang digunakan untuk mendapatkan nilai yang belum diketahui dengan menggunakan tiga titik terdekatnya (Astuti, tanpa tahun). Misalkan tiga titik tersebut adalah ( ,
), dan
( ,
).
http://digilib.mercubuana.ac.id/
( ,
),
10
( , ( ,
)
) ( ,
( , )
)
Gambar 2.2 Interpolasi Kuadrat
Untuk memperoleh titik ( , ) digunakan persamaan Interpolasi Kuadrat sebagai berikut:
=
( − ( −
)( − ) + )( − )
( − ( −
)( − ) + )( − )
( − ( −
)( − ) )( − )
2.2.2.3 Interpolasi Newton Interpolasi Polinomial Newton atau yang lebih dikenal dengan Interpolasi Newton, merupakan salah satu jenis interpolasi polinomial (berderajat banyak). Interpolasi Newton didasarkan pada formulasi beda hingga, dimana dibuat suatu polinomial dengan titik-titik data sebagai titik simpul (Choiron, tanpa tahun). Bentuk interpolasi polinomialnya adalah sebagai berikut: ( )=
+
( −
( − dimana
, Harga
)+
( −
)( −
) + ⋯+
( −
)( −
) , …,
merupakan suatu konstanta
dengan = 0, 1, .., .
dapat dirumuskan sebagai berikut:
=
http://digilib.mercubuana.ac.id/
)…
11
− −
=
−
=
(
− )(
− −
=
(
− (
− ) − )
( − )− ( − )( − )(
− −
)( )
−
)
dst. Metode ini menjadi lebih mudah jika inkremen dari =
= ℎ atau
=
+ ℎ dengan
= 1, 2, … ,
adalah tetap,
(Choiron, tanpa tahun).
Sehingga persamaan di atas mejadi: = =
+
ℎ
=
+
(2ℎ) +
(2ℎ )
=
+
(3ℎ) +
(6ℎ ) +
=
+
( ℎ) +
(6ℎ )
( ℎ) ( − 1)ℎ +
( ℎ) ( − 1)ℎ ( − 2)ℎ + ⋯ +
( !)ℎ Kalau persamaan tersebut diselesaikan, maka akan menjadi: =
=
− ℎ
=
− ℎ
=
∆ ℎ
http://digilib.mercubuana.ac.id/
12
=
1 [ 2ℎ
=
1 [( 2ℎ
−
− 2ℎ
]=
)−(
−
−
1 2ℎ
Untuk menghitung
−
)] =
− 2ℎ
(
)
− ℎ
1 ∆ [∆(∆ )] = 2ℎ 2ℎ
dengan lebih mudah dapat menggunakan tabel
seperti di bawah ini. Tabel 2.1 Formulasi beda hingga
∆
= −
∆ = ∆ −∆
∆ = ∆ −∆
∆ = ∆ −∆
∆ = ∆ −∆
∆ ∆ ∆
∆ ∆
∆
∆ ∆
∆ ∆
∆ ∆
∆ ∆
∆
Jadi secara umum harga
=
dapat dihitung dengan rumus:
∆ ( !)ℎ Semakin banyak tingkat
yang dipakai dalam menghitung harga , maka
semakin teliti interpolasinya (Choiron, tanpa tahun).
http://digilib.mercubuana.ac.id/
13
2.2.2.4 Interpolasi Lagrange Selain Interpolasi Newton, Interpolasi Polinomial Lagrange atau yang lebih dikenal dengan Interpolasi Lagrange, juga termasuk dalam jenis interpolasi polinomial. Interpolasi Lagrange hampir sama dengan Interpolasi Newton, tetapi pada Interpolasi Lagrange tidak menggunakan bentuk pembagian beda hingga (Iswanto, tanpa tahun). Interpolasi Lagrange diterpakan untuk mendapatkan fungsi/persamaan polinomial
( ) berderajat tertentu yang melewati sejumlah
titik data (Supriyanto, 2006). Misalnya ada tiga titik yaitu ( , ( ,
), ( ,
), dan
), jika ingin mendapatkan fungsi polinomial yang melewati ketiga titik
tersebut, maka dapat menggunakan fungsi polinomial berderajat dua (orde dua). Langkah pertama yang harus dilakukan adalah mendefinisikan fungsi berikut:
( )=
( − ( −
)( − ) )( − )
( )=
( − ( −
)( − ) )( − )
( )=
( − ( −
)( − ) )( − )
Setelah itu definisikan fungsi polinomial sebagai berikut: ( )=
( )
+
( )
+
( )
Jika semua persamaan di atas digabungkan, maka akan didapat fungsi polinomial berikut yang mirip dengan fugsi/persamaan Interpolasi Kuadrat:
( )=
( − ( −
)( − ) + )( − )
( − ( −
)( − ) + )( − )
http://digilib.mercubuana.ac.id/
( − ( −
)( − ) )( − )
14
Untuk lebih jelasnya, jika ketiga titik data tersebut diberikan nilai yang merupakan nilai dari bilangan kuadrat dengan 2, 5, dan 6, dan mencari nilai
(4) = 4
=4
, dan
atau ( ) dari
( − ( −
( )=
,
,
, dan
berturut-turut adalah
berturut-turut adalah 4, 25, dan 36, maka untuk = 4 adalah:
)( − ) + )( − )
( − ( −
)( − ) + )( − )
( − ( −
)( − ) )( − )
(4 − 5)(4 − 6) (4 − 2)(4 − 6) (4 − 2)(4 − 5) + 25 + 36 (2 − 5)(2 − 6) (5 − 2)(5 − 6) (6 − 2)(6 − 5) (−1)(−2) (2)(−2) (2)(−1) + 25 + 36 (−3)(−4) (3)(−1) (4)(1)
=
2 100 + − 18 3 3
=
2 100 54 + − 3 3 3
= 16 Dan apabila terdapat
titik, maka fungsi polinomialnya dapat dituliskan
seperti berikut:
( )=
( − )( − ) … ( − ) ( − )( − ) … ( − )
( )=
( − ( −
( )=
( − )( − ) … ( − ) ( − )( − ) … ( − )
( )=
( − )( − ) … ( − ( − )( − ) … ( −
)( − )( −
)…( − ) )…( − )
) )
http://digilib.mercubuana.ac.id/
15
sehingga persamaa polinomial dari Interpolasi Langrange dapat dirumuskan sebagai berikut:
( )=
( − )( − ( − )( −
)…( − )…( −
Jadi kesimpulannya, jika terdapat
)( − )( −
)…( − ) )…( − )
titik data, maka orde yang dapat
digunakan untuk mencari harga ( ) adalah sebanyak orde yang digunakan untuk mencari harga
− 1. Dan semakin tinggi
( ), maka semakin tinggi tingkat
ketelitian/akurasinya.
2.2.3 Kelebihan Interpolasi Interpolasi memegang peranan yang sangat penting dalam metode numerik. Fungsi yang tampak sangat rumit akan menjadi sederhana bila dinyatakan dalam polinom interpolasi. Sebagian besar metode integrasi numerik, metode persamaan diferensial biasa dan metode turunan numerik didasarkan pada polinom interpolasi, sehingga banyak yang menyatakan bahwa interpolasi merupakan
pokok
bahasan
yang
fundamental
dalam
metode
numerik
(Ismardianto, tanpa tahun).
2.2.4 Pemasalahan Umum dalam Interpolasi Sebuah permasalahan berbeda yang berhubungan dekat dengan interpolasi adalah pendekatan/aproksimasi suatu fungsi kompleks melalui suatu fungsi sederhana. Seandainya formula untuk suatu fungsi tertentu diketahui namun terlalu rumit untuk dinilai secara efisien, maka beberapa titik data yang diketahui
http://digilib.mercubuana.ac.id/
16
dari fungsi asli tersebut dapat digunakan untuk menghasilkan suatu interpolasi berdasarkan suatu fungsi yang lebih sederhana. Tentu saja, ketika suatu fungsi yang lebih sederhana digunakan untuk memperkirakan titik data dari fungsi asli, biasanya muncul kesalahan interpolasi, namun tergantung pada domain masalahnya dan pada metode interpolasi yang digunakannya, keuntungan dari kesederhanaan/kemudahannya lebih menguntungkan daripada hasil berkurangnya keakuratan (Novita, 2012). Sedangkan dalam interpolasi polinomial, masalah yang biasanya terjadi adalah (Affdani, 2004): 1. Derajat/orde interpolasi polinomial sama dengan jumlah
titik data, jadi jika
= 1000 titik data, maka akan mempunyai polinomial orde 1000. 2. Polinomial berorde tinggi (saat
> 5) dapat menampakkan ciri eratik (sulit
diduga) dan sangat rentan dengan instabilitas numerik. 3. Polinomial berorde tinggi seringkali menginterpolasi titik-titik di luar jangkauan titik data yang tepat karena adanya overshoot.
2.3 BORLAND DELPHI Borland Delphi merupakan program aplikasi database yang berbasis object pascal dari Borland. Selain itu, Delphi juga memberikan fasilitas pembuatan aplikasi visual (Putri, tanpa tahun). Delphi merupakan pilihan dalam pembuatan aplikasi visual karena memberikan produktivitas yang tinggi.
http://digilib.mercubuana.ac.id/
17
2.3.1 Sejarah Delphi Delphi adalah sebuah IDE (Integrated Development Environment) Compiler untuk bahasa pemrograman pascal dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET Framework. Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE (Redaksi Kawan Pustaka, 2008). Pada tanggal 8 Februari 2006, Borland mengumumkan akan melepas seluruh jajaran produk pengembangan aplikasi komputernya termasuk di antaranya Delphi. Saat ini Delphi menjadi bagian dari jajaran IDE milik Embarcadero Technologies setelah Embarcadero Technologies mengakuisisi CodeGear, anak perusahaan Borland yang menangani tool pengembangan aplikasi (Wahana Komputer, 2012).
Gambar 2.3 Embarcadero
http://digilib.mercubuana.ac.id/
18
Arsitek dibelakang suksenya Delphi adalah Anders Hejlsberg , yang telah mengembangkan Turbo Pascal. Ia pindah ke Microsoft pada 1996 (Putri, tanpa tahun).
2.3.2 Borland Delphi 7 Borland Delphi 7, dirilis pada Agustus 2002, menjadi versi standar yang digunakan oleh pengembang Delphi lebih dari versi tunggal lainnya. Ini merupakan salah satu keberhasilan IDE yang diciptakan oleh Borland karena kecepatan, stabilitas, dan persyaratan kebutuhan perangkat keras yang rendah dan masih aktif digunakan. Borland Delphi 7 menambahkan dukungan untuk tema Windows XP, dan menambahkan lebih banyak dukungan untuk membangun aplikasi web (Putri, tanpa tahun).
Gambar 2.4 Borland Delphi 7
2.3.2.1 Keunggulan Borland Delphi 7 Borland Delphi 7 merupakan pilihan dari sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang terdapat di dalamnya. Kelebihan dari Borland Delphi 7 di antaranya yaitu:
http://digilib.mercubuana.ac.id/
19
1. Memiliki IDE atau lingkungan pengembangan terintegrasi yang didalamnya terdapat menu-menu yang memudahkan programmer untuk membuat sebuah program aplikasi (Putri, tanpa tahun). 2. Merupakan Pemrograman Berorintasi Objek (PBO), dimana setiap bagian yang ada pada program dipandang sebagai suatu objek yang mempunyai sifatsifat yang dapat diubah dan diatur (Wahana Komputer, 2002). 3. Proses kompilasi cepat, pada saat program dijalankan, secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah (Putri, tanpa tahun). 4. Mudah digunakan, karena source code-nya merupakan turunan dari bahasa pemrograman Pascal (Putri, tanpa tahun). 5. Bersifat multi purpose, artinya bahasa pemrogramannya dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi (Putri, tanpa tahun). 6. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning (Putri, tanpa tahun). 7. Hadir bersama Borland Kylix 3 yang berbasiskan Linux, sehingga memungkinkan seorang programmer untuk membuat aplikasi multi-platform (Wahana Komputer, 2002).
2.3.2.2 IDE pada Borland Delphi 7 Saat memulai Borland Delphi 7, tampilan utama dari Borland Delphi 7 akan nampak seperti yang ditunjukkan pada Gambar 2.5.
http://digilib.mercubuana.ac.id/
20
Gambar 2.5 Tampilan utama Borland Delphi 7
IDE merupakan sebuah lingkungan di mana semua tombol perintah yang diperlukan untuk mendesain, menjalankan, dan menguji suatu aplikasi disajikan dengan baik untuk memudahkan pengembangan program (Putri, tanpa tahun). IDE pada Delphi 7 terbagi menjadi delapan bagian utama (Tarigan, tanpa tahun). Bagian-bagian IDE tersebut akan dijelaskan di bawah ini. A. Menu Bar Menu Bar berfungsi untuk memilih tugas-tugas tertentu, seperti memulai, membuka, dan menyimpan project, mengompilasi project menjadi file executable (EXE), dan lain sebagainya (Putri, tanpa tahun).
Gambar 2.6 Menu Bar pada Borland Delphi 7
B. Toolbar Borland Delphi 7 memiliki beberapa Toolbar yang masing-masing memiliki perbedaan fungsi dan setiap tombol pada bagian Toolbar berfungsi
http://digilib.mercubuana.ac.id/
21
sebagai pengganti suatu menu perintah yang sering digunakan (Putri, tanpa tahun). Pada kondisi default Borland Delphi 7 memiliki tujuh bagian toolbar, di antara yaitu Standard, View, Debug, Custom, Componen Palette, Desktops, dan Internet (Tarigan, tanpa tahun).
Gambar 2.7 Toolbar pada Borland Delphi 7
C. Component Pallete Component Palette berisi kumpulan icon yang melambangkan komponenkomponen yang terdapat pada VCL (Visual Component Library). Pada Component Palette, user akan menemukan beberapa page control, seperti Standard, Additional, Win32, System, Data Access, dan lain-lain (Putri, tanpa tahun) seperti yang ditunjukkan pada gambar di bawah ini.
Gambar 2.8 Component Pallete pada Borland Delphi 7
Icon tombol pointer terdapat di setiap page control. Tombol ini dipakai untuk menekan atau memilih posisi. Jika user memilih sebuah item dari sebuah page control, tombol pointer ini akan berada dalam keadaan tidak aktif. Hal ini berarti user akan meletakkan komponen pada form, user cukup klik pada bagian form (Putri, tanpa tahun).
http://digilib.mercubuana.ac.id/
22
D. Form Designer Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang dialog program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan komponen-komponen yang diambil dari Component Palette. Pada saat user memulai Borland Delphi 7, Borland Delphi 7 akan memberikan sebuah form kosong yang disebut Form1 (Putri, tanpa tahun).
Gambar 2.9 Form Designer pada Borland Delphi 7
Sebuah form mengandung unit yang berfungsi untuk mengendalikan form, dan user dapat mengendalikan komponen-komponen yang terletak dalam form dengan menggunakan Object Inspector dan Code Editor (Putri, tanpa tahun). E. Object Inspector Object Inspector terdiri dari dua tab, yaitu Properties dan Events (Putri, tanpa tahun) seperti yang ditunjukkan pada Gambar 2.10.
http://digilib.mercubuana.ac.id/
23
Gambar 2.10 Object Inspector pada Borland Delphi 7
Object Inspector digunakan untuk mengubah properti atau karakteristik dari sebuah komponen pada posisi tab Properties, sedangkan pada posisi tab Events digunakan untuk memilih dan membuka events procedure (Tarigan, tanpa tahun). F. Object Tree View Object TreeView menampilkan diagram pohon dari komponen-komponen yang bersifat visual maupun non-visual yang telah terdapat dalam form, data module, atau frame. Object TreeView juga menampilkan hubungan logika antar komponen. Apabila user mengklik kanan salah satu item yang terdapat di dalam diagram pohon. User dapat melihat konteks menu komponen versi sebelumnya. Untuk mengakses menu secara penuh, klik kanan pada komponen yang sama dalam form, data module, atau frame (Putri, tanpa tahun).
http://digilib.mercubuana.ac.id/
24
Gambar 2.11 Object Tree View pada Borland Delphi 7
G. Code Editor Code Editor merupakan tempat di mana user dapat menuliskan kode program. Pada bagian ini user dapat menuliskan pernyataan-pernyataan dalam object pascal. Satu di antara keuntungan bagi user Borland Delphi 7 adalah bahwa user tidak perlu menuliskan semua kode-kode program sumber, karena Borland Delphi 7 telah menyediakan kerangka penulisan sebuah program (Putri, tanpa tahun) seperti pada gambar di bawah ini.
Code Editor Code Explorer
Gambar 2.12 Code Editor dan Code Explorer pada Borland Delphi 7
http://digilib.mercubuana.ac.id/
25
H. Code Explorer Code Explorer merupakan fasilitas baru yang terdapat di dalam Borland Delphi 7 yang tidak ditemukan pada versi-versi sebelumnya. Code Explorer digunakan untuk memudahkan pemakai berpindah antar file unit yang terdapat di dalam jendela Code Editor (Tarigan, tanpa tahun). Tampilan Code Editor bisa dilihat pada Gambar 2.12.
http://digilib.mercubuana.ac.id/