LABORATORIUM APLIKASI
2022
Kata Pengantar
Modul praktikum ini disusun sebagai pedoman bagi mahasiswa di lingkungan Program
Studi Teknik Industri Universitas Medan Area yang mengikuti praktikum Dasar
Pemrograman Komputer.Tujuan dari pelaksanaan praktikum Dasar Pemrograman Komputer
ini adalah untuk mendukung mata kuliah Dasar Pemrograman Komputer yang diberikan
kepada mahasiswa di Jurusan Teknik Industri. Proses pelaksanaan praktikum Dasar
Pemrograman Komputer dilaksanakan di Laboratorium PUSKOM UMA.
Di dalam kegiatan praktikum ini, akan dipelajari dan dipraktekan tahapan-tahapan
dalam proses dasar pemrograman. Susunan modul ini terdiri dari tujuan, pembahasan teori
praktis, tugas-tugas praktikum dan tugas-tugas pendahuluan/rumah yang harus dikerjakan oleh
para praktikan. Diharapkan para praktikan telah mempersiapkan materi yang akan diberikan
pada praktikum demi kelancarannya. Modul praktikum Dasar Pemrograman Komputer ini
terdiri dari 10 modul dengan topik bahasan sebagai berikut :
• Modul 1
Pengenalan Bahasa C++ : Tipe data, Variabel, Operator, dan program.
• Modul 2
Input output Standar
• Modul 3
Elemen Dasar C++
• Modul 4
Algoritma Runtunan
• Modul 5
Algoritma pemrograman Seleksi kondisi/pemilihan
• Modul 6
Struktur Case
• Modul 7
Algoritma pemrograman Perulangan
• Modul 8
Pemrograman dengan Nested For
• Modul 9
Kominasi Algoritma pemrograman Pemilihan dan perulangan
• Modul 10
PRACTICAL TEST
Modul ini masih belum sempurna, sehingga perlu dikaji baik oleh dosen pengajar,
instruktur, asisten maupun praktikan yang terlibat dalam praktikum. Oleh karena itu penyusun
berharap agar para pemakai modul ini dapat memberikan sumbangan saran untuk perbaikan
modul Dasar Pemrograman Komputer ini.Semoga modul ini dapat bermanfaat bagi para
personil yang terlibat dalam praktikum Dasar Pemrograman Komputer, serta dapat
meningkatkan kemampuan mahasiswa dalam menguasai proses-proses dalam membuat
program sederhana.
Medan,
Penyusun
MODUL PRAKTIKUM
SKS
:
1 sks
Program Studi : Teknik Informatika
:
Semester :1
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar dalam
pemrograman komputer
2. Mampu merancang program sederhana menggunakan Konstruksi Dasar Algoritma
(Runtunan, pemilihan dan perulangan)
C. TEORI
STRUKTUR BAHASA C++
Cara terbaik untuk belajar bahasa pemograman adalah dengan cara langsung mempraktekkannya.
Cobalah contoh program berikut:
//program pertamaku
#include <iostream> 01
using namespace std;
int main()
{
cout<<"Selamat Belajar C++";
}
Tekan tombol Alt+F9 untuk mengkompile program (compile program), jika status dinyatakan
sukses, dan tidak ada pesan kesalahan (error) maka tekan Ctrl+F9 untuk menjalankan program
tersebut (run program).
// program pertamaku
Merupakan sebuah baris komentar. Semua baris yang ditandai dengan dua buah tanda slash (//),
akan diangkap sebagai baris komentar dan tidak akan berpengaruh pada hasil. Biasanya, baris
komentar dipakai oleh programmer untuk memberikan penjelasan tentang program.
Baris komentar dalam C++, selain ditandai dengan (//) juga dapat ditandai dengan (/*…*/)
Perbedaan mendasar dari keduanya adalah
// baris komentar
/* blok komentar */
#include<iostream.h>
Pernyataan yang diawali dengan tanda (#) merupakan pernyataan utnuk menyertakan pre-
processor. Pernyataan ini bukan untuk dieksekusi. #include<iostream.h> berarti
memerintahkan compiler untuk menyertakan file header iostream.h. Dalam file header ini, terdapat
beberapa fungsi standar yang dipakai dalam proses input dan output. (yaitu perintah cin dan cout)
int main()
Baris ini menandai dimulainya compiler akan mengeksekusi program. Atau dengan kata lain,
pernyataan main sebagai penanda program utama. Adalah suatu keharusan, dimana sebuah
program yang ditulis pada bahasa C++ memiliki sebuah main.
Modul Praktikum : Pemrograman Komputer (C++) 2
Main diikuti dengan sebuah tanda kurung ( ), karena main merupakan sebuah fungsi. Dalam bahasa
C++ sebuah fungsi harus diikuti dengan tanda ( ), yang nantinya dapat berisi sebuah argument.
{}
Isi dari sebuah fungsi harus diawali dengan kurung kurawal buka ({) dan diakhiri dengan kurung
kurawal tutup (})
cout<<”selamat belajar c++”;
perintah ini merupakan hal yang akan dieksekusi oleh compiler dan merupakan perintah yang akan
dikerjakan.
Perlu diingat bahwa setiap pernyataan dalam C++ harus diakhiri dengan tanda semicolon (;) untuk
memisahkan antara satu pernyataan dengan pernyataan yang lain.
return 0;
Pernyataan return 0 akan menyebabkan fungsi main() menghentikan program dan
mengembalikan nilai kepada main. Dalam hal ini, yang dikembalikan adalah nilai 0. Mengenai
pengembalian akan dijelaskan nanti mengenai Fungsi dalam C++.
Coba tambahkan sebaris pernyataan lagi, sehingga contoh program diatas akan menjadi seperti
berikut:
// latihan keduaku 02
#include<iostream>
using namespace std;
int main()
{
cout <<"selamat belajar c++";
cout<<"di Lab 7";
return 0;
}
D. PRAKTIKUM
Praktikkan lah di laboratorium komputer kode program pada Praktikum 01 dan Praktikum 02 :
Praktikum 01
1. #include <iostream>
2. using namespace std;
3.
4. int main(){
5. string pesan = "Selamat Belajar CPP", kalimat = "";
6.
7. cout<<pesan<<endl;
8. getline(cin,kalimat); //Fungsi input agar dapat membaca kalimat
panjang dan yang menggunakan spasi.
9. cout<<kalimat<<endl;
10.
11. return 0;
12. }
Praktikum 02
1. #include <iostream>
2. using namespace std;
3.
4. int main ()
5. {
6. // Pendeklarasian variabel:
7. int a, b = 2;
8. int hasil;
9.
10. // Operasi
11. a = 5; //Assignment Operator bukan inisialisasi
12. a = a + 1;
13. hasil = a - b;
Modul Praktikum : Pemrograman Komputer (C++) 3
14.
15. //Output hasil operasi di atas
16. cout <<"Hasil dari operasi variabel adalah :"<<hasil;
17.
18. return 0;
19. }
Belajar Pemrograman C
LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN I
Kelas A1/A2
Di kerjakan oleh :
… kesimpulan disini …
105
3. Lembar Pernyataan Anggota kelompok
Lembar Pernyataan
106
Modul Praktikum : Pemrograman Komputer (C++) 4
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar
dalam pemrograman komputer
C. TEORI
Dalam library C++, iostream mendukung dua operasi dasar yaitu cout untuk output dan cin
untuk input. Biasanya, dengan perintah cout akan menampilkan sesuatu ke layar monitor dan
dengan perintah cin akan menerima masukan dari keyboard.
#include <conio.h>
Merupakan file header yang berfungsi untuk menampilkan hasil antarmuka kepada pengguna.
Fungsi yang ada didalam conio.h antara lain:
1. getch() : merupakan singakatan dari get character and echo yang digunakan untuk menahan
output suatu program dan akan kembali mengeksekusi setelah kita melakukan inputan baik
tombol enter atau lainnya dan inputan tersebut tidak ditampilkan dalam window.
2. getche() : fungsinya hampir sama dengan getch() akan tetapi inputan akan ditampilkan
dalam window.
3. clrscr() : merupakan singkatan dari clear screen yang digunakan untuk membersihkan layar
window.
Output (cout)
Untuk cout menggunakan operator << (insertion operation)
Operator << dikenal dengan insertion operator yang memberikan perintah kepada cout. Untuk
contoh pertama, kalimat yang akan dicetak di layar di apit oleh tanda “ “ karena berupa string.
Sedangkan pada contoh kedua dan ketiga, tanpa tanda “ “, karena yang akan ditampilkan ke layar
bukan berupa string ataupun karakter.
Insertion operator (<<) dapat digunakan lebih dari satu dalam sebuah pernyataan:
cout<<”hallo”<<”saya”<<”belajar c++;
Untuk menambahkan perintah ganti baris, ada dua perintah yang dapat dipakai: “\n” dan perintah
endl.
Modul Praktikum : Pemrograman Komputer (C++) 5
Contoh:
Penggunaan perintah “\n”
// program pertamaku
#include<iostream> 03
using namespace std;
int main()
{
cout <<"selamat belajar c++ \n";
cout<<"di Lab 7";
return 0;
}
// program pertamaku 04
#include<iostream>
using namespace std;
int main()
{
cout <<"selamat belajar c++"<<endl;
cout<<"di Lab 7";
return 0;
}
Input (cin)
Untuk menerima inputan dengan perintah cin, maka operator yang akan digunakan adalah
overloaded operator (>>) dan diikuti dengan variabel tempat menyimpan inputan data.
Contoh:
int age; cin>>age;
cin hanya dapat diproses setelah penekanan tombol ENTER. Jadi walaupun hanya satu karakter
yang dimasukkan, sebelum penekanan Enter, cin tidak akan merespon apa-apa.
Contoh program:
#include<iostream>
using namespace std; 05
void main()
{
int age;
cout<<"masukkan umur anda = ";
cin>>age;
cout <<"umur saya sekarang= "<<age<<" tahun";
}
D. PRAKTIKUM
1. Silahkan lakukan percobaan pada komputer anda untuk kode program 03, 04 & 05 dan
perhatikan hasilnya.
2. Kerjakan lah kode program berikut :
1. #include <iostream>//cin-cout
2. #include <conio.h> //getch
3.
4. using namespace std;
5.
6. int main(){
7. char npm[10]; //gunakan cin
8. double nohp;
9. string ucapan="Selamat Datang", nama, asal, alamat ;
10. //masukkan
11. cout<<"masukan nama : ";getline(cin, nama); //getline input data
lebih dari 1 kata
Modul Praktikum : Pemrograman Komputer (C++) 6
Proses:
diskon = diskon / 100
total_belanja_akhir = totalbelaja – (totalbelanja * diskon)
Output:
============Selamat Datang============
Nama : <<nama>>
Usia : <<usia>>
Total Belanja anda Rp. <<totalbelanja>>
Anda mendapat diskon <<diskon>> %
Total Akhir Rp. <<total_belanja_akhir>>
=======Terimakasih Sudah Mampir=======
Modul Praktikum : Pemrograman Komputer (C++) 7
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar
dalam pemrograman komputer
C. TEORI
TIPE DATA
Terdapat 5 tipe data dari bahasa C, yaitu: void, integer, float, double dan char.
Tipe Keterangan
void Diartikan sebagai tanpa tipe data dan tanpa pengembalian nilai
int Bilangan bulat (integer)
float Bilangan pecahan (floating point)
double Bilangan pecahan dengan jangkauan data yang lebih luas
char Karakter
Sedangkan C++ sendiri menambahkan dua buah tipe data lagi, yakni: bool dan wchar_t.
Tipe Keterangan
Bool Isi bilangan Boolean (true dan false)
Wchar_t Wide character
1. #include <iostream> 06
2. using namespace std;
3. void main()
4. {
5. cout<<"ukuran char : "<<sizeof(char)<<" byte\n";
6. cout<<"ukuran short : "<<sizeof(short)<<" byte\n";
7. cout<<"ukuran long : "<<sizeof(long)<<" byte\n";
8. cout<<"ukuran float : "<<sizeof(float)<<" byte\n";
9. }
VARIABEL
Berbeda dengan pendeklarasian variabel di bahasa pemograman lain, dalam C++ sebelum
mendeklarasikan variabel, hal pertama yang harus dideklarasikan adalah tipe data yang akan
digunakan untuk menampung data.
Format penulisannya adalah:
Tipe_data pengenal = nilai;
Sebagai contoh:
int a;
float nomor;
atau dapat juga pemberian nilai awal untuk variabel dilakukan pada saat deklarasi. Contoh:
int a = 10; char s=’a’;
Jika hendak mendeklarasikan beberapa variabel sekaligus dengan tipe data yang
Modul Praktikum : Pemrograman Komputer (C++) 8
contoh
07
1. #include<iostream>
2. using namespace std;
3. void main()
4. {
5. //inisialisasi variabel:
6. int a,b;
7. int hasil;
8.
9. //proses:
10. a=5;
11. b=2;
12. a=a+1;
13. hasil = a - b;
14.
15. //cetak hasilnya:
16. cout<<"hasil = "<<hasil;
17. }
KONSTANTA
Konstanta mirip dengan variabel, namun memiliki nilai tetap. Konstanta dapat berupa nilai
interger, float, karakter, dan string. Pendeklarasian konstanta dapat dilakukan dengan dua cara:
Menggunakan (#define)
Deklarasi konstanta dengan cara ini, lebih mudah dilakukan karena akan menyertakan #define
sebagai preprocessor directive. Dan sintaksnya diletakkan bersama-sama dengan pernyataan
#include (diatas main() )
Format penulisannya adalah: #define pengenal nilai Contoh penggunaan:
#define phi 2.414159265 #define Newline ‘\n’ #define lebar 100
Pendeklarasian dengan #define tanpa diperlukan adanya tanda = untuk memasukkan nilai ke dalam
pengenal dan juga tanpa diakhiri dengan tanda semicolon (;)
Contoh:
const int lebar = 100; const char tab = ‘t’; const zip = 1212;
Untuk contoh terakhir, deklarasi variabel zip yang tanpa tipe data, maka
compiler akan secara otomatis memasukkannya kedalam tipe int
OPERATOR
Dalam C++ terdapat berbagai macam operator yang dapat dimanfaatkan dalam aplikasi.
Lvalue rvalue
Sebelah kiri tanda = dalam pernyataan diatas, dikenal dengan lvalue (left value) dan disebelah
kanan tanda = dikenal dengan rvalue (right value).
lvalue harus selalu berupa variabel, sedangkan rvalue dapat berupa variabel, nilai, konstanta, hasil
operasi ataupun kombinasinya.
Modul Praktikum : Pemrograman Komputer (C++) 9
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus / Sisa bagi
Contoh:
a=11%3, maka variabel a akan terisi nilai 2 karena sisa hasil bagi 11 dan 3 adalah 2.
Contoh:
Pengaruh penempatan increment didepan:
1. #include <iostream> 08
2. using namespace std;
3. void main()
4. {
5. int r=2; int s;
6. s=2 + ++r;
7. cout<<s<<endl<<r;
8. }
1. #include<iostream> 09
2. using namespace std;
3. void main()
4. {
5. int r=2; int s;
6. s=2 + r++;
7. cout<<s<<endl<<r;
8. }
Operator majemuk
(+=, -=, *=, /=, %=, <<=, >>=, &=, |=)
Dalam C++, operasi aritmatika dapat disederhanakan penulisannya dengan format penulisan
operator majemuk.
Misalnya:
a+=5 sama artinya dengan menuliskan a= a+5 a*=5 sama artinya dengan menuliskan a=a*5 a/=5
sama artinya dengan menuliskan a =a/5
10
1. #include<iostream.h>
2. #include<conio.h>
3. void main()
4. {
5. int x = 2;
6. clrscr();
7. cout <<"x = "<< x <<endl;
8. x+=3;
9. cout <<"setelah x+=3, x menjadi " << x <<endl;
10. x*=3;
11. cout <<"setelah x*=3, x menjadi "<< x <<endl;
12. }
Modul Praktikum : Pemrograman Komputer (C++) 10
Yang dihasilkan dari operator ini bukan berupa sebuah nilai, namun berupa bilangan bool yaitu
benar dan salah
Operator Keterangan
== Sama dengan
!= Tidak sama dengan
> Lebih besar dari
< Kurang dari
>= Lebih besar dari atau sama dengan
<= Kurang dari atau sama dengan
Contoh:
(7==5) hasilnya adalah false (5 > 4) hasilnya adalah true
1. #include<iostream.h> 11
2. #include<conio.h>
3. void main()
4. {
5. int nilai;
6. clrscr();
7. nilai = 3>2; //hasil ungkapan: benar
8. cout << "nilai = " << nilai<<endl;
9. nilai = 2>3; //hasil ungkapan: salah
10. cout << "nilai = " <<nilai<<endl;
11. }
1. #include<iostream.h> 12
2. #include<conio.h>
3. void main()
4. {
5. int x = 200;
6. clrscr();
7. cout<<"(x>=1)&&(x<=50) ->"<< ((x>=1) && (x<=50))<<endl;
8. cout<<"(x>=1)||(x<=50) ->"<< ((x>=1) || (x<=50))<<endl;
9. }
1. #include<iostream.h>
2. #include<conio.h> 13
3. void main()
4. {
5. int a,b, minim;
6. clrscr();
7. a = 53;
8. b = 6;
9. Minim = a<b ? a:b;
10. cout<<"Bilangan terkecil="<<minim<<endl;
11. }
Modul Praktikum : Pemrograman Komputer (C++) 11
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 06 – 13 yang ada pada Modul 3, dan dokumentasikan
kedalam laporan praktikum.
DAFTAR PUSTAKA :
• S. Indriani Lestariningati, M.T, Modul Praktikum :Pemograman Berorientasi Objek dengan C++.
• Blog18.com, CONTOH PROGRAM C++ : KASIR SEDERHANA di akses pada 01 Oktober 2019.
• Shalahuddin, M. dan A. S., Rosa, 2009, Belajar Pemrograman dengan Bahasa C++ dan Java, Penerbit
Informatika, Bandung.
Modul Praktikum : Pemrograman Komputer (C++) 12
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar
dalam pemrograman komputer
C. TEORI
Dalam sebuah proses program, biasanya terdapat kode penyeleksian kondisi, kode pengulangan
program, atau kode untuk pengambilan keputusan. Untuk tujuan tersebut, C++ memberikan
berbagai kemudahan dalam sintaksnya.
Terdapat sebuah konsep, yakni Blok Instruksi. Sebuah blok dari instruksi merupakan sekelompok
instruksi yang dipisahkan dengan tanda semicolon (;) dan berada diatara tanda { dan }.
Untuk blok instruksi, penggunaan tanda { dan } boleh ditiadakan. Dengan syarat, hanya pernyataan
tunggal yang akan dilaksanakan oleh blok instruksi. Apabila pernyataan yang dijalankan lebih dari
satu, maka tanda { dan } wajib disertakan
SELEKSI KONDISIONAL
if_else
Format penulisannya:
if (kondisi) pernyataan;
Kondisi adalah ekspresi yang akan dibandingkan. Jika kondisi bernilai benar, maka pernyataan
akan dijalankan. Namun, jika kondisi bernilai salah, maka pernyataan akan diabaikan.
Contoh: pernyataan berikut akan menampilkan tulisan x adalah 100 apabila x bernilai 100:
if (x==100)
cout<<”x adalah 100”;
Jika menginginkan sesuatu dijalankan ketika kondisi tidak terpenuhi, dapat ditambahkan keyword
else. Sintaksnya adalah:
if (kondisi)
pernyataan1;
else
pernyataan 2;
if
1. #include <iostream> 14
2. using namespace std;
3. int main()
4. {
5. int usia;
6. cout<<"Berapa usia anda : "; cin>>usia;
7. if (usia < 17)
8. cout<<"Anda tidak diperkenankan menonton" <<endl;
9. }
if_else
1. #include <iostream>
15
2. using namespace std;
3. int main()
4. {
5. int usia;
6. cout<<"Berapa usia anda : "; cin>>usia;
Modul Praktikum : Pemrograman Komputer (C++) 13
switch
Logika menggunakan switch sama dengan menggunakan perintah if yang telah dijelaskan
sebelumnya.
Sintaksnya adalah:
switch (option)
{
case nilai 1:
blok pernyataan 1 break;
case nilai 2:
blok pernyataan 2 break;
-
-
default:
blok pernyataan default
}
16
1. #include<iostream>
2. #include <stdlib.h>
3. using namespace std;
4. int main()
5. {
6. int usia;
7. cout<<"masukkan angka menurut keterangan dibawah ini:"<<endl;
8. cout<<"----------------------------------------------"<<endl;
9. cout<<" 1 = jika anda berusia dibawah 17 tahun"<<endl;
10. cout<<" 2 = jika anda berusia diatas 17 tahun"<<endl;
11. cout<<"----------------------------------------------"<<endl;
12. system("clear");
13. cin>>usia; switch (usia)
14. {
15. case 1:
16. cout<<"Anda tidak diperkenankan menonton!"; break;
17. case 2:
18. cout<<"Selamat menonton!"; break;
19. default:
20. cout<<"tidak terdefinisi";
21. }
22. }
PERULANGAN (loops)
Sebuah atau beberapa pernyataan akan dijalankan secara berulang ulang, selama kondisi terpenuhi.
while
Sintaksnya adalah:
while (kondisi) pernyataan;
17
1. #include<iostream>
2. using namespace std;
3. int main()
4. {
5. int n;
6. cout<<"Masukkan angka untuk mulai: "; cin>>n;
7. while (n>0)
8. {
9. cout<<n<<" , ";
10. --n;
11. }
12. cout<<"selesai";
13. }
2. Pernyataan while akan melakukan pengecekan apakah (n=0)? Dalam kondisi ini, terdapat
dua kemungkinan:
3. True : lakukan pernyataan (langkah 3)
4. False: lompati pernyataan (langkah 5)
5. Lakukan perintah:
6. cout<<n<<" , ";
7. --n;
8. Akhiri blok, kembali lagi ke langkah 2.
9. Lanjutkan program setelah blok while. Cetak SELESAI, dan akhiri program.
do…while
Sintaksnya:
do pernyataan while (kondisi);
Konsep do_while mirip dengan while. Namun pernyataan akan dijalankan terlebih dahulu sebelum
pengecekan kondisi.
Untuk lebih jelasnya perhatikan contoh berikut:
1. #include<iostream> 18
2. using namespace std;
3. int main()
4. {
5. int i; i=1;
6. while (i<10)
7. {
8. cout<<"C++"<<endl; i++;
9. }
10. }
1. #include<iostream> 19
2. using namespace std;
3. int main()
4. {
5. int i;i=0;
6. do
7. {
8. cout<<"C++"<<endl; i++;
9. }
10. while (i<10);
11. }
for
Sintaksnya:
for (inisialisasi; kondisi; counter) pernyataan;
Pernyataan akan diulangi jika kondisi bernilai true (sama seperti while). Namun for menetapkan
inisialisasi dan counter berada dalam ( ) tanda kurung . Penjelasannya adalah sebagai berikut:
inisialisasi; akan dieksekusi. Biasanya merupakan variabel yang akan dipakai sebagai counter atau
pencacah. Bagian ini akan dieksekusi hanya sekali. kondisi; akan diperiksa, jika bernilai true maka
perulangan akan dilanjutkan dan jika bernilai false maka perulangan akan dilewati. counter; akan
dieksekusi. Biasanya dapat terdiri dari sebuah instruksi atau blok instruksi yang berada diantara {
dan }.
20
Modul Praktikum : Pemrograman Komputer (C++) 15
#include<iostream.h>
using namespace std;
int main()
{
int i;
for(i=0;i<10;i++)
{
cout<<"C++"<<endl;
}
}
Perulangan bertumpuk secara sederhanan dapat diartikan: terdapat satu atau lebih loop didalam
sebuah loop. Banyaknya tingkatan perulangan, tergantung dari kebutuhan.
Biasanya, nested loops digunakan untuk membuat aplikasi matematika yang menggunakan baris
dan kolom. Loop luar, biasanya digunakan untuk mendefiniskan baris, sedangkan loop dalam,
digunakan untuk mendefinisikan kolom
1. #include<iostream> 21
2. using namespace std;
3. int main()
4. {
5. for(int baris=1;baris<=4;baris++)
6. {
7. for (int kolom=1;kolom<=5;kolom++)
8. {
9. cout<<kolom<<" ";
10. }
11. cout<<endl;
12. }
13. }
Contoh:
Penjelasan program:
Perulangan akan menghasilkan nilai sebagai berikut:
hasilnya dilayar akan muncul hasil dengan bentuk matriks sebagai berikut:
1 2 3 4 5
Modul Praktikum : Pemrograman Komputer (C++) 16
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Tambahan:
perintah break
break berfungsi untuk keluar dari loop, walaupun kondisinya belum seluruhnya terpenuhi.
Biasanya, perintah ini digunakan untuk memaksa program keluar dari loop. Contoh berikut akan
berhenti menghitung sebelum terhenti secara total.
for (int n=10; n>0; n--)
{
cout<<n<<” , “; if (n==3)
{
cout<<penghitungan dihentikan!”; break;
}
}
Dan dilayar akan tampak hasil sebagai berikut:
10, 9, 8, 7, 6, 5, 4, 3, perhitungan dihentikan!
Perintah continue
Perintah ini akan melewati satu iterasi yang sesuai dengan syarat tertentu, dan melanjutkan ke
iterasi selanjutnya.
Contoh:
for (int n=10; n>0; n--)
{
if (n==3) continue; cout<<n<<” , “;
}
cout<<penghitungan dihentikan!”;
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 14 – 21 yang ada pada Modul 4, dan dokumentasikan
kedalam laporan praktikum.
MODUL 5 : FUNGSI
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar dalam
pemrograman komputer
2. Mampu merancang program sederhana menggunakan Konstruksi Dasar Algoritma
(Runtunan, pemilihan dan perulangan)
C. TEORI
Yang dimaksud dengan Function atau fungsi adalah sejumlah instruksi yang dikelompokkan
menjadi satu, berdiri sendiri, yang berfungsi untuk menyelesaikan suatu pekerjaan tertentu. Bahasa
C/C++ adalah suatu bahasa yang struktur penulisannya merupakan kumpulan dari fungsi-fungsi.
Setiap fungsi mempunyai nama. Bahasa C/C++ minimal terdiri dari satu buah fungsi yang disebut
fungsi main( ). Nama main adalah nama fungsi yang ditentukan oleh bahasa C/C++, yang tidak
boleh diganti dengan nama lain. Fungsi-fungsi lain (yang dibuat sendiri bila diperlukan) namanya
dapat dikarang sendiri.
Contoh:
Sebuah program yang didalamnya terdapat sebuah fungsi yang namanya HITUNG.
1. #include<iostream>
2. using namespace std; 22
3. int HITUNG(int A, int B);
4. int main()
5. {
6. int A, B, T;
7. A=5;
8. B=2; T=0;
9. T=HITUNG(A,B);
10. cout<<T;
11. }
12.
13. int HITUNG(int A, int B)
14. {
15. int T; A=A*2; B=B*2; T=A+B;
16. return(T);
17. }
Suatu fungsi mempunyai “Judul” yang minimal berisi Nama dan Tipe Fungsi tersebut. Menulis
‘Judul’ sebuah fungsi sebagai awal dari suatu fungsi disebut men-DEFINISIKAN fungsi.
Bila sebuah fungsi ditulis ‘dibawah’ atau sesudah fungsi main( ), maka fungsi tersebut harus
diperkenalkan atau ‘didaftarkan’ terlebih dahulu sebelum dapat digunakan. Menulis ‘pendaftaran’
fungsi ini disebut men-DEKLARASIKAN Fungsi, yang ditulis sebelum program induk main( ).
Modul Praktikum : Pemrograman Komputer (C++) 18
Contoh:
Program yang tidak menggunakan fungsi lain selain main function
1. #include<iostream>
2. using namespace std; 23
3. int main()
4. {
5. cout<<”Jakarta”;
6. }
Sebuah fungsi memerlukan tipe sesuai dengan tipe nilai yang dikirimnya atau dikembalikan
(return) ke bagian program atau fungsi yang memanggilnya. Bila sebuah fungsi tidak mengirimkan
nilai balik, maka tipenya tidak diperlukan sehingga dapat dibuat sebagai void. Bila tipe tidak
ditulis, bahasa C menganggap fungsi tersebut menggunakan tipe
default yaitu tipe int.
Format penulisan:
Tipe nama(argumen1, argumen2, …) pernyataaan;
Dimana:
Tipe berisi tipe data yang akan dikembalikan oleh fungsi
Nama merupakan pengenal utnuk memanggil fungsi
Argumen (dapat didekalarasikan sesuai dengan kebutuhan). Tiap-tiap argumen terdiri dati tipe-
tipe data yang diikuti oleh pengenalnya. Sama seperti mendeklarasikan variabel baru (contoh: int
x)
Pernyataan merupakan bagian dari tubuh fungsi. Dapat berupa pernyataan tunggal ataupun
majemuk.
Fungsi yang tidak dideklarasikan terlebih dahulu, padahal Fungsi tersebut ditempatkan atau
diDEFINISIKAN dibawah atau sesudah Fungsi main( ), maka fungsi tersebut tidak akan dikenal
sehingga akan menyebabkan error.
1. #include<iostream>
2. using namespace std; 25
3.
4. int main()
5. {
6. CETAK();
7. }
8.
9. void CETAK()
10. {
11. cout<<"Jakarta";
12. }
Contoh jika fungsi CETAK( ) ditulis diatas atau sebelum fungsi main( ), maka tidak diperlukan
lagi menDEKLARASIKAN Fungsi detak
Modul Praktikum : Pemrograman Komputer (C++) 19
1. #include<iostream>
2. using namespace std;
25
3. void CETAK()
4. {
5. cout<<"Jakarta";
6. }
7.
8. int main()
9. {
10. CETAK();
11. }
Semua variabel yang dibuat dalam suatu Function, akan bersifat variabel LOKAL.
1. #include<iostream>
2. using namespace std;
26
3. void CETAK();
4.
5. int main()
6. {
7. CETAK();
8. }
9.
10. void CETAK()
11. {
12. int A, B, T;
13. A=5; B=2; T=A+B;
14. cout<<T;
15. }
Variabel LOKAL dan variabel GLOBAL, CALLING Function, dan CALLED Function.
1. #include<iostream>
2. using namespace std;
3.
27
4. void CETAK();
5. int main()
6. {
7. int A, B, T; A=5; B=2; T=A+B; CETAK();
8. }
9.
10. void CETAK()
11. {
12. cout<<T;
13. }
Semua variabel yang ada dalam fungsi utama main(), juga bersifat LOKAL, hanya dikenal dalam
fungsi main( ) saja, tidak dikenal didalam fungsi lain.
Error akan terjadi karena fungsi CETAK tidak mengenal variabel T, karena dalam fungsi CETAK
tidak mengenal variabel T, karena dalam fungsi CETAK tidak ada perintah menyiapkan variabel
T, seperti int T;
Contoh:
1. #include<iostream>
2. using namespace std; 28
3.
4. void CETAK(); int T;
5.
6. int main()
7. {
8. int A, B, T; A=5; B=2; T=A+B; CETAK();
9. }
10.
11. void CETAK()
12. {
13. cout<<T;
14. }
Dari contoh program diatas, main program atau main function disebut CALLING Function, yaitu
program yang meng-CALL, dan Fungsi CETAK diebut CALLED Function karena dia merupakan
fungsi yang di CALL.
Contoh:
Modul Praktikum : Pemrograman Komputer (C++) 20
1. #include<iostream>
2. using namespace std;
29
3.
4. void TAMBAH();
5. int A,B,T;
6.
7. int main()
8. {
9. A=5; B=2; TAMBAH();
10. cout<<T;
11. }
12.
13. void TAMBAH()
14. {
15. T=A+B;
16. }
Dalam fungsi main () dan juga dalam fungsi TAMBAH( ), tidak disiapkan variabel, sehingga
semua variabel diambil dari variabel GLOBAL.
Contoh:
1. #include<iostream>
2. using namespace std;
30
3.
4. void TAMBAH();
5. int A,B,T;
6.
7. int main()
8. {
9. int A, B; A=5; B=2; TAMBAH();
10. cout<<T;
11. }
12.
13. void TAMBAH()
14. {
15. T=A+B;
16. }
Dalam fungsi main() ada disiapkan variabel A dan B, sehingga yang diisi dengan 5 dan 2 adalah
A dan B yang ada dalam fungsi main( ), variabel lokal yang dimilikinya sendiri.
Fungsi TAMBAH( ) tidak menyiapkan variabel A, B, dan T, sehingga variabel A, B, dan T diambil
dari variabel GLOBAL. Dalam kelompok variabel GLOBAL memang ada variabel A, B, dan T,
sehingga proses dalam fungsi TAMBAH( ) tidak error, hanya isi variabel A, B, dan T yang ada
dalam kelompok variabel GLOBAL dan nilainya tidak diketahui (berisi nilai interger sembarang)
Perintah mencetak T dalam fungsi main( ) adalah mencetak variabel T yang ada dalam kelompok
variabel GLOBAL, yang isinya sembarang. Sehingga program diatas akan mencetak nilai interger
sembarang.
Passing variabel (passing by Value) Variabel Parameter dan variabel Argument
Calling function dapat mengirimkan (passing) suatu nilai ke Called Function. Bila nilai yang
dikirim adalah nilai atau data yang akan diproses., maka pengiriman nilai tersebut disebut passing
by value. Bila nilai yang dikirim berupa nilai pointer (bukan data) yang merefer ke suatu data,
maka pengiriman tersebut disebut passing by reference.
Contoh-contoh berikut mengenai passing by value:
1. #include<iostream>
2. using namespace std;
31
3.
4. void CETAK(int T);
5. int main()
6. {
7. int A, B, T; A=5; B=2; T=A+B; CETAK(T);
8. }
9.
10. void CETAK(int T)
11. {
12. cout<<T;
13. }
Modul Praktikum : Pemrograman Komputer (C++) 21
Pengalokasian variabel dalam memori untuk program diatas, dapat diilustrasikan sebagai berikut:
Nama variabel argument boleh berbeda dengan nama variabel parameter.
1. #include<iostream>
2. using namespace std;
32
3.
4. void CETAK(int T);
5. int main()
6. {
7. int A, B, T; A=5; B=2; T=A+B; CETAK(T);
8. }
9.
10. void CETAK(int X)
11. {
12. cout<<X;
13. }
1. #include<iostream>
2. using namespace std;
33
3.
4. void CETAK(int X, int Y);
5. int main()
6. {
7. int A, B; A=5; B=2; CETAK(A,B);
8. }
9.
10. void CETAK(int X, int Y)
11. {
12. int T;
13. T=X+Y;
14. cout<<T;
15. }
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 22 – 33 yang ada pada Modul 5, dan dokumentasikan
kedalam laporan praktikum.
MODUL 6 : ARRAY
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar dalam
pemrograman komputer
2. Mampu merancang program sederhana menggunakan Konstruksi Dasar Algoritma
(Runtunan, pemilihan dan perulangan)
C. TEORI
Pada program yang dibahas terdahulu, banyak menggunakan variabel tunggal, artinya sebuah
variabel hanya digunakan untuk menyimpan satu nilai. Array merupakan koleksi data dimana
setiap elemen memakai nama yang sama dan bertipe sama, setiap elemen diakses dengan
membedakan indeks array-nya.
Misal, sebuah array bernama nil yang terdiri dari 5 data dengan tipe int, dapat digambarkan sebagai
berikut:
Tiap ruang kosong merupakan tempat untuk masing-masing elemen array bertipe integer.
Penomorannya berawal dari 0 sampai 4, sebab dalam array indeks pertama selalu dimulai dengan
0
Deklarasi array
Sama seperti variabel, array harus dideklarasikan dulu sebelum mulai digunakan. Sintaksnya
adalah:
tipe nama [elemen];
Contoh, untuk pendeklarasian array dengan nama nil diatas adalah:
int nil [5];
Inisialisasi Array
Nilai suatu variabel array dapat juga diinisialisasi secara langsng pada saat deklarasi, misalnya: int
nil [5] = { 1, 3, 6, 12, 24 };
Maka di penyimpanan ke dalam arraynya akan digambarkan sebagai berikut:
nama [indeks]
Modul Praktikum : Pemrograman Komputer (C++) 23
Pada contoh diatas, variabel nilai memiliki 5 buah elemen yang masing-masing berisi data.
Pengaksesan tiap-tiap elemen data adalah:
nil[2] = 75;
Atau jika akan memberikan nilai array kepada sebuah variabel a, dapat ditulis:
a=nil[2];
Contoh program:
1. #include<iostream>
2. using namespace std; 34
3. int main()
4. {
5. int nil[]={16,2,77,40};
6. int n, hasil = 0;
7.
8. for (n=0;n<4;n++)
9. {
10. hasil +=nil[n];
11. }
12. cout<<hasil; return 0;
13. }
Struktur array yang dibahas diatas, mempunyai satu dimensi, sehingga variabelnya disebut dengan
variabel array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang
sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matriks B berukuran 2x3 dapat dideklarasikan sebagai berikut:
int n[2][3]={{2,4,1},{3,5,7}}; yang akan menempati lokasi memori dengan susunan sebagai
berikut:
1. #include <iostream> 36
2. using namespace std;
3.
4. int main() {
5.
Modul Praktikum : Pemrograman Komputer (C++) 24
1. #include <iostream> 37
2. using namespace std;
3.
4. int main() {
5.
6. int numbers[5];
7.
8. cout << "Enter 5 numbers: " << endl;
9.
10. // store input from user to array
11. for (int i = 0; i < 5; ++i) {
12. cin >> numbers[i];
13. }
14.
15. cout << "The numbers are: ";
16.
17. // print array elements
18. for (int n = 0; n < 5; ++n) {
19. cout << numbers[n] << " ";
20. }
21.
22. return 0;
23. }
26.
27. // print the sum
28. cout << "\nTheir Sum = " << sum << endl;
29.
30. // find the average
31. average = sum / count;
32. cout << "Their Average = " << average << endl;
33.
34. return 0;
35. }
Pada program berikut, mula-mula array diisi dengan bilangan acak. Kemudian program
menampilkan isi array dan sekaligus memperoleh bilangan yang terbesar. Setelah menampilkan
isi seluruh array, nilai terbesar ditampilkan
1. #include<iostream> 39
2. using namespace std;
3.
4. int main()
5. {
6. const int MAKS = 10;
7. int data[MAKS];
8. int i,maks;
9. //memperoleh data secara acak randomize();
10. for(int i=0; i<MAKS; i++) data[i]=rand();
11. cout<<"DATA Random Generate : "<<endl;
12. cout<<data[0]<<endl;
13. maks = data[0]; // isi dengan data pertama
14. for(i=1 ; i<MAKS ; i++)
15. {
16. cout<<data[i]<<endl;
17. if (data[i]>maks)
18. {
19. maks = data[i];
20. }
21. }
22. cout<<"Data terbesar = "<<maks<<endl;
23. }
1. #include<iostream> 40
2. using namespace std;
3.
4. int main()
5. {
6. int i, x, ketemu;
7. int data[]={5,100,20,31,77,88,99,20,55,1};
8.
9. cout<<"Data yang anda cari: "; cin>>x;
10.
11. ketemu = 0;
12. for (i=0; i<sizeof(data)/sizeof(int); i++)
13. {
14. if (data[i] == x)
15. {
16. ketemu=!ketemu; //menjadi benar break
17. //keluar dari for
18. }
Modul Praktikum : Pemrograman Komputer (C++) 26
19. }
20. if (ketemu) {
21. cout<<"Data tersebut ada pada posisi ke-";
22. cout<<i+1<<endl;
23. }else {
24. cout<<"Data tersebut tidak ada!"<<endl;
25. }
26. }
Mengurutkan data
Ada berbagai teknik untuk mengurutkan data, salah satu diantaranya adalah metoda bubble sort.
(metoda ini terkenal karena kesederhanaannya).
Pengurutan dilakukan dengan membandingkan setiap elemen dengan seluruh elemen yang terletak
sesudah posisinya.
41
1. #include<iostream>
2. #include<iomanip>
3. using namespace std;
4.
5. int main()
6. {
7. int i, j, tmp, jumdata;
8. int data[]={5,100,20,31,77,88,99,20,55,1};
9. jumdata=sizeof(data)/sizeof(int);
10.
11. //menampilkan data
12. cout<<"Data semula:"<<endl;
13. for (i=0;i<jumdata;i++)
14. cout<<setw(4)<<data[i];
15. cout<<endl;
16.
17. //mengurutkan data
18. for (i=0;i<jumdata-1;i++)
19. for(j=i+1;j<jumdata;j++)
20. if (data[i]>data[j])
21. {
22. tmp=data[i];
23. data[i]=data[j];
24. data[j]=tmp;
25. }
26.
27. //menampilkan data
28. cout<<"Data setelah diurutkan:"<<endl;
29. for (i=0;i<jumdata;i++)
30. cout<<setw(4)<<data[i]; cout<<endl;
31. }
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 34 – 41 yang ada pada Modul 6, dan dokumentasikan
kedalam laporan praktikum.
MODUL 7 : STRING
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar
dalam pemrograman komputer
2. Mampu merancang program sederhana menggunakan Konstruksi Dasar Algoritma
(Runtunan, pemilihan dan perulangan)
C. TEORI
String
Dalam pemograman C++, karena string merupakan kumpulan dari karakter maka untuk inisialisasi
string, dapat dilakukan dengan cara sebagai berikut:
char namaku[20];
Maka dari pernyataan diatas, dapat digambarkan sebagai deklarasi sebuah variabel string (array
dari karakter) dengan panjang maksimum 20 karakter, termasuk diakhiri dengan karakter null.
namaku
Ukuran maksimum 20 karakter untuk pernyataan diatas, dalam pengisiannya tidak harus penuh.
Contoh, variabel namaku, dapat diisi dengan string “Rachmat” yang panjangnya
7 karakter atau dapat digantikan dengan string “Johny” yang memiliki panjang 5 karakter.
Dari contoh tersebut, suatu string dapat menyimpan karakter kurang dari panjang totalnya. Dan
untuk mengakhiri string, di tiap-tiap akhir akan ditambahkan sebuah karakter null yang dapat
ditulis sebagai karakter konstan 0 atau ‘\0’
Contoh berikut akan memberikan string “Rachmat” dan “Johny” pada variabel namaku.
namaku
R a c h m a t \0
J o h n y \0
Inisialisasi String
Untuk inisialisasi string (pemberian nilai kepada variabel string), dapat dilakukan
dengan beberapa cara:
char namaku[20]={‘R’,’a’,’c’,’h’,’m’,’a’,’t’,’\0’};
atau
char namaku[20];
namaku[0] = ‘R’;
namaku[1] = ‘a’;
namaku[2] = ‘c’;
namaku[3] = ‘h’;
namaku[4] = ‘m’;
namaku[5] = ‘a’;
namaku[6] = ‘t’;
Modul Praktikum : Pemrograman Komputer (C++) 28
namaku[7] = ‘\0’;
atau
char namaku[20]=”Rachmat”;
Perbedaannya, disini adalah pada tanda (‘) yang berarti menginputkan nilai berupa karakter
kedalam variabel string sedangkan tanda (“) berarti menginputkan sebuah nilai string kedalam
variabel string.
Untuk memberikan nilai kepada sebuah variabel string, biasanya digunakan perintah input stream
(cin) dan diikuti dengan getline.
Contoh penggunaannya:
1. #include<iostream>
2. using namespace std;
42
3. int main()
4. {
5. char namaku[20];
6. cout<<"inputkan data nama : ";
7. cin.getline(namaku,20);
8. cout<<"Nama anda adalah : ";
9. cout<<namaku;
10. return 0;
11. }
Salah satu fungsi yang paling sering digunakan adalah strcpy, yaitu fungsi untuk mengkopi isi
suatu nilai string kedalam variabel string lainnya. Fungsi strcpy (string copy) didefinisikan dalam
library cstring (file header string.h) dan dipanggil dengan cara:
strcpy(string1, string2);
dengan cara seperti diatas, maka isi dari string2 akan dikopikan ke dalam string 1.
1. #include<iostream>
2. #include<string.h> 43
3. using namespace std;
4. //penggunaan strcpy
5. int main()
6. {
7. char namaku[20];
8. strcpy(namaku, "Ayu");
9. cout<<namaku;
10. return 0;
11. }
Perintah Kegunaan
Strcpy Menyalin isi string
Strln Mengetahui panjang string
Strcat Menggabungkan string
Strcmp Membandingkan dua buah string
strln
1. #include<iostream>
2. #include<string.h> 44
3. using namespace std;
4. int main()
5. {
6. char bunga[25]="mawar";
7. char kosong[15]="";
8. cout<<strlen(bunga)<<endl;
9. cout<<strlen(kosong)<<endl;
10. }
Modul Praktikum : Pemrograman Komputer (C++) 29
strcat
1. #include<iostream>
2. #include<string.h> 45
3. using namespace std;
4. int main()
5. {
6. char st[25]="satu dua";
7. cout<<"Isi st semula: "<<st<<endl;
8. strcat(st," tiga empat lima");
9. cout<<"Isi st semula: "<<st<<endl;
10. }
strcmp
1. #include<iostream>
2. #include<string.h> 46
3. using namespace std;
4. int main()
5. {
6. char st[128];
7. char cpp[]="C++";
8. cout<<"Masukkan sembarang string :"<<endl;
9. cin.getline(st, sizeof(st));
10. int hasil=strcmp(st, cpp);
11. if (hasil==0)
12. cout<<st<<"=="<<cpp<<endl;
13. else if (hasil<0)
14. cout<<st<<"< "<<cpp<<endl;
15. else
16. cout<<st<<"> "<<cpp<<endl;
17. }
1. #include<iostream>
2. using namespace std; 47
3.
4. void display(char *);
5. void display(string);
6.
7. int main()
8. {
9. string str1;
10. char str[100];
11.
12. cout << "Enter a string: ";
13. getline(cin, str1);
14.
15. cout << "Enter another string: ";
16. cin.get(str, 100, '\n');
17.
18. display(str1);
19. display(str);
20. return 0;
21. }
22.
23. void display(char s[])
24. {
25. cout << "Entered char array is: " << s << endl;
26. }
27.
28. void display(string s)
29. {
30. cout << "Entered string is: " << s << endl;
31. }
Modul Praktikum : Pemrograman Komputer (C++) 30
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 42 – 47 yang ada pada Modul 7, dan dokumentasikan
kedalam laporan praktikum.
Jika Nilai ratarata >= 60 Maka akan muncul agregat “LULUS” jika
di < 60 maka akan muncul text agregat “Tidak Lulus”.
A. TUJUAN
Setelah praktikum ini, praktikan diharapkan dapat:
1. Mampu menggunakan Tipe data, Variabel, Operator, nilai, ekspresi dan elemen dasar dalam
pemrograman komputer
2. Mampu merancang program sederhana menggunakan Konstruksi Dasar Algoritma
(Runtunan, pemilihan dan perulangan)
C. TEORI
Struktur
Dalam C++, tipe data struktur yang dideklarasikan dengan kata kunci struct, dapat mempunyai
komponen dengan sembarang tipe data, baik tipe data dasar maupun tipe data turunan, termasuk
fungsi. Dengan kemampuan ini, tipe data struktur menjadi
sangat berguna. Misalnya, kita ingin membentuk tipe data struktur yang namanya kotak. Maka
dapat dideklarasikan sebgai berikut:
struct tkotak
{
double panjang;
double lebar;
};
Untuk memberikan nilai ukuran kotak tersebut, kita dapat menggunakan perintahperintah ini
kotak.panjang = 10;
kotak.lebar = 7;
Untuk memberi nilai panjang dan lebar kotak, salah satu caranya adalah seperti diatas. Cara lain
untuk member nilai panjang dan lebar adalah dengan membentuk suatu fungsi. Karena fungsi ini
hanya digunakan untuk member nilai data panjang dan lebar suatu kotak, tentunya fungsi ini
khusus milik objek kotak, sehingga harus dianggap sebagai anggota struktur kotak. C++ sebagai
bahasa pemograman dapat mendefinisikan anggota tipe struktur yang berupa fungsi.
Dengan menambah fungsi tersebut, maka struktur kotak menjadi lebih jelas bentuknya.
struct tkotak
{
double panjang;
double lebar;
void SetUkuran(double pj, double lb)
{
panjang=pj;
lebar=lb;
};
};
tkotak kotak;
Dengan tipe struktur kotak seperti itu, untuk member nilai panjang dan lebar hanya dengan
memanggil SetUkuran( )
kotak.SetUkuran(10,7); Selain punya ukuran panjang dan lebar, kotak juga mempunyai keliling
dan luas, dengan demikian, kita dapat memasukkan fungsi untuk menghitung keliling dan luas ke
Modul Praktikum : Pemrograman Komputer (C++) 32
dalam struktur kotak. Sebagai catatan, bahwa definisi fungsi yang menjadi anggota struktur dapat
ditempatkan di luar tubuh struktur. Dengan cara ini maka deklarasi struktur kotak menjadi seperti
berikut:
struct tkotak
{
double panjang;
double lebar;
void SetUkuran(double pj, double lb)
double Keliling();
double Luas();
};
tkotak kotak;
Contoh penerapan struktur kotak dapat dilihat dalam program berikut:
48
1. #include<iostream>
2. Using namespace std;
3. struct tkotak
4. {
5. double panjang;
6. double lebar;
7. void SetUkuran(double pj, double lb);
8. double Keliling();
9. double Luas();
10. };
11. int main()
12. {
13. tkotak kotak;
14. kotak.SetUkuran(10,7);
15. cout<<"Panjang: "<<kotak.panjang<<endl;
16. cout<<"Lebar: "<<kotak.lebar<<endl;
17. cout<<"Keliling:"<<kotak.Keliling()<<endl;
18. cout<<"Luas: "<<kotak.Luas()<<endl;
19. return 0;
20. }
21. void tkotak::SetUkuran(double pj, double lb)
22. {
23. panjang=pj;
24. lebar=lb;
25. }
26. double tkotak::Keliling()
27. {
28. return 2*(panjang+lebar);
29. }
30. double tkotak::Luas()
31. {
32. return panjang*lebar;
33. }
Kelas
Bentuk program diatas adalah contoh gaya pemograman berorientasi prosedur (terstruktur) yang
sudah mengubah pola pikirnya menjadi berorientasi objek. Dalam pemograman berorientasi objek,
jika kita telah menentukan suatu objek tertentu, maka objek tersebut kita definisikan dalam bentuk
tipe baru yang namanya kelas. Tipe data kelas didefinisikan dengan kata kunci (keyword) class,
yang merupakan generalisasi dari pernyataan class. Jika objek kota dideklarasikan dalam bentuk
kelas, maka deklarasinya mirip dengan struktur.
class tkotak
{
double panjang;
double lebar;
public:
void SetUkuran(double pj, double lb);
double keliling();
double luas();
};
tkotak kotak;
dalam deklarasi kelas tersebut, muncul kata public. Data atau fungsi yang dideklarasikan di bawah
kata kunci public mempunyai sifat dapat diakes dari luar secara langsung. Dalam deklarasi
Modul Praktikum : Pemrograman Komputer (C++) 33
tersebut, variabel panjang dan lebar tidak bersifat public, sehingga tidak dapat diakses secara
langsung dari luar kelas. Dengan demikian perintahperintah di bawah ini tidak dapat dijalankan.
kotak.panjang = 10;
kotak.lebar = 7;
cout<<”panjang : ”<<kotak.panjang<<endl;
cout<<”lebar : “<<kotak.lebar<<endl;
Inilah yang membedakan struktur dan kelas. Dalam kelas, masing-masing data dan fungsi anggota
diberi sifat tertentu. Jika semua anggota kelas bersifat public, maka kelas sama dengan struktur.
Untuk dapat mengakses data panjang dan lebar pada kelas tkotak harus dilakukan oleh fungsi yang
menjadi anggota kelas dan bersifat public. Pada deklarasi kelas tkotak, satu-satunya jalan untuk
member nilai panjang dan lebar adalah dengan menggunakan fungsi SetUkuran( ). Untuk
mengambil nilai panjang dan lebar juga harus dilakukan oleh fungsi yang menjadi anggota kelas.
Misalnya, kita definisikan fungsi GetPanjang() dan GetLebar() untuk mengambil nilai panjang dan
lebar. Dapat dilihat dari sebuah contoh program, bentuk pendefinisian kelas adalah sebagai
berikut:
Untuk mendefinisikan variabel kelas, digunakan deklarasi:
Nama_Kelas Nama_Variabel;
Contoh:
Tkotak kotak;
Sebagai contoh:
tipe nama_kelas::namafungsi()
{
IsiFungsi
}
Praktekkan :
1. #include<iostream> 49
2. Using namespace std;
3. class tkotak
4. {
5. double panjang;
6. double lebar;
7. public:
8. void SetUkuran(double pj, double lb);
9. double Keliling();
10. double Luas();
11. double GetPanjang();
12. double GetLebar();
13. };
14. int main()
15. {
16. tkotak kotak;
17. kotak.SetUkuran(10,7);
18. cout<<"Panjang: "<<kotak.GetPanjang()<<endl;
19. cout<<"Lebar: "<<kotak.GetLebar()<<endl;
20. cout<<"Keliling: "<<kotak.Keliling()<<endl;
21. cout<<"Luas: "<<kotak.Luas()<<endl;
22. return 0;
23. }
24. void tkotak::SetUkuran(double pj, double lb)
25. {
26. panjang=pj;
27. lebar=lb;
28. }
29. double tkotak::Keliling()
30. {
31. return 2*(panjang+lebar);
32. }
33. double tkotak::Luas()
34. {
35. return panjang*lebar;
36. }
37. double tkotak::GetPanjang()
38. {
39. return panjang;
40. }
41. double tkotak::GetLebar()
42. {
Modul Praktikum : Pemrograman Komputer (C++) 34
D. PRAKTIKUM
1. Kerjakanlah semua Kode Program 48 – 49 yang ada pada Modul 8, dan dokumentasikan
kedalam laporan praktikum.
Method setBiodata(nama, usia) akan mengisi nilai variabel nama dan usia
Method CekTua(usia) :
jika usia <= 10 maka anak-anak
jika usia >= 20 maka dewasa
jika usia > 50 Sudah Tua
Soal pengujian :
Buatlah 2 buah objek baru dari class manusia dan implementasikan seluruh fungsi yang ada
pada class tersebut.
Modul Praktikum : Pemrograman Komputer (C++) 35
Pada modul ini mahasiswa akan di wajibkan menyelsaikan permasalahan nyata yang di selesaikan
dengan menggunakan aplikasi yang di buat dengan bahasa pemrograman C++. Barupa studi kasus
yang mampu diselesaikan dengan logika sederhana, seperti aplikasi pembayaran di kasir, aplikasi
pom bensin, dll.
PRAKTIKUM !
#1 Kasir dengan menggunkan diskon
Buat sebuah program kasir Minimarket dengan bahasa c++ dengan ketentuan sebagai berikut:
- Program dapat menentukan jumlah barang
- Program dapat mengimput nama barang
- Program dapat mengimput harga dan jumlah
- Program dapat memberikan diskon
- program dapat menamoikan total jumlah barang yang di pesan
Dari ketentuan di atas maka lansung saja kita mulai membuat programnya, anda bisa mengcopy
program berikut, tapi saran dari kami sebaiknya anda tulis ulang kode program berikut.
1. #include <iostream> 46
2. using namespace std;
3. main (){
4. string namaa="Ardiansyah";
5. string nim="F1B016103";
6. int diskon,i,j, x, total;
7. int bayar[10], hrga[10],jbrg[10], totali=0;
8. char nama[30][x];
9.
10. cout<<namaa<<endl;
11. cout<<nim<<endl;
12. cout<<"==============================="<<endl;
13. cout<<"======== Program Kasir ========"<<endl;
14. cout<<"==============================="<<endl;
15. cout<<endl;
16. cout<< "Masukkan Jumlah Data = ";
17. cin>>x;
18. cout << endl;
19. for(i=0;i<x;i++){
20. cout<<"==============================="<<endl;
21. cout<<endl;
22. cout<< "Masukkan Nama Barang = ";
23. cin>>nama[i];
24. cout<< "Masukkan Harga Barang = Rp.";
25. cin>>hrga[i];
26. cout<< "Masukkan Jumlah Barang = ";
27. cin>>jbrg[i];
28. cout<<endl;
29. }
30.
31. system("cls");
32. for(i=0;i<x;i++){
33. cout<<"Nama Barang = "<<nama[i]<<endl;
34. cout<<"Harga Barang = Rp. "<<hrga[i]<<endl;
35. cout<<"Jumlah Barang = "<<jbrg[i]<<endl;
36. bayar[i]=hrga[i]*jbrg[i];
37. cout<<"jumlah Belanja = "<<bayar[i]<<endl;
38. cout<<endl;
39. }
40.
41. for(i=0; i<x; i++){
42. totali=totali+bayar[i];
43. cout<<"Sub total = "<<totali<<endl;
44. }
45. if (totali>30000){
46. diskon=0.1*totali;
47. cout<<"Diskon 10% = Rp. "<<diskon<<endl;
48. total=totali-diskon;
49. cout<<"Total = Rp. "<<total<<endl;
50. }
Modul Praktikum : Pemrograman Komputer (C++) 36
51. }
#2 Kasir restoran
Buat sebuah program kasir rumah makan, dimana program dapat menampilkan menu makanan
dan dapat memilih menu yang di inginkan. Kemudain program dapat melakukan pembayaran dan
total jumlah pembayaran.
1. #include<iostream> 47
2. using namespace std;
3. int main (){
4. int kode,pri,jml,tot,byr,kbl;
5. char mad;
6. do
7. {
8. cout<<" RUMAH MAKAN "<<endl;
9. cout<<" NASI BALAP PUYUNG "<<endl;
10. cout<<" Aplikasi kasir rumah makan"<<endl;
11. cout<<"==========================="<<endl;
12. cout<<""<<endl;
13. cout<<"Menu Makanan Harga"<<endl;
14. cout<<"1. AYAM GORENG Rp. 10.000"<<endl;
15. cout<<"2. NASI GORENG Rp. 8.000"<<endl;
16. cout<<"3. MIE PANGSIT Rp. 10.000"<<endl;
17. cout<<"4.NASI BALAP PUYUNG Rp.12.000"<<endl;
18. cout<<"5. NASI CAMPUR Rp. 8.000"<<endl;
19. cout<<"6. JUS JERUK Rp. 6.000"<<endl;
20. cout<<"7. AIR GELAS Rp. 500"<<endl;
21. cout<<'n'<<"MASUKKAN PILIHAN ANDA :";
22. cin>>kode;
23. switch (kode){
24. case 1:
25. cout<<'n'<<"AYAM GORENG"<<endl;
26. pri=10000;
27. cout<<"Masukkan Jumlah :";
28. cin>>jml;
29. tot=pri*jml;
30. cout<<"Total harganya yaitu:Rp."<<tot<<endl;
31. cout<<"DIBAYAR : Rp. ";
32. cin>>byr;
33. kbl=byr-tot;
34. cout<<"KEMBALI : Rp. "<<kbl<<endl;
35. cout<<"Masih ada Y/T :";
36. cin>>mad;
37. break;
38. case 2:
39. cout<<'n'<<"NASI GORENG"<<endl;
40. pri=8000;
41. cout<<"Masukkan Jumlah :";
42. cin>>jml;
43. tot=pri*jml;
44. cout<<"Total harganya yaitu : Rp. "<<tot<<endl;
45. cout<<"DIBAYAR : Rp. ";
46. cin>>byr;
47. kbl=byr-tot;
48. cout<<"KEMBALI : Rp. "<<kbl<<endl;
49. cout<<"Masih ada Y/T :";
50. cin>>mad;
51. break;
52. case 3:
53. cout<<'n'<<"MIE PANGSIT"<<endl;
54. pri=10000;
55. cout<<"Masukkan Jumlah :";
56. cin>>jml;
57. tot=pri*jml;
58. cout<<"Total harganya yaitu : Rp. "<<tot<<endl;
59. cout<<"DIBAYAR : Rp. ";
60. cin>>byr;
61. kbl=byr-tot;
62. cout<<"KEMBALI : Rp. "<<kbl<<endl;
63. cout<<"Masih ada Y/T :";
64. cin>>mad;
65. break;
66. case 4:
Modul Praktikum : Pemrograman Komputer (C++) 37
TUGAS TEST :