Code Generator
Assembly Code
01. mov a2,R0
02. mov a1,R1
03. mov b2,R2
04. mov b1,R3
05. sub R1,R0
06. mul R0,R0
07. sub R3,R2
08. mul R2,R2
09. add R2,R0
10. fsqrt R0
11. mov radius,R1
12. lt R0,R1
13. jmpf R1,(15)
14. prt (“Titik berada di luar lingkaran”)
15. gt R0,R1
16. jmpf R1,(19)
17. prt (“Titik berada di dalam lingkaran”)
18. jmp R1,(20)
19. prt (“Titik berada tepat pada lingkaran”)
20. ….
Tugas 3 – Teknik Kompilasi
B → aB | B(a+B) | B*a |a(a+B)|b
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,)}
Table :
2.
S → if E then S | if E then sS else S | V:= E
V → id |id[E]
E → E+T |E-T|T
T → T*F|T/F|F
F → V|(E) |const
Tentukan First, Follow, dan tabel dari production diatas!
Jawaban:
S → If E then SS’ | V:=E
S’ → ԑ | else S
V → idV’
V’→ ԑ|(E)
E → TE’
E’ → +TE’|-TE’| ԑ
T → FT’
T’→ *FT’ | /FT | ԑ
F → V|(E)| const
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’) = {:}
Table:
3.S → a=A
A → aA’ |bA’
A’ → +AA’ | ԑ
Tentukan First, Follow, dan tabel dari production diatas!
Jawaban:
First (S) ={a}
First (A) = {a,b}
First (A’) = {+, ԑ}
Follow(S) ={$}
Follow(A) ={$, +}
Follow(A’) = {$, +}
Table:
4.
be → bt be’
be’ → or bt be’
be’ → ԑ
bt → bf bt’
bt’ → and bf bt’
bt’ → ԑ
bf → not bf
bf → (be)
bf → true
bf → false
Input : not(true or false) and true and true and false not (false) true
Jawaban:
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}
Tugas GSLC 1 – Metode Numerik
Soal:
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,718
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!
3. Carilah nilai x1, x2 dan x3 dari sistem persamaan linear berikut dengan menggunakan metode dekomposisi LU.
Jawaban:
Analisis ERD Twitter
Berikut ini merupakan analisis perancangan ERD pada sosial media Twitter menurut kelompok kami:
Percobaan Keyword SQL
Gambar di atas merupakan uji coba pada SQL query dengan nama table menggunakan syntax SQL, yaitu DROP. Ketika execute, terdapat error pada nama DROP tersebut.
Selanjutnya, dilakukan uji coba dengan mengganti nama variable dengan kata DROP:
Jika diexecute, maka akan keluar penjelasan error seperti yang terdapat pada gambar di atas. Hal ini terjadi karena kata DROP merupakan sebuah syntax perintah untuk menghapus atau menghilangkan komponen pada objek yang ada. Maka dari itu, kata DROP tidak dapat digunakan sebagai nama tabel, nama variabel, dll.
Jika ingin tetap menggunakan kata DROP, maka dapat ditambahkan 1 variabel setelah atau sebelum kata DROP seperti gambar di bawah ini:
Top-Down Parsing
Top-down parsing merupakan sebuah strategi untuk menganalisis data dari hipotesa umum struktur parse tree dan kemudian mempertimbangkan apakah struktur-struktur fundamental yang dikenal kompatibel dengan hipotesis. Contoh jenis parser yang menggunakan strategi parsing top-down adalah parser LL.
Mengapa Top – Down Parsing harus menghilangkan left-recursion & left-factoring?
Karena jika terdapat left-recursion dan left-factoring, akan terjadi ambiguitas pada saat top-down parser mencoba untuk mengurai input yang ambigu terhadap sebuah CFG dan juga memuungkinkan terjadinya looping terus menerus. Hal itu mungkin memerlukan beberapa langkah eksponensial untuk mencoba semua alternatif dari CFG untuk menghasilkan semua kemungkinan parse tree,, yang pada akhirnya akan membutuhkan ruang memori eksponensial (kompleksitas ruang bertambah). Dengan adanya ambiguitas, maka waktu pemrosesan menjadi lebih lama sehingga akan memunculkan masalah kompleksitas waktu.
RE – DFA
Soal:
Buat RE -> DFA dengan 2 cara:
- Menggunakan cara tree
- Cara ε – NFA
Setelah itu lakukan DFA minimized.
Constraint:
- State dari DFA minimal 5 state maksimal 8 state.
- Final state minimal 2 state dan maksimal 3 state
Jawaban:
1. Menggunakan cara tree
Tentukan index terlebih dahulu:
Buat tree-nya:
Kemudian, tentukan followpost masing – masing index:
- Follow post 1 = 2, 4, 5, 6
- Follow post 2 = 3
- Follow post 3 = 2, 4, 5, 6
- Follow post 4 = 4, 5, 6
- Follow post 5 = 4, 5, 6
- Follow post 6 = 7
- Follow post 7 = 6, 8
- Follow post 8 = –
Berdasarkan followpost di atas, tentukan state – statenya:
Hasil DFA:
DFA di atas masih dapat kita minimalisasi dengan melakukan grouping, sebagai berikut:
Hasil DFA setelah diminimized:
2. Menggunakan cara ε – NFA
Pertama, buat ε – NFAnya:
Kemudian cari ε-closure movenya:
- ε-closure (0) = 0 → {S0}
- ε-closure (move(S0, a)) = ε-closure {1} = {1, 2, 5, 6, 7, 9, 12} → {S1}
- ε-closure (move(S0, b)) = {}
- ε-closure (move(S1, a)) = ε-closure {3, 8, 13} = {3, 6, 7, 8, 9, 11, 12, 13} → {S2}
- ε-closure (move(S1, b)) = ε-closure {10} = {6, 7, 9, 10, 11, 12} → {S3}
- ε-closure (move(S2, a)) = ε-closure {8, 13} = {6, 7, 8, 9, 11, 12, 13} → {S4}
- ε-closure (move(S2, b)) = ε-closure {4, 10, 14} = {2, 4, 5, 6, 7, 9, 10, 11, 12, 14} → {S5*}
- ε-closure (move(S3, a)) = ε-closure {8, 13} = {S4}
- ε-closure (move(S3, b)) = ε-closure {10} ={S3}
- ε-closure (move(S4, a)) = ε-closure {8, 13} = {S4}
- ε-closure (move(S4, b)) = ε-closure {10, 14} = {6, 7, 9, 10, 11, 12, 14} → {S6*}
- ε-closure (move(S5, a)) = ε-closure {3, 8, 13} = {S2}
- ε-closure (move(S5, b)) = ε-closure {10} = {S3}
- ε-closure (move(S6, a)) = ε-closure {8, 13} = {S4}
- ε-closure (move(S6, b)) = ε-closure {10} = {S3}
Dari langkah di atas dapat ditentukan jalur masing – masing statenya:
Hasil DFA:
Tugas GSLC 1 Web Database – Database Environment
Database berasal dari ilmu komputer yang berarti “basis data” atau kumpulan data. Database telah dikenal sejak sebelum zaman revolusi industri dalam bentuk buku besar, kuitansi, dan kumpulan data yang berhubungan dengan bisnis.
Beberapa pengertian dari database:
- Kumpulan informasi yang disimpan di dalam komputer secara sistematik untuk memperoleh informasi dari database yang disimpan tersebut.
- Representasi kumpulan fakta yang saling berhubungan, yang disimpan secara bersama untuk memenuhi berbagai kebutuhan.
- Sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu untuk tujuan tertentu.
- Susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna.
Database berkaitan erat dengan data dan informasi. Data merupakan fakta – fakta dasar yang belum diolah, sedangkan informasi merupakan sekumpulan data/ fakta yang diolah dengan cara tertentu sehingga mempunyai arti bagi penerimanya. Kumpulan data yang terdapat dalam database tersebut kemuadian diolah menjadi suatu informasi yang nantinya akan berguna bagi sebuah organisasi atau perusahaan untuk mempermudah pekerjaannya. Database dapat dibuat dan dikelola dengan menggunakan database management system (DBMS). DBMS merupakan suatu sistem software yang memungkinkan seorang user dapat mendefinisikan, membuat, dan memelihara serta menyediakan akses terkontrol terhadap data. Contoh DBMS: MySQL, Oracle, DB2, Microsoft Access, dll.
Functional & Non – Functional Requirements
Functional requirements: sumber data dan fungsi yang berhubungan dengan proses / sistem yang akan dibuat. Contoh: pada sistem penjualan barang, dibutuhkan nama barang, harga barang, dsb. Non – functional requirements: sesuatu yang tidak berkaitan dengan sistem yang dibuat, tetapi juga memiliki fungsi yang penting. Contoh: security, jumlah user, dsb.
Database, Database Schema, Database Instance, Meta – Data
Databse:
- Self – describing: berisi deskripsi dari struktur – struktur yang digunakan untuk menyimpan data.
- Persistent
- Structured collection of related items of data.
Database schema: kumpulan dari berbagai entity yang ada, yang terkumpul dengan relasi – relasinya di dalam sebuah instance. Contoh database schema: ERD.
Database instance: data aktual yang akan disimpan di dalam database.
Meta data: informasi dari suatu data (isi dari data).
1 DBMS boleh memiliki lebih dari 1 instance, dan 1 database boleh memiliki lebih dari 1 database schema.
Data Model & Document Model
Data model: sebuah pendekatan umum untuk mengorganisasi / mengatur data yang ada di dalam database.
3 Tujuan data model:
- Mendeskripsikan struktur data umum.
- Menyediakan data dan database structure manipulation language.
- Menyediakan database constraint untuk memastikan konsistensi dan akurasi dari data.
Dokumen model: mendeskripsikan struktur dari sebuah kelas dari dokumen, dengan menspesifikasikan struktur dari konten yang dapat ditampilkan di dokumen instance apapun.
Distributed Database
Distributed databse adalah kumpulan data yang digunakan bersama dan mempunyai hubungan secara logika tersebar secara fisik dalam jaringan komputer.
Distributed Database System:
Data ditempatkan di satu tempat.
Centralized Database System:
Data ditempatkan di beberapa lokasi.
Terdapat dua macam sifat dari distributed database, yaitu Heterogenous dan Homogenous.
- Homogenous: distributed database dimana data di distribusikan pada beberapa komputer dengan menggunakan DBMS(database management system) yang sama. DBMS digunakan pada database terdistribusi untuk melakukan koordinasi data pada beberapa node.
- Heterogenous: kebalikan dari homogenous dimana data di sebarkan dengan menggunakan DBMS yang berbeda.
Ada dua macam teknologi yang di gunakan untuk membangun sebuah database terditribusi. Yang pertama adalah synchronous distributed database technology dimana data yang terhubung pada suatu jaringan akan selalu ter-update sehingga user pada beberapa tempat dapat mengakses data. Sedangkan teknologi yang lain yaitu asynchronous distributed database technology di mana system akan menyediakan suatu kopi dari replikasi data pada beberapa node sehingga local server dapat mengakses data tanpa harus keluar dari jaringan lokal. Metode yang biasa di gunakan yaitu Replication serta circular Replication.
Tujuan utama dari distributed database adalah menyediakan kemudahan untuk mengakses data bagi user pada banyak lokasi yang berjauhan. Untuk mencapai tujuan ini system dari database terdistribusi harus menyediakan apa yang di sebut location transparency yang artinya seorang user dalam mengakses data tidak akan terbatas pada tempat, di manapun dia berada user dapat mengakases data. Tujuan lainnya dari database terdistribusi adalah local autonomy, yaitu kemampuan untuk mengatur database local dan mengoperasikannya secara sendiri – sendiri jika terjadi error atau kerusakan pada koneksi antar komputer.
Web Database Technology
Web database adalah tempat penyimpanan (repositories) database atau informasi yang berinteraksi dengan halaman web yang terhubung baik secara statis maupun dinamis dengan database lain, serta membantu komunikasi antara web server dan database.
- Web browser: untuk menampilkan content internet dan memperbolehkan user untuk “browse” web pages via internet. Contoh: Google Chrome, Mozila Firefox, Internet Explorer, Safari.
- Web server: untuk mengatur interaksi sekelompok web pages. Web server menangkap request dokumen dari web browser dan meresponse response tersebut dengan mengirim copy dari dokumen tersebut ke web browser.
- Database Management System (DBMS): software yang mengatur semua interaksi di database. Contoh: MySQL, Oracle, DB2, Microsoft Access, dsb.
- Database Client: software yang digunakan oleh end user untuk berinteraksi dengan DBMS
Tujuan menggunakan web database:
- Menyediakan jalan/cara remote access ke database server melalui web browser.
- Menggabungkan web server (http) dan database server.
- Menggunakan semua metodologi web design standard untuk menyediakan kemudahan pemakaian front end GUI ke database.
Keuntungan menggunakan Web Database:
- Database lebih mudah dipelihara daripada memelihara halaman-halaman web individual.
- Menggunakan fasilitas pencarian database untuk kata kunci yang kita inginkan.
- Dengan database jadi lebih mudah untuk menyajikan data yang sama dalam cara yang berbeda, misalnya: data ditampilkan berdasarkan kategori, berdasarkan uraian, berdasarkan usia atau berdasarkan field lain dalam database.
Penggunaan web database:
- E-Commerce
- Resource libraries
- Catalog
- Directories (Yellow Pages)
- Online Shop
- Online Auctions
- Training Courses
- Survey
- Financial Analysis
Komponen-komponen yang harus diketahui untuk membangun web database adalah:
- HTML
- Microsoft Active Server Page (ASP)
- Microsoft Visual Basic Scripting Edition (VBScript)
- Desain dan Implementasi Database
- Microsoft ActiveX Data Objects (ADO)
- Structured Query Language (SQL)
- Windows NT atau Windows 2000 Server
- Internet Information Server (IIS)/ Personal Web Server (PWS)
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 🙂