Download dan bahsa yg diciptakan diberi

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
SEJARAH JAVA
1991, PATRICK NAUGHTON dan JAMES GOSLING. Proyek pertama dinamakan "GREEN"
dan bahsa yg diciptakan diberi nama "OAK"
JAVA (Menurut BILL JOY)
Java adalah bahasa pemrograman orientasi objek yang berukuran kecil,sederhana, aman,
diinterpretasi atau dioptimasi secara dinamis, ber- bytecode, netral arsitektur,
mempunyai garbage- collector, multithreading, mempunyai mekanisme penanganan
kekecualian (exception handling), berbasis tipe untuk penulisan program mudah
diperluas secara dinamis serta telah diperuntukkan sistem tersebar.
karya Sun Microsystem Inc. Rilis resmi level BETA-November 1995. 2 Bulan berikutnya
NETSCAPE memperoleh lisensi bahasa JAVA dari SUN. JAVA mrpkn bahasa yang dapat
JAVA
dijalankan di sembarang platform, di berbagai lingkungan: internet, consumer electronic
products, dan computer applications
MASKOT JAVA
DUKE
1996
Sun mengeluarkan JSDK (Java Software Development Kit)
VERSI 1.02
BASIS DATA dan OBJEK-OBJEK TERSEBAR
VERSI 1.1 (1997)
EVENT MODEL, INTERNATIONALIZATION, dan model komponen JAVABEANS
VERSI 1.2 (1998) / JAVA 2
USER INTERFACE TOOLKIT "SWING" utk membuat aplikasi GUI portabel
VERSI 1.3 (2000)
Banyak peningkatan
VERSI 1.4 (2000)
Fasilitas ASERSI untuk dukungan DESIGN-BY-CONTRACT
GENERICS (PARAMETERIZED TYPES), ENUMERATION, dan METADATA. LIGHTWEIGHT
VERSI 1.5 / JAVA 5
DATABASE SYSTEM yaitu DERBY (BASIS DATA APACHE), sebelumnya mrpkn CLOUDSCAPE
dari IBM
1.Java 2 Standard Edition (J2SE - berbasis dekstop)
The Java 2 Platform tersedia dalam tiga edisi
2.Java 2 Enterprise Edition (J2EE - berbasis web)
untuk keperluan berbeda sebagai berikut:
3.Java 2 Micro Edition (J2ME - berbasis mobile/handphone)
J2SE - JAVA 2 STANDARD EDITION
Karya fitur, stabil, aman, dan CROSS-PLATFORM. Mendukung BASIS DATA, Rancangan
antarmuka pemakai, masukan/keluaran, dan jaringan.
J2EE - JAVA 2 ENTERPRISE EDITION
KAKAS utk membangun dan menjalankan MULTITIER ENTERPRISE APPLICATIONS. J2EE
berisi paket di J2SE ditambah pakey yang mendukung ENTERPRISE JAVABEANS, JAVA
SERVLETS, JAVASERVER PAGES, XML dan kendali traksaksi yg fleksibel.
J2ME - JAVA 2 MICRO EDITION
Utk CONSUMER ELECTRONIC PRODUCT : pager, smart card, cell phone, handheld PDA
dan SET-TOP BOX. J2ME berisi SUBSET paket J2SE ditambah paket spesifik MICRO
EDITION JAVAX.MICROEDITION.IO.
Fitur-fiturnya :
JDK 4
KEMAMPUAN JAVA
1. Generics, cara membuat kelas-kelas TYPE-SAFE, menghilangkan keperluan CAST thdp
objek-objek saat mengambil objek dari COLLECTION
2. Perbaikan thdp FOR LOOP digunakan pada ITERATOR
3. Jumlah argumen dpt beragam.
4. Boxing/unboxing, konversi otomatis antara tipe primitif dan tipe reference
5. TYPE-SAFE ENUMERATION
6. METADATA
Seluruh kemampuan yang dimiliki java dapat dikatakan mampu membuat segala macam
yang ada saat ini :
1.berbasis konsol tradisional yang berbasis text (text based application)
2.Berbasis windows atau GUI based application segala platform sistem operasi
3.Aplikasi di web browser dengan menggunakan java Applet
4.Aplikasi Web Server dengan menggunakan Java Servlet, JSP(Java server Page)
5. Aplikasi berbasis model komponen java seperti Component di Borland Dhelpi atau
Control di Visual Basic, yaitu java Beans
6. Aplikasi Terbesar skala Enterprise dengan menggunakan EJB (Enterprise Java Beans)
disertai basis koneksi basis data
messaging (JMS-Java Messaging System) mailing (Java Mail), Konectivitas(JCA-Java
Conectivity Architecture),
dan RMI (Remote Methide Invocation) dan sebagainya
7. Aplikasi handheld dan mobile computing melalui J2ME (Java 2 Micro Edition)
KEMAMPUAN JAVA
Dibanding bahasa C++, JAVA memberi
kemudahan antara lain:
Contoh kemampuan yang dapat disediakan java antara lain :
1.pemrograman berorientasi Objek
2.Reflection dan Procxy
3.Interface dan Inner classes
4.Event Listener Model
5.Graphic User Interface dengan Swing User Interface Toolkit
6.Exception Handling
7.Stream input/Output dan Objek serialization
8.Multithreading
9.Pemrograman Jaringan
10.Objek Objek tersebar
11Basis Data
12.Grafis
13.Internationalization
14.Native Methode
15.Java Applet
16.Java Beans
17.Java Servlet
18Java Server Page
19.Enterprise Java Beans
dll.
1. Menghilangkan keperluan DEALOKASI MANUAL. Java dilengkapi GARBAGE COLLECTOR
yg bertugas menDEALOKASI MEMORI yg tidk diperlukan
2. Java mrpkn ARRAY sebenarnya, menghilangkan keperluan aritmatika POINTER yg bs
mengakibatkan kesalahan
3. Menghilangkan KENISCAYAAN operasi penugasan (ASSIGNMENT)
4. Menghilangkan pewarisan jamak (MULTIPLE INHERITANCE) diganti failitas INTERFACE.
FITUR PENTING BAHASA JAVA
1. Program di lingkungan web browser, yaitu APPLET
2. Program di lingkungan web server
A. Java Server Pages, sebagai web scripting serupa ASP, PHP dan sebagainya.
Pemrograman JSP mengakomodasi pemrograman gaya tempelan seperti PHP, gaya
tagging seperti Cold Fusion dan orientasi komponen JavaBeans.
3. Program Mandiri (STAND ALONE APPLICATION), GENERAL PURPOSE LANGUAGE
4. Bahasa skala enterprise
Untuk mengembangkan komponen yaitu EJB (Enterprises JavaBeans) yang berjalan
diapikasi server.[6] EJB mendukung Component-based softeware engineering.
1. BUKAN mrpkn program JAVA, namun SINTAKS dan SEMNTIKnya seperti BAHASA JAVA
JAVASCRIPT
Fitur Fitur Unggulan Java
BAHASA SEDERHANA
BAHASA BERORIENTASI OBJEK
2. TIDAK termasuk teknologi JAVA
3. Karya NETSCAPE, awalnya bernama LIVESCRIPT
4. TIDAK termasuk teknologi JAVA SUN MICROSYSTEMS
1. Bahasa yang sederhana
2. Bahasa orientasi objek
3. Bahasa yang statically typed
4. Bahasa yang di kompilasi
5. Bahasa yang kecil dan sederhana
6. Bahasa yang aman
7. Bahasa yang independen terhadap flatform
Java TIDAK MENDUKUNG fitur fitur rumit seperti dibawah ini :
1.Explicit pointer manipulation
2.Implicit type casting
3.Structure and unions
4.Operator overloading
5.Templates
6.Header file
7.Multiple inheritence
JAVA memberi kebebasan bagi perancang java itu sendiri dan penyeimbang antara Idealis
OOP murni yang memandang semua harus objek dan penerapan model pragmatis
dengan Idealis "stay out my way" Model objek di java sederhana dan mudah untuk
diperluas, sementara tipe data sederhana seperti interger, float dan char tetap ada untuk
mengejar kinerja tinggi tipe data primitif yang langsung didukung perangkat keras.
Orientasi Objek adalah cara ampuh dalam pengorganisasian dan pengembangan
perangkat lunak. Pada pemrograman Orientasi Objek, program merupakan sekelompok
Objek yang saling berinteraksi.
BAHASA YANG STATICALLY TYPED
BAHASA YANG DIKOMPILASI
BAHASA YANG AMAN
Seluruh objek didalan program harus didefinisikan dulu sebelum dapat digunakan.
Pemaksaan ini memungkinkan kompilator java menemukan dan melaporkan terjadinya
pertentangan type sehingga menjadi pencegahan kesalahan awal yang tidak
perlu(seperti mengurangkan varibel bertype integere dengan variable bertype string)
Sebelum menjalankan program di bahasa java. Program dikompilasi menggunakan java
compiler. kompiler akan menghasilkan bytecode yang serupa fungsinya dengan file code
mesin.bytecode yang telah dihasilkan dapat dieksekusi di sembarang platform yang
memiliki Java Interpreter. Java Interpreter membaca bytecode dan menterjemahkan
perintah bytecode menjadi perintah bahasa mesin yang dapat dieksekusi mesin.
Bahasa java (implementasinya) telah memperoleh pengalaman aspek keamanan dari
APPLET JAVA, cara kerja applet sebagai berikut :
JAVA menggunakan model pengamanan tiga lapis (three-layer security) untuk melindungi
system dari untrusted java code :
1.Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin
bytecode memenuhi aturan aturan pemrograman bahasa java
2.Kedua, class loader menangani pemuatan kelas java ke Runtime Interpreter
3.Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan
mengendalikan apakah program berhak mengakses sumber daya seperti system file,
port, jaringan
proses external dan windowing.
Platform independence adalah kemampuan program bekerja di sistem operasi atau
sistem komputer berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak
bergantung pada platform.
BAHASA INDEPENDENT THDP FLATFORM
BAHASA MULTITHREADING
BAHASA YANG DIDUKUNG GARBAGE
COLLECTOR
Tipe variabel Java mempunyai ukuran yang sama di semua platform sehingga variabel
bertipe integer (int, long) berukuran sama tidak peduli dimana program Java dikompilasi.
Juga terhadap penggunaan Java applet di web adalah sama sekali tidak memerlukan
perubahan sedikit pun terhadap file .class yang dihasilkan agar dapat dieksekusi di
platform manapun. Begitu telah tercipta file .class dengan menggunakan kompilator Java
di platform manapun, maka file .class tersebut juga dapat dijalankan di platform
manapun. Jadi dimanapun dibikin, dimanapun dapat dijalankan.
Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di
satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread,
program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga
memungkinkan program menangani beberapa tugas secara konkruen. Semua aplikasi
pasti sedikitnya mempunyai satu thread yang merepresentasikan jalur utama eskekusi.
Program Java melakukan garbage collection yang berarti pemrogram tidak perlu
menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban
pengelolan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber
kesalahan terbesar yang terdapat di bahasa yang memungkinkan kesalahan alokasi
dinamis.
Java interpreter memeriksa semua akses sistem yang dilakukan. Program Java tidak
dapat menyebabkan crash terhadap sistem.
BAHASA YANG TANGGUH
Java mempunyai mekanisme execption-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 menjadi lebih tegar. Ketika kesalahan yang serius ditemukan,
program Java menciptakan execption. Exception dapat ditangkap dan dikelola program
tanpa resiko membuat sistem menjadi down.
Program Java mendukung native method, yaitu fungsi ditulis di bahasa lain, biasanya
C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat
dieksekusi lebih cepat dibanding fungsi ekivalen di Java. Native method secara dinamis
akan di-link ke program Java, yaitu diasosiasikan dengan program saat jalan.
BAHASA YANG MAMPU DIPERLUAS
Bahasa mempunyai banyak fitur modern yang ampuh untuk pengelolaan sistem
kompleks. Namun perlu diingat bahwa bahasa Java tetap hanya bahasa pemrograman
sekedar kakas. Seluruh kakas pengembangan tetap memerlukan pengembang
(pemrogram) yang mampu menggunakannya.
Java Development Kit (JDK) berisi sekumppulan kakas baris perintah ( command-line tool
) untuk menciptakan program Java.
Berikut adalah daftar komponen utama Java Development Kit (JDK) :
JAVA DEVELOPMENT KIT (JDK)
1. Komppilator (javac)
2. Interpreter program java (java)
3. Applet viewer (appletviewer)
4. Debugger (jdb)
5. Class file disassembler (javap)
6. Header and stub file generator (javah)
7. Documentation generator (javadoc)
8. Applet demo
9. Kode sumber Java API
Program javac untuk mengkompilasi file kode sumber java menjadi kelas bytecode. File
kode sumber mempunyai ekstensi .java. Kompilator javac menghasilkan bytecode kelas
dengan ekstensi .class. Kompilator menciptakan satu file .class untuk tiap kelas yang di
definisakan di file sumber. Dengan demikian, dimungkinkan satu file kode sumber Java
dikompilasi menghasilkan banyak file kelas .class.
KOMPILATOR
Sintak untuk menggunakan kompilator sebagai berikut :
Javac Options ProgramName
Interpreter merupakan modul utama sustem Java yang digunakan aplikasi java.
Interpreter untuk menjalankan program bytecode Java. Interpreter bertindak sebagai
kakas baris perintah untuk menjalankan baris java non grafis. Program grafis
memerlukan tampilan yang di dukung browser dan system operasi
Sintaks untuk menjalankan interpreter sebagai berikut
INTERPRETER
Java Options ClassName Arguments
•Argument ClassName menspesifikan nama kelas yang ingin di eksekusi. Ketika
interpreter mengeksekusi satu class, yang di lakukanya adalah mengeksekusi metode
main() di kelas itu. Interpreter keluar ketika metode main() dan thread-thread yang di
ciptakan telah berakhir di eksekusi.
•Argumen Options menspesifikasikan options cara interpreter mengeksekusi program
java
Adalah KAKAS untuk pengujian JAVA APPLET secara minimal
Baris Perintah untuk menjalankan APPLET Viewer adalah :
applviewer Options URL
APPLET VIEWER
JAVA DEBUGGER (jdb)
Argumen Options menspesifikasikan cara menjalankan Java Aplet. Hanya 1 option yang
didukung Applet Viewer adalah : -debug yang menyatakan menjalankan applet viewer di
Java Debugger yng memungkinkan melakukan debugging thdp Java applet.
Argumen URL menspesifikasikan doumen URL berisi halaman HTML dengan EMBEDDED
JAVA APPLET.
Adalah Utilitas baris perintah untuk melakukan debugging aplikasi.
Sintaks untuk menjalankan Java debugger sbb.:
jdb Options
Argumen Options menspesifikasikan cara menjalankan java debugger
JAVA CLASS FILE DISASSEMBLER (javap)
Java class disassembler (javap) digunakan untuk melakukan
penguraian (disassemble) terhadap file .class. Keluaran default aktivitas
disassemble adalah berisi daftar dari publik (public class) dan metode publik
(public methode) di kelas. Class file disassembler berguna ketika kode sumber
dari kelas tidak dimiliki. Dengan demikian data dan metode publik dapat
diketahui sehingga kelas tersebut dapat digunakan. Sintaks untuk disassembler
adalah sebagai berikut :
javap Options ClassNames
- Argumen Options menspesifikasikan cara yang digunakan untuk disassemble.
- Argumen ClassNames menspesifikasikan nama satu kelas atau lebih yang akan
didisassemble.
JAVA HEADER and STUB FILE GENERATOR
(javah)
Java header and stub file generator (javah) adalah alat yang
digunakan untuk menghasilkan C header dan file kode sumber untuk
implementasi metodemetode
Java dalam bahasa C. Filefile
yang dihasilkan
dapat digunakan untuk mengakses variabel anggota objek yang ditulis dengan
bahasa C. Java header and stub file generator menghasilkan struktur C dengan
layout kelas Java. Sintaks untuk menggunakan Java header and stub file
generator adalah sebagai berikut :
javah Options ClassNames
- Argumen options menspesifikasikan cara filefile
sumber dihasilkan. Argumen
namaKelas adalah nama kelas yang perlu dihasilkan filefile
sumber bahasa C.
JAVA DOCUMENTATION GENERATOR
(javadoc)
Java documentation generator (javadoc) adalah alat yang digunakan
untuk menghasilkan dokumentasi API secara langsung dari kode sumber Java.
Java documentation generator melakukan parsing file sumber Java dan
menghasilkan halaman html berdasarkan deklarasi dan komentar. Sintaks untuk
menggunakan Java documentation generator adalah sebagai berikut :
javadoc Options FileName
- Argumen Options menspesifikasikan cara file-file sumber dihasilkan
- Argumen FileName menghasilkan paket atau file kode
DEMO
KODE SUMBER JAVA API
JDK juga berisi contoh Proggram Java, semuanya disertai kode sumber
JDK disertai kode sumber lengkap utk semua kelas yang membentuk JAVA API. Kode
sumber API secara otomatis dipasang di hard drive saat melakukan dekompres JDK. Kode
sumber API terdapat di file bernama scr.zip berada di direktori java yang diciptakan di
hardirive selama instalasi Java.
public class HelloWorldToy {
public static void main (String args []) {
System.out.println (“Hello World”);
}
}
Program "HELLO WORLD"
PENJELASAN PROGRAM DI ATAS
public class Hello {
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
•Kata kunci public disebut access modifier yang mengendalikan ketampakkan terhadap
bagian-bagian program yang lain dalam menggunakan kode ini.
•Kata kunci class, segala sesuatu di program Java adalah berada di dalam suatu kelas.
Berkenaan dengan contoh program sederhana diatas, nama class-nya adalah Hello.
•Setelah kata kunci class adalah nama kelasnya. Nama kelas harus dimulai dengan huruf,
setelah itu boleh kombinasi huruf dan angka. Dalam penamaan kelas tidak boleh
menggunakan kata yang dicadangkan (reserved word yang kebanyakan merupakan kata
kunci). Konvensi untuk penamaan kelas adalah kata benda dimulai dengan huruf capital
(besar) di awal kata yang berarti.
•Class tersebut memiliki fungsi main() dengan parameter variabel args dengan tipe array
dari String. Fungsi main ini yang akan mengeksekusi statement System.out.println (“Hello
World!”); untuk menampilkan kata Hello World! ke console.
•Pasangan kurung kurawal merupakan awal dan akhir badan dari metode. Di Java tiap
kalimat harus diakhiri dengan titik koma (; semicolon). Ekspresi diatas memanggil fungsi
atau metode println() di objek out yang berada di objek System. Objek out merupakan
standar output. Sementara kelas System adalah kelas yang melindungi atau
mengkapsulkan seluruh fungsionalitas sistem.
Sintaksnya : public static void main (String args[]) {
FUNGSI main()
fungsi main() harus ditetapkan sebagai berikut :
a. public berarti metode dapat dipanggil dari manapun di dalam dan diluar kelas
b. static berarti sama untuk seluruh instan dari kelas
c. void berarti metode tidak mengirim apapun setelah selesainya.
Fungsi main() dapat mempunyai argumen yang diambil dari lingkungan eksekusi.
Argumen args[] adalah array objek string argumen-argumen baris perintah yang di
lewatkan ke kelas yang dieksekusi, dan kelas Hello mengabaikan seluruh argumen baris
perintah.
DIAGRAM UML
1. DIAGRAM KELAS (CLASS DIAGRAM)
2. DIAGRAM DINAMIS
2.A. DIAGRAM SEKUEN
3. DIAGRAM KOMPONEN
Untuk mengekspresikan model orientasi objek di beragam level abstraksi mulai level
KONSEPTUAL sampai level IMPLEMENTASI dan pandangan : STATIS dan DINAMIS
Menunjukkan keberadaan kelas-kelas dan hubungan-hubungannya.
1. DIAGRAM SEKUEN (SEQUENCE DIAGRAM)
2. DIAGRAM KOLABORASI (COLLABORATION DIAGRAM)
Pandangan grafis satu skenario yg menunjukkan interaksi objek dalam basis waktu, yaitu
mana yg lebih dhaulu terjadi dan mana yg berikutnya. Bagus utk dkembangkan di tahap
awal analisis karena sederhana dan mudah dipahami
Menyediakan pandangan fisik
Tipe-Tipe Aplikasi yang Ada di Java
1. Aplikasi Berbasis Window
Aplikasi berbasis teks dieksekusi lewat promt atau shell saja untuk menjalankannya,
namun aplikasi berbasis teks ini justru bisa menjadi sangat kompleks dan canggih,
misalnya :
1.Apache-Jakarta-Tomcat yang sepenuhnya ditulis dengan bahasa Java merupakan
webserver yang mempunyai kemampuan Java Servlet dan Java Server Pages.
2.Apache-Jboss merupakan aplikasi server yang mampu memberi kemampuan
middleware aplikasi tersebar n-tier berbasis EJB (Enterprise Java Beans).
JAVA menyediakan fasilitas Swing (mrpkn bagian JFC-Java Foundation Calsses) ygn
memberi kemampuan berbasis Grafis (GUI-Graphical User Interface) yg portabel
2. Applet
merupakan aplikasi/program berbentuk bytecode yang akan diinterpretasikan di web
browser.
3. Tipe aplikasi java yang lain
1. Java Server Pages
merupakan bahasa scripting serupa dengan PHP, seperti ASP, Java mampu langsung
ditempelkan di halaman HTML untuk menghasilkan efek tampilan di web browser. Java
Server Pages merupakan aplikasi sisiserver sehingga web browser tidak dibebani
komputasi. Java Server Pages sepenuhnya mengikuti kaidah bahasa pemrograman Java
dan mampu menghasilkan kelas-kelas yang dihasilkan dari kompilasi Java.
2. Java Servlet
merupakan aplikasi apllet namun ada di sisi server (bukan web browser). Java Servlet
memberikan layanan yang diminta lewat web browser, dimana web server akan
mengeksekusi atau mendelegasikan sepenuhnya layanan ke suatu java servlet.
3. Java Beans
merupakan konsep model komponen yang ada di Java.
4. Eneterprise Java Beans
untuk mengusung konsep n-tier computing
5. Java Micro Edition
merupakan pemrograman untuk membangun aplikasi pada handheld devices atau
perangkat genggam seperti handphone dan sebagainya.
Program java biasanya melewati lima fase yaitu :
SIKLUS PROGRAM JAVA
FASE 1
FASE 2
1. Edit
2. Compaile
3. Loading4.
5. Execute
Verify
Editing afile (penyuntingan file program) fase penyuntingan dilakukan dengan editor
teks. Pemrograman mengetik program sumber kemudian program sumber disimpan
sebagai file program sumber harus berekstensi (berakhiran) .java untuk identifikasi
ekstensi .java, mengidentifikasi file merupakan kode sumber dibahasa .java.
Compile (kompilasi program sumber)
Program memberikan perintah`:
javac <file kode sumber>
Perintah diatas memanggil kompilator java untuk menerjemahkan program sumber
menjadi bytecode. Serangkaian instruksi yang dipahami java interpreator untuk
mengompilasi file program nama file .java, maka kita ketikkan perintah (prompt atau MSDOS di windows) javac nama file .java.
Jika javac mengkompilasi dengan benar maka kompilator javac akan
menghasilkan file bernama, nama file .class, file ini berisi bytecode yang akan
diinterpresikan selama fase eksekusi.
LOADING
FASE 3
Program yang dieksekusi (class) harus lebih dalam berada dimemori
sebelum dieksekusi. Aktifitas pemuatan ke memori dilakukan class loader dengan
mengambil file .calss berisi byte code dan mentransfer memori utama file .class dapat
dimuatkan dari disk system local atau jaringan
VERIFY
FASE 4
Begitu kelas dimemori byte code diverifikasi bytecode verifier, verifikasi ini
untuk menjamin sah dan tidak melanggar batasan keamanan java .java memaksakan
keamanan secara ketat agara program darai jaringan tidak merusak system local milik
kita sebagaimana virus dapat melakukannya
EXECUTE
FASE 5
Interpreter dibwah kendali system operasi menginterpretasikan satu
bytecode, satu saat dan melakukan aksi-aksi yang dispesifikasikan bytecode.
Dalam 5 FASE itu, pemrogram peduli dengn 3 FASE AKTIVITAS, yaitu :
1. Penyuntingan menggunakan editor teks
2. Kompilasi menggunakan javac
3. Eksekusi menggunakan :
a. java interpreter (java) untuk aplikasi
b. web browser atau appletviewer untuk applet.
DUA JENIS PROGRAM BERBEDA
APLIKASI
APPLET
1. APLIKASI ; 2. APPLET
Program yg disimpan dan dieksekusi komputer lokal.
Program di komputer jauh yang di koneksi lewat web browser.
JAVA INTERPRETER (java) AKAN MENJALANKAN INTERPRETER YNG
MENGINTERPRETASIKAN APLIKASI WelcomToy dan menyebabkan class loader
memuatkan program bytecode WelcomeToy.class
PROSES PENEMUAN ORGANISASI PROGRAM
1. LEXICAL ANALYZER, melakukan analisa leksik (kexical analysis) atau pemindaian (scan)
untuk mencari sekuen karakter disbut TOKEN, membentuk identifier, operator dsb.
2. PARSER, melakukan parsing bertanggung jawab utk menemukan level organisasi lebih
tinggi di sekuen token yang menghasilkan lexical analyzer.
elemen terkecil di program yang mempunyai arti bagi kompilator.
Token Java dibagi 5, yaitu:
TOKEN
1.Identifier
2.Keyword
3.Literal
4.Operator
5.Separator
Identifier adalah token yang merepresentasikan nama. Dalam Java, identifier adalah
nama yang diberikan untuk variable, class, atau method. Identifier boleh dimulai dengan
huruf, underscore (_) atau tanda dollar ($). Identifier adalah case sensitive (membedakan
huruf besar/ kecil) dan tidak ada batas maksimum.
Contoh :
IDENTIFIER
username
user_name
_sys_var1
$change
Harus mempunyai tipe. Kita mendeklarasikan variabel dengan menempatkan tipe lebih
dahulu, diikuti nama variabel
Contoh :
VARIABEL
KONSTANTA
KEYWORD
LITERAL
LITERAL INTEGER
LITERAL FLOATING-POINT
double salary;
long distance;
boolean flag;
int nrDays;
int i,j,k;
Nama adalah case-sensitive sehingga Big box, bigbox adalah berbeda.
Menggunakan kata kunci (keyword) final untuk menunjukkan konstanta.
Nama Konstanta adalah huruf BESAR seluruhnya, misalnya :
final double PHI = 3.14
final double CM_PER_INCH = 2.54
Pendefinisian konstanta dilakukan di luar metode main (). Dengan demikian konstanta
dpt digunakan di metode2 lain di kelas yang sama.
<Nama Kelas>.<Nama Konstanta>
Keyword (kata kunci) adalah dentifier yang digunakan dalam Java untk suatu tujuan
khusus. Daftar keyword Java sebagai berikut:
abstract, Boolean, Break, Byte, byvalue, Case, Catch, Char, Class, Const, continue, default,
Do, double, else, extends, false, final, finally, float, for, goto, if, implements, import,
instanceof, In, Interface, Long, Native, New, Null, Package, private, protected, public,
return, short, static, Super, Switch, synchronized, This, threadsafe, throwm Transient,
True, Try, Void, while.
Penulisan besaran untuk variabel adalah penting, literal Java terdiri dari angka, karakter,
dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating
point), dan boolean. Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan
0. KARAKTER selalu mengacu ke karakter UNICODE. STRING berisi rangkaian KARAKTER
Bilangan integer dapat mempunyai beberapa format berikut ;
1. DECIMAL (basis 10) sebagai blngan biasa tanpa notasi khusus.
2. HEXADECIMAL (basis 16), dimulai ox atau oX serupa dengan cara C/C++
3. OCTAL (basis 8), dimulai dengan o
Contoh :
Bilangan desimal 12 direpresentasikan :
a. 12 dalam DECIMAL
b. oxC dalam HEXADECIMAL
c. o14 dalam OCTAL
Contoh :
Bialngan 563.84 juga dapat diekspresikan sebagai 5.6384e2
LITERAL FLOATING-POINT
LITERAL KARAKTER
LITERAL STRING
Secara default bilangan floating point bertipe double 64-bit. Kita menggunakan float 32bit dengan menambah f atau F di akhir angka seperti : 5.6384e2f
direpresentasikan satu karakter unicode tunggal dan muncul di pasangan tanda petik
tunggal ('..'), karakter khusus direpresentasikan backslash ( \ ) diikuti kode karakter
Contoh :
karakter spesial \n adalah karakter untuk memaksakan baris baru
merepresentasikan banyak karakter dan muncul di dalam pasangan tanda petik ganda
("..")
Separator digunakan untuk menginformasikan ke komplator Java mengenai adanya
pengelompokkan di kode program. Berikut daftar separator yang digunakan dalam Java:
(...) Kurung / PARENTHESES
Untuk menghimpun parameter dalam definisi dan pemanggilan method, juga digunakan
untuk menyatakan tingkat pernyataan, menghimpun pernyataan, untuk pengaturan alur
program, dan untuk menyatakan tipe cast (cast types)
{...} Kurung Kurawal / BRACES
Untuk menghimpunnilai yang otomatis dimasukkan ke dalam array, digunakan juga
untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal.
SEPARATOR
[...] Kurung SIKU / BRACKETS
Untuk menyatakan tipe array dan untuk membedakan nilai array.
; Titik Koma / SEMICOLON
Mengakhiri Pernyataan.
, Koma / COMMA
Pemisah urutan identifier dalam deklarasi variabel dan untuk merangkai pernyataan di
dalam kalimat for
. Titik / PERIOD
Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel
atau method dari variabel referensi.
WHITESPACE
KOMENTAR
Terdiri dari spasi, tab, dan tanda ubah garis / linefeed
Aturan whitespace sbb. :
SpaceCharacter
HorizontalTabCharacter
FormFeedCharacter
LineTerminator
EndOfFileMarker
Jenis komentar :
/* komentar */ : seua karakter diantara itu akan diabaikan
// komentar : semua karakter seteah itu sampai akhir naris akan diabaikan
/** komentar **/ : digunakan kakas javadoc untuk menciptakan dokumen
TIPE DATA
JAVA ADALAH STRONGLY TYPE LANGUAGE
KATEGORI TIPE DATA
Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan
cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel
di memori karena tipe data variabel menentukan cara kompilator menginterpretasikan isi
memori
1. Setiap variabel hrs mempunyai tipe
2. semua penugasan, baik eksplisit atau via pelewatan parameter melewati pemeriksaan
kompatibiliti tipe
3. kompilatr java memeriksa semua ekspresi dan parameter
Tipe data dalam Java dibagi 2 kategori:
1. Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini tidak
diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe primitive. Terdapat 8
tipe tipe sederhana dan dipisahkan dalam 4 kelompok:
A. Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte, short, int, dan long.
B. Dua untuk tipe angka titik mengambang (floating point) atau bilangan pecahan: float
dan double.
C. Satu untuk tipe karakater yaitu char, mewakili simbol pada himpunan karakter seperti
tulisan dan angka.
D. Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan besaran logika
(nilai-nilai logika).
2. Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain
yang telah ada. Tipe ini antara lain: string, array, class, dan interface.