Simulasi Teoritis Perhitungan Dimensi & Performansi dengan Menggunakan Program Visual Basic
SIMULASI TEORITIS PERHITUNGAN DIMENSI &
PERFORMANSI MOTOR BAKAR DENGAN
MENGGUNAKAN PROGRAM VISUAL BASIC
SKRIPSI
Skripsi Yang Diajukan Untuk Melengkapi Syarat Memperoleh Gelar Sarjana Teknik
ANDIKA PUTRA PARUHUM TAMPUBOLON NIM 070401089
DEPARTEMEN TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
(2)
ABSTRAK
Performansi dan dimensi motor bakar merupakan hal yang sangat penting dalam perancangan motor bakar, karena dengan perhitungan performansi dapat diketahui berapa besar daya, pemakaian bahan bakar spesifik, efisiensi thermal brake dan yang lainnya dalam merancang motor bakar, serta kita juga dapat melihat perbandingan performansi ketika motor bakar menggunakan bahan bakar yang berbeda. Karena itu dibutuhkan adanya sebuah program simulasi yang dapat menghitung dimensi dan performansi dari motor bakar. Dengan Microsoft Visual Basic 6.0 dapat dibuat sebuah simulasi perhitungan desain dan performansi motor bakar yang mudah untuk digunakan, karena program yang telah dibuat dengan visual basic dapat di akses oleh seluruh pengguna Microsoft sebagai software-nya.Program perhitungan performansi dan dimensi motor bakar dapat dibuat dengan memahami rumus yang terdapat pada motor bakar dan memasukkannya ke dalam jendela code pada visual basic. Dari hasil simulasi dan perhitungan teoritis didapat bahwa perhitungan dengan simulasi lebih akurat dari perhitungan secara teoritis.
(3)
ABSTRACT
Performance and dimensions of internal combustion engine is very important for an engine design, because withthecalculation ofthe performancecan be known howmuch power,specificfuel consumption, brakethermalefficiency, and the otherin designingthe engine, and we also can see the performance when using another fuel. With MicrosoftVisualBasic 6.0canbe madeasimulation ofthe design calculationsandengine performancethat is easytouse,sincethe programwas createdwithVisual Basiccan be accessedby all users ofMicrosoftasits software.The simulation ofthe design calculationsandengine performancecan be madeby understandingthe formulacontained inthe internal combustion engineandput it into window codeofVisual Basic. From the simulation resultsand theoretical calculationsfound that thesimulationmore accuratecalculationthan the theoreticalcalculations. Keywords: Internal Combustion Engine,Microsoft Visual Basic 6.0,Design calculationsandengine performance.
(4)
KATA PENGANTAR
Puji dan Syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas segala rahmat dan karuniaNya sehingga penulis dapat menyelesaikan skripsi ini.
Skripsi ini adalah salah satu syarat untuk menyelesaikan pendidikan dan memperoleh gelar Sarjana Teknik diDepartemen Teknik MesinFakultas Teknik Universitas Sumatera Utara. Adapun judul skripsi yang penuliskerjakan ini adalah“Simulasi Teoritis Perhitungan Dimensi & Performansi Dengan Menggunakan Program Visual Basic”.
Dalam menyelesaikan skripsi ini, penulis banyak sekali mendapat dukungan dari berbagai pihak. Makapada kesempatan ini, penulis ingin menghaturkan ucapan terimakasih yang sebesar-besarnya kepada :
1. Bapak Tulus Burhanuddin Sitorus ST. MT sebagai dosen pembimbing yang telahbanyak memberikan bimbingannya kepada penulis dalam menyelesaikan skripsi ini.
2. Bapak Dr. Ing. Ir. Ikhwansyah Isranuri, selaku Ketua Departemen Teknik Mesin Fakultas TeknikUniversitas Sumatera Utara.
3. Bapak/Ibu Staff Pengajar dan Pegawai di Departemen Teknik Mesin Fakultas Teknik Universitas Sumatera Utara.
4. Orang tua yang sangat disayangi penulis, Eddy Tampubolon/Lenny Aurelia Tio, untuk perjuangan, doa, dan kasih sayangnya kepada penulis.
5. Kakak dan adikyang sangat disayangi penulis,Corry Audhita Tampubolon, Andina Tampubolon, Aldion Ega Tampubolon dan Adrianus Tampubolon atas semangat dan doanya kepada penulis.
6. Segenap kerabat keluarga yang telah memberikan semangat dan doanya kepada penulis selama menyelesaikan pendidikan S-1.
7. Amangboru Hendrik Siagian atas seluruh bantuan dalam menyelesaikan simulasi motor bakar.
8. Kepada Christy Adelina Purba, Kezia Sinaga, Binsar Siregar,Frans O Tambun, Jeremia C Aruan, Andreas C Siahaan, Daniel Febrian Simanungkalit, Lily Yoranita dan Vera Juliani Pakpahan yang selalu setia
(5)
untuk menemani, mendengarkan keluh kesah, dan memberikan semangat dan doa kepada penulis dalam kehidupan sehari-hari.
9. Seluruh mahasiswa Departemen Teknik Mesin Fakultas Teknik Universitas Sumatera Utara. Terkhususnya kawan-kawan stambuk 2007 dan adik adik stambuk 2009.Khususnya untuk C.Paskah Lidang, Desmonth Chrismanto Tarigan, Indra Sibuea,Jefferson Sitorus,Lobeny Markus Sinaga, Rico Raja Manurung, Zulpren Manroe, Faiz, Jeffry Oms, Van Ryzal Purba dan Chandra T Saragihterima kasih atas dukungan dan doanya bagi penulis untuk menyelesaikan pendidikan S-1.
Penulis menyadari masih banyak kekurangan-kekurangan di dalam skripsi ini. Oleh karena itu, penulis sangat mengharapkan saran dan kritik yang membangun untuk penyempurnaan skripsi ini. Terimakasih.
Medan, 10 April 2013 Penulis,
Andika PP Tampubolon. NIM. 070401089
(6)
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... v
DAFTAR GAMBAR. ... viii
DAFTAR TABEL. ... ix
DAFTAR NOTASI ... x
BAB I PENDAHULUAN ... 1
1.1.Latar Belakang ... 1
1.2.Tujuan ... 2
1.3.Batasan Masalah ... 2
1.4.Manfaat ... 3
1.5.Ruang Lingkup ... 3
1.6.Sistematika Penulisan ... 3
BAB II TINJAUAN PUSTAKA ... 4
2.1.Pendahuluan ... 4
2.2.Motor Bensin ... 5
2.2.1 Cara Kerja Motor Bensin 4 Langkah. ... 6
2.2.2 Cara Kerja Motor Bensin 2 Langkah ... 8
2.2.3 Cara Kerja Mesin 2 Langkah ... 9
2.3.Motor Diesel ... 11
2.3.1. Cara kerja Motor Diesel 4 Langkah ... 11
2.3.2. Cara Kerja Motor Diesel 2 Langkah ... 14
2.3.3. Sistem Bahan Bakar ... 15
2.4.Parameter & Performansi Mesin ... 15
2.4.1. Kerja ... 19
2.4.2. Mean Effective Pressure (Tekanan efektif rata rata) ... 20
2.4.3. Torsi dan Daya ... 21
(7)
2.4.5. Konsumsi Bahan Bakar Spesifik (sfc) ... 23
2.4.6. Efisiensi Pembakaran Dan Efisiensi Volumetris ... 23
2.4.7. Road Load Power ... 25
2.4.8. Katup Masuk ... 26
2.5.Microsoft Visual Basic 6.0 ... 26
2.5.1. Mengenal Integrated Development Environment (IDE) VB6 ... 27
2.5.2. Memahami istilah Object,Property,Method & Even ... 29
2.5.3. Menulis Kode Program ... 30
2.5.4. Mengenal Data & Variabel ... 30
2.5.5. Mengenal Struktur Kontrol ... 32
2.5.6. Menggunakan Kontrol Array ... 34
2.5.7. Menangani error ... 35
2.5.8. Penggunaan Prosedur ... 36
2.5.9. Penanganan Keyboard ... 38
2.5.10. Menggunakan Drag Drop ... 40
2.5.10.1 Drag Drop dengan VB6 ... 40
2.5.10.2 Menggunakan OLE Drag Drop ... 41
2.5.10.3 OLE Drag Drop dengan VB6 ... 41
2.5.10.4 Objek DataObjek ... 42
BAB III METODOLOGI PENELITIAN ... 44
3.1.Tempat dan Waktu Penelitian ... 44
3.2.Objekdan Perangkat Lunak yang Digunakan ... 44
3.2.1. Objek. ... 44
3.2.2. Perangkat Lunak yang Digunakan. ... 46
3.3.Prosedur Simulasi ... 46
3.4.Keterangan Diagram Alir ... 48
3.4.1 Studi Literatur ... 48
3.4.2 Pengambilan Data Awal ... 48
3.4.3 Pengerjaan Simulasi ... 48
3.4.4 Pengujian Program dan Validasi ... 50
3.4.5 Hasil dan Pembahasan ... 50
(8)
BAB IV HASIL DAN PEMBAHASAN ... 52
4.1.Proses Simulasi ... 52
4.1.1. Desain Tampilan ... 52
4.1.2. Memasukkan Kode Program ... 53
4.2.Hasil Simulasi ... 53
4.2.1 Input ... 53
4.2.2 Output ... 56
4.2.3 Grafik ... 57
4.3. Validasi ... 61
BAB V KESIMPULAN DAN SARAN ... 69
5.1. Kesimpulan ... 70
5.2. Saran ... 70
DAFTAR PUSTAKA ... 71 LAMPIRAN
(9)
DAFTAR GAMBAR
Gambar 2.1 Diagram P-V dan T-SSiklus Otto Ideal... 6
Gambar 2.2 Cara kerja motor bensin 4 langkah ... 8
Gambar 2.3 Langkah pemasukan dan kompresi kedua ... 9
Gambar 2.4 Langkah Usaha dan kompresi pertama ... 10
Gambar 2.5 Langkah pembuangan dan kompresi pertama ... 10
Gambar 2.6 Langkah pembuangan dan langkah pembilasan ... 11
Gambar 2.7 Diagram P-Vdan diagram T-S mesin diesel ... 12
Gambar 2.8 Siklus kerja motor diesel 4 langkah ... 14
Gambar 2.9 Prinsip kerja motor diesel 2 langkah ... 15
Gambar 2.10 Parameter mesin ... 16
Gambar 2.11 Jendela new project VB6... 27
Gambar 2.12 IDE VB 6 ... 28
Gambar 2.13 Object, property, method dan even VB6 ... 29
Gambar 2.14 Jendela kode ... 30
Gambar 2.15 Runtime Error ... 36
Gambar 3.1 Diagram alir pengerjaan skripsi ... 47
Gambar 3.2 Diagram alir pengerjaan simulasi ... 49
Gambar 4.1 Tampilan form ... 52
Gambar 4.2 ROBYN–FUJI DY23D ... 55
Gambar 4.3 Parameter ROBIN – FUJI DY23D... 55
Gambar 4.4 Tampilan input ... 56
Gambar 4.5 Tampilan Output ... 56
Gambar 4.6 Grafik ... 56
Gambar 4.7 Grafik Putaran vs Daya Poros ... 59
Gambar 4.8 Grafik Putaran vs bsfc ... 60
(10)
DAFTAR TABEL
Tabel 2.1 Property,event dan method untuk drag drop ...41
Tabel 2.2 Nilai argument action drag-drop ...41
Tabel 2.3 Property,event dan method untuk OLE drag drop ...42
Tabel 2.4 Nilai argument action OLE drag-drop. ...42
Tabel 2.5 Property dan Method Object data object...43
Tabel 2.6 Nilai argument format Object dataobject ...44
Tabel 4.1 Spesifikasi ROBIN – FUJI DY23D ...54
Tabel 4.2 Data untuk bahan bakar premium pada putaran mesin yang bervariasi. ...58
Tabel 4.3 Data Data untuk campuran bahan bakar premiumdan hidrogen pada putaran mesin yang bervariasi ...58
Tabel 4.4 Data AFR untuk Bahan bakar premium dan premium hydrogen pada putaran yang bervarisasi ...59
(11)
DAFTAR NOTASI
SIMBOL KETERANGAN
B Diameter Silinder mm
SATUAN
S Panjang Langkah Piston dari BDC ke TDC mm Nc Jumlah Silinder
rc Rasio Kompresi
N Putaran Mesin rpm
τ Torsi N.m
QHV Nilai Kalor Bahan Bakar kJ/kg
Mv Massa Kendaraan kg
Sv Kecepatan Kendaraan km/h
Av Frontal area of vehicle �2
θ Sudut Engkol ˚
C Konstantan untuk menunjukkan Panjang Connecting Rod
Δy Jarak piston dari dinding silinder mm Pi Tekanan udara masuk ke silinder kPa
Ti Temperatur udara masuk ke silinder ˚C
Po Tekanan Udara Lingkungan kPa
To Temperatur Udara Lingkungan ˚C
R Konstanta Udara kJ/kg.K
ηm Efisiensi Mekanis
AFR Rasio massa udara-bahan bakar
ηc Efisiensi Pembakaran
k Perbandingan kalor spesifik CR Coefficient of rolling resistance
CD Drag coefficient
Dp Diameter Piston m
R Panjang Connecting Rod m
(12)
R Ratio of connecting rod length to crank offset B/S Perbandingan Diameter dan Panjang langkah
l Posisi Piston m
x Jarak permukaan piston dari TDC m
Ūp Kecepatan Piston Rata-rata m/sec
Up Kec. Piston pada Akhir Pembakaran m/sec
�� Volume langkah m3
��-total Volume langkah total m3
�� Volume Sisa m3
V Volume silinder pada tiap sudut engkol m3
ρa Massa Jenis Udara Lingkungan kg/m3 ρi Massa jenis Udara masuk ke silinder kg/m3
Ẇb Daya Poros kW
Ẇi Daya Indikasi kW
Ẇf Daya gesek kW
Wb First Brake Work kJ
bmep Tekanan efektif rata rata poros kPa imep Tekanan efektif indikasi rata rata kPa fmep Tekanan efektif gesek rata rata kPa
Ap Piston Face Area m2
�� Massa udara kg/cyl-cycle
��̇ Laju aliran massa udara kg/s
�� Massa bahan bakar kg/cyl.cycle
��̇ Laju aliran bahan bakar kg/s
ωb Brake specific work per unit mass kJ/kg
BSP Brake System Power kW/m2
BOPD Brake Output Per Displacement kW/L
BSV Volume mesin spesifik L/kW
(ηt)b Efisiensi Thermal poros %
(ηt)I Efisiensi Thermal Indikator %
ηv Efisiensi Volumetris %
(13)
bsfc Konsumsi bahan bakar spesifik poros gr/kWh isfc Konsumsi bahan bakar spesifik indikasi gr/kWh PWR Perbandingan daya dan massa kendaraan kW/kg
Pr Daya beban jalan kW
ci Kevepatan suara dalam kondisi inlet m/sec
Ai Luas permukaan katup masuk m2
dv Diameter tiap katup m
(14)
BAB I
PENDAHULUAN
1.1Latar Belakang
Motor Bakar merupakan salah satu mesin yang paling banyak digunakan dalam kehidupan sehari hari. Terutama dalam transportasi, motor bakar digunakan pada semua jenis kendaraan. Motor bakar yang digunakan sekarang ini antara lain motor bakar diesel dan motor bakar bensin (Otto). Performansi motor bakar merupakan hal yang sangat penting dalam motor bakar, karena dengan pergitungan performansi kita dapat mengetahui berapa besar daya, torsi , pemakaian bahan bakar spesifik, efisiensi thermal brake dan yang lainnya dalam merancang motor bakar. Hal ini dapat memudahkan para perancang untuk meneliti motor bakar guna kemajuan performansi motor bakar tersebut.
Motor Bakar mengalami perkembangan yang menggembirakan sejak tahun 1864. Pada tahun tersebut Lenoir mengembangkan mesin pembakaran dalam tanpa proses kompresi kemudian pada tahun 1862 di perancis, Beau De Rochas menulis prinsip dasar untuk efisiensi system mesin pembakaran dalam. Hal ini yang membuat seorang jerman Nikolaus August Otto pada tahun 1876 membuat mesin dengan konsep Beau De Rochas dan mengajukan paten atas namanya. Mulai saat itu semua mesin dibuat sama dengan mesin Otto, sehingga sampai sekarang siklus yang terkenal adalah siklus Otto. Pada tahun 1892 Rudolf Diesel, orang Jerman, membuat mesinnya dengan prinsip penyalaan kompresi.
Melihat pesatnya perkembangan motor bakar dan pemakaian motor bakar yang semakin besar, diperlukan adanya sebuah program untuk membantu perhitungan performansi motor bakar baik Motor Bakar Otto maupun Motor Bakar Diesel. Salah satu cara untuk membuat program perhitungan desain dan performansi motor bakar adalah dengan menggunakan Microsoft Visual Basic.
(15)
Microsoft Visual Basic merupakan merupakan sebuah bahasa pemrograman yang menawark visual untuk membuat Windows
Visual Basic 1.0 dikenalkan pada tahun 1991. Konsep pemrograman dengan metode drag-and-drop untuk membuat tampilan aplikasi Visual Basic ini diadaptasi dari prototype generator form yang dikembangkan oleh Alan Cooper dan perusahaannya, dengan nama Tripod. Microsoft kemudian mengontrak Cooper dan perusahaannya untuk mengembangkan Tripod menjadi sistem form yang dapat diprogram untuk Windows 3.0, di bawah kode nama Ruby. Tripod tidak memiliki bahasa pemrograman sama sekali, ini menyebabkan Microsoft memutuskan untuk mengkombinasikan Ruby dengan bahasa pemrograman Basic untuk membuat Visual Basic.
dengan menggunakan model pemrograman (COM). Artinya setelah program visual basic selesai dibuat, program dapat digunakan oleh seluruh pengguna computer yang menggunakan Microsoft sebagai softwarenya. Adapun untuk membuat program perhitungan kita diharuskan memahami terlebih dahulu dari mana datangnya perhitungan tersebut. Maka oleh karena itu, harus ada pemahaman terhadap rumus rumus performansi yang ada pada motor bakar.
1.2Tujuan
Adapun tujuan dari simulasi ini adalah sebagai berikut:
1. Untuk memperoleh pemahaman yang lebih mendalam terhadap performansi kerja motor bakar meliputi daya,torsi, konsumsi bahan bakar spesifik, efisiensi termal brake dan lain sebagainya.
2. Untuk memperoleh pemahaman terhadap visual basic dan cara penggunaan visual basic dalam bidang teknik.
3. Untuk mempermudah perhitungan desain dan performansi motor bakar.
1.3Batasan Masalah
Batasan masalah pada skripsi ini adalah pada masalah perhitungan desain dan performansi motor bakar yangmenggunakan Microsoft Visual Basic 6.0
(16)
1.4 Manfaat
Manfaat dari simulasi ini adalah dapat menambah pengetahuan, wawasan, dan pengalaman tentang Motor Bakar dan Microsoft Visual basic.
1.5Ruang Lingkup
Simulasi dilakukan dengan menggunakan program VB 6.0 yang mengacu kepada data data yang didapatkan sebagai masukan (input command) ke dalam Visual Basic 6.0.
1.6Sistematika Penulisan
Untuk menambah pengetahuan pembaca dalam memahami tulisan ini, maka dilakukan pembagian bab berdasarkan isinya. Tulisan ini akan disusun dalam lima bab, BAB I PENDAHULUAN, berisi latar belakang, tujuan, manfaat, batasan masalah, ruang lingkup penelitian, dan sistematika penulisan. BAB II TINJAUAN PUSTAKA, berisi landasan teori yang diperoleh dari literature untuk mendukung penelitian. BAB III METODOLOGI PENELITIAN, berisi metode yang akan digunakan untuk menyelesaikan penulisan skripsi. Pada bab ini juga akan dibahas mengenai langkah langkah penelitian, pengolahan dan analisa data yang akan digunakan untuk menyelesaikan teori dan topic yang akan diangkat. BAB IV ANALISA DATA DAN PEMBAHASAN, pada bab ini akan dianalisa dan dibahas mengenai data-data yang diperoleh dari hasil penelitian yang telah dilakukan. BAB V KESIMPULAN DAN SARAN, berisi kesimpulan dari hasil pengujian dan saran saran. Dan DAFTAR PUSTAKA dan LAMPIRAN.
(17)
ABSTRAK
Performansi dan dimensi motor bakar merupakan hal yang sangat penting dalam perancangan motor bakar, karena dengan perhitungan performansi dapat diketahui berapa besar daya, pemakaian bahan bakar spesifik, efisiensi thermal brake dan yang lainnya dalam merancang motor bakar, serta kita juga dapat melihat perbandingan performansi ketika motor bakar menggunakan bahan bakar yang berbeda. Karena itu dibutuhkan adanya sebuah program simulasi yang dapat menghitung dimensi dan performansi dari motor bakar. Dengan Microsoft Visual Basic 6.0 dapat dibuat sebuah simulasi perhitungan desain dan performansi motor bakar yang mudah untuk digunakan, karena program yang telah dibuat dengan visual basic dapat di akses oleh seluruh pengguna Microsoft sebagai software-nya.Program perhitungan performansi dan dimensi motor bakar dapat dibuat dengan memahami rumus yang terdapat pada motor bakar dan memasukkannya ke dalam jendela code pada visual basic. Dari hasil simulasi dan perhitungan teoritis didapat bahwa perhitungan dengan simulasi lebih akurat dari perhitungan secara teoritis.
(18)
ABSTRACT
Performance and dimensions of internal combustion engine is very important for an engine design, because withthecalculation ofthe performancecan be known howmuch power,specificfuel consumption, brakethermalefficiency, and the otherin designingthe engine, and we also can see the performance when using another fuel. With MicrosoftVisualBasic 6.0canbe madeasimulation ofthe design calculationsandengine performancethat is easytouse,sincethe programwas createdwithVisual Basiccan be accessedby all users ofMicrosoftasits software.The simulation ofthe design calculationsandengine performancecan be madeby understandingthe formulacontained inthe internal combustion engineandput it into window codeofVisual Basic. From the simulation resultsand theoretical calculationsfound that thesimulationmore accuratecalculationthan the theoreticalcalculations. Keywords: Internal Combustion Engine,Microsoft Visual Basic 6.0,Design calculationsandengine performance.
(19)
BAB I
PENDAHULUAN
1.1Latar Belakang
Motor Bakar merupakan salah satu mesin yang paling banyak digunakan dalam kehidupan sehari hari. Terutama dalam transportasi, motor bakar digunakan pada semua jenis kendaraan. Motor bakar yang digunakan sekarang ini antara lain motor bakar diesel dan motor bakar bensin (Otto). Performansi motor bakar merupakan hal yang sangat penting dalam motor bakar, karena dengan pergitungan performansi kita dapat mengetahui berapa besar daya, torsi , pemakaian bahan bakar spesifik, efisiensi thermal brake dan yang lainnya dalam merancang motor bakar. Hal ini dapat memudahkan para perancang untuk meneliti motor bakar guna kemajuan performansi motor bakar tersebut.
Motor Bakar mengalami perkembangan yang menggembirakan sejak tahun 1864. Pada tahun tersebut Lenoir mengembangkan mesin pembakaran dalam tanpa proses kompresi kemudian pada tahun 1862 di perancis, Beau De Rochas menulis prinsip dasar untuk efisiensi system mesin pembakaran dalam. Hal ini yang membuat seorang jerman Nikolaus August Otto pada tahun 1876 membuat mesin dengan konsep Beau De Rochas dan mengajukan paten atas namanya. Mulai saat itu semua mesin dibuat sama dengan mesin Otto, sehingga sampai sekarang siklus yang terkenal adalah siklus Otto. Pada tahun 1892 Rudolf Diesel, orang Jerman, membuat mesinnya dengan prinsip penyalaan kompresi.
Melihat pesatnya perkembangan motor bakar dan pemakaian motor bakar yang semakin besar, diperlukan adanya sebuah program untuk membantu perhitungan performansi motor bakar baik Motor Bakar Otto maupun Motor Bakar Diesel. Salah satu cara untuk membuat program perhitungan desain dan performansi motor bakar adalah dengan menggunakan Microsoft Visual Basic.
(20)
Microsoft Visual Basic merupakan merupakan sebuah bahasa pemrograman yang menawark visual untuk membuat Windows
Visual Basic 1.0 dikenalkan pada tahun 1991. Konsep pemrograman dengan metode drag-and-drop untuk membuat tampilan aplikasi Visual Basic ini diadaptasi dari prototype generator form yang dikembangkan oleh Alan Cooper dan perusahaannya, dengan nama Tripod. Microsoft kemudian mengontrak Cooper dan perusahaannya untuk mengembangkan Tripod menjadi sistem form yang dapat diprogram untuk Windows 3.0, di bawah kode nama Ruby. Tripod tidak memiliki bahasa pemrograman sama sekali, ini menyebabkan Microsoft memutuskan untuk mengkombinasikan Ruby dengan bahasa pemrograman Basic untuk membuat Visual Basic.
dengan menggunakan model pemrograman (COM). Artinya setelah program visual basic selesai dibuat, program dapat digunakan oleh seluruh pengguna computer yang menggunakan Microsoft sebagai softwarenya. Adapun untuk membuat program perhitungan kita diharuskan memahami terlebih dahulu dari mana datangnya perhitungan tersebut. Maka oleh karena itu, harus ada pemahaman terhadap rumus rumus performansi yang ada pada motor bakar.
1.2Tujuan
Adapun tujuan dari simulasi ini adalah sebagai berikut:
1. Untuk memperoleh pemahaman yang lebih mendalam terhadap performansi kerja motor bakar meliputi daya,torsi, konsumsi bahan bakar spesifik, efisiensi termal brake dan lain sebagainya.
2. Untuk memperoleh pemahaman terhadap visual basic dan cara penggunaan visual basic dalam bidang teknik.
3. Untuk mempermudah perhitungan desain dan performansi motor bakar.
1.3Batasan Masalah
Batasan masalah pada skripsi ini adalah pada masalah perhitungan desain dan performansi motor bakar yangmenggunakan Microsoft Visual Basic 6.0
(21)
1.4 Manfaat
Manfaat dari simulasi ini adalah dapat menambah pengetahuan, wawasan, dan pengalaman tentang Motor Bakar dan Microsoft Visual basic.
1.5Ruang Lingkup
Simulasi dilakukan dengan menggunakan program VB 6.0 yang mengacu kepada data data yang didapatkan sebagai masukan (input command) ke dalam Visual Basic 6.0.
1.6Sistematika Penulisan
Untuk menambah pengetahuan pembaca dalam memahami tulisan ini, maka dilakukan pembagian bab berdasarkan isinya. Tulisan ini akan disusun dalam lima bab, BAB I PENDAHULUAN, berisi latar belakang, tujuan, manfaat, batasan masalah, ruang lingkup penelitian, dan sistematika penulisan. BAB II TINJAUAN PUSTAKA, berisi landasan teori yang diperoleh dari literature untuk mendukung penelitian. BAB III METODOLOGI PENELITIAN, berisi metode yang akan digunakan untuk menyelesaikan penulisan skripsi. Pada bab ini juga akan dibahas mengenai langkah langkah penelitian, pengolahan dan analisa data yang akan digunakan untuk menyelesaikan teori dan topic yang akan diangkat. BAB IV ANALISA DATA DAN PEMBAHASAN, pada bab ini akan dianalisa dan dibahas mengenai data-data yang diperoleh dari hasil penelitian yang telah dilakukan. BAB V KESIMPULAN DAN SARAN, berisi kesimpulan dari hasil pengujian dan saran saran. Dan DAFTAR PUSTAKA dan LAMPIRAN.
(22)
BAB II
TINJAUAN PUSTAKA
2.1 Pendahuluan
Jika meninjau jenis-jenis mesin, pada umumnya adalah suatu pesawat yang dapat merubah bentuk energi tertentu menjadi kerja mekanik. Misalnya, mesin listrik merupakan sebuah mesin yang kerja mekaniknya diperoleh dari sumber listrik, sedangkan mesin gas atau mesin bensin adalah mesin yang kerja mekaniknya diperoleh dari sumber pembakaran gas atau bensin.
Selain daripada itu, ada cara lain peninjauan mesin misalnya mesin bensin yang dikategorikan sebagai mesin kalor. Yang dimaksud dengan mesin kalor disini adalah mesin yang menggunakan sumber energi termal untuk menghasilkan kerja mekanik, atau mesin yang dapat merubah energi termal menjadi kerja mekanik.
Selanjutnya, jika ditinjau dari cara memperoleh sumber energi termal, jenis mesin kalor dapat dibagi menjadi dua bagian, yaitu :
1. Mesin pembakaran luar (external combustion engine). Mesin pembakaran luar adalah mesin dimana proses pembakaran terjadi diluar mesin, energi termal dari hasil pembakaran dipindahkan kefluida kerja mesin melalui beberapa dinding pemisah. Contohnya adalah mesin uap.
2. Mesin pembakaran dalam (internal combustion engine). Mesin pembakaran dalam adalah mesin dimana proses pembakaran berlangsung di dalam mesin itu sendiri, sehingga gas pembakaran yang terjadi sekaligus berfungsi sebagai fluida kerja. Mesin pembakaran dalam ini umumnya dikenal dengan sebutan motor bakar. Contoh dari mesin kalor pembakaran dalam ini adalah motor bakar torak dan turbin gas.
Jenis motor bakar torak itu sendiri berdasarkan proses penyalaan bahan bakarnya terdiri dari dua bagian utama, yaitu :
(23)
1. Mesin bensin atau motor bensin dikenal dengan mesin “Otto” atau mesin “Beau Des Rochas”. Pada motor bensin, penyalaan bahan bakar dilakukan oleh percikan bunga api listrik dari antara ke dua elektroda busi. Oleh sebab itu,motor bensin dikenal juga dengan sebutan Spark Ignition Engine (SIE).
2. Motor “Diesel”. Di dalam motor diesel, penyalaan bahan bakar terjadi dengan sendirinya karena bahan bakar disemprotkan ke dalam silinder yang berisi udara yang bertekanan dan bersuhu tinggi. Motor diesel ini disebut juga dengan sebutan Compression Ignition Engine (CIE),sistem penyalaan inilah yang menjadi perbedaan pokok antara motor bensin dengan motor diesel.
Sedangkan berdasarkan siklus langkah kerjanya, motor bakar dapat diklasifikasikan menjadi dua jenis, yaitu:
1. Motor dua langkah. Pengertian dari motor dua langkah adalah motor yang pada dua langkah piston (satu putaran engkol) sempurna akan menghasilkan satu tenaga kerja (satu langkah kerja).
2. Motor empat langkah. Pengertian dari motor empat langkah adalah motor yang pada setiap empat langkah piston (dua putaran sudut engkol) sempurna menghasilkan satu tenaga kerja (satu langkah kerja).
2.2 Motor Bensin
Motor bensin atau mesin Otto dari
pembakaran, dirancang untuk menggunakan bahan bakar bensin. Pada umumnya motor bensin dilengkapi dengan busi dan karburator. Busi berfungsi sebagai penghasil loncatan api yang akan menyalakan campuran udara dengan bahan bakar, karena hal ini maka motor bensin disebut juga sebagai Spark Ignition Engine. Sedangkan karburator merupakan tempat pencampuran udara dan bahan bakar.
Pada motor bensin, campuran udara dan bahan bakar yang dihisap ke dalam silinder dimampatkan dengan torak kemudian dibakar untuk memperoleh tenaga panas. Gas-gas hasil pembakaran dari bahan bakar akan meningkatkan
(24)
suhu dan tekanan di dalam silinder, sehingga torak yang berada di dalam silinder akan bergerak turun-naik (bertranslasi) akibat menerima tekanan yang tinggi.
2.2.1 Cara Kerja Motor Bensin 4 Langkah
Motor bensin dapat dibedakan atas 2 jenis yaitu motor bensin 2-langkah dan motor bensin 4-2-langkah. Pada motor bensin 2-2-langkah, siklus terjadi dalam dua gerakan torak atau dalam satu putaran poros engkol. Sedangkan motor bensin langkah, pada satu siklus tejadi dalam 4-langkah. Langkah langkah yang terjadi pada motor bensin dapat dilihat pada gambar 2.1 dibawah ini :
Gambar 2.1. Diagram P-V dan T-S Siklus Otto
Keterangan Gambar:
P = Tekanan (atm)
V = Volume Spesifik (m3/kg) T = Temperatur (K)
S = Entropi (kJ/kg.K)
q
in = Kalor yang masuk (kJ)q
out = Kalor yang dibuang (kJ)Keterangan siklus : 1-2 Kompresi Isentropik
2-3 Pemasukan Kalor pada Volume Konstan 3-4 Ekspansi Isentropik
(25)
4-1 Pengeluaran Kalor pada Volume Konstan
Langkah-langkah yang terjadi pada motor bensin 4 langkah adalah :
1. Langkah isap
Pada langkah isap (0–1), campuran udara yang telah bercampur pada karburator diisap ke dalam silinder (ruang bakar). Torak bergerak turun dari titik mati atas (TMA) ke titik mati bawah (TMB) yang akan menyebabkan kehampaan (vacum) di dalam silinder, maka dengan demikian campuran udara dan bahan bakar (bensin) akan diisap ke dalam silinder. Selama langkah torak ini, katup isap akan terbuka dan katup buang akan menutup.
2. Langkah Kompresi
Pada langkah kompresi (1–2), campuran udara dan bahan bakar yang berada di dalam silinder dimampatkan oleh torak,dimana torak akan bergerak dari TMB ke TMA dan kedua katup isap dan buang akan tertutup, sedangkan busi akan memercikan bunga api dan bahan bakar mulai terbakar akibatnya terjadi proses pemasukan panas pada langkah (2-3).
3. Langkah Ekspansi
Pada langkah ekspansi (3–4), campuran udara dan bahan bakar yang diisap telah terbakar.Selama pembakaran, sejumlah energi dibebaskan, sehingga suhu dan tekanan dalam silinder naik dengan cepat. Setelah mencapai TMA, piston akan didorong oleh bahan bakar bertekanan tinggi menuju TMB. Tenaga mekanis ini diteruskan ke poros engkol.Saat sebelum mencapai TMB, katup buang terbuka, bahan bakar hasil pembakaran mengalir keluar dan tekanan dalam silinder turun dengan cepat.
(26)
Pada langkah pembuangan (4–1-0), torak terdorong ke bawah menuju TMB dan naik kembali ke TMA untuk mendorong ke luar gas-gas yang telah terbakar di dalam silinder.Selama langkah ini, katup buang membuka sedangkan katup isap menutup.
Pada motor bensin 4-langkah, poros engkol berputar sebanyak dua putaran penuh dalam satu siklus dan telah menghasilkan satu tenaga. Cara kerja motor bensin 4 langkah ini dapat dilihat pada gambar 2.2 berikut:
Gambar 2.2. Cara kerja motor bensin 4 langkah[lit.7]
2.2.2 Cara Kerja Motor Bensin 2 Langkah
Motor bensin 2 langkah adalah motor bensin dimana untuk melakukan suatu kerja diperlukan 2 langkah gerakan piston dan 1 kali putaran poros engkol. Siklus kerja motor bensin 2 langkah:
1. Langkah Hisap dan Kompresi
Sewaktu piston bergerak keatas menuju TMA ruang engkol akan membesar dan menjadikan ruang tersebut hampa (vakum). Lubang pemasukan terbuka. Dengan perbedaan tekanan ini, maka udara luar dapat mengalir dan bercampur dengan bahan bakar di karburator yang selanjutnya masuk ke ruang engkol (disebut langkah isap atau pengisian ruang engkol). Disisi lain lubang pemasukan dan lubang buang tertutup oleh piston, sehingga terjadi
(27)
proses langkah kompresi disini. Dengan gerakan piston yang terus ke atas mendesak gas baru yang sudah masuk sebelumnya, membuat suhu dan tekanan gas meningkat. Beberapa derajat sebelum piston mencapai TMA busi akan melentikkan bunga api dan mulai membakar campuran gas tadi (langkah ini disebut langkah kompresi).
2. Langkah Usaha dan Buang
Ketika piston mencapai TMA campuran gas segar yang dikompresikan dinyalakan oleh busi. Gas yang terbakar mengakibatkan ledakan yang menghasilkan tenaga sehingga mendorong piston memutar poros engkol melalui connecting rod sewaktu piston bergerak kebawah menuju TMB (langkah usaha). Beberapa derajat setelah piston bergerak ke TMB lubang buang terbuka oleh kepala piston, gas-gas bekas keluar melalui saluran buang (langkah buang). Beberapa derajat selanjutnya setelah saluran buang dibuka, maka saluran bilas (saluran transfer) mulai terbuka oleh tepi piston. Ketika piston membuka lubang transfer segera langkah pembuangan telah dimulai. Gas baru yang berada di bawah piston terdesak, campuran yang dikompresikan tersebut mengalir melalui saluran bilas menuju puncak ruang bakar sambil membantu mendorong gas bekas keluar (proses ini disebut pembilasan).
2.2.3. Cara kerja mesin dua langkah
1. Langkah Pemasukan dan Kompresi Kedua
Sewaktu piston bergerak keatas didalam crankcase terjadi kevacuman dan sewaktu piston mulai membuka lubang pemasukan,campuran bahan bakar dan udara dari karburator terhisap masuk kedalam crankcase. Disisi lain lubang transfer dan exhaust port tertutup oleh piston, lalu campuran bahan bakar dan udara mengalami kompresi didalam ruang bakar.
(28)
Gambar 2.3. Langkah pemasukan dan kompresi kedua [lit.8]
2. Usaha (Langkah Usaha) dan Kompresi Pertama
Ketika piston mencapai TMA campuran bahan bakar yang dikompresikan dinyalakan oleh busi. Gas yang terbakar mendorong piston memutar poros engkol melalui connecting rod. Sewaktu piston bergerak kebawah, piston menutup lubang pemasukan dan sewaktu piston bergerak kebawah, lalu piston mengkompresi campuran didalam crankcase.
Gambar 2.4.Langkah usaha dan kompresi pertama [lit.8]
3. Langkah Pembuangan dan Kompresi Pertama
Sewaktu piston bergerak kebawah, lalu piston membuka lubang buang untuk mengalirkan sisa gas keluar dari silinder. Disisi lain, campuran didalam crankcase dikompresi (setengah gerakan piston kebawah).
(29)
Gambar 2.5.Langkah pembuangan dan kompresi pertama [lit.8]
4. Langkah Pembuangan dan Langkah Pembilasan
Ketika piston membuka lubang transfer segera langkah pembuangan telah dimulai, campuran yang dikompresikan didalam crankcase mengalir melalui lubang transfer didinding silinder dan mengalir kedalam ruang pembakaran. Campuran bahan bakar ini mendorong gas sisa pembakaran keluar dari silinder dan pada waktu yang bersamaan ruang pembakaran diisi dengan campuran bahan bakar.
Gambar 2.6. Langkah pembuangan dan langkah pembilasan [lit.8]
2.3. Motor Diesel
Motor Diesel disebut juga motor pembakaran dengan tekanan kompressi karena motor mengisap udara danmengkompresikan dengan tingkat yang lebih tinggi. Berdasarkan efisiensi secara keseluruhan, motor dieselmuncul sebagai mesin pembakaran yang paling efisien dan bertenaga besar, pada jenis motor
(30)
diesel putaranrendah dapat mencapai effesiensi sampai 50 persen atau lebih.Pada motor diesel 4 langkah, katup masuk dan buang digunakan untuk mengontrol proses pemasukan danpembuangan gas dengan membuka dan menutup saluran masuk dan buang. Pemakaian bahan bakar lebihhemat, diikuti dengan tingkat polutan gas buang yang relatif rendah, semuanya itu dihasilkan oleh motordiesel secara signifikan.
2.3.1Cara Kerja Motor Diesel 4 Langkah
Cara kerja mesin Diesel 4 langkah, pada prinsipnya hampir sama dengan mesin Otto, dimana piston bergerak secara translasi dari Titik Mati Atas (TMA) ke Titik Mati Bawah (TMB) dan sebaliknya berulang-ulang sebanyak 4 kali dalam satu siklus. Urutan Siklusnya sebagai berikut:
Gambar 2.7 Diagram P-Vdan diagram T-S mesin diesel Keterangan Gambar:
P = Tekanan (atm)
V = Volume Spesifik (m3/kg) T = Temperatur (K)
S = Entropi (kJ/kg.K)
q
in = Kalor yang masuk (kJ)q
out = Kalor yang dibuang (kJ)Keterangan siklus : 1-2 Kompresi Isentropik
(31)
2-3 Pemasukan Kalor pada Tekanan Konstan 3-4 Ekspansi Isentropik
4-1 Pembuangan hasil pembakaran
1. Langkah Hisap (Intake)
Pada langkah ini, piston akan bergerak dari titik mati atas(TMA) ke titik mati bawah (TMB). Selanjutnya, katup hisap akan terbuka sebelum mencapai TMA dankatup buang akan tertutup. Akibatnya, akan terjadi kevakuman di dalam silinder yang menyebabkanudara murni masuk ke dalam silinder.
2. Langkah Kompresi (Compression)
Pada langkah ini piston bergerak sebaliknya, yaitu dari TMB keTMA. Katup hisap tertutup sementara katup buang akan terbuka. Udara kemudian akan dikompresikan sampai pada tekanan dan suhunya menjadi 30kg/cm2 dan suhu 500 derajat celsius. Perbandingankompresi pada motor diesel berkisar diantara 14 : 1 sampai 24 : 1 . Akibat proses kompressi ini udaramenjadi panas dan temperaturnya bisa mencapai sekitar 900 °C . Pada akhir langkah kompresiinjektor/nozel menyemprotkan bahan bakar ke dalam udara panas yang bertekanan sampai diatas 2000bar. Solar dibakar oleh panas udara yang telah dikompresikan di dalam silinder. Untuk memenuhikebutuhan pembakaran tersebut, maka temperatur udara yang dikompresikan di dalam ruang bakarharus mencapai 500 derajat celsius atau lebih. Perbedaan kompresi ini menghasilkan efisiensi panasyang lebih besar, sehingga penggunaan bahan bakar diesel lebih ekonomis dari pada bensin.Pengeluaran untuk bahan bakar pun bisa lebih hemat.
3. Langkah Ekspansi (Power)
Pada langkah ketiga , katup hisap tertutup, katup buang juga tertutup dan injector menyemprotkan bahan bakar. Sehingga, terjadi pembakaran yang menyebabkan piston bergerak dari TMA ke TMB.
(32)
4. Langkah Buang (Exhaust)
Dan pada langkah keempat (langkah buang), hampir sama dengan langkah hisap, yaitu piston bergerakdari TMB ke TMA. Namun, katup hisap akan tertutup dan katup buang akan terbuka. Sedangkan piston akan bergerak mendorong gas sisa pembakaran keluar.
Gambar 2.8 Siklus kerja motor diesel 4 langkah[lit.7]
2.3.2. Cara Kerja Motor Diesel 2 Langkah
Prinsip kerja dari motor diesel 2 tak secara sederhana dapat diuraikan sebagaiberikut :
1. Langkah pemasukan-kompresi
Udara bersih di dalam silinder dikompresikan oleh torak, sebagai akibat darikenaikan tekanan maka suhu udara mencapai 700-900º C. Bahan bakardisemprotkan atau diinjeksikan ke dalam udara panas dan terbakar dengan carayang sama seperti dalam motor diesel 4 tak.
2. Langkah usaha-buang
Torak bergerak menuju TMB oleh tekanan yang tinggi karena akibat pembakaran. Dalam menunjang proses pembilasan, motor dilengkapi
(33)
dengansebuah kompresor yang menekan udara bersih ke dalam ruang bilas, torakmenuju TMB, membuka lubang udara bilas sehingga udara mengalir ke dalamsilinder. Udara bilas menekan gas bekas melalui katup buang yang terbuka dankeluar melalui saluran pembuangan.
Gambar 2.9. Prinsip Kerja Motor Diesel 2 Langkah [lit.8]
2.3.3. Sistem Bahan Bakar
Ada tiga sistem yang banyak dipakai dalam penyaluran bahan bakar dari tangki bahan bakar sampai masuk kedalam silinder pada motor diesel, antara lain:
1. Sistem pompa pribadi
Setiap silinder memiliki satu pompa tekanan tinggi. Pompa tekanan tinggi adalah pompa plunyer yang dilengkapi dengan pengatur kapasitas semprotan, sedangkan daya untuk menggerakkan pompa di ambil dari daya mesin itu sendiri.
2. Sistem distribusi
Sistem distribusi juga menggunakan sebuah pompa tekanan tinggi hanya saja pompa mengalirkan bahan bakar bertekanan tinggi ke dalam distributor. Distributor membagi bahan bakar ke setiap penyemprot sesuai dengan urutan yg telah di tentukan.
(34)
3. Sistem akumulator
Sitem akumulator juga menggunakan sebuah pompa bertekanan tinggi untuk melayani semua penyemprot yang ada pada setiap silinder, tapi tidak dilengkapi dengan alat pengatur kapasitas semprotan bahan bakar. Pada sistem ini pompa mengalirkan bahan bakar masuk ke dalam sebuah akumulator yang dilengkapi oleh katup pengatur tekanan sehingga tekanan bahan bakar dalam akumulator dapat konstan.
2.4. Parameter & Performansi Mesin
Parameter mesin diukur untuk menentukan karakterisitik pengoperasian pada motor bakar. Parameter dan Performansi mesin dapat dilihat dari rumus rumus dibawah ini. (Pulkrabek,2004 dan Heywood,1998)
Untuk sebuah mesin dengan diameter silinder B , crank offset a , panjang langkah S dan berputar dengan kecepatan N seperti pada gambar 2.11 maka kecepatan rata-rata piston adalah ;
p
U =
2SN………….……….………...……….…...(2.1 )
dimana N biasanya diberi satuan RPM (revolution per minute), Up dalam m/detik (ft/sec), dan B,a dan S dalam m atau cm (ft atau in).
(35)
V
cV
dTMB
a
θ
l
r
TMA B
S
Gambar 2.10. Parameter Mesin
Keterangan gambar :
�� = Volume clearance (volume sisa) �� = Volume displacement (volume langkah) B = Bore (diameter silinder)
r = Panjang connecting rod a = crankshaft(batang engkol) S = Stroke (panjang langkah)
l = Jarak antara crank axis dan wrist pin axis
θ = crank shaft offset(sudut engkol)
Jarak l antara crank axis dan wrist pin axis diberikan oleh persamaan
(36)
l = a cos θ + r2−a2sin2θ ……….…...(2.2)
Ketika l diturunkan terhadap waktu, kecepatan rata rata piston pada akhir pembakaran atau kecepatan sementara piston diperoleh
��= ds⁄dt
………….……….………..………...(2.3)
Perbandingan kecepatan piston pada akhir pembakaran dengan kecepatan piston rata rata dapat dituliskan:
�� = π2���θ�1 +
����θ√�2���2θ����
�..………...…………...(2.4) dimana:
� =
� �⁄ ……….……….……..………...(2.5 )
R adalah perbandingan dari panjang connecting rod dengan crank shaft yang biasanya memiliki nilai 3 – 4 untuk mesin yang kecil dan meningkat hinggga 5 – 10 untuk mesin yang lebih besar.(lit.6 hal.37
Volume displacementVd adalah volume perpindahan dari piston yang bergerak dari TMB ke TMA.
�� =
����−����………….……….…………...(2. 6)
�� = �⁄ �4 2�………….……….………...……... ...(2.7)
Dan untuk mesin dengan �� silinder : ������� =
(37)
Dimana : B = Diameter silinder S = Stroke (langkah) �� = Jumlah silinder mesin
Volume displacement memiliki satuan �3,��3,��3 dan sering ditampilkan dengan liter, dimana :
1�= 10−3�3 = 103��3 ≈61��3
Volume displacement minimum terjadi ketika piston berada pada TMA, dan disebut dengan volume sisa �� .
�� =
����………….……….………...(2. 9)
���� =�� +
��………….……….……….…...(2.10)
Rasio kompresi dari mesin didefenisikan dengan : �� = �������� = (��+
��)��……..…….……….…...(2.11)
Mesin otto modern biasanya memiliki rasio kompresi 8 sampai 11 dan mesin diesel biasanya memiliki rasio kompresi 12 sampai 24.
Volume silinder V di setiap sudut engkol ditentukan dengan : � =��+
(��2⁄4)(�+� − �)………….………..……...(2.12)
Dimana : �� = Volume Sisa B = Diameter silinder l = posisi piston
a = crank offset(jarak engkol)
(38)
� �� � = 1 +12(��−1)[� + 1− ���� − √�2− ���2�……….. ..(2.13)
Dimana : �� = rasio kompresi R = r/a
Luas penampang silinder dan permukaan piston yang datar masing masing ditentukan dengan :
�� =
�⁄ �4 2………….………...………...(2.1 4)
Luas permukaan ruang bakar ditentukan dengan : � =��ℎ+�� +��(�+� −
�)………….………...……….…...(2.15)
Dimana ��ℎ merupakan luas permukaan kepala silinder. 2.4.1 Kerja
Kerja adalah hasil keluaran dari semua mesin penghasil panas, dan di dalam mesin pembakaran dalam kerja dihasilkan dari gas di dalam ruang pembakaran dari silinder. Gaya yang terjadi karena tekanan gas dari piston yang bergerak menghasilkan kerja di mesin pembakaran dalam. � =∫��� =
∫�����………….………....……….…...(2.16)
Dimana : P = Tekanan di dalam ruang bakar �� =Luas penampang silinder x = Jarak dari perpindahan piston dan
���� =
(39)
dV merupakan turunan dari volume silinder oleh piston. Jadi, kerja dapat dituliskan dengan:
� =
∫PdV………….………...…...(2.1 8)
Karena mesin biasanya memiliki lebih dari satu silinder, cukup baik untuk menganalisa siklus mesin per unit massa dari gas m di dalam silinder. Untuk melakukan ini, volume V digantikan dengan spesifik volume v dan kerja digantikan dengan kerja spesifik.
� =�� �=
�
�………….………...(2.19)
� =
∫Pdv………….…...………...(2. 20)
Jika �� menunjukkan tekanan di dalam ruang bakar dan luas yang ditunjuk memberikan kerja di dalam ruang bakar. Hal ini disebut dengan kerja indikasi. Untuk kerja aktual yang berlaku di crankshaft diebut brake work Wb .
�� =��−
��………….……….………...………...(2.21) Dimana : Wi = kerja indikasi spesifik yang dihasilkan di dalam ruang bakar
(40)
Perbandingan dari kerja di poros engkol dengan kerja indikasi di ruang pembakaran didefenisikan sebagai efisiensi mekanis dari sebuah mesin:
�� =
��⁄�� =��⁄��………….………...……….…...(2.22 )
2.4.2Mean Effective Pressure(Tekanan efektif rata rata)
Selama siklus bekerja dapat dilihat bahwa tekanan di silinder mesin terus berubah. Mean effective pressure (mep) didefenisikan dengan: � =
(���)∆�………….……….………...………...(2.2 3)
Atau
���=
� ∆�⁄ =� �⁄ �………..……….………….………...(2.24) ∆�= ���� −
����………….………..……….……...(2.25) Dimana : � = Kerja dari satu siklus
w = kerja spesifik dari satu siklus ��= Volume displacement
Berbagai mean effective pressure dapat ditentukan dengan menggunakan istilah kerja yang berbeda. Jika kerja poros digunakan , maka brake mean effective pressure (tekanan efektif poros rata rata) diperoleh:
����= ��⁄∆�………….…...….………..……….…... ..(2.26)
Dan untuk kerja indikasi, indicated mean effective pressure(tekanan efektif indikator rata rata)-nya:
(41)
����=��⁄∆�………….……….………... ..(2.27)
Dan friction mean effective pressurenya (tekanan gesek rata rata):
fmep = imep - bmep
……….………...……..………...(2.28)
2.4.3 Torsi dan Daya
Torsi adalah indikasi dari mesin untuk melakukan kerja. Torsi didefenisikan sebagai gaya yang bekerja pada momen jarak dan memiliki satuan N-m atau lbf-ft. Torsi τ dihubungkan dengan kerja oleh :
2��= �� = (����)��⁄�………….…………..…………...……….…... ..(2.29)
Dimana: �� = kerja poros satu revolusi piston
��= Volume displacement (volume langkah) � = revolusi piston pada satu siklus
Untuk mesin dua langkah dengan satu siklus untuk setiap revolusi piston:
2��= �� = (����)��
………….………..…...…………...(2.30)
� = (����)��/2� mesin dua
langkah………...……...…..……...(2.31)
Untuk mesin empat langkah dimana terjadi dua revolusi piston pada satu siklus:
� = (����)��⁄4� mesin empat
langkah………….……….……...(2.32)
Daya didefenisikan sebagai kecepatan kerja dari sebuah mesin. Jika n = jumlah revolusi piston pada setiap siklus, dan N = engine speed, maka: �̇ =
�� �⁄ ………….………...……..…..……...…….………….……...(2.3 3)
(42)
�̇ =
2���………….………...….………...………...(2.3 4)
�̇ =
(1 2⁄ �)(���)��������………….………...….………..….…………...(2.3 5)
�̇ = (���)��������/4 mesin empat langkah.………….………...(2.36)
�̇ = (���)��������/2 mesin dua langkah……….………..…..…...(2.37)
Dimana: W = kerja per siklus �� = luas permukaan piston ��
���� = kecepatan rata rata piston
Melihat dari defenisi dari kerja dan mep yg digunakan pada persamaan (2.32) – (2.36), daya dapat didefenisikan sebagai daya poros, daya gesek dan daya indikator.
�̇� =
η��̇�………….………..…………..………....….…...(2.38 )
�̇� =�̇�−
�̇�………….………..………...(2.39) Dimana : �̇� = Daya poros
�̇� = Daya indikator �̇� = Daya gesek
η� = Efisiensi mekanis.
Cara lain yang kadang digunakan untuk mengklasifikasikan mesin dapat ditunjukkkan dengan :
Brake power spesifik (BSP) : �̇����………...…...(2.40)
(43)
Brake Output per displacement (BOPD) : �̇�⁄��……….…...(2.41)
Volume brake spesifik (BSV) : ��⁄�̇�………...(2.42)
Dimana : �̇� = Daya poros
�� = Volume displacement (volume langkah) �� = Luas permukaan piston
2.4.4Rasio Udara- Bahan Bakar (AFR) dan Rasio Bahan Bakar Udara (FA)
Energi yang masuk ke dalam sebuah mesin ��� berasal dari pembakaran bahan bakar hidrokarbon. Udara digunakan untuk menyuplai oksigen yang dibutuhkan untuk mendapatkan reaksi kimia di dalam ruang bakar.Agar terjadinya reaksi pembakaran, jumlah udara (oksigen) dan bahan bakar harus tepat.
AFR dan FA adalah parameter untuk menggambarkan perbandingan udara dan bahan bakar.
��� =��⁄�� =�̇�⁄�̇�
………….…………...…...………...………...(2.43) �� =��⁄�� =�̇�⁄�̇� = 1⁄���
………….………..……….…...(2.44) �� =
��(�� +��)⁄���………….………...……….……….…...(2.45 )
�� =
��⁄���………….………...….…...….………...(2.46 )
�̇� = (��)(�⁄60) 1 2⁄ mesin empat
langkah………...(2.47)
�̇� = (��)(�⁄60) mesin dua
(44)
�̇� =
(���)�̇�………….………...……….…...(2.49) Dimana: �� = massa udara di dalam silinder per siklus
�� = massa bahan bakar di dalam silinder per siklus �̇� = laju aliran bahan bakar di dalam mesin
�̇� = laju aliran udara di dalam mesin �� = tekanan udara masuk silinder �� = Temperatur udara masuk silinder � = Konstanta udara
Dari sini didapatkan juga nilai dari kerja poros spesifik per unit massa ω�,
ω� =
��⁄��………….……….….……….…...…...(2.50 )
2.4.5 Konsumsi Bahan Bakar Spesifik (sfc)
Konsumsi bahan bakar spesifik (sfc) didefenisikan oleh persamaan: ��� = �̇�⁄�̇…….………...……...…….……….. .(2.51)
Dimana : �̇� = laju aliran bahan bakar di dalam mesin �̇ = Daya mesin
Konsumsi bahan bakar spesifik poros (bsfc) ditentukan dengan: ���� =�̇�/
�̇�…….…………...………...….………….…………...(2.52) Konsumsi bahan bakar spesifik indikator (isfc) ditentukan dengan: ���� =�̇�/
�̇�…….………...………....…...(2.53)
2.4.6 Efisiensi Pembakaran dan Efisiensi Volumetris
Waktu yang tersediauntuk prosespembakarandalam suatu siklusmesin sangatlahsingkat, dantidak semuamolekul bahan
(45)
bakardapatmenemukanmolekul oksigenyang akan digabungkan, atausuhu mungkin tidakmendukung terjadinyareaksi pembakaran. Karenanya, sebagian kecil daribahan bakartidak bereaksidan keluardari katup buang. Efisiensi pembakarandidefinisikanuntuk memperhitungkanbagian
kecilbahan bakaryang terbakar. Efisiensi Volumetris biasanyamemilikikisaran0,95 sampai dengan 0,98saatmesinberoperasi
dengan baik.(lit.6 hal.61)Untuk satusiklus mesindalam satusilinder,panas yang didapatkanadalah:
��� =
�����η�…….……….…...………...……...(2.54) Untuk keadaan stabil :
�̇�� =
�̇����η�…….………...…….……….….…...(2.55) Dan efisiensi thermalnya :
η� =� �⁄ �� = �̇ �̇⁄ �� =�̇ �̇� ����η� =
η�⁄η�…….……..………..…...(2.56) Dimana : W = Kerja satu siklus �̇ = daya
�� = massa bahan bakar per siklus �̇� = laju aliran bahan bakar ���= Nilai kalor bahan bakar
η� = Efisiensi konversi bahan bakar
η� = Efisiensi pembakaran
Sedangkan efisiensi thermal dapat berupa efisiensi thermal indikator dan efisiensi thermal poros, tergantung daya indikator atau daya poros yg dipakai. Efisiensi mekanisnya adalah :
η� =�η��
� ⁄
(η�)�…….………...……...…….……….…....(2.57)
(46)
��
� =
�̇���̇����η�…….………...……….…...(2.58)
dan efisiensi thermal indicator :
(η�)� = �η��
� /η�…….………...……...……….…...(2.59)
Mesin dapat memiliki efisiensi thermal indicator dalam rentang 50% sampai 60% dengan efisiensi thermal poros berkisar 30% . Beberapa mesin diesel dapat memiliki efisiensi thermal poros lebih besar dari 50%. Efisiensi konversi bahan bakar didefenisikan dengan :
η�= � �⁄ ���� = �̇ �̇� ����…atau…η� = 1⁄������……….…...(2.60)
Efisiensi volumetris adalah perbandingan antara jumlah udara yang masuk atau terisap sebenarnya ke dalam ruang bakar terhadap jumlah udara yang mengisi volume langkah pada suhu dan tekanan yang sama. Efisiensi volumetris merupakan salah satu proses penting yang menentukan berapa besar daya yang dapat diperoleh dari sebuah mesin dengan jumlah maksimum udara yang dapat masuk ke dalam silinder setiap siklus. Lebih banyak udara berarti lebih banyak bahan bakar yang dapat dibakar dan lebih banyak energi dapat dikonversi menjadi daya. Idealnya, massa udara sama dengan kerapatan udara atmosfer setelah masuk ke dalam silinder tiap siklus. Namun, karena waktu siklus yang sangat pendek dan saluran masuk udara seperti karburator, intake manifold dan katup mengakibatkan banyak kerugian sehingga udara yang masuk ke dalam silinder lebih sedikit dari udara yang seharusnya (Willard W.P,1996). Efisiensi volumetris dapat dihitung dengan rumus:
(47)
η� = ��⁄ �ρ� �…...atau η� =
��̇�⁄ �ρ� ��...……...…...……….……...(2.61)
Dimana : �� = massa udara di dalam silinder per siklus �̇� = laju aliran udara masuk ruang bakar
ρ� = massa jenis udara lingkungan �� = Volume langkah
� = Putaran mesin
n = revolusi piston pada satu siklus �� (standard) = 101 kPa = 14,7 psia
�� (standard) = 298 K = 25˚ C = 77˚F
ρ� =
��⁄���…….………...……...……….………...……….……....(2.6 2)
Dimana : �� = Tekanan udara lingkungan �� = Temperatur udara lingkungan
� = konstanta udara = 0.287 kJ/ kg-K = 53.33
ft-lbf/lbm-˚R
Dalam kondisi standar massa jenis udara ρ� = 1.181 kg/�3 0.0739 lbm/��3 .
2.4.7Road Load Power(Daya Beban Jalan)
Tingkat dari bagian beban daya yang berguna sebagai titik acuan untuk pengujian mesin mobil adalah daya yang diperlukan untuk mengendarai kendaraan di jalan pada kecepatan stabil. Disebut dengan Road Load Powerdaya inimengatasitahanan putar yangtimbul darigesekan antarabandandrag aerodinamiskendaraan.
Tahanan putar dan drag coefficient, �� dan �� masing masing ditentukan secara empiris. Rumus perkiraan untuk daya beban �� adalah :
�� = (�����+ 1
2����� 2)�
(48)
Dimana: �� : Coefficient of rolling resistance(tahanan putar) �� : Massa kendaraan
� : Percepatan gravitasi
ρ� : Massa jenis udara lingkungan �� : Drag coefficient
�� : Frontal area of vehicle �� : Kecepatan kendaraan
2.4.8 Katup Masuk
Katup masuk mesin pembakaran dalam merupakan katup kecil yang dimuat tertutup dan akan mendorong terbuka oleh camshaft mesin. Jarang sekali ditemukan adanya katup putar dan katup lengan pada sebuah mesin.
Luas permukaan katup dapat ditentukan dengan : �� =
��2(� �
���� �⁄ �) = (π⁄4)��2…….………...……...…………...….(2.6 4)
Dimana �� ditentukan dengan : �� =
�����…….………...…...…...….(2.6 5)
Untuk: � : konstanta untuk menentukan panjang connecting rod � : diameter silinder
��
���� : Kecepatan rata rata piston
�� : kecepatan suara dalam kondisi inlet �� : diameter tiap katup
� : Ratio heat spesifik � : konstanta udara
�� : temperatur udara masuk silinder Diameter setiap katup �� dapat ditentukan dengan:
(49)
�� = �4��
� …….………....……...….(2.6 6)
Dan saat terbuka sepenuhnya ���� ditentukan dengan: ���� <
��⁄4…….………...………...…...……...…...(2.67)
2.5 Microsoft Visual Basic 6.0
Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahyang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrogramanVisual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan daripendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code)yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alatbantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasiWindows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object
(Object Oriented Programming = OOP).
2.5.1 Mengenal Integrated Development Environment (IDE) VB 6 Aktifkan VB 6 melalui tombol Start > Programs > Microsoft Visual Studio 6.0 >Microsoft Visual Basic 6.0.Tunggulah beberapa saat hingga muncul tampilan berikut :
(50)
Gambar 2.11. Jendela new project VB6 [lit.9]
Anda akan melihat tampilan area kerja atau IDE VB 6. Kenali bagian-bagian utama di dalam IDE VB 6 berikut ini :
Gambar 2.12. IDE VB 6 [lit.9]
Keterangan : 1. Menubar 2. Toolbar 3. Toolbox
(51)
Bila Toolbox tidak muncul klik tombol Toolbox pada bagian Toolbar atau klik menu View > Toolbox.
4. Jendela Form
Bila Jendela Form tidak muncul klik tombol View Object pada bagian Project Explorer atau klik menu View > Object.
5. Jendela kode
Bila Jendela Code tidak muncul klik tombol View Code di pada bagian Project Explorer atau klik menu View > Code.
6. Project Explorer
Bila Project Explorer tidak muncul klik tombol Project Explorer pada bagian Toolbar atau klik menu View > Project Explorer.
7. Jendela Properties
Bila Jendela Properties tidak muncul klik tombol Properties Window pada bagian Toolbaratau klik menu View > Properties Window.
2.5.2 Memahami Istilah Object, Property, Method dan Event
Dalam pemrograman berbasis obyek (OOP), kita perlu memahami istilah object, property, method danevent sebagai berikut :
Object : komponen di dalam sebuah program Property : karakteristik yang dimiliki object Method : aksi yang dapat dilakukan oleh object Event : kejadian yang dapat dialami oleh object
Sebagai ilustrasi kita dapat menganggap sebuah mobil sebagai obyek yang memiliki property, method dan event. Perhatikan gambar berikut :
(52)
Gambar 2.13. Object, property, method dan even VB6 [lit.9]
Implementasinya dalam sebuah aplikasi misalnya anda membuat form, maka form tersebut memilikiproperty, method, dan event. Sebagaimana pemrograman visual lain seperti Delphi daan Java, VB jugabersifat event driven progamming. Artinya anda dapat menyisipkan kode program pada event yangdimiliki suatu obyek.
2.5.3 Menulis Kode Program
Buka Jendela Code dan kenali bagian-bagian di dalamnya :
Gambar 2.14. Jendela kode [lit.9]
Program yang berbasis Windows bersifat event-driven, artinya program bekerja berdasarkan event yang terjadi pada objek di dalam
(53)
program tersebut. Misalnya, jika seorang user meng-klik sebuah tombolmaka program akan memberikan “reaksi” terhadap event klik tersebut. Program akan memberikan“reaksi” sesuai dengan kode-kode program yang dibuat untuk suatu event pada object tertentu.Pilih object Command1 pada bagian Object Selector.
2.5.4 Mengenal Data dan Variabel
Ketika seorang user (pengguna) menggunakan sebuah program komputer, seringkali computer memintanya untuk memberikan informasi. Informasi ini kemudian disimpan atau diolah oleh komputer. Informasi inilah yang disebut dengan DATA.Visual Basic 6 mengenal beberapa type data, antara lain :
1.Stringadalah type data untuk teks (huruf, angka dan tanda baca). 2. Integeradalah type data untuk angka bulat.
3. Singleadalah type data untuk angka pecahan. 4. Currencyadalah type data untuk angka mata uang. 5. Dateadalah type data untuk tanggal dan jam.
6. Booleanadalah type data yang bernilai TRUE atau FALSE.
Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yangdisebut dengan VARIABEL
Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program :
. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkanalokasi jumlah memory (byte) yang berbeda.
Dim <nama_variabel> As <type_data> Contoh : Dim nama_user As String Aturan di dalam penamaan variabel : 1. Harus diawali dengan huruf.
2. Tidak boleh menggunakan spasi. Spasi bisa diganti dengan karakter underscore (_).
3. Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, <, >,dll).
(54)
4. Tidak boleh menggunakan kata-kata kunci yang sudah dikenal oleh Visual Basic6.0 (seperti : dim, as, string, integer, dll). Sebuah variabel hanya dapat menyimpan satu nilai data sesuai dengan type datanya. Cara mengisi nilai data ke dalam sebuah variabel :
<nama_variabel> = <nilai_data> Contoh : nama_user = “krisna”
Untuk type data tertentu nilai_data harus diapit tanda pembatas. Type data string dibatasi tanda petik ganda : “nilai_data”. Type data date dibatasi tanda pagar : #nilai_data#. Type data lainnya tidak perlu tanda pembatas.
Sebuah variabel mempunyai ruang-lingkup (scope) dan waktu-hidup (lifetime) :
1. Variabel globaladalah variabel yang dapat dikenali oleh seluruh bagian program. Nilai data yangtersimpan didalamnya akan hidup terus selama program berjalan.
2. Variabel lokaladalah variabel yang hanya dikenali oleh satu bagian program saja. Nilai data yangtersimpan didalamnya hanya hidup selama bagian program tersebut dijalankan.
Variabel yang nilai datanya bersifat tetap dan tidak bisa diubah disebut KONSTANTA. Penulisan deklarasi konstanta di dalam kode program :
Const <nama_kontanta> As <type_data> = <nilai_data> Contoh : Const tgl_gajian As Date = #25/09/2003#
2.5.5 Mengenal Struktur Kontrol
Struktur kontroldi dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yangdigunakan untuk mengatur (mengontrol) jalannya program.Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :
(55)
1. Struktur kontrol keputusan- digunakan untuk memutuskan kode program mana yang akandikerjakan berdasarkan suatu kondisi.
2. Struktur kontrol pengulangan- digunakan untuk melakukan pengulangan kode program.
Ada dua bentuk struktur kontrol keputusan, yaitu : 1. Struktur IF…THEN.
2. Struktur SELECT…CASE.
Bentuk penulisan (syntax) struktur IF…THEN : 1. IF <kondisi> THEN <kode program>
Bila <kondisi> bernilai True maka <kode program> akan dikerjakan.
2. IF <kondisi> THEN <blok kode program 1> ELSE <blok kode program 2> END IF
Bila <kondisi> bernilai True maka <blok kode program 1> akan dikerjakan, tetapi bila <kondisi>bernilai False maka <blok kode program 2> yang akan dikerjakan.
Struktur kontroldi dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yangdigunakan untuk mengatur (mengontrol) jalannya program.
Visual Basic 6.0 mengenal dua jenis struktur kontrol, yaitu :
1. Struktur kontrol keputusan- digunakan untuk memutuskan kode program mana yang akandikerjakan berdasarkan suatu kondisi.
2. Struktur kontrol pengulangan- digunakan untuk melakukan pengulangan kode program. Bentuk penulisan (syntax) struktur SELECT…CASE :
SELECT CASE <pilihan> CASE <pilihan 1>
<blok kode program 1> CASE <pilihan 2> <blok kode program 2> CASE <pilihan n> <blok kode program n> CASE ELSE
(56)
END SELECT
Bila <pilihan> sesuai dengan <pilihan 1> maka <blok kode program 1> akan dikerjakan, dst. Tetapi bila<pilihan> tidak ada yang sesuai dengan <pilihan 1> s/d <pilihan n> maka <blok kode program x> yangakan dikerjakan.
Ada dua bentuk struktur kontrol pengulangan (looping), yaitu : 1. Struktur FOR…NEXT.
Bentuk penulisan (syntax) struktur For…Next :
FOR <pencacah> = <awal> TO <akhir> [STEP <langkah>] <blok kode program>
NEXT <pencacah>
(1). <pencacah> adalah variabel (tipe: integer) yang digunakan untuk menyimpan angka pengulangan.
(2). <awal> adalah nilai awal dari <pencacah>. (3). <akhir> adalah nilai akhir dari <pencacah>.
(4).<langkah> adalah perubahan nilai <pencacah> setiap pengulangan. Sifatnya optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka nilai <langkah> adalah satu.
2. Struktur DO…LOOP.
Bentuk penulisan (syntax) struktur Do…Loop : 1. DO WHILE <kondisi>
<blok kode program> LOOP
<blok kode program> akan diulang selama<kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai FALSE.
2. DO UNTIL <kondisi> <blok kode program> LOOP
<blok kode program> akan diulang sampai<kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai TRUE.
(57)
Kontrol arraymerupakan sekumpulan kontrol yang “dikelompokkan” dengan nama yang sama didalam sebuah Form. Kontrol array digunakan bila ada beberapa kontrol yang sama dan akan mendapatperlakuan yang sama pula. Misalnya, ada 5 buah TextBox di dalam sebuah Form dan akan deprogram dengan cara yang sama, maka akan lebih mudah jika membuat sebuah TextBox sebagai kontrol arraydibandingkan bila membuat 5 buah TextBox yang berbeda. Setiap object di dalam kontrol array masingmasingdibedakan dengan nomer indeksnya.
Untuk membuat kontrol array (misalnya TextBox) sebanyak 5 buah di dalam sebuah form, lakukanlangkah berikut ini :langkah berikut ini :
(1) Buatlah sebuah TextBox di dalam sebuah Form. (2) Aturlah property TextBox tersebut sebagai berikut : Name : txtData
Index : 0 (nol)
Perhatikan : kontrol TextBox-nya akan menjadi object txtData(0) (lihat bagian Object Selector pada Jendela Properties).
(3) Klik object txtData(0) pada Form, kemudian klik tombol Copy pada bagian Toolbar.
(4) Untuk membuat TextBox kedua, klik tombol Paste pada bagian Toolbar. TextBox kedua akanmuncul di pojok kiri Form sebagai object txtData(1), aturlah posisinya di dalam Form.
(5) Lakukan langkah ke-4 di atas sebanyak 4 kali (sesuai dengan jumlah TextBox yang dibutukan).
(6) Di dalam Form akan ada 5 buah TextBox dengan nama yang sama (yaitu txtData) dan masingmasingmenjadi object txtData yang dibedakan nomer indexnya (mulai dari 0 s/d 4).
Selanjutnya object-object yang dibuat dengan kontrol array bisa diprogram dengan lebih mudah.Misalnya untuk “mengosongkan” object txtData, bisa menggunakan struktur kontrol For…Next :
(58)
For i = 0 To 4 txtData(i).Text = “” Next i
Cara ini lebih mudah bila dibandingkan cara “konvensional” berikut : Text1.Text = “”
Text2.Text = “” …
Text4.Text = “”
Contoh program dalam control array adalah kalkulator.
2.5.7 Menangani Error
Dalam proses pembuatan program, bisa saja terjadi error yang menyebabkan program tidak berjalan sebagaimana mestinya. Dilihat dari penyebabnya ada 3 jenis error yang bisa terjadi, yaitu :
1. Syntax error– adalah error yang disebabkan oleh kesalahan menulis kode program. Misalnya : salah menuliskan nama object, property atau methodnya. Error jenis ini relatif mudah ditangani, IDE VB 6 akan memberi tanda kode program mana yang menimbulkan syntax error.
2. Runtime error– adalah error yang disebabkan oleh sistem komputer ketika melakukan sesuatu. Misalnya : menyimpan file ke disket tetapi disketnya tidak ada. Sistem akan “memberitahu” kepada program informasi error yang terjadi. Informasi error yang penting diantaranya adalah nomer error dan deskripsi error. VB 6 “menyimpan” informasi error tersebut pada object Err. Melalui object Err inilah kita bisa menangani runtime error.
(59)
Gambar 2.15. Runtime Error [lit.9]
3.Logical error– adalah error yang disebabkan oleh kesalahan logika pemrograman (dari si programer). Misalnya : salah meletakkan urutan kode program. Error jenis ini relatif sulit diketahui dan bisa saja baru diketahui setelah program di-compile menjadi executable file (*.exe). Kejadian seperti ini sering disebut sebagai bug.
2.5.8Penggunaan Prosedur
Proseduradalah blok kode program yang berisi perintah-perintah untuk mengerjakan tugas tertentu. Bila di dalam kode program yang kita buat ada perintah-perintah untuk melakukan tugas yang sama di beberapa tempat, maka akan lebih baik perintah-perintah tersebut dibuat dalam sebuah procedure. Kemudian, procedure itu bisa di-‘panggil’ bila diperlukan.
Penggunaan procedure sangat menghemat penulisan kode program, karena kode-kode program yang sama dibeberapa tempat cukup dibuat pada satu bagian saja. Selain itu, procedure akan memudahkan perbaikan
(60)
kode program bila terjadi perubahan atau kesalahan, karena perbaikan cukup dilakukan pada satu bagian saja.
Pada VB6.0 ada 4 jenis procedure, yaitu :
Procedure Sub – procedure yang tidak mengembalikan nilai setelah ‘tugas’-nya selesai.
Procedure Function– procedure yang mengembalikan nilai setelah ‘tugas’-nya selesai.
Procedure Event– procedure untuk suatu event pada sebuah object. Digunakan di dalam class module.
Procedure Property– procedure untuk mengubah (let) atau mengambil (get) nilai property pada sebuah object. Digunakan di dalam class module. Bentuk penulisan (syntax) procedure sub :
[Public | Private] Sub <nama_sub> ([<argumen>])
…
<isi procedure> …
End Sub
Sedangkan bentuk penulisan (syntax) procedure function :
[Public | Private] Function <nama_function> ([<argumen>]) As <tipe_data>
…
<isi procedure> …
End Function
Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure. Sebuah procedure dengan scope public bisa digunakan dalam lingkup project. Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup form saja.<nama_sub> atau <nama_function> dibuat sebagai pengenal procedure saat di-‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama.
(61)
<argumen> merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali.
Pernyataan As <tipe_data> pada procedure function menentukan tipe data nilai yang akan dikembalikan (return value) setelah ‘tugas’-nya selesai. Untuk menggunakan sebuah procedure, maka procedure tersebut harus di-‘panggil’ pada bagian tertentu dari kode program. Procedure sub di-‘panggil’ dengan pernyataan:
Call <nama_sub>([<argumen>])
Sedangkan procedure function bisa di-‘panggil’ langsung dengan menyisipkannya di dalam kode program yang memanggilnya.Procedure boleh ditulis dimana saja dalam kode program, tetapi biasanya ditulis dibagian atas atau bawah agar mudah ditangani.
2.5.9 Penanganan Keyboard
Event keyboard merupakan salah satu elemen utama dari interaksi antara user dengan program yang kitabuat. Event keyboard terjadi saat user menekan (pressed) ataupun melepas (released) tombol padakeyboard. Menangani event keyboard dapat dilakukan pada 2 (dua) level, yaitu :
1.Pada level kontrol(low-level) – menangani event keyboard yang terjadi pada sebuah kontrol, misalnya ketika user mengetik pada sebuah TextBox. Tidak semua kontrol mempunyai eventkeyboard. Hanya kontrol yang bisa mendapatkan focus (dicirikan dengan property TabIndex danTabStop) saja yang mempunyai event keyboard.
2. Pada level form(hight-level) – menangani event keyboard yang terjadi pada lingkup sebuah form.Artinya form akan lebih dulu merespon event keyboard daripada kontrol-kontrol yang ada didalamnya. Agar form selalu lebih dulu merespon event keyboard maka property KeyPreview padaform tersebut harus diset menjadi True.
VB6 menyediakan 3 (tiga) jenis event pada form dan pada beberapa kontrol yang bisa menerima inputdari user melalui keyboard, yaitu :
(62)
1. Event KeyPress– terjadi ketika tombol-tombol yang mempunyai kode ASCII pada keyboardditekan. ASCII (American Standard Code for Information Interchange) adalah kode darisekumpulan karakter pada tombol keyboard yang terdiri dari : abjad, angka dan beberapa karakterkhusus (Enter, Escape, Tab, Backspace).
2. Event KeyDown– terjadi ketika setiap tombol pada keyboard ditekan. 3. Event KeyUp– terjadi ketika setiap tombol pada keyboard dilepas.
Perbedaan antara event KeyPress dengan KeyDown adalah :
Event KeyPress hanya berlaku untuk tombol-tombol yang mempunyai kode ASCII saja. Tomboltomboltertentu - seperti : tombol fungsi (F1 s/d F12), tombol panah, tombol keypad – tidakmempunyai kode ASCII.
Event KeyPress tidak bisa merespon penekanan tombol yang di kombinasi dengan Shift, Ctrl danAlt.Bila event KeyPress terjadi maka event tersebut akan mengembalikan nilai dari argumen KeyAsciiyaitukode ASCII dari tombol keyboard yang ditekan.
Contoh :
Private Sub Form1_KeyPress (KeyAscii As Integer) MsgBox “Kode ASCII tombol yang ditekan : “ & KeyAscii End Sub
Sedangkan event KeyDown dan KeyUp akan mengembalikan nilai dari argumen KeyCode dan Shift.Argumen KeyCode berisi kode tombol keyboard yang ditekan dan argumen Shift berisi kode penekanantombol Shift, Ctrl dan Alt. Konstanta nilai untuk kedua argumen tersebut dapat dilihat melalui jendelaObject Browser. Contoh :
Private Sub Form1_KeyDown(KeyCode As Integer, Shift As Integer) MsgBox “Kode tombol yang ditekan : “ & KeyCode
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) MsgBox “Kode tombol yang dilepas : “ & KeyCode
(1)
xVolumeMesin = VolumeMesin * 81.787 End Select
txtVolumeMesin.Text = xVolumeMesin End Sub
Private Sub updFmep_Change() Dim xFrictionMep As Single Select Case updFmep.Value
Case 0: imgFmep.Picture = LoadPicture(App.Path & "\mep0.Jpg") xFrictionMep = FrictionMep
Case 1: imgFmep.Picture = LoadPicture(App.Path & "\mep1.Jpg") xFrictionMep = FrictionMep * 0.001
Case 2: imgFmep.Picture = LoadPicture(App.Path & "\mep2.Jpg") xFrictionMep = FrictionMep * 0.00000993
End Select
txtFrictionMep.Text = xFrictionMep End Sub
Private Sub updImep_Change() Dim xIndicatedMep As Single Select Case updImep.Value
Case 0: imgImep.Picture = LoadPicture(App.Path & "\mep0.Jpg") xIndicatedMep = IndicatedMep
Case 1: imgImep.Picture = LoadPicture(App.Path & "\mep1.Jpg") xIndicatedMep = IndicatedMep * 0.001
Case 2: imgImep.Picture = LoadPicture(App.Path & "\mep2.Jpg") xIndicatedMep = IndicatedMep * 0.00000993
End Select
txtIndicatedMep.Text = xIndicatedMep End Sub
Private Sub updVolSisa_Change() Dim xVolSisa As Single
Select Case updVolSisa.Value
Case 0: imgVolSisa.Picture = LoadPicture(App.Path & "\vol0.Jpg") xVolSisa = VolSisa
Case 1: imgVolSisa.Picture = LoadPicture(App.Path & "\vol1.Jpg") xVolSisa = VolSisa * 1000
Case 2: imgVolSisa.Picture = LoadPicture(App.Path & "\vol2.Jpg") xVolSisa = VolSisa * 1000000
End Select
txtVolSisa.Text = xVolSisa End Sub
Private Sub updVolSudut_Change() Dim xVolSudut As Single
Select Case updVolSudut.Value
Case 0: imgVolSudut.Picture = LoadPicture(App.Path & "\vol0.Jpg") xVolSudut = VolSudut
(2)
xVolSudut = VolSudut * 1000
Case 2: imgVolSudut.Picture = LoadPicture(App.Path & "\vol2.Jpg") xVolSudut = VolSudut * 1000000
End Select
txtVolSudut.Text = xVolSudut End Sub
Private Sub UpdVolumeDis_Change() Dim xVolumeDis As Single
Select Case UpdVolumeDis.Value
Case 0: imgVolumeDis.Picture = LoadPicture(App.Path & "\vol0.Jpg") xVolumeDis = VolumeDis
Case 1: imgVolumeDis.Picture = LoadPicture(App.Path & "\vol1.Jpg") xVolumeDis = VolumeDis * 1000
Case 2: imgVolumeDis.Picture = LoadPicture(App.Path & "\vol2.Jpg") xVolumeDis = VolumeDis * 1000000
End Select
txtVolumeDis.Text = xVolumeDis End Sub
Private Sub updVolumeDisTot_Change() Dim xVolumeDisTot As Single
Select Case updVolumeDisTot.Value
Case 0: imgVolumeDisTot.Picture = LoadPicture(App.Path & "\vol0.Jpg") xVolumeDisTot = VolumeDisTot
Case 1: imgVolumeDisTot.Picture = LoadPicture(App.Path & "\vol1.Jpg") xVolumeDisTot = VolumeDisTot * 1000
Case 2: imgVolumeDisTot.Picture = LoadPicture(App.Path & "\vol2.Jpg") xVolumeDisTot = VolumeDisTot * 1000000
End Select
txtVolumeDisTot.Text = xVolumeDisTot End Sub
LAMPIRAN 3
KODE MODUL
Public Const phi = 22 / 7 Public Const derajat = phi / 180 Public DiaPiston As Single
Public KonstPanjangConRod As Single Public ClearancePiston As Single Public PanjangLangkah As Single
(3)
Public PanjangConRod As Single Public RadiusEngkol As Single Public RatioCoRod As Single Public DiaRatio As Single Public JarakCrank As Single Public SudutEngkol As Single Public JarakPiston As Single Public PutaranMesin As Single Public KecPiston As Single Public KecPistonAkhir As Single Public VolumeDis As Single Public JlhSilinder As Single Public VolumeDisTot As Single Public RasioKompresi As Single Public VolSisa As Single
Public VolSudut As Single Public PUdaraMasuk As Single Public TUdaraMasuk As Single Public VolumeMesin As Single Public NilaiKalorBB As Single Public EfPembakaran As Single Public EfRem As Single
Public EfIndikator As Single Public KonsUdara As Single Public EfVolume As Single Public EfKonversi As Single Public KonsumsiRem As Single Public KonsumsiIndikasi As Single Public MassKendaraan As Single Public BeratDayaRatio As Single Public DragCoef As Single Public CoefRolling As Single Public FrontalArea As Single Public KecKendaraan As Single Public DayaJalan As Single Public RatioOfHeat As Single Public KecSuara As Single Public KatupIntake As Single Public DiaKatup As Single Public KatupAngkat As Single
Public Function PistonBore(Diasil As Single, Cp As Single) As Single PistonBore = (Diasil - Cp) / 1000
End Function
Public Function ConnRodLength(KPCR As Single, PLangkah As Single) As Single ConnRodLength = (KPCR * PLangkah) / 1000
End Function
(4)
CrankRadius = (PLangkah / 2) / 1000 End Function
Public Function CrankAxis(teta As Single, Crad As Single, Pcorod As Single) As Single CrankAxis = Crad * Cos(teta * derajat) + (Pcorod ^ 2 - Crad ^ 2 * (Sin(teta *
derajat)) ^ 2) ^ 0.5 End Function
Public Function PistonSpeed(teta As Single, RatioCR As Single, KRata As Single) As Single
PistonSpeed = (phi / 2) * Sin(teta * derajat) * (1 + (Cos(teta * derajat) / Sqr(RatioCR ^ 2 - (Sin(teta * derajat)) ^ 2))) * KRata
End Function
Public Function Massajenis(Tekanan As Single, Temperatur As Single, R As Single) As Single
Massajenis = Tekanan / (Temperatur * R) End Function
Public Function RemMep(Tak As Integer, Tor As Single, VD As Single) As Single RemMep = (Tak * phi * Tor) / VD
End Function
Public Function BrakeWork(Tor As Single, Tak As Integer) As Single BrakeWork = (Tak * phi * Tor)
End Function
Public Function RoadLoad(CR As Single, Mv As Single, Mjenis As Single, CD As Single, Av As Single, Sv As Single) As Single
RoadLoad = (CR * Mv * 9.8 + 0.5 * Mjenis * CD * Av * Sv ^ 2) * Sv End Function
Public Function ThermalBrake(DR As Single, RBB As Single, NBB As Single, EfP As Single) As Single
ThermalBrake = (DR / 1000) / (RBB * NBB * EfP) End Function
ub main()
frmInputMotor.Show End Sub
LAMPIRAN 4
KODE GRAFIK
Private Sub cmdNvsBsfc_Click() ' Proses
With Chart
MSChart1.chartType = VtChChartType2dLine MSChart1.AllowSelections = False
(5)
MSChart1.RowCount = 7 MSChart1.Column = 1 MSChart1.Row = 1
MSChart1.ColumnLabel = BB1 MSChart1.RowLabel = Val(txtN1) MSChart1.Data = txtSol1.Text MSChart1.Row = 2
MSChart1.RowLabel = Val(txtN2) MSChart1.Data = txtSol2.Text MSChart1.Row = 3
MSChart1.RowLabel = Val(txtN3) MSChart1.Data = txtSol3.Text MSChart1.Row = 4
MSChart1.RowLabel = Val(txtN4) MSChart1.Data = txtSol4.Text MSChart1.Row = 5
MSChart1.RowLabel = Val(txtN5) MSChart1.Data = txtSol5.Text MSChart1.Row = 6
MSChart1.RowLabel = Val(txtN6) MSChart1.Data = txtSol6.Text MSChart1.Row = 7
MSChart1.RowLabel = Val(txtN7) MSChart1.Data = txtSol7.Text MSChart1.Column = 2
MSChart1.Row = 1
MSChart1.ColumnLabel = BB2 MSChart1.RowLabel = Val(txtN1) MSChart1.Data = txtB101.Text MSChart1.Row = 2
MSChart1.RowLabel = Val(txtN2) MSChart1.Data = txtB102.Text MSChart1.Row = 3
MSChart1.RowLabel = Val(txtN3) MSChart1.Data = txtB103.Text MSChart1.Row = 4
MSChart1.RowLabel = Val(txtN4) MSChart1.Data = txtB104.Text MSChart1.Row = 5
MSChart1.RowLabel = Val(txtN5) MSChart1.Data = txtB105.Text MSChart1.Row = 6
MSChart1.RowLabel = Val(txtN6) MSChart1.Data = txtB106.Text MSChart1.Row = 7
MSChart1.RowLabel = Val(txtN7) MSChart1.Data = txtB107.Text MSChart1.Column = 3
(6)
MSChart1.Row = 1
MSChart1.ColumnLabel = BB3 MSChart1.RowLabel = Val(txtN1) MSChart1.Data = txtB301.Text MSChart1.Row = 2
MSChart1.RowLabel = Val(txtN2) MSChart1.Data = txtB302.Text MSChart1.Row = 3
MSChart1.RowLabel = Val(txtN3) MSChart1.Data = txtB303.Text MSChart1.Row = 4
MSChart1.RowLabel = Val(txtN4) MSChart1.Data = txtB304.Text MSChart1.Row = 5
MSChart1.RowLabel = Val(txtN5) MSChart1.Data = txtB305.Text MSChart1.Row = 6
MSChart1.RowLabel = Val(txtN6) MSChart1.Data = txtB306.Text MSChart1.Row = 7
MSChart1.RowLabel = Val(txtN7) MSChart1.Data = txtB307.Text End With