Rabu, 21 Agustus 2013

Compiler

Definisi Compiler
Biasanya dipakai untuk menggenerate program yang akan dibuat. Misalnya sebuah source code di vsual basic akan dijadikan sebuah software aplikasi atau program….maka source code tersebut harus di-compile sedemikian rupa agar jadi sebuah aplikasi ato software dengan sebuah compiler…

Ciri-ciri Program Compiler
  1. Dapat memodifikasi Caption program sehingga menjadi nama lain. Misalnya sebuah program dicopy biasa dari komputer satu ke komputer lain maka captionnya akan sama…catatan bukan nama apliaksi or .exe nya yang diubah…tapi judul program yang ada di atas apliaksi tersebut.
  2. Dapat mengganti gambar dari aplikasi tersebut. Misalnya gambar A.jpg diletakkan dalam sebuah program. Kalau dicopy secara biasa, otomatis gambar A.jpg akan ter-copy juga ke program tersebut. Tetapi bila dicompile…maka gambar dapat berubah.

Fungsi Program Compiler
  1. Mengubah caption, sehingga jika suatu program dikunci oleh virus seperti regedit, msconfig, ms Dos shell dan lain – lain dapat tetap dijalankan, karena fungsi dari compiler tersebut merubah caption program. Biasanya virus mendeteksi dari caption program tersebut untuk menendang atau mematikan program dalamkode pertahanan virus.
  2. Buat seneng- seneng and nambah program ajah….hahahahahhahaha

Cara Kerja Compiler Sederhana
Cara kerjanya sangat mudah, seperti yang disebutkan bahwa compiler disini adalah sangat sederhana sekalai. Sehingga masih menggunakan fasilitas dari VB berupa modul COPYFILE. Jadi bukan dicompiler secara murni, jadi algoritmanya:
  1. Program Dijalankan
  2. Program akan mengecek apakah file yang diperlukan untuk compiler ada…disini saya memakai aplikasi rdfce.ext
  3. Setelah menemukan file rdfce.ext maka program akan menjalankan modul COPYFILE untuk menyalin isi dari text dan gambar
  4. Kemudian program akan mencompile aplikasi dan mengeluarkan file output sesuai dengan nama file…kalau disini defaultnya test.exe

Teknik Kompilasi
Merupakan Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa sasaran.

Dalam melakukan proses penerjemahan tersebut, sudah barang tentu kompilator akan melaporkan adanya keanehan-keanehan atau kesalahan yang mungkin ditemukannya. Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi (compiling).

Bila dipandang sepintas lalu, maka akan timbul beranekaragam kompilator yang dapat dibuat:
  • Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa untuk program DBASE, SPSS dan lain sebagainya.
  • Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu prosessor mikro atau sumber komputer besar maupun komputer super.

Sejarah perkembangan suatu kompilator sudah dimulai sejak lama, yaitu pada saat mulai ditemukannya komputer pada awal 1950-an. Sejak waktu tersebut teknik dan cara pembentukan suatu kompilator telah berkembang dengan sangat pesat dan pembentukkan suatu kompilator dapat dilakukan makin mudah. Demikian pula program bantu (tools) untuk membuat suatu kompilator sudah dapat diperoleh sehingga pembentukan suatu kompilator dapat dilakukan dengan cepat. Kompilator pertama yang dibuat adalah kompilator untuk bahasa FORTRAN yang pada saat itu dikembangkan dengan memakan sejumlah tenaga ahli yang setara dengan pekerjaan yang dilakukan oleh 18 orang.

Dengan adanya program bantu dan tata cara pembentukan yang sistematis dan tertata dengan baik serta pendefinisian struktur bahasa yang cermat, maka suatu kompilator untuk bahasa yang terstruktur seperti PASCAL atau C dapat dikembangkan. Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian utama yaitu bagian analisis dan bagian sintesis.
  1. Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu bentuk antara dari program sumber. Operasi-operasi yang dilakukan oleh program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree) yang disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal pada tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik) tersebut memberikan argumen yang diperlukan. Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu
    1. Proses analisis leksikal
    2. Proses analisis sintaktik
    3. Proses analisis semantik
  2. Tahap sintesis yang berikutnya program sasaran dibentuk berdasarkan representasi antara yang dihasilkan pada tahap analisis. Untuk tahap sintetis terdiri dari 2 bagian utama, yaitu
    1. Proses yang menghasilkan kode (code generator)
    2. Proses optimisasi kode (code optimizer)
Sebelum Bahasa sasaran dapat dihasilkan, dalam melakukan ini tiap bagian utama akan berhubungan dan berkomunikasi dengan suatu berkas tabel yang disebut tabel simbol (symbol table) yaitu suatu tabel yang berisi semua simbol yang digunakan dalam bahasa sumber. Selain kompilator masih diperlukan beberapa program lainnya sebelum dapat dibentuk bahasa sasaran yang dapat dijalankan. Seperti suatu bahasa sumber dapat dituliskan dalam beberapa modul yang terpisah dan disimpan dalam beberapa file yang terpisah.

Untuk menanggulangi hal ini, maka suatu program khusus yang disebut dengan suatu praprosesor digunakan untuk mengumpulkan modul-modul yang saling lepas ini ke dalam suatu program baru. Praposesor dapat pula melengkapi singkatan-singkatan atau ungkapan-ungkapan maupun kependekan-kependekan yang digunakan dalam bahasa sumber seperti pendefinisian makro dan lain sebagainya

Pengertian Netbeans
Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.

Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.

NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.

Fitur-fitur dari Platform Netbeans antara lain:
  •  Manajemen antarmuka (misal: menu & toolbar)
  •  Manajemen pengaturan pengguna
  • Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
  • Manajemen jendela
  • Wizard framework (mendukung dialog langkah demi langkah)

Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.

Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.

Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.

Fitur fitur yang terdapat dalam netbeans antara lain:
  1. Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
  2. Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
  3. Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
  4. Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
  5. Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.

Paket-Paket Tambahan NetBeans IDE
NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain. NetBeans Mobility Pack dapat digunakan untuk menulis, menguji, dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration (CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.

NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu menemukan kebocoran memori dan mengoptimalkan kecepatan.
Profiler ini berdasarkan sebuah proyek riset Sun Laboratories yang dahulu bernama Jfluid. Riset tersebut mengungkap teknik tertentu yang dapat digunakan untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi.

NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++ ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk membangun aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini membuat editor mengenali bahasa C/C++ dan menyediakan project template, browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan fungsionalitas tambahan mereka sendiri.

NetBeans Enterprise Pack memperluas dukungan terhadap pengembangan aplikasi perusahaan dan web service di NetBeans IDE 5.5. Enterprise Pack ini mengembangkan kemampuan untuk menulis, menguji, dan debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture) menggunakan XML, BPEL, dan Java web service. Paket ini menambahkan alat desain visual untuk pemodelan UML, skema XML, dan web service orchestration, juga dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan server manajemen identitas yang terintegrasi dengan Sun Java System Application Server.

NetBeans Ruby Pack mendatang akan mengijinkan pengembangan IDE menggunakan Ruby dan Jruby, sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6. Ruby Pack memasukkan fungsionalitas editor seperti:
  • pengeditan dasar
  • pewarnaan sintaks untuk Ruby
  • pelengkapan kode
  • occurence highlighting
  • pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API
  • analisis semantik dengan highlighting parameter dan variabel lokal yang tidak terpakai

NetBeans JavaScript Editor
 menyediakan perluasan dukungan terhadap JavaScript dan CSS. Fitur-fiturnya antara lain:
  1. Editor JavaScript
    • syntax highlighting
    • pelengkapan kode untuk objek dan fungsi native
    • semua fitur dalam editor NetBeans
    • pembuatan kerangka kelas JavaScript secara otomatis
    • pembuatan pemanggilan AJAX dari template
  2. Ekstensi editor CSS
    • pelengkapan kode untuk nama-nama style
    • navigasi cepat melalui panel navigator
    • penampilan deklarasi aturan CSS di List View
    • penampilan struktur file di Tree View
    • mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List & Tree)
    • pembuatan deklarasi aturan (hanya Tree)
    • pemfaktoran kembali sebagian nama rule (hanya Tree)

Database yang didukung oleh Netbeans antara lain:
  1. JDBC merupakan spesifikasi standar dari JavaSoft API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC API terdiri dari satu set interface dan kelas yang ditulis dalam bahasa pemrograman Java. JDBC API Menggunakan interface standar dan kelas, programmer dapat menulis aplikasi yang terhubung ke database, mengirimkan pertanyaan ditulis SQL (Structured Query Language), dan memproses hasilnya.
  2. ORACLE merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans, Oracle secara umum hampir sama dengan MySQL namun yang membedakan adalah oracle dapat digunakan dan dihubungkan dengan netbeans dan harus menggunakan drivers untuk menyimpan data-data yang telah dibuat. Oracle merupakan salah satu dari beberapa aplikasi basisdata yang sering digunakan untuk koneksi ke basisdata pada NetBeans karena relatif mudah dan cepat.
  3. MySQL merupakan sebuah aplikasi basisdata yang didukung oleh NetBeans, MySQL memilki Fitur Yang ada sudah lumayan lengkap, dari input, update, delete serta Search. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.

Berikut sekilas mengenai beberapa syntaks SQL yang digunakan pada NetBeans:
  1. Interface
    • java.sql.Statement Interface yang digunakan untuk mengirim laporan statis SQL ke server database dan memperoleh hasilnya.
    • javax.sql.ConnectionEventListener Menerima event atau kejadian bahwa obyek PooledConnection digeneralisasi.
  2. Classes
    • java.sql.Date Subclass dari java.util.Date digunakan untuk tipe data SQL DATE.
    • java.lang.DriverManager Class yang digunakan untuk mengelola satu set JDBC drivers.
  3. Exception Classes
    • java.sql.SQLException Eksepsi yang menyediakan informasi tentang Database error
    • java.sql.SQLWarning Eksepsi yang menyediakan informasi tentang peringatan Database.
  4. DataBase Access
    • Microsoft Access merupakan sebuah aplikasi basis data yang didukung oleh NetBeans, data dapat disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Access juga mendukung teknik-teknik pemrograman berorientasi objek.

Kelebihan dan Kekurangan Netbeans
Kelebihan NetBeans GUI Builder: 
  • Salah satu yang menjadi kelebihan NetBeans GUI Builder adalah yang telah disebutkan diatas, yaitu GRATIS. Selain itu NetBeans GUI Builder sangat kompetebel dengan Swing karena memang langsung dikembangkan oleh Sun yang notabenenya sebagai pengembang Swing.
Kekurangan NetBeans GUI Builder:
  • NetBeans hanya mensupport 1 pengembangan Java GUI, yaitu Swing, yang padahal ada Java GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace yang sudah cukup populer.