SlideShare a Scribd company logo
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?
Tipe data dan variabel
Tipe data dan variabel
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

More Related Content

PPTX
Teori bahasa formal dan Otomata
PDF
Modul algoritma pemrograman-dasar x rpl
PDF
Ppt sistem bilangan komputer_ardi MAWARDI
PDF
Arrays In C
PPT
Evolusi dan kinerja komputer
PPTX
Sistem bus komputer
PDF
Pertemuan 4 Pointer Pada C++
PPTX
Pertemuan 9 pengalamatan
Teori bahasa formal dan Otomata
Modul algoritma pemrograman-dasar x rpl
Ppt sistem bilangan komputer_ardi MAWARDI
Arrays In C
Evolusi dan kinerja komputer
Sistem bus komputer
Pertemuan 4 Pointer Pada C++
Pertemuan 9 pengalamatan

What's hot (20)

PDF
Pengertian dan Representasi Graph
PDF
2. Array of Record (Struktur Data)
PPTX
Introduction to C programming
PDF
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
PPTX
PPT
Interupsi
PDF
String Dan Array
PDF
6 Algoritma Pengurutan Data
PPSX
03 pseudocode
PPTX
Topik 8 Perulangan
PPT
UNIT CONTROL Tgs.ppt
PDF
Alur Logika Pemrograman
PDF
Modul2 metode regula falsi praktikum metode numerik
PPTX
Algoritma & Pemrograman
PDF
01 memahami bahasa assembly
DOCX
Latihan soal struktur data
PDF
Algoritma dan Struktur Data - Pseudocode
PPT
Jawaban Struktur data soal-latihan
DOCX
Cara membuat fungsi dan prosedur pada java
PDF
Matematika Diskrit - 09 graf - 07
Pengertian dan Representasi Graph
2. Array of Record (Struktur Data)
Introduction to C programming
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Interupsi
String Dan Array
6 Algoritma Pengurutan Data
03 pseudocode
Topik 8 Perulangan
UNIT CONTROL Tgs.ppt
Alur Logika Pemrograman
Modul2 metode regula falsi praktikum metode numerik
Algoritma & Pemrograman
01 memahami bahasa assembly
Latihan soal struktur data
Algoritma dan Struktur Data - Pseudocode
Jawaban Struktur data soal-latihan
Cara membuat fungsi dan prosedur pada java
Matematika Diskrit - 09 graf - 07
Ad

Similar to Tipe data dan variabel (20)

PDF
Modul 2 pbo
PPTX
Romi oop-02-javafundamentals-29agustus2010
ODT
Java numbers
PPTX
INFORMATIKA Rumpun Bisnis dan Manajemen_Bab 5 Algoritme Pemrograman dan Prakt...
PPT
PERTEMUAN 4 assignment dan azrithmetic operator.ppt
PDF
PPTX
Materi Tipe Data dan Variabel
PPT
pbo 2 ervan
PDF
pengetahuan dasar tentang bahasa pemrograman
PPTX
Bab 4 konsep algoritma
DOCX
Tipe data
PDF
Alpro tutor
PDF
1. variable identifier dan_tipe_data
PPTX
Pengenalan Java Dasar Pemrograman Java Operator dan Assignment Class Class Wr...
PDF
4 dasar%20pemrograman%20java
PPTX
3 konsep algoritma
PPTX
3 konsep algoritma
PPTX
3 konsep algoritma
PPTX
Pertemuan 2 - Tipe Data, Variable, Konstanta. pptx
PPTX
BAB-3-Type-Data-Variabel-dan-Keyword.pptx
Modul 2 pbo
Romi oop-02-javafundamentals-29agustus2010
Java numbers
INFORMATIKA Rumpun Bisnis dan Manajemen_Bab 5 Algoritme Pemrograman dan Prakt...
PERTEMUAN 4 assignment dan azrithmetic operator.ppt
Materi Tipe Data dan Variabel
pbo 2 ervan
pengetahuan dasar tentang bahasa pemrograman
Bab 4 konsep algoritma
Tipe data
Alpro tutor
1. variable identifier dan_tipe_data
Pengenalan Java Dasar Pemrograman Java Operator dan Assignment Class Class Wr...
4 dasar%20pemrograman%20java
3 konsep algoritma
3 konsep algoritma
3 konsep algoritma
Pertemuan 2 - Tipe Data, Variable, Konstanta. pptx
BAB-3-Type-Data-Variabel-dan-Keyword.pptx
Ad

More from Tenia Wahyuningrum (20)

PPTX
Measuring User Experience
PPTX
Populasi dan sampel dalam penelitian HCI
PPTX
10th heuristic evaluation
PPTX
Good vs bad design
PPTX
Media sosial untuk pembelajaran
PPTX
4th human factors (2)
PPTX
Human factors
PPTX
Historical Context of HCI
PPTX
Trends in Human Computer Interaction
PPTX
Good data, for better life
PPTX
PPTX
Plagiarisme
PPTX
Struktur data &amp; computer trends 2015 2016
PPTX
Pengujian hipotesis
PPTX
Research method
PPTX
Basic research
PPTX
Pengenalan android
PPTX
Mobile programming pendahuluan
PPTX
Pertemuan 1
PPTX
Public speaking
Measuring User Experience
Populasi dan sampel dalam penelitian HCI
10th heuristic evaluation
Good vs bad design
Media sosial untuk pembelajaran
4th human factors (2)
Human factors
Historical Context of HCI
Trends in Human Computer Interaction
Good data, for better life
Plagiarisme
Struktur data &amp; computer trends 2015 2016
Pengujian hipotesis
Research method
Basic research
Pengenalan android
Mobile programming pendahuluan
Pertemuan 1
Public speaking

Recently uploaded (9)

PPT
pengantar-sistem-informasi manajemen.ppt
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PPTX
Implementasi Microservices pada Manufaktur
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
pengantar-sistem-informasi manajemen.ppt
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Implementasi Microservices pada Manufaktur
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Modul_Pemula_Merakit_Komputer untuk smppdf
Materi asdsa asd asd sad sa dsa dsa d sa
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf

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?
  • 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)