Laman

Minggu, 08 Februari 2015

MODUL Program Dev C++ Algoritma Pemrograman



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*
---------------------------------------------------------------------------------------------------------------------------------------


Tidak ada komentar:

Posting Komentar