Anda di halaman 1dari 85

LAPORAN PRAKTIKUM

ALGORITMA & PEMROGRAMAN


Laporan Ini Disusun Untuk Memenuhi Tugas Pratikum Mata Kuliah Algortima
dan Pemograman Yang Diampu Oleh Syaharullah Disa, S.Kom., M.T.

Di susun oleh:

Nama : Ahmad Ridiho


Nim : 20222205046
Kelas : T.102

Teknik Informatika S1
Universitas Tegnologi Akba Makassar
Tahun 2022-2023

i
KATA PENGANTAR

ASSALAMUALAIKUM WARAHMATULLAHI WABARAKATUH

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas limpahan
rahmatnya penyusun dapat menyelesaikan laporan pratikum ini tepat waktu tanpa ada halangan
yang berarti dan sesuai dengan harapan.

Ucapan terima kasih kami sampaikan kepada bapak Syaharullah Disa, S.Kom., M.T .
sebagai dosen pengampu mata kuliah algoritma & pemograman yang telah membantu
memberikan arahan dan pemahaman mengenai materi dalam penyusunan laporan ini.

Terlepas dari itu semua saya menyadari bahwa dalam penyusunan laporan ini masih
banyak kekurangan karena keterbatasan akan pengetahuan kami. Maka dari itu saya selaku
penulis sangat mengharapkan kritik dan saran untuk menyempurnakan laporan ini. Semoga apa
yang ditulis dapat bermanfaat untuk kita semua.

…,…...………,Makassar 2023

Ahmad Ridho

ii
DAFTAR ISI
KATA PENGANTAR...................................................................................................................ii
DAFTAR ISI.................................................................................................................................iii
DAFTAR GAMBAR.....................................................................................................................v
BAB I...............................................................................................................................................1
PENDAHULUAN..........................................................................................................................1
1.1. Latar Belakang....................................................................................................................1
1.2. Rumusan Masalah..............................................................................................................1
1.3. Tujuan..................................................................................................................................2
1.4. Manfaat................................................................................................................................2
BAB 2..............................................................................................................................................3
MODUL 1.......................................................................................................................................3
A. PENGANTAR ALGORITMA DAN NOTASI ALGORITMA......................................3
Soal Praktikum PerTama :....................................................................................................................3
Soal Prakatikum KeDua :......................................................................................................................5
Soal Praktikum KeTiga:........................................................................................................................8
Soal Praktikum KeEmpat :..................................................................................................................10
Soal Praktikum KeLima:.....................................................................................................................13
Soal Praktikum keenam :...................................................................................................................15
 KESIMPULAN :...............................................................................................................18
MODUL 2.....................................................................................................................................18
B. PENGANTAR BAHASA C++ DAN PENULISAN PEROGRAM..............................18
1. Soal Praktikum Pertama :...........................................................................................................18
2. Soal Praktikum KeDua :..............................................................................................................20
3. Soal Praktikum KeTiga :..............................................................................................................21
4. Soal Praktikum KeEmpat :..........................................................................................................22
5. Soal Praktikum KeLima :.............................................................................................................23
6. Soal Praktikum KeEnam :...........................................................................................................23
7. Praktikum KeTujuh :...................................................................................................................25
 KESIMPULAN :...............................................................................................................30
MODUL 3.....................................................................................................................................31
C. TIPE DATA DAN VARIABEL.......................................................................................31

iii
1. Soal Praktikum Pertama :...........................................................................................................31
2. Soal Praktikum KeDua :..............................................................................................................32
3. Soal Praktikum KeTiga :..............................................................................................................33
4. Soal Praktikum KeEmpat :..........................................................................................................34
5. Soal Praktikum KeLima :.............................................................................................................35
6. Soal Praktikum KeEnam :...........................................................................................................36
 KESIMPULAN :...............................................................................................................37
MODUL 4.....................................................................................................................................38
D. OPERASI INPUT OUTPUT...........................................................................................38
1. Soal Praktikum Pertama :...........................................................................................................38
2. Soal Praktikum KeDua :..............................................................................................................39
3. Soal Praktikum KeTiga :..............................................................................................................40
 KESIMPULAN :...............................................................................................................41
MODUL 5.....................................................................................................................................42
E. STRUKTUR PERCABANGAN (DECISION)...............................................................42
1. Soal Praktikum Pertama :...........................................................................................................42
2. Soal Praktikum KeDua :..............................................................................................................43
3. Soal Praktikum KeTiga :..............................................................................................................44
4. Soal Praktikum KeEmpat :..........................................................................................................45
 KESIMPULAN :...............................................................................................................46
MODUL 6.....................................................................................................................................47
F. STRUKTUR PERULANGAN (LOOPING)..................................................................47
1. Soal Praktikum Pertama :...........................................................................................................47
2. Soal Praktikum KeDua :..............................................................................................................48
3. Soal Praktikum KeTiga :..............................................................................................................49
4. Soal Praktikum KeEmpat :..........................................................................................................49
5. Soal Praktikum KeLima :.............................................................................................................50
6. Soal Praktikum KeEnam :...........................................................................................................52
7. Soal Praktikum KeTujuh :...........................................................................................................54
8. Soal Praktikum KeDelapan :.......................................................................................................54
 KESIMPULAN :...............................................................................................................55
MODUL 7.....................................................................................................................................56
G. ARRAY DAN STURCTURE...........................................................................................56

iv
1. Soal Praktikum Pertama :...........................................................................................................56
2. Soal Praktikum KeDua :..............................................................................................................57
3. Soal Praktikum KeTiga :..............................................................................................................58
4. Soal Praktikum KeEmpat :..........................................................................................................61
 KESIMPULAN :...............................................................................................................62
MODUL 8.....................................................................................................................................63
H. FUNGSI.............................................................................................................................63
1. Soal Praktikum Pertama :...........................................................................................................63
2. Soal Praktikum KeDua :..............................................................................................................64
 KESIMPULAN :...............................................................................................................64

DAFTAR GAMBAR
Gambar 1. 1 flowchart modul 1...................................................................................................................3
Gambar 1. 2 flowchart modul 1...................................................................................................................5
Gambar 1. 3 flowchart modul 1...................................................................................................................8
Gambar 1. 4 flowchart modul 1.................................................................................................................10
Gambar 1. 5 flowchart modul 1.................................................................................................................13
Gambar 1. 6 flowchart modul 1.................................................................................................................15

v
BAB I

PENDAHULUAN

1.1. Latar Belakang

Teknologi dan informasi


berkembang lebih pesat dari
sebelumnya, yang
berarti banyak disiplin ilmu
berkembang dengan sangat
baik. Ini mengacu pada
penerapan matematika untuk
membantu mengembangkan
bidang ilmiah seperti
pemrograman.

1
Bahasa pemrograman atau biasa
disebut bahasa komputer
adalah alat yang
digunakan untuk komunikasi
antara manusia dengan
komputer. Sintaks dan
semantik adalah komponen
utama yang harus
diperhatikan untuk memahami
bahasa pemrograman apa pun.
Sintaks adalah teknik
penulisan bahasa
pemrograman dan sintaksis
adalah makna yang
terkandung dalam bahasa
2
pemrograman (Anam, 2021).
Bahasa pemrograman
dimaksudkan untuk
mengekspresikan ide dalam
kode.
Dalam pengertian ini, bahasa
pemrograman melakukan dua
tugas terkait. Bahasa
pemrograman menyediakan
sarana bagi program untuk
mendefinisikan tindakan
yang akan dilakukan oleh
mesin dan menyediakan
seperangkat konsep

3
pemrograman untuk digunakan
ketika memikirkan apa yang
dapat dilakukannya
(Stroudtrup, 2013).
Sebelum mempelajari dan
membuat suatu program, yang
harus kita
perhatikan adalah jenis bahasa
pemrograman yang akan
digunakan dan jenis
program apa yang akan dibuat.
Hal tersebut agar memudahkan
kita saat membuat
dan menjalankan suatu
program. Bahasa
4
pemrograman dapat berjalan
apabila
bahasa pemrograman memiliki
penerjemah, yaitu suatu
program yang menerima
program lain dan kemudian
ditulis dalam bahasa yang
bersangkutan. Dalam
bahasa pemrograman,
penerjemah yang
mengeksekusi program secara
langsung
disebut sebagai interpreter,
sedangkan penerjemah yang
menghasilkan program
5
setara dalam bentuk yang sesuai
untuk dieksekusi disebut
sebagai compiler.
Teknologi dan informasi
berkembang lebih pesat dari
sebelumnya, yang
berarti banyak disiplin ilmu
berkembang dengan sangat
baik. Ini mengacu pada
penerapan matematika untuk
membantu mengembangkan
bidang ilmiah seperti
pemrograman.

6
Bahasa pemrograman atau biasa
disebut bahasa komputer
adalah alat yang
digunakan untuk komunikasi
antara manusia dengan
komputer. Sintaks dan
semantik adalah komponen
utama yang harus
diperhatikan untuk memahami
bahasa pemrograman apa pun.
Sintaks adalah teknik
penulisan bahasa
pemrograman dan sintaksis
adalah makna yang
terkandung dalam bahasa
7
pemrograman (Anam, 2021).
Bahasa pemrograman
dimaksudkan untuk
mengekspresikan ide dalam
kode.
Dalam pengertian ini, bahasa
pemrograman melakukan dua
tugas terkait. Bahasa
pemrograman menyediakan
sarana bagi program untuk
mendefinisikan tindakan
yang akan dilakukan oleh
mesin dan menyediakan
seperangkat konsep

8
pemrograman untuk digunakan
ketika memikirkan apa yang
dapat dilakukannya
(Stroudtrup, 2013).
Sebelum mempelajari dan
membuat suatu program, yang
harus kita
perhatikan adalah jenis bahasa
pemrograman yang akan
digunakan dan jenis
program apa yang akan dibuat.
Hal tersebut agar memudahkan
kita saat membuat
dan menjalankan suatu
program. Bahasa
9
pemrograman dapat berjalan
apabila
bahasa pemrograman memiliki
penerjemah, yaitu suatu
program yang menerima
program lain dan kemudian
ditulis dalam bahasa yang
bersangkutan. Dalam
bahasa pemrograman,
penerjemah yang
mengeksekusi program secara
langsung
disebut sebagai interpreter,
sedangkan penerjemah yang
menghasilkan program
10
setara dalam bentuk yang sesuai
untuk dieksekusi disebut
sebagai compiler.
Teknologi dan informasi
berkembang lebih pesat dari
sebelumnya, yang
berarti banyak disiplin ilmu
berkembang dengan sangat
baik. Ini mengacu pada
penerapan matematika untuk
membantu mengembangkan
bidang ilmiah seperti
pemrograman.
Teknologi dan informasi berkembang lebih pesat dari sebelumnya, yang berarti
banyak disiplin ilmu berkembang dengan sangat baik. Ini mengacu pada penerapan
matematika untuk membantu mengembangkan bidang ilmiah seperti pemrograman.

Bahasa pemrograman atau biasa disebut bahasa komputer adalah alat yang digunakan
untuk komunikasi antara manusia dengan komputer. Sintaks dan semantik adalah

11
komponen utama yang harus diperhatikan untuk memahami bahasa pemrograman apa pun.
Sintaks adalah teknik penulisan bahasa pemrograman dan sintaksis adalah makna yang
terkandung dalam bahasa pemrograman (Anam, 2021)

Dalam laporan pratikum ini, akan dijelaskan hasil dari praktikum Algoritma dan
Pemograman C++ yang dilakukan. Tujuan dari praktikum ini adalah untuk memahami dan
mengaplikasikan dasar-dasar pemograman C++ serta algoritma dalam pemecahan masalah. Hasil
dari praktikum ini diharapkan dapat menambah pengetahuan dan pemahaman mahasiswa tentang
pemograman C++ dan algoritma.

Melalui laporan ini, saya melampirkan hasil pratikum dan keterampilan dalam
pemograman C++ dan dapat mengaplikasikan algoritma dalam pemecahan masalah yang lebih
kompleks. Dengan menyelesaikan praktikum ini, saya diharapkan dapat lebih mudah untuk
mengikuti praktikum-praktikum selanjutnya yang lebih kompleks dan dapat mengaplikasikan
ilmu yang didapat dalam dunia kerja.

1.2. Rumusan Masalah

Laporan ini akan berisi kumpulan pratikum yang telah kelas saya lewati yang bertujuan
untuk mejelaskan beberapa masalah dalam materi algoritma dan pemograman, seperti :

a. Modul 1 - pengantar algoritma dan notasi algoritma


b. Modul 2 - pengantar bahasa c++ dan penulisan program
c. Modul 3 - tipe data dan variabel
d. Modul 4 – operasi input output
e. Modul 5 - struktur percabangan (decision)
f. Modul 6 - struktur perulangan (looping)
g. Modul 7 - array dan structure

12
h. Modul 8 - fungsi

1.3. Tujuan

Adapun tujuan pada penyusunan laporan praktikum ini adalah sebagai berikut:
a. Mahasiswa dapat menyusun dan menyelesaikan sebuah kasus pemograman yang
menggunakan bahasa pemograman C++.
b. Penyusunan laporan pratikum ini bertujuan untuk menggantikan ujian akhir semester
1 untuk mata kuliah algoritma dan pemograman

1.4. Manfaat

Adapun manfaat dari praktikum


ini yaitu mengetahui bahasa
pemrograman
C++. Bahasa C++ berguna
sekali dalam hal bahasa
pemrograman, bahasa C++
dapat digunakan untuk
mengembangkan perangkat
lunak atau software. Bahasa

13
pemrograman juga dapat
digunakan untuk membangun
sebuah game dan mesin
pencari.
Adapun manfaat dari praktikum ini yaitu mengetahui bahasa pemrograman C++ tingkat
menengah. Bahasa C++ berguna sekali dalam hal bahasa pemrograman, bahasa C++ dapat
digunakan untuk mengembangkan perangkat lunak atau software. Bahasa pemrograman
juga dapat digunakan untuk membangun sebuah game dan mesin pencari.

14
BAB 2

MODUL 1

A. PENGANTAR ALGORITMA DAN NOTASI ALGORITMA

1. Soal Praktikum PerTama :


Menjumlahkan 2 buah bilangan dan mencetak hasilnya;
Jawab :
a) Algoritma :
1. Mulai
2. Masukkan Bilangan Pertama (A)
3. Masukkan Bilangan Kedua (B)
4. Proses Hasil dengan rumus, Hasil = A + B
5. Tampilkan Hasil
6. Selesai

b) Flowchart :

Gambar 1. 1 flowchart modul 1

15
c) Program :

#include <iostream>

using namespace std;


main()
{
int a, b, c;
cout << "Masukkan Nilai A = ";
cin >> a;
cout << "Masukkan Nilai B = ";
cin >> b;
cout << "--------------------- \n";
c = a + b;
cout << "Nilai C = " << c;
}

d) Output:

2. Soal Prakatikum KeDua :


Memberikan pilihan untuk menghitung luas segitiga dan luas lingkaran (gunakan
konstanta pi);
Jawab :

16
a) Algoritma :
1. Mulai
2. Tentukan Pilihan
 Luas Segitiga
 Luas Lingkaran
3. Jika memilih pilihan 1 maka,
4. Masukkan nilai alas
5. Masukkan nilai tinggi
1
6. Proses luas dengan rumus, luas = × alas ×tinggi
2
7. Namun jika memilih pilihan 2 maka,
22
8. Persiapkan nilai phi (π) = atau 3,14
7
9. Masukkan nilai jari jari (r)
10. Proses luas dengan rumus, luas = π × r ×r
11. Cetak Hasil
12. Selesai
b) Flowchart :

Gambar 1. 2 flowchart modul 1

17
c) Program :

#include <iostream>

#include <cmath>
using namespace std;
int main()
{
int pilih;
float alas, tinggi, LuasSegitiga, JariJari, LuasLingkaran;
const float PI = 3.14159265;
cout << "1. Hitung Luas Segitiga" << endl;
cout << "2. Hitung luas Lingkaran" << endl;
cout << "-------------------------------- \n";
cout << "Maukkan Pilihan = ";
cin >> pilih;
cout << "-------------------------------- \n";
if(pilih == 1)
{
cout << "Masukkan Alas Segitiga = ";
cin >> alas;
cout << "Masukkan Tinggi Segitiga = ";
cin >> tinggi;

LuasSegitiga = (alas * tinggi) / 2;


cout << "Luas Segitiga = " << LuasSegitiga;
}
else if (pilih == 2)
{
cout << "Masukkan Jari - jari Linggkaran = ";
cin >> JariJari;

18
LuasLingkaran = PI * pow(JariJari, 2);
cout << "Luas Lingkaran = " << LuasLingkaran;
}
else
{
cout << "Pilihan Tidak Valid !!!";
}
}

d) Output :

3. Soal Praktikum KeTiga:


Menentukan apakah umur yang di masukkan termasuk telah tua atau masih muda, dengan
aturan jika umur lebih kecil dari 45 masih muda dan jikka umur lebih besa dari 45 sudah
tua;
Jawab :
a) Algoritma :
1. Mulai
2. Masukkan nilai umur
3. Jika umur dibawah 45 tahun

19
4. Maka cetak “Masih Muda”
5. Dan apabila umur diatas 45 tahun
6. Maka cetak “Sudah Tua”
7. Selesai

b) Flowchart :

Gambar 1. 3 flowchart modul 1

c) Program :

#include <iostream>

using namespace std;


int main()
{

20
int umur;
cout << "Masukkan Umur = ";
cin >> umur;
if ( umur < 45 )
{
cout << "Masih Mudah" << endl;
}
else if ( umur > 45 )
{
cout << "SUDAH TUA!!!" << endl;
}
else
{
cout << "Umur 45 Tahun" << endl;
}
}

d) Output:

4. Soal Praktikum KeEmpat :

Mengecek bilangandi antara 2 bilangan masukan, Apakah sama ataukah lebih besar salah
satunya, dan tampilkan hasilnya menulis kata “Algoritma” sebanyak 10 kali;
Jawab :
a) Algoritma :

21
1. Mulai
2. Deklarasikan dua variabel yaitu bilangan A dan bilangan B
3. Masukkan Nilai Bilangan (A)
4. Masukkan Nilai Bilangan (B)
5. Hitung apakah nilai A > B, maka cetak “A lebih besar dari B”
6. Jika nilai A < B, maka cetak “A lebih kecil dari B” dan,
7. Jika A = B, maka cetak “A sama dengan B”
8. Cetak hasil hitung
9. Siapkan variable kata “ALGORITMA”
10. Mulai perulangan sebanyak 10 kali
11. Pada setiap perulangan, tulis "ALGORITMA"
12. Selesai

b) Flowchart :

22
Gambar 1. 4 flowchart modul 1

c) Program :

#include <iostream>

using namespace std;


int main()
{
int a, b;
cout << "Masukkan Bilangan Pertama = ";
cin >> a;
cout << "Masukkan Bilangan Kedua = ";
cin >> b;
if (a == b)

23
{
cout << "Bilangan Sama \n";
}
else if(a > b)
{
cout << a << " Lebih Besar Dari " << b << endl;
}
else
{
cout << b << " Lebih Besar Dari " << a << endl;
}
cout << "--------------------------------- \n";
for(int i = 0; i < 10; i++)
{
cout << "ALGORITMA \n";
}
}

d) Output :

24
5. Soal Praktikum KeLima:
Menghitung sigma (akumulasi) dan bilangan 1 sampai dengan n, dan menampilkan
hasilnya.;
Jawab :
a) Program :
1. Mulai
2. Deklarasikan variable i,hasil,n
3. Deklarasikan i=1, hasil=0,n
4. Masukkan nilai variable n
5. Bandingkan apakah nilai ( i ) lebih kecil tau sama dengan nilai ( n )
6. Jika benar maka hitung hasil = hasil + i, kemudian hitung i = i + 1,
ulangi proses ini sampai nilai ( i ) tidak lebih kecil dari nilai ( n )
7. Cetak Hasil
8. Selesai

b) Flowchart :

25
Gambar 1. 5 flowchart modul 1

c) Program :

#include <iostream>
using namespace std;
int main()
{
int a;
cout << "Masukkan Nilai A = ";
cin >> a;
cout << "------------------------------------------------- \n";
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;

26
}
cout << "Hasil sigma dari bilangan 1 sampai " << a << "
adalah = " << sum <<endl;
}

d) Output :

6. Soal Praktikum keenam :

27
Buatlah flowchart untuk menghitung nilai rata-rata dari n bilngan yang di inputkan,
hitung jumlah totalnya, hitung maksimal dan minimal bilangan;
Jawab :
a) Flowchart :

Gambar 1. 6 flowchart modul 1

b) Program :

28
#include <iostream>

using namespace std;


int main()
{
int a;
cout << "Masukkan Banyak Bilangan = ";
cin >> a;
int bil, jum = 0, maks = 0, min = 99999;
for (int i = 1; i <= a; i++)
{
cout << "Masukkan Bilangan Ke - " << i <<" = ";
cin >> bil;
jum += bil;
if(bil > maks)
{
maks = bil;
}
if(bil < min)
{
min = bil;
}
}
cout << "------------------------------------------- \n";
cout << "Nilai Rata - Rata = " << (float)jum << endl;
cout << "Jumlah = " << jum << endl;
cout << "Nilai Maksimal = " << maks << endl;
cout << "Nilai Minimal = " << min << endl;
}

e) Output :

29
 KESIMPULAN :

1. Dalam belajar pemrograman terlebih dahulu harus mengerti tentang system


operasi, algoritma dan flowchart.
2. Pemrograman adalah proses membuat software komputer dengan menerapkan
algoritmadan struktur data tertentu menggunakan bahasa pemrograman.
3. Algoritma adalah metode dan tahapan sistematis yang digunakan untuk
memecahkan suatu permasalahan.
4. Flowchart atau diagram alir adalah diagram yang digunakan untuk
merepresentasikan algoritma atau aliran program (Flow) secara logika.
5. Dalam penulisan script pada program haruslah teliti karena program sangat
sensiti, jadi kesalahan sedikitpun maka akan terjadi error.

MODUL 2
30
B. PENGANTAR BAHASA C++ DAN PENULISAN PEROGRAM

1. Soal Praktikum Pertama :


Mencetak nama,kelas dan nim masing-masing;
Jawab :
a) Program :

#include <iostream>

using namespace std;


int main()
{
string nama;
string nim;
string kelas;

cout << "Masukkan nama: ";


cin >> nama;
cout << "Masukkan NIM: ";
cin >> nim;
cout << "Masukkan kelas: ";
cin >> kelas;

cout << "Nama: " << nama << endl;


cout << "NIM: " << nim << endl;
cout << "Kelas: " << kelas << endl;

return 0;
}

b) Output :

31
2. Soal Praktikum KeDua :

Menghitung penjumlahan 1024 + 4096 dan mencetak hasilmya;


Jawab :
a) Program :

#include <iostream>

using namespace std;

int main()
{
int a = 1024, b = 4096, c;
c = a + b;
cout << "Hasil = " << c;
}

32
b) Output :

3. Soal Praktikum KeTiga :


Mengisi nilai 2 variabel int, menjumlahkan kedua isi variable tersebut dan mencetak
hasil:
Jawab :
a) Program :

#include <iostream>

using namespace std;


int main()
{

int a, b;

cout << "Masukkan Nilai A = ";


cin >> a;
cout << "Masukkan Nilai B = ";
cin >> b;

int hasil = a + b;
cout << "----------------------- +\n";
cout << "Hasil = " << hasil << endl;
}

33
b) Output :

4. Soal Praktikum KeEmpat :


Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50 dan
mencetak hasilnya ;
Jawab :
a) Program :

#include <iostream>

using namespace std;

int main ()
{
float a;
cout << "Masukkan Nilai A = ";
cin >> a;

float hasil = a * 50;


cout << "--------------------- \n";
cout << "Hasil = " << hasil <<endl;
}

34
b) Output :

5. Soal Praktikum KeLima :


Menampilkan nilai sebuah bilangan flot dengan tanpa menentukan format tampilannya
(default);
Jawab :
a) Program :

#include <iostream>

using namespace std;

int main()
{
float a = 3.14159265;
cout << "Nilai A = " << a << endl;
}

35
b) Output nya :

6. Soal Praktikum KeEnam :


Menerima masukan sebuah variabel dengan format int dan char kemudian
menampilkannya Kembali;
Jawab :
a) Program :

#include <iostream>
using namespace std;

int main()
{
int a;
char b;

cout << "Masukkan Nilai Integer = ";


cin >> a;
cout << "Masukkan Karakter = ";
cin >> b;

cout << "----------------------------------------- \n";


cout << "Bilangan Integer Yang Dimasukkan = " << a <<
endl;
cout << "Karakter yang = " << b << endl;
}

36
b) Output nya :

7. Praktikum KeTujuh :

Kerjakanlah soal-soal di bawah ini, dan sertakan jawaban anda pada laporan resmi;
a) Berapakah nilai jawaban yang di tampilkan oleh program di bawah ini :

main()

int jawab, hasil;

jawab = 100;

hasil = jawab - 10;

printf("Jawabannya adalah %d\n",

hasil + 6);

Jawab :

37
Program nya :

include <iostream>

using namespace std;

main()
{
int jawab, hasil;
jawab = 100;
hasil = jawab - 10;
printf ("Jawabannya Adalah %d\n", hasil + 6);
}

Output nya :

b) Apakah keluaran dari potongan program di bawah ini :


main()

int value1, value2, sum;

value1 = 35;

value2 = 18;

sum = value1 + value2;

printf("Jumlah %d Ditambah %d

hasilnya adalah

%d\n",value1,value2,sum);

38
Jawab :
Program nya :

#include <iostream>

using namespace std;

main()
{
int value1, value2, sum;
value1 = 35;
value2 = 18;
sum = value1 + value2;
printf ("Jumlah %d Ditambah %d Hasilnya Adalah %d \n", value1, value2, sum);
}

Output nya :

c) Program di bawah ini tidak berhasil di-compile karena masih terdapat


beberapa kesalahan. Temukan paling sedikit 5 buah kesalahannya. Selanjutnya
tampilkan keluaran, setelah program ini berhasil dijalankan.
main ()

INT jumlah;

/* PERHITUNGAN HASIL

jumlah = 25 + 37 - 19;

/* TAMPILKAN HASIL

printf("Berapa hasil perhitungan 25 +

37 - 19 ?\n);

printf("Jawabannya adalah %d\n"

jumlah);

39
Jawab :

Program nya :

#include <iostream>

using namespace std;

main()
{
int jumlah;
jumlah = 25 + 37 - 19;
printf ("Berapa Hasil Perhitungan 25 + 37 - 19 ? \n");
printf ("Jawabannya Adalah %d \n", jumlah);
}

Output nya :

d) Buatlah program yang menerima masukan dua buah bilangan.Tampilkan


keluaran berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang
dimasukkan.
Jawab :

Program nya :

#include <iostream>

using namespace std;

int main()
{
int bil1, bil2;
float sum, average, square1, square2;

cout << "Masukkan Bilangan Pertama = ";


cin >> bil1;

40
cout << "Masukkan Bilangan Kedua = ";
cin >> bil2;

cout << "------------------------------ \n";

sum = bil1 + bil2;


average = sum / 2;
square1 = bil1 * bil1;
square2 = bil2 * bil2;

cout << "Hasil Sum = " << sum <<endl;


cout << "Hasil Average = " << average << endl;
cout << "Hasil Square Pertama = " << square1 << endl;
cout << "Hasil Square Kedua = " << square2 << endl;
}

Output nya :

41
e) Program di bawah ini seharusnya menampilkan keluaran satu baris sbb : c * c =
25,000000 Namun, belumberhasil karena masih ada beberapa kesalahan.
Temukan minimal 3 kesalahan dalam program tersebut
#include <Studio.h>

main ()

float a, b, c;

a = 3;

b = 4.0;

c=a*a+b

* b printf("c

* c = %d",c);

Jawab :

Program nya :
#include <iostream>

using namespace std;

int main ()
{
float a, b, c;
a = 3;
b = 4.0;
c = a * a + b * b;
printf ("c * c = %f",c);
}

Output nya :

42
 KESIMPULAN :

Program C++ pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program
minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada dalam program C++
dan sudah ditentukan namanya adalah main(). Setiap fungsi terdiri atas satu atau
beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas
khusus. Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik
awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh
fungsi dan sekaligus awal eksekusi program, sedangkan tanda } di akhir fungsi
merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi program. Fungsi
printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada
layar peraga. Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen atau
parameter berupa string. Dalam C++ suatu konstanta string ditulis dengan diawali dan
diakhiri tanda petikganda (“). Perlu juga diketahui pernyataan dalam C++ selalu diakhiri
dengan tanda titik koma (;). Tanda titik koma dipakai sebagai tanda pemberhentian
sebuah pernyataan dan bukanlah sebagai pemisah antara dua pernyataan.

43
MODUL 3

C. TIPE DATA DAN VARIABEL

1. Soal Praktikum Pertama :


Melakukan konversi valuta asing, misalnya mata uang dolar US ke mata uang Rp,
dimana satu dolar sama dengan Rp 11.090 ,- 1. Input : uang dalam US dolar 2. Proses :
uang_rupiah = uang_dolar * 14.900 3. Output : uang rupiah
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
float ud, ur;
float kurs = 14900;

cout << "Masukkan Jumlah Uang Dalam Dollar AS


= ";
cin >> ud;

ur = ud * kurs;
cout << "Jumlah Uang Dalam Rupiah = " << ur <<
endl;
}

b) Output :

44
2. Soal Praktikum KeDua :
Menentukan banyaknya uang pecahan yang dibutuhkan, urut dari pecahan terbesar
(100000,50000,20000,10000, 5000,2000,1000) Input : jumlah uang dalam rupiah (misal :
189000) Proses : ratusanribu = jml_uang dibagi 100000. sisa = jml_uang –
(ratusanribu*100000) limaplhribu = sisa dibagi 50000 sisa = sisa – (limaplhribu*50000)
dst. Output : 1 Lembar 100000 1 Lembar 50000 1 Lembar 20000 1 Lembar 10000 1
Lembar 5000 2 Lembar 2000
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
int jml_uang, ratusanribu, limaplhribu, duaplhribu, sepuluhribu, limaribu, duaribu,
seribu;
int pecahan[] = {100000, 50000, 20000, 10000, 5000, 2000, 1000};
int sisa;

cout << "Masukkan jumlah uang dalam rupiah = ";


cin >> jml_uang;

ratusanribu = jml_uang / pecahan[0];


sisa = jml_uang % pecahan[0];
limaplhribu = sisa / pecahan[1];
sisa = sisa % pecahan[1];
duaplhribu = sisa / pecahan[2];
sisa = sisa % pecahan[2];
sepuluhribu = sisa / pecahan[3];
sisa = sisa % pecahan[3];
limaribu = sisa / pecahan[4];
sisa = sisa % pecahan[4];
duaribu = sisa / pecahan[5];
sisa = sisa % pecahan[5];
seribu = sisa / pecahan[6];
sisa = sisa % pecahan[6];

cout << ratusanribu << " Lembar " << pecahan[0] << endl;

45
cout << limaplhribu << " Lembar " << pecahan[1] << endl;
cout << duaplhribu << " Lembar " << pecahan[2] << endl;
cout << sepuluhribu << " Lembar " << pecahan[3] << endl;
cout << limaribu << " Lembar " << pecahan[4] << endl;
cout << duaribu << " Lembar " << pecahan[5] << endl;
cout << seribu << " Lembar " << pecahan[6] << endl;
}

b) Output :

3. Soal Praktikum KeTiga :


Buatlah program untuk menghitung Diskriman dari sebuah persamaan kuadrat dengan
nilai a, b dan c yang diinputkan
Jawab :

a) Program :
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a, b, c, dis;
cout << "Masukkan Nilai A = ";

46
cin >> a;
cout << "Masukkan Nilai B = ";
cin >> b;
cout << "Masukkan Nilai C = ";
cin >> c;
dis = b * b - 4 * a * c;
cout << "Diskriminan Dari Persamaan Kuadrat = " << dis;
}

b) Output :

4. Soal Praktikum KeEmpat :


Kerjakan soal-soal di bawah ini, sertakan dalam laporan resmi;
a) Berapakah hasil akhir dari program berikut :
#include <stdio.h>

main()

int a = 22;

a = a + 5;

a = a-2;

printf("a = %d\n", a);

47
Jawab :

Program nya :
#include <stdio.h>

main()
{
int a = 22;

a = a + 5;
a = a - 2;
printf ("a = %d", a);
}

Output nya :

5. Soal Praktikum KeLima :


Berapakah nilai x setelah pernyataan-pernyataan berikut dijalankan apabila x bertipe int ;
(1) x = (2 + 3) – 10 * 2;
(2) x = (2 + 3) – (10 * 2);
(3) x = 10 % 3 * 2 + 1;
Jawab :

a) Program :
#include <iostream>

using namespace std;

main()
{
int x;

48
x = (2 + 3) - 10 * 2;
x = (2 + 3) - (10 * 2);
x = 10 % 3 * 2 + 1;

cout << "X = " << x;


}

b) Output :

6. Soal Praktikum KeEnam :


Apa hasil eksekusi dari program berikut :

#include <stdio.h>

main()

char kar = ‘A’;

kar = kar + 32;

printf("%c\n",kar);

}
Jawab :

a) Program :
#include <stdio.h>

main()
{
char kar = 'A';
kar = kar + 32;

49
printf ("%c\n", kar);
}

b) Output :

 KESIMPULAN :

Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai
tipe data dasar. Kelima tipe data dasar adalah:
1. Bilangan bulat (integer)
2. Bilangan real presisi-tunggal
3. Bilangan real presisi-ganda
4. Karakter
5. Tak-bertipe (void),
Kata-kunci yang berkaitan dengan tipe data dasar secara berurutan di antaranya adalah
int (short int, long int, signed int dan unsigned int), float, double, dan char.

50
MODUL 4

D. OPERASI INPUT OUTPUT

1. Soal Praktikum Pertama :


Buatlah program untuk mengkonversi suhu dari Celcius ke Fahrenheit dengan rumus :
F = C * 1.8 + 32

Input : suhu dalam Celcius


Output : suhu dalam Fahrenheit
Jawab :

1. Program :
#include <iostream>

using namespace std;

int main()
{
double c,f;

cout << "Suhu Dalam Celcius= ";


cin >> c;

f = c * 1.8 + 32;
cout << "Suhu Dalam Fahrenheit = " << f;
}

2. Output :

51
2. Soal Praktikum KeDua :
Buatlah program untuk menghitung total pendapatan bulanan seorang karyawan dengan
ketentuan sebagai berikut:
 Tunjangan istri/suami = 10% dari gaji pokok
 Tunjangan anak = 5% dari gaji pokok untuk setiap anak
 THR = Rp 5000 kali masa kerja (tahun)
 (-) Pajak = 15% dari gaji pokok, tunjangan istri & anak
 Bantuan transport = Rp 3000 kali masuk kerja (hari)
 (-) Polis asuransi = Rp 20000
tanda (-) artinya mengurangi pendapatan.
Tentukan dahulu apa-apa saja yang akan menjadi input dan
output (ke layar) dari program. Tentukan juga variabelvariabel yang akan digunakan
beserta tipenya
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
float gp, ti, ta, thr, pajak, bt, tp;
int ja, mk, hmk;
const int pa = 20000;

cout << "Masukkan Gaji Pokok = ";


cin >> gp;
cout << "Masukkan Jumlah Anak = ";
cin >> ja;
cout << "Masukkan Masa Kerja = ";
cin >> mk;
cout << "Masukkan Jumlah Masuk Kerja = ";
cin >> hmk;

ti = gp * 0.1;
ta = gp * 0.05 * ja;

52
thr = 5000 * mk;
pajak = (gp + ti + ta) * 0.15;
bt = 3000 * hmk;

tp = gp + ti + ta + thr + bt;
cout << "Penghasilan = " << tp;
}

b) Output :

3. Soal Praktikum KeTiga :


Kerjakan semua soal di bawah ini, kumpulkan jawaban
bersama laporan resmi;
a) Pilihlah nama-nama variabel yang benar dan yang salah, mengapa?
int cha 6_05 Floating _1312
calloc Xx A$ ReInitialize alpha_beta_rou
Jawab :
 Nama variable yang benar :
 int
 cha
 floating
 alpha_beta_rou

 Nama variable yang salah :


 6_05 (Tidak boleh diawali dengan angka)
 _1312 (Tidak boleh diawali dengan garis bawah)
 Calloc (Tidak boleh mengandung karakter khusus selain garis bawah)
 Xx (Tidak boleh mengandung karakter khusus)
 A$ (Tidak boleh mengandung kaeakter khusus selain garis bawah)
 Relnitialize (Tidak boleh mengandung spasi)

53
b) Apa yang dihasilkan oleh program di bawah ini :

main()

char c, d;

c = 'd';

d = c;

printf("d = %c", d);

}
Jawab :

Program nya :
#include <iostream>

using namespace std;

main()
{
char c, d;
c = 'd';
d = c;
printf ("d = %c", d);
}

Output nya :

 KESIMPULAN :

54
Untuk keperluan menampilkan data/informasi, C menyediakan sejumlah fungsi.
Beberapa di antaranya adalah berupa printf() dan putchar() puts()
 Fungsi gets() Perintah masukan huruf yang lebih dari satu. Perintah ini
memungkinkan pengguna memasukkan text dengan spasi.
 Fungsi getch() Perintah masukkan untuk satu karakter. Nilai karakter yang dibaca
menjadi nilai balik pada pemanggilan fungsi ini. Biasanya perintah getch digunakan
untuk menahan tampilan program C++ yang berbasis command line yang berjalan
diatas Windows.
 Fungsi cin >> Perintah masukkan hampiur mirip seperti perintah scanf, namun tidak
perlu format tipe data penerima.
 Fungsi pust() Perintah ini merupakan perintah keluaran yang tidak dapat digabungkan
antara string konstan dengan string variable, yang berarti harus menggunakan salah
satunya. Membutuhkan preprocessor stdio.h
 Fungsi cout << Perintah keluaran ini mirip scanf, yaitu perintah keluaran yang dapat
mengkombinasikan string kosntan dengan string variable. Namun untuk
menggunakan perintah cout harus menggunakan preprocessor iostream.h.
 Fungsi putchar() Fungsi putchar() digunakan khusus untuk menampilkan sebuah
karakter di layar. Penampilan karakter tidak diakhiri dengan perpindahan baris.
 Fungsi printf() Bentuk umum pernyataan printf() : printf(“string kontrol”,argumen1,
argumen2,...); String kontrol dapat berupa keterangan yang akan ditampilkan pada
layar beserta penentu format (seperti %d, %f,%c). Penentu format dipakai untuk
memberi tahu kompiler mengenai jenis data yang akan ditampilkan. Argumen
sesudah string kontrol (argumen1, argumen2,...)adalah data yang akan ditampilkan ke
layer.
 Fungsi getchart() Fungsi getchar() digunakan khusus untuk menerima masukan
berupa sebuah karakter dari keyboard. Contoh : c = getchar(); maka variabel c akan
berisi karakter yang diketikkan oleh user atau EOF (end of file) jika ditemui akhir
dari file.
 Fungsi scanf() Fungsi ini digunakan untuk memasukkan berbagai jenis data. Misalnya
untuk memasukkan data jari-jari lingkaran pada program menghitung luas lingkaran.
scanf(“%f”,&radius); Bentuk scanf() sesungguhnya menyerupai fungsi printf().Fungsi
ini melibatkan penentu format yang pada dasarnya sama digunakan pada printf().

55
MODUL 5

E. STRUKTUR PERCABANGAN (DECISION)

1. Soal Praktikum Pertama :


Buat program yang membaca nilai integer dan menuliskan “Nilai a positif” jika a >= 0
dan “Nilai a negatif” jika a < 0.
Jawab:
a) Program :
#include <iostream>
#include <stdio.h>

using namespace std;


main()
{
int a;
printf("Masukkan Nilai a = ");
cin>>a;

if(a>=0)
{
printf("Nilai %d positif", a);
}else{
printf("Nilai %d negatif", a);
}
}

b) Output :

56
2. Soal Praktikum KeDua :
Buat program untuk menginputkan sebuah bilangan, kemudian cetak ke layar bilangan
tersebut dan beri komentar apakah bilangan tersebut ganjil atau genap. Contoh input = 15
Output = Bilangan yang diinputkan adalah 15. Bilangan tersebut adalah bilangan ganjil.
Jawab :
1. Program :
#include <stdio.h>
#include <iostream>

using namespace std;


main()
{
int a;
printf("Masukkan Nilai a = ");
cin>>a;

if(a%2==1)
{
printf("Bilangan yang di masukkan %d merupakan bilangan ganjil", a);
}else{
printf("Bilangan yang di masukkan %d merupakan bilangan genap", a);
}
}

2. Output :

57
3. Soal Praktikum KeTiga :
Buat program menggunaan pernyataan if adalah untuk menentukan besarnya potongan
harga yang diterima oleh seorang pembeli, berdasarkan kriteria :
 tidak ada potongan harga jika total pembelian kurang
dari Rp. 100.000 (dalam hal ini potongan harga
diinisialisasi dengan nol).
 bila total pembelian lebih dari atau sama dengan Rp.
100.000, potongan harga yang diterima dirubah
menjadi sebesar 5% dari total pembelian. Contoh
input = 50.000
Output = Total pembelian adalah Rp. 50.000
Jawab :
a) Program :
#include <stdio.h>
#include <iostream>

using namespace std;

main()
{
int uang,diskon,bayar;
printf("Masukkan Jumlah Uang = ");
cin>>uang;

if(uang<=100000)
{
diskon = 0.05 * uang;

}
else
{
diskon = 0;
}
bayar = uang - diskon;
printf("Total pembayaran adalah %d", bayar);
}

58
b) Output :

4. Soal Praktikum KeEmpat :

Gunakan pernyataan if…else untuk membuat program yang menerima 2 buah bilangan
bulat masukan. Tampilkan hasil dari pembagian bilangan pertama dengan bilangan
kedua, dengan ketelitian 3 desimal.
 Input : bil1 dan bil2
 Output : hasil bagi bil1 dengan bil2
Nilai tambah : program bisa mengecek pembagian dengan
nol, yaitu jika bilangan kedua adalah nol, maka tidak
dilakukan proses pembagian, namun ditampilkan pesan
kesalahannya (division by zero).
Jawab :
a) Program :
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
int bil1, bil2;
double hasil;

cout<<"Masukkan Bilangan Pertama = ";


cin>>bil1;

cout<<"Masukkan Bilangan Kedua = ";


cin>>bil2;

if(bil2==0)

59
{
cout<<"Kesalahan : Pembagian Dengan Nol" <<endl;

}else{
hasil = (double) bil1/bil2;
cout<<fixed << setprecision(3);
cout<<"Hasil Bagi " << bil1 << " Dengan " << bil2 << " Adalah " << hasil <<
endl;
}
}

b) Output :

 KESIMPULAN :

Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis pernyataan,


berupa
1. Pernyataan if
2. Pernyataan if-else, dan
3. Pernyataan switch
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam
pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan salah.
Contoh penggunaan pernyataan if-else adalah untuk menyeleksi nilai suatu bilangan
pembagi. Jika nilai bilangan pembagi adalah nol, maka hasil pembagian dengan nilai nol
akan mendapatkan hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses
pembagian tidak akan dilakukan.

60
MODUL 6

F. STRUKTUR PERULANGAN (LOOPING)

1. Soal Praktikum Pertama :


Gunakan loop for untuk membuat program sebagai berikut: input : n output : 1 3 5 … m (
m = bilangan ganjil ke n)
Jawab :
a) Program :
#include<iostream>

using namespace std;

int main()
{
int n,m;
cout<<"Masukkan Bilangan n : ";
cin>>n;

m= n * 2 - 1;

for(int i = 1; i <= m; i += 2)
{
cout<<i<<" ";
}
}

b) Output :

61
2. Soal Praktikum KeDua :
Hitunglah bilangan triangular dari masukan pengguna, yang dibaca dari keyboard dengan
menggunakan scanf(). Bilangan triangular adalah penjumlahan dari bilangan masukan
dengan seluruh bilangan sebelumnya.
Contoh Input : 7
Output : 7 + 6 + 5 + 4 + 3 + 2 + 1 = 28
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
int n, tri = 0;

cout<<"Masukkan Bilangan = ";


cin>>n;

for(int i = 1; i <= n; i++)


{
tri += i;
}

cout<< n <<" + ";


for(int i = n-1; i > 0; i--)
{
cout<< i << " + ";
}

cout<<"1 = "<< tri << endl;


}
b) Output :

62
3. Soal Praktikum KeTiga :
Gunakan loop for dengan kenaikan varibel negatif untuk menampilkan seluruh karaker
dari Z sampai dengan A dalam baris-baris yang terpisah.
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
for(char c = 'Z'; c >= 'A'; c--)
{
cout<< c <<" , ";
}
}

b) Output :

63
4. Soal Praktikum KeEmpat :
Gunakan loop for untuk membuat program sebagai berikut:
input : n
output : 1 -2 3 -4 5 -6 7 -8 … n
Jawab :
a) Program :
#include <iostream>

using namespace std;

int main()
{
int n;

cout<<"Masukkan Bilangan n = ";


cin>>n;
for(int i = 1; i <= n; i++)
{
if(i % 2 == 0)
{
cout << -i << " ";
} else {
cout << i << " ";
}
}
}

b) Output :

64
5. Soal Praktikum KeLima :
Gunakan loop for untuk mendefinisikan apakah sebuah bilangan adalah bilangan pima
atau bukan
input :27
output : Bilangan adalah bilangan prima
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
int n, p = true;

cout<<"Masukkan Bilangan = ";


cin>>n;

for(int i= 2 ; i <= n / 2; i++)


{
if(n % i == 0)
{
p = false;
break;
}
}

if(p)
{
cout<<"Bilangan Adalah Bilangan Prima "<<endl;
}
else
{
cout<<"Bilangan Bukan Bilangan Prima "<<endl;
}
}

65
b) Output :

6. Soal Praktikum KeEnam :


Dengan menggunakan looping dan switch case atau else if buatlah program dalam C++
untuk menghitung Indeks Prestasi Semester seorang mahasiswa, dimana yang diinputkan
adalah nilai huruf dari 5 mata kuliah yang diikutinya dan jumlah jam mata kuliah tsb.
Dimana konversi nilai huruf ke angka untuk menghitung IPS adalah sebagai berikut:
A → 4, B→3, C→2, D→1, E→0 dan rumus IPS = jumlah (nilai * jam)/jumlah jam
keseluruhan
Contoh : Input:
Nilai Mata Kuliah 1 : A Jumlah jam : 2
Nilai Mata Kuliah 2 : C Jumlah Jam : 2
Nilai Mata Kuliah 3 : B Jumlah Jam : 3
Nilai Mata Kuliah 4 : A Jumlah Jam : 3
Nilai Mata Kuliah 5 : C Jumlah Jam : 3
Output : Indeks Prestasi Semester : 3
Output di atas didapatkan dari :
(4*2 + 2*2 + 3*3 + 4*3 + 2*3)/(2+2+3+3+3) = 39/13
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
char nilai;
int jam, totalJam = 0 , totalNilai = 0;
double IPS;

for(int i = 1; i <= 5; i++)


{

66
cout<<"Nilai Mata Kuliah " << i << " = ";
cin>>nilai;

cout<<"Jumlah Jam = ";


cin>>jam;

totalJam += jam;

switch (nilai)
{
case 'A':
totalNilai += 4 * jam;
break;

case 'B':
totalNilai += 3 * jam;
break;

case 'C':
totalNilai += 2 * jam;
break;

case 'D':
totalNilai += 1 * jam;
break;

case 'E':
totalNilai += 0 * jam;
break;

default:
cout<<"Nilai Tidak Valid"<<endl;
break;
}
}

IPS = (double) totalNilai / totalJam;


cout<<"Indeks Prestasi Semester = " <<IPS << endl;
}

67
b) Output :

7. Soal Praktikum KeTujuh :


Gunakan loop while untuk membuat program yang dapat menampilkan semua karakter
yang diketikkan di keyboard sampai yang diketikkan pada keybord huruf “X‟ (x besar).
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
char i;
cout<<"Masukkan Karakter, Tekan X untuk berhenti = ";
cin>>i;

while (i != 'X')
{
cout<<"i"<<"";
cin>>i;
}
cout<<"Anda Telah Menghentikan Program"<<endl;
}

68
b) Output :

8. Soal Praktikum KeDelapan :


Gunakan loop while untuk membuat program yang dapat mencari total angka yang
dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y
Masukkan bilangan ke-2 : 3 Mau memasukkan data lagi [y/t] ? t
Total bilangan = 8
Jawab :

a) Program :
#include <iostream>
#include <stdio.h>
using namespace std;
main()
{
int tot, bil,i;
tot=0;
i=1;
char a='y';
while (a=='y')
{
cout<<"Masukkan Bilangan ke-"<<i<<" = ";
cin>>bil;
tot=tot+bil;
cout<<"Mau Memasukkan data lagi [y/t] = ";
cin>>a;
i++;
}
cout<<"Total Bilangan = "<<tot;
}

69
b) Output :

 KESIMPULAN :

Perulangan adalah suatu proses eksekusi statemenstatemen dalam sebuah program secara
terus-menerus sampai terdapat kondisi untuk menghentikannya. Operasi perulangan /
looping selalu dijumpai didalam berbagai bahasa pemrograman, hal tersebut karena
struktur perulangan akan sangat membantu dalam efisiensi program. Pada pernyataan
while, pemeriksaan terhadap loop dilakukan di bagian awal (sebelum tubuh loop).
Pernyataan while akan diulangi terus selama kondisi bernilai benar, atau diulangi selama
kondisinya benar, jika kondisinya salah maka perulangan (loop) dianggap selesai.

70
MODUL 7

G. ARRAY DAN STURCTURE

1. Soal Praktikum Pertama :


Deklarasikan sebuah variabel array of int, selanjutnya isi array tsb kemudian tampilkan
isi variabel tersebut menggunakan statement for(). Ingat apabila jumlah deklarasi index
adalah n maka nilai index-nya adalah dimulai dari 0 sampai dengan n-1.
Jawab :
a) Program :
#include <iostream>

using namespace std;

int main()
{
int n;
cout<<"Masukkan Jumlah Angka = ";
cin>>n;

int a[n];

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


{
cout<<"Masukka Angka Ke - "<<i<< " = ";
cin>>a[i];
}

cout<<"Isi Angka = ";


for(int i = 0; i < n; i++)
{
cout<<a[i]<<" ";
}
}

71
b) Output :

2. Soal Praktikum KeDua :


Deret fibonacci adalah deret yang dimulai dengan dua angka yang bernilai 0 dan 1,
kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan
deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Sehingga
didapatkan deret fibonanci sebagai berikut:
0 1 1 2 3 5 8 13 21 …
Buatlah program untuk meminta input dari user berupa sebuah bilangan, kemudian
tampilkan deret fibonacci mulai dari 1 sampai bilangan tsb.
Jawab :

a) Program :
#include <iostream>

using namespace std;

int main()
{
int n;
cout<<"Masukkan Bilangan = ";
cin>>n;

int bil1 = 0, bil2 = 1, bil3;


cout<< bil1 << " " << bil2 << " ";

for(int i = 2; i < n; i++ )


{

72
bil3 = bil1 + bil2;
cout<< bil3 <<" ";
bil1 = bil2;
bil2 = bil3;
}
}

b) Output :

3. Soal Praktikum KeTiga :


Buat penjumlahan dua matriks A[2][2]dengan B[2][2]. Hasil penjumlahan tersebut
disimpan dalam matrik C. Tampilkan di layar masing-masing isi dari matriks A, B dan C.
Catatan modifikasi (gunakan nested loop) :
indeks MAKS dibuat konstanta
 variabel ordo matriks diinputkan
 memungkinkan pengulangan proses dengan
menginputkan ordo yang lain
Jawab :

a) Program :
#include <iostream>

using namespace std;

const int MAKS = 2;

int main()
{
int a;
cout << "Masukaan Jumlah Matriks = ";
cin >> a;
int A[a][a], B[a][a], C[a][a];

73
cout << "Masukkan Matriks A = " << endl;
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cout << "A[" << i << "][" << j << "] = ";
cin >> A[i][j];

}
}

cout << "Masukkan Matriks B = " << endl;


for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cout << "B[" << i << "][" << j << "] = ";
cin >> B[i][j];

}
}

for (int i = 0; i < a; i++)


{
for (int j = 0; j < a; j++)
{
C[i][j] = A[i][j] + B[i][j];
}
}
cout << "---------------------------------- \n\n";

cout << "Matriks A = " << endl;


cout << "---------------------------------- \n";
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cout << A[i][j] << " ";
}
cout << endl;
}
cout << "---------------------------------- \n\n";

74
cout << "Matriks B = " << endl;
cout << "---------------------------------- \n";
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cout << B[i][j] << " ";
}

cout << endl;


}
cout << "---------------------------------- \n\n";

cout <<"Matriks C = " << endl;


cout << "---------------------------------- \n";
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
cout << C[i][j] << " ";
}
cout << endl;
}
cout << "---------------------------------- \n\n";
}

b) Output :

75
4. Soal Praktikum KeEmpat :
Buatlah sebuah variabel array of int yang memiliki ukuran MAKS. Dengan menggunakan
looping for(), masukkan sebanyak n data ke dalam array tsb kemudian carilah nilai
terbesar yang ada dalam array tsb.
Jawab :

a) Program :
#include <iostream>

using namespace std;

const int MAKS = 5;

int main()
{
int a[MAKS];
int n;
cout << "Masukkan Jumlah Data = ";
cin >> n;

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


{
cout << "Masukkan Data Ke - " << i + 1 << " = ";
cin >> a[i];
}

int max = a[0];


for (int i = 1; i < n; i++)
{
if (a[i] > max)
{
max = a[i];
}
}

cout << "Nilai Terbesar Adalah = " << max << endl;
}

76
b) Output :

 KESIMPULAN :

Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data
yang bertipe sama. Bagian yang menyusun array disebut elemen array(isi), yang
masingmasing elemen dapat diakses tersendiri melalui indeks array.
 Array berdimensi satu Yaitu data-data akan disimpan dalam satu baris array, sehingga
hanya dibutuhkan satu pernomoran indeks. Contoh array 1 dimensi char nama[20];
double daftarGaji[100]; float y[10]; long dfthrg[100];
 Array Dua Dimensi Array dua adalah sekumpulan data yang dapat dianalogikan
sebagai matrix, yang terdiri dari baris dan kolom. Struktur dasar: tipeData
namaVariabel[jmlvariabel][jmlvariabel];
Konsep Struct Struct adalah statement yang berguna untuk mengkelompokkan sejumlah
data dengan tipe yang berlainan.

77
MODUL 8

H. FUNGSI

1. Soal Praktikum Pertama :


Buatlah sebuah fungsi yang berfungsi untuk menampilkan sebuah string (dilayar) =
“Pilihan Menu” (misalkan nama fungsinya = menu). Fungsi tersebut tidak memiliki nilai
kembalian (return value) dan juga tidak menerima parameter masukan apapun.
a. Tulislah prototipe fungsi untuk fungsi tersebut.
b. Buat function main untuk memanggil function menu() secara berulang-ulang,
dengan jumlah perulangan yang merupakan input dari user.
Jawab :

a) Program :
#include <iostream>
void menu();

using namespace std;

void menu()
{
cout << " AKU PADAMU \t";
}

int main()
{
int n;
cout << "Masukkan Jumlah Perulangan = ";
cin >> n;

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


{
menu();
}
}

78
b) Output :

2. Soal Praktikum KeDua :


Buatlah sebuah fungsi untuk menghitung jumlah triangular n (misal nama fungsinya =
triangular). Fungsi tersebut memiliki sebuah parameter berupa bilangan int (n) ang akan
dicari triangularnya serta tidak memiliki nilai kembalian (return value)
a. Tulislah prototipe fungsi untuk fungsi tersebut.
b. Buat function main untuk memanggil function triangular() tersebut dengan nilai n
yang merupakan input dari user.
Jawab :

a) Program :
#include <iostream>

using namespace std;

void triangular(int n)
{
int result = (n * (n + 1)) / 2;
cout << "Jumlah Triangular Dari " << n << " Adalah " << result << endl;
}

int main()
{
int n;
cout << "Masukkan Nilai n = ";
cin >> n;
triangular(n);
}

79
b) Output :

 KESIMPULAN :

Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas
tertentu dan letaknya dipisahkan dari program yang menggunakannya. Elemen utama dari
program bahasa C berupa fungsi-fungsi, dalam hal ini program dari bahasa C dibentuk
dari kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh pemrogram.

80

Anda mungkin juga menyukai