24
Praktikum C++ PENDAHULUAN Environment 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

Modul Praktikum C++

Embed Size (px)

Citation preview

Page 1: Modul Praktikum C++

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 “.

Page 2: Modul Praktikum C++

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!

Page 3: Modul Praktikum C++

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!

Page 4: Modul Praktikum C++

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;

}

Page 5: Modul Praktikum C++

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!

Page 6: Modul Praktikum C++

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”;

Page 7: Modul Praktikum C++

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.

Page 8: Modul Praktikum C++

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.

Page 9: Modul Praktikum C++

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;

Page 10: Modul Praktikum C++

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++)

Page 11: Modul Praktikum C++

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

Page 12: Modul Praktikum C++

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;

Page 13: Modul Praktikum C++

Praktikum C++

return 0;

}

Tambahkan program tersebut statement untuk menunjukan nilai dan alamat setiap variable b

dan variable pointer bPtr.

Page 14: Modul Praktikum C++

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

Page 15: Modul Praktikum C++

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

Page 16: Modul Praktikum C++

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

Page 17: Modul Praktikum C++

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;

Page 18: Modul Praktikum C++

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.

Page 19: Modul Praktikum C++

Praktikum C++

Gantilah variable yang ada di struct dengan pointer, bagian programming mana yang berkaitan

dan bagaimana perbedaan cara mengaksesnya.

Page 20: Modul Praktikum C++

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;

}

Page 21: Modul Praktikum C++

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?

Page 22: Modul Praktikum C++

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.