Disusun oleh :
Disusun Oleh
NAMA : Krish Pranata
NIM : 2018047
PRODI : TEKNIK INFORMATIKA S-1
Mengetahui, Menyetujui,
Kepala Laboratorium Dosen Pembimbing
Rekayasa Perangkat Lunak
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa, karena
atas berkah rahmat dan karunia-Nya sehingga kami dapat menyelesaikan Laporan
Praktikum Mata Kuliah, guna persyaratan dalam menempuh mata kuliah.
Laporan ini disusun berdasarkan percobaan dan teori dasar yang ada dalam
buku panduan praktikum, teori yang diperoleh praktikan dari perkuliahan, dan
tidak lupa yaitu Internet sehingga praktikan dapat menambah tidak hanya
menguasai teori saja namun juga memahami serta mengaplikasikannya.
Terwujudnya laporan ini, tentunya tidak lepas dari bantuan-bantuan yang
telah kami terima. Pada kesempatan ini, kami menyampaikan terima kasih yang
sebesar-besarnya kepada yang terhormat:
1. Bapak Joseph Dedy Irawan, ST, MT. dan Bapak Renaldi Primaswana
Prasetya, S.Kom, M.Kom. selaku dosen pembimbing dan dosen mata
kuliah Algoritma dan Pemrograman.
2. Bapak Ahmad Faisol, ST, MT. selaku Ketua Pelaksana Praktikum
Algoritma dan Pemrograman Program Studi Teknik Informatika ITN
Malang.
3. Instruktur Lab.Pemrograman dan RPL Teknik Informatika yang telah
memberi petunjuk kepada penulis selama pelaksanaan praktikum.
4. Rekan-rekan yang telah membantu dalam pelaksanaan dan penyelesaian
laporan ini.
Dalam menyusun laporan ini kami menyadari bahwa laporan ini masih
memiliki kekurangan, karena itu segala kritik dan saran yang membangun akan
kami nanti demi perbaikan penyusunan laporan selanjutnya.
Harapan kami laporan praktikum ini bermanfaat bagi penulis sendiri
maupun pembaca sekalian.
Malang, Desember 2019
Penulis
ii
DAFTAR ISI
KATA PENGANTAR..............................................................................................i
DAFTAR ISI..........................................................................................................ii
DAFTAR GAMBAR..............................................................................................v
DAFTAR TABEL................................................................................................vii
BAB I Pendahuluan...............................................................................................1
I.1 Latar Belakang...............................................................................................1
I.2 Rumusan Masalah...........................................................................................2
I.3 Tujuan.............................................................................................................2
I.4 Manfaat...........................................................................................................2
BAB II Pengenalan C++........................................................................................1
II.1 Landasan Teori..............................................................................................1
II.2 Langkah – Langkah Praktikum.....................................................................2
II.3 Latihan Praktikum ke-1:................................................................................2
II.4 Tugas praktikum ke-1:..................................................................................3
II.5 Tugas praktikum ke-2:..................................................................................4
II.6 Tugas Praktikum ke-3:..................................................................................5
II.7 Kesimpulan....................................................................................................6
BAB III Operator dan Statement I/O..................................................................7
III.1 Landasan Teori.............................................................................................7
III.2 Langkah – Langkah Praktikum..................................................................10
III.3 Latihan Praktikum ke-1:............................................................................10
III.4 Latihan praktikum ke-2:.............................................................................11
III.5 Latihan praktikum ke-3:.............................................................................12
III.6 Tugas Praktikum ke-1:...............................................................................13
III.7 Tugas Praktikum ke-2:...............................................................................14
III.8 Tugas Praktikum ke-3:...............................................................................15
III.9 Kesimpulan................................................................................................16
BAB IV Percabangan.............................................................................................1
IV.1 Landasan Teori............................................................................................1
IV.2 Langkah – Langkah Praktikum....................................................................4
iii
DAFTAR GAMBAR
DAFTAR TABEL
I-1
BAB 1
Pendahuluan
BAB 2 BAB II
Pengenalan C++
int main() {
Pernyataan_yang_akan_dilakukan;
…
return 0;
}
Seperti pada umumnya, langkah pertama kita harus berkenalan dengan bahasa
pemrograman c++.
// programku
#include <iostream>
using namespace std;
int main(){
cout<<"Praktikum Algoritma dan Pemrograman 2020"<<endl;
cout<<"Lab. RPL ITN MALANG";
return 0;
}
II.2 Langkah – Langkah Praktikum
1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.
3. Menjalankan script dari modul.
II.3 Latihan Praktikum ke-1:
Membuat Program biodata siswa
1. Source code :
#include <iostream>
using namespace std;
int main (){
char nama[15];
char nim[10];
char fakultas[20];
char jurusan[20];
cout<<"\tBiodata Mahasiswa"<<endl<<endl;
cout<<"Nama : "<<nama<<endl;
cout<<"NIM : "<<nim<<endl;
cout<<"Fakultas : "<<fakultas<<endl;
cout<<"Jurusan : "<<jurusan<<endl;
return 0;
}
2. Tampilan Program :
2. Tampilan Program :
Pada contoh tugas program kode using namespace sdt; itu salah
yang seharusnya kodenya adalah using namespace std;. Untuk penggunaan
kode penerima data dari input keyboard harus menggunakan cin dan kode
break dicontoh itu salah karena kode tersebut berfungsi untuk
menghentikan proses perulangan, cara yang benar penulisannya adalah int
a; yang artinya a adalah nilai variable yang akan diketik, dan cin>> a
artinya masukan nilai a. Di penulisan akhir kode harus dikasih tanda titik
koma (;) yang artinya setiap perintah harus ada tanda titik koma itu, jika
tidak disertakan maka perintah tidak akan bisa dijalankan.
II.5 Tugas praktikum ke-2:
Membuat Program tampilan nama 3 huruf depan
1. Source code :
#include <iostream>
using namespace std;
int main () {
cout<<"KKKK KKKKK RRRRRRRRRRRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRRRRRRRRRRRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKKKKKKKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKKKKKKKKK RRRRRRRRRrRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRRRRRRRRrRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKKK RRRR
RRRR IIII"<<endl;
return 0;
}
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
BAB 4 BAB IV
Percabangan
else if (kondisi3){
statemen_jika_kondisi3_terpenuhi;
}
.....
else {
statemen_jika_semua_kondisi_diatas_
tidak_terpenuhi;
}
2. Tampilan Program :
2. Tampilan Program :
cout<<"=========================================";
switch(kereta){
case 1 :
cout<<"\nKelas Ekonomi"<<endl;
cout<<"Harga Kelas Ekonomi :
Rp.150.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Total Pembayaran :
"<<jumlah*150000<<endl;
total=jumlah*150000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
case 2 :
cout<<"\nKelas Bisnis"<<endl;
cout<<"Harga Kelas Bisnis :
Rp.275.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Toal Pembayaran :
"<<jumlah*275000<<endl;
total=jumlah*275000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
case 3 :
cout<<"\nKelas Eksekutif"<<endl;
cout<<"Harga Kelas Eksekutif :
Rp.300.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Toal Pembayaran :
"<<jumlah*300000<<endl;
total=jumlah*300000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
default :
cout<<"\nPilihan Anda Tidak Tersedia";
}
return 0;
}
2. Tampilan Program :
1. Source code :
#include <iostream>
using namespace std;
int main(){
string username,password;
cout<<"\tSISTEM LOGIN SEDERHANA"<<endl;
cout<<"Masukkan USERNAME : "; cin>>username;
cout<<"Masukkan PASSWORD : "; cin>>password;
if(username == "admin" && password == "admin"){
cout<<"Anda Berhasil Login"<<endl;}
else if (username == "user" && password ==
"admin"){
cout<<"Username Anda Salah"<<endl;}
else if (username == "admin" && password ==
"user"){
cout<<"Password Anda Salah"<<endl;}
else {
cout<<"Username dan Password Anda
Salah"<<endl;}
return 0;
}
2. Tampilan Program :
b. Bila salesman dapat menjual barang diatas Rp. 20.000,- , akan diberikan
uang jasa sebesar Rp. 5.000,- ditambah dengan uang komisi Rp. 15%
dari pendapatan yang diperoleh hari itu.
c. Bila salesman dapat menjual barang diatas Rp. 50.000,- , akan diberikan
uang jasa sebesar Rp. 10.000,- ditambah dengan uang komisi Rp. 20%
dari pendapatan yang diperoleh hari itu.
d. Bila salesman dapat menjual barang diatas Rp. 100.000,- , akan diberkan
uang jasa sebesar Rp. 20.000,- ditambah dengan uang komisi Rp. 25%
dari pendapatan yang diperoleh hari itu.
1. Source code :
#include <iostream>
using namespace std;
int main(){
float pdpt,jasa=0,komisi=0,total=0;
cout<<"Pendapatan hari ini : Rp.";cin>>pdpt;
if (pdpt>=0 && pdpt<20000)
{
komisi=0.1*pdpt;
}
else if (pdpt>=20000 && pdpt<50000)
{ jasa=5000;
komisi=0.15*pdpt;
}
else if (pdpt>=50000 && pdpt<100000)
{ jasa=10000;
komisi=0.2*pdpt;
}
else if (pdpt>=100000)
{ jasa=20000;
komisi=0.25*pdpt;
}
else
{ jasa=0;
komisi=0;
}
total=komisi+jasa;
cout<<"uang Jasa : Rp."<<jasa<<endl;
cout<<"Uang Komisi : Rp."<<komisi<<endl;
cout<<"==============================="<<endl;
cout<<"hasil Total : Rp."<<total<<endl;
return 0;}
2. Tampilan Program :
di case selanjutnya. Jika semua nilai tidak berada dalam daftar fungsi
case maka program akan menampilka fungsi default sebagai pengganti
case.
IV.9 Kesimpulan
1. Struktur If satu kondisi adalah struktur yang hanya melibatkan satu
kondisi yang akan diperiksa, jika kondisi bernilai benar maka perintah
akan dikerjakan dan jika tidak memenuhi syarat akan diabaikan.
2. Struktur If dua kondisi mempunyai sebuah statemen khusus yang
berguna untuk mengatasi kejadian apabila kondisi yang diperintahkan
tidak memenuhi syarat.
3. Struktur If tiga kondisi atau lebih merupakan perluasan dari struktur
yang memiliki dua kondisi, yaitu dengan menyisipkan satu atau lebih
kondisi kedalamnya.
4. Operator Ternary juga bisa merupakan salah satu dari tiga sifat
Operator, operator yang akan melibatkan 3 buah operand dalam satu
operasi. Terdapat juga Operator ternary berfungsi untuk mengevaluasi
ekspresi dan menentukan hasil berdasarkan kondisi. jika kondisi tersebut
1 ( true ) maka akan memilih pilihan ke satu, jika 0 ( false ) maka akan
memilih pilihan ke dua.
5. Statemen switch juga bisa melakukan percabangan (pemilihan).
6. Perbedaan switch case dengan if else, switch case digunakan pada
kondisi untuk menyederhanakan penulisan.
7. Biasanya switch case digunakan pada struktur percabangan yang
penulisan setiap kondisinya berupa 1 digit number.
8. Pernyataan switch adalah pernyataan yang digunakan untuk
menjalankan salah satu pernyataan dari beberapa kemungkinan
pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai
penyeleksian.
BAB 5 BAB V
Perulangan
sejumlah nilai yang telah ditetapkan. Looping yang dilakukan oleh for
telah diketahui batas awal, batas kondisi dan perubahannya. Tipe data
dari variabel yang akan digunakan sebagai indeks haruslah tipe data
yang mempunyai urutan yang teratur, misalnya tipe data int (0,1,2,…)
atau char(‘a’,’b’,’c’,...).
Struktur For dengan Banyak Variabel, Struktur for di dalam C++ dapat
juga melibatkan lebih dari satu variabel namun yang jelas satu
diantaranya akan digunakan sebagai indeks pengulangan. Untuk
memahami konsepnya, berikut ini disajikan sebuah contoh program
dimana di dalamnya terdapat strukur for yang melibatkan dua buah
variabel, yaitu A, B dan C.
V.1.2 Perulangan While, Do-While
Struktur perulangan WHILE adalah pengulangan yang
melakukan pemeriksaan kondisi di awal blok struktur. Pengulangan
hanya akan dilakukan jika kondisi yang didefinisikan di dalamnya
terpenuhi (bernilai benar). Hal ini berarti jika kondisi yang
didefinisikan tidak terpenuhi (bernilai salah) maka statemen-statemen
yang terdapat dalam blok pengulangan pun tidak akan pernah
dieksekusi oleh program.
Bentuk umumnya :
while (kondisi) {
statemen_statemen_yang_akan_diulang;
perubahan;
}
Algoritma Program :
a. Sebuah while loop mengecek kondisi.
b. Selama kondisi yang dicek bernilai true, kode di dalam while loop di
jalankan.
c. Kondisi di cek lagi.
d. Proses ini berlanjut hingga saat kondisi bernilai false.
e. Saat kondisi yang di cek bernilai false, perulangan berakhir.
Struktur Do-While Berbeda dengan struktur while yang
melakukan pemeriksaan kondisi di awal blok perulangan, pada struktur
do-while kondisi justru ditempatkan di bagian akhir. Hal ini tentu
1. Source code :
#include <iostream>
using namespace std;
int main(){
int a,b,c,d;
char F;
for(a=5;a<=9;a++){
cout<<a<<"\t";}
cout<<endl;
for (b=5;b>0;b--){
cout<<b<<"\t";}
cout<<endl;
for (c=1,d=0;c<=11;c++,d++)
{cout<<c<<"\t";
c+=d;}
cout<<endl;
2. Tampilan Program :
#include <iostream>
using namespace std;
int main()
{
char X='o';
int Y=1,Z=2;
2. Tampilan Program :
* *
* * *
* * * *
1. Source code :
#include <iostream>
using namespace std;
int main (){
for (int x=1 ; x<=4 ; x++){
for (int y=4 ; y>=x ; y--){
cout << " ";}
2. Tampilan Program :
int main()
{
int nilai,a;
cout<<"Masukkan banyak data = ";cin >>nilai;
cout<<endl;
cout << "Bilangan GENAP antara 1 s/d "<<nilai<<" adalah :
"<<endl;
for(a=2; a<=nilai; a++){
if(a%2==0){
cout<<a<<"\t";}
}
cout<<endl;
cout << "Bilangan GANJIL antara 1 s/d "<<nilai<<" adalah :
"<<endl;
for(a=1; a<=nilai; a++){
if(a%2!=0){
cout<<a<<"\t";}
}
return 0;
}
2. Tampilan Program :
2. Tampilan Program :
for (i=1;i<=3;i++)
for(j=1;j<=4;j++)
cout<<"i="<<i<<" j="<<j<<endl;
}
2. Tampilan Program :
BAB 6 BAB VI
Fungsi Void dan Non-Void
2. Tampilan Program :
2. Tampilan Program :
double v,p=3.14;
void vol(double jari, double tinggi){
v=p*jari*jari*tinggi/3;
cout << v;}
main (){
double j,t;
cout << "Masukkan Jari-Jari Kerucut = "; cin >> j;
cout << "Masukkan Tinggi Kerucut = ";cin >> t;
cout << "Volume Kerucut = "; vol(j, t);
return 0;
}
2. Tampilan Program :
2. Tampilan Program :
2. Tampilan Program :
}
}
main(){
string a;
int b;
cout<<"Masukan teks = ";getline(cin, a);
cout<<"Banyak Perulangan = ";cin>>b;
teks(a,b);
return 0;
}
2. Tampilan Program :
2. Tampilan Program :
for(b=0;b<dat;b++)
{
cout<<"Nomor ke "<<b+1<<" : ";
for(c=0;c<data[b];c++){
cout<<"*";
}
cout<<endl;
}
2. Tampilan Program :
{
int n;
cout<<"Masukkan ukuran ordo matrik pertama dan
kedua : ";cin>>n;
int matrik_1[n][n],matrik_2[n][n];
cout<<endl;
cout<<"Masukkan nilai matrik pertama "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<"Baris "<<i<<" Kolom "<<j<<" : ";
cin>>matrik_1[i][j];
}
}
cout<<endl;
cout<<"Masukkan nilai matrik kedua : "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<"Baris "<<i<<" Kolom "<<j<<" : ";
cin>>matrik_2[i][j];
}
}
cout<<endl;
cout<<"Masukkan nilai matrik kedua : "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<matrik_1[i][j]+matrik_2[i][j]<<"
";
}
cout<<endl;
}
}
2. Tampilan Program :
int main()
{
int kls[2]
[5],a,b,jum[2]={0,0},maks[2],min[2],sem,ber;
cout << "Data Nilai kelas 1\n\n";
for (a=0; a<=4; a++)
{
cout << "Nilai Mahasiswa Kelas 1 Nomor
"<<a+1<<" = ";
cin >> kls[0][a];
jum[0]=jum[0]+kls[0][a];
}
maks[0]=kls[0][0];
for (a=0; a<=4; a++)
{
if (kls[0][a]>maks[0])
{
maks[0]=kls[0][a];
}
}
min[0]=kls[0][0];
for (a=0; a<=4; a++)
{
if (kls[0][a]<min[0])
{
min[0]=kls[0][a];
}
}
maks[1]=kls[1][0];
for (a=0; a<=4; a++)
{
if (kls[1][a]>maks[1])
{
maks[1]=kls[1][a];
}
}
min[1]=kls[1][0];
for (a=0; a<=4; a++)
{
if (kls[1][a]<min[1])
{
min[1]=kls[1][a];
}
}
if(maks[0]>maks[1])
{
sem=maks[0];
}
else if(maks[0<maks[1]])
{
sem=maks[1];
}
if(min[0]<min[1])
{
ber=min[0];
}
else if(min[0]>min[1])
{
ber=min[1];
}
return 0;
}
2. Tampilan Program :
int main(){
int a;
int nilai[5];
int tampung = 0;
cout<<"masukan perulangan = ";cin>>a;
for(int i=0; i<a;i++){
cout<<"Isi index ke ["<<i<<"] = ";
cin>>nilai[i];
}
for(int i=0; i<5;i++){
tampung = tampung + nilai[i];
}
cout<<"\nHasil Penjumlahan semua : "<<tampung
<< endl;
return 0;
}
2. Tampilan Program :
BAB 8 Kesimpulan
salah maka statemen yang berada di blok perulangan tidak akan dieksekusi
program
20. Struktur do-while kondisinya justru ditempatkan di bagian akhir, karena hal
ini tentu menyebabkan struktur pengulangan ini minimal akan melakukan
satu kali proses walaupun kondisi yang didefinisikan tidak terpenuhi (bernilai
salah).
21. Statemen continue berbeda dengan break yang di gunakan untuk
menghentikan proses loop, continue digunakan untuk melanjutkan proses
loop.
22. Pernyataan nested for adalah suatu perulangan for di dalam perulangan for
yang lain.
23. Loop luar, biasanya digunakan untuk mendefinisikan baris, Sedangkan loop
dalam digunakan untuk mendefinisikan kolom.
24. nested loops digunakan untuk membuat aplikasi matematika yang
menggunakan baris dan kolom.
25. nested for, perulangan yang di dalam terlebih dahulu dihitung hingga selesai,
kemudian perulangan yang di luar diselesaikan.
26. Fungsi merupakan statemen yang dikelompokkan menjadi satu bagian kode
(blok program) untuk menyelesaikan tugas spesifik tertentu.
27. Dalam sebuah program C++ minimal harus memiliki 1 method, karena pada
dasarnya main() juga merupakan sebuah method. Method main adalah
program utama.
28. Jenis-jenis fungsi ada dua yaitu:
Non void adalah fungsi dengan nilai balik atau fungsi dengan return value
ketika fungsi dipanggil.
Void adalah fungsi yang tidak mengembalikan nilai atau fungsi yang tidak
menghasilkan nilai balik ketika fungsi dipanggil.
29. Fungsi non-void disebut juga function. Disebut non-void karena
mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut.
30. Fungsi dengan parameter yang mana parameter ini akan digunakan sebagai
nilai masukkan (input) dalam sebuah fungsi.
31. Secara teori, parameter yang terdapat pada pendefinisian sebuah fungsi
disebut dengan parameter formal, sedangkan parameter yang terdapat pada
saat pemanggilan disebut dengan parameter aktual.
32. Fungsi tanpa parameter bisa didefinisikan sebagai fungsi yang setiap kali
pemanggilan fungsi tersebut, hasil yang didapatkan selalu bernilai tetap
33. C++ tidak mengenal istilah prosedur (procedure) seperti pada saat kita
melakukan pemrograman dengan menggunakan bahasa Pascal.
34. Ciri-ciri dari jenis fungsi adalah Secara umum tidak ada keyword return, tidak
adanya tipe data di dalam deklarasi fungsi, Menggunakan keyword void.
35. Fungsi void tidak dapat mengembalikan nilai apa pun. Tapi kita bisa
menggunakan pernyataan return. return digunakan untuk menunjukkan
bahwa fungsi tersebut dihentikan.
36. Fungsi void dapat me return kan fungsi lain, dengan syarat fungsi tersebut
harus fungsi void juga.
37. Fungsi prototype atau prototype function sebenarnya merupakan sebuah
variasi gaya dalam mendeklarasikan sebuah fungsi.
38. Array adalah sebuah variabel yang menyimpan sekumpulan data yang
memiliki tipe sama. setiap data tersebut menempati lokasi atau alamat
memory yang berbeda-beda dan selanjutnya disebut dengan elemen array.
39. Untuk mendeklarasian sebuah array kita harus menggunakan tanda ( [..] ).
40. Dalam C++ terdapat 2 jenis array yaitu Array 1 dimensi ,Array 2 dimensi.
A
No. Tanggal
Konsep
Pengenalan C++
Operator dan Statement I/O
Instruktur
Percabangan
1
Perulangan
Fungsi Void dan Non-Void
Array
Dosen
2
Batas Akhir: