Program C : Menggerakan Objek Karakter (Char)

Untuk dapat menggerakan karakter pada program ini saya menggunakan gotoxy. Berikut adalah source code program menggerakan objek karakter (Char) :

#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>

char  tombol;
int x=39,y=13;

void gotoxy(int x, int y){
HANDLE hConsoleOutput;
COORD dwCursorPosition;
dwCursorPosition.X = x;
dwCursorPosition.Y = y;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
}

int main(){
gerak :
system("cls");
gotoxy(x,y);printf("*");
tombol=getch();
if (y==0) { while (tombol=='w') {goto gerak;} } else { while (tombol=='w') {y--; goto gerak;} }
if (x==0) { while (tombol=='a') {goto gerak;} } else { while (tombol=='a') {x--; goto gerak;} }
if (y==24) { while (tombol=='s') {goto gerak;}    } else { while (tombol=='s') {y++; goto gerak;} }
if (x==79) { while (tombol=='d') {goto gerak;} } else { while (tombol=='d') {x++; goto gerak;} }
}

Screenshot eksekusi program :



Tekan 'w' untuk menggerakan karakter (*) ke atas, tekan 's' untuk kebawah, 'a' untuk ke kiri, dan tekan 'd' untuk menggerakan karakter (*) ke kanan.
Sekian Postingan kali ini, semoga bermanfaat.

0 komentar:

IT : Input dan Output

 Input/Output (I/O) adalah (masukan) / (keluaran) bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Selanjutnya terbagi 2 sistem yaitu sistem input dan sistem output :
Sistem Input : Energi yang dimasukkan ke dalam sistem untuk diproses sehingga menghasilkan keluaran sistem.
Sistem Output : Hasil dari suatu proses atau aktivitas menerima data dari hasil pengolahan pada bagian pemroses.

Input Device : Perangkat untuk memasukkan data dari luar ke dalam suatu memory dan processor untuk diolah guna menghasilkan informasi yang diperlukan.
(secara kasar : memberi perintah lewat perangkat,  hasilnya muncul di  komputer)
Output Device : Perangkat yang berfungsi untuk mengeluarkan hasil pemrosesan yang berasal dari CPU kedalam suatu media yang dapat dibaca atau digunakan oleh manusia.
(secara kasar : memberi perintah lewat komputer, hasilnya muncul di perangkat)

Contoh Input dan Output Device :


Modul I/O : peralatan penghubung (antarmuka/interface) antara sistem bus komputer atau switch dengan suatu perangkat peripheral.
Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah perangkat yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.

Sekian Postingan kali ini, semoga bermanfaat.

0 komentar:

Algoritma : Convex Hull

Kali ini saya akan membagikan algoritma convex hull (brute force) secara deskriptif. Algoritma nya adalah sebagai berikut : 

Algoritma Convex Hull (Deskriptif) :

1.Hubungkan titik pertama dengan semua titik lain sehingga terbentuk garis-garis.
2.Cek semua garis satu persatu.  Jika semua titik yang lain “hanya“ ada di salah satu sisi dari suatu garis, maka garis tersebut adalah garis convex hull.
3.Lakukan langkah 1 dan 2 untuk titik kedua dan titik-titik selanjutnya sampai titik ke-n
4.Gabungkan semua garis convex hull tadi agar membentuk suatu Lintasan.


5.Definisikan titik-titik yang terhubung pada Lintasan tersebut sebagai TITIK CONVEX HULL.

 
Gambar 1 : Contoh Kasus


Gambar 2 : Convex Hull

Sekian postingan kali ini, semoga bermanfaat

0 komentar:

Program C : Heapsort

Pada postingan sebelumnya sudah dibahas mengenai algoritma heapsort, jadi kali ini saya akan memberikan source code program heapsort untuk program C.

#include <stdio.h>

int main(){
int l,i,j,k,n,tmp,arr[20];
printf("Masukan Banyaknya bilangan : ");
scanf("%d",&n);

for(i=1;i<=20;i++) arr[i]=0;

for (i=1;i<=n;i++){
printf("masukan bilangan ke-%d : ",i);
scanf("%d",&arr[i]);
}  
for (i=1;i<=n;i++){
for(k=1;k<=n;k++){
if(k==1) l=1;
else l=l*2;
if(l==i){
printf("\n");
for(j=1;j<=n-i;j++) printf(" ");
}
}
printf("%d ",arr[i]);
}
printf("\n");
for (i=1;i<=n;i++){
for(k=1;k<=n;k++){
if(k==1) l=1;
else l=l*2;
if(l==i){
printf("\n");
for(j=1;j<=n-i;j++) printf(" ");
}
}
if(arr[i*2]==0||arr[i*2+1]==0){

}
else {
if(arr[i*2]<arr[i]){
tmp=arr[i*2];
arr[i*2]=arr[i];
arr[i]=tmp;

if(arr[i*2+1]<arr[i]){
tmp=arr[i*2+1];
arr[i*2+1]=arr[i];
arr[i]=tmp;
}
}

printf("%d ",arr[i]);
}
}

Sekian, Semoga Bermanfaat.

0 komentar:

Copyright © 2013 Yanamon