Sabtu, 01 Juni 2019

Membuat Simulasi KA Menabrak Kendaraan di OpenBVE

Dengan memanfaatkan beberapa perintah gerak objek yang digunakan dalam file .animated, sebetulnya kita dapat membuat simulasi tabrakan antara KA dan kendaraan di openBVE, yang bisa cukup realistis, tergantung dari kreativitas kita. Kali ini, akan dijelaskan cara membuat semacam simulasi sederhana untuk menggambarkan kecelakaan semacam itu. Berikut ini langkah-langkahnya:

Menyiapkan objek kendaraan dan menentukan sumbu pusat rotasinya
Objek kendaraan yang sudah diatur sumbu pusat rotasinya
Langkah pertama yakni menyiapkan objek kendaraan dan juga mengatur letak sumbu pusat rotasinya. Caranya yaitu dengan menggeser letak objek yang sudah jadi, sehingga titik 0,0,0 terletak di tempat dimana objek akan berrotasi dengan pusat rotasi di titik itu. Cara menggesernya dengan menggunakan perintah TranslateAll, baik itu di file .b3d maupun .csv. Yang membedakan adalah penggunaan koma, yakni pada file .b3d ditulis TranslateAll x,y,z sedangkan pada file .csv ditulis TranslateAll,x,y,z.

Menyiapkan file .animated dan memasukkan perintah gerak
 
Perintah untuk mengatur gerak benda. Bagian yang digarisbaahi merah menunjukkan jarak KA dan benda ketika benda berrotasi, bagian yang dilingkari hijau adalah besar sudut. Bagian yang digarisbawahi biru diberi nilai negatif yang besar agar benda tidak kembali ke posisi semula setelah KA menjauh
Langkah yang kedua, yaitu membuat file .animated yang berisi objek kendaraan tadi beserta gerakannya. Dalam file .animated yang dibuat, tuliskan perintah sebagai berikut:

[Object]
States = [alamat file]

Dibawah perintah tersebut, silakan anda tambahi perintah gerak seperti berikut ini:

RotateXFunction = if[trackDistance[0]<[jarak benda saat rotasi] & trackDistance[0]>-5 ,[besar sudut],value*(trackDistance[0]>[jarak benda untuk kembali ke posisi awal] & trackDistance[0]<700)]
RotateXDamping = [tingkat kecepatan rotasi], 1

Jarak benda saat rotasi disesuaikan dengan panjang lokomotif dan lebar objek, besar sudut dituliskan dalam satuan radian, sedangkan jarak benda untuk kembali ke posisi awal dituliskan dengan nilai negatif yang besar, agar benda tidak kembali ke posisi semula setelah KA lewat. Untuk tingkat kecepatan rotasi, semakin besar angka yang dimasukkan, maka kecepatan sudut saat rotasi akan semakin besar.
Dibawah perintah RotateXFunction dan juga RotateXDamping tersebut, anda dapat juga memasukkan perintah RotateYFunction dan juga RotateYDamping, untuk membuat simulasi semakin realistis. Untuk lebih jelasnya, silakan lihat gambar diatas.

Memasukkan objek kedalam file rute
Perintah untuk memasukkan alamat objek ke rute
Langkah selanjutnya yakni memasukkan objek kedalam rute. Yang pertama yaitu memasukkan alamat file objek kedalam rute. Caranya, di bagian WithStructure, tuliskan perintah .FreeObj(no.objek) [alamat file]. seperti pada gambar diatas.
Perintah untuk memasukkan objek di lokasi yang diinginkan
Terakhir, anda tinggal memasukkan perintah untuk memunculkan objek di lokasi yang anda inginkan. Contohnya, semisal anda ingin memasukkan objek di posisi 27818 meter setelah awal rute, tinggal tulis 27818 di bagian WithTrack, lalu dibawahnya tulis perintah berikut ini:
.FreeObj [no.rel];[no.objek];[x];[y];

Selamat mencoba!

Berikut ini adalah video hasil dari simulasi yang dibuat



Rabu, 01 Mei 2019

Mengatasi Tekstur yang Hilang di OpenBVE Versi Baru

Ada kalanya ketika suatu rute openBVE yang dibuat untuk openBVE dengan versi sebelum 1.4, ketika dibuka dengan openBVE versi 1.4 dan seterusnya mengalami bug yang ditandai dengan hilangnya beberapa objek maupun tekstur dari objek yang ada didalam rute tersebut. Penyebab dari masalah ini adalah adanya perbedaan dalam menerjemahkan alamat file yang tertulis dalam objek. Berikut ini adalah cara yang dapat digunakan untuk mengatasi masalah tersebut.

Simpan laporan dari masalah yang ada dari Route Viewer
Cara menyimpan masalah yang ditemukan didalam rute
Yang pertama perlu dilakukan adalah dengan menyimpan laporan masalah yang muncul pada Route Viewer. Caranya dengan membuka Route Viewer, lalu tekan F9, kemudian klik "Save report". Tujuan dari menyimpan laporan masalah yakni untuk mengetahui apa saja file yang hilang di rute tersebut, sehingga lebih mudah mengetahui apa saja file yang perlu diedit.
Isi dari laporan masalah, salah satunya daftar file objek yang kehilangan tekstur
Setelah di-save, lalu buka file laporan tersebut, disitu anda akan menemukan file mana saja yang mengalami masalah berupa kehilangan tekstur maupun masalah lainnya.

Mengedit file objek yang bermasalah
Editing yang dilakukan berkaitan dengan sistematika alamat file
Yang perlu dilakukan selanjutnya yaitu mengedit file-file objek yang bermasalah. Masalah yang timbul pada file tersebut adalah kesalahan dalam penulisan alamat file. Hal ini terjadi karena adanya perbedaan sistem alamat pada openBVE versi 1.4 dan sebelumnya. Perbedaan tersebut ada pada penggunaan tanda titik berulang sebagai perintah untuk keluar dari folder objek tersebut, dimana pada openBVE versi lama, tanda titik berjumlah 3 (...\) dan dua (..\) akan mempunyai arti yang sama, yakni naik 1 tingkatan folder. Sedangkan pada openBVE versi baru, tiga titik (...\) akan diartikan sebagai (..\..\), atau naik dua tingkatan folder. Sehingga, yang perlu dilakukan adalah mengganti seluruh penulisan ...\ menjadi ..\ dengan fasilitas find and replace di notepad. Lakukan hal ini pada seluruh file yang bermasalah. Apabila sudah selesai, hasilnya dapat dilihat di Route Viewer maupun di openBVE.

Selamat Mencoba!

Senin, 01 April 2019

Menyusun Rangkaian KA di OpenBVE

Ada kalanya di openBVE kita ingin menyusun sendiri dari awal rangkaian KA yang ingin kita gunakan dalam openBVE. Untuk membuat rangkaian sendiri, caranya tidak begitu sulit. Cukup ikuti langkah-langkah berikut ini:

Menentukan jumlah kereta/gerbong
Misalkan, pada rangkaian yang anda buat, anda ingin membuat rangkaian KA ketel Tegal-Maos yang membawa 2 kereta ekonomi serta 14 gerbong ketel, maka buka file train.dat di folder rangkaian yang akan dibuat, lalu di baris keempat setelah perintah #CAR, tuliskan angka 16, karena jumlah rangkaian yang dibawa ada 16 kereta/gerbong.
Jumlah rangkaian yang digunakan
Menyusun extension
Untuk menyusun urutan rangkaian yang anda gunakan, anda perlu menyusun file extension.cfg yang ada didalam folder rangkaian tersebut. Secara umum, bentuk perintah dalam file extension.cfg yang banyak digunakan adalah sebagai berikut:

[car<no>]
Object = <alamat>
Lenght = <panjang objek>
Axles = <letak gandar>

Contoh:
[car1]
Object = ..\Lok\CC 206 70.animated
Lenght = 16.1
Axles = -6, 6

Tuliskan perintah tersebut secara berurutan dari car0 hingga nomor yang sesuai dengan keinginan anda.
Memasukkan objek lokomotif

Memasukkan objek kereta penumpang

Memasukkan objek gerbong ketel
Menyesuaikan panjang kereta\gerbong
Setelah proses penyusunan extension dilakukan dan rangkaian dicek di openBVE, seringkali terjadi adanya kesalahan panjang. Untuk mengatasinya, maka nilai yang tertera di perintah .Length perlu diedit sebagaimana berikut:
Rangkaian yang panjang gerbongnya kurang sesuai
Cara mengeditnya adalah dengan mengubah nilai yang tertulis pada perintah Length: pada setiap car didalam extension hingga sesuai dengan kebutuhan.
Pengaturan length pada extension.cfg

Rangkaian yang panjang gerbongnya sudah tepat
Rangkaian yang sudah selesai dibuat dapat dicek dengan openBVE. Selamat mencoba!

Jumat, 01 Maret 2019

Membuat Efek Jalur Buntu di OpenBVE

Di beberapa rute openBVE, di akhir rute terdapat jalur yang dibuat buntu, seperti misalnya rute Purwosari-Wonogiri. Tetapi dalam rute tersebut belum ada efek yang membuat KA yang menabrak jalur buntu tersebut dapat anjlok. Karena itu, kali ini, akan dibahas bagaimana cara membuat efek jalur buntu di akhir rute openBVE. Caranya sangat mudah, tinggal ikuti langkah berikut:

1. Buka file rute, lalu temukan posisi yang akan diberi efek jalur buntu
Posisi yang akan diberi efek jalur buntu
Buka file rute dengan notepad dan route viewer. Pada lokasi tersebut, tuliskan perintah .buffer pada lokasi tersebut di file rute yang anda buka

2. Cek hasilnya dengan openBVE
Keadaan setelah diberi perintah .buffer, ketika ada KA yang lewat akan anjlok
Setelah diberi perintah .buffer, anda bisa langsung mencobanya di openBVE. Apabila berhasil, maka KA yang dijalankan akan langsung terhenti dan terguling ketika menabrak posisi dimana anda meletakkan badug tersebut.
Selamat Mencoba!

Jumat, 01 Februari 2019

Memasukkan Kabin Masinis 3D di OpenBVE

Umumnya rangkaian kereta api di openBVE menggunakan kabin atau panel sederhana yang hanya menggunakan foto kabin kereta api. Akan tetapi, di openBVE sebetulnya bisa juga menggunakan kabin 3D, yang mana dengan kabin tiga dimensi tersebut anda dapat merasakan simulasi yang lebih nyata karena bisa merasakan seperti didalam kabin betulan. Untuk menggunakan kabin 3D di openBVE, ikuti langkah-langkah berikut:

Menyiapkan objek interior kabin
Yang pertama, anda perlu menyiapkan objek interior kabin. Objek yang digunakan umumnya berformat .animated, karena didalamnya ada komponen yang bergerak ketika menambah throttle, mengunakan rem, maupun aksi lainnya. Contoh objek yang digunakan seperti misalnya dalam contoh berikut:

Contoh objek kabin 3D, dalam format .animated

Memodifikasi file panel
Silakan buka folder kereta api tersebut, disitu anda akan menemukan file panel.cfg. Yang perlu anda lakukan pertama kali yaitu menghapus file panel.cfg, kemudian membuat file animated dengan nama panel.animated. Setelah itu, buka file panel.animated tersebut, dan masukkan perintah [Include], dan dibawahnya masukkan alamat objek kabin yang anda inginkan.
Contoh perintah yang dimasukkan dalam file panel.animated, perintah position dibawahnya berfungsi untuk menyesuaikan posisi objek
Setelah itu, anda dapat mencobanya di openBVE. Selamat Mencoba!

Selasa, 01 Januari 2019

Mengatur Pemberhentian Kereta Api Lain di OpenBVE

Didalam menggunakan rute openBVE, ada rute tertentu yang cocok untuk diberi kereta api lain didepan kereta api yang dijalankan. Normalnya, kereta api lain tersebut akan berjalan dan berhenti sesuai dengan stasiun pemberhentian yang sama dengan kereta api yang dijalankan. Akan tetapi, kereta api yang lain tersebut dapat juga diberi pemberhentian yang berbeda dengan kereta api yang dijalankan. Berikut ini langkah-langkahnya.

Membuka File Rute yang Akan Diedit
Yang pertama, file rute yang akan diedit perlu dibuka dengan menggunakan Notepad dan juga Route Viewer. Kemudian, tentukan dimana saja stasiun yang akan diedit. Sebagai contoh, KA Taksaka Pagi dari Haurgeulis Cirebon berjalan langsung di Stasiun Arjawinangun, dan berhenti di Cirebon. Sedangkan KA Tegal Ekspres yang berjalan didepannya berhenti di Stasiun Arjawinangun dan berjalan langsung di Stasiun Cirebon. Maka, yang perlu dilakukan adalah mengedit perintah di Stasiun Arjawinangun dan Stasiun Cirebon.

Menentukan Perintah Stasiun yang Akan Diedit
Pada stasiun yang ada didalam rute openBVE, akan ada perintah .Sta yang akan menentukan keadaan stasiun tersebut.
Contoh perintah di stasiun sebelum diedit
Pada rute yang diedit, tampak pada perintah Stasiun Arjawinangun terdapat huruf 'p', yang artinya bahwa kereta api yang dijalankan berjalan langsung di stasiun tersebut. Sedangkan pada perintah Stasiun Cirebon, terdapat jadwal kedatangan kereta api.
Kondisi stasiun sebelum diedit pada Route Viewer. Tampak pada Stasiun Arjawinangun tertulis "pass" dan pada Stasiun Cirebon tertulis "stop".
Mengedit Perintah .Sta
Pada perintah .Sta, ada satu bagian yang perlu diedit untuk mengubah pemberhentian kereta api, yang menentukan kereta api mana yang berhenti di stasiun tersebut. Perintah tersebut tertulis pada kolom setelah nama stasiun. Sebagai contoh, pada Stasiun Arjawinangun, setelah kolom nama stasiun, terdapat huruf 'p' yang menjadikan semua kereta api yang lewat berjalan langsung. Sedangkan pada Stasiun Cirebon, disamping kolom nama stasiun, terdapat jadwal kedatangan, yang mana semua kereta api yang ada akan berhenti di stasiun tersebut.
Untuk mengatur kereta api yang berhenti di stasiun tersebut, ada beberapa pilihan yang bisa dipilih untuk mengisi kolom tersebut, yaitu:
p : Semua KA berjalan langsung
b : KA yang dijalankan berjalan langsung, KA lain berhenti
s:[jadwal] : KA yang dijalankan berhenti sesuai jadwal, KA lain berjalan langsung
[jadwal] : Semua KA berhenti
Maka dari itu, pada Stasiun Arjawinangun, karena KA Taksaka berjalan langsung, sedangkan KA Tegal Ekspres yang ada didepannya berhenti, maka ditulis huruf 'b' dan tidak lupa ditulis lama waktu berhentinya di kolom ketujuh setelah kolom tersebut. Sedangkan di Stasiun Cirebon, didepan jadwal kedatangan ditulis 'S:', karena KA Taksaka berhenti, sedangkan KA Tegal Ekspres berjalan langsung. Untuk lebih jelasnya, lihat gambar berikut.
Pada perintah Stasiun Arjawinangun, tertulis huruf 'b' yang menunjukkan bahwa kereta api yang dijalankan berjalan langsung, sedangkan kereta api yang lain berhenti. Angka 120 menunjukkan bahwa durasi KA berhenti di Arjawinangun selama 2 menit. Di perintah Stasiun Cirebon, didepan jadwal kedatangan dituliskan 'S:', yang menunjukkan bahwa kereta api yang dijalankan berhenti sesuai jadwal, sedangkan kereta api yang lain berjalan langsung
Setelah diedit, hasilnya dapat dilihat pada Route Viewer
Pada Stasiun Arjawinangun, tertulis "Player passes - others stop", yang maksudnya hanya KA yang dijalankan yang berjalan langsung. Sedangkan pada Stasiun Cirebon, tertulis "Player stops - others pass", yang menunjukkan bahwa KA yang berhenti adalah KA yang dijalankan saja.
Hasil editan tersebut akan sesuai dengan keadaan dimana KA Taksaka berjalan langsung di Arjawinangun, sedangkan KA Tegal Ekspres berhenti. Sedangkan di Stasiun Cirebon, KA Taksaka berhenti dan KA Tegal Ekspres berjalan langsung.

Selamat Mencoba!

Sabtu, 01 Desember 2018

Membuat Pintu Kereta Bisa Membuka di OpenBVE

Tentu saja apabila pintu kereta di OpenBVE bisa membuka saat berhenti di stasiun, akan membuat simulasi menjadi semakin mirip dengan kenyataan. Untuk membuat pintu yang dapat membuka sendiri, caranya ada berbagai macam, tergantung pada jenis pintu dan juga jenis kereta. Pada kesempatan kali ini, saya akan membagikan bagaimana cara membuat pintu yang bisa membuka sendiri dengan model pintu biasa (dengan engsel). Berikut ini langkah-langkahnya:

Menyiapkan objek kereta tanpa pintu dan objek pintu
Yang pertama harus disiapkan adalah dua jenis objek ini. Objek kereta tanpa pintu dapat dibuat dengan menghilangkan pintu yang sudah ada pada suatu objek dengan cara mengedit file teksturnya. Untuk itu, dengan software Paint pun dapat dilakukan. Sedangkan untuk menyiapkan objek pintu, mungkin anda perlu membuatnya sendiri. Untuk membuat objek pintu, anda dapat mempelajari dasar-dasarnya di sini
Objek kereta tanpa pintu
Objek pintu, sumbu y harus melekat pada objek sebagai engsel pintu
Menggabungkan objek kereta dan pintu
Untuk menggabungkan kedua jenis objek ini, caranya yakni dengan menggunakan file .animated. Caranya, yaitu dengan menuliskan perintah berikut ini didalam file .animated yang anda gunakan.

[Object]
States = <file>
Position = <x>,<y>,<z>

Contoh:
[Object]
States = pintu.b3d
Position = -1.4,1,-10.59

Pada pintu tertentu yang lokasi engselnya berlawanan, maka pintu tersebut harus diputar 180 derajat. Untuk melakukannya, caranya yakni dengan menuliskan perintah RotateYFunction dengan besar sudut sebesar Ï€ radian, atau sekitar 3,1416. Contohnya seperti berikut ini:

[Object]
States = pintu.b3d
Position = -1.4,1,12.59
Rotateyfunction = 3.1416

Objek kereta yang sudah digabungkan dengan pintu. Dalam kotak biru, tampak perintah yang digunakan untuk memasukkan objek pintu. Kotak merah menunjukkan perintah untuk objek pintu yang harus diputar 180 derajat.
Menambahkan perintah untuk memutar pintu
Untuk membuat pintu kereta dapat berputar ketika berhenti di stasiun, digunakan dua perintah yang dimasukkan kedalam file .animated. Berikut ini dua perintah yang digunakan untuk memutar pintu kereta.

RotateXDirection = 0, <-1 atau 1> , 0
RotateXFunction = <leftdoors atau rightdoors>*<sudut>

Contoh:
RotateXDirection = 0, 1, 0
RotateXFunction = rightdoors * 1.6

Angka 1 atau -1 yang dimasukkan pada perintah RotateXDirection menentukan arah putar pintu. Angka 1 menunjukkan arah putar pintu searah jarum jam, sedangkan arah -1 sebaliknya. Pada perintah RotateXFunction,  sudut yang dimasukkan adalah dalam satuan radian, bukan dalam derajat. Untuk membuat pintu kanan dan kiri terbuka sesuai posisi peron, anda perlu memasukkan rightdoors pada pintu kanan dan leftdoors pada pintu kiri.
Kotak merah menunjukkan penggunaan leftdoors dan rightdoors pada pintu kanan dan kiri. Sedangkan kotak biru menunjukkan perbedaan perintah RotateXDirection pada pintu dengan arah putar yang berlawanan
Setelah itu, anda tinggal men-save dan mengecek hasilnya dengan OpenBVE
Keadaan pintu sebelum kereta diberangkatkan
Keadaan pintu setelah kereta diberangkatkan











Selamat Mencoba!

Kamis, 01 November 2018

Mengatur Goncangan pada Rel di OpenBVE

Rute yang digunakan di openBVE seringkali melewati kondisi jalan rel yang berbeda-beda. Ada rel dengan kualitas bagus yang ketika dilewati dengan kecepatan tinggi pun tidak terlalu berguncang. Tetapi ada juga rel yang bahkan ketika dilewati dengan kecepatan yang tidak begitu tinggi saja sudah sangat terasa berguncang. Di openBVE, tingkat keguncangan kereta api saat melewati rel ini dapat diubah dengan mudah, yaitu dengan menggunakan perintah .Accuracy dengan nilai tertentu. Berikut ini penjelasannya:

Perintah .Accuracy adalah perintah yang mengatur tingkat kegoncangan kereta api. Penggunaan perintah ini adalah sebagai berikut:
.Accuracy [nilai] , misal .Accuracy 2

Nilai yang dimasukkan bernilai 0-4, dengan kriteria sebagai berikut:
0 ~ sama sekali tidak ada guncangan
1 ~ sedikit sekali goncangan (jalur KA super cepat)
2 ~ sedikit goncangan (jalur KA terbaik di Indonesia)
3 ~ goncangan sedang (umumnya jalur KA di Indonesia)
4 ~ goncangan banyak (jalur KA dengan rel tua di Indonesia)

Tingkat guncangan untuk nilai .Accuracy 1-4

Apabila nilai yang dimasukkan lebih kecil dari 0, maka perintah yang dibaca oleh sistem akan sama dengan perintah .Accuracy 0. Begitu pula apabila nilai yang dimasukkan lebih besar dari 4, maka sistem akan membaca perintah tersebut sebagai perintah .Accuracy 4.

Berikut contoh penggunaan perintah .Accuracy

Semisal anda ingin membuat KA yang melintas di rute Kediri-Madiun tidak begitu berguncang dari awal rute hingga lepas Kediri karena rel nya telah diganti dengan yang baru, tetapi kemudian KA tetap berguncang hingga sampai Kertosono, maka caranya adalah sebagai berikut:
  1. Buka file rute, misal KD-MN Krakatau.csv
  2. Di awal rute, tuliskan perintah yang diinginkan, misal .Accuracy 2
  3. Di lokasi yang ingin anda jadikan KA itu berguncang lagi, tulis perintah .Accuracy 4
  4. Jika perlu, ganti jenis rel yang digunakan di lokasi yang akan anda ubah tingkat goncangannya tersebut, karena pada rute ini ada jenis rel yang berbeda untuk tempat yang goncangannya rendah dengan yang goncangannya besar.
Berikut beberapa gambar sebagai penjelasan
Perintah .Accuracy 2 di awal rute agar kereta api tidak terlalu berguncang

Pemberian perintah .Accuracy 4 di lokasi yang diinginkan

Jenis rel dapat diganti, akan tetapi ini hanya perlu dilakukan pada rute tertentu
Selamat Mencoba!

Senin, 01 Oktober 2018

Cara Menambahkan Batas Kecepatan di Rute OpenBVE

Ada kalanya saat menggunakan openBVE kita merasa kurang cocok dengan batas kecepatan yang digunakan atau merasa ingin menambahkan batas kecepatan di lokasi tertentu dalam rute. Untuk menambahkan batas kecepatan dalam rute, caranya cukup mudah, ikuti saja langkah-langkah berikut ini.

Menuliskan Perintah di Awal dan Akhir Taspat
Saat akan menambahkan batas kecepatan, buka file rute dengan notepad dan object viewer. Setelah itu, tentukan dimana anda akan memulai taspat dan dimana akan mengakhirinya. Apabila sudah jelas lokasinya, masukkan perintah batas kecepatan seperti pada gambar berikut:
Masukkan perintah .Limit [batas];1 di lokasi yang anda inginkan
Perintah yang anda masukkan ialah .limit [batas];1. Dengan adanya angka 1 yang anda tulis, maka pada lokasi tersebut nantinya akan ada papan penunjuk batas kecepatan default dari openBVE, yaitu berupa papan putih dengan angka hitam
Setelah itu, anda bisa mengakhiri batas kecepatan dengan memasukkan perintah .limit 0;1. Akan tetapi, pada rute dengan batas kecepatan maksimal bukan tak hingga seperti misalnya 90 km/jam atau 100 km/jam, masukkan perintah .limit dengan batas kecepatan yang sesuai di rute
Di rute ini, untuk mengakhiri batas kecepatan, perintah yang dituliskan adalah .limit 90;1, karena batas kecepatan pada rute ini maksimal 90 km/jam
Melihat Hasilnya pada Route Viewer
Setelah memasukkan perintah tersebut, tekan F5 pada route viewer, maka hasilnya akan seperti berikut ini

Membuat Batas Kecepatan dengan Objek Buatan Sendiri
Misalkan anda ingin membuat batas kecepatan 20 km/jam tetapi ingin menggunakan semboyan 2B, maka anda harus menggunakan cara yang sedikit berbeda. Caranya, masukkan perintah .limit [batas];0, lalu masukkan perintah .freeobj 0;[no.objek];[x];[y] dengan no. objek yang dimasukkan adalah no. objek dari objek taspat yang ingin anda gunakan. Untuk lebih jelasnya, lihat gambar berikut
Pada gambar diatas, tertulis perintah .limit 20;0, lalu dibawahnya ada perintah .freeobj yang bertujuan untuk memasukkan objek batas kecepatan yang sudah tertulis diatas
Setelah memasukkan perintah tersebut, tekan F5 di route viewer, maka hasilnya akan seperti ini

Selamat Mencoba!

Sabtu, 01 September 2018

Membuat Objek Lokomotif Langsir Maju Mundur di OpenBVE

Ada kalanya objek lokomotif yang ada di stasiun bisa nampak lebih menarik apabila bergerak selayaknya lokomotif yang sedang langsir. Untuk membuat objek lokomotif yang langsir maju-mundur, caranya tidak begitu sulit, dan bisa dipelajari siapa saja. Oleh karena itu, kali ini saya akan membahas mengenai bagaimana cara membuat objek lokomotif yang bergerak maju mundur di OpenBVE. Berikut langkah-langkahnya:

Menyiapkan Objek .animated
Yang pertama, kita mesti membuat objek lokomotif dengan format .animated di folder rute yang diinginkan. Lihat contoh dalam gambar berikut ini.
Objek yang dibuat, dalam contoh ini bernama Langsir.animated. Untuk membuat objek semacam ini, anda bisa membuka notepad, lalu menyimpan file tersebut dengan nama file beserta formatnya.
Kemudian, buka file tersebut, lalu masukkan perintah seperti dalam gambar berikut ini.
Di samping perintah "States = ", masukkan alamat objek yang dimasukkan. Dalam hal ini, perintah "Position = " tak harus dituliskan, karena seluruh nilainya 0.
Setelah alamat dan posisi objek seluruhnya telah dimasukkan dengan benar, langkah selanjutnya adalah memberikan perintah untuk menggerakkan objek seperti pada gambar berikut.

Perintah "TranslateZDirection = 0,0,1" bertujuan untuk membuat arah gerak objek sejajar dengan sumbu z. Perintah "TranslateZFunction" dibawahnya berisi fungsi untuk pergerakan objek.
Fungsi yang dimasukkan kedalam perintah "TranslateZFunction" umumnya merupakan fungsi trigonometri cos dengan variabel berupa waktu, sehingga objek nantinya bergerak maju mundur dengan perpindahan seperti halnya grafik cosinus. Dalam contoh diatas, fungsi yang dimasukkan ialah cos[time/12]*60, yang artinya bahwa amplitudo dari perpindahan itu ialah sebesar 60 meter, dan periodenya adalah selama 12Ï€ detik. Sehingga nantinya lokomotif itu akan bergerak dari suatu ujung ke ujung lain yang jaraknya 120 meter, dengan lamanya waktu untuk kembali ke ujung sebelumnya selama 12Ï€ detik (sekitar 38 detik). Gerakan objek bisa diamati dengan membuka objek di Object Viewer.

Meletakkan Objek di Dalam Rute
Langkah selanjutnya, yaitu dengan memasukkan objek kedalam rute yang dikehendaki. Langkah pertama adalah menuliskan alamat objek kedalam file rute seperti pada gambar berikut ini.
Perintah yang dimasukkan yaitu : .FreeObj(no.objek) alamat
Selanjutnya, cari lokasi yang sesuai didalam rute untuk meletakkan objek lokomotif langsir tadi. Setelah anda menemukan lokasi yang sesuai, masukkan perintah seperti pada gambar berikut ini.
Perintah untuk memasukkan objek yaitu : .FreeObj [no.rel];[no.objek];[x];[y]
Setelah objek dimasukkan, anda bisa mengecek hasilnya di Route Viewer.
Selamat Mencoba!

Jumat, 31 Agustus 2018

Resensi Buku Ilmiah

Judul Buku : Pengantar Anatomi Tumbuh-Tumbuhan : Tentang Sel & Jaringan
Pengarang : Drs. Yayan Sutrian
Penerbit : Rineka Cipta
Kota Terbit : Jakarta
Tahun Terbit : 2011
Jumlah Halaman : xiv+234 halaman

Pengetahuan mengenai anatomi tumbuhan, termasuk diantaranya mengenai sel dan jaringan tumbuhan, belum banyak dimiliki oleh masyarakat. Boleh jadi hanya kalangan akademisi dalam bidang biologi saja yang betul-betul paham mengenai ilmu satu ini. Oleh karena itu, buku hasil karya dari Drs. Yayan Sutrian ini diharapkan bisa menjadi jawaban atas masalah minimnya pengetahuan masyarakat dalam hal anatomi tumbuh-tumbuhan.
Buku ini diperuntukkan secara khusus bagi mahasiswa yang mengambil mata kuliah anatomi tumbuh-tumbuhan, akan tetapi bisa juga dipelajari oleh semua kalangan yang merasa membutuhkan, mulai dari kalangan petani, siswa sekolah, dan semua orang yang ingin mengetahui dasar-dasar anatomi tumbuhan, khususnya dalam lingkup sel dan jaringan.
Dalam buku ini dijabarkan secara rinci mulai dari bagian-bagian dalam sel, struktur sel tumbuhan, lalu meluas hingga ke jaringan-jaringan yang ada didalam tumbuhan. Di awal buku pun sudah diberi paparan mendasar mengenai anatomi tumbuhan, sehingga pembaca yang betul-betul awam pun bisa juga memahami isi dari buku ini.
Kelebihan dari buku ini yaitu bahasannya yang amat terperinci, sehingga betul-betul membuat pembaca memahami anatomi tumbuh-tumbuhan dari nol. Pembaca yang ingin memperdalam lagi pengetahuannya di bidang anatomi tumbuhan pun akan dengan mudah memahami isi dari buku yang lebih lanjut lagi bila sudah membaca buku ini.
Akan tetapi, buku juga karya manusia yang tak luput akan kekurangan. Salah satu kekurangan dalam buku ini adalah seluruh gambar ilustrasinya hanya berupa sketsa hitam putih saja. Juga terdapat banyak istilah asing yang kurang dimengerti masyarakat awam. Namun, diluar itu, buku ini tetap saja bermanfaat dan bisa digunakan semua orang.

Laman resmi Perpustakaan UNY http://library.uny.ac.id

Rabu, 01 Agustus 2018

Menambahkan KA Lain di Dalam Rute OpenBVE

Pernahkah anda menggunakan rute openBVE yang bernama "Jakarta Metro". Kalau pernah, mungkin anda sudah tahu bahwa didalam rute tersebut ada kereta api lain yang berjalan didepan kereta api kita, dengan rangkaian yang sama persis. Kereta api tersebut berjalan searah dengan kita, dan juga mengeluarkan suara mesin dan suara roda ketika berjalan, dan dikendalikan oleh masinis otomatis. Kereta itupun juga bisa ditabrak oleh kereta api kita apabila kita melanggar sinyal.
Oleh karena itu, maka bulan Agustus ini saya akan membahas mengenai cara menambahkan kereta api semacam itu kedalam rute. Caranya mudah sekali, akan tetapi untuk menambahkan kereta api lain didalam rute, paling cocok hanyalah di rute dengan persinyalan elektrik, karena persinyalan tersebut akan bekerja secara maksimal. Berikut ini langkah-langkahnya...

Buka file rute dengan notepad
Dalam gambar ini, yang dibuka ialah rute Babat-Surabaya Pasarturi untuk KA KRD Bojonegoro
Bukalah file rute yang ingin anda edit dengan notepad. File yang dibuka adalah file dengan format .csv.

Tambahkan perintah .RunInterval
Perintah yang ditambahkan diblok warna biru. Bagian yang dikotaki warna merah tak boleh kosong
Langkah selanjutnya yaitu menambahkan perintah .RunInterval. Setelah anda buka file rute tersebut, anda scroll kebawah hingga bertemu dengan perintah WithRoute. Dibawah perintah tersebut ada sederet perintah .Signal. Pastikan bahwa perintah tersebut lengkap, karena bila tidak lengkap, hal tersebut bisa mengakibatkan AI tak mendeteksi adanya aspek merah. Dibawah perintah .Signal tersebut, tambahkan perintah .Runinterval [waktu]. Waktu yang dimasukkan adalah jarak antara kedua KA dalam satuan detik. Oleh karena itu, bila kita ingin jarak antara dua KA sejauh 5 menit misalnya, maka kita tuliskan perintah .RunInterval 300 (karena 5 menit = 300 detik)

Setelah itu, silahkan anda cek di openBVE.
Selamat Mencoba!

Minggu, 01 Juli 2018

Memberi Batas Waktu Berhenti Minimal di Stasiun

Terkadang apabila kita terlambat ketika berdinas di openBVE, kita hanya diberi waktu 15 detik saja apabila kedatangan kita melebihi jadwal keberangkatan di stasiun tersebut. Tentu saja beberapa orang merasa terganggu akan hal itu, apalagi di Indonesia, turun naik penumpang serta pengumuman kedatangan dan keberangkatan kereta serta pemberian semboyan untuk keberangkatan tentu saja butuh waktu lebih dari 15 detik. Oleh karena itu, disini akan dijelaskan bagaimana memberi batas waktu minimal berhenti di stasiun.
Langkah pertama ialah membuka file rute, kemudian menemukan stasiun yang akan anda tambahi waktu berhenti minimal di stasiun tersebut. Sebagai contoh, misalkan anda ingin mengedit Stasiun Kertosono di rute Jombang-Madiun untuk KA Sritanjung, maka buka file JG-MN Sritanjung di folder rute Kediri-Madiun, lalu dengan fasilitas search, temukan ".Sta Kertosono".
Dalam gambar ini, waktu berhenti minimal adalah 60 detik atau satu menit
Setelah anda menemukan perintah seperti diatas itu, tambahkan waktu berhenti dalam satuan detik di kolom kedelapan setelah nama stasiun, seperti dalam gambar diatas. Anda dapat memasukkan lama waktu berhenti minimal sesuai keinginan anda.
Kemudian, anda dapat mencobanya di openBVE
Dalam gambar ini nampak bahwa kereta api yang dijalankan terlambat 18 menit, dan masih harus berhenti selama 1 menit
Selamat Mencoba!

Jumat, 01 Juni 2018

Membuat Lampu yang Bisa Dinyalakan dan Dimatikan

Beberapa add on rangkaian kereta api yang tersedia untuk openBVE memiliki lampu yang bisa dinyalakan dan dimatikan dengan mengubah arah reverser. Untuk membuat add on semacam itu tidak begitu sulit, berikut ini langkah-langkahnya.

Membuat Objek Sinar Lampu
Langkah pertama ialah membuat objek lampu. Dalam artikel berikut ini, saya tidak akan membahas secara rinci tentang cara membuat objeknya, namun lebih fokus kepada perintah BlendMode yang sering digunakan untuk membuat objek lampu. Bagi anda yang belum tahu dasar-dasar pembuatan objek, anda dapat membuka artikel berikut ini.
Apa itu perintah BlendMode? Perintah ini adalah perintah yang digunakan untuk membuat transparasi suatu objek bisa bergradasi, dan juga bisa digunakan untuk membuat objek menjadi hilang ketika dilihat dari jarak dekat. Untuk lebih jelasnya, perhatikan gambar berikut.
Perbedaan dari perintah BlendMode (kotak merah) yang diatas dan yang dibawah ialah adanya jarak pandang minimal pada perintah yang ada dibawah. Berikut penjelasannya:
  • Pada perintah BlendMode yang diatas, hanya tertulis "BlendMode Additive". Dengan perintah ini, maka transparasi tekstur yang digunakan akan bergradasi, dengan bagian yang transparan adalah bagian yang berwarna hitam, dan bagian yang lebih terang akan lebih tidak transparan. Sebagai gambaran, pada perintah BlendMode yang diatas, file tekstur yang digunakan ialah glow1.png. Karena gambar pada file itu berbentuk lingkaran berwarna putih dengan tepian yang bergradasi menuju hitam dan bagian luarnya hitam, maka nantinya objek yang tampak akan berbentuk lingkaran yang bagian luarnya semakin transparan hingga hilang.
  • Pada perintah BlendMode yang dibawah, efek utamanya sama dengan yang diatas, namun pada perintah tersebut ada jarak pandang minimal. Perintah tersebut tertulis "BlendMode Additive,60,DivideExponent2,". Angka 60 itu adalah jarak pandang minimal supaya objek tersebut menghilang. Apabila objek tersebut dilihat dari dekat, maka objek tersebut akan mengabur hingga akhirnya hilang. Perintah ini cocok digunakan untuk objek sinar lampu yang sangat besar, sehingga ketika kereta api dilihat dari jauh akan nampak jelas lampunya, namun ketika semakin mendekat akan hilang dan hanya nampak sinar di bagian yang masih dekat dengan lampu saja.
Umumnya, objek lampu ini dibuat untuk satu lampu saja, tetapi bisa saja anda buat langsung untuk semua lampu lokomotif supaya nanti lebih mudah ketika membuat objek animated-nya.

Membuat Objek .animated Untuk Menggabungkan Objek Lampu dan Lokomotif
Langkah selanjutnya ialah menggabungkan objek lokomotif dan objek lampu untuk kemudian diberi perintah untuk menyalakan dan mematikan lampu. Untuk lebih jelasnya, perhatikan gambar berikut.
Perintah dasar untuk objek .animated ialah sebagai berikut:

[Object]
States = [nama file]
Position = [x],[y],[z] (opsional)

Setelah anda masukkan semua objek yang dibutuhkan, dibawah perintah untuk memasukkan objek lampu, anda dapat memasukkan perintah berikut ini

StateFunction=If[Cars<1|ReverserNotch>0,0,1]

Dengan menambahkan perintah itu, maka lampu yang anda pasang akan menyala jika reverser diarahkan ke 'Forward' atau maju (F), dan akan mati jika reverser diarahkan ke 'Netral' maupun 'Reverse'. Setelah itu, anda dapat mencobanya di openBVE.

Objek lampu yang telah terpasang. Gambar atas ialah lighting siang, sedangkan yang dibawah adalah lighting malam. Gambar kecil di pojok ialah kenampakan objek jika dilihat dari jauh.

Selasa, 01 Mei 2018

Membuat Rangkaian Double Traksi di OpenBVE

Ada kalanya kita ingin melihat rangkaian yang istimewa dari kereta api yang kita gunakan, salah satunya yaitu rangkaian yang ditarik lokomotif double traksi. Untuk membuat rangkaian double traksi di openBVE, caranya tidak begitu sulit, cukup ikuti langkah-langkah berikut ini.

Buka Folder Rangkaian, Edit File Train.dat dan Extension.cfg
Langkah pertama yang perlu dilakukan yaitu dengan membuka folder rangkaian, lalu edit dua file tersebut. Folder yang dibuka bisa saja folder dari rangkaian yang sudah ada ataupun bisa juga membuat folder baru. Apabila mengedit dari rangkaian yang sudah ada, maka editlah rangkaian yang nantinya lokomotifnya akan menjadi lokomotif bagian depan. Misalnya anda ingin membuat rangkaian DT dengan CC 203 didepan dan CC 201 dibelakang, maka yang anda edit sebaiknya adalah rangkaian yang menggunakan CC 203, bukan CC 201.
Buka file train.dat pada folder rangkaian untuk mengubah jumlah rangkaian
Setelah membuka file train.dat, di bagian bawah perintah #CAR, di baris keempat, tambahkan satu angka supaya jumlah total rangkaian bertambah satu. Misalnya awalnya tertulis 8, maka ubahlah menjadi 9 supaya nantinya ada tempat untuk menambahkan lokomotif kedua.
Dalam mengedit file extension.cfg, objek untuk lokomotif pertama (car0) sebaiknya tetap. Sedangkan untuk lokomotif kedua dimasukkan sebagai car1. Kemudian, kereta yang ditarik, yang sebelumnya nomornya urut dari car1, car2, car3, dst. dinaikkan menjadi car2, car3, car4, dst.
Setelah mengedit file train.dat, langkah selanjutnya ialah mengedit file extension.cfg. Disini, anda bisa memasukkan alamat objek lokomotif kedua sebagai car1 seperti gambar diatas, sedangkan lokomotif pertama tetap. Setelah itu, naikkan nomor urut objek kereta yang ditarik, dari sebelumnya car1, car2, car3, dst. menjadi car2, car3, car4, dst.

Sesuaikan Posisi Lokomotif
Posisi lokomotif yang kurang pas, yaitu terlalu maju (atas) dan terlalu dekat (bawah)
Setelah selesai mengedit train.dat dan extension.cfg, langkah selanjutnya ialah menyesuaikan posisi lokomotif, karena biasanya posisi lokomotif akan menjadi kurang pas seperti gambar diatas ketika dibuka dengan openBVE. Untuk menyesuaikan posisi lokomotif, caranya ialah dengan mengubah nilai Length pada car0 di file extension.cfg. Apabila jarak kedua lokomotif terlalu jauh, maka kurangilah angka tersebut, tetapi bila terlalu dekat, maka tambahlah angka tersebut. Biasanya, anda harus mencoba berulang kali dengan angka yang berbeda pada proses ini hingga akhirnya mendapat panjang yang pas.
Angka yang perlu diubah untuk menyesuaikan jarak

Jika jarak antara kedua lokomotif telah sesuai dengan harapan, maka rangkaian DT kesayangan anda pun bisa anda gunakan dalam openBVE.
Rangkaian KA Pasundan DT yang telah jadi di Jembatan Ciherang
Selamat Mencoba!