Melayani Dengan Riang Gembira

dan DOA

Cari di Blog Ini

Berubah tanpa ilmu adalah perubahan sia-sia

Yang abadi dalam kehidupan di dunia adalah perubahan, dengan ilmu perubahan menjadi terarah.

Orang cerdas itu adalah orang yang berencana untuk besok hari

Maka disiplin adalah bagian dari rencana.

10 Desember 2020

Use Case Diagram

Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.

Menurut Rosa dan M. Shalahuddin (2011: 130) mengungkapkan: “Use case merupakan pemodelan untuk melakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.”

Menurut M. Rosidi Zamroni, dkk (2013: 490) mengungkapkan bahwa:

“Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem yang menjelaskan keseluruhan kerja sistem secara garis besar dengan mempresentasikan interaksi antara aktor yang dibuat, serta memberikan gambaran fungsi-fungsi pada sistem tersebut.”

Jadi, dapat disimpulkan bahwa Use Case adalah langkah-langkah atau urutan kegiatan yang dilakukan aktor dan sistem informasi yang akan dibuat. Berikut ini adalah tabel simbol atau lambang yang digunakan dalam membuat use case yaitu:



Bahasa XML

XML adalah singkatan dari eXtensible Markup Language. Bahasa markup adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunaan tag.

XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data (informasi tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah sebuah standar sederhana yang digunakan untuk medeskripsikan data teks dengan cara self-describing (deskripsi diri).

Extensible Markup Language (XML) adalah bahasa markup yang diciptakan oleh konsorsium World Wide Web (W3C). Bahasa ini berfungsi untuk menyederhanakan proses penyimpanan dan pengiriman data antarserver.

Apa Perbedaan XML dengan HTML?

Seperti yang sudah dijelaskan di atas, fungsi utama XML adalah untuk menyimpan dan mengirimkan data. Sedangkan fungsi utama HTML adalah untuk menampilkan data.

Selain itu, Anda bisa menggunakan tag apapun di XML. Lain halnya dengan HTML yang membutuhkan tag-tag khusus (predefined tags) untuk menjalankan fungsinya.

Untuk melihat perbedaan XML dan HTML secara lebih jelas, mari kita lihat cara keduanya mendeskripsikan konten yang sama. 

Pertama-tama, berikut adalah cara HTML menampilkan data:

<html>
<head>
<title>judul</title>
</head>
<body> 
 <h1>Daftar Produk PT.A</h1> 
 <h2>Produk Pertama</h2> 
 <p>Produk pertama dapat membantu meningkatkan daya tahan tubuh</p> 
 <p><b>Harga: Rp. 20.000</b></p> 
 <p><b>Ongkir: Rp. 5000</b></p>
</body>
</html>

Seperti yang Anda lihat, HTML menggunakan tag-tag khusus seperti <h1>, <h2>, atau <p> untuk mendefinisikan struktur kontennya. 

Selain itu, Anda juga bisa melihat bagaimana datanya akan ditampilkan. Contohnya pada bagian harga dan ongkir, ada tag <b> yang membuat datanya tampil dalam bentuk cetak tebal (bold).
Sekarang, mari kita lihat gambaran isi file XML:

<productlisting title:”Daftar Produk PT.A”> 
 <product> 
  <nama>Produk Pertama</nama> 
  <deskripsi>Produk pertama meningkatkan daya tahan tubuh</deskripsi> 
  <harga>Rp. 20.000</harga> 
  <ongkir>Rp. 5000</ongkir>
 </product>
</productlisting>

Jadi, Anda bisa melihat isi konten dari tagnya.

Contohnya seperti <nama>, <deskripsi>, dan <harga>. Ini juga menunjukkan bahwa Anda bebas menentukan tag apapun.

Akan tetapi, tak ada satupun tag yang terkait dengan tampilan konten. 
Untuk mempermudah pemahaman, berikut adalah tabel perbandingan XML dengan HTML:

XML
Berfungsi untuk menyimpan dan mengirimkan data.
Bebas menggunakan tag yang Anda buat sendiri.

HTML  
Berfungsi untuk menampilkan data.
Harus menggunakan tag-tag tertentu untuk menjalankan fungsinya.


Berikut ini adalah contoh sebuah struktur dokumen XML:


<?xml version="1.0" encoding="ISO-8859-1"?>   Standard Header

<email> Elemen root

 

<to>Andi </to>

 

<from>Yadi Utama</from>

Elemen child

<subject>Hallo</subject>

 

<message>Selamat Pagi…</message>

 

</email>

Baris pertama pada dokumen XML di atas adalah deklarasi standar header yang mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML. Dalam dokumen ini, XML mengacu pada versi 1.0 dan menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European).

Baris selanjutnya menggambarkan elemen induk (root) dokumen “<email>..</email>”, sebagaimana bahwa “Dokumen ini adalah sebuah Email”. Kemudian baris ke 3-6 menggambarkan elemen anak (child) dari elemen induk dokumen. Tag pada dokumen XML bersifat case sensitif di mana tag pembuka dan tag penutup harus ekivalen. Seperti contoh tag pembuka “<email>” harus ditutup dengan tag “</email>”.

Sedangkan untuk struktur bahasa XML pada Android digunakan untuk membangun layout yang akan dijadikan tampilan aplikasi pada Android. Berikut ini adalah contoh sebuah struktur XML pada Android:

 

<?xml version="1.0" encoding="utf-8"?>

                 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

                 android:orientation="vertical"

                 android:layout_width="fill_parent"

                 android:layout_height="fill_parent"/>

 

<EditText

                 android:layout_width="fill_parent"

                 android:layout_height="wrap_content"

                 android:id="@+id/txtInput"

                 android:layout_gravity="center_horizontal"

                />

         

                <Button

                 android:layout_width="150px"

                 android:layout_height="wrap_content"

                 android:id="@+id/btnInput"

                 android:layout_gravity="center_horizontal"

                 android:text="Tampilkan"

                 />

 

<TextView

                 android:layout_width="fill_parent"

                 android:layout_height="wrap_content"

                 android:id="@+id/txtHasil"

                 android:gravity="center_horizontal"

                 android:typeface="sans"

<TextView

                 android:layout_width="fill_parent"

                 android:layout_height="fill_parent"

                 android:gravity="center_horizontal"

                 android:typeface="sans"

                 />

</LinearLayout>


27 November 2020

Menerapkan PJJ via Blogger Keharusan Guru-Guru di Era Pandemi dan Pasca Pandemi


Sumber gambar: Media Indonesia.com

Pembelajaran jarak jauh (PJJ) yang dilakukan oleh Guru maupun Dosen di era Pandemi ini dalam prakteknya tidak berjalan optimal. 
Fakta yang terjadi di lapangan para Guru dan Dosen hanya memberikan tugas-dan tugas pada siswa dengan minimnya pembelajaran itu sendiri yang dilakukan guru.

Realita ini membuat orang tua siswa menjadi repot membantu anaknya dalam menjawab pertanyaan maupun tugas yang harus dilakukan oleh siswa.

Hal ini terjadi akibat pembelajaran yang terjadi diberikan  hanya via lembaran-lembaran tulisan di media PDF yang dikirimkan ke siswa serta pemberian tugas-tugas, sedangkan kegiatan pembelajarannya oleh Guru tidak terjadi/berlangsung. 

Dengan Media Blog yang dikelola secara serius akan dapat membantu PJJ,  dimana  didalam halaman blog tersebut dapat dimuat beberapa hal penting dalam pembelajaran.

Pertama:  Blog dapat memuat  media Video Pembelajaran 
Dengan adanya video pembelajaran yang dimuat di blog, maka hal ini dapat mengganti kegiatan Tatap Muka Pembelajan di ruang kelas. Guru dapat menerangkan materi pembelajaran sesuai dengan kompetensi yang mau diajarkan sejelas-jelasnya dalam video tersebut.

Kedua :  Blog dapat memuat Materi Pembelajaran secara utuh, mulai dari Kompetensi Dasar yang harus dikuasai siswa,  Artikel Materi Pembelajaran,  maupun Tujuan Pembelajaran.

Ketiga : Blog dapat membuat Penugasan atau Penilaian pada siswa  melalui pembuatan soal secara Daring

Keempat : Blog dapat memuat addsen Google yang menjadi pendapatan sampingan seorang guru.

Jadi idealnya, setiap guru mata pelajaran masing-masing membuat blog yang intisari isinya seperti poin-poin di atas. Dengan demikian, siswa dapat belajar sebelum tatap muka pembelajaran, pada masa pembelajaran maupun sesudah pembelajaran.

Penulis telah melakukan kegiatan di atas,  dan sampai saat ini pendapatan dari addsense google baru sebesar $US 15.79 mudah-mudahan akan terus meningkat.   Amiin YRA.


Sebagai contoh  Menerapkan PJJ via Blogger Keharusan Guru-Guru di Era Pandemi dan Pasca Pandemi ada pada halaman ini. : http://www.damankom.com/2020/07/pengertian-algoritma.html

Blogger guru itu merupakan implentasi praktis dalam menunjang kemerdekaan belajar dan pembelajaran. Sebagaimana dikatakan oleh Mendikbud Nadiem Makarim, "Kebijakan Merdeka Belajar memberi kemerdekaan setiap unit pendidikan berinovasi. Konsep ini harus menyesuaikan kondisi di mana proses belajar mengajar berjalan, baik sisi budaya, kearifan lokal, sosio-ekonomi maupun infrastruktur," jelas Mendikbud.

Kapanpun dan dimanapun selama siswa terkoneksi dengan internet ia dapat merdeka dalam belajar di saat pandemi maupun pasca pandemi.


14 Oktober 2020

Menerapkan Penanganan Error Dalam Mendeteksi Kesalahan Program

Indikator Pencapaian Kompetensi dan Tujuan Pembelajaran

IPK Pengetahuan

  1. Menjelaskan konsep error handling (penanganan kesalahan) dalam pemrograman aplikasi berorientasi obyek.
  2. Menjelaskan prosedur error handling (penanganan kesalahan)dalam pemrograman aplikasi berorientasi obyek.
  3. Menganalisis penanganan kesalahan (error handling) dalam pemrograman aplikasi berorientasi obyek.
  4. Menerapkan error handling (penanganan kesalahan)dalam pemrograman aplikasi berorientasi obyek.
  5. Merancang program aplikasi berorientasi obyek dengan penerapan error handling (penanganan kesalahan).

IPK Keterampilan

  1. Membuat kode program aplikasi berorientasi obyek yang menerapkan error handling (penanganan kesalahan).
  2. Menguji program aplikasi berorientasi obyek yang menerapkan error handling (penanganan kesalahan).
  3. Memperbaikipenanganan kesalahan(error handling) dalam program aplikasi berorientasi obyek.
  4. Memodifikasipenanganan kesalahan(error handling) dalam program aplikasi berorientasi obyek.

TujuanPembelajaran

Setelah melalui kegiatan diskusi, menggali informasi, presentasi dan tugas praktek diharapkan peserta didik akan dapat :
  1. Siswa dapat Menjelaskan konsep penanganan error dalam PBO dengan benar.
  2. Siswa dapat Menjelaskan prosedur penanganan error dalam pemrograman aplikasi berorientasi obyek dengan baik.
  3. Menerapkan prosedur penanganan error dalam pemrograman aplikasi berorientasi obyek dengan baik

Materi Kegiatan Pembelajaran

Syntax Error,  Runtime Error dan Logic Error

Error dapat saja terjadi dalam pemrograman. Secara garis besarnya, error dalam pemrograman Java ini ada beberapa jenis, yaitu :

Syntax error
Runtime error
Logic error


Syntax error

Syntax adalah aturan penulisan yang sudah ditetapkan pada struktur elemen – elemen dalam bahasa pemrograman.  Dalam bahasa umum sintaks error adalah kesalahan penulisan kata/kalimat

Jadi syntax error ini adalah kesalahan dalam coding karena aturan penulisan yang tidak sesuai atau kesalahan pada konstruksi kode, misalnya :
  • Salah dalam menuliskan keyword Java
  • Tidak menggunakan tanda kurung kurawal untuk pernyataan
  • Tidak menggunakan tanda atau karakter yang sesuai, misalnya tidak menggunakan tanda ” “, untuk tipe data String.
Syntax error ini mudah ditelusuri atau ditemukan karena compiler akan memberi tahu kita di mana letak kesalahan dalam penulisan kode program.

Sebagai contoh :

public class SelamatDatang {
   
    public static void main(String args []){
        //Seharusnya "Selamat datang di pemrograman Java"
        System.out.println(Selamat datang di pemrograman Java");
   
    }
   
}


Kode di atas memiliki error, yaitu seharusnya teks Selamat datang di pemrograman Java berada dalam tanda ” “.

Oleh karena itu, setelah anda melakukan compile, maka compiler akan memberi tahu error tersebut seperti gambar di bawah ini :


Kesalahan ditunjukan pada baris ke 15 oleh compiler.
Syntax Error biasanya terjadi karena kesalahan penulisan. Mungkin kekurangan sebuah perintah di Java atau lupa untuk menulis tanda titik koma pada akhir pernyataan. 

Java mencoba untuk megisolasi error tersebut dengan cara menunjukkan baris dari kode dan terlebih dahulu karakter yang salah dalam baris tersebut. 

Bagaimanapun juga, error belum tentu berada pada titik yang ditunjuk. 

Kesalahan umum lainnya adalah dalam kapitalisasi, ejaan, penggunaan dari karakter khusus yang tidak benar, dan penghilangan dari pemberian tanda baca yang sebenarnya. 

Runtime Error

Runtime error merupakan salah satu jenis error yang terjadi karena program secara tiba-tiba dihentikan ketika program tersebut sedang berjalan.

Runtime error ini dapat terjadi bila program tidak bisa menangani operasi yang tidak mungkin untuk dilakukan.

Contohnya runtime error ini dapat terjadi karena :

Ketika program meminta user untuk menginputkan angka, namun user malah menginputkan huruf
Ketika melakukan perhitungan pembagian angka 1 dengan 0
Sebagai contoh:

public class CekError {
   
    public static void main(String args []){
        //membagi angka 1 dengan angka 0
        System.out.println( 1 / 0 );
   
    }
   
}

public class CekError {
   
    public static void main(String args []){
        //membagi angka 1 dengan angka 0
        System.out.println( 1 / 0 );
   
    }
   
}
Pada program di atas akan menampilkan pesan error karena program di minta untuk membagi angka 1 dengan angka nol. Pada command prompt akan menampilkan pesan error seperti di bawah ini :

Runtime error pada pemrograman Java
Runtime error pada command prompt pemrograman Java
Demikian pula jika kode diatas di jalankan pada IDE Netbeans ataupun Eclipse, maka compiler akan memberikan pesan dan tanda runtime error yang terjadi.

Logic error

Logic error terjadi bila program berjalan dan tidak memberikan hasil seperti yang diinginkan.


Misalnya anda membuat program konversi dari nilai centimeter ke nilai milimeter.

Seperti sudah diketahui bahwa :

1 cm = 10 mm

Contoh program  sederhananya :

public class Konversi {
   
    public static void main(String args []){
       
        System.out.println("1 cm itu sama dengan ");
        //Konversi cm ke mm
        System.out.println( 1.0 / 10.0 + "mm");
   
    }
   
}
public class Konversi {
   
    public static void main(String args []){
       
        System.out.println("1 cm itu sama dengan ");
        //Konversi cm ke mm
        System.out.println( 1.0 / 10.0 + "mm");
   
    }
   
}
Setelah mengeksekusi program di atas, maka akan terlihat pada command prompt seperti di bawah ini:

Program di atas berjalan dengan mulus ketika dieksekusi baik ketika menggunakan IDE Netbeans ataupun Eclipse, namun bila diperhatikan terlihat nilai bahwa 1 cm itu sama dengan 0.1 mm, tentu saja ini adalah hal yang salah, dan inilah yang disebut dengan logic error.



Runtime Error


Sebuah program yang berhasil dikompile belum tentu berhasil di jalankan. Inilah yang dinamakan Run time error, kesalahan ini tidak akan ditampilkan sampai kita menjalankan program tersebut. Hal ini bisa saja terjadi misalnya dikarenakan struktur yang di buat programmer tidak jelas atau mungkin tidak logis.

Exception Handling

1) Dasar Exception

Exception adalah sebuah event yang menjalankan alur proses normal pada program. Event ini biasanya berupa kesalahan(error) dari beberapa bentuk. Ini disebabkan program kita berakhir tidak normal. Dalam bahasa java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang kemudian dapat diproses lebih lanjut oleh method yang siap menangani kesalahan tersebut.

Method tersebut dapat dipilih untuk menangani exception berdasarkan tipe tertentu.Exception dapat muncul tidak beraturan dalam suatu method, atau dapat juga dibuat secara menual dan nantinya melaporkan sejumlah keadaan kesalahan ke method yang memanggil.

2) Tipe-Tipe Exception

Beberapa exception yang telah digunakan dalam begian-bagian terdahulu adalah ArithmeticException, FileNotFoundException, dan InputMisMatchException.

 

Masih banyak kelas exception lain yang digunakan dalam java, antara lain NullPointerException,ClassNotFoundException,IOException, RunTimeException, IndexOutOBoundsException, IllegalArgumentException

Kelas Throwable merupakan akar dari semua kelas exception.Semua kelas exception java mewarisi secara langsung atau tidak langsung dari Throwable. Kita bisa menciptakan kelas exception sendiri dengan cara mewarisi exception atau subclass exception. 

Kelas-kelas exception dapat diklasifikasikan menjadi 3 tipe utama : error system, exception, dan exception runtime.

Error system dilempar oleh JVM dan direpresentasikan oleh kelas Error. Kelas error mendeskripsikan error internal. Error semacam ini jarang terjadi. Jika terjadi, kita dapat memberitahukan kepada user dan menghentikan program secara normal.

Kelas-kelas exception dapat diklasifikasikan menjadi 3 tipe utama : error system, exception, dan exception runtime.

Penanganan Exceptions

Untuk menangani exception dalam java, kita gunakan blok try-catch-throwthrows-finally. Apa yang kita lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin menghasilkan exception dalam blok ini.

Bentuk umum dari blok try-catch-finally adalah :

Listing Program

   try{

      //tulis pernyataan yang dapat mengakibatkan exception

      //dalam blok ini

  }

  catch( <exceptionType1><varName1> ){

     //tulis aksi apa dari program Anda yang dijalankan jika ada

     //exception tipe tertentu terjadi

  }

Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok catch. Kode dalam blok finally selalu di-eksekusi.


class ContohEksepsi1 {

  public static void main(String[] args) {

    int pembilang = 2;

    int penyebut = 0;

    try {

      int hasil = pembilang/penyebut; // menimbulkan eksepsi

      System.out.println("Hasil = " + hasil); // tidak dieksekusi

    } catch (ArithmeticException ae) {

      System.out.println("KESALAHAN: " +

        "Terdapat pembagian dengan nol");

    }

    System.out.println("Statemen setelah blok try-catch");

  }

}

 

 

class ContohEksepsi2 {

  public static void main(String[] args) {

    int pembilang = 2;

    int penyebut = 0;

    try {

      int hasil = pembilang/penyebut;         // SALAH

      System.out.println("Hasil = " + hasil); // tidak dieksekusi

    } catch (Exception e) {

      System.out.println("KESALAHAN: " +

        "Terdapat pembagian dengan nol");

    }

    System.out.println("Statemen setelah blok try-catch");

  }

}

 

class ContohEksepsi3 {

  public static void main(String[] args) {

    int pembilang = 2;

    int penyebut = 0;

    try {

      int hasil = pembilang/penyebut;         // SALAH

      System.out.println("Hasil = " + hasil); // tidak dieksekusi

    } catch (Exception e) {

      System.out.println(e.getMessage());

    }

    System.out.println("Statemen setelah blok try-catch");

  }

}

 

 

class ContohEksepsi4 {

  public static void main(String[] args) {

    int pembilang = 2;

    int penyebut = 0;

    try {

      int hasil = pembilang/penyebut;         // SALAH

      System.out.println("Hasil = " + hasil); // tidak dieksekusi

    } catch (Exception e) {

      e.printStackTrace();   // mencetak stack trace

    }

    System.out.println("Statemen setelah blok try-catch");

  }

}

 Demo Finaly

 class DemoFinally {          

  private static int i = 0;

 

  public static void main(String[] args) {   

    while (true) {

      try {

        System.out.print("Pada saat i = " + i + ": ");

        if (i++ == 0) {

          throw new Exception();  // melempar eksepsi

        }

        System.out.println("Tidak terjadi eksepsi");

             } catch (Exception e) {

        System.out.println("Terdapat eksepsi");

             } finally {

        System.out.println("Statemen dalam blok finally\n");

        if (i == 2) {

          break;  // pada saat i==2, pengulangan akan berhenti

        }

      }

    }

  }       

}

 

 Contoh penanganan error

  

/**

 * @(#)RunTimeExceptionError.java

 *

 *

 * @author

 * @version 1.00 2019/9/10

 */

 

 

public class RuntimeExceptionTest {

 

            public static void main(String[] args){

            int i = Integer.parseInt("abc");

            System.out.println("kode setelah exception");

            }

}

 

Output yang muncul

--------------------Configuration: <Default>--------------------

Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"

    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

    at java.lang.Integer.parseInt(Integer.java:580)

    at java.lang.Integer.parseInt(Integer.java:615)

    at RuntimeExceptionTest.main(RuntimeExceptionTest.java:14)

 

Process completed.

 Cara Menangkap Error

 /**

 * @(#)RuntimeExceptionTestHandling.java

 *

 *

 * @author

 * @version 1.00 2019/9/10

 */

public class RuntimeExceptionTestHandling {

public static void main(String[] args){

            int i = 0;

            int k = 0;

            try{

            i = Integer.parseInt("50");  // mengkonversi string 50 menjadi angka integer 50  // perintahnya benar

             k = Integer.parseInt("abcd");  // mengkonversi string abcd menjadi angka integer : tapi akan error

            }

            catch(NumberFormatException ex ) {

                        System.out.println("Disini ditampilkan pesan kesalahan ! : ");

                        System.out.println("============================ ");

                        ex.printStackTrace();    // menampilkan pesan kesalahan

            }

            System.out.println("kode setelah exception var i : "+i);

            System.out.println("kode setelah exception var k : "+k);

            }

}

 


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class GetInputFromKeyboard {

        public static void main(String[] args) {

//Create BufferedReader object from Standard input device.
//Standard input device is typically a keyborad.

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

//Prompt a user to enter his/her name

        String name = "";

        System.out.println("Please Enter Your Name:");
//  Read data into name variable 
        try{
            name = dataIn.readLine(); }catch( IOException e ){
            System.out.println("Error!");

        } // Display the name System.out.println("Hello " + name +"!");

    }
}

Tugas / Penilaian

Soal Error Handling.

 A. Teori.

  1. Dalam setiap pemrograman biasanya ada 3(tiga) jenis error, sebutkan dan jelaskan dua jenis kesalahan umum dalam PBO?
  2. Sebutkanlah istilah khusus di dalam penanganan error pada PBO ?
  3. Penanganan error dalam PBO dilakukan oleh suatu class. Sebutkan dan jelaskan class yang dimaksud tersebut ?
  4. Kelas Induk penanganan error mempunyai 3 (tiga) tipe kelas turunannya, sebutkan dan jelaskan ?
  5. Tuliskan block atau sintak umum penulisan penanganan error dalam format exception ?

A. Praktek
  1. Buatlah contoh penulisan penanganan error untuk eksepsi aritmatka.
  2. Buatlah contoh penulisan penanganan error untuk eksepsi catch (Exception e).
  3. Buatlah contoh penulisan penanganan error untuk eksepsi menampilkan pesan kesalahan (Exception e) dengan menampilkan e.getMessage()
  4. Buatlah contoh penulisan penanganan error untuk eksepsi menampilkan penelusuran kesalahan (e.printStackTrace())
  5. Buatlah contoh penulisan penanganan error melalui prosedur eksespsi finaly

13 Oktober 2020

Menganalisis Pemanfaatan Class Built_in

Indikator  Pencapaian Kompetensi dan Tujuan Pembelajaran

IPK Pengetahuan

  1. Menjelaskan konsep  class built-in dari  kumpulan class dalam PBO.
  2. Menjelaskan prosedur pemanfaatkan class built-in dalam aplikasi PBO.
  3. Menerapkan langkah-langkah dalam pemanfaatan class built-in PBO 

IPK Keterampilan

  1. Merancang program aplikasi berorientasi obyek dengan memanfaatkan class built-in
  2. Membuat kode program aplikasi berorientasi obyek yang memakai  class built-in.
  3. Menguji program aplikasi berorientasi obyek dengan dukungan class built-in.

Tujuan Pembelajaran

Setelah melalui kegiatan diskusi, menggali informasi, presentasi dan tugas praktek diharapkan peserta didik akan dapat :
  1. Siswa dapat Menjelaskan konsep class built-in dalam pemrograman aplikasi berorientasi obyek dengan benar.
  2. Siswa dapat Menjelaskan prosedur pemanfaatan class built-in dalam pemrograman aplikasi berorientasi obyek dengan baik.
  3. Menerapkan prosedur pemanfaatan class built-in dalam pemrograman aplikasi berorientasi obyek dengan baik
  4. Siswa dapat merancang program aplikasi dalam dukungan class built-in

Materi Kegiatan Pembelajaran

Class Built in

~ Built in class adalah class-class yang secara langsung disediakan oleh java, user dapat langsung menggunakan tanpa perlu mendefinisikan sendiri.

Import built in class dengan menggunakan keyword import.

Contoh: import.java.util.scanner;

Buat instance dari class tersebut.




Scanner input=New Scanner (System.in);

Tanda titik digunakan oleh java sebagai pemisah antara instance dengan method/atribut.
input.nextLine();

Class String

 Sintaks: String <nama.variabel>="deklarasi";

String merupakan class, namun demikian khusus untuk String, instansiasi dapat dilakukan tanpa menyertakan new dan method construktornya. adalah Class String. Dalam Java, string dapat digunakan menggunakan array dari character atau disederhanakan dengan menggunakan class String

 Sintak standar seharusnya seperti ini:

  String str=New String ("ini contoh String");

Namun cukup dituliskan:
String str="ini contoh String";

Method-Method dalam class String

  1. Equais
  2. Equais Ignorecase
  3. Compareto
  4. Substring
  5. Length
  6. Tolowercase
  7. Tolippercase
  8. Trim
  9. CharAt
  10. Index Of

Class StringBuffer, class ini serupa dengan objek string, kecuali kenyataan bahwa objek String Buffer bersifat dapat berubah atau dapat dimodifikasi, sedangkan pada object String bersifat konstan.

 

Class Math

Math adalah class yang terdapat paket java. Yang berisi fungsi-fungsi matematika dan konstanta penting dimatematika. class math.Class yang dapat berisi method untuk menunjukkan perbedaan operasi matematika seperti fungsi trigonometri dan logaritma.

Selama method-method ini semua static, kita dapat menggunakannya tanpa memerlukan sebuah objek Math.

  Contoh:

• Y= math.Cos (PT/2);

• Y= math.Sqrt (16);

• Y= math.Pow (3.2);

• Y= math.abs (-3);

 

  Ex:

Public class main{

Static void test(){

         double d2= math.Sqrt (d1);

         double d3= math.Pow (2.3);

         System.out.println ("d2="+d2);

         System.out.printlm ("d3="+d3);

}

Public Static void main (String[]args) {

 test();

 }

}

Contoh Class Built In : Class Math dan Class String.
Class Math adalah kelas yang berisi fungsi-fungsi matematika dan konstanta penting dimatematika.

Class String 
karena java tidak menyediakan variabel tipe primitive yang langsung mengakses kumpulan karakter/kata maka disediakanlah class string.
Pseudecode : 
String <nama_variabel> : "deklarasi";

String merupakan class namun demikian untuk string instansiasi dapat dilakukan tanpa menyertakan new dan method constuktornya.
 Seharusnya penulisan seperti ini :
String str = new string ("ini contoh string") ;
 Cukup dituliskan :
String str = "ini contoh string" ;


  class DemoMembuatString {           

  public static void main(String[] args) {

       

    char[] arr = {'a','b','c','d','e'};

   

    String s1 = "Contoh string literal";

    String s2 = new String();

    String s3 = new String(arr);

    String s4 = new String(arr, 1, 3);

    String s5 = new String(s1);

   

    System.out.println("s1: " + s1);

    System.out.println("s2: " + s2);

    System.out.println("s3: " + s3);

    System.out.println("s4: " + s4);

    System.out.println("s5: " + s5);

  }

}











 Program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output. 

Input: nilai yang kita masukan ke program
Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
Output: hasil pengolahan

Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.

Java sendiri sudah menyediakan tiga class untuk mengambil input:
  1. Class Scanner;
  2. Class BufferReader;
  3. dan Class Console.

Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.

Sementara untuk outputnya, Java menyediakan fungsi print()println(), dan format().

Mengambil Input dengan Class Scanner

Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:

import java.util.Scanner;

Lebih jelasnya…buatlah paket baru bernama pertemuan2 pada source packages. 

Klik kanan pada souce packages, kemudian pilih new package:
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:
Berikan nama: DataKaryawan. Kemudian klik Finish:

Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2;
 
// mengimpor Scanner ke program
import java.util.Scanner;
 public class DataKaryawan {
     public static void main(String[] args) {
        // deklarasi variabel
        String nama, alamat;
        int usia, gaji;
         // membuat scanner baru
        Scanner keyboard = new Scanner(System.in);
         // Tampilkan output ke user
        System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
        System.out.print("Nama karyawan: ");
        // menggunakan scanner dan menyimpan apa yang diketik di variabel nama
        nama = keyboard.nextLine();
        // Tampilkan outpu lagi
        System.out.print("Alamat: ");
        // menggunakan scanner lagi
        alamat = keyboard.nextLine();
        System.out.print("Usia: ");
        usia = keyboard.nextInt();
        System.out.print("Gaji: ");
        gaji = keyboard.nextInt();
         // Menampilkan apa yang sudah simpan di variabel
        System.out.println("--------------------");
        System.out.println("Nama Karyawan: " + nama);
        System.out.println("Alamat: " + alamat);
        System.out.println("Usia: " + usia + " tahun");
        System.out.println("Gaji: Rp " + gaji);
    }
 }

Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.

Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().

Begitu juga dengan tipe data lain, Integer menggunakan nextInt()Double menggunakan nextDouble(), dsb.

Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].

 Mengambil Input dengan Class BufferReader

Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.

Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.

Class ini terletak di dalam paket java.io.

Silahkan diimpor untuk dapat menggunakan class BufferReader.

 

import java.io.BufferedReader;

Silahkan buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut ini.

package pertemuan2;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ContohBufferReader {
    public static void main(String[] args) throws IOException {
        String nama;
        // Membuat objek inputstream
        InputStreamReader isr = new InputStreamReader(System.in);
        // membuat objek bufferreader
        BufferedReader br = new BufferedReader(isr);
        // Mengisi varibel nama dengan Bufferreader
        System.out.print("Inputkan nama: ");
        nama = br.readLine();
        // tampilkan output isi variabel nama
        System.out.println("Nama kamu adalah " + nama);
    }
}

Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader dan class IOException.

Sekarang mari kita coba jalankan programnya:

Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau method yang dipakai.

Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().

Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja. Hal ini dapat kita lihat dalam hint autocomplete .

Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .

Mengambil Input dengan Class Console

Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi readLine() untuk mengambil input.

Akan tetapi… Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.

import java.io.Console;

Mari kita coba…

Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:

import java.io.Console;

 public class InputConsole {

    public static void main(String[] args) {

         String nama;

        int usia;

         // membuat objek console

        Console con = System.console();

         // mengisi variabel nama dan usia dengan console

        System.out.print("Inputkan nama: ");

        nama = con.readLine();

        System.out.print("Inputkan usia: ");

        usia = Integer.parseInt(con.readLine());

         // mengampilkan isi variabel nama dan usia

        System.out.println("Nama kamu adalah: " + nama);

        System.out.println("Saat ini berusia " + usia + " tahun");

    }

}

Perhatikan: dalam kode di atas, kita menggunakan fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita mengubah tipe data String ke Integer. 

Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().

Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian masuk ke direktori tempat menyimpan kodenya.

Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.

Setelah itu, ketik perintah java InputConsole untuk menjalankannya:

 Menampilkan Output

 Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis teks.

Sekarang bagaimana dengan outputnya?

Ada beberapa fungsi yang sudah disediakan oleh Java:

1.         Fungsi System.out.print()

2.         Fungsi System.out.println()

3.         Fungsi System.out.format()

Apa saja perbedaan dari fungsi-fungsi tersebut?

 

Fungsi print() vs println()

Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.

Lalu apa bedanya?

Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan teks dengan ditambah baris baru.

Mari kita coba dalam kode:

package eksperimen;

public class PrintVsPrinln {

 

    public static void main(String[] args) {

 

        System.out.print("ini teks yang dicetak dengan print()");

        System.out.println("sedangkan ini teks yang dicetak dengan println()");

        System.out.print("pake print() lagi");

    }

}





 Sekarang lihat hasil outputnya:

Menggabungkan String

 Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.

Misalnya seperti ini:

Kita punya variabel namaDepan dan namaBelakang:

String namaDepan = "Petani";

String namaBelakang = "Kode";

Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya ke sana.

System.out.print(namaDepan);

System.out.print(namaBelakang);

Kode tersebut akan menghasilkan: PetaniKode

Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.

Contoh:

System.out.print(namaDepan + namaBelakang);

Agar ada spasi, tinggal ditambahkan saja spasi:

System.out.print(namaDepan + " " + namaBelakang);

Format String

Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan fungsi format().

Contoh:

package eksperimen;

 

public class FormatString {

    public static void main(String[] args) {

        String namaDepan = "Petani";

        String namaBelakang = "Kode";

        System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang);

    }

}

Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di sampingnya. %s artinya string.

Selain %s, ada juga simbol lain:

ü  %d untuk desimal atau angka;

ü  %f untuk bilangan pecahan;

ü  %n untuk baris baru, bisa juga pakai \n;


Kode di atas akan menghasilkan: Nama saya Petani Kode