Anda di halaman 1dari 73

1|P emrograman Das ar k elas X SMK

(Indah Uly Wardati, S.Kom)


KATA PENGANTAR

Dengan mengucap puji syukur kepada Tuhan Yang Maha Esa atas petunjuk
dan bimbingan, serta hidayahnya sehingga penulis dapat menyelesai kan buku
Pemrograman Dasar Kelas X SMK.
Buku ini sebagai salah satu upaya yang dilakukan penulis untuk
memberikan pengalaman praktek pemrograman dasar kepada para siswanya
terutama jurusan Teknik Komputer dan Informatika.

Dalam buku ini lebih ditekankan pada pengalaman praktek pemrograman,


dibandingkan dengan teori. Diharapkan setelah pratikan mempraktekan isi
modul, pengertian ataupun teori dapat disimpulkan dengan sendirinya.

Akhirnya, buku ini masihlah jauh dari kesempurnaan, untuk itu saran dan
kritik dari pengguna amatlah dinantikan. Semoga buku ini bermanfaat untuk
menambah keilmuan kita.

Pacitan,

Penulis

2|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
DAFTAR ISI

Halaman Judul ............................................................. 1


Kata Pengantar ............................................................. 2
Daftar Isi ....................................................................... 3
Daftar Gambar ............................................................... 5
Daftar Tabel ................................................................... 6

BAB I ALGORITMA PEMROGRAMAN


A. Tujuan .................................................. 7
B. Materi ................................................... 7
C. Rangkuman ........................................... 8
D. Lembar Kerja 1 ..................................... 19
BAB II FLOWCHART
A. Tujuan .................................................. 13
B. Materi .................................................. 17
C. Rangkuman ......................................... 17
D. Lembar Kerja 2 ..................................... 18
BAB III PERANGKAT LUNAK BAHASA PEMROGRAMAN
A. Tujuan .................................................. 21
B. Materi .................................................. 24
C. Rangkuman ......................................... 24
D. Lembar Kerja 3 ..................................... 25
BAB IV BAHASA PEMROGRAMAN C++
A. Tujuan .................................................. 27
B. Materi .................................................. 27
C. Rangkuman ......................................... 27
D. Lembar Kerja 4 ..................................... 29

BAB V TIPE DATA, VARIABEL, OPERATOR


A. Tujuan .................................................. 33
B. Materi .................................................. 37
C. Rangkuman ......................................... 37
D. Latihan Praktikum 1 ............................ 39
D. Latihan Praktikum 2 ............................ 40
E. Tugas Praktikum ................................. 41
F. Tes Formatif ........................................ 44

BAB VI PERCABANGAN
A. Tujuan .................................................. 45
B. Materi .................................................. 46
C. Rangkuman ......................................... 46
D. Latihan Praktikum 3 ............................ 47
E. Tugas Praktikum ................................. 49
F. Tes Formatif ........................................ 51

BAB VII PERULANGAN


A. Tujuan .................................................. 53
3|P emrograman Das ar k elas X SMK
(Indah Uly Wardati, S.Kom)
B. Materi .................................................. 53
C. Rangkuman ......................................... 53
D. Latihan Praktikum 4 ............................ 55
E. Tugas Praktikum ................................. 56
F. Tes Formatif ........................................ 57
BAB VIII ARRAY
A. Tujuan .................................................. 62
B. Materi .................................................. 63
C. Rangkuman ......................................... 63
D. Latihan Praktikum .............................. 64
E. Tugas Praktikum ................................. 66
F. Tes Formatif ........................................ 68

DAFTAR PUSTAKA ........................................................ 72


TENTANG PENULIS ....................................................... 73

4|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
DAFTAR GAMBAR

Gambar 2.1 Flowchart Keliling Persegi Panjang ............ 14


Gambar 2.2 Diagram Alir Sikuen ................................... 15
Gambar 2.3 Diagram Alir Kondisional ............................ 16
Gambar 2.4 Diagram Alir Iterasi .................................... 16
Gambar 3.1 Halaman New Form Template ..................... 22
Gambar 3.2 Console Aplication ...................................... 23
Gambar 3.3 Halaman Lembar Kerja ............................... 23
Gambar 3.4 Halaman Tampilan ..................................... 24

5|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
DAFTAR TABEL

Tabel 2.1 Simbol Flowchart ............................................ 14


Tabel 5.2 Bilangan Riil ................................................... 34
Tabel 5.3 Operator Aritmatika ....................................... 36
Tabel 5.4 Operator Unary .............................................. 37
Tabel 5.5 Operator Logika .............................................. 37
Tabel 5.6 Operator Relasi .............................................. 37
Tabel 5.7 Operator Pengerjaan ...................................... 37
Tabel 5.8 Tipe data ........................................................ 38

6|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
BAB I

ALGORITMA PEMROGRAMAN

1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat memahami algoritma
pemrograman dan mampu Menerapkan algoritma pemrograman dalam
menyelesaikan masalah dengan tepat

2. Materi
Algoritma
Pengertian :
Algoritma adalah urut-urutan langkah logis penyelesaian masalah yang
disusun secara logis dan sistematis.

Cara penulisan Algoritma :


1. Dengan Kalimat :
Dengan menggunakan bahasa sehari-hari.
Contoh 1 :
Algoritma membuat secangkir kopi :
Mulai
Siapkan cangkir
Masukkan satu sendok kopi kedalam cangkir
Masukkan dua sendok gula kedalam cangkir
Masukkan air panas kedalam cangkir
Aduk kopi dengan sendok
Kopi siap untuk dihidangkan
Selesai
Contoh 2 :
Permasalahan : terdapat dua buah gelas A dan gela B, yang berisi
larutan berwarna, Gelas A : merah, Gelas B : Biru dengan volume yang
sama, Bagaimana cara menukarka isi kedua gelas tersebut ?

A B

Penyelesaian : Agar pertukaran larutan di kedua gelas dilakukan, kita


memerlukan satu gelas bantu untuk menampung sementara misalkan
gelas ketiga tersebut gelas C

7|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
Algoritma :
Mempertukarkan isi dua buah gelas A dan B
1. Tuangkan larutan dari gelas A ke gelas C
2. Tuangkan larutan dari gelas B ke gelas A
3. Tuangkan larutan dari gelas C ke gelas C

2. Dengan Pseudocode
Deskripsi dari algoritma pemrograman yang menggunakan konvensi
struktural dari suatu bahasa pemrograman, dan ditunjukkan agar
dapat dibaca oleh manusia dan bukan mesin

Struktur pseudocode
Judul { Berisi judul algoritma }
Deskripsi { Berisi Deklarasi variabel atau konstanta }
Implementasi { Berisi inti algoritma }

Contoh penulisan :
Program Menghitung_penjumlahan
{Menjumlahkan dua bilangan bulat}
Deklarasi :
a,b,c : integer
Algoritma :
input a,b
c=a+b
output “c”

3. Dengan Flowchart
Suatu standart untuk menggambarkan urutan langkah dalam suatu
proses. Setiap langkah dalam algoritma dinyatakan dalam sebuah
simbol dan aliran setiap langkah dinyatakan dalam sebuah garis yang
bertanda panah. (untuk lebih lengkapnya akan dibahas pada bab
selanjutnya )
3. Rangkuman
a. Algoritma adalah urut-urutan langkah logis penyelesaian masalah
yang disusun secara logis dan sistematis.
b. Cara penulisan algoritma : kalimat, pseudocode dan flowchart

8|P emrograman Das ar k elas X SMK


(Indah Uly Wardati, S.Kom)
LEMBAR KERJA 1

1. Tujuan
Peserta didik dapat memahami algoritma pemrograman dan mampu
Menerapkan algoritma pemrograman dalam menyelesaikan masalah
dengan tepat

2. Materi
Algoritma

3. Soal Praktikum

a. Dengan menggunakan Algoritma Kalimat, tuliskan algoritma dari


permasalahan di bawah ini :

1. Tuliskan satu contoh algoritma dalam kehidupan sehari-hari, tuliskan


langkah penyelesaian masalahnya dalam bentuk algoritma kalimat

2. Persoalan Mengambil 4 Liter air


Ada dua buah ember masing masing bervolume 5 liter dan 3 liter anda
diminta mendapatkan air sebanyak 4 liter air dari danau dengan hanya
menggunakan kedua ember tersebut tidak ada peralatan lain yang
tersedia.

3. Persoalan Petani, kambing, Serigala dan Sayur Kubis


Petani, kambing, Serigala dan Sayur Kubis tiba di pinggir sungai,
mereka harus menyebrangi sungai itu. Hanya tersedia satu perahu,
tetapi kapasitas perahu hanya mampu menampung dua muatan saja
setiap kali menyebrang. Proses penyebrangan dipersulit dengan
kenyataan bahwa serigala tidak bisa ditinggal berdua dengan kambing
atau kambing tidak bisa ditinggal berdua dengan sayur kubis.
9|P emrograman Das ar k elas X SMK
(Indah Uly Wardati, S.Kom)
Bagaimana petani bisa menyebrangkan semuanya sampai ke sebrang
sungai dengan selamat.

4. Persoalan Tiga orang misionaris dan tiga orang kanibal


Tiga orang misionaris dan tiga orang kanibal tiba di pinggir sungai,
mereka harus menyebrangi sungai itu. Hanya tersedia satu perahu,
tetapi kapasitas perahu hanya mampu menampung dua muatan saja
setiap kali menyebrang. Proses penyebrangan dipersulit dengan
kenyataan bahwa jumlah kanibal tidak boleh lebih banyak dari jumlah
misionaris pada salah satu sisi daratan. Jika jumlah kanibal lebih
banyak dari jumlah misionaris maka kanibal akan memakan
misionaris.

b. Dengan menggunakan Algoritma pseudocode, tuliskan algoritma dari


permasalahan di bawah ini :
1. Tuliskan algoritma menghitung luas persegi panjang
2. Tuliskan algoritma menghitung luas lingkaran
3. Tuliskan algoritma menghitung konversi suhu dari Celcius ke
fahrenheit
4. Tuliskan algoritma perkalian dua bilangan

10 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
4. Soal Formatif 1
1. Dalam menyusun suatu program,langkah pertama yang harus di lakkukan
adalah :

a. Membuat program
b. Membuat Algoritma
c. Membeli komputer
d. Proses
e. Mempelajari program

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan


sebuah masalah di sebut :

a. Proses
b. Program
c. Algoritma
d. Step
e. Diagram

3. Pseudocode yang di gunakan pada penulisan algoritma berupa :

a. Bahassa Inggris
b. Bahasa Puitis
c. Bahasa pemograman
d. Sembarang bahasa asal terstruktur
e. Bahasa Mesin

4. Pada pembuatan program komputer, algoritma dibuat :


a. Sebelum pembuatan program
b. Pada saat program dibuat
c. Sesudah pembuatan program
d. Pada saat verifikasi program
e. Pada saat di jalankan

5. Tahapan dalam menyelesaikan suatu masalah adalah :

a. Masalah-Pseudocode-Flowchart-Program-Eksekusi-Hasil
b. Masalah-Algoritma-Flowchart-Program-Eksekusi-Hasil
c. Masalah-Model-Algoritma-Eksekusi-Hasil
d. Masalah-Model-Algoritma-Program-Eksekusi-hasil
e. Algoritma-Program-Model-Eksekusi-Hasil

6. Diketahui bahwa kantong P kosong. Kantong Q berissi 10 buah kelereng dan


kantong R berisi 15 kelereng. Apabila yang terbawa hanya sebuah kantong dan
di katakan BUKAN kantong P yang terbawa, Maka jumlah kelereng yang terbawa
adalah :

11 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
a. 10
b. 15
c. 10 atau 15
d. 10 dan 15
e. Kosong

7. Diberikan algoritma : Apabila warna merah maka jadi hijau. Apabila warna
hijau maka jadi putih, selain warna merah dan hijau maka jadi ungu. Jika
kondisi input warna adalah hitam, maka warna jadi :

a. Merah
b. Ungu
c. Hijau
d. Putih
e. Abu-abu

8. Instruksi P=Q akan mengakibatkan nilai P=nilaiQ,dan nilai Q menjadi :

a. Menjadi Sembarang Nilai


b. Menjadi hampa
c. Q tetap
d. Menjadi 10
e. P tetap

9. Apabila a=5, b=10, maka jika di berikan instruksi a=b; b=a akan
mengakibatkan :

a. a=0 , b=5
b. a=10 , b=5
c. a=10 , b=0
d. a=b
e. a=10 , b=10

10. Di berikan algoritma P=10; P=P+5; Q=P. Nilai P dan Q masing-masing adalah

a. 15 dan 0
b. 0 dan 15
c. 15 dan 15
d. 0 dan 10
e. 10 dan 15

12 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB II

FLOWCHART

1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat memahami algoritma
pemrograman menggunakan flowchart dan mampu Menerapkan flowchart
dalam menyelesaikan masalah dengan tepat

2. Materi
1. Pengertian Flowchart/Diagram alir :
Suatu standart untuk menggambarkan urutan langkah dalam suatu
proses. Setiap langkah dalam algoritma dinyatakan dalam sebuah
simbol dan aliran setiap langkah dinyatakan dalam sebuah garis yang
bertanda panah.
Untuk menggambarkan flowchart bisa menggunakan software VISIO
2. Simbol Flowchart/Diagram alir :

No Simbol Nama Fungsi


1 Digunakan untuk
Input / mewakili data Input/
Output output

2 Digunakan untuk
Proses mewakili suatu proses

3 Menunjukkan arus dari


Garis / alir proses

Digunakan untuk
4 seleksi suatu kondisi di
Keputusan dalam program

5 Penghubung Digunakan untuk


meghubungkan ke
halaman yang sama
atau hlaman yang lain
6 Menunjukkan suatu
Proses operasi yang rincianya
terdefinisi ditunjukkan di tempat
lain

7 Terminal Menunjukkan awal dan


akhir suatu proses

13 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
8 Simbol kartu Menunjukkan i/o yang
punch menggunkan katu
punch

9 Simbol Menunjukkan i/o yang


diskete menggunakan disket

10 Keybord Menunjukkan i/o yang


menggunakan keyboard

11 Simbol Menunjukkan i/o, baik untuk


dokumen proses manual, mekanik, atau
komputer.

Tabel 2.1 Simbol Flowchart


Contoh Flowchart keliling persegi panjang :

Start

Input panjang

Input lebar

Keliling = 2 x (panjang + lebar)

Hasil

end

Gambar 2.1 Flowchart Keliling Persegi panjang

14 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
3 A. MACAM –MACAM DIAGRAM ALIR

a. Diagram alir sikuen


Bentuk diagram alir yang mana aliran program tidak ada yang membentuk
percabangan, perintah program dijalankan secara urut dari awal sampai
akhir.

Start

Input panjang

Input lebar

Keliling = 2 x (panjang + lebar)

Keliling

end

Gambar 2.2 Diagram Alir Sikuen

b. Diagram alir kondisional


Bentuk diagram alir yang mana aliran program terdapat perintah yang
memungkinkan arah aliran program mengalami percabangan
Contoh :
Membuat diagram alir untuk program penentuan LULUS dan tidak
LULUS, dengan syarat nilai > = 40 LULUS, selain itu TIDAK LULUS

15 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Start

Input nilai

TIDAK LULUS Nilai


>= 40
TIDAK
YA

LULUS

end

Gambar 2.3 Diagram Alir Kondisional

c. Diagram alir iterasi


Bentuk diagram alir yang mana aliran program perintah yang
memungkinkan suatu perintah diulang-ulang.

Contoh :
Flowchart untuk mencetak perulangan sebanyak 100 kali

Gambar 2.4 Diagram Alir Iterasi

16 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
3. Rangkuman
1. Flowchart merupakan Suatu standart untuk menggambarkan
urutan langkah dalam suatu proses. Setiap langkah dalam
algoritma dinyatakan dalam sebuah simbol dan aliran setiap
langkah dinyatakan dalam sebuah garis yang bertanda panah.
2. Flowchart terdiri dari flowchart sikuen, kondisional dan iterasi.

17 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LEMBAR KERJA 2

1. Tujuan
Peserta didik dapat memahami algoritma pemrograman menggunakan
flowchart dan mampu Menerapkan flowchart dalam menyelesaikan
masalah dengan tepat

2. Materi
Flowchart

3. Soal Praktikum

1. Buatlah Flowchart untuk menghitung total pembayaran dari


pembelianseorang pelanggan toko. Dalam masalah ini ada ketentuan,
apabila pembelianpelanggan tersebut sama dengan atau melebihi 100.000
, maka pelangganmendapat discount 10%, jika tidak pelanggan tersebut
hanya mendapat discount5%. Gunakan struktur keputusan
2. Buatlah Flowchart untuk menghitung luas lingkaran
3. Buatlah Flowchart untuk menghitung Konversi suhu celcius ke fahrenheit
4. Buatlah Flowchart untuk memecahkan masalah dalam program untuk
strukturperulangan. Misalkan anda di minta untuk membuat algoritma
dan programmenampilkan bilangan dari 10 sampai 1 secara menurun ,
yaitu : 10, 9, 8, 7, 6, 5,4, 3, 2, 1.
5. Buatlah Flowchart untuk memecahkan masalah dalam program untuk
strukturperulangan. Misalkan anda di minta untuk membuat algoritma
dan programmenampilkan bilangan dari 1 sampai 10 secara menaik ,
yaitu : 1,2,3,4,5,6,7,8,9,10

4. Soal Formatif 2

1. Nama lain dari flowchart adalah ….


A. Algoritma
B. Alur
C. Bagan alir
D. Tree
E. Diagram

2. Simbol flowchart apakah gambar disamping ?


a. Terminator

18 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
b. Input/output
c. Proses
d. Pemilihan
e. Preparasi

3. Simbol flowchart apakah gambar disamping ?


a. Terminator
b. Input/output
c. Proses
d. Pemilihan
e. Preparasi

4. Symbol yang digunakan untuk menghubungkan antara symbol yang satu


dengan yang lain adalah Symbol…….
A. Terminator
B. Display
C. Flow Direction
D. Processing
E. Input-output

5. Symbol untuk permulaan (start) atau akhir (stop) adalah Symbol ……


A. Terminator
B. Display
C. Flow Direction
D. Processing
E. Input-output

6. Symbol yang menunjukkan pengolahan data yang dilakukan oleh


komputer adalah Symbol ……
A. Terminator
B. Display
C. Flow Direction
D. Processing
E. Input-output

7. Symbol input-output yang menyatakan proses input-output adalah


Symbol …
A. Terminator
B. Display
C. Flow Direction
D. Processing
E. Input-output

8. LimaUrutan proses yang benar dalam Flowchart adalah……..

A. Head Input Proses Output End


19 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
B. Input Head Proses Output End
C. Prose Input Head Output End
D. Output Input Proses Head End
E. End Input Proses Output Head

9. Bentuk belah ketupat pada diagram flowchart diberi nama


A. Data Store
B. Process
C. Connector
D. Terminator
E. Decision

10. Merupakan algoritma yang dinyatakan dalam diagram dengan bentuk-


bentuk tertentu, adalah pengertian dari .....
A. Algoritma
B. Pseudocode
C. Konstanta
D. Array
E. Flowchart

20 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB III

PERANGKAT LUNAK BAHASA PEMROGRAMAN

1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat memahami,
menginstalasi, dan menggunakan perangkat lunak bahasa pemrograman
komputer

2. Materi

1. Mengenal Bahasa Pemrograman dan Pemrograman Komputer


Pemrograman
Kumpulan intruksi yang digunakan untuk mengatur komputer agar
melakukan tindakan tertentu.
Bahasa Pemrograman
Bahasa yang digunakan untuk menulis suatu program
Jenis Bahasa Pemrograman
1. Bahasa Pemrograman Tingkat Tinggi
Bahasa pemrograman yang berorientasi pada bahasa manusia
Contoh : Java, c++, pascal,basic

2. Bahasa Pemrograman Tingkat Rendah


Bahasa pemrograman yang berorientasi pada bahasa mesin, hanya
mengenal angka 0 dan 1
Contoh : Bahasa mesin dan Bahasa Rakitan

2. Melakukan Instalasi dan menjalankan Perangkat Lunak Bahasa


Pemrograman
1. Download Code::Blocks
di http://www.codeblocks.org/downloads/26 download yang memiliki
kode mingw

2. Buka file tadi dan install seperti biasa, next next…….Finish

3. Buka program Code::Blocks pilih GNU GCC

4. Pilih menu File -> New -> Project

5. Pilih Console Application lalu Next

21 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Gambar 3.1 Halaman New From Template

6. Next, pilih C++ lalu next

7. Masukkan nama program dan pilih folder untuk menyimpan file – file
project kita

22 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Gambar 3.2 Halaman Console Aplication

7. Klik Finish maka akan tampil seperti ini:

Gambar 3.3 Halaman Lembar Kerja

23 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
8. Lalu pilih menu Build -> Build & Run (F9), akan tampil sbb:

Gambar 3.4 Halaman Tampilan

3. Rangkuman
Pemrograman
Kumpulan intruksi yang digunakan untuk mengatur komputer agar
melakukan tindakan tertentu.
Bahasa Pemrograman
Bahasa yang digunakan untuk menulis suatu program
Jenis Bahasa Pemrograman

24 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LEMBAR KERJA 3

1. Tujuan
Peserta didik dapat memahami, menginstalasi, dan menggunakan
perangkat lunak bahasa pemrograman komputer dengan tepat

2. Materi
Perangkat Lunak Bahasa Pemrograman

3. Soal Praktikum

a. Instalah komputer kalian masing masing dengan software codeblock !


b. Buatlah satu Project baru dengan nama latihan_1 di folder masing-
masing !
c. Jalankan Project tersebut !
4. Soal Formatif 3
1. Sebuah komputer terdiri atas komponen-komponen di bawah ini,
kecuali ....
a. Brainware d. Softskill
b. Software e. Hardskill
c. Hardware
2. Tanpa adanya sebuah program maka sebuah komputer....
a. Tidak ada gunanya
b. Bagaikan besi yang tak berguna
c. Seperti barang yang tak berfungsi
d. Semua jawaban salah
e. Jawaban A, B, C benar
3. Seorang yang biasanya melakukan kegiatan memprogram untuk
membuat sebuah program komputer disebut dengan istilah ....
a. Programer d. Pemrograman
b. Ahli Program e. Sang Pemrogram
c. Programan

25 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
4. Proses menerjemahkan sebuah bahasa tingkat tinggi kedalam bahasa
mesin agar dapat dipahami oleh komputer dan menghasilkan file
exeutable disebut dengan...
a. Pemrograman d. Kompilasi
b. Interpreter e. Interpretasi
c. Kompiler
5. Proses menerjemahkan sebuah bahasa tingkat tinggi ke dalam bahasa
mesin agar dapat dipahami oleh komputer tanpa menghasilkan sebuah
file executable disebut dengan ...
a. Pemrograman d. Kompilasi
b. Interpreter e. Interpretasi
c. Kompiler

26 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB IV

BAHASA PEMROGRAMAN C++

1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat Mengenal struktur
program c++
2. Materi
Struktur program c++

#include <iostream>
using namespace std;

int main()
{
cout << "Welcome to C++"<<endl;
cout << "Welcome to C++"<<endl;

return 0;
}

Penjelasan :

#include <iostream> Tanda ‘#’ disebut preprocessor directive.

Preprocessor directive adalah perintah – perintah yang diberikan kepada


compiler untuk melakukan definisi, misalnya untuk memasukkan file
library, dan lain sebagainya.

Jika kita lihat program diatas kita akan memasukkan (include) library
iostream ke dalam program.

iostream adalah header yang dibutuhkan untuk “kegiatan” input dan


output.

using namespace std;


penggunaannya untuk memberitahukan kepada kompiler bahwa kita akan
menggunakan semua fungsi, class atau file yang terdapat pada memori
namespace std.

27 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Selanjuntya kode main() adalah blok program yang berfungsi sebagai badan
sebuah alur kondingan atau disebut sebagai program utama yang ditulis
antara kode { hingga }.

cout <<

untuk menampilkan tulisan di layar

cin>>

untuk memperoleh inputan dari keybord

; (semicolon)

untuk mengakhiri setiap baris perintah di c++

endl

pindah baris

return 0

Menyatakan bahwa program berakhir dengan normal

Catatan

Bahasa pemrograman C++ bersifat case sensitive besar


kecilnya huruf sangat mempengaruhi program

28 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LEMBAR KERJA 4

1. Tujuan
Peserta didik dapat Mengenal struktur program c++

2. Materi
Struktur program c++

3. Tes Praktikum
1. Buatlah Program biodata dengan c++ yang menampilan tampilan :

======================================

PROGRAM BIODATA

======================================

NAMA : INDAH ULY WARDATI

KELAS : X MM 1

HOBI : MEMASAK

HP : 08766565789

======================================

2. Buatlah Program biodata dengan c++ yang menampilan tampilan


dengan menggunakan inputan dari keybord :

======================================

PROGRAM BIODATA

======================================

Masukkan nama : (Data diinput dari keybord)

Masukkan kelas: (Data diinput dari keybord)

======================================

Nama : Indah Uly Wardati (Tampil otomatis sesuai dengan yang diinputkan)

Kelas : X MM 1 (Tampil otomatis sesuai dengan yang diinputkan)

=======================================

29 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
4. Tes Formatif
1. Bahasa C++ adalah....
a. Bahasa pemrograman tingkat tinggi
b. Bahasa pemrograman tingkat rendah
c. Bahasa pemrograman tingkat atas
d. Bahasa pemrograman tingkat bawah
e. Bahasa pemrograman tingkat menengah
2. Siapakah yang pertama kali menemukan C++ ....
a. Denis ritchie
b. Nikleus Wirt
c. Bjane stroustrup
d. Bill Gate
e. Linus
3. Pada tahun berapakah C++ diperkenalkan ...
a. 1983 d. 1984
b. 1982 e. 1986
c. 1985
4. Apakah fungsi tanda // pada c++ ....
a. Memberikan syarat pada program
b. Memberikan kritik pada program
c. Memberikan komentar pada program
d. Memberikan nilai pada program
e. Menampilkan tulisan di layar
5. Apakah fungsi tanda { } pada c++....
a. Menkompile d. Memblok program
b. Mengeksekusi e. Menampilkan tulisan dilayar
c. Memberikan komentar
6. Apakah fungsi retun 0 pada c++ ....
a. Menkompile
b. Mengeksekusi
c. Menyatakan bahwa program berakhir dengan normal
d. Memblok program
e. Menampilkan tulisan di layar
7. Untuk menampilkan tulisan dilayar pada c++ menggunakan perintah ...
a. cout d. Return
b. cin e. read
c. include
8. Tanda # pada c++ disebut....
a. preprocessor directive. d. processor
b. Pagar e. semicolon
c. directive
9. Untuk memperoleh input dari keybord menggunakan perintah ...
a. cout d. Return
b. cin e. read
c. include
10. Struktur penulisan c++ di bawah ini yang benar adalah ...

30 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
a. #include <iostream>
using namespace std;

int main()
{
cout << "Halo Selamat Datang

return 0;
}

b. #include <iostream>
using namespace std;

int main()
{
cout >> "Halo Selamat Datang

return 0;
}

c.
#include <iostream>;
using namespace std;

int main()
{
cout >> "Halo Selamat Datang

return 0;
}

31 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
#include <iostream>
d. using namespace std

int main()
{
cout >> "Halo Selamat Datang

return 0;

e.
#include <iostream>
using namespace std;

int main ;
{
cout >> "Halo Selamat Datang

return 0;

32 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB V

TIPE DATA, VARIABEL, OPERATOR


1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat :
Menjelaskan dan membuat aplikasi yang menerapkan menerapkan tipe
data, variabel/konstanta, operator dan ekspresi

2. Materi
1. Tipe Data
Tipe data adalah himpunan nilai yang dapat dimiliki oleh sebuah
data.Tipe data dasar adalah tipe data yang dapat langsung digunakan.
Secara umum terdapat 2 tipe data dasar, yaitu numerik dan kategorik.
Tipe data numerik terdiri atas angka/ kumpulan angka serta dapat
mengalami operasi perhitungan, sedangkan tipe data

kategorik dapat berupa angka maupun huruf namun tidak dapat


mengalami operasi perhitungan.

Berikut merupakan contoh beberapa tipe data dasar :

Integer (bilangan bulat)

Tabel 5.1 Tipe data

Integer adalah tipe data dasar berupa bilangan yang tidak


mengandung pecahan desimal. Tipe data ini juga memiliki urutan,
sehingga dapat dibandingkan satu dengan lainnya.

Contoh integer:

 2
 5
 -10
 135
 2008

Secara teoritis, tipe data integer tidak memiliki batasan, yaitu dari
minus tak hingga hingga plus tak hingga. Namun dalam
pemrograman yang menggunakan bahasa pemprograman C++,
secara umum dikenal beberap macam tipe data integer, yaitu:

33 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Real (bilangan riil)

Tabel 5.2 Bilangan Riil

Real adalah tipe data dasar berupa bilangan yang memiliki pecahan
desimal. Dalam pemrograman, nilai dengan tipe data ini harus ditulis
dengan sebuah titik sebagai pemisah bilangan utuh dan bilangan
pecahannya.

Tipe data ini digunakan untuk perhitungan yang melibatkan bilangan


pecahan, seperti perhitungan kosinus, akar persamaan, dan sebagainya.
Tipe data ini juga memiliki urutan, sehingga dapat dibandingkan satu
dengan lainnya.

Contoh real:

 0.5
 0.17
 -3.465
 92.0
 4.3000+E9

Secara teoritis, tipe data real juga tidak memiliki batasan, yaitu dari minus
tak hingga hingga plus tak hingga. Namun dalam pemrograman, secara
umum dikenal beberapa macam tipe data real, yaitu:

Nilai pada tabel diatas berbeda dengan nilai yang ada pada tabel tipe data
integer, pada tabel diatas nilai untuk tipe data merupakan tingkat
ketelitian untuk masing-masing tipe data, bukan berdasarkan rentang
nilai.

Char (karakter)
Char adalah tipe data dasar yang terdiri atas satu buah angka, huruf,
tanda baca atau karakter khusus. Untuk menyimpan sebuah karakter,
diperlukan 1 byte atau 8 bit tempat didalam memori.

Dalam sebuah program, penulisan tipe data char diawali dan diakhiri
dengan tanda kutip ganda. Selain itu, terdapat sebuah karakter kosong
yang disebut dengan null atau nil dan dituliskan sebagai "".

34 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Contoh char:

 "5"
 "A"
 "?"
 "+"
 "$"

Perhatikan bahwa 5 adalah integer sedangkan "5" adalah char.

String
String adalah tipe data dasar yang berupa kumpulan karakter dengan
panjang tertentu. Meskipun berupa kumpulan karakter, karena tipe data
string sering digunakan dalam pemrograman, string dianggap sebagai tipe
data dasar.

Untuk penyimpanan string didalam memori, dibutuhkan 1 byte untuk tiap


karakternya. Serupa dengan penulisan karakter, penulisan sebuah string
juga harus diawali dan diakhiri dengan tanda petik ganda. String juga
mengenal null yang dituliskan dengan "".

Contoh string:

 "BANDUNG"
 "Politeknik Telkom Bandung"
 "ABC3456"
 "Lucu"
 "30202001"
 "z"

Perhatikan bahwa sebuah karakter tunggal ("z") juga merupakan string.

Boolean (bilangan logika)


Sebuah data boolean memiliki tepat dua buah kemungkinan nilai,
direpresentasikan sebagai Benar dan Salah, atau True dan False, atau
dapat juga dilambangkan dengan 1 dan 0. Tipe data ini dapat
digunakan untuk pemilihan dengan kondisi-kondisi tertentu, dimana
program harus memilih aksi apa yang akan dijalankan dengan
parameter tertentu.

Tipe data ini paling sering digunakan untuk range yang memili dua
buah nilai: lulus - tidak lulus, member - bukan member.

35 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
2. Variabel
Variabel atau peubah adalah obyek yang nilainya dapat berubah-ubah
dalam sebuah program.

Cara penulisan variabel pada c++

Tipe_data nama variabel

Aturan penulisan variabel :

1. Awal penulisan dimulai dengan huruf a-z atau A-Z


2. Setelah kata pertama tidak boleh ada spasi atau diikuti dengan
underscore (_)
3. Tidak boleh menggunakan karakter :
~ ! @ # $ % ^ & * ( ) + ` -= { } [ ] : " ; ' <> ? , . / |

Contoh penulisan variable pada c++ :

int a;
int a,b;
int a=4;
int sapu_tangan;
int saputangan;

3. Operator
Simbol yang digunakan untuk melakukan suatu operasi.
1. Operator Aritmatika
Operator Nama Contoh Keterangan
* perkalian a*b Mengalikan a dengan b
/ pembagian a/b Membagikan a dengan b
+ penjumlahan a+b Menjumlahkankan a
dengan b
- pengurangan a-b Mengurangkan a
dengan b
% modulus a%b Menghitung sisa bagi
pembagian a dengan b
Tabel 5.3 Operator Aritmatika

36 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
2. Operator Unary
Operator Nama Keterangan
- minus Unary minus
++ decrement Peningkatan dengan nilai penmbahan 1
-- increment Peningkatan dengan nilai pengurangan 1
! not Unary not
~ Bitwise not Unary komplemen 1
Tabel 5.4 Operator unary

3. Operator Logika

Operator Nama Keterangan


& And Boolean logika and
| or Boolean logika or
^ xor Boolean logika XOR
! not Not
&& and Logika and
|| or Logika or
Tabel 5.5 Operator logika

4. Operator relasi
Operator Contoh Keterangan
> a>b a lebih besar dari b
< a<b a lebih kecil dari b
>= a>=b a lebih besar dari atau sama dengan b
<= a<=b a lebih kecil dari atau sama dengan b
== a==b a sama dengan b
!= a!=b a tidak sama dengan b
Tabel 5.6 Operator relasi

5. Operator pengerjaan
Operator Contoh Keterangan
= a= b+c Mengerjakan b+c disimpan di a
+= a+=b a=a+b
-= a-=b a=a-b
*= a*=b a=a*b
/= a/=b a=a/b
%= a%=b a=a%b
Tabel 5.7 Operator pengerjaan

3. Rangkuman

a. Tipe data adalah himpunan nilai yang dapat dimiliki oleh sebuah
data

37 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Tipe Data Ukuran
Bilangan Bulat
char 1 byte
short 2 byte1 byte
int 4 byte
long 4 byte
Bilangan Real
float 4 byte
double 8 byte
Tabel 5.8 Tipe data

b. Variabel adalah obyek yang nilainya dapat berubah-ubah dalam


sebuah program.
c. Operator adalah Simbol yang digunakan untuk melakukan suatu
operasi.

38 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LATIHAN PRAKTIKUM 1

Program penjuamlahan dua bilangan dengan inputan di program

#include <iostream>

using namespace std;

int main()
{
int a= 4;
int b= 5;

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


cout << "PROGRAM PENJUMLAHAN" << endl;
cout << "===================" << endl;
cout << "nilai a="<<a<< endl;
cout << "nilai b="<<b<< endl;
cout << "nilai a+b="<<a+b<< endl;
return 0;
}

39 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LATIHAN PRAKTIKUM 2

Program penjumlahan dua bilangan dengan inputan dari keybord

#include <iostream>

using namespace std;

int main()
{
int a;
int b;

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


cout << "PROGRAM PENJUMLAHAN" << endl;
cout << "===================" << endl;
cout << "nilai a=";
cin >> a;
cout << endl;
cout << "nilai b=";
cin >> b;
cout << endl;
cout << "==================="<< endl;
cout << "nilai a="<<a<<endl;
cout << "nilai b="<<b<<endl;
cout << "nilai a+b="<<a+b<<endl;
return 0;
}

40 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TUGAS PRAKTIKUM
BAB V

Dengan menggunakan bahasa pemrograman c++ buatlah program yang menampilkan


tampilan berikut :
1. Program luas lingkaran

======================================
PROGRAM LUAS LINGKARAN

======================================

r = 10
luas lngkaran = 314

2. Kalkulator Sederhana

======================================

KALKULATOR SEDERHANA

======================================
BILANGAN 1 : (Data diinput dari keybord)

BILANGAN 2: (Data diinput dari keybord)

======================================
BILANGAN 1 : (Tampil otomatis sesuai dengan yang diinputkan)

BILANGAN 2: (Tampil otomatis sesuai dengan yang diinputkan)

=======================================
BILANGAN 1+BILANGAN 2 = (Tampil otomatis)

BILANGAN 1-BILANGAN 2 = (Tampil otomatis)

BILANGAN 1*BILANGAN 2 = (Tampil otomatis)


BILANGAN 1/BILANGAN 2 = (Tampil otomatis)

BILANGAN 1%BILANGAN 2 = (Tampil otomatis)

41 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
3. Program Kasir 1

======================================

TOKO BERSAUDARA

======================================
NAMA BARANG : (Data diinput dari keybord)

JUMLAH PEMBELIAN: (Data diinput dari keybord)

HARGA SATUAN: (Data diinput dari keybord)


TOTAL PEMBELIAN: (Data diinput dari keybord)

PEMBAYARAN: (Data diinput dari keybord)

KEMBALIAN: (Data diinput dari keybord)


======================================

NAMA BARANG = (Tampil otomatis)

JUMLAH PEMBELIAN = (Tampil otomatis)


HARGA SATUAN = (Tampil otomatis)
TOTAL PEMBELIAN = (Tampil otomatis)

KEMBALIAN = (Tampil otomatis)


======================================

Terima Kasih dan Selamat Belanja Kembali

Untuk mempermudah pengerjaan analisislah permasalahan tersebut dengan


menggunakan flowchart

42 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
4. Program kasir 2

Untuk mempermudah pengerjaan analisislah permasalahan tersebut


dengan menggunakan flowchart

------------------
RESTO INDAH
------------------
Bakso = 10000
mie = 10000
teh = 2000
jeruk =3000
--------------------
Daftar pembelian
--------------------
1.Bakso :3 (inputan dari keybord)
2.Mie Ayam :2 (inputan dari keybord)
3.Es Teh :2 (inputan dari keybord)
4.Es Jeruk :2 (inputan dari keybord)
-------------------------------
Total Pembayaran :60000 (otomatis)
-------------------------------

Process returned 0 (0x0) execution time : 4.969 s


Press any key to continue.

43 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TES FORMATIF
BAB V

1. Obyek yang nilainya dapat berubah-ubah dalam sebuah program


disebut dengan ....
a. Variabel d. real
b. Tipe data e. Komentar
c. Konstanta
2. Simbol yang digunakan untuk melakukan suatu operasi disebut ...
a. Variabel d. real
b. Tipe data e. operator
c. Konstanta
3. Penulisan variabel pada c++ yang benar di bawah ini adalah ...
a. int bilangan pertama;
b. int bilangan_pertama;
c. int bilangan pertama=1;
d. int bilangan_pertama
e. integer bilangan_pertama;
4. Jika 10 % 2 maka hasil yang tampil adalah ...
a. 5 d. 2
b. 1 e. 8
c. 0
5. Himpunan nilai yang dapat dimiliki oleh sebuah data disebut ...
a. Variabel d. real
b. Tipe data e. operator
c. Konstanta

6. Jika nilai a=10, b=5 maka nilai a-=b adalah ...


a. 5 b. -5 c. 2 d. 15 e. 10
7. Tipe data dasar berupa bilangan yang memiliki pecahan desimal adalah
...
a. Real d. uanry
b. Integer e. bulat
c. Tak hingga
8. Tipe data dasar berupa bilangan bulat adalah ...
a. Real d. unary
b. Integer e. decremen
c. Tak hingga
9. Jika nilai a=10, b=5 maka nilai a+=b adalah ...
a. 5 b. -5 c. 2 d. 15 e. 10
10. Simbol >= adalah simbol operator ...
a. Relasi d. logika
b. Unary e. pengerjaan
c. aritmatika

44 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB VI

PERCABANGAN
1. Tujuan
Setelah mempelajari modul ini, peserta didik dapat :
1. Memahami struktur percabangan sederhana, bertingkat dan
bersarang
2. Membuat kode program dengan struktur percabangan

2. Materi
1. Struktur percabangan
Intruksi yang dipakai untuk memilih satu aksi dari beberapa
kemungkinan aksi berdasarkan suatu syarat, dengan mengijinkan user
untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan
blok kode yang lain
2. Percabangan menggunakan if
Pernyataan if akan menentukan sebuah pernyataan yang akan
dieksekusi jika dan hanya jika persyaratan bernilai benar
Penulisan :
if (syarat){ if (nilai>60){
pernnyataan; cout<<”LULUS”;
} }

3. Percabangan menggunakan if else


Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa
pernyataan dengan kondisi benar dan yang lain kondisi salah
Penulisan :

if (syarat){

pernnyataan 1;

}
else {

pernnyataan 1;

}
}

4. Percabangan bersarang
Jika pernyataan 1 benar, maka program akan mengeksekusi pernyataan 1
dan melewati pernyataan yang lain, Jika pernyataan 2 benar, maka program
akan mengeksekusi pernyataan 2 dan melewati pernyataan 3

45 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Penulisan :

if (syarat 1){

pernnyataan 1;
}

else if (syarat 2){


pernnyataan 2;

else
pernnyataan 2;

5. Percabangan menggunakan switch case


Perintah switch digunakan sebagai alternatif dari if dengan else lebih
dari satu. Dengan perintah ini percabangan dapat diarahkan pada
beberapa alternatif pilihan berdasarkan nilai ekspresi. Namun switch
tidak bisa mendeteksi operator pembanding (<,> dsb) karena ekspresi
dengan operator ini menghasilkan nilai boolean, melinkan hanya dapat
mengaihkan alur program ke suatu nilai yang sama, pada statment ini
ekspresi yang diminta harus menghasilkan bilangan bulat

3. Rangkuman
1. Percabangan :Intruksi yang dipakai untuk memilih satu aksi dari
beberapa kemungkinan aksi berdasarkan suatu syarat, dengan
mengijinkan user untuk memilih dan mengeksekusi blok kode
spesifik dan mengabaikan blok kode yang lain
2. Struktur kontrol percabangan meliputi : if, if else, switch case

46 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LATIHAN PRAKTIKUM 3

1. Percabangan menggunakan if

#include <iostream>

using namespace std;

int main()
{
int nilai;
cout << "masukkan nilai ";cin>>nilai;
if (nilai>=60){
cout << "lulus";
}
return 0;
}

2. Percabangan menggunakan if else

#include <iostream>

using namespace std;

int main()
{
int nilai;
cout << "Masukkan nilai = ";cin>>nilai;
if (nilai>=60){
cout << "lulus";
}
else
cout << "anda tidak lulus";
return 0;
}

47 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
3. Percabangan bersarang

#include <iostream>

using namespace std;

int main()
{
int nilai;
cout << "Masukkan nilai = ";cin>>nilai;
if (nilai>90){
cout << "Sangat Bagus";
}
else if (nilai>60){
cout << "Baik";
}
else
cout << "anda tidak lulus";
return 0;
}

4. Percabangan dengan switch case

#include <iostream>

using namespace std;

int main()
{
int nilai;
cout << "Masukkan nilai = ";cin>>nilai;
switch (nilai){
case 100:
cout << "Sangat Bagus"<<endl;
break;

case 80:
cout << "Baik"<<endl;
break;
case 60:
cout << "Cukup"<<endl;
break;
default :
cout << "anda tidak lulus";
}
return 0;
}

48 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TUGAS PRAKTIKUM
BAB VI

Dengan menggunakan struktur percabangan bahasa pemrograman c++ buatlah program


yang menampilkan tampilan berikut :

1. Program kasir dengan ketentuan


Jika pembelian di atas 50.000 maka pelanggan mendapatkan diskon 10 %
dari total pembelian, selain itu tidak mendapatkan diskon total
pembayaran diperoleh dari total pembelian dikurangi diskon
1. Buat algoritma dengan pseudocode dari permasalahan di atas
2. Buat program dengan c++
Tampilan Program

------------------
RESTO INDAH
------------------
Bakso = 10000
mie = 10000
teh = 2000
jeruk =3000
--------------------
Daftar pembelian
--------------------
1.Bakso :3 (inputan dari keybord)
2.Mie Ayam :2 (inputan dari keybord)
3.Es Teh :2 (inputan dari keybord)
4.Es Jeruk :2 (inputan dari keybord)
-------------------------------
Total Pembelian :60000 (otomatis)
-------------------------------
Diskon : 6000 (otomatis)
-------------------------------
Total Pembayaran :54000(otomatis)

Process returned 0 (0x0) execution time : 4.969 s


Press any key to continue.

49 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
2. Program Perhitungan Gaji
Jika jumlah anak lebih dari 3 maka tunjangan yang diperoleh 20 % dari
gaji pokok, jika jumlah anak kurang dari 3 maka tunjangan yang diperoleh
10% dari gaji pokok
Total gaji diperoleh dari gaji pokok + tunjangan
1. Buat algoritma dengan pseudocode dari permasalahan di atas
2. Buat program dengan c++

------------------------------
PROGRAM PENGGAJIAN
-------------------------------
Jumlah anak = 4 (inputan dari keybord)
Gaji pokok = 3000000 (inputan dari keybord)
--------------------------------
Tunjangan = 600000 (otomatis)
Perolehan gaji = 3600000 (otomatis)
-----------------------------------

Process returned 0 (0x0) execution time : 4.969 s


Press any key to continue.

50 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TES FORMATIF
BAB VI

1. Jika <kondisi> bernilai benar maka pernyataan dikerjakan, sedangkan jika


tidak, maka pernyataan tidak dikerjakan dan proses langsung keluar dari
percabangan adalah penjelasan dari percabangan ....
a. 1 kondisi
b. 2 kondisi
c. Lebih dari 2 kondisi
d. Percabangan bersarang
e. Perulangan

2. Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika


tidak (<kondisi> bernilai salah), maka pernyataan yang dikerjakan
adalah pernyataan2. Hal tersebut adalah penjelasan dari percabangan...
a. 1 kondisi
b. 2 kondisi
c. Lebih dari 2 kondisi
d. Percabangan bersarang
e. Perulangan

3. Jika <kondisi1> dicek nilai kebenarannya. Jika benar, maka


dikerjakan pernyataan1. Jika salah, maka dicek nilai kebenaran <kondisi2>.
Jika <kondisi2> benar, maka dikerjakan pernyataan2. Jika tidak algoritma
akan mengecek ke kondisi berikutnya dengan cara yang sama dengan yang
sebelumnya. Terakhir, jika semua kondisi bernilai salah, maka pernyataan
yang dikerjakan adalah Pernyataan(n+1). Hal tersebut adalah penjelasan
dari percabangan...
a. 1 kondisi
b. 2 kondisi
c. Lebih dari 2 kondisi
d. Percabangan bersarang
e. Perulangan

4. Struktur dimana ada percabangan di dalam percabangan disebut ....


a. 1 kondisi
b. 2 kondisi
c. Lebih dari 2 kondisi
d. Percabangan bersarang
e. Perulangan

51 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
5. Seorang karyawan akan memperoleh penghasilan tambahan gaji sesuai
dengan jam lembur yang dilakukan. Jika jam lembur lebih dari atau sama
dengan 3 jam maka tambahan gaji yang diterima adalah 2 % dari gaji poko
selain itu 1% dari gaji pokok. Maka algoritma yang tepat untuk kasus di
atas adalah.....
A.
Read jam_lembur
If jam_lembur >=3 then
Output tambahan_gaji = 0.2 * gaji_pokok
else
Output tambahan_gaji = 0.1 * gaji_pokok

B. Read jam_lembur
If jam_lembur <=3 then
Output tambahan_gaji = 0.2 * gaji_pokok
else
Output tambahan_gaji = 0.1 * gaji_pokok

C. Read jam_lembur
If jam_lembur > 3 then
Output tambahan_gaji = 0.2 * gaji_pokok
else
Output tambahan_gaji = 0.1 * gaji_pokok

D.
Read jam lembur
If jam lembur < 3 then
Output tambahan gaji = 0.2 * gaji pokok
else
Output tambahan gaji = 0.1 * gaji pokok

E.
Read jam lembur
If jam lembur < 3 then
Output tambahan gaji = 2%* gaji pokok
else
Output tambahan gaji = 1%* gaji pokok

52 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB VII

PERULANGAN

1. Tujuan
Setelah mempelajari modul ini diharapkan peserta didik bisa memahami
perulangan dan membuat program dengan struktur perulangan.
2. Materi
1. Struktur perulangan
Merupakan suatu kondisi yang dilaksanakan secara berulang-ulang.
Perulangan digunakan untuk mengulang suatu perintah sebanyak yang
diinginkan tanpa harus menulis ulang
2. Perluangan dengan menggunakan for
Digunakan untuk mengulangi perintah dengan jumlah perulangan yang
sudah diketahui.
Penulisan :

for (nilai awal;batas berhenti perulangan); rumus)


{
Pernyataan;
}

3. Perulangan dengan menggunakan while


Digunakan untuk pernyataan yang diulang-ulang sampai mencapai
kondisi yang cocok

Penulisan :

Nilai awal;
While (batas berhenti)
{
Pernyataan;
Rumus;
}

3. Perulangan dengan menggunakan do while


Pernyataan di dalam do while akan dieksekusi beberapa kali selama
kondisi bernilai benar. Perbedaan antara while dan do while adalah
pernyataan di dalam do while akan dieksekusi sedikitnya satu kali.

53 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Penulisan :

Nilai awal;
do {
Pernyataan;
Rumus;
}
while (batas berhenti);

4. Rangkuman
1. Perulanagan Merupakan suatu kondisi yang dilaksanakan secara
berulang-ulang. Perulangan digunakan untuk mengulang suatu
perintah sebanyak yang diinginkan tanpa harus menulis ulang
2. Jenis Perulangan for, while, do while

54 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LATIHAN PRAKTIKUM 4

1. Perluangan dengan menggunakan for


Program untuk menampilkan bilangan 1-20

#include <iostream>

using namespace std;

int main()
{
for (int i=1;i>=20;i++)
{
cout<<i<<endl;
}
return 0;
}

2. Perluangan dengan menggunakan while

#include <iostream>

using namespace std;

int main()
{
int x, y;
int pilih=1;

while(pilih<2)
{
cout<<"Masukan nilai x = ";cin>>x;
cout<<"Masukan nilai y = ";cin>>y;
cout<<"=========================”<<endl;
cout<<"x + y = "<<(x + y)<<endl;
cout<<"x - y = "<<(x - y)<<endl;
cout<<"x * y = "<<(x * y)<<endl;
cout<<"x / y = "<<(x / y)<<endl;
cout<<"x % y = "<<(x % y)<<endl;
cout<<"Apakah anda ingin mengulangi lagi : (1.Ya 2.Tidak)";cin>>pilih;
}
return 0;
}

55 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TUGAS PRAKTIKUM
BAB VII
Dengan menggunakan struktur perulangan bahasa pemrograman c++ buatlah program
yang menampilkan tampilan berikut :

1. Program menampilkan bilangan ganjil 1-10


=======================================

PROGRAM BILANGAN GANJIL 1-10

=======================================
1 3 5 7 9

2. Proram menampilkan bilangan genap 1-10


=======================================

PROGRAM BILANGAN GENAP 1-10

=======================================
2

6
8

3. Program menampilkan bilangan ganjil 1-100

4. Program perulangan menghitung luas persegi panjang


===========================================

PROGRAM MENGHITUNG LUAS PERSEGI PANJANG

===========================================
Masukkan nilai panjang = 5 (inputan dari keybord)

Masukkan nilai lebar = 4 (inputan dari keybord)

====================================================

Luas = 20 (muncul otomatis)

====================================================

Apakah anda ingin mengulangi ? (1. Ya 2. Tidak ) =

56 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TES FORMATIF
BAB VII

1. Perhatikan perintah perulangan di bawah ini


for(int i=1;i<=10;i++)
{
cout<<i;
}
Perintah tesebut menghasilkan tampilan .......
A. 12345678910
B. 123456789
C. 012345678
D. 0123456789
E. 12579

2. Struktur kontrol perulangan yang tepat digunakan menyatakan kondisi yang cocok adalah
......
A. for
B. if
C. while
D. switch
E. switch case

3.
Masukkan nilai x= ..................(di inputkan user dari keybord)
Masukkan nilai y=..................(di inputkan user dari keybord)
============================
x+y=..................... (hasil muncul otomatis)
Apakah anda ingin mengulangi lagi?(1.Ya 2. Tidak) .......... (di inputkan user dari keybord)

57 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Dari tampilan di atas maka penulisan program dengan c++ yang benar adalah ......
A.

#include<iostream>
using namespace std;
int main ()
{
int a,b;
int pilih=1;
while(pilih<2)
{
cout<<”Masukkan nilai x=”; cin>>a;
cout<<endl;
cout<<”Masukkan nilai y=”; cin>>b;
cout<<endl;
cout<<”=========================”<< endl;
cout<<”x+y=”;
cout<<a+b<<endl;
cout<<”Apakah anda ingin mengulangi lagi (1. Ya 2. Tidak)”; cin>>pilih;
}
return 0;
}

B.

#include<iostream>
using namespace std;
int main ()
{
int a,b;
int pilih=1;
while(pilih<2)
{
cout<<”Masukkan nilai x=”; cin>>x;
cout<<endl;
cout<<”Masukkan nilai y=”; cin>>y;
cout<<endl;
cout<<”=========================”<< endl;
cout<<”x+y=”;
cout<<x+y<<endl;
cout<<”Apakah anda ingin mengulangi lagi (1. Ya 2. Tidak)”; cin>>pilih;
}
return 0;
}

C.

58 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
#include<iostream>
using namespace std;
int main ()
{
int a,b;
int pilih;
for(pilih=1;pilih>=2;pilih++)
{
cout<<”Masukkan nilai x=”; cin>>x;
cout<<endl;
cout<<”Masukkan nilai y=”; cin>>y;
cout<<endl;
cout<<”=========================”<< endl;
cout<<”x+y=”;
cout<<x+y<<endl;
cout<<”Apakah anda ingin mengulangi lagi (1. Ya 2. Tidak)”; cin>>pilih;
}
return 0;
}

D.
#include<iostream>
using namespace std;
int main ()
{
int a,b;
int pilih;
if(pilih==1)
{
cout<<”Masukkan nilai x=”; cin>>x;
cout<<endl;
cout<<”Masukkan nilai y=”; cin>>y;
cout<<endl;
cout<<”=========================”<< endl;
cout<<”x+y=”;
cout<<x+y<<endl;
cout<<”Apakah anda ingin mengulangi lagi (1. Ya 2. Tidak)”; cin>>pilih;
}
retun 0;
}

59 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
E.

#include<iostream>
using namespace std;
int main ()
{
int a,b;
int pilih=1;
while(pilih<2)
{
{
cout<<”Masukkan nilai x=”; cin>>x;
cout<<endl;
cout<<”Masukkan nilai y=”; cin>>y;
cout<<endl;
cout<<”=========================”<< endl;
cout<<”x+y=”;
cout<<x+y<<endl;
cout<<”Apakah anda ingin mengulangi lagi (1. Ya 2. Tidak)”; cin>>pilih;
}
return 0;
}

4. #include<iostream>
using namespace std;
int main ()
{
int i=4;
do{
cout<<i;
i--;
while(i>0);
}
return 0;
}

Dari program di atas akan pmenghasilkan tampilan.....


A. 4321
B. 43210
C. 1234
D. 0123
E. 432

5. Perintah perulangan yang tepat untuk perulangan dengan perintah increment adalah ......
A. for(int a=1;a<10;a++)
B. for(int a=1;a<10;a--)
C. for(int a=4;a>10;a--)
60 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
D. for(int a=3;a>10;a--)
E. for(int a=10;a>0;a--)

6. Struktur kontrol perulangan yang paling tepat digunakan untuk mengulangi perintah dengan
jumlah perulangan yang sudah diketahui adalah ......
A. while
B. if
C. do while
D. for
E. if else

61 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
BAB VIII

ARRAY

1. Tujuan
Setelah mempelajari modul ini diharapkan peserta didik bisa memahami
array dan membuat program dengan array.
2. Materi
1. Konsep Array
Suatu tipe data terstruktur yang dapat menyimpan banyak data dengan
suatu nama yang sama dan menempati tempat di memori yang
berurutan (kontigu) serta bertipe data sama pula.

Suatu array yang berjumlah n elemen, indeksnya selalu dimulai dari 0


sampai dengan n-1. ... Setiap elemen larik mempunyai nomor
indeks yang unik dan disimpan secara berurutan di dalam memori.

2. Array satu dimensi


Larik satu dimensi merupakan jenis larik dasar dan jenis larik yang
paling sering digunakan, pemakaian larik satu dimensi terutama dipakai
dalam tipe data string
penulisan
tipe nama_array[elemen];

3. Array dua dimensi


Larik dua dimensi sering dipakai untuk merepresentasikan tabel dan
matriks dalam pemrograman.
penulisan
tipe nama_array[elemen1][elemen2];

4. Array Multi dimensi


Array multidimensi merupakan array yang memiliki indeks lebih dari 1.
Indeks pada array merepresentasikan dimensi dari array

62 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
penulisan

tipe nama_array[elemen1][elemen2];

Dimensi pertama array adalah baris, sedangkan dimensi array kedua


adalah kolom. Visualisasi array dua dimensi, Mimin gambarkan sebagai
berikut:

0 1 2

0 int arrayMulti[0][0] int arrayMulti[0][1] int arrayMulti[0][2]

1 int arrayMulti[1][0] int arrayMulti[1][1] int arrayMulti[1][2]

Dari tabel diatas dilihat bahwa, jumlah elemen dari arrayMulti adalah 6, yang
didapat dari perkalian indeks pertama dan kedua 2*3 = 6. Untuk memberikan
nilai pada array multidimensi dimensi dapat menggunakan sintaks sebagai
berikut:

1 int arrayMulti[2][3] = {{1,2,3},{4,5,6}};

3. Rangkuman

Array : tipe data terstruktur yang dapat menyimpan banyak data dengan
suatu nama yang sama dan menempati tempat di memori yang
berurutan (kontigu) serta bertipe data sama pula.

63 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
LATIHAN PRAKTIKUM 5

1. Index pada Array

#include <iostream>

using namespace std;

int main()
{
int data[5]={4,5,6,7,8};
for(int a=0;a<=4;a++)
{
cout<<"Nilai array pada index ke ["<<a<<"]="<<data[a]<<endl;
}

return 0;
}

2. Index pada Array melalui inputan dari keyboard

using namespace std;

int main()
{
int data[3];
for(int a=0;a<=2;a++)
{
cout << "Masukkan data array pada index ke ["<<a<<"]=";
cin>>data[a] ;
cout<< endl;
}
cout<<"==================================="<<endl;
for(int a=0;a<=2;a++)
{
cout<<"Data array pada index ke ["<<a<<"] ="<<data[a];
cout<<endl;
}

return 0;
}

64 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
3. Program Matrik

#include <iostream>

using namespace std;

int main()
{
int matrik[2][3]={{1,2,3},{4,5,6}};
for(int a=0;a<2;a++){
for(int b=0;b<3;b++){

cout << matrik[a][b];


}

cout<<endl;
}

return 0;
}

65 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TUGAS PRAKTIKUM
BAB VIII

LAPORAN HASIL PRAKTIKUM


PEMROGRAMAN DASAR
NAMA KELOMPOK :

KELAS :

NILAI :

Paraf guru :

1. Starndar Kompetensi
Membuat kode program untuk menampilkan kumpulan data array
2. Materi Pokok
Array dua dimensi
3. Tempat dan waktu pelaksanaan
.............................................................................................................................................................
4. Soal Praktik
Dengan perulangan dan array buat program untuk menampilkan

Input Matrik A
===============================
Data [0][0]=........................ (input keyboard)
Data [0][1]=........................ (input keyboard)
Data [1][0]=........................ (input keyboard)
Data [1][1]=........................ (input keyboard)

Input Matrik B
===============================
Data [0][0]=........................ (input keyboard)
Data [0][1]=........................ (input keyboard)
Data [1][0]=........................ (input keyboard)
Data [1][1]=........................ (input keyboard)
Matrik A
==================================
..... ...... otomatis
..... ...... otomatis

66 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
Matrik B
==================================
..... ...... otomatis
..... ...... otomatis
==================================
Matrik A - B adalah :
..... ...... otomatis
..... ...... otomatis

5. Listing Program :

6. Analisis program :
a. Program di atas menggunakan array berapa dimensi ?
.............................................................................................................................................
..............................................................................................................................................
b. Sebutkan variabel array yang ada pada program tersebut, jelaskan!
.............................................................................................................................................
..............................................................................................................................................
7. Kesimpulan
................................................................................................................................................
................................................................................................................................................

Pacitan, ................................
Ketua Kelompok

___________________________

67 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TES FORMATIF
BAB VIII

Perhatikan inisialisasi di bawah ini untuk mengerjakan no 1 dan 2

int matrik[3][4]={{4321},{5214},{3324}}

1. Inisialisasi perintah di atas digunakan untuk ......


A. array 1 dimensi
B. array 2 dimensi
C. array 5 dimensi
D. array 3 dimensi
E. array 4 dimensi

2. Dari inisialisasi matrik tersebut di atas maka pernyataan yang benar adalah.....
A. Matrik terdiri dari 3 baris 4 kolom
B. Matrik terdiri dari 4 baris 3 kolom
C. Matrik terdiri dari 3 baris 3kolom
D. Matrik terdiri dari 4 baris 4 kolom
E. Matrik terdiri dari 3 baris saja

3. Letak urutan pada suatu array disebut ......


A. index
B. elemen array
C. baris
D. kolom
E. nilai array
Perhatikan tampilan program di bawah ini, untuk mengerjakan no 4,5 dan 6

Isi index ke [0]=..............

Isi index ke[1]=......................

Isi index ke[2]=..............

Masukkan nilai yang dicari ..............

Nilai yang dicari ditemukan pada index ke ................

4. Program yang tepat dan benar untuk tampilan di atas adalah ......

68 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
A.

#include <iostream>
using namespace std;
int main()
{
int data[3];
int cari;
for(int a=0;a<3;a++)
{
cout<<"isi index ke["<<a<<"]=";cin>>data[a];
cout<<endl;
}
cout<<"data yang ingin dicari";cin>>cari;
for(int a=0;a<3;a++)
{
if(data[a]==cari)
cout<<"data ditemukan pada index ke"<<a;
}
return 0;
}

B.

#include <iostream>
using namespace std;
int main()
{
int data[4];
int cari;
for(int a=0;a<3;a++);
{
cout<<"isi index ke["<<a<<"]=";cin>>data[a];
cout<<endl;
}
cout<<"data yang ingin dicari";cin>>cari;
for(int a=0;a<3;a++)
{
if(data[a]==cari)
cout<<"data ditemukan pada index ke"<<a;
}
return 0;
}

69 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
C.
#include <iostream>
using namespace std;
int main()
{
int data[3]
int cari;
for(int a=0;a<3;a++);
{
cout<<"isi index ke["<<a<<"]=";cin>>data[a];
cout<<endl;
}
cout<<"data yang ingin dicari";cin>>cari;
for(int a=0;a<3;a++)
{
if(data[a]==cari)
cout<<"data ditemukan pada index ke"<<a;
}
return 0;
}

D.

#include <iostream>
using namespace std;
int main()
{
int data[3];
int cari;
for(int a=0;a<3;a++)
{
cout<<"isi index ke["<<a<<"]=";cin>>data[a];
cout<<endl;
}
cout<<"data yang ingin dicari";cin>>cari;
for(int a=0;a<3;a++)
{
if(data==cari);
cout<<"data ditemukan pada index ke"<<a;
}
return 0;
}

70 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
E.

#include <iostream>
using namespace std;
int main()
{
int data[3];
int cari;
for(int a=0;a<3;a++)
{
cout<<"isi index ke["<<a<<"]=";cin>>data[a];
cout<<endl;
}
cout<<"data yang ingin dicari";cin>>cari;
for(int a=0;a<3;a++)
{
if(data[a]==cari)
cout<<"data ditemukan pada index ke"<<i;
}
return 0;
}

5. Program di atas menggunakan perintah array.....


A. Satu dimensi
B. Dua dimensi
C. Multi dimensi
D. Tiga dimensi
E. Empat dimensi

6. Jika user mengisikan nilai :


Isi index ke [0]=2
Isi index ke [1]=4
Isi index ke [2]=5
Nilai yang dicari 4 maka yang akan tampil adalah......
A. Nilai yang dicari ditemukan pada index ke 0
B. Nilai yang dicari ditemukan pada index ke 1
C. Nilai yang dicari ditemukan pada index ke 2
D. Nilai yang dicari ditemukan pada index ke 3
E. Nilai yang dicari ditemukan pada index ke 5

71 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
DAFTAR PUSTAKA

Al Fatta, Hanif. 2006. Dasar Pemrograman C++.Yogyakarta : Andi Offset


Bambang, Wahyudi. 2004. Pengantar Sturktur Data dan Algoritma. Yogyakarta : Andi
Offset
Fathul, Wahid. Dasar-dasar Algoritma dan Pemrograman. Andi Offset
Munir, Rinaldi. 2016. Algoritma dan Pemrograman. Bandung: Informatika
Modul Diklat Pemrograman Dasar.2015. Malang : PPPPTK BOE Malang
https://id.wikipedia.org/wiki/Larik
www.cprogramming.com

72 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)
TENTANG PENULIS

Indah Uly Wardati, S.Kom Lahir di Sidoarjo tanggal


08 April 1986 Jenjang pendidikan dasar di tempuh
di SDN Made III Lamongan, Jenjang pendidikan SMP
di SLTP Negeri 1 Lamongan dan Jenjang pendidikan
menengah di SMA Negeri 2 Lamongan. Kemudian
melanjutkan kuliah di Universitas Islam Negeri
Malang tahun 2004-2008 di Fakultas Sains dan
Teknologi Jurusan Teknik Informatika. Selama
Kuliah aktif sebagai Asisten Honorer laboratorium
Teknik Informatika UIN Malang tahun 2007.
Setelah lulus kuliah tahun 2008 Mengajar di SMP
Negeri 1 Pacitan sebagai guru TIK tahun 2009-2013.
Tahun 2013 penulis mengajar di SMK Negeri 1
Pacitan Sebagai guru Multimedia.

Untuk berkorespondensi atau berdiskusi terkait


buku ini bisa melalui email :
indahuly_009@yahoo.co.id

73 | P e m r o g r a m a n D a s a r k e l a s X S M K
(Indah Uly Wardati, S.Kom)

Anda mungkin juga menyukai