Teknik Kompilasi – Code Generator

Antonius T S – 1501166213

Soal:

Ditentukan 2 buah titik, dimana salah satu titik merupakan titik pusat dari sebuah lingkaran dan mempunyai jari – jari. Bagaimana memastikan titik yang lain apakah titik tersebut berada di dalam lingkaran, atau berada pada garis lingkaran, atau berada diluar lingkaran ?

Jawab :

Persamaan lingkaran dengan pusat di A (a, b) dan berjari-jari r, yaitu :

Persamaan lingkaran

Jika diketahui suatu titik B (x1 , y1), maka untuk memastikan apakah titik B berada di dalam lingkaran, atau berada pada garis lingkaran, atau berada diluar lingkaran dapat dibuat pseudocode seperti berikut :

Input x1 , y1
Input a , b
Input r

if (x1-a)^2 + (y1-b)^2 < r^2 then
print “Titik berada didalam lingkaran”
else if (x1-a)^2 + (y1-b)^2 = r^2 then
print “Titik berada pada garis lingkaran”
else
print “Titik berada diluar lingkaran”

Code generator :

01. mov x1,R0
02. mov a, R1
03. sub R1,R0
04. mul R0,R0
05. mov y1, R2
06. mov b, R3
07. sub R3,R2
08. mul R2,R2
09. add R2,R0
10. mov r,R4
11. mul R4,R4
12. lt R4,R0
13. jmpf R0,(16)
14. prt “Titik berada didalam lingkaran”
15. jmp ,(21)
16. eq R4,R0
17. jmpf R0,(20)
18. prt “Titik berada pada garis lingkaran”
19. jmp ,(21)
20. prt “Titik berada diluar lingkaran”
21. …

 

www.binus.ac.id

 

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Teknik Kompilasi – Code Generator

Leave a Reply

Your email address will not be published. Required fields are marked *