Ringkasan Pert 5 dan Pert 6

Kamis, 29 Oktober 2009

ENCAPSULATION & ENCAPSULATION LANJUTAN
======================================


Tujuan dari suatu Encapsulation ---> Information Hiding

Information hiding adalah dimana membuat prog tanpa harus mengetahui apa yang trjadi supaya bisa tampil gambar/informasi yang harus diketahui...
Cukup mengetahui apa yang dilakukan oleh objek dan bukan isi dari objek itu..

Encapsulation juga dikatakan sebagai pengkapsulan (dlm sebuah class terdiri dari data dan fungsi)

Contoh:
===========
----Class----
===========
int waktu; // biasa disebut atribut atau data member
...............
...............
===========
void menu() // biasa disebut method atau member function
..................
..................
===========

Dalam sebuah class memiliki:
-constructor=method yang pasti dijalankan ketika objek di buat.
Gunanya sebagai inisialisasi.
Cara penggunaan nya cukup seperti memanggil suatu function tapi nama class na misal:
class dota{}
di dalam nya dimasukan constuctor seperti berikut:
dota(){
hp=400;
mp=300;
strcpy(nama,"ligtning god");
}

-destructor=method yg pasti dijalankan ketika objek di delete
Cara penggunaan nya cukup dengan menambahkan ~, misal:
~dota(){}

Class memiliki 3 akses, yaitu:
Public = bagian class yang dapat diakses oleh umum baik didalam maupun luar class.
Protected = bagian class yang dapat diakses oleh lingkungan interclass dan class turunan.
Private = bagian class yang hanya dapat diakses oleh lingkungan internal class itu sendiri.

Friend function
``````````````
friend function di definisikan di luar dari class’s scope namun memiliki hak akses ke semua members dari class tersebut.
deklarasi nya cukup menanmbahkan keyword friend

contoh:
friend void setX( Count &, int );

Operator Overloading
```````````````````
untuk mengoperasikan data pada object menjadi mudah
deklarasinya cukup menambahkan keyword operator

contoh:
void operator - (data &a,data &b)
{
a.angka= a.angka+b.angka;
}

contoh penggabungan friend function dan operator overloading
#include
class data
{ private : int angka;
public :
data(){
angka=10;
}

int getangka(){
return angka;
}

friend void tes(data &a);
friend void operator -(data &a,data &b);
};

void tes(data &a){ cout<< a.angka;}

void operator - (data &a,data &b)
{ a.angka= a.angka+b.angka;}

void main(){
data obj1,obj2;
obj1-obj2;
cout << obj1.getangka();
cin.get();}

Untuk menghitung penjumlahan suatu perbelanjaan dengan menggunakan STRUCT

Senin, 26 Oktober 2009

#include "iostream.h" // harusnya pake kurung siku...

int no,n,total2;

struct barang{
char kode[7];
int satuan;
int jumlah;
int total;
};
barang pendapatan[10];

void menu()
{

cout << endl << "Novita MiniMarket" << endl;
cout << "===================" << endl;
cout << "1. Penjualan" << endl;
cout << "2. Lihat Total Pendapatan" << endl;
cout << "3. Exit" << endl;
cout << "Silahkan pilih : ";
}

void bersih() // sebagai pengganti clrscr
{
for(int i=0;i<25;i++){
cout << endl;}
}

void penjualan()
{
do{
cout << "Masukan kode barang [R****]: ";
cin.getline(pendapatan[n].kode,7);
cin.clear();
cin.sync();
}while(strlen (pendapatan[n].kode) != 5 || (pendapatan[n].kode[0])!= 'R');
do{
cout << "Masukan Harga Barang satuan [max 1000] :";
cin >> pendapatan[n].satuan;
cin.clear();
cin.sync();
}while(pendapatan[n].satuan > 1000);
do{
cout << "Masukan Jumlah Barang [max 100] :";
cin >> pendapatan[n].jumlah;
cin.clear();
cin.sync();
}while(pendapatan[n].jumlah > 100);
pendapatan[n].total=pendapatan[n].satuan*pendapatan[n].jumlah;
}

void main()
{
int pilih,i;
no=0;
do{
menu();
cin >> pilih;
//pilih=cin.get();
cin.clear();
cin.sync();

bersih();
switch (pilih)
{
case 1 :
no++;
cout << endl;
cout << "No transaksi : " << no << endl << endl;
penjualan();
cout << endl;
cout << "Kode Barang \t Harga \t Jumlah \t Total" << endl;
cout << "``````````` \t ````` \t `````` \t `````" << endl;
cout << pendapatan[n].kode << "\t\t ";
cout << pendapatan[n].satuan << "\t\t ";
cout << pendapatan[n].jumlah << "\t\t ";
cout << pendapatan[n].total << endl;
cout << endl;
cout << "Total penjualan "<< no;
cout << "adalah " << pendapatan[n].total << endl;
cout << "Press Any Key To Continue..." << endl;
++n;
cin.get();
bersih();
break;

case 2 :
cout << "Kode Barang \t Harga \t Jumlah \t Total" << endl;
cout << "``````````` \t ````` \t `````` \t `````" << endl;
for (i=0; i < n; i++){
cout << pendapatan[i].kode << "\t\t ";
cout << pendapatan[i].satuan << "\t\t ";
cout << pendapatan[i].jumlah << "\t\t ";
cout << pendapatan[i].total << endl;
cout << endl;
total2+=pendapatan[i].total;
}
cout << "Total Pendapatan dari " << no << " transaksi penjualan hari ini adalah " << total2;
cin.get();
bersih();
break;
}
}while(pilih!=3);
}

Ringkasan Pert 4...

Minggu, 18 Oktober 2009

ADT
====

Deklarasi struct:
struct mhs // struct tag
{ char nama[30]; // struct member
char nim[12];
int nilai;
};

Deklarasi Variabel struct:
mhs nilai_tm; //var biasa
mhs nimarray[ 12 ]; // var array
mhs *nilaiPtr; //var pointer
mhs &nilaiRef = nilai_tm; //reference

Cara Akses Variabel
• Operator dot (.) untuk mengakses member struct yang biasa / array.
cout << nilai_tm.nilai;
• Operator arrow (->) untuk mengakses member struct ponter
cout << nilaiPtr->nilai;

Contoh:
(untuk mengakses member struct yang biasa)
#include "iostream.h"

struct data
{
char nim[11]; //nim
char nama[31]; //nama
float ipk; //ipk
};

void main()
{
struct data mhs[2];
//hanya untuk mengimputkan 2 mhs kalo ntr input na 3 pas yg k3
//muncul di output na aneh-aneh.
int i;


for(i=0;i<2;i++)
{
do{
cout << "Masukan NIM [1...10]: ";
cin >> mhs[i].nim;
cin.clear();
cin.sync();
}while(strlen(mhs[i].nim)!=10);
}

for(i=0;i<2;i++)
{
do{
cout << "Masukan Nama : ";
cin >> mhs[i].nama;
cin.clear();
cin.sync();
}while(strlen(mhs[i].nama)<3 || strlen(mhs[i].nama)>20);
}
for(i=0;i<2;i++)
{
do{
cout << "Masukan ipk : ";
cin >>mhs[i].ipk;
cin.clear();
cin.sync();
}while(mhs[i].ipk<0 ||mhs[i].ipk>4);
}

cout << "Data yang diinputkan....." << endl;
for(i=0;i<2;i++)
{
cout <<"Nim : " << mhs[i].nim << endl;
cout <<"Nama : " << mhs[i].nama << endl;
cout <<"IPK : " << mhs[i].ipk << endl;
cout << endl;
}

cin.get();
}

Pert 3 -- OFC

Senin, 12 Oktober 2009

Nama : Novita Febriani
Kelas : 03 POT
NIM : 1200979386

Hari ini saya akan membahas tentang I/O stream..
dengan contoh misalnya:

#include "iostream.h"

void main()
{
int umur;

cout << "masukan umur: ";
cin >> umur;
cin.clear();
cin.sync();
cout << endl;

cout << "umur anda adalah : " << umur;

cin.get();

}

sekarang saya akan membahas codingan diatas...
===================================================
#include "iostream.h"

ini dimaksudkan untuk membuka library dari I/O stream dalam C++ tersebut.

===================================================
cout << "masukan umur: ";

cout maksudnya untuk mencetak kalimat "masukan umur".
atau biasa dalam C menggunakan printf("Masukan Umur : ");

===================================================
cin >> umur;

cin maksudnya untuk meminta user memasukan angka yang mau di input oleh user.
atau biasa dalm C menggunakan scanf ("%d",&umur);

===================================================
cin.clear();
cin.sync();


dimaksudkan untuk mengahapus buffer dalam cin jadi saat dicetak hasilnya seperti yg diinginkan user.
Jangan lupa untuk selalu menggunakan cin.clear(); dan cin.sync(); setiap menggunakan cin.
atau dalam C menggunakan fflush(stdin);

===================================================
cin.get();

dimaksudkan untuk menahan layar output saat di run.
atau dalam C menggunakan getchar();

===================================================
endl;

ini sama saja fungsinya dengan \n untuk menurunkan ke baris selanjutnya.

===================================================


SISTEM MANIPULATOR
--------------------------------

sistem manipulator dalam c++ ada banyak jadi saya hanya akan membahas sedikit saja tentang manipulator.

cout.setf(ios::left); // arti na cout nya akan rata dimulai dari kiri
cout.width(10); // di simpan 10 tempat yang dipesen
cout.fill('*'); // untuk mengisi tempat yang kosong
cout << "asd";

maka akan tercetak output:
asd*******

tapi kekurangan dari cout.width dan cout.fill hanya dapat dipakai sekali untuk cout dibawahnya.

untuk cout rata di sebelah kanan bisa digunakan cout.setf(ios::right);
untuk ios::right atau ios::left kekurangannya adalah akan terus terpakai sampai pemrograman selesai.
===================================================
float tes;
tes = 12.45284548;
cout.setf(ios::fixed);
//utk mencetak angka diblkg koma sbyk angka yg ada di precision(_)
cout.setf(ios::showpoint);
//utk mencetak angka sebanyak angka yg ada di percision(_)
cout.precision(5);
cout << tes << endl;

maka akan tercetak output:
12.45284 // untuk cout.setf(ios::fixed);
12.452 // untuk cout.setf(ios::showpoint);

===================================================
Demikian sedikit tentang I/O stream dalam C++....

ringkasan pert 2

Jumat, 09 Oktober 2009

POINTER
=======
Pointer--> menunjuk (alamat memorinya)
Bentuk Umum : tipe_data *nama_pointer;
Contoh : int *nilai;
char *huruf;

Pointer ke bagi dalam 2:
•& anaperson = alamat
•* asterisk = value

Contoh variable pointer:
# include

void main ()
{
int a,b;
int *p; // p adalah variable pointer

a=10; b=20;
p=&a;

cout << p << *p << endl;
*p=b +15;
cout << a << endl;
cin.get();
}

Dengan hasil output:
0x0012ff8810 -->ini merupakan alamat dari a
35 --> ini merupakan nilai dari a

untuk mengetahui deret ganjil,genap,prima

Rabu, 07 Oktober 2009

#include "iostream.h"
void main()
{
int tekan;
int i, j, k, x, y, bil;
do{
for(int k=0; k<80; k++) cout << "~";
cout << "Menu" << endl;
cout << "====" << endl;
cout << "1. Deret Bilangan Ganjil" << endl;
cout << "2. Deret Bilangan Genap" << endl;
cout << "3. Deret Bilangan Prima" << endl;
cout << "4. Exit" << endl;
cout << "Silahkan pilih : ";
tekan=cin.get();
switch (tekan){
case '1' :
i=1, j=1;
do{
bil=-1;
cout << "Masukkan Jumlah Bilangan Ganjil Yang ingin ditampilkan [1..20] : " ;
cin >> bil;
cin.clear();
cin.sync();
}while (bil<1||bil>20);
cout << endl;
while (i<=bil)
{
cout << " " << j; i++, j+=2;
}
cout << endl; break;
case '2' :
i=0, j=2;
do{
bil=-1;
cout << "Masukkan Jumlah Bilangan Genap Yang ingin ditampilkan [1..20] : ";
cin >> bil;
cin.clear();
cin.sync();
}while (bil<1||bil>20);
cout << endl;
while (i< bil)
{
cout << " " << j; i++, j+=2;
}
cout << endl; break;
case '3' :
x=0, y=0;
do{
bil=-1;
cout << "Masukkan Jumlah Bilangan Prima Yang ingin ditampilkan [1..20] : ";
cin >> bil;
cin.clear();
cin.sync();
}while (bil<1||bil>20);
cout << endl;
for(j=1;;j++){
x=0;
for(i=1;i<=j;i++){
if(j%i==0)x++;
}
if(x==2){
cout << " " << j;
y++;
}
if(y==bil) break;
}
cout << endl; break;
}
cin.get();
}while (tekan!='4');
}