Program Visual Basic ke PC

  Lampiran 1 Program Visual Basic ke PC

  1. Program Modul CD4040 Dim tulis As Integer Sub PC3_High() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H80000, &H80000) End Sub Sub PC3_Low() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H0, &H80000) End Sub Sub CS0() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H0, &H70000) End Sub Sub CS1() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H10000, &H70000) End Sub Sub CS2() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H20000, &H70000) End Sub Sub CS3() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H30000, &H70000) End Sub Sub CS4() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H40000, &H70000) End Sub Sub CS5()

  'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H50000, &H70000) End Sub Sub CS6() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H60000, &H70000) End Sub Sub CS7() 'Dim tulis As Integer tulis = DAPI_WriteIoPorts(hDevInstance, &H70000, &H70000) End Sub Sub Reset4040() 'CS7 'CS0 tulis = DAPI_WriteIoPorts(hDevInstance, &H0, &H8000) tulis = DAPI_WriteIoPorts(hDevInstance, &H8000, &H8000) End Sub Sub modul4() tulis = DAPI_WriteIoPorts(hDevInstance, &H4000, &H7000) End Sub Sub StartCounting() 'PC3_High tulis = DAPI_WriteIoPorts(hDevInstance, &H80000, &H80000) End Sub Sub StopCounting() 'PC3_Low tulis = DAPI_WriteIoPorts(hDevInstance, &H0, &H80000) End Sub Function ReadCounter1() Dim LsbValue As Long Dim MsbValue As Long Dim count As Long modul4 CS1 LsbValue = ReadPort And &HFF CS2 MsbValue = ReadPort And &HFF count = MsbValue * 256 + LsbValue ReadCounter1 = count CS0 End Function Function ReadCounter2() Dim LsbValue As Long Dim MsbValue As Long Dim count As Long modul4 CS3 LsbValue = ReadPort And &HFF CS4 MsbValue = ReadPort And &HFF count = MsbValue * 256 + LsbValue ReadCounter2 = count CS0 End Function Function ReadCounter3() Dim LsbValue As Long Dim MsbValue As Long Dim count As Long modul4 CS1 LsbValue = ReadPort And &HFF CS2 MsbValue = ReadPort And &HFF count = MsbValue * 256 + LsbValue

  ReadCounter3 = count CS0 End Function Function ReadCounter4() Dim LsbValue As Long Dim MsbValue As Long Dim count As Long modul4 CS3 LsbValue = ReadPort And &HFF CS4 MsbValue = ReadPort And &HFF count = MsbValue * 256 + LsbValue ReadCounter4 = count CS0 End Function

  2. program Module 2 (Code) Option Explicit Declare Function GetTickCount Lib "kernel32" () As Long Public listval(1 To 5), CardVersion, changeHscale%, MaxScale Public NewWidth, NewHeight, NewLeft, oldWidth, oldHeight, oldLeft Public ImposeWidth, ImposeHeight, SpatialWidth, SpatialHeight, SpatialLeft, ImposeLeft Public Ph2Right, Ph2Left, JiCmx, JaCmx, THALFLFT, TTWOTHIRDLFT, THALFRGHT, TTWOTHIRDRGHT Public LFile$, CFile$, ChiLog$, CMDY$, LMDY, Lnum, CurrentDate$, Cd$, Cm$, Cy$ Public Renomode%, printmode%, HospitalName$, HospitalAddress$, User$ Public PauseChn, batch, LowerChn, UperChn, UperChnx, LowerChnx Public GetSpect, Pitchy, ModPitchy, SpectM%, JisMxSave, JasMxSave Public sFile, Acquis, PeakSpect, smth, PeakCount, Simulation Public LLDx, ULDx, DDx, ddy, ChnKis(0 To 250) As Long, ChnKas(0 To 250) As Long Public ChnKic(0 To 601) As Long, ChnKac(0 To 601) As Long, ChnKics(0 To 601) As Long, ChnKacs(0 To 601) As Long, T80 As Long, T140 As Long Public RENOIDX$, LeftCol, RightCol, MaxDat, m%, UFRLFT0, UFRRGHT0, P2Left$, P2Right$, LeftMax$, RightMax$, LUpSlope$, RUpSlope$, TTWOTHIRDLeft$, TTWOTHIRDRIGHT$, THALFRIGHT$, THALFLeFT$, D12LSlope$, D12RSlope$, D23LSlope$, D23rSlope$, ZIGMALEFT, ZIGMARight, UFRLEFT$, UFRRIGHT$ Public maxpicx, maxpicy, Y0, X0, Ly, lh, Lx, Dx, Dy, ScalY, ScalX, XScale, skala As Integer Public EChannel As Integer, EWindow As Integer, LeftCounter As Integer, RightCounter As Integer, Port8255 As Integer, Port8253 As Integer Public ChnkiCmx, ChnkaCmx, ChnKiSmx, ChnKaSmx Public SimulationMode As Integer Private reader As Integer, presetcont As Integer, maxcount As Integer

  Public TNUMB$, TDate$, TDay$, CrDate$, CDay$, TTIME$, PNAME$, AGE$, Adr1$, Adr2$, SENDR$, DIAGDR$, ISOTP$, RtfSFile$ '11 Public Simuation As Integer, FirstTime%, QCp% Public LCount As Long Public RCount As Long Public EChannelUSB As Byte Public EWindowUSB As Byte 'Note CFile is Current File For Acquisition Mode 'Note SFile is Current Oppenened File For Retrieve Mode Sub Main() Dim reader As Integer Rem Inisialisasi USB PA=inp, PB=out, PC=out InitDevice OpenDevice SetConfig 1, 0, 0 Reset4040 frmcekSCA.Show End Sub

  3. Program mod UsbI2cIo API Option Explicit ' This module file contains the necessary definitions, types, and declarations for accessing the ' functions provided by the UsbI2cIo API dll. ' Global constants and enumerations definitions ' UsbI2cIo maximum devices Public Const USBI2CIO_MAX_DEVICES As Byte = 127 'Public Const USBI2CIO_DLL_NAME As String = "UsbI2cIo.dll" ' I2C transaction constants Public Const I2C_HEADER_SIZE As Byte = 6 Public Const I2C_MAX_DATA As Byte = 255 ' I2C Transaction Types Public Enum I2C_TRANS_TYPE

  I2C_TRANS_NOADR = 0 ' for I2C devices that do not use sub- addresses

  I2C_TRANS_8ADR = 1 ' for I2C devices that use 8 bit sub- addresses

  I2C_TRANS_16ADR = 2 ' for I2C devices that use 16 bit sub- addresses End Enum ' Global type definitions for UsbI2cIo API DLL (correspond to values in UsbI2cIo.h)

  Public Type Word ' provides easy access to high and low bytes of two-byte entity lo As Byte hi As Byte End Type Public Type I2C_TRANS ' I2C Transaction Structure, used to specify I2C transaction info byType As Byte ' see I2C_TRAN_TYPE enum (above) byDevId As Byte ' bits 7-1 = the I2C device ID, bit 0 is auto set/cleared by call wMemAddr As Word ' if accessing a device with sub-addressing, sub- address goes here wCount As Word ' count of bytes in Data array Data(64) As Byte ' I2C transaction data End Type Public Type DEVINFO byInstance As Byte ' instance number of device SerialId(8) As Byte ' 8 bytes Serial ID string of device and a NULL termination End Type ' Note: in Vb, the array size is 1 greater than number specified ' UsbI2cIo API DLL function declarations Declare Function DAPI_GetDllVersion Lib "UsbI2cIo.dll" () As Word 'Declare Function DAPI_GetDriverVersion Lib "UsbI2cIo.dll" () As Word 'Declare Function DAPI_GetFirmwareVersion Lib "UsbI2cIo.dll" () As Word

  Declare Function DAPI_GetDeviceCount Lib "UsbI2cIo.dll" ( _ ByVal lpsDevName As String) _ As Byte Declare Function DAPI_GetDeviceInfo Lib "UsbI2cIo.dll" ( _ ByVal lpsDevName As String, _ ByRef lpDevInfo As DEVINFO) _ As Byte Declare Function DAPI_GetSerialId Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByVal lpsSerialId As String) _ As Byte Declare Function DAPI_DetectDevice Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long) _ As Boolean Declare Function DAPI_OpenDeviceInstance Lib "UsbI2cIo.dll" ( _ ByVal lpsDevName As String, _ ByVal byDevInstance As Byte) _ As Long Declare Function DAPI_CloseDeviceInstance Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long) _ As Boolean Declare Function DAPI_OpenDeviceBySerialId Lib "UsbI2cIo.dll" ( _ ByVal lpsDevName As String, _ ByVal lpsSerialId As String) _ As Long

  Declare Function DAPI_GetIoConfig Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByRef pulIoPortData As Long) _ As Boolean Declare Function DAPI_ConfigIoPorts Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByVal ulIoPortConfig As Long) _ As Boolean Declare Function DAPI_ReadIoPorts Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByRef pulIoPortData As Long) _ As Boolean Declare Function DAPI_WriteIoPorts Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByVal ulIoPortData As Long, _ ByVal ulIoPortMask As Long) _ As Boolean Declare Function DAPI_ReadI2c Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByRef TransI2c As I2C_TRANS) _ As Long Declare Function DAPI_WriteI2c Lib "UsbI2cIo.dll" ( _ ByVal hDevInstance As Long, _ ByRef TransI2c As I2C_TRANS) _ As Long

  Declare Function DAPI_ReadDebugBuffer Lib "UsbI2cIo.dll" ( _ ByRef DebugBuf As Byte, _ ByVal hDevInstance As Long, _ ByVal ulMaxBytes As Long) _ As Long

  4. Program modWinAPI Option Explicit ' ' This module file contains definitions, types, and declarations for accessing the ' functions provided by the Windows Win32 API. ' ' Win32 API constant declarations Public Const INVALID_HANDLE_VALUE = -1 ' Win32 API function declarations Declare Function GetLastError Lib "kernel32" () As Long Declare Function DeviceIoControl Lib "kernel32" ( _ ByVal hDevice As Long, _ ByVal dwIoControlCode As Long, _ lpInBuffer As Byte, _ ByVal nInBufferSize As Long, _ lpOutBuffer As Byte, _ ByVal nOutBufferSize As Long, _ lpBytesReturned As Long, _ lpOverlapped As Long) _ As Long Declare Function WriteFile Lib "kernel32" ( _ ByVal hFile As Long, _ lpBuffer As Any, _

  ByVal nNumberOfBytesToWrite As Long, _ lpNumberOfBytesWritten As Long, _ lpOverlapped As Long) _ As Long Declare Function ReadFile Lib "kernel32" ( _ ByVal hFile As Long, _ lpBuffer As Any, _ ByVal nNumberOfBytesToRead As Long, _ lpNumberOfBytesRead As Long, _ lpOverlapped As Long) _ As Long ' Error Code Defines from API ' Code Description Name ' 0 The operation completed successfully. ERROR_SUCCESS ' 1 Incorrect function. ERROR_INVALID_FUNCTION ' 2 The system cannot find the file specified. ERROR_FILE_NOT_FOUND ' 3 The system cannot find the path specified. ERROR_PATH_NOT_FOUND ' 4 The system cannot open the file. ERROR_TOO_MANY_OPEN_FILES ' 5 Access is denied. ERROR_ACCESS_DENIED ' 6 The handle is invalid. ERROR_INVALID_HANDLE '

  5. Program cek device Option Explicit Dim sAppName As String ' Nama Aplikasi Public sDevSymName As String ' Nama simbolik USB, Contoh: "UsbI2cIo" Public byDevInstance As Byte ' Nomor device yang dipilih Public hDevInstance As Long ' handle device yg dipilih Dim bDevicePresent As Boolean ' flag yg mengindikasikan keberadaan device Sub InitDevice() sDevSymName = "UsbI2cIo" ' Nama simbolik USB sAppName = "Counter CD4040 " ' Nama Aplikasi 'Counterfrm.Caption = sAppName & " - no device" ' Caption Aplikasi byDevInstance = 255 ' initial device(255 = no device) hDevInstance = INVALID_HANDLE_VALUE ' inisialisasi file handle End Sub Sub OpenDevice() Dim I As Byte For I = 0 To 127 Step 1 If (OpenDiHandle(I)) Then ' Suksessss!!!!!!!!! Exit For End If Next I ' Memberikan Pesan Suksessss atau Gagallllll If (I = 128) Then ' Tak ada device yg terpasang Call MsgBox("No UsbI2cIo Devices were detected", vbOKOnly, "Device Open Error") Else ' Device ditemukan Simulation = 0 CardVersion = 1 byDevInstance = I 'Counterfrm.Caption = sAppName & " - " & sDevSymName & Format(i) ' Application Title Caption End If End Sub Function OpenDiHandle(byDevInstance As Byte) As Byte CloseDiHandle hDevInstance = DAPI_OpenDeviceInstance(sDevSymName, byDevInstance) If (hDevInstance <> INVALID_HANDLE_VALUE) Then OpenDiHandle = 1 Else OpenDiHandle = 0 End If End Function Sub SetConfig(PA, PB, PC) 'Output=0,Input=1 Dim Data As Long Data = (PA * 255) + (PB * 65280) + (PC * 458752) If DAPI_ConfigIoPorts(hDevInstance, Data) Then ' Pemanggilan fungsi Suksesss!!!!! Call MsgBox("Device OK", vbOKOnly, "Device Configuration OK") Else ' Gagalllll!!!!! Call MsgBox("No UsbI2cIo Devices were detected", vbOKOnly, "Device Configuration Error") End If End Sub Sub CloseDiHandle() If hDevInstance <> INVALID_HANDLE_VALUE Then If DAPI_CloseDeviceInstance(hDevInstance) Then ' Else '

  End If hDevInstance = INVALID_HANDLE_VALUE End If End Sub Function CheckDevice() As Boolean If hDevInstance = INVALID_HANDLE_VALUE Then If OpenDiHandle(byDevInstance) Then CheckDevice = True Else CheckDevice = False End If ElseIf DAPI_DetectDevice(hDevInstance) Then CheckDevice = True Else CloseDiHandle CheckDevice = False End If End Function Sub Wait(d As Integer) 'd : detik Dim CurTime As Long Dim NextTime As Long Dim DifTime As Integer CurTime = Timer Do DoEvents NextTime = Timer DifTime = NextTime - CurTime If DifTime >= d Then Exit Do End If Loop End Sub

  Function ReadPort() Dim Data As Integer Dim DataPort As Long Data = DAPI_ReadIoPorts(hDevInstance, DataPort) ReadPort = DataPort End Function Sub WriteI2cDa(I2cData As Byte, I2cAddress As Byte) Dim I2cTrans As I2C_TRANS ' Dimension an I2C_TRANS structure Dim lWritten As Long ' Dimension a long to hold the returned value Dim DevId As Integer Select Case I2cAddress Case 0: DevId = &H90 Case 1: DevId = &H92 Case 2: DevId = &H94 Case 3: DevId = &H96 Case 4: DevId = &H98 Case 5: DevId = &H9A Case 6: DevId = &H9C Case 7: DevId = &H9E End Select I2cTrans.byDevId = DevId ' PCF8591 device I2cTrans.byType = I2C_TRANS_NOADR ' device does not use sub-address

  I2cTrans.wMemAddr.hi = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wMemAddr.lo = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wCount.hi = 0 ' only writing 1 byte, so set to 0 I2cTrans.wCount.lo = 2 ' writing 2 byte, Control byte dan Data byte I2cTrans.Data(0) = &H40 'Control byte I2cTrans.Data(1) = I2cData ' the actual data that will be written to PCF8591 lWritten = DAPI_WriteI2c(hDevInstance, I2cTrans) If (lWritten = 2) Then ' function call ok Else ' function call failed Call MsgBox("Incorrect Return value", vbOKOnly, " Error calling DAPI_WriteI2C() function") End If End Sub Sub WriteI2cIo(I2cData As Byte, I2cAddress As Byte) Dim I2cTrans As I2C_TRANS ' Dimension an I2C_TRANS structure Dim lWritten As Long ' Dimension a long to hold the returned value Dim DevId As Integer Select Case I2cAddress Case 0: DevId = &H90 Case 1: DevId = &H92 Case 2: DevId = &H94 Case 3: DevId = &H96 Case 4:

  DevId = &H98 Case 5: DevId = &H9A Case 6: DevId = &H9C Case 7: DevId = &H9E End Select I2cTrans.byDevId = DevId ' PCF8574 device I2cTrans.byType = I2C_TRANS_NOADR ' device does not use sub-address I2cTrans.wMemAddr.hi = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wMemAddr.lo = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wCount.hi = 0 ' only writing 1 byte, so set to 0 I2cTrans.wCount.lo = 1 ' writing 1 byte I2cTrans.Data(0) = I2cData ' the actual data that will be written to PCF8591 lWritten = DAPI_WriteI2c(hDevInstance, I2cTrans) If (lWritten = 1) Then ' function call ok Else ' function call failed Call MsgBox("Incorrect Return value", vbOKOnly, " Error calling DAPI_WriteI2C() function") End If End Sub Function ReadI2cIo(I2cAddress As Byte) Dim I2cTrans As I2C_TRANS ' Dimension an I2C_TRANS structure Dim lRead, lWritten As Long ' Dimension a long to hold the returned value

  Dim DevId As Integer Select Case I2cAddress Case 0: DevId = &H1 Case 1: DevId = &H3 Case 2: DevId = &H5 Case 3: DevId = &H7 Case 4: DevId = &H9 Case 5: DevId = &HB Case 6: DevId = &HD Case 7: DevId = &HF End Select I2cTrans.byDevId = DevId ' PCF8574 device ID I2cTrans.byType = I2C_TRANS_NOADR ' device does not use sub- address I2cTrans.wMemAddr.hi = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wMemAddr.lo = 0 ' unused for I2C_TRANS_NOADDR I2cTrans.wCount.hi = 0 ' only reading 1 byte, so set to 0 I2cTrans.wCount.lo = 1 ' reading 1 byte, so set to 1 lRead = DAPI_ReadI2c(hDevInstance, I2cTrans) If (lRead = 1) Then ' function call ok

  ReadI2cIo = I2cTrans.Data(0) Else ' function call failed ReadI2c = 0 Call MsgBox("Incorrect Return value", vbOKOnly, " Error calling DAPI_ReadI2C() function") End If End Function

  Lampiran 3 Data Hasil Pengujian

  Tabel 1. Hasil Pengujian Energi Digital To Analog DAC 8 Bit ADDA Melalui Antarmuka I2C I/O USB Yang Diukur Dengan Menggunakan Multimeter Digital Fluke 8021B

  5

  90 97 -7 7,21

  10

  85 87 -2 2,29

  9

  67 78 -11 14,10

  8

  55 68 -13 19,11

  7

  41 58 -17 29,31

  6

  38 48 -10 20,83

  35 39 -4 10,25

  Digital Input

  4

  25 29 -4 13,79

  3

  16 19 -3 15,78

  2

  8 9 -1 11,11

  1

  0,00

  Penyimpangan (%)

  Penyim pangan (miliVolt)

  Per-hitungan (miliVolt)

  OutputAnalog (miliVolt)

  11 99 107 -8 7,47 12 109 117 -8 6,83 13 120 126 -6 4,76 14 132 136 -4 2,94 15 135 146 -11 7,53 16 145 156 -11 7,05 17 155 166 -11 6,62 18 160 175 -15 8,57 19 165 185 -20 10,81 20 168 195 -27 13,84 21 173 206 -33 16,01 22 174 214 -40 18,69 23 184 224 -40 17,85 24 193 234 -41 17,52 25 203 244 -41 16,80 26 213 253 -40 15,81 27 229 263 -34 12,92 28 232 273 -41 15,01 29 242 283 -41 14,48 30 252 292 -40 13,69 31 261 302 -41 13,57 32 271 301 -30 9,96 33 281 322 -41 12,73 34 290 332 -42 12,65 35 300 341 -41 12,02 36 310 351 -41 11,68 37 319 361 -42 11,63 38 329 371 -42 11,32 39 339 380 -41 10,78

  40 348 390 -42 10,76 41 358 400 -42 10,05 42 368 410 -42 10.,24 43 378 419 -41 9,78 44 387 429 -42 9,79 45 397 439 -42 9,56 46 406 449 -43 9,57 47 416 458 -42 9,17 48 426 468 -42 8,97 49 436 478 -42 8,78 50 445 488 -43 8,81 51 455 498 -43 8,63 52 465 507 -42 8,28 53 474 517 -43 8,31 54 484 527 -43 8,15 55 494 537 -43 8,01 56 504 546 -42 7,69 57 513 556 -43 7,73 58 523 566 -43 7,59 59 533 576 -43 7,46 60 543 585 -42 7,17 61 552 595 -43 7,22 62 562 605 -43 7,10 63 572 615 -43 6,99 64 582 625 -43 6,88 65 592 634 -42 6,62 66 601 644 -43 6,67 67 611 654 -43 6,57 68 621 664 -43 6,47 69 630 673 -43 6,38 70 640 683 -43 6,29 71 650 693 -43 6,20 72 660 703 -43 6,11 73 669 712 -43 6,03 74 679 722 -43 5,95 75 689 732 -43 5,87 76 699 742 -43 5,79 77 708 751 -43 5,72 78 718 761 -43 5,65 79 728 771 -43 5,57 80 738 781 -43 5,51 81 747 791 -44 5,56 82 757 800 -43 5,37 83 767 810 -43 5,31 84 776 820 -44 5,36 85 786 830 -44 5,30

  86 796 839 -43 5,12 87 806 849 -43 5,06 88 815 859 -44 5,12 89 825 869 -44 5,06 90 835 878 -43 4,89 91 845 888 -43 4,84 92 854 898 -44 4,89 93 864 908 -44 4,84 94 874 917 -43 4,68 95 884 927 -43 4,63 96 893 937 -44 4,69 97 903 947 -44 4,64 98 913 957 -44 4,59 99 923 966 -43 4,45

  100 932 976 -44 4,51 101 942 986 -44 4,46 102 952 996 -44 4,42 103 962 1.005 -43 4,27 104 972 1.015 -43 4,24 105 981 1.025 -44 4,29 106 991 1.035 -44 4,25 107 1.001 1.044 -43 4,11 108 1.011 1.054 -43 4,07 109 1.021 1.064 -43 4,04 110 1.030 1.074 -44 4,09 111 1.040 1.083 -43 3,97 112 1.050 1.093 -43 3,93 113 1.060 1.103 -43 3,89 114 1.070 1.113 -43 3,86 115 1.080 1.123 -43 3,82 116 1.089 1.132 -43 3,79 117 1.099 1.142 -43 3,76 118 1.109 1.152 -43 3,73 119 1.119 1.162 -43 3,70 120 1.129 1.171 -42 3,58 121 1.139 1.181 -42 3,55 122 1.149 1.191 -42 3,52 123 1.159 1.201 -42 3,49 124 1.169 1.210 -41 3,38 125 1.179 1.220 -41 3,36 126 1.189 1.230 -41 3,33 127 1.199 1.240 -41 3,30 128 1.209 1.250 -41 3,28 129 1.219 1.259 -40 3,17 130 1.228 1.269 -41 3,23 131 1.238 1.279 -41 3,20

  132 1.247 1.289 -42 3,25 133 1.257 1.298 -41 3,15 134 1.267 1.308 -41 3,13 135 1.276 1.318 -42 3,18 136 1.286 1.328 -42 3,16 137 1.295 1.337 -42 3,14 138 1.305 1.347 -42 3,11 139 1.315 1.357 -42 3,09 140 1.324 1.367 -43 3,14 141 1.334 1.376 -42 3,05 142 1.344 1.386 -42 3,03 143 1.353 1.396 -43 3,08 144 1.363 1.406 -43 3,05 145 1.373 1.416 -43 3,03 146 1.382 1.425 -43 3,01 147 1.392 1.435 -43 2,99 148 1.402 1.445 -43 2,97 149 1.411 1.455 -44 3,02 150 1.421 1.464 -43 2,93 151 1.431 1.474 -43 2,91 152 1.440 1.484 -44 2,96 153 1.450 1494 -44 2,94 154 1.460 1.503 -43 2,86 155 1.470 1.513 -43 2,84 156 1.479 1.523 -44 2,88 157 1.489 1.533 -44 2,87 158 1.499 1.542 -43 2,78 159 1.509 1.552 -43 2,77 160 1.519 1.562 -43 2,75 161 1.528 1.572 -44 2,79 162 1.538 1.582 -44 2,78 163 1.548 1.591 -43 2,70 164 1.558 1.601 -43 2,68 165 1.567 1.611 -44 2,73 166 1.577 1.621 -44 2,71 167 1.587 1.630 -43 2,63 168 1.597 1.640 -43 2,62 169 1.606 1.650 -44 2,66 170 1.616 1.660 -44 2,65 171 1.626 1.669 -43 2,57 172 1.635 1.679 -44 2,62 173 1.645 1.689 -44 2,60 174 1.655 1.699 -44 2,58 175 1.665 1.708 -43 2,51 176 1.674 1.718 -44 2,56 177 1.684 1.728 -44 2,54

  178 1.694 1.738 -44 2,53 179 1.704 1.748 -44 2,51 180 1.713 1.757 -44 2,50 181 1.723 1.767 -44 2,49 182 1.733 1.777 -44 2,47 183 1.743 1.787 -44 2,46 184 1.752 1.796 -44 2,44 185 1.762 1.806 -44 2,43 186 1.772 1.816 -44 2,42 187 1.782 1.826 -44 2,40 188 1.792 1.835 -43 2,34 189 1.802 1.845 -43 2,33 190 1.811 1.855 -44 2,37 191 1.821 1.865 -44 2,35 192 1.831 1.875 -44 2,34 193 1.841 1.884 -43 2,28 194 1.850 1.894 -44 2,32 195 1.868 1.904 -36 1,89 196 1.870 1.914 -44 2,29 197 1.879 1.923 -44 2,28 198 1.889 1.933 -44 2,27 199 1.899 1.943 -44 2,26 200 1.909 1.953 -44 2,25 201 1.918 1.962 -44 2,24 202 1.928 1.972 -44 2,23 203 1.938 1.982 -44 2,21 204 1.947 1.992 -45 2,25 205 1.957 2.001 -44 2,19 206 1.967 2.011 -44 2,18 207 1.977 2.021 -44 2,17 208 1.986 2.031 -45 2,21 209 1.996 2.041 -45 2,20 210 2.006 2.050 -44 2,14 211 2.015 2.060 -45 2,18 212 2.025 2.070 -45 2,7 213 2.035 2.080 -45 2,16 214 2.045 2.089 -44 2,11 215 2.054 2.099 -45 2,14 216 2.064 2.109 -45 2,13 217 2.074 2.119 -45 2,12 218 2.084 2.128 -44 2,06 219 2.094 2.138 -44 2,06 220 2.103 2.148 -45 2,09 221 2.113 2.158 -45 2,08 222 2.123 2.167 -44 2,03 223 2.132 2.177 -45 2,06

  224 2.142 2.187 -45 2,05 225 2.152 2.197 -45 2,04 226 2.162 2.207 -45 2,03 227 2.171 2.216 -45 2,03 228 2.181 2.226 -45 2,02 229 2.191 2.236 -45 2,01 230 2.200 2.240 -40 1,78 231 2.210 2.255 -45 1,50 232 2.220 2.265 -45 1,98 233 2.230 2.275 -45 1,97 234 2.240 2.285 -45 1,96 235 2.250 2.294 -44 1,91 236 2.259 2.304 -45 1,95 237 2.269 2.314 -45 1,94 238 2.279 2.324 -45 1,93 239 2.289 2.333 -44 1,88 240 2.298 2.343 -45 1,92 241 2.308 2.353 -45 1,91 242 2.318 3.363 -45 1,07 243 2.328 2.373 -45 1,89 244 2.337 2.382 -45 1,88 245 2.347 2.392 -45 1,88 246 2.357 2.402 -45 1,87 247 2.367 2.412 -45 1,86 248 2.376 2.421 -45 1,85 249 2.386 2.431 -45 1,85 250 2.396 2.441 -45 1,84 251 2.406 2.451 -45 1,83 252 2.416 2.460 -44 1,78 253 2.425 2.470 -45 1,82 254 2.435 2.480 -45 1,81 255 2.445 2.490 -45 1,81

  Penyimpangan Rata

  • – Rata 5,07

  Tabel 2 Hasil Pengujian Energi Digital To Analog DAC 8 Bit ADDA Melalui Antarmuka I2C I/O USB Yang Diukur Dengan Menggunakan Multimeter Digital Fluke 8021B

  Digital Input

  OutputAnalog (miliVolt)

  Per-hitungan (miliVolt)

  Penyim pangan (miliVolt)

  Penyimpangan (%)

  1

  7 9 -2 22,22

  2

  17 19 -2 10,52

  3

  27 29 -2 6,89

  4

  9

  13 90 126 -36 28,57

  12 81 117 -36 30,76

  11 71 107 -36 33,64

  77 97 -20 20,62

  10

  73 87 -14 16,09

  64 78 -14 17,94

  33 39 -6 15,38

  8

  56 68 -12 17,65

  7

  48 58 -10 17,24

  6

  40 48 -8 16, 67

  5

  14 99 136 -37 27,20 15 109 146 -37 25,34 16 118 156 -38 24,35 17 128 166 -38 22,89 18 138 175 -37 21,14 19 147 185 -38 20,54 20 157 195 -38 19,48 21 167 206 -39 18,93 22 176 214 -38 17,75 23 186 224 -38 16,96 24 196 234 -38 16,23 25 205 244 -39 15,98 26 215 253 -38 15,01 27 225 263 -38 14,44 28 235 273 -38 13,91 29 245 283 -38 13,42 30 255 292 -37 12,67 31 264 302 -38 12,58 32 274 301 -27 8,97 33 284 322 -38 11,80 34 293 332 -39 11,74 35 303 341 -38 11,14 36 313 351 -38 10,82 37 323 361 -38 10,52 38 332 371 -39 10,51 39 342 380 -38 10,00 40 352 390 -38 9,74 41 362 400 -38 9,50 42 372 410 -38 9,26 43 381 419 -38 9,06 44 391 429 -38 8,85 45 401 439 -38 8,65 46 411 449 -38 8,46 47 421 458 -37 8,07 48 431 468 -37 7,90 49 440 478 -38 7,94

  50 450 488 -38 7,78 51 460 498 -38 7,63 52 470 507 -37 7,29 53 479 517 -38 7,35 54 489 527 -38 7,21 55 499 537 -38 7,07 56 509 546 -37 6,77 57 518 556 -38 6,83 58 528 566 -38 6,71 59 548 576 -38 6,59 60 557 585 -38 6,49 61 567 595 -28 4,71 62 575 605 -30 4,95 63 577 615 -38 6,17 64 587 625 -38 6,08 65 597 634 -37 5,83 66 606 644 -38 5,90 67 616 654 -38 5,81 68 626 664 -38 5,22 69 636 673 -37 5,49 70 645 683 -38 5,56 71 655 693 -38 5,48 72 665 703 -38 5,41 73 675 712 -37 5,19 74 684 722 -38 5,26 75 694 732 -38 5,19 76 704 742 -38 5,12 77 714 751 -37 4,92 78 724 761 -37 4,86 79 734 771 -37 4,79 80 744 781 -37 4,73 81 753 791 -38 4,80 82 763 800 -37 4,62 83 773 810 -37 4,56 84 783 820 -37 4,51 85 793 830 -37 4,45 86 802 839 -37 4,41 87 812 849 -37 4,35 88 822 859 -37 4,31 89 832 869 -37 4,25 90 841 878 -37 4,21 91 851 888 -37 4,16 92 861 898 -37 4,12 93 871 908 -37 4,07 94 881 917 -36 3,92 95 890 927 -37 3,99

  96 900 937 -37 3,94 97 910 947 -37 3,91 98 920 957 -37 3,86 99 930 966 -36 3,72

  100 939 976 -37 3,79 101 949 986 -37 3,75 102 959 996 -37 3,71 103 969 1.005 -36 3,58 104 979 1.015 -36 3,54 105 988 1.025 -37 3,61 106 998 1.035 -37 3,57 107 1.008 1.044 -36 3,44 108 1.018 1.054 -36 3,41 109 1.028 1.064 -36 3,38 110 1.037 1.074 -37 3,44 111 1.047 1.083 -36 3,32 112 1.057 1.093 -36 3,29 113 1.067 1.103 -36 3,26 114 1.077 1.113 -36 3,23 115 1.087 1.123 -36 3,21 116 1.097 1.132 -35 3,09 117 1.107 1.142 -35 3,06 118 1.117 1.152 -35 3,03 119 1.127 1.162 -35 3,01 120 1.137 1.171 -34 2,90 121 1.146 1.181 -35 2,96 122 1.156 1.191 -35 2,93 123 1.166 1.201 -35 2,91 124 1.176 1.210 -34 2,81 125 1.186 1.220 -34 2,78 126 1.196 1.230 -34 2,76 127 1.206 1.240 -34 2,74 128 1.216 1.250 -34 2,72 129 1.226 1.259 -33 2,62 130 1.236 1.269 -33 2,60 131 1.245 1.279 -34 2,65 132 1.255 1.289 -34 2,64 133 1.264 1.298 -34 2,62 134 1.274 1.308 -34 2,59 135 1.284 1.318 -34 2,57 136 1.294 1.328 -34 2,56 137 1.303 1.337 -34 2,54 138 1.313 1.347 -34 2,52 139 1.322 1.357 -35 2,57 140 1.332 1.367 -35 2,56 141 1.342 1.376 -34 2,47

  142 1.352 1.386 -34 2,45 143 1.361 1.396 -35 2,51 144 1.371 1.406 -35 2,48 145 1.380 1.416 -36 2,54 146 1.390 1.425 -35 2,45 147 1.400 1.435 -35 2,43 148 1.410 1.445 -35 2,42 149 1.419 1.455 -36 2,47 150 1.429 1.464 -35 2,39 151 1.439 1.474 -35 2,37 152 1.449 1.484 -35 2,35 153 1.458 1494 -36 2,41 154 1.468 1.503 -35 2,32 155 1.478 1.513 -35 2,31 156 1.488 1.523 -35 2,29 157 1.498 1.533 -35 2,28 158 1.507 1.542 -35 2,26 159 1.517 1.552 -35 2,25 160 1.527 1.562 -35 2,24 161 1.537 1.572 -35 2,22 162 1.546 1.582 -36 2,27 163 1.556 1.591 -35 2,19 164 1566 1.601 -35 2,18 165 1.576 1.611 -35 2,17 166 1.586 1.621 -35 2,15 167 1.596 1.630 -34 2,08 168 1.606 1.640 -34 2,07 169 1.615 1.650 -35 2,12 170 1.625 1.660 -35 2,11 171 1.635 1.669 -34 2,03 172 1.645 1.679 -34 2,02 173 1.655 1.689 -34 2,01 174 1.664 1.699 -35 2,06 175 1.674 1.708 -34 1,99 176 1.684 1.718 -34 1,97 177 1.694 1.728 -34 1,96 178 1.703 1.738 -35 2,01 179 1.713 1.748 -35 2,00 180 1.723 1.757 -34 1,93 181 1.733 1.767 -34 1,92 182 1.743 1.777 -34 1,91 183 1.752 1.787 -35 1,95 184 1.762 1.796 -34 1,89 185 1.772 1.806 -34 1,88 186 1.782 1.816 -34 1,87 187 1.791 1.826 -35 1,92

  188 1.801 1.835 -34 1,85 189 1.811 1.845 -35 1,89 190 1.821 1.855 -34 1,83 191 1.831 1.865 -34 1,82 192 1.840 1.875 -35 1,86 193 1.850 1.884 -34 1,80 194 1.860 1.894 -34 1,79 195 1.870 1.904 -34 1,78 196 1.880 1.914 -34 1,77 197 1.889 1.923 -34 1,76 198 1.899 1.933 -34 1,75 199 1.909 1.943 -34 1,74 200 1.918 1.953 -35 1,79 201 1.928 1.962 -34 1,73 202 1.938 1.972 -34 1,72 203 1.948 1.982 -34 1,71 204 1.957 1.992 -35 1,75 205 1.967 2.001 -34 1,69 206 1.977 2.011 -34 1,69 207 1.986 2.021 -35 1,73 208 1.996 2.031 -35 1,72 209 2.006 2.041 -35 1,71 210 2.016 2.050 -34 1,65 211 2.026 2.060 -34 1,65 212 2.035 2.070 -35 1,69 213 2.045 2.080 -35 1,68 214 2.055 2.089 -34 1,62 215 2.065 2.099 -34 1,62 216 2.075 2.109 -34 1,61 217 2.084 2.119 -35 1,65 218 2.094 2.128 -34 1,59 219 2.104 2.138 -34 1,59 220 2.114 2.148 -34 1,58 221 2.124 2.158 -34 1,57 222 2.133 2.167 -34 1,56 223 2.143 2.177 -34 1,56 224 2.153 2.187 -34 1,55 225 2.163 2.197 -34 1,54 226 2.172 2.207 -35 1,58 227 2.182 2.216 -34 1,53 228 2.192 2.226 -34 1,52 229 2.202 2.236 -34 1,52 230 2.211 2.240 -29 1,29 231 2.221 2.255 -34 1,51 232 2.231 2.265 -34 1,50 233 2.241 2.275 -34 1,49

  Penyimpangan Rata

  234 2.250 2.285 -35 1,53 235 2.260 2.294 -34 1,48 236 2.270 2.304 -34 1,47 237 2.279 2.314 -35 1,51 238 2.289 2.324 -35 1,51 239 2.299 2.333 -34 1,45 240 2.308 2.343 -35 1,49 241 2.318 2.353 -35 1,48 242 2.328 3.363 -35 1,04 243 2.338 2.373 -35 1,47 244 2.348 2.382 -34 1,42 245 2.357 2.392 -35 1,46 246 2.367 2.402 -35 1,45 247 2.377 2.412 -35 1,45 248 2.387 2.421 -34 1,40 249 2.396 2.431 -35 1,43 250 2.406 2.441 -35 1,43 251 2.416 2.451 -35 1,42 252 2.426 2.460 -34 1,38 253 2.436 2.470 -34 1,37 254 2.446 2.480 -34 1,37 255 2.455 2.490 -35 1,41

  5,22

  • – rata
  • – Rata (cacah/1

  Tabel 3 Hasil Pengujian Counter No Input

  0.51 22 717 10 7170 7112 7127 7119.5

  9

  90 10 900 887 892 889.5

  1.16 10 100 10 1000 1044 998 1021.0

  2.10 11 150 10 1500 1499 1494 1496.5

  0.23 12 200 10 2000 2014 1984 1999.0

  0.05 13 250 10 2500 2500 2475 2487.5

  0.50 14 300 10 3000 3001 2985 2993.0

  0.23 15 350 10 3500 3502 3484 3493.0

  0.20 16 400 10 4000 4025 3975 4000.0

  0.00 17 500 10 5000 4462 4967 4714.5

  5.71 18 600 10 6000 5949 5966 5957.5

  0.71 19 625 10 6250 6198 6220 6209.0

  0.65 20 675 10 6750 6694 6743 6718.5

  0.47 21 701 10 7010 6987 6962 6974.5

  0.70 23 737 10 7370 7334 7325 7329.5

  80 10 800 801 801 801.0

  0.48 32 4212 10 42120 41966 41829 41897.5

  0.33 38 6000 10 60000 60148 59955 60051.5

  0.09 37 5000 10 50000 49641 50026 49833.5

  0.29 36 4500 10 45000 44990 44922 44956.0

  0.17 35 4400 10 44000 43707 44036 43871.5

  0.19 34 4350 10 43500 43398 43450 43424.0

  0.52 33 4325 10 43250 43501 43165 43333.0

  0.34 31 4008 10 40080 39726 40047 39886.5

  0.54 24 800 10 8000 8188 7952 8070.0

  0.07 30 3770 10 37700 37666 37479 37572.5

  0.07 29 3673 10 36730 36695 36711 36703.0

  0.62 28 3470 10 34700 34587 34761 34674.0

  0.45 27 1000 10 10000 9922 9954 9938.0

  0.65 26 900 10 9000 8976 8943 8959.5

  0.87 25 820 10 8200 8128 8165 8146.5

  0.12

  8

  PG (Hz)

  2

  (caca h/deti k)

  Waktu Cacah

  (s) Cacah

  Teori Counter kanan

  (cacah/1 0detik)

  Counte r Kiri (cacah/

  10 detik) Cacah Rata

  0detik) Penyim pangan

  (%)

  1

  10 10 100 103

  90

  95

  5.00

  20 10 200 205 211 208.0

  0.60

  50 10 500 497 493 495.5

  70 10 700 696 695 695.5

  7

  1.80

  60 10 600 599 579 589.0

  6

  0.90

  5

  4.00

  2.50

  40 10 400 401 401 401.0

  4

  1.90

  30 10 300 304 285 294.5

  3

  0.08

  0.09 Rata

  39 6500 10 65000 64849 65272 65060.5

  • – rata Penyimpangan (%) 1.13