Jumat, 25 November 2011

Defragmentasi Otak


Diskusi masalah kecerdasan manusia, tentu tidak bisa tanpa menyinggung masalah otak manusia, karena disini awal segala kisruhnya. Kapasitas otak manusia sangat besar, bahkan ada yang menyebut tidak terbatas. Hanya sayangnya orang biasanya hanya menggunakan 1% dari otaknya, sedangkan orang jenius berhasil menggunakan 4-5% otaknya. Lha kok bisa? Dan bagaimana supaya kita juga bisa jadi cerdas? Ikuti terus tulisan ini.

Otak manusia tersusun dari neuron-neuron yang jumlah totalnya mencapai 1 trilyun. Walaupun kecil, konon kabarnya satu neuron itu memiliki kecepatan pemrosesan yang setara dengan satu unit komputer. Adam Kho lewat bukunya “I am Gifted, So Are You” mengatakan bahwa otak itu apabila dituliskan dalam bentuk digital akan menjadi tulisan sepanjang 10.5 juta kilometer. Ketika jarak terjauh bumi dan bulan itu sekitar 406.720 km, maka kapasitas otak kita setara dengan 25 kali perjalanan dari bumi ke bulan. Tambahan informasi lagi, dari buku Super Great Memori dikatakan bahwa, jika setiap detik dimasukkan 10 informasi kedalam otak kita sampai 100 tahun, maka otak manusia masih belum terisi separuhnya. Ada beberapa peneliti yang mencoba mengkuantifikasi kapasitas otak, ada yang menyebut 3 terabyte, dan ada juga yang menyebut mencapai 1000 terabyte.
Sedemikian dahsyatnya kapasitas otak kita, tapi sayangnya kita hanya menggunakan kurang dari 1%nya. Dan orang jenius seperti Albert Einstein, konon kabarnya juga hanya menggunakan 5% dari seluruh kapasitas otaknya.
Artinya apa? Manusia memiliki kapasitas otak yang sama, yang implikasinya adalah sebenarnya kita semua memiliki daya tangkap terhadap suatu materi pembelajaran sama. Dan tidak ada manusia bodoh di muka bumi ini!
Lha kok, tapi di kelas ada yang cerdas dan ada yang tidak? Itu karena sistem retrieval (pencarian kembali) manusia berbeda-beda. Orang yang cerdas itu adalah orang yang memiliki sistem retrieval yang baik. Seperti sebelumnya saya sebutkan diatas, kapasitas otak manusia mungkin mencapai 1000 terabyte, bayangkan seandainya laptop kita berkapasitas 1000 terabyte, pasti lambat melakukan pencarian file, apalagi kalau letak fisik filenya tidak tertata dengan baik alias terpecah-pecah di berbagai tempat dalam harddisk kita.
Trus gimana caranya supaya sistem retrievalnya bagus? Ada banyak cara komputasi yang bisa dilakukan, paling tidak untuk mengatasi informasi yang tidak tertata dengan baik, kita menggunakan tool defragmenter. Defragmentasi? ya, lakukan defragmentasi pada otakmu!
Sebagai catatan, kata wikipedia, defragmentasi adalah sebuah proses untuk menangani berkas-berkas yang mengalami fragmentasi internal. Sebuah berkas dikatakan terfragmentasi mana kala berkas tersebut tidak menempati ruangan yang saling berdekatan dalam penyimpanan fisik. Fragmentasi dapat menyebabkan subsistem media penyimpanan melakukan operasi pencarian data yang lebih banyak, sehingga dengan kata lain berkas terfragmentasi dapat memperlambat kerja sistem, khususnya pada saat melakukan operasi yang berkaitan dengan media penyimpanan.
Jadi ketika kita menerima materi pelajaran, sebenarnya kita semua berhasil menangkap semua yang diajarkan oleh guru atau dosen kita. Namun ada yang kita simpan di bumi dan ada yang terlempar di bulan, inilah yang disebut dengan fragmentasi itu.
Trus gimana caranya supaya kita bisa mendefragmentasi otak kita? Caranya adalah dengan mengulang-ulangi pelajaran. Mengulang-ulang pelajaran, itu sama saja dengan menarik materi yang terlempar di bulan tadi supaya mendekat ke bumi, sehingga lebih cepat ketika kita mencari kembali. Dan ini sesuai dengan yang dikatakan Adam Kho, bahwa orang yang cerdas adalah orang yang neuron-neuronnya saling tersambung (neuron-connection). Semakin banyak hubungan antarneuron, maka semakin cerdas kita dalam suatu bidang. Kecerdasan itu bisa kita latih!
Sayapun tidak terlahir secara default sebagai orang cerdas, masa TK-SD saya pernah mengalami kendala sulit membedakan huruf b dan d. Sampai ada satu ungkapan guru saya yang masih saya ingat sampai sekarang, “Rom, b itu yang bokong(pantat)nya dibelakang, dan d itu yang bokongnya di depan“. Ada juga guru yang menyebut saya terkena disleksia kompleks, plus ditambahi dengan anak yang suram masa depannya hehehe sempurna deh :)
Jadi? Kalau saya yang disleksia kompleks saja bisa, kenapa anda tidak? :)
Wahai pedjoeangku, ulang-ulangi pelajaran, banyak mencoba, banyak membaca, banyak berlatih, telani satu persatu hal yang belum kamu pahami, hubungkan neuron-neuronmu, maka kecerdasan akan mengikutimu …

Bahasan diatas saya ambil dari http://romisatriawahono.net/2009/08/10/defragmentasi-otak/ semoga bermanfaat bagi kita.

Mengganti Wallpaper dan Mengosongkan Recyle Bin dari Visual Basic 6.0

Berikut aplikasi untuk mengganti Wallpaper dan Mengosongkan isi Recyle Bin dari aplikasi Visual Basic 6.0. Langsung saja buat project baru dari Visual Basic 6 dan atur tampilan formnya seperti di bawah ini.


Isikan perintah berikut pada area '(General)'

Option Explicit

Private Const SPIF_UPDATEINIFILE = &H1
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_SENDWININICHANGE = &H2

Private Declare Function SystemParametersInfo Lib "user32" Alias _
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Public Enum REG_TOPLEVEL_KEYS
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_CONFIG = &H80000005
HKEY_CURRENT_USER = &H80000001
HKEY_DYN_DATA = &H80000006
HKEY_LOCAL_MACHINE = &H80000002
HKEY_PERFORMANCE_DATA = &H80000004
HKEY_USERS = &H80000003
End Enum

Private Declare Function RegCreateKey Lib _
"advapi32.dll" Alias "RegCreateKeyA" _
(ByVal Hkey As Long, ByVal lpSubKey As _
String, phkResult As Long) As Long

Private Declare Function RegCloseKey Lib _
"advapi32.dll" (ByVal Hkey As Long) As Long

Private Declare Function RegSetValueEx Lib _
"advapi32.dll" Alias "RegSetValueExA" _
(ByVal Hkey As Long, ByVal _
lpValueName As String, ByVal _
Reserved As Long, ByVal dwType _
As Long, lpData As Any, ByVal _
cbData As Long) As Long

Private Const REG_SZ = 1

'Recyle Bin
Const SHERB_NOCONFIRMATION = &H1
Const SHERB_NOPROGRESSUI = &H2
Const SHERB_NOSOUND = &H4
Private Type ULARGE_INTEGER
LowPart As Long
HighPart As Long
End Type
Private Type SHQUERYRBINFO
cbSize As Long
i64Size As ULARGE_INTEGER
i64NumItems As ULARGE_INTEGER
End Type
Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long
Private Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long
Private Declare Function SHQueryRecycleBin Lib "shell32.dll" Alias "SHQueryRecycleBinA" (ByVal pszRootPath As String, pSHQueryRBInfo As SHQUERYRBINFO) As Long

Public Function ChangeWallPaper(ImageFile As String, Tile As Boolean)
Dim lRet As Long
On Error Resume Next

If Tile Then WriteStringToRegistry HKEY_CURRENT_USER, _
"Control Panel\desktop", "TileWallpaper", "1"

lRet = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ImageFile, _
SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
ChangeWallPaper = lRet <> 0 And Err.LastDllError = 0
End Function

Private Function WriteStringToRegistry(Hkey As _
REG_TOPLEVEL_KEYS, strPath As String, strValue As String, _
strdata As String) As Boolean


Dim bAns As Boolean

On Error GoTo ErrorHandler
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(Hkey, strPath, keyhand)
If r = 0 Then
r = RegSetValueEx(keyhand, strValue, 0, _
REG_SZ, ByVal strdata, Len(strdata))
r = RegCloseKey(keyhand)
End If

WriteStringToRegistry = (r = 0)

Exit Function

ErrorHandler:
WriteStringToRegistry = False
Exit Function

End Function

Perintah Pada Tombol 'Ganti Wallpaper'

Private Sub Command1_Click()
Dim s
CommonDialog1.Filter = "Bitmap(*.bmp)|*.bmp"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
s = ChangeWallPaper(CommonDialog1.FileName, False)
End If
End Sub

Perintah Pada tombol 'Kosongkan Recyle Bin'

Private Sub Command2_Click()
Dim RBinInfo As SHQUERYRBINFO, Msg As VbMsgBoxResult
RBinInfo.cbSize = Len(RBinInfo)
SHQueryRecycleBin vbNullString, RBinInfo
If (RBinInfo.i64Size.LowPart And &H80000000) = &H80000000 Or RBinInfo.i64Size.HighPart > 0 Then
Msg = MsgBox("Recycle Bin anda terisi lebih dari 2 gigabytes sekarang." + vbCrLf + "Apakah Anda ingin Mengosongkannya ?", vbYesNo + vbQuestion)
Else
Msg = MsgBox("Recycle Bin anda terisi " + Str$(RBinInfo.i64Size.LowPart) + " bytes sekarang." + vbCrLf + "Apakah Anda ingin Mengosongkannya ?", vbYesNo + vbQuestion)
End If
If Msg = vbYes Then
SHEmptyRecycleBin Me.hwnd, vbNullString, 0
SHUpdateRecycleBinIcon
End If
End Sub

Perintah Pada tombol 'Tutup'

Private Sub Command3_Click()
End
End Sub

Jalankan Aplikasi dengan cara tekan tombol F5

Source code program dapat diambil di http://www.ziddu.com/download/15683391/VB6ChangeWallpaper.rar.html. Selamat Mencoba

Backup dan Restore Database MySQL Menggunakan Script

Sebagai seorang DBA tentunya kita tidak berharap data yang tersimpan di dalam database hilang karena suatu sebab misalnya hard disk bad sector, server hilang, kebakaran atau yang lain. Untuk mencegah kehilangan data, tentunya kita harus melakukan backup database secara berkala, sehingga jika terjadi kejadian seperti di atas kita bisa langsung mengembalikan data sesuai dengan backup database terakhir.
Backup database MySQL sebenarnya bisa dilakukan dengan banyak cara dan juga banyak aplikasi yang menyediakan fasilitas backup misalnya melalui PhpMyAdmin, Navicat atau aplikasi yang lain.
Berikut ini adalah contoh cara membackup database MySQL dengan aplikasi bawaan MySQL sendiri yaitu aplikasi 'MySQLDump.exe'. Aplikasi ini secara default akan disediakan pada saat anda melakukan installasi MySQL, tepatnya berada pada directory BIN milik MySQL path.
Backup Database
Format penulisan backup menggunakan MySQLDump adalah :
mysqldump --opt -u [user] -p[password] [database]>[file_backup.sql]
· [user] Nama user database
· [password] kata sandi untuk user database tersebut. Password ini dituliskan di belakang –p tanpa ada space.
· [database] Nama database yang akan di backup
· [file_backup.sql] Nama file backup yang dihasilkan
· [--opt] Pilihan mysqldump
Backup All Database
Proses backup all database ini akan menghasilkan backup yang lengkap.
Isi backup ini adalah
· Database
· Table
· Data Table
· View
· Trigger, function / procedure

Untuk membackup seluruh database mysql, perhatikan contoh berikut :
mysqldump --all-databases -u root -p > c:\all_mysql.sql
Selanjutnya masukkan password user root
Enter password: ******
Jika anda ingin melakukan backup tanpa ada konfirmasi permintaan password anda bisa menggunakan perintah :
mysqldump --all-databases -u root -pichwan > c:\all_mysql.sql
Perhatikan gambar berikut :

Backup 1 Database
Proses backup 1 database ini akan menghasilkan backup yang seluruh object yang ada di dalam database yang ditunjuk saja dan nama database tidak ikut terbackup.
Isi backup ini adalah
· Table
· Data Table
· View
· Trigger, function / procedure

Untuk membackup 1 database anda bisa menggunakan pemanggilan nama database. Contoh :
mysqldump kursus -u root -p > c:\kursus.sql

Backup object ( Table, View dan lainnya ) dari Database
Selain backup database anda juga dapat membackup object yang ada di dalam database seperti table, view atau yang lain. Isi backup ini adalah sesuai dengan object yang dibackup.
Untuk membackup 1 table atau beberapa table yang ada di dalam database anda bisa menggunakan pemanggilan nama table yang akan dibackup dibelakang nama database table tersebut dengan dipisah space. Contoh :
mysqldump kursus instruktur sesi -u root -p > c:\mysql_table.sql

Restore Database
Restore database adalah mengembalikan data yang ada di database sesuai dengan file bakcup yang ditentukan. Format penulisan restore database MySQL adalah :
mysql -u [user] -p[password] [database] < [file_backup.sql]
· [user] Nama user database
· [password] kata sandi untuk user database tersebut. Password ini dituliskan di belakang –p tanpa ada space.
· [database] Nama database tujuan
· [file_backup.sql] Nama file backup yang direstore.
Restore All Database
Untuk melakukan restore hasil backup all database, anda bisa menggunakan database mysql sebagai database tujuan. Contoh :
mysql -u root -pichwan mysql < c:\all_mysql.sql

Restore 1 Database
Untuk melakukan restore hasil backup 1 database anda bisa menunjuk nama database yang beda dengan nama database yang dibackup sebelumnya. Contoh :
mysql -u root -pichwan coba < c:\mysql_kursus.sql

Restore Object Database
Seperti halnya restore 1 database, anda dapat merestore object database ini ke dalam database lain selain database yang anda backup. Contoh :
mysql -u root -pichwan coba < c:\mysql_table.sql

BACKUP DATABASE SECARA AUTOMATIS
Anda dapat melakukan backup secara berkala secara automatis dengan menggunakan fasilitas ‘scheduled Tasks’ ( Windows ) atau ‘crontab’ ( Linux ).
Dengan cara :
1. Daftarkan directory Bin milik MySQL ( C:\MySQL\bin ) pada path.
a. Klik kanan pada My Computer – Properties, pilih tab ‘Advanced’ dan klik tombol ‘Environment Variables’
b. Pilih ‘path’ pada System Variables – klik tombol Edit
c. Tambahkan tulisan dibawah ini ( jika lokasi MySQL di drive C )
;C:\MySQL\Bin

2. Buka aplikasi Notepad, ketikkan perintah berikut :
mysqldump --all-databases -u root -pichwan > c:\all_mysql.sql

Simpan dengan nama “BACKUP_CODE.BAT” di C:\
3. Buka scheduled Tasks dari menu Start – Control Panel - Performance and Maintenance - scheduled Tasks. Pada area scheduled Tasks klik kanan pilih new –scheduled tasks beri nama ‘backup_mysql’.

4. Klik kanan pada scheduled tasks yang baru kita buat – pilih properties.
Pada tab ‘Task’ isikan :
Run : C:\BACKUP_CODE.BAT
Start in : C:\
Pada tab ‘Schedule’ isikan :
Schedule Task : Daily
Start Time : 12:00 AM
Every : 1
5. Klik OK, jika tampil dialog password, isikan pasword sesuai dengan user yang anda gunakan.