Kontrak Perkuliahan & Project · 2017. 5. 24. · 1.1 Sejarah Perkembangan Bahasa C Bahasa C...
Transcript of Kontrak Perkuliahan & Project · 2017. 5. 24. · 1.1 Sejarah Perkembangan Bahasa C Bahasa C...
Kontrak Perkuliahan & Project
• Link Kontak Perkuliahan
• Link Project
• Link Contoh Project
1.1 Sejarah Perkembangan Bahasa C
Bahasa C Penemu: Brian W. Kernighan
dan Denies M. Ricthie 1972 di
Daerah Bell
Pengembangan
Bahasa B
Penemu: Ken Thompson
(1970)
Pertama kali: dioperasikan
pada sistem operasi UNIX.
Bahasa pemrograman tingkat
menengah atau Bahasa Tingkat
Menengah
Kemampuannya: misalnya
dBASE, Word Star dan lain-lain
1.2 Sekilas Tentang Bahasa C++
Bahasa C
Menjadi:
C with Classes
Tahun 1980 Oleh seorang ahli
bernama Bjarne Stroustrup
Menjadi:
C++ Tahun 1983 Oleh oleh
Rick Mascitti
Dibuat di Laboratorium
Bell, AT&T.
Penamabahan Konsep2 baru class dengan
sifat-sifatnya yang disebut dengan Object
Oriented Programming (OOP),
Tujuan utama: membantu dan mengelola
program yang besar dan kompleks.
1.3 Perbedaan C dan C++
Bahasa pemrograman prosedural
Bahasa pemrograman yang memiliki sifat Object Oriented
Programming (OOP)
2. Pengenalan IDE (Integrated Development Environment) C++
Menulis Naskah Program
Mengkompilasi Program (Compile)
Melakukan Pengujian Program (Debugging)
Mengaitkan Object dan Library ke Program (Linking)
Menjalankan Program (Running)
IDE
TERBAGI 4
A. Baris Menu ( Menu Bar )
B. Baris Peralatan (Tools Bar)
C. Jendela Editor
D. Jendela Message
E. Baris Status (Status Bar)
3. Pengenalan Struktur program C++
[Kristanto:2009] Salah satu konsep yang penting dalam bahasa pemrograman C++ adalah Struktur. Struktur merupakan bentuk susunan dari suatu program yang dibuat. Perhatikan contoh program berikut ini: Contoh: /*contoh program sederhana dengan C++*/ #include <stdio.h> main() { printf(“Belajar Bahasa C++”); }
Komentar program praprosesor nama dari fungsi,awal dari fungsi, blok fungsi, akhir dari fungsi
Satu jenis pengarah praprosesor yang dipakai untuk membaca file yang dinamakan file judul (header file)
Bagian pernyataan / perintah program
Borland C++ memiliki 7 tipe data dasar dan 3 tipe tambahan,
diantaranya:
Tipe
Data
Ukuran
Memori Jangkauan Nilai
Jumlah
Digit
Char 1 Byte -128 s.d 127
Int 2 Byte -32768 s.d 32767
Short 2 Byte -32768 s.d 32767
Long 4 Byte -2,147,435,648 s.d 2,147,435,647
Float 4 Byte 3.4 x 10-38 s.d 3.4 x 10+38 5 – 7
Double 8 Byte 1.7 x 10-308 s.d 1.7 x 10+308 15 – 16
Long
Double 10 Byte 3.4 x 10-4932 s.d 1.1 x 10+4932 19
Tipe Data Tambahan, yang dimiliki oleh Borland C++, adalah :
Unsigned digunakan bila data yang digunakan hanya data yang positif
saja.
Tipe
Data
Jumlah
Memori Jangkauan Nilai
Unsigned Integer 2 Byte 0 – 65535
Unsigned Character 1 Byte 0 – 255
Unsigned Long Integer 4 Byte 0 – 4,294,967,295
[Kristanto:2009] pengertian deklarasi adalah memesan memori dan
menentukan jenis data yang dapat disimpan didalamnya.
Bentuk Umum:
Pada pendeklarasian variabel, daftar variabel dapat berupa sebuah
variabel atau beberapa variabel yang dipisahkan dengan tanda
koma.
Contoh:
int jumlah;
float harga_per_satuan, total_harga;
untuk memberikan nilai ke suatu variabel yang telah dideklarasikan,
bentuk pernyataan yang digunakan adalah sebagai beriut:
nama_variabel = nilai;
Contoh berikut merupakan nilai 50 ke variabel jumlah dan 15,7 ke variabel
harga_per_satuan.
Jumlah=50;
harga_per_satuan=15.7;
Total_harga= jumlah * harga_per_satuan;
Contoh program:
#include <stdio.h>
main()
{
int jumlah;
float harga_per_satuan, harga_total;
Jumlah=50;
Harga_per_satuan=15.7;
harga_total= jumlah * harga_per_satuan;
Printf(“Harga Total= %f \n “, harga_total);
}
konstanta menyatakan nilai numeris atau karakter yang tetap. Turbo C++ mendukung empat kelas konstanta:
perintah ini digunakan untuk memasukan berbagai jenis data kedalam program lewat keyboard dan dapat digunakan fungsi pustaka scanf, getch maupun getche dan cin.
Bentuk Umum:
scanf(“string kontrol”, daftar argumen);
String kontrol dapat berupa:
a. Penentu format
b. Karakter spasi putih
c. Karakter bukan spasi putih
Contoh:
/*---------------------------------------------------------------*/
/*Program: Scanf.cpp */
/*---------------------------------------------------------------*/
#include <stdio.h>
main()
{
int nilai, tugas;
printf(“Masukan sebuah nilai: “); scanf(“%d”,&nilai);
printf(“Masukan nilai tugas: “); scanf(“%d”,&tugas);
}
Keterangan:
Dari contoh diatas dapat dilihat bahwa untuk memasukan variabel
nilai dan variabel tugas ke dalam program menggunakan fungsi
pustaka scanf dan semuanya itu di masukan melalui keyboard
digunakan untuk membaca sebuah karakter tanpa diakhiri enter. Pada getch
ini, karakter yang dimasukan tidak ditampilkan dilayar.
Contoh:
# include <stdio.h>
# include <conio.h>
main( )
{
char kar;
clrscr( );
printf("Masukan Sebuah Karakter Bebas = ");
kar = getch( );
printf("\nTadi Anda Memasukan karakter %c", kar);
getch( );
}
Digunakan untuk membaca sebuah karakter tanpa diakhiri enter. Pada
getche ini, karakter yang dimasukan akan ditampilkan dilayar.
Contoh:
# include <stdio.h>
# include <conio.h>
main( )
{
char kar;
clrscr( );
printf("Masukan Sebuah Karakter Bebas = ");
kar = getche( );
printf("\nTadi Anda Memasukan karakter %c", kar);
getch ( );
}
Fungsi pustaka cin ini berpasangan fungsi pustaka cout. Dimana
fungsinya adalah untuk memasukan nilai variabel ke dalam program
melalui keyboard.
Contoh: # include <stdio.h>
# include <conio.h>
# include <iostream.h>
main( )
{
int nilai1,nilai2, total;
clrscr( );
cout<<"Masukan Nilai 1 : ";
cin>>nilai1;
cout<<"Masukan Nilai 2 : ";
cin>>nilai2;
total=nilai1+nilai2;
cout<<"Masukan Total Nilai : "<<total<<endl;
getch( );
}
Digunakan untuk menampilkan hasil yang terformat
dengan menggunakan format spesification. Tabelnya
adalah sebagai berikut:
TIPE DATA
Penentu Format Untuk
printf( )
Integer %d
Floating Point
Bentuk Desimal %f
Bentuk Berpangkat %e
Bentuk Desimal dan Pangkat %g
Double Precision %lf
Character %c
String %s
Unsigned Integer %u
Long Integer %ld
Long Unsigned Integer %lu
Unsigned Hexadecimal Integer %x
Unsigned Octal Integer %o
Contoh:
#include <stdio.h>
#include <conio.h>
#include<iostream.h>
main( )
{
char nama =”dita”;
int nilai = 100;
clrscr( );
printf(“hai %s, Kamu mendapatkan Nilai %i” , nama, nilai);
}
Output :
hai dita, Kamu mendapatkan Nilai 100
Fungsi ini hanya digunakan untuk menampilkan nilai
string dan sudah mengandung line feed/ Pindah baris
otomatis.
Contoh:
/*-------------------------------------------------------------*/
/*Nama Program: puts.cpp */
/*-------------------------------------------------------------*/
# include <stdio.h>
# include <conio.h>
main( )
{
puts(“RIANI”);
getch( );
}
Fungsi ini untuk manampilkan hasil dapat digunakan
fungsi pustaka putchar. Fungsi pustaka ini hanya
digunakan untuk menampilkan nilai karakter dan tidak
mengandung line feed.
Contoh: # include <stdio.h>
# include <conio.h>
main( )
{
putchar(‘b’);
putchar(‘s’);
putchar(‘i’);
getch( );
}
untuk menampilkan hasil dapat digunakan fungsi pustaka cout. Fungsi
pustaka ini bentuknya agak sedikit berbeda dengan bentuk pustaka output
lainnya.
Perbedaannya terletak pada:
1. Praprosesor
2. Ganti Baris
Kalau fungsi pustaka printf, putchar maupun puts preprocesornya
menggunakan #include <stdio.h>, sedangkan fungsi pustaka cout
preprocesornya menggunakan #include <iostream.h>
Kalau fungsi pustaka printf ganti baris menggunakan \n, sedangkan
fungsi pustaka cout ganti baris menggunakan perintah endl
1. Buatlah program untuk menghitung luas dan keliling suatu empat
persegi panjang, dimana panjang dan lebar dimasukan melalui
scanf????
2. Buatlah program untuk menghitung luas dan volume suatu balok,
dimana panjang dan lebar serta tinggi dimasukan melalui cin???
3. Dewi membeli buah jeruk sebanyak 9,5 kg. Harga per kg-nya
adalah Rp 4.500, buatlah program untuk menghitung harga jeruk
yang dibeli Dewi.
Operator merupakan simbol atau kata yang dapat digunakan dalam program
untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua
buah nilai, memberikan nilai kesuatu variabel, membandingkan dua buah
nilai dan lain sebagainya.
Tanda operator dalam bahasa C++ dapat dikelompokan sebagai berikut:
1. Operator pengerjaan (assignment operators)
2. Operator aritmetika (arithmatic operators)
3. Operator peningkatan dan penurunan (increament and decrement
operators)
4. Operator bitwise (bitwise operators)
5. Operator hubungan (relational operators)
6. Operator logika (logical operators)
7. Operator alamat (address operators)
8. Operator koma (comma operators)
9. Operator gabungan
Operator untuk operasi aritmatika yang tergolong sebagai operator
binary adalah:
Operator Keterangan Contoh
* Perkalian 4 * 5
/ Pembagian 8 / 2
% Sisa Pembagian (mod) 5 % 2
+ Penjumlahan 7 + 2
− Pengurangan 6 − 2
Operator yang tergolong sebagai operator Unary, adalah:
Operator Keterangan Contoh
+ Tanda Plus −4
− Tanda Minus +6
#include <stdio.h> #include <conio.h> #include <iostream.h> main( ) { int x,y, a=0, b=0, c = 0, d = 0; clrscr( ); cout<<"Masukan Nilai A : "; cin>>x; cout<<"Masukan Nilai B : "; cin>>y; a=x+y; c = x% y; b=x-y; d = x * y; printf(“Hasil Dari A= X + Y= %i \n” , a); printf(“Hasil Dari B=X - Y= %i \n”,b) cout<<" Hasil dari C = X % Y = "<<c<<endl; cout<<" Hasil dari D = X * Y = "<<d<<endl; getch( ); }
Contoh:
Bentuk penulisan ekspresi
aritmatika dikaitkan dengan
pernyataan pemberi nilai.
Bentuk Umum :
• Variabel, dikenal dengan
sebutan LValue (Left Value)
• Ekspresi Aritmatika dikenal
dengan sebutan RValue
(Right Value)
• Tanda “ = “, dikenal dengan
sebagai Operator Pemberi
Nilai (Assignment Operator).
Operator Keterangan
++ Penambahan
-- Pengurangan
Tabel Operator Penambah & Pengurang
A = A + 1 atau A = A - 1
A ++ atau A--
Keterangan :
1. Penambahan: menambahkan 1 ke nilai
variable, prefix (++A) atau postfix (A ++)
2. Pengurangan: mengurangkan 1 ke nilai
variabel, prefix (--A) atau postfix (A --)
Contoh Penggunaan Notasi
Didepan Variabel:
/* Penggunaan Notasi Didepan Variabel*/
#include <stdio.h>
#include <conio.h>
main( )
{
int a = 10, b = 5;
clrscr( );
printf("Nilai A = %d", a);
printf("\nNilai ++A = %d", ++a);
printf("\nNilai B = %d", b);
printf("\nNilai --B = %d", --b);
getch( );
}
/* Penggunaan Notasi Dibelakang
Variabel*/
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int a = 10, b = 5;
clrscr( );
printf("Nilai A = %d", a);
printf("\nNilai ++A = %d", a++);
printf("\nNilai A = %d", a);
printf("\nNilai B = %d", b);
printf("\nNilai --B = %d", b--);
printf("\nNilai B = %d", b);
getch( );
}
Contoh Penggunaan Notasi
Dibelakang Variabel:
Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil
perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 0
(False).
Operator Keterangan
= = Sama Dengan ( bukan pemberi nilai )
!= Tidak Sama dengan
> Lebih Dari
< Kurang Dari
>= Lebih Dari sama dengan
<= Kurang Dari sama dengan
Contoh:
Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi
logika (boolean), menghasilkan data logika (boolean) baru.
Operator Keterangan
&& Operator Logika AND
| | Operator Logika OR
! Operator Logika NOT
Operator logika AND digunakan untuk menghubungkan dua atau
lebih ekspresi relasi, akan dianggap BENAR, bila semua
ekspresi relasi yang dihubungkan bernilai BENAR.
Operator logika OR digunakan untuk menghubungkan dua atau
lebih ekspresi relasi, akan dianggap BENAR, bila salah satu
ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua
ekspresi relasi yang dihubungkan bernilai SALAH, maka akan
bernilai SALAH.
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi
yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka
akan menghasilkan nilai SALAH, begitu pula sebaliknya.
A B Not A Not B
T F F T
F T T F
T F F T
Operator logika Xor akan menghasilkan nilai True jika ekspresi di
sebelah kiri Xor berbeda dengan ekspresi di sebelah kanannya.
Jadi, operator logika Xor dapat diartikan "jika beda" akan bernilai
True
A B A Xor B
T T F
F F F
T F T
String merupakan bentuk data yang biasa dipakai dalam
pemrograman guna menampung dan memanipulasi data teks.
Contoh program string:
/*program string*/
#include <stdio.h>
#include <conio.h>
main()
{
char nama[20];
printf(“Masukan Nama Anda:”);gets(nama);
printf(“Nama Anda Adalah: %s \n”,nama);
getch();
}
fungsi ini dipakai untuk menyalin string asal ke variabel string tujuan,
variabel tujuan harus memiliki ukuran yang dapat menampung
seluruh karakter string asal.
Bentuk Umum:
strcpy(tujuan,asal);
Contoh:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char huruf[20];
char pindah[20];
clrscr( );
cout<<"Masukkan Sembarang Kata = ";
gets(huruf);
/* Proses */
strcpy(pindah, huruf);
cout<<"Pemindahannya = "<<pindah;
getch( );
}
fungsi ini dipakai untuk menghitung jumlah karakter argumennya.
Bentuk Umum:
strlen(str);
Contoh:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char huruf[20];
char pindah[20];
clrscr( );
cout<<"Masukkan Sembarang Kata = ";
gets(huruf);
cout<<"Panjang Kata Yang Diinputkan = ";
cout<<strlen(huruf);
getch( );
}
fungsi ini dipakai untuk membandingkan string str1 dengan string str2. Hasil
dari fungsi ini bertipe int berupa nilai negatif (str1 kurang dari str2),
nol(str1=str2), positif(str1 lebih dari str2).
Bentuk Umum:
var_int = strcmp(str1, str2);
Contoh:
#include <string.h>
#include <iostream.h>
#include <conio.h>
main( )
{
char a1[ ] = "BSI";
char a2[ ] = "Bsi";
char b1[ ] = "BSI";
clrscr( );
cout<<"Hasil Perbandingan "<<a1<<" dan
"<<a2<<"->";
cout<<strcmp(a1,a2)<<endl;
cout<<"Hasil Perbandingan "<<a2<<" dan
"<<a2<<"->";
cout<<strcmp(a2,a1) <<endl;
cout<<"Hasil Perbandingan "<<a1<<" dan
"<<b1<<"->";
cout<<strcmp(a1,b1) <<endl;
getch( );
}
1. Buatlah Source Code dari tampilan dibawah ini:
2. Buatlah Source Code dari tampilan dibawah ini, dimana nilai “m” ditentukan sendiri oleh mahasiswa
3. Buatlah program untuk menghitung panjang kata berikut ini:
Akademi Manajemen Informatika dan Komputer Bina Sarana
Informatika
4. Bulatlah program untuk menggabungkan dua buah string
Kalimat1 = Manajemen
Kalimat2 = Informatika
Menjadi seperti berikut:
ManajemenInformatika
perintah if berguna untuk memilih satu dari 2 atau lebih
alternatif jawaban yang tersedia. Jika perintah if
tersebut terdiri dari 2 atau lebih pernyataan.
Bentuk Umum:
if (kondisi)
{ pernyataan }
Contoh:
If(nilai_beli>10000)
{
discount=(10/100)*nilai_beli;
strcpy(bonus,“Payung”);
}
Arti dari source code disamping
adalah jika nilai pembelian lebih dari
10000 maka akan mendapat
discount 10%. Selain itu juga akan
mendapatkan bonus payung.
Bentuk Umum: if(kondisi) pernyataan1 else pernyataan2
#include <stdio.h>
#include <conio.h>
main()
{
int nilai,tugas;
printf(“Masukan Sebuah Nilai: “);scanf(“%d”,&nilai);
printf(“Masukan Nilai Tugas: “); scanf(“%d”,&tugas);
if(nilai>70)
printf(“Lulus \n”);
else
printf(“Tidak Lulus \n”);
getch();
}
Contoh:
Bentuk Umum:
if (kondisi)
{
perintah-1;
...
}
else if
{
perintah-2;
...
}
.
.. Sampai kondisi ke –n
else
{ perintah default ; }
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main( )
{
char gol, jab[10];
long gapok=0;
clrscr( );
cout<<endl<<" Data Jabatan"<<endl
<<" = = = = = = = = = = = = = = = ="<<endl;
cout<<" Masukan Golongan [1/2]: ";
cin>>gol;
Contoh:
// proses seleksi kondisi
if(gol=='1')
{ strcpy(jab,"Direktur");
gapok=5000000;
}
else if(gol=='2')
{ strcpy(jab,"Manajer");
gapok=4000000;
}
else
{ cout<<" salah kode golongan“ <<endl; }
// output datanya
cout<<" Jabatan = "<<jab<<endl;
cout<<" Gaji Pokok = "<<gapok<<endl;
getch ( );
}
Lanjutan :
Perintah if dalam if sering disebut nested-if. Perintah ini
mempunyai bentuk umum sebagai berikut:
Else
{
if(kondisi2)
{
pernyataan1;
}
else
{
pernyataan2;
}
}
Bentuk Umum :
If(kondisi1)
{
if(kondisi2)
{
pernyataan1;
}
else
{
pernyataan2;
}
}
Contoh: #include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char kode,ukuran,merk[15];
long harga=0;
clrscr( );
cout<<"Kode Baju : ";cin>>kode;
cout<<"Ukuran : ";cin>>ukuran;
if (kode=='1')
{
strcpy(merk,"H & R");
if (ukuran=='S' || ukuran =='s')
harga=45000;
else
harga=60000;
}
else if (kode=='2')
{
strcpy(merk," Adidas");
if (ukuran=='S' || ukuran == 's')
harga=65000;
else
harga=75000;
}
else
cout<<”Salah Kode Baju”<<endl;
cout<<"------------------------"<<endl;
cout<<"Merk Baju : "<<merk<<endl;
cout<<"Harga Baju : "<<harga<<endl;
getch();
}
1. Buatlah program dengan tampilan sebagai berikut:
Input:
Output:
Kode
Pesawat
Nama
Pesawat
Kelas
Pesawat
Harga Tiket Pesawat
MPT Merpati 1 Rp 1.500.000
2 Rp 900.000
3 Rp 500.000
GRD Garuda 1 Rp 1.200.000
2 Rp 800.000
3 Rp 400.000
BTV Batavia 1 Rp 1.000.000
2 Rp 700.000
3 Rp 300.000
total Bayar=harga*jumlah;
Ketentuan Soal
perintah ini merupakan pernyataan yang dirancang untuk
menangani pengambilan keputusan yang melibatkan sejumlah
pilihan alternatif yang diantaranya untuk menggantikan pernyataan
if bertingkat.
Bentuk Umum: switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
char kode,lagi;
atas:
clrscr();
cout<<“INPUT KODE BARANG [A..C]: ";
kode = getche();
cout<<'\n';
switch (kode)
{
case 'A':
case 'a':
cout<<"Alat Olah Raga";
break;
case 'B':
case 'b':
cout<<"Alat Elektronik";
break;
case 'C':
case 'c':
cout<<"Alat Masak";
break;
default:
cout<<"Anda Salah
Memasukan Kode";
}
cout<<'\n';
cout<<"\nIngin Pilih Lagi [Y/T]: ";
lagi = getche();
if(lagi == 'Y' | | lagi =='y')
goto atas;
getch();
}
contoh
1. Buatlah Program dengan tampilan sebagai berikut
Masukkan Kode Buku [1|2|3] : <input>
Jumlah Pembelian Buku Anda : <input>
**** TOKO BUKU HALIFI***
JL. Keadilan No. 16
---------------------------------------------------------------------------
Nama Buku : <nama buku>
Harga Buku : <harga buku>
Potongan : <potongan>
Bonus : <bonus>
Total Bayar : <total bayar>
PPN : <ppn>
---------------------------------------------------------------------------
**** T E R I M A K A S I H***
Apa mau Input data lagi ????
Ketentuan Soal :
1. Untuk BUKU :
• Jika kode buku 1 maka nama buku = “ Sukses Belajar
Borland C++”, harga = 50000.
• Jika Kode buku 2 maka nama buku = ” Kunci Pribadi Yang
Sukses ”, harga = 35000.
• Jika kode buku 3 nama buku = ” Mencari Mutiara Di Dasar
Hati ”, harga = 45000.
2. Akan Mendapat potongan 10% jika Jumlah pembelian lebih dari
5 buku, dan mendapat bonus ” Note Book”, tetapi jika pembelian
kurang dari 5 maka tidak dapat potongan serta akan
tampil pesan ”Maaf Tidak Dapat Bonus”.
3. Semua Pembelian akan dikenakan PPN Sebesar 10% dari
Total Pembelian.
4. Gunakan Switch-Case dan IF-else.
2. Buatlah Program dengan tampilan sebagai berikut
DAFTAR PEMESANAN TIKET KERETA
*********************************************
Nama Pemesan : <input>
Nama Kereta : <output>
Kelas Kereta : <output>
Harga Per Tiket : <output>
Jumlah Pemesanan Tiket : <input>
Biaya Tambahan Fasilitas : <output>
Pembayaran : <output>
Discount : <output>
*********************************************
Total Pembayaran : <output>
Uang Bayar : <input>
Uang Kembali : <output>
*********************************************
Mau Input Data Lagi [Y / T] ?? : <input>
Inpu
t
Output
3. Buatlah Program dengan tampilan sebagai berikut
Layar Input
PENGINAPAN PASTI BETAH
**************************
Nama Penyewa : <input>
Kode Kamar [A/B/M] : <input>
Input
PENGINAPAN PASTI BETAH
Nama Penyewa : <output>
Kode Kamar [A/B/M] : <output>
lama Menginap : <input>
******************************
Tipe Kamar : <output>
lama Menginap : <input> hari
Souvenir : <output>
Biaya Sewa : <output>
Total Biaya Sewa : <output>
******************************
Uang Bayar : <input>
Uang Kembali : <output>
Ingin Input Lagi [Y/T] = <input>
Output
Hasil Akhir
Kode Kamar Tipe Kamar Harga Sewa Per Malam
A Anggrek 300000
B Bougenville 250000
M Mawar 200000
Ketentuan Soal
•Kode kamar dapat diinput dengan huruf besar ataupun kecil
•Jika salah memasukan kode kamar maka akan muncul pesan ” Kode kamar
yang anda masukan salah”, ”Ingin input lagi [ Y / T ] ?”
Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ berarti keluar
dari program
•Untuk penyewaan kamar lebih dari atau sama dengan 1 minggu maka akan
mendapat souvenir ”Payung Cantik”, selain itu tidak dapat souvenir
•Semua biaya sewa penginapan ditambah dengan biaya administrasi sebesar
200000
•Pada akhir tampilan terdapat pesan “Mau Input Data Lagi [Y / T] ??”
Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ berarti keluar
dari program
proses looping yang menggunakan perhitungan (counter) yang
sudah pasti (misalnya variabel k=1,2,...,n; j=m, m-1,...,5; dan
sebagainya) dapat dibuat menggunakan pernyataan for.
Bentuk Umum:
for ( inisialisasi; syarat perulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaan dari masing-masing argumen for diatas adalah :
• Inisialisasi; merupakan bagian untuk memberikan nilai awal
untuk variabel-variabel tertentu.
• Syarat Perulangan; memegang kontrol terhadap perulangan,
karena bagian ini yang akan menentukan suatu perulangan
diteruskan atau dihentikan.
• Pengubah Nilai Pencacah; mengatur kenaikan atau
penurunan nilai pencacah.
Contoh:
/* --------------------------- */
/* Program for - bilangan naik */
/* --------------------------- */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int a;
clrscr( );
for(a = 1; a <= 10; ++a)
cout>>a;
getch( );
}
Pernyataaan Nested for adalah suatu perulangan for
didalam perulangan for yang lainnya. Bentuk umum
pernyataan Nested for sebagai berikut :
for (inisialisasi;syarat pengulangan;pengubah nilai pencacah )
{
for (inisialisasi;syarat pengulangan;pengubah nilai pencacah)
{
pernyataan / perintah;
}
}
#include<stdio.h>
#include<conio.h>
main( )
{
int a, b;
clrscr( );
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
printf(" %d ",a);
}
getch();
}
Contoh
Pernyataan goto merupakan instruksi untuk mengarahkan
eksekusi program ke-pernyataan yang diawali dengan suatu label.
Label merupakan suatu pengenal (identifier) yang diikuti dengan
tanda titik dua ( : ). Bentuk pemakaian goto sebagai berikut:
Contoh:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main( )
{
int a, b;
char lagi;
atas:
clrscr( );
cout>>"Masukkan Bilangan = ";
cin<<a;
b = a % 2;
printf("Nilai %d %% 2 adalah = %d",a, b);
printf("\n\nIngin Hitung Lagi [Y/T] : ");
lagi = getche() ;
if (lagi == 'Y' || lagi == 'y')
goto atas;
getch( );
}
Pernyataan perulangan while merupakan instruksi perulangan
yang mirip dengan perulangan for. Bentuk perulangan while
dikendalikan oleh syarat tertentu, yaitu perulangan akan terus
dilaksanakan selama syarat tersebut terpenuhi.
Bentuk umum perulangan while, sebagai berikut:
Perintah While
while ( syarat )
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
#include <stdio.h>
#include <conio.h>
main( )
{
int bil=1;
clrscr( );
while(bil<=10)
{
printf(" %d ",bil);
++bil;
}
getch( );
}
Contoh :
Pernyataan perulangan do - while merupakan bentuk perulangan yang
melaksanakan perulangan terlebih dahulu dan pengujian perulangan
dilakukan dibelakang.
Bentuk umum perulangan do - while, sebagai berikut :
do
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
while ( syarat );
#include <stdio.h>
#include <conio.h>
main( )
{
int bil=2;
clrscr( );
do
{
printf(" %d ",bil);
bil+=2;
}
while(bil<=10);
getch( );
}
Contoh
1. Bulatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya : 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
2. Bulatlah program untuk menghitung penjumlahan deret bilangan genap membentuk segitiga siku dengan hasilnya : 2 = 2 2 + 4 = 6 2 + 4 + 6 = 12 2 + 4 + 6 + 8 = 20 2 + 4 + 6 + 8 + 10 = 30
3. Bulatlah program untuk menghitung perkalian deret bilangan ganjil membentuk segitiga siku dengan hasilnya : 1 = 1 1 * 3 = 3 1 * 3 * 5 = 15 1 * 3 * 5 * 7 = 105 1 * 3 * 5 * 7 * 9 = 945
Variabel Larik atau lebih dikenal dengan
ARRAY adalah Tipe terstruktur yang terdiri dari
sejumlah komponen-komponen yang mempunyai tipe
sama.
Suatu Array mempunyai jumlah komponen
yang banyaknya tetap. Banyaknya komponen dalam
suatu larik ditunjukan oleh suatu indeks untuk
membedakan variabel yang satu dengan variabel
yang lainnya
Variabel array dalam Borland C++, dapat
digolongkan menjadi dua buah dimensi:
• Array Berdimensi Satu.
• Array Berdimensi Dua
Array Dimensi 1
Bentuk Umum :
Inisialisasi / pemberian nilai awal array
dimensi 1
Dan pengaksesan pemanggilan datanya bisa menggunakan/memanggil subindeksnya
Contoh programnya (hal.91)
Contoh penggunaan array(lanjutan) hal 92
8/2/2016
Proses Looping input variabel array :
Proses output judul kolom :
Proses Looping output variabel array :
Array Dimensi 2
Bentuk Umum
Array dimensi dua tersusun dalam bentuk baris dan
kolom, dimana indeks pertama menunjukan baris dan
indeks kedua menunjukan kolom. Array dimensi dua
dapat digunakan seperti pendatan penjualan,
pendataan nilai dan lain sebagainya.
Contoh penulisan array dimensi 2 :
Inisialisasi Array Dimensi 2 (hal 94)
Contoh penggunaan array dimensi 2
8/2/2016
Latihannya : kerjakan latihan hal 100 no. 1
POINTER
Merupakan sebuah variabel yang berisi alamat dari
variabel lain. Suatu pointer dimaksudkan untuk
menunjukan ke suatu alamat memori sehingga alamat dari
suatu variabel dapat diketahui dengan mudah
Operator Pointer
Terdapat dua macam operator pointer yang disediakan
oleh Borland C++:
1. Operator dereference ( & )
2. Operator reference ( * )
Operator dereference ( & )
• Operator ini biasa disebut dengan “address of” atau
operator alamat. Dengan menggunakan operator
dereference(&) ini, suatu variabel akan menghasilkan
alamat lokasi memori.
Operator reference ( * )
• Operator ini biasa disebut dengan “value pointed by”.
Dengan menggunakan operator reference (*) ini,
menghasilkan nilai yang berada pada suatu alamat
memori
Penggunaan Pointer
• Dapat digunakan untuk mendeklarasikan variabel bertipe
data string tanpa harus dideklarasikan batasan
karakternya.
• Dapat digunakan dalam penggunaan FUNGSI yaitu saat
pemanggilan secara nilai dan refernsi
• Contoh listing dapat di lihat di bab 7 Pointer halaman
103 - 110
MACRO • Preprocessor Directives
Preprocessor directive merupakan suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor
– #define
– #include
– #if #endif
– #if #else #endif
– #elif
– #undef
– #ifdef #ifndef
Lihat penjelasan di modul C++ halaman 111-116
Pembuatan File Header
• File Header adalah suatu file dengan akhiran .h
• File ini sebenarnya berisikan deklarasi fungsi dan
definisi konstanta. Selain file-file header standar yang
disediakan oleh C++, kita dapat juga membuat file header
sediri, dengan cara yang sama seperti membuat file
editor. Yang harus diperhatikan pada saat menyimpan file
header yang telah dibuat harus digunakan akhiran .h
• Contoh listing dapat di lihat di bab 8 Macro halaman 117 -
118
Fungsi (Function) merupakan blok dari kode yang
dirancang untuk melaksanakan tugas khusus.
Kegunaan dari fungsi ini adalah untuk:
• Mengurangi pengulangan penulisan program yang
berulangan atau sama.
• Program menjadi lebih terstruktur, sehingga mudah
dipahami dan dapat lebih dikembangkan
Pemanggilan Fungsi dapat berulang-ulang dengan cara
memanggil nama fungsinya.
• Fungsi dapat dibedakan menjadi 2.
* Fungsi sederhana(tanpa parameter)
* Fungsi Berparameter
Contoh Fungsi Sederhana :
Prototype Fungsi adalah mejelaskan kepada
kompiler tentang tipe data fungsi, jumlah parameter,
tipe data dari masing-masing parameter.
Parameter Fungsi
adalah suatu pendefinisian nilai-nilai dari objek-objek
yang dideklarasikan pada bagian argumen di fungsi.
Nilai-nilai pada objek-objek tersebut didapat dari
variabel-variabel yang barada pada program utama
Yang Perlu diperhatikan dalam pembuatan Fungsi berparameter :
1. Jumlah Parameter aktual dan parameter formal harus sama
2. Tipe data yang digunakan oleh parameter harus sama
3. Tipe pemanggilan fungsi
Pemanggilan Fungsi Berparameter
1. Pemanggilan Secara Nilai
2. Pemanggilan Secara Reference
3. Pemanggilan Return
Pemanggilan Secara Nilai(by Value)
pemanggilan fungsi dengan nilai akan menyebabkan nilai
parameter aktual tidak akan berubah, walaupun nilai
parameter formalnya berubah.
Pemanggilan Secara Reference
pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter
aktual berubah, dengan cara merubah nilai parameter formalnya. Untuk
pemanggilan by reference memerlukan sebuah pointer ( * ) didepan
nama parameter formalnya, dan ( & ) untuk nama parameter aktualnya.
Pemanggilan Secara Return
Dilakukan untuk melakukan pengiriman suatu nilai atau nilai dari
suatu fungsi kepada fungsi yang lain yang memanggilnya.
Buatlah rancangan perhitungan luas segitiga dengan
tampilan seperti berikut :
Contoh Penggunaan Fungsi
Dimana perhitungan luas nya dilakukan di dalam fungsi
luas_segitiga dan penggunaan fungsi garis
Contoh Penggunaan Fungsi Penjelasannya : input nilai alas ( a) dan tinggi ( t ), lalu untuk proses hasil dilakukan pemanggilan fungsi segitiga dan mengirimkan nilai a dan t kedalam fungsi segitiga, dimana ( a ) sebagai alas dan ( t ) sebagai tinggi. Lalu didalam fungsi segitiga di proses hitung luas segitiganya. Lalu dengan fungsi return nilainya di kirim kembali sebagai hasil.
Struktur digunakan untuk mengelompokan sejumlah data yang
mempunyai tipe data yang berbeda. Variabel-variabel yang
membentuk sebuah struktur dinamakan elemen struktur.
Penggunaan Struktur menggunakan bentuk umum :
nama_structurenya.nama_variabelnya
Bentuk Umum Struktur
Contoh 1a
Contoh 1b
Perbedaan dari 2 contoh diatas adalah
perbedaan penggunaan dari bentuk umum.
Contoh 1a menggunakan bentuk umum yang
ke 2, sehingga penggunaan nama struktur
bisa langsung digunakan tanpa harus
dideklarasikan nama variabel lain.
sedangkan contoh 1b, menggunakan bentuk
umum yang ke 1, sehingga penggunaannya
harus dideklarasikan lagi oleh nama variabel
lain yang menggunakan tipe dari nama
struktur itu sendiri.
Menggabungkan struktur dengan array
dan function
Catatan : jml_index array dideklarasikan bisa di nama struktur atau
di elemen struktur. Perbedaannya adalah jika di letakkan di nama
struktur maka ketika digunakan yang punya pelaku perulangan
adalah nama struktur. Sedangkan jika diletakkan di elemen struktur
maka ketika digunakan yang punya pelaku perulangan adalah
elemen strukturnya
Contoh 2
Catatan : Penggunaan Struktur dengan array,
dapat dilakukan dengan mengelompokkan
variabel-variabel array kedalam nama struktur.
Sehingga bisa terlihat bedanya variabel array
dengan variabel biasa.
LATIHAN gabungan Struktur,Fungsi, Array dan Seleksi Kondisi
LATIHAN gabungan Struktur,Fungsi, Array dan Seleksi Kondisi
OOP adalah pemrograman yang
menitikberatkan kepada objek-objek untuk
menyelesaikan tugas atau proses dari
program tersebut. Sedangkan penitik
beratkan ini dimaksudkan adanya interaksi
pengiriman nilai, pesan atau pernyataan
antar objek. Kemudian objek yang
merespon hasil dari interaksi tersebut akan
membentuk suatu tindakan atau aksi
Pembuatan project akhir untuk nilai pengganti UAS dimana temanya
telah ditentukan saat UTS. Sebagai contoh di slide berikutnya
pembuatan project dengan tema penyewaan pakaian adat
• Project yang akan di buat dengan penggunaan structure/Class, label, seleksi kondisi (nested if), sintaks input dan output
Bentuk Tampilan Awal
Bentuk Tampilan Input
Bentuk Tampilan Output