03-PD-PengenalanJava

advertisement
PEMROGRAMAN DASAR
Sistem Informasi PTIIK UB
Semester Ganjil 2013/2014
Pengenalan JAVA
Dr. Eng. Herman Tolle, ST., MT
Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
Outline
• Programming Language
• Pengenalan Program Java
• Struktur Program Java
Bahasa Pemrograman
• Bahasa komunikasi manusia dengan
komputer untuk memberikan instruksi
kepada komputer
• Low Level Programming Language
– Bahasa Mesin
– Bahasa Assembly
• High Level Programming Language
Low Level Programming Language
Bahasa Mesin
• 8B542408 83FA0077
06B80000 0000C383
FA027706 B8010000
00C353BB 01000000
B9010000 008D0419
83FA0376 078BD98B
C84AEBF1 5BC3
Assembly
fib:
mov edx, [esp+8]
cmp edx, 0
ja @f mov eax, 0
ret @@:
cmp edx, 2
ja @f mov eax, 1
ret @@:
push ebx
mov ebx, 1
mov ecx, 1
High Level Programming Language
• Mendekati bahasa manusia (natural language)
• Menggunakan istilah-istilah dalam bahasa
Inggris dan notasi matematis umum
• Third-generation programming language
(Fortran, ALGOL, and COBOL)
• Pemrograman Terstruktur.
• General-purpose languages C, C++, C#,
Java, BASIC and Pascal
Bahasa Tingkat Tinggi
• Satu pernyataan menyelesaikan tugastugas substantial
• Program compiler  mengkonversi ke
bahasa mesin (seluruh kode program)
• Program interpreter  mengeksekusi
perintah satu persatu dalam bahasa
tingkat tinggi secara langsung
Object Oriented Programming
• Pemrograman Berorientasi Objek
• C++, Java and C#
• Memodelkan bagaimana manusia
memandang sesuatu sebagai sebuah
objek
Programming Lainnya
• Pemrograman Windows: Visual Basic,
Delphi, Visual Studio
• Pemrograman Web:
– Markup Language (HTML style)
– Script style (Javascript, AJAX)
• Pemrograman Embedded
• Pemrograman Game
• Pemrograman Mobile: Android, Symbian
ABOUT
JAVA PROGRAMMING
Sejarah JAVA
• diciptakan pada tahun 1991 oleh James
Gosling et al. dari Sun Microsystems
• pada awalnya disebut dengan Oak,
diambil dari nama pohon diluar jendela
Gosling
• Namanya berubah menjadi Java karena
sudah ada bahasa lain yang bernama Oak.
• Nama Java diambil karena mereka suka
meminum kopi Java
Kelebihan Java
•
•
•
•
•
Open Source
Berbasis obyek
Memory Ringan
Platform independent
Handal & Aman
Java
SmallTalk
TCL
Perl
Shells
C
C++
High
Medium
Low
Medium
Low
High
High
Simple
Object
Oriented
Robust
Secure
Interpreted
Dynamic
Portable
Neutral
Threads
Garbage
Collection
Exceptions
Performance
Teknologi Java :
development environment
Sebagai development environment, teknologi
Java menyediakan berbagai fasilitas untuk :
–
–
–
–
compiler
interpreter
documentation generator
class file packaging tool
Teknologi Java :
aplikasi dan runtime environment
• Aplikasi Java merupakan program khusus yang dapat berjalan pada
mesin apapun, yang telah memiliki Java Runtime Environment (JRE).
• Ada 2 deployment environment yang utama :
1. JRE didapat dari Java 2 Software Development Kit (SDK), yang di
dalamnya terdapat kumpulan lengkap file class dari semua package
Teknologi Java, termasuk class bahasa basic, class komponen GUI dan
lain-lain.
2. Yang utama pada deployment environment lainnya adalah pada web
browser.
Sebagian besar browser komersial menyediakan penerjemah /
interpreter untuk Teknologi Java dan runtime environment.
Java Edition
• Java EE – Enterprise Edition
• Java SE – Standard Edition
• Java ME – Mobile Edition
Tujuan utama Java Technology
• Menyediakan bahasa yang mudah digunakan
– Menghindari pitfall yang sering terjadi di bahasa
pemrograman lain
– Berorientasi obyek
– Memudahkan pengkodean yang efisien dan jelas
• Menyediakan lingkungan interpreter untuk:
– Meningkatkan kecepatan pengembangan program
– Portabilitas kode
Tujuan utama Java Technology
• Multi-threading
• Pemanggilan class secara dinamis
• Mendukung adanya perubahan program secara
dinamis selama runtime dengan melakukan
pemanggilan class-class dari sumber yang berbeda
• Meningkatkan sekuritas
Fitur Java
Beberapa fitur java:
– Java Virtual Machine
– Garbage Collection
– Code Security
Fitur Java : Java Virtual Machine
Java Virtual Machine (JVM)
– Mesin virtual yang diimplementasikan oleh software
sehingga menyamai mesin yang sebenarnya.
– Menyediakan spesifikasi platform perangkat keras yang
dapat meng-compile semua program Java
Bytecode
– Bahasa mesin khusus yang dimengerti oleh Java Virtual
Machine (JVM)
– bebas dari kekhususan berbagai jenis perangkat keras
komputer, jadi komputer dengan Java interpreter dapat
mengeksekusi program java yang sudah ter-compile,
tidak peduli jenis komputer apa yang telah mengcompile program tersebut.
Fitur Java : garbage collection
Fungsi Garbage collection:
– bertanggung jawab untuk mengosongkan memori.
Pengosongan memori terjadi otomatis selama masa
aktif dari program java.
– programmer dibebaskan dari beban untuk
mengalokasikan kembali memori itu sendiri.
Fitur Java : code security
• Code security disampaikan di Java melalui implementasi
dari Java Runtime Environment (JRE).
• JRE
 Menjalankan kode yang telah ter-compile pada JVM dan
menampilkan class loading (melalui class loader), memverifikasi
kode (melalui bytecode verifier) dan yang terakhir adalah
mengeksekusi kode
Fitur Java : code security
Class Loader
• Bertanggung jawab untuk mengisi semua class yang dibutuhkan
pada program java.
• Memberikan keamanan, dengan memisahkan namespace untuk
class-class pada sistem file lokal, dimana semua class tersebut
diimpor dari sumber pada jaringan.
• Setelah mengisi semua class, susunan memori dari pelaksanaan
kemudian ditentukan. Hal ini memberikan proteksi untuk melawan
akses yang tidak diinginkan pada kode terlarang sejak peta
memory ditentukan selama runtime.
Fitur Java : code security
Bytecode verifier
Menguji format pada fragmen code dan mengecek
fragmen code dari code ilegal yang dapat mengganggu
akses pada objek.
Kompilasi (Compiling) Java
Editor Java
• Editor: sembarang pengolah teks
• Compiler: Javac
• Interpreter: Java
• Integrated Development Environement
(IDE): Eclipse, Intellij IDEA, NetBeans
Program Pertama Java
class Hello {
public static void main(String[] arguments){
// Program execution begins here
System.out.println("Hello world!");
}
}
STRUKTUR PROGRAM
Source code
class CLASSNAME {
public static void main(String[] arguments)
{
STATEMENTS
}}
Kata Kunci (Key word)
• Java memiliki sejumlah kata yang bermakna
khusus yang digolongkan sebagai kata kunci
atau kata tercadang dan tidak dapat digunakan
sebagai identifier (nama kelas atau nama
variabel)
• Contoh:
• abstract assert boolean break byte case catch class const
continue default if import new native package throw
static while void main float repeat true false
Identifier
• yaitu nama yang diciptakan oleh pemrogram dan
digunakan dalam program untuk memberi nama kelas
atau nama variabel.
Aturan pemberian nama pengenal yaitu :
• Karakter pertama berupa huruf, tanda garis bawah atau
dollar
• Karakter kedua dapat berupa sembarang huruf atau
angka
• Tidak Boleh Menggunakan Spasi
• Huruf kapital dan huruf kecil dibedakan
Penamaan Identifier
•
•
•
•
•
•
•
Welcome1
$value
_nilaiAwal
7nilaiAwal
Rata-rata
rataRata
newByte
•
•
•
•
•
•
AkarKuadrat
Jumlah Total
i
x
X
super
Tipe Data Primitif JAVA
Delapan Tipe Data Primitif JAVA
• byte  bilangan bulat 8 bit (-128 s/d +127)
• short  bilangan bulat 16 bit (-32768 s/d +32767)
• int  bilangan bulat 32 bit
(-2.147.483.648 s/d +2.147.483.647)
• long  bilangan bulat 64 bit
(-9.223.372.036.854.775.808 s/d +9.223.372.036.854.775.807)
• float  bilangan pecahan 32 bit
– (akurasi 7 digit desimal signifikan)
– Memiliki akhiran f untuk membedakan dengan double
– Contoh: float varFloat = 0.13f;
• double  bilangan pecahan 64 bit dengan presisi ganda (akurasi 15
digit desimal signifikan)
• char  karakter 16 bit
• boolean  hanya mempunyai nilai true atau false
Contoh char
• char
• char
• char
• char
c;
c = ‘a’;
c = 0x0ff32; //2 byte heksadesimal
c = ‘\037’; //nilai oktal
Karakter khusus
(Escape sequence)
• char
• char
• char
• char
• char
• char
c
c
c
c
c
c
=
=
=
=
=
=
‘\b’; //backspace
\u008; //unicode untuk backspace
‘\f’; //formfeed
‘t’; //tabulator
‘n’; //new line
‘\r’; //carriage return
Variable
• Variabel menyatakan suatu lokasi di dalam memori
komputer yang digunakan untuk menyimpan
suatu nilai dimana nilai tersebut dapat diubah
didalam program
• Nama mengacu pada penyimpanan di memori
• Setiap variable harus punya: nama, tipe, ukuran
dan nilai
• Bila suatu nilai diisikan pada variabel maka nilai
sebelumnya akan di replace
Variabel
• Harus dideklarasikan terlebih dahulu (biasanya
diawal atau saat sebelum digunakan)
• Deklarasi variabel
TypeData namaVariabel;
• Dapat dideklarasikan lebih dari satu variabel
secara bersamaan pada satu variabel yang sama.
TypeData namaVariabel[, namaVariabel-ke2[, namaVariabel-ke-3[, ….namaVariabelke-n]]];
Variabel
• Dapat langsung diikuti dengan nilainya
TypeData namaVariabel = nilai;
• int Bilangan = 0;
float TotalHarga = 10000;
char NilaiAngka = “B”;
bool isGenap = true;
• int X, Y, Z = 100;
Konstanta
Dapat menampung data seperti variable
namun tidak dapat dimodifikasi
Contoh: phi: 3,14
Sintaks java:
final double PI = 3.14159;
Komentar
Untuk memberikan komentar digunakan tanda :
• // untuk komentar satu baris
• /* komentar baris pertama
komentar baris kedua
Komentar baris ke –n */
PENGARAH TIPE
(TYPE-CASTING)
• Adakalanya diperlukan langkah untuk mengubah suatu
tipe data menjadi tipe data lain. Proses untuk mengubah
suatu tipe ke tipe yang lain.
Bentuk penulisan : (tipe_data) data
Misal : int i = 65;
char huruf;
huruf = char(i);
•
Agar tidak ada nilai yang hilang, tipe tujuan harus memiliki ukuran yang lebih besar atau paling tidak sama
dengan ukuran tipe sumber.
•
TIPE SUMBER
TIPE TUJUAN
byte
short, char, int, long, float, double
short
int, long, float, double
char
int, long, float, double
int
long, float, double
long
long, double
float
double
Contoh Casting
public class tipecast
{
public static void main (String[] args)
{
int awal=28;
double akhir;
akhir = (double)awal;
System.out.println("Nilai Awal = "+ awal);
System.out.println("Nilai Sesudah Konversi =
akhir);
}
}
"+
Download