Professional Documents
Culture Documents
Makalah AlgoPro UAS-1
Makalah AlgoPro UAS-1
PENDAHULUAN
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.
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
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.
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.
2|Page
BAB III
PEMBAHASAN
3.1 Flow Chart
Mulai
Input :
NIM,nama,jumlah absen,
nilaitugas,UTS,UAS
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.
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();
}
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
Short int (short) Untuk menyimpan bilangan bulat 2 byte signed: -32768 to 32767
dengan jangkauan pendek unsigned: 0 to 65535
Long int (long) Untuk menyimpan bilangan bulat 4 byte signed: -2147483648 to 2147483647
dengan jangkauan panjang unsigned: 0 to 4294967295
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)
c. Operator Aritmatika
d. Operator Relasi
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)
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.
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)
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.
Daftar Pustaka
14 | P a g e
Modul algoritma dan pemrograman
15 | P a g e