Modul
II
Dasar
Pemrograman
SHOLIKHUDDIN
ROSYIDI
135623070
JURUSAN D3 MANAJEMEN
INFORMATIKA
UNIVERSITAS NEGERI
SURABAYA
Tahun Pelajaran
2013-2014
1. Dasar Teori
-
Netbeans dan Eclipse
Netbeans
Netbeans merupakan sebuah aplikasi
Integrated Development Environment (IDE) yang berbasiskan Java dari Sun
Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java
untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam
platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan
lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat
lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau
text, suatu compiler dan suatu debugger.
Netbeans juga digunakan oleh sang programmer untuk
menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang
ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung
bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk
membuat professional desktop, enterprise, web, and mobile applications dengan
Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript,
Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur-fitur dari Platform Netbeans antara lain:
- Manajemen antarmuka (misal: menu & toolbar)
- Manajemen pengaturan pengguna
- Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
- Manajemen jendela
- Wizard framework (mendukung dialog langkah demi langkah)
Netbeans IDE merupakan sebuah IDE open source yang
ditulis sepenuhnya dengan bahasa pemrograman java menggunakan platform
netbeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE,
web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis
Ant, kontrol versi, dan refactoring.
Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.
Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.
Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.
Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.
Fitur fitur
yang terdapat dalam netbeans antara lain:
- Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.
- Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi.
- Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source code atau file yang ada pada project yang sama.
- Code generator: jika kita menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method dan yang lainnya.
- Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight merah.
Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).
Berikut ini adalah sifat dari Eclipse:
- Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
- Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
- Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada
saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source,
yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.
Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya
untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
Sejak versi
3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in.
Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in
yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client
Platform (RCP).
Berikut ini adalah komponen yang membentuk RCP:
Secara
standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang
membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment)
untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya
diimplementasikan dalam bahasa pemrograman Java.
Konsep
Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible)
untuk apa saja, dan tidak untuk sesuatu yang spesifik[2]. Jadi, Eclipse tidak saja untuk
mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam
keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila
ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools).
Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh
Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in
sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in
secara gratis seperti Eclipse downloads
by project
-
Penulisan
Program di Java, Input, Output
Stream merupakan dasar
operasi input-output ( I/O ) dalam Java yang menggunakan package java.io
sebagai package utama. Stream adalah representasi abstrak dari
input dan output device, dimana aliran bytes akan ditransfer seperti file dalam
harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari
input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan
untuk operasi penulisan berarti menulis data pada output stream. Package
java.io mendukung dua tipe stream, yaitu binari dan karakter
stream. Binari merupakan
data berupa bit atau data binari,
sedangkan karakter adalah tipe khusus untuk
pembacaan dan penulisan teks/karakter.
Input
Stream
Subclass-subclass dari inputStream
adalah :
AudioInputStream,
ByteArrayInputStream,
FileInputStream,
FilterInputStream,
PipedInputStream,
SequenceInputStream, dan
StringBufferInputStream.
Dua method utama dari InputStream
adalah :
Read
Method ini digunakan untuk membaca
stream.
Close
Method ini digunakan untuk menutup
koneksi input stream.
ex. InputStream.java
import java.io.*;
class InputStream {
public static void main(String[] args)
throws IOException {
byte[] data = new byte[10];
System.out.print("Ketik 10 buah
karakter :");
System.in.read(data);
System.out.print("Karakter yang
Anda ketik yaitu : ");
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]); }
}
}
Output
Stream
Subclass-subclass dari outputStream
adalah :
ByteArrayOutputStream : digunakan
untuk menuliskan stream menjadi byte array.
FileOutputStream : digunakan untuk
menulis pada file
FilterOutputStream : merupakan
superclass dari subclass-subclass seperti
DataOutputStream, BufferOutputStream,
PrintStream, CheckedOutputStream
ObjectOutputStream : digunakan untuk
menuliskan objek pada OutputStream.
PipedOutputStream : digunakan untuk
menjadi output dari PipedInputStream.
Sebagian method-method OutputStream
adalah :
Voidclose()
Menutup output stream yang aktif dan
melepaskan sumber daya terkait dengan
stream tersebut
Void flush()
Melakukan flush output stream dan
memaksa semua byte buffer untuk dituliskan
keluar
Void write(byte[] b)
Menulis sebanyak b.length dari byte array
ke output stream
Void write(byte[] b, int off, int len)
Menuliskan
sebanyak len byte dari byte array b dimulai dari index off
ex.Output
Stream
import java.io.*;
class OutputStream {
public static void main(String[] args)
throws IOException {
byte[] data =
{'a','b','c','d','e','f','g'};
System.out.write(data,3,4);
System.out.write('\n'); //pindah baris
System.out.write(data); //tulis semua
isi array data }
}
-
Operator:
Assigment, Matematika, Perbandingan, Logika
Dalam Java, ada beberapa tipe
operator. Ada operator aritmatika, operator relasi, operator logika, dan
operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu
dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Operator
Operator adalah sebuah simbol yang memerintahkan komputer
untuk melakukan suatu operasi / aksi terhadap satu atau lebih operand. Operand
adalah sesuatu yang dioperasikan atau operator. Untu mudahnya, mari kita lihat
contoh 2 + 3. Simbol / tanda + adalah operator, sedangkan 2 dan 3 adalah
operand. Operator + akan memerintahkan komputer untuk melakukan operasi
penambahan pada 2 dan 3. Di dalam bahasa pemrograman terdapat beberapa macam
operator yang akan sering kalian gunakan, yaitu:
Assignment Operator
Mathematical Operator ( Unary
& Binary )
Relational Operator
Logical Operator
Assignment Operator ( = )
Bahasa Indonesia dari assignment adalah “ penugasan “. Tapi,
saya rasa arti kata ini akan membingungkan kalian. Oleh karena itu, saya akan memberikan
arti yang lainnya yang lebih cocok dengan apa yang di lakukan oleh operato ini.
Assignment operator (=) dapat di artikan dengan kata “diisi”. Mari kita lihat
contoh di bawah ini. A=7; = Variable A diisi dengan 7 B=1+1; = Variable B diisi
dengan hasil dari 1 + 1 yaitu 2 C = A + 1; = Variable C akan diisi dengan hasil
dari isi variable A ditambah I. jadi, jika variable variable C akan diisi
dengan hasil dari isi variable A ditambah I. jadi, jika variable A adalah 7,
maka C akan diisi dengan B.
Operator Assignment
Operator Assignation digunakan untuk memberikan nilai ke suatu
variabel. contohnya : a=5 Pernyataan di atas berarti kita memberikan
nilai integer 5 ke variabel a. Sisi kiri operator disebut lvalue (left value)
dan sisi kanan disebut rvalue (right value). lvalue harus selalu berupa
variabel dan rvalue atau sisi kanan dapat berupa konstanta, variabel, hasil
dari suatu operasi atau kombinasi dari semuanya. Aturan yang paling penting
pada assigning (operasi sama dengan) adalah aturan kanan-ke-kiri: Operasi
assignment selalu terjadi dari kanan ke kiri, dan tidak pernah sebaliknya. a
= b Pernyataan ini memberikan arti variabel a (lvalue) di beri harga b
(rvalue). Contoh penerapannya adalah: a = 10; //berarti a bernilai 10 b = 4;
//berarti a bernilai 10 dan b bernilai 4 a = b; //berarti a bernilai 4 dan b
bernilai 4. Ingat aturannya, Kanan ke Kiri.
b = 7; //berarti a bernilai 4 dan b bernilai 7.
Operator Perbandingan
Operator
ini membuat anda bisa melakukan pembandingan apakah beberapa elemen sama,
identik, kurang dari atau lebih besar dari yang lain.
Contoh
|
Name
|
Result
|
$a == $b
|
Sama dengan
|
BENAR jika $ a sama dengan $b.
|
$a === $b
|
Identik
|
BENAR jika $a sama dengan $b, dan keduanya memiliki
tipe yang sama.
|
$a != $b
|
Tidak sama dengan
|
BENAR jika $a tidak sama dengan $b.
|
$a <> $b
|
Tidak sama dengan
|
BENAR jika $a tidak sama dengan $b.
|
$a !== $b
|
Tidak identik
|
BENAR jika $a tidak sama dengan $b, atau tidak
memiliki tipe yang sama.
|
$a < $b
|
Kurang dari
|
BENAR jika $a kurang dari $b.
|
$a > $b
|
Lebih besar dari
|
BENAR jika $a lebih besar dari $b.
|
$a <= $b
|
Kurang dari atau sama dengan
|
BENAR jika $a kurang dari atau sama dengan $b.
|
$a >= $b
|
Lebih besar dari atau sama dengan
|
BENAR jika $a lebih besar dari atau sama dengan $b.
|
Kesalahan yang cukup sering
saya lakukan adalah menggunakan operator assignment (“=”) untuk membandingkan,
sehingga untuk mambandingkan apakah 2 variabel sama atau tidak dalam sebuah
percabangan saya tuliskan: If ($a = $b) Yang seharusnya If ($a == $b)
Operator Logika
Di
sini anda dapat membandingkan elemen-elemen menggunakan pembandingan logika and
dan or.
Contoh
|
Nama
|
Hasil
|
$a
and $b
|
And
|
BENAR
jika baik $a dan $b keduanya BENAR.
|
$a
or $b
|
Or
|
BENAR
jika salah satu dari $a atau $b BENAR.
|
$a
xor $b
|
Xor
|
BENAR
jika salah satu dari $a atau $b BENAR, tetapi tidak
keduanya.
|
Operator Aritmatika
Persis seperti namanya,
operator ini melakukan matematika dasar (artinya, kalau anda menginginkan
operasi matematika lainnya misalnya integral atau differensial ya harus bikin
sendiri, lagian siapa yang mau pake ya?)
Contoh
|
Nama
|
Hasil
|
$a
+ $b
|
Penjumlahan
|
Jumlah
$a dan $b.
|
$a
– $b
|
Pengurangan
|
Selisih
$a dan $b.
|
$a
* $b
|
Perkalian
|
Perkalian
$a dan $b.
|
$a
/ $b
|
Pembagian
|
Pembagian
$a dan $b.
|
$a
% $b
|
Modulus
|
Sisa
$a dibagi $b.
|
-
Tingkatan Operator
3.1. Operator Aritmatik
1. Operator Binary, terdiri dari :
a. * : perkalian
b. / : pembagian
c. % : sisa pembagian ( mod )
d. + : penjumlahan
e. - : pengurangan
2. Operator Unary, terdiri dari :
a. + : penjumlahan
b. - : pengurangan
3.1.1. Ekspresi Aritmatik
3.1.1 Ekspresi Aritmatik
Bentuk penulisan ekspresi aritmatik dikaitkan dengan
pernyataan pemberi nilai. Bentuk umum :
Variabel = Ekspresi Aritmatika
- Variabel, dikenal dengan sebutan LValue ( Left Value )
- Ekspresi Aritmatika dikenal dengan sebutan Rvalue ( Right Value )
3.1.2. Hierarki Operator Aritmatika ( Jenjang operator
aritmatika )
Tabel hierarki operator aritmatika
Operator
|
Keterangan
|
|
Tingkatan operator sama, penggunaan nya tergantung
terletak yang didepan didahulukan
|
%
|
Sisa pembagian
|
+ atau -
|
Tingkatan operator sama , penggunaannya tergantung
letak yang didepan didahulukan
|
3.2. Operator Pemberi Nilai Aritmatika
Operator pemberi nilai ( assignment operator ) yaitu
tanda “=”.
Contoh operator pemberi nilai A = A+1
Dari contoh diatas, Borland C++ dapat menyederhanakan
menjadi A +=1
Notasi “+=” ini dikenal dengan operator pemberi nilai
aritmatika.
Operator
|
Keterangan
|
*=
|
Perkalian
|
/=
|
Pembagian
|
%=
|
Sisa pembagian
|
+=
|
Penjumlahan
|
-=
|
Pengurangan
|
3.3 Operator penambah dan pengurang
Operator
|
Keterangan
|
++
|
Penambahan
|
--
|
Pengurangan
|
A = A + 1 atau A = A-1; disederhanakan menjadi A ++ atau
A--
Operator “ ++ “ atau “ –“ dapat diletakkan didepan
atau di belakang variabel.
Keterangan : 1. Penambahan : menambahkan 1 ke nilai
variabel, prefix ( ++A )
Atau positifix ( A++)
2. Pengurangan : mengurangkan 1 ke nilai variabel,
prefix ( --A )
Atau positifix ( A--)
Kedua bentuk penulisan operator ini mempunyai arti
yang berbeda
- Jika di letakkan di depan variabel maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan sedangkan,
- Jika di letakkan di belakang variabel maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
3.4. Operator Relasi
Operator relasi digunakan untuk membandingkan dua buah
nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 ( True )
atau 0 ( False )
Tabel Operator Relasi
Operator
|
Keterangan
|
==
|
Sama dengan ( bukan pemberi nilai )
|
!=
|
Tidak sama dengan
|
>
|
Lebih dari
|
<
|
Kurang dari
|
>=
|
Lebih dari sama dengan
|
<=
|
Kurang dari sama dengan
|
3.5. Operator Logika
Operator relasi digunakan untuk menghubungkan dua buah
operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini
menghasilkan nilai numerik 1 ( True ) atau 0 ( False ).
3.5.1. Operator Logika AND
Operator logika AND digunakan untuk menghubungkan dua
atau lebih ekspresi relasi akan dianggap BENAR, bila semua ekspresi relasi yang
dihubungkan bernilai BENAR.
3.5.2 Operator Logika OR
Hasil dari relasi operator ini akan dianggap BENAR
bila salah satu ekspresi yang dihubungkan bernilai BENAR dan bila semua
ekspresi yang dihubungkan bernilai SALAH maka akan bernilai SALAH.
3.5.3. Operator Logika NOT
Operator logika not akan memberikan nilai kebalikan
dari ekspresi yang disebutkan.
3.6. Operator Bitwise
Operator Bitwise digunakan untuk memanipulasi data
dalam bentuk bit. Borland C++ menyadiakan 6 buah operator bitwise :
Operator
|
Keterangan
|
~
|
Bitwise NOT
|
<<
|
Bitwise Shift left
|
>>
|
Bitwise Shift Right
|
&
|
Bitwise AND
|
^
|
Bitwise XOR
|
|
|
Bitwise OR
|
3.6.1. Operator Bitwise << ( Shift Left )
Operator bitwise shift left digunakan untuk menggeser
sejumlah bit ke kiri.
3.6.2. Operator Bitwise << ( Shift Right )
Operator bitwise shift left digunakan untuk menggeser
sejumlah bit ke kiri.
3.6.3. Operator Bitwise & AND
Operator bitwise & AND digunakan untuk
membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand
yang digabungkan bernilai benar (1 ).
3.6.4. Operator Bitwise | ( OR )
Operator bitwise | ( or ) digunakan untuk
membandingkan bit dari dua operand. Akan bernilai benar (1) jika salah satu
operand yang digabungkan bernilai benar (1 ).
3.6.5. Operator Bitwise ^ (Exclusive OR )
Operator bitwise ^( Xor ) digunakan untuk
membandingkan bit dari dua operand. Akan bernilai benar (1) jika sebuah operand
yang digabungkan bernilai benar (1 ).
3.6.6. Operator Bitwise ~ (Not )
Operator bitwise ~ ( not ) digunakan untuk membalik
nilai bit dari suatu operand.
Tabel
pada halaman berikut akan memperlihatkan kedudukan dari setiap operator
terhadap operator lainnya, dan bagaimana arah pengeksekusian dari suatu
pernyataan yang mengandung operator tersebut
Operator
|
Evaluasi
|
(
) [ ] .
|
kiri
ke kanan
|
!
~ ++ -- + - * & (type) sizeof
|
kanan
ke kiri
|
*
/ %
|
kiri
ke kanan
|
+
-
|
kiri
ke kanan
|
<<
>>
|
kiri
ke kanan
|
<
<= > >=
|
kiri
ke kanan
|
==
!=
|
kiri
ke kanan
|
&
|
kiri
ke kanan
|
^
|
kiri
ke kanan
|
|
|
kiri
ke kanan
|
&&
|
kiri
ke kanan
|
||
|
kiri
ke kanan
|
?
:
|
kanan
ke kiri
|
=
+= -= *= /= %= &= ^= |= <<= >>=
|
kanan
ke kiri
|
,
|
kiri
ke kanan
|
-
Percabangan (if, if....else, if...elseif...., switch)
Percabangan
adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang
menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka
sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else,
else-if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing.
Berikut penjelasan mengenai penggunaan tiap-tiap percabangan :
- if : Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat tertentu. Sintaks if seperti berikut :
if(kondisi){
pernyataan
}
Jika kondisi benar, maka pernyataan
akan dijalankan.
Contoh :
public class coba{
public static void main (String [] args){
int a=0;
if (a==0)
System.out.println("Nilai a =
0");
if (a==1)
System.out.println("Nilai a =
1");
}
}
Output : Program akan menampilkan
nilai a = 0 saja, karena pada if yang kedua, kondisi tidak memenuhi atau
salah.
- if else : Percabangan if else digunakan saat kita memiliki dua pernyataan dengan syarat tertentu. Sintaks if-else seperti berikut :
if(kondisi){
pernyataan1
}else{
pernyataan2
}
Jika hasil dari if benar, maka
pernyataan1 yang dijalankan, sedangkan jika salah, pernyataan dua yang akan
dijalankan.
Contoh :
public class coba{
public static void main (String [] args){
int a=0;
if (a==0)
System.out.println("Nilai a =
0");
else
System.out.println("Nilai a =
1");
}
}
Output : program akan menampilkan nilai
a = 0, karena kondisi if bernilai benar, jika pada inisialisasi nilai a
tidak bernilai 0, maka program akan menampilkan nilai a = 1.
- else -if : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut :
if(kondisi){
pernyataan1
}elseif(kondisi2){
pernyataan2
}else(kondisi3){
pernyataan3
}
else {
penyataan4
}
jika kondisi1 benar, maka
pernyataan1 akan dijalankan, jika kondisi2 benar, maka penyataan2 akan
dijalankan, jika semua kondisi salah, maka penyataan4 yang akan dijalankan
saja.
Contoh :
public class coba{
public static void main (String [] args){
int a=2;
if (a==0)
System.out.println("Nilai a =
0");
else if(a==1)
System.out.println("Nilai a =
1");
else if(a==2)
System.out.println("Nilai a =
2");
}
}
Output : Program akan menampilkan
nilai a = 2 saja, karena pada else-if yang ketiga atau
dengan pernyataan a==2 bernilai benar, sedangkan pernyataan
yang lain tidak dijalankan karena kondisi tidak memenuhi.
- switch-case : percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case seperti berikut :
switch (variabel) {
case nilai1: pernyataan1;
break;
case nilai2: pernyataan2;
break;
default: pernyataan3;
}
Jika nilai variabel yang ditunjuk
bernilai sesuai nilai1, maka pernyataan1 akan dijalankan, jika nilai
variabel yang ditunjuk bernilai sesuai nilai2, pernyataan2 dijalankan, jika
tidak ,maka pernyataan3 yang akan dijalankan.
public class coba{
public static void main (String [] args){
int a=3;
switch (a) {
case 1:
System.out.println("Nilai a=1");break;
case 2:
System.out.println("Nilai a=2"); break;
case 3:
System.out.println("Nilai a=3");break;
default:
System.out.println("Nilai a=4"); break
}
}
}
Output : Program akan menampilkan
nilai a = 2 saja, karena kondisi bernilai benar, perhatika
break dibelakang pernyataan, jika break ini dihapus, maka semua pernyataan akan
dijalankan. Break digunakan untuk keluar dari switch-case saat 1 pernyataan
sudah dijalankan.
Sekian tutorial hari ini, semoga
bermanfaat, jangan lupa untuk berbagi, berbagi itu menyenangkan.
2. Soal praktikum
MODUL
2
PRAKTIKUM DASAR PEMROGRAMAN
1.
Tuliskan algoritma untuk mencari sisi miring
dari suatu segitiga siku-siku jika diketahui diketahui panjang dua sisi yang
membentuk sudut siku-siku.
Petunjuk: sisi miring segitiga siku-siku dapat dihitung dengan
rumus pythagoras,
2.
Tuliskan algoritma untuk menampilkan banyaknya
pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.
Pecahan uang yang digunakan: 100.000, 50.000, 20.000,
10.000, 5.000, 2.000, 1.000, 500, 200, dan 100.
Contoh, untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1
lembar 2.000, dan 1 koin 500.
Input :
jumlah uang
Output :
banyaknya pecahan uang
3.
Buat algoritma untuk mengkonversi bilangan dalam
format desimal menjadi biner.
Input :
bilangan desimal
Output :
bilangan biner
Ilustrasi:
4.
Untuk
menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian
personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan
menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus
sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun
dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan
berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf
yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000
jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang
dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya
kurang dari 50 tahun akan mendapat bonus Rp. 300.000.
Buat
algoritmanya?
5.
Tarif pemasangan iklan baris di sebuah Surat
Kabar ditentukan sebagai berikut :
-
Hari :
Minggu, Senin, Selasa, Rabu, Kamis dan Jumat, per baris Rp. 33.000,-
-
Hari :
Sabtu, per baris Rp. 40.000,-
Buatlah algoritma untuk
menghitung total biaya iklan baris yang harus dibayar oleh pengiklan.
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Jumlah baris yang dipakai
Output : Total
biaya iklan yang harus dibayar pengiklan
Tuliskan algoritma untuk kasus diatas dalam
bentuk flowchart.
6.
Info Harga Tiket Masuk bioskop Surabaya City
adalah sebagai berikut :
-
Senin – Kamis :
Rp 15.000,-
-
Jumat s/d Minggu :
Rp 35.000,-
-
Hari Libur :
Rp 35.000,-
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Libur atau Tidak Libur
- Jumlah tiket yang dibeli
Output : Total biaya tiket
Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .
7.
Di sebuah perbelanjaan di Surabaya diadakan
Pekan Diskon, dimana perhitungan bonus dihitung bertingkat untuk total belanja
senilai :
-
Rp. 150.000,- diskonnya
: 10%
-
Rp. 275.000,- diskonnya
: 15%
-
Rp. 300.000,- diskonnya
: 20%
-
Rp. 400.000,-
ke atas diskonnya
: 25%
Diskon tidak dihitung sebagai
akumulasi dari diskon nilai belanja dibawahnya.
Buatlah algoritma untuk
menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai
belanja tertentu bila disertakan pula perhitungan diskonnya.
Input : Total nilai belanja.
Output : Nilai
Diskon (dalam rupiah/bukan persen), Nilai yang harus dibayar
8.
Berikut ini adalah ketentuan untuk menghitung
nilai, dan konversi menjadi nilai huruf.
Ketentuannya:
Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
Input = tugas1,tugas2,tugas3,UTC,UAC
Output =
Nilai Akhir dan Nilai Huruf.
‘A’ jika nilai > 80 dan
nilai <= 100
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
’D’ jika nilai > 40 dan
nilai <= 55
’E’ jika nilai > 0 dan
nilai <= 40
9.
Berikut ini adalah tarif pemakaian Air PDAM Kota
Surabaya
Jumlah Pemakaian (m3) Harga/m3
Pemakaian I ( <
50 m3) Rp. 200,-
Pemakaian
II ( 51 – 150 ) Rp.
500,-
Pemakaian
III ( 151 – 300 ) Rp. 1.000,-
Pemakaian
I V ( > 300 m3 ) Rp. 1.500,-
Input : Jumlah Pemakaian
Output : Besar biaya yang harus dibayar
Jumlah
Pemakaian = 500 m3
Pemakaian
I ( s/d 50
m3) Rp. 200,- * 50 = Rp. 10.000,-
Pemakaian
II ( 51 – 150 ) Rp.
500,- * 100 = Rp. 50.000,-
Pemakaian
III ( 151 – 300 ) Rp. 1.000,- * 150 = Rp. 150.000,-
Pemakaian
IV (
> 300 m3 ) Rp. 1.500,- * 200 = Rp. 300.000,-
Biaya Total Rp.
510.000,-
Pertanyaan: Buat algoritma untuk kasus diatas.
10.
Sebuah perusahaan kartu kredit memberikan cash
back kepada nasabahnya berdasarkan jumlah nilai pemakaian kartu kredit selama
sebulan.
Nilai
pemakaian cash back
--------------------- ----------
s.d 1.000.000 5%
1.000.000
– 10.000.000 6%
10.000.000
– 25.000.000 7%
Diatas
25.000.000 8%
Ilustrasi: seorang nasabah yang total pemakaian selama
sebulan 18.000.000, maka cash backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 =
160.000
Buat algoritma untuk menghitung cash back yang diterima
nasabah berdasarkan nilai pemakaian kartu kredit.
Jawaban
1.
Algoritma untuk mencari sisi miring dari
suatu segitiga siku-siku
Algoritma
:
a) Input
a, dimisalkan 2
b) Input
b, dimisalkan 3
c) Proses
d) Tampilkan
hasil (c)
e) Print
f) Selesai
2.
Algoritma untuk menampilkan banyaknya
pecahan uang paling efisien
Algoritma :
a) menentukan
input (uang), dimisalkan uang berjumlah Rp 125.500
b) hitung
pecahan 100.000 : =1
c) hitung
pecahan 50.000 : =0
d) hitung
pecahan 20.000 : =1
e) hitung
pecahan 10.000 : =0
f) hitung
pecahan 5.000 : =1
g) hitung
pecahan 2.000 : =0
h) hitung
pecahan 1.000 :=0
i)
hitung pecahan 500 :=1
j)
hitung pecahan 200 :=0
k) hitung
pecahan 100 :=0
l)
Tampilkan hasil (1010100100)
m) Print
n) Selesai
3.
Algoritma untuk mengkonversi bilangan
dalam format desimal menjadi biner
Algoritma :
a) input
desimal, dimisalkan desimal 4510
b) Proses bagi
dua ambil sisa pembagian
45 10 =
45 : 2 = 22 + sisa
1
22 : 2 = 11 + sisa
0
11 : 2 = 5 + sisa
1
5 : 2 =
2 + sisa 1
2 : 2 =
1 + sisa 0
c)
Tampilkan hasil 011012 (ditulis dr
bawah ke atas)
d)
Print
e)
Selesai
4.
Algoritma untuk bonus pegawai
Algoritma :
a) Input
Select Case StatusPegawai
b) Input
Case StatusStaff
c) If
MasaKerja >= 5 Then
d) If
Umur >= 50 Then
e) Bonus
= 1000000
f) Else
g) Bonus
= 300000
h) End
If
i)
Else
j)
Bonus = 500000
k) End
IF
l)
Case Else
m) If
MasaKerja >= 5 Then
n) If
Umur >= 50 Then
o) Bonus
= 400000
p) Else
q) Bonus
= 250000
r) End
If
s) Else
t) Bonus
= 250000
u) End
IF
v) End
Select
5.
Algoritma untuk menghitung total biaya
iklan baris yang harus dibayar oleh pengiklan
Algoritma :
a) Input
Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
b) Input
Hari Sabtu Rp 40.000/ baris
c) Input
jml baris minggu s/d jum’at = 50
Input jml baris, Hari
Sabtu =12
d) Proses,
Jika Hari Minggu, Senin, Selasa, Rabu, Kamis, Jumat Rp 33.000/ baris
Jika Hari
Sabtu Rp 40.000/ baris
e) Harga*jml
baris
f)
Tampilkan hasil
g)
Print
h)
Selesai
6.
Algoritma untuk menghitung total biaya
tiket .
a) Input
Hari Senin, Selasa, Rabu, Kamis Rp 15.000
b) Input
Hari Jum’at, sabtu, mingggu, Libur Rp 35.000
c) Input
Jumlah tiket yang dibeli,
Dimisalkan juml.tiket Hari Senin, Selasa, Rabu,
Kamis = 20
Dimisalkan juml.tiket Hari Jum’at, sabtu, mingggu,
Libur = 15
d) Proses,
jika Hari Senin, Selasa, Rabu, Kamis Rp 15.000* juml.tiket Hari Senin, Selasa,
Rabu, Kamis (20)
Jika Hari Jum’at, sabtu, mingggu, Libur Rp 35.000*
juml.tiket Hari Jum’at, sabtu, mingggu, Libur = 15
e) Tampilkan
hasil (1125000)
f) Print
g) Selesai
7.
Algoritma untuk menghitung berapa nilai
yang harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila
disertakan pula perhitungan diskonnya. Ketentuan : Diskon tidak dihitung
sebagai akumulasi dari diskon nilai belanja dibawahnya.
Algoritma :
a) Input
Total nilai belanja
b) Subtotal,
jml* harga barang
c) Proses,
Jika Rp. 150.000,- ke atas diskonnya : 10%,
Jika Rp. 275.000,- ke atas
diskonnya : 15%,
Jika Rp. 300.000,- ke atas
diskonnya : 20%,
Jika Rp. 400.000,- ke atas diskonnya : 25%
d) Hitung
total bayar subtotal- potongan
e) Tampilkan
total bayar
f) Print
g) Selesai
8.
Algoritma nilai
Algoritma :
a) Masukkan
5 nilai (nilai tugas1,tugas2,tugas3,UTC,UAC)
b) Hitung
nilai rata - rata tugas = nilai
tugas1+tugas2+tugas3 / 3.
c) Lalu
hitung semua nilai : Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
d) Seleksi
nilai akhir.
e) Jika
nilai akhir :
> 80 dan <=100 maka nilai
huruf = A
> 70 dan <=80 maka nilai
huruf = AB
> 65 dan <=70 maka nilai
huruf = B
> 60 dan <=65 maka nilai
huruf = BC
> 55 dan <=60 maka nilai
huruf = C
> 40 dan <=55 maka nilai
huruf = D
> 0 dan <=40 maka nilai huruf
= E
f) Output
: hasil nilai akhir dan hasil seleksi nilai huruf
9.
Algoritma tarif pemakaian Air PDAM Kota
Surabaya
a)
Masukkan Jumlah Pemakaian Air.
b)
Hitung jumlah nilai/pemakaian yang
dimasukkan :
1) Seleksi jika pemakaian < 0, maka Biaya
total = Jumlah * 0.
2) Seleksi jika pemakaian <= 50, maka Biaya
total = Jumlah * 200
3)
Seleksi jika pemakaian <= 150, maka Biaya total = ((50 * 200) + ((jumlah -
50) * 500))
4)
Seleksi jika pemakaian <= 300, maka Biaya Total = ((50 * 200) + (100 * 500)
+ ((jumlah - 150) * 1000)).
5) Seleksi jika pemakaian > 300, maka Biaya
Total = ((50 * 200) + (100 * 500) + (150 * 1000) + ((jumlah - 300) * 1500))
c.
Output : Biaya Total
10.
Algoritma untuk menghitung cash back
yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.
Algoritma :
a) Ambil
input user untuk memasukkan jumlah pemakaian Kartu Kredit
1) Masukkan ke variabel string
pemakaian
2) Jika panjang inputan string pemakaian
lebih dari 0, atau dengan kata lain
b) user
telah menginputkan value,ubah input string pemakaian menjadi bilangan dengan
nama variabel
c) int
jml_pemakaian,memberikan nilai default pada variabel pemakaian1 dengan,
pemakaian1= 1000.000.Jika nilai pada variabel jml_pemakaian <= 1.000.000.
d) Memberikan
nilai pada variabel pemakaian1 dengan,pemakaian1= e. jml_pemakaian.
e) Atau
jika nilai pada variabel jml_pemakaian > 1.000.000, dan nilaipada variabel
jml_pemakaian <= 10.000.000
f) Memberikan
nilai pada variabel pemakaian1 dengan,pemakaian1= 1.000.000
g) Memberikan
nilai pada variabel pemakaian2 dengan,pemakaian2= jml_pemakaian – 1.000.000
atau jika nilai pada variabel jml_pemakaian > 10.000.000, dan nilai pada
variabel jml_pemakaian <= 25.000.000
h) Memberikan
nilai pada variabel pemakaian2 dengan,pemakaian2= 10.000.000
i)
Memberikan nilai pada variabel
pemakaian3 dengan,pemakaian3= jml_pemakaian – 25.000.000.Atau jika nilai pada
variabel jml_pemakaian > 25.000.000
j)
Memberikan nilai pada variabel
pemakaian2 dengan,pemakaian2= 10.000.000
k) Memberikan
nilai pada variabel pemakaian3 dengan,pemakaian3= 25.000.000
l)
Memberikan nilai pada variabel
pemakaian4 dengan,pemakaian4= jml_pemakaian – 25.000.000
m) Memberikan
nilai pada variabel cash_back_total dengan,cash_back_total= (pemakaian1*5/100)+(pemakaian2*6/100)+(pemakaian3*7/100)+(pemakaian4*8/10)
n) Cetak
output dengan format, "Seorang nasabah yang total selama sebulan
"+jml_pemakaian+", maka total cash
backnya="+cash_back_total.Atau Jika panjang inputan tidak lebih dari 0,
atau dengan kata lain user belum menginputkan value
o) Cetak
output “Ada salah satu masukan yang kosong”
p) Stop
proses
4.
Flowchart atau psoudocode masing-masing soal
1.
Flowchart untuk mencari sisi miring dari
suatu segitiga siku-siku
2.
Flowchart untuk menampilkan banyaknya
pecahan uang paling efisien
3.
Flowchart untuk mengkonversi bilangan
dalam format desimal menjadi biner
4.
Flowchart untuk bonus pegawai
5.
Flowchart untuk menghitung total biaya
iklan baris yang harus dibayar oleh pengiklan
6.
Flowchart Algoritma untuk menghitung
total biaya tiket .
7.
Flowchart untuk menghitung berapa nilai yang
harus dibayar oleh pelanggan dengan total nilai belanja tertentu bila
disertakan pula perhitungan diskonnya.
8.
Flowchart nilai
C
D
|
9.
Flowchart tarif pemakaian Air PDAM Kota Surabaya
10.
Flowchart untuk menghitung cash back
yang diterima nasabah berdasarkan nilai pemakaian kartu kredit.
5.
SOURCE
KODE BESERTA OUTPUT
Pada kode ini, saya mengasumsikan bahwa Anda telah
punya source Java sendiri yang kira-kira struktur umumnya adalah sebagai
berikut:
package PackageName;
// import statement here
public class MainClassName {
public
static void main(String[] args) {
// Your
code here
}
}
Kode-kode yang ada di artikel ini bisa langsung
digunakan di dalam method main.
Mencetak Keluaran dari Standard Output
Untuk mencetak keluaran, bisa menggunakan:
System.out.println("Hai!");
Untuk menggabungkan keluaran biasa dengan suatu
variabel, Anda dapat menggunakan operator ‘+’
int i = 0;
System.out.println("Isi variabel i adalah "
+ i + ".");
Untuk yang membutuhkan keluaran dengan format, Java
juga memilikinya:
int i = 0;
System.out.printf("Isi variabel i adalah
%i.\n", i);
Membaca Masukan dari Standard Input
Ini adalah cara yang cukup mudah untuk digunakan. Pada
bagian import, jangan lupa definisikan:
import java.util.Scanner;
Penggunaan
Scanner adalah sebagai berikut:
Scanner inputScanner = new Scanner(System.in);
String masukan = inputScanner.next();
System.out.println(masukan);
Untuk tipe
data lain, ada juga caranya. Misal untuk membaca sebuah bilangan bulat:
Scanner inputScanner = new Scanner(System.in);
int angka = inputScanner.nextInt();
System.out.println(angka);
Jika Anda
menggunakan Integrated Development Environment (IDE) seperti NetBeans,
maka Anda bisa mengeksplorasi sendiri methods yang ada dengan mengetik
“inputScanner” dan diakhiri dengan tanda titik. Anda akan dibantu dengan fitur Code
Completion dari IDE ini. Coba saja, ada banyak method yang dapat
Anda gunakan. Hal yang sama juga bisa Anda lakukan, misalnya dengan mengetik
“System.out” diakhiri dengan tanda titik. Anda akan melihat method yang
begitu banyak.
Ini adalah
cara yang mudah untuk mencoba belajar sendiri, tanpa harus capek-capek
browsing.
Fitur Code
Completion pada NetBeans ketika Anda mengetik "inputScanner" diakhiri
dengan tanda titik.
6. Resensi