Anda di halaman 1dari 70

Algoritma dan

Apakah kalian pernah mengirim e-moil kepada seseorang? Bagaimana [angkah-tangkah mengirim e-mail
tersebut? Pertama-tama kalian harus login ke situs [ayanan e-moil, kemudian pilih tutis pesan baru,
masukkane-moiltujuan, subjek, dan isi pesan, tatu ktik kirim, dane-moilsudah terkirim ke penerima.
Langkah-tangkah atau proses yangtersusun sistematis untuk memecahkan suatu masalah disebut dengan
algoritma. Bagaimana menyajikan suatu algoritma? Bagaimana cara menutis dan memahami algoritma?
Untuk tebih memahami atgoritma dan pemrograman, mari pelajari dalam bab ini.

Tujuan Pembelajaran
Setelah mempelajari materi pada bab ini, kalian diharapkan mampu:
1. menutis dan membaca atgoritma sesuai dengan notasi dan menggunakan bahasa pemrograman
ketika melakukan proses pemrograman ;
2. menulis program sederhana dengan satu program utama;
3. mengombinasikan struktur kontrol dan mengetahui fungsinya.

http s : / / b i t. ly / 3z 5 x z9 Y
Peta Konsep

.ir,, ::
W,;t
ii''t:i'r
i'|:'tLb,'
ii.&I ,
W:tlill':i

ffi I

terdiridari

o algoritma
o flowchort
o pemrograman
o problem solving
o pseudocode
o coding
o debugging

lnformatika KelasX
ru
Sofiware apa saia yane pernah kalian gunakan?
Apakah terdapat pada Gambar 7.1,?
EItr
Apakah pernah tedintas dipikiran kalian,
fror LR"
bagatmana c ta membuat software tersebut? Dasar
dalam membuat suatu software adalah program.
[.. GD
Program adalah rangkaian berupa intruksi-intruksi
tr
1?E
y^fig memiliki tujuan tertentu. Untuk membuat
suatu program dibutuhkan bahasa pemrogr^m^n,
tetapi sebelum mempela jan bahasa pemro gr^m^n
kalian harus mempel aiad terlebih dahulu @t
algoritma. Namun, sebelum kalian mempelaiari
materi pada bab ini, kerjakan soal-soal berikut!
tr
1,. Ap, itu berpikir komputasional?
2. Sebutkan dan jelaskan 4 fondasi berpikir komputasional! Sumber: https : / /b it.ly /2 XtZtl 0
Gambar 7.1 Macam-macam softwore

A. Algoritma
Apakah kalian pernah mendengar kata algoritma? Apa saia yang dapat
dilakukan dengan algoritma? Dengan algoritm^, kalian dapat membuat
program, software, atav website.

Sumberi https :/ /bit.ly/ 3pnQCtw


Gambar 7.2 Algoritma

Algoritma merupakan langkah terstruktur dan terbatas y^ng


logis untuk memecahkan permasalahan komputasi. Suatu algoritma
menekankan langkah yang logis dan sistematis (terstruktur) untuk
menyelesukan suatu masalah. Maka dari itu langkah atau urutan yang
digunakan dalam algoritma harus runtut sesuai dengan afrrran dan tidak
boleh memiliki dua arti atau ambigu.

Bab Vll Algoritma dan Pemrograman


Algoritma yang dibuat harus dapat menggambarkan penyelesaian
da:n suatu masalah dan harus dimengerti oleh orang lain, sehingga
perlu mempelajan cara membuat algoritma y^ng baik dan benar untuk
membuat suatu program . Dapat diartikan pula algoritma merup akan
tahapan awal y^ng harus dilakukan ketika ingin membuat suatu program,
apabtla algoritma tidak dibuat dengan baik dan benar maka ketika proses
pembuatan program akan mengalami kesulitan.
Untuk menuliskan algoritma tidak pedu menggunakan simbol-
simbol tertentu dari bahasa pemrogr^m n, tetapi dapat menggunakan
simbol-simbol yang bersifat umum. Karena program ditulis untuk dapat
dimengerti oleh mesin dan algoritma ditulis untuk dapat dimengerti
oleh manusia. Di bab ini kalian akan mempelajan ttga car^ menyajtkan
algoritm^ y^ttu, simbol instruksi, diagram ahr (flowcharf , dan kode semu
(pseudocode). Diharapkan dengan mempelajari penulisan algoritm^ y^rtg
benar maka akan mempermudah kalian ketika akan mengimplementasikan
menjadi suatu program.

Tabel 7.1 Contoh Simbol lnstruksi


1. Simbol lnstruksi
Simbol instruksi merupakan salah satu cara untuk menyajikan atau
Penjumlahan menuliskan proses be\alannya suatu algoritma. Simbol-simbol yang
dipakai adalah simbol yang sudah dikenal secara umum. Perhatikan
Pengurangan
contoh simbol instruksi pada Tabel 7 .1,.
* Perkalian Contoh penggunaan simbol instruksi untuk mencari volume dari
I Pembagian sebuah tabung dapat dilihat pada Gambar 7.3.

Lebih besar dari

Lebih kurang dari


Algoritma Volume Tabung
1. Start
e Nilaiyang berada di
2 . Masukkan j ari-j ari r
ruas kanan diberikan
kepada ruas kiri 3. Masukkan tinggi t
4 . Deklarasikan pi (n) : 3, L4
5 . Hitung volume V .- pi * r* r*t
6. Tampilkan nilai V
1. End
Sumber: Dokumen penerbit
Gambar 7.3 Contoh penggunaan simbol instruksi

2. Diagram Alir (Flowchartl


Diagram ahr atau yang lebih dikenal dengan flowchart merupakan arus
logika dari suatu data yang akan diproses dan awal sampai akhir suatu
program. Berikut beberapa simbol flowchart y^ng digunakan sesuai dengan
standar Arnerican National Standards Institute (ANSD atau The International
OrganiTation for Standardiqation QSO) yrtg disajikan pada Tabel 7.2.

lnformatika Kelas X
Tabel 7.2 Simbol Flowchorf dan Fungsinya

Flowline (Garis alir) Menunjukkan arah aliran suatu program dariawal sampaiakhir.

Terminator Mbnunjukkan titik awal (mulailatau titik akhir (selesai) dari


suatu program.

Data lnput Menunjukkan titik ketika program menerima masukkan data


(Masukkan) atau Output (Keluaran) atau menampilkan keluaran data.

Process (Proses) Menunjukkan komputasi/proses yang dikerjakan oleh suatu


program seperti operasi aritmatika.

Decision (Keputusan) Menu njukka n operasi perba ndinga n logi ka/kond isi beru pa titi k
percabangan yang salah satu cabangnya bisa dilalui program.

P red ifi ned P rocess (Su bprogra m) Menunjukkan proses atau kegiatan lain yang lebih detail dan
dijelaskan terpisah atau sebelumnya

On poge reference (Penghubung Menunjukkan hubungan suatu titik dengan titik lain (proses)
dalam halaman) yang terputus tetapi masih di halaman yang sama.

Off poge reference (Penghubung Menunjukkan hubungan suatu titik dengan titik lain (proses)
antar halaman) yang terputus pada halaman yang berbeda.

Berikut beberapa contoh penggunaan dtagram altr (flowchart) dari


beberapa proses y^tg biasa kalian temui dikehidupan sehari-hai.

a. Flowcbdrt '1-.: Mengirim Surat


Perhatikan contoh flowcbart mengirim surat seperti yang ditunjukkan
pada Tabel 7.3.

Tabel 7.3 Flowchort Mengirim Surat

Flowchort di samping dibaca mulai dari simbol Stort, kemudian


Pergi ke kantor pos
mengikutiarah panah.

Masukkan surat ke Untuk melakukan kirim surat maka perlu beberapa proses sebelum
dalam amplop sampai di kantor pos.

Tutup amplop
Di kantor pos'memiliki beberapa kondisiantara lain kantor pos
buka dan kantor pos tutup.
Bayar biaya kirim
Tulis alamat tujuan Apabila kantor pos buka maka akan dilanjutkan ke proses
selanjutnya (Y), namun apabila kantor pos tutup maka akan
kembali ke proses.sebelumnya (T).

Atgoritma berakhir dengan menggunakan simbo I End.

Bab Vll Algoritma dan Pemrograman


b. Flowcbctrt 2: Memasak Nasi
Perhatikan contoh flowchart memasak nasi seperti y^ng ditunjukkan pada
Tabel 7.4.

Tabel 7.4 Flowchorf Memasak Nasi

Flowchort disamping dibaca mulai dari simbolTerminator,


kemudian mengikuti arah panah.

Mencolokkan jek r'ce cooker


Untuk memasak nasi maka perlu data berupa mencolokkan ke
ke dalam lubang stop kontak
lubang stopkontak, apabila hal initidak dilakukan maka flowchart
tidak berjalan sesuai alur.

Pada flowchart di samping berisi simbol keputusan untuk


menentukan nasi sudah matang atau belum dengan melihat
perubahan warna tombol.
Menunggu warna
lampu indikator
berubah jadi hijau Flowchart di samping merupakan proses memasak nasi sehingga
perlu proses untuk mengecek nasi sudah matang atau belum.
Apabila belum maka tunggu sampaitombol berubah warna,
namun jika nasi sudah matang yang ditunjukkan dengan tombol
warna hijau maka proses memasak nasi sudah selesai.

c. Flouchdrt 3: Menghitung Luas Persegi Paniang


Perhatikan contohflowchart menghirung luas persegp panjang seperti yang
ditunfukkan pada Tabel 7.5.

Tabel 7.5 Flowchort Menghitung Luas Persegi Panjang

Flowchort di samping dibaca mulai dari simbol Mulai, kemudian


mengikuti arah panah.

Untuk menghitung luas persegi panjang diperlukan data berupa


panjang dan lebar. Data panjang dan lebar dibaca dengan kata
kunci input dengan variabel panjang dan lebar.

Setelah itu dilakukan proses matematika untuk menghitung luas


persegi panjang dengan rumus, luas = panjang x lebar. Hasil dari
perhitungan tersebut disim pan.denga n va ria bel luas.

Untuk memperoleh jawaban maka komputer perlu perintah


spesifik sehingga dapat menampilkan jawaban. Flowchart di
samping menggunakan kata kunci Cetak untuk menampilkan hasil
dari proses sebelumnya.

Algoritma berikhir dengan simbol Selesai.

rc lnformatika Kelas X
d. Flowtcbctrt 4: Menghitung Keliling Lingkaran
Perhatikan contoh flowcbart menghirung keliling lingkaran seperti yang
dituniukkan pada Tabel 7.6.

Tabel 7.6 Flowchort Menghitung Keliling Lingkaran

Flowchortdi samping dibaca mulai dari simbol Start, kemudian


mengikuti arah panah.

Untuk menghitung keliling lingkaran maka diperlukan nilaivariabel


phi (n)yang memiliki nilaiyang konstan yaitu 3,L4.

Kemudian masukkan data variabeljari-jari (r) dengan kata kunci


input.

Setelah itu dilakukan proses matematika untuk menghitung


keliling lingkaran dengan rumus, K ='lr:n*t Hasil dari perhitungan
K=2*rt*r tersebut disimpan dengan variabel K.

Untuk memperoleh jawaban maka/owchart menggunakan kata


kunci Cetak untuk menampilkan hasildari proses sebelumnya.

Algoritma berakhir dengan simbol End.

e. Flowcbdrt 5: Menentukan Bilangan Ganiil Genap


Perhatikan contohflowcbart menenrukan bilangan ganjil dan genap seperti
y^ng ditunfukkan pada Tabel 7 .7 .
Tabel 7.7 Flowchort Menentukan Bilangan Ganjil Genap

Flowchort di samping dibaca mulai dari simbol Mulai, kemudian


mengikuti arah panah.

Untuk menentukan bilangan ganjil atau genap maka masukkan


yang diberikan bersifat adaptif dan memilikibeberapa
Bagi bilangan dengan 2 kemungkinan. Hasil dari program ini tergantung pada kondisi di
simbol keputusan.

Simbol keputusan digunakan untuk menentukan apakah nilaiyang


dimasukkan memilikisisa bagi 0 atau tidak. Apabila bersisa 0 maka
akan menampilkan data genap namun jika bersisa 1 maka akan
menampilkan data ganiil.

Algoritma berakhir dengan simbol Selesai.

Bab Vll Algoritma dan Pemrograman


3. Kode Semu (Pse udocodel
merupakan salah satu penyajian algoritma dengan menggunakan
Pseudocode
kode y^ng hampir mirip dengan kode pemrogr y^ng sebenarnya.
^man
STalaupun memiliki kemiripzrt, kode tersebut hanya dapat dimengerti
oleh manusia dan tidak dapat dimengerti atau dibaca oleh komputer.
Pseudocode digunakan untuk melengkapi simbol instruksi dan
flowcbart
sehingga langkah-langkah proses lebih detail.
Pseudocode tidak memiliki khusus namun memiliki beberapa
^tutran
prinsip yzng pedu diperhatikan antara lain, satu baris hanya untuk satu
Perny^taan dan pentingnya melakukan indentasi. Indentasi menunjukkan
pernyataan tersebut merupakan bagian dari pernyataan sebelumnya.
C ontoh- contohJlo wcb art s eb elumn y a, dapat dis aj ikan dengan p s e u do co de
seperti berikut.

a. Psewdocode 1: Mengirim Surat


Perhatikan contoh pseadocode mengqrim surat seperti y^ng ditunjukkan
pada Tabel 7.8.

Tabe! 7.8 Pseudocode Mengirim Surat

Memasukkan surat ke dalam amplop, Algoritmo Mengirim Surot


ditutup, tulis alamat, dan pergi ke kantor Proses: memasukkan surat ke amplop, menutup amplop, menulis
pos. alomot, dan pergi ke kontor pos
2. Jika kantor pos buka, maka proses biaya
kirim dilakukan. SfuN
3. Jika kantor pos tutup, maka proses akan Proses ke kontor pos
diulang untuk pergi ke kantor pos kembali. lf kantor pos buko = boyor biaya kirim
4. Selesai. Else
Kontor pos tutup = perei ke kantor pos kembali
End

b. Pseudocode 2: Memasak Nasi


Perhatikan contoh pseudocode memasak nasi seperti y^ng ditunjukkan
pada Tabel 7 .9.

Tabel 7.9 Pseudocode Memosak Nosi

1. Baca stopkontak dicolokkan. Algoritmo Memasok Nasi


2. Jika tombol belum berubah hijau, maka nasi In put : stopkonto k d icolokka n
belum matang. Output: hasil proses
3. Jika tombolsudah berubah hijau, maka nasi
sudah matang matang. Start
4. Cetak hasil proses. tn p ut stop ko nto k' d i co t okko n
lf tombol belum hijau = belum motang

lnformatika Kelas X
Else
Tombolsudoh hijau = nosi matang
Print hosil
End

c. Psewdocode 3: Menghitung Luas Persegi Paniang


Perhatikan contoh pseadocode menglirung luas persegi panj^ng seperti
yang ditunjukkan pada Tabel 7.10.

Tabel 7.LO Pseudocode Menghitung Luas Persegi Panjang

1. Baca panjang dan lebar. Algoritmo Menghitung Luas Persegi Ponjong


2. Hitung luas dengan mengalikan panjang dan lnput: niloi panjong dan lebor
lebar. Output: Luos persegi ponjong
3. Cetak luas.
Start
lnput ponjong dan lebar
Luas ? panjang*lebar
Print luas
End

d. Psewdocode 4: Menghitung Keliling Lingkaran


Perhatikan contoh pseadocode menentukan keliling lingkaran seperti y^ng
ditunjukkan pada Tabel 7 .1,1.

Tabel 7.tt Pseudocode Menghitung Keliling Lingkaran

L. Nilaiawaln. Algoritma Menghitung Keliling Lingkoran


2. Baca nilai r. lnput: n don r
3. Hitung keliling dengan mengalikan 2 dengan Output: Keliling lingkoran
n dan r.
4. Cetak keliling. Start
Niloi owaln
lnput jari-jari
Keliling ? 2* n*r
Print keliling
End

e. Pseudocode 5: Menentukan Bilangan Ganiil Genap


Perhatikan contoh pseudocode menentukan bilangan ganjil genap seperti
y^ng ditunjukkan pada Tabel 7.1,2.

Bab Vll Algoritma dan Pemrograman


Tabel 7.t2 Pseudocode Menentukan Bilangan Ganjil Genap

Jika bilangan dibagi 2 memilikisisa hasil 0, Algoritmo Menentukon Bilongan Genop Gonjit
maka merupakan bilangan genap lnput: bilangan
2. Jika bilangan dibagi 2 memiliki sisa hasil 1, Output: genap atau gonjil
maka merupakan bilangan ganjil.
3. Cetak hasil. Start
lnput bilangan
lfsisa0-genap
Else
Sisa 7 =ganjil
Print hasil
End

Keriakan soal-soal berikut secara individul


1. Buatlah suatu algoritma dengan menggunakan simbol instruksi untuk menghitung tuas persegi!
2. Buatlah flowchart dan pseudocode untuk menentukan luas permukaan kubus!
3. Apakah dengan membuat algoritma dapat membantu kalian ketika menyelesaikan suatu masalah? Jelaskan!
4. Dari ketiga penyajian algoritma yang sudah dipelajari, menurut kalian manakah yang paling mudah? Jelaskan!

Kerjakan tugas berikut secara berkelompokl


Buatlah simbol instruksi, flowchart, dan pseudocode dari proses berikut!
Seorang petugas kasir buku melakukan perhitungan ketika pelanggan melakukan pembelian buku. petugas kasir inidibantu
dengan mesin untuk menangani proses pembayaran. Mesin menerima masukan berupa total yang harus dibayarkan
dan total uang pembayaran pelanggan. Apabita jumlah uang pembayaran lebih besar atau sama dengan total yang ha-
rus dibayarkan maka mesin akan menunjukkan kembalian. Namun apabita sebaliknya maka mesin akan menampilkan
"pembayaran kurang".

Setelah memahami membuat dan membaca suaru algoritma, maka


langkah selanjutnya adalah membuar program. program dibuat dengan
menggunakan bahasa pemrograman, bahasa pemrograman yang digunakan
dalam bab ini yairu bahasa C dan C++.

B. Bahasa Pemrograman prosedural


Sebuah program dibuat dengan menggunakan bahasa pemrograman.
Membuat sebuah program harus melalui proses coding (menulis kode).
Coding dimulai dengan membaca terlebih dahulu contoh program yang
dapar diladikan pola pengembangan.

lnformatika Kelas X
. Terdapat banyak jenis bahasa pemrograman dan masing-masing memiliki
kelebihan dan kekurangan. Di bab ini kalian akan mempelajari bahasa
pemrograman C dan C++ yang termasuk dalam bahasa Pemrograman
prosedural.

Charles Babbage 1L972- 1871)

Charles Babbage lahir pada tanggal 26 Desember t972 di Southwark, London. la adalah orang
yang pertama kali menemukan cikal bakal komputer dan mengemukakan gagasan bahwa
komputer dapat diprogram. Pada tahun L82L Babbage menemukan "Different Engine",
Sebuahmesinyangdapatmenyusuntabelmatematika.Kemudianpadatahun1855,
ia menemukan 'Analytical Engine" yang mampu menyelesaikan berbagai jenis operasi
matematika.

Su m ber: https ://www. biog rofi ku. co m/bi og rafi -ch a rl e s-ba bba g e- pe ne m u/

C. Bahasa Pemrograman C dan C++


Apakah kalian pernah mendengar bahasa C atat C++? Apa perbedaan
kedua bahasa tersebut? Bahasa C merupakan bahasa yang dikembangkan
di Bell lab pada tahun 1,972 oleh Brian \M Kernighan dan Denies M'
Ritchie. Bahasa C merup akan turunan danbahasa sebelumflya yaitu bahasa
B. Bahas a C awalnya dirancang atau dibuat untuk bahasa pemrogr^m n
pada sistem UNIX.

Sumber: https: / /bit.ly /2 Zb uU 0w


Gambar 7.4 Logo C dan C++

Bahasa C++ ditemukan pertama kali oleh Biarne Stroustrup pada


pada awal tahun 1980-an di Betl lab. C++ adalah salah satu bahasa
pemrogr am n y^rlg paling populer dan terbukti banyak digunakan untuk
mengembhngkan program aplikasi berskala besar seperti games, program
sains, embedded slstem, dan lain-lain.

1. Seiarah Singkat C dan C++

Pada tahun 1,978, Brian dan Dennis M. Ritchie dari AT


W Kerninghan
& T Laboratories melakukan pengembangan bahasa B meniadi bahasa C.
Bahasa B yang sebelumnya d"iciptakan oleh Ken Thompson'sebenarnya
merupakan pengembangan dan bahasa B asi c C o m bin e d Program m ing l-.angu age
(BCPL) yang diciptakan oleh Martin Richard.

Bab Vll Algoritma dan Pemrograman


Tahun 1980, bahasa C mulai banyak digunakan untuk pemrogr amzrn
di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Bahasa
C meniadi bahasa paling populer diantara bahasa lainnya, seperti Pascal,
Basic, atau Fortran. Peristiwa penting terjadi di tahun 1,g}g, dunia
pemrogr2;man C mengeluarkan standar bahasa C oleh American lYational
Standards Institute (ANSD. Bahasa C yang diciptakan oleh Kerninghan &
Ritchie kemudian dikenal dengan nam^ ANSI C.
Awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories
mengembangkan bahasa C. Pada tahun 1985, lahir secara resmi bahasa
baru y^ng merupakan hasil pengemb bahasa C yang dikenal dengan
^ngan
nama C++. Simbol ** merupakan operator untuk melakukan operasi
penaikan untuk menunjukkan bahwa bahasa baru ini merupakan versi
y^ng lebih canggih dari bahasa C.

2, Perbedaan Penulisan Bahasa C dan C++


Setiap melakukan penulisan program dalam bahasa C atau C++ pasti
memiliki sebuah fungsi utama dengan nama main ( ) . Di bawah ini
merupakan contoh dari kerangka umum kode program y^ng ditulis
dalam bahasa C dan C++.
1. contoh program yang ditulis dalam bahasa c, seperti yang
ditunjukkan pada Gambar 7.5.

#include <stdio. h>


/ / Prototipe fungsi
tipe_data nama_fungsil (parameterl, parameter2 | .. . ) ;
tipe_data nama_fungsi2 (parameterl, parameter2 , . . .l ;

// Fungsi Utama
int main (void) {
S t a temen t_yang_a kan_di I a ku kan ;

return 0;

Sumberl Dokumen penerbit


Gambar 7.5 Program dengan bahasa C

Perhatikan kata void pada Gambar Di dalam bahasa ckatavoid


7.5.
masih banyak dijumpai, namun pada program yang menggun akan
bahasa C++ dihindari pengguna nnya. perhatikan pula Gambar 7.6.

!f!! lnformatika KetasX


void main O t
, Statement yang akan dilakukan;

Sumber: Dokumen penerbit


Gambar 7.6 Kata void pada program bahasa C

Program diatas (Gambar 7.6) bedaku untuk bahasa C dan C++


versi lama (klasik).
2. Contoh program y^ng ditulis dalam bahasa C++, seperti y^ng
ditunjukkan pada Gambar 7.7.

#include (iostream>
using namespace std;
/ / Prototipe fungsi
tipe_data nama_fungsiL (parameterL, parameter2 | .. . ) ;
tipe_data nama_fungsi2 (parameterl, parameter2 , . . .l 1

// Eungsi Utama
int main O {
Statement yang akan dilakukan;

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.7 Program dengan bahasa C++

Dari Gambar 7.7 menunjukkan pada program bahasa C++ rth


header yang digunakan untuk melakukan proses Input/Onry^ G/O;
standar adilah (iostream>, sedangkan pada bahasa Crth header (file
dengan ekstensi .h) yang digunakan adalah <stdio. h>. Penulisan
"Using namespace std; " iug menunjukkan bahwa pogram
y^ng dibuat menggunakan bahasa C++.

Program Menggunakan Bahasa C


Pada contoh berikut, program yang dibuat meminta user untuk
memasukkan suatu bilangan bulat. Selanjutnyz, program ini akan
menamPilkan kembali bilangan y^ng telah dimasukkan sebelumnya.
Untuk lebih jelasnya, perhatikan contoh program dengan bahasa seperti
y^ng ditunjukkan pada Gambar 7.8.

Bab Vtl Atgoritma dan pemrograman


Iil
#include (stdio. h)
int main (void) {
int x;
/ * Menampilkan teks untuk informasi * /
printf ("Masukkan bilangan bulatI ") ;
/ * Membaca nilai dari keyboard. dan menyimpannya ke
dalam variabel x */
scanf ("%drt, &x);
/ * Menampilkan nilai yang telah dimasukkan * /
printf ("Bilangan yang telah dimasukkan adalah gd", x);
return 0;
)

Sumber: Dokumen penerbit


Gambar 7.8 Program dengan bahasa C

File heade, (fr|, dengan ekstensi .h) merupakan file yang berisikan
deklarasi, bisa berupa konstanta, fungsi, kelas, narnespace, dan sebagainya.

b. Program Menggunakan Bahasa C++


Perhatikan contoh program dengan bahasa C++ seperti yangditunjukkan
pada Gambar 7.9.

#incLude (iostream>
using namespace std;
int main O {
int x;
/ * Menampilkan teks untuk informas j_ * /
cout << I'Masukkan bilangan bulat I " ,.

/* Membaca nilai dari keyboard dan menyimpannya ke


dalam variabel x */

/* Menampilkan nilai yang telah dimasukkan * /


cout<<''BiIanganyangte1ahdimasukkanada1ahlr<<
return 0;
)

Sumber: Dokumen penerbit


Gambar 7.9 Program dengan bahasa C++

tnformatika Ketas
!f[l X
C++ menyediakan fle header untuk berbagai keperluan. Sebagian
besar fle beader dalam C++ standar sudah tidak memiliki ekstensi .h,
seperti contoh berikut ini.
a. (iostream)
b. <string>
c. (cstring)
d. <cstdlib>
Dalam bahasa C++ klasik, ekstensi .h waiib disertakan, seperti Tabel 7.13 Perubahan Nama File
Heoder Milik Bahasa C Menjadi
contoh berikut ini.
Bahasa C++
a. (iostream.h)
b. <string.h>

Bahasa C++ juga mengenal semua file header yang dimiliki bahasa
<stdio.h> <cstdio>

C, namun semua n^m fle beader tersebut sudah mengalami perubahan. <string.h> <cstring>
Pada buku Tbe C++ Programming l-angaage, Biarne Stroustrup (pencipta <stdlib.h> <cstdlib>
C++; menyat^kan tiap fle header dalam C++ yang diawali huruf 'c'
adalah sama denganfle headeryang dimiliki bahasa C. Perhatikan contoh
perbedaan atau perubahan bahasa C dan C++ seperti yang dituniukkan t,
a
pada Tabel 7.1,3.
Com pi I er ada lah perangkat lu nak
Sedangkan file beader larn yang tidak diawali dengan huruf 'c' komputer yang menerjemahkan
merupakan library murni milik bahasa C++ dan tidak dikenal oleh bahasa kode program yang ditulis dalam
C, seperti contoh berikut ini. bahasa tingkat tinggi seperti C/
a. (iostream) C++ ke dalam bahasa instruksi
yang dapat dipahami oleh kom-
b. <string> puter.
c. (new)
d. <list>
3. Membuat Program Bahasa C++
Untuk membuat program dalam bahasa C++, kalian memerlukan dua
sofiware, yaitu sebagai berikut.
Text Editor, untuk menuliskan kode-kode Program.
^.
b. C++ Conpiler, untuk menerjemahkan kode bahasa C++ meniadi
Pfogram.
Perhatikan langkah-langkah membuat sebuah pfogfam sebagai
berikut.

a. Instalasi dan Konfigurasi Software Dev C++


Padabab ini kalian akan menggunakan sofhaare Dev-C+* yang merupakan
sebuah C/C++ dalam Integrated Deuelopment Enaironment (IDE) yang sudah
dilengkapi MinGW C/C++ Compiler. Instalasi software Dev-C+* sangat
mudah untuk dilakukan, berikut ini adalah tahapan dan proses instalasi Sumber: https: / / b it.ly /3 chtt4c
serta konfigurasi Dev-C++. Gambar 7.10 Logo sofiwore Dev-C++

Bab Vll Algoritma dan Pemrograman


r
1) Jalankan fle inCIaller Dev-C+*, lalu klik I Agree.

fl oo-c*+ 5.11 t-) x


Licemengpeement
Please revieyy he fense terms befure instdling Dev-C++ S.11. g
hoes PagB t wt b se lhe rcftd0n ageomort
DeFC++ is dlstrlfoiEd wdertre GMI General R b$c tioense.
sne to read t befrre ustg Derr-C#.

GC[' GEIGRAT RAIIC I.ICITSE

Ver$on 2, rme f99f


Gopyrlglt(C) 1989, 1991 Fee Softrue Fomdatbn, frc
675llassAve, AntrUge, MA 02139, tffiA
Bnt)rone b pcmaed b of and ebub rrert tfn ophs
of &ts lhense doqmert, ht dangng fr b not aililrcd.
r you ampt tlto brrrta dtha ryeemefi, dct r AgrB b orffrn yo lrurt ampt he
agreementb hshl llanGr+ 5.11.

Nullsoft Install SysEm u2.46

ffiilffi
Sumber: http s: / /b itly / 3 7 T I erN
Gambar 7.tl File instoller Dev-C++

2) Pilih Fall,latu klik Next.

EI oo-c*+ 5.11 'lLf x


Glpce Coqonellr
Clrcose wtrf$ feilrcs of t)*C++ 5.tt yur waltb tnstdl. g
choctthe onpureltg you rwtb rr*il ura mdrect $e ompon€ilsyur dontmil b
hctdl Cl* toCb sillur.
Sehcttraqpe of H:
Or, *hctdEogdond
@mpon€rt8you wf$b
rE OarC++ program nes (re$dred)
i-MHonAes
l#: i-E rorrtcc 4.9.2 orpiler
|Mt.angngeflcs
EElnsOae c ild c++ffhs b DerrC++
rilgsr,ort"tt
LE n"r*,r" old onfiolrdonfles
rDeeoffin I
I
Seoe rcq*ed: :X6.8tO
I fosimr ytrr rpuse over a conprwttE see its
l*;;a'
I

i
I

Nrllsoft Insbll Sysbm v2..16

Sumber: hf//,s :/ /biLly /3 ow rBrR


Gambar 7.12 Memilih Ful/

lnformatika Kelas X
3) Tentukan direktori tuiuan instalasi, lalu klik Install.

Clroe HC tocdist
Choose he trder h wtich b irsd Dev{++ 5.11.

Set"p $,1hslal Dev{++ 5. ll h t}re feloniU trdef . To irsd h a dftrent frlder, d*


emrsc ad sekct aotls Hder. CI*Insd b sft
thc hstalatm.

C: Fogran Fles (x86)Pev{-Pp

Space req.ied: 36.$18


Spaae avd#e:67.8G8

I,Jrtllsof t Inst.:ll 5yslern ,,,:,4tj

Sumber: https: / /bit.ly /3w NvT3Q


Gambar 7.13 Menentukan direktori tujuan instalasi

4) Tunggu beberapa saat sampai proses instalasi selesai.


lfl Dev-c*+ 5.11
lnstalling
Please wait while Dsr-C++ 5.11 is being installed.

E*ract: msg_O3.b<t
Ertract: msg_04.bt
Extract: msg_05.btt
Ecract: msg_06.bc
Extract: rnsg-O7.bC
Extract: msg_08.bC
E*ract: msg-O9.btt
Extract: msg_l0.b<t
Edrad: msg_11.b<t
E*ract: m+12.b<t ffir

I'lullsnft Install Systrrn',i2.46

ffi
Sumber: https : / /bit.ly /3 DmjAl 0
Gambar 7.14 Proses instalasi

Bab Vtt Algoritma dan pemrograman


f
5) Klik Finish untuk mengakhiri proses instalasi. Sekarang kalian sudah
bisa menggunakan sofhaare Dev-C++.

El oev-c*+ 5.11

Completing the Elev-C++ 5.11


Setup Wizard
D€nrC++ 5.11 has been installed on your computer.

Oick Finish to close this w2ard.

pnun Detf.C+r 5.11

Fhfilr

Sumber: h ttp s : // b i t.ly / 3 FOAiXO

Gambar 7.15 Akhir instalasi software Dev-C++.

b. Membuat Program "I Love C++"


Untuk memulai membuat program dalam bahasa C+ + dengan
Dev-C**, ikuti langkah-langkah berikut ini.
menggunakan
1) Jalankan software Dev-C++.
2) Pilih menu File + I\ew ) PrEect, seperti yang ditunjukkan pada
Gambar 7.16.

3 Dar-C++ 5.t0
{il eait scarch viar [xccutc Tools AStylc Window Hclp
SourccFrh Cbl+N

I op.n* Ctrl+Q
I s.,ro' Ctrl. S ! nro.leci Temptate...
I Sare As...

I Su'r" Pro.iect /r,;


f Save All Shrft . (111* 5

I ctor.
I Ctore Pro.lect
I Close att Sh[t-Ctrl"W

lmpoil
l geort

Sumber: http s : / /bit. /


ly 3 0 x0 AyA

Gamber 7.16 Membuat project baru

tnformatika KetasX
!!!|
3) Dalam Code Editor, tuliskan kode program seperti yang dituniukkan
pada Gambar 7 .1,7.

#include (iostream>
using namespace std;
i-nt main O {

return 0;

Sumber: Dokumen Penerbit


Gambar 7.17 Program "l Love C++"

4) Pilih menu File + untrik melakukan penyimpananfile Pfogfam.


Saae

5) Tulis n m fle dengan "love.cPP", kemudian simpan di derektori


keria kalian.

c. Kompilasi dan Eksekusi Program


Setelah membuat kode program dan menyimpan didirektonkeria,langkah
berikutny^ yalt1r melakukan kompilasi terhadap kode program tersebut.
Pada sofhttare Dev-C**, kalian hanya pedu memilih menu Execate )
Compik f9) untuk melakukan kompilasi.

!E or"p** . i n*.rrr.* fi compile Log r/ o*r9 . |[ r"d Rc$lts fi oorc

r._ Coqrllatl.oa resul.ts. .


I

Errors:
I
f] Slprtcn compilcr prthg
Ifarni,ngs:
O
0

sumber: https: / /bit.ly/ 3 Hj Elv P


Gambar 7.LB Errors dan Wornings bernilai 0

Pastikan Ercors dan lYarnings bernilai 0, seperti y^tg ditunjukkan


pzda Gambar 7.1,8. Hal tersebut menuniukkan kode y^ng telah kalian
tulis benar, tidak ada kesalahan peringatan. Sehingga langkah
^t^lr
selanjutnya dapat dilakukan.
Selanjutnya, eksekusi atau menjalankan program dengan menu Execate
) Rsn €10). Hasilnya akan tampak seperti Gambar 7.1,9.

.- Bab Vll Algoritma dan Pemrograman


I Love C++

Process exited after 0 . 1 9 seconds with return value 0


Press any key to continue . . .

Sumber: Dokumen penerbit


Gambar 7.19 Hasil eksekusi

Nilai 0 yang terdapat pada Gambar 7.19 menunjukkan bahwa program


tersebut dihentikan secara normal (tanpa kesalahan).

Keriakan tugas berikut secara individu!


Silakan kalian download softwore Dev-C++, kemudian lakukan instalasi. Setelah selesai melaku{<an instalasi, kemudian
buatlah program seperti contoh di atas kemudian eksekusi. Setelah program berhasil, ubahlah program tersebut sehingga
tampilan hasil eksekusi berubah menjadi nama kalian masing-masing!

Keriakan soal-soal berikut secara individul


1. Jelaskan perbedaan bahasa C dan C++!
2. Jika kalian menuliskan kode program yang sama pada bahasa C dan C++, bagaimana tampilan output yang
dihasilkan?
3. Buatlah program sederhana menggunakan bahasa C++!

D. Komponen Program dalam Bahasa C++


Setelah kalian mempelajari membuat program sederhana menggunakan
bahasa C++ dengan sofiware Dev-C++, selanjutnyakalianpedu memahami
berbagai komponen penyusun bahasa C++.
Variabel dan tipe data merupakan komponen terpenting dalam suatu
bahasa Pemrograiman. Tiap program y^ngmenggun akan nilai pasti akan
membutuhkan variabel sebagai penampung nilai tersebut. Nilai y^ng
digunakan dalam program dapat berupa numerik, karakter, maupun
teks. Nilai tersebut selanjutnya akan disimpan pada memori komputer.
Sehingga, dipedukan tipe data untuk memberitahukan kepada conpiler
jenis data apa yang akan disimpan kedalam memori komputer.
Berikut contoh program sedethana,y^ng tidak memburuhkan nilai di
dalam memori komputer, seperti y^ng ditunjukkan pada Gambar 7.20.

lnformatika Kelas X
#include (iostream>
using namespace std;
int main ( )
{

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.20 Contoh program yang tidak membutuhkan nilai

Pada Gambar 7.20 menunjukkan sebuah program tidak memiliki


variabel karena nilai langsung ditampilkan di layar monitor.
Dalam bahasa C++, perintah y^lg digunakan untuk menampilkan
teks atau bilangan ke layar adalah cout (dibaca: si out). Perintah ini
akan dikenal oleh compilerapabrla kalian menggunakan namespace std.
Namespace dideklarasikan d, "frlt header <iostream) sehingga kalian
perlu memasul<kan fi le h e a de r tersebut menggun akan perintah # i n c 1 u de .
Perintah lain dalam program diatas adalah endl (end line atau akhir
baris), yang juga tersimpan dalam namespace std. Perintah tersebut
digunakan untuk membuat baris baru (memindahkan kursor ke baris baru).
Untuk tebih memahami komponen-komponen program dalam bahasa
C++ lunnya, perhatikan uaian berikut.

1. Kata Kunci (Keywordl


Kata kunci adalahkatayangtelah memiliki arti khusus yang tidak dapat
diubah oleh pemrograman. Terdapat 32 kata kunci pada bahas C atau
C++, yaitu:
auto, break, case, char, const, conti-nue,
defaul-t, do, double, e1se, enum, extern, float,
for, goto , tf, int, Iong, register, return, short,
signed, s tzeof, static, struct, switch, typedef,
union, unsi-gned, void, volatile, while.
2. Komentar Program
Ketika ingin melakukan suatu proses pengemb zrrgan program, tentu
kalian zkan disibukkan dengan penulisan kode-kode y^ng begitu banyak
dan "tampak" rumit sehingga akan sulit dipahami oleh orang lain. Untuk
menanganinya, maka sebagai programmer kahan sebaiknya menambahkan
komentar untuk menjelaskan algofitma dan keterangan-ketetang n yang
diperlukan dalam program tersebut.

Bab Vtt Algoritma dan pemrograman


f
Komentar adalah bagan dari kode program yang tidak ikut dibaca
pada saat proses kompilasi. Dengan kata lain, komentar tidak akan
mempengaruhi jalannyz program y^tg telah dibuat sebelumnya.
Dalam bahasa C++, komentar dibagi menjadi dua jenis yaitu
komentar yang hanya terdiri dari satu baris dan komentar y^ng terdiri
dari beberapa baris.
a. Menggunakan Tanda / /
Perhatikan Gambar 7 .21,.

/ / 'ini adalah komentar untuk satu baris


Sumber: Dokumen penerbit
Gambar 7.2I Tanda // untuk komentar satu baris

Tanda / / digunakan untuk menulis komentar yang panjangnya


hanya satu baris.

b. Menggunakan Tanda /*...* /


Berbeda dengan tanda f f , unt;k membuat komentar yang lebih dari
satu baris menggunakan tanda /* dan diakhiri dengan tanda * / pada
akhir komentar.
Contoh penggun^arLny^ ditunjukkan pada Gambar 7.22.

/* ini adalah komentar yang banyaknya satu baris * /


/* ini adalah komentar yang panj ang
Yang banyaknya lebih dari satu baris
Bisa panjang dan diakhiri dengan tanda seperti ini
*/
Sumber: Dokumen penerbit
Gambar 7.22Tanda /* untuk komentar lebih dari satu baris

3. ldentifier
Idmtifier merupakan pengend atau pengidentifikasi yang dideklarasikan
agat compiler dapat mengenalinya. Idcntifer dapat berupa n^m^ variabel,
konstanta, fungsi, kelas, t€rurpkte,maupun namespace. Pada bab ini kalian
harryz mempelajan ifuntiferyang berpemn sebagai variabel dan konstanta.
Identfier yang berperan sebagai variabel dan konstanta berfungsi
untuk menampung sebuah nilai yang digunakan dalam program untuk
mempermudah proses penanganan data atau nilai, misalnya untuk
memasukkan dan menampilkan nilai. Berikut contoh program y^ng
menggunakan dua buah identifier di dalamnya, seperti yang ditunjukkan
Gambar 7.23.

!nformatika Kelas X
#include (iostream>
using namespace std;
int main ( )
{
char Teks l20l;
int X;

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.23 Program yang menggunakan dua buah identifier

Dari Gambar 7.23 menuniukkan Progfam mempunyai dua buah


identtfier,yaitu Teks dan X. Pada saat program diialankan, identfrertersebut
akan digunakan untuk menyimpan nilai yang dimasukkan dan kelboard.
Dalam bahasa C++, penyimpanan ntfar seperti ini menggunakan
perintah cin (dibaca: si it).Berbeda dengan perintah cout yang
menggun akan opefator <<, pada perintah c i n ope f^tof y^ng digunakan
adalah operator >>.
Ketika akan membuat identfier dalam suatu pfogram, maka harus
memperhatikan hal-hal berikut.
Bahasa C++ bersifat case sensitiue,C++ akan membedakan
sehingga
^. variabel y^ng ditulis dengan huruf kapital dan huruf kecil.
Contoh:

Variabel '1t' akan berbeda dengan variabel 'a'.


b. Identfier tidak boleh berupa angka atau diawali dengan karakter yang
berupa angka, seperti y^ng dituniukkan pada Gambar 7 -24.

Iong 1000 ; / / SAI"AH karena identif ier berupa angka


long 2X; / / SALAB karena identifier diawali oleh
/ /karakter beruPa angka
long X2; / / BENAR karena identifier tidak di awali
angka
:

Sumber: Dokumen penerbit


Gambar 7.24 Penulisan identifier dengan angka

Bab Vll Algoritma dan Pemrograman


c. Identfier tidak boleh mengandung spasi, seperti yang ditunjukkan
pada Gambar 7.25.

int Bilangan Bulat; / / SALAH, karena mengandung spasi


int Bilangan_BuIat; / / BENAR
int BilanganBu1at; / / BENAR
int BiIanganBulat; / / BENAR

Sumber: Dokumen penerbit


Gambar 7.25 Penulisan identifier tidak boleh mengandung spasi

d. Identifer tidak boleh menggunakan karakter-karakter simbol seperti


(#, @, ?, !, $, dan sebag arnya), seperti y^ng ditunj ukk an pada Gambar
7.26.

long !satu, // SALAH


long duaG; / / SALAH
log ti#gai // SALAH
Sumber: Dokumen penerbit
Gambar 7.26 Penulisan identifier tidak boleh karakter simbol

e. Identfier tidak boleh menggunakan kata kunci (kelwora) y^ng terdapat


pada C++, seperti yang ditunfukkan pada Gambar 7.27.

long break; // SALAH


/ /karena menggunakan kata kunci break
long return; // SALAH
/ /karena menggunakan kata kunci return

Sumber: Dokumen penerbit


Gambar 7.27 Penulisan identifier tidak boleh menggunakan keyword

Nama identifier sebaiknya disesuaikan dengan kebutuhan, artlny^


jangan sampai orang lain bingung ketika melihat progam yang telah
kalian buat hanya karena salah paham dengan pen^m an identifier.

4. Konstanta
Konstanta merupakan salah satu jenis identfier yang bersifat konstan
tetap, artinya nilai dati konstant^ y^ng terdapat di dalam program
^til)
tidak dapat diubah. Konstanta berguna untuk menentukan nilai tetap,
misalnya nilai pi (z), keceqtan cahaya dan lainnya.
Dalam bahasa C++, terdapat dua buah c^ra untuk membuat
konstant^, y^ttu sebagai berikut.

tnformatika KetasX
f![
a. Menggttn'.rkzrtt I'rt1tt't; 'I'ii'rt' i:'''t i' " r'1"ii'i':'
Kalian dapat mendefinisikan sebuah konstanta dengan menggunakan
preporcessor directiue #def ine. Perhatikan Gambar 7.28.

#include (iostream>
using namespace std;
int maj-n O {
int A [5];
for (int C:0; C<:,; C++){
/ / mengisi nilai ke dalam A tcl
A[C] : C * 10;
/ / menampilkan nilai A tcl

Sumber: Dolatmen penerbit


return Gambar 7.28 Mendefinisi-
kan konstanta tanpa meng-
gunakan preporcessor direc-
tive #define

Dari Gambar 7.28 terdapat bilangan 5 yang muncul dua kali dalam
program. Jika ternyata kalian itrgt mengubah bilangan tersebut meniadi
10, maka kalian harus merubah semua bilangan meniadi 10. Bagaimana
agr penulisan kode program lebih cepat dan efisien? Perhatikan kode
program perbaikannya pada Gambar 7.29.

#include (iostream>
using namespace std;
#define MAX 5
int main O {
int A []aAxl;
// MAx : 1o; //sxtxa,
/ / nilai konstanta tidak dapat diubah
for (int C:0; C<MAX; c++) {
/ / mengisi nilai ke dalam A tcl
A[C] : C * l-0;
/ / menampilkan nilai A tCl

return Penggunaan #define


tidak diakhiri dengan
tanda titik koma (;).

Sumber: Dokumen penerbit


Gambar 7.29 Mendefinisikan konstanta menggunakan preporcessor directive #def ine

Bab Vll Algoritma dan Pemrograman


b. Menggunakan Kata Kunci const.
Perhatikan bentuk umum menggunakan kata kunci const pada
Gambar 7.30.

const tipe_data nama_konstanta:nilai-tetapan;


Sumber: Dokumen penerbit
Gambar 7.30 Bentuk umum penulisan const

Perhatikan contoh pendeklarastart konstanta-konstanta y^ng


ditunjukkan pada Gambar 7.31,.

const double PI :3 .14;


const int NILAf MAX =L00;
const char MyChar :t A' i
Sumber: Dokumen penerbit
Gambar 7.31 Contoh pendeklarasian konstanta-konstanta

Untuk lebih memahaminya, perhatikan Gambar 7.32 y^ng


menunjukkan sebuah kode program y^ng merupakan implementasi dari
penggunaan kata kunci const.

#include (iostream>
using namespace std;
const int MAX : 5;
int main O t
i-nt A [MAx] ;
for (int C:0,' C<MAX; C++){
/ / mengisi nilai ke dalam A tcl
A[C] : C * 10;
/ / menampilkan nilai A tcl

)
return 0;

Sumber: Dokumen penerbit


Gambar 7.32 lmplementasi kata kunci const.

Dari Gambar 7.32 thmpak bahwa konstanta MAX didefinisikan


menggunakan kata kunciconst. Tidak seperti #def i-ne, penggunaan
kata kunci const harus diakhiri tanda titik koma 0.

tnformatika KetasX
]!!
5. Variabel
Berbeda dengan konstanta yang mempunyai nilai tetap, variabel
merupakan identfrer y^ng memPunyar nrlat dinamis. Arti kata "dinamis" tipe_data nama_variabel,'
memiliki maksud bahwa nilai variabel tersebut dapat diubah sesuai
Sumber: Dokumen penerbit
kebutuhan dalam program.
Gambar 7.33 Bentuk umum pendeklarasian
Berikut bentuk umum pendekl af astan+ variabel dalam C+ variabel dalam C++

y^ng ditunjukkan pada Gambar 7.33. Kemudian, perhatikan contoh


pendeklarasian variabel dalam C++ pada Gambar 7.34.
Gambar 7.34 menuniukkan pendeklarasian sebuah variabel bertipe int A;
int dengan nama A. Melalui c^r^ seperti tersebut, variabel sudah Sumber: Dokumen penerbit
dapat digunakan untuk menampung nilai-nilai berupa bilangan bulat
Gambar 7.34 Contoh pendeklarasian
(tip. data int). variabel dalam C++

Apabila kalian ingin melakukan deklarasi beber^p^ variabel dengan


tip. sama, maka kalian dapat menyingkat penulisan dengan bentuk
seperti yang ditunjukkan pada Gambar 7 .35.

tipe_data nama_variabel1, nama_variabel2, nama variabel3,'

Sumber: Dokumen penerbit


Gambar 7.35 Pendeklarasian beberapa variabel dalam C++

Untuk lebih memahaminya, perhatikan Gambat 7.36.

int A, B, C,

Sumber: Dokumen penerbit


Gambar 7.36 Contoh pendeklarasian beberapa variabel dalam C++

Dari Gambar 7.36, tampak bahwa terdapat tiga buah variabel int
y^ng dideklarasikan, yaitu A, B dan C.
a. Inisialisasi Variabel
Inisialisasi dapat didefinisikan sebagai proses pengisian nilai awal kedalam
suatu variabel. Dalam bahasa C++, pengisian nilai dilakukan dengan
menggunakan operator sama dengan 1=). Bentuk umum yang digunakan
untuk melakukan inisialiasasi variabel seperti pada Gambar 7.37.

tipe_data nama_variabel:ni1ai awal;


atau
tipe_data nama_variabell:ni1aj- awaI1, na.ma_variabel2:ni1ai
awal2 r .... i

Sumber: Dokumen penerbit


Gambar 7.37 Bentuk umum inisialisasi variabel

Bab vtt Algoritma dan pemrograman


f
Untuk lebih jelasnya, perhatikan contoh berikut.
int A=9;
1) Melakukan inisialisasi terhadap variabel A dengan nilai 9, maka
sintaksnyz akan seperti Gambar 7.38.
Sumber: Dokumen penerbit
Gambar 7.38 lnisialisasi satu variabel 2) Menginisialisasi lebih dari satu vanabel, maka sintaksnya akan seperti
Gambar 7 .39.

int A=1 0, 8:L 5, C:25 ;


atau
int A, B:15 , C;

Sumber: Dokumen penerbit


Gambar 7.39 lnisialisasi lebih dari satu variabel

Untuk memahami konsep inisialisasi variabel, perhatikan Gambar


7.40.

#include (iostream>
using namespace std;
int main O {
int X;
/ / Menampilkan nilai X sebelum
/ / dilakukan pengisian (assj-gnment)

// mengisi nilai 10 ke dalam variabel X


X : 1-0;
// Menampilkan nilai X setelah
// dilakukan pengisj-an (assignment)

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.40 Contoh program inisialisasi variabel

Hasil y^ng diberikan dari kode program di atas (Gambar 7.40),


akan tampak seperti Gambar 7 .41,.

Nilai X sebelum assignment: 0


Nilai. X setelah assignment: L0

Sumber: Dokumen penerbit


Gambar 7.41 Hasil program inisialisasi variabel

tnformatika KelasX
][
Perhatikan pula contoh program lain yang dituniukkan Gambar7.42.

#include (iostream>
using namespace std;
int main O t
/ / Inisialisasi x dengan nilai 5
int X = 5;
/ / Menampilkan nilai X sebelum
/ / dilakukan pengisian (assignment)

// mengisi nilai 10 ke dalam variabel X


X = 10;
// Menampilkan nilai X setelah
// dilakukan pengisian (assignment)

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.42 Contoh program inisialisasi variabel

Hasil yang diberikan dari program di atas (Gambar 7.42), akan


?
tampak seperti Gambar 7.43.

:
Nitai X sebelum assignment: 5
)
Nilai x setelah assignment: L0
)

Sumber: Dokumen penerbit


Gambar 7.43 Hasil program inisialisasi variabel

b. Variabel Global dan Variabel Lokal


Berdasarkan ruang lingkupnya, variabel dibedakan meniadi dua, yaitu
global dan lokal. Penentuan variabel sebagai variabel global atau lokd
tergantung dari kasus program yang dihadapi.
1) Variabel Global
Dalam bahasa C++ selalu terdapat fungsi utama main ( ) . Apabila
mendeklarasikan sebuah variabel diluar fungsi main ( ) atau fungsi
lain, maka dengan sendirinya conpihr akan menganggap variabel
tersebut sebagai variabel global. Untuk lebih jelasnya, perhatikan
Gambar 7.44.

vtt'Atgoritma dan pemrogneman


Bab
El
#include (iostream>
using namespace std;
int A; / / Variabel A adalah variabeL global
/ / karena dideklarasikan di luar fungsi
/ / Membuat fungsi test ( )
void test O {
/ / Mengisikan (assign) nilai ke dalam variabel A
A = 20;

)
// Membuat fungsi main ( ) atau fungsi utama
int main O t
/ / Mengisikan (assign) nilai ke dalam variabel A
A : 10;

// Memanggi; fungsi test ()

test O;
return 0;
)

Sumber: Dokumen penerbit


Gambar Z.+q Contoh program menggunakan variabel global

Hasil y^ng diberikan dari program di atas (Gambar 7.44), akan


tampak seperti Gambar 7.45.

Nilai A di dalam fungsi main ( ) : 10


Nilai A di dalam fungsi test ( ) : 20

Sumber: Dokumen penerbit


Gambar Z.AS Hasil program dengan menggunakan variabel global

2) Vaiabel Iakal
Berbeda dengan variabel global, variabel lokal merupakan variabel
y^ig hanya dikenali oleh suatu fungsi saja. Proses deklarasi variabel
lokal dilakukan di dalam lingkup fungsi yang dimaksud. Untuk lebih
jelasnya, perhatikan Gambar 7.46.

tnformatika KetasX
ru
#include (iostream>
using namespace std;
/ / Membuat fungsi test ( )
void test O {
int A; // A bersifat lokal
/ / dan hanya dikenal oleh fungsi test ()

A : 20;

)
// Membuat fungsi main ( ) atau fungsi utama
int main O {
/ / A tidak dapat digunakan oleh fungsi main ( )l
// A : 10; // SALAH

// Memanggi; fungsi test ()

test O ;
return 0;

Sumber: Dokumen penerbit


Gambar 7.45 Contoh program menggunakan variabel lokal

Hasil y^ng diberikan dari program di atas (Gambar 7.46), akan


tampak seperti Gambar 7 .47.

Nilai A di dalam fungsi test ( ) : 20

Sumber: Dokumen penerbit


Gambar 7.47 Hasil program dengan menggunakan variabel lokal

6. Tipe Data
Tipe data berfungsi untuk mempresentasikan jenis dari nilai y^ngterdapat
dalam suatu program. Sebagai contoh, kalian mempunyai suatu data
dengan nllar 2, maka 2 termasuk kedalam tipe bilangan bulat. Begitu irg,
dengan data seperti ini "Rahasia C++", makadata tersebut dikategorikan
kedalam tipe data teks (dalambahasa pemrogreiman teks disebut strin!.
Dalam bahasa C++, tipe data dapat dikelompokkan menjadi dua,
yaitu sebagai berikut.

Bab Vtt Algoritma dan pemrograman


f
a. Tipe Data Dasar
Tipe data dasar dalam bahasa C++ dikelompokkan ke dalam empat
tipe, yaitu tipe bilangan bulat (integer), bilangan nl. ffloating-point), logika
(booban), dan karakter.
b. Tipe Data Bentukan
Tip. data bentukan adalah tipe data yang didefinisikan sendiri sesuai
keburuhan program yang akan dibuat. Kelompok tipe data bentukan
adalah tipe larik (ooo) dan tipe terstruktur.
Pada bab ini, kalian hanya akan mempelajari tipe bentukan dasar
yaitu, tipe bilangan bulat (intWi,bilangan rtt ffloating-poin),logika (boolean),
karakter dan tipe data bentukan, yaitu tipe terstruktur.
I ) Tipe Bilangan Bulat @ttSrr)
Tipe bilangan bulat atau integer digunakan untuk mempresentasikan
data numerik berupa bilangan bulat, yaitu bilangan y^ng tidak
mengandung angka di belakang koma. Contoh bilangan bulat adalah
20, 45, 123 dan seterusnya. Untuk lebih ielasnya perhatikan Tabel
7.14.

Tabel 7.L4Tip Bilangan Bulat lintegerl

tnt t6 atar 32 -32.768 sampai 32.767


atau
-2.147 .483.648 sa m pa i 2.147 .483.647

utffi.ted ht 16 atau 32 0 sampai 65.535


Atau
0 sampai 4.294.967.295

fitledtnt 16 atau 32 -32.768 sampai 32.767


atau
-2.147 .483.648 sa m pai 2.L47 .483.647

stwt lnt 16 -32.768 sampai 32.767

unslgned tttrlfihtt 16 0 sampai65.535

stgrcd stnrt tnt 16 -32.768 sampai 32.767

long tnt t2 -2.147 .483.648 sa mpa i 2.L47 .483.647

sSned lury tnt 32 -2.147 .83.648 sampai 2.t47 .483.647

unslencd lotV W 32 0 sampai 4.294.967.295

ru hbrmattkaxelasx
Perhatikan contoh program yang menggun akan tipe bilangan bulat
pada gambar Gambar 7.48.

#include <iostream>
using namespace std;
int main O {
/ / Mendekrarasikan variabel x dengan tipe data int
int x;

// Melakukan assignment terhadap variabel x


x : 3;

return 0;

Sumber: Dokumen penerbit


Gambar 7.48 Contoh program yang menggunakan lipe integer

Hasil y^ng diberikan dari program di atas (Gambar 7.48), akan


tampak seperti Gambar 7 .49.

Nilai x:3
Sumber: Dokumen penerbit
Gambar 7.49 Hasil program dengan menggunaka n tipe integer

2) Tipe Bilangan Nil (floating-point)


Tipe bilangan ntl (floating-poinfi adalah tipe y^ng mempresentasikan
data-data bilangan ymgmengandung angka dibelakang koma. Contoh
tip. bilangan riil ffloating-poin) yaitu: 7,66; 36,25; dan seterusnya.
Untuk lebih jelasnya, perhatikan Tabel 7.1,5.
Tabel 7.15 tipe Data Riil (floating-pointl

floot 32 1,2 x 10-s sampai3,4 x 10s 6 digit

double 64 2,3 x 10-308 sampai 1,7 x 10m 15 digit

long double 80 3,4 x 10-4s32 sampai 1,1 x 1Oe32 19 digit

Untuk lebih memahami menggunakan upe bilangan riil ffloating-poin)


pada suatu program, perhatikan Gambar 7.50

Bab Vll Algoritma dan Pemrograman


#include (iostream>
using namespace std;
int main O t
/ / Mendeklarasikan variabel
/ / dengan tiPe data double
double y i

// Melakukan assignment terhadaP


y : 222.L34;
cout(("Ni1ai y: "((Yi

return 0;

Sumber: Dokumen penerbit


Gambar 7.50 Contoh program yang menggunakan tipe floating-point

Hasil yang diberikan dari program di atas (Gambar 7.50), akan


Nilai y: 222.734 tampak seperti Gambar 7 .51.

Sumber: Dokumen penerbit 3) Trpe l-ngika (boolean)


Gambar 7.51 Hasil program yang Tipe logika (boolean) adalah mempresentasikan data-da;t^ y^nghanya
menggu naka n tipe fl oati n g- Poi nt
mengandung dua buah nilai sala yattu nilai logika (boolean). Nilai
logika (boolean) terdiri dari nilai benar (1) dan salah (0). Dalam bahasa
C++ standar, tipe ini telah dinyatakan dalam ape bool, y^rug nilainya
dapat berupa true @enar) atau false (salah). Untuk lebih jelasnya,
perhatikan program yang dituniukkan oleh Gambar 7.52.

#include (iostream>
using namespace std;
int main O {
/ / Mendeklarasikan vari-abeI y
/ / dengan tipe data bool
bool benar;

// Meminta input dari user


int at b;

tnformatika KetasX
@
/ / Melakukan assignment terhadap variaber yang benar

if (benar :: true) { / / bisa ditulis: if (benar)

) else t

brr;
)
return 0;

Sumber: Dokumen penerbit


Gambar 7.52 Contoh program yang menggunakan tipe logika (booleanl

Jika kalian memasukkan nilaia. = 1.9 dan b = 5 saat program (Gambar

7.52) dijalankan, maka hasilnya akan tampak seperti Gambar 7.53.

Masukkan nilai a: 19

Masukkan ni l-ai b : 5
a lebih besar dari b

Sumber: Dokumen penerbit


Gambar 7.53 Hasil program yang menggunakant tipe logika lbooleanl

4) Tipe Karakter
Tipe karakter adalah tipe yang digunakan untuk mempresentasikan
data bertipe karakter seperti './t', 'a','9','&', dan seterusnya. Tipe
karakter selalu diapit oleh petik tunggal, sedangkan kumpulan karakter
diapit oleh tanda petik ganda disebut sebagai sting.
Dalam bahasa C++, tipe karakter dinyatakan dalam bentuk char.
Untuk karakter unicode (wide cbaracter) dinyatakan dalam wchar t.
Untuk lebih jelasnya, perhatikan Tabel 7.1,6.

Tabel 7.15 Tipe Data Karakter

-L28 sampai 127


atau
0 sampai 255

unsigned char 8 0 sampai 255

signed chor 8 128 sampai 127

wchar t 16 atau 32 0 sampai 55.535

Bab Vll Algoritma dan Pemrograman


Untuk lebih ielasnya, perhatikan pfogru:r;r y^ig dituniukkan oleh
Gambar 7.54.

#include (iostream>
using namespace std;
int main O {
/ / Mendeklarasikan variabel Karakter
rAr
/ / dan mengisinYa dengan nilai
char Karakter = tAti

/ / Mendeklarasikan variabel Teks


/ / dan mengisin'ya dengan nilai "Kata"
char* Teks : (char* ) I'Kata";
char TEKS t 10 I : "Coba" i

return 0;

Sumber: Doktmen penerbit


Gambar 7.54 Contoh prognim yang menggunakan tipe karakter

Hasil ymrg diberikan dari program di aas (Gambar 7.54), ?kart


A tampak seperti Gambar 7.55.
Kata
Coba
5) Tipe Data Terstntktur
Tipe data terstruktur merupakan tipe daA bentukan ymugmenyimpan
Sumben Dohtmen penerbit tebih dari satu variabel bertipe sama mauPun berbeda. Untuk
Gambar 7.55 Hasil progriim yang meng-
gunakan tipe karakter
membuat tipe data terstruktur harus mendeklarasikannya dengan
menggunal<an kata kunci struct.
Berikut bentuk rrnum pendeklarasian tipe data suuktur di dalam
C++ y^ttg ditunjukkan pada Gambar 7.56.

struct nama_struktur { tipe_data variabell';


tipe_data variabel2;

Dalam pendeklarasian struktur, ;;


harus selalu mengakhirinya de-
ngan tanda titik koma (;). Sumber; Doktmen penerbit
Gambar 7.55 Bentuk umum pendeklarasian tipe data struktur di dalam C++

lnformatika Kelas X
Untuk lebih jelasnya, perhatikan progr^m yane ditunjukkan oleh
Gambar 7.57.

#include <iostream>
#include (cstring>
using namespace std;
int main O {

struct SISWA {
char NIS t 9l ;
char Nama l25l;
char Alamat 1201;
char Kota t 15 I i
l;
SISWA A; / / Mendeklarasikan variabel A
/ / yang bertipe SISI,f,A
strcpy(A.NIS, "1-0299999") ;
strcpy (A . Nama, "Nur Alamsyah" ) ;
strcpy (A. Alamat, "Kayutangi i' ) ;
strcpy (A. Kota, "Ban j armasin" ) i

/ / Menampilkan nilai yang diisikan ke layar

return 0;

Sumber: Dokumen penerbit


Gambar 7.57 Contoh program yang menggunakan tipe terstruktur

Hasil y^ng diberikan dari program di atas (Gambar 7.57), akan


tampak seperti Gambar 7.58.

L0299999
Nur Alamsyah
Kayutangi
Banj armas in
Sumber: Dokumen penerbit
Gambar 7.58 Hasil program yang menggunakan tipe terstruktur

Bab vtt Algoritma dan pemrograman


W
Bahasa mendeklarasikan variabel bertipe struktur dapat
C++
Smart Learning dituliskan langsung pada s^^t pendefinisian tipe struktur y^ng
bersangkutan. Misalkan, kalian akan mendeklarasikan variabel A, B,
Pindai QR code berikut. dan C y^ng bertipe SISS7A, maka penulisannya dapat dilakukan seperti
Gambar 7 .59.

/ / Membuat tipe struktur dengan nama S l SVIA


/ / dan menggunakan langsung
/ / mendeklarasikan variabel A, B dan c struct
S I SI,f,A t
char NIS t 9l ;
char Nama 725);
Dari situs tersebut, lakukanlah
kegiatan berikut!
char Alamat 120);
1. Salinlah salah satu contoh char KoLa [5];
program! ) A, B, C;
2. Jalankan program kemudian
screenshoot hasil yang di- Sumber: Dokumen penerbit
tampilkan! Gambar 7.59 Contoh kode program lain yang menggunakan tipe terstruktur

Keriakan soal-soal berikut secara individu!


L. Buatlah komentar program yang berisi identitas kalian, seperti: nama,
kelas, alamat, dan sebagainya! (komentar dibuat dengan menggunakan
tanda ll
dantanda /*...*ll
2. Buatlah suatu program untuk menampilkan luas lingkaran dengan
menggunakan komponen konstanta !
3. Buatlah suatu program yang dapat menampilkan biodata dari siswa A,
siswa B, dan siswa C secara bersama-sama!

E. Ekspresi
Ketika membahas tentang Prcgr^m, maka ekspresi iuga termasuk ke
dalamnya. Karena ekspresi merupakan bagian dari progfam yang tidak
bisa dipisahkan. Ekspresi di dalam matematika terdiri dari operand (nilai
yang digunakan dalam suatu operasi matematika) dan operator (instruksi
y^ttgdigunakan untuk mendapatkan hasil dari suatu operasi matematika).
Misalnya dalam penjumlahan 3 + 5, maka operasi matematika
penjumlahan tersebut terdiri dan 2 buah operand (3 dan 5) dan 1 buah
operatof (+). Ekspresi yang digunakan dalam pemrograman mirip
dengan operasi matematika, namun ditambahkan beberapa operator
untuk mempermudah ketika tnenulis Program.

tnformatikaKetasX
rc
1. Sifat-Sifat Operator
Berikut adalah sifat-sifat yang dimiliki operator.
a. (Jnary,hanya melibatkan masing-masing sebuah operand dan oper^tor.
Contoh: -a
b. Binary, melibatkan dua buah operarud dan satu operator di antara dua
operand. Contoh: a * b

c. Ternary, melibatk^n ttga buah operand.


Contoh:a?b:c
2. Macam-Macam Operator
a. Operator Penugasan
Operator penugasan memiliki simbol '=' yang berfungsi memberikan
nilai y^ng diperoleh dari ekspresi ke suatu variabel. Operand sebelah
kiri akan menerima suatu nilai dari operand sebelah kanan dari operator Simbo! '=' dalam bahasa
pemrograman memiliki arti
penugasan. Contoh penggun^an operator penugasan ditunjukkan pada
yang berbeda dengan "sama
Gambar 7.60.
dengan" pada matematika.
Tugas operasi selalu berlang-
int A : 3; sung dari sisi kanan ke kiri.

Sumber: Dokumen penerbit


Gambar 7.50 Contoh penulisan operator penugasan

Untuk lebih jelasnya perhatikan kode program y^ng ditunjukkan


pada Gambar 7 .61,.

#include (iostream>
using namespace std;
int main O t
int a, b;
a : 2;
b = 5;
a=b;
b = 7;

return 0;

Sumber: Dokumen penerbit


Gambar 7.51 Contoh program yang menggunakan operator penugasan

Bab Vll Algoritma dan Pemrograman


Hasil y^ng diberikan dari program di atas (Gambar 7.61), akan
a:5 tampak seperti Gambar 7.62.
b z7
Pada Gambar 7.62 menunjukkan ekspresi menyalin nilai yang dimiliki
Sumber: Dokumen penerbit
variabel b kepada vanabel a. Jadi, nil^i variabel a akan diganti dengan
Gambar 7.62 Hasil program yang nilai baru yang dimiliki oleh variabel b.
menggunakan operator penugasan
b. Operator Aritm atika
Operato r berfungsi untuk melakukan operasi matem attka pada
^tttrnatTka
umumnya. Untuk lebih ielasnya, perhatikan Tabel 7.1,7.

Tabel 7.17 Penulisan Operator Matematika dengan Operator Aritmatika

Penjumlahan a+b a+b


Pengurangan. a-b a-b
Perkalian ab a*b

Pembagibn alb I alb


Sisa Bagi(Modulo) amodb % a%b

Semua operator memiliki konsep perhitungan y^ng sama seperti


halnya operasi matematika, tetapi khusus operator pembagian, tipe data
sangat mempengaruhi hasil y^ng zkan dihasilkan. Apabila tipe data int
(integer), maka hasil dan 5/2 adalah 2. Jlka menginginkan hasil berupa
angka di belakang koma, maka dapat menggunakan tipe data f loat.
Untuk lebih jelasnya perhatikan kode program y^ng ditunjukkan pada
Gambar 7.63.

#include (iostream>
using namespace std;
int main O t
int xt y, zi

// menggunakan operator pembagian


z : x / y; t

Sumber: Dokumen penerbit


Gambar 7.63 Contoh program
return 0;
menggunakan operator
aritmatika pembagian

lnformatika Kelas X
Jika kalian memasukkan nilai x - 16 dan b =
3 saatPfogfam (Gambar
7.63) diialankan, maka hasilnya akan tampak seperti Gambar 7.64.

c. Opetator Incerment dan Deqement


Bahasa Pemrogrumaut iog, menyedialan oPeratof incteamenl (++)
Sumber: Dokumen penerbit
dan d.ecrement (--). Increamenl berfungsi untuk menaikkan (++), sedangkan
Gambar 7.64 Hasil program menggunakan
decrement berfungsi untuk menutunkan () nilai variabel sebanyak 1'. operator aritmatika Pembagian
Operato r increament dan dcrrement daptt dileakkan sebelum (prrf*) atauPtln
sesudah (p*fr*) variabel. Penulisan operator increamenl (++) dan derement
() akan mempengaruhi kapan variabel mengalami perubahan nilai.
Contoh penulisan operator inteament dan detement adalah n = n *
1 untuk intreament (++) dan n = 11 - 1 untuk furenent (--).
Contoh:
1) Prefix 2) Posfix
n: 5; n : 5;
++n; n-- i
Sehingga n : 6; Sehingga n : 4;
Untuk lebih memahaminya, pethatikan cont;h kode Pfogfam
menggunakan oPerator incerment pada Gambar 7 -65.

Sumber: Doktmen penerbit


Gambar 7.65 Contoh program menggunakan operator increment

Hasil yang diberikan dari program di


tampak seperti Gambar 7.66.
altas (Gambar 7.65), akan
?_"
d. Operator Logika, Relasional, dan Kesamaan Sumber: Dolatmen penerbit
Gambar 7.66 Hasil program menggunakan
Untuk lebih memahami peran dan simbol operator logika, relasional operator increment

dan kesamaan, perhatikan Tabel 7.1,8.

Bab Vtl Algoritma dan Pemrograman


Tabel 7.18 Penulisan Operator Logika, Relasional, dan Kesamaan dalam pemrograman

Operator Logika

AND && dan

OR lt atau

NOT ! tidak lebih

Operator Relasional

lebih dari

kurang dari

2- lebih dari sama dengan

s <= kurang dari sama dengan

Operator. Kesa maa n/Ketida ksa maa n


Pada bahasa C++, nilai true akan
sama dengan 1 dan nilai false Sama dengan
akan sama dengan 0.
l= Tidak sama dengan

Untuk lebih jelasnya, perhatikan contoh kode program operator


relasional pada Gambar 7.67

#include <iost,ream)
using namespace std;
int main O i
int a : 6, b : j;
bool hasil;

/ / menggunakan operator relasional

Sumber: Dokumen penerbit


Gambar 7.57 Contoh pro-
return 0;
gram menggunakan opera- )
tor relasional

lnformatika Kelas X
Hasil y^ng diberikan dari program di (Gambar 7.67), akan
^tas a:6
tampak seperti Gambar 7.68. b:1
e. Operator Kondisional (Ternary)
Operator kondisional adilah oPerator y^ng mengevaluasi ekspresi dan
memilih dua pilihan nilai. Berikut bentuk umum penulisan operator
ternary y^rlg dituniukkan pada Gambar 7 .69.

Sumber: Dokumen Penerbit


Ekspresi ? true: false Gambar 7.68 Hasil program menggunakan
operator relasional

Sumber: Dokumen Penerbit


GambarT.6gBentukumumpenulisanoperatorkondisional

Untuk lebih ielasnya, perhatikan kode Program y^ng dituniukkan


pada Gambar 7.70.

#include (iostream>
using namespace std; Keriakan soal-soal berikut
int main O { secara berkelompokl

int x : 7; 1. Buatlah program seder-


hana menggunakan oPe-
rator penugasan!
/ / menggunakan oPerator ternarY 2. Buatlah program seder-
hana menggunakan oPe-
rator aritmatika dengan
melibatkan tiga buah oPe-
randl
3. Buatlah program seder-
hana menggunakan oPe-
return 0; rator logikal
)

Sumber: Dokumen penerbit


Gambar 7.70 Contoh program menggunakan operator ternory

Hasil y^ng diberikan dari program di atas (Gambar 7.70), akan tampak
seperti Gambar 7 .71.
Sumber: Dokumen penerbit

F. Struktur Kontrol KePutusan Gambar 7.71 Hasil program menggunakan


operator ternory

Apakah kalian pernah putang dari suatu temPat melalui ialan y^ng sama
ketika perg? Atau memilih iatan y^ngberbeda? Hal tersebut mengandung
sebuah keputusan yang didasari suatu kondisi, seperti memilih ialan
y^fig berbeda untuk menghindari mac et atau memilih iilan yang sama
karena iaruk tempuh dekat.

Bab Vlt Algoritma dan Pemrograman


f
Komputer memiliki fungsi untuk mempermudah pekerjaan manusia
dan perintah y^ng dilakukan oleh komputer merupakan perintah yang
dibuat oleh manusia. Perintah tersebut berupa suatu Program yang
fungsinya untuk menyelesalkan suatu masalah tertentu. Hal yang sama
tejadi ketika proses pengambilan keputusan untuk memilih jalan pulang
seperti contoh di atas.
Kalian akan mempelajari tentang pengambilan keputusan dalam
sebuah program secara kondisional. Kondisional merupakan suatu pilihan
y^ng didasari dari kondisi tertentu. Sebagai contoh dalam penentuan
bilangan ganjil atau genap, maka terdapat at:ur^n sebagai berikut.
a. Jika bilangan dibagl 2 memiliki hasil 0, maka bilangan tersebut
genap.
b. Jika bilangan dibagT 2 memiliki hasil 1,, maka bilangan tersebut ganjil.

Proses tersebut merupakan salah satu contoh dari sebuah Pernyata n


kondisional. Terdapat beberap^ jenis struktur kontrol keputusan, yaitu
struktur kontrol keputusan f, felse, feke IJ switch, dan bersarurrg.

1. Struktur Kontrol Keputusan If


Struktur kontrol keputusan dengan menggunakan f adalah suatu
perny^t^an kondisi yang digunakan untuk melakukan suatu pengambilan
keputusan terhadap dua kemungkinan. Berikut beberapapefiiy^t^ ny^ng
dapat menggambarkan kondisi y'.
a. Jika banjir, maka sekolah diliburkan.
b. Jika sekolah diliburkan, maka siswa senang.
c. Jrka ra termasuk kriteria pegawai, maka ia diterima sebagai pegawai
baru.
d. Jika dia berkata benar, maka dia tidak berbohong.
Bentuk dari pernyat^ nf dapat ditulis menjadi bentuk pserdocode
seperti Gambar 7.72.

if (kondisi) {
statement
)

Sumber: Dokumen penerbit


Gambar 7,72 Pseudocode bentuk pernyataan f

Kondisi y'
juga dapat digambarkan melalui flowchart, seperti yang
ditunf ukkan pada Gambar 7.73.
Sumber: Dokumen penerbit Salah satu contoh dzri kasus kondisi f dapat dilihat pada kode
Gambar 7.73 Flowchort kondisi ff
program y^ng ditunjukkan pada Gambar 7 .7 4.

lnformatika Kelas X
#include <iostream>
using namespace std;
int main O {

int nilai := 10 ;
if (nilai>5 )
,

i
return 0;
I
)

I
Sumber: Dokumen penerbit
Gambar 7.74 Program dengan kondisi f
,
, Dari Gambar 7.74, tampak bahwa variabel nilai dideklarasikan seb4gai
:

) tipe data integer y^ng bernilai 10. Ketika memasuki blok kondisi, kode
t

J
program akan membandingkan variabel nilai dengan bilangan integer
bernilai 5. Karena perny^t^ n tersebut benar, maka statement di ddam
L

)
) blok kondisi dijalankan.
I Untuk lebih memahaminya, perhatikan pula program untuk
!
membandingkan nilai pada Gambar 7.75.

f
#include (iostream>
using namespace std;
)
/ / membandingkan niali
int main O {
I
I
)
I

I
I

int x:4 i

/ / membandingkan apakah x bernilai 4


if (x=:4 )
/ / j ika. benar maka akan bernilai True

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.75 Program membandingkan nilai

Bab Vtt Algoritma dan pemrograman


f
Ketika program dari Gambar 7.75 dijalankan, maka hasilnya akan
True seperti Gambar 7.76.
sumbrn Doku,,,er pe,e.bir Namun ketika nilai dad ; diganti dengan nilai selain 4 maka hasil
Gambar7.76 Hasll program membandindGn progam yang dijalankan akan tampak sepetti Gambar 7.77.
nilal

(atau kosong)

Sumber: Dokumen penerbit


Gambar 7.77 Hasil program jika nilai x diganti

Dari Gambar 7 .7 6 dan 7 .77 , apakah kalian dapat melihat


perbedaannya? Ketika memasukkan ntlai yang sama nilai x yaitu
^ntara
4 maka kondisi y^ng diharapkan yaitu True akan tampil pada hasil
program. Namun, apabrla nilai x y^ng dimasukkan selain 4 maka hasil
dari program akan tetap berjalan namun hasil tidak ada (kosong). Hal
tersebut yang mendasari perlu adanya struktur kontrol keputusan lain
yang dapat menampilkan hasil perbandingan dua kondisi atau lebih dan
terdapat beberapa pilihan, sehingga semua hasil dapat ditampilkan.

2. Struktur Kontrol Keputusan lf-Else


Pernyataan felse digunakan untuk mengatur pernyataan yanq dijalankan
ketika kondisi berupa sebuah pilihan. Bentuk dari pernyata;an f-else
adalah mengatur pernyat^an yang dijalankan sewaktu kondisi bernilai
tr-ile fuhr. Berikut beberapa perny^t^ n yang dapat menggambarkan
^tau
kondisi felse.
a,. Jika sekolah libur, maka siswa senang, fika tidak jadi libur, maka
siswa kecewa.
b. Jika saya makan bakso panas, maka setelahny^ s^ya akan minum es,
jika tidak, maka saya akan minum air mineral.
c. Jika saya sakit, maka saya minum obat, jlka tidak, maka saya hanya
minum vitamin.
Bentuk dari pernyataan rf-else dapat dirulis menjadi bentuk pseudocode
seperti Gambar 7.78.

if (kondisi) t
s tatement l-

)
else t
statement2
)

Sumber: Dokumen penerbit


Gambar 7.78 Pseudocode bentuk pernyataan f-else

tnformatika KetasX
]fl
Kondisi rf-else juga dapat digambarkan melalur flowchart, seperti y^ng
ditunjukkan pada Gambar 7 .79.
Salah satu contoh dari kasus kondisi rf-else dapat dilihat pada kode
program y^ng ditunjukkan pada Gambar 7.80.

#include (iostream>
using namespace std;
int main O t

int nilai:10; Sumber: Dokumen penerbit


if (nilai>5 ) { Gambar 7.79 Flowchort kondisi if-else

cout <<"Ni1ai lebih dari ll .


,
)
e1 se
cout <<"Nil-ai kurang dari tr
J,
tl .

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.80 Contoh proBram dengan kondisi if-else

Dari Gambar 7.80, tampak bahwa variabel nilai dideklarasikan sebagai


suatu tipe data integer y^ng bernilai 1 0. Ketika memasuki blok kondisi,
kode program akan membandingkan variabel nilai dengan bilangan integer
bernilai 5. Karena perny^taan tersebut benaq maka statement / "Nilai
lebih dari 5" di dalam blok kondisi dijalankan. Seandztny^ variabel nilai Smart Learning
y^ng dideklarasikan sebagai bilangan integer bernilai 2, maka statement 2
"Nilai kurang dari 5" yang akan dijalankan. Pindai QR code berikut.
Jika tipe data bernilai 1 0, maka ketika program dari Gambar
integer
7.80 difalankan, hasilnya akan tampak seperti Gambar 7.81,.

Nilai kurang dari 5

Sumber: Dokumen penerbit


Gambar 7.81 Hasil program jika integer bernilai 10

Namun, ketika data integer bernilai 2 maka hasil Progfam yang Dari situs tersebut, lakukanlah
dijalankan akan tampak seperti Gambar 7.82. kegiatan berikut!
L. Salinlah kode program terse-
but kemudian jalankan!
Nilai lebih dari 5 2. Setelah program dijalankan,
masukkan angka 1 dan 5,
Sumber: Dokumen penerbit kemudian screenshoot hasil
Gambar 7.82 Hasil program jika integer bernilai 2 yang ditampilkan!

Bab Vll Algoritma dan Pemrograman


if (kondisil ) {
3. Struktur Kontrol Keputusa n lf-Else lf
statementl Ketika menghadapi perm asalzhan y kompleks dengan banyak pilihan
^ng
statement, maka susunan f dttzmbah dengan else
) {, Sehingga bentuk
dari pernyataan felse f dapat ditulis menjadi bentuk pseudocode seperti
else if (kondisi2 )
Gambar 7.83.
statement2
Kondisi feke ,f i"g bisa digambarkan melahttflowcbart, seperti y^ng
)
ditunjukkan pada Gambar 7.84.
else if (kondisi3 )

statement3
)
else if (kondisi4 )

statement4
)

Sumber: Dokumen penerbit


Gambar 7.83 Pseudocode bentuk pernyataan
if-else if

Gambar 7.84 Flowchort kondisi if-else if

Salah satu contoh dari kasus kondisi feke f dapat dilihat pada kode
Progfam y^ng ditunjukkan pada Gambar 7.85.

#include <iostream>
using namespace std;
int main O {
int nilai;
cout <(rtMasukkan nilai angka : " i
cin >>nilai;
cout << "Ni lai huruf i ,,
;

if (nilai>85 ) {
cout (( ttAtt
;
) else if (nilai>70 ) {
cout <<trB";
) else if (ni1ai>50 ) {
) else if (nilai>25 ) {
cout ((ttDtt i
) else {
cout << ttE tt ;
)
Sumber: Dokumen penerbit return 0 r'

Gambar 7.85 Contoh program dengan )


kondisi if-else if

lnformatika Kelas X
Tampak bahwa kode Pfogram di atas (Gambar 7.85) merupakan
program untuk melakukan konversi dari nilai angka ke nilai huruf
y^ttg memiliki beberapa kemungkinan. Sehingga, Program tersebut
membutuhkan suuktur kontrol felse y'untuk menyeleszrikannya. Jika kalian
menfalankan kode program tersebut dengan memasukkan nilai berbeda
y^ng sesuai dengan range angka, maka nilai huruf yang ditampilkan iuga
akan berbeda.
dari Gambar
Jika memasukkan nilai 78 dan 55, maka ketika Program
7.85 diialankan, hasilnya akan tampak seperti Gambar 7.86.

Sumber: Dokumen penerbit


Gambar 7.86 Hasil program jika memasukkan nilai (a) 78 dan (b) 55

4. Struktur Kontrol Keputusan Switch


Seperi halnya dengan struktur felse,pernyataranpada struktur switcb irg"
dapat melakukan beberapa pilihan j alur y mg akan dieksekusi. Pernyataan
suitcb digunakan untuk melakukan instruksi pemilihan aksi y^ng akan
dikerjakan. Variabel dari nilai masukan akan menentukan statement mana
y^ng akan dieksekusi. Struktur kontrol keputusan switcb dtpat ditulis
menjadi bentuk pwdocode seperti Gambar 7.87.

Sumber: Dokumen penerbit


Gambar 7.87 Pseudocode bentuk pernyataan swikh

Salah satu contoh dari kasus kondisi switcb dapat dilihat pada kode
program yang ditunjukkan pada Gambar 7.88.

Bab vtt Algoritma dan pemrograman f


#include (iostream>
using namespace std;
int main O { int nilai;
char huruf;
cout <<"Masukkan nilai angka t 0-10 l tt.
,
cin >>nilai;
switch (nilai ) {
case l- 0 :
'case 9 z

huruf:tAt;
break;
case 8:
case 7:
huruf:tBt;
break;
case 6z
case 5:
case 4z
huruf:tCt i
break;
case 3:
case 2:
case 1:
huruf: t D' ;
break;
case 0:
huruf:tEt;
break;
default:
huruf='-' ;
) cout <<"NiIai huruf n.t

return 0; )

Sumber: Dokumen penerbit


Gambar 7.88 Contoh program dengan kondisi switch

Tampak bahwa kode program di atas (Gambar 7.88) merupakan


Program untuk melakukan konversi dari nilai angka ke nilai huruf
dengan menggunakan kondisi switcb.

tnformatika KetasX
]!!
Jtka kahan ialankan kode program tersebut
dengan memasukkan nilai
berbeda dengan range angkz y^ng sesuai yaitu 0 sampai dengan 10, maka
nilai huruf yang ditampilkan iuga akan berbeda sesuai dengan range.
Jika memasukkan nitai B dan 5, maka ketika Pfogfam dari
Gambar
7.88 diialankan, hasilnya akan tampak seperti Gambar 7.89.

Masrikkan nilai angka [ 0-10 ] : I Masukkan nilai angka [ 0- 1- 0 ] : 5

Nilai huruf : B Nilai huruf : C

(a) (b)

Sumber: Dokumen penerbit


Gambar 7.89 Hasil program jika memasukkan nilai (a) 8 dan (b) 5

Dari Gambar 7.}g,tampak bahwa dimasukkan sebuah variabel dengan


nilai B. Maka pada saat pfogram (Gambar 7.88) memasuki kondisi yang
peftama, yaitu case 10 dan case 9 dengan nilai huruf A, case nilai
8 tidak memenuhi. Selanjutnya, ketika program memasuki kondisi yang
kedua dimana case nilai 8 terpenuhi dengan nilai huruf e. Sehingga,
statement di dalam case B terakhir diialankan dan berhenti.

Begitu pula untuk variabel dengan memasukkan nilai 5. Case 10


dan case g dengan nilai huruf A tidak memenuhi. Case 8 dan
case 7 dengan nilai huruf e iuga tidak memenuhi. Case 6, case
5, dan case 4 dengan nilai huruf C memenuhi, sehingga staternent
berakhir di kondisi tersebut.
Bagarmana ilka.memasukkan nilai yang tidak
berada pada range 0 sampai dengan 10? Kalian Masukkan nilai angka [0-10]: 15
dapat menggunakan kelword default. Fungsi Nilai huruf: -
dad kelword default digunakan apabrla tidak
menemukan case yang sesuai. Jika kalian memasukkan nilai 15, maka Sumber: Dokumen penerbit
Gambar 7.90 Hasil program jika memasukkan
program akan menampilkan hasil seperti Gambar 7.90. nilai 15
Sedangkan fungsi dari kelword break pada struktur kondisi saitch
yairu unruk menghentikan alur dari eksekusi agar. tidak berlaniut ke case
y^ng lain apabila kondisi sudah memenuhi. Struktur kondisi switch lebih
sesuai digunakan untuk kondisi yang memiliki range kecil. Jika dengan
range y^ng cukup besar, maka struktur kondisi f bisa digunakan karena
lebih fleksibel untuk semua kondisi.

5. Struktur Kontrol Keputusan Bersarang (IVeste d n


Dalam sebuah struktur kontrol dalam bahasa C++ sangat memungkinkan
membuat pernyataan di dalam perny^t^an. Hil. tersebut disebut nested atat
tersarang. Kondisi nested if dapat dituliskan menjadi bentuk pseudocode,
seperti y^ng ditunjukkan pada Gambar 7.91.

Bab Vll Algoritma dan Pemrograman

t-
/ *Program dengan fF bersarang * /
if (kondisi) {
if (kondisi) t
pernyataan;
)else if{
pernyataan i
) else 1

pernyataan;
)

Sumber: Dokumen penerbit


Gambar 7.91 Pseudocode bentuk pernyataan nested il
Kondisi nested ,f i"g^ bisa digambarkan melalutflowchart, seperti yang
ditunf ukkan pada Gambar 7.92.

Gambar 7.92 Flowchort kondisi nested if

Untuk lebih memahaminya, perhatikan kode program y^ng


ditunjukkan pada Gambar 7.93.

#include <iostream>'
using namespace std;
int main O {
Iong harga:0;
char KodeBaju, Ukuran;
string Merk;
cout ((rr \l:- Progra6 Cek Harga Baj u :=\n\n,r;
cout (("Masukkan Kode Baju: (piIih 1 atau 2l u .

cout <("Masukkan Ukuran Baju : (pi1ih s atau m)";

!nformatika Kelas X
if (KodeBaju:: '1 ' ) {
Merk:tt IMPtt ;
if (Ukuran::t S t I I Ukuran::t st){
harqa:200000;

else if (Ukuran::'Mr I I Ukuran::'mt ) {


harga:220000;
)
else {
harga:250000;

else if (KodeBajtl=:'2'| {
Merk:l'prada";
if (Ukuran::f Sf I I Ukuran::tst ) t
harga:150000;
)
else if (Ukuran::tMt I I Ukuran==rmt ) t
harga:l60000;
)
else {
harga:l70000;
I
)
else {
Mer'k:ttErorrrr i
Ukuran :fxr.i
cout (( rr \n:= Sa1ah f nput Kode Ba j u ::" ;
)

return 0;

Sumber: Dokumen penerbit


Gambar 7.93 Contoh program nested if

Bab Vtt Algoritma dan pemrograman


f
Hasil y^ng diberikan dari program di atas (Gambar 7.93) akan
bergantung pada Kode Ba j u dan Ukuran Ba j u yang kalian masukan.
Untuk lebih jelasnya, perhatikan Gambar 7.94.

:: Pro'gram Cek Harga Ba j u ::


Masukkan Kode Ba j u : (pi 1ih 1 atau Z) 1
Masukkan Ukuran Baj u : (pilih s atau m) s

Merek Baju : IMP


Ukuran Baju : s *
Harga Baju : ZOOfiO

(a)

:: Program Cek Harga Baju ::


Masukkan Kode Ba j u : (pilih 1 at.au 2) 4
Masukkan Ukuran Ba j u : (pilih s atau m) 1
Merek Baju : Error
Ukuran Baju : x
Harga Baju : 0

(b)

Sumber: Dokumen penerbit


Gambar 7.94 Hasil program nested if jika: (a) kode dan ukuran baju benar, (b) kode dan ukuran baju salah

G. Struktur Kontrol Perulangan


Konsep dan can kerja dari struktur kontrol perulangan dapat kalian
lihat dari aktivitas sehari-hari, salah satu contohnya adalah aktivitas
berialan kaki. Pada saat berjalan kaki, kalian akan melakukan gerakan
melangkahkan kaki kanan dan kiri secara berulang-ulang. Contoh larnnya
adalah ketika kalian membaca buku, maka kalian akan membalikkan
halaman y^ng telah dibaca menuju halaman selanjutnya.
Komputer memiliki beberapa kelebihan dibandingkan dengan
manusia, yaitu kompute r dapat melakukan pengolahan data dengan
ukuran y^ng cukup besar atau melakukan perintah secara berulang-ulang
t^nPa merasa lelah atauPurr bosan. Hal tersebut dapat dilakukan dengan
struktur kontrol perulangan.
Perulangan (loop) merupakan struktur dan program untuk kepeduan
iterasi. Iterasi merupakan suatu pemrosesan dari satu atau beberapa
perny^t^an berulang (loopins terhadap kondisi tertentu.
J^&,dapat disimpulkan struktur kontrol perulangan adalah suatu
penyelesaian yane digunakan untuk menjalankan petny^taan (statemenl)

lnformatika Kelas X
yangsama dan berulang. Berikut bebe r^p^ Pernyata n y^ngdapat diiadikan
contoh dari penggambaran perul^ngan, antara lain:
a. mencetak nilai integer secara berurutan kurang dari 100,
b. mencetak 5 bilangan genap pertama berurutan, dan
c. mencetak 10 barisan fibonacci pertama.
Terdapat beberapa jenis struktur kontrol perulangzn, yzttrt struktur
kontrol while, do-while, for, dan bersarang.

1. Struktur Kontrol Peruianga n White


Salah satu cara y^ngdigunakan untuk menulis Pernyaitzan secar^ berulang-
ulang adalah dengan menggunakan perulangan while. Sintaks while akan
melakukan proses pengul angan suatu blok Pernyat^an selama kondisinya
memiliki niai true. Namun ketika kondisnya memiliki nilai false, maka
pernyat^an dalam blok bisa saia tidak dtialankan sama sekali. Bentuk
dari perulangan ahite dapat ditulis meniadi bentuk pseudocode seperti
Gambar 7.95.

while (boolean-expressj-on) {

statement.;
]

Sumber: Dokumen penerbit


Gambar 7.95 Pseudocode perulangan while

; Perulangan while juga bisa digambarkan melalurflowchart, seperti yang


a
t'
ditunjukkan pada Gambar 7.96.
I
Salah satu contoh dari kasus kondisi perulangan wbile dapat dilihat
?,

7 Sumber: Dokumen penerbit


a pada kode program yang ditunjukkan pada Gambar 7.97. Gambar 7.96 plsutslrort perulangan while

#incl-ude (iostream)
using namespace std;
?
int main O {
2 int i=0;
while ( i<5 ) {
cout <<i;
i++;
)
return 0;

Sumber: Dokumen penerbit


Gambar 7.97 66n1sh program dengan kondisi perulangan while

Bab Vll Algoritma dan Pemrograman


Ketika program dari Gambar 7.97 dijalankan, maka hasilnya akan
seperti Gambar 7.98.

; 0t23 4

:::'# :":T:," ;:,:: " ^pe ru, a n ga n whi,e

Bagarmana proses kode program pada Gambar 7 .97 sehingga


menghasilkan oatput seperti Gambar 7.98? Perhatikan penjelasan berikut.

^.
Sebuah vanabel i
diberikan nilai 0 sebagai indeks, ketika memasuki
kondisi dengan variabel i y^ttg bernilai 0 maka akan memenuhi
syaraf kurang dari 5.
b. Program be\alan ke blok while (i<5) dan mencetak nilai i yaitu
0.
c. Terdapat increament dari, variabel i (i++) sehinggavatabel i akan
sekarang bernilai 1.
d. Program akan melakukan perulangan ke baris kondisi dengan
memberikan nilai 1 y^ng merupakan hasil dari increament vanabel
idan membandingkan kembali variabel i tersebut dengan syar^t
kurang dari 5.
e. Karena masih memenuhi, maka blok whil-e masih berjalan. Program
akan berhenti ketika nilai sudah bernilai 5.

2. Struktur Kontrol Perulanga n Do-While


Struktur kontrol do-abile memiliki kemiripan dengan perulangan wbile,
yakni pernyat^an di dalam do-while akan dijalankan beberapa kali selama
kondisi memiliki nilai benar (trae). Perbedaan antar^ perulangan abile dan
do-wbile adalah peffry^t^an di dalam perulang an do-while loop akan selalu
driilankan paling sedikit satu kali. Bentuk struktur perulangan do-while
dapat ditulis menjadi bentuk pseudocode seperti Gambar 7.99.

do{
statementl;
statement2 t
)
whi].e (boolean-expres s j_on );

Sumber: Dokumen penerbit


Gambar 7.99 Pseudocode perulangan while
Condition while

Perulangan do-while juga dapat digambarkan melalut flowcbart, seperti


Sumber: Dokumen penerbit
Gambar 7.1O0 Flowchort perulangan do-
y^ng ditunjukkan pada Gambar 7.1,00.
while

lnformatika Kelas X
Salah satu contoh dari kasus kondisi perulangan do-wbile dapat dilihat
pada kode program yang dituniukkan pada Gambar 7.1'01.

#include (i-ostream>
using namespace std;
int main O {
int i-:0 i
do{
cout <<i;
i++;
) while 1i<5);

return 0;
)

Sumber: Dokumen penerbit


Gambar 7.101 Contoh program dengan kondisi perulangan do'while

Ketika pfogram dari Gambar 7.1,01 diialankan, maka hasilnya akan


seperti Gambar 7.1'02. 0L234
Bagaimana pfoses kode program pada Gambar 7.1,01, sehingga
Sumber: Dokumen penerbit
menghasilkan output seperti Gambar 7.1,02? Perhatikan penielasan berikut. Gambar 7.102 Hasil program perulangan
a. Diberikan sebuah variabel i dengan nilai 0 sebagai indeks ("ilri awal). do-while

b. Memasuki blok perulangan do while (i<5) maka statement cetak


t akan dijalankan.
c. Terdapat increament (i++) maka variabel i memiliki nilai f .
d. Karena sy^fat i yaitu kurang dari 5 masih memenuhi, maka pfogfam
akan mengulang ke baris kondisi dan membandingkunnya kembali
variabel i tersebut dengan syarat kurang dari 5.
e. Program tersebut akan berhenti ketika nilai bernilai 5.
Cobalah bandingkan perularngan wbile dan do-wbile! Apa hasil y^ng
kalian dapatkan?
("ilridan masih menggunakan
awal) dituliskan j-:10
Jika nilai indeks
kode program yang sama dan hanya mengganti nilai indeks, maka
perbedaan hasil kode program kondisi wbik dan do-wbile akan seperti
Gambar 7.1,03.

(atau kosong) 10

(a) . (b)

Sumber: Dokumen penerbit


Gambar 7.103 Perulangan dengan kondisi: (al while dan (b) do-while

Bab Vtt Algoritma dan pemrograman


f
Dari Gambar 7.1,03 (a) tampak bahwa pada kondisi wbile program
dapat berjalan, namun tidak memiliki hasil karena nilai 10 lebih dari
5 sehingga bernilai salah. Sedangkan pada Gambar 7.1,03 @) tampak
bahwa pada kondisi do-abile program tetap memiliki hasil meskipun
bernilai salah, walaupun dijalankan setidaknya satu kali.

3. Struktur Kontrol Perulangan For


Struktnr kontrol perulangan for disebut iuga dengan for loop. Bentuk
struktur perulangan for dapat ditulis menjadi bentuk pseudocode seperti
Gambar 7.704.

Sumber: Dokumen penerbit


Gambar 7.104 Pseudocode perulangan for

Di dalam strukturl0r loop memiliki proses inisialisasi indeks dimulai,


indeks berhenti, dan step ekspresi indeks. rnisialisasi yang dimaksud
adalah inisialisasi dari variabel loop. Sedangkan kondisi memiliki fungsi
untuk membandingkan variabel loop pada nilai batas tertentu. Step-,
ekspresi memiliki fungsi melakukan update terhadap variabel loop,pada
umtrmnya betupa penambahan atat pengurangan. Untuk lebih felasnya,
perhatik^i pernyataan (statenmfi pada Gambar 7.1,05.
Pernyataan pada Gambar 7.1,05 memiliki arti bahwa j-:1 merupakan
inisialisasi, dengan variabel i merupakan variabel loop. Sedangkan
i<5 merupakan 'kondisi apabila nilai variabel i mencapai batas (i<5)
maka loop akan berhenti. Kemudian pernyat^ n i++ merupakan step_
Sumber: Dokumen penerbit ekspresi dimana variabel i mengalami penambahan 1 atau dapat irrg,
Gambar 7,LOS Stotement perulangan loop dinyatakan dengan i:i+1 (i++).
Perulangan for iuga bisa digambarkan melalui flowcbart, seperti yang
ditunjukkan pada Gambar 7.106.

For (init; kondisi; step)

Sumber: Dokumen penerbit


Gambar l.tOe fiowchort perulangan lor

lnformatika Kelas X
Salah saru contoh dari kasus kondisi perulangan for dapat dilihat
pada kode program yang dituniukkan pada Gambar 7.1,07.

#include (iostream>
using namespace std;
int O t
main
for ( int i:1 ; i<6; i++ 1 {
cout <<i;
)
return 0,'
)

Sumber: Dokumen penerbit


Gambar 7.107 Kode program dengan kondisi perulangan /or

Ketika program dari Gambar 7.707 dtialankan, maka hasilnya akan


seperti Gambar 7.108.

L2345

Sumber: Dokumen penerbit


Gambar 7.108 Hasil program perulangan/or

Dari Gambar 7.1,07 dan Gambar 7.108 tampak bahwa kode Program
bertujuan mencetak atau menampilkan nilai i secara berulang sebanyak
<6 (<urang dari 6) atau 5 kali.
Jika ingin menggambarkan loop menggunakan batasan kurang dari
sama dengan (<:), maka perhatikan kode program pada Gambar 7.1,09.

#include (iostream>
using namespace std;
int O {
main
for (int t:L; i(=6; i++) {
cout <<i;
)
return 0;
)

Sumber: Dokumen penerbit


Gambar 7.109 Kode program kondisi perulangan /or dengan <=

Bab Vtt Algoritma dan pemrograman


f
Ketika program dari Gambar 7.1.09 dtialankan, maka hasilnya akan
L23456 seperti Gambat 7.110.

Sumber: Dokumen penerbit


Dari Gambar 7.108 dan Gambar 7.1,10 tampak bahwa terdapat
Gambar 7.1.10 Hasil program perulangan perbedaan struktur perulangan dengan batasan kurang dari (<) atau
for dengaffts lebih dari (>) dengan batasan kurang dari sama dengan (<:) atau lebih
dari sama dengan (>:).

4, Struktur Kontrol Perulangan Bersarang (Nested


forl
Seperti halnya dengan struktur keputusan, struktur perulangan irrg,
memungkinkan untuk membuat sebuah peffry^taan di dalam pernyataan.
Kondisi nested for dapat dituliskan menjadi benntk pseudocode, seperti yang
ditunjukkan pada Gambar 7.1,1,1,.

for (inisialisasi; kondisil; step_ekspresil) t


for ( inisialisasi2; kondisi2 i step_ekspresi2 )

{ pernyataan i
aaa

)
)

Sumber: Dokumen penerbit


Gambar 7.ttI- Pseudocode bentuk pernyataan nested for

Kondisi nested for juga bisa digambarkan melalui flowcbart, seperti


yang ditunfukkan pada Gambar 7.1,12.

For (init; kondisi; step)

For (init; kondisi; step)

Sumber: Dokumen penerbit


Gambar 7.t,12 Flowchort kondisi nested/or

Untuk lebih jelasnya, perhatikan kode program perulangan nested for


y^ng ditunjukkan pada Gainbar 7.11,3.

lnformatika Kelas X
+
#include (iostream>
using namespace std;
int main O i
int tinggi;
cout <<"Tinggi : " ; cin))tinggi,'
for (int i:0; i <tinggi; i++ 1

i
for (int j :0; j<:i; j++)
{
cout << " 0 ll .
,
)

Sumber: Dokumen penerbit


Gambar 7.113 Contoh program perulangan nested for

Contoh kode program di atas (Gambar 7 .113) bertuiuan untuk


membuat suatu barisan bilangan berbentuk segitigabilangan 0, sehingga Tinggi
menggambarkan perulang an yangterjadi di dalam perulangan. Perulang tl 0
yang pertalm^ dimulai dari memasukkan titgg dari segitiga bilangan 0 00
ke indeks i:0 s.d. i<tinggi. Setiap indeks akan terjadi pengulangan 000
yang dimulai da:ii. 1:0 s.d. j (:I, sehingga akan mencetak statemenl sesuai
dengan titgs y^Lg dimasukkan. Sumber: Dokumen penerbit
Gambar 7.114 Hasil program perulangan
Jika tingg yang dimasukkan 3, maka hasil program setelah eksekusi nested for
akan seperti Gambar 7.11,4.

Keria kan soa l-soa I berikut seca ra berpasa ngan !


1. Buatlah/owchort struktur kontrol keputusan switchl
2. Bualtlah program untuk menghitung rata-rata 5 bilangan menggunakan
struktur kontrol perulangan !
3. Apakah struktur kontrol kuputusan nested if dan struktur kontrol
perulangan nested for dapat berada pada kode program yang sama?
Jelaskan!

H. Fungsi
Di dalam matematika tentu kalian tidak asing dengan fungsi, misalnya
membuat suatu persamaan menggunakan fungsi seperti _y --'flx) - x -
1. Fungsi dari flx) yarru untuk menerima masukan dan x yang disebut
dengan daeruh yang menghasilkan nilai y.

Bab Vll Algoritma dan Pemrograman


I

Jrdi, dapat disimpulkan fungsi dalam pemrograrman adalah untuk


melambangkan kumpulan pernyat^afl y^ng memiliki tujuan tertentu.

1. Membuat Fungsi
Ketika akan membuat fungsi baru, maka pedu memperhatikan beberapa
hal berikut.
Nama fungsi y^ngzkan mempresentasikan tujuan dari fungsi tersebut.
^.
b. Parameter yang akan dimasukkan ke dalam fungsi tersebut.
c. Nilai y^ng akan dikembalikan.
Untuk tebih memahaminya, perhatikan contoh program pada
floet Luaslingkaran; Gambar 7.1,1,5.
Dari Gambar 7.1,1.5, tampak bahwa terdapat fungsi untuk menentukan
Sumben Dokumen penerbit luas lingkaran yaitu Luaslingkaran. Kemudian, parameter yattg
Gambar 7.115 Contoh program dengan digunakan yaitu tipe data f loat karcna akan menampung nilai dibelakang
menggunakan fungsi
koma. Ketika fungsi dipanggrl maka fungsi akan mengembalikan nilai
f l-oat y^ng merupakan luas dari lingkaran.

2. Memanggil Fungsi
Setelah dapat membuat fungsi, maka langkah selanjutnyayaitt memanggil
fungsi di program. Perhatikan contoh program pada Gambar 7.1,1,6.

#include (iostream>
using namespace std;
int main O {
float LuasLingkaran;
float radius;
cout <("Masukkan radius lingkaran : " ; cin>>radius;

Luaslingkaran : 3. 1-4*radius*radiusi

cout <<f'Luas Lingkaran : ";


cout ((LuasLingkaran<<endl;
return 0;

Sumber: Dokumen penerbit


Gambar 7.116 Contoh program menggunakan fungsi

Ketika program dari Gambar 7.11,6 dijalankan, kemudian kalian


memasukkan nilai radius lingkaran maka hasilnya akan seperti
Gambar 7.1,17.

lnformatika Kelas X
Masukkan radius lingkaran = 10
Masukkan radj-us lingkaran = n
Luas Lingkaran:314
(a) (b)

Sumber: Dokumen penerbit


Gambar 7.1L7 (al Hasil program saat dijalankan dan (b) hasil program ketika memasukkan radius lingkaran = 10

Keriakan soal-soal berikut secara individu!


1. Buatlah program yang menggunakan fungsi untuk menghitung luas
persegi panjang!
2. Diketahuiterdapat program yang menggunakan fungsi LuasLingkaran
dan tipe data int. Jika diketahui radius sebuah lingkaran adalah 11, maka
berapa luas lingkaran yang akan ditampilkan?
3. Buatlah 3 contoh fungsi dalam bahasa pemrograman!

l. Perbedaa n Coding dan Pemrograman


Setelah mempelaianbab ini, kalian tentu sudah tidak asing lagi dengan
pemrogra;mzn. Namun, apabtla sudah mempelajari pemrograman apakah
dapat dikatakan kalian sudah menguasai pemrograman? Jawabanrrya belum
tentu, karena salah satu aspek seseorang menguasai pemtograman adalah
kemampuall menuliskan suatu kode program atal) dapat disebut coding.

Lalu, apabrla kalian telah memiliki kemampuan coding apakah kalian


sudah menguasai pemro graman seutuhnya? Untuk lebih memahaminya,
perhatikan Tabel 7.19.

Tabel 7.19 Perbedaan Coding dan Pemrograman

Definisi Aktifitas menulis kode program dengan Aktifitas proses untuk mengembangkan
memakai bahasa pemrograman tertentu. solusi program dari penyelesaian suatu
masalah.

Keahlian yang dibutuhkan Membaca dan mengetik dari sintaks Melakukan berfikir secara komputasional,
bahasa pemrograman tertentu secara perancangan algoritma, pemodelan
benar. masalah,dan manajemen proyek.
Perangkat yang digunakan Editor teks. Editor, perangkat analisis, desain, dan
pengujian.
Hasil Kode sederhana yang terbatas. Program jadiyang sudah dapat digunakan .

Bab Vll Algoritma dan Pemrograman


Online Compiler

Compiler sangat dibutuhkan untuk membaca dan menerjemahkan kode program. Pada umumnya software compiler
adalah berbayar dan harganya terbilang cukup mahal. Namun, saat ini terdapat online compiler yang dapat diakses
secara gratis salah satunya adalah https://www.onlinegdb.com/. Pada situs tersebut kalian dapat menerjemahkan bahas
C atau C++. Berikut tampilan yang akan kalian lihat.

2
3 Online C++ CoqiLen.
1 Code, Copile, Run and Debug Cla pnogran online-
5 l{rite your code in this editor rnd press "Run- button to <mpile end executQ it.
6
7
8
9 linclude <ioltrail>
LO
11 using narespace stdi
t2
13 int sino
14. {
15 cot<<'tlellot{orld";
16
17 return O;
18 1
19

CofintldInetgufiEnB, I

srroaorrprtOrrtraoiacomolc CTcd

Sumber: Dokumen penerbit

pada bagian atas kanan terdapat longuage, kalian dapat memilih bahasa program apa yang ingin diterjemahkan.
Kemudian terdapat tombol runyang berfungsi untuk menerjemahkan atau menjalankan kode program yang telah
ditutiskan. Hasil terjemahan kode program akan ditampilkan pada bagian bawah. Untuk lebih jelasnya perhatikan
gambar berikut.

+ 14
online C++ (onpiler. + t7
Code, Copile, Run and Oebug (++ progran online. jC lrurorcr
l{.ite youn code in this editor and press "Run" button to <mpile and execute it. I
C++ (rurDoc)
i Java
iryno" s
I
PHP
{in(1ude <iostreil> ic*
10 iVB
11 usinS narespace gtd; i
HTML JS cSS

t2 I
n,ry
Perl
1l int rsino I
iPasl
14 't ln
15 cdt<<"Hello tlorld".; ronran
I
15 Haskell
t7 return Oi I
l4!9s!!!199!_L -
18 I
19

Cornp{ed Succ6srtfy. ,nernory: 2684 tflE: 0 etd code: 0

h.lIo lSrld

Sumber: Dokumen penerbit

lnformatika Kelas X
1. Algoritm^yangdibuat harus dapat menggambarkan penyelesaian dari masalah y^ngdapat dimengerti
oleh orang lain, sehingga pedu mempelaj^rt car^ membuat dgoritma yang baik dan benar agar
dapat membantu ketika membuat suatu program. Terdapat t7ga. cata menyaiikan algoritrna yaitu
dengan menggunalan simbol instruksi, di4gram aJr (flowcbaQ, dan kode semu (pnudocode). Setelah
membuat algoritma, malla langkah selaniutnya yaihr membuat program. Progmm dapat dibuat
dengan bahasa pemrograman C dan C++ yaflg termasuk ddam bahasa pernrograman prosedural.
2. Variabel dan tipe data merupakan komponen teqpenting dalam suatu pemrograman. Tiap program
menggunakan nilai pasti akan membutuhkan variabel sebagai penampung nilai tersebut. Nilai
yang digunakan dalam program dapat berupa numerik, karakter, maupun teks.
.
3. Pengambilan keputusan dalam sebuah program ftondisiond), merupakan suatu pilihan yang
didasari dari kondisi tertentu. Sedangkan struktur kontrol perulangan adalah suatu penyelesaian
yang digunakan untuk menjalankan pernyataafl (statenenfl yang sama dan berulang.

A. Berilah tanda centang (V)pada kotak yang kalian anggap sesuai! Setelah mempelajari dan mengeriakan tugas-tugas
pada bab ini, bagaimanakah penguasaan kalian terhadap materi-materi berikutt

1 Algoritma

2 Bahasa pemrograman prosedural

3 Bahasa pemrograman C dan C++

4 Komponen program dalam


bahasa C++

5 Ekspresi

6 Sruktur kontrol keputusan

7 Struktur kontrol perulangan

8 Fungsi

9 Perbedaan coding dan


pemrograman

B. Dari materi pada bab ini, bagian manakah yang paling sulit kalian pahami? Jelaskan alasan kalian!
C. Setelah mempelajari dan mengerjakan tugas-tugas pada bab ini, profil pelajar Pancasila apa saja yang muncut?
Jelaskan jawaban kalian !

Bab Vll Algoritma dan Pemrograman


Uji Kompetensi
A. Pilihlah jawaban yang benar!

1. Suatu prosedur y^ng memiliki urutan langkah 4. Apabila x=5 dan y=6,makay^ngbernilai TRUE
demi langkah pasti atau logis untuk menyelesaikan adalah ....
suatu masalah disebut .... A. x==y
A. proses D. program B. x)=y
B. alur E. altr C. x(=y
C. algoritma D. x>y
2. Pada pembuatan suatu Program kompute4maka E,. x><y
algoritma dibuat pada .... 5. int x:5;
A. pada saat program dibuat System.ouL.println ("x : "+ (--x) );
B. sesudah pembuatan program
Hasil dari operasi di atas adalah ....
C. pada saat verifikasi Program
D. sebelum pembuatan Program
4.5
E. pada saat Progrum dtialankan
B.4
c.6
3. Tipe data y^ng digunakan untuk memasukkan
D.7
nilai siswa adalah ....
E.8
A. int D. char
B. float E,. defaalt
C. long

6. Perhatikan program berikut.

#include <iostream>
using namespace std;
int main O {
intx=2;
/ / menggunakan operator ternary

return 0;
)

Program di atas menggunakan operator ....


A. penugasan D. decrement

B. aritmatika E. ternary
C. increment

E lnformatika Kelas X
7. Perhatikan program berikut.

#include (iostream>
using namespace std;
void bu1an O {
cout <(r'Satu tahun ada L2 bulan ! \n";
)
int main ()

{
bulan ( ) ;
return 0;
)

Nama fungsi dari program di atas adalah ....


A. void D. cout
B. bul-an E. namespace
C. int
8. Perhatikan gambar berikut. '1,1. Perhatik^n n mafle beaderberikut.
1) (iostream) 3) <cstdio.h>
2) (string> 4) <cstdlib.h>
File beader y^ng termasuk library murni milik
Fungsi dari simbolflowchart dt atas adalah ....
bahasa C++ adalah ....
A. menunjukkan titik awal dan akhir
A. 1, dan 2 D. 2dan4
B. menunjukkan proses yang dikerjakan suatu
B. 1dan3 E. 3dan4
pfogram
C. 2dan3
C. menuniukkan operasi perbandingan logika
D. menunjukkan hubungan suaru titik dengan 12. Komponen program bah asa yarTg berfungsi
titik lain sebagai pengenal atau pengidentifikasi
^gar
dikenal oleh compiler adalah
E. menunjukkan titik ketika program menerima ....

masukan data A. kelword


B. komentar program
9. Dalam penyajran algoritm a, y^ng menggunakan
bagan dalam penyaiiannya disebut ....
C. identfier
A. instruksi D. flowchart
D. variabel
B. simbol E. kode
E. tipe data
C. pseadocode 1,3. Perhatik an s tate m en t i de n tifi er
berikut:

10. Hasil dali 1,0o/o3 adalah ....


l) long 1200; 3) long Y4;

4.0 D.3 2) long 5X; 4) long X12;

B. 1 F,.4 S tatement y^ngbenar adalah ....

c.2 A. 1, dan 2 D. 2 dan 4


B. 1, dan 3 E. 3 dan 4
C. 2dan3

Bab vlt Algoritma dan pemrograman


f
14. Berikut y^ng bukan merupakan tipe data dasar 3) )lka saya sakit, maka saya minum obat, irka
adalah .... tidak maka saya hanya minum vitamin.
A. boohan 4) Jika ia termasuk kriteria pegawai, maka ra
B. integer diterima sebagai pegaurai baru.
C. floating-point Petnyatzan y^ng menggambarkan kondisi y'
D. karakter adalah ....
E. affa) A. 1, dan 2 D. 2dan4
15. double nilaiMhs : 88; B. l dan3 E. 3dan4
C. 2dan3
Yang merupakanvanabel addah ....
A. nilaiMhs 18' Tipe data yang memPresentasikan data-data
bilangan y^ng mengandung angka di belakang
B. double
koma adalah ....
c. 88
A. integer D. boolean
D. Double nilaiMhs
E.
B. floating arraJ
E. nilai
C. floating-point
16. Tahapan untuk melakukan Penyelesaian dari
19. Struktur kontrol perulang an ymrg akanmelalukan
suatu masalah adalah ....
proses pengulangan suatu blok Pernyata,an
A. -+ model + dgoritma + progfam
masalah
selama kondisinya memiliki nilai tnte. Namun,
+eksekusi +hasil
apabtla kondisi bernilai false, maka Pernyataan
B. masalah -+ pseadocode + flowchart +
dapat tidak dii alankan sama s ekali. Jenis struktur
+ eksekusi + hasil
program
kontrol perulangan tersebut adalah ....
C. masalah + model + algoritrna + eksekusi
A. ahile D. switch
-+ hasil
+ B. do-wbile E. feke
D. masalah + algoritma + flowchart
C. for
program + eksekusi+ hasil
E. masalah + model + flowchart + program 20. Hasil dari suatu codingadalah ....
+ eksekusi + hasil A. kode sederhana y^ng terbatas
t7. Perhatikan pernyata l berikut.
B. program y^ng siap untuk digunakan
1) Jika sekolah libur, maka siswa senang, iika C. berupa editor teks
sekolah tidak libut maka siswa kecewa. D. suatu algoritma pemrograman
2) Jika baniir, maka sekolah diliburkan. E. perangkat analisis

B. Selesaikan soal berikut dengan singkat dan benar!


1. Jelaskan fungsi danfile beader dan berikan contoh ketika digunakan dalam penulisan suatu program!
2. a. Jelaskan fungsi dari komentar program!
b. Jika komentar lebih dari 1 baris, maka bagumanakah penulisannya?
3. Buadah suatu algoritma untuk penyelesaian masalah sehari-hari!

4. Buatlah program dengan menggun akan struktur kontrol perulangan untuk menyelesaikan suatu masalah!

Jelaskan perbedaafl Lnt^ra tipe data,vanabel, dan konstahta dan berikan contoh ketika dituliskan
5. dalam
suatu program!

lnformatika Kelas X
Pemrogranan yailu suatu proses yang meliputi Beberapa hal yang harus dipahami saat
menulis, testing, memperbaiki, dan memaintenace merancang program : Algorima, ffi,
(memelihara) perintah-perintah (kode/ script) dari pofue. Buu pcndbm pogrm, rilig
sebuah program komputer. dcbqdurmainmgu.
ttttttrtlllltltrrlltrtlttaattllltatrll tttlraltltllralrtltttarrltalarattlttrl

0igin.fing : Pengumpulan data


[Dut: Memasukan data llE flntcgntd Derchpcm fnvirumcn )
Prcca: Memproses Proses data Software untuk menulis kodekode program
Orgrt: Menampilkan data berupa informasi dan menjalankan program. Contoh: Ar*oid
Disributim : Mendistribusikan data Shrdo, Alonr, VsCodG, lefbcurs, dll.
Ialataatlltllatlttltrtlltlltllllrrltrr lrrllalrrllltltrlattlrlrrlrllr!alltlal

Kd.gori B.h.sr Pemrogramrn :


Bahasa Tingkat Tinggi & Bahasa Tingkat Rendah
Jmb B$asr Pcmrogrrnen:
Java, C.+, Cl, Prscal, Php, Ruby, dll.
lllaarrlttlatltttatalllraarltt!atrllat
Sumber: https://badoystudio.com/wp-content/uploads/2015/03/pemrograman-dasonpng

I
I 1. Dari infogtafis di atas, yangtidak termasuk konsep dasar pemrograman adalah
I A. input D. distribution
I
/ B. o,ltPilt E. kode
I
C. proses
i
I
, 2. Berdasarkan infografis di aas, ada bebenpaproses yang dalam pemrogramafi.Berilah tanda centang
({) pada pilihan kalian.
a
I
tr Menulis tr output
I tr Testing I Maintenace
tr Inpat
3. Manakah Perny^t^an berikut yang sesuai atau trdak sesuai dengan infografis di atas? Berilah tanda
centang ({) pada pernyataan berikut yang benar atau salah!

semua bahasa pemrograman memiliki tingkatan kategori yang sama.


IDE adafah softwore untuk menulis kode dan menjalankan program.
Distribution adalah salah satu konsep dasar pemrograman yang berfungsi untuk
memproses data.
Hal-halyang harus dipahami saat merancang program adalah algoritma,
flowchort, dan pseudocode.

Bab Vll Algoritma dan Pemrograman


4. Bahasa Pemrograman Java, C++, C#, Pascal, Php dan Ruby memiliki tingkat kategori y^ngsama,
yaitu kategori tingkat ti"gg. Setujukah kalian dengan pendapat tersebut?
Berilah tanda centang (rr) pada pilihan kalian.
tr Setuiu
tl Tidak setuju

Jelaskan pendapat kalian!

EE
Keriakan tugas berikut secara berkelompok!
Dalam kehidupan sehad-hari kalian tidak tedepas dari penggun^ n
lisuik. Misalnya, untuk menghidupkan lampu atau menyalakan televisi.
Petusahaan Usrik Negara eLry merupakan badan milik negarz y^ng
mengatur penyediaan listrik bagi masyankat Indonesia.
Terdapat dua ienis metode pembayaran listrik yaitu, prabayar dan
pascabayat Metode pnbayar umurnnya menggunakan sistem token listrik,
sedangkan pascabayar dengan melihat penggunaan listrik selama sebulan
padameteran listrik untuk mengetahui iumlah yang harus dibayarkan.
'
Diskusikanlah secara berkelompok untuk menjawab peft^nyaan
berikut!
1. Carilah info tentang pembayaran tagihan listrik PLN dengan sistem
pascabayad Sumber: hnps: / / bit.ly / 3 Bd oS K5

2. Dari hasil info yang telah didapatkan, buadah algoritma dan program untuk menghitung tagihan
listrik PLN dengan sistem pascabayar menggunakan struktur!
3. Jelaskan apa saia kendala yang kalian hadapi ketika membuat program siap pakai untuk menghitung
tagihan listrik PLN!

r"?'

I Smart Quiz
Untuk menambah pemahaman
kalian tentang materi bab ini,
pindailah QR code berikut!

tnformatika KetasX
@

Anda mungkin juga menyukai