Modul Dev C++
Puede School Partnership
Silabus Pemrograman C++
Pertemuan
1 : Konsep Pemrograman.......................................................................................... 01
Pertemuan
2 :Manipulasi String.................................................................................................. xx
Pertemuan
3 : Latihan I/O dan fungsi built in C++ ........................................................................ xx
Pertemuan
4 : Percabangan........................................................................................................ xx
Pertemuan
5 : Latihan Percabangan............................................................................................ xx
Pertemuan
6 : Perulangan.......................................................................................................... xx
Pertemuan
7 : Pemantapan perulangan...................................................................................... xx
Pertemuan
8 : Array................................................................................................................... xx
Pertemuan
9 : Project Akhir (topik bebas)................................................................................... xx
Pertemuan
10 :Konsultasi dan Pengerjaan Project....................................................................... xx
Pertemuan
11 : Presentasi / Demo Project Akhir......................................................................... xx
Pertemuan
12 : Presentasi / Demo Project Akhir......................................................................... xx
Daftar
Pustaka............................................................................................................................ xx
* Pertemuan 1 (Konsep Pemrograman)*
--------------------------------------------------------------------------------------------------------------------------------------
Istilah – istilah dalam pemrograman :
Program
Pengertian Program bukanlah software (hanya translate dari bahasa
Indonesia ke Inggris), melainkan kumpulan perintah yang disusun logis dengan
bahasa pemrograman untuk tujuan tertentu. Sedangk
Programming
Aktivitas pembuatan program.
Programmer
Orang yang profesinya membuat program.
System Analyst
Orang yang profesinya merancang / design alur kerja program dari
awal sampai selesainya program.
Prospek Pendapatan jika menguasai Programming
Di jaman teknologi, hampir semua bidang sekarang ini membutuhkan
“sentuhan” teknologi. Kegiatan jual beli, pencatatan gaji karyawan, pembukuan,
peminjaman dan sebagainya membutuhkan program. Rata-rata besaran harga program
(bukan produk masal) adalah Rp. 5.000.000,- (lima juta rupiah). Harga tersebut
sudah termasuk survey, perancangan database dan pembuatan programnya sendiri. Semua kegiatan tersebut bisa dilakukan oleh 1
orang atau beberapa orang dalam 1 tim.
Yang menyenangkan di dunia komputer adalah keajaiban copy paste.
Kita hanya perlu membuat 1 saja program dan menjual program tersebut berulang –
ulang ke customer yang berbeda beda dengan jurus copy paste. Hitung saja berapa
keuntungan yang kira-kira didapat. Maka dari itu daftar orang terkaya di dunia
masih di dominasi oleh orang komputer. Misalnya Bill Gates (pemilik Microsoft),
Larry Page dan Sergey Brint (pendiri Google), Mark Zuckerberg (pendiri
Facebook), Jeff Bezos (pemilik Amazon) dan sebagainya
Bahasa Pemrograman
Pembuatan program komputer intinya untuk membantu
pekerjaan manusia dalam melakukan banyak hal seperti melakukan perhitungan
kompleks atau menggantikan pekerjaan mencatat transaksi jual beli dan
sebagainya.
Agar komputer mau menuruti keinginan programmer, maka
programmer harus menuliskan perintah – perintah dalam bahasa pemrograman. Yang
akan kita pelajari semester ini adalah bahasa pemrograman C++ (karena sampai
tahun 2014 ini, kompetisi pemrograman dunia – International Olympiad in
Informatics – IOI masih menggunakan bahasa pemrograman C++ ). C++ sangat cocok untuk berlatih logika
pemrograman bagi orang awam sampai tingkat mahir. Anda dapat mendownload
sendiri melalui Internet atau meminta software C++ kepada pengajar kelas anda.
Yang akan digunakan di kelas adalah Dev
C++ MingGW atau variannya.
C++ adalah bahasa pemrograman yang dikembangkan dari bahasa
C. Banyak perintah baru yang terdapat di dalam C++. Programmer C++ pun biasanya
juga mencampur perintah C di dalam program C++ nya. Setiap file program yang
disimpan dengan ekstension *.cpp
dapat menjalankan perintah C++ dan C. Sedangkan file program yang disimpan
dengan ekstension *.c hanya dapat
menjalankan perintah C saja. Jadi sebaiknya simpan selalu program anda dengan
ekstension *.cpp. Semua perintah dalam C++ bersifat case sensitive (huruf
besar dan kecil dianggap berbeda).
Program
Pertama
Setelah
menginstall Dev C++, silakan membuat file baru (Ctrl N) dan mengetikkan
perintah wajib seperti contoh
dibawah ini :
int main(){
//
tulis perintah program anda disini. Oh ya tenang saja, ini hanya komentar yang
//
tidak ikut dijalankan oleh C++.
return 0;
}
Setiap perintah (statement) wajib diakhiri dengan titik koma ( ; ). Simpan
program diatas dengan nama pertama.cpp.
Sebelum melanjutkan ke perintah input output dalam C++ dan C, ada baiknya anda
mengerti terlebih dahulu maksud dari variabel, tipe data dan data.
Variabel,
Tipe Data dan Data
*)
catatan penting: setiap variabel harus punya nama dan tipe data.
Ketentuan
penamaan variabel
1. Harus diawali huruf.
2. Tidak boleh mengandung spesial karakter apapun kecuali underscore( _
)
3. Tidak boleh menggunakan reserve word (kata yang sudah digunakan C++
sebagai perintahnya)
4. Tidak boleh kembar dengan nama variabel yang lain.
Kelompok
Tipe Data
1. Bilangan Bulat
a. short : -32,768 s/d 32,767
b. int :-2,147,483,648 s/d 2,147,483,647
c. long :-9,223,372,036,854,775,807 s/d 9,223,372,036,854,775,808
d. long long : -18,446,744,073,709,551,615 s/d
18,446,744,073,709,551,616
2. Bilangan Pecahan
a. float :sama
dengan (long)
b. double : sama
dengan (long long)
3. Karakter
a. string : >
1 karakter
b. char : 1
karakter
4. Logika
a. boolean : true /
false
5. Terstruktur
a. array :
kumpulan nilai
Latihan Tipe Data (tentukan tipe data yang paling
tepat dari contoh data di bawah ini)
·
true =
·
22/7 =
·
100000 =
·
75 =
·
“false” =
·
3.14 =
·
“500” =
·
“K-14” =
Perintah
Input Ouput
Bahasa
|
Input
|
Output
|
Include
|
C
|
int n;
scanf(“%d”, &n);
|
printf(“Nilai = %d”, n);
|
#include<cstdio>
|
C++
|
int n;
cin >> n;
string kalimat;
getline(cin, kalimat);
|
cout << “Nilai = “<< n;
cout << kalimat;
|
#include <iostream>
#include <string>
|
Contoh
program utuh
#include <cstdio>
int main(){
printf(“Usia anda =
“);
int usia;
scanf(“%d”,
&usia);
printf(“oh ternyata
usia anda %d tahun.\n”, usia);
return 0;
}
Keterangan
·
#include <cstdio>
dibutuhkan oleh printf dan scanf.
·
printf : mencetak tulisan dan isi variabel.
·
scanf : program akan berhenti, menunggu pengguna program memasukkan
sesuatu dari keyboard dan menekan enter.
·
%d : menunjukkan format angka. Bahasa C membutuhkan format dari
inputan dan isi variabel yang akan dicetak. Format angka ini akan mempercepat
proses input output dibandingkan cin dan cout dalam C++.
·
\n : mencetak enter
Operator
|
Assignment
|
Aritmatika
|
Relasional
|
Logika
|
operator
|
=
|
+, -, *, /, %, ++, --
|
>, <, >=, <=, ==, !=
|
&&, ||, !
|
Contoh
|
int x = 10;
|
int n;
n = 10 % 2;
n++;
n--;
|
int nilai = 80;
if(nilai>74)
cout<<”lulus”;
akan dibahas
lebih lanjut di pertemuan tentang percabangan.
|
int n = 3;
int m = 4;
if(n==3 && m==4)
cout<<”halo”;
akan dibahas
lebih lanjut di pertemuan tentang percabangan.
|
* Pertemuan 2– Manipulasi
String*
--------------------------------------------------------------------------------------------------------------------------------------
Tipe data string memperbolehkan
semua karakter masuk kedalam variabel. Dalam C++, string membutuhkan #include
<string>.
#include <iostream>
#include <string>
using namespace std;
int main(){
cout<<“Masukkan
sebuah kalimat = “;
string kalimat;
getline(cin, kalimat);
cout<<“Huruf
pertama dari kalimat anda = “<< kalimat.at(0)<<endl;
int panjang =
kalimat.size();
int posisi =
kalimat.find(“ “);
cout<<
“Panjang kalimat anda = “<< panjang << “ huruf”<<endl;
cout<< “Huruf
terakhir dari kalimat anda = “<< kalimat.at(panjang – 1)<<endl;
cout<< ”Posisi
spasi pertama = “ << posisi<< endl;
return 0;
}
Keterangan
·
#include <iostream> : dibutuhkan oleh cout dan cin.
·
#include <string> : dibutuhkan karena ada tipe data
string dalam program.
·
using namespace std : digunakan untuk menyingkat penulisan
cout, cin, endl dan string. Jika tidak ada using namespace std, maka penulisan
cin cout endl dan string menjadi std::cin,
std::cout, std::string, std::endl;
·
string kalimat : memberitahu komputer bahwa kita memiliki 1
variabel bernama kalimat dan bertipe data string.
·
getline(cin, kalimat) : memodifikasi cin sehingga bisa menangkap
seluruh inputan meskipun dipisahkan spasi. Tanpa getline, cin hanya dapat
menangkap 1 kata saja. Kata berikutnya akan diabaikan atau dibuang.
·
kalimat.at(0) : mengakses huruf pertama di dalam variabel
kalimat. Huruf pertama di C++ adalah huruf ke 0 (nol).
·
endl : mencetak enter. Sama dengan \n
dalam bahasa C.
·
kalimat.size() : mencari banyaknya huruf dalam variabel kalimat.
·
kalimat.find(“ ”) : mencari spasi dalam variabel kalimat. Jika
ditemukan, maka akan menghasilkan lokasi huruf spasi (huruf pertama adalah
huruf ke 0). Atau menghasilkan -1 jika tidak menemukan karakter yang dicari.
·
kalimat.at (panjang – 1): huruf terakhir
di C++ adalah banyaknya huruf – 1. Dikurangi satu karena huruf pertama C++
mulai dari angka 0 (nol)BUKAN 1
(satu).
* Pertemuan 3– Latihan I/O
dan fungsi built in C++*
--------------------------------------------------------------------------------------------------------------------------------------
... Review Pertemuan
2 ...
Buat program
sesuai dengan contoh input output berikut ini :
1. Program menghitung sisi miring segitiga siku – siku :
Masukkan sisi
datar = 3 ←
Masukkan sisi
tegak = 4 ←
Sisi miring
segitiga siku – siku = 5.00
*) simpan dengan nama file prak2_1.cpp
2. Program menghitung luas dan keliling lingkaran :
Masukkan jari –
jari lingkaran : 10 ←
Luas lingkaran =
314.16
Keliling lingkaran
= 62.83
*) simpan dengan nama file prak2_2.cpp
3. Password Generator
Ketikkan username
yang diinginkan = puede ←
Password yang disarankan = p6puede6e
Jika program
dijalankan dengan inputan berbeda
Ketikkan username
yang diinginkan = sinlui2 ←
Password yang disarankan = s7sinlui272
*) simpan dengan nama file prak2_3.cpp
4. Menukar isi variabel.
Bilangan pertama = 10 ←
Bilangan kedua = 15 ←
Setelah ditukar, isi variabel :
Bilangan pertama = 15
Bilangan kedua = 10
*) simpan dengan nama file prak2_4.cpp
5. Perusahaan XYZ ingin seminimal
mungkin menyewa Bus (kapasitas maksimal 40 orang) dan Mini bus (kapasitas
maksmal 18 orang) untuk liburan karyawannya. Bantu perusahaan dengan membuat
programnya sesuai dengan input output dibawah ini :
Jumlah karyawan = 144 ←
Seharusnya menyewa
3 bus, 1 minibus dan memecat 6 karyawannya.
Jika program
dijalankan dengan inputan berbeda
Jumlah karyawan = 94 ←
Seharusnya menyewa 2
bus, 0 minibus dan memecat 14 karyawannya.
*) simpan dengan nama file prak2_5.cpp
* Pertemuan 4– Percabangan(Branching)
*
--------------------------------------------------------------------------------------------------------------------------------------
... Review Pertemuan 3 ...
Fasilitas dalam pemrograman untuk menjalankan perintah program
berdasarkan syarat atau kondisi tertentu. Setiap perintah yang ada di dalam int
main() {} y selama ini pasti akan
dijalankan urut dari atas ke bawah. Percabangan membuat perintah tersebut belum pasti dijalankan karena terdapat syarat / kondisi yang harus dipenuhi
terlebih dahulu.
Syarat / kondisi dalam percabangan pasti menggunakan
operator relasional (lihat kembali materi tentang
operator).
Bentuk percabangan(branching):
1.
Single Branch
Contoh penggalan program dibawah ini untuk memeriksa apakah nilai
yang dihasilkan termasuk lulus atau remidi. Karena jumlah kemungkinannya
hanya 2 (lulus atau remidi), biasanya jumlah if adalah jumlah kemungkinan – 1.
int nilai = 80;
if(nilai >= 75)
cout<< “lulus”;
else
cout<<”remidi”;
if maupun else hanya dapat mempengaruhi 1 perintah
saja tepat setelahnya. Oleh sebab itu, setelah kurung tutup if, tidak boleh ada titik koma
(;), karena (;) dianggap sebagai 1 statement (kosong).Contoh dibawah ini
adalah contoh percabangan if yang salah, karena perintah cout <<
“lulus”; tidak dipengaruhi oleh if. If hanya mempengaruhi (;) empty statement
saja.
if(nilai >= 75) ;
cout<< “lulus”;
Jika ada if, belum tentu
ada else. Jika ada else, pasti ada if.
2.
Multi Branch
Penggalan
program dibawah ini untuk mencetak terbilang (angka yang dituliskan dalam
huruf).
int angka = 1;
if(angka == 1)
cout << “satu”;
else if (angka == 2)
cout << “dua”;
else
cout << “bukan satu atau
dua”;
3.
Multi Statement
Jarak antara if dan else harus
1 perintah (statement). Jika kenyataannya kita sebagai programmer membutuhkan
> 1 perintah, maka anda harus gunakan kurung kurawal buka dan tutup { } untuk membungkus banyak perintah anda seolah
– olah menjadi 1 perintah saja.
int nilai = 80;
if(nilai >= 75){
cout<< “lulus”;
cout << “anda hebat”;
}
else{
cout<<”remidi”;
cout << “belajar lebih
giat lagi ya”;
}
4.
Multi Condition
Contoh
program dibawah ini untuk memeriksa kategori seseorang berdasarkan usianya.
Diketahui kategori usia :
0-5 : balita
6-10 : anak – anak
11 –
20 : remaja
int usia;
cin>>usia;
if( usia>=0 && usia <=5)
cout<< “balita”;
else if( usia>=6 && usia <=10)
cout << “anak – anak”;
else if( usia>=11 && usia <=20)
cout << “remaja”;
* Pertemuan 5–Latihan Percabangan*
--------------------------------------------------------------------------------------------------------------------------------------
... Review Pertemuan 4 ...
Buat program
sesuai dengan contoh input output berikut ini :
1. Program cek usia apakah ganjil / genap:
Masukkan usia
anda dalam tahun = 3 ←
Sekarang ini usia
anda ganjil.
*) simpan dengan nama file prak5_1.cpp
2. Program konversi angka desimal menjadi angka romawi dengan batasan
input 0 - 99.
Masukkan angka :
10 ←
Angka romawi = X
Jika program yang sama diatas dijalankan dengan inputan yang berbeda
Masukkan angka : 99←
Angka romawi = XCIX
*) simpan dengan nama file prak5_2.cpp
* Pertemuan 6– Perulangan(looping)
*
--------------------------------------------------------------------------------------------------------------------------------------
Fitur dalam pemrograman untuk mengulang perintah secara
otomatis dengan batasan perulangan sesuai dengan perintah programmer. Mungkin
masih cukup mudah jika anda diminta untuk mencetak nama anda 100x. Yang
terbayang di kepala bagi orang awam yang belum mengenal perulangan adalah ketik
satu kali saja, lalu copy paste sebanyak 99x. Tetapi bagaimana jika anda
diminta mencetak nama anda sebanyak milyaran kali? Atau mencetak nama sebanyak
sesuai dengan angka yang diinputkan?
Untuk itulah ada fitur perulangan dalam pemrograman.
Cukup dengan beberapa baris saja kita
dapat lebih leluasa dan mudah membuat program sesuai permintaan customer. Kita
hanya akan fokus kepada 2 jenis perulangan yang dimiliki oleh C++, yaitu : For dan While.
Setiap perulangan pasti memiliki counter (tukang hitung)
yang berbentuk variabel bertipe integer atau char. Mirip seperti pelatih yang
menghitung berapa putaran atlitnya berlari keliling lapangan, nilai dari
counter tersebut akan terus bergerak mulai dari angka awal sampai dengan angka
terakhir yang menandakan perulangan berhenti.
for (int c = 1; c<=3; c++)
cout << c <<
“. Halo”<< endl;
Keterangan
·
Variabel c adalah counter
(tukang hitung) yang nilainya akan terus bergerak mulai dari 1 sampai dengan 4.
·
For memiliki 3 bagian yang
dipisahkan dengan titik koma (;) :
o
Bagian pertama (int c = 1) --> untuk
memberikan nilai awal dari counter.
o
Bagian kedua (c<=3) --> untuk
memberikan kondisi / syarat kapan perulangannya terus berjalan, yaitu selama c
<= 3, maka perulangan akan terus berjalan.
o
Bagian ketiga (c++) --> perintah
untuk menaikkan satu nilai dari variabel c. Perintah inilah yang akan
menyebabkan perulangan berhenti saat c mencapai angka 4. Saat c = 4, bagian
kedua dari for akan bernilai false dan menyebabkan perulangan berhenti.
·
For diatas akan menjalankan
perintah cout << c << “. Halo”<< endl;sebanyak 3x.
Sama
seperti if dan else, for hanya dapat mempengaruhi 1 perintah tepat setelahnya. Untuk itu setelah for() tidak boleh ada titik
koma (;).
* Pertemuan 7– Pemantapan
Perulangan*
--------------------------------------------------------------------------------------------------------------------------------------
* Pertemuan 8– Array *
--------------------------------------------------------------------------------------------------------------------------------------
* Pertemuan 9– Project Akhir
(topik bebas) *
--------------------------------------------------------------------------------------------------------------------------------------
* Pertemuan 10– Konsultasi
dan Pengerjaan Project*
---------------------------------------------------------------------------------------------------------------------------------------
* Pertemuan 11– Presentasi /
Demo Project Akhir *
---------------------------------------------------------------------------------------------------------------------------------------
* Pertemuan 12– Presentasi /
Demo Project Akhir *
---------------------------------------------------------------------------------------------------------------------------------------
* Daftar Pustaka*
---------------------------------------------------------------------------------------------------------------------------------------