6 BAB 2 LANDASAN TEORI
2.1.
Dasar Perancangan Perangkat Lunak Menurut Pressman (2001, p6), perangkat lunak adalah (1) instruksi (program
komputer) yang ketika dieksekusi akan memberikan fungsi dan performa seperti yang diinginkan (2) struktur data yang memungkinkan program memanipulasi informasi secara proporsional, dan (3) dokumen yang menggambarkan operasi dan penggunaan program. Menurut Sommerville (2001, p6), perancangan perangkat lunak adalah disiplin perancangan yang berhubungan dengan semua aspek dari produksi perangkat lunak dari tahap awal spesifikasi sistem sampai dengan pemeliharaan setelah sistem dalam tahap berjalan.
2.1.1. Daur Hidup Perangkat Lunak Salah satu model perancangan perangkat lunak adalah dengan menggunakan model air terjun (waterfall model). Menurut Sommerville (2001, p45), tahap-tahap utama dalam model air terjun yang menggambarkan aktivitas dasar pengembangan perangkat lunak adalah sebagai berikut : -
Analisis dan penentuan kebutuhan. Tugas, kendala dan tujuan sistem ditentukan melalui konsultasi dengan pemakai sistem. Kemudian ditentukan cara yang dapat dipahami, baik oleh user maupun pengembang.
-
Desain sistem dan perangkat lunak.
7 Proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan ke dalam satu atau lebih program yang dapat dieksekusi. -
Implementasi dan pengujian unit. Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.
-
Integrasi dan pengujian sistem. Unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada user.
-
Pengoperasian dan pemeliharaan. Secara normal, walaupun tidak selalu diperlukan, tahap ini merupakan bagian siklus hidup yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem yang disebabkan oleh ditemukannya kebutuhan baru.
9 2. mampu menyajikan informasi yang diperlukan dengan tepat dan jelas 3. mudah untuk dioperasikan oleh user 4. kemudahan untuk mengingat program tersebut walaupun telah lama tidak mengoperasikannya 5. kepuasan pribadi Menurut Shneiderman (1992, p72), untuk merancang sebuah sistem interaksi manusia dan komputer yang baik ada delapan aturan yang harus diperhatikan, yaitu : 1. Bertahan untuk konsisten (strive for consistency) 2. Memperbolehkan user untuk menggunakan jalan pintas (enable frequent user to use shortcuts) 3. Memberikan umpan balik yang informatif (offer informative feed back) 4. Pengorganisasian yang baik sehingga pengguna mengetahui kapan awal dan akhir dari suatu aksi (design dialogs to yield closure) 5. Pengguna mampu mengetahui dan menangani kesalahan dengan mudah (offer simple error handling) 6. Memperbolehkan pengguna mengulangi atau memperbaiki suatu aksi yang telah dilakukannya (permit easy reversal of actions) 7. Pengguna mampu aktif dalam mengambil langkah selanjutnya bukan hanya merespon pesan yang muncul (support internal locus of control) 8. Mengurangi
penghapalan
jangka
pendek
bagi
pengguna
dengan
memperhatikan kaidah ingatan manusia yang terbatas (reduce short term memory load)
8
ANALISIS
DESAIN CODING DAN DEVELOPMENT IMPLEMENTASI TESTING
MAINTENANCE
Gambar model waterfall
2.2.
Interaksi Manusia dan Komputer Pengertian dari Interaksi Manusia dengan Komputer (Human-Computer
Interaction) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi implementasi sistem komputer interaktif yang digunakan oleh manusia serta studi fenomena-fenomena besar yang berhubungan dengannya (Shneiderman, 1992, p8). Suatu program aplikasi komputer penting sekali untuk didukung oleh sistem interaksi manusia komputer yang baik. User harus merasa tidak dipersulit dalam menggunakan aplikasi tersebut. Jika perancangan program aplikasi kurang baik, maka hal tersebut dapat menimbulkan rasa enggan pada pengguna untuk menggunakannya. Hal ini dapat mengakibatkan tujuan program aplikasi tersebut menjadi tidak tercapai. Menurut Shneiderman (1992, p15-18), ada lima kriteria yang harus dimiliki oleh suatu program sehingga dapat berinteraksi dengan baik dan bersifat user friendly, yaitu : 1. memiliki waktu belajar yang relatif singkat
10 2.3.
Diagram Alir (flowchart) Diagram alir adalah sebuah skema yang merepresentasikan sebuah algoritma
atau sebuah proses (http://en.wikipedia.org/wiki/Flowchart). Adapun simbol-simbol dari diagram alir yang digunakan dalam ilmu komputer seperti pada gambar 2.4.
Simbol untuk mulai dan selesai
Simbol untuk menentukan aliran data yang dilakukan
Simbol untuk langkah proses
Simbol untuk input ataupun output
Simbol untuk merepresentasikan sebuah kondisi atau keputusan. Biasanya berisi pertanyaan ya/tidak atau test benar/salah
Gambar 2.5 Simbol-simbol Diagram Alir Sumber :http://en.wikipedia.org/wiki/Flowchart
11 2.4.
Simulasi Simulasi dari suatu sistem adalah suatu bentuk model operasi sistem tersebut.
Simulasi dibuat sebelum suatu sistem dirubah atau dibangun dengan tujuan mencegah terjadinya
kesalahan
konfigurasi
dan
memprediksi
kemungkinan-kemungkinan
terjadinya bottleneck. Bentuk-bentuk simulasi yang biasa digunakan dalam sistem komputer ada tiga seperti yang diungkapkan oleh Lilja(2003, p183-185) yaitu : 1.
Discrete-event Simulation, suatu simulasi yang didasarkan pada satuan waktu yang discrete.
2.
Emulation, simulasi operasi yang dilakukan dalam lingkungan yang berbeda dengan aslinya.
3.
Monte-Carlo Simulation, simulasi yang berubah sepanjang waktu (continue) hingga mencapai equilibrium.
Pemilihan jenis simulasi yang tepat dapat ditentukan pada tahap pembuatan model. Secara umum simulasi cocok diterapkan dalam menganalisis sifat acak suatu sistem. Secara lebih spesifik lagi, suatu sistem dapat disimulasikan jika : •
Mustahil atau mahal melakukan observasi dan percobaan pada sistem yang nyata.
•
Masalah dapat dirumuskan secara matematik tetapi mustahil dipecahkan secara analitis.
•
Sulitnya membangun model matematis yang mungkin diakibatkan kurangnya pengumpulan data.
Menurut Fishwick (1995, p1), simulasi komputer adalah disiplin ilmu mengenai : perancangan sebuah model dari suatu sistem fisik, eksekusi model pada komputer
12 digital, dan analisis hasil eksekusi. Untuk dapat mempelajari sebuah sistem harus terlebih dahulu dibuat modelnya dan dijalankan, sehingga dengan demikian dapat dimengerti realitas dan semua kompleksitas yang mungkin dihadapi pada sistem tersebut Simulasi digunakan untuk meminimalkan risiko dari besarnya biaya yang harus dikeluarkan dan kesalahan-kesalahan fatal dalam dunia nyata. Simulasi menghindari pemborosan biaya, pemborosan waktu, dan kerusakan akibat teknik tradisional trialand-error. Faktanya, simulasi menyediakan sebuah metode analisis yang tidak hanya formal dan prediktif, tapi juga dapat mengevaluasi dengan akurat performansi dari sistem yang paling kompleks sekalipun.
2.4.1. Tahapan Kerja Simulasi Setelah
permasalahan
simulasi
ditentukan,
langkah
selanjutnya
adalah
menjalankan simulasi dari permasalahan tersebut. Menurut Fishwick terdapat beberapa kegiatan pokok dalam menjalankan simulasi yaitu : •
Pembuatan model. Model adalah representasi dari sistem nyata yang diperoleh dari observasi maupun pengetahuan tentang sistem yang akan dimodelkan.
•
Eksekusi dari model. Model yang sudah ada diformulasikan dalam algoritma untuk dieksekusi oleh komputer.
•
Analisis hasil output. Merupakan suatu proses interpretasi dari hasil output simulasi. Tahapan-tahapan di atas dapat dilihat pada gambar di bawah ini :
13
System Under Study
Simulation Model
Simulation Experiment
Simulation Analysis Conclusions Altered system
2.4.2. Pembangunan Model Suatu Sistem Model adalah representasi dari sistem sesungguhnya dalam bentuk formulasi matematik sehingga tidak menimbulkan ambiguitas. Setiap model yang dibangun harus berdasarkan masalah. Para perancang simulasi harus benar-benar paham tentang sistem dan permasalahannya sehingga dapat memilih tingkat abstraksi yang sesuai dengan permasalahan. Untuk mengetahui masalah secara tepat, Kelton (1997, p8) telah merumuskan beberapa tahapan kerja dalam membangun suatu model, yaitu : •
Identifikasi
masalah,
disini
diperlukan
menulis
semua
penyebab
permasalahan dan menghasilkan kebutuhan program untuk mensimulasikan sistem tersebut. •
Perumusan dari masalah, harus membatasi permasalahan dimana yang akan disimulasikan mana yang tidak. Dari sini kita dapat menentukan tingkat
14 abstraksi dari model, data-data yang akan dikumpulkan, dan hasil output yang ingin dituliskan. •
Pengumpulan data baik performa sistem nyata, mencari sumber dari sifat acak pada sistem, dan sebaran dari sifat acak tersebut. Pada sistem komputer, kita selalu melakukan observasi terlebih dahulu dalam merancang simulasi.
•
Pembangunan model dengan diagram alur atau dengan gambar dan simbolsimbol.
Perlu diingat bahwa model tidak akan mampu meniru sepenuhnya sistem yang ada. Hal yang terpenting, model harus menangkap apa saja yang penting dalam perhitungan performa yang dibuat. Dalam pembuatan model ada dua cara pandang yang biasanya digunakan yaitu : •
Sintesis, dari cara kerja detil dari sistem kita berusaha meringkas dan mengelompokkan komponen-komponen tersebut sehingga semakin tinggi tingkat abstraksinya.
•
Dekomposisi, cara kerja dekomposisi terbalik dari sintesis. Disini kita melihat suatu sistem sebagai satuan yang utuh lalu memecah-mecah menjadi beberapa bagian yang relevan untuk dimodelkan.
Sintesis sering digunakan jika kita mengetahui secara mendetil kerja dari sistem yang diamati, sementara dekomposisi lebih banyak digunakan untuk memodelkan sistem yang besar dan kompleks. Namun menurut MacDougall(1986, p70) lebih baik menggunakan cara dekomposisi sehingga level abstraksi kita akan selalu berorientasi pada performa yang akan diukur. Selanjutnnya, model yang telah selesai digunakan dalam sistem
15 komputer baik dengan menggunakan bahasa pemrograman ataupun dengan software simulasi.
2.4.3. Verifikasi dan Validasi Dari Model Setelah model selesai dibangun dan diimplementasikan, kita harus melakukan verifikasi program yang dibuat apakah sudah sesuai dengan model yang kita bangun. Disini kita melakukan debugging dan tracing dari program untuk menguji dan mencari kesalahan-kesalahan dari program yang dibuat. Setelah program kita lulus verifikasi, langkah selanjutnya adalah melakukan validasi program, apakah mampu menjawab persoalan yang ingin dipecahkan. Biasanya kita menggunakan statistik perbandingan untuk melihat tingkat ketepatan simulasi, dan melakukan presentasi di depan para ahli untuk menambah tingkat kepercayaan dari simulasi yang kita bangun.
2.4.4. Eksekusi Simulasi Setelah model selesai dan diyakini tepat, selanjutnya kita tinggal menjalankan simulasi. Perlu diingat, simulasi hanya tiruan dari sistem sesungguhnya dan melibatkan variabel stokastik. Menjalankan simulasi sekali atau tanpa skenario yang jelas tidak akan membawa hasil yang bermanfaat bagi kita. Beberapa langkah yang harus dipersiapkan sebelum menjalankan simulasi adalah : •
Memilih desain eksperimen yang jelas, disini kita memilih hasil output yang akan diamati dan mengamati input-input yang penting didalam sistem.
16 •
Memilih skenario pengujian dan waktu pengujian. Disini kita harus memperhatikan beberapa kali simulasi dijalankan. Kita harus mengumpulkan data dalam beberapa kali jalan untuk mendapatkan interval kepercayaan dari hasil yang kita peroleh.
•
Menjalankan simulasi sesuai dengan skenario yang telah dibuat.
Hasil-hasil simulasi harus didokumentasikan untuk diolah lebih lanjut dan diintepretasikan.
2.4.5. Analisis Hasil Output Simulasi Simulasi sering kali memberi hasil yang sangat bias dengan sistem sebenarnya. Hal ini terjadi karena anggapan banyak orang bahwa membuat dan mengeksekusi sudah cukup untuk merepresentasikan sistem. Padahal simulasi perlu dijalankan beberapa kali karena mengandung variabel yang bersifat stokastik. Menurut Kelton (1997, p8), simulasi harus dijalankan berkali-kali atau lebih baik jika dijalankan hingga mencapai kondisi steady-state. Tapi untuk mencapai kondisi steady-state dibutuhkan analisis statistik yang lebih rumit dalam jangka waktu yang lebih panjang. Solusi termudahnya, kita menjalankan simulasi secara fixed-time dalam beberapa kali run, hasil dari simulasi dapat kita presentasikan dalam selang kepercayaan.
2.5.
Java Programming Java Programming merupakan bahasa pemrograman tingkat tinggi yang
berorientasi pada objek yang dapat dipakai pada sistem operasi manapun, seperti Windows, Macintosh.
17
2.6.
Hukum Newton II Bila gaya resultan F yang bekerja pada suatu benda dengan massa m tidak sama
dengan nol, maka benda tersebut mengalami percepatan ke arah yang sama dengan gaya. Percepatan a berbanding lurus dengan gaya dan berbanding terbalik dengan massa benda. Dengan F dalam Newton, m dalam kilogram, dan a dalam m/(detik)2, perbandingan ini dapat ditulis sebagai suatu persamaan : a=
F m
atau
F = m.a
Bila persamaan ini atau yang lainnya yang diturunkan dari persamaan ini digunakan, maka F, m dan a harus menggunakan satuan-satuan gaya yang benar. Percepatan a mempunyai arah yang sama dengan F. Persamaan vektor F = m.a dapat ditulis dalam suku-suku komponen seperti : ∑ Fx = m.ax
∑ Fy = m.ay
∑ Fz = m.az
dimana gaya-gaya adalah komponen-komponen gaya eksternal yang bekerja pada benda.
2.7.
Dorongan Jet Dorongan jet adalah penerapan menarik hukum ketiga Newton dan kekekalan
momentum. Hal ini, misalnya, adalah cara yang dipakai cumi-cumi atau gurita untuk mendorong diri mereka. Mereka mengeluarkan air dari tubuh mereka dengan gaya yang besar, dan air yang dikeluarkan mengerjakan gaya yang sama dan berlawanan pada cumi-cumi atau gurita, mendorongnya ke depan. Sebuah roket mendapatkan dorongan dengan membakar bahan bakar dan membuang gas yang terbentuk lewat belakang. Roket mengerjakan gaya pada gas buang, dan dari hukum ketiga Newton, gas
18 mengerjakan gaya yang sama dan berlawanan pada roket, mendorongnya ke depan. Momentum yang hilang karena gas yang dikeluarkan sama dengan momentum yang diperoleh roket. Suatu salah pengertian yang sering terjadi sebelum roket di ruang angkasa menjadi hal yang biasa adalah bahwa roket membutuhkan udara untuk mendorongnya. Ini tidak benar, roket mendorong melawan gas buangnya sendiri, yang mendorong kembali melawan roket tersebut. Dorongan jet malah lebih efisien di ruang kosong yang tidak ada hambatan udara.
2.8.
Roket Roket merupakan kendaraan, misil atau pesawat udara yang menghasilkan gaya
dorong dari reaksi penyemburan cairan dan gas yang bergerak cepat dari dalam mesin roket. Roket digunakan untuk petasan, persenjataan, peluncuran satelit buatan, penerbangan dan penjelajahan ke planet-planet lainnya. Walaupun roket tidak efisien karena kecepatan yang rendah, bila dibandingkan dengan sistem pendorong lainnya, roket sangat ringan, bertenaga, dan mampu mencapai ketinggian yang luar biasa. Gaya-gaya yang bekerja pada roket terdiri dari tiga bagian, antara lain : 1. Gaya Dorong (thrust) Gaya dorong pada roket dihasilkan dari spesifikasi mesin. Pada kenyataannya, gaya dorong tidak konstan selama pembakaran tetapi selalu berubah-ubah. Biasanya hal ini memiliki efek yang kecil pada pencapaian ketinggian tetapi memberikan efek yang penting pada awal peluncuran. Hukum Newton kedua bekerja pada gaya dorong dimana gaya yang dihasilkan dari massa m dikalikan dengan percepatan a.
F = m .a
19 Percepatan a merupakan turunan dari kecepatan v terhadap waktu t, sehingga dapat ditulis menjadi : F = m .a F = m.
dV dt
Pada roket umumnya, gaya yang bekerja : •
F = m .Isp.go •
m
= massa total roket
go
= gaya gravitasi (9,8 m/s2)
Isp
= Impuls spesifik (220 s)
2. Gaya Gravitasi Gaya gravitasi yang bekerja adalah gaya yang konstan, menuju ke bawah dan bernilai negatif. Bernilai negatif karena membawa roket ke bawah, maka dari itu nilainya selalu mengurangi ketinggian yang dicapai. Seperti yang ditunjukkan oleh Galileo dengan menjatuhkan benda dari Pisa, percepatan dari gaya gravitasi hasilkan adalah sama untuk semua benda berapa pun massanya, yaitu senilai dengan 9.8 m/s2. 3. Gaya Hambatan (drag) Gaya hambatan merupakan gaya tahan angin, gaya hambatan ini dirasakan ketika roket meluncur di udara. Artinya gaya tahan angin selalu bertolak belakang dengan arah gerak roket, baik arah roket ke atas maupun ke bawah. Sehingga gaya hambatan yang bekerja ke bawah adalah negatif selama roket meluncur ke atas dan gaya hambatan yang bekerja ke atas adalah positif selama roket menurun.
20
D=
1 * ρ * Cd * V 2 * A 2
dengan : D = drag (gaya hambat) ρ = massa jenis udara (1.225 kg/m2)
Cd = koefisien hambat V = kecepatan (m/s) A = luas permukaan area (m2)
gambar 2.6 gaya bekerja pada roket
2.9.
Penurunan Rumus
Karena menurut Hukum Newton II: F = m .a a=
F m
21
•
Gaya dorong roket :
F = m .Isp.go
Rumus percepatan :
a=
V t
Sehingga : V =a t dV =a dt
dV = a.dt
V=
∫ a.dt
V=
∫
V=
Vx =
Vx =
∫
F −D .dt m ⎛• ⎞ ⎜ m .Isp.go ⎟ − 12 . ρ .Cd .V 2 .S ⎝ ⎠
∫
(
)
⋅ dt
•
m− m prop .t ⎛• ⎞ ⎜ m .Isp.go ⎟ − 12 . ρ .Cd .V 2 .S ⎝ ⎠
(
•
•
m− m prop .t
⎛• ⎞ ⎜ m .Isp.go ⎟ − 12 . ρ .Cd .V 2 .S ⎝ ⎠
(
•
m prop X = Vx.t
)
)
.cosθ
. ln
•
dt
mtotal •
m− m prop .t
.cosθ
22
Vy =
Vy =
∫
⎛• ⎞ ⎜ m .Isp.go ⎟ − 12 . ρ .Cd .V 2 .S ⎝ ⎠
(
•
•
m− m prop .t
⎞ ⎛• ⎜ m .Isp.go ⎟ − 12 . ρ .Cd .V 2 .S ⎠ ⎝
(
•
)
)
.sinθ − gsin θ
. ln
m prop
•
mtotal •
m− m prop .t
dt
.sin θ − g.t.sin θ
Y = Vy.t
F = gaya dorong roket θ = sudut serang •
m = massa total roket go = gaya gravitasi (9,8 m/s2) Isp = Impuls spesifik (220 s) D = drag (gaya hambat) ρ = massa jenis udara (1.225 kg/m2)
Cd = koefisien hambat V = kecepatan (m/s) A = luas permukaan area (m2) •
m prop = rata-rata pemakaian propelan / detik