9/19/2008

Logika Program Terbilang (3 Digit) VB 6.0

Liburan puasa ini, dapat PR dari guru nih. Masa kita disuruh buat program pembilang? ah, ribet tau, tapi tak apa, rumit bukan berarti sulit, hehehe..... Saya tulis artikel ini buat teman - teman semua dan juga beberapa penjelasan yang mungkin dapat berguna bukan hanya untuk teman - teman sekolah saja, tapi juga buat teman - teman pembaca sekalian... hehe... (Kali ini saya hanya menulis angka 3 digit saja, karena PR nya disuruh 3 digit saja)



Sebenarnya, membuat program terbilang sama saja dengan membuat kamus. Apabila angka 1, menghasilkan terbilang "satu", 10 = "sepuluh", 33 = "tiga puluh tiga", dan 125 = "seratus dua puluh lima". Hanya saja teknik untuk mempresenstasikannya dengan kode yang benar - benar baik tidaklah mudah.



Tekniknya, adalah dengan mengambil angka setiap besaran. Misal 987. Maka 9 termasuk "ratusan", 8 termasuk "puluhan", dan 7 termasuk "satuan". Disini terdapat alur logikanya, apabila 9 adalah ratusan maka dibaca "sembilan" ditambah "ratus, menjadi "sembilan ratus". Kalau 9 adalah puluhan maka "sembilan"+"puluh" = "sembilan puluh". Cukup dengan fungsi pengolahan string seperti Len, Left, Right anda akan menemukan kemudahan dari algoritma ini.


Len : mengambil banyaknya character (hasil dlm bentuk angka)
Len ([expression/string dlm variabel])


Right : mengambil beberapa char dlm string, dimulai dari kanan.
Right (string, lenght As long/banyaknya yang diambil)


Left : mengambil beberapa char dlm string, dimulai dari kiri.
Left (string, lenght As long/banyaknya yang diambil)


Contoh penggunaan :


Len ("makanNasi") menghasilkan "9"


Right ("makanNasi", 4) menghasilkan "Nasi"


Left ("makanNasi", 4) menghasilkan "maka"


Coba baca dengan cepat: 123 321 231 121 221 212 112 312 123 .....

Sebenarnya tak ada hubungannya, saya hanya mengerjai anda. Tapi coba lihat, dari sekian banyak angka, anda pasti membacanya "seratus dua puluh tiga", bukan "satu ratus dua puluh tiga" bukan. Kemunginan inilah yang akan terjadi dalam pemrograman, misal 11 bukan dibaca "sepuluh satu", tapi "sebelas".



Untuk kasus yang seperti itu, kita butuh fungsi deklarasi relatif, atau struktur pengambil keputusan, seperti IF...Then..Else.. dan Function untuk menyimpan fungsi terbilang.



Ok, sepertinya rahasianya sudah terungkap, mari kita lihat kodenya :



Dim Angka(10)

Public Function writeBilangan(ByVal nilai As String) As String

Angka(1) = "satu"
Angka(2) = "dua"
Angka(3) = "tiga"
Angka(4) = "empat"
Angka(5) = "lima"
Angka(6) = "enam"
Angka(7) = "tujuh"
Angka(8) = "delapan"
Angka(9) = "sembilan"

If nilai <> 0 Then
nilai = Trim(nilai)
writeBilangan = procRatusan(Abs(nilai)) & procPuluhan(Abs(nilai)) & procSatuan(Abs(nilai))
Else
writeBilangan = "nol"
End If
End Function

Private Function procSatuan(ByVal x1 As String) As String
If (Left(Right(x1, 2), 1) <> Null) Then
procSatuan = ""
ElseIf (Len(x1) > 1 And Left(Right(x1, 2), 1) = 1) Then
procSatuan = ""
Else
procSatuan = Angka(Right(x1, 1))
End If

End Function

Private Function procPuluhan(ByVal x2 As String) As String
Dim r2, s2 As String
r2 = Left(Right(x2, 2), 1)
s2 = Right(x2, 1)

If (Len(x2) > 1) Then
If (r2 = 1 And s2 = 0) Then
procPuluhan = "sepuluh "
ElseIf (r2 = 1 And s2 = 1) Then
procPuluhan = "sebelas "
ElseIf (r2 = 1 And s2 > 1) Then
procPuluhan = Angka(s2) & " belas "
ElseIf (r2 > 0) Then
procPuluhan = Angka(r2) & " puluh "
End If
End If
End Function

Private Function procRatusan(ByVal x3 As String) As String
If (Len(x3) > 2) Then
If (Left(Right(x3, 3), 1) = 1) Then
procRatusan = "seratus "
Else
procRatusan = Angka(Left(Right(x3, 3), 1)) & " ratus "
End If
End If
End Function

Tulis kode ini (copy paste sajalah) kedalah sebuah form kosong. Apabila anda ingin melihat fungsinya, silahkan tulis kode dibawah pada form, bagian general..



Private Sub Form_Load()
writeBilangan("345")
End Sub

Ok, mungkin itu saja yang bisa saya jelaskan. Apabila anda ingin membuat input text, hapus kode tadi yang berisi writeBilangan("345"), lalu buat "text box", "command button", dan "label". Kemudian buat script di command button yang mengubah caption label menjadi hasil dari fungsi yang sudah dibuat. Contoh :


Private Sub Command1_Click()
label1.caption = writeBilangan(text1.text)
End Sub

Mungkin masih banyak cara lain untuk menyusun program terbilang ini, masih banyak cara lain untuk membuat hasil yang sama dan logika yang sama, hanya saja alur untuk membuatnya saja yang berbeda.



Sebagai pengembangan untuk lebih dari 3 digit saja, saya akan berikan contoh permisalkan.



Tentu kita kesulitan saat membaca 95871258, namun tidak dengan 95.871.258 bukan? bagian 258 dibaca "dua ratus lima puluh delapan", dan bagian 871 dibaca "delapan ratus tujuh puluh satu" + "ribu" , dan 95 dibaca dengan "sembilan puluh lima" + "juta". Saat anda membilangkannya, menjadi "sembilan puluh lima" + "juta" + "delapan ratus tujuh puluh satu" + "ribu" + "dua ratus lima puluh delapan".



Mudah bukan? hanya menambah juta, ribu.. dan memanggil fungsi sebelumnya yang sudah dibuat. Kuncinya adalah pemisahan 3 digit pada bilangan tersebut. Pisahkan setiap 3 digit pada bilangan yang akan diproses, lalu panggil fungsi untuk membilangkannya.

OK, buat pembaca sekalian, selamat mencoba... dan teman - teman sekolah satu SMA 2, moga sukses PR nya!

9/19/2008

Mencegah Virus tanpa Anti Virus... (cukup install text ini di otak!!)

Mungkin sebagian dari kita, pernah dongkol atau muakkk banged ama yang satu ini. tapi ada satu cara yang mungkin bisa menangkal paling tidak beberapa persen kemungkinan untuk menjaga agar komputer kita tetap aman, paling tidak, tanpa antivirus pun, komputer anda akan tetap aman.

(1) Vi-lash disk (Virus infected Flash disk, hehe)...

Nah, baca sampai habis...
Virus bekerja apabila rentetan kode yang menjerumuskan itu dijalankan, salah satu caranya, adalah dengan memanfaatkan flash disk. Cara yang paling akurat adalah dengan menggunakan AUTORUN. nah, AUTORUN ini, adalah situasi dimana window menjalankan suatu perintah otomatis, saat flashdisk di cucuk, jalanlah perintah untuk menjalankan kode yang ada di flash disk (apabila tersedia), karena itu mengapa terkadang komputer kita terjangkit virus, meski kita sudah hati - hati membuka flsh disk. kalau anda mau tahu, penyebab flash disk menjalankan suatu kode, adalah karena file "AUTORUN.INF". File ini berisikan perintah yang akan dijalankan setelah memasukan sebuah flashdisk. Namun, kalau flashdisknya tidak ada file itu, ya tidak terjadi apa - apa.


** Preparing.... Sebelum mulai mencucuk FlashDisk, buka "My Computer", lalu pilih "[tools] } [FolderOptions...]", pilih tab "View". Cari option yang keterangannya "show hidden files and folder" dan aktifkan. Matikan tanda centang pada "Hide extensions for known file types" dan "Hide protected operating sytem files".


Kamus: Folder Option & File extensions


*** "show hidden files and folder" berfungsi untuk menyembunyikan/tidak menampilkan file - file yang hidden (memiliki attribute Hidden).


*** "Hide extensions for known file types" Ini berfungsi untuk menyembunyikan ekstensi file, yang merupakan identitas dari jenis - jenis file. seperti ".doc" (Word Document), ".jpg" (gambar), ".exe" (program/executeable).


*** "Hide protected operating sytem files" Apabila option ini dicentang, semua file yang beratribut "System", akan disembunyikan/tidak ditampilkan. Sebenarnya fungsi ini bertujuan untuk menyemmbunyikan file - file penting windows (system), agar aman atau tidak terjadi salah hapus.


** Untuk menjegah file "AUTORUN.INF" tadi diakses, kita mesti menekan tombol [SHIFT] saat mencucuk flashdisk ke komputer, jangan dilepas, tekan terus sampai muncul gambar flashdisk (atau removable disk) di window "My Computer".


** Nah supaya kita terhindar dari virus tadi, perlu sangat mesti harus diingat, jangan mengakses flashdisk lewat Klik 2x di "My Computer". Itu sama saja dengan menjalankan file "AUTORUN.INF" yang akan mengacu ke Virus yang di tuju. Buka "Window Explorer" (bisa lewat "Start", klik kanan, pilih [Explore]), lalu buka Flashdisk dengan cara meng-klik tanda panah kecil2 dalam kotak yang ada di sebelah kiri (expand), atau boleh meng-klik flashdisk, namun cukup sekali saja. Ini menghindari agar file "AUTORUN.INF" tidak di akses.


** Yeah!!, file "AUTORUN.INF" yang jadi dalangnya kini terlihat tanpa harus kena virus. Sekarang, kita mesti mencari tau, kemana autorun itu mengacu, karena pastilah itu virusnya. Buka "Notepad" atau text editor lainnya, lalu drag (klik lalu geser) file "AUTORUN.INF" itu ke Notepad yang sudah dibuka.


Keterangan file autorun yang dibuat oleh virus


[autorun]
open=explorer.exe (otomatis menjalankan "explorer.exe")
shellexecute=explorer.exe
shell\auto\command=explorer.exe
shell=auto (membuat command baru "auto")



*** terjemahan kode tersebut ke bahasa manusia indonesia, adalah, (baris kedua) saat flashdisk di cucuk, window akan menjalankan file "explorer.exe" yang isinya barupa virus, (baris ketiga sampai kelima) secara otomatis, akan membentuk command menu baru bertuliskan "auto" yang akan menjalankan file "exporer.exe" yang isinya virus (command menunya dapat dilihat saat meng-klik kanan flashdisk yang ada file autorun ini.


*** File "AUTORUN.INF" sebenarnya bisa langsung dibuka dengan langsung meng-klik 2x pada file tersebut (open) namun, lebih amannya lagi men-drag tersebut ke text editor (dalam hal ini notepad).


** Setelah Membuka file autorun itu, coba cek kodenya, apakah kode tersebut mengacu ke salah satu file yang kiranya mencurigakan, misal nama filenya berakhiran (ber ekstensi) rentan virus. Contoh ekstensi file rentan virus: ".exe", ".scr", ".cmd", ".bat", ".vbs", ".db", ".htt", ".com", dan lain - lain banyak banged. Yang penting, kita cukup mencermati file autorun yang menuju kemana, itulah virusnya.


** Catatan, anda pasti melihat, file virus kebanyakan beratribut "system", jadi saat kita liat, filenya transparan. Tapi JANGAN DIHAPUS DULU, sapa tau, itu adalah file anda yang disembunyikan oleh virus. Jadi anda mencari file virus yang dituju oleh "Autorun" tadi (misal explorer.exe) klik kanan, lalu properties. Catat Informasi penting seperti size, created, modified.


** Setelah itu, hapus file virusnya (explorer.exe) bersama "Autorun.inf" (file virus tidak mesti "Explorer.exe", masih banyak nama lain yang menipu anda, contohnya, "MyDiary.exe", "PvServerMouse.exe", "CeweBandung.exe", dan banyak lagi)


** File Virus tidak hanya itu saja, banyak kemungkinan, Virus menduplikasi dirinya dan menamai dengan nama yang berbeda - beda. Cukup mencari file yang "ber-extensi" aneh-aneh, seperti ".exe". Cari file tersebut dengan menggunakan "Search" , pilih dulu "All files and folders", lalu ketik pada file name seperti ini: *.exe. Pilih "more advanced options", centang "Search system folders", "Search hidden files and folder", dan "search subfolders".


** Nah, catatan yang sebelumnya pernah dicatat, silahkan dibuka kembali, berupa informasi file yang isinya size, created, modified. Masukan informasi - informasi yang dicatat tadi ke dalam search keyword, dan informasi2 lainnya...


*** Contoh:

Keyword (all part of the file name): "*.exe"


Look in: nama drive flashdisk / lokasi pencarian


modified (when was it modified?) : "11 agustus 2008" (contoh saja)


What size is it? : : misal data yang anda dapatkan adalah 78kb, maka isi seperti ini, centang specify size (in Kb) : at most 80Kb


More advanced options : centang search system folders, hidden files & folders, Search subfolders.


** Yeahh... Ketemulah segala macam file yang ekstensinya *.exe, sekali lagi, telitilah mengecek file2 yang telah ditemukan. Apakah file tersebut benar2 sama dengan informasi2 yang kita dapatkan. Apakah sizenya sama dengan file induk virusnya (yang berada disebelah file "Autorun.inf").


** Salah satu tips yang paling ampuh buat anda, adalah dengan melihat icon file itu (gambar yang tampil), kebanyakan virus menyamar sebagai folder (karena icon/gambar file tersebut adalah folder). User sering terkecoh dengan folder ini, maka dibukalah virus yang bergambar folder tadi. Contohnya "My Pictures.exe", bagi yang terbiasa dengan window, pasti heran, gambarnya folder, tetapi akhirannya (ekstensinya) ".exe", besar sekali kemungkinan file tersebut adalah virus. ".exe" merupakan file executeable, yang isinya berupa program. Tujuan virus ini menyamar sebagai folder, adalah untuk mengecoh orang yang lalai dalam berkeomputer.


** Apabila sudah ketemu semua, dengan tanpa ragu, hapuslah file2 yang dicurigai itu. Tapi hati2, mungkin ada file penting anda yang juga tertera dari hasil pencarian itu... Karena itu, carilah dengan cermat.


** setelah membaca panjang lebar, akhirnya Flashdisk anda bersih dari virus.... selamat... maaf yah kalau artikelnya kepanjangan....


(2) File yang hilang dari Flasdisk....

Kebanyakan, Flashdisk yang sehabis dibersihkan (maupun yang telah di scan & clean oleh Antivirus) menyisakan sisa - sisa virus yang masih ada... Meski itu bukan virus, namun tetap saja mengganggu. Yaitu Folder yang hilang


Sebenarnya Folder itu bukan hilang/terhapus, folder tersebut dapat dikatakan "disembunyikan". Virus meng-copy dirinya yang bergambar folder, dan menamakan dirinya sesuai dengan nama folder yang ada di Flashdisk. Karena itulah ia menyembunyikan Folder yang asli agar anda tidak mengetahuinya.


Untuk melihat folder-folder yang hilang ini, cukup mudah. Buka lagi "[tools][folder option]" lalu ikuti seperti langkah - langkah diatas yang sudah dibahas.


Bagaimana cara mengembalikannya? cukup mudah juga. Buka panel [start][Run]. lalu ketik "cmd", dan klik ok.


Setelah itu anda akan melihat tampilan "Commad Promt" yang merupakan program bawaan dari window.


Ketik seperti ini "[DriveTujuan]:" (Abjad Drive tujuan disertai tanda titik dua). Penjelasannya, misal anda memasukan flashdisk. Buka "My Computer" lalu lihat, apa lokasi drive flshdisk anda.


Setelah mengubah Drive menjadi "I\>", ketik "attrib -s -h /s /d", lalu enter. Tunggu sebentar, lamanya proses tergantung dari banyaknya file yang ada di dalam flashdisk anda....


Penjelasan:


attrib -s -h /s /d

Fungsi attrib adalah untuk melihat attribut file ataupun mengganti attribut dari file


-s : fungsinya untuk menghilangkan attribut "system" pada file. Attribut system merupakan attribut sebagai pengenalan bahwa file yang beratribut ini akan disembunyikan oleh sistem, sebenarnya fungsinya untuk meng-hidden file-file penting system.


-h : untuk menghilangakn attribut hidden.


untuk lebih jelasnya, silahkan ketik pada cmd: "help attrib"


(3) Men-Turn Off Autorun....

File "Autorun.inf" yang berada dalam flashdisk, akan diakses dan dijalankan, kecuali pada Window XP SP2, "critical security update" sudah secara otomatis, dan semua "removable disk" telah di disable autorun-nya. Bagi Anda yang ingin memastikan untuk mendisable-nya. Anda mesti menggunakan "Group Policy" pada windows.


Pilih menu [start][run], dan ketik "GPEDIT.MSC"


Setelah muncul window "Group Policy", Pilih [User Configuration][Administrative Templates][Sytem]. Cukup mengklik folder "system", lalu carilah "Turn Off Autoplay" di panel sebelah kiri, lalu klik dua kali.


pilih option "enable", dan pada pilihan ComboBox "Turn off autoplay on" , Pilih "All Drivers" untuk mematikan Autorun di semua jenis Drive.


Untuk melihat efeknya, silahkan Restart komputer anda, dan lihat, setiap anda memasukan CD ataupun Flash disk, autorun tidak akan dijalankan.


Namun Efek yang cukup merepotkan dari langkah ini, Tiap CD yang memiliki menu khusus yang berjalan saat CD dimasukan, sekarang tidak akan berjalan lagi. Anda perlu menjalankannya secara manual. Hal ini disebabkan karena file autorun yang seharusnya mengakses menu secara otomatis, dimatikan. Untuk itu, pilihan settingan mana yang terbaik, ada di tangan anda.

9/19/2008

FlashDisk Tweaking..... Changing Background...

Pada directory flashdisk, mungkin sebagian dari anda pernah melihat flashdisknya memiliki background tersendiri. Misal gambar fotonya, atau artis A7X pun jadi paparan sebagai identitas flasdisk siapa itu. Hanya dengan script "Desktop.ini" yang ada pada flashdisk, anda akan mendapatkan flashdisk anda memiliki background tersendiri.


ini file desktop.ini

[ExtShellFolderViews]
{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}


[{BE098140-A513-11D0-A3A4-00C04FD706EC}]

Attributes=2
IconArea_image=background.jpg (ini lokasi file background/gambar)
IconArea_Text= 0xeedddd


[.ShellClassInfo]
ConfirmFileOp=0

Hanya satu background seperti itu, yah biasa saja. Tapi coba, bagaimana kalau background dari flashdisk anda bisa berubah-ubah? tidak hanya itu - itu saja, Background akan terus berganti apabila diakses. Seru kan? lalu, bagaimana cara membuatnya?


Kunci Pertama adalah pada script "Desktop.ini" pada baris "IconArea_image=background.jpg", maksud dari kode tadi, adalah gambar yang akan ditampilkan adalah "background.jpg". Tak peduli gambarnya seperti apa, ukuran apapun, asal ada file yang bernama "background.jpg", maka gambarnya akan langsung ditampilkan, sudah mengerti sampai disini?



Kunci Kedua, adalah sebuah kode pemrograman yang cukup pendek, yang dijalankan dengan "command promt". OK, kita akan bermain dengan logika pemrograman.



Kita memiliki 2 buah gambar, dan ingin ketiganya menjadi background pada flashdisk. Namun, File "desktop.ini" hanya memperbolehkan 1 nama saja untuk dijadikan background, yaitu "Background.jpg". Untuk mempermudah pengaturan background. Mari kita namakan gambar - gambar kita secara berurutan : "Background.jpg", "Abackground.jpg".


Ganti nama file yang anda perkenankan untuk menjadi background flashdisk anda menjadi "background.jpg", dan "abackground.jpg"


Usahakan gambar yang akan digunakan tidak terlalu terang, karena apabila terlalu terang akan mempersulit untuk melihat folfer - folder pada flashdisk


Misal "Background" = gambar 1, dan "ABackground" = gambar 2. Gambar 1 isinya adalah foto pemandangan, dan gambar 2 adalah gambar kartun naruto. Apabila nama gambar 2 ("Abackground.jpg") anda ganti dengan nama "Background.jpg", maka secara otomatis, background flashdisk kita akan berubah. yaitu yang ada pada gambar 2 yang sekarang bernama "Background.jpg". Disinilah logikanya dimainkan.





Nah untuk mengganti filename kita membutuhkan fungsi yang ada di dalam "Command Promt" yaitu "Rename". Namun ada pengecualian dalam fungsi ini. Dalam satu waktu perubahan, tidak boleh ada nama yang sama. Kita tidak perlu menjalankan Command Promt, karena kita dapat menjalankan fungsinya melalui file yang kita buat sendiri, yang memiliki ekstensi ".bat" (MS-Dos Batch File).



Buka notepad, lalu ketik script seperti dibawah....



Save yang sudah diketik tadi dengan nama "batch.bat" dengan "save as type" : "All files".



Siapkan semua file yang akan dipakai di dalam Flasdisk, jangan taruh file-file itu kedalam sub-folder (atau didalam folder), karena untuk hal itu, mesti dilakukan modifikasi script terlebih dahulu.



Pastikan File-file yang diperlukan ("batch.bat", "desktop.ini", "background.jpg", "abackground.jpg") sudah siap. Sekarang, coba buka flashdisk anda, dan refresh (atau tekan F5). Lihat perubahan pada flashdisk anda. Setelah itu, coba buka "batch.bat", lalu refresh kembali. Lihat Perubahan yan terjadi.


Jangan puas dulu, background akan berganti apabila file "batch" dijalankan. Kita belum membuat background berganti apabila Flashdisk diakses. Untuk itu, kita masih perlu file yang bernama "AUTORUN.INF"... Semacam file yang isinya akan mengacu pada script yang telah kita buat tadi.


Ketik kode dibawah di dengan notepad, lalu save dengan nama "Autorun.inf" dengan save as type "All files


[autorun]

open=batch.bat

shellexecute=batch.bat

shell\Change\command=batch.bat

shell=Change

Penjelasan singkat: Autorun merupakan file yang berisi perintah otomatis, yang akan secara otomatis dijalankan saat sebuah drive di akses. Dalam hal ini, Flashdisk akan secara otomatis menjalankan "Batch.bat" saat ia diakses (di buka) melalui "my computer".


Sekarang cabut flashdisk anda (sebaiknya safely remove dulu), tunggu beberapa saat lalu cucuk kembali. Buka "My Computer" dan Buka Flashdisk anda, dan amati yang terjadi.


Sepertinya, tinggal merapikan hasil kerjaan saja. Ketik Script dibawah ini, lalu save dengan nama "hide.bat".


attrib autorun.inf +s +h
attrib desktop.ini +s +h
attrib batch.bat +s +h
attrib background.jpg +s +h
attrib abackground.jpg +s +h
del hide.bat /q

Jalankan file tersebut. File bukannya hilang, tetapi attribut mereka diganti dengan attribut "System", karena itu, file yang beratribut "system" akan secara otomatis disembunyikan oleh window dengan alasan keamanan file. Kecuali anda telah mendisable option "Hide Protected System files" pada opsi "Folder Option" (cara membuka folder option: buka my computer lalu pilih [tools][folder options]


Masih banyak yang dapat di modifikasi dari script ini. Seperti banyaknya background, lokasi (path directory) file disimpan, dan banyak lagi. Sekedar tips, apabila anda ingin mengubah warna font, coba modifikasi "Desktop.ini" pada baris kode "IconArea_Text= 0xeedddd". Kode "eedddd" bisa anda ubah dalam bilangan Hexa (batasnya : 0-9, A-F). OK? Hahahaha, coba modifikasi sendiri yah. Untuk mempermudah, saya akan berikan logika pemrogramannya pada 4 file sekaligus, dan ingat, dalam satu perubahan nama file, tidak boleh ada nama yang sama, simplenya, dalam tiap langkah perubahan, jangan sampai ada nama yang sama.



Hahahaha..... Met mencoba.... salam.....