Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
OPERASI ARITMETIKA
Matakuliah
Tahun
Versi
: T0974 / Algoritma dan Metode Object Oriented Programming I
: 2008
: 1/0
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
• Menggunakan sintaks untuk melakukan
operasi aritmetika
• Menggunakan kaidah konvensi
penamaan pada pemrograman
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
Operator Numerik
Assignment Statement
Assignment Expressions
Arithmetic Expressions
Operator Shorthand
Operator Increment dan Decrement
Konvensi Penamaan
Bina Nusantara
Operator Numerik
Operator
Deskripsi
Penambahan
+
(Addition)
Pengurangan
(Subtraction)
Pengalian
*
(Multiplication)
Pembagian
/
(Division)
Sisa Hasil Bagi
%
(Remainder)
Bina Nusantara
Contoh
34 + 1
Hasil
35
34.0 – 0.1 33.9
300 * 30
9000
1.0 / 2.0
0.5
20 % 3
2
Operator Numerik
• 4 tipe data bilangan bulat pada Java: byte,
short, int, dan long
• 2 tipe data bilangan desimal pada Java:
float, dan double
• Penggunaan bilangan desimal double
lebih akurat daripada float
• Hasil pembagian dari 2 bilangan bulat
adalah bilangan bulat
– Contoh: 5/2 = 2 (bukan 2.5), hasilnya dibulatkan ke bawah
Bina Nusantara
Operator Numerik
• Pada pernyataan “luas = 3.14 * rad * rad;”
– Luas, 3.14, rad, rad operand
– * operator
– = pernyataan assignment
• Operand dapat berbeda tipe data, Java
akan mengkonversi ke tipe data terbesar
(widening a cast) secara otomatis
• Contoh:
byte i = 100;
long k = i * 3 + 4; // i dikonversi ke long, hasil k berupa long
double d = i * 3.1 + k / 2; // i dan k dikonversi ke double, hasil
d berupa double
Bina Nusantara
Operator Numerik
• Operator % adalah sisa hasil bagi /
modulo / remainder
• Dapat digunakan untuk bilangan bulat
positif/negatif ataupun desimal
• Contoh:
10%7 = 3 (Keterangan: 10 / 7 = 1, dan sisa 3)
6 % 7 = 6 (Keterangan: 6 / 7 = 0, dan sisa 6)
-7 % 3 = -1 (Keterangan: -7 / 3 = -2, dan sisa -1)
-12 % 4 = 0 (Keterangan: -12 / 4 = -3, dan sisa 0)
20 % -13 = 7 (Keterangan: 20 / -13 = -1, dan sisa 7)
-26 % -8 = -2 (Keterangan: -26 / -8 = 3, dan sisa -2)
Bina Nusantara
Operator Numerik
• Pada 20 % -13 = 7
20 = dividend (yang dibagi)
-13 = divisor (pembagi)
7 = hasil
• Modulo/remainder akan menghasilkan
bilangan negatif jika dividendnya negatif
• Modulo/remainder bermanfaat dalam
programming
– Contoh: Pencarian bilangan genap/ganjil, Pencarian hari pada
kalendar
Bina Nusantara
Assignment Statements
• Digunakan untuk pemberian nilai
• Menggunakan (=) sebagai assignment
operator
• Assignment statements adalah:
Variabel = expression
Assignment statements
• Contoh: luas = 3.14 * radius * radius;
Variabel
Expression
Assignment operator
Bina Nusantara
Assignment Expressions
• Expression dapat berupa assignment
statements, disebut assignment
expressions
Assignment statements
• Contoh: r = j = k = 1;
Variabel
Assignment Expression
Assignment
operator
Bina Nusantara
Arithmetic Expressions
• Expressions yang melibatkan operator numerik
• Contoh:
3 4 x 10( y 5)( a b c) 4 9 x
9
5
x
y
x
• Arithmetic Expressions:
(3+4*x)/5 – 10*(y-5)*(a+b+c)/x+9*(4/x+(9+x)/y)
• Operasi dalam tanda kurung (…) akan
dieksekusi terlebih dahulu
• Memungkinkan tanda kurung yang bersifat
nested
Bina Nusantara
Arithmetic Expressions
• Setelah operator tanda kurung (…),
prioritas eksekusi adalah * dan /, lalu +
dan –
• Jika ada > 1, prioritas eksekusi dari kiri ke
kanan
• Java mengacu pada operator precedence
dan associativity saat mengeksekusi
expressions
Bina Nusantara
Arithmetic Expressions
Bina Nusantara
Operator Shorthand
• Variabel yang digunakan, dimodifikasi, dan
di-assign ulang pada variabel yang sama
• Contoh:
i=i+8
Dapat digantikan menjadi i += 8
• += disebut addition assignment operator
dalam bentuk ringkas (shorthand operator)
• Operator tidak dipisahkan spasi (harus +=,
bukan + =)
Bina Nusantara
Operator Shorthand
Operator
Name
Equivalent
+=
Addition assignment
A += 8
A=A+8
-=
Substratction assignment
A -= 8
A=A–8
*=
Multiplication assignment
A *= 8
A=A*8
/=
Division assignment
A /= 8
A=A/8
%=
Remainder assignment
A %= 8
A=A%8
• Contoh:
A=A–3
B=B%7
C=C*8
Bina Nusantara
Example
A -= 3
B %= 7
C *= 8
Operator Increment dan Decrement
• Operator shorthand untuk menaikan dan
menurunkan 1 nilai
• Sering digunakan dalam perulangan
• Operator: ++ dan -• Dalam notasi prefix (di awal) dan postfix
(di akhir)
• Operator tidak dipisahkan spasi (harus ++,
bukan + +)
Bina Nusantara
Operator Increment dan Decrement
Operator
Name
Description
++var
preincrement
Nilai var ditambahkan 1 dahulu, lalu
var++
postincrement
Pengoperasian dahulu, lalu nilai var
--var
predecrement
Nilai var dikurangi 1 dahulu, lalu
var--
postdecrement
Pengoperasian dahulu, lalu nilai var
Bina Nusantara
Operator Increment dan Decrement
• Contoh 1:
int i = 10;
int newNum = 10 * i++;
sama dengan
int i = 10;
int newNum = 10 * i;
i = i + 1;
• Contoh 2:
int i = 10;
int newNum = 10 * (++i);
sama dengan
int i = 10;
i = i + 1;
int newNum = 10 * i;
Bina Nusantara
• Contoh 3:
double x = 1.0;
double y = 5.0;
double z = x-- + (++y);
sama dengan
double x = 1.0;
double y = 5.0;
y = y + 1;
double z = x + y;
x = x – 1;
Operator Increment dan Decrement
Bina Nusantara
Operator Increment dan Decrement
• Awal i=8; dan j=3;
• i+=(++j);
Sama dengan:
j=j+1; j=4
i=i+j; i=12
• i+=(j++);
Sama dengan:
i=i+j; i=16
j=j+1; j=5
Bina Nusantara
Did You Know?
• Statements/Expressions bisa dilakukan
langsung di dalam System.out.println(…);
• Contoh:
System.out.println(i=10);
System.out.println(++i);
System.out.println(i%=2);
System.out.println(i=i+(i=5));
System.out.println(i=(i=1)+2);
Bina Nusantara
Did You Know?
Bina Nusantara
Did You Know?
• Penggunaan tanda petik (“) pada
System.out.println(…) menyatakan string
• Penggunaan (+) pada
System.out.println(…) berarti
menyambungkan 2/lebih string
• Contoh:
System.out.println(“Hasil penjumlahan i+j=”+i+j);
berbeda dengan
System.out.println(“Hasil penjumlahan i+j=“+(i+j));
Bina Nusantara
Did You Know?
Bina Nusantara
Advanced Learning
• Konvensi Penamaan Variabel dan Fungsi
– Lowercase untuk penamaan variabel dan fungsi, jika lebih dari 1
kata, gabungkan dan gunakan huruf kapital untuk kata kedua
dan berikutnya
– Contoh: radius, area, showInputDialog, println, nextInt
• Konvensi Penamaan Class
– Menggunakan huruf kapital untuk setiap awal kata
– Contoh: ComputeArea, JOptionPane, System, Math, Scanner
• Konvensi Penamaan Konstanta
– Menggunakan huruf kapital semua dan setiap kata dipisahkan
underscore ( _ )
– Contoh: PI, MAX_VALUE
Bina Nusantara
Advanced Learning
• Konvensi penamaan ini menggunakan
standar Java
• Memudahkan programmer lain saling
membaca kode
• Jangan memberikan nama class yang
sudah ada di Java
– Contoh: Math, System
– Class akan dipelajari lebih lanjut di Algoritma dan MOOP 2
• Hindari untuk menyingkat penamaan
– Contoh: numberOfStudents akan lebih baik (deksriptif) daripada
numStuds, numOfStuds, atau numOfStudents
Bina Nusantara
Advanced Learning
• Sebaiknya konsisten terhadap indentansi dan
spasi
– Contoh: int i= 3+4 * 4 bad style
int i = 3 + 4 * 4 good style
• Ada 2 jenis block style yang popular
– Next-line style
public class Test
{
public static void main(String[] args)
{
}
}
– End-of-line style
public class Test {
public static void main(String[] args) {
}
}
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed.
Liang. 2009. p58-81
• Java Software Solutions. 5ed. Lewis &
Loftus. 2007. p96-99, p103-114
• Java A Beginner’s Guide. 3ed. Herbert.
2005. p52-55, p58-68
• Dasar Pemrograman Java 2. Abdul Kadir.
2004. p42-61
• The Complete Referenc Java. 5ed.
Herbert. 2005. p58-62
Bina Nusantara