Upload
saiful-zuhri
View
1.538
Download
4
Embed Size (px)
Citation preview
1.1 Sejarah Perkembangan Bahasa C
Bahasa CPenemu: Brian W. Kernighan
dan Denies M. Ricthie1972 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. C++ Rick Mascitti 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 Bahasa pemrograman yang
memiliki sifat Object Oriented
Programming (OOP)
2. Pengenalan IDE (Integrated Development Environment) C++
Menulis Naskah Program
Mengkompilasi Program (Compile)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 EditorTERBAGI 4 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()
{
Komentar program
praprosesor nama dari
fungsi,awal dari fungsi, blok
fungsi, akhir dari fungsi
{
printf(“Belajar Bahasa C++”);
}
Satu jenis pengarah praprosesor yang
dipakai untuk membaca file yang
dinamakan file judul (header file)
Borland C++ memiliki 7 tipe data dasar dan 3 tipe tambahan, diantaranya:
TipeData
UkuranMemori
Jangkauan NilaiJumlah
Digit
Char 1 Byte -128 s.d 127
Int 2 Byte -32768 s.d 32767Int 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
LongDouble
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 positifsaja.
TipeData
JumlahMemori
Jangkauan Nilai
Unsigned Integer 2 Byte 0 – 65535Unsigned 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 di dalamnya.
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;
[Kristanto:2009] 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;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);
}
[Kristanto:2009] konstanta menyatakan nilai numeris atau karakter yang tetap. Turbo
C++ mendukung empat kelas konstanta:
[Kristanto:2009] 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:Bentuk Umum:
Scanf(“string kontrol”, daftar argumen);
String kontrol dapat berupa:a. Penentu formatb. Karakter spasi putihc. Karakter bukan spasi putih
Contoh:
/*---------------------------------------------------------------*/
/*Program: Scanf.cpp */
/*---------------------------------------------------------------*/
#include <stdio.h>
Main()
{
int ilai, tugas;
printf(“Masukan sebuah nilai: “); scanf(“%d”,&nilai);
printf(“Masukan nilai tugas: “); scanf(“%d”,&tugas);
if (nilai>70 && tugas>=75)if (nilai>70 && tugas>=75)
printf(“Lulus \n”);
else
printf(“Tidak Lulus\n”);
}
Keterangan:Dari contoh diatas dapat dilihat bahwa untuk memasukan variabel nilai dan variabel tugaske dalam program menggunakan fungsi pustaka scanf dan semuanya itu di masukanmelalui keyboard
[Kristanto:2009] 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( )main( ){char kar;clrscr( );printf("Masukan Sebuah Karakter Bebas = ");kar = getch( );printf("\nTadi Anda Memasukan karakter %c", kar);getch( );
}
[Kristanto:2009]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 DATAPenentu Format Untuk
printf( )Integer %dFloatingPointFloatingPoint
Bentuk Desimal %fBentuk Berpangkat %eBentuk Desimal dan Pangkat %g
Double Precision %lfCharacter %cString %sUnsigned Integer %uLong Integer %ldLong Unsigned Integer %luUnsigned Hexadecimal Integer %xUnsigned Octal Integer %o
Contoh:#include <stdio.h>#include <conio.h>#include<iostream.h>main( ){char nama =”dita”;int nilai = 100;int nilai = 100;clrscr( );printf(“hai %s, Kamu mendapatkan Nilai %i” , nama, nilai);
}
Fungsi ini hanya digunakan untuk menampilkan nilai string dan sudah
mengandung line feed/ Pindah baris otomatis.
Contoh:
/*-------------------------------------------------------------*/
/*Nama Program: puts.cpp */
/*-------------------------------------------------------------*//*-------------------------------------------------------------*/
#include <stdio.h>
Main()
{
char *nama;
nama=“Riani”;
puts(nama);
}
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>Main(){{
char a;a=‘B ‘;
putchar(a);putchar(‘\n’);putchar(‘-’);
}
[Kristanto:2009] putchar maupun puts 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
Kalau fungsi pustaka printf, putchar maupun puts praprosesornyamenggunakan #include <stdio.h>, sedangkan fungsi pustakacoutpraprosesornyamenggunakan#include<iostream.h>
2. Komentar
3. Ganti Baris
praprosesornyamenggunakan#include<iostream.h>
Kalau fungsi pustaka printf, putchar maupun puts komentarnyamenggunakan simbol /* diakhiri */, sedangkan fungsi pustaka coutkomentarnya menggunakan simbol //
Kalau fungsi pustaka printf, putchar maupun puts ganti barismenggunakan \n, sedangkan fungsi pustaka cout ganti barismenggunakan simbol \n atau 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 scanf???scanf???
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
[Kristanto:2009] 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)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+ 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;
Contoh:
Bentuk penulisan ekspresi aritmatika dikaitkan dengan pernyataan pemberi nilai. Bentuk Umum :
• Variabel, dikenal dengansebutan LValue (Left Value)
• Ekspresi Aritmatika dikenaldengansebutanRValue(Right
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( );
}
dengansebutanRValue(RightValue)
• 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( );
/* Penggunaan Notasi Dibelakang Variabel*/#include<stdio.h>#include<conio.h>#include<iostream.h>main( ){int a = 10, b = 5;
Contoh Penggunaan Notasi Dibelakang Variabel:
clrscr( );
printf("Nilai A = %d", a);printf("\nNilai ++A = %d", ++a);printf("\nNilai B = %d", b);printf("\nNilai --B = %d", --b);getch( );
}
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( );
}
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 )
!= TidakSamadengan!= TidakSamadengan
> Lebih Dari
< Kurang Dari
>= Lebih Dari sama dengan
<= Kurang Dari sama dengan
#include <stdio.h>#include <conio.h>#include <iostream.h>main( ){
float a, b, c, d, e, f, x, y;clrscr( );cout<<"Masukan Nilai X = ";
Contoh:
cout<<endl;cout<<"Hasil dari "<<x<<" == <<y<<" = "<<a<<endl;cout<<"Hasil dari "<<x<<" != <<y<<" = "<<b<<endl;cout<<"Hasil dari "<<x<<" > "<<y<<" = "<<c<<endl;cout<<"Hasil dari "<<x<<" < cout<<"Masukan Nilai X = ";
cin>>x;cout<<"Masukan Nilai Y = "; cin>>y;a = x = = y;b = x != y;c = x > y;d = x < y;e = x >= y;f = x <= y;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;cout<<"Hasil dari "<<x<<" >= "<<y<<" = "<<e<<endl;cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;getch( );}
Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi logika(boolean), menghasilkan data logika (boolean) baru.
Operator Keterangan
&& Operator Logika AND
|| OperatorLogikaOR|| OperatorLogikaOR
! Operator Logika NOT
Operator logika AND digunakan untuk menghubungkan dua ataulebihekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yangdihubungkan bernilai BENAR.
Operator logika OR digunakan untuk menghubungkan dua atau lebihekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasiyang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yangdihubungkan bernilai SALAH, maka akan bernilai SALAH.
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yangdisebutkan. Jika nilai yang disebutkan bernilai BENAR makaakanmenghasilkan nilai SALAH, begitu pula sebaliknya.
A B Not A Not B
T F F TT F F T
F T T F
T F F T
Operator logika Xor akan menghasilkan nilai True jika ekspresi di sebelahkiri Xor berbeda dengan ekspresi di sebelah kanannya. Jadi,operator logikaXor dapat diartikan "jika beda" akan bernilai True
A B A Xor B
T T F
F F FF F F
T F T
String merupakan bentuk data yang biasa dipakai dalam pemrogramanguna menampung dan memanipulasi data teks[Kristanto:2009].Contoh program string:
/*program string*/#include <stdio.h>main(){{
char nama[20];printf(“Masukan Nama
Anda:”);gets(nama);pringt(“Nama Anda Adalah: %s
\n”,nama);}
[Kristanto:2009] 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);
{char huruf[20];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( );}
[Kristanto:2009] fungsi ini dipakai untuk menghitung jumlah karakter
argumennya.
Bentuk Umum:
strlen(str);
Contoh:
#include <stdio.h> cout<<"MasukkanSembarangKata= #include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char huruf[20];
char pindah[20];
clrscr( );
cout<<"MasukkanSembarangKata= ";gets(huruf);cout<<"Panjang Kata Yang Diinputkan= ";cout<<strlen(huruf);getch( );}
[Kristanto:2009] 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: cout<<"Hasil Perbandingan "<<a1<<" dan"<<a2<<"->";
#include <string.h>#include <iostream.h>#include <conio.h>main( ){char a1[ ] = "BSI";char a2[ ] = "Bsi";char b1[ ] = "BSI";clrscr( );
"<<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 SaranaInformatika
4. Bulatlah program untuk menggabungkan dua buah stringKalimat1 = ManajemenKalimat2 = Informatika
Menjadi seperti berikut:ManajemenInformatika
[Kristanto:2009] perintah if berguna untuk memilih satu dari 2 atau lebihalternatif jawaban yang tersedia. Jika perintah if tersebut terdiri dari 2 ataulebih pernyataan.
Bentuk Umum:if (kondisi)
{ pernyataan }
Contoh:discount=0;
If(nilai_beli>10000)
{ discount=(10/100)*nilai_beli;
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
#include <stdio.h>
Main()
{
int nilai,tugas;
printf(“Masukan Sebuah Nilai: “);scanf(“%d”,&nilai);
pernyataan2printf(“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();
}
Bentuk Umum:
if (kondisi){
perintah-1;...
}else
{
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main( ){perintah-2;
...}
main( )
{
char gol, jab[10];
long gapok=0;
clrscr( );
cout<<endl<<" Data Jabatan"<<endl
<<" = = = = = = = = = = = = = = = ="<<endl;
cout<<" Masukan Golongan [1/2]: ";cin>>gol;
if(gol=='1'){ strcpy(jab,"Direktur");
gapok=5000000;}
else if(gol=='2'){
strcpy(jab,"Manajer");strcpy(jab,"Manajer");gapok=4000000;
}cout<<" Jabatan = "<<jab<<endlcout<<" Gaji Pokok =
"<<gapok<<endl;getch ( );
}
Perintah if dalam if sering disebut nested-if. Perintah ini mempunyai bentuk
umum sebagai berikut:
Else{
if(kondisi2){
pernyataan1;}
If(kondisi1){
if(kondisi2)
{pernyataan1; }
else{pernyataan2;
}}
pernyataan1;}else{pernyataan2;
}}
#include<stdio.h>#include<conio.h>#include<iostream.h>
main( ){
char kode,ukuran,merk[15];long harga=0;
clrscr( );
else if (kode=='2'){strcpy(merk," Adidas");if (ukuran=='S' || ukuran == 's')harga=65000;elseharga=75000;}elsecout<<”Salah Kode Baju”<<endl;clrscr( );
cout<<"Kode Baju : ";cin>>kode;cout<<"Ukuran : ";cin>>ukuran;
if (kode=='1'){strcpy(merk,"H & R");if (ukuran=='S' || ukuran =='s')harga=45000;elseharga=60000;}
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:
Pendapatan Jasa Komisi
<=Rp 200.000 Rp 10.000 10% * Pendapatan
<=Rp 500.000 Rp 20.000 15% * Pendapatan
>Rp 500.000 Rp 30.000 20% * Pendapatan
total=pend+komisi+jasa;
2. 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.0002 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;
[Kristanto:2009] perintah ini merupakan pernyataan yang dirancang untukmenangani pengambilan keputusan yang melibatkan sejumlahpilihanalternatif yang diantaranya untuk menggantikan pernyataan if bertingkat.Bentuk Umum:
switch (ekspresi integer atau karakter ){
case konstanta-1 :… perintah;… 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<<"MASUKAN KODE BARANG [A..C]: ";
case 'B':case 'b':
cout<<"Alat Elektronik";break;
case 'C':case 'c':
cout<<"Alat Masak";break;
default:[A..C]: ";kode = getche();cout<<'\n';switch (kode)
{case 'A':
case 'a':cout<<"Alat Olah Raga";
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();}
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>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 ”, • 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>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>
3. Buatlah Program dengan tampilan sebagai berikut
Layar Input
PENGINAPAN PASTI BETAH
**************************
Nama Penyewa : <input>
Kode Kamar [A/B/M] : <input>
Layar Keluaran
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>
Kode Kamar Tipe Kamar Harga Sewa Per Malam
A Anggrek 300000B Bougenville 250000M Mawar 200000
•Kode kamar dapat diinput dengan huruf besar ataupun kecil•Jika salah memasukan kode kamar maka akan muncul pesan” Kode kamar
yangandamasukansalah”, ”Ingin input lagi [ Y / T ] ?”yangandamasukansalah”, ”Ingin input lagi [ Y / T ] ?”Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ b erarti keluardari program
•Untuk penyewaan kamar lebih dari atau sama dengan 1 minggu maka akanmendapat souvenir ”Payung Cantik”, selain itu tidak dapat souvenir
•Semua biaya sewa penginapan ditambah dengan biaya administrasi sebesar200000
•Pada akhir tampilan terdapat pesan“Mau Input Data Lagi [Y / T] ??”Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ b erarti keluardari program
[Kristanto:2009] 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 pengulangan;pengubah nilai pencacah ){
pernyataan / perintah;pernyataan / perintah;pernyataan / perintah;pernyataan / perintah;
}
Kegunaan dari masing-masing argumenfor diatas adalah :• Inisialisasi; merupakan bagian untuk memberikan nilai awal untuk
variabel-variabel tertentu.• Syarat Pengulangan; memegang kontrol terhadap pengulangan,
karena bagian ini yang akan menentukan suatu perulanganditeruskan atau dihentikan.
• Pengubah Nilai Pencacah; mengatur kenaikan atau penurunannilaipencacah.
{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 Nestedfor adalah suatu perulangan for didalam perulangan foryang lainnya. Bentuk umum pernyataanNested 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();}
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:
goto label;
#include<iostream.h>#include<stdio.h>
cout>>"Masukkan Bilangan = ";cin<<a;#include<stdio.h>
#include<conio.h>main( ){
int a, b;char lagi;
atas:clrscr( );
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 perulanganwhile merupakan instruksi perulangan yangmirip dengan perulanganfor. Bentuk perulanganwhile dikendalikanoleh syarat tertentu, yaitu perulangan akan terus dilaksanakan selamasyarat tersebut terpenuhi.Bentuk umum perulanganwhile, sebagai berikut:
while ( syarat )
Pernyataan / Pernyataan / perintah ;
Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan,
sebagai berikut: 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( );
}
Pernyataan perulangando - while merupakan bentuk perulangan yangmelaksanakan perulangan terlebih dahulu dan pengujian perulangandilakukan dibelakang.Bentuk umum perulangando - while, sebagai berikut :
do
pernyataan / perintah ;
while ( syarat );while ( syarat );
Bentuk umum perulangan do - while, dengan lebih dari perintah / pernyataan, sebagai berikut:
do{
Pernyataan / perintah ;Pernyataan / perintah ;
} while ( syarat );
#include <stdio.h>#include <conio.h>main( ){
int bil=2;clrscr( );
do{
printf(" %d ",bil);printf(" %d ",bil);bil+=2;
}while(bil<=10);
getch( );}
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 = 62 + 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 = 9451 * 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 variabelditunjukan 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 pendeklarasian array
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
Proses Looping input variabel array :
7/23/2013
Proses output judul kolom :
Proses Looping output variabel array :
Array Dimensi 2
Bentuk Umum pendeklarasian array
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.
Bentuk Umum pendeklarasian array
Contoh penulisan array dimensi 2 :
Inisialisasi Array Dimensi 2 (hal 94)
Contoh penggunaan array dimensi 2
7/23/2013
Latihannya :
kerjakan latihan hal 100 no. 1
POINTER
Merupakan sebuah variabel yang berisialamat dari variabel lain. Suatu pointerdimaksudkan untuk menunjukan ke suatualamat memori sehingga alamat dari suatuvariabel dapat diketahui dengan mudahvariabel 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 pointedby”. Dengan menggunakan operator reference (*)ini, menghasilkan nilai yang berada pada suatualamat memori
Penggunaan Pointer
• Dapat digunakan untuk mendeklarasikan
variabel bertipe data string tanpa harus
dideklarasikan batasan karakternya.
• Dapat digunakan dalam penggunaan FUNGSI• 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 yangtermasuk kedalam program, tetapi bukanlah instruksidari program itu sendiri, tetapi untuk preprocessor
– #define
– #include– #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 dandefinisi konstanta. Selain file-file header standar yangdisediakan oleh C++, kita dapat juga membuat fileheader sediri, dengan cara yang sama seperti membuatdisediakan oleh C++, kita dapat juga membuat fileheader sediri, dengan cara yang sama seperti membuatfile editor. Yang harus diperhatikan pada saatmenyimpan file header yang telah dibuat harusdigunakan akhiran .h
• Contoh listing dapat di lihat di bab 8 Macro halaman117 - 118
Fungsi (Function) merupakan blok dari kode yang
dirancang untuk melaksanakan tugas khusus.
Kegunaan dari fungsi ini adalah untuk:
• Mengurangi pengulangan penulisan program yang• 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 Fungsiadalah suatu pendefinisian nilai-nilai dari objek-objekyang dideklarasikan pada bagian argumen di fungsi.Nilai-nilai pada objek-objek tersebut didapat darivariabel-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 Return3. Pemanggilan Return
Pemanggilan Secara Nilai(by Value)pemanggilan fungsi dengan nilai akan menyebabkannilai parameter aktual tidak akan berubah, walaupunnilai parameter formalnya berubah.
Pemanggilan Secara Referencepemanggilan 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 ReturnDilakukan 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 FungsiPenjelasannya : 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 dandimana ( 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. sedangkandideklarasikan 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(Struktur,Fungsi, Array dan Seleksi
Kondisi ) Ketentuan Soal .
BENTUK TAMPILAN OUTPUT
OOP adalah pemrograman yang
menitikberatkan kepada objek-objek untuk
menyelesaikan tugas atau proses dari program
tersebut. Sedangkan penitik beratkan ini
dimaksudkan adanya interaksi pengirimandimaksudkan 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
tugas PRA UAS dapat disesuaikan
temanya oleh masing-masing
Instruktur.
Sebagai contoh di slide berikutnya
pembuatan project dengan tema
penyewaan pakaian adat
• Project yang akan di buat dengan penggunaan
structure, label, seleksi kondisi (nested if),
sintaks input dan output
• Bertujuan untuk latihan mahasiswa
menggunakan sintaks yang di bahas untukmenggunakan sintaks yang di bahas untuk
ujian UAS.
Bentuk Tampilan Awal
Bentuk Tampilan Input
Bentuk Tampilan Output