Upload
rifky-hydeist
View
65
Download
0
Embed Size (px)
Citation preview
Praktikum C++
PENDAHULUANEnvironment dari Pengembangan C++
Pembuatan program dan eksekusi C== pada umumnya environment pengembangannya seperti
berikut ini:
Editor Disk
Preprocessor Disk
Compiler Disk
Linker Disk
Loader Memory
Disk
CPU Primary Memory
Special key yang digunakan dalam C++
Urutan key Keterangan
\n Ganti baris. Posisi cursor pada titik awal baris selanjutnya.
\t Pindah 1 tab. Cursor pindah ke 1 tab selanjutnya.
\r Carriage return. Posisi cursor kembali ke posisi pertama di baris yang sama.
\a Alert. Membunyika system bel.
\\ Backslash. Digunakan untuk print backslash.
\’ Single quote. Digunakan untuk print ‘.
\” Double quote. Digunakan untuk print “.
Praktikum C++
Input – Output
Latihan 1:
#include <iostream.h> //untuk menggunakan fasilitas yang digunakan untuk input-uotput
int main() //eksekusi di C++ dimalai dari main()
{
cout << “Programming ku yang pertama”;
cout <<”menggunakan C++”;
cout << “ --------------------------------------------------------------“;
return 0;
}
Apakah hasil eksekusi program ini?
Jelaskan arti setiap statement yang dibuat dalam pemrograman diatas!
Praktikum C++
Latihan 2:
#include <iostream.h>
void main()
{
//pendeklarasian variable dilakukan pertama kali
int angka1;
int angka2;
int jumlah;
cout << “masukkan bilangan integer 1:”;
cin >> angka1; //mengambil nilai dari keyboard dan ganti baris
cout << “masukkan bilangan integer 2:”;
cin >> angka2;
jumlah = angka1 + angka2;
cout << “Jumlahnya adalah “ << jumlah << endl;
}
Apakah hasil eksekusi program ini?
Jelaskan arti setiap statement yang dibuat dalam pemrograman diatas!
Praktikum C++
Properties dan Logika
Berikut ini algorithma penghitungan luas segi panjang. Adapun kondisi yang harus dipenuhi adalah sebagai berikut:
Setiap sisinya bernilai positif dan tidak boleh lebih dari 10.
Latihan 3:
void main()
{
float panjang, lebar;
float luas;
cout << “Masukan nilai panjang :”;
cin >> panjang;
cout << “Masukan nilai lebar :”;
cin >> lebar;
if (0 < panjang <= 10 && 0 < lebar <= 10)
{
luas = panjang * lebar;
cout << “Luasnya adalah “ << luas << endl;
}
else
cout << “syarat tidak dipenuhi karena panjang “ << panjang << “ dan lebar “ <<
lebar << endl;
}
Praktikum C++
Buatlah flowchar dari program diatas.
Tulislah bentuk lain kondisi if yang memberikan hasil yang sama!
Jelaskan dengan penurunan logika true/false antara kondisi diatas dan kondisi yang saudara buat.
Latihan 4:
int main ()
{
int i;
cout << “Model 1 \n”;
for (i = 0; i < 5; i++)
cout << i << endl;
cout << Model2 \n”
for (i = 0; i < 5; ++i)
cout << i << endl;
}
Catatatlah keluaran Model 1 dan Model 2.
Apakah sama atau berbeda? Jelaskan!
Kondisi
Benar Salah
Praktikum C++
STRUKTUR CONTROL
flowchart If :
Latihan 5:
#include <iostream.h>
int main()
{
int nilai;
cout << “Masukan nilai integer (0-100) :”;
cin >> nilai;
if (nilai >= 60)
{
cout << “lulus \n”;
Praktikum C++
}
else
{
cout << “tidak lulus\n“;
}
return 0;
}
Catatan :
Setiap masuk ke scope (ditandai kurung kurawa) selalu masuk 1 tab. Bila kembali ke scope
sebelumnya, maka kembali ke scope sebelumnya. Hal ini untuk membuat pomrograman yang
ditulis lebih mudah di pahami. Tidak melakukan pemindahan satu tab tidak akan
mengakibatkan error.
Eksekusi program diatas dan catatlah hasil yang saudara dapatkan.
Praktikum C++
Latihan 6:
#include <iostream.h>
int main()
{
int nilai;
cout << “Masukan nilai integer (0-100) :”;
cin >> nilai;
if (nilai >= 90)
cout << “Nilai A \n”;
else if (nilai >= 75)
cout << “Nilai B \n“;
else if (nilai >= 60)
cout << “Nilai C \n“;
else
cout << “Tidak lulus \n“;
return 0;
}
Buatlah flowchart untuk program ini.
Statement 1
Kondisi
Statement n
Salah
Benar
Penggabungan
Keputusan
Statement 1
Kondisi
Statement n
Salah
Benar
Penggabungan
Keputusan
Praktikum C++
Iterasi
Loop while:
Latihan 7:
#include <iostream.h>
int main()
{
int nilai;
int i;
Praktikum C++
cout << “Masukan nilai integer (0-7) :”;
cin >> nilai;
while (nilai >0 && nilai <= 7)
{
cout << “Angka :” << i << endl;
i=i+1;
}
Return 0;
}
Catatlah keluaran dari eksekusi program diatas.
Buatlah loop yang menggunakan do-while.
Loop for:
Latihan 8:
#include <iostream.h>
void main()
{
int, i;
for (i=0;i<5;i++)
Praktikum C++
cout << “Angka :” << i << endl;
}
Pointer
Latihan 9:
int main ()
{
int *pi; // deklarasi pointer
int i;
i = 5;
*pi = 6;
return 0;
}
Eksekusi program tersebut! Catatlah message yang di berikan C++
int main ()
{
int *pi;
int i;
pi = new int; // memberikan tempat menyimpan data
Praktikum C++
i = 5;
*pi = 6;
cout << i << &i << endl
cout << pi << &i << *pi <<endl
return 0;
}
Jelaskan tentang perbedaan variable dengan pointer!
Sebutkan arti syntax penulisan diatas tentang perbedaan variable dan pointer.
Latihan 10
int main ()
{
int b[]= {10, 20, 30, 40};
int *bPtr = b;
for (int i=0; i < 4 ; i++)
cout << “Variable array b : “ << b[i];
for (int I = 0; 4 < 4 ; i++)
cout << “*(bPtr “ << *(b + i) << endl;
Praktikum C++
return 0;
}
Tambahkan program tersebut statement untuk menunjukan nilai dan alamat setiap variable b
dan variable pointer bPtr.
Praktikum C++
TEST I
Buatlah programming berikut ini:
1. Tulislah programming untuk menghitung luas dan keliling lingkaran dengan yang
memenuhi syarat berikut:
a. Input dilakukan oleh pengguna aplikasi
b. Ada check nilai yang dimasukkan pengguna: tidak boleh negative, kelipatan dari
3 dan kurang dari 100
c. Membuat output
2. Buatlah program untuk mencatat 5 nama mahasiswa di suatu kelas.
a. Gunakanlah pointer untuk program tersebut
b. Input nama dilakukan oleh pengguna
c. Program menampilkan daftar mahasiswa yang di inputkan pengguna
Praktikum C++
Function dan Properties
Latihan 11:
#include <iostream.h>
//global variable
char programmer = “saya”
//Function
void increase (void* data, int psize)
{
int localVar = 10; //local variable
cout << programmer << “ dalam function “ << localVar << endl;
if ( psize == sizeof(char) )
{
char* pchar; pchar=(char*)data;
++(*pchar);
}
else if (psize == sizeof(int) )
{
int* pint;
pint=(int*)data;
++(*pint);
}
}
int main ()
{
char a = 'x'; //local variable
Praktikum C++
int b = 1602; //local variable
increase (&a,sizeof(a)); //memanggil function
increase (&b,sizeof(b));
cout << programmer << “dalam main program \n”;
cout << a << ", " << b << endl;
return 0;
}
Jelaskan global variable dan local variable.
Apakah yang saudara pahami tentang function dari program diatas.
a. Main program dan function
b. Komunikasi main program dan function
Praktikum C++
Tipe Data Abstract
Latihan 12:
#include <iostream.h>
#include <string.h>
#include <sstream.h>
struct movies_t
{
string title;
int year;
} mine, yours;
void printmovie (movies_t movie);
int main ()
{
string mystr;
mine.title = "2011 membuat hidup lebih bermakna ";
mine.year = 2011;
Praktikum C++
cout << "Judul : ";
getline (cin,yours.title);
cout << "Tahun: ";
getline (cin,mystr);
stringstream(mystr) >> yours.year;
cout << "Film favorit saya adalah :\n ";
printmovie (mine);
cout << "Film favorit mu adalah\n ";
printmovie (yours);
return 0;
}
void printmovie (movies_t movie)
{
cout << movie.title;
cout << " (" << movie.year << ")\n";
}
Buatlah kesimpulan mengenai pemrograman diatas.
Praktikum C++
Gantilah variable yang ada di struct dengan pointer, bagian programming mana yang berkaitan
dan bagaimana perbedaan cara mengaksesnya.
Praktikum C++
Latihan 13:
#include <iostream.h>
class kotak
{
int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};
void kotak::set_values (int a, int b)
{
x = a;
y = b;
}
Praktikum C++
int main ()
{
kotak rect;
rect.set_values (3,4);
cout << "area: " << rect.area();
return 0;
}
Apakah pada abstract dan class bisa mengandung function atau method?
Dengan mengetahui perbedaan class dan struct, kapan menurut saudara struct harus
digunakan dan kapan class harus digunakan! Mengapa?
Praktikum C++
TEST II
Buatlah programming berikut ini:
1. Buatlah program untuk mencatat 5 nama mahasiswa di suatu kelas.
a. Gunakan struct
b. Data mahasiswa meliputi Nomor induk, nama dan nilai IPK
c. Input nama dilakukan oleh pengguna
d. Program menampilkan daftar mahasiswa yang di inputkan pengguna
2. Bandingkanlah dengan Test I no 2, buatlah kesimpulan.