Download download

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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