Bab Vii Informatika Kumer - Kompres
Bab Vii Informatika Kumer - Kompres
Bab Vii Informatika Kumer - Kompres
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.
lnformatika Kelas X
Tabel 7.2 Simbol Flowchorf dan Fungsinya
Flowline (Garis alir) Menunjukkan arah aliran suatu program dariawal sampaiakhir.
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.
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).
rc lnformatika Kelas X
d. Flowtcbctrt 4: Menghitung Keliling Lingkaran
Perhatikan contoh flowcbart menghirung keliling lingkaran seperti yang
dituniukkan pada Tabel 7.6.
lnformatika Kelas X
Else
Tombolsudoh hijau = nosi matang
Print hosil
End
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
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 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/
// Fungsi Utama
int main (void) {
S t a temen t_yang_a kan_di I a ku kan ;
return 0;
#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;
)
File heade, (fr|, dengan ekstensi .h) merupakan file yang berisikan
deklarasi, bisa berupa konstanta, fungsi, kelas, narnespace, dan sebagainya.
#incLude (iostream>
using namespace std;
int main O {
int x;
/ * Menampilkan teks untuk informas j_ * /
cout << I'Masukkan bilangan bulat I " ,.
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.
ffiilffi
Sumber: http s: / /b itly / 3 7 T I erN
Gambar 7.tl File instoller Dev-C++
i
I
lnformatika Kelas X
3) Tentukan direktori tuiuan instalasi, lalu klik Install.
Clroe HC tocdist
Choose he trder h wtich b irsd Dev{++ 5.11.
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
ffi
Sumber: https : / /bit.ly /3 DmjAl 0
Gambar 7.14 Proses instalasi
El oev-c*+ 5.11
Fhfilr
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 ctor.
I Ctore Pro.lect
I Close att Sh[t-Ctrl"W
lmpoil
l geort
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;
Errors:
I
f] Slprtcn compilcr prthg
Ifarni,ngs:
O
0
lnformatika Kelas X
#include (iostream>
using namespace std;
int main ( )
{
return 0;
)
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;
)
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
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
#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;
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++
int A, B, 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.
#include (iostream>
using namespace std;
int main O {
int X;
/ / Menampilkan nilai X sebelum
/ / dilakukan pengisian (assj-gnment)
return 0;
)
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)
return 0;
)
:
Nitai X sebelum assignment: 5
)
Nilai x setelah assignment: L0
)
)
// Membuat fungsi main ( ) atau fungsi utama
int main O t
/ / Mengisikan (assign) nilai ke dalam variabel A
A : 10;
test O;
return 0;
)
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
test O ;
return 0;
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.
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;
return 0;
Nilai x:3
Sumber: Dokumen penerbit
Gambar 7.49 Hasil program dengan menggunaka n tipe integer
return 0;
#include (iostream>
using namespace std;
int main O {
/ / Mendeklarasikan vari-abeI y
/ / dengan tipe data bool
bool benar;
tnformatika KetasX
@
/ / Melakukan assignment terhadap variaber yang benar
) else t
brr;
)
return 0;
Masukkan nilai a: 19
Masukkan ni l-ai b : 5
a lebih besar dari b
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.
#include (iostream>
using namespace std;
int main O {
/ / Mendeklarasikan variabel Karakter
rAr
/ / dan mengisinYa dengan nilai
char Karakter = tAti
return 0;
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
return 0;
L0299999
Nur Alamsyah
Kayutangi
Banj armas in
Sumber: Dokumen penerbit
Gambar 7.58 Hasil program yang menggunakan tipe terstruktur
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
#include (iostream>
using namespace std;
int main O t
int a, b;
a : 2;
b = 5;
a=b;
b = 7;
return 0;
#include (iostream>
using namespace std;
int main O t
int xt y, zi
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.
Operator Logika
OR lt atau
Operator Relasional
lebih dari
kurang dari
#include <iost,ream)
using namespace std;
int main O i
int a : 6, b : j;
bool hasil;
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.
#include (iostream>
using namespace std; Keriakan soal-soal berikut
int main O { secara berkelompokl
Hasil y^ng diberikan dari program di atas (Gambar 7.70), akan tampak
seperti Gambar 7 .71.
Sumber: Dokumen penerbit
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.
if (kondisi) {
statement
)
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
return 0;
)
(atau kosong)
if (kondisi) t
s tatement l-
)
else t
statement2
)
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
return 0;
)
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!
statement3
)
else if (kondisi4 )
statement4
)
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'
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.
Salah satu contoh dari kasus kondisi switcb dapat dilihat pada kode
program yang ditunjukkan pada Gambar 7.88.
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; )
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.
(a) (b)
t-
/ *Program dengan fF bersarang * /
if (kondisi) {
if (kondisi) t
pernyataan;
)else if{
pernyataan i
) else 1
pernyataan;
)
#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 .
!nformatika Kelas X
if (KodeBaju:: '1 ' ) {
Merk:tt IMPtt ;
if (Ukuran::t S t I I Ukuran::t st){
harqa:200000;
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;
(a)
(b)
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.
while (boolean-expressj-on) {
statement.;
]
#incl-ude (iostream)
using namespace std;
?
int main O {
2 int i=0;
while ( i<5 ) {
cout <<i;
i++;
)
return 0;
; 0t23 4
^.
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.
do{
statementl;
statement2 t
)
whi].e (boolean-expres s j_on );
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;
)
(atau kosong) 10
(a) . (b)
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,'
)
L2345
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;
)
{ pernyataan i
aaa
)
)
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 .
,
)
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.
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
lnformatika Kelas X
Masukkan radius lingkaran = 10
Masukkan radj-us lingkaran = n
Luas Lingkaran:314
(a) (b)
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 .
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
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
h.lIo lSrld
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
5 Ekspresi
8 Fungsi
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 !
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
#include <iostream>
using namespace std;
int main O {
intx=2;
/ / menggunakan operator ternary
return 0;
)
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;
)
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
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!
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
@