Menambah Control Saat Runtime

0 komen orang
Dim WithEvents CommandButtonDesign As CommandButton
Private Sub Form_Load()
Set CommandButtonDesign = Controls.Add("vb.CommandButton", "Command1")
With CommandButtonDesign
.Caption = "Design Runtime"
.Width = 1000
.Visible = True
End With
End Sub
Sub CommandButtonDesign_Click()
MsgBox "Hallo...Semua...."
End Sub



Mematikan Monitor Dengan Fungsi SendMessages

0 komen orang
Option Explicit

Private Const MONITOR_ON = -1&
Private Const MONITOR_LOWPOWER = 1&
Private Const MONITOR_OFF = 2&
Private Const SC_MONITORPOWER = &HF170&
Private Const WM_SYSCOMMAND = &H112

Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long


Private Sub Form_Load()
Command1.Caption = "Turn off monitors"
End Sub


Private Sub Command1_Click()
Call SendMessage(Me.hWnd, WM_SYSCOMMAND, _
SC_MONITORPOWER, ByVal MONITOR_OFF)
With Timer1
.Interval = 8000
.Enabled = True
End With
End Sub

Private Sub Timer1_Timer()
Timer1.Enabled = False
Call SendMessage(Me.hWnd, WM_SYSCOMMAND, _
SC_MONITORPOWER, ByVal MONITOR_ON)
End Sub

Bunyi

0 komen orang
Hampir setiap saat terdengar bunyi di sekitar kita. Ada yang begitu kuat menggelegar, tapi juga ada lambut, bahkan hamper tak terdengar sekalipun. Dalam musik, bunyi hal yang sangat penting.
Di dalam ilmu pengetahuan kita mengetahui bahwa bunyi berasal dari sumber bunyi yang digetarkan oleh tanaga atau energy. Kemudian, getaran tersebut dipancarkan keluarkan oleh pengantar. Dan ketika bunyi ini sampai ke telinga kita, barulah kita dapat menengar bunyi tersebut.


Keterangan :
Sumber Bunyi
Sumber bunyi itu bermacam-macam. Ada yang berupa benda padat, seperti logam pada lonceng, atau kulit pada rebana. Ada yang berupa udara, seperti pada bunyi seruling atau trompet. Dengan demikian, berbagai bahan sebenarnya dapat menjadi sumber bunyi.
Disamping perbedaan bahannya, sumber bunyi dapat dibedakan oleh bentuk dan ukurannya. Bunyi dari sepotong kayu yang besartentu berbeda dengan kayu yang kecil, walaupun bahannya dari kayu yang sama. Demikian pula walaupun bahan dan besarnya sama, bila bentuknya berbeda, bunyinya pun berbeda.
Sumber bunyi akan berbeda oleh perbedaan bahan, bentuk, dan ukuran.

Tenaga
Sebuah sumber bunyi akan bergetar, bila ada tenaga atau energy yang menggetarkannya. Tenaga ini dapat berupa: tenaga uap, tenaga angin, tenaga air, tenaga listrik, tenaga uap, dan lain-lain.
Dari macam-macam tenaga tersebut dan beberapa kesamaan sifat yang menarik, yaitu bahwa tenaga itu:
Dapat ditambah atau dikurangi
Dapat disimpan
Dapat dialinkan
Dapat digabungkan.
Contohnya:
Bila seorang pemain biola memainkan biolanya, perhatikan, apakah tenaga pemain tersebut langsung menyentuh sumber bunyinya? Bandingkan, misalnya dengan pemain gitar.
Kemudian bila weker tiba-tiba bordering membangunkan tidur kita. Tenaga siapakah yang menggerakkan sumber bunyinya? Bukankah weker tak mau berbunyi sendiri?
Demikianlah, peranan tenaga dalam pengadaan bunyi perlu pula kita perhatikan. Walaupun, kadang-kadang tidak mudah menetapkannya.

Pengantar
Getaran dari sumber bunyi akan sampai ke telinga kita, hanya bila ada yang mengantarkannya. Dalam kehidupan sehati-hari kita, udara adalah pengantar yang paling banyak kita gunakan. Karena udara selalu tersedia di sekitar kita, dan selalu juga siap mengantarkan bunyi kepada kita.
Namun sebenarnya, udara adalah penganta bunyi yang lamban, walaupun bukan berarti tidak baik. Kecepatan merambat bagi udara sebagai pengantar bunyi hanyalah 345 meter per detik. Bandingan dengan pengantar yang lain, seperti :
Gabus : 500 m/detik
Timah : 1190 m/detik
Air : 1440m/detik
Besi : 5120 m/detik
Angka-angka tersebut dapat lah berubah oleh perubahan suhu. Namun perubahan ini kecil sekali, bahkan kurang begitu berarti.
Kemudian, adanya bermacam-macam kemampuan merambat bunyi tersebut patut kita terima sebagai suatu hikmah. Maksudnya, karena di dalam kehidupan kita ada hal-hal yang memerlukan pengantar cepat, namun ada juga yang sebaliknya. Kita ingat misalnya, perlu zat peredam bunyi dalam kehidupan kita, yang hal ini memerlukan kecepatan merambat sekecil-kecilnya.

Frekuensi
Tinggi rendahnya bunyi ditentukan oleh cepat lambatnya getaran dari sumer bunyi. Biasanya dihitung dari banyaknya getaran per detiknya. Semakin banyak getaran detiknya, semakin tinggi bunyinya. Dan banyaknya getaran per detik ini disebut frekuensi.
Dalam pengukuran frekuensi biasanya dihitung dengan satuan cps (cycles per second) yang berarti getaran per detik. Disamping itu, khususnya dalam teknik radio, dipakai pula satuan Hz (Hertz) dengan pengertian yang sama. Ini diambil dari nama Heinrich Hertz (1857-1894), ahli pengetahuan bangsa Jerman.

Jalankan Program Dengan Services

0 komen orang
Option Explicit
Private Type SERVICE_STATUS
dwServiceType As Long
dwCurrentState As Long
dwControlsAccepted As Long
dwWin32ExitCode As Long
dwServiceSpecificExitCode As Long
dwCheckPoint As Long
dwWaitHint As Long
End Type
Private Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" _
(ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal _
dwDesiredAccess As Long) As Long

Declare Function ControlService Lib "advapi32.dll" (ByVal hService As Long, _
ByVal dwControl As Long, lpServiceStatus As SERVICE_STATUS) As Long

Private Declare Function CreateService Lib "advapi32.dll" Alias "CreateServiceA" _
(ByVal hSCManager As Long, ByVal lpServiceName As String, ByVal _
lpDisplayName As String, ByVal dwDesiredAccess As Long, ByVal _
dwServiceType As Long, ByVal dwStartType As Long, ByVal _
dwErrorControl As Long, ByVal lpBinaryPathName As String, ByVal _
lpLoadOrderGroup As String, lpdwTagId As Long, ByVal lpDependencies As _
String, ByVal lpServiceStartName As String, ByVal lpPassword _
As String) As Long

Declare Function OpenService Lib "advapi32.dll" Alias "OpenServiceA" (ByVal _
hSCManager As Long, ByVal lpServiceName As String, ByVal _
dwDesiredAccess As Long) As Long

Declare Function QueryServiceStatus Lib "advapi32.dll" (ByVal hService As Long, _
lpServiceStatus As SERVICE_STATUS) As Long

Private Declare Function CloseServiceHandle Lib "advapi32.dll" (ByVal _
hSCObject As Long) As Long

Public Function Install_SVC(strServiceFileName As String, strServiceName As _
String, strDisplayName As String, bolInteractive As Boolean, bolAutoStart As _
Boolean, Optional GroupName As String = "", Optional strMachineName As _
Variant, Optional strAccount As Variant, Optional strAccountPassword As _
Variant) As Boolean

On Error Resume Next
Dim hSCM As Long
Dim hSVC As Long
Dim lngInteractive As Long
Dim lngAutoStart As Long
Dim pSTATUS As SERVICE_STATUS
If bolInteractive = True Then _
lngInteractive = (&H100 Or &H10) Else lngInteractive = &H10
If bolAutoStart = True Then lngAutoStart = &H2 Else lngAutoStart = &H3
If IsMissing(strMachineName) = True Then _
strMachineName = vbNullString Else strMachineName = CStr(strMachineName)
If IsMissing(strAccount) = True Then _
strAccount = vbNullString Else strAccount = CStr(strAccount)
If IsMissing(strAccountPassword) = True Then _
strAccountPassword = vbNullString Else _
strAccountPassword = CStr(strAccountPassword)

hSCM = OpenSCManager(strMachineName, vbNullString, &H2)
If hSCM = 0 Then Exit Function '// gagal membuat
'// Install service
hSVC = CreateService(hSCM, strServiceName, strDisplayName, 983551, _
lngInteractive, lngAutoStart, 0, strServiceFileName, GroupName, _
vbNull, vbNullString, strAccount, strAccountPassword)
If hSVC <> 0 Then Install_SVC = True
Call CloseServiceHandle(hSVC)
Call CloseServiceHandle(hSCM)
'StartService
End Function

Cara Merepair & Compact Database Ms.Access

0 komen orang
'***************************************************************
' CompactAndRepairDB (FUNCTION)
'
' PARAMETERS:
' sSource - Path untuk source database
' sDestination - Path untuk destination database
' sSecurity - Path untuk Jet system database jika ada
' sUser - username jika level keamanan tersedia
' sPassword - password
' lDestinationVersion - versi database yang digunakan
' version dibutuhkan; 1 = Jet 1.0,
' 2 = Jet 1.1, 3 = Jet 2.x,
' 4 = Jet 3.x, 5 = Jet 4.x etc
'
' Nilai yg dikembalikan:
' True - jika sukses
'
' CATATAN:
' Program ini membutuhkan penambahan referensi dari
' Microsoft Jet and Replication Objects 2.x
' Anda bis memilih Project » References » Microsoft Jet
' And Replication Object 2.x Library
'***************************************************************

Public Function CompactAndRepairDB(sSource As String, _
sDestination As String, _
Optional sSecurity As String, _
Optional sUser As String = "Admin", _
Optional sPassword As String, _
Optional lDestinationVersion As Long) As Boolean

Dim sCompactPart1 As String
Dim sCompactPart2 As String
Dim oJet As JRO.JetEngine

sCompactPart1 = "Provider=Microsoft.Jet.OLEDB.4.0" & _
";Data Source=" & sSource & _
";User Id=" & sUser & _
";Password=" & sPassword

If sSecurity <> "" Then
sCompactPart1 = sCompactPart1 & _
";Jet OLEDB:System database=" & sSecurity & ";"
End If

sCompactPart2 = "Provider=Microsoft.Jet.OLEDB.4.0" & _
";Data Source=" & sDestination

' versi jet:
' 1 = Jet 1.0, 2 = Jet 1.1, 3 = Jet 2.x, 4 = Jet 3.x,
' 5 = Jet 4.x etc
If lDestinationVersion <> 0 Then
sCompactPart2 = sCompactPart2 & _
";Jet OLEDB:Engine Type=" & lDestinationVersion
End If

' Compact dan repair database
Set oJet = New JRO.JetEngine
oJet.CompactDatabase sCompactPart1, sCompactPart2
Set oJet = Nothing
CompactAndRepairDB = True
End Function

Private Sub Command1_Click()
CompactAndRepairDB "C:\db1.mdb", "C:\baru.mdb"
End Sub

Cara Hacking di Google

0 komen orang
Google Hacking Mini Guide Techniques

dengan menggunakan teknik mesin pencarian kombinasi GOOGLE parameter/operator, seseorang
dapat mengetahui informasi dan mungkin ada celah-celah yg vulnerability dengan mesin
pencari GOOGLE ini.




1. Mencari Daftar Direktori
dengan mengetik :

intitle:index.of "parent directory"
intitle:index.of name size

2. Mendapatkan direktori server deperti :

intitle:index.of server.at site:aol.com

3. Pemeriksaan Halaman Web Server APACHE

Apache 1.3.0–1.3.9
Intitle:Test.Page.for.Apache It.worked! this.web.site!

Apache 1.3.11–1.3.26
Intitle:Test.Page.for.Apache seeing.this.instead

Apache 2.0
Intitle:Simple.page.for.Apache Apache.Hook.Functions

Apache SSL/TLS
Intitle:test.page "Hey, it worked !" "SSL/TLS-aware"

Many IIS servers
intitle:welcome.to intitle:internet IIS

Unknown IIS server
intitle:"Under construction" "does not currently have"

IIS 4.0
intitle:welcome.to.IIS.4.0

IIS 4.0
allintitle:Welcome to Windows NT 4.0 Option Pack

IIS 4.0
allintitle:Welcome to Internet Information Server

IIS 5.0
allintitle:Welcome to Windows 2000 Internet Services

IIS 6.0
allintitle:Welcome to Windows XP Server Internet Services

Many Netscape servers
allintitle:Netscape Enterprise Server Home Page

Unknown Netscape server
allintitle:Netscape FastTrack Server Home Page

'n masih banyak lg yg lainnya, tinggal cari aja ok..........

Cara Melihat Kecepatan Prosesor Dengan VB

0 komen orang
'Copyright by Shady - BEGO
'http://www.vbbego.cjb.net
'Penulis: Shady - BEGO - 7/21/2004

Private Const PROCESSOR_INTEL_386 As Long = 386
Private Const PROCESSOR_INTEL_486 As Long = 486
Private Const PROCESSOR_INTEL_PENTIUM As Long = 586
Private Const PROCESSOR_MIPS_R4000 As Long = 4000
Private Const PROCESSOR_ALPHA_21064 As Long = 21064
Private Const PROCESSOR_PPC_601 As Long = 601
Private Const PROCESSOR_PPC_603 As Long = 603
Private Const PROCESSOR_PPC_604 As Long = 604
Private Const PROCESSOR_PPC_620 As Long = 620
Private Const PROCESSOR_HITACHI_SH3 As Long = 10003 'Windows CE
Private Const PROCESSOR_HITACHI_SH3E As Long = 10004 'Windows CE
Private Const PROCESSOR_HITACHI_SH4 As Long = 10005 'Windows CE
Private Const PROCESSOR_MOTOROLA_821 As Long = 821 'Windows CE
Private Const PROCESSOR_SHx_SH3 As Long = 103 'Windows CE
Private Const PROCESSOR_SHx_SH4 As Long = 104 'Windows CE
Private Const PROCESSOR_STRONGARM As Long = 2577 'Windows CE - 0xA11
Private Const PROCESSOR_ARM720 As Long = 1824 'Windows CE - 0x720
Private Const PROCESSOR_ARM820 As Long = 2080 'Windows CE - 0x820
Private Const PROCESSOR_ARM920 As Long = 2336 'Windows CE - 0x920
Private Const PROCESSOR_ARM_7TDMI As Long = 70001 'Windows CE

Private Const PROCESSOR_ARCHITECTURE_INTEL As Long = 0
Private Const PROCESSOR_ARCHITECTURE_MIPS As Long = 1
Private Const PROCESSOR_ARCHITECTURE_ALPHA As Long = 2
Private Const PROCESSOR_ARCHITECTURE_PPC As Long = 3
Private Const PROCESSOR_ARCHITECTURE_SHX As Long = 4
Private Const PROCESSOR_ARCHITECTURE_ARM As Long = 5
Private Const PROCESSOR_ARCHITECTURE_IA64 As Long = 6
Private Const PROCESSOR_ARCHITECTURE_ALPHA64 As Long = 7
Private Const PROCESSOR_ARCHITECTURE_UNKNOWN As Long = &HFFFF&

Private Const PROCESSOR_LEVEL_80386 As Long = 3
Private Const PROCESSOR_LEVEL_80486 As Long = 4
Private Const PROCESSOR_LEVEL_PENTIUM As Long = 5
Private Const PROCESSOR_LEVEL_PENTIUMII As Long = 6

Private Const sCPURegKey = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"

Private Const HKEY_LOCAL_MACHINE As Long = &H80000002

Private Type SYSTEM_INFO
dwOemID As Long
dwPageSize As Long
lpMinimumApplicationAddress As Long
lpMaximumApplicationAddress As Long
dwActiveProcessorMask As Long
dwNumberOfProcessors As Long
dwProcessorType As Long
dwAllocationGranularity As Long
wProcessorLevel As Integer
wProcessorRevision As Integer
End Type

Private Declare Sub GetSystemInfo Lib "kernel32" _
(lpSystemInfo As SYSTEM_INFO)

Private Declare Function RegCloseKey Lib "advapi32" _
(ByVal hKey As Long) As Long

Private Declare Function RegOpenKey Lib "advapi32" _
Alias "RegOpenKeyA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32" _
Alias "RegQueryValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
lpData As Any, _
lpcbData As Long) As Long


Private Sub Command1_Click()

Dim SI As SYSTEM_INFO
Dim tmp As String

Call GetSystemInfo(SI)

Print "Number Of Processors", SI.dwNumberOfProcessors

Select Case SI.dwProcessorType
Case PROCESSOR_INTEL_386: tmp = "386"
Case PROCESSOR_INTEL_486: tmp = "486"
Case PROCESSOR_INTEL_PENTIUM: tmp = "Pentium"
Case PROCESSOR_MIPS_R4000: tmp = "MIPS 4000"
Case PROCESSOR_ALPHA_21064: tmp = "Alpha"
End Select

Print "Processor Type", SI.dwProcessorType, tmp

Select Case SI.wProcessorLevel
Case PROCESSOR_LEVEL_80386: tmp = "Intel 80386"
Case PROCESSOR_LEVEL_80486: tmp = "Intel 80486"
Case PROCESSOR_LEVEL_PENTIUM: tmp = "Intel Pentium"
Case PROCESSOR_LEVEL_PENTIUMII: tmp = "Intel Pentium Pro, II, III or 4"
End Select

Print "Processor Level", SI.wProcessorLevel, tmp

Print "Processor Revision", SI.wProcessorRevision, _
"Model "; HiByte(SI.wProcessorRevision) & _
", Stepping " & LoByte(SI.wProcessorRevision)

Print "CPU Speed", , " " & GetCPUSpeed() & " MHz"

End Sub


Private Function GetCPUSpeed() As Long

Dim hKey As Long
Dim cpuSpeed As Long

Call RegOpenKey(HKEY_LOCAL_MACHINE, sCPURegKey, hKey)
Call RegQueryValueEx(hKey, "~MHz", 0, 0, cpuSpeed, 4)
Call RegCloseKey(hKey)

GetCPUSpeed = cpuSpeed

End Function


Public Function HiByte(ByVal wParam As Integer) As Byte
HiByte = (wParam And &HFF00&) \ (&H100)
End Function


Public Function LoByte(ByVal wParam As Integer) As Byte
LoByte = wParam And &HFF&
End Function


Tentang Arul

4 komen orang

Tentang Saya

Halo Semua.... Namaku Khairul Annas, panggil aja Arul. Di sini jangan sungkan-sungkan, tanya aja sepuasnya. Aku Masih sekolah, kelas 2 di SMK Muhammadiyah 1 Salam. Nah, Sekarang sering main orgen tunggal, pentas dengan group, juga servis komputer. Pengen tanya masalah - masalah tentang komputermu? Atau komputermu lagi rewel pengen kamu benerin sendiri? kirim aja e-mail ke annas_khairul@yahoo.co.id, atau khairul.annas@gmail.com.




Lihat Profil Lengkapku ...

Teknik Dasar Visual Basic

0 komen orang
Untuk mengulas tentang teknik dasar di Visual Basic, sebenarnya membutuhkan waktu yang cukup panjang untuk menjelaskannya, tetapi saya akan coba untuk menguraikan hal-hal ringan yang dianggap penting dan sering diperlukan.

- Awalan Penamaan Variabel
Konsistensi sering dikaitkan dengan penulisan kode program yang standar. Ini tentu cukup beralasan karena penulisan kode yang konsisten menjadikan kode program lebih mudah dibaca dan dipahami. Sebagai contoh, dalam penamaan variabel, sangat dianjurkan agar Anda mengacu pada standar yang telah ditetapkan.
Contohnya seperti berikut:

' Jika hanya ada satu variabel String di satu
' ruang lingkup
Dim str As String
' Jika terdapat lebih dari satu
Dim strNama As String
Dim strAlamat As String

- Hindari Tipe Variant
Tipe data Variant secara otomatis akan ditetapkan pada suatu variabel manakala Anda tidak menetapkan tipe datanya secara eksplisit.

' Variabel intX bertipe Variant
Dim intX, intY As Integer
' intA dan intB bertipe Integer
Dim intA As Integer, intB As Integer

Alasan utama untuk menghindari tipe data Variant adalah karena eksekusinya yang cenderung lebih lambat dan mengonsumsi memori lebih besar.

- Ruang Lingkup Variabel
Apabila variabel-variabel Anda hanya diperlukan oleh sebuah method (prosedur/fungsi), sebaiknya deklarasikan di level lokal. Teknik ini terkait erat dengan performa aplikasi, di mana variabel lokal akan lebih cepat dieksekusi dibanding variabel global.

- Konkatenasi dan Multiline
Pada saat Anda ingin menghubungkan string, gunakan operator konkatenasi (&). Adapun jika konkatenasi melibatkan baris baru, sebaiknya manfaatkan karakter garis bawah (underscore).

' Hello semua adalah satu bagian
strData = "Hello " & _
"Semua"
' strA dan strB adalah dua bagian
Dim strA As String, _
strB As String

- Definisi Tipe Data
Anda pasti pernah menemui kode program Visual Basic yang mendefinisikan suatu tipe data menggunakan akhiran karakter tertentu, seperti $, %, dan sebagainya. Pendekatan yang juga disebut definisi tipe data secara implisit ini umumnya dilakukan untuk mempercepat eksekusi kode. Berikut ini simbol (karakter) yang dapat digunakan sebagai akhiran nama variabel untuk merepresentasikan tipe data.

Perlu diperhatikan, bagian ini tidak bermaksud menyarankan Anda untuk menggunakan pendekatan di atas, namun sekadar memperlihatkan bagaimana implementasi definisi secara implisit. Bagaimanapun juga, pendekatan seperti ini seringkali membingungkan, terutama bagi yang belum memahami makna karakter terkait.

- Verifikasi Tipe Data
Pada saat akan melakukan operasi terhadap suatu variabel, terkadang kita ingin memeriksa tipe datanya terlebih dahulu. Untuk memudahkan verifikasi ini, kita bisa memanfaatkan method-method yang tersedia.



- Pernyataan Kondisional
Dalam melakukan analisis dua kasus, Anda bisa meringkas penulisan kode program dengan memanfaatkan method IIf.

Dim bStatus As Boolean
Dim intResult As Integer
' Pendekatan If (standar)
If bStatus Then
intResult = 1
Else
intResult = 0
End If
Print intResult
' Pendekatan IIf
intResult = IIf(bStatus, 1, 0)
Print intResult
Namun perlu diperhatikan, eksekusi method IIf cenderung lebih lambat dibanding pernyataan kondisional If.

- Keyword Step
Disamping menyederhanakan penulisan kode program pengulangan, keyword Step juga mampu mempercepat eksekusi kode. Sebagai contoh, kedua program berikut akan menghasilkan keluaran sama.

Dim i As Integer
' Mencetak bilangan ganjil 1-10
For i = 0 To 9
i = i + 1
Print i
Next i
' Menggunakan pendekatan Step
For i = 1 To 10 Step 2
Print i
Next i

- Keyword Optional
Apabila Anda ingin mendeklarasikan suatu argumen yang sifatnya opsional (tidak wajib), gunakan keyword Optional.

' Deklarasi argumen lng sebagai opsi
Private Sub Test(str As String, _
Optional lng As Long = 1)
' ...
End Sub
Walaupun Anda diperkenankan untuk tidak menetapkan nilai default dari suatu argumen opsional, namun sebaiknya Anda menetapkannya. Langkah ini bertujuan untuk memudahkan penulisan tubuh method dan meningkatkan kompatibilitas terhadap versi Visual Basic yang baru (VB.NET).

- Array Argumen
Kasus lain yang mungkin ditemui saat mendeklarasikan method adalah kemampuan untuk menerima sejumlah argumen. Kasus semacam ini bisa Anda selesaikan dengan memanfaatkan keyword ParamArray.

Private Function Sum(ParamArray args() _
As Variant) As Double
Dim i As Integer
' array argumen adalah array berbasis 0
For i = 0 To UBound(args)
Sum = Sum + args(i)
Next i
End Function
' Ekspresi berikut valid semua
Debug.Print Sum(2, 3)
Debug.Print Sum(2, 3, 4, 5)

Perlu diingat, ParamArray harus dideklarasikan sebagai array Variant, tidak boleh dengan tipe data lainnya. Selain itu, suatu method hanya boleh memiliki sebuah array argumen, dan harus berada di bagian paling akhir. Aturan terakhir, Anda tidak boleh meletakkan argumen opsional di depan array argumen.


Belajar Dasar Visual Basic

0 komen orang
Mengenal IDE
1. Menu Bar
Menu bar berfungsi untuk memilih tugas-tugas tertentu, seperti memulai, membuka, dan menyimpan
project, mengompilasi project menjadi file executable (EXE), dan lain-lain.

2. Main Toolbar
Toolbar memiliki fungsi yang sama seperti menu bar, dan juga berfungsi seperti jalan pintas karena lebih praktis dalam penggunaannya.


3. Jendela ToolBox (ToolBox Standard)
ToolBox Standard berisi komponen-komponen yang merupakan sarana untuk membentuk user interface. Lihat pada Berikut ini kegunaan masing-masing kontrol secara
umum:
- PictureBox: digunakan untuk menampilkan
gambar atau image.

- Label: digunakan untuk menampilkan teks yang
tidak dapat diubah oleh pengguna jika project
sudah di-compile menjadi file EXE.
- TextBox: digunakan untuk menampilkan teks yang bisa diubah oleh pengguna.
- Frame: digunakan untuk mengelompokkan kontrol-kontrol yang dianggap memiliki fungsi sejenis.
- Command Button: digunakan untuk memulai proses tertentu pada saat pengguna melakukan klik.
- CheckBox: digunakan untuk memberikan pilihan kepada pengguna.
- OptionButton: fungsinya hampir sama dengan CheckBox. Bedanya, pada CheckBox biasanya pengguna bisa memilih lebih dari satu pilihan.
- ListBox: digunakan untuk memberikan pilihan dalam bentuk daftar.
- ComboBox: fungsinya hampir sama dengan ListBox, hanya saja pengguna bisa memasukkan pilihan lain.
- HscrollBar: digunakan untuk menggeser layar secara horizontal.
- VscrollBar: digunakan untuk menggeser layar secara vertical.
- Timer: digunakan untuk mengatur proses pada program dalam interval waktu tertentu.
- DriveListBox: digunakan untuk menampilkan drive yang ada.
- DirListBox: digunakan untuk menampilkan direktori pada drive.
- FileListBox: digunakan untuk menampilkan file pada direktori.
- Shape: digunakan untuk menampilkan bentukbentuk tertentu.
- Line: digunakan untuk menampilkan garis.
- Image: digunakan untuk menampilkan image, tetapi tidak bisa berfungsi sebagai kontainer.
- Data: digunakan untuk menghubungkan program ke database.
- OLE: digunakan untuk menghubungkan form dengan program lain.

4. Jendela Form Designer
Jendela ini merupakan tempat untuk merancang user interface (tampilan program). Di sinilah para programmer bisa meletakkan kontrol-kontrol yang dibutuhkan.
5. Jendela Project
Jendela Project adalah jendela yang menampilkan semua file yang berhubungan dengan aplikasi/project yang saat itu sedang dijalankan.
6. Jendela Properties
Jendela ini berisi daftar properti untuk objek (form atau kontrol) yang dipilih dan berfungsi untuk mengatur karakteristiknya, seperti warna, ukuran, dan lain-lain.
7. Jendela Form Layout
Jendela ini akan menunjukkan tampilan form pada saat dijalankan.
8. Jendela Kode
Jendela ini merupakan tempat untuk menuliskan kode-kode bagi objek yang dibuat. Melalui jendela ini, Anda dapat mengatur karakteristik dari form yang Anda buat. Jendela ini bisa dimunculkan dengan menekan menu View, lalu pilih Code pada menu bar atau melakukan klik ganda pada form. Selain itu, Anda juga bisa memunculkan jendela kode dengan menekan tombol F7 pada saat pointer terfokus pada jendela form designer.
Pada saat jendela kode ditampilkan, pointer akan terletak di antara prosedur Form_Load, tetapi Anda jangan mengetikkan kode-kode untuk contoh dalam buku ini pada bagian dalam prosedur tersebut. Mulailah mengetik dari bagian yang paling atas.
9. Jendela Modul
Jendela modul merupakan tempat untuk menuliskan kode-kode yang lebih bersifat global. Pada jendela module ini, Anda bisa mendeklarasikan variabel dan fungsi dengan awalan PRIVATE maupun PUBLIC. Jika diberi awalan PRIVATE, variabel atau fungsi tersebut hanya berlaku untuk pemakaian module yang bersangkutan. Sedangkan awalan PUBLIC akan mengakibatkan variabel atau fungsi tersebut bersifat global. Jendela module ini bisa ditampilkan dengan mengklik menu Project pada menu bar, kemudian pilih Add Module.

Download Selengkapnya di SINI

Memahami Struktur Registry

1 komen orang
Buat Anda yang masih awam dengan registry windows, maka pada artikel ini akan saya terangkan bagian-bagian yang ada di dalam registry.

1. Struktur Registry Editor dengan Windows Explorer
Dalam struktur registry, sebenarnya bentuk struktur dan pemahamannya hampir sama dengan struktur direktori pada Windows Explorer. Dalam Windows kita mengenal adanya Folder, Sub-Folder, Sub-SubFolder, dan File setelah My Computer. Begitu juga dengan registry, strukturnya hampir sama, akan tetapi namanya yang berbeda. Berikut bentuk kesamaannya.

Di dalam Registry, Key juga dapat disebut dengan Handle Key, maka dari itu setiap Key memiliki nama yang didahului dengan H, seperti HKEY_USERS.
2. Bagian Registry dan Fungsinya
Dilihat dari halaman Regedit, Anda akan menemukan banyak key dan subkey beserta dengan data-nya. Dari beberapa key yang ada, setiap key tersebut memiliki fungsi yang berbeda. Untuk lebih jelasnya, berikut penjelasannya.

- HKEY_CLASSES_ROOT
Key ini merupakan tempat di mana seluruh asosiasi file Windows disimpan, dan di mana Windows akan mencari special folder type classes. Di dalam struktur, key ini identik dengan HKEY_LOCAL_MACHINE\SOFTWARE\Classes.

- HKEY_CURRENT_USER
Berisi informasi tentang user yang sedang log in pada saat itu. 
Terdiri atas subkey, antara lain:
. AppEvents, subkey ini berisi setting untuk sound events. 
. Control Panel, subkey ini berisi setting control panel. 
. InstallLocationMRU, subkey ini berisi path/lokasi master Windows (waktu pertama kali menginstal Windows). 
. Network, subkey ini berisi informasi yang berhubungan dengan Network atau jaringan. 
. Software, subkey ini berisi tentang setting atau konfigurasi software untuk pemakai yang logon pada saat itu. 
. RemoteAccess, subkey ini berisi informasi tentang Dial up Networking

- HKEY_LOCAL_MACHINE
Berisi informasi tentang hardware dan setting software yang berlaku untuk semua user. Terdiri atas subkey, antara lain:
. Enum, subkey ini berisi informasi tentang hardware, misalnya tentang monitor.
. Hardware, subkey ini berisi informasi tentang port serial.
. Network, subkey ini berisi informasi yang berhubungan dengan network untuk pemakai yang sedang aktif atau logon.
. Software, subkey ini berisi informasi dan setting software. 

- HKEY_USERS
Berisi informasi tentang desktop dan user setting untuk tiap user yang berhak login ke komputer tersebut. Tiap user mempunyai sebuah subkey. Jika hanya terdapat satu user, maka nama subkey tersebut adalah ".default".

- HKEY_CURRENT_CONFIG
Berisi informasi tentang konfigurasi hardware, berhubungan dengan HKEY_LOCAL_MACHINE. 

- HKEY_DYN_DATA
Key ini berisi informasi tentang plug and play.




Dasar Registry Windows

2 komen orang
Pada artikel ini anda akan saya perkenalkan tentang registry windows. Untuk orang awam, mungkin tulisan sangat berguna bagi anda.

Mengenal Registry
Yang perlu Anda ketahui, registry di dalam sistem operasi Windows merupakan jantungnya. Seperti manusia memiliki jantung sebagai pusat segala perputaran darah sehingga dapat disirkulasikan ke seluruh tubuh. Begitu juga dengan registry yang berisi semua informasi dari sistem Windows. Semua informasi yang ada merupakan bagian dari pengendali program aplikasi yang terinstal di Windows. Saat registry Anda rusak, maka rusaklah sistem Windows Anda sehingga pekerjaan biasa yang sering dilakukan adalah menginstalnya kembali dengan sistem yang baru tentunya. Permasalahannya sekarang, bagaimana kita melakukan perubahan-perubahan aturan pada file registry? Yah, sesuatu hal bakalan terjadi pada bagian penting Windows Anda.
Untuk memanajemen seluruh sistem dan program yang ada di komputer, Windows menggunakan sebuah file yang sering disebut dengan Registry. Dan browser atau editor yang sering digunakan untuk membuka file Registry tersebut bernama REGEDIT (Registry Editor).

Membuat Backup Registry
Sebelumnya telah dijelaskan bahwa REGEDIT (Registry Editor) merupakan program editor yang digunakan untuk membuka file Registry. Sebenarnya, pada saat membuka program Regedit, Anda telah membuka dua file utama registry, yaitu SYSTEM.DAT dan USER.DAT.
Untuk file yang bernama SYSTEM.DAT digunakan untuk merekam informasi tentang sistem komputer. Dan file USER.DAT menyimpan informasi tentang user.

Backup dari Windows Explorer pada Win 9x
Pada kondisi normal, Windows 9x (95/98/Me) Anda akan menemukan file SYSTEM.DAT dan USER.DAT pada direktori C:\Windows sehingga Anda dapat mem-backup (menyelamatkan/mengamankan) kedua file tesebut pada tempat yang aman atau menyimpannya dengan nama berbeda.
Suatu saat, apabila Registry Anda terjadi kerusakan, maka Anda dapat mengembalikannya dengan cara mengopikan kembali dua file (SYSTEM.DAT dan USER.DAT) pada direktori Windows.

Backup dari DOS Prompt pada Win 9x
Selain dari Windows, Anda dapat mem-backup kedua file Registry (USER.DAT dan SYSTEM.DAT) melalui halaman MS Dos Prompt. Caranya sebagai berikut:
1. Masuklah pada halaman MS DOS Prompt, melalui menu Start -> Programs -> MS DOS Prompt ( ).
2. Atau, apabila Anda masuk MS-DOS Prompt dari awal saat booting, Anda dapat menekan tombol F8, kemudian pilih Command Prompt Only apabila menemukan pilihan.
3. Keluarlah dari direktori standar MS DOS Prompt dengan cara mengetikkan perintah .CD\.. Berikut contohnya:

Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.
C:\WINDOWS\Desktop> CD\
C:\>

4. Sekarang masuklah pada direktori Windows, caranya sebagai berikut:

C:\>CD WINDOWS
C:\WINDOWS>

5. Bukalah tipe hidden pada file SYSTEM.DAT dan USER.DAT dengan cara berikut:

C:\WINDOWS>attrib -h -r system.dat
C:\WINDOWS>attrib -h -r user.dat

6. Kopikan kedua file tersebut (SYSTEM.DAT dan USER.DAT) dan sekalian gantilah namanya dengan nama lain. Berikut contohnya:

C:\WINDOWS>COPY system.dat system.data
1 file(s) copied
C:\WINDOWS>COPY user.dat user.data
1 file(s) copied

7. Sampai saat ini Anda telah selesai mem-backup file SYSTEM.DAT ke dalam file baru bernama SYSTEM.DATA dan USER.DAT di-backup dengan nama user.data. Apabila Anda hendak mengembalikan atau me-restore (catatan kalo registry rusak), maka Anda dapat menggunakan perintah berikut:
C:\WINDOWS>COPY system.data system.dat
1 file(s) copied
C:\WINDOWS>COPY user.data user.dat
1 file(s) copied
Jika pengembalian sudah selesai, Anda dapat me-restart komputer. Dan saya jamin komputer Anda kembali seperti sediakala dengan kondisi registry masih utuh seperti semula.

Cara memanggil / membuka Registry
Untuk menjalankan registry / membuka registry ada dua cara, yaitu :
1. Dengan menggunakan fasilitas Run, caranya yaitu : klik Start -> Run, kemudian ketikan regedit, lalu klik ok atau tekan tombol enter di keyboard.
2. Dengan menggunakan windows explorer. Caranya : buka Windows Explorer, kemudian pada addressbar ketikkan : C:\Windows\regedit.exe.

Mencoba Menelusuri Key
Ada kemungkinan dari pembaca yang merasa kesulitan untuk menemukan alamat key-nya (kuncinya). Kenapa, karena begitu panjang dan rumitnya nama kunci dari alamat yang digunakan. Untuk itu, Anda dapat dengan mudah mendapatkan kunci tersebut dengan cara menggunakan fungsi Find. Caranya sebagai berikut.
1. Sebagai contoh, Anda mendapatkan bentuk pengaturan seperti pada tabel berikut.


2. Pada pengaturan di atas, kita dapat membaca bahwa kunci utamanya (root key) adalah .HKEY_CURRENT_USER., dan kunci terakhir yang akan dituju adalah .desktop.. Untuk itu Anda dapat melakukan pencarian kunci .desktop. dengan klik mouse bagian kanan pada kunci .HKEY_CURRENT_USER., selanjutnya pilih Find.
3. Anda sekarang dihadapkan pada jendela pencarian (Find). Pada halaman tersebut, Anda dapat memasukkan kunci tujuannya, yaitu .Desktop..
4. Setelah kunci yang akan dicari dimasukkan, Anda dapat memulai pencarian dengan mengklik tombol Find Next.
5. Setelah menemukan kunci .Desktop., sekarang pastikanlah alamat lengkap dari kunci yang diketemukan dengan petunjuk tabel. Alamat lengkap (path) dapat dilihat pada status bar bagian bawah.
6. Setelah selesai, Anda dapat melanjutkan penyetingan dengan menambahkan kunci baru dan nilai data seperti yang telah diinstruksikan pada tabel setting.

Karakteristik Hard Disk

1 komen orang
Masing-masing hard disk memiliki karakteristik tersendiri. Karakteristik ini meliputi ukuran fisik hard disk, daya simpan, tingkat konsumsi daya, tingkat transfer rate, dan sebagainya. Kapasitas hard disk saat ini biasanya dinyatakan dalam satuan Gigabytes. Pada beberapa jenis hard disk model lama, masih menggunakan satuan Megabytes. Ukuran fisik hard disk biasanya dinyatakan dalam satuan inchi. Harddisk yang ada saat ini umumnya memiliki ukuran 3.5” atau 2.5” yang digunakan pada komputer dekstop dan laptop. Hard disk dengan ukuran 2.5” memiliki kecepatan dan daya simpan yang lebih rendah, namun lebih ekonomis dalam hal konsumsi daya

listrik dan relatif lebih tahan terhadap guncangan. Pada awal tahun 2007, hard disk SATA dan SAS 2.5” mulai dijual untuk keperluan komputer desktop dan server.
Revolusi ukuran fisik hard disk secara signifikan dapat dilihat pada hard disk ATA-7 LIF 1.8”—yang digunakan pada perangkat digital audio player dan subnotebooks—dengan kapasitas hingga 100GB, tingkat konsumsi daya yang rendah, serta sangat tahan terhadap guncangan. Sebagai perbandingan, hard disk ukuran 1.8” standar yang digunakan pada slot PCMCIA sebelumnya hanya mampu menampung 2 s.d. 5 GB saja. Selanjutnya, berbagai media penyimpanan berukuran 1” mulai digunakan, misalnya kartu memory CF tipe II yang biasa terpasang pada kamera digital dan perangkat portabel.

Dalam hal tingkat operasi baca tulis (input/output, I/O) per detik, hard disk modern saat ini sudah mampu melakukan 50 akses random atau 100 kali akses secara sekuensial per detik. Karakteristik hard disk yang lain, yaitu tingkat konsumsi daya, tingkat nouse (dalam ukuran dBA), daya tahan terhadap guncangan, serta tingkat transfer rate (kecepatan transfer rata-rata). Nilai transfer rate hard disk umumnya berkisar antara 44.2 MB/detik hingga 111.4 MB/detik. Sedangkan random access time (kecepatan akses acak) berkisar antara 5 ms hingga 15 ms.

TDW University - Rahasia Menjadi Kaya dan Bertumbuh Semakin Kaya

0 komen orang
Kekayaan adalah sama dengan kemampuan untuk terus bertahan hidup
dengan gaya hidup yang ada, tanpa harus bekerja.

Keterangan:

Penelitian yg dilakukan oleh Gallup International menunjukkan bahwa
rata-rata eksekutif ibukota & Asia kaya mampu bertahan 90 hari dengan
gaya hidup yang ada apabila besok dia berhenti kerja. Setelah itu mereka
harus mulai menjual asset atau berhutang.


Kaya adalah relatif. Sebagian orang merasa kaya ketika mempunyai uang
10 juta rupiah. Sebagian orang merasa tidak kaya walaupun sudah memiliki
uang 10 milyar. Menurut majalah Forbes kaya adalah orang yang mempunyai
penghasilan 1 juta US keatas setahunnya. Sedangkan menurut Robert T. Kiyosaki
yang mengutip dari gurunya Buckminster Fuller bahwa kaya adalah bukan berapa
besar active income anda melainkan kaya adalah apabila passive income lebih
besar dari biaya hidup. Yang dimaksud passive income disini adalah uang yang
masuk tanpa harus bekerja.

Sebagai perbandingan Mike Tyson, dia menghasilkan 300 juta USD sewaktu bertinju,
tapi hari ini bangkrut dan masih berhutang 35 juta USD. Maka sebetulnya Mike Tyson
bukan termasuk kaya, termasuk pula di dalam kategori orang yang bukan kaya
adalah orang-orang yang punya penghasilan 1 Juta USD/tahun namun pengeluarannya
1,2 juta USD/tahun.

Pertanyaan penting kali ini adalah:

1.) Bila besok anda berhenti kerja, berapa lama anda dapat bertahan hidup dengan
gaya hidup anda sekarang tanpa harus menjual asset-asset anda?

2.) Lalu bagaimana kita bisa kaya menurut versi Robert T. Kiyosaki dimana passive
income lebih besar dari biaya hidup?

Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.

Cara membuat passive income:

- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan

Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda

kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- dan seminar 3 Hari Financial Revolution senilai Rp. 4.933.500,-
oleh Tung Desem Waringin bisa Anda dapatkan di :
http://www.tdwuniversity.com/launch/?id=5968

Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.

Cara membuat passive income:

- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan

Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda

kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- oleh Tung Desem Waringin bisa Anda dapatkan di :
http://www.tdwuniversity.com/launch/?id=5968