Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Workshop Project II Mohammad Zikky, S.ST, M.T.

Presentasi serupa


Presentasi berjudul: "Workshop Project II Mohammad Zikky, S.ST, M.T."— Transcript presentasi:

1 Workshop Project II Mohammad Zikky, S.ST, M.T

2 GBPP Perkuliahan

3 Aturan Pembuatan Laporan
Dibuat setiap selesai habis workshop Meliputi: Dasar Teori Alat dan Bahan Analisa dan Penjelasan Per-bagian Pengembangan Kesimpulan Laporan tulisan harus ditulis tangan dan hasil yang berupa output praktikum di computer bisa di screenshot, di print kemudian di temple bersama tulisan tangan di buku laporan. Tidak boleh ada yang sama persis antar mahasiswa (baik gambar atau penulisan), jika ditemukan, akan dikenakan pinalti nilai

4 Penilaian Knowledge = 25% Skill = 35% Attitude = 40%
Knowledge akan dilihat dari penjelasan ketika demo program/presentasi Skill dilihat dari profesionalisme keseharian mengerjakan praktikum dan cara membuat laporan hasil praktikum Attitude dilahat dari sikap kepada teman dan dosen dalam keseharian di kampus Waktu maksimal keterlambatan: 15 menit setelah perkuliahan dimulai

5 Referensi N Utama, Didit . Widayanti, Rya. Algoritma & Pemrograman dengan Borland C++. Graha Ilmu, 2005 Dickheiser, Michael J. C++ for Game Programmer, Second Edition. Charles River Media, 2007 Allain, Alex. Jumping into C++. Alex Allain (www.cprogramming.com), 2014 Unity3d.com Tutorials

6 Instalasi Install Borland 6 Builder sebagai Compiler C++ di computer
Pilih New  Consule Wizard OK Centang C++ dan Consule Application  OK

7 Masukkan source code program berikut:
#include<iostream> #include<windows.h> using namespace std; //variabel global untuk menyimpan tombol informasi //tombol yang ditekan INPUT_RECORD InRec; //fungsi delay(), digunakan untuk menunda proses eksekusi //selama beberapa millisecond #define delay Sleep //fungsi gotoxy(), digunakan untuk menempatkan kursor //pada posisi KOLOM dan BARIS void gotoxy(unsigned int kolom, unsigned int baris) { COORD posisi = {kolom,baris}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), posisi); } //fungsi kbhit(), digunakan untuk mendeteksi terjadinya //penekanan tombol. Jika terdapat tombol yang ditekan maka fungsi ini //akan mengembalikan nilai TRUE sebaliknya FALSE bool kbhit() DWORD EventCount,NumRead; GetNumberOfConsoleInputEvents(GetStdHandle(STD_INPUT_HANDLE), &EventCount); if(EventCount>0) ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &InRec, 1, &NumRead); return (InRec.EventType == KEY_EVENT); //fungsi getch(), digunakan untuk mengambil informasi tombol yang //terakhir kali ditekan. char getch() return InRec.Event.KeyEvent.uChar.AsciiChar; int main() { char tekan='X'; //perulangan ini akan diulang selama tekan TIDAK SAMA dengan 'x' while(tekan!='x') //cetak tulisan 'halo' pada kolom=20 & baris=10 gotoxy(20,10); cout << "hallo"; delay(1000); //cetak tulisan kosong pada kolom=20 & baris=10 //untuk menimpa tulisan 'halo' cout << " "; //cetak tulisan 'dunia' pada kolom=30 & baris=10 gotoxy(30,10); cout << "dunia"; //cetak tulisan kosong pada kolom=30 & baris=10 //untuk menimpa tulisan 'dunia' //cek apakah terjadi penekanan tombol, //jika 'ya', simpan tombol tersebut pada variabel TEKAN if(kbhit()) tekan = getch(); }

8 Langkah berikutnya File  Save Project as
Berinama file misalkan main.cpp Kemudian berinama project, missal: project1 Save Setelah itu, coba jalankan dengan klik RUN

9 Penjelasan  Animasi Maju Mundur
Animasi tulisan Maju-Mundur adalah animasi sederhana membuat tulisan bergerak maju dan saat mencapai posisi tertentu tulisan tersebut akan bergerak mundur, begitu seterusnya. Program akan berakhir jika pemakai menekan tombol 'x'. Program ini bisa dibuat dengan mudah menggunakan Turbo / Borland C++ for Dos, karena telah tersedia fungsi-fungsi yang cukup mudah untuk digunakan seperti gotoxy(), delay(), kbhit()dan getch(). delay(): digunakan untuk menunda proses eksekusi selama beberapa millisecond gotoxy(): digunakan untuk menempatkan kursor pada posisi KOLOM dan BARIS kbhit(): digunakan untuk mendeteksi terjadinya penekanan tombol. Jika terdapat tombol yang ditekan maka fungsi ini akan mengembalikan nilai TRUE sebaliknya FALSE getch(): digunakan untuk mengambil informasi tombol yang terakhir kali ditekan. Yang perlu dilakukan hanyalah menggunakan pusataka, conio.h & dos.h. #include <conio.h> #include <dos.h>

10 Langkah pertama Ide dasar dari animasi ini sebenarnya hanyalah "tulis" kemudian "hapus". Jika kita mempunyai program berikut : gotoxy(10,20); cout << "Halo"; gotoxy(30,20); cout << "Dunia"; maka tulisan "Halo" akan ditulis pada posisi kolom=10 dan baris=20 sedangkan tulisan "Dunia" akan ditulis pada posisi kolom=20 dan baris=20. Jika kita ingin membuat animasi, tulisan "Halo" ditampilkan dulu kemudian setelah beberapa saat baru tulisan "Dunia" ditampilkan, maka kita membutuhkan fungsi delay() delay(1000); //tunda selama 1000ms = 1 detik

11 Langkah kedua Jika kita inginkan agar ketika tulisan "Dunia" ditampilkan maka tulisan "Halo" harus dihapus maka idenya adalah kita menimpa tulisan "Halo" dengan tulisan kosong " ". Tentu tulisan kosong harus ditulis pada posisi kolom dan baris yang sama dengan tulisan "Halo". gotoxy(10,20); cout << "Halo"; //tunda selama 1000ms = 1 detik delay(1000); //timpa tulisan "Halo" dengan tulisan kosong gotoxy(10,20); cout << " "; gotoxy(30,20); cout << "Dunia"; Dengan ide sederhana seperti ini, kita bisa membuat animasi-animasi lain yang lebih menarik

12 Percobaan Ke-2 //area animasi unsigned int BATASKANAN = 45;
unsigned int BATASKIRI = 10; unsigned int kolom = 10; unsigned int baris = 10; //teks yang akan dicetak string teks = "PENS JOSS"; //perulangan ini akan diulang selama tekan TIDAK SAMA dengan 'x' while(tekan!='x') { //kontrol posisi if(maju==true) //coba deh, ganti bagian ini dengan 'kolom>=BATASKANAN' //apa yang terjadi ? if (kolom>=BATASKANAN-teks.length()) maju=false; } else kolom++; } if (kolom<=BATASKIRI) maju=true; kolom--; //TULIS teks gotoxy(kolom,baris); cout<< teks; //cek apakah terjadi penekanan tombol, //jika 'ya', simpan tombol tersebut pada variabel TEKAN if(kbhit()) tekan = getch(); delay(50); //HAPUS teks cout.width(teks.length()); //Coba deh, tambahkan titik di antara tanda kutip berikut cout.fill(' '); //Diantara tanda kutip berikut, akan diisi dengan KARAKATER //yang ditentukan lewat fungsi cout.fill(KARAKATER) diatas gotoxy(kolom,baris); cout<<""; #include<iostream> #include<windows.h> using namespace std; //variabel global untuk menyimpan informasi //tombol yang ditekan INPUT_RECORD InRec; //fungsi delay(), digunakan untuk menunda proses eksekusi //selama beberapa millisecond #define delay Sleep //fungsi gotoxy(), digunakan untuk menempatkan kursor //pada posisi KOLOM dan BARIS void gotoxy(unsigned int kolom, unsigned int baris) { COORD posisi = {kolom,baris}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), posisi); } //fungsi kbhit(), digunakan untuk mendeteksi terjadinya //penekanan tombol. Jika terdapat tombol yang ditekan maka fungsi ini //akan mengembalikan nilai TRUE sebaliknya FALSE bool kbhit() DWORD EventCount,NumRead; GetNumberOfConsoleInputEvents(GetStdHandle(STD_INPUT_HANDLE), &EventCount); if(EventCount>0) ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &InRec, 1, &NumRead); return (InRec.EventType == KEY_EVENT); //fungsi getch(), digunakan untuk mengambil informasi tombol yang //terakhir kali ditekan. char getch() return InRec.Event.KeyEvent.uChar.AsciiChar; int main() gotoxy(10,4); cout << "==================================="; gotoxy(10,5); cout << "== Animasi Tulisan Maju Mundur 2 =="; gotoxy(10,8); cout << "==================================="; gotoxy(10,12); cout << " [ Tekan 'x' Untuk Keluar ] "; char tekan='X'; //kontrol arah gerak tulisan //kalau TRUE tulisan akan bergerak ke KANAN (MAJU) //kalau FALSE tulisan akan bergerak ke KIRI (MUNDUR) bool maju = true;

13 Percobaan lebih lanjut
Silahkan modifikasi program tersebut misalkan menampilkan tulisan naik turun, memberi hitungan berapa kali tulisan lewat, atau lainnya. Analisa dan jelaskan hasil praktikumnya Buat laporan


Download ppt "Workshop Project II Mohammad Zikky, S.ST, M.T."

Presentasi serupa


Iklan oleh Google