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 :
Universitas Sumatera Utara
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 Nikolaus Otto adalah sebuah tipe mesin pembakaran dalam yang menggunakan nyala busi untuk proses 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
Universitas Sumatera Utara
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 2langkah dan motor bensin 4-langkah. Pada motor bensin 2-langkah, siklus terjadi dalam dua gerakan torak atau dalam satu putaran poros engkol. Sedangkan motor bensin 4-langkah, pada satu siklus tejadi dalam 4langkah. 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)
qin
= Kalor yang masuk (kJ)
qout
= Kalor yang dibuang (kJ)
Keterangan siklus : 1-2 Kompresi Isentropik 2-3 Pemasukan Kalor pada Volume Konstan 3-4 Ekspansi Isentropik
Universitas Sumatera Utara
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 (23).
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.
4. Langkah Pembuangan
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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).
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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)
qin
= Kalor yang masuk (kJ)
qout
= Kalor yang dibuang (kJ)
Keterangan siklus : 1-2 Kompresi Isentropik
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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 ; Up
=
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).
Universitas Sumatera Utara
Vc TMA
B
Vd
S TMB
r
l θ
a
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
Universitas Sumatera Utara
l
=
a
θ
cos
+
r 2 − a 2 sin 2 θ
…………………………….….............................(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.4) �𝑐𝑐𝑐𝑐𝑐𝑐θ√𝑅𝑅 2 𝑠𝑠𝑠𝑠𝑠𝑠2 θ��𝑈𝑈
2
𝑠𝑠𝑠𝑠𝑠𝑠θ�1 +
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 : 𝑉𝑉𝑑𝑑 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 =
𝑁𝑁𝑐𝑐 (𝜋𝜋⁄4)𝐵𝐵 2 𝑆𝑆…………...………….…………………….................(2.8) Universitas Sumatera Utara
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) Dalam bentuk lain dapat dituliskan bila dibagi dengan 𝑉𝑉𝑐𝑐 : Universitas Sumatera Utara
1
𝑉𝑉 �𝑉𝑉𝑐𝑐 = 1 + 2 (𝑟𝑟𝑐𝑐 − 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 𝐴𝐴𝑝𝑝 𝑑𝑑𝑥𝑥 =
𝑑𝑑𝑑𝑑………….………………….………………..………….……......(2.17)
Universitas Sumatera Utara
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 Wt = kerja spesifik yang hilang
Universitas Sumatera Utara
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:
Universitas Sumatera Utara
𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 = 𝑤𝑤𝑖𝑖 ⁄∆𝑣𝑣………….……………………………………….……….....
..(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)
Universitas Sumatera Utara
𝑊𝑊̇ =
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)
Universitas Sumatera Utara
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
𝑚𝑚̇𝑓𝑓 = (𝑁𝑁𝑐𝑐 )(𝑁𝑁⁄60)
mesin
empat
langkah………………................(2.47) dua
langkah…………………................(2.48)
Universitas Sumatera Utara
𝑚𝑚̇𝒂𝒂 =
(𝐴𝐴𝐴𝐴𝐴𝐴)𝑚𝑚̇𝒇𝒇 ………….…………………………......…………….…......(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 siklusmesin
yang
tersediauntuk
sangatlahsingkat,
prosespembakarandalam dantidak
semuamolekul
suatu bahan
Universitas Sumatera Utara
bakardapatmenemukanmolekul oksigenyang akan digabungkan, atausuhu mungkin tidakmendukung terjadinyareaksi pembakaran. Karenanya, sebagian kecil daribahan bakartidak bereaksidan keluardari katup buang. Efisiensi
pembakarandidefinisikanuntuk
kecilbahan
bakaryang
terbakar.
memperhitungkanbagian 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) Efisiensi thermal poros dientukan dengan:
Universitas Sumatera Utara
�η𝑡𝑡 � = 𝑏𝑏
𝑊𝑊̇𝑏𝑏 �𝑚𝑚̇𝑓𝑓 𝑄𝑄𝐻𝐻𝐻𝐻 η𝑐𝑐 …….…………………………...……….…............(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 :
η𝑓𝑓 =
𝑊𝑊 ⁄𝑚𝑚𝑓𝑓 𝑄𝑄𝐻𝐻𝐻𝐻
1⁄𝑠𝑠𝑠𝑠𝑠𝑠 𝑄𝑄𝐻𝐻𝐻𝐻 …………….…...(2.60)
=
𝑊𝑊̇ �𝑚𝑚̇𝑓𝑓 𝑄𝑄𝐻𝐻𝐻𝐻 …atau…η𝑓𝑓 =
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:
Universitas Sumatera Utara
η𝑣𝑣 = 𝑚𝑚𝑎𝑎 ⁄ρ𝑎𝑎 𝑉𝑉𝑑𝑑 …...atau
𝑛𝑛𝑚𝑚̇𝑎𝑎 ⁄ρ𝑎𝑎 𝑉𝑉𝑑𝑑 𝑁𝑁........……...…...……….……...(2.61) Dimana :
η𝑣𝑣 =
𝑚𝑚𝑎𝑎 = massa udara di dalam silinder per siklus 𝑚𝑚̇𝑎𝑎 = laju aliran udara masuk ruang bakar
ρ𝑎𝑎 = massa jenis udara lingkungan 𝑉𝑉𝑑𝑑 = Volume langkah 𝑁𝑁 n
= Putaran mesin
= 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 )𝑆𝑆𝑣𝑣 …….………………………....…...………..(2.63)
Universitas Sumatera Utara
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 : 𝐴𝐴𝑖𝑖 =
���𝑝𝑝�⁄𝑐𝑐𝑖𝑖 ) = (π⁄4)𝑑𝑑𝑣𝑣2 …….………………...……...…………......….(2.6 𝐶𝐶𝐵𝐵 2 (𝑈𝑈
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:
Universitas Sumatera Utara
𝑑𝑑𝑣𝑣 =
�
4𝐴𝐴𝑖𝑖
6)
𝜋𝜋
…….………………………………....……...............................….(2.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 : Pilih Standard EXE dan klik tombol Open.
Universitas Sumatera Utara
Gambar 2.11. Jendela new project VB6 [lit.9]
Anda akan melihat tampilan area kerja atau IDE VB 6. Kenali bagianbagian utama di dalam IDE VB 6 berikut ini :
Gambar 2.12. IDE VB 6 [lit.9]
Keterangan : 1. Menubar 2.
Toolbar
3.
Toolbox
Universitas Sumatera Utara
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 :
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkanalokasi jumlah memory (byte) yang berbeda. Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program : Dim
As 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).
Universitas Sumatera Utara
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 : = 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 As = 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 :
Universitas Sumatera Utara
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 THEN Bila bernilai True maka akan dikerjakan. 2. IF THEN ELSE END IF Bila bernilai True maka akan dikerjakan, tetapi bila bernilai False maka 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 CASE CASE CASE CASE ELSE ]
Universitas Sumatera Utara
END SELECT Bila sesuai dengan maka akan dikerjakan, dst. Tetapi bila tidak ada yang sesuai dengan s/d maka yangakan dikerjakan. Ada dua bentuk struktur kontrol pengulangan (looping), yaitu : 1. Struktur FOR…NEXT. Bentuk penulisan (syntax) struktur For…Next : FOR = TO [STEP ] NEXT (1). adalah variabel (tipe: integer) yang digunakan untuk menyimpan angka pengulangan. (2). adalah nilai awal dari . (3). adalah nilai akhir dari . (4). adalah perubahan nilai setiap pengulangan. Sifatnya optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka nilai adalah satu. 2. Struktur DO…LOOP. Bentuk penulisan (syntax) struktur Do…Loop : 1. DO WHILE LOOP akan diulang selama bernilai TRUE. Pengulangan berhenti bila sudah bernilai FALSE. 2. DO UNTIL LOOP akan diulang sampai bernilai TRUE. Pengulangan berhenti bila sudah bernilai TRUE.
2.5.6 Penggunaan Kontrol Array
Universitas Sumatera Utara
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 :
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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 ([<argumen>])
… … End Sub Sedangkan bentuk penulisan (syntax) procedure function : [Public
| Private]
Function
([<argumen>])
As
… … 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. atau 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.
Universitas Sumatera Utara
<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 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 ([<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 :
Universitas Sumatera Utara
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 End if
Universitas Sumatera Utara
2.5.10 Menggunakan Drag-Drop Drag-Dropmerupakan istilah umum di dalam penggunaan mouse untuk menggeser, menyalin ataumemindahkan gambar, teks, file, dll. Menggunakan drag-drop akan mempermudah user saatmenggunakan sebuah program.
2.5.10.1 Drag-Drop dengan VB 6.0 VB 6.0 menyediakan beberapa property, method dan event yang berhubungan dengan drag-drop.Operasi drag-drop melibatkan object source dan object target. Setiap object di dalam form bisa menjadisource ataupun target (termasuk form itu sendiri). Property, method dan event yang berhubungan dengan drag-drop adalah sebagai berikut:
Tabel 2.1. Property,event dan method untuk drag drop [lit.9] Property
Object
Keterangan
DragMode
Source
Menentukan bagaimana drag-drop dimulai: - Manual (vbManual = 0, default) atau - Otomatis (vbAutomatic = 1)
DragIcon
Source
Menentukan bentuk pointer saat operasi drag-drop berlangsung.
Method
Object
Keterangan
Drag
Source
Digunakan untuk memulai drag-drop secara manual (property DragMode diset
[action]
vbManual). Event
Object
Keterangan
DragOver
Target
Saat object source di-drag melewati object target.
DragDrop
Target
Saat object source di-drop pada object target.
Universitas Sumatera Utara
Nilai untuk argumen action adalah sebagai berikut: Tabel 2.2. Nilai argument action drag-drop [lit.9] Nilai
Keterangan
vbBeginDrag = 1
Memulai operasi drag-drop
vbCancel = 0
Membatalkan operasi drag-drop
vbEndDrag = 2
Mengakhiri operasi drag-drop
Ada tiga argumen pada event-event drag-drop, yaitu: Source, X, Ydan State. Argumen Sourcemenunjukkan object yang menjadi source. Argumen X dan Y menunjukkan posisi koordinat pointermouse. Sedangkan argumen State menunjukkan status pointer pada saat event DragOver, nilainya terdiridari: 0 saat
pointer masuk ke dalam object
target, 1 saat pointer meninggalkan object target dan 2 saat pointerbergerak di dalam object target.
2.5.10.2 Menggunakan OLE Drag-Drop OLE (Object Linking and Embedding) Drag-Drop adalah jenis drag-drop yang memungkinkan useruntuk menyalin atau memindahkan data dari satu bagian ke bagian yang lain di dalam satu program ataudengan program yang lain. Sebagian besar program-program buatan Microsoft (seperti Microsoft Office)ataupun perusahaan lain (seperti Adobe PhotoShop) mendukung penggunaan OLE drag-drop.
2.5.10.3 OLE Drag-Drop dengan VB 6.0 VB 6.0 menyediakan beberapa property, method dan event yang berhubungan dengan OLE drag-drop.Operasi OLE drag-drop melibatkan object source dan object target. Hanya beberapa komponen padaVB 6.0 yang bisa digunakan sebagai object source maupun target, yaitu: TextBox, ComboBox, ListBox,Image, PictureBox, DirListBox dan FileListBox. Sedangkan komponen lainya hanya bisa digunakansebagai object target, seperti:
CommandButton,
CheckBox,
OptionButton,
Label
dan
Universitas Sumatera Utara
Form.Property, method dan event yang berhubungan dengan OLE dragdrop adalah sebagai berikut: Tabel 2.3. Property,event dan method untuk OLE drag drop [lit.9] Property
Object
Keterangan
OLEDragMode
Source
Menentukan bagaimana OLE drag dimulai: Manual (vbOLEDragManual = 0, default) atau Otomatis (vbOLEDragAutomatic = 1)
OLEDropMode
Target
Menentukan bagaimana OLE drop dilakukan: Diabaikan (vbOLEDropNone = 0, default) Manual (vbOLEDropManual = 1) atau Otomatis (vbOLEDropAutomatic = 2)
Method
Object
Keterangan
OLEDrag
Source
Digunakan untuk memulai OLE drag secara manual (property OLEDragMode diset vbOLEDragManual).
Event
Object
Keterangan
OLEStartDrag
Source
Saat operasi OLE drag-drop dimulai.
OLECompleteDrag
Source
Saat proses drop pada object target selesai.
OLEDragOver
Target
Saat pointer mouse melewati object target selama operasi OLE drag-drop berlangsung.
OLEDragDrop
Target
Saat
data
di-drop
pada
object target.
Universitas Sumatera Utara
Ada tiga argumen penting pada event-event OLE drag-drop, yaitu: AllowedEffects, Effectdan Data.Argumen AllowedEffects dan Effect digunakan untuk menentukan efek OLE drag-drop yangdiperbolehkan atau yang digunakan. Nilai untuk kedua argumen tersebut adalah sebagai berikut: Tabel 2.4. Nilai argument action OLE drag-drop [lit.9] Nilai
Keterangan
vbDropEffectNone
Data tidak bisa diterima oleh object target.
=0 vbDropEffectCopy
Data disalin ke object target.
=1 vbDropEffectMove =2
Data dipindahkan ke object target.
Sedangkan argumen data merupakan object DataObject yang digunakan selama operasi OLE drag-dropberlangsung.
2.5.10.4 Objek DataObjek Untuk menangani OLE drag-drop secara manual digunakan objekdataobjek untuk menyimpan datadan format datanya. Property dan method yang dimiliki objekdataobjek adalah:
Tabel 2.5. Property dan Method Object dataobject[lit.9] Property
Keterangan
Files
Koleksi nama-nama file (format datanya vbCFFiles)
Method
Keterangan
Clear
Menghapus semua data dan format datanya.
GetData(format)
Mengambil data yang tersimpan. Argumen format digunakan untuk menentukan format data yang diambil.
Universitas Sumatera Utara
GetFormat(format)
Mengetahui format data yang tersimpan. Akan menghasilkan nilai True (bila formatnya sesuai) atau False (bila formatnya tidak sesuai).
SetData
Menyimpan data dengan format tertentu. Argumen value adalah data yang akan disimpan.
value,
[format]
Nilai untuk argumen format adalah sebagai berikut:
Tabel 2.6. Nilai argument format Object dataobject [lit.9] Nilai
Keterangan
Dikosongkan
Format data akan ditentukan otomatis berdasarkan
=0
datanya.
vbCFText =
Data teks
1 vbCFBitmap
Data bitmap (gambar)
=2 vbCFMetafile
Data metafile (gambar)
=3 vbCFDIB = 8
Data device-independent bitmap (gambar)
vbCFFiles =
Data file
15
Universitas Sumatera Utara