7
LANDASAN TEORI
2.1 Pembangkit Listrik
Pembangkit listrik adalah bagian dari alat industri yang dipakai untuk memproduksi dan membangkitkan tenaga listrik dari berbagai sumber tenaga, seperti PLTU, PLTN, PLTA, dan lain-lain.
Bagian utama dari pembangkit listrik ini adalah generator, yakni mesin yang berputar yang mengubah energi mekanis menjadi energi listrik dengan menggunakan prinsip medan magnet dan penghantar listrik. Mesin generator ini diaktifkan dengan menggunakan berbagai sumber energi yang sangat bermanfaat dalam suatu pembangkit listrik.
Bahan bakar
• Pembangkit listrik tenaga nuklir (PLTN) menggunakan panas sebuah reaktor nuklir untuk menggerakkan generator turbin uap. Kira-kira 20% pembangkit listrik di Amerika Serikat dihasilkan oleh PLTN.
• Pembangkit listrik tenaga bahan bakar fosil juga dapat menggunakan generator turbin uap di dalam kasus pembangkit berbahan bakar gas alam yaitu turbin gas. Pembangkit listrik tenaga batubara (PLTB) menghasilkan listrik dengan membakar batubara untuk menguapkan air, dan memiliki dampak samping buangan karbon dioksida yang cukup besar, yang dilepaskan dari pembakaran batubara dan berperan bagi pemanasan global.
Kira-kira 50% pembangkitan listrik di Amerika Serikat dihasilkan dari PLTB.
• Pembangkit listrik tenaga panas bumi (PLTPB) menggunakan uap yang disarikan dari bebatuan yang panas dari bawah tanah.
• Energi terbarukan atau Pembangkit listrik tenaga biomassa dapat dibahanbakari oleh ampas tebu, sampah kota, metana dari peternakan, atau bentuk biomassa lainnya.
• Di dalam industri peleburan baja, gas buang tanur tinggi berbea rendah, kendati kepadatan-energi-rendah, bahan bakar.
• Panas buangan dari proses industri kadang-kadang cukup ekonomis untuk digunakan sebagai sumber pembangkit, biasanya di dalam turbin dan pendidih uap.
Pembangkit listrik tenaga surya menggunakan cahaya matahari untuk mendidihkan air, yang kemudian uapnya menggerakkan turbin.
2.2 Teori Optimasi
Teori optimasi atau yang dikenal dengan nama riset operasi berkembang sejak Perang Dunia II. Perkembangan dan penerapannya berlangsung begitu cepat dalam bidang-bidang penting. Mulai dari proyek pesawat, perencanaan strategi perang, industri, perdagangan dan lain-lain. Menurut Miller dan M. K. Star, riset operasi adalah peralatan manajemen yang menyatukan ilmu pengetahuan matematika dan logika dalam rangka memecahkan masalah yang dihadapi sehari-hari sehingga dapat dipecahkan secara optimal. Atau lebih
umumnya, riset operasi merupakan proses pengambilan keputusan yang optimal dalam penyusunan model dari sistem-sistem, baik deterministik maupun probabilistik yang berasal dari kehidupan nyata (sutrisno, 2008).
2.2.1 Jenis Optimasi
Ada berbagai jenis optimasi yang sudah berkembang antara lain pemrograman linear dan pemrograman non-linear (Sutrisno, 2008).
1. Program linear
Program linear menyelesaikan kasus pada fungsi tujuan dan fungsi kendala yang bersifat linear, yaitu pangkat dari variabelnya adalah 1. Bentuk umum model program linear adalah:
Maks/Min ∑
Kendala : ∑ / Untuk i = 1,2,3,...,m
0 Untuk j = 1,2,3,...,n
Untuk menyelesaikan program linear, dapat digunakan metode grafik, yaitu mentransformasikan formulasi ke dalam sebuah grafik. Tetapi metode ini hanya efektif untuk formulasi dengan banyak variabel dua. Untuk formulasi dengan variable lebih dari dua, dapat digunakan metode simpleks.
2. Program non-linear
Program non-linear merupakan pemrograman dengan fungsi tujuannya saja atau bersama dengan fungsi kendala berbentuk non linear yaitu
pangkat dari variabelnya lebih dari satu. Program non linear dapat mempunyai kendala maupun tidak mempunyai kendala.
2.3 Metode Simplex
Penyelesaian dengan metode simplex dipakai apabila permasalahan linear programming terdiri dari lebih dari dua variabel. Metode simplex adalah suatu metode yang melibatkan proses matematika berulang-ulang sampai ditemukannya pemecahan yang optimal.
2.3.1 Langkah –langkah penggunaan metode simplex
1. constraint dengan bentuk ≤ / ≥ diubah menjadi bentuk persamaan dengan cara: a) Menambahkan sebuah variable slack pada sisi kiri dari sebuah constraint.
Variable slack berarti jumlah sumber data yang tidak digunakan.
b) Dikurangkan dengan variable surplus dan menambahkan dengan variable artificial. Variable surplus berarti kelebihan di atas jumlah yang di batasi. Variable artificial adalah vaiabel yang ditambahkan agar proses simplex dapat dimulai.
c) Bila terdapat variable artificial harus ditambahkan koefisien bilangan M (bilangan positif yang sangat besar nilainya) sebagai pengali dari variable artificial agar variable ini tidak tampak pada table optimal.
2. membentuk table simplex. 3. menentukan kolom kunci. 4. menentukan baris pivot.
5. menghitung nilai-nilai baris pada table.
6. memeriksa apakah pemecahan sudah mencapai optimal.
2.2.2 Pengerjaan Pencarian Solusi
Langkah – langkah iterasi dari metode simplex. Agar lebih mudah penulis
akan menerangkan menggunakan contoh: Maksimumkan Z = 3X1 + 5X2
Batasan (constrain)
(1) 2X1 ≤ 8
(2) 3X2 ≤ 15
(3) 6X1 + 5X2 ≤ 30
Langkah 1 : Mengubah fungsi tujuan dan batasan-batasan Fungsi tujuan Z = 3X1 + 5X2 diubah menjadi Z - 3X1 - 5X2 = 0. Fungsi batasan (1) 2X1 ≤8 menjadi 2X1 + X3 = 8 (2) 3X2 ≤15 menjadi 3X2 + X4 = 15 (3) 6X1 + 5X2 ≤30 menjadi 6X1 + 5X2 + X5 = 30
Langkah 2 : Menyusun persamaan di dalam tabel:
Gambar 2.1 Simplex Awal
Langkah 3 : Memilih kolom kunci.
Kolom kunci adalah kolom yang merupakan dasar untuk mengubah tabel simplex. Pilihlah kolom yang mempunyai nilai pada garis fungsi tujuan yang bernilai negative dengan angka terbesar
Gambar 2.2 Simplex Pencarian Kolom Kunci
Langkah 4 : Memilih baris kunci
Baris kunci adalah baris yang merupakan dasar untuk mengubah tabel simplek, dengan cara mencari indeks tiap-tiap baris dengan membagi nilai-nilai pada kolom NK dengan nilai yang sebaris pada kolom kunci.
Indeks = (Nilai Kolom NK) / (Nilai kolom kunci)
Untuk baris batasan 1 besarnya indeks = 8/0 = , baris batasan 2 = 15/3 = 5, dan baris batasan 3 = 30/5 = 6. Pilih baris yang mempunyai indeks positif dengan angka terkecil. Dalam hal
ini batasan ke-2 yang terpilih sebagai baris kunci. Beri tanda segi empat pada baris kunci. Nilai yang masuk dalam kolom kunci dan juga masuk dalam baris kunci disebut angka kunci.
Langkah 5 : Mengubah nilai – nilai baris kunci
Nilai baris kunci diubah dengan cara membaginya dengan angka kunci, seperti tabel 3. bagian bawah (0/3 = 0; 3/3 = 1; 0/3 = 0; 1/3 = 1/3; 0/3 = 0; 15/3 = 5). Gantilah variabel dasar pada baris itu dengan variabel yang terdapat di bagian atas kolom kunci (X2).
Langkah 6 : Mengubah nilai – nilai selain pada baris kunci.
Menggunakan rumus Baris baru = baris lama – (koefisien pada kolom kunci) x nilai baru baris kunci. Contoh dalam gambar
Gambar 2.4 Baris Baru
Setelah diubah semua baris nya maka akan menghasilkan tabel berikut
Gambar 2.5 Simplex setelah selesai diperbaiki
Langkah 7 : Melanjutkan perbaikan
Ulangil langkah-langkah perbaikan mulai langkah 3 sampai langkah ke-6 untuk memperbaiki tabel-tabel yang telah diubah/diperbaiki nilainya. Perubahan baru berhenti setelah pada baris pertama (fungsi tujuan) tidak ada yang bernilai negatif.
Gambar 2.6 Simplex Optimum
Dari gambar akan didapat nilai akhir X1 = 5/6 , X2 = 5, dan Zmaksimum = 27 1/2
2.4 Teori Simulasi
Simulasi merupakan suatu model pengambilan keputusan dengan mencontoh atau mempergunakan gambaran sebenarnya dari suatu sistem kehidupan dunia nyata tanpa harus mengalaminya pada keadaan yang sesungguhnya. Dengan mencontoh atau menduplikasi keadaan yang sebenarnya ini memungkinkan pengambil keputusan untuk melakukan suatu eksperimen terhadap sistem dan prediksi tingkah laku dan hasilnya berdasarkan input berbagai parameter dan aturan. Di samping itu, pengambilan keputusan juga dapat menganalisis berbagai performa sistem dan memilih keputusan yang optimal untuk jangka waktu yang panjang.
Simulasi digunakan apabila suatu kasus atau masalah nyata model matematikanya tidak dapat dibentuk atau metode atau rumus yang tersedia tidak dapat dipakai.
2.4.1 Jenis- Jenis Simulasi
Simulasi dapat dibedakan atas dua, yaitu sebagai berikut.
A. Simulasi Analog
Simulasi analog artinya menggantikan lingkungan fisik yang asli dengan lingkungan fisik tiruan yang lebih mudah untuk dimanipulasi. Simulasi ini mempergunakan representasi fisik untuk menjelaskan karateristik yang penting dari masalah
Contoh
Sistem ekonomi makro disimulasi dengan sistem hidrolika, di mana sistem ekonomi makro dipresentasikan sebagai bejana air yang mempunyai aliran/agregat ekonomi, sedang aliran air masuk dan keluar merupakan inflow ke outflow dari ekonomi atas barang dan jasa tersebut.
B. Simulasi Matematik
Simulasi matematik artinya meniru sistem dengan model matematik untuk mendapatkan ciri operasi sistem melalui suatu eksperimen. Jika eksperimen ini berulang-ulang, maka untuk mempermudah dan mempercepat penyelesaian hitungnya digunakan bantuan komputer.
Simulasi Monte Carlo
Arti istilah Monte Carlo sering dianggap sama dengan simulasi probabilitas. Monte Carlo sebenarnya bukanlah jenis silulasi, melainkan hanya suatu teknik yang digunakan untuk menyelesaikan suatu simulasi.
Model simulasi ini mempergunakan angka-angka random. Angka random adalah suatu set angka yang kemungkinan timbulnya adalah sama (probabilitas timbulnya angka tersebut sama ) dan pola angka yang timbul tidak dapat diidentifikasi. Angka random yang digunakan dalam simulai ini dihasilkan komputer dan sering disebut pseudo random numbers.
Prosedur penyelesaian pada simulasi Monte Carlo ini adalah sebagai berikut : 1. Buatlah tabel probabilitas kumulatif masalahnya, kemudian tentukan interval probabilitas kumulatif tersebut dan interval angka randomnya. 2. Pilihlah sebuah angka random secara sembarang (acak) dari tabel angka random.
arahnya boleh kemanapun dari angka random pertama asal tidak berulang (angka random pertama yang dipilih tidak dipilih lagi).(Hasan,2002)
2.4.2 Bentuk Linear Programing Standart
Untuk mendapatkan keputusan yang optimal dalam penyelesaian persoalan dengan menggunakan teknik linear programming, langkah pertama
yang harus dilaksanakan adalah mengidentifikasikan masalah ke dalam bentuk
matematis atau sering disebut pembuatan model linear programming
(Hartanto,2005). Langkah – langkah yang perlu dilakukan untuk merumuskan model linear programming tersebut adalah (Hartanto, 2005):
1. Tentukan variabel keputusan yang akan dicari dan beri notasi dalam bentuk matematis.
2. Tentukan batasan dari variabel keputusan tadi dan gambarkan ke dalam bentuk persamaan linear atau ketidaksamaan linear.
3. Tentukan tujuan yang akan dicapai dari variabel keputusan tadi dan gambarkan dalam satu set fungsi linear yang berbentuk maksimasi keuntungan atau minimasi biaya.
Secara umum bentuk model linear programming dapat digambarkan sebagai
berikut (Hartanto, 2005):
Max atau Min Z = C1X1 + C2X2 + C3X3 + .... + CnXn ...(1)
Dengan batasan A11X1 + A12X2 + A13X3 + .... + A1nXn≤ B1...(2)
A21X1 + A22X1 + A23X1 + .... + A2nXn≤ B2...(3)
Di mana X1, X2, X3, ..., Xn≥ 0...(5)
Karena persoalan linear programming merupakan masalah alokasi, maka
perumusan di atas dapat diinterpretasikan sebagai berikut (Hartanto, 2005):
Z → Nilai tujuan yang akan dicapai.
X1,X, X3, ...,Xn → Variabel keputusan yang akan dicari.
Aij → Jumlah resource yang harus dialokasikan setiap kegiatan ke (j).
b1, b2, b3, ..., bm → Jumlah resource.
cij → Nilai dari setiap kegiatan ke (j).
2.5 Rekayasa Piranti lunak
Menurut Pressman, Perangkat Lunak adalah perintah program komputer yang bila dieksekusi akan memberikan fungsi seperti yang diinginkan , serta struktur data yang memungkinkan program memanipulasi informasi secara proporsional dan dokumentasi yang menggambarkan operasi dan kegunaan program.
Penulis akan menggunakan metode pembangunan program yang sudah cukup banyak dikenal oleh masyarakat pemrograman, yaitu Water Fall Model.
Model Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian. Berikut adalah gambar pengembangan perangkat
lunak berurutan/ linear (Pressman, Roger S. 2001):
Gambar 2.7 Pengembangan Perangkat Lunak Linear
Berikut adalah langkah-langkah pengembangan perangkat lunak dengan model
waterfall:
1. Scope
Kegiatan awal pada perencanaan adalah penentuan scope. Pernyataan
scope mencakup data, fungsi, dan perilaku yg harus diimplementasikan,
performance dan constrain serta informasi-informasi pendukung lainnya
2. Software Requirement (Kebutuhan Perangkat Lunak)
Requirement adalah gambaran dari layanan (services) dan batasan bagi
sistem yang akan dibangun.
Pengumpulan requirement
• Interviews : Memberi informasi yang terbaik,mahal.
• Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon
cenderung kurang baik.
• Observation: Akurat jika dilakukan dengan baik, mahal.
• Searching: Informasi terbatas, cenderung tidak menampilkan hal-hal yang
mungkin jadi masalah.
Beberapa macam requirement:
• User Requirement (Kebutuhan Pengguna)
Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya. Dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah.
• System Requirement (Kebutuhan Sistem)
Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun.
• Software Requirement Specification (Spesifikasi Kebutuhan Perangkat
Lunak)
Gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detil
3. Analisis
Tujuan analisis adalah sebagai berikut:
• Mengambarkan kebutuhan pelanggan,
• Membangun dasar-dasar untuk proses desain perangkat lunak,
• Mendefinisikan semua kebutuhan pelanggan sesuai dengan lingkup kontrak yang disepakati kedua belah pihak.
Gambar Struktur Pemodelan Analisa
Gambar di atas adalah gambar struktur pemodelan analisis (Pressman, Roger S. 2001) yang menggambarkan bahwa pemodelan analisis terdiri dari 3 bagian yaitu pemodelan data, pemodelan fungsional, dan pemodelan kelakuan.
Pemodelan Data adalah mendeskripsikan data yang terlibat dalam PL yang
• Data Object Description
Yaitu deskripsi atribut dari setiap objek data.
• Entity Relationship Diagram
Yaitu diagram keterhubungan antar objek data.
• Data Dictionary
Yaitu deskripsi semua objek data yang dibutuhkan maupun dihasilkan oleh perangkat lunak.
Permodelan Fungsional adalah mendeskripsikan seluruh fungsi yang terlibat
dalam perangkat lunak yang terdiri dari:
• Data Flow Diagram
Menggambarkan bagaimana data ditransformasikan pada perangkat lunak dan menggambarkan fungsi-fungsi yang mentransformasikan data.
• Process Specification
Berisi deskripsi dari setiap fungsi yang muncul pada DFD.
Pemodelan Status/Kelakuan adalah mendeskripsikan status sistem yang dapat
muncul ketika perangkat lunak digunakan atau mendeskripsikan kelakuan sistem.
• State Transition Diagram
4. Perancangan
Perancangan perangkat lunak adalah proses di mana analisis diterjemahkan menjadi “cetak biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat abstraksi tinggi-tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan. Seperti terjadi pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh lebih rendah tingkat abstraksi.
Berikut adalah gambar hubungan pemodelan antara analisa dan pemodelan perancangan (Pressman, Roger S. 2001):
Gambar Hubungan Antara Analisis dan Perancangan
• Siap dengan alternatif solusi.
• Perancangan yang dibuat bisa dilacak sampai ke model analisis.
• Untuk bagian-bagian yang berpola sama gunakan komponen yang sudah ada. Ini sering disebut : reuse design component.
• Struktur perangkat lunak sebisa mungkin mendekati struktur domain yang sebenarnya.
• Perancangan sebaiknya menampilkan keseragaman dan kesatuan.
• Perancangan harus terstruktur dan mudah menerima perubahan.
• Mampu mengatasi kejadian tidak normal dengan baik.
• Perancangan tidak sama dengan pengkodean.
• Kualitas perangkat lunak harus sudah terlihat dari perancangan.
• Perancangan, sebelum dikodekan, perlu diuji untuk mengurangi kesalahan.
Metode Perancangan:
• Perancangan Data
Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi.
Hasil perancangan data adalah: - struktur data siap diprogram
- struktur basis data siap dibuat oleh pemrogram
• Perancangan Arsitektur
Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program.
Hasil perancangan arsitektural:
Structure Chart yang merepresentasikan gambaran menyeluruh struktur/
arsitektur perangkat lunak, beserta seluruh hierarki kendali/passing parameter,
yang siap dituliskan dalam bentuk modul program.
• Perancangan Antarmuka
Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.
Hasil perancangan antarmuka adalah:
- definisi antarmuka modul yang siap untuk diprogram
- definisi / format rancangan layar yang siap diimplementasikan
• Perancangan Prosedur
Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur.
Hasil perancangan prosedur adalah: - Flow-chart
- Algoritma/pseudocode/program design language
5. Implementasi
Implementasi perangkat lunak adalah melaksanakan,eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak.
Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisis dan pemodelan yang telah dilakukan. Sehingga hasil dari tahap ini adalah basis data dan source code perangkat lunak.
6. Pengujian
Setelah source code dihasilkan, perangkat lunak harus diuji untuk
menemukan (dan membenarkan) sebanyak mungkin kesalahan yang dibuat. Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pengujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk memungkinkan bisnis untuk menghargai dan memahami risiko pada pelaksanaan perangkat lunak.
Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak.
Metode pengetesan:
1. Black box testing
Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak
hitam” – tanpa pengetahuan tentang pelaksanaan internal. 2. White box testing
White box testing adalah ketika penguji memiliki akses ke struktur data internal