LAPORAN AKHIR
DISUSUN OLEH:
NIM : 201512024
NAMA : WINDA NOVITASARI
KELAS : SORE 1
DOSEN PENGAMPU : DANIEL ALEXANDER O. T., S.T.
LAPORAN AKHIR
ALGORITMA DAN PERMTOGRAMAN I
Disusun oleh :
Winda Novitasari
201512001
Mengetahui,
Dosen Pengampu
ii
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas limpahan
rahmat dan kasih karunia-NYA sehingga penulis dapat menyelesaikan laporan akhir
praktikum Algoritma Dan Permtograman I.
Selama penyusunan laporan akhir ini,tidak lepas dari dukungan berbagai pihak dan
mengucapkan terima kasih kepada:
1. Tuhan YMEyang selalu senantiasa memberikan nikmat, kekuatan dan kesehatan
selama penyelesaian tugas akhir ini.
2. Orang Tua yang memberikan semangat, do’a dan dukungan.
3. Dosen yang telah memberikan pengarahan dan penjelasan dalam praktikum ini.
Penulis menyadari bahwa dalam penyusunan laporan akhir ini masih banyak
kekurangan dan jauh dari sempurna. Untuk itu penulis mengharapkan kritik dan saran yang
membangun.
Semoga apa yang didapat dari laporan akhir ini dapat bermanfaat bagi penulis dan
para pembaca.Semoga Tuhan Yang Maha Esa selalu membimbing kita dalam menyelami
dan mengamalkan ilmu-Nya untuk menuju kehidupan yang lebih baik.
Penulis
iii
DAFTAR ISI
Halaman Judul................................................................................................................ i
Halaman Pengesahan .................................................................................................... ii
Kata Pengantar .............................................................................................................. iii
Daftar Isi.......................................................................................................................... iv
Laporan Harian I .......................................................................................................... v
Bab I Pendahuluan ........................................................................................................... 1
Bab II Dasar Teori ........................................................................................................... 2
Bab III Pembahasan ......................................................................................................... 8
Bab IV Penutup ............................................................................................................... 12
Laporan Harian II .......................................................................................................... vi
Bab I Pendahuluan ........................................................................................................... 13
Bab II Dasar Teori ........................................................................................................... 14
Bab III Pembahasan ......................................................................................................... 16
Bab IV Penutup ............................................................................................................... 24
Laporan Harian III ....................................................................................................... vii
Bab I Pendahuluan ........................................................................................................... 25
Bab II Dasar Teori ........................................................................................................... 26
Bab III Pembahasan ......................................................................................................... 28
Bab IV Penutup ............................................................................................................... 35
Kesimpulan Umum ........................................................................................................ viii
Daftar Pustaka ............................................................................................................... ix
iv
PRAKTIKUM ALGORITMA DAN PERMTOGRAMAN I
LAPORAN HARIAN I
v
BAB I
PENDAHULUAN
1.4 Tujuan
Tujuan praktikum sebagai berikut:
1. Untuk syarat nilai tugas, UAS, dan kelulusan matakuliah.
2. Dan dapat mengerti bahasa pemograman C++, beserta dasar, variable, tipe data,
dan operator.
1
BAB II
DASAR TEORI
2
2. Statement
Statement berfungsi untuk mengontrol serangkaian eksekusi, mengevaluasi ekspresi
atau malah tidak mengerjakan apapun (disebut dengan null statement). Semua
statement di program C++ berakhir dengan tanda titik koma (;).
3. Block
Block merupakan sebuah tempat yang memuat single statement, ataupun gabungan
statement. Block dimulai dengan kurung kurawal buka ({) dan diakhiri dengan kurung
kurawal tutup (}), serta block harus diakhiri dengan tanda titik koma (;). Sedangkan
block sendiri tidak diakhiri dengan tanda titik koma (;).
4. Fungsi
Fungsi biasanya digunakan jika dipanggil oleh instruksi-instruksi dalam sebuah
program. “main()” merupakan sebuah funsi yang tidak biasa, karena “main()”
hanya dipanggil oleh system operasi. Sebuah fungsi harus mengembalikan sebuah
nilai yang berisi atau nilai kosong (tidak mengembalikan apapun) yang disebut dengan
void.
2.3 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh
nilai dari suatu variable digunakan pernyataan penugasan (assignment statement),
yang mempunyai sintaks sebagai berikut :
variable = ekspresi ;
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi.
3
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore).
Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !,
&, *, (, ), -, +, = dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi.
Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata,
dan tidak boleh ada spasi.
2.4 Konstanta
Konstanta mirip dengan variable, namun memiliki nilai tetap. Konstanta dapat
berupa nilai Integer, Float, Karakter dan String. Pendeklarasian konstanta dapat
dilakukan dengan 2 cara :
Menggunakan(#define)
deklarasi konstanta dengan cara ini, lebih gampang dilakukan karena akan
menyertakan #define sebagai preprocessor directive. Dan sintaksnya diletakkan
bersama – sama dengan pernyataan #include (di atas main()). Format
penulisannya adalah :
Contoh :
const int lebar = 100;
4
const char tab = ‘\t’;
const zip = 1212;
Untuk contoh terakhir, deklarasi variable zip yang tanpa tipe data, maka compiler
akan secara otomatis memasukkannya ke dalam tipe int.
2.6 Operator
2.6.1 Operator Assignment (Penugasan)
Assignment Operator (operator penugasan) adalah operator yang menggunakan
tanda sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel. Asumsikan
variabel a bernilai 50 dan variabel b bernilai 30,lalu perhatikan tabel berikut:
5
untuk operand kiri.
-= Mengurangi operand kanan dari operand c-=a sama dengan c=c-a
kiri dan menugaskan hasilnya untuk
operand kiri.
*= Mengalikan operand kanan dengan operand c*=a sama dengan c=c*a
kiri dan menugaskan hasilnya untuk
operand kiri.
/= Membagikan operand kiri dari operand c/=a sama dengan c=c/a
kanan dan menugaskan hasilnya untuk
operand kiri.
%= Menghitung sisa pembagian menggunakan c%=a sama dengan c=c%a
dua operand dan memberikan hasilnya ke
operand kiri
6
Tabel 2.5 Operator Relasional
Operator Keterangan
== Sama dengan (bukan penugasan)
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari sama dengan
<= Kurang dari sama dengan
Operator Logika digunakan untuk membandingkan dua nilai variabel atau lebih.
Hasil dari operasi ini adalah nilai boolean true atau false. Asumsikan variabel a
bernilai true, b bernilai false dan c bernilai true, lalu perhatikan tabel berikut:
Jika salah satu operand bernilai benar (TRUE) maka a | | b hasilnya true
||
kondisi bernilai benar. a | | c hasilnya true
7
BAB III
PEMBAHASAN
Program1.cpp
#include <iostream>
using std::cout;
int main(){
cout << "Program Pertamaku";
}
Modul Program 3.1 Syntax untuk menampilkan data
Penjelasan : Pemrograman C++ tidak terlepas dari fungsi. Sebab fungsi adalah
salah satu dasar penyusunan blok pada C++. Sebuah program C++ minimal
mengandung sebuah fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi
program C++. main adalah nama judul fungsi. Sedangkan yang dimulai dari tanda {
hingga tanda } disebut tubuh fungsi. Semua yang terletak di dalam tanda {} disebut
blok. Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan
dilewatkan ke fungsi.
Pengenal cout merupakan sebuah obyek di dalam C++. Obyek ini disediakan oleh
C++ untuk mengarahkan data ke standard output (normalnya adalah layar), sebagai
contoh tambahan misalnya:
cout << "Program Pertamaku";
8
Tanda << merupakan sebuah operator yang disebut operator penyisipan/peletakan.
Operator ini akan mengarahkan operand (data) yang terletak di sebelah kanan
obyeknya ke obyek yang terletak di sebelah kiri. Pada pernyataan di atas, konstanta
string "Program Pertamaku" diarahkan ke cout, yang memberikan hasil berupa
tampilan string tersebut ke layar. Pada baris #include , baris ini menginstruksikan
kepada kompiler untuk menyiapkan file lain pada saat program dikompolasi.
#include perlu disertakan pada program yang melibatkan obyek cout. Tanpa
kehadiran baris tersebut akan terjadi kesalahan program sewaktu program dikompilasi.
Sebab file iostream berisi deklarasi yang diperlukan oleh cout dan berbagai obyek
yang berhubungan dengan operasi masukan-keluaran pada stream.
Setelah di compile dan di run maka hasilnya seperti gambar 3.1. pastikan tidak ada
yang error karena jika ada yang error maka program tidak bisa di Run.
Program2.cpp
#include<iostream>
using std::cout;
using std::endl;
int main(){
int a = 9;
int b = 6;
9
cout << "Pengurangan a - b : " << a-b << endl;
cout << "Perkalian a * b : " << a*b << endl;
cout << "Pembagian a / b : " << a/b << endl;
cout << "Pembagian a mod b : " << a%b << endl;
}
Modul Program 3.2 Syntax Penggunaan Operator aritmatika
Penjelasan :
Semua yang mengevaluasi atau menghasilkan nilai disebut ekspresi. Program
diatas adalah contoh program perhitungan dari operator aritmatika, yang nilai variable
telah ditentukan. Maka ketika ada statement 9+6 akan mengembalikan atau
menghasilkan sebuah nilai 15. Maka statement tersebut adalah sebuah ekspresi. Semua
ekspresi merupakan statement. Dibawah ini adalah hasil dari syntax perhitungan
diatas.
InputBiodata.cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
char nim[9], nama[30], kelas[6];
10
cin >> nim;
cout << "Kelas :";
cin >> kelas;
Penjelasan:
cin >> nim; adalah salah satu fungsi cin yang digunakan untuk menginput data
beupa data numeric, karakter dan string. cin.getline(nama, sizeof(nama));
adalah sebuah fungsi untuk membaca/menginput string lebih dari satu kata, dan tidak
mengakibatkan kesalahan jika dalam satu program menggunakan perintah ini lebih
dari satu kali. Dan jika dalam satu program hanya menggunakan perintah ini satu kali
bisa menggunakan perintah cin.get (nama, sizeof(nama));.
setw(20) adalah manipulator untuk mengatur lebar cetakan selebar 20. Dibawah
ini adalah hasil dari syntax diatas.
11
BAB IV
PENUTUP
4.1 Kesimpulan
Dari praktikum diatas bisa disimpulkan bahwa C++ adalah salah satu bahasa yang
sensitif. Besar dan kecil huruf mempengaruhi program. Dan ada beberapa hal yang
perlu diingat bahwa penulisan variable tidak boleh diikuti oleh tanda khusus kecuali
garis bawah atau underscore dan variable juga tidak diperbolehkan menggunakan
spasi. Tipe data C++ juga beragam tergantung kebutuhan programmer untuk
penggunaanya. Operator juga dipakai untuk operasi terhadap data tergantung
kebutuhan programmer untuk penggunaannya. Kode program C++ sangat pendek dari
bahasa pemograman yang lain dan juga cocok digunaka ke bahasa program dengan
platform berbeda.
DAFTAR PUSTAKA
12
PRAKTIKUM ALGORITMA DAN PERMTOGRAMAN I
LAPORAN HARIAN II
vi
BAB I
PENDAHULUAN
1.7 Tujuan
Tujuan praktikum sebagai berikut:
3. Untuk syarat nilai tugas, UAS, dan kelulusan matakuliah.
4. Dapat mengerti mengenai jenis Statement Pengendalian dan cara menggunakannya.
13
BAB II
DASAR TEORI
Bentuk Umun :
if ( kondisi )
pernyataan
Bentuk Umum :
if ( kondisi )
pernyataan -1
else
pernyataan -2
Struktur ini minimal memiliki 2 pernyataan. Jika kondisi yang diperiksa bernilai
benar atau terpenuhi maka pernyataan pertama yang akan dilaksanakan dan jika
kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang akan
dilaksanakan.
Nested if merupakan bentuk dari suatu pernyataan if (atau if-else) yang berada di
dalam lingkungan pernyataan if (atau if-else) yang lainnya.
14
4. Struktur Kondisi “SWITCH….CASE….DEFAULT…”
Bentuk Umum :
switch (kondisi)
{
case konstanta -1:
pernyataan -1;
break ;
case konstanta -2:
pernyataan -2;
break;
…
…
case konstanta –x:
pernyataan –x;
break –x;
default: pernyataan;
}
15
BAB III
PEMBAHASAN
#include<iostream>
using namespace std;
int main(){
int nilai;
cout <<"masukkan nilai anda:";
cin>>nilai;
Penjelasan:
Dalam program ini digunakan struktur kondisi IF bersarang, karena dalam kondisi
if-else ada if-else lainnya. Program ini melaksanakan perintah dari pernyataan nilai
yang kita masukkan dan memeriksa pernyataan nilai tersebut sampai pernyataan
bernilai benar, jika salah maka program akan memeriksa pernyataan yang terakhir.
16
Output:
#include <iostream>
#include <string.h>
using namespace std;
17
diskon = 0;
}
cout << "===============" << endl;
cout << "Total Belanja : " << total_pembayaran << endl;
cout << "Diskon : " << diskon << endl;
cout << "Bonus ; " << bonus << endl;
total = total_pembayaran - diskon;
cout << "Total Bayar : " << total << endl;
}
Modul Program 3.2 Program Total Pembayaran
Penjelasan:
Program diatas menggunakan struktur kondisi if-else bersarang seperti program
sebelumnya. Program ini juga menggunakan tipe data dasar int dan char. Program
juga menggunakan perhitungan dan juga kondisi yang mana saat kondisi tersebut
benar, akan mengeluarkan nilai bonus.
Output:
#include<iostream>
using namespace std;
int main(){
int kode_hari;
18
cout << "menentukian hari" << endl;
switch(kode_hari){
case 1 : cout << "hari senin";
break;
case 2 : cout << "hari selasa";
break;
case 3 : cout << "hari rabu";
break;
case 4 : cout << "hari kamis";
break;
case 5 : cout << "hari jumat";
break;
case 6 : cout << "hari sabtu";
break;
case 7 : cout << "hari minggu";
break;
default : cout << "salah input";
break;
}
}
Modul Program 3.3 Program Nama Hari
Penjelasan:
Program ini menggunakan struktur kondisi switch-case. Dengan memasukkan nilai,
case akan penyeleksian kondisi lalu diteruskan dengan pernyataan break. Jika tidak
ada nilai pada case yang sesuai dengan kondisi, maka proses akan dilanjutkan dengan
pernyataan yang ada dibawah. Jika memang tidak ada nilai pada case yang sesuai
maka perintah akan di lanjutkan sampai pernyataan default.
19
Output:
#include<iostream>
#define phi 3.14
using namespace std;
int main(){
int volum, sisi, panjang, lebar, tinggi, jari, pilih;
double luas;
char p;
menu :
cout << "Menghitung bangun ruang" << endl;
cout << "=======================" << endl;
cout << "1. Volum Kubus" << endl;
cout << "2. Volum Balok" << endl;
cout << "3. Luas Lingkaran" << endl;
cout << "4. Keluar" << endl;
cout << "=======================" << endl;
cout << "Masukkan Pilihan Menu (1..4) :" ;
cin >> pilih;
switch(pilih){
case 1 : cout << "\nMenghitung Volum Kubus" << endl;
cout << "Masukkan Nilai Sisi :";
cin >> sisi;
20
volum = sisi*sisi*sisi;
cout << "Volum Kubus : " << volum << endl;
cout << "ingin lanjut ke menu? (Y/N)";
cin >> p;
if (p=='Y' | p=='y'){
goto menu;
}
break;
case 2 : cout << "\nMenghitung Volum Balok" << endl;
cout << "Masukkan Nilai Panjang :";
cin >> panjang;
cout << "Masukkan Nilai Lebar :";
cin >> lebar;
cout << "Masukkan Nilai Tinggi :";
cin >> tinggi;
volum = panjang*lebar*tinggi;
cout << "Volum Balok : " << volum << endl;
cout << "ingin lanjut ke menu? (Y/N)";
cin >> p;
if (p=='Y' | p=='y'){
goto menu;
}
break;
case 3 : cout << "\nMenghitung Luas Lingkaran" << endl;
cout << "Masukkan Nilai jari :";
cin >> jari;
luas = phi*jari*jari;
cout << "Luas Lingkaran : " << luas << endl;
cout << "ingin lanjut ke menu? (Y/N)";
cin >> p;
if (p=='Y' | p=='y'){
goto menu;
}
break;
case 4 : cout << "\nAnda Telah Keluar. Terima kasih." <<
endl;
21
cout << "ingin lanjut ke menu? (Y/N)";
cin >> p;
if (p=='Y' | p=='y'){
goto menu;
}
break;
default : cout <<"Salah Input" << endl;
}
}
Modul Program 3.4 Program Bangun Ruang
Penjelasan:
Program ini menggunakan struktur kondisi switch-case seperti program yang
sebelumnya. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan
‘case’ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses
diteruskan hingga ditemukan pernyataan ‘break’.
cout << "ingin lanjut ke menu? (Y/N)";
cin >> p;
if (p=='Y' | p=='y'){
goto menu;
}
Syntax diatas adalah untuk mengembalikan layar output ke menu awal dengan
menanyakan ya atau tidak.
22
Output:
23
BAB IV
PENUTUP
4.1 Kesimpulan
DAFTAR PUSTAKA
24
PRAKTIKUM ALGORITMA DAN PERMTOGRAMAN I
vii
BAB I
PENDAHULUAN
1.10 Tujuan
Tujuan praktikum sebagai berikut:
5. Untuk syarat nilai tugas, UAS, dan kelulusan matakuliah.
6. Mengenal dan memahami penggunaan statement perulangan.
7. Membuat program sederhana dengan menerepakan konsep perulangan.
8. Menjelaskan cara kerja program menggunakan konsep perulangan.
25
BAB II
DASAR TEORI
27
BAB III
PEMBAHASAN
int main(){
int x,y;
28
y++;
}while (y<=x);
}
Modul Program 3.1 Program Perulangan
Penjelasan:
Program ini menggunakan statement perulangan nested For, While, dan Do-While.
Dalam program ini diperintahkan untuk memasukkan nilai 5, saat program dijalankan akan
muncul hasil yang sama namun dengan proses berbeda. Perulangan yang dilakukan oleh
For telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi
terpenuhi, maka pernyataan akan terus dieksekusi. Perulangan yang dilakukan oleh While
adalah dicek dahulu kondisinya lalu di kerjakan sedangkan Do-While dikerjakan dahulu
kondisinya lalu dicek.
Output:
29
3.2 Program Perulangan Pertama 1
#include<iostream>
using namespace std;
int main(){
int x,y,z;
Penjelasan:
Program ini menggunakan perulangan For. Saat memasukkan nilai untuk bintang
maka akan ada keluaran bintang yang berbentuk segitiga siku-siku yang baris dan alasnya
sesuai dengan nilai yang di masukkan. Selama kondisinya benar akan menampilkan “ * ”
dan akan berhenti jika kondisinya salah. Setelah berhenti, program akan menjalankan
perintah untuk ganti baris. Program akan berhenti jika perulangan yang pertama bernilai
salah.
30
Output:
int main(){
int x,y,z;
31
cout << endl;
}
}
Modul Program 3.3 Program Perulangan Bintang 2
Penjelasan:
Program ini menggunakan nested For For Bersarang). Dalam program ini terdapat
dua pernyataan For. Saat nilai yang dimasukkan, pernyataan For pertama dijalankan maka
hasil yang keluar adalah segitiga siku-siku. Lalu pernyataan For kedua dijalankan, hasil
dari pernyataan kedua adalah segitiga siku-siku terbalik. Sebelum pernyataan For kedua
terdapat y=y-1;yang nilai y(nilai masukkan) akan dikurangai satu. Ini untuk membuat
hasil segitiga menjadi lancip.
Output:
int main(){
int w,x,y,z;
32
cout << "===========================" << endl;
cout << "Masukkan Nilai Bintang :";
cin >> y;
Penjelasan:
Program ini menggunakan nested For yang terdapat enam pernyataan For. Nilai
yang dimasukkan akan digunakan, pada For pertama untuk mengatur jumlah karakter
perbarisnya. Kemudian untuk For kedua untuk mengatur segitiga (“ “) spasi. For ketiga
mengatur jumlah bintang pada bagian segitiga siku-siku atas, kemudian For keempat sama
dengan For Pertama , kemudian For kelima juga sama dengan For kedua. Lalu For keenam
digunakan untuk mengatur jumlah bintang pada segitiga siku-siku bawah. Jumlah spasi dan
bintang ini tentunya di tentukan berdasarkan kondisi yang ada pada For masing-masing.
33
Output:
34
BAB IV
PENUTUP
4.1 Kesimpulan
Pada bahasa pemrograman, perulangan proses ditangani dengan satu mekanisme
yang dinamakan dengan nama loop. Dengan loop, satu proses yang berulang dapat
diimplementasikan dengan menggunakan statement-statement yang pendek, tanpa harus
menuliskan statement berulang ulang
35
DAFTAR PUSTAKA
36
KESIMPULAN UMUM
Bahasa pemrograman C++ didasarkan atas bahasa C sehingga compiler C++ dapat
digunakan untuk melakukan kompilasi program-program yang ditulis dengan bahasa C.
Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah
objek atau yang sering dikenal dengan istilah Object Oriented Programming (OOP).
Bahasa C++ merupakan case-sensitive yang besar kecil huruf harus diperhatikan
karena dapat mempengaruhi program. Dan ada beberapa hal yang perlu diingat bahwa
penulisan variable tidak boleh diikuti oleh tanda khusus kecuali garis bawah atau
underscore dan variable juga tidak diperbolehkan menggunakan spasi.
Tipe data C++ juga beragam tergantung kebutuhan programmer untuk
penggunaanya. Operator juga dipakai untuk operasi terhadap data tergantung kebutuhan
programmer untuk penggunaannya.
Statement pengendalian memiliki beberapa struktur kondisi yang dibedakan sesuai
fungsinya. Kapan menggunakan struktur kondisi if-else ataupun switch-case tergantung
program yang akan dibuat.
Salah satu kelebihan computer dibandingkan dengan manusia adalah
kemampuannya untuk melakukan istruksi berulang kali tanpa mengenal lelah dan bosan .
Struktur pengulangan digunakan untuk mengulang suatu perintah sebanyak yang
diinginkan.
viii
DAFTAR PUSTAKA
ix