Vous êtes sur la page 1sur 168

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.
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 Editor
TERBAGI 4
C. Jendela Editor
D. Jendela Message
E. Baris Status (Status Bar)
3. Pengenalan Struktur program C++
[Kristanto:200! "alah sat# konsep yang penting dalam bahasa pemrograman $%%
adalah "tr#kt#r& "tr#kt#r mer#pakan bent#k s#s#nan dari s#at# program yang
dib#at& Perhatikan contoh program berik#t ini:
$ontoh:
'(contoh program sederhana dengan $%%('
)incl#de *stdio&h+
main()
,
Komentar program
praprosesor nama dari
f#ngsi-a.al dari f#ngsi- blok
f#ngsi- akhir dari f#ngsi
,
printf(/Belajar Bahasa $%%0)1
2
"at# jenis pengarah praprosesor yang
dipakai #nt#k membaca file yang
dinamakan file j#d#l (header file)
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 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 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 0 ke variabel jumlah dan !," ke variabel
harga_per_satuan#
$umlah=0;
harga_per_satuan=!#";
%otal_harga= &umlah ' harga_per_satuan; %otal_harga= &umlah ' 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# %urbo
C)) mendukung empat kelas konstanta:
[Kristanto:2009] perintah ini digunakan untuk memasukan berbagai &enis data
kedalam program le*at keyboard dan dapat digunakan +ungsi pustaka scanf, getch
maupun getche dan cin.
,entuk -mum: ,entuk -mum:
Scanf(string kontrol, daftar argumen);
String kontrol dapat berupa:
a. Penentu format
b. Karakter spasi putih
c. Karakter bukan spasi putih
Contoh:
.'///////////////////////////////////////////////////////////////'.
.'0rogram: 12an+#2pp '.
.'///////////////////////////////////////////////////////////////'.
3in2lude 4stdio#h5
6ain78
9
int ilai, tugas;
print+7:6asukan sebuah nilai: :8; s2an+7:;d<,=nilai8;
print+7:6asukan nilai tugas: :8; s2an+7:;d<,=tugas8;
i+ 7nilai5"0 == tugas5="8 i+ 7nilai5"0 == tugas5="8
print+7:>ulus ?n<8;
else
print+7:%idak >ulus?n<8;
@
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
[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( );
}
Aigunakan untuk menampilkan hasil yang ter+ormat dengan menggunakan +ormat
spesification. %abelnya adalah sebagai berikut:
TIPE DATA
Penentu Format Untuk
printf( )
Integer %d
Floating Point 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; int nilai = 100;
clrscr( );
printf(hai %s, Kamu mendapatkan Nilai %i , nama, nilai);
}
Bungsi ini hanya digunakan untuk menampilkan nilai string dan sudah
mengandung line feed/ Pindah baris otomatis#
Contoh:
.'/////////////////////////////////////////////////////////////'.
.'Cama 0rogram: puts#2pp '.
.'/////////////////////////////////////////////////////////////'. .'/////////////////////////////////////////////////////////////'.
3in2lude 4stdio#h5
6ain78
9
2har 'nama;
nama=:Diani<;
puts7nama8;
@
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] put2har maupun puts untuk menampilkan hasil dapat digunakan
+ungsi pustaka cout# Bungsi pustaka ini bentuknya agak sedikit berbeda dengan
bentuk pustaka output lainnya#
0erbedaannya terletak pada:
!# 0raprosesor
Kalau fungsi pustaka printf, putchar maupun puts praprosesornya
menggunakan #include <stdio.h>, sedangkan fungsi pustaka cout
praprosesornya menggunakan #include <iostream.h>
2# Komentar
E# Fanti ,aris
praprosesornya menggunakan #include <iostream.h>
Kalau fungsi pustaka printf, putchar maupun puts komentarnya
menggunakan simbol /* diakhiri */, sedangkan fungsi pustaka cout
komentarnya menggunakan simbol //
Kalau fungsi pustaka printf, putchar maupun puts ganti baris
menggunakan \n, sedangkan fungsi pustaka cout ganti baris
menggunakan 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.
anda operator dalam bahasa !"" dapat dikelompokan sebagai berikut:
#. Operator pengerjaan $assignment operators% #. Operator pengerjaan $assignment operators%
2. Operator aritmetika $arithmatic operators%
&. Operator peningkatan dan penurunan $increament and decrement operators%
'. Operator bit(ise $bitwise operators%
). Operator hubungan $relational operators%
*. Operator logika $logical operators%
+. Operator alamat $address operators%
,. 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
-in.lude /stdio.h0
-in.lude /.onio.h0
-in.lude /iostream.h0
main$ %
1
int 2,y, a30, b30, . 3 0, d 3 04
.lrs.r$ %4
.out//56asukan 7ilai 8 : 54 .in0024
!ontoh:
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
.out//56asukan 7ilai 8 : 54 .in0024
.out//56asukan 7ilai 9 : 54 .in00y4
a32"y4 . 3 2: y4
b32;y4 d 3 2 < y4
print=$>?asil @ari 83 A " B3 :i CnD , a%4
print=$>?asil @ari 93A ; B3 :i CnD,b%
.out//5 ?asil dari ! 3 A : B 3 5//.//endl4
.out//5 ?asil dari @ 3 A < B 3 5//d//endl4
get.h$ %4
E
dengan sebutan RValue (Right
Value)
F anda > 3 >, dikenal dengan
sebagai Operator Pemberi
Nilai (Assignment Operator).
Operator Keterangan
++ Penambahan
-- Pengurangan
abel Operator Genambah H Gengurang
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 Ielasi digunakan untuk membandingkan dua buah nilai. ?asil
perbandingan operator ini menghasilkan nilai numerik # $True% atau 0 $False%.
Operator Keterangan
== Sama Dengan ( bukan pemberi nilai )
!= Tidak Sama dengan != Tidak Sama dengan
> 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 = ";
!ontoh:
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
|| Operator Logika OR || 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 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 F F F
T F T
String merupakan bentuk data yang biasa dipakai dalam pemrograman
guna menampung dan memanipulasi data teks[Kristanto:2009].
Contoh programstring:
/*program string*/
#include <stdio.h>
main()
{ {
char nama[20];
printf(Masukan Nama
Anda:);gets(nama);
pringt(Nama Anda Adalah: %s
\n,nama);
}
[Kristanto:2009] =ungsi ini dipakai untuk menyalin string asal ke variabel string
tujuan, variabel tujuan harus memiliki ukuran yang dapat menampung seluruh
karakter string asal.
9entuk Jmum:
str.py$tujuan,asal%4
{
char huruf[20];
str.py$tujuan,asal%4
!ontoh:
#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] =ungsi ini dipakai untuk menghitung jumlah karakter
argumennya.
9entuk Jmum:
strlen$str%4
!ontoh:
-in.lude /stdio.h0
cout<<"Masukkan Sembarang Kata =
-in.lude /stdio.h0
-in.lude /.onio.h0
-in.lude /string.h0
-in.lude /iostream.h0
main$ %
1
.har huru=[20]4
.har pindah[20]4
.lrs.r$ %4
cout<<"Masukkan Sembarang Kata =
";
gets(huruf);
cout<<"Panjang Kata Yang Diinputkan
= ";
cout<<strlen(huruf);
getch( );
}
[Kristanto:2009] =ungsi ini dipakai untuk membandingkan string str# dengan string
str2. ?asil dari =ungsi ini bertipe int berupa nilai negati= $str# kurang dari str2%,
nol$str#3str2%, positi=$str# lebih dari str2%.
9entuk Jmum:
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( );
}
#. 9uatlah Kour.e !ode dari tampilan diba(ah ini:
2. 9uatlah Kour.e !ode dari tampilan diba(ah ini, dimana nilai >mD
ditentukan sendiri oleh mahasis(a
3. Buatlah programuntuk menghitung panjang kata berikut ini:
Akademi Manajemen Informatika dan Komputer Bina Sarana
Informatika
4. Bulatlah programuntuk menggabungkan dua buah string
Kalimat1 = Manajemen
Kalimat2 = Informatika
Menjadi seperti berikut:
ManajemenInformatika
[Kristanto:2009] 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:
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.
!entu" #$u$%
if("ondisi)
&e'nyataan1
else
(include )stdio*+>
,ain()
{
int nilai-tugas;
&'intf(,asu"an .ebua+ /ilai% );scanf(0d-1nilai);
&e'nyataan2
&'intf(,asu"an .ebua+ /ilai% );scanf(0d-1nilai);
&'intf(,asu"an /ilai 3ugas% ); scanf(0d-1tugas);
if(nilai>40)
&'intf(5ulus 6n);
else
&'intf(3ida" 5ulus 6n);
getc+();

!entu" #$u$%
if (kondisi)
{
perintah-1;
...
}
else
{
(include )stdio*+>
(include )conio*+>
(include )iost'ea$*+>
$ain( )
{
perintah-2;
...
}
$ain( )
{
c+a' gol- 7ab8109;
long ga&o"=0;
cl'sc'( );
cout))endl)): ;ata <abatan:))endl
)): = = = = = = = = = = = = = = = =:))endl;
cout)): ,asu"an =olongan 81/29% :;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<<endl
cout<<" Gaji Pokok =
"<<gapok<<endl;
getch ( );
}
Pe'inta+ if dala$ if se'ing disebut nested-if* Pe'inta+ ini $e$&unyai bentu"
u$u$ sebagai be'i"ut%
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;
else
harga=75000;
}
else
cout<<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;
else
harga=60000;
}
cout<<Salah Kode Baju<<endl;
cout<<"------------------------"<<endl;
cout<<"Merk Baju : "<<merk<<endl;
cout<<"Harga Baju : "<<harga<<endl;
getch();
}
1* !uatla+ &'og'a$ dengan ta$&ilan sebagai be'i"ut%
In&ut%
>ut&ut%
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* !uatla+ &'og'a$ dengan ta$&ilan sebagai be'i"ut%
In&ut%
>ut&ut%
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 2 Rp 800.000
3 Rp 400.000
BTV Batavia 1 Rp 1.000.000
2 Rp 700.000
3 Rp 300.000
total !aya'=+a'ga*7u$la+;
[Kristanto:2009] 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;
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 PEMESAA T!"ET "ERETA
#############################################
ama Pemesan $ %input&
ama "ereta $ %output&
"elas "ereta $ %output&
'arga Per Tiket $ %output&
(umlah Pemesanan Tiket $ %input& (umlah Pemesanan Tiket $ %input&
Bia)a Tambahan Fasilitas $ %output&
Pemba)aran $ %output&
Dis*ount $ %output&
#############################################
Total Pemba)aran $ %output&
+ang Ba)ar $ %input&
+ang "embali $ %output&
#############################################
Mau !nput Data ,agi -. / T0 11 $ %input&
2. 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 300000
B Bougenville 250000
M Mawar 200000
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 ] ? 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
[Kristanto:2009] proses looping yang menggunakan perhitungan (counter)
yang sudah pasti (misalnya variabel k=1,2,,n! "=m, m#1,,$! dan sebagainya)
dapat dibuat menggunakan pernyataan for
%entuk &mum:
for ( inisialisasi; syarat pengulangan;
pengubah nilai pencacah )
{
pernyataan / perintah; 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 Pengulangan; memegang kontrol terhadap pengulangan,
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 pen(a(ah )
)
for ( inisialisasi! syarat pengulangan! pengubah nilai pen(a(ah)
)
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 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:
while ( syarat )
Pernyataan / Pernyataan /
perintah ;
%entuk 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 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 ;
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 %ulatlah program untuk menghitung 10 deret bilangan genap dengan
hasilnya :
2 , - , . , / , 10 , 12 , 1- , 1. , 1/ , 20 = 110
2 %ulatlah program untuk menghitung pen"umlahan deret bilangan
genap membentuk segitiga siku dengan hasilnya :
2 = 2
2 , - = . 2 , - = .
2 , - , . = 12
2 , - , . , / = 20
2 , - , . , / , 10 = 00
0 %ulatlah program untuk menghitung perkalian deret bilangan gan"il
membentuk segitiga siku dengan hasilnya :
1 = 1
1 1 0 = 0
1 1 0 1 $ = 1$
1 1 0 1 $ 1 2 = 10$
1 1 0 1 $ 1 2 1 9 = 9-$ 1 1 0 1 $ 1 2 1 9 = 9-$
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 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 $ua
Array Dimensi 1
Bentuk %mum pendeklarasian array
Inisialisasi / pemberian nilai awal
array dimensi 1
$an pengaksesan pemanggilan datanya bisa
menggunakan&memanggil subindeksnya
Contoh programnya 'hal.()*
Contoh penggunaan array'lanjutan* hal (,
Proses Looping input variabel array :
-&,.&,/).
Proses output judul kolom:
Proses Looping output variabel array :
Array Dimensi 2
Bentuk %mum 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 %mum pendeklarasian array
Contoh penulisan array dimensi 2 :
0nisialisasi Array $imensi , 'hal (1*
Contoh penggunaan array dimensi ,
-&,.&,/).
Latihannya "
kerjakan latihan hal )// no. )
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 variabel dapat diketahui dengan mudah
Operator Pointer
Terdapat dua maam operator pointer yang
disediakan oleh !orland "##$
%. Operator dere&erene ' ( )
*. Operator re&erene ' + )
Operator dere&erene ' ( )
Operator ini biasa disebut dengan ,address o&- atau
operator alamat. .engan menggunakan operator
dere&erene'() ini/ suatu variabel akan menghasilkan
alamat lokasi memori.
Operator re&erene ' + )
Operator ini biasa disebut dengan ,value pointed
by-. .engan menggunakan operator re&erene '+)
ini/ menghasilkan nilai yang berada pada suatu
alamat memori
Penggunaan Pointer
.apat digunakan untuk mendeklarasikan
variabel bertipe data string tanpa harus
dideklarasikan batasan karakternya.
.apat digunakan dalam penggunaan 01N2SI .apat digunakan dalam penggunaan 01N2SI
yaitu saat pemanggilan seara nilai dan
re&ernsi
"ontoh listing dapat di lihat di bab 3 Pointer
halaman %45 6 %%4
M7"RO
Preproessor .iretives
Preproessor diretive merupakan suatu perintah yang
termasuk kedalam program/ tetapi bukanlah instruksi
dari program itu sendiri/ tetapi untuk preproessor
8de&ine
8inlude 8inlude
8i& 8endi&
8i& 8else 8endi&
8eli&
8unde&
8i&de& 8i&nde&
9ihat penjelasan di modul "## halaman %%%6%%:
Pembuatan 0ile ;eader
0ile ;eader adalah suatu &ile dengan akhiran .h
0ile ini sebenarnya berisikan deklarasi fungsi dan
definisi konstanta. Selain &ile6&ile header standar yang
disediakan oleh "##/ kita dapat juga membuat &ile
header sediri/ dengan ara yang sama seperti membuat
disediakan oleh "##/ kita dapat juga membuat &ile
header sediri/ dengan ara yang sama seperti membuat
&ile editor. <ang harus diperhatikan pada saat
menyimpan &ile header yang telah dibuat harus
digunakan akhiran .h
"ontoh listing dapat di lihat di bab = Maro halaman
%%3 6 %%=
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 .
" Fungsi sederhana(tanpa parameter)
" Fungsi #erparameter
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.
$ilai-nilai pada objek-objek tersebut didapat dari
%ariabel-%ariabel yang barada pada program utama
&ang Perlu diperhatikan dalam pembuatan Fungsi berparameter :
'. (umlah Parameter aktual dan parameter formal harus sama
. )ipe data yang digunakan oleh parameter harus sama
*. )ipe pemanggilan fungsi
Pemanggilan Fungsi Berparameter
'. Pemanggilan +ecara $ilai
. Pemanggilan +ecara ,eference
*. Pemanggilan ,eturn *. Pemanggilan ,eturn
Pemanggilan Secara Nilai(by Value)
pemanggilan fungsi dengan nilai akan menyebabkan
nilai parameter aktual tidak akan berubah, -alaupun
nilai parameter formalnya berubah.
Pemanggilan Secara Reference
pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter
aktual berubah, dengan cara merubah nilai parameter formalnya. .ntuk
pemanggilan by reference memerlukan sebuah pointer ( " ) didepan
nama parameter formalnya, dan ( / ) untuk nama parameter aktualnya.
Pemanggilan Secara Return
0ilakukan untuk melakukan pengiriman suatu nilai atau nilai dari suatu fungsi
kepada fungsi yang lain yang memanggilnya.
#uatlah rancangan perhitungan luas segitiga dengan
tampilan seperti berikut :
Contoh Penggunaan Fungsi
0imana perhitungan luas nya dilakukan di dalam fungsi
luas1segitiga dan penggunaan fungsi garis
Contoh Penggunaan Fungsi
Penelasannya : 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 dimana ( a ) sebagai alas dan
( t ) sebagai tinggi. 2alu
didalam fungsi segitiga di
proses hitung luas
segitiganya. 2alu 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 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.
!"#$%"&'Struktur(ungsi "rray dan Seleksi
)ondisi * )etentuan Soal .
B+&#U) #"-P$!"& .U#PU#
OOP adalah pemrograman yang
menitikberatkan kepada objek-objek untuk
menyelesaikan tugas atau proses dari program
tersebut. Sedangkan penitik beratkan ini
dimaksudkan adanya interaksi pengiriman 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
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 i!",
sintaks input dan output
#ertujuan untuk latihan mahasiswa
menggunakan sintaks yang di bahas untuk menggunakan sintaks yang di bahas untuk
ujian UAS.
#entuk $ampilan Awal
Bentuk Tampilan Input
#entuk $ampilan %utput

Vous aimerez peut-être aussi