Anda di halaman 1dari 7

Perbedaan dan persamaan Keywords Java

dengan Keywords C++


1. PERBEDAAN JAVA DENGAN C++
Dibawah ini akan dijelaskan perbandingan bahasa pemrograman Java dengan bahasa
pemrograma C++ dari berbagai aspek, sebagai berikut;

1.1 PERBEDAAN TUJUAN PENDESAINANNYA


Perbedaan antara bahasa pemrograman Java dengan bahasa pemrograma C++ dapat ditelusuri
dari sistem pewarisannya, karena mereka memiliki desain yang berbeda tujuannya :
 C++ didisain tertutama untuk sistem pemrograman, mengembang-kan bahasa pemrograman C.
Untuk itu prosedur bahasa pemro-graman didisain untuk eksekusi program yang lebih efisien,
pada C++ telah ditambahkan penunjang untuk program berorientasi objek dengan jenis statis,
kecuali dalam hal pengendaliannya, mencakup pengaturan sumber daya dan pemrograman
generik, khsususnya juga ditambahkan ”standard library” termasuk algoritma dan isi program
generik.

 Java pada awalnya dirancang untuk mendukung jaringan kom-puter. Java dipercaya sebagai
mesin virtual yang aman dan sangat mudah. Java dibendel dengan desain library yang luas
untuk menyediakan abstraksi yang lengkap dari suatu platform. Java adalah bahasa
pemrograman berorientasi objek berjenis statis yang penggunaan syntaxnya mirip dengan
bahasa pemrograman C, tapi tidak kompatibel dengannya. Java didisain dari awal, dengan
tujuan agar mudah digunakan dan dapat diakses oleh khalayak yang lebih luas.

1.2 PERBEDAAN TUJUAN PENGEMBANGANNYA


Perbedaan tujuan pengembangan bahasa pemrograman Java dengan bahasa
pemrograma C++, mengakibatkan perbedaan prinsip dan per-bedaan desain antara
masing-masing bahasa pemrograman tersebut.

C++ Java

Kurang lebih kompatibel dengan Didisain dari awal tidak kompatibel


bahasa sumber (source code) dengan bahasa pemrograman manapun.
bahasa C.

Memungkinkan panggilan Panggilan melalui Java Native


langsun ke sistem perpustakaan Interface.
asli (native system libraries).

Dijalankan dengan fasilitas sistem Dijalankan dengan mesin virtual yang


keamanan yang rendah. aman (terlindungi).

Mendukung aritmatik yang tak  Tidak mendukung aritmatik yang tak 


ter-daftar. terdaftar.
Tidak ada batasan standard atau Pembatasan stardard dan ukuran untuk 
ukuran untuk semua jenis tipe semua jenis data.
data numerik. Hanya diberikan
ukuran relatif.

Parameter yang digunakan dapat Parameter yang digunakan selalu


dengan value, pointer atau refe- denganvalue, walaupun objek diakses
rence. melalui references akan diubah ke
value terlebih dulu, tidak langsung dari
objek tersebut.

Pengaturan memory melalui pihak  Pengumpulan sampah secara otomatis,


ketiga yang menyediakan walaupun demikikan secara manual
pengum-pulan sampah (garbage dapat diatur oleh programmer.
collection).

Standard Library C++ mempunyai Standard Library Java berkembang


lebih banyak pengaturan dan sesuai masing-masing release/ versi.
fungsi dari standard library pada
Java.

Pewarisan majemuk. Pewarisan tunggal, bila dibutuhkan


pewarisan majemuk hanya dapat
melalui interface.

Bahasa pemrograman C++ sangat tangguh tetapi rumit, sedangkan bahasa


pemrograman Java dirancang lebih sederhana (dan oleh kare-nanya lebih mudah
dipelajari).

1.3 PERBEDAAN UMUM


 Pada Java, manajemen memory dinamis dan pointer dilakukan secara otomatis.
Otomatisasi ini menghilangkan kemungkinan bagi penggunaan pointer yang dapat
merusak kestabilan program dan sistem operasi. Pada C/ C++ pemrogram melaku-
kan sendiri alokasi dan dealokasi memory.

 Java tidak mengenal multiple inheritance seperti pada C/ C++. Multiple inheritance
pada C/ C++ membingungkan dan berakibat pada sulitnya pembuatan aplikasi dan
compiler. Sebagai ganti yang lebih baik, Java menggunakan interface.

 Java menggunakan bahasa OOP murni sedangkan C++ adalah bahasa OOP hybrid
(dapat menggunakan model OOP maupun procedural).

 Java menggunakan model Exception dalam menangani kesa-lahan program.

 Java tidak menggunakan compiler-directive pada source code.


 Java memiliki fasilitas garbage collection yang bekerja secara otomatis untuk 
menjamin ketersediaan memory dengan membe-baskan memory yang tidak terpakai
lagi.

 Java sangat portable, baik file sumbernya maupun hasil kom-pilasinya. Hal ini
 berbeda dengan C/ C++ yang hanya portable pada level kode sumbernya saja, itupun
dengan melakukan kodifikasi ketika dipindahkan ke platform yang berbe da.

 Spesifikasi bahasa dan implementasi Java sudah ditetapkan dan tidak mengikuti suatu
mesin atau platform tertentu. Hal ini berbeda dengan C/ C++ yang sangat
tergantung pada mesin dan platform yang akan digunakan.

2. PERBEDAAN KEYWORDS JAVA DENGAN C++


2.1 KEYWORDS JAVA 
Berikut ini adalah daftar keyword pada JAVA yang berbeda dengan C++ bersama
dengan deskripsi singkat tentang fungsi-fungsi keyword tersebut:

 Abstract
 Abstract adalah kata kunci digunakan untuk menyatakan kelas atau metode untuk 
menjadi Abstract. Sebuah metode abstrak tidak memiliki implementasi; semua kelas
 yang berisi metode abstrak harus diri mereka abstrak, walaupun tidak semua kelas
abstrak memiliki metode abstrak.Objek dari kelas yang abstrak tidak dapat
instantiated, tetapi dapat diperpanjang oleh kelas lain. Semua subclass dari kelas
abstrak baik harus menyediakan implementasi untuk semua metode abstrak, atau
 juga harus abstrak.

 Assert
 Aserrt kata kunci yang ditambahkan dalam J2SE 1,4, digunakan untuk membuat
pernyataan yang programmer percaya selalu benar di titik dalam program. Jika
pernyataan akan diaktifkan ketika program dijalankan dan ternyata bahwa
pernyataan adalah palsu, suatu Assertion error dilemparkan dan program berakhir.
Kata kunci ini dimaksudkan untuk membantu dalam debugging .

Boolean
Boolean kata kunci digunakan untuk menyatakan suatubidang yang dapat
menyimpan suatu nilai boolean, yaitu, baik trueatau false. Kata kunci ini juga
digunakan untuk menyatakan bahwa metode yang mengembalikan nilai
tipe Boolean.

Byte
Byte kata kunci yang digunakan untuk menyatakan bidang yang dapat menyimpan
sebuah 8 – bit menandatangani dua complement integer. Kata kunci ini juga
digunakan untuk menyatakan bahwa suatu metode mengembalikan nilai tipe byte
Catch
Mendefinisikan sebuah handler pengecualian kelompok pernyataan yang dieksekusi
 jika pengecualian dilemparkan di blok ditentukan oleh sebelumnya try kata
kunci. Kode itu akan dijalankan hanya jika kelas pengecualian dilemparkan adalah
tugas kompatibel dengan kelas pengecualian dideklarasikan oleh catch klausa.

Class
Suatu jenis yang mendefinisikan implementasi dari jenis objek tertentu. Sebuah
definisi kelas mendefinisikan instance kelas bidang dan, metode, dan kelas
 batin serta menentukan antarmukakelas dan segera
mengimplementasikan superclass kelas. Jika superclass tidak secara eksplisit
ditentukan, superclass secara implicit object.

Extends
Digunakan dalam sebuah deklarasi kelas untuk menentukan superclass; digunakan
dalam deklarasi interface untuk menentukan satu atau lebih superinterfaces. Kelas X
 Y meluas kelas untuk menambah fungsionalitas, baik dengan menambahkan field
atau metode ke Y kelas, atau dengan meng-override metode kelas Y. Antarmuka Z
memperluas satu atau lebih interface dengan menambahkan metode. Kelas X
dikatakan sebagai subclass Y kelas; Interface Z dikatakan sebagai interface dari
interface itu meluas. Juga digunakan untuk menentukan batas atas sebuah
parameter ketik Generics.

Final
Mendefinisikan entitas sekali yang tidak dapat diubah atau berasal dari nanti. Lebih
spesifik: sebuah kelas akhir tidak dapat subclassed, metode akhir tidak dapat diganti,
dan variabel final dapat terjadi paling banyak sekali sebagai ekspresi kiri. Semua
metode di kelas terakhir secara implisit final .

Finaly 
Digunakan untuk mendefinisikan suatu blok statemen untuk blok yang ditetapkan
sebelumnya oleh try kata kunci. Yang finally blok dijalankan setelah keluar eksekusi
try blok dan apapun yang terkait catch klausa terlepas dari apakah pengecualian
terlempar atau tertangkap, atau eksekusi meninggalkan metode di tengah try atau
catch blok menggunakan return kata kunci.

Implement
Termasuk dalam sebuah deklarasi kelas untuk menentukan satu atau
lebih interface yang diimplementasikan oleh kelas saat ini. Kelas A mewarisi jenis
dan metode abstrak dinyatakan oleh interface.

Import
Digunakan pada awal sebuah file sumber untuk menentukan kelas atau
seluruh paket JAVA untuk disebut kemudian tanpa termasuk paket-paket mereka
nama-nama dalam referensi. Sejak J2SE 5.0, import laporan dapat mengimpor static
anggota kelas.

Instanceof 
Sebuah operator biner yang menggunakan sebuah referensi obyek sebagai operan
pertama dan kelas atau antarmuka sebagai operan kedua dan menghasilkan hasil
Boolean. operator bernilai true jika dan hanya jika jenis objek runtime adalah tugas
kompatibel dengan kelas atau interface.

Interface
Digunakan untuk menyatakan tipe khusus kelas yang hanya berisi metode abstrak,
konstan ( static final ) Bidang dan static interface. Hal ini nantinya dapat
diimplementasikan oleh kelas yang menyatakan antarmuka dengan implements kata
kunci.
Native
Digunakan dalam deklarasi metode untuk menentukan bahwa metode ini tidak 
diimplementasikan dalam file sumber Jawa yang sama, melainkan dalam bahasa
lain.

New 
Digunakan untuk membuat sebuah instance dari sebuah kelas atau array.

Package
Sekelompok jenis. Paket dinyatakan dengan package kata kunci.

Private
Private kata kunci yang digunakan dalam pembagian lapangan, metode, atau kelas
 batin; anggota swasta hanya dapat diakses oleh anggota lain dari kelas mereka
sendiri.

Protected
Protected kata kunci yang digunakan dalam pembagian lapangan, metode, atau kela s
 batin; anggota yang dilindungi hanya dapat diakses oleh anggota kelas mereka
sendiri, bahwa kelas itusubclass atau kelas yang sama.

Public
Public kata kunci yang digunakan dalam deklarasi metode, kelas, atau bidang, kelas
umum, metode, dan bidang dapat diakses oleh anggota dari setiap kelas.

Static
Digunakan untuk menyatakan sebuah lapangan, metode atau kelas batin sebagai
 bidang kelas. Kelas mempertahankan satu salinan bidang kelas terlepas dari berapa
 banyak contoh yang ada dari kelas itu. static juga digunakan untuk mendefinisikan
sebuah metode sebagai metode kelas. Kelas metode yang terikat ke kelas, bukan ke
contoh spesifik, dan hanya dapat beroperasi pada kolom kelas. (Kelas dan interface
dideklarasikan sebagai static anggota lain kelas atau interface sebenarnya top-level
kelas dan tidak inner class.)

Strictfp
Sebuah Java kata kunci yang digunakan untuk membatasi presisi dan pembulatan
perhitungan floating point untuk memastikan portabilitas.

Super
Digunakan untuk mengakses anggota kelas diwariskan oleh kelas di mana ia muncul.
Memungkinkan subclass untuk mengaksesditimpa metode dan anggota tersembunyi
dari superclass nya. Super kata kunci juga digunakan untuk meneruskan panggilan
dari konstruktor ke konstruktor di superclass. Juga digunakan untuk menentukan
 batas bawah pada sebuah parameter ketik Generics.

Synchronized
Digunakan dalam deklarasi atau blok kode metode untuk mendapatkan mutex kunci
untuk objek sedangkan saat benang mengeksekusi kode. Untuk metode statis, objek 
terkunci adalah kelas ' Class . Menjamin bahwa paling banyak satu thread pada
 waktu operasional pada obyek yang sama mengeksekusi kode tersebut. Kunci mutex
if (c==red) printf (“is red \n”) ;}

Far
Tipe modifiler “far” bukan merupakan bagian dari standar ANSI C , tipe ini dipakai
oleh compiler yang didesain digunakan pada seri processor 8086. “far” memaksa
 variabel pointer untuk mengunakan 32-bit lebih banyak dibandingkan dengan 16-bit
pengalamatan.

Float
”float” adalah tipe data specifier yang digunakan untukmembuat variable floating-
point.

For
Loop ”for” memungkinkan pemberian huruf awal dan kenaikan secara otomatis
dari variable counter. Berikut ini bentuk yang bisa dipakai:

for (initialization; condition; increment) {


statement block }

 jika block ”statement” hanya satu perintah, maka tanda kurung tidak diperlukan.
Meskipun”for” memungkinkan suatu variasi angkan tetapi pada umumnya
”initialization” digunakan untuk menset variable counter pada angka pemulanya.
”condition” pada umumnya adalah suatu perintah relational yang mengontrol
 variable counter terhadap angka akhir, dan ”increment” menaikan (atau
menurunkan) variable counter. Sangat penting untuk diketahui bahwa jika
”condition” salah, maka body ”for” tidak akan berjalan , meskipun hanya satu
kali.
Code berikut ini akan mencetak pesan ”Hello” 10 kali

for (t=0; t<10; t++) printf (”Hello/n”);

Goto
Keyword ”goto” akan menyebabkan pembuatan program ”melompat” pada label
 yang ditentukan dengan perintah ”goto”. Berikut ini bentuk yang biasa dipakai
pada ”goto”.

goto label;
.
.
.
label
Seluruh label harus diakhiri dengan tanda titik koma, dan tidak boleh konflik dengan
nama-nama keyword atau fungsi. Lebih lajut, ”goto” hanya dapat bercabang dalam
fungsi yang tersedia bukan dari satu fungsi ke fungsi lainnya.

If 
Berikut ini bentuk yang biasa dipakai pada perintah ”if”
if (condition) {
statement block 1
}
else {
statement block 2
}
Jika yang digunakan dalah perintah tunggal, maka tanda kurung tidak 
diperlukan. ”else”adalah optional.
Suatu kondisi dapat berupa expresi apapun. Jika expresi tersebut mengevaluasi
angka selain nol, maka akan dibuat ”statement block 1” sebaliknya jika yang
dievaluasi angka nol, maka akan dibuat ”statement block 2”.

Int
”int” adalah tipe specefier yang digunaka untuk membuat variable integer.

Interrupt
Specifier tipe ”interrupt” baukan merupakan bagian dari standar ANSI, type ini
digunakan untuk membuat fungsi-fungsi yang akan digunakan sebagai rutin
pelayanan interrupt.

Long
”long” adalah tipe data modifier yang digunakan untuk membuat variable ”integer”
menjadi ”double-lenght”.
Switch
Perintah ”switch” adalah bagian dari beberapa perintah yang ada pada C. Perintah
ini digunakan untuk pembuatan rute satu dengan beberapa cara yang berbeda.

 Void
Type specifier ”void” pada pokoknya digunakan untuk secara jelas
mendeklarasikan fungsi yang tidak mengembalikan suatu nilai (dalam arti penuh),
tipe ini juga digunakan untuk membuat pointer ”void” (pointer pada ”void”), yaitu
pointer generic yang dapat menunjukan beberapa tipe object.

 Volatile
modifier ”volatile” digunakan untuk memberitahu compiler bahwa suatu variable
mungkin telah mempuyai suatu isi yang telah dipilih dengan cara yang tidak 
ditentukan oleh suatu program. Contoh variable- variable yang diubah dengan
hadware seperti ”realtime clock”,”interrupt” atau input-input yang lain, harus
dinyatakan sebagai volatile.

 While
Loop ” while” mempunyai bentuk yang biasa dipakai yaitu sebagai berikut :
 while (condition) {
statement block }
Jika suatu perintah tunggal adalah object dari ” while”, maka tanda kurung dapat
dihilangkan. ” while” akan menguji kondisinya pada bagian atas suati loop. Oleh
sebab itu jika kondisinya salah untuk memulai, maka loop tidak akan berjalan,
meskipun hanya sekali. Kondisi tersebut mungkin dapat berupa suatu ekspresi.

Anda mungkin juga menyukai