Kamis, 05 April 2012

CONTOH MAKALAH


PROGRAM MENGHITUNG DAFTAR NILAI SEMESTER (DNS)
DENGAN MENGGUNAKAN C++




 LOGO


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...”;
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 = ‘#’;

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:

Anonim mengatakan...

keren... thanx sob...