Anda di halaman 1dari 18

LAPORAN PRAKTIKUM

BAHASA PEMOGRAMAN

Pengulangan

OLEH :

AIDIL SYAPUTRA / 15063026

DOSEN :

Dr. Mukhlidi M uskhir, S.pd, M.kom

PRODI PENDIDIKAN TEKNIK ELEKTRO (S1)

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG


2018

Jobsheet : Praktek Bahasa Pemograman Dosen : Dr. Mukhlidi Muskhir, S.Pd., M.Kom
Judul : Pengulangan Prodi :Teknik Elektro Industri
Nomor Jobsheet : A04 Jurusan : Teknik Elektro– FT UNP

A. Tujuan
Tujuan Umum:
Merancang pemograman komputer untuk kebutuhan Teknik Elektro Industri

Tujuan Khusus:
1. Mengenali beberapa jenis algoritma pengulangan
2. Merancang algoritma pemograman pengulangan untuk berbagai kasus
3. Menerapkan algoritma pemograman pengulangan

B. Teori Singkat
Algoritma dasar yang sering digunakan dalam pengembangan pemograman adalah
pengualangan. Ada bebera jenis pengulangan yang dapat digunakan dalam teknik
pemograman. Algoritma pengulangan dalam pemograman adalah proses eksekusi
pemograman yang berulang-ulang. Ada dua algoritma pengulangan yaitu bersyarat dan
terbatas. Pengulangan bersyarat adalah proses pengulangan eksekusi program yang terus
berlangsung sampai batasan tertentu. Pengulangan terbatas adalah proses pengulangan
eksekusi program yang berlansung atas dasar keterbatasan yang telah ditetapkan
sebelumnya. Secara umum kedua jenis pemograman, dapat digambarkan bentuk algoritma
dalam bentuk flowchat diagram seperti pada gambar 4.1.
Pemograman komputer sesuai
dengan algoritma pemograman
komputer yang akan dikembangkan.
Perhatikan gambar 4.1, menunjukkan
ada dua kemungkinan yang terjadi, yaitu
jika benar memenuhi syarat maka
dilakukan perintah (statement) dan
dilakukan pengulangan. Jika tidak
memenuhi persyaratan tersebut maka
proses pengulangan dihentikan.
Persyaratan-persyaratan tersebut
memenuhi atau tidak memenuhi,
menggunakan perbandingan. Pada
bahasa pemograman C++ ada operator
perbanding (rational) yang digunakan
untuk membandingkan antra dua
operand.
Operand yang pertama adalah operand pembanding sebagai standard, dan operand
dibandingkan yang dapat berubah sesuai dengan proses yang terjadi pada interaksi pada
pemograman. Perhatikan tabel 4.1, Operasional Rasional.
Tabel. 4.1
Operasional Rasional Pemograman C++
No Operator Keterangan
1 == Sama dengan
2 != Tidak sama
3 < Kecil
4 > Besar
5 <= Kecil sama
6 >= Besar sama
Ada tiga jenis pengulangan yang digunakan pada C++ yaitu for(), while() do, dan
do while(). Dimulai dari for(), terlihat algoritmanya seperti yang tampak pada gambar 4.2.
Terlebih dahulu ada statemen inisialisasi dengan variabel tertentu dan tipe data tertentu
(biasanya: bilangan bulat), yang kemudian diakhir program mengalami perubahan demi
perubahan sehingga memenuhi persyaratan tertentu. Pengulangan akan terus terjadi sampai
statemen yang dinginkan berhasil

Proses penulisan coding untuk algoritma pengulangan for() adalah for(initial


statemen; loop condition; update statement). Sebagai contoh lihat lis program 4.1. berikut
ini.
List Program 4.1
#include <iostream>
using namespace std;
int main(){
int i;
for(i=0;i<5;i++){
cout<<"Haloo"<<endl;
}
}

Perintah pengulangan kedua adalah while() do. Algoritma pemograman while () do


dapat dilihat seperti pada gambar 4.3. Pada algoritma tersebut perintah pengulangan ter lebih
dahulu melakukan pengecekan, apakah proses pengulangan dapat dijalankan.
Jika ya dilakukan, jika tidak proses pengulangan tidak jadi dijalankan. Setelah itu
dilakukan pengecekankembali sampai proses pengecekan tidak memenuhi persyaratan lagi.
Cara penulisan codingnya memenuhi standar sebagai berikut.
While (syarat) {
Statement
}

Contoh penulisan algoritma while() do dapat diliahat pada list program 4.2.

List program 4.2


#include <iostream>
using namespace std;
int main(){
int i;
i=0;
while (i<5){
cout<<"Haloo"<<endl;
i++;}
}
}
Terakhir adalah pengulangan
dengan menggunakan algoritma do while().
Perbedaan yang sepesifik terlatak pada
terlebih dahulu
menjalankan statement,
kemudian
setelahnyalah dilakukan pengecekan
persyaratan. Algoritma ini diperuntukkan
pada pemulain program tidak memerlukan
persyaratan awal. Justru ketika diberikan
persyarawatan awal mengakibatkan
program tidak menjalankan aplikasi sama
sekali.
Cara penulisan codingnya pada
c++
adalah:
Do
{
Statement
} while (syarat)

Contohnya dapat pemogramannya dapat diperhatikan list program 4.3.


List program 4.3
#include <iostream>
using namespace std;
int main(){
int i;
i=0;
do
{
cout<<"Haloo"<<endl;
i++;
}while (i<5);
}
C. Alat dan Bahan
1. Komputer/Laptop
2. Editor (notepad/subline text)
3. CygWin/MinGW

D. Langkah-langkah
1. Buatlah sebuah pemograman dengan menampilkan tulisan “UNP” Sebanyak 10 kali
dengan menggunakan perintah for(). Sebelum membuat program terlebih dahulu anda
buatkan sebuah konsep algoritma pemogramannya dengan menggunakan flowchar
diagram. Hasilnya adalah seperti berikut ini:
Hasil pemograman yang direncanakan :
1. UNP
2. UNP
3. UNP
4. UNP
5. UNP
6. UNP
7. UNP
8. UNP
9. UNP i=0
10. UNP

cout<<
I < 10 "UNP" i++
<<endl;
2. Selanjutnya anda, cobakan membuat aplikasi pemogramanya, ketikkkan, simpan, dan
kompilasi program tersebut!! Apakah yang anda menemukan pesan kesalahan?
#include<iostream>
using namespace std;
int main(){
int i;
for(i=0;i<10;i++){
cout<<"UNP"<<endl;
}
}

3. Jika ya maka lakukan pebaikan dengan mengecek hasil pekerjaan pada langkah 1 dan 2.
Lakukan sampai berhasil.

Microsoft Windows [Version 10.0.16299.309]


(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\Acer>cd D:\PRAKTIKUM PEMOGRAMAN

C:\Users\Acer>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 41.exe 41.c

D:\PRAKTIKUM PEMOGRAMAN>41
UNP
UNP
UNP
UNP
UNP
UNP
UNP
UNP
UNP
UNP

D:\PRAKTIKUM PEMOGRAMAN>

4. Perhatikan matrik proses perhitungan nilai faktorial. Perhatikan proses perhitungan


faktorial berikut ini contoh : Sebuah nilai difaktorialkan nilai itu diwakili oleh variabel
a maka faktorialnya adalah a!. Jika variable a diinputkan dengan 5 maka faktorialnya
adalah 5! = 5x4x3x2x1= 120. Demikian juga jika a diinputkan nilai 10 maka nilai
faktorialnya adalah 10!=10x9x8x7x6x5x4x3x2x1 =.......?

5. Berdasarkan proses perhitungan faktorial tersebut maka buatlah algortima


pemogramanya dengan menggunakan diagram alir!
int i=1

cout<<b<<
i<=b
"! = "; i++

6. Pastikan algoritmanya sudah benar, lanjutkan dengan pembuatan program,


selanjutnya pastikan program sudah benar dan ketikkan, kompilasi dan jalankan.

#include <iostream>
using namespace std;
int main(){
int b,c;
cout<<"Program Faktorial"<<endl;
cout<<"Masukan Bilangan yang akan di Faktorialkan= ";
cin>>b;
c=b;
cout<<"bilangan ="<<b<<endl;
cout<<b<<"! = ";
for(int i=1;i<=b;i++){
cout<<i;
if(i==b){
cout<<" =";
}
else{
cout<<"*";
}
}
//hitung start
for(int i=1;b>i;){
b=b-1;
c=c*b;
}
//hitung end
//tampilkan start
cout<<c;
return 0;
}
7. Uji kebenarannya dengan dengan memasukkan angka 5, apakah hasilnya 120? Jika
tidak maka program anda salah dan cek kembali algortima dan program yang sudah
anda hasilkan! Lakukan pengujian sampai benar hasilnya 120.
8. Uji kembali dengan memasukkan a=10, apakah hasilnya sudah mencapai 3628800,
jika tidak sama maka algoritma dan program anda masih salah. Lakukan
pengecekkan kembali hingga hasilnya benar.

Microsoft Windows [Version 10.0.16299.309]


(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\Acer>cd D:\PRAKTIKUM PEMOGRAMAN

C:\Users\Acer>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 42.exe 42.c

D:\PRAKTIKUM PEMOGRAMAN>42
Program Faktorial
Masukan Bilangan yang akan di Faktorialkan= 5
bilangan =5
5! = 1*2*3*4*5 =120
D:\PRAKTIKUM PEMOGRAMAN>42
Program Faktorial
Masukan Bilangan yang akan di Faktorialkan= 10
bilangan =10
10! = 1*2*3*4*5*6*7*8*9*10 =3628800
D:\PRAKTIKUM PEMOGRAMAN>

9. Buatlah sebuah program dengan menghasilkan program penyususn segitiga siku-siku


dan segitiga sama kaki dengan mengunakan tanda “O”. Buatlah jumlah baris dan kolom
sama dengan memisalakan input sama dengan a. Misalkan a=5 maka hasilnya adalah..

a. Segitiga siku-siku
Notepad++:
#include <iostream>
using namespace std;
int main() {
int i,j,a;
cout<<"masukkan nilai a= ";
cin>>a;
for(i=1;i<=a;i++){
for(j=1;j<=i;j++){
cout<<"0";
}
cout<<endl;
}
return 0;
}

Command Prompt:
Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\Acer>cd D:\PRAKTIKUM PEMOGRAMAN

C:\Users\Acer>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 43.exe 43.c

D:\PRAKTIKUM PEMOGRAMAN>43
masukkan nilai a= 5
0
00
000
0000
00000

b. Segitiga sama kaki


Notepad++:
#include <iostream>
using namespace std;
int main ()
{
int spasi,baris;
cout<<"masukkan jumlah baris:";
cin>>baris;
for(int i=1,k=0;i<=baris;++i,k=0)
{
for(spasi=1;spasi<=baris-i;++spasi)
{
cout<<" ";
}
while (k !=2*i-1)
{
cout<<"0";
++k;
}
cout<<endl;
}
return 0;
}

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM
PEMOGRAMAN

D:\PRAKTIKUM PEMOGRAMAN>d:
D:\PRAKTIKUM PEMOGRAMAN>g++ -o 49b.exe 49b.c

D:\PRAKTIKUM PEMOGRAMAN>49b
masukkan jumlah baris:10
0
000
00000
0000000
000000000
00000000000
0000000000000
000000000000000
00000000000000000
0000000000000000000

D:\PRAKTIKUM PEMOGRAMAN>

10. Kembali anda mengunakan perintah for(), namun anda menggunakan dua for() yang
saling terkait. Atau disebut juga pengulangan bersarang. For() kedua menunggu for()
pertama bekerja dan jika selesai for() pertama menunggu for() kedua, dan begitu
seterusnya hingga selesai.
11. Anda buat algoritma pemogramannya dengan menggunakan diagram alir

12. Dilanjutkan dengan membuat aplikasi pemogramannya dengan terlebih dahulu


memastikan algoritmanya sudah berjalan dengan baik
13. Program dikompilasi!! Jika ada kesalahan rujuk kembali ke algoritma dan
tulisan pemogramannya. Ulangi terus sampai berhasil
Notepad++:
#include <iostream>
using namespace std;
int main()
{

cout<<"========================================
==="<<endl;
cout<<"= program perulangan 2 for berkaitan
="<<endl;

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

int x,y;
for(x=1;x<=9;x++)
{
for(y=1;y<=x;y++)
{
cout<<0;
}
cout<<endl;
}
}

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM
PEMOGRAMAN

D:\PRAKTIKUM PEMOGRAMAN>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ 410.exe 410.c


g++: error: 410.exe: No such file or directory

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 410.exe 410.c

D:\PRAKTIKUM PEMOGRAMAN>410
===========================================
= program perulangan 2 for berkaitan =
===========================================
0
00
000
0000
00000
000000
0000000
00000000
000000000

D:\PRAKTIKUM PEMOGRAMAN>

14. Ulangi langkah 1 sampai langkah 13 dengan menggunakan perintah while() do


a. UNP 10 kali
Notepad++:
#include<iostream>
using namespace std;
int main (){
int i;
i = 1;
while(i<=10){
cout<<i<<". UNP"<<endl;i+=1;
}
}

Command Prompt:
C:\Users\Acer>cd D:\PRAKTIKUM PEMOGRAMAN

C:\Users\Acer>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 414.exe 414.c

D:\PRAKTIKUM PEMOGRAMAN>414
1. UNP
2. UNP
3. UNP
4. UNP
5. UNP
6. UNP
7. UNP
8. UNP
9. UNP
10. UNP

D:\PRAKTIKUM PEMOGRAMAN>

b. Faktorial
Notepad++:
#include <iostream>
using namespace std;
int main (){
int a,i;
cout<<"Masukakn Nilai a = ";
cin>>a;
cout<<"Nilai a = ";
cout<<a<<"! = ";
i=a;
while(i>=2){
cout<<i<<" x ";
i-=1;
}
i = a*(a-1)*(a-2)*(a-3)*(a-4);
cout<<"1 = "<<i;
}

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM
PEMOGRAMAN

D:\PRAKTIKUM PEMOGRAMAN>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 414b.exe 414b.c

D:\PRAKTIKUM PEMOGRAMAN>414b
Masukakn Nilai a = 7
Nilai a = 7! = 7 x 6 x 5 x 4 x 3 x 2 x 1 = 2520
D:\PRAKTIKUM PEMOGRAMAN>

15. Ulangi lagi langkah 1 sampai 13 dengan menggunakan perintah do while()


a. UNP 10 kali
Notepad++:
#include <iostream>
using namespace std;
int main(){
int i;
i=1;
do
{
cout<<i<<". UNP"<<endl;i+=1;
}
while (i<=10);
}

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM
PEMOGRAMAN

D:\PRAKTIKUM PEMOGRAMAN>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 415.exe 415.c

D:\PRAKTIKUM PEMOGRAMAN>415
1. UNP
2. UNP
3. UNP
4. UNP
5. UNP
6. UNP
7. UNP
8. UNP
9. UNP
10. UNP

D:\PRAKTIKUM PEMOGRAMAN>

b. Faktorial

16. Selamat berproses.

E. Pertanyaan dan Pembahasan


1. Dari pengalaman yang anda peroleh apakah perbedaan yang mendasar antara perintah
for(), while() do dan do while().

Struktur pengulangan for ( ) biasa digunakan untuk mengulang suatu proses


yang telah diketahui jumlah pengulangannya. Dari segi penulisannya, struktur
pengulangan for tampaknya lebih efisien karena susunannya lebih simpel dan
sederhana.
Pada pengulangan while( ) do, pengecekan terhadap pengulangan dilakukan di
bagian awal (sebelum tubuh loop).
Perbedaan mendasar dengan pengulangan yang lain adalah pada pengulangan
do-while, proses pasti akan dilakukan minimal 1 kali. Hal ini terjadi karena
terminasi diletakan setelah proses. Setelah proses dijalankan 1 kali maka
barulah terjadi pengecekkan apakah proses diulang lagi atau tidak.

2. Buatlah sebuah algoritma pemograman untuk barisan deret kelipatan 5 hingga minimal
untuk 10 barisan bilangan. (gunakan salah satu bentuk pengulangan apakah for(),
while() do, atau do while() ). Kemudian anda buat programnya!! Hingga berhasil catat
semua kegagalan anda dan analisis.
Notepad++ :
#include <iostream>
using namespace std;
int main(){
cout<<"================================"<<endl;
cout<<"= looping kelipatan lima ="<<endl;
cout<<"================================"<<endl;
cout<<"= Hasil ="<<endl;
int x;
for(x=5;x<=10*5;x=x+5)
{cout<<x<<" ";}
return 0;
}

Command Prompt:
Microsoft Windows [Version 10.0.16299.371]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\Acer>cd D:\PRAKTIKUM PEMOGRAMAN

C:\Users\Acer>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 422.exe 422.c


422.c: In function 'int main()':
422.c:9:21: error: 'z' was not declared in this scope
for(x=5;x<=10*5;x=z+5)
^
Error terjadi karena pada variable x=z+5 , huruf z tidak terdefinisi

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 422.exe 422.c

D:\PRAKTIKUM PEMOGRAMAN>422
================================
= looping kelipatan lima =
================================
= Hasil =
5 10 15 20 25 30 35 40 45 50
D:\PRAKTIKUM PEMOGRAMAN>
Berhasil.

3. Tambahkan algoritma pemograman diatas dengan menjumlahkan semua nilai dalam


barisan
tersebut contoh :
Barisan kelipatan 5 hingga baris ke 10 : 5 10 15 20 25 30 35 40 45 50
Jumlah barisan adalah 5 + 10 + 15 + 20 + 25 + 30 + 35 40 + 45 + 50
=.............
(catatan mminimal 10 barisan artinya program dapat saja menjadi 11, 13 dan seterusnya

Algoritma:

Notepad++ :
#include <iostream>
using namespace std;
int main(){
cout<<"==============================================="<<
endl;
cout<<"= looping kelipatan 5 dan dijumlahkan ="<<endl;
cout<<"==============================================="<<
endl;
cout<<"= Hasil ="<<endl;
int x,total=0;
for(x=5;x<=15*5;x=x+5)
{
cout<<x<<" ";
total=total+x;
}
cout<<endl;
cout<<"total="<<total;
return 0;
}

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM
PEMOGRAMAN

D:\PRAKTIKUM PEMOGRAMAN>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 432.exe 432.c

D:\PRAKTIKUM PEMOGRAMAN>432
===============================================
= looping kelipatan 5 dan dijumlahkan =
===============================================
= Hasil =
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
total=600

4. Buatlah algoritma pemograman untuk Membuat proses perkalian dua bilangan


dengan mengulang-ulang perintah dengan menggunakan y (sebagai ya) dan
menghentikan proses perkalian dengan menggunakan t (sebagai tidak)
Buatlah sebuah program dengan keluarannya sebagai berikut:
=========================================
= Program Perkalian =
= Progrrammer = Nama masing-masing =
=========================================
Masukkan Nilai pertama anda = (misal 5)
Masukkan Nilai kedua anda = (misal 10)
==========================================
Hasil perkalian anda = 50
==========================================
Apakah anda mengulangi program ini ?
Ketikkan huruf y sebagai ya
Ketikkan huruf t sebagai tidak
=========================================
Pilihan anda =

Ketika anda menjawab y maka program akan mengulangi lagi program anda, namun
jika anda menjawab t maka program akan berhenti.

Algoritma:

Notepad++ :
#include <iostream>
using namespace std;

int jumlah()
{
int a,b,hasil;

cout<<"============================================="<<en
dl;
cout<<"= program perkalian ="<<endl;
cout<<"= programmer = Aidil Syaputra
="<<endl;

cout<<"============================================="<<en
dl;

cout<<" masukan nilai pertama = "; cin>>a;


cout<<" masukan nilai kedua = "; cin>>b;
cout<<"======================="<<endl;
hasil=a*b;
cout<<" hasil perkalian = "<<hasil<<endl;
cout<<"================="<<endl;
return 0;
}

int main()
{
char x;
do
{
jumlah();
cout<<"apakah anda mengulangi program ini ?"<<endl;
cout<<"ketik huruf Y"<<endl;
cout<<"ketik huruf T sebagai tidak"<<endl;
cout<<"============================="<<endl;

cout<<"pilihan anda = ";


cin>>x;
}
while(x=='y');
};

Command Prompt:
D:\PRAKTIKUM PEMOGRAMAN>cd D:\PRAKTIKUM PEMOGRAMAN
D:\PRAKTIKUM PEMOGRAMAN>d:

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 442.exe 442.c


g++: error: 442.c: No such file or directory
g++: fatal error: no input files
compilation terminated.

Terjadinya error disebabkan pada proses penyimpanan program di notepad++ tidak


menggunakan input file.c melainkan .txt

D:\PRAKTIKUM PEMOGRAMAN>g++ -o 442.exe 442.c


D:\PRAKTIKUM PEMOGRAMAN>442
=============================================
= program perkalian =
= programmer = Aidil Syaputra =
=============================================
masukan nilai pertama = 45678
masukan nilai kedua = 0
=======================
hasil perkalian = 0
=================
apakah anda mengulangi program ini ?
ketik huruf Y
ketik huruf T sebagai tidak
=============================
pilihan anda = Y

D:\PRAKTIKUM PEMOGRAMAN>442
=============================================
= program perkalian =
= programmer = Aidil Syaputra =
=============================================
masukan nilai pertama = 90
masukan nilai kedua = 900
=======================
hasil perkalian = 81000
=================
apakah anda mengulangi program ini ?
ketik huruf Y
ketik huruf T sebagai tidak
=============================
pilihan anda = T

D:\PRAKTIKUM PEMOGRAMAN>

5. Pada langkah 4 diatas manakah yang anda gunakan perintah pengulanganya ?


apakah for() yang paling cocok, atau while() do atau do while(). Berikan alasan
yang tepat!!!! (terimakasih)

Saya menggunakan perintah do while () karena perintah ini


menggunakan satu parameter, sehingga dapat melakukan pengecekan pada
awal dan akhir blok. Jika dibandingkan perulangan while memiliki cara kerja
yang mirip dengan do while, hanya saja jika pada perulangan do while
pengecekan kondisi dilakukan dibelakang maka pada while pengecekan
kondisi syarat dilakukan didepan.

Anda mungkin juga menyukai