Bahasa C++
diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun
1980an berdasarkan C ANSI (American National Standard Institute). Pertama kali,
prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa
tersebut disebut C dengan kelas ( C wih class). Selama tahun 1983-1984, C
dengan kelas disempurnakan dengan menambahkan fasilitas pembebanlebihan
operator dan fungsi yang kemudian melahirkan apa yang disebut C++.
Symbol ++
merupakan operator C untuk operasi penaikan, muncul untuk menunjukkan bahwa
bahasa baru ini merupakan versi yang lebih canggih dari C. Borland
International merilis compiler Borland C++ dan Turbo C++. Kedua compiler ini
sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++
selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk
pemrograman Windows.
Selain Borland
International, beberapa perusahaan lain juga merilis compiler C++, seperti
Topspeed C++ dan Zortech C++.
Tentang C++
C++ diciptakan
untuk mendukung pemrograman berorientasi pada objek (Object Oriented
Pragramming /OOP) yang tidak dimiliki C. sementara C merupakan bahasa
pemrograman terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP.
Reputasi C tidak diragukan lagi dalam menghasilkan program .EXE berukuran
kecil, eksekusi yang cepat, antarmuka (interfacing) yang sederhana dengan
bahasa lain dan fleksibilitas pemrograman.
Kelebihan dan
Kekurangan C++
Kelebihan C++
·
Bahasa
Standard-nya ANSI bisa dipakai diberbagai platform.
· Kecepatan program jika dibanding dengan program yang sama buatan bahasa
lain, relatif lebih cepat.
· Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi
untuk semua jenis komputer.
· Bahasa C++ tersedia hampir di semua jenis komputer.
· Kode program bersifat reuseable, sehingga dapat digunakan kembali
pada project lain dengan hanya menggunakan library dan file header.
· Bahasa C++ hanya menyediakan sedikit kata-kata kunci (hanya
terdapat 48 kata kunci).
· Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan
pembuatan aplikasi makro.
· C++ adalah bahasa yang terstruktur, dengan demikian akan lebih
mendukung OOP.
· Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan
bahasa mesin.
· C++ dapat membuat aplikasi graphic processor berkualitas tinggi.
Kekurangan
· C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep
OOP karena kaidahkaidah OOP dapat dilanggar.
· Dan di C++ ada konsep pointer yang sangat membingunkan, ini salah
satu alasan mengapa C++ menjadi sesuatu yg paling tidak disukai.
· C++ walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk
developmentnya harus spesific pada salah satu sistem operasi contoh Visual
Studio hanya dapat berjalan di Windows. Alasan ini juga nantinya akan dapat
menurunkan minat terhadap sistem operasi yang lain contohnya Linux. Apabila
dalam praktiknya menggunakan Visual Studio maka otomatis akan menggunakannya
juga dan pada akhirnya malas untuk mencoba sistem operasi yang lain.
· Implementasi C++ dalam teknologi IT pada saat sekarang sudah sangat
sedikit sekali.
· Sulitnya untuk membuat sesuatu dengan C++ sehingga kepeminatannya
dalam memperdalam programming akhirnya harus kandas, kecuali dengan inisiatif
sendiri mempelajari bahasa/teknologi lain.
Pemrograman C++ Dengan Turbo
C++
Turbo C++ merupakan kompiler C++
dengan IDE yang terintegrasi yang dikembangkan oleh Borland, terkenal karena
kecepatannya dalam kompilasi dan linking. Produk ini merupakan bagian dari
keluarga kompiler borland yang sangat populer termasuk Turbo Pascal, Turbo
Basic, Turbo Prolog, dan Turbo C.
Turbo C++ merupakan suksesor dari
Turbo C yang merupakan pengembangan lebih lanjut dengan keseragaman tata cara
dalam kompiler seperti halnya cara yang terdapat pada Turbo Pascal dalam
menambahkan fungsionalitas object pada versi-versi Turbo Pascal sebelumnya. Namun
tidak seperti halnya Turbo Pascal, Turbo C++ senantiasa mengikuti dan
mempertahankan standar-standar yang berlaku pada bahasa C++.
Turbo C++ membebaskan programmer dari keharusan menuliskan program yang rumit,
sebab berbasis pemrograman berorientasi objek (OOP, Object Oriented
Programming). Hal ini memungkinkan program lebih cepat dikembangkan.
Pemrograman C++ mempunyai beberapa aturan penulisan kode atau perintah
dasar pada menuliskan kode program. Jika penulisan kode tidak
sesuia dengan aturan dasarnya, maka akan terjadi kesalahan (error) ketika
dikompilasi karena tidak dapat dikenali oleh compiler.
Berikut beberapa aturan dalam C++
1.
Perintah
standar bahasa C++ harus dituliskan dengan huruf kecil. Misalnya : cin, cout,
printf, pow, sqrt, int, float, dll. Penulisan yang salah Cin, CIN, Int, INT,
Float, dll.
2.
Penulisan huruf
besar dan kecil bersifat sensitif, artinya huruf besar dan huruf kecil
dibedakan. Misalnya A dan a dianggap dua buah variabel yang berbeda.
3.
Setiap akhir
dari baris pernyataan harus diakhiri dengan tanda titik koma (;), kecuali
penggunaan file Header dan Deklarasi kostanta. Misalnya : cout<
4.
Setiap blok
atau kelompok kode program harus diawali dengan tanda buka kurung kurawal { dan
diakhiri dengan tanda tutup kurung kurawal }.
5.
Untuk
mendeklarasikan lebih dari satu variabel, variabel tersebut dipisah dengan
tanda koma(,). Misalnya float a,b,c,d;
6.
Untuk
menambahkan pernyataan/komentar dalam source menggunakan tanda // untuk
komentar per satu baris, sedangkan apabila banyak baris maka menggunakan
diawali dengan tanda /* dan ditutup atau diakhiri dengan tanda */.
Misalnya : cin>>a; //perintah untuk menginput nilai a atau
void main() /* perintah untuk mendefinisikan fungsi utama */
7.
Dalam suatu
program C++ harus terdapat fungsi yang disebut main(). Fungsi main() merupakan
program utama dimana kode program mulai dibaca dan dikerjakan. Tanpa fungsi
main(), maka progam C++ tidak dapat bekerja dan tidak dapat dikompilasi.
Lembar Kerja Praktikum 1 :
Pengenalan
Setelah mengerjakan LKP 1 ini, anda diharapkan
dapat:
1. mengenal lingkungan salah satu compiler bahasa
pemrograman C yaitu Turbo C++ 4.5.
2. menggunakan compiler tersebut untuk
menyelesaikan kasus sederhana.
Dasar Teori
Lingkungan Turbo C++ 4.5
Turbo C++ 4.5 adalah tool yang dipakai untuk
membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama
Turbo C++ 4.5.
4 3 2 1
1 : Menu Utama
2 : Toolbar
3 : Jendela
pengetikan kode program
4 : Jendela
Message/Pesan kesalahan kode
Create
new, Open, Save, Save As File
Untuk memulai membuat kode program di Turbo C++ 4.5
langkah-langkahnya adalah sebagai berikut :
1.
Buka Turbo C++
4.5 dari menu program sehingga akan keluar jendela Turbo C++ berikut :
2.
Kemudian pilih
menu File > New maka akan tampil
jendela baru (di dalam jendela utama Turbo C++) untuk menuliskan kode program.
3.
Setelah
menuliskan kode program maka simpan dengan memilih menu File > Save as (untuk menyimpan dengan nama baru) atau File > Save (Tidak menyimpan dengan nama
baru bila sudah pernah disimpan). Tentukan dirve dan direktori tempat
penyimpanan.
Untuk membuka file atau kode program yang sudah pernah dibuat maka
langkah-langkahnya adalah seperti berikut :
1. Pilih menu File > Open maka akan tampil jendela seperti berikut :
2. Tentukan drive dan direktori lokasi tempat
menyimpan file program kemudian klik OK.
Compile
Program, Pendeteksian Error dan Warning, Run Program
Setelah menuliskan kode program, maka berikutnya adalah compile
program dengan tujuan untuk mendeteksi kesalahan-kesalahan dalam penulisan kode
program. Adapun langkah-langkahnya adalah sebagai berikut :
1.
Pilih menu Project > Compile, atau kombinasi
tombol ALT+F9, akan tampil jendela
status compile seperti berikut :
Dari status di atas maka tidak ditemukan error atau warning pada program.
Dari status di atas dapat dilihat bahwa
terdapat error pada program. Untuk
melihat pesan error tersebut klik OK maka
akan tampil jendela pesan error seperti berikut :
Jendela di bawah ini menunjukkan terdapat warning pada program.
Untuk melihat pesan warning tersebut, klik tombol OK.
2.
Setelah kode
program di-compile maka langkah berikutnya adalah menjalankannya, yaitu dengan
memilih menu Debug > Run atau
kombinasi tombol CTRL+F9.
Contoh Program :
Program mengeluarkan tulisan ”Selamat Datang”
1. Compiler C: Turbo C++ 4.5
Deklarasi :
-
Algoritma :
write(“Selamat Datang
di STKIP INVADA CIREBON”)
write(“Nama Anda”)
write(“Nim Anda”)
write(“Jurusan Anda”)
- Bukalah software Turbo C++
- Ketikkan kode program berdasarkan algoritma yang diberikan
- Compile program dengan menekan Alt + F9 atau pilih menu Project à Compile
- Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug à Run
- Simpan file dengan nama Praktikum1.cpp
Skenario devc++
dalam OS windows
1. Membuat
proyek baru di devc++ dalam OS windows
Step 1 : Pada aplikasi c++, pilih File > New Project > New
Source File
Tampilan project baru
Step 2 : Ketikkan kode program pada area kerja
Tampilan source code
Task 2 :
Menyimpan proyek baru
Step 1 : Pilih Menu File > Save As >
Step 2 : Pilih direktori penyimpanan dan beri nama file
Tampilan Save As
Task 3 :
Kompilasi dan Eksekusi program
Step 1 : Pilih menu Execute > Compile
Tampilan compile program
Step 2 : Pilih menu Execute > Run
Tampilan running program
Lembar Kerja Praktikum 2: Tipe Data dan Ekspresi
Setelah mengerjakan LKP 2 ini, anda diharapkan
dapat:
1.
mengenal berbagai tipe data pada bahasa C.
2.
menggunakan tipe data untuk menyelesaikan berbagai kasus
sederhana.
Tipe Data dapat dibedakan menjadi dua, yaitu
tipe data dasar dan tipe data bentukan
Tipe Data Dasar
Adalah tipe yang dapat langsung dipakai.
Ukuran Memori (byte) |
Jangkauan Nilai |
Jumlah Digit Presisi |
|
Char |
1 |
-128 hingga +127 |
- |
Int |
2 |
-32768 hingga +32767 |
- |
Long |
4 |
-2.147.438.648 hingga 2.147.438.647 |
- |
Float |
4 |
3,4E-38 hingga 3,4E38 |
6-7 |
Double |
8 |
1.7E-308 hingga 1.7E308 |
15-16 |
long double |
10 |
3.4E-4932 hingga 1.1E4932 |
19 |
Beberapa format yang dipakai untuk mencetak nilai numerik
integer :
Kode Format |
Hasil yang
dicetak |
%i atau %d %u %li %lu |
Numerik integer bertanda Numerik integer tak bertanda (unsigned integer) Numerik Long integer bertanda Numerik Unsigned Long Integerl |
%c |
Karakter ASCII |
%x %o |
Hexadecimal Integer Octal Integer |
Tipe
Bentukan
Tipe
bentukan adalah type yang dibentuk dari type dasar atau dari type bentukan lain
yang sudah didefinisikan, contohnya tipe struktur. Struktur terdiri dari data yang disebut field.
Field–field tersebut digabungkan menjadi satu tujuan untuk kemudahan dalam
operasi. Mengenai tipe data bentukan akan dibahas lebih lanjut pada mata kuliah
Algoritma dan Pemrograman 2.
Contoh Program :
1: #include
<stdio.h>
2: #include <conio.h>
3: void main()
4: {
5: int
nilai,hasil;
6:
7: printf(“Masukkan
Suatu Nilai : ”);
8: scanf(“%d”,&nilai);
9:
10: clrscr();
11: hasil =
nilai + nilai ;
11: printf(“Hasil
dari nilai + nilai adalah :\n%d”, hasil);
12: }
1. Compiler C: Turbo C++ 4.5
Deklarasi
:
const
Phi = 3.14 {konstanta}
L
: real
K,
p, l : integer
Algoritma
:
read(p)
read (l)
Kß2*(p+l)
write(K)
bersihkan
layar
read (r)
L ß
Phi*r*r
write(L)
Lembar Kerja Praktikum 3: Kondisi
Setelah mengerjakan LKP 3 ini, anda diharapkan
dapat:
1.
memahami konsep pengkondisian dalam pemrograman
2.
mengenal berbagai bentuk pengkondisian pada bahasa C.
3.
menggunakan pengkondisian untuk menyelesaikan berbagai kasus
sederhana.
Bentuk IF
Penggunaan seleksi dapat menggunakan bentuk if, sintaks
penulisannya adalah sebagai berikut :
if
(kondisi)
{
Statement
}
Contoh Program :
1: #include
<stdio.h>
2: void main()
3: {
4: int a;
5: int b;
6:
7: a = 10;
8: b = 9;
9:
10: if
(a>b)
11: {
12: printf(“%d
lebih besar dari %d”,a,b);
13: }
14: }
Bentuk IF dengan Operator
Terkadang ada
lebih dari satu kondisi yang harus terpenuhi, untuk itu dapat digunakan
operator logika AND dan OR, pada bahasa C sintaks penulisannya adalah sebagai
berikut,
Untuk operator logika AND :
if
(kondisi1 && kondisi2 )
{
Statement
}
ContohProgram :
1: #include
<stdio.h>
2: void main()
3: {
4: int a =
10;
5:
6: if (a<
15 && a>9)
7: {
8: printf(“15
lebih besar dari %d lebih besar dari 9”,a);
9: }
10: }
Untuk operator logika OR :
if (kondisi1 || kondisi2 )
{
Statement
}
ContohProgram :
1: #include
<stdio.h>
2: void main()
3: {
4: int a =
15;
5:
6: if
(a%5==0 || a%2==0)
7: {
8: printf(“%d
habis dibagi 5 atau 2”,a);
9: }
10: }
Bentuk IF – ELSE IF – ELSE
Penggunaan bentuk if diatas adalah penggunaan untuk kasus
yang tidak memiliki alternative, untuk penggunaan if dengan alternative,
sintaks penulisannya :
if
(kondisi)
{
Statement1
}
else
{
Statement2
}
Atau
if
(kondisi)
{
Statement1
}
else
if (kondisi2)
{
Statement2
}
Else
{
Statement3
}
Contoh Program :
1: #include
<stdio.h>
2:
3: void main()
4: {
5: int T;
6:
7: printf(“Masukkan
Nilai Suhu = ”);
8: scanf(“%d”,&T);
9:
10: if
(T<=)
11: {
12: printf(“Kondisi
Beku”);
13: }
14: else if
(T>0 && T<= 100)
15: {
16: printf(“Kondisi
Cair”);
17: }
18: else
19: {
20: printf(“Kondisi
Uap”);
21: }
22: }
Bentuk Nested IF
Dalam penggunaan kondisi terkadang diperlukan suatu
bentuk if yang bertingkat, sintaks penulisannya adalah, sebagai berikut :
if
(kondisi1)
{
Statement1
if (kondisi1-1)
{
Statement1-1
}
else
{
Statement1-2
}
}
else
{
Statement2
}
Contoh Program :
1: #include
<stdio.h>
2: void main()
3: {
4: int a =
10;
5: int b =
5;
6: int c =
2;
7:
8: if(a%b ==
0)
9: {
10: printf(“%d
adalah bilangan kelipatan %d\n”,a,b);
11: if(a%c
== 0)
12: {
13: printf(“%d
adalah bilangan genap\n”,a);
14: }
15: else
16: {
17: printf(“%d
adalah bilangan ganjil\n”,a);
18: }
19: }
20: }
Bentuk SWITCH
Selain bentuk if, pengkondisian dalam bahasa C dapat pula
menggunakan bentuk switch, sintaks penulisannya adalah sebagai berikut:
switch(nilai)
{
case(kondisi1):
{
Statement1
}
break;
case(kondisi2):
{
Statement2
}
break;
case(kondisi3):
{
Statement3
}
break;
default:
{
StatementDefault
}
break;
}
Contoh Program :
1: #include
<stdio.h>
2:
3: void main()
4: {
5: int
nilai;
6: printf(”Masukkan
nilai : “);
7: scanf(“%d”,&nilai);
8:
9: switch(nilai)
10: {
11: case(1):
12: {
13: printf(“satu\n”);
14: }
15: break;
16: case(2):
17: {
19: printf(“dua\n”);
20: }
21: break;
22: case(3):
23; {
24: printf(“tiga\n”);
25: }
26: break;
27: default:
28: {
29: printf(“tidak
ada nilai\n”);
30: }
31: break;
32: }
33: }
1.
Compiler C: Turbo C++ 4.5
a,b,c
: real
D,x1,x2
: real
Algoritma
:
read(a);
read
(b);
read
(c);
if(a>0)
D=b*b-4*a*c;
if
(D>0)
write("Akar
Real");
x1=(-b+root(D))/(2*a);
x2=(-b-root(D))/(2*a);
write(x1);
write(x2);
elseif
(D==0)
write("Akar
Kembar");
x1=(-b)/(2*a);
write(x1);
else
{D<0}
write("Akar
Imaginer");
endif
else
write("nilai
a harus > 0");
endif
Lembar Kerja Praktikum 4: Pengulangan
Setelah mengerjakan LKP 4 ini, anda diharapkan
dapat:
1. memahami konsep pengulangan dalam pemrograman
2. mengenal berbagai bentuk pengulangan pada
bahasa C.
3. menggunakan pengulangan untuk menyelesaikan
berbagai kasus sederhana.
Bentuk FOR
Perulangan dalam bahasa C dapat menggunakan bentuk FOR, sintaks
penulisannya adalah sebagai berikut :
for (nilai awal; kondisi perulangan; operasi)
{
Statement
}
Contoh Program :
1: #include <stdio.h>
2: void main()
3: {
4: for(int i = 0; i < 9; i++)
5: {
6: printf(“%d ”,i);
7: }
8: }
Bentuk WHILE
Perulangan dalam bahasa C dapat pula menggunakan bentuk
WHILE, sintaks penulisannya adalah sebagai berikut :
while(kondisi)
{
Statement
operasi
}
Contoh Program :
1: #include <stdio.h>
2:
3: void main()
4: {
5: int i = 0;
6: while(i<10)
7: {
8: printf(“%d\n”,i);;
9: i++;
10: }
11: printf(“Nilai akhir = ”);
12:
13: while(i<10)
14: {
15: printf(“%d ”,i);
16: i++;
17: }
18: }
Bentuk DO-WHILE
Perulangan dalam bahasa C dapat pula menggunakan bentuk
DO-WHILE, sintaks penulisannya adalah sebagai berikut :
do
{
Statement
Operasi
}
while(kondisi);
Contoh Program :
1: #include <stdio.h>
2:
3: void main()
4: {
5: int i = 0;
6: do
7: {
8: printf(“%d\n”,i);
9: i++;
10: }
11: while(i<10);
12: printf(“Nilai akhir = ”);
13:
14: do
15: {
16: printf(“%d ”,i);
17: i++;
18: }
19: while(i<10);
20: }
1.
Compiler C: Turbo C++ 4.5
Deklarasi
:
i,j
: integer
Algoritma :
for
i ß 1 to 5 do
for
j ß 5 to i do
write(“*”)
endfor
write(“\n”)
endfor
Lembar Kerja Praktikum 5: Array
Setelah mengerjakan LKP 5 ini, anda diharapkan
dapat:
1.
memahami konsep array dalam pemrograman
2.
menggunakan array untuk menyelesaikan berbagai kasus
sederhana.
Array satu dimensi
Dalam bahasa pemrograman, array adalah
variabel yang sejenis yang berderet sedemikian rupa sehingga alamatnya saling
bersambung/kontigu atau dengan kata lain variabel berindeks.
Bentuk umum :
tipe_array
nama_array [jumlah data]
Ilustrasi array satu dimensi :
|
|
|
|
|
|
Array
di atas mempunyai enam element.
Contoh Program :
1: #include <stdio.h>
2:
3: void main()
4: {
5: int a[5] = {10,25,30,45,50};
6: int i;
7:
8: for(i=0;i<5;i++)
9: {
10: printf(“%d = %d\n”,i,a[i]);
11: }
12: }
Array Multidimensi
Array multidimensi adalah array yang mempunyai lebih dari
satu dimensi. Misal
: A[3][5] artinya array tersebut mempunyai 3 baris 5 kolom.
Bentuk umum :
tipe_array
nama_array [jumlah data][jumlah data]
Ilustrasi array multi dimensi :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Array
di atas mempunyai delapan belas element.
Contoh Program :
1: #include <stdio.h>
2:
3: void main()
4: {
5: int a[3][3] =
{{10,20,30},{40,50,60},{70,80,90}};
6: int i,j;
7:
8: for(i=0;i<3;i++)
9: {
10: for(j=0;j<3;j++)
11: {
12: printf(“%d
”,a[i][j]);
13: }
14: printf(“\n”);
15: }
16: }
1.
Compiler C: Turbo C++ 4.5
Deklarasi
:
const Nmaks = 20
NilaiAngka : array [1..Nmaks] of
real
NilaiHuruf : array [1..Nmaks] of
char
i : integer
Algoritma
:
for iß1 to n do
if (NilaiAngka[i] >
85) then
NilaiHuruf[i] ß’A’
elseif
(NilaiAngka[i] > 70) and (NilaiAngka[i] < 85) then
NilaiHuruf[i]ß’B’
elseif
(NilaiAngka[i] > 55) and (NilaiAngka[i] < 70) then
NilaiHuruf[i]ß’C’
elseif
(NilaiAngka[i] > 45) and (NilaiAngka[i] < 55) then
NilaiHuruf[i]ß’D’
else
NilaiHuruf[i]ß’E’
endif
endfor
Lembar Kerja Praktikum 6: Pointer
Setelah mengerjakan LKP 6 ini, anda diharapkan
dapat:
1.
memahami konsep pointer dalam pemrograman.
2.
menggunakan pointer untuk menyelesaikan berbagai kasus
sederhana.
Definisi
Pointer dapat diartikan sebagai suatu nilai yang menunjuk
alamat suatu lokasi memori. Lokasi memori tersebut mungkin diwakili oleh sebuah
variabel atau mungkin juga lokasi bebas dalam memori. Sedangkan pointer sendiri
yang berupa nilai ditampung dalam sebuah variabel yang disebut variabel
pointer. Jadi variabel pointer atau pointer berisi suatu nilai yang menyatakan
alamat suatu lokasi.
Contoh :
Step:
- d=&a à
*d = 2 ; d = A
- c=&b à
*c = 3 ; c = B
- b=*d à
b = 2 ; &b = B
- *d=*cà
*d = 2 ; d = A
Dari contoh di atas terlihat bahwa addres pada variabel
pointer dapat berubah – ubah, apabila addres suatu variabel pointer berubah
maka valuenya akan berubah sesuai addres yang ditunjuk oleh pointer tersebut.
Apabila pada address yang ditunjuk oleh pointer tersebut mengalami perubahan
value, maka value pada pointer juga akan berubah.
Contoh Program :
1: #include <stdio.h>
2:
3: void main()
4: {
5: int a,b;
6: int *c;
7: int *d;
8:
9: a = 2;
10: b = 3;
11:
12: d = &a;
13: printf("a = %d\n",a);
14: printf("alamat a = %d\n",&a);
15: printf("d = %d\n",*d);
16: printf("alamat d = %d\n",d);
17:
18: c = &b;
19: printf("b = %d\n",b);
20: printf("alamat b = %d\n",&b);
21: printf("c = %d\n",*c);
22: printf("alamat c = %d\n",c);
23:
24: b = *d;
25: printf("b = %d\n",b);
26: printf("alamat b = %d\n",&b);
27: printf("d = %d\n",*d);
28: printf("alamat d = %d\n",d);
29:
30: *d = *c;
31: printf("d = %d\n",*d);
32: printf("alamat d = %d\n",d);
33: printf("c = %d\n",*c);
34: printf("alamat c = %d\n",c);
35: }
1. Compiler C: Turbo C++ 4.5
Deklarasi
:
a : array [1..5] of
integer
*b : integer
i : integer
Algoritma
:
b = a
for i = 0 to 5 do
read(b)
b++
endfor
b = a
for i = 0 to 5 do
write(b)
b++
endfor
Lembar Kerja Praktikum 7: Fungsi dan Prosedur
Setelah mengerjakan LKP 7 ini, anda diharapkan
dapat:
1. memahami konsep fungsi dan prosedur dalam
pemrograman
2. menggunakan fungsi dan prosedur untuk
menyelesaikan berbagai kasus sederhana.
Definisi dan Bentuk Umum Fungsi
Fungsi adalah sejumlah instruksi yang
dikelompokkan menjadi satu, berdiri sendiri, yang berfungsi untuk menyelesaikan
suatu pekerjaan. Bahasa C minimal mempunyai satu buah fungsi yang disebut
Fungsi main() yaitu fungsi induk/utama. Sintaks penulisannya adalah sebagai
berikut :
TipeData NamaFungsi()
{
Statement
return variabel
}
Ingat bahwa pemrograman bersifat terstruktur,
karena itu untuk fungsi yang dibuat setelah main, harus dideklarasikan lebih
dahulu di bagian atas.
Definisi dan Bentuk Umum Prosedur
Prosedur adalah suatu fungsi yang tidak
mengembalikan nilai, karena itu tipe data untuk prosedur adalah void atau
kosong. Sintaks penulisannya adalah sebagai berikut :
void NamaProsedur()
{
Statement
}
Ingat bahwa pemrograman bersifat terstruktur,
karena itu untuk prosedur yang dibuat setelah main, harus dideklarasikan lebih
dahulu di bagian atas.
Penggunaan Parameter
Ada 2 jenis
Parameter
·
Formal Parameter, merupakan parameter yang muncul di
definisi fungsi atau prosedur.
·
Actual
Parameter, merupakan parameter yang muncul di program saat pemanggilan fungsi atau prosedur.
Berikut adalah
sintaks untuk penggunaan parameter
TipeData NamaFungsi(TipeData Variabel1, TipeData
Variabel2)
{
Statement
return variabel
}
TipeData NamaProsedur(TipeData Variabel1, TipeData
Variabel2)
{
Statement
return variabel
}
Contoh Program :
Fungsi :
1: #include
<stdio.h>
2:
3: int tambah(int
a, int b);
4:
5: void main()
6: {
7: int
a,b,hasil;
8:
9: printf(“Nilai
a = “);
10: scanf(“%d”,&a);
11:
12: printf(“Nilai
b = “);
13: scanf(“%d”,&b);
14:
15: hasil =
tambah(a,b);
16:
17:
19: printf(“Hasil
= %d\n”,hasil);
18: }
20:
21: int tambah(int
a, int b)
22: {
23: int Hasil;
24: Hasil = a + b;
25: return Hasil;
26: }
Prosedur :
1: #include
<stdio.h>
2:
3: void tambah();
4:
5: void main()
6: {
7: tambah();
8: }
9:
10: void tambah()
11: {
12: int a,b,c;
13: printf(“Nilai
a = “);
14: scanf(“%d”,&a);
15:
16: printf(“Nilai
b = “);
17: scanf(“%d”,&b);
18:
19: c = a + b;
20:
21: printf(“Hasil
= %d\n”,c);
22: }
1. Compiler C: Turbo C++ 4.5
Deklarasi
:
m,n, kpk : integer
function KPK(input m,n
: integer) à integer {menghitung KPK}
procedure cetak (input
kpk : integer) {cetak KPK}
Algoritma
:
read(m)
read(n)
kpk ß KPK(m,n)
cetak(kpk)
Lembar Kerja Praktikum 8: File Eksternal
Setelah mengerjakan LKP 8 ini, anda diharapkan
dapat:
1. memahami konsep file dalam pemrograman
2. menggunakan file untuk menyelesaikan berbagai
kasus sederhana.
Sejauh ini praktikum yang dilakukan pada LKP ini
menggunakan input dari keyboard dan memberikan output pada layar monitor. Pada
kenyataannya seringkali dilakukan pembacaan input dari arsip dan penulisan
output ke arsip.
Berikut adalah keyword yang penting dalam
pemrosesan arsip
FILE* à Tipe data
pengaksesan arsip
fopen à Fungsi untuk
membuka arsip
fclose à Fungsi untuk
menutup arsip
fprintf à Fungsi untuk
menulis ke dalam arsip
fscanf à Fungsi untuk
membaca dari dalam arsip
Contoh Program :
Menulis ke dalam arsip :
1: #include
<stdio.h>
2:
3: void main()
4: {
5: FILE*
file;
6: file =
fopen("arsip.txt","w");
8: fprintf(file,"Selamat_Datang_di_Fakultas_Ilmu_Komputer");
9: }
Membaca dari dalam arsip :
1: #include
<stdio.h>
2:
3: void main()
4: {
5: FILE*
file;
6: char
teks1[100];
7: file =
fopen("arsip.txt","r");
8:
9: fscanf(file,"%s",teks1);
10:
11: printf("%s",teks1);
12: }
Catatan :
w dan r adalah kunci untuk pengaksesan arsip,
w berarti write, digunakan agar arsip yang diakses hanya dapat ditulis saja,
sedangkan r berarti read, digunakan agar arsip yang diakses hanya dapat dibaca
saja.
1.
Compiler C: Turbo C++ 4.5
Deklarasi
:
file : FILE
nama, nim, jurusan : string
Algoritma
:
read(nama)
read(nim)
read(jurusan)
file ß
nama,nim,jurusan
nama, nim, jurusan ß file
write(nama)
write(nim)
write(jurusan)
Lembar Kerja Praktikum
9 : Variabel
Script :
#include
“iostream.h”
#include “conio.h”
main ()
{
int a,b,c;
cout
<< “Masukkan nilai A : “; cin >> a;
cout << “Masukkan nilai B : “; cin >> b;
c = a + b;
cout << “Nilai A+B = “<< c;
getch();
}
Ranning Program
Lembar Kerja Praktikum
10 : SEGITIGA
Script
#include
“iostream.h”
#include “conio.h”
main ()
{
//kamus
float alas,tinggi,luas;
//deskripsi
cout << “Masukkan Alas = “; cin >> alas;
cout << “Masukkan Tinggi = “; cin >> tinggi;
luas = (alas * tinggi) / 2;
cout << “Luas Segitiga = ” << luas;
getch(); //tekan sembarang tombol
}
Ranning Program
Lembar Kerja Praktikum
11 : Menukar
nilai a ke variabel b
Script
#include
“iostream.h”
#include “conio.h”
main()
{
int A,B,Cadangan;
cout<<
“Masukan Nilai A = “; cin >> A;
cout<< “Masukan Nilai B = “; cin >> B;
Cadangan
= A;
A=B;
B=Cadangan;
Cadangan
=0;
cout
<< “Nilai A =” << A << “\n” ;
cout << “Nilai B =” << B;
getch();
}
Ranning Program
Lembar Kerja Praktikum
12 : Menentukan presdikat
/*
Untuk Menentukan Predikat Kelulusan di perlukan input Nilai dengan keterangan :
A = > = 85 dan <= 100
B = > = 75 dan > 85
C = > = 60 dan > 75
D = < 60
Script
*/
#include
“iostream.h”
#include “conio.h”
main()
{
char Predikat;
float Nilai;
cout<<
“masukan Nilai Siswa : “; cin >> Nilai;
if
(Nilai>=85 && Nilai <=100)
Predikat = ‘A’;
else if (Nilai>=75 && Nilai <=85)
Predikat =’B’;
else if (Nilai>=60 && Nilai <=75)
Predikat =’C’;
elae if (Nilai<60)
Predikat = ‘D’;
else
Predikat = ”;
cout
<< “Nilai Huruf : “<< Predikat ;
getch();
}
Ranning Program
Lembar Kerja Praktikum
13 : Gaji Bersih
Hitung Gaji Bersih dari :
Gapok : 1.500.000
Tunjangan : 500.000
Pajak : 5%
BPJS : 5%
Input :
Nama dan Banyak Bulan ?
Script
*/
#include
“iostream.h”
#include “conio.h”
main ()
{
int Gapok, Tunj, nBulan, Gaber, TotalGaji, JumGaber;
float Pajak,BPJS;
char Nama[30];
cout
<< “Nama Pegawai : “; cin >> Nama;
cout << “Banyak Bulan : “; cin >> nBulan;
Gapok =
1500000;
Tunj = 500000 ;
TotalGaji = Gapok + Tunj;
Pajak = 0.05 * TotalGaji;
BPJS = 0.03 * TotalGaji;
Gaber =
TotalGaji – Pajak – BPJS;
JumGaber
= Gaber * nBulan;
cout
<< “SLIP GAJI PEGAWAI\n” << “==========================\n”;
cout << “Nama : ” << Nama << “\n”;
cout << “Gaji Pokok : ” << Gapok <<“\n”;
cout << “Tunjangan : ” << Tunj << “\n”;
cout << “Pajak : ” << Pajak <<“\n”;
cout << “BPJS : ” << BPJS << “\n”;
cout << “Selama : ” << nBulan<<“\n”;
cout << “==================================\n”;
cout << ” Gaji Bersih : ” << “jumGaber” << “\n”;
getch();
}
Ranning Program
Lembar Kerja Praktikum
14 : Menetukan bilangan bulat ganjil
Scipt
#include
“iostream.h”
#include “conio.h”
main ()
{
int input, sisabagi;
cout
<< “Masukan Bilangan Bulat :”; cin>> input;
sisabagi = input%2;
if (
sisabagi ==0 )
cout << input << ” adalah Bilangan Genap.”;
else
cout << input << ” adalah Bilangan Ganjil.”;
getch
();
}
Ranning Program
Lembar Kerja Praktikum 15 : Mencetak karakter
bintang dengan bentuk-bentuk segitiga dengan menggunakan perulangan
dalam perulangan
/*
Mencetak Karakter
*
**
**
***
****
*****
Scrip
*/
#include
“iostream.h”
#include “conio.h”
main ()
{
int baris,kolom,max ;
char karakter ;
karakter = ‘*’
;
max = 15;
cout <<
“Bentuk Pertaama” << endl ;
for (baris=1;
baris<=max; baris++)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
cout <<
“Bentuk Kedua” << endl ;
for (baris=1;
baris<=max; baris++)
{
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
cout <<
“Bentuk Ketiga” << endl ;
for (baris=max;
baris>=1; baris–)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
cout <<
“Bentuk Keempat” << endl ;
for (baris=max
; baris>=1; baris–)
{
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
cout <<
“Bentuk Refleksi Satu” << endl ;
for (baris=1;
baris<=max; baris++)
{
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<= (max-baris) ; kolom ++)
{
cout << ” ” ;
}
for (kolom=1; kolom<=baris; kolom++)
{
cout << karakter;
}
cout << endl ;
}
getch ();
}
Ranning Program
Lembar Kerja Praktikum 16 : Mencetak deret bilangan
menggunakan perulangan
Script
#include
“iostream.h”
#include “conio.h”
main ()
{
int ulang;
//perulangan
for
for (ulang=1; ulang<=10; ulang++)
{
cout << “Cetang Angka = ” << ulang << endl;
}
//perulangan
while
ulang=1;
while (ulang <=10)
{
cout << “Cetak Angka = ” << ulang << endl;
ulang++;
}
//perulangan do
while
ulang=1;
do
{
cout << “Cetak Angka = ” << ulang << endl;
ulang++ ;
}
while (ulang<=10);
getch () ;
}
Ranning Program
Lembar Kerja Praktikum 17 : Soal cerita
Sebuah Toko perlengkapan bahan bangunan yang bernama “TB BARUDAK”
memeberikan promo harga Cat Tembok 25 Kg. Bagi konsumen yang membeli sebanyak 3
pile akan mendapatkan potongan harga sebesar 80%, promo ini berlaku bagi setiap
konsumen yang membeli mminimal 3 pile atau kelipatannya akan mendapatkan
potongan harga 80%, sementara harga 1 pile cat tembok 25 Kg Rp. 154.000,-
# Selesaikan
kasus diatas dengan mengunakan bahasa pemrograman C/C++ agar dapat dengan mudah
berapa jumlah yang harus dibayarkan oleh konsumen.
Script
Ranning Program
Lembar Kerja Praktikum 18 : Soal
cerita
Seorang tukang
cat tembok mempunyai ukuran dalam pengecatan yang terbagi dalam 3 kategori
kualitas yaitu kualitas tinggi, kualitas sedang dan kualitas rendah. Untuk kualitas
tingggi 5 Kg cat tembok dapat menutupi bidang dengan baik seluas 3 X 4 m2 atau
seluas 12 m2 dan kualitas sedang 5 Kg cat tembok dapat menutupi bidaang seluas
4 X 5 m2 atau seluas 20 m2 serta kualitas rendah 5 Kg cat tembok dapat menutupi
seluas 6 X 11 m2 atau seluas 66 m2.
Buatlah
penyelesaian studi kasus diatas dengan menggunakan bahasa pemrograman C/C++
untuk mempermudah dalam menghitung berapa jumlah cat tembok yang dibutuhkan
untuk ke 3 kategori kualitas.
Script
Running
program
Lembar Kerja Praktikum 19 : Soal Cerita
Buatlah Program menggunakan struktur tentang biaya kuliah
mahasiswa dengan ketentuan sebagai berikut
1. D3
Spp tetap = Rp. 500
Spp Variable = Rp. 250/sks
2. S1
Spp Tetap = Rp. 750
SPP variable = Rp. 500/sks
Script
#include<conio.h>
#include<iostream.h>
struct
mhs
{
char
nama[20], nim[20], prodi[3];
int
sks, program;
}bayar;
main()
{
int
var, tetap;
cout<<"
Nama Mahasiswa \t\t : "; cin>>bayar.nama;
cout<<"
Nim Mahasiswa \t\t\t : "; cin>>bayar.nim;
cout<<"
Prodi [ TI SI MI] \t\t : "; cin>>bayar.prodi;
input:
cout<<"
Program [1 = D3 / 2 = S1] \t : ";
cin>>bayar.program;
if(bayar.program
< 1 || bayar.program > 2)
{
cout<<"
Program Tidak Sesuai ";
goto
input;
}
cout<<"
Jumlah SKS \t\t\t : "; cin>>bayar.sks;
if(bayar.program
== 1)
{
tetap
= 500;
var
= bayar.sks*250;
}
else
if(bayar.program == 2)
{
tetap
= 750;
var
= bayar.sks*500;
}
cout<<"
"<<endl;
cout<<"
-----------------------------------------------------"<<endl;
cout<<"
\t\t\t OUT PUT "<<endl;
cout<<"
-----------------------------------------------------"<<endl;
cout<<"
Nama \t\t\t : "<<bayar.nama<<endl;
cout<<"
Nim \t\t\t : "<<bayar.nim<<endl;
cout<<"
Prodi \t\t\t : "<<bayar.prodi<<endl;
cout<<"
Program \t\t : "<<bayar.program<<endl;
cout<<"
Jumlah SKS \t\t : "<<bayar.sks<<endl;
cout<<"
Biaya SPP Tetap \t : "<<tetap<<endl;
cout<<"
Biaya SPP Variable \t : "<<var<<endl;
cout<<"
-----------------------------------------------------"<<endl;
getch();
return
0;
}
Hasil Running