SlideShare une entreprise Scribd logo
1  sur  54
TUGAS MANDIRI
TIPE DATA DAN OPERASINYA
PADA JAVA
MATA KULIAH : KONSEP SISTEM INFORMASI
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS PUTERA BATAM
2013
Nama :Asep Jaenudin
NPM : 120210034
Kode Kelas : 122-SI111-M5
Dosen : Cosmas Eko Suharyanto, S.Kom.
i
KATA PENGANTAR
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah
menganugerahkan rahmat, karunia serta ridha-Nya, sehingga saya dapat
menyelesaikan makalah Tugas mandiritentang ”Tipe Data dan Operasinya Pada
Java”. Makalah Tugas mandiriini disusun sebagai salah satu Tugas makalah pada
mata kuliah Konsep Sistem Informasi.
Dalam penulisan makalah ini, saya telah banyak menerima bimbingan dan
saran-saran dari berbagai pihak. Maka pada kesempatan ini saya ingin
mengucapkan terima kasih yang setulusnya kepada:
1. Bapak Cosmas Eko Suharyanto, selaku Dosen mata kuliah Konsep Sistem
Informasi di Universitas Putera Batam yang telah banyak memberikan
penjelasan teori yang berkaitan dengan tugas makalah ini.
2. Rekan-rekan serta semua pihak yang tidak dapat penulis sebutkan satu
persatu yang telah membantu saya dalam pembuatan makalah ini.
Akhirnya saya berharap makalah ini dapat berguna dan dapat
dipergunakan sebagaimana mestinya. Saya mengharapkan kritik dan saran untuk
kemajuan di masa-masa mendatang. Atas perhatiannya sayaucapkan terima kasih.
Batam, 28Mei 2013
Penyusun
ii
DAFTAR ISI
KATA PENGANTAR......................................................................................... i
DAFTAR ISI........................................................................................................ ii
DAFTAR GAMBAR........................................................................................... iii
DAFTAR TABEL ............................................................................................... ii
BAB I. PENDAHULUAN................................................................................... 1
1.1 Latar Belakang......................................................................................... 1
1.2 Landasan Teori......................................................................................... 2
1.3 Rumusan Masalah.................................................................................... 3
1.4 Tujuan Penulisan...................................................................................... 3
BAB II. PEMBAHASAN.................................................................................... 4
2.1 Kelebihan dan Kekurangan Teknologi Java............................................ 4
2.1.1Kelebihan Teknologi Java....................................................................... 5
2.1.2Kekurangan Teknologi Java.................................................................... 5
2.2 Komponen Java........................................................................................ 6
2.2.1Lingkungan (Enterprise) Java................................................................. 7
2.2.2 Java Development Kit (JDK)................................................................ 7
2.3 Instalasi Java ............................................................................................. 8
2.4 Memulai Pemrograman Java.................................................................... 13
2.5 Variable dan Tipe Data Pada Java ........................................................... 15
2.5.1Jenis-jenis Variabel................................................................................. 17
2.5.2Literal...................................................................................................... 18
2.5.3 String, Objek dan Subrutin ................................................................... 22
2.6 Operator Pada Java ................................................................................... 29
2.7 Operasi dan Struktur Kontrol Pada Java.................................................. 36
2.8 Membuat Kode, Menguji, dan Mencari Kesalahan (debugging).............. 40
BAB III. PENUTUP............................................................................................ 47
3.1 Kesimpulan............................................................................................... 47
3.2 Saran ........................................................................................................ 47
DAFTAR PUSTAKA.......................................................................................... 48
iii
DAFTAR GAMBAR
1. Gambar 1. Instal JDK ...................................................................................... 8
2. Gambar 2. Custom JDK ................................................................................... 8
3.Gambar 3. Progress Instalasi JDK .................................................................... 9
4.Gambar 4. JCreator Setup Wizard..................................................................... 9
5.Gambar 5. JCreator License Agreement............................................................ 10
6.Gambar 6. Select Destination Location ............................................................. 10
7.Gambar 7. Select Menu Folder .......................................................................... 11
8.Gambar 8. Select Additional Tasks .................................................................... 11
9.Gambar 9. Ready to Install ................................................................................ 12
10.Gambar 10. Contoh Program Variabel dan Tipe Data (Out put).................... 21
11.Gambar 11. Contoh Program Kelas Math (Output) ........................................ 26
12.Gambar 12. Contoh Program Kelas String (Out put)...................................... 29
13.Gambar 13. Contoh Program Operasi Aritmatika (Out put)........................... 30
14.Gambar 14. Contoh Penerapan Operator Ternary (Out put).......................... 33
15.Gambar 15. Contoh penerapan operasi pemberi nilai (Out put)..................... 36
16.Gambar 16. Pengujian Sintaks Program Java 1.............................................. 40
17.Gambar 17. Pengujian Sintaks Program Java 2.............................................. 42
18.Gambar 18. Konfirmasi Debugging Perspective ............................................. 43
19. Gambar 19. Perspektif Mode Debugging........................................................ 43
20.Gambar 20. Tahap Menjalankan Program...................................................... 44
21.Gambar 21. Mengubah Isi Variabel ................................................................ 45
22. Gambar 22. Hasil Setelah Program Dijalankan............................................ 46
23. Gambar 23. Mengembalikan perspektif seperti semula................................. 46
iv
DAFTAR TABEL
1. Tabel 1. Tipe Data Primitif.............................................................................. 17
2. Tabel 2. Representasi Bilangan Real............................................................... 19
3. Tabel 3. Operator Aritmatika .......................................................................... 29
4. Tabel 4. Operator Pembanding, Boolean dan Kondisi.................................... 30
5. Tabel 5. Tabel Kebenaran Operasi Boolean AND .......................................... 31
6.Tabel 6. Tabel kebenaran operasi OR ............................................................... 32
7.Tabel 7. Tabel Kebenaran operasi NOT............................................................ 32
8.Tabel 8. Operator Pemberi Nilai....................................................................... 35
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada abad ke-21 ini, penggunaan teknologi jaringan dalam dunia komputer
sudah lumrah dan tidak terbantahkan lagi manfaatnya dalam mendukung berbagai
kegiatan manusia.Jaringan ini banyak dimanfaatkan untuk kegiatan pendidikan,
bisnis, militer, bahkan untuk game pun juga memanfaatkan jaringan sebagai
penghubung dua atau lebih PC yang digunakan untuk bermain game.
Tidak salah lagi jika banyak para programmer sekarang ini semakin kreatif
dalam membuat inovasi dalam membuat jaringan yang semakin efektif dan efisien
penggunaannya. Hal ini dikarenakan banyaknya permintaan dari client yang semakin
rumit permintaannya untuk kecepatan transfer data/informasi dalam jaringan itu
sendiri, sehingga dibutuhkan jaringan yang aksesnya cepat, tidak lelet, dan tentu saja
punya tingkat keamanan yang membuat client nyaman.
Penggunaan bahasa pemrograman java dalam dunia jaringan juga semakin
banyak kegunaannya, karena java merupakan bahasa pemrograman nomor satu dari
berbagai bahasa pemrograman yang sudah ada.Java merupakan bahasa pemrograman
populer yang dapat digunakan untuk mengembangkan beraneka ragam tipe aplikasi;
mulai dari aplikasi-aplikasi desktop, applet, aplikasi web berskala enterprise, dan juga
untuk perangkat-perangkat kecil seperti: pager, telepon selular, maupun PDA. Untuk
memenuhi kebutuhan tersebut, Java dikategorikan ke dalam tiga buah edisi: J2SE
(Java 2 Standard Edition) untuk mengembangkan aplikasi-aplikasi desktop dan applet
J2EE (Java 2 Enterprise Edition) untuk mengembangkan aplikasi-aplikasi berbasis
client/server berskala enterprise J2ME (Java 2 Micro Edition) untuk mengembangkan
aplikasi-aplikasi yang dapat dijalankan di dalam perangkat kecil.
1.2 Landasan Teori
Sejarah Java
Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank,
dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991.Mereka
membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini
2
pada awalnya disebut ―Oak‖ tapi kemudian diubah menjadi ―Java‖ pada tahun 1995
karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa
pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga
diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam
desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank
Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe
aslinya.
Java Modern
Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya
pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi
embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game,
aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa
C untuk mengeksi program yang ditulis dalam bahasa Java.Pada saat kompilasi
(perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut
diubah menjadi KODE BYTE.Kemudian pada saat eksekusi, JVM membaca kode
byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem
operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan
bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel,
tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), bytecode ini dapat
dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan
dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau
jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin
tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang
menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa
pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk
mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan
3
dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan
kemampuan yang lebih dibandingkan dengan interpretasi biasa.
1.3 Rumusan Masalah
Berdasarkan latar belakang yang diangkat, ditemukan beberapa permasalahan
yang kiranya akan menjadi bahasan pada penulisan makalah ini, diantaranya yaitu :
1. Apa saja keunggulan dan kekurangan Teknologi Java ?
2. Komponen apa saja yang terdapat dalam Java ?
3. Bagaimana Tahapan Instalasi Pemrograman Java ?
4. Bagaimana memulai Pemrograman Java ?
5. Apa saja variable dan tipe data pada Java?
6. Apa saja operator pada pemrograman Java?
7. Bagaimana operasi dan struktur kontrol pada Java?
8. Bagaimana Membuat kode, menguji, dan mencari kesalahan (debugging)?
1.4 Tujuan Penulisan
Makalah ini disusun dengan tujuan sebagai saran untuk mengetahui pesatnya
perkembangan teknologi computer di masa sekarang ini, salah satunya di dunia
pemrograman yang sekarang semakin banyak diminati.Selain itu, tujuan disusunnya
makalah ini adalah untuk memenuhi tugas mandiri mata kuliah Konsep Sistem
Informasi, dikarenakan Penulis masih berstatus sebagai mahaiswa Jurusan Teknik
Informatika, Universitas Putera Batam.
4
BAB II
PEMBAHASAN
2.1 Kelebihan Dan Kekurangan Pemrograman Java
Bahasa pemrograman lain yang telah ada sebelum Java lahir
sudah merupakan bahasa yang baik dan mudah dipelajari oleh
programmer profesional. Akan tetapi para programmer ini
menginginkan sesuatu yang baru yang memiliki banyak hal yang
menyelesaikan masalah mereka.Utamanya adalah keamanan kode
mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa
pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal
yang sering disebut sebagai Java-Buzzwords.Kata-kata ini menjelaskan berbagai fitur
tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima oleh
dunia perangkat lunak.Berikut ini adalah penjelasan serta keuntungan dari kata-kata
tersebut.
Seperti diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan
bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan
memudahkan programmer profesional untuk dapat mengerti lebih jelas tentang Java,
fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang
C++ dan konsep pemrograman berorientasi objek.
Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan
mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin.Tidak
hanya ini, penemu Java memastikan bahwa Java juga bermula dari bahasa
pemrograman dasar yang sudah ada pada saat itu.Kemudian mereka membuang
berbagai fitur yang rumit dan membingungkan.
Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang
berorientasi objek.Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi
kenyataan dan diterima oleh sebagian besar komunitas pemrograman.
Konsep berorientasi objek memungkinkan pembuatan software yang
kompleks, berbasis network, sehingga dapat disimpulkan bahwa teknologi Java
menghasilkan platform pembuatan perangkat lunak yang baik dan efisien serta
berorientasi objek.
5
2.1.1 Kelebihan Teknologi Java
Mulai dengan cepat: Java merupakan bahasa pemrograman berorientasi objek,
mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++.
Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa
program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat
lebih kecil dari program sama yang ditulis dalam bahasa C++
Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek
membuat program yang baik, dan automatic garbage collection membantu Anda
untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen
JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan
Anda menggunakan kode yang ada.
Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah
dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris
yang jauh lebih sedikit.
Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan
program Anda pada banyak platform dengan TIDAK menggunakan library yang
ditulis spesifik untuk platform tertentu.
Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java
dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan
secara konsisten pada platform apa saja.
Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna
program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem
pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda
selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan
melakukan instalasi secara otomatis.
2.1.2 Kekurangan Teknologi Java
Tulis sekali, perbaiki di mana saja – Masih ada beberapa hal yang tidak kompatibel
antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge
yang sampai sekarang tidak berfungsi pada Mac OS X.
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi
menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode
yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas,
6
metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft.NET Platform.
Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan
dan mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak.Penggunaan memori untuk program berbasis
Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti
C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).Biasanya ini bukan
merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend
memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih
harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
2.2 Komponen Java
 JVM (Java Virtual Machine)
Java dapat berjalan pada sebuah sistem operasi maka membutuhkan suatu
Java Virtual Machine (JVM).JVM sendiri terdiri dari Java Runtime
Environment (JRE) dan Java Development Kit (JDK).Sun Microsystems
mengeluarkan tiga kelas paket Java, yaitu J2-SE JRE (hanya berisi JRE), J2-
SE SDK (berisi JDK + JRE), dan J2-EE SDK (berisi JDK+JRE dan tools
untuk aplikasi enterprise).Untuk versi SE (Standard Edition) tersedia gratis
pada situs www.Java.com.
 IDE (Integrated Development Environment)
IDE (Integrated Development Environment) adalah sebuah editor
pemrograman sebuah bahasa.Untuk Java sendiri ada banyak IDE yang tersedia
dipasaran baik yang bersifat gratis (freeware) ataupun yang berbayar.Beberapa
IDE yang populer antara lain, JCreator (www.jcreator.com), Netbeans
(www.netbeans.org), JBuilder (www.borland.com/jbuilder), dan lain-lain.
Perlu diingat, suatu class merupakan unit yang paling mendasar, dalam
pemrograman Java adalah class adalah komponen aplikasi, yang menangani kode dan
data dalam pemrograman Java.
7
2.2.1 Lingkungan (Enterprise) Java
Kompiler Java mengkonversi kode sumber (source code) menjadi program
biner yang terdiri dari bytecode.Bytecode adalah instruksi mesin untuk JavaVirtual
Machine. Pada saat Anda mengeksekusi program Java, program yang disebut Java
interpreter memeriksa dan kemudian mengeksekusi perintah byte code dalam Java
Virtual Machine (JVM). Interpreter Java dapat dijalankan sebagai stand alone atau
menjadi bagian dari web browser seperti Netscape Navigator, Internet Explorer dan
Mozilla Firefox. Di dalam lingkungan Java, bisa membuat program apa saja seperti:
games, animasi, database dll. Java juga mudah dipelajari oleh siapa pun.
2.2.2 Java Development Kit (JDK)
Java Development Ki(JDK) berisi sekumpulan tools baris perintah (command-
line tool) untuk menciptakan program Java. Rilis JDK dapat di-download dari alamat
URL berikut: http://Java.sun.com/products/JDK/index.html.
Berikut adalah daftar komponen utama JDK:
1. Compilator (Javac). Kompilasi Javac menghasilkan file bytecode kelas dengan
ektensi .class. Kompilator menciptakan suatu file class untuk setiap kelas yang
didefinisikan di file sumber.
2. Interpreter program Java (Java). Interpreter untuk menjalankan program
bytecode Java.Interpreter bertindak sebagai alat bantu baris printah, untuk
menjalankan program Java non-grafis.
3. Applet viewer (applet viewer). Applet viewer adalah alat bantu untuk menguji
Java applet secara minimal.
4. Debugger (jdb). Java debugger (jdb) adalah untilitas baris printah untuk
melakukan debugging aplikasi Java.
5. Class file disassembler (Javap). Java class file disassembler (Javap) untuk
melakukan penguraian (disassemble) terhadap file class.
6. Header and stub file generator (Javah). Header and stub file generator (Javah)
untuk menghasilkan C header dan file kode sumber untuk implementasi
method-method Java dalam bahasa C.
7. Java documentation generator (Javadoc). Java documentation generator adalah
alat bantu untuk menghasilkan dokumentasi API secara langsung dari kode
sumber Java.
8
2.3 Instalasi Java Development Kit (JDK)
Pada JDK penulis menggunakan JDK 1.6 update 11-windows, setelah itu kita
klik setup JDK tersebut, kemudian beberapa saat akan tampil gambar sebagai berikut:
Gambar 1. Instal JDK
Kemudian pilih tombol Accept, beberapa saat kemudian akan menampilkan
gambar, sebagai berikut:
Gambar 2. Custom JDK
9
Setelah itu, langsung kita pilih tombol Next saja, maka akan menampilkan:
Gambar 3. Progress Instalasi JDK
Tunggu beberapa saat, sampai proses selesai. Kemudian dengan begitu Java
sudah terinstal pada komputer Anda dan langkah selanjutnya adalah bagaimana cara
mengintsal JCreator-nya. Yaitu:
Pertama jalankan program JCreator yang sudah download. Maka akan muncul
layar seperti gambar dibawah.
Gambar 4. JCreator Setup Wizard
10
Klik next, maka akan muncul layar seperti gambar dibawah.
Gambar 5. JCreator License Agreement
Klik I accept the agreement, kemudian tekan next. Setelah itu akan muncul
layar seperti gambar berikut:
Gambar 6. Select Destination Location
Klik next , karena itu destinasi installation dari JCreator secara default. Klik
OK jika muncul layar konfirmasi.
11
Gambar 7. Select Menu Folder
Klik next, untuk membuat Start Menu Folder.
Gambar 8.Select Additional Tasks
Jika ingin menyertakan shortcut, maka klik Create a desktop icon, selanjutnya
tekan next.
12
Gambar 9. Ready to Install
Jika sudah, klik install, tunggu hingga proses instalasi selesai.Klik Launch
JCreator, kemudian tekan Finish. Setelah itu secara otomatik akan muncul layar
setting JCreator.
Inilah step kunci dari instalasi JCreator. Ketika diminta mengenai destinasi
dari JDK, maka secara otomatis akan ada destinasi instalasi JDK jika telah
menginstall JDK sebelumnya. mengisi destinasi dari Java Documentation File. Cukup
cari dimana tempat menaruh file "docs" .
Destinasi JDK : C:..jdk1.6.0
Destinasi Java API : C:..jdk1.6.0docs
Atau jika menggunakan JDK versi 1.4, maka destinasinya adalah sbb:
JDK : C:j2sdk1.4.2_04
Java API : C:j2sdk1.4.2_04docs
Jika setelah menginstall tidak menemukan layar setting, maka ketika layar
JCreator telah muncul, masuk ke menu Option, lalu klik Configure. Kemudian pada
layar yang muncul, klik pilihan JDK Profiles.Kemudian, klik JDK yang terdapat
disana, lalu klik EDIT, yang terdapat disebelah kanan layar. Pastikan destinasi dari
JDK dan Documentation file. Kemudian klik OK, Apply, OK.
Catatan : Dalam penginstalan JCreator, Anda sebaiknya menginstal JDK
terlebih dahulu pada computer.
13
2.4 Memulai Pemrograman Java
Program komputer adalah rangkaian instruksi yang diberikan agar komputer
dapat bekerja.Suatu pekerjaan yang mungkin sederhana bagi manusia tidak dapat
dimengerti oleh komputer.Manusia harus memberikan petunjuk kepada komputer
bagaimana melakukan suatutugas dalam bentuk bahasa pemrograman. Bahasa
pemrograman berbeda dengan bahasa manusia, karena komputer membutuhkan
aturan yang lebih baku apa yang boleh dan apa yang tidak boleh dalam suatu bahasa
pemrograman. Aturan ini disebut sintaks bahasa.Sintaks bahasa pemrograman
ditentukan berdasarkan apa yang bisa dilakukan oleh komputer, misalnya loop
(perulangan), cabang (branch), atau fungsi. Hanya program dengan sintaks yang benar
yang dapat dikompilasi atau diinterpretasi yang pada akhirnya bisa dijalankan di
komputer. Kompiler akan memberikan pesan kesalahan apabila ada kesalahan dalam
sintaks sehingga kita memperbaikinya.
Untuk menjadi programmer yang sukses, kita harus mengerti secara detail
sintaks dari bahasa pemrograman yang kita akan gunakan. Tetapi, sintaks hanya
sebagian cerita.Kita ingin program yang kita buat berjalan sesuai dengan yang kita
inginkan.Artinya program tersebut harus benar secara logika.Program yang benar
secara logika disebut memiliki semantik yang benar.
Program “Selamat Datang”
Program―SelamatDatang‖ memiliki 4 komponen, yaitu :
definisi paket (package)
komentar
definisi kelas (class)
metode main
Sintaks Program:
packageselamatdatang;
publicclass SelamatDatang {
/**
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
System.out.println("Selamat Datang!");
}
}
14
Definisi paket (package)
packageselamatdatang;
Package dalam Java merupakan kumpulan dari berbagai kode yang terangkum
dalam satu paket. Untuk memudahkan penulisan dan pembagian logika suatu
program, satu paket terbagi menjadi beberapa berkas (file) di mana setiap file
memiliki fungsi atau tugas yang sangat khusus, misalnya satu file berfungsi untuk
mendeklarasikan konstanta dan kelas, sementara file yang lain berisi implementasi
kelas dan prosedurnya.
Pada contoh aplikasi SelamatDatang di atas, paket ini hanya berisi satu buah
file yang isinya terdiri dari satu kelas dan satu metode.Definisi paket tidak selalu
diperlukan, tetapi hal ini merupakan kebiasaan baik untuk melatih kita berfikir secara
logis dan sistematis.
Komentar
/**
* @param args
*/
// TODO Auto-generated method stub
Komentar tidak akan diproses oleh kompiler tetapi berguna bagi programmer lain.
Bahasa Java memiliki 3 jenis komentar :
/* text */ — Compiler akan mengabaikan kata kata antara /* dan */
/** documentation */ — Ini merupakan komentar yang dipergunakan khusus
untuk dokumentasi. Kompiler akan mengabaikan komentar dari /* hingga */.
Alat bantujavadoc akan memproses komentar dokumentasi untuk membuat
dokumentasi secara otomatis dari sumber program.
// text — Kompiler akan mengabaikan segala sesuatu dari // hingga akhir baris
Definisi Kelas
publicclass SelamatDatang {
...
}
Kelas merupakan bagian integral dari bahasa Java karena Java merupakan
bahasa berorientasi objek.Setiap aplikasi harus terdiri dari satu kelas.Di sini kita
definisikan kelas SelamatDatang sebagai kelas utama.
15
Metode main
Dalam bahasa pemrograman Java, setiap aplikasi harus memiliki satu buah
metode main yang bentuknya seperti berikut :
publicstaticvoid main(String[] args){
...
}
Metode main mirip dengan fungsi main pada bahasa C/C++ di mana fungsi ini
merupakan pintu gerbang dimulanya suatu program. Metoda main dapat dipanggil
dengan menyertakan variabel, baik hanya satu variabel, banyak variabel atau bahkan
tidak ada sama sekali.Yang terakhir adalah perintah berikut untuk menampilkan
Selamat Datang pada komputer Anda.
System.out.println("Selamat Datang!");
Perintah tersebut menggunakan pustaka inti Java, yaitu kelas Sistem.
2.5 Variabel dan Tipe Data Java
Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu
program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu"
tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan
untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain,
programmer harus mengerti sintaks dan semantik dari nama.
Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih
karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter
garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan:
N n rate x15 quite_a_long_name HelloWorld
Hurus kecil dan huruf besar dianggap berbeda, sehingga HelloWorld,
helloworld, HELLOWORLD, dan heLLOwoRLD adalah nama yang berbeda-beda.
Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh
Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved
words (kata-kata cadangan) misalnya: class, public, static, if, else, while, dan
lain-lain.
Hal lain yang penting adalah compound names atau nama campuran, yaitu
yang merupakan nama biasa yang dihubungkan dengan titik, misalnya
System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu"
yang lain. Nama System.out.println artinya System menampung out dan out
16
menampung println. Kita sebut "sesuatu" sebagai identifier (pengenal) tidak peduli
apakah ia berupa nama tunggal atau campuran.
Program melakukan manipulasi data yang disimpan dalam memori.Dalam
bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam
bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti
alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data
tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan
komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini
disebut variable.
Variabel sebenarnya berarti lebih kompleks.Variabel bukan isi dari data, tapi
lokasi di memori yang menyimpan data tersebut.Variabel bisa diibaratkan sebagai
kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa
berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya
selalu sama.
Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam
variabel adalah dengan menggunakan assignment statement, atau pernyataan
pemberian nilai. Pernyataan ini berbentuk:
variable= ekspresi;
di mana ekspresi menyatakan apapun yang berhubungan dengan nilai suatu data.
Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan
menyimpan hasilnya ke dalam variabel. Contoh:
kecepatan=40;
Variable dalam pernyataan di atas adalah kecepatan dan ekspresinya adalah
angka 40.Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel
kecepatan, dan mengganti apapun yang telah disimpan sebelumnya.
Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:
jarak= kecepatan * waktu
Di sini, * merupakan operasi perkalian.Komputer mengambil data yang
disimpan dalam variabel kecepatan dan waktu, melakukan perkalian, dan
menyimpan hasilnya dalam jarak.
Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe
data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk
diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe
kuat atau strongly typed language.
17
Ada 8 tipe data primitif dalam bahasa Java:
Jenis
Data
Deskripsi Ukuran Minimum Maksimum
boolean
Hanya bisa berisi
benar atau salah
1-bit
char Karakter Unicode 16-bit
byte Bilangan bulat 8-bit -127 128
short Bilangan bulat 16-bit -32768 32767
int Bilangan bulat 32-bit -2147483648 2147483647
long Bilangan bulat 64-bit -9223372036854775808 9223372036854775807
float Bilangan riil 32-bit
1.40129846432481707e-
45
3.40282346638528860e+38
double Bilangan riil 64-bit
4.94065645841246544e-
324
1.79769313486231570e+308
Tabel 1. Tipe Data Primitif
Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan
deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan
memberinya nama.
Ketika komputer mengeksekusi deklarasi variabel, komputer akan
menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan
nama variabel yang diberikan. Deklarasi variable berbentuk seperti :
nama_tipe nama_variabel;
Nama_variabel dapat berupa sebuah nama variabel atau beberapa nama
sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan
mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut
berhubungan erat satu sama lain. Misalnya:
float num;
Stringnama;
Stringnama;
boolean bol;
int x,y;
Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian
nilainya, seperti pada contoh berikut:
int num =1000;
char ch ='e';
float angka =-1.504;
boolean bol =true;
18
2.5.1 Jenis-jenis Variabel
Ada beberapa jenis variabel Java yang dapat dikelompokkan sebagai berikut :
Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi
objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci
static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat
dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel
tak-statis ini berbeda untuk setiap objeknya.
Class Variables (statis). Variabel ini merupakan bagian integral dari suatu
kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas
variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama
oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk
setiap objek pada kelas yang bersangkutan.
Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method)
atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat
diakses oleh metoda atau prosedur tersebut.
Parameter. Paramater atau argumen adalah variabel yang digunakan pada
saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk
memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau
metoda.
2.5.2 Literal
Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf
yang menyatakan suatu nilai. Misalnya:
int angka =10;
Pada pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti
bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat beberapa jenis
literal yang melambangkan bilangan bulat, riil, kalimat, atau boolean.
Literal Bilangan Bulat
Bilangan bulat dapat dilambangkan dalam beberapa bentuk.Bilangan bulat
biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan
nol.
int angka =-10;
19
Bilangan oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat
terdiri dari angka-angka 0 hingga 7.Bilangan oktal ditulis seperti bilangan bulat biasa
dimulai dengan 0.
// 22 basis delapan atau 18 dalam desimal
int angka = 022;
Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal
dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.
// 2a heksadesimal atau 42 dalam desimal
int angka = 0x2a;
Long integer. Seperti dijelaskan pada bab terdahulu long integer
membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan
bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada
akhir bilangan.
int angka = 22L;
Literal Karakter
Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya
‗a‘ atau ‗3′ atau ‗=‘. Suatu karakter dapat juga dilambangkan dengan kode ASCII
nya.Caranya dengan memulainya dengan u00 (garis miring terbalik) kemudian
diikuti dengan kode ASCII nya dalam bentuk heksadesimal.
// huruf 'A' dalam ASCII
char huruf ='u0041';
Selain itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan
dengan escape sequence. Berikut ini beberapa contohnya.
n = tombol enter atau baris baru.
r = carriage return.
t = tombol tab.
b = tombol backspace.
 = karakter 
‘ = karakter ‗
‖ = karakter ‖
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel
bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok =true;
20
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal
seperti ekspresi pada karakter.
Literal Bilangan Riil
Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik
sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal
biasa, pecahan, atau eksponen (dilambangkan dengan e atau E).
Tipe
Ukuran
Rentang Presisi (jumlah digit)
bytes bit
float 4 32 +/- 3.4 x 1038
6-7
double 8 64 +/- 1.8 x 10308
15
Tabel 2. Representasi Bilangan Real
Imbuhan akhir d atau D dan f atau F dapat pula ditambahkan untuk
menentukan tipenya secara eksplisit.Berikut beberapa contohnya.
double d = 3.27E+32;
float f = 4f;
float pi =3.14159;
Literal String
Stringmerupakan untaian huruf dan angka yang tersusun menjadi satu
kalimat.Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan
kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java
menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau
perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.
Stringsalam="Selamat Datang";
String juga dapat mengandung karakter spesial seperti dibahas pada literal
karakter. Misalnya:
String hallo ="Selamat Datang "Bapak Presiden"";
System.out.println("Hallo BambangnSelamat pagi,nSemoga hari
anda cerahn";
Literal Null
Literal terakhir pada bahasa java adalah literal null.Null merupakan kondisi di
mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan,
komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut
telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh
21
objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini
adalah contohnya:
obj=null;
Literal null berfungsi memberi tahu garbage collector (pemulung memori)
bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar
dapat digunakan oleh objek lain.
Contoh Program Variabel dan Tipe Data
Berikut ini adalah listing program penghitungan bunga bank:
packagebungabank;
publicclass BungaBank {
/**
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
/* Deklarasi variable */
double pokok; // nilai investasi
double sukubunga; // suku bunga bank
double bunga; // nilai bunga
/* Perhitungan */
pokok =20000;
sukubunga =0.10; // sama dengan 10%
bunga = pokok * sukubunga;
pokok = pokok + bunga;
/* Cetak hasil keluaran */
System.out.print("Bunga yang dihasilkan adalah Rp. ");
System.out.println(bunga);
System.out.print("Nilai investasi setelah 1 tahun adalah Rp.
");
System.out.println(pokok);
}
}
Berikut adalah hasil keluarannya (Out put):
Gambar 10. Contoh Program Variabel dan Tipe Data (Out put)
22
2.5.3 String, Objek dan Subrutin
Bagian sebelumnya memperkenalkan 8 jenis tipe data primitif dan tipe data
String. Perbedaan mendasar antara tipe primitif dan Stringadalah : nilai dari tipe
String berupa objek. Objek akan dibahas pada bagian lain mengenai kelas (class). Di
bagian ini kita akan belajar bagaimana String digunakan dan juga mempelajari
konsep pemrograman penting yang lain, yaitu subrutin.
Subrutin adalah kumpulan instruksi program yang digabungkan sehingga
memiliki fungsi tertentu.Dalam bahasa Java, setiap subrutin termasuk di dalam bagian
suatu kelas atau objek.Java menyediakan kelas standar yang siap digunakan.Nilai tipe
String adalah objek yang memiliki kumpulan subrutin yang dapat digunakan untuk
memanipulasi String tersetbut.Kita bisa memanggil subrutin tersebut tanpa harus
mengerti bagaimana subrutin tersebut bekerja. Sebenarnya ini adalah tujuan subrutin,
yaitu sekumpulan perintah yang memiliki fungsi tertentu tanpa harus mengetahui
secara detail apa yang terjadi di dalam.
Kelas terdiri dari variabel dan subrutin yang disimpan di dalamnya.Variabel
dan subrutin ini disebut static member (anggota statis). Contohnya adalah pada
program SelamatDatang, kelas SelamatDatang memiliki anggota main() yang
merupakan anggota statis kelas itu. Anggota yang berupa static member diberi
imbuhan static, seperti pada main().
Fungsi kelas yang lain adalah untuk mendeskripsikan suatu objek. Kelas di
sini berfungsi seperti tipe data.Nilai yang disimpan dalam tipe data itu adalah objek.
Misalnya String sebenarnya merupakan nama kelas yang disediakan bahasa Java.
String juga berupa tipe data dan kalimat seperti "Selamat Datang!" adalah isi dari
tipe data String.
Kegunaan kelas baik sebagai gabungan subrutin ataupun sebagai objek sering
membingungkan.Misalnya kelas String juga menyimpan beberapa subrutin statik
selain juga sebagai tipe data.Contoh kelas standar lainnya adalah Math yang berisi
kumpulan subrutin statik untuk melakukan berbagai perhitungan matematis.
Kelas sebagai tipe data
Mari mulai dengan melihat kembali subrutin System.out.print.Subrutin ini
digunakan untuk menampilkan pesan kepada user.
23
Misalnya System.out.print("Selamat datang!") menampilkan pesan
Selamat datang!
System merupakan salah satu kelas standar Java.Salah satu anggotanya
bernama out. Karena variable ini berada di dalam kelas System, kita harus
memanggilnya dengan nama lengkapnya yaitu System.out. Variabel System.out
merupakan suatu objek, dan objek itu memiliki subrutin yang bernama print.
Pengenal campuran System.out.print mengacu pada subrutin print di dalam objek
out dalam kelas System.
Untuk melihat dari sisi lain, sebetulnya System.out merupakan objek dari
kelas PrintStream. PrintStream adalah salah satu kelas standar Java.Objek dengan
tipe PrintStream adalah objek tempat informasi bisa dicetak. Setiap objek yang
bertipe PrintStream memiliki subrutin bernama print yang bertugas untuk
mencetak sesuatu ke medium tersebut. Dalam hal ini System.out adalah tujuan
tempat print dilakukan. Objek lain yang bertipe PrintStream bisa mengirim
informasi ke tujuan lain, misalnya file atau network atau ke komputer lain.
Ini adalah esensi dari pemrograman berorientasi objek, di mana beberapa hal
yang memiliki kesamaan - dalam hal PrintStream sama-sama sebagai tempat tujuan
print - dapat digunakan dengan cara yang sama, yaitu memanggil subrutin print.)
Karena nama variabel, nama kelas, dan nama subrutin berbentuk hampir sama, ada
baiknya untuk membedakannya sehingga di kemudian hari program dapat dibaca
dengan jelas. Kelas standar Java menggunakan nama yang selalu dimulai dengan
huruf besar, sedangkan nama variabel dimulai dengan huruf kecil. Ini bukan sintaks
Java, tetapi lebih seperti konvensi. Setiap orang bebas menggunakan konvensinya
masing-masing, tetapi apabila pemrograman dilakukan secara bersama-sama, seperti
pada open source programming, konvensi yang sama akan sangat memudahkan orang
lain membaca dan menguji program yang kita buat. Nama subrutin juga dimulai
dengan huruf kecil, sama dengan nama variabel. Tetapi subrutin harus diikuti dengan
tanda buka kurung sehingga masih mudah dibedakan dengan nama variabel.
Kelas sebagai kumpulan subrutin dan variabel static
Selain sebagai tipe data, kelas System juga memiliki subrutin statik yang
bernama exit. Memanggil System.exitakan menghentikan jalannya program, dan
digunakan apabila karena suatu hal (misalnya program telah selesai atau adanya error)
24
program harus dihentikan. Subrutin exit menerima parameter bilangan bulat,
misalnya System.exit(0) atau System.exit(1), untuk memberitahu kepada sistem
operasi alasan kenapa program dihentikan. Status 0 berarti program berhenti normal
tanpa adanya error, sedangkan status lain berarti ada sesuatu yang salah yang terjadi
di tengah eksekusi program tersebut.Setiap subrutin melakukan fungsi
tertentu.Beberapa di antaranya melakukan perhitungan lalu melaporkan hasil
perhitungannya.
Ada juga yang berfungsi untuk mengambil data dari tempat tertentu dan
melaporkan data yang didapat. Subrutin jenis ini disebut function (fungsi). Fungsi
adalah subrutin yang mengembalikan (return) suatu nilai. Nilai yang dikembalikan
akan digunakan lebih lanjut dalam program.
Sebagai contoh adalah fungsi untuk menghitung akar kuadrat dari suatu
bilangan.Java memiliki fungsi seperti itu yang disebut Math.sqrt.Fungsi ini
merupakan anggota statik dari kelas yang bernama Math.Jika x adalah suatu bilangan,
makan Math.sqrt(x) menghitung akar kuadrat dari x dan mengembalikan hasil
perhitungannya. Karena Math.sqrt(x) mengembalikan suatu bilangan, kita tidak
bisa memanggil fungsi ini seperti:
Math.sqrt(x);// Tidak masuk akal!
Kita tentunya ingin menggunakan hasilnya untuk instruksi selanjutnya,
misalnya menuliskan hasilnya di layar seperti
System.out.print(Math.sqrt(x));// Menampilkan akar kuadrat x
di layar.
atau menyimpan hasilnya pada variabel lain, seperti:
panjangDiagonal=Math.sqrt(x);
Kelas Math
Kelas Math memiliki banyak fungsi statik. Beberapa yang penting di antaranya:
Math.abs(x), menghitung nilai mutlak (absolut) dari x. Nilai mutlak bilangan
negatif adalah bilangan positif, dan bilangan positif tetap bilangan positif.
Fungsi trigonometri Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk
semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat)
Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai trigonometric,
kebalikan dari fungsi trigonometri, seperti arcus sin, arcus cos, dan arcus
tangen. Math.asin(x), Math.acos(x), and Math.atan(x).
25
Math.exp(x), menghitung pangkat dari bilangan natural e, atau ex
. Dan
logaritma natural loge x atau ln x bisa dihitung dengan menggunakan fungsi
Math.log(x).
Math.pow(x,y) menghitung xy
atau x pangkat y.
Math.floor(x) menghitung pembulatan ke bawah dari suatu bilangan riil,
misalnya 3.84 akan dibulatkan ke bawah menjadi 3.0.
Math.random() memilih bilangan acak di antara 0.0 dan 1.0. Komputer
memiliki algoritma perhitungan tertentu yang hasilnya bilangan acak
(meskipun bulan bilangan yang betul-betul acak, tetapi cukup untuk
kebanyakan fungsi).
Paremeter (nilai di dalam kurung) fungsi-fungsi di atas bisa bertipe numerik
apa saja (misalnya double, int, dll), tetapi keluarannya bertipe double, kecuali abs(x)
yang tipe keluarannya sama dengan tipe parameternya.
Math.random() tidak memiliki parameter, tetapi tanda kurungnya harus tetap
ditulis untuk membedakan fungsi dan variabel. Contoh fungsi lain yang tidak
memiliki parameter adalah System.currentTimeMillis() yang berguna untuk
mengambil waktu saat ini dalam satuan milidetik, dihitung sejak 1 Januri 1970 waktu
GMT. Satu milidetik sama dengan 1 per 1000 detik. Keluarannya bertipe long.
Untuk menghitung waktu yang diperlukan untuk menjalankan suatu perintah,
jalankan fungsi System.currentTimeMillis() sebelum dan sesudah suatu instruksi
dijalankan. Perbedaannya adalah waktu yang diperlukan untuk menjalankan suatu
instruksi.
Contoh Program Kelas Math
Berikut ini adalah listing program untuk melakukan beberapa perhitungan
matematika, menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan
untuk melakukan perhitungan tersebut.
packagewaktukomputasi;
publicclass WaktuKomputasi {
/**
* Program ini akan melakukan beberapa perhitungan
matematika,
* menampilkan hasilnya di layar, dan melaporkan waktu yang
diperlukan
26
* untuk melakukan perhitungan tersebut
*
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
long waktuMulai;
long waktuSelesai;
waktuMulai=System.currentTimeMillis();
double panjang, lebar, sisiMiring; // sisi
segitiga siku-siku
panjang=18.0;
lebar=27;
sisiMiring=Math.sqrt(panjang*panjang + lebar*lebar);
System.out.print("Segitiga siku-siku dengan panjang
18 dan lebar 27 memiliki sisi miring ");
System.out.println(sisiMiring);
System.out.println("nSecara matematis, sin(x)*sin(x)
+ "
+"cos(x)*cos(x) - 1 = 0");
System.out.println("Mari kita cek untuk x = 1 :");
System.out.print("sin(1)*sin(1) + cos(1)*cos(1) - 1 =
");
System.out.println(Math.sin(1)*Math.sin(1)
+Math.cos(1)*Math.cos(1)-1);
System.out.println("(Mungkin akan ada kesalahan
desimal dalam "
+"perhitungan bilangan real!)");
System.out.print("nIni adalah bilangan acak : ");
System.out.println(Math.random());
waktuSelesai=System.currentTimeMillis();
System.out.print("nTotal waktu perhitungan : ");
System.out.print((waktuSelesai - waktuMulai)/1000.0);
System.out.println(" detik");
}
}
Berikut adalah hasil keluarannya :
Gambar 11. Contoh Program Kelas Math
Kelas String
27
Nilai suatu String adalah objek.Objek ini berisi rangkaian huruf yang
membentuk string.Objek tersebut juga berisi subrutin.Misalnya length adalah fungsi
yang menghitung panjang suatu string, atau jumlah karakter dalam suatu string.
Misalnya string str yang dideklarasikan sebagai berikut :
Stringstr;
str="Hari ini cerah sekali!"
Untuk menghitung jumlah karakter dalam string str, panggil fungsi
str.length() yang keluarannya bertipe int. Fungsi ini tidak membutuhkan
parameter. Fungsi length merupakan anggota kelas String dan dapat digunakan
oleh semua data yang bertipe String.
Dan juga bisa digunakan oleh literal string, misalnya program berikut
menghitung jumlah karakter dalam string "Indonesia Raya" :
System.out.print("Jumlah karakter dalam "Indonesia Raya" adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
Kelas String memiliki beberapa fungsi di antaranya :
s1.equals(s2) adalah fungsi yang mengembalikan nilai boolean (true atau
false). Fungsi ini akan menghasilkan true jika s2 sama dengan s1, dan salah
jika tidak. Kesamaan yang diuji adalah kesamaan persis baik kapitalnya
maupun urutan huruf-hurufnya.
s1.equalsIgnoreCase(s2) juga menghasilkan nilai boolean yang menguji
apakah string s2 sama dengan s1 dengan tidak membandingkan kapitalnya.
"Kucing".equalsIgnoreCase("kucing") menghasilkan true.
s1.length(). Seperti diulas sebelumnya, fungsi ini menghitung jumlah
karakter dalam string s1.
s1.charAt(N). N adalah integer (bilangan bulat). Fungsi ini mengembalikan
karakter ke-N dari string s1. Karakter pertama dihitung sebagai posisi ke-0.
s1.charAt(0) berarti mengambil karakter pertama, sedangkan s1.charAt(1)
berarti mengambil karakter ke-2, dan seterusnya. Karakter terakhir memiliki
indeks s1.length()-1. Fungsi ini akan mengeluarkan pesan kesalahan
apabila N bernilai negatif atau lebih besar dari s1.length()-1.
s1.substring(N,M), di mana N dan M bilangan bulat. Fungsi ini mengambil
potongan string antara karakter ke-N hingga karakter M-1. Catatan bahwa
28
karakter ke-M tidak ikut diambil. Kita contohkan Misalnya, "jalan
layang".substring(1,4) menghasilkan "ala".
s1.indexOf(s2) mengembalikan nilai integer. Fungsi ini mencari string s2 di
dalam string s1, dan apabila ditemukan mengembalikan posisi awal s2 di
dalam s1. Jika tidak ditemukan, fungsi ini akan mengembalikan -1. Fungsi ini
bisa juga digunakan untuk mencari string s2 dalam s1 setelah posisi ke-N
dalam string s1. Misalnya, "kelapa muda".indexOf("a") menghasilkan 3,
sedangkan "kelapa muda".indexOf("a",6) menghasilkan 10.
s1.compareTo(s2) membandingkan s2 dan s1. Jika s1 dan s2 sama, hasilnya
0. Jika s1 kurang dari s2, hasilnya bilangan negatif , dan jika s1 lebih besar
dari s2, hasilnya bilangan positif. "Kurang dari" atau "lebih dari" mengacu
pada urutannya dalam abjad jika keduanya huruf kecil atau keduanya huruf
besar. Jika kapitalnya berbeda, perbandingannya bergantung pada nilai ASCII-
nya.
s1.toUpperCase() adalah fungsi untuk mengubah seluruh huruf dalam s1
menjadi huruf besar.
s1.toLowerCase() berfungsi untuk mengubah huruf dalam s1 menjadi hurug
kecil.
s1.trim() adalah berfungsi menghapus karakter yang tak bisa dicetak,
misalnya spasi, baris baru, enter, yang ada sebelum atau sesudah suatu
kalimat. Misalnya " selamat pagi bu ".trim() menghasilkan "selamat
pagi bu".
Untuk s1.toUpperCase(), s1.toLowerCase(), s1.trim() nilai s1 tidak
berubah. Fungsi ini melakukan perhitungan kemudian mengembalikan string baru
hasil perhitungan tersebut.Kita bisa juga menggunakan tanda + menyambung 2 string.
Misalnya "mata" + "hari" menjadi "matahari".Nilai yang dapat disambungkan bukan
hanya string dan string, tetapi juga string dan angka, misalnya "jalan" + 2 menjadi
"jalan2".
Contoh Program Kelas String
Berikut ini adalah listing program untuk melakukan beberapa contoh
menggunakan kelas String, menampilkan hasilnya di layar, dan melaporkan waktu
yang diperlukan untuk melakukan perhitungan tersebut.
29
packagecontohstring;
publicclass ContohString {
/**
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
// demo String.length() dan operator + untuk
menghubungkan karakter
String str;
str ="Hari ini cerah sekali!";
System.out.println("Panjang string ""+ str +""
adalah "+ str.length());
System.out.print("Jumlah karakter dalam "Indonesia
Raya" adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
// demo equals dan compareTo
System.out.println(""jambu" = "Jambu"?
"+"jambu".equals("Jambu"));
System.out.println("ignore case "jambu" =
"Jambu"? "+"jambu".equalsIgnoreCase("Jambu"));
}
}
Berikut adalah hasil keluarannya :
Gambar 12. Contoh Program Kelas String
2.6 Operator Pada Java
Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti
penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh
penggunaan :
Simbol Nama operator Contoh penggunaan
+ Operator penjumlahan n = n + 1;
- Operator pengurangan n = n - 1;
30
* Operator perkalian n = n * 1;
/ Operator pembagian n = n / 1;
% Operator sisa pembagian n = n % 1;
+ Operator penyambung string n = "saya "+"tidur";
Tabel 3. Operator Aritmatika
Contoh pada program:
packageoperatoraritmatika;
publicclass OperatorAritmatika {
/**
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
int x =2;
int y =5;
int z =3;
int g =0;
g = x + y;
System.out.println("Penjumlahan (x+y) : "+ g);
g = y - x;
System.out.println("Pengurangan (y-x) : "+ g);
g = x * y;
System.out.println("Perkalian (x*y) : "+ g);
g = y / x;
System.out.println("Pembagian (y/x) : "+ g);
g = z % y;
System.out.println("Sisa pembagian (z%x) : "+ g);
g = x +(y *(z/x));
System.out.println("Hasilnya sekarang : "+ g);
}
}
Keluaran Program :
Gambar 13. Contoh Program Operasi Aritmatika
31
Operator Pembanding, Boolean dan Kondisi
Operator kondisi (conditional operator) menghasilkan nilai true atau false
tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand.
Operator boolean adalah operator kondisi yang kedua operand-nya berupa nilai
boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai
seperti pada operasi matematika.
Catatan : Pada objek, seperti String, operasi pembanding akan membandingkan
alamat memory tempat objek itu disimpan, bukan membandingkan isinya. Untuk
membandingkan isi String, gunakan equals(), equalsIgnoreCase(), dan
compareTo() seperti dibahas pada bagian sebelumnya.
Simbol Nama operator Contoh
== Sama dengan b = (1 == 2);
!= Tidak sama dengan b = (1 == 2);
> Lebih besar b = (1 > 2);
>= Lebih besar atau sama dengan b = (1 >= 2);
< Lebih kecil b = (1 < 2);
<= Lebih kecil atau sama dengan b = (1 <= 2);
&& Conditional AND b = true && false;
|| Conditional OR b = true || false;
! NOT b = !true;
?: Bentuk pendek dari if-then-else
Tabel 4. Operator Pembanding, Boolean dan Kondisi
1. Operator boolean AND
Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai
"true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false".
Berikut ini tabel kebenaran operasi booleanAND:
Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false false
false true false
false false false
Tabel 5. Tabel Kebenaran Operasi Boolean AND
32
Operator &&akan mengevaluasi Op2 (di sebelah kanan) HANYA jika
operand 1 bernilai "true". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah
kiri) bernilai "false", hasilnya akan selalu "false" tidak tergantung pada isi dari Op2.
2. Operator kondisi OR
Operator kondisi OR menghasilkan "true" jika salah satu operandnya bernilai
"true". Jika keduanya "false", operator ini menghasilkan "false". Berikut ini tabel
kebenaran operasi OR:
Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false true
false true true
false false false
Tabel 6. Tabel kebenaran operasi OR
Operator || akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1
bernilai "false". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai
"true", hasilnya akan selalu "true" tidak tergantung pada isi dari Op2.
3. Operator NOT
Operator NOT ("!") melakukan operasi boolean NOT pada operand atau
ekspresi tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi
kemudian membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah
tabel kebenaran operasi NOT:
Op1 Hasil
true false
false true
Tabel 7. Tabel Kebenaran operasi NOT
4. Operator Ternary (?:)
Java memiliki operator berkondisi lain yang disebut ternary "?:", yang pada
dasarnya merupakan bentuk pendek dari if-then-else. Secara umum:
kondisi ? jika_benar : jika_salah
33
Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi
bernilai "true", operator akan mengembalikan "jika_benar", tetapi apabila "kondisi"
bernilai "false", operator akan mengembalika "jika_salah". Misalnya:
x =(1>2)?10:20
Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah
salah (atau "false").
Contoh Program:
packageoperatorkondisi;
publicclass OperatorKondisi {
/**
* Contoh program menggunakan operator kondisi
*
* @param args
*/
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
int x =5;
int y =10, angka =0;
boolean bl =true;
if((x ==5)&&(x < y))
System.out.println("Nilai x adalah "+ x);
if((x == y)||(y >1))
System.out.println("Nilai y lebih besar dari x");
angka = bl ? x : y;
System.out.println("Angka yang keluar adalah "+
angka);
}
}
Berikut adalah hasil keluarannya :
Gambar 14. Contoh Penerapan Operator Ternary
Operator Pemberi Nilai & Type Casting
Operator merupakan simbol untuk melakukan perhitungan atau suatu operasi
pada satu atau lebih dari satu hal.Setelah kita mendeklarasi dan mengisi suatu
variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti
penambahan, pengurangan dan sebagainya.
34
Operator Pemberi Nilai
Operator penugasan dan pemberian nilai merupakan operator yang paling
umum dalam semua bahasa pemrograman. Operator ini dilambangkan dengan "="
yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri
operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan
variabel atau angka di sebelah kanan operator.
Operator ini juga dapat digunakan untuk memberikan referensi kepada suatu
objek.
Beberapa contoh :
Stringnama="Budi";
boolean dewasa =true;
// buat objek baru
Shape s1 =newShape();
// beri referensi s1 kepada s2
Shape s2 = s1;
// nilai sebelumnya diganti
dewasa=false;
Anda dapat juga memberikan nilai kepada beberapa variabel secara
bersamaan.Misalnya :
x = y = z =2;
x =(y + z);
Operator "=" dievaluasi dari kanan ke kiri. Pada ekspresi pertama, angka 2
diberikan kepada "z", kemudian nilai yang disimpan "z" diberikan kepada "y", dan
kemudian "y" ke "x" secara bersamaan. Pada ekspresi kedua, nilai hasil evaluasi
pertambahan dimasukkan ke variabel "x".
Pada dasarnya, kedua sisi tanda "=" harus memiliki tipe yang sama. Misalnya
x = A, x dan A harus memiliki tipe yang sama. Bagaimana jika tidak, misalnya:
int A;
short B;
A =17;
B =(short)A;
Pada kode di atas, B akan mengambil nilai A yang sudah dikonversi ke tipe
short. Tanda (short) dalam kurung artinya menginstruksikan Java untuk mengubah
nilai A menjadi short sebelum diberikan kepada B.
35
Perubahan tipe ini disebut type casting. Kita bisa mengubah tipe apa saja,
tetapi karena rentang tiap tipe berbeda, maka nilainya belum tentu sama dengan nilai
aslinya. Misalnya (short)100000 adalah -31072.
Untuk perubahan tipe dari bilangan real (float atau double) ke bilangan bulat,
Java melakukan type casting dengan memangkas desimalnya. Jadi 3.56 akan diubah
menjadi 3 dalam bilangan bulat.
Nilai char juga bisa diubah ke dalam bilangan bulat, yaitu dengan
menggantinya dengan bilangan Unicode-nya.
Selain operasi "=", Java juga memiliki operator pemberian nilai beruntun, dan
dapat digunakan oleh semua operator aritmatika, manipulasi bit, atau pergeseran bit.
Misalnya pada ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian
hasilnya disimpan kembali ke "x".
x +=2;
Table berikut menunjukkan semua operator pemberian nilai yang dapat Anda
gunakan sehingga kode Anda menjadi lebih efisien dan mudah dibaca.
Operator Contoh Ekspresi setara
+= x += y; x = (x + y);
-= x -= y; x = (x - y);
*= x *= y; x = (x * y);
/= x /= y; x = (x / y);
%= x %= y; x = (x % y);
&= x &= y; x = (x & y);
|= x |= y; x = (x | y);
^= x ^= y; x = (x ^ y);
<<= x <<= y; x = (x << y);
>>= x >>= y; x = (x >> y);
>>>= x >>>= y; x = (x >>> y);
Tabel 8. Operator Pemberi Nilai
Contoh Program:
packageoperatorpemberinilai;
publicclass OperatorPemberiNilai {
/**
* Contoh program menggunakan operator pemberi nilai
(assignment operator)
*
* @param args
*/
36
publicstaticvoid main(String[] args){
// TODO Auto-generated method stub
int x =5;
int y =10;
x += y;
System.out.println("Hasil penjumlahan : "+ x);
x -= y;
System.out.println("Hasil pengurangan : "+ x);
x *= y;
System.out.println("Hasil perkalian : "+ x);
x /= y;
System.out.println("Hasil pembagian : "+ x);
x %= y;
System.out.println("Sisa pembagian : "+ x);
x &= y;
System.out.println("Hasil operasi AND : "+ x);
x |= y;
System.out.println("Hasil operasi OR : "+ x);
x <<= y;
System.out.println("Hasil operasi pergeseran bit ke
kiri :"+ x);
}
}
Keluaran programnya :
Gambar 15. Contoh penerapan operasi pemberi nilai
2.7 Operasi Dan Struktur Kontrol Pada Java
Komponen mendasar dari suatu program - variabel, ekspresi, penyataan, dan
pemanggilan subrutin - telah dijelaskan pada Penjelasan sebelumnya. Mulai dari
sekarang, kita akan melihat bagaimana komponen dasar tersebut berinteraksi sehingga
menjadi program yang lebih kompleks.
37
Kompleksitas program akan lebih dititikberatkan pada apa yang bisa
dilakukan dari dalam sebuah subrutin. Lebih khusus, akan dijelaskan lebih lanjut
tentang struktur kontrol.
Struktur kontrol, yaitu perulangan (loop) dan percabangan (branch), dapat
digunakan untuk mengulangi perintah berulang-ulang atau untuk memilih dua atau
lebih skenario. Java memiliki beberapa struktur kontrol dan kita akan lihat secara
lebih detail kemudian.
Jika kita dihadapkan pada suatu permasalahan yang akan dipecahkan oleh
program komputer, bagaimana caranya kita berfikir untuk merancang program
tersebut. Kita akan melihat sebagian jawabannya di bab ini, dan kemudian akan kita
gunakan dalam beberapa contoh yang tersedia.
Blok, Perulangan, dan Percabangan
Kemampuan suatu program untuk melakukan tugas kompleks dilakukan
dengan menggabungkan perintah sederhana menjadi struktur kontrol. Dalam bahasa
Java, ada 6 struktur tersebut, yaitu blok, perulangan while, perulangan do ...
while, perulangan for, pernyataan if, dan pernyataan switch.
Masing-masing struktur ini sebetulnya merupakan pernyataan tunggal yang
berdiri dengan sendirinya, tetapi di dalamnya terdiri dari satu atau lebih perintah
sehingga keseluruhannya menjadi suatu struktur perintah.
Blok
Blok adalah pernyataan sederhana yang dimulai dengan { dan diakhiri dengan
}. Tujuannya untuk mengelompokkan beberapa perintah sehingga lebih dimengerti.
Misalnya
{
perintah
}
Pernyataan blok biasanya terdapat dalam struktur kontrol, tetapi sebetulnya
tanpa struktur kontrol pun, blok tetap berlaku. Contoh sederhana penggunaan blok ini
adalah dalam subrutin main() yang kita lakukan pada contoh-contoh sebelumnya.
Berikut ini adalah 2 contoh penggunaan blok:
{
System.out.println("Hallo");
System.out.println("Dunia");
}
38
{// blok ini digunakan untuk menukar isi variable x dan y
int temp;
temp= x;
x = y;
y = temp;
}
Pada blok kedua, kita mendeklarasikan variable baru temp. Dalam blok kedua
ini, variabel apapun yang dideklarasikan tidak akan dapat diakses dari luar blok ini.
Variabel ini disebut variabel lokal, karena hanya bisa diakses dari dalam blok.
Ketika komputer menjalankan program ini, komputer akan mempersiapkan
memori untuk menyimpan variabel yang dideklarasikan di dalam blok ini. Ketika blok
ini selesai dijalankan, komputer akan melepas memori yang digunakan dalam blok ini
untuk digunakan oleh bagian program lain.
Konsep "scope" atau jangkauan pada konsep pemrograman, mengacu pada
bisa atau tidaknya suatu variabel dilihat oleh bagian program lain. Jangkauan suatu
variabel menyatakan di bagian mana variabel ini valid atau dengan kata lain bisa
diakses. Jangkauan variabel dalam suatu blok terbatas hanya pada blok tersebut.
Blok sendiri sebetulnya bukan merupakan struktur kontrol. Program akan
berjalan seperti biasa dari atas kebawah seperti biasa. Secara umum struktur kontrol
dibagi menjadi 2 bagian, yaitu :perulangan dan percabangan.
Perulangan
Sebagai contoh untuk membahas tentang perulangan, kita lihat pernyataan
while, yang memiliki bentuk seperti:
while(suatu_kondisi){
perintah
}
Semantik pada pernyataan while tersebut adalah sebagai berikut. Ketika
komputer sampai pada pernyataan while, komputer akan melakukan perhitungan
pada suatu_kondisi. Apabila suatu_kondisi bernilai true, blok yang berisi
perintah akan dilakukan.
Setelah komputer sampai pada bagian akhir blok, komputer akan menghitung
kembali suatu_kondisi. Jika masih bernilai true, maka blok tersebut akan
dieksekusi, dan jika tidak, program akan melompat ke bagian program berikutnya
setelah blok berakhir. Atau dengan kata lain, jika suatu_kondisi bernilai false, blok
perintah tidak akan dieksekusi.
39
Berikut ini adalah contoh untuk menulis bilangan 1 hingga 5.
int angka =1;// inisialisasi variabel, kita mulai dengan mengisi
variabel angka dengan 1
while(angka <=5){
System.out.println(angka);// cetak isi angka di layar
angka= angka +1;// tambah angka dengan 1
}
System.out.println("Selesai...");
Variabel angka kita inisialiasi (persiapkan) dan kita isi mula-mula dengan 1.
Ketika program sampai pada pernyataan while, program akan mengevaluasi apakah
angka <=5.
Pada saat program baru dimulai, angka masih bernilai 1, sehingga pernyataan
angka <=5 bernilai true. Dalam hal ini perintah di dalam blok akan dieksekusi, yaitu
mencetak angka ke layar, kemudian menambah angka dengan 1. Sekarang angka
bernilai 2.
Setelah sampai pada akhir blok, program akan kembali pada awal pernyataan
while. Sekarang angka bernilai 2, dan karena 2 masih kurang dari atau sama dengan 5,
program akan kembali mengeksekusi perintah dalam blok.
Begitu seterusnya hingga angka bernilai 6. Pada saat ini program akan
berhenti melakukan perulangan dan berhenti melakukan eksekusi perintah di dalam
blok tersebut, kemudian melakukan perintah berikutnya, yaitu menampilkan kata
"Selesai...".
Percabangan
Pernyataan if memperintahkan komputer untuk memilih salah satu aksi yang
akan dilakukan, tergantung pada suatu kondisi tertentu. Bentuknya dapat ditulis
sebagai berikut:
if(suatu_kondisi)
perintah_1;
else
perintah_2;
Perintah_1 dan perintah_2 juga bisa berbentuk blok, sehingga pernyataan di
atas dapat ditulis juga sebagai berikut:
if(suatu_kondisi){
perintah_1;
}else{
perintah_2;
}
40
Ketika komputer sampai pada pernyataan if, komputer akan menghitung
apakah suatu_kondisi bernilai true. Jika iya, maka blok perintah berikutnya akan
dieksekusi, dalam hal ini perintah_1. Jika tidak, maka blok setelah pernyataan else
akan dieksekusi, yaitu perintah_2.
Sebagai contoh, mari kita kembali pada contoh program untuk membalik nilai
x dan y, dengan syarat x harus lebih besar dari y. Dalam hal ini, setelah program ini
dieksekusi, nilai x akan selalu bernilai lebih kecil dari y, karena jika nilai x lebih
besar, nilai x akan ditukar dengan nilai y.
if(x > y){// jika x lebih besar dari y
// blok ini digunakan untuk menukar isi variable x dan y
int temp;
temp= x;
x = y;
y = temp;
}
Contoh berikut adalah program untuk menentukan apakah suatu bilangan
merupakan bilangan genap atau bilangan ganjil.
Dengan menggunakan operator %, yaitu sisa pembagian, kita dapat
menentukan apabila sisa pembagian suatu bilangan dengan 2 adalah 0, maka bilangan
tersebut merupakan bilangan genap.Jika tidak, maka bilangan tersebut adalah
bilangan ganjil.
if((x %2)==0){
System.out.println(x +" adalah bilangan genap");
}else{
System.out.println(x +" adalah bilangan ganjil");
}
2.8 Membuat kode, menguji, dan mencari kesalahan (debugging)
Akan sangat sederhana dan indah apabila program yang kita tulis akan
berjalan 100% tanpa kesalahan sama sekali. Kita tinggal memencet tombol run, dan
semuanya berjalan sesuai rencana.Nyatanya tidak demikian.
Coba Anda ganti salah satu dari beberapa contoh yang sudah diberikan dengan
mengganti salah satu kurung { menjadi (. Kemudian pada Eclipse, jalankan dengan
"Run ->Run". Lihat apa yang terjadi.
Eclipse akan menampilkan pesan kesalahan, itu artinya secara sintaks, atau
format penulisan program ada memiliki kesalahan, dan Anda harus memperbaikinya
sebelum program bisa dijalankan.
41
Gambar 16. Pengujian Sintaks Program Java 1
Sintaks adalah salah satu cara menentukan bagaimana komputer harus bekerja.
Manusia tidak membutuhkan sintaks untuk berbicara karena manusia bisa
menentukan mana subjek, predikat, atau objek dengan mudah, bahkan untuk kalimat
yang belum pernah dibaca atau didengar sekalipun.Bagi komputer, sintaks membantu
komputer mengelola logika, mana yang merupakan variabel, mana yang berupa
subrutin, mana perulangan, mana percabangan dan lain-lain. Dalam bahasa Java, yang
merupakan bahasa dengan sintaks ketat, perbedaan sintaks sedikit saja membuat Java
tidak mengerti apa yang dimaksud dalam program.
Bagi beberapa programmer, ketidakluwesan Java mungkin menghambat,
tetapi perlu diingat bahwa kesalahan hanya datang dari manusia.Ketidakluwesan Java
membantu programmer harus menggunakan logika yang benar, dan tidak boleh salah
dalam menggunakan variabel.Variabel yang sudah ditentukan tipenya tidak dapat
diubah ditengah jalan, kecuali dengan membuat variabel baru dengan tipe yang
berbeda.
Debugging
Ketika program Anda tidak menunjukkan kesalahan sintaks, bukan berarti
program Anda bebas dari kesalahan. Program harus diuji apakah ia berjalan sesuai
dengan yang diharapkan. Idealya apabila program menerima input yang tidak sesuai
dengan yang diharapkan, program akan memberikan pesan kepada penggunanya
tentang kesalahan tersebut, bukan tiba-tiba keluar tanpa pesan.
42
Kita mungkin harus melakukan testing secara lebih perlahan-lahan. Apabila
jumlah baris dalam program kita kecil, mungkin kesalahan tersebut dengan mudah
akan kita temui. Tetapi apabila program tersebut sangat besar, maka mencari
kesalahan yang kelihatannya sederhana tidaklah mudah.
Pencarian kesalahan ini dalam bahasa pemrograman disebut dengan
"debugging", yang jika diterjemahkan ke dalam bahasa Indonesia berarti
membersihkan kutu, karena kesalahan kecil dianggap sebagai kutu yang mengganggu
jalannya program. Eclipse menyediakan peralatan untuk melakukan debugging, yaitu
dengan menekan tombol "Run ->Debug". Dalam Eclipse, debugging yang bisa
dilakukan antara lain: membuat breakpoint (tempat berhenti program), mengeksekusi
satu demi satu perintah, mengeksekusi satu subrutin, melihat isi variabel saat ini, dan
bahkan mengganti variabel pada saat program dijalankan.
Membuat breakpoint
Kita bisa menjalankan program baris demi baris, tetapi sebelum kita
melakukannya, kita harus memberhentikan program tersebut di satu tempat terlebih
dahulu. Tempat pemberhentian program sementara ini disebut breakpoint.Untuk
mengeset breakpoint, double klik bagian paling kiri dari baris di mana Anda ingin
program tersebut berhenti.Misalnya pada tampilan berikut, program berhenti di baris
double x=0;.Perhatikan juga bahwa baris yang diberi breakpoint memiliki tanda
bulat di sampingnya.
Gambar 17. Pengujian Sintaks Program Java 2
43
Untuk menghapus breakpoint, double click lagi tanda bulat di baris yang
sudah diberi breakpoint tadi.
Menjalankan program hingga breakpoint
Coba tekan tombol F11 atau "Run ->Debug". Pada saat Anda memulai
debugging, Eclipse akan memberikan pertanyaan bahwa perspective (atau tampilan
Eclipse) Anda akan diubah ke debugging perspective. Tekan Yes untuk mengubah
perspective tersebut.
Gambar 18.Konfirmasi Debugging Perspective
Berikut ini adalah perspektif dalam mode debugging.
Gambar 19.Perspektif Mode Debugging
44
Perhatikan bahwa di samping tanda bulat tadi, ada tanda panah (->) yang
menunjukkan saat ini komputer telah melaksanakan program hingga pada baris ini.Di
samping kanan adalah daftar variabel yang dideklarasikan dalam program ini.Karena
baris yang kita pilih adalah baris pertama setelah deklarasi pada subrutin main, maka
hanya satu variabel yang tersedia, yaitu yang berasal dari arg.
Menjalankan program langkah per langkah
Apabila Anda sudah berada dalam mode debugging, Anda bisa melakukan
navigasi untuk melakukan eksekusi sesuka Anda. Ada beberapa pilhan yang
disediakan oleh Eclipse, semuanya terdapat dalam menu Runyaitu :
Resume melanjutkan eksekusi program yang berhenti.
Suspend menghentikan sementara program yang sedang jalan.
Terminate menghentikan sesi debugging saat ini.
Step Into mengeksekusi SATU perintah atau masuk ke dalam subrutin.
Step Over mengeksekusi SATU perintah. Jika perintah tersebut merupakan
perintah panggilan subrutin, maka subrutin tersebut akan dieksekusi tanpa
masuk ke dalam subrutin yang dipanggil tersebut.
Step Return mengeksekusi seluruh perintah pada subrutin ini kemudian
kembali kepada pemanggilnya.
Run to Line menjalankan program dari baris tempat berhentinya program
sekarang hingga baris yang Anda tentukan. Atau jika di antaranya terdapat
breakpoint lagi, maka program akan berhenti di breakpoint tersebut.
Mari kita coba untuk menjalankan progam satu langkah dengan menggunakan
"Run ->Step Over" atau tombol F6.
Berikut ini adalah screen shot setelah program maju satu langkah. Perhatikan
bahwa tanda panah maju satu langkah. Dan juga karena instruksi pada baris ini adalah
mendeklarasikan variabel x bertipe double, dan kemudian mengisinya dengan 0,
variabel ini akan muncul di kanan atas perspektif Debug.
45
Gambar 19.Tahap Menjalankan Program
Lakukan terus Step Over hingga program berakhir, dan Anda akan melihat
langkah demi langkah bagaimana program dijalankan secara bertahap.
Perlu diingat, pada saat program sampai pada instruksi untuk mengambil input
Anda, klik bagian bawah (tab yang bernama Console), dan masukkan angka sebagai
input kemudian tekan Enter. Lihat bagaimana variabel di kanan atas berubah sesuai
dengan input yang Anda berikan.
Melihat dan mengubah isi variable
Di sini kita jalankan program setiap baris hingga a = a + 1 Kemudian, kita
ingin memperpanjang perulangan, sehingga bukan melakukan 5 kali perulangan,
tetapi 6 kali, yaitu dengan mengubah nilai a menjadi -1. Ini bisa dilakukan yaitu
dengan mengklik nilai dari a, yang semula 0, kemudian diganti menjadi -1, seperti
pada screen shoot berikut:
46
Gambar 20.Mengubah Isi Variabel
Setelah diganti coba jalankan program hingga selesai, misalnya dengan "Run -
>Resume". Jangan lupa untuk memasukkan inputnya di bagian Console. Lihat
sekarang bilangan ke-0 ditanyakan 2 kali, yang artinya user diperintahkan untuk
memasukkan 6 bilangan. Tentunya hasil rata-ratanya salah, karena perhitungan rata-
rata dilakukan dengan rumus x = x/5, dalam hal ini seharusnya adalah 6.
Gambar 21.Hasil Setelah Program Dijalankan
Setelah selesai melakukan debugging, Anda mungkin ingin mengubah
perspektif kembali seperti semula. Caranya, di bagian paling kanan (lihat gambar
dibawah), klik tanda >> kemudian pilihan akan muncul. Klik perspektif Java untuk
mengubahnya menjadi tampilan semula.
Gambar 22.Mengembalikan perspektif seperti semula
47
BAB IV
PENUTUP
4.1 Kesimpulan
Dari pembahasan di atas, penulis menarik kesimpulan bahwa :
1) Java dikenal sebagai bahasa pemrograman yang bersifat strongly, yang berarti
diharuskan mendeklarasikan tipe data dari semua variable yang apabila lupa
atau salah dalam mengikuti aturan pendeklarasian variable, maka akan terjadi
error pada saat proses kompilasi.
2) Tipe data yang terdapat pada bahasa pemrograman Java pada umumnya tidak
jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic,
dan lainnya, yakni terdiri dari integer, floating point, char, dan boolean.
3) Aturan penulisan variabel pada bahasa pemrograman Java juga tidak jauh
berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan
lainnya, yakni harus diawali dengan huruf/abjad, karakter mata uang, dan
underscore ( _ ) dan terdiri dari huruf/abjad, angka, dan underscore ( _ ), serta
tidak boleh menggunakan kata-kata yang dikenal oleh bahasa pemrograman
Java (keyword), seperti byte, case, int, dan lainnya.
4) Sama halnya dengan semua bahasa pemrograman, Java juga menyediakan
operator-operator aritmatika untuk memanipulasi data numerik.
5) Selain operator aritmatika, Java juga mempunyai operator-operator lain,
seperti operator increment dan decrement, operator assignment (penugasan),
operator relasi, operator logical, operator bitwise (yang terdiri dari and, or,
xor, dan complement), dan operator precedence.
4.1 Saran
Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin
banyaknya pesaing yang berkompetisi di bidang pemrograman Java, maka Penulis
menyarankan kepada pembaca (khususnya pemula), untuk sejak dini mempelajari
bahasa pemrograman tersebut.
48
DAFTAR PUSTAKA
Rijalul Fikri, Ipam Fuadim Adam, Imam Prakoso (2005). Pemrograman Java.
Penerbit Andi Offset.Yogyakarta.
Utama, Ginanjar (2003). Berfikir Objektif: Cara Efektif Menguasai Java. Penerbit
IlmuKomputer. Yogyakarta.
Sutarto, Rachmad Hakim (2009). Mastering Java: Konsep Pemrograman Java dan
Penerapannya Untuk Membuat Software Aplikasi.Penerbit Elex
Media Komputindo.Jakarta.
http://hasim319.wordpress.com/2010/01/16/tips-belajar-java/.Diakses pada tanggal 27
Mei 2013.
http://bayazhar.wordpress.com/2013/02/23/pengantar-dasar-pemrograman-java/.
Diakses pada tanggal 27 Mei 2013.

Contenu connexe

Tendances

Paper - Analisa Website Dinomarket.com
Paper - Analisa Website Dinomarket.comPaper - Analisa Website Dinomarket.com
Paper - Analisa Website Dinomarket.comOptima Mijatovic
 
38991136 contoh-laporan
38991136 contoh-laporan38991136 contoh-laporan
38991136 contoh-laporanmadesuryautama
 
Kkp teknik komputer bsi print
Kkp teknik komputer bsi printKkp teknik komputer bsi print
Kkp teknik komputer bsi printRizky Dewi
 
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...Uofa_Unsada
 
Laporan Kerja Praktek Iwan Basinu
Laporan Kerja Praktek Iwan BasinuLaporan Kerja Praktek Iwan Basinu
Laporan Kerja Praktek Iwan BasinuIwan Basinu
 
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...Uofa_Unsada
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...Uofa_Unsada
 
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITAL
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITALLAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITAL
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITALNimroatul_Chasanah
 
Laporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanaLaporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanasaniatyeva
 
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 liteSyiroy Uddin
 
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBIL
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBILLAPORAN RANCANGAN APLIKASI PENITIPAN MOBIL
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBILganjar55
 

Tendances (20)

Paper - Analisa Website Dinomarket.com
Paper - Analisa Website Dinomarket.comPaper - Analisa Website Dinomarket.com
Paper - Analisa Website Dinomarket.com
 
Laporan ujikom
Laporan ujikomLaporan ujikom
Laporan ujikom
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
41826155 laporan-pkl
41826155 laporan-pkl41826155 laporan-pkl
41826155 laporan-pkl
 
38991136 contoh-laporan
38991136 contoh-laporan38991136 contoh-laporan
38991136 contoh-laporan
 
Kkp teknik komputer bsi print
Kkp teknik komputer bsi printKkp teknik komputer bsi print
Kkp teknik komputer bsi print
 
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
 
Tugas imk
Tugas imkTugas imk
Tugas imk
 
Laporan Kerja Praktek Iwan Basinu
Laporan Kerja Praktek Iwan BasinuLaporan Kerja Praktek Iwan Basinu
Laporan Kerja Praktek Iwan Basinu
 
Sistem Operasi
Sistem OperasiSistem Operasi
Sistem Operasi
 
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
 
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITAL
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITALLAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITAL
LAPORAN RESMI PRAKTIKUM TEKNIK OPTIK : FOTOGRAFI DAN PENGOLAHAN CITRA DIGITAL
 
Paket pembelajaran tik
Paket pembelajaran tikPaket pembelajaran tik
Paket pembelajaran tik
 
Laporan Frondy Fix
Laporan Frondy FixLaporan Frondy Fix
Laporan Frondy Fix
 
Laporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanaLaporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhana
 
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
2015-24. mohammad abdul aziz - reamastering windows 7 menggunakan rt7 lite
 
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBIL
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBILLAPORAN RANCANGAN APLIKASI PENITIPAN MOBIL
LAPORAN RANCANGAN APLIKASI PENITIPAN MOBIL
 
Modul praktikum basis data new
Modul praktikum basis data newModul praktikum basis data new
Modul praktikum basis data new
 

En vedette

Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur DataAs Faizin
 
Bab I teori bilangan
Bab I teori bilanganBab I teori bilangan
Bab I teori bilanganHaryono Yono
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 
15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)Safz Cabeza
 

En vedette (7)

Linked list
Linked listLinked list
Linked list
 
Makalah Matriks dalam Struktur Data
Makalah Matriks dalam Struktur DataMakalah Matriks dalam Struktur Data
Makalah Matriks dalam Struktur Data
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur Data
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Bab I teori bilangan
Bab I teori bilanganBab I teori bilangan
Bab I teori bilangan
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)
 

Similaire à Tugas mandiri konsep sistem informasi

Aplikasi mobile sebagai media pengenalan songket menggunakan J2ME
Aplikasi mobile sebagai media pengenalan songket menggunakan J2MEAplikasi mobile sebagai media pengenalan songket menggunakan J2ME
Aplikasi mobile sebagai media pengenalan songket menggunakan J2MEUniversitas Bina Darma Palembang
 
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Fahruly Asyidiq
 
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdfRifqiMultazamOfficia
 
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.042015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04Syiroy Uddin
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadiAris Suryadi
 
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fJbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fbromo telecenter
 
membuat anak dengan visual basic
membuat anak dengan visual basicmembuat anak dengan visual basic
membuat anak dengan visual basicwhereisindra
 
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Jamil Jamil
 
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Jamil Jamil
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsBambang Purnomosidi D. P.
 
Its undergraduate-6775-5104109608-judul
Its undergraduate-6775-5104109608-judulIts undergraduate-6775-5104109608-judul
Its undergraduate-6775-5104109608-judulrandilla
 
Tugas 3 MPPL Kerangka Acuan Kerja 2019
Tugas 3 MPPL Kerangka Acuan Kerja 2019Tugas 3 MPPL Kerangka Acuan Kerja 2019
Tugas 3 MPPL Kerangka Acuan Kerja 2019MuhammadRyandaNM
 
sistem informasi pembelian suku cadang kendaraan bermotor
sistem informasi pembelian suku cadang kendaraan bermotorsistem informasi pembelian suku cadang kendaraan bermotor
sistem informasi pembelian suku cadang kendaraan bermotorKhansa Aqila
 
Sistem pendeteksi wajah
Sistem pendeteksi wajahSistem pendeteksi wajah
Sistem pendeteksi wajahgunawanHR
 
PKL DPT DR INET (RIDHO 16).pdf
PKL DPT DR INET (RIDHO 16).pdfPKL DPT DR INET (RIDHO 16).pdf
PKL DPT DR INET (RIDHO 16).pdfANNISA735564
 

Similaire à Tugas mandiri konsep sistem informasi (20)

1108014
11080141108014
1108014
 
Makalah Jaringan Komputer
Makalah Jaringan KomputerMakalah Jaringan Komputer
Makalah Jaringan Komputer
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Aplikasi mobile sebagai media pengenalan songket menggunakan J2ME
Aplikasi mobile sebagai media pengenalan songket menggunakan J2MEAplikasi mobile sebagai media pengenalan songket menggunakan J2ME
Aplikasi mobile sebagai media pengenalan songket menggunakan J2ME
 
mikrokontroler
mikrokontrolermikrokontroler
mikrokontroler
 
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
 
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf
2022-_Ilmu_Big_Data_dan_Mesin_Cerdas.pdf
 
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.042015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04
2015-25. m. ainur rofiq - remote dekstop pada ubuntu 12.04
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadi
 
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fJbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
 
merapi
merapimerapi
merapi
 
membuat anak dengan visual basic
membuat anak dengan visual basicmembuat anak dengan visual basic
membuat anak dengan visual basic
 
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
 
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
Skripsi perancangan-sistem-informasi-pendataan-biodata-mahasiswa-pada-fakulta...
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
 
Its undergraduate-6775-5104109608-judul
Its undergraduate-6775-5104109608-judulIts undergraduate-6775-5104109608-judul
Its undergraduate-6775-5104109608-judul
 
Tugas 3 MPPL Kerangka Acuan Kerja 2019
Tugas 3 MPPL Kerangka Acuan Kerja 2019Tugas 3 MPPL Kerangka Acuan Kerja 2019
Tugas 3 MPPL Kerangka Acuan Kerja 2019
 
sistem informasi pembelian suku cadang kendaraan bermotor
sistem informasi pembelian suku cadang kendaraan bermotorsistem informasi pembelian suku cadang kendaraan bermotor
sistem informasi pembelian suku cadang kendaraan bermotor
 
Sistem pendeteksi wajah
Sistem pendeteksi wajahSistem pendeteksi wajah
Sistem pendeteksi wajah
 
PKL DPT DR INET (RIDHO 16).pdf
PKL DPT DR INET (RIDHO 16).pdfPKL DPT DR INET (RIDHO 16).pdf
PKL DPT DR INET (RIDHO 16).pdf
 

Plus de Asep Jaenudin

MANAJEMEN DISK Mata Kuliah Sistem Operasi
MANAJEMEN DISK Mata Kuliah Sistem OperasiMANAJEMEN DISK Mata Kuliah Sistem Operasi
MANAJEMEN DISK Mata Kuliah Sistem OperasiAsep Jaenudin
 
Tugas mandiri bahasa indonesia
Tugas mandiri bahasa indonesiaTugas mandiri bahasa indonesia
Tugas mandiri bahasa indonesiaAsep Jaenudin
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...Asep Jaenudin
 
Tugas mandiri aljabar linear & matriks
Tugas mandiri aljabar linear & matriksTugas mandiri aljabar linear & matriks
Tugas mandiri aljabar linear & matriksAsep Jaenudin
 
Tugas mandiri bahasa inggris
Tugas mandiri bahasa inggrisTugas mandiri bahasa inggris
Tugas mandiri bahasa inggrisAsep Jaenudin
 
Tugas Mandiri arsitektur dan organisasi komputer
Tugas Mandiri arsitektur dan organisasi komputerTugas Mandiri arsitektur dan organisasi komputer
Tugas Mandiri arsitektur dan organisasi komputerAsep Jaenudin
 
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...Asep Jaenudin
 

Plus de Asep Jaenudin (9)

MANAJEMEN DISK Mata Kuliah Sistem Operasi
MANAJEMEN DISK Mata Kuliah Sistem OperasiMANAJEMEN DISK Mata Kuliah Sistem Operasi
MANAJEMEN DISK Mata Kuliah Sistem Operasi
 
Tugas mandiri agama
Tugas mandiri agamaTugas mandiri agama
Tugas mandiri agama
 
Tugas mandiri bahasa indonesia
Tugas mandiri bahasa indonesiaTugas mandiri bahasa indonesia
Tugas mandiri bahasa indonesia
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...
Analisis Jurnal Ilmiah - Presentasi tugas mandiri arsitektur dan organisasi k...
 
Tugas mandiri aljabar linear & matriks
Tugas mandiri aljabar linear & matriksTugas mandiri aljabar linear & matriks
Tugas mandiri aljabar linear & matriks
 
Tugas mandiri bahasa inggris
Tugas mandiri bahasa inggrisTugas mandiri bahasa inggris
Tugas mandiri bahasa inggris
 
Tugas Mandiri arsitektur dan organisasi komputer
Tugas Mandiri arsitektur dan organisasi komputerTugas Mandiri arsitektur dan organisasi komputer
Tugas Mandiri arsitektur dan organisasi komputer
 
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...
Analisis Dampak Penerapan Sistem Kerja Lembur (overtime) Terhadap karyawan Ol...
 

Dernier

Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxsalmnor
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANwawan479953
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Abdiera
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanAyuApriliyanti6
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfEniNuraeni29
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxFitriaSarmida1
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYNovitaDewi98
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXIksanSaputra6
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxfitriaoskar
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...pipinafindraputri1
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxrizalhabib4
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...Kanaidi ken
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024DessyArliani
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 

Dernier (20)

Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 

Tugas mandiri konsep sistem informasi

  • 1. TUGAS MANDIRI TIPE DATA DAN OPERASINYA PADA JAVA MATA KULIAH : KONSEP SISTEM INFORMASI PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PUTERA BATAM 2013 Nama :Asep Jaenudin NPM : 120210034 Kode Kelas : 122-SI111-M5 Dosen : Cosmas Eko Suharyanto, S.Kom.
  • 2.
  • 3. i KATA PENGANTAR Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah menganugerahkan rahmat, karunia serta ridha-Nya, sehingga saya dapat menyelesaikan makalah Tugas mandiritentang ”Tipe Data dan Operasinya Pada Java”. Makalah Tugas mandiriini disusun sebagai salah satu Tugas makalah pada mata kuliah Konsep Sistem Informasi. Dalam penulisan makalah ini, saya telah banyak menerima bimbingan dan saran-saran dari berbagai pihak. Maka pada kesempatan ini saya ingin mengucapkan terima kasih yang setulusnya kepada: 1. Bapak Cosmas Eko Suharyanto, selaku Dosen mata kuliah Konsep Sistem Informasi di Universitas Putera Batam yang telah banyak memberikan penjelasan teori yang berkaitan dengan tugas makalah ini. 2. Rekan-rekan serta semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu saya dalam pembuatan makalah ini. Akhirnya saya berharap makalah ini dapat berguna dan dapat dipergunakan sebagaimana mestinya. Saya mengharapkan kritik dan saran untuk kemajuan di masa-masa mendatang. Atas perhatiannya sayaucapkan terima kasih. Batam, 28Mei 2013 Penyusun
  • 4. ii DAFTAR ISI KATA PENGANTAR......................................................................................... i DAFTAR ISI........................................................................................................ ii DAFTAR GAMBAR........................................................................................... iii DAFTAR TABEL ............................................................................................... ii BAB I. PENDAHULUAN................................................................................... 1 1.1 Latar Belakang......................................................................................... 1 1.2 Landasan Teori......................................................................................... 2 1.3 Rumusan Masalah.................................................................................... 3 1.4 Tujuan Penulisan...................................................................................... 3 BAB II. PEMBAHASAN.................................................................................... 4 2.1 Kelebihan dan Kekurangan Teknologi Java............................................ 4 2.1.1Kelebihan Teknologi Java....................................................................... 5 2.1.2Kekurangan Teknologi Java.................................................................... 5 2.2 Komponen Java........................................................................................ 6 2.2.1Lingkungan (Enterprise) Java................................................................. 7 2.2.2 Java Development Kit (JDK)................................................................ 7 2.3 Instalasi Java ............................................................................................. 8 2.4 Memulai Pemrograman Java.................................................................... 13 2.5 Variable dan Tipe Data Pada Java ........................................................... 15 2.5.1Jenis-jenis Variabel................................................................................. 17 2.5.2Literal...................................................................................................... 18 2.5.3 String, Objek dan Subrutin ................................................................... 22 2.6 Operator Pada Java ................................................................................... 29 2.7 Operasi dan Struktur Kontrol Pada Java.................................................. 36 2.8 Membuat Kode, Menguji, dan Mencari Kesalahan (debugging).............. 40 BAB III. PENUTUP............................................................................................ 47 3.1 Kesimpulan............................................................................................... 47 3.2 Saran ........................................................................................................ 47 DAFTAR PUSTAKA.......................................................................................... 48
  • 5. iii DAFTAR GAMBAR 1. Gambar 1. Instal JDK ...................................................................................... 8 2. Gambar 2. Custom JDK ................................................................................... 8 3.Gambar 3. Progress Instalasi JDK .................................................................... 9 4.Gambar 4. JCreator Setup Wizard..................................................................... 9 5.Gambar 5. JCreator License Agreement............................................................ 10 6.Gambar 6. Select Destination Location ............................................................. 10 7.Gambar 7. Select Menu Folder .......................................................................... 11 8.Gambar 8. Select Additional Tasks .................................................................... 11 9.Gambar 9. Ready to Install ................................................................................ 12 10.Gambar 10. Contoh Program Variabel dan Tipe Data (Out put).................... 21 11.Gambar 11. Contoh Program Kelas Math (Output) ........................................ 26 12.Gambar 12. Contoh Program Kelas String (Out put)...................................... 29 13.Gambar 13. Contoh Program Operasi Aritmatika (Out put)........................... 30 14.Gambar 14. Contoh Penerapan Operator Ternary (Out put).......................... 33 15.Gambar 15. Contoh penerapan operasi pemberi nilai (Out put)..................... 36 16.Gambar 16. Pengujian Sintaks Program Java 1.............................................. 40 17.Gambar 17. Pengujian Sintaks Program Java 2.............................................. 42 18.Gambar 18. Konfirmasi Debugging Perspective ............................................. 43 19. Gambar 19. Perspektif Mode Debugging........................................................ 43 20.Gambar 20. Tahap Menjalankan Program...................................................... 44 21.Gambar 21. Mengubah Isi Variabel ................................................................ 45 22. Gambar 22. Hasil Setelah Program Dijalankan............................................ 46 23. Gambar 23. Mengembalikan perspektif seperti semula................................. 46
  • 6. iv DAFTAR TABEL 1. Tabel 1. Tipe Data Primitif.............................................................................. 17 2. Tabel 2. Representasi Bilangan Real............................................................... 19 3. Tabel 3. Operator Aritmatika .......................................................................... 29 4. Tabel 4. Operator Pembanding, Boolean dan Kondisi.................................... 30 5. Tabel 5. Tabel Kebenaran Operasi Boolean AND .......................................... 31 6.Tabel 6. Tabel kebenaran operasi OR ............................................................... 32 7.Tabel 7. Tabel Kebenaran operasi NOT............................................................ 32 8.Tabel 8. Operator Pemberi Nilai....................................................................... 35
  • 7. 1 BAB I PENDAHULUAN 1.1 Latar Belakang Pada abad ke-21 ini, penggunaan teknologi jaringan dalam dunia komputer sudah lumrah dan tidak terbantahkan lagi manfaatnya dalam mendukung berbagai kegiatan manusia.Jaringan ini banyak dimanfaatkan untuk kegiatan pendidikan, bisnis, militer, bahkan untuk game pun juga memanfaatkan jaringan sebagai penghubung dua atau lebih PC yang digunakan untuk bermain game. Tidak salah lagi jika banyak para programmer sekarang ini semakin kreatif dalam membuat inovasi dalam membuat jaringan yang semakin efektif dan efisien penggunaannya. Hal ini dikarenakan banyaknya permintaan dari client yang semakin rumit permintaannya untuk kecepatan transfer data/informasi dalam jaringan itu sendiri, sehingga dibutuhkan jaringan yang aksesnya cepat, tidak lelet, dan tentu saja punya tingkat keamanan yang membuat client nyaman. Penggunaan bahasa pemrograman java dalam dunia jaringan juga semakin banyak kegunaannya, karena java merupakan bahasa pemrograman nomor satu dari berbagai bahasa pemrograman yang sudah ada.Java merupakan bahasa pemrograman populer yang dapat digunakan untuk mengembangkan beraneka ragam tipe aplikasi; mulai dari aplikasi-aplikasi desktop, applet, aplikasi web berskala enterprise, dan juga untuk perangkat-perangkat kecil seperti: pager, telepon selular, maupun PDA. Untuk memenuhi kebutuhan tersebut, Java dikategorikan ke dalam tiga buah edisi: J2SE (Java 2 Standard Edition) untuk mengembangkan aplikasi-aplikasi desktop dan applet J2EE (Java 2 Enterprise Edition) untuk mengembangkan aplikasi-aplikasi berbasis client/server berskala enterprise J2ME (Java 2 Micro Edition) untuk mengembangkan aplikasi-aplikasi yang dapat dijalankan di dalam perangkat kecil. 1.2 Landasan Teori Sejarah Java Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991.Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini
  • 8. 2 pada awalnya disebut ―Oak‖ tapi kemudian diubah menjadi ―Java‖ pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya. Java Modern Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi. Java Virtual Machine (JVM) Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java.Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE.Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan. Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), bytecode ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya. Just In Time Compiler (JIT) Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan
  • 9. 3 dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa. 1.3 Rumusan Masalah Berdasarkan latar belakang yang diangkat, ditemukan beberapa permasalahan yang kiranya akan menjadi bahasan pada penulisan makalah ini, diantaranya yaitu : 1. Apa saja keunggulan dan kekurangan Teknologi Java ? 2. Komponen apa saja yang terdapat dalam Java ? 3. Bagaimana Tahapan Instalasi Pemrograman Java ? 4. Bagaimana memulai Pemrograman Java ? 5. Apa saja variable dan tipe data pada Java? 6. Apa saja operator pada pemrograman Java? 7. Bagaimana operasi dan struktur kontrol pada Java? 8. Bagaimana Membuat kode, menguji, dan mencari kesalahan (debugging)? 1.4 Tujuan Penulisan Makalah ini disusun dengan tujuan sebagai saran untuk mengetahui pesatnya perkembangan teknologi computer di masa sekarang ini, salah satunya di dunia pemrograman yang sekarang semakin banyak diminati.Selain itu, tujuan disusunnya makalah ini adalah untuk memenuhi tugas mandiri mata kuliah Konsep Sistem Informasi, dikarenakan Penulis masih berstatus sebagai mahaiswa Jurusan Teknik Informatika, Universitas Putera Batam.
  • 10. 4 BAB II PEMBAHASAN 2.1 Kelebihan Dan Kekurangan Pemrograman Java Bahasa pemrograman lain yang telah ada sebelum Java lahir sudah merupakan bahasa yang baik dan mudah dipelajari oleh programmer profesional. Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan masalah mereka.Utamanya adalah keamanan kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai Java-Buzzwords.Kata-kata ini menjelaskan berbagai fitur tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima oleh dunia perangkat lunak.Berikut ini adalah penjelasan serta keuntungan dari kata-kata tersebut. Seperti diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan memudahkan programmer profesional untuk dapat mengerti lebih jelas tentang Java, fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek. Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin.Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula dari bahasa pemrograman dasar yang sudah ada pada saat itu.Kemudian mereka membuang berbagai fitur yang rumit dan membingungkan. Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang berorientasi objek.Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi kenyataan dan diterima oleh sebagian besar komunitas pemrograman. Konsep berorientasi objek memungkinkan pembuatan software yang kompleks, berbasis network, sehingga dapat disimpulkan bahwa teknologi Java menghasilkan platform pembuatan perangkat lunak yang baik dan efisien serta berorientasi objek.
  • 11. 5 2.1.1 Kelebihan Teknologi Java Mulai dengan cepat: Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++. Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++ Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat program yang baik, dan automatic garbage collection membantu Anda untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda menggunakan kode yang ada. Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit. Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis spesifik untuk platform tertentu. Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara konsisten pada platform apa saja. Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi secara otomatis. 2.1.2 Kekurangan Teknologi Java Tulis sekali, perbaiki di mana saja – Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas,
  • 12. 6 metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft.NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. Penggunaan memori yang banyak.Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun. 2.2 Komponen Java  JVM (Java Virtual Machine) Java dapat berjalan pada sebuah sistem operasi maka membutuhkan suatu Java Virtual Machine (JVM).JVM sendiri terdiri dari Java Runtime Environment (JRE) dan Java Development Kit (JDK).Sun Microsystems mengeluarkan tiga kelas paket Java, yaitu J2-SE JRE (hanya berisi JRE), J2- SE SDK (berisi JDK + JRE), dan J2-EE SDK (berisi JDK+JRE dan tools untuk aplikasi enterprise).Untuk versi SE (Standard Edition) tersedia gratis pada situs www.Java.com.  IDE (Integrated Development Environment) IDE (Integrated Development Environment) adalah sebuah editor pemrograman sebuah bahasa.Untuk Java sendiri ada banyak IDE yang tersedia dipasaran baik yang bersifat gratis (freeware) ataupun yang berbayar.Beberapa IDE yang populer antara lain, JCreator (www.jcreator.com), Netbeans (www.netbeans.org), JBuilder (www.borland.com/jbuilder), dan lain-lain. Perlu diingat, suatu class merupakan unit yang paling mendasar, dalam pemrograman Java adalah class adalah komponen aplikasi, yang menangani kode dan data dalam pemrograman Java.
  • 13. 7 2.2.1 Lingkungan (Enterprise) Java Kompiler Java mengkonversi kode sumber (source code) menjadi program biner yang terdiri dari bytecode.Bytecode adalah instruksi mesin untuk JavaVirtual Machine. Pada saat Anda mengeksekusi program Java, program yang disebut Java interpreter memeriksa dan kemudian mengeksekusi perintah byte code dalam Java Virtual Machine (JVM). Interpreter Java dapat dijalankan sebagai stand alone atau menjadi bagian dari web browser seperti Netscape Navigator, Internet Explorer dan Mozilla Firefox. Di dalam lingkungan Java, bisa membuat program apa saja seperti: games, animasi, database dll. Java juga mudah dipelajari oleh siapa pun. 2.2.2 Java Development Kit (JDK) Java Development Ki(JDK) berisi sekumpulan tools baris perintah (command- line tool) untuk menciptakan program Java. Rilis JDK dapat di-download dari alamat URL berikut: http://Java.sun.com/products/JDK/index.html. Berikut adalah daftar komponen utama JDK: 1. Compilator (Javac). Kompilasi Javac menghasilkan file bytecode kelas dengan ektensi .class. Kompilator menciptakan suatu file class untuk setiap kelas yang didefinisikan di file sumber. 2. Interpreter program Java (Java). Interpreter untuk menjalankan program bytecode Java.Interpreter bertindak sebagai alat bantu baris printah, untuk menjalankan program Java non-grafis. 3. Applet viewer (applet viewer). Applet viewer adalah alat bantu untuk menguji Java applet secara minimal. 4. Debugger (jdb). Java debugger (jdb) adalah untilitas baris printah untuk melakukan debugging aplikasi Java. 5. Class file disassembler (Javap). Java class file disassembler (Javap) untuk melakukan penguraian (disassemble) terhadap file class. 6. Header and stub file generator (Javah). Header and stub file generator (Javah) untuk menghasilkan C header dan file kode sumber untuk implementasi method-method Java dalam bahasa C. 7. Java documentation generator (Javadoc). Java documentation generator adalah alat bantu untuk menghasilkan dokumentasi API secara langsung dari kode sumber Java.
  • 14. 8 2.3 Instalasi Java Development Kit (JDK) Pada JDK penulis menggunakan JDK 1.6 update 11-windows, setelah itu kita klik setup JDK tersebut, kemudian beberapa saat akan tampil gambar sebagai berikut: Gambar 1. Instal JDK Kemudian pilih tombol Accept, beberapa saat kemudian akan menampilkan gambar, sebagai berikut: Gambar 2. Custom JDK
  • 15. 9 Setelah itu, langsung kita pilih tombol Next saja, maka akan menampilkan: Gambar 3. Progress Instalasi JDK Tunggu beberapa saat, sampai proses selesai. Kemudian dengan begitu Java sudah terinstal pada komputer Anda dan langkah selanjutnya adalah bagaimana cara mengintsal JCreator-nya. Yaitu: Pertama jalankan program JCreator yang sudah download. Maka akan muncul layar seperti gambar dibawah. Gambar 4. JCreator Setup Wizard
  • 16. 10 Klik next, maka akan muncul layar seperti gambar dibawah. Gambar 5. JCreator License Agreement Klik I accept the agreement, kemudian tekan next. Setelah itu akan muncul layar seperti gambar berikut: Gambar 6. Select Destination Location Klik next , karena itu destinasi installation dari JCreator secara default. Klik OK jika muncul layar konfirmasi.
  • 17. 11 Gambar 7. Select Menu Folder Klik next, untuk membuat Start Menu Folder. Gambar 8.Select Additional Tasks Jika ingin menyertakan shortcut, maka klik Create a desktop icon, selanjutnya tekan next.
  • 18. 12 Gambar 9. Ready to Install Jika sudah, klik install, tunggu hingga proses instalasi selesai.Klik Launch JCreator, kemudian tekan Finish. Setelah itu secara otomatik akan muncul layar setting JCreator. Inilah step kunci dari instalasi JCreator. Ketika diminta mengenai destinasi dari JDK, maka secara otomatis akan ada destinasi instalasi JDK jika telah menginstall JDK sebelumnya. mengisi destinasi dari Java Documentation File. Cukup cari dimana tempat menaruh file "docs" . Destinasi JDK : C:..jdk1.6.0 Destinasi Java API : C:..jdk1.6.0docs Atau jika menggunakan JDK versi 1.4, maka destinasinya adalah sbb: JDK : C:j2sdk1.4.2_04 Java API : C:j2sdk1.4.2_04docs Jika setelah menginstall tidak menemukan layar setting, maka ketika layar JCreator telah muncul, masuk ke menu Option, lalu klik Configure. Kemudian pada layar yang muncul, klik pilihan JDK Profiles.Kemudian, klik JDK yang terdapat disana, lalu klik EDIT, yang terdapat disebelah kanan layar. Pastikan destinasi dari JDK dan Documentation file. Kemudian klik OK, Apply, OK. Catatan : Dalam penginstalan JCreator, Anda sebaiknya menginstal JDK terlebih dahulu pada computer.
  • 19. 13 2.4 Memulai Pemrograman Java Program komputer adalah rangkaian instruksi yang diberikan agar komputer dapat bekerja.Suatu pekerjaan yang mungkin sederhana bagi manusia tidak dapat dimengerti oleh komputer.Manusia harus memberikan petunjuk kepada komputer bagaimana melakukan suatutugas dalam bentuk bahasa pemrograman. Bahasa pemrograman berbeda dengan bahasa manusia, karena komputer membutuhkan aturan yang lebih baku apa yang boleh dan apa yang tidak boleh dalam suatu bahasa pemrograman. Aturan ini disebut sintaks bahasa.Sintaks bahasa pemrograman ditentukan berdasarkan apa yang bisa dilakukan oleh komputer, misalnya loop (perulangan), cabang (branch), atau fungsi. Hanya program dengan sintaks yang benar yang dapat dikompilasi atau diinterpretasi yang pada akhirnya bisa dijalankan di komputer. Kompiler akan memberikan pesan kesalahan apabila ada kesalahan dalam sintaks sehingga kita memperbaikinya. Untuk menjadi programmer yang sukses, kita harus mengerti secara detail sintaks dari bahasa pemrograman yang kita akan gunakan. Tetapi, sintaks hanya sebagian cerita.Kita ingin program yang kita buat berjalan sesuai dengan yang kita inginkan.Artinya program tersebut harus benar secara logika.Program yang benar secara logika disebut memiliki semantik yang benar. Program “Selamat Datang” Program―SelamatDatang‖ memiliki 4 komponen, yaitu : definisi paket (package) komentar definisi kelas (class) metode main Sintaks Program: packageselamatdatang; publicclass SelamatDatang { /** * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub System.out.println("Selamat Datang!"); } }
  • 20. 14 Definisi paket (package) packageselamatdatang; Package dalam Java merupakan kumpulan dari berbagai kode yang terangkum dalam satu paket. Untuk memudahkan penulisan dan pembagian logika suatu program, satu paket terbagi menjadi beberapa berkas (file) di mana setiap file memiliki fungsi atau tugas yang sangat khusus, misalnya satu file berfungsi untuk mendeklarasikan konstanta dan kelas, sementara file yang lain berisi implementasi kelas dan prosedurnya. Pada contoh aplikasi SelamatDatang di atas, paket ini hanya berisi satu buah file yang isinya terdiri dari satu kelas dan satu metode.Definisi paket tidak selalu diperlukan, tetapi hal ini merupakan kebiasaan baik untuk melatih kita berfikir secara logis dan sistematis. Komentar /** * @param args */ // TODO Auto-generated method stub Komentar tidak akan diproses oleh kompiler tetapi berguna bagi programmer lain. Bahasa Java memiliki 3 jenis komentar : /* text */ — Compiler akan mengabaikan kata kata antara /* dan */ /** documentation */ — Ini merupakan komentar yang dipergunakan khusus untuk dokumentasi. Kompiler akan mengabaikan komentar dari /* hingga */. Alat bantujavadoc akan memproses komentar dokumentasi untuk membuat dokumentasi secara otomatis dari sumber program. // text — Kompiler akan mengabaikan segala sesuatu dari // hingga akhir baris Definisi Kelas publicclass SelamatDatang { ... } Kelas merupakan bagian integral dari bahasa Java karena Java merupakan bahasa berorientasi objek.Setiap aplikasi harus terdiri dari satu kelas.Di sini kita definisikan kelas SelamatDatang sebagai kelas utama.
  • 21. 15 Metode main Dalam bahasa pemrograman Java, setiap aplikasi harus memiliki satu buah metode main yang bentuknya seperti berikut : publicstaticvoid main(String[] args){ ... } Metode main mirip dengan fungsi main pada bahasa C/C++ di mana fungsi ini merupakan pintu gerbang dimulanya suatu program. Metoda main dapat dipanggil dengan menyertakan variabel, baik hanya satu variabel, banyak variabel atau bahkan tidak ada sama sekali.Yang terakhir adalah perintah berikut untuk menampilkan Selamat Datang pada komputer Anda. System.out.println("Selamat Datang!"); Perintah tersebut menggunakan pustaka inti Java, yaitu kelas Sistem. 2.5 Variabel dan Tipe Data Java Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu" tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain, programmer harus mengerti sintaks dan semantik dari nama. Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan: N n rate x15 quite_a_long_name HelloWorld Hurus kecil dan huruf besar dianggap berbeda, sehingga HelloWorld, helloworld, HELLOWORLD, dan heLLOwoRLD adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved words (kata-kata cadangan) misalnya: class, public, static, if, else, while, dan lain-lain. Hal lain yang penting adalah compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama System.out.println artinya System menampung out dan out
  • 22. 16 menampung println. Kita sebut "sesuatu" sebagai identifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran. Program melakukan manipulasi data yang disimpan dalam memori.Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable. Variabel sebenarnya berarti lebih kompleks.Variabel bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut.Variabel bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama. Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan menggunakan assignment statement, atau pernyataan pemberian nilai. Pernyataan ini berbentuk: variable= ekspresi; di mana ekspresi menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan menyimpan hasilnya ke dalam variabel. Contoh: kecepatan=40; Variable dalam pernyataan di atas adalah kecepatan dan ekspresinya adalah angka 40.Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel kecepatan, dan mengganti apapun yang telah disimpan sebelumnya. Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks: jarak= kecepatan * waktu Di sini, * merupakan operasi perkalian.Komputer mengambil data yang disimpan dalam variabel kecepatan dan waktu, melakukan perkalian, dan menyimpan hasilnya dalam jarak. Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.
  • 23. 17 Ada 8 tipe data primitif dalam bahasa Java: Jenis Data Deskripsi Ukuran Minimum Maksimum boolean Hanya bisa berisi benar atau salah 1-bit char Karakter Unicode 16-bit byte Bilangan bulat 8-bit -127 128 short Bilangan bulat 16-bit -32768 32767 int Bilangan bulat 32-bit -2147483648 2147483647 long Bilangan bulat 64-bit -9223372036854775808 9223372036854775807 float Bilangan riil 32-bit 1.40129846432481707e- 45 3.40282346638528860e+38 double Bilangan riil 64-bit 4.94065645841246544e- 324 1.79769313486231570e+308 Tabel 1. Tipe Data Primitif Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi variable berbentuk seperti : nama_tipe nama_variabel; Nama_variabel dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama lain. Misalnya: float num; Stringnama; Stringnama; boolean bol; int x,y; Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut: int num =1000; char ch ='e'; float angka =-1.504; boolean bol =true;
  • 24. 18 2.5.1 Jenis-jenis Variabel Ada beberapa jenis variabel Java yang dapat dikelompokkan sebagai berikut : Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya. Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan. Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut. Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda. 2.5.2 Literal Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya: int angka =10; Pada pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat beberapa jenis literal yang melambangkan bilangan bulat, riil, kalimat, atau boolean. Literal Bilangan Bulat Bilangan bulat dapat dilambangkan dalam beberapa bentuk.Bilangan bulat biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan nol. int angka =-10;
  • 25. 19 Bilangan oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri dari angka-angka 0 hingga 7.Bilangan oktal ditulis seperti bilangan bulat biasa dimulai dengan 0. // 22 basis delapan atau 18 dalam desimal int angka = 022; Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x. // 2a heksadesimal atau 42 dalam desimal int angka = 0x2a; Long integer. Seperti dijelaskan pada bab terdahulu long integer membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada akhir bilangan. int angka = 22L; Literal Karakter Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya ‗a‘ atau ‗3′ atau ‗=‘. Suatu karakter dapat juga dilambangkan dengan kode ASCII nya.Caranya dengan memulainya dengan u00 (garis miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk heksadesimal. // huruf 'A' dalam ASCII char huruf ='u0041'; Selain itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan dengan escape sequence. Berikut ini beberapa contohnya. n = tombol enter atau baris baru. r = carriage return. t = tombol tab. b = tombol backspace. = karakter ‘ = karakter ‗ ‖ = karakter ‖ Literal Boolean Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false. boolean ok =true;
  • 26. 20 Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter. Literal Bilangan Riil Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau E). Tipe Ukuran Rentang Presisi (jumlah digit) bytes bit float 4 32 +/- 3.4 x 1038 6-7 double 8 64 +/- 1.8 x 10308 15 Tabel 2. Representasi Bilangan Real Imbuhan akhir d atau D dan f atau F dapat pula ditambahkan untuk menentukan tipenya secara eksplisit.Berikut beberapa contohnya. double d = 3.27E+32; float f = 4f; float pi =3.14159; Literal String Stringmerupakan untaian huruf dan angka yang tersusun menjadi satu kalimat.Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut. Stringsalam="Selamat Datang"; String juga dapat mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya: String hallo ="Selamat Datang "Bapak Presiden""; System.out.println("Hallo BambangnSelamat pagi,nSemoga hari anda cerahn"; Literal Null Literal terakhir pada bahasa java adalah literal null.Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh
  • 27. 21 objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya: obj=null; Literal null berfungsi memberi tahu garbage collector (pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar dapat digunakan oleh objek lain. Contoh Program Variabel dan Tipe Data Berikut ini adalah listing program penghitungan bunga bank: packagebungabank; publicclass BungaBank { /** * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub /* Deklarasi variable */ double pokok; // nilai investasi double sukubunga; // suku bunga bank double bunga; // nilai bunga /* Perhitungan */ pokok =20000; sukubunga =0.10; // sama dengan 10% bunga = pokok * sukubunga; pokok = pokok + bunga; /* Cetak hasil keluaran */ System.out.print("Bunga yang dihasilkan adalah Rp. "); System.out.println(bunga); System.out.print("Nilai investasi setelah 1 tahun adalah Rp. "); System.out.println(pokok); } } Berikut adalah hasil keluarannya (Out put): Gambar 10. Contoh Program Variabel dan Tipe Data (Out put)
  • 28. 22 2.5.3 String, Objek dan Subrutin Bagian sebelumnya memperkenalkan 8 jenis tipe data primitif dan tipe data String. Perbedaan mendasar antara tipe primitif dan Stringadalah : nilai dari tipe String berupa objek. Objek akan dibahas pada bagian lain mengenai kelas (class). Di bagian ini kita akan belajar bagaimana String digunakan dan juga mempelajari konsep pemrograman penting yang lain, yaitu subrutin. Subrutin adalah kumpulan instruksi program yang digabungkan sehingga memiliki fungsi tertentu.Dalam bahasa Java, setiap subrutin termasuk di dalam bagian suatu kelas atau objek.Java menyediakan kelas standar yang siap digunakan.Nilai tipe String adalah objek yang memiliki kumpulan subrutin yang dapat digunakan untuk memanipulasi String tersetbut.Kita bisa memanggil subrutin tersebut tanpa harus mengerti bagaimana subrutin tersebut bekerja. Sebenarnya ini adalah tujuan subrutin, yaitu sekumpulan perintah yang memiliki fungsi tertentu tanpa harus mengetahui secara detail apa yang terjadi di dalam. Kelas terdiri dari variabel dan subrutin yang disimpan di dalamnya.Variabel dan subrutin ini disebut static member (anggota statis). Contohnya adalah pada program SelamatDatang, kelas SelamatDatang memiliki anggota main() yang merupakan anggota statis kelas itu. Anggota yang berupa static member diberi imbuhan static, seperti pada main(). Fungsi kelas yang lain adalah untuk mendeskripsikan suatu objek. Kelas di sini berfungsi seperti tipe data.Nilai yang disimpan dalam tipe data itu adalah objek. Misalnya String sebenarnya merupakan nama kelas yang disediakan bahasa Java. String juga berupa tipe data dan kalimat seperti "Selamat Datang!" adalah isi dari tipe data String. Kegunaan kelas baik sebagai gabungan subrutin ataupun sebagai objek sering membingungkan.Misalnya kelas String juga menyimpan beberapa subrutin statik selain juga sebagai tipe data.Contoh kelas standar lainnya adalah Math yang berisi kumpulan subrutin statik untuk melakukan berbagai perhitungan matematis. Kelas sebagai tipe data Mari mulai dengan melihat kembali subrutin System.out.print.Subrutin ini digunakan untuk menampilkan pesan kepada user.
  • 29. 23 Misalnya System.out.print("Selamat datang!") menampilkan pesan Selamat datang! System merupakan salah satu kelas standar Java.Salah satu anggotanya bernama out. Karena variable ini berada di dalam kelas System, kita harus memanggilnya dengan nama lengkapnya yaitu System.out. Variabel System.out merupakan suatu objek, dan objek itu memiliki subrutin yang bernama print. Pengenal campuran System.out.print mengacu pada subrutin print di dalam objek out dalam kelas System. Untuk melihat dari sisi lain, sebetulnya System.out merupakan objek dari kelas PrintStream. PrintStream adalah salah satu kelas standar Java.Objek dengan tipe PrintStream adalah objek tempat informasi bisa dicetak. Setiap objek yang bertipe PrintStream memiliki subrutin bernama print yang bertugas untuk mencetak sesuatu ke medium tersebut. Dalam hal ini System.out adalah tujuan tempat print dilakukan. Objek lain yang bertipe PrintStream bisa mengirim informasi ke tujuan lain, misalnya file atau network atau ke komputer lain. Ini adalah esensi dari pemrograman berorientasi objek, di mana beberapa hal yang memiliki kesamaan - dalam hal PrintStream sama-sama sebagai tempat tujuan print - dapat digunakan dengan cara yang sama, yaitu memanggil subrutin print.) Karena nama variabel, nama kelas, dan nama subrutin berbentuk hampir sama, ada baiknya untuk membedakannya sehingga di kemudian hari program dapat dibaca dengan jelas. Kelas standar Java menggunakan nama yang selalu dimulai dengan huruf besar, sedangkan nama variabel dimulai dengan huruf kecil. Ini bukan sintaks Java, tetapi lebih seperti konvensi. Setiap orang bebas menggunakan konvensinya masing-masing, tetapi apabila pemrograman dilakukan secara bersama-sama, seperti pada open source programming, konvensi yang sama akan sangat memudahkan orang lain membaca dan menguji program yang kita buat. Nama subrutin juga dimulai dengan huruf kecil, sama dengan nama variabel. Tetapi subrutin harus diikuti dengan tanda buka kurung sehingga masih mudah dibedakan dengan nama variabel. Kelas sebagai kumpulan subrutin dan variabel static Selain sebagai tipe data, kelas System juga memiliki subrutin statik yang bernama exit. Memanggil System.exitakan menghentikan jalannya program, dan digunakan apabila karena suatu hal (misalnya program telah selesai atau adanya error)
  • 30. 24 program harus dihentikan. Subrutin exit menerima parameter bilangan bulat, misalnya System.exit(0) atau System.exit(1), untuk memberitahu kepada sistem operasi alasan kenapa program dihentikan. Status 0 berarti program berhenti normal tanpa adanya error, sedangkan status lain berarti ada sesuatu yang salah yang terjadi di tengah eksekusi program tersebut.Setiap subrutin melakukan fungsi tertentu.Beberapa di antaranya melakukan perhitungan lalu melaporkan hasil perhitungannya. Ada juga yang berfungsi untuk mengambil data dari tempat tertentu dan melaporkan data yang didapat. Subrutin jenis ini disebut function (fungsi). Fungsi adalah subrutin yang mengembalikan (return) suatu nilai. Nilai yang dikembalikan akan digunakan lebih lanjut dalam program. Sebagai contoh adalah fungsi untuk menghitung akar kuadrat dari suatu bilangan.Java memiliki fungsi seperti itu yang disebut Math.sqrt.Fungsi ini merupakan anggota statik dari kelas yang bernama Math.Jika x adalah suatu bilangan, makan Math.sqrt(x) menghitung akar kuadrat dari x dan mengembalikan hasil perhitungannya. Karena Math.sqrt(x) mengembalikan suatu bilangan, kita tidak bisa memanggil fungsi ini seperti: Math.sqrt(x);// Tidak masuk akal! Kita tentunya ingin menggunakan hasilnya untuk instruksi selanjutnya, misalnya menuliskan hasilnya di layar seperti System.out.print(Math.sqrt(x));// Menampilkan akar kuadrat x di layar. atau menyimpan hasilnya pada variabel lain, seperti: panjangDiagonal=Math.sqrt(x); Kelas Math Kelas Math memiliki banyak fungsi statik. Beberapa yang penting di antaranya: Math.abs(x), menghitung nilai mutlak (absolut) dari x. Nilai mutlak bilangan negatif adalah bilangan positif, dan bilangan positif tetap bilangan positif. Fungsi trigonometri Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat) Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai trigonometric, kebalikan dari fungsi trigonometri, seperti arcus sin, arcus cos, dan arcus tangen. Math.asin(x), Math.acos(x), and Math.atan(x).
  • 31. 25 Math.exp(x), menghitung pangkat dari bilangan natural e, atau ex . Dan logaritma natural loge x atau ln x bisa dihitung dengan menggunakan fungsi Math.log(x). Math.pow(x,y) menghitung xy atau x pangkat y. Math.floor(x) menghitung pembulatan ke bawah dari suatu bilangan riil, misalnya 3.84 akan dibulatkan ke bawah menjadi 3.0. Math.random() memilih bilangan acak di antara 0.0 dan 1.0. Komputer memiliki algoritma perhitungan tertentu yang hasilnya bilangan acak (meskipun bulan bilangan yang betul-betul acak, tetapi cukup untuk kebanyakan fungsi). Paremeter (nilai di dalam kurung) fungsi-fungsi di atas bisa bertipe numerik apa saja (misalnya double, int, dll), tetapi keluarannya bertipe double, kecuali abs(x) yang tipe keluarannya sama dengan tipe parameternya. Math.random() tidak memiliki parameter, tetapi tanda kurungnya harus tetap ditulis untuk membedakan fungsi dan variabel. Contoh fungsi lain yang tidak memiliki parameter adalah System.currentTimeMillis() yang berguna untuk mengambil waktu saat ini dalam satuan milidetik, dihitung sejak 1 Januri 1970 waktu GMT. Satu milidetik sama dengan 1 per 1000 detik. Keluarannya bertipe long. Untuk menghitung waktu yang diperlukan untuk menjalankan suatu perintah, jalankan fungsi System.currentTimeMillis() sebelum dan sesudah suatu instruksi dijalankan. Perbedaannya adalah waktu yang diperlukan untuk menjalankan suatu instruksi. Contoh Program Kelas Math Berikut ini adalah listing program untuk melakukan beberapa perhitungan matematika, menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan untuk melakukan perhitungan tersebut. packagewaktukomputasi; publicclass WaktuKomputasi { /** * Program ini akan melakukan beberapa perhitungan matematika, * menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan
  • 32. 26 * untuk melakukan perhitungan tersebut * * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub long waktuMulai; long waktuSelesai; waktuMulai=System.currentTimeMillis(); double panjang, lebar, sisiMiring; // sisi segitiga siku-siku panjang=18.0; lebar=27; sisiMiring=Math.sqrt(panjang*panjang + lebar*lebar); System.out.print("Segitiga siku-siku dengan panjang 18 dan lebar 27 memiliki sisi miring "); System.out.println(sisiMiring); System.out.println("nSecara matematis, sin(x)*sin(x) + " +"cos(x)*cos(x) - 1 = 0"); System.out.println("Mari kita cek untuk x = 1 :"); System.out.print("sin(1)*sin(1) + cos(1)*cos(1) - 1 = "); System.out.println(Math.sin(1)*Math.sin(1) +Math.cos(1)*Math.cos(1)-1); System.out.println("(Mungkin akan ada kesalahan desimal dalam " +"perhitungan bilangan real!)"); System.out.print("nIni adalah bilangan acak : "); System.out.println(Math.random()); waktuSelesai=System.currentTimeMillis(); System.out.print("nTotal waktu perhitungan : "); System.out.print((waktuSelesai - waktuMulai)/1000.0); System.out.println(" detik"); } } Berikut adalah hasil keluarannya : Gambar 11. Contoh Program Kelas Math Kelas String
  • 33. 27 Nilai suatu String adalah objek.Objek ini berisi rangkaian huruf yang membentuk string.Objek tersebut juga berisi subrutin.Misalnya length adalah fungsi yang menghitung panjang suatu string, atau jumlah karakter dalam suatu string. Misalnya string str yang dideklarasikan sebagai berikut : Stringstr; str="Hari ini cerah sekali!" Untuk menghitung jumlah karakter dalam string str, panggil fungsi str.length() yang keluarannya bertipe int. Fungsi ini tidak membutuhkan parameter. Fungsi length merupakan anggota kelas String dan dapat digunakan oleh semua data yang bertipe String. Dan juga bisa digunakan oleh literal string, misalnya program berikut menghitung jumlah karakter dalam string "Indonesia Raya" : System.out.print("Jumlah karakter dalam "Indonesia Raya" adalah "); System.out.print("Indonesia Raya".length()); System.out.println(" karakter"); Kelas String memiliki beberapa fungsi di antaranya : s1.equals(s2) adalah fungsi yang mengembalikan nilai boolean (true atau false). Fungsi ini akan menghasilkan true jika s2 sama dengan s1, dan salah jika tidak. Kesamaan yang diuji adalah kesamaan persis baik kapitalnya maupun urutan huruf-hurufnya. s1.equalsIgnoreCase(s2) juga menghasilkan nilai boolean yang menguji apakah string s2 sama dengan s1 dengan tidak membandingkan kapitalnya. "Kucing".equalsIgnoreCase("kucing") menghasilkan true. s1.length(). Seperti diulas sebelumnya, fungsi ini menghitung jumlah karakter dalam string s1. s1.charAt(N). N adalah integer (bilangan bulat). Fungsi ini mengembalikan karakter ke-N dari string s1. Karakter pertama dihitung sebagai posisi ke-0. s1.charAt(0) berarti mengambil karakter pertama, sedangkan s1.charAt(1) berarti mengambil karakter ke-2, dan seterusnya. Karakter terakhir memiliki indeks s1.length()-1. Fungsi ini akan mengeluarkan pesan kesalahan apabila N bernilai negatif atau lebih besar dari s1.length()-1. s1.substring(N,M), di mana N dan M bilangan bulat. Fungsi ini mengambil potongan string antara karakter ke-N hingga karakter M-1. Catatan bahwa
  • 34. 28 karakter ke-M tidak ikut diambil. Kita contohkan Misalnya, "jalan layang".substring(1,4) menghasilkan "ala". s1.indexOf(s2) mengembalikan nilai integer. Fungsi ini mencari string s2 di dalam string s1, dan apabila ditemukan mengembalikan posisi awal s2 di dalam s1. Jika tidak ditemukan, fungsi ini akan mengembalikan -1. Fungsi ini bisa juga digunakan untuk mencari string s2 dalam s1 setelah posisi ke-N dalam string s1. Misalnya, "kelapa muda".indexOf("a") menghasilkan 3, sedangkan "kelapa muda".indexOf("a",6) menghasilkan 10. s1.compareTo(s2) membandingkan s2 dan s1. Jika s1 dan s2 sama, hasilnya 0. Jika s1 kurang dari s2, hasilnya bilangan negatif , dan jika s1 lebih besar dari s2, hasilnya bilangan positif. "Kurang dari" atau "lebih dari" mengacu pada urutannya dalam abjad jika keduanya huruf kecil atau keduanya huruf besar. Jika kapitalnya berbeda, perbandingannya bergantung pada nilai ASCII- nya. s1.toUpperCase() adalah fungsi untuk mengubah seluruh huruf dalam s1 menjadi huruf besar. s1.toLowerCase() berfungsi untuk mengubah huruf dalam s1 menjadi hurug kecil. s1.trim() adalah berfungsi menghapus karakter yang tak bisa dicetak, misalnya spasi, baris baru, enter, yang ada sebelum atau sesudah suatu kalimat. Misalnya " selamat pagi bu ".trim() menghasilkan "selamat pagi bu". Untuk s1.toUpperCase(), s1.toLowerCase(), s1.trim() nilai s1 tidak berubah. Fungsi ini melakukan perhitungan kemudian mengembalikan string baru hasil perhitungan tersebut.Kita bisa juga menggunakan tanda + menyambung 2 string. Misalnya "mata" + "hari" menjadi "matahari".Nilai yang dapat disambungkan bukan hanya string dan string, tetapi juga string dan angka, misalnya "jalan" + 2 menjadi "jalan2". Contoh Program Kelas String Berikut ini adalah listing program untuk melakukan beberapa contoh menggunakan kelas String, menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan untuk melakukan perhitungan tersebut.
  • 35. 29 packagecontohstring; publicclass ContohString { /** * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub // demo String.length() dan operator + untuk menghubungkan karakter String str; str ="Hari ini cerah sekali!"; System.out.println("Panjang string ""+ str +"" adalah "+ str.length()); System.out.print("Jumlah karakter dalam "Indonesia Raya" adalah "); System.out.print("Indonesia Raya".length()); System.out.println(" karakter"); // demo equals dan compareTo System.out.println(""jambu" = "Jambu"? "+"jambu".equals("Jambu")); System.out.println("ignore case "jambu" = "Jambu"? "+"jambu".equalsIgnoreCase("Jambu")); } } Berikut adalah hasil keluarannya : Gambar 12. Contoh Program Kelas String 2.6 Operator Pada Java Operator Aritmatika Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh penggunaan : Simbol Nama operator Contoh penggunaan + Operator penjumlahan n = n + 1; - Operator pengurangan n = n - 1;
  • 36. 30 * Operator perkalian n = n * 1; / Operator pembagian n = n / 1; % Operator sisa pembagian n = n % 1; + Operator penyambung string n = "saya "+"tidur"; Tabel 3. Operator Aritmatika Contoh pada program: packageoperatoraritmatika; publicclass OperatorAritmatika { /** * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub int x =2; int y =5; int z =3; int g =0; g = x + y; System.out.println("Penjumlahan (x+y) : "+ g); g = y - x; System.out.println("Pengurangan (y-x) : "+ g); g = x * y; System.out.println("Perkalian (x*y) : "+ g); g = y / x; System.out.println("Pembagian (y/x) : "+ g); g = z % y; System.out.println("Sisa pembagian (z%x) : "+ g); g = x +(y *(z/x)); System.out.println("Hasilnya sekarang : "+ g); } } Keluaran Program : Gambar 13. Contoh Program Operasi Aritmatika
  • 37. 31 Operator Pembanding, Boolean dan Kondisi Operator kondisi (conditional operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator kondisi yang kedua operand-nya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika. Catatan : Pada objek, seperti String, operasi pembanding akan membandingkan alamat memory tempat objek itu disimpan, bukan membandingkan isinya. Untuk membandingkan isi String, gunakan equals(), equalsIgnoreCase(), dan compareTo() seperti dibahas pada bagian sebelumnya. Simbol Nama operator Contoh == Sama dengan b = (1 == 2); != Tidak sama dengan b = (1 == 2); > Lebih besar b = (1 > 2); >= Lebih besar atau sama dengan b = (1 >= 2); < Lebih kecil b = (1 < 2); <= Lebih kecil atau sama dengan b = (1 <= 2); && Conditional AND b = true && false; || Conditional OR b = true || false; ! NOT b = !true; ?: Bentuk pendek dari if-then-else Tabel 4. Operator Pembanding, Boolean dan Kondisi 1. Operator boolean AND Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai "true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false". Berikut ini tabel kebenaran operasi booleanAND: Op1 atau Exp1 Op2 atau Exp2 Hasil true true true true false false false true false false false false Tabel 5. Tabel Kebenaran Operasi Boolean AND
  • 38. 32 Operator &&akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "true". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "false", hasilnya akan selalu "false" tidak tergantung pada isi dari Op2. 2. Operator kondisi OR Operator kondisi OR menghasilkan "true" jika salah satu operandnya bernilai "true". Jika keduanya "false", operator ini menghasilkan "false". Berikut ini tabel kebenaran operasi OR: Op1 atau Exp1 Op2 atau Exp2 Hasil true true true true false true false true true false false false Tabel 6. Tabel kebenaran operasi OR Operator || akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "false". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "true", hasilnya akan selalu "true" tidak tergantung pada isi dari Op2. 3. Operator NOT Operator NOT ("!") melakukan operasi boolean NOT pada operand atau ekspresi tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi kemudian membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel kebenaran operasi NOT: Op1 Hasil true false false true Tabel 7. Tabel Kebenaran operasi NOT 4. Operator Ternary (?:) Java memiliki operator berkondisi lain yang disebut ternary "?:", yang pada dasarnya merupakan bentuk pendek dari if-then-else. Secara umum: kondisi ? jika_benar : jika_salah
  • 39. 33 Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai "true", operator akan mengembalikan "jika_benar", tetapi apabila "kondisi" bernilai "false", operator akan mengembalika "jika_salah". Misalnya: x =(1>2)?10:20 Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau "false"). Contoh Program: packageoperatorkondisi; publicclass OperatorKondisi { /** * Contoh program menggunakan operator kondisi * * @param args */ publicstaticvoid main(String[] args){ // TODO Auto-generated method stub int x =5; int y =10, angka =0; boolean bl =true; if((x ==5)&&(x < y)) System.out.println("Nilai x adalah "+ x); if((x == y)||(y >1)) System.out.println("Nilai y lebih besar dari x"); angka = bl ? x : y; System.out.println("Angka yang keluar adalah "+ angka); } } Berikut adalah hasil keluarannya : Gambar 14. Contoh Penerapan Operator Ternary Operator Pemberi Nilai & Type Casting Operator merupakan simbol untuk melakukan perhitungan atau suatu operasi pada satu atau lebih dari satu hal.Setelah kita mendeklarasi dan mengisi suatu variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti penambahan, pengurangan dan sebagainya.
  • 40. 34 Operator Pemberi Nilai Operator penugasan dan pemberian nilai merupakan operator yang paling umum dalam semua bahasa pemrograman. Operator ini dilambangkan dengan "=" yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan variabel atau angka di sebelah kanan operator. Operator ini juga dapat digunakan untuk memberikan referensi kepada suatu objek. Beberapa contoh : Stringnama="Budi"; boolean dewasa =true; // buat objek baru Shape s1 =newShape(); // beri referensi s1 kepada s2 Shape s2 = s1; // nilai sebelumnya diganti dewasa=false; Anda dapat juga memberikan nilai kepada beberapa variabel secara bersamaan.Misalnya : x = y = z =2; x =(y + z); Operator "=" dievaluasi dari kanan ke kiri. Pada ekspresi pertama, angka 2 diberikan kepada "z", kemudian nilai yang disimpan "z" diberikan kepada "y", dan kemudian "y" ke "x" secara bersamaan. Pada ekspresi kedua, nilai hasil evaluasi pertambahan dimasukkan ke variabel "x". Pada dasarnya, kedua sisi tanda "=" harus memiliki tipe yang sama. Misalnya x = A, x dan A harus memiliki tipe yang sama. Bagaimana jika tidak, misalnya: int A; short B; A =17; B =(short)A; Pada kode di atas, B akan mengambil nilai A yang sudah dikonversi ke tipe short. Tanda (short) dalam kurung artinya menginstruksikan Java untuk mengubah nilai A menjadi short sebelum diberikan kepada B.
  • 41. 35 Perubahan tipe ini disebut type casting. Kita bisa mengubah tipe apa saja, tetapi karena rentang tiap tipe berbeda, maka nilainya belum tentu sama dengan nilai aslinya. Misalnya (short)100000 adalah -31072. Untuk perubahan tipe dari bilangan real (float atau double) ke bilangan bulat, Java melakukan type casting dengan memangkas desimalnya. Jadi 3.56 akan diubah menjadi 3 dalam bilangan bulat. Nilai char juga bisa diubah ke dalam bilangan bulat, yaitu dengan menggantinya dengan bilangan Unicode-nya. Selain operasi "=", Java juga memiliki operator pemberian nilai beruntun, dan dapat digunakan oleh semua operator aritmatika, manipulasi bit, atau pergeseran bit. Misalnya pada ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian hasilnya disimpan kembali ke "x". x +=2; Table berikut menunjukkan semua operator pemberian nilai yang dapat Anda gunakan sehingga kode Anda menjadi lebih efisien dan mudah dibaca. Operator Contoh Ekspresi setara += x += y; x = (x + y); -= x -= y; x = (x - y); *= x *= y; x = (x * y); /= x /= y; x = (x / y); %= x %= y; x = (x % y); &= x &= y; x = (x & y); |= x |= y; x = (x | y); ^= x ^= y; x = (x ^ y); <<= x <<= y; x = (x << y); >>= x >>= y; x = (x >> y); >>>= x >>>= y; x = (x >>> y); Tabel 8. Operator Pemberi Nilai Contoh Program: packageoperatorpemberinilai; publicclass OperatorPemberiNilai { /** * Contoh program menggunakan operator pemberi nilai (assignment operator) * * @param args */
  • 42. 36 publicstaticvoid main(String[] args){ // TODO Auto-generated method stub int x =5; int y =10; x += y; System.out.println("Hasil penjumlahan : "+ x); x -= y; System.out.println("Hasil pengurangan : "+ x); x *= y; System.out.println("Hasil perkalian : "+ x); x /= y; System.out.println("Hasil pembagian : "+ x); x %= y; System.out.println("Sisa pembagian : "+ x); x &= y; System.out.println("Hasil operasi AND : "+ x); x |= y; System.out.println("Hasil operasi OR : "+ x); x <<= y; System.out.println("Hasil operasi pergeseran bit ke kiri :"+ x); } } Keluaran programnya : Gambar 15. Contoh penerapan operasi pemberi nilai 2.7 Operasi Dan Struktur Kontrol Pada Java Komponen mendasar dari suatu program - variabel, ekspresi, penyataan, dan pemanggilan subrutin - telah dijelaskan pada Penjelasan sebelumnya. Mulai dari sekarang, kita akan melihat bagaimana komponen dasar tersebut berinteraksi sehingga menjadi program yang lebih kompleks.
  • 43. 37 Kompleksitas program akan lebih dititikberatkan pada apa yang bisa dilakukan dari dalam sebuah subrutin. Lebih khusus, akan dijelaskan lebih lanjut tentang struktur kontrol. Struktur kontrol, yaitu perulangan (loop) dan percabangan (branch), dapat digunakan untuk mengulangi perintah berulang-ulang atau untuk memilih dua atau lebih skenario. Java memiliki beberapa struktur kontrol dan kita akan lihat secara lebih detail kemudian. Jika kita dihadapkan pada suatu permasalahan yang akan dipecahkan oleh program komputer, bagaimana caranya kita berfikir untuk merancang program tersebut. Kita akan melihat sebagian jawabannya di bab ini, dan kemudian akan kita gunakan dalam beberapa contoh yang tersedia. Blok, Perulangan, dan Percabangan Kemampuan suatu program untuk melakukan tugas kompleks dilakukan dengan menggabungkan perintah sederhana menjadi struktur kontrol. Dalam bahasa Java, ada 6 struktur tersebut, yaitu blok, perulangan while, perulangan do ... while, perulangan for, pernyataan if, dan pernyataan switch. Masing-masing struktur ini sebetulnya merupakan pernyataan tunggal yang berdiri dengan sendirinya, tetapi di dalamnya terdiri dari satu atau lebih perintah sehingga keseluruhannya menjadi suatu struktur perintah. Blok Blok adalah pernyataan sederhana yang dimulai dengan { dan diakhiri dengan }. Tujuannya untuk mengelompokkan beberapa perintah sehingga lebih dimengerti. Misalnya { perintah } Pernyataan blok biasanya terdapat dalam struktur kontrol, tetapi sebetulnya tanpa struktur kontrol pun, blok tetap berlaku. Contoh sederhana penggunaan blok ini adalah dalam subrutin main() yang kita lakukan pada contoh-contoh sebelumnya. Berikut ini adalah 2 contoh penggunaan blok: { System.out.println("Hallo"); System.out.println("Dunia"); }
  • 44. 38 {// blok ini digunakan untuk menukar isi variable x dan y int temp; temp= x; x = y; y = temp; } Pada blok kedua, kita mendeklarasikan variable baru temp. Dalam blok kedua ini, variabel apapun yang dideklarasikan tidak akan dapat diakses dari luar blok ini. Variabel ini disebut variabel lokal, karena hanya bisa diakses dari dalam blok. Ketika komputer menjalankan program ini, komputer akan mempersiapkan memori untuk menyimpan variabel yang dideklarasikan di dalam blok ini. Ketika blok ini selesai dijalankan, komputer akan melepas memori yang digunakan dalam blok ini untuk digunakan oleh bagian program lain. Konsep "scope" atau jangkauan pada konsep pemrograman, mengacu pada bisa atau tidaknya suatu variabel dilihat oleh bagian program lain. Jangkauan suatu variabel menyatakan di bagian mana variabel ini valid atau dengan kata lain bisa diakses. Jangkauan variabel dalam suatu blok terbatas hanya pada blok tersebut. Blok sendiri sebetulnya bukan merupakan struktur kontrol. Program akan berjalan seperti biasa dari atas kebawah seperti biasa. Secara umum struktur kontrol dibagi menjadi 2 bagian, yaitu :perulangan dan percabangan. Perulangan Sebagai contoh untuk membahas tentang perulangan, kita lihat pernyataan while, yang memiliki bentuk seperti: while(suatu_kondisi){ perintah } Semantik pada pernyataan while tersebut adalah sebagai berikut. Ketika komputer sampai pada pernyataan while, komputer akan melakukan perhitungan pada suatu_kondisi. Apabila suatu_kondisi bernilai true, blok yang berisi perintah akan dilakukan. Setelah komputer sampai pada bagian akhir blok, komputer akan menghitung kembali suatu_kondisi. Jika masih bernilai true, maka blok tersebut akan dieksekusi, dan jika tidak, program akan melompat ke bagian program berikutnya setelah blok berakhir. Atau dengan kata lain, jika suatu_kondisi bernilai false, blok perintah tidak akan dieksekusi.
  • 45. 39 Berikut ini adalah contoh untuk menulis bilangan 1 hingga 5. int angka =1;// inisialisasi variabel, kita mulai dengan mengisi variabel angka dengan 1 while(angka <=5){ System.out.println(angka);// cetak isi angka di layar angka= angka +1;// tambah angka dengan 1 } System.out.println("Selesai..."); Variabel angka kita inisialiasi (persiapkan) dan kita isi mula-mula dengan 1. Ketika program sampai pada pernyataan while, program akan mengevaluasi apakah angka <=5. Pada saat program baru dimulai, angka masih bernilai 1, sehingga pernyataan angka <=5 bernilai true. Dalam hal ini perintah di dalam blok akan dieksekusi, yaitu mencetak angka ke layar, kemudian menambah angka dengan 1. Sekarang angka bernilai 2. Setelah sampai pada akhir blok, program akan kembali pada awal pernyataan while. Sekarang angka bernilai 2, dan karena 2 masih kurang dari atau sama dengan 5, program akan kembali mengeksekusi perintah dalam blok. Begitu seterusnya hingga angka bernilai 6. Pada saat ini program akan berhenti melakukan perulangan dan berhenti melakukan eksekusi perintah di dalam blok tersebut, kemudian melakukan perintah berikutnya, yaitu menampilkan kata "Selesai...". Percabangan Pernyataan if memperintahkan komputer untuk memilih salah satu aksi yang akan dilakukan, tergantung pada suatu kondisi tertentu. Bentuknya dapat ditulis sebagai berikut: if(suatu_kondisi) perintah_1; else perintah_2; Perintah_1 dan perintah_2 juga bisa berbentuk blok, sehingga pernyataan di atas dapat ditulis juga sebagai berikut: if(suatu_kondisi){ perintah_1; }else{ perintah_2; }
  • 46. 40 Ketika komputer sampai pada pernyataan if, komputer akan menghitung apakah suatu_kondisi bernilai true. Jika iya, maka blok perintah berikutnya akan dieksekusi, dalam hal ini perintah_1. Jika tidak, maka blok setelah pernyataan else akan dieksekusi, yaitu perintah_2. Sebagai contoh, mari kita kembali pada contoh program untuk membalik nilai x dan y, dengan syarat x harus lebih besar dari y. Dalam hal ini, setelah program ini dieksekusi, nilai x akan selalu bernilai lebih kecil dari y, karena jika nilai x lebih besar, nilai x akan ditukar dengan nilai y. if(x > y){// jika x lebih besar dari y // blok ini digunakan untuk menukar isi variable x dan y int temp; temp= x; x = y; y = temp; } Contoh berikut adalah program untuk menentukan apakah suatu bilangan merupakan bilangan genap atau bilangan ganjil. Dengan menggunakan operator %, yaitu sisa pembagian, kita dapat menentukan apabila sisa pembagian suatu bilangan dengan 2 adalah 0, maka bilangan tersebut merupakan bilangan genap.Jika tidak, maka bilangan tersebut adalah bilangan ganjil. if((x %2)==0){ System.out.println(x +" adalah bilangan genap"); }else{ System.out.println(x +" adalah bilangan ganjil"); } 2.8 Membuat kode, menguji, dan mencari kesalahan (debugging) Akan sangat sederhana dan indah apabila program yang kita tulis akan berjalan 100% tanpa kesalahan sama sekali. Kita tinggal memencet tombol run, dan semuanya berjalan sesuai rencana.Nyatanya tidak demikian. Coba Anda ganti salah satu dari beberapa contoh yang sudah diberikan dengan mengganti salah satu kurung { menjadi (. Kemudian pada Eclipse, jalankan dengan "Run ->Run". Lihat apa yang terjadi. Eclipse akan menampilkan pesan kesalahan, itu artinya secara sintaks, atau format penulisan program ada memiliki kesalahan, dan Anda harus memperbaikinya sebelum program bisa dijalankan.
  • 47. 41 Gambar 16. Pengujian Sintaks Program Java 1 Sintaks adalah salah satu cara menentukan bagaimana komputer harus bekerja. Manusia tidak membutuhkan sintaks untuk berbicara karena manusia bisa menentukan mana subjek, predikat, atau objek dengan mudah, bahkan untuk kalimat yang belum pernah dibaca atau didengar sekalipun.Bagi komputer, sintaks membantu komputer mengelola logika, mana yang merupakan variabel, mana yang berupa subrutin, mana perulangan, mana percabangan dan lain-lain. Dalam bahasa Java, yang merupakan bahasa dengan sintaks ketat, perbedaan sintaks sedikit saja membuat Java tidak mengerti apa yang dimaksud dalam program. Bagi beberapa programmer, ketidakluwesan Java mungkin menghambat, tetapi perlu diingat bahwa kesalahan hanya datang dari manusia.Ketidakluwesan Java membantu programmer harus menggunakan logika yang benar, dan tidak boleh salah dalam menggunakan variabel.Variabel yang sudah ditentukan tipenya tidak dapat diubah ditengah jalan, kecuali dengan membuat variabel baru dengan tipe yang berbeda. Debugging Ketika program Anda tidak menunjukkan kesalahan sintaks, bukan berarti program Anda bebas dari kesalahan. Program harus diuji apakah ia berjalan sesuai dengan yang diharapkan. Idealya apabila program menerima input yang tidak sesuai dengan yang diharapkan, program akan memberikan pesan kepada penggunanya tentang kesalahan tersebut, bukan tiba-tiba keluar tanpa pesan.
  • 48. 42 Kita mungkin harus melakukan testing secara lebih perlahan-lahan. Apabila jumlah baris dalam program kita kecil, mungkin kesalahan tersebut dengan mudah akan kita temui. Tetapi apabila program tersebut sangat besar, maka mencari kesalahan yang kelihatannya sederhana tidaklah mudah. Pencarian kesalahan ini dalam bahasa pemrograman disebut dengan "debugging", yang jika diterjemahkan ke dalam bahasa Indonesia berarti membersihkan kutu, karena kesalahan kecil dianggap sebagai kutu yang mengganggu jalannya program. Eclipse menyediakan peralatan untuk melakukan debugging, yaitu dengan menekan tombol "Run ->Debug". Dalam Eclipse, debugging yang bisa dilakukan antara lain: membuat breakpoint (tempat berhenti program), mengeksekusi satu demi satu perintah, mengeksekusi satu subrutin, melihat isi variabel saat ini, dan bahkan mengganti variabel pada saat program dijalankan. Membuat breakpoint Kita bisa menjalankan program baris demi baris, tetapi sebelum kita melakukannya, kita harus memberhentikan program tersebut di satu tempat terlebih dahulu. Tempat pemberhentian program sementara ini disebut breakpoint.Untuk mengeset breakpoint, double klik bagian paling kiri dari baris di mana Anda ingin program tersebut berhenti.Misalnya pada tampilan berikut, program berhenti di baris double x=0;.Perhatikan juga bahwa baris yang diberi breakpoint memiliki tanda bulat di sampingnya. Gambar 17. Pengujian Sintaks Program Java 2
  • 49. 43 Untuk menghapus breakpoint, double click lagi tanda bulat di baris yang sudah diberi breakpoint tadi. Menjalankan program hingga breakpoint Coba tekan tombol F11 atau "Run ->Debug". Pada saat Anda memulai debugging, Eclipse akan memberikan pertanyaan bahwa perspective (atau tampilan Eclipse) Anda akan diubah ke debugging perspective. Tekan Yes untuk mengubah perspective tersebut. Gambar 18.Konfirmasi Debugging Perspective Berikut ini adalah perspektif dalam mode debugging. Gambar 19.Perspektif Mode Debugging
  • 50. 44 Perhatikan bahwa di samping tanda bulat tadi, ada tanda panah (->) yang menunjukkan saat ini komputer telah melaksanakan program hingga pada baris ini.Di samping kanan adalah daftar variabel yang dideklarasikan dalam program ini.Karena baris yang kita pilih adalah baris pertama setelah deklarasi pada subrutin main, maka hanya satu variabel yang tersedia, yaitu yang berasal dari arg. Menjalankan program langkah per langkah Apabila Anda sudah berada dalam mode debugging, Anda bisa melakukan navigasi untuk melakukan eksekusi sesuka Anda. Ada beberapa pilhan yang disediakan oleh Eclipse, semuanya terdapat dalam menu Runyaitu : Resume melanjutkan eksekusi program yang berhenti. Suspend menghentikan sementara program yang sedang jalan. Terminate menghentikan sesi debugging saat ini. Step Into mengeksekusi SATU perintah atau masuk ke dalam subrutin. Step Over mengeksekusi SATU perintah. Jika perintah tersebut merupakan perintah panggilan subrutin, maka subrutin tersebut akan dieksekusi tanpa masuk ke dalam subrutin yang dipanggil tersebut. Step Return mengeksekusi seluruh perintah pada subrutin ini kemudian kembali kepada pemanggilnya. Run to Line menjalankan program dari baris tempat berhentinya program sekarang hingga baris yang Anda tentukan. Atau jika di antaranya terdapat breakpoint lagi, maka program akan berhenti di breakpoint tersebut. Mari kita coba untuk menjalankan progam satu langkah dengan menggunakan "Run ->Step Over" atau tombol F6. Berikut ini adalah screen shot setelah program maju satu langkah. Perhatikan bahwa tanda panah maju satu langkah. Dan juga karena instruksi pada baris ini adalah mendeklarasikan variabel x bertipe double, dan kemudian mengisinya dengan 0, variabel ini akan muncul di kanan atas perspektif Debug.
  • 51. 45 Gambar 19.Tahap Menjalankan Program Lakukan terus Step Over hingga program berakhir, dan Anda akan melihat langkah demi langkah bagaimana program dijalankan secara bertahap. Perlu diingat, pada saat program sampai pada instruksi untuk mengambil input Anda, klik bagian bawah (tab yang bernama Console), dan masukkan angka sebagai input kemudian tekan Enter. Lihat bagaimana variabel di kanan atas berubah sesuai dengan input yang Anda berikan. Melihat dan mengubah isi variable Di sini kita jalankan program setiap baris hingga a = a + 1 Kemudian, kita ingin memperpanjang perulangan, sehingga bukan melakukan 5 kali perulangan, tetapi 6 kali, yaitu dengan mengubah nilai a menjadi -1. Ini bisa dilakukan yaitu dengan mengklik nilai dari a, yang semula 0, kemudian diganti menjadi -1, seperti pada screen shoot berikut:
  • 52. 46 Gambar 20.Mengubah Isi Variabel Setelah diganti coba jalankan program hingga selesai, misalnya dengan "Run - >Resume". Jangan lupa untuk memasukkan inputnya di bagian Console. Lihat sekarang bilangan ke-0 ditanyakan 2 kali, yang artinya user diperintahkan untuk memasukkan 6 bilangan. Tentunya hasil rata-ratanya salah, karena perhitungan rata- rata dilakukan dengan rumus x = x/5, dalam hal ini seharusnya adalah 6. Gambar 21.Hasil Setelah Program Dijalankan Setelah selesai melakukan debugging, Anda mungkin ingin mengubah perspektif kembali seperti semula. Caranya, di bagian paling kanan (lihat gambar dibawah), klik tanda >> kemudian pilihan akan muncul. Klik perspektif Java untuk mengubahnya menjadi tampilan semula. Gambar 22.Mengembalikan perspektif seperti semula
  • 53. 47 BAB IV PENUTUP 4.1 Kesimpulan Dari pembahasan di atas, penulis menarik kesimpulan bahwa : 1) Java dikenal sebagai bahasa pemrograman yang bersifat strongly, yang berarti diharuskan mendeklarasikan tipe data dari semua variable yang apabila lupa atau salah dalam mengikuti aturan pendeklarasian variable, maka akan terjadi error pada saat proses kompilasi. 2) Tipe data yang terdapat pada bahasa pemrograman Java pada umumnya tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni terdiri dari integer, floating point, char, dan boolean. 3) Aturan penulisan variabel pada bahasa pemrograman Java juga tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni harus diawali dengan huruf/abjad, karakter mata uang, dan underscore ( _ ) dan terdiri dari huruf/abjad, angka, dan underscore ( _ ), serta tidak boleh menggunakan kata-kata yang dikenal oleh bahasa pemrograman Java (keyword), seperti byte, case, int, dan lainnya. 4) Sama halnya dengan semua bahasa pemrograman, Java juga menyediakan operator-operator aritmatika untuk memanipulasi data numerik. 5) Selain operator aritmatika, Java juga mempunyai operator-operator lain, seperti operator increment dan decrement, operator assignment (penugasan), operator relasi, operator logical, operator bitwise (yang terdiri dari and, or, xor, dan complement), dan operator precedence. 4.1 Saran Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin banyaknya pesaing yang berkompetisi di bidang pemrograman Java, maka Penulis menyarankan kepada pembaca (khususnya pemula), untuk sejak dini mempelajari bahasa pemrograman tersebut.
  • 54. 48 DAFTAR PUSTAKA Rijalul Fikri, Ipam Fuadim Adam, Imam Prakoso (2005). Pemrograman Java. Penerbit Andi Offset.Yogyakarta. Utama, Ginanjar (2003). Berfikir Objektif: Cara Efektif Menguasai Java. Penerbit IlmuKomputer. Yogyakarta. Sutarto, Rachmad Hakim (2009). Mastering Java: Konsep Pemrograman Java dan Penerapannya Untuk Membuat Software Aplikasi.Penerbit Elex Media Komputindo.Jakarta. http://hasim319.wordpress.com/2010/01/16/tips-belajar-java/.Diakses pada tanggal 27 Mei 2013. http://bayazhar.wordpress.com/2013/02/23/pengantar-dasar-pemrograman-java/. Diakses pada tanggal 27 Mei 2013.