Tugas mandiri konsep sistem informasi

76
TUGAS MANDIRI TIPE DATA DAN OPERASINYA PADA JAVA MATA KULIAH : KONSEP SISTEM INFORMASI Nama : Asep Jaenudin NPM : 120210034 Kode Kelas : 122-SI111-M5 Dosen : Cosmas Eko

description

Makalah Tugas mandiri konsep sistem informasi Semester 2

Transcript of Tugas mandiri konsep sistem informasi

Page 1: Tugas mandiri  konsep sistem informasi

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.

Page 2: Tugas mandiri  konsep sistem informasi

KATA PENGANTAR

Segala puji dan syukur penulis panjatkan ke hadirat Allah SWT yang telah

menganugerahkan rahmat, karunia serta ridha-Nya, sehingga saya dapat

menyelesaikan makalah Tugas mandiri tentang ”Tipe Data dan Operasinya

Pada Java”. Makalah Tugas mandiri ini 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 saya ucapkan terima kasih.

Batam, 28 Mei 2013

Penyusun

i

Page 3: Tugas mandiri  konsep sistem informasi

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.1 Kelebihan Teknologi Java.............................................................. 5

2.1.2 Kekurangan Teknologi Java........................................................... 5

2.2 Komponen Java........................................................................................ 6

2.2.1 Lingkungan (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.1 Jenis-jenis Variabel........................................................................ 17

2.5.2 Literal............................................................................................. 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

ii

Page 4: Tugas mandiri  konsep sistem informasi

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 (Out put)...................................... 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

iii

Page 5: Tugas mandiri  konsep sistem informasi

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

iv

Page 6: Tugas mandiri  konsep sistem informasi

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

1

Page 7: Tugas mandiri  konsep sistem informasi

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

2

Page 8: Tugas mandiri  konsep sistem informasi

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.

3

Page 9: Tugas mandiri  konsep sistem informasi

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.

4

Page 10: Tugas mandiri  konsep sistem informasi

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,

5

Page 11: Tugas mandiri  konsep sistem informasi

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.

6

Page 12: Tugas mandiri  konsep sistem informasi

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 Java Virtual

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.

7

Page 13: Tugas mandiri  konsep sistem informasi

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

8

Page 14: Tugas mandiri  konsep sistem informasi

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

9

Page 15: Tugas mandiri  konsep sistem informasi

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.

10

Page 16: Tugas mandiri  konsep sistem informasi

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.

11

Page 17: Tugas mandiri  konsep sistem informasi

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.0\docs

Atau jika  menggunakan JDK versi 1.4, maka destinasinya

adalah sbb: 

JDK : C:\j2sdk1.4.2_04

Java API : C:\j2sdk1.4.2_04\docs

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,

12

Page 18: Tugas mandiri  konsep sistem informasi

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.

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 “Selamat Datang” memiliki 4 komponen, yaitu :

definisi paket (package)

komentar

definisi kelas (class)

metode main

Sintaks Program:

package selamatdatang; public class SelamatDatang { 

/** * @param args */public static void main(String[] args) {

13

Page 19: Tugas mandiri  konsep sistem informasi

// TODO Auto-generated method stubSystem.out.println("Selamat Datang!");

} }

Definisi paket (package)

package selamatdatang;

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 bantu javadoc akan memproses komentar dokumentasi untuk membuat

dokumentasi secara otomatis dari sumber program.

// text — Kompiler akan mengabaikan segala sesuatu dari // hingga akhir baris

Definisi Kelas

public class SelamatDatang { ...

14

Page 20: Tugas mandiri  konsep sistem informasi

}

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.

Metode main

Dalam bahasa pemrograman Java, setiap aplikasi harus memiliki satu buah

metode main yang bentuknya seperti berikut :

public static void 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

15

Page 21: Tugas mandiri  konsep sistem informasi

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

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

16

Page 22: Tugas mandiri  konsep sistem informasi

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.

Ada 8 tipe data primitif dalam bahasa Java:

Jenis Data

Deskripsi Ukuran Minimum Maksimum

booleanHanya 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-bit1.40129846432481707e-45

3.40282346638528860e+38

double Bilangan riil 64-bit4.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;String nama;String nama;boolean bol;int x,y;

17

Page 23: Tugas mandiri  konsep sistem informasi

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;

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;

18

Page 24: Tugas mandiri  konsep sistem informasi

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;

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.

19

Page 25: Tugas mandiri  konsep sistem informasi

\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;

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).

TipeUkuran

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

String merupakan 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.

String salam = "Selamat Datang";

20

Page 26: Tugas mandiri  konsep sistem informasi

String juga dapat mengandung karakter spesial seperti dibahas pada literal

karakter. Misalnya:

String hallo = "Selamat Datang \"Bapak Presiden\"";System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari

anda cerah\n";

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

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: package bungabank; public class BungaBank { 

/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub

 /* Deklarasi variable */double pokok; // nilai investasidouble sukubunga; // suku bunga bankdouble 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);

21

Page 27: Tugas mandiri  konsep sistem informasi

  }}

Berikut adalah hasil keluarannya (Out put):

Gambar 10. Contoh Program Variabel dan Tipe Data (Out put)

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 String adalah : 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.

22

Page 28: Tugas mandiri  konsep sistem informasi

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.

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

23

Page 29: Tugas mandiri  konsep sistem informasi

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.exit akan menghentikan jalannya program, dan

digunakan apabila karena suatu hal (misalnya program telah selesai atau adanya error)

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:

24

Page 30: Tugas mandiri  konsep sistem informasi

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).

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

25

Page 31: Tugas mandiri  konsep sistem informasi

Berikut ini adalah listing program untuk melakukan beberapa perhitungan

matematika, menampilkan hasilnya di layar, dan melaporkan waktu yang diperlukan

untuk melakukan perhitungan tersebut.

package waktukomputasi; public class WaktuKomputasi { 

/** * Program ini akan melakukan beberapa perhitungan

matematika, * menampilkan hasilnya di layar, dan melaporkan waktu yang

diperlukan * untuk melakukan perhitungan tersebut * * @param args */public static void main(String[] args) {

// TODO Auto-generated method stublong waktuMulai;long waktuSelesai;

 waktuMulai = System.currentTimeMillis();

 double panjang, lebar, sisiMiring; // sisi

segitiga siku-sikupanjang = 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"); 

}}

26

Page 32: Tugas mandiri  konsep sistem informasi

Berikut adalah hasil keluarannya :

Gambar 11. Contoh Program Kelas Math

Kelas String

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 :

String str;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.

27

Page 33: Tugas mandiri  konsep sistem informasi

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

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 28

Page 34: Tugas mandiri  konsep sistem informasi

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.

package contohstring; public class ContohString { 

/** * @param args */public static void 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 compareToSystem.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

29

Page 35: Tugas mandiri  konsep sistem informasi

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;

* 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:

package operatoraritmatika; public class OperatorAritmatika { 

/** * @param args */public static void 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 :

30

Page 36: Tugas mandiri  konsep sistem informasi

Gambar 13. Contoh Program Operasi Aritmatika

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-elseTabel 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

31

Page 37: Tugas mandiri  konsep sistem informasi

true false false

false true false

false false false

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:

32

Tabel 5. Tabel Kebenaran Operasi Boolean AND

Page 38: Tugas mandiri  konsep sistem informasi

kondisi ? jika_benar : jika_salah

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:

package operatorkondisi; public class OperatorKondisi { 

/** * Contoh program menggunakan operator kondisi * * @param args */public static void 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

33

Page 39: Tugas mandiri  konsep sistem informasi

variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti

penambahan, pengurangan dan sebagainya.

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 :

String nama = "Budi";boolean dewasa = true;

 // buat objek baruShape s1 = new Shape();

 // beri referensi s1 kepada s2Shape s2 = s1;

 // nilai sebelumnya digantidewasa = 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;

34

Page 40: Tugas mandiri  konsep sistem informasi

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.

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:

package operatorpemberinilai; public class OperatorPemberiNilai { 

/**

35

Page 41: Tugas mandiri  konsep sistem informasi

* Contoh program menggunakan operator pemberi nilai (assignment operator)

* * @param args */public static void main(String[] args) {

// TODO Auto-generated method stubint 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

36

Page 42: Tugas mandiri  konsep sistem informasi

sekarang, kita akan melihat bagaimana komponen dasar tersebut berinteraksi sehingga

menjadi program yang lebih kompleks.

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:

37

Page 43: Tugas mandiri  konsep sistem informasi

{ System.out.println("Hallo"); System.out.println("Dunia");} { // 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

38

Page 44: Tugas mandiri  konsep sistem informasi

setelah blok berakhir. Atau dengan kata lain, jika suatu_kondisi bernilai false, blok

perintah tidak akan dieksekusi.

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:

39

Page 45: Tugas mandiri  konsep sistem informasi

if (suatu_kondisi) { perintah_1;} else { perintah_2;}

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.

40

Page 46: Tugas mandiri  konsep sistem informasi

Eclipse akan menampilkan pesan kesalahan, itu artinya secara sintaks, atau

format penulisan program ada memiliki kesalahan, dan Anda harus memperbaikinya

sebelum program bisa dijalankan.

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

41

Page 47: Tugas mandiri  konsep sistem informasi

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.

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.

42

Page 48: Tugas mandiri  konsep sistem informasi

Gambar 17. Pengujian Sintaks Program Java 2

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.

43

Page 49: Tugas mandiri  konsep sistem informasi

Gambar 19. Perspektif Mode Debugging

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 Run yaitu :

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.

44

Page 50: Tugas mandiri  konsep sistem informasi

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.

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

45

Page 51: Tugas mandiri  konsep sistem informasi

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:

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

46

Page 52: Tugas mandiri  konsep sistem informasi

dibawah), klik tanda >> kemudian pilihan akan muncul. Klik perspektif Java untuk

mengubahnya menjadi tampilan semula.

Gambar 22. Mengembalikan perspektif seperti semula

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),

47

Page 53: Tugas mandiri  konsep sistem informasi

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.

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

Ilmu Komputer. 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.

48