Anda di halaman 1dari 9

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PROGRAM

BAB 1 STRUKTUR DASAR ALGORITMA

A. DASAR TEORI

Algoritma berupa langkah-langkah penyelesaian suatu masalah/ tugas. Langkah-langkah


tersebut dapat berupa :

1. Runtunan/ sekuensial
2. Pemilihan/ seleksi
3. Pengulangan/ looping

I. Runtuhan/ sekuensial
Pemrograman sekuensial merupakan runtutan (sekuensial/ sequence) satu atau lebih intruksi yang
berarti bahwa :
 Tiap intruksi dikerjakan satu per satu
 Tiap intruksi dilaksanakan tepat satu kali, tidak ada intruksi yang diulang
 Urutan intruksi yang dilaksanakan permroses sama dengan urutan intruksi sebagaimana yang
tertulis di dalam teks algoritmanya
 Akhir dari intruksi terakhir merupakan akhir dari algoritma

Algoritma Sekuensial biasanya digunakan untuk program yang sederhana seperti program menghitung
luas lingkaran & luas segitiga atau program lainnya yang hanya terdiri dari proses komputer dan
input/output dari user. 

II. Pemilihan/ seleksi


Seleksi digunakan untuk mengarahkan pencabangan aliran eksekusi program. Aliran seleksi dalam C++
dinyatakan dalam bentuk if dan switch. Alur eksekusi program ditentukandari nilai kebenaran kondisi
yang ditentukan.
III. Pengulangan/ looping
Pengulangan atau looping adalah intruksi khusus dalam bahasa pemrograman dan algoritma yang
digunakan untuk mengulang beberapa perintah sesuai dengan yang ditentukan. Untuk perulangan pada
C++ dapat dilakukan dengan menggunakan pernyataan for,while, do-while.

B. LATIHAN
a) Contoh seleksi

#include <iostream>
using namespace std;
main()
{
char jenis;
int panjang, lebar, luas, jari;
float luaslingkar;
cout << "Pilih Persegi panjang<P> atau Lingkaran<L>:";
cin >> jenis;
if (jenis == 'P' || jenis == 'p')
{
cout << "panjang = ";
cin >> panjang;
cout << "lebar = ";
cin >> lebar;
luas = panjang * lebar;
cout << "Luas = " << luas << endl;
}
else if (jenis == 'L' || jenis == 'l')
{
cout << "jari-jari = ";
cin >> jari;
luaslingkar = 3.14 * jari * jari;
cout << "Luas = " << luaslingkar << endl;
}
cout << "salah pilih" << endl;
}

Hasil output :

b) Contoh perulangan

#include <iostream>

using namespace std;

main()
{
int l=0;
for (int j = 0; j <= 10; j++)
{
for (int k = 1; k <= l; k++)
{
cout<<k<<" ";
}
l++;
cout<<"\n";

Hasil output :

C. TUGAS
1. Modifikasi progran perulangan pada contoh 2 dengan struktur while menggunakan bahasa C
2. Buatlah program yang dapat menghitung luas, keliling, dan diagonal persegipanjang. Diagonal
dihitung dengan rumus: diagonal = akar(panjang2 + lebar2). akar dapat dikerjakan dengan fungsi
sqrt().Masukan berupa panjang dan lebar. Program berupa pilihan untuk luas, keliling, dan
diagonal.
3. Buatlah program agar hasil outputnya menjadi persegi seperti gambar di bawah ini dalam bahasa C,
dengan ketentuan panjang sisinya di inputkan.
4. Buatlah simulasi menu program dengan tampilan di bawah ini menggunakan WHILE.
5. MENU PILIHAN
1. Dangdut
2. Pop
3. Rock
4. Exit
Pilihan Anda (1/2/3/4) ? ...
Apabila dipilih menu no 1, maka akan tampil teks “Anda memilih menu 1”. Demikian pula untuk
menu 2 dan 3. Kemudian setelah itu muncul teks “Tekan ENTER untuk kembali ke menu utama”.
Artinya begitu kita tekan ENTER menu pilihan akan muncul kembali, dst. Akan tetapi bila yang
dipilih menu 4 (EXIT), program langsung berhenti.

D. JAWABAN TUGAS
1.
#include <iostream>
using namespace std;
main()
{
int l=0;
int j=0;
int k=0;
while(j<=10)
{
j++;
k=0;
while(k <= l)
{
k++;
cout<<k<<' ';
}
l++;
cout<<"\n";
}
}
Hasil output :

2. #include <iostream>
#include <math.h>

using namespace std;


main()
{
char jenis;
int panjang, lebar, luas, keliling;
float diagonal;

cout << "Pilih Luas<L>, Keliling<K> atau Diagonal<d> : ";


cin >> jenis;

if ( jenis == 'L' || jenis == 'l')


{
cout << "panjang = ";
cin >> panjang;
cout << "lebar = ";
cin >> lebar;
luas = panjang * lebar;
cout << "luas = " << luas << endl;
}
if ( jenis == 'K' || jenis == 'k')
{
cout << "panjang = ";
cin >> panjang;
cout << "lebar = ";
cin >> lebar;
keliling = 2 * panjang + 2 * lebar;
cout << "keliling = " << keliling << endl;
}
if ( jenis == 'D' || jenis == 'd')
{
cout << "panjang = ";
cin >> panjang;
cout << "lebar = ";
cin >> lebar;
diagonal = sqrt( pow(panjang,2) + pow(lebar,2));
cout << "diagonal = " << diagonal << endl;
}
}
Hasil output :

3. # include <stdio.h>

int main ()

int n,i,j;
printf ("-----Program Menampilkan Bingkai Persegi-----\n");

printf ("\nInput = "); scanf("%d", &n);

if(n>2)

for (i=0; i<n; i++)

for(j=0; j<n; j++)

if ((i==0) || (i==n-1) || (j==0) || (j== n-1))

printf("*");

else if (n%2 == 1)

printf (" ");

else

printf (" ");

printf ("\n");

return 0;

}
4. #include <iostream>
using namespace std;
int main()
{
int kode;
do
{
cout<<"MENU PILIHAN"<<endl;
cout<<"1. Dangdut"<<endl;
cout<<"2. Pop"<<endl;
cout<<"3. Rock"<<endl;
cout<<"4. Exit"<<endl;
cout<<""<<endl;
cout<<"Masukan Pilihan Anda : ";
cin>>kode;
switch(kode)
{
case 1:
cout<<'\n'<<"Anda memilih menu 1."<<endl;
cout<<"Tekan ENTER untuk kembali ke menu utama";
cout<<""<<endl;
cin>>kode;
break;

case 2:
cout<<'\n'<<"Anda memilih menu 2."<<endl;
cout<<"Tekan ENTER untuk kembali ke menu utama";
cout<<""<<endl;
cin>>kode;
break;

case 3:
cout<<'\n'<<"Anda memilih menu 3."<<endl;
cout<<"Tekan ENTER untuk kembali ke menu utama";
cout<<""<<endl;
cin>>kode;
break;

case 4:
return 0;
break;

default:
cout<<"Kode Yang Anda Masukan Tidak Tersedia";
cout<<""<<endl;
}
}
while (kode);
return 0;
}

Anda mungkin juga menyukai