Disusun Oleh:
NAMA : MAI SYARAH
NPM
: 1614370047
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Allah SWT Tuhan Yang Maha Esa karena berkat
limpahan Rahmat dan Karunia-Nya sehingga saya dapat menyusun makalah bahasa
pemrograman (C++) ini dengan tepat waktu.
Tidak lupa juga saya ucapkan terima kasih kepada Dosen mata kuliah Bahasa
Pemrograman (C++) saya, Bapak Irwan Abdullah yang telah membimbing saya dalam mata
kuliah yang bersangkutan.
Dalam tugas ini saya dapat menyelesaikan makalah dengan judul Belajar C++. Tugas
ini dibuat dalam rangka memenuhi tugas mata kuliah bahasa pemrograman (C++). Semoga
makalah yang saya buat ini dapat bermanfaat bagi saya dan semua pihak yang membacanya.
Demikian kata pengantar ini saya buat. Saya menyadari bahwa makalah ini masih sangat
jauh dari kata sempurna, untuk itu saya mohon maaf bila ada kesalahan kata dalam pembuatan
makalah ini maupun kata pengantar ini, juga saya meminta kritik dan saran yang membangun
agar dapat dibuatnya makalah yang lebih baik. Semoga makalah ini bermanfaat bagi para
pembaca dan dapat menambah cakrawala pengetahuan kita.
DAFTAR ISI
ii
iii
A. Umum......................................................................................................
B. Latar Belakang.........................................................................................
10
10
11
19
28
31
41
126
PENUTUP .................................................................................................................
127
128
BAB I
PENDAHULUAN
A. Umum
Pemrograman merupakan upaya untuk membuat kode-kode yang dapat dikenal oleh
komputer. Kode-kode inilah yang nantinya dikenal sebagai bahasa pemrograman. Jenis bahasa
pemrograman salah satunya adalah bahasa C++. Sebelum memasuki bahasan koding, terlebih
dahulu kita harus mengetahui langkah-langkah dalam membuat program, yaitu:
a.Membuat algoritma, flowchart dan pseudocode.
b. Menuliskan program dengan menggunakan bahasa pemrograman.
c. Menguji kebenaran program.
d. Perbaikan program jika ada kesalahan.
e. Menjalankan program.
Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+), pengurangan
(-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut tergolong
sebagai operator binary. Adapun operator yang tergolong sebagai operator unary yaitu tanda
minus (-), dan tanda plus (+).
Prioritas operator :
Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan
dengan operator yang memiliki prioritas lebih rendah.
Prioritas 1: + -- Prioritas 2: - (unary minus) Prioritas 3: * / % Prioritas 4: + - Apabila operastor
memiliki prioritas yang sama, operator yang terletak disebelah kiri dalam suatu ungkapan yang
akan diutamakan untuk dikerjakan terlebih dahulu. Tanda kurung biasa digunakan untuk urutan
mengerjakan, misalnya x = (2 + 3) * 2; (2 + 3 akan dikerjakan terlebih dahulu baru dikalikan
dengan 2)
Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu,
maksudnya mengenalkan sebuah pengenal ke program dan menentukan jenis data yang bisa
disimpan di dalamnya. Apabila suatu pendeklarasian menyebabkan pengalokasian memori, maka
pendeklarasian tersebut dinamakan pendefinisian. Yang jelas pendefinisian berarti pula
pendeklarasian, tetapi tidak semua pendeklarasian berarti pendefinisian. Bentuk pendefinisian
variabel: tipe daftar_variabel; Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah
variabel atau beberapa variabel yang dipisahkan dengan koma. Memberikan nilai ke variabel
bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah:
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
Karakter yang ditulis dengan bentuk karakter mempunyai arti tersendiri (karakter khusus)
dan biasa disebut escape sequence characters. Karakter-karakter khusus tersebut antara lain:
\0 artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\' artinya karakter '
\" artinya karakter "
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
Fungsi main()
Program C++ tidak dapat dipisahkan dari fungsi, karena fungsi adalah salah satu dasar
penyusun blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi yaitu fungsi
main(). Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul
fungsi. Dimulai dari tanda { sampai dengan } disebut tubuh fungsi, atau semua yang terletak
didalam tanda {} disebut blok. Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai
yang akan dilewatkan ke fungsi. Kata void yang mendahului main() dipakai untuk menyatakan
bahwa fungsi ini tidak mempunyai nilai balik (return value). Di dalam tanda {} bisa terkandung
sejumlah unit yang disebut pernyataan (statement).
Pernyataan
Perhatikan baris kode dibawah ini :
cout<<Program Menghitung Luas Dan Keliling Lingkaran;
Baris tersebut merupakan sebuah pernyataan yang digunakan untuk menampilkan tulisan yang
terletak pada sepasang tanda petik ganda ke layar. Tulisan yang terletak pada sepasang tanda
petik ganda disebut string. Setiap pernyataan harus diakhiri dengan tanda titik koma (;).
Mengenal #include
Baris tersebut bukanlah sebuah pernyataan, itulah sebabnya tidak diakhiri dengan tanda
titik koma. Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain
(iostream.h) saat program dikompilasi. File-file berakhiran .h disebut file header, yaitu file-file
yang berisi berbagai deklarasi seperti fungsi, variabel, dll. Pada contoh, file iostream.h perlu
disertakan pada program yang melibatkan obyek cout. Karena file iostream.h berisi deklarasi
yang diperlukan oleh cout dan berbagai obyek yang berhubungan dengan masukan dan keluaran
pada stream.
Mengenal clrscr()
Pada baris clrscr(); adalah perintah untuk menghapus layar. Apabila pernyataan di atas
digunakan, baris #include perlu disertakan dalam program. Contoh penggunaan clrscr() :
//program03.cpp
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
cout<<"Hai. Selamat belajar C++";
}
Komentar
Komentar merupakan bagian penting dalam suatu program. Komentar dapat berupa :
Tujuan / fungsi program
Saat program dibuat atau direvisi
Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
Pada C++ komentar diawali dengan dua tanda garis miring (//). Ini digunakan untuk
komentar pada satu baris. Selain itu, komentar dapat juga diawali dengan tanda /* dan diakhiri
dengan tanda */. Ini digunakan untuk komentar yang terdiri dari beberapa baris.
//contoh komentar
//ini adalah komentar
/*ini merupakan contoh komentar yang bisa digunakan untuk beberapa baris ini akhir komentar*/
Fungsi gets()
Fungsi gets() berguna untuk memasukkan data bertipe karakter, tanpa penggunaan format
seperti scanf(), dan tidak dapat untuk menginput data numeric ataupun string.
Fungsi getchar()
Fungsi getchar berguna untuk membaca data yang bertipe karakter.
Fungsi Return 0;
Menyatakan hasil keluaran dari fungsi main() adalah 0. Pada C++, return 0 dalam main()
menyatakan bahwa program berakhir dengan normal.
B. Latar Belakang
Pesatnya teknologi, terutama teknologi komputer sudah tak bisa dipungkiri lagi, bagi
yang mengikuti perkembangannya, ia tidak akan dipandang sebelah mata. Sebaliknya, bagi yang
tidak mengikuti perkembangannya, bersiaplah untuk mundur secara suka rela dari panggung
kompetisi. Ibarat wabah, teknologi komputer sudah menyusupi hampir semua bidang kehidupan
manusia. Dari pemerintah pusat sampai tingkat pemerintah desa, perusahaan-perusahaan,
supermarket, minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya
mengenal komputer.
Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, juga dapat
digunakan untuk menghasilkan uang adalah dunia pemrograman komputer. Dalam dunia
pemrograman komputer, dikenal algoritma dan banyak bahasa pemrograman, seperti C, C++,
Pascal, Basic, Java, dan lain-lain. Oleh karena itulah, yang akan dibahas dalam makalah ini
adalah Algoritma dan Pemrograman.
C. Tujuan Praktikum
1. Agar mahasiswa memahami tentang dasar-dasar algoritma dan program Borland C++.
2. Mahasiswa dapat mempraktekkan dan mengimplementasikan program Borland C++.
3. Mahasiswa memahami struktur bahasa C/C++
4. Mahasiswa dapat mengetahui dan bisa menggunakan tipe data tertentu dalam pembuatan
program
5. Mahasiswa bisa memasukan dan mengambil data dari program
BAB II
LANDASAN TEORI TENTANG ALGORITMA DAN PEMROGRAMAN YANG TELAH
DIPELAJARI
A. Dasar dasar
1.
#include adalah pre prosesor yang tersedia pada C++ dan selalu dijalankan terlebih dulu
saat kompilasi. Juga tidak di akhiri dengan tanda ( ; ) karena #include bukanlah suatu pernyataan
melainkan suatu file header.
contohnya:
- #include digunakan pada program jika program tersebut melibatkan object cout dan cin.
- #include diperlukan apabila melibatkan fungsi clrscr() (baca: clear screen), yaitu perintah untuk
membersihkan layar, dan fungsi getch() [baca: get character and echo], untuk menahan layar
sampai sembarang tombol keyboard ditekan.
-#include , diperlukan jika dalam program terdapat suatu operator matematika ( +, -, : dan x )
atau
perhitungan
matematika,
semisal
penjumlahan,
pengurangan,
perkalian,
dsb.
2. void main() adalah suatu fungsi dalam bahasa C++, merupakan fungsi utama dalam
program..terdapat banyak fungsi dalam bahasa C++, salah satunya adalah fungsi main(). Ada tiga
bentuk penulisan fungsi main: void main(), int main() dan main(). Penggunaanya tergantung dari
program yang dipakai.. tapi untuk pengenalan dasar, lebih baik menggunakan void main() dulu
sampai anda mengenal lebih jauh bahasa C++.. Setiap penulisan fungsi selalu di awali tanda ( { )
dan
di
akhri
tanda
],
dimana
menunjukan
cakupan
dari
fungsi.
3. Cout [dibaca: C out] adalah sebuah objek pernyataan dalam C++ yang digunakan untuk
menampilkan atau mencetak data pada layar dan selalu di akhiri tanda [ ; ]. Sedangkan cin
[dibaca: C in] adalah sebuah objek pernyataan untuk memasukkan atau menginputkan data pada
10
layar.
Setiap
selesai
membuat
pernyataan
maka
harus
diakhiri
tanda
4. << adalah operator penghubung antara stream dan kalimat,,ditujukan pada cout karena kita
akan mencetak kalimat ke layar.. Sedangkan >> adalah operator yang ditujukan pada data karena
kita akan menginputkan data ke layar.. Bentuk umum code nya adalah seprti ini.
cout<<"Kalimat
yang
kita
ketik";
cin>>data;
5. // adalah operator komentar. Operator ini tidak akan diproses atau di compile oleh compiler.
karena
hanya
berfungsi
sebagai
komentar..
6. endl [baca: end line] adalah fungsi yang digunakan untuk pindah baris atau baris baru.
7. char adalah sebuah tipe data yang digunakan untuk memasukkan huruf. pada program
sederhana diatas, data yang dimasukkan adalah nama, jadi kita memakai tipe data char. Terdapat
banyak tipe data dalam bahasa C++.
Diantaranya:
int - untuk memasukkan data berupa angka
float - untuk memasukkan data berupa angka desimal
11
apabila air sudah mendidih, matikan kompor, setelah itu angkat panci tersebut dari kompor.
Langkah-langkah untuk memasak air tersebut merupakan algoritma memasak air. Sehingga
memiliki urutan langkah-langkah yang logis.
Dalam ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari
beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk penghitungan,
penalaran otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif
diekspresikan sebagai rangkaian yang terbatas dari beberapa instruksi yang telah dijelaskan
dengan baik guna menghitung sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan
input awal, instruksi tersebut mendeskripsikan komputasi yang apabila itu dieksekusi serta
diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan baik, sehingga
dapat menghasilkan output atau keluaran dan berhenti di kondisi akhir yang telah ditentukan.
Algoritma sangat diperlukan untuk mengolah data yang ada di komputer. Dalam sistem
komputer, pengertian algoritma ialah logika yang dibuat dengan memakai software oleh para
pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Algoritma
berbeda dengan Logaritma. Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu
matematika
guna
menghitung
kebalikan
eksponen
dari
sebuah
perpangkatan.
Kata Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi,
beliau merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9.
Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18.
12
13
Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara
berulang-ulang hingga pakaian habis.
3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan
langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh
dari algoritma bersyarat :
1) Siapkan panci.
2) Masukkan air secukupnya ke dalam panci.
3) tutup panci tersebut.
4) letakkan panci tersebut di atas kompor.
5) Hidupkan kompor.
6) Apabila air sudah mendidih, lalu matikan kompor.
7) Angkat panci tersebut dari kompor.
Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah
mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor
tidak dimatikan.
PROGRAM
Pengertian program adalah kumpulan instruksi yang digunakan untuk mengatur komputer
agar menjalankan tindakan tertentu. Tanpa program, komputer sesungguhnya tidak dapat berbuat
apa-apa. Hanya seonggok mesin kosong tiada daya dan upaya. Hehe. Program adalah salah satu
bagian dari beberapa aspek penting dari sebuah komputer. Mungkin ada orang yang berpendapat
bahwa komputer mencakup tiga aspek penting. Komponen tersebut antara lain sebagai berikut;
14
perangkat keras (hardware), perangkat lunak (software) yang dalam hal ini berupa program,
perangkat akal (brainware) atau orang yang berperan dalam operasi komputer maupun
pengembangan perangkat lunak (operator).
Dengan kata lain, program adalah salah satu bagian penting pada komputer yang
mengatur komputer agar melakukan aksi yang dikendalikan oleh pengguna komputer. Orang
yang membuat program biasa disebut pemrogram, atau dalam bahasa kerennya disebut
sebagai programmer. Sedangkan aktivitasnya, aktivitas pembuatan program dinamakan
pemrograman atau programing. Pengertian program tidak lengkap jika tidak mengulas
bagaimana program ditulis. Suatu program ditulis dengan mengikuti kaidah bahasa
pemrograman tertentu. Bahasa pemrograman dapat dianalogikan sebagai bahasa yang digunakan
untuk bercakap-cakap atau berbicara kepada mesin komputer. Teknologi saat ini belum bisa
mensupport komunikasi langsung antara manusia dengan mesin. Kumpulan instruksi dalam
bahasa manusia yang berupa sejumlah kalimat merupakan inti dari program itu sendiri. Tentu
setiap bahasa program memiliki kaidah tersendiri. Manusia dapat mengerjakan suatu instruksi
berdasarkan kalimat-kalimat dan komputer dapat menjalankan suatu instruksi menurut program.
Barangkali, baris-baris intruksi inilah yang sering disebut sebagai script program.
PEMROGRAMAN
Ada beberapa istilah dasar yang perlu dipahami sebelum membahas pemrograman, yaitu :
a.
Program adalah kumpulan kata, ekspresi, pernyataan atau kombinasi yang disusun dan
dirangkai menjadi urutan langkah untuk menyelesaikan masalah yang di implementasikan
dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
b.
Bahasa pemrograman adalah prosedur tata cara untuk menuliskan program. Ada dua faktor
15
penting pada bahasa pemrograman yaitu sintax dan sematik. Sintax adalah aturan gramatikal
yang mengatur tata cara penulisan kata, ekspresi, atau pernyataan sedangkan semantik
adalah aturan untuk menyatakan suatu arti.
c.
d.
e.
Ciri-ciri atau karakteristik yang dimiliki teknik pemrograman terstruktur adalah sebagai
berikut:
1.
Mengandung algoritma penyelesaian masalah yang tepat, benar, sederhana, dan efektif
2.
Memiliki struktur logika dan struktur program yang benar dan mudah dipahami serta
4.
menentukan standar program yang baik dibutuhkan beberapa standar sebagai dasar penilaian,
seperti :
a. Standar teknik penyelesaian masalah
Teknik pemecahan masalah dikenal dengan teknik Top-Down dan teknik Bottom-Up.
Teknik Top-Down adalah teknik pemecahan dengan membagi masalah yang kompleks ke
16
beberapa tingkatan kelompok masalah hingga subbagian yang paling terkecil, kemudian disusun
langkah-langkah untuk menyelesaikannya secara detail. Sedangkan teknik Bottom-Up adalah
teknik pemecahan masalah dengan melakukan standarisasi proses dari prosedur-prosedur yang
sudah ada untuk digabungkan menjadi satu kesatuan.
b. Penyusunan program
Faktor-faktor yang perlu diperhatikan untuk menyusun program yaitu kebenaran logika
dan penulisan, waktu minimum untuk penulisan program, kecepatan maksimum eksekusi
program, ekspresi penggunaan memori, kemudahan merawat dan mengembangkan program, user
friendly, portabilitas, pemrograman modular.
c. Perawatan program
Untuk memudahkan pemrogram dalam merawat dan pemrograman program beberapa
standar telah ditentukan para ahli yaitu dokumentasi dan penulisan intruksi.
d.
Standar prosedur
Seorang pemrogram memiliki kebebasan menuangkan ide-ide atau gagasan tahap
17
2. Menemukan solusi
langkah berikutnya setelah mendefinisikan masalah adalah menentukan solusi.
Menenukan solusi dapat di cari dengan menggunakan teknik pemecahan masalah (teknik TopDown/teknik Bottom-Up).
3. Memilih algoritma
Pilihlah algoritma yang sesuai dan efisien untuk permasalahan tersebut
4. Menulis program
Pilihlah bahasa yang mudah dimengerti, mudah dipelajari, mudah digunakan, dan lebih
baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.
5. Menguji program
Setelah program jadi, ujilah program tersebut dengan segala kemungkinan yang ada,
termasuk error-handlingnya. Pastikan bahwa program tersebut telah bebas dari kesalahan
6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah ditulis agar kita dapat mengingat lagi dan
mudah membacanya. Caranya yaitu dengan menuliskan komentar kecil tentang apa maksud kode
tersebut, digunakan untuk apa saja variabel itu, dan apa parameter-parameter yang ada pada
suatu prosedur dan fungsi.
7.
Merawat program
Merawat program yang sudah jadi diperlukan untuk mencegah munculnya bug yang
18
Keterangan
Ukuran Jangkauan
Char
1 byte
signed:
-128
to
127
unsigned: 0 to 255
Wchar_t
1 karakter lebar
signed:
-32768
(short)
unsigned: 0 to 65535
Int
signed:
2147483647
to
32767
-2147483648
unsigned: 0 to 4294967295
signed:
-2147483648
to
to
2147483647
unsigned: 0 to 4294967295
Float
3.4e +- 38 (7 digit)
Double
19
Bool
I byte
True or false
Untuk mengetahui ukuran memori dari tipe data, anda dapat menggunakan
fungsi sizeof() seperti program di bawah ini:
#include <iostream.h>
#include <conio.h>
void main() {
clrscr();
cout << "Ukuran char : " << sizeof(char) << endl;
cout << "Ukuran int : " << sizeof(int) << endl;
cout << "Ukuran long : " << sizeof(long) << endl;
cout << "Ukuran float : " << sizeof(float) << endl;
cout << "Ukuran double : " << sizeof(double) << endl;
cout << "Ukuran long double : " << sizeof(long double) << endl;
getch();
}
Tipe data yang berhubungan dengan bilangan bulat adalah char, int, long. Sedangkan
lainnya berhubungan dengan bilangan pecahan. Terdapat juga beberapa tipe data tambahan yang
dimiliki oleh Borland C++. Tipe data tambahan tersebut dengan cara menambahkan
keyword unsigned di depan nama tipe data. Unsigned digunkana apabila data yang akan
digunakan berupa bilangan positif saja. Berikut beberapa contohnya :
20
21
Mendeklarasikan Variabel
22
23
cout<<a=<
getch();
}
Dalam program demo dibawah ini akan memberikan tambahan penjelasan tentang
implementasi tipe data, variabel dan konstanta. maka hasil eksekusinya adalah sebagai berikut :
A + B = 300
Berikutnya memberikan inisial terhadap variabel dengan suatu ungkapan juga
deperkenankan, contoh :
float duaphi = 2* 3.14;
jadi nilai dari variabel tersebut diatas adalah hasil kali 2 dari phi
Contoh program :
Maka akan menampilkan Isi duaphi = 6.28
Pembuatan variabel tidak selalu di bagian awal program, tapi boleh dimana saja sebelum
dipanggil atau dioperasikan.
OPERATOR
24
Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai
data (operand). Ada beberapa jenis operator, yaitu :
25
2. or
3. xor
: menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan
keduaduanya bernilai TRUE
4. !
5. &&
6. ||
26
27
diibaratkan
Kita
tahu
bahwa laptop memiliki ciri-ciri seperti merk, memiliki keyboard, memiliki processor, dan
beberapa ciri khas lain yang menyatakan sebuah benda tersebut adalah laptop. Selain memiliki
ciri-ciri,
sebuah
laptop
juga
bisa
dikenakan
tindakan,
seperti: menghidupkan
<?php
class laptop {
?>
Object
28
Objct adalah hasil cetak dari class, atau hasil konkrit dari class. Jika menggunakan
analogi class laptop, maka objek dari class laptop bisa berupa: laptop_andi, laptop_anto,
laptop_duniailkom, dan lain-lain. Objek dari class laptop akan memiliki seluruh ciriciri laptop, yaitu property dan method-nya.
Proses mencetak objek dari class ini disebut dengan instansiasi (atau instantiation dalam
bahasa inggris). Pada PHP, proses instansiasi dilakukan dengan menggunakan keyword new.
Hasil cetakan class akan disimpan dalam variabel untuk selanjutnya digunakan dalam proses
program.
Sebagai contoh, berikut adalah cara membuat objek laptop_andi dan laptop_anto yang dibuat
dari class laptop:
1
<?php
class laptop {
5
6
?>
Dari
contoh
laptop. Kedua objek ini akan memiliki seluruh property dan method yang telah dirancang
dari class laptop.
Method
29
Method adalah tindakan yang bisa dilakukan didalam class. Jika menggunakan
analogi class laptop kita, maka contoh method adalah: menghidupkan laptop, mematikan
laptop, mengganti cover laptop, dan berbagai tindakan lain. Method pada dasarnya
adalah function yang berada di dalam class. Seluruh fungsi dan sifat function bisa diterapkan
kedalam method, seperti argumen/parameter, mengembalikan nilai (dengan keyword return), dan
lain-lain.
Berikut adalah contoh penulisan class dengan penambahan method:
1
<?php
class laptop {
function hidupkan_laptop() {
6
7
function matikan_laptop() {
10
11
12
13
Dari
?>
contoh
diatas,
function hidupkan_laptop
() adalah method dari class laptop. Penulisan method di dalam PHP sama dengan cara
penulisan function. Sebuah class tidak harus memiliki method.
30
Contoh:
/* ------------------------------------ */
31
2. Pernyataan While
Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan
perulangan for. Bentuk umum perulangan while dikendalikan oleh syarat tertentu, yaitu
perulangan akan terus dilakukan selama syarat tersebut belum terpenuhi.
Bentuk umum pernyataan while:
While (syarat) Pernyataan/perintah;
Contoh Listing:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
32
void main()
{
int bil=1;
while(bil<=10)
{
cout<<bil<< ;
++bil;
}
getch();
}
3. Pernyataan Do-While
Pernyataan perulangan do-while merupakan bentuk perulangan yang melaksanakan
perulangan terlebih dahulu dan pengujian perulangan dilakukan belakangan.
Bentuk umum perulangan do-while adalah;
do
pernyataan/perintah ;
while (syarat);
contoh Listing:
#include<iostream.h>
void main()
{
33
int bil=2;
do
{
cout<<bil<<" ";
bil+=2;
}
while(bil<=10);
getch();
}
PERCABANGAN
Percabangan adalah pengatur aliran progrmam, berbentuk rangkaian perintah yang harus
ditulis untuk memenuhi beberapa keadaan, yaitu:
a.
b.
c.
Memilih sebuah pilihan dari beberapa pilihan alternatif bila sebuah kondisi terpenuhi.
1. Pernyataan IF
Pernyataan if mempunyai pengertian,jika kondisi bernilai benar, maka perintah akan
dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan.
Bentuk Umum Pernyataan if:
34
if (kondisi)
{
pernyataan
...................
}
Contoh:
Tentukan besarnya potongan dari pembelian barang yang akan diberikan seorang pembeli,
dengan kriteria:
a.
b.
Jika total pembelian lebih dari atau sama dengan Rp.50.000; maka akan diberi potongan
void main()
{
double tot_beli, potongan=0, jum_bayar=0;
35
Tidak ada potongan jika total pembelian kurang dari Rp.50.000,maka potongan yang
Jika total pembelian lebih dari atau sama dengan Rp.50.000; maka akan diberi potongan
36
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
double tot_beli, potongan=0, jum_bayar=0;
cout<<total pembelian Rp. ;
cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<besarnya potongan Rp. <<potongan<<endl;
jum_bayar = tot_beli-potongan;
cout<<jumlah yang harus dibayarkan Rp. ;
cout<<jum_bayar;
getch ();
}
3. Pernyataan Else-if
Else-if merupakan pernyataan if yang berada dalam pernyataan if yang lain.
Bentuk Umum:
if (syarat)
{
37
....perintah;
....perintah;
}
else if (syarat)
{
....perintah;
....perintah;
}
else
{
....perintah;
....perintah;
}
4. Pernyataan Switch-Case
Bentuk switch-case merupakan pernyataan yang sering dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif. Pernyataan
switch-case ini memiliki kegunaan sama seperti if-else bertingkat, tetapi untuk memeriksa data
yang bertipe string atau integer.
Bentuk Umum Pernyataan Switch-Case
switch (ekspresi integer atau karakter)
{
case konstanta-1;
38
....perintah;
....perintah;
case konstanta-2;
....perintah;
....perintah;
break;
....
....
default :
....perintah;
....perintah;
}
Setiap cabang akan dijalankan jika syarat nilai konstanta terpenuhi dan default akan
dijalankan jika semua cabang di atasnya tidak terpenuhi.
Pernyataan break menunjukan siap keluar dari switch. Pernyataan ini tidak ada, maka program
akan di teruskan pada cabang-cabang yang lainnya.
Contoh Listing Program:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
viod main()
{
39
char Kode;
cout<<"Masukan Kode ";
cin>>Kode;
switch(kode);
{
case 'A' :
cout<<"Nilai Istimewa";
break;
case 'B' :
cout<<"Nilai Baik";
break;
default:
cout<<"Anda Salah Memasukan Kode";
break;
}
getch ();
}
BAB III Hasil Percobaan / Praktikum
Latihan 2.6
1. Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan
sebagai berikut :
Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai
Pertandingan III diinput.
40
main ()
{
char nama[20];
int npI,npII,npIII;
float rata;
cout<<"
41
cout<<">>===================================<< \n";
cout<<" Nama Siswa
:";gets(nama);
42
2. Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya.
Dengan ketentuan sebagai berikut :
Nama Siswa, Nilai Keaktifan, Nilai Tugas dan Nilai Ujian diinput.
Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah
Nilai Murni Keaktifan = Nilai Keaktifaan dikalikan dengan 20%.
Nilai Murni Tugas = Nilai Tugas dikalikan dengan 30%
Nilai Murni Ujian = Nilai Ujian dikalikan dengan 50%
Nilai Akhir adalah Nilai Murni Keaktifan + Nilai Murni Tugas + Nilai Murni Ujian
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ... < diinput >
Nilai Keaktifan : ... < diinput >
Nilai Tugas : ... < diinput >
Nilai Ujian : ... < diinput >
Layar Keluaran
Siswa yang bernama
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : ... < hasil proses >
Nilai Tugas * 30% : ... < hasil proses >
Nilai Ujian * 50% : ... < hasil proses >
Jadi Siswa yang bernama ... <hasil proses>
memperoleh nilai akhir sebesar ... <hasil proses>
43
Listing:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main(){
char nama[80];
int nilai1, nilai2, nilai3;
float nilaiakhir, murni1, murni2, murni3;
: ";
gets(nama);
: ";
cin>>nilai1;
cout<<" Nilai Tugas
: ";
cin>>nilai2;
cout<<" Nilai Ujian
: ";
cin>>nilai3;
44
clrscr();
: "<<murni2<<endl;
: "<<murni3<<endl<<endl;
if(nilaiakhir>=80){
cout<<"A";
}
else if(nilaiakhir>=70){
cout<<"B";
}
else if(nilaiakhir>=56){
45
cout<<"C";
}
else if(nilaiakhir>=46){
cout<<"D";
}
else{
cout<<"E";
}
getch();
}
46
Latihan 3.7
1. Tentukan apa hasil numerik dari ekspresi relasi dan logika dibawah ini.
Diberikan nilai A = 3; B = 6 ; C = 2 ; K = 5; L = 4; M = 3
a. D = (4 + 2 > A && B 2 > 3 + 2 || B + 2 <= 6 + 2 )
b. K + 5 < M || (C * M < L && 2 * M L > 0
c. L + 5 < M || C * K < L && 2 * K L > 0
d. A * 4 <= 3 * M + B
e. K + 10 > A && L 2 > 4 * C
#include<stdio.h>
#include<conio.h>
main()
{
int a = 21;
clrscr();
printf("\n Nilai a = %d",a);
printf("\n Nilai a++ = %d",a++);
printf("\n Nilai ++a = %d",++a);
printf("\n Nilai --a = %d",--a);
printf("\n Nilai a = %d",a);
a+=3;
printf("\n Nilai a = %d",a);
printf("\n Nilai ++a = %d",++a);
printf("\n Nilai a++ = %d",a++);
printf("\n Nilai --a = %d",--a);
printf("\n Nilai a-- = %d",a--);
getch();
}
48
cout<<endl<<"Nilai a = "<<a;
cout<<endl<<"Nilai ++a = "<<++a;
cout<<endl<<"Nilai a++ = "<<a++;
cout<<endl<<"Nilai --a = "<<--a;
cout<<endl<<"Nilai a-- = "<<a--;
getch();
}
Latihan 4.4
1. Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan
sebagai berikut :
Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai Pertandingan III diinput.
Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I, II dan III dibagi dengan 3.
Ketentuan Mendapat Hadiah dari pertandingan :
50
- Jika Nilai Rata-Rata >= 85, maka mendapat hadiah Seperangkat Komputer P4
- Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Seperangkat Uang sebesar Rp. 500,000
- Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : ... <diinput>
Nilai Pertandingan I : ... <diinput>
Nilai Pertandingan II : ... <diinput>
Nilai Pertandingan III : ... <diinput>
Layar Keluaran
Siswa yang bernama ... <tampil data>
Memperoleh nilai rata-rata <hasil proses> dari hasil
perlombaan yang diikutinya.
Hadiah yang didapat adalah ... <hasil proses>
Listing:
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
main()
{
char nama[20];
int per1,per2,per3, rrata;
51
cout<<"
cout<<">>======================================================<<
\n"<<endl;
cout<<" Nama Siswa
cout<<" Nilai Pertandingan I
:";cin>>nama;
:";cin>>per1;
cout<<">>======================================================<<
\n"<<endl;
cout<<"Jadi Mahasiswa yang bernama "<<nama<<endl;
cout<<"memperoleh nilai rata-rata "<<rrata;
cout<<" Dari hasil yang diikuti"<<endl;
cout<<"Hadiah yang di dapat adalah ";
if (rrata>=80)
cout<<"Mendapatkan Hadiah Seperangkat Komputer P4"<<endl;
else if (rrata>=70)
cout<<"Mendapat Hadiah Seperangkat Uang Sebesar Rp. 500,000"<<endl;
else
cout<<"Mendapatkan Hiburan"<<endl;
52
getch();
2. Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya.
Dengan ketentuan sebagai berikut :
Nama Siswa, Nilai Keaktifan, Nilai Tugas dan Nilai Ujian diinput.
Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah
Nilai Murni Keaktifan = Nilai Keaktifaan dikalikan dengan 20%.
Nilai Murni Tugas = Nilai Tugas dikalikan dengan 30%
Nilai Murni Ujian = Nilai Ujian dikalikan dengan 50%
Nilai Akhir adalah Nilai Murni Keaktifan + Nilai Murni Tugas + Nilai Murni Ujian
Ketentuan untuk mendapatkan grade nilai :
53
Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ......<diinput>
Nilai Keaktifan : ...... <diinput>
Nilai Tugas : ...... <diinput>
Nilai Ujian : ...... <diinput>
Layar Keluaran
Siswa yang bernama <tampil data>
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : ...<hasil proses>
Nilai Tugas * 30% : ...<hasil proses>
Nilai Ujian * 50% : ...<hasil proses>
Jadi Siswa yang bernama <tampil data>memperoleh
nilai akhir sebesar ... <hasil proses>
Grade nilai yang didapat adalah ... <hasil proses>
Listing:
54
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main(){
char nama[80];
int nilai1, nilai2, nilai3;
float nilaiakhir, murni1, murni2, murni3;
cout<<"
cout<<">>===================================<< \n"<<endl;
cout<<" Nama Siswa
: ";
gets(nama);
cout<<" Nilai Keaktifan
: ";
cin>>nilai1;
cout<<" Nilai Tugas
: ";
cin>>nilai2;
cout<<" Nilai Ujian
: ";
cin>>nilai3;
murni1 = 20 * nilai1 /(float)100;
murni2 = 30 * nilai2 /(float)100;
murni3 = 50 * nilai3 /(float)100;
nilaiakhir = murni1 + murni2 + murni3;
clrscr();
cout<<" Siswa yang bernama "<<nama<<endl;
55
: "<<murni2<<endl;
: \n"<<murni3<<endl<<endl;
56
getch();
}
57
59
Listing:
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
main()
{
char kode;
float harga,ukuran,banyak, total;
clrscr();
cout<<"Program Pembelian Susu"<<endl;
cout<<"Masukan KODE dengan huruf BESAR"<<endl;
cout<<"-----------------------------------"<<endl;
cout<<"Masukan Kode Susu [A],[B],[C] : ";cin>>kode;
cout<<"Masukan Ukuaran Kaleng [1],[2],[3]
:";cin>>ukuran;
/*proses*/
if (kode=='A')
{
if (ukuran==1)
60
{
harga=25000;
}
else if(ukuran==2)
{
harga=20000;
}
else
{
harga=15000;
}
}
else if (kode=='B')
{
if (ukuran==1)
{
harga=20000;
}
else if(ukuran==2)
{
harga=17500;
}
else
61
{
harga=13500;
}
}
else if (kode=='C')
{
if (ukuran==1)
{
harga=22000;
}
else if(ukuran==2)
{
harga=18500;
}
else
{
harga=12500;
}
}
printf("Harga Satuan Barang =Rp %.2f\n",harga);
cout<<"Jumlah Yang dibeli :";cin>>banyak;
total=harga*banyak;
cout<<"-------------------------------"<<endl;
62
4. PT. DINGIN DAMAI, memberikan Honor tetap kepada karyawan kontraknya sebesar
Rp.300,000,- per bulan, dengan memperoleh tujangan-tunjangan sebagai berikut :
Tunjangan Jabatan
Golongan Persentase
1 5%
2 10%
3 15%
Sebagai contoh : Jika seorang keryawan tersebut dengan golongan 3, maka mendapatkan
tunjangan sebesar 15% * Rp. 300,000, Tunjangan Pendidikan
63
64
Listing:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
char nama[80], yes, golongan_pendidikan[9];
int jam_kerja = 8 * 6 * 4, golongan_jabatan, total_kerja, jam_lembur;
long gaji_pokok = 300000, honor_lembur_per_jam = 3500, honor_lembur, tunjangan_jabatan,
tunjangan_pendidikan, total_honor;
atas:
cout<<" \n
cout<<"
cout<<"========================================\n\n";
cout<<" Nama Karyawan
: ";
gets(nama);
cout<<" Golongan
: "; cin>>golongan_jabatan;
: "; cin>>total_kerja;
65
if(golongan_jabatan==1){
tunjangan_jabatan = 5 * gaji_pokok / 100;
}
else if(golongan_jabatan==2){
tunjangan_jabatan = 10 * gaji_pokok / 100;
}
else if(golongan_jabatan==3){
tunjangan_jabatan = 15 * gaji_pokok / 100;
}
else{
cout<<" \n *Kode Golongan Jabatan Yang Anda Masukkan Salah!!!"<<endl<<endl;
goto bawah;
}
if (strcmp(golongan_pendidikan,"sma")==0||strcmp(golongan_pendidikan,"SMA")==0){
tunjangan_pendidikan = 2.5 * gaji_pokok / 100;
}
else if (strcmp(golongan_pendidikan,"d1")==0||strcmp(golongan_pendidikan,"D1")==0){
tunjangan_pendidikan = 5 * gaji_pokok / 100;
}
else if (strcmp(golongan_pendidikan,"d3")==0||strcmp(golongan_pendidikan,"D3")==0){
tunjangan_pendidikan = 20 * gaji_pokok / 100;
}
66
else if(strcmp(golongan_pendidikan,"s1")==0||strcmp(golongan_pendidikan,"S1")==0){
tunjangan_pendidikan = 30 * gaji_pokok / 100;
}
else{
cout<<" \n *Kode Golongan Pendidikan Yang Anda Masukkan Salah!!!"<<endl<<endl;
goto bawah;
}
jam_lembur = total_kerja - jam_kerja;
honor_lembur = jam_lembur * honor_lembur_per_jam;
total_honor = honor_lembur + gaji_pokok + tunjangan_jabatan + tunjangan_pendidikan;
cout<<" \n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima."<<endl<<endl;
cout<<"
Honor Tetap
: Rp. "<<gaji_pokok<<endl;
: Rp. "<<tunjangan_jabatan<<endl;
Honor Lembur
cout<<"
cout<<" Total Honor
: Rp. "<<tunjangan_pendidikan<<endl;
: Rp. "<<honor_lembur<<endl;
_____________________+"<<endl;
: Rp. "<<total_honor<<endl<<endl<<endl;
bawah:
cout<<" Anda Ingin Menghitung Lagi ????"<<endl;
cout<<" Tekan Y atau N : "; cin>>yes;
if(yes=='Y'||yes=='y'){
clrscr();
67
goto atas;
}
else if(yes=='N'||yes=='n'){
clrscr();
cout<<"\n THANK YOU";
}
else{
clrscr();
cout<<"\n THANK YOU";
}
getch();
}
68
Latihan 5.7
Buatlah beberapa program seperti petunjuk berikut :
1.
hasilnya : 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
Listing:
#include<iostream.h>
#include<conio.h>
main() {
int a=2,b=20,n;
for(a=a;a<=b;a+=2)
{
cout<<a;
if(a<b)
{
cout<<"+";
}
}
cout<<"=";
n=b/2;
n=n*(n+1);
cout<<n;
getch();
}
69
2.
hasilnya :
1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100
Listing:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int a=1,b=19,n;
for(a=a;a<=b;a+=2)
{
70
cout<<a;
if(a<b)
{
cout<<"+";
}
}
cout<<"=";
n=(b+1)/2;
n=n*n;
cout<<n;
getch();
}
71
3.
Buatlah program untuk menghitung penjumlahan deret bilangan membentuk segitiga siku
dengan hasilnya :
1
=1
1+2
=3
1+2+3
=6
1+2+3+4
= 10
1+2+3+4+5
= 15
Listing:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int A,i,j,jum;
cout<<"input :";cin>>A;
for(i=1;i<=A;i+=1)
{
jum=0;
for(j=1;j<=i;j+=1)
{
if(j!=1)
72
cout<<"+";
cout<<j;
jum+=j;
}
cout<<"="<<jum<<endl;
}
cout<<endl;
getch();
}
4.
1 * 3 * 5 = 15
1 * 3 * 5 * 7 = 105
1 * 3 * 5 * 7 * 9 = 945
Listing:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int A,i,j,jum;
cout<<"input :";cin>>A;
for(i=1;i<=A;i+=2)
{
jum=1;
for(j=1;j<=i;j+=2)
{
if(j!=1)
cout<<" * ";
cout<<j;
jum*=j;
}
74
cout<<"= "<<jum<<endl;
}
cout<<endl;
getch();
}
5.
110
6.
Listing:
#include <stdio.h>
#include <conio.h>
void main()
{ int hasil,pilih;
printf("Program Untuk Menghitung Perkalian Nilai Kolom\n");
printf("Masukkan Banyak Baris :");
scanf("%d",&pilih);
printf("Masukkan Banyak Kolom :");
scanf("%d",&pilih);
switch (hasil,pilih)
{
case 1:
76
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
case 2:
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
case 3:
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
case 4:
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
77
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
case 5:
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
case 6:
printf("1 2 3 4 5\n");
printf("2 4 6 8 10\n");
printf("3 6 9 12 15\n");
printf("4 8 10 16 20 \n");
printf("5 10 15 20 25\n");
break;
default:
printf("Hasil Banyak Baris Dan Kolom Yang Diiput Oleh User Adalah :%d",&pilih);
78
}
getch();
}
79
Latihan 6.3
1.
main()
{
char nama1[50]= "AKADEMI MANAJEMEN INFORMATIKA";
char nama2[50]= "KOMPUTER BINA SARANA INFORMATIKA";
clrscr();
80
{
char
Manajemen
Bina Sarana
Informatika";
clrscr();
cout<<"
cout<<" KATA PERTAMA
strrev(kata);
cout<<" Menjadi seperti berikut : "<<kata;
cout<<endl<<endl;
getch();
}
82
3.
Kalimat1 = Manajemen
Kalimat2 = Informatika
Menjadi seperti berikut :
ManajemenInformatika
Listing:
#include<conio.h>
#include<iostream.h>
main()
{
char k1[50]= "Manajemen",
k2[50]= "Informatika";
clrscr();
cout<<"
cout<<"**************************************************"<<endl;
cout<<" Kalimat 1 : "<<k1<<endl;
cout<<" Kalimat 2 : "<<k2<<endl;
strcat(k1,k2);
cout<<endl;
cout<<"__________________________________________________";
cout<<endl<<endl;
cout<<" Menjadi seperti berikut : "<<k1;
getch();
83
4.
Kalimat1 = "35.6"
Kalimat2 = "12.5"
Kemudian kedua kalimat diatas dihitung menjadi perhitungan :
a.
Perkalian
b.
Pembagian
c.
Penambahan
d.
Pengurangan
e.
Latihan 7.4
84
1. Sebuah perusahaan ayam goreng dengan nama GEROBAK FRIED CHICKEN yang
telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu
kelancaran usahaannya. GEROBAK FRIED CHICKEN mempunyai daftar harga ayam
sebagai berikut :
Kode Jenis
Harga
----------------------------------D Dada
Rp. 2500
85
Layar Keluaran
GEROBAK FIRED CHICHEN
-----------------------------------------------No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
-----------------------------------------------... .... .... .... Rp ....
... .... .... .... Rp ....
-----------------------------------------------Jumlah Bayar
Pajak 10%
Total Bayar
Rp ....
Rp ....
Rp ....
Listing:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
#include <string.h>
main( )
{
int x ,a ,ulangi;
char jenis[6] = {'D','d','P','p','S','s'} ,*ket[6];
long bapot[6], jumhar[6] = {0}, hasat[6] = {2500 ,2000 ,1500};
long jumbar[6]= {0}, pajak[6], totba[6];
86
pesan:
clrscr( );
cout<<"
cout<<"============================= \n";
cout<<"Kode Jenis Harga \n";
cout<<"---------------------------\n";
cout<<"[D] Dada Rp. 2500 \n";
cout<<"[P] Paha Rp. 2000 \n";
cout<<"[S] Sayap Rp. 1500 \n\n";
cout<<"---------------------------- \n\n";
cout<<"Banyak Jenis : ";cin>>x;
jumbar[x] = 0;
if (x <= 0)
{
cout<<"Banyak Jenis Tidak Boleh Null";
goto akhir;
}
else
{
for(a = 1 ; a <= x; ++a)
{
cout<<"Jenis Ke - "<<a;
cout<<"\n Jenis Potong [D/P/S] : ";cin>>jenis[a];
87
88
| Harga
| Banyak | Jumlah\n";
cout<<" | Potong
| Satuan
| Beli | Harga\n";
cout<<"================================================";
for (a = 1; a <= x; ++a)
{
cout<<" "<<a<<" | "<<ket[a]<<"
cout<<"
| "<<bapot[a]<<"
| "<<hasat[a];
| Rp. "<<jumhar[a]<<endl;
89
cout<<"---------------------------\n";
cout<<"Jumlah Bayar Rp. "<<jumbar[x]<<endl;
cout<<"Pajak 10%
Rp. "<<pajak[x]<<endl;
90
2. Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya.
Dengan ketentuan sebagai berikut :
Nama Mahasiswa, Nilai Tugas, Nilai UTS dan Nilai UAS diinput.
Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah
Nilai Akhir adalah Nilai Murni Tugas + Nilai Murni UTS + Nilai Murni UAS
: ...... <diinput>
: ...... <diinput>
91
Nilai UAS
: ...... <diinput>
UAS Akhir
92
char nilai[5];
char grade[5];
clrscr;
cout<<"
cout<<">>===================================<< \n\n";
cout<<"Masukan Jumlah Mahasiswa :";cin>>jum;
for (int a=1; a<=jum; a++)
{
cout<<"\nMahasiswa ke
:"<<a<<endl;
:";cin>>tgs[a];
cout<<"Nilai UTS
:";cin>>uts[a];
cout<<"Nilai UAS
:";cin>>uas[a];
}
cout<<"\n*********************
*************************"<<endl;
cout<<"***********************
*******************"<<endl;
cout<<"No
cout<<"
cout<<"
Nama
Nilai
Mahasiswa
Grade
"
<<endl;
-------------------------------------
"
<<endl;
Tugas
UTS
UAS
Akhir
"
<<endl;
93
tgs[a]=tgs[a]*0.3;
uts[a]=uts[a]*0.3;
uas[a]=uas[a]*0.4;
tot[a]=tgs[a] + uts[a] + uas[a];
cout<<setiosflags(ios::left)<<setw(10)<<a;
cout<<setiosflags(ios::left)<<setw(10)<<nama[a];
cout<<setiosflags(ios::left)<<setw(10)<<tgs[a];
cout<<setiosflags(ios::left)<<setw(10)<<uts[a];
cout<<setiosflags(ios::left)<<setw(10)<<uas[a];
cout<<setiosflags(ios::left)<<setw(10)<<tot[a];
if (tot[a]>=80)
cout<<"A"<<endl;
else if (tot[a]>=70)
cout<<"B"<<endl;
else if (tot[a]>=59)
cout<<"C"<<endl;
else if (tot[a]>=50)
cout<<"D"<<endl;
else
cout<<"E"<<endl;
}
getch(); }
94
3. PT. STAY COOL, memberikan honor tetap kepada karyawan kontraknya sebesar Rp.700,000,
- per bulan, dengan memperoleh tujangan-tunjangan sebagai berikut :
Tunjangan Jabatan
Golongan
1
5%
10%
15%
Sebagai
Persentase
contoh
Jika
seorang
keryawan
tersebut
Honor Lembur
Jumlah jam kerja normal dalam satu bulan sebanyak 240 Jam Kerja. Honor lembur
diberikan jika jumlah jam kerja sebih dari 240 jam, maka kelebihkan jam kerja tersebut
dikalikan dengan honor lembur perjam sebesar Rp. 2,500 untuk setiap kelebihan jam kerja
dalam satu bulannya.
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan dan Keluaran
Program Hitung Honor Karyawan Kontrak
PT. STAY COOL
Masukkan Jumlah Karyawan : ... <diinput>
Karyawan Ke - ... <proses counter>
Nama Karyawan
Golongan (1/2/3)
96
Listing:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int m,jumker,gaji=700000,total=0;
int jamker[15],h_lembur[15],pen_ber[15],persentase[15],pndd[15];
char namker[15][20],gol[10],kode[15];
cout<<"
cout<<"
cout<<endl;
cout<<"Masukan Jumlah Karyawan
: ";cin>>jumker;
cout<<endl;
for(m=1;m<=jumker;m++)
{
cout<<"Karyawan ke-"<<m<<endl;
cout<<"Nama Karyawan
cout<<"Golongan Karyawan[1/2/3]
: ";cin>>namker[m];
: ";cin>>gol[m];
cout<<"Pendidiikan[1=smu/2=D3,3=S1] : ";cin>>kode[m];
cout<<"\nJumlah Jam Kerja
: ";cin>>jamker[m];
cout<<endl;
97
if(gol[m]=='1')
persentase[m]=5*700000/100;
else if(gol[m]=='2')
persentase[m]=10*700000/100;
else
persentase[m]=15*7000000/100;
if(kode[m]=='1')
pndd[m]=2.5*700000/100;
else if(gol[m]=='2')
pndd[m]=5*700000/100;
else
pndd[m]=7.5*700000/100;
if(jamker[m]>240)
h_lembur[m]=(jamker[m]-240)*2500;
else
h_lembur[m]=0;
pen_ber[m]=gaji+persentase[m]+pndd[m]+h_lembur[m];
total=total+pen_ber[m];
}
clrscr();
cout<<"\n
cout<<"===============================================================
======="<<endl;
98
cout<<"No
cout<<"
Nama
Tunjangan
Karyawan
jabatan
Honor
Gaji
pendidikan Lembur
Pendapatan"<<endl;
Bersih"<<endl;
cout<<"===============================================================
========"<<endl;
for(m=1;m<=jumker;m++)
{
cout<<m<<"
"<<namker[m]<<"
"<<h_lembur[m]<<"
"<<gaji<<"
"<<persentase[m]<<"
"<<pen_ber[m]<<"
"<<pndd[m]<<"
"<<endl;
}
cout<<"===============================================================
========"<<endl;
cout<<"
cout<<"Nb.."<<endl;
cout<<"Tunjangan jabatan"<<endl;
cout<<"================================="<<endl;
cout<<"Golongan
Persentase"<<endl;
cout<<"================================"<<endl;
cout<<" 1
5%"<<endl;
cout<<" 2
10%"<<endl;
cout<<" 1
15%"<<endl;
cout<<"================================"<<endl;
cout<<endl<<endl;
99
cout<<"Tunjangan pendidikan"<<endl;
cout<<"================================"<<endl;
cout<<"kode pendidikan
persentase "<<endl;
cout<<"================================"<<endl;
cout<<"1
smu
2.5%"<<endl;
cout<<"2
D3
5%"<<endl;
cout<<"3
S1
7.5%"<<endl;
cout<<"================================"<<endl;
cout<<endl<<endl;
getch();
}
100
Latihan 9.9
1. Buatlah program menghitung luas dan keliling lingkaran dengan menggunakan fungsi. Fungsi
yang harus dibuat luas() untuk menghitung luas lingkaran dan keliling() untuk menghitung luas
lingkaran.
2. Buatlah program untuk menghitung besarnya diskon yang diberikan atas besanya sejumlah
pembelian, dengan ketentuan sebagai berikut :
-
dari Rp.
1,000,000
sampai dengan
Rp.
35%.
Fungsi yang harus dibuat potong() untuk menghitung besar potongan
101
102
else
{
diskon = 0;
}
}
garis()
{
cout<<"========================================";
}
main()
{
long harga, diskon, jumhar;
cout<<"\tPROGRAM HITUNG POTONGAN\n\n";
garis();
cout<<"\nBesar Pembelian Barang
Rp. ";cin>>harga;
potong(harga, diskon);
cout<<"\nBesar Potongan yang diberikan
Rp. "<<diskon<<endl;
103
2.
Buatlah 3 (tiga) buah fungsi untuk diov erloading, dengan variabel untuk masing-masing
fungsi berbeda-beda.
3.
c = (f - 32.0) * 5 / 9;
Contoh :
Jika nilai Fahrenheit = 100
c = (100 - 32) * 5 / 9;
104
c = (68) * 5 / 9;
c = 37,7778
Hasil keluaran yang diinginkan :
Pemanggilan dengan tipe data double
Proses dengan tipe data double
100 sama dengan 37.7778
Pemanggilan dengan tipe data float
Proses dengan tipe data float
100 sama dengan 37.7778
Pemanggilan dengan tipe data integer
Proses dengan tipe data integer
100 sama dengan 37
Listing:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
int cel;
start:
105
106
107
Listing:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
main()
{
char nama[35], kodeBuku, *Jbuku;
int Bpinjam, Tsewa, jumBar;
cout<<"
108
109
110
Latihan 10.3
1. Buatlah program menghitung pangkat dua serta pangkat tiga dari sebuah bilangan bulat
dengan makro. Sebagai input adalah bilangan itu sendiri, sedangkan sebagai output adalah
pangkat dua serta pangkat tiga dari bilangan bulat tersebut.
Listing:
#include<conio>
#include<iostream>
#define pangkat2(n) n*n
}
garis()
{
cout<<"
----------------------------------------------\n"<<endl;
}
main()
{
int n;
judul();
garis();
cout<<"Masukkan Angka : ";cin>>n; /*Input Untuk Angka Yang Akan Dipangkatkan*/
111
garis();
cout<<"Pangkat Dua dari "<<n<<" adalah "<<pangkat2(n)<<endl;
cout<<"Pangkat Tiga dari "<<n<<" adalah "<<pangkat3(n)<<endl;
getche();
}
2. Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam file header,
nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan :
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran
Keliling Lingkaran
112
Listing:
#include <iostream.h>
#include <conio.h>
#include"lingkaran.h"
void judul()
{
cout<<"Program Menghitung Luas dan Keliling Lingkaran"<<endl;
}
garis()
{
cout<<"-----------------------------------------"<<endl;
}
main()
{
int n,luas,keliling;
clrscr();
judul();
garis();
cout<<"Masukan Jari-jari Lingkaran : ";cin>>n;
garis();
luas=L(n);
cout<<"Maka Luas Lingkaran dengan jari-jari "<<n<<" adalah "<<luas<<endl;
keliling=K(n);
113
3. Buatlah program menghitung nilai akhir perkuliahan pada suatu matakuliah, dengan ketentuan
sebagai berikut :
Nilai Absensi * 10 %
Nilai Tugas
* 20 %
Nilai U.T.S
* 30 %
Nilai U.A.S * 40 %
Untuk proses penilaian dilakukan didalam file header dan simpan nama file header tersebut
hitnilai.h.
Tampilan yang diinginkan
114
: <di-input>
: <di-input>
115
Latihan 11.5
1. Buatlah program untuk menghitung nilai Hasil dari nilai UTS, UAS dan menampilkan nilai
huruf yang akan didapat.
Ketentuan :
Masukan
banyak
untuk
menentukan
Listing:
#include <iostream.h>
#include <conio.h>
116
#include <iomanip.h>
#include <stdio.h>
garis()
{
cout<<"===============================================================
="<<endl;
}
nilai(float uts,float uas,float *hasil,char **huruf)
{
*hasil=(uas*0.4)+(uts*0.6) ;
if (*hasil>=80)
{
*huruf="A";
}
else
if (*hasil>=70)
{
*huruf="B";
}
else
if (*hasil>=56)
{
*huruf="C";
117
}
else
if (*hasil>=47)
{
*huruf="D";
}
else
{
*huruf="E";
}
}
main()
{
int i, j;
struct
{
float hasil,uas,uts;
char nama[50], *huruf;
}mhs[5];
clrscr();
118
: ";cin>>mhs[i].uts;
cout<<"Nilai UAS
: ";cin>>mhs[i].uas;
nilai(mhs[i].uts,mhs[i].uas,&mhs[i].hasil,&mhs[i].huruf);
cout<<"Hasil yang di dapat adalah : "<<mhs[i].hasil<<endl;
cout<<"Grade yang di dapat : "<<mhs[i].huruf<<endl;
cout<<endl;
}
garis();
cout<<"No
cout<<"
Nama
Mahasiswa
Nilai
UTS
Nilai
UAS
Akhir
Nilai "<<endl;
Huruf "<<endl;
garis();
for(i=1;i<=j;i++)
{
119
cout<<setiosflags(ios::left)<<setw(6)<<i;
cout<<setiosflags(ios::left)<<setw(15)<<mhs[i].nama;
cout<<setiosflags(ios::left)<<setw(10)<<mhs[i].uts;
cout<<setiosflags(ios::left)<<setw(11)<<mhs[i].uas;
nilai(mhs[i].uts,mhs[i].uas,&mhs[i].hasil,&mhs[i].huruf);
cout<<setiosflags(ios::left)<<setw(17)<<mhs[i].hasil;
cout<<setiosflags(ios::left)<<setw(13)<<mhs[i].huruf<<endl;
}
garis();
getch();
}
120
2. Buatlah program untuk menghitung honor pegawai honorer dari suatu perusahaan dengan
menghitung kelebihan jumlah jam kerja pegawai tersebut. Honor harian pegawai honorer
sebesar Rp. 15000
Ketentuan :
Masukan
banyak
untuk
menentukan
121
char nama[20];
int jam, lebih, harian, jumlah;
}honor[10];
bintang()
{
cout<<"\t***********************************************"<<endl;
}
garis()
{
cout<<"\t--------------------------------------------------"<<endl;
}
int lbh(int jam)
{
if(jam >= 8)
{
return (jam - 8);
}
else
{
return (0);
}
}
main()
122
{
int i, n, total=0;
clrscr();
bintang();
cout<<"\t\tMenghitung Honor Pegawai Honorer"<<endl;
bintang();
cout<<"\n\tMasukkan Jumlah Karyawan Yang Akan Diinput : "; cin>>n;
for(i = 1; i <= n; i++)
{
cout<<"\n\tData Ke - "<<i<<endl;
cout<<"\t-----------"<<endl;
cout<<"\t\tNama Pegawai
: "; gets(honor[i].nama);
PT. ALAKADARNYA"<<endl;
123
garis();
cout<<endl;
garis();
cout<<"\t| No. | Nama | Jumlah | Kelebihan | Jumlah |"<<endl;
cout<<"\t|
garis();
for(i = 1; i <= n; i++)
{
cout<<setw(3)<<"\t| "<<i;
cout<<setw(5)<<" | "<<honor[i].nama;
cout<<setw(6)<<" | "<<honor[i].jam<<" jam";
cout<<setw(6)<<" | "<<lbh(honor[i].jam)<<" jam";
cout<<setw(7)<<" | "<<honor[i].jumlah<<" |"<<endl;
}
garis();
cout<<"\tJumlah Pegawai
\t"<<n<<" orang"<<endl;
\tRp. "<<total<<endl;
garis();
getch();
}
124
125
126
PENUTUP
Kesimpulan
Konsep dasar pemrograman meliputi proses bagaimana mengimplementasikan urutan
langkah untuk menyelesaikan suatu masalah. Proses dari masalah hingga terbentuk suatu
algoritma disebut tahap pemecahan masalah, sedangkan tahap dari algoritma hingga terbentuk
suatu solusi disebut dengan tahap implementasi. Solusi yang dimaksud adalah suatu program
merupakan proses impelementasi dari algoritma yang disusun.
Untuk menciptakan suatu program yang baik yang memiliki portabilitas yang tinggi,
sehingga memudahkan dalam merancang dan merawat program serta meningkatkan efektifitas
penggunaan peralatan komputer dibutuhkan suatu standar program. Standar-standar tersebut
sering dilihat oleh pemrogram sebagai batasan kreatifitas dan kemampuan untuk menuangkan
berbagai ide ke dalam bentuk program. Namun dengan adanya standar akan membuat program
menjadi konsisten dan mudah untuk dikembangkan.
Saran
Untuk menciptakan suatu program yang baik harus memenuhi beberapa kriteria yaitu :
Mudah dikembangkan di masa mendatang
Dalam menyusun program sebaiknya pemrogram membuat persiapan dan rancangan arsitektur
program dengan matang, sehingga tidak menimbulkan masalah pada tahap coding dan testing
Sintaks dan semantik bahasa pemrograman yang baik haruslah konsisten dan tidak bermakna
ganda
127
Bahasa programmer yang baik haruslah berkemampuan untuk mendukung berbagai tipe
data(integer, real, pointer,dsb) dan terstruktur dalam array, record ataupun object
Bahasa pemrograman yang baik haruslah dapat mendukung berbagai jenis model file seperti
sequential, random access, index, multiple index dan lain sebagainya.
Bahasa pemrograman yang baik haruslah dapat dipakai pada berbagai tipe mesin komputer yang
berbeda, jadi bersifat machine independent.
Bahasa pemrograman yang baik haruslah efisien.
Bahasa pemrograman tersebut harus mudah dipelajari maupun diajarkan.
Bahasa pemrograman tersebut harus memiliki jangkauan luas pada berbagai aplikasi
pemrograman sehingga dapat disebut bahasa yang serbaguna.
DAFTAR PUSTAKA
http://www.belajarcpp.com/2016/01/dasar-dasar-penggunaan-borland-c-plusplus.html
http://eniugblogs.blogspot.co.id/2011/11/makalah-algoritma-pemrograman-1c.html
http://www.academia.edu/5253468/MAKALAH_ALGORITMA_DAN_PEMROGRAMAN_Dis
usun_oleh
128