Puji syukur kita panjatkan kehadirat Allah Swt. Yang telah memberikan rahmat dan
hidayah-Nya sehingga saya dapat menyelesaikan tugas yang berjudul “Laporan
Praktikum Modul 5” ini tepat pada waktunya.
Adapun tujuan dari penulisan dari laporan ini adalah untuk memenuhi tugas pada mata
kuliah Algoritma dan Pemrograman. Selain itu, laporan ini juga bertujuan untuk
mengimplementasikan program intruksi FOR dalam bahasa C/C++ bagi para pembaca
dan juga bagi penulis.
Terlebih dahulu, saya mengucapkan terima kasih kepada Bapak Erlan Darmawan,
S.Kom., M.Si. selaku Dosen Algoritma dan Pemrograman yang telah memberikan
tugas ini sehingga dapat menambah pengetahuan dan wawasan sesuai dengan
bidang studi yang saya tekuni ini.
Kemudian, saya menyadari bahwa tugas yang saya tulis ini masih jauh dari kata
sempurna. Oleh karena itu, kritik dan saran yang membangun kami butuhkan demi
kesempurnaan laporan ini.
Penulis
1. Pres Test (10 point)
1. Jelaskan bagaimana struktur kontrol pemilihan IF-THEN-ELSE dideklarasikan dalam
pemrograman C/C++.
2. Apa yang membedakan struktur pemilihan IF-THEN-ELSE dengan SWITCH-CASE jelaskan.
3. Jelaskan bagaimana sebuah kondisi dimana perintah SWITCH-CASE dijalankan untuk
menghasilkan keputusan.
JAWABAN
1. Pernyataan struktur IF-THEN-ELSE (jika - maka - kalau tidak) digunakan untuk menguji dua
kondisi yaitu yang terpenuhi dan yang tidak terpenuhi. Bila kondisi yang diuji terpenuhi,
program akan menjalankan pernyataan - pernyataan tertentu. Dan bila kondisi yang diuji
salah, program akan menjalankan pernyataan - pernyataan lain. Bentuk umum struktur IF-
THEN-ELSE adalah sebagai berikut :
if <kondisi> then
<pernyataan_1>
else
<pernyataan_2>
endif
Keterangan:
Pernyataan_1 akan dilaksanakan jika <kondisi> bernilai benar, tetapi jika kondisi bernilai salah,
maka else yang menyatakan ingkaran (negation) dari kondisi akan melaksanakan
pernyataan_2.
2. Perbedaannya yaitu:
o SWITCH-CASE, kondisi yang hanya dinyatakan dengan bilangan bulat atau
karakter/string sedangkan IF-THEN-ELSE yang dapat menggunakan operasi seperti <, >,
<= dan >=.
o Tidak ada konstanta yang sama dalam sebuah switch.
o Angka yang digunakan harus berkisar diantara 0 – 255.
o Harus menggunakan break, Gunanya untuk mengakhiri statement.
o Ada default, ini bisa dibilang sebagai ‘Else’nya Switch Case.
3. Pernyataan switch akan menyeleksi atau mencari sebuah kondisi yang diberikan dan
kemudian akan membandingan hasilnya dengan konstanta yang berada di dalam case.
Pembandingan akan dimulai dari konstanta1 sampai konstanta akhir. Jika hasil yang
didapatkan sama dengan konstanta3 maka statemen pada konstanta3 akan diproses. Jika
hasil tidak ada yang memenuhi kriteria dari masing-masing konstanta maka statement
yang berada pada default akan diproses.
Tipe data dari pernyataan harus karakter atau integer. Default mengekspresikan
statement alternatife yaitu jika nilai yang dimasukan tidak sesuai dengan nilai nilai konstan
yang telah didefinisikan.
Break berfungsi sebagai statement peloncatan atau untuk mengakhiri statement.
Apabila tidak ada break, komputer akan mengeksekusi intruksi yang berada di bawahnya
walaupun berada di case yang berbeda. Contohnya, misalnya hasil yang kita dapatkan akan
memproses konstanta1, apabila pada case konstanta1 tidak ada break, maka statement2
pada case konstanta2 sampai case konstanta3 akan ikut di proses. Maka dari itu apabila
menggunakan Switch Case , jangan lupa untuk menulis break pada akhir statemen.
maka rekening listrik yang harus dibayar oleh keluarga tersebyt selama sebulan (30 hari)
adalah....
1. Buatlah program yang menampilkan deret bintang dengan bentuk segitiga sama sisi...
Sourcecode
#include <iostream>
int main()
int baris,spasi,bintang,a;
cin>>a;
cout<<" ";
for (bintang=1;bintang<=baris;bintang++)
{
cout<<"* ";
cout<<endl;
return 0;
Hasil RUNNING
2. Buatlah program yang menampilkan deret bintang segitiga sama sisi terbalik....
Sourcecode
#include <iostream>
int main()
cout << "## Program C++ Piramida Bintang Terbalik ##" << endl;
int tinggi_segitiga,i,j,k;
for(k=1; k<=tinggi_segitiga-i;
return 0;
}
Hasil RUNNING no 2 di atas
maka rekening listrik yang harus dibayar oleh keluarga tersebyt selama sebulan (30 hari)
adalah....
PROGRAM
BAHASA C
#include <iostream>
int main()
char no[10],nama[15];
float kWh,p,p1,p2,p3,p4,p5,harga,j;
cout<<"======================================"<<endl;
cin>>nama;
cout<<"\n===================================="<<endl;
p=1080; p1=1080;
p2=1500; p3=600;
p4=990; p5=500;
j=p+p1+p2+p3+p4+p5;
kWh=j/1000;
harga=kWh*1353*30;
return 0;
Hasil RUNNING
3. Tugas Modul 5 (20 point)
1. Buatlah algoritma flowchart, pseudocode serta program untuk menghitung rerata nilai
yang dimasukan dengan menggunakan instruksi FOR, minimal ada 10 data yang
diinputkan untuk di proses menhitung reratanya.
PSEUDOCODE
1. Mulai
2. Definisikan variabel angka, total, ratarata, jmlAngka dan i
3. Masukkan nilai dari variabel jmlAngka
4. Tentukan nilai awal variabel total dengan 0
5.Proses Menghitung Nilai Rata-Rata dengan perulangan
6. Tampilkan hasil rata-rata
7. Selesai
FLOWCHART
SOURCECODE
#include <iostream>
int main ()
double angka,total,ratarata;
int jmlAngka,i;
"; cin>>jmlAngka;
total = 0;
"; cin>>angka;
return 0;
Hasil RUNNING
2.Buatlah algoritma, flowchart, pseudocode serta program untuk merotasi kekanan digit-
digit suatu bilangan bulat positif yang didalamnya tidak terdapat digit nol. Data masukan
ber tipe data LONG. Contoh: 17081945 diolah untuk menghasilkan keluaran 54918071,
data masukan -50 diolah untuk menjadi 05
PSEUDOCODE
->Mulai
->Deklarasi
->Proses
->cetak
->Selesai
FLOWCHART
SOURCECODE
#include <iostream>
long i,n,jumlah=0;
char bil[MAX];
cout<<endl;
for(i=jumlah;i>=0;i--)
printf("%c",bil[i]);
cout<<endl;
main()
gets(bil);
rekrusif_bilangan_bulat_positif(bil);
return 0;
}
Hasil Running
3.Buatlah algoritma, flowchart, pseudocode serta program yang menginputkan sebanyak 12 data,
dari 12 data yang diinputkan dapat diketahui :
a. Berapa nilai rata-rata dari 12 data tersebut b. Berapa nilai Mean dari 12 data tersebut
PSEUDOCODE
->Mulai
->Deklarasi
->Selesai
FLOWCHART
#include<iostream>
#include<conio.h>
#include<math.h>
main()
int pil,banyak[100],x,modus[100],k=1,n,jumlahsd;
cout<<"|||
=====================================================================|||"<<endl;
cout<<"\n";
cout<<endl;
for(int i=0;i<n;i++)
{
cin>>nilai[i];
//Mencari Rata-Rata
cout<<endl;
cout<<"Hasil:"<<endl;
for(int i=0;i<n;i++)
jumlah=jumlah+nilai[i];
rata=jumlah/n;
cout<<endl;
//Mencari Mean
for(int i=0;i<n;i++)
jumlah1=jumlah1+nilai[i];
rata1=jumlah/n;
cout<<endl;
//Mencari Median
if(n%2==0)
med=(nilai[(n/2)]+nilai[(n/2)-1])/2;
else
{
med=nilai[(n/2)];
cout<<endl;
//Mencari Modus
for(int i=0;i<n;i++)
for(int j=(i+1);j<n;j++)
if(nilai[i]>nilai[j])
nilai[i]=nilai[j];
//mengurutkan data
nilai[j]=tmp;
cout<<nilai[i]<<" ";
for(int i=0;i<n;i++)
banyak[i]=0;
for(int j=0;j<n;j++)
if(nilai[i]==nilai[j])
banyak[i]++;
}
for(int i=0;i<n;i++)
if(banyak[i]>k)
k=banyak[i];
for(int i=0;i<n;i++)
if(x==0) modus[x]=0;
else
modus[x]=modus[x-1];
if(banyak[i]==k)
if(nilai[i]!=modus[x])
modus[x]=nilai[i];
x++;
int z=0;
for(int i=0;i<n;i++)
{
if(banyak[i]==k)
z++;
if(z==n)
{ x=0;
if (x==0)
else
for(int i=0;i<x;i++)
cout<<modus[i]<<" ";
cout<<endl;
for(int i=1;i<=n;i++)
sd=sqrt(jumlah/(n-1));
return 0;
Hasil Running
4. Analisis Hasil Praktikum dan Kesimpulan (50 point)
Praktikum Modul 5
#include <iostream>
main()
int i, batas;
cin>>batas;
}
Hasil RUNNING
int main()
int n,i,faktorial{1};
cin>>n;
cout<<n<<"! = ";
if (n > 1)
i=n;
while (i >= 1)
{
if(i != 1)
cout<<i<<" X ";
Else
cout<<i<<" = ";
faktorial *= i; i--;
cout<<"faktorial";
return 0;
Hasil RUNNING
3. Penggunaan struktur kontrol perulangan dalam mencari nilai frekuensi terbesar
#include <iostream>
int main()
int idxmax,i;
int tabint[10];
idxmax = 0;
if (tabint[i]>tabint[idxmax])
idxmax = i;
return 0;
}
ANALISIS HASIL PRAKTIKUM DAN KESIMPULAN
Pada struktur FOR, kita harus tahu terlebih dahulu seberapa banyak badan loop
akan di ulang. Struktur ini menggunakan sebuah variabel yang biasa disebut sebagai
loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.
Struktur WHILE akan mengulang pernyataan pada badan loop sepanjang kondisi
pada while yang bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali di
ulang. Yang penting sepanjang kondisi pada while dipenuhi maka pernyatan pada badan
loop alan di ulang.
Perulangan DO WHILE untuk perulangan dengan jumlah yang pasti. DO akan
dikerjakan lebih dahulu, disusul pengecekan pada kondisi WHILE. Pengecekan dilakukan
di akhir blok.