Kamis, 17 September 2009

[ FRIENDLY FUNCTION ]

Friendly Function

Dalam C++, sebuah kelas (A) atau fungsi (F) dapat menjadi friend dari kelas lain (B). Dalam keadaan biasa, kelas A maupun fungsi F tidak dapat mengakses anggota (data/fungsi) non public milik B. Dengan adanya hubungan friend ini, A dan F dapat mengakses anggota non public dari B. Deklarasi friend dituliskan dari pihak yang memberikan ijin. Pemberian ijin ini tidak bersifat dua arah, yang berarti dalam kode berikut, kelas B tidak memiliki hak untuk mengaskses anggota non-public dari kelas

A. Dalam contoh ini, realisasinya adalah:

class B { // kelas “pemberi ijin”
friend class A;
friend void F (int, char *);

private:
// …
public:
//…
};

Fungsi yang dideklarasikan dengan atribut friend merupakan fungsi di luar kelas sehingga objek parameter aktual mungkin dilewatkan secara call-by-value. Akibatnya operasi yang dilakukan terhadap objek bukanlah objek semula, melainkan salinan dari objek tersebut. Fungsi anggota merupakan fungsi di dalam kelas dan operasi yang dilakukannya selalu berpengaruh pada objek sesungguhnya. Kriteria penggunaan atribut friend:
• Sedapat mungkin hindari penggunaan friend. Penggunaan friend di antara kelas menunjukkan perancangan kelas yang kurang baik. Jika kelas A menjadikan kelas B sebagai friend maka kemungkinan besar kelas A dan B seharusnya tidak dipisahkan
• Jika operasi yang dijalankan oleh sebuah fungsi friend mengubah status dari objek, operasi tersebut harus diimplementasikan sebagai fungsi anggota

NB :

Referensi :

1.[Ellis and Stroustrup, 1990] Ellis, M. and Stroustrup, B. (1990). The Annotated C++ Re-ference Manual.
2.Addison-Wesley, Reading, MA. [Lippman, 1991] Lippman, S. (1991). C++ Primer. 2nd Edition. Addison-Welsy, Reading, MA.


Nama : Heldan Dwi S.
NPM : 0836010019
Kelas : TF - F [ Pindahan Ilmu Komputer ]

[ STATIC DATA MEMBER ]

STATIC DATA MEMBER

Sebuah class dapat mempunyai anggota berupa data atau fungsi static. Tidak seperti obyek static pada scope file maupun blok, static dalam scope class mempunyai artilinkage eksternal. Selain operator . dan operator ->, anggota class berupa data dan fungsi static dapat diakses dengan operator ::. Setiap objek di dalam kelas memiliki sendiri member datanya. Dalam keadaan tertentu diperlukan anggota data yang digunakan bersama oleh seluruh objek dari satu kelas objek tersebut. Hal ini misalnya dapat digunakan untuk menghitung jumlah objek yang sudah diciptakan.

class Stack {
public:
// … fungsi lain

private:
static int n_stack; // static data member!!
// … data & fungsi lain
};


Inisialisasi anggota statik tidak dapat dilakukan di dalam constructor, melainkan di luar deklarasi kelas dan di luar fungsi anggota. Inisialisasi anggota data yang statik dilakukan di file implementasi (X.cc), jangan di dalam file header.

// inisialisasi anggota data yang statik
// di dalam file Stack.cc
int Stack::n_stack = 0;

Anggota fungsi yang hanya mengakses anggota (data maupun fungsi) statik dapat dideklarasikan sebagai static function :

class Stack {
// …
public:
static int NumStackObj ();
};

int Stack::NumStackObj() {
// kode yang mengakses hanya data member statik
}

Untuk memahami anggota statik (fungsi maupun data) bandingkanlah dengan deklarasi variabel lokal statik berikut:

void SuatuFungsi ()
{
static int v = -1;

// … instruksi …
}
Jika atribut statik tidak digunakan, maka umur hidup dan keberadaan variabel v sepe-nuhnya bergantung pada umur hidup dan keberadaan fungsi SuatuFungsi. Dengan ditulis- kannya atribut static maka umur hidup dan keberadaan variabel v tidak lagi bergantung pada SuatuFungsi. Hanya visibility v yang ditentukan oleh SuatuFungsi. Demikian juga dengan anggota yang dideklarasikan dengan atribut static. Umur hidup dan keberadaan mereka tidak ditentukan oleh kelas yang melingkupinya. Sebagai akibatnya, pada anggota fungsi / data yang statik berlaku sifat-sifat berikut:

• Anggota fungsi statik dapat dipanggil tanpa melalui objek dari kelas tersebut, misal-nya:

if (Stack::NumStackObj() > 0) {
printf (”…..”);
}

• Anggota fungsi statik tidak memiliki pointer implisit this
• Data member yang statik diinisialisasi tanpa perlu adanya objek dari kelas tersebut

NB :

Referensi :
1.[Ellis and Stroustrup, 1990] Ellis, M. and Stroustrup, B. (1990). The Annotated C++ Re-ference Manual.
2.Addison-Wesley, Reading, MA. [Lippman, 1991] Lippman, S. (1991). C++ Primer. 2nd Edition. Addison-Welsy, Reading, MA.

Nama : Heldan Dwi S.
NPM : 0836010019
Kelas: TF - F [ Pindahan Ilmu Komputer ]

Selasa, 01 September 2009

PEMROGRAMAN BERORIENTASI OBYEK [ OOP ]

PEMROGRAMAN BERORIENTASI OBYEK / OBJECT ORIENTED PROGRAMMING [ OOP ]


Pemrograman beriorientasi obyek (Object Oriented Programming = OOP) berbeda dengan pemrograman konvensional pada umumnya, terutama dalam memperlakukan prosedur dan data. Pada pemrograman biasa, prosedur dan data merupakan dua hal yang dipisahkan satu sama lain.

Definisi ini terdiri dari tiga data, dimana untuk mengelolanya dibutuhkan prosedur yang disusun pada bagian yang terpisah. Salah satu konsep OOP yang paling penting adalah membungkus prosedur dan data menjadi satu software obyek. Konsep ini disebut sebagai encapsulation. OOP memodelkan obyek yang ada di dunia nyata (real-word objects) ke dalam software obyek dalam pemrograman. Oleh karena itu, di dalam OOP juga dikenal istilah seperti yang ada pada obyek dunia nyata, yaitu pewarisan (inheritance), dimana suatu obyek dapat mewariskan sifat-sifat yang dimilikinya kepada obyek turunannya. Secara umum, beberapa keuntungan yang dapat diperoleh pada OOP antara lain adalah simplicity, modularity, modifiability, extensibility, flexibility, maintainability, dan reasonability. Bahasa pemrograman yang mendukung OOP antara lain adalah: Smalltalk (murni OOP), C++, CLOS (Common Lisp Object System), Java, dan sebagainya. Dalambuku ini digunakan bahasa pemrograman C++ untuk memahami implementasi OOP.

>>Ciri Utama Pemograman Berorientasi Obyek

1. Encapsulation (pembungkusan)
2. Inheritance (pewarisan)
3. Polymorphism

Definisi :

1. Encapsulation (pembungkusan) -> Suatu metode untuk menyembunyikan suatu bagian implementasi dari kelas dan menyediakan antarmuka bagi kelas/software lain yang akan mengaksesnya.

2. Inheritance (pewarisan) -> Adalah proses pembentukan kelas baru yang disebut sebagai derived class atau inherited class dari kelas yang sudah ada sebelumnya yang disebut base class

3. Polymorphism -> Dalam Pemrograman Berorientasi Object konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah object agar melakukan tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.


NB : Maaf Jika Adanya Kurang / salah - salah Kata

NAMA : Heldan Dwi S.
NPM : 0836010019
Jurusan : Ilmu Komputer -> Teknik Informatika Kelas F

Jumat, 03 April 2009

Quiz Ke 2 Dari Struktur Data.... ( Sorting )




Ini Hasil Jawaban Saya...

Mohon Maaf Apabila Telat....

Makasi Sebelumnya....

NAMA : Heldan Dwi Supono...

NPM : 0836010019

Jur = Ilmu Komputer...

Selasa, 10 Maret 2009

TUGAS STRUCK....

Tugas Struck Ilmu Komputer...

> 1. Definisi Struck :

Digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe dan ukuran yang berbeda.
Cara deklarasi variabel struct:


> 2. Contoh Program Struct

**Source Code


/* struct */
#include
#include
void main() {
struct Mahasiswa {
char *Npm;
char *nama;
float nilai;
};Mahasiswa datMhs = {"0836010000", "RONALDO", 90.00};
printf("Npm : %s\n", datMhs.Npm);
printf("Nama : %s\n", datMhs.nama);
printf("Nilai : %0.2f\n", datMhs.nilai);
getch();

> 3. Output / Snapshot...





>>> 4. Array Of Struct

> sebuah array yang setiap data elemennya bertipe struct. Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb.


>>> 5.Contoh Source code


/* struct */
#include
#include
void main() {
struct Mahasiswa {
char *Npm;
char *nama;
float nilai;
};Mahasiswa datMhs = {"0836010000", "RONALDO", 90.00};
printf("Npm : %s\n", datMhs.Npm);
printf("Nama : %s\n", datMhs.nama);
printf("Nilai : %0.2f\n", datMhs.nilai);
getch();

>>> 6. Output / SnapShot...



>>>> 7. Union

Hubungan Struck Dengan Union Yaitu

>>>> Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union : elemennya ada dilokasi memori yang sama.


Referensi = Elearning.upnjatim.ac.id


KELOMPOK :

1. Altaf Bhay / Ilmu Komputer
NPM :( 0836010024 )

2. Heldan Dwi S. / Ilmu Komputer
NPM :( 0836010019 )

3. Anas Taufiqi R. / Ilmu Komputer
NPM :( 0836010022 )

4. Novanda W. / Ilmu Komputer
NPM :( 0836010013 )

NB : Apabila Ada Kesalahan Mohon Di Maklumi... ( Terutama Tentang SnapShot... )

Kamis, 25 September 2008

Istilah - istilah dalam Bahasa C

Int : Bilangan bulat

Float : Angka dengan titik mengambang (bilangan cacah) 

Char : Abjad/karakter atau untuk bilangan bulat kecil

Long int : Integer dengan jangkauan panjang

Double : Bilangan cacah dengan ketelitian ganda

Short int : Bilangan bulat dengan jangkauan pendek

Bool : Boolean, dapat bernilai benar atau salah (true or false)

Long double : Bilangan cacah dengan ketelitian ganda panjang

Include : Pustaka

wchar_t : Karakter lebar, biasa dipakai untuk Unicode karakter

Referensi from : http://id.wikipedia.org