Anda di halaman 1dari 131

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN DASAR

Disusun Oleh:
NAMA : MAI SYARAH
NPM

: 1614370047

KELAS : SISTEM KOMPUTER


Reguler 1 Pagi B

Universitas Pembangunan Panca Budi


Fakultas Ilmu Komputer
Medan
2016
1

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

KATA PENGANTAR ..............................................................................................

ii

DAFTAR ISI .............................................................................................................

iii

BAB I. PENDAHULUAN ........................................................................................

A. Umum......................................................................................................

B. Latar Belakang.........................................................................................

C. Tujuan Praktikum ....................................................................................

BAB II. LANDASAN TEORI TENTANG ALGORITMA DAN


PEMROGRAMAN YANG TELAH DIPELAJAR .................................

10

A. Dasar dasar ............................................................................................

10

B. Algoritma, Program dan Pemrograman ..................................................

11

C. Tipe Data, Variabel dan Operator ...........................................................

19

D. Class, Object dan Method .......................................................................

28

E. Struktur Perulangan dan Percabangan.....................................................

31

BAB III. HASIL PERCOBAAN / PRAKTTIKUM ..............................................

41

BAB IV. ANALISA HASIL PERCOBAAN ...........................................................

126

PENUTUP .................................................................................................................

127

DAFTAR PUSTAKA ...............................................................................................

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 dan Konstanta


Data pada C++ tersusun dari variabel dan konstanta. Variabel merupakan komponen
penting pada pemrograman. Variabel digunakan dalam program untuk menyimpan suatu nilai,
dengan nilai yang ada padanya dapat diubah selama eksekusi program berlangsung. Adapun
konstanta menyatakan nilai yang tetap. Misalnya 234 adalah sebuah konstanta bilangan bulat.

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;

Variabel dan Konstanta Bertipe Char


Bentuk pernyataan variabel bertipe char: char karakter; Dalam hal ini variabel karakter
bertipe char. Variabel ini dapat menampung data sebuah karakter. Untuk menuliskan sebuah
konstanta bertipe char, karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A' karakter
berupa huruf A.

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)

Variabel dan Konstanta Bertipe Integer


Variabel bertipe int didefinisikan dengan bentuk:int bilangan; Setelah pendefinisian
seperti itu, variabel ini dapat digunakan untuk menampung nilai bertipe int. Sebuah konstanta
bertipe int adalah bilangan bulat yang terletak antara minus 32768 hingga plus 32767 (pada PC
berbasis DOS) dan tidak mengandung titik desimal.

Variabel dan Konstanta Bertipe Long


Apabila diinginkan untuk memproses bilangan bulat yang nilainya lebih besar daripada
tipe int, Anda dapat menggunakan tipe long. Suatu variabel bertipe long didefinisikan dengan
cara seperti di bawah ini:
long jumlah_penduduk;
Pada contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian variabel ini
dapat menampung nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan akhiran
L. Sebagai contoh: 1543267635435L
Variabel dan Konstanta Bertipe float, double dan long double
Tipe-tipe data yang telah dibahas di depan (char, int dan long) berhubungan dengan
bilangan bulat. Seandainya diinginkan untuk memproses bilangan yang mengandung nilai
pecahan, bisa menggunakan tipe float, double atau long double. Ketiga tipe yang berhubungan
dengan bilangan pecahan ini mempunyai perbedaan dalam hal: kepresisian data, dan jangkauan
nilai yang dicakup.

Contoh pendefinisian variabel untuk menampung bilangan pecahan:


float panjang;
double phi;
long double tetapan;
Inialisasi variabel adakalanya dalam penulisan program, variabel langsung diberi nilai awal
setelah didefinisikan. Sebagai contoh:
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai
penugasan nilai, seperti berikut:
int jumlah = 80;
===============+++++++++++++++++++++++++++==================

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 cout<< var


Pengenal cout merupakan sebuah obyek yang disediakan oleh C++ untuk mengarahkan
data ke standard output (normalnya layar). Tanda << merupakan operator yang disebut operator
penyisipan / peletakan.
cout<<Program Menghitung Luas Dan Keliling Lingkaran;
Operator ini mengarahkan operand (data) yang di sebelah kanannya ke obyek yang dikirinya.
Pada contoh diatas, string Program Menghitung Luas Dan Keliling Lingkaran diarahkan ke
cout yang memberikan hasil berupa tampilan string tersebut ke layar.
Mengenal cin >> var
Fungsi cin merupakan sebuah objeck didalam C++ digunakan untuk
memasukkan suatu data dapat berupa numerik, string, dan karakter.Var dapat lebih dari satu
variabel (cin >> var >> var) dan dapat berupa karakter. Untuk menggunakan fungsi cin ini,
harus menyertakan file header iostream.h . Biasanya perintah input cin digunakan untuk
penjumlahan dengan variabel angka, sedangakan untuk variabel teks lebih sering manggunakan
gets karena lebih mudah dan dapat menampilkan karakter teks yang menggunakan spasi .

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

B. Algoritma, Program Dan Pemrograman


ALGORITMA
Algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan
masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah
tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma sederhana
dalam kehidupan nyata adalah pada saat memasak air. Hal-hal yang perlu dilakukan untuk
memasak air seperti berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup
panci tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang,

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

Untuk lebih jelasnya lagi, berikut salah satu contoh algoritma :


Algoritma untuk menghitung nilai x dari persamaan x = 17y + 9 :
1) Memulai
2) Menentukan nilai y
3) Menghitung nilai x = 17y + 9
4) Menyelesaikan
Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain :
1. Algoritma Sekuensial (Sequence Algorithm)
Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkahlangkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu
contohnya seperti algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari
atas sampai bawah.
2. Algoritma Perulangan (Looping Algorithm)
Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang
menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada masalah yang
kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang.
Contoh dari algoritma looping ini adalah algoritma menjemur pakaian:
1) Siapkan jemuran.
2) Ambil satu pakaian yang nantinya akan dijemur.
3) Peras pakaian tersebut terlebih dahulu.
4) Letakkan pakaian tersebut pada tiang jemuran.
5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.

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.

Pemrograman adalah proses dimana urutan langkah diimplementasikan dengan


menggunakan bahasa pemrograman untuk menyelesaikan suatu masalah.

d.

Pemrograman terstruktur adalah proses pengimplementasikan urutan langkah untuk


menyelesaikan suatu masalah dengan program yang memiliki rancang bangun yang
terstrukur dan tidak terbelit-belit sehingga mudah dipahami dan ditelusuri oleh siapa saja.

e.

Pemrogram adalah orang yang bertugas menyusun program.

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

menghindari penggunaan intruksi GOTO


3.

Membutuhkan biaya testing, pemeliharaan dan pengembangan yang rendah

4.

Memiliki dokumentasi yang baik.


Standar pemrograman dibutuhkan untuk membuat suatu program yang baik. Untuk

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

penyelesaian masalah dalam menyusun program, tetapi sebaiknya pemrogram menggunakan


prosedur yang teruji kebenarannya dan dikenal banyak orang.
Langkah-langkah pemrograman komputer :
1. Mendefinisikan masalah
Ini adalah langkah pertama yang sering dilupakan orang mendefinisikan masalah
bertujuan untuk memahami masalah yang ada lebih mendalam. Dengan demikian diperoleh
asumsi-asumsi yang baik dan benar guna menyelesaian masalah.

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

sebelumnya tidak terdeteksi. Perawatan program berarti melakukan koreksi, adaptasi,


melengkapi fasilitas guna mengantisipasi kebutuhan masa depan.

18

C. Tipe Data, Variabel Dan Operator


TIPE DATA
Tipe data adalah suatu media atau memori pada komputer yang digunakan untuk
menampung. Berikut adalah jenis jenis dari tipe data :
Tipe Data

Keterangan

Ukuran Jangkauan

Char

Untuk menyimpan karakte

1 byte

signed:

-128

to

127

unsigned: 0 to 255
Wchar_t

Untuk menyimpan karakter lebar 2 byte

1 karakter lebar

biasanya untuk unicode


Short

int Untuk menyimpan bilangan bulat 2 byte

signed:

-32768

(short)

dengan jangkauan pendek

unsigned: 0 to 65535

Int

Untuk menyimpan bilangan bulat 4 byte

signed:

dengan jangkauan menengah

2147483647

Long int (long) Untuk menyimpan bilangan bulat 4 byte


dengan jangkauan panjang

to

32767

-2147483648

unsigned: 0 to 4294967295
signed:
-2147483648

to

to

2147483647
unsigned: 0 to 4294967295

Float

Untuk menyimpan bilangan cacah 4 byte

3.4e +- 38 (7 digit)

Double

Untuk menyimpan bilangan cacah 8 byte

1.7e +- 308 (15 digits)

dengan ketelitian ganda


Long double

Untuk menyimpan bilangan cacah 8 byte

1.7e +- 308 (15 digits)

dengan ketelitian ganda lebih


detail (panjang)

19

Bool

Untuk pernyataan true or false

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

Jangkauan Tipe Data Unsigned


Contoh Program :
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main()
{
clrscr();
char kar1 = 66; char kar2 = 'A';
char kar3[30] = "Stmik El-Rahma Yogyakarta";
cout << "Isi kar1 = " << kar1 << '\n';
cout << "Isi kar2 = " << kar2 << '\n';
cout << "Isi kar3 = " << kar3 << '\n';
int bil_int1 = 32767;
int bil_int2 = 32768;
int bil_int3 = -1;
unsigned int bil_int4 = -1;
cout << "Isi bil_int1 = " << bil_int1 << '\n';
cout << "Isi bil_int2 = " << bil_int2 << '\n';
cout << "Isi bil_int3 = " << bil_int3 << '\n';
cout << "Isi bil_int4 = " << bil_int4 << '\n';

21

float bil_f1 = 1.23e2; float bil_f2 = 123.0;


cout << "Isi bil_f1 = " << bil_f1 << '\n';
cout << "Isi bil_f2 = " << bil_f2 << '\n';
float bil_f3 = 56.0123456789123456789123456789;
double bil_d1 = 56.0123456789123456789123456789;
long double bil_ld = 56.0123456789123456789123456789;
cout << setprecision(20); // mengatur presisi tampilan
cout << "Isi bil_f3 = " << bil_f3 << '\n';
cout << "Isi bil_d1 = " << bil_d1 << '\n';
cout << "Isi bil_ld = " << bil_ld << '\n';
getch();
}
VARIABEL
Variabel adalah suatu wadah yang digunakan untuk menampung nilai atau informasi.
Nilai variabel dapat berubah-ubah ketika program dijalankan.
dengan kata lain variabel adalah suatu memori dengan identitas tertentu untuk menampung nilai
atau informasi baik yang tetap maupun yang berubah ubah.

Mendeklarasikan Variabel

22

Prosedur penerapan variabel dalam program utama haruslah dideklarasikan terlebih


dahulu, pengertian deklarasi dalam pemrograman c++ adalah melakukan inisialisasi variabel
dengan nama dan tipe data yang digunakan, sehingga nantinya dapat dikenali oleh program.
Adapun caranya adalah sebagai berikut :
Namun adakalanya dalam mendeklarasikan sebuah variabel langsung disertai dengan nilainya
dan adakalanya yang tidak, sebagai contoh :
int jumlah;
jumlah = 10;
Dua pernyataan seperti diatas sebenarnya dapat disingkat melalui pendefinisian yang
disertai penugasan nilai, sebagi berikut :
int jumlah = 10;
Contoh :
Void main(){
Int a=2;
cout << a= <
getch();
}
KONSTANTA
Konstanta dalah suatu identitas memori untuk menampung nilai atau informasi yang
bersifat tetap dan tidak dapat diubah ubah.
Contoh :
Void main(){
const a = 3.14;

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 :

Assignment Operator / Operator Penugasan


Assignment Operator (operator penugasan) adalah operator yang menggunakan tanda
sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.

Arithmetic Operator / Operator Aritmatika


Arithmetic Operator (operator aritmatika) adalah operator yang digunakan untuk
melaksanakan operasi aritmatika.
Beberapa operator aritmatika antara lain:
* : untuk perkalian
+ : untuk penjumlahan
- : untuk pengurangan
/ : untuk pembagian
% : untuk sisa pembagian (modulus)

25

Boolean Operator Dan Operator Logika


Operator Boolean atau Operator Logika adalah operator yang digunakan untuk
melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE
(salah). Bebarapa macam operator logika antara lain:
1. and

: menghasilkan nilai TRUE jika kedua operand bernilai TRUE

2. or

: menghasilkan nilai TRUE jika salah satu operand bernilai TRUE

3. xor

: menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan
keduaduanya bernilai TRUE

4. !

: mengasilkan nilai tidak TRUE

5. &&

: menghasilkan nilai TRUE jika kedua operand bernilai TRUE

6. ||

: menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

26

Operator Relasi / Operator Pembanding


Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah
nilai atau operand.
Operator perbandingan ini antara lain :
< : untuk kurang dari
> : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>= : untuk lebiih dari atau sama dengan
== : untuk sama dengan
!= : untuk tidak sama dengan
<> : untuk tidak sama dengan

27

D. Class, Object, dan Method


Class
Class adalah cetak biru atau blueprint dari object. Class digunakan hanya untuk
membuat kerangka dasar. Yang akan kita pakai nantinya adalah hasil cetakan dari class,
yakni object.
Sebagai

analogi, class bisa

diibaratkan

dengan laptop atau notebook.

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

laptop atau mematikan laptop.


Class dalam analogi ini adalah gambaran umum tentang sebuah benda. Di dalam
pemrograman nantinya, contoh class seperti: koneksi_database dan profile_user. Di dalam PHP,
penulisan class diawali dengan keyword class, kemudian diikuti dengan nama dari class. Aturan
penulisan nama class sama seperti aturan penulisan variabel dalam PHP, yakni diawali dengan
huruf atau underscore untuk karakter pertama, kemudian boleh diikuti dengan huruf, underscore
atau angka untuk karakter kedua dan selanjutnya. Isi dari class berada dalam tanda kurung
kurawal. Berikut adalah contoh penulisan class dalam PHP:
1

<?php

class laptop {

// isi dari 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 {

//... isi dari class laptop

5
6

$laptop_andi = new laptop();

$laptop_anto = new laptop();

?>
Dari

contoh

diatas, $laptop_andi dan $laptop_anto merupakan objek dari class

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() {

//... isi dari method hidupkan_laptop

6
7

function matikan_laptop() {

//... isi dari method matikan_laptop

10
11

... //isi dari class laptop

12

13
Dari

?>
contoh

diatas,

function hidupkan_laptop

() dan function matikan_laptop

() adalah method dari class laptop. Penulisan method di dalam PHP sama dengan cara
penulisan function. Sebuah class tidak harus memiliki method.

30

E. Struktur Perulangan Dan Percabangan


PERULANGAN
1. Pernyataan For
Perulangan yang pertama adalah for. Bentuk umum pernyataan for adalah sebagai
berikut:
for (inisilisasi; syarat pengulangan; pengubahan nilai pencacah) Bila pernyataan di
dalam for lebih dari satu maka pernyaan-pernyataan tersebut harus diletakan di dalam tanda
kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
Pernyataan / perintah;
Pernyataan / perintah;
Pernyataan / perintah;
}

Kegunaan dari masing-masing argumen for adalah:


- Inisialisasi: bagian untuk memberikan nilai awal untuk memberikan variabel-variabel tertentu.
- Syarat pengulangan: memeganng kontrol terhadap pengulangan, karena bagian ini yang akan
menentukan suatu perulangan diteruskan atau dihentikan.
- Pengubahan nilai pencacah: mengatur kenaikan atau pengurangan nilai pencacah.

Contoh:
/* ------------------------------------ */

31

/* Program For-Bilangan Naik */


/* ------------------------------------ */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a;
for(a = 1; a <= 10; a+=2)
cout<<a
getch();
}

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.

Mengulang secara rutin karena tidak terpenuhinya suatu kondisi.

b.

Melanjutkan suatu pernyataan bila kondisi terpenuhi.

c.

Memilih sebuah pilihan dari beberapa pilihan alternatif bila sebuah kondisi terpenuhi.

Singkatnya,pernyataan percabangan digunakan untuk memecahkan suatu persoalan untuk


mengambil keputusan diantar sekian pernyataan yang ada.

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.

Tidak ada potongan jika total pembelian kurang dari Rp.50.000;

b.

Jika total pembelian lebih dari atau sama dengan Rp.50.000; maka akan diberi potongan

20% dari total pembelian.


Listing Programnya:
#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)

35

potongan = 0.2 * tot_beli;


cout<<besarnya potongan rp. <<potongan<<endl;
jum_bayar = tot_beli-potongan;
cout<<jumlah yang harus dibayarkan rp. ;
cout<<jum_bayar;
getch ();
}
2. Pernyataan IF-ELSE
Pernyataan if-else memiliki pengertian,jika kondisi bernilai benar, maka perintah-1 akan
dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2.
Bentuk Umum Pernyataan If-Else
If (kondisi)
Perintah-1;
Else
Perintah-2;
Contoh:
Tentukan besarnya potongan dari pembelian barang yang akan diberikan seorang pembeli,
dengan kriteria:
c.

Tidak ada potongan jika total pembelian kurang dari Rp.50.000,maka potongan yang

diterima sebesar 5% dari total pembelian;


d.

Jika total pembelian lebih dari atau sama dengan Rp.50.000; maka akan diberi potongan

20% dari total pembelian.


Listing Programnya:

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

Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I, II dan III


dibagi dengan 3.
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.
Listing:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>

main ()
{
char nama[20];
int npI,npII,npIII;
float rata;
cout<<"

PROGRAM HITUNG NILAI RATA-RATA \n";

41

cout<<">>===================================<< \n";
cout<<" Nama Siswa

:";gets(nama);

cout<<" Nilai Pertandingan I :";cin>>npI;


cout<<" Nilai Pertandingan II :";cin>>npII;
cout<<" Nilai Pertandingan III :";cin>>npIII;
cout<<">>===================================<< \n\n";
rata=(npI+npII+npIII)/3;
cout<<"Siswa yang bernama '"<<nama;
cout<<" ' memperoleh nilai Rata Rata \n"<<rata;
cout<<" dari hasil perlombaan yang diikutinya. \n";
getch();
}

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;

cout<<" PROGRAM HITUNG NILAI AKHIR\n\n";


cout<<" Nama Siswa

: ";

gets(nama);

cout<<" Nilai Keaktifan

: ";

cin>>nilai1;
cout<<" Nilai Tugas

: ";

cin>>nilai2;
cout<<" Nilai Ujian

: ";

cin>>nilai3;

44

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;


cout<<" Dengan nilai yang dipresentasikan."<<endl;
cout<<" Nilai Murni Keaktifan : "<<murni1<<endl;
cout<<" Nilai Murni Tugas

: "<<murni2<<endl;

cout<<" Nilai Murni Ujian

: "<<murni3<<endl<<endl;

cout<<" Jadi siswa yang bernama "<<nama;


cout<<" memperoleh nilai akhir sebesar "<<nilaiakhir;
cout<<" dengan grade ";

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

2. Dari program dibawah ini, bagaimanakah keluaran yang dihasilkan


47

#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

3. Dari program dibawah ini, bagaimanakah keluaran yang dihasilkan


#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int a = 25; 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;
a*=2;
49

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<<"

PROGRAM MENGHITUNG NILAI RATA-RATA SEORANG SISWA \n"<<endl;

cout<<">>======================================================<<
\n"<<endl;
cout<<" Nama Siswa
cout<<" Nilai Pertandingan I

:";cin>>nama;
:";cin>>per1;

cout<<" Nilai Pertandingan II :";cin>>per2;


cout<<" Nilai Pertandingan III :";cin>>per3;
rrata=(per1+per2+per3)/3;

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

Nilai Akhir >= 80 mendapat Grade A


Nilai Akhir >= 70 mendapat Grade B
Nilai Akhir >= 59 mendapat Grade C
Nilai Akhir >= 50 mendapat Grade D
Nilai Akhir < 50 mendapat Grade E
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 <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<<"

PROGRAM HITUNG NILAI AKHIR\n\n";

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

cout<<" Dengan Persentasi Yang dihasilkan.\n"<<endl;


cout<<" Nilai Murni Keaktifan : "<<murni1<<endl;
cout<<" Nilai Murni Tugas

: "<<murni2<<endl;

cout<<" Nilai Murni Ujian

: \n"<<murni3<<endl<<endl;

cout<<" Jadi siswa yang bernama "<<nama;


cout<<" memperoleh nilai akhir sebesar "<<nilaiakhir;
cout<<" dengan grade ";
if(nilaiakhir>=80){
cout<<"A";
}
else if(nilaiakhir>=70){
cout<<"B";
}
else if(nilaiakhir>=56){
cout<<"C";
}
else if(nilaiakhir>=46){
cout<<"D";
}
else{
cout<<"E";
}

56

getch();
}

57

3. Buatlah program untuk menghitung total pembayaran dari sebuah


penjualan agen susu di kota besar ini.. Dengan ketentuan sebagai
berikut :
Jenis susu diinput diinput berdasarkan kode yang sudah ditentukan
Jika kode A adalah Dancow
Jika kode B adalah Bendera
Jika kode A adalah SGM
Ukuran kaleng susu diinput berdasarkan kode yang sudah ditentukan.
Jika kode 1 adalah Kecil
Jika kode 2 adalah Sedang
Jika kode 3 adalah Besar
Harga susu sesuai dengan jenis susu dan ukuran kaleng susu JENIS SUSU
HARGA BERDASARKAN UKURAN KALENG SUSU
KECIL SEDANG BESAR
58

DANCOW 25000 20000 15000


BENDERA 20000 17500 13500
SGM 22000 18500 15000
Proses yang dilakukan untuk mendapatkan Total Pembayaran
Total Bayar = Harga Susu per ukuran dan Jenis dikali dengan banyak beli
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
TOKO KELONTONG KERONCONGAN
-------------------------A. Susu Dancow
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar
B. Susu Bendera
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar
C. Susu SGM
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar
Layar Keluaran
Nasukan Jenis Susu : .... < diinput >

59

Nasukan Ukuran Kaleng : .... < diinput >


Harga Satuan Barang Rp. ....< tampil harga satuan >
Jumlah Yang dibeli : ... < diinput >
Harga Yang Harus dibayar Sebesar Rp. <hasil proses>

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

printf("Harga yang harus di bayar =Rp %.2f\n",total);


getch();
}

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

Kode Pendidikan Persentase


1 SMU 2,5%
2 D3 5%
3 S1 7,5%
Honor Lembur
Jumlah jam kerja normal sebanyak 8 Jam Kerja. Honor lembur
diberikan jika jumlah jam kerja sebih dari 8 jam, maka kelebihkan
jam kerja tersebut dikalikan dengan honor lembur perjam sebesar
Rp. 2,500 untuk setiap kelebihan jam kerja perharinya.
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
Program Hitung Honor Karyawan Kontrak
PT. DINGIN DAMAI
Nama Karyawan : ... <di input>
Golongan : ... <di input>
Pendidikan (SMU/D3/S1) : ... <di input>
Jumlah Jam Kerja : ... <di input>
Layar Keluaran
Karyawan yang bernama : ... <tampil data>
Honor yang diterima
Honor Tetap Rp. .... <hasil proses>
Tunjangan jabatan Rp. .... <hasil proses>
Tunjangan Pendidikan Rp. .... <hasil proses>

64

Honor Lembur Rp. .... <hasil proses>


+
Honor Yang Diterima Rp. .... <hasil proses>

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

>> PROGRAM HITUNG GAJI KARYAWAN <<\n";

cout<<"

>> PT. DINGIN DAMAI << \n";

cout<<"========================================\n\n";
cout<<" Nama Karyawan

: ";

gets(nama);
cout<<" Golongan

: "; cin>>golongan_jabatan;

cout<<" Pendidikan (SMU/D3/S1) : "; cin>>golongan_pendidikan;


cout<<" Jumlah Jam Kerja

: "; 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;

cout<<" Tunjangan Jabatan

: Rp. "<<tunjangan_jabatan<<endl;

cout<<" Tunjangan Pendidikan


cout<<"

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.

Buatlah program untuk menghitung 10 deret bilangan genap dengan

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.

Buatlah program untuk menghitung 10 deret bilangan ganjil dengan

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.

Buatlah program untuk menghitung perkalian deret bilangan ganjil

membentuk segitiga siku dengan hasilnya :


1=1
1*3=3
73

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.

Buatlah program untuk menghitung perkalian deret bilangan genap

membentuk segitiga siku terbalik dengan hasilnya :


10 + 8 + 6 + 4 + 2 = 30
10 + 8 + 6 + 4 = 28
10 + 8 + 6 = 24
10 + 8 = 18
10 = 10
---------- +
75

110

6.

Buatlah program untuk menghitung perkalian nilai kolom dengan baris

berikut tampilan keluaran yang diinginkan :


1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 10 16 20
5 10 15 20 25

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.

Buatlah program untuk menghitung panjang kata berikut ini :

Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika


Listing:
#include<conio.h>
#include<iostream.h>

main()
{
char nama1[50]= "AKADEMI MANAJEMEN INFORMATIKA";
char nama2[50]= "KOMPUTER BINA SARANA INFORMATIKA";

clrscr();

cout<<" MENGHITUNG JUMLAH KATA "<<endl<<endl;


cout<<" KATA PERTAMA : "<<nama1<<endl;
cout<<"->JUMLAH KATA PERTAMA : ";
cout<<strlen(nama1);
cout<<endl<<endl;
cout<<"__________________________________________________";
cout<<endl<<endl;
cout<<" KATA KEDUA : "<<nama2<<endl;

80

cout<<"->JUMLAH KATA KEDUA : ";


cout<<strlen(nama2);
getch();
}

2. Buatlah program untuk membalik kata berikut ini :


Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika
Menjadi seperti berikut :
akitamrofnI anaraS aniB retupmoK and akitamrofnI nemejanaM imedakA
Listing:
#include<conio.h>
#include<iostream.h>
main()
81

{
char

kata [100]= "Akademi

Manajemen

Informatika Dan Komputer

Bina Sarana

Informatika";
clrscr();
cout<<"
cout<<" KATA PERTAMA

-----MEMBALIKAN KATA----- "<<endl<<endl;


: "<<kata<<endl;

strrev(kata);
cout<<" Menjadi seperti berikut : "<<kata;
cout<<endl<<endl;
getch();
}

82

3.

Bulatlah program untuk menggabungkan dua buah string

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<<"

>> PENGGABUNGAN KATA <<"<<endl<<endl;

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.

Diberikan kalimat string berikut :

Kalimat1 = "35.6"
Kalimat2 = "12.5"
Kemudian kedua kalimat diatas dihitung menjadi perhitungan :
a.

Perkalian

b.

Pembagian

c.

Penambahan

d.

Pengurangan

e.

Mencari sisa hasil pembagian

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

P Paha Rp. 2000


S

Sayap Rp. 1500

----------------------------------Buatlah programnya dengan ketentuan :

Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.

Banyak Jenis, Jenis Potong dan Banyak Beli diinput.

Tampilan yang diinginkan sebagai berikut :


Layar Masukkan
GEROBAK FRIED CHICKEN
---------------------Kode Jenis Harga
--------------------------D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
--------------------------Banyak Jenis : ... <diinput>
Jenis Ke - ... <proses counter>
Jenis Potong [D/P/S] : ... <diinput>
Banyak Potong : ... <diinput>
<<Terus berulang tergantung Banyak Jenis>>

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<<"

GEROBAK FRIED CHICKEN \n";

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

cout<<"\n Banyak Potongan : ";cin>>bapot[a];


cout<<"------------------\n";
if (jenis[a] == 'D' || jenis[a] == 'd')
{
ket[a] = "Dada";
hasat[a] = 2500;
}
else if (jenis[a] == 'P' || jenis[a] == 'p')
{
ket[a] = "Paha";
hasat[a] = 2000;
}
else if (jenis[a] == 'S' || jenis[a] == 's')
{
ket[a] = "Sayap";
hasat[a] = 1500;
}
else
{
cout<<"\n Anda Salah Masukan Kode Jenis Potongan.";
hasat[a] = 0;
}
jumhar[a] = hasat[a] * bapot[a];

88

jumbar [x] = jumbar[x] + hasat[a] * bapot[a];


if (jumbar[x] == 0)
{
pajak[x] = 0;
totba[x] = 0;
}
else
{
pajak[x] = jumbar[x] * 0.1;
totba[x] = jumbar[x] + pajak[x];
}
}
}
cout<<"\n\n GEROBAK FRIED CHICKEN\n";
cout<<"---------------------------------\n";
cout<<"No.| Jenis

| 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;

cout<<"Total Bayar Rp. "<<totba[x];


cout<<"\n\n\tAnda Ingin Memesan Lagi? [Y/T] = ";
ulangi = getche();
if (ulangi == 'Y' || ulangi == 'y')
goto pesan;
else
cout<<"\n\n\t\tTerima Kasih";
akhir:
getch( );
}

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 Murni Tugas = Nilai Tugas dikalikan dengan 30%

Nilai Murni UTS = Nilai UTS dikalikan dengan 30%

Nilai Murni UAS = Nilai UAS dikalikan dengan 40%

Nilai Akhir adalah Nilai Murni Tugas + Nilai Murni UTS + Nilai Murni UAS

Ketentuan untuk mendapatkan grade nilai :

Nilai Akhir >= 80 mendapat Grade A

Nilai Akhir >= 70 mendapat Grade B

Nilai Akhir >= 59 mendapat Grade C

Nilai Akhir >= 50 mendapat Grade D

Nilai Akhir < 50 mendapat Grade E

Tampilan yang diinginkan sebagai berikut :


Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
MATERI PEMROGRAMMAN C++
Masukkan Jumlah Mahasiswa : ... <diinput>
Mahasiswa Ke - ... <proses counter>
Nama Mahasiswa : ...... <diinput>
Nilai Tugas
Nilai UTS

: ...... <diinput>
: ...... <diinput>

91

Nilai UAS

: ...... <diinput>

<<Terus berulang tergantung Jumlah Mahasiswa>>


Layar Keluaran
DAFTAR NILAI
MATERI : PEMROGRAMMAN C++
----------------------------------------------------No. Nama Nilai Grade
Mahasiswa ----------------------------Tugas UAS

UAS Akhir

----------------------------------------------------... .... .... .... .... .... .....


... .... .... .... .... .... .....
---------------------------------------------------Listing:
#include "conio.h"
#include "iostream.h"
#include "stdio.h"
#include "iomanip.h"
main()
{
int jum;
char nama[5][5];
float tgs[5];
float uts[5];
float uas[5];
float tot[5];

92

char nilai[5];
char grade[5];
clrscr;
cout<<"

PROGRAM HITUNG NILAI RATA-RATA \n";

cout<<">>===================================<< \n\n";
cout<<"Masukan Jumlah Mahasiswa :";cin>>jum;
for (int a=1; a<=jum; a++)
{
cout<<"\nMahasiswa ke

:"<<a<<endl;

cout<<"Masukan Nama Mahasiswa :";gets(nama[a]);


cout<<"Nilai Tugas

:";cin>>tgs[a];

cout<<"Nilai UTS

:";cin>>uts[a];

cout<<"Nilai UAS

:";cin>>uas[a];

}
cout<<"\n*********************

PROGRAM HITUNG NILAI AKHIR

*************************"<<endl;
cout<<"***********************

MATERI PEMROGRAMMAN C++

*******************"<<endl;
cout<<"No
cout<<"
cout<<"

Nama

Nilai

Mahasiswa

Grade

"

<<endl;

-------------------------------------

"

<<endl;

Tugas

UTS

UAS

Akhir

"

<<endl;

for (int a=1; a<=jum; a++)


{

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

dengan golongan 3, maka

mendapatkan tunjangan sebesasr 15% * Rp. 700,000,- Tunjangan Pendidikan


Kode Pendidikan Persentase
1 SMU 2,5%
2 D3 5%
3 S1 7,5%
95

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

: ... <di input>

Golongan (1/2/3)

: ... <di input>

Pendidikan (1=SMU/2=D3/3=S1) : ... <di input>


Jumlah Jam Kerja : ... <di input>
<<Terus berulang tergantung Jumlah Karyawan>>
PT. STAY COOL
----------------------------------------------------------------No. Nama Tunjangan
Karyawan ----------------- Honor Pendapatan
Jabatan Pdidikan Lembur Pajak Bersih
----------------------------------------------------------------... ........ ..... ....... ..... ..... ........
... ........ ..... ....... ..... ..... ........
----------------------------------------------------------------Total Gaji yang dikeluarkan Rp. ........

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<<"

*Progam Hitung Honor Karyawan Kontrak*"<<endl;

cout<<"

******-PT. STAY COOL-*****"<<endl;

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

PT. STAY COOL\n"<<endl;

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<<"

Total gaji dikeluarkan :"<<total<<endl<<endl;

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 :
-

Jika belanja dibawah Rp. 1,000,000 , maka tidak mendapat diskon.

Jika belanja dimulai

dari Rp.

1,000,000

sampai dengan

Rp.

5.000.000, maka mendapat diskon sebesar 20%.


-

Jika belanja diatas Rp. 5.000.000, maka mendapat diskon sebesar

35%.
Fungsi yang harus dibuat potong() untuk menghitung besar potongan
101

yang akan diberikan. Dengan tampilan yang diinginkan sebagai berikut :


Program Hitung Potongan.
Besar pembelian barang Rp. . <di input >
Besar diskon yang diberikan Rp. < hasil proses >
Besar harga yang harus dibayarkan Rp. < hasil proses >
Listing:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
bayar(long &harga,long diskon,long jumhar)
{
return (jumhar = harga - diskon);
}
potong (long harga,long &diskon)
{
if(harga > 5000000)
{
diskon = harga * 0.35;
}
else if(harga >= 1000000)
{
diskon = harga * 0.2;
}

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;

cout<<"\nBesar Harga yang Harus dibayarkan Rp. "<<bayar(harga, diskon, jumhar);


getch();
}

103

3. Buatlah program untuk menghitung konversi dari derajat fahrenheit ke celcius


Petunjuk :
1.

Gunakan Function Overloading.

2.

Buatlah 3 (tiga) buah fungsi untuk diov erloading, dengan variabel untuk masing-masing

fungsi berbeda-beda.

Untuk fungsi pertama variabel yang digunakan adalah double

Untuk fungsi pertama variabel yang digunakan adalah float

Untuk fungsi pertama variabel yang digunakan adalah integer

3.

Rumus konversi yang digunakan adalah

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

cout << "\n

KONVERSI SUHU DARI FAHRENHEIT KE CELCIUS" << endl;

cout << ">> =========================================== <<" << endl;


cout<< "\nMasukkan suhu dalam Fahrenheit : ";
cin>>cel;
cout << "=============================" << endl;
cout << "\nHasil Konversi Suhu" << endl;
cout << "-------------------" << endl;
cout<<"\nCelcius : "<<((cel-273)*0.8)<<endl;
getch();
clrscr();
goto start;
}

106

4. Buatlah program untuk menghitung jumlah pembayaran pada perpustakaan


"Kecil-Kecilan". Mempunyai ketentuan sebagai berikut:
Kode Jenis
Buku
Jenis Buku
Tarif
Buku
C CerPen ( Kumpulan Cerita Pendek ) 500
K Komik 700
N Novel 1000
Petunjuk Proses :

Buatlah Fungsi Tarif untuk menentukan terif penyewaan

Gunakan Pernyataan If Else

Tampilan Masukan yang diinginkan :


Perpustakaan ".Kecil-Kecilan".
----------------------------Nama Penyewa Buku : .... <diinput>
Kode Buku [C/K/N] : .... <diinput>
Banyak Pinjam : .... <diinput>
Tampilan Keluaran yang diinginkan :
Tarif Sewa Rp. .... <hasil proses>
Jenis Buku : ...... < hasil proses >
Penyewa dengan Nama ..... <hasil proses>
Jumlah Bayar Penyewaan Sebesar Rp. ..... <hasil proses>

107

Listing:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
main()
{
char nama[35], kodeBuku, *Jbuku;
int Bpinjam, Tsewa, jumBar;
cout<<"

Perpustakaan Kecil-Kecilan "<<endl;

cout<<">> ----------------------------------- <<\n"<<endl;


cout<<"Nama Penyewa Buku : ";gets(nama);
ulang:
cout<<"Kode Buku[C/K/N] : ";cin>>kodeBuku;
if(kodeBuku == 'C' || kodeBuku == 'c')
{
Jbuku = "CerPen (Kumpulan Cerita Pendek)";
Tsewa = 500;
}
else if(kodeBuku == 'K' || kodeBuku == 'k')
{
Jbuku = "Komik";
Tsewa = 700;
}

108

else if(kodeBuku == 'N' || kodeBuku == 'n')


{
Jbuku = "Novel";
Tsewa = 1000;
}else{
cout<<"Kode Buku Salah, Mohon Ulangi Lagi"<<endl;
goto ulang;
}
cout<<"Banyak Pinjam\t : ";cin>>Bpinjam;
clrscr();
jumBar = Tsewa * Bpinjam;
cout<<"Tarif Sewa Rp\t\t\t\t"<<Tsewa<<endl;
cout<<"Jenis Buku \t\t\t\t"<<Jbuku<<endl;
cout<<"Penyewa dengan Nama\t\t\t"<<nama<<endl;
cout<<"Jumlah Bayar Penyewaan Sebesar Rp\t"<<jumBar;
getch();
}

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

/*Konstanta Untuk Pemangkatan 2*/

#define pangkat3(n) n*n*n /*Konstanta Untuk Pemangkatan 3*/


void judul()
{
cout<<"

Membuat Fungsi Pemangkatan 2 dan Pemangkatan 3 "<<endl;

}
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

: ... < hasil proses >

Keliling Lingkaran

: ... < hasil proses >

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

cout<<"Maka Keliling lingkaran dengan jari-jari "<<n<<" adalah "<<keliling<<endl;


garis();
getch();
}

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

Program Hitung Nilai Akhir Mata Kuliah


Masukkan Nilai Absensi : <di-input>
Masukkan Nilai Tugas : <di-input>
Masukkan Nilai U.T.S

: <di-input>

Masukkan Nilai U.A.S

: <di-input>

Nilai Murni Absensi = <data-inputan> * 10% = <hasil -proses>


Nilai Murni Tugas

= <data-inputan> * 20% = <hasil-proses>

Nilai Murni U.T.S

= <data-inputan> * 30% = <hasil -proses>

Nilai Murni U.A.S

= <data-inputan> * 40% = <hasil-proses>

Nilai Akhir yang diperoleh sebesar : .. <hasil-proses>

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

data yang diinginkan

untuk

menentukan

banyak data yang akan diproses.


Buatlah sebuah function untuk menghitung nilai Hasil
Nilai Hasil = (Nilai UAS * 40%) + (Nilai UTS * 60%)

Jika Nilai Huruf = A, maka Nilai Hasil >= 80

Jika Nilai Huruf = B, maka Nilai Hasil >= 70

Jika Nilai Huruf = C, maka Nilai Hasil >= 56

Jika Nilai Huruf = D, maka Nilai Hasil >= 47

Jika Nilai Huruf = E, maka Nilai Hasil < 47

Tampilan akhir adalah sebuah tabel, seperti dibawah ini :


Daftar Nilai Mata Kuliah C++
No Nama Nilai Nilai Nilai
Mahasis wa UTS

UAS Akhir Huruf

... ................... ...... ....... ........ ........


... ................... ...... ....... ........ ........

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

cout<<"\t\tDAFTAR NILAI MATA KULIAH C++"<<endl;


cout<<"\t\t================================================="<<endl;
cout<<endl;
cout<<"Masukkan jumlah mahasiswa : ";cin>>j;
cout<<endl;
for(i=1;i<=j;i++)
{
cout<<"Mahasiswa ke- "<<i<<endl;
cout<<"Nama Mahasiswa : ";cin>>mhs[i].nama;
cout<<"Nilai UTS

: ";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

data yang diinginkan

untuk

menentukan

banyak data yang akan diproses.


Buatlah sebuah function untuk menghitung honor lembur
Ketentuan

lembuh dihitung dari kelebihan

jam kerja pegawai

tesebut. Jam kerja normal pegawai sebanyak 8 jam


Jika jumlah jam kerja lebih dari 8 jam, maka kelebihan jam
kerja dikalikan Rp. 5000 + Honor harian
Jika jumlah jam kerja hanya 8 jam tidak mendapat honor
lembur, hanya mendapat honor harian saja
Tampilan akhir adalah sebuah tabel, seperti dibawah ini :
Daftar Honor Pegawai Honorer
PT. ALAKADARNYA
Listing:
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <iomanip.h>
struct
{

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);

cout<<"\t\tJumlah Jam Kerja : "; cin>>honor[i].jam;


cout<<endl;
honor[i].harian = 15000;
honor[i].lebih = honor[i].jam - 8;
honor[i].jumlah = honor[i].harian + (8000 * honor[i].lebih);
total = total + honor[i].jumlah;
}
clrscr();
garis();
cout<<"\t\t Daftar Honor Pegawai Honorer "<<endl;
cout<<"\t\t

PT. ALAKADARNYA"<<endl;

123

garis();
cout<<endl;
garis();
cout<<"\t| No. | Nama | Jumlah | Kelebihan | Jumlah |"<<endl;
cout<<"\t|

| Pegawai | Jam Kerja | Jam Kerja | Honor |"<<endl;

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

cout<<"\tTotal Honor Keseluruhan :

\t"<<n<<" orang"<<endl;
\tRp. "<<total<<endl;

garis();

getch();
}

124

125

BAB IV ANALISA HASIL PERCOBAAN


Untuk menciptakan suatu struktur bahasa pemrograman yang baik harus memenuhi
beberapa kriteria yaitu :
Suatu bahasa pemrograman ditulis secara urut dan sesuai dengan prosedurnya.
Dalam penulisan struktur bahasa pemrograman sebaiknya perlu memperhatikan tipe-tipe data
yang akan digunakan dalam pembuatan program.
Pada saat bagian deklarasi sebaiknya perlu memperhatikan syarat-syarat atau kententuanketentuan dalam suatu bahasa pemrograman.
Pada saat bagian penulisan statement dalam suatu bahasa pemrograman sebaiknya sesuai dengan
syarat atau ketentuan dari suatu bahasa pemrograman masing-masing.

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

Anda mungkin juga menyukai