You are on page 1of 11

2

MODUL PERKULIAHAN

W152100002 –
Algoritma Dan
Pemrograman
MENERAPKAN
ALGORITMA DALAM
MENYELESAIKAN
MASALAH (BAGIAN 2)

Abstrak Sub-CPMK

Pemecahan masalah di mulai dari Diharapkan dapat :


menganalisa, menerapkan dan Mampu menganalisa sebuah masalah dan
merancang notasi algoritma lalu menerapkan notasi algoritma dalam
membuat porgram. Pemecahan merancang sebuah algoritma untuk
masalah dipertemuan ini adalah menyelesaikan masalah secara
penggabungan dari flowcart, terkomputerisasi.
pesudocode, membuat program
kondisi/percabangan dan
perulangan.

Fakultas Program Studi Tatap Muka Disusun Oleh

15
Umniy Salamah, ST., MMSI
Fakultas Ilmu Komputer Teknik Informatika
MENYELESAIKAN MASALAH (BAGIAN 2)

1.1. KONDISI/PERCABANGAN

Kasus 1 :
Mencetak kata “Huruf Vokal” bila sebuah karakater yang dibaca/diinput adalah karakter
huruf hidup. Lainnya Cetak kata “ Huruf Konsonan”.

Pemecahan masalah :
Pseudocode
1. Deklarasi var c = char
2. Deskripsi :
a. Input c
b. Jika (c = ‘a’) or (c = ‘A’) or (c = ‘i’) or (c = ‘I’) or (c = ‘u’) or (c = ‘U’) or (c =
‘e’) or (c = ‘E’) or (c = ‘o’) or (c = ‘O’)
c. Write “Huruf Vokal”
d. Lainnya write “ Huruf Konsonan)
Flowchart

2021 Algoritma Dan Pemrograman


2 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Program
Menggunakan stdio untuk printf dan scanf.
#include<stdio.h>
main(){
char c;
printf("Input sebuah karakter huruf : "); scanf("%c",&c);
if ((c == 'a') || (c == 'A') || (c == 'i') || (c == 'I') || (c ==
'u') || (c == 'U') || (c == 'e') || (c == 'E') || (c == 'o') || (c
== 'O'))
printf("Huruf yang anda inputkan adalah HURUF VOKAL");
else
printf("Huruf yang anda inputkan adalah HURUF KONSONAN");
}

Menggunakan iostream untuk cout dan cin.


#include<iostream>
using namespace std;
main(){
char c;
cout<<"Input sebuah karakter huruf : "; cin>>c;
if ((c == 'a') || (c == 'A') || (c == 'i') || (c == 'I') || (c ==
'u') || (c == 'U') || (c == 'e') || (c == 'E') || (c == 'o') || (c
== 'O'))
cout<<"Huruf yang anda inputkan adalah HURUF VOKAL";
else
cout<<"Huruf yang anda inputkan adalah HURUF KONSONAN";
}

Kasus 2 :
Karyawan magang di PT. XYZ di gaji perjam Rp. 2000 dan di bayarkan berdasarkan
jumlah jam kerja selama 1 minggu. Jika Jumlah jam kerja dalam 1 minggu lebih dari 48
jam, maka kelebihan jam kerja dianggap lembur. Jam lembur memliki upah Rp. 3000.
Dibaca (diinput) jumlah jam kerja seorang karyawan dan tentukan upah tiap minggunya.

2021 Algoritma Dan Pemrograman


3 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Pemecahan masalah :
Pseudocode
1. Deklarasi var nomor_induk_karyawan = integer
jumlah_jam_kerja = integer
Total_upah = float
Konstanta upah = 2000, upah_lembur = 3000 ;

2. Deskripsi :
a. Input nomor induk karyawan
b. Input jumlah jam kerja
c. 1. Jika jumlah_jam_kerja <= 48
Total_upah  jumlah_jam_kerja x upah
Go to d
2. Else
Total_upah  (jumlah_jam_kerja x upah) + ( (jumlah_jam_kerja –
48) *
upah_lembur)
Go to d
d. Cetak Total Upah

Flowchart :

2021 Algoritma Dan Pemrograman


4 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Program
Menggunakan stdio untuk printf dan scanf.
#include<stdio.h>
main(){
int nomor_induk_karyawan;
float jumlah_jam_kerja;
float Total_upah;
const float upah = 2000, upah_lembur = 3000;
printf("Masukkan nomor induk karyawan : ");
scanf("%d",&nomor_induk_karyawan);
printf("Masukkan jumlah jam kerja :");
scanf("%f",&jumlah_jam_kerja);
if (jumlah_jam_kerja <= 48)
Total_upah = jumlah_jam_kerja * upah;
else Total_upah = (jumlah_jam_kerja * upah) + ((jumlah_jam_kerja
- 48) * upah_lembur);
printf("Total Upah yang diterima adalah = %.2f ", Total_upah);
}

Menggunakan iostream untuk cout dan cin.


#include<iostream>
using namespace std;
main(){
int nomor_induk_karyawan;
float jumlah_jam_kerja;
float Total_upah;
const float upah = 2000, upah_lembur = 3000;
cout<<"Masukkan nomor induk karyawan : ";
cin>>nomor_induk_karyawan;
cout<<"Masukkan jumlah jam kerja :";cin>>jumlah_jam_kerja;
if (jumlah_jam_kerja <= 48)
Total_upah = jumlah_jam_kerja * upah;
else Total_upah = (jumlah_jam_kerja * upah) + ((jumlah_jam_kerja –
48) * upah_lembur);
cout<<"Total Upah yang diterima adalah = "<<Total_upah;

2021 Algoritma Dan Pemrograman


5 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
1.2. PERULANGAN ATAU LOOPING

Kasus 3 : (gunakan while, do while atau for)


Seorang siswa ingin mencetak urutan angka berbentuk segitiga siku-siku dengan tinggi
segitiganya di input. sehingga bila program dijalankan outputnya sebagai berikut :
Masukkan tinggi segitiga : (misal 5)
Maka outputnya adalah sebagai berikut :
12345
1234
123
12
1

Pemecahan Masalah
Pseudocode
1. Deklarasi :
a. Deklarasi var tinggi, baris, kolm = integer

2. Deskripsi :
a. Input tinggi segitiga :
b. baris = 1
c. Jika (baris < = tinggi}
1. kolom = 1
2. Jika ( kolom < = tinggi)
1. Cetak kolom
2. kolom = kolom + 1
3. Go to c 2
3. baris baru / end line
4. tinggi = tinggi – 1
5. go to c
d. end

2021 Algoritma Dan Pemrograman


6 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Flowchart

Program
Menggunakan stdio untuk printf dan scanf.
#include<stdio.h>
main()
{
int tinggi, baris, kolom;
printf("masukkan tinggi piramnid :"); scanf("%d",&tinggi);
baris = 1;
while (baris<=tinggi)
{
kolom = 1;
while (kolom<=tinggi)
{
printf("%d", kolom) ;
kolom=kolom+1;
}
printf("\n");
tinggi--;
}
return 0;
}

2021 Algoritma Dan Pemrograman


7 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Menggunakan iostream untuk cout dan cin
#include<iostream>
using namespace std;

main()
{ int tinggi, baris, kolom;
cout<<"masukkan tinggi piramnid :"; cin>> tinggi;
baris = 1;
while (baris<=tinggi)
{
kolom= 1;
while (kolom<=a=tinggi)
{
cout<< kolom ;
kolom=kolom+1;
}
cout<<endl;
tinggi--;
}
return 0;
}

Kasus 4 : (gunakan while, do whule atau for)


Seoarang siswa kelas 10 sedang belajar matriks. Dengan masing-masing ordo di input.
buatlah programnya bila output yang diinginkan adalah sebagai berikut :
Masukkan ordo baris : < misal 3)
Masukkan ordo kolom : < misal 3)
Maka output yang keluar adalah matrik yang memiliki deret angka yang terurut.
Output :
123
456
789

Pemecahan masalah :
Pseudocode

1. Deklarasi :
a. Deklarasi var a, b, c = 1, baris, kolom = integer

2. Deskripsi :

2021 Algoritma Dan Pemrograman


8 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
a. Input ordo baris
b. Input ordo kolom
c. a = 1
d. Jika (a < = baris)
1. b = 1
2. Jika ( b <= kolom)
1. Cetak c
2. c = c + 1
3. b = b + 1
4. Go to d. 2
3. baris baru / end line
4. a = a +1
5. go to d
e. end

Flowchart

Program

2021 Algoritma Dan Pemrograman


9 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Menggunakan stdio untuk printf dan scanf.
#include<stdio.h>
main()
{
int a, b, baris, kolom, c = 1;
printf("masukkan ordo baris : "); scanf("%d",&baris);
printf("masukkan ordo kolom : "); scanf("%d",&kolom);
a = 1;
while (a<=baris)
{
b = 1;
while (b<=kolom)
{
printf("%d ", c) ;
c = c + 1;
b=b+1;
}
printf("\n");
a=a+1;
}
return 0;
}

Menggunakan iostream untuk cout dan cin


#include<iostream>
using namespace std;
main()
{ int a, b, baris, kolom, c = 1;
cout<<"masukkan ordo baris : "; cin>>baris;
cout<<"masukkan ordo kolom : "; cin>>kolom;
a = 1;
while (a<=baris)
{
b = 1;
while (b<=kolom)
{
cout<<c<<" " ;
c = c + 1;
b=b+1;
}
cout<<endl;
a=a+1;
}
return 0;
}

2021 Algoritma Dan Pemrograman


10 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Daftar Pustaka
1. Kadir, A. (2009). Mudah Menjadi Programmer C++. Yogyakarta: Penerbit Andi.
2. Kadir, A. (2009). Pemrograman C++ Membahas Pemrograman Berorientasi
Obyek Menggunakan Turbo C++ dan Borland C++. Yogyakarta: Penerbit Andi.
3. Suharno Prawirosumarto, Aplikasi Komputer Edisi 3 2012. Jakarta : Mitra Wacana
Media.
4. Muhammad Sholeh, Panduan Belajar Pemrograman Terstruktur Agoritma Dan
Pemrograman C++ 2013, Yogyakarta : Akprind Press
5. Hartono Jogiayanto, Konsep Dasar Pemrograman Bahasa C 2009. Yogyakarta
6. Bambang, Wirawan (2004), Struktur Data dengan C, Pernerbit Andi Jogyakarta.
7. Kristanto, Andri (2003), Struktur Data dengan C++, Penerbit Graha Ilmu
8. Raharjo Budi (2007), Pemrograman C++
9. Jogiyanto (2007). Konsep Dasar Pemrograman Bahasa C

2021 Algoritma Dan Pemrograman


11 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

You might also like