Java Programming

Java Programming
Pada postingan kali ini saya akan membahas tentang beberapa hal tentang java programming diantaranya :
1.      Sekilas Tentang Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantikyang 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.

-          Fungsi Bahasa Pemrograman
Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.

Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.

Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.

Namun,secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
1.      Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
2.      High Level Language (seperti Pascal dan Basic)
3.      Middle Level Language (seperti bahasa C), dan
4.      Low Level Language (seperti bahasa Assembly)



2.      Pengenalan 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 menjalankan web server yang memberi layanan terhadap permintaan web browser.
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source dan 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:
a.    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.
b.    Java 2 Enterprise Edition (J2EE)
J2EE berisi paket-paket J2SE serta paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages, XML, dan kendali transaksi yang fleksibel.
c.     Java 2 Micro Edition (J2ME)
J2ME adalah untuk beragam consumer electronic product, seperti pager, cell phone, handheld PDA, dll. 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 Interpreter membaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.

-             Bahasa yang aman
Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code.
  1. Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java
  2. Class loader menangani pemuatan kelas Java ke runtime interpreter.
  3. Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
            Selain itu Java menyediakan beragam teknik pengaman, yaitu:
1)     Bahasa dirancang untuk mempersulit eksekusi kode perusak
2)     Program Java dikompilasi menajdi serangkaian bytecode.
3)     Java mempunyai pengamanan terhadap applet.
-          Bahasa independen    terhadap platform
Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantung platform.

-          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-handling menyediakan 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.
ü  Karakteristik Java
1.      Open Source
2.      Berorientasi Objek (Object Oriented)
3.      Robust
4.      Portable 
5.      Case-sensitive
1.1  Pengenalan User Interface Netbeans
Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text.
Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yang dibuat tersebut.
Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.

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

Netbeans juga dapat digunakan progammer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional dekstop, enterprise, web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi dekstop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur fitur yang terdapat dalam netbeans antara lain:
-             Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
-             Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
-             Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
-             Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
-             Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.
3.      Dasar-dasar pemrograman Java
Dalam pemrograman java ada beberapa dasar – dasar yang harus diketahui diantaranya:

a.          Tipe Data dan Variabel
Tipe Data Adalah suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel dan operator. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat berubah-ubah selama eksekusi berlangsung.
 Macam – macam variable :
Ø Tipe data primitive (Sederhana)
-       Numeric
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya saja berbeda dalam jenis numeric yang diakomodasi. Tipe data ini terbagi atas integer, dan real.
-       Karakter (char)
Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter.  Ukuran untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ )  di depan dan belakang karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll.
Ø Tipe data Composite
Composite Data Types atau Tipe Data Komposit merupakan tipe data yang dapat menampung banyak nilai.
-       Array
Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.
-       Record atau struct
Seperti halnya Array, Record atau Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.
-       Image
Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual, tipe data ini telah didukung dengan sangat baik.
-       Date Time
Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari beberapa tipe data.
-       Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI.
-       Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.

-       Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.
Tipe Data Lainnya
1. Tipe Data Terstruktur
a) Tipe Data String
Merupakan suatu data yang menyimpan array (larik), sebagai contoh ‘ABCDEF’ merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 255.
b) Tipe Data Set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika.
2.  Tipe Data Pointer
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. Suatu variabel yang points (menunjuk) ke sesuatu sehingga disebut pointer.
Ada dua macam pointer:
-       Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada variabel.
-       Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.

Ø Operator aritmatika, logika dan Relasional
-       Operator aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti   penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian).
Contoh penggunaan :
-       + Operator penjumlahan (juga sebagai penyambung string)
     - Operator pengurangan
-       * Operator perkalian
-       / Operator pembagian
-    % Operator sisa pembagian

ü Operator Logika
Operator logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi. Operator-operator ini berupa :
Operator
Keterangan
&&
AND (dan)
||
OR (atau)
!
NOT (bukan)
ü  Operator Relasi / Hubungan
Operator relasi biasa digunakan untuk membandingkan dua buah nilai. Operator relasi menghasilkan kondisi BENAR atauSALAH.
Contoh penggunaan :
Sama dengan ( = )
Tidak sama dengan ( <> )
Lebih dari ( > )
Kurang dari ( < )
Lebih dari sama dengan ( >= )
Kurang dari sama dengan ( <= )
b.         Statik dan Dinamik
-             Array Statis
Array yang jumlah memory yang sudah dipesan sudah tidak dapat diubah atau “diotak – atik” lagi dan sudah fix sehingga apabila di dalam pemesanan memory ada ruang atau space yang tidak terpakai maka akan dianggap ada sisnya oleh memory.
-             Array Dinamis
Array yang jumlah pemesanan tempat di memory dapat dirubah sesuai dengan kebutuhan sehingga lebih optimal dalam pemanfaatan ruang di memory.
-             Web Statis
Web statis adalah website yang mana pengguna tidak bisa mengubah konten dari web tersebut secara langsung menggunakan browser. Interaksi yang terjadi antara pengguna dan server hanyalah seputar pemrosesan link saja. Halaman-halaman web tersebut tidak memliki database, data dan informasi yang ada pada web statis tidak berubah-ubah kecuali diubah sintaksnya. Dokumen web yang dikirim kepada client akan sama isinya dengan apa yang ada di web server.
-             Web Dinamis
Dalam web dinamis, interaksi yang terjadi antara pengguna dan server sangat kompleks. Seseorang bisa mengubah konten dari halaman tertentu dengan menggunakan browser. Request (permintaan) dari pengguna dapat diproses oleh server yang kemudian ditampilkan dalam isi yang berbeda-beda menurut alur programnya. Halaman-halaman web tersebut memiliki database. Web dinamis, memiliki data dan informasi yang berbeda-beda tergantung input apa yang disampaikan client. Dokumen yang sampai di client akan berbeda dengan dokumen yang ada di web server.
4.      Struktur Kontrol
Struktur kontrol digunakan untuk melakukak pengaturan arah program yang berjalan. Bahasa pemrograman Java mempunyai 3 struktur kontrol yaitu Struktur Kondisi, Struktur Perulangan, serta Struktur Break dan Continue.
-          If Tunggal 
Deklarasi perintah if dengan kondisi tunggal satu pernyataan :
if (kondisi) pernyataan;
Deklarasi perintah if dengan kondisi tunggal lebih dari satu pernyataan :
if (kondisi){
 pernyataan1;
 pernyataan2;
 ....
}

-          If Majemuk
Deklarasi perintah if dengan kondisi lebih dari satu dan satu pernyataan :
if(kondisi){
 pernyataan1;
}else if{
 pernyataan2;
}

Deklarasi perintah if dengan kondisi lebih dari satu dan pernyataan lebih dari satu :
if(kondisi){
 pernyataan1;
 pernyataan2;
 ...
}else{
 pernyataan3;
 pernyataan4;
 ...
}

-          Statement Break
Fungsi break adalah untuk menghentikan eksekusi sebuah blok program, dan memaksa keluar dari sebuah pengulangan. Statement break memiliki dua bentuk yaitu unlabeled dan labeled.
-          Statement Switch
Switch digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Biasanya penggunaan switch berkaitan dengan menu, dimana apabila menu kondisi1 dipilih, maka switch akan menjalankan blok dari aksi1, lalu apabila menu kondisi2 dipilih, maka switch akan menjalankan blok dari aksi2, demikian seterusnya. Bila tidak memenuhi kriteria menu case manapun, switch akan menjalankan blok default.

5.      Struktur Perulangan
-          Statement  For
Pengulangan for melakukan inisialisasi sebelum iterasi/loop pertama, kemudian melakukan tes kondisional dan pada akhir dari tiap iterasi melakukan penambahan atau pengurangan pada variabel step yang digunakan sebagai basis pengkondisian untuk perulangan.
-          Statement While
Pada statement pengulangan while akan terus melakukan perulangan jika kondisi ekspresi boolean bernilai benar atau true.
-          Statement Do While
Do while memiliki urutan yang terbalik dibandingkan dengan while dan memiliki perbedaan utama, yaitu : bahwa pada do while pernyataan dijalankan terlebih dahulu minimal satu kali, sedangkan pada while memungkinkan pernyataan sama sekali tidak dijalankan apabila kondisi ekepresi boolean pada saat pertama kali sudah salah.

6.      Array
sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks.  Indeks array selalu bertipe integer yang dimulai dari 0. Setiap elemen array tersebut dapat diakses dengan cara A[indeks].
-          Array Satu Dimensi
Array satu dimensi adalah array yang hanya berisi satu dimensi saja. 
Mendeklarasikan varibel Array
     Pendeklarasian variabel array dilakukan dengan bentuk:
     tipe namaVariabelArray[];
     atau
    tipe [] namaVariabelArray;
-          Array dua dimensi hampir sama dengan array berdimensi satu, namun biasanya array berdimensi dua banyak digunakan untuk penyajian data berbentuk tabel atau juga berbentuk matriks.
tipe namaVariabelArray [][];
       atau
       tipe  [][] namaVariabelArray;

 Referensi
http://nak-ti.com/sekilas-tentang-bahasa-pemrograman/
http://diankresnaramadhan.blogspot.co.id/2012/09/pengenalan-java-struktur-dan-tipe.html
http://irfanassya.blogspot.co.id/2013/06/pengenalan-java-languange.html
http://senalastiansah.blogspot.co.id/2012/10/pengertian-user-interface-user.html
http://rakaraka.blog.widyatama.ac.id/2015/09/14/macam-macam-tipe-data/
http://theroriezkhere.blogspot.co.id/p/variable-dan-type-data-pada-pemrograman.html
http://westborneoblogger.blogspot.com/2015/08/pengertian-dan-jenis-jenis-tipe-data.html
https://nuranisah.wordpress.com/2009/10/11/tugas-algoritma/
http://www.sanabila.com/2015/06/pengertian-macam-macam-dan-penggunaan_20.html
http://www.carawebs.info/2013/03/pengertian-perbedaan-web-statis-dan-web-dinamis.html
https://boltremjaya.wordpress.com/2013/09/23/array-statis-dan-dinamis/
http://rizalbenn.blogspot.co.id/2012/10/struktur-kontrol-pada-java.html
http://kikirapper.blogspot.co.id/2014/10/struktur-kontrol-kondisi-if.html
http://trijaruto.blogspot.co.id/2010/09/struktur-kontrol.html
http://kokododi.blogspot.co.id/2014/09/pembahasan-dan-contoh-struktur-kontrol.html
http://azizah.ilearning.me/programming/pengertian-array-cara-kerja-dan-contohnya/
http://belajarkuliahkomputer.blogspot.co.id/2015/09/pengertian-dan-macam-macam-array.html
http://nenylestary.blogspot.co.id/2013/12/java-gui.html
  http://intanstemapal24.blogspot.co.id/2014/08/pengertian-bahasa-pemograman.html



0 Response to "Java Programming "

Posting Komentar