Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof 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