Rabu, 29 Mei 2013

I/O Stream

Apa Itu I/O Stream
  • Stream adalah proses membaca data dari suatu suatu sumber (input) 
  • atau mengirimkan
  •  data ke suatu tujuan (output)
  • System.out.println() adalah contoh stream, yang berfungsi menampilkan 
  • data (informasi) ke layar
  • Variabel standard stream:
    1. System.in (default: keyboard)
    2. System.out (default: layar)
    3. System.err (default: console

Konsep I/O Stream (Input)


Konsep I/O Stream (Output)


Jenis I/O Stream
Byte Stream

       Untuk menulis atau membaca data biner
       InputStream dan OutputStream adalah dua class abstrak tertinggi 
dari Byte Stream
       Character Stream
       Untuk menulis dan membaca data karakter (unicode) 
       Reader dan Writer adalah dua class abstrak tertinggi 
dari Character Stream

Melontarkan Eksepsi (throw)

Melontarkan Eksepsi (throw)
  • Keyword throw digunakan untuk melontarkan eksepsi
  • Bentuk: throw variabelObjek;
DemoThrow.java
class DemoThrow{
                                public static void main(String[] args){
                                    RuntimeException r = new
                                RuntimeException("Eksepsi RuntimeException");
                 System.out.println("Sebelum Throw");
                 throw(r);
                                }
                }
throws untuk Eksepsi Method

Selasa, 28 Mei 2013

Apa Itu Flowchart…???


Flowchart adalah sebuah metode penggambaran alur dari logika yang kita terapkan pada sebuah algoritma. Biasanya, Flowchart adalah langkah analisa paling awal sebelum membuat sebuah algoritma atau program. Tujuan Pembuatan Flowchart sebenarnya adalah menjelaskan cara kerja program yang kita buat bagi user agar lebih mudah dimengerti. Namun seiring berkembangnya waktu, flowchart kini digunakan untuk mengajari seseorang yang termasuk “pemula” dalam dunia programming untuk menguatkan logika mereka.
Flowchart berisi simbol – simbol yang memiliki fungsi khusus. Berikut adalah simbol – simbol dalam flowchart..

Kamis, 23 Mei 2013

Pemrograman dengan Array



Versi ramah cetakVersi ramah cetak
Array merupakan jenis struktur data yang sangat dasar dan sangat penting. Teknik pengolahan array merupakan teknik pemrograman yang paling penting yang kita harus kuasai. Dua jenis teknik pengolahan array -- pencarian dan pengurutan -- akan dibahas kemudian. Bagian ini akan memperkenalkan beberapa ide dasar pengolahan array secara umum.
Dalam banyak hal, pengolahan array berarti menggunakan operasi yang sama kepada setiap elemen di dalam array. Biasanya sering dilakukan dengan perulangan for. Perulangan untuk mengolah semua elemen dalam array A dapat ditulis dalam bentuk :
// lakukan inisialiasi yang diperlukan sebelumnya
for (int i = 0; i < A.length; i++) {
    . . . // proses A[i]
}
Misalnya, A adalah array dengan tipe double[]. Misalnya kita ingin menjumlah semua nilai dalam array tersebut. Algoritma umum untuk melakukannya adalah :
Mulai dengan 0;
Tambah A[0];   (proses elemen pertama di dalam A)
Tambah A[1];   (proses elemen kedua di dalam A)
.
.
.
Tambah A[ A.length - 1 ];   (proses elemen terakhir di dalam A)
Dengan menggunakan pengetahuan yang kita telah pelajari tentang perulangan, kita bisa ubah algoritma di atas menjadi bentuk perulangan for seperti berikut:
double jumlah;  // Jumlah nilai di dalam A
jumlah  = 0;    // Mulai dengan 0
for (int i = 0; i < A.length; i++)
    jumlah += A[i];  // tambah A[i] ke dalam jumlah untuk i = 0, 1, ..., A.length - 1
Lihat bahwa kondisi kelanjutan "< A.length" menyatakan bahwa nilai i terakhir yang akan diolah adalah A.length - 1 yaitu elemen terakhir dalam array. Ingat bahwa kita menggunakan "<" bukan "<=" karena dengan "<=" komputer akan memberikan kesalahan indeks di luar batas.
Pada akhirnya, nanti Anda akan bisa membuat perulangan seperti di atas di luar kepala. Kita akan lihat beberapa contohnya. Di sini perulangan akan menghitung banyaknya elemen di dalam array A yang nilainya kurang dari nol :
int hitung;  // Untuk menghitung elemen
hitung = 0;  // Mulai dengan nol
for (int i = 0; i < A.length; i++) {
    if (A[i] < 0.0)   // Jika elemen ini kurang dari nol
        hitung++;          // tambah hitung dengan 1
}
// Di sini nilai "hitung" adalah banyaknya elemen yang kurang dari 0.
Kita bisa mengganti "A[i] < 0.0" jika kita ingin menghitung banyaknya elemen di dalam array yang memiliki sifat tertentu. Variasinya akan memiliki tema yang sama. Misalnya kita ingin menghitung banyaknya elemen di dalam array A yang sama dengan elemen sesudahnya. Elemen setelah A[i] adalah A[i+1], sehingga kita bisa mengganti klausa if dengan "if (A[i] ==A[i+1])". Akan tetapi tunggu dulu : Tes ini tidak bisa digunakan apabila A[i] adalah elemen terakhir dalam array, karena tidak ada lagi array sesudahnya. Komputer akan menolak pernyataan ini. Sehingga kita harus berhenti satu elemen sebelum array terakhir, sehingga menjadi
int hitung = 0;
// lihat kondisi for berubah dibandingkan dengan contoh sebelumnya
for (int i = 0; i < A.length - 1; i++) { 
    if (A[i] == A[i+1])
        hitung++;
}
Masalah umum lainnya adalah mencari nilai terbesar di dalam array A. Strateginya adalah lihat semua isi array, catat nilai terbesar saat itu. Kita akan simpan nilai terbesar yang kita temui dalam variabel maks. Pada saat kita melihat elemen array satu per satu, kapanpun kita melihat nilai elemen tersebut lebih besar dari maks kita akan mengganti nilai maks dengan nilai yang lebih besar tersebut. Setelah semua elemen array diproses, maka maks merupakan nilai elemen terbesar di dalam array tersebut.

Membuat dan Menggunakan Array


Jika sekumpulan data digabungkan dalam satu unit, hasilnya adalah suatu struktur data. Data struktur dapat berupa struktur yang sangat kompleks, akan tetapi dalam banyak aplikasi, data struktur yang cocok hanya terdiri dari kumpulan data berurutan. Struktur data sederhana seperti ini bisa berupa array atau record.
Istilah "record" sebetulnya tidak digunakan pada Java. Suatu record pada intinya mirip dengan objek pada Java yang hanya memiliki variabel instansi tanpa metode instansi. Beberapa bahasa pemrograman lain yang tidak mendukung objek biasanya mendukung record. Dalam bahasa C yang bukan bahasa berorientasi objek, misalnya, memiliki tipe data record, dimana pada C disebut "struct". Data pada record -- dalam Java, adalah variabel instansi suatu objek -- disebut field suatu record. Masing-masing item disebut nama field. Dalam Java, nama field adalah nama variabel instansi. Perbedaan sifat dari suatu record adalah bahwa item pada record dipanggil berdasarkan namanya, dan field yang berbeda dapat berupa tipe yang berbeda. Misalnya, kelas Orangdidefisikan sebagai :
class Orang {
    String nama;
    int nomorID;
    Date tanggalLahir;
    int umur;
}
maka objek dari kelas Orang bisa disebut juga sebagai record dengan 4 field. Nama fieldnya adalah namanomorID,tanggalLahir dan umur. Lihat bahwa tipe datanya berbeda-beda yaitu Stringint, dan Date.