Grafik Penggunaan RAM dan CPU Dengan VB6

Kali ini Admin akan berbagi sebuah kode untuk membuat sebuah Grafik yang menampilkan status penggunaan RAM dan CPU menggunakan VB6.

Output


Untuk membuatnya ikuti langkah-langkah dibawah ini :

1. Buka Form VB6 Anda dengan Standar EXE

2. Tempatkan 1 Control Timer, 2 Label dan 2 PictureBox

3. Desain Form seperti gambar dibawah ini :

Desain Form

4. Kemudian ketikan kode dibawah ini :

Option Explicit
Private Declare Function GetSystemTimes Lib "kernel32.dll" (ByRef lpIdleTime As Currency, ByRef lpKernelTime As Currency, ByRef lpUserTime As Currency) As Long
Private Type MEMORYSTATUSEX
    dwLength As Long
    dwMemoryLoad As Long
    ullTotalPhys As Currency
    ullAvailPhys As Currency
    ullTotalPageFile As Currency
    ullAvailPageFile As Currency
    ullTotalVirtual As Currency
    ullAvailVirtual As Currency
    ullAvailExtendedVirtual As Currency
End Type
Private Declare Function GlobalMemoryStatusEx Lib "kernel32" (ByRef lpBuffer As MEMORYSTATUSEX) As Long
Dim prevIdleTime As Currency
Dim prevKernelTime As Currency
Dim prevUserTime As Currency

Private Function GetCPUUsage() As Integer
    Dim idleTime As Currency, kernelTime As Currency, userTime As Currency
    Dim sysIdle As Double, sysKernel As Double, sysUser As Double
    Dim cpuUsage As Double

    If GetSystemTimes(idleTime, kernelTime, userTime) Then
        sysIdle = idleTime - prevIdleTime
        sysKernel = kernelTime - prevKernelTime
        sysUser = userTime - prevUserTime

        If (sysKernel + sysUser) <> 0 Then
            cpuUsage = (1 - (sysIdle / (sysKernel + sysUser))) * 100
        Else
            cpuUsage = 0
        End If

        prevIdleTime = idleTime
        prevKernelTime = kernelTime
        prevUserTime = userTime
    Else
        cpuUsage = 0
    End If

    GetCPUUsage = CInt(cpuUsage)
End Function
Private Function GetRAMUsage() As Integer
    Dim memStatus As MEMORYSTATUSEX
    memStatus.dwLength = Len(memStatus)

    If GlobalMemoryStatusEx(memStatus) Then
        GetRAMUsage = memStatus.dwMemoryLoad
    Else
        GetRAMUsage = 0
    End If
End Function
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
    Dim cpuUsage As Integer
    Dim ramUsage As Integer

    ' Ambil nilai CPU & RAM
    cpuUsage = GetCPUUsage()
    ramUsage = GetRAMUsage()

    ' Tampilkan angka CPU & RAM
    Label1.Caption = "CPU: " & cpuUsage & "%"
    Label2.Caption = "RAM: " & ramUsage & "%"

    ' Gambar grafik
    DrawGraph Picture1, cpuUsage, RGB(255, 0, 0) ' Grafik CPU warna merah
    DrawGraph Picture2, ramUsage, RGB(0, 0, 255) ' Grafik RAM warna biru
End Sub
Private Sub DrawGraph(pic As PictureBox, value As Integer, color As Long)
    Static values(100) As Integer
    Dim i As Integer

    ' Geser data ke kiri untuk efek scrolling
    For i = 1 To 99
        values(i - 1) = values(i)
    Next i
    values(99) = value

    ' Bersihkan dan gambar ulang grafik
    pic.Cls
    pic.ForeColor = color

    ' Gambar garis dari data sebelumnya
    For i = 1 To 99
        pic.Line (i * 3, pic.ScaleHeight - values(i - 1) * (pic.ScaleHeight / 100))- _
                ((i + 1) * 3, pic.ScaleHeight - values(i) * (pic.ScaleHeight / 100))
    Next i
End Sub

Setelah mengetikan kode seperti diatas, jalankan project Anda,

No comments: