Rabu, 30 April 2014

LINKED LIST


Linked list merupakan struktur data yang memiliki kelebihan dalam efisiensi memori dan kecepatan dalam menyisipkan data.
Linked list berguna untuk menyimpan beberapa data dalam memori. Komponen dasar dari suatu list disebut sebagai node. Sebuah node terdiri dari dua buah bagian. Bagian pertama adalah bagian yang memuat informasi data, bagian kedua adalah bagian yang menunjukkan alamat data berikutnya atau disebut juga dengan bagian penunjuk.

Linked List dengan Pointer
Pascal menyediakan prosedur standar untuk membuat dan menghapus sebuah variabel dinamis, yaitu new dan dispose. Jika P telah dideklarasikan sebagai sebuah variabel pointer bertipe node, maka pernyataan new(P) akan menciptakan sebuah variabel dinamis baru bertipe node dan menandai lokasinya dengan pointer P. Sedangkan pernyataan dispose(P) akan mengembalikan ruang yang digunakan pada lokasi yang ditunjuk P ke sistem komputer, pointer P menjadi tidak terdefinisikan lagi. 


Deklarasi Linked List dengan Pointer
            type
            tipeinfo             = record
                        nim        : string;
                        nilai       : integer;
            end;
            tipeptr               = ^tipenode;
            tipelist               = tipeptr;
            tipenode            = record
                        info       : tipeinfo;
                        next       : tipeptr;
            end;
            var list : tipelist;
elemen-elemen list berupa record yang memuat field berisi informasi data serta sebuah field bertipe pointer yang berisi alamat elemen berikutnya.

Operasi pada Linked List
1.      Membuat List
Prosedur ini berupa prosedur untuk membuat list pertama kali, yaitu mengalokasikan pointer untuk head. Nilai awal dari list adalah kosong (nill).
      Procedure inisialisasi (var list : tipelist);
      Begin
                  New(list);
                  List := nill;
      End;

Kamis, 30 Januari 2014

Stack

Tumpukan (stack) adalah kumpulan data. Untuk menyajikan sebuah stack, kita dapat menggunakan larik (array). Stack juga dapat disajikan dengan menggunakan tipe data terstruktur lain, seperti record yang terdiri dari dua medan. Medan pertama bertipe larik untuk menyimpan elemen stack, medan kedua bertipe integer untuk mencatat posisi ujung atas stack. Maka, kita dapat mendeklarasikan stack.
type
stack:=record
top:0..100;
tabelemen:array[1.100]of char;
end;
var

TEMPLATE CLASS

Templates adalah teknik membuat tipe data yang berupa  parameter, artinya data tersebut dapat berubah - ubah tergantung parameter yang di berikan saat inisialisasi. Template adalah tipe data yang dapat berubah-ubah tergantung kebutuhan. Bila diinginkan tipe data int, maka tipe data yang dijadikan template akan ber -ubah menjadi int. Bila diinginkan tipe data berupa kelas X, maka tipe data tersebut ber -ubah menjadi kelas X. Template fungsi sangat bermanfaat untuk fungsi-fungsi yang menangani tugas yang sama dan hanya berbeda pada tipe data. 

OPERATOR OVERLOADING DAN EXCEPTION HANDLING


Jarang sekali sebuah program dibuat dapat berjalan dengan sukses pada saat pertama sekali dijalankan. Kesalahan sering terjadi pada saat perancangan atau perograman. Kesalahan tersebut dikategorikan  menjadi tiga bagian, yaitu :
·      Syntax errors – mengakibatkan kesalahan kompilasi.
·      Semantic errors – program menghasilkan keluaran yang tidak sesuai dengan harapan.
·      Runtime errors – kebanyakan mengakibatkan terminasi program secara tidak normal atau bahkan sistem crash.
Berikut ini merupakan contoh runtime error.
·      Pembagian bilangan dengan nol.
·      Akses elemen yang berada di luar indeks array.
·      Menggunakan nilai negatif untuk ukuran array.

Kamis, 05 September 2013

PROSEDUR DAN FUNGSI

Prosedur adalah suatu program terpisah dalam blok tersendiri yang berfungsi sebagai sub program (program bagian) dan diawali dengan kata cadangan Procedure.Prosedur memiliki struktur yang sama dengan struktur program, yaitu terdiri dari nama prosedur, deklarasi-deklarasi dan bagian deskripsi (statement atau aksi di dalam prosedur). Semua deklarasi di dalam prosedur bersifat lokal sehingga hanya bisa digunakan oleh prosedur itu saja, sedangkan deklarasi di dalam program utama bersifat global sehingga dapat dikenali di seluruh bagian program.
Bentuk Umum Prosedur :           
Procedure nama (daftar_parameter);
Bagian deklarasi;
Bagian pernyataan;

Prosedur :
1.      Input Parameter : Prosedur sederhana adalah sebuah subprogram yang tidak mempunyai parameter masukan maupun parameter keluaran. 
2.      Parameter Input : Sebuah prosedur dapat menerima masukan yang digunkan dalam proses sesuai tugasnya. 
3.      Parameter Output : Prosedur yang paling komplek adalah yang menerima masukan dan menghasilkan keluaran. 

Kamis, 11 Juli 2013

PEWARISAN


Dalam PBO, kita mengambil realita kehidupan sehari-hari. Kita melakukan pengamatan bahwa manusia secara alami sering melakukan pengelompokan atas objek atau benda. Sejauh ini kita mengetahui cara untuk melakukan pengelompokan-pengelompokan atas objek-objek yang serupa (menjadi kelas objek).
Selain melakukan katagorisasi terhadap objek yang memiliki sekumpulan atribut dan perilaku yang sama, manusia sering melakukan pengelompokan terhadap objek yang memiliki kesamaan atas beberapa (tidak semua) atribut/perilaku. Contoh : Pengelompokan atas kendaraan bermotor, kemudian menggrupkannya berdasarkan suatu tipe atau jenis (mobil, truk, sepeda motor, dll). Setiap subkatagori ini merupakan kelas atas objek-objek yang serupa.
Ada beberapa karakteristik yang di-share oleh semua kelompok. Relasi antar kelas-kelas ini disebut dengan relasi “is-a”. Dalam setiap kasus, objek yang dikelompokkan bersama dalam satu sub-katagori merupakan anggota dari kategori yang lebih umum. Contohnya adalah seperti di bawah ini.
·      Mobil adalah (“is-a”) kendaraan bermotor.
·      Truk adalah (“is-a”) kendaraan bermotor.
·      Sepeda Motor adalah (“is-a”) kendaraan bermotor.

POLIMORFISME


Polimorfisme menggambarkan kemampuan kode C++ berperilaku berbeda tergantung situasi pada waktu run (program berjalan). Konstruksi ini memungkinkan untuk mengadakan ikatan dinamis (juga disebut ikatan tunda, atau ikatan akhir). Kalau fungsi-fungsi dari suatu kelas dasar didefinisikan ulang atau ditindih pada kelas turunan, maka objek-objek yang dihasilkan hirarki kelas berupa objek polimorfik. Polimorfik artinya mempunyai banyak bentuk atau punya kemampuan untuk mendefinisi banyak bentuk. 

contoh program :
#ifndef MANUSIA_H
#define MANUSIA_H
Class Manusia {
public:
virtual void Hello ( );
};
Class Pelajar : public Manusia {
public:
void Hello ( );
};
class Pegawai : public Manusia {
public:
void Hello ( );
};
Domo-kun Staring