BAB I
PENGANTAR ALGORITMA DAN
PEMROGRAMAN
A. Pengertian Program dan Bahasa Pemrograman
Program adalah kumpulan instruksi yang digunakan
untuk mengatur komputer agar melakukan suatu tindakan tertentu. Tanpa program,
komputer tidak dapat melakukan apa-apa. Dengan kata lain, program merupakan
salah satu bagian penting pada komputer agar melakukan aksi yang sesuai dengan
yang dikehendaki oleh pembuatnya.
Orang yang membuat program biasa disebut pemrogram
(programmer). Adapun aktivitas yang berhubungan dengan pembuatan program
dinamakan pemrograman (programming).
Bahasa program ditulis dengan mengikuti kaidah bahasa
pemrograman tertentu. Secara garis besar, bahasa-bahasa pemrograman dapat
dikelompokkan menjadi :
1.
Bahasa berasas tinggi (high-level language) adalah
bahasa pemrograman yang berorientasi kepada bahasa manuasia sehingga mudah
dipahami oleh manusia. Yang termasuk dalam kelompok ini adalah C, C++, Java,
Pascal, dll
2.
Bahasa berasas rendah (low-level language) adalah
bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini menggunakan kode
biner (hanya mengenal kode 0 dan 1). Yang tergolong dalam kelompok bahasa ini
adalah bahasa mesin dan bahasa rakitan. Bahasa ini sangat dulit untuk dipahami oleh
orang awam. Selain itu bahasa mesin sangat bergantung pada mesin, artinya
bahasa mesin antara satu mesin dengan mesin yang lain jauh berbeda.
B. Penerjemah Bahasa
Program yang ditulis dalam bahasa pemrograman seperti C++
sebenarnya tidak dimengerti oleh komputer secara langsung, sebab komputer hanya
mengenal bahasa mesin, yakni bahasa yang hanya mengenal kode 0 dan 1. Supaya
program dapat dijalankan (dieksekusi) oleh komputer, program tersebut harus
diterjemahkan terlebih dahulu kedalam bahasa mesin. Proses
penerjemahannya dilakukan oleh program yang disebut translator (penerjemah).
Translator dapat berupa :
1.
Interpreter
Kelebihannya :
·
Mudah dalam mencari kesalahan seandainya program
menghasilkan sesuatu yang dianggap salah ketika program dijalankan, karena kode
sumber selalu tersedia.
Kelemahannya :
·
Kode
sumber harus selalu tersedia
·
Eksekusi lambat.
2. Kompiler
Kelebihannya :
·
Pengerjaan instruksi dilakukan dengan sangat cepat,
karena setelah kode objek terbentuk maka tidak perlu lagi adanya penerjemahan,
mengingat komputer dapat memahami kode objek secara langsung
·
Kode objek dapat didistribusikan ke komputer lain tanpa
perlu menyertakan kode sumber dari kompiler, sehingga kerahasiaan kode sumber
tetap terjamin.
Kelemahan :
·
Seluruh kode sumber harus benar secara sintaks agar
program dapat diuji.
C. Penyelesaian Masalah dengan Program
Orang yang membuat program biasanya bertujuan untuk
menyelesaikan masalah. Terdapat tiga langkah penting yang harus dilakukan :
1.
Menganalis masalah dan membuat algoritma
Didalam analisis masalah diperlukan tindakan untuk
mengidentifikasi informasi yang menjadi keluaran pemecahan masalah dan
data-data yang menjadi masukan. Algoritma adalah langkah-langkah yang
dilakukan untuk menyelesaikan suatu masalah.
Contoh : Algoritma menghitung luas lingkaran
Penyelesaian
Algoritma 1 :
1)
Masukkan jari-jari lingkaran
2)
Hitung luas lingkaran dengan menggunakan rumus 3.14 x
jari-jari x jari-jari
3)
Tampilkan nilai luas lingkaran
Algoritma 2 (menggunakan pseudocode) :
1)
jari-jari ← r
2)
luas ← 3.14 x jari-jari x jari-jari
3)
write (luas)
Algoritma 3 (menggunakan flowchart) :
Simbol-simbol dalam flowchart
|
Berikut adalah
gambar flowchart dari menghitung luas lingkaran

2.
Menuangkan algoritma ke dalam bentuk program
Langkah-langkahnya :
1)
Start
→ All Programs → Turbo C++
2)
File
→ New → ketik program dibawah ini
3)
Untuk melihat hasilnya klik tanda yang dilingkari

3. Mengeksekusi
dan menguji program
Ada
beberapa kemungkinan yang terjadi :
1)
Kesalahan sintaksis, adanya kesalahan dalam menuliskan
program yang tidak sesuai dengan kaidah bahasa pemrogram. Contoh : dalam C++
menghasruskan setiap pernyataan diakhiri dengan titik-koma.
2)
Kesalahan logika, kesalahan yang terjadi karena ada
logika yang salah. Misalnya phi yang seharusnya 3.14 tetapi ditulis 31.4 atau
3,14
3)
Kesalahan runtime, kesalahan yang terjadi karena suatu
operasi dalam program tidak dapat
dilakukan oleh komputer. Contoh : jika terdapat operasi pembagian dengan nol.
BAB II
STRUKTUR DASAR ALGORITMA
A. Pedoman Menyusun Pseudocode
1. Notasi ←
dipakai untuk memberikan nilai ke suatu variabel. Contoh : bil ← 0
digunakan untuk memberikan nilai nol ke variabel bil.
2. Setiap
pernyataan atau suatu perintah yang dapat berdiri sendiri akan ditulis dalam
sebuah baris tersendiri. Contoh : bil ← 1 + 2 , merupakan contoh pernyataan
untuk menugaskan atau memasukkan hasil penjumlah bilangan 1 dan 2 ke dalam
variabel bil. Pernyataan seperti itu dikenal dengan sebuah pernyataan
penugasan.
3. Setiap
variabel (nama yang digunakan untuk menyimpan data dan datanya dapat
diubah-ubah) akan ditulis dengan awalan huruf.
4. Tipe data
majemuk atau tipe rekaman (tipe data yang dapat mengandung beberapa data dengan
nama yang berbeda-beda) akan dinyatakan dengan notasi seperti berikut :
|
Untuk menyatakan data1 yang terdapat
pada simpul , maka digunakan notasi berupa simpul ← data1
5.
Indentasi atau penjorokan ke kanan digunakan untuk
menuliskan pernyataan-pernyataan yang berada dalam suatu struktur blok. Contoh
:
|
Pada contoh
di atas, Pernyataan_1, Pernyataan_2 menyatakan dalam sebuah blok JIKA ...
AKHIR-JIKA
6. Simbol //
digunakan untuk menyatakan komentar. Komentar adalah keterangan yang ditujukan
untuk pembaca algoritma, tidak ditujukan untuk diproses oleh komputer. Semua
karakter dimulai dari simbol tersebut hingga akhir baris diperlakukan sebagai
komentar. Contoh :
Pada
contoh di atas, bil ← bil + 1 tetap menyatakan sebuah pernyataan, tetapi
sisanya dalam baris tersebut berkedudukan sebagai komentar.
7. Notasi
masukan ( ) dan tampilkan ( ) secara berurutan mewakili perintah
untuk memperoleh masukan dan menyajikan keluaran.
Contoh :
|
Pada
contoh pertama, masukan yang diperlukan berupa panjang dan lebar. Pada contoh
kedua, yang ditampilkan adalah nilai luas.
8. Notasi
seperti A [i] menyatakan elemen ke-i pada larik A. Nilai terkecil untuk i
adalah nol. Untuk larik berdimensi dua, sebuah elemen akan dinotasikan dengan
A[i , j] atau A [i] [j] dengan i menyatakan indeks untuk baris dan j untuk
kolom.
9. Notasi
panjang (A) menyatakan ekspresi untuk memperoleh jumlah elemen A
B. Macam-macam
Struktur Dasar Algoritma
Terdapat tiga buah struktur dasar, antara lain :
1. Struktur
Sekuensial
Langkah-langkah
yang dilakukan dalam algoritma diproses secara berurutan.
Contoh : Buatlah algoritma untuk menampilkan isi dua
buah variabel. Variabel a = 12, b = 55 menjadi a = 55, b = 12
Solusi : Untuk menukarkan isi dua buah variabel
diperlukan sebuah variabel yang digunakan untuk membantu penukaran data.
Algoritma :
1)
Masukan (a , b) 4) b ← c
2)
c
← a 5) tampilkan (a , b)
3)
a ← b
2. Struktur
Seleksi
Struktur
seleksi menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi
(pengambilan keputusan) yang dinyatakan dengan belah ketupat.

Pada
struktur di atas, langkah 1 hanya akan dijalankan kalau kondisi bernilai BENAR,
sedangkan langkah 2 hanya dijalankan kalau kondisi bernilai SALAH.
Contoh 1 : Buatlah algoritma untuk menentukan bilangan
terbesar dari dua buah bilangan x dan y ??
Solusi : Penyelesaian dalam bentuk Pseudocode
1)
masukan (x , y)
2)
terbesar ← x //
asumsi bahwa x adalah yang terbesar
3)
JIKA terbesar < y MAKA
terbesar ← y
AKHIR JIKA
4)
tampilkan (terbesar)
Penyelesaian dalam bentuk Flowchart

Contoh 2 : Suatu swalayan memberikan diskon sebesar 10%
bagi siapa saja yang berbelanja sebesar 100.000 atau lebih. Buatlah algoritma
untuk menghitung nilai uang yang harus dibayar oleh pembeli ??
Solusi : Penyelesaian dalam bentuk Pseudocode
1)
Masukkan (pembelian)
2)
JIKA pembelian >= 100000 MAKA
diskon ← 0.1 x pembelian
SEBALIKNYA
diskon ← 0
AKHIR-JIKA
3)
pembayaran ← pembelian – diskon
4)
tampilkan (pembayaran)
Penyelesaian
dalam bentuk Flowchart

3. Struktur
Pengulangan
Pengulangan menyatakan suatu tindakan atau
langkah yang dijalankan beberapa kali. Sebagai contoh, jika Anda ingin
menampilkan tulisan ”Hello” sebanyak 10 kali, Anda dapat menuliskannya
menggunakan Struktur Sekuensial akan tetapi jika ingin menampilkan dalam jumlah
yang besar maka Struktur Sekuensial dianggap tidak praktis lagi. Oleh karena
itu dapat menggunakan Struktur Pengulangan.

Contoh 1 : Buatlah algoritma untuk menampilkan 6 buah
tulisan ”Hello” dengan menggunakan pengulangan.
Solusi : Penyelesaian dalam bentuk Pseudocode
1)
pencacah ← 1
2)
ULANG SELAMA pencacah < 7
tampilkan
(”Hello”)
pencacah
← pencacah + 1
AKHIR-ULANG
Penyelesaian dalam bentuk
Flowchart

Contoh 2 : Buatlah algoritma untuk menampilkan
bilangan sbb : 1 4 9
16 25 36 49
Solusi : Penyelesaian
dalam bentuk Pseudocede
1)
bil ← 1
2)
ULANG SELAMA bil < 8
tampilkan
(bil, bil x bil)
bil ← bil + 1
AKHIR-ULANG
Penyelesaian dalam bentuk Flowchart

LATIHAN
1.
Buatlah algoritma untuk menampilkan bilangan sbb : 1 2 3
4 5 6 7 8 9 dan sebaliknya ?
2.
Buatlah algoritma untuk menampilkan bilangan sbb : 5 4 3
2 1 ?
3.
Buatlah algoritma untuk menampilkan bilangan genap dan
ganjil kurang dari 20 ?
4.
Diketahui tiga buah bilangan x, y, dan z. Buatlah diagram
alir untuk mendapat nilai terbesar diantara keiga bilangan tersebut ??
BAB III
DASAR PEMROGRAMAN C++
A. Mengenal
Program C++
Contoh :
program sederhana
|
·
Berkas header (berekstensi .h) adalah berkas yang berisi
prototype fungsi, definisi konstanta, dan definisi variable. Prototipe fungsi
berupa judul suatu fungsi yang dilengkapi dengan argumen dan tipe argumen serta
tipe nilai balik untuk fungsi yang memberikan nilai balik. Prototipe fungsi
harus sudah tersedia sebelum pemanggilan fungsi. Ini merupakan persyaratan
selama kompilasi.
·
Praprosesor # include adalah suatu perintah yang
digunakan untuk mengatur kompiler agar membaca berkas header yang disertakan di
belakang kata include saat pelaksanaan kompilasi.
·
main( ) adalah fungsi yang akan dijalankan pertama kali
·
Pernyataan untuk menampilkan keluaran berupa cout. Setiap
pernyataan harus diakhiri tanda titik koma ( ; )
B. Pengenal
(Identifier)
Adalah suatu nama yang digunakan dalam program untuk menyatakan variabel,
fungsi, dll. Aturan umum yang berlaku dalam membuat pengenal (identifier) :
·
Berawalan huruf kapital, huruf kecil atau karakter garis
bawah ( _ ). Huruf kecil dan huruf kapital dibedakan. Contoh, alamat dan Alamat
adalah dua buah pengenal yang berbeda.
·
Bagian berikutnya dapat berupa huruf, angka (0 .. 9) atau
karakter garis bawah
·
Tidak boleh terdapat spasi
|
Absah
|
Salah
|
|
N
|
modal*bunga (ada tanda *)
|
|
_x
|
3Bulan (diawali dengan angka)
|
|
semester_1
|
Semester 1 (ada spasi)
|
C. Tipe Data
|
Tipe
|
Keterangan
|
|
Char
|
Menyatakan sebuah karakter (bisa berupa
huruf seperti A dan a, digit seperti 0 atau 7, atau simbol seperti & dan
*)
|
|
Double
|
Menyatakan bilangan berkoma
|
|
Float
|
Menyatakan bilangan berkoma
|
|
Int
|
Menyatakan bilangan bulat antara -32768
sampai 32767
|
|
long int
|
Menyatakan bilangan bulat antara -2147483648
sampai 2147483648
|
D. Variabel
Adalah suatu nama yang menyatakan tempat dalam memori
komputer yang digunakan untuk menyimpan suatu nilai dan nilainya dapat
diubah-ubah.
|
Mendeklarasikan
variabel
|
tipe_data nama_variabel ;
contoh :
int x;
int y;
int z;
dapat
disederhanakan mjd
int x, y, z ;
|
·
int n;
maksudnya variabel n bertipe int (untuk menyimpan bilangan bulat)
·
char c;
maksudnya variabel c bertipe char (dipakai untuk meniympan karakter)
·
long int jum_penduduk; maksudnya variabel jum_penduduk bertipe
long int (dipakai untuk menyimpan bilangan bulat dengan nilai sekitar 2
milyar)
·
double jarak; maksudnya variabel jarak bertipe double
|
|
Memberikan nilai
variabel
|
variabel = nilai
;
|
n = 7 ; berarti mengisikan 7 ke variabel n
n = n + 1; berari hasil penjumlahan nilai n dengan 1
diberikan ke n. Dengan kata lain isi n dinaikkan sebesar satu
|
E. Mengenal Komentar
Komentar digunakan untuk memberikan penjelasan kepada
pembaca program. Komentar tidak memberikan efek apa-apa pada keluaran. Isinya
dapat saja berupa penjelasan terhadap suatu pernyataan atau sejumlah
pernyataan, dapat pula berisi kegunaan program beserta waktu pembuatan dan
pembuatnya. Sebuah komentar ditulis di dalam pasangan tanda //
Contoh :
// ini adalah komentar C++
F. Menampilkan Informasi ke Layar
cout digunakan untuk menampilkan
tipe data apa saja dengan bentuk yang sederhana, cukup dengan melibatkan
operator << .
G. Memasukkan Data
cin digunakan untuk membaca data
dari keyboard dan berlaku untuk sebarang tipe data dengan melibatkan operator
>>.

G. Operator Aritmatika
Digunakan untuk melakukan perhitungan
aritmatika. Berkas header math.h menyediakan prototipe sejumlah
fungsi yang berkaitan dengan aritmatika.
|
Fungsi
|
Keterangan
|
|
sqrt(x)
|
Memberikan nilai
balik berupa akar x. Nilai balik bertipe double dan argumen juga
bertipe double.
|
|
pow(x,y)
|
Memberikan nilai
balik berupa xy . Nilai balik bertipe double
dan argumen yang juga bertipe double.
|
|
tan(x)
|
Memberikan nilai
balik berupa tangent x. Argumen x berupa nilai dalam satuan radians.
Nilai balik berupa double dan argumen juga bertipe double
|
|
sin(x)
|
Memberikan nilai
balik berupa sinus x. Argumen x berupa nilai dalam satuan radians. Nilai balik
bertipe double dan argumen juga bertipe double
|
|
cos(x)
|
Memberikan nilai
balik berupa cosinus x. Argumen x berupa nilai dalam satuan radians. Nilai
balik bertipe double dan argumen juga bertipe double
|
|
log(x)
|
Memberikan nilai
balik berupa loge. nilai balik bertipe double dan argumen juga bertipe double
|
|
log10(x)
|
Memberikan nilai
balik berupa log10 x . nilai bertipe double dan argumen juga
bertipe double
|
|
cabs(x)
|
Memberikan nilai
balik berupa nilai absolut x. Nilai balik bertipe int dan argumen juga
bertipe int.
|
|
fabs(x)
|
Memberikan nilai
balik berupa nilai absolut x. Nilai balik bertipe double dan argumen
juga bertipe double
|
Contoh :
|
Notasi
Matematika
|
Ekspresi
C++
|
||||
|
ax2 +
bx + c
|
a* x* x + b* x +
c
|
||||
|
√b
|
sqrt(b)
|
||||
|
3√b
|
pow(b, 1.0/3)
|
||||
|
c + d
|
(a + b) / (c +
d)
|
||||
|
√b2 + 4ac
|
sqrt(b* b – 4*
a* c)
|
||||
|
x + y
|
exp(x+y)/ (x +
y)
|
||||
|
a+ b / fabs
(m-n)
|
||||
|
log10
m
|
log 10(m)
|
||||
|
loge
(m + n)
|
log (m+n)
|
H. Mengenal Tipe Struct
Di dalam C++ terdapat tipe struct
yang dapat dipakai unruk menghimpun sejumlah data dengan tipe yang berbeda-beda.
Data yang diletakkan dalam sebuah struct adalah data yang terkait.
Sebagai contoh mungkin untuk membuat tipe struct yang mengandung data nomor
pegawai (NIP), nama pegawai, dan gaji.
Pendefinisiannya
adalah sebagai berikut :
|
Pada
contoh diatas, tipe struct data_pegawai
terdiri atas data nip, nama, dan gaji yang secara berturut-turut bertipe int, char [25],
dan long int. Dalam hal ini nip, nama, dan gaji disebut sebagai elemen struct atau field.
|

I. Operator
Pembanding
|
Operator
|
Keterangan
|
Operator
|
Keterangan
|
|
>
|
Lebih dari
|
*
|
Perkalian
|
|
> =
|
Lebih dari atau sama dengan
|
/
|
Pembagian
|
|
<
|
Kurang dari
|
%
|
Sisa pembagian (modulus)
|
|
< =
|
Kurang dari atau sama dengan
|
< <
|
Geser bit ke kiri
|
|
! =
|
Tidak sama dengan
|
> >
|
Geser bit ke kanan
|
|
= =
|
Sama dengan
|
&
|
Operator ”dan”
|
|
+ +
|
Penaikan ke belakang
|
^
|
Operator ”xor”
|
|
- -
|
Penurunan di belakang
|
|
|
Operator ”bukan”
|
|
( )
|
Pemanggilan fungsi
|
& &
|
Logika ”dan”
|
|
[ ]
|
Elemen array
|
| |
|
Logika ”atau”
|
|
!
|
Operator bukan
|
?:
|
Operator kondisi
|
LATIHAN
1. Buatlah
program lengkap untuk menampilkan NAMA dan NPM Anda ??
2. Buatlah program C++ untuk membaca dua buah
bilangan bulat dan kemudian menampilkan jumlah kedua bilangan tersebut ??
BAB IV
OPERASI
SELEKSI
A. IF
... ELSE
Kondisi pada
pernyataan if harus ditulis dalam tanda kurung. Dengan kata lain, kata kurung harus disertakan
untuk melingkupi kondisi pada pernyataan if. Dalam bahasa C++, jika di
dalam { } hanya terdapat sebuah pernyataan, tanda tersebut bisa dibuang.
|
Pseudocode
|
Kode C++
|
If..bersarang
|
|
JIKA kondisi benar MAKA
pernyataan_1
.......
SEBALIKNYA
pernyataan_2
........
AKHIR-JIKA
|
if (kondisi)
{
pernyataan_1
;
......
}
else
pernyataan_2 ;
.......
}
|
if (kondisi)
{
pernyataan_1 ;
......
}
else
if
(kondisi)
{
pernyataan_1 ;
......
else
pernyataan_2 ;
.......
}
|
|
JIKA kondisi benar MAKA
pernyataan
.......
AKHIR-JIKA
|
if (kondisi)
{
pernyataan ;
......
}
|
|
Contoh 1 : Menentukan bilangan genap dan
bilangan ganjil.
Sebuah bilangan dapat ditentukan sebagai bilangan genap jika bilangan tersebut
habis dibagi dengan 2. Jika tidak habs dibagi dengan 2 maka bilangan tersebut
dianggap bilangan ganjil. Buatlah algoritma dan programnya ??
Solusi :
Algoritma :
1)
masukkan
(bilangan)
2)
JIKA
sisa_pembagian (bilangan,2) = 0 MAKA
Tampilkan (”Bilangan genap”)
SEBALIKNYA
Tampilkan (”Bilangan ganjil)
AKHIR-JIKA
Program
:
Contoh 2 : Menentukan bilangan terbesar
diantara dua buah bilangan. Buatlah algoritma dan program untuk menampilkan dua buah bilangan bulat
dimasukkan dari keyboard ??
Solusi : Cara 1
Algoritma
:
1) masukan (x , y)
2) terbesar ←
x // asumsi bahwa x adalah yang
terbesar
JIKA terbesar
< y MAKA
terbesar ← y
AKHIR JIKA
3)
tampilkan (terbesar)
Program :
|
Cara 2 : dilakukan tanpa melibatkan variabel lain
Algoritma
:
1)
masukkan
(x , y)
2)
JIKA
x > y MAKA
Tampilkan (”terbesar yaitu ”, x)
SEBALIKNYA
Tampilkan (”terbesar yaitu”, y)
AKHIR-JIKA
Program :
|
Contoh 3 : Memvalidasi nilai ujian. Buatlah algoritma dan program yang
meminta sebuah nilai ujian dimasukkan dari keyboard dan memvalidasi nilai
tersebut. Berikan komentar ”Absah” jika nilai tersebut berada antara 0 – 100
dan berikan komentar ”Tidak absah” untuk keadaan sebaliknya ??
Solusi :
Algoritma :
1)
masukkan
(nilai)
2)
JIKA
(nilai > = 0 dan nilai < = 100 MAKA
Tampilkan (”Absah”)
SEBALIKNYA
Tampilkan (”Tidak absah”)
AKHIR-JIKA
Program :

Contoh 4 : Menentukan predikat kelulusan. Tabel berikut memperlihatkan daftar
predikat kelulusan seorang sarjana berdasarkan indeks prestasi kumulatifnya.
Buatlah algoritma dan program untuk menentukan predikat kelulusan seperti di
bawah ini :
|
IP Kumulatif
|
Predikat Kelulusan
|
|
2.00 ≤ IP ≤ 2.75
|
Lulus Memuaskan
|
|
2.75 ≤
IP ≤ 3.50
|
Lulus Sangat Memuaskan
|
|
3.50 ≤
IP ≤ 4.00
|
Lulus dengan Pujian
|
Solusi : Menggunakan if – bersarang
Algoritma :
1)
masukkan
(ip)
2)
JIKA
ip ≥ 2 dan ip ≤ 2.75 MAKA
Tampilkan (”Lulus Memuaskan”)
SEBALIKNYA
JIKA ip > 2.75 dan ip ≤ 3.50 MAKA
Tampilkan (”Lulus Sangat Memuaskan”)
SEBALIKNYA
JIKA ip
> 3,50 dan ip ≤ 4.00
MAKA
Tampilkan (”Lulus dengan Pujian”)
SEBALINKNYA
Tampilkan (”Data IP tidak valid”)
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
Program :
|
Contoh 5 : Menentukan nama bulan menurut angka. Buatlah algoritma dan program yang
membaca data kode bulan dari keyboard dan kemudian menampilkan nama bulan ??
Solusi :
Algoritma
1) Masukkan (kode_bulan)
2) JIKA kode_bulan =1 MAKA
Tampilkan
(”Janauari”)
SEBALIKNYA
JIKA kode_bulan = 2 MAKA
Tampilkan (”Februari”)
SEBALIKNYA
JIKA kode_bulan = 3 MAKA
Tampilkan (”Maret”)
SEBALIKNYA
JIKA kode_bulan = 4 MAKA
Tampilkan
(”April”)
SEBALIKNYA
JIKA kode_bulan = 5 MAKA
Tampilkan
(”Mei”)
SEBALIKNYA
JIKA kode_bulan = 6 MAKA
Tampilkan
(”Juni”)
SEBALIKNYA
JIKA kode_bulan = 7
MAKA
Tampilkan (”Juli”)
SEBALIKNYA
JIKA kode_bulan
= 8 MAKA
Tampilkan (”Agustus”)
SEBALIKNYA
JIKA
kode_bulan = 9 MAKA
Tampilkan
(”September”)
SEBALIKNYA
JIKA
kode_bulan = 10 MAKA
Tampilkan (”Oktober”)
SEBALIKNYA
JIKA kode_bulan = 11 MAKA
Tampilkan (”November”)
SEBALIKNYA
JIKA kode_bulan = 12 MAKA
Tampilkan (”Desember”)
SEBALIKNYA
Tampilkan (”Salah kode bulan”)
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
Program :
|
||
|
Contoh 6 : Menentukan jumlah hari. Buatlah algoritma dan program yang meminta data bulan (1..12) dimasukkan
dari keyboard dan kemudian menentukan jumlah hari dalam bulan tersebut ?
Solusi : Algoritma
1)
Masukkan
(kode_bulan)
2)
JIKA
kode_bulan = 2 MAKA
Tampilkan (”Jumlah hari 28 atau 29”)
SEBALIKNYA
JIKA kode_bulan = 1 atau 3 atau 5 atau 7 atau 8 atau 10 atau 12 MAKA
Tampilkan (”Jumlah hari 31”)
SEBALIKNYA
JIKA kode_bulan = 4 atau 6 atau 9 atau 11 MAKA
Tampilkan (”Jumlah hari 30”)
SEBALIKNYA
Tampilkan (”Salah kode bulan”)
AKHIR-JIKA
AKHIR-JIKA
AKHIR-JIKA
Program :

B. SWITCH
Penyataan
break pada pernyataan switch digunakan agar ekesekusi dilanjutkan
ke pernyataan yang terletak sesudah pernyataan switch. Bagian default
pada switch bersifat opsional. Bagian ini hanya dijalankan kalau tak ada
satupun bagian case yang cocok dengan nilai yang ada pada switch.
Pernyataan break pada bagian default bisa ditiadakan tanpa
mengubah hasil.
|
Pseudocode
|
Kode C++
|
|
COCOK nilai
DENGAN nilai1 MAKA
Pernyataan_11 ;
Pernyataan_12 ;
DENGAN nilai1 MAKA
Pernyataan_21 ;
Pernyataan_22 ;
LAINNYA
Pernyataan_31 ;
Pernyataan_32 ;
AKHIR-COCOK
|
switch (nilai)
{
case
nilai1 :
pernyataan_11 ;
pernyataan_12 ;
break;
case
nilai2 :
pernyataan_21 ;
pernyataan_22 ;
break;
default :
pernyataan_n1 ;
pernyataan_n2 ;
break;
}
|
|
COCOK nilai
DENGAN nilai1 MAKA
Pernyataan_11 ;
Pernyataan_12 ;
DENGAN nilai1 MAKA
Pernyataan_21 ;
Pernyataan_22 ;
LAINNYA
Pernyataan_31 ;
Pernyataan_32 ;
AKHIR-COCOK
|
switch (nilai)
{
case
nilai1 :
pernyataan_11 ;
pernyataan_12 ;
break;
case
nilai2 :
pernyataan_21 ;
pernyataan_22 ;
break;
case nilai3 :
pernyataan_31 ;
pernyataan_32 ;
break;
}
|
Contoh 1 : Menentukan nama bulan menurut angka.
Buatlah algoritma dan program yang membaca data kode bulan dari keyboard dan
kemudian menampilkan nama bulan ??
Solusi : Algoritma
1)
Masukkan
(kode_bulan)
2)
COCOK
kode_bulan
DENGAN 1 MAKA
Tampilkan
(”Januari”)
DENGAN 2 MAKA
Tampilkan
(”JFebruari”)
DENGAN 3 MAKA
Tampilkan
(”Maret”)
DENGAN 4 MAKA
Tampilkan
(”April”)
DENGAN 5 MAKA
Tampilkan
(”Mei”)
DENGAN 6 MAKA
Tampilkan
(”Juni”)
DENGAN 7 MAKA
Tampilkan
(”Juli”)
DENGAN 8 MAKA
Tampilkan
(”Agustus”)
DENGAN 9 MAKA
Tampilkan
(”September”)
DENGAN 10 MAKA
Tampilkan
(”Oktober”)
DENGAN 11 MAKA
Tampilkan
(”November”)
DENGAN 12 MAKA
Tampilkan
(”Desember”)
LAINNYA
Tampilkan
(”Salah kode bulan”)
AKHIR-COCOK
Program :


Contoh 2 : Menentukan jumlah hari. Buatlah algoritma dan program yang meminta data bulan (1..12) dimasukkan
dari keyboard dan kemudian menentukan jumlah hari dalam bulan tersebut ?
Solusi : Algoritma
1)
masukkan
(kode_bulan)
2)
COCOK
kode_bulan
DENGAN 2 MAKA
Tampilkan (”Jumlah hari 28 atau 29”)
DENGAN 1 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 3 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 5 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 7 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 8 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 10 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 12 MAKA
Tampilkan (”Jumlah hari 31”)
DENGAN 4 MAKA
Tampilkan (”Jumlah hari 30”)
DENGAN 6 MAKA
Tampilkan (”Jumlah hari 30”)
DENGAN 9 MAKA
Tampilkan (”Jumlah hari 30”)
DENGAN 11 MAKA
Tampilkan (”Jumlah hari 30”)
LAINNYA
Tampilkan (”Salah kode bulan”)
AKHIR-COCOK
Program :
|

LATIHAN
1.
Buatlah
algoritma dan program yang meminta sebuah nilai ujian dimasukkan dari keyboard.
Hasilnya berupa keterangan ”Lulus” kalau nilainya lebih besar atau sama dengan
60 dan ”Tidak Lulus” kalau nilainya kurang dari 60 ??
2.
Buatlah
algoritma dan program yang meminta sebuah bilangan bulat dimasukkan dari
keyboard dan kemudian menghasilkan informasi sebagai berikut :
” Negatif ”
kalau nilainya kurang dari nol. ”Nol” kalau nilainya sama dengan nol. ”Positif”
kalau nilainya lebih dari nol ??
3. Berdasarkan data berikut : 1 =
ANTV 2 = RCTI 3 = SCTV 4 = INDOSIAR. Buatlah algoritma dan
program yang mula-mula meminta nomor saluran dimasukkan dari keyboard dan
kemudian menampilkan nama stasiun TV. Jika tidak terdapat nomor saluran maka
akan ditampilkan ”Tidak ada siaran coyyy”. Penyelesaian menggunakan JIKA .. AKHIR-JIKA
dan COCOK-AKHIR COCOK ??
4. Data berikut mencatumkan
nama-nama lapisan udara berdasarkan letak ketinggian dari permukaan bumi :
0 ≤ tinggi < 10 km :
Troposfer , 10 ≤ tinggi < 40 km : Statosfer,
40 ≤ tinggi < 70 km :
Mesosfer, 70 ≤ tinggi < 400 km : Termosfer,
tinggi ≥ 400 km : Eksosfer. Buatlah algoritma dan
program yang mula-mula meminta masukan data ketinggian dan kemudian menentukkan
nama lapisan udaranya ??
BAB V
OPERASI PENGULANGAN
A. WHILE
|
Pseudocode
|
C++
|
|
ULANG SELAMA kondisi
Pernyataan_1
...........
Pernyataan_n
AKHIR-ULANG
|
while (kondisi)
{
Pernyataan_1 ;
.........
Pernyataan_n ;
}
|
Dalam hal ini, bagian Pernyataan_1
hingga Pernyataan_n akan dijalankan secara terus menerus selama kondisi
bernilai BENAR. Seandainya dalam tanda kurung { dan
} hanya terdapat satu pernyataan, pasangan tanda tersebut dapat
dihilangkan. Contoh :
|
Contoh
1 : Buatlah algoritma untuk menampilkan 6 buah tulisan
”Hello” dengan menggunakan pengulangan ??
|
Contoh
2 : Buatlah program
untuk menampilkan bilangan sbb : 1 2 3 4 5 6 7 8 9 ??
Solusi
: Program
|
Contoh
3 : Buatlah program
untuk menampilkan bilangan sbb : 5 4 3 2 1 ??
Solusi
: Program

Contoh
4 : Buatlah program untuk
menampilkan bilangan ganjil kurang dari 20 ??
|
|
Contoh
5 : Buatlah program
untuk menampilkan bilangan genap kurang dari 20 ??
|
Contoh
6 : Buatlah algoritma
dan program untuk menghitung jumlah sepeerti berikut dengan n adalah bilangan
yang dimasukkan dari keyboard :
1 + 2 + 3 + 4 + ... + (n-2) + (n-1) + n
Solusi : Algoritma
1)
masukkan
(n)
2)
jum ←
0
3)
pencacah
← 0
4)
ULANG
SELAMA pencacah ≤ n
jum ← jum + pencacah
pencacah ← pencacah + 1
AKHIR-ULANG
5)
tampilkan
(jum)
Program
![]() |
Contoh 7 : Buatlah algoritma
dan program yang meminta n buah bilangan bukat dimasukkan dari keyboard dan
kemudian menampilkan nilai rata-rata dari keseluruhan bilangantersebut??
Solusi : Algoritma
Solusi : Algoritma
1)
masukkan (n)
2)
jum ← 0
3)
pencacah
← 0
4)
ULANG
SELAMA pencacah ≤ n
masukkan (bil)
jum ← jum + bil
pencacah ← pencacah + 1
AKHIR-ULANG
5)
rata_rata
← jum / n
6)
tampilkan
(rata_rata)
Program
|

Contoh 8 : Buatlah algoritma
dan program yang pertama-tama meminta suatu string dimasukkan dari keyboard dan kemudian
menghitung jumlah karakter yang terdapat pada string tersebut ??
Solusi : Algoritma
1)
masukkan (string)
2)
indeks ← 0
3)
ULANG
SELAMA string [indeks] ≠ NULL
Indeks ← indeks + 1
AKHIR-ULANG
4)
tampilkan
(”Jumlah karakter = ”, indeks)
Program :
|
Contoh : Buatlah algoritma
dan program untuk menampilkan suatu string yang dimasukkan dari keyboard
menjadi terbalik ??
Solusi : Algoritma
1)
masukkan (string)
2)
indeks ← panjang (string) – 1
3)
ULANG
SELAMA indeks > = 0
tampilkan (string [indeks])
indeks = indeks – 1
AKHIR-ULANG
Program :
|
LATIHAN
1.
Buatlah algoritma dan program untuk menampilkan bilangan
genap kurang dari 20 ?
2.
Buatlah program untuk menampilkan bilangan 1 4 9 16 25 36
49 ??
|








0 komentar:
Posting Komentar