Modul Praktikum PBO by kei280591

VIEWS: 3,048 PAGES: 30

									                Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                                        Modul Praktikum I

                Instalasi Java 2 System Development Kit (J2SDK1.4)
Tujuan :
   Untuk mengetahui cara instalasi J2SDK1.4
   Melakukan setting pada file AUTOEXEC.BAT

Pendahuluan :
   Untuk memprogram Java dan melakukan kompilasi terhadap program Java menjadi Java
   bytecode, perangkat lunak yang digunakan adalah J2SDK versi 1.4 dari Sun Microsystems.
   Setelah program tersebut diinstal pada platform Windows, maka lakukan setting pada file
   autoexec.bat dengan cara mengetikan: edit autoexec.bat - pada prompt DOS, kemudian
   ketikan pada file autoexec.bat seperti yang ditunjukkan pada gambar 1.1.




                         Gambar 1.1. Setting path j2sdk pada file autoexec.bat


   Setelah melakukan setting pada file tersebut, jalankan file autoexec.bat dengan cara
   mengetikkan nama file tersebut pada prompt DOS, contoh :

   C:\autoexec.bat
   Lakukan pengujian terhadap hasil instalasi dengan membuat sebuah program java yang
   sederhana seperti berikut ini :

    Contoh program 1.1
    nama file : test.java
    class test {
       public static void main(String[] args) {
         System.out.println(“Installation Status : OK”);
      }
    }


Praktikum :
   1. Melakukan Instalasi Java 2 System Development Kit (J2SDK1.4). Perangkat lunak Java
       yang akan diinstal harus disesuaikan dengan platform sistem operasi yang digunakan.
       Pada pengantar praktikum ini, J2SDK1.4 versi Windows yang digunakan.
   2. Melakukan setting PATH dan CLASS PATH, pada file AUTOEXEC.BAT
   3. Melakukan pengujian terhadap hasil instalasi.


                                                                                        1
                Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                                      Modul Praktikum II

                                    Variabel dan Tipe Data
Tujuan :
   Mengetahui pendeklarasian Variabel dan Tipe Data

Pendahuluan :
    Keyword dalam bahasa Java tidak boleh digunakan sebagai nama variabel (pengenal),
      tabel 2.1 memperlihatkan daftar kata-kata kunci bahasa Java.

                                  Tabel 2.1 Daftar Keyword pada Java

     abstract              Else                     Interface                    super
     boolean               extends                  long                         switch
     break                 final                    native                       syncronized
     byte                  finally                  new                          this
     case                  float                    null                         throw
     catch                 for                      package                      throws
     char                  goto                     private                      transient
     class                 if                       protected                    try
     const                 implements               public                       void
     continue              import                   return                       volatile
     do                    instanceof               short                        while
     double                int                      static


    Pendeklarasian variabel dan tipe data dalam Java
       Variabel dalam bahasa pemrograman berfungsi untuk menyimpan suatu nilai dengan tipe
       data tertentu. Begitu juga dalam bahasa java, memungkinkan untuk mendeklarasikan
       suatu variabel. Variabel merupakan tempat penyimpanan data atau informasi dengan tipe
       data tertentu yang ada di memori. Pada dasarnya ada 2 macam tipe variabel data dalam
       bahasa Java, yaitu tipe data primitif dan tipe data reference. Tabel 2.2 menunjukkan
       jenis-jenis tipe data primitif.

                                  Tabel 2.2 Tipe Data Primitif, terdiri dari :
      Nama Type Data        Ukuran                  Range Nilai                     Keterangan
     byte                8 bit               -128 sampai 127              Tipe data bilangan bulat
     short               16 bit              -32.768 sampai 32.767        Tipe data bilangan bulat
     int                 32 bit              -2.147.483.648 sampai        Tipe data bilangan bulat
                                             2.147.483.647
     long                64 bit              -9.223.372.036.854.775.808   Tipe data bilangan bulat
                                                       sampai
                                              9.223.372.036.854.775.807
     float               32 bit IEEE 754                                  Tipe data bilangan real
     double              64 bit IEEE 754                                  Tipe data bilangan real
     char                16 bit              0…..65535                    Tipe data sebuah karakter
     boolean                                                              Tipe data yang memuat status
                                                                          true atau false

       Untuk mendeklarasikan variabel dalam java, sintaksnya adalah :


                                         tipe-data nama_variabel;




                                                                                                     2
              Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



contoh :           int tahun;
                   byte usia;
                   char jenis_kelamin;
Berikut contoh penggunaan tipe data primitif pada Java seperti pada program 2.1 di
bawah ini.

 contoh program 2.1
 nama file : usevariabel.java

 class usevariabel {
  public static void main(String[] args) {
    byte byteData = 100;
    short shortData = 501;
    int intData = 999;
    char charData = 'A';
    float floatData = 99.99;
    double doubleData = 99.999;
    boolean booleanData1 = true;
    boolean booleanData2 = false;

         System.out.println("Contoh tipe data byte = "+byteData);
         System.out.println("Contoh tipe data short = "+shortData);
         System.out.println("Contoh tipe data integer = "+intData);
         System.out.println("Contoh tipe data char = \'"+charData+"\'");
         System.out.println("Contoh tipe data float = "+floatData);
         System.out.println("Contoh tipe data double = "+doubleData);
         System.out.println("Contoh tipe data boolean = "+booleanData1);
         System.out.println("Contoh tipe data boolean = "+booleanData2);
     }
 }




Sedangkan jenis tipe data reference pada bahasa Java adalah ; tipe class, array, dan
interface. Tipe data referensi digunakan untuk mengacu suatu objek. Di mana variabel
objek tersebut dapat digunakan untuk mengakses nilai variabel instant yang biasanya
berupa tipe data primitif. Program Java 2.2 menunjukkan contoh penggunaan tipe data
referensi.



 // contoh program 2.2
 nama file : tipedataReferensi.java

 class tipedataReferensi {
  int rescue;                                // pendeklarasian variabel dgn tipe data int

     public static void main(String[] args) {
      tipedataReferensi mengacu_ke;                  // pendeklarasian variabel dgn tipe data class
      mengacu_ke = new tipedataReferensi();          // instansiasi tipe data class menjadi objek

         mengacu_ke.rescue = 911;                     // mengakses objek -> tipedataReferensi
                                                      melalui variabel objek 'mengacu_ke'
         System.out.println("Variabel objek \'mengacu_ke\' bernilai -> "+mengacu_ke.rescue);
     }
 }




                                                                                                      3
                 Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                      Tabel 2.3 Kode karakter khusus (karakter escape) pada Java
                    Kode                                    Keterangan
        \n                              New line (baris baru)
        \t                              Tab
        \b                              Backspace
        \r                              Carriage Return
        \f                              Form feed01
        \\                              Backslash
        \‟                              Tanda kutip tunggal
        \”                              Tanda kutip ganda
        \ddd                            Bilangan Oktal
        \xdd                            Bilangan Heksadesimal
        \udddd                          Karakter Unicode


       Contoh penggunaan kode karakter khusus seperti yang ditunjukkan pada listing program
       2.3.


        contoh program 2.3
        nama file : charkhusus.java

        class charkhusus {
          public static void main(String[] args) {
            System.out.println(“Java\nLanguage”);
            System.out.println(“\n”);
            System.out.println(“\’Programming\’”);
          }
        }


Praktikum :
   1. Buatlah program yang mendeklarasikan berbagai jenis tipe data serta tampilkan nilai/data
       dari variabel tersebut.
   2. Buatlah contoh program yang menggunakan berbagai macam jenis karakter khusus.




                                      Modul Praktikum III

                       Dasar-Dasar Pemrograman Bahasa Java
Tujuan : Memahami berbagai macam tipe operator, meliputi :
           Operator Aritmatika
           Operator Relasional
           Operator Kondisional
           Operator Assignment

Pendahuluan :
1. Operator Aritmatika, digunakan untuk memanipulasi nilai variabel yang bersifat numerik.
   Macam-macam bentuk operator aritmatika dapat dilihat pada Tabel 3.1 dan Tabel 3.2 di
   bawah ini :



                                                                                            4
                      Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                                          Tabel 3.1 Operator Aritmatika dalam Java
    Operator                  Pemakaian                                      Keterangan
       +                 Operan1 + Operan2                  Menambahkan Operan1 dengan Operan2
       -                 Operan1 - Operan2                  Mengurangkan Operan1 dengan Operan2
       *                 Operan1 * Operan2                  Mengalikan Operan1 dengan Operan2
       /                 Operan1 / Operan2                  Membagi Operan1 dengan Operan2
       %                 Operan1 % Operan2                  Memberikan sisa hasil bagi antara Operan1 dengan
                                                            Operan2

Berikut ini adalah contoh penggunaan operator aritmatika dalam program :

// contoh program 3.1
// nama file : operatoraritmatika.java

import java.io.*;

class operatoraritmatika {
 public static void main(String[] args) {
   int operan1, operan2, angka_pilihan = -1;
   try {
     while (true) {
      System.out.println("\nPenggunaan Operator Aritmatika");
      System.out.println("==============================");
      System.out.println("0. K e l u a r");
      System.out.println("1. Penambahan (+)");
      System.out.println("2. Pengurangan (-)");
      System.out.println("3. Perkalian (*)");
      System.out.println("4. Pembagian (/)");
      System.out.println("5. Hasil Bagi/Modulo (%)");
      System.out.println("\n");
      System.out.print("Silahkan pilih 1-5, 0 untuk keluar : ");
      angka_pilihan = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();
      if (angka_pilihan==0) {
        System.out.println("Bye..bye.....");
        break;
      } else if (angka_pilihan > 5 || angka_pilihan < 0) {
          System.out.print("\n");
          System.out.print("Angka yang bisa anda masukkan adalah 1-5 \n");
      } else {
          System.out.print("Masukkan operan 1 : ");
          operan1 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();

             System.out.print("Masukkan operan 2 : ");
             operan2 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();

             switch(angka_pilihan) {
              case 1:
                   System.out.println(operan1 + " + " + operan2 + " = " +(operan1+operan2));
                   break;

              case 2:
                  System.out.println(operan1 + " - " + operan2 + " = " +(operan1-operan2));
                  break;

              case 3:
                  System.out.println(operan1 + " x " + operan2 + " = " +(operan1*operan2));
                  break;

              case 4:
                  System.out.println(operan1 + " / " + operan2 + " = " +(operan1/operan2));
                  break;

              case 5:
                  System.out.println(operan1 + " % " + operan2 + " = " +(operan1%operan2));
                  break;
             }
             System.out.println("\n");
            }
          }
        }catch(IOException e) {
           System.out.println("Error I/O");
           System.exit(0);
        }
    }
}




                                                                                                                      5
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



   Selain operator di atas, operator-operator yang ditunjukkan pada Tabel 3.2 juga termasuk
   dalam operator aritmatika.

                                     Tabel 3.2 Operator Aritmatika
    Operator        Pemakaian                                 Keterangan
      ++             Operan++           Menaikkan nilai operan sebanyak 1 setelah dilakukan
                                        operasi terhadap operan tersebut.
        ++           ++Operan           Menaikkan nilai operan sebanyak 1 sebelum dilakukan
                                        operasi terhadap operan tersebut.
        --           Operan--           Menurunkan nilai operan sebanyak 1 setelah dilakukan
                                        operasi terhadap operan tersebut.
        --           --Operan           Menaikkan nilai operan sebanyak 1 sebelum dilakukan
                                        operasi terhadap operan tersebut.
         -            -Operan           Merubah nilai operan menjadi negasinya (jika operan
                                        positif menjadi negatif, begitu juga sebaliknya).

2. Operator Relasional
   Operator relasional berfungsi untuk membandingkan antara dua nilai variabel. Tabel 3.3
   menunjukkan operator relasional.

                                     Tabel 3.3 Operator Relasional
    Operator          Pemakaian                                  Keterangan
       >         Operan1 > Operan2             Menghasilkan nilai true jika Operan1 lebih besar
                                               dari Operan2
        <        Operan1    <       Operan2    Menghasilkan nilai true jika Operan1 lebih kecil
                                               dari Operan2
        >=       Operan1 >= Operan2            Menghasilkan nilai true jika Operan1 lebih besar
                                               atau sama dengan Operan2
        <=       Operan1 <= Operan2            Menghasilkan nilai true jika Operan1 lebih kecil
                                               atau sama dengan Operan2
        ==       Operan1 == Operan2            Menghasilkan nilai true jika Operan1 sama
                                               dengan Operan2
        !=       Operan1   !=       Operan2    Menghasilkan nilai true jika Operan1 tidak sama
                                               dengan Operan2

3. Operator Kondisional

                                    Tabel 3.4 Operator Kondisional
    Operator           Pemakaian                                     Keterangan
      &&         Operan1 && Operan2             Menghasilkan true jika Operan1 dan Operan2,
                                                keduanya bernilai boolean true.
        ||       Operan1     ||      Operan2    Menghasilkan true jika Operan1 atau Operan2,
                                                keduanya bernilai boolean true.
         !              !Operan1                Menghasilkan true jika Operan1 bernilai boolean
                                                false.
        &        Operan1    &        Operan2    Menghasilkan true jika Operan1 dan Operan2
                                                bernilai true (bitwise AND)
         |       Operan1        |    Operan2    Menghasilkan true jika Operan1 atau Operan2
                                                salah satunya bernilai true (bitwise OR).
        ^        Operan1     ^       Operan2    Menghasilkan true jika salah satu diantara
                                                Operan1 atau Operan2 bernilai true, tetapi tidak
                                                keduanya.


                                                                                              6
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



4. Operator Assignment, digunakan untuk memberikan nilai dari suatu hasil operasi ke sebuah
   variabel, umumnya diberikan kepada variabel yang sama.

                                 Tabel 3.5 Operator Assignment
      Operator            Pemakaian                          Ekivalen Dengan
         +=         Operan1  +=    Operan2           Operan1 = Operan1 + Operan2
         -=         Operan1   -=   Operan2           Operan1 = Operan1 = Operan2
         *=         Operan1  *=    Operan2           Operan1 = Operan1 * Operan2
         /=         Operan1   /=   Operan2           Operan1 = Operan1 / Operan2
        %=          Operan1 %= Operan2               Operan1 = Operan1 % Operan2
        &=          Operan1 &=     Operan2           Operan1 = Operan1 & Operan2
         |=         Operan1   |=   Operan2           Operan1 = Operan1 | Operan2
         ^=         Operan1  ^=    Operan2           Operan1 = Operan1 ^ Operan2
        >>=         Operan1 >>= Operan2              Operan1 = Operan1 >> Operan2
        <<=         Operan1 <<= Operan2              Operan1 = Operan1 << Operan2
       >>>=         Operan1 >>>= Operan2             Operan1 = Operan1 >>> Operan2


Tugas Praktikum :
   Buat kode program yang melakukan berbagai macam penggunaan operator relasional,
   kondisional, assignment.



                                  Modul Praktikum IV

                                Control Flow Pada Java
Tujuan : Memahami Control Flow dalam Java dan macamnya, meliputi :
           if – else
           switch – case
           for loop
           while loop, do – while loop

Pendahuluan :
   Secara garis besar, pengendalian eksekusi dapat dibagi menjadi beberapa bagian, yaitu
   seleksi kondisi (if dan switch – case), perulangan atau iterasi (for, while, dan do while).
   Ada 2 kata kunci (keywords) yang digunakan untuk melakukan seleksi suatu kondisi, yaitu if
   dan switch – case.

   1. Statement if – else, akan membandingkan suatu operand yang apabila memenuhi suatu
      kondisi tertentu, maka blok program di dalamnya akan dieksekusi. Sintaks statementnya
      adalah sebagai berikut :



            if (kondisi) {                                  if (kondisi) {
            ……..statement…….                                ……..statement1…….
            }
                                            atau            } else {
                                                            ……..statement2…….
                                                            }




                                                                                            7
            Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




            if (kondisi1) {                                  if (kondisi1) {
            ……..statement1…….                                ……..statement1…….
                                              atau
            } else if (kondisi2) {                           } else if (kondisi2) {
            ……..statement2…….                                ……..statement2…….

            } else if (kondisi3) {                           } else if (kondisi3) {
            ……..statement3…….                                ……..statement3…….

            } else if (kondisin) {                           } else if (kondisin) {
            ……..statementn…….                                ……..statementn…….
        }
                                                             } else {
                                                             ……..default statement…….
                                                             }




2. Statement switch – case, digunakan untuk percabangan yang berjumlah lebih dari satu,
   penggunaannya mirip dengan penggunaan if bertingkat. Sintaks penggunaannya sebagai
   berikut :

                 switch (ekspresi) {
                     case (kondisi1):
                         …..statement1;
                         break;
                     case (kondisi2):
                         …..statement2;
                         break;
                     case (kondisi3):
                         …..statement3;
                         break;
                     case (kondisin):
                         …..statementn;
                         break;
                     default:
                         …..default statement;
                         break;
                 }




Dengan adanya penggunaan iterasi, dapat menghindai terjadinya penulisan statement secara
berulang-ulang.

3. Statement for, digunakan untuk mengeksekusi sebuah blok secara berulang-ulang selama
   kondisinya memenuhi. Sintaks adalah sebagai berikut :

                for (inisialisasi; terminasi; increment) {
                     …….statement;
                }




4. Statement while, mempunyai bentuk sebagai berikut :

                     while (ekspresi) {
                         …….statement;
                     }




                                                                                        8
                  Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



5. Statement do – while,

                            do {
                                …….statement;
                            } while (ekspresi) {

                            }



Program 4.1 menunjukkan bagaimana menyusun kendali dengan if. Program 4.2 merupakan
contoh bagaimana menggunakan statement switch. Sedangkan program 4.3 menunjukkan
bagaimana menggunakan struktur perulangan for.

  // contoh program 4.1
  // nama file : ifelse.java

  public class ifelse {
   public static void main(String[] args) {
    double a=4;
    double b=-13;
    double c=-12;
    double d=b*b - 4*a*c;
    double x1,x2;

          System.out.println("Persamaan Kuadrat a*x^2+b*x+c=0, dimana : ");
          System.out.println("a = "+a);
          System.out.println("b = "+b);
          System.out.println("c = "+c);
          System.out.println("Dengan menerapkan rumus ABC diketahui bahwa : ");

          if (d<0) {
            System.out.println("Akar-akar persamaan imaginer.");
          } else if (d==0) {
              System.out.println("Akar-akar persamaan nyata tetapi kembar.");
              x1 = -b/(2*a);
              System.out.println("x1 = x2 = "+x1);
          } else {
              System.out.println("Akar-akar persamaan nyata dan berbeda");
              x1 = (-b+Math.sqrt(d))/(2*a);
              x2 = (-b-Math.sqrt(d))/(2*a);
              System.out.println("x1 = "+x1 + " x2 = "+x2);
          }
      }
  }


  // contoh program 4.2
  // nama file : switchcase.java

  public class switchcase {
    public static void main(String[] args) {
      char inisial='F';
      String nama = null;
      switch (inisial)
      {
        case 'J' : nama = "John";
               break;
        case 'F' : nama = "JFK";
               break;
        case 'K' : nama = "Kennedy";
               break;
        default : nama = "unknown object";
      }
      System.out.println("Nama inisial anda : "+nama);
    }
  }

                                                                                   9
              Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




                // contoh program 4.3
                // nama file : contohfor.java

                public class contohfor {
                 public static void main(String args[]) {
                  int bil=7;
                  int sum=2;

                        for (int iterasi=2; iterasi<=bil; iterasi++) {
                          System.out.print(sum + " * " + iterasi + " = ");
                          sum *= iterasi;
                          System.out.println(sum);
                        }
                          System.out.println(bil + " ! = "+sum);
                    }
                }




                // contoh program 4.4
                // nama file : contohwhile.java
                public class contohwhile {
                 public static void main(String args[]) {
                  int bil=7;
                  int i=2;
                  int sum=2;
                        while (i<=bil) {
                          System.out.print(sum + " * " + i + " = ");
                          sum = sum * i;
                          System.out.println(sum);
                          i++;
                        }
                        System.out.println(bil + " ! = "+sum);
                    }
                }



Tugas Praktikum :
   1. Buat contoh program dengan menggunakan statement if, while, switch-case, dan for.
   2. Buatlah kode program dengan menggunakan statement if, yang menampilkan nilai yang
      dimasukkan dan memberikan keterangan terhadap nilai tersebut. dengan ketentuan
      sebagai berikut :
      nilai >80 mendapat nilai = A, keterangan : Lulus - Memuaskan
      nilai > 70<=80 mendapat nilai = B. keterangan Lulus - Baik
      nilai >60 <=70 mendapat nilai = C. keterangan Lulus - Cukup
      nilai >50 <=60 mendapat nilai = D. keterangan Tidak Lulus – Tidak Memuaskan




                                                                                    10
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                                    Modul Praktikum V

                                         Array / Larik
Tujuan : Memahami Variabel Array

Pendahuluan :
   Seperti yang telah kita ketahui bahwa kita harus mendeklarasikan suatu variabel sebelum kita
   hendak menggunakannya. Variabel array atau larik merupakan variabel yang mampu
   menyimpan sejumlah data dengan nama variabel yang sama. Misalkan kita memerlukan 100
   buah variabel bertipe String untuk menyimpan sebanyak 100 nama mahasiswa. Tentu sangat
   tidak efisien apabila kita mendeklarasikan pula sebanyak 100 variabel satu persatu (misalkan;
   nama_mhs1, nama_mhs2, ……sampai 100). Kita cukup mendeklarasikannya satu kali
   dengan mengunakan variabel bertipe array dengan range sebanyak 100). Di sinilah kegunaan
   dari variabel bertipe array tersebut.

   Untuk mendeklarasikan variabel bertipe array digunakan cara seperti berikut :


                      Cara I :    tipe-data[] nama_variabel;
               atau
                      Cara II :   tipe-data nama_variabel[];



             Contoh : int[] nim;
                      String[] nama_mahasiswa;
                      float IPK[];

   Pendeklarasian array dengan menggunakan “Cara I” seperti di atas merupakan cara yang
   paling sering digunakan. Contoh di atas merupakan bentuk pendeklarsian array berdimensi
   satu. Adapun bentuk pendeklasian array multidimensi, seperti berikut :


                      Cara I :    tipe-data[][] nama_variabel;
               atau
                      Cara II :   tipe-data nama_variabel[][];




              Contoh : String[][] myheartCondition =
              {
                 {“angry”,”happy”,”sad”,”bad”,”alone”,”relax”},
                 {“laugh”,”grumble”,”fresh”,”good”,”ok”,},
                 {“ready”,”ill”,”jealous”,”glum”,”busy”,”werrrr”}
              };
   Setelah mendeklarasikan array dengan cara di atas, langkah selanjutnya adalah melakukan
   inisialisasi atau menciptakan objek dari variabel array tersebut. Ada 2 cara yang umum
   digunakan, yaitu :

   Cara Pertama : Dengan menggunakan kata kunci new, sintaksnya adalah sebagai berikut :


                              new tipe-data[range];




                                                                                             11
                     Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                        Contoh : nim = new int[100]
                                 nama_mahasiswa = new String[75]
                                 IPK = new float[75]

   Cara Kedua :         Dengan langsung memberikan nilai awal :


                                 nama_variabel = {nilai_data1, nilai_data2, …..nilai_data-n};




                        Contoh : nim = {1,9,25,55,75,95,101};
                                 nama_mahasiswa = {Scott, Jane, Ann, Smith, Armstrong};

Variabel array dapat diketahui panjangnya dengan mengakses kata ; length, sintaknya :


                                                nama_variabel_array.length;


                        Contoh : nama_mahasiswa.length;

Sedangkan untuk mengacu ke salah satu elemen array. Menggunakan sintaks :


                                            nama_variabel_array[nomor_index];



                        Contoh : nim[9];

Contoh lengkap dari penggunaan array atau larik dapat dilihat pada program 5.1 dan 5.2 di
bawah ini :

             // contoh program 5.1
             // nama file : Array.java

             class Array {
              public static void main(String[] args) {
                String[] lifestyle;                                // membuat array/larik
                lifestyle = new String[7];

                     lifestyle[0] = "Sederhana";                   // cara mengisi elemen array
                     lifestyle[1] = "Parlente";
                     lifestyle[2] = "Glamour";
                     lifestyle[3] = "Nebeng Glamour - Necis";
                     lifestyle[4] = "Kosmo";
                     lifestyle[5] = "Matre";
                     lifestyle[6] = "Electronic-Live Style";

                     System.out.println("Macam-macam gaya hidup : ");
                     System.out.println(lifestyle[0]);
                     System.out.println(lifestyle[1]);
                     System.out.println(lifestyle[2]);
                     System.out.println(lifestyle[3]);
                     System.out.println(lifestyle[4]);
                     System.out.println(lifestyle[5]);
                     System.out.println(lifestyle[6]);         // menampilkan elemen array
                 }
             }




                                                                                                  12
                      Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




         // contoh program 5.2
         // nama file : Larik.java

         class Larik {
          public static void main(String args[]) {
            boolean ketemu = false;
            int[] arrayInt = new int[7];
            char[] arrayChar = {'X','Y','Z'};

                 for (int i=0; i<arrayInt.length; i++) {
                   arrayInt[i] = i+1;
                   System.out.println("Elemen ke "+(i-7)+"="+arrayInt[i]);
                 }

                 for (int i=0; i<arrayChar.length; i++) {
                   arrayInt[i] = i+1;
                   System.out.println("Elemen ke "+(i+8)+"="+arrayChar[i]);
                 }
             }
         }



Tugas Praktikum :
   Buatlah kode program dengan menggunakan variabel array




                                          Modul Praktikum VI

                            Konsep Pemrograman Berorientasi Objek
Tujuan :
   Mengimplementasikan konsep pemrograman berorientasi objek dalam bahasa Java :
   – Kelas
   – Objek
   – Encapsulation (Pembungkusan)
   – Inheritance (Pewarisan)
   – Polymorfism

Pendahuluan :
   1. Dalam bahasa pemrograman java, pendefinisian kelas dilakukan dengan menggunakan
      kata kunci (keyword) class. Sintax dari pembuatan kelas, secara lengkap adalah sebagai
      berikut :


             public
             abstract
             final
                class nama_kelas
                      extends nama super_kelas
                          implements nama_interface {

                      statements………
                      statements………
                  }




                                                                                         13
                  Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



   Namun, contoh sederhana atau berdasarkan keperluan kita dalam pendefinisian atau
   penciptaan sebuah kelas adalah sebagai berikut :

              class nama_kelas {
                 statements………….
              }

              Contoh :
                         class Mahasiswa {
                             int nim;
                             String nama;
                         }

   Dari contoh di atas menunjukkan ; kelas tersebut bernama Mahasiswa dan mempunyai 2
   buah variabel yaitu nim dan nama yang masing-masing bertipe integer dan string. Kedua
   variabel ini sering disebut variabel instan atau field atau disebut juga atribut.

   Contoh lengkap dari pendeklarasian „class mahasiswa‟ di atas sebagai berikut :


     // contoh program 6.1
     // nama file : mahasiswa.java

      class mahasiswa {                                           // pembuatan kelas
       int nim;
       String nama;
       double ipk;

          public static void main(String[] args) {                // pendeklrasian program utama
           mahasiswa mhs1 = new mahasiswa();                      // pendefinisian objek
           mhs1.nim = 1725;
           mhs1.nama = "Abraham Lincoln";
           mhs1.ipk = 9.11;

              System.out.println("nim : "+mhs1.nim);              // namaVariabelObjek.namaVariabelInstant
              System.out.println("nama : "+mhs1.nama);
              System.out.println("ipk : "+mhs1.ipk);
          }
      }




2. Sebuah kelas pada Java biasanya terdiri dari beberapa variabel instant dan method untuk
   menciptakan sebuah objek. Method terkadang disebut juga fungsi (function) atau
   prosedur dimana biasanya fungsi tersebut dibuat berdasarkan sifat yang melekat dari
   suatu objek. Pendeklarasian method diletakkan pada blok dari suatu kelas. Contoh
   method dalam Java :


          void dataMahasiswa (int Nim, String Nama) {
              nim = Nim;
              nama = Nama;
          }


   atau

          void tampilDataMahasiswa() {
              System.out.println(“No. Induk Mahasiswa : ”+nim);
              System.out.println(“Nama Mahasiswa : ”+nama);
          }



                                                                                                             14
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



      Setelah method dideklarasikan, maka method dapat digunakan dengan cara memanggil
      nama method tersebut. Sintaks untuk memanggil method tersebut adalah :


                                    nama_variabelObjek.namaMethod()



3. Untuk menciptakan Objek yang merupakan bagian terpenting dalam konsep
   pemrograman berorientasi objek dalam bahasa Java, adalah dengan 2 cara, yang masing-
   masing menggunakan kata kunci new :

     Cara Pertama :
     nama_kelas namavariabelObjek = new nama_kelas();
         contoh : Mahasiswa siswa1 = new Mahasiswa();

     Cara Kedua :
     nama_kelas namavariabelObjek = new nama_kelas(argumen1,argumen2,…argumen-n);
         contoh : Mahasiswa siswa1 = new Mahasiswa (212, “Wiro Sableng”);




Contoh lengkap dari penjelasan poin 2 dan 3 adalah sebagai berikut :

 // contoh program 6.2
 // nama file : oldmahasiswa.java

 class oldmahasiswa {                                               // pembuatan kelas
  int nim;
  String nama;
  double ipk;

     void data_mahasiswa(int Nim, String Nama, double IPK) {        // pendeklarasian method
       nim = Nim;
       nama = Nama;
       ipk = IPK;
     }

     void show_data() {                                             // pendeklarasian method
       System.out.println("nim : "+nim);
       System.out.println("nama : "+nama);
       System.out.println("ipk : "+ipk);
     }

     public static void main(String[] args) {
       oldmahasiswa mhs = new oldmahasiswa();                       // pendefinisian objek
       mhs.data_mahasiswa(1725,"Abraham Lincoln",9.11);        // namaVariabelObjek.namaMethod( ,“…”, );
       mhs.show_data();                                              // namaVariabelObjek.namaMethod();
     }
 }



Untuk menerapkan cara kedua dalam menciptakan objek, kita harus menggunakan suatu
methode yang disebut metode konstruktor yang selanjutnya cukup disebut konstruktor saja.
Untuk membuat metode konstruktor  konstruktor, gunakanlah sintaks sebagai berikut :

     public nama_konstruktor(parameter1, parameter2, …….. parameter-n) {
       statement………..
     }




                                                                                                           15
                Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



di mana suatu konstruktor mempunyai sifat ; nama konstruktor harus sama/sesuai dengan
nama kelas, tidak memiliki nilai balik (tidak boleh ada kata kunci void). Contoh program 5.3
menunjukkan penggunaan konstruktor.

// contoh program 6.3
// nama file : aHero.java

class aHero {
 String name, nationality;

    public aHero(String Name, String from) {              // Konstruktor
      name = Name;
      nationality = from;
    }

    void show_data() {                                    // pendeklarasian method
      System.out.println("Name : "+name);
      System.out.println("From : "+nationality);
    }

    public static void main(String[] args) {
      aHero leader = new aHero("Cak Nur", "Indonesia");   // lihat perbedaannya dengan prog.5.2
      leader.show_data();
    }
}




Access Specifier (Penentu Akses)
   Dalam konsep pemrograman berorientasi objek khususnya bahasa java, terdapat beberapa
   penentu akses yang menentukan kelas, variabel atau method tersebut boleh diakses baik
   di dalam kelas itu sendiri maupun dikelas yang berbeda atau pada paket yang berbeda.
   Ada beberapa penentu akses dalam bahasa Java, tabel 5.1 menunjukkan perbedaan
   masing-masing penentu akses tersebut.

                                    Tabel 5.1 Penentu Akses pada Kelas
           Penentu Akses                                       Keterangan
       public                         Ini berarti kelas tersebut dapat digunakan oleh kelas lain
                                      tanpa memperdulikan apakah kelas lain                   yang
                                      menggunakannya berasal dari paket yang sama atau
                                      berbeda.
       abstract                       Berarti kelas tersebut tidak dapat diinstansiasi menjadi
                                      sebuah objek.
       final                          Maka kelas tersebut tidak dapat diturunkan lagi menjadi
                                      kelas turunan.
       tanpa penentu akses            Berarti kelas tersebut dapat diakses oleh kelas yang berbeda
                                      yang berada dalam paket yang sama.




                                                                                                  16
           Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



                       Tabel 5.2 Penentu Akses pada Variabel Instan
     Penentu Akses                                       Keterangan
 public                        Suatu variabel dapat diakses oleh kelas lain yang berbeda
                               yang menggunakan kelas tersebut atau kelas lain pada paket
                               yang berbeda. Ini berarti pengaksesan suatu variabel dapat
                               dilakukan dari luar kelas.
 private                       Suatu variabel hanya dapat diakses di dalam kelas. Ini
                               berarti variabel tersebut tidak dapat diakses dari luar kelas.
 protected                     Menjadikan variabel instan hanya bisa diakses oleh objek
                               itu sendiri atau objek lain yang menjadi subkelasnya
 final                         Menjadikan variabel bersifat tetap (konstanta) – tidak dapat
                               diubah
 tanpa penentu akses           Variabel dapat diakses oleh kelas yang berbeda yang berada
                               dalam paket yang sama.

                           Tabel 5.3 Penentu Akses pada Method
     Penentu Akses                                      Keterangan
 public                        Suatu method dapat diakses oleh kelas lain yang berbeda.
                               Dengan lain kata, fungsi/method tersebut dapat diakses dari
                               luar kelas.
 private                       Suatu method hanya dapat diakses di dalam kelas itu
                               sendiri, tidak dapat diakses dari luar kelas.
 protected                     Menjadikan function atau method hanya bisa diakses oleh
                               objek itu sendiri atau objek lain yang menjadi sub-kelasnya
 package                       Menunjukkan bahwa function/method hanya bisa diakses
                               oleh objek itu sendiri atau kelas lain yang berada dalam
                               paket yang sama
 static                        Method akan bernilai tetap seperti pendeklarasian kelas.
 final                         Membuat suatu method pada kelas induk menjadi unik (baik
                               nama maupun parameter) tidak boleh sama (tidak dapat di-
                               override) oleh sub kelasnya.
 tanpa penentu akses           Method hanya dapat diakses oleh method dalam kelas yang
                               sama atau kelas lain yang berada dalam paket yang sama

Contoh penggunaan akses specifier pada variabel :

     class Mahasiswa {
        public int nim;
        private String nama;
     }



Contoh di atas menunjukkan bahwa variabel instan nim dapat diakes oleh kelas lain yang
berbeda sedangkan variabel instan nama hanya dapat diakes oleh kelas Mahasiswa.

Contoh penggunaan akses specifier pada method :

    private void dataMahasiswa (int Nim, String Nama) {
        nim = Nim;
        nama = Nama;
    }




                                                                                           17
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



      Contoh di atas menunjukkan bahwa method tersebut hanya dapat diakses oleh method-
      method yang terdapat di dalam kelas itu sendiri yaitu misalnya class Mahasiswa. Program
      5.4 menunjukkan contoh penggunaan akses spesifier.


 // contoh program 6.4
 // nama file : mhs.java

 class mahasiswa_baru {
  private int nim;
  private String nama;
  public int usia=18;

     public void data(int Nim, String Nama) {
       nim = Nim;
       nama = Nama;
     }

     protected int nimparadigm() {
       return this.nim;
     }

     public String namaparadigm() {
       return this.nama;
     }
 }

 public class mhs {
  public static void main(String[] args) {
   mahasiswa_baru maba = new mahasiswa_baru();
   maba.data(331,"Siti Fadila");

     System.out.println("Nim : "+maba.nimparadigm());
 // System.out.println("Nama : "+maba.nama);
     System.out.println("Nama : "+maba.namaparadigm());
     System.out.println("Usia : "+maba.usia);
   }
 }




Pewarisan (Inheritance)
   Salah satu konsep terpenting dari konsep pemrograman berorientasi objek adalah
   pewarisan. Pewarisan memungkinkan untuk membuat suatu kelas (kelas turunan / sub
   kelas / kelas anak) berdasarkan kelas yang sudah ada (kelas induk / super kelas), sehingga
   dapat mewariskan atribut-atribut maupun method-methodnya. Sehingga dengan demikian
   penulisan suatu bahasa pemrograman secara berulang-ulang dapat dihindari. Hal inilah
   yang merupakan salah satu keunggulan dari konsep pemrograman berorientasi objek
   Untuk mewariskan suatu kelas ke kelas yang menjadi turunannya adalah dengan
   memberikan kata kunci extends di antara nama_kelas_turunan dan nama_kelas_induk.
   Sintaksnya sebagai berikut :



         class nama_kelas_turunan extends nama_kelas_induk {
             ………statement;
         }




                                                                                          18
           Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




 Contoh :
   class orang_tua {
       String nama_ayah = “Paijo”;
       String mother = “Lissa”;
   }

    class anak extends orang_tua {
        ………statement;
    }




Berikut adalah contoh program Java implementasi dari konsep pewarisan.


 // contoh program 6.5
 // nama berkas : orang_tua.java;

    class orang_tua {
     String nama_ayah = "Paijo";
     String mother = "Lissa";

        public void data_orangtua() {
          System.out.println("Nama Ayah : "+nama_ayah);
          System.out.println("Nama Ibu : "+mother);
        }
    }




 // contoh program 6.6
 // nama berkas : anak.java

    class anak extends orang_tua {
     String nama_anak, ttl, usia;

        public anak(String NamaAnak, String Ttl, String Usia) {
          nama_anak=NamaAnak;
          ttl=Ttl;
          usia=Usia;
        }

        void data_anak() {
          System.out.println("Nama Anak : "+nama_anak);
          System.out.println("TTL   : "+ttl);
          System.out.println("Usia  : "+usia);
        }

        public static void main (String[] args) {
          anak anakPertama = new anak("Peter Man","Samarinda, 9 Sept 0000","2005th");
          anakPertama.data_orangtua();
          anakPertama.data_anak();
        }
    }




                                                                                        19
           Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



Pada pemrograman di atas, „class anak‟ merupakan kelas turunan dari kelas induk yaitu
„class orang_tua‟. Pada program tersebut „class orang_tua‟ mewariskan methodnya
yaitu; data_orangtua, dimana method tersebut dipanggil dari class anak.


Pada tingkat pemrograman, untuk menggunakan method yang terdapat pada kelas induk
sebagai perwujudan dari konsep pewarisan, maka sintaks yang digunakan adalah
menggunakan kata kunci super yang diikuti nama method, yaitu :


          super.nama_method();
                digunakan untuk memanggil method biasa
atau
          super(argumen1, argumen2, ……argumentn);
                digunakan untuk memanggil method konstruktor



Berikut adalah contoh program Java yang menunjukkan dua cara dalam penggunaan kata
kunci super tersebut.

// contoh program 6.7
// nama berkas : anak.java

  class orangtua {
   private String nama_ayah, nama_ibu;

      public orangtua(String Ayah, String Ibu) {
        this.nama_ayah = Ayah;
        this.nama_ibu = Ibu;
      }

      public void data_ortu() {
        System.out.println("Nama Ayah : "+nama_ayah);
        System.out.println("Nama Ibu : "+nama_ibu);
      }
  }


  class anak extends orangtua {
   String nama_anak;

      public anak(String Anak, String Ayah, String Ibu) {
        super(Ayah,Ibu);            // pemanggilan method konstruktor milik superkelas
        this.nama_anak = Anak;
      }

      void data_anak() {
        super.data_ortu();        // pemanggilan method superkelas dgn mengg. kt.kunci super
        System.out.println("Nama Anak : "+nama_anak);
      }

      public static void main(String[] args) {
        anak anakPertama = new anak("Peter Man","Paijo","Lissa");
        anakPertama.data_anak();
      }
  }




                                                                                               20
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



       Penjelasan :
       Super(Ayah,Ibu); adalah cara penulisan yang berarti perintah tersebut memanggil
       konstruktor yang berada di super kelas. Untuk memanggil konstruktor milik superkelas
       harus memenuhi kriteria : hanya untuk memanggil method yang bertipe konstruktor dan
       pemanggilan diletakkan sebagai pernyataan pertama dalam konstruktor subkelas.
       Perhatikan kembali contoh program anak.java di atas.


Polymorphism
   Dalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk
   memerintah suatu objek agar melakukan suatu aksi / tindakan yang mungkin secara prinsip
   sama tetapi secara proses berbeda.
   Polymorfisme seringkali disebut juga dalam istilah satu interface banyak aksi. Sebagai
   contoh kita mengetahui jika kita menginjak pedal gas, maka mobil akan melaju lebih cepat.
   Tetapi bagaimana proses ini terjadi, dapat berbeda-beda untuk setiap jenis mobil.
   Implementasi dari konsep polymorfisme dapat dilihat pada program 7.4.


Tugas Praktikum :
   1. Buat sebuah program yang menunjukkan sebuah kelas merupakan turunan (subkelas) dari
      suatu kelas yang lain (superkelas). Sehingga, secara otomatis semua anggota variabel dan
      method dari superkelas akan diturunkan ke subkelasnya. Untuk membuktikan suatu
      turunan, buatlah beberapa variabel dan method pada superkelas, di mana variabel dan
      method tersebut akan digunakan / dipanggil melalui subkelas-nya.
   2. Dalam pewarisan, apa yang terjadi (pada saat kompilasi) jika suatu variabel atau method
      dari superkelas dideklarasikan sebagai private? Buatkan contoh programmnya.




                                 Modul Praktikum VII

                           Java Package & Import Interface
Tujuan :
   Memahami Package dan Import.
   Memahami Interface.
   Mengimplemetasikan pembuatan package dan import serta interface dalam bahasa Java.

Pendahuluan :
 Package
   Beberapa kelas (program-program yang telah dibuat) dapat dikelompokkan dalam suatu unit
   yang disebut Package (yang selanjutnya kita sebut Paket). Paket berbentuk suatu direktori
   atau sub direktori dimana di dalam direktori tersebut terdapat beberapa kelas yang umumnya
   saling berhubungan (sinergi) di dalam suatu wadah yang disebut paket. Nama paket tersebut
   biasanya disesuaikan dengan fungsi dan tujuan dari program atau pembuatan paket tersebut.
   Dengan lain kata, Java Package digunakan untuk membungkus kelas-kelas java ke dalam
   grup-grup tertentu ke dalam suatu direktori, sehingga terjadinya konflik penamaan, hak akses
   bisa dicegah. Di samping itu, dengan menggunakan fasilitas paket dalam Java, akan semakin
   mempermudah dalam mencari dan menggunakan kelas-kelas Java.
   Pengkasesannya melalui suatu kelas (yang dideklarasikan sebagai public) dengan disertai
   penyebutan nama paketnya. Sehingga dengan demikian kelas-kelas (program-program) yang
   berada di dalam paket tersebut dapat digunakan.



                                                                                            21
                Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



Pendeklarasian Package (Paket), yaitu dengan menggunakan kata kunci package :

                                           package nama_paket;




     Contoh :   package hemat;
                package jumbo;
                package data_mahasiswa;




Contoh penggunaan paket adalah sebagai berikut :
Buatlah sebuah direktori yang bernama menu. Kemudian ketikkan dan simpanlah file di
bawah ini dengan nama pahe.java di dalam direktori tersebut.


 // contoh program 7.1
 // file location = f:\praktikum\menu\pahe.java

 package menu;

 public class pahe {
  String makanan, minuman;
  int harga;

     public void pakethemat(String Makanan, String Minuman, int Harga) {
       this.makanan=Makanan;
       this.minuman=Minuman;
       this.harga=Harga;
     }

     public void info() {
       System.out.println("Pilihan Anda Paket Hemat");
       System.out.println("--------------------------------");
       System.out.println("Makanan : "+makanan);
       System.out.println("Minuman : "+minuman);
       System.out.println("Harga : "+harga);
     }
 }




Kemudian ketikkan pula seperti contoh file di bawah ini dan simpanlah file tersebut dengan
nama jumbo.java di dalam direktori menu yang telah dibuat sebelumnya, sehingga di dalam
direktori menu terdapat dua file, masing-masing ; pahe.java dan jumbo.java. Kemudian
kompilasilah kedua file tersebut.




                                                                                       22
                       Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




     // contoh program 7.2
     // file location = f:\praktikum\menu\jumbo.java

     package menu;

     public class jumbo {
      String makanan, minuman, bonus;
      int harga;

         public void paketjumbo(String Makanan, String Minuman, String Bonus, int Harga) {
           this.makanan=Makanan;
           this.minuman=Minuman;
           this.bonus=Bonus;
           this.harga=Harga;
         }

         public void info() {
           System.out.println("Pilihan Anda Paket Jumbo");
           System.out.println("--------------------------------");
           System.out.println("Makanan : " +makanan);
           System.out.println("Minuman : " +minuman);
           System.out.println("Bonus : " +bonus);
           System.out.println("Harga : " +harga);
         }
     }


Setelah selesai mengkompilasi kedua file tersebut, ketikkan source code program java seperti
di bawah ini dan simpanlah file tersebut dengan nama jenispaket.java pada direktori induk
(dimana direktori menu merupakan sub dari direktori utama), misalnya
f:\menu_paket_utama. Setelah itu, kompilasilah file tersebut, kemudian silahkan anda
eksekusi.
 // contoh program 7.3 ; file location = f:\praktikum\jenispaket.class
 import java.io.*;
 import menu.pahe;
 import menu.jumbo;

 public class jenispaket {
  public static void main(String[] args) {
   int choice = -1;
   try {
     while(true) {
      System.out.println("Pilih Paket Menu yang Anda inginkan :");
      System.out.println("=================================== :");
      System.out.println("1. Paket Hemat");
      System.out.println("2. Paket Jumbo");
      System.out.println("0. Keluar");
      System.out.println("\n");
      System.out.print("Pilihan Menu 1-2 Saja # 0 untuk keluar, yang manakah pilihan Anda? ");
      BufferedReader answer = new BufferedReader(new InputStreamReader(System.in));
      choice = (new Integer(answer.readLine())).intValue();

           if (choice==0) {
              System.out.println("Terima Kasih, Byeee....");
              break;

           } else if (choice > 2 || choice < 0) {
             System.out.println("Pilihan Anda Salah!");
             System.out.println("\n");

           } else {
              if (choice == 1) {
                pahe pkthemat = new pahe();
                pkthemat.pakethemat("Nasi + Paha Ayam","Coca Cola",5900);
                pkthemat.info();

              } else if (choice == 2) {
                 jumbo pktjumbo = new jumbo();
                 pktjumbo.paketjumbo("Nasi, Paha & Dada Ayam, Sambel Terasi+Lalapan","Pepsi Cola","Tusuk Gigi",11500);
                 pktjumbo.info();
              }
              System.out.println("\n");
             }
           }
         }catch(IOException e) {
            System.out.println("Error I/O");
            System.exit(0);
         }
     }
 }



                                                                                                                         23
                Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



 Interface
  Pada Java, dikenal konsep interface, digunakan untuk komunikasi antar objek yang berbeda
  yang tidak memiliki hubungan apa pun. Dengan interface, memungkinkan berbagi variabel
  konstanta atau menentukan metode-methode (method-method) yang dapat digunakan oleh
  beberapa kelas.
  Pendeklrasian interface mirip dengan pendeklarasian kelas, yaitu dengan menggunakan kata
  kunci interface sebagai ganti dari kata kunci class. Sintaksnya adalah sebagai berikut :

        public interface nama_interface {
            // ……pendekalrasian variabel konstanta……;
            // ……pendeklarasian method………;
        }



   Penentu akses yang diperkenankan dalam pendeklarasian variabel pada interface adalah
   public static final. Apabila penentu akses tersebut tidak dideklarasikan, maka Java akan
   secara otomatis menetapkan variabel tersebut sebagai public static final. Contoh :

        public interface orang_tua {
            public static final String nama_ayah = “Nain”;
            public static final String nama_ibu = “Zubaidah”;
        }

    dengan demikian dapat disingkat penulisannya menjadi :

        public interface orang_tua {
            String nama_ayah = “Nain”;
            String nama_ibu = “Zubaidah”;
        }



   Begitu juga pada pendeklarasian method, penentu akses yang digunakan juga ; public
   abstract yang menyatakan metode bertipe abstrak. Penulisan atau pendeklrasian dalam
   program adalah sebagai berikut :

         public interface anak {
             public abstract void baca();
             public abstract void tulis();
         }

     karena public abstract tidak harus dideklarasikan, maka dapat ditulis menjadi :

         public interface anak {
             void baca();
             void tulis();
         }




   Seperti halnya class, suatu interface dapat juga mewarisi dari interface yang lain, contoh :

         public interface anak extends orang_tua {
           String nama_anak = “Alya”;
         }



   Sehingga interface anak tidak hanya memiliki konstanta nama_anak, tetapi juga memiliki
   konstanta nama_ayah dan nama_ibu yang diwariskan oleh interface orang_tua.


                                                                                                  24
                       Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



Namun berbeda dengan class, suatu interface dapat mewarisi lebih dari satu interface.
Sehingga pendeklarasiannya adalah sebagai berikut :

            public interface nama_interface extends interface1, interface2 {
                   ………statement…….;
            }



Berikut adalah contoh program Java dengan menggunakan interface
                                                                                  contoh program 7.4 ; nama file : balapan.java
  interface tambahkecepatan {
    public static final int mesinhidup = 1;
    public abstract void putargas();
  }

  class balapan implements tambahkecepatan {
   private int kondisimesin = 0;

      public void putargas() {
       if (this.kondisimesin==0) {
         this.kondisimesin=mesinhidup;
         System.out.println("\nMesin siap balapan\n");

            int a,b,c,d;
            if (mesinhidup==1) {
              System.out.println("Tekan tuas kopling, masukkan gigi 1");
              System.out.print("Putar gas sampai kecepatan maksimum ");
              for (a=0; a<=80; a++) {
                if (a==80) System.out.print(a+"km/jam\n");
              }
              System.out.println("\n");
              System.out.println("Gigi 1 sudah mencapai kecepatan maksimum "+a+"km/jam");
              System.out.println("Tekan tuas kopling, masukkan gigi 2");
              System.out.print("Putar gas sampai kecepatan maksimum ");

                for (b=80; b<=150; b++) {
                  if (b==150) System.out.print(b+"km/jam\n");
                }
                System.out.println("\n");
                System.out.println("Gigi 2 sudah mencapai kecepatan maksimum "+b+"km/jam");
                System.out.println("Tekan tuas kopling, masukkan gigi 3");
                System.out.print("Putar gas sampai kecepatan maksimum ");

                for (c=150; c<=250; c++) {
                  if (c==250) System.out.print(c+"km/jam\n");
                }
                System.out.println("\n");
                System.out.println("Gigi 3 sudah mencapai kecepatan maksimum "+c+"km/jam");
                System.out.println("Tekan tuas kopling, masukkan gigi 4");
                System.out.print("Putar gas sampai kecepatan maksimum ");

                for (d=250; d<=350; d++) {
                  if (d==350) System.out.print(d+"km/jam\n");
                }
                System.out.println("\n");
                System.out.println("Gigi 4 sudah mencapai kecepatan maksimum "+d+"km/jam");
                System.out.println("Garis Finish 1 meter didepan, lakukan jumping ban belakang..!!!");
            }

          } else {
             System.out.println("Payah....mesinnya mogok, perbaiki dulu..!");
          }
      }
  }

  public class balapmotor {
    public static void main (String[] args) {
      balapan balapanmotor = new balapan();
      balapanmotor.putargas();
    }
  }



                                                                                                                             25
               Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



Tugas Praktikum :
   1. Buatlah contoh program java yang mengimplementasikan penggunaan package.
   2. Buatlah contoh program java yang mengimplementasikan penggunaan Interface.




                                   Modul Praktikum VIII

                                     Exception Handling
Tujuan :
   Memahami Exception dalam Java
   Memahami kegunaan Blok Try, Catch dan Finally
   Memahami kegunaan keyword Throw dan Throws

Pendahuluan :
   Exception Handling adalah event yang terjadi ketika program menemui kesalahan saat
   instruksi program dijalankan. Kesalahan yang mungkin terjadi bisa bermacam-macam,
   misalnya pada saat pembacaan sebuah file, tetapi program tersebut gagal membuka sebuah
   file yang diinginkan, crash pada hardisk sehingga program-program tidak bisa mengakses
   file-file tertentu yang berada pada bad sector misalnya, melakukan pembagian sebuah
   bilangan dengan angka 0, pengisian elemen array dengan di luar jumlah elemen array yang
   ditentukan, dan lain sebagainya.
   Untuk mengatasi kesalahan pada saat program sedang dieksekusi, Java menyediakan suatu
   mekanisme penanganan kesalahan atau disebut juga exception handling. Ketika terjadi
   kesalahan, secara otomatis akan dilemparkan sebuah objek yang disebut exception. Proses
   pelemparan exception tersebut dikenal dengan istilah throwing exception, sedangkan proses
   penerimaan exception disebut catch exception.
   Agar kesalahan karena eksepsi dapat dikendalikan, eksepsi tersebut perlu “ditangkap”. Untuk
   menangkap sebuah eksepsi, java menyediakan pernyataan try. Pernyataan ini memiliki 2
   bentuk.

       1.
              try {
                  statemen-statement yang akan ditangkap jika terjadi eksepsi;
                  ………………..;

              } catch (parameter) {
                 statemen yang akan dijalankan jika terjadi eksepsi;
                 ………………..;
              }



            Pada block catch ; merupakan statement-statement yang akan digunakan atau
            dijalankan jika hanya terjadi kesalahan pada saat blok try dijalankan. Sedangkan
            parameter pada blok catch; merupakan nama kelas yang berhubungan dengan
            penanganan eksepsi yang mungkin terjadi dan diikuti dengan nama parameter
            tersebut.
            Pada contoh program 8.1, parameter yang digunakan adalah r yang berkelas
            RuntimeException. Bagian ini akan dijalankan hanya jika statemen yang terletak
            di dalam blok try mengalami eksespsi. Parameter tersebut dapat berupa :
              – Throwable t
              – Error e
              – Exception e
              – IOException e
              – RuntimeException r.

                                                                                           26
       Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




     Java menyediakan berbagai kelas untuk menangani suatu eksepsi. Kelas tertinggi
     yaitu Throwable. Dari kelas tersebut terdapat subkelas dengan nama Error dan
     Exception. Subkelas Error umumnya digunakan untuk menangani kesalahan yang
     terjadi pada penggunaan memori, seperti penggunaan memori di luar kapasitas yang
     telah ditentukan (OutOfMemoryError). Sedangkan subkelas Exception mempunyai
     subkelas IOException dan RuntimeException. IOException digunakan untuk
     menangani kesalahan yang mungkin terjadi pada saat penggunaan alat-alat
     input/output. Sedangkan subkelas RuntimeException digunakan untuk menangani
     eksepsi seperti penggunaan index array yang melebihi kapasitas yang telah
     ditentukan atau kesalahan yang mungkin terjadi pada operasi aritmatika.

     Berikut adalah contoh penulisan program java untuk menangani eksepsi yang
     terjadi dengan menggunakan bentuk try-catch.


      contoh program 8.1
      nama file : handlingeksepsi.java

      class handlingeksepsi {
        public static void main(String[] args) {
          try {
            for (int i=0; i<=9; i++) {
              System.out.println("Nilai i = "+i);
              if (i==5) { System.out.println(i/0); }
            }
          } catch (RuntimeException r) {
              System.err.println("Terjadi kesalahan pembagian dengan nilai 0");
          }
          System.out.println("System.out.println(\"Dengan menggunakan try, kesalahan yang
      mungkin \n terjadi tidak mengakibatkan deadlock (eksekusi tidak dihentikan), \n
      buktinya statement ini dijalankan.........\");");
        }
      }



2.
      try {
          statemen-statement yang akan ditangkap jika terjadi eksepsi;
          ………………..;

      } finally {
          statemen yang akan dijalankan jika terjadi/tidak terjadi suatu eksepsi;
          ………………..;
      }




      Pada blok finally, statemen yang ada di dalam blok finally tetap akan dijalankan –
      tidak tergantung apakah statemen yang terdapat pada blok try mengalami eksepsi
      atau tidak. Contoh programnya dapat dilihat pada program 8.2.




                                                                                            27
                  Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak




            contoh program 8.2
            nama file : tryfinally.java

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

                  try {
                    for (int i=0; i<=9; i++) {
                       System.out.println("Nilai i = "+i);
                       if (i==5) System.out.println(i/0);
                    }
                  } finally {
                     System.out.println("Terjadi kesalahan pembagian dengan nilai 0, ");
                  }
                 System.out.println("Tetapi statemen di dalam blok finally tetap dijalankan....");
                }
            }



          Bentuk lain dalam penulisan statemen try adalah :

            try {
                ………………..;
            } catch (Exception x) {
                ………………..;
            } catch (Exception x) {
                ………………..;
            } catch (Exception x) {
                ………………..;
            finally {
                ………………..;
            }




Tugas Praktikum :
   1. Tulis program penanganan eksepsi dengan menggunakan try-catch bertingkat.
   2. Buatlah kode sumber dengan menggunakan keyword throw & throws untuk menangani
      exeception yang mungkin terjadi.




                                          Modul Praktikum IX

                             Kelas java.lang.System dan Runtime

Tujuan :
   Mengetahui standar input/output, property sistem pada bahasa Java


Pendahuluan
   Kelas java.lang.system merupakan kelas yang sangat penting dalam Java. Pada modul-modul
   sebelumnya, Anda sebenarnya telah menggunakan kelas ini, yakni untuk mencetak data ke
   layar dengan pemanggilan System.out.println.
   Kelas System disediakan oleh Java, agar programmer Java bisa mengakses sumber daya
   sistem, seperti properti sistem, standar input/output dengan lebih mudah.
                                                                                                     28
                     Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



   Berbeda dengan kelas-kelas yang lain pada umumnya, untuk menggunakan kelas ini Anda
   tidak perlu melakukan instansiasi variabel bertipe objek System dengan operator new. Anda
   langsung mengacu ke fungsi atau member variabel dari kelas ini, seperti :

                       System.in
                       System.out
                       System.err


Salah satu member variabel dari kelas ini yang sudah sering Anda pakai adalah System.out, yaitu
member variabel ini memiliki fungsi untuk mencetak data ke layar, yaitu System.out.println()
atau System.out.print(), namun tidak langsung diakhiri dengan karakter Enter. Fungsi ini bisa
mengandung parameter dengan tipe data apapun yang ada dalam Java.
System.err merupakan variabel yang menjadi standar error, variabel ini digunakan untuk
mencetak pesan kesalahan ke layar. Fungsi umum yang digunakan sama persis dengan fungsi
pada System.out, yaitu System.err.println() dan System.err.print().

System.in merupakan variabel yang menjadi standar input, penggunaan input stream cenderung
lebih sukar dari pada untuk mencetak data ke layar. Penggunaan umumnya adalah sebagai
berikut :

    import.java.io.*;

    BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));



Tampak pada penggunaan di atas, Anda bisa menggunakan variabel input yang memiliki fungsi
readLine() untuk membaca sebaris masukan. Perlu diperhatikan bahwa, ketika melakukan
pembacaan dari standar input ini, Anda harus mengimpor paket java.io.* dan method
menggunakan pembacaan ini harus throws IOException.
Berikut adalah contoh program sederhana yang menggunaan kelas java.lang.System yang
berfungsi untuk membaca data yang dimasukkan oleh user melalui keyboard.

     // contoh program 9.1
     // nama file : input.java

     import java.io.*;

     class input {
      public static void main(String[] args) throws IOException{
        System.out.print("Masukkan sembarang karakter dari keyboard : ");

             BufferedReader bacadata = new BufferedReader(new InputStreamReader(System.in));

             String input = bacadata.readLine();
             System.out.println("Data yang Anda masukkan adalah : "+input);
         }
     }


import java.io.*, digunakan untuk mengimpor paket java.io.* yang diperlukan untuk proses
pembacaan data yang dimasukkan melalui keyboard. Jadi penulisan import.java.io.* harus
dideklarasikan (harus ada), apabila program yang kita buat menangani proses pemasukan data.

Statemen throws IOException berfungsi untuk menangani kesalahan I/O yang mungkin terjadi
pada saat pemasukan data oleh user yang nantinya kesalahan tersebut akan dilemparkan ke
bagian exception.



                                                                                               29
                     Modul Praktikum Laboratorium Komputer Rekayasa Perangkat Lunak



Sedangkan statement String input = bacadata.readLine(), berfungsi membaca masukan dari
standar input, kemudian data tersebut disimpan dalam variabel input yang bertipe String.

Berikut contoh lain dari penggunaan kelas java.lang.system :

    // contoh program 9.2
    // nama file : demoIO.java

    import java.io.*;

    class demoIO {
     public static void main(String[] args) throws IOException {
       byte[] data = new byte[7];

            System.out.println("Masukkan 7 buah karakter ");
            System.in.read(data);

            System.out.print("Karakter yang anda masukkan : ");
            for (int i=0; i<data.length; i++) {
              System.out.print((char)data[i]);
            }
        }
    }



Contoh lain dari penggunaan kelas java.lang.System seperti pada contoh program 3.1 yang
sebenarnya telah ternah kita gunakan pada modul-modul sebelumnya.


Tugas Praktikum :
   Buatlah contoh program yang lain yang menangani proses pemasukan data seperti : data
   nama, alamat tempat tanggal lahir dan sebagainya.




                                                                                      30

								
To top