Teknik Kompilasi-Code Generator

2 buah titik A dan B berada pada suatu grafik. Salah satu dari titik tersebut membentuk lingkaran dengan jari-jari r. Buatlah pseudocode dan code generator untuk menentukan apakah salah satu titik tersebut berada pada lingkaran, atau berada di luar lingkaran, atau berada di dalam lingkaran!

Pseudocode
int s, x, y
input ax, ay, bx , by, r
x=bx -ax
y=by-ay
s=akar (x*x)+(y*y)
if(s==r)
print tetap di titik
else if(s>r)
print luar titik
else
print dalam titik

Code Generator
01 Mov bx, R0
02 Sub ax, R0
03Mov R0, x

04 Mov by, R1
05 Sub ay, R1
06 Mov R1, y

07 Pow R0, R0
08 Pow R1, R1
09 Add R1, R0
10 Sqrt R0, R0
11 Mov R0, s

12 Mov s, R0
13 Eq r, R0
14 Jmpf R0, (19)
15 Print “tetap di titik”
16 Jmp , (22)

17 Gt r, R0
18 Jmpf R0, (21)
19 Print “luar titik”
20 Jmp , (22)
21 Print “dalam titik”
22 …

www.binus.ac.id

Read Users' Comments (0)

Tugas: Kuis Tekkom

1. Perhatikan CFG berikut

S ->S+A | S – A | A+S | A-S | B*A

B -> aB | B(a+B) | B*a | a(a+B)|b

A-> a

Tentukan first , follow & table dari produksi di atas

Jawab:

S -> A+SS’ | A – SS’ | B * AS’

S’ -> +AS’ | -AS’ | ε

 

S = >  AF | B * AS’

F -> +SS’ | -SS’

S’ -> +AS’ | -AS’ | ε

 

B -> aBB’ | a(a+B)B’ | bB’

B’-> (a+B)B’ | *aB’

 

B -> aG | bB’

G -> BB’ | (a+B)B’

B’ -> (a+B)B’ | *aB’

 

A -> a

 

First S -> {a,b}

First F -> {+,-}

First S’ -> {+,-, ε}

First B -> {a,b}

First G -> {a,b,(}

First B’ -> {(,*}

 

Follow S -> {$,+,-}

Follow S’ -> {$}

Follow B -> {$,a,b,)}

Follow B’ -> {$}

Follow F -> {$,+,-}

Follow G -> {$,a,b,)}

 

  a b + * ( ) $
S S -> AF S -> B*AS’            
S’     S->+AS’ S->-AS’       S-> ε
B B->aG B->bB’            
B’         B->*aB’ B’->(a
+b)B’
   
F     F->+SS’ F->-SS’        
G G->BB’ G->BB’  

 

    G->(a+b)B’    

 

 

2. S -> if E then S | if E then S else S | V:= E

S’->ε | else S

E-> TE’

E’-> TE’ | -TE’ | ε

T->FT’

T’-> FT’|/FT’|ε

F-> V|(E)|const

V-> id V’

V’-> ε|[E]

Tentukan first , follow & table dari produksi di atas

first(S) = {if, id}

first(S’) = {ε, else}

first(E) = { id, ( , const}

first(E’) = {+, -, ε}

first(T) = {id,(, const}

first(T’) = {*, /,ε }

first(F) = {id,(, const}

first(V) = {id}

first(V’) = {a b c}

 

follow(S) = {$}

follow(S’) = {$}

follow(E) = { then, $,),]}

follow(E’) = { then, $,),]}

follow(T) = {+, -}

follow(T’) = {+, -}

follow(F) = {*,/ }

follow(V) = {:}

follow(V’) = {:}

  if Id else ( const + * / [ $ then ) ] :
S S-> if E then S S’ S->V:=E                          
S’     S-> else S               S->

ε

       
E   E->TE’   E->

TE’

E->

TE’

                   
E’           E’->

TE’

E’->

TE’

E’->

TE’

    E->

ε

E->

ε

E->ε E->ε  
T   T->FT’   T->

FT’

T->

FT’

                   
T’           T’->

ε

T’->

ε

T’->

*FT’

T’->

/FT’

           
F   F->V   F->

(E)

F->

const

                   
V   V->idV’                          
V’                   V’->

[E]

        V->ε

 

 

 

 

3. Dari CFG berikut

S -> a=A

A ->a A’ | bA’

A’ -> +AA’ | ε

Tentukan first, follow & table dari produksi di atas

First (S) = {a}                                                                                                  Follow (S) = {$}

First (A)={a,b}                                                                                                Follow(A)={$,+}

First(A’)={+,ε }                                                                                              Follow(A’)={$,+}

  a b + $
S S -> a=A      
A A-> aA’ A-> bA’    
A’     A’ -> +AA’ A’ -> ε

 

4.  Diketahui Grammar:

be-> bt be’

be’ -> or bt be’

be’ -> e

bt-> bf bt’

bt’ -> and bf bt’

bt’-> ε

bf -> not bf

bf ->( be)

bf-> true

bf-> false

Perikas input sbb not(true or false) and true and false not(false) true

Jawab:

first (be) = not, (, true, false

first (be’) = or, ε

first (bt) = not, (, true, false

first (bt’) =  and, ε

first (bf) = not, (, true, false

 

follow (be) = { $, )}

follow (be’) = { $, )}

follow (bt) = { or, $, )}

follow (bt’) = {or,  $, )}

follow (bf) = {or, $, ), and}

  or not ( ) true false and $
be   be-> bt be’ be->bt be’   be-> bt be’ be->bt be’    
be’ be’-> or bt be’     be’-> ε       be’-> ε
bt   bt-> bf bt’ bt->bf bt’     bt->bf bt’ bt->bf bt’  
bt’ bt’-> ε     bt’-> ε     bt’-> and bf bt’ bt’-> ε
bf   bf -> not bf bf->(be)   bf->true bf->false    

No

Stack

Input

Output

1. be $ not (true or false) and true and true and false not (false) true be -> bt be’
2. bt be’ $ not (true or false) and true and true and false not (false) true bt -> bf bt’
3. bf bt’ be’ $ not (true or false) and true and true and false not (false) true bf -> not bf
4. not bf bt’ be’ $ not (true or false) and true and true and false not (false) true pop not
5. bf bt’ be’ $ (true or false) and true and true and false not (false) true bf -> (be)
6. (be) bt’ be’ $ (true or false) and true and true and false not (false) true pop (
7. be) bt’ be’ $ true or false) and true and true and false not (false) true be -> bt be’
8. bt be’) bt’ be’ $ true or false) and true and true and false not (false) true bt -> bf bt’
9. bf bt’ be’) bt’ be’ $ true or false) and true and true and false not (false) true bf -> true
10. true bt’ be’) bt’ be’ $ true or false) and true and true and false not (false) true pop true
11 bt’ be’) bt’ be’ $ or false) and true and true and false not (false) true bt’ -> ε
12 be’) bt’ be’ $ or false) and true and true and false not (false) true be’ ->or bt be’
13. or bt be’ ) bt’ be’ $ or false) and true and true and false not (false) true pop or
14. bt be’) bt’ be’ $ false) and true and true and false not (false) true bt -> bf bt’
15. bf bt’ be’) bt’ be’ $ false) and true and true and false not (false) true bf -> false
16. false bt’ be’) bt’ be’ $ false) and true and true and false not (false) true pop false
17. bt’ be’) bt’ be’ $ ) and true and true and false not (false) true bt’ -> ε
18. be’) bt’ be’ $ ) and true and true and false not (false) true be’ -> ε
19. ) bt’ be’ $ ) and true and true and false not (false) true pop )
20. bt’ be’ $ and true and true and false not (false) true bt’ -> and bf bt’
21. and bf bt’ be’ $ and true and true and false not (false) true pop and
22. bf bt’ be’ $ true and true and false not (false) true bf -> true
23. true bt’ be’ $ true and true and false not (false) true pop true
24. bt’ be’ $ and true and false not (false) true bt’ -> and bf bt’
25. and bf bt’ be’ $ and true and false not (false) true pop and
26. bf bt’ be’ $ true and false not (false) true bf -> true
27. true bt’ be’ $ true and false not (false) true pop true
28. bt’ be’ $ and false not (false) true bt’ -> and bf bt’
29. and bf bt’ be’ $ and false not (false) true pop and
30. bf bt’ be’ $ false not (false) true bf -> false
31. false bt’ be’ $ false not (false) true pop false
32. bt’ be’ $ not (false) true ditolak

 

 

 

 

 

 

 

 

www.binus.ac.id

Read Users' Comments (0)

Create table menggunakan keyword SQL

Berikut adalah proses pembuatan tabel di SQL dengan menggunakan keyword UPDATE sebagai nama tabel/entity

10147886_10202835466121656_1917678685_o

Ketika dijalankan akan muncul error seperti gambar pada bagian Messages. Hal tersebut membuktikan bahwa UPDATE yang merupakan keyword dari SQL tidak dapat dijadikan nama dari suatu table.

Bagaimana cara mengatasinya?

caranya adalah dengan menambahkan [ ] pada UPDATE, contohnya sebagai berikut:

10152055_10202835466681670_1673981678_o (1)

Maka table UPDATE dapat dibuat :))

www.binus.ac.id

Read Users' Comments (0)

TM-1 Metode Numerik

1.     Perusahaan tambang yang sedang melakukan eksplorasi melakukan penelitian kandungan emas disuatu tempat. Berdasarkan hasil penelitian, kandungan emas mengikuti jalur lintasan y=f(x) = ex  . Menurut data satelit, untuk mendapatkan kandungan emas terbanyak ada di posisi x=0.4. Jika posisi pengeboran tersebut dihitung menggunakan pendekatan deret Taylor sampai dengan 4 suku pertama, hitunglah ( pembulatan 4 angka dibelakang koma),Hitunglah :

a. Nilai f(0.5) untuk fungsi f(x) = ex

b. Galat mutlak dan relatifnya.

Nilai  e   = 2,7183

Jawab:

1-300x243

2.   Seorang pembuat boneka ingin membuat dua macam boneka yaitu boneka A dan boneka B. Kedua boneka tersebut dibuat dengan menggunakan dua macam bahan yaitu potongan kain dan kancing. Boneka A membutuhkan 10 potongan kain dan 6 kancing, sedangkan boneka B membutuhkan 8 potongan kain dan 8 kancing. Permasalahannya adalah berapa buah boneka A dan boneka B yang dapat dibuat dari 82 potongan kain dan 62 kancing ? Selesaikan dengan metode gauss-Jourdan !

Jawab:

2-300x254

Boneka A yang dapat dibuat=5 dan boneka B =4

3. Carilah nilai  x1, x2 dan xdari sistem persamaan linear berikut dengan menggunakan metode  dekomposisi LU.

Jawab :

3A-300x139

Cari nilai l dan u

U11 = 2

U12 = -5

U13 = 1

L21u11 = -1     ; L21 = -1/2

L31u11 = 3      ; L31= 3/2

L21u12+u22 = 3          ;  u22 = 3-5/2 ;   U22 = ½

L21u12 + L32u22 = -4 ;  L32 = 7

L21U13+U23 = -1        ; U23= -1/2

L31U13 + L32U23+U33 =2 ;  U33= 4

3B-300x52

y1= 12

-½y1 + y2 = -8

½ (12) + y2 =-8

Y2 = -2

3/2 y1 + 7y2 + y3 = 16

3/2 (12) + 7(-2) + y3 =16

18 -14 + y3 = 16

4+y3 = 16

Y3 = 12

3c-300x64

4×3 = 12

X3 = 3

½ x2 + (-½)x3 = -2

½ x2 + (-½)(3) = -2

½ x2 -3/2= -2

½ x2 = – ½

X2 =-1

2 x1 + (-5)x2 + x3 = 12

2×1 + (-5)(-1)+ 3 = 12

2×1 +5 +3 =12

2×1 +8 =12

2×1 = 4

X1 = 2

www.binus.ac.id

 

Read Users' Comments (0)

Analisis ERD Social Media

Berikut adalah ERD social yang kami buat, yaitu untuk social media instagram

:ERD

www.binus.ac.id

Read Users' Comments (0)

TM Web Database- DBMS dan DCM

1.Client Server Architecture

Client Server Architecture merupakan program atau software yang saling terhubung, antara client dan server. Server sebagai pusat atau sumber yang akan memberikan informasi ke clients, maka sebaliknya clients akan menerima dari server.

Picture1

Gambar diatas menjelaskan bahwa terdapat Client dan  Server yang mempunyai tugas masing-masing, yaitu Client bertugas untuk melakukan permintaan akses database, lalu database server akan menerima dan memberikan jawaban atau kode status kepada client. Database server merupakan pusat atau sumber, client hanya membuat permintaan saja kepada server.

2.DBMS dan DCM

DataBase Management System (DBMS) adalah sistem  pengelola basis data yang menyimpan, mengatur, megklasifikasikan data, serta mengamankan data. Sedangkan menurut Connolly dan Begg(2010, p66), DBMS adalah suatu sistem perangkat lunak yang memungkinkan user berinteraksi dengan program aplikasi dan database. DBMS dibuat dengan tujuan agar aplikasi yang dibuat dapat diakses kedalam database yang sama dalam waktu yang sama. Menurut Connolly dan Begg (2010, p66), DBMS menyediakan berbagai fasilitas sebagai berikut :

–            Fasilitas untuk mendefinisikan database, biasanya menggunakan Data Definition Language (DDL). DDL mengizinkan user untuk menspesifikasikan tipe dan struktur data, serta batasan aturan mengenai data yang bisa disimpan ke dalam database tersebut.

Contoh: Create, drop, Alter

–              Fasilitas untuk mengizinkan user untuk menambah, mengubah, menghapus, serta mendapatkan kembali data dari database, biasanya menggunakan Data Manipulation Language (DML).

Contoh:

  • Select
  • Insert:Perintah insert digunakan untuk menambahkan atau menginputkan data ke dalam tabel
  • Update:Perintah update digunakan untuk mengubah data dalam tabel
  • Delete:Perintah delete digunakan untuk menghapus data dalam tabel

dml

Sebuah DBMS harus mampu  mengintegrasikan komunikasi antara software. Ketika user mengakses database dari remote locations¸ maka DBMS akan menerima request communications messages yang dibuat oleh Data Communications Messages (DCM)  maka DBMS mampu  berintegrasi dengan bermacam,-macam DCM. DCM digunakan untuk menangani komunikasi jaringan untuk DBMS.

dcm

Fungsi DBMS:

.          Data Dictionary Management

Data dictionary adalah tempat dimana DBMS menyimpan definisi dari data (metadata) beserta relationshipnya.

.          Data Storage Management

Data Storage bertugas untuk menyimpan berbagai macam data yang diinputkan oleh user seperti report, data pribadi dan sebagainya agar penyimpanan data menjadi efisien dan cepat ketika diakses.

·         Data Transformation and Presentation

Dengan menggunakan data transformation and presentation DBMS dapat menentukan perbedaan antara data logical and physical.

·         Security Management

Keamanan adalah fungsi yang penting di dalam DBMS, maka dari itu diperlukan security management yang memberikan rule untuk menentukan user yang boleh atau tidak boleh mengakses database.

·         Multiuser Access Control

Multiuser access control memungkinkan banyak users untuk mengakses database secara simultan tanpa mempengaruhi integritas dari database.

·         Backup and Recovery Management

Backup management berfungsi untuk menjaga keamanan data dan integritas data tersebut . Recovery management menentukan berapa lama waktu yang dibutuhkan untuk mengembalikan database seperti semula setelah listrik mati.

·         Data Integrity Management

DBMS melakukan data integrity management untuk mengurangi terjadinya redundansi data.

·         Database Access Languages and Application Programming Interfaces

DBMS menyediakan SQL untuk melakukan manipulasi dan membuat skema pada database yang dikenal dengan DML dan DDL. Dengan bahasa ini seorang DBA dapat dengan mudah memasukkan, mengambil, menghapus, dan mengubah data yang ada di database dengan memanfaatkan interface yang disediakan.

·         Database Communication Interfaces

DBMS menyediakan interface untuk melakukan komunikasi antara database yang satu dengan yang lainnya. Selain itu juga dapat memudahkan komunikasi antara database dengan tool lainnya seperti browser.

·         Transaction Management

DBMS menyediakan mekanisme dalam mengatur transaksi dan perintah yang disampaikannya untuk memastikan konsistensi data. Sebagai contoh, ketika DBA a mengakses dan melakukan penghapusan Data, pada saat yang bersamaan maka jika ada user yang mengakses data tersebut maka akan di pending sampai data telah terhapus.

www.binus.ac.id

Read Users' Comments (0)

TM-2 Teknik Kompilasi

Top Down Parsing dapat dipandang sebagai :

  • Usaha untuk mencari left-most derivation dari suatu input string
  • Usaha untuk membangun parse tree dari suatu input string, dimulai dari root (top) sampai dengan leaves (bottom), dengan urutan pre-order.

Mengapa di dalam topdown parsing tidak boleh ada leftfactoring atau leftrecursive?

Di dalam top-down parsing tidak boleh ada left-recursive karena grammar yang mengandung left-recursive dapat mengakibatkan loop tak berhingga. Selain itu, suatu top-down parsing yang memerlukan backtracking (membaca input berulang kali) itu tidak efisien.

Contoh grammar yang memiliki loop tak berhingga:

1093128_1467784173440002_915071296_o

Sedangkan adanya leftfactoring pada top-down parsing akan menimbulkan ambiguitas. Ambiguitas terjadi  ketika dua aturan untuk non-terminal memiliki sisi kanan yang dimulai dengan simbol yang sama, sehingga kita tidak bisa memprediksi grammar mana yang akan digunakan.

Contoh grammar yang bersifat ambigu:

Misalnya :

Grammar :

S ->iEtS | iEtSeS | a

E ->b

Dituliskan menjadi :

S ->iEtSS’ | a

S’->  ε | eS

E -> b

www.binus.ac.id

Read Users' Comments (0)

2 cara untuk mengubah RE ke dalam bentuk DFA.

Soal: RE : a* b ( a | b )* #

Cara pertama menggunakan tree dengan menentukan firstpos, lastpos dan followpos. Hasil yang didapatkan berupa DFA minimizenya.

10002967_10201807751461473_913277279_n

Cara kedua dengan menggunakan NFA-ε yang kemudian dilanjutkan dengan menggambar DFA diagram serta DFA minimizenya.

1

www.binus.ac.id

Read Users' Comments (0)

Hello world!

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂

Read Users' Comments (1)