SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Variabel dan Tipe data
(pertemuan III)
Oleh : Tenia Wahyuningrum
SRT--Surat Masuk--20

    A--Apel--10




Bagaimana jika kotak A diisi jeruk?
Bagaimana pula jika kotak A diisi Apel 15 buah?
Keyword dalam java
variabel

• Variabel merupakan item dari data yang digunakan untuk
  menyimpan sebuah nilai dari objek.

• Variabel memiliki:
   – Tipe data
         Tipe data merupakan tipe dari value yang dapat disimpan
         variabel.
   – Nama
         Nama variabel harus mengikuti aturan seperti identifier.
logika - boolean
Tipe data boolean diwakili oleh dua pernyataan : true dan false.
Sebagai contoh adalah,

boolean result = true;

Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang
dinamai result sebagai
tipe data boolean dan memberinya nilai true.
teksual – char
Tipe data character (char), diwakili oleh karakter single Unicode. Tipe
data ini harus memiliki ciri berada dalam tanda single quotes(’ ’).
Sebagai contoh,
‘a’ //Huruf a

Untuk menampilkan karakter khusus seperti ' (single quotes) atau "
(double quotes), menggunakan karakter escape . Sebagai contoh,
''' //untuk single quotes
'"' //untuk double quotes
String mewakili tipe data yang terdiri atas beberapa karakter.
Mereka tidak termasuk tipe data primitif, melainkan suatu class.
Mereka memiliki literal yang terdapat diantara tanda double
quotes(“”).

Sebagai contoh,
String message=“Hello world!”
Integral – byte, short, int & long
Tipe data integral dalam Java menggunakan tiga bentuk- yaitu
desimal, oktal atauheksadesimal.

Contohnya,
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal
0xBACC //karakter 0x mengindikasikan nilai heksadesimal
Tabel tipe-tipe integral




                     Integer    Name     Type range
                      length   or type


                      8 bits    byte      -27 to 27-1


                     16 bits   short     -215 to 215-1


                     32 bits     int     -231 to 231-1


                     64 bits    long     -263 to 263-1
Floating Point – float dan double
Tipe Floating point memiliki double sebagai default
tipe datanya. Floating-point literal termasuk salah
satunya desimal point atau salah satu dari pilihan
berikut ini,
E or e //(add exponential value)
F or f //(float)
D or d //(double)

Contohnya adalah,
3.14 //nilai floating-point sederhana (a double)
6.02E23 //A nilai floating-point yang besar
2.718F //A nilai float size sederhana
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua
bernilai positif.
Tipe data Floating-point memiliki range sebagai
Berikut:




 Integer   Name or type    Type range
  length
 32 bits       float       -231 to 231-1
 64 bits      double       -263 to 263-1
Deklarasi dan Inisialisasi Variabel

Variabel dapat dideklarasikan dengan menggunakan sintaks:

     <tipe data>        <nama> [=inisialisasi value];


• Catatan: Nilai yang berada antara tanda <> adalah value yang harus
  ada, sedangkan value yang berada antara tanda [] bersifat optional
  (boleh diisi atau tidak).
Deklarasi dan Inisialisasi Variabel: Contoh Program



public class VariableSamples {
   public static void main( String[] args ){

           //deklarasikan sebuah tipe data dengan nama variabel
           // result dan tipe data boolean
           boolean result;

           //deklarasikan sebuah tipe data dengan nama variabel
           // option dan tipe data char
           char option;
           option = 'C'; //memberi nilai 'C' pada variabel option

           //deklarasikan sebuah tipe data dengan nama variabel
           //grade, tipe data double dan nilai inisialisasi 0.0
           double grade = 0.0;
    }
}
Deklarasi dan Inisialisasi Variabel:
                 Panduan penulisan program

1. Deklarasikan variabel terlebih dahulu, baru kemudian lakukan
   inisialisasi variabel.

2. Gunakan nama yang deskriptif untuk penamaan variabel.
   Contoh, jika terdapat variabel yang mengandung nilai grade
   siswa, maka beri nama variabel tersebut dengan grade, bukan
   dengan huruf random.
Deklarasi dan Inisialisasi Variabel:
                      Panduan penulisan program

3. Deklarasikan satu variabel pada satu baris code.

   Contohnya pada deklarasi variabel-variabel berikut ini,

          double exam=0;
          double quiz=10;
          double grade = 0;

 deklarasi di atas lebih baik daripada deklarasi berikut ini,

          double exam=0, quiz=10, grade=0;
Mencetak value dari variabel
Untuk mencetak value dari sebuah
variabel, dapat menggunakan command
berikut ini:

   System.out.println()
   System.out.print()
Mencetak data variabel:
                            Contoh Program

   public class OutputVariable {
     public static void main( String[] args ){
        int value = 10;
        char x;
        x = ‘A’;

           System.out.println( value );
           System.out.println( “The value of x=“ + x );
       }
   }



Program diatas akan memberikan output yaitu:

       10
       The value of x=A
System.out.println() vs.
                System.out.print()

System.out.println()
    Memberikan satu baris baru pada akhir data
    output

System.out.print()
    Tidak memberikan baris baru pada akhir data
    output
contoh
Program 1:

       System.out.print(“Hello”);
       System.out.print(“World”);


  Output:
      HelloWorld

Program 2:


       System.out.println(“Hello”);
       System.out.println(“World”);


  Output:
      Hello
      World
Reference Variable vs.
                     Primitive Variable

• Terdapat dua tipe variabel di Java:
   – Primitive Variable
   – Reference Variable

• Primitive Variable
   – Adalah variabel dengan tipe data primitif
   – Menyimpan data di memori dimana lokasi variabel tersebut
     berada
Reference Variable vs.
                     Primitive Variable

• Reference Variable
   – Variabel yang disimpan pada alamat di lokasi memori
   – Menunjuk pada lokasi memory yang lain dimana data tersebut
     berada
   – Ketika suatu variabel pada sebuah class dideklarasikan, sebenarnya
     yang dideklarasikan adalah reference variabel pada object di class
     tersebut.
contoh
Misalkan ada dua variabel dengan tipe data
int dan String.

   int num = 10;
   String name = "Hello"
contoh

Gambar di bawah ini adalah lokasi memory yang ada pada
komputer, dimana terdapat alamat pada cell memory berupa
nama variabel dan data yang dimiliki.
operator

• Beberapa tipe operator:
   – arithmetic operator
   – relational operator
   – logical operator
   – conditional operator

• Operator-operator diatas memiliki ciri tertentu sehingga compiler
  bisa mengetahui operator mana yang akan dievaluasi terlebih
  dahulu pada saat beberapa operator digunakan pada satu
  statement
Arithmetic Operator
contoh

public class ArithmeticDemo {
  public static void main(String[] args){
     //beberapa angka
     int i = 37;
     int j = 42;
     double x = 27.475;
     double y = 7.22;
     System.out.println("Nilai Variabel...");
     System.out.println(" i = " + i);
     System.out.println(" j = " + j);
     System.out.println(" x = " + x);
     System.out.println(" y = " + y);
            System.out.println("Penjumlahan...");
     System.out.println(" i + j = " + (i + j));
     System.out.println(" x + y = " + (x + y));
contoh

  //pengurangan angka
System.out.println("Pengurangan...");
System.out.println(" i - j = " + (i – j));
System.out.println(" x - y = " + (x – y));

//pengalian angka
System.out.println("Pengalian...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));

//pembagian angka
System.out.println("Pembagian...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
contoh
          //Penghitungan modulus (sisa pembagian)
        System.out.println("Penghitungan modulus...");
        System.out.println(" i % j = " + (i % j));
        System.out.println(" x % y = " + (x % y));

        //Penghitungan kombinasi variabel
        System.out.println("kombinasi variabel...");
        System.out.println(" j + y = " + (j + y));
        System.out.println(" i * x = " + (i * x));
    }
}
Output program

Nilai variabel...     Pembagian...
     i = 37                 i / j = 0
     j = 42                 x / y = 3.8054 Computing
     x = 27.475       Nilai Modulus...
     y = 7.22               i % j = 37
Penjumlahan...              x % y = 5.815
     i + j = 79       Kombinasi variabel...
     x + y = 34.695         j + y = 49.22
Pengurangan...              i * x = 1016.58
     i - j = -5
     x - y = 20.255
Pengalian...
     i * j = 1554
     x * y = 198.37
Arithmetic Operator
Catatan
    Ketika nilai integer dan angka floating-point
    digunakan sebagai operand pada operasi
    aritmatika, hasilnya akan menjadi floating
    point. Nilai secara implisit integer diubah
    menjadi nilai floating-point sebelum operasi
    berlangsung.
Operator Increment & Decrement

• unary increment operator (++)
• unary decrement operator (--)
• Increment dan decrement operator akan menambah dan
  mengurangi nilai dengan 1.
• Contoh, ekspresi berikut ini,
      count=count + 1;
      //increment the value of count by 1

  adalah sama dengan,
      count++;
Operator Increment & Decrement
Operator Increment & Decrement


• Operator increment dan decrement dapat diletakkan
  sebelum atau sesudah operand.

• Ketika digunakan sebelum operand, hal ini akan membuat
  variabel ditambah atau dikurangi dengan nilai 1, dan
  selanjutnya nilai yang baru akan digunakan pada ekspresi
  selanjutnya.

• Contoh,

       int i = 10;
       int j = 3;
       int k = 0;
       k = ++j + i; //akan menghasilkan k = 4+10 = 14
Operator Increment & Decrement



• Ketika operator increment dan decrement
  diletakkan setelah operand, nilai lama dari
  variabel akan digunakan pada ekspresi
  selanjutnya.

• Contoh,
        int i = 10;
        int j = 3;
        int k = 0;
        k = j++ + i; //akan menghasilkan k = 3+10 = 13
Relational Operator
• Operator relational digunakan untuk membandingkan beberapa
  nilai dan menentukan hubungan antara nilai-nilai tersebut.
• Output dari perbandingan tersebut adalah nilai boolean antara
  true atau false.
contoh

public class RelationalDemo{
  public static void main(String[] args){
    //beberapa angka
    int i = 37;
    int j = 42;
    int k = 42;
    System.out.println("Nilai variabel...");
    System.out.println(" i = " +i);
    System.out.println(" j = " +j);
    System.out.println(" k = " +k);
           //lebih besar dari
    System.out.println("Lebih besar...");
    System.out.println(" i > j = "+(i>j));//false
    System.out.println(" j > i = "+(j>i));//true
    System.out.println(" k > j = "+(k>j));//false
contoh

        //lebih besar atau sama dengan
System.out.println("lebih besar atau sama dengan...");
System.out.println(" i >= j = "+(i>=j));//false
System.out.println(" j >= i = "+(j>=i));//true
System.out.println(" k >= j = "+(k>=j));//true

  //lebih kecil
System.out.println("lebih kecil...");
System.out.println(" i < j = "+(i<j));//true
System.out.println(" j < i = "+(j<i));//false
System.out.println(" k < j = "+(k<j));//false

  //lebih kecil atau sama dengan
System.out.println("lebih kecil atau sama dengan...");
System.out.println(" i <= j = "+(i<=j));//true
System.out.println(" j <= i = "+(j<=i));//false
System.out.println(" k <= j = "+(k<=j));//true
contoh

//sama dengan
  System.out.println("sama dengan...");
  System.out.println(" i == j = " + (i==j));//false
  System.out.println(" k == j = " + (k==j));//true

//tidak sama dengan
   System.out.println("tidak sama dengan...");
   System.out.println(" i != j = " + (i!=j));//true
   System.out.println(" k != j = " + (k!=j));//false
  }
}
Output program

Nilai   variabel...                 Lebih kecil atau sama dengan...
    i   = 37                            i <= j = true
    j   = 42                            j <= i = false
    k   = 42                            k <= j = true
Lebih   besar...                    Sama dengan...
    i   > j = false                     i == j = false
    j   > i = true                      k == j = true
    k   > j = false                 Tidak sama dengan...
Lebih   besar atau sama dengan...       i != j = true
    i   >= j = false                    k != j = false
    j   >= i = true
    k   >= j = true
Lebih   kecil...
    i   < j = true
    j   < i = false
    k   < j = false
Logical Operator
• Logical operator memiliki satu atau dua boolean operand yang akan
  me-return value tipe boolean.

• Ada enam logical operator yaitu:
    –   && (logical AND)
    –   & (boolean logical AND)
    –   || (logical OR)
    –   | (boolean logical inclusive OR)
    –   ^ (boolean logical exclusive OR)
    –   ! (logical NOT)
Logical Operator
Operasi dasar dari operasi logical adalah,

    x1 op x2

x1, x2      – dapat sebagai ekspresi boolean, variabel,
atau                konstanta
op          – bisa sebagai operator &&, &, ||, | atau ^ .

berikut ini adalah tabel kebenaran, hasil-hasil dari operasi
dari kombinasi nilai dari x1 dan x2.
Logical Operators:
        &&(logical) dan &(boolean logical) AND


Berikut ini adalah tabel kebenaran untuk
&& dan &
Logical Operators:
                  &&(logical) dan &(boolean logical) AND




• Perbedaan mendasar antara operator && dan &:
     – && dapat digunakan pada short-circuit evaluation (atau partial
       evaluation), sedangkan & tidak dapat.

•   Terdapat sebuah ekspresi:

         exp1 && exp2

     – && akan mengecek ekspresi dari exp1, dan selanjutnya akan memberikan
       nilai false jika exp1 adalah false.
     – Jika exp1 adalah false, operator tidak mengecek nilai exp2 karena hasilnya
       akan tetap false tanpa mengetahui nilai exp2.
     – Sebaliknya, operator & selalu mengecek semua ekspresi antara exp1 dan
       exp2 sebelum memberikan jawaban.
Logical Operators:
                    &&(logical) dan &(boolean logical) AND

public class TestAND {
   public static void main( String[] args ){
          int i = 0;
          int j = 10;
          boolean test= false;

          //contoh &&
          test = (i > 10) && (j++ > 9);
          System.out.println(i);
          System.out.println(j);
          System.out.println(test);

          //contoh &
          test = (i > 10) & (j++ > 9);
          System.out.println(i);
          System.out.println(j);
          System.out.println(test);
    }
}
Logical Operators:
                  &&(logical) dan &(boolean logical) AND




• Output program,

          0
          10
          false
          0
          11
          false

• Perlu diperhatikan, bahwa j++ pada baris yang mengandung
  operator && tidak dicek, setelah diketahui bahwa ekspresi (i>10)
  bernilai false.
Logical Operators: || (logical) dan
              | (boolean logical) inclusive OR

Berikut ini adalah tabel kebenaran dari || dan |,
Logical Operators: || (logical) dan
                  | (boolean logical) inclusive OR


Perbedaan dasar antara operator || dan |.
    – || mendukung short-circuit evaluations (atau partial evaluations), sedangkan
      | tidak.


Terdapat sebuah ekspresi:
          exp1 || exp2
    – || akan mengecek ekspresi exp1, dan langsung memberikan nilai true jika
      nilai dari exp1 adalah true.
    – Jika exp1 true, operator tidak mengecek nilai dari exp2 karena apapun nilai
      dari exp2 akan tetap menghasilkan nilai true.
    – Sedangkan operator | akan melakukan pengecekan pada exp1 dan exp2
      sebelum memberikan nilai.
Logical Operators: || (logical) dan
                      | (boolean logical) inclusive OR


public class TestOR {
    public static void main( String[] args ){
            int i = 0;
            int j = 10;
            boolean test= false;

           //contoh ||
           test = (i < 10) || (j++ > 9);
           System.out.println(i);
           System.out.println(j);
           System.out.println(test);

           //contoh |
           test = (i < 10) | (j++ > 9);
           System.out.println(i);
           System.out.println(j);
           System.out.println(test);
    }
}
Logical Operators: || (logical) dan
                | (boolean logical) inclusive OR


• Output program adalah,
      0
      10
      true
      0
      11
      true

• Perlu diperhatikan, bahwa j++ pada baris yang mengandung
  operator || tidak dicek, setelah diketahui nilai dari ekspresi (i<10)
  adalah true.
Logical Operators:
                ^ (boolean logical exclusive OR)

Berikut ini adalah tabel kebenaran ^




   Hasil dari operasi operasi eksklusif OR adalah TRUE, jika dan hanya jika satu
   operand yang bernilai true dan operand lain bernilai false.

   Perlu diperhatikan, bahwa semua operand akan dicek untuk menentukan hasil
   dari operasi eksklusif OR.
Logical Operators:
                ^ (boolean logical exclusive OR)

public class TestXOR {
   public static void main( String[] args ){
           boolean val1 = true;
           boolean val2 = true;
           System.out.println(val1 ^ val2);
           val1 = false; val2 = true;
           System.out.println(val1 ^ val2);
           val1 = false; val2 = false;
           System.out.println(val1 ^ val2);
           val1 = true; val2 = false;
           System.out.println(val1 ^ val2);
   }
}
Logical Operators:
                ^ (boolean logical exclusive OR)



Output dari program,

        false
        true
        false
        true
Logical Operators: ! ( logical NOT)




Logical NOT hanya memerlukan satu argumen, argumen
  tersebut dapat berupa ekspresi, variabel atau konstanta.

Berikut ini adalah tabel kebenaran !,
Logical Operators: ! ( logical NOT)

   public class TestNOT {
     public static void main( String[] args ){
            boolean val1 = true;
            boolean val2 = false;
            System.out.println(!val1);
            System.out.println(!val2);
     }
   }

Output dari program adalah,
     false
     true
Logical Operators:
                  Conditional Operator (?:)

Conditional operator ?:
   – Merupakan ternary operator. ((from Latin ternarius) is an adjective
       meaning "composed of three items”)
          Hal ini berarti bahwa diperlukan tiga argumen bersamaan dari
          sebuah ekspresi conditional.
   – Struktur dari ekspresi yang menggunakan conditional operator
       adalah

                 exp1?exp2:exp3

        exp1   – adalah ekspresi boolean yang memberikan hasil / nilai
          true          atau false

    – Hasil:
       Jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan.
       Jika false, maka nilai dari exp3 yang diberikan.
Logical Operators:
                   Conditional Operator (?:)

      public class ConditionalOperator {
        public static void main( String[] args ){
                  String status = "";
                  int grade = 80;

                 //Status dari siswa
                 status = (grade >= 60)?"Passed":"Fail";

                 //Cetak status
                 System.out.println( status );
          }
      }


Output program:
      Passed
Logical Operators:
Conditional Operator (?:)
OPERATOR GESER (Shift Operators)


• Ada 3 operator :
   1. << : geser kiri
   2. >> : geser kanan bertanda (bit tanda tetap)
   3. >>> : geser kanan tanpa tanda (bit tanda bisa berubah)
Tipe data op1:byte, short,int, long
Sebelum operasi geser, terjadi promosi operand ke type data int
Representasi dalam Two’s Complement
Contoh
op1         op1         Contoh   Hasil
0000 0010   0000 0010   2>>2     0000 0000
(2)         (2)                  (0)
1111 1110   0000 0010   -2>>2    1111 1111
(-2)        (2)                  (-1)
1111 1110   0000 0001   -2>>>1   0111 1111
(-2)        (1)                  (127)
0000 0010   0000 0010   2<<2     0000 1000
(2)         (2)                  (8)
Operator Inversion(~)
• Merubah bit 1 mejadi 0 dan 0 menjadi 1
• Tipe data operand : byte, short, int, long,          char
• Terjadi promosi ke int sebelum eksekusi operator


 Operand                Contoh                 Hasil
                        Operator ~
 1111 1110              ~-2                    0000 0001
 (-2)                                          (1)
 0000 0010              ~2                     1111 1101
 (2)                                           -3
Operator Precedence
Operator Precedence
It means (mathematical or logical) operator is more important
   than others.

berikut ini terdapat ekspresi yang kompleks,
       6%2*5+4/2+88-10
  ekspresi di atas dapat ditulis ulang ddengan memberikan
  tanda kurung berdasarkan prioritas operator,
       ((6%2)*5)+(4/2)+88-10;
Panduan penulisan program
Untuk menghindari kebingungan pada
proses matematika, selalu gunakan ekspresi
sederhana dengan menggunakan tanda
kurung.
kesimpulan
• Tipe data primitif( boolean, char, byte, short, int, long,
  float, double)
• Variabel (deklarasi, inisialisasi, output)
• System.out.println() vs. System.out.print()
• Reference Variable vs. Primitive Variable
• Operator (Arithmetic operator, Increment dan Decrement
  operator, Relational operator, Logical operator, Conditional
  Operator (?:), Operator Precedence)
selesai

Weitere ähnliche Inhalte

Was ist angesagt?

Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusKukuh Adhi Rumekso
 
Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Devi Apriansyah
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINShofura Kamal
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)Kelinci Coklat
 
Laporan praktikum v visual basic
Laporan praktikum v visual basicLaporan praktikum v visual basic
Laporan praktikum v visual basicrahmi wahyuni
 
Dasar-dasar javascript
Dasar-dasar javascriptDasar-dasar javascript
Dasar-dasar javascriptHaidarNayo
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataMeycelino A. T
 
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"Derina Ellya R
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascalJefry Jefry
 
Proposisi Logika Informatika
Proposisi Logika InformatikaProposisi Logika Informatika
Proposisi Logika InformatikaDeviGayatri
 
Laporan praktikum modul i
Laporan praktikum modul iLaporan praktikum modul i
Laporan praktikum modul iDevi Apriansyah
 

Was ist angesagt? (20)

Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteus
 
Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Materi CSS Dasar
Materi CSS DasarMateri CSS Dasar
Materi CSS Dasar
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Laporan praktikum v visual basic
Laporan praktikum v visual basicLaporan praktikum v visual basic
Laporan praktikum v visual basic
 
Dasar-dasar javascript
Dasar-dasar javascriptDasar-dasar javascript
Dasar-dasar javascript
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe data
 
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"
Algoritma pemrograman 2 - Contoh program"Struct Data Karyawan"
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
 
Proposisi Logika Informatika
Proposisi Logika InformatikaProposisi Logika Informatika
Proposisi Logika Informatika
 
Laporan praktikum modul i
Laporan praktikum modul iLaporan praktikum modul i
Laporan praktikum modul i
 

Ähnlich wie Tipe data dan variabel

pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfFahriAkbar19
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Slid_3_OOP.pptx
Slid_3_OOP.pptxSlid_3_OOP.pptx
Slid_3_OOP.pptxTashid2
 
Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010SabilaAulia
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxppurnama
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Fisma Ananda
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Faisal Amir
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Avenzz Venzz
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)Hardini_HD
 
04. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 604. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 6ArriWidyanto1
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaAs Faizin
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 

Ähnlich wie Tipe data dan variabel (20)

P1 2-tipe data
P1 2-tipe dataP1 2-tipe data
P1 2-tipe data
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
 
Tipe data
Tipe dataTipe data
Tipe data
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Slid_3_OOP.pptx
Slid_3_OOP.pptxSlid_3_OOP.pptx
Slid_3_OOP.pptx
 
Java2
Java2Java2
Java2
 
Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Materi operator java
Materi operator javaMateri operator java
Materi operator java
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptx
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)
 
Function c++
Function c++Function c++
Function c++
 
04. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 604. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 6
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa Java
 
Pert 3, Teori PBO
Pert 3, Teori PBOPert 3, Teori PBO
Pert 3, Teori PBO
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 

Mehr von Tenia Wahyuningrum (20)

Measuring User Experience
Measuring User ExperienceMeasuring User Experience
Measuring User Experience
 
Populasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCIPopulasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCI
 
10th heuristic evaluation
10th heuristic evaluation10th heuristic evaluation
10th heuristic evaluation
 
Good vs bad design
Good vs bad designGood vs bad design
Good vs bad design
 
Media sosial untuk pembelajaran
Media sosial untuk pembelajaranMedia sosial untuk pembelajaran
Media sosial untuk pembelajaran
 
4th human factors (2)
4th human factors (2)4th human factors (2)
4th human factors (2)
 
Human factors
Human factorsHuman factors
Human factors
 
Historical Context of HCI
Historical Context of HCIHistorical Context of HCI
Historical Context of HCI
 
Trends in Human Computer Interaction
Trends in Human Computer InteractionTrends in Human Computer Interaction
Trends in Human Computer Interaction
 
Good data, for better life
Good data, for better lifeGood data, for better life
Good data, for better life
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Plagiarisme
PlagiarismePlagiarisme
Plagiarisme
 
Struktur data &amp; computer trends 2015 2016
Struktur data &amp; computer trends 2015 2016Struktur data &amp; computer trends 2015 2016
Struktur data &amp; computer trends 2015 2016
 
Pengujian hipotesis
Pengujian hipotesisPengujian hipotesis
Pengujian hipotesis
 
Research method
Research methodResearch method
Research method
 
Basic research
Basic researchBasic research
Basic research
 
Pengenalan android
Pengenalan androidPengenalan android
Pengenalan android
 
Mobile programming pendahuluan
Mobile programming pendahuluanMobile programming pendahuluan
Mobile programming pendahuluan
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Public speaking
Public speakingPublic speaking
Public speaking
 

Tipe data dan variabel

  • 1. Variabel dan Tipe data (pertemuan III) Oleh : Tenia Wahyuningrum
  • 2. SRT--Surat Masuk--20 A--Apel--10 Bagaimana jika kotak A diisi jeruk? Bagaimana pula jika kotak A diisi Apel 15 buah?
  • 3.
  • 4.
  • 6. variabel • Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek. • Variabel memiliki: – Tipe data Tipe data merupakan tipe dari value yang dapat disimpan variabel. – Nama Nama variabel harus mengikuti aturan seperti identifier.
  • 7. logika - boolean Tipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh adalah, boolean result = true; Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai tipe data boolean dan memberinya nilai true.
  • 8. teksual – char Tipe data character (char), diwakili oleh karakter single Unicode. Tipe data ini harus memiliki ciri berada dalam tanda single quotes(’ ’). Sebagai contoh, ‘a’ //Huruf a Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes), menggunakan karakter escape . Sebagai contoh, ''' //untuk single quotes '"' //untuk double quotes
  • 9. String mewakili tipe data yang terdiri atas beberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan suatu class. Mereka memiliki literal yang terdapat diantara tanda double quotes(“”). Sebagai contoh, String message=“Hello world!”
  • 10. Integral – byte, short, int & long Tipe data integral dalam Java menggunakan tiga bentuk- yaitu desimal, oktal atauheksadesimal. Contohnya, 2 //nilai desimal 2 077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal 0xBACC //karakter 0x mengindikasikan nilai heksadesimal
  • 11. Tabel tipe-tipe integral Integer Name Type range length or type 8 bits byte -27 to 27-1 16 bits short -215 to 215-1 32 bits int -231 to 231-1 64 bits long -263 to 263-1
  • 12. Floating Point – float dan double Tipe Floating point memiliki double sebagai default tipe datanya. Floating-point literal termasuk salah satunya desimal point atau salah satu dari pilihan berikut ini, E or e //(add exponential value) F or f //(float) D or d //(double) Contohnya adalah, 3.14 //nilai floating-point sederhana (a double) 6.02E23 //A nilai floating-point yang besar 2.718F //A nilai float size sederhana Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif.
  • 13. Tipe data Floating-point memiliki range sebagai Berikut: Integer Name or type Type range length 32 bits float -231 to 231-1 64 bits double -263 to 263-1
  • 14. Deklarasi dan Inisialisasi Variabel Variabel dapat dideklarasikan dengan menggunakan sintaks: <tipe data> <nama> [=inisialisasi value]; • Catatan: Nilai yang berada antara tanda <> adalah value yang harus ada, sedangkan value yang berada antara tanda [] bersifat optional (boleh diisi atau tidak).
  • 15. Deklarasi dan Inisialisasi Variabel: Contoh Program public class VariableSamples { public static void main( String[] args ){ //deklarasikan sebuah tipe data dengan nama variabel // result dan tipe data boolean boolean result; //deklarasikan sebuah tipe data dengan nama variabel // option dan tipe data char char option; option = 'C'; //memberi nilai 'C' pada variabel option //deklarasikan sebuah tipe data dengan nama variabel //grade, tipe data double dan nilai inisialisasi 0.0 double grade = 0.0; } }
  • 16. Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 1. Deklarasikan variabel terlebih dahulu, baru kemudian lakukan inisialisasi variabel. 2. Gunakan nama yang deskriptif untuk penamaan variabel. Contoh, jika terdapat variabel yang mengandung nilai grade siswa, maka beri nama variabel tersebut dengan grade, bukan dengan huruf random.
  • 17. Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 3. Deklarasikan satu variabel pada satu baris code. Contohnya pada deklarasi variabel-variabel berikut ini, double exam=0; double quiz=10; double grade = 0; deklarasi di atas lebih baik daripada deklarasi berikut ini, double exam=0, quiz=10, grade=0;
  • 18. Mencetak value dari variabel Untuk mencetak value dari sebuah variabel, dapat menggunakan command berikut ini: System.out.println() System.out.print()
  • 19. Mencetak data variabel: Contoh Program public class OutputVariable { public static void main( String[] args ){ int value = 10; char x; x = ‘A’; System.out.println( value ); System.out.println( “The value of x=“ + x ); } } Program diatas akan memberikan output yaitu: 10 The value of x=A
  • 20. System.out.println() vs. System.out.print() System.out.println() Memberikan satu baris baru pada akhir data output System.out.print() Tidak memberikan baris baru pada akhir data output
  • 21. contoh Program 1: System.out.print(“Hello”); System.out.print(“World”); Output: HelloWorld Program 2: System.out.println(“Hello”); System.out.println(“World”); Output: Hello World
  • 22. Reference Variable vs. Primitive Variable • Terdapat dua tipe variabel di Java: – Primitive Variable – Reference Variable • Primitive Variable – Adalah variabel dengan tipe data primitif – Menyimpan data di memori dimana lokasi variabel tersebut berada
  • 23. Reference Variable vs. Primitive Variable • Reference Variable – Variabel yang disimpan pada alamat di lokasi memori – Menunjuk pada lokasi memory yang lain dimana data tersebut berada – Ketika suatu variabel pada sebuah class dideklarasikan, sebenarnya yang dideklarasikan adalah reference variabel pada object di class tersebut.
  • 24. contoh Misalkan ada dua variabel dengan tipe data int dan String. int num = 10; String name = "Hello"
  • 25. contoh Gambar di bawah ini adalah lokasi memory yang ada pada komputer, dimana terdapat alamat pada cell memory berupa nama variabel dan data yang dimiliki.
  • 26. operator • Beberapa tipe operator: – arithmetic operator – relational operator – logical operator – conditional operator • Operator-operator diatas memiliki ciri tertentu sehingga compiler bisa mengetahui operator mana yang akan dievaluasi terlebih dahulu pada saat beberapa operator digunakan pada satu statement
  • 28. contoh public class ArithmeticDemo { public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; double x = 27.475; double y = 7.22; System.out.println("Nilai Variabel..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); System.out.println("Penjumlahan..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y));
  • 29. contoh //pengurangan angka System.out.println("Pengurangan..."); System.out.println(" i - j = " + (i – j)); System.out.println(" x - y = " + (x – y)); //pengalian angka System.out.println("Pengalian..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //pembagian angka System.out.println("Pembagian..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y));
  • 30. contoh //Penghitungan modulus (sisa pembagian) System.out.println("Penghitungan modulus..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //Penghitungan kombinasi variabel System.out.println("kombinasi variabel..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); } }
  • 31. Output program Nilai variabel... Pembagian... i = 37 i / j = 0 j = 42 x / y = 3.8054 Computing x = 27.475 Nilai Modulus... y = 7.22 i % j = 37 Penjumlahan... x % y = 5.815 i + j = 79 Kombinasi variabel... x + y = 34.695 j + y = 49.22 Pengurangan... i * x = 1016.58 i - j = -5 x - y = 20.255 Pengalian... i * j = 1554 x * y = 198.37
  • 32. Arithmetic Operator Catatan Ketika nilai integer dan angka floating-point digunakan sebagai operand pada operasi aritmatika, hasilnya akan menjadi floating point. Nilai secara implisit integer diubah menjadi nilai floating-point sebelum operasi berlangsung.
  • 33. Operator Increment & Decrement • unary increment operator (++) • unary decrement operator (--) • Increment dan decrement operator akan menambah dan mengurangi nilai dengan 1. • Contoh, ekspresi berikut ini, count=count + 1; //increment the value of count by 1 adalah sama dengan, count++;
  • 34. Operator Increment & Decrement
  • 35. Operator Increment & Decrement • Operator increment dan decrement dapat diletakkan sebelum atau sesudah operand. • Ketika digunakan sebelum operand, hal ini akan membuat variabel ditambah atau dikurangi dengan nilai 1, dan selanjutnya nilai yang baru akan digunakan pada ekspresi selanjutnya. • Contoh, int i = 10; int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14
  • 36. Operator Increment & Decrement • Ketika operator increment dan decrement diletakkan setelah operand, nilai lama dari variabel akan digunakan pada ekspresi selanjutnya. • Contoh, int i = 10; int j = 3; int k = 0; k = j++ + i; //akan menghasilkan k = 3+10 = 13
  • 37. Relational Operator • Operator relational digunakan untuk membandingkan beberapa nilai dan menentukan hubungan antara nilai-nilai tersebut. • Output dari perbandingan tersebut adalah nilai boolean antara true atau false.
  • 38. contoh public class RelationalDemo{ public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel..."); System.out.println(" i = " +i); System.out.println(" j = " +j); System.out.println(" k = " +k); //lebih besar dari System.out.println("Lebih besar..."); System.out.println(" i > j = "+(i>j));//false System.out.println(" j > i = "+(j>i));//true System.out.println(" k > j = "+(k>j));//false
  • 39. contoh //lebih besar atau sama dengan System.out.println("lebih besar atau sama dengan..."); System.out.println(" i >= j = "+(i>=j));//false System.out.println(" j >= i = "+(j>=i));//true System.out.println(" k >= j = "+(k>=j));//true //lebih kecil System.out.println("lebih kecil..."); System.out.println(" i < j = "+(i<j));//true System.out.println(" j < i = "+(j<i));//false System.out.println(" k < j = "+(k<j));//false //lebih kecil atau sama dengan System.out.println("lebih kecil atau sama dengan..."); System.out.println(" i <= j = "+(i<=j));//true System.out.println(" j <= i = "+(j<=i));//false System.out.println(" k <= j = "+(k<=j));//true
  • 40. contoh //sama dengan System.out.println("sama dengan..."); System.out.println(" i == j = " + (i==j));//false System.out.println(" k == j = " + (k==j));//true //tidak sama dengan System.out.println("tidak sama dengan..."); System.out.println(" i != j = " + (i!=j));//true System.out.println(" k != j = " + (k!=j));//false } }
  • 41. Output program Nilai variabel... Lebih kecil atau sama dengan... i = 37 i <= j = true j = 42 j <= i = false k = 42 k <= j = true Lebih besar... Sama dengan... i > j = false i == j = false j > i = true k == j = true k > j = false Tidak sama dengan... Lebih besar atau sama dengan... i != j = true i >= j = false k != j = false j >= i = true k >= j = true Lebih kecil... i < j = true j < i = false k < j = false
  • 42. Logical Operator • Logical operator memiliki satu atau dua boolean operand yang akan me-return value tipe boolean. • Ada enam logical operator yaitu: – && (logical AND) – & (boolean logical AND) – || (logical OR) – | (boolean logical inclusive OR) – ^ (boolean logical exclusive OR) – ! (logical NOT)
  • 43. Logical Operator Operasi dasar dari operasi logical adalah, x1 op x2 x1, x2 – dapat sebagai ekspresi boolean, variabel, atau konstanta op – bisa sebagai operator &&, &, ||, | atau ^ . berikut ini adalah tabel kebenaran, hasil-hasil dari operasi dari kombinasi nilai dari x1 dan x2.
  • 44. Logical Operators: &&(logical) dan &(boolean logical) AND Berikut ini adalah tabel kebenaran untuk && dan &
  • 45. Logical Operators: &&(logical) dan &(boolean logical) AND • Perbedaan mendasar antara operator && dan &: – && dapat digunakan pada short-circuit evaluation (atau partial evaluation), sedangkan & tidak dapat. • Terdapat sebuah ekspresi: exp1 && exp2 – && akan mengecek ekspresi dari exp1, dan selanjutnya akan memberikan nilai false jika exp1 adalah false. – Jika exp1 adalah false, operator tidak mengecek nilai exp2 karena hasilnya akan tetap false tanpa mengetahui nilai exp2. – Sebaliknya, operator & selalu mengecek semua ekspresi antara exp1 dan exp2 sebelum memberikan jawaban.
  • 46. Logical Operators: &&(logical) dan &(boolean logical) AND public class TestAND { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh && test = (i > 10) && (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //contoh & test = (i > 10) & (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); } }
  • 47. Logical Operators: &&(logical) dan &(boolean logical) AND • Output program, 0 10 false 0 11 false • Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator && tidak dicek, setelah diketahui bahwa ekspresi (i>10) bernilai false.
  • 48. Logical Operators: || (logical) dan | (boolean logical) inclusive OR Berikut ini adalah tabel kebenaran dari || dan |,
  • 49. Logical Operators: || (logical) dan | (boolean logical) inclusive OR Perbedaan dasar antara operator || dan |. – || mendukung short-circuit evaluations (atau partial evaluations), sedangkan | tidak. Terdapat sebuah ekspresi: exp1 || exp2 – || akan mengecek ekspresi exp1, dan langsung memberikan nilai true jika nilai dari exp1 adalah true. – Jika exp1 true, operator tidak mengecek nilai dari exp2 karena apapun nilai dari exp2 akan tetap menghasilkan nilai true. – Sedangkan operator | akan melakukan pengecekan pada exp1 dan exp2 sebelum memberikan nilai.
  • 50. Logical Operators: || (logical) dan | (boolean logical) inclusive OR public class TestOR { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh || test = (i < 10) || (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //contoh | test = (i < 10) | (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); } }
  • 51. Logical Operators: || (logical) dan | (boolean logical) inclusive OR • Output program adalah, 0 10 true 0 11 true • Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator || tidak dicek, setelah diketahui nilai dari ekspresi (i<10) adalah true.
  • 52. Logical Operators: ^ (boolean logical exclusive OR) Berikut ini adalah tabel kebenaran ^ Hasil dari operasi operasi eksklusif OR adalah TRUE, jika dan hanya jika satu operand yang bernilai true dan operand lain bernilai false. Perlu diperhatikan, bahwa semua operand akan dicek untuk menentukan hasil dari operasi eksklusif OR.
  • 53. Logical Operators: ^ (boolean logical exclusive OR) public class TestXOR { public static void main( String[] args ){ boolean val1 = true; boolean val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = false; System.out.println(val1 ^ val2); val1 = true; val2 = false; System.out.println(val1 ^ val2); } }
  • 54. Logical Operators: ^ (boolean logical exclusive OR) Output dari program, false true false true
  • 55. Logical Operators: ! ( logical NOT) Logical NOT hanya memerlukan satu argumen, argumen tersebut dapat berupa ekspresi, variabel atau konstanta. Berikut ini adalah tabel kebenaran !,
  • 56. Logical Operators: ! ( logical NOT) public class TestNOT { public static void main( String[] args ){ boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2); } } Output dari program adalah, false true
  • 57. Logical Operators: Conditional Operator (?:) Conditional operator ?: – Merupakan ternary operator. ((from Latin ternarius) is an adjective meaning "composed of three items”) Hal ini berarti bahwa diperlukan tiga argumen bersamaan dari sebuah ekspresi conditional. – Struktur dari ekspresi yang menggunakan conditional operator adalah exp1?exp2:exp3 exp1 – adalah ekspresi boolean yang memberikan hasil / nilai true atau false – Hasil: Jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan. Jika false, maka nilai dari exp3 yang diberikan.
  • 58. Logical Operators: Conditional Operator (?:) public class ConditionalOperator { public static void main( String[] args ){ String status = ""; int grade = 80; //Status dari siswa status = (grade >= 60)?"Passed":"Fail"; //Cetak status System.out.println( status ); } } Output program: Passed
  • 60. OPERATOR GESER (Shift Operators) • Ada 3 operator : 1. << : geser kiri 2. >> : geser kanan bertanda (bit tanda tetap) 3. >>> : geser kanan tanpa tanda (bit tanda bisa berubah) Tipe data op1:byte, short,int, long Sebelum operasi geser, terjadi promosi operand ke type data int Representasi dalam Two’s Complement
  • 61. Contoh op1 op1 Contoh Hasil 0000 0010 0000 0010 2>>2 0000 0000 (2) (2) (0) 1111 1110 0000 0010 -2>>2 1111 1111 (-2) (2) (-1) 1111 1110 0000 0001 -2>>>1 0111 1111 (-2) (1) (127) 0000 0010 0000 0010 2<<2 0000 1000 (2) (2) (8)
  • 62. Operator Inversion(~) • Merubah bit 1 mejadi 0 dan 0 menjadi 1 • Tipe data operand : byte, short, int, long, char • Terjadi promosi ke int sebelum eksekusi operator Operand Contoh Hasil Operator ~ 1111 1110 ~-2 0000 0001 (-2) (1) 0000 0010 ~2 1111 1101 (2) -3
  • 64. Operator Precedence It means (mathematical or logical) operator is more important than others. berikut ini terdapat ekspresi yang kompleks, 6%2*5+4/2+88-10 ekspresi di atas dapat ditulis ulang ddengan memberikan tanda kurung berdasarkan prioritas operator, ((6%2)*5)+(4/2)+88-10;
  • 65. Panduan penulisan program Untuk menghindari kebingungan pada proses matematika, selalu gunakan ekspresi sederhana dengan menggunakan tanda kurung.
  • 66. kesimpulan • Tipe data primitif( boolean, char, byte, short, int, long, float, double) • Variabel (deklarasi, inisialisasi, output) • System.out.println() vs. System.out.print() • Reference Variable vs. Primitive Variable • Operator (Arithmetic operator, Increment dan Decrement operator, Relational operator, Logical operator, Conditional Operator (?:), Operator Precedence)