Minggu, 25 Maret 2012

Cara Membuat Aplikasi Kalkulator dengan Visual Basic 6.0


Program kalkulator adalah program standar yang sudah tersedia di Microsoft Windows. Tetapi, tak ada salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.
Pertama-tama, buatlah sebuah form sesuai selera Anda, yang bentuknya kurang lebih seperti
kalkulator standar Windows, seperti ini:



Untuk properties dari masing-masing objek, saya contohkan seperti dibawah ini, dengan letak
masing-masing objek disesuaikan dengan gambar diatas.
Textbox 1:
(Name) : txtDisplay
Alignment: 1-Right Justify
Text : (kosongkan)
Maxlength : 12

Command Button 1:
(Name) : cmdAngka
Index : 1
Caption : 1

Command Button 2:
(Name) : cmdAngka
Index : 2
Caption : 2

Command Button 3:
(Name) : cmdAngka
Index : 3
Caption : 3

Command Button 4:
(Name) : cmdAngka
Index : 4
Caption : 4

Command Button 5:
(Name) : cmdAngka
Index : 5
Caption : 5

Command Button 6:
(Name) : cmdAngka
Index : 6
Caption : 6

Command Button 7:
(Name) : cmdAngka
Index : 7
Caption : 7

Command Button 8:
(Name) : cmdAngka
Index : 8
Caption : 8

Command Button 9:
(Name) : cmdAngka
Index : 9
Caption : 9

Command Button 10:
(Name) : cmdAngka
Index : 0
Caption : 0

Command Button 11:
(Name) : cmdPlusMinus
Caption : +/-

Command Button 12:
(Name) : cmdKoma
Caption : .

Command Button 13:
(Name) : cmdOperator
Index : 1
Caption : +

Command Button 14:
(Name) : cmdOperator
Index : 2
Caption : -

Command Button 15:
(Name) : cmdOperator
Index : 3
Caption : x

Command Button 16:
(Name) : cmdOperator
Index : 4
Caption : /

Command Button 17:
(Name) : cmdClearEntry
Caption : CE

Command Button 18:
(Name) : cmdClear
Caption : C

Command Button 19:
(Name) : cmdSamaDengan
Caption : =

Berikutnya, Anda tinggal membuat coding dari kalkulator tersebut. Jika Anda mengikuti semua
setting properties seperti diatas, maka codingnya saya contohkan seperti ini:

Option Explicit
Private Hasil As Double
Private Const opNol = 0
Private Const opTambah = 1
Private Const opKurang = 2
Private Const opKali = 3
Private Const opBagi = 4
Private Operator As Integer
Private NilaiBaru As Boolean

' untuk menghapus karakter terakhir
Private Sub Hapus()
Dim txt As String
Dim min_len As Integer
txt = txtDisplay.Text
If Left$(txt, 1) = "-" Then
min_len = 2
Else
min_len = 1
End If
If Len(txt) > min_len Then
txtDisplay.Text = Left$(txt, Len(txt) - 1)
Else
txtDisplay.Text = "0"
End If
End Sub

' hapus angka, hasil terakhir dan operator
Private Sub cmdClear_Click()
cmdClearEntry_Click
Hasil = 0
Operator = opNol
End Sub
' hapus angka
Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub
' menambahkan koma (desimal)
Private Sub cmdKoma_Click()
If InStr(txtDisplay.Text, ".") Then
Beep
Else
If NilaiBaru Then
txtDisplay.Text = "."
NilaiBaru = False
Else
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
End Sub

' Menghitung
Private Sub cmdSamaDengan_Click()
Dim HasilBaru As Double
If txtDisplay.Text = "" Then
HasilBaru = 0
Else
HasilBaru = CDbl(txtDisplay.Text)
End If
Select Case Operator
Case opNol
Hasil = HasilBaru
Case opTambah
Hasil = Hasil + HasilBaru
Case opKurang
Hasil = Hasil - HasilBaru
Case opKali
Hasil = Hasil * HasilBaru
Case opBagi
'Tidak bisa dibagi nol
If HasilBaru = 0 Then
MsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku ERROR"
Call cmdClear_Click
Else
Hasil = Hasil / HasilBaru
End If
End Select
Operator = opNol
NilaiBaru = True
txtDisplay.Text = Format$(Hasil)
End Sub

' menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
If NilaiBaru Then
txtDisplay.Text = Format$(Index)
NilaiBaru = False
Else
txtDisplay.Text = _
txtDisplay.Text & Format$(Index)
End If
End Sub
' tombol tambah/kurang/bagi/kali
Private Sub cmdOperator_Click(Index As Integer)
cmdSamaDengan_Click
Operator = Index
NilaiBaru = True
End Sub

' merubah tanda +/-
Private Sub cmdPlusMinus_Click()
If NilaiBaru Then
txtDisplay.Text = "-"
ElseIf Left$(txtDisplay.Text, 1) = "-" Then
txtDisplay.Text = Right$(txtDisplay.Text, 2)
Else
txtDisplay.Text = "-" & txtDisplay.Text
End If
End Sub

' filter untuk angka saja yg dapat diketikkan
Private Sub Form_KeyPress(KeyAscii As Integer)
txtDisplay_KeyPress KeyAscii
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplay_KeyUp KeyCode, Shift
End Sub
' supaya kursor tetap di kanan
Private Sub txtDisplay_Change()
txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub
Private Sub txtDisplay_GotFocus()
txtDisplay_Change
End Sub

' untuk mengetikkan angka di keyboard
Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr$(KeyAscii)
Select Case ch
Case "0"
cmdAngka_Click 0
Case "1"
cmdAngka_Click 1
Case "2"
cmdAngka_Click 2
Case "3"
cmdAngka_Click 3
Case "4"
cmdAngka_Click 4
Case "5"
cmdAngka_Click 5
Case "6"
cmdAngka_Click 6
Case "7"
cmdAngka_Click 7
Case "8"
cmdAngka_Click 8
Case "9"
cmdAngka_Click 9
Case "*", "x", "X"
cmdOperator_Click opKali
Case "+"
cmdOperator_Click opTambah
Case vbCrLf, vbCr, "="
cmdSamaDengan_Click
Case "-"
cmdOperator_Click opKurang
Case "."
cmdKoma_Click
Case "/"
cmdOperator_Click opBagi
Case "C", "c"
cmdClearEntry_Click
End Select
KeyAscii = 0
End Sub

' untuk ketikan angka di numpad
Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad0
cmdAngka_Click 0
Case vbKeyNumpad1
cmdAngka_Click 1
Case vbKeyNumpad2
cmdAngka_Click 2
Case vbKeyNumpad3
cmdAngka_Click 3
Case vbKeyNumpad4
cmdAngka_Click 4
Case vbKeyNumpad5
cmdAngka_Click 5
Case vbKeyNumpad6
cmdAngka_Click 6
Case vbKeyNumpad7
cmdAngka_Click 7
Case vbKeyNumpad8
cmdAngka_Click 8
Case vbKeyNumpad9
cmdAngka_Click 9
Case vbKeyMultiply
cmdOperator_Click opKali
Case vbKeyAdd
cmdOperator_Click opTambah
Case vbKeySeparator
cmdSamaDengan_Click
Case vbKeySubtract
cmdOperator_Click opKurang
Case vbKeyDivide
cmdOperator_Click opBagi
Case vbKeyDecimal
cmdKoma_Click
Case vbKeyBack, vbKeyDelete
Hapus
End Select
KeyCode = 0
End Sub

Kamis, 15 Maret 2012

Bilangan Biner dalam Bahasa Pemrograman


Mengubah Bilangan Biner, Desimal, Oktal, Heksadesimal
Pada kesempatan ini, saya ingin coba menjabarkan tahap2 sederhana proses konversi bilangan desimal, biner, oktal dan heksadesimal. pertama x hal yang harus dilakukan, pergi kewarung buat beli rokok, sediakan teh manis/kopi, tarik nafas yg dalam, ambil aba2 untuk melakukan perang dengan angka 0 dan 1
Bilangan desimal adalah bilangan yang menggunakan 10 angka mulai 0 sampai 9 berturut2. Setelah angka 9, maka angka berikutnya adalah 10, 11, 12 dan seterusnya. Bilangan desimal disebut juga bilangan berbasis 10. Contoh penulisan bilangan desimal : 1710. Ingat, desimal berbasis 10, maka angka 10-lah yang menjadi subscript pada penulisan bilangan desimal.
Bilangan biner adalah bilangan yang hanya menggunakan 2 angka, yaitu 0 dan 1. Bilangan biner juga disebut bilangan berbasis 2. Setiap bilangan pada bilangan biner disebut bit, dimana 1 byte = 8 bit. Contoh penulisan : 1101112.
Bilangan oktal adalah bilangan berbasis 8, yang menggunakan angka 0 sampai 7. Contoh penulisan : 178.
Bilangan heksadesimal, atau bilangan heksa, atau bilangan basis 16, menggunakan 16 buah simbol, mulai dari 0 sampai 9, kemudian dilanjut dari A sampai F. Jadi, angka A sampai F merupakan simbol untuk 10 sampai 15. Contoh penulisan : C516.
Hmm.. Sepertinya prolognya sudah cukup. Lanjut ke proses kalkulasi…
Desimal ke binner
Saya langsung saja ambil sebuah contoh bilangan desimal yang akan dikonversi ke biner. Setelah itu, akan saya lakukan konversi masing2 bilangan desimal, biner, oktal dan heksadesimal.
Misalkan bilangan desimal yang ingin saya konversi adalah 2510.
Maka langkah yang dilakukan adalah membagi tahap demi tahap angka 2510 tersebut dengan 2, seperti berikut :
25 : 2 = 12,5
Jawaban di atas memang benar, tapi bukan tahapan yang kita inginkan. Tahapan yang tepat untuk melakukan proses konversi ini sebagai berikut :
25 : 2 = 12 sisa 1. —–> Sampai disini masih mengerti kan?
Langkah selanjutnya adalah membagi angka 12 tersebut dengan 2 lagi. Hasilnya sebagai berikut :
12 : 2 = 6 sisa 0. —–> Ingat, selalu tulis sisanya.
Proses tersebut dilanjutkan sampai angka yang hendak dibagi adalah 0, sebagai berikut :
25 : 2 = 12 sisa 1.
12 : 2 = 6 sisa 0.
6 : 2 = 3 sisa 0.
3 : 2 = 1 sisa 1.
1 : 2 = 0 sisa 1.
0 : 2 = 0 sisa 0…. (end)
Nah, setelah didapat perhitungan tadi, pertanyaan berikutnya adalah, hasil konversinya yang mana? Ya, hasil konversinya adalah urutan seluruh sisa-sisa perhitungan telah diperoleh, dimulai dari bawah ke atas.
Maka hasilnya adalah 0110012. Angka 0 di awal tidak perlu ditulis, sehingga hasilnya menjadi 110012. Sip?
Desimal ke oktal
Lanjut…..sekarang saya akan menjelaskan konversi bilangan desimal ke oktal.
Proses konversinya mirip dengan proses konversi desimal ke biner, hanya saja kali ini pembaginya adalah 8. Misalkan angka yang ingin saya konversi adalah 3310. Maka :
33 : 8 = 4 sisa 1.
4 : 8 = 0 sisa 4.
0 : 8 = 0 sisa 0….(end)
Hasilnya? Coba tebak…418!!!
Desimal ke heksadesimal
Sekarang tiba waktunya untuk mengajarkan proses konversi desimal ke heksadesimal…
Seperti biasa, langsung saja ke contoh. Hehe…
Misalkan bilangan desimal yang ingin saya ubah adalah 24310. Untuk menghitung proses konversinya, caranya sama saja dengan proses konversi desimal ke biner, hanya saja kali ini angka pembaginya adalah 16. Maka :
243 : 16 = 15 sisa 3.
15 : 16 = 0 sisa F. —-> ingat, 15 diganti jadi F..
0 : 16 = 0 sisa 0….(end)
Nah, maka hasil konversinya adalah F316. Mudah, bukan?
Fiuh..Lanjut lagi…
Biner ke desimal
Sekarang kita beralih ke konversi bilangan biner ke desimal. Proses konversi bilangan biner ke bilangan desimal adalah proses perkalian setiap bit pada bilangan biner dengan perpangkatan 2, dimana perpangkatan 2 tersebut berurut dari kanan ke kiri bit bernilai 20 sampai 2n.
Langsung saja saya ambil contoh bilangan yang merupakan hasil perhitungan di atas, yaitu 110012. Misalkan bilangan tersebut saya ubah posisinya mulai dari kanan ke kiri menjadi seperti ini.
1
0
0
1
1
Nah, saatnya mengalikan setiap bit dengan perpangkatan 2. Ingat, perpangkatan 2 tersebut berurut mulai dari 20 sampai 2n, untuk setiap bit mulai dari kanan ke kiri. Maka :
1 ——> 1 x 20 = 1
0 ——> 0 x 21 = 0
0 ——> 0 x 22 = 0
1 ——> 1 x 23 = 8
1 ——> 1 x 24 = 16 —> perhatikan nilai perpangkatan 2 nya semakin ke bawah semakin besar
Maka hasilnya adalah 1 + 0 + 0 + 8 + 16 = 2510.
Nah, bandingkan hasil ini dengan angka desimal yang saya ubah ke biner di awal tadi. Sama bukan?

Biner ke oktal
Sudah ini, sudah itu, sekarang….nah, konversi bilangan biner ke oktal. hehe…siap?
Untuk merubah bilangan biner ke bilangan oktal, perlu diperhatikan bahwa setiap bilangan oktal mewakili 3 bit dari bilangan biner. Maka jika kita memiliki bilangan biner 1101112 yang ingin dikonversi ke bilangan oktal, langkah pertama yang kita lakukan adalah memilah-milah bilangan biner tersebut, setiap bagian 3 bit, mulai dari kanan ke kiri, sehingga menjadi seperti berikut :
110 dan 111
Sengaja saya buat agak berjarak, supaya lebih mudah dimengerti. Nah, setelah dilakukan proses pemilah2an seperti ini, dilakukan proses konversi ke desimal terlebih dahulu secara terpisah. 110 dikonversi menjadi 6, dan 111 dikonversi menjadi 7. Hasilnya kemudian digabungkan, menjadi 678, yang merupakan bilangan oktal dari 1101112… 
“Tapi, itu kan kebetulan bilangan binernya pas 6 bit. Jadi dipilah2 3 pun masih pas. Gimana kalau bilangan binernya, contohnya, 5 bit?” Hehe…Gampang..Contohnya 110012. 5 bit kan? Sebenarnya pemilah2an itu dimulai dari kanan ke kiri. Jadi hasilnya 11 dan 001. Ini kan sebenarnya sudah bisa masing2 diubah ke dalam bentuk desimal. Tapi kalau mau menambah kenyamanan di mata, tambahin aja 1 angka 0 di depannya. Jadi 0110012. Tidak akan merubah hasil perhitungan kok. Tinggal dipilah2 seperti tadi. Okeh?

Biner ke heksadesimal
Selanjutnya adalah konversi bilangan biner ke heksadesimal.

Hmm…sebagai contoh, misalnya saya ingin ubah 111000102 ke bentuk heksadesimal. Proses konversinya juga tidak begitu rumit, hanya tinggal memilahkan bit2 tersebut menjadi kelompok2 4 bit. Pemilahan dimulai dari kanan ke kiri, sehingga hasilnya sbb :
1110 dan 0010
Nah, coba lihat bit2 tersebut. Konversilah bit2 tersebut ke desimal terlebih dahulu satu persatu, sehingga didapat :
1110 = 14 dan 0010 = 2
Nah, ingat kalau 14 itu dilambangkan apa di heksadesimal? Ya, 14 dilambangkan dengan E16.
Dengan demikian, hasil konversinya adalah E216.
Seperti tadi juga, gimana kalau bilangan binernya tidak berjumlah 8 bit? Contohnya 1101012? Yaa…Seperti tadi juga, tambahin aja 0 di depannya. Tidak akan memberi pengaruh apa2 kok ke hasilnya. Jadi setelah ditambah menjadi 001101012. Selanjutnya, sudah gampang kan?

Oktal ke desimal
Selanjutnya, konversi bilangan oktal ke desimal. Hal ini tidak terlalu sulit. Tinggal kalikan saja setiap bilangan dengan perpangkatan 8. Contoh, bilangan oktal yang akan dikonversi adalah 718. Maka susunannya saya buat menjadi demikian :
1
7
dan proses perkaliannya sbb :
1 x 80 = 1
7 x 81 = 56
Maka hasilnya adalah penjumlahan 1 + 56 = 5710.

Oktal ke biner
Habis konversi oktal ke desimal, maka saat ini giliran oktal ke biner. Hehe..Langsung ke contoh. Misalkan saya ingin mengubah bilangan oktal 578 ke biner. Maka langkah yang saya lakukan adalah melakukan proses konversi setiap bilangan tersebut masing2 ke 3 bit bilangan biner. Nah, angka 5 jika dikonversi ke biner menjadi….? 1012. Sip. Nah, 7, jika dikonversi ke biner menjadi…? 1112. Mantap. Maka hasilnya adalah 1011112. Jamin benar deh….

Oktal ke heksadesimal
Hmm…berarti…sekarang giliran konversi oktal ke heksadesimal.Untuk konversi oktal ke heksadesimal, kita akan membutuhkan perantara, yaitu bilangan biner. Maksudnya? Maksudnya adalah kita konversi dulu oktal ke biner, lalu konversikan nilai biner tersebut ke nilai heksadesimalnya. Nah, baik yang konversi oktal ke biner maupun biner ke heksadesimal kan udah dijelaskan. Coba buktikan, bahwa bilangan oktal 728 jika dikonversi ke heksadesimal menjadi 3A16. Bisa kan? Bisa dong…

Heksadesimal ke desimal
Selanjutnya adalah konversi bilangan heksadesimal ke desimal.Untuk proses konversi ini, caranya sama saja dengan proses konversi biner ke desimal, hanya saja kali ini perpangkatan yang digunakan adalah perpangkatan 16, bukan perpangkatan 2. Sebagai contoh, saya akan melakukan konversi bilangan heksa C816 ke bilangan desimal. Maka saya ubah dulu susunan bilangan heksa tersebut, mulai dari kanan ke kiri, sehingga menjadi sebagai berikut :
8
C
dan kemudian dilakukan proses perkalian dengan perpangkatan 16, sebagai berikut :
8 x 160 = 8
C x 161 = 192 ——> ingat, C16 merupakan lambang dari 1210
Maka diperolehlah hasil konversinya bernilai 8 + 192 = 20010.

Heksadesimal ke biner
Tutorial berikutnya, konversi dari heksadesimal ke biner.
Dalam proses konversi heksadesimal ke biner, setiap simbol dalam heksadesimal mewakili 4 bit dari biner. Misalnya saya ingin melakukan proses konversi bilangan heksa B716 ke bilangan biner. Maka setiap simbol di bilangan heksa tersebut saya konversi terpisah ke biner. Ingat, B16 merupakan simbol untuk angka desimal 1110. Nah, desimal 1110 jika dikonversi ke biner menjadi 10112, sedangkan desimal 710 jika dikonversi ke biner menjadi 01112. Maka bilangan binernya adalah 101101112, atau kalau dibuat ilustrasinya seperti berikut ini :
B 7 —-> bentuk heksa
11 7 —-> bentuk desimal
1011 0111 —-> bentuk biner
Hasilnya disatukan, sehingga menjadi 101101112. Understood?

Heksadesimal ke oktal
Last but not least, konversi heksadesimal ke oktal.
Nah, sama seperti konversi oktal ke heksadesimal, kita membutuhkan bantuan bilangan biner. Lakukan terlebih dahulu konversi heksadesimal ke biner, lalu konversikan nilai biner tersebut ke oktal. Sebagai latihan, buktikan bahwa nilai heksadesimal E716 jika dikonversi ke oktal menjadi 3478. Hehe…Kamu bisa!!!

By : Mieftahul Ulum Cah RpL 1 Smk N 3 Banjar Wong Margasari thea.....

Selasa, 28 Februari 2012

DATABASE KREDIT MOTOR ONLINE









Table Cash




Table Cicilan
Kode Cash




No bayar
Tanggal Cash




Kode Kredit
Kode Cust




jumlah
Kode Motor




Sisa
Harga




Cicilan
Bayar




Keterangan
Keterangan










Tabel Daftar Motor







Kode Motor







Merk Motor






Warna






Harga











Tabel Pelanggan






Table Kredit
Kode Cust




Kode Kredit
Nama




Tanggal Kredit
Alamat




Kode Cust
Telphone




Kode Motor
Hp




Harga
Ktp




Uang Muka
KK




Bunga
Slip Gaji




Lama Cicilan
Ketengan




Angsuran







Telah Bayar







Sisa







Keterangan

Kamis, 24 Juni 2010

game ogre

Membuat Game dengan Ogre 3D
Saya akan mencoba untuk mendemokan cara membuat game dengan Ogre 3D.

Ogre 3D hanya sebagai perender hasil nya. Sedangkan koding dan memetakan objek nya kita butuh bantuan seperti Visual C++ , 3D Max dan converter mesh nya.

Kali ini saya akan mencoba membuat GAME MENJATUHKAN DADU DENGAN BOLA.

Cara membuat :

1. Install 3D Max 2008 dulu.
2. Install Converter 3D to mesh
yaitu software perubah dari .max, .3ds dan lain-lain menjadi .mesh

jika tidak punya, dapat didownload disini

3. Buat objek yang akan kita gunakan nantinya, yaitu sebuah bola dan 6 buah dadu.

Kemudian, save objeknya, lalu klik file, dan pilih eksport. Setelah itu pilih objek yang dibuat tadi ingin dirubah jadi format berakhiran apa. disitu pilih format berakhiran mesh.
Nantinya objek yang dibuat akan berakhiran mesh.

atau dapat di download disini

4. instal Visual C++


5. install Ogre SDK nya

.
6. install Direct X SDK nya juga.


7. Setelah itu masukan objek yang berakhiran mesh yang dibuat tadi ke Ogre SDK yang kita install, biasanya di folder C dan cari folder Ogre SDK. Disitu pilih media dan pilih model dan tempatkan objek yang dibuat ke tempat itu.


8. Buka visual Studio 2008 > Create New Project > Visual C++ win32 console Application > beri nama project, gameKu.cpp > Click OK


9. Kemudian klik next.


10. Pada bagian Application type kita pilih Windows Application dan pada bagian Additional options kita pilih Empty project seperti yang tertunjuk pada gambar diatas.


11. Selanjutnya kita akan membuat item pada project yang telah kita buat sebelumnya, pada menu project > add new Item > C++ File (.cpp) > beri nama main > click Add maka tampilannya adalah sebagai berikut ini:


12. Akan muncul editor, tempat menulis script cpp,
Saya sudah menyediakan script filenya : silahkan download disini


13. Lakukan hal yang sama dengan langkah 11, disini dibuat Header File(.h)

Scriptnya dapat didownload disini

14.Copy folder Media dan folder bin pada OGRE SDK di default path installation tempat kita menginstal Ogre ke work directory tempat project kita berada,,

Bin folder terdiri dari folder Debug And Release.

15. Kemudian konfigurasikan path pada file resources.cfg pada folder debug dan resouces.cfg pada folder release,,ganti ../../.. Dengan path tempat default path installation kita.

16.Setelah konfigurasi diatas selesai, berikutnya lakukan konfigurasi pada properties project kita, pada jendela solution explorer di kanan atas, klik kanan nama project lalu pilih menu properties.

17.Beberapa konfigurasi yang perlu dilakukan antara lain :

Pada debug active :

Debugging : Working Directory = ..\bin\Debug

Linker : General : Output File = ..\bin\Debug\hello.exe

Linker : Input : Additional Dependencies += OgreMain_d.lib

Linker : Input : Additional Dependencies += OIS_d.lib

Linker : General : Additional Library Directories = $(OGRE_HOME)\lib

C/C++ : General : Additional Include Directories = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include

Lakukan juga setting kan untuk folder Release, tetapi ganti OgreMain_d.lib dan OIS_d.lib diatas menjadi OGreMain.lib dan OIS.lib

18. Konfigurasi selesai dilakukan, kemudian coba running program (F5), maka akan muncul tampilan output seperti di samping ini.. Pilih Direct 3d9 Rendering Subsystem, maka hasil gambar berupa windows application akan keluar.





SELESAI DAN SELAMAT MENCOBA........................

membuat game ogre

PELAJARAN KITA SEMUA

totorial membuat game sederhana dengan ogre


saya disini akan membuat sebuah game bis. objek bis tersebut kita disain di 3dmax. sebelum itu objek kita konvert ke mesh.

Untuk menampilkan objek bis 3D ini, saya menggunakan Microsoft Visual C++ sebagai bahasa pemrograman yang akan menampilkan objek bis 3D tersebut ke dalam OGRE. Pertama kita buat terlebih dahulu Project Baru.

Pada pilihan Project pilih C++ >> Win32 >> Win32 Project dan beri nama project. Lalu muncul jendela Win32 Application wizard, pilih next. Setelah itu muncul jendela Application Setting, checklist Empty Project Lalu kilik Tombol Finish. Terlihat di sana belum terdapat sebuah file C++ karena kta memilih Empty Objek. Pada jendela Solution Explorer klik kanan folder tree Source Files >> New Item >> Add.

Setelah itu muncul jendela Add New Item – Mangkibo. Kita buat sebuah file yang bernama MobilBis.cpp dengan memilih C++ File lalu tekan tombol Add.

Setelah kita tekan tombol Add maka munculah sebuah tampilan kerja dimana kita akan mengetikkan sebuah program C++ untuk menampilkan objek 3D yang kita buat ke dalam OGRE. Selanjutnya ketikan program berikut ke dalam editor.

#include "ExampleApplication.h"

class BelajarOgre : public ExampleApplication

{

public:

BelajarOgre(){ }

~BelajarOgre(){ }

protected:

void createScene(void)

{

int x = 0;

int y = 0;

int z = 0;

//mSceneMgr utk manage semua semua yg tampil pd screen

mSceneMgr->setAmbientLight(ColourValue(1,1,1));

//Entity ad objek yg bs dirender discene

Entity *ent1 = mSceneMgr->createEntity("and1","and1.mesh");

SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("and1Node", Vector3(x,y,z));

//attach entity ke scenenode ut beri lokasi render robot

node1->attachObject(ent1);

}

};

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32

#define WIN32_LEAN_AND_MEAN

#include "windows.h"

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)

#else

int main(int argc, char **argv)

#endif

{

//bikin objek aplikasi

BelajarOgre app;

try

{

app.go();

}

catch (Exception e)

{

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32

MessageBoxA(NULL,e.what(),"Terjadi Error!",MB_OK | MB_ICONERROR |MB_TASKMODAL);

#else

fprintf(stderr,"Terjadi Error = %s\n",e.what());

#endif

}

return 0;

}

ini adalah code untuk menampilkan objek pada monitor. disini kita hanya bisa mainkan maju, mundur, dan belok saja. bisa menggunakan mouse

Selanjutnya kita copy folder bin yang terdapat dalam folder tempat kita menginstall OgreSDK ke dalam folder project yang kita buat. Kemudian konfigurasikan path pada file resources.cfg pada folder debug dan resouces.cfg pada folder release,,ganti ../../.. Dengan path tempat default path installation kita.

Setelah konfigurasi diatas selesai, berikutnya lakukan konfigurasi pada properties project kita, pada jendela solution explorer di kanan atas, klik kanan nama project lalu pilih menu properties.

Konfigurasi tersebut adalah antara lain Pada debug active :

Debugging : Working Directory = ..\bin\Debug

Linker : General : Output File = ..\bin\Debug\hello.exe

Linker : Input : Additional Dependencies += OgreMain_d.lib

Linker : Input : Additional Dependencies += OIS_d.lib

Linker : General : Additional Library Directories = $(OGRE_HOME)\lib

C/C++ : General : Additional Include Directories = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include

Lakukan juga settingan untuk folder Release, tetapi ganti OgreMain_d.lib dan OIS_d.lib diatas menjadi OGreMain.lib dan OIS.lib. Setelah semua telah dikonfigurasi klik OK, lalu Objek 3D yang sudah di konversi tadi terbagi menjadi 2 bagian yaitu .mesh dan .material. Untuk .mesh kita copy ke dalam folder media/model di dalam direktori dimana tempat menginstall OgreSDK. Lalu untuk Material kita copy ke dalam folder media/material/Script di dalam direktori dimana tempat menginstall OgreSDK. Lalu jalan kan OGRE. tampilan gambar game ogre nya tampak pada gambar paling atas.

Jumat, 04 Juni 2010

berpikir ala programer

BERPIKIR LOGIS DENGAN ALGORITMA
Diposting pada: 2010-06-05 14:03:00 Hits : 219 Kategori: Artikel
'BERSALAMAN DENGAN DUNIA HACKING' ini diperuntukkan bagi mereka yang masih baru maumelangkah kedunia hacking!? Kalau yang sudah kadung melangkahpun dipersilahkan baca!?siapa tau mau balik! =). Akan ditulis dalam beberapa artikel berseri! Jadi, pelototinterus situs ini sayang!?
#####################BERPIKIR LOGIS DENGAN ALGORITMA(Salaman: #1. Apa Itu?)#####################oleh logC
Bukan suatu hal yang dapat dipisahkan; antara hacking (dalam artian sebenarnya),pemrograman, dan mesinnya. Dari ketiga hal tersebut dapat ditarik suatu benang hitam,yaitu 'berpikir logis'. Sedangkan cara berpikir logis dalam dunia IT lebih dikenal denganpendekatan algoritma. Nah, artikel berikut dan artikel selanjutnya akan sedikit mengajakanda untuk bagaimana berpikir logis ala algoritma itu.
Mmungkin anda sekarang membayangkan sebuah tabel matematik dengan angka-angka yang jelimetdan membuat mata anda sepet; logaritma. Tapi tidak demikian adanya. Algoritma; kalauditinjau dari akar bahasanya mungkin gak bakalan ketemu pasnya. karena kata ini sebenarnyaberasal dari nama seorang penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad IbnuMusa Al-Khuwarizmi (Al-Khuwarizmi dibaca dengan lidah barat menjadi Algorism).Al-Khuwarizmilah yang menulis buku berjudul Kitab Al Jabar Wal-muqaba, yang artinya 'BukuPemugaran dan Pengurangan' (The Book of Retorasion and Reduction). Disana juga ditemukanakar kata 'Al-Jabar' (Algebra). Perubahan dari kata algorism menjadi algorithma munculkarena kata algorism sering disalah sasarkan menjadi arithmatic, sehingga akhiran -smdiubah menjadi -thm. Dalam bahasa Indonesia , kata algorithm diserap menjadi algoritma.
Nah, sekarang apa algoritma itu? Algoritma adalah rurtan langkah-langkah logis penyelesianmasalah yang disusun secara sistematis; atau kalau menurut Kamus Besar Bahasa Indonesiadidefinisikan sebagai urutan logis pengambilan putusan untuk pemecahan masalah. Jadi jelaskhan!? bukan masalah perhitungan dengan angka-angka jelimet saja lho!? Tapidititikberatkan pada proses berpikirnya yang dilakukan secara logis.
Gampang dan sangat dibutuhkan dalam kehidupan sehari-hari. Sebenarnya dalam bidang apapunkita pasti memerlukan cara berpikir logis untuk menyelesaikan tantangan didepan mata!?Okeh sayang! segitu dulu yah!? Nantikan edisi berikutnya tentang cara berpikir logis alalogC eh algotitma ding!? =)
#####################STRUKTUR DASAR ALGORITMA(Salaman: #2. Bagimana itu?)#####################Catatan: Pada artikel berikutnya kita akan lebih mendekati algoritmapada pemrograman C. Kenapa saya pilih C? Bukan hanya karena nick sayalogicalC =), tapi lebih karena C adalah salah satu bahasa pemrogramanyang menjadi tulang punggung terbentuknya struktur jaringan internetdengan disponsori para hacker & unix systemnya!? Jadi, mari kitamulai.....Oh iya! ada istilah-istilah baru yg perlu pahami.---------------------------------------------------------------------
Algoritma berisi langkah-langkah penyelesaian suatu masalah.Langkah-langkah bisa berupa runtunan, pemilihan, dan pengulangan.Ketiga langkah itulah yang menyusun algoritma. Jadi, sebuah algoritmadapat ditempuh dengan ketiga struktur dasar tersebut. Berikut saya cobajabarkan satu-persatu.
Runtunan (Sequence)----------------------Sebuah runtunan terdiri dari satu atau lebih 'instruksi'. Tiap-tiapinstruksi dilaksanakan secara berurutan sesuai dengan urutanpenulisannya; sebuah instruksi baru bisa dilaksanakan setelah instruksisebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaanakhir algoritma. Kalau urutannya diubah, kemungkinan besar hasilakhirnya akan berubah. Misal: Seorang ibu berbelanja di mall. diamelewati beberapa toko; toko perhiasan, toko baju, toko sepatu, dan tokotas. Ketika itu dia iseng! belilah dia satu set perhiasan mas. Namunsetelah berjalan beberapa meter dia berjumpa dengan toko tas. Karena diasadar kalau dirinya membutuhkan tas baru; dia akan menyesal denganmengatakan "seandainya toko perhiasan tadi ada setelah toko tas"!?JUST KIDDING... =)
Misalnya: Ada dua buah bejana, A dan B; bejana A berisi larutan kopi,bejana B berisi larutan susu. Pertukarkan kedua isi bejana itu, sehinggaA berisi larutan susu, dan B berisi larutan kopi. Tidak boleh jadi kopisusu...!?Kita tanyakan Algoritma!? Jawabannya: ada tiga langkah, yaitu:1. Tuangkan larutan dari bejana A ke dalam bejana C. (cuci bersih dulubejana A kalo bisa!?)2. Tuangkan larutan dari bejana B ke dalam bejana A. (cuci juga bejanaB!? =))3. Tuangkan larutan dari bejana C ke dalam bejana B. Selesai.....Gak jadi kopi susu, kecuali anda minum isi kedua bejana itu danmencampurnya di perut anda.
Pemilihan (Selection)---------------------Kadangkala sebuah instruksi dikerjakan setelah 'kondisi' tertentuterpenuhi. Dalam bahasa pemrograman, ini dikenal dengan "if" dan "then".Kondisi adalah persyaratan yang dapat dinilai benar atau salah sehinggaakan memunculkan 'aksi' yang berbeda dengan 'kondisi' yang berbeda.Gampangnya, lansung contoh!Dalam kehidupan sehari-hari kita sering punya pilihan semacam ini:
'if' Widi memperoleh juara kelas'then' ayah akan membelikannya sepeda'if' Jalan Dago macet'then' ambil alternatif Jalan Dipati Ukur'if' Mobilmu rusak'then' pakai saja motorku
Tampak struktur pemilihan 'if-then' hanya memberikan satu pilihan aksibila kondisi dipenuhi atau bernilai benar dan tidak memberikan aksi lainbila kondisi salah. Bentuk pemilihan yang lebih umum adalah memilih satudari dua aksi bergantung pada nilai kondisinya, seperti:
'if' hari hujan'then' pergilah dengan naik taxi'else' pergilah dengan naik motor
di sini secara logika; jika kondisi 'hari hujan' benar, maka aksi 'perginaik taxi' dilakukan. Sebaliknya jika kondisi 'hari hujan' bernilaisalah, maka aksi 'pergi naik motor' akan dilaksanakan. Dan, tidak adapilihan aksi turun ke jalan!? =) Contoh yang lebih kompleks dapatditemui dalam pemilihan dengan tiga atau lebih variable, sepertipenentuan bilangan terbesar dari tiga buah bilangan; x, y, dan z.
'if' x > y 'then''if' x > z 'then'tulis x sebagai bilangan terbesar'else'tulis z sebagai bilangan terbesar'else''if' y > z 'then'tulis y sebagai bilangan terbesar'else'tulis z sebagai bilangan terbesar
Contoh di atas biasa disebut dengan 'pemilihan bersarang'. Coba andabuat mejadi 4 atau lebih variablenya!? =)
Pengulangan (Repetition)-------------------------Salah satu kegunaan pemrograman adalah untuk memudahkan pekerjaan yangharus dilakukan berulang-ulang tanpa capek!? Cerita sedikit nih! =)Sewaktu saya duduk di sekolah dasar, pernah suatu hari dihukum gurukarena tertidur dikelas pada jam pelajaran terakhir. Anda tauhukumannya? Menulis kalimat "saya berjanji tidak akan tidur di kelaslagi" sebanyak 300 kali karena saya masih duduk di kelas 3. Tapiuntungnya guru saya ini gak jelasin dimana saya harus menulisnya.Keesokan harinya saya terpaksa merengek ke mak saya untuk dibolehkanmembawa laptop kesayangan saya ke sekolah!? Sebelumnya pada malamharinya saya sudah membuat program kecil untuk mengulang tulisan "sayaberjanji tidak akan tidur di kelas lagi" sebanyak apapun yang saya mau!?=) akhirnya! guru saya itu cuman bisa geleng kepala!? greetz trik huh!?Sebenarnya program pengulangan saya waktu itu hanya mengimplementasikanalgoritma 'repeat-until' (repeat artinya ulang sedangkan until artinya sampai),sehingga logaritmanya bisa dituliskan seperti:
pencatat_jumlah_kalimat = 0'repeat'tulis "saya berjanji tidak akan tidur di kelas lagi"naikkan pencatat_jumlah_kalimat dengan 1'until' pencatat_jumlah_kalimat = 300
Pemroses akan melaksanakan aksi tulis tersebut sebanyak 300 kali.Struktur pengulangan tersebut dapat ditulisakan secara umum menjadi:
'repeat'aksi'until' kondisi
Dalam istilah bahasa pemrograman, pengulangan di istilahkan 'loop'.
Nah, mari kita coba kombinasikan ketiganya dalam sebuah algoritmapencarian seperti berikut ini:
Sebuah tabel data sudah berisi data nomor ID, login ID, dan passwordlogin ke mesin absensi.Carilah dalam tabel password seorang karyawandengan nomor ID tertentu.1. Baca nomor ID pertama dalam tabel2. 'repeat''if' nomor ID yang dibaca sama dengan nomor ID yang dicari makatulis passwordkaryawan yang bersangkutanstop'else'baca nomor ID berikutnya di dalam tabel'until' nomor ID yang dicari sudah ditemukan atau seluruh isi tabeldibaca.
Struktur 'repeat-until' hanya satu diantara beberapa strukturpengulangan yang saya angkat saat ini. Ada beberapa struktur pengulanganlain seperti 'while-do', 'for' dan sebagainya. Pada seri berikutnyapasti akan tersertakan dengan sendirinya.
#####################Algoritma Dalam PemrogramanSalaman: #3 Aplikasi - 001#####################
Dalam mempelajari algoritma, anda nggak dituntut untuk menguasai ilmu eksak.Halmutlak yang diperlukan dalam mempelajari algoritma adalah logika anda dalam menganalisissuatu permasalahan. Kalo anda sukanya menghayal, siap-siap saja anda bakal boringmempelajari algoritma ;P~
Ada 2 hal penting yang mesti anda tau dari algoritma. Pertama, Algoritma harusbenar. Maksudnya disini, setiap masalah yang anda coba uraikan dalam bentuk program mestimenghasilkan hasil yang benar. Contohnya, anda bikin program penjumlahan 2 tambah 3hasilnya harus 5, khan?! kalo diluar itu, itu berarti algoritma anda dalam program kacau(atau bisa aja andanya yang lagi error).Hal penting kedua, algoritma harus berhenti. Contoh sederhananya sepertialgoritma intrusion. Algoritma tsb berhenti setelah melewati proses Covering Track &Installing Backdoor (walaupun dalam prakteknya anda muter² menjalankan tahapan intrusiontersebut tapi akhirnya anda akan sampai juga pada tahap Covering Track & InstallingBackdoor, khan?!).
Dan bila anda mengalami kebuntuan dalam mendesign algoritma suatu masalah, langkahyang perlu anda lakukan adalah dengan melihat/menganalisis masalah tersebut secaramenyeluruh setelah itu anda coba uraikan/bagi permasalahan tersebut sehingga menjadikumpulan² permasalahan yang lebih sederhana.
Untuk artikel kali ini, saya mencoba untuk ngelanjutin bahas tentangstruktur pengulangan menggunakan "while do" dan "for", (ngelanjutin artikel STRUKTUR DASARALGORITMA (Salaman: #2. Bagimana itu?)).
* While...DoStruktur perulangan "While...Do" tidak terlalu jauh berbeda dengan strukturperulangan "Repeat...Until". Bila pada "Repeat...Until" memungkinkan terjadinya prosesterlebih dahulu sesudah itu baru terjadi pengecekan kondisi, tetapi pada "While...Do",anda tidak akan dapat menjalankan baris² aksi bila syarat(kondisi) yang memungkinkan aksi itudijalankan tidak sesuai. While artinya sementara, sedangkan Do artinya kerjakan, jadi biladiindonesiakan sintaksnya sendiri berbentuk seperti ini :
Sementara /kondisi terpenuhi/ Kerjakanaksi dijalankanSelesai
Contoh penggunaan "While...Do" seperti ini, misalnya anda ingin mencetak kalimat"saya suka k-elektronik" di layar sebanyak 10 kali, menggunakan "While...Do" makasintaksnya akan seperti ini:
pencacah <- 1; /inisialisasi awal thd pencacah, mengisi nilai awal kepencacah/while pencacah <=10 docetak "saya suka k-elektronik";endwhile;
Penjelasan sintaksnya seperti ini. Pada mulanya pencacah diisi dengan nilai 1.Sebelum memasuki badan pengulangan, kondisi "pencacah <=10" diperiksa apakah bernilaibenar, karena "1 <= 10" adalah benar, maka aksi cetak "saya suka k-elektronik" dijalankan.Sehingga keluaran yang tercetak :
saya suka k-elektronik
Selanjutnya nilai pencacah dinaikkan menjadi 2, siklus pengulanagn kembali dijalankan sampainilai pencacah dinaikkan 11 maka kondisi pengulangan bernilai salah, pengulangandihentikan.
* FORStruktur pengulangan "FOR" tidak melibatkan penggunaan kondisi seperti padastruktur perulangan "Repeat...Until" ataupun "While...Do". Struktur FOR ada dua macamyaitu, menaik (ascending) yang ditandai dengan kata "to" dan menurun (descending) yangditandai dengan kata "downto" ntuk sintaksnya:
FOR pencacah <- nilai_awal to/downto nilai_akhiraksi dijalankanendfor
Untuk FOR menaik, nilai awal harus lebih kecil dari nilai akhir. Tetapi pada FOR menurun nilaiawal harus lebih besar dari nilai akhir.
Contoh sintaks :- Untuk FOR menaik
FOR pencacah <- 1 to 10 docetak "saya suka k-elektronik"endfor
- Untuk FOR menurun
FOR pencacah <- 10 downto 1 docetak "saya suka k-elektronik"endfor
Sekian dulu, dan sampai jumpa pada edisi berikutnya :)~#####################
Salam Manis.
by.miftahul 'ulum