Cara Agar Baterai Laptop Awet

Jumat, Juni 07, 2013

Cara bikin baterai laptop awet memang banyak cara tapi sebenarnya penyebab baterai laptop rusak biasanya karena faktor panas dan listrik. Kali ini saya akan sedikit memberikan sedikit tips agar baterai laptop awet. Walau sederhana tapi mungkin bagi sebagian orang akan membuat pusing. Dan disinilah intinya, membuat pusing orang wkwkwk.

Sudah saya singgung tadi agar baterai laptop awet itu paling tidak di hindarkan dari faktor panas dan listrik. Nah sebenarnya semuanya berhubungan dengan hardware namun mungkin listrik bisa kita akali dengan membuat pesan. Namun nantinya kita juga yang harus bertindak secara manual karena memang ini sederhana saja. Kalau lebih komplek mungkin sudah memakai relay atau microcontroller mungkin, klo itu saya nyerah deh ndak mudeng asembly coding bahasa c wkwwkkw.

Untuk kali ini kita melanjutkan dalam belajar visual basic 6. 0. Walau mungkin kode yang akan saya share agak sedikit rumit, untuk pemula seperti saya. Kalau saya hanya copas kode nyantai saja wkwkw. Untuk kali ini melanjutkan belajar akan ada kode untuk tips agar baterai laptop awet. Disini kita akan berusaha membuat pesan jika baterai full atau low. Walau mungkin diantara kita sendiripun sudah tidak asing dengan notifikasi bawaan windows yang akan muncul di status bar. Tapi sebagai pelajaran buat kita, alangkah senangnya jika kita bisa membuat sendiri notifikasinya sesuai yang kita inginkan.

Cara bikin baterai laptop awet

Mari kita berlanjut untuk mempelajari kode membuat notifikasi baterai dan berkarya sendiri sebagai cara supaya baterai laptop awet. Perhatikan code di bawah ini.

  1. Option Explicit
  2. Const KEYEVENTF_KEYUP = &H2
  3. Const VK_LWIN = &H5B
  4. Private Type SYSTEM_POWER_STATUS
  5. ACLineStatus As Byte
  6. BatteryFlag As Byte
  7. BatteryLifePercent As Byte
  8. Reserved1 As Byte
  9. BatteryLifeTime As Long
  10. BatteryFullLifeTime As Long
  11. End Type
  12. Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
  13. Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
  14. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  15. Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

Terdapat beberapa deklarasi WIN API yang akan kita gunakan untuk membuat aplikasi deteksi isi baterai di VB. Tidak usah kita bahas saja karena saya sendiri juga ndak ngerti wkwwk. Tapi sebenarnya klo mau teliti dan mengerti kegunaannya banyak yang sudah membahasnya. Dan untuk mengambil bisa menggunakan API Text Viewer bawaan Visual Studio 6.

  1. Sub minimizeALL()
  2. Call keybd_event(VK_LWIN, 0, 0, 0)
  3. Call keybd_event(77, 0, 0, 0)
  4. Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
  5. End Sub

Disini saya mengcopy kode minimize vb. Kode ini dugunakan untuk meminimize semua window yang dan hanya untuk menampilkan dekstop. Ini lebih memanfaatkan aksi key code dari keyboard untuk aksinya yaitu key Win sama Key D.

  1. Private Sub WAIT(ByVal lMilliSec As Long)
  2. WaitForSingleObject GetCurrentProcess, lMilliSec
  3. DoEvents
  4. End Sub

Lanjut lagi saya mengcopy sebuak kode vb pewaktu. Bisa di bilang sederhananya isi kjode ini juga menghitung selisih waktu vb6. Untuk penghitungan waktu yang dilakukan dihitung dalam mili detik. Hal ini supaya aksi lebih tepat sesuai keinginan daripada di hitung dengan menit atau jam malah :D.

Beberapa fungsi untuk mendukung pembuatan deteksi baterai laptop dengan VB 6.0 telah saya copykan. Selanjutnya kode utama dan yang paling penting dalam proses pendeteksian isi baterai laptop akan saya copykan seperti berikut

  1. Sub Main()
  2. Dim ask As Boolean
  3. Dim sps As SYSTEM_POWER_STATUS
  4. ask = True
  5. Do
  6. GetSystemPowerStatus sps
  7. If sps.ACLineStatus = 1 Then ask = True
  8. If (sps.BatteryLifePercent = 100) And (sps.ACLineStatus = 1) Then
  9. Call minimizeALL
  10. MsgBox "Lepaskan charger...! " & vbCrLf & "Isi baterai sudah mencapai " & sps.BatteryLifePercent & "%, maka buruan lepas charger", vbExclamation + vbOKOnly + vbSystemModal, "Peringatan Baterai! Full"
  11. End If
  12. If sps.BatteryLifePercent <= 5 And sps.ACLineStatus = 0 And ask = True Then
  13. Call minimizeALL
  14. MsgBox "Tolong segera charge...! " & vbCrLf & "Isi baterai tinggal " & sps.BatteryLifePercent & "% silahkan di charge", vbExclamation + vbOKOnly + vbSystemModal, "Peringatan Battery! Low"
  15. ask = False
  16. End If
  17. WAIT 1000
  18. Loop
  19. End Sub

Sebenarnya ada beberapa kode diatas yang perlu saya bahas. namun untuk awalnya lebih baik biar belajar sendiri apa maksudnya ( #alibi wong saya ndak mudeng maksudnya juga , cuman sekedar copas :D ). Kalau sudah paham semua untuk yang sudah ngerti VB silahkan copy semua code di atas dalam sebuah modul. Terserah akan di namai apa modul tersebut.

Untuk melanjutkan aksi yang dilakukan adalah mengganti icon aplikasi vb tersebut. Kan jadi ndak enak juga jika masih menggunakan icon standar vb. Penggantian ini dilakukan di form1. Untuk pemanggilan fungsi inipun bisa dilakukan dari fungsi main di properti aplikasi. Atay pemanggilan dari form1. Kalau yang kepingin memanggil fungsi main dari foem satu kodenya sebagai berikut

  1. Private Sub Form_Load()
  2. Main
  3. End Sub

Sudah semua code vb buat deteksi isi baterai laptop saya copykan. Nah saatnya anda mencobanya sendiri. Pokoknya dala project kali ini memerlukan 1 Form dan 1 Module. Namun anda bisa berkreasi sendiri silahkan semaunya. Itu tadi cara membuat baterai laptop awet bagi sorang programmer newbie seperti saya yang masih kepingin mencoba coba sendiri.

Komentar Cara Agar Baterai Laptop Awet

Jangan menaruh live link dikomentar dan sampai saat ini baru 1 komentar untuk update Cara Agar Baterai Laptop Awet dengan id 8457276401965023769.

muhammad farhan

kebetulan nih sob, saya baru beli sony vaio sv13133cv, tapi baterainya cuma tahan 6 jam ;(, jadi ane butuh solusi, oh iya salam dari www.tuliskan.com

1/7/13 15:29