Thursday, October 16, 2014

Tugas Teknik Kompilasi


Sekarang kita akan sedikit belajar hal baru, membahas tentang apa yang sebenarnya terjadi saat kita melakukan proses coding dan mengompile sebuah program di C# hmm pasti banyak yang belum tahu kan, makanya sekedar kita belajar dan tahu sedikit tentang apa yang terjadi, yuk ikutin :D Saat kita mengompilasi sebuah program yang kita gunakan menggunakan bahasa pemrograman C#, kompiler bahasa pemrograman C# akan menerjemahkan kode-kode C# kita menjadi MSIL (Microsoft Intemediate Language) yang sama seperti saat kita menulis kode menggunakan Visual Basic.Net, Visual C++.Net, dan sebagainya, sebelum kemudian menerjemahkannya kembali menjadi berkas-berkas berekstensi .exe atau .dll . Multifile Assembly dalam hal ini merupakan proses kompilasi beberapa berkas .NET yang masing-masing disebut sebagai module yang juga berisi berkas assembly manifest yang didalamnya terdapat instruksi-instruksi CIL (Common Intermediate Language) dan aneka Metadata terkait.


Konversi kode C# ke MSIL Lalu komponen apa yang memungkinkan kode-kode bahasa pemrograman C# dikompilasi agar kompabilitas antarbahasa keluarga .Net tetap terjaga? Komponen yang dimaksud adalah Just In Time Compiler (JITers) yang bertindak sedemikian rupa sehingga saat MSIL akan dieksekusi , CLR (Common Language Runtime) akan memanggil JITers yang akan menerjemahkan kode-kode bahasa keluarga .Net menjadi kode-kode spesifik terhadap komputer tertentu. JITers peduli terhadap komputer-komputer tertentu yang digunakan untuk menjalankan program serta sistem operasi yang digunakannya. Dalam hal ini Microsoft Corp. berani menjamin bahwa kode-kode bahasa dari pemrograman .Net akan dieksekusi lebih cepat dibandingkan dengan kode-kode yang menggunakan bahasa C/C++. Tidak seperti bahasa C/C++ tradisional, kode bahasa C# tidak secara langsung diterjemahkan kedalam bahasa mesin. Kompiler bahasa pemrograman C# mengkonversi kode C# menjadi berkas MSIL yang dinamakan asembly. Berkas MSIL dapat dibuat menggunakan semua bahasa pemrograman yang dikembangkan diatas CLR (misalnya Visual C++, Visual J#, serta Visual Basic). Adapun diagram di bawah ini memperlihatkan bagaimana kode C# yang kita tulis dikonversi menjadi kode yang dapat dieksekusi oleh komputer



Berkas MSIL hadir dalam bentuk berkas berekstensi .exe serta .dll, tetapi alih-alih beralan langsung diatas sistem operasi Windows, mereka dieksekusi oleh CRL. CLR mengomplilasi program MSIL ke kode mesin saat diperlukan. Proses ini dinamakan kompilasi JIT (Just In Time). Kode mesin inilah yang kemudian dieksekusi secara langsung oleh komputer. Dengan membuat kode yang bersifat netral terhadap perangkat keras komputer hingga saat terakhir, maka keamanan dan portabilitas akan meningkat. Dalam hal ini proses ini secara umum tersembunyi dari pandangan pengguna. Dengan kata lain, program yang ditulis menggunakan bahasa C# dikompilasi, dieksekusi, serta didistribusikan dengan cara yang sama seperti program yang ditulis menggunakan bahasa pemrograman lainnya. Sepanjang framework .NET terinstalasi di komputer yang bersangkutan, program C# akan berjalan dengan baik seperti aplikasi yang lain. Hal ini mirip dengan JRE (Java Runtime Environment) yang memungkinkan program bahasa Java berjalan di sembarang komputer. Selain hal diatas , Microsoft Corp. juga menyediakan suatu pustaka kelas yang dinamakan FCL(Framework Class Library). FCL ini memuat ribuan kelas yang mampu melakukan akses ke API (Application Programming Interface) untuk sistem operasi Windows (Win API), sehingga pemrogram lebih nyaman saat melakukan pemrograman akses data, multithreading, struktur data yang bersifat umum, pemrograman jaringan dan sebagainya. Kelas-kelas dalam FCL ini juga dirancang untuk menggunakan paradigma pemrograman berorientasi objek yang sangat ketat sehingga dapat digunakan ulang secara sangat efektif dan efisien. Karena dirancang dalam hubungannya dengan framework .NET, aplikasi yang dikembangkan menggunakan bahasa pemrograman C# sangat sesuai untuk framework .Net ini. Dalam hal ini framework .Net memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dangrafik, kelas-kelas menyimpan data di basis data, kakas (tool) untuk memanipulasi XML, metode-metode untuk melakukan akses terhadap situs web yang diperlukan, dan sebagainya. Kelompok kelas yang dimiliki framework .NET disebut dengan namespace. Namespace itulah yang merupakan kelompok kelas-kelas yang saling berhubungan, dan memiliki hubungan untuk menyelesaikan masalah tertentu. Mungkin di pembahasan berikutnya saya akan membahas lebih jauh tentang namespace dan contohnya, juga penjelasannya masing-masing. Jadi tetep pantengin terus ya postingan saya, hihi. Semoga ilmu yang saya bagikan dapat bermanfaat.

Make Money at : http://bit.ly/copy_win


Berkas MSIL hadir dalam bentuk berkas berekstensi .exe serta .dll, tetapi alih-alih beralan langsung diatas sistem operasi Windows, mereka dieksekusi oleh CRL. CLR mengomplilasi program MSIL ke kode mesin saat diperlukan. Proses ini dinamakan kompilasi JIT (Just In Time). Kode mesin inilah yang kemudian dieksekusi secara langsung oleh komputer. Dengan membuat kode yang bersifat netral terhadap perangkat keras komputer hingga saat terakhir, maka keamanan dan portabilitas akan meningkat. Dalam hal ini proses ini secara umum tersembunyi dari pandangan pengguna. Dengan kata lain, program yang ditulis menggunakan bahasa C# dikompilasi, dieksekusi, serta didistribusikan dengan cara yang sama seperti program yang ditulis menggunakan bahasa pemrograman lainnya. Sepanjang framework .NET terinstalasi di komputer yang bersangkutan, program C# akan berjalan dengan baik seperti aplikasi yang lain. Hal ini mirip dengan JRE (Java Runtime Environment) yang memungkinkan program bahasa Java berjalan di sembarang komputer. Selain hal diatas , Microsoft Corp. juga menyediakan suatu pustaka kelas yang dinamakan FCL(Framework Class Library). FCL ini memuat ribuan kelas yang mampu melakukan akses ke API (Application Programming Interface) untuk sistem operasi Windows (Win API), sehingga pemrogram lebih nyaman saat melakukan pemrograman akses data, multithreading, struktur data yang bersifat umum, pemrograman jaringan dan sebagainya. Kelas-kelas dalam FCL ini juga dirancang untuk menggunakan paradigma pemrograman berorientasi objek yang sangat ketat sehingga dapat digunakan ulang secara sangat efektif dan efisien. Karena dirancang dalam hubungannya dengan framework .NET, aplikasi yang dikembangkan menggunakan bahasa pemrograman C# sangat sesuai untuk framework .Net ini. Dalam hal ini framework .Net memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dangrafik, kelas-kelas menyimpan data di basis data, kakas (tool) untuk memanipulasi XML, metode-metode untuk melakukan akses terhadap situs web yang diperlukan, dan sebagainya. Kelompok kelas yang dimiliki framework .NET disebut dengan namespace. Namespace itulah yang merupakan kelompok kelas-kelas yang saling berhubungan, dan memiliki hubungan untuk menyelesaikan masalah tertentu. Mungkin di pembahasan berikutnya saya akan membahas lebih jauh tentang namespace dan contohnya, juga penjelasannya masing-masing. Jadi tetep pantengin terus ya postingan saya, hihi. Semoga ilmu yang saya bagikan dapat bermanfaat.
 


Berkas MSIL hadir dalam bentuk berkas berekstensi .exe serta .dll, tetapi alih-alih beralan langsung diatas sistem operasi Windows, mereka dieksekusi oleh CRL. CLR mengomplilasi program MSIL ke kode mesin saat diperlukan. Proses ini dinamakan kompilasi JIT (Just In Time). Kode mesin inilah yang kemudian dieksekusi secara langsung oleh komputer. Dengan membuat kode yang bersifat netral terhadap perangkat keras komputer hingga saat terakhir, maka keamanan dan portabilitas akan meningkat. Dalam hal ini proses ini secara umum tersembunyi dari pandangan pengguna. Dengan kata lain, program yang ditulis menggunakan bahasa C# dikompilasi, dieksekusi, serta didistribusikan dengan cara yang sama seperti program yang ditulis menggunakan bahasa pemrograman lainnya. Sepanjang framework .NET terinstalasi di komputer yang bersangkutan, program C# akan berjalan dengan baik seperti aplikasi yang lain. Hal ini mirip dengan JRE (Java Runtime Environment) yang memungkinkan program bahasa Java berjalan di sembarang komputer. Selain hal diatas , Microsoft Corp. juga menyediakan suatu pustaka kelas yang dinamakan FCL(Framework Class Library). FCL ini memuat ribuan kelas yang mampu melakukan akses ke API (Application Programming Interface) untuk sistem operasi Windows (Win API), sehingga pemrogram lebih nyaman saat melakukan pemrograman akses data, multithreading, struktur data yang bersifat umum, pemrograman jaringan dan sebagainya. Kelas-kelas dalam FCL ini juga dirancang untuk menggunakan paradigma pemrograman berorientasi objek yang sangat ketat sehingga dapat digunakan ulang secara sangat efektif dan efisien. Karena dirancang dalam hubungannya dengan framework .NET, aplikasi yang dikembangkan menggunakan bahasa pemrograman C# sangat sesuai untuk framework .Net ini. Dalam hal ini framework .Net memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dangrafik, kelas-kelas menyimpan data di basis data, kakas (tool) untuk memanipulasi XML, metode-metode untuk melakukan akses terhadap situs web yang diperlukan, dan sebagainya. Kelompok kelas yang dimiliki framework .NET disebut dengan namespace. Namespace itulah yang merupakan kelompok kelas-kelas yang saling berhubungan, dan memiliki hubungan untuk menyelesaikan masalah tertentu. Mungkin di pembahasan berikutnya saya akan membahas lebih jauh tentang namespace dan contohnya, juga penjelasannya masing-masing. Jadi tetep pantengin terus ya postingan saya, hihi. Semoga ilmu yang saya bagikan dapat bermanfaat.

Make Money at : http://bit.ly/copy_win
Berkas MSIL hadir dalam bentuk berkas berekstensi .exe serta .dll, tetapi alih-alih beralan langsung diatas sistem operasi Windows, mereka dieksekusi oleh CRL. CLR mengomplilasi program MSIL ke kode mesin saat diperlukan. Proses ini dinamakan kompilasi JIT (Just In Time). Kode mesin inilah yang kemudian dieksekusi secara langsung oleh komputer. Dengan membuat kode yang bersifat netral terhadap perangkat keras komputer hingga saat terakhir, maka keamanan dan portabilitas akan meningkat. Dalam hal ini proses ini secara umum tersembunyi dari pandangan pengguna. Dengan kata lain, program yang ditulis menggunakan bahasa C# dikompilasi, dieksekusi, serta didistribusikan dengan cara yang sama seperti program yang ditulis menggunakan bahasa pemrograman lainnya. Sepanjang framework .NET terinstalasi di komputer yang bersangkutan, program C# akan berjalan dengan baik seperti aplikasi yang lain. Hal ini mirip dengan JRE (Java Runtime Environment) yang memungkinkan program bahasa Java berjalan di sembarang komputer. Selain hal diatas , Microsoft Corp. juga menyediakan suatu pustaka kelas yang dinamakan FCL(Framework Class Library). FCL ini memuat ribuan kelas yang mampu melakukan akses ke API (Application Programming Interface) untuk sistem operasi Windows (Win API), sehingga pemrogram lebih nyaman saat melakukan pemrograman akses data, multithreading, struktur data yang bersifat umum, pemrograman jaringan dan sebagainya. Kelas-kelas dalam FCL ini juga dirancang untuk menggunakan paradigma pemrograman berorientasi objek yang sangat ketat sehingga dapat digunakan ulang secara sangat efektif dan efisien. Karena dirancang dalam hubungannya dengan framework .NET, aplikasi yang dikembangkan menggunakan bahasa pemrograman C# sangat sesuai untuk framework .Net ini. Dalam hal ini framework .Net memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dangrafik, kelas-kelas menyimpan data di basis data, kakas (tool) untuk memanipulasi XML, metode-metode untuk melakukan akses terhadap situs web yang diperlukan, dan sebagainya. Kelompok kelas yang dimiliki framework .NET disebut dengan namespace. Namespace itulah yang merupakan kelompok kelas-kelas yang saling berhubungan, dan memiliki hubungan untuk menyelesaikan masalah tertentu. Mungkin di pembahasan berikutnya saya akan membahas lebih jauh tentang namespace dan contohnya, juga penjelasannya masing-masing. Jadi tetep pantengin terus ya postingan saya, hihi. Semoga ilmu yang saya bagikan dapat bermanfaat.

Make Money at : http://bit.ly/copy_win


Sekarang kita akan sedikit belajar hal baru, membahas tentang apa yang sebenarnya terjadi saat kita melakukan proses coding dan mengompile sebuah program di C# hmm pasti banyak yang belum tahu kan, makanya sekedar kita belajar dan tahu sedikit tentang apa yang terjadi, yuk ikutin :D Saat kita mengompilasi sebuah program yang kita gunakan menggunakan bahasa pemrograman C#, kompiler bahasa pemrograman C# akan menerjemahkan kode-kode C# kita menjadi MSIL (Microsoft Intemediate Language) yang sama seperti saat kita menulis kode menggunakan Visual Basic.Net, Visual C++.Net, dan sebagainya, sebelum kemudian menerjemahkannya kembali menjadi berkas-berkas berekstensi .exe atau .dll . Multifile Assembly dalam hal ini merupakan proses kompilasi beberapa berkas .NET yang masing-masing disebut sebagai module yang juga berisi berkas assembly manifest yang didalamnya terdapat instruksi-instruksi CIL (Common Intermediate Language) dan aneka Metadata terkait.

Make Money at : http://bit.ly/copy_win
Sekarang kita akan sedikit belajar hal baru, membahas tentang apa yang sebenarnya terjadi saat kita melakukan proses coding dan mengompile sebuah program di C# hmm pasti banyak yang belum tahu kan, makanya sekedar kita belajar dan tahu sedikit tentang apa yang terjadi, yuk ikutin :D Saat kita mengompilasi sebuah program yang kita gunakan menggunakan bahasa pemrograman C#, kompiler bahasa pemrograman C# akan menerjemahkan kode-kode C# kita menjadi MSIL (Microsoft Intemediate Language) yang sama seperti saat kita menulis kode menggunakan Visual Basic.Net, Visual C++.Net, dan sebagainya, sebelum kemudian menerjemahkannya kembali menjadi berkas-berkas berekstensi .exe atau .dll . Multifile Assembly dalam hal ini merupakan proses kompilasi beberapa berkas .NET yang masing-masing disebut sebagai module yang juga berisi berkas assembly manifest yang didalamnya terdapat instruksi-instruksi CIL (Common Intermediate Language) dan aneka Metadata terkait.

Make Money at : http://bit.ly/copy_win

Tuesday, April 29, 2014

MID TBO

a* (ab ­U b)*

    1.   Jelaskan artinya...?

    2.   Gambarkan...?
         Jawaban :
    1.   String a dengan sembarang jumlah a diikuti dengan String a atau  b, diikuti sembarang jumlah b.
    2.   a*(ab U b)* :
    
           

Friday, March 21, 2014

TUGAS TBO





                                 
                                              Nama : Reylin Poyk
                                                                               Nim   : 12110168
1.    ({q0 , q1}, {a,b} , S, F )

δ
a
b
q0
q0
q1
q1
q1
q0
                                                 q = { q0 , q1}
                                                 ∑= {a,b}
                                                 S= q0
                                                 F= {q0}



Tentukan M diberi inputan (bbbaabb) dengan State awal (q0, bbbaabb)
Maka (q0, bbbaabb) =  M (q1 , bbaabb)
                               M (q0 , baabb)
                               M (q1 , aabb)
                               M (q1 , abb)
                               M (q1, bb)
                               M (q0, b)
                               M (q1, e)    Ditolak

Karena (q0, bbbaabb) harus berakhir pada (q0 , e), jadi bbbaabb di Tolak.!!


2.    Tentukan dan buktikan String (1011010) apakah di terima ato ditolak.
               q  = {q0, q1, q2}   
               ∑ = {0 , 1}
               S =  q0
               T = {q2}



            

       










3.    Dik Mesin DFA / DFSA

               P = {q1 , ∑ , δ , S , F}
               Dimana :
δ
a
b
q0
q3
q1
q1
q2
q0
q2
q2
q3
q3
q0
q1
                                               q  = {q0, q1, q2, q3}
                                                              ∑ = { a , b}
                                                              S  = {q0}
                                                              F  = {q2}
              


              


               Di berikan String (ababba)
               (q0, ababba)  =   M (q3, babba)
                                      M (q1, abba)
                                      M (q2, bba)
                                      M (q3, ba)
                                      M (q1, a)
                                      M (q2, e)    Diterima
               Karena String (q0, ababba) harus berakhir di (q2, e), jadi  ababba di TERIMA