Anda di halaman 1dari 5

Nindy Puspita

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;
};

struct titik kecepatan;


struct titik sudut;

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>

using namespace std;

struct titik

float x;

float y;
float z;

};

struct titik kecepatan;

struct titik sudut;

struct titik posisi;

void posisibaru(struct titik speed, struct titik pos0, float waktu)

struct titik pos1;

pos1.x=pos0.x+speed.x*waktu;
pos1.y=pos0.y+speed.y*waktu;
pos1.z=pos0.z+speed.z*waktu;

printf("Posisi objek \n\n");

printf("Di sumbu x : %0.2f\n", pos1.x);

printf("Di sumbu y : %0.2f\n", pos1.y);

printf("Di sumbu z : %0.2f", pos1.z);

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>

using namespace std;

struct titik

float x;
float y;
float z;

};

struct titik kecepatan;


struct titik sudut;
struct titik posisi;

float *posisibaru(struct titik speed, struct titik pos0, float waktu)

static float result[3];

struct titik pos1;

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);

printf("Posisi objek \n\n");

printf("Di sumbu x : %0.2f\n", *ptr);

printf("Di sumbu y : %0.2f\n", *(ptr+1));

printf("Di sumbu z : %0.2f", *(ptr+2));

}
Output :

Anda mungkin juga menyukai