• Tidak ada hasil yang ditemukan

BAB 5 KESIMPULAN

5.2 Saran

Saran dari penulis untuk pengembangan penelitian selanjutnya yaitu 1. Pengembangan sistem dengan metode IoT yang dapat menyimpan dan

mengakses basis data dari server dinas perhubungan darat dan dapat diakses pemilik kendaraan supaya tidak terjadi kecurangan.

2. Bisa dikembangkan alat uji kendaraan bermotor sistem portable, sehingga bisa digunakan untuk pengujian keliling.

3. Bisa dikembangkan pengujian dengan sistem full automatic, yaitu kendaraan masuk kemudian alat siap untuk pengujian secara otomatis tanpa operator.

43

[2] Undang-Undang Republik Indonesia, Undang-Undang Republik Indonesia Nomor 22 Tahun 2009 Tentang Lalu Lintas Dan Angkutan Jalan. Indonesia, 2009, hal. 1–203.

[3] K. Publik dan P. K. Bermotor, “Implementasi Kebijakan Pengujian Kendaraan Bermotor Di Dinas Perhubungan Kabupaten Kepulauan Sangihe,” J. Polit., vol. 10, no. 4, 2021.

[4] C. De Saxe, R. J. Berman, A. Clarke, dan J. D. Reinecke, “Camera-based side-slip measurement for tyre testing,” no. July, 2019.

[5] J. Shao, F. Lin, dan Z. Ye, “Research on automatic verification device for vehicle sideslip tester,” Appl. Mech. Mater., vol. 215–216, hal. 1263–1266, 2012, doi: 10.4028/www.scientific.net/AMM.215-216.1263.

[6] Y. Wu, L. Meng, J. Liu, J. Dai, dan J. Xie, “Research on calibration device based on laser displacement measurement technology for automobile side slip tester,” Guangxue Jishu/Optical Tech., vol. 44, hal. 630–633, Sep 2018.

[7] M. Gadola, D. Chindamo, M. Romano, dan F. Padula, “Development and validation of a Kalman filter-based model for vehicle slip angle estimation,”

Veh. Syst. Dyn., vol. 52, no. 1, hal. 68–84, 2014, doi:

10.1080/00423114.2013.859281.

[8] T. C. Evans, E. Gavrilovich, R. C. Mihai, I. Isbasescu, dan L. Easyg, “( 12 ) Patent Application Publication ( 10 ) Pub . No .: US 2006 / 0222585 A1 Figure 1,” 2015.

[9] A. Gajek dan P. Strzępek, “The analysis of the accuracy of the wheel alignment inspection method on the side-slip plate stand,” IOP Conf. Ser.

Mater. Sci. Eng., vol. 148, hal. 012037, 2016, doi: 10.1088/1757- 899X/148/1/012037.

[10] W. Luty, “Experimental research on tyres in transient sideslip conditions,”

Arch. Motoryz., vol. 66, 2014.

[11] H. F. Grip, L. Imsland, T. A. Johansen, T. I. Fossen, J. C. Kalkkuhl, dan A.

Suissa, “Nonlinear vehicle side-slip estimation with friction adaptation,”

Automatica, vol. 44, no. 3, hal. 611–622, 2008, doi:

10.1016/j.automatica.2007.06.017.

[12] S. G. Barhe dan B. G. Gawalwad, “Measurement of Wheel Alignment using IR,” hal. 8689–8693, 2016, doi: 10.15680/IJIRCCE.2016.

[13] B. L. Boada, M. J. L. Boada, A. Gauchía, E. Olmeda, dan V. Díaz, “Sideslip angle estimator based on ANFIS for vehicle handling and stability,” J. Mech.

Sci. Technol., vol. 29, no. 4, hal. 1473–1481, 2015, doi: 10.1007/s12206- 015-0320-x.

[14] N. Corporation, “Basic Wheel Alignment Fundamentals.” Latest Undercar Service Equipment Luse, Prineville, Oregon, US, hal. 1–11, [Daring].

Tersedia pada: http://lusequip.com/site/1212late/Alignment_Basics.pdf.

[15] G. Stanley, “Exponential Filter,” 2010.

https://gregstanleyandassociates.com/whitepapers/FaultDiagnosis/Filtering/

Exponential-Filter/exponential-filter.htm (diakses Mar 05, 2020).

[16] R. M. Firdaus, B. Supriyo, dan A. Suharjono, “Electronic and GUI Development of Roller Brake Tester,” J. Phys. Conf. Ser., vol. 1273, no. 1, 2019, doi: 10.1088/1742-6596/1273/1/012070.

[17] R. M. Firdaus, B. Supriyo, dan A. Suharjono, “Sistem untuk Analisis Variasi Tindakan Pengereman,” Semin. Nas. aptikom, 2019.

[18] R. Ristiana, A. S. Rohman, A. S. Prihatmanto, dan C. Machbub, “Sistem Kendali Kendaraan untuk Keselamatan Aktif : Review Paper,” vol. 3, no. 1, 2017.

[19] I. H. Siahaan, N. Djonoadji, dan A. Sugondo, “ANALISA GAYA PADA

RODA KENDARAAN PADA BERBAGAI KECEPATAN

KENDARAAN,” TEKNO SIM, no. September, hal. 1–7, 2007.

[20] J. S. Young, H. Y. Hsu, dan C. Y. Chuang, “Camber angle inspection for vehicle wheel alignments,” Sensors (Switzerland), vol. 17, no. 2, 2017, doi:

10.3390/s17020285.

[21] I. INSTRUMENTATION, “KTC LINEAR MOTION POSITION

SENSORS.” https://www.reichelt.com/de/en/linear-potentiometer-100-mm- max-60-v-ktc-100-p-p152223.html (diakses Jul 09, 2021).

[22] R. C. AB, “Ktc, ktf, ktp Linear sensor 75-1000mm,” vol. 1, no. 4, Swedia, 2013, hal. 4–7.

[23] J. V. Vijay dan B. Bansode, “ARM Processor Architecture,” Int. J. Sci. Eng.

Technol. Res., vol. 4, no. 10, hal. 243–268, 2015, doi: 10.1016/b978-0-12- 410414-3.00008-6.

[24] R. M. Firdaus, “Analisis variasi tindakan pengereman terhadap pengukuran efisiensi gaya rem dan perlambatan pada rol penguji rem,” Politeknik Negeri Semarang, 2019.

[25] G. Brown, “Discovering the STM32 Microcontroller,” Cortex, vol. 85, hal.

1–244, 2012, doi: 10.1.1.251.2645.

[26] STMicroelectronics, STM32F103x8 STM32F103xB Datasheet, REV 17.

Geneva, Switzerland: www.st.com, 2015.

[27] H96TVBox, “Android TV Box H96 Mini.”

https://www.h96tvbox.com/home/87-446-rk3228a-ram-1gb-rom-8gb- cheap-4k-smart-tv-box.html#/29-rom-8gb/35-wifi-24g5gbluetooth/36- plug_type-au_plug/42-ram-1gb (diakses Jul 09, 2021).

46

47

#VersionName:

'SupportedOrientations possible values: unspecified, landscape or portrait.

#SupportedOrientations: landscape

#CanInstallToExternalStorage: True

#End Region

#Region Activity Attributes

#FullScreen: True

#IncludeTitle: False

#BridgeLogger: True

#End Region

Sub Process_Globals

'These global variables will be declared once when the application starts.

'These variables can be accessed from all modules.

Private usbserial As felUsbSerial Private manager As UsbManager Private bc As ByteConverter Dim AStreams As AsyncStreams

Dim Socket1 As Socket

Dim tcpStream As AsyncStreams

Dim Printer1 As EscPosPrinter

Dim Version As Double = 2.0 ' Demo program version End Sub

Sub Globals

'These global variables will be redeclared each time the activity is created.

'These variables can only be accessed from this module.

'Public Caranim(121) As Bitmap

Dim Caranim(30) As Bitmap Dim gaugebmp(121) As Bitmap

Private Gauge_V As ImageView Private L_Gauge As Label Private EditText1 As EditText Private SeekBar1 As SeekBar Private Caranimasi As ImageView

Dim data As CacheCleaner

Private Level_Left As ImageView Private IN_L As Label

Private Level_Right As ImageView Private OUT_L As Label

Private ImageL0 As ImageView Private ImageL1 As ImageView Private ImageL2 As ImageView Private ImageL4 As ImageView

Dim panel_gerak As Int Private Panel_Bg As Panel

Dim inc_pgerak,delay_sebentar As Boolean Private Imagecar As ImageView

'usb

Dim usbvendor_id(8) As String Dim usbproduct_id(8) As String Dim init_Timerser As Timer Dim init_permission As Boolean Dim chek_usb As Timer

Dim alat_available As Boolean Dim ft As Boolean

Dim usbvendor_id(8) As String Dim usbproduct_id(8) As String Dim usbSerial_port As Int

Private DevSer_State As Label Private DevSerBaudRate As Label Private LPrinterSerialState As Label Private LPrinterSerialBaudR As Label Private L_state As Label

'tcp

Dim chek_tcp As Timer Dim ipTcp As String Dim portTcp=23 As Int

Dim jumlah_sumbu(7) As String Dim jenis_mobil(9) As String Dim count_sumbu=0 As Int Dim count_jenis=0 As Int Dim TStartDef(2) As Int Dim TResetDef(2) As Int

Dim pengukuran_mulai=False As Boolean

Dim carReduceMuter As Int 'view baru

'Menu input data kendaraan

Private E_Sumbu As EditText Private E_uji As EditText Private E_Nama As EditText Private E_Kend As EditText Private E_jenis As EditText Private E_merk As EditText Private Save_BT As Button Private B_Metu As Button Private PanelMenu As Panel Private PanT_Start As Panel Private PanT_Reset As Panel Private PanT_Print As Panel Private PanT_InpuData As Panel Private Panel_Standby As Panel Private Panel_Gauge As Panel Private Panel_Stop As Panel Private T_Stop As Button Private L_start As Label Private L_Reset As Label Private L_Print As Label Private L_InputData As Label Private v_no_uji As Label Private v_no_kend As Label Private v_merk As Label Private v_jenis As Label

Private v_jumlah_sumbu As Label Private v_nama_penguji As Label Private b_change_jenis As Button Private nilai_Result As Label Private ket_kondisi As Label Private Ket_Result As Label Private LButtonPrint As Label Private gaugeResult As ImageView End Sub

Sub isi_idusb

' <usb-device vendor-id="1027" product-id="24577" />

usbvendor_id(0)="1027"

usbproduct_id(0)="24577"

'

' <!-- 0x0403 / 0x6015: FTDI FT231X -->

' <usb-device vendor-id="1027" product-id="24597" />

usbvendor_id(1)="1027"

usbproduct_id(1)="24597"

'

' <!-- 0x2341 / Arduino -->

' <usb-device vendor-id="9025" />

usbvendor_id(2)="1027"

usbproduct_id(2)="24577"

'

' <!-- 0x16C0 / 0x0483: Teensyduino -->

' <usb-device vendor-id="5824" product-id="1155" />

usbvendor_id(3)="9025"

usbproduct_id(3)="0"

'

' <!-- 0x10C4 / 0xEA60: CP210x UART Bridge -->

' <usb-device vendor-id="4292" product-id="60000" />

usbvendor_id(4)="4292"

usbproduct_id(4)="60000"

'

' <!-- 0x067B / 0x2303: Prolific PL2303 -->

' <usb-device vendor-id="1659" product-id="8963" />

usbvendor_id(5)="1659"

usbproduct_id(5)="8963"

'

' <!-- 0x1a86 / 0x7523: Qinheng CH340 -->

' <usb-device vendor-id="6790" product-id="29987" />

usbvendor_id(6)="6790"

usbproduct_id(6)="29987"

End Sub

Sub Activity_Create(FirstTime As Boolean)

'Do not forget to load the layout file created with the visual designer. For example:

Activity.LoadLayout("Main") Gauge_def

isi_jenis

E_jenis.Text=jenis_mobil(0) TStartDef(0)=PanT_Start.Left TStartDef(1)=PanT_Start.Top TResetDef(0)=PanT_Reset.Left TResetDef(1)=PanT_Reset.Top TPrintDef(0)=PanT_Print.Left TPrintDef(1)=PanT_Print.Top TInputDef(0)=PanT_InpuData.Left TInputDef(1)=PanT_InpuData.Top If FirstTime Then

manager.Initialize

Printer1.Initialize(Me, "Printer1") ft=True

reset__

End If

ipTcp="192.168.31.190"

isi_idusb usb_timer_init inc_pgerak=False delay_sebentar=False panel_gerak=0

carM.Initialize("CarMT",50) carM.Enabled=True

End Sub

Sub Activity_Resume End Sub

Sub Activity_Pause (UserClosed As Boolean) If UserClosed Then

AStreams.Close Socket1.Close End If

End Sub

Sub usb_timer_init

chek_usb.Enabled=True

'chek_tcp.Initialize("initTcp",200) 'chek_tcp.Enabled=True

End Sub

Sub initTcp_Tick

If Socket1.Connected=False Then Socket1.Initialize("Socket1")

Socket1.Connect(ipTcp,portTcp,5000)' IP, Port, Timeout chek_tcp.Interval=6000

End If End Sub

Sub Socket1_Connected(connected As Boolean)As Boolean If connected = True Then

ToastMessageShow("Terkoneksi Dengan Server",True)

tcpStream.Initialize(Socket1.InputStream,Socket1.OutputStream,"tcpStream") Else

ToastMessageShow("Gagal Terkoneksi Dengan Server",True) End If

End Sub

Sub tcpStream_NewData (Buffer() As Byte) Dim DM As String

Dim DF As Double Dim DI As Int EditText1.Text=""

EditText1.Text=BytesToString(Buffer, 0, Buffer.Length, "UTF8") Log(EditText1.Text)

EditText1.SelectionStart=EditText1.Text.Length 'L_Gauge.Text=DM

If EditText1.Text.Contains("]") Then

DM=EditText1.Text.SubString2(EditText1.Text.IndexOf("[")+1,EditText1.Text .IndexOf("]"))

Log(DM) Try

DF=DM DI=DF

L_Gauge.Text=Round2(DF,1) disp_gauge(DF)

Catch

End If End Sub

Sub initSerial_Tick

If manager.GetDevices.Length >0 Then

Dim device As UsbDevice = manager.GetDevices(usbSerial_port) If manager.HasPermission(device) = True Then

usbserial.Initialize("serial", device, -1) usbserial.BaudRate = 115200

usbserial.DataBits = usbserial.DATA_BITS_8 usbserial.StartReading

init_Timerser.Enabled=False DevSer_State.Text="Ready"

End If End If

End Sub

Sub chek_usb_Tick

If manager.GetDevices.Length >0 Then Dim usbg() As UsbDevice usbg=manager.GetDevices For i=0 To usbg.Length-1

Dim usbid As UsbDevice usbid=usbg(i)

For j=0 To 6

Dim vendor_idint,product_idint As Int Dim cs As String

vendor_idint=usbvendor_id(j) product_idint=usbproduct_id(j)

If (usbid.VendorId=vendor_idint) And (usbid.ProductId=product_idint) Then

alat_available=True usbSerial_port=i End If

Next Next

Else

alat_available=False 'ft=True

If ((Socket1.Connected=False)Or(AStreams.IsInitialized=False)) Then DevSer_State.Text="No Device"

End If End If

manager.HasPermission(manager.GetDevices(usbSerial_port))=False Then Permission_add

ft=False End If

If alat_available=True And

manager.HasPermission(manager.GetDevices(usbSerial_port))=True And ft=True Then init_Timerser.Enabled=True

ft=False End If

End Sub

Sub Permission_add

init_Timerser.Enabled=True

If manager.GetDevices.Length = 0 Then Else

Dim device As UsbDevice = manager.GetDevices(usbSerial_port) 'assuming that there is exactly one device

If manager.HasPermission(device) = False Then manager.RequestPermission(device) DevSer_State.Text="Request..."

End If End If

End Sub

Private Sub serial_DataAvailable (Buffer() As Byte) ' Log("New data: " & bc.HexFromBytes(Buffer)) Dim DM As String

Dim DF As Double Dim DI As Int

If pengukuran_mulai=True Then

DM=BytesToString(Buffer, 0, Buffer.Length, "UTF8") 'L_Gauge.Text=DM

Try

DF=DM DI=DF

L_Gauge.Text=Round2(DF,1) disp_gauge(DF)

Catch

Log(LastException) End Try

End If

End Sub

Sub CarMT_Tick

Dim intstr As String

If Panel_Gauge.Visible=False Then

carReduceMuter=carReduceMuter+1 If(carReduceMuter>1) Then

carReduceMuter=0 carcount=carcount+1 If(carcount>29) Then

carcount=0 End If

If(PanelMenu.Visible=True) Then

Caranimasi.Bitmap=Caranim(carcount) End If

End If

'Caranim(carcount)

'Imagecar.Bitmap=Caranim(29) If delay_sebentar=True Then

panel_gerak=panel_gerak+1 If panel_gerak>50 Then

panel_gerak=0 delay_sebentar=False End If

End If

If(delay_sebentar=False) Then If inc_pgerak=True Then

Panel_Bg.Left=Panel_Bg.Left+0.1%x Else If inc_pgerak=False Then

Panel_Bg.Left=Panel_Bg.Left-0.1%x End If

If(Panel_Bg.Left>-5%x) Then inc_pgerak=False delay_sebentar=True End If

If(Panel_Bg.Left<-40%x) Then inc_pgerak=True delay_sebentar=True End If

End If

' EditText1.Text=intstr End If

End Sub

Sub disp_gauge(xgvalue As Double) Dim xb As Bitmap

Dim xsintstr As String Dim xsstr As String Dim nilai_gv As Double Dim vgvalue As Int

If xgvalue<0 Then

nilai_gv=((-1)*xgvalue)*(60/15) nilai_gv=60-nilai_gv

IN_L.Text=L_Gauge.Text

If(xgvalue<0) And (xgvalue>=-3) Then Level_Left.Bitmap=ImageL1.Bitmap 'L_state.TextColor=Colors.White L_state.Text="GOOD"

End If

If(xgvalue<-3) And (xgvalue>=-5) Then Level_Left.Bitmap=ImageL2.Bitmap 'L_state.TextColor=Colors.White L_state.Text="GOOD"

End If

If(xgvalue<-5) And (xgvalue>=-16) Then Level_Left.Bitmap=ImageL4.Bitmap 'L_state.TextColor=Colors.Red L_state.Text="BAD"

End If End If

If xgvalue>0 Then

nilai_gv=(xgvalue)*(60/15) nilai_gv=nilai_gv+60

OUT_L.Text=L_Gauge.Text

If(xgvalue>0) And (xgvalue<=3) Then

Level_Right.Bitmap=ImageL1.Bitmap 'L_state.TextColor=Colors.White L_state.Text="GOOD"

End If

'L_state.TextColor=Colors.White L_state.Text="GOOD"

End If

If(xgvalue>5) And (xgvalue<=16) Then Level_Right.Bitmap=ImageL4.Bitmap 'L_state.TextColor=Colors.Red

L_state.Text="BAD"

End If End If

If xgvalue=0 Then nilai_gv=60

'L_state.TextColor=Colors.White L_state.Text="GOOD"

IN_L.Text="0.0"

OUT_L.Text="0.0"

Level_Left.Bitmap=ImageL0.Bitmap Level_Right.Bitmap=ImageL0.Bitmap End If

vgvalue=nilai_gv xsintstr=vgvalue If vgvalue<10 Then

xsstr="jarum_00"&xsintstr&".png"

End If

If vgvalue>=10 And vgvalue<100 Then xsstr="jarum_0"&xsintstr&".png"

End If

If vgvalue>=100 And vgvalue<1000 Then xsstr="jarum_"&xsintstr&".png"

End If

' Level_Left.Bitmap=ImageL1.Bitmap If xgvalue<0 Then

Level_Right.Bitmap=ImageL0.Bitmap End If

If xgvalue>=0 Then

Level_Left.Bitmap=ImageL0.Bitmap End If

EditText1.Text=xsstr ' xsstr="Caranim_000.png"

xb.Initialize(File.DirAssets,xsstr)

Sub Circle_gauge(xgvalue As Double)

Dim xb As Bitmap Dim xsintstr As String Dim xsstr As String Dim xsstrout As String Dim nilai_gv As Double Dim vgvalue As Int

If xgvalue<0 Then

nilai_gv=((-1)*xgvalue)*(100/15) 'nilai_gv=100-nilai_gv

End If

If xgvalue>0 Then

nilai_gv=(xgvalue)*(100/15) 'nilai_gv=nilai_gv+100 End If

If xgvalue=0 Then nilai_gv=0 End If

'ket_kondisi.Text=nilai_gv

vgvalue=nilai_gv xsintstr=vgvalue If vgvalue<10 Then

xsstr="GaugeIn_00"&xsintstr&".png"

xsstrout="gauge_00"&xsintstr&".png"

End If

If vgvalue>=10 And vgvalue<100 Then xsstr="GaugeIn_0"&xsintstr&".png"

xsstrout="gauge_0"&xsintstr&".png"

End If

If vgvalue>=100 And vgvalue<1000 Then xsstr="GaugeIn_"&xsintstr&".png"

xsstrout="gauge_"&xsintstr&".png"

End If

' Level_Left.Bitmap=ImageL1.Bitmap If xgvalue<0 Then

If xgvalue>=0 Then

xb.Initialize(File.DirAssets,xsstrout) End If

'EditText1.Text=xsstr 'xsstr="Caranim_000.png"

'Log(xsstr)

gaugeResult.Bitmap=xb End Sub

Sub Gauge_def '1

Caranim(0).Initialize(File.DirAssets,"Caranim_000.png") '1 Caranim(1).Initialize(File.DirAssets,"Caranim_001.png") '2 Caranim(2).Initialize(File.DirAssets,"Caranim_002.png") '3 Caranim(3).Initialize(File.DirAssets,"Caranim_003.png") '4 Caranim(4).Initialize(File.DirAssets,"Caranim_004.png") '5 Caranim(5).Initialize(File.DirAssets,"Caranim_005.png") '6 Caranim(6).Initialize(File.DirAssets,"Caranim_006.png") '7 Caranim(7).Initialize(File.DirAssets,"Caranim_007.png") '8 Caranim(8).Initialize(File.DirAssets,"Caranim_008.png") '9 Caranim(9).Initialize(File.DirAssets,"Caranim_009.png") '10 '2

Caranim(10).Initialize(File.DirAssets,"Caranim_010.png") '1 Caranim(11).Initialize(File.DirAssets,"Caranim_011.png") '2 Caranim(12).Initialize(File.DirAssets,"Caranim_012.png") '3 Caranim(13).Initialize(File.DirAssets,"Caranim_013.png") '4 Caranim(14).Initialize(File.DirAssets,"Caranim_014.png") '5 Caranim(15).Initialize(File.DirAssets,"Caranim_015.png") '6 Caranim(16).Initialize(File.DirAssets,"Caranim_016.png") '7 Caranim(17).Initialize(File.DirAssets,"Caranim_017.png") '8 Caranim(18).Initialize(File.DirAssets,"Caranim_018.png") '9 Caranim(19).Initialize(File.DirAssets,"Caranim_019.png") '10 '3

Caranim(20).Initialize(File.DirAssets,"Caranim_020.png") '1 Caranim(21).Initialize(File.DirAssets,"Caranim_021.png") '2 Caranim(22).Initialize(File.DirAssets,"Caranim_022.png") '3 Caranim(23).Initialize(File.DirAssets,"Caranim_023.png") '4 Caranim(24).Initialize(File.DirAssets,"Caranim_024.png") '5 Caranim(25).Initialize(File.DirAssets,"Caranim_025.png") '6 Caranim(26).Initialize(File.DirAssets,"Caranim_026.png") '7 Caranim(27).Initialize(File.DirAssets,"Caranim_027.png") '8 Caranim(28).Initialize(File.DirAssets,"Caranim_028.png") '9

End Sub

Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean) Dim xsb As Int

Dim ssb As String

Try

xsb=Value-15 ssb=xsb

L_Gauge.Text=ssb disp_gauge(xsb) Catch

End Try End Sub

Sub nav_kiri_Click

count_sumbu=count_sumbu-1 If(count_sumbu<0) Then

count_sumbu=6 End If

E_Sumbu.Text=jumlah_sumbu(count_sumbu) End Sub

Sub nav_kanan_Click

count_sumbu=count_sumbu+1 If(count_sumbu>6) Then

count_sumbu=0 End If

E_Sumbu.Text=jumlah_sumbu(count_sumbu) End Sub

Sub B_Metu_Click

PanelMenu.Visible=False Panel_Standby.Visible=True End Sub

Sub isi_sumbu

jumlah_sumbu(0)="2-Sumbu"

jumlah_sumbu(1)="3-Sumbu"

jumlah_sumbu(2)="4-Sumbu"

jumlah_sumbu(3)="5-Sumbu"

jumlah_sumbu(4)="6-Sumbu"

End Sub

Sub isi_jenis

jenis_mobil(0)="Mobil Penumpang"

jenis_mobil(1)="Mobil Bus JBB s/d 2500 kg"

jenis_mobil(2)="Mobil Bus JBB 2501 s/d 7500 kg"

jenis_mobil(3)="Mobil Bus Barang 7501 kg keatas"

jenis_mobil(4)="Mobil Bus Barang s/d 2500 kg"

jenis_mobil(5)="Mobil Bus Barang 2501 s/d 7500 kg"

jenis_mobil(6)="Mobil Bus Barang 7501 kg keatas"

jenis_mobil(7)="Kereta Tempelan dan Kereta Gandeng"

jenis_mobil(8)="Kendaraan khusus"

End Sub

Sub PanT_Start_Touch (Action As Int, X As Float, Y As Float) PanT_Start.Left=TStartDef(0)-10

PanT_Start.Top=TStartDef(1)-10 PanT_Reset.Left=TResetDef(0) PanT_Reset.Top=TResetDef(1) PanT_Print.Left=TPrintDef(0) PanT_Print.Top=TPrintDef(1) PanT_InpuData.Left=TInputDef(0) PanT_InpuData.Top=TInputDef(1) End Sub

Sub PanT_Reset_Touch (Action As Int, X As Float, Y As Float) PanT_Reset.Left=TResetDef(0)-10

PanT_Reset.Top=TResetDef(1)-10 PanT_Start.Left=TStartDef(0) PanT_Start.Top=TStartDef(1) PanT_Print.Left=TPrintDef(0) PanT_Print.Top=TPrintDef(1) PanT_InpuData.Left=TInputDef(0) PanT_InpuData.Top=TInputDef(1) End Sub

PanT_Print.Top=TPrintDef(1)-10 PanT_Reset.Left=TResetDef(0) PanT_Reset.Top=TResetDef(1) PanT_Start.Left=TStartDef(0) PanT_Start.Top=TStartDef(1) PanT_InpuData.Left=TInputDef(0) PanT_InpuData.Top=TInputDef(1) End Sub

Sub PanT_InpuData_Touch (Action As Int, X As Float, Y As Float) PanT_InpuData.Left=TInputDef(0)-10

PanT_InpuData.Top=TInputDef(1)-10 PanT_Start.Left=TStartDef(0)

PanT_Start.Top=TStartDef(1) PanT_Reset.Left=TResetDef(0) PanT_Reset.Top=TResetDef(1) PanT_Print.Left=TPrintDef(0) PanT_Print.Top=TPrintDef(1) End Sub

Sub PanT_Start_Click

Panel_Standby.Visible=False Panel_Gauge.Visible=True End Sub

Sub PanT_InpuData_Click End Sub

Sub PanT_Print_Click End Sub

Sub PanT_Reset_Click End Sub

Panel_Stop.Visible=True Panel_Standby.Visible=False carM.Enabled=False

pengukuran_mulai=True End Sub

Sub pengukuran_stop

Panel_Gauge.Visible=False Panel_Stop.Visible=False Panel_Standby.Visible=True carM.Enabled=True

pengukuran_mulai=False End Sub

Sub T_Stop_Click pengukuran_stop

nilai_Result.Text=L_Gauge.Text Dim ketInOut As Int

ketInOut=nilai_Result.Text If(ketInOut<0) Then

ket_kondisi.Text="IN"

End If

If(ketInOut>0) Then

ket_kondisi.Text="OUT"

End If

If(ketInOut=0) Then

ket_kondisi.Text="-"

End If

Ket_Result.Text=L_state.Text Circle_gauge(ketInOut) End Sub

Sub L_InputData_Click

PanelMenu.Visible=True Panel_Standby.Visible=False End Sub

Sub L_Print_Click test_print End Sub

reset__

End Sub

Sub reset__

L_Gauge.Text="0.0"

L_state.Text=""

nilai_Result.Text="0.0"

ket_kondisi.Text="-"

Ket_Result.Text="-"

Dim xb As Bitmap

xb.Initialize(File.DirAssets,"gauge_000.png") gaugeResult.Bitmap=xb

xb.Initialize(File.DirAssets,"jarum_060.png") Gauge_V.Bitmap=xb

Level_Right.Bitmap=ImageL0.Bitmap Level_Left.Bitmap=ImageL0.Bitmap End Sub

Sub L_start_Click pengukuran_start End Sub

Sub Save_BT_Click

v_no_uji.Text=E_uji.Text v_no_kend.Text=E_Kend.Text v_merk.Text=E_merk.Text v_jenis.Text=E_jenis.Text

v_nama_penguji.Text=E_Nama.Text v_jumlah_sumbu.Text=E_Sumbu.Text End Sub

Sub b_change_jenis_Click count_jenis=count_jenis+1 If(count_jenis>8) Then

count_jenis=0 End If

E_jenis.Text=jenis_mobil(count_jenis) End Sub

Sub LButtonPrint_Click

If Printer1.IsConnected=True Then Printer1.DisConnect

LButtonPrint.Color=Colors.DarkGray

Dokumen terkait