rss
twitter
    Find out what I'm doing, Follow Me :)

Lab ke2

Ini codingan lab pertemuan ke2 (dengan sedikit perubahan oleh saya)

#include
#include

void main(){
/*
//cout.setf(ios::hex); hexadesimal untuk angka dibawahnya

cout.setf(ios::oct); //octal untuk angka dibawahnya
cout << 123 << endl;

atau

cout << oct << 123 << endl;

//cout.setf(ios::dec);
cout.unsetf(ios::oct); //untuk mengembalikan dari octal
cout << 123 << endl;
cout.setf(ios::showbase); //menampilkan base bilangan
hexa 0xff
octal 0123
cout.setf(ios::uppercase); //hurufbesar untuk hexa
*/

cout.fill('.'); //isi dengan "."
//cout.width(10); //sama dengan setw(10);
cout.setf(ios::left); //rata kiri
cout << setw(10) << "halo" << endl; //geser kanan +iomanip.h
cout.setf(ios::right); //rata kanan
cout << setw(10) << "apa" << endl;
cout.fill(' '); //isi dengan " "
cout << setw(10) << "kabar" << endl;

cout.setf(ios::showpos); //menampilkan tanda positif
cout.setf(ios::internal); //kasi spasi antar tanda +
//gabungin ios -> cout.setf( | );
cout <
cout << setprecision(5); //decimal seperti %.2f
cout.setf(ios::fixed);
cout << 123.456 << endl;

//cout.setf(ios::scientific); //decimal pangkat 10



cin.get();
}

C++ stream input/output

Bahasa C memiliki rutin-rutin untuk proses input/output yang dideklarasikan di header file stdio.h. proses input/output versi C ini masih dapat digunakan di C++. Namun demikian C++ mengenalkan teknik baru untuk proses input/output, yaitu yang dinamakan iostreams atau disingkat menjadi streams saja. Hampir semua fungsi yang terdapat di stdio.h dapat dikonversikan ke dalam bentuk streams. Kelebihan streams dibandingkan input/output C adalah fleksibilitasnya dalam melakukan format input/output dan juga kemampuannya yang mendukung konsep operator berbeban lebih (overloaded operator).

Apa itu Streams ?

Streams adalah suatu abstraksi untuk menangani aliran data dari suatu sumber (producer) ke tujuan (consumer) lain. Baik sumber atau tujuan dapat berupa buffer di memori, string, file atau layar monitor. C++ mendeklarasikan kelas untuk strem di beberapa header file, yaitu;

* iostream.h (I/O umum)
* constrea.h (I/O ke console)
* strstrea.h (I/O ke string)
* fstream.h (I/O ke file)

Format pada Output dengan fungsi

Stream output dapat diformat seperti halnya output pada fungsi printf. Untuk mengubah format output, yang harus dilakukan adalah mengubah beberapa bit flag yang ada di kelas ios. Ada beberapa macam flag yang terdapat di kelas ios yaitu :

Daftar Format Pada Output

skipws Mengabaikan karakter spasi putih (white space) pada saat proses input

left Mengatur output menjadi rata kiri

right Mengatur output menjadi rata kanan

internal Output disisipi karakter pengisi (padding character) setelah tanda positif atau tanda basis bilangan

dec Menampilkan bilangan dalam basis desimal

oct Manampilkan bilangan dalam basis oktal

hex Manampilkan bilangan dalam basis heksadesimal

showbase Menampilkan basis bilangan saat suatu bilangan ditampilkan (untuk heksadesimal dengan tambahan “0x” dan untuk oktal dengan tambahan “O”)

showpoint Menunjukan tanda titik pada output bilangan real

uppercase Membuat output bilangan heksadesimal menjadi huruf kapital

showpos Menunjukan tanda ‘+’ pada output bila suatu bilangan lebih dari 0

scientific Menggunakan cara penulisan eksponensial untuk bilangan real (format : xxxE()xxx)

fixed Menggunakan format bilangan desimal untuk bilangan real

unitbuf Mengosongkan semua stream

stdio Mencegah masalah yang bisa terjadi bila digunakan stream dan stdio secara bersamaan

Sekilas tentang Flag

Flag merupakan sekumpulan bit-bit yang masing-masing bit melambangkan keadaan tertentu. Contoh yang paling sederhana adalah flag 1 bit yang hanya melambangkan keadaan nyala (“1”) atau padam (“0”).

Format Output yang lain

format pada output dengan fungsi-fungsi yang sering digunakan antara lain :

- int width (int) : fungsi ini digunakan untuk mengubah lebar output yang akan ditampilkan
- char fill (char) : fungsi ini digunakan untuk mengubah karakter pengisi (padding charakter). Karakter pengisi adalah salah satu karakter ASCII yang dituliskan bila output yang diformat lebih besar daripada lebar yang ditentukan dengan fungsi width
- int precision (int) : fungsi ini digunakan untuk mengubah derajat ketelitian bilangan real (floating point) yang akan ditampilkan

Output pada String

Ada beberapa format yang dapat dilakukan pada string dengan fasilitas stream, yaitu :

· Lebar output dapat diubah dengan memanggil fungsi width diikuti argumen lebar yang dikehendaki.

· Alignment (rata kiri atau rata kanan) dapat diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::left atau ios::right.

· Karakter pengisi (padding character) dapat diubah dengan memanggil fungsi fill diikuti argumen karakter yang akan digunakan sebagai karakter pengisi.

Output pada Bilangan Bulat

Yang dimaksud bilangan bulat disini adalah tipe short int, int, unsigned int, long, unsigned long. Ada beberapa format yang dapat dilakukan pada bilangan bulat dengan fasilitas stream, yaitu :

· Basis bilangan bulat (desimal, heksadesimal atau oktal) dapat diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::dec, ios::hex atau ios::oct.

· Lebar output yang diformat dapat diubah dengan memanggil fungsi width diikuti argumen lebar yang dikehendaki.

· Alignment (rata kiri atau rata kanan) dapat diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::left atau ios::right.

· Karakter pengisi (padding character) dapat diubah dengan memanggil fungsi fill diikuti argumen karakter yang akan digunakan sebagai karakter pengisi.

· Tampilan tanda ‘+’, diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::showpos.

· Tampilan huruf (huruf kapital atau huruf kecil) pada bilangan heksadesimal, diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::uppercase.

Output pada Bilangan Real

Yang dimaksud bilangan real disini adalah tipe data float, double dan long double. Ada beberapa format yang dapat dilakukan pada bilangan real dengan fasilitas stream, yaitu :

· Derajat ketelitian (precision) dapat diubah dengan memanggil fungsi precision diikuti argumen jumlah ketelitian angka yang diinginkan.

· Lebar output dapat diubah dengan memanggil fungsi width diikuti argumen lebar yang dikehendaki.

· Format bilangan real (fixed atau scientific) dapat diubah dengan memanggil fungsi setf diikuti argumen ios::fixed atau ios::scientific.

· Alignment (rata kiri atau rata kanan) dapat diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::left atau ios::right.

· Karakter pengisi (padding character) dapat diubah dengan memanggil fungsi fill diikuti argumen karakter yang akan digunakan sebagai karakter pengisi.

· Tampilan tanda ‘+’, diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::showpos.

· Tampilan tanda ‘.’ Bila terdapat angka dibelakang koma, diubah dengan memanggil fungsi setf atau unsetf diikuti argumen ios::showpoint.


Daftar manipulator untuk I/O ke console


clreol
Menghapus sampai dengan akhir baris dari jendela teks

delline
Menghapus satu baris di jendela teks

highvideo
Memilih karakter dengan intensitas terang

insline
Menyisipkan satu baris kosong di jendela teks

lowvideo
Memilih karakter dengan intensitas rendah

normvideo
Memilih karakter dengan intensitas normal

setattr (int)
Memberi nilai atribut layar

setbk (int)
Memberi nilai warna latar belakang

setclr (int)
Memberi nilai warna karakter

setcrstype (int)
Mengubah bentuk kursor

setxy (int, int)
Menempatkan kursor di posisi tertentu

Contoh program pert 1

Contoh konversi :

#include

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

Praktikum 3/10/2009

Lab pertemuan 1

Pertemuan ini cuma bahas konversi-konversi dari C ke C++, berikut ini konversi2nya :
printf : cout <<
scanf : cin >>
fflush(stdin) : cin.sync(); cin.clear();
getch : cin.get();
gets : cin.getline();


contoh program :
#include


void main(){

int angka;
char karakter;
char nama[20];

/*for(int i=0; i<10; i++){
cout << i;
}

while(angka <5){
}

do{

}while(angka<5);

if(angka==6){
}
else if(angka==6){
}
else{
}

switch(){
case 1: break;

default:
break;
} */

/* operator aritmatika : + - * / %
operator logika || && */


cout << "Hello world \n"; //pengganti printf
cout << "masukkan nama anda : ";
//cin >> nama; //pengganti scanf
cin.getline(nama, 20); //pengganti gets
cin.sync(); cin.clear(); //pengganti fflushstdin

cout << "nama anda adalah " << nama << ".";
cin.get(); //pengganti getch()
}

Kuliah tgl 3/10/2009

Nah, kuliah kali ini membahas tentang Pointer dan kawan2nya...

Pointer itu apa sih ?
Pionter itu di ambil dari bahasa inggris, artinya penunjuk, nah berarti pointer itu tugasnya menunjuk sesuatu, bisa aja alamat dari ariabel ato isi dari variabel itu sendiri...

Sebelumnya, mari qt review ulang dulu...
I. Function... Function kalo di bahasa C pasti uda pada tau kan... nah di C++, qt ketemu lagi ni sama yang satu ini... tp namanya beda, namanya Class... Trus, tiap function itu kan pasti ada return valuenya, nah return valuenya ada macem2, tergantung dari jenis classnya, contoh :
Int cetak
Berarti return valuenya bertipe integer
Setelah itu ada yang namanya function prototype, funsinya sebagai tanda bahwa ada funsi di program tersebut (biasanya hal ini terjadi kalo fungsi tertentu dibuat setelah main function)...

Wets, ada yang lupa, ada yang namanya inline function, jadi compiler tu copy codenya, daripada di panggil terus, tapi ada kelemahannya, inline function ini cuma berlaku buat funtion yang hanya 1 baris...

II. Repetition
Di C, pasti uda pada tau repetition itu ada apa aja... ada Do, Do while dan For...
nah di C++ pun sama...
Repetition itu sendiri ada 2, yaitu Iterasi dan rekursif (and i dont like this one)...
Iterasi itu ya yang biasa kita pake, nah kalo rekursif itu fungsi yang memanggil fungsi itu sendiri...

III. Pointer
The last but not the least, pointer... Pointer seperti yang disebut di atas (scroll balik deh), juga ada di C++, formatnya sama ex: *a, *b.
contoh : *a = x
*b = &x
nah, dua2nya pointer, tapi beda...
yang *a = x, artinya *a menunjuk ke x.. sedangkan *a = &x, artinya *a menunjuk ke alamat si x..

Sekilas tentang C++

Sekarang uda pada tau kan C++ itu apa ?
ini ada sekilas info nya tentang C++ neh... (Di baca ya, jgn di scroll ke bawah...) ^^

Berbicara tentang C++, biasanya tidak lepas dari C, sebagai bahasa pendahulunya. C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa beraras rendah (bahasa yang berorientasi kepada mesin) dan bahasa beraras tinggi (bahasa yang berorientasi pada manusia). Seperti diketahui, bahasa beraras tinggi mempunyai kompabilitas yang tinggi antarplatform. Karena itu, amatlah mudah untuk membuat program pada berbagai jenis mesin. Berbeda halnya kalau menggunakan bahasa beraras rendah, sebab setiap perintahnya bergantung sekali pada jenis mesin.


Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan menggunakan C, mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.

C++ diciptakan satu dekade setelah C. Diciptakan oleh Bjarne Stroustrup, Laboratorium Bell, AT&T, pada tahun 1983. Bahasa ini bersifat kompatibel dengan bahasa pendahulunya, C. Pada mulanya, C++ disebut "a better C". Nama C++ sendiri diberikan oleh Rick Mascitti pada musim panas 1983. Adapun tanda ++ berasal dari nama operator penaikan pada bahasa C.

C diambil sebagai landasan dari C++, mengingat keportabilitasan C yang memungkinkannya diterapkan pada berbagai mesin, dari PC hingga Mainframe, serta pada berbagai sistem operasi (DOS, UNIX, VMS, dan sebagainya).

Keistimewaan yang sangat berarti pada C++ adalah karena bahasa ini mendukung pemrograman yang berorientasi objek (PBO atau OOP / Object Oriented Programming). Tetapi sekali lagi, C++ hanyalah bahasa yang bersifat hibrid , bukan bahasa murni yang berorientasi objek. Karena itu, pemrogram C pada tahap awal dapat berpindah jalur ke C++ setahap demi setahap. Pustaka-pustaka yang dibangun dengan C tetap dapai dipakai di C++, dibaurkan dengan program PBO.

Tujuan utama pembuatan C++ adalah untuk meningkatkan produktivitas pemrograman dalam membuat aplikasi. Kebanyakan pakar setuju bahwa PBO dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang besar yang terdiri dari 10.000 baris atau lebih. Greg Perry pada tahun 1993, mensitir ungkapan para pelopor industri C++ yang pada intinya menyatakan C++ dapat meningkatkan produktivitas pemrogram lebih dari dua kali dibandingkan dengan bahasa prosedural seperti C, Pascal, dan BASIC. Hal ini didasarkan kenyataan bahwa kode yang ditulis dengan C++ lebih mudah untuk digunakan kembali pada program-program lain (bersifat reusability).

Meskipun demikian, kita jangan terlalu berharap untuk memperoleh keuntungan ini ketika kita sedan belajar C++. Yang kita dapatkan barangkali bukan peningkatan produktivitas, melainkan malahan berupa penurunan produktivitas pada awalnya, karena kita harus mempelajari karakteristik dari C++.

Perbedaan C dan C++

Trus, buat yang uda pernah belajar C, nih perbedaan C dan C++....
Monggo cek TKP dibawah... ^^

PERBEDAAN BAHASA C DAN C++

Bahasa C
#include

int main(void){

int X;

/* Menampilkan teks untuk informasi */

printf("Masukkan sebuah bilangan bulat :");

/* Membaca nilai dari keyboard dan menyimpannya ke dalam variabel X */

scanf("%d", &X);

/* Menampilkan nilai yang telah dimasukkan */

printf("Bilangan yang telah anda masukkan adalah %d", X);

return 0;

}

Bahasa C++
#include

int main(){

int X;

//Menampilkan teks untuk informasi

cout<<"Masukkan sebuah bilangan bulat :"; // Membaca nilai dari keyboard dan menyimpannya ke dalam variabel X cin>>X;

//menampilkan nilai yang telah dimasukkan

cout<<"Bilangan yang telah anda masukkan adalah"<< X;

return 0;

}

Ga terlalu beda jauh kan ? ^^