Sabtu, 02 November 2013
Senin, 28 Oktober 2013
MODUL 2
TUGAS MODUL 2
Praktek Dasar Pemrograman
Oleh :
Isnan Nofarianto Kurniawan
Nim : 135623030
PROGRAM STUDI D3 MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS NEGERI
SURABAYA
2013
Netbeans dan Eclipse
1.
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:
1. Smart Code Completion: untuk
mengusulkan nama variabel dari suatu tipe, melengkapi keyword dan mengusulkan
tipe parameter dari sebuah method.
2. Bookmarking: fitur yang digunakan
untuk menandai baris yang suatu saat hendak kita modifikasi.
3. Go to commands: fitur yang digunakan
untuk jump ke deklarasi variabel, source code atau file yang ada pada project
yang sama.
4. Code generator: jika kita
menggunakan fitur ini kita dapat meng-generate constructor, setter and getter
method dan yang lainnya.
5. Error stripe: fitur yang akan
menandai baris yang eror dengan memberi highlight merah.
2. 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.
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.
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.
Penulisan Program di Java,
Input, Output
File kode sumber program Java, merupakan tempat di
mana kode-kode yang membangun program ditulis. Terdapat pernyataan(statement), blok (block) dan komentar (comment) di
dalamnya. Aturan untuk menulis kode program Java yaitu.
§ Nama file dapat
dibuat apa saja, kecuali jika terdapat public
class dalam kode program, maka nama file harus
sama dengan nama public class tersebut, kemudian
harus berakhiran atau memiliki ekstensi .java,
contoh.
1
2
3
|
ProgamKu.java
Kalkulator.java
Hello.java
|
§
File kode sumber yang kosong dapat di-compile tanpa pesan error.
§
Bentuk atau struktur penulisan kode sumber program Java ditulis secara
berurutan yaitu.
1.
Diawali dengan penulisan package, setidaknya ada 0
atau 1 package, harus ditulis sebagai pernyataan
pertama. Packagemerupakan pemaketan atau pengorganisasian kode
program beserta sumber daya (resource) program lainnya,
sehingga membuat program lebih ter-organisir dan ter-proteksi.
2.
Selanjutnya, import, setidaknya ada 0 atau lebih
pernyataan import, harus ditulis sebelum mendeklarasikan class.
Importmenyatakan library atau class apa
saja yang dibutuhkan dan digunakan dalam program.
3.
Kemudian, class, setidaknya ada 0 atau lebih
deklarasi class, sedangkan public class hanya
diperbolehkan 1 dalam satu file.Berikut strukturnya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package nama.paket;
import
kelas.kelas.yang.digunakan.dalam.Program;
import
kelas.kelas.lain.yang.Digunakan;
import kelas.kelas.Lainnya;
// Statement import lainya.
public class NamaClassPublic {
//
Deklarasi isi class, dapat berisi class, variabel, method dan blok lain.
}
class NamaClass {
//
Deklarasi isi class.
}
class NamaClassLainnya {
//
Deklarasi isi class.
}
// Deklarasi class lainnya
|
Jadi, dalam sebuah kode program Java, memiliki
bagian utama berupa class, import merupakan bagian
deklarasi libraryyang digunakan sedangkan bagian package untuk
pemaketan program.
Pernyataan
Sebuah pernyataan diakhiri dengan tanda semicolon atau titik
koma ( ; ), contoh.
1
2
3
|
import java.util.Date;
System.out.println(“Sebuah pernyataan”);
int x;
|
Blok
Blok merupakan bagian yang terdiri dari kumpulan statement atau
blok lainnya, yang diapit oleh tanda kurung kurawal ( { //isi blok
} ), dan tidak diakhiri dengan semicolon.
Contoh 1.
1
2
3
4
5
|
public static void main(String[] agrs)
{
// Contoh
komentar satu baris.
int x =
100; // Variabel x.
System.out.println(“Nilai
x adalah”+x);
}
|
Contoh 2.
1
2
3
4
5
6
7
8
|
/* Contoh komentar yang lebih dari
satu baris.
Jika nilai lebih
dari 80,
nilai diberi A
dan dinyatakan Lulus
*/
if (x>80) {
nilai =
'A';
keterangan
= “LULUS”;
}
|
Contoh 3.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Halo {
boolean
tampil;
public
static void main(String[] args) {
Halo
h = new Halo();
h.tampil
= true;
//
h.tampil bernilai benar tampilkan tulisan Halo.
if
(h.tampil) {
System.out.println(“Halo”);
}
}
}
|
Komentar
Komentar dapat ditulis di bagian mana saja pada kode
program. Komentar berguna untuk memberi keterangan dan
sebagai dokumentasi untuk kode program, sehingga kode
mudah untuk dibaca (readable) baik untuk programer itu
sendiri, juga untuk orang lain, komentar tidak akan dibaca sebagai
pernyataan. Ada tiga bentuk komentar yaitu.
1.
Komentar satu baris, komentar dapat ditulis dengan memberi tanda dua
kali garis miring ( // ) sebelum komentar. (Bisa
dilihat pada contoh sebelumnya).
2.
Komentar lebih dari satu baris, diawali tanda garis miring
dan bintang ( /* ) dan ditutup dengan tanda bintang
dan garis miring ( */ ), (Bisa dilihat pada contoh
sebelumnya).
3.
Terdapat komentar khusus yang disebut javadoc, dengan penulisan
diawali tanda garis miring dan dua tanda bintang (/** ),
dan diakhiri dengan tanda bintang dan garis miring ( */ ).
Dalam komentar ini dapat digunakan tag yang
menjelaskan author, version, return, throws dan beberapa tag lain,
juga dapat ditambahkan tag HTML untukmenformat
teks. Komentar ini dapat di generate ke bentuk halaman
HTML sebagai dokumentasi program, menggunakan tool atau perintah javadoc,
contoh.
1
2
3
4
5
6
7
8
9
|
/**
* Mencari kata berdasarkan
kecocokan kandungan kata.
* @param kandunganKata
kandungan dalam kata.
* @return ArrayList
Mengembalikan kata yang ditemukan dalam bentuk list array.
*/
public ArrayList
cariMengandung(String kandunganKata)
{
// Isi program.
}
|
Gaya penulisan
Gaya penulisan kode ini menentukan
seberapa baik kode program dapat dibaca (readable) oleh programer nya
atau orang lain. Kode program bisa saja ditulis seperti kode dibawah.
1
|
public class Halo { public static
void main(String[] args) { System.out.println(“Halo, selamat datang di
Java.”); } }
|
Kode di atas dapat di compile dan
dijalankan tanpa error, namun sangat sulit membaca dan
memahami kode dengan bentuk tersebut, kita bisa menulis masing-masing pernyataan
dalam satu baris, menambahkan penjorokan (indent) menggunakan
tombol tab,jika bagian tersebut merupakan isi dari blok di atasnya
dan menambahkan komentar pada beberapa bagian kode program,
contoh.
1
2
3
4
5
6
|
public class Halo {
public
static void main(String[] args) {
//
Menampilkan tulisan ke layar.
System.out.println(“Halo,
selamat datang di Java”);
}
}
|
Operator: Assigment,
Matematika, Perbandingan, Logika
Assignment Operators
Operator dasar dari
assignment operators adalah (=). Nilai dari sebuah
ekspresi assignment adalah nilai yang diberikan. Artinya, nilai “$ a = 3” menandakan bahwa
nilai $a adalah 3. Hal ini memungkinkan Anda untuk melakukan beberapa hal yang
rumit.
Assignment operators dapat digabungkan
dengan operator aritmatika dan operator string. Sebagai contoh adalah sebagai
berikut.
1
2
3
4
5
6
7
8
9
10
|
<?php
$a = 3;
$a = $a + 1;
//akan mengahasilkan
nilai 4.
echo $a;
//kode diatas sama
dengan
$a = 3; $a += 1;
//akan menghasilkan
nilai 4 juga.
echo $a;
?>
|
Contoh
penggunaan assignment dan aritmatik
|
1
2
3
4
5
6
7
8
9
10
11
|
<?php
$a = "Makan ";
$a = $a . "Malam";
//akan mengahasilkan
nilai Makan Malam.
echo $a;
//kode diatas sama
dengan
$a = "Makan ";
$a .= "Malam";
//akan menghasilkan
nilai Makan Malam juga.
echo $a;
?>
|
Contoh
penggunaan assignment dan string
|
Dari kedua contoh diatas dapat kita simpulkan bahwa $a
= $a + 1 hasilnya akan sama dengan $a += 1. Dibawah ini daftar penggabungan
operator assignment dengan operator artitmatik atau operator string.
Operator
|
Contoh
|
Sama Dengan
|
+=
|
$a += 1
|
$a = $a +1
|
-=
|
$a -= 1
|
$a = $a -1
|
*=
|
$a *= 1
|
$a = $a * 1
|
/=
|
$a /= $a
|
$a = $a / 1
|
%=
|
$a %= 1
|
$a = $a % 1
|
.=
|
$a .= “welcome”
|
$a = $a . “welcome”
|
Incrementing/Decrementing Operators
Pengertian
Incrementing/Decrementing Operators adalah merupakan operator penambah dan pengurangan
nilai dengan nilai selisih 1 (satu). Operator jenis ini merupakan operator
pengembangan dari jenis sebelumnya yaitu operator gabungan antara operator
assignment dan operator aritmatika.
$a++; sama dengan $a += 1; atau sama dengan $a = $a + 1;
$a–; sama dengan $a -= 1; atau sama dengan $a = $a – 1;
Yang membedakan adalah penggunaannya, operator increment atau decrement hanya digunakan untuk penambahan satu nilai dan biasa di gunakan dalam perulangan. Sehingga mempercepat penulisan script.
$a++; sama dengan $a += 1; atau sama dengan $a = $a + 1;
$a–; sama dengan $a -= 1; atau sama dengan $a = $a – 1;
Yang membedakan adalah penggunaannya, operator increment atau decrement hanya digunakan untuk penambahan satu nilai dan biasa di gunakan dalam perulangan. Sehingga mempercepat penulisan script.
Operasi
|
Operator
|
Contoh
|
Penambahan Satu Nilai
|
++
|
$a++
|
Pengurangan Satu Nilai
|
–
|
$a–
|
Operator Perbandingan
Operator ini digunakan untuk melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.
Operator ini digunakan untuk melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.
Contoh
|
Nama
|
Hasil
|
$x == $y
|
Sama dengan
|
BENAR jika $x
sama dengan $y.
|
$x === $y
|
Identik
|
BENAR jika $x
sama dengan $y, dan keduanya memiliki tipe yang sama.
|
$x != $y
|
Tidak sama dengan
|
BENAR jika $x
tidak sama dengan $y.
|
$x <> $y
|
Tidak sama dengan
|
BENAR jika $x
tidak sama dengan $y.
|
$x !== $y
|
Tidak identik
|
BENAR jika $x
tidak sama dengan $y, 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 orang lakukan adalah
menggunakan operator assignment (“=”) untuk membandingkan, sehingga untuk
mambandingkan apakah 2 variabel sama atau tidak dalam sebuah percabangan
menuliskan:
If ($x = $y)
seharusnya
If ($x == $y)
Operator Logika
Di sini anda dapat membandingkan elemen-elemen menggunakan pembandingan logika and dan or.
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.
|
! $a
|
Not
|
BENAR jika $a
tidak BENAR.
|
$a && $b
|
And
|
BENAR jika
baik $a dan $b keduanya BENAR.
|
$a || $b
|
Or
|
BENAR jika
salah satu dari $a atau $b BENAR.
|
Operator Aritmatika
Operator ini digunakan untuk melakukan matematika dasar.
Operator ini digunakan untuk melakukan matematika dasar.
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
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program
untuk melakukan sesuatu operasi atau manipulasi
Contoh :
Penjumlahan, pengurangan, pembagian dan lain-lain.
Operator mempunyai sifat:
Unary
Sifat unary pada operator hanya melibatkan sebuah operand pada suatu operasi aritmatik. Contoh : -5
Binary
Sifat binary pada operator melibatkan dua buah operand pada suatu operasi aritmatik. Contoh : 4 + 8
Ternary
Sifat tenary pada operator melibatkan tiga buah operand pada suatu operasi aritmatik. Contoh : (10 % 3) + 4 + 2
Operator untuk
operasi aritmatika yang tergolong sebagai binary adalah:
OPERATOR
KETERANGAN CONTOH
* Perkalian (Multiply) 4 * 5
/ Pembagian (Divide) 8 / 2
% Sisa Bagi (Modulus) 5 % 2
+ Penjumlahan (Add) 7 + 2
- Pengurangan (Substract) 6 – 2
* Perkalian (Multiply) 4 * 5
/ Pembagian (Divide) 8 / 2
% Sisa Bagi (Modulus) 5 % 2
+ Penjumlahan (Add) 7 + 2
- Pengurangan (Substract) 6 – 2
OPERATOR KETERANGAN
CONTOH
+ Tanda Plus +4
- Tanda Minus -6
+ Tanda Plus +4
- Tanda Minus -6
Operator
penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan
(“=”).
Contoh :
nilai = 80; A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
Contoh :
nilai = 80; A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
Hierarki Operator Aritmatika
Di dalam suatu akspresi arotmatika dapat kita jumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan operator aritmatika adalah sebagai berikut:
* atau / Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
% Sisa Pembagian
+ atau – Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
Contoh:
A = 8 + 2 * 3 / 6
Langkah perhitungannya :
A = 8 + 6/6 dimana 6/6 = 1 A = 8 + 1
A = 9
Tingkatan operator ini dapat diabaikan dengan penggunaan tanda kurung ( dan )
Contoh:
A = (8 + 2) * 3 / 6
Langkah perhitungannya :
A = 10 * 3/6 dimana 8 + 2 = 10
A = 30 / 6 A = 5
Di dalam suatu akspresi arotmatika dapat kita jumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan operator aritmatika adalah sebagai berikut:
* atau / Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
% Sisa Pembagian
+ atau – Tingkatkan operator sama, penggunaannya tergantung letak,
yang di depan didahulukan
Contoh:
A = 8 + 2 * 3 / 6
Langkah perhitungannya :
A = 8 + 6/6 dimana 6/6 = 1 A = 8 + 1
A = 9
Tingkatan operator ini dapat diabaikan dengan penggunaan tanda kurung ( dan )
Contoh:
A = (8 + 2) * 3 / 6
Langkah perhitungannya :
A = 10 * 3/6 dimana 8 + 2 = 10
A = 30 / 6 A = 5
Operator
Increment & Decrement
Pada pemrograman C++, menyediakan operator penambah dan pengurang (Increment & Decrement).
++ Penambahan (Increment)
– Pengurangan (Decrement)
A = A + 1 atau A = A – 1; dapat disederhanakan menjadi A + = 1 atau A – = 1 Dan dapat disederhanakan menjadi A++ atau A–
Notasi ++ atau — dapat diletakkan di depan atau di belakang variabel. Contoh: A– atau –A atau ++ A atau A++
Kedua bentuk penulisan di atas mempunyai arti yang berbeda:
Jika diletakkan 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 di temukan.
Jika diletakkan di belakang variabel. Maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini di jumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Pada pemrograman C++, menyediakan operator penambah dan pengurang (Increment & Decrement).
++ Penambahan (Increment)
– Pengurangan (Decrement)
A = A + 1 atau A = A – 1; dapat disederhanakan menjadi A + = 1 atau A – = 1 Dan dapat disederhanakan menjadi A++ atau A–
Notasi ++ atau — dapat diletakkan di depan atau di belakang variabel. Contoh: A– atau –A atau ++ A atau A++
Kedua bentuk penulisan di atas mempunyai arti yang berbeda:
Jika diletakkan 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 di temukan.
Jika diletakkan di belakang variabel. Maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini di jumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Operasi Relasi
(Perbandingan)
Operator relasi ini digunakan untuk membandingkan dua buah nilai. Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False).
== Sama dengan (bukan pemberi nilai)
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Operator relasi ini digunakan untuk membandingkan dua buah nilai. Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False).
== Sama dengan (bukan pemberi nilai)
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Operator Logika
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan
menjadi sebuah ungkapan berkondisi.
&& Operator Logika AND m && n
|| Operator Logika OR m || n
! Operator Logika NOT !m
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan
menjadi sebuah ungkapan berkondisi.
&& Operator Logika AND m && n
|| Operator Logika OR m || n
! Operator Logika NOT !m
Operator
Bitwise
Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit
<> Bitwise Shift Right
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
~ Bitwise NOT
Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit
<> Bitwise Shift Right
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
~ Bitwise NOT
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.
Soal
Praktikum
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:
a.
Tentukan
nilai a, b
b.
Hitung
C =
c.
Tampilkan
C
Psuodocode
a.
Input
(a,b)
b.
C
ß
c.
Output
(c)
Flowchart
2.
Algoritma
a.
Tentukan uang
b.
Hitung p100r = uang/100000
Hitung sp100r = uang – p100r*100000
Hitung p50r = sp100r/50000
Hitung sp50r = sp100r – p50r*50000
Hitung p20r = sp50r/20000
Hitung sp20r = sp50r – p20r*20000
Hitung p10r = sp20r/10000
Hitung sp10r = sp20r – p10r*10000
Hitung p5r = sp10r/5000
Hitung sp5r = sp10r – p5r*5000
Hitung p1r = sp5r/1000
Hitung sp1r = sp5r – p1r*1000
Hitung p0,5r = sp1r/500
Hitung sp0,5r = sp1r – p0,5r*500
Hitung p0,1r = sp0,5r/100
Hitung sp0,1r = sp0,5r – p0,1r*100
c.
Tampilkan p100r, p50r, p20r, p10r,
p5r, p1r, p0,5r, p0,1r
Pseudocode
a.
Input (uang)
b.
p100r ß
uang/100000
sp100r ß
uang – p100r*100000
p50r ß
sp100r/50000
sp50r ß
sp100r – p50r*50000
p20r ß
sp50r/20000
sp20r ß
sp50r – p20r*20000
p10r ß
sp20r/10000
sp10r ß
sp20r – p10r*10000
p5r ß
sp10r/5000
sp5r ß
sp10r – p5r*5000
p1r ß
sp5r/1000
sp1r ß
sp5r – p1r*1000
p0,5r ß
sp1r/500
sp0,5r ß
sp1r – p0,5r*500
p0,1r ß
sp0,5r/100
sp0,1 ß
sp0,5r – p0,1r*100
c.
output (p100r, p50r, p20r, p10r,
p5r, p1r, p0,5r, p0,1r)
flowchart
3. Algoritma
a.
Baca des
b.
1.
Desimal=des/2
2. Sisa= desimal%2
3. d= d*2
4. biner= biner + sisa * d
5. jika desimal 0 pergi ke c
6. pergi ke 1
c.
cetak
desimal
Pseudocode
a.
input (des)
b.
Desimal ß des/2
c.
Sisa ß desimal%2
d.
D= d*2
e.
Biner ß
biner+sisa*d
f.
If desimal == 0 output (desimal)
g.
Else kembali ke b
Flowchart
4. Algoritma
a.
Tentukan l,u,s,ns
b.
Bonus =
1. Jika ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c. tampilkan
bonus
pseudocode
a.
Input (l,u,s,ns)
b.
Bonus =
1. Jika ns
2. Jika l <= 5 & u <=50
3. cetak bonus 400
4. jika l>= 5
5. cetak bonus 250
6. jika s
7. Jika l <= 5 & u <=50
8. Cetak bonus 1jt
9. jika l<= 5 & u >= 50
10. cetak bonus 500
11. else s u>=50
12. cetak bonus 300
c.
Output (bonus)
Flowchart
5.
Algoritma
a.
Tentukan hari, jml
b.
Jika hari minggu- jum’at
c.
Cetak hrg hari = 33000
d.
Total = jml*hrghari
e.
Jika tidak
f.
Cetak hrghari 40000
g.
Total = jml*hrghar
Pseudocode
a.
Input (hari,jml)
b.
Jika hari = minggu, senin, selasa, rabu, kamis,
jum’at
c.
Hrghari = 33000
d.
Jika tidak
e.
Hrghari = 40000
f.
Total ßjml*hrghari
g.
Output (total)
Flowchart
6.
Algoritma
a.
Tentukan hari,jml,libur, tidak
libur
b.
Jika hari = senin, selasa,
rabu,kamis, jum’at
c.
Jika libur harga = 35.000
d.
Jika tidak harga = 15.000
e.
Jika hari = sabtu& minggu
f.
Harga = 35.000
g.
Total = jml*harga
h.
Tampilkan total
Pseudocode
a.
Input (hari,jml,libur, tidak libur)
b.
Jika hari = senin, selasa,
rabu,kamis, jum’at
c.
Jika libur harga = 35.000
d.
Jika tidak harga = 15.000
e.
Jika hari = sabtu& minggu
f.
Harga = 35.000
g.
Total ß jml*harga
h.
Output(total)
Flowchart
7. Algoritma
a.
Tentukan harga
b.
Jika harga<=400000
c.
Hitung disc = harga*25/100
d.
Jika harga <=300000
e.
Hitung disc = harga*20/100
f.
Jika harga <= 275000
g.
Hitung disc = harga*15/100
h.
Hitung disc harga<=
150000*10/100
i.
Tampilkan disc
Pseudocode
a.
Input (harga)
b.
Jika harga<=400000
c.
disc ß
harga*25/100
d.
Jika harga <=300000
e.
disc ß
harga*20/100
f.
Jika harga <= 275000
g.
disc ß
harga*15/100
h.
disc ß harga<=
150000*10/100
i.
output (disc)
flowchart
8.
algoritma
a.
tentukan tugas1,tugas2,tugas3,UTC,UAC
b.
hitung nilai =
((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.
jika nilai > 80 dan
nilai <= 100
d.
cetak A
e.
jika nilai > 70 dan
nilai <= 80
f.
cetak AB
g.
jika nilai > 65 dan
nilai <= 70
h.
cetak B
i.
jika nilai > 60 dan
nilai <= 65
j.
cetak BC
k.
jika nilai > 55 dan
nilai <= 60
l.
cetak C
m. jika nilai > 40 dan nilai <= 55
n.
cetak D
o.
Cetak E
Pseudocode
a.
Input
(tugas1,tugas2,tugas3,UTC,UAC)
b.
nilai ß
(((tugas1+tugas2+tugas3)/3*30/100) +(UTC*30/100)+(UAC*40/100)
c.
jika nilai > 80 dan
nilai <= 100
d.
output (A)
e.
jika nilai > 70 dan
nilai <= 80
f.
output (AB)
g.
jika nilai > 65 dan
nilai <= 70
h.
output (B)
i.
jika nilai > 60 dan
nilai <= 65
j.
output (BC)
k.
jika nilai > 55 dan
nilai <= 60
l.
output
(C)
m. jika nilai > 40 dan nilai <= 55
n.
output (D)
o.
output (E)
flowchart
9.
algoritma
a.
tentukan pemakaian air
b.
jika pemakaian air <=50
c.
hitung biaya = 200* pemakaian air
d.
jika pemakaian air <50 dan
pemakaian air >=150
e.
hitung biaya = 50*200 + (pemakaian
air-50)*500
f.
jika pemakaian air <150 dan
pemakaian air >= 300
g.
hitung biaya = 50*200 +
100*500+(pemakaian air-150)*1000
h.
hitung biaya =
50*200+100*500+150*100(pemakaian air-300)*1500
i.
tampilkan biaya
pseudocode
a.
input (pa)
b.
jika pa<= 50
c.
biaya ß 200* pa
d.
jika pa <50 dan pa >=150
e.
biayaß 50*200 +
(pa-50)*500
f.
jika pa <150 dan pa >= 300
g.
biaya ß 50*200 +
100*500+(pa-150)*1000
h.
biayaß
50*200+100*500+150*100(pa-300)*1500
i.
output(biaya)
flowchart
10.
algoritma
a.
tentukan total
b.
jika total >= 1000000
c.
hitung cb = 5/100*total
d.
jika total <1000000 dan total
>= 10000000
e.
hitung cb = 5/100*1000000 + 6/100*
(total-1000000)
f.
jika total < 10000000 dan total
>= 25000000
g.
hitung cb = 5/100*1000000 +
6/100*9.000.000+7/100*(total-10000000)
h.
hitung cb =5/100*1000000 +
6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.
tampilkan cb
pseudocode
a.
input (total)
b.
jika total >= 1000000
c.
cb ß
5/100*total
d.
jika total <1000000 dan total
>= 10000000
e.
cbß
5/100*1000000 + 6/100* (total-1000000)
f.
jika total < 10000000 dan total
>= 25000000
g.
cb ß
5/100*1000000 + 6/100*9.000.000+7/100*(total-10000000)
h.
cb ß5/100*1000000
+ 6/100*9.000.000+7/100*10000000+8/100*(total-20000000)
i.
output(cb)
Source code
Soal No 1
Soal no 2
Referensi