You are on page 1of 15

BAB I

PENDAHULUAN

1.1 Latar belakang


Pemrograman dalam struktur data ada beberapa macam,salah satunya adalah pemrograman
C++.Dalam pemrograman ini biasanya menggunakan variable struktur,if ,goto.

Program yang kami buat untuk menampilkan contoh program menghitung niali akhir
mahasiswa dengan menggunakan struct,seleksi kondisi,sintaks input dan output. Dimana
akan dioprasikan pada saat perihitungan niali akhir mahasiswa dilakukan.

Program ini dibuat untuk mempermudah perhitungan nilai akhir mahasiswa beserta grade
yang didapat tanpa harus mengitung secara manual.

1.2 Maksud dan Tujuan


Maksud dan tujuan di buat atau disusunya makalah ini yaitu untuk menyelesaikan salah satu
mata kuliah Algoritma dan Pemrograman. Agar mendapat nilai UAS pada mata kuliah Algoritma
dan Pemrograman.

Selain itu, penulis berharap di buatnya makalah ini bukan hanya untuk memenuhi Nilai UJian
Akhir Semester 1 yang di berikan semata, akan tetapi bisa membantu kita semua dalam hal
mempelajari ilmu pengetahuan Pemograman C++ ini. Harapan penulis yaitu semoga makalah ini
tidak hanya bermanfaat bagi penulis akan tetapi sangat-sangat bermanfaat khususnya juga bagi
para pembaca atau kita semua yang membutuhkan untuk referensi ataupun salah satu sarana
untuk menambah wawasan dalam hal ilmu pengetahuan Pemograman C++. Semoga makalah ini
bisa bermanfaat khususnya bagi penulis dan kita semua amin.

Ruang Lingkup
Penelitian ini akan mencangkup cara membuat makalah yang baik dan benar dengan
memperhatikan tanda baca, cara penulisan, dan tata bahasa yang baik dan benar.

1|Page
BAB II

LANDASAN TEORI

2.1 Sejarah C++


 Sejarah Perkembangan Bahasa C

Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W.
Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B
yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan oleh bahasa sebelumnya,
yaitu BCL. Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan
pada sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman tingkat menengah yaitu
diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat
Menengah. Bahasa C mempunyai banyak kemampuan yang
sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE,
Word Star dan lain-lain.

 Sekilas Tentang C++

Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal
dari bahasa C yang dinamakan “C with Classes” yang pada mulanya disebut “a better C” dan
berganti nama pada tahun 1983 menjadi C++ oleh Rick Mascitti, dibuat di Laboratorium Bell,
AT&T. Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya
yang disebut dengan Object Oriented Programming (OOP), yang mempunyai tujuan utamanya
adalah membantu dan mengelola program yang besar dan kompleks.

 Perbedaan Antara Bahasa C Dengan C++

Bahasa C merupakan bahasa pemrograman prosedural, di mana penyelesaian atas suatu


masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah yang lebih
kecil. Sedangkan C++ merupakan bahasa pemrograman yang memiliki sifat Object Oriented
Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan
mendefinisikan class-class yang merupakan a.-class yang dibuat sebelumnya sebagai abstraksi
dari objek-objek fisik. Class tersebut berisi keadaan objek, anggota-anggotanya, dan kemampuan
dari objeknya. Setelah beberapa class dibuat, masalah dipecahkan menggunakan class.

2.2 Peralatan Pendukung


Peralatan yang kami gunakan untuk membuat makalah ini adalah laptop, charger laptop,
flashdisk.

2|Page
BAB III
PEMBAHASAN
3.1 Flow Chart

Mulai

Input :
NIM,nama,jumlah absen,
nilaitugas,UTS,UAS

Nilai Akhir =(nilai UAS*30%) + (Nilai


UTS*25%) + (nilai Tugas*20%) +
(jumlah absen*5*25%)

Nilai Akhir
Y print :
>=85 NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir
, dan nilai A.

N
Nilai Akhir
Y print :
>=70 NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir
, dan nilai B.

N
Nilai Akhir Y print :
>=55 NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir
, dan nilai C.

N
Y print :
Nilai Akhir
>=40
NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir
, dan nilai D.

Nilai Akhir Y print :


<40 NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir
, dan nilai E

Selesai

3|Page
3.2 Pseudocode
1. Masukan ( NIM,nama,jumlah absen,nilai tugas,UTS,UAS,nilai akhir) // memberikan tipe data
pada masing-masing variabel
2. Baca ( NIM,nama,jumlah absen,nilai tugas,UTS,UAS,nilai akhir) // membaca masukan dari user
dan menempatkan ke variabel NIM,nama,jumlah absen,nilai tugas,UTS,UAS,nilai akhir
3. Nilai akhir← (nilai UAS*30%) + (Nilai UTS*25%) + (nilai Tugas*20%) + (jumlah
absen*5*25%) // menyatakan Jumlah nilai dari perhitungan (nilai UAS*30%) +
(Nilai UTS*25%) + (nilai Tugas*20%) + (jumlah absen*5*25%)
4. JIKA Nilai akhir >= 85 MAKA // lakukan statement JIKA saat Nilai akhir lebih dari //sama
dengan 85
 Lakukan print NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir, dan nilai A. //
tampilkan NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir, //dan nilai A
AKHIR-JIKA // akhir dari statement JIKA
5. JIKA Nilai akhir >= 70 MAKA MAKA // lakukan statement JIKA saat Nilai akhir //lebih dari
sama dengan 70
 Lakukan print NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir, Nilai B. //
NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir dan //nilai B
AKHIR-JIKA // akhir dari statement JIKA
6. JIKA Nilai akhir >= 55 MAKA // lakukan statement JIKA saat Nilai akhir lebih dari //sama
dengan 55
 Lakukan print NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir, Nilai C. //
tampilkan NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir dan //nilai C
AKHIR-JIKA// akhir dari statement JIKA
7. JIKA Nilai akhir >= 40 MAKA // lakukan statement JIKA saat Nilai akhir lebih dari //sama
dengan 40
 Lakukan print NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir , Nilai D. //
tampilkan NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir dan //nilai D
AKHIR-JIKA// akhir dari statement JIKA
8. JIKA Nilai akhir <40 MAKA // lakukan statement JIKA saat Jumlah Nilai kurang dari //40
 Lakukan print NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir,Nilai E. //
tampilkan NIM,J.Absen,N.tugas,N.UTS,N.UAS ,N.Akhir dan nilai E

4|Page
3.3 Listing Codingan
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
#include <windows.h>

main()
{
char lagi;
struct
{
int nim, tugas,uts,uas,na,absen;
char nama[30], nh;
}mahasiswa[25];
int i, data;

system("COLOR F1");

cout<<"====================================================="<<endl;
cout<<"Fani Adi Kuncoro (12164733)"<<endl;
cout<<"====================================================="<<endl;
cout<<"M. Ganta Prasetyo (12164119)"<<endl;
cout<<"====================================================="<<endl;
cout<<"Nurfatha Reza L. (12161942)"<<endl;
cout<<"====================================================="<<endl;
cout<<"Feny Ramadhani (12162805)"<<endl;
cout<<"====================================================="<<endl;
cout<<"Paulina Mega Rahmawati (12163384)"<<endl;
cout<<"====================================================="<<endl;
cout<<"Rani (12164084)"<<endl;
cout<<"====================================================="<<endl;
getch();
awal:
clrscr();
system("COLOR F1");
cout<<"\t\t Program Menghitung Nilai Akhir Mahasiswa\n"<<endl;
cout<<"Silahkan Masukan Jumlah Data Mahasiswa, NIM, Nama, Nilai Tugas, Jumlah Absen,\
nNilai UTS serta Nilai UAS"<<endl;
cout<<endl;

5|Page
cout<<"Masukan Jumlah Data Mahasiswa = ";cin>>data;
for(i=1; i<=data; i++)
{
cout<<"\n====================================================="<<endl;
cout<<"Data ke-"<<i<<endl;
cout<<"Masukan NIM : ";cin>>mahasiswa[i].nim;
cout<<"Masukan Nama : ";gets(mahasiswa[i].nama);
cout<<"Masukan Jumlah Absen : ";cin>>mahasiswa[i].absen;
cout<<"Masukan Nilai Tugas : ";cin>>mahasiswa[i].tugas;
cout<<"Nilai UTS : ";cin>>mahasiswa[i].uts;
cout<<"Nilai UAS : ";cin>>mahasiswa[i].uas;
mahasiswa[i].na=(mahasiswa[i].tugas*20/100)+(mahasiswa[i].absen*5*25/100)+
(mahasiswa[i].uts*25/100)+(mahasiswa[i].uas*30/100);
if(mahasiswa[i].na>85&&mahasiswa[i].na<=100)
{ mahasiswa[i].nh='A';}
else if(mahasiswa[i].na>70&&mahasiswa[i].na<=85)
{ mahasiswa[i].nh='B';}
else if(mahasiswa[i].na>55&&mahasiswa[i].na<=70)
{ mahasiswa[i].nh='C';}
else if(mahasiswa[i].na>40&&mahasiswa[i].na<=55)
{ mahasiswa[i].nh='D';}
else
{ mahasiswa[i].nh='E';}
cout<<endl;
}
clrscr();
system("COLOR F1");
cout<<"Lembar Hasil Nilai Akhir dan Grade"<<endl;
cout<<"\
n====================================================================
============"<<endl;
cout<<"I No. I Nama I NIM I J.Absen I N.Tugas I N.UTS I N.UAS I N.Akhir I N.Huruf
I"<<endl;
for(i=1; i<=data; i++)
{

cout<<"===============================================================
================="<<endl;

6|Page
cout<<"| "<<i<<" | "<<mahasiswa[i].nama<<" | "<<mahasiswa[i].nim<<" |
"<<mahasiswa[i].absen<<" | "<<mahasiswa[i].tugas<<" | "<<mahasiswa[i].uts<<" |
"<<mahasiswa[i].uas<<" | "<<mahasiswa[i].na<<" | "<<mahasiswa[i].nh<<" |"<<endl;
}
cout<<"\n\n Ingin Input Data Ulang? [Y/N] :";cin>>lagi;
if (lagi=='Y' || lagi=='y')
goto awal;
getch();
}

3.4 Hasil Input

7|Page
3.5Hasil Output

8|Page
9|Page
3.6 PENJELASAN PROGRAM

a. File Header
#include <iostream.h>
File header ini ditulis dengan diikuti using namespace std;Memiliki beberapa perintah umum
seperti cout untuk output dan cin untuk input.
#include <stdio.h>
File header ini merupakan singkatan dari standar input output.jadi sudah jelas kalau perintah
yang ada dijadikan sebagai standar input dan output.Contoh perintah : scanf , gets , printf , puts ,
putchar.
#include <conio.h>
File header ini merupakan singkatan dari console input and output dan digunakan untuk
membuat teks antarmuka pengguna.Contoh perintah : getchar, getch, getche ,clrscr()
#include <iomanip.h>
File header ini digunakan untuk menampilan perintah Setiosflags() dan berfungsi untuk
mengatur jumlah digit decimal dibelakang koma
#include <windows.h>
File header ini digunakan untuk menampilan perintah System yang berfungsi untuk memberi
warna tulisan pada tampilan Borland C++

b. Tipe Data

Tipe Data Keterangan Ukuran Jangkauan

Char Untuk menyimpan karakte 1 byte signed: -128 to 127


unsigned: 0 to 255

Wchar_t Untuk menyimpan karakter lebar 2 byte 1 karakter lebar


biasanya untuk unicode

Short int (short) Untuk menyimpan bilangan bulat 2 byte signed: -32768 to 32767
dengan jangkauan pendek unsigned: 0 to 65535

Int Untuk menyimpan bilangan bulat 4 byte signed: -2147483648 to 2147483647


dengan jangkauan menengah unsigned: 0 to 4294967295

Long int (long) Untuk menyimpan bilangan bulat 4 byte signed: -2147483648 to 2147483647
dengan jangkauan panjang unsigned: 0 to 4294967295

Float Untuk menyimpan bilangan cacah 4 byte 3.4e +- 38 (7 digit)

Double Untuk menyimpan bilangan cacah 8 byte 1.7e +- 308 (15 digits)

10 | P a g e
dengan ketelitian ganda

Long double Untuk menyimpan bilangan cacah 8 byte 1.7e +- 308 (15 digits)
dengan ketelitian ganda lebih detail
(panjang)

Bool Untuk pernyataan true or false I byte True or false

c. Operator Aritmatika

Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan,


pengurangan, pembagian, dan modulo (atau sisa pembagian).

d. Operator Relasi

fungsi yang membandingkan dua nilai variabel/operand untuk menentukan keterkaitan


hubungan keduanya

e. Operatoor Logika

11 | P a g e
Operator ini berfungsi untuk menentukan nilai kebenaran dari masing-masing nilai
variabel/operand pembentuknya.Sifat dari nilai adalah true dan false ( boolean ). Simbol dari
operator logika diantaranya :

f. Perulangan ( Looping)

Struktur pengulangan digunakan untuk mengulang suatu perintah sebanyak yang


diinginkan.Untuk melakukan perintah dengan melakukan banyak perulangan akan lebih efisien
apabila kita menggunakan perulangan.Ada beberpa percabangan dalam C++ yaitu : for,nested
for,goto,while,do..while.

g.Statement goto (label)

Dalam bahasa pemrograman c++ memiliki statement goto yang digunakan agar program
melompat ke baris yang telah ditentukan.Untuk menggunakan statement goto,maka diperlukan
juga label untuk menandakan kemana program tersebut akan melompat .Label tersebut dapat di
tulis seperti LABEL : atau nama-nama yang lain. Statement goto dapat ditempatkan dimana saja
sesuai dengan kebutuhan program.

h.Seleksi Kondisi

 Bentuk If tunggal
Sintak dari bentuk if tunggal adalah sebagai berikut :
If (kondisi)
{pernyataan;}
Bentuk ini menunjukkan bahwa jika kondisi tersebut dipenuhi,maka pernyataan
dalam if akan dijalankan. Sebaliknya jika kondisi tersebut tidak dipenuhi maka
pernyataan dalam if juga tidak akan dijalankan.
 Bentuk if-else
Sintak dari bentuk if-else adalah sebagai berikut :
If(kondisi)
{pernyataan1;}
Else
{pernyataan2;}
Jika kondisi di dalam if dipenuhi maka pernyataan1 dijalankan. Sebaliknya jika
kondisi if tidak dipenuhi maka pernyataan2 baru dijalankan.

 Bentuk if-else if-…..-else

12 | P a g e
Penyelesksian akan dilakukan mulai dari kondisi yang pertama (kondisi1). Jika
kondisi ini dipenuhi maka pernyataan yang mengikuti akan dijalankan (pernyataan1) dan
seleksi kondisi dihentikan (kondisi-kondisi yang lain tidak akan diperiksa).
Namun jika kondisi tidak dipenuhi maka seleksi kondisi langsung dilanjutkan ke
kondisi2. Jika kondisi2 dipenuhi maka pernyataan2 dijalankan,namun jika tidak maka
seleksi dilanjutkan ke kondisi 3. Begitu seterusnya . jika semua kondisi tidak yang
bernilai benar maka pernyataan yang ada di else yang akan dijalankan. Bentuk else
sendiri bersifat optional,dapat tidak digunakan.
Bentuk ini disebut juga sebagai bentuk bertingkat. Sintak dari bentuk ini adalah
sebagai berikut :
If(kondisi1)
{pernyataan_1;}
Else if(kondisi1)
{pernyataan_2}
Else if(kondisi3)
{pernyataan_3;}
….
Else {pernyataan_n;}

 Struktur (struct)

Struktur adalah pengelompokan variable-variabel yang bernanung dalam satu nama


yang sama.

Bentuk umum :

Struct

Elemen_struktur;

……

}nama_tipe_struktur;

BAB IV
13 | P a g e
PENUTUP

4.1 Kesimpulan

Algoritma merupakan urutan langkah-langkah yang logis, efisien, berstruktur dan efektif
dalam meyelesaikan suatu permasalahan, dan algoritma yang telah dibuat dapat diterjemahkan ke
dalam bahasa pemrograman untuk menguji keberhasilan atau kebenarannya. Algoritma yang
benar tentunya mampu menyelesaikan masalah-masalah yang akan di selesaikan menggunakan
algoritma itu sendiri.

4.2 Kritik dan Saran


Saran
1. Semoga makalah ini menjadi sebuah titik pendorong bagi pemula yang ingin belajar
bahasa C++ secara mendalam
2. Semoga makalah ini menjadi pegangan pembaca dalam memahami setiap sintaks umum
yang ada pada bahasa C++
3. Diharapkan makalah ini berguna dan dapat menjadi sarana pembelajaran oleh pembaca
dan menjadi lebih paham mengenai program dan aplikasi lain pendukungnya

Daftar Pustaka

14 | P a g e
Modul algoritma dan pemrograman

15 | P a g e

You might also like