Senin, 19 September 2016

JAVA PROGRAMMING

Bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputeratau bahasa pemrograman komputer, adalah instruksi standar untuk memerintahkomputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturansintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenislangkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.InggrisAssembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnyakode_mesin|MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar mempunyai fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
java
Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima dalam siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di eksekusi dari komputer lokal.Applet adalah program yang biasanya disimpan pada komputer yang jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh menjalakan web server yang memberi layanan terhadap permintaan web browser.
Kebanyakan bahasa pemrograman modernberdiri di atas pustaka-pustaka kelas yang telah ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java, kelompok-kelompok kelas yang berkaitan erat dimasukkan dalam satu paket, bervariasi sesuai edisi Java.
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java dipaketkan dalam edisi-edisi berikut:
Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung konektivitas basis data, rancangan user interface, masukkan/ keluaran (input/ output), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa Java.
Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk membangun dan menjalankanmultitier enterprise editions. J2EE berisi paket-paket di J2SE ditambah paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages, XML, dan kendali transaksi yang fleksibel.
Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa Java yang sama, unggul dalam portabilitas (kemampuan dapat dijalankan dimanapun), safe network delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat diskalakan (dimampukan) agar dapat bekerja dengan J2SE dan J2EE. J2ME adalah untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box.
Ada 3 kombinasi kunci yang membuat Java menjadi teknologi yang secara fundamental berbeda dari yang lain, yang ada saat ini. Pertama, semua orang dapat menggunakanapplet yang kecil, aman, dinamik, lintas-platform, aktif, dan siap dijalankan di jaringan sejak awal. Kedua, Java adalah bahasa pemrograman yang ampuh, memiliki kekuatan desain berorientasi objek dengan sintaks yang sederhana dan mudah dikenal. Ketiga, Java adalah kumpulan class object yang ampuh, yang melayani programmer dengan uraian yang jelas untuk banyak fungsi sistem umum, seperti pembuatan window, penggunaan jaringan, dan input/ output.
Java dirancang untuk mudah dipelajari dan digunakan dengan secara efektif. Java tidak mendukung fitur-fitur rumit seperti:
Rancangan bahasa Java telah berdasar teknologi yang telah terbukti dan dikembangkan di bahasa-bahasa pemrograman lainnya.
Bahasa berororientasi objek
Java bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.
OOP (object oriented programming) adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini ada secara secara independent yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerinthakan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu.
Bahasa statically typed
Semua objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.
Bahasa dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java Compiler. Kompilais akan menghasilkan file“bytecode” yang serupa fungsinya dengan file kode mesin. Program“bytecode” yang dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpretermembaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.
Bahasa yang aman
Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecodememenuhi aturan-aturan dasar bahasa Java
Class loader menangani pemuatan kelas Java keruntime interpreter.
Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistemfile, port jaringan, proses eksternal dan sistemwindowing.
Bahasa dirancang untuk mempersulit eksekusi kode perusak
Program Java dikompilasi menajdi serangkaian bytecode.
Java mempunyai pengamanan terhadap applet.
Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code.
Selain itu Java menyediakan beragam teknik pengaman, yaitu:
Bahasa indpenden terhadapplatform
Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantungplatform.
Bahasa multithreading
Thread adalah menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari 1thread eksekusi pada saat yang sama sehingga memungkinkan program menagani beberapa tugas secara konkuren.
Bahasa yang didukung garbage collector
Artinya, program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.
Bahasa yang tegar
Java interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception handling yang ampuh. Exception-handlingmenyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.
Token
Dalam Java ada yang dikenal dengan istilah token. Token merupakan elemen terkecil di program yang mempunyai arti bagi kompilator. Kompilator bertugas membaca karakter-karakter di kode sumber dan menerapkan aturan-aturan secara progresif menjadi potongan lebih besar seperti identifier, ekspresi, kalimat, dan kelas.
Pengertian User Interface
User interface adalah cara program dan user berkomunikasi. Istilah user interface atau interface kadang-kadang digunakan sebagai penggati istilah HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang terlhat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard (atau mouse) merupaka bagian dari user interface.
User Interface berfungsi untuk menghubungkan atau penterjemah informasi antara pengguna dengan system operasi, sehingga computer dapat digunakan. Dengan demikian, user interface bisa juga diartikan sebagai mekanisme inter-relasi atau integrasi total dari perangkat keras dan lunak yang membentuk pengalaman bekomputer. Use interface dari sisi software bias berbentuk Graphical User Interface (GUI) atau Command Line Interfae (CLI), sedangkan dari sisi hardware bias berbentuk Aplle Desktop Bus (ADB), USB, dan fire wire.

Konsep User Interface
Mengkonsep user interface secra benar tidaklah mudah. Terdapat begitu banyak aspek yang pelu diperhatikan. User interface akan mengacu pada beragam aplikasi teknologi mulai dari electronic display, software aplikasi computer,aplikasi web, aplikasi mobile,hingga aplikasi kiosk Informasi public. Kioks adalah peralatan sistem informasi publik yang dirancang sedemikian rupa yang ditujukan untuk beragam kondisi user, baik secara usia, gender, latar belakang kultural, tingkat pemahaman dan pendidikan bahkan kondisi keterbatasan fisik yang berbeda.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinf88GTSMTnMTZMZvNE6ai4YE1lWj3ckwzDTPkb1-7YfWu6LwRrHcY7pTARqTMytzBOjFHv930Cd3Wjv_B4zjIfRS16VtXyKtT_DHRswG4nDfTX2ExMrkVJLKNT6huwPxNeg89CM0i0iMq/s280/Untitled.jpg




















Tehnik antar muka /interface
Terdapat tiga teknik antar muka / inter face:
•Linguistic styles
•Key modal styles
•Direct manipulation styles

LINGUISTIC STYLES
Linguistic styles adalah penyampaian “aksi” melalui bahasa yang dimengerti oleh computer. Cirri teknik ini antara lain:
•Masukan aksi melalui papan ketik alphabet yang ditulis atau diketik.
•Bahasa yang dimengerti oleh computer merupakan bagian kecil dari bahasa manusia
•Adanya aturan penulisan (syntax) dan semantic untuk menyatakan perintah

KEY MODALS STYLE
Key Modals Style adalah penyampaian aksi melalui penekanan tombol-tombol yang deprogram sebelumnya untuk menjalankan fungsi-fungsi. Cir teknik ini antara lain:
•Masukan aksi melalui tombol fungsi atau tombol alphabet
•Instruksi langkah demi langkah
•Digunakan dalam system berjalan

DIRECT MANIPULATION STYLE
Direct Manipulation Style adalah penyampaian perintah melalui manipulas objek tertentu. Cirri teknik ini antara lain:
•Ditampilkannya objek untuk interaksi pengguna
•Ditampilkannya penunjuk untuk memanipulasi objek
•Perintah diterapkan langsung pada objek
•Respon seketika pada fungsi objek

Jenis-jenis User Interface

Ada dua jenis user interface, yaitu:

Command Line Inteface (CLI) :

CLI (Command Line Interface) adalah tipe antarmuka dimana penggun berinteraksi dengan system operasi melalui text terminal. CLI adalah sebuah bentuk antarmuka antara sistem operasi dan pemakai dimana pemakai mengetikkan perintah-perintah dengan menggunakan perintah dalam bentuk teks dan sebuah metode untuk memasukinya.
Pengguna CLI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Setiap sistem operasi memberi nama CLI- nya berbeda-beda. Unix member nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Ms-Dos memberi nama CLI-nya command.com atau command prompt. Sedangkan Windows Vista, Microsoft menamakannya Powershell. Pengguna Linux mengenal CLI pada Linux sebagai Terminal, sedangkan pada Apple atau machintosh namanya adalah commandshell.

Graphical User Interface (GUI)

Saat ini interface yang banyak digunakan dalam software adalah GUI (Graphical User Interface). Penganut GUI biasanya adalah mereka yang sudah terbiasa dengan system operasi Wndows. Bagi mereka, GUI adalah harga mati yang tidak bisa ditawar lagi.
GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan system operasi melalui gambar-gambar grafik, kon, dan menggunakan perangkat penunjuk (pointing device) seperti mouse atau track ball.
Sama seperti CL, tiap-tiap siste operasi memiliki nama tersendiri untuk komponen GUI-nya. Pada Apple Mac OS X, GUI-nya disebut Aqua. Microsoft member nama GUI pada Windows XP sebagai Lunar dan GUI Windows Vista sebagai Aero. Pada Linux, ada dua pengembangan utama desktop environment, yang masing-masing menghasilkan roduk KDE (K Desktop Environment) dan GNOME.

Bahasa dalam User Interface
Tujuan sebuah user interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis semua pengguna komputer dan Interface dapat mengerti tulisan.
Meski pada umumnya panduan user interface menyarankan agar ikon tidak diberi tulisan supaya tetap mandiri dari bahasa, namun elemen user interface lain seperti teks pada tombol, caption window, atau teks-teks singkat di sebelah kotak input dan tombol pilihan semua menggunakan bahasa. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal.
Meskipun penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering sekali dianggap kurang begitu penting. Terlebih dari itu dalam dunia desain situs Web yang serba grafis, bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya. Artikel ini akan mencoba memberikan beberapa pertimbangan pemilihan bahasa dan istilah untuk meningkatkan usability melalui perbaikan komunikasi dengan user.

Dasar – Dasar program
Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.
Library
Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.
OO
Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.
Tipe data dan variable
1. Integer(Bilangan Bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long. Semua tipe data ini bersifat       Signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak seperti tipe data lainnya, Java tidak mendukung tipe data unsigned yang hanya bisa mempresentasikan nilai postif. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :

Tipe Data             Ukuran (bit)       Range
Byte       8              -128 s.d. 127
Short     16           -32768 s.d. 32767
Int          32           -2147483648 s.d. 2147483647
Long      64           -9223372036854775808  s.d. 9223372036854775807
Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang didefiniskan di dalam Java. Contoh :

class ContohByte {
    public static void main(String [] args){
        byte a;
        a=127;
        System.out.println(a);
    }
}


Short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang keberadaanya. Contoh :


class ContohShort {
    public static void main(String[]args){
        short umurWafiy;
        short umurAdit;
        short selisih;
        umurWafiy=23;
        umurAdit=13;
        selisih=umurWafiy-umurAdit;
        System.out.println(“Selisih umur mereka adalah “ + selisih + ” tahun”);
    }
}


Int
Tipe ini merupakantipe yang paling banyak dipakai dalam merepresentasikan angka dalam Java, dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya. Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int, long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses perhitungan. Contoh :


class HitungGaji{
    public static void main(String[]args){
        int gaji=5000000;
        int lamaKerja;
        int besarGaji;
        lamaKerja=4;
        besarGaji=gaji*lamaKerja;
        System.out.println(besarGaji);
    }
}


Long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int, karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain, tipe long terpaksa digunakan jika data memiliki range diluar range int. Contoh :


public class MassaPlanet{
    public static void main (String[]args){
        long volum=1864824217374668;
        long massaJenis=77886;
        long massa=volum*massaJenis;
        System.out.println(massa);
    }
}


2. Floating-Point (Bilangan Pecahan)
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka decimal di belakang koma, seperti 3.1416,5.25, dan sebagainya. Bilangan semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan menjadi dua jenis, yaitu float, dan double. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :

Tipe       Ukuran Range   Presisi (jumlah digit)
bytes     bit
float       4              32           +/- 3.4 x 1038     6-7
double  8              64           +/- 1.8 x 10308   15
Float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang penyimpanan setengah kali lebih sedikit dibandingkan presisi ganda (double precision). Permasalahan yang timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil atau justru terlalu besar, karena nilai yang dihasilkan akan menjadi tidak akurat. Contoh penggunaan variabel :

1
float suhu;
Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precision) dan menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih cepat untuk melakukan perhitungan-perhitungan matematis daripad tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe double. Contoh :

class KelilingLingkaran {
    public static void main (String[] args) {
        double pi = 3.1416;
        double r = 2.12;
        double keliling;
        keliling = 2*pi*r;
        System.out.println(“Keliling Lingkaran = ”+ keliling);
    }
}
3. Char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter.  Java menggunakan karakter Unicode untuk merepresentasikan semua karakter yang ada . Unicode ialah sekumpulan  karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16-bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard, java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai tipe karakter khusus. Di bawah ini akan dijelaskan beberapa contoh tentang escape sequence.

Escape Sequence             Keterangan
\ddd      Karakter octal (ddd)
\uxxxx  Karakter Unicode heksadecimal (xxxx)
\’             Petik tunggal
\’’           Petik ganda
\\            Backslash
\r            Carriage return
\n           Baris baru (line feed)
\f            Form feed
\t            Tab
\b           Backspace
Contoh :

class ContohKarakter {
    public static void main (String[] args) {
        char ch = 65;// 65 merupakan kode untuk karakter A;
        System.out.println(“ch1=”+ch);
        ch++;   //increment(penaikan nilai sebesar 1)
        System.out.println(“ch2 = ”+ ch);
    }
}

4. Boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini ditandai dengan kata kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan dengan kata kunci true dan nilai salah dengan kata kunci false. Contoh :

 ContohBolean {
    public static void main (String[] args) {
        boolean a = true;
        if (a) {
            System.out.println(“Perintah dilaksanakan ”);
        }//negasi dari a
        If (!a) {
            System.out.println(“Perintah tidak dilaksanakan ”);
        }
    }
}


B. Tipe Data Referensi

1. Class

Kelas dapat didefiniskan sebagai cetak biru (blueprint) atau prototipe/kerangka yang mendefiniskan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan data yang mengacu pada suatu objek.

Dalam dunia permrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel ‘normal’, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek. Variabel yang berupa objek ini sering disebut dengan referensi objek (object reference).

Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas. Contoh :

public Class Mahasiswa{
    public String nama;
    public int nrp;
    Mahasiswa(String a, int b){
        nama =a;
        nrp= b;
    }
    public void cetak (){
        System.out.println(“Nama : “+nama+” nrp : “+nrp);
    }
}
Setelah kita membuat sebuah kelas, untuk menggunakannya maka kita harus membuat sebuah instance dari kelas tersebut. Berikut cara membuat objek dari kelas :

class Demo {
    public static void main(String[]args){
        Mahasiswa mhs;
        mhs = new Mahasiswa(“Rezki”,5211100048);
    }
}


2. Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.



3. Interface
Interface merupakan sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method tersebut berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik,  yang tidak diperoleh dari proses inheritance yang lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.
Operator aritmatika, logika dan Relasional
1.Assignment Operator / Operator Penugasan 
         Assignment Operator (operator penugasan) adalah operator yang menggunakan tanda sama   dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
 operatorassignment
2.Arithmetic Operator / Operator Aritmatika

Arithmetic Operator (operator aritmatika) adalah operator yang digunakan untuk melaksanakan operasi aritmatika.
Beberapa operator aritmatika antara lain:
* : untuk perkalian
+ : untuk penjumlahan
- : untuk pengurangan
/ : untuk pembagian
% : untuk sisa pembagian (modulus)

operatoraritmatika
Logical Operator / Operator Logika / Boolean Operator

Operator Boolean atau Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah).
Bebarapa macam operator logika antara lain:
1. and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
2. or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
3. xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan keduaduanya
bernilai TRUE
4. ! : mengasilkan nilai tidak TRUE
5. && : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
6. || : menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

operatorboolean
Comparison Operator / Operator Pembanding

Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand.
Operator perbandingan ini antara lain :
<  : untuk kurang dari
> : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>= : untuk lebiih dari atau sama dengan
== : untuk sama dengan
!= : untuk tidak sama dengan
<> : untuk tidak sama dengan

operatorpembanding

Struktur control
Struktur kontrol merupakan pengatur aliran program
Rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :
–        Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi
–        Melanjutkan sebuah pernyataan bila kondisi terpenuhi
–        Memilih sebuah pilihan dari beberapa alternatif bila sebuah kondisi terpenuhi

TUJUAN
Menggunakan struktur kontrol keputusan/percabangan (if, else, switch), untuk memilih bagian dari program yang akan dieksekusi.
Menggunakan struktur kontrol pengulangan/perulangan (while, do-while, for), untuk melakukan pengulangan eksekusi program atau code, sejumlah yang telah ditentukan.
Struktur kontrol  memiliki pokok bahasan yaitu :

Percabangan
1.    Statement-if
Menspesifikasikan sebuah statement (atau block dari code) yang akan dieksekusi jika dan hanya jika statement boolean bernilai true.
Form statement-if:
       if( boolean_ekspresi )
                       statement;
atau 
       if( boolean_ekspresi ){
                       statement 1;
                       statement 2;
       }
dimana,                                 
boolean_ekspresi sama dengan boolean ekspresi atau boolean variabel.

2.    Statement if-else
Digunakan ketika kita akan mengeksekusi sebuah statement jika kondisinya true, dan statement yang lain jika berkondisi false.i
Form statement if-else:
                if( boolean_ekspresi ){
                                statement1;
                                statement2;
                                . . .
                }
                else{
                                statement3;
                                statement4;
                                . . .
                }

3.      Statement-if-else if
statement pada klausa else dari sebuah blok if-else dapat menjadi struktur if-else yang lain.
Struktur ini memperbolehkan kita untuk membuat pilihan yang lebih kompleks.
Form statement if-else-else if:
if( boolean_ekspresi1 )
                       statement1;
       else if( boolean_ekspresi2 )
                       statement2;
       else
                       statement3;

4.      Switch
Switch Memperbolehkan percabangan pada multiple outcomes.
Form statement-switch:
       switch( switch_ekspresi ){
                       case case_pilihan1:
                                       statement1;//
                                       statement2;//blok 1
                                       break;
                       case case_pilihan2:
                                       statement1;//
                                       statement2;//blok 2 
                                       break;
                                                       :
                       default:
                                       statement1;//
                                       statement2;//blok n
       }

Sruktur Perulangan
1.    For
Digunakan untuk mengeksekusi code yang bernilai sama, berulang-ulang.
Form pengulangan-for:
for(InisialisasiEkspresi;KondisiPengulangan;StepEkspresi)
{   
       statement1;
       statement2;
       . . .
}


InisialisasiEkspresi : meninisialisasi variabel pengulangan. 
KondisiPengulangan : membandingkan variabel pengulangan dengan  nilai limit.
StepEkspresi : memperbarui variabel pengulangan.

2.    While
Pengulangan while
Merupakan statement atau blok dari statement yang diulang selama kondisinya sesuai.
Form pengulangan while:
       while( boolean_ekspresi ){
                       statement1;
                       statement2;
                       . . .
       }
statement didalam pengulangan while akan dieksekusi selama boolean_ekspresi bernilai true. 

3.       Do-while
a.   Sama dengan pengulangan-while
b.   Statement didalam pengulangan do-while akan dieksekusi beberapa kali selama kondisinya sesuai dengan ekspressi yang diberikan.
c.    Hal utama yang membedakan antara pengulangan while dan do-while:
d.   Statement didalam pengulangan do-while loop setidaknya dieksekusi satu kali.
Form pengulangan-do-while:
        do{
                        statement1;
                        statement2;
                        . . .
        }while( boolean_ekspresi );
c. Switch
Merupakan pernyataan yang dirancang khusus untuk mengambil keputusan yang melibatkan sejumlah alternative.
Contoh Program :

#include <stdio.h>

main()

{

int kode_hari;

puts ("Menentukan Nama hari :\n");

puts ("1 > Senin       4 > Kamis          7 > Minggu");

puts ("2 > Selasa      5 > Jumat                   ");

puts ("3 > Rabu        6 > Sabtu                   ");

printf ("\nMasukksn kode hari yang anda inginkan (1 sampai 7) !");

scanf ("%d", &kode_hari);

switch (kode_hari)

{

case 1:

puts ("Hari Senin");

break;

case 2:

puts ("Hari Selasa");

break;

case 3:

puts ("Hari Rabu");

break;

case 4:

puts ("Hari Kamis");

break;

case 5:

puts ("Hari Jumat");

break;

case 6:

puts ("Hari Sabtu");

break;

case 7:

puts ("Hari Minggu");

break;

default :

puts ("Maaf, Kode yang anda masukkan salah !");

}

}
Pernyataan break memiliki tiga fungsi yaitu:
Menghentikan pemilihan pada pernyataan switch.
Menghentikan proses pengulangan atau keluar dari badan loop.
Keluar dari blok label tertentu.
Pemakaian break pada pernyataan switch sudah kita pahami pada struktur pemilihan. Kita sekarang akan memahami bagaimana menggunakan break pada pengulangan. Perhatikan contoh berikut.
Contoh 8.13. Penggunaan break pada pengulangan.
class BreakPengulangan {
public static void main(String[] args) {
for (int i=0; i<10; i++) {
if (i == 5) {
break;
}
System.out.println(“baris ke-” + i);
}
System.out.println(“Ini setelah break pengulangan”);
}
}
Array
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

Array 1 dimensi :
Array 1 Dimensi , array adalah hal yang paling penting dalam setiap bahasa pemrograman. Menurut definisi, array adalah alokasi memori statis. Ini mengalokasikan memori untuk tipe data yang sama secara berurutan. Ini berisi beberapa nilai jenis yang sama. Hal ini juga menyimpan nilai-nilai dalam memori pada ukuran tetap.
Array juga mempunyai definisi lain yaitu struktur data yang statis yang mempunyai 1 nama tetapi memiliki banyak tempat. Setiap tempat harus dibedakan, untuk membedakannya dibutuhkan penunjuk, pentunjuk dapat berupa karakter(char) atau integer. Sekali disimpan dalam penunjuk yang sama(berbentuk indeks), maka isinya tidak akan hilang kecuali indeksnya diisi oleh nilai yang lain.
Cara pendeklarasian Array setiap bahasa Program berbeda tapi semuanya memiliki karakter yang sama . . .
deklarasi di csharp dan java:
tipedata [] nama variabel = new nama variabel [jumlahElement]
kalo di C++
tipedata namaVariabel [jumlahElemen];
ini adalah contoh programnya yang menggunakan C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
namespace Array1Dimensi
 {
 class Program
 {
 public byte banyak; //property

public static void Main(string[] args)
 {
 Arr arre = new Arr(); //deklarasi Class Arr
 arre.Masuk(); //panggil method Masuk dr class Arr

Console.WriteLine();
 Console.Write("Press any key to continue . . . ");
 Console.ReadKey(true);
 }
 }
 class Arr
 {
 public void Masuk()
 {
 Program pro = new Program(); //deklarasi Class Program
 string [] nama;  //deklarasi Array

Console.Write("masukkan banyak elemen array = ");
 pro.banyak = Convert.ToByte(Console.ReadLine()); //input mengunakan property Class program
 Console.WriteLine();

nama = new string[pro.banyak]; //inisialisasi array

//mengisi Array
 for (byte i = 0; i<pro.banyak; i++)
 {
 Console.Write("Masukkan nama mahasiswa ke {0} = ",i+1);
 nama[i] = Console.ReadLine();
 }

Console.WriteLine();

//menampilkan Array
 for (byte i = 0; i<pro.banyak; i++)
 {
 Console.WriteLine("Nama maha siswa ke {0} adalah = {1}",i+1,nama[i]);
 }
 }
 }
 }
Definisi Array 2 dimensi (multidimensi)
Array multidimensi  tidaklah jauh berbeda dengan array 1 dimensi, hanya saja pada array multi dimensi akan terdapat semacam kolom dan baris, anggap saja seperti bagan matriks pada al-jabar matematika.
Langsung saja pada contoh array, pada tulisan sebelumnya saya menggunakan bahasa pemrograman C++ namun kali ini saya akan menggunakan bahasa pemrograman Java.
Program ini akan menampilkan daftar nilai akhir pada 3 mahasiswa yang telah diketahui nilai Tugas, UTS dan UAS, untuk aturan penilaiannya adalah Nilai Akhir = (0.35 * UTS) + (0.45 * UAS) + (0.2 * Tugas). Pada program kali ini menggunakan gabungan antara array 1 dimensi dengan array 2 dimensi.
Langsung aja ke codding
untuk latihan ketik program di bawah ini dengan menggunakan notepad.
https://sirohito.files.wordpress.com/2010/11/coding.png?w=652&h=406
simpan dengan nama NilaiAkhir.java pada folder atau direktori yang anda kehendaki.
kemudian pada command prompt buka folder atau direktori yang anda gunakan untuk menyimpan.
kemudian ketik : javac NilaiAkhir.java kemudian enter
terus ketik : java NilaiAkhir kemudian enter
kira-kira hasilnya seperti ini
https://sirohito.files.wordpress.com/2010/11/hail.png?w=652&h=248
biar lebih ngerti ada contoh lain dari array 2 dimensi
ini merupakan suatu system untuk menampilkan data mahasiswa dengan jumlah mahasiswa tertentu. Data-data mahasiswa yang dicatat adalah nama, npm dan alamat, system ini dapat menambahkan data / objek mahasiswa dan bisa juga mencetak seluruh data mahasiswa yang ada di dalam system dengan format :
NPM :  Nama : Alamat
0012313 : ahmad : Jln. Kopi
0012314 : ali : Jln. Lada
0012315 : ari : Jl Pemuda
coddingnya seperti dibawah ini
https://sirohito.files.wordpress.com/2010/11/untitled-3.png?w=652
hasilnya kira-kira demikian..
https://sirohito.files.wordpress.com/2010/11/d.png?w=652






Bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputeratau bahasa pemrograman komputer, adalah instruksi standar untuk memerintahkomputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturansintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenislangkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.InggrisAssembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnyakode_mesin|MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar mempunyai fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
java
Dalam Java ada 2 jenis program berbeda, yaitu aplikasi dan applet. Keduanya merupakan bagian dari execute, dimana execute merupakan salah satu fase kelima dalam siklus program Java. Aplikasi adalah program yang biasanya disimpan dan di eksekusi dari komputer lokal.Applet adalah program yang biasanya disimpan pada komputer yang jauh,yang dikoneksikan pemakai lewat web browser. Komputer jauh menjalakan web server yang memberi layanan terhadap permintaan web browser.
Kebanyakan bahasa pemrograman modernberdiri di atas pustaka-pustaka kelas yang telah ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java, kelompok-kelompok kelas yang berkaitan erat dimasukkan dalam satu paket, bervariasi sesuai edisi Java.
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa Java, Java dipaketkan dalam edisi-edisi berikut:
Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung konektivitas basis data, rancangan user interface, masukkan/ keluaran (input/ output), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa Java.
Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk membangun dan menjalankanmultitier enterprise editions. J2EE berisi paket-paket di J2SE ditambah paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages, XML, dan kendali transaksi yang fleksibel.
Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa Java yang sama, unggul dalam portabilitas (kemampuan dapat dijalankan dimanapun), safe network delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat diskalakan (dimampukan) agar dapat bekerja dengan J2SE dan J2EE. J2ME adalah untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box.
Ada 3 kombinasi kunci yang membuat Java menjadi teknologi yang secara fundamental berbeda dari yang lain, yang ada saat ini. Pertama, semua orang dapat menggunakanapplet yang kecil, aman, dinamik, lintas-platform, aktif, dan siap dijalankan di jaringan sejak awal. Kedua, Java adalah bahasa pemrograman yang ampuh, memiliki kekuatan desain berorientasi objek dengan sintaks yang sederhana dan mudah dikenal. Ketiga, Java adalah kumpulan class object yang ampuh, yang melayani programmer dengan uraian yang jelas untuk banyak fungsi sistem umum, seperti pembuatan window, penggunaan jaringan, dan input/ output.
Java dirancang untuk mudah dipelajari dan digunakan dengan secara efektif. Java tidak mendukung fitur-fitur rumit seperti:
Rancangan bahasa Java telah berdasar teknologi yang telah terbukti dan dikembangkan di bahasa-bahasa pemrograman lainnya.
Bahasa berororientasi objek
Java bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.
OOP (object oriented programming) adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini ada secara secara independent yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerinthakan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu.
Bahasa statically typed
Semua objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.
Bahasa dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java Compiler. Kompilais akan menghasilkan file“bytecode” yang serupa fungsinya dengan file kode mesin. Program“bytecode” yang dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpretermembaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.
Bahasa yang aman
Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecodememenuhi aturan-aturan dasar bahasa Java
Class loader menangani pemuatan kelas Java keruntime interpreter.
Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistemfile, port jaringan, proses eksternal dan sistemwindowing.
Bahasa dirancang untuk mempersulit eksekusi kode perusak
Program Java dikompilasi menajdi serangkaian bytecode.
Java mempunyai pengamanan terhadap applet.
Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code.
Selain itu Java menyediakan beragam teknik pengaman, yaitu:
Bahasa indpenden terhadapplatform
Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantungplatform.
Bahasa multithreading
Thread adalah menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari 1thread eksekusi pada saat yang sama sehingga memungkinkan program menagani beberapa tugas secara konkuren.
Bahasa yang didukung garbage collector
Artinya, program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.
Bahasa yang tegar
Java interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception handling yang ampuh. Exception-handlingmenyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.
Token
Dalam Java ada yang dikenal dengan istilah token. Token merupakan elemen terkecil di program yang mempunyai arti bagi kompilator. Kompilator bertugas membaca karakter-karakter di kode sumber dan menerapkan aturan-aturan secara progresif menjadi potongan lebih besar seperti identifier, ekspresi, kalimat, dan kelas.
Pengertian User Interface
User interface adalah cara program dan user berkomunikasi. Istilah user interface atau interface kadang-kadang digunakan sebagai penggati istilah HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang terlhat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard (atau mouse) merupaka bagian dari user interface.
User Interface berfungsi untuk menghubungkan atau penterjemah informasi antara pengguna dengan system operasi, sehingga computer dapat digunakan. Dengan demikian, user interface bisa juga diartikan sebagai mekanisme inter-relasi atau integrasi total dari perangkat keras dan lunak yang membentuk pengalaman bekomputer. Use interface dari sisi software bias berbentuk Graphical User Interface (GUI) atau Command Line Interfae (CLI), sedangkan dari sisi hardware bias berbentuk Aplle Desktop Bus (ADB), USB, dan fire wire.

Konsep User Interface
Mengkonsep user interface secra benar tidaklah mudah. Terdapat begitu banyak aspek yang pelu diperhatikan. User interface akan mengacu pada beragam aplikasi teknologi mulai dari electronic display, software aplikasi computer,aplikasi web, aplikasi mobile,hingga aplikasi kiosk Informasi public. Kioks adalah peralatan sistem informasi publik yang dirancang sedemikian rupa yang ditujukan untuk beragam kondisi user, baik secara usia, gender, latar belakang kultural, tingkat pemahaman dan pendidikan bahkan kondisi keterbatasan fisik yang berbeda.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinf88GTSMTnMTZMZvNE6ai4YE1lWj3ckwzDTPkb1-7YfWu6LwRrHcY7pTARqTMytzBOjFHv930Cd3Wjv_B4zjIfRS16VtXyKtT_DHRswG4nDfTX2ExMrkVJLKNT6huwPxNeg89CM0i0iMq/s280/Untitled.jpg




















Tehnik antar muka /interface
Terdapat tiga teknik antar muka / inter face:
•Linguistic styles
•Key modal styles
•Direct manipulation styles

LINGUISTIC STYLES
Linguistic styles adalah penyampaian “aksi” melalui bahasa yang dimengerti oleh computer. Cirri teknik ini antara lain:
•Masukan aksi melalui papan ketik alphabet yang ditulis atau diketik.
•Bahasa yang dimengerti oleh computer merupakan bagian kecil dari bahasa manusia
•Adanya aturan penulisan (syntax) dan semantic untuk menyatakan perintah

KEY MODALS STYLE
Key Modals Style adalah penyampaian aksi melalui penekanan tombol-tombol yang deprogram sebelumnya untuk menjalankan fungsi-fungsi. Cir teknik ini antara lain:
•Masukan aksi melalui tombol fungsi atau tombol alphabet
•Instruksi langkah demi langkah
•Digunakan dalam system berjalan

DIRECT MANIPULATION STYLE
Direct Manipulation Style adalah penyampaian perintah melalui manipulas objek tertentu. Cirri teknik ini antara lain:
•Ditampilkannya objek untuk interaksi pengguna
•Ditampilkannya penunjuk untuk memanipulasi objek
•Perintah diterapkan langsung pada objek
•Respon seketika pada fungsi objek

Jenis-jenis User Interface

Ada dua jenis user interface, yaitu:

Command Line Inteface (CLI) :

CLI (Command Line Interface) adalah tipe antarmuka dimana penggun berinteraksi dengan system operasi melalui text terminal. CLI adalah sebuah bentuk antarmuka antara sistem operasi dan pemakai dimana pemakai mengetikkan perintah-perintah dengan menggunakan perintah dalam bentuk teks dan sebuah metode untuk memasukinya.
Pengguna CLI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Setiap sistem operasi memberi nama CLI- nya berbeda-beda. Unix member nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Ms-Dos memberi nama CLI-nya command.com atau command prompt. Sedangkan Windows Vista, Microsoft menamakannya Powershell. Pengguna Linux mengenal CLI pada Linux sebagai Terminal, sedangkan pada Apple atau machintosh namanya adalah commandshell.

Graphical User Interface (GUI)

Saat ini interface yang banyak digunakan dalam software adalah GUI (Graphical User Interface). Penganut GUI biasanya adalah mereka yang sudah terbiasa dengan system operasi Wndows. Bagi mereka, GUI adalah harga mati yang tidak bisa ditawar lagi.
GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan system operasi melalui gambar-gambar grafik, kon, dan menggunakan perangkat penunjuk (pointing device) seperti mouse atau track ball.
Sama seperti CL, tiap-tiap siste operasi memiliki nama tersendiri untuk komponen GUI-nya. Pada Apple Mac OS X, GUI-nya disebut Aqua. Microsoft member nama GUI pada Windows XP sebagai Lunar dan GUI Windows Vista sebagai Aero. Pada Linux, ada dua pengembangan utama desktop environment, yang masing-masing menghasilkan roduk KDE (K Desktop Environment) dan GNOME.

Bahasa dalam User Interface
Tujuan sebuah user interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis semua pengguna komputer dan Interface dapat mengerti tulisan.
Meski pada umumnya panduan user interface menyarankan agar ikon tidak diberi tulisan supaya tetap mandiri dari bahasa, namun elemen user interface lain seperti teks pada tombol, caption window, atau teks-teks singkat di sebelah kotak input dan tombol pilihan semua menggunakan bahasa. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal.
Meskipun penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering sekali dianggap kurang begitu penting. Terlebih dari itu dalam dunia desain situs Web yang serba grafis, bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya. Artikel ini akan mencoba memberikan beberapa pertimbangan pemilihan bahasa dan istilah untuk meningkatkan usability melalui perbaikan komunikasi dengan user.

Dasar – Dasar program
Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program Java. Dengan cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser yang Java-enabled telah memiliki JVM sendiri.
Library
Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.
OO
Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.
Tipe data dan variable
1. Integer(Bilangan Bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long. Semua tipe data ini bersifat       Signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak seperti tipe data lainnya, Java tidak mendukung tipe data unsigned yang hanya bisa mempresentasikan nilai postif. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :

Tipe Data             Ukuran (bit)       Range
Byte       8              -128 s.d. 127
Short     16           -32768 s.d. 32767
Int          32           -2147483648 s.d. 2147483647
Long      64           -9223372036854775808  s.d. 9223372036854775807
Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang didefiniskan di dalam Java. Contoh :

class ContohByte {
    public static void main(String [] args){
        byte a;
        a=127;
        System.out.println(a);
    }
}


Short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang keberadaanya. Contoh :


class ContohShort {
    public static void main(String[]args){
        short umurWafiy;
        short umurAdit;
        short selisih;
        umurWafiy=23;
        umurAdit=13;
        selisih=umurWafiy-umurAdit;
        System.out.println(“Selisih umur mereka adalah “ + selisih + ” tahun”);
    }
}


Int
Tipe ini merupakantipe yang paling banyak dipakai dalam merepresentasikan angka dalam Java, dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya. Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int, long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses perhitungan. Contoh :


class HitungGaji{
    public static void main(String[]args){
        int gaji=5000000;
        int lamaKerja;
        int besarGaji;
        lamaKerja=4;
        besarGaji=gaji*lamaKerja;
        System.out.println(besarGaji);
    }
}


Long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int, karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain, tipe long terpaksa digunakan jika data memiliki range diluar range int. Contoh :


public class MassaPlanet{
    public static void main (String[]args){
        long volum=1864824217374668;
        long massaJenis=77886;
        long massa=volum*massaJenis;
        System.out.println(massa);
    }
}


2. Floating-Point (Bilangan Pecahan)
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka decimal di belakang koma, seperti 3.1416,5.25, dan sebagainya. Bilangan semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan menjadi dua jenis, yaitu float, dan double. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini :

Tipe       Ukuran Range   Presisi (jumlah digit)
bytes     bit
float       4              32           +/- 3.4 x 1038     6-7
double  8              64           +/- 1.8 x 10308   15
Float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang penyimpanan setengah kali lebih sedikit dibandingkan presisi ganda (double precision). Permasalahan yang timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil atau justru terlalu besar, karena nilai yang dihasilkan akan menjadi tidak akurat. Contoh penggunaan variabel :

1
float suhu;
Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precision) dan menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih cepat untuk melakukan perhitungan-perhitungan matematis daripad tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe double. Contoh :

class KelilingLingkaran {
    public static void main (String[] args) {
        double pi = 3.1416;
        double r = 2.12;
        double keliling;
        keliling = 2*pi*r;
        System.out.println(“Keliling Lingkaran = ”+ keliling);
    }
}
3. Char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter.  Java menggunakan karakter Unicode untuk merepresentasikan semua karakter yang ada . Unicode ialah sekumpulan  karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16-bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard, java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai tipe karakter khusus. Di bawah ini akan dijelaskan beberapa contoh tentang escape sequence.

Escape Sequence             Keterangan
\ddd      Karakter octal (ddd)
\uxxxx  Karakter Unicode heksadecimal (xxxx)
\’             Petik tunggal
\’’           Petik ganda
\\            Backslash
\r            Carriage return
\n           Baris baru (line feed)
\f            Form feed
\t            Tab
\b           Backspace
Contoh :

class ContohKarakter {
    public static void main (String[] args) {
        char ch = 65;// 65 merupakan kode untuk karakter A;
        System.out.println(“ch1=”+ch);
        ch++;   //increment(penaikan nilai sebesar 1)
        System.out.println(“ch2 = ”+ ch);
    }
}

4. Boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini ditandai dengan kata kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan dengan kata kunci true dan nilai salah dengan kata kunci false. Contoh :

 ContohBolean {
    public static void main (String[] args) {
        boolean a = true;
        if (a) {
            System.out.println(“Perintah dilaksanakan ”);
        }//negasi dari a
        If (!a) {
            System.out.println(“Perintah tidak dilaksanakan ”);
        }
    }
}


B. Tipe Data Referensi

1. Class

Kelas dapat didefiniskan sebagai cetak biru (blueprint) atau prototipe/kerangka yang mendefiniskan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan data yang mengacu pada suatu objek.

Dalam dunia permrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel ‘normal’, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek. Variabel yang berupa objek ini sering disebut dengan referensi objek (object reference).

Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas. Contoh :

public Class Mahasiswa{
    public String nama;
    public int nrp;
    Mahasiswa(String a, int b){
        nama =a;
        nrp= b;
    }
    public void cetak (){
        System.out.println(“Nama : “+nama+” nrp : “+nrp);
    }
}
Setelah kita membuat sebuah kelas, untuk menggunakannya maka kita harus membuat sebuah instance dari kelas tersebut. Berikut cara membuat objek dari kelas :

class Demo {
    public static void main(String[]args){
        Mahasiswa mhs;
        mhs = new Mahasiswa(“Rezki”,5211100048);
    }
}


2. Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.



3. Interface
Interface merupakan sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method tersebut berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik,  yang tidak diperoleh dari proses inheritance yang lebih terbatas. Tipe data yang boleh pada interface hanya tipe data konstan.
Operator aritmatika, logika dan Relasional
1.Assignment Operator / Operator Penugasan 
         Assignment Operator (operator penugasan) adalah operator yang menggunakan tanda sama   dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
 operatorassignment
2.Arithmetic Operator / Operator Aritmatika

Arithmetic Operator (operator aritmatika) adalah operator yang digunakan untuk melaksanakan operasi aritmatika.
Beberapa operator aritmatika antara lain:
* : untuk perkalian
+ : untuk penjumlahan
- : untuk pengurangan
/ : untuk pembagian
% : untuk sisa pembagian (modulus)

operatoraritmatika
Logical Operator / Operator Logika / Boolean Operator

Operator Boolean atau Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah).
Bebarapa macam operator logika antara lain:
1. and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
2. or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
3. xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan keduaduanya
bernilai TRUE
4. ! : mengasilkan nilai tidak TRUE
5. && : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
6. || : menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

operatorboolean
Comparison Operator / Operator Pembanding

Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand.
Operator perbandingan ini antara lain :
<  : untuk kurang dari
> : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>= : untuk lebiih dari atau sama dengan
== : untuk sama dengan
!= : untuk tidak sama dengan
<> : untuk tidak sama dengan

operatorpembanding

Struktur control
Struktur kontrol merupakan pengatur aliran program
Rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :
–        Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi
–        Melanjutkan sebuah pernyataan bila kondisi terpenuhi
–        Memilih sebuah pilihan dari beberapa alternatif bila sebuah kondisi terpenuhi

TUJUAN
Menggunakan struktur kontrol keputusan/percabangan (if, else, switch), untuk memilih bagian dari program yang akan dieksekusi.
Menggunakan struktur kontrol pengulangan/perulangan (while, do-while, for), untuk melakukan pengulangan eksekusi program atau code, sejumlah yang telah ditentukan.
Struktur kontrol  memiliki pokok bahasan yaitu :

Percabangan
1.    Statement-if
Menspesifikasikan sebuah statement (atau block dari code) yang akan dieksekusi jika dan hanya jika statement boolean bernilai true.
Form statement-if:
       if( boolean_ekspresi )
                       statement;
atau 
       if( boolean_ekspresi ){
                       statement 1;
                       statement 2;
       }
dimana,                                 
boolean_ekspresi sama dengan boolean ekspresi atau boolean variabel.

2.    Statement if-else
Digunakan ketika kita akan mengeksekusi sebuah statement jika kondisinya true, dan statement yang lain jika berkondisi false.i
Form statement if-else:
                if( boolean_ekspresi ){
                                statement1;
                                statement2;
                                . . .
                }
                else{
                                statement3;
                                statement4;
                                . . .
                }

3.      Statement-if-else if
statement pada klausa else dari sebuah blok if-else dapat menjadi struktur if-else yang lain.
Struktur ini memperbolehkan kita untuk membuat pilihan yang lebih kompleks.
Form statement if-else-else if:
if( boolean_ekspresi1 )
                       statement1;
       else if( boolean_ekspresi2 )
                       statement2;
       else
                       statement3;

4.      Switch
Switch Memperbolehkan percabangan pada multiple outcomes.
Form statement-switch:
       switch( switch_ekspresi ){
                       case case_pilihan1:
                                       statement1;//
                                       statement2;//blok 1
                                       break;
                       case case_pilihan2:
                                       statement1;//
                                       statement2;//blok 2 
                                       break;
                                                       :
                       default:
                                       statement1;//
                                       statement2;//blok n
       }

Sruktur Perulangan
1.    For
Digunakan untuk mengeksekusi code yang bernilai sama, berulang-ulang.
Form pengulangan-for:
for(InisialisasiEkspresi;KondisiPengulangan;StepEkspresi)
{   
       statement1;
       statement2;
       . . .
}


InisialisasiEkspresi : meninisialisasi variabel pengulangan. 
KondisiPengulangan : membandingkan variabel pengulangan dengan  nilai limit.
StepEkspresi : memperbarui variabel pengulangan.

2.    While
Pengulangan while
Merupakan statement atau blok dari statement yang diulang selama kondisinya sesuai.
Form pengulangan while:
       while( boolean_ekspresi ){
                       statement1;
                       statement2;
                       . . .
       }
statement didalam pengulangan while akan dieksekusi selama boolean_ekspresi bernilai true. 

3.       Do-while
a.   Sama dengan pengulangan-while
b.   Statement didalam pengulangan do-while akan dieksekusi beberapa kali selama kondisinya sesuai dengan ekspressi yang diberikan.
c.    Hal utama yang membedakan antara pengulangan while dan do-while:
d.   Statement didalam pengulangan do-while loop setidaknya dieksekusi satu kali.
Form pengulangan-do-while:
        do{
                        statement1;
                        statement2;
                        . . .
        }while( boolean_ekspresi );
c. Switch
Merupakan pernyataan yang dirancang khusus untuk mengambil keputusan yang melibatkan sejumlah alternative.
Contoh Program :

#include <stdio.h>

main()

{

int kode_hari;

puts ("Menentukan Nama hari :\n");

puts ("1 > Senin       4 > Kamis          7 > Minggu");

puts ("2 > Selasa      5 > Jumat                   ");

puts ("3 > Rabu        6 > Sabtu                   ");

printf ("\nMasukksn kode hari yang anda inginkan (1 sampai 7) !");

scanf ("%d", &kode_hari);

switch (kode_hari)

{

case 1:

puts ("Hari Senin");

break;

case 2:

puts ("Hari Selasa");

break;

case 3:

puts ("Hari Rabu");

break;

case 4:

puts ("Hari Kamis");

break;

case 5:

puts ("Hari Jumat");

break;

case 6:

puts ("Hari Sabtu");

break;

case 7:

puts ("Hari Minggu");

break;

default :

puts ("Maaf, Kode yang anda masukkan salah !");

}

}
Pernyataan break memiliki tiga fungsi yaitu:
Menghentikan pemilihan pada pernyataan switch.
Menghentikan proses pengulangan atau keluar dari badan loop.
Keluar dari blok label tertentu.
Pemakaian break pada pernyataan switch sudah kita pahami pada struktur pemilihan. Kita sekarang akan memahami bagaimana menggunakan break pada pengulangan. Perhatikan contoh berikut.
Contoh 8.13. Penggunaan break pada pengulangan.
class BreakPengulangan {
public static void main(String[] args) {
for (int i=0; i<10; i++) {
if (i == 5) {
break;
}
System.out.println(“baris ke-” + i);
}
System.out.println(“Ini setelah break pengulangan”);
}
}
Array
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

Array 1 dimensi :
Array 1 Dimensi , array adalah hal yang paling penting dalam setiap bahasa pemrograman. Menurut definisi, array adalah alokasi memori statis. Ini mengalokasikan memori untuk tipe data yang sama secara berurutan. Ini berisi beberapa nilai jenis yang sama. Hal ini juga menyimpan nilai-nilai dalam memori pada ukuran tetap.
Array juga mempunyai definisi lain yaitu struktur data yang statis yang mempunyai 1 nama tetapi memiliki banyak tempat. Setiap tempat harus dibedakan, untuk membedakannya dibutuhkan penunjuk, pentunjuk dapat berupa karakter(char) atau integer. Sekali disimpan dalam penunjuk yang sama(berbentuk indeks), maka isinya tidak akan hilang kecuali indeksnya diisi oleh nilai yang lain.
Cara pendeklarasian Array setiap bahasa Program berbeda tapi semuanya memiliki karakter yang sama . . .
deklarasi di csharp dan java:
tipedata [] nama variabel = new nama variabel [jumlahElement]
kalo di C++
tipedata namaVariabel [jumlahElemen];
ini adalah contoh programnya yang menggunakan C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
namespace Array1Dimensi
 {
 class Program
 {
 public byte banyak; //property

public static void Main(string[] args)
 {
 Arr arre = new Arr(); //deklarasi Class Arr
 arre.Masuk(); //panggil method Masuk dr class Arr

Console.WriteLine();
 Console.Write("Press any key to continue . . . ");
 Console.ReadKey(true);
 }
 }
 class Arr
 {
 public void Masuk()
 {
 Program pro = new Program(); //deklarasi Class Program
 string [] nama;  //deklarasi Array

Console.Write("masukkan banyak elemen array = ");
 pro.banyak = Convert.ToByte(Console.ReadLine()); //input mengunakan property Class program
 Console.WriteLine();

nama = new string[pro.banyak]; //inisialisasi array

//mengisi Array
 for (byte i = 0; i<pro.banyak; i++)
 {
 Console.Write("Masukkan nama mahasiswa ke {0} = ",i+1);
 nama[i] = Console.ReadLine();
 }

Console.WriteLine();

//menampilkan Array
 for (byte i = 0; i<pro.banyak; i++)
 {
 Console.WriteLine("Nama maha siswa ke {0} adalah = {1}",i+1,nama[i]);
 }
 }
 }
 }
Definisi Array 2 dimensi (multidimensi)
Array multidimensi  tidaklah jauh berbeda dengan array 1 dimensi, hanya saja pada array multi dimensi akan terdapat semacam kolom dan baris, anggap saja seperti bagan matriks pada al-jabar matematika.
Langsung saja pada contoh array, pada tulisan sebelumnya saya menggunakan bahasa pemrograman C++ namun kali ini saya akan menggunakan bahasa pemrograman Java.
Program ini akan menampilkan daftar nilai akhir pada 3 mahasiswa yang telah diketahui nilai Tugas, UTS dan UAS, untuk aturan penilaiannya adalah Nilai Akhir = (0.35 * UTS) + (0.45 * UAS) + (0.2 * Tugas). Pada program kali ini menggunakan gabungan antara array 1 dimensi dengan array 2 dimensi.
Langsung aja ke codding
untuk latihan ketik program di bawah ini dengan menggunakan notepad.
https://sirohito.files.wordpress.com/2010/11/coding.png?w=652&h=406
simpan dengan nama NilaiAkhir.java pada folder atau direktori yang anda kehendaki.
kemudian pada command prompt buka folder atau direktori yang anda gunakan untuk menyimpan.
kemudian ketik : javac NilaiAkhir.java kemudian enter
terus ketik : java NilaiAkhir kemudian enter
kira-kira hasilnya seperti ini
https://sirohito.files.wordpress.com/2010/11/hail.png?w=652&h=248
biar lebih ngerti ada contoh lain dari array 2 dimensi
ini merupakan suatu system untuk menampilkan data mahasiswa dengan jumlah mahasiswa tertentu. Data-data mahasiswa yang dicatat adalah nama, npm dan alamat, system ini dapat menambahkan data / objek mahasiswa dan bisa juga mencetak seluruh data mahasiswa yang ada di dalam system dengan format :
NPM :  Nama : Alamat
0012313 : ahmad : Jln. Kopi
0012314 : ali : Jln. Lada
0012315 : ari : Jl Pemuda
coddingnya seperti dibawah ini
https://sirohito.files.wordpress.com/2010/11/untitled-3.png?w=652
hasilnya kira-kira demikian..
https://sirohito.files.wordpress.com/2010/11/d.png?w=652






0 komentar:

Posting Komentar