Selasa, 26 Maret 2013

SEJARAH ARSITEKTUR WEB

Sejarah Web Browser

Sejarah web browser dimulai pada akhir tahun 80-an, ketika berbagai
teknologi baru menjadi dasar pembuatan web browser pertama di
dunia, WorldWideWeb, oleh Tim Berners-Lee pada tahun 1991.

Browser itu menggabungkan beberapa teknologi software dan

hardware yang sudah eksis maupun masih baru pada waktu itu.

Diperkenalkannya web browser NCSA Mosaic pada tahun 1993 --

salah satu web browser grafis pertama – memulai ledakan penggunaan
web browser. Marc Andreessen, pimpinan tean Mosaic di



NCSA kemudian mendirikan perusahaannya sendiri, Netscape dan
meluncurkan Netscape Navigator pada tahun 1994.

Dengan cepat Netscape Navigator menjadi browser paling populer di

dunia, pada masa jayanya digunakan oleh 90% pengguna web
browser.

Microsoft pun merespon dengan web browser-nya, Internet Explorer

(IE) pada tahun 1995, sehingga mencetuskan perang browser
pertama di dunia.

Membundel IE dengan Windows, Microsoft mampu mengambil alih

posisi pemimpin pasar web browser. Pada tahun 2002, IE digunakan
oleh lebih dari 95% pengguna. 

 http://id.wikipedia.org/
 http://www.anneahira.com/sejarah-web.htm
ARSITEKTUR WEBSITE


Dalam membuat web kita juga memerlukan rancangan atau arsitektur untuk melakukan pendekatan terhadap desain dan perencanaan situs web itu sediri. arsitektur web melibatkan teknis, estetika dan kriteria fungsional. seperti dalam arsitektur pada umumnya, fokus arsitektur web yaitu pada pengguna dan kebutuhan pengguna.

1.    HTTP
HTTP Singkatan dari Hypertext Transfer Protocol, yang mana adalah suatu protokol yang digunakan oleh World Wide Web. HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Sebagai contoh, ketika Anda mengetikkan suatu alamat atau URL pada internet browser Anda, maka sebenarnya web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser (misalnya akses ke database, file, e-mail dan lain sebagainya). Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada pengguna.

HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Sebagai contoh, ketika Anda mengetikkan suatu alamat atau URL pada internet browser Anda, maka sebenarnya web browser akan mengirimkan perintah HTTP ke web server.
Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser (misalnya akses ke database, file, e-mail dan lain sebagainya). Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada pengguna.

2.    HTML
HTML adalah singkatan dari Hyper Text Markup Language, HTML tidak tergolong kedalam sebuah bahasa pemrograman, HTML lebih dikenal sebagai bahasa markup yang terdiri dari serangkaian tag markup yang mampu menggambarkan sebuah halaman web. tanda yang menentukan level atau tingkatan dari sebuah teks akan memerintahkan browser untuk menampilkan sebagai teks tebal besar yang menunjukkan sebagai Heading 1 presentational. tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks tersebut.

 Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan teks hypertext. tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke dokumen lain , Elemen widget yang membuat objek-objek lain seperti tombol button, list , dan garis horizontal . Selain markup presentational , markup yang link tidak menentukan bagaimana tampilan dari sebuah teks. Namun untuk saat ini, penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan dan sebagai gantinya digunakan Cascading Style Sheets.

HTML Markup Tag biasa disebut tag HTML adalah kata kunci yang diapit oleh sudut kurung seperti , tag HTML biasanya berpasangan seperti dan , tag disebut tag awal/pembuka dan adalah tag akhir/penutup cirinya ditambahkan tanda garis miring. Dokumen HTML - Halaman Web Dokumen HTML berisi serangkaian tag HTML kemudian diterjemahkan oleh web browser (internet explorer, mozilla firefox, dll.) untuk selanjutnya ditampilkan dalam bentuk halaman web, artinya apabila dokumen HTML sudah dibuka oleh web browser tidak lagi tampil tag-tag htmlnya melainkan sudah sebagai halaman web

3.   URL
Uniform Resource Locator Disingkat dengan URL. URL digunakan dengan software browser untuk menempatkan dan mengakses informasi di World Wide Web. URL terbagi menjadi beberapa bagian atau dikenal dengan istilah http:// domain/path/filename, atau disebut pula metode akses - lokasi komputer - lokasi file. Di antara bagian tersebut adalah:

• Bagian pertama URL dikenal sebagai protocol atau disebut pula http:// yang merupakan     singkatan dari Hypertext Transfer Protokol.
• Bagian kedua dari URL dikenal sebagai nama domain, domain mewakili nama server yang sedang berhubungan dengan internet.
• Bagian ketiga dari URL disebut dengan directory path yang merupakan area khusus dimana item-item berada.
• Bagian keempat dari URL disebut nama file dokumen, ini menentukan file khusus yang sedang diakses. Biasanya adalah sebuah file HTML, tapi mungkin juga gambar, suara atau file lainnya Contoh dari URL:ftp://ftp.ee.umanitoba.ca/pub/indonesian/00-index.txt

Dalam contoh di atas, ditunjukkan bagaimana mendapatkan berkas {00-index.txt}, yaitu dengan menggunakan protokol FTP, di mesin yang bernama {ftp.ee.umanitoba.ca}, dan berkas berada di direktori {pub/indonesian}.Secara umum, URL memiliki keterangan sebagai berikut:protokol://nama-mesin[:nomor-port]/direktori/menuju/namafile

4.   XML
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format yang tidak mengandung format standard layaknya heading, paragraph, table dan lain sebagainya. Sebagai contoh apa bila kita ingin menyimpan dan menyajikan informasi notasi musik pada lagu “Indonesia raya”, kita bisa menyimpannya dengan xml Kemudian dengan bantuan software lain midi generator kita bisa mendengarkan musiknya atau kita bisa membuat softaware sendiri yang menampilkan informasi ini dalam bentuk not balok.

 Sama dengan HTML, File XML berbentuk teks sehingga bila diperlukan kita bisa membacanya tanpa memerlukan bantuan software khusus. Hal ini memudahkan pengembang aplikasi yang menggunakan XML untuk mendebug programnya. XML lebih fleksible dibanding HTML dalam hal kemampuannya menyimpan informasi dan data. Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai isi elemen yang dletakkan diantara tag pembuka dan tag penutup. Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di pertukarkan dari satu system ke system lain yang berbeda platform. Misalnya dari Windows ke Unix, atau dari PC ke Machintosh bahkan dari internet ke handphone dengan teknologi WAP.

5.   XSLT
XSLT adalah kependekan dari eXtensible StyleSheet Language:Transformation, adalah bagian dari XSL yang dikembangkan sebelumnya. XSL adalah Stylesheet yang khusus dikembangkan sebagai komplemen XML, untuk merubah informasi pada XML ke dalam bentuk lain agar bisa ditampilkan di layar, dicetak di kertas atau didengarkan telinga. Pada dasarnya proses ini di bagi menjadi dua bagian proses yakni pertama Transformasi Struktural yang meliputi pengumpulan, pengelompokan dan pengurutan data maupun penyusunan ulang, penambahan dan penghapusan tag dan atribut, dan yang kedua adalah proses merubah format menjadi pixel dilayar, nohtah tinta di kertas atau nada di speaker. Proses yang pertama itulah yang kemudian disebut XSLT, sedangkan yang kedua biasa disebut XSLFO (eXtensible Stylesheet Language:Formatting Object).

Hasil Keluaran XSLT bisa berupa HTML, Text file atau XML dengan format yang baru. Sebenarnya untuk menampilkan dokumen XML agar lebih menarik dilihat di browser bisa dilakukan oleh Cascade StyleSheet. CSS yang sering digunakan untuk memformat HTML bisa juga dipakai untuk XML. Akan tetapi CSS tidak mampu melakukan tugas tugas yang rumit seperti memformat angka desimal, menjumlah, menghitung rata-rata, menampilkan gambar, dan lain-lain. Dan untuk melakukan tugas-tugas itulah kita memerlukan XSLT XSLT Processor XSLT Processor atau yang biasa disebut Parser adalah software bantu yang tugasnya menerapkan perintah-perintah dalam XSLT pada dokumen sumber XML, dan menghasilkan dokumen keluaran baik berupa HTML, Text file ataupun XML.

6.   JavaScript
JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk di browser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program.
Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dari penggunaan JavaScript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.

JavaScript bekerja pada sisi browser. maksudnya begini : untuk menampilkan halaman web, user menuliskan alamat web di address bar url. setelah itu, browser “mengambil” file html ( dengan file jJvaScript yang melekat padanya jika memang ada ) ke server yang beralamat di URL yang diketikan oleh user. Selesai file diambil, file ditampilkan pada browser. Nah, setelah file JavaScript berada pada browser, barulah script JavaScript tersebut bekerja.

Efek dari Javascript yang bekerja pada sisi browser ini, Javascript dapat merespon perintah user dengan cepat, dan membuat halaman web menjadi lebih responsif. JavaScript melakukan apa yang tidak bisa dilakukan oleh HTML, PHP, dan CSS : menangani hal – hal yang membutuhkan respons cepat terhadap aksi dari user.

Implementasi terpopuler saat ini dari pemrograman JavaScript adalah teknik AJAX. (Asynchronous JavaScript and XMLHTTP ). teknik ini sering digunakan oleh aplikasi berbasis web seperti Gmail, Google Reader, dan lain lain. Teknik yang membuat pertukaran data antara server dan browser terjadi di belakang layar sehingga interaksi antara user dan aplikasi web semakin responsif. Post tersendiri untuk membahas hal ini akan kita siapkan.

Asynchronous Javascript And XML (AJAX) suatu teknik pemrograman baru dalam dunia web yang sedang digemari, karena akses data ke server yang dikirim melalui client via web dapat lebih cepat, karena AJAX tidak perlu melakukan proses loading. AJAX juga dapat diintegrasikan dengan server side programming seperti PHP, ASP, JSP, dll.

http://id.wikipedia.org/
http://anto-dwiharja.com/struktur-website.php

Jumat, 15 Maret 2013

SEJARAH INTERNET


Internet merupakan jaringan komputer yang dibentuk oleh Departemen Pertahanan Amerika Serikat pada tahun 1969, melalui proyek ARPA yang disebut ARPANET (Advanced Research Project Agency Network), di mana mereka mendemonstrasikan bagaimana dengan hardware dan software komputer yang berbasis UNIX, kita bisa melakukan komunikasi dalam jarak yang tidak terhingga melalui saluran telepon. Proyek ARPANET merancang bentuk jaringan, kehandalan, seberapa besar informasi dapat dipindahkan, dan akhirnya semua standar yang mereka tentukan menjadi cikal bakal pembangunan protokol baru yang sekarang dikenal sebagai TCP/IP (Transmission Control Protocol/Internet Protocol).
Tujuan awal dibangunnya proyek itu adalah untuk keperluan militer. Pada saat itu Departemen Pertahanan Amerika Serikat (US Department of Defense) membuat sistem jaringan komputer yang tersebar dengan menghubungkan komputer di daerah-daerah vital untuk mengatasi masalah bila terjadi serangan nuklir dan untuk menghindari terjadinya informasi terpusat, yang apabila terjadi perang dapat mudah dihancurkan.
Pada mulanya ARPANET hanya menghubungkan 4 situs saja yaitu Stanford Research Institute, University of California, Santa Barbara, University of Utah, di mana mereka membentuk satu jaringan terpadu pada tahun 1969, dan secara umum ARPANET diperkenalkan pada bulan Oktober 1972. Tidak lama kemudian proyek ini berkembang pesat di seluruh daerah, dan semuauniversitas di negara tersebut ingin bergabung, sehingga membuat ARPANET kesulitan untuk mengaturnya.
Oleh sebab itu ARPANET dipecah manjadi dua, yaitu "MILNET" untuk keperluan militer dan "ARPANET" baru yang lebih kecil untuk keperluan non-militer seperti, universitas-universitas. Gabungan kedua jaringan akhirnya dikenal dengan nama DARPA Internet, yang kemudian disederhanakan menjadi Internet.

google.com, wikipedeia.com

Senin, 11 Maret 2013

Kalkulator Sederhana


Saya akan membahas bahasa pemrograman JAVA dengan membuat kalkulator sederhana,dan berikut adalah coding programnnya beserta penjelasannya :


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

/*
 * calc.java
 *
 * Created on Mar 8, 2013, 1:19:17 AM
 */

package kalkulator;

/**
 *
 * @author 123
 */
public class calc extends javax.swing.JFrame {

    /** Creates new form calc */
    public calc() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        btnExit = new javax.swing.JButton();
        btnClear = new javax.swing.JButton();
        btnHitung = new javax.swing.JButton();
        tfHasil = new javax.swing.JTextField();
        cbOperator = new javax.swing.JComboBox();
        tfbil2 = new javax.swing.JTextField();
        tfbil1 = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(255, 255, 204));

        btnExit.setBackground(new java.awt.Color(255, 255, 204));
        btnExit.setText("Exit");
        btnExit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnExitActionPerformed(evt);
            }
        });

        btnClear.setBackground(new java.awt.Color(255, 255, 204));
        btnClear.setText("batal");
        btnClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnClearActionPerformed(evt);
            }
        });

        btnHitung.setBackground(new java.awt.Color(255, 255, 204));
        btnHitung.setText("proses");
        btnHitung.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnHitungActionPerformed(evt);
            }
        });

        cbOperator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" }));

        jLabel4.setText("Hasil");

        jLabel3.setText("Operator");

        jLabel2.setText("Angka ke - 2");

        jLabel1.setText("Angka ke - 1");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(btnHitung)
                        .addGap(18, 18, 18)
                        .addComponent(btnClear))
                    .addComponent(jLabel2)
                    .addComponent(jLabel1)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(39, 39, 39)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(tfbil1, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
                                .addContainerGap())
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(tfbil2, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
                                .addContainerGap())
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(cbOperator, 0, 161, Short.MAX_VALUE)
                                .addContainerGap())
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(tfHasil, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
                                .addContainerGap())))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(27, 27, 27)
                        .addComponent(btnExit)
                        .addContainerGap())))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(34, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tfbil1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tfbil2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cbOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tfHasil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addGap(26, 26, 26)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnHitung)
                    .addComponent(btnClear)
                    .addComponent(btnExit))
                .addGap(44, 44, 44))
        );

        jLabel5.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
        jLabel5.setForeground(new java.awt.Color(255, 0, 0));
        jLabel5.setText("Kalkulator Sederhana");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 309, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(15, Short.MAX_VALUE)
                .addComponent(jLabel5)
                .addGap(18, 18, 18)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        

    private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) {                                          
int bil1 = Integer.parseInt(tfbil1.getText());
int bil2 = Integer.parseInt(tfbil2.getText());
double hasil=0;
int op = cbOperator.getSelectedIndex();
switch(op){
case 0 : hasil = bil1 + bil2 ;
break ;
case 1 : hasil = bil1 - bil2 ;
break ;
case 2 : hasil = bil1 * bil2 ;
break ;
case 3 : hasil = bil1 / bil2 ;
break ; }
tfHasil.setText(String.valueOf(hasil));
        // TODO add your handling code here:
    }                                         

    private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {                                         
tfbil1.setText("");
tfbil2.setText("");
tfHasil.setText("");
tfbil1.requestFocus();
        // TODO add your handling code here:
    }                                        

    private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {                                        
System.exit(0);        // TODO add your handling code here:
    }                                       

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new calc().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton btnClear;
    private javax.swing.JButton btnExit;
    private javax.swing.JButton btnHitung;
    private javax.swing.JComboBox cbOperator;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextField tfHasil;
    private javax.swing.JTextField tfbil1;
    private javax.swing.JTextField tfbil2;
    // End of variables declaration                   

}



int bil1 = Integer.parseInt(tfbil1.getText());
int bil2 = Integer.parseInt(tfbil2.getText());


digunakan untuk input angka pada kalkulator dengan type casting ke integer.

int op = cbOperator.getSelectedIndex();

digunkan untuk memilih operator antara lain penjuumlahan,pdjasjah…. Program di atas menghasilkan kembalian bertipe integer.

switch(op){
case 0 : hasil = bil1 + bil2 ;
break ;
case 1 : hasil = bil1 - bil2 ;
break ;
case 2 : hasil = bil1 * bil2 ;
break ;
case 3 : hasil = bil1 / bil2 ;
break ; }

pada program ini menggunkan seleksi switch case untuk melakukan pemilihan eksekusi mana operator yang anda pilih pada saat di output program

tfHasil.setText(String.valueOf(hasil));

untuk menampilkan hasil operasinya dalam bentuk text.




private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {                                        
tfbil1.setText("");
tfbil2.setText("");
tfHasil.setText("");
tfbil1.requestFocus();

program ini di gunakan pada tombol batal untuk mereset/menghapus yang ada di text field

private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {                                       
System.exit(0);   
}     
  
Buat tombol exit,dan mengakhiri program.

Contoh output program