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

Senin, 31 Mei 2010

"miftahul 'ulum"

Menurut Anda susahkan belajar bahasa pemrograman? Terutama bahasa pemrograman C++? Tentu ini menjadi pertenyaan tersendiri untuk Anda. Banyak orang yang belajar bahasa pemrograman C++, namun hanya beberapa yang sukses menaklukkan bahasa pemrograman yang satu ini. Yang lainnya kadang hanya menguasai dasar tanpa bisa terus berkembang. Menjadi seorang programmer tentu harus bisa menguasai minimal 1 atau 2 bahasa pemrograman. Apalagi C++ adalah bahasa pemrograman yang cukup diminati banyak orang di Indonesia. Tercatat setiap dosen Teknologi/Sistem Komputer pasti minimal bisa menguasai pemrograman C++. Lalu dari mana atau bagaimana mereka semua bisa menjadi programmer seperti itu? Mari kita temukan solusinya.

Awal saya kuliah mengenal yang namanya algoritma. Saya sangka algoritma itu adalah matematika karena sekilas katanya yang mirip dengan logaritma dalam matematika. Tapi ternyata tidak! Algoritma berbeda dengan Logaritma. Nah saya mempunyai beberapa tips yang mungkin berguna bagi kalian semua dalam mempelajari bahasa pemrograman, terutama C++. Berikut adalah kiat-kiat sukses belajar pemrograman C++:


  1. Sering-seringlah membaca modul atau buku panduan belajar pemrograman. Ini sangat penting untuk menambah wawasan Anda dalam teori ataupun materi. Bila perlu, tabung uang Anda dan beli satu buku bahasa pemrograman setiap awal bulan. Itulah yang saya lakukan selama ini. Walau tidak semua buku yang saya beli adalah bahasa pemrograman.
  2. Sering-seringlah melatih kemampuan Anda dalam menyelesaikan masalah algoritma pemrograman. Apabila kalian menemukan masalah, cobalah untuk menyelesaikannya kedalam pemrograman. Atau coba-cobalah untuk membuat program tertentu yang menurut kalian menarik. Atau kalian dapat membuat program dalam matematika, contohnya, program matriks dalam C++, atau rumus fisika lainnya.
  3. Practice make perfect! Slogan yang satu ini sangat ampuh dan berguna untuk menguasai pemrograman C++. Karena semakin sering kita latihan, semakin terasah kemampuan kita dalam menyelesaikan masalah. Semakin bertambah ilmu kita dalam membuat program.
  4. Jangan malu bertanya! Banyak para mahasiswa yang malu bertanya ketika sedang mengalami kesulitan dalam memecahkan algoritma pemrograman. Ketika menemui jalan buntu dan tidak bisa menyelesaikannya, biasanya kita menyerah dan pasrah. Ini adalah suatu sikap yang keliru! Sebisa mungkin, tanyakan pada dosen Anda atau pada kakak senior yang mungkin sudah mengetahui masalah Anda.
  5. Ketahui apa yang membuat program error atau perhatikan error handling. Ketika kita meng-compile syntax yang kita buat, terkadang muncul tanda compile gagal, ada syntax yang salah. Nah, disini dituntut ketelitian kita dalam memperbaiki syntax sehingga pada saat di-compile akan sukses. Semakin sering kalian mengalami syntax error, semakin terasah kemampuan kalian dalam memperbaiki program. Asalkan kalian mau berusaha agar tidak terjadi syntax error lagi, pasti kalian bisa. Jangan setiap menemui syntax error kalian langsung menyerah dan cuek.
  6. Kembangkan program yang sudah ada. Apabila kalian berhasil membuat beberapa program, coba kembangkan program tersebut. Misal kalian berhasil membuat 3 program, program luas segitiga, lingkaran, dan volume tabung. Kembangkan ketiga program tersebut menjadi satu program dalam bentuk menu pilihan. Dimana jika kita memilih tombol 1 maka kita akan menuju program luas segitiga dst sampai kita menekan tombol 4 yang artinya keluar dari program. Begitulah kira-kira.
  7. Luangkan waktu satu atau dua jam setiap harinya untuk praktek dan membaca. Lakukan ini diluar jam kampus. Dengan mengalokasikan waktu untuk belajar, maka kalian akan lebih cepat dalam memahami dan menguasai bahasa pemrograman.
Sekian tips yang dapat saya berikan. Semoga bermanfaat bagi Anda yang ingin mempelajari bahasa pemrograman dengan sukses. Salam dari IT Programmer.

tips pemrograman

10 Tips Sukses Belajar Pemrograman


Postingan ini saya buat berdasarkan pengalaman saya kuliah sewaktu mengikuti perkuliahan pemrograman komputer di S1 dan juga pengalaman selama saya mengampu kuliah pemrograman komputer.

OK… sebagai awal, saya akan bercerita sedikit tentang pengalaman sewaktu belajar pemrograman komputer pertama kali. Jujur saja… kala itu saya belum tahu sama sekali dengan pemrograman di waktu awal kuliah. Namun sayangnya… ketidaktahuan dan ketidakpahaman saya tentang pemrograman ini berlanjut hingga mid semester dan sampai pada ujian akhir. Dan akibatnya…. bisa Anda tebak sendiri… Benar… SAYA TIDAK LULUS. Kecewa… sedih… menyesal… bercampur menjadi satu. Saya kecewa dengan diri saya sendiri karena tidak mampu menguasai matakuliah tersebut. Sedih… karena saya ilmu yang seharusnya saya peroleh selama 1 semester hilang begitu saja dan saya tidak memperoleh apa-apa. Menyesal… karena saya telah menyia-nyiakan kesempatan selama 1 semester untuk mempelajarinya.

Namun… karena motivasi yang kuat untuk belajar pemrograman, akhirnya saya berusaha pupus kesedihan, kekecewaan dan penyesalan itu. Saya mencoba kembali mengambil matakuliah tersebut di semester berikutnya. Alhamdulillah… berkat usaha keras, doa dan bimbingan teman-teman setia saya, akhirnya berhasil juga. Dan… nilai yang sangat memuaskan akhirnya bisa saya peroleh.

Setelah mendapat nilai yang bagus, akhirnya motivasi untuk belajar pemrograman terus berlanjut di semester dan tahun-tahun kuliah berikutnya. Teman-teman di sekitar saya yang kebetulan juga interest di dunia pemrograman juga memberikan andil dalam penguasaan saya terhadap pemrograman. Serta tak lupa pula… pak Wiranto… dosen baik hati serta penasehat spritual yang telah memberikan bimbingan kepada saya. Lingkungan seperti itulah yang terus memotivasi dan mendukung saya untuk tetap setia dan berusaha belajar pemrograman sampai dengan sekarang.

Nah… dari sepenggal cerita yang telah saya tulis di atas, apa hikmah di balik itu semua? apa yang membuat kegagalan belajar pemrograman bisa diubah menjadi keberhasilan? OK… berikut ini adalah beberapa tips bagi Anda yang ingin sukses belajar pemrograman komputer.

  1. Modal awal untuk belajar pemrograman adalah motivasi. Kalau motivasi Anda untuk belajar motivasi besar, Selamat… Anda adalah calon seorang programmer handal. Fokus selanjutnya adalah mengasah skill Anda untuk belajar pemrograman. Terus pertahankan motivasi yang telah Anda miliki. Jangan sampai motivasi ini pupus ketika menemui kegagalan.
  2. Jangan mudah menyerah. Memang… belajar pemrograman adalah tidak mudah. Butuh perjuangan, kerja keras, serta pengalaman (jam terbang). Jangan mudah menyerah ketika banyak error yang muncul ketika membuat program.
  3. Jangan sekali-kali menganggap pemrograman itu adalah sepenuhnya pelajaran ‘Menghapal’. Memang betul, menghapal juga diperlukan yaitu ketika menghapalkan sintaks dan aturan penulisan dalam program. Tapi secara prinsip, pemrograman adalah pelajaran cara berpikir dan logika bagaimana menyelesaikan masalah.
  4. Jangan hanya menjadi tukang ketik. Ketika dosen Anda memberikan contoh program di kelas atau ketika praktikum, jangan hanya memandang setiap barisan kode program tersebut sebagai angin lalu dan hanya Anda pindahkan ke kertas atau komputer. Kalau hanya demikian, sama halnya Anda belajar menjadi tukang ketik. Coba pahami setiap baris kode dan alur program yang dituliskan guru atau dosen Anda. Kalau sudah paham, coba tulis program menurut versi Anda sendiri ke buku atau komputer Anda. Apabila hal ini Anda lakukan, maka secara tidak sadar Anda telah melatih logika berpikir Anda dan belajar menuangkan logika berpikir ke dalam bentuk program.
  5. Untuk mendukung belajar Anda, coba cari orang yang mau mengajari Anda ketika menemui masalah dalam belajar pemrograman. Bisa teman dekat, teman di internet atau bahkan guru dan dosen yang dekat dengan Anda.
  6. Jangan mengandalkan tatap muka di kelas. Materi pemrograman sangatlah luas. Apa yang diberikan dosen ketika kuliah itu sangatlah kecil cakupannya dibandingkan keseluruhan ilmu pemrograman. Cobalah eksplorasi sendiri segala hal tentang pemrograman. Ada banyak referensi di internet yang membahas tentang tips dan trik serta teknik dalam pemrograman.
  7. Carilah komunitas yang fokus dengan pemrograman. Di internet ada banyak forum diskusi via web atau mailing list yang membahas tentang pemrograman. Ingat… bahwa orang yang sering bergaul dengan penjual minyak wangi maka dia akan ikut menjadi wangi… So… kita adopsi hal ini. Banyak-banyaklah bergaul dengan orang dalam komunitas yang sama-sama interest dengan pemrograman.
  8. Sangat disarankan Anda memiliki komputer sendiri di rumah atau di kost. Seperti yang telah saya jelaskan di atas bahwa untuk menguasai pemrograman butuh pengalaman dan jam terbang yang banyak dalam membuat progam. Kalau Anda tidak memiliki komputer sendiri, bagaimana bisa menambah jam terbangnya? Untuk belajar pemrograman tidaklah harus membutuhkan komputer dengan spesifikasi tinggi. Cukup komputer Pentium III saja itu sudah bisa, kecuali Anda belajar program yang memang butuh spesifikasi besar misalnya programan berbasis visual. Oya… jangan sekali-kali mengandalkan jam praktikum di laboratorium karena waktu penggunaannya sangat-sangat terbatas. Anggap saja ketika Anda beli komputer adalah sebagai investasi jangka panjang. Yakinlah suatu saat modal Anda untuk membeli komputer itu akan balik kembali, atau malah akan memberikan return of investment yang jauh lebih besar.
  9. Jangan hanya mengandalkan catatan atau modul yang diberikan oleh dosen. Isi modul yang ditulis oleh dosen itu rata-rata masih sedikit kontennya. Berusahalah mencari referensi sendiri terkait dengan pemrograman. Toh… saat ini sudah banyak buku-buku yang mengulas tentang pemrograman. Kalau Anda ingin yang gratis, coba cari referensi di internet karena tersedia banyak free ebook yang bisa didownload.
  10. Jangan hanya asal copy paste. Rata-rata orang yang asal copy paste program itu tidak berusaha memahami program yang dia copy. Coba pahami dahulu program yang Anda peroleh terutama pada algoritmanya, kalau bisa tulis kembali program tersebut menurut versi Anda. Boleh sih copy paste.. asal Anda juga berusaha memahami makna program di dalamnya. Syukur-syukur kalau Anda memodifikasi kode programnya.

OK…. demikian 10 tips sukses belajar pemrogram. Semoga ada manfaatnya. Bagi Anda yang punya tips lain, bisa ditambahkan di komentar :-) Salam sukses bagi Anda.

memulai belajar pemrograman

Bagaimana memulai belajar pemrograman komputer

Sering saya mendapat pertanyaan dari teman-teman yg masih student (SMA maupun kuliah, terutama yg nemu messenger ID saya dari www.ilmukomputer.com Smile) tentang bagaimana cara memulai belajar programming. Atau juga dari teman-teman yang sudah familiar dengan programming di bahasa pemrograman lain tapi baru mau mulai belajar programming di .NET (C# maupun VB.NET). Mereka kebanyakan akan bertanya, mulainya gimana? Saya perlu install apa saja? Gratis gak? Dsb.

Jawaban saya selalu seperti yang ada dibawah ini, jd daripada saya menulis di messenger berulang-ulang hal yang sama, saya summary-kan saja dalam satu post di blog saya ini, jd next time ada yg tanya, saya tinggal refer ke post ini. Smile

  1. Kalau anda baru belajar programming, pilih suatu bahasa pemrograman untuk dipelajari.
    Yang mana? Yang skrg populer itu:
    - Java
    - C# (dibaca "Si Sharp")
    - VB.NET (dibaca "Vibi Dotnet")
    Kenapa memilih yg populer? Simple. Biar bisa dipakai cari kerja. Setelah menguasai suatu bahasa pemrograman, anda akan bisa belajar bahasa pemrograman lainnya.
    Kalau anda memilih C# atau VB.NET, lanjutkan membaca artikel ini. Kalau anda memilih Java, silahkan googling lebih jauh. Smile O ya, saya juga tidak menyarankan untuk belajar Java lagi. Kenapa? Lihat ini: http://geeks.netindonesia.net/blogs/norman/archive/2007/12/31/java-is-becoming-the-new-cobol.aspx
    Kalau anda benar-benar baru dlm belajar programming, saya rekomendasikan pilih bahasa C#.
    Kalau anda pernah belajar C, C++, Java, saya rekomendasikan pilih bahasa C#.
    Kalau anda pernah belajar VB6, anda bisa memilih VB.NET, karena ada kemiripan. Tp, saya tetap rekomendasikan pilih bahasa C#.
    Singkatnya, mulailah dengan C#. Smile
  2. Kunjungi dan explore website ini: http://msdn2.microsoft.com/en-us/express/default.aspx
    Ini adalah website dari Microsoft Visual Studio Express. Versi Visual Studio yang gratis, yang bisa anda download dan install di komputer anda. Visual Studio adalah tool/software yang akan anda pakai dalam membuat program.
    Dengan Visual Studio Express ini anda sudah bisa belajar untuk membuat berbagai jenis program/aplikasi:
    - Desktop/Windows, atau program yang running di PC anda seperti halnya Word, Excel, Internet Explorer, dsb.
    - Web, program yang anda akses via browser seperti Internet Explorer, Firefox, Opera, dll. Misalnya: myspace.com, friendster, klikbca.com, dll
    - Game, ya anda bisa membuat program game.
    - Hardware/Robot, jika anda suka robot. Anda juga bisa bikin program untuk robot.
    - Database, membuat program untuk menyimpan data.
    Kalau mau langsung download Visual Studio Express, silahkan langsung ke sini: http://msdn2.microsoft.com/en-us/express/aa975050.aspx
    Seperti yang saya bilang tadi, download yang C#.
  1. Mulailah belajar membuat program. Sering2 latihan membuat program. Anda bisa memulai belajar dengan membaca di link ini : http://msdn.microsoft.com/vstudio/express/beginner
    Pokoknya, explore seluruh halaman yang saya sebut tadi: http://msdn2.microsoft.com/en-us/express/default.aspx
    Jika anda kesulitan, ini ada tutorial "C# for Kids": http://msdn.microsoft.com/vstudio/express/beginner/kids/csharp Smile Iya, turorial bagi anak kecil yang pengen belajar pemrograman C#. Serius.
  2. Sering baca buku/artikel tentang pemrograman C#, anda bisa beli, atau cari eBook, atau baca2 artikel di internet. Bila perlu cari mentor/teman yg sdh bisa untuk membantu belajar. Sering2 latihan membuat program.

That's it. Sambil jalan anda akan semakin tahu banyak hal tentang C# dan pemrograman secara umum, dan anda juga akan semakin tahu bahwa banyak yang anda belum tahu. Smile Anda akan kenal apa itu Compiler, .NET Framework, ASP.NET, ADO.NET, CLR, Garbage Collector, XML, AJAX, JSON dan lain-lain.

Kunci sukses-nya adalah: anda harus proaktif, jangan manja/malas explorasi sendiri, dan anda mesti semangat. Misal, sambil jalan anda akan butuh SQL Server Express. Barang apa itu? Well, harapannya mestinya anda sudah harus bisa cari tahu sendiri barang apa itu.

Satu lagi: English. You gotta know English. At least you can read English text. If you just counting on Programming books in Bahasa Indonesia, you'll get nowhere. Cos there are very few titles of programming books in Bahasa Indonesia, while there are tons of programming books in English. Especially on advanced topics. So, learn some English. Smile

Belajar pemrograman itu seperti belajar bela diri. Sering latihan, jadi lancar saat pakai jurus2nya. Kalau cuma tahu jurus tapi jarang latihan, kagok nantinya saat benar2 akan dipakai.

Mudah2an tulisan kecil ini bisa membantu teman-teman yang baru mau belajar programming dan C#. Dan saya tidak perlu cerita hal yang sama ini berulang-ulang. Tinggal refer ke post ini jika ada yang tanya: "Bagaimana cara belajar pemrograman komputer (dengan .NET)?". Smile

perancangan memodifikasi sepeda motor

Perancangan Serial Stepper
Blok diagram dari rangakaian yang dirancang tampak pada gambar dibawah
ini :
Komputer
Komputer berfungsi untuk mengendalikan peralatan luar, dengan peralatan
luar yang dimaksud adalah motor stepper.
Spesifikasi program yang dirancang memiliki kemampuan sebagai berikut :
· Mengatur kecepatan motor stepper
· Mengendalikan putaran motor secara manual melalui keyboard
· Menjalankan motor secara kontinu
Antar Muka
Antar muka berfungsi untuk mengkonversi data serial yang diterma dari
komputer diubah menjadi data – data untuk mengendalikan motor stepper
Antar muka terdiri dari dua unit rangkaian :
· Rangkaian Mikrokontroler
· Rangkaian Driver Motor stepper
Antar Muka
Mikrokontroler
Mikrokontroler berfungsi untuk mengkonversi data serial yang diterima
menjadi data paralel yang kemudian dikirimkan ke driver motor stepper.
Model komunikasi serial yang digunakan yaitu komunikasi asinkron. Model
paket komunikasi asinkron tampak seperti gambar dibawah ini :
Dari gambar dibawah terlihat format bit pengiriman data serial asynchronous.
selalu rendah selalu high
Start D0 D1 D2 D3 D4 D5 D6 PARITY STOP STOP
Gambar 3 Format komunikasi asinkron
Komputer Antar Muka Peralatan
luar
Mikrokontroler Driver motor
Stepper
Dalam komunikasi asinkron dikenal dengan istilah Baudrate yaitu banyaknya
data baud yang dikirim perdetik dikenal dengan satuan Bps
Motor stepper yang akan dikendalikan memiliki spesifikasi sebagai berikut :
· kecepatan maksimum 2 (dua) putaran perdetik
· Putaran perstep motor sebesar 6 derajat maka untuk satu putaran dibutuhkan
360/6 = 60 data
Dari spesifikasi diatas maka kecepatan pergantian data maksimum yaitu
1/(2*60) = 8,3 ms (1)
Baudrate minimum yaitu:
1/8,3 ms > 120,5 Bps (2)
Baudrate yang akan digunakan 4800 Bps
Perancangan Perangkat lunak Mikrokontroler
Program yang digunakan menggunakan bahasa assembly Intel MCS-51. Program
yang akan dirancang mempunyai kemampuan membaca data dari komputer melalui
port serial kemudian mengolah data yang diterima kemudian mengirimkan ke port
paralel yang terhubung ke rangkaian driver motor stepper.
Diagram Alir program mikro sebagai berikut :
Start
Init
Ambil Data dari
port serial
Baca data
kecepatan motor
Konversi ke dalam
waktu
Baca Model
pengontrolan
Manual/
otomatis
Subrutin
manual
Subrutin
otomatis
Flowchart program di Mikrokontroler
Untuk pengaturan kecepatan hanya untuk pengaturan otomatis sedangkan untuk
manual digunakan kecepatan default yaitu 20 rpm
Sesuai dengan spesifikasi motor yang dikendalikan telah didapat data bahwa
kecepatan motor maksimum yaitu 2 putaran perdetik maka dalam satu menit banyak
putaran maksimum :
2*60 = 120 putaran/menit (3)
Dengan demikian data jangkah kecepatan motor yaitu dari 1 – 120. Sesuai dengan
perhitungan diawal kecepatan maksimum pergantian data yaitu setiap 8,3 milidetik.
Rasio pertambahan waktu untuk mengurangi kecepatan motor yaitu
delay = 8,3*n (4)
Bila n makin besar maka makin lambat putaran motor yang dihasilkan
Misal kecepatan putar diinginkan 4 rpm maka waktu untuk pergantian data yaitu :
8,3 * 4 = 33,2 milidetik = 33 milidetik (5)
Perancangan Perangkat Lunak Mikrokontroler
Perangkat mikrokontroler supaya dapat bekerja harus diisi program. Seperti
telah dijelaskan diawal bahasa yang akan digunakan yaitu bahasa assembly Keluarga
Intel MCS 51.
Telah dijelaskan di bab II supaya mikrokontroler dapat berhubungan dengan
komputer perlu dilakukan inisialisasi register SCON, TCON, TMOD dan TH1.
Register TCON berfungsi untuk mengaktifkan timer, register TMOD untuk mengatur
mode timer, TH1 untuk menginisialisasi baud rate komunikasi serial dari
mikrokontroler sedangkan register SCON untuk mengaktifkan port serial dari
mikrokontroler.
Mengatur Register SCON
Format Register SCON sebagai berikut :
MSB LSB
SMO SM1 SM2 REN TB8 RB8 T1 R1
Detail fungsi masing masing bit telah dijelaskan di BAB II.
Telah dijelaskan diatas komunikasi yang kita gunakan yaitu komunikasi
asynchronous dengan baud rate sebesar 4800 Bps.
Untuk komunikasi asynchronous mode yang digunakan yaitu mode 1, (UART
8 bit). Maka SM0 = 0, SM1 = 1, SM2 = 1. REN = 1, RB8 dan TB8 berfungsi untuk
untuk menampung bit stop, bila RB8 bernilai 1 maka data diterima benar sebaliknya
bila RB8 bernilai 0 maka data diterima salah dan RI tidak menjadi 1 meskipun SBUF
sudah berisi data dari port serial. TB8 sebagai bit paritas yaitu untuk menampung bit
ke 9. Disini bit paritas tidak digunakan sebagai default bit RB8 dan TB8 diberi nilai 0.
Bit TI berfungsi sebagai flag bila data telah komplit dikirim dan RI juga berfungsi
sama seperti TI hanya bedanya untuk menandai bahwa data telah komplit diterima.
Maka SCON = 01110000b
Mengatur register TCON
Format register TCON
MSB LSB
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Register TCON berfungsi untuk mengaktifkan timer dan untuk mengaktifkan
cukup dengan menset /atau merubah nilai bit dari 0 menjadi yaitu bit TR1.
Mengatur Register TMOD
Format register TMOD
MSB LSB
Timer/counter 1 Timer/counter 0
GATE C/T M1 M0 GATE C/T M1 M0
Register TMOD berfungsi untuk mengatur mode dari timer. Timer untuk komunikasi
serial digunakan timer 1 dengan mode 1 yaitu auto reload 8 bit. Bit gate diisi 0 dan bit
C/T diisi 0.
Maka isi TMOD = 00010000b
Mengatur register TH1
Register TH1 untuk mendefinisikan baud rate dari komunikasi serial yang kita
gunakan.
Formula untuk menghitung baud rate yaitu :
(384* RATE)
TH1 256 - (K* FREKUENSI OSCILATOR
BAUD
= (7)
Rangkaian yang dirancang menggunakan Frekuensi oscilator 11,0592 Mhz, k diisi 1
maka nilai TH1 didapat :
250
384* 4800
256 1*11,0592.10
6
- = d = 0FAh (8)
Flowchart inisialiasi
Bahasa untuk memprogram mikro digunakan bahasa assembler MCS-51. Sesuai
dengan rancangan yang dibuat diatas maka flowchart untuk inisialisasi awal sebagai
berikut :
Flowchart Inisialisasi
Start
Ambil data dari
SBUF
Isi SBUF=stack
Baca model
pengontrol
Rutin
control
T
Y
Flowchart baca mode pengontrolan
Kode untuk Rutin Putar Motor
Data digital untuk menggerakkan motor stepper :
Memutar ke kanan
step 1 0 0 1 1
step 2 1 0 0 1
step 3 1 1 0 0
step 4 0 1 1 0
step 5 0 0 1 1
Pergantian data untuk setiap stepnya disesuaikan dengan kecepatan yang
dmasukkan.
Data diatas akan dibuat dalam suatu subrutin khusus dan kode untuk
memanggil subrutin untuk memutar ke kanan yaitu 027H dan ke kiri 0C6H.
Pemberian kode 027H dan 0C6H tidak aturan khusus, sehingga bila diinginkan kode
dapat diganti begitu pula kode yang dikirimkan oleh komputer disesuaikan dengan di
program di mikrokontroler.
Memutar ke kiri
step 1 0 0 1 1
step 2 0 1 1 0
step 3 1 1 0 0
step 4 1 0 0 1
step 5 0 0 1 1
Baca kode
pengontrolan
Kode otomatis
Inisialisasi
Kode manual
Baca kecepatan
yang diinginkan
Baca kode
tombol
Rutin putar
kiri Rutin stop Rutin putar
kanan
Kode arah
putaran
Rutin putar
kiri
Rutin putar
kanan
Ada
penekanan
tombol ?
Ada
penekanan
tombol ?
Kode komunikasi
selesai
Selesai
Tombol masih
ditekan
Tombol masih
ditekan
Perancangan perangkat lunak di komputer
Bahasa yang digunakan di komputer yaitu gabungan bahasa pascal dan bahasa
assembler 8088. Bahasa assembler digunakan untuk menginisialisasi port serial
komputer. Sedangkan bahasa pascal digunakan untuk untuk mengontrol pergerakan
motor.
Flowchart Perangkat lunka di komputer.
Mirip dengan di mikrokontroler langkah awal kita menginisialiasi port serial
komputer dan mengatur baud rate komputer sama dengan mikrokontroler yaitu 4800
Bps. Setelah port serial komputer diinisialisasi komputer mengirim data ke
mikrokontroler yaitu 5 buah data integer untuk mengaktifkan komunikasi antara
mikro dan komputer.
Dibawah ini tampak flowchart dari program yang dibuat:
Inisialiasi port serial komputer.
Menginisialisasi port serial komputer menggunakan pelayanan interupsi 14H.
dan kode pengontrolan seperti baudrate, mode komunikasi, dimasukkan ke register
AH. Untuk menentukan port yang digunakan dimasukkan ke register DX.
Nilai yang dimasukkan ke register AH sebagai berikut :
Start
Inisialisasi Port
Serial
Baud rate = 4800
Kirim data integer
Baca Data
balasan dari mikro
Data dikirim
sama dengan
diterima
Kirim kode
pengontrolan
Selesai
Baud rate Parity Stop Data bits
7 6 5 Bps 4 3 2 1 0
0 0 0 110 X 0 None 0 – 1 1 0 7
0 0 1 150 0 1 odd 1 - 2 1 1 8
0 1 0 300
0 1 1 600
1 0 0 1200
1 0 1 2400
1 1 0 4800
1 1 1 9600
Komunikasi serial komputer ada dua yaitu COM 1 dan COM 2 dan untuk
memilih jalur komuniksi yang digunakan menggunakan register DX. Untuk COM 1
DX diisi nilai 0 dan untuk COM 2 nilai DX diisi 1.
Telah diuraikan diatas kecepatan komunikasi dipilih 4800 bps. Parity tidak
digunakan, stop bit dipilih yang 2 (dua) dan data bits 8 maka isi register AH yaitu
11000100B = 0C4H.
Kode Pengontrolan
Kode pengontrolan yang dirancang terdiri dari menu :
· Pengaturan kecepatan motor
· Putar motor kontinu ke kiri
· Putar motor kontinu ke kanan
· Putar motor perlangkah ke kiri
· Putar motor perlangkah ke kanan.
Bila keluar program tekan tombol Esc.
Kode pengontrolan motor ke kanan 27H dan ke kiri C6H maka dari komputer
untuk memutar motor ke kanan dikirim kode 27H. Kecepatan motor yang dikontrol
bergantung kecepatan pengiriman kode yang dikirim 27H atau C6H. Untuk mengatur
kecepatan motor digunakan rumus (5). Kecepatan yang didapat akan dibulatkan dan
angka hasil pembulatan akan dimasukkan ke sintaks delay(n).
Perancangan perangkat keras
Ada dua bagian perangkat keras yang digunakan yaitu rangkaian pengontrol dan
rangkaian driver motor stepper.
Rangkaian kontrol
Rangkaian kontrol berfungsi untuk mengatur pergerakkan dari motor stepper.
Komponen utama yang digunakkan yaitu IC ATMEL 89C51 dan IC MAX 232.
Rangkaian Pembangkit Frekuensi
Untuk Pembangkit detak dari IC ATMEL 89C51 digunakan kristal sebesar 11,0592
MHZ dan 2 komponen tambahan kapasitor keramik 27 PF. Rangakaian yang
digunakan tampak pada gambar dibawah ini :
Rangkaian pembangkit frekuensi ATMEL 89C51
Rangkaian Reset
Rangkaian reset diperlukan bila terjadi konflik pada program dikarenakan ada
kebocoran arus listrik atau ada komponen yang rusak sehingga proses kontrol terjadi
konflik atau hang. |Untuk rangkaian reset tampak pada gambar dibawah ini
VCC
Rangkain reset
Rangkaian komunikasi serial ke komputer
Rangkaian
serial ke komputer dari mikro
pin yang dihubungkan
Yang perlu diperhatikan disini dalam membuat kabel serial yaitu pin no 2 DB9 yang
terhubung ke komputer dihubungkan ke pin no 3 DB9 yang ke mikro begitu juga
sebaliknya.
Pin Reset
100 NF
2
3
5
7
3
2
5
7
Rangkaian driver
Rangkaian driver dibutuhkan karena arus yang dihasilkan oleh mikrokontroler
sangat kecil dan tidak mampu menggerakkan motor yang dikontrol sehingga
dibutuhkan suatu rangkaian penguat yang disesuaikan dengan motor yang dikontrol.
Motor yang dikontrol mempunyai spesifikasi arus dan tegangan sebagai
berikut :
· Arus Minimum 500 mA
· Tegangan kerja 12 V
· 4 pin data input dengan arus minimum 500 mA
Merujuk spesifikasi diatas maka dipilih transistor darlington yang mampu
mengalirkan arus yang besar. Jenis darlington yaitu TIP 122 yang mempunyai
spesifikasi sebagai berikut :
· Arus kerja maximum 2 A
· Tegangan kerja 5 V – 80 V
· Arus untuk mengaktifkan minimum 5 uA
Sesuai spesifikasi diatas maka TIP 122 memenuhi syarat untuk dapat
menggerakkan motor yang dikontrol.
Untuk menghindari arus balik dari motor yang dapat merusakkan transistor
darlington di rangkaian driver ditambahkan dioda penyearah. Rangkaian driver motor
stepper tampak pada gambar dibawah ini :
Gambar rangkaian driver motor stepper
Rangkaian driver diatas dihubungkan ke Port 1 dari rangkaian kontrol,