satuan acara perkuliahan

advertisement
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
1
Pemrograman Java Dasar (Standard Edition)
Pokok Bahasan
Pendahuluan
Sub Pokok Bahasan
1.
2.
3.
4.
5.
6.
Dasar Pemrograman
Java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Pertemuan
Sekilas ruang lingkup matakuliah
Review beberapa materi dari
matakuliah lain yang terkait (sebagai
prasyarat, paralel dan saling
mendukung)
Sistem pembelajaran, penilaian dan
hal lainnya.
Sejarah Bahasa Pemrogrmaan Java
Kelebihan Java
Edisi & Platform Java
1
Instalasi Java dan Setting
Pengenalan Netbeans & Eclipse
Cara Kerja dan Jenis Aplikasi Java
Struktur Dasar Program Java
Komentar
Operasi Masukan & Keluaran
Literal
Tipe Data
Deklarasi Variabel & Konstanta
Operator Aritmatika
Operator Penambahan &
Pengurangan
Operator Penugasan
Operator Bit
Operator Type Casting
Operasi String dan Character
Operasi Matematik
Operasi Waktu
Sub Program (Procedure & Functon)
Penanganan Kesalah
2-3
Javapemula:61
Javapemula:48
Javapemula:87
Seleksi & Kondisi
1. if-else
2. switch-case
3. Operator Logika
3
Pengulangan
1.
2.
3.
4.
5.
4
Array
1. Array 1 Dimensi
2. Array Multi-Dimensi
Pengenalan
Pemrograman Orientasi
Objek
1. Konsep Pemrograman Berorientasi
Objek
2. Class dan Object
3. Method/Fungsi
4. Ruang Lingkup Variabel &
Method/Fungsi
5. Penggunaan This
6. Constructor & Overloading
7. Inheritance
8. Polymorphism
9. Interface
Evaluasi Mid
do-while
while
for
continue
break
Keterangan
5
Javapemula:93
5-6
Javapemula:64
7
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
Dasar Pemrograman
GUI Pada Java
Dasar Pemrograman
Akses Data pada Java
Review
Review
Evaluasi Akhir
Ujian/Tugas
Referensi
1.
2.
3.
4.
Dasar Pemrograman Java, Abdul Kadir, Andi 2004
Tuntunan Pemrograman Java Jilid 1-3, Rangsang Purnama, Prestasi Pustaka 2003
Semua Bisa Menjadi Programmer Java, Yuniar Supardi, Elex Media komputindo 2010
Membuat Aplikasi Windows Multiplatform dengan Java GUI, Ridwan Sanjaya, Elex
Media Komputindo 2003
5. Membuat Aplikasi Profesional dengan Java, Wahana Komputer 2005
Topik Lain
Java Standard Edition (Lanjutan)
Multithreading
Networking
Graphics & Game
Java Enterprise Edition (Java Web)
JSP
Servlet
Java Mobile Edition
Java FX
2
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
3
1. SEJARAH BAHASA PEMROGRAMAN JAVA
Kelahiran bahasa Java dimulai tahun 1991. Bahasa Java merupakan proyek penelitian Sun
Microsystems yang diberi nama kode Green, dimotori oleh Patrick Naughton, Mike
Sheridan, James Gosling, Chris Warth dan Ed Frank, beserta beberapa orang pemrogram
lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah
maskot Duke yang dibuat oleh Joe Palrang. Proyek ini bertujuan membangun
sebuah sistem yang memungkinkan komputer berperan dalam peralatan rumah
tangga. Fokus pertama proyek adalah pada TV kabel yang disebut set-top box.
Idenya adalah agar para pengguna televisi dapat memesan film, membeli
barang dan sebagainya melalui televisi. Dikarenakan peralatan-peralatan ini
menggunakan konsumsi daya dan memory yang kecil/rendah, maka diperlukan
sebuah sistem operasi dengan bahasa prog ram berukuran sangat kecil. Selain
itu setiap vendor dapat menggunakan CPUs (Central Processing Unit) yang berbeda, maka
bahasa tersebut harus bersifat multiplatfrom serta tidak terikat hanya pada satu arsitektur
(Architecture Neutral) sehingga diperlukan sebuah Virtual Machine yang berasal dari model
implementasi bahasa Pascal yang pernah dicoba sebelumnya oleh Niclaus Wirth, tetapi
karena insinyur-insinyur Sun berlatar belakang Unix maka mereka mendasari bahasa
pemograman mereka dengan C++. Produk yang dihasilkan pada tahun 1992 adalah *7
(seven star).
Akan tetapi James Gosling (salah seorang anggota tim proyek) merasa tidak puas dengan
bahasa C++. Akhirnya Ia membuat sendiri bahasa pemrograman baru yang diberi nama
Oak. Nama tersebut diambil dari nama pohon yang terlihat dari jendela kantornya. Oak
dibuat berdasarkan pada syntax bahasa C++. Namun Oak lebih sederhana dari C++, lebih
stabil dan lebih mendukung network-programming. Selain itu Oak dibuat murni objectoriented. Bahasa Oak dibuat sebagai bahasa yang tidak terikat pada satu platform (crossplatform atau multi-platform). Tahun 1994, proyek Green diperbesar oleh Sun menjadi
proyek FirstPerson. Tapi proyek tersebut gagal akibat penolakan pasar terhadap ide TV
interaktif.
Pada saat itu Internet memulai sejarah baru dengan www (world wide web), browser GUI
pertama muncul tahun 1993 yaitu Mosaic buatan NCSA (National Center for
Supercomputing Applications). Sun merasa bahasa Oak yang multi-platform serta ditujukan
untuk pemrograman interaktif dan distributed sangat cocok untuk dunia Web. Tahun 1995,
nama Oak diganti dengan nama Java karena ada produk lain yang telah mematenkan nama
tersebut. Nama ini diambil dari nama jenis kopi. Bersamaan dengan lahirnya nama Java ini,
Sun juga mengganti nama web-browser mereka menjadi HotJava (semula
bernama WebRunner tahun 1994). Sun kemudian mengumumkan bahasa Java
sebagai bahasa yang mampu menjalankan Web secara interaktif dan aman
(menjalankan kode program dengan fitur applet) pada 25 mei 1995 dan sejak
saat itu browser java memberikan lisensinya kepada browser lain untuk dapat
menjalankan applet. Akhir tahun 1995, IBM dan Microsoft memutuskan untuk
membeli lisensi Java. Pada tahun 1996 dikeluarkan versi pertama java 1.2 dengan
slogamnya “write once, run anywhere (WORA)”.
2. KELEBIHAN JAVA
Kelebihan Java, antara lain:
a. Multiplatform, dapat dijalankan di beberapa platform/ sistem operasi komputer, sesuai
dengan prinsip tulis sekali, jalankan di mana saja (WORA). Dengan kelebihan ini
pemrogram cukup menulis sebuah program Java dan dikompilasi menjadi bahasa
mesin (bytecode), kemudian hasilnya dapat dijalankan di atas beberapa platform tanpa
perlu perubahan. Teknologi Java Virtual Machine (JVM), sebuah mesin imajiner (maya)
yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata, menyediakan
spesifikasi hardware dan platform dimana kompilasi kode Java terjadi.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
4
b. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek).
c. Perpustakaan kelas yang lengkap, Java terkenal dengan kelengkapan
perpustakaan (library) yaitu kumpulan program program yang disertakan dalam
pemrograman java yang sangat memudahkan dalam penggunaan oleh para pemrogram
untuk membangun aplikasinya. Bergaya C++, memiliki sintaks seperti bahasa
pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
d. Pengumpulan sampah otomatis (Garbage Collection), memiliki fasilitas pengaturan
penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan
memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
e. MultiThread. Kemampuan untuk melakukan beberapa proses sekaligus pada saat
bersamaan. Thread pada Java memiliki kemampuan memanfaatkan teknologi
multiprocessor.
f. Kapasitas Java pada lingkungan web dibanding beberapa bahasa lainnya adalah
sebagai berikut:
g. Portabel yaitu Source code maupun program Java dapat dengan mudah dibawa ke
platform yang berbeda-beda tanpa harus dikompilasi ulang.
h. Code Security terimplementasi pada Java melalui penggunaan Java Runtime
Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi
sistem dari untrusted Java Code.
Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter, proses
ini menyediakan pengamanan dengan memisahkan kelas-kelas yang berasal dari
local disk dengan yang diambil dari jaringan sehingga membatasi aplikasi Trojan
karena kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.
Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin
bytecode memenuhi aturan-aturan dasar bahasa Java.
Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan
mengendalikan akses program terhadap sumber daya seperti sistem file, port
jaringan, proses eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.
i. Java juga menyediakan beragam teknik pengamanan lain:
Bahasa dirancang untuk mempersulit eksekusi kode perusak dengan meniadakan
pointer yang merupakan hal yang luar biasa untuk optimasi dan pembuatan program
yang efisien melalui pengaksesan tak diotorisasi namun dapat menjadi petaka oleh
pemrogram jahat.
Applet java diamankan dengan tidak diperbolehkan melakukan open, read atau write
terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela
browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi
terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai
permintaan keterangan username dan password.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
5
3. EDISI & PLATFORM JAVA
Bahasa pemrograman Java terdiri dari beberapa edisi, yaitu:
- Java Standard Edition (SE)
- Java Enterprise Edition (EE)
- Java Micro Edition (ME)
- Java Card (digunakan pada SmartCard, SIMCard dan sejenisnya)
- Java FX (rich Internet applications yang dapat berjalan di berbagai perangkat yang
saling terhubung, desktop, browser, ponsel, TV set-top boxes, gaming consoles, Bluray players dan lainnya.
Diagram platform java (Standard Edition 7 - http://docs.oracle.com/javase/7/docs/)
Spesifikasi Java API (Standard Edition 7 - http://docs.oracle.com/javase/7/docs/api/)
java.applet
Provides the classes necessary to create an applet and the classes an applet uses to
communicate with its applet context.
java.awt
Contains all of the classes for creating user interfaces and for painting graphics and
images.
java.awt.color
Provides classes for color spaces.
java.awt.datatransfer
Provides interfaces and classes for transferring data between and within applications.
java.awt.dnd
Drag and Drop is a direct manipulation gesture found in many Graphical User Interface
systems that provides a mechanism to transfer information between two entities logically
associated with presentation elements in the GUI.
java.awt.event
Provides interfaces and classes for dealing with different types of events fired by AWT
components.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
6
java.awt.font
Provides classes and interface relating to fonts.
java.awt.geom
Provides the Java 2D classes for defining and performing operations on objects related to
two-dimensional geometry.
java.awt.im
Provides classes and interfaces for the input method framework.
java.awt.im.spi
Provides interfaces that enable the development of input methods that can be used with
any Java runtime environment.
java.awt.image
Provides classes for creating and modifying images.
java.awt.image.renderable
Provides classes and interfaces for producing rendering-independent images.
java.awt.print
Provides classes and interfaces for a general printing API.
java.beans
Contains classes related to developing beans -- components based on the JavaBeans™
architecture.
java.beans.beancontext
Provides classes and interfaces relating to bean context.
java.io
Provides for system input and output through data streams, serialization and the file
system.
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.annotation
Provides library support for the Java programming language annotation facility.
java.lang.instrument
Provides services that allow Java programming language agents to instrument programs
running on the JVM.
java.lang.invoke
The java.lang.invoke package contains dynamic language support provided
directly by the Java core class libraries and virtual machine.
java.lang.management
Provides the management interfaces for monitoring and management of the Java virtual
machine and other components in the Java runtime.
java.lang.ref
Provides reference-object classes, which support a limited degree of interaction with the
garbage collector.
java.lang.reflect
Provides classes and interfaces for obtaining reflective information about classes and
objects.
java.math
Provides classes for performing arbitrary-precision integer arithmetic (BigInteger)
and arbitrary-precision decimal arithmetic (BigDecimal).
java.net
Provides the classes for implementing networking applications.
java.nio
Defines buffers, which are containers for data, and provides an overview of the other
NIO packages.
java.nio.channels
Defines channels, which represent connections to entities that are capable of performing
I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking
I/O operations.
java.nio.channels.spi
Service-provider classes for the java.nio.channels package.
java.nio.charset
Defines charsets, decoders, and encoders, for translating between bytes and Unicode
characters.
java.nio.charset.spi
Service-provider classes for the java.nio.charset package.
java.nio.file
Defines interfaces and classes for the Java virtual machine to access files, file attributes,
and file systems.
java.nio.file.attribute
Interfaces and classes providing access to file and file system attributes.
java.nio.file.spi
Service-provider classes for the java.nio.file package.
java.rmi
Provides the RMI package.
java.rmi.activation
Provides support for RMI Object Activation.
java.rmi.dgc
Provides classes and interface for RMI distributed garbage-collection (DGC).
java.rmi.registry
Provides a class and two interfaces for the RMI registry.
java.rmi.server
Provides classes and interfaces for supporting the server side of RMI.
java.security
Provides the classes and interfaces for the security framework.
java.security.acl
The classes and interfaces in this package have been superseded by classes in the
java.security package.
java.security.cert
Provides classes and interfaces for parsing and managing certificates, certificate
revocation lists (CRLs), and certification paths.
java.security.interfaces
Provides interfaces for generating RSA (Rivest, Shamir and Adleman AsymmetricCipher
algorithm) keys as defined in the RSA Laboratory Technical Note PKCS#1, and DSA
(Digital Signature Algorithm) keys as defined in NIST's FIPS-186.
java.security.spec
Provides classes and interfaces for key specifications and algorithm parameter
specifications.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
7
java.sql
Provides the API for accessing and processing data stored in a data source (usually a
relational database) using the JavaTM programming language.
java.text
Provides classes and interfaces for handling text, dates, numbers, and messages in a
manner independent of natural languages.
java.text.spi
Service provider classes for the classes in the java.text package.
java.util
Contains the collections framework, legacy collection classes, event model, date and
time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a
random-number generator, and a bit array).
java.util.concurrent
Utility classes commonly useful in concurrent programming.
java.util.concurrent.atomic
A small toolkit of classes that support lock-free thread-safe programming on single
variables.
java.util.concurrent.locks
Interfaces and classes providing a framework for locking and waiting for conditions that
is distinct from built-in synchronization and monitors.
java.util.jar
Provides classes for reading and writing the JAR (Java ARchive) file format, which is
based on the standard ZIP file format with an optional manifest file.
java.util.logging
Provides the classes and interfaces of the JavaTM 2 platform's core logging facilities.
java.util.prefs
This package allows applications to store and retrieve user and system preference and
configuration data.
java.util.regex
Classes for matching character sequences against patterns specified by regular
expressions.
java.util.spi
Service provider classes for the classes in the java.util package.
java.util.zip
Provides classes for reading and writing the standard ZIP and GZIP file formats.
javax.accessibility
Defines a contract between user-interface components and an assistive technology that
provides access to those components.
javax.activation
javax.activity
Contains Activity service related exceptions thrown by the ORB machinery during
unmarshalling.
javax.annotation
javax.annotation.processing
Facilities for declaring annotation processors and for allowing annotation processors to
communicate with an annotation processing tool environment.
javax.crypto
Provides the classes and interfaces for cryptographic operations.
javax.crypto.interfaces
Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.
javax.crypto.spec
Provides classes and interfaces for key specifications and algorithm parameter
specifications.
javax.imageio
The main package of the Java Image I/O API.
javax.imageio.event
A package of the Java Image I/O API dealing with synchronous notification of events
during the reading and writing of images.
javax.imageio.metadata
A package of the Java Image I/O API dealing with reading and writing metadata.
javax.imageio.plugins.bmp
Package containing the public classes used by the built-in BMP plug-in.
javax.imageio.plugins.jpeg
Classes supporting the built-in JPEG plug-in.
javax.imageio.spi
A package of the Java Image I/O API containing the plug-in interfaces for readers,
writers, transcoders, and streams, and a runtime registry.
javax.imageio.stream
A package of the Java Image I/O API dealing with low-level I/O from files and streams.
javax.jws
javax.jws.soap
javax.lang.model
Classes and hierarchies of packages used to model the Java programming language.
javax.lang.model.element
Interfaces used to model elements of the Java programming language.
javax.lang.model.type
Interfaces used to model Java programming language types.
javax.lang.model.util
Utilities to assist in the processing of program elements and types.
javax.management
Provides the core classes for the Java Management Extensions.
javax.management.loading
Provides the classes which implement advanced dynamic loading.
javax.management.modelmbean
Provides the definition of the ModelMBean classes.
javax.management.monitor
Provides the definition of the monitor classes.
javax.management.openmbean
Provides the open data types and Open MBean descriptor classes.
javax.management.relation
Provides the definition of the Relation Service.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
javax.management.remote
Interfaces for remote access to JMX MBean servers.
javax.management.remote.rmi
The RMI connector is a connector for the JMX Remote API that uses RMI to transmit
client requests to a remote MBean server.
javax.management.timer
Provides the definition of the Timer MBean.
javax.naming
Provides the classes and interfaces for accessing naming services.
javax.naming.directory
Extends the javax.naming package to provide functionality for accessing directory
services.
javax.naming.event
Provides support for event notification when accessing naming and directory services.
javax.naming.ldap
Provides support for LDAPv3 extended operations and controls.
8
javax.naming.spi
javax.net
Provides classes for networking applications.
javax.net.ssl
Provides classes for the secure socket package.
javax.print
Provides the principal classes and interfaces for the JavaTM Print Service API.
javax.print.attribute
Provides classes and interfaces that describe the types of JavaTM Print Service attributes
and how they can be collected into attribute sets.
javax.print.attribute.standard
Package javax.print.attribute.standard contains classes for specific printing attributes.
javax.print.event
Package javax.print.event contains event classes and listener interfaces.
javax.rmi
Contains user APIs for RMI-IIOP.
javax.rmi.CORBA
Contains portability APIs for RMI-IIOP.
javax.rmi.ssl
Provides implementations of RMIClientSocketFactory and
RMIServerSocketFactory over the Secure Sockets Layer (SSL) or Transport
Layer Security (TLS) protocols.
javax.script
The scripting API consists of interfaces and classes that define Java TM Scripting Engines
and provides a framework for their use in Java applications.
javax.security.auth
This package provides a framework for authentication and authorization.
javax.security.auth.callback
This package provides the classes necessary for services to interact with applications in
order to retrieve information (authentication data including usernames or passwords, for
example) or to display information (error and warning messages, for example).
javax.security.auth.kerberos
This package contains utility classes related to the Kerberos network authentication
protocol.
javax.security.auth.login
This package provides a pluggable authentication framework.
javax.security.auth.spi
This package provides the interface to be used for implementing pluggable
authentication modules.
javax.security.auth.x500
This package contains the classes that should be used to store X500 Principal and X500
Private Crendentials in a Subject.
javax.security.cert
Provides classes for public key certificates.
javax.security.sasl
Contains class and interfaces for supporting SASL.
javax.sound.midi
Provides interfaces and classes for I/O, sequencing, and synthesis of MIDI (Musical
Instrument Digital Interface) data.
javax.sound.midi.spi
Supplies interfaces for service providers to implement when offering new MIDI devices,
MIDI file readers and writers, or sound bank readers.
javax.sound.sampled
Provides interfaces and classes for capture, processing, and playback of sampled audio
data.
javax.sound.sampled.spi
Supplies abstract classes for service providers to subclass when offering new audio
devices, sound file readers and writers, or audio format converters.
javax.sql
Provides the API for server side data source access and processing from the JavaTM
programming language.
javax.sql.rowset
Standard interfaces and base classes for JDBC RowSet implementations.
javax.sql.rowset.serial
Provides utility classes to allow serializable mappings between SQL types and data types
in the Java programming language.
javax.sql.rowset.spi
The standard classes and interfaces that a third party vendor has to use in its
implementation of a synchronization provider.
javax.swing
Provides a set of "lightweight" (all-Java language) components that, to the maximum
degree possible, work the same on all platforms.
javax.swing.border
Provides classes and interface for drawing specialized borders around a Swing
component.
javax.swing.colorchooser
Contains classes and interfaces used by the JColorChooser component.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
9
javax.swing.event
Provides for events fired by Swing components.
javax.swing.filechooser
Contains classes and interfaces used by the JFileChooser component.
javax.swing.plaf
Provides one interface and many abstract classes that Swing uses to provide its pluggable
look-and-feel capabilities.
javax.swing.plaf.basic
Provides user interface objects built according to the Basic look and feel.
javax.swing.plaf.metal
Provides user interface objects built according to the Java look and feel (once codenamed
Metal), which is the default look and feel.
javax.swing.plaf.multi
Provides user interface objects that combine two or more look and feels.
javax.swing.plaf.nimbus
Provides user interface objects built according to the cross-platform Nimbus look and
feel.
javax.swing.plaf.synth
Synth is a skinnable look and feel in which all painting is delegated.
javax.swing.table
Provides classes and interfaces for dealing with javax.swing.JTable.
javax.swing.text
Provides classes and interfaces that deal with editable and noneditable text components.
javax.swing.text.html
Provides the class HTMLEditorKit and supporting classes for creating HTML text
editors.
javax.swing.text.html.parser
Provides the default HTML parser, along with support classes.
javax.swing.text.rtf
Provides a class (RTFEditorKit) for creating Rich-Text-Format text editors.
javax.swing.tree
Provides classes and interfaces for dealing with javax.swing.JTree.
javax.swing.undo
Allows developers to provide support for undo/redo in applications such as text editors.
javax.tools
Provides interfaces for tools which can be invoked from a program, for example,
compilers.
javax.transaction
Contains three exceptions thrown by the ORB machinery during unmarshalling.
javax.transaction.xa
Provides the API that defines the contract between the transaction manager and the
resource manager, which allows the transaction manager to enlist and delist resource
objects (supplied by the resource manager driver) in JTA transactions.
javax.xml
javax.xml.bind
Provides a runtime binding framework for client applications including unmarshalling,
marshalling, and validation capabilities.
javax.xml.bind.annotation
Defines annotations for customizing Java program elements to XML Schema mapping.
javax.xml.bind.annotation.adapters
XmlAdapter and its spec-defined sub-classes to allow arbitrary Java classes to be used
with JAXB.
javax.xml.bind.attachment
This package is implemented by a MIME-based package processor that enables the
interpretation and creation of optimized binary data within an MIME-based package
format.
javax.xml.bind.helpers
JAXB Provider Use Only: Provides partial default implementations for some of the
javax.xml.bind interfaces.
javax.xml.bind.util
Useful client utility classes.
javax.xml.crypto
Common classes for XML cryptography.
javax.xml.crypto.dom
DOM-specific classes for the javax.xml.crypto package.
javax.xml.crypto.dsig
Classes for generating and validating XML digital signatures.
javax.xml.crypto.dsig.dom
DOM-specific classes for the javax.xml.crypto.dsig package.
javax.xml.crypto.dsig.keyinfo
Classes for parsing and processing KeyInfo elements and structures.
javax.xml.crypto.dsig.spec
Parameter classes for XML digital signatures.
javax.xml.datatype
XML/Java Type Mappings.
javax.xml.namespace
XML Namespace processing.
javax.xml.parsers
Provides classes allowing the processing of XML documents.
javax.xml.soap
Provides the API for creating and building SOAP messages.
javax.xml.stream
javax.xml.stream.events
javax.xml.stream.util
javax.xml.transform
This package defines the generic APIs for processing transformation instructions, and
performing a transformation from source to result.
javax.xml.transform.dom
This package implements DOM-specific transformation APIs.
javax.xml.transform.sax
This package implements SAX2-specific transformation APIs.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
10
javax.xml.transform.stax
Provides for StAX-specific transformation APIs.
javax.xml.transform.stream
This package implements stream- and URI- specific transformation APIs.
javax.xml.validation
This package provides an API for validation of XML documents.
javax.xml.ws
This package contains the core JAX-WS APIs.
javax.xml.ws.handler
This package defines APIs for message handlers.
javax.xml.ws.handler.soap
This package defines APIs for SOAP message handlers.
javax.xml.ws.http
This package defines APIs specific to the HTTP binding.
javax.xml.ws.soap
This package defines APIs specific to the SOAP binding.
javax.xml.ws.spi
This package defines SPIs for JAX-WS.
javax.xml.ws.spi.http
Provides HTTP SPI that is used for portable deployment of JAX-WS web services in
containers(for e.g.
javax.xml.ws.wsaddressing
This package defines APIs related to WS-Addressing.
javax.xml.xpath
This package provides an object-model neutral API for the evaluation of XPath
expressions and access to the evaluation environment.
org.ietf.jgss
This package presents a framework that allows application developers to make use of
security services like authentication, data integrity and data confidentiality from a variety
of underlying security mechanisms like Kerberos, using a unified API.
org.omg.CORBA
Provides the mapping of the OMG CORBA APIs to the JavaTM programming language,
including the class ORB, which is implemented so that a programmer can use it as a
fully-functional Object Request Broker (ORB).
org.omg.CORBA_2_3
The CORBA_2_3 package defines additions to existing CORBA interfaces in the
Java[tm] Standard Edition 6. These changes occurred in recent revisions to the CORBA
API defined by the OMG. The new methods were added to interfaces derived from the
corresponding interfaces in the CORBA package. This provides backward compatibility
and avoids breaking the JCK tests.
org.omg.CORBA_2_3.portable
Provides methods for the input and output of value types, and contains other updates to
the org/omg/CORBA/portable package.
org.omg.CORBA.DynAnyPackage
Provides the exceptions used with the DynAny interface (InvalidValue, Invalid,
InvalidSeq, and TypeMismatch).
org.omg.CORBA.ORBPackage
Provides the exception InvalidName, which is thrown by the method
ORB.resolve_initial_references and the exception
InconsistentTypeCode, which is thrown by the Dynamic Any creation methods in
the ORB class.
org.omg.CORBA.portable
Provides a portability layer, that is, a set of ORB APIs that makes it possible for code
generated by one vendor to run on another vendor's ORB.
org.omg.CORBA.TypeCodePackage
Provides the user-defined exceptions BadKind and Bounds, which are thrown by
methods in in the class TypeCode.
org.omg.CosNaming
Provides a naming service for Java IDL.
org.omg.CosNaming.NamingContextExtPackage
This package contains the following classes, which are used in
org.omg.CosNaming.NamingContextExt:
org.omg.CosNaming.NamingContextPackage
This package contains Exception classes for the org.omg.CosNaming package.
org.omg.Dynamic
This package contains the Dynamic module specified in the OMG Portable Interceptor
specification, http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06, section 21.9.
org.omg.DynamicAny
Provides classes and interfaces that enable traversal of the data value associated with an
any at runtime, and extraction of the primitive constituents of the data value.
org.omg.DynamicAny.DynAnyFactoryPackage
This package contains classes and exceptions from the DynAnyFactory interface of
the DynamicAny module specified in the OMG The Common Object Request Broker:
Architecture and Specification, http://cgi.omg.org/cgi-bin/doc?formal/99-10-07, section
9.2.2.
org.omg.DynamicAny.DynAnyPackage
This package contains classes and exceptions from the DynAny interface of the
DynamicAny module specified in the OMG The Common Object Request Broker:
Architecture and Specification, http://cgi.omg.org/cgi-bin/doc?formal/99-10-07, section
9.2.
org.omg.IOP
This package contains the IOP module specified in the OMG document The Common
Object Request Broker: Architecture and Specification, http://cgi.omg.org/cgibin/doc?formal/99-10-07, section 13.6.
org.omg.IOP.CodecFactoryPackage
This package contains the exceptions specified in the IOP::CodeFactory interface (as part
of the Portable Interceptors spec).
org.omg.IOP.CodecPackage
This package is generated from the IOP::Codec IDL interface definition.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
11
org.omg.Messaging
This package contains the Messaging module specified in the OMG CORBA
Messaging specification, http://cgi.omg.org/cgi-bin/doc?formal/99-10-07.
org.omg.PortableInterceptor
Provides a mechanism to register ORB hooks through which ORB services can intercept
the normal flow of execution of the ORB.
This package contains the exceptions and typedefs from the ORBInitInfo local
org.omg.PortableInterceptor.ORBInitInfoPackage interface of the PortableInterceptor module specified in the OMG Portable
Interceptor specification, http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06, section 21.7.2.
org.omg.PortableServer
Provides classes and interfaces for making the server side of your applications portable
across multivendor ORBs.
org.omg.PortableServer.CurrentPackage
Provides method implementations with access to the identity of the object on which the
method was invoked.
org.omg.PortableServer.POAManagerPackage
Encapsulates the processing state of the POAs it is associated with.
org.omg.PortableServer.POAPackage
Allows programmers to construct object implementations that are portable between
different ORB products.
org.omg.PortableServer.portable
Provides classes and interfaces for making the server side of your applications portable
across multivendor ORBs.
org.omg.PortableServer.ServantLocatorPackage
Provides classes and interfaces for locating the servant.
org.omg.SendingContext
Provides support for the marshalling of value types.
org.omg.stub.java.rmi
Contains RMI-IIOP Stubs for the Remote types that occur in the java.rmi package.
org.w3c.dom
Provides the interfaces for the Document Object Model (DOM) which is a component
API of the Java API for XML Processing.
org.w3c.dom.bootstrap
org.w3c.dom.events
org.w3c.dom.ls
org.xml.sax
This package provides the core SAX APIs.
org.xml.sax.ext
This package contains interfaces to SAX2 facilities that conformant SAX drivers won't
necessarily support.
org.xml.sax.helpers
4. INSTALASI JAVA DAN SETTING
Java Standard Edition dan edisi lainnya beserta fitur-fitur pengembangannya dapat
didownload secara gratis dari: http://www.oracle.com/technetwork/java/javase/downloads.
Telah tersedia dalam bentuk paket instalasi yaitu Java SE Development Kit (JDK) yang
terdiri dari: Development Tools (/bin), Runtime Environment (JRE), addtional libraries, Java
DB, C Header files, source code dan Java FX tools.
Paket instalasi JDK tersebut juga telah disediakan untuk beberapa jenis Sistem Operasi
seperti: Linux, Unix Solaris, Windows dan Mac OS.
Setelah proses instalasi JSE selesai, maka perlu dilakukan beberpa pengaturan, yaitu:
a. Path, berfungsi untuk mendaftarkan folder tempat compiler java terletak, tambahkan
variabel path tempat folder /bin dari java terletak, misalnya: c:\jdk17.6\bin
Untuk menguji setting path, dari Dos Promt ketik sebagai berikut:
C:\Documents and Settings\root>java -version
java version "1.6.0)10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
b. Classpath, berfungsi untuk mendaftarkan folder tempat file-file library java terletak
atau file library java tertentu, tambahkan sebuah system variabel bernama:
CLASSPATH dan isikan path tempat folder /lib dari java terletak, contoh:
.;c:\jdk17.6\lib
Perhatikan: pastikan pada deretan path dari classpath diawali dengan .;
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
12
Contoh classpath yang mendaftarkan beberapa file library misalnya:
.;c:\jdk17.6\lib\tools.jar; c:\jdk17.6\jre\lib\rt.jar;c:\jdk17.6\lib\ mysql-connectorjava-5.1.8-bin.jar;c:\tomcat6\lib\servlet-api.jar
c. Java_Home, berfungsi untuk mendaftarkan folder root tempat java terletak,
tambahkan sebuah system variabel bernama: JAVA_HOME dan isikan path tempat
folder root dari java terletak, misalnya: c:\jdk17.6
Beberapa file utama java yang terletak pada folder /bin antara lain:
- javac.exe mengkompilasi program java (.java) menjadi byte-code (.class)
- java.exe interpreter untuk menjalankan program java yang telah dikompilasi (.class)
- jdb.exe seperti java.exe dilengkapi dengan fungsi debugger
- javap.exe disasembler
- javadoc.exe menghasilkan bentuk html dari program java
- javah.exe menghasilkan file untuk header c
- appletviewer.exe menjalankan aplikasi applet tanpa browser
- jconsole.exe memonitor performance java
Catatan:
Cara mendaftarkan setting system variabel:
a. Pada Windows 7
- Klik-kanan pada Computer dan pilih Properties.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
13
- Klik link: Advanced system settings
- Klik tombol: Environment Variabels
- Lanjut ke (c) dan seterusnya
b. Pada Windows XP
- Klik-kanan pada MyComputer dan pilih Properties, kemudian pilih tab: Advanced
dan klik tombol: Environment Variabels.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
- Lanjut ke (c) dan seterusnya
c. Menambah variabel path: klik pada variabel PATH dan klik tombol Edit.
Kemudian tambahkan path/ folder tempat compiler java terletak (sisipkan
pada deretan paling awal dari path-path yang telah terdaftar):
14
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
15
d. Menambah variabel baru (seperti: CLASSPATH dan JAVA_HOME): klik tombol New.
Kemudian tambahkan nama variabel dan pathnya, contoh untuk
CLASSPATH
contoh untuk JAVA_HOME
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
16
5. PENGENALAN NETBEANS & ECLIPSE
Netbeans dan Eclipse adalah salah satu apliaksi editor free yang dapat digunakan untuk
mengetik program (source-code) java, terdapat juga editor lainnya seperti: WineHq, jEdit,
EditPlus dan lainnya.
Netbeans dan Eclipse tidak hanya sekedar editor biasa, melainkan visual editor dan telah
terintegrasi dengan setting java ketika di-instal.
Netbeans dapat didownload di: https://netbeans.org/downloads menyediakan beberapa
paket modul seperti: Java SE, Java EE, C/C++, PHP dan All paket (lengkap).
Eclipse dapat didownload di: https://eclipse.org/downloads/ menyediakan beberapa paket
modul seperti: Java Developers, Java EE Developers, C/C++ Developers, PHP Developser
dan lainnya.
Netbeans
Menggunakan Netbeans editor (versi 7.2) untuk membangun program aplikasi java dapat
dilakukan dengan cara sebagai berikut:
1. Jalankan aplikasi Netbeans
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
17
2. Pada panel “Projects”, klik kanan dan pilih “New Project...”
3. Pada jendela “New Project”, pilih: “Java” pada “Categories” dan pilih “Java Application”
pada “Projects” kemudian klik tombol “Next”
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
18
4. Pada jendela “New Java Application”, isilah “Project Name” kemudian klik tombol
“Finish”
5. File program java akan dibuat (.java) dan tampilan source code standar otomatis dibuat
oleh Netbeans untuk dimodifikasi lebih lanjut, coba tambahkan baris program berikut:
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
6. Untuk menjalankan program java, klik kanan pada pada nama file program java yang
ada didalam panel “Projects” lalu pilih “Run File”
7. Hasil program yang dijalankan (bila tidak terdapat error) akan tampil pada jendela
“Output” dibagian bawah
19
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
8. Untuk membuat program java berbasis window (GUI), maka buatlah projek baru
kemudian pada tahap 4 hapus centang pada checkbox “Create Main Class”
9. Kemudian klik kanan dalam projek yang telah dibuat, lalu pilih “New” kemudian pilih
“Jframe Form...”
20
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
10. Pada jendela “New Jframe Form”, isilah “Class Name”, kemudian klik tombol “Finish”
11. File program java frame (.java) akan dibuat beserta sebuah form yang siap untuk
didesain lebih lanjut
21
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
22
12. Klik tab “Source” untuk masuk ke mode source, demikian sebaliknya
13. Untuk mengkompilasi projek program java yang dibuat menjadi file paket .jar dapat
dilakukan dengan cara:
a. Tentukan terlebih dahulu projek yang akan dikompilasi melalui menu “Run” pilih “Set
Main Project”
b. Lakukan kompilasi melalui menu “Run” pilih “Clean and Build main Project”
c. Hasil kompilasi paket program (.jar) akan diletakkan pada folder: dist
d. Untuk menjalankan paket program: java –jar hasil.jar
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
23
Eclipse
Menggunakan Eclipse editor (versi java-march 4.5.7) untuk membangun program aplikasi
java dapat dilakukan dengan cara sebagai berikut:
1. Jalankan aplikasi Eclipse
2. Pada panel “Package Explorer”, klik kanan dan pilih “New” kemudian pilih “Java Project”
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
3. Pada form “New Java Project”, isilah “Project Name” kemudian klik tombol “Finish”
4. Projek akan dibuat pada panel “Package Explorer”, klik kanan pada folder “src”
kemudian pilih “New” kemudian pilih “Class”
24
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
25
5. Pada form “New Java Class”, isilah “Package” dan “Name” kemudian centang check
“public static void main..” lalu klik tombol “Finish”
6. File program java akan dibuat (.java) dan tampilan source code standar otomatis dibuat
oleh Eclipse untuk dimodifikasi lebih lanjut, coba tambahkan baris program berikut:
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
7. Untuk menjalankan program java, klik kanan pada pada nama file program java yang
ada didalam panel “Package Explorer” lalu pilih “Run As” lalu “1 Java Application”
8. Hasil program yang dijalankan (bila tidak terdapat error) akan tampil pada jendela
“Console” dibagian bawah
26
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
9. Untuk membuat program java berbasis window (GUI), maka buatlah projek baru
kemudian klik kanan pada folder “src” kemudian pilih “New” kemudian pilih “Other..”
10. Pada form “New” pilih “Application Window” kemudian klik tombol “Next”
27
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
28
11. Pada form “New Swing Application”, isilah “Package” dan “Name” kemudian klik “Finish”
12. File program java akan dibuat (.java) dan tampilan source code standar otomatis dibuat
oleh Eclipse untuk dimodifikasi lebih lanjut
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
29
13. Klik tab “Design” untuk masuk ke mode desain form untuk melakukan desain lebih lanjut
14. Untuk mengkompilasi projek program java yang dibuat menjadi file paket .jar dapat
dilakukan dengan cara:
a. Klik kanan pada projek yang akan dikompilasi, kemudian pilih “Export”
b. Pada form “Export” pilih “Java” lalu “JAR file” kemudian “Next”
c. Tentukan folder tempat hasil kompilasi kemudian “Next” dan “Next”
d. Tentukan “Main class” kemudian “Finish”
e. Hasil kompilasi paket program (.jar) akan diletakkan pada folder tempat hasil
kompilasi yang telah ditentukan
f. Untuk menjalankan paket program: java –jar hasil.jar
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
30
6. CARA KERJA DAN JENIS APLIKASI JAVA
Cara kerja program yang dibuat dengan bahasa java secara umum adalah sebagai berikut:
COBA.java
public class COBA {
public static void main(String args[]) {
System.out.println(“Pemgrograman Java”);
}
}
Compiler Java
COBA.class
0001011100010100100111111001010
0101001111010010100101010000101
1111110001011010101010101111111
Intepreter Java
Intepreter Java
Java Virtual
Machine (JVM)
Java Virtual
Machine (JVM)
Intepreter Java
Java Virtual
Machine (JVM)
Intepreter Java
Java Virtual
Machine (JVM)
Program Java pada dasarnya dapat dikelompokkan menjadi 3 jenis, yaitu:
a. Aplikasi Console, aplikasi java bertampilan teks yang berjalan pada window console
b. Aplikasi Frame, aplikasi java bertampilan GUI dan grafik yang berjalan pada sebuah
frame/ window
c. Aplikasi Applet, aplikasi java bertampilan GUI dan grafik yang berjalan pada aplikasi
browser.
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
31
7. STRUKTUR DASAR PROGRAM JAVA
Struktur dasar program bahasa java adalah:
public class COBA {
public static void main(String args[]) {
System.out.println(“Pemgrograman Java”);
}
}
Beberapa hal yang perlu diperhatikan dalam menulis program dengan bahasa java antara
lain:
a. Titik koma pada setiap akhir sebuah syntax/ perintah
b. Case sensitive
c. Penamaan file (.java) harus sama dengan dengan nama class pada program
d. Bila menggunakan folder kumpulan, penamaan folder hasus sama dengan nama
packect pada program
Menyimpan file dengan ekstension .java, contoh: COBA.java
Mengkompilasi program, contoh: javac COBA.java
Menjalankan program, contoh: java COBA
8. KOMENTAR
Komentar adalah bagian yang tidak akan diproses oleh kompiler, dapat menggunakan
beberapa tanda, yaitu:
/* teks */
untuk semua baris yang diawali sampai dengan yang diakhiri tanda tersebut
/** teks */ khusus digunakan untuk penanda pada proses javadoc
// teks
untuk satu baris yang diawali dengan tanda tersebut
9. OPERASI MASUKAN & KELUARAN
Perintah yang terkait keluaran dapat menggunakan: System.out.print() atau
System.out.println().
Untuk membuat program masukan dapat dilakukan dengan beberapa cara:
a. Melalui parameter class, contoh:
class BACA_PARAMETER {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println(args[1]);
};
};
Menjalankan program dengan penambahan nilai parameter, contoh:
BACA_PARAMETER “Program” “Java”
b. Membaca input dari user secara console dapat dilakukan dengan beberapa cara:
contoh cara manual:
//CLASS UNTUK MEMBACA
import java.io.*;
class baca {
public static String str() throws Exception
int INP1;
String INP2="";
Boolean END=false;
while(!END)
{
INP1 = System.in.read();
{
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
if((char) INP1 == '\r') END=true;
else INP2=INP2+(char)INP1;
};
return INP2;
}
}
//PROGRAM MEMBACA MENGGUNAKAN CLASS BACA
class baca_manual {
public static void main(String[] args) throws Exception {
String NAMA=null;
System.out.print("Masukkan Nama: ");
NAMA = baca.str();
System.out.println("\nNama yang dimasukkan: "+NAMA);
}
}
contoh cara menggunakan class DataInputStream:
import java.io.*;
class baca_stream
{
public static void main(String[] args) throws Exception
{
DataInputStream InpStream = new DataInputStream(System.in);
String NAMA=null;
System.out.print("Masukkan Nama: ");
NAMA = InpStream.readLine();
System.out.println("\nNama yang dimasukkan: "+NAMA);
}
}
Contoh cara menggunakan class InputStreamReader
import java.io.*;
class baca_buffer {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
String NAMA=null;
System.out.print("Masukkan Nama: ");
NAMA = In.readLine();
System.out.println("\nNama yang dimasukkan: "+NAMA);
}
}
10. LITERAL
Literal adalah rangkaian huruf atau angka yang menyatakan suatu nilai, antara lain:
0 bilangan octal, contoh: 017 artinya bilangan octal 17 atau angka 15
0x bilangan hexadecimal, contoh: 0x17 artinya bilangan hexadecimal 17 atau angka 23
L bilangan long, contoh: 4L
\r carriage return
\n newline
\t tab
\b backspace
\f formfeed
\\ karakter \
32
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
33
\’ karakter ‘
\” karakter “
true
flase
null
11. TIPE DATA
Tipe data primitif pada java:
Jenis Data
boolean
Deskripsi
Hanya bisa berisi benar atau salah
Ukuran
1-bit
Minimum
Maksimum
char
Karakter Unicode
16-bit
byte
Bilangan bulat
short
Bilangan bulat
8-bit
-127
128
16-bit
-32768
32767
Int
long
Bilangan bulat
32-bit
-2147483648
2147483647
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
12. DEKLARASI VARIABEL & KONSTANTA
Contoh mendeklarasi variabel pada java:
class DEKLARASI {
public static void main(String[] args) {
double pokok=20000;
double sukubunga, bunga;
sukubunga = 0.10;
bunga = pokok * sukubunga;
pokok = pokok + bunga;
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);
}
}
Awali dengan kata final didepan deklarasi untuk mendeklarasi konstanta.
13. OPERATOR ARITMATIKA
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/ penggabungan
n = "saya "+"tidur";
Contoh operasi aritmatika:
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
34
class ARITMATIKA {
public static void main(String[] args) {
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);
}
}
14. OPERATOR PENAMBAHAN & PENGURANGAN
Simbol Nama operator
Operasi
Contoh
+
Operator plus
menyatakan nilai positif
angka = +1;
-
Operator minus
menyatakan nilai negatif, dapat pula digunakan untuk
menegatifkan suatu bilangan
angka = -1;
angka = -angka; // sekarang angka
bernilai 1
++
Operator kenaikan menambah suatu bilangan dengan 1
angka = ++angka;
--
Operator
penurunan
mengurangkan suatu bilangan dengan 1
angka = --angka;
!
Operator lawan
membalik nilai suatu boolean
ok = !true;
Contoh operasi penambahan dan pengurangan:
class TAMBAH_KURANG {
public static void main(String[] args) {
int x = 0;
int y = 0;
y = ++x;
System.out.println("Contoh operator pada prefix (awalan)");
System.out.println("---------------------------");
System.out.println("Nilai x baru : " + x);
System.out.println("Nilai y = ++x : " + y);
x = 0;
y = 0;
y = x++;
System.out.println("\nContoh operator pada sufix (akhiran)");
System.out.println("---------------------------");
System.out.println("Nilai x baru :" + x);
System.out.println("Nilai y = x++ :" + y);
}
}
15. OPERATOR PENUGASAN
Operator
Contoh
Ekspresi setara
+=
x += y;
x = (x + y);
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
-=
x -= y;
x = (x - y);
*=
x *= y;
x = (x * y);
/=
x /= y;
x = (x / y);
%=
x %= y;
x = (x % y);
35
Contoh operasi penugasan:
class PENUGASAN
{
public static void main(String[] args)
{
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);
}
}
16. OPERTOR BIT
& and untuk biner
| or untuk biner
^ exclusive
~ lawan bit
<< geser kiri bit, contoh: 29<<2 hasilnya 116
>> geser kanan bit
>>> geser kanan tak bertanda (bit terkanan diisi 0)
17. OPERATOR TYPE CASTING
Operator type casting adalah operator yang dapat digunakan untuk mengubah sementara
sebuah tipe data ke bentuk tipe data lainnya tanpa mengubah permanen tipe data
sesungguhnya. Beberapa operator type casting yaitu: byte, short, char, int, long, float dan
double.
Contoh penggunaan type casting:
class CASTING
{
public static void main(String[] args)
{
int a=65;
int b=12;
float x=65;
float y=12;
float z;
System.out.println("Karakter dari: "+ a +" adalah: " + (char)a);
z=a/b;
System.out.println("\n\nPerhitungan dari: z=a/b: "+ z);
System.out.println("\nPerhitungan dari: (float) z=a/b: "+ (float)z);
z=x/y;
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
System.out.println("\n\nPerhitungan dari: z=x/y: "+ z);
System.out.println("\nPerhitungan dari: (int) z=x/y: "+ (int)z);
}
}
17. OPERASI STRING dan CHARACTER
Operasi string merupakan operasi dasar dalam sebuah program yang sering digunakan.
Deklarasi objek string dapat dlakukan dengan cara:
String var = new String();
atau
String var = new String(“text”);
atau
String var;
Beberapa fungsi terkait string, antara lain:
a. length(); panjang string
b. concat(str2); penggabungan string
c. equals(str2); perbandingan menghasilkan true/flase
d. compareTo(str2); perbandingan menghasilkan nilai int 1, -1 atau 0
e. replace(char1, char2); mengganti semua char1 menjadi char2
f. replaceAll(char1, char2); sama dengan replace tetapi untuk tipe string
g. replaceFirst(char1, char2); sama dengan replace tetapi untuk char pertama
h. toLowerCase(); menjadikan huruf kecil
i. toUpperCase(); menjadikan huruf besar
j. substring(awal, akhir); menambil sub dari string
k. charAt(posisi); menambil char dari string
l. trim(); menghilangkan spasi diawal & akhir dari string
m. String.valueOf(var); mengkonversi dari tipe boolean, char, int, float dan double
n. indexOf(char/string); nilai integer posisi dari char atau string
o. isEmpty(); memeriksa bila variabel kosong
Catatan: Ikutkan library utility pada program, yaitu: import java.util.*;
Contoh beberapa fungsi terkait string:
Import java.util.*;
class STRING
{
public static void main(String[] args)
{
String str1,str2,str3;
int x = 25;
float y = 12;
str1="Pemrograman";
str2="Java";
str3=str1+" "+str2;
System.out.println(str1+" "+str2);
System.out.println(str3);
System.out.println("Length : "+str3.length());
System.out.println(str2.replace('a','o'));
System.out.println(str3.toLowerCase());
System.out.println(str3.toUpperCase());
System.out.println(str3.substring(5,9));
System.out.println(String.valueOf(x));
System.out.println(String.valueOf(y));
}
}
36
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
37
String buffer merupakan penerapan pointer to character sehingga membuat sebuah
deklarasi string dapat bersifat dinamis.
Deklarasi objek string buffer dapat dlakukan dengan cara:
StringBuffer var = new StringBuffer();
atau
StringBuffer var = new StringBuffer(ukuran);
atau
StringBuffer var = new StringBuffer(“text”);
Beberapa fungsi terkait string yang terdapat dalam class String, antara lain:
a. capacity(); ukuran panjang buffer
b. length(); panjang isi string
c. setLength(int); mengubah ukuran panjang buffer
d. append(text); mengisi atau menambah isi buffer
e. toString(); menampilkan isi buffer
f. insert(offset, text); menyisip isi buffer pada posisi offset
g. delete(awal, akhir); menghapus isi buffer dari posisi awal sampai akhir
h. replace(awal, akhir, text); menimpa text ke isi buffer dari posisi awal sampai akhir
i. deleteCharAt(offset); menghapus karakter pada posisi offset
j. reverse(); membalikkan urutan karakter yang ada dalam buffer
Contoh operasi string buffer:
Import java.util.*;
class STRING_BUFF
{
public static void main(String[] args)
{
StringBuffer str1 = new StringBuffer();
System.out.println(str1.capacity());
System.out.println(str1.length());
str1.append("Pemrograman");
str1.append(" Java");
System.out.println(str1.toString());
str1.insert(11," Bahasa");
System.out.println(str1.toString());
str1.delete(11,18);
System.out.println(str1.toString());
}
}
Deklarasi objek character dapat dlakukan dengan cara:
Character var = new Character(char);
atau
char var;
Beberapa fungsi terkait string, antara lain:
a. Character.IsDigit(char); memeriksa char adalah angka
b. Character.IsLetter(char); memeriksa char adalah huruf
c. Character.IsLetterOrDigit(char); memeriksa char adalah angka atau huruf
d. Character.IsWhitespace(char); memeriksa char adalah spasi
e. Character.IsUpperCase(char); memeriksa char adalah huruf besar
f. Character.IsLowerCase(char); memeriksa char adalah huruf kecil
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
18. OPERASI MATEMATIK
Deklarasi type data untuk operasi matematik seperti Integer, Float, Double dan lainnya
dapat dilakukan dengan membuat objek dari class-nya masing-masing.
Beberapa fungsi terkait matematik, antara lain:
a. intValue(); konversi tipe menjadi integer
b. doubleValue(); konversi tipe menjadi double
c. Integer.parseInt(string); konversi tipe string menjadi integer
d. Integer.toBinaryString(int); konversi tipe integer menjadi biner
e. Integer.toOctalString(int); konversi tipe integer menjadi octal
f. Integer.toHexString(int); konversi tipe integer menjadi hexadecimal
g. Integer.toString(int); konversi tipe integer menjadi string
h. Integer.valueOf(string); mengkonversi dari tipe string
i. Double.parseDouble(string); konversi tipe string menjadi double
j. Double.valueOf(string); mengkonversi dari tipe string
k. abs(nilai); nilai absolute
l. round(nilai); pembulatan terdekat
m. ceil(nilai); pembulatan keatas
n. floor(nilai); pembulatan kebawah
o. max(nilai1, nilai2);
p. min(nilai1, nilai2);
q. random(); menghasilkan nilai double 0-1
r. sqrt(nilai);
s. exp(nilai);
t. log(nilai);
Catatan: Ikutkan library utility pada program, yaitu: import java.util.*;
Contoh deklarasi tipe untuk operasi matematik:
class MATEMATIK
{
public static void main(String[] args)
{
Integer p = new Integer(25);
Float q = new Float(23.56);
Double r = new Double(12.23);
System.out.println(p);
System.out.println(p.doubleValue());
System.out.println("\n"+q);
System.out.println(q.intValue());
System.out.println("\n"+r);
System.out.println(r.intValue());
String a = "25";
int x=12;
int y;
System.out.println(a);
y=x+Integer.parseInt(a);
System.out.println(y);
y=Integer.valueOf(a)/x;
System.out.println(y);
System.out.println(Double.valueOf(y));
}
}
38
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
Contoh operasi matematik:
class MATEMATIK_FUNGSI
{
public static void main(String[] args)
{
System.out.println(Math.abs(-25));
System.out.println(Math.round(12.25));
System.out.println(Math.ceil(12.25));
System.out.println(Math.floor(12.25));
System.out.println(Math.max(12,25));
System.out.println(Math.min(12,25));
System.out.println(Math.random());
System.out.println(Math.sqrt(25));
}
}
Untuk memformat tampilan angka dapat menggunakan class NumberFormat
Contoh format tampilan angka:
import java.text.NumberFormat;
class FORMAT_ANGKA
{
public static void main(String[] args)
{
NumberFormat NF = NumberFormat.getInstance();
NF.setMinimumIntegerDigits(1);
NF.setGroupingUsed(false);
NF.setMaximumFractionDigits(2);
float x=65;
float y=12;
float z=x/y;
System.out.println("\nNilai dari z: "+ z);
System.out.println("\nNilai dari z: "+ NF.format(z));
}
}
18. OPERASI WAKTU
Deklarasi objek waktu dapat dlakukan dengan cara:
Date var = new Date(char);
Beberapa fungsi terkait waktu, antara lain:
a. getTime(); konversi tipe menjadi integer
b. getDate(); konversi tipe menjadi integer
c. getMonth(); konversi tipe menjadi integer
d. getYear(); konversi tipe menjadi integer
e. getDay(); konversi tipe menjadi integer
Catatan: Ikutkan library utility pada program, yaitu: import java.util.*;
Contoh operasi waktu:
import java.util.*;
class WAKTU
{
public static void main(String[] args)
{
String hr[] = {"Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"};
Date dt = new Date();
System.out.print("Hari ini: "+hr[dt.getDay()]);
39
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
System.out.print(" "+dt.getDate());
System.out.print("-"+dt.getMonth()+1);
System.out.println("-"+dt.getYear());
}
}
19. SUB PROGRAM
Beberapa kelompok perintah yang sering digunakan berulang kali dalam sebuah program
dapat dipisahkan kedalam sebuah prosedur atau fungsi yang nantinya dapat dipanggil
berulang kali.
Contoh mendeklarasi prosedur:
class PROSEDUR
{
public static void TEKS() {
System.out.println("Pemrograman Java");
}
public static void main(String[] args)
{
TEKS();
TEKS();
TEKS();
}
}
Contoh mendeklarasi fungsi:
class FUNGSI
{
Private static int x,y;
private static float JUMLAH() {
return(x+y);
}
public static void main(String[] args)
{
x=12;
y=15;
System.out.println(JUMLAH());
}
}
Contoh penggunaan parameter:
class PARA01
{
private static Double LUAS(int r) {
return(Math.PI * r * r);
}
private static Double KELILING(int r) {
return(2 * Math.PI * r);
}
public static void main(String[] args)
{
int x=12;
System.out.println("Jai-jari: "+x);
System.out.println("Luas Lingkaran: "+LUAS(x));
System.out.println("Keliling Lingkaran: "+KELILING(x));
}
}
40
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
41
Contoh penggunaan parameter:
class PARA02
{
private static String LUAS(int r) {
Double L = Math.PI * r * r;
System.out.println("Luas Lingkaran: "+L);
return("");
}
private static String KELILING(int r) {
Double K = 2 * Math.PI * r;
System.out.println("Keliling Lingkaran: "+K);
return("");
}
public static void main(String[] args)
{
int x=12;
System.out.println("Jai-jari: "+x);
LUAS(x);
KELILING(x);
}
}
20. PENANGANAN KESALAHAN
Penanganan kesalahan (exception) adalah mekanisme menangkap kesalahan (error) yang
kemungkinan dapat terjadi pada saat program sedang dijalankan, terutama pada fungsifungsi yang terkait input-output atau perhitungan matematik.
Struktur penanganan kesalahan adalah sebagai berikut:
try {
}
catch (parameter) {
};
atau:
try {
}
finally {
};
Contoh exception:
class KESALAHAN
{
public static void main(String[] args)
{
try
{
System.out.println(5/0);
}
catch (Throwable e) {
System.err.println("Kesalahan: "+e.getMessage());
}
}
}
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
42
Parameter pada catch dapat terdiri dari beberapa jenis:
a. catch (runtimeException var) menangkap kesalahan runtime
b. catch (exception var) menangkap kesalahan exception
c. catch (Throwable var) menangkap kesalahan lain-lain
Penanganan kesalahan dapat dilakukan bertingkat:
try {
}
catch (runtimeException r) {
};
catch (Exception e) {
};
catch (Throwable t) {
};
Untuk menyatakan bahwa penanganan kesalahan akan ditangani dengan langkah tersendiri
maka dapat menggunakan klausa throws yang diletakkan dalam baris deklarasi class,
contoh:
public static void main(String[] args) throws Exception {
}
atau:
public static String str() throws Exception {
}
Java juga menyediakan mekanisme pelontar kesalahan dengan klausa throw,
contoh:
import java.io.*;
class KESALAHAN2 {
public static void main(String[] args) throws Throwable {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
String NAMA=null;
System.out.print("Masukkan Nama: ");
NAMA = In.readLine();
if (NAMA==null) { throw new Throwable("Nama belum diisi !"); }
else { System.out.println("\nNama yang dimasukkan: "+NAMA); }
}
}
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
21. SELEKSI & KONDISI
Java menyediakan 2 perintah untuk menangani seleksi & kondisi, yaitu if dan switch,
berikut beberapa format penulisan:
If (kondisi) perintah;
atau:
If (kondisi)
perintah;
else
perintah;
atau:
If (kondisi) {
perintah;
perintah;
}
Else {
perintah;
perintah;
}
atau:
If (kondisi1)
perintah;
else If (kondisi2)
perintah;
else If (kondisi3)
perintah;
else
perintah;
atau:
switch (ekspresi) {
case nilai1:
perintah;
break;
case nilai2:
perintah;
break;
default:
perintah;
}
Operator yang sering digunakan dalam operasi seleksi dan kondisi antara lain:
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);
43
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
&&
Conditional AND
b = true && false;
||
Conditional OR
b = true || false;
!
NOT
b = !true;
?:
Bentuk pendek dari if-then-else
Contoh:
import java.io.*;
class SELEKSI {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
String BACA=null;
int ANGKA1, ANGKA2;
System.out.print("Masukkan Angka ke-1: ");
BACA = In.readLine();
ANGKA1 = Integer.valueOf(BACA);
//atau: ANGKA1 = Integer.parseInt(BACA);
System.out.print("Masukkan Angka ke-2: ");
BACA = In.readLine();
ANGKA2 = Integer.valueOf(BACA);
if (ANGKA1>ANGKA2)
System.out.println("\nAngka: "+ANGKA1+" > "+ANGKA2);
else
System.out.println("\nAngka: "+ANGKA2+" > "+ANGKA1);
}
}
Contoh:
import java.io.*;
class SELEKSI2 {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
String BACA=null;
int ANGKA1, ANGKA2;
System.out.print("Masukkan Angka ke-1: ");
BACA = In.readLine();
ANGKA1 = Integer.valueOf(BACA);
System.out.print("Masukkan Angka ke-2: ");
BACA = In.readLine();
ANGKA2 = Integer.valueOf(BACA);
if (ANGKA1>ANGKA2)
System.out.println("\nAngka: "+ANGKA1+" > "+ANGKA2);
else if (ANGKA2>ANGKA1)
System.out.println("\nAngka: "+ANGKA2+" > "+ANGKA1);
else
System.out.println("\nAngka: "+ANGKA2+" = "+ANGKA1);
}
}
Contoh:
import java.io.*;
class SELEKSI3 {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int ANGKA1, ANGKA2, ANGKA3;
System.out.print("Masukkan Angka ke-1: ");
ANGKA1 = Integer.valueOf(In.readLine());
System.out.print("Masukkan Angka ke-2: ");
ANGKA2 = Integer.valueOf(In.readLine());
System.out.print("Masukkan Angka ke-3: ");
ANGKA3 = Integer.valueOf(In.readLine());
44
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
if (ANGKA1 < ANGKA2 && ANGKA1 < ANGKA3) {
if (ANGKA2 < ANGKA3)
System.out.println(ANGKA1 + " " + ANGKA2 + " " + ANGKA3);
else
System.out.println(ANGKA1 + " " + ANGKA3 + " " + ANGKA2);
} else if (ANGKA2 < ANGKA3) {
if (ANGKA1 < ANGKA3)
System.out.println(ANGKA2 + " " + ANGKA1 + " " + ANGKA3);
else
System.out.println(ANGKA2 + " " + ANGKA3 + " " + ANGKA1);
} else {
if (ANGKA1 < ANGKA2)
System.out.println(ANGKA3 + " " + ANGKA1 + " " + ANGKA3);
else
System.out.println(ANGKA3 + " " + ANGKA2 + " " + ANGKA1);
}
}
}
Contoh:
import java.io.*;
class SELEKSI4 {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int ANGKA;
System.out.print("Pilih salah satu angka 1, 2 atau 3: ");
ANGKA = Integer.valueOf(In.readLine());
switch(ANGKA){
case 1:
System.out.println("Anda memilih angka:" + ANGKA);
break;
case 2:
System.out.println("Anda memilih angka:" + ANGKA);
break;
case 3:
System.out.println("Anda memilih angka:" + ANGKA);
break;
default: System.out.println("Anda tidak memilih 1, 2 atau 3");
}
}
}
22. PENGULANGAN
Java menyediakan 3 perintah untuk menangani perulangan (looping), yaitu:
while, do-while dan for. Berikut beberapa format penulisan:
for (inisialisasi; kondisi_true; perubahan) perintah;
atau:
for (inisialisasi; kondisi_true; perubahan) {
perintah;
perintah;
}
atau:
45
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
inisialisasi;
while (kondisi_true) {
perintah;
perubahan;
}
atau:
inisialisasi;
do {
perintah;
perubahan;
} while (kondisi_true)
Tersedia sebuah perintah yaitu continue untuk melakukan perulangan kembali
meskipun masih ada perintah-perintah lain setelah perintah continue tersebut (tidak
dikerjakan).
Perintah break digunakan untuk memaksa berhenti/keluar dari sebuah perulangan
meskipun kondisi masih true.
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int ANGKA, ULANG;
System.out.print("Berapa kali jumlah perulangan: ");
ULANG = Integer.valueOf(In.readLine());
ANGKA=1;
do {
System.out.print(ANGKA+" ");
ANGKA++;
} while(ANGKA<=ULANG);
System.out.println("\n");
}
}
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int ANGKA, ULANG;
System.out.print("Berapa kali jumlah perulangan: ");
ULANG = Integer.valueOf(In.readLine());
ANGKA=1;
while(ANGKA<=ULANG) {
System.out.print(ANGKA+" ");
ANGKA++;
};
System.out.println("\n");
}
}
46
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int ANGKA, ULANG;
System.out.print("Berapa kali jumlah perulangan: ");
ULANG = Integer.valueOf(In.readLine());
for (ANGKA=1; ANGKA<=ULANG; ANGKA++) {
System.out.print(ANGKA+" ");
};
System.out.println("\n");
}
}
23. ARRAY
Mendeklarasi struktur array pada java dapat dilakukan dengan cara:
type[] var
dan var = new type[index];
atau:
type[] var = new type[index];
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) {
String[] KOTA = new String[3];
KOTA[0] = "JAKARTA";
KOTA[1] = "BALI";
KOTA[2] = "MAKASSAR";
for(i=0; i<3; i++) System.out.println(KOTA[i]);
}
}
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) {
String[] KOTA = {"JAKARTA","BALI","MAKASSAR"};
for(i=0; i<3; i++) System.out.println(KOTA[i]);
}
}
47
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int i,j;
String[] KOTA;
System.out.print("Berapa Jumlah Kota ? ");
j=Integer.valueOf(In.readLine());
KOTA = new String[j];
for(i=0; i<j; i++) {
System.out.print("Kota ke-"+(i+1)+": ");
KOTA[i]=In.readLine();
}
System.out.print("\nKota yang di-entry adalah: ");
for(i=0; i<KOTA.length; i++) {
System.out.print(KOTA[i]+" ");
}
System.out.println();
}
}
Array multi dimensi pada java dapat dideklarasi dengan cara:
type[][] var
dan var = new type[index] [index];
atau:
type[][] var = new type[index] [index];
Contoh:
import java.io.*;
class COBA {
public static void main(String[] args) throws Exception {
BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
int i,j;
String[][] KOTA;
System.out.print("Berapa Jumlah Data ? ");
j=Integer.valueOf(In.readLine());
KOTA = new String[j][2];
for(i=0; i<j; i++) {
System.out.println("Data ke-"+(i+1)+": ");
System.out.print(" Kota : ");KOTA[i][0]=In.readLine();
System.out.print(" Provinsi: ");KOTA[i][1]=In.readLine();
}
System.out.println("\nKota yang di-entry adalah: ");
for(i=0; i<KOTA.length; i++) {
System.out.println("Kota "+KOTA[i][0]+" di Prov. "+KOTA[i][1]);
}
System.out.println();
}
}
48
Pemrograman Java Dasar – Lucky K, SKom, MMSI (http://Lcpro.Wordpress.com)
24. PEMROGRAMAN ORIENTASI OBJEK
- under written -
49
Download