Sunday, 31 May 2015

Contoh Program Queue Memakai Array/ Larik dalam Bahasa Java

class queue{
    int antrian[];
    int depan, belakang;
    int jumlah, ukuran;
    queue(int n){
        antrian = new int[n]; ukuran=n;
        jumlah=depan=belakang=0;
    }
    void insert(int d){
        if(jumlah<ukuran){
            antrian[belakang]=d;
            jumlah++; belakang++;
        }
    }

Contoh Program Queue Memakai Linked List dalam Bahasa Java

class simpulq{
    int data;
    simpulq prev, next;
    simpulq(int d){
        data=d;
    }
    int getdata(){ return data; }
}
class linkedlistq{
    simpulq head, tail;
    linkedlistq(){
        head=tail=null;
    }

Friday, 29 May 2015

Situs Online Judge Pemrograman

Buat para ksatria programming, baik yang pemula atau yang sudah master, silahkan uji kesaktiannya di situs online judge. Di situs tersebut akan banyak koleksi soal pemrograman yang bisa dipecahkan. Pengguna bisa bersaing dengan pengguna lainnya. Situs online judge menjadi kawah candradimuka yang pas buat teman-teman yang sedang mempersiapkan mengikuti kompetisi/ lomba pemrograman. Berikut ini beberapa alamat situsnya:

1. AIZU Online Judge. Dikembangkan oleh Universitas Aizu Jepang. Di situs ini tercatat sudah memiliki 26 volume paket soal. Setiap volume berisi sekitar 50 soal.

2. Sphere Online Judge. Sampai artikel ini dibuat, ada 14 juta lebih kiriman jawaban dari 300 ribu lebih pengguna. Koleksi problems-nya mencapai 24.000 soal untuk kategori Classical.

3. URI Online Judge. Situs ini dikembangkan oleh Departemen Ilmu Komputer Universitas Rhode Island, Amerika. Koleksinya 700 problems dalam 8 kategori utama.

Thursday, 28 May 2015

Contoh Implementasi Relasi OOP Is-A dan Has-A Memakai Bahasa Java

Berikut ini adalah contoh source code sederhana implementasi relasi Is-A dan Has-A dalam sebuah program. Studi kasusnya adalah seorang mahasiswa bisa memiliki banyak koleksi buku. Sedangkan buku sendiri bisa berupa buku teks dan buku ajar. Untuk lebih bagusnya, coding berikut ini bisa dikembangkan dengan menambahkan menu program. Selamat belajar :)

/**
 * Program ini tentang mahasiswa yang memiliki banyak koleksi buku
 * Buku bisa berupa text book, dan buku ajar
 */
class buku{
    String judul;
    String penulis;
}
class textbook extends buku{
    String penerbit;
    textbook(String j, String p, String b){
        judul=j; penulis=p; penerbit=b;
    }
}

Monday, 11 May 2015

Contoh Program Implementasi Stack Menggunakan Linked List dalam Bahasa Java

class item //atau node/simpul
{
public int data; // data item
public item next; // next node link in list
public item prev; // previous node link in list
public item(int id) // constructor
{
data = id; // initialize data
} // set to null)
public void displayLink() // display ourself
{
System.out.print("{" + data + "} ");
}
} // end class Link
class StackLinkList
{
private item top; // ref to first link on list
private item bottom; // ref to last link on list
public StackLinkList() // constructor
{
top = bottom = null; // no items on list yet
}

Sunday, 10 May 2015

Algoritma Evaluasi Hasil Persamaan Postfix

Berikut ini adalah contoh penggunaan tipe data stack untuk menghitung hasil akhir dari operasi/ formula matematis jenis postfix. Notasi postfix adalah notasi matematis dimana tanda operatornya diletakkan setelah kedua operannya. Sebagai contoh, jika dalam notas infix kita tulis A+B, maka dalam notasi postfix menjadi AB+. Berikut ini adalah algoritmanya:

opndstck = the_empty_stack
/* scan the input string, one by one element, into symb
while ( not_end_of_input_string )
{ symb = next_input_character
   if ( symb_is_an_operand )
         push ( opndstck, symb )
   else /* symb is an operator */

Wednesday, 6 May 2015

Contoh Program Penggunaan Pustaka/ Library Linked List dalam Java

Pustaka LinkedList telah disediakan oleh Java. Dengan adanya pustaka ini, membuat aplikasi linked list menjadi sangat mudah dan cepat. Jika dengan cara biasa kita harus membuat class tersendiri untuk mendefinisikan simpul/ node, dan juga linked list-nya, maka dengan pustaka LinkedList programmer cukup memanggil library tersebut dan memakainya di bagian utama (main) program.

Di dalam pustaka tersebut sudah disediakan banyak sekali method. Diantaranya method untuk menambah simpul baru, mencari simpul, hingga menampilkan isi linked list serta menduplikasi dirinya. Berikut ini contoh source code program sederhananya:

Tuesday, 5 May 2015

Contoh Program Class Container dalam OOP Memakai Bahasa Java

Dalam contoh coding berikut ini, diterapkan skema relasi Has-A dimana objek yang dimiliki oleh sebuah class berjumlah lebih dari satu. Teknik yang dipakai adalah menggunakan tipe data array/ larik dengan class sebagai tipe datanya. Contoh kasus yang diambil dalam program ini adalah aplikasi perbankan dengan asumsi sebuah Bank memiliki banyak Nasabah, dan seorang Nasabah bisa mempunyai banyak Rekening dalam bank yang sama.

Langkah-langkah untuk implementasinya adalah sebagai berikut:
1. Buat data member (variabel) bertipe array objek di dalam class pemilik.
2. Buat data member counter untuk menyimpan jumlah objek yang ada (bertambah/ berkurang).
3. Buat method untuk menambah dan menghapus objek, serta untuk menampilkan daftar semua objek yang dimiliki. Pastikan data jumlah objek poin (2) ter-update.
4. Buat pula method untuk fungsi agregat, misalnya menjumlah total saldo, total nasabah, dsb.
5. Uji cobakan di modul main() mulai dari objek yang paling rendah/ bawah.

Semoga bermanfaat, dan selamat mencoba source code berikut ini! :)

Contoh Program Relasi Has-A dalam OOP Memakai Bahasa Java

Ada dua jenis relasi secara umum dalam Object Oriented Programming (OOP), yaitu jenis Has-A, dan jenis Is-A. Relasi Has-A antara objek X dan Y dapat diartikan sebagai objek X memiliki objek Y. Sedangkan relasi Is-A antara objek M dan N dapat diartikan sebagai objek M adalah objek N. Relasi ini dikenal juga sebagai bentuk pewarisan (inheritance).

Berikut ini adalah contoh source code relasi Has-A antara class nasabah dan class rekening dalam konteks aplikasi tentang perbankan. Langkah-langkah untuk menerapkannya ke dalam bentuk coding adalah sbb:
1. Buat data member dalam class nasabah dengan tipe class rekening.
2. Buat method "bukarekening" dalam class nasabah sebagai implementasi relasi Has-A.
3. Buat objek nasabah dan objek rekening di void main().
4. Di void main(), jalankan method "bukarekening" melalui objek nasabah, dan tuliskan objek rekening ke dalam argumentasi/ parameter method tersebut.

Contoh Program Relasi Is-A dalam OOP Memakai Bahasa Java

Relasi kedua dalam OOP adalah jenis Is-A. Relasi ini dikenal juga sebagai inheritance/ pewarisan. Relasi class X Is-A class Y berarti class X adalah class Y. Sebagai dampaknya atribut (data maupun method) class Y bisa diturunkan ke class X.

Dalam bahasa Java, perintah untuk pewarisan adalah menggunakan kata "extends". Class X extends class Y berarti class X merupakan turunan dari class Y. Class Y disebut sebagai class induk, base class atau super class. Sedangkan class X disebut sebagai class anak, derived class atau sub class.

Berikut ini adalah contoh source code implementasi relasi Is-A. Ada class tabungan dan class deposito yang diwarisi dari class rekening. Sehingga bisa kita baca class tabungan adalah class rekening. Dan class deposito adalah class rekening juga.


import java.util.Scanner;
class nasabah {
    //data
    String nama;
    long ktp;
    rekening rek;

Sunday, 3 May 2015

Contoh Program Doubly Linked List Sederhana dalam Bahasa Java

class simpul{
    int data;
    simpul next, prev;
    public simpul(int d){ data=d; next=prev=null; }
    int getdata(){ return data; }
}
class doubleLL{
    simpul head, tail;
    int jumlah;
    public doubleLL(){ jumlah=0; head=tail=null; }
    void tambahdepan(int d){
        simpul baru = new simpul(d);
        if(head==null){
            head=tail=baru;
        }
        else{
           head.prev = baru;
           baru.next = head;
           head = baru;
        }
    }