1 Mekatronika B
3110191047
WORKSHOP PEMROGRAMAN 2
STRUCTURE
1. Buat sebuah struktur data untuk membungkus beberapa data dari sebuah sensor
yang berisi parameter:
a. Kecepatan masing masing di arah sumbu X, Y dan Z dengan tipe data float
b. Sudut masing-masing ke arah X, Y dan Z masing-masing dengan tipe
data float
Listing Code :
struct titik
{
float x;
float y;
float z;
};
2. Buat struktur data yang berisi informasi posisi X, Y dan Z (dalam tipe data float),
lalu buat fungsi untuk mendapatkan posisi dari dari pergerakan dengan kecepatan
dengan arah yang ada pada struktur nomor 1. Fungsi dipanggil dengan mengirimkan
argument berupa isi structure soal no 1 , structure yang berisi posisi saat ini, serta
informasi lama pergerakan (diasumsikan titik tersebut bergerak dengan kecepatan
konstan selama waktu yang diberikan). Hasilnya langsung di cetak pada fungsi yang
dipanggil.
Listing Code :
#include <iostream>
#include <stdio.h>
#include<stdlib.h>
struct titik
float x;
float y;
float z;
};
pos1.x=pos0.x+speed.x*waktu;
pos1.y=pos0.y+speed.y*waktu;
pos1.z=pos0.z+speed.z*waktu;
int main()
posisi.x=1;
kecepatan.x=10;
posisi.y=2;
kecepatan.y=10;
posisi.z=3;
kecepatan.z=10;
posisibaru(kecepatan,posisi,10);
}
Output :
3. Modifikasi program nomor 2, tetapi hasil perhitungan dikembalikan di fungsi main
dan dicetak pada fungsi main.
Listing Code :
#include <iostream>
#include <stdio.h>
#include<stdlib.h>
struct titik
float x;
float y;
float z;
};
result[0]=pos1.x=pos0.x+speed.x*waktu;
result[1]=pos1.y=pos0.y+speed.y*waktu;
result[2]=pos1.z=pos0.z+speed.z*waktu;
return result;
int main()
float *ptr;
posisi.x=4;
kecepatan.x=10;
posisi.y=3;
kecepatan.y=10;
posisi.z=2;
kecepatan.z=10;
ptr=posisibaru(kecepatan,posisi,10);
}
Output :