0

Artikel Tentang Proses Kompilasi Bahasa Pemrograman C#

Posted by Unknown on 08.12
Halo ketemu lagi semuanya. Bagaimana kabar? Baik?. Semoga masih diberikan kesehatan, sehat walafiat untuk kita semua. Amin :D
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.

Diagram Alir Konversi Kode C# ke Kode yang Dapat Dijalankan di Sistem Operasi
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. 


Terims kasih .........<:>

0

GRAFIKA KOMPUTER 3

Posted by Unknown on 23.47


TUGAS GRAFIKA KOMPUTER
“MEMBUAT EMOTICON MENGGUNAKAN JAVA”


-          Codingnya.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gui_java;

import java.awt.*;

/**
 *
 * @author Putri
 */
public class HelloAWT extends Panel{
    HelloAWT(){
    setBackground(new Color(227, 227, 227));// warna background

    }

    @Override
    public void paint(Graphics A){
    A.setColor(new Color(246,92,150));//warna font Nama
    A.setFont(new Font("Snap ITC", Font.BOLD,20));// jenis font
    A.drawString("Nama : Muhammad Taufik",20, 255);// koordinat/letak font
   
    A.setColor(new Color(34, 11, 55));//warna font Nama dan kelas
    A.setFont(new Font("Showcard Gothic", Font.BOLD,20));// jenis font
    A.drawString("Membuat Emoticon",350, 255);// koordinat/letak font
  

//    A.drawOval(30, 100, 40, 30);
//    A.drawLine(10, 100, 100,100);
    A.setColor(Color.black);
    A.drawArc(229,29, 152, 151, 0, 360);//draw lingkaran kepala
   
    A.setColor(new Color(237, 202, 39));
    A.fillArc(230,30, 150, 150, 0, 360);//warnai lingkaran kepala
   
    A.setColor(Color.WHITE);
    A.fillArc(265,70, 20, 40, 0, 360);//mata putih kiri
   
    A.setColor(Color.WHITE);
    A.fillArc(325,70, 20, 40, 0, 360);//mata putih kanan
   
    A.setColor(Color.BLACK);
    A.fillArc(325,75, 20, 30, 0, 360);//mata hitam kanan
   
    A.setColor(Color.BLACK);
    A.fillArc(265,75, 20, 30, 0, 360);//mata hitam kiri
   
    A.setColor(Color.red);
    A.fillArc(275,100, 65, 60, 0, -180);//fill mulut
   
    Image gambar = Toolkit.getDefaultToolkit().getImage("Domo-kun.png");
    A.drawImage(gambar, 20, 30, 180, 165, this);
   
    Image gambarr = Toolkit.getDefaultToolkit().getImage("heart005.png");
    A.drawImage(gambarr, 20, 30, 30, 30, this);
   
    //A.setColor(Color.GREEN);
    //A.fillOval(280, 50, 100, 90);
   
//    A.drawRoundRect(30, 100, 200, 30, 20, 20);
    }
           
           
           
    public static void main(String[] args) {
        // TODO code application logic here
        Frame f1 = new Frame();
        HelloAWT H = new HelloAWT();
        f1.add(H);
        f1.setSize(600, 300);
        f1.setVisible(true);
    }
}

-          Tampilan Outputnya



0

TUGAS GRAFIKA KOMPUTER 2

Posted by Unknown on 22.08


GRAFIKA KOMPUTER
“Membuat Rumah Menggunakan Java”

-          Berikut coding yang saya gunakan
public void paint(Graphics g) {


    //mengambar garis miring a
    g.setColor(Color.blue);
    int jumlahtitik_a = 1;
    while (jumlahtitik_a <=100){
        g.fillRect(200-jumlahtitik_a, 200+jumlahtitik_a, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_a++; }
   
    //mengambar garis miring b
        g.setColor(Color.blue);
int jumlahtitik = 1;
    while (jumlahtitik <=100){
        g.fillRect(200+jumlahtitik, 200+jumlahtitik, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik++; }
   
    //mengambar garis datar c
    g.setColor(Color.blue);
    int jumlahtitik_b = 1;
    while (jumlahtitik_b <=200){
        g.fillRect(100+jumlahtitik_b, 300, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_b++; }
   
    //mengambar garis tegak d
    g.setColor(Color.BLUE);
    int jumlahtitik_d = 1;
    while (jumlahtitik_d <100){
        g.fillRect(300, 301+jumlahtitik_d, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_d++; }
   
   
    //mengambar garis tegak e
     g.setColor(Color.blue);
    int jumlahtitik_e = 1;
    while (jumlahtitik_e <=100){
        g.fillRect(100, 300+jumlahtitik_e, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_e++; }
   
    //mengambar garis datar f
    g.setColor(Color.blue);
    int jumlahtitik_f = 1;
    while (jumlahtitik_f <=200){
        g.fillRect(100+jumlahtitik_f, 400, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_f++; }
   
    //mengambar garis datar g
    g.setColor(Color.blue);
    int jumlahtitik_g = 1;
    while (jumlahtitik_g <=150){
        g.fillRect(200+jumlahtitik_g, 200, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_g++; }
  
    //mengambar garis miring h
     g.setColor(Color.blue);
    int jumlahtitik_h = 1;
    while (jumlahtitik_h <=100){
        g.fillRect(350+jumlahtitik_h, 200+jumlahtitik_h, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_h++; }

    //mengambar garis datar i
    g.setColor(Color.blue);
    int jumlahtitik_i = 1;
    while (jumlahtitik_i <=150){
        g.fillRect(300+jumlahtitik_i, 300, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_i++; }
   
    //mengambar garis datar j
    g.setColor(Color.blue);
    int jumlahtitik_j = 1;
    while (jumlahtitik_j <=150){
        g.fillRect(300+jumlahtitik_j, 400, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_j++; }
   
    //mengambar garis tegak k
    int jumlahtitik_k = 1;
    while (jumlahtitik_k <=100){
        g.fillRect(450, 300+jumlahtitik_k, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_k++; }
   
    //mengambar garis teras miring s
    int jumlahtitik_s = 1;
int h = 30;
    while (jumlahtitik_s <=30){
        g.fillRect(270+h, 300+jumlahtitik_s, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_s++;
        h +=2;}
   
        //mengambar garis teras miring t
        int jumlahtitik_t = 1;
int h1 = 30;
    while (jumlahtitik_t <=30){
        g.fillRect(424+h1, 300+jumlahtitik_t, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_t++;
        h1 +=2;}
        //mengambar garis teras miring u
    int jumlahtitik_u = 1;
    int h2 = 30;
    while (jumlahtitik_u <=30){
        g.fillRect(270+h2, 400+jumlahtitik_u, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_u++;
        h2 +=2;}
   
        //mengambar garis teras miring v
    int jumlahtitik_v = 1;
    int h3 = 30;
    while (jumlahtitik_v <=30){
        g.fillRect(420+h3, 400+jumlahtitik_v, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_v++;
        h3 +=2;}
       
       //mengambar garis teras datar w
    int jumlahtitik_w = 1;
    while (jumlahtitik_w <=150){
        g.fillRect(360+jumlahtitik_w, 330, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_w++; }
   
        //mengambar garis teras tegak x
     int jumlahtitik_x = 1;
    while (jumlahtitik_x <=100){
        g.fillRect(360, 330+jumlahtitik_x, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_x++; }
   
        //mengambar garis teras tegak y
    int jumlahtitik_y = 1;
    while (jumlahtitik_y <=100){
        g.fillRect(512, 330+jumlahtitik_y, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_y++; }
   
        //mengambar garis teras datar z
    int jumlahtitik_z = 1;
    while (jumlahtitik_z <=150){
        g.fillRect(360+jumlahtitik_z, 430, 4, 4); // membuat titik dengan format (x,y,lebar x pixel, lebar y pixel)
        jumlahtitik_z++; }
   
  
   
    g.drawLine(225,453,345,453);
    g.drawLine(227,455,345,455);
   
    g.drawLine(232,440,232,470);
    g.drawLine(234,440,234,475);
   
    g.drawLine(220,440,245,465);
 }
  

public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}

   
    
   

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
        Frame frame = new Grafika1();
    frame.setSize(640, 530);
    frame.setVisible(true);

    }
   
}

-          Berikut tampilan ouput dari program saya.




Copyright © 2009 Taufiik stikOm All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.