Anda di halaman 1dari 46

LAPORAN PROYEK

DASAR PEMOGRAMAN
PROGRAM PERHITUNGAN NILAI IPK

D
I
S
U
S
U
N
OLEH:
SANDY HENDRAWAN (140402080)

LABORATORIUM SISTEM PENGATURAN & KOMPUTER


DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
2015

BAB I
PENDAHULUAN

1.1

Latar Belakang

Saat ini perkembangan teknologi telah banyak membantu kita dalam melakukan
aktivitas sehari-hari. Dalam bidang pemrogaman, banyak para programmer membuat
aplikasi untuk member kemudahan bagi masyarakat agar dapat melakukan aktivitas
dengan mudah dan menghemat waktu dalam mengerjakan aktivitas tersebut.

Dalam dunia pendidikan telah banyak kemajuan di bidang teknologi yang


dapat mempermudah para pengajar dan juga pelajar. Dalam dunia kampus kita
mengenal yang namanya IP ( Indeks Prestasi ) dan IPK ( Indeks Prestasi Kumulatif ).
Menghitung nilai IP memerlukan rumus tersendiri dengan penilaian dengan
menggunakan abjad A, B, C, D, dan E serta terdapat nilai berupa B+ dan C+ yang
menunjukkan bahwa nilai tersebut lebih tinggi atau lebih rendah dari nilai di abjad
lain. Berikut adalah tabel nilai yang digunakan dalam proyek ini :

IPK

Peringkat Huruf

Nilai

Keterangan

89 - 100

Sangat Baik

3.5

B+

82 - 88.5

75 81.5

Baik

2.5

C+

67.5 74

60 - 66.5

Sedang

50 - 59

Buruk

0 - 49

Sangat Buruk

Tabel 1.1 Penilaian Indeks Prestasi

1.2

Rumusan Masalah

Pada laporan ini akan dibahas cara membuat program untuk menghitung nilai IP
( Indeks Prestasi ) dan IPK ( Indeks Prestasi Kumulatif ). Bagaimana cara kerjanya?
Fungsi apa saja yang digunakan? Bagaimana cara menggunakan fungsi tersebut?

1.3

Tujuan

Adapun tujuan dari penulisam laporan ini adalah :


1.
2.
3.
4.
5.

Memudahkan dalam membuat program dengan bahasa C


Mengetahui cara pembautan bahasa C
Mengatahui metoda pemilihan dan perulangan dalam bahasa C
Membuat aplikasi untuk menghitung nilai IP dan IPK
Sebagai syarat kelulusan praktikum Dasar Pemrograman

BAB II
DASAR TEORI

2.1

Algoritma

Algoritma adalah kumpulan langkah-langkah atau kode-kode yang jumlahnya


berhingga dan tersusun secara sistematis untuk menyelesaikan suatu masalah dalam
program. Untuk mempresentasikan sebuah progam kita bisa menggunakan flowchart.

2.2

Flowchart

Flowchart adalah sebuah diagram yang

umum yang mempresentasikan sebuah

algoritma atau proses menggunakan beberapa bangun geometri untuk memperlihatkan


langkah-langkah yang dilakukan oleh program dalam menyelesaikan masalah. Secara
umum, flowchart juga digunakan di berbagai bidang untuk menganalisis, mendesain,
mendokumentasi, atau mengelola suatu proses atau program. Berikut adalah bangunbangun geometri yang digunakan dalam flowchart.
Bangun Geometri

Keterangan
Digunakan untuk mewakili simbol Start (mulai) atau
End (akhir)

Digunakan untuk menunjukkan alur proses. Sebuah


anak panah bermula dari satu simbol berakhir di
simbol lain, menunjukkan bahwa kendali berpindah
ke simbol yang ditunjuk oleh anak panah tersebut

Digunakan untuk menunjukkan langkah pemrosesan


seperti perhitungan dan instruksi-instruksi lain

Digunakan untuk mewakili input atau output

Digunakan untuk menyatakan keputusan (decision)

Tabel 2.1 Diagram untuk flowchart

2.3

Keputusan

Umumnya Bahassa Pemrograman menyediakan beberapa struktur yang dapat


digunakans ebagi alat pengambilan keputusan tentang instruksi mana yang akan
dikerjakan berdasarkan suatu kondisi tertentu yang diberikan, kerena struktur ini akan
mengubah alur langkah pengerjaan instruksi, maka struktur ini lazim juga dikenal
sebagai struktur pencabangan.
2.3.1

Struktur If

Struktur kendali yang paling sederhana dalam bahasa pemrograman. if digunakan


untuk mengeksekusi suatu pernyataan jika sebuah ekspresi tertentu memberikan nilai
benar. bentuk umum struktur if adalah :

if(ekspresi)
pernyataan;

Gambar 2.1 Alur pengerjaan struktur if


2.3.2

Struktur If Else

Pernyataan if juga menyertakan suatu yang lain untuk eksekusi jika ekspresi yang di
evaluasi memberikan nilai salah. Dalam hal ini, bentuk umumnya adalah :
if(ekspresi)
pernyataan1;
else
pernyataan2;

Gambar 2.2 Alur pengerjaan struktur if-else


2.3.3

Struktur Else If

Jika sebuah penrnyataan mempunyai struktur if lain didalam pernyataan else-nya,


maka program itu dapat disempurnakan keterbacaanya dengan menggabungkannya.
sehingga seolah - olah membentuk sebuah struktur baru yaitu else if.

Gambar 2.3 Alur pengerjaan struktur else-if


2.3.4

Struktur Switch

C menyediakan struktur lain yang dapat dugunakan untuk pengambilan keputusan.

Struktur ini bekerja dengan cara mengendalikan program pada suatu keadaan,
sedemikian hingga semua iliha merupaka nilai - nilai alternatif tertentu yang
berbentuk ekspresi integer. Struktur ini disebut dengan switch dengan kata kunci
switch. Secara umum struktur switch dapat dinyatakan sebagai berikut.
switch(ekspresi)
block pernyataan;
Didalam block pernyataan juga terdapat label case dan sebuah konstanta
integer, yang menunjukan pilihan yang akan dilaksanakan apabila konstanta integer
setelah label case tersebut terpenuhi. Pada akhir setiappilihan, biasanya diikuti dengan
pernyataan break yang menyebabkan kendali berpindah ke akhir block struktur switch

Gambar 2.4 Alur pengerjaan struktur switch

2.4

Perulangan

Sistem pengulangan adalah struktur program yang digunakan unutk melaksanakan


suatu pernyataan secara berulang ulang. Meskipun dalam perulangan ini, pernyataan
yang sama dilaksanakan secar berulang ulang, namun data yang diproses oleh
pernyataan itu harus berubah pada setiap itersi perulanga, karena jika tidak demikian,
pengulangan yang tidak dilakukan tidak memiliki arti.

Dalam bahasa program C memiliki tiga struktur pengulangan yaitu : for ,


while, do-while. Masing-masing struktur pengulangan memiliki keistimewaan sendirisendiri yang secara terperinci akan dibahas pada bagian-bagian berikut ini.
2.4.1

For

Perulangan for melakukan sejumlah iterasi yang telah ditetapkan. Pada bentuk ini
terdapat tiga ekspresi yang digunakan untuk mengendalikan proses pengulangan.
Bentuk umum sistem perulangannya adalah :
For(ekspresi1; ekspresi2;ekspresi3)
Pernyataan;
2.4.1

While

Perulangan while membentuk suatu struktur pengulangan yang akan mengulang


pelaksanaan pernyataan didalam badan pengulangan selama ekspresi yangdiperiksa
bernilai benar. Struktur pengulangan ini juga merupakan struktur pengulangan syaratmasuk seperti pengulangan for. Adapun bentuk umum pengulangan while adalah
sebagai berikut :
While(ekspresi)
Pernyataan;

10

Gambar 2.5 Alur pengerjaan struktur while


Ekspresi dapat berupa sembarang ekspresi conditional yang harus dipenuhi
agar pengulangan dilaksanakan. Pernyataan dapat berupa sebuah pernyataan tunggal
yang diakhiri dengan titik koma ataupun sebuah block pernyataan yang dimulai
dengan kurung kurawal buka dan diakhiri dengan kurawal tutup. Pengujian ekspresi
dilakukan setiap kali sebelum badan pengulangan dilaksanakan, sampai pengujian
ekspresi memberikan nilai salah. Selama ekspresi bernilai benar, pernyataan akan
dilaksanakan dan ekspresi diuji kembali.
2.4.2

Do While

C menyediakan satu buah struktur pengulangan lain yang melakukan pengujian


terhadap ekspresi setelah selesau melaksanakan badan pengulangan setiap kali selesai
iterasi. Dengan perkataan lain, pengujian dilakukan debagian akhir setelah melalui
badan pengulangan, sehingga badan pengulangan pernah dilaksanakan, paling sedikit
satu kali. Pengulangan tersebut adalah pengulangan do while. Karena pengujian
ekspresi dilakukan setelah iterasi dilakukan pengulangan do-while ini dikenal sebagai
pengulangan syarat keluar(exit condition loop). Bentuk dari do while adalah
Do

11

Pernyataan;
While(ekspresi);

Gambar 2.6 Alur pengerjaan struktur do-while


Umumnya pengulangan do-while

lebih sedikit digunakan dibandingkan

dengan perulangan while dan for. Akan tetapi dalam hal-hal tertentu, kadang kadang
lebih cepat jika kita menggunakan do while, yaitu apabila badan pengulangan
hendak dilakukan paling sedikit satu kali. Hal hal yang tepat unutk keadaan ini
adalah meminta kepada user untuk memberikan kata sandi , memberikan jawaban ya
atau tidak apakah perlu pemrosesan ulang dan sebagainya.

2.5

Fungsi

Suatu fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan
suatu tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya.
Fungsi-fungsi merupakan elemen utama dari program bahasa C. Program dari bahasa
C dibentuk dari kumpulan fungsi, mulai dari fungsi utama dengan nama main(),
fungsi-fungsi pustaka (standar) dan fungsi-fungsi yang dibuat sendiri oleh pemrogram.

12

Fungsi-fungsi banyak digunakan dengan dua alasan utama. Yakni, fungsifungsi menjadikan program C mempunyai struktur yang jelas dan fungsi-fungsi dapat
digunakan untuk menghindari penulisan yang sama yang ditulis secara berulangulang.
Mendefinisikan Fungsi
tipe nama-fungsi(argumen1, argumen2,)
{
tubuh fungsi
}
2.5.1

Deklarasi Fungsi

Suatu fungsi yang memberikan hasil balik selain tipe int perlu dideklarasikan sebelum
digunakan. Dengan demikian jika suatu fungsi tidak dideklarasikan, maka akan
dianggap fungsi tersebut memberikan hasil balik berupa nilai tipe int.
tipe nama-fungsi();

//titik koma harus ditulis

Untuk deklarasi fungsi, argumen-argumen fungsi tidak perlu dituliskan. Tipe adalah
tipe dari fungsi yang akan digunakan dan harus sama dengan tipe fungsi yang
didefinisikan. Jika bagian dari program yang menggunakan fungsi diletakkan sebelum
definisi dari fungsi, maka deklarasi fungsi diperlukan. Akan tetapi jika bagian dari
program yang menggunakan fungsi terletak setelah definisi dari fungsi, maka
deklarasi dari fungsi dapat tidak dituliskan.
2.5.2

Prototype Fungsi

Deklarasi dari fungsi ditulis tanpa dengan menyebutkan argumen-argumen fungsinya.


Sebenarnya argumen-argumen dari fungsi dan tipe datanya dapat juga dituliskan.
Deklarasi seperti ini disebut dengan prototype fungsi. Dengan menyebutkan prototype
fungsi, maka kompiler C akan dapat memeriksa tipe-tipe data melalui parameter-

13

parameter yang dikirimkan dari program yang menggunakannya (parameter-parameter


ini disebut dengan parameter nyata). Jika tipe-tipe data parameter nyata yang
dikirimkan ke fungsi tidak sesuai dengan tipe-tipe parameter formalnya, maka
kesalahan kompilasi dapat ditunjukkan oleh kompiler untuk tipe data yang tidak
cocok. Penggunaan prototype dari fungsi ini bukan sesuatu keharusan. Akan tetapi
penggunaan prototype ini sebagai pengganti deklarasi fungsi yang lebih disarankan.
Contoh :
#include<stdio.h>
double Absolute(double X); //prototype fungsi Absolut
main()
{
float nilai;
Nilai = -123.45;
printf(%7.2f nilai mutlaknya adalah %7.2f\n,Nilai.
Absolut(Nilai));
}
//Fungsi untuk memutlakkan nilai negatif
double Absolut (double X) //definisi fungsi
{
if(X<0) X=-X;
return(X);
}
2.5.6 Hasil Balik Funsi
Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. Suatu fungsi dapat
hanya melakukan suatu tugas saja tanpa memberikan suatu hasil balik atau melakukan
suatu tugas dan kemudian memberikan suatu hasil balik. Fungsi yang hanya
melakukan suatu tugas saja tanpa memberikan hasil balik misalnya adalah fungsi
untuk menampilkan hasil di layar.
Jika suatu fungsi memberikan hasil balik, maka hasil balik yang diberikan oleh
fungsi dapat dilakukan oleh statement return yang diikuti oleh nilai hasil baliknya
yang ditulis dalam tanda kurung.

14

BAB III
RANCANGAN PROYEK

3.1

Algoritma

Adapun algoritma yang digunakan dalam program perhitungan nilai IPK( Indeks
Prestasi Kumulatif ) adalah sebagai berikut:
a. Start

15

b. Masukkan nama dan nim


c. Pilih semester
d. Pilih nilai untuk setiap mata kuliah. Jika semester yang dipilih adalah semester
pertama maka selanjutnya adalah mengisi pilihan semester dua atau keluar, tetapi
jika semester yang dipilih adalah semester dua maka selanjutnya adalah pilihan
mengisi semester satu atau keluar.
e. Hitung nilai IP( Indeks Prestasi ) Semester satu dan dua
f. Hitung nilai IPK( Indeks Prestasi Kumulatif )
g. Keluar ( end )

3.2

Flowchart

BAB IV
ANALISA PROYEK

3.1

Pseudo Code

Adapun pseudo code yang digunakan dalam program perhitungan nilai IPK( Indeks
Prestasi Kumulatif ) adalah sebagai berikut:
a. Input nama dan nim
b. Input pilihan semester
c. Input nilai mata kuliah

16

d. If sem = 1 , maka IP semester satu


nilai pengembangan diri dan motivasi
e. Print IP semester satu dan IPK
f. Input pilihan semester dua atau keluar
g. If pilihan = 1 , maka IP semester dua

nilai kalkulus + nilai fisika + +

nilai matematika teknik + nilai

fisika + nilai praktikum dasar teknik digital


h. IPK = (IP semester 1 + IP semester 2 ) / 2
i. Print IP dan IPK

3.2

Hasil Keluaran

Gambar 4.1 Input nama dan nim

17

Gambar 4.2 Pilih semester

Gambar 4.3 Isi nilai mata kuliah

18

Gambar 4.4 Nilai tiap mata kuliah semester satu

Gambar 4.5 Nilai IP semester satu dan nilai IPK

19

Gambar 4.6 Isi nilai mata kuliah semester dua

Gambar 4.7 Nilai tiap mata kuliah semester dua

20

Gambar 4.8 Nilai IP semester satu ,dua ,dan nilai IPK

BAB V
PENUTUP

5.1

Kesimpulan

Kesimpulan dari laporan ini adalah :


a. Dengan menggunakan bahasa pemrograman C dan kompiler Dev C++ kita dapat
merancang aplikasi perhitungan nilai IPK.
b. Uji coba aplikasi perhitungan nilai IPK dengan menggunakan bahasa C ini telah
berlangsung dengan lancar dengan telah berhasilnya aplikasi perhitungan nilai IP

21

semester dan nilai IPK yang dikembalikan setelah di masukkan nilai-nilai dari
mata kuliah tiap semester.

5.2

Saran

a. Aplikasi ini dapat dikembangkan dengan menambah mata kuliah di setiap


semesternya
b. Aplikasi ini dapat digunakan bagi mahasiswa teknik elektro USU program studi
teknik elektro untuk mengihitung nilai IP tiap semesternya dan nilai IPK.

DAFTAR PUSTAKA

Opim Salim Sitompul, Pemrograman C di lingkungan Linux, Edisi Kedua,


USU Press, Medan, Indonesia, 2012.
http://google.com
http://pdwb.blogspot.com
http://semacamkomputer.blogspot.com
http://salmanalfa.blogspot.com

22

LAMPIRAN

Source code :
#include<stdio.h>
float perhitungan(float);
int main()
{
char sem,pilih;
int kal,fis1,dtd,dte,agama,daskom,pdm;
int matek,fis2,menggatek,dasprog,etprof;
int pengling,rl1,bing,pdasprog,pdtd;
float ip1 = 0 , ip2 = 0 , ipk;
float
nilai_kal,nilai_fis1,nilai_dtd,nilai_dte,nilai_agama,nila
i_daskom,nilai_pdm;

23

float
nilai_matek,nilai_fis2,nilai_menggatek,nilai_dasprog;
float
nilai_etprof,nilai_pengling,nilai_rl1,nilai_bing,nilai_pd
asprog,nilai_pdtd;
int nim;
char nama[30];

printf("\n\n\n\t\t\t
=====================================");
printf("\n\t\t\t
PROGRAM PERHITUNGAN NILAI IPK
");
printf("\n\t\t\t
===================================== ");
printf("\n\n\n\n FAKULTAS TEKNIK USU ");
printf("\n PROGRAM STUDI TEKNIK ELEKTRO ");
printf("\n\n\t Nama \t : ");
gets(nama);
printf("\n\t NIM \t : ");
scanf("%i",&nim);
system("cls");
printf("\n 1. Semester I");
printf("\n 2. Semester II");
printf("\n\n Pilih Semester : ");
scanf("%s",&sem);
if(sem != '1' && sem != '2')
{
do
{
printf("\n Input yang Anda masukkan
Salah");
printf("\n\n Pilih Semester : ");
scanf("%s",&sem);
}
while(sem != '1' && sem != '2');
}

if(sem == '1')

24

{
system("cls");
printf("\n\n\n\t\t\t\t ==================");
printf("\n\t\t\t\t
SEMESTER I");
printf("\n\t\t\t\t ==================");
printf("\n\n\n\n Pilih Nilai ");
printf("\n (1) A \n (2) B+ \n (3) B \n (4)
C+ \n (5) C \n (6) D \n (7) E");
printf("\n\n Nilai Kalkulus (6 sks) : ");
scanf("%d",&kal);
if(kal != 1 && kal != 2 && kal != 3 && kal != 4
&& kal != 5 && kal != 6 && kal != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Kalkulus (6 sks) : ");
scanf("%d",&kal);
}
while(kal != 1 && kal != 2 && kal != 3 &&
kal != 4 && kal != 5 && kal != 6 && kal != 7);
}
nilai_kal = perhitungan(kal);

printf("\n\n Nilai Fisika Mekanika,Listrik dan


Magnet (4 sks) : ");
scanf("%d",&fis1);
if(fis1 != 1 && fis1 != 2 && fis1 != 3 &&
fis1 != 4 && fis1 != 5 && fis1 != 6 && fis1 != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Fisika
Mekanika,Listrik dan Magnet (4 sks) : ");
scanf("%d",&fis1);
}

25

while(fis1 != 1 && fis1 != 2 && fis1 != 3


&& fis1 != 4 && fis1 != 5 && fis1 != 6 && fis1 != 7);
}
nilai_fis1 = perhitungan(fis1);

printf("\n\n Nilai Dasar Teknik Digital (2 sks)


: ");
scanf("%d",&dtd);
if(dtd != 1 && dtd != 2 && dtd != 3 && dtd != 4
&& dtd != 5 && dtd != 6 && dtd != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Dasar Teknik Digital
(2 sks) : ");
scanf("%d",&dtd);
}
while(dtd != 1 && dtd != 2 && dtd != 3 &&
dtd != 4 && dtd != 5 && dtd != 6 && dtd != 7);
}
nilai_dtd = perhitungan(dtd);

printf("\n\n Nilai Dasar Teknik Elektro (2 sks)


: ");
scanf("%d",&dte);
if(dte != 1 && dte != 2 && dte != 3 && dte != 4
&& dte != 5 && dte != 6 && dte != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Dasar Teknik Elektro
(2 sks) : ");
scanf("%d",&dtd);
}
while(dte != 1 && dte != 2 && dte != 3 &&
dte != 4 && dte != 5 && dte != 6 && dte != 7);

26

}
nilai_dte = perhitungan(dte);

printf("\n\n Nilai Agama (2 sks) : ");


scanf("%d",&agama);
if(agama != 1 && agama != 2 && agama != 3 &&
agama != 4 && agama != 5 && agama != 6 && agama != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Agama (2 sks) : ");
scanf("%d",&agama);
}
while(agama != 1 && agama != 2 && agama !=
3 && agama != 4 && agama != 5 && agama != 6 && agama !=
7);
}
nilai_agama = perhitungan(agama);

printf("\n\n Nilai Dasar Komputer (2 sks) : ");


scanf("%d",&daskom);
if(daskom != 1 && daskom != 2 && daskom != 3 &&
daskom != 4 && daskom != 5 && daskom != 6 && daskom != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Dasar Komputer (2 sks)
: ");
scanf("%d",&daskom);
}
while(daskom != 1 && daskom != 2 && daskom
!= 3 && daskom != 4 && daskom != 5 && daskom != 6 &&
daskom != 7);
}
nilai_daskom = perhitungan(daskom);

27

printf("\n\n Nilai Pengembangan Diri dan


Motivasi (2 sks) : ");
scanf("%d",&pdm);
if(pdm != 1 && pdm != 2 && pdm != 3 && pdm != 4
&& pdm != 5 && pdm != 6 && pdm != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Pengembangan Diri dan
Motivasi (2 sks) : ");
scanf("%d",&pdm);
}
while(pdm != 1 && pdm != 2 && pdm != 3 &&
pdm != 4 && pdm != 5 && pdm != 6 && pdm != 7);
}
nilai_pdm = perhitungan(pdm);
printf("\n\n");
system("pause");
system("cls");
printf("\n\n Nama \t : %s",nama);
printf("\n NIM \t : %i",nim);/*
printf("\n\n Nilai : %.2f %.2f
",nilai_kal,nilai_fis1);*/
ip1 = (nilai_kal*6 + nilai_fis1*4 + nilai_dtd*2
+ nilai_dte*2 + nilai_agama*2 + nilai_daskom*2 +
nilai_pdm*2)/20;
ipk = ip1;
printf("\n\n IP Semester I
: %.2f ",ip1);
printf("\n IP Kumulatif \t : %.2f ",ipk);

printf("\n\n\n 1. Semester II \n 2. Keluar");


printf("\n Pilih : ");
scanf("%s",&pilih);
if(pilih != '1' && pilih != '2')

28

{
do
{
printf("\n Input yang Anda masukkan
Salah");
printf("\n\n Pilih : ");
scanf("%s",&pilih);
}
while(pilih != '1' && pilih != '2');
}
if (pilih == '2')
system("exit");
else if(pilih == '1')
{
system("cls");
printf("\n\n\n\t\t\t\t
==================");
printf("\n\t\t\t\t
SEMESTER II");
printf("\n\t\t\t\t ==================");
printf("\n\n\n\n Pilih Nilai ");
printf("\n (1) A \n (2) B+ \n (3) B \n (4)
C+ \n (5) C \n (6) D \n (7) E");

printf("\n\n Nilai Matematika Teknik (6


sks) : ");
scanf("%d",&matek);
if(matek != 1 && matek != 2 && matek != 3
&& matek != 4 && matek != 5 && matek != 6 && matek != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Matematika Teknik
(6 sks) : ");
scanf("%d",&matek);
}
while(matek != 1 && matek != 2 &&
matek != 3 && matek != 4 && matek != 5 && matek != 6 &&
matek != 7);
}

29

nilai_matek = perhitungan(matek);

printf("\n\n Nilai Panas,Optik,Bunyi dan


Inti (4 sks) : ");
scanf("%d",&fis2);
if(fis2 != 1 && fis2 != 2 && fis2 != 3 &&
fis2 != 4 && fis2 != 5 && fis2 != 6 && fis2 != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Fisika
Panas,Optik,Bunyi dan Inti (4 sks) : ");
scanf("%d",&fis2);
}
while(fis2 != 1 && fis2 != 2 &&
fis2 != 3 && fis2 != 4 && fis2 != 5 && fis2 != 6 &&
fis2 != 7);
}
nilai_fis2 = perhitungan(fis2);

printf("\n\n Nilai Menggambar Teknik


Elektro (2 sks) : ");
scanf("%d",&menggatek);
if(menggatek != 1 && menggatek != 2 &&
menggatek != 3 && menggatek != 4 && menggatek != 5 &&
menggatek != 6 && menggatek != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Menggambar Teknik
Elektro (2 sks) : ");
scanf("%d",&menggatek);
}
while(menggatek != 1 && menggatek !=
2 && menggatek != 3 && menggatek != 4 && menggatek != 5
&& menggatek != 6 && menggatek != 7);

30

}
nilai_menggatek = perhitungan(menggatek);

printf("\n\n Nilai Pemrograman Komputer (2


sks) : ");
scanf("%d",&dasprog);
if(dasprog != 1 && dasprog != 2 && dasprog
!= 3 && dasprog != 4 && dasprog != 5 && dasprog != 6 &&
dasprog != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Pemrograman
Komputer (2 sks) : ");
scanf("%d",&dasprog);
}
while(dasprog != 1 && dasprog != 2 &&
dasprog != 3 && dasprog != 4 && dasprog != 5 && dasprog !
= 6 && dasprog != 7);
}
nilai_dasprog = perhitungan(dasprog);

printf("\n\n Nilai Etika Profesi (2 sks) :


");
scanf("%d",&etprof);
if(etprof != 1 && etprof != 2 && etprof !=
3 && etprof != 4 && etprof != 5 && etprof != 6 &&
etprof != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Etika Profesi (2
sks) : ");
scanf("%d",&etprof);
}

31

while(etprof != 1 && etprof != 2 &&


etprof != 3 && etprof != 4 && etprof != 5 && etprof != 6
&& etprof != 7);
}
nilai_etprof = perhitungan(etprof);

printf("\n\n Nilai Pengetahuan Lingkungan


(2 sks) : ");
scanf("%d",&pengling);
if(pengling != 1 && pengling != 2 &&
pengling != 3 && pengling != 4 && pengling != 5 &&
pengling != 6 && pengling != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Pengetahuan
Lingkungan (2 sks) : ");
scanf("%d",&pengling);
}
while(pengling != 1 && pengling != 2
&& pengling != 3 && pengling != 4 && pengling != 5 &&
pengling != 6 && pengling != 7);
}
nilai_pengling = perhitungan(pengling);

printf("\n\n Nilai Rangkaian Listrik (2


sks) : ");
scanf("%d",&rl1);
if(rl1 != 1 && rl1 != 2 && rl1 != 3 && rl1
!= 4 && rl1 != 5 && rl1 != 6 && rl1 != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Rangkaian Listrik
(2 sks) : ");
scanf("%d",&rl1);

32

}
while(rl1 != 1 && rl1 != 2 && rl1 !=
3 && rl1 != 4 && rl1 != 5 && rl1 != 6 && rl1 != 7);
}
nilai_rl1 = perhitungan(rl1);

printf("\n\n Nilai Bahasa Inggris (2


sks) : ");
scanf("%d",&bing);
if(bing != 1 && bing != 2 && bing != 3 &&
bing != 4 && bing != 5 && bing != 6 && bing != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Bahasa Inggris (2
sks) : ");
scanf("%d",&bing);
}
while(rl1 != 1 && rl1 != 2 && rl1 !=
3 && rl1 != 4 && rl1 != 5 && rl1 != 6 && rl1 != 7);
}
nilai_bing = perhitungan(bing);

printf("\n\n Nilai Praktikum Pemrograman


Komputer (1 sks) : ");
scanf("%d",&pdasprog);
if(pdasprog != 1 && pdasprog != 2 &&
pdasprog != 3 && pdasprog != 4 && pdasprog != 5 &&
pdasprog != 6 && pdasprog != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Praktikum
Pemrograman Komputer (1 sks) : ");

33

scanf("%d",&pdasprog);
}
while(pdasprog != 1 && pdasprog != 2
&& pdasprog != 3 && pdasprog != 4 && pdasprog != 5 &&
pdasprog != 6 && pdasprog != 7);
}
nilai_pdasprog = perhitungan(pdasprog);

printf("\n\n Nilai Praktikum Dasar Teknik


Digital (1 sks) : ");
scanf("%d",&pdtd);
if(pdtd != 1 && pdtd != 2 && pdtd != 3 &&
pdtd != 4 && pdtd != 5 && pdtd != 6 && pdtd != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Praktikum Dasar
Teknik Digital (1 sks) : ");
scanf("%d",&pdtd);
}
while(pdtd != 1 && pdtd != 2 &&
pdtd != 3 && pdtd != 4 && pdtd != 5 && pdtd != 6 &&
pdtd != 7);
}
nilai_pdtd = perhitungan(pdtd);

printf("\n\n");
system("pause");
system("cls");
printf("\n\n Nama \t : %s",nama);
printf("\n NIM \t : %i",nim);/*
printf("\n\n Nilai : %.2f %.2f
",nilai_kal,nilai_fis1);*/
ip2 = (nilai_matek*6 + nilai_fis2*4 +
nilai_menggatek*2 + nilai_etprof*2 + nilai_pengling*2 +
nilai_rl1*2 + nilai_bing*2 + nilai_dasprog*2 +
nilai_pdasprog + nilai_pdtd)/24;

34

ipk = (ip1 + ip2)/2;


printf("\n\n IP Semester I \t : %.2f ",ip1);
printf("\n IP Semester II : %.2f ",ip2);
printf("\n IP Kumulatif \t : %.2f ",ipk);

printf("\n\n\n 1. Keluar");
printf("\n Pilih : ");
scanf("%s",&pilih);
if(pilih != '1')
{
do
{
printf("\n\n Input yang Anda
berikan SALAH \n");
printf("\n Pilih : ");
scanf("%d",&pilih);
}
while(pilih != 1);
}
if (pilih == '1')
system("exit");

}
else if(sem == '2')
{
system("cls");
printf("\n\n\n\t\t\t\t ==================");
printf("\n\t\t\t\t
SEMESTER II");
printf("\n\t\t\t\t ==================");
printf("\n\n\n\n Pilih Nilai ");
printf("\n (1) A \n (2) B+ \n (3) B \n (4)
C+ \n (5) C \n (6) D \n (7) E");

35

printf("\n\n Nilai Matematika Teknik (6 sks) :


");
scanf("%d",&matek);
if(matek != 1 && matek != 2 && matek != 3 &&
matek != 4 && matek != 5 && matek != 6 && matek != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Matematika Teknik (6
sks) : ");
scanf("%d",&matek);
}
while(matek != 1 && matek != 2 && matek !=
3 && matek != 4 && matek != 5 && matek != 6 && matek !=
7);
}
nilai_matek = perhitungan(matek);

printf("\n\n Nilai Panas,Optik,Bunyi dan Inti


(4 sks) : ");
scanf("%d",&fis2);
if(fis2 != 1 && fis2 != 2 && fis2 != 3 &&
fis2 != 4 && fis2 != 5 && fis2 != 6 && fis2 != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Fisika
Panas,Optik,Bunyi dan Inti (4 sks) : ");
scanf("%d",&fis2);
}
while(fis2 != 1 && fis2 != 2 && fis2 != 3
&& fis2 != 4 && fis2 != 5 && fis2 != 6 && fis2 != 7);
}
nilai_fis2 = perhitungan(fis2);

36

printf("\n\n Nilai Menggambar Teknik Elektro (2


sks) : ");
scanf("%d",&menggatek);
if(menggatek != 1 && menggatek != 2 &&
menggatek != 3 && menggatek != 4 && menggatek != 5 &&
menggatek != 6 && menggatek != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Menggambar Teknik
Elektro (2 sks) : ");
scanf("%d",&menggatek);
}
while(menggatek != 1 && menggatek != 2 &&
menggatek != 3 && menggatek != 4 && menggatek != 5 &&
menggatek != 6 && menggatek != 7);
}
nilai_menggatek = perhitungan(menggatek);

printf("\n\n Nilai Pemrograman Komputer (2 sks)


: ");
scanf("%d",&dasprog);
if(dasprog != 1 && dasprog != 2 && dasprog != 3
&& dasprog != 4 && dasprog != 5 && dasprog != 6 &&
dasprog != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Pemrograman Komputer
(2 sks) : ");
scanf("%d",&dasprog);
}
while(dasprog != 1 && dasprog != 2 &&
dasprog != 3 && dasprog != 4 && dasprog != 5 && dasprog !
= 6 && dasprog != 7);
}
nilai_dasprog = perhitungan(dasprog);

37

printf("\n\n Nilai Etika Profesi (2 sks) : ");


scanf("%d",&etprof);
if(etprof != 1 && etprof != 2 && etprof != 3 &&
etprof != 4 && etprof != 5 && etprof != 6 && etprof != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Etika Profesi (2
sks) : ");
scanf("%d",&etprof);
}
while(etprof != 1 && etprof != 2 && etprof
!= 3 && etprof != 4 && etprof != 5 && etprof != 6 &&
etprof != 7);
}
nilai_etprof = perhitungan(etprof);

printf("\n\n Nilai Pengetahuan Lingkungan (2


sks) : ");
scanf("%d",&pengling);
if(pengling != 1 && pengling != 2 && pengling !
= 3 && pengling != 4 && pengling != 5 && pengling != 6 &&
pengling != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Pengetahuan Lingkungan
(2 sks) : ");
scanf("%d",&pengling);
}
while(pengling != 1 && pengling != 2 &&
pengling != 3 && pengling != 4 && pengling != 5 &&
pengling != 6 && pengling != 7);
}
nilai_pengling = perhitungan(pengling);

38

printf("\n\n Nilai Rangkaian Listrik (2 sks) :


");
scanf("%d",&rl1);
if(rl1 != 1 && rl1 != 2 && rl1 != 3 && rl1 != 4
&& rl1 != 5 && rl1 != 6 && rl1 != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Rangkaian Listrik (2
sks) : ");
scanf("%d",&rl1);
}
while(rl1 != 1 && rl1 != 2 && rl1 != 3 &&
rl1 != 4 && rl1 != 5 && rl1 != 6 && rl1 != 7);
}
nilai_rl1 = perhitungan(rl1);

printf("\n\n Nilai Bahasa Inggris (2 sks) : ");


scanf("%d",&bing);
if(bing != 1 && bing != 2 && bing != 3 &&
bing != 4 && bing != 5 && bing != 6 && bing != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Bahasa Inggris (2 sks)
: ");
scanf("%d",&bing);
}
while(rl1 != 1 && rl1 != 2 && rl1 != 3 &&
rl1 != 4 && rl1 != 5 && rl1 != 6 && rl1 != 7);
}
nilai_bing = perhitungan(bing);

39

printf("\n\n Nilai Praktikum Pemrograman


Komputer (1 sks) : ");
scanf("%d",&pdasprog);
if(pdasprog != 1 && pdasprog != 2 && pdasprog !
= 3 && pdasprog != 4 && pdasprog != 5 && pdasprog != 6 &&
pdasprog != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Praktikum Pemrograman
Komputer (1 sks) : ");
scanf("%d",&pdasprog);
}
while(pdasprog != 1 && pdasprog != 2 &&
pdasprog != 3 && pdasprog != 4 && pdasprog != 5 &&
pdasprog != 6 && pdasprog != 7);
}
nilai_pdasprog = perhitungan(pdasprog);

printf("\n\n Nilai Praktikum Dasar Teknik


Digital (1 sks) : ");
scanf("%d",&pdtd);
if(pdtd != 1 && pdtd != 2 && pdtd != 3 &&
pdtd != 4 && pdtd != 5 && pdtd != 6 && pdtd != 7)
{
do
{
printf("\n\n Input yang Anda masukkan
Salah \n\n");
printf(" Nilai Praktikum Dasar Teknik
Digital (1 sks) : ");
scanf("%d",&pdtd);
}
while(pdtd != 1 && pdtd != 2 && pdtd != 3
&& pdtd != 4 && pdtd != 5 && pdtd != 6 && pdtd != 7);
}
nilai_pdtd = perhitungan(pdtd);

40

printf("\n\n");
system("pause");
system("cls");
printf("\n\n Nama \t : %s",nama);
printf("\n NIM \t : %i",nim);/*
printf("\n\n Nilai : %.2f %.2f
",nilai_kal,nilai_fis1);*/
ip2 = (nilai_matek*6 + nilai_fis2*4 +
nilai_menggatek*2 + nilai_etprof*2 + nilai_pengling*2 +
nilai_rl1*2 + nilai_bing*2 + nilai_dasprog*2 +
nilai_pdasprog + nilai_pdtd)/24;
ipk = ip2;
printf("\n\n IP Semester II : %.2f ",ip2);
printf("\n IP Kumulatif \t : %.2f ",ipk);

printf("\n\n\n 1. Semester I \n 2. Keluar");


printf("\n Pilih : ");
scanf("%s",&pilih);
if(pilih != '1' && pilih != '2')
{
do
{
printf("\n Input yang Anda masukkan
Salah");
printf("\n\n Pilih : ");
scanf("%s",&pilih);
}
while(pilih != '1' && pilih != '2');
}
if (pilih == '2')
system("exit");
else if(pilih == '1')
{
system("cls");
printf("\n\n\n\t\t\t\t
==================");
printf("\n\t\t\t\t
SEMESTER I");

41

printf("\n\t\t\t\t ==================");
printf("\n\n\n\n Pilih Nilai ");
printf("\n (1) A \n (2) B+ \n (3) B \n (4)
C+ \n (5) C \n (6) D \n (7) E");
printf("\n\n Nilai Kalkulus (6 sks) : ");
scanf("%d",&kal);
if(kal != 1 && kal != 2 && kal != 3 && kal
!= 4 && kal != 5 && kal != 6 && kal != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Kalkulus (6
sks) : ");
scanf("%d",&kal);
}
while(kal != 1 && kal != 2 && kal !=
3 && kal != 4 && kal != 5 && kal != 6 && kal != 7);
}
nilai_kal = perhitungan(kal);

printf("\n\n Nilai Fisika Mekanika,Listrik


dan Magnet (4 sks) : ");
scanf("%d",&fis1);
if(fis1 != 1 && fis1 != 2 && fis1 != 3 &&
fis1 != 4 && fis1 != 5 && fis1 != 6 && fis1 != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Fisika
Mekanika,Listrik dan Magnet (4 sks) : ");
scanf("%d",&fis1);
}
while(fis1 != 1 && fis1 != 2 &&
fis1 != 3 && fis1 != 4 && fis1 != 5 && fis1 != 6 &&
fis1 != 7);

42

}
nilai_fis1 = perhitungan(fis1);

printf("\n\n Nilai Dasar Teknik Digital (2


sks) : ");
scanf("%d",&dtd);
if(dtd != 1 && dtd != 2 && dtd != 3 && dtd
!= 4 && dtd != 5 && dtd != 6 && dtd != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Dasar Teknik
Digital (2 sks) : ");
scanf("%d",&dtd);
}
while(dtd != 1 && dtd != 2 && dtd !=
3 && dtd != 4 && dtd != 5 && dtd != 6 && dtd != 7);
}
nilai_dtd = perhitungan(dtd);

printf("\n\n Nilai Dasar Teknik Elektro (2


sks) : ");
scanf("%d",&dte);
if(dte != 1 && dte != 2 && dte != 3 && dte
!= 4 && dte != 5 && dte != 6 && dte != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Dasar Teknik
Elektro (2 sks) : ");
scanf("%d",&dtd);
}
while(dte != 1 && dte != 2 && dte !=
3 && dte != 4 && dte != 5 && dte != 6 && dte != 7);

43

}
nilai_dte = perhitungan(dte);

printf("\n\n Nilai Agama (2 sks) : ");


scanf("%d",&agama);
if(agama != 1 && agama != 2 && agama != 3
&& agama != 4 && agama != 5 && agama != 6 && agama != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Agama (2 sks) :
");
scanf("%d",&agama);
}
while(agama != 1 && agama != 2 &&
agama != 3 && agama != 4 && agama != 5 && agama != 6 &&
agama != 7);
}
nilai_agama = perhitungan(agama);

printf("\n\n Nilai Dasar Komputer (2


sks) : ");
scanf("%d",&daskom);
if(daskom != 1 && daskom != 2 && daskom !=
3 && daskom != 4 && daskom != 5 && daskom != 6 &&
daskom != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Dasar Komputer (2
sks) : ");
scanf("%d",&daskom);
}
while(daskom != 1 && daskom != 2 &&
daskom != 3 && daskom != 4 && daskom != 5 && daskom != 6
&& daskom != 7);

44

}
nilai_daskom = perhitungan(daskom);

printf("\n\n Nilai Pengembangan Diri dan


Motivasi (2 sks) : ");
scanf("%d",&pdm);
if(pdm != 1 && pdm != 2 && pdm != 3 && pdm
!= 4 && pdm != 5 && pdm != 6 && pdm != 7)
{
do
{
printf("\n\n Input yang Anda
masukkan Salah \n\n");
printf(" Nilai Pengembangan Diri
dan Motivasi (2 sks) : ");
scanf("%d",&pdm);
}
while(pdm != 1 && pdm != 2 && pdm !=
3 && pdm != 4 && pdm != 5 && pdm != 6 && pdm != 7);
}
nilai_pdm = perhitungan(pdm);
printf("\n\n");
system("pause");
system("cls");
printf("\n\n Nama \t : %s",nama);
printf("\n NIM \t : %i",nim);/*
printf("\n\n Nilai : %.2f %.2f
",nilai_kal,nilai_fis1);*/
ip1 = (nilai_kal*6 + nilai_fis1*4 +
nilai_dtd*2 + nilai_dte*2 + nilai_agama*2 +
nilai_daskom*2 + nilai_pdm*2)/20;
ipk = (ip1 + ip2 )/2;
printf("\n\n IP Semester I \t : %.2f
",ip1);
printf("\n IP Semester II : %.2f ",ip2);
printf("\n IP Kumulatif \t : %.2f ",ipk);

45

printf("\n\n\n 1. Keluar");
printf("\n Pilih : ");
scanf("%s",&pilih);
if(pilih != '1')
{
do
{
printf("\n\n Input yang Anda
berikan SALAH \n");
printf("\n Pilih : ");
scanf("%d",&pilih);
}
while(pilih != 1);
}
if (pilih == '1')
system("exit");
}
}
}
float perhitungan(float a)
{
float nilai_a;
if (a == 1 )
{
printf(" Nilai yang dipilih adalah A ");
nilai_a = 4 ;
}
else if (a == 2)
{
printf(" Nilai yang dipilih adalah B+ ");
nilai_a = 3.5 ;
}
else if (a == 3)
{
printf(" Nilai yang dipilih adalah B ");
nilai_a = 3 ;
}
else if (a == 4)

46

{
printf(" Nilai yang dipilih adalah C+ ");
nilai_a = 2.5 ;
}
else if (a == 5)
{
printf(" Nilai yang dipilih adalah C ");
nilai_a = 2 ;
}
else if (a == 6)
{
printf(" Nilai yang dipilih adalah D ");
nilai_a = 1 ;
}
else if (a == 7)
{
printf(" Nilai yang dipilih adalah E ");
nilai_a = 0 ;
}
return nilai_a;
}

Anda mungkin juga menyukai