PROGRAM MENGHITUNG DAFTAR NILAI SEMESTER (DNS)
DENGAN MENGGUNAKAN C++
Disusun Oleh :
VERI DEMANONGKAN
101288
EXTREME
PROGRAMMER COMPUTER
(STMIK)
DIPANEGARA
MAKASSAR
2012
B
A B I
P E N D A
H U L U A N
1.1
Latar
Belakang Masalah
Teknologi Informasi saat ini berkembang begitu cepat.Berbagai aplikasi sistem
informasi memungkinkan pemprosesan data dan laporan begitu cepat.Ragam
penggunaan teknologi mengakibatkan seluruh bidang kehidupan berubah,tidak
terkecuali intansi pemerintahan.Negara-negara berkembang maupun negara maju
pada saat ini dan di masa mendatang setiap saat dituntun untuk mengetahui
perkembangan informasi yang ada dari media teknologi informasi.Berbagai macam
aplikasi sistem informasi yang memungkinkan pemprosesan data dengan cepat juga
berkembang pesat berdasarkan kebutuhan manusia terhadap teknologi
informasi,salah satunyaC++.
Berbicara tentang
C++ dan C sebai bahasa pendahuluan,C merupakan hasil pengembangan dari bahasa B
termasuk bahasa pemograman tingkat menengah.Pencipta bahasa C adalah Brian
W.Kernighan dan Dennis M.Ritchie pada tahun 1972.Bahasa C itu sendiri merupakan
bahasa pemprograman terstruktur yang membagi program ke dalam sejumlah blok
(sub program).Tujuannya adalah untuk memudahkan dalam pembuatan dan
pengembangan program.Program yang ditulis dengan C mudah sekali dipindahkan dari satu jenis
mesin ke mesin lain.Hal ini karena adanya standarisasi C yaitu ANSI (American
National Standards Institute) yang menjadi acuan para pembuat compiler C.Bahasa C++ diciptakan satu dekade setelah
C.Bahasa C++ diciptakan oleh Bjarne Stroustroup dari Laboratorium Bell,AT&T
pada tahun 1983.Pada awalnya C++ diberi nama “Abetter C”.Nama C++ sendiri diberi
nama oleh Rick Mascitti.
Adapun tanda ++
berasal dari operator increment C++ diberi pada bahasa C.Keistimewaan C++
adalah karena bahasa ini mendukung OOP (Object Oriented Programming) .Tujuan
utama pembuatan C++ adalah untuk meningkatkan pakar setuju bahwa OOP dan C++
mampu mengurangi kompleksitas terutama program yang terdiri dari 10.000 baris
lebih,bahkan dapat meningkatkan produktivikasi 2x lipat dari C,Pascal dan
Basic.
1.2 Pokok
Permasalahan
Pokok permasalahan yang diangkat pada makalah
ini adalah metode penilaian yang digunakan dalam perkuliahan untuk 1
semester.Daftar Nilai Semester sendiri merupakan daftar yang berisi mata
kuliah,nilai,serta sks dari mata kuliah persemester.Untuk itu DNS dapat
membantu serta memudahkan mahasiswa dalam mengetahui informasi tentang nilai
dari mata kuliah yang telah diambil persemesternya,dan juga sebagai acuan dalam
penginputan mata kuliah berikutnya.
Program dibangun
atas 3 macam instruksi utama yaitu :
a.
Instruksi Berurutan (Sequential)
Instruksi berurutan
adalah instruksi yang harus dilaksanakan secara berrutan dengan kata lain
instruksi yang pertama ditulis akan dikerjakan pertama kali oleh sistem
komputer ,menyusul instruksi berikutnya,misalnya instruksi membaca data (READ, INPUT,
GET dsb) dan menampilkan atau (PRINT,DISPLAY,PUT,dsb)
b.
Instruksi Pemilihan (Selection)
Instruksi pemilihan
adalah instruksi yang dapat digunakan untuk memilih satu altrnatif untuk
dikerjakan diantara beberapa alternatif yang tersedia berdasarkan suatu
kondisi,instruksi pemilihan satu dari dua alternatif (IF/ELSE) dan pemilihan
dari beberapa alternatif (SWITCH,CASE,dsb)
c.
Instruksi Pengulangan (Repectition)
Instruksi pengulangan
adalah instruksi yang dipakai untuk melakukan pengulangan beberapa instruksi
lainnya,misalnya untuk mengulangi pembacaan data,mengulang pencetakan laporan
dbs.Termasuk dalam kelompok instruksi ini adalah instruksi pengulangan terbatas
(FOR),pengulangan berkondisi (WHILE,DO/WHILE).
1.3
Batasan
Masalah
Dalam Penelitian
ini,penulis hanya membahas khasus tentang Daftar Nilai Semester (DNS) pada
STMIK Dipanegara Makassar yang menyangkut masalah :
1.
Pengelolah data informasi Daftas Nilai
Semester (DNS)
2.
Pengunaan Script dalam pembentukan
sistem informasi tersebut.
1.4 Sistematika Penilisan
BAB I
: Pendahuluan
1.1
Latar Belakang Masalah
1.2
Pokok Permasalahan
1.3
Batasan Masalah
BAB II : Pembahasan Masalah
2.1
Konsep Dasar C++
2.2
Implementasi C++
2.3
Pembahasan Studi Kasus
2.4
Flowchart
BAB III : Penutup
1.1
Kesimpulan
1.2
Saran
B
A B II
P
E M B A H A S A N M A S A L A H
2.1
Konsep Dasar C++
C++ adalah salah satu bahasa
pemrograman yang powerful untuk membuat sebuah program.C++ adalah sebuah bahasa
tingkat menengah yang merupakan perkembangan dari C,dimana bahasa ini merupakan
bahasa pemrograman berorentis objek (tidak seperti pendahuluannya,C).Dikatakan
menengah karena bahasa ini berada di antara bahasa tingkat tinggi dan
rendah.Bahasa tingkat tinggi merupakan bahasa yang lebih “manusiawi”,karena
perintah-perintah dari bahasa ini lebih berorientasi kepada bahasa
manusia,Visual Basic (VB) dan Pascal adalah dua contoh bahasa tingkat tinggi.Sedangkan bahasa
tingkat rendah adalah bahasa yang lebih berorientasi kepada bahasa mesin
sehingga bahasa ini tidak terlalu “menusiawi”.
Program C++ dapat
dibuat menggunakan editor teks maupun editor sekaligus compilernya.Program
utama berekstensi (.CPP).Pada saat kompilasi program utama bersama dengan file
header(.h) akan diterjemakan oleh compiler menjadi file objek (.OBJ
).Selanjutnya file obyek ini bersama-sama dengan file obyek lain dan file
library (.LIB) dikaitkan menjadi satu oleh linker.Hasilnya adalah file (.EXE)
executable.
Dalam Program C++
dikenal juga Compiler yang digunakan untuk sebagai aplikasi dalam
pembuatan script C++.Compiler yang
telah beredar dipasaran antara lain Microsoft C/C++ dan Visual C++.Keduanya
Miicrosoft.Sementara Borland International juga mengeluarkan Turbo C++ dan
Borland C++.Sedangkan yang digunakan pada makalah ini adalah Turbo C++ :
Menu Bar
|
Jendela
Penulisan Listing
|
Message
windows
|
Gambar 2.1
. Jendela Turbo C++
|
2.1.1
Tipe Data
Tipe –tipe data yang dikenal dalam C++ adalah
sebagai berikut :
1.
Data
Numerik
Data
numeruk adalah data yang nilainya berupa bilangan yang dapat dipakai dalam perhitungan
numeric atau manipulasi matematis.Tipe data numerik ini dapat dibedakan atas
beberapa macam yaitu :
a
. Integer
Integer adalah tipe data bilangan bulat
(integer).Contoh penggunaan tipe int adalah :
Int
a = 1;
Int num1 = 2,num2 = 4;
Dalam nilai-nilai yang
masuk di assaign (masukkan) ke dalam
variabel – variabel bertipe int adalah angkah – angkah / bilangan bulat.Seperti
namanya, int hanya bisa bernilai bulat dan bukan pecahan (desimal).Dan jika
tipenya int lalu yang dimasukkan adalah hasil pembangian yang tidak bulat
hasilnya adalah :
Int hasil_bagi_bulat = 5 / 2;
Hasilnya
: 2
Ini
karena 5 dibagi 2 = 2,5 kemudian karena hasil_bagi_bulat adalah integer
(bilangan bulat) 2,5 kemudian dibulatkan menjadi 2.
b. Double
Double adalah tipe yang khusus untuk
bilangan yang tidak bulat alias desimal / pecahan. Contihnya :
double mydouble = 5.00;
double pecahan_pertama = 2.5, pecahan_kedua = 9.9;
2.
Data Karakter
Data Karakter
adalah data yang nilainya berupa karakter
termaksud angka,huruf,tanda-tanda baca dsb.Ada 2 macam data karakter
yaitu :
a. String
String
adalah tipe yang
khusus untuk menampung
semua masukan dari user / gabungan karakter yang sangat
panjang,misalnya:
string string_aku = “seperti ini contohnya string...”;
string string_aku = “seperti ini contohnya string...”;
b. Char
Char adalah tipe data karakter yang bisa
menyimpan mulai dari: a – z, A – Z, ‘!’, ‘@’, dsb. Penggunannya ± sama dengan
tipe - tipe yang sebelumnya:
char huruf = ‘c’;
char inisial1 =‘A’,inisial2 =‘W’;
char simbol = ‘#’;
char huruf = ‘c’;
char inisial1 =‘A’,inisial2 =‘W’;
char simbol = ‘#’;
3.
Data Logika
Data
logika adalah data yang memiliki nilai benar (true) atau salah (false),data ini dinyatakan dengan nol
untuk false dan bukan nol untuk true.Contoh dari data logika adalah
Bool.Bool adalah tipe yang hanya “menyimpan” nilai “benar” dan “salah” yaitu,true dan false (boolean)
2.1.2
Operator Aritmatika
Operator
Aritmatika merupakan operator yang digunakan untuk fungsi/operasi matematika,
operator aritmatika dasar untuk C++ dan tanpa proses include :
-
* : untuk perkalian
-
/ : untuk pembagian
-
% : untuk sisa hasil bagi
-
+ : untuk penjumlahan
- - : untuk pengurangan
tapi yang akan
dibahas kali ini adalah operator aritmatika dasar saja, tapi sekedar
pengetahuan saja, operator Aritmatika yang menggunakan file header math.h
seperti berikut :
pow(a,b) :
untuk pemangkatan
max() : untuk mencari nilai maximal
min() : untuk mencari nilai minimum
sqrt() : untuk menghitung akar suatu bilangan
Contoh
pemograman C++ sebagai berikut:
#include <string.h>
#include <iostream.h>
#include <conio.h>
main()
{
clrscr (); //clear scren
(membersihkan layar)
//mencetak hasil operator aritmatika
cout <<"Nilai dari 12 + 8
= " << 12 + 8<<endl;//operasi penjumlahan
cout <<"Nilai dari 12 - 8
= " << 12 - 8<<endl;//operasi pengurangan
cout <<"Nilai dari 12 * 8
= " << 12 * 8<<endl;//operasi perkalian
cout <<"Nilai dari 12 / 8
= " << 12 / 8<<endl;//operasi pembagian
getch();
}
Hasilnya adalah:
Gambar 2.2 . Tampilan
Penggunaan Operator
|
2.1.3 Deklarasi Variabel
Dalam
memprogram, keuntungan dari deklarasi variabel adalah bahwa variabel tersebut
dapat diubah-ubah nilainya dalam program tergantung kebutuhan. Untuk
menggunakannya, kita tidak bisa serta merta tiba-tiba menggunakan variabel
tersebut pada proses program. Variabel bisa di-compile dan dijalankan pada
program jika variabel tersebut telah dideklarasikan oleh pemrogram seperti pada
contoh-contoh di atas. Hal ini untuk memberitahu compiler supaya dia tahu
fungsi yang digunakan oleh programmer dan tipe datanya.
Bentuk umum deklarasi variable yaitu:
tipe_variabel
<space> nama_variabel; // jangan lupa titik koma pada setiap proses
Contoh deklarasi variabel:
char
a,b;//deklarasi variable a dan b
unsigned int
jumlah;//deklarasi var jumlah
float
rerata;//deklarasi var rerata
2.1.4 Input-Output
Di
ANSI C, operasi input dan output dilakukan dengan menggunakan fungsi-fungsi
yang ada di header file stdio.h.
contohnya untuk input dan output ke layer monitor digunakan perintah seperti printf, scanf, putch, dsb.
Untuk input dan output ke file digunakan
perintah seperti fread, fwrite, fputc,dsb.C++
mempunyai teknik input dan output yang baru, yaitu : menggunakan stream. Header file untuk input dan
output stream adalah iostream.h dan
beberapa file lain, seperti strstrea.h,
fstream.h, dan constrea.h.
Stream
adalah suatu logika device (peralatan logika) yang menghasilkan dan menerima
informasi atau suatu wadah yang digunakan untuk menampung keluaran dan
menampung aliran data. Stream adalah nama umum untuk menampung aliran data (contoh
: file, keyboard, mouse), maupun untuk keluaran (contoh : layer, printer).
Dalam C++ input berarti membaca dari
stream dan output berarti menulis ke stream.
Bentuk Umum Output operator :
Cout <<
ekspresi ;
Bentuk umum Input operator :
Cin >>
variable ;
Dalam C++, menggunakan
escape sequences untuk merepresentasikan suatu karakter yang tidak terdapat
dalam tradisional
symbol. Beberapa diantaranya :
\ n : linefeed / baris baru
\ b : back space
\ “ : petik ganda
T. Pemrograman Terstruktur 2 ( 1 ) Page
6 of 6
Contoh program versi ANSI C :
# include <stdio.h>
Void main ( )
{
Int x ;
Printf (
“Masukkan sebuah bilangan : \n” ) ;
Scanf (
“ %d ”, &x ) ;
Printf (
“Bilangan yang dimasukkan adalah %d\n “, x ) ;
}
Contoh program versi C++ :
# include <iostream.h>
Void main ( )
{
Int x ;
Cout << “Masukkan
sebuah bilangan : ” << endl ;
Cin >> x
;
cout << “Bilangan
yang dimasukkan adalah “ << x << endl ;
}
Contoh Program untuk input dan output :
# include <iostream.h>
Main ( )
{
Int a ;
Cout << “masukkan suatu bilangan
:” ;
Cin >> a ;
Cout << “nilai tersebut ditambah 1
= ‘ << a+1 ;
Return 0 ;
}
2.1.5 Header
dan Fungsi Main
Dalam pemrogaman c++ kita bakal menggunakan
sesuatu yang di sebut file header. File header merupakan sebuah library atau
kita sebut saja kamus yang menyimpan fungsi-fungsi yang akan kita gunakan. Ada
banyak macam file header misal,
·
stdio.h
·
conio.h
·
stdlib.h
·
dll
contoh :
#include <stdio.h>
fungsi include digunakan untuk
memasukkan file header dan file header yang kita gunakan di atas adalah
stdio.h.
sekarang kita bahas tentang void
main,pemrogaman c++ bersifat sequential (berurutan). Jadi program di baca dari
awal sampai akhir program.Void main merupakan sebuah fungsi awal. Jadi di void
main inilah program pertama kali dijalankan. lihat contoh:
void main( )
{
//statement(pernyataan)
}
Sebuah fungsi harus menggunakan tanda { dan }. Di dalam tanda inilah
statement-statement akan ditulis untuk membuat sebuah program. Sedangkan tanda
‘( )’ merupakan sebuah parameter. Untuk lebih jelasnya tentang parameter akan
di bahas pada bab fungsi.
2.2 Implementasi
Bahasa
C/C++ umumnya disajikan sebagai “compiler”
wlaupun ada juga bentuk implementasi yang mirip dengan “interpreter”.Implementasi yang disukai
adalah yang menggunakan "integrated development environment" (IDE)
dimana program dapat di-edit, di-compile, dan di-run path tempat yang sama.
Beberapa
fasilitas yang tersedia pada menu dan IDE ini, antara lain adalah
1.
File : berbagai fasilitas yang berkaitan dengan file
a. New dipakai untuk membuka file baru
b. Open dipakai untuk membuka file yang sudah ada
c. Save untuk merekam program yang sudah di-edit
d. Save As untuk merekam program baru
e. Print untuk mencetak file program
f. Printer Setup Setup untuk memilih printer dan
men-setup cetakan.
g. Exit keluar dari IDE
2.
Edit : menyediakan fasilitas untuk penyutingan program, antara lain :
a. Undo membatalkan koreksi yang barn dilakukan
b. Redo menerapkan kembali koreksi
yang barn saja dibatalkan
c.
Copy menyalin bagian yang dipilih
d.
Cut memotong begian teks yang telah dipilih
e. Paste memasang
bagian teks yang pemah di-copy
f. Clear membersihkan pilihan
3.
Search : membuat fasilitas untuk mencari dan mengganti teks tertentu
a.
Find mencari suatu teks tertentu pada file yang sedang diedit
b. Replace mengganti suatu
teks tertentu dengan teks lain.
4.
Project : memuat fasilitas untuk membuat provek nemrograman
a. New Project mendefinisikan suatu proyek baru
b. Open Project membuka
suatu proyek yang sudah ada
c.
Compile melakukan kompilasi suatu program dalam suatu proyek
d.Make All melakukan kompilasi dan
linking
5.
Debug : menyedikan fasilitas untuk membuat program
a. Run mencoba menjalankan program, jika ada
kesalahan muncul jendela error
b. Step Over mencoba program baris perbaris
2.3 Pembahasan
Studi Kasus
Bentuk dari Program Menghitung Daftar Nilai Semester (DNS)
adalah sebagai berikut:
1. Bentuk Input/ Masukan
User menginput data mahasiswa berupa stambuk, nama
mahasiswa, jumlah matakuliah, sks, serta, nilai akhir dari matakuliah yang
nantinya akan dihitung oleh program. Setelah menghitung data dan menyeleksi
pilihan berdasarkan kondisi yang ada maka user tinggal menekan tombol Enter
untuk mendapatkan hasil dari penginputan tersebut. Berikut tampilan dari proses
penginputan data dan daftar nilai semester :
Gambar 2.3 . Tampilan Proses
Menginput Data
|
2.
Bentuk Output / Keluaran
Setelah
User menginput data maka program akan menghitung bobot dari tiap matakuliah
serta menampilkan jumlah sks dan IPS
dari semester.
Gambar 2.4 . Tampilan
Output dari Program
|
Adapu bentuk penulisan listing dari program sistem
informasi Menghitung Daftar Nilai Semester (DNS) adalah sebagai berikut :
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int
s,i;
char
nama[20];
char
stb[6];
char
matkul[30][5];
char
nilai[3];
int
bobot[5] ;
int
sks[5];
int
hasil[5];
double
ipk;
int
jumlah,jsxb;
{
jumlah=
0 ;
jsxb=0;
cout<<"PROGRAM
DAFTAR NILAI SEMESTER (DNS)" <<endl;
cout<<"Input
Stambuk : "; cin>>stb;
cout<<"Input
Nama : "; cin>>nama;
cout<<"Berapa
Data :"; cin>>s;
for
(i=1;i<=s;i++)
{
cout<<"Data
: "<<i <<endl;
cout<<"Nama
Matakuliah :"; cin>>matkul[i];
cout<<"Input
Sks :"; cin>>sks[i];
cout<<"Input
Nilai Huruf :"; cin>>nilai[i];
if
(nilai[i]=='A')
{
bobot[i]
= 4;
}
else
if (nilai[i]=='B')
{
bobot[i]
= 3;
}
else
if (nilai[i]=='C')
{
bobot[i]
= 2;
}
else
if (nilai[i]=='D')
{
bobot[i]
= 1;
}
else
if (nilai[i]=='E')
{
bobot[i]
= 0;
}
hasil[i]
= sks[i] * bobot[i];
jumlah
= jumlah + sks[i];
jsxb=jsxb+hasil[i];
}
ipk=jsxb
/ jumlah;
clrscr();
cout<<"PROGRAM
DAFTAR NILAI SEMESTER (DNS)" <<endl;
cout<<""
<<endl;
cout<<"Stambuk
:" <<stb <<endl;
cout<<"Nama
:" <<nama <<endl;
cout<<"============================================="
<<endl;
cout<<"No.
Matakuliah Sks Nilai Bobot
S*B "
<<endl;
cout<<"--------------------------------------------------------------"
<<endl;
for
(i=1;i<=s;i++)
{
cout<<setiosflags(ios::left)<<setw(6)<<i;
cout<<setiosflags(ios::left)<<setw(12)<<matkul[i];
cout<<setprecision(ios::left)<<setw(9)<<sks[i];
cout<<setprecision(ios::left)<<setw(9)<<nilai[i];
cout<<setprecision(ios::left)<<setw(9)<<bobot[i];
cout<<setprecision(ios::left)<<setw(6)<<hasil[i]
<<endl;
}
cout<<"==============================================="
<<endl;
cout<<"Jumlah
Sks :" <<jumlah <<endl;
cout<<"I
P S :" <<ipk;
getch();
}
}
2.4 Flowchart
start
|
Char
stb,matkul, nama,nilai
Int
bobot,sks,jumlah,hasil,s,I,
jsxb
Double
ipk
|
Input Stambuk
,nama_mahasiswa,jumlah_data,nama matakuliah,sks,nilai
|
Nilai =
A
|
Bobot=4
|
Nilai
=B
|
Bobot=3
|
Nilai =
C
|
Bobot=2
|
Gambar 2.5 . Flowchart
|
Nilai =
E
|
Bobot=0
|
Output,Stambuk,nama_mahasiswa,jumlah_data,nama_matakuliah,sks,nilai,s*b,jumlah_sks,ipk
|
stop
|
Nilai =
D
|
Bobot=1
|
hasil = sks * bobot
jumlah = jumlah + sks
jsxb=jsxb+hasil
ipk=jsxb / jumlah
|
B
A B III
P
E N U T U P
3.1
Kesimpulan
Kesimpulan yang dapat kami tarik dari makalah ini yaitu :
1. Dari
uji coba yang telah kami lakukan di atas ternyata teknologi informasi saat ini
sangat berkembang ditandai dengan digunakannya aplikasi yang semakin canggih
tetapi mudah digunakan oleh semua kalangan dalam menyelesaikan pekerjaan yang
membutuhkan lebih banyak tenaga.
2. Masih
banyak aplikasi-aplikasi yang terintegritas dalam sistem operasi yang belum terlalu
diketahui dan dipahami oleh banyak orang padahal sangat bermanfaat untuk
digunakan.
3. Dengan
Sistem Informasi ini,kita bisa mengefisiankan waktu,tenaga dan fikiran dalam
penginputan ataupun kalkulasi Daftar Nilai Semester para mahasiswa di kampus.
3.2 Saran
1. Semoga
Tuhan ini bias menjadi referensi bagi para pembaca dan utamanya kawan-kawan
guna memperbaiki kekurangan – kekurangan dari makalah sehingga lebih
meningkatkan pengetahuan dalam dunia teknologi informatika.
2. Semoga
dengan Sistem Informasi ini,kemauan untuk lebih memahami dan mempelajari
analisa sistem serta penerapan di dunia Teknologi Informasi semakin terpacu.
3. Karena
apa yang penulis buat hanyalah sebagian kecil dari aplikasi yang bias
dimanfaatkan,maka perlu selanjutnya dikembangkan lagi sistem lain
terkomputerisasi.
1 komentar:
keren... thanx sob...
Posting Komentar